{"version":3,"file":"static/js/524.1ae0ca2b.chunk.js","mappings":"kIAIA,SAASA,EAAaC,EAAMC,GAC1B,IAAIC,EAAKF,EAAKG,OAAO,iBAAiBC,KAAK,QAAS,UAEhDC,EAAMH,EAAGC,OAAO,aACpBE,EAAID,KAAK,QAAS,gCAElB,IAAIE,EAAQL,EAAKK,MACjB,cAAeA,GACb,IAAK,WACHD,EAAIE,OAAOD,GACX,MACF,IAAK,SAEHD,EAAIE,QAAO,WACT,OAAOD,CACT,IACA,MACF,QACED,EAAIG,KAAKF,GAGbG,EAAAA,GAAgBJ,EAAKJ,EAAKS,YAC1BL,EAAIM,MAAM,UAAW,gBAErBN,EAAIM,MAAM,cAAe,UAEzB,IAAIC,EAASP,EAAIJ,OAAOY,wBAGxB,OAFAX,EAAGE,KAAK,QAASQ,EAAOE,OAAOV,KAAK,SAAUQ,EAAOG,QAE9Cb,CACT,C,kGCzBA,SAASc,EAAWC,EAAGC,GACrB,QAASD,EAAEE,SAASD,GAAGE,MACzB,CAEA,SAASC,EAASC,GAChB,OAAOC,EAASD,EAAEJ,GAAK,IAAMK,EAASD,EAAEE,GAAK,IAAMD,EAASD,EAAEG,KAChE,CAEA,IAAIC,EAAW,KACf,SAASH,EAASI,GAChB,OAAOA,EAAMC,OAAOD,GAAKE,QAAQH,EAAU,OAAS,EACtD,CAEA,SAASI,EAAWC,EAAKC,GACnBA,GACFD,EAAI3B,KAAK,QAAS4B,EAEtB,CAEA,SAASC,EAAWF,EAAKG,EAASC,GAC5BD,GACFH,EAAI3B,KAAK,QAAS8B,GAAS9B,KAAK,QAAS+B,EAAe,IAAMJ,EAAI3B,KAAK,SAE3E,CAEA,SAASgC,EAAgBC,EAAWpB,GAClC,IAAIqB,EAAQrB,EAAEqB,QAEd,GAAIC,EAAAA,EAAgBD,GAAQ,CAC1B,IAAIE,EAAaF,EAAME,WACvB,GAAID,EAAAA,EAAaC,GACf,OAAOA,EAAWH,EAEtB,CAEA,OAAOA,CACT,C,6DCVA,QAJA,SAAeI,GACb,OAAOC,EAAAA,EAAAA,GAAUD,EA7BM,EA8BzB,E,wBC5BA,SAASE,EAAM1B,GACb,IAAI2B,EAAO,CACTC,QAAS,CACPC,SAAU7B,EAAE8B,aACZC,WAAY/B,EAAEgC,eACdC,SAAUjC,EAAEkC,cAEdC,MAAOC,EAAWpC,GAClBqC,MAAOC,EAAWtC,IAKpB,OAHKsB,EAAAA,EAActB,EAAEqB,WACnBM,EAAKH,MAAQF,EAAQtB,EAAEqB,UAElBM,CACT,CAEA,SAASS,EAAWpC,GAClB,OAAOsB,EAAAA,EAAMtB,EAAEmC,SAAS,SAAUlC,GAChC,IAAIsC,EAAYvC,EAAEhB,KAAKiB,GACnBuC,EAASxC,EAAEwC,OAAOvC,GAClBjB,EAAO,CAAEiB,EAAGA,GAOhB,OANKqB,EAAAA,EAAciB,KACjBvD,EAAKwC,MAAQe,GAEVjB,EAAAA,EAAckB,KACjBxD,EAAKwD,OAASA,GAETxD,CACT,GACF,CAEA,SAASsD,EAAWtC,GAClB,OAAOsB,EAAAA,EAAMtB,EAAEqC,SAAS,SAAUhC,GAChC,IAAIoC,EAAYzC,EAAE0C,KAAKrC,GACnBqC,EAAO,CAAEzC,EAAGI,EAAEJ,EAAGM,EAAGF,EAAEE,GAO1B,OANKe,EAAAA,EAAcjB,EAAEG,QACnBkC,EAAKlC,KAAOH,EAAEG,MAEXc,EAAAA,EAAcmB,KACjBC,EAAKlB,MAAQiB,GAERC,CACT,GACF,C,6DC5CA,MAIA,EAJgBC,CAACC,EAAOD,IACbrB,EAAAA,EAAEuB,KAAKC,MAAMC,EAAAA,EAAMC,MAAMJ,GAAOD,G","sources":["../../node_modules/dagre-d3-es/src/dagre-js/label/add-html-label.js","../../node_modules/dagre-d3-es/src/dagre-js/util.js","../../node_modules/lodash-es/clone.js","../../node_modules/dagre-d3-es/src/graphlib/json.js","../../node_modules/khroma/dist/methods/channel.js"],"sourcesContent":["import * as util from '../util.js';\n\nexport { addHtmlLabel };\n\nfunction addHtmlLabel(root, node) {\n var fo = root.append('foreignObject').attr('width', '100000');\n\n var div = fo.append('xhtml:div');\n div.attr('xmlns', 'http://www.w3.org/1999/xhtml');\n\n var label = node.label;\n switch (typeof label) {\n case 'function':\n div.insert(label);\n break;\n case 'object':\n // Currently we assume this is a DOM object.\n div.insert(function () {\n return label;\n });\n break;\n default:\n div.html(label);\n }\n\n util.applyStyle(div, node.labelStyle);\n div.style('display', 'inline-block');\n // Fix for firefox\n div.style('white-space', 'nowrap');\n\n var client = div.node().getBoundingClientRect();\n fo.attr('width', client.width).attr('height', client.height);\n\n return fo;\n}\n","import * as _ from 'lodash-es';\n\n// Public utility functions\nexport { isSubgraph, edgeToId, applyStyle, applyClass, applyTransition };\n\n/*\n * Returns true if the specified node in the graph is a subgraph node. A\n * subgraph node is one that contains other nodes.\n */\nfunction isSubgraph(g, v) {\n return !!g.children(v).length;\n}\n\nfunction edgeToId(e) {\n return escapeId(e.v) + ':' + escapeId(e.w) + ':' + escapeId(e.name);\n}\n\nvar ID_DELIM = /:/g;\nfunction escapeId(str) {\n return str ? String(str).replace(ID_DELIM, '\\\\:') : '';\n}\n\nfunction applyStyle(dom, styleFn) {\n if (styleFn) {\n dom.attr('style', styleFn);\n }\n}\n\nfunction applyClass(dom, classFn, otherClasses) {\n if (classFn) {\n dom.attr('class', classFn).attr('class', otherClasses + ' ' + dom.attr('class'));\n }\n}\n\nfunction applyTransition(selection, g) {\n var graph = g.graph();\n\n if (_.isPlainObject(graph)) {\n var transition = graph.transition;\n if (_.isFunction(transition)) {\n return transition(selection);\n }\n }\n\n return selection;\n}\n","import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\nfunction clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n}\n\nexport default clone;\n","import * as _ from 'lodash-es';\nimport { Graph } from './graph.js';\n\nexport { write, read };\n\nfunction write(g) {\n var json = {\n options: {\n directed: g.isDirected(),\n multigraph: g.isMultigraph(),\n compound: g.isCompound(),\n },\n nodes: writeNodes(g),\n edges: writeEdges(g),\n };\n if (!_.isUndefined(g.graph())) {\n json.value = _.clone(g.graph());\n }\n return json;\n}\n\nfunction writeNodes(g) {\n return _.map(g.nodes(), function (v) {\n var nodeValue = g.node(v);\n var parent = g.parent(v);\n var node = { v: v };\n if (!_.isUndefined(nodeValue)) {\n node.value = nodeValue;\n }\n if (!_.isUndefined(parent)) {\n node.parent = parent;\n }\n return node;\n });\n}\n\nfunction writeEdges(g) {\n return _.map(g.edges(), function (e) {\n var edgeValue = g.edge(e);\n var edge = { v: e.v, w: e.w };\n if (!_.isUndefined(e.name)) {\n edge.name = e.name;\n }\n if (!_.isUndefined(edgeValue)) {\n edge.value = edgeValue;\n }\n return edge;\n });\n}\n\nfunction read(json) {\n var g = new Graph(json.options).setGraph(json.value);\n _.each(json.nodes, function (entry) {\n g.setNode(entry.v, entry.value);\n if (entry.parent) {\n g.setParent(entry.v, entry.parent);\n }\n });\n _.each(json.edges, function (entry) {\n g.setEdge({ v: entry.v, w: entry.w, name: entry.name }, entry.value);\n });\n return g;\n}\n","/* IMPORT */\nimport _ from '../utils/index.js';\nimport Color from '../color/index.js';\n/* MAIN */\nconst channel = (color, channel) => {\n return _.lang.round(Color.parse(color)[channel]);\n};\n/* EXPORT */\nexport default channel;\n"],"names":["addHtmlLabel","root","node","fo","append","attr","div","label","insert","html","util","labelStyle","style","client","getBoundingClientRect","width","height","isSubgraph","g","v","children","length","edgeToId","e","escapeId","w","name","ID_DELIM","str","String","replace","applyStyle","dom","styleFn","applyClass","classFn","otherClasses","applyTransition","selection","graph","_","transition","value","baseClone","write","json","options","directed","isDirected","multigraph","isMultigraph","compound","isCompound","nodes","writeNodes","edges","writeEdges","nodeValue","parent","edgeValue","edge","channel","color","lang","round","Color","parse"],"sourceRoot":""}