Your IP : 18.221.44.160
{"version":3,"file":"progressbar.bundle.js","sources":["../src/progressbar-color.js","../src/progressbar-size.js","../src/progressbar-status.js","../src/progressbar.js"],"sourcesContent":["/**\n * @namespace {BX.UI}\n */\nexport default class ProgressBarColor\n{\n\tstatic NONE = \"ui-progressbar-none\";\n\tstatic DANGER = \"ui-progressbar-danger\";\n\tstatic SUCCESS = \"ui-progressbar-success\";\n\tstatic PRIMARY = \"ui-progressbar-primary\";\n\tstatic WARNING = \"ui-progressbar-warning\";\n}\n","/**\n * @namespace {BX.UI}\n */\nexport default class ProgressBarSize\n{\n\tstatic MEDIUM = \"ui-progressbar-md\";\n\tstatic LARGE = \"ui-progressbar-lg\";\n}\n","/**\n * @namespace {BX.UI}\n */\nexport default class ProgressBarStatus\n{\n\tstatic COUNTER = \"COUNTER\";\n\tstatic PERCENT = \"PERCENT\";\n\tstatic NONE = \"NONE\";\n}\n","// @flow\n\nimport {Dom, Tag, Type} from 'main.core';\nimport ProgressBarColor from './progressbar-color';\nimport ProgressBarSize from './progressbar-size';\nimport ProgressBarStatus from './progressbar-status';\n\nimport './css/style.css';\n\ntype ProgressBarOptions = {\n\tvalue: number;\n\tmaxValue: number;\n\tcolor: ProgressBarColor;\n\tsize: ProgressBarSize | number;\n\twidth: number;\n\ttextBefore: string;\n\ttextAfter: string;\n\tcolorTrack: string;\n\tcolorBar: string;\n\tstatusType: string;\n\tlineSize: number;\n\tfill: boolean;\n\tfinished: boolean;\n\trotation: boolean;\n};\n\nexport class ProgressBar {\n\tstatic Color = ProgressBarColor;\n\tstatic Size = ProgressBarSize;\n\tstatic Status = ProgressBarStatus;\n\n\tconstructor(options = ProgressBarOptions)\n\t{\n\t\tthis.options = Type.isPlainObject(options) ? options : {};\n\n\t\tthis.value = Type.isNumber(this.options.value) ? this.options.value : 0;\n\t\tthis.maxValue = Type.isNumber(this.options.maxValue) ? this.options.maxValue : 100;\n\t\tthis.bar = null;\n\t\tthis.container = null;\n\t\tthis.status = null;\n\t\tthis.finished = false;\n\t\tthis.fill = Type.isBoolean(this.options.fill) ? this.options.fill : false;\n\t\tthis.column = Type.isBoolean(this.options.column) ? this.options.column : false;\n\t\tthis.statusPercent = \"0%\";\n\t\tthis.statusCounter = \"0 / 0\";\n\t\tthis.textBefore = Type.isString(this.options.textBefore) ? this.options.textBefore : null;\n\t\tthis.textBeforeContainer = null;\n\t\tthis.textAfter = Type.isString(this.options.textAfter) ? this.options.textAfter : null;\n\t\tthis.textAfterContainer = null;\n\t\tthis.statusType = Type.isString(this.options.statusType) ? this.options.statusType : BX.UI.ProgressBar.Status.NONE;\n\t\tthis.size = (Type.isStringFilled(this.options.size) || Type.isNumber(this.options.size)) ? this.options.size : BX.UI.ProgressBar.Size.MEDIUM;\n\t\tthis.colorTrack = Type.isString(this.options.colorTrack) ? this.options.colorTrack : null;\n\t\tthis.colorBar = Type.isString(this.options.colorBar) ? this.options.colorBar : null;\n\t\tthis.color = Type.isString(this.options.color) ? this.options.color : BX.UI.ProgressBar.Color.PRIMARY;\n\n\t\t// this.setStatusType(options.statusType);\n\t\t// this.setColorTrack(options.colorTrack);\n\t\t// this.setColorBar(options.colorBar);\n\t}\n\n\t//region Parameters\n\tsetValue(value: number): this\n\t{\n\t\tif (Type.isNumber(value))\n\t\t{\n\t\t\tthis.value = (value > this.maxValue) ? this.maxValue : value;\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tgetValue(): number\n\t{\n\t\treturn this.value;\n\t}\n\n\tsetMaxValue(value: number): this\n\t{\n\t\tif (Type.isNumber(value))\n\t\t{\n\t\t\tthis.maxValue = value;\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tgetMaxValue(): number\n\t{\n\t\treturn this.maxValue;\n\t}\n\n\tfinish()\n\t{\n\t\tthis.update(this.maxValue)\n\t}\n\n\tisFinish(): boolean\n\t{\n\t\treturn this.finished;\n\t}\n\n\tsetColor(color: ProgressBarColor): this\n\t{\n\t\tif (Type.isStringFilled(color))\n\t\t{\n\t\t\tif (this.container === null)\n\t\t\t{\n\t\t\t\tthis.createContainer();\n\t\t\t}\n\n\t\t\tDom.removeClass(this.container, this.color);\n\t\t\tthis.color = color;\n\t\t\tDom.addClass(this.container, this.color);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tsetColorBar(color: string): this\n\t{\n\t\tif (Type.isStringFilled(color))\n\t\t{\n\t\t\tthis.colorBar = color;\n\t\t\tcolor = \"--ui-current-bar-color:\" + color + \";\"\n\t\t\tthis.#setCustomColors(color)\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tsetColorTrack(color: string): this\n\t{\n\t\tif (Type.isStringFilled(color))\n\t\t{\n\t\t\tthis.colorTrack = color;\n\t\t\tthis.setFill(true);\n\t\t\tcolor = \"--ui-current-bar-bg-track-color:\" + color + \";\"\n\t\t\tthis.#setCustomColors(color)\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t#setCustomColors(value)\n\t{\n\t\tif (this.container === null)\n\t\t{\n\t\t\tthis.createContainer();\n\t\t}\n\n\t\tthis.setFill(false)\n\t\tthis.setColor(BX.UI.ProgressBar.Color.NONE)\n\n\t\tlet currentAttribute = this.container.getAttribute('style'),\n\t\t\tcustomColorsValue = (!currentAttribute) ? value : currentAttribute + value;\n\t\tthis.container.setAttribute('style', customColorsValue)\n\t}\n\n\tsetSize(size: ProgressBarSize | number): this\n\t{\n\t\tif (this.container === null)\n\t\t{\n\t\t\tthis.createContainer();\n\t\t}\n\n\t\tif (Type.isStringFilled(size))\n\t\t{\n\t\t\tDom.removeClass(this.container, this.size);\n\t\t\tthis.size = size;\n\t\t\tDom.addClass(this.container, this.size);\n\t\t}\n\t\telse if (Type.isNumber(size))\n\t\t{\n\t\t\tthis.container.setAttribute('style', \"--ui-current-bar-size:\" + size + \"px;\")\n\t\t\tthis.size = size;\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tsetFill(fill: boolean): this\n\t{\n\t\tif (this.container === null)\n\t\t{\n\t\t\tthis.createContainer();\n\t\t}\n\n\t\tif (fill)\n\t\t{\n\t\t\tDom.addClass(this.container, \"ui-progressbar-bg\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.removeClass(this.container, \"ui-progressbar-bg\");\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tsetColumn(column: boolean): this\n\t{\n\t\tif (this.container === null)\n\t\t{\n\t\t\tthis.createContainer();\n\t\t}\n\n\t\tif (column === true)\n\t\t{\n\t\t\tDom.addClass(this.container, \"ui-progressbar-column\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.removeClass(this.container, \"ui-progressbar-column\");\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t//endregion\n\n\t//region Text\n\tsetTextBefore(text: string): this\n\t{\n\t\tif (Type.isStringFilled(text))\n\t\t{\n\t\t\tthis.textBefore = text;\n\t\t\tif (!this.textBeforeContainer)\n\t\t\t{\n\t\t\t\tthis.createTextBefore(text);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tDom.adjust(this.textBeforeContainer, {\n\t\t\t\t\thtml: text\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tcreateTextBefore(text: string)\n\t{\n\t\tif ((!this.textBeforeContainer) && Type.isStringFilled(text))\n\t\t{\n\t\t\tthis.textBeforeContainer = Tag.render`\n\t\t\t\t<div class=\"ui-progressbar-text-before\">${text}</div>\n\t\t\t`;\n\t\t}\n\t}\n\n\tgetTextBefore()\n\t{\n\t\tif (!this.textBeforeContainer)\n\t\t{\n\t\t\tthis.createTextBefore(this.textBefore);\n\t\t}\n\n\t\treturn this.textBeforeContainer;\n\t}\n\n\tsetTextAfter(text: string): this\n\t{\n\t\tif (Type.isStringFilled(text))\n\t\t{\n\t\t\tthis.textAfter = text;\n\t\t\tif (!this.textAfterContainer)\n\t\t\t{\n\t\t\t\tthis.createTextAfter(text);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tDom.adjust(this.textAfterContainer, {\n\t\t\t\t\thtml: text\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tcreateTextAfter(text: string)\n\t{\n\t\tif ((!this.textAfterContainer) && Type.isStringFilled(text))\n\t\t{\n\t\t\tthis.textAfterContainer = Tag.render`\n\t\t\t\t<div class=\"ui-progressbar-text-after\">${text}</div>\n\t\t\t`;\n\t\t}\n\t}\n\n\tgetTextAfter()\n\t{\n\t\tif (!this.textAfterContainer)\n\t\t{\n\t\t\tthis.createTextAfter(this.textAfter);\n\t\t}\n\n\t\treturn this.textAfterContainer;\n\t}\n\n\t//endregion\n\n\t// region Status\n\tsetStatus()\n\t{\n\t\tif (this.getStatusType() === BX.UI.ProgressBar.Status.COUNTER)\n\t\t{\n\t\t\tDom.adjust(this.status, {\n\t\t\t\ttext: this.getStatusCounter()\n\t\t\t});\n\t\t}\n\t\telse if (this.getStatusType() === BX.UI.ProgressBar.Status.PERCENT)\n\t\t{\n\t\t\tDom.adjust(this.status.firstChild, {\n\t\t\t\ttext: this.getStatusPercent(),\n\t\t\t});\n\t\t}\n\t}\n\n\tgetStatus()\n\t{\n\t\tif (!this.status)\n\t\t{\n\t\t\tif (this.getStatusType() === BX.UI.ProgressBar.Status.COUNTER)\n\t\t\t{\n\t\t\t\tthis.status = Tag.render`\n\t\t\t\t\t<div class=\"ui-progressbar-status\">${this.getStatusCounter()}</div>\n\t\t\t\t`;\n\t\t\t}\n\t\t\telse if (this.getStatusType() === BX.UI.ProgressBar.Status.PERCENT)\n\t\t\t{\n\t\t\t\tthis.status = Tag.render`\n\t\t\t\t\t<div class=\"ui-progressbar-status-percent\">\n\t\t\t\t\t\t<span class=\"ui-progressbar-status-percent-value\">${this.getStatusPercent()}</span>\n\t\t\t\t\t\t<span class=\"ui-progressbar-status-percent-sign\">%</span>\n\t\t\t\t\t</div>\n\t\t\t\t`;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.status = Dom.create(\"span\", {});\n\t\t\t}\n\t\t}\n\n\t\treturn this.status;\n\t}\n\n\tgetStatusPercent()\n\t{\n\t\tif (this.maxValue === 0)\n\t\t{\n\t\t\treturn \"0%\"\n\t\t}\n\n\t\tthis.statusPercent = Math.round(this.getValue() / (this.getMaxValue() / 100));\n\t\tif (this.statusPercent > 100)\n\t\t{\n\t\t\tthis.statusPercent = 100;\n\t\t}\n\n\t\treturn this.statusPercent;\n\t}\n\n\tgetStatusCounter()\n\t{\n\t\tif (Math.round(this.getValue()) > Math.round(this.getMaxValue()))\n\t\t{\n\t\t\tthis.statusCounter = Math.round(this.getMaxValue()) + \" / \" + Math.round(this.getMaxValue());\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.statusCounter = Math.round(this.getValue()) + \" / \" + Math.round(this.getMaxValue());\n\t\t}\n\n\t\treturn this.statusCounter;\n\t}\n\n\tgetStatusType()\n\t{\n\t\treturn this.statusType;\n\t}\n\n\tsetStatusType(type: string)\n\t{\n\t\tif (Type.isStringFilled(type))\n\t\t{\n\t\t\tthis.statusType = type;\n\t\t}\n\t}\n\n\t//endregion\n\n\t// region ProgressBar\n\tcreateContainer(): HTMLElement\n\t{\n\t\tif (this.container === null)\n\t\t{\n\t\t\tthis.container = Dom.create(\"div\", {\n\t\t\t\tprops: {className: \"ui-progressbar\"},\n\t\t\t\tchildren: [\n\t\t\t\t\tthis.getTextAfter(),\n\t\t\t\t\tthis.getTextBefore(),\n\t\t\t\t\tthis.getStatus(),\n\t\t\t\t\tBX.create(\"div\", {\n\t\t\t\t\t\tprops: {className: \"ui-progressbar-track\"},\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\tthis.getBar()\n\t\t\t\t\t\t]\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t});\n\n\t\t\tthis.setColor(this.color)\n\t\t\tthis.setColumn(this.column);\n\t\t\tthis.setSize(this.size);\n\t\t\tthis.setFill(this.fill);\n\t\t\tthis.setColorTrack(this.colorTrack);\n\t\t\tthis.setColorBar(this.colorBar);\n\t\t}\n\t}\n\n\tgetBar(): HTMLElement\n\t{\n\t\tif (this.bar === null)\n\t\t{\n\t\t\tthis.bar = Dom.create(\"div\", {\n\t\t\t\tprops: {className: \"ui-progressbar-bar\"},\n\t\t\t\tstyle: {width: `${this.getStatusPercent()}%`}\n\t\t\t});\n\t\t}\n\n\t\treturn this.bar;\n\t}\n\n\tupdate(value: number)\n\t{\n\t\tif (this.container === null)\n\t\t{\n\t\t\tthis.createContainer();\n\t\t}\n\n\t\tthis.setValue(value);\n\n\t\tif (value >= this.maxValue)\n\t\t{\n\t\t\tsetTimeout(function () {\n\t\t\t\tDom.addClass(this.container, \"ui-progressbar-finished\");\n\t\t\t}.bind(this), 300);\n\t\t\tthis.finished = true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.removeClass(this.container, \"ui-progressbar-finished\");\n\t\t\tthis.finished = false;\n\t\t}\n\n\t\tthis.setStatus();\n\n\t\tif (this.bar === null)\n\t\t{\n\t\t\tthis.getBar();\n\t\t}\n\n\t\tDom.adjust(this.bar, {\n\t\t\tstyle: {width: `${this.getStatusPercent()}%`}\n\t\t});\n\t}\n\n\t//endregion\n\n\tgetContainer(): Element\n\t{\n\t\tif (this.container === null)\n\t\t{\n\t\t\tthis.createContainer();\n\t\t}\n\n\t\treturn this.container;\n\t}\n\n\trenderTo(node: HTMLElement): HTMLElement | null\n\t{\n\t\tif (Type.isDomNode(node))\n\t\t{\n\t\t\treturn node.appendChild(this.getContainer());\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tdestroy(): void\n\t{\n\t\tDom.remove(this.container);\n\t\tthis.container = null;\n\t\tthis.finished = false;\n\t\tthis.textAfterContainer = null;\n\t\tthis.textBeforeContainer = null;\n\t\tthis.bar = null;\n\n\n\t\tfor (const property in this)\n\t\t{\n\t\t\tif (this.hasOwnProperty(property))\n\t\t\t{\n\t\t\t\tdelete this[property];\n\t\t\t}\n\t\t}\n\n\t\tObject.setPrototypeOf(this, null);\n\t}\n}\n"],"names":["ProgressBarColor","NONE","DANGER","SUCCESS","PRIMARY","WARNING","ProgressBarSize","MEDIUM","LARGE","ProgressBarStatus","COUNTER","PERCENT","ProgressBar","constructor","options","ProgressBarOptions","Type","isPlainObject","value","isNumber","maxValue","bar","container","status","finished","fill","isBoolean","column","statusPercent","statusCounter","textBefore","isString","textBeforeContainer","textAfter","textAfterContainer","statusType","BX","UI","Status","size","isStringFilled","Size","colorTrack","colorBar","color","Color","setValue","getValue","setMaxValue","getMaxValue","finish","update","isFinish","setColor","createContainer","Dom","removeClass","addClass","setColorBar","setColorTrack","setFill","setSize","setAttribute","setColumn","setTextBefore","text","createTextBefore","adjust","html","Tag","render","getTextBefore","setTextAfter","createTextAfter","getTextAfter","setStatus","getStatusType","getStatusCounter","firstChild","getStatusPercent","getStatus","create","Math","round","setStatusType","type","props","className","children","getBar","style","width","setTimeout","bind","getContainer","renderTo","node","isDomNode","appendChild","destroy","remove","property","hasOwnProperty","Object","setPrototypeOf","currentAttribute","getAttribute","customColorsValue"],"mappings":";;;;;CAAA;CACA;CACA;AACA,CAAe,MAAMA,gBAAgB,CACrC;CADqBA,gBAAgB,CAE7BC,IAAI,GAAG,qBAAqB;CAFfD,gBAAgB,CAG7BE,MAAM,GAAG,uBAAuB;CAHnBF,gBAAgB,CAI7BG,OAAO,GAAG,wBAAwB;CAJrBH,gBAAgB,CAK7BI,OAAO,GAAG,wBAAwB;CALrBJ,gBAAgB,CAM7BK,OAAO,GAAG,wBAAwB;;CCT1C;CACA;CACA;AACA,CAAe,MAAMC,eAAe,CACpC;CADqBA,eAAe,CAE5BC,MAAM,GAAG,mBAAmB;CAFfD,eAAe,CAG5BE,KAAK,GAAG,mBAAmB;;CCNnC;CACA;CACA;AACA,CAAe,MAAMC,iBAAiB,CACtC;CADqBA,iBAAiB,CAE9BC,OAAO,GAAG,SAAS;CAFND,iBAAiB,CAG9BE,OAAO,GAAG,SAAS;CAHNF,iBAAiB,CAI9BR,IAAI,GAAG,MAAM;;;;;;;ACLrB,CAKyB;AAmBzB,CAAO,MAAMW,WAAW,CAAC;GAKxBC,WAAW,CAACC,OAAO,GAAGC,kBAAkB,EACxC;KAAA;OAAA;;KACC,IAAI,CAACD,OAAO,GAAGE,cAAI,CAACC,aAAa,CAACH,OAAO,CAAC,GAAGA,OAAO,GAAG,EAAE;KAEzD,IAAI,CAACI,KAAK,GAAGF,cAAI,CAACG,QAAQ,CAAC,IAAI,CAACL,OAAO,CAACI,KAAK,CAAC,GAAG,IAAI,CAACJ,OAAO,CAACI,KAAK,GAAG,CAAC;KACvE,IAAI,CAACE,QAAQ,GAAGJ,cAAI,CAACG,QAAQ,CAAC,IAAI,CAACL,OAAO,CAACM,QAAQ,CAAC,GAAG,IAAI,CAACN,OAAO,CAACM,QAAQ,GAAG,GAAG;KAClF,IAAI,CAACC,GAAG,GAAG,IAAI;KACf,IAAI,CAACC,SAAS,GAAG,IAAI;KACrB,IAAI,CAACC,MAAM,GAAG,IAAI;KAClB,IAAI,CAACC,QAAQ,GAAG,KAAK;KACrB,IAAI,CAACC,IAAI,GAAGT,cAAI,CAACU,SAAS,CAAC,IAAI,CAACZ,OAAO,CAACW,IAAI,CAAC,GAAG,IAAI,CAACX,OAAO,CAACW,IAAI,GAAG,KAAK;KACzE,IAAI,CAACE,MAAM,GAAGX,cAAI,CAACU,SAAS,CAAC,IAAI,CAACZ,OAAO,CAACa,MAAM,CAAC,GAAG,IAAI,CAACb,OAAO,CAACa,MAAM,GAAG,KAAK;KAC/E,IAAI,CAACC,aAAa,GAAG,IAAI;KACzB,IAAI,CAACC,aAAa,GAAG,OAAO;KAC5B,IAAI,CAACC,UAAU,GAAGd,cAAI,CAACe,QAAQ,CAAC,IAAI,CAACjB,OAAO,CAACgB,UAAU,CAAC,GAAG,IAAI,CAAChB,OAAO,CAACgB,UAAU,GAAG,IAAI;KACzF,IAAI,CAACE,mBAAmB,GAAG,IAAI;KAC/B,IAAI,CAACC,SAAS,GAAGjB,cAAI,CAACe,QAAQ,CAAC,IAAI,CAACjB,OAAO,CAACmB,SAAS,CAAC,GAAG,IAAI,CAACnB,OAAO,CAACmB,SAAS,GAAG,IAAI;KACtF,IAAI,CAACC,kBAAkB,GAAG,IAAI;KAC9B,IAAI,CAACC,UAAU,GAAGnB,cAAI,CAACe,QAAQ,CAAC,IAAI,CAACjB,OAAO,CAACqB,UAAU,CAAC,GAAG,IAAI,CAACrB,OAAO,CAACqB,UAAU,GAAGC,EAAE,CAACC,EAAE,CAACzB,WAAW,CAAC0B,MAAM,CAACrC,IAAI;KAClH,IAAI,CAACsC,IAAI,GAAIvB,cAAI,CAACwB,cAAc,CAAC,IAAI,CAAC1B,OAAO,CAACyB,IAAI,CAAC,IAAIvB,cAAI,CAACG,QAAQ,CAAC,IAAI,CAACL,OAAO,CAACyB,IAAI,CAAC,GAAI,IAAI,CAACzB,OAAO,CAACyB,IAAI,GAAGH,EAAE,CAACC,EAAE,CAACzB,WAAW,CAAC6B,IAAI,CAAClC,MAAM;KAC5I,IAAI,CAACmC,UAAU,GAAG1B,cAAI,CAACe,QAAQ,CAAC,IAAI,CAACjB,OAAO,CAAC4B,UAAU,CAAC,GAAG,IAAI,CAAC5B,OAAO,CAAC4B,UAAU,GAAG,IAAI;KACzF,IAAI,CAACC,QAAQ,GAAG3B,cAAI,CAACe,QAAQ,CAAC,IAAI,CAACjB,OAAO,CAAC6B,QAAQ,CAAC,GAAG,IAAI,CAAC7B,OAAO,CAAC6B,QAAQ,GAAG,IAAI;KACnF,IAAI,CAACC,KAAK,GAAG5B,cAAI,CAACe,QAAQ,CAAC,IAAI,CAACjB,OAAO,CAAC8B,KAAK,CAAC,GAAG,IAAI,CAAC9B,OAAO,CAAC8B,KAAK,GAAGR,EAAE,CAACC,EAAE,CAACzB,WAAW,CAACiC,KAAK,CAACzC,OAAO;;;;;;;;GAQtG0C,QAAQ,CAAC5B,KAAa,EACtB;KACC,IAAIF,cAAI,CAACG,QAAQ,CAACD,KAAK,CAAC,EACxB;OACC,IAAI,CAACA,KAAK,GAAIA,KAAK,GAAG,IAAI,CAACE,QAAQ,GAAI,IAAI,CAACA,QAAQ,GAAGF,KAAK;;KAG7D,OAAO,IAAI;;GAGZ6B,QAAQ,GACR;KACC,OAAO,IAAI,CAAC7B,KAAK;;GAGlB8B,WAAW,CAAC9B,KAAa,EACzB;KACC,IAAIF,cAAI,CAACG,QAAQ,CAACD,KAAK,CAAC,EACxB;OACC,IAAI,CAACE,QAAQ,GAAGF,KAAK;;KAGtB,OAAO,IAAI;;GAGZ+B,WAAW,GACX;KACC,OAAO,IAAI,CAAC7B,QAAQ;;GAGrB8B,MAAM,GACN;KACC,IAAI,CAACC,MAAM,CAAC,IAAI,CAAC/B,QAAQ,CAAC;;GAG3BgC,QAAQ,GACR;KACC,OAAO,IAAI,CAAC5B,QAAQ;;GAGrB6B,QAAQ,CAACT,KAAuB,EAChC;KACC,IAAI5B,cAAI,CAACwB,cAAc,CAACI,KAAK,CAAC,EAC9B;OACC,IAAI,IAAI,CAACtB,SAAS,KAAK,IAAI,EAC3B;SACC,IAAI,CAACgC,eAAe,EAAE;;OAGvBC,aAAG,CAACC,WAAW,CAAC,IAAI,CAAClC,SAAS,EAAE,IAAI,CAACsB,KAAK,CAAC;OAC3C,IAAI,CAACA,KAAK,GAAGA,KAAK;OAClBW,aAAG,CAACE,QAAQ,CAAC,IAAI,CAACnC,SAAS,EAAE,IAAI,CAACsB,KAAK,CAAC;;KAGzC,OAAO,IAAI;;GAGZc,WAAW,CAACd,KAAa,EACzB;KACC,IAAI5B,cAAI,CAACwB,cAAc,CAACI,KAAK,CAAC,EAC9B;OACC,IAAI,CAACD,QAAQ,GAAGC,KAAK;OACrBA,KAAK,GAAG,yBAAyB,GAAGA,KAAK,GAAG,GAAG;OAC/C,4CAAI,sCAAkBA,KAAK;;KAG5B,OAAO,IAAI;;GAGZe,aAAa,CAACf,KAAa,EAC3B;KACC,IAAI5B,cAAI,CAACwB,cAAc,CAACI,KAAK,CAAC,EAC9B;OACC,IAAI,CAACF,UAAU,GAAGE,KAAK;OACvB,IAAI,CAACgB,OAAO,CAAC,IAAI,CAAC;OAClBhB,KAAK,GAAG,kCAAkC,GAAGA,KAAK,GAAG,GAAG;OACxD,4CAAI,sCAAkBA,KAAK;;KAG5B,OAAO,IAAI;;GAkBZiB,OAAO,CAACtB,IAA8B,EACtC;KACC,IAAI,IAAI,CAACjB,SAAS,KAAK,IAAI,EAC3B;OACC,IAAI,CAACgC,eAAe,EAAE;;KAGvB,IAAItC,cAAI,CAACwB,cAAc,CAACD,IAAI,CAAC,EAC7B;OACCgB,aAAG,CAACC,WAAW,CAAC,IAAI,CAAClC,SAAS,EAAE,IAAI,CAACiB,IAAI,CAAC;OAC1C,IAAI,CAACA,IAAI,GAAGA,IAAI;OAChBgB,aAAG,CAACE,QAAQ,CAAC,IAAI,CAACnC,SAAS,EAAE,IAAI,CAACiB,IAAI,CAAC;MACvC,MACI,IAAIvB,cAAI,CAACG,QAAQ,CAACoB,IAAI,CAAC,EAC5B;OACC,IAAI,CAACjB,SAAS,CAACwC,YAAY,CAAC,OAAO,EAAE,wBAAwB,GAAGvB,IAAI,GAAG,KAAK,CAAC;OAC7E,IAAI,CAACA,IAAI,GAAGA,IAAI;;KAGjB,OAAO,IAAI;;GAGZqB,OAAO,CAACnC,IAAa,EACrB;KACC,IAAI,IAAI,CAACH,SAAS,KAAK,IAAI,EAC3B;OACC,IAAI,CAACgC,eAAe,EAAE;;KAGvB,IAAI7B,IAAI,EACR;OACC8B,aAAG,CAACE,QAAQ,CAAC,IAAI,CAACnC,SAAS,EAAE,mBAAmB,CAAC;MACjD,MAED;OACCiC,aAAG,CAACC,WAAW,CAAC,IAAI,CAAClC,SAAS,EAAE,mBAAmB,CAAC;;KAGrD,OAAO,IAAI;;GAGZyC,SAAS,CAACpC,MAAe,EACzB;KACC,IAAI,IAAI,CAACL,SAAS,KAAK,IAAI,EAC3B;OACC,IAAI,CAACgC,eAAe,EAAE;;KAGvB,IAAI3B,MAAM,KAAK,IAAI,EACnB;OACC4B,aAAG,CAACE,QAAQ,CAAC,IAAI,CAACnC,SAAS,EAAE,uBAAuB,CAAC;MACrD,MAED;OACCiC,aAAG,CAACC,WAAW,CAAC,IAAI,CAAClC,SAAS,EAAE,uBAAuB,CAAC;;KAGzD,OAAO,IAAI;;;;;;GAMZ0C,aAAa,CAACC,IAAY,EAC1B;KACC,IAAIjD,cAAI,CAACwB,cAAc,CAACyB,IAAI,CAAC,EAC7B;OACC,IAAI,CAACnC,UAAU,GAAGmC,IAAI;OACtB,IAAI,CAAC,IAAI,CAACjC,mBAAmB,EAC7B;SACC,IAAI,CAACkC,gBAAgB,CAACD,IAAI,CAAC;QAC3B,MAED;SACCV,aAAG,CAACY,MAAM,CAAC,IAAI,CAACnC,mBAAmB,EAAE;WACpCoC,IAAI,EAAEH;UACN,CAAC;;;;GAKLC,gBAAgB,CAACD,IAAY,EAC7B;KACC,IAAK,CAAC,IAAI,CAACjC,mBAAmB,IAAKhB,cAAI,CAACwB,cAAc,CAACyB,IAAI,CAAC,EAC5D;OACC,IAAI,CAACjC,mBAAmB,GAAGqC,aAAG,CAACC,MAAM,cAAC;8CACG,CAAO;IAChD,GAD2CL,IAAI,CAC9C;;;GAIHM,aAAa,GACb;KACC,IAAI,CAAC,IAAI,CAACvC,mBAAmB,EAC7B;OACC,IAAI,CAACkC,gBAAgB,CAAC,IAAI,CAACpC,UAAU,CAAC;;KAGvC,OAAO,IAAI,CAACE,mBAAmB;;GAGhCwC,YAAY,CAACP,IAAY,EACzB;KACC,IAAIjD,cAAI,CAACwB,cAAc,CAACyB,IAAI,CAAC,EAC7B;OACC,IAAI,CAAChC,SAAS,GAAGgC,IAAI;OACrB,IAAI,CAAC,IAAI,CAAC/B,kBAAkB,EAC5B;SACC,IAAI,CAACuC,eAAe,CAACR,IAAI,CAAC;QAC1B,MAED;SACCV,aAAG,CAACY,MAAM,CAAC,IAAI,CAACjC,kBAAkB,EAAE;WACnCkC,IAAI,EAAEH;UACN,CAAC;;;;GAKLQ,eAAe,CAACR,IAAY,EAC5B;KACC,IAAK,CAAC,IAAI,CAAC/B,kBAAkB,IAAKlB,cAAI,CAACwB,cAAc,CAACyB,IAAI,CAAC,EAC3D;OACC,IAAI,CAAC/B,kBAAkB,GAAGmC,aAAG,CAACC,MAAM,gBAAC;6CACG,CAAO;IAC/C,GAD0CL,IAAI,CAC7C;;;GAIHS,YAAY,GACZ;KACC,IAAI,CAAC,IAAI,CAACxC,kBAAkB,EAC5B;OACC,IAAI,CAACuC,eAAe,CAAC,IAAI,CAACxC,SAAS,CAAC;;KAGrC,OAAO,IAAI,CAACC,kBAAkB;;;;;;GAM/ByC,SAAS,GACT;KACC,IAAI,IAAI,CAACC,aAAa,EAAE,KAAKxC,EAAE,CAACC,EAAE,CAACzB,WAAW,CAAC0B,MAAM,CAAC5B,OAAO,EAC7D;OACC6C,aAAG,CAACY,MAAM,CAAC,IAAI,CAAC5C,MAAM,EAAE;SACvB0C,IAAI,EAAE,IAAI,CAACY,gBAAgB;QAC3B,CAAC;MACF,MACI,IAAI,IAAI,CAACD,aAAa,EAAE,KAAKxC,EAAE,CAACC,EAAE,CAACzB,WAAW,CAAC0B,MAAM,CAAC3B,OAAO,EAClE;OACC4C,aAAG,CAACY,MAAM,CAAC,IAAI,CAAC5C,MAAM,CAACuD,UAAU,EAAE;SAClCb,IAAI,EAAE,IAAI,CAACc,gBAAgB;QAC3B,CAAC;;;GAIJC,SAAS,GACT;KACC,IAAI,CAAC,IAAI,CAACzD,MAAM,EAChB;OACC,IAAI,IAAI,CAACqD,aAAa,EAAE,KAAKxC,EAAE,CAACC,EAAE,CAACzB,WAAW,CAAC0B,MAAM,CAAC5B,OAAO,EAC7D;SACC,IAAI,CAACa,MAAM,GAAG8C,aAAG,CAACC,MAAM,gBAAC;0CACW,CAA0B;KAC9D,GADsC,IAAI,CAACO,gBAAgB,EAAE,CAC5D;QACD,MACI,IAAI,IAAI,CAACD,aAAa,EAAE,KAAKxC,EAAE,CAACC,EAAE,CAACzB,WAAW,CAAC0B,MAAM,CAAC3B,OAAO,EAClE;SACC,IAAI,CAACY,MAAM,GAAG8C,aAAG,CAACC,MAAM,gBAAC;;0DAE2B,CAA0B;;;KAG9E,GAHsD,IAAI,CAACS,gBAAgB,EAAE,CAG5E;QACD,MAED;SACC,IAAI,CAACxD,MAAM,GAAGgC,aAAG,CAAC0B,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;;;KAItC,OAAO,IAAI,CAAC1D,MAAM;;GAGnBwD,gBAAgB,GAChB;KACC,IAAI,IAAI,CAAC3D,QAAQ,KAAK,CAAC,EACvB;OACC,OAAO,IAAI;;KAGZ,IAAI,CAACQ,aAAa,GAAGsD,IAAI,CAACC,KAAK,CAAC,IAAI,CAACpC,QAAQ,EAAE,IAAI,IAAI,CAACE,WAAW,EAAE,GAAG,GAAG,CAAC,CAAC;KAC7E,IAAI,IAAI,CAACrB,aAAa,GAAG,GAAG,EAC5B;OACC,IAAI,CAACA,aAAa,GAAG,GAAG;;KAGzB,OAAO,IAAI,CAACA,aAAa;;GAG1BiD,gBAAgB,GAChB;KACC,IAAIK,IAAI,CAACC,KAAK,CAAC,IAAI,CAACpC,QAAQ,EAAE,CAAC,GAAGmC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAClC,WAAW,EAAE,CAAC,EAChE;OACC,IAAI,CAACpB,aAAa,GAAGqD,IAAI,CAACC,KAAK,CAAC,IAAI,CAAClC,WAAW,EAAE,CAAC,GAAG,KAAK,GAAGiC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAClC,WAAW,EAAE,CAAC;MAC5F,MAED;OACC,IAAI,CAACpB,aAAa,GAAGqD,IAAI,CAACC,KAAK,CAAC,IAAI,CAACpC,QAAQ,EAAE,CAAC,GAAG,KAAK,GAAGmC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAClC,WAAW,EAAE,CAAC;;KAG1F,OAAO,IAAI,CAACpB,aAAa;;GAG1B+C,aAAa,GACb;KACC,OAAO,IAAI,CAACzC,UAAU;;GAGvBiD,aAAa,CAACC,IAAY,EAC1B;KACC,IAAIrE,cAAI,CAACwB,cAAc,CAAC6C,IAAI,CAAC,EAC7B;OACC,IAAI,CAAClD,UAAU,GAAGkD,IAAI;;;;;;;GAOxB/B,eAAe,GACf;KACC,IAAI,IAAI,CAAChC,SAAS,KAAK,IAAI,EAC3B;OACC,IAAI,CAACA,SAAS,GAAGiC,aAAG,CAAC0B,MAAM,CAAC,KAAK,EAAE;SAClCK,KAAK,EAAE;WAACC,SAAS,EAAE;UAAiB;SACpCC,QAAQ,EAAE,CACT,IAAI,CAACd,YAAY,EAAE,EACnB,IAAI,CAACH,aAAa,EAAE,EACpB,IAAI,CAACS,SAAS,EAAE,EAChB5C,EAAE,CAAC6C,MAAM,CAAC,KAAK,EAAE;WAChBK,KAAK,EAAE;aAACC,SAAS,EAAE;YAAuB;WAC1CC,QAAQ,EAAE,CACT,IAAI,CAACC,MAAM,EAAE;UAEd,CAAC;QAEH,CAAC;OAEF,IAAI,CAACpC,QAAQ,CAAC,IAAI,CAACT,KAAK,CAAC;OACzB,IAAI,CAACmB,SAAS,CAAC,IAAI,CAACpC,MAAM,CAAC;OAC3B,IAAI,CAACkC,OAAO,CAAC,IAAI,CAACtB,IAAI,CAAC;OACvB,IAAI,CAACqB,OAAO,CAAC,IAAI,CAACnC,IAAI,CAAC;OACvB,IAAI,CAACkC,aAAa,CAAC,IAAI,CAACjB,UAAU,CAAC;OACnC,IAAI,CAACgB,WAAW,CAAC,IAAI,CAACf,QAAQ,CAAC;;;GAIjC8C,MAAM,GACN;KACC,IAAI,IAAI,CAACpE,GAAG,KAAK,IAAI,EACrB;OACC,IAAI,CAACA,GAAG,GAAGkC,aAAG,CAAC0B,MAAM,CAAC,KAAK,EAAE;SAC5BK,KAAK,EAAE;WAACC,SAAS,EAAE;UAAqB;SACxCG,KAAK,EAAE;WAACC,KAAK,EAAG,GAAE,IAAI,CAACZ,gBAAgB,EAAG;;QAC1C,CAAC;;KAGH,OAAO,IAAI,CAAC1D,GAAG;;GAGhB8B,MAAM,CAACjC,KAAa,EACpB;KACC,IAAI,IAAI,CAACI,SAAS,KAAK,IAAI,EAC3B;OACC,IAAI,CAACgC,eAAe,EAAE;;KAGvB,IAAI,CAACR,QAAQ,CAAC5B,KAAK,CAAC;KAEpB,IAAIA,KAAK,IAAI,IAAI,CAACE,QAAQ,EAC1B;OACCwE,UAAU,CAAC,YAAY;SACtBrC,aAAG,CAACE,QAAQ,CAAC,IAAI,CAACnC,SAAS,EAAE,yBAAyB,CAAC;QACvD,CAACuE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;OAClB,IAAI,CAACrE,QAAQ,GAAG,IAAI;MACpB,MAED;OACC+B,aAAG,CAACC,WAAW,CAAC,IAAI,CAAClC,SAAS,EAAE,yBAAyB,CAAC;OAC1D,IAAI,CAACE,QAAQ,GAAG,KAAK;;KAGtB,IAAI,CAACmD,SAAS,EAAE;KAEhB,IAAI,IAAI,CAACtD,GAAG,KAAK,IAAI,EACrB;OACC,IAAI,CAACoE,MAAM,EAAE;;KAGdlC,aAAG,CAACY,MAAM,CAAC,IAAI,CAAC9C,GAAG,EAAE;OACpBqE,KAAK,EAAE;SAACC,KAAK,EAAG,GAAE,IAAI,CAACZ,gBAAgB,EAAG;;MAC1C,CAAC;;;;;GAKHe,YAAY,GACZ;KACC,IAAI,IAAI,CAACxE,SAAS,KAAK,IAAI,EAC3B;OACC,IAAI,CAACgC,eAAe,EAAE;;KAGvB,OAAO,IAAI,CAAChC,SAAS;;GAGtByE,QAAQ,CAACC,IAAiB,EAC1B;KACC,IAAIhF,cAAI,CAACiF,SAAS,CAACD,IAAI,CAAC,EACxB;OACC,OAAOA,IAAI,CAACE,WAAW,CAAC,IAAI,CAACJ,YAAY,EAAE,CAAC;;KAG7C,OAAO,IAAI;;GAGZK,OAAO,GACP;KACC5C,aAAG,CAAC6C,MAAM,CAAC,IAAI,CAAC9E,SAAS,CAAC;KAC1B,IAAI,CAACA,SAAS,GAAG,IAAI;KACrB,IAAI,CAACE,QAAQ,GAAG,KAAK;KACrB,IAAI,CAACU,kBAAkB,GAAG,IAAI;KAC9B,IAAI,CAACF,mBAAmB,GAAG,IAAI;KAC/B,IAAI,CAACX,GAAG,GAAG,IAAI;KAGf,KAAK,MAAMgF,QAAQ,IAAI,IAAI,EAC3B;OACC,IAAI,IAAI,CAACC,cAAc,CAACD,QAAQ,CAAC,EACjC;SACC,OAAO,IAAI,CAACA,QAAQ,CAAC;;;KAIvBE,MAAM,CAACC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;;CAEnC;CAAC,2BA5WiBtF,KAAK,EACtB;GACC,IAAI,IAAI,CAACI,SAAS,KAAK,IAAI,EAC3B;KACC,IAAI,CAACgC,eAAe,EAAE;;GAGvB,IAAI,CAACM,OAAO,CAAC,KAAK,CAAC;GACnB,IAAI,CAACP,QAAQ,CAACjB,EAAE,CAACC,EAAE,CAACzB,WAAW,CAACiC,KAAK,CAAC5C,IAAI,CAAC;GAE3C,IAAIwG,gBAAgB,GAAG,IAAI,CAACnF,SAAS,CAACoF,YAAY,CAAC,OAAO,CAAC;KAC1DC,iBAAiB,GAAI,CAACF,gBAAgB,GAAIvF,KAAK,GAAGuF,gBAAgB,GAAGvF,KAAK;GAC3E,IAAI,CAACI,SAAS,CAACwC,YAAY,CAAC,OAAO,EAAE6C,iBAAiB,CAAC;CACxD;CAlIY/F,WAAW,CAChBiC,KAAK,GAAG7C,gBAAgB;CADnBY,WAAW,CAEhB6B,IAAI,GAAGnC,eAAe;CAFjBM,WAAW,CAGhB0B,MAAM,GAAG7B,iBAAiB;;;;;;;;"}