"use strict";
/*
 * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
 * This devtool is neither made for production nor for readable output files.
 * It uses "eval()" calls to create a separate source file in the browser devtools.
 * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
 * or disable the default devtool with "devtool: false".
 * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
 */
(self["webpackChunk_JUPYTERLAB_CORE_OUTPUT"] = self["webpackChunk_JUPYTERLAB_CORE_OUTPUT"] || []).push([["node_modules_mermaid_dist_classDiagram-v2-36dc72da_js"],{

/***/ "../node_modules/mermaid/dist/classDiagram-v2-36dc72da.js":
/*!****************************************************************!*\
  !*** ../node_modules/mermaid/dist/classDiagram-v2-36dc72da.js ***!
  \****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   diagram: () => (/* binding */ diagram)\n/* harmony export */ });\n/* harmony import */ var _styles_9dd40fb9_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./styles-9dd40fb9.js */ \"../node_modules/mermaid/dist/styles-9dd40fb9.js\");\n/* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3 */ \"../node_modules/d3/src/index.js\");\n/* harmony import */ var dagre_d3_es_src_graphlib_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dagre-d3-es/src/graphlib/index.js */ \"../node_modules/dagre-d3-es/src/graphlib/index.js\");\n/* harmony import */ var _mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./mermaid-04fb0060.js */ \"../node_modules/mermaid/dist/mermaid-04fb0060.js\");\n/* harmony import */ var _index_0980fb80_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./index-0980fb80.js */ \"../node_modules/mermaid/dist/index-0980fb80.js\");\n/* harmony import */ var ts_dedent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ts-dedent */ \"../node_modules/ts-dedent/esm/index.js\");\n/* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dayjs */ \"../node_modules/dayjs/dayjs.min.js\");\n/* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(dayjs__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _braintree_sanitize_url__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @braintree/sanitize-url */ \"../node_modules/@braintree/sanitize-url/dist/index.js\");\n/* harmony import */ var dompurify__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! dompurify */ \"../node_modules/dompurify/dist/purify.js\");\n/* harmony import */ var dompurify__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(dompurify__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var dagre_d3_es_src_dagre_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! dagre-d3-es/src/dagre/index.js */ \"../node_modules/dagre-d3-es/src/dagre/index.js\");\n/* harmony import */ var dagre_d3_es_src_graphlib_json_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! dagre-d3-es/src/graphlib/json.js */ \"../node_modules/dagre-d3-es/src/graphlib/json.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst sanitizeText = (txt) => _mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.e.sanitizeText(txt, (0,_mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.c)());\nlet conf = {\n  dividerMargin: 10,\n  padding: 5,\n  textHeight: 10,\n  curve: void 0\n};\nconst addNamespaces = function(namespaces, g, _id, diagObj) {\n  const keys = Object.keys(namespaces);\n  _mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.l.info(\"keys:\", keys);\n  _mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.l.info(namespaces);\n  keys.forEach(function(id) {\n    var _a, _b;\n    const vertex = namespaces[id];\n    const shape = \"rect\";\n    const node = {\n      shape,\n      id: vertex.id,\n      domId: vertex.domId,\n      labelText: sanitizeText(vertex.id),\n      labelStyle: \"\",\n      style: \"fill: none; stroke: black\",\n      // TODO V10: Flowchart ? Keeping flowchart for backwards compatibility. Remove in next major release\n      padding: ((_a = (0,_mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.c)().flowchart) == null ? void 0 : _a.padding) ?? ((_b = (0,_mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.c)().class) == null ? void 0 : _b.padding)\n    };\n    g.setNode(vertex.id, node);\n    addClasses(vertex.classes, g, _id, diagObj, vertex.id);\n    _mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.l.info(\"setNode\", node);\n  });\n};\nconst addClasses = function(classes, g, _id, diagObj, parent) {\n  const keys = Object.keys(classes);\n  _mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.l.info(\"keys:\", keys);\n  _mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.l.info(classes);\n  keys.filter((id) => classes[id].parent == parent).forEach(function(id) {\n    var _a, _b;\n    const vertex = classes[id];\n    const cssClassStr = vertex.cssClasses.join(\" \");\n    const styles2 = (0,_mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.k)(vertex.styles);\n    const vertexText = vertex.label ?? vertex.id;\n    const radius = 0;\n    const shape = \"class_box\";\n    const node = {\n      labelStyle: styles2.labelStyle,\n      shape,\n      labelText: sanitizeText(vertexText),\n      classData: vertex,\n      rx: radius,\n      ry: radius,\n      class: cssClassStr,\n      style: styles2.style,\n      id: vertex.id,\n      domId: vertex.domId,\n      tooltip: diagObj.db.getTooltip(vertex.id, parent) || \"\",\n      haveCallback: vertex.haveCallback,\n      link: vertex.link,\n      width: vertex.type === \"group\" ? 500 : void 0,\n      type: vertex.type,\n      // TODO V10: Flowchart ? Keeping flowchart for backwards compatibility. Remove in next major release\n      padding: ((_a = (0,_mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.c)().flowchart) == null ? void 0 : _a.padding) ?? ((_b = (0,_mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.c)().class) == null ? void 0 : _b.padding)\n    };\n    g.setNode(vertex.id, node);\n    if (parent) {\n      g.setParent(vertex.id, parent);\n    }\n    _mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.l.info(\"setNode\", node);\n  });\n};\nconst addNotes = function(notes, g, startEdgeId, classes) {\n  _mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.l.info(notes);\n  notes.forEach(function(note, i) {\n    var _a, _b;\n    const vertex = note;\n    const cssNoteStr = \"\";\n    const styles2 = { labelStyle: \"\", style: \"\" };\n    const vertexText = vertex.text;\n    const radius = 0;\n    const shape = \"note\";\n    const node = {\n      labelStyle: styles2.labelStyle,\n      shape,\n      labelText: sanitizeText(vertexText),\n      noteData: vertex,\n      rx: radius,\n      ry: radius,\n      class: cssNoteStr,\n      style: styles2.style,\n      id: vertex.id,\n      domId: vertex.id,\n      tooltip: \"\",\n      type: \"note\",\n      // TODO V10: Flowchart ? Keeping flowchart for backwards compatibility. Remove in next major release\n      padding: ((_a = (0,_mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.c)().flowchart) == null ? void 0 : _a.padding) ?? ((_b = (0,_mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.c)().class) == null ? void 0 : _b.padding)\n    };\n    g.setNode(vertex.id, node);\n    _mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.l.info(\"setNode\", node);\n    if (!vertex.class || !(vertex.class in classes)) {\n      return;\n    }\n    const edgeId = startEdgeId + i;\n    const edgeData = {\n      id: `edgeNote${edgeId}`,\n      //Set relationship style and line type\n      classes: \"relation\",\n      pattern: \"dotted\",\n      // Set link type for rendering\n      arrowhead: \"none\",\n      //Set edge extra labels\n      startLabelRight: \"\",\n      endLabelLeft: \"\",\n      //Set relation arrow types\n      arrowTypeStart: \"none\",\n      arrowTypeEnd: \"none\",\n      style: \"fill:none\",\n      labelStyle: \"\",\n      curve: (0,_mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.n)(conf.curve, d3__WEBPACK_IMPORTED_MODULE_0__.curveLinear)\n    };\n    g.setEdge(vertex.id, vertex.class, edgeData, edgeId);\n  });\n};\nconst addRelations = function(relations, g) {\n  const conf2 = (0,_mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.c)().flowchart;\n  let cnt = 0;\n  relations.forEach(function(edge) {\n    var _a;\n    cnt++;\n    const edgeData = {\n      //Set relationship style and line type\n      classes: \"relation\",\n      pattern: edge.relation.lineType == 1 ? \"dashed\" : \"solid\",\n      id: `id_${edge.id1}_${edge.id2}_${cnt}`,\n      // Set link type for rendering\n      arrowhead: edge.type === \"arrow_open\" ? \"none\" : \"normal\",\n      //Set edge extra labels\n      startLabelRight: edge.relationTitle1 === \"none\" ? \"\" : edge.relationTitle1,\n      endLabelLeft: edge.relationTitle2 === \"none\" ? \"\" : edge.relationTitle2,\n      //Set relation arrow types\n      arrowTypeStart: getArrowMarker(edge.relation.type1),\n      arrowTypeEnd: getArrowMarker(edge.relation.type2),\n      style: \"fill:none\",\n      labelStyle: \"\",\n      curve: (0,_mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.n)(conf2 == null ? void 0 : conf2.curve, d3__WEBPACK_IMPORTED_MODULE_0__.curveLinear)\n    };\n    _mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.l.info(edgeData, edge);\n    if (edge.style !== void 0) {\n      const styles2 = (0,_mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.k)(edge.style);\n      edgeData.style = styles2.style;\n      edgeData.labelStyle = styles2.labelStyle;\n    }\n    edge.text = edge.title;\n    if (edge.text === void 0) {\n      if (edge.style !== void 0) {\n        edgeData.arrowheadStyle = \"fill: #333\";\n      }\n    } else {\n      edgeData.arrowheadStyle = \"fill: #333\";\n      edgeData.labelpos = \"c\";\n      if (((_a = (0,_mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.c)().flowchart) == null ? void 0 : _a.htmlLabels) ?? (0,_mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.c)().htmlLabels) {\n        edgeData.labelType = \"html\";\n        edgeData.label = '<span class=\"edgeLabel\">' + edge.text + \"</span>\";\n      } else {\n        edgeData.labelType = \"text\";\n        edgeData.label = edge.text.replace(_mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.e.lineBreakRegex, \"\\n\");\n        if (edge.style === void 0) {\n          edgeData.style = edgeData.style || \"stroke: #333; stroke-width: 1.5px;fill:none\";\n        }\n        edgeData.labelStyle = edgeData.labelStyle.replace(\"color:\", \"fill:\");\n      }\n    }\n    g.setEdge(edge.id1, edge.id2, edgeData, cnt);\n  });\n};\nconst setConf = function(cnf) {\n  conf = {\n    ...conf,\n    ...cnf\n  };\n};\nconst draw = async function(text, id, _version, diagObj) {\n  _mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.l.info(\"Drawing class - \", id);\n  const conf2 = (0,_mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.c)().flowchart ?? (0,_mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.c)().class;\n  const securityLevel = (0,_mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.c)().securityLevel;\n  _mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.l.info(\"config:\", conf2);\n  const nodeSpacing = (conf2 == null ? void 0 : conf2.nodeSpacing) ?? 50;\n  const rankSpacing = (conf2 == null ? void 0 : conf2.rankSpacing) ?? 50;\n  const g = new dagre_d3_es_src_graphlib_index_js__WEBPACK_IMPORTED_MODULE_1__.Graph({\n    multigraph: true,\n    compound: true\n  }).setGraph({\n    rankdir: diagObj.db.getDirection(),\n    nodesep: nodeSpacing,\n    ranksep: rankSpacing,\n    marginx: 8,\n    marginy: 8\n  }).setDefaultEdgeLabel(function() {\n    return {};\n  });\n  const namespaces = diagObj.db.getNamespaces();\n  const classes = diagObj.db.getClasses();\n  const relations = diagObj.db.getRelations();\n  const notes = diagObj.db.getNotes();\n  _mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.l.info(relations);\n  addNamespaces(namespaces, g, id, diagObj);\n  addClasses(classes, g, id, diagObj);\n  addRelations(relations, g);\n  addNotes(notes, g, relations.length + 1, classes);\n  let sandboxElement;\n  if (securityLevel === \"sandbox\") {\n    sandboxElement = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(\"#i\" + id);\n  }\n  const root = securityLevel === \"sandbox\" ? (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(sandboxElement.nodes()[0].contentDocument.body) : (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(\"body\");\n  const svg = root.select(`[id=\"${id}\"]`);\n  const element = root.select(\"#\" + id + \" g\");\n  await (0,_index_0980fb80_js__WEBPACK_IMPORTED_MODULE_9__.r)(\n    element,\n    g,\n    [\"aggregation\", \"extension\", \"composition\", \"dependency\", \"lollipop\"],\n    \"classDiagram\",\n    id\n  );\n  _mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.u.insertTitle(svg, \"classTitleText\", (conf2 == null ? void 0 : conf2.titleTopMargin) ?? 5, diagObj.db.getDiagramTitle());\n  (0,_mermaid_04fb0060_js__WEBPACK_IMPORTED_MODULE_8__.o)(g, svg, conf2 == null ? void 0 : conf2.diagramPadding, conf2 == null ? void 0 : conf2.useMaxWidth);\n  if (!(conf2 == null ? void 0 : conf2.htmlLabels)) {\n    const doc = securityLevel === \"sandbox\" ? sandboxElement.nodes()[0].contentDocument : document;\n    const labels = doc.querySelectorAll('[id=\"' + id + '\"] .edgeLabel .label');\n    for (const label of labels) {\n      const dim = label.getBBox();\n      const rect = doc.createElementNS(\"http://www.w3.org/2000/svg\", \"rect\");\n      rect.setAttribute(\"rx\", 0);\n      rect.setAttribute(\"ry\", 0);\n      rect.setAttribute(\"width\", dim.width);\n      rect.setAttribute(\"height\", dim.height);\n      label.insertBefore(rect, label.firstChild);\n    }\n  }\n};\nfunction getArrowMarker(type) {\n  let marker;\n  switch (type) {\n    case 0:\n      marker = \"aggregation\";\n      break;\n    case 1:\n      marker = \"extension\";\n      break;\n    case 2:\n      marker = \"composition\";\n      break;\n    case 3:\n      marker = \"dependency\";\n      break;\n    case 4:\n      marker = \"lollipop\";\n      break;\n    default:\n      marker = \"none\";\n  }\n  return marker;\n}\nconst renderer = {\n  setConf,\n  draw\n};\nconst diagram = {\n  parser: _styles_9dd40fb9_js__WEBPACK_IMPORTED_MODULE_10__.p,\n  db: _styles_9dd40fb9_js__WEBPACK_IMPORTED_MODULE_10__.d,\n  renderer,\n  styles: _styles_9dd40fb9_js__WEBPACK_IMPORTED_MODULE_10__.s,\n  init: (cnf) => {\n    if (!cnf.class) {\n      cnf.class = {};\n    }\n    cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n    _styles_9dd40fb9_js__WEBPACK_IMPORTED_MODULE_10__.d.clear();\n  }\n};\n\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/mermaid/dist/classDiagram-v2-36dc72da.js?");

/***/ })

}]);