@symbo.ls/uikit 2.11.52 → 2.11.65
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +4430 -128
- package/dist/index.cjs.js.map +4 -4
- package/index.js +1 -0
- package/package.json +3 -2
package/dist/index.cjs.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../packages/scratch/dist/cjs/index.js", "../../../node_modules/@domql/key/dist/cjs/index.js", "../../../node_modules/@domql/tags/dist/cjs/htmlTags.js", "../../../node_modules/@domql/tags/dist/cjs/index.js", "../../../node_modules/@domql/globals/dist/cjs/index.js", "../../../node_modules/@domql/utils/dist/cjs/node.js", "../../../node_modules/@domql/utils/dist/cjs/types.js", "../../../node_modules/@domql/utils/dist/cjs/array.js", "../../../node_modules/@domql/utils/dist/cjs/object.js", "../../../node_modules/@domql/utils/dist/cjs/function.js", "../../../node_modules/@domql/utils/dist/cjs/log.js", "../../../node_modules/@domql/utils/dist/cjs/index.js", "../../../node_modules/@domql/state/dist/cjs/ignore.js", "../../../node_modules/@domql/event/dist/cjs/on.js", "../../../node_modules/@domql/report/dist/cjs/index.js", "../../../node_modules/@domql/event/dist/cjs/can.js", "../../../node_modules/@domql/event/dist/cjs/index.js", "../../../node_modules/@domql/state/dist/cjs/methods.js", "../../../node_modules/@domql/state/dist/cjs/inherit.js", "../../../node_modules/@domql/state/dist/cjs/updateState.js", "../../../node_modules/@domql/state/dist/cjs/createState.js", "../../../node_modules/@domql/state/dist/cjs/index.js", "../../../node_modules/@domql/router/dist/cjs/index.js", "../Notification/node_modules/@symbo.ls/scratch/dist/cjs/index.js", "../index.js", "../Atoms/Block.js", "../Atoms/Direction.js", "../Atoms/Flex.js", "../Atoms/Grid.js", "../Atoms/Img.js", "../Atoms/Form.js", "../Atoms/Media.js", "../Atoms/Theme.js", "../Atoms/Shape/style.js", "../Atoms/Timing.js", "../Atoms/Iframe.js", "../Atoms/Interaction.js", "../Atoms/InteractiveComponent.js", "../Atoms/Overflow.js", "../Atoms/Collection.js", "../Atoms/Position.js", "../Atoms/Picture.js", "../Atoms/Pseudo.js", "../Atoms/Svg.js", "../Atoms/Shape/index.js", "../Atoms/Text.js", "../Atoms/Transform.js", "../Atoms/XYZ.js", "../Atoms/Animation.js", "../../../node_modules/@emotion/cache/node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js", "../../../node_modules/stylis/src/Enum.js", "../../../node_modules/stylis/src/Utility.js", "../../../node_modules/stylis/src/Tokenizer.js", "../../../node_modules/stylis/src/Parser.js", "../../../node_modules/stylis/src/Serializer.js", "../../../node_modules/stylis/src/Middleware.js", "../../../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js", "../../../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js", "../../../node_modules/@emotion/css/node_modules/@emotion/hash/dist/emotion-hash.esm.js", "../../../node_modules/@emotion/css/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js", "../../../node_modules/@emotion/css/node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js", "../../../node_modules/@emotion/css/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js", "../../../node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.esm.js", "../../../packages/emotion/index.js", "../Box/index.js", "../Avatar/index.js", "../Icon/index.js", "../Button/index.js", "../ButtonSet/index.js", "../Dialog/index.js", "../Datepicker/index.js", "../Input/index.js", "../TimePicker/TimePickerItem.js", "../TimePicker/index.js", "../Dropdown/index.js", "../Form/FieldLabel.js", "../Form/Checkbox.js", "../Form/Radio.js", "../Form/ToggleSwitch.js", "../node_modules/@symbo.ls/icon/index.js", "../Link/index.js", "../Field/node_modules/@symbo.ls/atoms/Block.js", "../Field/node_modules/@symbo.ls/atoms/Grid.js", "../Field/node_modules/@symbo.ls/atoms/Media.js", "../Field/node_modules/@symbo.ls/atoms/Theme.js", "../Field/node_modules/@symbo.ls/atoms/Shape/style.js", "../Field/node_modules/@symbo.ls/atoms/Timing.js", "../Field/node_modules/@symbo.ls/atoms/InteractiveComponent.js", "../Field/node_modules/@symbo.ls/atoms/Collection.js", "../Field/node_modules/@symbo.ls/atoms/Position.js", "../Field/node_modules/@symbo.ls/atoms/Shape/index.js", "../Field/node_modules/@symbo.ls/atoms/Text.js", "../Field/node_modules/@symbo.ls/atoms/Animation.js", "../Field/node_modules/@symbo.ls/emotion/index.js", "../Field/index.js", "../Video/index.js", "../Range/index.js", "../Slider/style.js", "../Slider/index.js", "../Notification/node_modules/@symbo.ls/atoms/Block.js", "../Notification/node_modules/@symbo.ls/atoms/Flex.js", "../Notification/node_modules/@symbo.ls/atoms/Grid.js", "../Notification/node_modules/@symbo.ls/atoms/Media.js", "../Notification/node_modules/@symbo.ls/atoms/Theme.js", "../Notification/node_modules/@symbo.ls/atoms/Shape/style.js", "../Notification/node_modules/@symbo.ls/atoms/Timing.js", "../Notification/node_modules/@symbo.ls/atoms/Collection.js", "../Notification/node_modules/@symbo.ls/atoms/Position.js", "../Notification/node_modules/@symbo.ls/atoms/Shape/index.js", "../Notification/node_modules/@symbo.ls/atoms/Text.js", "../Notification/node_modules/@symbo.ls/atoms/Animation.js", "../Notification/node_modules/@symbo.ls/emotion/index.js", "../Notification/index.js", "../Tooltip/index.js", "../Textarea/index.js", "../Label/index.js", "../Pills/index.js", "../Select/index.js"],
|
|
4
|
-
"sourcesContent": ["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// ../../node_modules/@domql/globals/dist/cjs/index.js\nvar require_cjs = __commonJS({\n \"../../node_modules/@domql/globals/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var globals_exports = {};\n __export2(globals_exports, {\n document: () => document4,\n global: () => global,\n self: () => self,\n window: () => window3\n });\n module2.exports = __toCommonJS2(globals_exports);\n var global = globalThis;\n var self = globalThis;\n var window3 = globalThis;\n var document4 = window3.document;\n }\n});\n\n// ../../node_modules/@domql/key/dist/cjs/index.js\nvar require_cjs2 = __commonJS({\n \"../../node_modules/@domql/key/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var key_exports = {};\n __export2(key_exports, {\n createKey: () => createKey,\n createSnapshotId: () => createSnapshotId\n });\n module2.exports = __toCommonJS2(key_exports);\n var createKey = function() {\n let index = 0;\n function newId() {\n index++;\n return index;\n }\n return newId;\n }();\n var createSnapshotId = createKey;\n }\n});\n\n// ../../node_modules/@domql/tags/dist/cjs/htmlTags.js\nvar require_htmlTags = __commonJS({\n \"../../node_modules/@domql/tags/dist/cjs/htmlTags.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var htmlTags_exports = {};\n __export2(htmlTags_exports, {\n HTML_TAGS: () => HTML_TAGS\n });\n module2.exports = __toCommonJS2(htmlTags_exports);\n var HTML_TAGS = {\n root: [\n \"body\",\n \"html\"\n ],\n head: [\n \"title\",\n \"base\",\n \"meta\",\n \"style\"\n ],\n body: [\n \"string\",\n \"fragment\",\n \"a\",\n \"abbr\",\n \"acronym\",\n \"address\",\n \"applet\",\n \"area\",\n \"article\",\n \"aside\",\n \"audio\",\n \"b\",\n \"basefont\",\n \"bdi\",\n \"bdo\",\n \"big\",\n \"blockquote\",\n \"br\",\n \"button\",\n \"canvas\",\n \"caption\",\n \"center\",\n \"cite\",\n \"code\",\n \"col\",\n \"colgroup\",\n \"data\",\n \"datalist\",\n \"dd\",\n \"del\",\n \"details\",\n \"dfn\",\n \"dialog\",\n \"dir\",\n \"div\",\n \"dl\",\n \"dt\",\n \"em\",\n \"embed\",\n \"fieldset\",\n \"figcaption\",\n \"figure\",\n \"font\",\n \"footer\",\n \"form\",\n \"frame\",\n \"frameset\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\",\n \"head\",\n \"header\",\n \"hr\",\n \"i\",\n \"iframe\",\n \"img\",\n \"input\",\n \"ins\",\n \"kbd\",\n \"label\",\n \"legend\",\n \"li\",\n \"link\",\n \"main\",\n \"map\",\n \"mark\",\n \"meter\",\n \"nav\",\n \"noframes\",\n \"noscript\",\n \"object\",\n \"ol\",\n \"optgroup\",\n \"option\",\n \"output\",\n \"p\",\n \"param\",\n \"picture\",\n \"pre\",\n \"progress\",\n \"q\",\n \"rp\",\n \"rt\",\n \"ruby\",\n \"s\",\n \"samp\",\n \"script\",\n \"section\",\n \"select\",\n \"small\",\n \"source\",\n \"span\",\n \"strike\",\n \"strong\",\n \"sub\",\n \"summary\",\n \"sup\",\n \"table\",\n \"tbody\",\n \"td\",\n \"template\",\n \"textarea\",\n \"tfoot\",\n \"th\",\n \"thead\",\n \"time\",\n \"tr\",\n \"track\",\n \"tt\",\n \"u\",\n \"ul\",\n \"var\",\n \"video\",\n \"wbr\",\n // SVG\n \"svg\",\n \"path\"\n ]\n };\n }\n});\n\n// ../../node_modules/@domql/tags/dist/cjs/index.js\nvar require_cjs3 = __commonJS({\n \"../../node_modules/@domql/tags/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, \"default\"), secondTarget && __copyProps2(secondTarget, mod, \"default\"));\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var tags_exports = {};\n module2.exports = __toCommonJS2(tags_exports);\n __reExport(tags_exports, require_htmlTags(), module2.exports);\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/node.js\nvar require_node = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/node.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var node_exports = {};\n __export2(node_exports, {\n isHtmlElement: () => isHtmlElement,\n isNode: () => isNode\n });\n module2.exports = __toCommonJS2(node_exports);\n var import_globals3 = require_cjs();\n var isNode = (obj) => {\n return (typeof Node === \"object\" ? obj instanceof import_globals3.window.Node : obj && typeof obj === \"object\" && typeof obj.nodeType === \"number\" && typeof obj.nodeName === \"string\") || false;\n };\n var isHtmlElement = (obj) => {\n return (typeof HTMLElement === \"object\" ? obj instanceof import_globals3.window.HTMLElement : obj && typeof obj === \"object\" && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === \"string\") || false;\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/types.js\nvar require_types = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/types.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var types_exports = {};\n __export2(types_exports, {\n TYPES: () => TYPES,\n is: () => is,\n isArray: () => isArray6,\n isBoolean: () => isBoolean,\n isDefined: () => isDefined2,\n isFunction: () => isFunction2,\n isNot: () => isNot,\n isNull: () => isNull,\n isNumber: () => isNumber,\n isObject: () => isObject7,\n isObjectLike: () => isObjectLike3,\n isString: () => isString8,\n isUndefined: () => isUndefined,\n isValidHtmlTag: () => isValidHtmlTag\n });\n module2.exports = __toCommonJS2(types_exports);\n var import_tags = require_cjs3();\n var import_node = require_node();\n var isValidHtmlTag = (arg) => import_tags.HTML_TAGS.body.includes(arg);\n var isObject7 = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\" && arg.constructor === Object;\n };\n var isString8 = (arg) => typeof arg === \"string\";\n var isNumber = (arg) => typeof arg === \"number\";\n var isFunction2 = (arg) => typeof arg === \"function\";\n var isBoolean = (arg) => arg === true || arg === false;\n var isNull = (arg) => arg === null;\n var isArray6 = (arg) => Array.isArray(arg);\n var isObjectLike3 = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\";\n };\n var isDefined2 = (arg) => {\n return isObject7(arg) || isObjectLike3(arg) || isString8(arg) || isNumber(arg) || isFunction2(arg) || isArray6(arg) || isObjectLike3(arg) || isBoolean(arg) || isNull(arg);\n };\n var isUndefined = (arg) => {\n return arg === void 0;\n };\n var TYPES = {\n boolean: isBoolean,\n array: isArray6,\n object: isObject7,\n string: isString8,\n number: isNumber,\n null: isNull,\n function: isFunction2,\n objectLike: isObjectLike3,\n node: import_node.isNode,\n htmlElement: import_node.isHtmlElement,\n defined: isDefined2\n };\n var is = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length > 0;\n };\n };\n var isNot = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length === 0;\n };\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/array.js\nvar require_array = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/array.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var array_exports = {};\n __export2(array_exports, {\n arrayContainsOtherArray: () => arrayContainsOtherArray,\n joinArrays: () => joinArrays,\n mergeAndCloneIfArray: () => mergeAndCloneIfArray,\n mergeArray: () => mergeArray,\n removeFromArray: () => removeFromArray,\n swapItemsInArray: () => swapItemsInArray\n });\n module2.exports = __toCommonJS2(array_exports);\n var import_object = require_object();\n var import_types = require_types();\n var arrayContainsOtherArray = (arr1, arr2) => {\n return arr2.every((val) => arr1.includes(val));\n };\n var removeFromArray = (arr, index) => {\n if ((0, import_types.isString)(index))\n index = parseInt(index);\n if ((0, import_types.isNumber)(index)) {\n if (index < 0 || index >= arr.length || isNaN(index)) {\n throw new Error(\"Invalid index\");\n }\n arr.splice(index, 1);\n } else if ((0, import_types.isArray)(index)) {\n index.forEach((idx) => removeFromArray(arr, idx));\n } else {\n throw new Error(\"Invalid index\");\n }\n return arr;\n };\n var swapItemsInArray = (arr, i, j) => {\n [arr[i], arr[j]] = [arr[j], arr[i]];\n };\n var joinArrays = (...arrays) => {\n return [].concat(...arrays);\n };\n var mergeArray = (arr, excludeFrom = []) => {\n return arr.reduce((a, c) => (0, import_object.deepMerge)(a, (0, import_object.deepClone)(c, excludeFrom), excludeFrom), {});\n };\n var mergeAndCloneIfArray = (obj) => {\n return (0, import_types.isArray)(obj) ? mergeArray(obj) : (0, import_object.deepClone)(obj);\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/object.js\nvar require_object = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/object.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var object_exports = {};\n __export2(object_exports, {\n clone: () => clone,\n deepClone: () => deepClone2,\n deepCloneExclude: () => deepCloneExclude,\n deepDestringify: () => deepDestringify,\n deepMerge: () => deepMerge3,\n deepStringify: () => deepStringify,\n detachFunctionsFromObject: () => detachFunctionsFromObject,\n diff: () => diff,\n diffArrays: () => diffArrays,\n diffObjects: () => diffObjects,\n exec: () => exec,\n flattenRecursive: () => flattenRecursive,\n isEqualDeep: () => isEqualDeep,\n map: () => map,\n merge: () => merge5,\n mergeArrayExclude: () => mergeArrayExclude,\n mergeIfExisted: () => mergeIfExisted,\n overwrite: () => overwrite,\n overwriteDeep: () => overwriteDeep,\n overwriteShallow: () => overwriteShallow,\n removeFromObject: () => removeFromObject\n });\n module2.exports = __toCommonJS2(object_exports);\n var import_globals3 = require_cjs();\n var import_types = require_types();\n var import_array = require_array();\n var exec = (param, element, state, context) => {\n if ((0, import_types.isFunction)(param)) {\n return param(\n element,\n state || element.state,\n context || element.context\n );\n }\n return param;\n };\n var map = (obj, extention, element) => {\n for (const e in extention) {\n obj[e] = exec(extention[e], element);\n }\n };\n var merge5 = (element, obj, excludeFrom = []) => {\n for (const e in obj) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const objProp = obj[e];\n if (elementProp === void 0) {\n element[e] = objProp;\n }\n }\n return element;\n };\n var deepMerge3 = (element, extend, excludeFrom = []) => {\n for (const e in extend) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const extendProp = extend[e];\n if ((0, import_types.isObjectLike)(elementProp) && (0, import_types.isObjectLike)(extendProp)) {\n deepMerge3(elementProp, extendProp);\n } else if (elementProp === void 0) {\n element[e] = extendProp;\n }\n }\n return element;\n };\n var clone = (obj, excludeFrom = []) => {\n const o = {};\n for (const prop in obj) {\n if (excludeFrom.includes(prop) || prop.includes(\"__\"))\n continue;\n o[prop] = obj[prop];\n }\n return o;\n };\n var deepCloneExclude = (obj, excludeFrom = []) => {\n if ((0, import_types.isArray)(obj)) {\n return obj.map((x) => deepCloneExclude(x, excludeFrom));\n }\n const o = {};\n for (const k in obj) {\n if (excludeFrom.includes(k) || k.includes(\"__\"))\n continue;\n let v = obj[k];\n if (k === \"extend\" && (0, import_types.isArray)(v)) {\n v = mergeArrayExclude(v, excludeFrom);\n }\n if ((0, import_types.isArray)(v)) {\n o[k] = v.map((x) => deepCloneExclude(x, excludeFrom));\n } else if ((0, import_types.isObject)(v)) {\n o[k] = deepCloneExclude(v, excludeFrom);\n } else\n o[k] = v;\n }\n return o;\n };\n var mergeArrayExclude = (arr, excl = []) => {\n return arr.reduce((acc, curr) => deepMerge3(acc, deepCloneExclude(curr, excl)), {});\n };\n var deepClone2 = (obj, excludeFrom = []) => {\n const o = (0, import_types.isArray)(obj) ? [] : {};\n for (const prop in obj) {\n if (excludeFrom.includes(prop) || prop.includes(\"__\"))\n continue;\n let objProp = obj[prop];\n if (prop === \"extend\" && (0, import_types.isArray)(objProp)) {\n objProp = (0, import_array.mergeArray)(objProp);\n }\n if ((0, import_types.isObjectLike)(objProp)) {\n o[prop] = deepClone2(objProp, excludeFrom);\n } else\n o[prop] = objProp;\n }\n return o;\n };\n var deepStringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp)) {\n stringified[prop] = objProp.toString();\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = {};\n deepStringify(objProp, stringified[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isObject)(v)) {\n stringified[prop][i] = {};\n deepStringify(v, stringified[prop][i]);\n } else if ((0, import_types.isFunction)(v)) {\n stringified[prop][i] = v.toString();\n } else {\n stringified[prop][i] = v;\n }\n });\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n };\n var detachFunctionsFromObject = (obj, detached = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp))\n continue;\n else if ((0, import_types.isObject)(objProp)) {\n detached[prop] = {};\n deepStringify(objProp, detached[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n detached[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isFunction)(v))\n return;\n if ((0, import_types.isObject)(v)) {\n detached[prop][i] = {};\n detachFunctionsFromObject(v, detached[prop][i]);\n } else {\n detached[prop][i] = v;\n }\n });\n } else {\n detached[prop] = objProp;\n }\n }\n return detached;\n };\n var deepDestringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isString)(objProp)) {\n if (objProp.includes(\"=>\") || objProp.includes(\"function\") || objProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals3.window.eval(`(${objProp})`);\n stringified[prop] = evalProp;\n } catch (e) {\n if (e)\n stringified[prop] = objProp;\n }\n } else {\n stringified[prop] = objProp;\n }\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((arrProp) => {\n if ((0, import_types.isString)(arrProp)) {\n if (arrProp.includes(\"=>\") || arrProp.includes(\"function\") || arrProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals3.window.eval(`(${arrProp})`);\n stringified[prop].push(evalProp);\n } catch (e) {\n if (e)\n stringified[prop].push(arrProp);\n }\n } else {\n stringified[prop].push(arrProp);\n }\n } else if ((0, import_types.isObject)(arrProp)) {\n stringified[prop].push(deepDestringify(arrProp));\n } else {\n stringified[prop].push(arrProp);\n }\n });\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = deepDestringify(objProp, stringified[prop]);\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n };\n var diffObjects = (original, objToDiff, cache) => {\n for (const e in objToDiff) {\n if (e === \"ref\")\n continue;\n const originalProp = original[e];\n const objToDiffProp = objToDiff[e];\n if ((0, import_types.isObject)(originalProp) && (0, import_types.isObject)(objToDiffProp)) {\n cache[e] = {};\n diff(originalProp, objToDiffProp, cache[e]);\n } else if (objToDiffProp !== void 0) {\n cache[e] = objToDiffProp;\n }\n }\n return cache;\n };\n var diffArrays = (original, objToDiff, cache) => {\n if (original.length !== objToDiff.length) {\n cache = objToDiff;\n } else {\n const diffArr = [];\n for (let i = 0; i < original.length; i++) {\n const diffObj = diff(original[i], objToDiff[i]);\n if (Object.keys(diffObj).length > 0) {\n diffArr.push(diffObj);\n }\n }\n if (diffArr.length > 0) {\n cache = diffArr;\n }\n }\n return cache;\n };\n var diff = (original, objToDiff, cache = {}) => {\n if ((0, import_types.isArray)(original) && (0, import_types.isArray)(objToDiff)) {\n cache = [];\n diffArrays(original, objToDiff, cache);\n } else {\n diffObjects(original, objToDiff, cache);\n }\n return cache;\n };\n var overwrite = (element, params, excludeFrom = []) => {\n const { ref } = element;\n const changes = {};\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const paramsProp = params[e];\n if (paramsProp) {\n ref.__cache[e] = changes[e] = elementProp;\n ref[e] = paramsProp;\n }\n }\n return changes;\n };\n var overwriteShallow = (obj, params, excludeFrom = []) => {\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n obj[e] = params[e];\n }\n return obj;\n };\n var overwriteDeep = (obj, params, excludeFrom = []) => {\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const objProp = obj[e];\n const paramsProp = params[e];\n if ((0, import_types.isObjectLike)(objProp) && (0, import_types.isObjectLike)(paramsProp)) {\n overwriteDeep(objProp, paramsProp);\n } else if (paramsProp !== void 0) {\n obj[e] = paramsProp;\n }\n }\n return obj;\n };\n var mergeIfExisted = (a, b) => {\n if ((0, import_types.isObjectLike)(a) && (0, import_types.isObjectLike)(b))\n return deepMerge3(a, b);\n return a || b;\n };\n var flattenRecursive = (param, prop, stack = []) => {\n const objectized = (0, import_array.mergeAndCloneIfArray)(param);\n stack.push(objectized);\n const extendOfExtend = objectized[prop];\n if (extendOfExtend)\n flattenRecursive(extendOfExtend, prop, stack);\n delete objectized[prop];\n return stack;\n };\n var isEqualDeep = (param, element) => {\n if (param === element)\n return true;\n if (!param || !element)\n return false;\n for (const prop in param) {\n const paramProp = param[prop];\n const elementProp = element[prop];\n if ((0, import_types.isObjectLike)(paramProp)) {\n const isEqual = isEqualDeep(paramProp, elementProp);\n if (!isEqual)\n return false;\n } else {\n const isEqual = paramProp === elementProp;\n if (!isEqual)\n return false;\n }\n }\n return true;\n };\n var removeFromObject = (obj, props) => {\n if (props === void 0 || props === null)\n return obj;\n if ((0, import_types.is)(props)(\"string\", \"number\")) {\n delete obj[props];\n } else if ((0, import_types.isArray)(props)) {\n props.forEach((prop) => delete obj[prop]);\n } else {\n throw new Error(\"Invalid input: props must be a string or an array of strings\");\n }\n return obj;\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/function.js\nvar require_function = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/function.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var function_exports = {};\n __export2(function_exports, {\n debounce: () => debounce,\n memoize: () => memoize\n });\n module2.exports = __toCommonJS2(function_exports);\n var debounce = (element, func, timeout = 300) => {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(element, args);\n }, timeout);\n };\n };\n var memoize = (fn) => {\n const cache = {};\n return (...args) => {\n const n = args[0];\n if (n in cache) {\n return cache[n];\n } else {\n const result = fn(n);\n cache[n] = result;\n return result;\n }\n };\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/log.js\nvar require_log = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/log.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var log_exports = {};\n __export2(log_exports, {\n logGroupIf: () => logGroupIf,\n logIf: () => logIf\n });\n module2.exports = __toCommonJS2(log_exports);\n var logIf = (bool, ...arg) => {\n if (bool)\n arg.map((v) => console.log(v));\n };\n var logGroupIf = (bool, key, ...arg) => {\n if (bool) {\n console.group(key);\n arg.map((v) => console.log(v));\n console.groupEnd(key);\n }\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/index.js\nvar require_cjs4 = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, \"default\"), secondTarget && __copyProps2(secondTarget, mod, \"default\"));\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var utils_exports2 = {};\n module2.exports = __toCommonJS2(utils_exports2);\n __reExport(utils_exports2, require_cjs2(), module2.exports);\n __reExport(utils_exports2, require_types(), module2.exports);\n __reExport(utils_exports2, require_object(), module2.exports);\n __reExport(utils_exports2, require_function(), module2.exports);\n __reExport(utils_exports2, require_array(), module2.exports);\n __reExport(utils_exports2, require_node(), module2.exports);\n __reExport(utils_exports2, require_log(), module2.exports);\n }\n});\n\n// src/index.js\nvar src_exports = {};\n__export(src_exports, {\n ANIMATION: () => ANIMATION,\n BREAKPOINTS: () => BREAKPOINTS,\n CASES: () => CASES,\n COLOR: () => COLOR,\n CONFIG: () => CONFIG,\n CSS_VARS: () => CSS_VARS,\n DEVICES: () => DEVICES,\n DOCUMENT: () => DOCUMENT,\n FACTORY: () => FACTORY,\n FONT: () => FONT,\n FONT_FACE: () => FONT_FACE,\n FONT_FAMILY: () => FONT_FAMILY,\n FONT_FAMILY_TYPES: () => FONT_FAMILY_TYPES,\n GRADIENT: () => GRADIENT,\n ICONS: () => ICONS,\n MEDIA: () => MEDIA,\n RESET: () => RESET,\n SEQUENCE: () => SEQUENCE,\n SPACING: () => SPACING,\n SVG: () => SVG,\n SVG_DATA: () => SVG_DATA,\n THEME: () => THEME,\n TIMING: () => TIMING,\n TYPOGRAPHY: () => TYPOGRAPHY,\n UNIT: () => UNIT,\n VALUE_TRANSFORMERS: () => VALUE_TRANSFORMERS,\n activateConfig: () => activateConfig,\n appendIconsSprite: () => appendIconsSprite,\n appendSVGSprite: () => appendSVGSprite,\n applyDocument: () => applyDocument,\n applyHeadings: () => applyHeadings,\n applyReset: () => applyReset,\n applySequenceVars: () => applySequenceVars,\n applySpacingSequence: () => applySpacingSequence,\n applyTimingSequence: () => applyTimingSequence,\n applyTypographySequence: () => applyTypographySequence,\n changeLightness: () => changeLightness,\n colorStringToRgbaArray: () => colorStringToRgbaArray,\n convertSvgToSymbol: () => convertSvgToSymbol,\n findHeadingLetter: () => findHeadingLetter,\n findHeadings: () => findHeadings,\n generateSequence: () => generateSequence,\n generateSprite: () => generateSprite,\n generateSubSequence: () => generateSubSequence,\n getActiveConfig: () => getActiveConfig,\n getColor: () => getColor,\n getColorShade: () => getColorShade,\n getDefaultOrFirstKey: () => getDefaultOrFirstKey,\n getFontFace: () => getFontFace,\n getFontFaceEach: () => getFontFaceEach,\n getFontFaceEachString: () => getFontFaceEachString,\n getFontFaceString: () => getFontFaceString,\n getFontFamily: () => getFontFamily,\n getFontFormat: () => getFontFormat,\n getFontSizeByKey: () => getFontSizeByKey,\n getMediaColor: () => getMediaColor,\n getMediaTheme: () => getMediaTheme,\n getSequenceValue: () => getSequenceValue,\n getSequenceValuePropertyPair: () => getSequenceValuePropertyPair,\n getSpacingBasedOnRatio: () => getSpacingBasedOnRatio,\n getSpacingByKey: () => getSpacingByKey,\n getTheme: () => getTheme,\n getTimingByKey: () => getTimingByKey,\n getTimingFunction: () => getTimingFunction,\n hexToRgb: () => hexToRgb,\n hexToRgbArray: () => hexToRgbArray,\n hexToRgba: () => hexToRgba,\n hslToRgb: () => hslToRgb,\n mixTwoColors: () => mixTwoColors,\n mixTwoRgb: () => mixTwoRgb,\n mixTwoRgba: () => mixTwoRgba,\n numToLetterMap: () => numToLetterMap,\n opacify: () => opacify,\n returnSubThemeOrDefault: () => returnSubThemeOrDefault,\n rgbArrayToHex: () => rgbArrayToHex,\n rgbToHSL: () => rgbToHSL,\n rgbToHex: () => rgbToHex,\n runThroughMedia: () => runThroughMedia,\n scratchSystem: () => system_exports,\n scratchUtils: () => utils_exports,\n set: () => set,\n setActiveConfig: () => setActiveConfig,\n setColor: () => setColor,\n setCustomFont: () => setCustomFont,\n setCustomFontMedia: () => setCustomFontMedia,\n setEach: () => setEach,\n setFont: () => setFont,\n setFontFamily: () => setFontFamily,\n setGradient: () => setGradient,\n setIcon: () => setIcon,\n setInCustomFontMedia: () => setInCustomFontMedia,\n setMediaTheme: () => setMediaTheme,\n setSVG: () => setSVG,\n setTheme: () => setTheme,\n setValue: () => setValue,\n setVariables: () => setVariables,\n splitTransition: () => splitTransition,\n transformBackgroundImage: () => transformBackgroundImage,\n transformBorder: () => transformBorder,\n transformDuration: () => transformDuration,\n transformShadow: () => transformShadow,\n transformTextStroke: () => transformTextStroke,\n transformTransition: () => transformTransition,\n transfromGap: () => transfromGap\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/utils/index.js\nvar utils_exports = {};\n__export(utils_exports, {\n applySequenceVars: () => applySequenceVars,\n changeLightness: () => changeLightness,\n colorStringToRgbaArray: () => colorStringToRgbaArray,\n convertSvgToSymbol: () => convertSvgToSymbol,\n findHeadingLetter: () => findHeadingLetter,\n findHeadings: () => findHeadings,\n generateSequence: () => generateSequence,\n generateSprite: () => generateSprite,\n generateSubSequence: () => generateSubSequence,\n getColorShade: () => getColorShade,\n getDefaultOrFirstKey: () => getDefaultOrFirstKey,\n getFontFace: () => getFontFace,\n getFontFaceEach: () => getFontFaceEach,\n getFontFaceEachString: () => getFontFaceEachString,\n getFontFaceString: () => getFontFaceString,\n getFontFormat: () => getFontFormat,\n getSequenceValue: () => getSequenceValue,\n getSequenceValuePropertyPair: () => getSequenceValuePropertyPair,\n hexToRgb: () => hexToRgb,\n hexToRgbArray: () => hexToRgbArray,\n hexToRgba: () => hexToRgba,\n hslToRgb: () => hslToRgb,\n mixTwoColors: () => mixTwoColors,\n mixTwoRgb: () => mixTwoRgb,\n mixTwoRgba: () => mixTwoRgba,\n numToLetterMap: () => numToLetterMap,\n opacify: () => opacify,\n returnSubThemeOrDefault: () => returnSubThemeOrDefault,\n rgbArrayToHex: () => rgbArrayToHex,\n rgbToHSL: () => rgbToHSL,\n rgbToHex: () => rgbToHex,\n setCustomFont: () => setCustomFont,\n setCustomFontMedia: () => setCustomFontMedia,\n setInCustomFontMedia: () => setInCustomFontMedia,\n setVariables: () => setVariables\n});\n\n// src/utils/color.js\nvar import_globals = __toESM(require_cjs(), 1);\nvar ENV = \"development\";\nvar colorStringToRgbaArray = (color) => {\n if (color === \"\")\n return;\n if (color.toLowerCase() === \"transparent\")\n return [0, 0, 0, 0];\n if (color[0] === \"#\") {\n if (color.length < 7) {\n color = \"#\" + color[1] + color[1] + color[2] + color[2] + color[3] + color[3] + (color.length > 4 ? color[4] + color[4] : \"\");\n }\n return [\n parseInt(color.substr(1, 2), 16),\n parseInt(color.substr(3, 2), 16),\n parseInt(color.substr(5, 2), 16),\n color.length > 7 ? parseInt(color.substr(7, 2), 16) / 255 : 1\n ];\n }\n if (color.indexOf(\"rgb\") === -1) {\n if (import_globals.document && import_globals.window) {\n const elem = import_globals.document.body.appendChild(import_globals.document.createElement(\"fictum\"));\n const flag = \"rgb(1, 2, 3)\";\n elem.style.color = flag;\n if (elem.style.color !== flag)\n return;\n elem.style.color = color;\n if (elem.style.color === flag || elem.style.color === \"\")\n return;\n color = import_globals.window.getComputedStyle(elem).color;\n import_globals.document.body.removeChild(elem);\n }\n }\n if (color.indexOf(\"rgb\") === 0) {\n if (color.indexOf(\"rgba\") === -1)\n color = `${color}, 1`;\n return color.match(/[\\.\\d]+/g).map((a) => +a);\n }\n return [];\n};\nvar mixTwoColors = (colorA, colorB, range = 0.5) => {\n colorA = colorStringToRgbaArray(colorA);\n colorB = colorStringToRgbaArray(colorB);\n return mixTwoRgba(colorA, colorB, range);\n};\nvar hexToRgb = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return `rgb(${r},${g},${b})`;\n};\nvar hexToRgbArray = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return [r, g, b];\n};\nvar rgbToHex = (r, g, b) => {\n return \"#\" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n};\nvar rgbArrayToHex = ([r, g, b]) => {\n return ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n};\nvar hexToRgba = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return `rgba(${r},${g},${b},${alpha})`;\n};\nvar mixTwoRgb = (colorA, colorB, range = 0.5) => {\n const arr = [];\n for (let i = 0; i < 3; i++) {\n arr[i] = ~~(colorA[i] + (colorB[i] - colorA[i]) * range);\n }\n return `rgb(${arr})`;\n};\nvar changeLightness = (delta, hsl) => {\n const [hue, saturation, lightness] = hsl;\n const newLightness = Math.max(\n 0,\n Math.min(100, lightness + parseFloat(delta))\n );\n return [hue, saturation, newLightness];\n};\nvar rgbToHSL = (r, g, b) => {\n const a = Math.max(r, g, b);\n const n = a - Math.min(r, g, b);\n const f = 1 - Math.abs(a + a - n - 1);\n const h = n && (a == r ? (g - b) / n : a == g ? 2 + (b - r) / n : 4 + (r - g) / n);\n return [60 * (h < 0 ? h + 6 : h), f ? n / f : 0, (a + a - n) / 2];\n};\nvar hslToRgb = (h, s, l, a = s * Math.min(l, 1 - l), f = (n, k = (n + h / 30) % 12) => l - a * Math.max(\n Math.min(k - 3, 9 - k, 1),\n -1\n)) => [f(0), f(8), f(4)];\nvar getColorShade = (col, amt) => {\n const num = parseInt(col, 16);\n let r = (num >> 16) + amt;\n if (r > 255)\n r = 255;\n else if (r < 0)\n r = 0;\n let b = (num >> 8 & 255) + amt;\n if (b > 255)\n b = 255;\n else if (b < 0)\n b = 0;\n let g = (num & 255) + amt;\n if (g > 255)\n g = 255;\n else if (g < 0)\n g = 0;\n return (g | b << 8 | r << 16).toString(16);\n};\nvar mixTwoRgba = (colorA, colorB, range = 0.5) => {\n const arr = [];\n for (let i = 0; i < 4; i++) {\n const round = i === 3 ? (x) => x : Math.round;\n arr[i] = round(\n colorA[i] + (colorB[i] - colorA[i]) * range\n );\n }\n return `rgba(${arr})`;\n};\nvar opacify = (color, opacity) => {\n const arr = colorStringToRgbaArray(color);\n if (!arr) {\n if (ENV === \"test\" || ENV === \"development\")\n console.warn(color + \"color is not rgba\");\n return;\n }\n arr[3] = opacity;\n return `rgba(${arr})`;\n};\n\n// src/utils/theme.js\nvar returnSubThemeOrDefault = (orig, theme) => {\n if (!orig)\n return;\n if (orig.themes && orig.themes[theme])\n return orig.themes[theme];\n if (orig[theme])\n return [orig, orig[theme]];\n return orig;\n};\n\n// src/utils/font.js\nvar getDefaultOrFirstKey = (LIBRARY, key) => {\n if (LIBRARY[key])\n return LIBRARY[key].value;\n if (LIBRARY.default)\n return LIBRARY[LIBRARY.default].value;\n const hasValue = Object.keys(LIBRARY)[0];\n return hasValue && LIBRARY[hasValue] && LIBRARY[hasValue].value;\n};\nvar getFontFormat = (url) => url.split(/[#?]/)[0].split(\".\").pop().trim();\nvar setInCustomFontMedia = (str) => `@font-face { ${str} }`;\nvar setCustomFont = (name, url, weight) => `\n font-family: '${name}';\n font-style: normal;\n ${weight && `font-weight: ${weight};`}\n src: url('${url}') format('${getFontFormat(url)}');`;\nvar setCustomFontMedia = (name, url, weight) => `@font-face {\n ${setCustomFont(name, url, weight)}\n}`;\nvar getFontFaceEach = (name, weights) => {\n const keys = Object.keys(weights);\n return keys.map((key) => {\n const { url, fontWeight } = weights[key];\n return setCustomFont(name, url, fontWeight);\n });\n};\nvar getFontFace = (LIBRARY) => {\n const keys = Object.keys(LIBRARY);\n return keys.map((key) => getFontFaceEach(key, LIBRARY[key].value));\n};\nvar getFontFaceEachString = (name, weights) => {\n const isArr = weights[0];\n if (isArr)\n return getFontFaceEach(name, weights).map(setInCustomFontMedia);\n return setCustomFontMedia(name, weights.url);\n};\nvar getFontFaceString = (LIBRARY) => {\n const keys = Object.keys(LIBRARY);\n return keys.map((key) => getFontFaceEachString(key, LIBRARY[key].value));\n};\n\n// src/utils/sequence.js\nvar import_utils4 = __toESM(require_cjs4(), 1);\n\n// ../utils/src/index.js\nvar import_utils2 = __toESM(require_cjs4());\n\n// ../utils/src/scaling.js\nvar import_utils = __toESM(require_cjs4());\n\n// ../utils/src/index.js\nvar toCamelCase = (str) => {\n return str.replace(/(?:^\\w|[A-Z]|\\b\\w)/g, function(word, index) {\n return index === 0 ? word.toLowerCase() : word.toUpperCase();\n }).replaceAll(/\\s+/g, \"\");\n};\nvar toDashCase = (val) => val.replace(/[A-Z]/g, (match, offset) => (offset > 0 ? \"-\" : \"\") + match.toLowerCase()).replace(\".\", \"-\");\nvar arrayzeValue = (val) => {\n if ((0, import_utils2.isString)(val))\n return val.split(\" \");\n if ((0, import_utils2.isObject)(val))\n return Object.keys(val).map((v) => val[v]);\n if ((0, import_utils2.isArray)(val))\n return val;\n};\n\n// src/factory.js\nvar import_utils3 = __toESM(require_cjs4(), 1);\n\n// src/defaultConfig/index.js\nvar defaultConfig_exports = {};\n__export(defaultConfig_exports, {\n ANIMATION: () => ANIMATION,\n BREAKPOINTS: () => BREAKPOINTS,\n CASES: () => CASES,\n COLOR: () => COLOR,\n DEVICES: () => DEVICES,\n DOCUMENT: () => DOCUMENT,\n FONT: () => FONT,\n FONT_FACE: () => FONT_FACE,\n FONT_FAMILY: () => FONT_FAMILY,\n FONT_FAMILY_TYPES: () => FONT_FAMILY_TYPES,\n GRADIENT: () => GRADIENT,\n ICONS: () => ICONS,\n MEDIA: () => MEDIA,\n RESET: () => RESET,\n SEQUENCE: () => SEQUENCE,\n SPACING: () => SPACING,\n SVG: () => SVG,\n SVG_DATA: () => SVG_DATA,\n THEME: () => THEME,\n TIMING: () => TIMING,\n TYPOGRAPHY: () => TYPOGRAPHY,\n UNIT: () => UNIT\n});\n\n// src/defaultConfig/sequence.js\nvar SEQUENCE = {\n \"minor-second\": 1.067,\n \"major-second\": 1.125,\n \"minor-third\": 1.2,\n \"major-third\": 1.25,\n \"perfect-fourth\": 1.333,\n \"augmented-fourth\": 1.414,\n \"perfect-fifth\": 1.5,\n \"minor-sixth\": 1.6,\n phi: 1.618,\n // golden-ratio\n \"major-sixth\": 1.667,\n \"square-root-3\": 1.732,\n // theodorus\n \"minor-seventh\": 1.778,\n \"major-seventh\": 1.875,\n octave: 2,\n \"square-root-5\": 2.23,\n // pythagoras\n \"major-tenth\": 2.5,\n \"major-eleventh\": 2.667,\n \"major-twelfth\": 3,\n pi: 3.14,\n // archimedes\n \"double-octave\": 4\n};\n\n// src/defaultConfig/unit.js\nvar UNIT = {\n default: \"em\"\n};\n\n// src/defaultConfig/typography.js\nvar defaultProps = {\n browserDefault: 16,\n base: 16,\n type: \"font-size\",\n ratio: SEQUENCE[\"minor-third\"],\n range: [-3, 12],\n h1Matches: 6,\n lineHeight: 1.5,\n subSequence: true,\n unit: \"em\",\n templates: {},\n sequence: {},\n scales: {},\n vars: {}\n};\nvar TYPOGRAPHY = defaultProps;\n\n// src/defaultConfig/font.js\nvar FONT = {};\n\n// src/defaultConfig/font-family.js\nvar FONT_FAMILY = {};\nvar FONT_FAMILY_TYPES = {\n \"sans-serif\": \"Helvetica, Arial, sans-serif, --system-default\",\n serif: \"Times New Roman, Georgia, serif, --system-default\",\n monospace: \"Courier New, monospace, --system-default\"\n};\nvar FONT_FACE = {};\n\n// src/defaultConfig/media.js\nvar MEDIA = {\n tv: \"(min-width: 2780px)\",\n screenL: \"(max-width: 1920px)\",\n \"screenL<\": \"(min-width: 1920px)\",\n screenM: \"(max-width: 1680px)\",\n \"screenM<\": \"(min-width: 1680px)\",\n screenS: \"(max-width: 1440px)\",\n \"screenS<\": \"(min-width: 1440px)\",\n tabletL: \"(max-width: 1366px)\",\n \"tabletL<\": \"(min-width: 1366px)\",\n tabletM: \"(max-width: 1280px)\",\n \"tabletM<\": \"(min-width: 1280px)\",\n tabletS: \"(max-width: 1024px)\",\n \"tabletS<\": \"(min-width: 1024px)\",\n mobileL: \"(max-width: 768px)\",\n \"mobileL<\": \"(min-width: 768px)\",\n mobileM: \"(max-width: 560px)\",\n \"mobileM<\": \"(min-width: 560px)\",\n mobileS: \"(max-width: 480px)\",\n \"mobileS<\": \"(min-width: 480px)\",\n mobileXS: \"(max-width: 375px)\",\n \"mobileXS<\": \"(min-width: 375px)\",\n light: \"(prefers-color-scheme: light)\",\n dark: \"(prefers-color-scheme: dark)\",\n print: \"print\"\n};\n\n// src/defaultConfig/spacing.js\nvar defaultProps2 = {\n base: TYPOGRAPHY.base,\n type: \"spacing\",\n ratio: SEQUENCE.phi,\n range: [-5, 15],\n subSequence: true,\n unit: \"em\",\n sequence: {},\n scales: {},\n vars: {}\n};\nvar SPACING = defaultProps2;\n\n// src/defaultConfig/color.js\nvar COLOR = {};\nvar GRADIENT = {};\n\n// src/defaultConfig/theme.js\nvar THEME = {};\n\n// src/defaultConfig/icons.js\nvar ICONS = {};\n\n// src/defaultConfig/timing.js\nvar defaultProps3 = {\n default: 150,\n base: 150,\n type: \"timing\",\n ratio: SEQUENCE[\"perfect-fourth\"],\n range: [-3, 12],\n unit: \"ms\",\n sequence: {},\n scales: {},\n vars: {}\n};\nvar TIMING = defaultProps3;\n\n// src/defaultConfig/document.js\nvar DOCUMENT = {};\n\n// src/defaultConfig/responsive.js\nvar BREAKPOINTS = {\n screenL: 1920,\n screenM: 1680,\n screenS: 1440,\n tabletL: 1366,\n tabletM: 1280,\n tabletS: 1024,\n mobileL: 768,\n mobileM: 560,\n mobileS: 480,\n mobileXS: 375\n};\nvar DEVICES = {\n screenL: [1920, 1024],\n screenM: [1680, 1024],\n screenS: [1440, 978],\n tabletL: [1366, 926],\n tabletM: [1280, 768],\n tabletS: [1024, 768],\n mobileL: [768, 375],\n mobileM: [560, 768],\n mobileS: [480, 768],\n mobileXS: [375, 768]\n};\n\n// src/defaultConfig/cases.js\nvar CASES = {};\n\n// src/defaultConfig/animation.js\nvar ANIMATION = {};\n\n// src/defaultConfig/svg.js\nvar SVG = {};\nvar SVG_DATA = {};\n\n// src/defaultConfig/index.js\nvar RESET = {};\n\n// src/factory.js\nvar CSS_VARS = {};\nvar CONFIG = {\n verbose: false,\n useVariable: true,\n useReset: true,\n CSS_VARS,\n ...defaultConfig_exports\n};\nvar cachedConfig = (0, import_utils3.deepClone)(CONFIG);\nvar FACTORY = {\n active: \"0\",\n 0: CONFIG\n};\nvar activateConfig = (def) => {\n if ((0, import_utils3.isDefined)(def)) {\n FACTORY.active = def;\n }\n return FACTORY[def || FACTORY.active];\n};\nvar getActiveConfig = (def) => {\n return FACTORY[def || FACTORY.active];\n};\nvar setActiveConfig = (newConfig) => {\n if (!(0, import_utils3.isObject)(newConfig))\n return;\n FACTORY.active = \"1\";\n FACTORY[\"1\"] = (0, import_utils3.deepMerge)(newConfig, (0, import_utils3.deepClone)(cachedConfig));\n return newConfig;\n};\n\n// src/utils/sequence.js\nvar numToLetterMap = {\n \"-6\": \"U\",\n \"-5\": \"V\",\n \"-4\": \"W\",\n \"-3\": \"X\",\n \"-2\": \"Y\",\n \"-1\": \"Z\",\n 0: \"A\",\n 1: \"B\",\n 2: \"C\",\n 3: \"D\",\n 4: \"E\",\n 5: \"F\",\n 6: \"G\",\n 7: \"H\",\n 8: \"I\",\n 9: \"J\",\n 10: \"K\",\n 11: \"L\",\n 12: \"M\",\n 13: \"N\",\n 14: \"O\",\n 15: \"P\",\n 16: \"Q\",\n 17: \"R\",\n 18: \"S\",\n 19: \"T\"\n};\nvar setSequenceValue = (props, sequenceProps) => {\n const { key, variable, value, scaling, index } = props;\n sequenceProps.sequence[key] = {\n key,\n decimal: ~~(value * 100) / 100,\n val: ~~value,\n scaling,\n index,\n variable\n };\n sequenceProps.scales[key] = scaling;\n sequenceProps.vars[variable] = scaling + sequenceProps.unit;\n};\nvar generateSubSequence = (props, sequenceProps) => {\n const { key, base, value, ratio, variable, index } = props;\n const next = value * ratio;\n const diff = next - value;\n const smallscale = diff / 1.618;\n const valueRounded = ~~value;\n const nextRounded = ~~next;\n const diffRounded = nextRounded - valueRounded;\n let arr = [];\n const first = next - smallscale;\n const second = value + smallscale;\n const middle = (first + second) / 2;\n if (diffRounded > 16)\n arr = [first, middle, second];\n else\n arr = [first, second];\n arr.map((v, k) => {\n const scaling = ~~(v / base * 1e3) / 1e3;\n const newVar = variable + (k + 1);\n const props2 = {\n key: key + (k + 1),\n variable: newVar,\n value: v,\n scaling,\n index: index + (k + 1) / 10\n };\n return setSequenceValue(props2, sequenceProps);\n });\n};\nvar switchSequenceOnNegative = (key, base, ratio) => {\n return base * Math.pow(ratio, key);\n};\nvar generateSequence = (sequenceProps) => {\n const { type, base, ratio, range, subSequence } = sequenceProps;\n const n = Math.abs(range[0]) + Math.abs(range[1]);\n const prefix = \"--\" + (type && type.replace(\".\", \"-\")) + \"-\";\n for (let i = 0; i <= n; i++) {\n const key = range[1] - i;\n const letterKey = numToLetterMap[key];\n const value = switchSequenceOnNegative(key, base, ratio);\n const scaling = ~~(value / base * 100) / 100;\n const variable = prefix + letterKey;\n const props = {\n key: letterKey,\n variable,\n value,\n base,\n scaling,\n ratio,\n index: key\n };\n setSequenceValue(props, sequenceProps);\n if (subSequence)\n generateSubSequence(props, sequenceProps);\n }\n return sequenceProps;\n};\nvar getSequenceValue = (value = \"A\", sequenceProps) => {\n const CONFIG2 = getActiveConfig();\n const { UNIT: UNIT2 } = CONFIG2;\n const {\n sequence,\n unit = UNIT2.default,\n useVariable\n } = sequenceProps;\n if ((0, import_utils4.isString)(value) && value.slice(0, 2) === \"--\")\n return `var(${value})`;\n const prefix = `--${toDashCase(sequenceProps.type.replace(\".\", \"-\"))}-`;\n const startsWithDashOrLetterRegex = /^-?[a-zA-Z]/i;\n const startsWithDashOrLetter = startsWithDashOrLetterRegex.test(value);\n if (value === \"none\" || value === \"auto\" || value === \"unset\" || value === \"inherit\" || value === \"fit-content\" || value === \"min-content\" || value === \"max-content\" || value.includes(\"calc\") || !startsWithDashOrLetter)\n return value;\n const letterVal = value.toUpperCase();\n const isNegative = letterVal.slice(0, 1) === \"-\" ? \"-\" : \"\";\n let absValue = isNegative ? letterVal.slice(1) : letterVal;\n let mediaName = \"\";\n if (absValue.includes(\"-\")) {\n mediaName = \"-\" + absValue.split(\"-\")[1].toLowerCase();\n absValue = absValue.split(\"-\")[0];\n }\n const varValue = (v) => `var(${prefix}${v}${mediaName})`;\n if (absValue.includes(\"+\")) {\n const args = absValue.split(\"+\");\n const [first, second] = args;\n const joint = `${varValue(first)} + ${varValue(second)}`;\n return isNegative ? `calc((${joint}) * -1)` : `calc(${joint})`;\n } else if (absValue.includes(\"-\")) {\n const args = absValue.split(\"-\");\n const [first, second] = args;\n const joint = `${varValue(first)} - ${varValue(second)}`;\n return isNegative ? `calc((${joint}) * -1)` : `calc(${joint})`;\n }\n if (!sequence[absValue] && absValue.length === 2) {\n if (CONFIG2.verbose)\n console.warn(absValue, \"- value is not found because `subSequence` is set to false\");\n absValue = absValue.slice(0, 1);\n }\n if (useVariable || CONFIG2.useVariable) {\n const varValue2 = `var(${prefix}${absValue}${mediaName})`;\n return isNegative ? `calc(${varValue2} * -1)` : varValue2;\n }\n const sequenceItem = sequence ? sequence[absValue] : null;\n if (!sequenceItem)\n return console.warn(\"can't find\", sequence, absValue);\n if (unit === \"ms\" || unit === \"s\") {\n return isNegative + sequenceItem.val + unit;\n }\n return isNegative + sequenceItem.scaling + unit;\n};\nvar getSequenceValuePropertyPair = (value, propertyName, sequenceProps) => {\n if (typeof value !== \"string\") {\n console.warn(propertyName, value, \"is not a string\");\n return {};\n }\n if (value === \"-\" || value === \"\")\n return {};\n return { [propertyName]: getSequenceValue(value, sequenceProps) };\n};\nvar findHeadingLetter = (h1Matches, index) => numToLetterMap[h1Matches - index];\nvar findHeadings = (propertyNames) => {\n const { h1Matches, sequence } = propertyNames;\n return new Array(6).fill(null).map((_, i) => {\n const findLetter = findHeadingLetter(h1Matches, i);\n return sequence[findLetter];\n });\n};\n\n// src/utils/var.js\nvar import_utils6 = __toESM(require_cjs4(), 1);\nvar setVariables = (result, key) => {\n const CONFIG2 = getActiveConfig();\n const { CSS_VARS: CSS_VARS2 } = CONFIG2;\n if ((0, import_utils6.isObjectLike)(result.value)) {\n } else {\n CSS_VARS2[result.var] = result.value;\n }\n};\nvar applySequenceVars = (props, mediaName, options = {}) => {\n const CONFIG2 = getActiveConfig();\n const { UNIT: UNIT2, MEDIA: MEDIA2, TIMING: TIMING2, CSS_VARS: CSS_VARS2 } = CONFIG2;\n const unit = props.unit || UNIT2.default;\n const { sequence, scales } = props;\n for (const key in sequence) {\n const item = sequence[key];\n const value = (props.type === TIMING2.type ? sequence[key].val : scales[key]) + unit;\n if (mediaName) {\n const query = MEDIA2[mediaName];\n if (!query) {\n if (CONFIG2.verbose)\n console.warn(\"Can't find query \", query);\n }\n let underMediaQuery = CSS_VARS2[`@media ${query}`];\n if (!underMediaQuery)\n underMediaQuery = CSS_VARS2[`@media ${query}`] = {};\n underMediaQuery[item.variable] = `var(${item.variable + \"-\" + mediaName})`;\n CSS_VARS2[item.variable + \"-\" + mediaName] = value;\n } else {\n if (options.useDefault === false) {\n CSS_VARS2[item.variable] = value;\n } else {\n CSS_VARS2[item.variable + \"-default\"] = value;\n CSS_VARS2[item.variable] = `var(${item.variable + \"-default\"})`;\n }\n }\n }\n};\n\n// src/utils/sprite.js\nvar import_utils7 = __toESM(require_cjs4(), 1);\nvar generateSprite = (icons) => {\n const CONFIG2 = getActiveConfig();\n let sprite = \"\";\n for (const key in icons) {\n if (CONFIG2.__svg_cache[key])\n continue;\n else\n CONFIG2.__svg_cache[key] = true;\n sprite += icons[key];\n }\n return sprite;\n};\nvar parseRootAttributes = (htmlString) => {\n if (!(0, import_utils7.isString)(htmlString)) {\n return console.warn(`parseRootAttributes: ${htmlString} is not a string`);\n }\n const match = htmlString.match(/<svg\\s+(.*?)>/);\n if (!match || !match[1]) {\n return {};\n }\n const attrString = match[1];\n const attrs = attrString.match(/(\\S+)=[\"']?((?:.(?![\"']?\\s+(?:\\S+)=|\\s*\\/?[>\"']))+.)[\"']?/gm);\n return attrs.reduce((acc, attr) => {\n const [key, value] = attr.split(\"=\");\n acc[key] = value.replace(/['\"]/g, \"\");\n return acc;\n }, {});\n};\nvar replaceIdsAndUrls = (code, key) => {\n const idRegex = /id=\"([^\"]*)\"/;\n const urlRegex = /url\\(#([^)]*)\\)/g;\n const matches = code.match(/id=\"([^\"]*)\"/g);\n let replacedCode = code;\n if ((0, import_utils7.isArray)(matches)) {\n matches.forEach(() => {\n const randomKey = Math.floor(Math.random() * 1e5);\n replacedCode = code.replace(idRegex, `id=\"${key}-${randomKey}\"`).replace(urlRegex, `url(#${key}-${randomKey})`);\n });\n }\n return replacedCode;\n};\nvar convertSvgToSymbol = (key, code) => {\n const extractAttrs = parseRootAttributes(code);\n const { width, height } = extractAttrs;\n const viewBox = extractAttrs.viewBox || `0 0 ${width || 24} ${height || 24}`;\n const xmlns = \"http://www.w3.org/2000/svg\";\n const replacedCode = replaceIdsAndUrls(code, key);\n let symbol = replacedCode.replace(\n \"<svg\",\n `<symbol id=\"${key}\" xmlns=\"${xmlns}\" viewBox=\"${viewBox}\"`\n );\n symbol = symbol.replace(/width=\"[^\"]*\"/, \"\");\n symbol = symbol.replace(/height=\"[^\"]*\"/, \"\");\n symbol = symbol.replace(\"</svg\", \"</symbol\");\n return symbol;\n};\n\n// src/system/index.js\nvar system_exports = {};\n__export(system_exports, {\n appendIconsSprite: () => appendIconsSprite,\n appendSVGSprite: () => appendSVGSprite,\n applyDocument: () => applyDocument,\n applyHeadings: () => applyHeadings,\n applyReset: () => applyReset,\n applySpacingSequence: () => applySpacingSequence,\n applyTimingSequence: () => applyTimingSequence,\n applyTypographySequence: () => applyTypographySequence,\n getColor: () => getColor,\n getFontFamily: () => getFontFamily,\n getFontSizeByKey: () => getFontSizeByKey,\n getMediaColor: () => getMediaColor,\n getMediaTheme: () => getMediaTheme,\n getSpacingBasedOnRatio: () => getSpacingBasedOnRatio,\n getSpacingByKey: () => getSpacingByKey,\n getTheme: () => getTheme,\n getTimingByKey: () => getTimingByKey,\n getTimingFunction: () => getTimingFunction,\n runThroughMedia: () => runThroughMedia,\n setColor: () => setColor,\n setFont: () => setFont,\n setFontFamily: () => setFontFamily,\n setGradient: () => setGradient,\n setIcon: () => setIcon,\n setMediaTheme: () => setMediaTheme,\n setSVG: () => setSVG,\n setTheme: () => setTheme\n});\n\n// src/system/color.js\nvar import_utils8 = __toESM(require_cjs4(), 1);\nvar getColor = (value, key, config) => {\n const CONFIG2 = config || getActiveConfig();\n if (!(0, import_utils8.isString)(value)) {\n if (CONFIG2.verbose)\n console.warn(value, \"- type for color is not valid\");\n return;\n }\n if (value.slice(0, 2) === \"--\")\n return `var(${value})`;\n if (key && value[key])\n value = value[key];\n const [name, alpha, tone] = (0, import_utils8.isArray)(value) ? value : value.split(\" \");\n const { COLOR: COLOR2, GRADIENT: GRADIENT2 } = CONFIG2;\n let val = COLOR2[name] || GRADIENT2[name];\n if (!val) {\n if (CONFIG2.verbose)\n console.warn(\"Can't find color \", name);\n return value;\n }\n if (key) {\n if (val[key])\n val = val[key];\n else if (CONFIG2.verbose)\n console.warn(value, \" - does not have \", key);\n }\n let rgb = val.rgb;\n if (!rgb)\n return CONFIG2.useVariable ? `var(${val.var})` : val.value;\n if (tone && !val[tone]) {\n const toHex = rgbArrayToHex(rgb.split(\", \").map((v) => parseFloat(v)));\n const abs = tone.slice(0, 1);\n if (abs === \"-\" || abs === \"+\") {\n rgb = hexToRgbArray(\n getColorShade(toHex, parseFloat(tone))\n ).join(\", \");\n } else {\n const [r, g, b] = [...rgb.split(\", \").map((v) => parseInt(v))];\n const hsl = rgbToHSL(r, g, b);\n const [h, s, l] = hsl;\n const newRgb = hslToRgb(h, s, parseFloat(tone) / 100 * 255);\n rgb = newRgb;\n }\n val[tone] = { rgb, var: `${val.var}-${tone}` };\n }\n if (val[tone])\n rgb = val[tone].rgb;\n if (alpha)\n return `rgba(${rgb}, ${alpha})`;\n return CONFIG2.useVariable ? `var(${val.var})` : `rgb(${rgb})`;\n};\nvar getMediaColor = (value, globalTheme, config) => {\n const CONFIG2 = config || getActiveConfig();\n if (!globalTheme)\n globalTheme = CONFIG2.globalTheme;\n if (!(0, import_utils8.isString)(value)) {\n if (CONFIG2.verbose)\n console.warn(value, \"- type for color is not valid\");\n return;\n }\n if (value.slice(0, 2) === \"--\")\n return `var(${value})`;\n const [name] = (0, import_utils8.isArray)(value) ? value : value.split(\" \");\n const { COLOR: COLOR2, GRADIENT: GRADIENT2 } = CONFIG2;\n const val = COLOR2[name] || GRADIENT2[name];\n const isObj = (0, import_utils8.isObject)(val);\n if (isObj && val.value)\n return getColor(value, `@${globalTheme}`, config);\n else if (isObj) {\n if (globalTheme)\n return getColor(value, `@${globalTheme}`, config);\n else {\n const obj = {};\n for (const mediaName in val) {\n const query = CONFIG2.MEDIA[mediaName.slice(1)];\n const media = `@media screen and ${query}`;\n obj[media] = getColor(value, mediaName, config);\n }\n return obj;\n }\n } else {\n if (CONFIG2.verbose)\n console.warn(\"Can't find color\", value);\n return value;\n }\n};\nvar setColor = (val, key, suffix) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils8.isString)(val) && val.slice(0, 2) === \"--\")\n val = getColor(val.slice(2));\n if ((0, import_utils8.isArray)(val)) {\n return {\n \"@light\": setColor(val[0], key, \"light\"),\n \"@dark\": setColor(val[1], key, \"dark\")\n };\n }\n if ((0, import_utils8.isObject)(val)) {\n const obj = {};\n for (const variant in val)\n obj[variant] = setColor(val[variant], key, variant.slice(0, 1) === \"@\" ? variant.slice(1) : variant);\n return obj;\n }\n const CSSVar = `--color-${key}` + (suffix ? `-${suffix}` : \"\");\n const [r, g, b, a = 1] = colorStringToRgbaArray(val.value || val);\n const alpha = parseFloat(a.toFixed(2));\n const rgb = `${r}, ${g}, ${b}`;\n const value = `rgba(${rgb}, ${alpha})`;\n if (CONFIG2.useVariable) {\n CONFIG2.CSS_VARS[CSSVar] = value;\n }\n return {\n var: CSSVar,\n rgb,\n alpha,\n value\n };\n};\nvar setGradient = (val, key, suffix) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils8.isString)(val) && val.slice(0, 2) === \"--\")\n val = getColor(val.slice(2));\n if ((0, import_utils8.isArray)(val)) {\n return {\n \"@light\": setGradient(val[0], key, \"light\"),\n \"@dark\": setGradient(val[0], key, \"dark\")\n };\n }\n if ((0, import_utils8.isObject)(val)) {\n const obj = {};\n for (const variant in val)\n obj[variant] = setGradient(val[variant], key, variant.slice(0, 1) === \"@\" ? variant.slice(1) : variant);\n return obj;\n }\n const CSSVar = `--gradient-${key}` + (suffix ? `-${suffix}` : \"\");\n if (CONFIG2.useVariable) {\n CONFIG2.CSS_VARS[CSSVar] = val.value || val;\n }\n return {\n var: CSSVar,\n value: val.value || val\n };\n};\n\n// src/system/theme.js\nvar import_utils10 = __toESM(require_cjs4(), 1);\nvar setThemeValue = (theme) => {\n const value = {};\n const { state, media, helpers, ...rest } = theme;\n const keys = Object.keys(rest);\n keys.map((key) => {\n const conditions = [\"color\", \"Color\", \"background\", \"border\"];\n const isColor = conditions.some((k) => key.includes(k));\n return value[key] = isColor ? getColor(theme[key]) : theme[key];\n });\n return value;\n};\nvar getThemeValue = (theme) => {\n if (theme.value)\n return theme.value;\n theme.value = setThemeValue(theme);\n return theme.value;\n};\nvar getTheme = (value, modifier) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useVariable)\n return getMediaTheme(value, modifier);\n const { THEME: THEME2 } = CONFIG2;\n if ((0, import_utils10.isString)(value)) {\n const [theme, subtheme] = value.split(\" \");\n const isOurTheme = THEME2[theme];\n if (isOurTheme) {\n if (!subtheme && !modifier)\n return getThemeValue(isOurTheme);\n value = [theme, subtheme || modifier];\n }\n }\n if ((0, import_utils10.isObjectLike)(value) && value[1]) {\n const themeName = value[0];\n const subThemeName = value[1];\n const { helpers, media, state } = THEME2[themeName];\n if (media && media[subThemeName])\n return getThemeValue(media[subThemeName]);\n if (helpers && helpers[subThemeName])\n return getThemeValue(helpers[subThemeName]);\n if (state && state[subThemeName])\n return getThemeValue(state[subThemeName]);\n } else if ((0, import_utils10.isObject)(value))\n return setThemeValue(value);\n};\nvar setInverseTheme = (theme, variant, value) => {\n if ((0, import_utils10.isObject)(variant)) {\n theme.variants.inverse.value = setThemeValue(variant);\n } else if (variant === true) {\n const { color, background } = value;\n theme.variants.inverse = {\n value: {\n color: background,\n background: color\n }\n };\n }\n};\nvar setPseudo = (theme, key, variant, themeValue) => {\n const result = getTheme(variant);\n themeValue[`&:${key}`] = result;\n if ((0, import_utils10.isObject)(variant) && !variant.value)\n variant.value = result;\n};\nvar setSelectors = (theme, value) => {\n const { state } = theme;\n if (!state)\n return;\n const keys = Object.keys(state);\n keys.map((key) => {\n const variant = state[key];\n setPseudo(theme, key, variant, value);\n return theme;\n });\n return theme;\n};\nvar setPrefersScheme = (theme, key, variant, themeValue) => {\n const result = getTheme(variant);\n themeValue[`@media (prefers-color-scheme: ${key})`] = result;\n if ((0, import_utils10.isObject)(variant) && !variant.value)\n variant.value = result;\n};\nvar setMedia = (theme, value) => {\n const { media } = theme;\n if (!media)\n return;\n const keys = Object.keys(media);\n keys.map((key) => {\n const variant = media[key];\n if (key === \"dark\" || key === \"light\")\n setPrefersScheme(theme, key, variant, value);\n if (key === \"inverse\")\n setInverseTheme(theme, variant, value);\n return theme;\n });\n return theme;\n};\nvar setHelpers = (theme, value) => {\n const CONFIG2 = getActiveConfig();\n const { helpers } = theme;\n if (!helpers)\n return;\n const keys = Object.keys(helpers);\n keys.map((key) => {\n const helper = helpers[key];\n if ((0, import_utils10.isString)(helper))\n helpers[key] = CONFIG2.THEME[helper];\n else\n getThemeValue(helpers[key]);\n return theme;\n });\n return theme;\n};\nvar setTheme = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useVariable)\n return setMediaTheme(val, key);\n const { state, media, helpers } = val;\n const value = setThemeValue(val, key);\n const CSSvar = `--theme-${key}`;\n setSelectors(val, value);\n setMedia(val, value);\n setHelpers(val, value);\n return { var: CSSvar, value, state, media, helpers };\n};\nvar setMediaTheme = (val, key, suffix, prefers) => {\n const CONFIG2 = getActiveConfig();\n const { CSS_VARS: CSS_VARS2 } = CONFIG2;\n const theme = { value: val };\n if ((0, import_utils10.isObjectLike)(val)) {\n for (const param in val) {\n const symb = param.slice(0, 1);\n const value = val[param];\n if (symb === \"@\" || symb === \":\" || symb === \".\") {\n const hasPrefers = symb === \"@\" && param;\n theme[param] = setMediaTheme(value, key, param, prefers || hasPrefers);\n } else {\n const color = getColor(value, prefers);\n const metaSuffixes = [...new Set([prefers, suffix].filter((v) => v).map((v) => v.slice(1)))];\n const varmetaSuffixName = metaSuffixes.length ? \"-\" + metaSuffixes.join(\"-\") : \"\";\n const CSSVar = `--theme-${key}${varmetaSuffixName}-${param}`;\n if (CONFIG2.useVariable) {\n CSS_VARS2[CSSVar] = color;\n theme[param] = `var(${CSSVar})`;\n } else {\n theme[param] = color;\n }\n theme[`.${param}`] = { [param]: theme[param] };\n }\n }\n if (theme.background || theme.color || theme.backgroundColor) {\n theme[\".inversed\"] = {\n color: theme.background || theme.backgroundColor,\n background: theme.color\n };\n }\n }\n if ((0, import_utils10.isString)(val) && val.slice(0, 2) === \"--\") {\n const { THEME: THEME2 } = CONFIG2;\n const value = THEME2[val.slice(2)];\n const getReferenced = getMediaTheme(value, prefers);\n return getReferenced;\n }\n return theme;\n};\nvar recursiveTheme = (val) => {\n const CONFIG2 = getActiveConfig();\n const obj = {};\n for (const param in val) {\n const symb = param.slice(0, 1);\n if ((0, import_utils10.isObjectLike)(val[param])) {\n if (symb === \"@\") {\n const query = CONFIG2.MEDIA[param.slice(1)];\n const media = `@media screen and ${query}`;\n obj[media] = recursiveTheme(val[param]);\n } else if (symb === \":\") {\n obj[`&${param}`] = recursiveTheme(val[param]);\n }\n } else\n obj[param] = val[param];\n }\n return obj;\n};\nvar findModifierFromArray = (val, modifierArray) => {\n const currentMod = modifierArray.shift();\n if (val[currentMod])\n return findModifierFromArray(val[currentMod], modifierArray);\n return val;\n};\nvar findModifier = (val, modifier) => {\n if ((0, import_utils10.isArray)(modifier))\n return findModifierFromArray(val, modifier);\n else if ((0, import_utils10.isString)(modifier) && val[modifier])\n return val[modifier];\n else\n return val;\n};\nvar getMediaTheme = (val, mod) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils10.isString)(val) && val.slice(0, 2) === \"--\")\n val = getMediaTheme(val.slice(2));\n if (!val || !(0, import_utils10.isString)(val)) {\n if (CONFIG2.verbose)\n console.warn(val, \"- theme is not string\");\n return;\n }\n const [name, ...modifier] = (0, import_utils10.isArray)(val) ? val : val.split(\" \");\n let value = CONFIG2.THEME[name];\n if (value && (modifier || mod)) {\n value = findModifier(value, modifier.length ? modifier : mod);\n }\n const r = recursiveTheme(value);\n return r;\n};\n\n// src/system/font.js\nvar import_utils11 = __toESM(require_cjs4(), 1);\nvar setFont = (val, key) => {\n const CSSvar = `--font-${key}`;\n const fontFace = val[0] ? getFontFaceEach(key, val) : setCustomFontMedia(key, val.url);\n return { var: CSSvar, value: val, fontFace };\n};\nvar getFontFamily = (key, factory) => {\n const CONFIG2 = getActiveConfig();\n const { FONT_FAMILY: FONT_FAMILY2 } = CONFIG2;\n return getDefaultOrFirstKey(factory || FONT_FAMILY2, key);\n};\nvar setFontFamily = (val, key) => {\n const CONFIG2 = getActiveConfig();\n const { FONT_FAMILY: FONT_FAMILY2, FONT_FAMILY_TYPES: FONT_FAMILY_TYPES2 } = CONFIG2;\n let { value, type } = val;\n if (val.isDefault)\n FONT_FAMILY2.default = key;\n if ((0, import_utils11.isObject)(value))\n value = arrayzeValue(value);\n const CSSvar = `--font-family-${key}`;\n const str = `${value.join(\", \")}, ${FONT_FAMILY_TYPES2[type]}`;\n return { var: CSSvar, value: str, arr: value, type };\n};\n\n// src/system/typography.js\nvar import_utils14 = __toESM(require_cjs4(), 1);\nvar runThroughMedia = (props) => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2, MEDIA: MEDIA2 } = CONFIG2;\n for (const prop in props) {\n const mediaProps = props[prop];\n if (prop.slice(0, 1) === \"@\") {\n const { type, base, ratio, range, subSequence, h1Matches, unit } = props;\n (0, import_utils14.merge)(mediaProps, {\n type,\n base,\n ratio,\n range,\n subSequence,\n h1Matches,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n });\n generateSequence(mediaProps);\n const mediaName = prop.slice(1);\n applySequenceVars(mediaProps, mediaName);\n const query = MEDIA2[mediaName];\n TYPOGRAPHY2.templates[`@media screen and ${query}`] = {\n fontSize: mediaProps.base / TYPOGRAPHY2.browserDefault + unit\n };\n }\n }\n};\nvar applyHeadings = (props) => {\n const CONFIG2 = getActiveConfig();\n if (props.h1Matches) {\n const unit = props.unit;\n const HEADINGS = findHeadings(props);\n const { templates } = props;\n for (const k in HEADINGS) {\n const headerName = `h${parseInt(k) + 1}`;\n const headerStyle = templates[headerName];\n templates[headerName] = {\n fontSize: CONFIG2.useVariable ? `var(${HEADINGS[k].variable})` : `${HEADINGS[k].scaling}${unit}`,\n margin: headerStyle ? headerStyle.margin : 0,\n lineHeight: headerStyle ? headerStyle.lineHeight : props.lineHeight,\n letterSpacing: headerStyle ? headerStyle.letterSpacing : props.letterSpacing,\n fontWeight: headerStyle ? headerStyle.fontWeight : 900 - k * 100\n };\n }\n }\n};\nvar applyTypographySequence = () => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n generateSequence(TYPOGRAPHY2);\n applyHeadings(TYPOGRAPHY2);\n applySequenceVars(TYPOGRAPHY2);\n runThroughMedia(TYPOGRAPHY2);\n};\nvar getFontSizeByKey = (value) => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n return getSequenceValuePropertyPair(\n value,\n \"fontSize\",\n TYPOGRAPHY2\n );\n};\n\n// src/system/spacing.js\nvar import_utils17 = __toESM(require_cjs4(), 1);\nvar runThroughMedia2 = (sequenceProps) => {\n for (const prop in sequenceProps) {\n const mediaProps = sequenceProps[prop];\n if (prop.slice(0, 1) === \"@\") {\n const { type, base, ratio, range, subSequence, h1Matches, unit } = sequenceProps;\n (0, import_utils17.merge)(mediaProps, {\n type,\n base,\n ratio,\n range,\n subSequence,\n h1Matches,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n });\n generateSequence(mediaProps);\n const mediaName = prop.slice(1);\n applySequenceVars(mediaProps, mediaName);\n }\n }\n};\nvar applySpacingSequence = () => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n generateSequence(SPACING2);\n applySequenceVars(SPACING2);\n runThroughMedia2(SPACING2);\n};\nvar getSequence = (sequenceProps) => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n if (!sequenceProps)\n return SPACING2;\n const hasGenerated = Object.keys(sequenceProps.sequence).length > 0;\n return hasGenerated ? sequenceProps : generateSequence(sequenceProps);\n};\nvar getSpacingByKey = (value, propertyName = \"padding\", sequenceProps) => {\n const sequence = getSequence(sequenceProps);\n const stack = arrayzeValue(value);\n if (!stack)\n return;\n if ((0, import_utils17.isString)(value) && value.includes(\"calc\")) {\n return { [propertyName]: value };\n }\n if (stack.length > 1) {\n let suffix = \"\";\n if (propertyName === \"borderWidth\") {\n propertyName = \"border\";\n suffix = \"Width\";\n }\n const directions = {\n 2: [\"Block\", \"Inline\"],\n 3: [\"BlockStart\", \"Inline\", \"BlockEnd\"],\n 4: [\"BlockStart\", \"InlineEnd\", \"BlockEnd\", \"InlineStart\"]\n };\n const wrapSequenceValueByDirection = (direction, i) => getSequenceValuePropertyPair(\n stack[i],\n propertyName + direction + suffix,\n sequence\n );\n return directions[stack.length].map((dir, key) => wrapSequenceValueByDirection(dir, key));\n }\n return getSequenceValuePropertyPair(\n value,\n propertyName,\n sequence\n );\n};\nvar getSpacingBasedOnRatio = (props, propertyName, val) => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n const { spacingRatio, unit } = props;\n const value = val || props[propertyName];\n if (spacingRatio) {\n let sequenceProps = SPACING2[spacingRatio];\n if (!sequenceProps) {\n const { type, base, range, subSequence } = SPACING2;\n sequenceProps = SPACING2[spacingRatio] = (0, import_utils17.merge)({\n ratio: spacingRatio,\n type: type + \"-\" + spacingRatio,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n }, {\n base,\n range,\n subSequence,\n ratio: SPACING2.ratio,\n unit: SPACING2.unit\n });\n }\n applySequenceVars(sequenceProps, null, { useDefault: false });\n return getSpacingByKey(value, propertyName, sequenceProps);\n }\n return getSpacingByKey(value, propertyName);\n};\n\n// src/system/timing.js\nvar applyTimingSequence = () => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n generateSequence(TIMING2);\n applySequenceVars(TIMING2);\n};\nvar getTimingFunction = (value) => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n return TIMING2[value] || TIMING2[toCamelCase(value)] || value;\n};\nvar getTimingByKey = (value, property = \"timing\") => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n return getSequenceValuePropertyPair(\n value,\n property,\n TIMING2\n );\n};\n\n// src/system/document.js\nvar import_utils21 = __toESM(require_cjs4(), 1);\nvar applyDocument = () => {\n const CONFIG2 = getActiveConfig();\n const { DOCUMENT: DOCUMENT2, FONT_FAMILY: FONT_FAMILY2, THEME: THEME2, TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n return (0, import_utils21.merge)(DOCUMENT2, {\n theme: THEME2.document,\n fontFamily: getDefaultOrFirstKey(FONT_FAMILY2),\n fontSize: TYPOGRAPHY2.base,\n lineHeight: TYPOGRAPHY2.lineHeight\n });\n};\n\n// src/system/svg.js\nvar import_globals2 = __toESM(require_cjs(), 1);\nvar DEF_OPTIONS = {\n document: import_globals2.document\n};\nvar setSVG = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (!val) {\n if (CONFIG2.verbose)\n console.warn(\"setSVG: val is not defined\", key);\n return;\n }\n if (CONFIG2.useSvgSprite) {\n return convertSvgToSymbol(key, val);\n }\n return val;\n};\nvar appendSVGSprite = (LIBRARY, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const lib = Object.keys(LIBRARY).length ? {} : CONFIG2.SVG;\n for (const key in LIBRARY)\n lib[key] = CONFIG2.SVG[key];\n appendSVG(lib, options);\n};\nvar setIcon = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useIconSprite) {\n return setSVG(val, key);\n }\n return val;\n};\nvar appendIconsSprite = (LIBRARY, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const lib = Object.keys(LIBRARY).length ? {} : CONFIG2.ICONS;\n for (const key in LIBRARY)\n lib[key] = CONFIG2.ICONS[key];\n appendSVG(lib, options);\n};\nvar createSVGSpriteElement = (options = { isRoot: true }) => {\n if (!import_globals2.document || !import_globals2.document.createElementNS)\n return;\n const svgElem = import_globals2.document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n if (options.isRoot) {\n svgElem.setAttribute(\"aria-hidden\", \"true\");\n svgElem.setAttribute(\"width\", \"0\");\n svgElem.setAttribute(\"height\", \"0\");\n svgElem.setAttribute(\"style\", \"position:absolute\");\n svgElem.setAttribute(\"id\", \"svgSprite\");\n }\n return svgElem;\n};\nvar appendSVG = (lib, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const doc = options.document || import_globals2.document;\n if (!doc || !doc.documentElement) {\n if (CONFIG2.verbose) {\n console.warn(\"To append SVG sprites it should be run in browser environment\");\n }\n return generateSprite(lib);\n }\n const exists = doc.querySelector(\"#svgSprite\");\n const SVGsprite = generateSprite(lib);\n if (exists) {\n const tempSVG = createSVGSpriteElement({ isRoot: false });\n tempSVG.innerHTML = SVGsprite;\n exists.append(...tempSVG.children);\n } else {\n const svgSpriteDOM = createSVGSpriteElement();\n if (svgSpriteDOM && svgSpriteDOM.nodeType) {\n svgSpriteDOM.innerHTML = SVGsprite;\n doc.body.prepend(svgSpriteDOM);\n }\n }\n};\n\n// src/system/reset.js\nvar import_utils24 = __toESM(require_cjs4(), 1);\nvar applyReset = (reset = {}) => {\n const CONFIG2 = getActiveConfig();\n const { RESET: RESET2, TYPOGRAPHY: TYPOGRAPHY2, DOCUMENT: DOCUMENT2 } = CONFIG2;\n if (RESET2) {\n if (RESET2[\":root\"]) {\n const configReset = RESET2;\n const configTemplates = TYPOGRAPHY2.templates;\n configReset.body = {\n ...CONFIG2.useDocumentTheme ? getMediaTheme(\"document\", `@${CONFIG2.globalTheme}`) : {},\n ...configTemplates.body\n };\n configReset.h1 = configTemplates.h1;\n configReset.h2 = configTemplates.h2;\n configReset.h3 = configTemplates.h3;\n configReset.h4 = configTemplates.h4;\n configReset.h5 = configTemplates.h5;\n configReset.h6 = configTemplates.h6;\n }\n const { body, ...templates } = TYPOGRAPHY2.templates;\n return (0, import_utils24.deepMerge)((0, import_utils24.merge)(RESET2, reset), {\n html: {\n position: \"absolute\",\n // overflow: 'hidden',\n width: \"100%\",\n height: \"100%\",\n top: \"0\",\n left: \"0\",\n margin: \"0\",\n WebkitFontSmoothing: \"subpixel-antialiased\",\n scrollBehavior: \"smooth\",\n fontSize: TYPOGRAPHY2.browserDefault + \"px\",\n ...CONFIG2.useDocumentTheme ? getMediaTheme(\"document\", `@${CONFIG2.globalTheme}`) : {},\n fontFamily: DOCUMENT2.fontFamily,\n lineHeight: DOCUMENT2.lineHeight\n },\n body: {\n boxSizing: \"border-box\",\n height: \"100%\",\n margin: 0,\n fontFamily: DOCUMENT2.fontFamily,\n fontSize: TYPOGRAPHY2.base / TYPOGRAPHY2.browserDefault + CONFIG2.UNIT.default,\n ...templates,\n ...body\n },\n // form elements\n fieldset: {\n border: 0,\n padding: 0,\n margin: 0\n },\n \"select, input\": {\n fontFamily: DOCUMENT2.fontFamily\n }\n });\n }\n};\n\n// src/transforms/index.js\nvar import_utils25 = __toESM(require_cjs4(), 1);\nvar isBorderStyle = (str) => [\n \"none\",\n \"hidden\",\n \"dotted\",\n \"dashed\",\n \"solid\",\n \"double\",\n \"groove\",\n \"ridge\",\n \"inset\",\n \"outset\",\n \"initial\"\n].some((v) => str.includes(v));\nvar transformBorder = (border) => {\n const arr = border.split(\", \");\n return arr.map((v) => {\n v = v.trim();\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n else if (isBorderStyle(v))\n return v || \"solid\";\n else if (v.slice(-2) === \"px\" || v.slice(-2) === \"em\")\n return v;\n else if (getColor(v).length > 2)\n return getColor(v);\n return getSpacingByKey(v, \"border\").border;\n }).join(\" \");\n};\nvar transformTextStroke = (stroke) => {\n return stroke.split(\", \").map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.includes(\"px\"))\n return v;\n else if (getColor(v))\n return getColor(v);\n return v;\n }).join(\" \");\n};\nvar transformShadow = (shadows) => shadows.split(\"|\").map((shadow) => {\n return shadow.split(\", \").map((v) => {\n v = v.trim();\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (getColor(v).length > 2)\n return getColor(v);\n if (v.includes(\"px\") || v.slice(-2) === \"em\")\n return v;\n const arr = v.split(\" \");\n if (!arr.length)\n return v;\n return arr.map((v2) => getSpacingByKey(v2, \"shadow\").shadow).join(\" \");\n }).join(\" \");\n}).join(\",\");\nvar transformBackgroundImage = (backgroundImage, globalTheme) => {\n const CONFIG2 = getActiveConfig();\n return backgroundImage.split(\", \").map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.includes(\"url\") || v.includes(\"gradient\"))\n return v;\n else if (CONFIG2.GRADIENT[backgroundImage]) {\n return {\n backgroundImage: getMediaColor(backgroundImage, globalTheme || CONFIG2.globalTheme)\n };\n } else if (v.includes(\"/\") || v.includes(\"http\"))\n return `url(${v})`;\n return v;\n }).join(\" \");\n};\nvar transfromGap = (gap) => (0, import_utils25.isString)(gap) && gap.split(\" \").map((v) => getSpacingByKey(v, \"gap\").gap).join(\" \");\nvar transformTransition = (transition) => {\n const arr = transition.split(\" \");\n if (!arr.length)\n return transition;\n return arr.map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.length < 3 || v.includes(\"ms\")) {\n const mapWithSequence = getTimingByKey(v);\n return mapWithSequence.timing || v;\n }\n if (getTimingFunction(v))\n return getTimingFunction(v);\n return v;\n }).join(\" \");\n};\nvar transformDuration = (duration, props, propertyName) => {\n if (!(0, import_utils25.isString)(duration))\n return;\n return duration.split(\",\").map((v) => getTimingByKey(v).timing || v).join(\",\");\n};\nvar splitTransition = (transition) => {\n const arr = transition.split(\",\");\n if (!arr.length)\n return;\n return arr.map(transformTransition).join(\",\");\n};\n\n// src/set.js\nvar import_utils26 = __toESM(require_cjs4(), 1);\nvar setCases = (val, key) => {\n if ((0, import_utils26.isFunction)(val))\n return val();\n return val;\n};\nvar setSameValue = (val, key) => val;\nvar VALUE_TRANSFORMERS = {\n color: setColor,\n gradient: setGradient,\n font: setFont,\n font_family: setFontFamily,\n theme: setTheme,\n icons: setIcon,\n svg: setSVG,\n svg_data: setSameValue,\n typography: setSameValue,\n cases: setCases,\n spacing: setSameValue,\n media: setSameValue,\n timing: setSameValue,\n reset: setSameValue,\n unit: setSameValue,\n animation: setSameValue\n};\nvar setValue = (FACTORY_NAME, value, key) => {\n const CONFIG2 = getActiveConfig();\n const factoryName = FACTORY_NAME.toLowerCase();\n const FACTORY2 = CONFIG2[FACTORY_NAME];\n if (VALUE_TRANSFORMERS[factoryName]) {\n const result = VALUE_TRANSFORMERS[factoryName](value, key);\n FACTORY2[key] = result;\n return FACTORY2;\n }\n if (CONFIG2.verbose)\n console.warn(\"Can not find\", factoryName, \"method in scratch\");\n};\nvar setEach = (factoryName, props) => {\n const CONFIG2 = getActiveConfig();\n const FACTORY_NAME = factoryName.toUpperCase();\n const keys = Object.keys(props);\n keys.map((key) => setValue(FACTORY_NAME, props[key], key));\n return CONFIG2[FACTORY_NAME];\n};\nvar SET_OPTIONS = {};\nvar set = (recivedConfig, options = SET_OPTIONS) => {\n let CONFIG2 = getActiveConfig();\n const {\n version,\n verbose,\n useVariable,\n useReset,\n useSvgSprite,\n useFontImport,\n useIconSprite,\n globalTheme,\n useDocumentTheme,\n ...config\n } = recivedConfig;\n if (options.newConfig) {\n CONFIG2 = setActiveConfig(options.newConfig);\n }\n if (verbose !== void 0)\n CONFIG2.verbose = verbose;\n if (useVariable !== void 0)\n CONFIG2.useVariable = useVariable;\n if (useReset !== void 0)\n CONFIG2.useReset = useReset;\n if (useFontImport !== void 0)\n CONFIG2.useFontImport = useFontImport;\n if (useSvgSprite !== void 0)\n CONFIG2.useSvgSprite = useSvgSprite;\n if (useIconSprite !== void 0)\n CONFIG2.useIconSprite = useIconSprite;\n if (useDocumentTheme !== void 0)\n CONFIG2.useDocumentTheme = useDocumentTheme;\n if (globalTheme !== void 0)\n CONFIG2.globalTheme = globalTheme;\n if (CONFIG2.verbose)\n console.log(CONFIG2);\n if (!CONFIG2.__svg_cache)\n CONFIG2.__svg_cache = {};\n const keys = Object.keys(config);\n keys.map((key) => setEach(key, config[key]));\n applyTypographySequence();\n applySpacingSequence();\n applyTimingSequence();\n applyDocument();\n applyReset();\n return CONFIG2;\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar key_exports = {};\n__export(key_exports, {\n createKey: () => createKey,\n createSnapshotId: () => createSnapshotId\n});\nmodule.exports = __toCommonJS(key_exports);\nconst createKey = function() {\n let index = 0;\n function newId() {\n index++;\n return index;\n }\n return newId;\n}();\nconst createSnapshotId = createKey;\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar htmlTags_exports = {};\n__export(htmlTags_exports, {\n HTML_TAGS: () => HTML_TAGS\n});\nmodule.exports = __toCommonJS(htmlTags_exports);\nconst HTML_TAGS = {\n root: [\n \"body\",\n \"html\"\n ],\n head: [\n \"title\",\n \"base\",\n \"meta\",\n \"style\"\n ],\n body: [\n \"string\",\n \"fragment\",\n \"a\",\n \"abbr\",\n \"acronym\",\n \"address\",\n \"applet\",\n \"area\",\n \"article\",\n \"aside\",\n \"audio\",\n \"b\",\n \"basefont\",\n \"bdi\",\n \"bdo\",\n \"big\",\n \"blockquote\",\n \"br\",\n \"button\",\n \"canvas\",\n \"caption\",\n \"center\",\n \"cite\",\n \"code\",\n \"col\",\n \"colgroup\",\n \"data\",\n \"datalist\",\n \"dd\",\n \"del\",\n \"details\",\n \"dfn\",\n \"dialog\",\n \"dir\",\n \"div\",\n \"dl\",\n \"dt\",\n \"em\",\n \"embed\",\n \"fieldset\",\n \"figcaption\",\n \"figure\",\n \"font\",\n \"footer\",\n \"form\",\n \"frame\",\n \"frameset\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\",\n \"head\",\n \"header\",\n \"hr\",\n \"i\",\n \"iframe\",\n \"img\",\n \"input\",\n \"ins\",\n \"kbd\",\n \"label\",\n \"legend\",\n \"li\",\n \"link\",\n \"main\",\n \"map\",\n \"mark\",\n \"meter\",\n \"nav\",\n \"noframes\",\n \"noscript\",\n \"object\",\n \"ol\",\n \"optgroup\",\n \"option\",\n \"output\",\n \"p\",\n \"param\",\n \"picture\",\n \"pre\",\n \"progress\",\n \"q\",\n \"rp\",\n \"rt\",\n \"ruby\",\n \"s\",\n \"samp\",\n \"script\",\n \"section\",\n \"select\",\n \"small\",\n \"source\",\n \"span\",\n \"strike\",\n \"strong\",\n \"sub\",\n \"summary\",\n \"sup\",\n \"table\",\n \"tbody\",\n \"td\",\n \"template\",\n \"textarea\",\n \"tfoot\",\n \"th\",\n \"thead\",\n \"time\",\n \"tr\",\n \"track\",\n \"tt\",\n \"u\",\n \"ul\",\n \"var\",\n \"video\",\n \"wbr\",\n // SVG\n \"svg\",\n \"path\"\n ]\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar tags_exports = {};\nmodule.exports = __toCommonJS(tags_exports);\n__reExport(tags_exports, require(\"./htmlTags.js\"), module.exports);\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar globals_exports = {};\n__export(globals_exports, {\n document: () => document,\n global: () => global,\n self: () => self,\n window: () => window\n});\nmodule.exports = __toCommonJS(globals_exports);\nconst global = globalThis;\nconst self = globalThis;\nconst window = globalThis;\nconst document = window.document;\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar node_exports = {};\n__export(node_exports, {\n isHtmlElement: () => isHtmlElement,\n isNode: () => isNode\n});\nmodule.exports = __toCommonJS(node_exports);\nvar import_globals = require(\"@domql/globals\");\nconst isNode = (obj) => {\n return (typeof Node === \"object\" ? obj instanceof import_globals.window.Node : obj && typeof obj === \"object\" && typeof obj.nodeType === \"number\" && typeof obj.nodeName === \"string\") || false;\n};\nconst isHtmlElement = (obj) => {\n return (typeof HTMLElement === \"object\" ? obj instanceof import_globals.window.HTMLElement : obj && typeof obj === \"object\" && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === \"string\") || false;\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar types_exports = {};\n__export(types_exports, {\n TYPES: () => TYPES,\n is: () => is,\n isArray: () => isArray,\n isBoolean: () => isBoolean,\n isDefined: () => isDefined,\n isFunction: () => isFunction,\n isNot: () => isNot,\n isNull: () => isNull,\n isNumber: () => isNumber,\n isObject: () => isObject,\n isObjectLike: () => isObjectLike,\n isString: () => isString,\n isUndefined: () => isUndefined,\n isValidHtmlTag: () => isValidHtmlTag\n});\nmodule.exports = __toCommonJS(types_exports);\nvar import_tags = require(\"@domql/tags\");\nvar import_node = require(\"./node\");\nconst isValidHtmlTag = (arg) => import_tags.HTML_TAGS.body.includes(arg);\nconst isObject = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\" && arg.constructor === Object;\n};\nconst isString = (arg) => typeof arg === \"string\";\nconst isNumber = (arg) => typeof arg === \"number\";\nconst isFunction = (arg) => typeof arg === \"function\";\nconst isBoolean = (arg) => arg === true || arg === false;\nconst isNull = (arg) => arg === null;\nconst isArray = (arg) => Array.isArray(arg);\nconst isObjectLike = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\";\n};\nconst isDefined = (arg) => {\n return isObject(arg) || isObjectLike(arg) || isString(arg) || isNumber(arg) || isFunction(arg) || isArray(arg) || isObjectLike(arg) || isBoolean(arg) || isNull(arg);\n};\nconst isUndefined = (arg) => {\n return arg === void 0;\n};\nconst TYPES = {\n boolean: isBoolean,\n array: isArray,\n object: isObject,\n string: isString,\n number: isNumber,\n null: isNull,\n function: isFunction,\n objectLike: isObjectLike,\n node: import_node.isNode,\n htmlElement: import_node.isHtmlElement,\n defined: isDefined\n};\nconst is = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length > 0;\n };\n};\nconst isNot = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length === 0;\n };\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar array_exports = {};\n__export(array_exports, {\n arrayContainsOtherArray: () => arrayContainsOtherArray,\n joinArrays: () => joinArrays,\n mergeAndCloneIfArray: () => mergeAndCloneIfArray,\n mergeArray: () => mergeArray,\n removeFromArray: () => removeFromArray,\n swapItemsInArray: () => swapItemsInArray\n});\nmodule.exports = __toCommonJS(array_exports);\nvar import_object = require(\"./object\");\nvar import_types = require(\"./types\");\nconst arrayContainsOtherArray = (arr1, arr2) => {\n return arr2.every((val) => arr1.includes(val));\n};\nconst removeFromArray = (arr, index) => {\n if ((0, import_types.isString)(index))\n index = parseInt(index);\n if ((0, import_types.isNumber)(index)) {\n if (index < 0 || index >= arr.length || isNaN(index)) {\n throw new Error(\"Invalid index\");\n }\n arr.splice(index, 1);\n } else if ((0, import_types.isArray)(index)) {\n index.forEach((idx) => removeFromArray(arr, idx));\n } else {\n throw new Error(\"Invalid index\");\n }\n return arr;\n};\nconst swapItemsInArray = (arr, i, j) => {\n [arr[i], arr[j]] = [arr[j], arr[i]];\n};\nconst joinArrays = (...arrays) => {\n return [].concat(...arrays);\n};\nconst mergeArray = (arr, excludeFrom = []) => {\n return arr.reduce((a, c) => (0, import_object.deepMerge)(a, (0, import_object.deepClone)(c, excludeFrom), excludeFrom), {});\n};\nconst mergeAndCloneIfArray = (obj) => {\n return (0, import_types.isArray)(obj) ? mergeArray(obj) : (0, import_object.deepClone)(obj);\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar object_exports = {};\n__export(object_exports, {\n clone: () => clone,\n deepClone: () => deepClone,\n deepCloneExclude: () => deepCloneExclude,\n deepDestringify: () => deepDestringify,\n deepMerge: () => deepMerge,\n deepStringify: () => deepStringify,\n detachFunctionsFromObject: () => detachFunctionsFromObject,\n diff: () => diff,\n diffArrays: () => diffArrays,\n diffObjects: () => diffObjects,\n exec: () => exec,\n flattenRecursive: () => flattenRecursive,\n isEqualDeep: () => isEqualDeep,\n map: () => map,\n merge: () => merge,\n mergeArrayExclude: () => mergeArrayExclude,\n mergeIfExisted: () => mergeIfExisted,\n overwrite: () => overwrite,\n overwriteDeep: () => overwriteDeep,\n overwriteShallow: () => overwriteShallow,\n removeFromObject: () => removeFromObject\n});\nmodule.exports = __toCommonJS(object_exports);\nvar import_globals = require(\"@domql/globals\");\nvar import_types = require(\"./types.js\");\nvar import_array = require(\"./array.js\");\nconst exec = (param, element, state, context) => {\n if ((0, import_types.isFunction)(param)) {\n return param(\n element,\n state || element.state,\n context || element.context\n );\n }\n return param;\n};\nconst map = (obj, extention, element) => {\n for (const e in extention) {\n obj[e] = exec(extention[e], element);\n }\n};\nconst merge = (element, obj, excludeFrom = []) => {\n for (const e in obj) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const objProp = obj[e];\n if (elementProp === void 0) {\n element[e] = objProp;\n }\n }\n return element;\n};\nconst deepMerge = (element, extend, excludeFrom = []) => {\n for (const e in extend) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const extendProp = extend[e];\n if ((0, import_types.isObjectLike)(elementProp) && (0, import_types.isObjectLike)(extendProp)) {\n deepMerge(elementProp, extendProp);\n } else if (elementProp === void 0) {\n element[e] = extendProp;\n }\n }\n return element;\n};\nconst clone = (obj, excludeFrom = []) => {\n const o = {};\n for (const prop in obj) {\n if (excludeFrom.includes(prop) || prop.includes(\"__\"))\n continue;\n o[prop] = obj[prop];\n }\n return o;\n};\nconst deepCloneExclude = (obj, excludeFrom = []) => {\n if ((0, import_types.isArray)(obj)) {\n return obj.map((x) => deepCloneExclude(x, excludeFrom));\n }\n const o = {};\n for (const k in obj) {\n if (excludeFrom.includes(k) || k.includes(\"__\"))\n continue;\n let v = obj[k];\n if (k === \"extend\" && (0, import_types.isArray)(v)) {\n v = mergeArrayExclude(v, excludeFrom);\n }\n if ((0, import_types.isArray)(v)) {\n o[k] = v.map((x) => deepCloneExclude(x, excludeFrom));\n } else if ((0, import_types.isObject)(v)) {\n o[k] = deepCloneExclude(v, excludeFrom);\n } else\n o[k] = v;\n }\n return o;\n};\nconst mergeArrayExclude = (arr, excl = []) => {\n return arr.reduce((acc, curr) => deepMerge(acc, deepCloneExclude(curr, excl)), {});\n};\nconst deepClone = (obj, excludeFrom = []) => {\n const o = (0, import_types.isArray)(obj) ? [] : {};\n for (const prop in obj) {\n if (excludeFrom.includes(prop) || prop.includes(\"__\"))\n continue;\n let objProp = obj[prop];\n if (prop === \"extend\" && (0, import_types.isArray)(objProp)) {\n objProp = (0, import_array.mergeArray)(objProp);\n }\n if ((0, import_types.isObjectLike)(objProp)) {\n o[prop] = deepClone(objProp, excludeFrom);\n } else\n o[prop] = objProp;\n }\n return o;\n};\nconst deepStringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp)) {\n stringified[prop] = objProp.toString();\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = {};\n deepStringify(objProp, stringified[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isObject)(v)) {\n stringified[prop][i] = {};\n deepStringify(v, stringified[prop][i]);\n } else if ((0, import_types.isFunction)(v)) {\n stringified[prop][i] = v.toString();\n } else {\n stringified[prop][i] = v;\n }\n });\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n};\nconst detachFunctionsFromObject = (obj, detached = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp))\n continue;\n else if ((0, import_types.isObject)(objProp)) {\n detached[prop] = {};\n deepStringify(objProp, detached[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n detached[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isFunction)(v))\n return;\n if ((0, import_types.isObject)(v)) {\n detached[prop][i] = {};\n detachFunctionsFromObject(v, detached[prop][i]);\n } else {\n detached[prop][i] = v;\n }\n });\n } else {\n detached[prop] = objProp;\n }\n }\n return detached;\n};\nconst deepDestringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isString)(objProp)) {\n if (objProp.includes(\"=>\") || objProp.includes(\"function\") || objProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals.window.eval(`(${objProp})`);\n stringified[prop] = evalProp;\n } catch (e) {\n if (e)\n stringified[prop] = objProp;\n }\n } else {\n stringified[prop] = objProp;\n }\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((arrProp) => {\n if ((0, import_types.isString)(arrProp)) {\n if (arrProp.includes(\"=>\") || arrProp.includes(\"function\") || arrProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals.window.eval(`(${arrProp})`);\n stringified[prop].push(evalProp);\n } catch (e) {\n if (e)\n stringified[prop].push(arrProp);\n }\n } else {\n stringified[prop].push(arrProp);\n }\n } else if ((0, import_types.isObject)(arrProp)) {\n stringified[prop].push(deepDestringify(arrProp));\n } else {\n stringified[prop].push(arrProp);\n }\n });\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = deepDestringify(objProp, stringified[prop]);\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n};\nconst diffObjects = (original, objToDiff, cache) => {\n for (const e in objToDiff) {\n if (e === \"ref\")\n continue;\n const originalProp = original[e];\n const objToDiffProp = objToDiff[e];\n if ((0, import_types.isObject)(originalProp) && (0, import_types.isObject)(objToDiffProp)) {\n cache[e] = {};\n diff(originalProp, objToDiffProp, cache[e]);\n } else if (objToDiffProp !== void 0) {\n cache[e] = objToDiffProp;\n }\n }\n return cache;\n};\nconst diffArrays = (original, objToDiff, cache) => {\n if (original.length !== objToDiff.length) {\n cache = objToDiff;\n } else {\n const diffArr = [];\n for (let i = 0; i < original.length; i++) {\n const diffObj = diff(original[i], objToDiff[i]);\n if (Object.keys(diffObj).length > 0) {\n diffArr.push(diffObj);\n }\n }\n if (diffArr.length > 0) {\n cache = diffArr;\n }\n }\n return cache;\n};\nconst diff = (original, objToDiff, cache = {}) => {\n if ((0, import_types.isArray)(original) && (0, import_types.isArray)(objToDiff)) {\n cache = [];\n diffArrays(original, objToDiff, cache);\n } else {\n diffObjects(original, objToDiff, cache);\n }\n return cache;\n};\nconst overwrite = (element, params, excludeFrom = []) => {\n const { ref } = element;\n const changes = {};\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const paramsProp = params[e];\n if (paramsProp) {\n ref.__cache[e] = changes[e] = elementProp;\n ref[e] = paramsProp;\n }\n }\n return changes;\n};\nconst overwriteShallow = (obj, params, excludeFrom = []) => {\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n obj[e] = params[e];\n }\n return obj;\n};\nconst overwriteDeep = (obj, params, excludeFrom = []) => {\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const objProp = obj[e];\n const paramsProp = params[e];\n if ((0, import_types.isObjectLike)(objProp) && (0, import_types.isObjectLike)(paramsProp)) {\n overwriteDeep(objProp, paramsProp);\n } else if (paramsProp !== void 0) {\n obj[e] = paramsProp;\n }\n }\n return obj;\n};\nconst mergeIfExisted = (a, b) => {\n if ((0, import_types.isObjectLike)(a) && (0, import_types.isObjectLike)(b))\n return deepMerge(a, b);\n return a || b;\n};\nconst flattenRecursive = (param, prop, stack = []) => {\n const objectized = (0, import_array.mergeAndCloneIfArray)(param);\n stack.push(objectized);\n const extendOfExtend = objectized[prop];\n if (extendOfExtend)\n flattenRecursive(extendOfExtend, prop, stack);\n delete objectized[prop];\n return stack;\n};\nconst isEqualDeep = (param, element) => {\n if (param === element)\n return true;\n if (!param || !element)\n return false;\n for (const prop in param) {\n const paramProp = param[prop];\n const elementProp = element[prop];\n if ((0, import_types.isObjectLike)(paramProp)) {\n const isEqual = isEqualDeep(paramProp, elementProp);\n if (!isEqual)\n return false;\n } else {\n const isEqual = paramProp === elementProp;\n if (!isEqual)\n return false;\n }\n }\n return true;\n};\nconst removeFromObject = (obj, props) => {\n if (props === void 0 || props === null)\n return obj;\n if ((0, import_types.is)(props)(\"string\", \"number\")) {\n delete obj[props];\n } else if ((0, import_types.isArray)(props)) {\n props.forEach((prop) => delete obj[prop]);\n } else {\n throw new Error(\"Invalid input: props must be a string or an array of strings\");\n }\n return obj;\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar function_exports = {};\n__export(function_exports, {\n debounce: () => debounce,\n memoize: () => memoize\n});\nmodule.exports = __toCommonJS(function_exports);\nconst debounce = (element, func, timeout = 300) => {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(element, args);\n }, timeout);\n };\n};\nconst memoize = (fn) => {\n const cache = {};\n return (...args) => {\n const n = args[0];\n if (n in cache) {\n return cache[n];\n } else {\n const result = fn(n);\n cache[n] = result;\n return result;\n }\n };\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar log_exports = {};\n__export(log_exports, {\n logGroupIf: () => logGroupIf,\n logIf: () => logIf\n});\nmodule.exports = __toCommonJS(log_exports);\nconst logIf = (bool, ...arg) => {\n if (bool)\n arg.map((v) => console.log(v));\n};\nconst logGroupIf = (bool, key, ...arg) => {\n if (bool) {\n console.group(key);\n arg.map((v) => console.log(v));\n console.groupEnd(key);\n }\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar utils_exports = {};\nmodule.exports = __toCommonJS(utils_exports);\n__reExport(utils_exports, require(\"@domql/key\"), module.exports);\n__reExport(utils_exports, require(\"./types.js\"), module.exports);\n__reExport(utils_exports, require(\"./object.js\"), module.exports);\n__reExport(utils_exports, require(\"./function.js\"), module.exports);\n__reExport(utils_exports, require(\"./array.js\"), module.exports);\n__reExport(utils_exports, require(\"./node.js\"), module.exports);\n__reExport(utils_exports, require(\"./log.js\"), module.exports);\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar ignore_exports = {};\n__export(ignore_exports, {\n IGNORE_STATE_PARAMS: () => IGNORE_STATE_PARAMS\n});\nmodule.exports = __toCommonJS(ignore_exports);\nconst IGNORE_STATE_PARAMS = [\n \"update\",\n \"parse\",\n \"clean\",\n \"create\",\n \"destroy\",\n \"add\",\n \"toggle\",\n \"remove\",\n \"apply\",\n \"set\",\n \"rootUpdate\",\n \"parentUpdate\",\n \"parent\",\n \"__element\",\n \"__depends\",\n \"__ref\",\n \"__children\",\n \"__root\"\n];\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar on_exports = {};\n__export(on_exports, {\n applyEvent: () => applyEvent,\n applyEventUpdate: () => applyEventUpdate,\n applyEventsOnNode: () => applyEventsOnNode,\n triggerEventOn: () => triggerEventOn,\n triggerEventOnUpdate: () => triggerEventOnUpdate\n});\nmodule.exports = __toCommonJS(on_exports);\nvar import_utils = require(\"@domql/utils\");\nconst applyEvent = (param, element, state, context, options) => {\n return param(element, state || element.state, context || element.context, options);\n};\nconst triggerEventOn = (param, element, options) => {\n if (element.on && (0, import_utils.isFunction)(element.on[param])) {\n const { state, context } = element;\n return applyEvent(element.on[param], element, state, context, options);\n }\n};\nconst applyEventUpdate = (param, updatedObj, element, state, context, options) => {\n return param(updatedObj, element, state || element.state, context || element.context, options);\n};\nconst triggerEventOnUpdate = (param, updatedObj, element, options) => {\n if (element.on && (0, import_utils.isFunction)(element.on[param])) {\n const { state, context } = element;\n return applyEventUpdate(element.on[param], updatedObj, element, state, context, options);\n }\n};\nconst applyEventsOnNode = (element) => {\n const { node, on } = element;\n for (const param in on) {\n if (param === \"init\" || param === \"beforeClassAssign\" || param === \"render\" || param === \"renderRouter\" || param === \"attachNode\" || param === \"stateInit\" || param === \"stateCreated\" || param === \"initStateUpdated\" || param === \"stateUpdated\" || param === \"initUpdate\" || param === \"update\")\n continue;\n const appliedFunction = element.on[param];\n if ((0, import_utils.isFunction)(appliedFunction)) {\n const { state, context } = element;\n node.addEventListener(param, (event) => appliedFunction(event, element, state, context));\n }\n }\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar report_exports = {};\n__export(report_exports, {\n ERRORS_REGISTRY: () => ERRORS_REGISTRY,\n report: () => report\n});\nmodule.exports = __toCommonJS(report_exports);\nconst ERRORS_REGISTRY = {\n en: {\n DocumentNotDefined: {\n title: \"Document is undefined\",\n description: \"To tweak with DOM, you should use browser.\"\n },\n OverwriteToBuiltin: {\n title: \"Overwriting to builtin method\",\n description: \"Overwriting a builtin method in the window define is not possible, please choose different name\"\n },\n BrowserNotDefined: {\n title: \"Can't recognize environment\",\n description: \"Environment should be browser application, that can run Javascript\"\n },\n SetQuickPreferancesIsNotObject: {\n title: \"Quick preferances object is required\",\n description: 'Please pass a plain object with \"lang\", \"culture\" and \"area\" properties'\n },\n InvalidParams: {\n title: \"Params are invalid\",\n description: 'Please pass a plain object with \"lang\", \"culture\" and \"area\" properties'\n },\n CantCreateWithoutNode: {\n title: \"You must provide node\",\n description: \"Can't create DOM element without setting node or text\"\n },\n HTMLInvalidTag: {\n title: \"Element tag name (or DOM nodeName) is invalid\",\n description: \"To create element, you must provide valid DOM node. See full list of them at here: http://www.w3schools.com/tags/\"\n },\n HTMLInvalidAttr: {\n title: \"Attibutes object is invalid\",\n description: \"Please pass a valid plain object to apply as an attributes for a DOM node\"\n },\n HTMLInvalidData: {\n title: \"Data object is invalid\",\n description: \"Please pass a valid plain object to apply as an dataset for a DOM node\"\n },\n HTMLInvalidStyles: {\n title: \"Styles object is invalid\",\n description: \"Please pass a valid plain object to apply as an style for a DOM node\"\n },\n HTMLInvalidText: {\n title: \"Text string is invalid\",\n description: \"Please pass a valid string to apply text to DOM node\"\n },\n ElementOnStateIsNotDefined: {\n title: \"Element on state is not defined\",\n description: \"Please check the element object\"\n }\n }\n};\nconst report = (err, arg, element) => {\n const currentLang = \"en\";\n let errObj;\n if (err && typeof err === \"string\")\n errObj = ERRORS_REGISTRY[currentLang][err];\n return new Error(\n `\"${err}\", \"${arg}\"\n\n`,\n `${errObj.description}`,\n element ? `\n\n${element}` : \"\"\n );\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar can_exports = {};\n__export(can_exports, {\n canRender: () => canRender\n});\nmodule.exports = __toCommonJS(can_exports);\nvar import_report = require(\"@domql/report\");\nvar import_utils = require(\"@domql/utils\");\nconst canRender = (element) => {\n const tag = element.tag || \"div\";\n return (0, import_utils.isValidHtmlTag)(tag) || (0, import_report.report)(\"HTMLInvalidTag\");\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar event_exports = {};\nmodule.exports = __toCommonJS(event_exports);\n__reExport(event_exports, require(\"./on\"), module.exports);\n__reExport(event_exports, require(\"./can\"), module.exports);\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar methods_exports = {};\n__export(methods_exports, {\n add: () => add,\n apply: () => apply,\n clean: () => clean,\n destroy: () => destroy,\n parentUpdate: () => parentUpdate,\n parse: () => parse,\n remove: () => remove,\n rootUpdate: () => rootUpdate,\n set: () => set,\n toggle: () => toggle\n});\nmodule.exports = __toCommonJS(methods_exports);\nvar import_utils = require(\"@domql/utils\");\nvar import_ignore = require(\"./ignore\");\nconst parse = function() {\n const state = this;\n if ((0, import_utils.isObject)(state)) {\n const obj = {};\n for (const param in state) {\n if (!import_ignore.IGNORE_STATE_PARAMS.includes(param)) {\n obj[param] = state[param];\n }\n }\n return obj;\n } else if ((0, import_utils.isArray)(state)) {\n return state.filter((item) => !import_ignore.IGNORE_STATE_PARAMS.includes(item));\n }\n};\nconst clean = function(options = {}) {\n const state = this;\n for (const param in state) {\n if (!import_ignore.IGNORE_STATE_PARAMS.includes(param)) {\n delete state[param];\n }\n }\n if (!options.preventStateUpdate) {\n state.update(state, { replace: true, options });\n }\n return state;\n};\nconst destroy = function(options = {}) {\n const state = this;\n const element = state.__element;\n const stateKey = element.__ref.__state;\n if ((0, import_utils.isString)(stateKey)) {\n element.parent.state.remove(stateKey, { isHoisted: true, ...options });\n return element.state;\n }\n delete element.state;\n element.state = state.parent;\n if (state.parent) {\n delete state.parent.__children[element.key];\n }\n if (state.__children) {\n for (const key in state.__children) {\n const child = state.__children[key];\n if (child.state) {\n child.parent = state.parent;\n }\n }\n }\n element.state.update({}, { isHoisted: true, ...options });\n return element.state;\n};\nconst parentUpdate = function(obj, options = {}) {\n const state = this;\n if (!state || !state.parent)\n return;\n return state.parent.update(obj, { isHoisted: true, ...options });\n};\nconst rootUpdate = function(obj, options = {}) {\n const state = this;\n if (!state)\n return;\n const rootState = state.__element.__ref.__root.state;\n return rootState.update(obj, { isHoisted: false, options });\n};\nconst add = function(value, options = {}) {\n const state = this;\n if ((0, import_utils.isArray)(state)) {\n state.push(value);\n state.update(state.parse(), { overwrite: \"replace\", ...options });\n } else if ((0, import_utils.isObject)(state)) {\n const key = Object.keys(state).length;\n state.update({ [key]: value }, options);\n }\n};\nconst toggle = function(key, options = {}) {\n const state = this;\n state.update({ [key]: !state[key] }, options);\n};\nconst remove = function(key, options = {}) {\n const state = this;\n if ((0, import_utils.isArray)(state))\n (0, import_utils.removeFromArray)(state, key);\n if ((0, import_utils.isObject)(state))\n (0, import_utils.removeFromObject)(state, key);\n return state.update(state.parse(), { replace: true, ...options });\n};\nconst set = function(value, options = {}) {\n const state = this;\n return state.clean({ preventStateUpdate: true }).update(value, { replace: true, ...options });\n};\nconst apply = function(func, options = {}) {\n const state = this;\n if ((0, import_utils.isFunction)(func)) {\n func(state);\n return state.update(state, { replace: true, ...options });\n }\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar inherit_exports = {};\n__export(inherit_exports, {\n checkIfInherits: () => checkIfInherits,\n createChangesByKey: () => createChangesByKey,\n createInheritedState: () => createInheritedState,\n findInheritedState: () => findInheritedState,\n getChildStateInKey: () => getChildStateInKey,\n getParentStateInKey: () => getParentStateInKey,\n isState: () => isState\n});\nmodule.exports = __toCommonJS(inherit_exports);\nvar import_utils = require(\"@domql/utils\");\nvar import_ignore = require(\"./ignore\");\nconst getParentStateInKey = (stateKey, parentState) => {\n if (!stateKey.includes(\"../\"))\n return;\n const arr = stateKey.split(\"../\");\n const arrLength = arr.length - 1;\n for (let i = 0; i < arrLength; i++) {\n if (!parentState.parent)\n return null;\n parentState = parentState.parent;\n }\n return parentState;\n};\nconst getChildStateInKey = (stateKey, parentState, options) => {\n const arr = stateKey.split(\"/\");\n const arrLength = arr.length - 1;\n for (let i = 0; i < arrLength; i++) {\n const childKey = arr[i];\n const grandChildKey = arr[i + 1];\n const childInParent = parentState[childKey];\n if (childInParent && childInParent[grandChildKey]) {\n stateKey = grandChildKey;\n parentState = childInParent;\n } else\n return;\n }\n if (options.returnParent)\n return parentState;\n return parentState[stateKey];\n};\nconst findInheritedState = (element, parent, options = {}) => {\n const ref = element.__ref;\n let stateKey = ref.__state;\n if (!checkIfInherits(element))\n return;\n let parentState = parent.state;\n const findGrandParentState = getParentStateInKey(stateKey, parent.state);\n if (findGrandParentState) {\n parentState = findGrandParentState;\n stateKey = stateKey.replaceAll(\"../\", \"\");\n }\n if (!parentState)\n return;\n return getChildStateInKey(stateKey, parentState, options);\n};\nconst createInheritedState = (element, parent) => {\n const ref = element.__ref;\n const inheritedState = findInheritedState(element, parent);\n if (!inheritedState)\n return element.state;\n if ((0, import_utils.is)(inheritedState)(\"object\", \"array\")) {\n return (0, import_utils.deepClone)(inheritedState, import_ignore.IGNORE_STATE_PARAMS);\n } else if ((0, import_utils.is)(inheritedState)(\"string\", \"number\")) {\n ref.__stateType = \"string\";\n return { value: inheritedState };\n }\n console.warn(ref.__state, \"is not present. Replacing with\", {});\n};\nconst checkIfInherits = (element) => {\n const ref = element.__ref;\n const stateKey = ref.__state;\n if (!stateKey || (0, import_utils.isNot)(stateKey)(\"number\", \"string\"))\n return false;\n return true;\n};\nconst isState = function(state) {\n if (!(0, import_utils.isObjectLike)(state))\n return false;\n const keys = Object.keys(state);\n return (0, import_utils.arrayContainsOtherArray)(keys, [\"update\", \"parse\", \"clean\", \"create\", \"parent\", \"rootUpdate\"]);\n};\nconst createChangesByKey = (path, value) => {\n if (!path) {\n return value || {};\n }\n const keys = path.split(\"/\");\n const obj = {};\n let ref = obj;\n keys.forEach((key, index) => {\n ref[key] = index === keys.length - 1 ? value || {} : {};\n ref = ref[key];\n });\n return obj;\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar updateState_exports = {};\n__export(updateState_exports, {\n updateState: () => updateState\n});\nmodule.exports = __toCommonJS(updateState_exports);\nvar import_report = require(\"@domql/report\");\nvar import_event = require(\"@domql/event\");\nvar import_ignore = require(\"./ignore\");\nvar import_utils = require(\"@domql/utils\");\nvar import_inherit = require(\"./inherit\");\nconst STATE_UPDATE_OPTIONS = {\n overwrite: true,\n preventHoistElementUpdate: false,\n updateByState: true,\n execStateFunction: true,\n isHoisted: true,\n stateFunctionOverwrite: true\n};\nconst updateState = function(obj, options = STATE_UPDATE_OPTIONS) {\n const state = this;\n const element = state.__element;\n if (!options.updateByState)\n (0, import_utils.merge)(options, STATE_UPDATE_OPTIONS);\n if (!state.__element)\n (0, import_report.report)(\"ElementOnStateIsNotDefined\");\n if (options.preventInheritAtCurrentState === true) {\n options.preventInheritAtCurrentState = state;\n } else if (options.preventInheritAtCurrentState)\n return;\n if (!options.preventInitStateUpdateListener) {\n const initStateUpdateReturns = (0, import_event.triggerEventOnUpdate)(\"initStateUpdated\", obj, element, options);\n if (initStateUpdateReturns === false)\n return element;\n }\n applyOverwrite(state, obj, options);\n const updateIsHoisted = hoistStateUpdate(state, obj, options);\n if (updateIsHoisted)\n return state;\n updateDependentState(state, obj, options);\n applyElementUpdate(state, obj, options);\n if (!options.preventStateUpdateListener) {\n (0, import_event.triggerEventOnUpdate)(\"stateUpdated\", obj, element, options);\n }\n return state;\n};\nconst applyOverwrite = (state, obj, options) => {\n const { overwrite } = options;\n if (!overwrite)\n return;\n const shallow = overwrite === \"shallow\";\n const merge2 = overwrite === \"merge\";\n if (merge2) {\n (0, import_utils.deepMerge)(state, obj, import_ignore.IGNORE_STATE_PARAMS);\n return;\n }\n const overwriteFunc = shallow ? import_utils.overwriteShallow : import_utils.overwriteDeep;\n overwriteFunc(state, obj, import_ignore.IGNORE_STATE_PARAMS);\n};\nconst hoistStateUpdate = (state, obj, options) => {\n const element = state.__element;\n const { parent, __ref: ref } = element;\n const stateKey = ref.__state;\n if (!stateKey)\n return;\n const asksForInherit = (0, import_inherit.checkIfInherits)(element);\n const inheritedState = (0, import_inherit.findInheritedState)(element, parent, { returnParent: true });\n const shouldPropagateState = asksForInherit && inheritedState && !options.stopStatePropagation;\n if (!shouldPropagateState)\n return;\n const isStringState = ref.__stateType === \"string\";\n const value = isStringState ? state.value : state.parse();\n const passedValue = isStringState ? state.value : obj;\n const findGrandParentState = (0, import_inherit.getParentStateInKey)(stateKey, parent.state);\n const changesValue = (0, import_inherit.createChangesByKey)(stateKey, passedValue);\n const targetParent = findGrandParentState || parent.state;\n if (options.replace)\n targetParent[stateKey] = value;\n targetParent.update(changesValue, {\n execStateFunction: false,\n stateFunctionOverwrite: false,\n isHoisted: true,\n ...options,\n preventUpdate: options.preventHoistElementUpdate,\n overwrite: !options.replace\n });\n const hasNotUpdated = !options.preventUpdate || !options.preventHoistElementUpdate;\n if (!options.preventStateUpdateListener && hasNotUpdated) {\n (0, import_event.triggerEventOnUpdate)(\"stateUpdated\", obj, element, options);\n }\n return true;\n};\nconst updateDependentState = (state, obj, options) => {\n if (!state.__depends)\n return;\n for (const el in state.__depends) {\n const dependentState = state.__depends[el];\n dependentState.clean().update(state.parse(), options);\n }\n};\nconst applyElementUpdate = (state, obj, options) => {\n const element = state.__element;\n if (!options.preventUpdate) {\n element.update({}, {\n ...options,\n updateByState: true\n });\n } else if (options.preventUpdate === \"recursive\") {\n element.update({}, {\n ...options,\n isHoisted: false,\n updateByState: true,\n preventUpdate: true\n });\n }\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar createState_exports = {};\n__export(createState_exports, {\n createState: () => createState\n});\nmodule.exports = __toCommonJS(createState_exports);\nvar import_event = require(\"@domql/event\");\nvar import_utils = require(\"@domql/utils\");\nvar import_ignore = require(\"./ignore\");\nvar import_methods = require(\"./methods\");\nvar import_updateState = require(\"./updateState\");\nvar import_inherit = require(\"./inherit\");\nconst createState = function(element, parent, options) {\n const skip = options && options.skip ? options.skip : false;\n const objectizeState = checkForTypes(element);\n if (objectizeState === false)\n return parent.state || {};\n else\n element.state = (0, import_utils.deepClone)(objectizeState, import_ignore.IGNORE_STATE_PARAMS);\n const whatInitReturns = (0, import_event.triggerEventOn)(\"stateInit\", element, options);\n if (whatInitReturns === false)\n return element.state;\n if ((0, import_inherit.checkIfInherits)(element)) {\n const inheritedState = (0, import_inherit.createInheritedState)(element, parent);\n element.state = inheritedState || {};\n }\n const dependentState = applyDependentState(element, element.state);\n if (dependentState)\n element.state = dependentState;\n if (skip)\n return element.state;\n applyMethods(element);\n (0, import_event.triggerEventOn)(\"stateCreated\", element);\n return element.state;\n};\nconst applyDependentState = (element, state) => {\n const { __ref: ref } = state;\n if (!ref)\n return;\n const dependentState = (0, import_utils.deepClone)(ref, import_ignore.IGNORE_STATE_PARAMS);\n const newDepends = { [element.key]: dependentState };\n ref.__depends = (0, import_utils.isObject)(ref.__depends) ? { ...ref.__depends, ...newDepends } : newDepends;\n return dependentState;\n};\nconst checkForTypes = (element) => {\n const { state, __ref: ref } = element;\n if ((0, import_utils.isFunction)(state)) {\n ref.__state = state;\n return (0, import_utils.exec)(state, element);\n }\n if ((0, import_utils.is)(state)(\"string\", \"number\")) {\n ref.__state = state;\n return {};\n }\n if (state === true) {\n ref.__state = element.key;\n return {};\n }\n if (state) {\n ref.__hasRootState = true;\n return state;\n }\n return false;\n};\nconst applyMethods = (element) => {\n const state = element.state;\n const ref = element.__ref;\n state.clean = import_methods.clean;\n state.parse = import_methods.parse;\n state.destroy = import_methods.destroy;\n state.update = import_updateState.updateState;\n state.rootUpdate = import_methods.rootUpdate;\n state.parentUpdate = import_methods.parentUpdate;\n state.create = createState;\n state.add = import_methods.add;\n state.toggle = import_methods.toggle;\n state.remove = import_methods.remove;\n state.apply = import_methods.apply;\n state.parent = element.parent.state;\n state.set = import_methods.set;\n state.__element = element;\n state.__children = {};\n state.__root = ref.__root ? ref.__root.state : state;\n if (state.parent)\n state.parent.__children[element.key] = state;\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar state_exports = {};\nmodule.exports = __toCommonJS(state_exports);\n__reExport(state_exports, require(\"./ignore\"), module.exports);\n__reExport(state_exports, require(\"./createState\"), module.exports);\n__reExport(state_exports, require(\"./updateState\"), module.exports);\n__reExport(state_exports, require(\"./methods\"), module.exports);\n__reExport(state_exports, require(\"./inherit\"), module.exports);\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar router_exports = {};\n__export(router_exports, {\n default: () => router_default,\n getActiveRoute: () => getActiveRoute,\n lastLevel: () => lastLevel,\n lastPathname: () => lastPathname,\n router: () => router\n});\nmodule.exports = __toCommonJS(router_exports);\nvar import_globals = require(\"@domql/globals\");\nvar import_utils = require(\"@domql/utils\");\nconst getActiveRoute = (route = import_globals.window.location.pathname, level) => `/${route.split(\"/\")[level + 1]}`;\nlet lastPathname;\nlet lastLevel = 0;\nconst defaultOptions = {\n level: lastLevel,\n pushState: true,\n initialRender: false,\n scrollToTop: true,\n scrollToNode: false,\n scrollNode: import_globals.document && import_globals.document.documentElement,\n scrollBody: false,\n scrollDocument: true,\n useFragment: false,\n updateState: true,\n scrollToOffset: 0,\n scrollToOptions: { behavior: \"smooth\" }\n};\nconst router = (path, element, state = {}, options = defaultOptions) => {\n (0, import_utils.merge)(options, defaultOptions);\n lastLevel = options.lastLevel;\n const [pathname, hash] = path.split(\"#\");\n const rootNode = element.node;\n const route = getActiveRoute(pathname, options.level);\n const content = element.routes[route] || element.routes[\"/*\"];\n const scrollNode = options.scrollDocument ? import_globals.document.documentElement : rootNode;\n const hashChanged = hash && hash !== import_globals.window.location.hash.slice(1);\n const pathChanged = pathname !== lastPathname;\n lastPathname = pathname;\n if (content) {\n if (options.pushState)\n import_globals.window.history.pushState(state, null, route + (hash ? `#${hash}` : \"\"));\n if (pathChanged || !hashChanged) {\n element.set({ tag: options.useFragment && \"fragment\", extend: content });\n if (options.updateState) {\n element.state.update({ route, hash }, {\n preventContentUpdate: !options.stateContentUpdate\n });\n }\n }\n if (options.scrollToTop) {\n scrollNode.scrollTo({\n ...options.scrollToOptions || {},\n top: 0,\n left: 0\n });\n }\n if (options.scrollToNode) {\n content.content.node.scrollTo({\n ...options.scrollToOptions || {},\n top: 0,\n left: 0\n });\n }\n }\n if (hash) {\n const activeNode = import_globals.document.getElementById(hash);\n console.log(hash, activeNode);\n if (activeNode) {\n const top = activeNode.getBoundingClientRect().top + rootNode.scrollTop - options.scrollToOffset || 0;\n scrollNode.scrollTo({\n ...options.scrollToOptions || {},\n top,\n left: 0\n });\n }\n }\n};\nvar router_default = router;\n", "\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// ../../node_modules/@domql/globals/dist/cjs/index.js\nvar require_cjs = __commonJS({\n \"../../node_modules/@domql/globals/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var globals_exports = {};\n __export2(globals_exports, {\n document: () => document4,\n global: () => global,\n self: () => self,\n window: () => window3\n });\n module2.exports = __toCommonJS2(globals_exports);\n var global = globalThis;\n var self = globalThis;\n var window3 = globalThis;\n var document4 = window3.document;\n }\n});\n\n// ../../node_modules/@domql/key/dist/cjs/index.js\nvar require_cjs2 = __commonJS({\n \"../../node_modules/@domql/key/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var key_exports = {};\n __export2(key_exports, {\n createKey: () => createKey,\n createSnapshotId: () => createSnapshotId\n });\n module2.exports = __toCommonJS2(key_exports);\n var createKey = function() {\n let index = 0;\n function newId() {\n index++;\n return index;\n }\n return newId;\n }();\n var createSnapshotId = createKey;\n }\n});\n\n// ../../node_modules/@domql/tags/dist/cjs/htmlTags.js\nvar require_htmlTags = __commonJS({\n \"../../node_modules/@domql/tags/dist/cjs/htmlTags.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var htmlTags_exports = {};\n __export2(htmlTags_exports, {\n HTML_TAGS: () => HTML_TAGS\n });\n module2.exports = __toCommonJS2(htmlTags_exports);\n var HTML_TAGS = {\n root: [\n \"body\",\n \"html\"\n ],\n head: [\n \"title\",\n \"base\",\n \"meta\",\n \"style\"\n ],\n body: [\n \"string\",\n \"fragment\",\n \"a\",\n \"abbr\",\n \"acronym\",\n \"address\",\n \"applet\",\n \"area\",\n \"article\",\n \"aside\",\n \"audio\",\n \"b\",\n \"basefont\",\n \"bdi\",\n \"bdo\",\n \"big\",\n \"blockquote\",\n \"br\",\n \"button\",\n \"canvas\",\n \"caption\",\n \"center\",\n \"cite\",\n \"code\",\n \"col\",\n \"colgroup\",\n \"data\",\n \"datalist\",\n \"dd\",\n \"del\",\n \"details\",\n \"dfn\",\n \"dialog\",\n \"dir\",\n \"div\",\n \"dl\",\n \"dt\",\n \"em\",\n \"embed\",\n \"fieldset\",\n \"figcaption\",\n \"figure\",\n \"font\",\n \"footer\",\n \"form\",\n \"frame\",\n \"frameset\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\",\n \"head\",\n \"header\",\n \"hr\",\n \"i\",\n \"iframe\",\n \"img\",\n \"input\",\n \"ins\",\n \"kbd\",\n \"label\",\n \"legend\",\n \"li\",\n \"link\",\n \"main\",\n \"map\",\n \"mark\",\n \"meter\",\n \"nav\",\n \"noframes\",\n \"noscript\",\n \"object\",\n \"ol\",\n \"optgroup\",\n \"option\",\n \"output\",\n \"p\",\n \"param\",\n \"picture\",\n \"pre\",\n \"progress\",\n \"q\",\n \"rp\",\n \"rt\",\n \"ruby\",\n \"s\",\n \"samp\",\n \"script\",\n \"section\",\n \"select\",\n \"small\",\n \"source\",\n \"span\",\n \"strike\",\n \"strong\",\n \"sub\",\n \"summary\",\n \"sup\",\n \"table\",\n \"tbody\",\n \"td\",\n \"template\",\n \"textarea\",\n \"tfoot\",\n \"th\",\n \"thead\",\n \"time\",\n \"tr\",\n \"track\",\n \"tt\",\n \"u\",\n \"ul\",\n \"var\",\n \"video\",\n \"wbr\",\n // SVG\n \"svg\",\n \"path\"\n ]\n };\n }\n});\n\n// ../../node_modules/@domql/tags/dist/cjs/index.js\nvar require_cjs3 = __commonJS({\n \"../../node_modules/@domql/tags/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, \"default\"), secondTarget && __copyProps2(secondTarget, mod, \"default\"));\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var tags_exports = {};\n module2.exports = __toCommonJS2(tags_exports);\n __reExport(tags_exports, require_htmlTags(), module2.exports);\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/node.js\nvar require_node = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/node.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var node_exports = {};\n __export2(node_exports, {\n isHtmlElement: () => isHtmlElement,\n isNode: () => isNode\n });\n module2.exports = __toCommonJS2(node_exports);\n var import_globals3 = require_cjs();\n var isNode = (obj) => {\n return (typeof Node === \"object\" ? obj instanceof import_globals3.window.Node : obj && typeof obj === \"object\" && typeof obj.nodeType === \"number\" && typeof obj.nodeName === \"string\") || false;\n };\n var isHtmlElement = (obj) => {\n return (typeof HTMLElement === \"object\" ? obj instanceof import_globals3.window.HTMLElement : obj && typeof obj === \"object\" && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === \"string\") || false;\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/types.js\nvar require_types = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/types.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var types_exports = {};\n __export2(types_exports, {\n TYPES: () => TYPES,\n is: () => is,\n isArray: () => isArray6,\n isBoolean: () => isBoolean,\n isDefined: () => isDefined2,\n isFunction: () => isFunction2,\n isNot: () => isNot,\n isNull: () => isNull,\n isNumber: () => isNumber,\n isObject: () => isObject7,\n isObjectLike: () => isObjectLike3,\n isString: () => isString8,\n isUndefined: () => isUndefined,\n isValidHtmlTag: () => isValidHtmlTag\n });\n module2.exports = __toCommonJS2(types_exports);\n var import_tags = require_cjs3();\n var import_node = require_node();\n var isValidHtmlTag = (arg) => import_tags.HTML_TAGS.body.includes(arg);\n var isObject7 = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\" && arg.constructor === Object;\n };\n var isString8 = (arg) => typeof arg === \"string\";\n var isNumber = (arg) => typeof arg === \"number\";\n var isFunction2 = (arg) => typeof arg === \"function\";\n var isBoolean = (arg) => arg === true || arg === false;\n var isNull = (arg) => arg === null;\n var isArray6 = (arg) => Array.isArray(arg);\n var isObjectLike3 = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\";\n };\n var isDefined2 = (arg) => {\n return isObject7(arg) || isObjectLike3(arg) || isString8(arg) || isNumber(arg) || isFunction2(arg) || isArray6(arg) || isObjectLike3(arg) || isBoolean(arg) || isNull(arg);\n };\n var isUndefined = (arg) => {\n return arg === void 0;\n };\n var TYPES = {\n boolean: isBoolean,\n array: isArray6,\n object: isObject7,\n string: isString8,\n number: isNumber,\n null: isNull,\n function: isFunction2,\n objectLike: isObjectLike3,\n node: import_node.isNode,\n htmlElement: import_node.isHtmlElement,\n defined: isDefined2\n };\n var is = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length > 0;\n };\n };\n var isNot = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length === 0;\n };\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/array.js\nvar require_array = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/array.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var array_exports = {};\n __export2(array_exports, {\n arrayContainsOtherArray: () => arrayContainsOtherArray,\n joinArrays: () => joinArrays,\n mergeAndCloneIfArray: () => mergeAndCloneIfArray,\n mergeArray: () => mergeArray,\n removeFromArray: () => removeFromArray,\n swapItemsInArray: () => swapItemsInArray\n });\n module2.exports = __toCommonJS2(array_exports);\n var import_object = require_object();\n var import_types = require_types();\n var arrayContainsOtherArray = (arr1, arr2) => {\n return arr2.every((val) => arr1.includes(val));\n };\n var removeFromArray = (arr, index) => {\n if ((0, import_types.isString)(index))\n index = parseInt(index);\n if ((0, import_types.isNumber)(index)) {\n if (index < 0 || index >= arr.length || isNaN(index)) {\n throw new Error(\"Invalid index\");\n }\n arr.splice(index, 1);\n } else if ((0, import_types.isArray)(index)) {\n index.forEach((idx) => removeFromArray(arr, idx));\n } else {\n throw new Error(\"Invalid index\");\n }\n return arr;\n };\n var swapItemsInArray = (arr, i, j) => {\n [arr[i], arr[j]] = [arr[j], arr[i]];\n };\n var joinArrays = (...arrays) => {\n return [].concat(...arrays);\n };\n var mergeArray = (arr, excludeFrom = []) => {\n return arr.reduce((a, c) => (0, import_object.deepMerge)(a, (0, import_object.deepClone)(c, excludeFrom), excludeFrom), {});\n };\n var mergeAndCloneIfArray = (obj) => {\n return (0, import_types.isArray)(obj) ? mergeArray(obj) : (0, import_object.deepClone)(obj);\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/object.js\nvar require_object = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/object.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var object_exports = {};\n __export2(object_exports, {\n clone: () => clone,\n deepClone: () => deepClone2,\n deepCloneExclude: () => deepCloneExclude,\n deepDestringify: () => deepDestringify,\n deepMerge: () => deepMerge3,\n deepStringify: () => deepStringify,\n detachFunctionsFromObject: () => detachFunctionsFromObject,\n diff: () => diff,\n diffArrays: () => diffArrays,\n diffObjects: () => diffObjects,\n exec: () => exec,\n flattenRecursive: () => flattenRecursive,\n isEqualDeep: () => isEqualDeep,\n map: () => map,\n merge: () => merge5,\n mergeArrayExclude: () => mergeArrayExclude,\n mergeIfExisted: () => mergeIfExisted,\n overwrite: () => overwrite,\n overwriteDeep: () => overwriteDeep,\n overwriteShallow: () => overwriteShallow,\n removeFromObject: () => removeFromObject\n });\n module2.exports = __toCommonJS2(object_exports);\n var import_globals3 = require_cjs();\n var import_types = require_types();\n var import_array = require_array();\n var exec = (param, element, state, context) => {\n if ((0, import_types.isFunction)(param)) {\n return param(\n element,\n state || element.state,\n context || element.context\n );\n }\n return param;\n };\n var map = (obj, extention, element) => {\n for (const e in extention) {\n obj[e] = exec(extention[e], element);\n }\n };\n var merge5 = (element, obj, excludeFrom = []) => {\n for (const e in obj) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const objProp = obj[e];\n if (elementProp === void 0) {\n element[e] = objProp;\n }\n }\n return element;\n };\n var deepMerge3 = (element, extend, excludeFrom = []) => {\n for (const e in extend) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const extendProp = extend[e];\n if ((0, import_types.isObjectLike)(elementProp) && (0, import_types.isObjectLike)(extendProp)) {\n deepMerge3(elementProp, extendProp);\n } else if (elementProp === void 0) {\n element[e] = extendProp;\n }\n }\n return element;\n };\n var clone = (obj, excludeFrom = []) => {\n const o = {};\n for (const prop in obj) {\n if (excludeFrom.includes(prop) || prop.includes(\"__\"))\n continue;\n o[prop] = obj[prop];\n }\n return o;\n };\n var deepCloneExclude = (obj, excludeFrom = []) => {\n if ((0, import_types.isArray)(obj)) {\n return obj.map((x) => deepCloneExclude(x, excludeFrom));\n }\n const o = {};\n for (const k in obj) {\n if (excludeFrom.includes(k) || k.includes(\"__\"))\n continue;\n let v = obj[k];\n if (k === \"extend\" && (0, import_types.isArray)(v)) {\n v = mergeArrayExclude(v, excludeFrom);\n }\n if ((0, import_types.isArray)(v)) {\n o[k] = v.map((x) => deepCloneExclude(x, excludeFrom));\n } else if ((0, import_types.isObject)(v)) {\n o[k] = deepCloneExclude(v, excludeFrom);\n } else\n o[k] = v;\n }\n return o;\n };\n var mergeArrayExclude = (arr, excl = []) => {\n return arr.reduce((acc, curr) => deepMerge3(acc, deepCloneExclude(curr, excl)), {});\n };\n var deepClone2 = (obj, excludeFrom = []) => {\n const o = (0, import_types.isArray)(obj) ? [] : {};\n for (const prop in obj) {\n if (excludeFrom.includes(prop) || prop.includes(\"__\"))\n continue;\n let objProp = obj[prop];\n if (prop === \"extend\" && (0, import_types.isArray)(objProp)) {\n objProp = (0, import_array.mergeArray)(objProp);\n }\n if ((0, import_types.isObjectLike)(objProp)) {\n o[prop] = deepClone2(objProp, excludeFrom);\n } else\n o[prop] = objProp;\n }\n return o;\n };\n var deepStringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp)) {\n stringified[prop] = objProp.toString();\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = {};\n deepStringify(objProp, stringified[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isObject)(v)) {\n stringified[prop][i] = {};\n deepStringify(v, stringified[prop][i]);\n } else if ((0, import_types.isFunction)(v)) {\n stringified[prop][i] = v.toString();\n } else {\n stringified[prop][i] = v;\n }\n });\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n };\n var detachFunctionsFromObject = (obj, detached = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp))\n continue;\n else if ((0, import_types.isObject)(objProp)) {\n detached[prop] = {};\n deepStringify(objProp, detached[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n detached[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isFunction)(v))\n return;\n if ((0, import_types.isObject)(v)) {\n detached[prop][i] = {};\n detachFunctionsFromObject(v, detached[prop][i]);\n } else {\n detached[prop][i] = v;\n }\n });\n } else {\n detached[prop] = objProp;\n }\n }\n return detached;\n };\n var deepDestringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isString)(objProp)) {\n if (objProp.includes(\"=>\") || objProp.includes(\"function\") || objProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals3.window.eval(`(${objProp})`);\n stringified[prop] = evalProp;\n } catch (e) {\n if (e)\n stringified[prop] = objProp;\n }\n } else {\n stringified[prop] = objProp;\n }\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((arrProp) => {\n if ((0, import_types.isString)(arrProp)) {\n if (arrProp.includes(\"=>\") || arrProp.includes(\"function\") || arrProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals3.window.eval(`(${arrProp})`);\n stringified[prop].push(evalProp);\n } catch (e) {\n if (e)\n stringified[prop].push(arrProp);\n }\n } else {\n stringified[prop].push(arrProp);\n }\n } else if ((0, import_types.isObject)(arrProp)) {\n stringified[prop].push(deepDestringify(arrProp));\n } else {\n stringified[prop].push(arrProp);\n }\n });\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = deepDestringify(objProp, stringified[prop]);\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n };\n var diffObjects = (original, objToDiff, cache) => {\n for (const e in objToDiff) {\n if (e === \"ref\")\n continue;\n const originalProp = original[e];\n const objToDiffProp = objToDiff[e];\n if ((0, import_types.isObject)(originalProp) && (0, import_types.isObject)(objToDiffProp)) {\n cache[e] = {};\n diff(originalProp, objToDiffProp, cache[e]);\n } else if (objToDiffProp !== void 0) {\n cache[e] = objToDiffProp;\n }\n }\n return cache;\n };\n var diffArrays = (original, objToDiff, cache) => {\n if (original.length !== objToDiff.length) {\n cache = objToDiff;\n } else {\n const diffArr = [];\n for (let i = 0; i < original.length; i++) {\n const diffObj = diff(original[i], objToDiff[i]);\n if (Object.keys(diffObj).length > 0) {\n diffArr.push(diffObj);\n }\n }\n if (diffArr.length > 0) {\n cache = diffArr;\n }\n }\n return cache;\n };\n var diff = (original, objToDiff, cache = {}) => {\n if ((0, import_types.isArray)(original) && (0, import_types.isArray)(objToDiff)) {\n cache = [];\n diffArrays(original, objToDiff, cache);\n } else {\n diffObjects(original, objToDiff, cache);\n }\n return cache;\n };\n var overwrite = (element, params, excludeFrom = []) => {\n const { ref } = element;\n const changes = {};\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const paramsProp = params[e];\n if (paramsProp) {\n ref.__cache[e] = changes[e] = elementProp;\n ref[e] = paramsProp;\n }\n }\n return changes;\n };\n var overwriteShallow = (obj, params, excludeFrom = []) => {\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n obj[e] = params[e];\n }\n return obj;\n };\n var overwriteDeep = (obj, params, excludeFrom = []) => {\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const objProp = obj[e];\n const paramsProp = params[e];\n if ((0, import_types.isObjectLike)(objProp) && (0, import_types.isObjectLike)(paramsProp)) {\n overwriteDeep(objProp, paramsProp);\n } else if (paramsProp !== void 0) {\n obj[e] = paramsProp;\n }\n }\n return obj;\n };\n var mergeIfExisted = (a, b) => {\n if ((0, import_types.isObjectLike)(a) && (0, import_types.isObjectLike)(b))\n return deepMerge3(a, b);\n return a || b;\n };\n var flattenRecursive = (param, prop, stack = []) => {\n const objectized = (0, import_array.mergeAndCloneIfArray)(param);\n stack.push(objectized);\n const extendOfExtend = objectized[prop];\n if (extendOfExtend)\n flattenRecursive(extendOfExtend, prop, stack);\n delete objectized[prop];\n return stack;\n };\n var isEqualDeep = (param, element) => {\n if (param === element)\n return true;\n if (!param || !element)\n return false;\n for (const prop in param) {\n const paramProp = param[prop];\n const elementProp = element[prop];\n if ((0, import_types.isObjectLike)(paramProp)) {\n const isEqual = isEqualDeep(paramProp, elementProp);\n if (!isEqual)\n return false;\n } else {\n const isEqual = paramProp === elementProp;\n if (!isEqual)\n return false;\n }\n }\n return true;\n };\n var removeFromObject = (obj, props) => {\n if (props === void 0 || props === null)\n return obj;\n if ((0, import_types.is)(props)(\"string\", \"number\")) {\n delete obj[props];\n } else if ((0, import_types.isArray)(props)) {\n props.forEach((prop) => delete obj[prop]);\n } else {\n throw new Error(\"Invalid input: props must be a string or an array of strings\");\n }\n return obj;\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/function.js\nvar require_function = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/function.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var function_exports = {};\n __export2(function_exports, {\n debounce: () => debounce,\n memoize: () => memoize\n });\n module2.exports = __toCommonJS2(function_exports);\n var debounce = (element, func, timeout = 300) => {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(element, args);\n }, timeout);\n };\n };\n var memoize = (fn) => {\n const cache = {};\n return (...args) => {\n const n = args[0];\n if (n in cache) {\n return cache[n];\n } else {\n const result = fn(n);\n cache[n] = result;\n return result;\n }\n };\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/log.js\nvar require_log = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/log.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var log_exports = {};\n __export2(log_exports, {\n logGroupIf: () => logGroupIf,\n logIf: () => logIf\n });\n module2.exports = __toCommonJS2(log_exports);\n var logIf = (bool, ...arg) => {\n if (bool)\n arg.map((v) => console.log(v));\n };\n var logGroupIf = (bool, key, ...arg) => {\n if (bool) {\n console.group(key);\n arg.map((v) => console.log(v));\n console.groupEnd(key);\n }\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/index.js\nvar require_cjs4 = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, \"default\"), secondTarget && __copyProps2(secondTarget, mod, \"default\"));\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var utils_exports2 = {};\n module2.exports = __toCommonJS2(utils_exports2);\n __reExport(utils_exports2, require_cjs2(), module2.exports);\n __reExport(utils_exports2, require_types(), module2.exports);\n __reExport(utils_exports2, require_object(), module2.exports);\n __reExport(utils_exports2, require_function(), module2.exports);\n __reExport(utils_exports2, require_array(), module2.exports);\n __reExport(utils_exports2, require_node(), module2.exports);\n __reExport(utils_exports2, require_log(), module2.exports);\n }\n});\n\n// src/index.js\nvar src_exports = {};\n__export(src_exports, {\n ANIMATION: () => ANIMATION,\n BREAKPOINTS: () => BREAKPOINTS,\n CASES: () => CASES,\n COLOR: () => COLOR,\n CONFIG: () => CONFIG,\n CSS_VARS: () => CSS_VARS,\n DEVICES: () => DEVICES,\n DOCUMENT: () => DOCUMENT,\n FACTORY: () => FACTORY,\n FONT: () => FONT,\n FONT_FACE: () => FONT_FACE,\n FONT_FAMILY: () => FONT_FAMILY,\n FONT_FAMILY_TYPES: () => FONT_FAMILY_TYPES,\n GRADIENT: () => GRADIENT,\n ICONS: () => ICONS,\n MEDIA: () => MEDIA,\n RESET: () => RESET,\n SEQUENCE: () => SEQUENCE,\n SPACING: () => SPACING,\n SVG: () => SVG,\n SVG_DATA: () => SVG_DATA,\n THEME: () => THEME,\n TIMING: () => TIMING,\n TYPOGRAPHY: () => TYPOGRAPHY,\n UNIT: () => UNIT,\n VALUE_TRANSFORMERS: () => VALUE_TRANSFORMERS,\n activateConfig: () => activateConfig,\n appendIconsSprite: () => appendIconsSprite,\n appendSVGSprite: () => appendSVGSprite,\n applyDocument: () => applyDocument,\n applyHeadings: () => applyHeadings,\n applyReset: () => applyReset,\n applySequenceVars: () => applySequenceVars,\n applySpacingSequence: () => applySpacingSequence,\n applyTimingSequence: () => applyTimingSequence,\n applyTypographySequence: () => applyTypographySequence,\n changeLightness: () => changeLightness,\n colorStringToRgbaArray: () => colorStringToRgbaArray,\n convertSvgToSymbol: () => convertSvgToSymbol,\n findHeadingLetter: () => findHeadingLetter,\n findHeadings: () => findHeadings,\n generateSequence: () => generateSequence,\n generateSprite: () => generateSprite,\n generateSubSequence: () => generateSubSequence,\n getActiveConfig: () => getActiveConfig,\n getColor: () => getColor,\n getColorShade: () => getColorShade,\n getDefaultOrFirstKey: () => getDefaultOrFirstKey,\n getFontFace: () => getFontFace,\n getFontFaceEach: () => getFontFaceEach,\n getFontFaceEachString: () => getFontFaceEachString,\n getFontFaceString: () => getFontFaceString,\n getFontFamily: () => getFontFamily,\n getFontFormat: () => getFontFormat,\n getFontSizeByKey: () => getFontSizeByKey,\n getMediaColor: () => getMediaColor,\n getMediaTheme: () => getMediaTheme,\n getSequenceValue: () => getSequenceValue,\n getSequenceValuePropertyPair: () => getSequenceValuePropertyPair,\n getSpacingBasedOnRatio: () => getSpacingBasedOnRatio,\n getSpacingByKey: () => getSpacingByKey,\n getTheme: () => getTheme,\n getTimingByKey: () => getTimingByKey,\n getTimingFunction: () => getTimingFunction,\n hexToRgb: () => hexToRgb,\n hexToRgbArray: () => hexToRgbArray,\n hexToRgba: () => hexToRgba,\n hslToRgb: () => hslToRgb,\n mixTwoColors: () => mixTwoColors,\n mixTwoRgb: () => mixTwoRgb,\n mixTwoRgba: () => mixTwoRgba,\n numToLetterMap: () => numToLetterMap,\n opacify: () => opacify,\n returnSubThemeOrDefault: () => returnSubThemeOrDefault,\n rgbArrayToHex: () => rgbArrayToHex,\n rgbToHSL: () => rgbToHSL,\n rgbToHex: () => rgbToHex,\n runThroughMedia: () => runThroughMedia,\n scratchSystem: () => system_exports,\n scratchUtils: () => utils_exports,\n set: () => set,\n setActiveConfig: () => setActiveConfig,\n setColor: () => setColor,\n setCustomFont: () => setCustomFont,\n setCustomFontMedia: () => setCustomFontMedia,\n setEach: () => setEach,\n setFont: () => setFont,\n setFontFamily: () => setFontFamily,\n setGradient: () => setGradient,\n setIcon: () => setIcon,\n setInCustomFontMedia: () => setInCustomFontMedia,\n setMediaTheme: () => setMediaTheme,\n setSVG: () => setSVG,\n setTheme: () => setTheme,\n setValue: () => setValue,\n setVariables: () => setVariables,\n splitTransition: () => splitTransition,\n transformBackgroundImage: () => transformBackgroundImage,\n transformBorder: () => transformBorder,\n transformDuration: () => transformDuration,\n transformShadow: () => transformShadow,\n transformTextStroke: () => transformTextStroke,\n transformTransition: () => transformTransition,\n transfromGap: () => transfromGap\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/utils/index.js\nvar utils_exports = {};\n__export(utils_exports, {\n applySequenceVars: () => applySequenceVars,\n changeLightness: () => changeLightness,\n colorStringToRgbaArray: () => colorStringToRgbaArray,\n convertSvgToSymbol: () => convertSvgToSymbol,\n findHeadingLetter: () => findHeadingLetter,\n findHeadings: () => findHeadings,\n generateSequence: () => generateSequence,\n generateSprite: () => generateSprite,\n generateSubSequence: () => generateSubSequence,\n getColorShade: () => getColorShade,\n getDefaultOrFirstKey: () => getDefaultOrFirstKey,\n getFontFace: () => getFontFace,\n getFontFaceEach: () => getFontFaceEach,\n getFontFaceEachString: () => getFontFaceEachString,\n getFontFaceString: () => getFontFaceString,\n getFontFormat: () => getFontFormat,\n getSequenceValue: () => getSequenceValue,\n getSequenceValuePropertyPair: () => getSequenceValuePropertyPair,\n hexToRgb: () => hexToRgb,\n hexToRgbArray: () => hexToRgbArray,\n hexToRgba: () => hexToRgba,\n hslToRgb: () => hslToRgb,\n mixTwoColors: () => mixTwoColors,\n mixTwoRgb: () => mixTwoRgb,\n mixTwoRgba: () => mixTwoRgba,\n numToLetterMap: () => numToLetterMap,\n opacify: () => opacify,\n returnSubThemeOrDefault: () => returnSubThemeOrDefault,\n rgbArrayToHex: () => rgbArrayToHex,\n rgbToHSL: () => rgbToHSL,\n rgbToHex: () => rgbToHex,\n setCustomFont: () => setCustomFont,\n setCustomFontMedia: () => setCustomFontMedia,\n setInCustomFontMedia: () => setInCustomFontMedia,\n setVariables: () => setVariables\n});\n\n// src/utils/color.js\nvar import_globals = __toESM(require_cjs(), 1);\nvar ENV = \"development\";\nvar colorStringToRgbaArray = (color) => {\n if (color === \"\")\n return;\n if (color.toLowerCase() === \"transparent\")\n return [0, 0, 0, 0];\n if (color[0] === \"#\") {\n if (color.length < 7) {\n color = \"#\" + color[1] + color[1] + color[2] + color[2] + color[3] + color[3] + (color.length > 4 ? color[4] + color[4] : \"\");\n }\n return [\n parseInt(color.substr(1, 2), 16),\n parseInt(color.substr(3, 2), 16),\n parseInt(color.substr(5, 2), 16),\n color.length > 7 ? parseInt(color.substr(7, 2), 16) / 255 : 1\n ];\n }\n if (color.indexOf(\"rgb\") === -1) {\n if (import_globals.document && import_globals.window) {\n const elem = import_globals.document.body.appendChild(import_globals.document.createElement(\"fictum\"));\n const flag = \"rgb(1, 2, 3)\";\n elem.style.color = flag;\n if (elem.style.color !== flag)\n return;\n elem.style.color = color;\n if (elem.style.color === flag || elem.style.color === \"\")\n return;\n color = import_globals.window.getComputedStyle(elem).color;\n import_globals.document.body.removeChild(elem);\n }\n }\n if (color.indexOf(\"rgb\") === 0) {\n if (color.indexOf(\"rgba\") === -1)\n color = `${color}, 1`;\n return color.match(/[\\.\\d]+/g).map((a) => +a);\n }\n return [];\n};\nvar mixTwoColors = (colorA, colorB, range = 0.5) => {\n colorA = colorStringToRgbaArray(colorA);\n colorB = colorStringToRgbaArray(colorB);\n return mixTwoRgba(colorA, colorB, range);\n};\nvar hexToRgb = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return `rgb(${r},${g},${b})`;\n};\nvar hexToRgbArray = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return [r, g, b];\n};\nvar rgbToHex = (r, g, b) => {\n return \"#\" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n};\nvar rgbArrayToHex = ([r, g, b]) => {\n return ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n};\nvar hexToRgba = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return `rgba(${r},${g},${b},${alpha})`;\n};\nvar mixTwoRgb = (colorA, colorB, range = 0.5) => {\n const arr = [];\n for (let i = 0; i < 3; i++) {\n arr[i] = ~~(colorA[i] + (colorB[i] - colorA[i]) * range);\n }\n return `rgb(${arr})`;\n};\nvar changeLightness = (delta, hsl) => {\n const [hue, saturation, lightness] = hsl;\n const newLightness = Math.max(\n 0,\n Math.min(100, lightness + parseFloat(delta))\n );\n return [hue, saturation, newLightness];\n};\nvar rgbToHSL = (r, g, b) => {\n const a = Math.max(r, g, b);\n const n = a - Math.min(r, g, b);\n const f = 1 - Math.abs(a + a - n - 1);\n const h = n && (a == r ? (g - b) / n : a == g ? 2 + (b - r) / n : 4 + (r - g) / n);\n return [60 * (h < 0 ? h + 6 : h), f ? n / f : 0, (a + a - n) / 2];\n};\nvar hslToRgb = (h, s, l, a = s * Math.min(l, 1 - l), f = (n, k = (n + h / 30) % 12) => l - a * Math.max(\n Math.min(k - 3, 9 - k, 1),\n -1\n)) => [f(0), f(8), f(4)];\nvar getColorShade = (col, amt) => {\n const num = parseInt(col, 16);\n let r = (num >> 16) + amt;\n if (r > 255)\n r = 255;\n else if (r < 0)\n r = 0;\n let b = (num >> 8 & 255) + amt;\n if (b > 255)\n b = 255;\n else if (b < 0)\n b = 0;\n let g = (num & 255) + amt;\n if (g > 255)\n g = 255;\n else if (g < 0)\n g = 0;\n return (g | b << 8 | r << 16).toString(16);\n};\nvar mixTwoRgba = (colorA, colorB, range = 0.5) => {\n const arr = [];\n for (let i = 0; i < 4; i++) {\n const round = i === 3 ? (x) => x : Math.round;\n arr[i] = round(\n colorA[i] + (colorB[i] - colorA[i]) * range\n );\n }\n return `rgba(${arr})`;\n};\nvar opacify = (color, opacity) => {\n const arr = colorStringToRgbaArray(color);\n if (!arr) {\n if (ENV === \"test\" || ENV === \"development\")\n console.warn(color + \"color is not rgba\");\n return;\n }\n arr[3] = opacity;\n return `rgba(${arr})`;\n};\n\n// src/utils/theme.js\nvar returnSubThemeOrDefault = (orig, theme) => {\n if (!orig)\n return;\n if (orig.themes && orig.themes[theme])\n return orig.themes[theme];\n if (orig[theme])\n return [orig, orig[theme]];\n return orig;\n};\n\n// src/utils/font.js\nvar getDefaultOrFirstKey = (LIBRARY, key) => {\n if (LIBRARY[key])\n return LIBRARY[key].value;\n if (LIBRARY.default)\n return LIBRARY[LIBRARY.default].value;\n const hasValue = Object.keys(LIBRARY)[0];\n return hasValue && LIBRARY[hasValue] && LIBRARY[hasValue].value;\n};\nvar getFontFormat = (url) => url.split(/[#?]/)[0].split(\".\").pop().trim();\nvar setInCustomFontMedia = (str) => `@font-face { ${str} }`;\nvar setCustomFont = (name, url, weight) => `\n font-family: '${name}';\n font-style: normal;\n ${weight && `font-weight: ${weight};`}\n src: url('${url}') format('${getFontFormat(url)}');`;\nvar setCustomFontMedia = (name, url, weight) => `@font-face {\n ${setCustomFont(name, url, weight)}\n}`;\nvar getFontFaceEach = (name, weights) => {\n const keys = Object.keys(weights);\n return keys.map((key) => {\n const { url, fontWeight } = weights[key];\n return setCustomFont(name, url, fontWeight);\n });\n};\nvar getFontFace = (LIBRARY) => {\n const keys = Object.keys(LIBRARY);\n return keys.map((key) => getFontFaceEach(key, LIBRARY[key].value));\n};\nvar getFontFaceEachString = (name, weights) => {\n const isArr = weights[0];\n if (isArr)\n return getFontFaceEach(name, weights).map(setInCustomFontMedia);\n return setCustomFontMedia(name, weights.url);\n};\nvar getFontFaceString = (LIBRARY) => {\n const keys = Object.keys(LIBRARY);\n return keys.map((key) => getFontFaceEachString(key, LIBRARY[key].value));\n};\n\n// src/utils/sequence.js\nvar import_utils4 = __toESM(require_cjs4(), 1);\n\n// ../utils/src/index.js\nvar import_utils2 = __toESM(require_cjs4());\n\n// ../utils/src/scaling.js\nvar import_utils = __toESM(require_cjs4());\n\n// ../utils/src/index.js\nvar toCamelCase = (str) => {\n return str.replace(/(?:^\\w|[A-Z]|\\b\\w)/g, function(word, index) {\n return index === 0 ? word.toLowerCase() : word.toUpperCase();\n }).replaceAll(/\\s+/g, \"\");\n};\nvar toDashCase = (val) => val.replace(/[A-Z]/g, (match, offset) => (offset > 0 ? \"-\" : \"\") + match.toLowerCase()).replace(\".\", \"-\");\nvar arrayzeValue = (val) => {\n if ((0, import_utils2.isString)(val))\n return val.split(\" \");\n if ((0, import_utils2.isObject)(val))\n return Object.keys(val).map((v) => val[v]);\n if ((0, import_utils2.isArray)(val))\n return val;\n};\n\n// src/factory.js\nvar import_utils3 = __toESM(require_cjs4(), 1);\n\n// src/defaultConfig/index.js\nvar defaultConfig_exports = {};\n__export(defaultConfig_exports, {\n ANIMATION: () => ANIMATION,\n BREAKPOINTS: () => BREAKPOINTS,\n CASES: () => CASES,\n COLOR: () => COLOR,\n DEVICES: () => DEVICES,\n DOCUMENT: () => DOCUMENT,\n FONT: () => FONT,\n FONT_FACE: () => FONT_FACE,\n FONT_FAMILY: () => FONT_FAMILY,\n FONT_FAMILY_TYPES: () => FONT_FAMILY_TYPES,\n GRADIENT: () => GRADIENT,\n ICONS: () => ICONS,\n MEDIA: () => MEDIA,\n RESET: () => RESET,\n SEQUENCE: () => SEQUENCE,\n SPACING: () => SPACING,\n SVG: () => SVG,\n SVG_DATA: () => SVG_DATA,\n THEME: () => THEME,\n TIMING: () => TIMING,\n TYPOGRAPHY: () => TYPOGRAPHY,\n UNIT: () => UNIT\n});\n\n// src/defaultConfig/sequence.js\nvar SEQUENCE = {\n \"minor-second\": 1.067,\n \"major-second\": 1.125,\n \"minor-third\": 1.2,\n \"major-third\": 1.25,\n \"perfect-fourth\": 1.333,\n \"augmented-fourth\": 1.414,\n \"perfect-fifth\": 1.5,\n \"minor-sixth\": 1.6,\n phi: 1.618,\n // golden-ratio\n \"major-sixth\": 1.667,\n \"square-root-3\": 1.732,\n // theodorus\n \"minor-seventh\": 1.778,\n \"major-seventh\": 1.875,\n octave: 2,\n \"square-root-5\": 2.23,\n // pythagoras\n \"major-tenth\": 2.5,\n \"major-eleventh\": 2.667,\n \"major-twelfth\": 3,\n pi: 3.14,\n // archimedes\n \"double-octave\": 4\n};\n\n// src/defaultConfig/unit.js\nvar UNIT = {\n default: \"em\"\n};\n\n// src/defaultConfig/typography.js\nvar defaultProps = {\n browserDefault: 16,\n base: 16,\n type: \"font-size\",\n ratio: SEQUENCE[\"minor-third\"],\n range: [-3, 12],\n h1Matches: 6,\n lineHeight: 1.5,\n subSequence: true,\n unit: \"em\",\n templates: {},\n sequence: {},\n scales: {},\n vars: {}\n};\nvar TYPOGRAPHY = defaultProps;\n\n// src/defaultConfig/font.js\nvar FONT = {};\n\n// src/defaultConfig/font-family.js\nvar FONT_FAMILY = {};\nvar FONT_FAMILY_TYPES = {\n \"sans-serif\": \"Helvetica, Arial, sans-serif, --system-default\",\n serif: \"Times New Roman, Georgia, serif, --system-default\",\n monospace: \"Courier New, monospace, --system-default\"\n};\nvar FONT_FACE = {};\n\n// src/defaultConfig/media.js\nvar MEDIA = {\n tv: \"(min-width: 2780px)\",\n screenL: \"(max-width: 1920px)\",\n \"screenL<\": \"(min-width: 1920px)\",\n screenM: \"(max-width: 1680px)\",\n \"screenM<\": \"(min-width: 1680px)\",\n screenS: \"(max-width: 1440px)\",\n \"screenS<\": \"(min-width: 1440px)\",\n tabletL: \"(max-width: 1366px)\",\n \"tabletL<\": \"(min-width: 1366px)\",\n tabletM: \"(max-width: 1280px)\",\n \"tabletM<\": \"(min-width: 1280px)\",\n tabletS: \"(max-width: 1024px)\",\n \"tabletS<\": \"(min-width: 1024px)\",\n mobileL: \"(max-width: 768px)\",\n \"mobileL<\": \"(min-width: 768px)\",\n mobileM: \"(max-width: 560px)\",\n \"mobileM<\": \"(min-width: 560px)\",\n mobileS: \"(max-width: 480px)\",\n \"mobileS<\": \"(min-width: 480px)\",\n mobileXS: \"(max-width: 375px)\",\n \"mobileXS<\": \"(min-width: 375px)\",\n light: \"(prefers-color-scheme: light)\",\n dark: \"(prefers-color-scheme: dark)\",\n print: \"print\"\n};\n\n// src/defaultConfig/spacing.js\nvar defaultProps2 = {\n base: TYPOGRAPHY.base,\n type: \"spacing\",\n ratio: SEQUENCE.phi,\n range: [-5, 15],\n subSequence: true,\n unit: \"em\",\n sequence: {},\n scales: {},\n vars: {}\n};\nvar SPACING = defaultProps2;\n\n// src/defaultConfig/color.js\nvar COLOR = {};\nvar GRADIENT = {};\n\n// src/defaultConfig/theme.js\nvar THEME = {};\n\n// src/defaultConfig/icons.js\nvar ICONS = {};\n\n// src/defaultConfig/timing.js\nvar defaultProps3 = {\n default: 150,\n base: 150,\n type: \"timing\",\n ratio: SEQUENCE[\"perfect-fourth\"],\n range: [-3, 12],\n unit: \"ms\",\n sequence: {},\n scales: {},\n vars: {}\n};\nvar TIMING = defaultProps3;\n\n// src/defaultConfig/document.js\nvar DOCUMENT = {};\n\n// src/defaultConfig/responsive.js\nvar BREAKPOINTS = {\n screenL: 1920,\n screenM: 1680,\n screenS: 1440,\n tabletL: 1366,\n tabletM: 1280,\n tabletS: 1024,\n mobileL: 768,\n mobileM: 560,\n mobileS: 480,\n mobileXS: 375\n};\nvar DEVICES = {\n screenL: [1920, 1024],\n screenM: [1680, 1024],\n screenS: [1440, 978],\n tabletL: [1366, 926],\n tabletM: [1280, 768],\n tabletS: [1024, 768],\n mobileL: [768, 375],\n mobileM: [560, 768],\n mobileS: [480, 768],\n mobileXS: [375, 768]\n};\n\n// src/defaultConfig/cases.js\nvar CASES = {};\n\n// src/defaultConfig/animation.js\nvar ANIMATION = {};\n\n// src/defaultConfig/svg.js\nvar SVG = {};\nvar SVG_DATA = {};\n\n// src/defaultConfig/index.js\nvar RESET = {};\n\n// src/factory.js\nvar CSS_VARS = {};\nvar CONFIG = {\n verbose: false,\n useVariable: true,\n useReset: true,\n CSS_VARS,\n ...defaultConfig_exports\n};\nvar cachedConfig = (0, import_utils3.deepClone)(CONFIG);\nvar FACTORY = {\n active: \"0\",\n 0: CONFIG\n};\nvar activateConfig = (def) => {\n if ((0, import_utils3.isDefined)(def)) {\n FACTORY.active = def;\n }\n return FACTORY[def || FACTORY.active];\n};\nvar getActiveConfig = (def) => {\n return FACTORY[def || FACTORY.active];\n};\nvar setActiveConfig = (newConfig) => {\n if (!(0, import_utils3.isObject)(newConfig))\n return;\n FACTORY.active = \"1\";\n FACTORY[\"1\"] = (0, import_utils3.deepMerge)(newConfig, (0, import_utils3.deepClone)(cachedConfig));\n return newConfig;\n};\n\n// src/utils/sequence.js\nvar numToLetterMap = {\n \"-6\": \"U\",\n \"-5\": \"V\",\n \"-4\": \"W\",\n \"-3\": \"X\",\n \"-2\": \"Y\",\n \"-1\": \"Z\",\n 0: \"A\",\n 1: \"B\",\n 2: \"C\",\n 3: \"D\",\n 4: \"E\",\n 5: \"F\",\n 6: \"G\",\n 7: \"H\",\n 8: \"I\",\n 9: \"J\",\n 10: \"K\",\n 11: \"L\",\n 12: \"M\",\n 13: \"N\",\n 14: \"O\",\n 15: \"P\",\n 16: \"Q\",\n 17: \"R\",\n 18: \"S\",\n 19: \"T\"\n};\nvar setSequenceValue = (props, sequenceProps) => {\n const { key, variable, value, scaling, index } = props;\n sequenceProps.sequence[key] = {\n key,\n decimal: ~~(value * 100) / 100,\n val: ~~value,\n scaling,\n index,\n variable\n };\n sequenceProps.scales[key] = scaling;\n sequenceProps.vars[variable] = scaling + sequenceProps.unit;\n};\nvar generateSubSequence = (props, sequenceProps) => {\n const { key, base, value, ratio, variable, index } = props;\n const next = value * ratio;\n const diff = next - value;\n const smallscale = diff / 1.618;\n const valueRounded = ~~value;\n const nextRounded = ~~next;\n const diffRounded = nextRounded - valueRounded;\n let arr = [];\n const first = next - smallscale;\n const second = value + smallscale;\n const middle = (first + second) / 2;\n if (diffRounded > 16)\n arr = [first, middle, second];\n else\n arr = [first, second];\n arr.map((v, k) => {\n const scaling = ~~(v / base * 1e3) / 1e3;\n const newVar = variable + (k + 1);\n const props2 = {\n key: key + (k + 1),\n variable: newVar,\n value: v,\n scaling,\n index: index + (k + 1) / 10\n };\n return setSequenceValue(props2, sequenceProps);\n });\n};\nvar switchSequenceOnNegative = (key, base, ratio) => {\n return base * Math.pow(ratio, key);\n};\nvar generateSequence = (sequenceProps) => {\n const { type, base, ratio, range, subSequence } = sequenceProps;\n const n = Math.abs(range[0]) + Math.abs(range[1]);\n const prefix = \"--\" + (type && type.replace(\".\", \"-\")) + \"-\";\n for (let i = 0; i <= n; i++) {\n const key = range[1] - i;\n const letterKey = numToLetterMap[key];\n const value = switchSequenceOnNegative(key, base, ratio);\n const scaling = ~~(value / base * 100) / 100;\n const variable = prefix + letterKey;\n const props = {\n key: letterKey,\n variable,\n value,\n base,\n scaling,\n ratio,\n index: key\n };\n setSequenceValue(props, sequenceProps);\n if (subSequence)\n generateSubSequence(props, sequenceProps);\n }\n return sequenceProps;\n};\nvar getSequenceValue = (value = \"A\", sequenceProps) => {\n const CONFIG2 = getActiveConfig();\n const { UNIT: UNIT2 } = CONFIG2;\n const {\n sequence,\n unit = UNIT2.default,\n useVariable\n } = sequenceProps;\n if ((0, import_utils4.isString)(value) && value.slice(0, 2) === \"--\")\n return `var(${value})`;\n const prefix = `--${toDashCase(sequenceProps.type.replace(\".\", \"-\"))}-`;\n const startsWithDashOrLetterRegex = /^-?[a-zA-Z]/i;\n const startsWithDashOrLetter = startsWithDashOrLetterRegex.test(value);\n if (value === \"none\" || value === \"auto\" || value === \"unset\" || value === \"inherit\" || value === \"fit-content\" || value === \"min-content\" || value === \"max-content\" || value.includes(\"calc\") || !startsWithDashOrLetter)\n return value;\n const letterVal = value.toUpperCase();\n const isNegative = letterVal.slice(0, 1) === \"-\" ? \"-\" : \"\";\n let absValue = isNegative ? letterVal.slice(1) : letterVal;\n let mediaName = \"\";\n if (absValue.includes(\"-\")) {\n mediaName = \"-\" + absValue.split(\"-\")[1].toLowerCase();\n absValue = absValue.split(\"-\")[0];\n }\n const varValue = (v) => `var(${prefix}${v}${mediaName})`;\n if (absValue.includes(\"+\")) {\n const args = absValue.split(\"+\");\n const [first, second] = args;\n const joint = `${varValue(first)} + ${varValue(second)}`;\n return isNegative ? `calc((${joint}) * -1)` : `calc(${joint})`;\n } else if (absValue.includes(\"-\")) {\n const args = absValue.split(\"-\");\n const [first, second] = args;\n const joint = `${varValue(first)} - ${varValue(second)}`;\n return isNegative ? `calc((${joint}) * -1)` : `calc(${joint})`;\n }\n if (!sequence[absValue] && absValue.length === 2) {\n if (CONFIG2.verbose)\n console.warn(absValue, \"- value is not found because `subSequence` is set to false\");\n absValue = absValue.slice(0, 1);\n }\n if (useVariable || CONFIG2.useVariable) {\n const varValue2 = `var(${prefix}${absValue}${mediaName})`;\n return isNegative ? `calc(${varValue2} * -1)` : varValue2;\n }\n const sequenceItem = sequence ? sequence[absValue] : null;\n if (!sequenceItem)\n return console.warn(\"can't find\", sequence, absValue);\n if (unit === \"ms\" || unit === \"s\") {\n return isNegative + sequenceItem.val + unit;\n }\n return isNegative + sequenceItem.scaling + unit;\n};\nvar getSequenceValuePropertyPair = (value, propertyName, sequenceProps) => {\n if (typeof value !== \"string\") {\n console.warn(propertyName, value, \"is not a string\");\n return {};\n }\n if (value === \"-\" || value === \"\")\n return {};\n return { [propertyName]: getSequenceValue(value, sequenceProps) };\n};\nvar findHeadingLetter = (h1Matches, index) => numToLetterMap[h1Matches - index];\nvar findHeadings = (propertyNames) => {\n const { h1Matches, sequence } = propertyNames;\n return new Array(6).fill(null).map((_, i) => {\n const findLetter = findHeadingLetter(h1Matches, i);\n return sequence[findLetter];\n });\n};\n\n// src/utils/var.js\nvar import_utils6 = __toESM(require_cjs4(), 1);\nvar setVariables = (result, key) => {\n const CONFIG2 = getActiveConfig();\n const { CSS_VARS: CSS_VARS2 } = CONFIG2;\n if ((0, import_utils6.isObjectLike)(result.value)) {\n } else {\n CSS_VARS2[result.var] = result.value;\n }\n};\nvar applySequenceVars = (props, mediaName, options = {}) => {\n const CONFIG2 = getActiveConfig();\n const { UNIT: UNIT2, MEDIA: MEDIA2, TIMING: TIMING2, CSS_VARS: CSS_VARS2 } = CONFIG2;\n const unit = props.unit || UNIT2.default;\n const { sequence, scales } = props;\n for (const key in sequence) {\n const item = sequence[key];\n const value = (props.type === TIMING2.type ? sequence[key].val : scales[key]) + unit;\n if (mediaName) {\n const query = MEDIA2[mediaName];\n if (!query) {\n if (CONFIG2.verbose)\n console.warn(\"Can't find query \", query);\n }\n let underMediaQuery = CSS_VARS2[`@media ${query}`];\n if (!underMediaQuery)\n underMediaQuery = CSS_VARS2[`@media ${query}`] = {};\n underMediaQuery[item.variable] = `var(${item.variable + \"-\" + mediaName})`;\n CSS_VARS2[item.variable + \"-\" + mediaName] = value;\n } else {\n if (options.useDefault === false) {\n CSS_VARS2[item.variable] = value;\n } else {\n CSS_VARS2[item.variable + \"-default\"] = value;\n CSS_VARS2[item.variable] = `var(${item.variable + \"-default\"})`;\n }\n }\n }\n};\n\n// src/utils/sprite.js\nvar import_utils7 = __toESM(require_cjs4(), 1);\nvar generateSprite = (icons) => {\n const CONFIG2 = getActiveConfig();\n let sprite = \"\";\n for (const key in icons) {\n if (CONFIG2.__svg_cache[key])\n continue;\n else\n CONFIG2.__svg_cache[key] = true;\n sprite += icons[key];\n }\n return sprite;\n};\nvar parseRootAttributes = (htmlString) => {\n if (!(0, import_utils7.isString)(htmlString)) {\n return console.warn(`parseRootAttributes: ${htmlString} is not a string`);\n }\n const match = htmlString.match(/<svg\\s+(.*?)>/);\n if (!match || !match[1]) {\n return {};\n }\n const attrString = match[1];\n const attrs = attrString.match(/(\\S+)=[\"']?((?:.(?![\"']?\\s+(?:\\S+)=|\\s*\\/?[>\"']))+.)[\"']?/gm);\n return attrs.reduce((acc, attr) => {\n const [key, value] = attr.split(\"=\");\n acc[key] = value.replace(/['\"]/g, \"\");\n return acc;\n }, {});\n};\nvar replaceIdsAndUrls = (code, key) => {\n const idRegex = /id=\"([^\"]*)\"/;\n const urlRegex = /url\\(#([^)]*)\\)/g;\n const matches = code.match(/id=\"([^\"]*)\"/g);\n let replacedCode = code;\n if ((0, import_utils7.isArray)(matches)) {\n matches.forEach(() => {\n const randomKey = Math.floor(Math.random() * 1e5);\n replacedCode = code.replace(idRegex, `id=\"${key}-${randomKey}\"`).replace(urlRegex, `url(#${key}-${randomKey})`);\n });\n }\n return replacedCode;\n};\nvar convertSvgToSymbol = (key, code) => {\n const extractAttrs = parseRootAttributes(code);\n const { width, height } = extractAttrs;\n const viewBox = extractAttrs.viewBox || `0 0 ${width || 24} ${height || 24}`;\n const xmlns = \"http://www.w3.org/2000/svg\";\n const replacedCode = replaceIdsAndUrls(code, key);\n let symbol = replacedCode.replace(\n \"<svg\",\n `<symbol id=\"${key}\" xmlns=\"${xmlns}\" viewBox=\"${viewBox}\"`\n );\n symbol = symbol.replace(/width=\"[^\"]*\"/, \"\");\n symbol = symbol.replace(/height=\"[^\"]*\"/, \"\");\n symbol = symbol.replace(\"</svg\", \"</symbol\");\n return symbol;\n};\n\n// src/system/index.js\nvar system_exports = {};\n__export(system_exports, {\n appendIconsSprite: () => appendIconsSprite,\n appendSVGSprite: () => appendSVGSprite,\n applyDocument: () => applyDocument,\n applyHeadings: () => applyHeadings,\n applyReset: () => applyReset,\n applySpacingSequence: () => applySpacingSequence,\n applyTimingSequence: () => applyTimingSequence,\n applyTypographySequence: () => applyTypographySequence,\n getColor: () => getColor,\n getFontFamily: () => getFontFamily,\n getFontSizeByKey: () => getFontSizeByKey,\n getMediaColor: () => getMediaColor,\n getMediaTheme: () => getMediaTheme,\n getSpacingBasedOnRatio: () => getSpacingBasedOnRatio,\n getSpacingByKey: () => getSpacingByKey,\n getTheme: () => getTheme,\n getTimingByKey: () => getTimingByKey,\n getTimingFunction: () => getTimingFunction,\n runThroughMedia: () => runThroughMedia,\n setColor: () => setColor,\n setFont: () => setFont,\n setFontFamily: () => setFontFamily,\n setGradient: () => setGradient,\n setIcon: () => setIcon,\n setMediaTheme: () => setMediaTheme,\n setSVG: () => setSVG,\n setTheme: () => setTheme\n});\n\n// src/system/color.js\nvar import_utils8 = __toESM(require_cjs4(), 1);\nvar getColor = (value, key, config) => {\n const CONFIG2 = config || getActiveConfig();\n if (!(0, import_utils8.isString)(value)) {\n if (CONFIG2.verbose)\n console.warn(value, \"- type for color is not valid\");\n return;\n }\n if (value.slice(0, 2) === \"--\")\n return `var(${value})`;\n if (key && value[key])\n value = value[key];\n const [name, alpha, tone] = (0, import_utils8.isArray)(value) ? value : value.split(\" \");\n const { COLOR: COLOR2, GRADIENT: GRADIENT2 } = CONFIG2;\n let val = COLOR2[name] || GRADIENT2[name];\n if (!val) {\n if (CONFIG2.verbose)\n console.warn(\"Can't find color \", name);\n return value;\n }\n if (key) {\n if (val[key])\n val = val[key];\n else if (CONFIG2.verbose)\n console.warn(value, \" - does not have \", key);\n }\n let rgb = val.rgb;\n if (!rgb)\n return CONFIG2.useVariable ? `var(${val.var})` : val.value;\n if (tone && !val[tone]) {\n const toHex = rgbArrayToHex(rgb.split(\", \").map((v) => parseFloat(v)));\n const abs = tone.slice(0, 1);\n if (abs === \"-\" || abs === \"+\") {\n rgb = hexToRgbArray(\n getColorShade(toHex, parseFloat(tone))\n ).join(\", \");\n } else {\n const [r, g, b] = [...rgb.split(\", \").map((v) => parseInt(v))];\n const hsl = rgbToHSL(r, g, b);\n const [h, s, l] = hsl;\n const newRgb = hslToRgb(h, s, parseFloat(tone) / 100 * 255);\n rgb = newRgb;\n }\n val[tone] = { rgb, var: `${val.var}-${tone}` };\n }\n if (val[tone])\n rgb = val[tone].rgb;\n if (alpha)\n return `rgba(${rgb}, ${alpha})`;\n return CONFIG2.useVariable ? `var(${val.var})` : `rgb(${rgb})`;\n};\nvar getMediaColor = (value, globalTheme, config) => {\n const CONFIG2 = config || getActiveConfig();\n if (!globalTheme)\n globalTheme = CONFIG2.globalTheme;\n if (!(0, import_utils8.isString)(value)) {\n if (CONFIG2.verbose)\n console.warn(value, \"- type for color is not valid\");\n return;\n }\n if (value.slice(0, 2) === \"--\")\n return `var(${value})`;\n const [name] = (0, import_utils8.isArray)(value) ? value : value.split(\" \");\n const { COLOR: COLOR2, GRADIENT: GRADIENT2 } = CONFIG2;\n const val = COLOR2[name] || GRADIENT2[name];\n const isObj = (0, import_utils8.isObject)(val);\n if (isObj && val.value)\n return getColor(value, `@${globalTheme}`, config);\n else if (isObj) {\n if (globalTheme)\n return getColor(value, `@${globalTheme}`, config);\n else {\n const obj = {};\n for (const mediaName in val) {\n const query = CONFIG2.MEDIA[mediaName.slice(1)];\n const media = `@media screen and ${query}`;\n obj[media] = getColor(value, mediaName, config);\n }\n return obj;\n }\n } else {\n if (CONFIG2.verbose)\n console.warn(\"Can't find color\", value);\n return value;\n }\n};\nvar setColor = (val, key, suffix) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils8.isString)(val) && val.slice(0, 2) === \"--\")\n val = getColor(val.slice(2));\n if ((0, import_utils8.isArray)(val)) {\n return {\n \"@light\": setColor(val[0], key, \"light\"),\n \"@dark\": setColor(val[1], key, \"dark\")\n };\n }\n if ((0, import_utils8.isObject)(val)) {\n const obj = {};\n for (const variant in val)\n obj[variant] = setColor(val[variant], key, variant.slice(0, 1) === \"@\" ? variant.slice(1) : variant);\n return obj;\n }\n const CSSVar = `--color-${key}` + (suffix ? `-${suffix}` : \"\");\n const [r, g, b, a = 1] = colorStringToRgbaArray(val.value || val);\n const alpha = parseFloat(a.toFixed(2));\n const rgb = `${r}, ${g}, ${b}`;\n const value = `rgba(${rgb}, ${alpha})`;\n if (CONFIG2.useVariable) {\n CONFIG2.CSS_VARS[CSSVar] = value;\n }\n return {\n var: CSSVar,\n rgb,\n alpha,\n value\n };\n};\nvar setGradient = (val, key, suffix) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils8.isString)(val) && val.slice(0, 2) === \"--\")\n val = getColor(val.slice(2));\n if ((0, import_utils8.isArray)(val)) {\n return {\n \"@light\": setGradient(val[0], key, \"light\"),\n \"@dark\": setGradient(val[0], key, \"dark\")\n };\n }\n if ((0, import_utils8.isObject)(val)) {\n const obj = {};\n for (const variant in val)\n obj[variant] = setGradient(val[variant], key, variant.slice(0, 1) === \"@\" ? variant.slice(1) : variant);\n return obj;\n }\n const CSSVar = `--gradient-${key}` + (suffix ? `-${suffix}` : \"\");\n if (CONFIG2.useVariable) {\n CONFIG2.CSS_VARS[CSSVar] = val.value || val;\n }\n return {\n var: CSSVar,\n value: val.value || val\n };\n};\n\n// src/system/theme.js\nvar import_utils10 = __toESM(require_cjs4(), 1);\nvar setThemeValue = (theme) => {\n const value = {};\n const { state, media, helpers, ...rest } = theme;\n const keys = Object.keys(rest);\n keys.map((key) => {\n const conditions = [\"color\", \"Color\", \"background\", \"border\"];\n const isColor = conditions.some((k) => key.includes(k));\n return value[key] = isColor ? getColor(theme[key]) : theme[key];\n });\n return value;\n};\nvar getThemeValue = (theme) => {\n if (theme.value)\n return theme.value;\n theme.value = setThemeValue(theme);\n return theme.value;\n};\nvar getTheme = (value, modifier) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useVariable)\n return getMediaTheme(value, modifier);\n const { THEME: THEME2 } = CONFIG2;\n if ((0, import_utils10.isString)(value)) {\n const [theme, subtheme] = value.split(\" \");\n const isOurTheme = THEME2[theme];\n if (isOurTheme) {\n if (!subtheme && !modifier)\n return getThemeValue(isOurTheme);\n value = [theme, subtheme || modifier];\n }\n }\n if ((0, import_utils10.isObjectLike)(value) && value[1]) {\n const themeName = value[0];\n const subThemeName = value[1];\n const { helpers, media, state } = THEME2[themeName];\n if (media && media[subThemeName])\n return getThemeValue(media[subThemeName]);\n if (helpers && helpers[subThemeName])\n return getThemeValue(helpers[subThemeName]);\n if (state && state[subThemeName])\n return getThemeValue(state[subThemeName]);\n } else if ((0, import_utils10.isObject)(value))\n return setThemeValue(value);\n};\nvar setInverseTheme = (theme, variant, value) => {\n if ((0, import_utils10.isObject)(variant)) {\n theme.variants.inverse.value = setThemeValue(variant);\n } else if (variant === true) {\n const { color, background } = value;\n theme.variants.inverse = {\n value: {\n color: background,\n background: color\n }\n };\n }\n};\nvar setPseudo = (theme, key, variant, themeValue) => {\n const result = getTheme(variant);\n themeValue[`&:${key}`] = result;\n if ((0, import_utils10.isObject)(variant) && !variant.value)\n variant.value = result;\n};\nvar setSelectors = (theme, value) => {\n const { state } = theme;\n if (!state)\n return;\n const keys = Object.keys(state);\n keys.map((key) => {\n const variant = state[key];\n setPseudo(theme, key, variant, value);\n return theme;\n });\n return theme;\n};\nvar setPrefersScheme = (theme, key, variant, themeValue) => {\n const result = getTheme(variant);\n themeValue[`@media (prefers-color-scheme: ${key})`] = result;\n if ((0, import_utils10.isObject)(variant) && !variant.value)\n variant.value = result;\n};\nvar setMedia = (theme, value) => {\n const { media } = theme;\n if (!media)\n return;\n const keys = Object.keys(media);\n keys.map((key) => {\n const variant = media[key];\n if (key === \"dark\" || key === \"light\")\n setPrefersScheme(theme, key, variant, value);\n if (key === \"inverse\")\n setInverseTheme(theme, variant, value);\n return theme;\n });\n return theme;\n};\nvar setHelpers = (theme, value) => {\n const CONFIG2 = getActiveConfig();\n const { helpers } = theme;\n if (!helpers)\n return;\n const keys = Object.keys(helpers);\n keys.map((key) => {\n const helper = helpers[key];\n if ((0, import_utils10.isString)(helper))\n helpers[key] = CONFIG2.THEME[helper];\n else\n getThemeValue(helpers[key]);\n return theme;\n });\n return theme;\n};\nvar setTheme = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useVariable)\n return setMediaTheme(val, key);\n const { state, media, helpers } = val;\n const value = setThemeValue(val, key);\n const CSSvar = `--theme-${key}`;\n setSelectors(val, value);\n setMedia(val, value);\n setHelpers(val, value);\n return { var: CSSvar, value, state, media, helpers };\n};\nvar setMediaTheme = (val, key, suffix, prefers) => {\n const CONFIG2 = getActiveConfig();\n const { CSS_VARS: CSS_VARS2 } = CONFIG2;\n const theme = { value: val };\n if ((0, import_utils10.isObjectLike)(val)) {\n for (const param in val) {\n const symb = param.slice(0, 1);\n const value = val[param];\n if (symb === \"@\" || symb === \":\" || symb === \".\") {\n const hasPrefers = symb === \"@\" && param;\n theme[param] = setMediaTheme(value, key, param, prefers || hasPrefers);\n } else {\n const color = getColor(value, prefers);\n const metaSuffixes = [...new Set([prefers, suffix].filter((v) => v).map((v) => v.slice(1)))];\n const varmetaSuffixName = metaSuffixes.length ? \"-\" + metaSuffixes.join(\"-\") : \"\";\n const CSSVar = `--theme-${key}${varmetaSuffixName}-${param}`;\n if (CONFIG2.useVariable) {\n CSS_VARS2[CSSVar] = color;\n theme[param] = `var(${CSSVar})`;\n } else {\n theme[param] = color;\n }\n theme[`.${param}`] = { [param]: theme[param] };\n }\n }\n if (theme.background || theme.color || theme.backgroundColor) {\n theme[\".inversed\"] = {\n color: theme.background || theme.backgroundColor,\n background: theme.color\n };\n }\n }\n if ((0, import_utils10.isString)(val) && val.slice(0, 2) === \"--\") {\n const { THEME: THEME2 } = CONFIG2;\n const value = THEME2[val.slice(2)];\n const getReferenced = getMediaTheme(value, prefers);\n return getReferenced;\n }\n return theme;\n};\nvar recursiveTheme = (val) => {\n const CONFIG2 = getActiveConfig();\n const obj = {};\n for (const param in val) {\n const symb = param.slice(0, 1);\n if ((0, import_utils10.isObjectLike)(val[param])) {\n if (symb === \"@\") {\n const query = CONFIG2.MEDIA[param.slice(1)];\n const media = `@media screen and ${query}`;\n obj[media] = recursiveTheme(val[param]);\n } else if (symb === \":\") {\n obj[`&${param}`] = recursiveTheme(val[param]);\n }\n } else\n obj[param] = val[param];\n }\n return obj;\n};\nvar findModifierFromArray = (val, modifierArray) => {\n const currentMod = modifierArray.shift();\n if (val[currentMod])\n return findModifierFromArray(val[currentMod], modifierArray);\n return val;\n};\nvar findModifier = (val, modifier) => {\n if ((0, import_utils10.isArray)(modifier))\n return findModifierFromArray(val, modifier);\n else if ((0, import_utils10.isString)(modifier) && val[modifier])\n return val[modifier];\n else\n return val;\n};\nvar getMediaTheme = (val, mod) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils10.isString)(val) && val.slice(0, 2) === \"--\")\n val = getMediaTheme(val.slice(2));\n if (!val || !(0, import_utils10.isString)(val)) {\n if (CONFIG2.verbose)\n console.warn(val, \"- theme is not string\");\n return;\n }\n const [name, ...modifier] = (0, import_utils10.isArray)(val) ? val : val.split(\" \");\n let value = CONFIG2.THEME[name];\n if (value && (modifier || mod)) {\n value = findModifier(value, modifier.length ? modifier : mod);\n }\n const r = recursiveTheme(value);\n return r;\n};\n\n// src/system/font.js\nvar import_utils11 = __toESM(require_cjs4(), 1);\nvar setFont = (val, key) => {\n const CSSvar = `--font-${key}`;\n const fontFace = val[0] ? getFontFaceEach(key, val) : setCustomFontMedia(key, val.url);\n return { var: CSSvar, value: val, fontFace };\n};\nvar getFontFamily = (key, factory) => {\n const CONFIG2 = getActiveConfig();\n const { FONT_FAMILY: FONT_FAMILY2 } = CONFIG2;\n return getDefaultOrFirstKey(factory || FONT_FAMILY2, key);\n};\nvar setFontFamily = (val, key) => {\n const CONFIG2 = getActiveConfig();\n const { FONT_FAMILY: FONT_FAMILY2, FONT_FAMILY_TYPES: FONT_FAMILY_TYPES2 } = CONFIG2;\n let { value, type } = val;\n if (val.isDefault)\n FONT_FAMILY2.default = key;\n if ((0, import_utils11.isObject)(value))\n value = arrayzeValue(value);\n const CSSvar = `--font-family-${key}`;\n const str = `${value.join(\", \")}, ${FONT_FAMILY_TYPES2[type]}`;\n return { var: CSSvar, value: str, arr: value, type };\n};\n\n// src/system/typography.js\nvar import_utils14 = __toESM(require_cjs4(), 1);\nvar runThroughMedia = (props) => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2, MEDIA: MEDIA2 } = CONFIG2;\n for (const prop in props) {\n const mediaProps = props[prop];\n if (prop.slice(0, 1) === \"@\") {\n const { type, base, ratio, range, subSequence, h1Matches, unit } = props;\n (0, import_utils14.merge)(mediaProps, {\n type,\n base,\n ratio,\n range,\n subSequence,\n h1Matches,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n });\n generateSequence(mediaProps);\n const mediaName = prop.slice(1);\n applySequenceVars(mediaProps, mediaName);\n const query = MEDIA2[mediaName];\n TYPOGRAPHY2.templates[`@media screen and ${query}`] = {\n fontSize: mediaProps.base / TYPOGRAPHY2.browserDefault + unit\n };\n }\n }\n};\nvar applyHeadings = (props) => {\n const CONFIG2 = getActiveConfig();\n if (props.h1Matches) {\n const unit = props.unit;\n const HEADINGS = findHeadings(props);\n const { templates } = props;\n for (const k in HEADINGS) {\n const headerName = `h${parseInt(k) + 1}`;\n const headerStyle = templates[headerName];\n templates[headerName] = {\n fontSize: CONFIG2.useVariable ? `var(${HEADINGS[k].variable})` : `${HEADINGS[k].scaling}${unit}`,\n margin: headerStyle ? headerStyle.margin : 0,\n lineHeight: headerStyle ? headerStyle.lineHeight : props.lineHeight,\n letterSpacing: headerStyle ? headerStyle.letterSpacing : props.letterSpacing,\n fontWeight: headerStyle ? headerStyle.fontWeight : 900 - k * 100\n };\n }\n }\n};\nvar applyTypographySequence = () => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n generateSequence(TYPOGRAPHY2);\n applyHeadings(TYPOGRAPHY2);\n applySequenceVars(TYPOGRAPHY2);\n runThroughMedia(TYPOGRAPHY2);\n};\nvar getFontSizeByKey = (value) => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n return getSequenceValuePropertyPair(\n value,\n \"fontSize\",\n TYPOGRAPHY2\n );\n};\n\n// src/system/spacing.js\nvar import_utils17 = __toESM(require_cjs4(), 1);\nvar runThroughMedia2 = (sequenceProps) => {\n for (const prop in sequenceProps) {\n const mediaProps = sequenceProps[prop];\n if (prop.slice(0, 1) === \"@\") {\n const { type, base, ratio, range, subSequence, h1Matches, unit } = sequenceProps;\n (0, import_utils17.merge)(mediaProps, {\n type,\n base,\n ratio,\n range,\n subSequence,\n h1Matches,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n });\n generateSequence(mediaProps);\n const mediaName = prop.slice(1);\n applySequenceVars(mediaProps, mediaName);\n }\n }\n};\nvar applySpacingSequence = () => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n generateSequence(SPACING2);\n applySequenceVars(SPACING2);\n runThroughMedia2(SPACING2);\n};\nvar getSequence = (sequenceProps) => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n if (!sequenceProps)\n return SPACING2;\n const hasGenerated = Object.keys(sequenceProps.sequence).length > 0;\n return hasGenerated ? sequenceProps : generateSequence(sequenceProps);\n};\nvar getSpacingByKey = (value, propertyName = \"padding\", sequenceProps) => {\n const sequence = getSequence(sequenceProps);\n const stack = arrayzeValue(value);\n if (!stack)\n return;\n if ((0, import_utils17.isString)(value) && value.includes(\"calc\")) {\n return { [propertyName]: value };\n }\n if (stack.length > 1) {\n let suffix = \"\";\n if (propertyName === \"borderWidth\") {\n propertyName = \"border\";\n suffix = \"Width\";\n }\n const directions = {\n 2: [\"Block\", \"Inline\"],\n 3: [\"BlockStart\", \"Inline\", \"BlockEnd\"],\n 4: [\"BlockStart\", \"InlineEnd\", \"BlockEnd\", \"InlineStart\"]\n };\n const wrapSequenceValueByDirection = (direction, i) => getSequenceValuePropertyPair(\n stack[i],\n propertyName + direction + suffix,\n sequence\n );\n return directions[stack.length].map((dir, key) => wrapSequenceValueByDirection(dir, key));\n }\n return getSequenceValuePropertyPair(\n value,\n propertyName,\n sequence\n );\n};\nvar getSpacingBasedOnRatio = (props, propertyName, val) => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n const { spacingRatio, unit } = props;\n const value = val || props[propertyName];\n if (spacingRatio) {\n let sequenceProps = SPACING2[spacingRatio];\n if (!sequenceProps) {\n const { type, base, range, subSequence } = SPACING2;\n sequenceProps = SPACING2[spacingRatio] = (0, import_utils17.merge)({\n ratio: spacingRatio,\n type: type + \"-\" + spacingRatio,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n }, {\n base,\n range,\n subSequence,\n ratio: SPACING2.ratio,\n unit: SPACING2.unit\n });\n }\n applySequenceVars(sequenceProps, null, { useDefault: false });\n return getSpacingByKey(value, propertyName, sequenceProps);\n }\n return getSpacingByKey(value, propertyName);\n};\n\n// src/system/timing.js\nvar applyTimingSequence = () => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n generateSequence(TIMING2);\n applySequenceVars(TIMING2);\n};\nvar getTimingFunction = (value) => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n return TIMING2[value] || TIMING2[toCamelCase(value)] || value;\n};\nvar getTimingByKey = (value, property = \"timing\") => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n return getSequenceValuePropertyPair(\n value,\n property,\n TIMING2\n );\n};\n\n// src/system/document.js\nvar import_utils21 = __toESM(require_cjs4(), 1);\nvar applyDocument = () => {\n const CONFIG2 = getActiveConfig();\n const { DOCUMENT: DOCUMENT2, FONT_FAMILY: FONT_FAMILY2, THEME: THEME2, TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n return (0, import_utils21.merge)(DOCUMENT2, {\n theme: THEME2.document,\n fontFamily: getDefaultOrFirstKey(FONT_FAMILY2),\n fontSize: TYPOGRAPHY2.base,\n lineHeight: TYPOGRAPHY2.lineHeight\n });\n};\n\n// src/system/svg.js\nvar import_globals2 = __toESM(require_cjs(), 1);\nvar DEF_OPTIONS = {\n document: import_globals2.document\n};\nvar setSVG = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (!val) {\n if (CONFIG2.verbose)\n console.warn(\"setSVG: val is not defined\", key);\n return;\n }\n if (CONFIG2.useSvgSprite) {\n return convertSvgToSymbol(key, val);\n }\n return val;\n};\nvar appendSVGSprite = (LIBRARY, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const lib = Object.keys(LIBRARY).length ? {} : CONFIG2.SVG;\n for (const key in LIBRARY)\n lib[key] = CONFIG2.SVG[key];\n appendSVG(lib, options);\n};\nvar setIcon = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useIconSprite) {\n return setSVG(val, key);\n }\n return val;\n};\nvar appendIconsSprite = (LIBRARY, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const lib = Object.keys(LIBRARY).length ? {} : CONFIG2.ICONS;\n for (const key in LIBRARY)\n lib[key] = CONFIG2.ICONS[key];\n appendSVG(lib, options);\n};\nvar createSVGSpriteElement = (options = { isRoot: true }) => {\n if (!import_globals2.document || !import_globals2.document.createElementNS)\n return;\n const svgElem = import_globals2.document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n if (options.isRoot) {\n svgElem.setAttribute(\"aria-hidden\", \"true\");\n svgElem.setAttribute(\"width\", \"0\");\n svgElem.setAttribute(\"height\", \"0\");\n svgElem.setAttribute(\"style\", \"position:absolute\");\n svgElem.setAttribute(\"id\", \"svgSprite\");\n }\n return svgElem;\n};\nvar appendSVG = (lib, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const doc = options.document || import_globals2.document;\n if (!doc || !doc.documentElement) {\n if (CONFIG2.verbose) {\n console.warn(\"To append SVG sprites it should be run in browser environment\");\n }\n return generateSprite(lib);\n }\n const exists = doc.querySelector(\"#svgSprite\");\n const SVGsprite = generateSprite(lib);\n if (exists) {\n const tempSVG = createSVGSpriteElement({ isRoot: false });\n tempSVG.innerHTML = SVGsprite;\n exists.append(...tempSVG.children);\n } else {\n const svgSpriteDOM = createSVGSpriteElement();\n if (svgSpriteDOM && svgSpriteDOM.nodeType) {\n svgSpriteDOM.innerHTML = SVGsprite;\n doc.body.prepend(svgSpriteDOM);\n }\n }\n};\n\n// src/system/reset.js\nvar import_utils24 = __toESM(require_cjs4(), 1);\nvar applyReset = (reset = {}) => {\n const CONFIG2 = getActiveConfig();\n const { RESET: RESET2, TYPOGRAPHY: TYPOGRAPHY2, DOCUMENT: DOCUMENT2 } = CONFIG2;\n if (RESET2) {\n if (RESET2[\":root\"]) {\n const configReset = RESET2;\n const configTemplates = TYPOGRAPHY2.templates;\n configReset.body = {\n ...CONFIG2.useDocumentTheme ? getMediaTheme(\"document\", `@${CONFIG2.globalTheme}`) : {},\n ...configTemplates.body\n };\n configReset.h1 = configTemplates.h1;\n configReset.h2 = configTemplates.h2;\n configReset.h3 = configTemplates.h3;\n configReset.h4 = configTemplates.h4;\n configReset.h5 = configTemplates.h5;\n configReset.h6 = configTemplates.h6;\n }\n const { body, ...templates } = TYPOGRAPHY2.templates;\n return (0, import_utils24.deepMerge)((0, import_utils24.merge)(RESET2, reset), {\n html: {\n position: \"absolute\",\n // overflow: 'hidden',\n width: \"100%\",\n height: \"100%\",\n top: \"0\",\n left: \"0\",\n margin: \"0\",\n WebkitFontSmoothing: \"subpixel-antialiased\",\n scrollBehavior: \"smooth\",\n fontSize: TYPOGRAPHY2.browserDefault + \"px\",\n ...CONFIG2.useDocumentTheme ? getMediaTheme(\"document\", `@${CONFIG2.globalTheme}`) : {},\n fontFamily: DOCUMENT2.fontFamily,\n lineHeight: DOCUMENT2.lineHeight\n },\n body: {\n boxSizing: \"border-box\",\n height: \"100%\",\n margin: 0,\n fontFamily: DOCUMENT2.fontFamily,\n fontSize: TYPOGRAPHY2.base / TYPOGRAPHY2.browserDefault + CONFIG2.UNIT.default,\n ...templates,\n ...body\n },\n // form elements\n fieldset: {\n border: 0,\n padding: 0,\n margin: 0\n },\n \"select, input\": {\n fontFamily: DOCUMENT2.fontFamily\n }\n });\n }\n};\n\n// src/transforms/index.js\nvar import_utils25 = __toESM(require_cjs4(), 1);\nvar isBorderStyle = (str) => [\n \"none\",\n \"hidden\",\n \"dotted\",\n \"dashed\",\n \"solid\",\n \"double\",\n \"groove\",\n \"ridge\",\n \"inset\",\n \"outset\",\n \"initial\"\n].some((v) => str.includes(v));\nvar transformBorder = (border) => {\n const arr = border.split(\", \");\n return arr.map((v) => {\n v = v.trim();\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n else if (isBorderStyle(v))\n return v || \"solid\";\n else if (v.slice(-2) === \"px\" || v.slice(-2) === \"em\")\n return v;\n else if (getColor(v).length > 2)\n return getColor(v);\n return getSpacingByKey(v, \"border\").border;\n }).join(\" \");\n};\nvar transformTextStroke = (stroke) => {\n return stroke.split(\", \").map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.includes(\"px\"))\n return v;\n else if (getColor(v))\n return getColor(v);\n return v;\n }).join(\" \");\n};\nvar transformShadow = (shadows) => shadows.split(\"|\").map((shadow) => {\n return shadow.split(\", \").map((v) => {\n v = v.trim();\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (getColor(v).length > 2)\n return getColor(v);\n if (v.includes(\"px\") || v.slice(-2) === \"em\")\n return v;\n const arr = v.split(\" \");\n if (!arr.length)\n return v;\n return arr.map((v2) => getSpacingByKey(v2, \"shadow\").shadow).join(\" \");\n }).join(\" \");\n}).join(\",\");\nvar transformBackgroundImage = (backgroundImage, globalTheme) => {\n const CONFIG2 = getActiveConfig();\n return backgroundImage.split(\", \").map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.includes(\"url\") || v.includes(\"gradient\"))\n return v;\n else if (CONFIG2.GRADIENT[backgroundImage]) {\n return {\n backgroundImage: getMediaColor(backgroundImage, globalTheme || CONFIG2.globalTheme)\n };\n } else if (v.includes(\"/\") || v.includes(\"http\"))\n return `url(${v})`;\n return v;\n }).join(\" \");\n};\nvar transfromGap = (gap) => (0, import_utils25.isString)(gap) && gap.split(\" \").map((v) => getSpacingByKey(v, \"gap\").gap).join(\" \");\nvar transformTransition = (transition) => {\n const arr = transition.split(\" \");\n if (!arr.length)\n return transition;\n return arr.map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.length < 3 || v.includes(\"ms\")) {\n const mapWithSequence = getTimingByKey(v);\n return mapWithSequence.timing || v;\n }\n if (getTimingFunction(v))\n return getTimingFunction(v);\n return v;\n }).join(\" \");\n};\nvar transformDuration = (duration, props, propertyName) => {\n if (!(0, import_utils25.isString)(duration))\n return;\n return duration.split(\",\").map((v) => getTimingByKey(v).timing || v).join(\",\");\n};\nvar splitTransition = (transition) => {\n const arr = transition.split(\",\");\n if (!arr.length)\n return;\n return arr.map(transformTransition).join(\",\");\n};\n\n// src/set.js\nvar import_utils26 = __toESM(require_cjs4(), 1);\nvar setCases = (val, key) => {\n if ((0, import_utils26.isFunction)(val))\n return val();\n return val;\n};\nvar setSameValue = (val, key) => val;\nvar VALUE_TRANSFORMERS = {\n color: setColor,\n gradient: setGradient,\n font: setFont,\n font_family: setFontFamily,\n theme: setTheme,\n icons: setIcon,\n svg: setSVG,\n svg_data: setSameValue,\n typography: setSameValue,\n cases: setCases,\n spacing: setSameValue,\n media: setSameValue,\n timing: setSameValue,\n reset: setSameValue,\n unit: setSameValue,\n animation: setSameValue\n};\nvar setValue = (FACTORY_NAME, value, key) => {\n const CONFIG2 = getActiveConfig();\n const factoryName = FACTORY_NAME.toLowerCase();\n const FACTORY2 = CONFIG2[FACTORY_NAME];\n if (VALUE_TRANSFORMERS[factoryName]) {\n const result = VALUE_TRANSFORMERS[factoryName](value, key);\n FACTORY2[key] = result;\n return FACTORY2;\n }\n if (CONFIG2.verbose)\n console.warn(\"Can not find\", factoryName, \"method in scratch\");\n};\nvar setEach = (factoryName, props) => {\n const CONFIG2 = getActiveConfig();\n const FACTORY_NAME = factoryName.toUpperCase();\n const keys = Object.keys(props);\n keys.map((key) => setValue(FACTORY_NAME, props[key], key));\n return CONFIG2[FACTORY_NAME];\n};\nvar SET_OPTIONS = {};\nvar set = (recivedConfig, options = SET_OPTIONS) => {\n let CONFIG2 = getActiveConfig();\n const {\n version,\n verbose,\n useVariable,\n useReset,\n useSvgSprite,\n useFontImport,\n useIconSprite,\n globalTheme,\n useDocumentTheme,\n ...config\n } = recivedConfig;\n if (options.newConfig) {\n CONFIG2 = setActiveConfig(options.newConfig);\n }\n if (verbose !== void 0)\n CONFIG2.verbose = verbose;\n if (useVariable !== void 0)\n CONFIG2.useVariable = useVariable;\n if (useReset !== void 0)\n CONFIG2.useReset = useReset;\n if (useFontImport !== void 0)\n CONFIG2.useFontImport = useFontImport;\n if (useSvgSprite !== void 0)\n CONFIG2.useSvgSprite = useSvgSprite;\n if (useIconSprite !== void 0)\n CONFIG2.useIconSprite = useIconSprite;\n if (useDocumentTheme !== void 0)\n CONFIG2.useDocumentTheme = useDocumentTheme;\n if (globalTheme !== void 0)\n CONFIG2.globalTheme = globalTheme;\n if (CONFIG2.verbose)\n console.log(CONFIG2);\n if (!CONFIG2.__svg_cache)\n CONFIG2.__svg_cache = {};\n const keys = Object.keys(config);\n keys.map((key) => setEach(key, config[key]));\n applyTypographySequence();\n applySpacingSequence();\n applyTimingSequence();\n applyDocument();\n applyReset();\n return CONFIG2;\n};\n", "'use strict'\n\n// export * from './styles'\n\nexport * from '@symbo.ls/atoms'\nexport * from '@symbo.ls/box'\n\nexport * from '@symbo.ls/avatar'\nexport * from '@symbo.ls/button'\nexport * from '@symbo.ls/buttonset'\n\nexport * from '@symbo.ls/dialog'\nexport * from '@symbo.ls/datepicker'\nexport * from '@symbo.ls/timepicker'\nexport * from '@symbo.ls/dropdown'\n\nexport * from '@symbo.ls/form'\nexport * from '@symbo.ls/icon'\nexport * from '@symbo.ls/link'\nexport * from '@symbo.ls/input'\nexport * from '@symbo.ls/field'\nexport * from '@symbo.ls/video'\n\nexport * from '@symbo.ls/range'\nexport * from '@symbo.ls/slider'\nexport * from '@symbo.ls/notification'\nexport * from '@symbo.ls/tooltip'\nexport * from '@symbo.ls/textarea'\nexport * from '@symbo.ls/label'\nexport * from '@symbo.ls/pills'\nexport * from '@symbo.ls/select'\n", "'use strict'\n\nimport { getSpacingBasedOnRatio, getSpacingByKey, transfromGap } from '@symbo.ls/scratch'\n\nexport const Block = {\n class: {\n boxSizing: ({ props }) => props.boxSizing\n ? ({ boxSizing: props.boxSizing })\n : {\n boxSizing: 'border-box'\n },\n\n display: ({ props }) => props.display && ({ display: props.display }),\n\n hide: ({ props }) => props.hide && ({ display: 'none' }),\n\n width: ({ props }) => props.width && getSpacingBasedOnRatio(props, 'width'),\n height: ({ props }) => props.height && getSpacingBasedOnRatio(props, 'height'),\n boxSize: ({ props }) => {\n if (typeof props.boxSize !== 'string') return\n const [height, width] = props.boxSize.split(' ')\n return {\n ...getSpacingByKey(height, 'height'),\n ...getSpacingByKey(width || height, 'width')\n }\n },\n\n maxWidth: ({ props }) => props.maxWidth && getSpacingBasedOnRatio(props, 'maxWidth'),\n minWidth: ({ props }) => props.minWidth && getSpacingBasedOnRatio(props, 'minWidth'),\n widthRange: ({ props }) => {\n if (typeof props.widthRange !== 'string') return\n const [minWidth, maxWidth] = props.widthRange.split(' ')\n return {\n ...getSpacingByKey(minWidth, 'minWidth'),\n ...getSpacingByKey(maxWidth || minWidth, 'maxWidth')\n }\n },\n\n maxHeight: ({ props }) => props.maxHeight && getSpacingBasedOnRatio(props, 'maxHeight'),\n minHeight: ({ props }) => props.minHeight && getSpacingBasedOnRatio(props, 'minHeight'),\n heightRange: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n direction: ({ props }) => props.direction && ({ direction: props.direction }),\n\n aspectRatio: ({ props }) => props.aspectRatio && ({ aspectRatio: props.aspectRatio }),\n\n borderWidth: ({ props }) => props.borderWidth ? getSpacingBasedOnRatio(props, 'borderWidth') : null,\n\n padding: ({ props }) => props.padding ? getSpacingBasedOnRatio(props, 'padding') : null,\n paddingInline: ({ props }) => {\n if (typeof props.paddingInline !== 'string') return\n const [paddingInlineStart, paddingInlineEnd] = props.paddingInline.split(' ')\n return {\n ...getSpacingByKey(paddingInlineStart, 'paddingInlineStart'),\n ...getSpacingByKey(paddingInlineEnd || paddingInlineStart, 'paddingInlineEnd')\n }\n },\n paddingBlock: ({ props }) => {\n if (typeof props.paddingBlock !== 'string') return\n const [paddingBlockStart, paddingBlockEnd] = props.paddingBlock.split(' ')\n return {\n ...getSpacingByKey(paddingBlockStart, 'paddingBlockStart'),\n ...getSpacingByKey(paddingBlockEnd || paddingBlockStart, 'paddingBlockEnd')\n }\n },\n paddingInlineStart: ({ props }) => props.paddingInlineStart ? getSpacingBasedOnRatio(props, 'paddingInlineStart') : null,\n paddingInlineEnd: ({ props }) => props.paddingInlineEnd ? getSpacingBasedOnRatio(props, 'paddingInlineEnd') : null,\n paddingBlockStart: ({ props }) => props.paddingBlockStart ? getSpacingBasedOnRatio(props, 'paddingBlockStart') : null,\n paddingBlockEnd: ({ props }) => props.paddingBlockEnd ? getSpacingBasedOnRatio(props, 'paddingBlockEnd') : null,\n\n margin: ({ props }) => props.margin ? getSpacingBasedOnRatio(props, 'margin') : null,\n marginInline: ({ props }) => {\n if (typeof props.marginInline !== 'string') return\n const [marginInlineStart, marginInlineEnd] = props.marginInline.split(' ')\n return {\n ...getSpacingByKey(marginInlineStart, 'marginInlineStart'),\n ...getSpacingByKey(marginInlineEnd || marginInlineStart, 'marginInlineEnd')\n }\n },\n marginBlock: ({ props }) => {\n if (typeof props.marginBlock !== 'string') return\n const [marginBlockStart, marginBlockEnd] = props.marginBlock.split(' ')\n return {\n ...getSpacingByKey(marginBlockStart, 'marginBlockStart'),\n ...getSpacingByKey(marginBlockEnd || marginBlockStart, 'marginBlockEnd')\n }\n },\n marginInlineStart: ({ props }) => props.marginInlineStart ? getSpacingBasedOnRatio(props, 'marginInlineStart') : null,\n marginInlineEnd: ({ props }) => props.marginInlineEnd ? getSpacingBasedOnRatio(props, 'marginInlineEnd') : null,\n marginBlockStart: ({ props }) => props.marginBlockStart ? getSpacingBasedOnRatio(props, 'marginBlockStart') : null,\n marginBlockEnd: ({ props }) => props.marginBlockEnd ? getSpacingBasedOnRatio(props, 'marginBlockEnd') : null,\n\n gap: ({ props }) => props.gap\n ? ({\n gap: transfromGap(props.gap)\n })\n : null,\n gridArea: ({ props }) => props.gridArea && ({ gridArea: props.gridArea }),\n\n flex: ({ props }) => props.flex && ({ flex: props.flex }),\n flexDirection: ({ props }) => props.flexDirection && ({ flexDirection: props.flexDirection }),\n alignItems: ({ props }) => props.alignItems && ({ alignItems: props.alignItems }),\n alignContent: ({ props }) => props.alignContent && ({ alignContent: props.alignContent }),\n justifyContent: ({ props }) => props.justifyContent && ({ justifyContent: props.justifyContent }),\n justifyItems: ({ props }) => props.justifyItems && ({ justifyItems: props.justifyItems }),\n alignSelf: ({ props }) => props.alignSelf && ({ alignSelf: props.alignSelf }),\n order: ({ props }) => props.order && ({ order: props.order }),\n\n flexWrap: ({ props }) => props.flexWrap && ({\n display: 'flex',\n flexFlow: props.flexWrap\n }),\n flexFlow: ({ props }) => props.flexFlow && ({\n display: 'flex',\n flexFlow: props.flexFlow\n }),\n flexAlign: ({ props }) => {\n if (typeof props.flexAlign !== 'string') return\n const [alignItems, justifyContent] = props.flexAlign.split(' ')\n return {\n display: 'flex',\n alignItems,\n justifyContent\n }\n },\n\n gridColumn: ({ props }) => props.gridColumn && ({ gridColumn: props.gridColumn }),\n gridColumnStart: ({ props }) => props.columnStart\n ? ({\n gridColumnStart: props.columnStart\n })\n : null,\n gridRow: ({ props }) => props.gridRow && ({ gridRow: props.gridRow }),\n gridRowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n size: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n columns: ({ props }) => props.columns && ({ columns: props.columns }),\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n columnSpan: ({ props }) => props.columnSpan && ({ columns: props.columnSpan }),\n columnFill: ({ props }) => props.columnFill && ({ columns: props.columnFill }),\n columnCount: ({ props }) => props.columnCount && ({ columns: props.columnCount })\n }\n}\n\nexport const Span = { tag: 'span' }\nexport const List = {\n tag: 'ul',\n childExtend: { tag: 'li' }\n}\n// export const Article = { tag: 'article' }\n", "'use strict'\n\nexport const Direction = {\n props: {\n direction: 'ltr'\n },\n class: {\n direction: ({ props }) => ({ direction: props.direction })\n }\n}\n", "'use strict'\n\nexport const Flex = {\n props: {\n display: 'flex'\n },\n\n class: {\n flow: ({ props }) => props.flow && ({ flexFlow: props.flow }),\n wrap: ({ props }) => props.wrap && ({ flexWrap: props.wrap }),\n align: ({ props }) => {\n if (typeof props.align !== 'string') return\n const [alignItems, justifyContent] = props.align.split(' ')\n return { alignItems, justifyContent }\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingBasedOnRatio } from '@symbo.ls/scratch'\n\nexport const Grid = {\n props: { display: 'grid' },\n\n class: {\n area: ({ props }) => props.area ? ({ gridArea: props.area }) : null,\n template: ({ props }) => props.template ? ({ gridTemplate: props.template }) : null,\n templateAreas: ({ props }) => props.templateAreas ? ({ gridTemplateAreas: props.templateAreas }) : null,\n\n column: ({ props }) => props.column ? ({ gridColumn: props.column }) : null,\n columns: ({ props }) => props.columns ? ({ gridTemplateColumns: props.columns }) : null,\n templateColumns: ({ props }) => props.templateColumns ? ({ gridTemplateColumns: props.templateColumns }) : null,\n autoColumns: ({ props }) => props.autoColumns ? ({ gridAutoColumns: props.autoColumns }) : null,\n columnStart: ({ props }) => props.columnStart ? ({ gridColumnStart: props.columnStart }) : null,\n\n row: ({ props }) => props.row ? ({ gridRow: props.row }) : null,\n rows: ({ props }) => props.rows ? ({ gridTemplateRows: props.rows }) : null,\n templateRows: ({ props }) => props.templateRows ? ({ gridTemplateRows: props.templateRows }) : null,\n autoRows: ({ props }) => props.autoRows ? ({ gridAutoRows: props.autoRows }) : null,\n rowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n autoFlow: ({ props }) => props.autoFlow ? ({ gridAutoFlow: props.autoFlow }) : null,\n\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n rowGap: ({ props }) => props.rowGap ? getSpacingBasedOnRatio(props, 'rowGap') : null\n }\n}\n", "'use strict'\n\nexport const Img = {\n tag: 'img',\n\n props: {\n src: '',\n alt: '',\n title: ''\n },\n\n attr: {\n src: ({ props }) => props.src,\n alt: ({ props }) => props.alt,\n title: ({ props }) => props.title || props.alt\n }\n}\n", "'use strict'\n\nexport const Form = {\n tag: 'form',\n props: {},\n attr: {\n action: ({ props }) => props.action,\n method: ({ props }) => props.method,\n enctype: ({ props }) => props.enctype\n }\n}\n", "'use strict'\n\nimport { merge, isArray, overwriteShallow } from '@domql/utils'\nimport { getSystemTheme } from './Theme'\n\nexport const keySetters = {\n '@': (key, props, result, element, isSubtree) => applyMediaProps(\n key, props, isSubtree ? result : (result && result.media), element\n ),\n ':': (key, props, result, element, isSubtree) => applySelectorProps(\n key, props, isSubtree ? result : (result && result.selector), element\n ),\n '[': (key, props, result, element, isSubtree) => applySelectorProps(\n key, props, isSubtree ? result : (result && result.selector), element\n ),\n '&': (key, props, result, element, isSubtree) => applySelectorProps(\n key, props, isSubtree ? result : (result && result.selector), element\n ),\n $: (key, props, result, element, isSubtree) => applyCaseProps(\n key, props, isSubtree ? result : (result && result.case), element\n ),\n '.': (key, props, result, element, isSubtree) => applyConditionalCaseProps(\n key, props, isSubtree ? result : (result && result.case), element\n ),\n '!': (key, props, result, element, isSubtree) => applyConditionalFalsyProps(\n key, props, isSubtree ? result : (result && result.case), element\n )\n}\n\nconst execClass = (key, props, result, element) => {\n const { class: className } = element\n const classnameExec = className[key]\n\n if (typeof classnameExec !== 'function') return\n\n let classExec = classnameExec({\n props,\n context: element.context,\n state: element.state\n })\n if (isArray(classExec)) {\n classExec = classExec.reduce((a, c) => merge(a, c), {})\n }\n\n for (const finalProp in classExec) {\n result[finalProp] = classExec[finalProp]\n }\n\n return classExec\n}\n\nconst convertPropsToClass = (props, result, element) => {\n const propsClassObj = {}\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) {\n setter(key, props[key], propsClassObj, element, true)\n continue\n } else {\n execClass(key, props, propsClassObj, element)\n }\n }\n\n return propsClassObj\n}\n\nconst applyMediaProps = (key, props, result, element) => {\n const { context } = element\n if (!context.designSystem || !context.designSystem.MEDIA) return\n const globalTheme = getSystemTheme(element)\n const { MEDIA } = context.designSystem\n const mediaName = MEDIA[key.slice(1)]\n const generatedClass = convertPropsToClass(props, result, element)\n\n const name = key.slice(1)\n const isTheme = ['dark', 'light'].includes(name)\n const matchesGlobal = name === globalTheme\n\n if (globalTheme && isTheme) {\n if (matchesGlobal) return merge(result, generatedClass)\n return\n }\n\n const mediaKey = `@media screen and ${mediaName}`\n result[mediaKey] = generatedClass\n return result[mediaKey]\n}\n\nconst applySelectorProps = (key, props, result, element) => {\n const selectorKey = `&${key}`\n result[selectorKey] = convertPropsToClass(props, result, element)\n return result[selectorKey]\n}\n\nconst applyCaseProps = (key, props, result, element) => {\n const { CASES } = element.context && element.context.designSystem\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey]\n if (!CASES[caseKey] && !isPropTrue) return\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalCaseProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey]\n if (!isPropTrue) return // remove classname if not here\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalFalsyProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey] === true\n if (!isPropTrue) return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyTrueProps = (props, result, element) => merge(result, convertPropsToClass(props, result, element))\n\nconst beforeClassAssign = (element, s) => {\n const { props, class: className } = element\n\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n overwriteShallow(className, CLASS_NAMES)\n}\n\nconst initUpdate = (changes, element) => {\n const { props, context, class: className } = element\n if (!context) return\n const globalTheme = context.designSystem.globalTheme\n\n const parentProps = element.parent.props\n if (parentProps && parentProps.spacingRatio && parentProps.inheritSpacingRatio) {\n element.setProps({\n spacingRatio: parentProps.spacingRatio,\n inheritSpacingRatio: true\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true\n })\n }\n\n if (globalTheme) {\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (key === 'theme') {\n props.update({\n themeModifier: globalTheme\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true,\n preventDefineUpdate: true\n })\n } else if (key === 'true') applyTrueProps(props[key], CLASS_NAMES, element)\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n if (Object.keys(CLASS_NAMES.media).length) {\n className.media = CLASS_NAMES.media\n }\n className.selector = CLASS_NAMES.selector\n className.case = CLASS_NAMES.case\n }\n}\n\nexport const Media = {\n class: {\n case: (el, s) => {\n return {\n //\n }\n }\n },\n on: { beforeClassAssign, initUpdate }\n}\n", "'use strict'\n\nimport {\n getMediaTheme,\n getMediaColor,\n transformTextStroke,\n transformShadow,\n transformBorder,\n transformBackgroundImage\n} from '@symbo.ls/scratch'\n\nimport { depth } from './Shape/style'\n\nexport const getSystemTheme = ({ context, state }) => {\n const rootState = state && state.__root\n return rootState ? rootState.globalTheme : context.designSystem && context.designSystem.globalTheme\n}\n\nexport const Theme = {\n class: {\n depth: ({ props }) => props.depth && depth[props.depth],\n\n theme: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.theme) return\n return getMediaTheme(props.theme, `@${props.themeModifier || globalTheme}`)\n },\n\n color: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.color) return\n return {\n color: getMediaColor(props.color, globalTheme)\n }\n },\n\n background: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.background) return\n return {\n background: getMediaColor(props.background, globalTheme)\n }\n },\n\n backgroundColor: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundColor) return\n return {\n backgroundColor: getMediaColor(props.backgroundColor, globalTheme)\n }\n },\n\n backgroundImage: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundImage) return\n return ({\n backgroundImage: transformBackgroundImage(props.backgroundImage, globalTheme)\n })\n },\n backgroundSize: ({ props }) => props.backgroundSize\n ? ({\n backgroundSize: props.backgroundSize\n })\n : null,\n backgroundPosition: ({ props }) => props.backgroundPosition\n ? ({\n backgroundPosition: props.backgroundPosition\n })\n : null,\n\n textStroke: ({ props }) => props.textStroke\n ? ({\n WebkitTextStroke: transformTextStroke(props.textStroke)\n })\n : null,\n\n outline: ({ props }) => props.outline && ({\n outline: transformBorder(props.outline)\n }),\n\n border: ({ props }) => props.border && ({\n border: transformBorder(props.border)\n }),\n borderColor: ({ props }) => props.borderColor && ({\n borderColor: getMediaColor(props.borderColor)\n }),\n borderStyle: ({ props }) => props.borderStyle && ({\n borderStyle: props.borderStyle\n }),\n\n borderLeft: ({ props }) => props.borderLeft && ({\n borderLeft: transformBorder(props.borderLeft)\n }),\n borderTop: ({ props }) => props.borderTop && ({\n borderTop: transformBorder(props.borderTop)\n }),\n borderRight: ({ props }) => props.borderRight && ({\n borderRight: transformBorder(props.borderRight)\n }),\n borderBottom: ({ props }) => props.borderBottom && ({\n borderBottom: transformBorder(props.borderBottom)\n }),\n\n boxShadow: ({ props }) => props.boxShadow && ({\n boxShadow: transformShadow(props.boxShadow)\n }),\n\n textShadow: ({ props }) => props.textShadow && ({\n textShadow: transformShadow(props.textShadow)\n }),\n\n opacity: ({ props }) => props.opacity && ({\n opacity: props.opacity\n }),\n visibility: ({ props }) => props.visibility && ({\n visibility: props.visibility\n }),\n\n columnRule: ({ props }) => props.columnRule && ({\n columnRule: transformBorder(props.columnRule)\n })\n }\n}\n", "'use strict'\n\nimport { getActiveConfig, getColor, getTheme } from '@symbo.ls/scratch' // eslint-disable-line no-unused-vars\nimport { Timing } from '../Timing'\n\nconst CONFIG = getActiveConfig()\n\nexport const depth = {\n 4: { boxShadow: `rgba(0,0,0,.10) 0 2${CONFIG.UNIT.default} 4${CONFIG.UNIT.default}` },\n 6: { boxShadow: `rgba(0,0,0,.10) 0 3${CONFIG.UNIT.default} 6${CONFIG.UNIT.default}` },\n 10: { boxShadow: `rgba(0,0,0,.10) 0 4${CONFIG.UNIT.default} 10${CONFIG.UNIT.default}` },\n 16: { boxShadow: `rgba(0,0,0,.10) 0 8${CONFIG.UNIT.default} 16${CONFIG.UNIT.default}` },\n 26: { boxShadow: `rgba(0,0,0,.10) 0 14${CONFIG.UNIT.default} 26${CONFIG.UNIT.default}` },\n 42: { boxShadow: `rgba(0,0,0,.10) 0 20${CONFIG.UNIT.default} 42${CONFIG.UNIT.default}` }\n}\n\nconst getComputedBackgroundColor = ({ props }) => {\n return getColor(props.shapeDirectionColor) ||\n getColor(props.borderColor) ||\n getColor(props.backgroundColor) ||\n getColor(props.background)\n}\n\nconst inheritTransition = ({ props }) => {\n const exec = Timing.class.transition({ props })\n return exec && exec.transition\n}\n\nexport const SHAPES = {\n rectangle: {},\n circle: { borderRadius: '100%' },\n bubble: {},\n tv: {\n borderRadius: '1.15em/2.5em'\n },\n\n tooltip: ({ props }) => ({\n position: props.position || 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n width: '0px',\n height: '0px',\n border: '.35em solid',\n borderColor: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'border-color',\n position: 'absolute',\n borderRadius: '.15em'\n }\n }),\n\n tooltipDirection: {\n top: {\n '&:before': {\n top: '0',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n right: '0',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n bottom: '0',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n left: '0',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n }\n },\n\n tag: ({ props }) => ({\n position: 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background',\n borderRadius: '.25em',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%'\n }\n }),\n\n tagDirection: {\n top: {\n '&:before': {\n bottom: '100%',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n left: '100%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n top: '100%',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n right: '100%',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n }\n },\n\n hexagon: ({ props }) => ({\n position: 'relative',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n borderRadius: '.25em',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n },\n '&:before': {\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n },\n '&:after': {\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }),\n\n chevron: ({ props }) => ({\n position: 'relative',\n // overflow: 'hidden',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n\n },\n '&:before': {\n background: `linear-gradient(225deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%), linear-gradient(315deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%)`\n },\n '&:after': {\n background: getComputedBackgroundColor({ props }),\n borderRadius: '.25em'\n }\n }),\n\n chevronDirection: {\n left: {\n '&:before': {\n height: '100%',\n left: '100%',\n transform: 'translate3d(-1%, -50%, 1px) scale(-1, 1)'\n },\n '&:after': {\n height: '73%',\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n height: '100%',\n left: '0',\n transform: 'translate3d(-99%, -50%, 1px)'\n },\n '&:after': {\n height: '73%',\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }\n }\n}\n", "'use strict'\n\nimport {\n getTimingFunction,\n splitTransition,\n transformDuration\n} from '@symbo.ls/scratch'\n\nexport const Timing = {\n class: {\n transition: ({ props }) => props.transition && ({\n transition: splitTransition(props.transition)\n }),\n willChange: ({ props }) => props.willChange && ({\n willChange: props.willChange\n }),\n transitionDuration: ({ props }) => props.transitionDuration && ({\n transitionDuration: transformDuration(props.transitionDuration)\n }),\n transitionDelay: ({ props }) => props.transitionDelay && ({\n transitionDelay: transformDuration(props.transitionDelay)\n }),\n transitionTimingFunction: ({ props }) => props.transitionTimingFunction && ({\n transitionTimingFunction: getTimingFunction(props.transitionTimingFunction)\n }),\n transitionProperty: ({ props }) => props.transitionProperty && ({\n transitionProperty: props.transitionProperty,\n willChange: props.transitionProperty\n })\n }\n}\n", "'use strict'\n\nexport const Iframe = {\n tag: 'iframe',\n props: {\n position: 'relative',\n minWidth: 'H',\n minHeight: 'H'\n },\n attr: {\n src: ({ props }) => props.src,\n loading: ({ props }) => props.loading,\n allowfullscreen: ({ props }) => props.allowfullscreen,\n referrerpolicy: ({ props }) => props.referrerpolicy\n }\n}\n", "'use strict'\n\nexport const Interaction = {\n class: {\n userSelect: ({ props }) => props.userSelect && ({ userSelect: props.userSelect }),\n pointerEvents: ({ props }) => props.pointerEvents && ({ pointerEvents: props.pointerEvents }),\n cursor: ({ props }) => props.cursor && ({ cursor: props.cursor })\n }\n}\n", "'use strict'\n\nconst style = {\n appearance: 'none',\n border: 'none',\n cursor: 'pointer',\n fontFamily: 'inherit'\n}\n\nexport const Hoverable = {\n props: {\n transition: 'C defaultBezier',\n transitionProperty: 'opacity, transform',\n opacity: 0.85,\n\n ':hover': {\n opacity: 0.9,\n transform: 'scale(1.015)'\n },\n ':active': {\n opacity: 1,\n transform: 'scale(1.015)'\n },\n '.active': {\n opacity: 1,\n transform: 'scale(1.015)',\n\n ':hover': { opacity: 1 }\n }\n }\n}\n\nexport const Clickable = {\n extend: Hoverable,\n props: {\n ':active': {\n opacity: 1,\n transform: 'scale(1.015)'\n },\n '.active': {\n opacity: 1\n }\n }\n}\n\nexport const Focusable = {\n props: {\n border: 'none',\n outline: 'solid, 0, blue .3',\n ':focus-visible': {\n opacity: 1,\n outline: 'solid, X, blue .3'\n }\n },\n\n attr: {\n placeholder: ({ props }) => props.placeholder,\n tabIndex: ({ props }) => props.tabIndex\n }\n}\n\nexport const FocusableComponent = {\n extend: Focusable,\n tag: 'button',\n props: {\n fontSize: 'A',\n type: 'button',\n border: 'none',\n textDecoration: 'none',\n lineHeight: '1',\n whiteSpace: 'nowrap',\n fontFamily: 'inherit',\n style\n },\n attr: {\n type: ({ props }) => props.type\n }\n}\n", "'use strict'\n\nexport const Overflow = {\n class: {\n overflow: ({ props }) => props.overflow && ({ overflow: props.overflow })\n }\n}\n", "'use strict'\n\nimport { isState } from '@domql/state'\nimport { isNot, isArray, isObject, isObjectLike, diff, deepClone } from '@domql/utils'\n\nexport const Collection = {\n define: {\n $setCollection: (param, el, state) => {\n if (!param) return\n\n let data = isArray(param) ? param : []\n\n if (isObject(param)) {\n for (const obj in param) { data.push(param[obj]) }\n }\n\n data = data.map(item => !isObjectLike(item)\n ? {\n props: { value: item }\n }\n : item)\n\n if (data.length) {\n const t = setTimeout(() => {\n el.set({ tag: 'fragment', ...data }, { preventDefineUpdate: '$setCollection' })\n clearTimeout(t)\n })\n }\n\n return data\n },\n\n $setStateCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n if (el.key === 'cnt') {\n if (el.__ref.__stateCollectionCache) {\n const d = diff(param, el.__ref.__stateCollectionCache) // eslint-disable-line\n } else {\n el.__ref.__stateCollectionCache = deepClone(param)\n }\n }\n\n const obj = { tag: 'fragment' }\n\n for (const key in param) {\n const value = param[key]\n obj[key] = { state: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n return obj\n },\n\n $setPropsCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n const obj = { tag: 'fragment' }\n for (const key in param) {\n const value = param[key]\n obj[key] = { props: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n // const set = () => {\n // el.set(obj, { preventDefineUpdate: '$setPropsCollection' })\n // }\n\n // if (el.props && el.props.lazyLoad) {\n // window.requestAnimationFrame(set)\n // } else set()\n\n return obj\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingByKey } from '@symbo.ls/scratch'\n\nexport const Position = {\n props: {},\n\n class: {\n position: ({ props }) => props.position && ({ position: props.position }),\n inset: ({ props }) => {\n const { inset } = props\n if (typeof inset !== 'string') return\n return { inset: inset.split(' ').map(v => getSpacingByKey(v, 'k').k).join(' ') }\n },\n\n left: ({ props }) => getSpacingByKey(props.left, 'left'),\n top: ({ props }) => getSpacingByKey(props.top, 'top'),\n right: ({ props }) => getSpacingByKey(props.right, 'right'),\n bottom: ({ props }) => getSpacingByKey(props.bottom, 'bottom')\n }\n}\n", "'use strict'\n\nimport { getSystemTheme } from './Theme'\n\nexport const Picture = {\n tag: 'picture',\n\n childExtend: {\n tag: 'source',\n attr: {\n media: (element) => {\n const { props, key, context } = element\n const { MEDIA } = context.designSystem\n const globalTheme = getSystemTheme(element)\n const mediaName = (props.media || key).slice(1)\n\n if (mediaName === globalTheme) return '(min-width: 0px)'\n else if (mediaName === 'dark' || mediaName === 'light') return '(max-width: 0px)'\n\n return MEDIA[mediaName]\n },\n srcset: ({ props }) => props.srcset\n }\n },\n\n Img: ({ props }) => ({\n width: 'inherit',\n height: 'inherit',\n src: props.src\n })\n}\n", "'use strict'\n\nexport const Pseudo = {\n class: {\n content: ({ props }) => props.content && ({ content: props.content })\n }\n}\n", "'use strict'\n\n// import { init } from '@symbo.ls/init'\n\n// create SVG symbol\nexport const Svg = {\n tag: 'svg',\n props: {\n style: { '*': { fill: 'currentColor' } }\n },\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n 'xmlns:xlink': 'http://www.w3.org/1999/xlink'\n },\n html: ({ key, props, context, ...el }) => {\n const { designSystem, utils } = context\n const SVG = designSystem && designSystem.SVG\n const useSvgSprite = props.spriteId || (context.designSystem && context.designSystem.useSvgSprite)\n const useSVGSymbol = icon => `<use xlink:href=\"#${icon}\" />`\n\n const init = utils && utils.init\n\n if (!useSvgSprite && props.src) return props.src\n\n const spriteId = props.spriteId\n if (spriteId) return useSVGSymbol(spriteId)\n\n const symbolId = Symbol.for(props.src)\n let SVGKey = SVG[symbolId]\n if (SVGKey && SVG[SVGKey]) return useSVGSymbol(SVGKey)\n\n SVGKey = SVG[symbolId] = Math.random()\n if (props.src) {\n init({\n svg: { [SVGKey]: props.src }\n }, {\n document: context.document,\n emotion: context.emotion\n })\n }\n\n return useSVGSymbol(SVGKey)\n }\n}\n", "'use strict'\n\nimport { exec, isString } from '@domql/utils'\nimport { SHAPES } from './style'\nimport { getSpacingBasedOnRatio, getMediaColor } from '@symbo.ls/scratch'\nimport { Pseudo } from '../Pseudo'\n\nconst transformBorderRadius = (radius, props, propertyName) => {\n if (!isString(radius)) return\n return {\n borderRadius: radius.split(' ').map((v, k) => getSpacingBasedOnRatio(props, propertyName, v)[propertyName]).join(' ')\n }\n}\n\nexport const Shape = {\n extend: Pseudo,\n\n class: {\n shape: ({ props }) => {\n const { shape } = props\n return exec(SHAPES[shape], ({ props }))\n },\n shapeDirection: ({ props }) => {\n const { shape, shapeDirection } = props\n if (!shape || !shapeDirection) return\n const shapeDir = SHAPES[shape + 'Direction']\n return shape && shapeDir ? shapeDir[shapeDirection || 'left'] : null\n },\n shapeDirectionColor: ({ props }) => {\n const { background, backgroundColor } = props\n const borderColor = {\n borderColor: getMediaColor(background || backgroundColor)\n }\n return props.shapeDirection ? borderColor : null\n },\n\n round: ({ props, key, ...el }) => transformBorderRadius(props.round || props.borderRadius, props, 'round'),\n borderRadius: ({ props, key, ...el }) => transformBorderRadius(props.borderRadius || props.round, props, 'borderRadius')\n }\n}\n\nexport default Shape\n", "'use strict'\n\nimport { getFontSizeByKey, getFontFamily } from '@symbo.ls/scratch'\n\nexport const Text = {\n text: ({ key, props, state }) => {\n if (props.text === true) return (state && state[key]) || (props && props[key])\n return props.text\n },\n class: {\n fontSize: ({ props }) => props.fontSize ? getFontSizeByKey(props.fontSize) : null,\n fontFamily: ({ props }) => props.fontFamily && ({ fontFamily: getFontFamily(props.fontFamily) || props.fontFamily }),\n lineHeight: ({ props }) => props.lineHeight && ({ lineHeight: props.lineHeight }),\n // lineHeight: ({ props }) => props.lineHeight && getSpacingBasedOnRatio(props, 'lineHeight', null, ''),\n textDecoration: ({ props }) => props.textDecoration && ({ textDecoration: props.textDecoration }),\n textTransform: ({ props }) => props.textTransform && ({ textTransform: props.textTransform }),\n whiteSpace: ({ props }) => props.whiteSpace && ({ whiteSpace: props.whiteSpace }),\n letterSpacing: ({ props }) => props.letterSpacing && ({ letterSpacing: props.letterSpacing }),\n textAlign: ({ props }) => props.textAlign && ({ textAlign: props.textAlign }),\n fontWeight: ({ props }) => props.fontWeight && ({\n fontWeight: props.fontWeight,\n fontVariationSettings: '\"wght\" ' + props.fontWeight\n })\n }\n}\n\nexport const H1 = { tag: 'h1' }\nexport const H2 = { tag: 'h2' }\nexport const H3 = { tag: 'h3' }\nexport const H4 = { tag: 'h4' }\nexport const H5 = { tag: 'h5' }\nexport const H6 = { tag: 'h6' }\nexport const P = { tag: 'p' }\nexport const Caption = { tag: 'caption' }\nexport const Strong = {\n tag: 'strong',\n props: { fontWeight: '700' }\n}\nexport const Underline = { tag: 'u' }\nexport const Italic = { tag: 'i' }\n\nexport const Headline = {\n tag: 'h6',\n props: { fontSize: 'B', fontWeight: 500 }\n}\n\nexport const Subhead = {\n tag: 'span',\n props: { fontSize: 'Z1' }\n}\n\nexport const Footnote = {\n tag: 'span',\n props: { fontSize: 'Z' }\n}\n", "'use strict'\n\nexport const Transform = {\n class: {\n transform: ({ props }) => props.transform && ({ transform: props.transform }),\n transformOrigin: ({ props }) => props.transformOrigin && ({ transformOrigin: props.transformOrigin })\n }\n}\n", "'use strict'\n\nexport const XYZ = {\n class: {\n zIndex: ({ props }) => props.zIndex && ({ zIndex: props.zIndex })\n }\n}\n", "'use strict'\n\nimport { getTimingByKey, getTimingFunction } from '@symbo.ls/scratch'\nimport { isObject } from '@domql/utils'\nimport { emotion } from '@symbo.ls/emotion'\nconst { keyframes } = emotion\n\nconst applyAnimationProps = (animation, element) => {\n if (isObject(animation)) return { animationName: keyframes(animation) }\n const { ANIMATION } = element.context && element.context.designSystem\n const record = ANIMATION[animation]\n return keyframes(record)\n}\n\nexport const Animation = {\n class: {\n animation: (el) => el.props.animation && {\n animationName: applyAnimationProps(el.props.animation, el),\n animationDuration: getTimingByKey(el.props.animationDuration || 'A').timing,\n animationDelay: getTimingByKey(el.props.animationDelay || '0s').timing,\n animationTimingFunction: getTimingFunction(el.props.animationTimingFunction || 'ease'),\n animationFillMode: el.props.animationFillMode || 'both',\n animationPlayState: el.props.animationPlayState,\n animationDirection: el.props.animationDirection\n },\n animationName: (el) => el.props.animationName && {\n animationName: applyAnimationProps(el.props.animationName, el)\n },\n\n animationDuration: ({ props }) => props.animationDuration && ({\n animationDuration: getTimingByKey(props.animationDuration).timing\n }),\n animationDelay: ({ props }) => props.animationDelay && ({\n animationDelay: getTimingByKey(props.animationDelay).timing\n }),\n animationTimingFunction: ({ props }) => props.animationTimingFunction && ({\n animationTimingFunction: getTimingFunction(props.animationTimingFunction)\n }),\n animationFillMode: ({ props }) => props.animationFillMode && ({\n animationFillMode: props.animationFillMode\n }),\n animationPlayState: ({ props }) => props.animationPlayState && ({\n animationPlayState: props.animationPlayState\n }),\n animationIterationCount: ({ props }) => props.animationIterationCount && ({\n animationIterationCount: props.animationIterationCount || 1\n }),\n animationDirection: ({ props }) => props.animationDirection && ({\n animationDirection: props.animationDirection\n })\n }\n}\n", "/*\n\nBased off glamor's StyleSheet, thanks Sunil \u2764\uFE0F\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n", "export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n", "/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n", "import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n", "import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n", "import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n", "import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n", "function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n", "import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, COMMENT, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule' || cache.compat) return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses) {\n var isNested = !!element.parent; // in nested rules comments become children of the \"auto-inserted\" rule and that's always the `element.parent`\n //\n // considering this input:\n // .a {\n // .b /* comm */ {}\n // color: hotpink;\n // }\n // we get output corresponding to this:\n // .a {\n // & {\n // /* comm */\n // color: hotpink;\n // }\n // .b {}\n // }\n\n var commentContainer = isNested ? element.parent.children : // global rule at the root level\n children;\n\n for (var i = commentContainer.length - 1; i >= 0; i--) {\n var node = commentContainer[i];\n\n if (node.line < element.line) {\n break;\n } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n // this will also match inputs like this:\n // .a {\n // /* comm */\n // .b {}\n // }\n //\n // but that is fine\n //\n // it would be the easiest to change the placement of the comment to be the first child of the rule:\n // .a {\n // .b { /* comm */ }\n // }\n // with such inputs we wouldn't have to search for the comment at all\n // TODO: consider changing this comment placement in the next major version\n\n\n if (node.column < element.column) {\n if (isIgnoringComment(node)) {\n return;\n }\n\n break;\n }\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n", "/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport { murmur2 as default };\n", "var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n", "import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error(noComponentSelectorMessage);\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n", "var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n", "import createCache from '@emotion/cache';\nimport { serializeStyles } from '@emotion/serialize';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\n\nfunction insertWithoutScoping(cache, serialized) {\n if (cache.inserted[serialized.name] === undefined) {\n return cache.insert('', serialized, cache.sheet, true);\n }\n}\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar createEmotion = function createEmotion(options) {\n var cache = createCache(options); // $FlowFixMe\n\n cache.sheet.speedy = function (value) {\n if (process.env.NODE_ENV !== 'production' && this.ctr !== 0) {\n throw new Error('speedy must be changed before any rules are inserted');\n }\n\n this.isSpeedy = value;\n };\n\n cache.compat = true;\n\n var css = function css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered, undefined);\n insertStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var keyframes = function keyframes() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n var animation = \"animation-\" + serialized.name;\n insertWithoutScoping(cache, {\n name: serialized.name,\n styles: \"@keyframes \" + animation + \"{\" + serialized.styles + \"}\"\n });\n return animation;\n };\n\n var injectGlobal = function injectGlobal() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n insertWithoutScoping(cache, serialized);\n };\n\n var cx = function cx() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n return {\n css: css,\n cx: cx,\n injectGlobal: injectGlobal,\n keyframes: keyframes,\n hydrate: function hydrate(ids) {\n ids.forEach(function (key) {\n cache.inserted[key] = true;\n });\n },\n flush: function flush() {\n cache.registered = {};\n cache.inserted = {};\n cache.sheet.flush();\n },\n // $FlowFixMe\n sheet: cache.sheet,\n cache: cache,\n getRegisteredStyles: getRegisteredStyles.bind(null, cache.registered),\n merge: merge.bind(null, cache.registered, css)\n };\n};\n\nvar classnames = function classnames(args) {\n var cls = '';\n\n for (var i = 0; i < args.length; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nexport { createEmotion as default };\n", "'use strict'\n\nimport createInstance from '@emotion/css/create-instance'\n\nexport const createEmotion = (key = 'smbls', container) => {\n const cleanKey = key.replaceAll(/\\./g, '-')\n return createInstance({ key: cleanKey, container })\n}\n\nexport const emotion = createEmotion()\n", "'use strict'\n\nimport {\n Shape,\n Position,\n Theme,\n Block,\n Text,\n Overflow,\n Timing,\n Transform,\n Media,\n Interaction,\n XYZ,\n Animation\n} from '@symbo.ls/atoms'\n\nconst PropsCSS = {\n class: {\n style: ({ props }) => props && props.style\n }\n}\n\nexport const Box = {\n extend: [\n PropsCSS,\n Shape,\n Position,\n Theme,\n Block,\n Text,\n Overflow,\n Timing,\n Transform,\n Media,\n Interaction,\n XYZ,\n Animation\n ],\n attr: {\n id: ({ props }) => props.id\n }\n}\n", "'use strict'\n\nimport { Img, Flex } from '@symbo.ls/atoms'\n\nexport const Avatar = {\n extend: Img,\n props: {\n display: 'block',\n avatarType: 'initials',\n borderRadius: '100%',\n boxSize: 'B',\n cursor: 'pointer'\n },\n attr: {\n src: ({ key, props }) => props.src || `https://avatars.dicebear.com/api/${props.avatarType || 'adventurer-neutral'}/${props.key || key}.svg`\n }\n}\n\nexport const AvatarBundle = {\n extend: Flex,\n childExtend: {\n extend: Avatar,\n props: {\n boxSize: 'B1',\n border: '0.1312em, black .85, solid',\n ':not(:last-child)': {\n margin: '0 -Y2 0 0'\n }\n }\n }\n}\n", "'use strict'\n\nimport { Flex, Svg } from '@symbo.ls/atoms'\n\nexport const Icon = {\n extend: Svg,\n props: ({ key, props, parent, context }) => {\n const { ICONS, useIconSprite, verbose } = context && context.designSystem\n const { toCamelCase } = context && context.utils\n const iconName = props.inheritedString || props.name || props.icon || key\n const camelCase = toCamelCase(iconName)\n\n const isArray = camelCase.split(/([a-z])([A-Z])/g)\n\n let activeIconName\n if (props.active) {\n activeIconName = props['.active'].name || props['.active'].icon\n }\n if (\n parent &&\n parent.props &&\n parent.props.active &&\n parent.props['.active'] &&\n parent.props['.active'].icon\n ) {\n activeIconName = parent.props['.active'].icon.name || parent.props['.active'].icon.icon || parent.props['.active'].icon\n }\n\n let validIconName\n if (ICONS[activeIconName]) validIconName = activeIconName\n if (ICONS[camelCase]) validIconName = camelCase\n else if (ICONS[isArray[0] + isArray[1]]) validIconName = isArray[0] + isArray[1]\n else if (ICONS[isArray[0]]) validIconName = isArray[0]\n else {\n if (verbose) console.warn('Can\\'t find icon:', iconName, validIconName)\n }\n\n const iconFromLibrary = ICONS[validIconName]\n const directSrc = (parent && parent.props && parent.props.src) || props.src\n\n return {\n width: 'A',\n height: 'A',\n display: 'inline-block',\n spriteId: useIconSprite && validIconName,\n src: iconFromLibrary || directSrc || ICONS.noIcon,\n style: { fill: 'currentColor' }\n }\n },\n attr: { viewBox: '0 0 24 24' }\n}\n\nexport const IconText = {\n extend: Flex,\n\n props: {\n align: 'center center',\n lineHeight: 1\n },\n\n // TODO: remove this variant\n icon: {\n extend: Icon,\n if: ({ parent }) => parent.props.icon\n },\n\n Icon: {\n props: {},\n if: ({ props }) => props.name || props.icon\n },\n\n text: ({ props }) => props.text\n}\n", "'use strict'\n\nimport { FocusableComponent } from '@symbo.ls/atoms'\nimport { IconText } from '@symbo.ls/icon'\n\nexport const Button = {\n extend: [FocusableComponent, IconText],\n tag: 'button',\n props: {\n fontSize: 'A',\n type: 'button',\n border: 'none',\n display: 'inline-flex',\n align: 'center center',\n textDecoration: 'none',\n lineHeight: '1',\n whiteSpace: 'nowrap',\n padding: 'Z A1',\n fontFamily: 'inherit',\n round: 'C2'\n },\n attr: {\n type: ({ props }) => props.type\n }\n}\n\nexport const SquareButton = {\n extend: Button,\n props: {\n fontSize: 'A',\n width: 'A',\n padding: 'Z',\n aspectRatio: '1 / 1',\n justifyContent: 'center',\n round: 'Z',\n style: { boxSizing: 'content-box' }\n }\n}\n\nexport const CircleButton = {\n extend: SquareButton,\n props: { round: 'C' }\n}\n\nexport const KangorooButton = {\n extend: Button,\n childExtend: IconText\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\nimport { SquareButton } from '@symbo.ls/button'\n\nexport const ButtonSet = {\n tag: 'nav',\n extend: Flex,\n childExtend: SquareButton\n}\n", "'use strict'\n\nimport { Button } from '@symbo.ls/button'\nimport { Flex } from '@symbo.ls/atoms'\n\nexport const Dialog = {\n props: {\n theme: 'tertiary',\n round: 'Z2',\n margin: 'E',\n overflow: 'hidden',\n padding: '- Z - -'\n }\n}\n\nexport const DialogFooter = {\n extend: Flex,\n props: {\n align: 'center flex-end',\n gap: 'X2',\n margin: 'auto - -',\n padding: 'Y2 X2'\n },\n\n childExtend: {\n extend: Button,\n props: {\n theme: 'primary @dark .color-only',\n fontSize: 'Z1',\n textTransform: 'uppercase',\n background: 'transparent',\n '&': {\n padding: 'Z A'\n },\n ':hover': {\n background: 'white .065'\n },\n ':active': {\n background: 'white .1'\n }\n }\n },\n\n cancel: {\n text: 'cancel'\n },\n ok: {\n text: 'ok'\n }\n}\n", "'use strict'\n\nimport { Flex, Grid } from '@symbo.ls/atoms'\nimport { Button } from '@symbo.ls/button'\nimport { Dialog } from '@symbo.ls/dialog'\n\nexport const DatePickerYears = {\n tag: 'aside',\n props: {\n overflow: 'hidden',\n position: 'relative',\n\n ':before': {\n content: '\"\"',\n boxSize: 'A1 100%',\n position: 'absolute',\n top: '0',\n left: '0',\n background: 'linear-gradient(to bottom, var(--theme-tertiary-dark-background) 0%, transparent 100%)',\n zIndex: '10'\n },\n ':after': {\n content: '\"\"',\n boxSize: 'B 100%',\n position: 'absolute',\n bottom: '0',\n left: '0',\n background: 'linear-gradient(to top, var(--theme-tertiary-dark-background) 0%, transparent 100%)'\n }\n },\n\n Flex: {\n props: {\n flow: 'column',\n gap: 'B',\n padding: 'A Z A1 B1',\n maxHeight: '100%',\n overflow: 'hidden auto',\n '::-webkit-scrollbar': { display: 'none' }\n },\n\n childExtend: {\n extend: Button,\n props: ({ state, text }) => ({\n fontSize: 'Y1',\n color: 'white',\n opacity: '.4',\n background: 'transparent',\n transition: 'opacity .25s ease',\n isActive: state.activeYear === text,\n '.isActive': { opacity: '1' },\n ':hover': { opacity: '1' }\n }),\n on: {\n click: (event, element, state) => state.update({ activeYear: element.text }),\n render: (el, state) => {\n const { props } = el\n const { isActive } = props\n if (isActive) {\n window.requestAnimationFrame(() => {\n el.parent.parent.node.scrollTop = el.node.offsetTop - 100\n })\n }\n }\n }\n },\n\n $setCollection: ({ state, parent }) => {\n const { yearRange } = parent.parent.props\n\n if (yearRange) {\n const [start, end] = yearRange\n const yearsArray = (new Array(end + 1 - start)).fill(undefined).map((v, k) => {\n return { text: start + k }\n }).reverse()\n return yearsArray\n }\n\n return [\n { text: '2023' },\n { text: '2022' },\n { text: '2021' },\n { text: '2020' },\n { text: '2019' },\n { text: '2018' },\n { text: '2017' },\n { text: '2016' },\n { text: '2015' },\n { text: '2014' },\n { text: '2013' },\n { text: '2012' },\n { text: '2012' },\n { text: '2012' }\n ]\n }\n }\n}\n\nexport const DatePickerMonthsSlider = {\n extend: Flex,\n props: {\n position: 'relative',\n overflow: 'hidden',\n alignItems: 'center',\n padding: '- - B -',\n maxWidth: `${272 / 16}em`,\n boxSizing: 'border-box',\n ':before': {\n content: '\"\"',\n position: 'absolute',\n boxSize: '100% 100px',\n background: 'linear-gradient(to right, var(--theme-tertiary-dark-background) 0%, transparent 100%)',\n left: '0',\n top: '0',\n zIndex: '30',\n pointerEvents: 'none'\n },\n ':after': {\n content: '\"\"',\n position: 'absolute',\n boxSize: '100% 100px',\n background: 'linear-gradient(to left, var(--theme-tertiary-dark-background) 0%, transparent 100%)',\n right: '0',\n top: '0',\n zIndex: '30',\n pointerEvents: 'none'\n },\n\n style: {\n '> button': {\n width: '16px',\n height: '16px',\n position: 'absolute',\n zIndex: '35',\n background: 'transparent',\n color: '#0079FD',\n ':first-child': { left: '18px' },\n ':last-child': { right: '18px' }\n }\n }\n },\n\n leftButton: {\n extend: Button,\n props: { icon: 'arrowLeft' }\n },\n\n Flex: {\n props: {\n flex: '1',\n overflow: 'auto hidden',\n '::-webkit-scrollbar': { display: 'none' }\n },\n\n childExtend: {\n tag: 'h6',\n props: ({ state, key }) => ({\n fontSize: 'Z1',\n textAlign: 'center',\n boxSizing: 'content-box',\n minWidth: '272px',\n\n isActive: state.activeMonth === parseInt(key),\n '.isActive': { opacity: '1' }\n }),\n\n render: (el, state) => {\n const { props } = el\n const { isActive } = props\n if (isActive) {\n window.requestAnimationFrame(() => {\n el.parent.parent.node.scrollLeft = el.node.offsetLeft\n })\n }\n }\n },\n\n $setCollection: ({ state, parent }) => {\n return [\n { text: 'January' },\n { text: 'February' },\n { text: 'March' },\n { text: 'April' },\n { text: 'May' },\n { text: 'June' },\n { text: 'July' },\n { text: 'August' },\n { text: 'September' },\n { text: 'October' },\n { text: 'November' },\n { text: 'December' }\n ]\n }\n },\n\n rightButton: { extend: Button, props: { icon: 'arrowRight' } }\n}\n\nexport const DatePickerWeekDays = {\n extend: Grid,\n props: {\n overflow: 'hidden',\n padding: '- Z Z',\n width: '100%',\n columns: 'repeat(7, 1fr)',\n gap: 'W2'\n },\n childExtend: {\n tag: 'span',\n extend: Flex,\n props: {\n fontSize: 'Y1',\n textTransform: 'capitalize',\n align: 'center center',\n ':nth-child(7n-1), &:nth-child(7n)': { opacity: '.5' }\n }\n },\n ...[\n { text: 'Mo' },\n { text: 'Tu' },\n { text: 'We' },\n { text: 'Th' },\n { text: 'Fr' },\n { text: 'Sa' },\n { text: 'Su' }\n ]\n}\n\nexport const DatePickerGrid = {\n extend: Grid,\n props: {\n columns: 'repeat(7, 1fr)',\n minWidth: '100%',\n gap: 'W2',\n padding: '- Z'\n },\n childExtend: {\n extend: Button,\n props: ({ state, key }) => ({\n isActive: state.activeDay === parseInt(key) + 1,\n textAlign: 'center',\n fontSize: 'Z1',\n round: '100%',\n height: 'B1',\n aspectRatio: '1/1',\n lineHeight: '.9',\n background: 'transparent',\n theme: 'secondary @dark .color',\n '.isActive': { theme: 'primary' },\n '!isActive': {\n ':hover': { theme: 'secondary' },\n ':nth-child(7n-1), &:nth-child(7n)': { opacity: '.5' }\n }\n }),\n on: {\n click: (event, element, state) => {\n state.update({ activeDay: element.text })\n console.log(state.activeDay + '.' + state.activeMonth + '.' + state.activeYear)\n }\n }\n },\n $setPropsCollection: (el, s) => {\n const daysInMonth = new Date(s.activeYear, s.activeMonth, 0).getDate()\n const days = (new Array(daysInMonth)).fill(undefined)\n .map((v, k) => ({ text: k + 1 }))\n return days\n }\n}\n\nconst monthNumbersContainer = {\n props: {\n maxWidth: `${272 / 16}em`,\n position: 'relative',\n ':before': {\n content: '\"\"',\n position: 'absolute',\n boxSize: '100% 12px',\n background: 'linear-gradient(to right, var(--theme-tertiary-dark-background) 0%, transparent 100%)',\n left: '0',\n top: '0',\n zIndex: '30'\n },\n ':after': {\n content: '\"\"',\n position: 'absolute',\n boxSize: '100% 12px',\n background: 'linear-gradient(to left, var(--theme-tertiary-dark-background) 0%, transparent 100%)',\n right: '0',\n top: '0',\n zIndex: '30'\n },\n content: {\n overflow: 'auto hidden'\n }\n },\n\n content: {\n extend: Flex,\n childExtend: DatePickerGrid,\n ...[{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}]\n }\n}\n\nconst props = {\n yearRange: [1993, 2023],\n maxHeight: '318px',\n boxSize: 'fit-content fit-content',\n style: {\n button: {\n padding: '0'\n }\n }\n}\n\nexport const DatePicker = {\n extend: [Dialog, Flex],\n state: {\n activeYear: 1993,\n activeMonth: 8,\n activeDay: 14\n },\n\n props,\n\n DatePickerYears: {},\n\n Flex: {\n props: {\n flow: 'column',\n padding: '20px - - -',\n position: 'relative'\n },\n\n DatePickerMonthsSlider: {},\n\n DatePickerWeekDays: {},\n\n monthNumbersContainer,\n\n DialogFooter: {}\n }\n}\n\nexport const DatePickerTwoColumns = {\n extend: DatePicker,\n props: {\n calendar: {\n months: {\n maxWidth: `${544 / 16}em`\n },\n weekDaysContainer: {\n maxWidth: `${544 / 16}em`\n },\n monthNumbersContainer: {\n maxWidth: `${544 / 16}em`\n }\n }\n }\n}\n", "'use strict'\n\nimport { Focusable } from '@symbo.ls/atoms'\n\nexport const Input = {\n extend: [Focusable],\n tag: 'input',\n\n props: {\n border: 'none',\n type: 'input',\n theme: 'quaternary',\n fontSize: 'A',\n round: 'C',\n lineHeight: 1,\n fontFamily: 'smbls',\n padding: 'Z A'\n },\n\n attr: {\n pattern: ({ props }) => props.pattern,\n minlength: ({ props }) => props.minlength,\n maxlength: ({ props }) => props.maxlength,\n name: ({ props }) => props.name,\n autocomplete: ({ props }) => props.autocomplete,\n placeholder: ({ props }) => props.placeholder,\n value: ({ props, state }) => props.value,\n disabled: ({ props }) => props.disabled || null,\n readonly: ({ props }) => props.readonly,\n required: ({ props }) => props.required,\n type: ({ props }) => props.type\n }\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\nimport { Input } from '@symbo.ls/input'\nimport { Button } from '@symbo.ls/button'\n\nconst props = {\n align: 'center center',\n flow: 'column',\n gap: 'X',\n style: {\n 'input[type=number]::-webkit-inner-spin-button': {\n '-webkit-appearance': 'none',\n margin: 0\n },\n 'input[type=number]::-webkit-outer-spin-button': {\n '-webkit-appearance': 'none',\n margin: 0\n },\n 'input[type=number]': { '-webkit-appearance': 'textfield' },\n 'input:focus < button': { border: '3px solid red' },\n '> button': {\n padding: '0',\n background: 'transparent',\n color: 'white',\n fontSize: `${12 / 16}em`,\n display: 'none'\n }\n },\n\n input: {\n boxSize: 'C C',\n round: 'Z',\n padding: '0',\n align: 'center center',\n textAlign: 'center',\n color: 'white',\n background: 'white .15'\n }\n}\n\nexport const TimePickerItem = {\n tag: 'label',\n extend: Flex,\n props,\n upButton: { extend: Button, props: { icon: 'plus' } },\n input: { extend: [Input, Flex], attr: { type: 'number', min: '1', max: '24', value: '1' } },\n downButton: { extend: Button, props: { icon: 'minus' } }\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\nimport { TimePickerItem } from './TimePickerItem'\n\nconst props = {\n flow: 'column',\n width: 'fit-content',\n background: 'rgba(255, 255, 255, .15)',\n padding: 'A A B A',\n round: 'Z',\n\n title: {\n fontSize: 'Z1',\n textTransform: 'capitalize',\n padding: '- - B -'\n },\n\n content: {\n align: 'center center',\n gap: 'A',\n timePickers: {\n align: 'center center',\n gap: 'Y2'\n }\n },\n\n footButtons: {\n align: 'center flex-end',\n gap: 'A1',\n padding: 'B1 - - -',\n childProps: {\n background: 'transparent',\n padding: '0',\n color: '#0079FD'\n }\n }\n}\n\nexport const TimePicker = {\n extend: Flex,\n props,\n title: { text: 'enter time' },\n content: {\n extend: Flex,\n timePickers: {\n tag: 'label',\n extend: Flex,\n ...[\n { extend: TimePickerItem },\n ':',\n { extend: TimePickerItem },\n ':',\n { extend: TimePickerItem }\n ]\n },\n TimeSwitcher: {}\n },\n\n DialogFooter: {}\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\nimport { Button } from '@symbo.ls/button'\n\nexport const DropdownList = {\n extend: Flex,\n\n props: {\n padding: '0 Y',\n maxHeight: 'G',\n flow: 'column',\n theme: 'quaternary',\n overflow: 'hidden auto',\n style: { listStyleType: 'none' }\n },\n\n childExtend: {\n extend: Button,\n state: {},\n props: ({ key, state }) => ({\n active: state.active === key,\n position: 'relative',\n round: '0',\n align: 'center flex-end',\n flow: 'row-reverse',\n padding: 'Z2 C Z2 Y2',\n margin: '0',\n gap: 'Y2',\n theme: 'quaternary .child',\n\n ':hover': {\n style: {\n svg: { opacity: '0.5' }\n }\n },\n\n icon: {\n active: state.active === key,\n name: 'checkmark',\n opacity: '0.1',\n '.active': { opacity: '1' }\n },\n\n ':not(:first-child)': {\n '@dark': { border: 'gray4 .65, solid' },\n '@light': { border: 'gray11, solid' },\n borderWidth: '1px 0 0'\n }\n })\n }\n}\n\nexport const DropdownParent = {\n props: {\n position: 'relative',\n zIndex: 999,\n style: {\n '&:hover': {\n zIndex: 1000,\n '& [dropdown]': {\n transform: 'translate3d(0,0,0)',\n opacity: 1,\n visibility: 'visible'\n }\n }\n }\n }\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\n\nconst props = {\n flow: 'column',\n gap: 'Y2',\n childProps: { textTransform: 'capitalize' },\n subCaption: {\n fontSize: 'Z',\n color: '#A3A3A8'\n }\n}\n\nexport const FieldLabel = {\n extend: Flex,\n props,\n caption: {\n tag: 'span',\n text: 'text'\n },\n subCaption: {\n tag: 'span',\n text: 'description'\n }\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\n\nimport { FieldLabel } from './FieldLabel'\n\nconst templateDefault = {\n padding: 'Z',\n round: '100%',\n boxSize: 'fit-content fit-content',\n ':hover': { background: '#252527' },\n\n input: {\n ':checked + div': {\n background: '#0474F2',\n border: 'none'\n },\n ':checked + div > svg': { opacity: '1' },\n display: 'none'\n },\n\n checkbox: {\n align: 'center center',\n border: '1px solid #E9E9EA',\n boxSize: 'B B',\n round: 'Y',\n Icon: {\n height: 'Z Z2',\n color: 'white',\n name: 'check',\n opacity: '0',\n transition: 'opacity .15s ease'\n }\n }\n}\n\nexport const Checkbox = {\n tag: 'label',\n props: templateDefault,\n input: {\n attr: {\n type: 'checkbox',\n checked: ({ parent }) => parent.props.checked\n }\n },\n checkbox: {\n extend: 'Flex',\n Icon: {}\n }\n}\n\nexport const CheckBoxWithLabel = {\n extend: Flex,\n props: {\n gap: 'A',\n width: 'fit-content',\n fieldLabel: { padding: 'Z - - -' }\n },\n checkbox: { extend: Checkbox },\n fieldLabel: { extend: FieldLabel }\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\n\nimport { Checkbox } from './Checkbox'\nimport { FieldLabel } from './FieldLabel'\n\nconst templateDefault = {\n input: { ':checked + div > div': { opacity: '1' } },\n checkbox: {\n round: '100%',\n circle: {\n boxSize: 'Y2 Y2',\n background: 'black',\n round: '100%',\n opacity: '0',\n transition: 'opacity .15s ease'\n }\n }\n}\n\nexport const Radio = {\n extend: Checkbox,\n props: templateDefault,\n input: { attr: { type: 'radio' } },\n checkbox: {\n Icon: null,\n circle: {}\n }\n}\n\nexport const RadioWithLabel = {\n extend: Flex,\n props: {\n gap: 'A',\n width: 'fit-content',\n fieldLabel: { padding: 'Z - - -' }\n },\n radio: { extend: Radio },\n fieldLabel: { extend: FieldLabel }\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\n\nimport { Checkbox } from './Checkbox'\nimport { FieldLabel } from './FieldLabel'\n\nconst templateDefault = {\n padding: 'Y',\n round: 'B',\n input: { ':checked + div': { justifyContent: 'flex-end', background: '#47FF09' } },\n ':hover > div': { opacity: '1' },\n checkbox: {\n boxSize: 'B C',\n padding: '- W',\n round: 'D',\n opacity: '.5',\n align: 'center flex-start',\n background: '#CFCFD1',\n border: 'none',\n transition: 'opacity .15s ease',\n circle: {\n boxSize: 'A1 A1',\n round: '100%',\n background: 'white',\n style: {\n boxShadow: '1px 1px 8px rgba(0, 0, 0, 0.2)'\n }\n }\n }\n}\n\nexport const ToggleSwitch = {\n extend: Checkbox,\n props: templateDefault,\n\n input: {},\n checkbox: {\n Icon: null,\n circle: {}\n }\n}\n\nexport const ToggleSwithWithLabel = {\n extend: Flex,\n props: {\n gap: 'A',\n width: 'fit-content',\n fieldLabel: { padding: 'Z - - -' }\n },\n toggleSwith: { extend: ToggleSwitch },\n fieldLabel: { extend: FieldLabel }\n}\n", "'use strict'\n\nimport { Flex, Svg } from '@symbo.ls/atoms'\n\nexport const Icon = {\n extend: Svg,\n props: ({ key, props, parent, context }) => {\n const { ICONS, useIconSprite, verbose } = context && context.designSystem\n const { toCamelCase } = context && context.utils\n const iconName = props.inheritedString || props.name || props.icon || key\n const camelCase = toCamelCase(iconName)\n\n const isArray = camelCase.split(/([a-z])([A-Z])/g)\n\n let activeIconName\n if (props.active) {\n activeIconName = props['.active'].name || props['.active'].icon\n }\n if (\n parent &&\n parent.props &&\n parent.props.active &&\n parent.props['.active'] &&\n parent.props['.active'].icon\n ) {\n activeIconName = parent.props['.active'].icon.name || parent.props['.active'].icon.icon || parent.props['.active'].icon\n }\n\n let validIconName\n if (ICONS[activeIconName]) validIconName = activeIconName\n if (ICONS[camelCase]) validIconName = camelCase\n else if (ICONS[isArray[0] + isArray[1]]) validIconName = isArray[0] + isArray[1]\n else if (ICONS[isArray[0]]) validIconName = isArray[0]\n else {\n if (verbose) console.warn('Can\\'t find icon:', iconName, validIconName)\n }\n\n const iconFromLibrary = ICONS[validIconName]\n const directSrc = (parent && parent.props && parent.props.src) || props.src\n\n return {\n width: 'A',\n height: 'A',\n display: 'inline-block',\n spriteId: useIconSprite && validIconName,\n src: iconFromLibrary || directSrc || ICONS.noIcon,\n style: { fill: 'currentColor' }\n }\n },\n attr: { viewBox: '0 0 24 24' }\n}\n\nexport const IconText = {\n extend: Flex,\n\n props: {\n align: 'center center',\n lineHeight: 1\n },\n\n // TODO: remove this variant\n icon: {\n extend: Icon,\n if: ({ parent }) => parent.props.icon\n },\n\n Icon: {\n props: {},\n if: ({ props }) => props.name || props.icon\n },\n\n text: ({ props }) => props.text\n}\n", "'use strict'\n\nimport { router as defaultRouter } from '@domql/router'\nimport { Focusable } from '@symbo.ls/atoms'\n\nexport const Link = {\n extend: Focusable,\n tag: 'a',\n props: {\n aria: {},\n fontWeight: 'bold',\n textDecoration: 'none',\n color: 'currentColor',\n draggable: false\n },\n attr: {\n href: (el, s, ctx) => {\n const { exec } = ctx.utils\n return exec(el.props.href, el) || exec(el.props, el).href\n },\n target: ({ props }) => props.target,\n 'aria-label': ({ props }) => props.aria ? props.aria.label : props.text,\n draggable: ({ props }) => props.draggable\n }\n}\n\nexport const RouterLink = {\n on: {\n click: (event, el, s, ctx) => {\n const { props } = el\n const { href } = props\n if (!href) return\n const { utils, routerOptions } = ctx\n const { router } = utils\n const root = el.__ref.__root\n const linkIsExternal = href.includes('http://') ||\n href.includes('https://') ||\n href.includes('mailto:') ||\n href.includes('tel:')\n const options = props.routerOptions || routerOptions || {\n scrollToOptions: { behaviour: 'instant' }\n }\n if (href && !linkIsExternal) {\n (router || defaultRouter)(href, root, {}, options)\n event.preventDefault()\n }\n }\n }\n}\n\nexport const RouteLink = {\n extend: [Link, RouterLink]\n}\n", "'use strict'\n\nimport { getSpacingBasedOnRatio, getSpacingByKey, transfromGap } from '@symbo.ls/scratch'\n\nexport const Block = {\n class: {\n boxSizing: ({ props }) => props.boxSizing\n ? ({ boxSizing: props.boxSizing })\n : {\n boxSizing: 'border-box'\n },\n\n display: ({ props }) => props.display && ({ display: props.display }),\n\n hide: ({ props }) => props.hide && ({ display: 'none' }),\n\n width: ({ props }) => props.width && getSpacingBasedOnRatio(props, 'width'),\n height: ({ props }) => props.height && getSpacingBasedOnRatio(props, 'height'),\n boxSize: ({ props }) => {\n if (typeof props.boxSize !== 'string') return\n const [height, width] = props.boxSize.split(' ')\n return {\n ...getSpacingByKey(height, 'height'),\n ...getSpacingByKey(width || height, 'width')\n }\n },\n\n maxWidth: ({ props }) => props.maxWidth && getSpacingBasedOnRatio(props, 'maxWidth'),\n minWidth: ({ props }) => props.minWidth && getSpacingBasedOnRatio(props, 'minWidth'),\n widthRange: ({ props }) => {\n if (typeof props.widthRange !== 'string') return\n const [minWidth, maxWidth] = props.widthRange.split(' ')\n return {\n ...getSpacingByKey(minWidth, 'minWidth'),\n ...getSpacingByKey(maxWidth || minWidth, 'maxWidth')\n }\n },\n\n maxHeight: ({ props }) => props.maxHeight && getSpacingBasedOnRatio(props, 'maxHeight'),\n minHeight: ({ props }) => props.minHeight && getSpacingBasedOnRatio(props, 'minHeight'),\n heightRange: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n direction: ({ props }) => props.direction && ({ direction: props.direction }),\n\n aspectRatio: ({ props }) => props.aspectRatio && ({ aspectRatio: props.aspectRatio }),\n\n borderWidth: ({ props }) => props.borderWidth ? getSpacingBasedOnRatio(props, 'borderWidth') : null,\n\n padding: ({ props }) => props.padding ? getSpacingBasedOnRatio(props, 'padding') : null,\n paddingInline: ({ props }) => {\n if (typeof props.paddingInline !== 'string') return\n const [paddingInlineStart, paddingInlineEnd] = props.paddingInline.split(' ')\n return {\n ...getSpacingByKey(paddingInlineStart, 'paddingInlineStart'),\n ...getSpacingByKey(paddingInlineEnd || paddingInlineStart, 'paddingInlineEnd')\n }\n },\n paddingBlock: ({ props }) => {\n if (typeof props.paddingBlock !== 'string') return\n const [paddingBlockStart, paddingBlockEnd] = props.paddingBlock.split(' ')\n return {\n ...getSpacingByKey(paddingBlockStart, 'paddingBlockStart'),\n ...getSpacingByKey(paddingBlockEnd || paddingBlockStart, 'paddingBlockEnd')\n }\n },\n paddingInlineStart: ({ props }) => props.paddingInlineStart ? getSpacingBasedOnRatio(props, 'paddingInlineStart') : null,\n paddingInlineEnd: ({ props }) => props.paddingInlineEnd ? getSpacingBasedOnRatio(props, 'paddingInlineEnd') : null,\n paddingBlockStart: ({ props }) => props.paddingBlockStart ? getSpacingBasedOnRatio(props, 'paddingBlockStart') : null,\n paddingBlockEnd: ({ props }) => props.paddingBlockEnd ? getSpacingBasedOnRatio(props, 'paddingBlockEnd') : null,\n\n margin: ({ props }) => props.margin ? getSpacingBasedOnRatio(props, 'margin') : null,\n marginInline: ({ props }) => {\n if (typeof props.marginInline !== 'string') return\n const [marginInlineStart, marginInlineEnd] = props.marginInline.split(' ')\n return {\n ...getSpacingByKey(marginInlineStart, 'marginInlineStart'),\n ...getSpacingByKey(marginInlineEnd || marginInlineStart, 'marginInlineEnd')\n }\n },\n marginBlock: ({ props }) => {\n if (typeof props.marginBlock !== 'string') return\n const [marginBlockStart, marginBlockEnd] = props.marginBlock.split(' ')\n return {\n ...getSpacingByKey(marginBlockStart, 'marginBlockStart'),\n ...getSpacingByKey(marginBlockEnd || marginBlockStart, 'marginBlockEnd')\n }\n },\n marginInlineStart: ({ props }) => props.marginInlineStart ? getSpacingBasedOnRatio(props, 'marginInlineStart') : null,\n marginInlineEnd: ({ props }) => props.marginInlineEnd ? getSpacingBasedOnRatio(props, 'marginInlineEnd') : null,\n marginBlockStart: ({ props }) => props.marginBlockStart ? getSpacingBasedOnRatio(props, 'marginBlockStart') : null,\n marginBlockEnd: ({ props }) => props.marginBlockEnd ? getSpacingBasedOnRatio(props, 'marginBlockEnd') : null,\n\n gap: ({ props }) => props.gap\n ? ({\n gap: transfromGap(props.gap)\n })\n : null,\n gridArea: ({ props }) => props.gridArea && ({ gridArea: props.gridArea }),\n\n flex: ({ props }) => props.flex && ({ flex: props.flex }),\n flexDirection: ({ props }) => props.flexDirection && ({ flexDirection: props.flexDirection }),\n alignItems: ({ props }) => props.alignItems && ({ alignItems: props.alignItems }),\n alignContent: ({ props }) => props.alignContent && ({ alignContent: props.alignContent }),\n justifyContent: ({ props }) => props.justifyContent && ({ justifyContent: props.justifyContent }),\n justifyItems: ({ props }) => props.justifyItems && ({ justifyItems: props.justifyItems }),\n alignSelf: ({ props }) => props.alignSelf && ({ alignSelf: props.alignSelf }),\n order: ({ props }) => props.order && ({ order: props.order }),\n\n flexWrap: ({ props }) => props.flexWrap && ({\n display: 'flex',\n flexFlow: props.flexWrap\n }),\n flexFlow: ({ props }) => props.flexFlow && ({\n display: 'flex',\n flexFlow: props.flexFlow\n }),\n flexAlign: ({ props }) => {\n if (typeof props.flexAlign !== 'string') return\n const [alignItems, justifyContent] = props.flexAlign.split(' ')\n return {\n display: 'flex',\n alignItems,\n justifyContent\n }\n },\n\n gridColumn: ({ props }) => props.gridColumn && ({ gridColumn: props.gridColumn }),\n gridColumnStart: ({ props }) => props.columnStart\n ? ({\n gridColumnStart: props.columnStart\n })\n : null,\n gridRow: ({ props }) => props.gridRow && ({ gridRow: props.gridRow }),\n gridRowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n size: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n columns: ({ props }) => props.columns && ({ columns: props.columns }),\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n columnSpan: ({ props }) => props.columnSpan && ({ columns: props.columnSpan }),\n columnFill: ({ props }) => props.columnFill && ({ columns: props.columnFill }),\n columnCount: ({ props }) => props.columnCount && ({ columns: props.columnCount })\n }\n}\n\nexport const Span = { tag: 'span' }\nexport const List = {\n tag: 'ul',\n childExtend: { tag: 'li' }\n}\n// export const Article = { tag: 'article' }\n", "'use strict'\n\nimport { getSpacingBasedOnRatio } from '@symbo.ls/scratch'\n\nexport const Grid = {\n props: { display: 'grid' },\n\n class: {\n area: ({ props }) => props.area ? ({ gridArea: props.area }) : null,\n template: ({ props }) => props.template ? ({ gridTemplate: props.template }) : null,\n templateAreas: ({ props }) => props.templateAreas ? ({ gridTemplateAreas: props.templateAreas }) : null,\n\n column: ({ props }) => props.column ? ({ gridColumn: props.column }) : null,\n columns: ({ props }) => props.columns ? ({ gridTemplateColumns: props.columns }) : null,\n templateColumns: ({ props }) => props.templateColumns ? ({ gridTemplateColumns: props.templateColumns }) : null,\n autoColumns: ({ props }) => props.autoColumns ? ({ gridAutoColumns: props.autoColumns }) : null,\n columnStart: ({ props }) => props.columnStart ? ({ gridColumnStart: props.columnStart }) : null,\n\n row: ({ props }) => props.row ? ({ gridRow: props.row }) : null,\n rows: ({ props }) => props.rows ? ({ gridTemplateRows: props.rows }) : null,\n templateRows: ({ props }) => props.templateRows ? ({ gridTemplateRows: props.templateRows }) : null,\n autoRows: ({ props }) => props.autoRows ? ({ gridAutoRows: props.autoRows }) : null,\n rowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n autoFlow: ({ props }) => props.autoFlow ? ({ gridAutoFlow: props.autoFlow }) : null,\n\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n rowGap: ({ props }) => props.rowGap ? getSpacingBasedOnRatio(props, 'rowGap') : null\n }\n}\n", "'use strict'\n\nimport { merge, isArray, overwriteShallow } from '@domql/utils'\nimport { getSystemTheme } from './Theme'\n\nexport const keySetters = {\n '@': (key, props, result, element, isSubtree) => applyMediaProps(\n key, props, isSubtree ? result : (result && result.media), element\n ),\n ':': (key, props, result, element, isSubtree) => applySelectorProps(\n key, props, isSubtree ? result : (result && result.selector), element\n ),\n '[': (key, props, result, element, isSubtree) => applySelectorProps(\n key, props, isSubtree ? result : (result && result.selector), element\n ),\n '&': (key, props, result, element, isSubtree) => applySelectorProps(\n key, props, isSubtree ? result : (result && result.selector), element\n ),\n $: (key, props, result, element, isSubtree) => applyCaseProps(\n key, props, isSubtree ? result : (result && result.case), element\n ),\n '.': (key, props, result, element, isSubtree) => applyConditionalCaseProps(\n key, props, isSubtree ? result : (result && result.case), element\n ),\n '!': (key, props, result, element, isSubtree) => applyConditionalFalsyProps(\n key, props, isSubtree ? result : (result && result.case), element\n )\n}\n\nconst execClass = (key, props, result, element) => {\n const { class: className } = element\n const classnameExec = className[key]\n\n if (typeof classnameExec !== 'function') return\n\n let classExec = classnameExec({\n props,\n context: element.context,\n state: element.state\n })\n if (isArray(classExec)) {\n classExec = classExec.reduce((a, c) => merge(a, c), {})\n }\n\n for (const finalProp in classExec) {\n result[finalProp] = classExec[finalProp]\n }\n\n return classExec\n}\n\nconst convertPropsToClass = (props, result, element) => {\n const propsClassObj = {}\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) {\n setter(key, props[key], propsClassObj, element, true)\n continue\n } else {\n execClass(key, props, propsClassObj, element)\n }\n }\n\n return propsClassObj\n}\n\nconst applyMediaProps = (key, props, result, element) => {\n const { context } = element\n if (!context.designSystem || !context.designSystem.MEDIA) return\n const globalTheme = getSystemTheme(element)\n const { MEDIA } = context.designSystem\n const mediaName = MEDIA[key.slice(1)]\n const generatedClass = convertPropsToClass(props, result, element)\n\n const name = key.slice(1)\n const isTheme = ['dark', 'light'].includes(name)\n const matchesGlobal = name === globalTheme\n\n if (globalTheme && isTheme) {\n if (matchesGlobal) return merge(result, generatedClass)\n return\n }\n\n const mediaKey = `@media screen and ${mediaName}`\n result[mediaKey] = generatedClass\n return result[mediaKey]\n}\n\nconst applySelectorProps = (key, props, result, element) => {\n const selectorKey = `&${key}`\n result[selectorKey] = convertPropsToClass(props, result, element)\n return result[selectorKey]\n}\n\nconst applyCaseProps = (key, props, result, element) => {\n const { CASES } = element.context && element.context.designSystem\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey]\n if (!CASES[caseKey] && !isPropTrue) return\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalCaseProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey]\n if (!isPropTrue) return // remove classname if not here\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalFalsyProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey] === true\n if (!isPropTrue) return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyTrueProps = (props, result, element) => merge(result, convertPropsToClass(props, result, element))\n\nconst beforeClassAssign = (element, s) => {\n const { props, class: className } = element\n\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n overwriteShallow(className, CLASS_NAMES)\n}\n\nconst initUpdate = (changes, element) => {\n const { props, context, class: className } = element\n if (!context) return\n const globalTheme = context.designSystem.globalTheme\n\n const parentProps = element.parent.props\n if (parentProps && parentProps.spacingRatio && parentProps.inheritSpacingRatio) {\n element.setProps({\n spacingRatio: parentProps.spacingRatio,\n inheritSpacingRatio: true\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true\n })\n }\n\n if (globalTheme) {\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (key === 'theme') {\n props.update({\n themeModifier: globalTheme\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true,\n preventDefineUpdate: true\n })\n } else if (key === 'true') applyTrueProps(props[key], CLASS_NAMES, element)\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n if (Object.keys(CLASS_NAMES.media).length) {\n className.media = CLASS_NAMES.media\n }\n className.selector = CLASS_NAMES.selector\n className.case = CLASS_NAMES.case\n }\n}\n\nexport const Media = {\n class: {\n case: (el, s) => {\n return {\n //\n }\n }\n },\n on: { beforeClassAssign, initUpdate }\n}\n", "'use strict'\n\nimport {\n getMediaTheme,\n getMediaColor,\n transformTextStroke,\n transformShadow,\n transformBorder,\n transformBackgroundImage\n} from '@symbo.ls/scratch'\n\nimport { depth } from './Shape/style'\n\nexport const getSystemTheme = ({ context, state }) => {\n const rootState = state && state.__root\n return rootState ? rootState.globalTheme : context.designSystem && context.designSystem.globalTheme\n}\n\nexport const Theme = {\n class: {\n depth: ({ props }) => props.depth && depth[props.depth],\n\n theme: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.theme) return\n return getMediaTheme(props.theme, `@${props.themeModifier || globalTheme}`)\n },\n\n color: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.color) return\n return {\n color: getMediaColor(props.color, globalTheme)\n }\n },\n\n background: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.background) return\n return {\n background: getMediaColor(props.background, globalTheme)\n }\n },\n\n backgroundColor: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundColor) return\n return {\n backgroundColor: getMediaColor(props.backgroundColor, globalTheme)\n }\n },\n\n backgroundImage: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundImage) return\n return ({\n backgroundImage: transformBackgroundImage(props.backgroundImage, globalTheme)\n })\n },\n backgroundSize: ({ props }) => props.backgroundSize\n ? ({\n backgroundSize: props.backgroundSize\n })\n : null,\n backgroundPosition: ({ props }) => props.backgroundPosition\n ? ({\n backgroundPosition: props.backgroundPosition\n })\n : null,\n\n textStroke: ({ props }) => props.textStroke\n ? ({\n WebkitTextStroke: transformTextStroke(props.textStroke)\n })\n : null,\n\n outline: ({ props }) => props.outline && ({\n outline: transformBorder(props.outline)\n }),\n\n border: ({ props }) => props.border && ({\n border: transformBorder(props.border)\n }),\n borderColor: ({ props }) => props.borderColor && ({\n borderColor: getMediaColor(props.borderColor)\n }),\n borderStyle: ({ props }) => props.borderStyle && ({\n borderStyle: props.borderStyle\n }),\n\n borderLeft: ({ props }) => props.borderLeft && ({\n borderLeft: transformBorder(props.borderLeft)\n }),\n borderTop: ({ props }) => props.borderTop && ({\n borderTop: transformBorder(props.borderTop)\n }),\n borderRight: ({ props }) => props.borderRight && ({\n borderRight: transformBorder(props.borderRight)\n }),\n borderBottom: ({ props }) => props.borderBottom && ({\n borderBottom: transformBorder(props.borderBottom)\n }),\n\n boxShadow: ({ props }) => props.boxShadow && ({\n boxShadow: transformShadow(props.boxShadow)\n }),\n\n textShadow: ({ props }) => props.textShadow && ({\n textShadow: transformShadow(props.textShadow)\n }),\n\n opacity: ({ props }) => props.opacity && ({\n opacity: props.opacity\n }),\n visibility: ({ props }) => props.visibility && ({\n visibility: props.visibility\n }),\n\n columnRule: ({ props }) => props.columnRule && ({\n columnRule: transformBorder(props.columnRule)\n })\n }\n}\n", "'use strict'\n\nimport { getActiveConfig, getColor, getTheme } from '@symbo.ls/scratch' // eslint-disable-line no-unused-vars\nimport { Timing } from '../Timing'\n\nconst CONFIG = getActiveConfig()\n\nexport const depth = {\n 4: { boxShadow: `rgba(0,0,0,.10) 0 2${CONFIG.UNIT.default} 4${CONFIG.UNIT.default}` },\n 6: { boxShadow: `rgba(0,0,0,.10) 0 3${CONFIG.UNIT.default} 6${CONFIG.UNIT.default}` },\n 10: { boxShadow: `rgba(0,0,0,.10) 0 4${CONFIG.UNIT.default} 10${CONFIG.UNIT.default}` },\n 16: { boxShadow: `rgba(0,0,0,.10) 0 8${CONFIG.UNIT.default} 16${CONFIG.UNIT.default}` },\n 26: { boxShadow: `rgba(0,0,0,.10) 0 14${CONFIG.UNIT.default} 26${CONFIG.UNIT.default}` },\n 42: { boxShadow: `rgba(0,0,0,.10) 0 20${CONFIG.UNIT.default} 42${CONFIG.UNIT.default}` }\n}\n\nconst getComputedBackgroundColor = ({ props }) => {\n return getColor(props.shapeDirectionColor) ||\n getColor(props.borderColor) ||\n getColor(props.backgroundColor) ||\n getColor(props.background)\n}\n\nconst inheritTransition = ({ props }) => {\n const exec = Timing.class.transition({ props })\n return exec && exec.transition\n}\n\nexport const SHAPES = {\n rectangle: {},\n circle: { borderRadius: '100%' },\n bubble: {},\n tv: {\n borderRadius: '1.15em/2.5em'\n },\n\n tooltip: ({ props }) => ({\n position: props.position || 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n width: '0px',\n height: '0px',\n border: '.35em solid',\n borderColor: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'border-color',\n position: 'absolute',\n borderRadius: '.15em'\n }\n }),\n\n tooltipDirection: {\n top: {\n '&:before': {\n top: '0',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n right: '0',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n bottom: '0',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n left: '0',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n }\n },\n\n tag: ({ props }) => ({\n position: 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background',\n borderRadius: '.25em',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%'\n }\n }),\n\n tagDirection: {\n top: {\n '&:before': {\n bottom: '100%',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n left: '100%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n top: '100%',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n right: '100%',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n }\n },\n\n hexagon: ({ props }) => ({\n position: 'relative',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n borderRadius: '.25em',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n },\n '&:before': {\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n },\n '&:after': {\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }),\n\n chevron: ({ props }) => ({\n position: 'relative',\n // overflow: 'hidden',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n\n },\n '&:before': {\n background: `linear-gradient(225deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%), linear-gradient(315deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%)`\n },\n '&:after': {\n background: getComputedBackgroundColor({ props }),\n borderRadius: '.25em'\n }\n }),\n\n chevronDirection: {\n left: {\n '&:before': {\n height: '100%',\n left: '100%',\n transform: 'translate3d(-1%, -50%, 1px) scale(-1, 1)'\n },\n '&:after': {\n height: '73%',\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n height: '100%',\n left: '0',\n transform: 'translate3d(-99%, -50%, 1px)'\n },\n '&:after': {\n height: '73%',\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }\n }\n}\n", "'use strict'\n\nimport {\n getTimingFunction,\n splitTransition,\n transformDuration\n} from '@symbo.ls/scratch'\n\nexport const Timing = {\n class: {\n transition: ({ props }) => props.transition && ({\n transition: splitTransition(props.transition)\n }),\n willChange: ({ props }) => props.willChange && ({\n willChange: props.willChange\n }),\n transitionDuration: ({ props }) => props.transitionDuration && ({\n transitionDuration: transformDuration(props.transitionDuration)\n }),\n transitionDelay: ({ props }) => props.transitionDelay && ({\n transitionDelay: transformDuration(props.transitionDelay)\n }),\n transitionTimingFunction: ({ props }) => props.transitionTimingFunction && ({\n transitionTimingFunction: getTimingFunction(props.transitionTimingFunction)\n }),\n transitionProperty: ({ props }) => props.transitionProperty && ({\n transitionProperty: props.transitionProperty,\n willChange: props.transitionProperty\n })\n }\n}\n", "'use strict'\n\nconst style = {\n appearance: 'none',\n border: 'none',\n cursor: 'pointer',\n fontFamily: 'inherit'\n}\n\nexport const Hoverable = {\n props: {\n transition: 'C defaultBezier',\n transitionProperty: 'opacity, transform',\n opacity: 0.85,\n\n ':hover': {\n opacity: 0.9,\n transform: 'scale(1.015)'\n },\n ':active': {\n opacity: 1,\n transform: 'scale(1.015)'\n },\n '.active': {\n opacity: 1,\n transform: 'scale(1.015)',\n\n ':hover': { opacity: 1 }\n }\n }\n}\n\nexport const Clickable = {\n extend: Hoverable,\n props: {\n ':active': {\n opacity: 1,\n transform: 'scale(1.015)'\n },\n '.active': {\n opacity: 1\n }\n }\n}\n\nexport const Focusable = {\n props: {\n border: 'none',\n outline: 'solid, 0, blue .3',\n ':focus-visible': {\n opacity: 1,\n outline: 'solid, X, blue .3'\n }\n },\n\n attr: {\n placeholder: ({ props }) => props.placeholder,\n tabIndex: ({ props }) => props.tabIndex\n }\n}\n\nexport const FocusableComponent = {\n extend: Focusable,\n tag: 'button',\n props: {\n fontSize: 'A',\n type: 'button',\n border: 'none',\n textDecoration: 'none',\n lineHeight: '1',\n whiteSpace: 'nowrap',\n fontFamily: 'inherit',\n style\n },\n attr: {\n type: ({ props }) => props.type\n }\n}\n", "'use strict'\n\nimport { isState } from '@domql/state'\nimport { isNot, isArray, isObject, isObjectLike, diff, deepClone } from '@domql/utils'\n\nexport const Collection = {\n define: {\n $setCollection: (param, el, state) => {\n if (!param) return\n\n let data = isArray(param) ? param : []\n\n if (isObject(param)) {\n for (const obj in param) { data.push(param[obj]) }\n }\n\n data = data.map(item => !isObjectLike(item)\n ? {\n props: { value: item }\n }\n : item)\n\n if (data.length) {\n const t = setTimeout(() => {\n el.set({ tag: 'fragment', ...data }, { preventDefineUpdate: '$setCollection' })\n clearTimeout(t)\n })\n }\n\n return data\n },\n\n $setStateCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n if (el.key === 'cnt') {\n if (el.__ref.__stateCollectionCache) {\n const d = diff(param, el.__ref.__stateCollectionCache) // eslint-disable-line\n } else {\n el.__ref.__stateCollectionCache = deepClone(param)\n }\n }\n\n const obj = { tag: 'fragment' }\n\n for (const key in param) {\n const value = param[key]\n obj[key] = { state: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n return obj\n },\n\n $setPropsCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n const obj = { tag: 'fragment' }\n for (const key in param) {\n const value = param[key]\n obj[key] = { props: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n // const set = () => {\n // el.set(obj, { preventDefineUpdate: '$setPropsCollection' })\n // }\n\n // if (el.props && el.props.lazyLoad) {\n // window.requestAnimationFrame(set)\n // } else set()\n\n return obj\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingByKey } from '@symbo.ls/scratch'\n\nexport const Position = {\n props: {},\n\n class: {\n position: ({ props }) => props.position && ({ position: props.position }),\n inset: ({ props }) => {\n const { inset } = props\n if (typeof inset !== 'string') return\n return { inset: inset.split(' ').map(v => getSpacingByKey(v, 'k').k).join(' ') }\n },\n\n left: ({ props }) => getSpacingByKey(props.left, 'left'),\n top: ({ props }) => getSpacingByKey(props.top, 'top'),\n right: ({ props }) => getSpacingByKey(props.right, 'right'),\n bottom: ({ props }) => getSpacingByKey(props.bottom, 'bottom')\n }\n}\n", "'use strict'\n\nimport { exec, isString } from '@domql/utils'\nimport { SHAPES } from './style'\nimport { getSpacingBasedOnRatio, getMediaColor } from '@symbo.ls/scratch'\nimport { Pseudo } from '../Pseudo'\n\nconst transformBorderRadius = (radius, props, propertyName) => {\n if (!isString(radius)) return\n return {\n borderRadius: radius.split(' ').map((v, k) => getSpacingBasedOnRatio(props, propertyName, v)[propertyName]).join(' ')\n }\n}\n\nexport const Shape = {\n extend: Pseudo,\n\n class: {\n shape: ({ props }) => {\n const { shape } = props\n return exec(SHAPES[shape], ({ props }))\n },\n shapeDirection: ({ props }) => {\n const { shape, shapeDirection } = props\n if (!shape || !shapeDirection) return\n const shapeDir = SHAPES[shape + 'Direction']\n return shape && shapeDir ? shapeDir[shapeDirection || 'left'] : null\n },\n shapeDirectionColor: ({ props }) => {\n const { background, backgroundColor } = props\n const borderColor = {\n borderColor: getMediaColor(background || backgroundColor)\n }\n return props.shapeDirection ? borderColor : null\n },\n\n round: ({ props, key, ...el }) => transformBorderRadius(props.round || props.borderRadius, props, 'round'),\n borderRadius: ({ props, key, ...el }) => transformBorderRadius(props.borderRadius || props.round, props, 'borderRadius')\n }\n}\n\nexport default Shape\n", "'use strict'\n\nimport { getFontSizeByKey, getFontFamily } from '@symbo.ls/scratch'\n\nexport const Text = {\n text: ({ key, props, state }) => {\n if (props.text === true) return (state && state[key]) || (props && props[key])\n return props.text\n },\n class: {\n fontSize: ({ props }) => props.fontSize ? getFontSizeByKey(props.fontSize) : null,\n fontFamily: ({ props }) => props.fontFamily && ({ fontFamily: getFontFamily(props.fontFamily) || props.fontFamily }),\n lineHeight: ({ props }) => props.lineHeight && ({ lineHeight: props.lineHeight }),\n // lineHeight: ({ props }) => props.lineHeight && getSpacingBasedOnRatio(props, 'lineHeight', null, ''),\n textDecoration: ({ props }) => props.textDecoration && ({ textDecoration: props.textDecoration }),\n textTransform: ({ props }) => props.textTransform && ({ textTransform: props.textTransform }),\n whiteSpace: ({ props }) => props.whiteSpace && ({ whiteSpace: props.whiteSpace }),\n letterSpacing: ({ props }) => props.letterSpacing && ({ letterSpacing: props.letterSpacing }),\n textAlign: ({ props }) => props.textAlign && ({ textAlign: props.textAlign }),\n fontWeight: ({ props }) => props.fontWeight && ({\n fontWeight: props.fontWeight,\n fontVariationSettings: '\"wght\" ' + props.fontWeight\n })\n }\n}\n\nexport const H1 = { tag: 'h1' }\nexport const H2 = { tag: 'h2' }\nexport const H3 = { tag: 'h3' }\nexport const H4 = { tag: 'h4' }\nexport const H5 = { tag: 'h5' }\nexport const H6 = { tag: 'h6' }\nexport const P = { tag: 'p' }\nexport const Caption = { tag: 'caption' }\nexport const Strong = {\n tag: 'strong',\n props: { fontWeight: '700' }\n}\nexport const Underline = { tag: 'u' }\nexport const Italic = { tag: 'i' }\n\nexport const Headline = {\n tag: 'h6',\n props: { fontSize: 'B', fontWeight: 500 }\n}\n\nexport const Subhead = {\n tag: 'span',\n props: { fontSize: 'Z1' }\n}\n\nexport const Footnote = {\n tag: 'span',\n props: { fontSize: 'Z' }\n}\n", "'use strict'\n\nimport { getTimingByKey, getTimingFunction } from '@symbo.ls/scratch'\nimport { isObject } from '@domql/utils'\nimport { emotion } from '@symbo.ls/emotion'\nconst { keyframes } = emotion\n\nconst applyAnimationProps = (animation, element) => {\n if (isObject(animation)) return { animationName: keyframes(animation) }\n const { ANIMATION } = element.context && element.context.designSystem\n const record = ANIMATION[animation]\n return keyframes(record)\n}\n\nexport const Animation = {\n class: {\n animation: (el) => el.props.animation && {\n animationName: applyAnimationProps(el.props.animation, el),\n animationDuration: getTimingByKey(el.props.animationDuration || 'A').timing,\n animationDelay: getTimingByKey(el.props.animationDelay || '0s').timing,\n animationTimingFunction: getTimingFunction(el.props.animationTimingFunction || 'ease'),\n animationFillMode: el.props.animationFillMode || 'both',\n animationPlayState: el.props.animationPlayState,\n animationDirection: el.props.animationDirection\n },\n animationName: (el) => el.props.animationName && {\n animationName: applyAnimationProps(el.props.animationName, el)\n },\n\n animationDuration: ({ props }) => props.animationDuration && ({\n animationDuration: getTimingByKey(props.animationDuration).timing\n }),\n animationDelay: ({ props }) => props.animationDelay && ({\n animationDelay: getTimingByKey(props.animationDelay).timing\n }),\n animationTimingFunction: ({ props }) => props.animationTimingFunction && ({\n animationTimingFunction: getTimingFunction(props.animationTimingFunction)\n }),\n animationFillMode: ({ props }) => props.animationFillMode && ({\n animationFillMode: props.animationFillMode\n }),\n animationPlayState: ({ props }) => props.animationPlayState && ({\n animationPlayState: props.animationPlayState\n }),\n animationIterationCount: ({ props }) => props.animationIterationCount && ({\n animationIterationCount: props.animationIterationCount || 1\n }),\n animationDirection: ({ props }) => props.animationDirection && ({\n animationDirection: props.animationDirection\n })\n }\n}\n", "'use strict'\n\nimport createInstance from '@emotion/css/create-instance'\n\nexport const createEmotion = (key = 'smbls', container) => {\n const cleanKey = key.replaceAll(/\\./g, '-')\n return createInstance({ key: cleanKey, container })\n}\n\nexport const emotion = createEmotion()\n", "'use strict'\n\nimport { Focusable } from '@symbo.ls/atoms'\nimport { IconText } from '@symbo.ls/icon'\nimport { Input } from '@symbo.ls/input'\n\nexport const Field = {\n extend: [IconText],\n\n props: ({ state, key }) => ({\n value: state[key],\n\n depth: 16,\n placeholder: '',\n padding: 'A B',\n round: 'C',\n type: 'text',\n position: 'relative',\n width: '16em',\n\n style: {\n appearance: 'none',\n outline: 0,\n border: 'none',\n cursor: 'pointer',\n fontFamily: 'inherit',\n boxSizing: 'border-box'\n },\n\n input: {\n width: '100%',\n height: '100%',\n border: 'none'\n },\n\n svg: {\n position: 'absolute',\n right: '1em'\n }\n }),\n\n input: { extend: [Focusable, Input] }\n}\n", "'use strict'\n\nexport const Video = {\n tag: 'video',\n\n childExtend: {\n tag: 'source',\n attr: {\n src: ({ props }) => props.src,\n controls: ({ props }) => props.controls\n }\n },\n\n props: {\n controls: true\n },\n\n attr: {\n autoplay: ({ props }) => props.autoplay,\n controls: ({ props }) => props.controls\n }\n}\n", "'use strict'\n\nimport { isFunction } from '@domql/utils'\nimport { opacify } from '@symbo.ls/scratch'\nimport { SquareButton } from '@symbo.ls/button'\n\nconst props = {\n appearance: 'none',\n width: '100%',\n height: '2px',\n outline: 'none',\n flex: 1,\n\n onInput: (ev, el, s) => s.update({ value: el.node.value }),\n onChange: (ev, el, s) => s.update({ value: el.node.value }),\n\n style: {\n appearance: 'none'\n },\n\n '::-webkit-slider-thumb': {\n boxSizing: 'content-box',\n width: '8px',\n height: '8px',\n borderWidth: '2px',\n borderStyle: 'solid',\n borderRadius: '100%',\n opacity: '.8',\n\n style: {\n appearance: 'none'\n }\n },\n\n '::-webkit-slider-runnable-track': {\n },\n\n '@dark': {\n background: 'white 0.2',\n\n '::-webkit-slider-thumb': {\n background: '#232526',\n borderColor: opacify('#454646', 0.75)\n },\n\n ':hover': {\n '::-webkit-slider-thumb': {\n borderColor: opacify('#fff', 0.35)\n }\n },\n\n ':focus': {\n '::-webkit-slider-thumb': {\n borderColor: '#3C6AC0'\n }\n }\n },\n\n '@light': {\n background: 'gray9',\n\n '::-webkit-slider-thumb': {\n background: 'white',\n borderColor: 'gray9'\n },\n\n ':hover': {\n '::-webkit-slider-thumb': {\n borderColor: 'gray7'\n }\n },\n\n ':focus': {\n '::-webkit-slider-thumb': {\n borderColor: 'blue'\n }\n }\n }\n}\n\nexport const Range = {\n props,\n\n tag: 'input',\n attr: { type: 'range' }\n}\n\nconst listenProp = (el, prop, def) => {\n const val = el.props && el.props[prop]\n const r = (isFunction(val) ? val(el, el.state) : val !== undefined ? val : def !== undefined ? def : 50)\n return r + ''\n}\n\nexport const RangeWithButtons = {\n minus: {\n extend: SquareButton,\n props: { theme: 'tertiary', icon: 'minus' },\n on: {\n click: (ev, el, s) => {\n el.props && isFunction(el.props.onClick) && el.props.onClick(ev, el, s)\n }\n }\n },\n value: {\n style: { width: '4ch' },\n tag: 'span',\n text: (el, s) => {\n const unit = listenProp(el.parent.input, 'unit', '')\n return '' + (s.value || 50) + unit\n }\n },\n input: {\n extend: Range,\n attr: {\n value: (el, s) => parseFloat(s.value),\n min: (el, s) => listenProp(el, 'min', 0),\n max: (el, s) => listenProp(el, 'max', 100),\n step: (el, s) => listenProp(el, 'step', 1)\n },\n on: {\n input: (ev, el, s) => el.props && isFunction(el.props.onInput) && el.props.onInput(ev, el, s),\n change: (ev, el, s) => el.props && isFunction(el.props.onChange) && el.props.onChange(ev, el, s)\n }\n },\n plus: {\n extend: SquareButton,\n props: { theme: 'tertiary', icon: 'plus' },\n on: {\n click: (ev, el, s) => {\n el.props && isFunction(el.props.onClick) && el.props.onClick(ev, el, s)\n }\n }\n }\n}\n", "'use strict'\n\nexport default {\n appearance: 'none',\n width: '100%',\n height: '2px',\n outline: 'none',\n flex: 1,\n '&::-webkit-slider-thumb': {\n boxSizing: 'content-box',\n appearance: 'none',\n width: '8px',\n height: '8px',\n borderWidth: '2px',\n borderStyle: 'solid',\n borderRadius: '100%',\n opacity: '.8'\n }\n}\n", "'use strict'\n\nimport style from './style'\n\nimport { set, opacify } from '@symbo.ls/scratch'\nimport { isFunction } from '@domql/utils'\n\nimport { SquareButton } from '@symbo.ls/button'\n\nset({\n theme: {\n sliderThumb: {\n background: 'white 0.2',\n\n '&::-webkit-slider-thumb': {\n background: '#232526',\n borderColor: opacify('#454646', 0.75)\n },\n\n '&:hover': {\n '&::-webkit-slider-thumb': {\n borderColor: opacify('#fff', 0.35)\n }\n },\n\n '&:focus, &:active': {\n '&::-webkit-slider-thumb': {\n borderColor: '#3C6AC0'\n }\n }\n }\n }\n})\n\nexport const RangeSlider = {\n style,\n props: {\n theme: 'sliderThumb'\n },\n\n tag: 'input',\n attr: { type: 'range' }\n}\n\nconst listenProp = (el, prop, def) => {\n const val = el && el.props && el.props[prop]\n const r = (isFunction(val) ? val() : val) || (def !== undefined ? def : 50)\n return r\n}\n\nexport const Slider = {\n button0: {\n extend: [SquareButton],\n props: {\n icon: 'minus'\n },\n on: {\n click: (ev, el, s) => {\n el.props && isFunction(el.props.click) && el.props.click(ev, el, s)\n const input = el.parent.input\n const props = input.props\n const value = isFunction(props.value) ? props.value() : props.value\n input.node.value = value\n }\n }\n },\n value: {\n style: { width: '4ch' },\n tag: 'span',\n text: (el, s) => {\n const value = listenProp(el.parent.input, 'value')\n const unit = listenProp(el.parent.input, 'unit', '')\n return '' + value + unit\n }\n },\n range: {\n extend: RangeSlider,\n attr: {\n value: (el, s) => listenProp(el, 'value', 50),\n min: (el, s) => listenProp(el, 'min', 0),\n max: (el, s) => listenProp(el, 'max', 100),\n step: (el, s) => listenProp(el, 'step', 1)\n },\n on: {\n input: (ev, el, s) => el.props && isFunction(el.props.input) && el.props.input(ev, el, s),\n change: (ev, el, s) => el.props && isFunction(el.props.change) && el.props.change(ev, el, s)\n }\n },\n button1: {\n extend: [SquareButton],\n props: {\n icon: 'plus'\n },\n on: {\n click: (ev, el, s) => {\n el.props && isFunction(el.props.click) && el.props.click(ev, el, s)\n const input = el.parent.input\n const props = input.props\n const value = isFunction(props.value) ? props.value() : props.value\n input.node.value = value\n }\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingBasedOnRatio, getSpacingByKey, transfromGap } from '@symbo.ls/scratch'\n\nexport const Block = {\n class: {\n boxSizing: ({ props }) => props.boxSizing\n ? ({ boxSizing: props.boxSizing })\n : {\n boxSizing: 'border-box'\n },\n\n display: ({ props }) => props.display && ({ display: props.display }),\n\n hide: ({ props }) => props.hide && ({ display: 'none' }),\n\n width: ({ props }) => props.width && getSpacingBasedOnRatio(props, 'width'),\n height: ({ props }) => props.height && getSpacingBasedOnRatio(props, 'height'),\n boxSize: ({ props }) => {\n if (typeof props.boxSize !== 'string') return\n const [height, width] = props.boxSize.split(' ')\n return {\n ...getSpacingByKey(height, 'height'),\n ...getSpacingByKey(width || height, 'width')\n }\n },\n\n maxWidth: ({ props }) => props.maxWidth && getSpacingBasedOnRatio(props, 'maxWidth'),\n minWidth: ({ props }) => props.minWidth && getSpacingBasedOnRatio(props, 'minWidth'),\n widthRange: ({ props }) => {\n if (typeof props.widthRange !== 'string') return\n const [minWidth, maxWidth] = props.widthRange.split(' ')\n return {\n ...getSpacingByKey(minWidth, 'minWidth'),\n ...getSpacingByKey(maxWidth || minWidth, 'maxWidth')\n }\n },\n\n maxHeight: ({ props }) => props.maxHeight && getSpacingBasedOnRatio(props, 'maxHeight'),\n minHeight: ({ props }) => props.minHeight && getSpacingBasedOnRatio(props, 'minHeight'),\n heightRange: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n direction: ({ props }) => props.direction && ({ direction: props.direction }),\n\n aspectRatio: ({ props }) => props.aspectRatio && ({ aspectRatio: props.aspectRatio }),\n\n borderWidth: ({ props }) => props.borderWidth ? getSpacingBasedOnRatio(props, 'borderWidth') : null,\n\n padding: ({ props }) => props.padding ? getSpacingBasedOnRatio(props, 'padding') : null,\n paddingInline: ({ props }) => {\n if (typeof props.paddingInline !== 'string') return\n const [paddingInlineStart, paddingInlineEnd] = props.paddingInline.split(' ')\n return {\n ...getSpacingByKey(paddingInlineStart, 'paddingInlineStart'),\n ...getSpacingByKey(paddingInlineEnd || paddingInlineStart, 'paddingInlineEnd')\n }\n },\n paddingBlock: ({ props }) => {\n if (typeof props.paddingBlock !== 'string') return\n const [paddingBlockStart, paddingBlockEnd] = props.paddingBlock.split(' ')\n return {\n ...getSpacingByKey(paddingBlockStart, 'paddingBlockStart'),\n ...getSpacingByKey(paddingBlockEnd || paddingBlockStart, 'paddingBlockEnd')\n }\n },\n paddingInlineStart: ({ props }) => props.paddingInlineStart ? getSpacingBasedOnRatio(props, 'paddingInlineStart') : null,\n paddingInlineEnd: ({ props }) => props.paddingInlineEnd ? getSpacingBasedOnRatio(props, 'paddingInlineEnd') : null,\n paddingBlockStart: ({ props }) => props.paddingBlockStart ? getSpacingBasedOnRatio(props, 'paddingBlockStart') : null,\n paddingBlockEnd: ({ props }) => props.paddingBlockEnd ? getSpacingBasedOnRatio(props, 'paddingBlockEnd') : null,\n\n margin: ({ props }) => props.margin ? getSpacingBasedOnRatio(props, 'margin') : null,\n marginInline: ({ props }) => {\n if (typeof props.marginInline !== 'string') return\n const [marginInlineStart, marginInlineEnd] = props.marginInline.split(' ')\n return {\n ...getSpacingByKey(marginInlineStart, 'marginInlineStart'),\n ...getSpacingByKey(marginInlineEnd || marginInlineStart, 'marginInlineEnd')\n }\n },\n marginBlock: ({ props }) => {\n if (typeof props.marginBlock !== 'string') return\n const [marginBlockStart, marginBlockEnd] = props.marginBlock.split(' ')\n return {\n ...getSpacingByKey(marginBlockStart, 'marginBlockStart'),\n ...getSpacingByKey(marginBlockEnd || marginBlockStart, 'marginBlockEnd')\n }\n },\n marginInlineStart: ({ props }) => props.marginInlineStart ? getSpacingBasedOnRatio(props, 'marginInlineStart') : null,\n marginInlineEnd: ({ props }) => props.marginInlineEnd ? getSpacingBasedOnRatio(props, 'marginInlineEnd') : null,\n marginBlockStart: ({ props }) => props.marginBlockStart ? getSpacingBasedOnRatio(props, 'marginBlockStart') : null,\n marginBlockEnd: ({ props }) => props.marginBlockEnd ? getSpacingBasedOnRatio(props, 'marginBlockEnd') : null,\n\n gap: ({ props }) => props.gap\n ? ({\n gap: transfromGap(props.gap)\n })\n : null,\n gridArea: ({ props }) => props.gridArea && ({ gridArea: props.gridArea }),\n\n flex: ({ props }) => props.flex && ({ flex: props.flex }),\n flexDirection: ({ props }) => props.flexDirection && ({ flexDirection: props.flexDirection }),\n alignItems: ({ props }) => props.alignItems && ({ alignItems: props.alignItems }),\n alignContent: ({ props }) => props.alignContent && ({ alignContent: props.alignContent }),\n justifyContent: ({ props }) => props.justifyContent && ({ justifyContent: props.justifyContent }),\n justifyItems: ({ props }) => props.justifyItems && ({ justifyItems: props.justifyItems }),\n alignSelf: ({ props }) => props.alignSelf && ({ alignSelf: props.alignSelf }),\n order: ({ props }) => props.order && ({ order: props.order }),\n\n flexWrap: ({ props }) => props.flexWrap && ({\n display: 'flex',\n flexFlow: props.flexWrap\n }),\n flexFlow: ({ props }) => props.flexFlow && ({\n display: 'flex',\n flexFlow: props.flexFlow\n }),\n flexAlign: ({ props }) => {\n if (typeof props.flexAlign !== 'string') return\n const [alignItems, justifyContent] = props.flexAlign.split(' ')\n return {\n display: 'flex',\n alignItems,\n justifyContent\n }\n },\n\n gridColumn: ({ props }) => props.gridColumn && ({ gridColumn: props.gridColumn }),\n gridColumnStart: ({ props }) => props.columnStart\n ? ({\n gridColumnStart: props.columnStart\n })\n : null,\n gridRow: ({ props }) => props.gridRow && ({ gridRow: props.gridRow }),\n gridRowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n size: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n columns: ({ props }) => props.columns && ({ columns: props.columns }),\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n columnSpan: ({ props }) => props.columnSpan && ({ columns: props.columnSpan }),\n columnFill: ({ props }) => props.columnFill && ({ columns: props.columnFill }),\n columnCount: ({ props }) => props.columnCount && ({ columns: props.columnCount })\n }\n}\n\nexport const Span = { tag: 'span' }\nexport const List = {\n tag: 'ul',\n childExtend: { tag: 'li' }\n}\n// export const Article = { tag: 'article' }\n", "'use strict'\n\nexport const Flex = {\n props: {\n display: 'flex'\n },\n\n class: {\n flow: ({ props }) => props.flow && ({ flexFlow: props.flow }),\n wrap: ({ props }) => props.wrap && ({ flexWrap: props.wrap }),\n align: ({ props }) => {\n if (typeof props.align !== 'string') return\n const [alignItems, justifyContent] = props.align.split(' ')\n return { alignItems, justifyContent }\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingBasedOnRatio } from '@symbo.ls/scratch'\n\nexport const Grid = {\n props: { display: 'grid' },\n\n class: {\n area: ({ props }) => props.area ? ({ gridArea: props.area }) : null,\n template: ({ props }) => props.template ? ({ gridTemplate: props.template }) : null,\n templateAreas: ({ props }) => props.templateAreas ? ({ gridTemplateAreas: props.templateAreas }) : null,\n\n column: ({ props }) => props.column ? ({ gridColumn: props.column }) : null,\n columns: ({ props }) => props.columns ? ({ gridTemplateColumns: props.columns }) : null,\n templateColumns: ({ props }) => props.templateColumns ? ({ gridTemplateColumns: props.templateColumns }) : null,\n autoColumns: ({ props }) => props.autoColumns ? ({ gridAutoColumns: props.autoColumns }) : null,\n columnStart: ({ props }) => props.columnStart ? ({ gridColumnStart: props.columnStart }) : null,\n\n row: ({ props }) => props.row ? ({ gridRow: props.row }) : null,\n rows: ({ props }) => props.rows ? ({ gridTemplateRows: props.rows }) : null,\n templateRows: ({ props }) => props.templateRows ? ({ gridTemplateRows: props.templateRows }) : null,\n autoRows: ({ props }) => props.autoRows ? ({ gridAutoRows: props.autoRows }) : null,\n rowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n autoFlow: ({ props }) => props.autoFlow ? ({ gridAutoFlow: props.autoFlow }) : null,\n\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n rowGap: ({ props }) => props.rowGap ? getSpacingBasedOnRatio(props, 'rowGap') : null\n }\n}\n", "'use strict'\n\nimport { merge, isArray, overwriteShallow } from '@domql/utils'\nimport { getSystemTheme } from './Theme'\n\nexport const keySetters = {\n '@': (key, props, result, element, isSubtree) => applyMediaProps(\n key, props, isSubtree ? result : (result && result.media), element\n ),\n ':': (key, props, result, element, isSubtree) => applySelectorProps(\n key, props, isSubtree ? result : (result && result.selector), element\n ),\n '[': (key, props, result, element, isSubtree) => applySelectorProps(\n key, props, isSubtree ? result : (result && result.selector), element\n ),\n '&': (key, props, result, element, isSubtree) => applySelectorProps(\n key, props, isSubtree ? result : (result && result.selector), element\n ),\n $: (key, props, result, element, isSubtree) => applyCaseProps(\n key, props, isSubtree ? result : (result && result.case), element\n ),\n '.': (key, props, result, element, isSubtree) => applyConditionalCaseProps(\n key, props, isSubtree ? result : (result && result.case), element\n ),\n '!': (key, props, result, element, isSubtree) => applyConditionalFalsyProps(\n key, props, isSubtree ? result : (result && result.case), element\n )\n}\n\nconst execClass = (key, props, result, element) => {\n const { class: className } = element\n const classnameExec = className[key]\n\n if (typeof classnameExec !== 'function') return\n\n let classExec = classnameExec({\n props,\n context: element.context,\n state: element.state\n })\n if (isArray(classExec)) {\n classExec = classExec.reduce((a, c) => merge(a, c), {})\n }\n\n for (const finalProp in classExec) {\n result[finalProp] = classExec[finalProp]\n }\n\n return classExec\n}\n\nconst convertPropsToClass = (props, result, element) => {\n const propsClassObj = {}\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) {\n setter(key, props[key], propsClassObj, element, true)\n continue\n } else {\n execClass(key, props, propsClassObj, element)\n }\n }\n\n return propsClassObj\n}\n\nconst applyMediaProps = (key, props, result, element) => {\n const { context } = element\n if (!context.designSystem || !context.designSystem.MEDIA) return\n const globalTheme = getSystemTheme(element)\n const { MEDIA } = context.designSystem\n const mediaName = MEDIA[key.slice(1)]\n const generatedClass = convertPropsToClass(props, result, element)\n\n const name = key.slice(1)\n const isTheme = ['dark', 'light'].includes(name)\n const matchesGlobal = name === globalTheme\n\n if (globalTheme && isTheme) {\n if (matchesGlobal) return merge(result, generatedClass)\n return\n }\n\n const mediaKey = `@media screen and ${mediaName}`\n result[mediaKey] = generatedClass\n return result[mediaKey]\n}\n\nconst applySelectorProps = (key, props, result, element) => {\n const selectorKey = `&${key}`\n result[selectorKey] = convertPropsToClass(props, result, element)\n return result[selectorKey]\n}\n\nconst applyCaseProps = (key, props, result, element) => {\n const { CASES } = element.context && element.context.designSystem\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey]\n if (!CASES[caseKey] && !isPropTrue) return\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalCaseProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey]\n if (!isPropTrue) return // remove classname if not here\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalFalsyProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey] === true\n if (!isPropTrue) return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyTrueProps = (props, result, element) => merge(result, convertPropsToClass(props, result, element))\n\nconst beforeClassAssign = (element, s) => {\n const { props, class: className } = element\n\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n overwriteShallow(className, CLASS_NAMES)\n}\n\nconst initUpdate = (changes, element) => {\n const { props, context, class: className } = element\n if (!context) return\n const globalTheme = context.designSystem.globalTheme\n\n const parentProps = element.parent.props\n if (parentProps && parentProps.spacingRatio && parentProps.inheritSpacingRatio) {\n element.setProps({\n spacingRatio: parentProps.spacingRatio,\n inheritSpacingRatio: true\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true\n })\n }\n\n if (globalTheme) {\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (key === 'theme') {\n props.update({\n themeModifier: globalTheme\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true,\n preventDefineUpdate: true\n })\n } else if (key === 'true') applyTrueProps(props[key], CLASS_NAMES, element)\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n if (Object.keys(CLASS_NAMES.media).length) {\n className.media = CLASS_NAMES.media\n }\n className.selector = CLASS_NAMES.selector\n className.case = CLASS_NAMES.case\n }\n}\n\nexport const Media = {\n class: {\n case: (el, s) => {\n return {\n //\n }\n }\n },\n on: { beforeClassAssign, initUpdate }\n}\n", "'use strict'\n\nimport {\n getMediaTheme,\n getMediaColor,\n transformTextStroke,\n transformShadow,\n transformBorder,\n transformBackgroundImage\n} from '@symbo.ls/scratch'\n\nimport { depth } from './Shape/style'\n\nexport const getSystemTheme = ({ context, state }) => {\n const rootState = state && state.__root\n return rootState ? rootState.globalTheme : context.designSystem && context.designSystem.globalTheme\n}\n\nexport const Theme = {\n class: {\n depth: ({ props }) => props.depth && depth[props.depth],\n\n theme: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.theme) return\n return getMediaTheme(props.theme, `@${props.themeModifier || globalTheme}`)\n },\n\n color: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.color) return\n return {\n color: getMediaColor(props.color, globalTheme)\n }\n },\n\n background: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.background) return\n return {\n background: getMediaColor(props.background, globalTheme)\n }\n },\n\n backgroundColor: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundColor) return\n return {\n backgroundColor: getMediaColor(props.backgroundColor, globalTheme)\n }\n },\n\n backgroundImage: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundImage) return\n return ({\n backgroundImage: transformBackgroundImage(props.backgroundImage, globalTheme)\n })\n },\n backgroundSize: ({ props }) => props.backgroundSize\n ? ({\n backgroundSize: props.backgroundSize\n })\n : null,\n backgroundPosition: ({ props }) => props.backgroundPosition\n ? ({\n backgroundPosition: props.backgroundPosition\n })\n : null,\n\n textStroke: ({ props }) => props.textStroke\n ? ({\n WebkitTextStroke: transformTextStroke(props.textStroke)\n })\n : null,\n\n outline: ({ props }) => props.outline && ({\n outline: transformBorder(props.outline)\n }),\n\n border: ({ props }) => props.border && ({\n border: transformBorder(props.border)\n }),\n borderColor: ({ props }) => props.borderColor && ({\n borderColor: getMediaColor(props.borderColor)\n }),\n borderStyle: ({ props }) => props.borderStyle && ({\n borderStyle: props.borderStyle\n }),\n\n borderLeft: ({ props }) => props.borderLeft && ({\n borderLeft: transformBorder(props.borderLeft)\n }),\n borderTop: ({ props }) => props.borderTop && ({\n borderTop: transformBorder(props.borderTop)\n }),\n borderRight: ({ props }) => props.borderRight && ({\n borderRight: transformBorder(props.borderRight)\n }),\n borderBottom: ({ props }) => props.borderBottom && ({\n borderBottom: transformBorder(props.borderBottom)\n }),\n\n boxShadow: ({ props }) => props.boxShadow && ({\n boxShadow: transformShadow(props.boxShadow)\n }),\n\n textShadow: ({ props }) => props.textShadow && ({\n textShadow: transformShadow(props.textShadow)\n }),\n\n opacity: ({ props }) => props.opacity && ({\n opacity: props.opacity\n }),\n visibility: ({ props }) => props.visibility && ({\n visibility: props.visibility\n }),\n\n columnRule: ({ props }) => props.columnRule && ({\n columnRule: transformBorder(props.columnRule)\n })\n }\n}\n", "'use strict'\n\nimport { getActiveConfig, getColor, getTheme } from '@symbo.ls/scratch' // eslint-disable-line no-unused-vars\nimport { Timing } from '../Timing'\n\nconst CONFIG = getActiveConfig()\n\nexport const depth = {\n 4: { boxShadow: `rgba(0,0,0,.10) 0 2${CONFIG.UNIT.default} 4${CONFIG.UNIT.default}` },\n 6: { boxShadow: `rgba(0,0,0,.10) 0 3${CONFIG.UNIT.default} 6${CONFIG.UNIT.default}` },\n 10: { boxShadow: `rgba(0,0,0,.10) 0 4${CONFIG.UNIT.default} 10${CONFIG.UNIT.default}` },\n 16: { boxShadow: `rgba(0,0,0,.10) 0 8${CONFIG.UNIT.default} 16${CONFIG.UNIT.default}` },\n 26: { boxShadow: `rgba(0,0,0,.10) 0 14${CONFIG.UNIT.default} 26${CONFIG.UNIT.default}` },\n 42: { boxShadow: `rgba(0,0,0,.10) 0 20${CONFIG.UNIT.default} 42${CONFIG.UNIT.default}` }\n}\n\nconst getComputedBackgroundColor = ({ props }) => {\n return getColor(props.shapeDirectionColor) ||\n getColor(props.borderColor) ||\n getColor(props.backgroundColor) ||\n getColor(props.background)\n}\n\nconst inheritTransition = ({ props }) => {\n const exec = Timing.class.transition({ props })\n return exec && exec.transition\n}\n\nexport const SHAPES = {\n rectangle: {},\n circle: { borderRadius: '100%' },\n bubble: {},\n tv: {\n borderRadius: '1.15em/2.5em'\n },\n\n tooltip: ({ props }) => ({\n position: props.position || 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n width: '0px',\n height: '0px',\n border: '.35em solid',\n borderColor: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'border-color',\n position: 'absolute',\n borderRadius: '.15em'\n }\n }),\n\n tooltipDirection: {\n top: {\n '&:before': {\n top: '0',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n right: '0',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n bottom: '0',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n left: '0',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n }\n },\n\n tag: ({ props }) => ({\n position: 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background',\n borderRadius: '.25em',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%'\n }\n }),\n\n tagDirection: {\n top: {\n '&:before': {\n bottom: '100%',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n left: '100%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n top: '100%',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n right: '100%',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n }\n },\n\n hexagon: ({ props }) => ({\n position: 'relative',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n borderRadius: '.25em',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n },\n '&:before': {\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n },\n '&:after': {\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }),\n\n chevron: ({ props }) => ({\n position: 'relative',\n // overflow: 'hidden',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n\n },\n '&:before': {\n background: `linear-gradient(225deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%), linear-gradient(315deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%)`\n },\n '&:after': {\n background: getComputedBackgroundColor({ props }),\n borderRadius: '.25em'\n }\n }),\n\n chevronDirection: {\n left: {\n '&:before': {\n height: '100%',\n left: '100%',\n transform: 'translate3d(-1%, -50%, 1px) scale(-1, 1)'\n },\n '&:after': {\n height: '73%',\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n height: '100%',\n left: '0',\n transform: 'translate3d(-99%, -50%, 1px)'\n },\n '&:after': {\n height: '73%',\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }\n }\n}\n", "'use strict'\n\nimport {\n getTimingFunction,\n splitTransition,\n transformDuration\n} from '@symbo.ls/scratch'\n\nexport const Timing = {\n class: {\n transition: ({ props }) => props.transition && ({\n transition: splitTransition(props.transition)\n }),\n willChange: ({ props }) => props.willChange && ({\n willChange: props.willChange\n }),\n transitionDuration: ({ props }) => props.transitionDuration && ({\n transitionDuration: transformDuration(props.transitionDuration)\n }),\n transitionDelay: ({ props }) => props.transitionDelay && ({\n transitionDelay: transformDuration(props.transitionDelay)\n }),\n transitionTimingFunction: ({ props }) => props.transitionTimingFunction && ({\n transitionTimingFunction: getTimingFunction(props.transitionTimingFunction)\n }),\n transitionProperty: ({ props }) => props.transitionProperty && ({\n transitionProperty: props.transitionProperty,\n willChange: props.transitionProperty\n })\n }\n}\n", "'use strict'\n\nimport { isState } from '@domql/state'\nimport { isNot, isArray, isObject, isObjectLike, diff, deepClone } from '@domql/utils'\n\nexport const Collection = {\n define: {\n $setCollection: (param, el, state) => {\n if (!param) return\n\n let data = isArray(param) ? param : []\n\n if (isObject(param)) {\n for (const obj in param) { data.push(param[obj]) }\n }\n\n data = data.map(item => !isObjectLike(item)\n ? {\n props: { value: item }\n }\n : item)\n\n if (data.length) {\n const t = setTimeout(() => {\n el.set({ tag: 'fragment', ...data }, { preventDefineUpdate: '$setCollection' })\n clearTimeout(t)\n })\n }\n\n return data\n },\n\n $setStateCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n if (el.key === 'cnt') {\n if (el.__ref.__stateCollectionCache) {\n const d = diff(param, el.__ref.__stateCollectionCache) // eslint-disable-line\n } else {\n el.__ref.__stateCollectionCache = deepClone(param)\n }\n }\n\n const obj = { tag: 'fragment' }\n\n for (const key in param) {\n const value = param[key]\n obj[key] = { state: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n return obj\n },\n\n $setPropsCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n const obj = { tag: 'fragment' }\n for (const key in param) {\n const value = param[key]\n obj[key] = { props: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n // const set = () => {\n // el.set(obj, { preventDefineUpdate: '$setPropsCollection' })\n // }\n\n // if (el.props && el.props.lazyLoad) {\n // window.requestAnimationFrame(set)\n // } else set()\n\n return obj\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingByKey } from '@symbo.ls/scratch'\n\nexport const Position = {\n props: {},\n\n class: {\n position: ({ props }) => props.position && ({ position: props.position }),\n inset: ({ props }) => {\n const { inset } = props\n if (typeof inset !== 'string') return\n return { inset: inset.split(' ').map(v => getSpacingByKey(v, 'k').k).join(' ') }\n },\n\n left: ({ props }) => getSpacingByKey(props.left, 'left'),\n top: ({ props }) => getSpacingByKey(props.top, 'top'),\n right: ({ props }) => getSpacingByKey(props.right, 'right'),\n bottom: ({ props }) => getSpacingByKey(props.bottom, 'bottom')\n }\n}\n", "'use strict'\n\nimport { exec, isString } from '@domql/utils'\nimport { SHAPES } from './style'\nimport { getSpacingBasedOnRatio, getMediaColor } from '@symbo.ls/scratch'\nimport { Pseudo } from '../Pseudo'\n\nconst transformBorderRadius = (radius, props, propertyName) => {\n if (!isString(radius)) return\n return {\n borderRadius: radius.split(' ').map((v, k) => getSpacingBasedOnRatio(props, propertyName, v)[propertyName]).join(' ')\n }\n}\n\nexport const Shape = {\n extend: Pseudo,\n\n class: {\n shape: ({ props }) => {\n const { shape } = props\n return exec(SHAPES[shape], ({ props }))\n },\n shapeDirection: ({ props }) => {\n const { shape, shapeDirection } = props\n if (!shape || !shapeDirection) return\n const shapeDir = SHAPES[shape + 'Direction']\n return shape && shapeDir ? shapeDir[shapeDirection || 'left'] : null\n },\n shapeDirectionColor: ({ props }) => {\n const { background, backgroundColor } = props\n const borderColor = {\n borderColor: getMediaColor(background || backgroundColor)\n }\n return props.shapeDirection ? borderColor : null\n },\n\n round: ({ props, key, ...el }) => transformBorderRadius(props.round || props.borderRadius, props, 'round'),\n borderRadius: ({ props, key, ...el }) => transformBorderRadius(props.borderRadius || props.round, props, 'borderRadius')\n }\n}\n\nexport default Shape\n", "'use strict'\n\nimport { getFontSizeByKey, getFontFamily } from '@symbo.ls/scratch'\n\nexport const Text = {\n text: ({ key, props, state }) => {\n if (props.text === true) return (state && state[key]) || (props && props[key])\n return props.text\n },\n class: {\n fontSize: ({ props }) => props.fontSize ? getFontSizeByKey(props.fontSize) : null,\n fontFamily: ({ props }) => props.fontFamily && ({ fontFamily: getFontFamily(props.fontFamily) || props.fontFamily }),\n lineHeight: ({ props }) => props.lineHeight && ({ lineHeight: props.lineHeight }),\n // lineHeight: ({ props }) => props.lineHeight && getSpacingBasedOnRatio(props, 'lineHeight', null, ''),\n textDecoration: ({ props }) => props.textDecoration && ({ textDecoration: props.textDecoration }),\n textTransform: ({ props }) => props.textTransform && ({ textTransform: props.textTransform }),\n whiteSpace: ({ props }) => props.whiteSpace && ({ whiteSpace: props.whiteSpace }),\n letterSpacing: ({ props }) => props.letterSpacing && ({ letterSpacing: props.letterSpacing }),\n textAlign: ({ props }) => props.textAlign && ({ textAlign: props.textAlign }),\n fontWeight: ({ props }) => props.fontWeight && ({\n fontWeight: props.fontWeight,\n fontVariationSettings: '\"wght\" ' + props.fontWeight\n })\n }\n}\n\nexport const H1 = { tag: 'h1' }\nexport const H2 = { tag: 'h2' }\nexport const H3 = { tag: 'h3' }\nexport const H4 = { tag: 'h4' }\nexport const H5 = { tag: 'h5' }\nexport const H6 = { tag: 'h6' }\nexport const P = { tag: 'p' }\nexport const Caption = { tag: 'caption' }\nexport const Strong = {\n tag: 'strong',\n props: { fontWeight: '700' }\n}\nexport const Underline = { tag: 'u' }\nexport const Italic = { tag: 'i' }\n\nexport const Headline = {\n tag: 'h6',\n props: { fontSize: 'B', fontWeight: 500 }\n}\n\nexport const Subhead = {\n tag: 'span',\n props: { fontSize: 'Z1' }\n}\n\nexport const Footnote = {\n tag: 'span',\n props: { fontSize: 'Z' }\n}\n", "'use strict'\n\nimport { getTimingByKey, getTimingFunction } from '@symbo.ls/scratch'\nimport { isObject } from '@domql/utils'\nimport { emotion } from '@symbo.ls/emotion'\nconst { keyframes } = emotion\n\nconst applyAnimationProps = (animation, element) => {\n if (isObject(animation)) return { animationName: keyframes(animation) }\n const { ANIMATION } = element.context && element.context.designSystem\n const record = ANIMATION[animation]\n return keyframes(record)\n}\n\nexport const Animation = {\n class: {\n animation: (el) => el.props.animation && {\n animationName: applyAnimationProps(el.props.animation, el),\n animationDuration: getTimingByKey(el.props.animationDuration || 'A').timing,\n animationDelay: getTimingByKey(el.props.animationDelay || '0s').timing,\n animationTimingFunction: getTimingFunction(el.props.animationTimingFunction || 'ease'),\n animationFillMode: el.props.animationFillMode || 'both',\n animationPlayState: el.props.animationPlayState,\n animationDirection: el.props.animationDirection\n },\n animationName: (el) => el.props.animationName && {\n animationName: applyAnimationProps(el.props.animationName, el)\n },\n\n animationDuration: ({ props }) => props.animationDuration && ({\n animationDuration: getTimingByKey(props.animationDuration).timing\n }),\n animationDelay: ({ props }) => props.animationDelay && ({\n animationDelay: getTimingByKey(props.animationDelay).timing\n }),\n animationTimingFunction: ({ props }) => props.animationTimingFunction && ({\n animationTimingFunction: getTimingFunction(props.animationTimingFunction)\n }),\n animationFillMode: ({ props }) => props.animationFillMode && ({\n animationFillMode: props.animationFillMode\n }),\n animationPlayState: ({ props }) => props.animationPlayState && ({\n animationPlayState: props.animationPlayState\n }),\n animationIterationCount: ({ props }) => props.animationIterationCount && ({\n animationIterationCount: props.animationIterationCount || 1\n }),\n animationDirection: ({ props }) => props.animationDirection && ({\n animationDirection: props.animationDirection\n })\n }\n}\n", "'use strict'\n\nimport createInstance from '@emotion/css/create-instance'\n\nexport const createEmotion = (key = 'smbls', container) => {\n const cleanKey = key.replaceAll(/\\./g, '-')\n return createInstance({ key: cleanKey, container })\n}\n\nexport const emotion = createEmotion()\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\nimport { IconText } from '@symbo.ls/icon'\n\nexport const Notification = {\n extend: Flex,\n\n props: {\n theme: 'alert',\n padding: 'Z1 B Z A',\n round: 'A A A Y2',\n gap: 'X2',\n cursor: 'pointer',\n align: 'flex-start center',\n\n icon: {\n icon: 'info outline'\n },\n\n article: {\n flow: 'column',\n align: 'flex-start',\n gap: 'X2',\n title: {\n fontWeight: '600',\n lineHeight: '1em',\n text: 'Notification'\n },\n p: {\n fontSize: 'Z',\n margin: '0',\n text: 'is not always a distraction'\n }\n }\n },\n\n icon: {\n extend: [IconText]\n },\n\n article: {\n extend: Flex,\n title: {},\n p: {}\n }\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\n\nexport const Tooltip = {\n extend: Flex,\n props: {\n background: 'black',\n color: 'white',\n flow: 'column',\n shape: 'tooltip',\n shapeDirection: 'top',\n padding: 'Z1 A',\n round: 'Y2',\n minWidth: 'D2',\n gap: 'X',\n textAlign: 'center',\n\n title: {\n fontWeight: 500,\n color: 'gray12',\n text: 'And tooltip is coming'\n },\n p: {\n fontSize: 'Z2',\n margin: '0',\n color: 'gray6',\n text: 'and winter too',\n fontWeight: '400'\n }\n },\n\n attr: { tooltip: true },\n\n title: {},\n p: {}\n}\n\nexport const TooltipParent = {\n props: {\n position: 'relative',\n zIndex: 999,\n style: {\n '&:hover, &:focus-visible': {\n zIndex: 1000,\n '& [tooltip]': {\n transform: 'translate3d(-50%,0,0)',\n opacity: 1,\n visibility: 'visible'\n }\n }\n }\n }\n}\n", "'use strict'\n\nimport { Input } from '@symbo.ls/input'\n\nconst props = {\n height: 'E',\n lineHeight: 1.4,\n style: { resize: 'none' }\n}\n\nexport const Textarea = {\n extend: [Input],\n props,\n tag: 'textarea'\n}\n", "'use strict'\n\nimport { Button } from '@symbo.ls/button'\n\nexport const Label = {\n extend: Button,\n\n props: {\n theme: 'tertiary',\n fontSize: 'Z2',\n emoji: '\uD83D\uDC4D',\n text: '3',\n padding: 'X2 Z',\n round: 'C',\n lineHeight: 1,\n gap: 'X2',\n fontWeight: '500'\n },\n\n emoji: {\n props: ({ parent }) => ({ text: parent.props.emoji })\n }\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\n\nexport const Pills = {\n extend: Flex,\n props: (el, s) => ({\n display: 'flex',\n gap: 'Y2',\n\n childProps: {\n background: 'gray6',\n width: 'Y2',\n height: 'Y2',\n round: 'A',\n\n '.active': {\n background: 'gray9'\n }\n }\n }),\n childExtend: {\n props: (el, s) => ({ active: parseInt(el.key) === s.active })\n }\n}\n", "'use strict'\n\nimport { Focusable } from '@symbo.ls/atoms'\n\nexport const Select = {\n extend: Focusable,\n tag: 'select',\n\n props: {\n fontSize: 'A',\n style: {\n border: 'none',\n boxSizing: 'border-box',\n cursor: 'pointer'\n }\n },\n\n childExtend: {\n tag: 'option',\n props: {\n value: '',\n selected: '',\n disabled: ''\n },\n attr: {\n value: ({ props }) => props.value,\n selected: ({ props }) => props.selected,\n disabled: ({ props }) => props.disabled\n }\n },\n\n attr: {\n name: ({ props }) => props.name,\n disabled: ({ props }) => props.disabled\n }\n}\n"],
|
|
5
|
-
"mappings": "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ACJ;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,YAEA;AAAA,YACA;AAAA,UACF;A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",
|
|
6
|
-
"names": ["module", "__create", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__getProtoOf", "__hasOwnProp", "__commonJS", "__export", "__copyProps", "from", "__toESM", "__toCommonJS", "require_cjs", "exports", "module2", "__defProp2", "__getOwnPropDesc2", "__getOwnPropNames2", "__hasOwnProp2", "__export2", "__copyProps2", "__toCommonJS2", "require_cjs2", "require_htmlTags", "require_cjs3", "require_node", "require_types", "isArray6", "isFunction2", "isNot", "isObjectLike3", "require_array", "require_object", "deepClone2", "diff", "exec", "overwriteShallow", "props", "require_function", "memoize", "require_log", "require_cjs4", "CONFIG", "getActiveConfig", "getColor", "getFontFamily", "getFontSizeByKey", "getMediaColor", "getMediaTheme", "getSpacingBasedOnRatio", "getSpacingByKey", "getTheme", "getTimingByKey", "getTimingFunction", "opacify", "set", "splitTransition", "transformBackgroundImage", "transformBorder", "transformDuration", "transformShadow", "transformTextStroke", "transfromGap", "import_utils4", "import_utils2", "import_utils", "match", "import_utils3", "next", "props2", "prefix", "CONFIG2", "import_utils6", "import_utils7", "import_utils8", "abs", "import_utils10", "import_utils11", "import_utils14", "require_cjs", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "require_cjs", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__copyProps", "from", "__toCommonJS", "require_cjs", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "document", "window", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "isArray", "isFunction", "isNot", "isObject", "isObjectLike", "isString", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "deepClone", "diff", "exec", "merge", "overwriteShallow", "props", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "memoize", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "require_cjs", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__copyProps", "from", "__toCommonJS", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "import_utils", "node", "require_cjs", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "import_utils", "require_cjs", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__copyProps", "from", "__toCommonJS", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "parse", "set", "import_utils", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "isState", "import_utils", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "import_utils", "merge2", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "import_utils", "require_cjs", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__copyProps", "from", "__toCommonJS", "require_cjs", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "import_utils", "hash", "require_cjs", "module", "__create", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__getProtoOf", "__hasOwnProp", "__commonJS", "__export", "__copyProps", "from", "__toESM", "__toCommonJS", "exports", "module2", "__defProp2", "__getOwnPropDesc2", "__getOwnPropNames2", "__hasOwnProp2", "__export2", "__copyProps2", "__toCommonJS2", "require_cjs2", "require_htmlTags", "require_cjs3", "require_node", "require_types", "isArray6", "isFunction2", "isNot", "isObjectLike3", "require_array", "require_object", "deepClone2", "diff", "exec", "overwriteShallow", "props", "require_function", "memoize", "require_log", "require_cjs4", "CONFIG", "getActiveConfig", "getColor", "getFontFamily", "getFontSizeByKey", "getMediaColor", "getMediaTheme", "getSpacingBasedOnRatio", "getSpacingByKey", "getTheme", "getTimingByKey", "getTimingFunction", "opacify", "set", "splitTransition", "transformBackgroundImage", "transformBorder", "transformDuration", "transformShadow", "transformTextStroke", "transfromGap", "import_utils4", "import_utils2", "import_utils", "match", "import_utils3", "next", "props2", "prefix", "CONFIG2", "import_utils6", "import_utils7", "import_utils8", "abs", "import_utils10", "import_utils11", "import_utils14", "Icon", "IconText", "props", "props", "props", "import_scratch", "props", "props", "props", "import_scratch", "import_scratch", "import_scratch", "props", "props", "exec", "props", "props", "props", "props", "props", "props", "import_utils", "import_scratch", "props", "props", "props", "props", "import_utils", "import_scratch", "props", "import_scratch", "props", "props", "props", "import_scratch", "import_utils", "StyleSheet", "isImportRule", "length", "props", "length", "length", "character", "props", "characters", "length", "length", "identifierWithPointTracking", "character", "toRules", "getRules", "compat", "removeLabel", "isIgnoringComment", "createUnsafeSelectorsAlarm", "node", "isImportRule", "isPrependedWithRegularRules", "nullifyElement", "incorrectImportAlarm", "length", "prefixer", "createCache", "stylis", "insert", "isCustomProperty", "isProcessableValue", "processStyleValue", "match", "next", "serializeStyles", "registerStyles", "insertStyles", "merge", "createEmotion", "css", "keyframes", "injectGlobal", "cx", "classnames", "createEmotion", "props", "props", "props", "props", "isArray", "props", "props", "props", "props", "props", "props", "templateDefault", "templateDefault", "Icon", "props", "isArray", "IconText", "exec", "props", "defaultRouter", "import_scratch", "import_scratch", "import_utils", "import_scratch", "import_scratch", "import_scratch", "CONFIG", "depth", "Focusable", "props", "import_state", "import_utils", "import_scratch", "import_utils", "import_scratch", "import_scratch", "import_scratch", "import_utils", "createEmotion", "emotion", "keyframes", "emotion", "Focusable", "props", "import_utils", "import_scratch", "props", "import_scratch", "import_utils", "listenProp", "props", "import_scratch", "Flex", "props", "import_scratch", "import_utils", "import_scratch", "import_scratch", "import_scratch", "CONFIG", "depth", "import_state", "import_utils", "import_scratch", "import_utils", "import_scratch", "import_scratch", "import_scratch", "import_utils", "createEmotion", "emotion", "keyframes", "emotion", "Flex", "props", "props"]
|
|
3
|
+
"sources": ["../../../packages/scratch/dist/cjs/index.js", "../../../node_modules/@domql/key/dist/cjs/index.js", "../../../node_modules/@domql/tags/dist/cjs/htmlTags.js", "../../../node_modules/@domql/tags/dist/cjs/index.js", "../../../node_modules/@domql/globals/dist/cjs/index.js", "../../../node_modules/@domql/utils/dist/cjs/node.js", "../../../node_modules/@domql/utils/dist/cjs/types.js", "../../../node_modules/@domql/utils/dist/cjs/array.js", "../../../node_modules/@domql/utils/dist/cjs/object.js", "../../../node_modules/@domql/utils/dist/cjs/function.js", "../../../node_modules/@domql/utils/dist/cjs/log.js", "../../../node_modules/@domql/utils/dist/cjs/index.js", "../../../node_modules/@domql/state/dist/cjs/ignore.js", "../../../node_modules/@domql/event/dist/cjs/on.js", "../../../node_modules/@domql/report/dist/cjs/index.js", "../../../node_modules/@domql/event/dist/cjs/can.js", "../../../node_modules/@domql/event/dist/cjs/index.js", "../../../node_modules/@domql/state/dist/cjs/methods.js", "../../../node_modules/@domql/state/dist/cjs/inherit.js", "../../../node_modules/@domql/state/dist/cjs/updateState.js", "../../../node_modules/@domql/state/dist/cjs/createState.js", "../../../node_modules/@domql/state/dist/cjs/index.js", "../../../node_modules/moment/moment.js", "../../../node_modules/headless-datepicker/dist/headless-datepicker.js", "../../../node_modules/@domql/router/dist/cjs/index.js", "../Notification/node_modules/@symbo.ls/scratch/dist/cjs/index.js", "../index.js", "../Atoms/Block.js", "../Atoms/Direction.js", "../Atoms/Flex.js", "../Atoms/Grid.js", "../Atoms/Img.js", "../Atoms/Form.js", "../Atoms/Media.js", "../Atoms/Theme.js", "../Atoms/Shape/style.js", "../Atoms/Timing.js", "../Atoms/Iframe.js", "../Atoms/Interaction.js", "../Atoms/InteractiveComponent.js", "../Atoms/Overflow.js", "../Atoms/Collection.js", "../Atoms/Position.js", "../Atoms/Picture.js", "../Atoms/Pseudo.js", "../Atoms/Svg.js", "../Atoms/Shape/index.js", "../Atoms/Text.js", "../Atoms/Transform.js", "../Atoms/XYZ.js", "../Atoms/Animation.js", "../../../node_modules/@emotion/cache/node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js", "../../../node_modules/stylis/src/Enum.js", "../../../node_modules/stylis/src/Utility.js", "../../../node_modules/stylis/src/Tokenizer.js", "../../../node_modules/stylis/src/Parser.js", "../../../node_modules/stylis/src/Serializer.js", "../../../node_modules/stylis/src/Middleware.js", "../../../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js", "../../../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js", "../../../node_modules/@emotion/css/node_modules/@emotion/hash/dist/emotion-hash.esm.js", "../../../node_modules/@emotion/css/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js", "../../../node_modules/@emotion/css/node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js", "../../../node_modules/@emotion/css/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js", "../../../node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.esm.js", "../../../packages/emotion/index.js", "../Box/index.js", "../Avatar/index.js", "../Icon/index.js", "../Button/index.js", "../ButtonSet/index.js", "../Dialog/index.js", "../Datepicker/index.js", "../Input/index.js", "../TimePicker/TimePickerItem.js", "../TimePicker/index.js", "../Dropdown/index.js", "../Form/FieldLabel.js", "../Form/Checkbox.js", "../Form/Radio.js", "../Form/ToggleSwitch.js", "../node_modules/@symbo.ls/icon/index.js", "../Link/index.js", "../Field/node_modules/@symbo.ls/atoms/Block.js", "../Field/node_modules/@symbo.ls/atoms/Grid.js", "../Field/node_modules/@symbo.ls/atoms/Media.js", "../Field/node_modules/@symbo.ls/atoms/Theme.js", "../Field/node_modules/@symbo.ls/atoms/Shape/style.js", "../Field/node_modules/@symbo.ls/atoms/Timing.js", "../Field/node_modules/@symbo.ls/atoms/InteractiveComponent.js", "../Field/node_modules/@symbo.ls/atoms/Collection.js", "../Field/node_modules/@symbo.ls/atoms/Position.js", "../Field/node_modules/@symbo.ls/atoms/Shape/index.js", "../Field/node_modules/@symbo.ls/atoms/Text.js", "../Field/node_modules/@symbo.ls/atoms/Animation.js", "../Field/node_modules/@symbo.ls/emotion/index.js", "../Field/index.js", "../Video/index.js", "../Range/index.js", "../Slider/style.js", "../Slider/index.js", "../Notification/node_modules/@symbo.ls/atoms/Block.js", "../Notification/node_modules/@symbo.ls/atoms/Flex.js", "../Notification/node_modules/@symbo.ls/atoms/Grid.js", "../Notification/node_modules/@symbo.ls/atoms/Media.js", "../Notification/node_modules/@symbo.ls/atoms/Theme.js", "../Notification/node_modules/@symbo.ls/atoms/Shape/style.js", "../Notification/node_modules/@symbo.ls/atoms/Timing.js", "../Notification/node_modules/@symbo.ls/atoms/Collection.js", "../Notification/node_modules/@symbo.ls/atoms/Position.js", "../Notification/node_modules/@symbo.ls/atoms/Shape/index.js", "../Notification/node_modules/@symbo.ls/atoms/Text.js", "../Notification/node_modules/@symbo.ls/atoms/Animation.js", "../Notification/node_modules/@symbo.ls/emotion/index.js", "../Notification/index.js", "../Tooltip/index.js", "../Textarea/index.js", "../Upload/index.js", "../Label/index.js", "../Pills/index.js", "../Select/index.js"],
|
|
4
|
+
"sourcesContent": ["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// ../../node_modules/@domql/globals/dist/cjs/index.js\nvar require_cjs = __commonJS({\n \"../../node_modules/@domql/globals/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var globals_exports = {};\n __export2(globals_exports, {\n document: () => document4,\n global: () => global,\n self: () => self,\n window: () => window3\n });\n module2.exports = __toCommonJS2(globals_exports);\n var global = globalThis;\n var self = globalThis;\n var window3 = globalThis;\n var document4 = window3.document;\n }\n});\n\n// ../../node_modules/@domql/key/dist/cjs/index.js\nvar require_cjs2 = __commonJS({\n \"../../node_modules/@domql/key/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var key_exports = {};\n __export2(key_exports, {\n createKey: () => createKey,\n createSnapshotId: () => createSnapshotId\n });\n module2.exports = __toCommonJS2(key_exports);\n var createKey = function() {\n let index = 0;\n function newId() {\n index++;\n return index;\n }\n return newId;\n }();\n var createSnapshotId = createKey;\n }\n});\n\n// ../../node_modules/@domql/tags/dist/cjs/htmlTags.js\nvar require_htmlTags = __commonJS({\n \"../../node_modules/@domql/tags/dist/cjs/htmlTags.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var htmlTags_exports = {};\n __export2(htmlTags_exports, {\n HTML_TAGS: () => HTML_TAGS\n });\n module2.exports = __toCommonJS2(htmlTags_exports);\n var HTML_TAGS = {\n root: [\n \"body\",\n \"html\"\n ],\n head: [\n \"title\",\n \"base\",\n \"meta\",\n \"style\"\n ],\n body: [\n \"string\",\n \"fragment\",\n \"a\",\n \"abbr\",\n \"acronym\",\n \"address\",\n \"applet\",\n \"area\",\n \"article\",\n \"aside\",\n \"audio\",\n \"b\",\n \"basefont\",\n \"bdi\",\n \"bdo\",\n \"big\",\n \"blockquote\",\n \"br\",\n \"button\",\n \"canvas\",\n \"caption\",\n \"center\",\n \"cite\",\n \"code\",\n \"col\",\n \"colgroup\",\n \"data\",\n \"datalist\",\n \"dd\",\n \"del\",\n \"details\",\n \"dfn\",\n \"dialog\",\n \"dir\",\n \"div\",\n \"dl\",\n \"dt\",\n \"em\",\n \"embed\",\n \"fieldset\",\n \"figcaption\",\n \"figure\",\n \"font\",\n \"footer\",\n \"form\",\n \"frame\",\n \"frameset\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\",\n \"head\",\n \"header\",\n \"hr\",\n \"i\",\n \"iframe\",\n \"img\",\n \"input\",\n \"ins\",\n \"kbd\",\n \"label\",\n \"legend\",\n \"li\",\n \"link\",\n \"main\",\n \"map\",\n \"mark\",\n \"meter\",\n \"nav\",\n \"noframes\",\n \"noscript\",\n \"object\",\n \"ol\",\n \"optgroup\",\n \"option\",\n \"output\",\n \"p\",\n \"param\",\n \"picture\",\n \"pre\",\n \"progress\",\n \"q\",\n \"rp\",\n \"rt\",\n \"ruby\",\n \"s\",\n \"samp\",\n \"script\",\n \"section\",\n \"select\",\n \"small\",\n \"source\",\n \"span\",\n \"strike\",\n \"strong\",\n \"sub\",\n \"summary\",\n \"sup\",\n \"table\",\n \"tbody\",\n \"td\",\n \"template\",\n \"textarea\",\n \"tfoot\",\n \"th\",\n \"thead\",\n \"time\",\n \"tr\",\n \"track\",\n \"tt\",\n \"u\",\n \"ul\",\n \"var\",\n \"video\",\n \"wbr\",\n // SVG\n \"svg\",\n \"path\"\n ]\n };\n }\n});\n\n// ../../node_modules/@domql/tags/dist/cjs/index.js\nvar require_cjs3 = __commonJS({\n \"../../node_modules/@domql/tags/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, \"default\"), secondTarget && __copyProps2(secondTarget, mod, \"default\"));\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var tags_exports = {};\n module2.exports = __toCommonJS2(tags_exports);\n __reExport(tags_exports, require_htmlTags(), module2.exports);\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/node.js\nvar require_node = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/node.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var node_exports = {};\n __export2(node_exports, {\n isHtmlElement: () => isHtmlElement,\n isNode: () => isNode\n });\n module2.exports = __toCommonJS2(node_exports);\n var import_globals3 = require_cjs();\n var isNode = (obj) => {\n return (typeof Node === \"object\" ? obj instanceof import_globals3.window.Node : obj && typeof obj === \"object\" && typeof obj.nodeType === \"number\" && typeof obj.nodeName === \"string\") || false;\n };\n var isHtmlElement = (obj) => {\n return (typeof HTMLElement === \"object\" ? obj instanceof import_globals3.window.HTMLElement : obj && typeof obj === \"object\" && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === \"string\") || false;\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/types.js\nvar require_types = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/types.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var types_exports = {};\n __export2(types_exports, {\n TYPES: () => TYPES,\n is: () => is,\n isArray: () => isArray6,\n isBoolean: () => isBoolean,\n isDefined: () => isDefined2,\n isFunction: () => isFunction2,\n isNot: () => isNot,\n isNull: () => isNull,\n isNumber: () => isNumber,\n isObject: () => isObject7,\n isObjectLike: () => isObjectLike3,\n isString: () => isString8,\n isUndefined: () => isUndefined,\n isValidHtmlTag: () => isValidHtmlTag\n });\n module2.exports = __toCommonJS2(types_exports);\n var import_tags = require_cjs3();\n var import_node = require_node();\n var isValidHtmlTag = (arg) => import_tags.HTML_TAGS.body.includes(arg);\n var isObject7 = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\" && arg.constructor === Object;\n };\n var isString8 = (arg) => typeof arg === \"string\";\n var isNumber = (arg) => typeof arg === \"number\";\n var isFunction2 = (arg) => typeof arg === \"function\";\n var isBoolean = (arg) => arg === true || arg === false;\n var isNull = (arg) => arg === null;\n var isArray6 = (arg) => Array.isArray(arg);\n var isObjectLike3 = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\";\n };\n var isDefined2 = (arg) => {\n return isObject7(arg) || isObjectLike3(arg) || isString8(arg) || isNumber(arg) || isFunction2(arg) || isArray6(arg) || isObjectLike3(arg) || isBoolean(arg) || isNull(arg);\n };\n var isUndefined = (arg) => {\n return arg === void 0;\n };\n var TYPES = {\n boolean: isBoolean,\n array: isArray6,\n object: isObject7,\n string: isString8,\n number: isNumber,\n null: isNull,\n function: isFunction2,\n objectLike: isObjectLike3,\n node: import_node.isNode,\n htmlElement: import_node.isHtmlElement,\n defined: isDefined2\n };\n var is = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length > 0;\n };\n };\n var isNot = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length === 0;\n };\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/array.js\nvar require_array = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/array.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var array_exports = {};\n __export2(array_exports, {\n arrayContainsOtherArray: () => arrayContainsOtherArray,\n joinArrays: () => joinArrays,\n mergeAndCloneIfArray: () => mergeAndCloneIfArray,\n mergeArray: () => mergeArray,\n removeFromArray: () => removeFromArray,\n swapItemsInArray: () => swapItemsInArray\n });\n module2.exports = __toCommonJS2(array_exports);\n var import_object = require_object();\n var import_types = require_types();\n var arrayContainsOtherArray = (arr1, arr2) => {\n return arr2.every((val) => arr1.includes(val));\n };\n var removeFromArray = (arr, index) => {\n if ((0, import_types.isString)(index))\n index = parseInt(index);\n if ((0, import_types.isNumber)(index)) {\n if (index < 0 || index >= arr.length || isNaN(index)) {\n throw new Error(\"Invalid index\");\n }\n arr.splice(index, 1);\n } else if ((0, import_types.isArray)(index)) {\n index.forEach((idx) => removeFromArray(arr, idx));\n } else {\n throw new Error(\"Invalid index\");\n }\n return arr;\n };\n var swapItemsInArray = (arr, i, j) => {\n [arr[i], arr[j]] = [arr[j], arr[i]];\n };\n var joinArrays = (...arrays) => {\n return [].concat(...arrays);\n };\n var mergeArray = (arr, excludeFrom = []) => {\n return arr.reduce((a, c) => (0, import_object.deepMerge)(a, (0, import_object.deepClone)(c, excludeFrom), excludeFrom), {});\n };\n var mergeAndCloneIfArray = (obj) => {\n return (0, import_types.isArray)(obj) ? mergeArray(obj) : (0, import_object.deepClone)(obj);\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/object.js\nvar require_object = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/object.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var object_exports = {};\n __export2(object_exports, {\n clone: () => clone,\n deepClone: () => deepClone2,\n deepCloneExclude: () => deepCloneExclude,\n deepDestringify: () => deepDestringify,\n deepMerge: () => deepMerge3,\n deepStringify: () => deepStringify,\n detachFunctionsFromObject: () => detachFunctionsFromObject,\n diff: () => diff,\n diffArrays: () => diffArrays,\n diffObjects: () => diffObjects,\n exec: () => exec,\n flattenRecursive: () => flattenRecursive,\n isEqualDeep: () => isEqualDeep,\n map: () => map,\n merge: () => merge5,\n mergeArrayExclude: () => mergeArrayExclude,\n mergeIfExisted: () => mergeIfExisted,\n overwrite: () => overwrite,\n overwriteDeep: () => overwriteDeep2,\n overwriteShallow: () => overwriteShallow,\n removeFromObject: () => removeFromObject\n });\n module2.exports = __toCommonJS2(object_exports);\n var import_globals3 = require_cjs();\n var import_types = require_types();\n var import_array = require_array();\n var exec = (param, element, state, context) => {\n if ((0, import_types.isFunction)(param)) {\n return param(\n element,\n state || element.state,\n context || element.context\n );\n }\n return param;\n };\n var map = (obj, extention, element) => {\n for (const e in extention) {\n obj[e] = exec(extention[e], element);\n }\n };\n var merge5 = (element, obj, excludeFrom = []) => {\n for (const e in obj) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const objProp = obj[e];\n if (elementProp === void 0) {\n element[e] = objProp;\n }\n }\n return element;\n };\n var deepMerge3 = (element, extend, excludeFrom = []) => {\n for (const e in extend) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const extendProp = extend[e];\n if ((0, import_types.isObjectLike)(elementProp) && (0, import_types.isObjectLike)(extendProp)) {\n deepMerge3(elementProp, extendProp);\n } else if (elementProp === void 0) {\n element[e] = extendProp;\n }\n }\n return element;\n };\n var clone = (obj, excludeFrom = []) => {\n const o = {};\n for (const prop in obj) {\n if (excludeFrom.includes(prop) || prop.includes(\"__\"))\n continue;\n o[prop] = obj[prop];\n }\n return o;\n };\n var deepCloneExclude = (obj, excludeFrom = []) => {\n if ((0, import_types.isArray)(obj)) {\n return obj.map((x) => deepCloneExclude(x, excludeFrom));\n }\n const o = {};\n for (const k in obj) {\n if (excludeFrom.includes(k) || k.includes(\"__\"))\n continue;\n let v = obj[k];\n if (k === \"extend\" && (0, import_types.isArray)(v)) {\n v = mergeArrayExclude(v, excludeFrom);\n }\n if ((0, import_types.isArray)(v)) {\n o[k] = v.map((x) => deepCloneExclude(x, excludeFrom));\n } else if ((0, import_types.isObject)(v)) {\n o[k] = deepCloneExclude(v, excludeFrom);\n } else\n o[k] = v;\n }\n return o;\n };\n var mergeArrayExclude = (arr, excl = []) => {\n return arr.reduce((acc, curr) => deepMerge3(acc, deepCloneExclude(curr, excl)), {});\n };\n var deepClone2 = (obj, excludeFrom = []) => {\n const o = (0, import_types.isArray)(obj) ? [] : {};\n for (const prop in obj) {\n if (excludeFrom.includes(prop) || prop.includes(\"__\"))\n continue;\n let objProp = obj[prop];\n if (prop === \"extend\" && (0, import_types.isArray)(objProp)) {\n objProp = (0, import_array.mergeArray)(objProp);\n }\n if ((0, import_types.isObjectLike)(objProp)) {\n o[prop] = deepClone2(objProp, excludeFrom);\n } else\n o[prop] = objProp;\n }\n return o;\n };\n var deepStringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp)) {\n stringified[prop] = objProp.toString();\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = {};\n deepStringify(objProp, stringified[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isObject)(v)) {\n stringified[prop][i] = {};\n deepStringify(v, stringified[prop][i]);\n } else if ((0, import_types.isFunction)(v)) {\n stringified[prop][i] = v.toString();\n } else {\n stringified[prop][i] = v;\n }\n });\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n };\n var detachFunctionsFromObject = (obj, detached = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp))\n continue;\n else if ((0, import_types.isObject)(objProp)) {\n detached[prop] = {};\n deepStringify(objProp, detached[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n detached[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isFunction)(v))\n return;\n if ((0, import_types.isObject)(v)) {\n detached[prop][i] = {};\n detachFunctionsFromObject(v, detached[prop][i]);\n } else {\n detached[prop][i] = v;\n }\n });\n } else {\n detached[prop] = objProp;\n }\n }\n return detached;\n };\n var deepDestringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isString)(objProp)) {\n if (objProp.includes(\"=>\") || objProp.includes(\"function\") || objProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals3.window.eval(`(${objProp})`);\n stringified[prop] = evalProp;\n } catch (e) {\n if (e)\n stringified[prop] = objProp;\n }\n } else {\n stringified[prop] = objProp;\n }\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((arrProp) => {\n if ((0, import_types.isString)(arrProp)) {\n if (arrProp.includes(\"=>\") || arrProp.includes(\"function\") || arrProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals3.window.eval(`(${arrProp})`);\n stringified[prop].push(evalProp);\n } catch (e) {\n if (e)\n stringified[prop].push(arrProp);\n }\n } else {\n stringified[prop].push(arrProp);\n }\n } else if ((0, import_types.isObject)(arrProp)) {\n stringified[prop].push(deepDestringify(arrProp));\n } else {\n stringified[prop].push(arrProp);\n }\n });\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = deepDestringify(objProp, stringified[prop]);\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n };\n var diffObjects = (original, objToDiff, cache) => {\n for (const e in objToDiff) {\n if (e === \"ref\")\n continue;\n const originalProp = original[e];\n const objToDiffProp = objToDiff[e];\n if ((0, import_types.isObject)(originalProp) && (0, import_types.isObject)(objToDiffProp)) {\n cache[e] = {};\n diff(originalProp, objToDiffProp, cache[e]);\n } else if (objToDiffProp !== void 0) {\n cache[e] = objToDiffProp;\n }\n }\n return cache;\n };\n var diffArrays = (original, objToDiff, cache) => {\n if (original.length !== objToDiff.length) {\n cache = objToDiff;\n } else {\n const diffArr = [];\n for (let i = 0; i < original.length; i++) {\n const diffObj = diff(original[i], objToDiff[i]);\n if (Object.keys(diffObj).length > 0) {\n diffArr.push(diffObj);\n }\n }\n if (diffArr.length > 0) {\n cache = diffArr;\n }\n }\n return cache;\n };\n var diff = (original, objToDiff, cache = {}) => {\n if ((0, import_types.isArray)(original) && (0, import_types.isArray)(objToDiff)) {\n cache = [];\n diffArrays(original, objToDiff, cache);\n } else {\n diffObjects(original, objToDiff, cache);\n }\n return cache;\n };\n var overwrite = (element, params, excludeFrom = []) => {\n const { ref } = element;\n const changes = {};\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const paramsProp = params[e];\n if (paramsProp) {\n ref.__cache[e] = changes[e] = elementProp;\n ref[e] = paramsProp;\n }\n }\n return changes;\n };\n var overwriteShallow = (obj, params, excludeFrom = []) => {\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n obj[e] = params[e];\n }\n return obj;\n };\n var overwriteDeep2 = (obj, params, excludeFrom = []) => {\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const objProp = obj[e];\n const paramsProp = params[e];\n if ((0, import_types.isObjectLike)(objProp) && (0, import_types.isObjectLike)(paramsProp)) {\n overwriteDeep2(objProp, paramsProp);\n } else if (paramsProp !== void 0) {\n obj[e] = paramsProp;\n }\n }\n return obj;\n };\n var mergeIfExisted = (a, b) => {\n if ((0, import_types.isObjectLike)(a) && (0, import_types.isObjectLike)(b))\n return deepMerge3(a, b);\n return a || b;\n };\n var flattenRecursive = (param, prop, stack = []) => {\n const objectized = (0, import_array.mergeAndCloneIfArray)(param);\n stack.push(objectized);\n const extendOfExtend = objectized[prop];\n if (extendOfExtend)\n flattenRecursive(extendOfExtend, prop, stack);\n delete objectized[prop];\n return stack;\n };\n var isEqualDeep = (param, element) => {\n if (param === element)\n return true;\n if (!param || !element)\n return false;\n for (const prop in param) {\n const paramProp = param[prop];\n const elementProp = element[prop];\n if ((0, import_types.isObjectLike)(paramProp)) {\n const isEqual = isEqualDeep(paramProp, elementProp);\n if (!isEqual)\n return false;\n } else {\n const isEqual = paramProp === elementProp;\n if (!isEqual)\n return false;\n }\n }\n return true;\n };\n var removeFromObject = (obj, props) => {\n if (props === void 0 || props === null)\n return obj;\n if ((0, import_types.is)(props)(\"string\", \"number\")) {\n delete obj[props];\n } else if ((0, import_types.isArray)(props)) {\n props.forEach((prop) => delete obj[prop]);\n } else {\n throw new Error(\"Invalid input: props must be a string or an array of strings\");\n }\n return obj;\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/function.js\nvar require_function = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/function.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var function_exports = {};\n __export2(function_exports, {\n debounce: () => debounce,\n memoize: () => memoize\n });\n module2.exports = __toCommonJS2(function_exports);\n var debounce = (element, func, timeout = 300) => {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(element, args);\n }, timeout);\n };\n };\n var memoize = (fn) => {\n const cache = {};\n return (...args) => {\n const n = args[0];\n if (n in cache) {\n return cache[n];\n } else {\n const result = fn(n);\n cache[n] = result;\n return result;\n }\n };\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/log.js\nvar require_log = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/log.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var log_exports = {};\n __export2(log_exports, {\n logGroupIf: () => logGroupIf,\n logIf: () => logIf\n });\n module2.exports = __toCommonJS2(log_exports);\n var logIf = (bool, ...arg) => {\n if (bool)\n arg.map((v) => console.log(v));\n };\n var logGroupIf = (bool, key, ...arg) => {\n if (bool) {\n console.group(key);\n arg.map((v) => console.log(v));\n console.groupEnd(key);\n }\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/index.js\nvar require_cjs4 = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, \"default\"), secondTarget && __copyProps2(secondTarget, mod, \"default\"));\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var utils_exports2 = {};\n module2.exports = __toCommonJS2(utils_exports2);\n __reExport(utils_exports2, require_cjs2(), module2.exports);\n __reExport(utils_exports2, require_types(), module2.exports);\n __reExport(utils_exports2, require_object(), module2.exports);\n __reExport(utils_exports2, require_function(), module2.exports);\n __reExport(utils_exports2, require_array(), module2.exports);\n __reExport(utils_exports2, require_node(), module2.exports);\n __reExport(utils_exports2, require_log(), module2.exports);\n }\n});\n\n// src/index.js\nvar src_exports = {};\n__export(src_exports, {\n ANIMATION: () => ANIMATION,\n BREAKPOINTS: () => BREAKPOINTS,\n CASES: () => CASES,\n COLOR: () => COLOR,\n CONFIG: () => CONFIG,\n CSS_VARS: () => CSS_VARS,\n DEVICES: () => DEVICES,\n DOCUMENT: () => DOCUMENT,\n FACTORY: () => FACTORY,\n FONT: () => FONT,\n FONT_FACE: () => FONT_FACE,\n FONT_FAMILY: () => FONT_FAMILY,\n FONT_FAMILY_TYPES: () => FONT_FAMILY_TYPES,\n GRADIENT: () => GRADIENT,\n ICONS: () => ICONS,\n MEDIA: () => MEDIA,\n RESET: () => RESET,\n SEQUENCE: () => SEQUENCE,\n SPACING: () => SPACING,\n SVG: () => SVG,\n SVG_DATA: () => SVG_DATA,\n THEME: () => THEME,\n TIMING: () => TIMING,\n TYPOGRAPHY: () => TYPOGRAPHY,\n UNIT: () => UNIT,\n VALUE_TRANSFORMERS: () => VALUE_TRANSFORMERS,\n activateConfig: () => activateConfig,\n appendIconsSprite: () => appendIconsSprite,\n appendSVGSprite: () => appendSVGSprite,\n applyDocument: () => applyDocument,\n applyHeadings: () => applyHeadings,\n applyReset: () => applyReset,\n applySequenceVars: () => applySequenceVars,\n applySpacingSequence: () => applySpacingSequence,\n applyTimingSequence: () => applyTimingSequence,\n applyTypographySequence: () => applyTypographySequence,\n changeLightness: () => changeLightness,\n colorStringToRgbaArray: () => colorStringToRgbaArray,\n convertSvgToSymbol: () => convertSvgToSymbol,\n findHeadingLetter: () => findHeadingLetter,\n findHeadings: () => findHeadings,\n generateSequence: () => generateSequence,\n generateSprite: () => generateSprite,\n generateSubSequence: () => generateSubSequence,\n getActiveConfig: () => getActiveConfig,\n getColor: () => getColor,\n getColorShade: () => getColorShade,\n getDefaultOrFirstKey: () => getDefaultOrFirstKey,\n getFontFace: () => getFontFace,\n getFontFaceEach: () => getFontFaceEach,\n getFontFaceEachString: () => getFontFaceEachString,\n getFontFaceString: () => getFontFaceString,\n getFontFamily: () => getFontFamily,\n getFontFormat: () => getFontFormat,\n getFontSizeByKey: () => getFontSizeByKey,\n getMediaColor: () => getMediaColor,\n getMediaTheme: () => getMediaTheme,\n getSequenceValue: () => getSequenceValue,\n getSequenceValuePropertyPair: () => getSequenceValuePropertyPair,\n getSpacingBasedOnRatio: () => getSpacingBasedOnRatio,\n getSpacingByKey: () => getSpacingByKey,\n getTheme: () => getTheme,\n getTimingByKey: () => getTimingByKey,\n getTimingFunction: () => getTimingFunction,\n hexToRgb: () => hexToRgb,\n hexToRgbArray: () => hexToRgbArray,\n hexToRgba: () => hexToRgba,\n hslToRgb: () => hslToRgb,\n mixTwoColors: () => mixTwoColors,\n mixTwoRgb: () => mixTwoRgb,\n mixTwoRgba: () => mixTwoRgba,\n numToLetterMap: () => numToLetterMap,\n opacify: () => opacify,\n returnSubThemeOrDefault: () => returnSubThemeOrDefault,\n rgbArrayToHex: () => rgbArrayToHex,\n rgbToHSL: () => rgbToHSL,\n rgbToHex: () => rgbToHex,\n runThroughMedia: () => runThroughMedia,\n scratchSystem: () => system_exports,\n scratchUtils: () => utils_exports,\n set: () => set,\n setActiveConfig: () => setActiveConfig,\n setColor: () => setColor,\n setCustomFont: () => setCustomFont,\n setCustomFontMedia: () => setCustomFontMedia,\n setEach: () => setEach,\n setFont: () => setFont,\n setFontFamily: () => setFontFamily,\n setGradient: () => setGradient,\n setIcon: () => setIcon,\n setInCustomFontMedia: () => setInCustomFontMedia,\n setMediaTheme: () => setMediaTheme,\n setSVG: () => setSVG,\n setTheme: () => setTheme,\n setValue: () => setValue,\n setVariables: () => setVariables,\n splitTransition: () => splitTransition,\n transformBackgroundImage: () => transformBackgroundImage,\n transformBorder: () => transformBorder,\n transformDuration: () => transformDuration,\n transformShadow: () => transformShadow,\n transformTextStroke: () => transformTextStroke,\n transformTransition: () => transformTransition,\n transfromGap: () => transfromGap\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/utils/index.js\nvar utils_exports = {};\n__export(utils_exports, {\n applySequenceVars: () => applySequenceVars,\n changeLightness: () => changeLightness,\n colorStringToRgbaArray: () => colorStringToRgbaArray,\n convertSvgToSymbol: () => convertSvgToSymbol,\n findHeadingLetter: () => findHeadingLetter,\n findHeadings: () => findHeadings,\n generateSequence: () => generateSequence,\n generateSprite: () => generateSprite,\n generateSubSequence: () => generateSubSequence,\n getColorShade: () => getColorShade,\n getDefaultOrFirstKey: () => getDefaultOrFirstKey,\n getFontFace: () => getFontFace,\n getFontFaceEach: () => getFontFaceEach,\n getFontFaceEachString: () => getFontFaceEachString,\n getFontFaceString: () => getFontFaceString,\n getFontFormat: () => getFontFormat,\n getSequenceValue: () => getSequenceValue,\n getSequenceValuePropertyPair: () => getSequenceValuePropertyPair,\n hexToRgb: () => hexToRgb,\n hexToRgbArray: () => hexToRgbArray,\n hexToRgba: () => hexToRgba,\n hslToRgb: () => hslToRgb,\n mixTwoColors: () => mixTwoColors,\n mixTwoRgb: () => mixTwoRgb,\n mixTwoRgba: () => mixTwoRgba,\n numToLetterMap: () => numToLetterMap,\n opacify: () => opacify,\n returnSubThemeOrDefault: () => returnSubThemeOrDefault,\n rgbArrayToHex: () => rgbArrayToHex,\n rgbToHSL: () => rgbToHSL,\n rgbToHex: () => rgbToHex,\n setCustomFont: () => setCustomFont,\n setCustomFontMedia: () => setCustomFontMedia,\n setInCustomFontMedia: () => setInCustomFontMedia,\n setVariables: () => setVariables\n});\n\n// src/utils/color.js\nvar import_globals = __toESM(require_cjs(), 1);\nvar ENV = \"development\";\nvar colorStringToRgbaArray = (color) => {\n if (color === \"\")\n return;\n if (color.toLowerCase() === \"transparent\")\n return [0, 0, 0, 0];\n if (color[0] === \"#\") {\n if (color.length < 7) {\n color = \"#\" + color[1] + color[1] + color[2] + color[2] + color[3] + color[3] + (color.length > 4 ? color[4] + color[4] : \"\");\n }\n return [\n parseInt(color.substr(1, 2), 16),\n parseInt(color.substr(3, 2), 16),\n parseInt(color.substr(5, 2), 16),\n color.length > 7 ? parseInt(color.substr(7, 2), 16) / 255 : 1\n ];\n }\n if (color.indexOf(\"rgb\") === -1) {\n if (import_globals.document && import_globals.window) {\n const elem = import_globals.document.body.appendChild(import_globals.document.createElement(\"fictum\"));\n const flag = \"rgb(1, 2, 3)\";\n elem.style.color = flag;\n if (elem.style.color !== flag)\n return;\n elem.style.color = color;\n if (elem.style.color === flag || elem.style.color === \"\")\n return;\n color = import_globals.window.getComputedStyle(elem).color;\n import_globals.document.body.removeChild(elem);\n }\n }\n if (color.indexOf(\"rgb\") === 0) {\n if (color.indexOf(\"rgba\") === -1)\n color = `${color}, 1`;\n return color.match(/[\\.\\d]+/g).map((a) => +a);\n }\n return [];\n};\nvar mixTwoColors = (colorA, colorB, range = 0.5) => {\n colorA = colorStringToRgbaArray(colorA);\n colorB = colorStringToRgbaArray(colorB);\n return mixTwoRgba(colorA, colorB, range);\n};\nvar hexToRgb = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return `rgb(${r},${g},${b})`;\n};\nvar hexToRgbArray = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return [r, g, b];\n};\nvar rgbToHex = (r, g, b) => {\n return \"#\" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n};\nvar rgbArrayToHex = ([r, g, b]) => {\n return ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n};\nvar hexToRgba = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return `rgba(${r},${g},${b},${alpha})`;\n};\nvar mixTwoRgb = (colorA, colorB, range = 0.5) => {\n const arr = [];\n for (let i = 0; i < 3; i++) {\n arr[i] = ~~(colorA[i] + (colorB[i] - colorA[i]) * range);\n }\n return `rgb(${arr})`;\n};\nvar changeLightness = (delta, hsl) => {\n const [hue, saturation, lightness] = hsl;\n const newLightness = Math.max(\n 0,\n Math.min(100, lightness + parseFloat(delta))\n );\n return [hue, saturation, newLightness];\n};\nvar rgbToHSL = (r, g, b) => {\n const a = Math.max(r, g, b);\n const n = a - Math.min(r, g, b);\n const f = 1 - Math.abs(a + a - n - 1);\n const h = n && (a == r ? (g - b) / n : a == g ? 2 + (b - r) / n : 4 + (r - g) / n);\n return [60 * (h < 0 ? h + 6 : h), f ? n / f : 0, (a + a - n) / 2];\n};\nvar hslToRgb = (h, s, l, a = s * Math.min(l, 1 - l), f = (n, k = (n + h / 30) % 12) => l - a * Math.max(\n Math.min(k - 3, 9 - k, 1),\n -1\n)) => [f(0), f(8), f(4)];\nvar getColorShade = (col, amt) => {\n const num = parseInt(col, 16);\n let r = (num >> 16) + amt;\n if (r > 255)\n r = 255;\n else if (r < 0)\n r = 0;\n let b = (num >> 8 & 255) + amt;\n if (b > 255)\n b = 255;\n else if (b < 0)\n b = 0;\n let g = (num & 255) + amt;\n if (g > 255)\n g = 255;\n else if (g < 0)\n g = 0;\n return (g | b << 8 | r << 16).toString(16);\n};\nvar mixTwoRgba = (colorA, colorB, range = 0.5) => {\n const arr = [];\n for (let i = 0; i < 4; i++) {\n const round = i === 3 ? (x) => x : Math.round;\n arr[i] = round(\n colorA[i] + (colorB[i] - colorA[i]) * range\n );\n }\n return `rgba(${arr})`;\n};\nvar opacify = (color, opacity) => {\n const arr = colorStringToRgbaArray(color);\n if (!arr) {\n if (ENV === \"test\" || ENV === \"development\")\n console.warn(color + \"color is not rgba\");\n return;\n }\n arr[3] = opacity;\n return `rgba(${arr})`;\n};\n\n// src/utils/theme.js\nvar returnSubThemeOrDefault = (orig, theme) => {\n if (!orig)\n return;\n if (orig.themes && orig.themes[theme])\n return orig.themes[theme];\n if (orig[theme])\n return [orig, orig[theme]];\n return orig;\n};\n\n// src/utils/font.js\nvar getDefaultOrFirstKey = (LIBRARY, key) => {\n if (LIBRARY[key])\n return LIBRARY[key].value;\n if (LIBRARY.default)\n return LIBRARY[LIBRARY.default].value;\n const hasValue = Object.keys(LIBRARY)[0];\n return hasValue && LIBRARY[hasValue] && LIBRARY[hasValue].value;\n};\nvar getFontFormat = (url) => url.split(/[#?]/)[0].split(\".\").pop().trim();\nvar setInCustomFontMedia = (str) => `@font-face { ${str} }`;\nvar setCustomFont = (name, url, weight) => `\n font-family: '${name}';\n font-style: normal;\n ${weight && `font-weight: ${weight};`}\n src: url('${url}') format('${getFontFormat(url)}');`;\nvar setCustomFontMedia = (name, url, weight) => `@font-face {\n ${setCustomFont(name, url, weight)}\n}`;\nvar getFontFaceEach = (name, weights) => {\n const keys = Object.keys(weights);\n return keys.map((key) => {\n const { url, fontWeight } = weights[key];\n return setCustomFont(name, url, fontWeight);\n });\n};\nvar getFontFace = (LIBRARY) => {\n const keys = Object.keys(LIBRARY);\n return keys.map((key) => getFontFaceEach(key, LIBRARY[key].value));\n};\nvar getFontFaceEachString = (name, weights) => {\n const isArr = weights[0];\n if (isArr)\n return getFontFaceEach(name, weights).map(setInCustomFontMedia);\n return setCustomFontMedia(name, weights.url);\n};\nvar getFontFaceString = (LIBRARY) => {\n const keys = Object.keys(LIBRARY);\n return keys.map((key) => getFontFaceEachString(key, LIBRARY[key].value));\n};\n\n// src/utils/sequence.js\nvar import_utils4 = __toESM(require_cjs4(), 1);\n\n// ../utils/src/index.js\nvar import_utils2 = __toESM(require_cjs4());\n\n// ../utils/src/scaling.js\nvar import_utils = __toESM(require_cjs4());\n\n// ../utils/src/index.js\nvar toCamelCase = (str) => {\n return str.replace(/(?:^\\w|[A-Z]|\\b\\w)/g, function(word, index) {\n return index === 0 ? word.toLowerCase() : word.toUpperCase();\n }).replaceAll(/\\s+/g, \"\");\n};\nvar toDashCase = (val) => val.replace(/[A-Z]/g, (match, offset) => (offset > 0 ? \"-\" : \"\") + match.toLowerCase()).replace(\".\", \"-\");\nvar arrayzeValue = (val) => {\n if ((0, import_utils2.isString)(val))\n return val.split(\" \");\n if ((0, import_utils2.isObject)(val))\n return Object.keys(val).map((v) => val[v]);\n if ((0, import_utils2.isArray)(val))\n return val;\n};\n\n// src/factory.js\nvar import_utils3 = __toESM(require_cjs4(), 1);\n\n// src/defaultConfig/index.js\nvar defaultConfig_exports = {};\n__export(defaultConfig_exports, {\n ANIMATION: () => ANIMATION,\n BREAKPOINTS: () => BREAKPOINTS,\n CASES: () => CASES,\n COLOR: () => COLOR,\n DEVICES: () => DEVICES,\n DOCUMENT: () => DOCUMENT,\n FONT: () => FONT,\n FONT_FACE: () => FONT_FACE,\n FONT_FAMILY: () => FONT_FAMILY,\n FONT_FAMILY_TYPES: () => FONT_FAMILY_TYPES,\n GRADIENT: () => GRADIENT,\n ICONS: () => ICONS,\n MEDIA: () => MEDIA,\n RESET: () => RESET,\n SEQUENCE: () => SEQUENCE,\n SPACING: () => SPACING,\n SVG: () => SVG,\n SVG_DATA: () => SVG_DATA,\n THEME: () => THEME,\n TIMING: () => TIMING,\n TYPOGRAPHY: () => TYPOGRAPHY,\n UNIT: () => UNIT\n});\n\n// src/defaultConfig/sequence.js\nvar SEQUENCE = {\n \"minor-second\": 1.067,\n \"major-second\": 1.125,\n \"minor-third\": 1.2,\n \"major-third\": 1.25,\n \"perfect-fourth\": 1.333,\n \"augmented-fourth\": 1.414,\n \"perfect-fifth\": 1.5,\n \"minor-sixth\": 1.6,\n phi: 1.618,\n // golden-ratio\n \"major-sixth\": 1.667,\n \"square-root-3\": 1.732,\n // theodorus\n \"minor-seventh\": 1.778,\n \"major-seventh\": 1.875,\n octave: 2,\n \"square-root-5\": 2.23,\n // pythagoras\n \"major-tenth\": 2.5,\n \"major-eleventh\": 2.667,\n \"major-twelfth\": 3,\n pi: 3.14,\n // archimedes\n \"double-octave\": 4\n};\n\n// src/defaultConfig/unit.js\nvar UNIT = {\n default: \"em\"\n};\n\n// src/defaultConfig/typography.js\nvar defaultProps = {\n browserDefault: 16,\n base: 16,\n type: \"font-size\",\n ratio: SEQUENCE[\"minor-third\"],\n range: [-3, 12],\n h1Matches: 6,\n lineHeight: 1.5,\n subSequence: true,\n unit: \"em\",\n templates: {},\n sequence: {},\n scales: {},\n vars: {}\n};\nvar TYPOGRAPHY = defaultProps;\n\n// src/defaultConfig/font.js\nvar FONT = {};\n\n// src/defaultConfig/font-family.js\nvar FONT_FAMILY = {};\nvar FONT_FAMILY_TYPES = {\n \"sans-serif\": \"Helvetica, Arial, sans-serif, --system-default\",\n serif: \"Times New Roman, Georgia, serif, --system-default\",\n monospace: \"Courier New, monospace, --system-default\"\n};\nvar FONT_FACE = {};\n\n// src/defaultConfig/media.js\nvar MEDIA = {\n tv: \"(min-width: 2780px)\",\n screenL: \"(max-width: 1920px)\",\n \"screenL<\": \"(min-width: 1920px)\",\n screenM: \"(max-width: 1680px)\",\n \"screenM<\": \"(min-width: 1680px)\",\n screenS: \"(max-width: 1440px)\",\n \"screenS<\": \"(min-width: 1440px)\",\n tabletL: \"(max-width: 1366px)\",\n \"tabletL<\": \"(min-width: 1366px)\",\n tabletM: \"(max-width: 1280px)\",\n \"tabletM<\": \"(min-width: 1280px)\",\n tabletS: \"(max-width: 1024px)\",\n \"tabletS<\": \"(min-width: 1024px)\",\n mobileL: \"(max-width: 768px)\",\n \"mobileL<\": \"(min-width: 768px)\",\n mobileM: \"(max-width: 560px)\",\n \"mobileM<\": \"(min-width: 560px)\",\n mobileS: \"(max-width: 480px)\",\n \"mobileS<\": \"(min-width: 480px)\",\n mobileXS: \"(max-width: 375px)\",\n \"mobileXS<\": \"(min-width: 375px)\",\n light: \"(prefers-color-scheme: light)\",\n dark: \"(prefers-color-scheme: dark)\",\n print: \"print\"\n};\n\n// src/defaultConfig/spacing.js\nvar defaultProps2 = {\n base: TYPOGRAPHY.base,\n type: \"spacing\",\n ratio: SEQUENCE.phi,\n range: [-5, 15],\n subSequence: true,\n unit: \"em\",\n sequence: {},\n scales: {},\n vars: {}\n};\nvar SPACING = defaultProps2;\n\n// src/defaultConfig/color.js\nvar COLOR = {};\nvar GRADIENT = {};\n\n// src/defaultConfig/theme.js\nvar THEME = {};\n\n// src/defaultConfig/icons.js\nvar ICONS = {};\n\n// src/defaultConfig/timing.js\nvar defaultProps3 = {\n default: 150,\n base: 150,\n type: \"timing\",\n ratio: SEQUENCE[\"perfect-fourth\"],\n range: [-3, 12],\n unit: \"ms\",\n sequence: {},\n scales: {},\n vars: {}\n};\nvar TIMING = defaultProps3;\n\n// src/defaultConfig/document.js\nvar DOCUMENT = {};\n\n// src/defaultConfig/responsive.js\nvar BREAKPOINTS = {\n screenL: 1920,\n screenM: 1680,\n screenS: 1440,\n tabletL: 1366,\n tabletM: 1280,\n tabletS: 1024,\n mobileL: 768,\n mobileM: 560,\n mobileS: 480,\n mobileXS: 375\n};\nvar DEVICES = {\n screenL: [1920, 1024],\n screenM: [1680, 1024],\n screenS: [1440, 978],\n tabletL: [1366, 926],\n tabletM: [1280, 768],\n tabletS: [1024, 768],\n mobileL: [768, 375],\n mobileM: [560, 768],\n mobileS: [480, 768],\n mobileXS: [375, 768]\n};\n\n// src/defaultConfig/cases.js\nvar CASES = {};\n\n// src/defaultConfig/animation.js\nvar ANIMATION = {};\n\n// src/defaultConfig/svg.js\nvar SVG = {};\nvar SVG_DATA = {};\n\n// src/defaultConfig/index.js\nvar RESET = {};\n\n// src/factory.js\nvar CSS_VARS = {};\nvar CONFIG = {\n verbose: false,\n useVariable: true,\n useReset: true,\n CSS_VARS,\n ...defaultConfig_exports\n};\nvar cachedConfig = (0, import_utils3.deepClone)(CONFIG);\nvar FACTORY = {\n active: \"0\",\n 0: CONFIG\n};\nvar activateConfig = (def) => {\n if ((0, import_utils3.isDefined)(def)) {\n FACTORY.active = def;\n }\n return FACTORY[def || FACTORY.active];\n};\nvar getActiveConfig = (def) => {\n return FACTORY[def || FACTORY.active];\n};\nvar setActiveConfig = (newConfig) => {\n if (!(0, import_utils3.isObject)(newConfig))\n return;\n FACTORY.active = \"1\";\n FACTORY[\"1\"] = (0, import_utils3.deepMerge)(newConfig, (0, import_utils3.deepClone)(cachedConfig));\n return newConfig;\n};\n\n// src/utils/sequence.js\nvar numToLetterMap = {\n \"-6\": \"U\",\n \"-5\": \"V\",\n \"-4\": \"W\",\n \"-3\": \"X\",\n \"-2\": \"Y\",\n \"-1\": \"Z\",\n 0: \"A\",\n 1: \"B\",\n 2: \"C\",\n 3: \"D\",\n 4: \"E\",\n 5: \"F\",\n 6: \"G\",\n 7: \"H\",\n 8: \"I\",\n 9: \"J\",\n 10: \"K\",\n 11: \"L\",\n 12: \"M\",\n 13: \"N\",\n 14: \"O\",\n 15: \"P\",\n 16: \"Q\",\n 17: \"R\",\n 18: \"S\",\n 19: \"T\"\n};\nvar setSequenceValue = (props, sequenceProps) => {\n const { key, variable, value, scaling, index } = props;\n sequenceProps.sequence[key] = {\n key,\n decimal: ~~(value * 100) / 100,\n val: ~~value,\n scaling,\n index,\n variable\n };\n sequenceProps.scales[key] = scaling;\n sequenceProps.vars[variable] = scaling + sequenceProps.unit;\n};\nvar generateSubSequence = (props, sequenceProps) => {\n const { key, base, value, ratio, variable, index } = props;\n const next = value * ratio;\n const diff = next - value;\n const smallscale = diff / 1.618;\n const valueRounded = ~~value;\n const nextRounded = ~~next;\n const diffRounded = nextRounded - valueRounded;\n let arr = [];\n const first = next - smallscale;\n const second = value + smallscale;\n const middle = (first + second) / 2;\n if (diffRounded > 16)\n arr = [first, middle, second];\n else\n arr = [first, second];\n arr.map((v, k) => {\n const scaling = ~~(v / base * 1e3) / 1e3;\n const newVar = variable + (k + 1);\n const props2 = {\n key: key + (k + 1),\n variable: newVar,\n value: v,\n scaling,\n index: index + (k + 1) / 10\n };\n return setSequenceValue(props2, sequenceProps);\n });\n};\nvar switchSequenceOnNegative = (key, base, ratio) => {\n return base * Math.pow(ratio, key);\n};\nvar generateSequence = (sequenceProps) => {\n const { type, base, ratio, range, subSequence } = sequenceProps;\n const n = Math.abs(range[0]) + Math.abs(range[1]);\n const prefix = \"--\" + (type && type.replace(\".\", \"-\")) + \"-\";\n for (let i = 0; i <= n; i++) {\n const key = range[1] - i;\n const letterKey = numToLetterMap[key];\n const value = switchSequenceOnNegative(key, base, ratio);\n const scaling = ~~(value / base * 100) / 100;\n const variable = prefix + letterKey;\n const props = {\n key: letterKey,\n variable,\n value,\n base,\n scaling,\n ratio,\n index: key\n };\n setSequenceValue(props, sequenceProps);\n if (subSequence)\n generateSubSequence(props, sequenceProps);\n }\n return sequenceProps;\n};\nvar getSequenceValue = (value = \"A\", sequenceProps) => {\n const CONFIG2 = getActiveConfig();\n const { UNIT: UNIT2 } = CONFIG2;\n const {\n sequence,\n unit = UNIT2.default,\n useVariable\n } = sequenceProps;\n if ((0, import_utils4.isString)(value) && value.slice(0, 2) === \"--\")\n return `var(${value})`;\n const prefix = `--${toDashCase(sequenceProps.type.replace(\".\", \"-\"))}-`;\n const startsWithDashOrLetterRegex = /^-?[a-zA-Z]/i;\n const startsWithDashOrLetter = startsWithDashOrLetterRegex.test(value);\n if (value === \"none\" || value === \"auto\" || value === \"unset\" || value === \"inherit\" || value === \"fit-content\" || value === \"min-content\" || value === \"max-content\" || value.includes(\"calc\") || !startsWithDashOrLetter)\n return value;\n const letterVal = value.toUpperCase();\n const isNegative = letterVal.slice(0, 1) === \"-\" ? \"-\" : \"\";\n let absValue = isNegative ? letterVal.slice(1) : letterVal;\n let mediaName = \"\";\n if (absValue.includes(\"-\")) {\n mediaName = \"-\" + absValue.split(\"-\")[1].toLowerCase();\n absValue = absValue.split(\"-\")[0];\n }\n const varValue = (v) => `var(${prefix}${v}${mediaName})`;\n if (absValue.includes(\"+\")) {\n const args = absValue.split(\"+\");\n const [first, second] = args;\n const joint = `${varValue(first)} + ${varValue(second)}`;\n return isNegative ? `calc((${joint}) * -1)` : `calc(${joint})`;\n } else if (absValue.includes(\"-\")) {\n const args = absValue.split(\"-\");\n const [first, second] = args;\n const joint = `${varValue(first)} - ${varValue(second)}`;\n return isNegative ? `calc((${joint}) * -1)` : `calc(${joint})`;\n }\n if (!sequence[absValue] && absValue.length === 2) {\n if (CONFIG2.verbose)\n console.warn(absValue, \"- value is not found because `subSequence` is set to false\");\n absValue = absValue.slice(0, 1);\n }\n if (useVariable || CONFIG2.useVariable) {\n const varValue2 = `var(${prefix}${absValue}${mediaName})`;\n return isNegative ? `calc(${varValue2} * -1)` : varValue2;\n }\n const sequenceItem = sequence ? sequence[absValue] : null;\n if (!sequenceItem)\n return console.warn(\"can't find\", sequence, absValue);\n if (unit === \"ms\" || unit === \"s\") {\n return isNegative + sequenceItem.val + unit;\n }\n return isNegative + sequenceItem.scaling + unit;\n};\nvar getSequenceValuePropertyPair = (value, propertyName, sequenceProps) => {\n if (typeof value !== \"string\") {\n console.warn(propertyName, value, \"is not a string\");\n return {};\n }\n if (value === \"-\" || value === \"\")\n return {};\n return { [propertyName]: getSequenceValue(value, sequenceProps) };\n};\nvar findHeadingLetter = (h1Matches, index) => numToLetterMap[h1Matches - index];\nvar findHeadings = (propertyNames) => {\n const { h1Matches, sequence } = propertyNames;\n return new Array(6).fill(null).map((_, i) => {\n const findLetter = findHeadingLetter(h1Matches, i);\n return sequence[findLetter];\n });\n};\n\n// src/utils/var.js\nvar import_utils6 = __toESM(require_cjs4(), 1);\nvar setVariables = (result, key) => {\n const CONFIG2 = getActiveConfig();\n const { CSS_VARS: CSS_VARS2 } = CONFIG2;\n if ((0, import_utils6.isObjectLike)(result.value)) {\n } else {\n CSS_VARS2[result.var] = result.value;\n }\n};\nvar applySequenceVars = (props, mediaName, options = {}) => {\n const CONFIG2 = getActiveConfig();\n const { UNIT: UNIT2, MEDIA: MEDIA2, TIMING: TIMING2, CSS_VARS: CSS_VARS2 } = CONFIG2;\n const unit = props.unit || UNIT2.default;\n const { sequence, scales } = props;\n for (const key in sequence) {\n const item = sequence[key];\n const value = (props.type === TIMING2.type ? sequence[key].val : scales[key]) + unit;\n if (mediaName) {\n const query = MEDIA2[mediaName];\n if (!query) {\n if (CONFIG2.verbose)\n console.warn(\"Can't find query \", query);\n }\n let underMediaQuery = CSS_VARS2[`@media ${query}`];\n if (!underMediaQuery)\n underMediaQuery = CSS_VARS2[`@media ${query}`] = {};\n underMediaQuery[item.variable] = `var(${item.variable + \"-\" + mediaName})`;\n CSS_VARS2[item.variable + \"-\" + mediaName] = value;\n } else {\n if (options.useDefault === false) {\n CSS_VARS2[item.variable] = value;\n } else {\n CSS_VARS2[item.variable + \"-default\"] = value;\n CSS_VARS2[item.variable] = `var(${item.variable + \"-default\"})`;\n }\n }\n }\n};\n\n// src/utils/sprite.js\nvar import_utils7 = __toESM(require_cjs4(), 1);\nvar generateSprite = (icons) => {\n const CONFIG2 = getActiveConfig();\n let sprite = \"\";\n for (const key in icons) {\n if (CONFIG2.__svg_cache[key])\n continue;\n else\n CONFIG2.__svg_cache[key] = true;\n sprite += icons[key];\n }\n return sprite;\n};\nvar parseRootAttributes = (htmlString) => {\n if (!(0, import_utils7.isString)(htmlString)) {\n return console.warn(`parseRootAttributes: ${htmlString} is not a string`);\n }\n const match = htmlString.match(/<svg\\s+(.*?)>/);\n if (!match || !match[1]) {\n return {};\n }\n const attrString = match[1];\n const attrs = attrString.match(/(\\S+)=[\"']?((?:.(?![\"']?\\s+(?:\\S+)=|\\s*\\/?[>\"']))+.)[\"']?/gm);\n return attrs.reduce((acc, attr) => {\n const [key, value] = attr.split(\"=\");\n acc[key] = value.replace(/['\"]/g, \"\");\n return acc;\n }, {});\n};\nvar replaceIdsAndUrls = (code, key) => {\n const idRegex = /id=\"([^\"]*)\"/;\n const urlRegex = /url\\(#([^)]*)\\)/g;\n const matches = code.match(/id=\"([^\"]*)\"/g);\n let replacedCode = code;\n if ((0, import_utils7.isArray)(matches)) {\n matches.forEach(() => {\n const randomKey = Math.floor(Math.random() * 1e5);\n replacedCode = code.replace(idRegex, `id=\"${key}-${randomKey}\"`).replace(urlRegex, `url(#${key}-${randomKey})`);\n });\n }\n return replacedCode;\n};\nvar convertSvgToSymbol = (key, code) => {\n const extractAttrs = parseRootAttributes(code);\n const { width, height } = extractAttrs;\n const viewBox = extractAttrs.viewBox || `0 0 ${width || 24} ${height || 24}`;\n const xmlns = \"http://www.w3.org/2000/svg\";\n const replacedCode = replaceIdsAndUrls(code, key);\n let symbol = replacedCode.replace(\n \"<svg\",\n `<symbol id=\"${key}\" xmlns=\"${xmlns}\" viewBox=\"${viewBox}\"`\n );\n symbol = symbol.replace(/width=\"[^\"]*\"/, \"\");\n symbol = symbol.replace(/height=\"[^\"]*\"/, \"\");\n symbol = symbol.replace(\"</svg\", \"</symbol\");\n return symbol;\n};\n\n// src/system/index.js\nvar system_exports = {};\n__export(system_exports, {\n appendIconsSprite: () => appendIconsSprite,\n appendSVGSprite: () => appendSVGSprite,\n applyDocument: () => applyDocument,\n applyHeadings: () => applyHeadings,\n applyReset: () => applyReset,\n applySpacingSequence: () => applySpacingSequence,\n applyTimingSequence: () => applyTimingSequence,\n applyTypographySequence: () => applyTypographySequence,\n getColor: () => getColor,\n getFontFamily: () => getFontFamily,\n getFontSizeByKey: () => getFontSizeByKey,\n getMediaColor: () => getMediaColor,\n getMediaTheme: () => getMediaTheme,\n getSpacingBasedOnRatio: () => getSpacingBasedOnRatio,\n getSpacingByKey: () => getSpacingByKey,\n getTheme: () => getTheme,\n getTimingByKey: () => getTimingByKey,\n getTimingFunction: () => getTimingFunction,\n runThroughMedia: () => runThroughMedia,\n setColor: () => setColor,\n setFont: () => setFont,\n setFontFamily: () => setFontFamily,\n setGradient: () => setGradient,\n setIcon: () => setIcon,\n setMediaTheme: () => setMediaTheme,\n setSVG: () => setSVG,\n setTheme: () => setTheme\n});\n\n// src/system/color.js\nvar import_utils8 = __toESM(require_cjs4(), 1);\nvar getColor = (value, key, config) => {\n const CONFIG2 = config || getActiveConfig();\n if (!(0, import_utils8.isString)(value)) {\n if (CONFIG2.verbose)\n console.warn(value, \"- type for color is not valid\");\n return;\n }\n if (value.slice(0, 2) === \"--\")\n return `var(${value})`;\n if (key && value[key])\n value = value[key];\n const [name, alpha, tone] = (0, import_utils8.isArray)(value) ? value : value.split(\" \");\n const { COLOR: COLOR2, GRADIENT: GRADIENT2 } = CONFIG2;\n let val = COLOR2[name] || GRADIENT2[name];\n if (!val) {\n if (CONFIG2.verbose)\n console.warn(\"Can't find color \", name);\n return value;\n }\n if (key) {\n if (val[key])\n val = val[key];\n else if (CONFIG2.verbose)\n console.warn(value, \" - does not have \", key);\n }\n let rgb = val.rgb;\n if (!rgb)\n return CONFIG2.useVariable ? `var(${val.var})` : val.value;\n if (tone && !val[tone]) {\n const toHex = rgbArrayToHex(rgb.split(\", \").map((v) => parseFloat(v)));\n const abs = tone.slice(0, 1);\n if (abs === \"-\" || abs === \"+\") {\n rgb = hexToRgbArray(\n getColorShade(toHex, parseFloat(tone))\n ).join(\", \");\n } else {\n const [r, g, b] = [...rgb.split(\", \").map((v) => parseInt(v))];\n const hsl = rgbToHSL(r, g, b);\n const [h, s, l] = hsl;\n const newRgb = hslToRgb(h, s, parseFloat(tone) / 100 * 255);\n rgb = newRgb;\n }\n val[tone] = { rgb, var: `${val.var}-${tone}` };\n }\n if (val[tone])\n rgb = val[tone].rgb;\n if (alpha)\n return `rgba(${rgb}, ${alpha})`;\n return CONFIG2.useVariable ? `var(${val.var})` : `rgb(${rgb})`;\n};\nvar getMediaColor = (value, globalTheme, config) => {\n const CONFIG2 = config || getActiveConfig();\n if (!globalTheme)\n globalTheme = CONFIG2.globalTheme;\n if (!(0, import_utils8.isString)(value)) {\n if (CONFIG2.verbose)\n console.warn(value, \"- type for color is not valid\");\n return;\n }\n if (value.slice(0, 2) === \"--\")\n return `var(${value})`;\n const [name] = (0, import_utils8.isArray)(value) ? value : value.split(\" \");\n const { COLOR: COLOR2, GRADIENT: GRADIENT2 } = CONFIG2;\n const val = COLOR2[name] || GRADIENT2[name];\n const isObj = (0, import_utils8.isObject)(val);\n if (isObj && val.value)\n return getColor(value, `@${globalTheme}`, config);\n else if (isObj) {\n if (globalTheme)\n return getColor(value, `@${globalTheme}`, config);\n else {\n const obj = {};\n for (const mediaName in val) {\n const query = CONFIG2.MEDIA[mediaName.slice(1)];\n const media = `@media screen and ${query}`;\n obj[media] = getColor(value, mediaName, config);\n }\n return obj;\n }\n } else {\n if (CONFIG2.verbose)\n console.warn(\"Can't find color\", value);\n return value;\n }\n};\nvar setColor = (val, key, suffix) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils8.isString)(val) && val.slice(0, 2) === \"--\")\n val = getColor(val.slice(2));\n if ((0, import_utils8.isArray)(val)) {\n return {\n \"@light\": setColor(val[0], key, \"light\"),\n \"@dark\": setColor(val[1], key, \"dark\")\n };\n }\n if ((0, import_utils8.isObject)(val)) {\n const obj = {};\n for (const variant in val)\n obj[variant] = setColor(val[variant], key, variant.slice(0, 1) === \"@\" ? variant.slice(1) : variant);\n return obj;\n }\n const CSSVar = `--color-${key}` + (suffix ? `-${suffix}` : \"\");\n const [r, g, b, a = 1] = colorStringToRgbaArray(val.value || val);\n const alpha = parseFloat(a.toFixed(2));\n const rgb = `${r}, ${g}, ${b}`;\n const value = `rgba(${rgb}, ${alpha})`;\n if (CONFIG2.useVariable) {\n CONFIG2.CSS_VARS[CSSVar] = value;\n }\n return {\n var: CSSVar,\n rgb,\n alpha,\n value\n };\n};\nvar setGradient = (val, key, suffix) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils8.isString)(val) && val.slice(0, 2) === \"--\")\n val = getColor(val.slice(2));\n if ((0, import_utils8.isArray)(val)) {\n return {\n \"@light\": setGradient(val[0], key, \"light\"),\n \"@dark\": setGradient(val[0], key, \"dark\")\n };\n }\n if ((0, import_utils8.isObject)(val)) {\n const obj = {};\n for (const variant in val)\n obj[variant] = setGradient(val[variant], key, variant.slice(0, 1) === \"@\" ? variant.slice(1) : variant);\n return obj;\n }\n const CSSVar = `--gradient-${key}` + (suffix ? `-${suffix}` : \"\");\n if (CONFIG2.useVariable) {\n CONFIG2.CSS_VARS[CSSVar] = val.value || val;\n }\n return {\n var: CSSVar,\n value: val.value || val\n };\n};\n\n// src/system/theme.js\nvar import_utils10 = __toESM(require_cjs4(), 1);\nvar setThemeValue = (theme) => {\n const value = {};\n const { state, media, helpers, ...rest } = theme;\n const keys = Object.keys(rest);\n keys.map((key) => {\n const conditions = [\"color\", \"Color\", \"background\", \"border\"];\n const isColor = conditions.some((k) => key.includes(k));\n return value[key] = isColor ? getColor(theme[key]) : theme[key];\n });\n return value;\n};\nvar getThemeValue = (theme) => {\n if (theme.value)\n return theme.value;\n theme.value = setThemeValue(theme);\n return theme.value;\n};\nvar getTheme = (value, modifier) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useVariable)\n return getMediaTheme(value, modifier);\n const { THEME: THEME2 } = CONFIG2;\n if ((0, import_utils10.isString)(value)) {\n const [theme, subtheme] = value.split(\" \");\n const isOurTheme = THEME2[theme];\n if (isOurTheme) {\n if (!subtheme && !modifier)\n return getThemeValue(isOurTheme);\n value = [theme, subtheme || modifier];\n }\n }\n if ((0, import_utils10.isObjectLike)(value) && value[1]) {\n const themeName = value[0];\n const subThemeName = value[1];\n const { helpers, media, state } = THEME2[themeName];\n if (media && media[subThemeName])\n return getThemeValue(media[subThemeName]);\n if (helpers && helpers[subThemeName])\n return getThemeValue(helpers[subThemeName]);\n if (state && state[subThemeName])\n return getThemeValue(state[subThemeName]);\n } else if ((0, import_utils10.isObject)(value))\n return setThemeValue(value);\n};\nvar setInverseTheme = (theme, variant, value) => {\n if ((0, import_utils10.isObject)(variant)) {\n theme.variants.inverse.value = setThemeValue(variant);\n } else if (variant === true) {\n const { color, background } = value;\n theme.variants.inverse = {\n value: {\n color: background,\n background: color\n }\n };\n }\n};\nvar setPseudo = (theme, key, variant, themeValue) => {\n const result = getTheme(variant);\n themeValue[`&:${key}`] = result;\n if ((0, import_utils10.isObject)(variant) && !variant.value)\n variant.value = result;\n};\nvar setSelectors = (theme, value) => {\n const { state } = theme;\n if (!state)\n return;\n const keys = Object.keys(state);\n keys.map((key) => {\n const variant = state[key];\n setPseudo(theme, key, variant, value);\n return theme;\n });\n return theme;\n};\nvar setPrefersScheme = (theme, key, variant, themeValue) => {\n const result = getTheme(variant);\n themeValue[`@media (prefers-color-scheme: ${key})`] = result;\n if ((0, import_utils10.isObject)(variant) && !variant.value)\n variant.value = result;\n};\nvar setMedia = (theme, value) => {\n const { media } = theme;\n if (!media)\n return;\n const keys = Object.keys(media);\n keys.map((key) => {\n const variant = media[key];\n if (key === \"dark\" || key === \"light\")\n setPrefersScheme(theme, key, variant, value);\n if (key === \"inverse\")\n setInverseTheme(theme, variant, value);\n return theme;\n });\n return theme;\n};\nvar setHelpers = (theme, value) => {\n const CONFIG2 = getActiveConfig();\n const { helpers } = theme;\n if (!helpers)\n return;\n const keys = Object.keys(helpers);\n keys.map((key) => {\n const helper = helpers[key];\n if ((0, import_utils10.isString)(helper))\n helpers[key] = CONFIG2.THEME[helper];\n else\n getThemeValue(helpers[key]);\n return theme;\n });\n return theme;\n};\nvar setTheme = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useVariable)\n return setMediaTheme(val, key);\n const { state, media, helpers } = val;\n const value = setThemeValue(val, key);\n const CSSvar = `--theme-${key}`;\n setSelectors(val, value);\n setMedia(val, value);\n setHelpers(val, value);\n return { var: CSSvar, value, state, media, helpers };\n};\nvar setMediaTheme = (val, key, suffix, prefers) => {\n const CONFIG2 = getActiveConfig();\n const { CSS_VARS: CSS_VARS2 } = CONFIG2;\n const theme = { value: val };\n if ((0, import_utils10.isObjectLike)(val)) {\n for (const param in val) {\n const symb = param.slice(0, 1);\n const value = val[param];\n if (symb === \"@\" || symb === \":\" || symb === \".\") {\n const hasPrefers = symb === \"@\" && param;\n theme[param] = setMediaTheme(value, key, param, prefers || hasPrefers);\n } else {\n const color = getColor(value, prefers);\n const metaSuffixes = [...new Set([prefers, suffix].filter((v) => v).map((v) => v.slice(1)))];\n const varmetaSuffixName = metaSuffixes.length ? \"-\" + metaSuffixes.join(\"-\") : \"\";\n const CSSVar = `--theme-${key}${varmetaSuffixName}-${param}`;\n if (CONFIG2.useVariable) {\n CSS_VARS2[CSSVar] = color;\n theme[param] = `var(${CSSVar})`;\n } else {\n theme[param] = color;\n }\n theme[`.${param}`] = { [param]: theme[param] };\n }\n }\n if (theme.background || theme.color || theme.backgroundColor) {\n theme[\".inversed\"] = {\n color: theme.background || theme.backgroundColor,\n background: theme.color\n };\n }\n }\n if ((0, import_utils10.isString)(val) && val.slice(0, 2) === \"--\") {\n const { THEME: THEME2 } = CONFIG2;\n const value = THEME2[val.slice(2)];\n const getReferenced = getMediaTheme(value, prefers);\n return getReferenced;\n }\n return theme;\n};\nvar recursiveTheme = (val) => {\n const CONFIG2 = getActiveConfig();\n const obj = {};\n for (const param in val) {\n const symb = param.slice(0, 1);\n if ((0, import_utils10.isObjectLike)(val[param])) {\n if (symb === \"@\") {\n const query = CONFIG2.MEDIA[param.slice(1)];\n const media = `@media screen and ${query}`;\n obj[media] = recursiveTheme(val[param]);\n } else if (symb === \":\") {\n obj[`&${param}`] = recursiveTheme(val[param]);\n }\n } else\n obj[param] = val[param];\n }\n return obj;\n};\nvar findModifierFromArray = (val, modifierArray) => {\n const currentMod = modifierArray.shift();\n if (val[currentMod])\n return findModifierFromArray(val[currentMod], modifierArray);\n return val;\n};\nvar findModifier = (val, modifier) => {\n if ((0, import_utils10.isArray)(modifier))\n return findModifierFromArray(val, modifier);\n else if ((0, import_utils10.isString)(modifier) && val[modifier])\n return val[modifier];\n else\n return val;\n};\nvar getMediaTheme = (val, mod) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils10.isString)(val) && val.slice(0, 2) === \"--\")\n val = getMediaTheme(val.slice(2));\n if (!val || !(0, import_utils10.isString)(val)) {\n if (CONFIG2.verbose)\n console.warn(val, \"- theme is not string\");\n return;\n }\n const [name, ...modifier] = (0, import_utils10.isArray)(val) ? val : val.split(\" \");\n let value = CONFIG2.THEME[name];\n if (value && (modifier || mod)) {\n value = findModifier(value, modifier.length ? modifier : mod);\n }\n const r = recursiveTheme(value);\n return r;\n};\n\n// src/system/font.js\nvar import_utils11 = __toESM(require_cjs4(), 1);\nvar setFont = (val, key) => {\n const CSSvar = `--font-${key}`;\n const fontFace = val[0] ? getFontFaceEach(key, val) : setCustomFontMedia(key, val.url);\n return { var: CSSvar, value: val, fontFace };\n};\nvar getFontFamily = (key, factory) => {\n const CONFIG2 = getActiveConfig();\n const { FONT_FAMILY: FONT_FAMILY2 } = CONFIG2;\n return getDefaultOrFirstKey(factory || FONT_FAMILY2, key);\n};\nvar setFontFamily = (val, key) => {\n const CONFIG2 = getActiveConfig();\n const { FONT_FAMILY: FONT_FAMILY2, FONT_FAMILY_TYPES: FONT_FAMILY_TYPES2 } = CONFIG2;\n let { value, type } = val;\n if (val.isDefault)\n FONT_FAMILY2.default = key;\n if ((0, import_utils11.isObject)(value))\n value = arrayzeValue(value);\n const CSSvar = `--font-family-${key}`;\n const str = `${value.join(\", \")}, ${FONT_FAMILY_TYPES2[type]}`;\n return { var: CSSvar, value: str, arr: value, type };\n};\n\n// src/system/typography.js\nvar import_utils14 = __toESM(require_cjs4(), 1);\nvar runThroughMedia = (props) => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2, MEDIA: MEDIA2 } = CONFIG2;\n for (const prop in props) {\n const mediaProps = props[prop];\n if (prop.slice(0, 1) === \"@\") {\n const { type, base, ratio, range, subSequence, h1Matches, unit } = props;\n (0, import_utils14.merge)(mediaProps, {\n type,\n base,\n ratio,\n range,\n subSequence,\n h1Matches,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n });\n generateSequence(mediaProps);\n const mediaName = prop.slice(1);\n applySequenceVars(mediaProps, mediaName);\n const query = MEDIA2[mediaName];\n TYPOGRAPHY2.templates[`@media screen and ${query}`] = {\n fontSize: mediaProps.base / TYPOGRAPHY2.browserDefault + unit\n };\n }\n }\n};\nvar applyHeadings = (props) => {\n const CONFIG2 = getActiveConfig();\n if (props.h1Matches) {\n const unit = props.unit;\n const HEADINGS = findHeadings(props);\n const { templates } = props;\n for (const k in HEADINGS) {\n const headerName = `h${parseInt(k) + 1}`;\n const headerStyle = templates[headerName];\n templates[headerName] = {\n fontSize: CONFIG2.useVariable ? `var(${HEADINGS[k].variable})` : `${HEADINGS[k].scaling}${unit}`,\n margin: headerStyle ? headerStyle.margin : 0,\n lineHeight: headerStyle ? headerStyle.lineHeight : props.lineHeight,\n letterSpacing: headerStyle ? headerStyle.letterSpacing : props.letterSpacing,\n fontWeight: headerStyle ? headerStyle.fontWeight : 900 - k * 100\n };\n }\n }\n};\nvar applyTypographySequence = () => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n generateSequence(TYPOGRAPHY2);\n applyHeadings(TYPOGRAPHY2);\n applySequenceVars(TYPOGRAPHY2);\n runThroughMedia(TYPOGRAPHY2);\n};\nvar getFontSizeByKey = (value) => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n return getSequenceValuePropertyPair(\n value,\n \"fontSize\",\n TYPOGRAPHY2\n );\n};\n\n// src/system/spacing.js\nvar import_utils17 = __toESM(require_cjs4(), 1);\nvar runThroughMedia2 = (sequenceProps) => {\n for (const prop in sequenceProps) {\n const mediaProps = sequenceProps[prop];\n if (prop.slice(0, 1) === \"@\") {\n const { type, base, ratio, range, subSequence, h1Matches, unit } = sequenceProps;\n (0, import_utils17.merge)(mediaProps, {\n type,\n base,\n ratio,\n range,\n subSequence,\n h1Matches,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n });\n generateSequence(mediaProps);\n const mediaName = prop.slice(1);\n applySequenceVars(mediaProps, mediaName);\n }\n }\n};\nvar applySpacingSequence = () => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n generateSequence(SPACING2);\n applySequenceVars(SPACING2);\n runThroughMedia2(SPACING2);\n};\nvar getSequence = (sequenceProps) => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n if (!sequenceProps)\n return SPACING2;\n const hasGenerated = Object.keys(sequenceProps.sequence).length > 0;\n return hasGenerated ? sequenceProps : generateSequence(sequenceProps);\n};\nvar getSpacingByKey = (value, propertyName = \"padding\", sequenceProps) => {\n const sequence = getSequence(sequenceProps);\n const stack = arrayzeValue(value);\n if (!stack)\n return;\n if ((0, import_utils17.isString)(value) && value.includes(\"calc\")) {\n return { [propertyName]: value };\n }\n if (stack.length > 1) {\n let suffix = \"\";\n if (propertyName === \"borderWidth\") {\n propertyName = \"border\";\n suffix = \"Width\";\n }\n const directions = {\n 2: [\"Block\", \"Inline\"],\n 3: [\"BlockStart\", \"Inline\", \"BlockEnd\"],\n 4: [\"BlockStart\", \"InlineEnd\", \"BlockEnd\", \"InlineStart\"]\n };\n const wrapSequenceValueByDirection = (direction, i) => getSequenceValuePropertyPair(\n stack[i],\n propertyName + direction + suffix,\n sequence\n );\n return directions[stack.length].map((dir, key) => wrapSequenceValueByDirection(dir, key));\n }\n return getSequenceValuePropertyPair(\n value,\n propertyName,\n sequence\n );\n};\nvar getSpacingBasedOnRatio = (props, propertyName, val) => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n const { spacingRatio, unit } = props;\n const value = val || props[propertyName];\n if (spacingRatio) {\n let sequenceProps = SPACING2[spacingRatio];\n if (!sequenceProps) {\n const { type, base, range, subSequence } = SPACING2;\n sequenceProps = SPACING2[spacingRatio] = (0, import_utils17.merge)({\n ratio: spacingRatio,\n type: type + \"-\" + spacingRatio,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n }, {\n base,\n range,\n subSequence,\n ratio: SPACING2.ratio,\n unit: SPACING2.unit\n });\n }\n applySequenceVars(sequenceProps, null, { useDefault: false });\n return getSpacingByKey(value, propertyName, sequenceProps);\n }\n return getSpacingByKey(value, propertyName);\n};\n\n// src/system/timing.js\nvar applyTimingSequence = () => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n generateSequence(TIMING2);\n applySequenceVars(TIMING2);\n};\nvar getTimingFunction = (value) => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n return TIMING2[value] || TIMING2[toCamelCase(value)] || value;\n};\nvar getTimingByKey = (value, property = \"timing\") => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n return getSequenceValuePropertyPair(\n value,\n property,\n TIMING2\n );\n};\n\n// src/system/document.js\nvar import_utils21 = __toESM(require_cjs4(), 1);\nvar applyDocument = () => {\n const CONFIG2 = getActiveConfig();\n const { DOCUMENT: DOCUMENT2, FONT_FAMILY: FONT_FAMILY2, THEME: THEME2, TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n return (0, import_utils21.merge)(DOCUMENT2, {\n theme: THEME2.document,\n fontFamily: getDefaultOrFirstKey(FONT_FAMILY2),\n fontSize: TYPOGRAPHY2.base,\n lineHeight: TYPOGRAPHY2.lineHeight\n });\n};\n\n// src/system/svg.js\nvar import_globals2 = __toESM(require_cjs(), 1);\nvar DEF_OPTIONS = {\n document: import_globals2.document\n};\nvar setSVG = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (!val) {\n if (CONFIG2.verbose)\n console.warn(\"setSVG: val is not defined\", key);\n return;\n }\n if (CONFIG2.useSvgSprite) {\n return convertSvgToSymbol(key, val);\n }\n return val;\n};\nvar appendSVGSprite = (LIBRARY, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const lib = Object.keys(LIBRARY).length ? {} : CONFIG2.SVG;\n for (const key in LIBRARY)\n lib[key] = CONFIG2.SVG[key];\n appendSVG(lib, options);\n};\nvar setIcon = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useIconSprite) {\n return setSVG(val, key);\n }\n return val;\n};\nvar appendIconsSprite = (LIBRARY, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const lib = Object.keys(LIBRARY).length ? {} : CONFIG2.ICONS;\n for (const key in LIBRARY)\n lib[key] = CONFIG2.ICONS[key];\n appendSVG(lib, options);\n};\nvar createSVGSpriteElement = (options = { isRoot: true }) => {\n if (!import_globals2.document || !import_globals2.document.createElementNS)\n return;\n const svgElem = import_globals2.document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n if (options.isRoot) {\n svgElem.setAttribute(\"aria-hidden\", \"true\");\n svgElem.setAttribute(\"width\", \"0\");\n svgElem.setAttribute(\"height\", \"0\");\n svgElem.setAttribute(\"style\", \"position:absolute\");\n svgElem.setAttribute(\"id\", \"svgSprite\");\n }\n return svgElem;\n};\nvar appendSVG = (lib, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const doc = options.document || import_globals2.document;\n if (!doc || !doc.documentElement) {\n if (CONFIG2.verbose) {\n console.warn(\"To append SVG sprites it should be run in browser environment\");\n }\n return generateSprite(lib);\n }\n const exists = doc.querySelector(\"#svgSprite\");\n const SVGsprite = generateSprite(lib);\n if (exists) {\n const tempSVG = createSVGSpriteElement({ isRoot: false });\n tempSVG.innerHTML = SVGsprite;\n exists.append(...tempSVG.children);\n } else {\n const svgSpriteDOM = createSVGSpriteElement();\n if (svgSpriteDOM && svgSpriteDOM.nodeType) {\n svgSpriteDOM.innerHTML = SVGsprite;\n doc.body.prepend(svgSpriteDOM);\n }\n }\n};\n\n// src/system/reset.js\nvar import_utils24 = __toESM(require_cjs4(), 1);\nvar applyReset = (reset = {}) => {\n const CONFIG2 = getActiveConfig();\n const { RESET: RESET2, TYPOGRAPHY: TYPOGRAPHY2, DOCUMENT: DOCUMENT2 } = CONFIG2;\n if (RESET2) {\n if (RESET2[\":root\"]) {\n const configReset = RESET2;\n const configTemplates = TYPOGRAPHY2.templates;\n configReset.body = {\n ...CONFIG2.useDocumentTheme ? getMediaTheme(\"document\", `@${CONFIG2.globalTheme}`) : {},\n ...configTemplates.body\n };\n configReset.h1 = configTemplates.h1;\n configReset.h2 = configTemplates.h2;\n configReset.h3 = configTemplates.h3;\n configReset.h4 = configTemplates.h4;\n configReset.h5 = configTemplates.h5;\n configReset.h6 = configTemplates.h6;\n }\n const { body, ...templates } = TYPOGRAPHY2.templates;\n const globalTheme = CONFIG2.useDocumentTheme ? getMediaTheme(\"document\", `@${CONFIG2.globalTheme}`) : {};\n if (RESET2.html)\n (0, import_utils24.overwriteDeep)(RESET2.html, globalTheme);\n return (0, import_utils24.deepMerge)((0, import_utils24.merge)(RESET2, reset), {\n html: {\n position: \"absolute\",\n // overflow: 'hidden',\n width: \"100%\",\n height: \"100%\",\n top: \"0\",\n left: \"0\",\n margin: \"0\",\n WebkitFontSmoothing: \"subpixel-antialiased\",\n scrollBehavior: \"smooth\",\n ...globalTheme,\n fontSize: TYPOGRAPHY2.browserDefault + \"px\",\n fontFamily: DOCUMENT2.fontFamily,\n lineHeight: DOCUMENT2.lineHeight\n },\n body: {\n boxSizing: \"border-box\",\n height: \"100%\",\n margin: 0,\n fontFamily: DOCUMENT2.fontFamily,\n fontSize: TYPOGRAPHY2.base / TYPOGRAPHY2.browserDefault + CONFIG2.UNIT.default,\n ...templates,\n ...body\n },\n // form elements\n fieldset: {\n border: 0,\n padding: 0,\n margin: 0\n },\n \"select, input\": {\n fontFamily: DOCUMENT2.fontFamily\n }\n });\n }\n};\n\n// src/transforms/index.js\nvar import_utils25 = __toESM(require_cjs4(), 1);\nvar isBorderStyle = (str) => [\n \"none\",\n \"hidden\",\n \"dotted\",\n \"dashed\",\n \"solid\",\n \"double\",\n \"groove\",\n \"ridge\",\n \"inset\",\n \"outset\",\n \"initial\"\n].some((v) => str.includes(v));\nvar transformBorder = (border) => {\n const arr = border.split(\", \");\n return arr.map((v) => {\n v = v.trim();\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n else if (isBorderStyle(v))\n return v || \"solid\";\n else if (v.slice(-2) === \"px\" || v.slice(-2) === \"em\")\n return v;\n else if (getColor(v).length > 2)\n return getColor(v);\n return getSpacingByKey(v, \"border\").border;\n }).join(\" \");\n};\nvar transformTextStroke = (stroke) => {\n return stroke.split(\", \").map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.includes(\"px\"))\n return v;\n else if (getColor(v))\n return getColor(v);\n return v;\n }).join(\" \");\n};\nvar transformShadow = (shadows) => shadows.split(\"|\").map((shadow) => {\n return shadow.split(\", \").map((v) => {\n v = v.trim();\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (getColor(v).length > 2)\n return getColor(v);\n if (v.includes(\"px\") || v.slice(-2) === \"em\")\n return v;\n const arr = v.split(\" \");\n if (!arr.length)\n return v;\n return arr.map((v2) => getSpacingByKey(v2, \"shadow\").shadow).join(\" \");\n }).join(\" \");\n}).join(\",\");\nvar transformBackgroundImage = (backgroundImage, globalTheme) => {\n const CONFIG2 = getActiveConfig();\n return backgroundImage.split(\", \").map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.includes(\"url\") || v.includes(\"gradient\"))\n return v;\n else if (CONFIG2.GRADIENT[backgroundImage]) {\n return {\n backgroundImage: getMediaColor(backgroundImage, globalTheme || CONFIG2.globalTheme)\n };\n } else if (v.includes(\"/\") || v.includes(\"http\"))\n return `url(${v})`;\n return v;\n }).join(\" \");\n};\nvar transfromGap = (gap) => (0, import_utils25.isString)(gap) && gap.split(\" \").map((v) => getSpacingByKey(v, \"gap\").gap).join(\" \");\nvar transformTransition = (transition) => {\n const arr = transition.split(\" \");\n if (!arr.length)\n return transition;\n return arr.map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.length < 3 || v.includes(\"ms\")) {\n const mapWithSequence = getTimingByKey(v);\n return mapWithSequence.timing || v;\n }\n if (getTimingFunction(v))\n return getTimingFunction(v);\n return v;\n }).join(\" \");\n};\nvar transformDuration = (duration, props, propertyName) => {\n if (!(0, import_utils25.isString)(duration))\n return;\n return duration.split(\",\").map((v) => getTimingByKey(v).timing || v).join(\",\");\n};\nvar splitTransition = (transition) => {\n const arr = transition.split(\",\");\n if (!arr.length)\n return;\n return arr.map(transformTransition).join(\",\");\n};\n\n// src/set.js\nvar import_utils26 = __toESM(require_cjs4(), 1);\nvar setCases = (val, key) => {\n if ((0, import_utils26.isFunction)(val))\n return val();\n return val;\n};\nvar setSameValue = (val, key) => val;\nvar VALUE_TRANSFORMERS = {\n color: setColor,\n gradient: setGradient,\n font: setFont,\n font_family: setFontFamily,\n theme: setTheme,\n icons: setIcon,\n svg: setSVG,\n svg_data: setSameValue,\n typography: setSameValue,\n cases: setCases,\n spacing: setSameValue,\n media: setSameValue,\n timing: setSameValue,\n reset: setSameValue,\n unit: setSameValue,\n animation: setSameValue\n};\nvar setValue = (FACTORY_NAME, value, key) => {\n const CONFIG2 = getActiveConfig();\n const factoryName = FACTORY_NAME.toLowerCase();\n const FACTORY2 = CONFIG2[FACTORY_NAME];\n if (VALUE_TRANSFORMERS[factoryName]) {\n const result = VALUE_TRANSFORMERS[factoryName](value, key);\n FACTORY2[key] = result;\n return FACTORY2;\n }\n if (CONFIG2.verbose)\n console.warn(\"Can not find\", factoryName, \"method in scratch\");\n};\nvar setEach = (factoryName, props) => {\n const CONFIG2 = getActiveConfig();\n const FACTORY_NAME = factoryName.toUpperCase();\n const keys = Object.keys(props);\n keys.map((key) => setValue(FACTORY_NAME, props[key], key));\n return CONFIG2[FACTORY_NAME];\n};\nvar SET_OPTIONS = {};\nvar set = (recivedConfig, options = SET_OPTIONS) => {\n let CONFIG2 = getActiveConfig();\n const {\n version,\n verbose,\n useVariable,\n useReset,\n useSvgSprite,\n useFontImport,\n useIconSprite,\n globalTheme,\n useDocumentTheme,\n ...config\n } = recivedConfig;\n if (options.newConfig) {\n CONFIG2 = setActiveConfig(options.newConfig);\n }\n if (verbose !== void 0)\n CONFIG2.verbose = verbose;\n if (useVariable !== void 0)\n CONFIG2.useVariable = useVariable;\n if (useReset !== void 0)\n CONFIG2.useReset = useReset;\n if (useFontImport !== void 0)\n CONFIG2.useFontImport = useFontImport;\n if (useSvgSprite !== void 0)\n CONFIG2.useSvgSprite = useSvgSprite;\n if (useIconSprite !== void 0)\n CONFIG2.useIconSprite = useIconSprite;\n if (useDocumentTheme !== void 0)\n CONFIG2.useDocumentTheme = useDocumentTheme;\n if (globalTheme !== void 0)\n CONFIG2.globalTheme = globalTheme;\n if (CONFIG2.verbose)\n console.log(CONFIG2);\n if (!CONFIG2.__svg_cache)\n CONFIG2.__svg_cache = {};\n const keys = Object.keys(config);\n keys.map((key) => setEach(key, config[key]));\n applyTypographySequence();\n applySpacingSequence();\n applyTimingSequence();\n applyDocument();\n applyReset();\n return CONFIG2;\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar key_exports = {};\n__export(key_exports, {\n createKey: () => createKey,\n createSnapshotId: () => createSnapshotId\n});\nmodule.exports = __toCommonJS(key_exports);\nconst createKey = function() {\n let index = 0;\n function newId() {\n index++;\n return index;\n }\n return newId;\n}();\nconst createSnapshotId = createKey;\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar htmlTags_exports = {};\n__export(htmlTags_exports, {\n HTML_TAGS: () => HTML_TAGS\n});\nmodule.exports = __toCommonJS(htmlTags_exports);\nconst HTML_TAGS = {\n root: [\n \"body\",\n \"html\"\n ],\n head: [\n \"title\",\n \"base\",\n \"meta\",\n \"style\"\n ],\n body: [\n \"string\",\n \"fragment\",\n \"a\",\n \"abbr\",\n \"acronym\",\n \"address\",\n \"applet\",\n \"area\",\n \"article\",\n \"aside\",\n \"audio\",\n \"b\",\n \"basefont\",\n \"bdi\",\n \"bdo\",\n \"big\",\n \"blockquote\",\n \"br\",\n \"button\",\n \"canvas\",\n \"caption\",\n \"center\",\n \"cite\",\n \"code\",\n \"col\",\n \"colgroup\",\n \"data\",\n \"datalist\",\n \"dd\",\n \"del\",\n \"details\",\n \"dfn\",\n \"dialog\",\n \"dir\",\n \"div\",\n \"dl\",\n \"dt\",\n \"em\",\n \"embed\",\n \"fieldset\",\n \"figcaption\",\n \"figure\",\n \"font\",\n \"footer\",\n \"form\",\n \"frame\",\n \"frameset\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\",\n \"head\",\n \"header\",\n \"hr\",\n \"i\",\n \"iframe\",\n \"img\",\n \"input\",\n \"ins\",\n \"kbd\",\n \"label\",\n \"legend\",\n \"li\",\n \"link\",\n \"main\",\n \"map\",\n \"mark\",\n \"meter\",\n \"nav\",\n \"noframes\",\n \"noscript\",\n \"object\",\n \"ol\",\n \"optgroup\",\n \"option\",\n \"output\",\n \"p\",\n \"param\",\n \"picture\",\n \"pre\",\n \"progress\",\n \"q\",\n \"rp\",\n \"rt\",\n \"ruby\",\n \"s\",\n \"samp\",\n \"script\",\n \"section\",\n \"select\",\n \"small\",\n \"source\",\n \"span\",\n \"strike\",\n \"strong\",\n \"sub\",\n \"summary\",\n \"sup\",\n \"table\",\n \"tbody\",\n \"td\",\n \"template\",\n \"textarea\",\n \"tfoot\",\n \"th\",\n \"thead\",\n \"time\",\n \"tr\",\n \"track\",\n \"tt\",\n \"u\",\n \"ul\",\n \"var\",\n \"video\",\n \"wbr\",\n // SVG\n \"svg\",\n \"path\"\n ]\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar tags_exports = {};\nmodule.exports = __toCommonJS(tags_exports);\n__reExport(tags_exports, require(\"./htmlTags.js\"), module.exports);\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar globals_exports = {};\n__export(globals_exports, {\n document: () => document,\n global: () => global,\n self: () => self,\n window: () => window\n});\nmodule.exports = __toCommonJS(globals_exports);\nconst global = globalThis;\nconst self = globalThis;\nconst window = globalThis;\nconst document = window.document;\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar node_exports = {};\n__export(node_exports, {\n isHtmlElement: () => isHtmlElement,\n isNode: () => isNode\n});\nmodule.exports = __toCommonJS(node_exports);\nvar import_globals = require(\"@domql/globals\");\nconst isNode = (obj) => {\n return (typeof Node === \"object\" ? obj instanceof import_globals.window.Node : obj && typeof obj === \"object\" && typeof obj.nodeType === \"number\" && typeof obj.nodeName === \"string\") || false;\n};\nconst isHtmlElement = (obj) => {\n return (typeof HTMLElement === \"object\" ? obj instanceof import_globals.window.HTMLElement : obj && typeof obj === \"object\" && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === \"string\") || false;\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar types_exports = {};\n__export(types_exports, {\n TYPES: () => TYPES,\n is: () => is,\n isArray: () => isArray,\n isBoolean: () => isBoolean,\n isDefined: () => isDefined,\n isFunction: () => isFunction,\n isNot: () => isNot,\n isNull: () => isNull,\n isNumber: () => isNumber,\n isObject: () => isObject,\n isObjectLike: () => isObjectLike,\n isString: () => isString,\n isUndefined: () => isUndefined,\n isValidHtmlTag: () => isValidHtmlTag\n});\nmodule.exports = __toCommonJS(types_exports);\nvar import_tags = require(\"@domql/tags\");\nvar import_node = require(\"./node\");\nconst isValidHtmlTag = (arg) => import_tags.HTML_TAGS.body.includes(arg);\nconst isObject = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\" && arg.constructor === Object;\n};\nconst isString = (arg) => typeof arg === \"string\";\nconst isNumber = (arg) => typeof arg === \"number\";\nconst isFunction = (arg) => typeof arg === \"function\";\nconst isBoolean = (arg) => arg === true || arg === false;\nconst isNull = (arg) => arg === null;\nconst isArray = (arg) => Array.isArray(arg);\nconst isObjectLike = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\";\n};\nconst isDefined = (arg) => {\n return isObject(arg) || isObjectLike(arg) || isString(arg) || isNumber(arg) || isFunction(arg) || isArray(arg) || isObjectLike(arg) || isBoolean(arg) || isNull(arg);\n};\nconst isUndefined = (arg) => {\n return arg === void 0;\n};\nconst TYPES = {\n boolean: isBoolean,\n array: isArray,\n object: isObject,\n string: isString,\n number: isNumber,\n null: isNull,\n function: isFunction,\n objectLike: isObjectLike,\n node: import_node.isNode,\n htmlElement: import_node.isHtmlElement,\n defined: isDefined\n};\nconst is = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length > 0;\n };\n};\nconst isNot = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length === 0;\n };\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar array_exports = {};\n__export(array_exports, {\n arrayContainsOtherArray: () => arrayContainsOtherArray,\n joinArrays: () => joinArrays,\n mergeAndCloneIfArray: () => mergeAndCloneIfArray,\n mergeArray: () => mergeArray,\n removeFromArray: () => removeFromArray,\n swapItemsInArray: () => swapItemsInArray\n});\nmodule.exports = __toCommonJS(array_exports);\nvar import_object = require(\"./object\");\nvar import_types = require(\"./types\");\nconst arrayContainsOtherArray = (arr1, arr2) => {\n return arr2.every((val) => arr1.includes(val));\n};\nconst removeFromArray = (arr, index) => {\n if ((0, import_types.isString)(index))\n index = parseInt(index);\n if ((0, import_types.isNumber)(index)) {\n if (index < 0 || index >= arr.length || isNaN(index)) {\n throw new Error(\"Invalid index\");\n }\n arr.splice(index, 1);\n } else if ((0, import_types.isArray)(index)) {\n index.forEach((idx) => removeFromArray(arr, idx));\n } else {\n throw new Error(\"Invalid index\");\n }\n return arr;\n};\nconst swapItemsInArray = (arr, i, j) => {\n [arr[i], arr[j]] = [arr[j], arr[i]];\n};\nconst joinArrays = (...arrays) => {\n return [].concat(...arrays);\n};\nconst mergeArray = (arr, excludeFrom = []) => {\n return arr.reduce((a, c) => (0, import_object.deepMerge)(a, (0, import_object.deepClone)(c, excludeFrom), excludeFrom), {});\n};\nconst mergeAndCloneIfArray = (obj) => {\n return (0, import_types.isArray)(obj) ? mergeArray(obj) : (0, import_object.deepClone)(obj);\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar object_exports = {};\n__export(object_exports, {\n clone: () => clone,\n deepClone: () => deepClone,\n deepCloneExclude: () => deepCloneExclude,\n deepDestringify: () => deepDestringify,\n deepMerge: () => deepMerge,\n deepStringify: () => deepStringify,\n detachFunctionsFromObject: () => detachFunctionsFromObject,\n diff: () => diff,\n diffArrays: () => diffArrays,\n diffObjects: () => diffObjects,\n exec: () => exec,\n flattenRecursive: () => flattenRecursive,\n isEqualDeep: () => isEqualDeep,\n map: () => map,\n merge: () => merge,\n mergeArrayExclude: () => mergeArrayExclude,\n mergeIfExisted: () => mergeIfExisted,\n overwrite: () => overwrite,\n overwriteDeep: () => overwriteDeep,\n overwriteShallow: () => overwriteShallow,\n removeFromObject: () => removeFromObject\n});\nmodule.exports = __toCommonJS(object_exports);\nvar import_globals = require(\"@domql/globals\");\nvar import_types = require(\"./types.js\");\nvar import_array = require(\"./array.js\");\nconst exec = (param, element, state, context) => {\n if ((0, import_types.isFunction)(param)) {\n return param(\n element,\n state || element.state,\n context || element.context\n );\n }\n return param;\n};\nconst map = (obj, extention, element) => {\n for (const e in extention) {\n obj[e] = exec(extention[e], element);\n }\n};\nconst merge = (element, obj, excludeFrom = []) => {\n for (const e in obj) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const objProp = obj[e];\n if (elementProp === void 0) {\n element[e] = objProp;\n }\n }\n return element;\n};\nconst deepMerge = (element, extend, excludeFrom = []) => {\n for (const e in extend) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const extendProp = extend[e];\n if ((0, import_types.isObjectLike)(elementProp) && (0, import_types.isObjectLike)(extendProp)) {\n deepMerge(elementProp, extendProp);\n } else if (elementProp === void 0) {\n element[e] = extendProp;\n }\n }\n return element;\n};\nconst clone = (obj, excludeFrom = []) => {\n const o = {};\n for (const prop in obj) {\n if (excludeFrom.includes(prop) || prop.includes(\"__\"))\n continue;\n o[prop] = obj[prop];\n }\n return o;\n};\nconst deepCloneExclude = (obj, excludeFrom = []) => {\n if ((0, import_types.isArray)(obj)) {\n return obj.map((x) => deepCloneExclude(x, excludeFrom));\n }\n const o = {};\n for (const k in obj) {\n if (excludeFrom.includes(k) || k.includes(\"__\"))\n continue;\n let v = obj[k];\n if (k === \"extend\" && (0, import_types.isArray)(v)) {\n v = mergeArrayExclude(v, excludeFrom);\n }\n if ((0, import_types.isArray)(v)) {\n o[k] = v.map((x) => deepCloneExclude(x, excludeFrom));\n } else if ((0, import_types.isObject)(v)) {\n o[k] = deepCloneExclude(v, excludeFrom);\n } else\n o[k] = v;\n }\n return o;\n};\nconst mergeArrayExclude = (arr, excl = []) => {\n return arr.reduce((acc, curr) => deepMerge(acc, deepCloneExclude(curr, excl)), {});\n};\nconst deepClone = (obj, excludeFrom = []) => {\n const o = (0, import_types.isArray)(obj) ? [] : {};\n for (const prop in obj) {\n if (excludeFrom.includes(prop) || prop.includes(\"__\"))\n continue;\n let objProp = obj[prop];\n if (prop === \"extend\" && (0, import_types.isArray)(objProp)) {\n objProp = (0, import_array.mergeArray)(objProp);\n }\n if ((0, import_types.isObjectLike)(objProp)) {\n o[prop] = deepClone(objProp, excludeFrom);\n } else\n o[prop] = objProp;\n }\n return o;\n};\nconst deepStringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp)) {\n stringified[prop] = objProp.toString();\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = {};\n deepStringify(objProp, stringified[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isObject)(v)) {\n stringified[prop][i] = {};\n deepStringify(v, stringified[prop][i]);\n } else if ((0, import_types.isFunction)(v)) {\n stringified[prop][i] = v.toString();\n } else {\n stringified[prop][i] = v;\n }\n });\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n};\nconst detachFunctionsFromObject = (obj, detached = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp))\n continue;\n else if ((0, import_types.isObject)(objProp)) {\n detached[prop] = {};\n deepStringify(objProp, detached[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n detached[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isFunction)(v))\n return;\n if ((0, import_types.isObject)(v)) {\n detached[prop][i] = {};\n detachFunctionsFromObject(v, detached[prop][i]);\n } else {\n detached[prop][i] = v;\n }\n });\n } else {\n detached[prop] = objProp;\n }\n }\n return detached;\n};\nconst deepDestringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isString)(objProp)) {\n if (objProp.includes(\"=>\") || objProp.includes(\"function\") || objProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals.window.eval(`(${objProp})`);\n stringified[prop] = evalProp;\n } catch (e) {\n if (e)\n stringified[prop] = objProp;\n }\n } else {\n stringified[prop] = objProp;\n }\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((arrProp) => {\n if ((0, import_types.isString)(arrProp)) {\n if (arrProp.includes(\"=>\") || arrProp.includes(\"function\") || arrProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals.window.eval(`(${arrProp})`);\n stringified[prop].push(evalProp);\n } catch (e) {\n if (e)\n stringified[prop].push(arrProp);\n }\n } else {\n stringified[prop].push(arrProp);\n }\n } else if ((0, import_types.isObject)(arrProp)) {\n stringified[prop].push(deepDestringify(arrProp));\n } else {\n stringified[prop].push(arrProp);\n }\n });\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = deepDestringify(objProp, stringified[prop]);\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n};\nconst diffObjects = (original, objToDiff, cache) => {\n for (const e in objToDiff) {\n if (e === \"ref\")\n continue;\n const originalProp = original[e];\n const objToDiffProp = objToDiff[e];\n if ((0, import_types.isObject)(originalProp) && (0, import_types.isObject)(objToDiffProp)) {\n cache[e] = {};\n diff(originalProp, objToDiffProp, cache[e]);\n } else if (objToDiffProp !== void 0) {\n cache[e] = objToDiffProp;\n }\n }\n return cache;\n};\nconst diffArrays = (original, objToDiff, cache) => {\n if (original.length !== objToDiff.length) {\n cache = objToDiff;\n } else {\n const diffArr = [];\n for (let i = 0; i < original.length; i++) {\n const diffObj = diff(original[i], objToDiff[i]);\n if (Object.keys(diffObj).length > 0) {\n diffArr.push(diffObj);\n }\n }\n if (diffArr.length > 0) {\n cache = diffArr;\n }\n }\n return cache;\n};\nconst diff = (original, objToDiff, cache = {}) => {\n if ((0, import_types.isArray)(original) && (0, import_types.isArray)(objToDiff)) {\n cache = [];\n diffArrays(original, objToDiff, cache);\n } else {\n diffObjects(original, objToDiff, cache);\n }\n return cache;\n};\nconst overwrite = (element, params, excludeFrom = []) => {\n const { ref } = element;\n const changes = {};\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const paramsProp = params[e];\n if (paramsProp) {\n ref.__cache[e] = changes[e] = elementProp;\n ref[e] = paramsProp;\n }\n }\n return changes;\n};\nconst overwriteShallow = (obj, params, excludeFrom = []) => {\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n obj[e] = params[e];\n }\n return obj;\n};\nconst overwriteDeep = (obj, params, excludeFrom = []) => {\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const objProp = obj[e];\n const paramsProp = params[e];\n if ((0, import_types.isObjectLike)(objProp) && (0, import_types.isObjectLike)(paramsProp)) {\n overwriteDeep(objProp, paramsProp);\n } else if (paramsProp !== void 0) {\n obj[e] = paramsProp;\n }\n }\n return obj;\n};\nconst mergeIfExisted = (a, b) => {\n if ((0, import_types.isObjectLike)(a) && (0, import_types.isObjectLike)(b))\n return deepMerge(a, b);\n return a || b;\n};\nconst flattenRecursive = (param, prop, stack = []) => {\n const objectized = (0, import_array.mergeAndCloneIfArray)(param);\n stack.push(objectized);\n const extendOfExtend = objectized[prop];\n if (extendOfExtend)\n flattenRecursive(extendOfExtend, prop, stack);\n delete objectized[prop];\n return stack;\n};\nconst isEqualDeep = (param, element) => {\n if (param === element)\n return true;\n if (!param || !element)\n return false;\n for (const prop in param) {\n const paramProp = param[prop];\n const elementProp = element[prop];\n if ((0, import_types.isObjectLike)(paramProp)) {\n const isEqual = isEqualDeep(paramProp, elementProp);\n if (!isEqual)\n return false;\n } else {\n const isEqual = paramProp === elementProp;\n if (!isEqual)\n return false;\n }\n }\n return true;\n};\nconst removeFromObject = (obj, props) => {\n if (props === void 0 || props === null)\n return obj;\n if ((0, import_types.is)(props)(\"string\", \"number\")) {\n delete obj[props];\n } else if ((0, import_types.isArray)(props)) {\n props.forEach((prop) => delete obj[prop]);\n } else {\n throw new Error(\"Invalid input: props must be a string or an array of strings\");\n }\n return obj;\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar function_exports = {};\n__export(function_exports, {\n debounce: () => debounce,\n memoize: () => memoize\n});\nmodule.exports = __toCommonJS(function_exports);\nconst debounce = (element, func, timeout = 300) => {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(element, args);\n }, timeout);\n };\n};\nconst memoize = (fn) => {\n const cache = {};\n return (...args) => {\n const n = args[0];\n if (n in cache) {\n return cache[n];\n } else {\n const result = fn(n);\n cache[n] = result;\n return result;\n }\n };\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar log_exports = {};\n__export(log_exports, {\n logGroupIf: () => logGroupIf,\n logIf: () => logIf\n});\nmodule.exports = __toCommonJS(log_exports);\nconst logIf = (bool, ...arg) => {\n if (bool)\n arg.map((v) => console.log(v));\n};\nconst logGroupIf = (bool, key, ...arg) => {\n if (bool) {\n console.group(key);\n arg.map((v) => console.log(v));\n console.groupEnd(key);\n }\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar utils_exports = {};\nmodule.exports = __toCommonJS(utils_exports);\n__reExport(utils_exports, require(\"@domql/key\"), module.exports);\n__reExport(utils_exports, require(\"./types.js\"), module.exports);\n__reExport(utils_exports, require(\"./object.js\"), module.exports);\n__reExport(utils_exports, require(\"./function.js\"), module.exports);\n__reExport(utils_exports, require(\"./array.js\"), module.exports);\n__reExport(utils_exports, require(\"./node.js\"), module.exports);\n__reExport(utils_exports, require(\"./log.js\"), module.exports);\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar ignore_exports = {};\n__export(ignore_exports, {\n IGNORE_STATE_PARAMS: () => IGNORE_STATE_PARAMS\n});\nmodule.exports = __toCommonJS(ignore_exports);\nconst IGNORE_STATE_PARAMS = [\n \"update\",\n \"parse\",\n \"clean\",\n \"create\",\n \"destroy\",\n \"add\",\n \"toggle\",\n \"remove\",\n \"apply\",\n \"set\",\n \"rootUpdate\",\n \"parentUpdate\",\n \"parent\",\n \"__element\",\n \"__depends\",\n \"__ref\",\n \"__children\",\n \"__root\"\n];\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar on_exports = {};\n__export(on_exports, {\n applyEvent: () => applyEvent,\n applyEventUpdate: () => applyEventUpdate,\n applyEventsOnNode: () => applyEventsOnNode,\n triggerEventOn: () => triggerEventOn,\n triggerEventOnUpdate: () => triggerEventOnUpdate\n});\nmodule.exports = __toCommonJS(on_exports);\nvar import_utils = require(\"@domql/utils\");\nconst applyEvent = (param, element, state, context, options) => {\n return param(element, state || element.state, context || element.context, options);\n};\nconst triggerEventOn = (param, element, options) => {\n if (element.on && (0, import_utils.isFunction)(element.on[param])) {\n const { state, context } = element;\n return applyEvent(element.on[param], element, state, context, options);\n }\n};\nconst applyEventUpdate = (param, updatedObj, element, state, context, options) => {\n return param(updatedObj, element, state || element.state, context || element.context, options);\n};\nconst triggerEventOnUpdate = (param, updatedObj, element, options) => {\n if (element.on && (0, import_utils.isFunction)(element.on[param])) {\n const { state, context } = element;\n return applyEventUpdate(element.on[param], updatedObj, element, state, context, options);\n }\n};\nconst applyEventsOnNode = (element) => {\n const { node, on } = element;\n for (const param in on) {\n if (param === \"init\" || param === \"beforeClassAssign\" || param === \"render\" || param === \"renderRouter\" || param === \"attachNode\" || param === \"stateInit\" || param === \"stateCreated\" || param === \"initStateUpdated\" || param === \"stateUpdated\" || param === \"initUpdate\" || param === \"update\")\n continue;\n const appliedFunction = element.on[param];\n if ((0, import_utils.isFunction)(appliedFunction)) {\n const { state, context } = element;\n node.addEventListener(param, (event) => appliedFunction(event, element, state, context));\n }\n }\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar report_exports = {};\n__export(report_exports, {\n ERRORS_REGISTRY: () => ERRORS_REGISTRY,\n report: () => report\n});\nmodule.exports = __toCommonJS(report_exports);\nconst ERRORS_REGISTRY = {\n en: {\n DocumentNotDefined: {\n title: \"Document is undefined\",\n description: \"To tweak with DOM, you should use browser.\"\n },\n OverwriteToBuiltin: {\n title: \"Overwriting to builtin method\",\n description: \"Overwriting a builtin method in the window define is not possible, please choose different name\"\n },\n BrowserNotDefined: {\n title: \"Can't recognize environment\",\n description: \"Environment should be browser application, that can run Javascript\"\n },\n SetQuickPreferancesIsNotObject: {\n title: \"Quick preferances object is required\",\n description: 'Please pass a plain object with \"lang\", \"culture\" and \"area\" properties'\n },\n InvalidParams: {\n title: \"Params are invalid\",\n description: 'Please pass a plain object with \"lang\", \"culture\" and \"area\" properties'\n },\n CantCreateWithoutNode: {\n title: \"You must provide node\",\n description: \"Can't create DOM element without setting node or text\"\n },\n HTMLInvalidTag: {\n title: \"Element tag name (or DOM nodeName) is invalid\",\n description: \"To create element, you must provide valid DOM node. See full list of them at here: http://www.w3schools.com/tags/\"\n },\n HTMLInvalidAttr: {\n title: \"Attibutes object is invalid\",\n description: \"Please pass a valid plain object to apply as an attributes for a DOM node\"\n },\n HTMLInvalidData: {\n title: \"Data object is invalid\",\n description: \"Please pass a valid plain object to apply as an dataset for a DOM node\"\n },\n HTMLInvalidStyles: {\n title: \"Styles object is invalid\",\n description: \"Please pass a valid plain object to apply as an style for a DOM node\"\n },\n HTMLInvalidText: {\n title: \"Text string is invalid\",\n description: \"Please pass a valid string to apply text to DOM node\"\n },\n ElementOnStateIsNotDefined: {\n title: \"Element on state is not defined\",\n description: \"Please check the element object\"\n }\n }\n};\nconst report = (err, arg, element) => {\n const currentLang = \"en\";\n let errObj;\n if (err && typeof err === \"string\")\n errObj = ERRORS_REGISTRY[currentLang][err];\n return new Error(\n `\"${err}\", \"${arg}\"\n\n`,\n `${errObj.description}`,\n element ? `\n\n${element}` : \"\"\n );\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar can_exports = {};\n__export(can_exports, {\n canRender: () => canRender\n});\nmodule.exports = __toCommonJS(can_exports);\nvar import_report = require(\"@domql/report\");\nvar import_utils = require(\"@domql/utils\");\nconst canRender = (element) => {\n const tag = element.tag || \"div\";\n return (0, import_utils.isValidHtmlTag)(tag) || (0, import_report.report)(\"HTMLInvalidTag\");\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar event_exports = {};\nmodule.exports = __toCommonJS(event_exports);\n__reExport(event_exports, require(\"./on\"), module.exports);\n__reExport(event_exports, require(\"./can\"), module.exports);\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar methods_exports = {};\n__export(methods_exports, {\n add: () => add,\n apply: () => apply,\n clean: () => clean,\n destroy: () => destroy,\n parentUpdate: () => parentUpdate,\n parse: () => parse,\n remove: () => remove,\n rootUpdate: () => rootUpdate,\n set: () => set,\n toggle: () => toggle\n});\nmodule.exports = __toCommonJS(methods_exports);\nvar import_utils = require(\"@domql/utils\");\nvar import_ignore = require(\"./ignore\");\nconst parse = function() {\n const state = this;\n if ((0, import_utils.isObject)(state)) {\n const obj = {};\n for (const param in state) {\n if (!import_ignore.IGNORE_STATE_PARAMS.includes(param)) {\n obj[param] = state[param];\n }\n }\n return obj;\n } else if ((0, import_utils.isArray)(state)) {\n return state.filter((item) => !import_ignore.IGNORE_STATE_PARAMS.includes(item));\n }\n};\nconst clean = function(options = {}) {\n const state = this;\n for (const param in state) {\n if (!import_ignore.IGNORE_STATE_PARAMS.includes(param)) {\n delete state[param];\n }\n }\n if (!options.preventStateUpdate) {\n state.update(state, { replace: true, options });\n }\n return state;\n};\nconst destroy = function(options = {}) {\n const state = this;\n const element = state.__element;\n const stateKey = element.__ref.__state;\n if ((0, import_utils.isString)(stateKey)) {\n element.parent.state.remove(stateKey, { isHoisted: true, ...options });\n return element.state;\n }\n delete element.state;\n element.state = state.parent;\n if (state.parent) {\n delete state.parent.__children[element.key];\n }\n if (state.__children) {\n for (const key in state.__children) {\n const child = state.__children[key];\n if (child.state) {\n child.parent = state.parent;\n }\n }\n }\n element.state.update({}, { isHoisted: true, ...options });\n return element.state;\n};\nconst parentUpdate = function(obj, options = {}) {\n const state = this;\n if (!state || !state.parent)\n return;\n return state.parent.update(obj, { isHoisted: true, ...options });\n};\nconst rootUpdate = function(obj, options = {}) {\n const state = this;\n if (!state)\n return;\n const rootState = state.__element.__ref.__root.state;\n return rootState.update(obj, { isHoisted: false, options });\n};\nconst add = function(value, options = {}) {\n const state = this;\n if ((0, import_utils.isArray)(state)) {\n state.push(value);\n state.update(state.parse(), { overwrite: \"replace\", ...options });\n } else if ((0, import_utils.isObject)(state)) {\n const key = Object.keys(state).length;\n state.update({ [key]: value }, options);\n }\n};\nconst toggle = function(key, options = {}) {\n const state = this;\n state.update({ [key]: !state[key] }, options);\n};\nconst remove = function(key, options = {}) {\n const state = this;\n if ((0, import_utils.isArray)(state))\n (0, import_utils.removeFromArray)(state, key);\n if ((0, import_utils.isObject)(state))\n (0, import_utils.removeFromObject)(state, key);\n return state.update(state.parse(), { replace: true, ...options });\n};\nconst set = function(value, options = {}) {\n const state = this;\n return state.clean({ preventStateUpdate: true }).update(value, { replace: true, ...options });\n};\nconst apply = function(func, options = {}) {\n const state = this;\n if ((0, import_utils.isFunction)(func)) {\n func(state);\n return state.update(state, { replace: true, ...options });\n }\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar inherit_exports = {};\n__export(inherit_exports, {\n checkIfInherits: () => checkIfInherits,\n createChangesByKey: () => createChangesByKey,\n createInheritedState: () => createInheritedState,\n findInheritedState: () => findInheritedState,\n getChildStateInKey: () => getChildStateInKey,\n getParentStateInKey: () => getParentStateInKey,\n isState: () => isState\n});\nmodule.exports = __toCommonJS(inherit_exports);\nvar import_utils = require(\"@domql/utils\");\nvar import_ignore = require(\"./ignore\");\nconst getParentStateInKey = (stateKey, parentState) => {\n if (!stateKey.includes(\"../\"))\n return;\n const arr = stateKey.split(\"../\");\n const arrLength = arr.length - 1;\n for (let i = 0; i < arrLength; i++) {\n if (!parentState.parent)\n return null;\n parentState = parentState.parent;\n }\n return parentState;\n};\nconst getChildStateInKey = (stateKey, parentState, options) => {\n const arr = stateKey.split(\"/\");\n const arrLength = arr.length - 1;\n for (let i = 0; i < arrLength; i++) {\n const childKey = arr[i];\n const grandChildKey = arr[i + 1];\n const childInParent = parentState[childKey];\n if (childInParent && childInParent[grandChildKey]) {\n stateKey = grandChildKey;\n parentState = childInParent;\n } else\n return;\n }\n if (options.returnParent)\n return parentState;\n return parentState[stateKey];\n};\nconst findInheritedState = (element, parent, options = {}) => {\n const ref = element.__ref;\n let stateKey = ref.__state;\n if (!checkIfInherits(element))\n return;\n let parentState = parent.state;\n const findGrandParentState = getParentStateInKey(stateKey, parent.state);\n if (findGrandParentState) {\n parentState = findGrandParentState;\n stateKey = stateKey.replaceAll(\"../\", \"\");\n }\n if (!parentState)\n return;\n return getChildStateInKey(stateKey, parentState, options);\n};\nconst createInheritedState = (element, parent) => {\n const ref = element.__ref;\n const inheritedState = findInheritedState(element, parent);\n if (!inheritedState)\n return element.state;\n if ((0, import_utils.is)(inheritedState)(\"object\", \"array\")) {\n return (0, import_utils.deepClone)(inheritedState, import_ignore.IGNORE_STATE_PARAMS);\n } else if ((0, import_utils.is)(inheritedState)(\"string\", \"number\")) {\n ref.__stateType = \"string\";\n return { value: inheritedState };\n }\n console.warn(ref.__state, \"is not present. Replacing with\", {});\n};\nconst checkIfInherits = (element) => {\n const ref = element.__ref;\n const stateKey = ref.__state;\n if (!stateKey || (0, import_utils.isNot)(stateKey)(\"number\", \"string\"))\n return false;\n return true;\n};\nconst isState = function(state) {\n if (!(0, import_utils.isObjectLike)(state))\n return false;\n const keys = Object.keys(state);\n return (0, import_utils.arrayContainsOtherArray)(keys, [\"update\", \"parse\", \"clean\", \"create\", \"parent\", \"rootUpdate\"]);\n};\nconst createChangesByKey = (path, value) => {\n if (!path) {\n return value || {};\n }\n const keys = path.split(\"/\");\n const obj = {};\n let ref = obj;\n keys.forEach((key, index) => {\n ref[key] = index === keys.length - 1 ? value || {} : {};\n ref = ref[key];\n });\n return obj;\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar updateState_exports = {};\n__export(updateState_exports, {\n updateState: () => updateState\n});\nmodule.exports = __toCommonJS(updateState_exports);\nvar import_report = require(\"@domql/report\");\nvar import_event = require(\"@domql/event\");\nvar import_ignore = require(\"./ignore\");\nvar import_utils = require(\"@domql/utils\");\nvar import_inherit = require(\"./inherit\");\nconst STATE_UPDATE_OPTIONS = {\n overwrite: true,\n preventHoistElementUpdate: false,\n updateByState: true,\n execStateFunction: true,\n isHoisted: true,\n stateFunctionOverwrite: true\n};\nconst updateState = function(obj, options = STATE_UPDATE_OPTIONS) {\n const state = this;\n const element = state.__element;\n if (!options.updateByState)\n (0, import_utils.merge)(options, STATE_UPDATE_OPTIONS);\n if (!state.__element)\n (0, import_report.report)(\"ElementOnStateIsNotDefined\");\n if (options.preventInheritAtCurrentState === true) {\n options.preventInheritAtCurrentState = state;\n } else if (options.preventInheritAtCurrentState)\n return;\n if (!options.preventInitStateUpdateListener) {\n const initStateUpdateReturns = (0, import_event.triggerEventOnUpdate)(\"initStateUpdated\", obj, element, options);\n if (initStateUpdateReturns === false)\n return element;\n }\n applyOverwrite(state, obj, options);\n const updateIsHoisted = hoistStateUpdate(state, obj, options);\n if (updateIsHoisted)\n return state;\n updateDependentState(state, obj, options);\n applyElementUpdate(state, obj, options);\n if (!options.preventStateUpdateListener) {\n (0, import_event.triggerEventOnUpdate)(\"stateUpdated\", obj, element, options);\n }\n return state;\n};\nconst applyOverwrite = (state, obj, options) => {\n const { overwrite } = options;\n if (!overwrite)\n return;\n const shallow = overwrite === \"shallow\";\n const merge2 = overwrite === \"merge\";\n if (merge2) {\n (0, import_utils.deepMerge)(state, obj, import_ignore.IGNORE_STATE_PARAMS);\n return;\n }\n const overwriteFunc = shallow ? import_utils.overwriteShallow : import_utils.overwriteDeep;\n overwriteFunc(state, obj, import_ignore.IGNORE_STATE_PARAMS);\n};\nconst hoistStateUpdate = (state, obj, options) => {\n const element = state.__element;\n const { parent, __ref: ref } = element;\n const stateKey = ref.__state;\n if (!stateKey)\n return;\n const asksForInherit = (0, import_inherit.checkIfInherits)(element);\n const inheritedState = (0, import_inherit.findInheritedState)(element, parent, { returnParent: true });\n const shouldPropagateState = asksForInherit && inheritedState && !options.stopStatePropagation;\n if (!shouldPropagateState)\n return;\n const isStringState = ref.__stateType === \"string\";\n const value = isStringState ? state.value : state.parse();\n const passedValue = isStringState ? state.value : obj;\n const findGrandParentState = (0, import_inherit.getParentStateInKey)(stateKey, parent.state);\n const changesValue = (0, import_inherit.createChangesByKey)(stateKey, passedValue);\n const targetParent = findGrandParentState || parent.state;\n if (options.replace)\n targetParent[stateKey] = value;\n targetParent.update(changesValue, {\n execStateFunction: false,\n stateFunctionOverwrite: false,\n isHoisted: true,\n ...options,\n preventUpdate: options.preventHoistElementUpdate,\n overwrite: !options.replace\n });\n const hasNotUpdated = !options.preventUpdate || !options.preventHoistElementUpdate;\n if (!options.preventStateUpdateListener && hasNotUpdated) {\n (0, import_event.triggerEventOnUpdate)(\"stateUpdated\", obj, element, options);\n }\n return true;\n};\nconst updateDependentState = (state, obj, options) => {\n if (!state.__depends)\n return;\n for (const el in state.__depends) {\n const dependentState = state.__depends[el];\n dependentState.clean().update(state.parse(), options);\n }\n};\nconst applyElementUpdate = (state, obj, options) => {\n const element = state.__element;\n if (!options.preventUpdate) {\n element.update({}, {\n ...options,\n updateByState: true\n });\n } else if (options.preventUpdate === \"recursive\") {\n element.update({}, {\n ...options,\n isHoisted: false,\n updateByState: true,\n preventUpdate: true\n });\n }\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar createState_exports = {};\n__export(createState_exports, {\n createState: () => createState\n});\nmodule.exports = __toCommonJS(createState_exports);\nvar import_event = require(\"@domql/event\");\nvar import_utils = require(\"@domql/utils\");\nvar import_ignore = require(\"./ignore\");\nvar import_methods = require(\"./methods\");\nvar import_updateState = require(\"./updateState\");\nvar import_inherit = require(\"./inherit\");\nconst createState = function(element, parent, options) {\n const skip = options && options.skip ? options.skip : false;\n const objectizeState = checkForTypes(element);\n if (objectizeState === false)\n return parent.state || {};\n else\n element.state = (0, import_utils.deepClone)(objectizeState, import_ignore.IGNORE_STATE_PARAMS);\n const whatInitReturns = (0, import_event.triggerEventOn)(\"stateInit\", element, options);\n if (whatInitReturns === false)\n return element.state;\n if ((0, import_inherit.checkIfInherits)(element)) {\n const inheritedState = (0, import_inherit.createInheritedState)(element, parent);\n element.state = inheritedState || {};\n }\n const dependentState = applyDependentState(element, element.state);\n if (dependentState)\n element.state = dependentState;\n if (skip)\n return element.state;\n applyMethods(element);\n (0, import_event.triggerEventOn)(\"stateCreated\", element);\n return element.state;\n};\nconst applyDependentState = (element, state) => {\n const { __ref: ref } = state;\n if (!ref)\n return;\n const dependentState = (0, import_utils.deepClone)(ref, import_ignore.IGNORE_STATE_PARAMS);\n const newDepends = { [element.key]: dependentState };\n ref.__depends = (0, import_utils.isObject)(ref.__depends) ? { ...ref.__depends, ...newDepends } : newDepends;\n return dependentState;\n};\nconst checkForTypes = (element) => {\n const { state, __ref: ref } = element;\n if ((0, import_utils.isFunction)(state)) {\n ref.__state = state;\n return (0, import_utils.exec)(state, element);\n }\n if ((0, import_utils.is)(state)(\"string\", \"number\")) {\n ref.__state = state;\n return {};\n }\n if (state === true) {\n ref.__state = element.key;\n return {};\n }\n if (state) {\n ref.__hasRootState = true;\n return state;\n }\n return false;\n};\nconst applyMethods = (element) => {\n const state = element.state;\n const ref = element.__ref;\n state.clean = import_methods.clean;\n state.parse = import_methods.parse;\n state.destroy = import_methods.destroy;\n state.update = import_updateState.updateState;\n state.rootUpdate = import_methods.rootUpdate;\n state.parentUpdate = import_methods.parentUpdate;\n state.create = createState;\n state.add = import_methods.add;\n state.toggle = import_methods.toggle;\n state.remove = import_methods.remove;\n state.apply = import_methods.apply;\n state.parent = element.parent.state;\n state.set = import_methods.set;\n state.__element = element;\n state.__children = {};\n state.__root = ref.__root ? ref.__root.state : state;\n if (state.parent)\n state.parent.__children[element.key] = state;\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar state_exports = {};\nmodule.exports = __toCommonJS(state_exports);\n__reExport(state_exports, require(\"./ignore\"), module.exports);\n__reExport(state_exports, require(\"./createState\"), module.exports);\n__reExport(state_exports, require(\"./updateState\"), module.exports);\n__reExport(state_exports, require(\"./methods\"), module.exports);\n__reExport(state_exports, require(\"./inherit\"), module.exports);\n", "//! moment.js\n//! version : 2.29.4\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid =\n !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid()\n ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (\n unit === 'FullYear' &&\n isLeapYear(mom.year()) &&\n mom.month() === 1 &&\n mom.date() === 29\n ) {\n value = toInt(value);\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n value,\n mom.month(),\n daysInMonth(value, mom.month())\n );\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n return name.match('^[^/\\\\\\\\]*$') != null;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.29.4';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type=\"datetime-local\" />\n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type=\"datetime-local\" step=\"1\" />\n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type=\"datetime-local\" step=\"0.001\" />\n DATE: 'YYYY-MM-DD', // <input type=\"date\" />\n TIME: 'HH:mm', // <input type=\"time\" />\n TIME_SECONDS: 'HH:mm:ss', // <input type=\"time\" step=\"1\" />\n TIME_MS: 'HH:mm:ss.SSS', // <input type=\"time\" step=\"0.001\" />\n WEEK: 'GGGG-[W]WW', // <input type=\"week\" />\n MONTH: 'YYYY-MM', // <input type=\"month\" />\n };\n\n return hooks;\n\n})));\n", "\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst moment = require(\"moment\");\r\nvar HeadlessDatepicker;\r\n(function (HeadlessDatepicker) {\r\n class Calendar {\r\n constructor(options = {}) {\r\n this.options = options;\r\n this.selectedDates = [];\r\n options.locale = options.locale || 'en';\r\n options.disabledDates = options.disabledDates || [];\r\n options.extras = options.extras || [];\r\n options.calendarMode = options.calendarMode || 'fill';\r\n options.zeroBasedMonth = options.zeroBasedMonth === undefined ? false : options.zeroBasedMonth;\r\n this.monthOffset = this.options.zeroBasedMonth ? 0 : 1;\r\n this.localMoment = moment;\r\n if (!this.localMoment)\r\n throw ('headlessDatepicker: momentjs is not available. Please do import or require(\\'moment\\') or reference it from a script tag.');\r\n }\r\n getRange(startDate, endDate) {\r\n let dates = [];\r\n let dateWorker = this.createHdpDate(startDate, false);\r\n while (dateWorker.moment.isSameOrBefore(endDate)) {\r\n dates.push(dateWorker);\r\n dateWorker = this.createHdpDate(this.addDay(dateWorker.moment.toDate()), false);\r\n }\r\n return dates;\r\n }\r\n getMonth(yearMonthPair) {\r\n const startDate = this.hdMoment().year(yearMonthPair.year).month(yearMonthPair.month - this.monthOffset).date(1).toDate();\r\n const endDate = this.hdMoment().year(yearMonthPair.year).month(yearMonthPair.month - this.monthOffset).add(1, 'months').date(0).toDate();\r\n const range = this.getRange(startDate, endDate);\r\n const weekDays = this.getWeekDays(range);\r\n const weeks = this.getWeeks(range, this.options.calendarMode);\r\n const firstDayOfMonth = this.getFirstDayOfMonthFromRange(range);\r\n const month = {\r\n weekDayName: weekDays,\r\n year: yearMonthPair.year,\r\n number: firstDayOfMonth.moment.month() + this.monthOffset,\r\n monthName: this.getMonthNames(firstDayOfMonth),\r\n weeks: weeks\r\n };\r\n return month;\r\n }\r\n getMonths(yearMonthPairs) {\r\n return yearMonthPairs.map((item) => { return this.getMonth({ year: item.year, month: item.month }); });\r\n }\r\n getFirstDayOfMonthFromRange(range) {\r\n return range.find((item) => {\r\n return item && item.isAdjacent == false;\r\n });\r\n }\r\n // createMomentDay\r\n hdMoment(date) {\r\n const m = this.localMoment(date);\r\n m.locale(this.options.locale, this.options.localeSettings);\r\n return m;\r\n }\r\n // dateIsSelected\r\n isSelectedCheck(date) {\r\n const found = this.selectedDates.find((item) => { return this.hdMoment(item).isSame(date, 'day'); });\r\n return typeof found !== 'undefined';\r\n }\r\n // minimumDateIsReached\r\n isBelowMinimumDateCheck(date) {\r\n return this.options.minimumDate ? this.hdMoment(this.options.minimumDate).isAfter(date, 'day') : false;\r\n }\r\n // maximumDateIsReached\r\n isAboveMaximumDateCheck(date) {\r\n return this.options.maximumDate ? this.hdMoment(this.options.maximumDate).isBefore(date, 'day') : false;\r\n }\r\n // dateIsDisabled\r\n isDisabledCheck(date) {\r\n return this.options.disabledDates.findIndex((item) => { return this.hdMoment(item).isSame(date, 'day'); }) !== -1;\r\n }\r\n // attachExtrasToDay\r\n attachExtras(date) {\r\n var extras = this.options.extras.filter((item) => { return this.hdMoment(item.date).isSame(date, 'day'); });\r\n return extras.length == 0 ? null : extras[0].data;\r\n }\r\n createHdpDate(date, isAdjacent) {\r\n const momentDate = this.hdMoment(date);\r\n const day = date.getDay();\r\n const month = date.getMonth();\r\n const isMinimum = this.isBelowMinimumDateCheck(date);\r\n const isMaximum = this.isAboveMaximumDateCheck(date);\r\n const isDisabled = this.isDisabledCheck(date);\r\n const isActive = !isMinimum && !isMaximum && !isDisabled;\r\n return {\r\n moment: momentDate,\r\n isActive: isActive,\r\n isToday: momentDate.isSame(new Date(), 'day'),\r\n isSelected: this.isSelectedCheck(date),\r\n isBelowMinimumDate: isMinimum,\r\n isAboveMaximumDate: isMaximum,\r\n isDisabled: isDisabled,\r\n isAdjacent: isAdjacent,\r\n extras: this.attachExtras(date)\r\n };\r\n }\r\n createWeekItem(weekDates) {\r\n const firstDate = weekDates[0];\r\n return {\r\n weekOfYear: firstDate.moment.week(),\r\n weekOfMonth: Math.ceil(firstDate.moment.date() / 7),\r\n dates: weekDates\r\n };\r\n }\r\n addDay(date) {\r\n const newDate = new Date(date);\r\n newDate.setDate(newDate.getDate() + 1);\r\n return newDate;\r\n }\r\n createAdjacentDateEntry(momentDate, showAdjacentMonths) {\r\n return showAdjacentMonths ? this.createHdpDate(momentDate.toDate(), true) : null;\r\n }\r\n getWeekDays(range) {\r\n const weekDays = {\r\n full: [],\r\n short: [],\r\n min: []\r\n };\r\n const firstDayOfWeekIndex = range.findIndex((item) => {\r\n return item.moment.weekday() == 0;\r\n });\r\n for (let i = firstDayOfWeekIndex; i < firstDayOfWeekIndex + 7; i++) {\r\n const day = range[i].moment;\r\n weekDays.full.push(day.format('dddd'));\r\n weekDays.short.push(day.format('ddd'));\r\n weekDays.min.push(day.format('dd'));\r\n }\r\n return weekDays;\r\n }\r\n getMonthNames(firstDayOfMonth) {\r\n return {\r\n full: firstDayOfMonth.moment.format('MMMM'),\r\n short: firstDayOfMonth.moment.format('MMM')\r\n };\r\n }\r\n getAdjacentBefore(momentDate, showAdjacentMonths) {\r\n const dayOfWeek = momentDate.weekday();\r\n const clonedDate = momentDate.clone();\r\n clonedDate.subtract(dayOfWeek, 'days');\r\n const dates = [];\r\n while (clonedDate.isBefore(momentDate)) {\r\n dates.push(this.createAdjacentDateEntry(clonedDate, showAdjacentMonths));\r\n clonedDate.add(1, 'day');\r\n }\r\n return dates;\r\n }\r\n getAdjacentAfter(momentDate, showAdjacentMonths) {\r\n const dayOfWeek = momentDate.weekday();\r\n const clonedDate = momentDate.clone();\r\n clonedDate.add(6 - dayOfWeek, 'days');\r\n const dates = [];\r\n while (clonedDate.isAfter(momentDate)) {\r\n dates.push(this.createAdjacentDateEntry(clonedDate, showAdjacentMonths));\r\n clonedDate.subtract(1, 'day');\r\n }\r\n dates.reverse();\r\n return dates;\r\n }\r\n getLastWeekNumberInYear(range) {\r\n const lastDayInLastWeek = [...range].reverse().find(d => d.moment.week() !== 1);\r\n return lastDayInLastWeek.moment.week();\r\n }\r\n splitIntoWeeks(range) {\r\n const weeks = [];\r\n let startWeekNumber = range[0].moment.week();\r\n let endWeekNumber = range[range.length - 1].moment.week();\r\n let newYear = false;\r\n if (endWeekNumber == 1) {\r\n endWeekNumber = this.getLastWeekNumberInYear(range);\r\n endWeekNumber++;\r\n newYear = true;\r\n }\r\n if (startWeekNumber > endWeekNumber) {\r\n startWeekNumber = 0;\r\n }\r\n for (var i = startWeekNumber; i <= endWeekNumber; i++) {\r\n let compareWeek = i;\r\n if (newYear && i == endWeekNumber) {\r\n compareWeek = 1;\r\n }\r\n // if true, then the reason is that startWeekNumber equals null because the first date belongs to the last week in the previous year\r\n if (i == 0) {\r\n compareWeek = range[0].moment.week();\r\n }\r\n const weekDates = range.filter(function (r) { return r.moment.week() == compareWeek; });\r\n weeks.push(this.createWeekItem(weekDates));\r\n }\r\n return weeks;\r\n }\r\n exactMode(range) {\r\n return this.splitIntoWeeks(range);\r\n }\r\n fillMode(range, showAdjacentMonths) {\r\n var weeks = this.splitIntoWeeks(range);\r\n var lastWeekIndex = weeks.length - 1;\r\n weeks[0].dates = this.getAdjacentBefore(range[0].moment, showAdjacentMonths).concat(weeks[0].dates);\r\n weeks[lastWeekIndex].dates = weeks[lastWeekIndex].dates.concat(this.getAdjacentAfter(range[range.length - 1].moment, showAdjacentMonths));\r\n return weeks;\r\n }\r\n adjacentMode(range) {\r\n return this.fillMode(range, true);\r\n }\r\n fixedMode(range) {\r\n const weeks = this.adjacentMode(range);\r\n while (weeks.length < 6) {\r\n const lastDay = weeks[weeks.length - 1].dates.slice(-1)[0].moment.clone();\r\n const nextDay = lastDay.add(1, 'day');\r\n const newWeek = this.getAdjacentAfter(nextDay, true);\r\n // getAdjacentAfter only works with dates AFTER the the date passed. So we have to place the new date at the beginning\r\n newWeek.unshift(this.createAdjacentDateEntry(nextDay, true));\r\n weeks.push(this.createWeekItem(newWeek));\r\n }\r\n return weeks;\r\n }\r\n getWeeks(range, mode) {\r\n const showAdjacentMonths = false;\r\n switch (mode) {\r\n case 'exact':\r\n return this.exactMode(range);\r\n case 'adjacent':\r\n return this.adjacentMode(range);\r\n case 'fill':\r\n return this.fillMode(range, false);\r\n case 'fixed':\r\n return this.fixedMode(range);\r\n default:\r\n throw new Error('Invalid mode: ' + mode);\r\n }\r\n }\r\n }\r\n HeadlessDatepicker.Calendar = Calendar;\r\n})(HeadlessDatepicker = exports.HeadlessDatepicker || (exports.HeadlessDatepicker = {}));\r\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar router_exports = {};\n__export(router_exports, {\n default: () => router_default,\n getActiveRoute: () => getActiveRoute,\n lastLevel: () => lastLevel,\n lastPathname: () => lastPathname,\n router: () => router\n});\nmodule.exports = __toCommonJS(router_exports);\nvar import_globals = require(\"@domql/globals\");\nvar import_utils = require(\"@domql/utils\");\nconst getActiveRoute = (route = import_globals.window.location.pathname, level) => `/${route.split(\"/\")[level + 1]}`;\nlet lastPathname;\nlet lastLevel = 0;\nconst defaultOptions = {\n level: lastLevel,\n pushState: true,\n initialRender: false,\n scrollToTop: true,\n scrollToNode: false,\n scrollNode: import_globals.document && import_globals.document.documentElement,\n scrollBody: false,\n scrollDocument: true,\n useFragment: false,\n updateState: true,\n scrollToOffset: 0,\n scrollToOptions: { behavior: \"smooth\" }\n};\nconst router = (path, element, state = {}, options = defaultOptions) => {\n (0, import_utils.merge)(options, defaultOptions);\n lastLevel = options.lastLevel;\n const [pathname, hash] = path.split(\"#\");\n const rootNode = element.node;\n const route = getActiveRoute(pathname, options.level);\n const content = element.routes[route] || element.routes[\"/*\"];\n const scrollNode = options.scrollDocument ? import_globals.document.documentElement : rootNode;\n const hashChanged = hash && hash !== import_globals.window.location.hash.slice(1);\n const pathChanged = pathname !== lastPathname;\n lastPathname = pathname;\n if (content) {\n if (options.pushState)\n import_globals.window.history.pushState(state, null, route + (hash ? `#${hash}` : \"\"));\n if (pathChanged || !hashChanged) {\n element.set({ tag: options.useFragment && \"fragment\", extend: content });\n if (options.updateState) {\n element.state.update({ route, hash }, {\n preventContentUpdate: !options.stateContentUpdate\n });\n }\n }\n if (options.scrollToTop) {\n scrollNode.scrollTo({\n ...options.scrollToOptions || {},\n top: 0,\n left: 0\n });\n }\n if (options.scrollToNode) {\n content.content.node.scrollTo({\n ...options.scrollToOptions || {},\n top: 0,\n left: 0\n });\n }\n }\n if (hash) {\n const activeNode = import_globals.document.getElementById(hash);\n console.log(hash, activeNode);\n if (activeNode) {\n const top = activeNode.getBoundingClientRect().top + rootNode.scrollTop - options.scrollToOffset || 0;\n scrollNode.scrollTo({\n ...options.scrollToOptions || {},\n top,\n left: 0\n });\n }\n }\n};\nvar router_default = router;\n", "\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// ../../node_modules/@domql/globals/dist/cjs/index.js\nvar require_cjs = __commonJS({\n \"../../node_modules/@domql/globals/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var globals_exports = {};\n __export2(globals_exports, {\n document: () => document4,\n global: () => global,\n self: () => self,\n window: () => window3\n });\n module2.exports = __toCommonJS2(globals_exports);\n var global = globalThis;\n var self = globalThis;\n var window3 = globalThis;\n var document4 = window3.document;\n }\n});\n\n// ../../node_modules/@domql/key/dist/cjs/index.js\nvar require_cjs2 = __commonJS({\n \"../../node_modules/@domql/key/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var key_exports = {};\n __export2(key_exports, {\n createKey: () => createKey,\n createSnapshotId: () => createSnapshotId\n });\n module2.exports = __toCommonJS2(key_exports);\n var createKey = function() {\n let index = 0;\n function newId() {\n index++;\n return index;\n }\n return newId;\n }();\n var createSnapshotId = createKey;\n }\n});\n\n// ../../node_modules/@domql/tags/dist/cjs/htmlTags.js\nvar require_htmlTags = __commonJS({\n \"../../node_modules/@domql/tags/dist/cjs/htmlTags.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var htmlTags_exports = {};\n __export2(htmlTags_exports, {\n HTML_TAGS: () => HTML_TAGS\n });\n module2.exports = __toCommonJS2(htmlTags_exports);\n var HTML_TAGS = {\n root: [\n \"body\",\n \"html\"\n ],\n head: [\n \"title\",\n \"base\",\n \"meta\",\n \"style\"\n ],\n body: [\n \"string\",\n \"fragment\",\n \"a\",\n \"abbr\",\n \"acronym\",\n \"address\",\n \"applet\",\n \"area\",\n \"article\",\n \"aside\",\n \"audio\",\n \"b\",\n \"basefont\",\n \"bdi\",\n \"bdo\",\n \"big\",\n \"blockquote\",\n \"br\",\n \"button\",\n \"canvas\",\n \"caption\",\n \"center\",\n \"cite\",\n \"code\",\n \"col\",\n \"colgroup\",\n \"data\",\n \"datalist\",\n \"dd\",\n \"del\",\n \"details\",\n \"dfn\",\n \"dialog\",\n \"dir\",\n \"div\",\n \"dl\",\n \"dt\",\n \"em\",\n \"embed\",\n \"fieldset\",\n \"figcaption\",\n \"figure\",\n \"font\",\n \"footer\",\n \"form\",\n \"frame\",\n \"frameset\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\",\n \"head\",\n \"header\",\n \"hr\",\n \"i\",\n \"iframe\",\n \"img\",\n \"input\",\n \"ins\",\n \"kbd\",\n \"label\",\n \"legend\",\n \"li\",\n \"link\",\n \"main\",\n \"map\",\n \"mark\",\n \"meter\",\n \"nav\",\n \"noframes\",\n \"noscript\",\n \"object\",\n \"ol\",\n \"optgroup\",\n \"option\",\n \"output\",\n \"p\",\n \"param\",\n \"picture\",\n \"pre\",\n \"progress\",\n \"q\",\n \"rp\",\n \"rt\",\n \"ruby\",\n \"s\",\n \"samp\",\n \"script\",\n \"section\",\n \"select\",\n \"small\",\n \"source\",\n \"span\",\n \"strike\",\n \"strong\",\n \"sub\",\n \"summary\",\n \"sup\",\n \"table\",\n \"tbody\",\n \"td\",\n \"template\",\n \"textarea\",\n \"tfoot\",\n \"th\",\n \"thead\",\n \"time\",\n \"tr\",\n \"track\",\n \"tt\",\n \"u\",\n \"ul\",\n \"var\",\n \"video\",\n \"wbr\",\n // SVG\n \"svg\",\n \"path\"\n ]\n };\n }\n});\n\n// ../../node_modules/@domql/tags/dist/cjs/index.js\nvar require_cjs3 = __commonJS({\n \"../../node_modules/@domql/tags/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, \"default\"), secondTarget && __copyProps2(secondTarget, mod, \"default\"));\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var tags_exports = {};\n module2.exports = __toCommonJS2(tags_exports);\n __reExport(tags_exports, require_htmlTags(), module2.exports);\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/node.js\nvar require_node = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/node.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var node_exports = {};\n __export2(node_exports, {\n isHtmlElement: () => isHtmlElement,\n isNode: () => isNode\n });\n module2.exports = __toCommonJS2(node_exports);\n var import_globals3 = require_cjs();\n var isNode = (obj) => {\n return (typeof Node === \"object\" ? obj instanceof import_globals3.window.Node : obj && typeof obj === \"object\" && typeof obj.nodeType === \"number\" && typeof obj.nodeName === \"string\") || false;\n };\n var isHtmlElement = (obj) => {\n return (typeof HTMLElement === \"object\" ? obj instanceof import_globals3.window.HTMLElement : obj && typeof obj === \"object\" && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === \"string\") || false;\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/types.js\nvar require_types = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/types.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var types_exports = {};\n __export2(types_exports, {\n TYPES: () => TYPES,\n is: () => is,\n isArray: () => isArray6,\n isBoolean: () => isBoolean,\n isDefined: () => isDefined2,\n isFunction: () => isFunction2,\n isNot: () => isNot,\n isNull: () => isNull,\n isNumber: () => isNumber,\n isObject: () => isObject7,\n isObjectLike: () => isObjectLike3,\n isString: () => isString8,\n isUndefined: () => isUndefined,\n isValidHtmlTag: () => isValidHtmlTag\n });\n module2.exports = __toCommonJS2(types_exports);\n var import_tags = require_cjs3();\n var import_node = require_node();\n var isValidHtmlTag = (arg) => import_tags.HTML_TAGS.body.includes(arg);\n var isObject7 = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\" && arg.constructor === Object;\n };\n var isString8 = (arg) => typeof arg === \"string\";\n var isNumber = (arg) => typeof arg === \"number\";\n var isFunction2 = (arg) => typeof arg === \"function\";\n var isBoolean = (arg) => arg === true || arg === false;\n var isNull = (arg) => arg === null;\n var isArray6 = (arg) => Array.isArray(arg);\n var isObjectLike3 = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\";\n };\n var isDefined2 = (arg) => {\n return isObject7(arg) || isObjectLike3(arg) || isString8(arg) || isNumber(arg) || isFunction2(arg) || isArray6(arg) || isObjectLike3(arg) || isBoolean(arg) || isNull(arg);\n };\n var isUndefined = (arg) => {\n return arg === void 0;\n };\n var TYPES = {\n boolean: isBoolean,\n array: isArray6,\n object: isObject7,\n string: isString8,\n number: isNumber,\n null: isNull,\n function: isFunction2,\n objectLike: isObjectLike3,\n node: import_node.isNode,\n htmlElement: import_node.isHtmlElement,\n defined: isDefined2\n };\n var is = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length > 0;\n };\n };\n var isNot = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length === 0;\n };\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/array.js\nvar require_array = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/array.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var array_exports = {};\n __export2(array_exports, {\n arrayContainsOtherArray: () => arrayContainsOtherArray,\n joinArrays: () => joinArrays,\n mergeAndCloneIfArray: () => mergeAndCloneIfArray,\n mergeArray: () => mergeArray,\n removeFromArray: () => removeFromArray,\n swapItemsInArray: () => swapItemsInArray\n });\n module2.exports = __toCommonJS2(array_exports);\n var import_object = require_object();\n var import_types = require_types();\n var arrayContainsOtherArray = (arr1, arr2) => {\n return arr2.every((val) => arr1.includes(val));\n };\n var removeFromArray = (arr, index) => {\n if ((0, import_types.isString)(index))\n index = parseInt(index);\n if ((0, import_types.isNumber)(index)) {\n if (index < 0 || index >= arr.length || isNaN(index)) {\n throw new Error(\"Invalid index\");\n }\n arr.splice(index, 1);\n } else if ((0, import_types.isArray)(index)) {\n index.forEach((idx) => removeFromArray(arr, idx));\n } else {\n throw new Error(\"Invalid index\");\n }\n return arr;\n };\n var swapItemsInArray = (arr, i, j) => {\n [arr[i], arr[j]] = [arr[j], arr[i]];\n };\n var joinArrays = (...arrays) => {\n return [].concat(...arrays);\n };\n var mergeArray = (arr, excludeFrom = []) => {\n return arr.reduce((a, c) => (0, import_object.deepMerge)(a, (0, import_object.deepClone)(c, excludeFrom), excludeFrom), {});\n };\n var mergeAndCloneIfArray = (obj) => {\n return (0, import_types.isArray)(obj) ? mergeArray(obj) : (0, import_object.deepClone)(obj);\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/object.js\nvar require_object = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/object.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var object_exports = {};\n __export2(object_exports, {\n clone: () => clone,\n deepClone: () => deepClone2,\n deepCloneExclude: () => deepCloneExclude,\n deepDestringify: () => deepDestringify,\n deepMerge: () => deepMerge3,\n deepStringify: () => deepStringify,\n detachFunctionsFromObject: () => detachFunctionsFromObject,\n diff: () => diff,\n diffArrays: () => diffArrays,\n diffObjects: () => diffObjects,\n exec: () => exec,\n flattenRecursive: () => flattenRecursive,\n isEqualDeep: () => isEqualDeep,\n map: () => map,\n merge: () => merge5,\n mergeArrayExclude: () => mergeArrayExclude,\n mergeIfExisted: () => mergeIfExisted,\n overwrite: () => overwrite,\n overwriteDeep: () => overwriteDeep,\n overwriteShallow: () => overwriteShallow,\n removeFromObject: () => removeFromObject\n });\n module2.exports = __toCommonJS2(object_exports);\n var import_globals3 = require_cjs();\n var import_types = require_types();\n var import_array = require_array();\n var exec = (param, element, state, context) => {\n if ((0, import_types.isFunction)(param)) {\n return param(\n element,\n state || element.state,\n context || element.context\n );\n }\n return param;\n };\n var map = (obj, extention, element) => {\n for (const e in extention) {\n obj[e] = exec(extention[e], element);\n }\n };\n var merge5 = (element, obj, excludeFrom = []) => {\n for (const e in obj) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const objProp = obj[e];\n if (elementProp === void 0) {\n element[e] = objProp;\n }\n }\n return element;\n };\n var deepMerge3 = (element, extend, excludeFrom = []) => {\n for (const e in extend) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const extendProp = extend[e];\n if ((0, import_types.isObjectLike)(elementProp) && (0, import_types.isObjectLike)(extendProp)) {\n deepMerge3(elementProp, extendProp);\n } else if (elementProp === void 0) {\n element[e] = extendProp;\n }\n }\n return element;\n };\n var clone = (obj, excludeFrom = []) => {\n const o = {};\n for (const prop in obj) {\n if (excludeFrom.includes(prop) || prop.includes(\"__\"))\n continue;\n o[prop] = obj[prop];\n }\n return o;\n };\n var deepCloneExclude = (obj, excludeFrom = []) => {\n if ((0, import_types.isArray)(obj)) {\n return obj.map((x) => deepCloneExclude(x, excludeFrom));\n }\n const o = {};\n for (const k in obj) {\n if (excludeFrom.includes(k) || k.includes(\"__\"))\n continue;\n let v = obj[k];\n if (k === \"extend\" && (0, import_types.isArray)(v)) {\n v = mergeArrayExclude(v, excludeFrom);\n }\n if ((0, import_types.isArray)(v)) {\n o[k] = v.map((x) => deepCloneExclude(x, excludeFrom));\n } else if ((0, import_types.isObject)(v)) {\n o[k] = deepCloneExclude(v, excludeFrom);\n } else\n o[k] = v;\n }\n return o;\n };\n var mergeArrayExclude = (arr, excl = []) => {\n return arr.reduce((acc, curr) => deepMerge3(acc, deepCloneExclude(curr, excl)), {});\n };\n var deepClone2 = (obj, excludeFrom = []) => {\n const o = (0, import_types.isArray)(obj) ? [] : {};\n for (const prop in obj) {\n if (excludeFrom.includes(prop) || prop.includes(\"__\"))\n continue;\n let objProp = obj[prop];\n if (prop === \"extend\" && (0, import_types.isArray)(objProp)) {\n objProp = (0, import_array.mergeArray)(objProp);\n }\n if ((0, import_types.isObjectLike)(objProp)) {\n o[prop] = deepClone2(objProp, excludeFrom);\n } else\n o[prop] = objProp;\n }\n return o;\n };\n var deepStringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp)) {\n stringified[prop] = objProp.toString();\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = {};\n deepStringify(objProp, stringified[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isObject)(v)) {\n stringified[prop][i] = {};\n deepStringify(v, stringified[prop][i]);\n } else if ((0, import_types.isFunction)(v)) {\n stringified[prop][i] = v.toString();\n } else {\n stringified[prop][i] = v;\n }\n });\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n };\n var detachFunctionsFromObject = (obj, detached = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp))\n continue;\n else if ((0, import_types.isObject)(objProp)) {\n detached[prop] = {};\n deepStringify(objProp, detached[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n detached[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isFunction)(v))\n return;\n if ((0, import_types.isObject)(v)) {\n detached[prop][i] = {};\n detachFunctionsFromObject(v, detached[prop][i]);\n } else {\n detached[prop][i] = v;\n }\n });\n } else {\n detached[prop] = objProp;\n }\n }\n return detached;\n };\n var deepDestringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isString)(objProp)) {\n if (objProp.includes(\"=>\") || objProp.includes(\"function\") || objProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals3.window.eval(`(${objProp})`);\n stringified[prop] = evalProp;\n } catch (e) {\n if (e)\n stringified[prop] = objProp;\n }\n } else {\n stringified[prop] = objProp;\n }\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((arrProp) => {\n if ((0, import_types.isString)(arrProp)) {\n if (arrProp.includes(\"=>\") || arrProp.includes(\"function\") || arrProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals3.window.eval(`(${arrProp})`);\n stringified[prop].push(evalProp);\n } catch (e) {\n if (e)\n stringified[prop].push(arrProp);\n }\n } else {\n stringified[prop].push(arrProp);\n }\n } else if ((0, import_types.isObject)(arrProp)) {\n stringified[prop].push(deepDestringify(arrProp));\n } else {\n stringified[prop].push(arrProp);\n }\n });\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = deepDestringify(objProp, stringified[prop]);\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n };\n var diffObjects = (original, objToDiff, cache) => {\n for (const e in objToDiff) {\n if (e === \"ref\")\n continue;\n const originalProp = original[e];\n const objToDiffProp = objToDiff[e];\n if ((0, import_types.isObject)(originalProp) && (0, import_types.isObject)(objToDiffProp)) {\n cache[e] = {};\n diff(originalProp, objToDiffProp, cache[e]);\n } else if (objToDiffProp !== void 0) {\n cache[e] = objToDiffProp;\n }\n }\n return cache;\n };\n var diffArrays = (original, objToDiff, cache) => {\n if (original.length !== objToDiff.length) {\n cache = objToDiff;\n } else {\n const diffArr = [];\n for (let i = 0; i < original.length; i++) {\n const diffObj = diff(original[i], objToDiff[i]);\n if (Object.keys(diffObj).length > 0) {\n diffArr.push(diffObj);\n }\n }\n if (diffArr.length > 0) {\n cache = diffArr;\n }\n }\n return cache;\n };\n var diff = (original, objToDiff, cache = {}) => {\n if ((0, import_types.isArray)(original) && (0, import_types.isArray)(objToDiff)) {\n cache = [];\n diffArrays(original, objToDiff, cache);\n } else {\n diffObjects(original, objToDiff, cache);\n }\n return cache;\n };\n var overwrite = (element, params, excludeFrom = []) => {\n const { ref } = element;\n const changes = {};\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const paramsProp = params[e];\n if (paramsProp) {\n ref.__cache[e] = changes[e] = elementProp;\n ref[e] = paramsProp;\n }\n }\n return changes;\n };\n var overwriteShallow = (obj, params, excludeFrom = []) => {\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n obj[e] = params[e];\n }\n return obj;\n };\n var overwriteDeep = (obj, params, excludeFrom = []) => {\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const objProp = obj[e];\n const paramsProp = params[e];\n if ((0, import_types.isObjectLike)(objProp) && (0, import_types.isObjectLike)(paramsProp)) {\n overwriteDeep(objProp, paramsProp);\n } else if (paramsProp !== void 0) {\n obj[e] = paramsProp;\n }\n }\n return obj;\n };\n var mergeIfExisted = (a, b) => {\n if ((0, import_types.isObjectLike)(a) && (0, import_types.isObjectLike)(b))\n return deepMerge3(a, b);\n return a || b;\n };\n var flattenRecursive = (param, prop, stack = []) => {\n const objectized = (0, import_array.mergeAndCloneIfArray)(param);\n stack.push(objectized);\n const extendOfExtend = objectized[prop];\n if (extendOfExtend)\n flattenRecursive(extendOfExtend, prop, stack);\n delete objectized[prop];\n return stack;\n };\n var isEqualDeep = (param, element) => {\n if (param === element)\n return true;\n if (!param || !element)\n return false;\n for (const prop in param) {\n const paramProp = param[prop];\n const elementProp = element[prop];\n if ((0, import_types.isObjectLike)(paramProp)) {\n const isEqual = isEqualDeep(paramProp, elementProp);\n if (!isEqual)\n return false;\n } else {\n const isEqual = paramProp === elementProp;\n if (!isEqual)\n return false;\n }\n }\n return true;\n };\n var removeFromObject = (obj, props) => {\n if (props === void 0 || props === null)\n return obj;\n if ((0, import_types.is)(props)(\"string\", \"number\")) {\n delete obj[props];\n } else if ((0, import_types.isArray)(props)) {\n props.forEach((prop) => delete obj[prop]);\n } else {\n throw new Error(\"Invalid input: props must be a string or an array of strings\");\n }\n return obj;\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/function.js\nvar require_function = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/function.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var function_exports = {};\n __export2(function_exports, {\n debounce: () => debounce,\n memoize: () => memoize\n });\n module2.exports = __toCommonJS2(function_exports);\n var debounce = (element, func, timeout = 300) => {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(element, args);\n }, timeout);\n };\n };\n var memoize = (fn) => {\n const cache = {};\n return (...args) => {\n const n = args[0];\n if (n in cache) {\n return cache[n];\n } else {\n const result = fn(n);\n cache[n] = result;\n return result;\n }\n };\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/log.js\nvar require_log = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/log.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var log_exports = {};\n __export2(log_exports, {\n logGroupIf: () => logGroupIf,\n logIf: () => logIf\n });\n module2.exports = __toCommonJS2(log_exports);\n var logIf = (bool, ...arg) => {\n if (bool)\n arg.map((v) => console.log(v));\n };\n var logGroupIf = (bool, key, ...arg) => {\n if (bool) {\n console.group(key);\n arg.map((v) => console.log(v));\n console.groupEnd(key);\n }\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/index.js\nvar require_cjs4 = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, \"default\"), secondTarget && __copyProps2(secondTarget, mod, \"default\"));\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var utils_exports2 = {};\n module2.exports = __toCommonJS2(utils_exports2);\n __reExport(utils_exports2, require_cjs2(), module2.exports);\n __reExport(utils_exports2, require_types(), module2.exports);\n __reExport(utils_exports2, require_object(), module2.exports);\n __reExport(utils_exports2, require_function(), module2.exports);\n __reExport(utils_exports2, require_array(), module2.exports);\n __reExport(utils_exports2, require_node(), module2.exports);\n __reExport(utils_exports2, require_log(), module2.exports);\n }\n});\n\n// src/index.js\nvar src_exports = {};\n__export(src_exports, {\n ANIMATION: () => ANIMATION,\n BREAKPOINTS: () => BREAKPOINTS,\n CASES: () => CASES,\n COLOR: () => COLOR,\n CONFIG: () => CONFIG,\n CSS_VARS: () => CSS_VARS,\n DEVICES: () => DEVICES,\n DOCUMENT: () => DOCUMENT,\n FACTORY: () => FACTORY,\n FONT: () => FONT,\n FONT_FACE: () => FONT_FACE,\n FONT_FAMILY: () => FONT_FAMILY,\n FONT_FAMILY_TYPES: () => FONT_FAMILY_TYPES,\n GRADIENT: () => GRADIENT,\n ICONS: () => ICONS,\n MEDIA: () => MEDIA,\n RESET: () => RESET,\n SEQUENCE: () => SEQUENCE,\n SPACING: () => SPACING,\n SVG: () => SVG,\n SVG_DATA: () => SVG_DATA,\n THEME: () => THEME,\n TIMING: () => TIMING,\n TYPOGRAPHY: () => TYPOGRAPHY,\n UNIT: () => UNIT,\n VALUE_TRANSFORMERS: () => VALUE_TRANSFORMERS,\n activateConfig: () => activateConfig,\n appendIconsSprite: () => appendIconsSprite,\n appendSVGSprite: () => appendSVGSprite,\n applyDocument: () => applyDocument,\n applyHeadings: () => applyHeadings,\n applyReset: () => applyReset,\n applySequenceVars: () => applySequenceVars,\n applySpacingSequence: () => applySpacingSequence,\n applyTimingSequence: () => applyTimingSequence,\n applyTypographySequence: () => applyTypographySequence,\n changeLightness: () => changeLightness,\n colorStringToRgbaArray: () => colorStringToRgbaArray,\n convertSvgToSymbol: () => convertSvgToSymbol,\n findHeadingLetter: () => findHeadingLetter,\n findHeadings: () => findHeadings,\n generateSequence: () => generateSequence,\n generateSprite: () => generateSprite,\n generateSubSequence: () => generateSubSequence,\n getActiveConfig: () => getActiveConfig,\n getColor: () => getColor,\n getColorShade: () => getColorShade,\n getDefaultOrFirstKey: () => getDefaultOrFirstKey,\n getFontFace: () => getFontFace,\n getFontFaceEach: () => getFontFaceEach,\n getFontFaceEachString: () => getFontFaceEachString,\n getFontFaceString: () => getFontFaceString,\n getFontFamily: () => getFontFamily,\n getFontFormat: () => getFontFormat,\n getFontSizeByKey: () => getFontSizeByKey,\n getMediaColor: () => getMediaColor,\n getMediaTheme: () => getMediaTheme,\n getSequenceValue: () => getSequenceValue,\n getSequenceValuePropertyPair: () => getSequenceValuePropertyPair,\n getSpacingBasedOnRatio: () => getSpacingBasedOnRatio,\n getSpacingByKey: () => getSpacingByKey,\n getTheme: () => getTheme,\n getTimingByKey: () => getTimingByKey,\n getTimingFunction: () => getTimingFunction,\n hexToRgb: () => hexToRgb,\n hexToRgbArray: () => hexToRgbArray,\n hexToRgba: () => hexToRgba,\n hslToRgb: () => hslToRgb,\n mixTwoColors: () => mixTwoColors,\n mixTwoRgb: () => mixTwoRgb,\n mixTwoRgba: () => mixTwoRgba,\n numToLetterMap: () => numToLetterMap,\n opacify: () => opacify,\n returnSubThemeOrDefault: () => returnSubThemeOrDefault,\n rgbArrayToHex: () => rgbArrayToHex,\n rgbToHSL: () => rgbToHSL,\n rgbToHex: () => rgbToHex,\n runThroughMedia: () => runThroughMedia,\n scratchSystem: () => system_exports,\n scratchUtils: () => utils_exports,\n set: () => set,\n setActiveConfig: () => setActiveConfig,\n setColor: () => setColor,\n setCustomFont: () => setCustomFont,\n setCustomFontMedia: () => setCustomFontMedia,\n setEach: () => setEach,\n setFont: () => setFont,\n setFontFamily: () => setFontFamily,\n setGradient: () => setGradient,\n setIcon: () => setIcon,\n setInCustomFontMedia: () => setInCustomFontMedia,\n setMediaTheme: () => setMediaTheme,\n setSVG: () => setSVG,\n setTheme: () => setTheme,\n setValue: () => setValue,\n setVariables: () => setVariables,\n splitTransition: () => splitTransition,\n transformBackgroundImage: () => transformBackgroundImage,\n transformBorder: () => transformBorder,\n transformDuration: () => transformDuration,\n transformShadow: () => transformShadow,\n transformTextStroke: () => transformTextStroke,\n transformTransition: () => transformTransition,\n transfromGap: () => transfromGap\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/utils/index.js\nvar utils_exports = {};\n__export(utils_exports, {\n applySequenceVars: () => applySequenceVars,\n changeLightness: () => changeLightness,\n colorStringToRgbaArray: () => colorStringToRgbaArray,\n convertSvgToSymbol: () => convertSvgToSymbol,\n findHeadingLetter: () => findHeadingLetter,\n findHeadings: () => findHeadings,\n generateSequence: () => generateSequence,\n generateSprite: () => generateSprite,\n generateSubSequence: () => generateSubSequence,\n getColorShade: () => getColorShade,\n getDefaultOrFirstKey: () => getDefaultOrFirstKey,\n getFontFace: () => getFontFace,\n getFontFaceEach: () => getFontFaceEach,\n getFontFaceEachString: () => getFontFaceEachString,\n getFontFaceString: () => getFontFaceString,\n getFontFormat: () => getFontFormat,\n getSequenceValue: () => getSequenceValue,\n getSequenceValuePropertyPair: () => getSequenceValuePropertyPair,\n hexToRgb: () => hexToRgb,\n hexToRgbArray: () => hexToRgbArray,\n hexToRgba: () => hexToRgba,\n hslToRgb: () => hslToRgb,\n mixTwoColors: () => mixTwoColors,\n mixTwoRgb: () => mixTwoRgb,\n mixTwoRgba: () => mixTwoRgba,\n numToLetterMap: () => numToLetterMap,\n opacify: () => opacify,\n returnSubThemeOrDefault: () => returnSubThemeOrDefault,\n rgbArrayToHex: () => rgbArrayToHex,\n rgbToHSL: () => rgbToHSL,\n rgbToHex: () => rgbToHex,\n setCustomFont: () => setCustomFont,\n setCustomFontMedia: () => setCustomFontMedia,\n setInCustomFontMedia: () => setInCustomFontMedia,\n setVariables: () => setVariables\n});\n\n// src/utils/color.js\nvar import_globals = __toESM(require_cjs(), 1);\nvar ENV = \"development\";\nvar colorStringToRgbaArray = (color) => {\n if (color === \"\")\n return;\n if (color.toLowerCase() === \"transparent\")\n return [0, 0, 0, 0];\n if (color[0] === \"#\") {\n if (color.length < 7) {\n color = \"#\" + color[1] + color[1] + color[2] + color[2] + color[3] + color[3] + (color.length > 4 ? color[4] + color[4] : \"\");\n }\n return [\n parseInt(color.substr(1, 2), 16),\n parseInt(color.substr(3, 2), 16),\n parseInt(color.substr(5, 2), 16),\n color.length > 7 ? parseInt(color.substr(7, 2), 16) / 255 : 1\n ];\n }\n if (color.indexOf(\"rgb\") === -1) {\n if (import_globals.document && import_globals.window) {\n const elem = import_globals.document.body.appendChild(import_globals.document.createElement(\"fictum\"));\n const flag = \"rgb(1, 2, 3)\";\n elem.style.color = flag;\n if (elem.style.color !== flag)\n return;\n elem.style.color = color;\n if (elem.style.color === flag || elem.style.color === \"\")\n return;\n color = import_globals.window.getComputedStyle(elem).color;\n import_globals.document.body.removeChild(elem);\n }\n }\n if (color.indexOf(\"rgb\") === 0) {\n if (color.indexOf(\"rgba\") === -1)\n color = `${color}, 1`;\n return color.match(/[\\.\\d]+/g).map((a) => +a);\n }\n return [];\n};\nvar mixTwoColors = (colorA, colorB, range = 0.5) => {\n colorA = colorStringToRgbaArray(colorA);\n colorB = colorStringToRgbaArray(colorB);\n return mixTwoRgba(colorA, colorB, range);\n};\nvar hexToRgb = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return `rgb(${r},${g},${b})`;\n};\nvar hexToRgbArray = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return [r, g, b];\n};\nvar rgbToHex = (r, g, b) => {\n return \"#\" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n};\nvar rgbArrayToHex = ([r, g, b]) => {\n return ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n};\nvar hexToRgba = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return `rgba(${r},${g},${b},${alpha})`;\n};\nvar mixTwoRgb = (colorA, colorB, range = 0.5) => {\n const arr = [];\n for (let i = 0; i < 3; i++) {\n arr[i] = ~~(colorA[i] + (colorB[i] - colorA[i]) * range);\n }\n return `rgb(${arr})`;\n};\nvar changeLightness = (delta, hsl) => {\n const [hue, saturation, lightness] = hsl;\n const newLightness = Math.max(\n 0,\n Math.min(100, lightness + parseFloat(delta))\n );\n return [hue, saturation, newLightness];\n};\nvar rgbToHSL = (r, g, b) => {\n const a = Math.max(r, g, b);\n const n = a - Math.min(r, g, b);\n const f = 1 - Math.abs(a + a - n - 1);\n const h = n && (a == r ? (g - b) / n : a == g ? 2 + (b - r) / n : 4 + (r - g) / n);\n return [60 * (h < 0 ? h + 6 : h), f ? n / f : 0, (a + a - n) / 2];\n};\nvar hslToRgb = (h, s, l, a = s * Math.min(l, 1 - l), f = (n, k = (n + h / 30) % 12) => l - a * Math.max(\n Math.min(k - 3, 9 - k, 1),\n -1\n)) => [f(0), f(8), f(4)];\nvar getColorShade = (col, amt) => {\n const num = parseInt(col, 16);\n let r = (num >> 16) + amt;\n if (r > 255)\n r = 255;\n else if (r < 0)\n r = 0;\n let b = (num >> 8 & 255) + amt;\n if (b > 255)\n b = 255;\n else if (b < 0)\n b = 0;\n let g = (num & 255) + amt;\n if (g > 255)\n g = 255;\n else if (g < 0)\n g = 0;\n return (g | b << 8 | r << 16).toString(16);\n};\nvar mixTwoRgba = (colorA, colorB, range = 0.5) => {\n const arr = [];\n for (let i = 0; i < 4; i++) {\n const round = i === 3 ? (x) => x : Math.round;\n arr[i] = round(\n colorA[i] + (colorB[i] - colorA[i]) * range\n );\n }\n return `rgba(${arr})`;\n};\nvar opacify = (color, opacity) => {\n const arr = colorStringToRgbaArray(color);\n if (!arr) {\n if (ENV === \"test\" || ENV === \"development\")\n console.warn(color + \"color is not rgba\");\n return;\n }\n arr[3] = opacity;\n return `rgba(${arr})`;\n};\n\n// src/utils/theme.js\nvar returnSubThemeOrDefault = (orig, theme) => {\n if (!orig)\n return;\n if (orig.themes && orig.themes[theme])\n return orig.themes[theme];\n if (orig[theme])\n return [orig, orig[theme]];\n return orig;\n};\n\n// src/utils/font.js\nvar getDefaultOrFirstKey = (LIBRARY, key) => {\n if (LIBRARY[key])\n return LIBRARY[key].value;\n if (LIBRARY.default)\n return LIBRARY[LIBRARY.default].value;\n const hasValue = Object.keys(LIBRARY)[0];\n return hasValue && LIBRARY[hasValue] && LIBRARY[hasValue].value;\n};\nvar getFontFormat = (url) => url.split(/[#?]/)[0].split(\".\").pop().trim();\nvar setInCustomFontMedia = (str) => `@font-face { ${str} }`;\nvar setCustomFont = (name, url, weight) => `\n font-family: '${name}';\n font-style: normal;\n ${weight && `font-weight: ${weight};`}\n src: url('${url}') format('${getFontFormat(url)}');`;\nvar setCustomFontMedia = (name, url, weight) => `@font-face {\n ${setCustomFont(name, url, weight)}\n}`;\nvar getFontFaceEach = (name, weights) => {\n const keys = Object.keys(weights);\n return keys.map((key) => {\n const { url, fontWeight } = weights[key];\n return setCustomFont(name, url, fontWeight);\n });\n};\nvar getFontFace = (LIBRARY) => {\n const keys = Object.keys(LIBRARY);\n return keys.map((key) => getFontFaceEach(key, LIBRARY[key].value));\n};\nvar getFontFaceEachString = (name, weights) => {\n const isArr = weights[0];\n if (isArr)\n return getFontFaceEach(name, weights).map(setInCustomFontMedia);\n return setCustomFontMedia(name, weights.url);\n};\nvar getFontFaceString = (LIBRARY) => {\n const keys = Object.keys(LIBRARY);\n return keys.map((key) => getFontFaceEachString(key, LIBRARY[key].value));\n};\n\n// src/utils/sequence.js\nvar import_utils4 = __toESM(require_cjs4(), 1);\n\n// ../utils/src/index.js\nvar import_utils2 = __toESM(require_cjs4());\n\n// ../utils/src/scaling.js\nvar import_utils = __toESM(require_cjs4());\n\n// ../utils/src/index.js\nvar toCamelCase = (str) => {\n return str.replace(/(?:^\\w|[A-Z]|\\b\\w)/g, function(word, index) {\n return index === 0 ? word.toLowerCase() : word.toUpperCase();\n }).replaceAll(/\\s+/g, \"\");\n};\nvar toDashCase = (val) => val.replace(/[A-Z]/g, (match, offset) => (offset > 0 ? \"-\" : \"\") + match.toLowerCase()).replace(\".\", \"-\");\nvar arrayzeValue = (val) => {\n if ((0, import_utils2.isString)(val))\n return val.split(\" \");\n if ((0, import_utils2.isObject)(val))\n return Object.keys(val).map((v) => val[v]);\n if ((0, import_utils2.isArray)(val))\n return val;\n};\n\n// src/factory.js\nvar import_utils3 = __toESM(require_cjs4(), 1);\n\n// src/defaultConfig/index.js\nvar defaultConfig_exports = {};\n__export(defaultConfig_exports, {\n ANIMATION: () => ANIMATION,\n BREAKPOINTS: () => BREAKPOINTS,\n CASES: () => CASES,\n COLOR: () => COLOR,\n DEVICES: () => DEVICES,\n DOCUMENT: () => DOCUMENT,\n FONT: () => FONT,\n FONT_FACE: () => FONT_FACE,\n FONT_FAMILY: () => FONT_FAMILY,\n FONT_FAMILY_TYPES: () => FONT_FAMILY_TYPES,\n GRADIENT: () => GRADIENT,\n ICONS: () => ICONS,\n MEDIA: () => MEDIA,\n RESET: () => RESET,\n SEQUENCE: () => SEQUENCE,\n SPACING: () => SPACING,\n SVG: () => SVG,\n SVG_DATA: () => SVG_DATA,\n THEME: () => THEME,\n TIMING: () => TIMING,\n TYPOGRAPHY: () => TYPOGRAPHY,\n UNIT: () => UNIT\n});\n\n// src/defaultConfig/sequence.js\nvar SEQUENCE = {\n \"minor-second\": 1.067,\n \"major-second\": 1.125,\n \"minor-third\": 1.2,\n \"major-third\": 1.25,\n \"perfect-fourth\": 1.333,\n \"augmented-fourth\": 1.414,\n \"perfect-fifth\": 1.5,\n \"minor-sixth\": 1.6,\n phi: 1.618,\n // golden-ratio\n \"major-sixth\": 1.667,\n \"square-root-3\": 1.732,\n // theodorus\n \"minor-seventh\": 1.778,\n \"major-seventh\": 1.875,\n octave: 2,\n \"square-root-5\": 2.23,\n // pythagoras\n \"major-tenth\": 2.5,\n \"major-eleventh\": 2.667,\n \"major-twelfth\": 3,\n pi: 3.14,\n // archimedes\n \"double-octave\": 4\n};\n\n// src/defaultConfig/unit.js\nvar UNIT = {\n default: \"em\"\n};\n\n// src/defaultConfig/typography.js\nvar defaultProps = {\n browserDefault: 16,\n base: 16,\n type: \"font-size\",\n ratio: SEQUENCE[\"minor-third\"],\n range: [-3, 12],\n h1Matches: 6,\n lineHeight: 1.5,\n subSequence: true,\n unit: \"em\",\n templates: {},\n sequence: {},\n scales: {},\n vars: {}\n};\nvar TYPOGRAPHY = defaultProps;\n\n// src/defaultConfig/font.js\nvar FONT = {};\n\n// src/defaultConfig/font-family.js\nvar FONT_FAMILY = {};\nvar FONT_FAMILY_TYPES = {\n \"sans-serif\": \"Helvetica, Arial, sans-serif, --system-default\",\n serif: \"Times New Roman, Georgia, serif, --system-default\",\n monospace: \"Courier New, monospace, --system-default\"\n};\nvar FONT_FACE = {};\n\n// src/defaultConfig/media.js\nvar MEDIA = {\n tv: \"(min-width: 2780px)\",\n screenL: \"(max-width: 1920px)\",\n \"screenL<\": \"(min-width: 1920px)\",\n screenM: \"(max-width: 1680px)\",\n \"screenM<\": \"(min-width: 1680px)\",\n screenS: \"(max-width: 1440px)\",\n \"screenS<\": \"(min-width: 1440px)\",\n tabletL: \"(max-width: 1366px)\",\n \"tabletL<\": \"(min-width: 1366px)\",\n tabletM: \"(max-width: 1280px)\",\n \"tabletM<\": \"(min-width: 1280px)\",\n tabletS: \"(max-width: 1024px)\",\n \"tabletS<\": \"(min-width: 1024px)\",\n mobileL: \"(max-width: 768px)\",\n \"mobileL<\": \"(min-width: 768px)\",\n mobileM: \"(max-width: 560px)\",\n \"mobileM<\": \"(min-width: 560px)\",\n mobileS: \"(max-width: 480px)\",\n \"mobileS<\": \"(min-width: 480px)\",\n mobileXS: \"(max-width: 375px)\",\n \"mobileXS<\": \"(min-width: 375px)\",\n light: \"(prefers-color-scheme: light)\",\n dark: \"(prefers-color-scheme: dark)\",\n print: \"print\"\n};\n\n// src/defaultConfig/spacing.js\nvar defaultProps2 = {\n base: TYPOGRAPHY.base,\n type: \"spacing\",\n ratio: SEQUENCE.phi,\n range: [-5, 15],\n subSequence: true,\n unit: \"em\",\n sequence: {},\n scales: {},\n vars: {}\n};\nvar SPACING = defaultProps2;\n\n// src/defaultConfig/color.js\nvar COLOR = {};\nvar GRADIENT = {};\n\n// src/defaultConfig/theme.js\nvar THEME = {};\n\n// src/defaultConfig/icons.js\nvar ICONS = {};\n\n// src/defaultConfig/timing.js\nvar defaultProps3 = {\n default: 150,\n base: 150,\n type: \"timing\",\n ratio: SEQUENCE[\"perfect-fourth\"],\n range: [-3, 12],\n unit: \"ms\",\n sequence: {},\n scales: {},\n vars: {}\n};\nvar TIMING = defaultProps3;\n\n// src/defaultConfig/document.js\nvar DOCUMENT = {};\n\n// src/defaultConfig/responsive.js\nvar BREAKPOINTS = {\n screenL: 1920,\n screenM: 1680,\n screenS: 1440,\n tabletL: 1366,\n tabletM: 1280,\n tabletS: 1024,\n mobileL: 768,\n mobileM: 560,\n mobileS: 480,\n mobileXS: 375\n};\nvar DEVICES = {\n screenL: [1920, 1024],\n screenM: [1680, 1024],\n screenS: [1440, 978],\n tabletL: [1366, 926],\n tabletM: [1280, 768],\n tabletS: [1024, 768],\n mobileL: [768, 375],\n mobileM: [560, 768],\n mobileS: [480, 768],\n mobileXS: [375, 768]\n};\n\n// src/defaultConfig/cases.js\nvar CASES = {};\n\n// src/defaultConfig/animation.js\nvar ANIMATION = {};\n\n// src/defaultConfig/svg.js\nvar SVG = {};\nvar SVG_DATA = {};\n\n// src/defaultConfig/index.js\nvar RESET = {};\n\n// src/factory.js\nvar CSS_VARS = {};\nvar CONFIG = {\n verbose: false,\n useVariable: true,\n useReset: true,\n CSS_VARS,\n ...defaultConfig_exports\n};\nvar cachedConfig = (0, import_utils3.deepClone)(CONFIG);\nvar FACTORY = {\n active: \"0\",\n 0: CONFIG\n};\nvar activateConfig = (def) => {\n if ((0, import_utils3.isDefined)(def)) {\n FACTORY.active = def;\n }\n return FACTORY[def || FACTORY.active];\n};\nvar getActiveConfig = (def) => {\n return FACTORY[def || FACTORY.active];\n};\nvar setActiveConfig = (newConfig) => {\n if (!(0, import_utils3.isObject)(newConfig))\n return;\n FACTORY.active = \"1\";\n FACTORY[\"1\"] = (0, import_utils3.deepMerge)(newConfig, (0, import_utils3.deepClone)(cachedConfig));\n return newConfig;\n};\n\n// src/utils/sequence.js\nvar numToLetterMap = {\n \"-6\": \"U\",\n \"-5\": \"V\",\n \"-4\": \"W\",\n \"-3\": \"X\",\n \"-2\": \"Y\",\n \"-1\": \"Z\",\n 0: \"A\",\n 1: \"B\",\n 2: \"C\",\n 3: \"D\",\n 4: \"E\",\n 5: \"F\",\n 6: \"G\",\n 7: \"H\",\n 8: \"I\",\n 9: \"J\",\n 10: \"K\",\n 11: \"L\",\n 12: \"M\",\n 13: \"N\",\n 14: \"O\",\n 15: \"P\",\n 16: \"Q\",\n 17: \"R\",\n 18: \"S\",\n 19: \"T\"\n};\nvar setSequenceValue = (props, sequenceProps) => {\n const { key, variable, value, scaling, index } = props;\n sequenceProps.sequence[key] = {\n key,\n decimal: ~~(value * 100) / 100,\n val: ~~value,\n scaling,\n index,\n variable\n };\n sequenceProps.scales[key] = scaling;\n sequenceProps.vars[variable] = scaling + sequenceProps.unit;\n};\nvar generateSubSequence = (props, sequenceProps) => {\n const { key, base, value, ratio, variable, index } = props;\n const next = value * ratio;\n const diff = next - value;\n const smallscale = diff / 1.618;\n const valueRounded = ~~value;\n const nextRounded = ~~next;\n const diffRounded = nextRounded - valueRounded;\n let arr = [];\n const first = next - smallscale;\n const second = value + smallscale;\n const middle = (first + second) / 2;\n if (diffRounded > 16)\n arr = [first, middle, second];\n else\n arr = [first, second];\n arr.map((v, k) => {\n const scaling = ~~(v / base * 1e3) / 1e3;\n const newVar = variable + (k + 1);\n const props2 = {\n key: key + (k + 1),\n variable: newVar,\n value: v,\n scaling,\n index: index + (k + 1) / 10\n };\n return setSequenceValue(props2, sequenceProps);\n });\n};\nvar switchSequenceOnNegative = (key, base, ratio) => {\n return base * Math.pow(ratio, key);\n};\nvar generateSequence = (sequenceProps) => {\n const { type, base, ratio, range, subSequence } = sequenceProps;\n const n = Math.abs(range[0]) + Math.abs(range[1]);\n const prefix = \"--\" + (type && type.replace(\".\", \"-\")) + \"-\";\n for (let i = 0; i <= n; i++) {\n const key = range[1] - i;\n const letterKey = numToLetterMap[key];\n const value = switchSequenceOnNegative(key, base, ratio);\n const scaling = ~~(value / base * 100) / 100;\n const variable = prefix + letterKey;\n const props = {\n key: letterKey,\n variable,\n value,\n base,\n scaling,\n ratio,\n index: key\n };\n setSequenceValue(props, sequenceProps);\n if (subSequence)\n generateSubSequence(props, sequenceProps);\n }\n return sequenceProps;\n};\nvar getSequenceValue = (value = \"A\", sequenceProps) => {\n const CONFIG2 = getActiveConfig();\n const { UNIT: UNIT2 } = CONFIG2;\n const {\n sequence,\n unit = UNIT2.default,\n useVariable\n } = sequenceProps;\n if ((0, import_utils4.isString)(value) && value.slice(0, 2) === \"--\")\n return `var(${value})`;\n const prefix = `--${toDashCase(sequenceProps.type.replace(\".\", \"-\"))}-`;\n const startsWithDashOrLetterRegex = /^-?[a-zA-Z]/i;\n const startsWithDashOrLetter = startsWithDashOrLetterRegex.test(value);\n if (value === \"none\" || value === \"auto\" || value === \"unset\" || value === \"inherit\" || value === \"fit-content\" || value === \"min-content\" || value === \"max-content\" || value.includes(\"calc\") || !startsWithDashOrLetter)\n return value;\n const letterVal = value.toUpperCase();\n const isNegative = letterVal.slice(0, 1) === \"-\" ? \"-\" : \"\";\n let absValue = isNegative ? letterVal.slice(1) : letterVal;\n let mediaName = \"\";\n if (absValue.includes(\"-\")) {\n mediaName = \"-\" + absValue.split(\"-\")[1].toLowerCase();\n absValue = absValue.split(\"-\")[0];\n }\n const varValue = (v) => `var(${prefix}${v}${mediaName})`;\n if (absValue.includes(\"+\")) {\n const args = absValue.split(\"+\");\n const [first, second] = args;\n const joint = `${varValue(first)} + ${varValue(second)}`;\n return isNegative ? `calc((${joint}) * -1)` : `calc(${joint})`;\n } else if (absValue.includes(\"-\")) {\n const args = absValue.split(\"-\");\n const [first, second] = args;\n const joint = `${varValue(first)} - ${varValue(second)}`;\n return isNegative ? `calc((${joint}) * -1)` : `calc(${joint})`;\n }\n if (!sequence[absValue] && absValue.length === 2) {\n if (CONFIG2.verbose)\n console.warn(absValue, \"- value is not found because `subSequence` is set to false\");\n absValue = absValue.slice(0, 1);\n }\n if (useVariable || CONFIG2.useVariable) {\n const varValue2 = `var(${prefix}${absValue}${mediaName})`;\n return isNegative ? `calc(${varValue2} * -1)` : varValue2;\n }\n const sequenceItem = sequence ? sequence[absValue] : null;\n if (!sequenceItem)\n return console.warn(\"can't find\", sequence, absValue);\n if (unit === \"ms\" || unit === \"s\") {\n return isNegative + sequenceItem.val + unit;\n }\n return isNegative + sequenceItem.scaling + unit;\n};\nvar getSequenceValuePropertyPair = (value, propertyName, sequenceProps) => {\n if (typeof value !== \"string\") {\n console.warn(propertyName, value, \"is not a string\");\n return {};\n }\n if (value === \"-\" || value === \"\")\n return {};\n return { [propertyName]: getSequenceValue(value, sequenceProps) };\n};\nvar findHeadingLetter = (h1Matches, index) => numToLetterMap[h1Matches - index];\nvar findHeadings = (propertyNames) => {\n const { h1Matches, sequence } = propertyNames;\n return new Array(6).fill(null).map((_, i) => {\n const findLetter = findHeadingLetter(h1Matches, i);\n return sequence[findLetter];\n });\n};\n\n// src/utils/var.js\nvar import_utils6 = __toESM(require_cjs4(), 1);\nvar setVariables = (result, key) => {\n const CONFIG2 = getActiveConfig();\n const { CSS_VARS: CSS_VARS2 } = CONFIG2;\n if ((0, import_utils6.isObjectLike)(result.value)) {\n } else {\n CSS_VARS2[result.var] = result.value;\n }\n};\nvar applySequenceVars = (props, mediaName, options = {}) => {\n const CONFIG2 = getActiveConfig();\n const { UNIT: UNIT2, MEDIA: MEDIA2, TIMING: TIMING2, CSS_VARS: CSS_VARS2 } = CONFIG2;\n const unit = props.unit || UNIT2.default;\n const { sequence, scales } = props;\n for (const key in sequence) {\n const item = sequence[key];\n const value = (props.type === TIMING2.type ? sequence[key].val : scales[key]) + unit;\n if (mediaName) {\n const query = MEDIA2[mediaName];\n if (!query) {\n if (CONFIG2.verbose)\n console.warn(\"Can't find query \", query);\n }\n let underMediaQuery = CSS_VARS2[`@media ${query}`];\n if (!underMediaQuery)\n underMediaQuery = CSS_VARS2[`@media ${query}`] = {};\n underMediaQuery[item.variable] = `var(${item.variable + \"-\" + mediaName})`;\n CSS_VARS2[item.variable + \"-\" + mediaName] = value;\n } else {\n if (options.useDefault === false) {\n CSS_VARS2[item.variable] = value;\n } else {\n CSS_VARS2[item.variable + \"-default\"] = value;\n CSS_VARS2[item.variable] = `var(${item.variable + \"-default\"})`;\n }\n }\n }\n};\n\n// src/utils/sprite.js\nvar import_utils7 = __toESM(require_cjs4(), 1);\nvar generateSprite = (icons) => {\n const CONFIG2 = getActiveConfig();\n let sprite = \"\";\n for (const key in icons) {\n if (CONFIG2.__svg_cache[key])\n continue;\n else\n CONFIG2.__svg_cache[key] = true;\n sprite += icons[key];\n }\n return sprite;\n};\nvar parseRootAttributes = (htmlString) => {\n if (!(0, import_utils7.isString)(htmlString)) {\n return console.warn(`parseRootAttributes: ${htmlString} is not a string`);\n }\n const match = htmlString.match(/<svg\\s+(.*?)>/);\n if (!match || !match[1]) {\n return {};\n }\n const attrString = match[1];\n const attrs = attrString.match(/(\\S+)=[\"']?((?:.(?![\"']?\\s+(?:\\S+)=|\\s*\\/?[>\"']))+.)[\"']?/gm);\n return attrs.reduce((acc, attr) => {\n const [key, value] = attr.split(\"=\");\n acc[key] = value.replace(/['\"]/g, \"\");\n return acc;\n }, {});\n};\nvar replaceIdsAndUrls = (code, key) => {\n const idRegex = /id=\"([^\"]*)\"/;\n const urlRegex = /url\\(#([^)]*)\\)/g;\n const matches = code.match(/id=\"([^\"]*)\"/g);\n let replacedCode = code;\n if ((0, import_utils7.isArray)(matches)) {\n matches.forEach(() => {\n const randomKey = Math.floor(Math.random() * 1e5);\n replacedCode = code.replace(idRegex, `id=\"${key}-${randomKey}\"`).replace(urlRegex, `url(#${key}-${randomKey})`);\n });\n }\n return replacedCode;\n};\nvar convertSvgToSymbol = (key, code) => {\n const extractAttrs = parseRootAttributes(code);\n const { width, height } = extractAttrs;\n const viewBox = extractAttrs.viewBox || `0 0 ${width || 24} ${height || 24}`;\n const xmlns = \"http://www.w3.org/2000/svg\";\n const replacedCode = replaceIdsAndUrls(code, key);\n let symbol = replacedCode.replace(\n \"<svg\",\n `<symbol id=\"${key}\" xmlns=\"${xmlns}\" viewBox=\"${viewBox}\"`\n );\n symbol = symbol.replace(/width=\"[^\"]*\"/, \"\");\n symbol = symbol.replace(/height=\"[^\"]*\"/, \"\");\n symbol = symbol.replace(\"</svg\", \"</symbol\");\n return symbol;\n};\n\n// src/system/index.js\nvar system_exports = {};\n__export(system_exports, {\n appendIconsSprite: () => appendIconsSprite,\n appendSVGSprite: () => appendSVGSprite,\n applyDocument: () => applyDocument,\n applyHeadings: () => applyHeadings,\n applyReset: () => applyReset,\n applySpacingSequence: () => applySpacingSequence,\n applyTimingSequence: () => applyTimingSequence,\n applyTypographySequence: () => applyTypographySequence,\n getColor: () => getColor,\n getFontFamily: () => getFontFamily,\n getFontSizeByKey: () => getFontSizeByKey,\n getMediaColor: () => getMediaColor,\n getMediaTheme: () => getMediaTheme,\n getSpacingBasedOnRatio: () => getSpacingBasedOnRatio,\n getSpacingByKey: () => getSpacingByKey,\n getTheme: () => getTheme,\n getTimingByKey: () => getTimingByKey,\n getTimingFunction: () => getTimingFunction,\n runThroughMedia: () => runThroughMedia,\n setColor: () => setColor,\n setFont: () => setFont,\n setFontFamily: () => setFontFamily,\n setGradient: () => setGradient,\n setIcon: () => setIcon,\n setMediaTheme: () => setMediaTheme,\n setSVG: () => setSVG,\n setTheme: () => setTheme\n});\n\n// src/system/color.js\nvar import_utils8 = __toESM(require_cjs4(), 1);\nvar getColor = (value, key, config) => {\n const CONFIG2 = config || getActiveConfig();\n if (!(0, import_utils8.isString)(value)) {\n if (CONFIG2.verbose)\n console.warn(value, \"- type for color is not valid\");\n return;\n }\n if (value.slice(0, 2) === \"--\")\n return `var(${value})`;\n if (key && value[key])\n value = value[key];\n const [name, alpha, tone] = (0, import_utils8.isArray)(value) ? value : value.split(\" \");\n const { COLOR: COLOR2, GRADIENT: GRADIENT2 } = CONFIG2;\n let val = COLOR2[name] || GRADIENT2[name];\n if (!val) {\n if (CONFIG2.verbose)\n console.warn(\"Can't find color \", name);\n return value;\n }\n if (key) {\n if (val[key])\n val = val[key];\n else if (CONFIG2.verbose)\n console.warn(value, \" - does not have \", key);\n }\n let rgb = val.rgb;\n if (!rgb)\n return CONFIG2.useVariable ? `var(${val.var})` : val.value;\n if (tone && !val[tone]) {\n const toHex = rgbArrayToHex(rgb.split(\", \").map((v) => parseFloat(v)));\n const abs = tone.slice(0, 1);\n if (abs === \"-\" || abs === \"+\") {\n rgb = hexToRgbArray(\n getColorShade(toHex, parseFloat(tone))\n ).join(\", \");\n } else {\n const [r, g, b] = [...rgb.split(\", \").map((v) => parseInt(v))];\n const hsl = rgbToHSL(r, g, b);\n const [h, s, l] = hsl;\n const newRgb = hslToRgb(h, s, parseFloat(tone) / 100 * 255);\n rgb = newRgb;\n }\n val[tone] = { rgb, var: `${val.var}-${tone}` };\n }\n if (val[tone])\n rgb = val[tone].rgb;\n if (alpha)\n return `rgba(${rgb}, ${alpha})`;\n return CONFIG2.useVariable ? `var(${val.var})` : `rgb(${rgb})`;\n};\nvar getMediaColor = (value, globalTheme, config) => {\n const CONFIG2 = config || getActiveConfig();\n if (!globalTheme)\n globalTheme = CONFIG2.globalTheme;\n if (!(0, import_utils8.isString)(value)) {\n if (CONFIG2.verbose)\n console.warn(value, \"- type for color is not valid\");\n return;\n }\n if (value.slice(0, 2) === \"--\")\n return `var(${value})`;\n const [name] = (0, import_utils8.isArray)(value) ? value : value.split(\" \");\n const { COLOR: COLOR2, GRADIENT: GRADIENT2 } = CONFIG2;\n const val = COLOR2[name] || GRADIENT2[name];\n const isObj = (0, import_utils8.isObject)(val);\n if (isObj && val.value)\n return getColor(value, `@${globalTheme}`, config);\n else if (isObj) {\n if (globalTheme)\n return getColor(value, `@${globalTheme}`, config);\n else {\n const obj = {};\n for (const mediaName in val) {\n const query = CONFIG2.MEDIA[mediaName.slice(1)];\n const media = `@media screen and ${query}`;\n obj[media] = getColor(value, mediaName, config);\n }\n return obj;\n }\n } else {\n if (CONFIG2.verbose)\n console.warn(\"Can't find color\", value);\n return value;\n }\n};\nvar setColor = (val, key, suffix) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils8.isString)(val) && val.slice(0, 2) === \"--\")\n val = getColor(val.slice(2));\n if ((0, import_utils8.isArray)(val)) {\n return {\n \"@light\": setColor(val[0], key, \"light\"),\n \"@dark\": setColor(val[1], key, \"dark\")\n };\n }\n if ((0, import_utils8.isObject)(val)) {\n const obj = {};\n for (const variant in val)\n obj[variant] = setColor(val[variant], key, variant.slice(0, 1) === \"@\" ? variant.slice(1) : variant);\n return obj;\n }\n const CSSVar = `--color-${key}` + (suffix ? `-${suffix}` : \"\");\n const [r, g, b, a = 1] = colorStringToRgbaArray(val.value || val);\n const alpha = parseFloat(a.toFixed(2));\n const rgb = `${r}, ${g}, ${b}`;\n const value = `rgba(${rgb}, ${alpha})`;\n if (CONFIG2.useVariable) {\n CONFIG2.CSS_VARS[CSSVar] = value;\n }\n return {\n var: CSSVar,\n rgb,\n alpha,\n value\n };\n};\nvar setGradient = (val, key, suffix) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils8.isString)(val) && val.slice(0, 2) === \"--\")\n val = getColor(val.slice(2));\n if ((0, import_utils8.isArray)(val)) {\n return {\n \"@light\": setGradient(val[0], key, \"light\"),\n \"@dark\": setGradient(val[0], key, \"dark\")\n };\n }\n if ((0, import_utils8.isObject)(val)) {\n const obj = {};\n for (const variant in val)\n obj[variant] = setGradient(val[variant], key, variant.slice(0, 1) === \"@\" ? variant.slice(1) : variant);\n return obj;\n }\n const CSSVar = `--gradient-${key}` + (suffix ? `-${suffix}` : \"\");\n if (CONFIG2.useVariable) {\n CONFIG2.CSS_VARS[CSSVar] = val.value || val;\n }\n return {\n var: CSSVar,\n value: val.value || val\n };\n};\n\n// src/system/theme.js\nvar import_utils10 = __toESM(require_cjs4(), 1);\nvar setThemeValue = (theme) => {\n const value = {};\n const { state, media, helpers, ...rest } = theme;\n const keys = Object.keys(rest);\n keys.map((key) => {\n const conditions = [\"color\", \"Color\", \"background\", \"border\"];\n const isColor = conditions.some((k) => key.includes(k));\n return value[key] = isColor ? getColor(theme[key]) : theme[key];\n });\n return value;\n};\nvar getThemeValue = (theme) => {\n if (theme.value)\n return theme.value;\n theme.value = setThemeValue(theme);\n return theme.value;\n};\nvar getTheme = (value, modifier) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useVariable)\n return getMediaTheme(value, modifier);\n const { THEME: THEME2 } = CONFIG2;\n if ((0, import_utils10.isString)(value)) {\n const [theme, subtheme] = value.split(\" \");\n const isOurTheme = THEME2[theme];\n if (isOurTheme) {\n if (!subtheme && !modifier)\n return getThemeValue(isOurTheme);\n value = [theme, subtheme || modifier];\n }\n }\n if ((0, import_utils10.isObjectLike)(value) && value[1]) {\n const themeName = value[0];\n const subThemeName = value[1];\n const { helpers, media, state } = THEME2[themeName];\n if (media && media[subThemeName])\n return getThemeValue(media[subThemeName]);\n if (helpers && helpers[subThemeName])\n return getThemeValue(helpers[subThemeName]);\n if (state && state[subThemeName])\n return getThemeValue(state[subThemeName]);\n } else if ((0, import_utils10.isObject)(value))\n return setThemeValue(value);\n};\nvar setInverseTheme = (theme, variant, value) => {\n if ((0, import_utils10.isObject)(variant)) {\n theme.variants.inverse.value = setThemeValue(variant);\n } else if (variant === true) {\n const { color, background } = value;\n theme.variants.inverse = {\n value: {\n color: background,\n background: color\n }\n };\n }\n};\nvar setPseudo = (theme, key, variant, themeValue) => {\n const result = getTheme(variant);\n themeValue[`&:${key}`] = result;\n if ((0, import_utils10.isObject)(variant) && !variant.value)\n variant.value = result;\n};\nvar setSelectors = (theme, value) => {\n const { state } = theme;\n if (!state)\n return;\n const keys = Object.keys(state);\n keys.map((key) => {\n const variant = state[key];\n setPseudo(theme, key, variant, value);\n return theme;\n });\n return theme;\n};\nvar setPrefersScheme = (theme, key, variant, themeValue) => {\n const result = getTheme(variant);\n themeValue[`@media (prefers-color-scheme: ${key})`] = result;\n if ((0, import_utils10.isObject)(variant) && !variant.value)\n variant.value = result;\n};\nvar setMedia = (theme, value) => {\n const { media } = theme;\n if (!media)\n return;\n const keys = Object.keys(media);\n keys.map((key) => {\n const variant = media[key];\n if (key === \"dark\" || key === \"light\")\n setPrefersScheme(theme, key, variant, value);\n if (key === \"inverse\")\n setInverseTheme(theme, variant, value);\n return theme;\n });\n return theme;\n};\nvar setHelpers = (theme, value) => {\n const CONFIG2 = getActiveConfig();\n const { helpers } = theme;\n if (!helpers)\n return;\n const keys = Object.keys(helpers);\n keys.map((key) => {\n const helper = helpers[key];\n if ((0, import_utils10.isString)(helper))\n helpers[key] = CONFIG2.THEME[helper];\n else\n getThemeValue(helpers[key]);\n return theme;\n });\n return theme;\n};\nvar setTheme = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useVariable)\n return setMediaTheme(val, key);\n const { state, media, helpers } = val;\n const value = setThemeValue(val, key);\n const CSSvar = `--theme-${key}`;\n setSelectors(val, value);\n setMedia(val, value);\n setHelpers(val, value);\n return { var: CSSvar, value, state, media, helpers };\n};\nvar setMediaTheme = (val, key, suffix, prefers) => {\n const CONFIG2 = getActiveConfig();\n const { CSS_VARS: CSS_VARS2 } = CONFIG2;\n const theme = { value: val };\n if ((0, import_utils10.isObjectLike)(val)) {\n for (const param in val) {\n const symb = param.slice(0, 1);\n const value = val[param];\n if (symb === \"@\" || symb === \":\" || symb === \".\") {\n const hasPrefers = symb === \"@\" && param;\n theme[param] = setMediaTheme(value, key, param, prefers || hasPrefers);\n } else {\n const color = getColor(value, prefers);\n const metaSuffixes = [...new Set([prefers, suffix].filter((v) => v).map((v) => v.slice(1)))];\n const varmetaSuffixName = metaSuffixes.length ? \"-\" + metaSuffixes.join(\"-\") : \"\";\n const CSSVar = `--theme-${key}${varmetaSuffixName}-${param}`;\n if (CONFIG2.useVariable) {\n CSS_VARS2[CSSVar] = color;\n theme[param] = `var(${CSSVar})`;\n } else {\n theme[param] = color;\n }\n theme[`.${param}`] = { [param]: theme[param] };\n }\n }\n if (theme.background || theme.color || theme.backgroundColor) {\n theme[\".inversed\"] = {\n color: theme.background || theme.backgroundColor,\n background: theme.color\n };\n }\n }\n if ((0, import_utils10.isString)(val) && val.slice(0, 2) === \"--\") {\n const { THEME: THEME2 } = CONFIG2;\n const value = THEME2[val.slice(2)];\n const getReferenced = getMediaTheme(value, prefers);\n return getReferenced;\n }\n return theme;\n};\nvar recursiveTheme = (val) => {\n const CONFIG2 = getActiveConfig();\n const obj = {};\n for (const param in val) {\n const symb = param.slice(0, 1);\n if ((0, import_utils10.isObjectLike)(val[param])) {\n if (symb === \"@\") {\n const query = CONFIG2.MEDIA[param.slice(1)];\n const media = `@media screen and ${query}`;\n obj[media] = recursiveTheme(val[param]);\n } else if (symb === \":\") {\n obj[`&${param}`] = recursiveTheme(val[param]);\n }\n } else\n obj[param] = val[param];\n }\n return obj;\n};\nvar findModifierFromArray = (val, modifierArray) => {\n const currentMod = modifierArray.shift();\n if (val[currentMod])\n return findModifierFromArray(val[currentMod], modifierArray);\n return val;\n};\nvar findModifier = (val, modifier) => {\n if ((0, import_utils10.isArray)(modifier))\n return findModifierFromArray(val, modifier);\n else if ((0, import_utils10.isString)(modifier) && val[modifier])\n return val[modifier];\n else\n return val;\n};\nvar getMediaTheme = (val, mod) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils10.isString)(val) && val.slice(0, 2) === \"--\")\n val = getMediaTheme(val.slice(2));\n if (!val || !(0, import_utils10.isString)(val)) {\n if (CONFIG2.verbose)\n console.warn(val, \"- theme is not string\");\n return;\n }\n const [name, ...modifier] = (0, import_utils10.isArray)(val) ? val : val.split(\" \");\n let value = CONFIG2.THEME[name];\n if (value && (modifier || mod)) {\n value = findModifier(value, modifier.length ? modifier : mod);\n }\n const r = recursiveTheme(value);\n return r;\n};\n\n// src/system/font.js\nvar import_utils11 = __toESM(require_cjs4(), 1);\nvar setFont = (val, key) => {\n const CSSvar = `--font-${key}`;\n const fontFace = val[0] ? getFontFaceEach(key, val) : setCustomFontMedia(key, val.url);\n return { var: CSSvar, value: val, fontFace };\n};\nvar getFontFamily = (key, factory) => {\n const CONFIG2 = getActiveConfig();\n const { FONT_FAMILY: FONT_FAMILY2 } = CONFIG2;\n return getDefaultOrFirstKey(factory || FONT_FAMILY2, key);\n};\nvar setFontFamily = (val, key) => {\n const CONFIG2 = getActiveConfig();\n const { FONT_FAMILY: FONT_FAMILY2, FONT_FAMILY_TYPES: FONT_FAMILY_TYPES2 } = CONFIG2;\n let { value, type } = val;\n if (val.isDefault)\n FONT_FAMILY2.default = key;\n if ((0, import_utils11.isObject)(value))\n value = arrayzeValue(value);\n const CSSvar = `--font-family-${key}`;\n const str = `${value.join(\", \")}, ${FONT_FAMILY_TYPES2[type]}`;\n return { var: CSSvar, value: str, arr: value, type };\n};\n\n// src/system/typography.js\nvar import_utils14 = __toESM(require_cjs4(), 1);\nvar runThroughMedia = (props) => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2, MEDIA: MEDIA2 } = CONFIG2;\n for (const prop in props) {\n const mediaProps = props[prop];\n if (prop.slice(0, 1) === \"@\") {\n const { type, base, ratio, range, subSequence, h1Matches, unit } = props;\n (0, import_utils14.merge)(mediaProps, {\n type,\n base,\n ratio,\n range,\n subSequence,\n h1Matches,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n });\n generateSequence(mediaProps);\n const mediaName = prop.slice(1);\n applySequenceVars(mediaProps, mediaName);\n const query = MEDIA2[mediaName];\n TYPOGRAPHY2.templates[`@media screen and ${query}`] = {\n fontSize: mediaProps.base / TYPOGRAPHY2.browserDefault + unit\n };\n }\n }\n};\nvar applyHeadings = (props) => {\n const CONFIG2 = getActiveConfig();\n if (props.h1Matches) {\n const unit = props.unit;\n const HEADINGS = findHeadings(props);\n const { templates } = props;\n for (const k in HEADINGS) {\n const headerName = `h${parseInt(k) + 1}`;\n const headerStyle = templates[headerName];\n templates[headerName] = {\n fontSize: CONFIG2.useVariable ? `var(${HEADINGS[k].variable})` : `${HEADINGS[k].scaling}${unit}`,\n margin: headerStyle ? headerStyle.margin : 0,\n lineHeight: headerStyle ? headerStyle.lineHeight : props.lineHeight,\n letterSpacing: headerStyle ? headerStyle.letterSpacing : props.letterSpacing,\n fontWeight: headerStyle ? headerStyle.fontWeight : 900 - k * 100\n };\n }\n }\n};\nvar applyTypographySequence = () => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n generateSequence(TYPOGRAPHY2);\n applyHeadings(TYPOGRAPHY2);\n applySequenceVars(TYPOGRAPHY2);\n runThroughMedia(TYPOGRAPHY2);\n};\nvar getFontSizeByKey = (value) => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n return getSequenceValuePropertyPair(\n value,\n \"fontSize\",\n TYPOGRAPHY2\n );\n};\n\n// src/system/spacing.js\nvar import_utils17 = __toESM(require_cjs4(), 1);\nvar runThroughMedia2 = (sequenceProps) => {\n for (const prop in sequenceProps) {\n const mediaProps = sequenceProps[prop];\n if (prop.slice(0, 1) === \"@\") {\n const { type, base, ratio, range, subSequence, h1Matches, unit } = sequenceProps;\n (0, import_utils17.merge)(mediaProps, {\n type,\n base,\n ratio,\n range,\n subSequence,\n h1Matches,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n });\n generateSequence(mediaProps);\n const mediaName = prop.slice(1);\n applySequenceVars(mediaProps, mediaName);\n }\n }\n};\nvar applySpacingSequence = () => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n generateSequence(SPACING2);\n applySequenceVars(SPACING2);\n runThroughMedia2(SPACING2);\n};\nvar getSequence = (sequenceProps) => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n if (!sequenceProps)\n return SPACING2;\n const hasGenerated = Object.keys(sequenceProps.sequence).length > 0;\n return hasGenerated ? sequenceProps : generateSequence(sequenceProps);\n};\nvar getSpacingByKey = (value, propertyName = \"padding\", sequenceProps) => {\n const sequence = getSequence(sequenceProps);\n const stack = arrayzeValue(value);\n if (!stack)\n return;\n if ((0, import_utils17.isString)(value) && value.includes(\"calc\")) {\n return { [propertyName]: value };\n }\n if (stack.length > 1) {\n let suffix = \"\";\n if (propertyName === \"borderWidth\") {\n propertyName = \"border\";\n suffix = \"Width\";\n }\n const directions = {\n 2: [\"Block\", \"Inline\"],\n 3: [\"BlockStart\", \"Inline\", \"BlockEnd\"],\n 4: [\"BlockStart\", \"InlineEnd\", \"BlockEnd\", \"InlineStart\"]\n };\n const wrapSequenceValueByDirection = (direction, i) => getSequenceValuePropertyPair(\n stack[i],\n propertyName + direction + suffix,\n sequence\n );\n return directions[stack.length].map((dir, key) => wrapSequenceValueByDirection(dir, key));\n }\n return getSequenceValuePropertyPair(\n value,\n propertyName,\n sequence\n );\n};\nvar getSpacingBasedOnRatio = (props, propertyName, val) => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n const { spacingRatio, unit } = props;\n const value = val || props[propertyName];\n if (spacingRatio) {\n let sequenceProps = SPACING2[spacingRatio];\n if (!sequenceProps) {\n const { type, base, range, subSequence } = SPACING2;\n sequenceProps = SPACING2[spacingRatio] = (0, import_utils17.merge)({\n ratio: spacingRatio,\n type: type + \"-\" + spacingRatio,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n }, {\n base,\n range,\n subSequence,\n ratio: SPACING2.ratio,\n unit: SPACING2.unit\n });\n }\n applySequenceVars(sequenceProps, null, { useDefault: false });\n return getSpacingByKey(value, propertyName, sequenceProps);\n }\n return getSpacingByKey(value, propertyName);\n};\n\n// src/system/timing.js\nvar applyTimingSequence = () => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n generateSequence(TIMING2);\n applySequenceVars(TIMING2);\n};\nvar getTimingFunction = (value) => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n return TIMING2[value] || TIMING2[toCamelCase(value)] || value;\n};\nvar getTimingByKey = (value, property = \"timing\") => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n return getSequenceValuePropertyPair(\n value,\n property,\n TIMING2\n );\n};\n\n// src/system/document.js\nvar import_utils21 = __toESM(require_cjs4(), 1);\nvar applyDocument = () => {\n const CONFIG2 = getActiveConfig();\n const { DOCUMENT: DOCUMENT2, FONT_FAMILY: FONT_FAMILY2, THEME: THEME2, TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n return (0, import_utils21.merge)(DOCUMENT2, {\n theme: THEME2.document,\n fontFamily: getDefaultOrFirstKey(FONT_FAMILY2),\n fontSize: TYPOGRAPHY2.base,\n lineHeight: TYPOGRAPHY2.lineHeight\n });\n};\n\n// src/system/svg.js\nvar import_globals2 = __toESM(require_cjs(), 1);\nvar DEF_OPTIONS = {\n document: import_globals2.document\n};\nvar setSVG = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (!val) {\n if (CONFIG2.verbose)\n console.warn(\"setSVG: val is not defined\", key);\n return;\n }\n if (CONFIG2.useSvgSprite) {\n return convertSvgToSymbol(key, val);\n }\n return val;\n};\nvar appendSVGSprite = (LIBRARY, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const lib = Object.keys(LIBRARY).length ? {} : CONFIG2.SVG;\n for (const key in LIBRARY)\n lib[key] = CONFIG2.SVG[key];\n appendSVG(lib, options);\n};\nvar setIcon = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useIconSprite) {\n return setSVG(val, key);\n }\n return val;\n};\nvar appendIconsSprite = (LIBRARY, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const lib = Object.keys(LIBRARY).length ? {} : CONFIG2.ICONS;\n for (const key in LIBRARY)\n lib[key] = CONFIG2.ICONS[key];\n appendSVG(lib, options);\n};\nvar createSVGSpriteElement = (options = { isRoot: true }) => {\n if (!import_globals2.document || !import_globals2.document.createElementNS)\n return;\n const svgElem = import_globals2.document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n if (options.isRoot) {\n svgElem.setAttribute(\"aria-hidden\", \"true\");\n svgElem.setAttribute(\"width\", \"0\");\n svgElem.setAttribute(\"height\", \"0\");\n svgElem.setAttribute(\"style\", \"position:absolute\");\n svgElem.setAttribute(\"id\", \"svgSprite\");\n }\n return svgElem;\n};\nvar appendSVG = (lib, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const doc = options.document || import_globals2.document;\n if (!doc || !doc.documentElement) {\n if (CONFIG2.verbose) {\n console.warn(\"To append SVG sprites it should be run in browser environment\");\n }\n return generateSprite(lib);\n }\n const exists = doc.querySelector(\"#svgSprite\");\n const SVGsprite = generateSprite(lib);\n if (exists) {\n const tempSVG = createSVGSpriteElement({ isRoot: false });\n tempSVG.innerHTML = SVGsprite;\n exists.append(...tempSVG.children);\n } else {\n const svgSpriteDOM = createSVGSpriteElement();\n if (svgSpriteDOM && svgSpriteDOM.nodeType) {\n svgSpriteDOM.innerHTML = SVGsprite;\n doc.body.prepend(svgSpriteDOM);\n }\n }\n};\n\n// src/system/reset.js\nvar import_utils24 = __toESM(require_cjs4(), 1);\nvar applyReset = (reset = {}) => {\n const CONFIG2 = getActiveConfig();\n const { RESET: RESET2, TYPOGRAPHY: TYPOGRAPHY2, DOCUMENT: DOCUMENT2 } = CONFIG2;\n if (RESET2) {\n if (RESET2[\":root\"]) {\n const configReset = RESET2;\n const configTemplates = TYPOGRAPHY2.templates;\n configReset.body = {\n ...CONFIG2.useDocumentTheme ? getMediaTheme(\"document\", `@${CONFIG2.globalTheme}`) : {},\n ...configTemplates.body\n };\n configReset.h1 = configTemplates.h1;\n configReset.h2 = configTemplates.h2;\n configReset.h3 = configTemplates.h3;\n configReset.h4 = configTemplates.h4;\n configReset.h5 = configTemplates.h5;\n configReset.h6 = configTemplates.h6;\n }\n const { body, ...templates } = TYPOGRAPHY2.templates;\n return (0, import_utils24.deepMerge)((0, import_utils24.merge)(RESET2, reset), {\n html: {\n position: \"absolute\",\n // overflow: 'hidden',\n width: \"100%\",\n height: \"100%\",\n top: \"0\",\n left: \"0\",\n margin: \"0\",\n WebkitFontSmoothing: \"subpixel-antialiased\",\n scrollBehavior: \"smooth\",\n fontSize: TYPOGRAPHY2.browserDefault + \"px\",\n ...CONFIG2.useDocumentTheme ? getMediaTheme(\"document\", `@${CONFIG2.globalTheme}`) : {},\n fontFamily: DOCUMENT2.fontFamily,\n lineHeight: DOCUMENT2.lineHeight\n },\n body: {\n boxSizing: \"border-box\",\n height: \"100%\",\n margin: 0,\n fontFamily: DOCUMENT2.fontFamily,\n fontSize: TYPOGRAPHY2.base / TYPOGRAPHY2.browserDefault + CONFIG2.UNIT.default,\n ...templates,\n ...body\n },\n // form elements\n fieldset: {\n border: 0,\n padding: 0,\n margin: 0\n },\n \"select, input\": {\n fontFamily: DOCUMENT2.fontFamily\n }\n });\n }\n};\n\n// src/transforms/index.js\nvar import_utils25 = __toESM(require_cjs4(), 1);\nvar isBorderStyle = (str) => [\n \"none\",\n \"hidden\",\n \"dotted\",\n \"dashed\",\n \"solid\",\n \"double\",\n \"groove\",\n \"ridge\",\n \"inset\",\n \"outset\",\n \"initial\"\n].some((v) => str.includes(v));\nvar transformBorder = (border) => {\n const arr = border.split(\", \");\n return arr.map((v) => {\n v = v.trim();\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n else if (isBorderStyle(v))\n return v || \"solid\";\n else if (v.slice(-2) === \"px\" || v.slice(-2) === \"em\")\n return v;\n else if (getColor(v).length > 2)\n return getColor(v);\n return getSpacingByKey(v, \"border\").border;\n }).join(\" \");\n};\nvar transformTextStroke = (stroke) => {\n return stroke.split(\", \").map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.includes(\"px\"))\n return v;\n else if (getColor(v))\n return getColor(v);\n return v;\n }).join(\" \");\n};\nvar transformShadow = (shadows) => shadows.split(\"|\").map((shadow) => {\n return shadow.split(\", \").map((v) => {\n v = v.trim();\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (getColor(v).length > 2)\n return getColor(v);\n if (v.includes(\"px\") || v.slice(-2) === \"em\")\n return v;\n const arr = v.split(\" \");\n if (!arr.length)\n return v;\n return arr.map((v2) => getSpacingByKey(v2, \"shadow\").shadow).join(\" \");\n }).join(\" \");\n}).join(\",\");\nvar transformBackgroundImage = (backgroundImage, globalTheme) => {\n const CONFIG2 = getActiveConfig();\n return backgroundImage.split(\", \").map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.includes(\"url\") || v.includes(\"gradient\"))\n return v;\n else if (CONFIG2.GRADIENT[backgroundImage]) {\n return {\n backgroundImage: getMediaColor(backgroundImage, globalTheme || CONFIG2.globalTheme)\n };\n } else if (v.includes(\"/\") || v.includes(\"http\"))\n return `url(${v})`;\n return v;\n }).join(\" \");\n};\nvar transfromGap = (gap) => (0, import_utils25.isString)(gap) && gap.split(\" \").map((v) => getSpacingByKey(v, \"gap\").gap).join(\" \");\nvar transformTransition = (transition) => {\n const arr = transition.split(\" \");\n if (!arr.length)\n return transition;\n return arr.map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.length < 3 || v.includes(\"ms\")) {\n const mapWithSequence = getTimingByKey(v);\n return mapWithSequence.timing || v;\n }\n if (getTimingFunction(v))\n return getTimingFunction(v);\n return v;\n }).join(\" \");\n};\nvar transformDuration = (duration, props, propertyName) => {\n if (!(0, import_utils25.isString)(duration))\n return;\n return duration.split(\",\").map((v) => getTimingByKey(v).timing || v).join(\",\");\n};\nvar splitTransition = (transition) => {\n const arr = transition.split(\",\");\n if (!arr.length)\n return;\n return arr.map(transformTransition).join(\",\");\n};\n\n// src/set.js\nvar import_utils26 = __toESM(require_cjs4(), 1);\nvar setCases = (val, key) => {\n if ((0, import_utils26.isFunction)(val))\n return val();\n return val;\n};\nvar setSameValue = (val, key) => val;\nvar VALUE_TRANSFORMERS = {\n color: setColor,\n gradient: setGradient,\n font: setFont,\n font_family: setFontFamily,\n theme: setTheme,\n icons: setIcon,\n svg: setSVG,\n svg_data: setSameValue,\n typography: setSameValue,\n cases: setCases,\n spacing: setSameValue,\n media: setSameValue,\n timing: setSameValue,\n reset: setSameValue,\n unit: setSameValue,\n animation: setSameValue\n};\nvar setValue = (FACTORY_NAME, value, key) => {\n const CONFIG2 = getActiveConfig();\n const factoryName = FACTORY_NAME.toLowerCase();\n const FACTORY2 = CONFIG2[FACTORY_NAME];\n if (VALUE_TRANSFORMERS[factoryName]) {\n const result = VALUE_TRANSFORMERS[factoryName](value, key);\n FACTORY2[key] = result;\n return FACTORY2;\n }\n if (CONFIG2.verbose)\n console.warn(\"Can not find\", factoryName, \"method in scratch\");\n};\nvar setEach = (factoryName, props) => {\n const CONFIG2 = getActiveConfig();\n const FACTORY_NAME = factoryName.toUpperCase();\n const keys = Object.keys(props);\n keys.map((key) => setValue(FACTORY_NAME, props[key], key));\n return CONFIG2[FACTORY_NAME];\n};\nvar SET_OPTIONS = {};\nvar set = (recivedConfig, options = SET_OPTIONS) => {\n let CONFIG2 = getActiveConfig();\n const {\n version,\n verbose,\n useVariable,\n useReset,\n useSvgSprite,\n useFontImport,\n useIconSprite,\n globalTheme,\n useDocumentTheme,\n ...config\n } = recivedConfig;\n if (options.newConfig) {\n CONFIG2 = setActiveConfig(options.newConfig);\n }\n if (verbose !== void 0)\n CONFIG2.verbose = verbose;\n if (useVariable !== void 0)\n CONFIG2.useVariable = useVariable;\n if (useReset !== void 0)\n CONFIG2.useReset = useReset;\n if (useFontImport !== void 0)\n CONFIG2.useFontImport = useFontImport;\n if (useSvgSprite !== void 0)\n CONFIG2.useSvgSprite = useSvgSprite;\n if (useIconSprite !== void 0)\n CONFIG2.useIconSprite = useIconSprite;\n if (useDocumentTheme !== void 0)\n CONFIG2.useDocumentTheme = useDocumentTheme;\n if (globalTheme !== void 0)\n CONFIG2.globalTheme = globalTheme;\n if (CONFIG2.verbose)\n console.log(CONFIG2);\n if (!CONFIG2.__svg_cache)\n CONFIG2.__svg_cache = {};\n const keys = Object.keys(config);\n keys.map((key) => setEach(key, config[key]));\n applyTypographySequence();\n applySpacingSequence();\n applyTimingSequence();\n applyDocument();\n applyReset();\n return CONFIG2;\n};\n", "'use strict'\n\n// export * from './styles'\n\nexport * from '@symbo.ls/atoms'\nexport * from '@symbo.ls/box'\n\nexport * from '@symbo.ls/avatar'\nexport * from '@symbo.ls/button'\nexport * from '@symbo.ls/buttonset'\n\nexport * from '@symbo.ls/dialog'\nexport * from '@symbo.ls/datepicker'\nexport * from '@symbo.ls/timepicker'\nexport * from '@symbo.ls/dropdown'\n\nexport * from '@symbo.ls/form'\nexport * from '@symbo.ls/icon'\nexport * from '@symbo.ls/link'\nexport * from '@symbo.ls/input'\nexport * from '@symbo.ls/field'\nexport * from '@symbo.ls/video'\n\nexport * from '@symbo.ls/range'\nexport * from '@symbo.ls/slider'\nexport * from '@symbo.ls/notification'\nexport * from '@symbo.ls/tooltip'\nexport * from '@symbo.ls/textarea'\nexport * from '@symbo.ls/upload'\nexport * from '@symbo.ls/label'\nexport * from '@symbo.ls/pills'\nexport * from '@symbo.ls/select'\n", "'use strict'\n\nimport { getSpacingBasedOnRatio, getSpacingByKey, transfromGap } from '@symbo.ls/scratch'\n\nexport const Block = {\n class: {\n boxSizing: ({ props }) => props.boxSizing\n ? ({ boxSizing: props.boxSizing })\n : {\n boxSizing: 'border-box'\n },\n\n display: ({ props }) => props.display && ({ display: props.display }),\n\n hide: ({ props }) => props.hide && ({ display: 'none' }),\n\n width: ({ props }) => props.width && getSpacingBasedOnRatio(props, 'width'),\n height: ({ props }) => props.height && getSpacingBasedOnRatio(props, 'height'),\n boxSize: ({ props }) => {\n if (typeof props.boxSize !== 'string') return\n const [height, width] = props.boxSize.split(' ')\n return {\n ...getSpacingByKey(height, 'height'),\n ...getSpacingByKey(width || height, 'width')\n }\n },\n\n maxWidth: ({ props }) => props.maxWidth && getSpacingBasedOnRatio(props, 'maxWidth'),\n minWidth: ({ props }) => props.minWidth && getSpacingBasedOnRatio(props, 'minWidth'),\n widthRange: ({ props }) => {\n if (typeof props.widthRange !== 'string') return\n const [minWidth, maxWidth] = props.widthRange.split(' ')\n return {\n ...getSpacingByKey(minWidth, 'minWidth'),\n ...getSpacingByKey(maxWidth || minWidth, 'maxWidth')\n }\n },\n\n maxHeight: ({ props }) => props.maxHeight && getSpacingBasedOnRatio(props, 'maxHeight'),\n minHeight: ({ props }) => props.minHeight && getSpacingBasedOnRatio(props, 'minHeight'),\n heightRange: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n direction: ({ props }) => props.direction && ({ direction: props.direction }),\n\n aspectRatio: ({ props }) => props.aspectRatio && ({ aspectRatio: props.aspectRatio }),\n\n borderWidth: ({ props }) => props.borderWidth ? getSpacingBasedOnRatio(props, 'borderWidth') : null,\n\n padding: ({ props }) => props.padding ? getSpacingBasedOnRatio(props, 'padding') : null,\n paddingInline: ({ props }) => {\n if (typeof props.paddingInline !== 'string') return\n const [paddingInlineStart, paddingInlineEnd] = props.paddingInline.split(' ')\n return {\n ...getSpacingByKey(paddingInlineStart, 'paddingInlineStart'),\n ...getSpacingByKey(paddingInlineEnd || paddingInlineStart, 'paddingInlineEnd')\n }\n },\n paddingBlock: ({ props }) => {\n if (typeof props.paddingBlock !== 'string') return\n const [paddingBlockStart, paddingBlockEnd] = props.paddingBlock.split(' ')\n return {\n ...getSpacingByKey(paddingBlockStart, 'paddingBlockStart'),\n ...getSpacingByKey(paddingBlockEnd || paddingBlockStart, 'paddingBlockEnd')\n }\n },\n paddingInlineStart: ({ props }) => props.paddingInlineStart ? getSpacingBasedOnRatio(props, 'paddingInlineStart') : null,\n paddingInlineEnd: ({ props }) => props.paddingInlineEnd ? getSpacingBasedOnRatio(props, 'paddingInlineEnd') : null,\n paddingBlockStart: ({ props }) => props.paddingBlockStart ? getSpacingBasedOnRatio(props, 'paddingBlockStart') : null,\n paddingBlockEnd: ({ props }) => props.paddingBlockEnd ? getSpacingBasedOnRatio(props, 'paddingBlockEnd') : null,\n\n margin: ({ props }) => props.margin ? getSpacingBasedOnRatio(props, 'margin') : null,\n marginInline: ({ props }) => {\n if (typeof props.marginInline !== 'string') return\n const [marginInlineStart, marginInlineEnd] = props.marginInline.split(' ')\n return {\n ...getSpacingByKey(marginInlineStart, 'marginInlineStart'),\n ...getSpacingByKey(marginInlineEnd || marginInlineStart, 'marginInlineEnd')\n }\n },\n marginBlock: ({ props }) => {\n if (typeof props.marginBlock !== 'string') return\n const [marginBlockStart, marginBlockEnd] = props.marginBlock.split(' ')\n return {\n ...getSpacingByKey(marginBlockStart, 'marginBlockStart'),\n ...getSpacingByKey(marginBlockEnd || marginBlockStart, 'marginBlockEnd')\n }\n },\n marginInlineStart: ({ props }) => props.marginInlineStart ? getSpacingBasedOnRatio(props, 'marginInlineStart') : null,\n marginInlineEnd: ({ props }) => props.marginInlineEnd ? getSpacingBasedOnRatio(props, 'marginInlineEnd') : null,\n marginBlockStart: ({ props }) => props.marginBlockStart ? getSpacingBasedOnRatio(props, 'marginBlockStart') : null,\n marginBlockEnd: ({ props }) => props.marginBlockEnd ? getSpacingBasedOnRatio(props, 'marginBlockEnd') : null,\n\n gap: ({ props }) => props.gap\n ? ({\n gap: transfromGap(props.gap)\n })\n : null,\n gridArea: ({ props }) => props.gridArea && ({ gridArea: props.gridArea }),\n\n flex: ({ props }) => props.flex && ({ flex: props.flex }),\n flexDirection: ({ props }) => props.flexDirection && ({ flexDirection: props.flexDirection }),\n alignItems: ({ props }) => props.alignItems && ({ alignItems: props.alignItems }),\n alignContent: ({ props }) => props.alignContent && ({ alignContent: props.alignContent }),\n justifyContent: ({ props }) => props.justifyContent && ({ justifyContent: props.justifyContent }),\n justifyItems: ({ props }) => props.justifyItems && ({ justifyItems: props.justifyItems }),\n alignSelf: ({ props }) => props.alignSelf && ({ alignSelf: props.alignSelf }),\n order: ({ props }) => props.order && ({ order: props.order }),\n\n flexWrap: ({ props }) => props.flexWrap && ({\n display: 'flex',\n flexFlow: props.flexWrap\n }),\n flexFlow: ({ props }) => props.flexFlow && ({\n display: 'flex',\n flexFlow: props.flexFlow\n }),\n flexAlign: ({ props }) => {\n if (typeof props.flexAlign !== 'string') return\n const [alignItems, justifyContent] = props.flexAlign.split(' ')\n return {\n display: 'flex',\n alignItems,\n justifyContent\n }\n },\n\n gridColumn: ({ props }) => props.gridColumn && ({ gridColumn: props.gridColumn }),\n gridColumnStart: ({ props }) => props.columnStart\n ? ({\n gridColumnStart: props.columnStart\n })\n : null,\n gridRow: ({ props }) => props.gridRow && ({ gridRow: props.gridRow }),\n gridRowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n size: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n columns: ({ props }) => props.columns && ({ columns: props.columns }),\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n columnSpan: ({ props }) => props.columnSpan && ({ columns: props.columnSpan }),\n columnFill: ({ props }) => props.columnFill && ({ columns: props.columnFill }),\n columnCount: ({ props }) => props.columnCount && ({ columns: props.columnCount })\n }\n}\n\nexport const Span = { tag: 'span' }\nexport const List = {\n tag: 'ul',\n childExtend: { tag: 'li' }\n}\n// export const Article = { tag: 'article' }\n", "'use strict'\n\nexport const Direction = {\n props: {\n direction: 'ltr'\n },\n class: {\n direction: ({ props }) => ({ direction: props.direction })\n }\n}\n", "'use strict'\n\nexport const Flex = {\n props: {\n display: 'flex'\n },\n\n class: {\n flow: ({ props }) => props.flow && ({ flexFlow: props.flow }),\n wrap: ({ props }) => props.wrap && ({ flexWrap: props.wrap }),\n align: ({ props }) => {\n if (typeof props.align !== 'string') return\n const [alignItems, justifyContent] = props.align.split(' ')\n return { alignItems, justifyContent }\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingBasedOnRatio } from '@symbo.ls/scratch'\n\nexport const Grid = {\n props: { display: 'grid' },\n\n class: {\n area: ({ props }) => props.area ? ({ gridArea: props.area }) : null,\n template: ({ props }) => props.template ? ({ gridTemplate: props.template }) : null,\n templateAreas: ({ props }) => props.templateAreas ? ({ gridTemplateAreas: props.templateAreas }) : null,\n\n column: ({ props }) => props.column ? ({ gridColumn: props.column }) : null,\n columns: ({ props }) => props.columns ? ({ gridTemplateColumns: props.columns }) : null,\n templateColumns: ({ props }) => props.templateColumns ? ({ gridTemplateColumns: props.templateColumns }) : null,\n autoColumns: ({ props }) => props.autoColumns ? ({ gridAutoColumns: props.autoColumns }) : null,\n columnStart: ({ props }) => props.columnStart ? ({ gridColumnStart: props.columnStart }) : null,\n\n row: ({ props }) => props.row ? ({ gridRow: props.row }) : null,\n rows: ({ props }) => props.rows ? ({ gridTemplateRows: props.rows }) : null,\n templateRows: ({ props }) => props.templateRows ? ({ gridTemplateRows: props.templateRows }) : null,\n autoRows: ({ props }) => props.autoRows ? ({ gridAutoRows: props.autoRows }) : null,\n rowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n autoFlow: ({ props }) => props.autoFlow ? ({ gridAutoFlow: props.autoFlow }) : null,\n\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n rowGap: ({ props }) => props.rowGap ? getSpacingBasedOnRatio(props, 'rowGap') : null\n }\n}\n", "'use strict'\n\nexport const Img = {\n tag: 'img',\n\n props: {\n src: '',\n alt: '',\n title: ''\n },\n\n attr: {\n src: ({ props }) => props.src,\n alt: ({ props }) => props.alt,\n title: ({ props }) => props.title || props.alt\n }\n}\n", "'use strict'\n\nexport const Form = {\n tag: 'form',\n props: {},\n attr: {\n action: ({ props }) => props.action,\n method: ({ props }) => props.method,\n enctype: ({ props }) => props.enctype\n }\n}\n", "'use strict'\n\nimport { merge, isArray, overwriteShallow } from '@domql/utils'\nimport { getSystemTheme } from './Theme'\n\nexport const keySetters = {\n '@': (key, props, result, element, isSubtree) => applyMediaProps(\n key, props, isSubtree ? result : (result && result.media), element\n ),\n ':': (key, props, result, element, isSubtree) => applySelectorProps(\n key, props, isSubtree ? result : (result && result.selector), element\n ),\n '[': (key, props, result, element, isSubtree) => applySelectorProps(\n key, props, isSubtree ? result : (result && result.selector), element\n ),\n '&': (key, props, result, element, isSubtree) => applySelectorProps(\n key, props, isSubtree ? result : (result && result.selector), element\n ),\n $: (key, props, result, element, isSubtree) => applyCaseProps(\n key, props, isSubtree ? result : (result && result.case), element\n ),\n '.': (key, props, result, element, isSubtree) => applyConditionalCaseProps(\n key, props, isSubtree ? result : (result && result.case), element\n ),\n '!': (key, props, result, element, isSubtree) => applyConditionalFalsyProps(\n key, props, isSubtree ? result : (result && result.case), element\n )\n}\n\nconst execClass = (key, props, result, element) => {\n const { class: className } = element\n const classnameExec = className[key]\n\n if (typeof classnameExec !== 'function') return\n\n let classExec = classnameExec({\n props,\n context: element.context,\n state: element.state\n })\n if (isArray(classExec)) {\n classExec = classExec.reduce((a, c) => merge(a, c), {})\n }\n\n for (const finalProp in classExec) {\n result[finalProp] = classExec[finalProp]\n }\n\n return classExec\n}\n\nconst convertPropsToClass = (props, result, element) => {\n const propsClassObj = {}\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) {\n setter(key, props[key], propsClassObj, element, true)\n continue\n } else {\n execClass(key, props, propsClassObj, element)\n }\n }\n\n return propsClassObj\n}\n\nconst applyMediaProps = (key, props, result, element) => {\n const { context } = element\n if (!context.designSystem || !context.designSystem.MEDIA) return\n const globalTheme = getSystemTheme(element)\n const { MEDIA } = context.designSystem\n const mediaName = MEDIA[key.slice(1)]\n const generatedClass = convertPropsToClass(props, result, element)\n\n const name = key.slice(1)\n const isTheme = ['dark', 'light'].includes(name)\n const matchesGlobal = name === globalTheme\n\n if (globalTheme && isTheme) {\n if (matchesGlobal) return merge(result, generatedClass)\n return\n }\n\n const mediaKey = `@media screen and ${mediaName}`\n result[mediaKey] = generatedClass\n return result[mediaKey]\n}\n\nconst applySelectorProps = (key, props, result, element) => {\n const selectorKey = `&${key}`\n result[selectorKey] = convertPropsToClass(props, result, element)\n return result[selectorKey]\n}\n\nconst applyCaseProps = (key, props, result, element) => {\n const { CASES } = element.context && element.context.designSystem\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey]\n if (!CASES[caseKey] && !isPropTrue) return\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalCaseProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey]\n if (!isPropTrue) return // remove classname if not here\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalFalsyProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey] === true\n if (!isPropTrue) return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyTrueProps = (props, result, element) => merge(result, convertPropsToClass(props, result, element))\n\nconst beforeClassAssign = (element, s) => {\n const { props, class: className } = element\n\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n overwriteShallow(className, CLASS_NAMES)\n}\n\nconst initUpdate = (changes, element) => {\n const { props, context, class: className } = element\n if (!context) return\n const globalTheme = context.designSystem.globalTheme\n\n const parentProps = element.parent.props\n if (parentProps && parentProps.spacingRatio && parentProps.inheritSpacingRatio) {\n element.setProps({\n spacingRatio: parentProps.spacingRatio,\n inheritSpacingRatio: true\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true\n })\n }\n\n if (globalTheme) {\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (key === 'theme') {\n props.update({\n themeModifier: globalTheme\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true,\n preventDefineUpdate: true\n })\n } else if (key === 'true') applyTrueProps(props[key], CLASS_NAMES, element)\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n if (Object.keys(CLASS_NAMES.media).length) {\n className.media = CLASS_NAMES.media\n }\n className.selector = CLASS_NAMES.selector\n className.case = CLASS_NAMES.case\n }\n}\n\nexport const Media = {\n class: {\n case: (el, s) => {\n return {\n //\n }\n }\n },\n on: { beforeClassAssign, initUpdate }\n}\n", "'use strict'\n\nimport {\n getMediaTheme,\n getMediaColor,\n transformTextStroke,\n transformShadow,\n transformBorder,\n transformBackgroundImage\n} from '@symbo.ls/scratch'\n\nimport { depth } from './Shape/style'\n\nexport const getSystemTheme = ({ context, state }) => {\n const rootState = state && state.__root\n return rootState ? rootState.globalTheme : context.designSystem && context.designSystem.globalTheme\n}\n\nexport const Theme = {\n class: {\n depth: ({ props }) => props.depth && depth[props.depth],\n\n theme: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.theme) return\n return getMediaTheme(props.theme, `@${props.themeModifier || globalTheme}`)\n },\n\n color: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.color) return\n return {\n color: getMediaColor(props.color, globalTheme)\n }\n },\n\n background: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.background) return\n return {\n background: getMediaColor(props.background, globalTheme)\n }\n },\n\n backgroundColor: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundColor) return\n return {\n backgroundColor: getMediaColor(props.backgroundColor, globalTheme)\n }\n },\n\n backgroundImage: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundImage) return\n return ({\n backgroundImage: transformBackgroundImage(props.backgroundImage, globalTheme)\n })\n },\n backgroundSize: ({ props }) => props.backgroundSize\n ? ({\n backgroundSize: props.backgroundSize\n })\n : null,\n backgroundPosition: ({ props }) => props.backgroundPosition\n ? ({\n backgroundPosition: props.backgroundPosition\n })\n : null,\n\n textStroke: ({ props }) => props.textStroke\n ? ({\n WebkitTextStroke: transformTextStroke(props.textStroke)\n })\n : null,\n\n outline: ({ props }) => props.outline && ({\n outline: transformBorder(props.outline)\n }),\n\n border: ({ props }) => props.border && ({\n border: transformBorder(props.border)\n }),\n borderColor: ({ props }) => props.borderColor && ({\n borderColor: getMediaColor(props.borderColor)\n }),\n borderStyle: ({ props }) => props.borderStyle && ({\n borderStyle: props.borderStyle\n }),\n\n borderLeft: ({ props }) => props.borderLeft && ({\n borderLeft: transformBorder(props.borderLeft)\n }),\n borderTop: ({ props }) => props.borderTop && ({\n borderTop: transformBorder(props.borderTop)\n }),\n borderRight: ({ props }) => props.borderRight && ({\n borderRight: transformBorder(props.borderRight)\n }),\n borderBottom: ({ props }) => props.borderBottom && ({\n borderBottom: transformBorder(props.borderBottom)\n }),\n\n boxShadow: ({ props }) => props.boxShadow && ({\n boxShadow: transformShadow(props.boxShadow)\n }),\n\n textShadow: ({ props }) => props.textShadow && ({\n textShadow: transformShadow(props.textShadow)\n }),\n\n opacity: ({ props }) => props.opacity && ({\n opacity: props.opacity\n }),\n visibility: ({ props }) => props.visibility && ({\n visibility: props.visibility\n }),\n\n columnRule: ({ props }) => props.columnRule && ({\n columnRule: transformBorder(props.columnRule)\n })\n }\n}\n", "'use strict'\n\nimport { getActiveConfig, getColor, getTheme } from '@symbo.ls/scratch' // eslint-disable-line no-unused-vars\nimport { Timing } from '../Timing'\n\nconst CONFIG = getActiveConfig()\n\nexport const depth = {\n 4: { boxShadow: `rgba(0,0,0,.10) 0 2${CONFIG.UNIT.default} 4${CONFIG.UNIT.default}` },\n 6: { boxShadow: `rgba(0,0,0,.10) 0 3${CONFIG.UNIT.default} 6${CONFIG.UNIT.default}` },\n 10: { boxShadow: `rgba(0,0,0,.10) 0 4${CONFIG.UNIT.default} 10${CONFIG.UNIT.default}` },\n 16: { boxShadow: `rgba(0,0,0,.10) 0 8${CONFIG.UNIT.default} 16${CONFIG.UNIT.default}` },\n 26: { boxShadow: `rgba(0,0,0,.10) 0 14${CONFIG.UNIT.default} 26${CONFIG.UNIT.default}` },\n 42: { boxShadow: `rgba(0,0,0,.10) 0 20${CONFIG.UNIT.default} 42${CONFIG.UNIT.default}` }\n}\n\nconst getComputedBackgroundColor = ({ props }) => {\n return getColor(props.shapeDirectionColor) ||\n getColor(props.borderColor) ||\n getColor(props.backgroundColor) ||\n getColor(props.background)\n}\n\nconst inheritTransition = ({ props }) => {\n const exec = Timing.class.transition({ props })\n return exec && exec.transition\n}\n\nexport const SHAPES = {\n rectangle: {},\n circle: { borderRadius: '100%' },\n bubble: {},\n tv: {\n borderRadius: '1.15em/2.5em'\n },\n\n tooltip: ({ props }) => ({\n position: props.position || 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n width: '0px',\n height: '0px',\n border: '.35em solid',\n borderColor: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'border-color',\n position: 'absolute',\n borderRadius: '.15em'\n }\n }),\n\n tooltipDirection: {\n top: {\n '&:before': {\n top: '0',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n right: '0',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n bottom: '0',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n left: '0',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n }\n },\n\n tag: ({ props }) => ({\n position: 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background',\n borderRadius: '.25em',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%'\n }\n }),\n\n tagDirection: {\n top: {\n '&:before': {\n bottom: '100%',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n left: '100%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n top: '100%',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n right: '100%',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n }\n },\n\n hexagon: ({ props }) => ({\n position: 'relative',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n borderRadius: '.25em',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n },\n '&:before': {\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n },\n '&:after': {\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }),\n\n chevron: ({ props }) => ({\n position: 'relative',\n // overflow: 'hidden',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n\n },\n '&:before': {\n background: `linear-gradient(225deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%), linear-gradient(315deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%)`\n },\n '&:after': {\n background: getComputedBackgroundColor({ props }),\n borderRadius: '.25em'\n }\n }),\n\n chevronDirection: {\n left: {\n '&:before': {\n height: '100%',\n left: '100%',\n transform: 'translate3d(-1%, -50%, 1px) scale(-1, 1)'\n },\n '&:after': {\n height: '73%',\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n height: '100%',\n left: '0',\n transform: 'translate3d(-99%, -50%, 1px)'\n },\n '&:after': {\n height: '73%',\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }\n }\n}\n", "'use strict'\n\nimport {\n getTimingFunction,\n splitTransition,\n transformDuration\n} from '@symbo.ls/scratch'\n\nexport const Timing = {\n class: {\n transition: ({ props }) => props.transition && ({\n transition: splitTransition(props.transition)\n }),\n willChange: ({ props }) => props.willChange && ({\n willChange: props.willChange\n }),\n transitionDuration: ({ props }) => props.transitionDuration && ({\n transitionDuration: transformDuration(props.transitionDuration)\n }),\n transitionDelay: ({ props }) => props.transitionDelay && ({\n transitionDelay: transformDuration(props.transitionDelay)\n }),\n transitionTimingFunction: ({ props }) => props.transitionTimingFunction && ({\n transitionTimingFunction: getTimingFunction(props.transitionTimingFunction)\n }),\n transitionProperty: ({ props }) => props.transitionProperty && ({\n transitionProperty: props.transitionProperty,\n willChange: props.transitionProperty\n })\n }\n}\n", "'use strict'\n\nexport const Iframe = {\n tag: 'iframe',\n props: {\n position: 'relative',\n minWidth: 'H',\n minHeight: 'H'\n },\n attr: {\n src: ({ props }) => props.src,\n loading: ({ props }) => props.loading,\n allowfullscreen: ({ props }) => props.allowfullscreen,\n referrerpolicy: ({ props }) => props.referrerpolicy\n }\n}\n", "'use strict'\n\nexport const Interaction = {\n class: {\n userSelect: ({ props }) => props.userSelect && ({ userSelect: props.userSelect }),\n pointerEvents: ({ props }) => props.pointerEvents && ({ pointerEvents: props.pointerEvents }),\n cursor: ({ props }) => props.cursor && ({ cursor: props.cursor })\n }\n}\n", "'use strict'\n\nconst style = {\n appearance: 'none',\n border: 'none',\n cursor: 'pointer',\n fontFamily: 'inherit'\n}\n\nexport const Hoverable = {\n props: {\n transition: 'C defaultBezier',\n transitionProperty: 'opacity, transform',\n opacity: 0.85,\n\n ':hover': {\n opacity: 0.9,\n transform: 'scale(1.015)'\n },\n ':active': {\n opacity: 1,\n transform: 'scale(1.015)'\n },\n '.active': {\n opacity: 1,\n transform: 'scale(1.015)',\n\n ':hover': { opacity: 1 }\n }\n }\n}\n\nexport const Clickable = {\n extend: Hoverable,\n props: {\n ':active': {\n opacity: 1,\n transform: 'scale(1.015)'\n },\n '.active': {\n opacity: 1\n }\n }\n}\n\nexport const Focusable = {\n props: {\n border: 'none',\n outline: 'solid, 0, blue .3',\n ':focus-visible': {\n opacity: 1,\n outline: 'solid, X, blue .3'\n }\n },\n\n attr: {\n placeholder: ({ props }) => props.placeholder,\n tabIndex: ({ props }) => props.tabIndex\n }\n}\n\nexport const FocusableComponent = {\n extend: Focusable,\n tag: 'button',\n props: {\n fontSize: 'A',\n type: 'button',\n border: 'none',\n textDecoration: 'none',\n lineHeight: '1',\n whiteSpace: 'nowrap',\n fontFamily: 'inherit',\n style\n },\n attr: {\n type: ({ props }) => props.type\n }\n}\n", "'use strict'\n\nexport const Overflow = {\n class: {\n overflow: ({ props }) => props.overflow && ({ overflow: props.overflow })\n }\n}\n", "'use strict'\n\nimport { isState } from '@domql/state'\nimport { isNot, isArray, isObject, isObjectLike, diff, deepClone } from '@domql/utils'\n\nexport const Collection = {\n define: {\n $setCollection: (param, el, state) => {\n if (!param) return\n\n let data = isArray(param) ? param : []\n\n if (isObject(param)) {\n for (const obj in param) { data.push(param[obj]) }\n }\n\n data = data.map(item => !isObjectLike(item)\n ? {\n props: { value: item }\n }\n : item)\n\n if (data.length) {\n const t = setTimeout(() => {\n el.set({ tag: 'fragment', ...data }, { preventDefineUpdate: '$setCollection' })\n clearTimeout(t)\n })\n }\n\n return data\n },\n\n $setStateCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n if (el.key === 'cnt') {\n if (el.__ref.__stateCollectionCache) {\n const d = diff(param, el.__ref.__stateCollectionCache) // eslint-disable-line\n } else {\n el.__ref.__stateCollectionCache = deepClone(param)\n }\n }\n\n const obj = { tag: 'fragment' }\n\n for (const key in param) {\n const value = param[key]\n obj[key] = { state: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n return obj\n },\n\n $setPropsCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n const obj = { tag: 'fragment' }\n for (const key in param) {\n const value = param[key]\n obj[key] = { props: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n // const set = () => {\n // el.set(obj, { preventDefineUpdate: '$setPropsCollection' })\n // }\n\n // if (el.props && el.props.lazyLoad) {\n // window.requestAnimationFrame(set)\n // } else set()\n\n return obj\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingByKey } from '@symbo.ls/scratch'\n\nexport const Position = {\n props: {},\n\n class: {\n position: ({ props }) => props.position && ({ position: props.position }),\n inset: ({ props }) => {\n const { inset } = props\n if (typeof inset !== 'string') return\n return { inset: inset.split(' ').map(v => getSpacingByKey(v, 'k').k).join(' ') }\n },\n\n left: ({ props }) => getSpacingByKey(props.left, 'left'),\n top: ({ props }) => getSpacingByKey(props.top, 'top'),\n right: ({ props }) => getSpacingByKey(props.right, 'right'),\n bottom: ({ props }) => getSpacingByKey(props.bottom, 'bottom')\n }\n}\n", "'use strict'\n\nimport { getSystemTheme } from './Theme'\n\nexport const Picture = {\n tag: 'picture',\n\n childExtend: {\n tag: 'source',\n attr: {\n media: (element) => {\n const { props, key, context } = element\n const { MEDIA } = context.designSystem\n const globalTheme = getSystemTheme(element)\n const mediaName = (props.media || key).slice(1)\n\n if (mediaName === globalTheme) return '(min-width: 0px)'\n else if (mediaName === 'dark' || mediaName === 'light') return '(max-width: 0px)'\n\n return MEDIA[mediaName]\n },\n srcset: ({ props }) => props.srcset\n }\n },\n\n Img: ({ props }) => ({\n width: 'inherit',\n height: 'inherit',\n src: props.src\n })\n}\n", "'use strict'\n\nexport const Pseudo = {\n class: {\n content: ({ props }) => props.content && ({ content: props.content })\n }\n}\n", "'use strict'\n\n// import { init } from '@symbo.ls/init'\n\n// create SVG symbol\nexport const Svg = {\n tag: 'svg',\n props: {\n style: { '*': { fill: 'currentColor' } }\n },\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n 'xmlns:xlink': 'http://www.w3.org/1999/xlink'\n },\n html: ({ key, props, context, ...el }) => {\n const { designSystem, utils } = context\n const SVG = designSystem && designSystem.SVG\n const useSvgSprite = props.spriteId || (context.designSystem && context.designSystem.useSvgSprite)\n const useSVGSymbol = icon => `<use xlink:href=\"#${icon}\" />`\n\n const init = utils && utils.init\n\n if (!useSvgSprite && props.src) return props.src\n\n const spriteId = props.spriteId\n if (spriteId) return useSVGSymbol(spriteId)\n\n const symbolId = Symbol.for(props.src)\n let SVGKey = SVG[symbolId]\n if (SVGKey && SVG[SVGKey]) return useSVGSymbol(SVGKey)\n\n SVGKey = SVG[symbolId] = Math.random()\n if (props.src) {\n init({\n svg: { [SVGKey]: props.src }\n }, {\n document: context.document,\n emotion: context.emotion\n })\n }\n\n return useSVGSymbol(SVGKey)\n }\n}\n", "'use strict'\n\nimport { exec, isString } from '@domql/utils'\nimport { SHAPES } from './style'\nimport { getSpacingBasedOnRatio, getMediaColor } from '@symbo.ls/scratch'\nimport { Pseudo } from '../Pseudo'\n\nconst transformBorderRadius = (radius, props, propertyName) => {\n if (!isString(radius)) return\n return {\n borderRadius: radius.split(' ').map((v, k) => getSpacingBasedOnRatio(props, propertyName, v)[propertyName]).join(' ')\n }\n}\n\nexport const Shape = {\n extend: Pseudo,\n\n class: {\n shape: ({ props }) => {\n const { shape } = props\n return exec(SHAPES[shape], ({ props }))\n },\n shapeDirection: ({ props }) => {\n const { shape, shapeDirection } = props\n if (!shape || !shapeDirection) return\n const shapeDir = SHAPES[shape + 'Direction']\n return shape && shapeDir ? shapeDir[shapeDirection || 'left'] : null\n },\n shapeDirectionColor: ({ props }) => {\n const { background, backgroundColor } = props\n const borderColor = {\n borderColor: getMediaColor(background || backgroundColor)\n }\n return props.shapeDirection ? borderColor : null\n },\n\n round: ({ props, key, ...el }) => transformBorderRadius(props.round || props.borderRadius, props, 'round'),\n borderRadius: ({ props, key, ...el }) => transformBorderRadius(props.borderRadius || props.round, props, 'borderRadius')\n }\n}\n\nexport default Shape\n", "'use strict'\n\nimport { getFontSizeByKey, getFontFamily } from '@symbo.ls/scratch'\n\nexport const Text = {\n text: ({ key, props, state }) => {\n if (props.text === true) return (state && state[key]) || (props && props[key])\n return props.text\n },\n class: {\n fontSize: ({ props }) => props.fontSize ? getFontSizeByKey(props.fontSize) : null,\n fontFamily: ({ props }) => props.fontFamily && ({ fontFamily: getFontFamily(props.fontFamily) || props.fontFamily }),\n lineHeight: ({ props }) => props.lineHeight && ({ lineHeight: props.lineHeight }),\n // lineHeight: ({ props }) => props.lineHeight && getSpacingBasedOnRatio(props, 'lineHeight', null, ''),\n textDecoration: ({ props }) => props.textDecoration && ({ textDecoration: props.textDecoration }),\n textTransform: ({ props }) => props.textTransform && ({ textTransform: props.textTransform }),\n whiteSpace: ({ props }) => props.whiteSpace && ({ whiteSpace: props.whiteSpace }),\n letterSpacing: ({ props }) => props.letterSpacing && ({ letterSpacing: props.letterSpacing }),\n textAlign: ({ props }) => props.textAlign && ({ textAlign: props.textAlign }),\n fontWeight: ({ props }) => props.fontWeight && ({\n fontWeight: props.fontWeight,\n fontVariationSettings: '\"wght\" ' + props.fontWeight\n })\n }\n}\n\nexport const H1 = { tag: 'h1' }\nexport const H2 = { tag: 'h2' }\nexport const H3 = { tag: 'h3' }\nexport const H4 = { tag: 'h4' }\nexport const H5 = { tag: 'h5' }\nexport const H6 = { tag: 'h6' }\nexport const P = { tag: 'p' }\nexport const Caption = { tag: 'caption' }\nexport const Strong = {\n tag: 'strong',\n props: { fontWeight: '700' }\n}\nexport const Underline = { tag: 'u' }\nexport const Italic = { tag: 'i' }\n\nexport const Headline = {\n tag: 'h6',\n props: { fontSize: 'B', fontWeight: 500 }\n}\n\nexport const Subhead = {\n tag: 'span',\n props: { fontSize: 'Z1' }\n}\n\nexport const Footnote = {\n tag: 'span',\n props: { fontSize: 'Z' }\n}\n", "'use strict'\n\nexport const Transform = {\n class: {\n transform: ({ props }) => props.transform && ({ transform: props.transform }),\n transformOrigin: ({ props }) => props.transformOrigin && ({ transformOrigin: props.transformOrigin })\n }\n}\n", "'use strict'\n\nexport const XYZ = {\n class: {\n zIndex: ({ props }) => props.zIndex && ({ zIndex: props.zIndex })\n }\n}\n", "'use strict'\n\nimport { getTimingByKey, getTimingFunction } from '@symbo.ls/scratch'\nimport { isObject } from '@domql/utils'\nimport { emotion } from '@symbo.ls/emotion'\nconst { keyframes } = emotion\n\nconst applyAnimationProps = (animation, element) => {\n if (isObject(animation)) return { animationName: keyframes(animation) }\n const { ANIMATION } = element.context && element.context.designSystem\n const record = ANIMATION[animation]\n return keyframes(record)\n}\n\nexport const Animation = {\n class: {\n animation: (el) => el.props.animation && {\n animationName: applyAnimationProps(el.props.animation, el),\n animationDuration: getTimingByKey(el.props.animationDuration || 'A').timing,\n animationDelay: getTimingByKey(el.props.animationDelay || '0s').timing,\n animationTimingFunction: getTimingFunction(el.props.animationTimingFunction || 'ease'),\n animationFillMode: el.props.animationFillMode || 'both',\n animationPlayState: el.props.animationPlayState,\n animationDirection: el.props.animationDirection\n },\n animationName: (el) => el.props.animationName && {\n animationName: applyAnimationProps(el.props.animationName, el)\n },\n\n animationDuration: ({ props }) => props.animationDuration && ({\n animationDuration: getTimingByKey(props.animationDuration).timing\n }),\n animationDelay: ({ props }) => props.animationDelay && ({\n animationDelay: getTimingByKey(props.animationDelay).timing\n }),\n animationTimingFunction: ({ props }) => props.animationTimingFunction && ({\n animationTimingFunction: getTimingFunction(props.animationTimingFunction)\n }),\n animationFillMode: ({ props }) => props.animationFillMode && ({\n animationFillMode: props.animationFillMode\n }),\n animationPlayState: ({ props }) => props.animationPlayState && ({\n animationPlayState: props.animationPlayState\n }),\n animationIterationCount: ({ props }) => props.animationIterationCount && ({\n animationIterationCount: props.animationIterationCount || 1\n }),\n animationDirection: ({ props }) => props.animationDirection && ({\n animationDirection: props.animationDirection\n })\n }\n}\n", "/*\n\nBased off glamor's StyleSheet, thanks Sunil \u2764\uFE0F\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n", "export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n", "/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n", "import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n", "import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n", "import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n", "import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n", "function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n", "import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, COMMENT, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule' || cache.compat) return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses) {\n var isNested = !!element.parent; // in nested rules comments become children of the \"auto-inserted\" rule and that's always the `element.parent`\n //\n // considering this input:\n // .a {\n // .b /* comm */ {}\n // color: hotpink;\n // }\n // we get output corresponding to this:\n // .a {\n // & {\n // /* comm */\n // color: hotpink;\n // }\n // .b {}\n // }\n\n var commentContainer = isNested ? element.parent.children : // global rule at the root level\n children;\n\n for (var i = commentContainer.length - 1; i >= 0; i--) {\n var node = commentContainer[i];\n\n if (node.line < element.line) {\n break;\n } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n // this will also match inputs like this:\n // .a {\n // /* comm */\n // .b {}\n // }\n //\n // but that is fine\n //\n // it would be the easiest to change the placement of the comment to be the first child of the rule:\n // .a {\n // .b { /* comm */ }\n // }\n // with such inputs we wouldn't have to search for the comment at all\n // TODO: consider changing this comment placement in the next major version\n\n\n if (node.column < element.column) {\n if (isIgnoringComment(node)) {\n return;\n }\n\n break;\n }\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n", "/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport { murmur2 as default };\n", "var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n", "import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error(noComponentSelectorMessage);\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n", "var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n", "import createCache from '@emotion/cache';\nimport { serializeStyles } from '@emotion/serialize';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\n\nfunction insertWithoutScoping(cache, serialized) {\n if (cache.inserted[serialized.name] === undefined) {\n return cache.insert('', serialized, cache.sheet, true);\n }\n}\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar createEmotion = function createEmotion(options) {\n var cache = createCache(options); // $FlowFixMe\n\n cache.sheet.speedy = function (value) {\n if (process.env.NODE_ENV !== 'production' && this.ctr !== 0) {\n throw new Error('speedy must be changed before any rules are inserted');\n }\n\n this.isSpeedy = value;\n };\n\n cache.compat = true;\n\n var css = function css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered, undefined);\n insertStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var keyframes = function keyframes() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n var animation = \"animation-\" + serialized.name;\n insertWithoutScoping(cache, {\n name: serialized.name,\n styles: \"@keyframes \" + animation + \"{\" + serialized.styles + \"}\"\n });\n return animation;\n };\n\n var injectGlobal = function injectGlobal() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n insertWithoutScoping(cache, serialized);\n };\n\n var cx = function cx() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n return {\n css: css,\n cx: cx,\n injectGlobal: injectGlobal,\n keyframes: keyframes,\n hydrate: function hydrate(ids) {\n ids.forEach(function (key) {\n cache.inserted[key] = true;\n });\n },\n flush: function flush() {\n cache.registered = {};\n cache.inserted = {};\n cache.sheet.flush();\n },\n // $FlowFixMe\n sheet: cache.sheet,\n cache: cache,\n getRegisteredStyles: getRegisteredStyles.bind(null, cache.registered),\n merge: merge.bind(null, cache.registered, css)\n };\n};\n\nvar classnames = function classnames(args) {\n var cls = '';\n\n for (var i = 0; i < args.length; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nexport { createEmotion as default };\n", "'use strict'\n\nimport createInstance from '@emotion/css/create-instance'\n\nexport const createEmotion = (key = 'smbls', container) => {\n const cleanKey = key.replaceAll(/\\./g, '-')\n return createInstance({ key: cleanKey, container })\n}\n\nexport const emotion = createEmotion()\n", "'use strict'\n\nimport {\n Shape,\n Position,\n Theme,\n Block,\n Text,\n Overflow,\n Timing,\n Transform,\n Media,\n Interaction,\n XYZ,\n Animation\n} from '@symbo.ls/atoms'\n\nconst PropsCSS = {\n class: {\n style: ({ props }) => props && props.style\n }\n}\n\nexport const Box = {\n extend: [\n PropsCSS,\n Shape,\n Position,\n Theme,\n Block,\n Text,\n Overflow,\n Timing,\n Transform,\n Media,\n Interaction,\n XYZ,\n Animation\n ],\n attr: {\n id: ({ props }) => props.id\n }\n}\n", "'use strict'\n\nimport { Img, Flex } from '@symbo.ls/atoms'\n\nexport const Avatar = {\n extend: Img,\n props: {\n display: 'block',\n avatarType: 'initials',\n borderRadius: '100%',\n boxSize: 'B',\n cursor: 'pointer'\n },\n attr: {\n src: ({ key, props }) => props.src || `https://avatars.dicebear.com/api/${props.avatarType || 'adventurer-neutral'}/${props.key || key}.svg`\n }\n}\n\nexport const AvatarBundle = {\n extend: Flex,\n childExtend: {\n extend: Avatar,\n props: {\n boxSize: 'B1',\n border: '0.1312em, black .85, solid',\n ':not(:last-child)': {\n margin: '0 -Y2 0 0'\n }\n }\n }\n}\n", "'use strict'\n\nimport { Flex, Svg } from '@symbo.ls/atoms'\n\nexport const Icon = {\n extend: Svg,\n props: ({ key, props, parent, context }) => {\n const { ICONS, useIconSprite, verbose } = context && context.designSystem\n const { toCamelCase } = context && context.utils\n const iconName = props.inheritedString || props.name || props.icon || key\n const camelCase = toCamelCase(iconName)\n\n const isArray = camelCase.split(/([a-z])([A-Z])/g)\n\n let activeIconName\n if (props.active) {\n activeIconName = props['.active'].name || props['.active'].icon\n }\n if (\n parent &&\n parent.props &&\n parent.props.active &&\n parent.props['.active'] &&\n parent.props['.active'].icon\n ) {\n activeIconName = parent.props['.active'].icon.name || parent.props['.active'].icon.icon || parent.props['.active'].icon\n }\n\n let validIconName\n if (ICONS[activeIconName]) validIconName = activeIconName\n if (ICONS[camelCase]) validIconName = camelCase\n else if (ICONS[isArray[0] + isArray[1]]) validIconName = isArray[0] + isArray[1]\n else if (ICONS[isArray[0]]) validIconName = isArray[0]\n else {\n if (verbose) console.warn('Can\\'t find icon:', iconName, validIconName)\n }\n\n const iconFromLibrary = ICONS[validIconName]\n const directSrc = (parent && parent.props && parent.props.src) || props.src\n\n return {\n width: 'A',\n height: 'A',\n display: 'inline-block',\n spriteId: useIconSprite && validIconName,\n src: iconFromLibrary || directSrc || ICONS.noIcon,\n style: { fill: 'currentColor' }\n }\n },\n attr: { viewBox: '0 0 24 24' }\n}\n\nexport const IconText = {\n extend: Flex,\n\n props: {\n align: 'center center',\n lineHeight: 1\n },\n\n // TODO: remove this variant\n icon: {\n extend: Icon,\n if: ({ parent }) => parent.props.icon\n },\n\n Icon: {\n props: {},\n if: ({ props }) => props.name || props.icon\n },\n\n text: ({ props }) => props.text\n}\n", "'use strict'\n\nimport { FocusableComponent } from '@symbo.ls/atoms'\nimport { IconText } from '@symbo.ls/icon'\n\nexport const Button = {\n extend: [FocusableComponent, IconText],\n tag: 'button',\n props: {\n fontSize: 'A',\n type: 'button',\n border: 'none',\n display: 'inline-flex',\n align: 'center center',\n textDecoration: 'none',\n lineHeight: '1',\n whiteSpace: 'nowrap',\n padding: 'Z A1',\n fontFamily: 'inherit',\n round: 'C2'\n },\n attr: {\n type: ({ props }) => props.type\n }\n}\n\nexport const SquareButton = {\n extend: Button,\n props: {\n fontSize: 'A',\n width: 'A',\n padding: 'Z',\n aspectRatio: '1 / 1',\n justifyContent: 'center',\n round: 'Z',\n style: { boxSizing: 'content-box' }\n }\n}\n\nexport const CircleButton = {\n extend: SquareButton,\n props: { round: 'C' }\n}\n\nexport const KangorooButton = {\n extend: Button,\n childExtend: IconText\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\nimport { SquareButton } from '@symbo.ls/button'\n\nexport const ButtonSet = {\n tag: 'nav',\n extend: Flex,\n childExtend: SquareButton\n}\n", "'use strict'\n\nimport { Button } from '@symbo.ls/button'\nimport { Flex } from '@symbo.ls/atoms'\n\nexport const Dialog = {\n props: {\n theme: 'tertiary',\n round: 'Z2',\n margin: 'E',\n overflow: 'hidden',\n padding: '- Z - -'\n }\n}\n\nexport const DialogFooter = {\n extend: Flex,\n props: {\n align: 'center flex-end',\n gap: 'X2',\n margin: 'auto - -',\n padding: 'Y2 X2'\n },\n\n childExtend: {\n extend: Button,\n props: {\n theme: 'primary @dark .color-only',\n fontSize: 'Z1',\n textTransform: 'uppercase',\n background: 'transparent',\n '&': {\n padding: 'Z A'\n },\n ':hover': {\n background: 'white .065'\n },\n ':active': {\n background: 'white .1'\n }\n }\n },\n\n cancel: {\n text: 'cancel'\n },\n ok: {\n text: 'ok'\n }\n}\n", "'use strict'\n\nimport { Flex, Grid } from '@symbo.ls/atoms'\nimport { Button } from '@symbo.ls/button'\nimport { Dialog } from '@symbo.ls/dialog'\nimport { HeadlessDatepicker } from 'headless-datepicker'\nconst calendar = new HeadlessDatepicker.Calendar({\n calendarMode: 'exact'\n})\n\nconst extractMonthDays = (data) => {\n const result = []\n\n data.weeks.forEach((week) => {\n week.dates.forEach((date) => {\n result.push(date)\n })\n })\n\n return result\n}\n\nexport const DatePickerYears = {\n tag: 'aside',\n props: {\n overflow: 'hidden',\n position: 'relative',\n\n ':before': {\n content: '\"\"',\n boxSize: 'A1 100%',\n position: 'absolute',\n top: '0',\n left: '0',\n background: 'linear-gradient(to bottom, var(--theme-tertiary-dark-background) 0%, transparent 100%)',\n zIndex: '10'\n },\n ':after': {\n content: '\"\"',\n boxSize: 'B 100%',\n position: 'absolute',\n bottom: '0',\n left: '0',\n background: 'linear-gradient(to top, var(--theme-tertiary-dark-background) 0%, transparent 100%)'\n }\n },\n\n Flex: {\n props: {\n flow: 'column',\n gap: 'B',\n padding: 'A Z A1 B1',\n maxHeight: '100%',\n overflow: 'hidden auto',\n '::-webkit-scrollbar': { display: 'none' }\n },\n\n childExtend: {\n extend: Button,\n props: ({ state, text }) => ({\n fontSize: 'Y1',\n color: 'white',\n opacity: '.4',\n background: 'transparent',\n transition: 'opacity .25s ease',\n isSelected: state.activeYear === text,\n '.isSelected': { opacity: '1' },\n ':hover': { opacity: '1' }\n }),\n on: {\n click: (event, element, state) => state.update({ activeYear: element.text }),\n render: (el, state) => {\n const { props } = el\n const { isSelected } = props\n if (isSelected) {\n window.requestAnimationFrame(() => {\n el.parent.parent.node.scrollTop = el.node.offsetTop - 100\n })\n }\n }\n }\n },\n\n $setCollection: ({ state, parent }) => {\n const { yearRange } = parent.parent.props\n\n if (yearRange) {\n const [start, end] = yearRange\n const yearsArray = (new Array(end + 1 - start)).fill(undefined).map((v, k) => {\n return { text: start + k }\n }).reverse()\n return yearsArray\n }\n\n return [\n { text: '2023' },\n { text: '2022' },\n { text: '2021' },\n { text: '2020' },\n { text: '2019' },\n { text: '2018' },\n { text: '2017' },\n { text: '2016' },\n { text: '2015' },\n { text: '2014' },\n { text: '2013' },\n { text: '2012' },\n { text: '2012' },\n { text: '2012' }\n ]\n }\n }\n}\n\nexport const DatePickerMonthsSlider = {\n extend: Flex,\n props: {\n position: 'relative',\n overflow: 'hidden',\n alignItems: 'center',\n padding: '- - B -',\n maxWidth: `${272 / 16}em`,\n boxSizing: 'border-box',\n ':before': {\n content: '\"\"',\n position: 'absolute',\n boxSize: '100% 100px',\n background: 'linear-gradient(to right, var(--theme-tertiary-dark-background) 0%, transparent 100%)',\n left: '0',\n top: '0',\n zIndex: '30',\n pointerEvents: 'none'\n },\n ':after': {\n content: '\"\"',\n position: 'absolute',\n boxSize: '100% 100px',\n background: 'linear-gradient(to left, var(--theme-tertiary-dark-background) 0%, transparent 100%)',\n right: '0',\n top: '0',\n zIndex: '30',\n pointerEvents: 'none'\n },\n\n style: {\n '> button': {\n width: '16px',\n height: '16px',\n position: 'absolute',\n zIndex: '35',\n background: 'transparent',\n color: '#0079FD',\n ':first-child': { left: '18px' },\n ':last-child': { right: '18px' }\n }\n }\n },\n\n leftButton: {\n extend: Button,\n props: { icon: 'arrowLeft' }\n },\n\n Flex: {\n props: {\n flex: '1',\n overflow: 'auto hidden',\n '::-webkit-scrollbar': { display: 'none' }\n },\n\n childExtend: {\n tag: 'h6',\n props: ({ state, key }) => ({\n fontSize: 'Z1',\n textAlign: 'center',\n boxSizing: 'content-box',\n minWidth: '272px',\n\n isSelected: state.activeMonth === parseInt(key),\n '.isSelected': { opacity: '1' }\n }),\n\n render: (el, state) => {\n const { props } = el\n const { isSelected } = props\n if (isSelected) {\n window.requestAnimationFrame(() => {\n el.parent.parent.node.scrollLeft = el.node.offsetLeft\n })\n }\n }\n },\n\n $setCollection: ({ state, parent }) => {\n return [\n { text: 'January' },\n { text: 'February' },\n { text: 'March' },\n { text: 'April' },\n { text: 'May' },\n { text: 'June' },\n { text: 'July' },\n { text: 'August' },\n { text: 'September' },\n { text: 'October' },\n { text: 'November' },\n { text: 'December' }\n ]\n }\n },\n\n rightButton: { extend: Button, props: { icon: 'arrowRight' } }\n}\n\nexport const DatePickerWeekDays = {\n extend: Grid,\n props: {\n overflow: 'hidden',\n padding: '- Z Z',\n width: '100%',\n columns: 'repeat(7, 1fr)',\n gap: 'W2'\n },\n childExtend: {\n tag: 'span',\n extend: Flex,\n props: {\n fontSize: 'Y1',\n textTransform: 'capitalize',\n align: 'center center',\n ':nth-child(7n-1), &:nth-child(7n)': { opacity: '.5' }\n }\n },\n ...[\n { text: 'Mo' },\n { text: 'Tu' },\n { text: 'We' },\n { text: 'Th' },\n { text: 'Fr' },\n { text: 'Sa' },\n { text: 'Su' }\n ]\n}\n\nexport const DatePickerDay = {\n extend: Button,\n state: true,\n\n props: ({ state, key }) => {\n const isSelected = state.parent.activeDay === parseInt(key) + 1\n const gridColumnStart = 7 - state.parent.weekItems.weeks[0].dates.length\n\n return {\n isSelected,\n textAlign: 'center',\n fontSize: 'Z1',\n round: '100%',\n height: 'B1',\n aspectRatio: '1/1',\n lineHeight: '.9',\n background: 'transparent',\n theme: 'secondary @dark .color',\n text: parseInt(key) + 1,\n ':first-child': {\n style: { gridColumnStart }\n },\n '.isSelected': { theme: 'primary' },\n '!isSelected': {\n ':hover': { theme: 'secondary' },\n ':nth-child(7n-1), &:nth-child(7n)': { opacity: '.5' }\n }\n }\n },\n\n on: {\n click: (event, element, state) => {\n state.parent.parent.update({\n active: state.parse()\n })\n console.log(state)\n }\n }\n}\n\nexport const DatePickerGrid = {\n extend: Grid,\n\n props: {\n columns: 'repeat(7, 1fr)',\n minWidth: '100%',\n gap: 'W2',\n padding: '- Z'\n },\n\n childExtend: DatePickerDay,\n\n $setStateCollection: (el, s) => {\n return s.days\n }\n}\n\nconst monthNumbersContainer = {\n props: {\n maxWidth: `${272 / 16}em`,\n position: 'relative',\n ':before': {\n content: '\"\"',\n position: 'absolute',\n boxSize: '100% 12px',\n background: 'linear-gradient(to right, var(--theme-tertiary-dark-background) 0%, transparent 100%)',\n left: '0',\n top: '0',\n zIndex: '30'\n },\n ':after': {\n content: '\"\"',\n position: 'absolute',\n boxSize: '100% 12px',\n background: 'linear-gradient(to left, var(--theme-tertiary-dark-background) 0%, transparent 100%)',\n right: '0',\n top: '0',\n zIndex: '30'\n },\n content: {\n overflow: 'auto hidden'\n }\n },\n\n state: (el, s) => {\n const state = el.parent.state\n return (new Array(12)).fill(undefined).map((v, k) => {\n const year = state.activeYear\n const month = k + 1\n const weekItems = calendar.getMonth({ year, month })\n return {\n year,\n month,\n weekItems,\n days: extractMonthDays(weekItems)\n }\n })\n },\n\n content: {\n extend: Flex,\n childExtend: DatePickerGrid,\n $setStateCollection: (el, s) => s.parse()\n }\n}\n\nconst props = {\n yearRange: [1993, 2023],\n maxHeight: '318px',\n boxSize: 'fit-content fit-content',\n style: {\n button: {\n padding: '0'\n }\n }\n}\n\nexport const DatePicker = {\n extend: [Dialog, Flex],\n state: {\n activeYear: 1993,\n activeMonth: 8,\n activeDay: 14\n },\n\n props,\n\n DatePickerYears: {},\n\n Flex: {\n props: {\n flow: 'column',\n padding: '20px - - -',\n position: 'relative'\n },\n\n DatePickerMonthsSlider: {},\n\n DatePickerWeekDays: {},\n\n monthNumbersContainer,\n\n DialogFooter: {}\n }\n}\n\nexport const DatePickerTwoColumns = {\n extend: DatePicker,\n Flex: {\n DatePickerMonthsSlider: {\n maxWidth: `${544 / 16}em`\n },\n DatePickerWeekDays: {\n maxWidth: `${544 / 16}em`\n },\n monthNumbersContainer: {\n maxWidth: `${544 / 16}em`\n }\n }\n}\n", "'use strict'\n\nimport { Focusable } from '@symbo.ls/atoms'\n\nexport const Input = {\n extend: [Focusable],\n tag: 'input',\n\n props: {\n border: 'none',\n type: 'input',\n theme: 'quaternary',\n fontSize: 'A',\n round: 'C',\n lineHeight: 1,\n fontFamily: 'smbls',\n padding: 'Z A'\n },\n\n attr: {\n pattern: ({ props }) => props.pattern,\n minlength: ({ props }) => props.minlength,\n maxlength: ({ props }) => props.maxlength,\n name: ({ props }) => props.name,\n autocomplete: ({ props }) => props.autocomplete,\n placeholder: ({ props }) => props.placeholder,\n value: ({ props, state }) => props.value,\n disabled: ({ props }) => props.disabled || null,\n readonly: ({ props }) => props.readonly,\n required: ({ props }) => props.required,\n type: ({ props }) => props.type\n }\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\nimport { Input } from '@symbo.ls/input'\nimport { Button } from '@symbo.ls/button'\n\nconst props = {\n align: 'center center',\n flow: 'column',\n gap: 'X',\n style: {\n 'input[type=number]::-webkit-inner-spin-button': {\n '-webkit-appearance': 'none',\n margin: 0\n },\n 'input[type=number]::-webkit-outer-spin-button': {\n '-webkit-appearance': 'none',\n margin: 0\n },\n 'input[type=number]': { '-webkit-appearance': 'textfield' },\n 'input:focus < button': { border: '3px solid red' },\n '> button': {\n padding: '0',\n background: 'transparent',\n color: 'white',\n fontSize: `${12 / 16}em`,\n display: 'none'\n }\n },\n\n input: {\n boxSize: 'C C',\n round: 'Z',\n padding: '0',\n align: 'center center',\n textAlign: 'center',\n color: 'white',\n background: 'white .15'\n }\n}\n\nexport const TimePickerItem = {\n tag: 'label',\n extend: Flex,\n props,\n upButton: { extend: Button, props: { icon: 'plus' } },\n input: { extend: [Input, Flex], attr: { type: 'number', min: '1', max: '24', value: '1' } },\n downButton: { extend: Button, props: { icon: 'minus' } }\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\nimport { Dialog } from '@symbo.ls/dialog'\nimport { TimePickerItem } from './TimePickerItem'\n\nconst props = {\n flow: 'column',\n width: 'fit-content',\n background: 'rgba(255, 255, 255, .15)',\n padding: 'A A B A',\n round: 'Z',\n\n title: {\n fontSize: 'Z1',\n textTransform: 'capitalize',\n padding: '- - B -'\n },\n\n content: {\n align: 'center center',\n gap: 'A',\n timePickers: {\n align: 'center center',\n gap: 'Y2'\n }\n },\n\n footButtons: {\n align: 'center flex-end',\n gap: 'A1',\n padding: 'B1 - - -',\n childProps: {\n background: 'transparent',\n padding: '0',\n color: '#0079FD'\n }\n }\n}\n\nexport const TimePicker = {\n extend: [Dialog, Flex],\n props,\n title: { text: 'enter time' },\n content: {\n extend: Flex,\n timePickers: {\n tag: 'label',\n extend: Flex,\n ...[\n { extend: TimePickerItem },\n ':',\n { extend: TimePickerItem },\n ':',\n { extend: TimePickerItem }\n ]\n },\n TimeSwitcher: {}\n },\n\n DialogFooter: {}\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\nimport { Button } from '@symbo.ls/button'\n\nexport const DropdownList = {\n extend: Flex,\n\n props: {\n padding: '0 Y',\n maxHeight: 'G',\n flow: 'column',\n theme: 'quaternary',\n overflow: 'hidden auto',\n style: { listStyleType: 'none' }\n },\n\n childExtend: {\n extend: Button,\n state: {},\n props: ({ key, state }) => ({\n active: state.active === key,\n position: 'relative',\n round: '0',\n align: 'center flex-end',\n flow: 'row-reverse',\n padding: 'Z2 C Z2 Y2',\n margin: '0',\n gap: 'Y2',\n theme: 'quaternary .child',\n\n ':hover': {\n style: {\n svg: { opacity: '0.5' }\n }\n },\n\n icon: {\n active: state.active === key,\n name: 'checkmark',\n opacity: '0.1',\n '.active': { opacity: '1' }\n },\n\n ':not(:first-child)': {\n '@dark': { border: 'gray4 .65, solid' },\n '@light': { border: 'gray11, solid' },\n borderWidth: '1px 0 0'\n }\n })\n }\n}\n\nexport const DropdownParent = {\n props: {\n position: 'relative',\n zIndex: 999,\n style: {\n '&:hover': {\n zIndex: 1000,\n '& [dropdown]': {\n transform: 'translate3d(0,0,0)',\n opacity: 1,\n visibility: 'visible'\n }\n }\n }\n }\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\n\nconst props = {\n flow: 'column',\n gap: 'Y2',\n childProps: { textTransform: 'capitalize' },\n subCaption: {\n fontSize: 'Z',\n color: '#A3A3A8'\n }\n}\n\nexport const FieldLabel = {\n extend: Flex,\n props,\n caption: {\n tag: 'span',\n text: 'text'\n },\n subCaption: {\n tag: 'span',\n text: 'description'\n }\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\n\nimport { FieldLabel } from './FieldLabel'\n\nconst templateDefault = {\n padding: 'Z',\n round: '100%',\n boxSize: 'fit-content fit-content',\n ':hover': { background: '#252527' },\n\n input: {\n ':checked + div': {\n background: '#0474F2',\n border: 'none'\n },\n ':checked + div > svg': { opacity: '1' },\n display: 'none'\n },\n\n checkbox: {\n align: 'center center',\n border: '1px solid #E9E9EA',\n boxSize: 'B B',\n round: 'Y',\n Icon: {\n height: 'Z Z2',\n color: 'white',\n name: 'check',\n opacity: '0',\n transition: 'opacity .15s ease'\n }\n }\n}\n\nexport const Checkbox = {\n tag: 'label',\n props: templateDefault,\n input: {\n attr: {\n type: 'checkbox',\n checked: ({ parent }) => parent.props.checked\n }\n },\n checkbox: {\n extend: 'Flex',\n Icon: {}\n }\n}\n\nexport const CheckBoxWithLabel = {\n extend: Flex,\n props: {\n gap: 'A',\n width: 'fit-content',\n fieldLabel: { padding: 'Z - - -' }\n },\n checkbox: { extend: Checkbox },\n fieldLabel: { extend: FieldLabel }\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\n\nimport { Checkbox } from './Checkbox'\nimport { FieldLabel } from './FieldLabel'\n\nconst templateDefault = {\n input: { ':checked + div > div': { opacity: '1' } },\n checkbox: {\n round: '100%',\n circle: {\n boxSize: 'Y2 Y2',\n background: 'black',\n round: '100%',\n opacity: '0',\n transition: 'opacity .15s ease'\n }\n }\n}\n\nexport const Radio = {\n extend: Checkbox,\n props: templateDefault,\n input: { attr: { type: 'radio' } },\n checkbox: {\n Icon: null,\n circle: {}\n }\n}\n\nexport const RadioWithLabel = {\n extend: Flex,\n props: {\n gap: 'A',\n width: 'fit-content',\n fieldLabel: { padding: 'Z - - -' }\n },\n radio: { extend: Radio },\n fieldLabel: { extend: FieldLabel }\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\n\nimport { Checkbox } from './Checkbox'\nimport { FieldLabel } from './FieldLabel'\n\nconst templateDefault = {\n padding: 'Y',\n round: 'B',\n input: { ':checked + div': { justifyContent: 'flex-end', background: '#47FF09' } },\n ':hover > div': { opacity: '1' },\n checkbox: {\n boxSize: 'B C',\n padding: '- W',\n round: 'D',\n opacity: '.5',\n align: 'center flex-start',\n background: '#CFCFD1',\n border: 'none',\n transition: 'opacity .15s ease',\n circle: {\n boxSize: 'A1 A1',\n round: '100%',\n background: 'white',\n style: {\n boxShadow: '1px 1px 8px rgba(0, 0, 0, 0.2)'\n }\n }\n }\n}\n\nexport const ToggleSwitch = {\n extend: Checkbox,\n props: templateDefault,\n\n input: {},\n checkbox: {\n Icon: null,\n circle: {}\n }\n}\n\nexport const ToggleSwithWithLabel = {\n extend: Flex,\n props: {\n gap: 'A',\n width: 'fit-content',\n fieldLabel: { padding: 'Z - - -' }\n },\n toggleSwith: { extend: ToggleSwitch },\n fieldLabel: { extend: FieldLabel }\n}\n", "'use strict'\n\nimport { Flex, Svg } from '@symbo.ls/atoms'\n\nexport const Icon = {\n extend: Svg,\n props: ({ key, props, parent, context }) => {\n const { ICONS, useIconSprite, verbose } = context && context.designSystem\n const { toCamelCase } = context && context.utils\n const iconName = props.inheritedString || props.name || props.icon || key\n const camelCase = toCamelCase(iconName)\n\n const isArray = camelCase.split(/([a-z])([A-Z])/g)\n\n let activeIconName\n if (props.active) {\n activeIconName = props['.active'].name || props['.active'].icon\n }\n if (\n parent &&\n parent.props &&\n parent.props.active &&\n parent.props['.active'] &&\n parent.props['.active'].icon\n ) {\n activeIconName = parent.props['.active'].icon.name || parent.props['.active'].icon.icon || parent.props['.active'].icon\n }\n\n let validIconName\n if (ICONS[activeIconName]) validIconName = activeIconName\n if (ICONS[camelCase]) validIconName = camelCase\n else if (ICONS[isArray[0] + isArray[1]]) validIconName = isArray[0] + isArray[1]\n else if (ICONS[isArray[0]]) validIconName = isArray[0]\n else {\n if (verbose) console.warn('Can\\'t find icon:', iconName, validIconName)\n }\n\n const iconFromLibrary = ICONS[validIconName]\n const directSrc = (parent && parent.props && parent.props.src) || props.src\n\n return {\n width: 'A',\n height: 'A',\n display: 'inline-block',\n spriteId: useIconSprite && validIconName,\n src: iconFromLibrary || directSrc || ICONS.noIcon,\n style: { fill: 'currentColor' }\n }\n },\n attr: { viewBox: '0 0 24 24' }\n}\n\nexport const IconText = {\n extend: Flex,\n\n props: {\n align: 'center center',\n lineHeight: 1\n },\n\n // TODO: remove this variant\n icon: {\n extend: Icon,\n if: ({ parent }) => parent.props.icon\n },\n\n Icon: {\n props: {},\n if: ({ props }) => props.name || props.icon\n },\n\n text: ({ props }) => props.text\n}\n", "'use strict'\n\nimport { router as defaultRouter } from '@domql/router'\nimport { Focusable } from '@symbo.ls/atoms'\n\nexport const Link = {\n extend: Focusable,\n tag: 'a',\n props: {\n aria: {},\n fontWeight: 'bold',\n textDecoration: 'none',\n color: 'currentColor',\n draggable: false\n },\n attr: {\n href: (el, s, ctx) => {\n const { exec } = ctx.utils\n return exec(el.props.href, el) || exec(el.props, el).href\n },\n target: ({ props }) => props.target,\n 'aria-label': ({ props }) => props.aria ? props.aria.label : props.text,\n draggable: ({ props }) => props.draggable\n }\n}\n\nexport const RouterLink = {\n on: {\n click: (event, el, s, ctx) => {\n const { props } = el\n const { href } = props\n if (!href) return\n const { utils, routerOptions } = ctx\n const { router } = utils\n const root = el.__ref.__root\n const linkIsExternal = href.includes('http://') ||\n href.includes('https://') ||\n href.includes('mailto:') ||\n href.includes('tel:')\n const options = props.routerOptions || routerOptions || {\n scrollToOptions: { behaviour: 'instant' }\n }\n if (href && !linkIsExternal) {\n (router || defaultRouter)(href, root, {}, options)\n event.preventDefault()\n }\n }\n }\n}\n\nexport const RouteLink = {\n extend: [Link, RouterLink]\n}\n", "'use strict'\n\nimport { getSpacingBasedOnRatio, getSpacingByKey, transfromGap } from '@symbo.ls/scratch'\n\nexport const Block = {\n class: {\n boxSizing: ({ props }) => props.boxSizing\n ? ({ boxSizing: props.boxSizing })\n : {\n boxSizing: 'border-box'\n },\n\n display: ({ props }) => props.display && ({ display: props.display }),\n\n hide: ({ props }) => props.hide && ({ display: 'none' }),\n\n width: ({ props }) => props.width && getSpacingBasedOnRatio(props, 'width'),\n height: ({ props }) => props.height && getSpacingBasedOnRatio(props, 'height'),\n boxSize: ({ props }) => {\n if (typeof props.boxSize !== 'string') return\n const [height, width] = props.boxSize.split(' ')\n return {\n ...getSpacingByKey(height, 'height'),\n ...getSpacingByKey(width || height, 'width')\n }\n },\n\n maxWidth: ({ props }) => props.maxWidth && getSpacingBasedOnRatio(props, 'maxWidth'),\n minWidth: ({ props }) => props.minWidth && getSpacingBasedOnRatio(props, 'minWidth'),\n widthRange: ({ props }) => {\n if (typeof props.widthRange !== 'string') return\n const [minWidth, maxWidth] = props.widthRange.split(' ')\n return {\n ...getSpacingByKey(minWidth, 'minWidth'),\n ...getSpacingByKey(maxWidth || minWidth, 'maxWidth')\n }\n },\n\n maxHeight: ({ props }) => props.maxHeight && getSpacingBasedOnRatio(props, 'maxHeight'),\n minHeight: ({ props }) => props.minHeight && getSpacingBasedOnRatio(props, 'minHeight'),\n heightRange: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n direction: ({ props }) => props.direction && ({ direction: props.direction }),\n\n aspectRatio: ({ props }) => props.aspectRatio && ({ aspectRatio: props.aspectRatio }),\n\n borderWidth: ({ props }) => props.borderWidth ? getSpacingBasedOnRatio(props, 'borderWidth') : null,\n\n padding: ({ props }) => props.padding ? getSpacingBasedOnRatio(props, 'padding') : null,\n paddingInline: ({ props }) => {\n if (typeof props.paddingInline !== 'string') return\n const [paddingInlineStart, paddingInlineEnd] = props.paddingInline.split(' ')\n return {\n ...getSpacingByKey(paddingInlineStart, 'paddingInlineStart'),\n ...getSpacingByKey(paddingInlineEnd || paddingInlineStart, 'paddingInlineEnd')\n }\n },\n paddingBlock: ({ props }) => {\n if (typeof props.paddingBlock !== 'string') return\n const [paddingBlockStart, paddingBlockEnd] = props.paddingBlock.split(' ')\n return {\n ...getSpacingByKey(paddingBlockStart, 'paddingBlockStart'),\n ...getSpacingByKey(paddingBlockEnd || paddingBlockStart, 'paddingBlockEnd')\n }\n },\n paddingInlineStart: ({ props }) => props.paddingInlineStart ? getSpacingBasedOnRatio(props, 'paddingInlineStart') : null,\n paddingInlineEnd: ({ props }) => props.paddingInlineEnd ? getSpacingBasedOnRatio(props, 'paddingInlineEnd') : null,\n paddingBlockStart: ({ props }) => props.paddingBlockStart ? getSpacingBasedOnRatio(props, 'paddingBlockStart') : null,\n paddingBlockEnd: ({ props }) => props.paddingBlockEnd ? getSpacingBasedOnRatio(props, 'paddingBlockEnd') : null,\n\n margin: ({ props }) => props.margin ? getSpacingBasedOnRatio(props, 'margin') : null,\n marginInline: ({ props }) => {\n if (typeof props.marginInline !== 'string') return\n const [marginInlineStart, marginInlineEnd] = props.marginInline.split(' ')\n return {\n ...getSpacingByKey(marginInlineStart, 'marginInlineStart'),\n ...getSpacingByKey(marginInlineEnd || marginInlineStart, 'marginInlineEnd')\n }\n },\n marginBlock: ({ props }) => {\n if (typeof props.marginBlock !== 'string') return\n const [marginBlockStart, marginBlockEnd] = props.marginBlock.split(' ')\n return {\n ...getSpacingByKey(marginBlockStart, 'marginBlockStart'),\n ...getSpacingByKey(marginBlockEnd || marginBlockStart, 'marginBlockEnd')\n }\n },\n marginInlineStart: ({ props }) => props.marginInlineStart ? getSpacingBasedOnRatio(props, 'marginInlineStart') : null,\n marginInlineEnd: ({ props }) => props.marginInlineEnd ? getSpacingBasedOnRatio(props, 'marginInlineEnd') : null,\n marginBlockStart: ({ props }) => props.marginBlockStart ? getSpacingBasedOnRatio(props, 'marginBlockStart') : null,\n marginBlockEnd: ({ props }) => props.marginBlockEnd ? getSpacingBasedOnRatio(props, 'marginBlockEnd') : null,\n\n gap: ({ props }) => props.gap\n ? ({\n gap: transfromGap(props.gap)\n })\n : null,\n gridArea: ({ props }) => props.gridArea && ({ gridArea: props.gridArea }),\n\n flex: ({ props }) => props.flex && ({ flex: props.flex }),\n flexDirection: ({ props }) => props.flexDirection && ({ flexDirection: props.flexDirection }),\n alignItems: ({ props }) => props.alignItems && ({ alignItems: props.alignItems }),\n alignContent: ({ props }) => props.alignContent && ({ alignContent: props.alignContent }),\n justifyContent: ({ props }) => props.justifyContent && ({ justifyContent: props.justifyContent }),\n justifyItems: ({ props }) => props.justifyItems && ({ justifyItems: props.justifyItems }),\n alignSelf: ({ props }) => props.alignSelf && ({ alignSelf: props.alignSelf }),\n order: ({ props }) => props.order && ({ order: props.order }),\n\n flexWrap: ({ props }) => props.flexWrap && ({\n display: 'flex',\n flexFlow: props.flexWrap\n }),\n flexFlow: ({ props }) => props.flexFlow && ({\n display: 'flex',\n flexFlow: props.flexFlow\n }),\n flexAlign: ({ props }) => {\n if (typeof props.flexAlign !== 'string') return\n const [alignItems, justifyContent] = props.flexAlign.split(' ')\n return {\n display: 'flex',\n alignItems,\n justifyContent\n }\n },\n\n gridColumn: ({ props }) => props.gridColumn && ({ gridColumn: props.gridColumn }),\n gridColumnStart: ({ props }) => props.columnStart\n ? ({\n gridColumnStart: props.columnStart\n })\n : null,\n gridRow: ({ props }) => props.gridRow && ({ gridRow: props.gridRow }),\n gridRowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n size: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n columns: ({ props }) => props.columns && ({ columns: props.columns }),\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n columnSpan: ({ props }) => props.columnSpan && ({ columns: props.columnSpan }),\n columnFill: ({ props }) => props.columnFill && ({ columns: props.columnFill }),\n columnCount: ({ props }) => props.columnCount && ({ columns: props.columnCount })\n }\n}\n\nexport const Span = { tag: 'span' }\nexport const List = {\n tag: 'ul',\n childExtend: { tag: 'li' }\n}\n// export const Article = { tag: 'article' }\n", "'use strict'\n\nimport { getSpacingBasedOnRatio } from '@symbo.ls/scratch'\n\nexport const Grid = {\n props: { display: 'grid' },\n\n class: {\n area: ({ props }) => props.area ? ({ gridArea: props.area }) : null,\n template: ({ props }) => props.template ? ({ gridTemplate: props.template }) : null,\n templateAreas: ({ props }) => props.templateAreas ? ({ gridTemplateAreas: props.templateAreas }) : null,\n\n column: ({ props }) => props.column ? ({ gridColumn: props.column }) : null,\n columns: ({ props }) => props.columns ? ({ gridTemplateColumns: props.columns }) : null,\n templateColumns: ({ props }) => props.templateColumns ? ({ gridTemplateColumns: props.templateColumns }) : null,\n autoColumns: ({ props }) => props.autoColumns ? ({ gridAutoColumns: props.autoColumns }) : null,\n columnStart: ({ props }) => props.columnStart ? ({ gridColumnStart: props.columnStart }) : null,\n\n row: ({ props }) => props.row ? ({ gridRow: props.row }) : null,\n rows: ({ props }) => props.rows ? ({ gridTemplateRows: props.rows }) : null,\n templateRows: ({ props }) => props.templateRows ? ({ gridTemplateRows: props.templateRows }) : null,\n autoRows: ({ props }) => props.autoRows ? ({ gridAutoRows: props.autoRows }) : null,\n rowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n autoFlow: ({ props }) => props.autoFlow ? ({ gridAutoFlow: props.autoFlow }) : null,\n\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n rowGap: ({ props }) => props.rowGap ? getSpacingBasedOnRatio(props, 'rowGap') : null\n }\n}\n", "'use strict'\n\nimport { merge, isArray, overwriteShallow } from '@domql/utils'\nimport { getSystemTheme } from './Theme'\n\nexport const keySetters = {\n '@': (key, props, result, element, isSubtree) => applyMediaProps(\n key, props, isSubtree ? result : (result && result.media), element\n ),\n ':': (key, props, result, element, isSubtree) => applySelectorProps(\n key, props, isSubtree ? result : (result && result.selector), element\n ),\n '[': (key, props, result, element, isSubtree) => applySelectorProps(\n key, props, isSubtree ? result : (result && result.selector), element\n ),\n '&': (key, props, result, element, isSubtree) => applySelectorProps(\n key, props, isSubtree ? result : (result && result.selector), element\n ),\n $: (key, props, result, element, isSubtree) => applyCaseProps(\n key, props, isSubtree ? result : (result && result.case), element\n ),\n '.': (key, props, result, element, isSubtree) => applyConditionalCaseProps(\n key, props, isSubtree ? result : (result && result.case), element\n ),\n '!': (key, props, result, element, isSubtree) => applyConditionalFalsyProps(\n key, props, isSubtree ? result : (result && result.case), element\n )\n}\n\nconst execClass = (key, props, result, element) => {\n const { class: className } = element\n const classnameExec = className[key]\n\n if (typeof classnameExec !== 'function') return\n\n let classExec = classnameExec({\n props,\n context: element.context,\n state: element.state\n })\n if (isArray(classExec)) {\n classExec = classExec.reduce((a, c) => merge(a, c), {})\n }\n\n for (const finalProp in classExec) {\n result[finalProp] = classExec[finalProp]\n }\n\n return classExec\n}\n\nconst convertPropsToClass = (props, result, element) => {\n const propsClassObj = {}\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) {\n setter(key, props[key], propsClassObj, element, true)\n continue\n } else {\n execClass(key, props, propsClassObj, element)\n }\n }\n\n return propsClassObj\n}\n\nconst applyMediaProps = (key, props, result, element) => {\n const { context } = element\n if (!context.designSystem || !context.designSystem.MEDIA) return\n const globalTheme = getSystemTheme(element)\n const { MEDIA } = context.designSystem\n const mediaName = MEDIA[key.slice(1)]\n const generatedClass = convertPropsToClass(props, result, element)\n\n const name = key.slice(1)\n const isTheme = ['dark', 'light'].includes(name)\n const matchesGlobal = name === globalTheme\n\n if (globalTheme && isTheme) {\n if (matchesGlobal) return merge(result, generatedClass)\n return\n }\n\n const mediaKey = `@media screen and ${mediaName}`\n result[mediaKey] = generatedClass\n return result[mediaKey]\n}\n\nconst applySelectorProps = (key, props, result, element) => {\n const selectorKey = `&${key}`\n result[selectorKey] = convertPropsToClass(props, result, element)\n return result[selectorKey]\n}\n\nconst applyCaseProps = (key, props, result, element) => {\n const { CASES } = element.context && element.context.designSystem\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey]\n if (!CASES[caseKey] && !isPropTrue) return\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalCaseProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey]\n if (!isPropTrue) return // remove classname if not here\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalFalsyProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey] === true\n if (!isPropTrue) return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyTrueProps = (props, result, element) => merge(result, convertPropsToClass(props, result, element))\n\nconst beforeClassAssign = (element, s) => {\n const { props, class: className } = element\n\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n overwriteShallow(className, CLASS_NAMES)\n}\n\nconst initUpdate = (changes, element) => {\n const { props, context, class: className } = element\n if (!context) return\n const globalTheme = context.designSystem.globalTheme\n\n const parentProps = element.parent.props\n if (parentProps && parentProps.spacingRatio && parentProps.inheritSpacingRatio) {\n element.setProps({\n spacingRatio: parentProps.spacingRatio,\n inheritSpacingRatio: true\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true\n })\n }\n\n if (globalTheme) {\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (key === 'theme') {\n props.update({\n themeModifier: globalTheme\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true,\n preventDefineUpdate: true\n })\n } else if (key === 'true') applyTrueProps(props[key], CLASS_NAMES, element)\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n if (Object.keys(CLASS_NAMES.media).length) {\n className.media = CLASS_NAMES.media\n }\n className.selector = CLASS_NAMES.selector\n className.case = CLASS_NAMES.case\n }\n}\n\nexport const Media = {\n class: {\n case: (el, s) => {\n return {\n //\n }\n }\n },\n on: { beforeClassAssign, initUpdate }\n}\n", "'use strict'\n\nimport {\n getMediaTheme,\n getMediaColor,\n transformTextStroke,\n transformShadow,\n transformBorder,\n transformBackgroundImage\n} from '@symbo.ls/scratch'\n\nimport { depth } from './Shape/style'\n\nexport const getSystemTheme = ({ context, state }) => {\n const rootState = state && state.__root\n return rootState ? rootState.globalTheme : context.designSystem && context.designSystem.globalTheme\n}\n\nexport const Theme = {\n class: {\n depth: ({ props }) => props.depth && depth[props.depth],\n\n theme: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.theme) return\n return getMediaTheme(props.theme, `@${props.themeModifier || globalTheme}`)\n },\n\n color: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.color) return\n return {\n color: getMediaColor(props.color, globalTheme)\n }\n },\n\n background: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.background) return\n return {\n background: getMediaColor(props.background, globalTheme)\n }\n },\n\n backgroundColor: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundColor) return\n return {\n backgroundColor: getMediaColor(props.backgroundColor, globalTheme)\n }\n },\n\n backgroundImage: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundImage) return\n return ({\n backgroundImage: transformBackgroundImage(props.backgroundImage, globalTheme)\n })\n },\n backgroundSize: ({ props }) => props.backgroundSize\n ? ({\n backgroundSize: props.backgroundSize\n })\n : null,\n backgroundPosition: ({ props }) => props.backgroundPosition\n ? ({\n backgroundPosition: props.backgroundPosition\n })\n : null,\n\n textStroke: ({ props }) => props.textStroke\n ? ({\n WebkitTextStroke: transformTextStroke(props.textStroke)\n })\n : null,\n\n outline: ({ props }) => props.outline && ({\n outline: transformBorder(props.outline)\n }),\n\n border: ({ props }) => props.border && ({\n border: transformBorder(props.border)\n }),\n borderColor: ({ props }) => props.borderColor && ({\n borderColor: getMediaColor(props.borderColor)\n }),\n borderStyle: ({ props }) => props.borderStyle && ({\n borderStyle: props.borderStyle\n }),\n\n borderLeft: ({ props }) => props.borderLeft && ({\n borderLeft: transformBorder(props.borderLeft)\n }),\n borderTop: ({ props }) => props.borderTop && ({\n borderTop: transformBorder(props.borderTop)\n }),\n borderRight: ({ props }) => props.borderRight && ({\n borderRight: transformBorder(props.borderRight)\n }),\n borderBottom: ({ props }) => props.borderBottom && ({\n borderBottom: transformBorder(props.borderBottom)\n }),\n\n boxShadow: ({ props }) => props.boxShadow && ({\n boxShadow: transformShadow(props.boxShadow)\n }),\n\n textShadow: ({ props }) => props.textShadow && ({\n textShadow: transformShadow(props.textShadow)\n }),\n\n opacity: ({ props }) => props.opacity && ({\n opacity: props.opacity\n }),\n visibility: ({ props }) => props.visibility && ({\n visibility: props.visibility\n }),\n\n columnRule: ({ props }) => props.columnRule && ({\n columnRule: transformBorder(props.columnRule)\n })\n }\n}\n", "'use strict'\n\nimport { getActiveConfig, getColor, getTheme } from '@symbo.ls/scratch' // eslint-disable-line no-unused-vars\nimport { Timing } from '../Timing'\n\nconst CONFIG = getActiveConfig()\n\nexport const depth = {\n 4: { boxShadow: `rgba(0,0,0,.10) 0 2${CONFIG.UNIT.default} 4${CONFIG.UNIT.default}` },\n 6: { boxShadow: `rgba(0,0,0,.10) 0 3${CONFIG.UNIT.default} 6${CONFIG.UNIT.default}` },\n 10: { boxShadow: `rgba(0,0,0,.10) 0 4${CONFIG.UNIT.default} 10${CONFIG.UNIT.default}` },\n 16: { boxShadow: `rgba(0,0,0,.10) 0 8${CONFIG.UNIT.default} 16${CONFIG.UNIT.default}` },\n 26: { boxShadow: `rgba(0,0,0,.10) 0 14${CONFIG.UNIT.default} 26${CONFIG.UNIT.default}` },\n 42: { boxShadow: `rgba(0,0,0,.10) 0 20${CONFIG.UNIT.default} 42${CONFIG.UNIT.default}` }\n}\n\nconst getComputedBackgroundColor = ({ props }) => {\n return getColor(props.shapeDirectionColor) ||\n getColor(props.borderColor) ||\n getColor(props.backgroundColor) ||\n getColor(props.background)\n}\n\nconst inheritTransition = ({ props }) => {\n const exec = Timing.class.transition({ props })\n return exec && exec.transition\n}\n\nexport const SHAPES = {\n rectangle: {},\n circle: { borderRadius: '100%' },\n bubble: {},\n tv: {\n borderRadius: '1.15em/2.5em'\n },\n\n tooltip: ({ props }) => ({\n position: props.position || 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n width: '0px',\n height: '0px',\n border: '.35em solid',\n borderColor: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'border-color',\n position: 'absolute',\n borderRadius: '.15em'\n }\n }),\n\n tooltipDirection: {\n top: {\n '&:before': {\n top: '0',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n right: '0',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n bottom: '0',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n left: '0',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n }\n },\n\n tag: ({ props }) => ({\n position: 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background',\n borderRadius: '.25em',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%'\n }\n }),\n\n tagDirection: {\n top: {\n '&:before': {\n bottom: '100%',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n left: '100%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n top: '100%',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n right: '100%',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n }\n },\n\n hexagon: ({ props }) => ({\n position: 'relative',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n borderRadius: '.25em',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n },\n '&:before': {\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n },\n '&:after': {\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }),\n\n chevron: ({ props }) => ({\n position: 'relative',\n // overflow: 'hidden',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n\n },\n '&:before': {\n background: `linear-gradient(225deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%), linear-gradient(315deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%)`\n },\n '&:after': {\n background: getComputedBackgroundColor({ props }),\n borderRadius: '.25em'\n }\n }),\n\n chevronDirection: {\n left: {\n '&:before': {\n height: '100%',\n left: '100%',\n transform: 'translate3d(-1%, -50%, 1px) scale(-1, 1)'\n },\n '&:after': {\n height: '73%',\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n height: '100%',\n left: '0',\n transform: 'translate3d(-99%, -50%, 1px)'\n },\n '&:after': {\n height: '73%',\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }\n }\n}\n", "'use strict'\n\nimport {\n getTimingFunction,\n splitTransition,\n transformDuration\n} from '@symbo.ls/scratch'\n\nexport const Timing = {\n class: {\n transition: ({ props }) => props.transition && ({\n transition: splitTransition(props.transition)\n }),\n willChange: ({ props }) => props.willChange && ({\n willChange: props.willChange\n }),\n transitionDuration: ({ props }) => props.transitionDuration && ({\n transitionDuration: transformDuration(props.transitionDuration)\n }),\n transitionDelay: ({ props }) => props.transitionDelay && ({\n transitionDelay: transformDuration(props.transitionDelay)\n }),\n transitionTimingFunction: ({ props }) => props.transitionTimingFunction && ({\n transitionTimingFunction: getTimingFunction(props.transitionTimingFunction)\n }),\n transitionProperty: ({ props }) => props.transitionProperty && ({\n transitionProperty: props.transitionProperty,\n willChange: props.transitionProperty\n })\n }\n}\n", "'use strict'\n\nconst style = {\n appearance: 'none',\n border: 'none',\n cursor: 'pointer',\n fontFamily: 'inherit'\n}\n\nexport const Hoverable = {\n props: {\n transition: 'C defaultBezier',\n transitionProperty: 'opacity, transform',\n opacity: 0.85,\n\n ':hover': {\n opacity: 0.9,\n transform: 'scale(1.015)'\n },\n ':active': {\n opacity: 1,\n transform: 'scale(1.015)'\n },\n '.active': {\n opacity: 1,\n transform: 'scale(1.015)',\n\n ':hover': { opacity: 1 }\n }\n }\n}\n\nexport const Clickable = {\n extend: Hoverable,\n props: {\n ':active': {\n opacity: 1,\n transform: 'scale(1.015)'\n },\n '.active': {\n opacity: 1\n }\n }\n}\n\nexport const Focusable = {\n props: {\n border: 'none',\n outline: 'solid, 0, blue .3',\n ':focus-visible': {\n opacity: 1,\n outline: 'solid, X, blue .3'\n }\n },\n\n attr: {\n placeholder: ({ props }) => props.placeholder,\n tabIndex: ({ props }) => props.tabIndex\n }\n}\n\nexport const FocusableComponent = {\n extend: Focusable,\n tag: 'button',\n props: {\n fontSize: 'A',\n type: 'button',\n border: 'none',\n textDecoration: 'none',\n lineHeight: '1',\n whiteSpace: 'nowrap',\n fontFamily: 'inherit',\n style\n },\n attr: {\n type: ({ props }) => props.type\n }\n}\n", "'use strict'\n\nimport { isState } from '@domql/state'\nimport { isNot, isArray, isObject, isObjectLike, diff, deepClone } from '@domql/utils'\n\nexport const Collection = {\n define: {\n $setCollection: (param, el, state) => {\n if (!param) return\n\n let data = isArray(param) ? param : []\n\n if (isObject(param)) {\n for (const obj in param) { data.push(param[obj]) }\n }\n\n data = data.map(item => !isObjectLike(item)\n ? {\n props: { value: item }\n }\n : item)\n\n if (data.length) {\n const t = setTimeout(() => {\n el.set({ tag: 'fragment', ...data }, { preventDefineUpdate: '$setCollection' })\n clearTimeout(t)\n })\n }\n\n return data\n },\n\n $setStateCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n if (el.key === 'cnt') {\n if (el.__ref.__stateCollectionCache) {\n const d = diff(param, el.__ref.__stateCollectionCache) // eslint-disable-line\n } else {\n el.__ref.__stateCollectionCache = deepClone(param)\n }\n }\n\n const obj = { tag: 'fragment' }\n\n for (const key in param) {\n const value = param[key]\n obj[key] = { state: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n return obj\n },\n\n $setPropsCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n const obj = { tag: 'fragment' }\n for (const key in param) {\n const value = param[key]\n obj[key] = { props: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n // const set = () => {\n // el.set(obj, { preventDefineUpdate: '$setPropsCollection' })\n // }\n\n // if (el.props && el.props.lazyLoad) {\n // window.requestAnimationFrame(set)\n // } else set()\n\n return obj\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingByKey } from '@symbo.ls/scratch'\n\nexport const Position = {\n props: {},\n\n class: {\n position: ({ props }) => props.position && ({ position: props.position }),\n inset: ({ props }) => {\n const { inset } = props\n if (typeof inset !== 'string') return\n return { inset: inset.split(' ').map(v => getSpacingByKey(v, 'k').k).join(' ') }\n },\n\n left: ({ props }) => getSpacingByKey(props.left, 'left'),\n top: ({ props }) => getSpacingByKey(props.top, 'top'),\n right: ({ props }) => getSpacingByKey(props.right, 'right'),\n bottom: ({ props }) => getSpacingByKey(props.bottom, 'bottom')\n }\n}\n", "'use strict'\n\nimport { exec, isString } from '@domql/utils'\nimport { SHAPES } from './style'\nimport { getSpacingBasedOnRatio, getMediaColor } from '@symbo.ls/scratch'\nimport { Pseudo } from '../Pseudo'\n\nconst transformBorderRadius = (radius, props, propertyName) => {\n if (!isString(radius)) return\n return {\n borderRadius: radius.split(' ').map((v, k) => getSpacingBasedOnRatio(props, propertyName, v)[propertyName]).join(' ')\n }\n}\n\nexport const Shape = {\n extend: Pseudo,\n\n class: {\n shape: ({ props }) => {\n const { shape } = props\n return exec(SHAPES[shape], ({ props }))\n },\n shapeDirection: ({ props }) => {\n const { shape, shapeDirection } = props\n if (!shape || !shapeDirection) return\n const shapeDir = SHAPES[shape + 'Direction']\n return shape && shapeDir ? shapeDir[shapeDirection || 'left'] : null\n },\n shapeDirectionColor: ({ props }) => {\n const { background, backgroundColor } = props\n const borderColor = {\n borderColor: getMediaColor(background || backgroundColor)\n }\n return props.shapeDirection ? borderColor : null\n },\n\n round: ({ props, key, ...el }) => transformBorderRadius(props.round || props.borderRadius, props, 'round'),\n borderRadius: ({ props, key, ...el }) => transformBorderRadius(props.borderRadius || props.round, props, 'borderRadius')\n }\n}\n\nexport default Shape\n", "'use strict'\n\nimport { getFontSizeByKey, getFontFamily } from '@symbo.ls/scratch'\n\nexport const Text = {\n text: ({ key, props, state }) => {\n if (props.text === true) return (state && state[key]) || (props && props[key])\n return props.text\n },\n class: {\n fontSize: ({ props }) => props.fontSize ? getFontSizeByKey(props.fontSize) : null,\n fontFamily: ({ props }) => props.fontFamily && ({ fontFamily: getFontFamily(props.fontFamily) || props.fontFamily }),\n lineHeight: ({ props }) => props.lineHeight && ({ lineHeight: props.lineHeight }),\n // lineHeight: ({ props }) => props.lineHeight && getSpacingBasedOnRatio(props, 'lineHeight', null, ''),\n textDecoration: ({ props }) => props.textDecoration && ({ textDecoration: props.textDecoration }),\n textTransform: ({ props }) => props.textTransform && ({ textTransform: props.textTransform }),\n whiteSpace: ({ props }) => props.whiteSpace && ({ whiteSpace: props.whiteSpace }),\n letterSpacing: ({ props }) => props.letterSpacing && ({ letterSpacing: props.letterSpacing }),\n textAlign: ({ props }) => props.textAlign && ({ textAlign: props.textAlign }),\n fontWeight: ({ props }) => props.fontWeight && ({\n fontWeight: props.fontWeight,\n fontVariationSettings: '\"wght\" ' + props.fontWeight\n })\n }\n}\n\nexport const H1 = { tag: 'h1' }\nexport const H2 = { tag: 'h2' }\nexport const H3 = { tag: 'h3' }\nexport const H4 = { tag: 'h4' }\nexport const H5 = { tag: 'h5' }\nexport const H6 = { tag: 'h6' }\nexport const P = { tag: 'p' }\nexport const Caption = { tag: 'caption' }\nexport const Strong = {\n tag: 'strong',\n props: { fontWeight: '700' }\n}\nexport const Underline = { tag: 'u' }\nexport const Italic = { tag: 'i' }\n\nexport const Headline = {\n tag: 'h6',\n props: { fontSize: 'B', fontWeight: 500 }\n}\n\nexport const Subhead = {\n tag: 'span',\n props: { fontSize: 'Z1' }\n}\n\nexport const Footnote = {\n tag: 'span',\n props: { fontSize: 'Z' }\n}\n", "'use strict'\n\nimport { getTimingByKey, getTimingFunction } from '@symbo.ls/scratch'\nimport { isObject } from '@domql/utils'\nimport { emotion } from '@symbo.ls/emotion'\nconst { keyframes } = emotion\n\nconst applyAnimationProps = (animation, element) => {\n if (isObject(animation)) return { animationName: keyframes(animation) }\n const { ANIMATION } = element.context && element.context.designSystem\n const record = ANIMATION[animation]\n return keyframes(record)\n}\n\nexport const Animation = {\n class: {\n animation: (el) => el.props.animation && {\n animationName: applyAnimationProps(el.props.animation, el),\n animationDuration: getTimingByKey(el.props.animationDuration || 'A').timing,\n animationDelay: getTimingByKey(el.props.animationDelay || '0s').timing,\n animationTimingFunction: getTimingFunction(el.props.animationTimingFunction || 'ease'),\n animationFillMode: el.props.animationFillMode || 'both',\n animationPlayState: el.props.animationPlayState,\n animationDirection: el.props.animationDirection\n },\n animationName: (el) => el.props.animationName && {\n animationName: applyAnimationProps(el.props.animationName, el)\n },\n\n animationDuration: ({ props }) => props.animationDuration && ({\n animationDuration: getTimingByKey(props.animationDuration).timing\n }),\n animationDelay: ({ props }) => props.animationDelay && ({\n animationDelay: getTimingByKey(props.animationDelay).timing\n }),\n animationTimingFunction: ({ props }) => props.animationTimingFunction && ({\n animationTimingFunction: getTimingFunction(props.animationTimingFunction)\n }),\n animationFillMode: ({ props }) => props.animationFillMode && ({\n animationFillMode: props.animationFillMode\n }),\n animationPlayState: ({ props }) => props.animationPlayState && ({\n animationPlayState: props.animationPlayState\n }),\n animationIterationCount: ({ props }) => props.animationIterationCount && ({\n animationIterationCount: props.animationIterationCount || 1\n }),\n animationDirection: ({ props }) => props.animationDirection && ({\n animationDirection: props.animationDirection\n })\n }\n}\n", "'use strict'\n\nimport createInstance from '@emotion/css/create-instance'\n\nexport const createEmotion = (key = 'smbls', container) => {\n const cleanKey = key.replaceAll(/\\./g, '-')\n return createInstance({ key: cleanKey, container })\n}\n\nexport const emotion = createEmotion()\n", "'use strict'\n\nimport { Focusable } from '@symbo.ls/atoms'\nimport { IconText } from '@symbo.ls/icon'\nimport { Input } from '@symbo.ls/input'\n\nexport const Field = {\n extend: [IconText],\n\n props: ({ state, key }) => ({\n value: state[key],\n\n depth: 16,\n placeholder: '',\n padding: 'A B',\n round: 'C',\n type: 'text',\n position: 'relative',\n width: '16em',\n\n style: {\n appearance: 'none',\n outline: 0,\n border: 'none',\n cursor: 'pointer',\n fontFamily: 'inherit',\n boxSizing: 'border-box'\n },\n\n input: {\n width: '100%',\n height: '100%',\n border: 'none'\n },\n\n svg: {\n position: 'absolute',\n right: '1em'\n }\n }),\n\n input: { extend: [Focusable, Input] }\n}\n", "'use strict'\n\nexport const Video = {\n tag: 'video',\n\n childExtend: {\n tag: 'source',\n attr: {\n src: ({ props }) => props.src,\n controls: ({ props }) => props.controls\n }\n },\n\n props: {\n controls: true\n },\n\n attr: {\n autoplay: ({ props }) => props.autoplay,\n controls: ({ props }) => props.controls\n }\n}\n", "'use strict'\n\nimport { isFunction } from '@domql/utils'\nimport { opacify } from '@symbo.ls/scratch'\nimport { SquareButton } from '@symbo.ls/button'\n\nconst props = {\n appearance: 'none',\n width: '100%',\n height: '2px',\n outline: 'none',\n flex: 1,\n\n onInput: (ev, el, s) => s.update({ value: el.node.value }),\n onChange: (ev, el, s) => s.update({ value: el.node.value }),\n\n style: {\n appearance: 'none'\n },\n\n '::-webkit-slider-thumb': {\n boxSizing: 'content-box',\n width: '8px',\n height: '8px',\n borderWidth: '2px',\n borderStyle: 'solid',\n borderRadius: '100%',\n opacity: '.8',\n\n style: {\n appearance: 'none'\n }\n },\n\n '::-webkit-slider-runnable-track': {\n },\n\n '@dark': {\n background: 'white 0.2',\n\n '::-webkit-slider-thumb': {\n background: '#232526',\n borderColor: opacify('#454646', 0.75)\n },\n\n ':hover': {\n '::-webkit-slider-thumb': {\n borderColor: opacify('#fff', 0.35)\n }\n },\n\n ':focus': {\n '::-webkit-slider-thumb': {\n borderColor: '#3C6AC0'\n }\n }\n },\n\n '@light': {\n background: 'gray9',\n\n '::-webkit-slider-thumb': {\n background: 'white',\n borderColor: 'gray9'\n },\n\n ':hover': {\n '::-webkit-slider-thumb': {\n borderColor: 'gray7'\n }\n },\n\n ':focus': {\n '::-webkit-slider-thumb': {\n borderColor: 'blue'\n }\n }\n }\n}\n\nexport const Range = {\n props,\n\n tag: 'input',\n attr: { type: 'range' }\n}\n\nconst listenProp = (el, prop, def) => {\n const val = el.props && el.props[prop]\n const r = (isFunction(val) ? val(el, el.state) : val !== undefined ? val : def !== undefined ? def : 50)\n return r + ''\n}\n\nexport const RangeWithButtons = {\n minus: {\n extend: SquareButton,\n props: { theme: 'tertiary', icon: 'minus' },\n on: {\n click: (ev, el, s) => {\n el.props && isFunction(el.props.onClick) && el.props.onClick(ev, el, s)\n }\n }\n },\n value: {\n style: { width: '4ch' },\n tag: 'span',\n text: (el, s) => {\n const unit = listenProp(el.parent.input, 'unit', '')\n return '' + (s.value || 50) + unit\n }\n },\n input: {\n extend: Range,\n attr: {\n value: (el, s) => parseFloat(s.value),\n min: (el, s) => listenProp(el, 'min', 0),\n max: (el, s) => listenProp(el, 'max', 100),\n step: (el, s) => listenProp(el, 'step', 1)\n },\n on: {\n input: (ev, el, s) => el.props && isFunction(el.props.onInput) && el.props.onInput(ev, el, s),\n change: (ev, el, s) => el.props && isFunction(el.props.onChange) && el.props.onChange(ev, el, s)\n }\n },\n plus: {\n extend: SquareButton,\n props: { theme: 'tertiary', icon: 'plus' },\n on: {\n click: (ev, el, s) => {\n el.props && isFunction(el.props.onClick) && el.props.onClick(ev, el, s)\n }\n }\n }\n}\n", "'use strict'\n\nexport default {\n appearance: 'none',\n width: '100%',\n height: '2px',\n outline: 'none',\n flex: 1,\n '&::-webkit-slider-thumb': {\n boxSizing: 'content-box',\n appearance: 'none',\n width: '8px',\n height: '8px',\n borderWidth: '2px',\n borderStyle: 'solid',\n borderRadius: '100%',\n opacity: '.8'\n }\n}\n", "'use strict'\n\nimport style from './style'\n\nimport { set, opacify } from '@symbo.ls/scratch'\nimport { isFunction } from '@domql/utils'\n\nimport { SquareButton } from '@symbo.ls/button'\n\nset({\n theme: {\n sliderThumb: {\n background: 'white 0.2',\n\n '&::-webkit-slider-thumb': {\n background: '#232526',\n borderColor: opacify('#454646', 0.75)\n },\n\n '&:hover': {\n '&::-webkit-slider-thumb': {\n borderColor: opacify('#fff', 0.35)\n }\n },\n\n '&:focus, &:active': {\n '&::-webkit-slider-thumb': {\n borderColor: '#3C6AC0'\n }\n }\n }\n }\n})\n\nexport const RangeSlider = {\n style,\n props: {\n theme: 'sliderThumb'\n },\n\n tag: 'input',\n attr: { type: 'range' }\n}\n\nconst listenProp = (el, prop, def) => {\n const val = el && el.props && el.props[prop]\n const r = (isFunction(val) ? val() : val) || (def !== undefined ? def : 50)\n return r\n}\n\nexport const Slider = {\n button0: {\n extend: [SquareButton],\n props: {\n icon: 'minus'\n },\n on: {\n click: (ev, el, s) => {\n el.props && isFunction(el.props.click) && el.props.click(ev, el, s)\n const input = el.parent.input\n const props = input.props\n const value = isFunction(props.value) ? props.value() : props.value\n input.node.value = value\n }\n }\n },\n value: {\n style: { width: '4ch' },\n tag: 'span',\n text: (el, s) => {\n const value = listenProp(el.parent.input, 'value')\n const unit = listenProp(el.parent.input, 'unit', '')\n return '' + value + unit\n }\n },\n range: {\n extend: RangeSlider,\n attr: {\n value: (el, s) => listenProp(el, 'value', 50),\n min: (el, s) => listenProp(el, 'min', 0),\n max: (el, s) => listenProp(el, 'max', 100),\n step: (el, s) => listenProp(el, 'step', 1)\n },\n on: {\n input: (ev, el, s) => el.props && isFunction(el.props.input) && el.props.input(ev, el, s),\n change: (ev, el, s) => el.props && isFunction(el.props.change) && el.props.change(ev, el, s)\n }\n },\n button1: {\n extend: [SquareButton],\n props: {\n icon: 'plus'\n },\n on: {\n click: (ev, el, s) => {\n el.props && isFunction(el.props.click) && el.props.click(ev, el, s)\n const input = el.parent.input\n const props = input.props\n const value = isFunction(props.value) ? props.value() : props.value\n input.node.value = value\n }\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingBasedOnRatio, getSpacingByKey, transfromGap } from '@symbo.ls/scratch'\n\nexport const Block = {\n class: {\n boxSizing: ({ props }) => props.boxSizing\n ? ({ boxSizing: props.boxSizing })\n : {\n boxSizing: 'border-box'\n },\n\n display: ({ props }) => props.display && ({ display: props.display }),\n\n hide: ({ props }) => props.hide && ({ display: 'none' }),\n\n width: ({ props }) => props.width && getSpacingBasedOnRatio(props, 'width'),\n height: ({ props }) => props.height && getSpacingBasedOnRatio(props, 'height'),\n boxSize: ({ props }) => {\n if (typeof props.boxSize !== 'string') return\n const [height, width] = props.boxSize.split(' ')\n return {\n ...getSpacingByKey(height, 'height'),\n ...getSpacingByKey(width || height, 'width')\n }\n },\n\n maxWidth: ({ props }) => props.maxWidth && getSpacingBasedOnRatio(props, 'maxWidth'),\n minWidth: ({ props }) => props.minWidth && getSpacingBasedOnRatio(props, 'minWidth'),\n widthRange: ({ props }) => {\n if (typeof props.widthRange !== 'string') return\n const [minWidth, maxWidth] = props.widthRange.split(' ')\n return {\n ...getSpacingByKey(minWidth, 'minWidth'),\n ...getSpacingByKey(maxWidth || minWidth, 'maxWidth')\n }\n },\n\n maxHeight: ({ props }) => props.maxHeight && getSpacingBasedOnRatio(props, 'maxHeight'),\n minHeight: ({ props }) => props.minHeight && getSpacingBasedOnRatio(props, 'minHeight'),\n heightRange: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n direction: ({ props }) => props.direction && ({ direction: props.direction }),\n\n aspectRatio: ({ props }) => props.aspectRatio && ({ aspectRatio: props.aspectRatio }),\n\n borderWidth: ({ props }) => props.borderWidth ? getSpacingBasedOnRatio(props, 'borderWidth') : null,\n\n padding: ({ props }) => props.padding ? getSpacingBasedOnRatio(props, 'padding') : null,\n paddingInline: ({ props }) => {\n if (typeof props.paddingInline !== 'string') return\n const [paddingInlineStart, paddingInlineEnd] = props.paddingInline.split(' ')\n return {\n ...getSpacingByKey(paddingInlineStart, 'paddingInlineStart'),\n ...getSpacingByKey(paddingInlineEnd || paddingInlineStart, 'paddingInlineEnd')\n }\n },\n paddingBlock: ({ props }) => {\n if (typeof props.paddingBlock !== 'string') return\n const [paddingBlockStart, paddingBlockEnd] = props.paddingBlock.split(' ')\n return {\n ...getSpacingByKey(paddingBlockStart, 'paddingBlockStart'),\n ...getSpacingByKey(paddingBlockEnd || paddingBlockStart, 'paddingBlockEnd')\n }\n },\n paddingInlineStart: ({ props }) => props.paddingInlineStart ? getSpacingBasedOnRatio(props, 'paddingInlineStart') : null,\n paddingInlineEnd: ({ props }) => props.paddingInlineEnd ? getSpacingBasedOnRatio(props, 'paddingInlineEnd') : null,\n paddingBlockStart: ({ props }) => props.paddingBlockStart ? getSpacingBasedOnRatio(props, 'paddingBlockStart') : null,\n paddingBlockEnd: ({ props }) => props.paddingBlockEnd ? getSpacingBasedOnRatio(props, 'paddingBlockEnd') : null,\n\n margin: ({ props }) => props.margin ? getSpacingBasedOnRatio(props, 'margin') : null,\n marginInline: ({ props }) => {\n if (typeof props.marginInline !== 'string') return\n const [marginInlineStart, marginInlineEnd] = props.marginInline.split(' ')\n return {\n ...getSpacingByKey(marginInlineStart, 'marginInlineStart'),\n ...getSpacingByKey(marginInlineEnd || marginInlineStart, 'marginInlineEnd')\n }\n },\n marginBlock: ({ props }) => {\n if (typeof props.marginBlock !== 'string') return\n const [marginBlockStart, marginBlockEnd] = props.marginBlock.split(' ')\n return {\n ...getSpacingByKey(marginBlockStart, 'marginBlockStart'),\n ...getSpacingByKey(marginBlockEnd || marginBlockStart, 'marginBlockEnd')\n }\n },\n marginInlineStart: ({ props }) => props.marginInlineStart ? getSpacingBasedOnRatio(props, 'marginInlineStart') : null,\n marginInlineEnd: ({ props }) => props.marginInlineEnd ? getSpacingBasedOnRatio(props, 'marginInlineEnd') : null,\n marginBlockStart: ({ props }) => props.marginBlockStart ? getSpacingBasedOnRatio(props, 'marginBlockStart') : null,\n marginBlockEnd: ({ props }) => props.marginBlockEnd ? getSpacingBasedOnRatio(props, 'marginBlockEnd') : null,\n\n gap: ({ props }) => props.gap\n ? ({\n gap: transfromGap(props.gap)\n })\n : null,\n gridArea: ({ props }) => props.gridArea && ({ gridArea: props.gridArea }),\n\n flex: ({ props }) => props.flex && ({ flex: props.flex }),\n flexDirection: ({ props }) => props.flexDirection && ({ flexDirection: props.flexDirection }),\n alignItems: ({ props }) => props.alignItems && ({ alignItems: props.alignItems }),\n alignContent: ({ props }) => props.alignContent && ({ alignContent: props.alignContent }),\n justifyContent: ({ props }) => props.justifyContent && ({ justifyContent: props.justifyContent }),\n justifyItems: ({ props }) => props.justifyItems && ({ justifyItems: props.justifyItems }),\n alignSelf: ({ props }) => props.alignSelf && ({ alignSelf: props.alignSelf }),\n order: ({ props }) => props.order && ({ order: props.order }),\n\n flexWrap: ({ props }) => props.flexWrap && ({\n display: 'flex',\n flexFlow: props.flexWrap\n }),\n flexFlow: ({ props }) => props.flexFlow && ({\n display: 'flex',\n flexFlow: props.flexFlow\n }),\n flexAlign: ({ props }) => {\n if (typeof props.flexAlign !== 'string') return\n const [alignItems, justifyContent] = props.flexAlign.split(' ')\n return {\n display: 'flex',\n alignItems,\n justifyContent\n }\n },\n\n gridColumn: ({ props }) => props.gridColumn && ({ gridColumn: props.gridColumn }),\n gridColumnStart: ({ props }) => props.columnStart\n ? ({\n gridColumnStart: props.columnStart\n })\n : null,\n gridRow: ({ props }) => props.gridRow && ({ gridRow: props.gridRow }),\n gridRowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n size: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n columns: ({ props }) => props.columns && ({ columns: props.columns }),\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n columnSpan: ({ props }) => props.columnSpan && ({ columns: props.columnSpan }),\n columnFill: ({ props }) => props.columnFill && ({ columns: props.columnFill }),\n columnCount: ({ props }) => props.columnCount && ({ columns: props.columnCount })\n }\n}\n\nexport const Span = { tag: 'span' }\nexport const List = {\n tag: 'ul',\n childExtend: { tag: 'li' }\n}\n// export const Article = { tag: 'article' }\n", "'use strict'\n\nexport const Flex = {\n props: {\n display: 'flex'\n },\n\n class: {\n flow: ({ props }) => props.flow && ({ flexFlow: props.flow }),\n wrap: ({ props }) => props.wrap && ({ flexWrap: props.wrap }),\n align: ({ props }) => {\n if (typeof props.align !== 'string') return\n const [alignItems, justifyContent] = props.align.split(' ')\n return { alignItems, justifyContent }\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingBasedOnRatio } from '@symbo.ls/scratch'\n\nexport const Grid = {\n props: { display: 'grid' },\n\n class: {\n area: ({ props }) => props.area ? ({ gridArea: props.area }) : null,\n template: ({ props }) => props.template ? ({ gridTemplate: props.template }) : null,\n templateAreas: ({ props }) => props.templateAreas ? ({ gridTemplateAreas: props.templateAreas }) : null,\n\n column: ({ props }) => props.column ? ({ gridColumn: props.column }) : null,\n columns: ({ props }) => props.columns ? ({ gridTemplateColumns: props.columns }) : null,\n templateColumns: ({ props }) => props.templateColumns ? ({ gridTemplateColumns: props.templateColumns }) : null,\n autoColumns: ({ props }) => props.autoColumns ? ({ gridAutoColumns: props.autoColumns }) : null,\n columnStart: ({ props }) => props.columnStart ? ({ gridColumnStart: props.columnStart }) : null,\n\n row: ({ props }) => props.row ? ({ gridRow: props.row }) : null,\n rows: ({ props }) => props.rows ? ({ gridTemplateRows: props.rows }) : null,\n templateRows: ({ props }) => props.templateRows ? ({ gridTemplateRows: props.templateRows }) : null,\n autoRows: ({ props }) => props.autoRows ? ({ gridAutoRows: props.autoRows }) : null,\n rowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n autoFlow: ({ props }) => props.autoFlow ? ({ gridAutoFlow: props.autoFlow }) : null,\n\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n rowGap: ({ props }) => props.rowGap ? getSpacingBasedOnRatio(props, 'rowGap') : null\n }\n}\n", "'use strict'\n\nimport { merge, isArray, overwriteShallow } from '@domql/utils'\nimport { getSystemTheme } from './Theme'\n\nexport const keySetters = {\n '@': (key, props, result, element, isSubtree) => applyMediaProps(\n key, props, isSubtree ? result : (result && result.media), element\n ),\n ':': (key, props, result, element, isSubtree) => applySelectorProps(\n key, props, isSubtree ? result : (result && result.selector), element\n ),\n '[': (key, props, result, element, isSubtree) => applySelectorProps(\n key, props, isSubtree ? result : (result && result.selector), element\n ),\n '&': (key, props, result, element, isSubtree) => applySelectorProps(\n key, props, isSubtree ? result : (result && result.selector), element\n ),\n $: (key, props, result, element, isSubtree) => applyCaseProps(\n key, props, isSubtree ? result : (result && result.case), element\n ),\n '.': (key, props, result, element, isSubtree) => applyConditionalCaseProps(\n key, props, isSubtree ? result : (result && result.case), element\n ),\n '!': (key, props, result, element, isSubtree) => applyConditionalFalsyProps(\n key, props, isSubtree ? result : (result && result.case), element\n )\n}\n\nconst execClass = (key, props, result, element) => {\n const { class: className } = element\n const classnameExec = className[key]\n\n if (typeof classnameExec !== 'function') return\n\n let classExec = classnameExec({\n props,\n context: element.context,\n state: element.state\n })\n if (isArray(classExec)) {\n classExec = classExec.reduce((a, c) => merge(a, c), {})\n }\n\n for (const finalProp in classExec) {\n result[finalProp] = classExec[finalProp]\n }\n\n return classExec\n}\n\nconst convertPropsToClass = (props, result, element) => {\n const propsClassObj = {}\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) {\n setter(key, props[key], propsClassObj, element, true)\n continue\n } else {\n execClass(key, props, propsClassObj, element)\n }\n }\n\n return propsClassObj\n}\n\nconst applyMediaProps = (key, props, result, element) => {\n const { context } = element\n if (!context.designSystem || !context.designSystem.MEDIA) return\n const globalTheme = getSystemTheme(element)\n const { MEDIA } = context.designSystem\n const mediaName = MEDIA[key.slice(1)]\n const generatedClass = convertPropsToClass(props, result, element)\n\n const name = key.slice(1)\n const isTheme = ['dark', 'light'].includes(name)\n const matchesGlobal = name === globalTheme\n\n if (globalTheme && isTheme) {\n if (matchesGlobal) return merge(result, generatedClass)\n return\n }\n\n const mediaKey = `@media screen and ${mediaName}`\n result[mediaKey] = generatedClass\n return result[mediaKey]\n}\n\nconst applySelectorProps = (key, props, result, element) => {\n const selectorKey = `&${key}`\n result[selectorKey] = convertPropsToClass(props, result, element)\n return result[selectorKey]\n}\n\nconst applyCaseProps = (key, props, result, element) => {\n const { CASES } = element.context && element.context.designSystem\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey]\n if (!CASES[caseKey] && !isPropTrue) return\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalCaseProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey]\n if (!isPropTrue) return // remove classname if not here\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalFalsyProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey] === true\n if (!isPropTrue) return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyTrueProps = (props, result, element) => merge(result, convertPropsToClass(props, result, element))\n\nconst beforeClassAssign = (element, s) => {\n const { props, class: className } = element\n\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n overwriteShallow(className, CLASS_NAMES)\n}\n\nconst initUpdate = (changes, element) => {\n const { props, context, class: className } = element\n if (!context) return\n const globalTheme = context.designSystem.globalTheme\n\n const parentProps = element.parent.props\n if (parentProps && parentProps.spacingRatio && parentProps.inheritSpacingRatio) {\n element.setProps({\n spacingRatio: parentProps.spacingRatio,\n inheritSpacingRatio: true\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true\n })\n }\n\n if (globalTheme) {\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (key === 'theme') {\n props.update({\n themeModifier: globalTheme\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true,\n preventDefineUpdate: true\n })\n } else if (key === 'true') applyTrueProps(props[key], CLASS_NAMES, element)\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n if (Object.keys(CLASS_NAMES.media).length) {\n className.media = CLASS_NAMES.media\n }\n className.selector = CLASS_NAMES.selector\n className.case = CLASS_NAMES.case\n }\n}\n\nexport const Media = {\n class: {\n case: (el, s) => {\n return {\n //\n }\n }\n },\n on: { beforeClassAssign, initUpdate }\n}\n", "'use strict'\n\nimport {\n getMediaTheme,\n getMediaColor,\n transformTextStroke,\n transformShadow,\n transformBorder,\n transformBackgroundImage\n} from '@symbo.ls/scratch'\n\nimport { depth } from './Shape/style'\n\nexport const getSystemTheme = ({ context, state }) => {\n const rootState = state && state.__root\n return rootState ? rootState.globalTheme : context.designSystem && context.designSystem.globalTheme\n}\n\nexport const Theme = {\n class: {\n depth: ({ props }) => props.depth && depth[props.depth],\n\n theme: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.theme) return\n return getMediaTheme(props.theme, `@${props.themeModifier || globalTheme}`)\n },\n\n color: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.color) return\n return {\n color: getMediaColor(props.color, globalTheme)\n }\n },\n\n background: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.background) return\n return {\n background: getMediaColor(props.background, globalTheme)\n }\n },\n\n backgroundColor: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundColor) return\n return {\n backgroundColor: getMediaColor(props.backgroundColor, globalTheme)\n }\n },\n\n backgroundImage: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundImage) return\n return ({\n backgroundImage: transformBackgroundImage(props.backgroundImage, globalTheme)\n })\n },\n backgroundSize: ({ props }) => props.backgroundSize\n ? ({\n backgroundSize: props.backgroundSize\n })\n : null,\n backgroundPosition: ({ props }) => props.backgroundPosition\n ? ({\n backgroundPosition: props.backgroundPosition\n })\n : null,\n\n textStroke: ({ props }) => props.textStroke\n ? ({\n WebkitTextStroke: transformTextStroke(props.textStroke)\n })\n : null,\n\n outline: ({ props }) => props.outline && ({\n outline: transformBorder(props.outline)\n }),\n\n border: ({ props }) => props.border && ({\n border: transformBorder(props.border)\n }),\n borderColor: ({ props }) => props.borderColor && ({\n borderColor: getMediaColor(props.borderColor)\n }),\n borderStyle: ({ props }) => props.borderStyle && ({\n borderStyle: props.borderStyle\n }),\n\n borderLeft: ({ props }) => props.borderLeft && ({\n borderLeft: transformBorder(props.borderLeft)\n }),\n borderTop: ({ props }) => props.borderTop && ({\n borderTop: transformBorder(props.borderTop)\n }),\n borderRight: ({ props }) => props.borderRight && ({\n borderRight: transformBorder(props.borderRight)\n }),\n borderBottom: ({ props }) => props.borderBottom && ({\n borderBottom: transformBorder(props.borderBottom)\n }),\n\n boxShadow: ({ props }) => props.boxShadow && ({\n boxShadow: transformShadow(props.boxShadow)\n }),\n\n textShadow: ({ props }) => props.textShadow && ({\n textShadow: transformShadow(props.textShadow)\n }),\n\n opacity: ({ props }) => props.opacity && ({\n opacity: props.opacity\n }),\n visibility: ({ props }) => props.visibility && ({\n visibility: props.visibility\n }),\n\n columnRule: ({ props }) => props.columnRule && ({\n columnRule: transformBorder(props.columnRule)\n })\n }\n}\n", "'use strict'\n\nimport { getActiveConfig, getColor, getTheme } from '@symbo.ls/scratch' // eslint-disable-line no-unused-vars\nimport { Timing } from '../Timing'\n\nconst CONFIG = getActiveConfig()\n\nexport const depth = {\n 4: { boxShadow: `rgba(0,0,0,.10) 0 2${CONFIG.UNIT.default} 4${CONFIG.UNIT.default}` },\n 6: { boxShadow: `rgba(0,0,0,.10) 0 3${CONFIG.UNIT.default} 6${CONFIG.UNIT.default}` },\n 10: { boxShadow: `rgba(0,0,0,.10) 0 4${CONFIG.UNIT.default} 10${CONFIG.UNIT.default}` },\n 16: { boxShadow: `rgba(0,0,0,.10) 0 8${CONFIG.UNIT.default} 16${CONFIG.UNIT.default}` },\n 26: { boxShadow: `rgba(0,0,0,.10) 0 14${CONFIG.UNIT.default} 26${CONFIG.UNIT.default}` },\n 42: { boxShadow: `rgba(0,0,0,.10) 0 20${CONFIG.UNIT.default} 42${CONFIG.UNIT.default}` }\n}\n\nconst getComputedBackgroundColor = ({ props }) => {\n return getColor(props.shapeDirectionColor) ||\n getColor(props.borderColor) ||\n getColor(props.backgroundColor) ||\n getColor(props.background)\n}\n\nconst inheritTransition = ({ props }) => {\n const exec = Timing.class.transition({ props })\n return exec && exec.transition\n}\n\nexport const SHAPES = {\n rectangle: {},\n circle: { borderRadius: '100%' },\n bubble: {},\n tv: {\n borderRadius: '1.15em/2.5em'\n },\n\n tooltip: ({ props }) => ({\n position: props.position || 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n width: '0px',\n height: '0px',\n border: '.35em solid',\n borderColor: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'border-color',\n position: 'absolute',\n borderRadius: '.15em'\n }\n }),\n\n tooltipDirection: {\n top: {\n '&:before': {\n top: '0',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n right: '0',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n bottom: '0',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n left: '0',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n }\n },\n\n tag: ({ props }) => ({\n position: 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background',\n borderRadius: '.25em',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%'\n }\n }),\n\n tagDirection: {\n top: {\n '&:before': {\n bottom: '100%',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n left: '100%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n top: '100%',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n right: '100%',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n }\n },\n\n hexagon: ({ props }) => ({\n position: 'relative',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n borderRadius: '.25em',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n },\n '&:before': {\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n },\n '&:after': {\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }),\n\n chevron: ({ props }) => ({\n position: 'relative',\n // overflow: 'hidden',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n\n },\n '&:before': {\n background: `linear-gradient(225deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%), linear-gradient(315deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%)`\n },\n '&:after': {\n background: getComputedBackgroundColor({ props }),\n borderRadius: '.25em'\n }\n }),\n\n chevronDirection: {\n left: {\n '&:before': {\n height: '100%',\n left: '100%',\n transform: 'translate3d(-1%, -50%, 1px) scale(-1, 1)'\n },\n '&:after': {\n height: '73%',\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n height: '100%',\n left: '0',\n transform: 'translate3d(-99%, -50%, 1px)'\n },\n '&:after': {\n height: '73%',\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }\n }\n}\n", "'use strict'\n\nimport {\n getTimingFunction,\n splitTransition,\n transformDuration\n} from '@symbo.ls/scratch'\n\nexport const Timing = {\n class: {\n transition: ({ props }) => props.transition && ({\n transition: splitTransition(props.transition)\n }),\n willChange: ({ props }) => props.willChange && ({\n willChange: props.willChange\n }),\n transitionDuration: ({ props }) => props.transitionDuration && ({\n transitionDuration: transformDuration(props.transitionDuration)\n }),\n transitionDelay: ({ props }) => props.transitionDelay && ({\n transitionDelay: transformDuration(props.transitionDelay)\n }),\n transitionTimingFunction: ({ props }) => props.transitionTimingFunction && ({\n transitionTimingFunction: getTimingFunction(props.transitionTimingFunction)\n }),\n transitionProperty: ({ props }) => props.transitionProperty && ({\n transitionProperty: props.transitionProperty,\n willChange: props.transitionProperty\n })\n }\n}\n", "'use strict'\n\nimport { isState } from '@domql/state'\nimport { isNot, isArray, isObject, isObjectLike, diff, deepClone } from '@domql/utils'\n\nexport const Collection = {\n define: {\n $setCollection: (param, el, state) => {\n if (!param) return\n\n let data = isArray(param) ? param : []\n\n if (isObject(param)) {\n for (const obj in param) { data.push(param[obj]) }\n }\n\n data = data.map(item => !isObjectLike(item)\n ? {\n props: { value: item }\n }\n : item)\n\n if (data.length) {\n const t = setTimeout(() => {\n el.set({ tag: 'fragment', ...data }, { preventDefineUpdate: '$setCollection' })\n clearTimeout(t)\n })\n }\n\n return data\n },\n\n $setStateCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n if (el.key === 'cnt') {\n if (el.__ref.__stateCollectionCache) {\n const d = diff(param, el.__ref.__stateCollectionCache) // eslint-disable-line\n } else {\n el.__ref.__stateCollectionCache = deepClone(param)\n }\n }\n\n const obj = { tag: 'fragment' }\n\n for (const key in param) {\n const value = param[key]\n obj[key] = { state: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n return obj\n },\n\n $setPropsCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n const obj = { tag: 'fragment' }\n for (const key in param) {\n const value = param[key]\n obj[key] = { props: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n // const set = () => {\n // el.set(obj, { preventDefineUpdate: '$setPropsCollection' })\n // }\n\n // if (el.props && el.props.lazyLoad) {\n // window.requestAnimationFrame(set)\n // } else set()\n\n return obj\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingByKey } from '@symbo.ls/scratch'\n\nexport const Position = {\n props: {},\n\n class: {\n position: ({ props }) => props.position && ({ position: props.position }),\n inset: ({ props }) => {\n const { inset } = props\n if (typeof inset !== 'string') return\n return { inset: inset.split(' ').map(v => getSpacingByKey(v, 'k').k).join(' ') }\n },\n\n left: ({ props }) => getSpacingByKey(props.left, 'left'),\n top: ({ props }) => getSpacingByKey(props.top, 'top'),\n right: ({ props }) => getSpacingByKey(props.right, 'right'),\n bottom: ({ props }) => getSpacingByKey(props.bottom, 'bottom')\n }\n}\n", "'use strict'\n\nimport { exec, isString } from '@domql/utils'\nimport { SHAPES } from './style'\nimport { getSpacingBasedOnRatio, getMediaColor } from '@symbo.ls/scratch'\nimport { Pseudo } from '../Pseudo'\n\nconst transformBorderRadius = (radius, props, propertyName) => {\n if (!isString(radius)) return\n return {\n borderRadius: radius.split(' ').map((v, k) => getSpacingBasedOnRatio(props, propertyName, v)[propertyName]).join(' ')\n }\n}\n\nexport const Shape = {\n extend: Pseudo,\n\n class: {\n shape: ({ props }) => {\n const { shape } = props\n return exec(SHAPES[shape], ({ props }))\n },\n shapeDirection: ({ props }) => {\n const { shape, shapeDirection } = props\n if (!shape || !shapeDirection) return\n const shapeDir = SHAPES[shape + 'Direction']\n return shape && shapeDir ? shapeDir[shapeDirection || 'left'] : null\n },\n shapeDirectionColor: ({ props }) => {\n const { background, backgroundColor } = props\n const borderColor = {\n borderColor: getMediaColor(background || backgroundColor)\n }\n return props.shapeDirection ? borderColor : null\n },\n\n round: ({ props, key, ...el }) => transformBorderRadius(props.round || props.borderRadius, props, 'round'),\n borderRadius: ({ props, key, ...el }) => transformBorderRadius(props.borderRadius || props.round, props, 'borderRadius')\n }\n}\n\nexport default Shape\n", "'use strict'\n\nimport { getFontSizeByKey, getFontFamily } from '@symbo.ls/scratch'\n\nexport const Text = {\n text: ({ key, props, state }) => {\n if (props.text === true) return (state && state[key]) || (props && props[key])\n return props.text\n },\n class: {\n fontSize: ({ props }) => props.fontSize ? getFontSizeByKey(props.fontSize) : null,\n fontFamily: ({ props }) => props.fontFamily && ({ fontFamily: getFontFamily(props.fontFamily) || props.fontFamily }),\n lineHeight: ({ props }) => props.lineHeight && ({ lineHeight: props.lineHeight }),\n // lineHeight: ({ props }) => props.lineHeight && getSpacingBasedOnRatio(props, 'lineHeight', null, ''),\n textDecoration: ({ props }) => props.textDecoration && ({ textDecoration: props.textDecoration }),\n textTransform: ({ props }) => props.textTransform && ({ textTransform: props.textTransform }),\n whiteSpace: ({ props }) => props.whiteSpace && ({ whiteSpace: props.whiteSpace }),\n letterSpacing: ({ props }) => props.letterSpacing && ({ letterSpacing: props.letterSpacing }),\n textAlign: ({ props }) => props.textAlign && ({ textAlign: props.textAlign }),\n fontWeight: ({ props }) => props.fontWeight && ({\n fontWeight: props.fontWeight,\n fontVariationSettings: '\"wght\" ' + props.fontWeight\n })\n }\n}\n\nexport const H1 = { tag: 'h1' }\nexport const H2 = { tag: 'h2' }\nexport const H3 = { tag: 'h3' }\nexport const H4 = { tag: 'h4' }\nexport const H5 = { tag: 'h5' }\nexport const H6 = { tag: 'h6' }\nexport const P = { tag: 'p' }\nexport const Caption = { tag: 'caption' }\nexport const Strong = {\n tag: 'strong',\n props: { fontWeight: '700' }\n}\nexport const Underline = { tag: 'u' }\nexport const Italic = { tag: 'i' }\n\nexport const Headline = {\n tag: 'h6',\n props: { fontSize: 'B', fontWeight: 500 }\n}\n\nexport const Subhead = {\n tag: 'span',\n props: { fontSize: 'Z1' }\n}\n\nexport const Footnote = {\n tag: 'span',\n props: { fontSize: 'Z' }\n}\n", "'use strict'\n\nimport { getTimingByKey, getTimingFunction } from '@symbo.ls/scratch'\nimport { isObject } from '@domql/utils'\nimport { emotion } from '@symbo.ls/emotion'\nconst { keyframes } = emotion\n\nconst applyAnimationProps = (animation, element) => {\n if (isObject(animation)) return { animationName: keyframes(animation) }\n const { ANIMATION } = element.context && element.context.designSystem\n const record = ANIMATION[animation]\n return keyframes(record)\n}\n\nexport const Animation = {\n class: {\n animation: (el) => el.props.animation && {\n animationName: applyAnimationProps(el.props.animation, el),\n animationDuration: getTimingByKey(el.props.animationDuration || 'A').timing,\n animationDelay: getTimingByKey(el.props.animationDelay || '0s').timing,\n animationTimingFunction: getTimingFunction(el.props.animationTimingFunction || 'ease'),\n animationFillMode: el.props.animationFillMode || 'both',\n animationPlayState: el.props.animationPlayState,\n animationDirection: el.props.animationDirection\n },\n animationName: (el) => el.props.animationName && {\n animationName: applyAnimationProps(el.props.animationName, el)\n },\n\n animationDuration: ({ props }) => props.animationDuration && ({\n animationDuration: getTimingByKey(props.animationDuration).timing\n }),\n animationDelay: ({ props }) => props.animationDelay && ({\n animationDelay: getTimingByKey(props.animationDelay).timing\n }),\n animationTimingFunction: ({ props }) => props.animationTimingFunction && ({\n animationTimingFunction: getTimingFunction(props.animationTimingFunction)\n }),\n animationFillMode: ({ props }) => props.animationFillMode && ({\n animationFillMode: props.animationFillMode\n }),\n animationPlayState: ({ props }) => props.animationPlayState && ({\n animationPlayState: props.animationPlayState\n }),\n animationIterationCount: ({ props }) => props.animationIterationCount && ({\n animationIterationCount: props.animationIterationCount || 1\n }),\n animationDirection: ({ props }) => props.animationDirection && ({\n animationDirection: props.animationDirection\n })\n }\n}\n", "'use strict'\n\nimport createInstance from '@emotion/css/create-instance'\n\nexport const createEmotion = (key = 'smbls', container) => {\n const cleanKey = key.replaceAll(/\\./g, '-')\n return createInstance({ key: cleanKey, container })\n}\n\nexport const emotion = createEmotion()\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\nimport { IconText } from '@symbo.ls/icon'\n\nexport const Notification = {\n extend: Flex,\n\n props: {\n theme: 'alert',\n padding: 'Z1 B Z A',\n round: 'A A A Y2',\n gap: 'X2',\n cursor: 'pointer',\n align: 'flex-start center',\n\n icon: {\n icon: 'info outline'\n },\n\n article: {\n flow: 'column',\n align: 'flex-start',\n gap: 'X2',\n title: {\n fontWeight: '600',\n lineHeight: '1em',\n text: 'Notification'\n },\n p: {\n fontSize: 'Z',\n margin: '0',\n text: 'is not always a distraction'\n }\n }\n },\n\n icon: {\n extend: [IconText]\n },\n\n article: {\n extend: Flex,\n title: {},\n p: {}\n }\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\n\nexport const Tooltip = {\n extend: Flex,\n props: {\n background: 'black',\n color: 'white',\n flow: 'column',\n shape: 'tooltip',\n shapeDirection: 'top',\n padding: 'Z1 A',\n round: 'Y2',\n minWidth: 'D2',\n gap: 'X',\n textAlign: 'center',\n\n title: {\n fontWeight: 500,\n color: 'gray12',\n text: 'And tooltip is coming'\n },\n p: {\n fontSize: 'Z2',\n margin: '0',\n color: 'gray6',\n text: 'and winter too',\n fontWeight: '400'\n }\n },\n\n attr: { tooltip: true },\n\n title: {},\n p: {}\n}\n\nexport const TooltipParent = {\n props: {\n position: 'relative',\n zIndex: 999,\n style: {\n '&:hover, &:focus-visible': {\n zIndex: 1000,\n '& [tooltip]': {\n transform: 'translate3d(-50%,0,0)',\n opacity: 1,\n visibility: 'visible'\n }\n }\n }\n }\n}\n", "'use strict'\n\nimport { Input } from '@symbo.ls/input'\n\nconst props = {\n height: 'E',\n lineHeight: 1.4,\n style: { resize: 'none' }\n}\n\nexport const Textarea = {\n extend: [Input],\n props,\n tag: 'textarea'\n}\n", "'use strict'\n\nimport { Focusable, Flex } from '@symbo.ls/atoms'\nimport { SquareButton } from '@symbo.ls/button'\nimport { Icon } from '@symbo.ls/icon'\nimport { Avatar } from '@symbo.ls/avatar'\n\nexport const Upload = {\n extend: [Focusable, Flex],\n tag: 'label',\n\n props: {\n position: 'relative',\n flow: 'column',\n align: 'center center',\n round: 'A',\n cursor: 'pointer',\n border: '1.6px, dashed, white 0.1',\n padding: 'B B2',\n input: {\n position: 'absolute',\n inset: '0 0 0 0',\n opacity: '0',\n visibility: 'hidden'\n }\n },\n input: { attr: { type: 'file' } },\n\n icon: {\n extend: Icon,\n props: {\n name: 'upload',\n fontSize: `${26 / 16}em`,\n opacity: '.2'\n }\n },\n p: {\n props: {\n text: ' or click and upload from your computer',\n flexFlow: 'column',\n flexAlign: 'center center',\n opacity: '.22',\n margin: '0'\n },\n span: {\n text: 'Drag and drop your font file',\n style: { display: 'block' }\n }\n }\n}\n\nexport const DragNdropUser = {\n extend: Flex,\n\n props: ({ state }) => ({\n flow: 'column',\n align: 'center center',\n gap: 'A',\n round: 'A',\n\n img: { boxSize: 'C C', src: state.src },\n buttons: {\n gap: 'Y',\n childProps: {\n padding: '0',\n boxSize: 'B B',\n background: 'gray3',\n round: 'Y1',\n color: 'gray6',\n style: { '> svg': { fontSize: `${14 / 16}em` } }\n }\n }\n }),\n\n img: { extend: Avatar },\n\n buttons: {\n extend: Flex,\n childExtend: SquareButton,\n ...[\n { props: { icon: 'reload' } },\n { props: { icon: 'trash' } }\n ]\n }\n}\n", "'use strict'\n\nimport { Button } from '@symbo.ls/button'\n\nexport const Label = {\n extend: Button,\n\n props: {\n theme: 'tertiary',\n fontSize: 'Z2',\n emoji: '\uD83D\uDC4D',\n text: '3',\n padding: 'X2 Z',\n round: 'C',\n lineHeight: 1,\n gap: 'X2',\n fontWeight: '500'\n },\n\n emoji: {\n props: ({ parent }) => ({ text: parent.props.emoji })\n }\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\n\nexport const Pills = {\n extend: Flex,\n props: (el, s) => ({\n display: 'flex',\n gap: 'Y2',\n\n childProps: {\n background: 'gray6',\n width: 'Y2',\n height: 'Y2',\n round: 'A',\n\n '.active': {\n background: 'gray9'\n }\n }\n }),\n childExtend: {\n props: (el, s) => ({ active: parseInt(el.key) === s.active })\n }\n}\n", "'use strict'\n\nimport { Focusable } from '@symbo.ls/atoms'\n\nexport const Select = {\n extend: Focusable,\n tag: 'select',\n\n props: {\n fontSize: 'A',\n style: {\n border: 'none',\n boxSizing: 'border-box',\n cursor: 'pointer'\n }\n },\n\n childExtend: {\n tag: 'option',\n props: {\n value: '',\n selected: '',\n disabled: ''\n },\n attr: {\n value: ({ props }) => props.value,\n selected: ({ props }) => props.selected,\n disabled: ({ props }) => props.disabled\n }\n },\n\n attr: {\n name: ({ props }) => props.name,\n disabled: ({ props }) => props.disabled\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,sDAAAA,SAAA;AAAA;AACA,QAAIC,YAAW,OAAO;AACtB,QAAIC,aAAY,OAAO;AACvB,QAAIC,oBAAmB,OAAO;AAC9B,QAAIC,qBAAoB,OAAO;AAC/B,QAAIC,gBAAe,OAAO;AAC1B,QAAIC,gBAAe,OAAO,UAAU;AACpC,QAAIC,cAAa,CAAC,IAAI,QAAQ,SAAS,YAAY;AACjD,aAAO,QAAQ,GAAG,GAAGH,mBAAkB,EAAE,EAAE,CAAC,CAAC,IAAI,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,GAAG,GAAG,IAAI;AAAA,IAC7F;AACA,QAAII,YAAW,CAAC,QAAQ,QAAQ;AAC9B,eAAS,QAAQ;AACf,QAAAN,WAAU,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,IAChE;AACA,QAAIO,eAAc,CAAC,IAAIC,OAAM,QAAQ,SAAS;AAC5C,UAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,iBAAS,OAAON,mBAAkBM,KAAI;AACpC,cAAI,CAACJ,cAAa,KAAK,IAAI,GAAG,KAAK,QAAQ;AACzC,YAAAJ,WAAU,IAAI,KAAK,EAAE,KAAK,MAAMQ,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOP,kBAAiBO,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,MACvH;AACA,aAAO;AAAA,IACT;AACA,QAAIC,WAAU,CAAC,KAAK,YAAY,YAAY,SAAS,OAAO,OAAOV,UAASI,cAAa,GAAG,CAAC,IAAI,CAAC,GAAGI;AAAA;AAAA;AAAA;AAAA;AAAA,MAKnG,cAAc,CAAC,OAAO,CAAC,IAAI,aAAaP,WAAU,QAAQ,WAAW,EAAE,OAAO,KAAK,YAAY,KAAK,CAAC,IAAI;AAAA,MACzG;AAAA,IACF;AACA,QAAIU,gBAAe,CAAC,QAAQH,aAAYP,WAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AAGzF,QAAIW,gBAAcN,YAAW;AAAA,MAC3B,sDAAsDO,UAASC,UAAS;AACtE;AACA,YAAIC,cAAa,OAAO;AACxB,YAAIC,qBAAoB,OAAO;AAC/B,YAAIC,sBAAqB,OAAO;AAChC,YAAIC,iBAAgB,OAAO,UAAU;AACrC,YAAIC,aAAY,CAAC,QAAQ,QAAQ;AAC/B,mBAAS,QAAQ;AACf,YAAAJ,YAAW,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,QACjE;AACA,YAAIK,gBAAe,CAAC,IAAIX,OAAM,QAAQ,SAAS;AAC7C,cAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,qBAAS,OAAOQ,oBAAmBR,KAAI;AACrC,kBAAI,CAACS,eAAc,KAAK,IAAI,GAAG,KAAK,QAAQ;AAC1C,gBAAAH,YAAW,IAAI,KAAK,EAAE,KAAK,MAAMN,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOO,mBAAkBP,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,UACzH;AACA,iBAAO;AAAA,QACT;AACA,YAAIY,iBAAgB,CAAC,QAAQD,cAAaL,YAAW,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AAC5F,YAAI,kBAAkB,CAAC;AACvB,QAAAI,WAAU,iBAAiB;AAAA,UACzB,UAAU,MAAM;AAAA,UAChB,QAAQ,MAAM;AAAA,UACd,MAAM,MAAM;AAAA,UACZ,QAAQ,MAAM;AAAA,QAChB,CAAC;AACD,QAAAL,SAAQ,UAAUO,eAAc,eAAe;AAC/C,YAAI,SAAS;AACb,YAAI,OAAO;AACX,YAAI,UAAU;AACd,YAAI,YAAY,QAAQ;AAAA,MAC1B;AAAA,IACF,CAAC;AAGD,QAAIC,gBAAehB,YAAW;AAAA,MAC5B,kDAAkDO,UAASC,UAAS;AAClE;AACA,YAAIC,cAAa,OAAO;AACxB,YAAIC,qBAAoB,OAAO;AAC/B,YAAIC,sBAAqB,OAAO;AAChC,YAAIC,iBAAgB,OAAO,UAAU;AACrC,YAAIC,aAAY,CAAC,QAAQ,QAAQ;AAC/B,mBAAS,QAAQ;AACf,YAAAJ,YAAW,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,QACjE;AACA,YAAIK,gBAAe,CAAC,IAAIX,OAAM,QAAQ,SAAS;AAC7C,cAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,qBAAS,OAAOQ,oBAAmBR,KAAI;AACrC,kBAAI,CAACS,eAAc,KAAK,IAAI,GAAG,KAAK,QAAQ;AAC1C,gBAAAH,YAAW,IAAI,KAAK,EAAE,KAAK,MAAMN,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOO,mBAAkBP,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,UACzH;AACA,iBAAO;AAAA,QACT;AACA,YAAIY,iBAAgB,CAAC,QAAQD,cAAaL,YAAW,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AAC5F,YAAI,cAAc,CAAC;AACnB,QAAAI,WAAU,aAAa;AAAA,UACrB,WAAW,MAAM;AAAA,UACjB,kBAAkB,MAAM;AAAA,QAC1B,CAAC;AACD,QAAAL,SAAQ,UAAUO,eAAc,WAAW;AAC3C,YAAI,YAAY,WAAW;AACzB,cAAI,QAAQ;AACZ,mBAAS,QAAQ;AACf;AACA,mBAAO;AAAA,UACT;AACA,iBAAO;AAAA,QACT,EAAE;AACF,YAAI,mBAAmB;AAAA,MACzB;AAAA,IACF,CAAC;AAGD,QAAIE,oBAAmBjB,YAAW;AAAA,MAChC,sDAAsDO,UAASC,UAAS;AACtE;AACA,YAAIC,cAAa,OAAO;AACxB,YAAIC,qBAAoB,OAAO;AAC/B,YAAIC,sBAAqB,OAAO;AAChC,YAAIC,iBAAgB,OAAO,UAAU;AACrC,YAAIC,aAAY,CAAC,QAAQ,QAAQ;AAC/B,mBAAS,QAAQ;AACf,YAAAJ,YAAW,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,QACjE;AACA,YAAIK,gBAAe,CAAC,IAAIX,OAAM,QAAQ,SAAS;AAC7C,cAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,qBAAS,OAAOQ,oBAAmBR,KAAI;AACrC,kBAAI,CAACS,eAAc,KAAK,IAAI,GAAG,KAAK,QAAQ;AAC1C,gBAAAH,YAAW,IAAI,KAAK,EAAE,KAAK,MAAMN,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOO,mBAAkBP,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,UACzH;AACA,iBAAO;AAAA,QACT;AACA,YAAIY,iBAAgB,CAAC,QAAQD,cAAaL,YAAW,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AAC5F,YAAI,mBAAmB,CAAC;AACxB,QAAAI,WAAU,kBAAkB;AAAA,UAC1B,WAAW,MAAM;AAAA,QACnB,CAAC;AACD,QAAAL,SAAQ,UAAUO,eAAc,gBAAgB;AAChD,YAAI,YAAY;AAAA,UACd,MAAM;AAAA,YACJ;AAAA,YACA;AAAA,UACF;AAAA,UACA,MAAM;AAAA,YACJ;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,UACA,MAAM;AAAA,YACJ;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,YAEA;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAGD,QAAIG,gBAAelB,YAAW;AAAA,MAC5B,mDAAmDO,UAASC,UAAS;AACnE;AACA,YAAIC,cAAa,OAAO;AACxB,YAAIC,qBAAoB,OAAO;AAC/B,YAAIC,sBAAqB,OAAO;AAChC,YAAIC,iBAAgB,OAAO,UAAU;AACrC,YAAIE,gBAAe,CAAC,IAAIX,OAAM,QAAQ,SAAS;AAC7C,cAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,qBAAS,OAAOQ,oBAAmBR,KAAI;AACrC,kBAAI,CAACS,eAAc,KAAK,IAAI,GAAG,KAAK,QAAQ;AAC1C,gBAAAH,YAAW,IAAI,KAAK,EAAE,KAAK,MAAMN,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOO,mBAAkBP,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,UACzH;AACA,iBAAO;AAAA,QACT;AACA,YAAI,aAAa,CAAC,QAAQ,KAAK,kBAAkBW,cAAa,QAAQ,KAAK,SAAS,GAAG,gBAAgBA,cAAa,cAAc,KAAK,SAAS;AAChJ,YAAIC,iBAAgB,CAAC,QAAQD,cAAaL,YAAW,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AAC5F,YAAI,eAAe,CAAC;AACpB,QAAAD,SAAQ,UAAUO,eAAc,YAAY;AAC5C,mBAAW,cAAcE,kBAAiB,GAAGT,SAAQ,OAAO;AAAA,MAC9D;AAAA,IACF,CAAC;AAGD,QAAIW,gBAAenB,YAAW;AAAA,MAC5B,mDAAmDO,UAASC,UAAS;AACnE;AACA,YAAIC,cAAa,OAAO;AACxB,YAAIC,qBAAoB,OAAO;AAC/B,YAAIC,sBAAqB,OAAO;AAChC,YAAIC,iBAAgB,OAAO,UAAU;AACrC,YAAIC,aAAY,CAAC,QAAQ,QAAQ;AAC/B,mBAAS,QAAQ;AACf,YAAAJ,YAAW,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,QACjE;AACA,YAAIK,gBAAe,CAAC,IAAIX,OAAM,QAAQ,SAAS;AAC7C,cAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,qBAAS,OAAOQ,oBAAmBR,KAAI;AACrC,kBAAI,CAACS,eAAc,KAAK,IAAI,GAAG,KAAK,QAAQ;AAC1C,gBAAAH,YAAW,IAAI,KAAK,EAAE,KAAK,MAAMN,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOO,mBAAkBP,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,UACzH;AACA,iBAAO;AAAA,QACT;AACA,YAAIY,iBAAgB,CAAC,QAAQD,cAAaL,YAAW,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AAC5F,YAAI,eAAe,CAAC;AACpB,QAAAI,WAAU,cAAc;AAAA,UACtB,eAAe,MAAM;AAAA,UACrB,QAAQ,MAAM;AAAA,QAChB,CAAC;AACD,QAAAL,SAAQ,UAAUO,eAAc,YAAY;AAC5C,YAAI,kBAAkBT,cAAY;AAClC,YAAI,SAAS,CAAC,QAAQ;AACpB,kBAAQ,OAAO,SAAS,WAAW,eAAe,gBAAgB,OAAO,OAAO,OAAO,OAAO,QAAQ,YAAY,OAAO,IAAI,aAAa,YAAY,OAAO,IAAI,aAAa,aAAa;AAAA,QAC7L;AACA,YAAI,gBAAgB,CAAC,QAAQ;AAC3B,kBAAQ,OAAO,gBAAgB,WAAW,eAAe,gBAAgB,OAAO,cAAc,OAAO,OAAO,QAAQ,YAAY,QAAQ,QAAQ,IAAI,aAAa,KAAK,OAAO,IAAI,aAAa,aAAa;AAAA,QAC7M;AAAA,MACF;AAAA,IACF,CAAC;AAGD,QAAIc,iBAAgBpB,YAAW;AAAA,MAC7B,oDAAoDO,UAASC,UAAS;AACpE;AACA,YAAIC,cAAa,OAAO;AACxB,YAAIC,qBAAoB,OAAO;AAC/B,YAAIC,sBAAqB,OAAO;AAChC,YAAIC,iBAAgB,OAAO,UAAU;AACrC,YAAIC,aAAY,CAAC,QAAQ,QAAQ;AAC/B,mBAAS,QAAQ;AACf,YAAAJ,YAAW,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,QACjE;AACA,YAAIK,gBAAe,CAAC,IAAIX,OAAM,QAAQ,SAAS;AAC7C,cAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,qBAAS,OAAOQ,oBAAmBR,KAAI;AACrC,kBAAI,CAACS,eAAc,KAAK,IAAI,GAAG,KAAK,QAAQ;AAC1C,gBAAAH,YAAW,IAAI,KAAK,EAAE,KAAK,MAAMN,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOO,mBAAkBP,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,UACzH;AACA,iBAAO;AAAA,QACT;AACA,YAAIY,iBAAgB,CAAC,QAAQD,cAAaL,YAAW,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AAC5F,YAAI,gBAAgB,CAAC;AACrB,QAAAI,WAAU,eAAe;AAAA,UACvB,OAAO,MAAM;AAAA,UACb,IAAI,MAAM;AAAA,UACV,SAAS,MAAMQ;AAAA,UACf,WAAW,MAAM;AAAA,UACjB,WAAW,MAAM;AAAA,UACjB,YAAY,MAAMC;AAAA,UAClB,OAAO,MAAMC;AAAA,UACb,QAAQ,MAAM;AAAA,UACd,UAAU,MAAM;AAAA,UAChB,UAAU,MAAM;AAAA,UAChB,cAAc,MAAMC;AAAA,UACpB,UAAU,MAAM;AAAA,UAChB,aAAa,MAAM;AAAA,UACnB,gBAAgB,MAAM;AAAA,QACxB,CAAC;AACD,QAAAhB,SAAQ,UAAUO,eAAc,aAAa;AAC7C,YAAI,cAAcG,cAAa;AAC/B,YAAI,cAAcC,cAAa;AAC/B,YAAI,iBAAiB,CAAC,QAAQ,YAAY,UAAU,KAAK,SAAS,GAAG;AACrE,YAAI,YAAY,CAAC,QAAQ;AACvB,cAAI,QAAQ;AACV,mBAAO;AACT,iBAAO,OAAO,QAAQ,YAAY,IAAI,gBAAgB;AAAA,QACxD;AACA,YAAI,YAAY,CAAC,QAAQ,OAAO,QAAQ;AACxC,YAAI,WAAW,CAAC,QAAQ,OAAO,QAAQ;AACvC,YAAIG,eAAc,CAAC,QAAQ,OAAO,QAAQ;AAC1C,YAAI,YAAY,CAAC,QAAQ,QAAQ,QAAQ,QAAQ;AACjD,YAAI,SAAS,CAAC,QAAQ,QAAQ;AAC9B,YAAID,YAAW,CAAC,QAAQ,MAAM,QAAQ,GAAG;AACzC,YAAIG,iBAAgB,CAAC,QAAQ;AAC3B,cAAI,QAAQ;AACV,mBAAO;AACT,iBAAO,OAAO,QAAQ;AAAA,QACxB;AACA,YAAI,aAAa,CAAC,QAAQ;AACxB,iBAAO,UAAU,GAAG,KAAKA,eAAc,GAAG,KAAK,UAAU,GAAG,KAAK,SAAS,GAAG,KAAKF,aAAY,GAAG,KAAKD,UAAS,GAAG,KAAKG,eAAc,GAAG,KAAK,UAAU,GAAG,KAAK,OAAO,GAAG;AAAA,QAC3K;AACA,YAAI,cAAc,CAAC,QAAQ;AACzB,iBAAO,QAAQ;AAAA,QACjB;AACA,YAAI,QAAQ;AAAA,UACV,SAAS;AAAA,UACT,OAAOH;AAAA,UACP,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,MAAM;AAAA,UACN,UAAUC;AAAA,UACV,YAAYE;AAAA,UACZ,MAAM,YAAY;AAAA,UAClB,aAAa,YAAY;AAAA,UACzB,SAAS;AAAA,QACX;AACA,YAAI,KAAK,CAAC,QAAQ;AAChB,iBAAO,IAAI,SAAS;AAClB,mBAAO,KAAK,IAAI,CAAC,QAAQ,MAAM,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS;AAAA,UACtE;AAAA,QACF;AACA,YAAID,SAAQ,CAAC,QAAQ;AACnB,iBAAO,IAAI,SAAS;AAClB,mBAAO,KAAK,IAAI,CAAC,QAAQ,MAAM,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW;AAAA,UACxE;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAGD,QAAIE,iBAAgBzB,YAAW;AAAA,MAC7B,oDAAoDO,UAASC,UAAS;AACpE;AACA,YAAIC,cAAa,OAAO;AACxB,YAAIC,qBAAoB,OAAO;AAC/B,YAAIC,sBAAqB,OAAO;AAChC,YAAIC,iBAAgB,OAAO,UAAU;AACrC,YAAIC,aAAY,CAAC,QAAQ,QAAQ;AAC/B,mBAAS,QAAQ;AACf,YAAAJ,YAAW,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,QACjE;AACA,YAAIK,gBAAe,CAAC,IAAIX,OAAM,QAAQ,SAAS;AAC7C,cAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,qBAAS,OAAOQ,oBAAmBR,KAAI;AACrC,kBAAI,CAACS,eAAc,KAAK,IAAI,GAAG,KAAK,QAAQ;AAC1C,gBAAAH,YAAW,IAAI,KAAK,EAAE,KAAK,MAAMN,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOO,mBAAkBP,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,UACzH;AACA,iBAAO;AAAA,QACT;AACA,YAAIY,iBAAgB,CAAC,QAAQD,cAAaL,YAAW,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AAC5F,YAAI,gBAAgB,CAAC;AACrB,QAAAI,WAAU,eAAe;AAAA,UACvB,yBAAyB,MAAM;AAAA,UAC/B,YAAY,MAAM;AAAA,UAClB,sBAAsB,MAAM;AAAA,UAC5B,YAAY,MAAM;AAAA,UAClB,iBAAiB,MAAM;AAAA,UACvB,kBAAkB,MAAM;AAAA,QAC1B,CAAC;AACD,QAAAL,SAAQ,UAAUO,eAAc,aAAa;AAC7C,YAAI,gBAAgBW,gBAAe;AACnC,YAAI,eAAeN,eAAc;AACjC,YAAI,0BAA0B,CAAC,MAAM,SAAS;AAC5C,iBAAO,KAAK,MAAM,CAAC,QAAQ,KAAK,SAAS,GAAG,CAAC;AAAA,QAC/C;AACA,YAAI,kBAAkB,CAAC,KAAK,UAAU;AACpC,eAAK,GAAG,aAAa,UAAU,KAAK;AAClC,oBAAQ,SAAS,KAAK;AACxB,eAAK,GAAG,aAAa,UAAU,KAAK,GAAG;AACrC,gBAAI,QAAQ,KAAK,SAAS,IAAI,UAAU,MAAM,KAAK,GAAG;AACpD,oBAAM,IAAI,MAAM,eAAe;AAAA,YACjC;AACA,gBAAI,OAAO,OAAO,CAAC;AAAA,UACrB,YAAY,GAAG,aAAa,SAAS,KAAK,GAAG;AAC3C,kBAAM,QAAQ,CAAC,QAAQ,gBAAgB,KAAK,GAAG,CAAC;AAAA,UAClD,OAAO;AACL,kBAAM,IAAI,MAAM,eAAe;AAAA,UACjC;AACA,iBAAO;AAAA,QACT;AACA,YAAI,mBAAmB,CAAC,KAAK,GAAG,MAAM;AACpC,WAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AAAA,QACpC;AACA,YAAI,aAAa,IAAI,WAAW;AAC9B,iBAAO,CAAC,EAAE,OAAO,GAAG,MAAM;AAAA,QAC5B;AACA,YAAI,aAAa,CAAC,KAAK,cAAc,CAAC,MAAM;AAC1C,iBAAO,IAAI,OAAO,CAAC,GAAG,OAAO,GAAG,cAAc,WAAW,IAAI,GAAG,cAAc,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,CAAC,CAAC;AAAA,QAC5H;AACA,YAAI,uBAAuB,CAAC,QAAQ;AAClC,kBAAQ,GAAG,aAAa,SAAS,GAAG,IAAI,WAAW,GAAG,KAAK,GAAG,cAAc,WAAW,GAAG;AAAA,QAC5F;AAAA,MACF;AAAA,IACF,CAAC;AAGD,QAAIM,kBAAiB1B,YAAW;AAAA,MAC9B,qDAAqDO,UAASC,UAAS;AACrE;AACA,YAAIC,cAAa,OAAO;AACxB,YAAIC,qBAAoB,OAAO;AAC/B,YAAIC,sBAAqB,OAAO;AAChC,YAAIC,iBAAgB,OAAO,UAAU;AACrC,YAAIC,aAAY,CAAC,QAAQ,QAAQ;AAC/B,mBAAS,QAAQ;AACf,YAAAJ,YAAW,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,QACjE;AACA,YAAIK,gBAAe,CAAC,IAAIX,OAAM,QAAQ,SAAS;AAC7C,cAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,qBAAS,OAAOQ,oBAAmBR,KAAI;AACrC,kBAAI,CAACS,eAAc,KAAK,IAAI,GAAG,KAAK,QAAQ;AAC1C,gBAAAH,YAAW,IAAI,KAAK,EAAE,KAAK,MAAMN,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOO,mBAAkBP,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,UACzH;AACA,iBAAO;AAAA,QACT;AACA,YAAIY,iBAAgB,CAAC,QAAQD,cAAaL,YAAW,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AAC5F,YAAI,iBAAiB,CAAC;AACtB,QAAAI,WAAU,gBAAgB;AAAA,UACxB,OAAO,MAAM;AAAA,UACb,WAAW,MAAMc;AAAA,UACjB,kBAAkB,MAAM;AAAA,UACxB,iBAAiB,MAAM;AAAA,UACvB,WAAW,MAAM;AAAA,UACjB,eAAe,MAAM;AAAA,UACrB,2BAA2B,MAAM;AAAA,UACjC,MAAM,MAAMC;AAAA,UACZ,YAAY,MAAM;AAAA,UAClB,aAAa,MAAM;AAAA,UACnB,MAAM,MAAMC;AAAA,UACZ,kBAAkB,MAAM;AAAA,UACxB,aAAa,MAAM;AAAA,UACnB,KAAK,MAAM;AAAA,UACX,OAAO,MAAM;AAAA,UACb,mBAAmB,MAAM;AAAA,UACzB,gBAAgB,MAAM;AAAA,UACtB,WAAW,MAAM;AAAA,UACjB,eAAe,MAAM;AAAA,UACrB,kBAAkB,MAAMC;AAAA,UACxB,kBAAkB,MAAM;AAAA,QAC1B,CAAC;AACD,QAAAtB,SAAQ,UAAUO,eAAc,cAAc;AAC9C,YAAI,kBAAkBT,cAAY;AAClC,YAAI,eAAec,eAAc;AACjC,YAAI,eAAeK,eAAc;AACjC,YAAII,QAAO,CAAC,OAAO,SAAS,OAAO,YAAY;AAC7C,eAAK,GAAG,aAAa,YAAY,KAAK,GAAG;AACvC,mBAAO;AAAA,cACL;AAAA,cACA,SAAS,QAAQ;AAAA,cACjB,WAAW,QAAQ;AAAA,YACrB;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AACA,YAAI,MAAM,CAAC,KAAK,WAAW,YAAY;AACrC,qBAAW,KAAK,WAAW;AACzB,gBAAI,CAAC,IAAIA,MAAK,UAAU,CAAC,GAAG,OAAO;AAAA,UACrC;AAAA,QACF;AACA,YAAI,SAAS,CAAC,SAAS,KAAK,cAAc,CAAC,MAAM;AAC/C,qBAAW,KAAK,KAAK;AACnB,gBAAI,YAAY,SAAS,CAAC,KAAK,EAAE,SAAS,IAAI;AAC5C;AACF,kBAAM,cAAc,QAAQ,CAAC;AAC7B,kBAAM,UAAU,IAAI,CAAC;AACrB,gBAAI,gBAAgB,QAAQ;AAC1B,sBAAQ,CAAC,IAAI;AAAA,YACf;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AACA,YAAI,aAAa,CAAC,SAAS,QAAQ,cAAc,CAAC,MAAM;AACtD,qBAAW,KAAK,QAAQ;AACtB,gBAAI,YAAY,SAAS,CAAC,KAAK,EAAE,SAAS,IAAI;AAC5C;AACF,kBAAM,cAAc,QAAQ,CAAC;AAC7B,kBAAM,aAAa,OAAO,CAAC;AAC3B,iBAAK,GAAG,aAAa,cAAc,WAAW,MAAM,GAAG,aAAa,cAAc,UAAU,GAAG;AAC7F,yBAAW,aAAa,UAAU;AAAA,YACpC,WAAW,gBAAgB,QAAQ;AACjC,sBAAQ,CAAC,IAAI;AAAA,YACf;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AACA,YAAI,QAAQ,CAAC,KAAK,cAAc,CAAC,MAAM;AACrC,gBAAM,IAAI,CAAC;AACX,qBAAW,QAAQ,KAAK;AACtB,gBAAI,YAAY,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI;AAClD;AACF,cAAE,IAAI,IAAI,IAAI,IAAI;AAAA,UACpB;AACA,iBAAO;AAAA,QACT;AACA,YAAI,mBAAmB,CAAC,KAAK,cAAc,CAAC,MAAM;AAChD,eAAK,GAAG,aAAa,SAAS,GAAG,GAAG;AAClC,mBAAO,IAAI,IAAI,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAAA,UACxD;AACA,gBAAM,IAAI,CAAC;AACX,qBAAW,KAAK,KAAK;AACnB,gBAAI,YAAY,SAAS,CAAC,KAAK,EAAE,SAAS,IAAI;AAC5C;AACF,gBAAI,IAAI,IAAI,CAAC;AACb,gBAAI,MAAM,aAAa,GAAG,aAAa,SAAS,CAAC,GAAG;AAClD,kBAAI,kBAAkB,GAAG,WAAW;AAAA,YACtC;AACA,iBAAK,GAAG,aAAa,SAAS,CAAC,GAAG;AAChC,gBAAE,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAAA,YACtD,YAAY,GAAG,aAAa,UAAU,CAAC,GAAG;AACxC,gBAAE,CAAC,IAAI,iBAAiB,GAAG,WAAW;AAAA,YACxC;AACE,gBAAE,CAAC,IAAI;AAAA,UACX;AACA,iBAAO;AAAA,QACT;AACA,YAAI,oBAAoB,CAAC,KAAK,OAAO,CAAC,MAAM;AAC1C,iBAAO,IAAI,OAAO,CAAC,KAAK,SAAS,WAAW,KAAK,iBAAiB,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;AAAA,QACpF;AACA,YAAIF,cAAa,CAAC,KAAK,cAAc,CAAC,MAAM;AAC1C,gBAAM,KAAK,GAAG,aAAa,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;AACjD,qBAAW,QAAQ,KAAK;AACtB,gBAAI,YAAY,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI;AAClD;AACF,gBAAI,UAAU,IAAI,IAAI;AACtB,gBAAI,SAAS,aAAa,GAAG,aAAa,SAAS,OAAO,GAAG;AAC3D,yBAAW,GAAG,aAAa,YAAY,OAAO;AAAA,YAChD;AACA,iBAAK,GAAG,aAAa,cAAc,OAAO,GAAG;AAC3C,gBAAE,IAAI,IAAIA,YAAW,SAAS,WAAW;AAAA,YAC3C;AACE,gBAAE,IAAI,IAAI;AAAA,UACd;AACA,iBAAO;AAAA,QACT;AACA,YAAI,gBAAgB,CAAC,KAAK,cAAc,CAAC,MAAM;AAC7C,qBAAW,QAAQ,KAAK;AACtB,kBAAM,UAAU,IAAI,IAAI;AACxB,iBAAK,GAAG,aAAa,YAAY,OAAO,GAAG;AACzC,0BAAY,IAAI,IAAI,QAAQ,SAAS;AAAA,YACvC,YAAY,GAAG,aAAa,UAAU,OAAO,GAAG;AAC9C,0BAAY,IAAI,IAAI,CAAC;AACrB,4BAAc,SAAS,YAAY,IAAI,CAAC;AAAA,YAC1C,YAAY,GAAG,aAAa,SAAS,OAAO,GAAG;AAC7C,0BAAY,IAAI,IAAI,CAAC;AACrB,sBAAQ,QAAQ,CAAC,GAAG,MAAM;AACxB,qBAAK,GAAG,aAAa,UAAU,CAAC,GAAG;AACjC,8BAAY,IAAI,EAAE,CAAC,IAAI,CAAC;AACxB,gCAAc,GAAG,YAAY,IAAI,EAAE,CAAC,CAAC;AAAA,gBACvC,YAAY,GAAG,aAAa,YAAY,CAAC,GAAG;AAC1C,8BAAY,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS;AAAA,gBACpC,OAAO;AACL,8BAAY,IAAI,EAAE,CAAC,IAAI;AAAA,gBACzB;AAAA,cACF,CAAC;AAAA,YACH,OAAO;AACL,0BAAY,IAAI,IAAI;AAAA,YACtB;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AACA,YAAI,4BAA4B,CAAC,KAAK,WAAW,CAAC,MAAM;AACtD,qBAAW,QAAQ,KAAK;AACtB,kBAAM,UAAU,IAAI,IAAI;AACxB,iBAAK,GAAG,aAAa,YAAY,OAAO;AACtC;AAAA,sBACQ,GAAG,aAAa,UAAU,OAAO,GAAG;AAC5C,uBAAS,IAAI,IAAI,CAAC;AAClB,4BAAc,SAAS,SAAS,IAAI,CAAC;AAAA,YACvC,YAAY,GAAG,aAAa,SAAS,OAAO,GAAG;AAC7C,uBAAS,IAAI,IAAI,CAAC;AAClB,sBAAQ,QAAQ,CAAC,GAAG,MAAM;AACxB,qBAAK,GAAG,aAAa,YAAY,CAAC;AAChC;AACF,qBAAK,GAAG,aAAa,UAAU,CAAC,GAAG;AACjC,2BAAS,IAAI,EAAE,CAAC,IAAI,CAAC;AACrB,4CAA0B,GAAG,SAAS,IAAI,EAAE,CAAC,CAAC;AAAA,gBAChD,OAAO;AACL,2BAAS,IAAI,EAAE,CAAC,IAAI;AAAA,gBACtB;AAAA,cACF,CAAC;AAAA,YACH,OAAO;AACL,uBAAS,IAAI,IAAI;AAAA,YACnB;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AACA,YAAI,kBAAkB,CAAC,KAAK,cAAc,CAAC,MAAM;AAC/C,qBAAW,QAAQ,KAAK;AACtB,kBAAM,UAAU,IAAI,IAAI;AACxB,iBAAK,GAAG,aAAa,UAAU,OAAO,GAAG;AACvC,kBAAI,QAAQ,SAAS,IAAI,KAAK,QAAQ,SAAS,UAAU,KAAK,QAAQ,WAAW,GAAG,GAAG;AACrF,oBAAI;AACF,wBAAM,WAAW,gBAAgB,OAAO,KAAK,IAAI,UAAU;AAC3D,8BAAY,IAAI,IAAI;AAAA,gBACtB,SAAS,GAAP;AACA,sBAAI;AACF,gCAAY,IAAI,IAAI;AAAA,gBACxB;AAAA,cACF,OAAO;AACL,4BAAY,IAAI,IAAI;AAAA,cACtB;AAAA,YACF,YAAY,GAAG,aAAa,SAAS,OAAO,GAAG;AAC7C,0BAAY,IAAI,IAAI,CAAC;AACrB,sBAAQ,QAAQ,CAAC,YAAY;AAC3B,qBAAK,GAAG,aAAa,UAAU,OAAO,GAAG;AACvC,sBAAI,QAAQ,SAAS,IAAI,KAAK,QAAQ,SAAS,UAAU,KAAK,QAAQ,WAAW,GAAG,GAAG;AACrF,wBAAI;AACF,4BAAM,WAAW,gBAAgB,OAAO,KAAK,IAAI,UAAU;AAC3D,kCAAY,IAAI,EAAE,KAAK,QAAQ;AAAA,oBACjC,SAAS,GAAP;AACA,0BAAI;AACF,oCAAY,IAAI,EAAE,KAAK,OAAO;AAAA,oBAClC;AAAA,kBACF,OAAO;AACL,gCAAY,IAAI,EAAE,KAAK,OAAO;AAAA,kBAChC;AAAA,gBACF,YAAY,GAAG,aAAa,UAAU,OAAO,GAAG;AAC9C,8BAAY,IAAI,EAAE,KAAK,gBAAgB,OAAO,CAAC;AAAA,gBACjD,OAAO;AACL,8BAAY,IAAI,EAAE,KAAK,OAAO;AAAA,gBAChC;AAAA,cACF,CAAC;AAAA,YACH,YAAY,GAAG,aAAa,UAAU,OAAO,GAAG;AAC9C,0BAAY,IAAI,IAAI,gBAAgB,SAAS,YAAY,IAAI,CAAC;AAAA,YAChE,OAAO;AACL,0BAAY,IAAI,IAAI;AAAA,YACtB;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AACA,YAAI,cAAc,CAAC,UAAU,WAAW,UAAU;AAChD,qBAAW,KAAK,WAAW;AACzB,gBAAI,MAAM;AACR;AACF,kBAAM,eAAe,SAAS,CAAC;AAC/B,kBAAM,gBAAgB,UAAU,CAAC;AACjC,iBAAK,GAAG,aAAa,UAAU,YAAY,MAAM,GAAG,aAAa,UAAU,aAAa,GAAG;AACzF,oBAAM,CAAC,IAAI,CAAC;AACZ,cAAAC,MAAK,cAAc,eAAe,MAAM,CAAC,CAAC;AAAA,YAC5C,WAAW,kBAAkB,QAAQ;AACnC,oBAAM,CAAC,IAAI;AAAA,YACb;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AACA,YAAI,aAAa,CAAC,UAAU,WAAW,UAAU;AAC/C,cAAI,SAAS,WAAW,UAAU,QAAQ;AACxC,oBAAQ;AAAA,UACV,OAAO;AACL,kBAAM,UAAU,CAAC;AACjB,qBAAS,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;AACxC,oBAAM,UAAUA,MAAK,SAAS,CAAC,GAAG,UAAU,CAAC,CAAC;AAC9C,kBAAI,OAAO,KAAK,OAAO,EAAE,SAAS,GAAG;AACnC,wBAAQ,KAAK,OAAO;AAAA,cACtB;AAAA,YACF;AACA,gBAAI,QAAQ,SAAS,GAAG;AACtB,sBAAQ;AAAA,YACV;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AACA,YAAIA,QAAO,CAAC,UAAU,WAAW,QAAQ,CAAC,MAAM;AAC9C,eAAK,GAAG,aAAa,SAAS,QAAQ,MAAM,GAAG,aAAa,SAAS,SAAS,GAAG;AAC/E,oBAAQ,CAAC;AACT,uBAAW,UAAU,WAAW,KAAK;AAAA,UACvC,OAAO;AACL,wBAAY,UAAU,WAAW,KAAK;AAAA,UACxC;AACA,iBAAO;AAAA,QACT;AACA,YAAI,YAAY,CAAC,SAAS,QAAQ,cAAc,CAAC,MAAM;AACrD,gBAAM,EAAE,IAAI,IAAI;AAChB,gBAAM,UAAU,CAAC;AACjB,qBAAW,KAAK,QAAQ;AACtB,gBAAI,YAAY,SAAS,CAAC,KAAK,EAAE,SAAS,IAAI;AAC5C;AACF,kBAAM,cAAc,QAAQ,CAAC;AAC7B,kBAAM,aAAa,OAAO,CAAC;AAC3B,gBAAI,YAAY;AACd,kBAAI,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI;AAC9B,kBAAI,CAAC,IAAI;AAAA,YACX;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AACA,YAAIE,oBAAmB,CAAC,KAAK,QAAQ,cAAc,CAAC,MAAM;AACxD,qBAAW,KAAK,QAAQ;AACtB,gBAAI,YAAY,SAAS,CAAC,KAAK,EAAE,SAAS,IAAI;AAC5C;AACF,gBAAI,CAAC,IAAI,OAAO,CAAC;AAAA,UACnB;AACA,iBAAO;AAAA,QACT;AACA,YAAI,iBAAiB,CAAC,KAAK,QAAQ,cAAc,CAAC,MAAM;AACtD,qBAAW,KAAK,QAAQ;AACtB,gBAAI,YAAY,SAAS,CAAC,KAAK,EAAE,SAAS,IAAI;AAC5C;AACF,kBAAM,UAAU,IAAI,CAAC;AACrB,kBAAM,aAAa,OAAO,CAAC;AAC3B,iBAAK,GAAG,aAAa,cAAc,OAAO,MAAM,GAAG,aAAa,cAAc,UAAU,GAAG;AACzF,6BAAe,SAAS,UAAU;AAAA,YACpC,WAAW,eAAe,QAAQ;AAChC,kBAAI,CAAC,IAAI;AAAA,YACX;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AACA,YAAI,iBAAiB,CAAC,GAAG,MAAM;AAC7B,eAAK,GAAG,aAAa,cAAc,CAAC,MAAM,GAAG,aAAa,cAAc,CAAC;AACvE,mBAAO,WAAW,GAAG,CAAC;AACxB,iBAAO,KAAK;AAAA,QACd;AACA,YAAI,mBAAmB,CAAC,OAAO,MAAM,QAAQ,CAAC,MAAM;AAClD,gBAAM,cAAc,GAAG,aAAa,sBAAsB,KAAK;AAC/D,gBAAM,KAAK,UAAU;AACrB,gBAAM,iBAAiB,WAAW,IAAI;AACtC,cAAI;AACF,6BAAiB,gBAAgB,MAAM,KAAK;AAC9C,iBAAO,WAAW,IAAI;AACtB,iBAAO;AAAA,QACT;AACA,YAAI,cAAc,CAAC,OAAO,YAAY;AACpC,cAAI,UAAU;AACZ,mBAAO;AACT,cAAI,CAAC,SAAS,CAAC;AACb,mBAAO;AACT,qBAAW,QAAQ,OAAO;AACxB,kBAAM,YAAY,MAAM,IAAI;AAC5B,kBAAM,cAAc,QAAQ,IAAI;AAChC,iBAAK,GAAG,aAAa,cAAc,SAAS,GAAG;AAC7C,oBAAM,UAAU,YAAY,WAAW,WAAW;AAClD,kBAAI,CAAC;AACH,uBAAO;AAAA,YACX,OAAO;AACL,oBAAM,UAAU,cAAc;AAC9B,kBAAI,CAAC;AACH,uBAAO;AAAA,YACX;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AACA,YAAI,mBAAmB,CAAC,KAAKC,WAAU;AACrC,cAAIA,WAAU,UAAUA,WAAU;AAChC,mBAAO;AACT,eAAK,GAAG,aAAa,IAAIA,MAAK,EAAE,UAAU,QAAQ,GAAG;AACnD,mBAAO,IAAIA,MAAK;AAAA,UAClB,YAAY,GAAG,aAAa,SAASA,MAAK,GAAG;AAC3C,YAAAA,OAAM,QAAQ,CAAC,SAAS,OAAO,IAAI,IAAI,CAAC;AAAA,UAC1C,OAAO;AACL,kBAAM,IAAI,MAAM,8DAA8D;AAAA,UAChF;AACA,iBAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF,CAAC;AAGD,QAAIC,oBAAmBhC,YAAW;AAAA,MAChC,uDAAuDO,UAASC,UAAS;AACvE;AACA,YAAIC,cAAa,OAAO;AACxB,YAAIC,qBAAoB,OAAO;AAC/B,YAAIC,sBAAqB,OAAO;AAChC,YAAIC,iBAAgB,OAAO,UAAU;AACrC,YAAIC,aAAY,CAAC,QAAQ,QAAQ;AAC/B,mBAAS,QAAQ;AACf,YAAAJ,YAAW,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,QACjE;AACA,YAAIK,gBAAe,CAAC,IAAIX,OAAM,QAAQ,SAAS;AAC7C,cAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,qBAAS,OAAOQ,oBAAmBR,KAAI;AACrC,kBAAI,CAACS,eAAc,KAAK,IAAI,GAAG,KAAK,QAAQ;AAC1C,gBAAAH,YAAW,IAAI,KAAK,EAAE,KAAK,MAAMN,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOO,mBAAkBP,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,UACzH;AACA,iBAAO;AAAA,QACT;AACA,YAAIY,iBAAgB,CAAC,QAAQD,cAAaL,YAAW,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AAC5F,YAAI,mBAAmB,CAAC;AACxB,QAAAI,WAAU,kBAAkB;AAAA,UAC1B,UAAU,MAAM;AAAA,UAChB,SAAS,MAAMoB;AAAA,QACjB,CAAC;AACD,QAAAzB,SAAQ,UAAUO,eAAc,gBAAgB;AAChD,YAAI,WAAW,CAAC,SAAS,MAAM,UAAU,QAAQ;AAC/C,cAAI;AACJ,iBAAO,IAAI,SAAS;AAClB,yBAAa,KAAK;AAClB,oBAAQ,WAAW,MAAM;AACvB,mBAAK,MAAM,SAAS,IAAI;AAAA,YAC1B,GAAG,OAAO;AAAA,UACZ;AAAA,QACF;AACA,YAAIkB,WAAU,CAAC,OAAO;AACpB,gBAAM,QAAQ,CAAC;AACf,iBAAO,IAAI,SAAS;AAClB,kBAAM,IAAI,KAAK,CAAC;AAChB,gBAAI,KAAK,OAAO;AACd,qBAAO,MAAM,CAAC;AAAA,YAChB,OAAO;AACL,oBAAM,SAAS,GAAG,CAAC;AACnB,oBAAM,CAAC,IAAI;AACX,qBAAO;AAAA,YACT;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAGD,QAAIC,eAAclC,YAAW;AAAA,MAC3B,kDAAkDO,UAASC,UAAS;AAClE;AACA,YAAIC,cAAa,OAAO;AACxB,YAAIC,qBAAoB,OAAO;AAC/B,YAAIC,sBAAqB,OAAO;AAChC,YAAIC,iBAAgB,OAAO,UAAU;AACrC,YAAIC,aAAY,CAAC,QAAQ,QAAQ;AAC/B,mBAAS,QAAQ;AACf,YAAAJ,YAAW,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,QACjE;AACA,YAAIK,gBAAe,CAAC,IAAIX,OAAM,QAAQ,SAAS;AAC7C,cAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,qBAAS,OAAOQ,oBAAmBR,KAAI;AACrC,kBAAI,CAACS,eAAc,KAAK,IAAI,GAAG,KAAK,QAAQ;AAC1C,gBAAAH,YAAW,IAAI,KAAK,EAAE,KAAK,MAAMN,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOO,mBAAkBP,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,UACzH;AACA,iBAAO;AAAA,QACT;AACA,YAAIY,iBAAgB,CAAC,QAAQD,cAAaL,YAAW,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AAC5F,YAAI,cAAc,CAAC;AACnB,QAAAI,WAAU,aAAa;AAAA,UACrB,YAAY,MAAM;AAAA,UAClB,OAAO,MAAM;AAAA,QACf,CAAC;AACD,QAAAL,SAAQ,UAAUO,eAAc,WAAW;AAC3C,YAAI,QAAQ,CAAC,SAAS,QAAQ;AAC5B,cAAI;AACF,gBAAI,IAAI,CAAC,MAAM,QAAQ,IAAI,CAAC,CAAC;AAAA,QACjC;AACA,YAAI,aAAa,CAAC,MAAM,QAAQ,QAAQ;AACtC,cAAI,MAAM;AACR,oBAAQ,MAAM,GAAG;AACjB,gBAAI,IAAI,CAAC,MAAM,QAAQ,IAAI,CAAC,CAAC;AAC7B,oBAAQ,SAAS,GAAG;AAAA,UACtB;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAGD,QAAIoB,gBAAenC,YAAW;AAAA,MAC5B,oDAAoDO,UAASC,UAAS;AACpE;AACA,YAAIC,cAAa,OAAO;AACxB,YAAIC,qBAAoB,OAAO;AAC/B,YAAIC,sBAAqB,OAAO;AAChC,YAAIC,iBAAgB,OAAO,UAAU;AACrC,YAAIE,gBAAe,CAAC,IAAIX,OAAM,QAAQ,SAAS;AAC7C,cAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,qBAAS,OAAOQ,oBAAmBR,KAAI;AACrC,kBAAI,CAACS,eAAc,KAAK,IAAI,GAAG,KAAK,QAAQ;AAC1C,gBAAAH,YAAW,IAAI,KAAK,EAAE,KAAK,MAAMN,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOO,mBAAkBP,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,UACzH;AACA,iBAAO;AAAA,QACT;AACA,YAAI,aAAa,CAAC,QAAQ,KAAK,kBAAkBW,cAAa,QAAQ,KAAK,SAAS,GAAG,gBAAgBA,cAAa,cAAc,KAAK,SAAS;AAChJ,YAAIC,iBAAgB,CAAC,QAAQD,cAAaL,YAAW,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AAC5F,YAAI,iBAAiB,CAAC;AACtB,QAAAD,SAAQ,UAAUO,eAAc,cAAc;AAC9C,mBAAW,gBAAgBC,cAAa,GAAGR,SAAQ,OAAO;AAC1D,mBAAW,gBAAgBY,eAAc,GAAGZ,SAAQ,OAAO;AAC3D,mBAAW,gBAAgBkB,gBAAe,GAAGlB,SAAQ,OAAO;AAC5D,mBAAW,gBAAgBwB,kBAAiB,GAAGxB,SAAQ,OAAO;AAC9D,mBAAW,gBAAgBiB,eAAc,GAAGjB,SAAQ,OAAO;AAC3D,mBAAW,gBAAgBW,cAAa,GAAGX,SAAQ,OAAO;AAC1D,mBAAW,gBAAgB0B,aAAY,GAAG1B,SAAQ,OAAO;AAAA,MAC3D;AAAA,IACF,CAAC;AAGD,QAAI,cAAc,CAAC;AACnB,IAAAP,UAAS,aAAa;AAAA,MACpB,WAAW,MAAM;AAAA,MACjB,aAAa,MAAM;AAAA,MACnB,OAAO,MAAM;AAAA,MACb,OAAO,MAAM;AAAA,MACb,QAAQ,MAAMmC;AAAA,MACd,UAAU,MAAM;AAAA,MAChB,SAAS,MAAM;AAAA,MACf,UAAU,MAAM;AAAA,MAChB,SAAS,MAAM;AAAA,MACf,MAAM,MAAM;AAAA,MACZ,WAAW,MAAM;AAAA,MACjB,aAAa,MAAM;AAAA,MACnB,mBAAmB,MAAM;AAAA,MACzB,UAAU,MAAM;AAAA,MAChB,OAAO,MAAM;AAAA,MACb,OAAO,MAAM;AAAA,MACb,OAAO,MAAM;AAAA,MACb,UAAU,MAAM;AAAA,MAChB,SAAS,MAAM;AAAA,MACf,KAAK,MAAM;AAAA,MACX,UAAU,MAAM;AAAA,MAChB,OAAO,MAAM;AAAA,MACb,QAAQ,MAAM;AAAA,MACd,YAAY,MAAM;AAAA,MAClB,MAAM,MAAM;AAAA,MACZ,oBAAoB,MAAM;AAAA,MAC1B,gBAAgB,MAAM;AAAA,MACtB,mBAAmB,MAAM;AAAA,MACzB,iBAAiB,MAAM;AAAA,MACvB,eAAe,MAAM;AAAA,MACrB,eAAe,MAAM;AAAA,MACrB,YAAY,MAAM;AAAA,MAClB,mBAAmB,MAAM;AAAA,MACzB,sBAAsB,MAAM;AAAA,MAC5B,qBAAqB,MAAM;AAAA,MAC3B,yBAAyB,MAAM;AAAA,MAC/B,iBAAiB,MAAM;AAAA,MACvB,wBAAwB,MAAM;AAAA,MAC9B,oBAAoB,MAAM;AAAA,MAC1B,mBAAmB,MAAM;AAAA,MACzB,cAAc,MAAM;AAAA,MACpB,kBAAkB,MAAM;AAAA,MACxB,gBAAgB,MAAM;AAAA,MACtB,qBAAqB,MAAM;AAAA,MAC3B,iBAAiB,MAAMC;AAAA,MACvB,UAAU,MAAMC;AAAA,MAChB,eAAe,MAAM;AAAA,MACrB,sBAAsB,MAAM;AAAA,MAC5B,aAAa,MAAM;AAAA,MACnB,iBAAiB,MAAM;AAAA,MACvB,uBAAuB,MAAM;AAAA,MAC7B,mBAAmB,MAAM;AAAA,MACzB,eAAe,MAAMC;AAAA,MACrB,eAAe,MAAM;AAAA,MACrB,kBAAkB,MAAMC;AAAA,MACxB,eAAe,MAAMC;AAAA,MACrB,eAAe,MAAMC;AAAA,MACrB,kBAAkB,MAAM;AAAA,MACxB,8BAA8B,MAAM;AAAA,MACpC,wBAAwB,MAAMC;AAAA,MAC9B,iBAAiB,MAAMC;AAAA,MACvB,UAAU,MAAMC;AAAA,MAChB,gBAAgB,MAAMC;AAAA,MACtB,mBAAmB,MAAMC;AAAA,MACzB,UAAU,MAAM;AAAA,MAChB,eAAe,MAAM;AAAA,MACrB,WAAW,MAAM;AAAA,MACjB,UAAU,MAAM;AAAA,MAChB,cAAc,MAAM;AAAA,MACpB,WAAW,MAAM;AAAA,MACjB,YAAY,MAAM;AAAA,MAClB,gBAAgB,MAAM;AAAA,MACtB,SAAS,MAAMC;AAAA,MACf,yBAAyB,MAAM;AAAA,MAC/B,eAAe,MAAM;AAAA,MACrB,UAAU,MAAM;AAAA,MAChB,UAAU,MAAM;AAAA,MAChB,iBAAiB,MAAM;AAAA,MACvB,eAAe,MAAM;AAAA,MACrB,cAAc,MAAM;AAAA,MACpB,KAAK,MAAMC;AAAA,MACX,iBAAiB,MAAM;AAAA,MACvB,UAAU,MAAM;AAAA,MAChB,eAAe,MAAM;AAAA,MACrB,oBAAoB,MAAM;AAAA,MAC1B,SAAS,MAAM;AAAA,MACf,SAAS,MAAM;AAAA,MACf,eAAe,MAAM;AAAA,MACrB,aAAa,MAAM;AAAA,MACnB,SAAS,MAAM;AAAA,MACf,sBAAsB,MAAM;AAAA,MAC5B,eAAe,MAAM;AAAA,MACrB,QAAQ,MAAM;AAAA,MACd,UAAU,MAAM;AAAA,MAChB,UAAU,MAAM;AAAA,MAChB,cAAc,MAAM;AAAA,MACpB,iBAAiB,MAAMC;AAAA,MACvB,0BAA0B,MAAMC;AAAA,MAChC,iBAAiB,MAAMC;AAAA,MACvB,mBAAmB,MAAMC;AAAA,MACzB,iBAAiB,MAAMC;AAAA,MACvB,qBAAqB,MAAMC;AAAA,MAC3B,qBAAqB,MAAM;AAAA,MAC3B,cAAc,MAAMC;AAAA,IACtB,CAAC;AACD,IAAA/D,QAAO,UAAUY,cAAa,WAAW;AAGzC,QAAI,gBAAgB,CAAC;AACrB,IAAAJ,UAAS,eAAe;AAAA,MACtB,mBAAmB,MAAM;AAAA,MACzB,iBAAiB,MAAM;AAAA,MACvB,wBAAwB,MAAM;AAAA,MAC9B,oBAAoB,MAAM;AAAA,MAC1B,mBAAmB,MAAM;AAAA,MACzB,cAAc,MAAM;AAAA,MACpB,kBAAkB,MAAM;AAAA,MACxB,gBAAgB,MAAM;AAAA,MACtB,qBAAqB,MAAM;AAAA,MAC3B,eAAe,MAAM;AAAA,MACrB,sBAAsB,MAAM;AAAA,MAC5B,aAAa,MAAM;AAAA,MACnB,iBAAiB,MAAM;AAAA,MACvB,uBAAuB,MAAM;AAAA,MAC7B,mBAAmB,MAAM;AAAA,MACzB,eAAe,MAAM;AAAA,MACrB,kBAAkB,MAAM;AAAA,MACxB,8BAA8B,MAAM;AAAA,MACpC,UAAU,MAAM;AAAA,MAChB,eAAe,MAAM;AAAA,MACrB,WAAW,MAAM;AAAA,MACjB,UAAU,MAAM;AAAA,MAChB,cAAc,MAAM;AAAA,MACpB,WAAW,MAAM;AAAA,MACjB,YAAY,MAAM;AAAA,MAClB,gBAAgB,MAAM;AAAA,MACtB,SAAS,MAAM+C;AAAA,MACf,yBAAyB,MAAM;AAAA,MAC/B,eAAe,MAAM;AAAA,MACrB,UAAU,MAAM;AAAA,MAChB,UAAU,MAAM;AAAA,MAChB,eAAe,MAAM;AAAA,MACrB,oBAAoB,MAAM;AAAA,MAC1B,sBAAsB,MAAM;AAAA,MAC5B,cAAc,MAAM;AAAA,IACtB,CAAC;AAGD,QAAI,iBAAiB5C,SAAQE,cAAY,GAAG,CAAC;AAC7C,QAAI,MAAM;AACV,QAAI,yBAAyB,CAAC,UAAU;AACtC,UAAI,UAAU;AACZ;AACF,UAAI,MAAM,YAAY,MAAM;AAC1B,eAAO,CAAC,GAAG,GAAG,GAAG,CAAC;AACpB,UAAI,MAAM,CAAC,MAAM,KAAK;AACpB,YAAI,MAAM,SAAS,GAAG;AACpB,kBAAQ,MAAM,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI;AAAA,QAC5H;AACA,eAAO;AAAA,UACL,SAAS,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;AAAA,UAC/B,SAAS,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;AAAA,UAC/B,SAAS,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;AAAA,UAC/B,MAAM,SAAS,IAAI,SAAS,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,IAAI,MAAM;AAAA,QAC9D;AAAA,MACF;AACA,UAAI,MAAM,QAAQ,KAAK,MAAM,IAAI;AAC/B,YAAI,eAAe,YAAY,eAAe,QAAQ;AACpD,gBAAM,OAAO,eAAe,SAAS,KAAK,YAAY,eAAe,SAAS,cAAc,QAAQ,CAAC;AACrG,gBAAM,OAAO;AACb,eAAK,MAAM,QAAQ;AACnB,cAAI,KAAK,MAAM,UAAU;AACvB;AACF,eAAK,MAAM,QAAQ;AACnB,cAAI,KAAK,MAAM,UAAU,QAAQ,KAAK,MAAM,UAAU;AACpD;AACF,kBAAQ,eAAe,OAAO,iBAAiB,IAAI,EAAE;AACrD,yBAAe,SAAS,KAAK,YAAY,IAAI;AAAA,QAC/C;AAAA,MACF;AACA,UAAI,MAAM,QAAQ,KAAK,MAAM,GAAG;AAC9B,YAAI,MAAM,QAAQ,MAAM,MAAM;AAC5B,kBAAQ,GAAG;AACb,eAAO,MAAM,MAAM,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAAA,MAC9C;AACA,aAAO,CAAC;AAAA,IACV;AACA,QAAI,eAAe,CAAC,QAAQ,QAAQ,QAAQ,QAAQ;AAClD,eAAS,uBAAuB,MAAM;AACtC,eAAS,uBAAuB,MAAM;AACtC,aAAO,WAAW,QAAQ,QAAQ,KAAK;AAAA,IACzC;AACA,QAAI,WAAW,CAAC,KAAK,QAAQ,MAAM;AACjC,YAAM,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,MAAM,OAAO,EAAE,IAAI,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC;AAC/D,aAAO,OAAO,KAAK,KAAK;AAAA,IAC1B;AACA,QAAI,gBAAgB,CAAC,KAAK,QAAQ,MAAM;AACtC,YAAM,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,MAAM,OAAO,EAAE,IAAI,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC;AAC/D,aAAO,CAAC,GAAG,GAAG,CAAC;AAAA,IACjB;AACA,QAAI,WAAW,CAAC,GAAG,GAAG,MAAM;AAC1B,aAAO,QAAQ,KAAK,OAAO,KAAK,OAAO,KAAK,KAAK,GAAG,SAAS,EAAE,EAAE,MAAM,CAAC;AAAA,IAC1E;AACA,QAAI,gBAAgB,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM;AACjC,eAAS,KAAK,OAAO,KAAK,OAAO,KAAK,KAAK,GAAG,SAAS,EAAE,EAAE,MAAM,CAAC;AAAA,IACpE;AACA,QAAI,YAAY,CAAC,KAAK,QAAQ,MAAM;AAClC,YAAM,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,MAAM,OAAO,EAAE,IAAI,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC;AAC/D,aAAO,QAAQ,KAAK,KAAK,KAAK;AAAA,IAChC;AACA,QAAI,YAAY,CAAC,QAAQ,QAAQ,QAAQ,QAAQ;AAC/C,YAAM,MAAM,CAAC;AACb,eAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AAC1B,YAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK;AAAA,MACpD;AACA,aAAO,OAAO;AAAA,IAChB;AACA,QAAI,kBAAkB,CAAC,OAAO,QAAQ;AACpC,YAAM,CAAC,KAAK,YAAY,SAAS,IAAI;AACrC,YAAM,eAAe,KAAK;AAAA,QACxB;AAAA,QACA,KAAK,IAAI,KAAK,YAAY,WAAW,KAAK,CAAC;AAAA,MAC7C;AACA,aAAO,CAAC,KAAK,YAAY,YAAY;AAAA,IACvC;AACA,QAAI,WAAW,CAAC,GAAG,GAAG,MAAM;AAC1B,YAAM,IAAI,KAAK,IAAI,GAAG,GAAG,CAAC;AAC1B,YAAM,IAAI,IAAI,KAAK,IAAI,GAAG,GAAG,CAAC;AAC9B,YAAM,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC;AACpC,YAAM,IAAI,MAAM,KAAK,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK;AAChF,aAAO,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC;AAAA,IAClE;AACA,QAAI,WAAW,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,MAAM,OAAO,IAAI,IAAI,KAAK;AAAA,MAClG,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC;AAAA,MACxB;AAAA,IACF,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACvB,QAAI,gBAAgB,CAAC,KAAK,QAAQ;AAChC,YAAM,MAAM,SAAS,KAAK,EAAE;AAC5B,UAAI,KAAK,OAAO,MAAM;AACtB,UAAI,IAAI;AACN,YAAI;AAAA,eACG,IAAI;AACX,YAAI;AACN,UAAI,KAAK,OAAO,IAAI,OAAO;AAC3B,UAAI,IAAI;AACN,YAAI;AAAA,eACG,IAAI;AACX,YAAI;AACN,UAAI,KAAK,MAAM,OAAO;AACtB,UAAI,IAAI;AACN,YAAI;AAAA,eACG,IAAI;AACX,YAAI;AACN,cAAQ,IAAI,KAAK,IAAI,KAAK,IAAI,SAAS,EAAE;AAAA,IAC3C;AACA,QAAI,aAAa,CAAC,QAAQ,QAAQ,QAAQ,QAAQ;AAChD,YAAM,MAAM,CAAC;AACb,eAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AAC1B,cAAM,QAAQ,MAAM,IAAI,CAAC,MAAM,IAAI,KAAK;AACxC,YAAI,CAAC,IAAI;AAAA,UACP,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK;AAAA,QACxC;AAAA,MACF;AACA,aAAO,QAAQ;AAAA,IACjB;AACA,QAAI0C,WAAU,CAAC,OAAO,YAAY;AAChC,YAAM,MAAM,uBAAuB,KAAK;AACxC,UAAI,CAAC,KAAK;AACR,YAAI,QAAQ,UAAU,QAAQ;AAC5B,kBAAQ,KAAK,QAAQ,mBAAmB;AAC1C;AAAA,MACF;AACA,UAAI,CAAC,IAAI;AACT,aAAO,QAAQ;AAAA,IACjB;AAGA,QAAI,0BAA0B,CAAC,MAAM,UAAU;AAC7C,UAAI,CAAC;AACH;AACF,UAAI,KAAK,UAAU,KAAK,OAAO,KAAK;AAClC,eAAO,KAAK,OAAO,KAAK;AAC1B,UAAI,KAAK,KAAK;AACZ,eAAO,CAAC,MAAM,KAAK,KAAK,CAAC;AAC3B,aAAO;AAAA,IACT;AAGA,QAAI,uBAAuB,CAAC,SAAS,QAAQ;AAC3C,UAAI,QAAQ,GAAG;AACb,eAAO,QAAQ,GAAG,EAAE;AACtB,UAAI,QAAQ;AACV,eAAO,QAAQ,QAAQ,OAAO,EAAE;AAClC,YAAM,WAAW,OAAO,KAAK,OAAO,EAAE,CAAC;AACvC,aAAO,YAAY,QAAQ,QAAQ,KAAK,QAAQ,QAAQ,EAAE;AAAA,IAC5D;AACA,QAAI,gBAAgB,CAAC,QAAQ,IAAI,MAAM,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,EAAE,IAAI,EAAE,KAAK;AACxE,QAAI,uBAAuB,CAAC,QAAQ,gBAAgB;AACpD,QAAI,gBAAgB,CAAC,MAAM,KAAK,WAAW;AAAA,kBACzB;AAAA;AAAA,IAEd,UAAU,gBAAgB;AAAA,cAChB,iBAAiB,cAAc,GAAG;AAChD,QAAI,qBAAqB,CAAC,MAAM,KAAK,WAAW;AAAA,IAC5C,cAAc,MAAM,KAAK,MAAM;AAAA;AAEnC,QAAI,kBAAkB,CAAC,MAAM,YAAY;AACvC,YAAM,OAAO,OAAO,KAAK,OAAO;AAChC,aAAO,KAAK,IAAI,CAAC,QAAQ;AACvB,cAAM,EAAE,KAAK,WAAW,IAAI,QAAQ,GAAG;AACvC,eAAO,cAAc,MAAM,KAAK,UAAU;AAAA,MAC5C,CAAC;AAAA,IACH;AACA,QAAI,cAAc,CAAC,YAAY;AAC7B,YAAM,OAAO,OAAO,KAAK,OAAO;AAChC,aAAO,KAAK,IAAI,CAAC,QAAQ,gBAAgB,KAAK,QAAQ,GAAG,EAAE,KAAK,CAAC;AAAA,IACnE;AACA,QAAI,wBAAwB,CAAC,MAAM,YAAY;AAC7C,YAAM,QAAQ,QAAQ,CAAC;AACvB,UAAI;AACF,eAAO,gBAAgB,MAAM,OAAO,EAAE,IAAI,oBAAoB;AAChE,aAAO,mBAAmB,MAAM,QAAQ,GAAG;AAAA,IAC7C;AACA,QAAI,oBAAoB,CAAC,YAAY;AACnC,YAAM,OAAO,OAAO,KAAK,OAAO;AAChC,aAAO,KAAK,IAAI,CAAC,QAAQ,sBAAsB,KAAK,QAAQ,GAAG,EAAE,KAAK,CAAC;AAAA,IACzE;AAGA,QAAIS,iBAAgBrD,SAAQ+B,cAAa,GAAG,CAAC;AAG7C,QAAIuB,iBAAgBtD,SAAQ+B,cAAa,CAAC;AAG1C,QAAIwB,iBAAevD,SAAQ+B,cAAa,CAAC;AAGzC,QAAI,cAAc,CAAC,QAAQ;AACzB,aAAO,IAAI,QAAQ,uBAAuB,SAAS,MAAM,OAAO;AAC9D,eAAO,UAAU,IAAI,KAAK,YAAY,IAAI,KAAK,YAAY;AAAA,MAC7D,CAAC,EAAE,WAAW,QAAQ,EAAE;AAAA,IAC1B;AACA,QAAI,aAAa,CAAC,QAAQ,IAAI,QAAQ,UAAU,CAACyB,QAAO,YAAY,SAAS,IAAI,MAAM,MAAMA,OAAM,YAAY,CAAC,EAAE,QAAQ,KAAK,GAAG;AAClI,QAAI,eAAe,CAAC,QAAQ;AAC1B,WAAK,GAAGF,eAAc,UAAU,GAAG;AACjC,eAAO,IAAI,MAAM,GAAG;AACtB,WAAK,GAAGA,eAAc,UAAU,GAAG;AACjC,eAAO,OAAO,KAAK,GAAG,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;AAC3C,WAAK,GAAGA,eAAc,SAAS,GAAG;AAChC,eAAO;AAAA,IACX;AAGA,QAAIG,iBAAgBzD,SAAQ+B,cAAa,GAAG,CAAC;AAG7C,QAAI,wBAAwB,CAAC;AAC7B,IAAAlC,UAAS,uBAAuB;AAAA,MAC9B,WAAW,MAAM;AAAA,MACjB,aAAa,MAAM;AAAA,MACnB,OAAO,MAAM;AAAA,MACb,OAAO,MAAM;AAAA,MACb,SAAS,MAAM;AAAA,MACf,UAAU,MAAM;AAAA,MAChB,MAAM,MAAM;AAAA,MACZ,WAAW,MAAM;AAAA,MACjB,aAAa,MAAM;AAAA,MACnB,mBAAmB,MAAM;AAAA,MACzB,UAAU,MAAM;AAAA,MAChB,OAAO,MAAM;AAAA,MACb,OAAO,MAAM;AAAA,MACb,OAAO,MAAM;AAAA,MACb,UAAU,MAAM;AAAA,MAChB,SAAS,MAAM;AAAA,MACf,KAAK,MAAM;AAAA,MACX,UAAU,MAAM;AAAA,MAChB,OAAO,MAAM;AAAA,MACb,QAAQ,MAAM;AAAA,MACd,YAAY,MAAM;AAAA,MAClB,MAAM,MAAM;AAAA,IACd,CAAC;AAGD,QAAI,WAAW;AAAA,MACb,gBAAgB;AAAA,MAChB,gBAAgB;AAAA,MAChB,eAAe;AAAA,MACf,eAAe;AAAA,MACf,kBAAkB;AAAA,MAClB,oBAAoB;AAAA,MACpB,iBAAiB;AAAA,MACjB,eAAe;AAAA,MACf,KAAK;AAAA;AAAA,MAEL,eAAe;AAAA,MACf,iBAAiB;AAAA;AAAA,MAEjB,iBAAiB;AAAA,MACjB,iBAAiB;AAAA,MACjB,QAAQ;AAAA,MACR,iBAAiB;AAAA;AAAA,MAEjB,eAAe;AAAA,MACf,kBAAkB;AAAA,MAClB,iBAAiB;AAAA,MACjB,IAAI;AAAA;AAAA,MAEJ,iBAAiB;AAAA,IACnB;AAGA,QAAI,OAAO;AAAA,MACT,SAAS;AAAA,IACX;AAGA,QAAI,eAAe;AAAA,MACjB,gBAAgB;AAAA,MAChB,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO,SAAS,aAAa;AAAA,MAC7B,OAAO,CAAC,IAAI,EAAE;AAAA,MACd,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,CAAC;AAAA,MACZ,UAAU,CAAC;AAAA,MACX,QAAQ,CAAC;AAAA,MACT,MAAM,CAAC;AAAA,IACT;AACA,QAAI,aAAa;AAGjB,QAAI,OAAO,CAAC;AAGZ,QAAI,cAAc,CAAC;AACnB,QAAI,oBAAoB;AAAA,MACtB,cAAc;AAAA,MACd,OAAO;AAAA,MACP,WAAW;AAAA,IACb;AACA,QAAI,YAAY,CAAC;AAGjB,QAAI,QAAQ;AAAA,MACV,IAAI;AAAA,MACJ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,aAAa;AAAA,MACb,OAAO;AAAA,MACP,MAAM;AAAA,MACN,OAAO;AAAA,IACT;AAGA,QAAI,gBAAgB;AAAA,MAClB,MAAM,WAAW;AAAA,MACjB,MAAM;AAAA,MACN,OAAO,SAAS;AAAA,MAChB,OAAO,CAAC,IAAI,EAAE;AAAA,MACd,aAAa;AAAA,MACb,MAAM;AAAA,MACN,UAAU,CAAC;AAAA,MACX,QAAQ,CAAC;AAAA,MACT,MAAM,CAAC;AAAA,IACT;AACA,QAAI,UAAU;AAGd,QAAI,QAAQ,CAAC;AACb,QAAI,WAAW,CAAC;AAGhB,QAAI,QAAQ,CAAC;AAGb,QAAI,QAAQ,CAAC;AAGb,QAAI,gBAAgB;AAAA,MAClB,SAAS;AAAA,MACT,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO,SAAS,gBAAgB;AAAA,MAChC,OAAO,CAAC,IAAI,EAAE;AAAA,MACd,MAAM;AAAA,MACN,UAAU,CAAC;AAAA,MACX,QAAQ,CAAC;AAAA,MACT,MAAM,CAAC;AAAA,IACT;AACA,QAAI,SAAS;AAGb,QAAI,WAAW,CAAC;AAGhB,QAAI,cAAc;AAAA,MAChB,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,UAAU;AAAA,IACZ;AACA,QAAI,UAAU;AAAA,MACZ,SAAS,CAAC,MAAM,IAAI;AAAA,MACpB,SAAS,CAAC,MAAM,IAAI;AAAA,MACpB,SAAS,CAAC,MAAM,GAAG;AAAA,MACnB,SAAS,CAAC,MAAM,GAAG;AAAA,MACnB,SAAS,CAAC,MAAM,GAAG;AAAA,MACnB,SAAS,CAAC,MAAM,GAAG;AAAA,MACnB,SAAS,CAAC,KAAK,GAAG;AAAA,MAClB,SAAS,CAAC,KAAK,GAAG;AAAA,MAClB,SAAS,CAAC,KAAK,GAAG;AAAA,MAClB,UAAU,CAAC,KAAK,GAAG;AAAA,IACrB;AAGA,QAAI,QAAQ,CAAC;AAGb,QAAI,YAAY,CAAC;AAGjB,QAAI,MAAM,CAAC;AACX,QAAI,WAAW,CAAC;AAGhB,QAAI,QAAQ,CAAC;AAGb,QAAI,WAAW,CAAC;AAChB,QAAImC,UAAS;AAAA,MACX,SAAS;AAAA,MACT,aAAa;AAAA,MACb,UAAU;AAAA,MACV;AAAA,MACA,GAAG;AAAA,IACL;AACA,QAAI,gBAAgB,GAAGyB,eAAc,WAAWzB,OAAM;AACtD,QAAI,UAAU;AAAA,MACZ,QAAQ;AAAA,MACR,GAAGA;AAAA,IACL;AACA,QAAI,iBAAiB,CAAC,QAAQ;AAC5B,WAAK,GAAGyB,eAAc,WAAW,GAAG,GAAG;AACrC,gBAAQ,SAAS;AAAA,MACnB;AACA,aAAO,QAAQ,OAAO,QAAQ,MAAM;AAAA,IACtC;AACA,QAAIxB,mBAAkB,CAAC,QAAQ;AAC7B,aAAO,QAAQ,OAAO,QAAQ,MAAM;AAAA,IACtC;AACA,QAAI,kBAAkB,CAAC,cAAc;AACnC,UAAI,EAAE,GAAGwB,eAAc,UAAU,SAAS;AACxC;AACF,cAAQ,SAAS;AACjB,cAAQ,GAAG,KAAK,GAAGA,eAAc,WAAW,YAAY,GAAGA,eAAc,WAAW,YAAY,CAAC;AACjG,aAAO;AAAA,IACT;AAGA,QAAI,iBAAiB;AAAA,MACnB,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AACA,QAAI,mBAAmB,CAAC9B,QAAO,kBAAkB;AAC/C,YAAM,EAAE,KAAK,UAAU,OAAO,SAAS,MAAM,IAAIA;AACjD,oBAAc,SAAS,GAAG,IAAI;AAAA,QAC5B;AAAA,QACA,SAAS,CAAC,EAAE,QAAQ,OAAO;AAAA,QAC3B,KAAK,CAAC,CAAC;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,MACF;AACA,oBAAc,OAAO,GAAG,IAAI;AAC5B,oBAAc,KAAK,QAAQ,IAAI,UAAU,cAAc;AAAA,IACzD;AACA,QAAI,sBAAsB,CAACA,QAAO,kBAAkB;AAClD,YAAM,EAAE,KAAK,MAAM,OAAO,OAAO,UAAU,MAAM,IAAIA;AACrD,YAAM+B,QAAO,QAAQ;AACrB,YAAMlC,QAAOkC,QAAO;AACpB,YAAM,aAAalC,QAAO;AAC1B,YAAM,eAAe,CAAC,CAAC;AACvB,YAAM,cAAc,CAAC,CAACkC;AACtB,YAAM,cAAc,cAAc;AAClC,UAAI,MAAM,CAAC;AACX,YAAM,QAAQA,QAAO;AACrB,YAAM,SAAS,QAAQ;AACvB,YAAM,UAAU,QAAQ,UAAU;AAClC,UAAI,cAAc;AAChB,cAAM,CAAC,OAAO,QAAQ,MAAM;AAAA;AAE5B,cAAM,CAAC,OAAO,MAAM;AACtB,UAAI,IAAI,CAAC,GAAG,MAAM;AAChB,cAAM,UAAU,CAAC,EAAE,IAAI,OAAO,OAAO;AACrC,cAAM,SAAS,YAAY,IAAI;AAC/B,cAAMC,UAAS;AAAA,UACb,KAAK,OAAO,IAAI;AAAA,UAChB,UAAU;AAAA,UACV,OAAO;AAAA,UACP;AAAA,UACA,OAAO,SAAS,IAAI,KAAK;AAAA,QAC3B;AACA,eAAO,iBAAiBA,SAAQ,aAAa;AAAA,MAC/C,CAAC;AAAA,IACH;AACA,QAAI,2BAA2B,CAAC,KAAK,MAAM,UAAU;AACnD,aAAO,OAAO,KAAK,IAAI,OAAO,GAAG;AAAA,IACnC;AACA,QAAI,mBAAmB,CAAC,kBAAkB;AACxC,YAAM,EAAE,MAAM,MAAM,OAAO,OAAO,YAAY,IAAI;AAClD,YAAM,IAAI,KAAK,IAAI,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,MAAM,CAAC,CAAC;AAChD,YAAMC,UAAS,QAAQ,QAAQ,KAAK,QAAQ,KAAK,GAAG,KAAK;AACzD,eAAS,IAAI,GAAG,KAAK,GAAG,KAAK;AAC3B,cAAM,MAAM,MAAM,CAAC,IAAI;AACvB,cAAM,YAAY,eAAe,GAAG;AACpC,cAAM,QAAQ,yBAAyB,KAAK,MAAM,KAAK;AACvD,cAAM,UAAU,CAAC,EAAE,QAAQ,OAAO,OAAO;AACzC,cAAM,WAAWA,UAAS;AAC1B,cAAMjC,SAAQ;AAAA,UACZ,KAAK;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,OAAO;AAAA,QACT;AACA,yBAAiBA,QAAO,aAAa;AACrC,YAAI;AACF,8BAAoBA,QAAO,aAAa;AAAA,MAC5C;AACA,aAAO;AAAA,IACT;AACA,QAAI,mBAAmB,CAAC,QAAQ,KAAK,kBAAkB;AACrD,YAAMkC,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,MAAM,MAAM,IAAI4B;AACxB,YAAM;AAAA,QACJ;AAAA,QACA,OAAO,MAAM;AAAA,QACb;AAAA,MACF,IAAI;AACJ,WAAK,GAAGR,eAAc,UAAU,KAAK,KAAK,MAAM,MAAM,GAAG,CAAC,MAAM;AAC9D,eAAO,OAAO;AAChB,YAAMO,UAAS,KAAK,WAAW,cAAc,KAAK,QAAQ,KAAK,GAAG,CAAC;AACnE,YAAM,8BAA8B;AACpC,YAAM,yBAAyB,4BAA4B,KAAK,KAAK;AACrE,UAAI,UAAU,UAAU,UAAU,UAAU,UAAU,WAAW,UAAU,aAAa,UAAU,iBAAiB,UAAU,iBAAiB,UAAU,iBAAiB,MAAM,SAAS,MAAM,KAAK,CAAC;AAClM,eAAO;AACT,YAAM,YAAY,MAAM,YAAY;AACpC,YAAM,aAAa,UAAU,MAAM,GAAG,CAAC,MAAM,MAAM,MAAM;AACzD,UAAI,WAAW,aAAa,UAAU,MAAM,CAAC,IAAI;AACjD,UAAI,YAAY;AAChB,UAAI,SAAS,SAAS,GAAG,GAAG;AAC1B,oBAAY,MAAM,SAAS,MAAM,GAAG,EAAE,CAAC,EAAE,YAAY;AACrD,mBAAW,SAAS,MAAM,GAAG,EAAE,CAAC;AAAA,MAClC;AACA,YAAM,WAAW,CAAC,MAAM,OAAOA,UAAS,IAAI;AAC5C,UAAI,SAAS,SAAS,GAAG,GAAG;AAC1B,cAAM,OAAO,SAAS,MAAM,GAAG;AAC/B,cAAM,CAAC,OAAO,MAAM,IAAI;AACxB,cAAM,QAAQ,GAAG,SAAS,KAAK,OAAO,SAAS,MAAM;AACrD,eAAO,aAAa,SAAS,iBAAiB,QAAQ;AAAA,MACxD,WAAW,SAAS,SAAS,GAAG,GAAG;AACjC,cAAM,OAAO,SAAS,MAAM,GAAG;AAC/B,cAAM,CAAC,OAAO,MAAM,IAAI;AACxB,cAAM,QAAQ,GAAG,SAAS,KAAK,OAAO,SAAS,MAAM;AACrD,eAAO,aAAa,SAAS,iBAAiB,QAAQ;AAAA,MACxD;AACA,UAAI,CAAC,SAAS,QAAQ,KAAK,SAAS,WAAW,GAAG;AAChD,YAAIC,SAAQ;AACV,kBAAQ,KAAK,UAAU,4DAA4D;AACrF,mBAAW,SAAS,MAAM,GAAG,CAAC;AAAA,MAChC;AACA,UAAI,eAAeA,SAAQ,aAAa;AACtC,cAAM,YAAY,OAAOD,UAAS,WAAW;AAC7C,eAAO,aAAa,QAAQ,oBAAoB;AAAA,MAClD;AACA,YAAM,eAAe,WAAW,SAAS,QAAQ,IAAI;AACrD,UAAI,CAAC;AACH,eAAO,QAAQ,KAAK,cAAc,UAAU,QAAQ;AACtD,UAAI,SAAS,QAAQ,SAAS,KAAK;AACjC,eAAO,aAAa,aAAa,MAAM;AAAA,MACzC;AACA,aAAO,aAAa,aAAa,UAAU;AAAA,IAC7C;AACA,QAAI,+BAA+B,CAAC,OAAO,cAAc,kBAAkB;AACzE,UAAI,OAAO,UAAU,UAAU;AAC7B,gBAAQ,KAAK,cAAc,OAAO,iBAAiB;AACnD,eAAO,CAAC;AAAA,MACV;AACA,UAAI,UAAU,OAAO,UAAU;AAC7B,eAAO,CAAC;AACV,aAAO,EAAE,CAAC,YAAY,GAAG,iBAAiB,OAAO,aAAa,EAAE;AAAA,IAClE;AACA,QAAI,oBAAoB,CAAC,WAAW,UAAU,eAAe,YAAY,KAAK;AAC9E,QAAI,eAAe,CAAC,kBAAkB;AACpC,YAAM,EAAE,WAAW,SAAS,IAAI;AAChC,aAAO,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM;AAC3C,cAAM,aAAa,kBAAkB,WAAW,CAAC;AACjD,eAAO,SAAS,UAAU;AAAA,MAC5B,CAAC;AAAA,IACH;AAGA,QAAIE,iBAAgB9D,SAAQ+B,cAAa,GAAG,CAAC;AAC7C,QAAI,eAAe,CAAC,QAAQ,QAAQ;AAClC,YAAM8B,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,UAAU,UAAU,IAAI4B;AAChC,WAAK,GAAGC,eAAc,cAAc,OAAO,KAAK,GAAG;AAAA,MACnD,OAAO;AACL,kBAAU,OAAO,GAAG,IAAI,OAAO;AAAA,MACjC;AAAA,IACF;AACA,QAAI,oBAAoB,CAACnC,QAAO,WAAW,UAAU,CAAC,MAAM;AAC1D,YAAMkC,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,MAAM,OAAO,OAAO,QAAQ,QAAQ,SAAS,UAAU,UAAU,IAAI4B;AAC7E,YAAM,OAAOlC,OAAM,QAAQ,MAAM;AACjC,YAAM,EAAE,UAAU,OAAO,IAAIA;AAC7B,iBAAW,OAAO,UAAU;AAC1B,cAAM,OAAO,SAAS,GAAG;AACzB,cAAM,SAASA,OAAM,SAAS,QAAQ,OAAO,SAAS,GAAG,EAAE,MAAM,OAAO,GAAG,KAAK;AAChF,YAAI,WAAW;AACb,gBAAM,QAAQ,OAAO,SAAS;AAC9B,cAAI,CAAC,OAAO;AACV,gBAAIkC,SAAQ;AACV,sBAAQ,KAAK,qBAAqB,KAAK;AAAA,UAC3C;AACA,cAAI,kBAAkB,UAAU,UAAU,OAAO;AACjD,cAAI,CAAC;AACH,8BAAkB,UAAU,UAAU,OAAO,IAAI,CAAC;AACpD,0BAAgB,KAAK,QAAQ,IAAI,OAAO,KAAK,WAAW,MAAM;AAC9D,oBAAU,KAAK,WAAW,MAAM,SAAS,IAAI;AAAA,QAC/C,OAAO;AACL,cAAI,QAAQ,eAAe,OAAO;AAChC,sBAAU,KAAK,QAAQ,IAAI;AAAA,UAC7B,OAAO;AACL,sBAAU,KAAK,WAAW,UAAU,IAAI;AACxC,sBAAU,KAAK,QAAQ,IAAI,OAAO,KAAK,WAAW;AAAA,UACpD;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAGA,QAAIE,iBAAgB/D,SAAQ+B,cAAa,GAAG,CAAC;AAC7C,QAAI,iBAAiB,CAAC,UAAU;AAC9B,YAAM8B,WAAU5B,iBAAgB;AAChC,UAAI,SAAS;AACb,iBAAW,OAAO,OAAO;AACvB,YAAI4B,SAAQ,YAAY,GAAG;AACzB;AAAA;AAEA,UAAAA,SAAQ,YAAY,GAAG,IAAI;AAC7B,kBAAU,MAAM,GAAG;AAAA,MACrB;AACA,aAAO;AAAA,IACT;AACA,QAAI,sBAAsB,CAAC,eAAe;AACxC,UAAI,EAAE,GAAGE,eAAc,UAAU,UAAU,GAAG;AAC5C,eAAO,QAAQ,KAAK,wBAAwB,4BAA4B;AAAA,MAC1E;AACA,YAAMP,SAAQ,WAAW,MAAM,eAAe;AAC9C,UAAI,CAACA,UAAS,CAACA,OAAM,CAAC,GAAG;AACvB,eAAO,CAAC;AAAA,MACV;AACA,YAAM,aAAaA,OAAM,CAAC;AAC1B,YAAM,QAAQ,WAAW,MAAM,6DAA6D;AAC5F,aAAO,MAAM,OAAO,CAAC,KAAK,SAAS;AACjC,cAAM,CAAC,KAAK,KAAK,IAAI,KAAK,MAAM,GAAG;AACnC,YAAI,GAAG,IAAI,MAAM,QAAQ,SAAS,EAAE;AACpC,eAAO;AAAA,MACT,GAAG,CAAC,CAAC;AAAA,IACP;AACA,QAAI,oBAAoB,CAAC,MAAM,QAAQ;AACrC,YAAM,UAAU;AAChB,YAAM,WAAW;AACjB,YAAM,UAAU,KAAK,MAAM,eAAe;AAC1C,UAAI,eAAe;AACnB,WAAK,GAAGO,eAAc,SAAS,OAAO,GAAG;AACvC,gBAAQ,QAAQ,MAAM;AACpB,gBAAM,YAAY,KAAK,MAAM,KAAK,OAAO,IAAI,GAAG;AAChD,yBAAe,KAAK,QAAQ,SAAS,OAAO,OAAO,YAAY,EAAE,QAAQ,UAAU,QAAQ,OAAO,YAAY;AAAA,QAChH,CAAC;AAAA,MACH;AACA,aAAO;AAAA,IACT;AACA,QAAI,qBAAqB,CAAC,KAAK,SAAS;AACtC,YAAM,eAAe,oBAAoB,IAAI;AAC7C,YAAM,EAAE,OAAO,OAAO,IAAI;AAC1B,YAAM,UAAU,aAAa,WAAW,OAAO,SAAS,MAAM,UAAU;AACxE,YAAM,QAAQ;AACd,YAAM,eAAe,kBAAkB,MAAM,GAAG;AAChD,UAAI,SAAS,aAAa;AAAA,QACxB;AAAA,QACA,eAAe,eAAe,mBAAmB;AAAA,MACnD;AACA,eAAS,OAAO,QAAQ,iBAAiB,EAAE;AAC3C,eAAS,OAAO,QAAQ,kBAAkB,EAAE;AAC5C,eAAS,OAAO,QAAQ,SAAS,UAAU;AAC3C,aAAO;AAAA,IACT;AAGA,QAAI,iBAAiB,CAAC;AACtB,IAAAlE,UAAS,gBAAgB;AAAA,MACvB,mBAAmB,MAAM;AAAA,MACzB,iBAAiB,MAAM;AAAA,MACvB,eAAe,MAAM;AAAA,MACrB,eAAe,MAAM;AAAA,MACrB,YAAY,MAAM;AAAA,MAClB,sBAAsB,MAAM;AAAA,MAC5B,qBAAqB,MAAM;AAAA,MAC3B,yBAAyB,MAAM;AAAA,MAC/B,UAAU,MAAMqC;AAAA,MAChB,eAAe,MAAMC;AAAA,MACrB,kBAAkB,MAAMC;AAAA,MACxB,eAAe,MAAMC;AAAA,MACrB,eAAe,MAAMC;AAAA,MACrB,wBAAwB,MAAMC;AAAA,MAC9B,iBAAiB,MAAMC;AAAA,MACvB,UAAU,MAAMC;AAAA,MAChB,gBAAgB,MAAMC;AAAA,MACtB,mBAAmB,MAAMC;AAAA,MACzB,iBAAiB,MAAM;AAAA,MACvB,UAAU,MAAM;AAAA,MAChB,SAAS,MAAM;AAAA,MACf,eAAe,MAAM;AAAA,MACrB,aAAa,MAAM;AAAA,MACnB,SAAS,MAAM;AAAA,MACf,eAAe,MAAM;AAAA,MACrB,QAAQ,MAAM;AAAA,MACd,UAAU,MAAM;AAAA,IAClB,CAAC;AAGD,QAAIqB,iBAAgBhE,SAAQ+B,cAAa,GAAG,CAAC;AAC7C,QAAIG,YAAW,CAAC,OAAO,KAAK,WAAW;AACrC,YAAM2B,WAAU,UAAU5B,iBAAgB;AAC1C,UAAI,EAAE,GAAG+B,eAAc,UAAU,KAAK,GAAG;AACvC,YAAIH,SAAQ;AACV,kBAAQ,KAAK,OAAO,+BAA+B;AACrD;AAAA,MACF;AACA,UAAI,MAAM,MAAM,GAAG,CAAC,MAAM;AACxB,eAAO,OAAO;AAChB,UAAI,OAAO,MAAM,GAAG;AAClB,gBAAQ,MAAM,GAAG;AACnB,YAAM,CAAC,MAAM,OAAO,IAAI,KAAK,GAAGG,eAAc,SAAS,KAAK,IAAI,QAAQ,MAAM,MAAM,GAAG;AACvF,YAAM,EAAE,OAAO,QAAQ,UAAU,UAAU,IAAIH;AAC/C,UAAI,MAAM,OAAO,IAAI,KAAK,UAAU,IAAI;AACxC,UAAI,CAAC,KAAK;AACR,YAAIA,SAAQ;AACV,kBAAQ,KAAK,qBAAqB,IAAI;AACxC,eAAO;AAAA,MACT;AACA,UAAI,KAAK;AACP,YAAI,IAAI,GAAG;AACT,gBAAM,IAAI,GAAG;AAAA,iBACNA,SAAQ;AACf,kBAAQ,KAAK,OAAO,qBAAqB,GAAG;AAAA,MAChD;AACA,UAAI,MAAM,IAAI;AACd,UAAI,CAAC;AACH,eAAOA,SAAQ,cAAc,OAAO,IAAI,SAAS,IAAI;AACvD,UAAI,QAAQ,CAAC,IAAI,IAAI,GAAG;AACtB,cAAM,QAAQ,cAAc,IAAI,MAAM,IAAI,EAAE,IAAI,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC;AACrE,cAAMI,OAAM,KAAK,MAAM,GAAG,CAAC;AAC3B,YAAIA,SAAQ,OAAOA,SAAQ,KAAK;AAC9B,gBAAM;AAAA,YACJ,cAAc,OAAO,WAAW,IAAI,CAAC;AAAA,UACvC,EAAE,KAAK,IAAI;AAAA,QACb,OAAO;AACL,gBAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,IAAI,EAAE,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC;AAC7D,gBAAM,MAAM,SAAS,GAAG,GAAG,CAAC;AAC5B,gBAAM,CAAC,GAAG,GAAG,CAAC,IAAI;AAClB,gBAAM,SAAS,SAAS,GAAG,GAAG,WAAW,IAAI,IAAI,MAAM,GAAG;AAC1D,gBAAM;AAAA,QACR;AACA,YAAI,IAAI,IAAI,EAAE,KAAK,KAAK,GAAG,IAAI,OAAO,OAAO;AAAA,MAC/C;AACA,UAAI,IAAI,IAAI;AACV,cAAM,IAAI,IAAI,EAAE;AAClB,UAAI;AACF,eAAO,QAAQ,QAAQ;AACzB,aAAOJ,SAAQ,cAAc,OAAO,IAAI,SAAS,OAAO;AAAA,IAC1D;AACA,QAAIxB,iBAAgB,CAAC,OAAO,aAAa,WAAW;AAClD,YAAMwB,WAAU,UAAU5B,iBAAgB;AAC1C,UAAI,CAAC;AACH,sBAAc4B,SAAQ;AACxB,UAAI,EAAE,GAAGG,eAAc,UAAU,KAAK,GAAG;AACvC,YAAIH,SAAQ;AACV,kBAAQ,KAAK,OAAO,+BAA+B;AACrD;AAAA,MACF;AACA,UAAI,MAAM,MAAM,GAAG,CAAC,MAAM;AACxB,eAAO,OAAO;AAChB,YAAM,CAAC,IAAI,KAAK,GAAGG,eAAc,SAAS,KAAK,IAAI,QAAQ,MAAM,MAAM,GAAG;AAC1E,YAAM,EAAE,OAAO,QAAQ,UAAU,UAAU,IAAIH;AAC/C,YAAM,MAAM,OAAO,IAAI,KAAK,UAAU,IAAI;AAC1C,YAAM,SAAS,GAAGG,eAAc,UAAU,GAAG;AAC7C,UAAI,SAAS,IAAI;AACf,eAAO9B,UAAS,OAAO,IAAI,eAAe,MAAM;AAAA,eACzC,OAAO;AACd,YAAI;AACF,iBAAOA,UAAS,OAAO,IAAI,eAAe,MAAM;AAAA,aAC7C;AACH,gBAAM,MAAM,CAAC;AACb,qBAAW,aAAa,KAAK;AAC3B,kBAAM,QAAQ2B,SAAQ,MAAM,UAAU,MAAM,CAAC,CAAC;AAC9C,kBAAM,QAAQ,qBAAqB;AACnC,gBAAI,KAAK,IAAI3B,UAAS,OAAO,WAAW,MAAM;AAAA,UAChD;AACA,iBAAO;AAAA,QACT;AAAA,MACF,OAAO;AACL,YAAI2B,SAAQ;AACV,kBAAQ,KAAK,oBAAoB,KAAK;AACxC,eAAO;AAAA,MACT;AAAA,IACF;AACA,QAAI,WAAW,CAAC,KAAK,KAAK,WAAW;AACnC,YAAMA,WAAU5B,iBAAgB;AAChC,WAAK,GAAG+B,eAAc,UAAU,GAAG,KAAK,IAAI,MAAM,GAAG,CAAC,MAAM;AAC1D,cAAM9B,UAAS,IAAI,MAAM,CAAC,CAAC;AAC7B,WAAK,GAAG8B,eAAc,SAAS,GAAG,GAAG;AACnC,eAAO;AAAA,UACL,UAAU,SAAS,IAAI,CAAC,GAAG,KAAK,OAAO;AAAA,UACvC,SAAS,SAAS,IAAI,CAAC,GAAG,KAAK,MAAM;AAAA,QACvC;AAAA,MACF;AACA,WAAK,GAAGA,eAAc,UAAU,GAAG,GAAG;AACpC,cAAM,MAAM,CAAC;AACb,mBAAW,WAAW;AACpB,cAAI,OAAO,IAAI,SAAS,IAAI,OAAO,GAAG,KAAK,QAAQ,MAAM,GAAG,CAAC,MAAM,MAAM,QAAQ,MAAM,CAAC,IAAI,OAAO;AACrG,eAAO;AAAA,MACT;AACA,YAAM,SAAS,WAAW,SAAS,SAAS,IAAI,WAAW;AAC3D,YAAM,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,uBAAuB,IAAI,SAAS,GAAG;AAChE,YAAM,QAAQ,WAAW,EAAE,QAAQ,CAAC,CAAC;AACrC,YAAM,MAAM,GAAG,MAAM,MAAM;AAC3B,YAAM,QAAQ,QAAQ,QAAQ;AAC9B,UAAIH,SAAQ,aAAa;AACvB,QAAAA,SAAQ,SAAS,MAAM,IAAI;AAAA,MAC7B;AACA,aAAO;AAAA,QACL,KAAK;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AACA,QAAI,cAAc,CAAC,KAAK,KAAK,WAAW;AACtC,YAAMA,WAAU5B,iBAAgB;AAChC,WAAK,GAAG+B,eAAc,UAAU,GAAG,KAAK,IAAI,MAAM,GAAG,CAAC,MAAM;AAC1D,cAAM9B,UAAS,IAAI,MAAM,CAAC,CAAC;AAC7B,WAAK,GAAG8B,eAAc,SAAS,GAAG,GAAG;AACnC,eAAO;AAAA,UACL,UAAU,YAAY,IAAI,CAAC,GAAG,KAAK,OAAO;AAAA,UAC1C,SAAS,YAAY,IAAI,CAAC,GAAG,KAAK,MAAM;AAAA,QAC1C;AAAA,MACF;AACA,WAAK,GAAGA,eAAc,UAAU,GAAG,GAAG;AACpC,cAAM,MAAM,CAAC;AACb,mBAAW,WAAW;AACpB,cAAI,OAAO,IAAI,YAAY,IAAI,OAAO,GAAG,KAAK,QAAQ,MAAM,GAAG,CAAC,MAAM,MAAM,QAAQ,MAAM,CAAC,IAAI,OAAO;AACxG,eAAO;AAAA,MACT;AACA,YAAM,SAAS,cAAc,SAAS,SAAS,IAAI,WAAW;AAC9D,UAAIH,SAAQ,aAAa;AACvB,QAAAA,SAAQ,SAAS,MAAM,IAAI,IAAI,SAAS;AAAA,MAC1C;AACA,aAAO;AAAA,QACL,KAAK;AAAA,QACL,OAAO,IAAI,SAAS;AAAA,MACtB;AAAA,IACF;AAGA,QAAIK,kBAAiBlE,SAAQ+B,cAAa,GAAG,CAAC;AAC9C,QAAI,gBAAgB,CAAC,UAAU;AAC7B,YAAM,QAAQ,CAAC;AACf,YAAM,EAAE,OAAO,OAAO,SAAS,GAAG,KAAK,IAAI;AAC3C,YAAM,OAAO,OAAO,KAAK,IAAI;AAC7B,WAAK,IAAI,CAAC,QAAQ;AAChB,cAAM,aAAa,CAAC,SAAS,SAAS,cAAc,QAAQ;AAC5D,cAAM,UAAU,WAAW,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;AACtD,eAAO,MAAM,GAAG,IAAI,UAAUG,UAAS,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG;AAAA,MAChE,CAAC;AACD,aAAO;AAAA,IACT;AACA,QAAI,gBAAgB,CAAC,UAAU;AAC7B,UAAI,MAAM;AACR,eAAO,MAAM;AACf,YAAM,QAAQ,cAAc,KAAK;AACjC,aAAO,MAAM;AAAA,IACf;AACA,QAAIO,YAAW,CAAC,OAAO,aAAa;AAClC,YAAMoB,WAAU5B,iBAAgB;AAChC,UAAI4B,SAAQ;AACV,eAAOvB,eAAc,OAAO,QAAQ;AACtC,YAAM,EAAE,OAAO,OAAO,IAAIuB;AAC1B,WAAK,GAAGK,gBAAe,UAAU,KAAK,GAAG;AACvC,cAAM,CAAC,OAAO,QAAQ,IAAI,MAAM,MAAM,GAAG;AACzC,cAAM,aAAa,OAAO,KAAK;AAC/B,YAAI,YAAY;AACd,cAAI,CAAC,YAAY,CAAC;AAChB,mBAAO,cAAc,UAAU;AACjC,kBAAQ,CAAC,OAAO,YAAY,QAAQ;AAAA,QACtC;AAAA,MACF;AACA,WAAK,GAAGA,gBAAe,cAAc,KAAK,KAAK,MAAM,CAAC,GAAG;AACvD,cAAM,YAAY,MAAM,CAAC;AACzB,cAAM,eAAe,MAAM,CAAC;AAC5B,cAAM,EAAE,SAAS,OAAO,MAAM,IAAI,OAAO,SAAS;AAClD,YAAI,SAAS,MAAM,YAAY;AAC7B,iBAAO,cAAc,MAAM,YAAY,CAAC;AAC1C,YAAI,WAAW,QAAQ,YAAY;AACjC,iBAAO,cAAc,QAAQ,YAAY,CAAC;AAC5C,YAAI,SAAS,MAAM,YAAY;AAC7B,iBAAO,cAAc,MAAM,YAAY,CAAC;AAAA,MAC5C,YAAY,GAAGA,gBAAe,UAAU,KAAK;AAC3C,eAAO,cAAc,KAAK;AAAA,IAC9B;AACA,QAAI,kBAAkB,CAAC,OAAO,SAAS,UAAU;AAC/C,WAAK,GAAGA,gBAAe,UAAU,OAAO,GAAG;AACzC,cAAM,SAAS,QAAQ,QAAQ,cAAc,OAAO;AAAA,MACtD,WAAW,YAAY,MAAM;AAC3B,cAAM,EAAE,OAAO,WAAW,IAAI;AAC9B,cAAM,SAAS,UAAU;AAAA,UACvB,OAAO;AAAA,YACL,OAAO;AAAA,YACP,YAAY;AAAA,UACd;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,QAAI,YAAY,CAAC,OAAO,KAAK,SAAS,eAAe;AACnD,YAAM,SAASzB,UAAS,OAAO;AAC/B,iBAAW,KAAK,KAAK,IAAI;AACzB,WAAK,GAAGyB,gBAAe,UAAU,OAAO,KAAK,CAAC,QAAQ;AACpD,gBAAQ,QAAQ;AAAA,IACpB;AACA,QAAI,eAAe,CAAC,OAAO,UAAU;AACnC,YAAM,EAAE,MAAM,IAAI;AAClB,UAAI,CAAC;AACH;AACF,YAAM,OAAO,OAAO,KAAK,KAAK;AAC9B,WAAK,IAAI,CAAC,QAAQ;AAChB,cAAM,UAAU,MAAM,GAAG;AACzB,kBAAU,OAAO,KAAK,SAAS,KAAK;AACpC,eAAO;AAAA,MACT,CAAC;AACD,aAAO;AAAA,IACT;AACA,QAAI,mBAAmB,CAAC,OAAO,KAAK,SAAS,eAAe;AAC1D,YAAM,SAASzB,UAAS,OAAO;AAC/B,iBAAW,iCAAiC,MAAM,IAAI;AACtD,WAAK,GAAGyB,gBAAe,UAAU,OAAO,KAAK,CAAC,QAAQ;AACpD,gBAAQ,QAAQ;AAAA,IACpB;AACA,QAAI,WAAW,CAAC,OAAO,UAAU;AAC/B,YAAM,EAAE,MAAM,IAAI;AAClB,UAAI,CAAC;AACH;AACF,YAAM,OAAO,OAAO,KAAK,KAAK;AAC9B,WAAK,IAAI,CAAC,QAAQ;AAChB,cAAM,UAAU,MAAM,GAAG;AACzB,YAAI,QAAQ,UAAU,QAAQ;AAC5B,2BAAiB,OAAO,KAAK,SAAS,KAAK;AAC7C,YAAI,QAAQ;AACV,0BAAgB,OAAO,SAAS,KAAK;AACvC,eAAO;AAAA,MACT,CAAC;AACD,aAAO;AAAA,IACT;AACA,QAAI,aAAa,CAAC,OAAO,UAAU;AACjC,YAAML,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,QAAQ,IAAI;AACpB,UAAI,CAAC;AACH;AACF,YAAM,OAAO,OAAO,KAAK,OAAO;AAChC,WAAK,IAAI,CAAC,QAAQ;AAChB,cAAM,SAAS,QAAQ,GAAG;AAC1B,aAAK,GAAGiC,gBAAe,UAAU,MAAM;AACrC,kBAAQ,GAAG,IAAIL,SAAQ,MAAM,MAAM;AAAA;AAEnC,wBAAc,QAAQ,GAAG,CAAC;AAC5B,eAAO;AAAA,MACT,CAAC;AACD,aAAO;AAAA,IACT;AACA,QAAI,WAAW,CAAC,KAAK,QAAQ;AAC3B,YAAMA,WAAU5B,iBAAgB;AAChC,UAAI4B,SAAQ;AACV,eAAO,cAAc,KAAK,GAAG;AAC/B,YAAM,EAAE,OAAO,OAAO,QAAQ,IAAI;AAClC,YAAM,QAAQ,cAAc,KAAK,GAAG;AACpC,YAAM,SAAS,WAAW;AAC1B,mBAAa,KAAK,KAAK;AACvB,eAAS,KAAK,KAAK;AACnB,iBAAW,KAAK,KAAK;AACrB,aAAO,EAAE,KAAK,QAAQ,OAAO,OAAO,OAAO,QAAQ;AAAA,IACrD;AACA,QAAI,gBAAgB,CAAC,KAAK,KAAK,QAAQ,YAAY;AACjD,YAAMA,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,UAAU,UAAU,IAAI4B;AAChC,YAAM,QAAQ,EAAE,OAAO,IAAI;AAC3B,WAAK,GAAGK,gBAAe,cAAc,GAAG,GAAG;AACzC,mBAAW,SAAS,KAAK;AACvB,gBAAM,OAAO,MAAM,MAAM,GAAG,CAAC;AAC7B,gBAAM,QAAQ,IAAI,KAAK;AACvB,cAAI,SAAS,OAAO,SAAS,OAAO,SAAS,KAAK;AAChD,kBAAM,aAAa,SAAS,OAAO;AACnC,kBAAM,KAAK,IAAI,cAAc,OAAO,KAAK,OAAO,WAAW,UAAU;AAAA,UACvE,OAAO;AACL,kBAAM,QAAQhC,UAAS,OAAO,OAAO;AACrC,kBAAM,eAAe,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3F,kBAAM,oBAAoB,aAAa,SAAS,MAAM,aAAa,KAAK,GAAG,IAAI;AAC/E,kBAAM,SAAS,WAAW,MAAM,qBAAqB;AACrD,gBAAI2B,SAAQ,aAAa;AACvB,wBAAU,MAAM,IAAI;AACpB,oBAAM,KAAK,IAAI,OAAO;AAAA,YACxB,OAAO;AACL,oBAAM,KAAK,IAAI;AAAA,YACjB;AACA,kBAAM,IAAI,OAAO,IAAI,EAAE,CAAC,KAAK,GAAG,MAAM,KAAK,EAAE;AAAA,UAC/C;AAAA,QACF;AACA,YAAI,MAAM,cAAc,MAAM,SAAS,MAAM,iBAAiB;AAC5D,gBAAM,WAAW,IAAI;AAAA,YACnB,OAAO,MAAM,cAAc,MAAM;AAAA,YACjC,YAAY,MAAM;AAAA,UACpB;AAAA,QACF;AAAA,MACF;AACA,WAAK,GAAGK,gBAAe,UAAU,GAAG,KAAK,IAAI,MAAM,GAAG,CAAC,MAAM,MAAM;AACjE,cAAM,EAAE,OAAO,OAAO,IAAIL;AAC1B,cAAM,QAAQ,OAAO,IAAI,MAAM,CAAC,CAAC;AACjC,cAAM,gBAAgBvB,eAAc,OAAO,OAAO;AAClD,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT;AACA,QAAI,iBAAiB,CAAC,QAAQ;AAC5B,YAAMuB,WAAU5B,iBAAgB;AAChC,YAAM,MAAM,CAAC;AACb,iBAAW,SAAS,KAAK;AACvB,cAAM,OAAO,MAAM,MAAM,GAAG,CAAC;AAC7B,aAAK,GAAGiC,gBAAe,cAAc,IAAI,KAAK,CAAC,GAAG;AAChD,cAAI,SAAS,KAAK;AAChB,kBAAM,QAAQL,SAAQ,MAAM,MAAM,MAAM,CAAC,CAAC;AAC1C,kBAAM,QAAQ,qBAAqB;AACnC,gBAAI,KAAK,IAAI,eAAe,IAAI,KAAK,CAAC;AAAA,UACxC,WAAW,SAAS,KAAK;AACvB,gBAAI,IAAI,OAAO,IAAI,eAAe,IAAI,KAAK,CAAC;AAAA,UAC9C;AAAA,QACF;AACE,cAAI,KAAK,IAAI,IAAI,KAAK;AAAA,MAC1B;AACA,aAAO;AAAA,IACT;AACA,QAAI,wBAAwB,CAAC,KAAK,kBAAkB;AAClD,YAAM,aAAa,cAAc,MAAM;AACvC,UAAI,IAAI,UAAU;AAChB,eAAO,sBAAsB,IAAI,UAAU,GAAG,aAAa;AAC7D,aAAO;AAAA,IACT;AACA,QAAI,eAAe,CAAC,KAAK,aAAa;AACpC,WAAK,GAAGK,gBAAe,SAAS,QAAQ;AACtC,eAAO,sBAAsB,KAAK,QAAQ;AAAA,gBAClC,GAAGA,gBAAe,UAAU,QAAQ,KAAK,IAAI,QAAQ;AAC7D,eAAO,IAAI,QAAQ;AAAA;AAEnB,eAAO;AAAA,IACX;AACA,QAAI5B,iBAAgB,CAAC,KAAK,QAAQ;AAChC,YAAMuB,WAAU5B,iBAAgB;AAChC,WAAK,GAAGiC,gBAAe,UAAU,GAAG,KAAK,IAAI,MAAM,GAAG,CAAC,MAAM;AAC3D,cAAM5B,eAAc,IAAI,MAAM,CAAC,CAAC;AAClC,UAAI,CAAC,OAAO,EAAE,GAAG4B,gBAAe,UAAU,GAAG,GAAG;AAC9C,YAAIL,SAAQ;AACV,kBAAQ,KAAK,KAAK,uBAAuB;AAC3C;AAAA,MACF;AACA,YAAM,CAAC,MAAM,GAAG,QAAQ,KAAK,GAAGK,gBAAe,SAAS,GAAG,IAAI,MAAM,IAAI,MAAM,GAAG;AAClF,UAAI,QAAQL,SAAQ,MAAM,IAAI;AAC9B,UAAI,UAAU,YAAY,MAAM;AAC9B,gBAAQ,aAAa,OAAO,SAAS,SAAS,WAAW,GAAG;AAAA,MAC9D;AACA,YAAM,IAAI,eAAe,KAAK;AAC9B,aAAO;AAAA,IACT;AAGA,QAAIM,kBAAiBnE,SAAQ+B,cAAa,GAAG,CAAC;AAC9C,QAAI,UAAU,CAAC,KAAK,QAAQ;AAC1B,YAAM,SAAS,UAAU;AACzB,YAAM,WAAW,IAAI,CAAC,IAAI,gBAAgB,KAAK,GAAG,IAAI,mBAAmB,KAAK,IAAI,GAAG;AACrF,aAAO,EAAE,KAAK,QAAQ,OAAO,KAAK,SAAS;AAAA,IAC7C;AACA,QAAII,iBAAgB,CAAC,KAAK,YAAY;AACpC,YAAM0B,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,aAAa,aAAa,IAAI4B;AACtC,aAAO,qBAAqB,WAAW,cAAc,GAAG;AAAA,IAC1D;AACA,QAAI,gBAAgB,CAAC,KAAK,QAAQ;AAChC,YAAMA,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,aAAa,cAAc,mBAAmB,mBAAmB,IAAI4B;AAC7E,UAAI,EAAE,OAAO,KAAK,IAAI;AACtB,UAAI,IAAI;AACN,qBAAa,UAAU;AACzB,WAAK,GAAGM,gBAAe,UAAU,KAAK;AACpC,gBAAQ,aAAa,KAAK;AAC5B,YAAM,SAAS,iBAAiB;AAChC,YAAM,MAAM,GAAG,MAAM,KAAK,IAAI,MAAM,mBAAmB,IAAI;AAC3D,aAAO,EAAE,KAAK,QAAQ,OAAO,KAAK,KAAK,OAAO,KAAK;AAAA,IACrD;AAGA,QAAIC,kBAAiBpE,SAAQ+B,cAAa,GAAG,CAAC;AAC9C,QAAI,kBAAkB,CAACJ,WAAU;AAC/B,YAAMkC,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,YAAY,aAAa,OAAO,OAAO,IAAI4B;AACnD,iBAAW,QAAQlC,QAAO;AACxB,cAAM,aAAaA,OAAM,IAAI;AAC7B,YAAI,KAAK,MAAM,GAAG,CAAC,MAAM,KAAK;AAC5B,gBAAM,EAAE,MAAM,MAAM,OAAO,OAAO,aAAa,WAAW,KAAK,IAAIA;AACnE,WAAC,GAAGyC,gBAAe,OAAO,YAAY;AAAA,YACpC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,UAAU,CAAC;AAAA,YACX,QAAQ,CAAC;AAAA,YACT,WAAW,CAAC;AAAA,YACZ,MAAM,CAAC;AAAA,UACT,CAAC;AACD,2BAAiB,UAAU;AAC3B,gBAAM,YAAY,KAAK,MAAM,CAAC;AAC9B,4BAAkB,YAAY,SAAS;AACvC,gBAAM,QAAQ,OAAO,SAAS;AAC9B,sBAAY,UAAU,qBAAqB,OAAO,IAAI;AAAA,YACpD,UAAU,WAAW,OAAO,YAAY,iBAAiB;AAAA,UAC3D;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,QAAI,gBAAgB,CAACzC,WAAU;AAC7B,YAAMkC,WAAU5B,iBAAgB;AAChC,UAAIN,OAAM,WAAW;AACnB,cAAM,OAAOA,OAAM;AACnB,cAAM,WAAW,aAAaA,MAAK;AACnC,cAAM,EAAE,UAAU,IAAIA;AACtB,mBAAW,KAAK,UAAU;AACxB,gBAAM,aAAa,IAAI,SAAS,CAAC,IAAI;AACrC,gBAAM,cAAc,UAAU,UAAU;AACxC,oBAAU,UAAU,IAAI;AAAA,YACtB,UAAUkC,SAAQ,cAAc,OAAO,SAAS,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC,EAAE,UAAU;AAAA,YAC1F,QAAQ,cAAc,YAAY,SAAS;AAAA,YAC3C,YAAY,cAAc,YAAY,aAAalC,OAAM;AAAA,YACzD,eAAe,cAAc,YAAY,gBAAgBA,OAAM;AAAA,YAC/D,YAAY,cAAc,YAAY,aAAa,MAAM,IAAI;AAAA,UAC/D;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,QAAI,0BAA0B,MAAM;AAClC,YAAMkC,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,YAAY,YAAY,IAAI4B;AACpC,uBAAiB,WAAW;AAC5B,oBAAc,WAAW;AACzB,wBAAkB,WAAW;AAC7B,sBAAgB,WAAW;AAAA,IAC7B;AACA,QAAIzB,oBAAmB,CAAC,UAAU;AAChC,YAAMyB,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,YAAY,YAAY,IAAI4B;AACpC,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAGA,QAAI,iBAAiB7D,SAAQ+B,cAAa,GAAG,CAAC;AAC9C,QAAI,mBAAmB,CAAC,kBAAkB;AACxC,iBAAW,QAAQ,eAAe;AAChC,cAAM,aAAa,cAAc,IAAI;AACrC,YAAI,KAAK,MAAM,GAAG,CAAC,MAAM,KAAK;AAC5B,gBAAM,EAAE,MAAM,MAAM,OAAO,OAAO,aAAa,WAAW,KAAK,IAAI;AACnE,WAAC,GAAG,eAAe,OAAO,YAAY;AAAA,YACpC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,UAAU,CAAC;AAAA,YACX,QAAQ,CAAC;AAAA,YACT,WAAW,CAAC;AAAA,YACZ,MAAM,CAAC;AAAA,UACT,CAAC;AACD,2BAAiB,UAAU;AAC3B,gBAAM,YAAY,KAAK,MAAM,CAAC;AAC9B,4BAAkB,YAAY,SAAS;AAAA,QACzC;AAAA,MACF;AAAA,IACF;AACA,QAAI,uBAAuB,MAAM;AAC/B,YAAM8B,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,SAAS,SAAS,IAAI4B;AAC9B,uBAAiB,QAAQ;AACzB,wBAAkB,QAAQ;AAC1B,uBAAiB,QAAQ;AAAA,IAC3B;AACA,QAAI,cAAc,CAAC,kBAAkB;AACnC,YAAMA,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,SAAS,SAAS,IAAI4B;AAC9B,UAAI,CAAC;AACH,eAAO;AACT,YAAM,eAAe,OAAO,KAAK,cAAc,QAAQ,EAAE,SAAS;AAClE,aAAO,eAAe,gBAAgB,iBAAiB,aAAa;AAAA,IACtE;AACA,QAAIrB,mBAAkB,CAAC,OAAO,eAAe,WAAW,kBAAkB;AACxE,YAAM,WAAW,YAAY,aAAa;AAC1C,YAAM,QAAQ,aAAa,KAAK;AAChC,UAAI,CAAC;AACH;AACF,WAAK,GAAG,eAAe,UAAU,KAAK,KAAK,MAAM,SAAS,MAAM,GAAG;AACjE,eAAO,EAAE,CAAC,YAAY,GAAG,MAAM;AAAA,MACjC;AACA,UAAI,MAAM,SAAS,GAAG;AACpB,YAAI,SAAS;AACb,YAAI,iBAAiB,eAAe;AAClC,yBAAe;AACf,mBAAS;AAAA,QACX;AACA,cAAM,aAAa;AAAA,UACjB,GAAG,CAAC,SAAS,QAAQ;AAAA,UACrB,GAAG,CAAC,cAAc,UAAU,UAAU;AAAA,UACtC,GAAG,CAAC,cAAc,aAAa,YAAY,aAAa;AAAA,QAC1D;AACA,cAAM,+BAA+B,CAAC,WAAW,MAAM;AAAA,UACrD,MAAM,CAAC;AAAA,UACP,eAAe,YAAY;AAAA,UAC3B;AAAA,QACF;AACA,eAAO,WAAW,MAAM,MAAM,EAAE,IAAI,CAAC,KAAK,QAAQ,6BAA6B,KAAK,GAAG,CAAC;AAAA,MAC1F;AACA,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AACA,QAAID,2BAAyB,CAACZ,QAAO,cAAc,QAAQ;AACzD,YAAMkC,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,SAAS,SAAS,IAAI4B;AAC9B,YAAM,EAAE,cAAc,KAAK,IAAIlC;AAC/B,YAAM,QAAQ,OAAOA,OAAM,YAAY;AACvC,UAAI,cAAc;AAChB,YAAI,gBAAgB,SAAS,YAAY;AACzC,YAAI,CAAC,eAAe;AAClB,gBAAM,EAAE,MAAM,MAAM,OAAO,YAAY,IAAI;AAC3C,0BAAgB,SAAS,YAAY,KAAK,GAAG,eAAe,OAAO;AAAA,YACjE,OAAO;AAAA,YACP,MAAM,OAAO,MAAM;AAAA,YACnB;AAAA,YACA,UAAU,CAAC;AAAA,YACX,QAAQ,CAAC;AAAA,YACT,WAAW,CAAC;AAAA,YACZ,MAAM,CAAC;AAAA,UACT,GAAG;AAAA,YACD;AAAA,YACA;AAAA,YACA;AAAA,YACA,OAAO,SAAS;AAAA,YAChB,MAAM,SAAS;AAAA,UACjB,CAAC;AAAA,QACH;AACA,0BAAkB,eAAe,MAAM,EAAE,YAAY,MAAM,CAAC;AAC5D,eAAOa,iBAAgB,OAAO,cAAc,aAAa;AAAA,MAC3D;AACA,aAAOA,iBAAgB,OAAO,YAAY;AAAA,IAC5C;AAGA,QAAI,sBAAsB,MAAM;AAC9B,YAAMqB,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,QAAQ,QAAQ,IAAI4B;AAC5B,uBAAiB,OAAO;AACxB,wBAAkB,OAAO;AAAA,IAC3B;AACA,QAAIlB,qBAAoB,CAAC,UAAU;AACjC,YAAMkB,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,QAAQ,QAAQ,IAAI4B;AAC5B,aAAO,QAAQ,KAAK,KAAK,QAAQ,YAAY,KAAK,CAAC,KAAK;AAAA,IAC1D;AACA,QAAInB,kBAAiB,CAAC,OAAO,WAAW,aAAa;AACnD,YAAMmB,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,QAAQ,QAAQ,IAAI4B;AAC5B,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAGA,QAAI,iBAAiB7D,SAAQ+B,cAAa,GAAG,CAAC;AAC9C,QAAI,gBAAgB,MAAM;AACxB,YAAM8B,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,UAAU,WAAW,aAAa,cAAc,OAAO,QAAQ,YAAY,YAAY,IAAI4B;AACnG,cAAQ,GAAG,eAAe,OAAO,WAAW;AAAA,QAC1C,OAAO,OAAO;AAAA,QACd,YAAY,qBAAqB,YAAY;AAAA,QAC7C,UAAU,YAAY;AAAA,QACtB,YAAY,YAAY;AAAA,MAC1B,CAAC;AAAA,IACH;AAGA,QAAI,kBAAkB7D,SAAQE,cAAY,GAAG,CAAC;AAC9C,QAAI,cAAc;AAAA,MAChB,UAAU,gBAAgB;AAAA,IAC5B;AACA,QAAI,SAAS,CAAC,KAAK,QAAQ;AACzB,YAAM2D,WAAU5B,iBAAgB;AAChC,UAAI,CAAC,KAAK;AACR,YAAI4B,SAAQ;AACV,kBAAQ,KAAK,8BAA8B,GAAG;AAChD;AAAA,MACF;AACA,UAAIA,SAAQ,cAAc;AACxB,eAAO,mBAAmB,KAAK,GAAG;AAAA,MACpC;AACA,aAAO;AAAA,IACT;AACA,QAAI,kBAAkB,CAAC,SAAS,UAAU,gBAAgB;AACxD,YAAMA,WAAU5B,iBAAgB;AAChC,YAAM,MAAM,OAAO,KAAK,OAAO,EAAE,SAAS,CAAC,IAAI4B,SAAQ;AACvD,iBAAW,OAAO;AAChB,YAAI,GAAG,IAAIA,SAAQ,IAAI,GAAG;AAC5B,gBAAU,KAAK,OAAO;AAAA,IACxB;AACA,QAAI,UAAU,CAAC,KAAK,QAAQ;AAC1B,YAAMA,WAAU5B,iBAAgB;AAChC,UAAI4B,SAAQ,eAAe;AACzB,eAAO,OAAO,KAAK,GAAG;AAAA,MACxB;AACA,aAAO;AAAA,IACT;AACA,QAAI,oBAAoB,CAAC,SAAS,UAAU,gBAAgB;AAC1D,YAAMA,WAAU5B,iBAAgB;AAChC,YAAM,MAAM,OAAO,KAAK,OAAO,EAAE,SAAS,CAAC,IAAI4B,SAAQ;AACvD,iBAAW,OAAO;AAChB,YAAI,GAAG,IAAIA,SAAQ,MAAM,GAAG;AAC9B,gBAAU,KAAK,OAAO;AAAA,IACxB;AACA,QAAI,yBAAyB,CAAC,UAAU,EAAE,QAAQ,KAAK,MAAM;AAC3D,UAAI,CAAC,gBAAgB,YAAY,CAAC,gBAAgB,SAAS;AACzD;AACF,YAAM,UAAU,gBAAgB,SAAS,gBAAgB,8BAA8B,KAAK;AAC5F,UAAI,QAAQ,QAAQ;AAClB,gBAAQ,aAAa,eAAe,MAAM;AAC1C,gBAAQ,aAAa,SAAS,GAAG;AACjC,gBAAQ,aAAa,UAAU,GAAG;AAClC,gBAAQ,aAAa,SAAS,mBAAmB;AACjD,gBAAQ,aAAa,MAAM,WAAW;AAAA,MACxC;AACA,aAAO;AAAA,IACT;AACA,QAAI,YAAY,CAAC,KAAK,UAAU,gBAAgB;AAC9C,YAAMA,WAAU5B,iBAAgB;AAChC,YAAM,MAAM,QAAQ,YAAY,gBAAgB;AAChD,UAAI,CAAC,OAAO,CAAC,IAAI,iBAAiB;AAChC,YAAI4B,SAAQ,SAAS;AACnB,kBAAQ,KAAK,+DAA+D;AAAA,QAC9E;AACA,eAAO,eAAe,GAAG;AAAA,MAC3B;AACA,YAAM,SAAS,IAAI,cAAc,YAAY;AAC7C,YAAM,YAAY,eAAe,GAAG;AACpC,UAAI,QAAQ;AACV,cAAM,UAAU,uBAAuB,EAAE,QAAQ,MAAM,CAAC;AACxD,gBAAQ,YAAY;AACpB,eAAO,OAAO,GAAG,QAAQ,QAAQ;AAAA,MACnC,OAAO;AACL,cAAM,eAAe,uBAAuB;AAC5C,YAAI,gBAAgB,aAAa,UAAU;AACzC,uBAAa,YAAY;AACzB,cAAI,KAAK,QAAQ,YAAY;AAAA,QAC/B;AAAA,MACF;AAAA,IACF;AAGA,QAAI,iBAAiB7D,SAAQ+B,cAAa,GAAG,CAAC;AAC9C,QAAI,aAAa,CAAC,QAAQ,CAAC,MAAM;AAC/B,YAAM8B,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,OAAO,QAAQ,YAAY,aAAa,UAAU,UAAU,IAAI4B;AACxE,UAAI,QAAQ;AACV,YAAI,OAAO,OAAO,GAAG;AACnB,gBAAM,cAAc;AACpB,gBAAM,kBAAkB,YAAY;AACpC,sBAAY,OAAO;AAAA,YACjB,GAAGA,SAAQ,mBAAmBvB,eAAc,YAAY,IAAIuB,SAAQ,aAAa,IAAI,CAAC;AAAA,YACtF,GAAG,gBAAgB;AAAA,UACrB;AACA,sBAAY,KAAK,gBAAgB;AACjC,sBAAY,KAAK,gBAAgB;AACjC,sBAAY,KAAK,gBAAgB;AACjC,sBAAY,KAAK,gBAAgB;AACjC,sBAAY,KAAK,gBAAgB;AACjC,sBAAY,KAAK,gBAAgB;AAAA,QACnC;AACA,cAAM,EAAE,MAAM,GAAG,UAAU,IAAI,YAAY;AAC3C,cAAM,cAAcA,SAAQ,mBAAmBvB,eAAc,YAAY,IAAIuB,SAAQ,aAAa,IAAI,CAAC;AACvG,YAAI,OAAO;AACT,WAAC,GAAG,eAAe,eAAe,OAAO,MAAM,WAAW;AAC5D,gBAAQ,GAAG,eAAe,YAAY,GAAG,eAAe,OAAO,QAAQ,KAAK,GAAG;AAAA,UAC7E,MAAM;AAAA,YACJ,UAAU;AAAA;AAAA,YAEV,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,KAAK;AAAA,YACL,MAAM;AAAA,YACN,QAAQ;AAAA,YACR,qBAAqB;AAAA,YACrB,gBAAgB;AAAA,YAChB,GAAG;AAAA,YACH,UAAU,YAAY,iBAAiB;AAAA,YACvC,YAAY,UAAU;AAAA,YACtB,YAAY,UAAU;AAAA,UACxB;AAAA,UACA,MAAM;AAAA,YACJ,WAAW;AAAA,YACX,QAAQ;AAAA,YACR,QAAQ;AAAA,YACR,YAAY,UAAU;AAAA,YACtB,UAAU,YAAY,OAAO,YAAY,iBAAiBA,SAAQ,KAAK;AAAA,YACvE,GAAG;AAAA,YACH,GAAG;AAAA,UACL;AAAA;AAAA,UAEA,UAAU;AAAA,YACR,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,QAAQ;AAAA,UACV;AAAA,UACA,iBAAiB;AAAA,YACf,YAAY,UAAU;AAAA,UACxB;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAGA,QAAI,iBAAiB7D,SAAQ+B,cAAa,GAAG,CAAC;AAC9C,QAAI,gBAAgB,CAAC,QAAQ;AAAA,MAC3B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,EAAE,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;AAC7B,QAAIiB,mBAAkB,CAAC,WAAW;AAChC,YAAM,MAAM,OAAO,MAAM,IAAI;AAC7B,aAAO,IAAI,IAAI,CAAC,MAAM;AACpB,YAAI,EAAE,KAAK;AACX,YAAI,EAAE,MAAM,GAAG,CAAC,MAAM;AACpB,iBAAO,OAAO;AAAA,iBACP,cAAc,CAAC;AACtB,iBAAO,KAAK;AAAA,iBACL,EAAE,MAAM,EAAE,MAAM,QAAQ,EAAE,MAAM,EAAE,MAAM;AAC/C,iBAAO;AAAA,iBACAd,UAAS,CAAC,EAAE,SAAS;AAC5B,iBAAOA,UAAS,CAAC;AACnB,eAAOM,iBAAgB,GAAG,QAAQ,EAAE;AAAA,MACtC,CAAC,EAAE,KAAK,GAAG;AAAA,IACb;AACA,QAAIW,uBAAsB,CAAC,WAAW;AACpC,aAAO,OAAO,MAAM,IAAI,EAAE,IAAI,CAAC,MAAM;AACnC,YAAI,EAAE,MAAM,GAAG,CAAC,MAAM;AACpB,iBAAO,OAAO;AAChB,YAAI,EAAE,SAAS,IAAI;AACjB,iBAAO;AAAA,iBACAjB,UAAS,CAAC;AACjB,iBAAOA,UAAS,CAAC;AACnB,eAAO;AAAA,MACT,CAAC,EAAE,KAAK,GAAG;AAAA,IACb;AACA,QAAIgB,mBAAkB,CAAC,YAAY,QAAQ,MAAM,GAAG,EAAE,IAAI,CAAC,WAAW;AACpE,aAAO,OAAO,MAAM,IAAI,EAAE,IAAI,CAAC,MAAM;AACnC,YAAI,EAAE,KAAK;AACX,YAAI,EAAE,MAAM,GAAG,CAAC,MAAM;AACpB,iBAAO,OAAO;AAChB,YAAIhB,UAAS,CAAC,EAAE,SAAS;AACvB,iBAAOA,UAAS,CAAC;AACnB,YAAI,EAAE,SAAS,IAAI,KAAK,EAAE,MAAM,EAAE,MAAM;AACtC,iBAAO;AACT,cAAM,MAAM,EAAE,MAAM,GAAG;AACvB,YAAI,CAAC,IAAI;AACP,iBAAO;AACT,eAAO,IAAI,IAAI,CAAC,OAAOM,iBAAgB,IAAI,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAG;AAAA,MACvE,CAAC,EAAE,KAAK,GAAG;AAAA,IACb,CAAC,EAAE,KAAK,GAAG;AACX,QAAIO,4BAA2B,CAAC,iBAAiB,gBAAgB;AAC/D,YAAMc,WAAU5B,iBAAgB;AAChC,aAAO,gBAAgB,MAAM,IAAI,EAAE,IAAI,CAAC,MAAM;AAC5C,YAAI,EAAE,MAAM,GAAG,CAAC,MAAM;AACpB,iBAAO,OAAO;AAChB,YAAI,EAAE,SAAS,KAAK,KAAK,EAAE,SAAS,UAAU;AAC5C,iBAAO;AAAA,iBACA4B,SAAQ,SAAS,eAAe,GAAG;AAC1C,iBAAO;AAAA,YACL,iBAAiBxB,eAAc,iBAAiB,eAAewB,SAAQ,WAAW;AAAA,UACpF;AAAA,QACF,WAAW,EAAE,SAAS,GAAG,KAAK,EAAE,SAAS,MAAM;AAC7C,iBAAO,OAAO;AAChB,eAAO;AAAA,MACT,CAAC,EAAE,KAAK,GAAG;AAAA,IACb;AACA,QAAIT,gBAAe,CAAC,SAAS,GAAG,eAAe,UAAU,GAAG,KAAK,IAAI,MAAM,GAAG,EAAE,IAAI,CAAC,MAAMZ,iBAAgB,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,GAAG;AAClI,QAAI,sBAAsB,CAAC,eAAe;AACxC,YAAM,MAAM,WAAW,MAAM,GAAG;AAChC,UAAI,CAAC,IAAI;AACP,eAAO;AACT,aAAO,IAAI,IAAI,CAAC,MAAM;AACpB,YAAI,EAAE,MAAM,GAAG,CAAC,MAAM;AACpB,iBAAO,OAAO;AAChB,YAAI,EAAE,SAAS,KAAK,EAAE,SAAS,IAAI,GAAG;AACpC,gBAAM,kBAAkBE,gBAAe,CAAC;AACxC,iBAAO,gBAAgB,UAAU;AAAA,QACnC;AACA,YAAIC,mBAAkB,CAAC;AACrB,iBAAOA,mBAAkB,CAAC;AAC5B,eAAO;AAAA,MACT,CAAC,EAAE,KAAK,GAAG;AAAA,IACb;AACA,QAAIM,qBAAoB,CAAC,UAAUtB,QAAO,iBAAiB;AACzD,UAAI,EAAE,GAAG,eAAe,UAAU,QAAQ;AACxC;AACF,aAAO,SAAS,MAAM,GAAG,EAAE,IAAI,CAAC,MAAMe,gBAAe,CAAC,EAAE,UAAU,CAAC,EAAE,KAAK,GAAG;AAAA,IAC/E;AACA,QAAII,mBAAkB,CAAC,eAAe;AACpC,YAAM,MAAM,WAAW,MAAM,GAAG;AAChC,UAAI,CAAC,IAAI;AACP;AACF,aAAO,IAAI,IAAI,mBAAmB,EAAE,KAAK,GAAG;AAAA,IAC9C;AAGA,QAAI,iBAAiB9C,SAAQ+B,cAAa,GAAG,CAAC;AAC9C,QAAI,WAAW,CAAC,KAAK,QAAQ;AAC3B,WAAK,GAAG,eAAe,YAAY,GAAG;AACpC,eAAO,IAAI;AACb,aAAO;AAAA,IACT;AACA,QAAI,eAAe,CAAC,KAAK,QAAQ;AACjC,QAAI,qBAAqB;AAAA,MACvB,OAAO;AAAA,MACP,UAAU;AAAA,MACV,MAAM;AAAA,MACN,aAAa;AAAA,MACb,OAAO;AAAA,MACP,OAAO;AAAA,MACP,KAAK;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,SAAS;AAAA,MACT,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,IACb;AACA,QAAI,WAAW,CAAC,cAAc,OAAO,QAAQ;AAC3C,YAAM8B,WAAU5B,iBAAgB;AAChC,YAAM,cAAc,aAAa,YAAY;AAC7C,YAAM,WAAW4B,SAAQ,YAAY;AACrC,UAAI,mBAAmB,WAAW,GAAG;AACnC,cAAM,SAAS,mBAAmB,WAAW,EAAE,OAAO,GAAG;AACzD,iBAAS,GAAG,IAAI;AAChB,eAAO;AAAA,MACT;AACA,UAAIA,SAAQ;AACV,gBAAQ,KAAK,gBAAgB,aAAa,mBAAmB;AAAA,IACjE;AACA,QAAI,UAAU,CAAC,aAAalC,WAAU;AACpC,YAAMkC,WAAU5B,iBAAgB;AAChC,YAAM,eAAe,YAAY,YAAY;AAC7C,YAAM,OAAO,OAAO,KAAKN,MAAK;AAC9B,WAAK,IAAI,CAAC,QAAQ,SAAS,cAAcA,OAAM,GAAG,GAAG,GAAG,CAAC;AACzD,aAAOkC,SAAQ,YAAY;AAAA,IAC7B;AACA,QAAI,cAAc,CAAC;AACnB,QAAIhB,OAAM,CAAC,eAAe,UAAU,gBAAgB;AAClD,UAAIgB,WAAU5B,iBAAgB;AAC9B,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,GAAG;AAAA,MACL,IAAI;AACJ,UAAI,QAAQ,WAAW;AACrB,QAAA4B,WAAU,gBAAgB,QAAQ,SAAS;AAAA,MAC7C;AACA,UAAI,YAAY;AACd,QAAAA,SAAQ,UAAU;AACpB,UAAI,gBAAgB;AAClB,QAAAA,SAAQ,cAAc;AACxB,UAAI,aAAa;AACf,QAAAA,SAAQ,WAAW;AACrB,UAAI,kBAAkB;AACpB,QAAAA,SAAQ,gBAAgB;AAC1B,UAAI,iBAAiB;AACnB,QAAAA,SAAQ,eAAe;AACzB,UAAI,kBAAkB;AACpB,QAAAA,SAAQ,gBAAgB;AAC1B,UAAI,qBAAqB;AACvB,QAAAA,SAAQ,mBAAmB;AAC7B,UAAI,gBAAgB;AAClB,QAAAA,SAAQ,cAAc;AACxB,UAAIA,SAAQ;AACV,gBAAQ,IAAIA,QAAO;AACrB,UAAI,CAACA,SAAQ;AACX,QAAAA,SAAQ,cAAc,CAAC;AACzB,YAAM,OAAO,OAAO,KAAK,MAAM;AAC/B,WAAK,IAAI,CAAC,QAAQ,QAAQ,KAAK,OAAO,GAAG,CAAC,CAAC;AAC3C,8BAAwB;AACxB,2BAAqB;AACrB,0BAAoB;AACpB,oBAAc;AACd,iBAAW;AACX,aAAOA;AAAA,IACT;AAAA;AAAA;;;AC9tFA,IAAAQ,eAAA;AAAA,6DAAAC,SAAA;AAAA;AACA,QAAIC,aAAY,OAAO;AACvB,QAAIC,oBAAmB,OAAO;AAC9B,QAAIC,qBAAoB,OAAO;AAC/B,QAAIC,gBAAe,OAAO,UAAU;AACpC,QAAIC,YAAW,CAAC,QAAQ,QAAQ;AAC9B,eAAS,QAAQ;AACf,QAAAJ,WAAU,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,IAChE;AACA,QAAIK,eAAc,CAAC,IAAIC,OAAM,QAAQ,SAAS;AAC5C,UAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,iBAAS,OAAOJ,mBAAkBI,KAAI;AACpC,cAAI,CAACH,cAAa,KAAK,IAAI,GAAG,KAAK,QAAQ;AACzC,YAAAH,WAAU,IAAI,KAAK,EAAE,KAAK,MAAMM,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOL,kBAAiBK,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,MACvH;AACA,aAAO;AAAA,IACT;AACA,QAAIC,gBAAe,CAAC,QAAQF,aAAYL,WAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,QAAI,cAAc,CAAC;AACnB,IAAAI,UAAS,aAAa;AAAA,MACpB,WAAW,MAAM;AAAA,MACjB,kBAAkB,MAAM;AAAA,IAC1B,CAAC;AACD,IAAAL,QAAO,UAAUQ,cAAa,WAAW;AACzC,QAAM,YAAY,WAAW;AAC3B,UAAI,QAAQ;AACZ,eAAS,QAAQ;AACf;AACA,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT,EAAE;AACF,QAAM,mBAAmB;AAAA;AAAA;;;AChCzB;AAAA,iEAAAC,SAAA;AAAA;AACA,QAAIC,aAAY,OAAO;AACvB,QAAIC,oBAAmB,OAAO;AAC9B,QAAIC,qBAAoB,OAAO;AAC/B,QAAIC,gBAAe,OAAO,UAAU;AACpC,QAAIC,YAAW,CAAC,QAAQ,QAAQ;AAC9B,eAAS,QAAQ;AACf,QAAAJ,WAAU,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,IAChE;AACA,QAAIK,eAAc,CAAC,IAAIC,OAAM,QAAQ,SAAS;AAC5C,UAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,iBAAS,OAAOJ,mBAAkBI,KAAI;AACpC,cAAI,CAACH,cAAa,KAAK,IAAI,GAAG,KAAK,QAAQ;AACzC,YAAAH,WAAU,IAAI,KAAK,EAAE,KAAK,MAAMM,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOL,kBAAiBK,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,MACvH;AACA,aAAO;AAAA,IACT;AACA,QAAIC,gBAAe,CAAC,QAAQF,aAAYL,WAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,QAAI,mBAAmB,CAAC;AACxB,IAAAI,UAAS,kBAAkB;AAAA,MACzB,WAAW,MAAM;AAAA,IACnB,CAAC;AACD,IAAAL,QAAO,UAAUQ,cAAa,gBAAgB;AAC9C,QAAM,YAAY;AAAA,MAChB,MAAM;AAAA,QACJ;AAAA,QACA;AAAA,MACF;AAAA,MACA,MAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,MAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,QAEA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA;AAAA;;;AC5JA,IAAAC,eAAA;AAAA,8DAAAC,SAAA;AAAA;AACA,QAAIC,aAAY,OAAO;AACvB,QAAIC,oBAAmB,OAAO;AAC9B,QAAIC,qBAAoB,OAAO;AAC/B,QAAIC,gBAAe,OAAO,UAAU;AACpC,QAAIC,eAAc,CAAC,IAAIC,OAAM,QAAQ,SAAS;AAC5C,UAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,iBAAS,OAAOH,mBAAkBG,KAAI;AACpC,cAAI,CAACF,cAAa,KAAK,IAAI,GAAG,KAAK,QAAQ;AACzC,YAAAH,WAAU,IAAI,KAAK,EAAE,KAAK,MAAMK,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOJ,kBAAiBI,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,MACvH;AACA,aAAO;AAAA,IACT;AACA,QAAI,aAAa,CAAC,QAAQ,KAAK,kBAAkBD,aAAY,QAAQ,KAAK,SAAS,GAAG,gBAAgBA,aAAY,cAAc,KAAK,SAAS;AAC9I,QAAIE,gBAAe,CAAC,QAAQF,aAAYJ,WAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,QAAI,eAAe,CAAC;AACpB,IAAAD,QAAO,UAAUO,cAAa,YAAY;AAC1C,eAAW,cAAc,oBAA0BP,QAAO,OAAO;AAAA;AAAA;;;ACjBjE,IAAAQ,eAAA;AAAA,iEAAAC,SAAA;AAAA;AACA,QAAIC,aAAY,OAAO;AACvB,QAAIC,oBAAmB,OAAO;AAC9B,QAAIC,qBAAoB,OAAO;AAC/B,QAAIC,gBAAe,OAAO,UAAU;AACpC,QAAIC,YAAW,CAAC,QAAQ,QAAQ;AAC9B,eAAS,QAAQ;AACf,QAAAJ,WAAU,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,IAChE;AACA,QAAIK,eAAc,CAAC,IAAIC,OAAM,QAAQ,SAAS;AAC5C,UAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,iBAAS,OAAOJ,mBAAkBI,KAAI;AACpC,cAAI,CAACH,cAAa,KAAK,IAAI,GAAG,KAAK,QAAQ;AACzC,YAAAH,WAAU,IAAI,KAAK,EAAE,KAAK,MAAMM,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOL,kBAAiBK,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,MACvH;AACA,aAAO;AAAA,IACT;AACA,QAAIC,gBAAe,CAAC,QAAQF,aAAYL,WAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,QAAI,kBAAkB,CAAC;AACvB,IAAAI,UAAS,iBAAiB;AAAA,MACxB,UAAU,MAAMI;AAAA,MAChB,QAAQ,MAAM;AAAA,MACd,MAAM,MAAM;AAAA,MACZ,QAAQ,MAAMC;AAAA,IAChB,CAAC;AACD,IAAAV,QAAO,UAAUQ,cAAa,eAAe;AAC7C,QAAM,SAAS;AACf,QAAM,OAAO;AACb,QAAME,UAAS;AACf,QAAMD,YAAWC,QAAO;AAAA;AAAA;;;AC7BxB;AAAA,8DAAAC,SAAA;AAAA;AACA,QAAIC,aAAY,OAAO;AACvB,QAAIC,oBAAmB,OAAO;AAC9B,QAAIC,qBAAoB,OAAO;AAC/B,QAAIC,gBAAe,OAAO,UAAU;AACpC,QAAIC,YAAW,CAAC,QAAQ,QAAQ;AAC9B,eAAS,QAAQ;AACf,QAAAJ,WAAU,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,IAChE;AACA,QAAIK,eAAc,CAAC,IAAIC,OAAM,QAAQ,SAAS;AAC5C,UAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,iBAAS,OAAOJ,mBAAkBI,KAAI;AACpC,cAAI,CAACH,cAAa,KAAK,IAAI,GAAG,KAAK,QAAQ;AACzC,YAAAH,WAAU,IAAI,KAAK,EAAE,KAAK,MAAMM,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOL,kBAAiBK,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,MACvH;AACA,aAAO;AAAA,IACT;AACA,QAAIC,gBAAe,CAAC,QAAQF,aAAYL,WAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,QAAI,eAAe,CAAC;AACpB,IAAAI,UAAS,cAAc;AAAA,MACrB,eAAe,MAAM;AAAA,MACrB,QAAQ,MAAM;AAAA,IAChB,CAAC;AACD,IAAAL,QAAO,UAAUQ,cAAa,YAAY;AAC1C,QAAI,iBAAiB;AACrB,QAAM,SAAS,CAAC,QAAQ;AACtB,cAAQ,OAAO,SAAS,WAAW,eAAe,eAAe,OAAO,OAAO,OAAO,OAAO,QAAQ,YAAY,OAAO,IAAI,aAAa,YAAY,OAAO,IAAI,aAAa,aAAa;AAAA,IAC5L;AACA,QAAM,gBAAgB,CAAC,QAAQ;AAC7B,cAAQ,OAAO,gBAAgB,WAAW,eAAe,eAAe,OAAO,cAAc,OAAO,OAAO,QAAQ,YAAY,QAAQ,QAAQ,IAAI,aAAa,KAAK,OAAO,IAAI,aAAa,aAAa;AAAA,IAC5M;AAAA;AAAA;;;AC9BA;AAAA,+DAAAC,SAAA;AAAA;AACA,QAAIC,aAAY,OAAO;AACvB,QAAIC,oBAAmB,OAAO;AAC9B,QAAIC,qBAAoB,OAAO;AAC/B,QAAIC,gBAAe,OAAO,UAAU;AACpC,QAAIC,YAAW,CAAC,QAAQ,QAAQ;AAC9B,eAAS,QAAQ;AACf,QAAAJ,WAAU,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,IAChE;AACA,QAAIK,eAAc,CAAC,IAAIC,OAAM,QAAQ,SAAS;AAC5C,UAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,iBAAS,OAAOJ,mBAAkBI,KAAI;AACpC,cAAI,CAACH,cAAa,KAAK,IAAI,GAAG,KAAK,QAAQ;AACzC,YAAAH,WAAU,IAAI,KAAK,EAAE,KAAK,MAAMM,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOL,kBAAiBK,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,MACvH;AACA,aAAO;AAAA,IACT;AACA,QAAIC,gBAAe,CAAC,QAAQF,aAAYL,WAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,QAAI,gBAAgB,CAAC;AACrB,IAAAI,UAAS,eAAe;AAAA,MACtB,OAAO,MAAM;AAAA,MACb,IAAI,MAAM;AAAA,MACV,SAAS,MAAMI;AAAA,MACf,WAAW,MAAM;AAAA,MACjB,WAAW,MAAM;AAAA,MACjB,YAAY,MAAMC;AAAA,MAClB,OAAO,MAAMC;AAAA,MACb,QAAQ,MAAM;AAAA,MACd,UAAU,MAAM;AAAA,MAChB,UAAU,MAAMC;AAAA,MAChB,cAAc,MAAMC;AAAA,MACpB,UAAU,MAAMC;AAAA,MAChB,aAAa,MAAM;AAAA,MACnB,gBAAgB,MAAM;AAAA,IACxB,CAAC;AACD,IAAAd,QAAO,UAAUQ,cAAa,aAAa;AAC3C,QAAI,cAAc;AAClB,QAAI,cAAc;AAClB,QAAM,iBAAiB,CAAC,QAAQ,YAAY,UAAU,KAAK,SAAS,GAAG;AACvE,QAAMI,YAAW,CAAC,QAAQ;AACxB,UAAI,QAAQ;AACV,eAAO;AACT,aAAO,OAAO,QAAQ,YAAY,IAAI,gBAAgB;AAAA,IACxD;AACA,QAAME,YAAW,CAAC,QAAQ,OAAO,QAAQ;AACzC,QAAM,WAAW,CAAC,QAAQ,OAAO,QAAQ;AACzC,QAAMJ,cAAa,CAAC,QAAQ,OAAO,QAAQ;AAC3C,QAAM,YAAY,CAAC,QAAQ,QAAQ,QAAQ,QAAQ;AACnD,QAAM,SAAS,CAAC,QAAQ,QAAQ;AAChC,QAAMD,WAAU,CAAC,QAAQ,MAAM,QAAQ,GAAG;AAC1C,QAAMI,gBAAe,CAAC,QAAQ;AAC5B,UAAI,QAAQ;AACV,eAAO;AACT,aAAO,OAAO,QAAQ;AAAA,IACxB;AACA,QAAM,YAAY,CAAC,QAAQ;AACzB,aAAOD,UAAS,GAAG,KAAKC,cAAa,GAAG,KAAKC,UAAS,GAAG,KAAK,SAAS,GAAG,KAAKJ,YAAW,GAAG,KAAKD,SAAQ,GAAG,KAAKI,cAAa,GAAG,KAAK,UAAU,GAAG,KAAK,OAAO,GAAG;AAAA,IACrK;AACA,QAAM,cAAc,CAAC,QAAQ;AAC3B,aAAO,QAAQ;AAAA,IACjB;AACA,QAAM,QAAQ;AAAA,MACZ,SAAS;AAAA,MACT,OAAOJ;AAAA,MACP,QAAQG;AAAA,MACR,QAAQE;AAAA,MACR,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,UAAUJ;AAAA,MACV,YAAYG;AAAA,MACZ,MAAM,YAAY;AAAA,MAClB,aAAa,YAAY;AAAA,MACzB,SAAS;AAAA,IACX;AACA,QAAM,KAAK,CAAC,QAAQ;AAClB,aAAO,IAAI,SAAS;AAClB,eAAO,KAAK,IAAI,CAAC,QAAQ,MAAM,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS;AAAA,MACtE;AAAA,IACF;AACA,QAAMF,SAAQ,CAAC,QAAQ;AACrB,aAAO,IAAI,SAAS;AAClB,eAAO,KAAK,IAAI,CAAC,QAAQ,MAAM,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW;AAAA,MACxE;AAAA,IACF;AAAA;AAAA;;;ACnFA;AAAA,+DAAAI,SAAA;AAAA;AACA,QAAIC,aAAY,OAAO;AACvB,QAAIC,oBAAmB,OAAO;AAC9B,QAAIC,qBAAoB,OAAO;AAC/B,QAAIC,gBAAe,OAAO,UAAU;AACpC,QAAIC,YAAW,CAAC,QAAQ,QAAQ;AAC9B,eAAS,QAAQ;AACf,QAAAJ,WAAU,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,IAChE;AACA,QAAIK,eAAc,CAAC,IAAIC,OAAM,QAAQ,SAAS;AAC5C,UAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,iBAAS,OAAOJ,mBAAkBI,KAAI;AACpC,cAAI,CAACH,cAAa,KAAK,IAAI,GAAG,KAAK,QAAQ;AACzC,YAAAH,WAAU,IAAI,KAAK,EAAE,KAAK,MAAMM,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOL,kBAAiBK,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,MACvH;AACA,aAAO;AAAA,IACT;AACA,QAAIC,gBAAe,CAAC,QAAQF,aAAYL,WAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,QAAI,gBAAgB,CAAC;AACrB,IAAAI,UAAS,eAAe;AAAA,MACtB,yBAAyB,MAAM;AAAA,MAC/B,YAAY,MAAM;AAAA,MAClB,sBAAsB,MAAM;AAAA,MAC5B,YAAY,MAAM;AAAA,MAClB,iBAAiB,MAAM;AAAA,MACvB,kBAAkB,MAAM;AAAA,IAC1B,CAAC;AACD,IAAAL,QAAO,UAAUQ,cAAa,aAAa;AAC3C,QAAI,gBAAgB;AACpB,QAAI,eAAe;AACnB,QAAM,0BAA0B,CAAC,MAAM,SAAS;AAC9C,aAAO,KAAK,MAAM,CAAC,QAAQ,KAAK,SAAS,GAAG,CAAC;AAAA,IAC/C;AACA,QAAM,kBAAkB,CAAC,KAAK,UAAU;AACtC,WAAK,GAAG,aAAa,UAAU,KAAK;AAClC,gBAAQ,SAAS,KAAK;AACxB,WAAK,GAAG,aAAa,UAAU,KAAK,GAAG;AACrC,YAAI,QAAQ,KAAK,SAAS,IAAI,UAAU,MAAM,KAAK,GAAG;AACpD,gBAAM,IAAI,MAAM,eAAe;AAAA,QACjC;AACA,YAAI,OAAO,OAAO,CAAC;AAAA,MACrB,YAAY,GAAG,aAAa,SAAS,KAAK,GAAG;AAC3C,cAAM,QAAQ,CAAC,QAAQ,gBAAgB,KAAK,GAAG,CAAC;AAAA,MAClD,OAAO;AACL,cAAM,IAAI,MAAM,eAAe;AAAA,MACjC;AACA,aAAO;AAAA,IACT;AACA,QAAM,mBAAmB,CAAC,KAAK,GAAG,MAAM;AACtC,OAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AAAA,IACpC;AACA,QAAM,aAAa,IAAI,WAAW;AAChC,aAAO,CAAC,EAAE,OAAO,GAAG,MAAM;AAAA,IAC5B;AACA,QAAM,aAAa,CAAC,KAAK,cAAc,CAAC,MAAM;AAC5C,aAAO,IAAI,OAAO,CAAC,GAAG,OAAO,GAAG,cAAc,WAAW,IAAI,GAAG,cAAc,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,CAAC,CAAC;AAAA,IAC5H;AACA,QAAM,uBAAuB,CAAC,QAAQ;AACpC,cAAQ,GAAG,aAAa,SAAS,GAAG,IAAI,WAAW,GAAG,KAAK,GAAG,cAAc,WAAW,GAAG;AAAA,IAC5F;AAAA;AAAA;;;AC3DA;AAAA,gEAAAC,SAAA;AAAA;AACA,QAAIC,aAAY,OAAO;AACvB,QAAIC,oBAAmB,OAAO;AAC9B,QAAIC,qBAAoB,OAAO;AAC/B,QAAIC,gBAAe,OAAO,UAAU;AACpC,QAAIC,YAAW,CAAC,QAAQ,QAAQ;AAC9B,eAAS,QAAQ;AACf,QAAAJ,WAAU,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,IAChE;AACA,QAAIK,eAAc,CAAC,IAAIC,OAAM,QAAQ,SAAS;AAC5C,UAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,iBAAS,OAAOJ,mBAAkBI,KAAI;AACpC,cAAI,CAACH,cAAa,KAAK,IAAI,GAAG,KAAK,QAAQ;AACzC,YAAAH,WAAU,IAAI,KAAK,EAAE,KAAK,MAAMM,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOL,kBAAiBK,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,MACvH;AACA,aAAO;AAAA,IACT;AACA,QAAIC,gBAAe,CAAC,QAAQF,aAAYL,WAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,QAAI,iBAAiB,CAAC;AACtB,IAAAI,UAAS,gBAAgB;AAAA,MACvB,OAAO,MAAM;AAAA,MACb,WAAW,MAAMI;AAAA,MACjB,kBAAkB,MAAM;AAAA,MACxB,iBAAiB,MAAM;AAAA,MACvB,WAAW,MAAM;AAAA,MACjB,eAAe,MAAM;AAAA,MACrB,2BAA2B,MAAM;AAAA,MACjC,MAAM,MAAMC;AAAA,MACZ,YAAY,MAAM;AAAA,MAClB,aAAa,MAAM;AAAA,MACnB,MAAM,MAAMC;AAAA,MACZ,kBAAkB,MAAM;AAAA,MACxB,aAAa,MAAM;AAAA,MACnB,KAAK,MAAM;AAAA,MACX,OAAO,MAAMC;AAAA,MACb,mBAAmB,MAAM;AAAA,MACzB,gBAAgB,MAAM;AAAA,MACtB,WAAW,MAAM;AAAA,MACjB,eAAe,MAAM;AAAA,MACrB,kBAAkB,MAAMC;AAAA,MACxB,kBAAkB,MAAM;AAAA,IAC1B,CAAC;AACD,IAAAb,QAAO,UAAUQ,cAAa,cAAc;AAC5C,QAAI,iBAAiB;AACrB,QAAI,eAAe;AACnB,QAAI,eAAe;AACnB,QAAMG,QAAO,CAAC,OAAO,SAAS,OAAO,YAAY;AAC/C,WAAK,GAAG,aAAa,YAAY,KAAK,GAAG;AACvC,eAAO;AAAA,UACL;AAAA,UACA,SAAS,QAAQ;AAAA,UACjB,WAAW,QAAQ;AAAA,QACrB;AAAA,MACF;AACA,aAAO;AAAA,IACT;AACA,QAAM,MAAM,CAAC,KAAK,WAAW,YAAY;AACvC,iBAAW,KAAK,WAAW;AACzB,YAAI,CAAC,IAAIA,MAAK,UAAU,CAAC,GAAG,OAAO;AAAA,MACrC;AAAA,IACF;AACA,QAAMC,SAAQ,CAAC,SAAS,KAAK,cAAc,CAAC,MAAM;AAChD,iBAAW,KAAK,KAAK;AACnB,YAAI,YAAY,SAAS,CAAC,KAAK,EAAE,SAAS,IAAI;AAC5C;AACF,cAAM,cAAc,QAAQ,CAAC;AAC7B,cAAM,UAAU,IAAI,CAAC;AACrB,YAAI,gBAAgB,QAAQ;AAC1B,kBAAQ,CAAC,IAAI;AAAA,QACf;AAAA,MACF;AACA,aAAO;AAAA,IACT;AACA,QAAM,YAAY,CAAC,SAAS,QAAQ,cAAc,CAAC,MAAM;AACvD,iBAAW,KAAK,QAAQ;AACtB,YAAI,YAAY,SAAS,CAAC,KAAK,EAAE,SAAS,IAAI;AAC5C;AACF,cAAM,cAAc,QAAQ,CAAC;AAC7B,cAAM,aAAa,OAAO,CAAC;AAC3B,aAAK,GAAG,aAAa,cAAc,WAAW,MAAM,GAAG,aAAa,cAAc,UAAU,GAAG;AAC7F,oBAAU,aAAa,UAAU;AAAA,QACnC,WAAW,gBAAgB,QAAQ;AACjC,kBAAQ,CAAC,IAAI;AAAA,QACf;AAAA,MACF;AACA,aAAO;AAAA,IACT;AACA,QAAM,QAAQ,CAAC,KAAK,cAAc,CAAC,MAAM;AACvC,YAAM,IAAI,CAAC;AACX,iBAAW,QAAQ,KAAK;AACtB,YAAI,YAAY,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI;AAClD;AACF,UAAE,IAAI,IAAI,IAAI,IAAI;AAAA,MACpB;AACA,aAAO;AAAA,IACT;AACA,QAAM,mBAAmB,CAAC,KAAK,cAAc,CAAC,MAAM;AAClD,WAAK,GAAG,aAAa,SAAS,GAAG,GAAG;AAClC,eAAO,IAAI,IAAI,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAAA,MACxD;AACA,YAAM,IAAI,CAAC;AACX,iBAAW,KAAK,KAAK;AACnB,YAAI,YAAY,SAAS,CAAC,KAAK,EAAE,SAAS,IAAI;AAC5C;AACF,YAAI,IAAI,IAAI,CAAC;AACb,YAAI,MAAM,aAAa,GAAG,aAAa,SAAS,CAAC,GAAG;AAClD,cAAI,kBAAkB,GAAG,WAAW;AAAA,QACtC;AACA,aAAK,GAAG,aAAa,SAAS,CAAC,GAAG;AAChC,YAAE,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAAA,QACtD,YAAY,GAAG,aAAa,UAAU,CAAC,GAAG;AACxC,YAAE,CAAC,IAAI,iBAAiB,GAAG,WAAW;AAAA,QACxC;AACE,YAAE,CAAC,IAAI;AAAA,MACX;AACA,aAAO;AAAA,IACT;AACA,QAAM,oBAAoB,CAAC,KAAK,OAAO,CAAC,MAAM;AAC5C,aAAO,IAAI,OAAO,CAAC,KAAK,SAAS,UAAU,KAAK,iBAAiB,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;AAAA,IACnF;AACA,QAAMH,aAAY,CAAC,KAAK,cAAc,CAAC,MAAM;AAC3C,YAAM,KAAK,GAAG,aAAa,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;AACjD,iBAAW,QAAQ,KAAK;AACtB,YAAI,YAAY,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI;AAClD;AACF,YAAI,UAAU,IAAI,IAAI;AACtB,YAAI,SAAS,aAAa,GAAG,aAAa,SAAS,OAAO,GAAG;AAC3D,qBAAW,GAAG,aAAa,YAAY,OAAO;AAAA,QAChD;AACA,aAAK,GAAG,aAAa,cAAc,OAAO,GAAG;AAC3C,YAAE,IAAI,IAAIA,WAAU,SAAS,WAAW;AAAA,QAC1C;AACE,YAAE,IAAI,IAAI;AAAA,MACd;AACA,aAAO;AAAA,IACT;AACA,QAAM,gBAAgB,CAAC,KAAK,cAAc,CAAC,MAAM;AAC/C,iBAAW,QAAQ,KAAK;AACtB,cAAM,UAAU,IAAI,IAAI;AACxB,aAAK,GAAG,aAAa,YAAY,OAAO,GAAG;AACzC,sBAAY,IAAI,IAAI,QAAQ,SAAS;AAAA,QACvC,YAAY,GAAG,aAAa,UAAU,OAAO,GAAG;AAC9C,sBAAY,IAAI,IAAI,CAAC;AACrB,wBAAc,SAAS,YAAY,IAAI,CAAC;AAAA,QAC1C,YAAY,GAAG,aAAa,SAAS,OAAO,GAAG;AAC7C,sBAAY,IAAI,IAAI,CAAC;AACrB,kBAAQ,QAAQ,CAAC,GAAG,MAAM;AACxB,iBAAK,GAAG,aAAa,UAAU,CAAC,GAAG;AACjC,0BAAY,IAAI,EAAE,CAAC,IAAI,CAAC;AACxB,4BAAc,GAAG,YAAY,IAAI,EAAE,CAAC,CAAC;AAAA,YACvC,YAAY,GAAG,aAAa,YAAY,CAAC,GAAG;AAC1C,0BAAY,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS;AAAA,YACpC,OAAO;AACL,0BAAY,IAAI,EAAE,CAAC,IAAI;AAAA,YACzB;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,sBAAY,IAAI,IAAI;AAAA,QACtB;AAAA,MACF;AACA,aAAO;AAAA,IACT;AACA,QAAM,4BAA4B,CAAC,KAAK,WAAW,CAAC,MAAM;AACxD,iBAAW,QAAQ,KAAK;AACtB,cAAM,UAAU,IAAI,IAAI;AACxB,aAAK,GAAG,aAAa,YAAY,OAAO;AACtC;AAAA,kBACQ,GAAG,aAAa,UAAU,OAAO,GAAG;AAC5C,mBAAS,IAAI,IAAI,CAAC;AAClB,wBAAc,SAAS,SAAS,IAAI,CAAC;AAAA,QACvC,YAAY,GAAG,aAAa,SAAS,OAAO,GAAG;AAC7C,mBAAS,IAAI,IAAI,CAAC;AAClB,kBAAQ,QAAQ,CAAC,GAAG,MAAM;AACxB,iBAAK,GAAG,aAAa,YAAY,CAAC;AAChC;AACF,iBAAK,GAAG,aAAa,UAAU,CAAC,GAAG;AACjC,uBAAS,IAAI,EAAE,CAAC,IAAI,CAAC;AACrB,wCAA0B,GAAG,SAAS,IAAI,EAAE,CAAC,CAAC;AAAA,YAChD,OAAO;AACL,uBAAS,IAAI,EAAE,CAAC,IAAI;AAAA,YACtB;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,mBAAS,IAAI,IAAI;AAAA,QACnB;AAAA,MACF;AACA,aAAO;AAAA,IACT;AACA,QAAM,kBAAkB,CAAC,KAAK,cAAc,CAAC,MAAM;AACjD,iBAAW,QAAQ,KAAK;AACtB,cAAM,UAAU,IAAI,IAAI;AACxB,aAAK,GAAG,aAAa,UAAU,OAAO,GAAG;AACvC,cAAI,QAAQ,SAAS,IAAI,KAAK,QAAQ,SAAS,UAAU,KAAK,QAAQ,WAAW,GAAG,GAAG;AACrF,gBAAI;AACF,oBAAM,WAAW,eAAe,OAAO,KAAK,IAAI,UAAU;AAC1D,0BAAY,IAAI,IAAI;AAAA,YACtB,SAAS,GAAP;AACA,kBAAI;AACF,4BAAY,IAAI,IAAI;AAAA,YACxB;AAAA,UACF,OAAO;AACL,wBAAY,IAAI,IAAI;AAAA,UACtB;AAAA,QACF,YAAY,GAAG,aAAa,SAAS,OAAO,GAAG;AAC7C,sBAAY,IAAI,IAAI,CAAC;AACrB,kBAAQ,QAAQ,CAAC,YAAY;AAC3B,iBAAK,GAAG,aAAa,UAAU,OAAO,GAAG;AACvC,kBAAI,QAAQ,SAAS,IAAI,KAAK,QAAQ,SAAS,UAAU,KAAK,QAAQ,WAAW,GAAG,GAAG;AACrF,oBAAI;AACF,wBAAM,WAAW,eAAe,OAAO,KAAK,IAAI,UAAU;AAC1D,8BAAY,IAAI,EAAE,KAAK,QAAQ;AAAA,gBACjC,SAAS,GAAP;AACA,sBAAI;AACF,gCAAY,IAAI,EAAE,KAAK,OAAO;AAAA,gBAClC;AAAA,cACF,OAAO;AACL,4BAAY,IAAI,EAAE,KAAK,OAAO;AAAA,cAChC;AAAA,YACF,YAAY,GAAG,aAAa,UAAU,OAAO,GAAG;AAC9C,0BAAY,IAAI,EAAE,KAAK,gBAAgB,OAAO,CAAC;AAAA,YACjD,OAAO;AACL,0BAAY,IAAI,EAAE,KAAK,OAAO;AAAA,YAChC;AAAA,UACF,CAAC;AAAA,QACH,YAAY,GAAG,aAAa,UAAU,OAAO,GAAG;AAC9C,sBAAY,IAAI,IAAI,gBAAgB,SAAS,YAAY,IAAI,CAAC;AAAA,QAChE,OAAO;AACL,sBAAY,IAAI,IAAI;AAAA,QACtB;AAAA,MACF;AACA,aAAO;AAAA,IACT;AACA,QAAM,cAAc,CAAC,UAAU,WAAW,UAAU;AAClD,iBAAW,KAAK,WAAW;AACzB,YAAI,MAAM;AACR;AACF,cAAM,eAAe,SAAS,CAAC;AAC/B,cAAM,gBAAgB,UAAU,CAAC;AACjC,aAAK,GAAG,aAAa,UAAU,YAAY,MAAM,GAAG,aAAa,UAAU,aAAa,GAAG;AACzF,gBAAM,CAAC,IAAI,CAAC;AACZ,UAAAC,MAAK,cAAc,eAAe,MAAM,CAAC,CAAC;AAAA,QAC5C,WAAW,kBAAkB,QAAQ;AACnC,gBAAM,CAAC,IAAI;AAAA,QACb;AAAA,MACF;AACA,aAAO;AAAA,IACT;AACA,QAAM,aAAa,CAAC,UAAU,WAAW,UAAU;AACjD,UAAI,SAAS,WAAW,UAAU,QAAQ;AACxC,gBAAQ;AAAA,MACV,OAAO;AACL,cAAM,UAAU,CAAC;AACjB,iBAAS,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;AACxC,gBAAM,UAAUA,MAAK,SAAS,CAAC,GAAG,UAAU,CAAC,CAAC;AAC9C,cAAI,OAAO,KAAK,OAAO,EAAE,SAAS,GAAG;AACnC,oBAAQ,KAAK,OAAO;AAAA,UACtB;AAAA,QACF;AACA,YAAI,QAAQ,SAAS,GAAG;AACtB,kBAAQ;AAAA,QACV;AAAA,MACF;AACA,aAAO;AAAA,IACT;AACA,QAAMA,QAAO,CAAC,UAAU,WAAW,QAAQ,CAAC,MAAM;AAChD,WAAK,GAAG,aAAa,SAAS,QAAQ,MAAM,GAAG,aAAa,SAAS,SAAS,GAAG;AAC/E,gBAAQ,CAAC;AACT,mBAAW,UAAU,WAAW,KAAK;AAAA,MACvC,OAAO;AACL,oBAAY,UAAU,WAAW,KAAK;AAAA,MACxC;AACA,aAAO;AAAA,IACT;AACA,QAAM,YAAY,CAAC,SAAS,QAAQ,cAAc,CAAC,MAAM;AACvD,YAAM,EAAE,IAAI,IAAI;AAChB,YAAM,UAAU,CAAC;AACjB,iBAAW,KAAK,QAAQ;AACtB,YAAI,YAAY,SAAS,CAAC,KAAK,EAAE,SAAS,IAAI;AAC5C;AACF,cAAM,cAAc,QAAQ,CAAC;AAC7B,cAAM,aAAa,OAAO,CAAC;AAC3B,YAAI,YAAY;AACd,cAAI,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI;AAC9B,cAAI,CAAC,IAAI;AAAA,QACX;AAAA,MACF;AACA,aAAO;AAAA,IACT;AACA,QAAMG,oBAAmB,CAAC,KAAK,QAAQ,cAAc,CAAC,MAAM;AAC1D,iBAAW,KAAK,QAAQ;AACtB,YAAI,YAAY,SAAS,CAAC,KAAK,EAAE,SAAS,IAAI;AAC5C;AACF,YAAI,CAAC,IAAI,OAAO,CAAC;AAAA,MACnB;AACA,aAAO;AAAA,IACT;AACA,QAAM,gBAAgB,CAAC,KAAK,QAAQ,cAAc,CAAC,MAAM;AACvD,iBAAW,KAAK,QAAQ;AACtB,YAAI,YAAY,SAAS,CAAC,KAAK,EAAE,SAAS,IAAI;AAC5C;AACF,cAAM,UAAU,IAAI,CAAC;AACrB,cAAM,aAAa,OAAO,CAAC;AAC3B,aAAK,GAAG,aAAa,cAAc,OAAO,MAAM,GAAG,aAAa,cAAc,UAAU,GAAG;AACzF,wBAAc,SAAS,UAAU;AAAA,QACnC,WAAW,eAAe,QAAQ;AAChC,cAAI,CAAC,IAAI;AAAA,QACX;AAAA,MACF;AACA,aAAO;AAAA,IACT;AACA,QAAM,iBAAiB,CAAC,GAAG,MAAM;AAC/B,WAAK,GAAG,aAAa,cAAc,CAAC,MAAM,GAAG,aAAa,cAAc,CAAC;AACvE,eAAO,UAAU,GAAG,CAAC;AACvB,aAAO,KAAK;AAAA,IACd;AACA,QAAM,mBAAmB,CAAC,OAAO,MAAM,QAAQ,CAAC,MAAM;AACpD,YAAM,cAAc,GAAG,aAAa,sBAAsB,KAAK;AAC/D,YAAM,KAAK,UAAU;AACrB,YAAM,iBAAiB,WAAW,IAAI;AACtC,UAAI;AACF,yBAAiB,gBAAgB,MAAM,KAAK;AAC9C,aAAO,WAAW,IAAI;AACtB,aAAO;AAAA,IACT;AACA,QAAM,cAAc,CAAC,OAAO,YAAY;AACtC,UAAI,UAAU;AACZ,eAAO;AACT,UAAI,CAAC,SAAS,CAAC;AACb,eAAO;AACT,iBAAW,QAAQ,OAAO;AACxB,cAAM,YAAY,MAAM,IAAI;AAC5B,cAAM,cAAc,QAAQ,IAAI;AAChC,aAAK,GAAG,aAAa,cAAc,SAAS,GAAG;AAC7C,gBAAM,UAAU,YAAY,WAAW,WAAW;AAClD,cAAI,CAAC;AACH,mBAAO;AAAA,QACX,OAAO;AACL,gBAAM,UAAU,cAAc;AAC9B,cAAI,CAAC;AACH,mBAAO;AAAA,QACX;AAAA,MACF;AACA,aAAO;AAAA,IACT;AACA,QAAM,mBAAmB,CAAC,KAAKC,WAAU;AACvC,UAAIA,WAAU,UAAUA,WAAU;AAChC,eAAO;AACT,WAAK,GAAG,aAAa,IAAIA,MAAK,EAAE,UAAU,QAAQ,GAAG;AACnD,eAAO,IAAIA,MAAK;AAAA,MAClB,YAAY,GAAG,aAAa,SAASA,MAAK,GAAG;AAC3C,QAAAA,OAAM,QAAQ,CAAC,SAAS,OAAO,IAAI,IAAI,CAAC;AAAA,MAC1C,OAAO;AACL,cAAM,IAAI,MAAM,8DAA8D;AAAA,MAChF;AACA,aAAO;AAAA,IACT;AAAA;AAAA;;;ACnWA;AAAA,kEAAAC,SAAA;AAAA;AACA,QAAIC,aAAY,OAAO;AACvB,QAAIC,oBAAmB,OAAO;AAC9B,QAAIC,qBAAoB,OAAO;AAC/B,QAAIC,gBAAe,OAAO,UAAU;AACpC,QAAIC,YAAW,CAAC,QAAQ,QAAQ;AAC9B,eAAS,QAAQ;AACf,QAAAJ,WAAU,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,IAChE;AACA,QAAIK,eAAc,CAAC,IAAIC,OAAM,QAAQ,SAAS;AAC5C,UAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,iBAAS,OAAOJ,mBAAkBI,KAAI;AACpC,cAAI,CAACH,cAAa,KAAK,IAAI,GAAG,KAAK,QAAQ;AACzC,YAAAH,WAAU,IAAI,KAAK,EAAE,KAAK,MAAMM,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOL,kBAAiBK,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,MACvH;AACA,aAAO;AAAA,IACT;AACA,QAAIC,gBAAe,CAAC,QAAQF,aAAYL,WAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,QAAI,mBAAmB,CAAC;AACxB,IAAAI,UAAS,kBAAkB;AAAA,MACzB,UAAU,MAAM;AAAA,MAChB,SAAS,MAAMI;AAAA,IACjB,CAAC;AACD,IAAAT,QAAO,UAAUQ,cAAa,gBAAgB;AAC9C,QAAM,WAAW,CAAC,SAAS,MAAM,UAAU,QAAQ;AACjD,UAAI;AACJ,aAAO,IAAI,SAAS;AAClB,qBAAa,KAAK;AAClB,gBAAQ,WAAW,MAAM;AACvB,eAAK,MAAM,SAAS,IAAI;AAAA,QAC1B,GAAG,OAAO;AAAA,MACZ;AAAA,IACF;AACA,QAAMC,WAAU,CAAC,OAAO;AACtB,YAAM,QAAQ,CAAC;AACf,aAAO,IAAI,SAAS;AAClB,cAAM,IAAI,KAAK,CAAC;AAChB,YAAI,KAAK,OAAO;AACd,iBAAO,MAAM,CAAC;AAAA,QAChB,OAAO;AACL,gBAAM,SAAS,GAAG,CAAC;AACnB,gBAAM,CAAC,IAAI;AACX,iBAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAAA;AAAA;;;AC7CA;AAAA,6DAAAC,SAAA;AAAA;AACA,QAAIC,aAAY,OAAO;AACvB,QAAIC,oBAAmB,OAAO;AAC9B,QAAIC,qBAAoB,OAAO;AAC/B,QAAIC,gBAAe,OAAO,UAAU;AACpC,QAAIC,YAAW,CAAC,QAAQ,QAAQ;AAC9B,eAAS,QAAQ;AACf,QAAAJ,WAAU,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,IAChE;AACA,QAAIK,eAAc,CAAC,IAAIC,OAAM,QAAQ,SAAS;AAC5C,UAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,iBAAS,OAAOJ,mBAAkBI,KAAI;AACpC,cAAI,CAACH,cAAa,KAAK,IAAI,GAAG,KAAK,QAAQ;AACzC,YAAAH,WAAU,IAAI,KAAK,EAAE,KAAK,MAAMM,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOL,kBAAiBK,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,MACvH;AACA,aAAO;AAAA,IACT;AACA,QAAIC,gBAAe,CAAC,QAAQF,aAAYL,WAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,QAAI,cAAc,CAAC;AACnB,IAAAI,UAAS,aAAa;AAAA,MACpB,YAAY,MAAM;AAAA,MAClB,OAAO,MAAM;AAAA,IACf,CAAC;AACD,IAAAL,QAAO,UAAUQ,cAAa,WAAW;AACzC,QAAM,QAAQ,CAAC,SAAS,QAAQ;AAC9B,UAAI;AACF,YAAI,IAAI,CAAC,MAAM,QAAQ,IAAI,CAAC,CAAC;AAAA,IACjC;AACA,QAAM,aAAa,CAAC,MAAM,QAAQ,QAAQ;AACxC,UAAI,MAAM;AACR,gBAAQ,MAAM,GAAG;AACjB,YAAI,IAAI,CAAC,MAAM,QAAQ,IAAI,CAAC,CAAC;AAC7B,gBAAQ,SAAS,GAAG;AAAA,MACtB;AAAA,IACF;AAAA;AAAA;;;AClCA,IAAAC,eAAA;AAAA,+DAAAC,SAAA;AAAA;AACA,QAAIC,aAAY,OAAO;AACvB,QAAIC,oBAAmB,OAAO;AAC9B,QAAIC,qBAAoB,OAAO;AAC/B,QAAIC,gBAAe,OAAO,UAAU;AACpC,QAAIC,eAAc,CAAC,IAAIC,OAAM,QAAQ,SAAS;AAC5C,UAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,iBAAS,OAAOH,mBAAkBG,KAAI;AACpC,cAAI,CAACF,cAAa,KAAK,IAAI,GAAG,KAAK,QAAQ;AACzC,YAAAH,WAAU,IAAI,KAAK,EAAE,KAAK,MAAMK,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOJ,kBAAiBI,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,MACvH;AACA,aAAO;AAAA,IACT;AACA,QAAI,aAAa,CAAC,QAAQ,KAAK,kBAAkBD,aAAY,QAAQ,KAAK,SAAS,GAAG,gBAAgBA,aAAY,cAAc,KAAK,SAAS;AAC9I,QAAIE,gBAAe,CAAC,QAAQF,aAAYJ,WAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,QAAI,gBAAgB,CAAC;AACrB,IAAAD,QAAO,UAAUO,cAAa,aAAa;AAC3C,eAAW,eAAe,gBAAuBP,QAAO,OAAO;AAC/D,eAAW,eAAe,iBAAuBA,QAAO,OAAO;AAC/D,eAAW,eAAe,kBAAwBA,QAAO,OAAO;AAChE,eAAW,eAAe,oBAA0BA,QAAO,OAAO;AAClE,eAAW,eAAe,iBAAuBA,QAAO,OAAO;AAC/D,eAAW,eAAe,gBAAsBA,QAAO,OAAO;AAC9D,eAAW,eAAe,eAAqBA,QAAO,OAAO;AAAA;AAAA;;;ACvB7D;AAAA,gEAAAQ,SAAA;AAAA;AACA,QAAIC,aAAY,OAAO;AACvB,QAAIC,oBAAmB,OAAO;AAC9B,QAAIC,qBAAoB,OAAO;AAC/B,QAAIC,gBAAe,OAAO,UAAU;AACpC,QAAIC,YAAW,CAAC,QAAQ,QAAQ;AAC9B,eAAS,QAAQ;AACf,QAAAJ,WAAU,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,IAChE;AACA,QAAIK,eAAc,CAAC,IAAIC,OAAM,QAAQ,SAAS;AAC5C,UAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,iBAAS,OAAOJ,mBAAkBI,KAAI;AACpC,cAAI,CAACH,cAAa,KAAK,IAAI,GAAG,KAAK,QAAQ;AACzC,YAAAH,WAAU,IAAI,KAAK,EAAE,KAAK,MAAMM,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOL,kBAAiBK,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,MACvH;AACA,aAAO;AAAA,IACT;AACA,QAAIC,gBAAe,CAAC,QAAQF,aAAYL,WAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,QAAI,iBAAiB,CAAC;AACtB,IAAAI,UAAS,gBAAgB;AAAA,MACvB,qBAAqB,MAAM;AAAA,IAC7B,CAAC;AACD,IAAAL,QAAO,UAAUQ,cAAa,cAAc;AAC5C,QAAM,sBAAsB;AAAA,MAC1B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA;AAAA;;;AC1CA;AAAA,4DAAAC,SAAA;AAAA;AACA,QAAIC,aAAY,OAAO;AACvB,QAAIC,oBAAmB,OAAO;AAC9B,QAAIC,qBAAoB,OAAO;AAC/B,QAAIC,gBAAe,OAAO,UAAU;AACpC,QAAIC,YAAW,CAAC,QAAQ,QAAQ;AAC9B,eAAS,QAAQ;AACf,QAAAJ,WAAU,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,IAChE;AACA,QAAIK,eAAc,CAAC,IAAIC,OAAM,QAAQ,SAAS;AAC5C,UAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,iBAAS,OAAOJ,mBAAkBI,KAAI;AACpC,cAAI,CAACH,cAAa,KAAK,IAAI,GAAG,KAAK,QAAQ;AACzC,YAAAH,WAAU,IAAI,KAAK,EAAE,KAAK,MAAMM,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOL,kBAAiBK,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,MACvH;AACA,aAAO;AAAA,IACT;AACA,QAAIC,gBAAe,CAAC,QAAQF,aAAYL,WAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,QAAI,aAAa,CAAC;AAClB,IAAAI,UAAS,YAAY;AAAA,MACnB,YAAY,MAAM;AAAA,MAClB,kBAAkB,MAAM;AAAA,MACxB,mBAAmB,MAAM;AAAA,MACzB,gBAAgB,MAAM;AAAA,MACtB,sBAAsB,MAAM;AAAA,IAC9B,CAAC;AACD,IAAAL,QAAO,UAAUQ,cAAa,UAAU;AACxC,QAAIC,iBAAe;AACnB,QAAM,aAAa,CAAC,OAAO,SAAS,OAAO,SAAS,YAAY;AAC9D,aAAO,MAAM,SAAS,SAAS,QAAQ,OAAO,WAAW,QAAQ,SAAS,OAAO;AAAA,IACnF;AACA,QAAM,iBAAiB,CAAC,OAAO,SAAS,YAAY;AAClD,UAAI,QAAQ,OAAO,GAAGA,eAAa,YAAY,QAAQ,GAAG,KAAK,CAAC,GAAG;AACjE,cAAM,EAAE,OAAO,QAAQ,IAAI;AAC3B,eAAO,WAAW,QAAQ,GAAG,KAAK,GAAG,SAAS,OAAO,SAAS,OAAO;AAAA,MACvE;AAAA,IACF;AACA,QAAM,mBAAmB,CAAC,OAAO,YAAY,SAAS,OAAO,SAAS,YAAY;AAChF,aAAO,MAAM,YAAY,SAAS,SAAS,QAAQ,OAAO,WAAW,QAAQ,SAAS,OAAO;AAAA,IAC/F;AACA,QAAM,uBAAuB,CAAC,OAAO,YAAY,SAAS,YAAY;AACpE,UAAI,QAAQ,OAAO,GAAGA,eAAa,YAAY,QAAQ,GAAG,KAAK,CAAC,GAAG;AACjE,cAAM,EAAE,OAAO,QAAQ,IAAI;AAC3B,eAAO,iBAAiB,QAAQ,GAAG,KAAK,GAAG,YAAY,SAAS,OAAO,SAAS,OAAO;AAAA,MACzF;AAAA,IACF;AACA,QAAM,oBAAoB,CAAC,YAAY;AACrC,YAAM,EAAE,MAAAC,OAAM,GAAG,IAAI;AACrB,iBAAW,SAAS,IAAI;AACtB,YAAI,UAAU,UAAU,UAAU,uBAAuB,UAAU,YAAY,UAAU,kBAAkB,UAAU,gBAAgB,UAAU,eAAe,UAAU,kBAAkB,UAAU,sBAAsB,UAAU,kBAAkB,UAAU,gBAAgB,UAAU;AACxR;AACF,cAAM,kBAAkB,QAAQ,GAAG,KAAK;AACxC,aAAK,GAAGD,eAAa,YAAY,eAAe,GAAG;AACjD,gBAAM,EAAE,OAAO,QAAQ,IAAI;AAC3B,UAAAC,MAAK,iBAAiB,OAAO,CAAC,UAAU,gBAAgB,OAAO,SAAS,OAAO,OAAO,CAAC;AAAA,QACzF;AAAA,MACF;AAAA,IACF;AAAA;AAAA;;;ACzDA,IAAAC,eAAA;AAAA,gEAAAC,SAAA;AAAA;AACA,QAAIC,aAAY,OAAO;AACvB,QAAIC,oBAAmB,OAAO;AAC9B,QAAIC,qBAAoB,OAAO;AAC/B,QAAIC,gBAAe,OAAO,UAAU;AACpC,QAAIC,YAAW,CAAC,QAAQ,QAAQ;AAC9B,eAAS,QAAQ;AACf,QAAAJ,WAAU,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,IAChE;AACA,QAAIK,eAAc,CAAC,IAAIC,OAAM,QAAQ,SAAS;AAC5C,UAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,iBAAS,OAAOJ,mBAAkBI,KAAI;AACpC,cAAI,CAACH,cAAa,KAAK,IAAI,GAAG,KAAK,QAAQ;AACzC,YAAAH,WAAU,IAAI,KAAK,EAAE,KAAK,MAAMM,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOL,kBAAiBK,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,MACvH;AACA,aAAO;AAAA,IACT;AACA,QAAIC,gBAAe,CAAC,QAAQF,aAAYL,WAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,QAAI,iBAAiB,CAAC;AACtB,IAAAI,UAAS,gBAAgB;AAAA,MACvB,iBAAiB,MAAM;AAAA,MACvB,QAAQ,MAAM;AAAA,IAChB,CAAC;AACD,IAAAL,QAAO,UAAUQ,cAAa,cAAc;AAC5C,QAAM,kBAAkB;AAAA,MACtB,IAAI;AAAA,QACF,oBAAoB;AAAA,UAClB,OAAO;AAAA,UACP,aAAa;AAAA,QACf;AAAA,QACA,oBAAoB;AAAA,UAClB,OAAO;AAAA,UACP,aAAa;AAAA,QACf;AAAA,QACA,mBAAmB;AAAA,UACjB,OAAO;AAAA,UACP,aAAa;AAAA,QACf;AAAA,QACA,gCAAgC;AAAA,UAC9B,OAAO;AAAA,UACP,aAAa;AAAA,QACf;AAAA,QACA,eAAe;AAAA,UACb,OAAO;AAAA,UACP,aAAa;AAAA,QACf;AAAA,QACA,uBAAuB;AAAA,UACrB,OAAO;AAAA,UACP,aAAa;AAAA,QACf;AAAA,QACA,gBAAgB;AAAA,UACd,OAAO;AAAA,UACP,aAAa;AAAA,QACf;AAAA,QACA,iBAAiB;AAAA,UACf,OAAO;AAAA,UACP,aAAa;AAAA,QACf;AAAA,QACA,iBAAiB;AAAA,UACf,OAAO;AAAA,UACP,aAAa;AAAA,QACf;AAAA,QACA,mBAAmB;AAAA,UACjB,OAAO;AAAA,UACP,aAAa;AAAA,QACf;AAAA,QACA,iBAAiB;AAAA,UACf,OAAO;AAAA,UACP,aAAa;AAAA,QACf;AAAA,QACA,4BAA4B;AAAA,UAC1B,OAAO;AAAA,UACP,aAAa;AAAA,QACf;AAAA,MACF;AAAA,IACF;AACA,QAAM,SAAS,CAAC,KAAK,KAAK,YAAY;AACpC,YAAM,cAAc;AACpB,UAAI;AACJ,UAAI,OAAO,OAAO,QAAQ;AACxB,iBAAS,gBAAgB,WAAW,EAAE,GAAG;AAC3C,aAAO,IAAI;AAAA,QACT,IAAI,UAAU;AAAA;AAAA;AAAA,QAGd,GAAG,OAAO;AAAA,QACV,UAAU;AAAA;AAAA,EAEZ,YAAY;AAAA,MACZ;AAAA,IACF;AAAA;AAAA;;;AC1FA;AAAA,6DAAAC,SAAA;AAAA;AACA,QAAIC,aAAY,OAAO;AACvB,QAAIC,oBAAmB,OAAO;AAC9B,QAAIC,qBAAoB,OAAO;AAC/B,QAAIC,gBAAe,OAAO,UAAU;AACpC,QAAIC,YAAW,CAAC,QAAQ,QAAQ;AAC9B,eAAS,QAAQ;AACf,QAAAJ,WAAU,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,IAChE;AACA,QAAIK,eAAc,CAAC,IAAIC,OAAM,QAAQ,SAAS;AAC5C,UAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,iBAAS,OAAOJ,mBAAkBI,KAAI;AACpC,cAAI,CAACH,cAAa,KAAK,IAAI,GAAG,KAAK,QAAQ;AACzC,YAAAH,WAAU,IAAI,KAAK,EAAE,KAAK,MAAMM,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOL,kBAAiBK,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,MACvH;AACA,aAAO;AAAA,IACT;AACA,QAAIC,gBAAe,CAAC,QAAQF,aAAYL,WAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,QAAI,cAAc,CAAC;AACnB,IAAAI,UAAS,aAAa;AAAA,MACpB,WAAW,MAAM;AAAA,IACnB,CAAC;AACD,IAAAL,QAAO,UAAUQ,cAAa,WAAW;AACzC,QAAI,gBAAgB;AACpB,QAAIC,iBAAe;AACnB,QAAM,YAAY,CAAC,YAAY;AAC7B,YAAM,MAAM,QAAQ,OAAO;AAC3B,cAAQ,GAAGA,eAAa,gBAAgB,GAAG,MAAM,GAAG,cAAc,QAAQ,gBAAgB;AAAA,IAC5F;AAAA;AAAA;;;AC5BA,IAAAC,eAAA;AAAA,+DAAAC,SAAA;AAAA;AACA,QAAIC,aAAY,OAAO;AACvB,QAAIC,oBAAmB,OAAO;AAC9B,QAAIC,qBAAoB,OAAO;AAC/B,QAAIC,gBAAe,OAAO,UAAU;AACpC,QAAIC,eAAc,CAAC,IAAIC,OAAM,QAAQ,SAAS;AAC5C,UAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,iBAAS,OAAOH,mBAAkBG,KAAI;AACpC,cAAI,CAACF,cAAa,KAAK,IAAI,GAAG,KAAK,QAAQ;AACzC,YAAAH,WAAU,IAAI,KAAK,EAAE,KAAK,MAAMK,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOJ,kBAAiBI,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,MACvH;AACA,aAAO;AAAA,IACT;AACA,QAAI,aAAa,CAAC,QAAQ,KAAK,kBAAkBD,aAAY,QAAQ,KAAK,SAAS,GAAG,gBAAgBA,aAAY,cAAc,KAAK,SAAS;AAC9I,QAAIE,gBAAe,CAAC,QAAQF,aAAYJ,WAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,QAAI,gBAAgB,CAAC;AACrB,IAAAD,QAAO,UAAUO,cAAa,aAAa;AAC3C,eAAW,eAAe,cAAiBP,QAAO,OAAO;AACzD,eAAW,eAAe,eAAkBA,QAAO,OAAO;AAAA;AAAA;;;AClB1D;AAAA,iEAAAQ,SAAA;AAAA;AACA,QAAIC,aAAY,OAAO;AACvB,QAAIC,oBAAmB,OAAO;AAC9B,QAAIC,qBAAoB,OAAO;AAC/B,QAAIC,gBAAe,OAAO,UAAU;AACpC,QAAIC,YAAW,CAAC,QAAQ,QAAQ;AAC9B,eAAS,QAAQ;AACf,QAAAJ,WAAU,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,IAChE;AACA,QAAIK,eAAc,CAAC,IAAIC,OAAM,QAAQ,SAAS;AAC5C,UAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,iBAAS,OAAOJ,mBAAkBI,KAAI;AACpC,cAAI,CAACH,cAAa,KAAK,IAAI,GAAG,KAAK,QAAQ;AACzC,YAAAH,WAAU,IAAI,KAAK,EAAE,KAAK,MAAMM,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOL,kBAAiBK,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,MACvH;AACA,aAAO;AAAA,IACT;AACA,QAAIC,gBAAe,CAAC,QAAQF,aAAYL,WAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,QAAI,kBAAkB,CAAC;AACvB,IAAAI,UAAS,iBAAiB;AAAA,MACxB,KAAK,MAAM;AAAA,MACX,OAAO,MAAM;AAAA,MACb,OAAO,MAAM;AAAA,MACb,SAAS,MAAM;AAAA,MACf,cAAc,MAAM;AAAA,MACpB,OAAO,MAAMI;AAAA,MACb,QAAQ,MAAM;AAAA,MACd,YAAY,MAAM;AAAA,MAClB,KAAK,MAAMC;AAAA,MACX,QAAQ,MAAM;AAAA,IAChB,CAAC;AACD,IAAAV,QAAO,UAAUQ,cAAa,eAAe;AAC7C,QAAIG,iBAAe;AACnB,QAAI,gBAAgB;AACpB,QAAMF,SAAQ,WAAW;AACvB,YAAM,QAAQ;AACd,WAAK,GAAGE,eAAa,UAAU,KAAK,GAAG;AACrC,cAAM,MAAM,CAAC;AACb,mBAAW,SAAS,OAAO;AACzB,cAAI,CAAC,cAAc,oBAAoB,SAAS,KAAK,GAAG;AACtD,gBAAI,KAAK,IAAI,MAAM,KAAK;AAAA,UAC1B;AAAA,QACF;AACA,eAAO;AAAA,MACT,YAAY,GAAGA,eAAa,SAAS,KAAK,GAAG;AAC3C,eAAO,MAAM,OAAO,CAAC,SAAS,CAAC,cAAc,oBAAoB,SAAS,IAAI,CAAC;AAAA,MACjF;AAAA,IACF;AACA,QAAM,QAAQ,SAAS,UAAU,CAAC,GAAG;AACnC,YAAM,QAAQ;AACd,iBAAW,SAAS,OAAO;AACzB,YAAI,CAAC,cAAc,oBAAoB,SAAS,KAAK,GAAG;AACtD,iBAAO,MAAM,KAAK;AAAA,QACpB;AAAA,MACF;AACA,UAAI,CAAC,QAAQ,oBAAoB;AAC/B,cAAM,OAAO,OAAO,EAAE,SAAS,MAAM,QAAQ,CAAC;AAAA,MAChD;AACA,aAAO;AAAA,IACT;AACA,QAAM,UAAU,SAAS,UAAU,CAAC,GAAG;AACrC,YAAM,QAAQ;AACd,YAAM,UAAU,MAAM;AACtB,YAAM,WAAW,QAAQ,MAAM;AAC/B,WAAK,GAAGA,eAAa,UAAU,QAAQ,GAAG;AACxC,gBAAQ,OAAO,MAAM,OAAO,UAAU,EAAE,WAAW,MAAM,GAAG,QAAQ,CAAC;AACrE,eAAO,QAAQ;AAAA,MACjB;AACA,aAAO,QAAQ;AACf,cAAQ,QAAQ,MAAM;AACtB,UAAI,MAAM,QAAQ;AAChB,eAAO,MAAM,OAAO,WAAW,QAAQ,GAAG;AAAA,MAC5C;AACA,UAAI,MAAM,YAAY;AACpB,mBAAW,OAAO,MAAM,YAAY;AAClC,gBAAM,QAAQ,MAAM,WAAW,GAAG;AAClC,cAAI,MAAM,OAAO;AACf,kBAAM,SAAS,MAAM;AAAA,UACvB;AAAA,QACF;AAAA,MACF;AACA,cAAQ,MAAM,OAAO,CAAC,GAAG,EAAE,WAAW,MAAM,GAAG,QAAQ,CAAC;AACxD,aAAO,QAAQ;AAAA,IACjB;AACA,QAAM,eAAe,SAAS,KAAK,UAAU,CAAC,GAAG;AAC/C,YAAM,QAAQ;AACd,UAAI,CAAC,SAAS,CAAC,MAAM;AACnB;AACF,aAAO,MAAM,OAAO,OAAO,KAAK,EAAE,WAAW,MAAM,GAAG,QAAQ,CAAC;AAAA,IACjE;AACA,QAAM,aAAa,SAAS,KAAK,UAAU,CAAC,GAAG;AAC7C,YAAM,QAAQ;AACd,UAAI,CAAC;AACH;AACF,YAAM,YAAY,MAAM,UAAU,MAAM,OAAO;AAC/C,aAAO,UAAU,OAAO,KAAK,EAAE,WAAW,OAAO,QAAQ,CAAC;AAAA,IAC5D;AACA,QAAM,MAAM,SAAS,OAAO,UAAU,CAAC,GAAG;AACxC,YAAM,QAAQ;AACd,WAAK,GAAGA,eAAa,SAAS,KAAK,GAAG;AACpC,cAAM,KAAK,KAAK;AAChB,cAAM,OAAO,MAAM,MAAM,GAAG,EAAE,WAAW,WAAW,GAAG,QAAQ,CAAC;AAAA,MAClE,YAAY,GAAGA,eAAa,UAAU,KAAK,GAAG;AAC5C,cAAM,MAAM,OAAO,KAAK,KAAK,EAAE;AAC/B,cAAM,OAAO,EAAE,CAAC,GAAG,GAAG,MAAM,GAAG,OAAO;AAAA,MACxC;AAAA,IACF;AACA,QAAM,SAAS,SAAS,KAAK,UAAU,CAAC,GAAG;AACzC,YAAM,QAAQ;AACd,YAAM,OAAO,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,EAAE,GAAG,OAAO;AAAA,IAC9C;AACA,QAAM,SAAS,SAAS,KAAK,UAAU,CAAC,GAAG;AACzC,YAAM,QAAQ;AACd,WAAK,GAAGA,eAAa,SAAS,KAAK;AACjC,SAAC,GAAGA,eAAa,iBAAiB,OAAO,GAAG;AAC9C,WAAK,GAAGA,eAAa,UAAU,KAAK;AAClC,SAAC,GAAGA,eAAa,kBAAkB,OAAO,GAAG;AAC/C,aAAO,MAAM,OAAO,MAAM,MAAM,GAAG,EAAE,SAAS,MAAM,GAAG,QAAQ,CAAC;AAAA,IAClE;AACA,QAAMD,OAAM,SAAS,OAAO,UAAU,CAAC,GAAG;AACxC,YAAM,QAAQ;AACd,aAAO,MAAM,MAAM,EAAE,oBAAoB,KAAK,CAAC,EAAE,OAAO,OAAO,EAAE,SAAS,MAAM,GAAG,QAAQ,CAAC;AAAA,IAC9F;AACA,QAAM,QAAQ,SAAS,MAAM,UAAU,CAAC,GAAG;AACzC,YAAM,QAAQ;AACd,WAAK,GAAGC,eAAa,YAAY,IAAI,GAAG;AACtC,aAAK,KAAK;AACV,eAAO,MAAM,OAAO,OAAO,EAAE,SAAS,MAAM,GAAG,QAAQ,CAAC;AAAA,MAC1D;AAAA,IACF;AAAA;AAAA;;;ACjIA;AAAA,iEAAAC,SAAA;AAAA;AACA,QAAIC,aAAY,OAAO;AACvB,QAAIC,oBAAmB,OAAO;AAC9B,QAAIC,qBAAoB,OAAO;AAC/B,QAAIC,gBAAe,OAAO,UAAU;AACpC,QAAIC,YAAW,CAAC,QAAQ,QAAQ;AAC9B,eAAS,QAAQ;AACf,QAAAJ,WAAU,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,IAChE;AACA,QAAIK,eAAc,CAAC,IAAIC,OAAM,QAAQ,SAAS;AAC5C,UAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,iBAAS,OAAOJ,mBAAkBI,KAAI;AACpC,cAAI,CAACH,cAAa,KAAK,IAAI,GAAG,KAAK,QAAQ;AACzC,YAAAH,WAAU,IAAI,KAAK,EAAE,KAAK,MAAMM,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOL,kBAAiBK,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,MACvH;AACA,aAAO;AAAA,IACT;AACA,QAAIC,gBAAe,CAAC,QAAQF,aAAYL,WAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,QAAI,kBAAkB,CAAC;AACvB,IAAAI,UAAS,iBAAiB;AAAA,MACxB,iBAAiB,MAAM;AAAA,MACvB,oBAAoB,MAAM;AAAA,MAC1B,sBAAsB,MAAM;AAAA,MAC5B,oBAAoB,MAAM;AAAA,MAC1B,oBAAoB,MAAM;AAAA,MAC1B,qBAAqB,MAAM;AAAA,MAC3B,SAAS,MAAMI;AAAA,IACjB,CAAC;AACD,IAAAT,QAAO,UAAUQ,cAAa,eAAe;AAC7C,QAAIE,iBAAe;AACnB,QAAI,gBAAgB;AACpB,QAAM,sBAAsB,CAAC,UAAU,gBAAgB;AACrD,UAAI,CAAC,SAAS,SAAS,KAAK;AAC1B;AACF,YAAM,MAAM,SAAS,MAAM,KAAK;AAChC,YAAM,YAAY,IAAI,SAAS;AAC/B,eAAS,IAAI,GAAG,IAAI,WAAW,KAAK;AAClC,YAAI,CAAC,YAAY;AACf,iBAAO;AACT,sBAAc,YAAY;AAAA,MAC5B;AACA,aAAO;AAAA,IACT;AACA,QAAM,qBAAqB,CAAC,UAAU,aAAa,YAAY;AAC7D,YAAM,MAAM,SAAS,MAAM,GAAG;AAC9B,YAAM,YAAY,IAAI,SAAS;AAC/B,eAAS,IAAI,GAAG,IAAI,WAAW,KAAK;AAClC,cAAM,WAAW,IAAI,CAAC;AACtB,cAAM,gBAAgB,IAAI,IAAI,CAAC;AAC/B,cAAM,gBAAgB,YAAY,QAAQ;AAC1C,YAAI,iBAAiB,cAAc,aAAa,GAAG;AACjD,qBAAW;AACX,wBAAc;AAAA,QAChB;AACE;AAAA,MACJ;AACA,UAAI,QAAQ;AACV,eAAO;AACT,aAAO,YAAY,QAAQ;AAAA,IAC7B;AACA,QAAM,qBAAqB,CAAC,SAAS,QAAQ,UAAU,CAAC,MAAM;AAC5D,YAAM,MAAM,QAAQ;AACpB,UAAI,WAAW,IAAI;AACnB,UAAI,CAAC,gBAAgB,OAAO;AAC1B;AACF,UAAI,cAAc,OAAO;AACzB,YAAM,uBAAuB,oBAAoB,UAAU,OAAO,KAAK;AACvE,UAAI,sBAAsB;AACxB,sBAAc;AACd,mBAAW,SAAS,WAAW,OAAO,EAAE;AAAA,MAC1C;AACA,UAAI,CAAC;AACH;AACF,aAAO,mBAAmB,UAAU,aAAa,OAAO;AAAA,IAC1D;AACA,QAAM,uBAAuB,CAAC,SAAS,WAAW;AAChD,YAAM,MAAM,QAAQ;AACpB,YAAM,iBAAiB,mBAAmB,SAAS,MAAM;AACzD,UAAI,CAAC;AACH,eAAO,QAAQ;AACjB,WAAK,GAAGA,eAAa,IAAI,cAAc,EAAE,UAAU,OAAO,GAAG;AAC3D,gBAAQ,GAAGA,eAAa,WAAW,gBAAgB,cAAc,mBAAmB;AAAA,MACtF,YAAY,GAAGA,eAAa,IAAI,cAAc,EAAE,UAAU,QAAQ,GAAG;AACnE,YAAI,cAAc;AAClB,eAAO,EAAE,OAAO,eAAe;AAAA,MACjC;AACA,cAAQ,KAAK,IAAI,SAAS,kCAAkC,CAAC,CAAC;AAAA,IAChE;AACA,QAAM,kBAAkB,CAAC,YAAY;AACnC,YAAM,MAAM,QAAQ;AACpB,YAAM,WAAW,IAAI;AACrB,UAAI,CAAC,aAAa,GAAGA,eAAa,OAAO,QAAQ,EAAE,UAAU,QAAQ;AACnE,eAAO;AACT,aAAO;AAAA,IACT;AACA,QAAMD,WAAU,SAAS,OAAO;AAC9B,UAAI,EAAE,GAAGC,eAAa,cAAc,KAAK;AACvC,eAAO;AACT,YAAM,OAAO,OAAO,KAAK,KAAK;AAC9B,cAAQ,GAAGA,eAAa,yBAAyB,MAAM,CAAC,UAAU,SAAS,SAAS,UAAU,UAAU,YAAY,CAAC;AAAA,IACvH;AACA,QAAM,qBAAqB,CAAC,MAAM,UAAU;AAC1C,UAAI,CAAC,MAAM;AACT,eAAO,SAAS,CAAC;AAAA,MACnB;AACA,YAAM,OAAO,KAAK,MAAM,GAAG;AAC3B,YAAM,MAAM,CAAC;AACb,UAAI,MAAM;AACV,WAAK,QAAQ,CAAC,KAAK,UAAU;AAC3B,YAAI,GAAG,IAAI,UAAU,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC;AACtD,cAAM,IAAI,GAAG;AAAA,MACf,CAAC;AACD,aAAO;AAAA,IACT;AAAA;AAAA;;;ACjHA;AAAA,qEAAAC,SAAA;AAAA;AACA,QAAIC,aAAY,OAAO;AACvB,QAAIC,oBAAmB,OAAO;AAC9B,QAAIC,qBAAoB,OAAO;AAC/B,QAAIC,gBAAe,OAAO,UAAU;AACpC,QAAIC,YAAW,CAAC,QAAQ,QAAQ;AAC9B,eAAS,QAAQ;AACf,QAAAJ,WAAU,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,IAChE;AACA,QAAIK,eAAc,CAAC,IAAIC,OAAM,QAAQ,SAAS;AAC5C,UAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,iBAAS,OAAOJ,mBAAkBI,KAAI;AACpC,cAAI,CAACH,cAAa,KAAK,IAAI,GAAG,KAAK,QAAQ;AACzC,YAAAH,WAAU,IAAI,KAAK,EAAE,KAAK,MAAMM,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOL,kBAAiBK,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,MACvH;AACA,aAAO;AAAA,IACT;AACA,QAAIC,gBAAe,CAAC,QAAQF,aAAYL,WAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,QAAI,sBAAsB,CAAC;AAC3B,IAAAI,UAAS,qBAAqB;AAAA,MAC5B,aAAa,MAAM;AAAA,IACrB,CAAC;AACD,IAAAL,QAAO,UAAUQ,cAAa,mBAAmB;AACjD,QAAI,gBAAgB;AACpB,QAAI,eAAe;AACnB,QAAI,gBAAgB;AACpB,QAAIC,iBAAe;AACnB,QAAI,iBAAiB;AACrB,QAAM,uBAAuB;AAAA,MAC3B,WAAW;AAAA,MACX,2BAA2B;AAAA,MAC3B,eAAe;AAAA,MACf,mBAAmB;AAAA,MACnB,WAAW;AAAA,MACX,wBAAwB;AAAA,IAC1B;AACA,QAAM,cAAc,SAAS,KAAK,UAAU,sBAAsB;AAChE,YAAM,QAAQ;AACd,YAAM,UAAU,MAAM;AACtB,UAAI,CAAC,QAAQ;AACX,SAAC,GAAGA,eAAa,OAAO,SAAS,oBAAoB;AACvD,UAAI,CAAC,MAAM;AACT,SAAC,GAAG,cAAc,QAAQ,4BAA4B;AACxD,UAAI,QAAQ,iCAAiC,MAAM;AACjD,gBAAQ,+BAA+B;AAAA,MACzC,WAAW,QAAQ;AACjB;AACF,UAAI,CAAC,QAAQ,gCAAgC;AAC3C,cAAM,0BAA0B,GAAG,aAAa,sBAAsB,oBAAoB,KAAK,SAAS,OAAO;AAC/G,YAAI,2BAA2B;AAC7B,iBAAO;AAAA,MACX;AACA,qBAAe,OAAO,KAAK,OAAO;AAClC,YAAM,kBAAkB,iBAAiB,OAAO,KAAK,OAAO;AAC5D,UAAI;AACF,eAAO;AACT,2BAAqB,OAAO,KAAK,OAAO;AACxC,yBAAmB,OAAO,KAAK,OAAO;AACtC,UAAI,CAAC,QAAQ,4BAA4B;AACvC,SAAC,GAAG,aAAa,sBAAsB,gBAAgB,KAAK,SAAS,OAAO;AAAA,MAC9E;AACA,aAAO;AAAA,IACT;AACA,QAAM,iBAAiB,CAAC,OAAO,KAAK,YAAY;AAC9C,YAAM,EAAE,UAAU,IAAI;AACtB,UAAI,CAAC;AACH;AACF,YAAM,UAAU,cAAc;AAC9B,YAAMC,UAAS,cAAc;AAC7B,UAAIA,SAAQ;AACV,SAAC,GAAGD,eAAa,WAAW,OAAO,KAAK,cAAc,mBAAmB;AACzE;AAAA,MACF;AACA,YAAM,gBAAgB,UAAUA,eAAa,mBAAmBA,eAAa;AAC7E,oBAAc,OAAO,KAAK,cAAc,mBAAmB;AAAA,IAC7D;AACA,QAAM,mBAAmB,CAAC,OAAO,KAAK,YAAY;AAChD,YAAM,UAAU,MAAM;AACtB,YAAM,EAAE,QAAQ,OAAO,IAAI,IAAI;AAC/B,YAAM,WAAW,IAAI;AACrB,UAAI,CAAC;AACH;AACF,YAAM,kBAAkB,GAAG,eAAe,iBAAiB,OAAO;AAClE,YAAM,kBAAkB,GAAG,eAAe,oBAAoB,SAAS,QAAQ,EAAE,cAAc,KAAK,CAAC;AACrG,YAAM,uBAAuB,kBAAkB,kBAAkB,CAAC,QAAQ;AAC1E,UAAI,CAAC;AACH;AACF,YAAM,gBAAgB,IAAI,gBAAgB;AAC1C,YAAM,QAAQ,gBAAgB,MAAM,QAAQ,MAAM,MAAM;AACxD,YAAM,cAAc,gBAAgB,MAAM,QAAQ;AAClD,YAAM,wBAAwB,GAAG,eAAe,qBAAqB,UAAU,OAAO,KAAK;AAC3F,YAAM,gBAAgB,GAAG,eAAe,oBAAoB,UAAU,WAAW;AACjF,YAAM,eAAe,wBAAwB,OAAO;AACpD,UAAI,QAAQ;AACV,qBAAa,QAAQ,IAAI;AAC3B,mBAAa,OAAO,cAAc;AAAA,QAChC,mBAAmB;AAAA,QACnB,wBAAwB;AAAA,QACxB,WAAW;AAAA,QACX,GAAG;AAAA,QACH,eAAe,QAAQ;AAAA,QACvB,WAAW,CAAC,QAAQ;AAAA,MACtB,CAAC;AACD,YAAM,gBAAgB,CAAC,QAAQ,iBAAiB,CAAC,QAAQ;AACzD,UAAI,CAAC,QAAQ,8BAA8B,eAAe;AACxD,SAAC,GAAG,aAAa,sBAAsB,gBAAgB,KAAK,SAAS,OAAO;AAAA,MAC9E;AACA,aAAO;AAAA,IACT;AACA,QAAM,uBAAuB,CAAC,OAAO,KAAK,YAAY;AACpD,UAAI,CAAC,MAAM;AACT;AACF,iBAAW,MAAM,MAAM,WAAW;AAChC,cAAM,iBAAiB,MAAM,UAAU,EAAE;AACzC,uBAAe,MAAM,EAAE,OAAO,MAAM,MAAM,GAAG,OAAO;AAAA,MACtD;AAAA,IACF;AACA,QAAM,qBAAqB,CAAC,OAAO,KAAK,YAAY;AAClD,YAAM,UAAU,MAAM;AACtB,UAAI,CAAC,QAAQ,eAAe;AAC1B,gBAAQ,OAAO,CAAC,GAAG;AAAA,UACjB,GAAG;AAAA,UACH,eAAe;AAAA,QACjB,CAAC;AAAA,MACH,WAAW,QAAQ,kBAAkB,aAAa;AAChD,gBAAQ,OAAO,CAAC,GAAG;AAAA,UACjB,GAAG;AAAA,UACH,WAAW;AAAA,UACX,eAAe;AAAA,UACf,eAAe;AAAA,QACjB,CAAC;AAAA,MACH;AAAA,IACF;AAAA;AAAA;;;ACpIA;AAAA,qEAAAE,SAAA;AAAA;AACA,QAAIC,aAAY,OAAO;AACvB,QAAIC,oBAAmB,OAAO;AAC9B,QAAIC,qBAAoB,OAAO;AAC/B,QAAIC,gBAAe,OAAO,UAAU;AACpC,QAAIC,YAAW,CAAC,QAAQ,QAAQ;AAC9B,eAAS,QAAQ;AACf,QAAAJ,WAAU,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,IAChE;AACA,QAAIK,eAAc,CAAC,IAAIC,OAAM,QAAQ,SAAS;AAC5C,UAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,iBAAS,OAAOJ,mBAAkBI,KAAI;AACpC,cAAI,CAACH,cAAa,KAAK,IAAI,GAAG,KAAK,QAAQ;AACzC,YAAAH,WAAU,IAAI,KAAK,EAAE,KAAK,MAAMM,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOL,kBAAiBK,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,MACvH;AACA,aAAO;AAAA,IACT;AACA,QAAIC,gBAAe,CAAC,QAAQF,aAAYL,WAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,QAAI,sBAAsB,CAAC;AAC3B,IAAAI,UAAS,qBAAqB;AAAA,MAC5B,aAAa,MAAM;AAAA,IACrB,CAAC;AACD,IAAAL,QAAO,UAAUQ,cAAa,mBAAmB;AACjD,QAAI,eAAe;AACnB,QAAIC,iBAAe;AACnB,QAAI,gBAAgB;AACpB,QAAI,iBAAiB;AACrB,QAAI,qBAAqB;AACzB,QAAI,iBAAiB;AACrB,QAAM,cAAc,SAAS,SAAS,QAAQ,SAAS;AACrD,YAAM,OAAO,WAAW,QAAQ,OAAO,QAAQ,OAAO;AACtD,YAAM,iBAAiB,cAAc,OAAO;AAC5C,UAAI,mBAAmB;AACrB,eAAO,OAAO,SAAS,CAAC;AAAA;AAExB,gBAAQ,SAAS,GAAGA,eAAa,WAAW,gBAAgB,cAAc,mBAAmB;AAC/F,YAAM,mBAAmB,GAAG,aAAa,gBAAgB,aAAa,SAAS,OAAO;AACtF,UAAI,oBAAoB;AACtB,eAAO,QAAQ;AACjB,WAAK,GAAG,eAAe,iBAAiB,OAAO,GAAG;AAChD,cAAM,kBAAkB,GAAG,eAAe,sBAAsB,SAAS,MAAM;AAC/E,gBAAQ,QAAQ,kBAAkB,CAAC;AAAA,MACrC;AACA,YAAM,iBAAiB,oBAAoB,SAAS,QAAQ,KAAK;AACjE,UAAI;AACF,gBAAQ,QAAQ;AAClB,UAAI;AACF,eAAO,QAAQ;AACjB,mBAAa,OAAO;AACpB,OAAC,GAAG,aAAa,gBAAgB,gBAAgB,OAAO;AACxD,aAAO,QAAQ;AAAA,IACjB;AACA,QAAM,sBAAsB,CAAC,SAAS,UAAU;AAC9C,YAAM,EAAE,OAAO,IAAI,IAAI;AACvB,UAAI,CAAC;AACH;AACF,YAAM,kBAAkB,GAAGA,eAAa,WAAW,KAAK,cAAc,mBAAmB;AACzF,YAAM,aAAa,EAAE,CAAC,QAAQ,GAAG,GAAG,eAAe;AACnD,UAAI,aAAa,GAAGA,eAAa,UAAU,IAAI,SAAS,IAAI,EAAE,GAAG,IAAI,WAAW,GAAG,WAAW,IAAI;AAClG,aAAO;AAAA,IACT;AACA,QAAM,gBAAgB,CAAC,YAAY;AACjC,YAAM,EAAE,OAAO,OAAO,IAAI,IAAI;AAC9B,WAAK,GAAGA,eAAa,YAAY,KAAK,GAAG;AACvC,YAAI,UAAU;AACd,gBAAQ,GAAGA,eAAa,MAAM,OAAO,OAAO;AAAA,MAC9C;AACA,WAAK,GAAGA,eAAa,IAAI,KAAK,EAAE,UAAU,QAAQ,GAAG;AACnD,YAAI,UAAU;AACd,eAAO,CAAC;AAAA,MACV;AACA,UAAI,UAAU,MAAM;AAClB,YAAI,UAAU,QAAQ;AACtB,eAAO,CAAC;AAAA,MACV;AACA,UAAI,OAAO;AACT,YAAI,iBAAiB;AACrB,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT;AACA,QAAM,eAAe,CAAC,YAAY;AAChC,YAAM,QAAQ,QAAQ;AACtB,YAAM,MAAM,QAAQ;AACpB,YAAM,QAAQ,eAAe;AAC7B,YAAM,QAAQ,eAAe;AAC7B,YAAM,UAAU,eAAe;AAC/B,YAAM,SAAS,mBAAmB;AAClC,YAAM,aAAa,eAAe;AAClC,YAAM,eAAe,eAAe;AACpC,YAAM,SAAS;AACf,YAAM,MAAM,eAAe;AAC3B,YAAM,SAAS,eAAe;AAC9B,YAAM,SAAS,eAAe;AAC9B,YAAM,QAAQ,eAAe;AAC7B,YAAM,SAAS,QAAQ,OAAO;AAC9B,YAAM,MAAM,eAAe;AAC3B,YAAM,YAAY;AAClB,YAAM,aAAa,CAAC;AACpB,YAAM,SAAS,IAAI,SAAS,IAAI,OAAO,QAAQ;AAC/C,UAAI,MAAM;AACR,cAAM,OAAO,WAAW,QAAQ,GAAG,IAAI;AAAA,IAC3C;AAAA;AAAA;;;ACtGA,IAAAC,eAAA;AAAA,+DAAAC,SAAA;AAAA;AACA,QAAIC,aAAY,OAAO;AACvB,QAAIC,oBAAmB,OAAO;AAC9B,QAAIC,qBAAoB,OAAO;AAC/B,QAAIC,gBAAe,OAAO,UAAU;AACpC,QAAIC,eAAc,CAAC,IAAIC,OAAM,QAAQ,SAAS;AAC5C,UAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,iBAAS,OAAOH,mBAAkBG,KAAI;AACpC,cAAI,CAACF,cAAa,KAAK,IAAI,GAAG,KAAK,QAAQ;AACzC,YAAAH,WAAU,IAAI,KAAK,EAAE,KAAK,MAAMK,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOJ,kBAAiBI,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,MACvH;AACA,aAAO;AAAA,IACT;AACA,QAAI,aAAa,CAAC,QAAQ,KAAK,kBAAkBD,aAAY,QAAQ,KAAK,SAAS,GAAG,gBAAgBA,aAAY,cAAc,KAAK,SAAS;AAC9I,QAAIE,gBAAe,CAAC,QAAQF,aAAYJ,WAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,QAAI,gBAAgB,CAAC;AACrB,IAAAD,QAAO,UAAUO,cAAa,aAAa;AAC3C,eAAW,eAAe,kBAAqBP,QAAO,OAAO;AAC7D,eAAW,eAAe,uBAA0BA,QAAO,OAAO;AAClE,eAAW,eAAe,uBAA0BA,QAAO,OAAO;AAClE,eAAW,eAAe,mBAAsBA,QAAO,OAAO;AAC9D,eAAW,eAAe,mBAAsBA,QAAO,OAAO;AAAA;AAAA;;;ACrB9D;AAAA,iDAAAQ,SAAA;AAMC,KAAC,SAAU,QAAQ,SAAS;AACzB,aAAO,YAAY,YAAY,OAAOA,YAAW,cAAcA,QAAO,UAAU,QAAQ,IACxF,OAAO,WAAW,cAAc,OAAO,MAAM,OAAO,OAAO,IAC3D,OAAO,SAAS,QAAQ;AAAA,IAC5B,GAAE,SAAO,WAAY;AAAE;AAEnB,UAAI;AAEJ,eAAS,QAAQ;AACb,eAAO,aAAa,MAAM,MAAM,SAAS;AAAA,MAC7C;AAIA,eAAS,gBAAgB,UAAU;AAC/B,uBAAe;AAAA,MACnB;AAEA,eAASC,SAAQ,OAAO;AACpB,eACI,iBAAiB,SACjB,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM;AAAA,MAElD;AAEA,eAASC,UAAS,OAAO;AAGrB,eACI,SAAS,QACT,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM;AAAA,MAElD;AAEA,eAAS,WAAW,GAAG,GAAG;AACtB,eAAO,OAAO,UAAU,eAAe,KAAK,GAAG,CAAC;AAAA,MACpD;AAEA,eAAS,cAAc,KAAK;AACxB,YAAI,OAAO,qBAAqB;AAC5B,iBAAO,OAAO,oBAAoB,GAAG,EAAE,WAAW;AAAA,QACtD,OAAO;AACH,cAAI;AACJ,eAAK,KAAK,KAAK;AACX,gBAAI,WAAW,KAAK,CAAC,GAAG;AACpB,qBAAO;AAAA,YACX;AAAA,UACJ;AACA,iBAAO;AAAA,QACX;AAAA,MACJ;AAEA,eAAS,YAAY,OAAO;AACxB,eAAO,UAAU;AAAA,MACrB;AAEA,eAAS,SAAS,OAAO;AACrB,eACI,OAAO,UAAU,YACjB,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM;AAAA,MAElD;AAEA,eAAS,OAAO,OAAO;AACnB,eACI,iBAAiB,QACjB,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM;AAAA,MAElD;AAEA,eAAS,IAAI,KAAK,IAAI;AAClB,YAAI,MAAM,CAAC,GACP,GACA,SAAS,IAAI;AACjB,aAAK,IAAI,GAAG,IAAI,QAAQ,EAAE,GAAG;AACzB,cAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;AAAA,QAC1B;AACA,eAAO;AAAA,MACX;AAEA,eAAS,OAAO,GAAG,GAAG;AAClB,iBAAS,KAAK,GAAG;AACb,cAAI,WAAW,GAAG,CAAC,GAAG;AAClB,cAAE,CAAC,IAAI,EAAE,CAAC;AAAA,UACd;AAAA,QACJ;AAEA,YAAI,WAAW,GAAG,UAAU,GAAG;AAC3B,YAAE,WAAW,EAAE;AAAA,QACnB;AAEA,YAAI,WAAW,GAAG,SAAS,GAAG;AAC1B,YAAE,UAAU,EAAE;AAAA,QAClB;AAEA,eAAO;AAAA,MACX;AAEA,eAAS,UAAU,OAAOC,SAAQC,SAAQ,QAAQ;AAC9C,eAAO,iBAAiB,OAAOD,SAAQC,SAAQ,QAAQ,IAAI,EAAE,IAAI;AAAA,MACrE;AAEA,eAAS,sBAAsB;AAE3B,eAAO;AAAA,UACH,OAAO;AAAA,UACP,cAAc,CAAC;AAAA,UACf,aAAa,CAAC;AAAA,UACd,UAAU;AAAA,UACV,eAAe;AAAA,UACf,WAAW;AAAA,UACX,YAAY;AAAA,UACZ,cAAc;AAAA,UACd,eAAe;AAAA,UACf,iBAAiB;AAAA,UACjB,KAAK;AAAA,UACL,iBAAiB,CAAC;AAAA,UAClB,KAAK;AAAA,UACL,UAAU;AAAA,UACV,SAAS;AAAA,UACT,iBAAiB;AAAA,QACrB;AAAA,MACJ;AAEA,eAAS,gBAAgB,GAAG;AACxB,YAAI,EAAE,OAAO,MAAM;AACf,YAAE,MAAM,oBAAoB;AAAA,QAChC;AACA,eAAO,EAAE;AAAA,MACb;AAEA,UAAI;AACJ,UAAI,MAAM,UAAU,MAAM;AACtB,eAAO,MAAM,UAAU;AAAA,MAC3B,OAAO;AACH,eAAO,SAAU,KAAK;AAClB,cAAI,IAAI,OAAO,IAAI,GACf,MAAM,EAAE,WAAW,GACnB;AAEJ,eAAK,IAAI,GAAG,IAAI,KAAK,KAAK;AACtB,gBAAI,KAAK,KAAK,IAAI,KAAK,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG;AACtC,qBAAO;AAAA,YACX;AAAA,UACJ;AAEA,iBAAO;AAAA,QACX;AAAA,MACJ;AAEA,eAAS,QAAQ,GAAG;AAChB,YAAI,EAAE,YAAY,MAAM;AACpB,cAAI,QAAQ,gBAAgB,CAAC,GACzB,cAAc,KAAK,KAAK,MAAM,iBAAiB,SAAU,GAAG;AACxD,mBAAO,KAAK;AAAA,UAChB,CAAC,GACD,aACI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,KACrB,MAAM,WAAW,KACjB,CAAC,MAAM,SACP,CAAC,MAAM,cACP,CAAC,MAAM,gBACP,CAAC,MAAM,kBACP,CAAC,MAAM,mBACP,CAAC,MAAM,aACP,CAAC,MAAM,iBACP,CAAC,MAAM,oBACN,CAAC,MAAM,YAAa,MAAM,YAAY;AAE/C,cAAI,EAAE,SAAS;AACX,yBACI,cACA,MAAM,kBAAkB,KACxB,MAAM,aAAa,WAAW,KAC9B,MAAM,YAAY;AAAA,UAC1B;AAEA,cAAI,OAAO,YAAY,QAAQ,CAAC,OAAO,SAAS,CAAC,GAAG;AAChD,cAAE,WAAW;AAAA,UACjB,OAAO;AACH,mBAAO;AAAA,UACX;AAAA,QACJ;AACA,eAAO,EAAE;AAAA,MACb;AAEA,eAAS,cAAc,OAAO;AAC1B,YAAI,IAAI,UAAU,GAAG;AACrB,YAAI,SAAS,MAAM;AACf,iBAAO,gBAAgB,CAAC,GAAG,KAAK;AAAA,QACpC,OAAO;AACH,0BAAgB,CAAC,EAAE,kBAAkB;AAAA,QACzC;AAEA,eAAO;AAAA,MACX;AAIA,UAAI,mBAAoB,MAAM,mBAAmB,CAAC,GAC9C,mBAAmB;AAEvB,eAAS,WAAWC,KAAIC,OAAM;AAC1B,YAAI,GACA,MACA,KACA,sBAAsB,iBAAiB;AAE3C,YAAI,CAAC,YAAYA,MAAK,gBAAgB,GAAG;AACrC,UAAAD,IAAG,mBAAmBC,MAAK;AAAA,QAC/B;AACA,YAAI,CAAC,YAAYA,MAAK,EAAE,GAAG;AACvB,UAAAD,IAAG,KAAKC,MAAK;AAAA,QACjB;AACA,YAAI,CAAC,YAAYA,MAAK,EAAE,GAAG;AACvB,UAAAD,IAAG,KAAKC,MAAK;AAAA,QACjB;AACA,YAAI,CAAC,YAAYA,MAAK,EAAE,GAAG;AACvB,UAAAD,IAAG,KAAKC,MAAK;AAAA,QACjB;AACA,YAAI,CAAC,YAAYA,MAAK,OAAO,GAAG;AAC5B,UAAAD,IAAG,UAAUC,MAAK;AAAA,QACtB;AACA,YAAI,CAAC,YAAYA,MAAK,IAAI,GAAG;AACzB,UAAAD,IAAG,OAAOC,MAAK;AAAA,QACnB;AACA,YAAI,CAAC,YAAYA,MAAK,MAAM,GAAG;AAC3B,UAAAD,IAAG,SAASC,MAAK;AAAA,QACrB;AACA,YAAI,CAAC,YAAYA,MAAK,OAAO,GAAG;AAC5B,UAAAD,IAAG,UAAUC,MAAK;AAAA,QACtB;AACA,YAAI,CAAC,YAAYA,MAAK,GAAG,GAAG;AACxB,UAAAD,IAAG,MAAM,gBAAgBC,KAAI;AAAA,QACjC;AACA,YAAI,CAAC,YAAYA,MAAK,OAAO,GAAG;AAC5B,UAAAD,IAAG,UAAUC,MAAK;AAAA,QACtB;AAEA,YAAI,sBAAsB,GAAG;AACzB,eAAK,IAAI,GAAG,IAAI,qBAAqB,KAAK;AACtC,mBAAO,iBAAiB,CAAC;AACzB,kBAAMA,MAAK,IAAI;AACf,gBAAI,CAAC,YAAY,GAAG,GAAG;AACnB,cAAAD,IAAG,IAAI,IAAI;AAAA,YACf;AAAA,UACJ;AAAA,QACJ;AAEA,eAAOA;AAAA,MACX;AAGA,eAAS,OAAO,QAAQ;AACpB,mBAAW,MAAM,MAAM;AACvB,aAAK,KAAK,IAAI,KAAK,OAAO,MAAM,OAAO,OAAO,GAAG,QAAQ,IAAI,GAAG;AAChE,YAAI,CAAC,KAAK,QAAQ,GAAG;AACjB,eAAK,KAAK,oBAAI,KAAK,GAAG;AAAA,QAC1B;AAGA,YAAI,qBAAqB,OAAO;AAC5B,6BAAmB;AACnB,gBAAM,aAAa,IAAI;AACvB,6BAAmB;AAAA,QACvB;AAAA,MACJ;AAEA,eAAS,SAAS,KAAK;AACnB,eACI,eAAe,UAAW,OAAO,QAAQ,IAAI,oBAAoB;AAAA,MAEzE;AAEA,eAAS,KAAK,KAAK;AACf,YACI,MAAM,gCAAgC,SACtC,OAAO,YAAY,eACnB,QAAQ,MACV;AACE,kBAAQ,KAAK,0BAA0B,GAAG;AAAA,QAC9C;AAAA,MACJ;AAEA,eAAS,UAAU,KAAK,IAAI;AACxB,YAAI,YAAY;AAEhB,eAAO,OAAO,WAAY;AACtB,cAAI,MAAM,sBAAsB,MAAM;AAClC,kBAAM,mBAAmB,MAAM,GAAG;AAAA,UACtC;AACA,cAAI,WAAW;AACX,gBAAI,OAAO,CAAC,GACR,KACA,GACA,KACA,SAAS,UAAU;AACvB,iBAAK,IAAI,GAAG,IAAI,QAAQ,KAAK;AACzB,oBAAM;AACN,kBAAI,OAAO,UAAU,CAAC,MAAM,UAAU;AAClC,uBAAO,QAAQ,IAAI;AACnB,qBAAK,OAAO,UAAU,CAAC,GAAG;AACtB,sBAAI,WAAW,UAAU,CAAC,GAAG,GAAG,GAAG;AAC/B,2BAAO,MAAM,OAAO,UAAU,CAAC,EAAE,GAAG,IAAI;AAAA,kBAC5C;AAAA,gBACJ;AACA,sBAAM,IAAI,MAAM,GAAG,EAAE;AAAA,cACzB,OAAO;AACH,sBAAM,UAAU,CAAC;AAAA,cACrB;AACA,mBAAK,KAAK,GAAG;AAAA,YACjB;AACA;AAAA,cACI,MACI,kBACA,MAAM,UAAU,MAAM,KAAK,IAAI,EAAE,KAAK,EAAE,IACxC,OACA,IAAI,MAAM,EAAE;AAAA,YACpB;AACA,wBAAY;AAAA,UAChB;AACA,iBAAO,GAAG,MAAM,MAAM,SAAS;AAAA,QACnC,GAAG,EAAE;AAAA,MACT;AAEA,UAAI,eAAe,CAAC;AAEpB,eAAS,gBAAgB,MAAM,KAAK;AAChC,YAAI,MAAM,sBAAsB,MAAM;AAClC,gBAAM,mBAAmB,MAAM,GAAG;AAAA,QACtC;AACA,YAAI,CAAC,aAAa,IAAI,GAAG;AACrB,eAAK,GAAG;AACR,uBAAa,IAAI,IAAI;AAAA,QACzB;AAAA,MACJ;AAEA,YAAM,8BAA8B;AACpC,YAAM,qBAAqB;AAE3B,eAASE,YAAW,OAAO;AACvB,eACK,OAAO,aAAa,eAAe,iBAAiB,YACrD,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM;AAAA,MAElD;AAEA,eAASC,KAAI,QAAQ;AACjB,YAAI,MAAM;AACV,aAAK,KAAK,QAAQ;AACd,cAAI,WAAW,QAAQ,CAAC,GAAG;AACvB,mBAAO,OAAO,CAAC;AACf,gBAAID,YAAW,IAAI,GAAG;AAClB,mBAAK,CAAC,IAAI;AAAA,YACd,OAAO;AACH,mBAAK,MAAM,CAAC,IAAI;AAAA,YACpB;AAAA,UACJ;AAAA,QACJ;AACA,aAAK,UAAU;AAIf,aAAK,iCAAiC,IAAI;AAAA,WACrC,KAAK,wBAAwB,UAAU,KAAK,cAAc,UACvD,MACA,UAAU;AAAA,QAClB;AAAA,MACJ;AAEA,eAAS,aAAa,cAAc,aAAa;AAC7C,YAAI,MAAM,OAAO,CAAC,GAAG,YAAY,GAC7B;AACJ,aAAK,QAAQ,aAAa;AACtB,cAAI,WAAW,aAAa,IAAI,GAAG;AAC/B,gBAAIL,UAAS,aAAa,IAAI,CAAC,KAAKA,UAAS,YAAY,IAAI,CAAC,GAAG;AAC7D,kBAAI,IAAI,IAAI,CAAC;AACb,qBAAO,IAAI,IAAI,GAAG,aAAa,IAAI,CAAC;AACpC,qBAAO,IAAI,IAAI,GAAG,YAAY,IAAI,CAAC;AAAA,YACvC,WAAW,YAAY,IAAI,KAAK,MAAM;AAClC,kBAAI,IAAI,IAAI,YAAY,IAAI;AAAA,YAChC,OAAO;AACH,qBAAO,IAAI,IAAI;AAAA,YACnB;AAAA,UACJ;AAAA,QACJ;AACA,aAAK,QAAQ,cAAc;AACvB,cACI,WAAW,cAAc,IAAI,KAC7B,CAAC,WAAW,aAAa,IAAI,KAC7BA,UAAS,aAAa,IAAI,CAAC,GAC7B;AAEE,gBAAI,IAAI,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC;AAAA,UACpC;AAAA,QACJ;AACA,eAAO;AAAA,MACX;AAEA,eAAS,OAAO,QAAQ;AACpB,YAAI,UAAU,MAAM;AAChB,eAAK,IAAI,MAAM;AAAA,QACnB;AAAA,MACJ;AAEA,UAAI;AAEJ,UAAI,OAAO,MAAM;AACb,eAAO,OAAO;AAAA,MAClB,OAAO;AACH,eAAO,SAAU,KAAK;AAClB,cAAI,GACA,MAAM,CAAC;AACX,eAAK,KAAK,KAAK;AACX,gBAAI,WAAW,KAAK,CAAC,GAAG;AACpB,kBAAI,KAAK,CAAC;AAAA,YACd;AAAA,UACJ;AACA,iBAAO;AAAA,QACX;AAAA,MACJ;AAEA,UAAI,kBAAkB;AAAA,QAClB,SAAS;AAAA,QACT,SAAS;AAAA,QACT,UAAU;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,QACV,UAAU;AAAA,MACd;AAEA,eAASO,UAAS,KAAK,KAAKC,MAAK;AAC7B,YAAI,SAAS,KAAK,UAAU,GAAG,KAAK,KAAK,UAAU,UAAU;AAC7D,eAAOH,YAAW,MAAM,IAAI,OAAO,KAAK,KAAKG,IAAG,IAAI;AAAA,MACxD;AAEA,eAAS,SAAS,QAAQ,cAAc,WAAW;AAC/C,YAAI,YAAY,KAAK,KAAK,IAAI,MAAM,GAChC,cAAc,eAAe,UAAU,QACvCC,QAAO,UAAU;AACrB,gBACKA,QAAQ,YAAY,MAAM,KAAM,OACjC,KAAK,IAAI,IAAI,KAAK,IAAI,GAAG,WAAW,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,IAC1D;AAAA,MAER;AAEA,UAAI,mBACI,0MACJ,wBAAwB,8CACxB,kBAAkB,CAAC,GACnB,uBAAuB,CAAC;AAM5B,eAAS,eAAeC,QAAO,QAAQC,UAAS,UAAU;AACtD,YAAI,OAAO;AACX,YAAI,OAAO,aAAa,UAAU;AAC9B,iBAAO,WAAY;AACf,mBAAO,KAAK,QAAQ,EAAE;AAAA,UAC1B;AAAA,QACJ;AACA,YAAID,QAAO;AACP,+BAAqBA,MAAK,IAAI;AAAA,QAClC;AACA,YAAI,QAAQ;AACR,+BAAqB,OAAO,CAAC,CAAC,IAAI,WAAY;AAC1C,mBAAO,SAAS,KAAK,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AAAA,UACrE;AAAA,QACJ;AACA,YAAIC,UAAS;AACT,+BAAqBA,QAAO,IAAI,WAAY;AACxC,mBAAO,KAAK,WAAW,EAAE;AAAA,cACrB,KAAK,MAAM,MAAM,SAAS;AAAA,cAC1BD;AAAA,YACJ;AAAA,UACJ;AAAA,QACJ;AAAA,MACJ;AAEA,eAAS,uBAAuB,OAAO;AACnC,YAAI,MAAM,MAAM,UAAU,GAAG;AACzB,iBAAO,MAAM,QAAQ,YAAY,EAAE;AAAA,QACvC;AACA,eAAO,MAAM,QAAQ,OAAO,EAAE;AAAA,MAClC;AAEA,eAAS,mBAAmBT,SAAQ;AAChC,YAAI,QAAQA,QAAO,MAAM,gBAAgB,GACrC,GACAW;AAEJ,aAAK,IAAI,GAAGA,UAAS,MAAM,QAAQ,IAAIA,SAAQ,KAAK;AAChD,cAAI,qBAAqB,MAAM,CAAC,CAAC,GAAG;AAChC,kBAAM,CAAC,IAAI,qBAAqB,MAAM,CAAC,CAAC;AAAA,UAC5C,OAAO;AACH,kBAAM,CAAC,IAAI,uBAAuB,MAAM,CAAC,CAAC;AAAA,UAC9C;AAAA,QACJ;AAEA,eAAO,SAAU,KAAK;AAClB,cAAI,SAAS,IACTC;AACJ,eAAKA,KAAI,GAAGA,KAAID,SAAQC,MAAK;AACzB,sBAAUR,YAAW,MAAMQ,EAAC,CAAC,IACvB,MAAMA,EAAC,EAAE,KAAK,KAAKZ,OAAM,IACzB,MAAMY,EAAC;AAAA,UACjB;AACA,iBAAO;AAAA,QACX;AAAA,MACJ;AAGA,eAAS,aAAa,GAAGZ,SAAQ;AAC7B,YAAI,CAAC,EAAE,QAAQ,GAAG;AACd,iBAAO,EAAE,WAAW,EAAE,YAAY;AAAA,QACtC;AAEA,QAAAA,UAAS,aAAaA,SAAQ,EAAE,WAAW,CAAC;AAC5C,wBAAgBA,OAAM,IAClB,gBAAgBA,OAAM,KAAK,mBAAmBA,OAAM;AAExD,eAAO,gBAAgBA,OAAM,EAAE,CAAC;AAAA,MACpC;AAEA,eAAS,aAAaA,SAAQC,SAAQ;AAClC,YAAI,IAAI;AAER,iBAAS,4BAA4B,OAAO;AACxC,iBAAOA,QAAO,eAAe,KAAK,KAAK;AAAA,QAC3C;AAEA,8BAAsB,YAAY;AAClC,eAAO,KAAK,KAAK,sBAAsB,KAAKD,OAAM,GAAG;AACjD,UAAAA,UAASA,QAAO;AAAA,YACZ;AAAA,YACA;AAAA,UACJ;AACA,gCAAsB,YAAY;AAClC,eAAK;AAAA,QACT;AAEA,eAAOA;AAAA,MACX;AAEA,UAAI,wBAAwB;AAAA,QACxB,KAAK;AAAA,QACL,IAAI;AAAA,QACJ,GAAG;AAAA,QACH,IAAI;AAAA,QACJ,KAAK;AAAA,QACL,MAAM;AAAA,MACV;AAEA,eAAS,eAAe,KAAK;AACzB,YAAIA,UAAS,KAAK,gBAAgB,GAAG,GACjC,cAAc,KAAK,gBAAgB,IAAI,YAAY,CAAC;AAExD,YAAIA,WAAU,CAAC,aAAa;AACxB,iBAAOA;AAAA,QACX;AAEA,aAAK,gBAAgB,GAAG,IAAI,YACvB,MAAM,gBAAgB,EACtB,IAAI,SAAU,KAAK;AAChB,cACI,QAAQ,UACR,QAAQ,QACR,QAAQ,QACR,QAAQ,QACV;AACE,mBAAO,IAAI,MAAM,CAAC;AAAA,UACtB;AACA,iBAAO;AAAA,QACX,CAAC,EACA,KAAK,EAAE;AAEZ,eAAO,KAAK,gBAAgB,GAAG;AAAA,MACnC;AAEA,UAAI,qBAAqB;AAEzB,eAAS,cAAc;AACnB,eAAO,KAAK;AAAA,MAChB;AAEA,UAAI,iBAAiB,MACjB,gCAAgC;AAEpC,eAAS,QAAQ,QAAQ;AACrB,eAAO,KAAK,SAAS,QAAQ,MAAM,MAAM;AAAA,MAC7C;AAEA,UAAI,sBAAsB;AAAA,QACtB,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,GAAG;AAAA,QACH,IAAI;AAAA,QACJ,GAAG;AAAA,QACH,IAAI;AAAA,QACJ,GAAG;AAAA,QACH,IAAI;AAAA,QACJ,GAAG;AAAA,QACH,IAAI;AAAA,QACJ,GAAG;AAAA,QACH,IAAI;AAAA,QACJ,GAAG;AAAA,QACH,IAAI;AAAA,QACJ,GAAG;AAAA,QACH,IAAI;AAAA,MACR;AAEA,eAAS,aAAa,QAAQ,eAAe,QAAQ,UAAU;AAC3D,YAAI,SAAS,KAAK,cAAc,MAAM;AACtC,eAAOI,YAAW,MAAM,IAClB,OAAO,QAAQ,eAAe,QAAQ,QAAQ,IAC9C,OAAO,QAAQ,OAAO,MAAM;AAAA,MACtC;AAEA,eAAS,WAAWS,OAAM,QAAQ;AAC9B,YAAIb,UAAS,KAAK,cAAca,QAAO,IAAI,WAAW,MAAM;AAC5D,eAAOT,YAAWJ,OAAM,IAAIA,QAAO,MAAM,IAAIA,QAAO,QAAQ,OAAO,MAAM;AAAA,MAC7E;AAEA,UAAI,UAAU,CAAC;AAEf,eAAS,aAAa,MAAM,WAAW;AACnC,YAAI,YAAY,KAAK,YAAY;AACjC,gBAAQ,SAAS,IAAI,QAAQ,YAAY,GAAG,IAAI,QAAQ,SAAS,IAAI;AAAA,MACzE;AAEA,eAAS,eAAe,OAAO;AAC3B,eAAO,OAAO,UAAU,WAClB,QAAQ,KAAK,KAAK,QAAQ,MAAM,YAAY,CAAC,IAC7C;AAAA,MACV;AAEA,eAAS,qBAAqB,aAAa;AACvC,YAAI,kBAAkB,CAAC,GACnB,gBACA;AAEJ,aAAK,QAAQ,aAAa;AACtB,cAAI,WAAW,aAAa,IAAI,GAAG;AAC/B,6BAAiB,eAAe,IAAI;AACpC,gBAAI,gBAAgB;AAChB,8BAAgB,cAAc,IAAI,YAAY,IAAI;AAAA,YACtD;AAAA,UACJ;AAAA,QACJ;AAEA,eAAO;AAAA,MACX;AAEA,UAAI,aAAa,CAAC;AAElB,eAAS,gBAAgB,MAAM,UAAU;AACrC,mBAAW,IAAI,IAAI;AAAA,MACvB;AAEA,eAAS,oBAAoB,UAAU;AACnC,YAAI,QAAQ,CAAC,GACT;AACJ,aAAK,KAAK,UAAU;AAChB,cAAI,WAAW,UAAU,CAAC,GAAG;AACzB,kBAAM,KAAK,EAAE,MAAM,GAAG,UAAU,WAAW,CAAC,EAAE,CAAC;AAAA,UACnD;AAAA,QACJ;AACA,cAAM,KAAK,SAAU,GAAG,GAAG;AACvB,iBAAO,EAAE,WAAW,EAAE;AAAA,QAC1B,CAAC;AACD,eAAO;AAAA,MACX;AAEA,eAAS,WAAW,MAAM;AACtB,eAAQ,OAAO,MAAM,KAAK,OAAO,QAAQ,KAAM,OAAO,QAAQ;AAAA,MAClE;AAEA,eAAS,SAAS,QAAQ;AACtB,YAAI,SAAS,GAAG;AAEZ,iBAAO,KAAK,KAAK,MAAM,KAAK;AAAA,QAChC,OAAO;AACH,iBAAO,KAAK,MAAM,MAAM;AAAA,QAC5B;AAAA,MACJ;AAEA,eAAS,MAAM,qBAAqB;AAChC,YAAI,gBAAgB,CAAC,qBACjB,QAAQ;AAEZ,YAAI,kBAAkB,KAAK,SAAS,aAAa,GAAG;AAChD,kBAAQ,SAAS,aAAa;AAAA,QAClC;AAEA,eAAO;AAAA,MACX;AAEA,eAAS,WAAW,MAAM,UAAU;AAChC,eAAO,SAAU,OAAO;AACpB,cAAI,SAAS,MAAM;AACf,kBAAM,MAAM,MAAM,KAAK;AACvB,kBAAM,aAAa,MAAM,QAAQ;AACjC,mBAAO;AAAA,UACX,OAAO;AACH,mBAAO,IAAI,MAAM,IAAI;AAAA,UACzB;AAAA,QACJ;AAAA,MACJ;AAEA,eAAS,IAAI,KAAK,MAAM;AACpB,eAAO,IAAI,QAAQ,IACb,IAAI,GAAG,SAAS,IAAI,SAAS,QAAQ,MAAM,IAAI,EAAE,IACjD;AAAA,MACV;AAEA,eAAS,MAAM,KAAK,MAAM,OAAO;AAC7B,YAAI,IAAI,QAAQ,KAAK,CAAC,MAAM,KAAK,GAAG;AAChC,cACI,SAAS,cACT,WAAW,IAAI,KAAK,CAAC,KACrB,IAAI,MAAM,MAAM,KAChB,IAAI,KAAK,MAAM,IACjB;AACE,oBAAQ,MAAM,KAAK;AACnB,gBAAI,GAAG,SAAS,IAAI,SAAS,QAAQ,MAAM,IAAI;AAAA,cAC3C;AAAA,cACA,IAAI,MAAM;AAAA,cACV,YAAY,OAAO,IAAI,MAAM,CAAC;AAAA,YAClC;AAAA,UACJ,OAAO;AACH,gBAAI,GAAG,SAAS,IAAI,SAAS,QAAQ,MAAM,IAAI,EAAE,KAAK;AAAA,UAC1D;AAAA,QACJ;AAAA,MACJ;AAIA,eAAS,UAAU,OAAO;AACtB,gBAAQ,eAAe,KAAK;AAC5B,YAAII,YAAW,KAAK,KAAK,CAAC,GAAG;AACzB,iBAAO,KAAK,KAAK,EAAE;AAAA,QACvB;AACA,eAAO;AAAA,MACX;AAEA,eAAS,UAAU,OAAO,OAAO;AAC7B,YAAI,OAAO,UAAU,UAAU;AAC3B,kBAAQ,qBAAqB,KAAK;AAClC,cAAI,cAAc,oBAAoB,KAAK,GACvC,GACA,iBAAiB,YAAY;AACjC,eAAK,IAAI,GAAG,IAAI,gBAAgB,KAAK;AACjC,iBAAK,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC,EAAE,IAAI,CAAC;AAAA,UACxD;AAAA,QACJ,OAAO;AACH,kBAAQ,eAAe,KAAK;AAC5B,cAAIA,YAAW,KAAK,KAAK,CAAC,GAAG;AACzB,mBAAO,KAAK,KAAK,EAAE,KAAK;AAAA,UAC5B;AAAA,QACJ;AACA,eAAO;AAAA,MACX;AAEA,UAAI,SAAS,MACT,SAAS,QACT,SAAS,SACT,SAAS,SACT,SAAS,cACT,YAAY,SACZ,YAAY,aACZ,YAAY,iBACZ,YAAY,WACZ,YAAY,WACZ,YAAY,gBACZ,gBAAgB,OAChB,cAAc,YACd,cAAc,sBACd,mBAAmB,2BACnB,iBAAiB,wBAGjB,YACI,yJACJ;AAEJ,gBAAU,CAAC;AAEX,eAAS,cAAcK,QAAO,OAAO,aAAa;AAC9C,gBAAQA,MAAK,IAAIL,YAAW,KAAK,IAC3B,QACA,SAAU,UAAUU,aAAY;AAC5B,iBAAO,YAAY,cAAc,cAAc;AAAA,QACnD;AAAA,MACV;AAEA,eAAS,sBAAsBL,QAAO,QAAQ;AAC1C,YAAI,CAAC,WAAW,SAASA,MAAK,GAAG;AAC7B,iBAAO,IAAI,OAAO,eAAeA,MAAK,CAAC;AAAA,QAC3C;AAEA,eAAO,QAAQA,MAAK,EAAE,OAAO,SAAS,OAAO,OAAO;AAAA,MACxD;AAGA,eAAS,eAAe,GAAG;AACvB,eAAO;AAAA,UACH,EACK,QAAQ,MAAM,EAAE,EAChB;AAAA,YACG;AAAA,YACA,SAAU,SAAS,IAAI,IAAI,IAAI,IAAI;AAC/B,qBAAO,MAAM,MAAM,MAAM;AAAA,YAC7B;AAAA,UACJ;AAAA,QACR;AAAA,MACJ;AAEA,eAAS,YAAY,GAAG;AACpB,eAAO,EAAE,QAAQ,0BAA0B,MAAM;AAAA,MACrD;AAEA,UAAI,SAAS,CAAC;AAEd,eAAS,cAAcA,QAAO,UAAU;AACpC,YAAI,GACA,OAAO,UACP;AACJ,YAAI,OAAOA,WAAU,UAAU;AAC3B,UAAAA,SAAQ,CAACA,MAAK;AAAA,QAClB;AACA,YAAI,SAAS,QAAQ,GAAG;AACpB,iBAAO,SAAU,OAAO,OAAO;AAC3B,kBAAM,QAAQ,IAAI,MAAM,KAAK;AAAA,UACjC;AAAA,QACJ;AACA,mBAAWA,OAAM;AACjB,aAAK,IAAI,GAAG,IAAI,UAAU,KAAK;AAC3B,iBAAOA,OAAM,CAAC,CAAC,IAAI;AAAA,QACvB;AAAA,MACJ;AAEA,eAAS,kBAAkBA,QAAO,UAAU;AACxC,sBAAcA,QAAO,SAAU,OAAO,OAAO,QAAQA,QAAO;AACxD,iBAAO,KAAK,OAAO,MAAM,CAAC;AAC1B,mBAAS,OAAO,OAAO,IAAI,QAAQA,MAAK;AAAA,QAC5C,CAAC;AAAA,MACL;AAEA,eAAS,wBAAwBA,QAAO,OAAO,QAAQ;AACnD,YAAI,SAAS,QAAQ,WAAW,QAAQA,MAAK,GAAG;AAC5C,iBAAOA,MAAK,EAAE,OAAO,OAAO,IAAI,QAAQA,MAAK;AAAA,QACjD;AAAA,MACJ;AAEA,UAAI,OAAO,GACP,QAAQ,GACR,OAAO,GACP,OAAO,GACP,SAAS,GACT,SAAS,GACT,cAAc,GACd,OAAO,GACP,UAAU;AAEd,eAAS,IAAI,GAAG,GAAG;AACf,gBAAS,IAAI,IAAK,KAAK;AAAA,MAC3B;AAEA,UAAI;AAEJ,UAAI,MAAM,UAAU,SAAS;AACzB,kBAAU,MAAM,UAAU;AAAA,MAC9B,OAAO;AACH,kBAAU,SAAU,GAAG;AAEnB,cAAI;AACJ,eAAK,IAAI,GAAG,IAAI,KAAK,QAAQ,EAAE,GAAG;AAC9B,gBAAI,KAAK,CAAC,MAAM,GAAG;AACf,qBAAO;AAAA,YACX;AAAA,UACJ;AACA,iBAAO;AAAA,QACX;AAAA,MACJ;AAEA,eAAS,YAAY,MAAM,OAAO;AAC9B,YAAI,MAAM,IAAI,KAAK,MAAM,KAAK,GAAG;AAC7B,iBAAO;AAAA,QACX;AACA,YAAI,WAAW,IAAI,OAAO,EAAE;AAC5B,iBAAS,QAAQ,YAAY;AAC7B,eAAO,aAAa,IACd,WAAW,IAAI,IACX,KACA,KACJ,KAAO,WAAW,IAAK;AAAA,MACjC;AAIA,qBAAe,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,WAAY;AAC7C,eAAO,KAAK,MAAM,IAAI;AAAA,MAC1B,CAAC;AAED,qBAAe,OAAO,GAAG,GAAG,SAAUT,SAAQ;AAC1C,eAAO,KAAK,WAAW,EAAE,YAAY,MAAMA,OAAM;AAAA,MACrD,CAAC;AAED,qBAAe,QAAQ,GAAG,GAAG,SAAUA,SAAQ;AAC3C,eAAO,KAAK,WAAW,EAAE,OAAO,MAAMA,OAAM;AAAA,MAChD,CAAC;AAID,mBAAa,SAAS,GAAG;AAIzB,sBAAgB,SAAS,CAAC;AAI1B,oBAAc,KAAK,SAAS;AAC5B,oBAAc,MAAM,WAAW,MAAM;AACrC,oBAAc,OAAO,SAAU,UAAUC,SAAQ;AAC7C,eAAOA,QAAO,iBAAiB,QAAQ;AAAA,MAC3C,CAAC;AACD,oBAAc,QAAQ,SAAU,UAAUA,SAAQ;AAC9C,eAAOA,QAAO,YAAY,QAAQ;AAAA,MACtC,CAAC;AAED,oBAAc,CAAC,KAAK,IAAI,GAAG,SAAU,OAAO,OAAO;AAC/C,cAAM,KAAK,IAAI,MAAM,KAAK,IAAI;AAAA,MAClC,CAAC;AAED,oBAAc,CAAC,OAAO,MAAM,GAAG,SAAU,OAAO,OAAO,QAAQQ,QAAO;AAClE,YAAI,QAAQ,OAAO,QAAQ,YAAY,OAAOA,QAAO,OAAO,OAAO;AAEnE,YAAI,SAAS,MAAM;AACf,gBAAM,KAAK,IAAI;AAAA,QACnB,OAAO;AACH,0BAAgB,MAAM,EAAE,eAAe;AAAA,QAC3C;AAAA,MACJ,CAAC;AAID,UAAI,sBACI,wFAAwF;AAAA,QACpF;AAAA,MACJ,GACJ,2BACI,kDAAkD,MAAM,GAAG,GAC/D,mBAAmB,iCACnB,0BAA0B,WAC1B,qBAAqB;AAEzB,eAAS,aAAa,GAAGT,SAAQ;AAC7B,YAAI,CAAC,GAAG;AACJ,iBAAOF,SAAQ,KAAK,OAAO,IACrB,KAAK,UACL,KAAK,QAAQ,YAAY;AAAA,QACnC;AACA,eAAOA,SAAQ,KAAK,OAAO,IACrB,KAAK,QAAQ,EAAE,MAAM,CAAC,IACtB,KAAK,SACA,KAAK,QAAQ,YAAY,kBAAkB,KAAKE,OAAM,IACjD,WACA,YACV,EAAE,EAAE,MAAM,CAAC;AAAA,MACrB;AAEA,eAAS,kBAAkB,GAAGA,SAAQ;AAClC,YAAI,CAAC,GAAG;AACJ,iBAAOF,SAAQ,KAAK,YAAY,IAC1B,KAAK,eACL,KAAK,aAAa,YAAY;AAAA,QACxC;AACA,eAAOA,SAAQ,KAAK,YAAY,IAC1B,KAAK,aAAa,EAAE,MAAM,CAAC,IAC3B,KAAK,aACD,iBAAiB,KAAKE,OAAM,IAAI,WAAW,YAC/C,EAAE,EAAE,MAAM,CAAC;AAAA,MACrB;AAEA,eAAS,kBAAkB,WAAWA,SAAQ,QAAQ;AAClD,YAAI,GACA,IACA,KACA,MAAM,UAAU,kBAAkB;AACtC,YAAI,CAAC,KAAK,cAAc;AAEpB,eAAK,eAAe,CAAC;AACrB,eAAK,mBAAmB,CAAC;AACzB,eAAK,oBAAoB,CAAC;AAC1B,eAAK,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG;AACrB,kBAAM,UAAU,CAAC,KAAM,CAAC,CAAC;AACzB,iBAAK,kBAAkB,CAAC,IAAI,KAAK;AAAA,cAC7B;AAAA,cACA;AAAA,YACJ,EAAE,kBAAkB;AACpB,iBAAK,iBAAiB,CAAC,IAAI,KAAK,OAAO,KAAK,EAAE,EAAE,kBAAkB;AAAA,UACtE;AAAA,QACJ;AAEA,YAAI,QAAQ;AACR,cAAIA,YAAW,OAAO;AAClB,iBAAK,QAAQ,KAAK,KAAK,mBAAmB,GAAG;AAC7C,mBAAO,OAAO,KAAK,KAAK;AAAA,UAC5B,OAAO;AACH,iBAAK,QAAQ,KAAK,KAAK,kBAAkB,GAAG;AAC5C,mBAAO,OAAO,KAAK,KAAK;AAAA,UAC5B;AAAA,QACJ,OAAO;AACH,cAAIA,YAAW,OAAO;AAClB,iBAAK,QAAQ,KAAK,KAAK,mBAAmB,GAAG;AAC7C,gBAAI,OAAO,IAAI;AACX,qBAAO;AAAA,YACX;AACA,iBAAK,QAAQ,KAAK,KAAK,kBAAkB,GAAG;AAC5C,mBAAO,OAAO,KAAK,KAAK;AAAA,UAC5B,OAAO;AACH,iBAAK,QAAQ,KAAK,KAAK,kBAAkB,GAAG;AAC5C,gBAAI,OAAO,IAAI;AACX,qBAAO;AAAA,YACX;AACA,iBAAK,QAAQ,KAAK,KAAK,mBAAmB,GAAG;AAC7C,mBAAO,OAAO,KAAK,KAAK;AAAA,UAC5B;AAAA,QACJ;AAAA,MACJ;AAEA,eAAS,kBAAkB,WAAWA,SAAQ,QAAQ;AAClD,YAAI,GAAG,KAAK;AAEZ,YAAI,KAAK,mBAAmB;AACxB,iBAAO,kBAAkB,KAAK,MAAM,WAAWA,SAAQ,MAAM;AAAA,QACjE;AAEA,YAAI,CAAC,KAAK,cAAc;AACpB,eAAK,eAAe,CAAC;AACrB,eAAK,mBAAmB,CAAC;AACzB,eAAK,oBAAoB,CAAC;AAAA,QAC9B;AAKA,aAAK,IAAI,GAAG,IAAI,IAAI,KAAK;AAErB,gBAAM,UAAU,CAAC,KAAM,CAAC,CAAC;AACzB,cAAI,UAAU,CAAC,KAAK,iBAAiB,CAAC,GAAG;AACrC,iBAAK,iBAAiB,CAAC,IAAI,IAAI;AAAA,cAC3B,MAAM,KAAK,OAAO,KAAK,EAAE,EAAE,QAAQ,KAAK,EAAE,IAAI;AAAA,cAC9C;AAAA,YACJ;AACA,iBAAK,kBAAkB,CAAC,IAAI,IAAI;AAAA,cAC5B,MAAM,KAAK,YAAY,KAAK,EAAE,EAAE,QAAQ,KAAK,EAAE,IAAI;AAAA,cACnD;AAAA,YACJ;AAAA,UACJ;AACA,cAAI,CAAC,UAAU,CAAC,KAAK,aAAa,CAAC,GAAG;AAClC,oBACI,MAAM,KAAK,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,YAAY,KAAK,EAAE;AAChE,iBAAK,aAAa,CAAC,IAAI,IAAI,OAAO,MAAM,QAAQ,KAAK,EAAE,GAAG,GAAG;AAAA,UACjE;AAEA,cACI,UACAA,YAAW,UACX,KAAK,iBAAiB,CAAC,EAAE,KAAK,SAAS,GACzC;AACE,mBAAO;AAAA,UACX,WACI,UACAA,YAAW,SACX,KAAK,kBAAkB,CAAC,EAAE,KAAK,SAAS,GAC1C;AACE,mBAAO;AAAA,UACX,WAAW,CAAC,UAAU,KAAK,aAAa,CAAC,EAAE,KAAK,SAAS,GAAG;AACxD,mBAAO;AAAA,UACX;AAAA,QACJ;AAAA,MACJ;AAIA,eAAS,SAAS,KAAK,OAAO;AAC1B,YAAI;AAEJ,YAAI,CAAC,IAAI,QAAQ,GAAG;AAEhB,iBAAO;AAAA,QACX;AAEA,YAAI,OAAO,UAAU,UAAU;AAC3B,cAAI,QAAQ,KAAK,KAAK,GAAG;AACrB,oBAAQ,MAAM,KAAK;AAAA,UACvB,OAAO;AACH,oBAAQ,IAAI,WAAW,EAAE,YAAY,KAAK;AAE1C,gBAAI,CAAC,SAAS,KAAK,GAAG;AAClB,qBAAO;AAAA,YACX;AAAA,UACJ;AAAA,QACJ;AAEA,qBAAa,KAAK,IAAI,IAAI,KAAK,GAAG,YAAY,IAAI,KAAK,GAAG,KAAK,CAAC;AAChE,YAAI,GAAG,SAAS,IAAI,SAAS,QAAQ,MAAM,OAAO,EAAE,OAAO,UAAU;AACrE,eAAO;AAAA,MACX;AAEA,eAAS,YAAY,OAAO;AACxB,YAAI,SAAS,MAAM;AACf,mBAAS,MAAM,KAAK;AACpB,gBAAM,aAAa,MAAM,IAAI;AAC7B,iBAAO;AAAA,QACX,OAAO;AACH,iBAAO,IAAI,MAAM,OAAO;AAAA,QAC5B;AAAA,MACJ;AAEA,eAAS,iBAAiB;AACtB,eAAO,YAAY,KAAK,KAAK,GAAG,KAAK,MAAM,CAAC;AAAA,MAChD;AAEA,eAAS,iBAAiB,UAAU;AAChC,YAAI,KAAK,mBAAmB;AACxB,cAAI,CAAC,WAAW,MAAM,cAAc,GAAG;AACnC,+BAAmB,KAAK,IAAI;AAAA,UAChC;AACA,cAAI,UAAU;AACV,mBAAO,KAAK;AAAA,UAChB,OAAO;AACH,mBAAO,KAAK;AAAA,UAChB;AAAA,QACJ,OAAO;AACH,cAAI,CAAC,WAAW,MAAM,mBAAmB,GAAG;AACxC,iBAAK,oBAAoB;AAAA,UAC7B;AACA,iBAAO,KAAK,2BAA2B,WACjC,KAAK,0BACL,KAAK;AAAA,QACf;AAAA,MACJ;AAEA,eAAS,YAAY,UAAU;AAC3B,YAAI,KAAK,mBAAmB;AACxB,cAAI,CAAC,WAAW,MAAM,cAAc,GAAG;AACnC,+BAAmB,KAAK,IAAI;AAAA,UAChC;AACA,cAAI,UAAU;AACV,mBAAO,KAAK;AAAA,UAChB,OAAO;AACH,mBAAO,KAAK;AAAA,UAChB;AAAA,QACJ,OAAO;AACH,cAAI,CAAC,WAAW,MAAM,cAAc,GAAG;AACnC,iBAAK,eAAe;AAAA,UACxB;AACA,iBAAO,KAAK,sBAAsB,WAC5B,KAAK,qBACL,KAAK;AAAA,QACf;AAAA,MACJ;AAEA,eAAS,qBAAqB;AAC1B,iBAAS,UAAU,GAAG,GAAG;AACrB,iBAAO,EAAE,SAAS,EAAE;AAAA,QACxB;AAEA,YAAI,cAAc,CAAC,GACf,aAAa,CAAC,GACd,cAAc,CAAC,GACf,GACA;AACJ,aAAK,IAAI,GAAG,IAAI,IAAI,KAAK;AAErB,gBAAM,UAAU,CAAC,KAAM,CAAC,CAAC;AACzB,sBAAY,KAAK,KAAK,YAAY,KAAK,EAAE,CAAC;AAC1C,qBAAW,KAAK,KAAK,OAAO,KAAK,EAAE,CAAC;AACpC,sBAAY,KAAK,KAAK,OAAO,KAAK,EAAE,CAAC;AACrC,sBAAY,KAAK,KAAK,YAAY,KAAK,EAAE,CAAC;AAAA,QAC9C;AAGA,oBAAY,KAAK,SAAS;AAC1B,mBAAW,KAAK,SAAS;AACzB,oBAAY,KAAK,SAAS;AAC1B,aAAK,IAAI,GAAG,IAAI,IAAI,KAAK;AACrB,sBAAY,CAAC,IAAI,YAAY,YAAY,CAAC,CAAC;AAC3C,qBAAW,CAAC,IAAI,YAAY,WAAW,CAAC,CAAC;AAAA,QAC7C;AACA,aAAK,IAAI,GAAG,IAAI,IAAI,KAAK;AACrB,sBAAY,CAAC,IAAI,YAAY,YAAY,CAAC,CAAC;AAAA,QAC/C;AAEA,aAAK,eAAe,IAAI,OAAO,OAAO,YAAY,KAAK,GAAG,IAAI,KAAK,GAAG;AACtE,aAAK,oBAAoB,KAAK;AAC9B,aAAK,qBAAqB,IAAI;AAAA,UAC1B,OAAO,WAAW,KAAK,GAAG,IAAI;AAAA,UAC9B;AAAA,QACJ;AACA,aAAK,0BAA0B,IAAI;AAAA,UAC/B,OAAO,YAAY,KAAK,GAAG,IAAI;AAAA,UAC/B;AAAA,QACJ;AAAA,MACJ;AAIA,qBAAe,KAAK,GAAG,GAAG,WAAY;AAClC,YAAI,IAAI,KAAK,KAAK;AAClB,eAAO,KAAK,OAAO,SAAS,GAAG,CAAC,IAAI,MAAM;AAAA,MAC9C,CAAC;AAED,qBAAe,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,WAAY;AACxC,eAAO,KAAK,KAAK,IAAI;AAAA,MACzB,CAAC;AAED,qBAAe,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM;AACxC,qBAAe,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,MAAM;AACzC,qBAAe,GAAG,CAAC,UAAU,GAAG,IAAI,GAAG,GAAG,MAAM;AAIhD,mBAAa,QAAQ,GAAG;AAIxB,sBAAgB,QAAQ,CAAC;AAIzB,oBAAc,KAAK,WAAW;AAC9B,oBAAc,MAAM,WAAW,MAAM;AACrC,oBAAc,QAAQ,WAAW,MAAM;AACvC,oBAAc,SAAS,WAAW,MAAM;AACxC,oBAAc,UAAU,WAAW,MAAM;AAEzC,oBAAc,CAAC,SAAS,QAAQ,GAAG,IAAI;AACvC,oBAAc,QAAQ,SAAU,OAAO,OAAO;AAC1C,cAAM,IAAI,IACN,MAAM,WAAW,IAAI,MAAM,kBAAkB,KAAK,IAAI,MAAM,KAAK;AAAA,MACzE,CAAC;AACD,oBAAc,MAAM,SAAU,OAAO,OAAO;AACxC,cAAM,IAAI,IAAI,MAAM,kBAAkB,KAAK;AAAA,MAC/C,CAAC;AACD,oBAAc,KAAK,SAAU,OAAO,OAAO;AACvC,cAAM,IAAI,IAAI,SAAS,OAAO,EAAE;AAAA,MACpC,CAAC;AAID,eAAS,WAAW,MAAM;AACtB,eAAO,WAAW,IAAI,IAAI,MAAM;AAAA,MACpC;AAIA,YAAM,oBAAoB,SAAU,OAAO;AACvC,eAAO,MAAM,KAAK,KAAK,MAAM,KAAK,IAAI,KAAK,OAAO;AAAA,MACtD;AAIA,UAAI,aAAa,WAAW,YAAY,IAAI;AAE5C,eAAS,gBAAgB;AACrB,eAAO,WAAW,KAAK,KAAK,CAAC;AAAA,MACjC;AAEA,eAAS,WAAW,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI;AAGtC,YAAI;AAEJ,YAAI,IAAI,OAAO,KAAK,GAAG;AAEnB,iBAAO,IAAI,KAAK,IAAI,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE;AAC1C,cAAI,SAAS,KAAK,YAAY,CAAC,GAAG;AAC9B,iBAAK,YAAY,CAAC;AAAA,UACtB;AAAA,QACJ,OAAO;AACH,iBAAO,IAAI,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE;AAAA,QACxC;AAEA,eAAO;AAAA,MACX;AAEA,eAAS,cAAc,GAAG;AACtB,YAAI,MAAM;AAEV,YAAI,IAAI,OAAO,KAAK,GAAG;AACnB,iBAAO,MAAM,UAAU,MAAM,KAAK,SAAS;AAE3C,eAAK,CAAC,IAAI,IAAI;AACd,iBAAO,IAAI,KAAK,KAAK,IAAI,MAAM,MAAM,IAAI,CAAC;AAC1C,cAAI,SAAS,KAAK,eAAe,CAAC,GAAG;AACjC,iBAAK,eAAe,CAAC;AAAA,UACzB;AAAA,QACJ,OAAO;AACH,iBAAO,IAAI,KAAK,KAAK,IAAI,MAAM,MAAM,SAAS,CAAC;AAAA,QACnD;AAEA,eAAO;AAAA,MACX;AAGA,eAAS,gBAAgB,MAAM,KAAK,KAAK;AACrC,YACI,MAAM,IAAI,MAAM,KAEhB,SAAS,IAAI,cAAc,MAAM,GAAG,GAAG,EAAE,UAAU,IAAI,OAAO;AAElE,eAAO,CAAC,QAAQ,MAAM;AAAA,MAC1B;AAGA,eAAS,mBAAmB,MAAM,MAAM,SAAS,KAAK,KAAK;AACvD,YAAI,gBAAgB,IAAI,UAAU,OAAO,GACrC,aAAa,gBAAgB,MAAM,KAAK,GAAG,GAC3C,YAAY,IAAI,KAAK,OAAO,KAAK,eAAe,YAChD,SACA;AAEJ,YAAI,aAAa,GAAG;AAChB,oBAAU,OAAO;AACjB,yBAAe,WAAW,OAAO,IAAI;AAAA,QACzC,WAAW,YAAY,WAAW,IAAI,GAAG;AACrC,oBAAU,OAAO;AACjB,yBAAe,YAAY,WAAW,IAAI;AAAA,QAC9C,OAAO;AACH,oBAAU;AACV,yBAAe;AAAA,QACnB;AAEA,eAAO;AAAA,UACH,MAAM;AAAA,UACN,WAAW;AAAA,QACf;AAAA,MACJ;AAEA,eAAS,WAAW,KAAK,KAAK,KAAK;AAC/B,YAAI,aAAa,gBAAgB,IAAI,KAAK,GAAG,KAAK,GAAG,GACjD,OAAO,KAAK,OAAO,IAAI,UAAU,IAAI,aAAa,KAAK,CAAC,IAAI,GAC5D,SACA;AAEJ,YAAI,OAAO,GAAG;AACV,oBAAU,IAAI,KAAK,IAAI;AACvB,oBAAU,OAAO,YAAY,SAAS,KAAK,GAAG;AAAA,QAClD,WAAW,OAAO,YAAY,IAAI,KAAK,GAAG,KAAK,GAAG,GAAG;AACjD,oBAAU,OAAO,YAAY,IAAI,KAAK,GAAG,KAAK,GAAG;AACjD,oBAAU,IAAI,KAAK,IAAI;AAAA,QAC3B,OAAO;AACH,oBAAU,IAAI,KAAK;AACnB,oBAAU;AAAA,QACd;AAEA,eAAO;AAAA,UACH,MAAM;AAAA,UACN,MAAM;AAAA,QACV;AAAA,MACJ;AAEA,eAAS,YAAY,MAAM,KAAK,KAAK;AACjC,YAAI,aAAa,gBAAgB,MAAM,KAAK,GAAG,GAC3C,iBAAiB,gBAAgB,OAAO,GAAG,KAAK,GAAG;AACvD,gBAAQ,WAAW,IAAI,IAAI,aAAa,kBAAkB;AAAA,MAC9D;AAIA,qBAAe,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,MAAM;AAC3C,qBAAe,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,SAAS;AAI9C,mBAAa,QAAQ,GAAG;AACxB,mBAAa,WAAW,GAAG;AAI3B,sBAAgB,QAAQ,CAAC;AACzB,sBAAgB,WAAW,CAAC;AAI5B,oBAAc,KAAK,SAAS;AAC5B,oBAAc,MAAM,WAAW,MAAM;AACrC,oBAAc,KAAK,SAAS;AAC5B,oBAAc,MAAM,WAAW,MAAM;AAErC;AAAA,QACI,CAAC,KAAK,MAAM,KAAK,IAAI;AAAA,QACrB,SAAU,OAAO,MAAM,QAAQS,QAAO;AAClC,eAAKA,OAAM,OAAO,GAAG,CAAC,CAAC,IAAI,MAAM,KAAK;AAAA,QAC1C;AAAA,MACJ;AAMA,eAAS,WAAW,KAAK;AACrB,eAAO,WAAW,KAAK,KAAK,MAAM,KAAK,KAAK,MAAM,GAAG,EAAE;AAAA,MAC3D;AAEA,UAAI,oBAAoB;AAAA,QACpB,KAAK;AAAA;AAAA,QACL,KAAK;AAAA;AAAA,MACT;AAEA,eAAS,uBAAuB;AAC5B,eAAO,KAAK,MAAM;AAAA,MACtB;AAEA,eAAS,uBAAuB;AAC5B,eAAO,KAAK,MAAM;AAAA,MACtB;AAIA,eAAS,WAAW,OAAO;AACvB,YAAI,OAAO,KAAK,WAAW,EAAE,KAAK,IAAI;AACtC,eAAO,SAAS,OAAO,OAAO,KAAK,KAAK,QAAQ,QAAQ,GAAG,GAAG;AAAA,MAClE;AAEA,eAAS,cAAc,OAAO;AAC1B,YAAI,OAAO,WAAW,MAAM,GAAG,CAAC,EAAE;AAClC,eAAO,SAAS,OAAO,OAAO,KAAK,KAAK,QAAQ,QAAQ,GAAG,GAAG;AAAA,MAClE;AAIA,qBAAe,KAAK,GAAG,MAAM,KAAK;AAElC,qBAAe,MAAM,GAAG,GAAG,SAAUT,SAAQ;AACzC,eAAO,KAAK,WAAW,EAAE,YAAY,MAAMA,OAAM;AAAA,MACrD,CAAC;AAED,qBAAe,OAAO,GAAG,GAAG,SAAUA,SAAQ;AAC1C,eAAO,KAAK,WAAW,EAAE,cAAc,MAAMA,OAAM;AAAA,MACvD,CAAC;AAED,qBAAe,QAAQ,GAAG,GAAG,SAAUA,SAAQ;AAC3C,eAAO,KAAK,WAAW,EAAE,SAAS,MAAMA,OAAM;AAAA,MAClD,CAAC;AAED,qBAAe,KAAK,GAAG,GAAG,SAAS;AACnC,qBAAe,KAAK,GAAG,GAAG,YAAY;AAItC,mBAAa,OAAO,GAAG;AACvB,mBAAa,WAAW,GAAG;AAC3B,mBAAa,cAAc,GAAG;AAG9B,sBAAgB,OAAO,EAAE;AACzB,sBAAgB,WAAW,EAAE;AAC7B,sBAAgB,cAAc,EAAE;AAIhC,oBAAc,KAAK,SAAS;AAC5B,oBAAc,KAAK,SAAS;AAC5B,oBAAc,KAAK,SAAS;AAC5B,oBAAc,MAAM,SAAU,UAAUC,SAAQ;AAC5C,eAAOA,QAAO,iBAAiB,QAAQ;AAAA,MAC3C,CAAC;AACD,oBAAc,OAAO,SAAU,UAAUA,SAAQ;AAC7C,eAAOA,QAAO,mBAAmB,QAAQ;AAAA,MAC7C,CAAC;AACD,oBAAc,QAAQ,SAAU,UAAUA,SAAQ;AAC9C,eAAOA,QAAO,cAAc,QAAQ;AAAA,MACxC,CAAC;AAED,wBAAkB,CAAC,MAAM,OAAO,MAAM,GAAG,SAAU,OAAO,MAAM,QAAQQ,QAAO;AAC3E,YAAI,UAAU,OAAO,QAAQ,cAAc,OAAOA,QAAO,OAAO,OAAO;AAEvE,YAAI,WAAW,MAAM;AACjB,eAAK,IAAI;AAAA,QACb,OAAO;AACH,0BAAgB,MAAM,EAAE,iBAAiB;AAAA,QAC7C;AAAA,MACJ,CAAC;AAED,wBAAkB,CAAC,KAAK,KAAK,GAAG,GAAG,SAAU,OAAO,MAAM,QAAQA,QAAO;AACrE,aAAKA,MAAK,IAAI,MAAM,KAAK;AAAA,MAC7B,CAAC;AAID,eAAS,aAAa,OAAOR,SAAQ;AACjC,YAAI,OAAO,UAAU,UAAU;AAC3B,iBAAO;AAAA,QACX;AAEA,YAAI,CAAC,MAAM,KAAK,GAAG;AACf,iBAAO,SAAS,OAAO,EAAE;AAAA,QAC7B;AAEA,gBAAQA,QAAO,cAAc,KAAK;AAClC,YAAI,OAAO,UAAU,UAAU;AAC3B,iBAAO;AAAA,QACX;AAEA,eAAO;AAAA,MACX;AAEA,eAAS,gBAAgB,OAAOA,SAAQ;AACpC,YAAI,OAAO,UAAU,UAAU;AAC3B,iBAAOA,QAAO,cAAc,KAAK,IAAI,KAAK;AAAA,QAC9C;AACA,eAAO,MAAM,KAAK,IAAI,OAAO;AAAA,MACjC;AAGA,eAAS,cAAc,IAAI,GAAG;AAC1B,eAAO,GAAG,MAAM,GAAG,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,CAAC,CAAC;AAAA,MAC/C;AAEA,UAAI,wBACI,2DAA2D,MAAM,GAAG,GACxE,6BAA6B,8BAA8B,MAAM,GAAG,GACpE,2BAA2B,uBAAuB,MAAM,GAAG,GAC3D,uBAAuB,WACvB,4BAA4B,WAC5B,0BAA0B;AAE9B,eAAS,eAAe,GAAGD,SAAQ;AAC/B,YAAI,WAAWF,SAAQ,KAAK,SAAS,IAC/B,KAAK,YACL,KAAK,UACD,KAAK,MAAM,QAAQ,KAAK,UAAU,SAAS,KAAKE,OAAM,IAChD,WACA,YACV;AACN,eAAO,MAAM,OACP,cAAc,UAAU,KAAK,MAAM,GAAG,IACtC,IACA,SAAS,EAAE,IAAI,CAAC,IAChB;AAAA,MACV;AAEA,eAAS,oBAAoB,GAAG;AAC5B,eAAO,MAAM,OACP,cAAc,KAAK,gBAAgB,KAAK,MAAM,GAAG,IACjD,IACA,KAAK,eAAe,EAAE,IAAI,CAAC,IAC3B,KAAK;AAAA,MACf;AAEA,eAAS,kBAAkB,GAAG;AAC1B,eAAO,MAAM,OACP,cAAc,KAAK,cAAc,KAAK,MAAM,GAAG,IAC/C,IACA,KAAK,aAAa,EAAE,IAAI,CAAC,IACzB,KAAK;AAAA,MACf;AAEA,eAAS,oBAAoB,aAAaA,SAAQ,QAAQ;AACtD,YAAI,GACA,IACA,KACA,MAAM,YAAY,kBAAkB;AACxC,YAAI,CAAC,KAAK,gBAAgB;AACtB,eAAK,iBAAiB,CAAC;AACvB,eAAK,sBAAsB,CAAC;AAC5B,eAAK,oBAAoB,CAAC;AAE1B,eAAK,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG;AACpB,kBAAM,UAAU,CAAC,KAAM,CAAC,CAAC,EAAE,IAAI,CAAC;AAChC,iBAAK,kBAAkB,CAAC,IAAI,KAAK;AAAA,cAC7B;AAAA,cACA;AAAA,YACJ,EAAE,kBAAkB;AACpB,iBAAK,oBAAoB,CAAC,IAAI,KAAK;AAAA,cAC/B;AAAA,cACA;AAAA,YACJ,EAAE,kBAAkB;AACpB,iBAAK,eAAe,CAAC,IAAI,KAAK,SAAS,KAAK,EAAE,EAAE,kBAAkB;AAAA,UACtE;AAAA,QACJ;AAEA,YAAI,QAAQ;AACR,cAAIA,YAAW,QAAQ;AACnB,iBAAK,QAAQ,KAAK,KAAK,gBAAgB,GAAG;AAC1C,mBAAO,OAAO,KAAK,KAAK;AAAA,UAC5B,WAAWA,YAAW,OAAO;AACzB,iBAAK,QAAQ,KAAK,KAAK,qBAAqB,GAAG;AAC/C,mBAAO,OAAO,KAAK,KAAK;AAAA,UAC5B,OAAO;AACH,iBAAK,QAAQ,KAAK,KAAK,mBAAmB,GAAG;AAC7C,mBAAO,OAAO,KAAK,KAAK;AAAA,UAC5B;AAAA,QACJ,OAAO;AACH,cAAIA,YAAW,QAAQ;AACnB,iBAAK,QAAQ,KAAK,KAAK,gBAAgB,GAAG;AAC1C,gBAAI,OAAO,IAAI;AACX,qBAAO;AAAA,YACX;AACA,iBAAK,QAAQ,KAAK,KAAK,qBAAqB,GAAG;AAC/C,gBAAI,OAAO,IAAI;AACX,qBAAO;AAAA,YACX;AACA,iBAAK,QAAQ,KAAK,KAAK,mBAAmB,GAAG;AAC7C,mBAAO,OAAO,KAAK,KAAK;AAAA,UAC5B,WAAWA,YAAW,OAAO;AACzB,iBAAK,QAAQ,KAAK,KAAK,qBAAqB,GAAG;AAC/C,gBAAI,OAAO,IAAI;AACX,qBAAO;AAAA,YACX;AACA,iBAAK,QAAQ,KAAK,KAAK,gBAAgB,GAAG;AAC1C,gBAAI,OAAO,IAAI;AACX,qBAAO;AAAA,YACX;AACA,iBAAK,QAAQ,KAAK,KAAK,mBAAmB,GAAG;AAC7C,mBAAO,OAAO,KAAK,KAAK;AAAA,UAC5B,OAAO;AACH,iBAAK,QAAQ,KAAK,KAAK,mBAAmB,GAAG;AAC7C,gBAAI,OAAO,IAAI;AACX,qBAAO;AAAA,YACX;AACA,iBAAK,QAAQ,KAAK,KAAK,gBAAgB,GAAG;AAC1C,gBAAI,OAAO,IAAI;AACX,qBAAO;AAAA,YACX;AACA,iBAAK,QAAQ,KAAK,KAAK,qBAAqB,GAAG;AAC/C,mBAAO,OAAO,KAAK,KAAK;AAAA,UAC5B;AAAA,QACJ;AAAA,MACJ;AAEA,eAAS,oBAAoB,aAAaA,SAAQ,QAAQ;AACtD,YAAI,GAAG,KAAK;AAEZ,YAAI,KAAK,qBAAqB;AAC1B,iBAAO,oBAAoB,KAAK,MAAM,aAAaA,SAAQ,MAAM;AAAA,QACrE;AAEA,YAAI,CAAC,KAAK,gBAAgB;AACtB,eAAK,iBAAiB,CAAC;AACvB,eAAK,oBAAoB,CAAC;AAC1B,eAAK,sBAAsB,CAAC;AAC5B,eAAK,qBAAqB,CAAC;AAAA,QAC/B;AAEA,aAAK,IAAI,GAAG,IAAI,GAAG,KAAK;AAGpB,gBAAM,UAAU,CAAC,KAAM,CAAC,CAAC,EAAE,IAAI,CAAC;AAChC,cAAI,UAAU,CAAC,KAAK,mBAAmB,CAAC,GAAG;AACvC,iBAAK,mBAAmB,CAAC,IAAI,IAAI;AAAA,cAC7B,MAAM,KAAK,SAAS,KAAK,EAAE,EAAE,QAAQ,KAAK,MAAM,IAAI;AAAA,cACpD;AAAA,YACJ;AACA,iBAAK,oBAAoB,CAAC,IAAI,IAAI;AAAA,cAC9B,MAAM,KAAK,cAAc,KAAK,EAAE,EAAE,QAAQ,KAAK,MAAM,IAAI;AAAA,cACzD;AAAA,YACJ;AACA,iBAAK,kBAAkB,CAAC,IAAI,IAAI;AAAA,cAC5B,MAAM,KAAK,YAAY,KAAK,EAAE,EAAE,QAAQ,KAAK,MAAM,IAAI;AAAA,cACvD;AAAA,YACJ;AAAA,UACJ;AACA,cAAI,CAAC,KAAK,eAAe,CAAC,GAAG;AACzB,oBACI,MACA,KAAK,SAAS,KAAK,EAAE,IACrB,OACA,KAAK,cAAc,KAAK,EAAE,IAC1B,OACA,KAAK,YAAY,KAAK,EAAE;AAC5B,iBAAK,eAAe,CAAC,IAAI,IAAI,OAAO,MAAM,QAAQ,KAAK,EAAE,GAAG,GAAG;AAAA,UACnE;AAEA,cACI,UACAA,YAAW,UACX,KAAK,mBAAmB,CAAC,EAAE,KAAK,WAAW,GAC7C;AACE,mBAAO;AAAA,UACX,WACI,UACAA,YAAW,SACX,KAAK,oBAAoB,CAAC,EAAE,KAAK,WAAW,GAC9C;AACE,mBAAO;AAAA,UACX,WACI,UACAA,YAAW,QACX,KAAK,kBAAkB,CAAC,EAAE,KAAK,WAAW,GAC5C;AACE,mBAAO;AAAA,UACX,WAAW,CAAC,UAAU,KAAK,eAAe,CAAC,EAAE,KAAK,WAAW,GAAG;AAC5D,mBAAO;AAAA,UACX;AAAA,QACJ;AAAA,MACJ;AAIA,eAAS,gBAAgB,OAAO;AAC5B,YAAI,CAAC,KAAK,QAAQ,GAAG;AACjB,iBAAO,SAAS,OAAO,OAAO;AAAA,QAClC;AACA,YAAI,MAAM,KAAK,SAAS,KAAK,GAAG,UAAU,IAAI,KAAK,GAAG,OAAO;AAC7D,YAAI,SAAS,MAAM;AACf,kBAAQ,aAAa,OAAO,KAAK,WAAW,CAAC;AAC7C,iBAAO,KAAK,IAAI,QAAQ,KAAK,GAAG;AAAA,QACpC,OAAO;AACH,iBAAO;AAAA,QACX;AAAA,MACJ;AAEA,eAAS,sBAAsB,OAAO;AAClC,YAAI,CAAC,KAAK,QAAQ,GAAG;AACjB,iBAAO,SAAS,OAAO,OAAO;AAAA,QAClC;AACA,YAAI,WAAW,KAAK,IAAI,IAAI,IAAI,KAAK,WAAW,EAAE,MAAM,OAAO;AAC/D,eAAO,SAAS,OAAO,UAAU,KAAK,IAAI,QAAQ,SAAS,GAAG;AAAA,MAClE;AAEA,eAAS,mBAAmB,OAAO;AAC/B,YAAI,CAAC,KAAK,QAAQ,GAAG;AACjB,iBAAO,SAAS,OAAO,OAAO;AAAA,QAClC;AAMA,YAAI,SAAS,MAAM;AACf,cAAI,UAAU,gBAAgB,OAAO,KAAK,WAAW,CAAC;AACtD,iBAAO,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,UAAU,UAAU,CAAC;AAAA,QAC1D,OAAO;AACH,iBAAO,KAAK,IAAI,KAAK;AAAA,QACzB;AAAA,MACJ;AAEA,eAAS,cAAc,UAAU;AAC7B,YAAI,KAAK,qBAAqB;AAC1B,cAAI,CAAC,WAAW,MAAM,gBAAgB,GAAG;AACrC,iCAAqB,KAAK,IAAI;AAAA,UAClC;AACA,cAAI,UAAU;AACV,mBAAO,KAAK;AAAA,UAChB,OAAO;AACH,mBAAO,KAAK;AAAA,UAChB;AAAA,QACJ,OAAO;AACH,cAAI,CAAC,WAAW,MAAM,gBAAgB,GAAG;AACrC,iBAAK,iBAAiB;AAAA,UAC1B;AACA,iBAAO,KAAK,wBAAwB,WAC9B,KAAK,uBACL,KAAK;AAAA,QACf;AAAA,MACJ;AAEA,eAAS,mBAAmB,UAAU;AAClC,YAAI,KAAK,qBAAqB;AAC1B,cAAI,CAAC,WAAW,MAAM,gBAAgB,GAAG;AACrC,iCAAqB,KAAK,IAAI;AAAA,UAClC;AACA,cAAI,UAAU;AACV,mBAAO,KAAK;AAAA,UAChB,OAAO;AACH,mBAAO,KAAK;AAAA,UAChB;AAAA,QACJ,OAAO;AACH,cAAI,CAAC,WAAW,MAAM,qBAAqB,GAAG;AAC1C,iBAAK,sBAAsB;AAAA,UAC/B;AACA,iBAAO,KAAK,6BAA6B,WACnC,KAAK,4BACL,KAAK;AAAA,QACf;AAAA,MACJ;AAEA,eAAS,iBAAiB,UAAU;AAChC,YAAI,KAAK,qBAAqB;AAC1B,cAAI,CAAC,WAAW,MAAM,gBAAgB,GAAG;AACrC,iCAAqB,KAAK,IAAI;AAAA,UAClC;AACA,cAAI,UAAU;AACV,mBAAO,KAAK;AAAA,UAChB,OAAO;AACH,mBAAO,KAAK;AAAA,UAChB;AAAA,QACJ,OAAO;AACH,cAAI,CAAC,WAAW,MAAM,mBAAmB,GAAG;AACxC,iBAAK,oBAAoB;AAAA,UAC7B;AACA,iBAAO,KAAK,2BAA2B,WACjC,KAAK,0BACL,KAAK;AAAA,QACf;AAAA,MACJ;AAEA,eAAS,uBAAuB;AAC5B,iBAAS,UAAU,GAAG,GAAG;AACrB,iBAAO,EAAE,SAAS,EAAE;AAAA,QACxB;AAEA,YAAI,YAAY,CAAC,GACb,cAAc,CAAC,GACf,aAAa,CAAC,GACd,cAAc,CAAC,GACf,GACA,KACA,MACA,QACA;AACJ,aAAK,IAAI,GAAG,IAAI,GAAG,KAAK;AAEpB,gBAAM,UAAU,CAAC,KAAM,CAAC,CAAC,EAAE,IAAI,CAAC;AAChC,iBAAO,YAAY,KAAK,YAAY,KAAK,EAAE,CAAC;AAC5C,mBAAS,YAAY,KAAK,cAAc,KAAK,EAAE,CAAC;AAChD,kBAAQ,YAAY,KAAK,SAAS,KAAK,EAAE,CAAC;AAC1C,oBAAU,KAAK,IAAI;AACnB,sBAAY,KAAK,MAAM;AACvB,qBAAW,KAAK,KAAK;AACrB,sBAAY,KAAK,IAAI;AACrB,sBAAY,KAAK,MAAM;AACvB,sBAAY,KAAK,KAAK;AAAA,QAC1B;AAGA,kBAAU,KAAK,SAAS;AACxB,oBAAY,KAAK,SAAS;AAC1B,mBAAW,KAAK,SAAS;AACzB,oBAAY,KAAK,SAAS;AAE1B,aAAK,iBAAiB,IAAI,OAAO,OAAO,YAAY,KAAK,GAAG,IAAI,KAAK,GAAG;AACxE,aAAK,sBAAsB,KAAK;AAChC,aAAK,oBAAoB,KAAK;AAE9B,aAAK,uBAAuB,IAAI;AAAA,UAC5B,OAAO,WAAW,KAAK,GAAG,IAAI;AAAA,UAC9B;AAAA,QACJ;AACA,aAAK,4BAA4B,IAAI;AAAA,UACjC,OAAO,YAAY,KAAK,GAAG,IAAI;AAAA,UAC/B;AAAA,QACJ;AACA,aAAK,0BAA0B,IAAI;AAAA,UAC/B,OAAO,UAAU,KAAK,GAAG,IAAI;AAAA,UAC7B;AAAA,QACJ;AAAA,MACJ;AAIA,eAAS,UAAU;AACf,eAAO,KAAK,MAAM,IAAI,MAAM;AAAA,MAChC;AAEA,eAAS,UAAU;AACf,eAAO,KAAK,MAAM,KAAK;AAAA,MAC3B;AAEA,qBAAe,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM;AACxC,qBAAe,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,OAAO;AACzC,qBAAe,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,OAAO;AAEzC,qBAAe,OAAO,GAAG,GAAG,WAAY;AACpC,eAAO,KAAK,QAAQ,MAAM,IAAI,IAAI,SAAS,KAAK,QAAQ,GAAG,CAAC;AAAA,MAChE,CAAC;AAED,qBAAe,SAAS,GAAG,GAAG,WAAY;AACtC,eACI,KACA,QAAQ,MAAM,IAAI,IAClB,SAAS,KAAK,QAAQ,GAAG,CAAC,IAC1B,SAAS,KAAK,QAAQ,GAAG,CAAC;AAAA,MAElC,CAAC;AAED,qBAAe,OAAO,GAAG,GAAG,WAAY;AACpC,eAAO,KAAK,KAAK,MAAM,IAAI,SAAS,KAAK,QAAQ,GAAG,CAAC;AAAA,MACzD,CAAC;AAED,qBAAe,SAAS,GAAG,GAAG,WAAY;AACtC,eACI,KACA,KAAK,MAAM,IACX,SAAS,KAAK,QAAQ,GAAG,CAAC,IAC1B,SAAS,KAAK,QAAQ,GAAG,CAAC;AAAA,MAElC,CAAC;AAED,eAAS,SAASS,QAAO,WAAW;AAChC,uBAAeA,QAAO,GAAG,GAAG,WAAY;AACpC,iBAAO,KAAK,WAAW,EAAE;AAAA,YACrB,KAAK,MAAM;AAAA,YACX,KAAK,QAAQ;AAAA,YACb;AAAA,UACJ;AAAA,QACJ,CAAC;AAAA,MACL;AAEA,eAAS,KAAK,IAAI;AAClB,eAAS,KAAK,KAAK;AAInB,mBAAa,QAAQ,GAAG;AAGxB,sBAAgB,QAAQ,EAAE;AAI1B,eAAS,cAAc,UAAUR,SAAQ;AACrC,eAAOA,QAAO;AAAA,MAClB;AAEA,oBAAc,KAAK,aAAa;AAChC,oBAAc,KAAK,aAAa;AAChC,oBAAc,KAAK,SAAS;AAC5B,oBAAc,KAAK,SAAS;AAC5B,oBAAc,KAAK,SAAS;AAC5B,oBAAc,MAAM,WAAW,MAAM;AACrC,oBAAc,MAAM,WAAW,MAAM;AACrC,oBAAc,MAAM,WAAW,MAAM;AAErC,oBAAc,OAAO,SAAS;AAC9B,oBAAc,SAAS,SAAS;AAChC,oBAAc,OAAO,SAAS;AAC9B,oBAAc,SAAS,SAAS;AAEhC,oBAAc,CAAC,KAAK,IAAI,GAAG,IAAI;AAC/B,oBAAc,CAAC,KAAK,IAAI,GAAG,SAAU,OAAO,OAAO,QAAQ;AACvD,YAAI,SAAS,MAAM,KAAK;AACxB,cAAM,IAAI,IAAI,WAAW,KAAK,IAAI;AAAA,MACtC,CAAC;AACD,oBAAc,CAAC,KAAK,GAAG,GAAG,SAAU,OAAO,OAAO,QAAQ;AACtD,eAAO,QAAQ,OAAO,QAAQ,KAAK,KAAK;AACxC,eAAO,YAAY;AAAA,MACvB,CAAC;AACD,oBAAc,CAAC,KAAK,IAAI,GAAG,SAAU,OAAO,OAAO,QAAQ;AACvD,cAAM,IAAI,IAAI,MAAM,KAAK;AACzB,wBAAgB,MAAM,EAAE,UAAU;AAAA,MACtC,CAAC;AACD,oBAAc,OAAO,SAAU,OAAO,OAAO,QAAQ;AACjD,YAAI,MAAM,MAAM,SAAS;AACzB,cAAM,IAAI,IAAI,MAAM,MAAM,OAAO,GAAG,GAAG,CAAC;AACxC,cAAM,MAAM,IAAI,MAAM,MAAM,OAAO,GAAG,CAAC;AACvC,wBAAgB,MAAM,EAAE,UAAU;AAAA,MACtC,CAAC;AACD,oBAAc,SAAS,SAAU,OAAO,OAAO,QAAQ;AACnD,YAAI,OAAO,MAAM,SAAS,GACtB,OAAO,MAAM,SAAS;AAC1B,cAAM,IAAI,IAAI,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC;AACzC,cAAM,MAAM,IAAI,MAAM,MAAM,OAAO,MAAM,CAAC,CAAC;AAC3C,cAAM,MAAM,IAAI,MAAM,MAAM,OAAO,IAAI,CAAC;AACxC,wBAAgB,MAAM,EAAE,UAAU;AAAA,MACtC,CAAC;AACD,oBAAc,OAAO,SAAU,OAAO,OAAO,QAAQ;AACjD,YAAI,MAAM,MAAM,SAAS;AACzB,cAAM,IAAI,IAAI,MAAM,MAAM,OAAO,GAAG,GAAG,CAAC;AACxC,cAAM,MAAM,IAAI,MAAM,MAAM,OAAO,GAAG,CAAC;AAAA,MAC3C,CAAC;AACD,oBAAc,SAAS,SAAU,OAAO,OAAO,QAAQ;AACnD,YAAI,OAAO,MAAM,SAAS,GACtB,OAAO,MAAM,SAAS;AAC1B,cAAM,IAAI,IAAI,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC;AACzC,cAAM,MAAM,IAAI,MAAM,MAAM,OAAO,MAAM,CAAC,CAAC;AAC3C,cAAM,MAAM,IAAI,MAAM,MAAM,OAAO,IAAI,CAAC;AAAA,MAC5C,CAAC;AAID,eAAS,WAAW,OAAO;AAGvB,gBAAQ,QAAQ,IAAI,YAAY,EAAE,OAAO,CAAC,MAAM;AAAA,MACpD;AAEA,UAAI,6BAA6B,iBAK7B,aAAa,WAAW,SAAS,IAAI;AAEzC,eAAS,eAAec,QAAOC,UAAS,SAAS;AAC7C,YAAID,SAAQ,IAAI;AACZ,iBAAO,UAAU,OAAO;AAAA,QAC5B,OAAO;AACH,iBAAO,UAAU,OAAO;AAAA,QAC5B;AAAA,MACJ;AAEA,UAAI,aAAa;AAAA,QACb,UAAU;AAAA,QACV,gBAAgB;AAAA,QAChB,aAAa;AAAA,QACb,SAAS;AAAA,QACT,wBAAwB;AAAA,QACxB,cAAc;AAAA,QAEd,QAAQ;AAAA,QACR,aAAa;AAAA,QAEb,MAAM;AAAA,QAEN,UAAU;AAAA,QACV,aAAa;AAAA,QACb,eAAe;AAAA,QAEf,eAAe;AAAA,MACnB;AAGA,UAAI,UAAU,CAAC,GACX,iBAAiB,CAAC,GAClB;AAEJ,eAAS,aAAa,MAAM,MAAM;AAC9B,YAAI,GACA,OAAO,KAAK,IAAI,KAAK,QAAQ,KAAK,MAAM;AAC5C,aAAK,IAAI,GAAG,IAAI,MAAM,KAAK,GAAG;AAC1B,cAAI,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG;AACrB,mBAAO;AAAA,UACX;AAAA,QACJ;AACA,eAAO;AAAA,MACX;AAEA,eAAS,gBAAgB,KAAK;AAC1B,eAAO,MAAM,IAAI,YAAY,EAAE,QAAQ,KAAK,GAAG,IAAI;AAAA,MACvD;AAKA,eAAS,aAAa,OAAO;AACzB,YAAI,IAAI,GACJ,GACAE,OACAhB,SACA;AAEJ,eAAO,IAAI,MAAM,QAAQ;AACrB,kBAAQ,gBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG;AAC3C,cAAI,MAAM;AACV,UAAAgB,QAAO,gBAAgB,MAAM,IAAI,CAAC,CAAC;AACnC,UAAAA,QAAOA,QAAOA,MAAK,MAAM,GAAG,IAAI;AAChC,iBAAO,IAAI,GAAG;AACV,YAAAhB,UAAS,WAAW,MAAM,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC;AAC/C,gBAAIA,SAAQ;AACR,qBAAOA;AAAA,YACX;AACA,gBACIgB,SACAA,MAAK,UAAU,KACf,aAAa,OAAOA,KAAI,KAAK,IAAI,GACnC;AAEE;AAAA,YACJ;AACA;AAAA,UACJ;AACA;AAAA,QACJ;AACA,eAAO;AAAA,MACX;AAEA,eAAS,iBAAiB,MAAM;AAE5B,eAAO,KAAK,MAAM,aAAa,KAAK;AAAA,MACxC;AAEA,eAAS,WAAW,MAAM;AACtB,YAAI,YAAY,MACZ;AAEJ,YACI,QAAQ,IAAI,MAAM,UAClB,OAAOpB,YAAW,eAClBA,WACAA,QAAO,WACP,iBAAiB,IAAI,GACvB;AACE,cAAI;AACA,wBAAY,aAAa;AACzB,6BAAiB;AACjB,2BAAe,cAAc,IAAI;AACjC,+BAAmB,SAAS;AAAA,UAChC,SAAS,GAAP;AAGE,oBAAQ,IAAI,IAAI;AAAA,UACpB;AAAA,QACJ;AACA,eAAO,QAAQ,IAAI;AAAA,MACvB;AAKA,eAAS,mBAAmB,KAAK,QAAQ;AACrC,YAAI;AACJ,YAAI,KAAK;AACL,cAAI,YAAY,MAAM,GAAG;AACrB,mBAAO,UAAU,GAAG;AAAA,UACxB,OAAO;AACH,mBAAO,aAAa,KAAK,MAAM;AAAA,UACnC;AAEA,cAAI,MAAM;AAEN,2BAAe;AAAA,UACnB,OAAO;AACH,gBAAI,OAAO,YAAY,eAAe,QAAQ,MAAM;AAEhD,sBAAQ;AAAA,gBACJ,YAAY,MAAM;AAAA,cACtB;AAAA,YACJ;AAAA,UACJ;AAAA,QACJ;AAEA,eAAO,aAAa;AAAA,MACxB;AAEA,eAAS,aAAa,MAAM,QAAQ;AAChC,YAAI,WAAW,MAAM;AACjB,cAAII,SACA,eAAe;AACnB,iBAAO,OAAO;AACd,cAAI,QAAQ,IAAI,KAAK,MAAM;AACvB;AAAA,cACI;AAAA,cACA;AAAA,YAIJ;AACA,2BAAe,QAAQ,IAAI,EAAE;AAAA,UACjC,WAAW,OAAO,gBAAgB,MAAM;AACpC,gBAAI,QAAQ,OAAO,YAAY,KAAK,MAAM;AACtC,6BAAe,QAAQ,OAAO,YAAY,EAAE;AAAA,YAChD,OAAO;AACH,cAAAA,UAAS,WAAW,OAAO,YAAY;AACvC,kBAAIA,WAAU,MAAM;AAChB,+BAAeA,QAAO;AAAA,cAC1B,OAAO;AACH,oBAAI,CAAC,eAAe,OAAO,YAAY,GAAG;AACtC,iCAAe,OAAO,YAAY,IAAI,CAAC;AAAA,gBAC3C;AACA,+BAAe,OAAO,YAAY,EAAE,KAAK;AAAA,kBACrC;AAAA,kBACA;AAAA,gBACJ,CAAC;AACD,uBAAO;AAAA,cACX;AAAA,YACJ;AAAA,UACJ;AACA,kBAAQ,IAAI,IAAI,IAAI,OAAO,aAAa,cAAc,MAAM,CAAC;AAE7D,cAAI,eAAe,IAAI,GAAG;AACtB,2BAAe,IAAI,EAAE,QAAQ,SAAU,GAAG;AACtC,2BAAa,EAAE,MAAM,EAAE,MAAM;AAAA,YACjC,CAAC;AAAA,UACL;AAKA,6BAAmB,IAAI;AAEvB,iBAAO,QAAQ,IAAI;AAAA,QACvB,OAAO;AAEH,iBAAO,QAAQ,IAAI;AACnB,iBAAO;AAAA,QACX;AAAA,MACJ;AAEA,eAAS,aAAa,MAAM,QAAQ;AAChC,YAAI,UAAU,MAAM;AAChB,cAAIA,SACA,WACA,eAAe;AAEnB,cAAI,QAAQ,IAAI,KAAK,QAAQ,QAAQ,IAAI,EAAE,gBAAgB,MAAM;AAE7D,oBAAQ,IAAI,EAAE,IAAI,aAAa,QAAQ,IAAI,EAAE,SAAS,MAAM,CAAC;AAAA,UACjE,OAAO;AAEH,wBAAY,WAAW,IAAI;AAC3B,gBAAI,aAAa,MAAM;AACnB,6BAAe,UAAU;AAAA,YAC7B;AACA,qBAAS,aAAa,cAAc,MAAM;AAC1C,gBAAI,aAAa,MAAM;AAInB,qBAAO,OAAO;AAAA,YAClB;AACA,YAAAA,UAAS,IAAI,OAAO,MAAM;AAC1B,YAAAA,QAAO,eAAe,QAAQ,IAAI;AAClC,oBAAQ,IAAI,IAAIA;AAAA,UACpB;AAGA,6BAAmB,IAAI;AAAA,QAC3B,OAAO;AAEH,cAAI,QAAQ,IAAI,KAAK,MAAM;AACvB,gBAAI,QAAQ,IAAI,EAAE,gBAAgB,MAAM;AACpC,sBAAQ,IAAI,IAAI,QAAQ,IAAI,EAAE;AAC9B,kBAAI,SAAS,mBAAmB,GAAG;AAC/B,mCAAmB,IAAI;AAAA,cAC3B;AAAA,YACJ,WAAW,QAAQ,IAAI,KAAK,MAAM;AAC9B,qBAAO,QAAQ,IAAI;AAAA,YACvB;AAAA,UACJ;AAAA,QACJ;AACA,eAAO,QAAQ,IAAI;AAAA,MACvB;AAGA,eAAS,UAAU,KAAK;AACpB,YAAIA;AAEJ,YAAI,OAAO,IAAI,WAAW,IAAI,QAAQ,OAAO;AACzC,gBAAM,IAAI,QAAQ;AAAA,QACtB;AAEA,YAAI,CAAC,KAAK;AACN,iBAAO;AAAA,QACX;AAEA,YAAI,CAACH,SAAQ,GAAG,GAAG;AAEf,UAAAG,UAAS,WAAW,GAAG;AACvB,cAAIA,SAAQ;AACR,mBAAOA;AAAA,UACX;AACA,gBAAM,CAAC,GAAG;AAAA,QACd;AAEA,eAAO,aAAa,GAAG;AAAA,MAC3B;AAEA,eAAS,cAAc;AACnB,eAAO,KAAK,OAAO;AAAA,MACvB;AAEA,eAAS,cAAc,GAAG;AACtB,YAAI,UACA,IAAI,EAAE;AAEV,YAAI,KAAK,gBAAgB,CAAC,EAAE,aAAa,IAAI;AACzC,qBACI,EAAE,KAAK,IAAI,KAAK,EAAE,KAAK,IAAI,KACrB,QACA,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,YAAY,EAAE,IAAI,GAAG,EAAE,KAAK,CAAC,IACtD,OACA,EAAE,IAAI,IAAI,KACV,EAAE,IAAI,IAAI,MACT,EAAE,IAAI,MAAM,OACR,EAAE,MAAM,MAAM,KACX,EAAE,MAAM,MAAM,KACd,EAAE,WAAW,MAAM,KAC3B,OACA,EAAE,MAAM,IAAI,KAAK,EAAE,MAAM,IAAI,KAC7B,SACA,EAAE,MAAM,IAAI,KAAK,EAAE,MAAM,IAAI,KAC7B,SACA,EAAE,WAAW,IAAI,KAAK,EAAE,WAAW,IAAI,MACvC,cACA;AAEV,cACI,gBAAgB,CAAC,EAAE,uBAClB,WAAW,QAAQ,WAAW,OACjC;AACE,uBAAW;AAAA,UACf;AACA,cAAI,gBAAgB,CAAC,EAAE,kBAAkB,aAAa,IAAI;AACtD,uBAAW;AAAA,UACf;AACA,cAAI,gBAAgB,CAAC,EAAE,oBAAoB,aAAa,IAAI;AACxD,uBAAW;AAAA,UACf;AAEA,0BAAgB,CAAC,EAAE,WAAW;AAAA,QAClC;AAEA,eAAO;AAAA,MACX;AAIA,UAAI,mBACI,kJACJ,gBACI,8IACJ,UAAU,yBACV,WAAW;AAAA,QACP,CAAC,gBAAgB,qBAAqB;AAAA,QACtC,CAAC,cAAc,iBAAiB;AAAA,QAChC,CAAC,gBAAgB,gBAAgB;AAAA,QACjC,CAAC,cAAc,eAAe,KAAK;AAAA,QACnC,CAAC,YAAY,aAAa;AAAA,QAC1B,CAAC,WAAW,cAAc,KAAK;AAAA,QAC/B,CAAC,cAAc,YAAY;AAAA,QAC3B,CAAC,YAAY,OAAO;AAAA,QACpB,CAAC,cAAc,aAAa;AAAA,QAC5B,CAAC,aAAa,eAAe,KAAK;AAAA,QAClC,CAAC,WAAW,OAAO;AAAA,QACnB,CAAC,UAAU,SAAS,KAAK;AAAA,QACzB,CAAC,QAAQ,SAAS,KAAK;AAAA,MAC3B,GAEA,WAAW;AAAA,QACP,CAAC,iBAAiB,qBAAqB;AAAA,QACvC,CAAC,iBAAiB,oBAAoB;AAAA,QACtC,CAAC,YAAY,gBAAgB;AAAA,QAC7B,CAAC,SAAS,WAAW;AAAA,QACrB,CAAC,eAAe,mBAAmB;AAAA,QACnC,CAAC,eAAe,kBAAkB;AAAA,QAClC,CAAC,UAAU,cAAc;AAAA,QACzB,CAAC,QAAQ,UAAU;AAAA,QACnB,CAAC,MAAM,MAAM;AAAA,MACjB,GACA,kBAAkB,sBAElB,UACI,2LACJ,aAAa;AAAA,QACT,IAAI;AAAA,QACJ,KAAK;AAAA,QACL,KAAK,KAAK;AAAA,QACV,KAAK,KAAK;AAAA,QACV,KAAK,KAAK;AAAA,QACV,KAAK,KAAK;AAAA,QACV,KAAK,KAAK;AAAA,QACV,KAAK,KAAK;AAAA,QACV,KAAK,KAAK;AAAA,QACV,KAAK,KAAK;AAAA,MACd;AAGJ,eAAS,cAAc,QAAQ;AAC3B,YAAI,GACA,GACA,SAAS,OAAO,IAChBiB,SAAQ,iBAAiB,KAAK,MAAM,KAAK,cAAc,KAAK,MAAM,GAClE,WACA,YACA,YACA,UACA,cAAc,SAAS,QACvB,cAAc,SAAS;AAE3B,YAAIA,QAAO;AACP,0BAAgB,MAAM,EAAE,MAAM;AAC9B,eAAK,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,KAAK;AACrC,gBAAI,SAAS,CAAC,EAAE,CAAC,EAAE,KAAKA,OAAM,CAAC,CAAC,GAAG;AAC/B,2BAAa,SAAS,CAAC,EAAE,CAAC;AAC1B,0BAAY,SAAS,CAAC,EAAE,CAAC,MAAM;AAC/B;AAAA,YACJ;AAAA,UACJ;AACA,cAAI,cAAc,MAAM;AACpB,mBAAO,WAAW;AAClB;AAAA,UACJ;AACA,cAAIA,OAAM,CAAC,GAAG;AACV,iBAAK,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,KAAK;AACrC,kBAAI,SAAS,CAAC,EAAE,CAAC,EAAE,KAAKA,OAAM,CAAC,CAAC,GAAG;AAE/B,8BAAcA,OAAM,CAAC,KAAK,OAAO,SAAS,CAAC,EAAE,CAAC;AAC9C;AAAA,cACJ;AAAA,YACJ;AACA,gBAAI,cAAc,MAAM;AACpB,qBAAO,WAAW;AAClB;AAAA,YACJ;AAAA,UACJ;AACA,cAAI,CAAC,aAAa,cAAc,MAAM;AAClC,mBAAO,WAAW;AAClB;AAAA,UACJ;AACA,cAAIA,OAAM,CAAC,GAAG;AACV,gBAAI,QAAQ,KAAKA,OAAM,CAAC,CAAC,GAAG;AACxB,yBAAW;AAAA,YACf,OAAO;AACH,qBAAO,WAAW;AAClB;AAAA,YACJ;AAAA,UACJ;AACA,iBAAO,KAAK,cAAc,cAAc,OAAO,YAAY;AAC3D,oCAA0B,MAAM;AAAA,QACpC,OAAO;AACH,iBAAO,WAAW;AAAA,QACtB;AAAA,MACJ;AAEA,eAAS,0BACL,SACA,UACA,QACA,SACA,WACA,WACF;AACE,YAAI,SAAS;AAAA,UACT,eAAe,OAAO;AAAA,UACtB,yBAAyB,QAAQ,QAAQ;AAAA,UACzC,SAAS,QAAQ,EAAE;AAAA,UACnB,SAAS,SAAS,EAAE;AAAA,UACpB,SAAS,WAAW,EAAE;AAAA,QAC1B;AAEA,YAAI,WAAW;AACX,iBAAO,KAAK,SAAS,WAAW,EAAE,CAAC;AAAA,QACvC;AAEA,eAAO;AAAA,MACX;AAEA,eAAS,eAAe,SAAS;AAC7B,YAAI,OAAO,SAAS,SAAS,EAAE;AAC/B,YAAI,QAAQ,IAAI;AACZ,iBAAO,MAAO;AAAA,QAClB,WAAW,QAAQ,KAAK;AACpB,iBAAO,OAAO;AAAA,QAClB;AACA,eAAO;AAAA,MACX;AAEA,eAAS,kBAAkB,GAAG;AAE1B,eAAO,EACF,QAAQ,sBAAsB,GAAG,EACjC,QAAQ,YAAY,GAAG,EACvB,QAAQ,UAAU,EAAE,EACpB,QAAQ,UAAU,EAAE;AAAA,MAC7B;AAEA,eAAS,aAAa,YAAY,aAAa,QAAQ;AACnD,YAAI,YAAY;AAEZ,cAAI,kBAAkB,2BAA2B,QAAQ,UAAU,GAC/D,gBAAgB,IAAI;AAAA,YAChB,YAAY,CAAC;AAAA,YACb,YAAY,CAAC;AAAA,YACb,YAAY,CAAC;AAAA,UACjB,EAAE,OAAO;AACb,cAAI,oBAAoB,eAAe;AACnC,4BAAgB,MAAM,EAAE,kBAAkB;AAC1C,mBAAO,WAAW;AAClB,mBAAO;AAAA,UACX;AAAA,QACJ;AACA,eAAO;AAAA,MACX;AAEA,eAAS,gBAAgB,WAAW,gBAAgB,WAAW;AAC3D,YAAI,WAAW;AACX,iBAAO,WAAW,SAAS;AAAA,QAC/B,WAAW,gBAAgB;AAEvB,iBAAO;AAAA,QACX,OAAO;AACH,cAAI,KAAK,SAAS,WAAW,EAAE,GAC3B,IAAI,KAAK,KACT,KAAK,KAAK,KAAK;AACnB,iBAAO,IAAI,KAAK;AAAA,QACpB;AAAA,MACJ;AAGA,eAAS,kBAAkB,QAAQ;AAC/B,YAAIA,SAAQ,QAAQ,KAAK,kBAAkB,OAAO,EAAE,CAAC,GACjD;AACJ,YAAIA,QAAO;AACP,wBAAc;AAAA,YACVA,OAAM,CAAC;AAAA,YACPA,OAAM,CAAC;AAAA,YACPA,OAAM,CAAC;AAAA,YACPA,OAAM,CAAC;AAAA,YACPA,OAAM,CAAC;AAAA,YACPA,OAAM,CAAC;AAAA,UACX;AACA,cAAI,CAAC,aAAaA,OAAM,CAAC,GAAG,aAAa,MAAM,GAAG;AAC9C;AAAA,UACJ;AAEA,iBAAO,KAAK;AACZ,iBAAO,OAAO,gBAAgBA,OAAM,CAAC,GAAGA,OAAM,CAAC,GAAGA,OAAM,EAAE,CAAC;AAE3D,iBAAO,KAAK,cAAc,MAAM,MAAM,OAAO,EAAE;AAC/C,iBAAO,GAAG,cAAc,OAAO,GAAG,cAAc,IAAI,OAAO,IAAI;AAE/D,0BAAgB,MAAM,EAAE,UAAU;AAAA,QACtC,OAAO;AACH,iBAAO,WAAW;AAAA,QACtB;AAAA,MACJ;AAGA,eAAS,iBAAiB,QAAQ;AAC9B,YAAI,UAAU,gBAAgB,KAAK,OAAO,EAAE;AAC5C,YAAI,YAAY,MAAM;AAClB,iBAAO,KAAK,oBAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;AAChC;AAAA,QACJ;AAEA,sBAAc,MAAM;AACpB,YAAI,OAAO,aAAa,OAAO;AAC3B,iBAAO,OAAO;AAAA,QAClB,OAAO;AACH;AAAA,QACJ;AAEA,0BAAkB,MAAM;AACxB,YAAI,OAAO,aAAa,OAAO;AAC3B,iBAAO,OAAO;AAAA,QAClB,OAAO;AACH;AAAA,QACJ;AAEA,YAAI,OAAO,SAAS;AAChB,iBAAO,WAAW;AAAA,QACtB,OAAO;AAEH,gBAAM,wBAAwB,MAAM;AAAA,QACxC;AAAA,MACJ;AAEA,YAAM,0BAA0B;AAAA,QAC5B;AAAA,QAGA,SAAU,QAAQ;AACd,iBAAO,KAAK,oBAAI,KAAK,OAAO,MAAM,OAAO,UAAU,SAAS,GAAG;AAAA,QACnE;AAAA,MACJ;AAGA,eAAS,SAAS,GAAG,GAAG,GAAG;AACvB,YAAI,KAAK,MAAM;AACX,iBAAO;AAAA,QACX;AACA,YAAI,KAAK,MAAM;AACX,iBAAO;AAAA,QACX;AACA,eAAO;AAAA,MACX;AAEA,eAAS,iBAAiB,QAAQ;AAE9B,YAAI,WAAW,IAAI,KAAK,MAAM,IAAI,CAAC;AACnC,YAAI,OAAO,SAAS;AAChB,iBAAO;AAAA,YACH,SAAS,eAAe;AAAA,YACxB,SAAS,YAAY;AAAA,YACrB,SAAS,WAAW;AAAA,UACxB;AAAA,QACJ;AACA,eAAO,CAAC,SAAS,YAAY,GAAG,SAAS,SAAS,GAAG,SAAS,QAAQ,CAAC;AAAA,MAC3E;AAMA,eAAS,gBAAgB,QAAQ;AAC7B,YAAI,GACA,MACA,QAAQ,CAAC,GACT,aACA,iBACA;AAEJ,YAAI,OAAO,IAAI;AACX;AAAA,QACJ;AAEA,sBAAc,iBAAiB,MAAM;AAGrC,YAAI,OAAO,MAAM,OAAO,GAAG,IAAI,KAAK,QAAQ,OAAO,GAAG,KAAK,KAAK,MAAM;AAClE,gCAAsB,MAAM;AAAA,QAChC;AAGA,YAAI,OAAO,cAAc,MAAM;AAC3B,sBAAY,SAAS,OAAO,GAAG,IAAI,GAAG,YAAY,IAAI,CAAC;AAEvD,cACI,OAAO,aAAa,WAAW,SAAS,KACxC,OAAO,eAAe,GACxB;AACE,4BAAgB,MAAM,EAAE,qBAAqB;AAAA,UACjD;AAEA,iBAAO,cAAc,WAAW,GAAG,OAAO,UAAU;AACpD,iBAAO,GAAG,KAAK,IAAI,KAAK,YAAY;AACpC,iBAAO,GAAG,IAAI,IAAI,KAAK,WAAW;AAAA,QACtC;AAOA,aAAK,IAAI,GAAG,IAAI,KAAK,OAAO,GAAG,CAAC,KAAK,MAAM,EAAE,GAAG;AAC5C,iBAAO,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,YAAY,CAAC;AAAA,QAC3C;AAGA,eAAO,IAAI,GAAG,KAAK;AACf,iBAAO,GAAG,CAAC,IAAI,MAAM,CAAC,IAClB,OAAO,GAAG,CAAC,KAAK,OAAQ,MAAM,IAAI,IAAI,IAAK,OAAO,GAAG,CAAC;AAAA,QAC9D;AAGA,YACI,OAAO,GAAG,IAAI,MAAM,MACpB,OAAO,GAAG,MAAM,MAAM,KACtB,OAAO,GAAG,MAAM,MAAM,KACtB,OAAO,GAAG,WAAW,MAAM,GAC7B;AACE,iBAAO,WAAW;AAClB,iBAAO,GAAG,IAAI,IAAI;AAAA,QACtB;AAEA,eAAO,MAAM,OAAO,UAAU,gBAAgB,YAAY;AAAA,UACtD;AAAA,UACA;AAAA,QACJ;AACA,0BAAkB,OAAO,UACnB,OAAO,GAAG,UAAU,IACpB,OAAO,GAAG,OAAO;AAIvB,YAAI,OAAO,QAAQ,MAAM;AACrB,iBAAO,GAAG,cAAc,OAAO,GAAG,cAAc,IAAI,OAAO,IAAI;AAAA,QACnE;AAEA,YAAI,OAAO,UAAU;AACjB,iBAAO,GAAG,IAAI,IAAI;AAAA,QACtB;AAGA,YACI,OAAO,MACP,OAAO,OAAO,GAAG,MAAM,eACvB,OAAO,GAAG,MAAM,iBAClB;AACE,0BAAgB,MAAM,EAAE,kBAAkB;AAAA,QAC9C;AAAA,MACJ;AAEA,eAAS,sBAAsB,QAAQ;AACnC,YAAI,GAAG,UAAU,MAAM,SAAS,KAAK,KAAK,MAAM,iBAAiB;AAEjE,YAAI,OAAO;AACX,YAAI,EAAE,MAAM,QAAQ,EAAE,KAAK,QAAQ,EAAE,KAAK,MAAM;AAC5C,gBAAM;AACN,gBAAM;AAMN,qBAAW;AAAA,YACP,EAAE;AAAA,YACF,OAAO,GAAG,IAAI;AAAA,YACd,WAAW,YAAY,GAAG,GAAG,CAAC,EAAE;AAAA,UACpC;AACA,iBAAO,SAAS,EAAE,GAAG,CAAC;AACtB,oBAAU,SAAS,EAAE,GAAG,CAAC;AACzB,cAAI,UAAU,KAAK,UAAU,GAAG;AAC5B,8BAAkB;AAAA,UACtB;AAAA,QACJ,OAAO;AACH,gBAAM,OAAO,QAAQ,MAAM;AAC3B,gBAAM,OAAO,QAAQ,MAAM;AAE3B,oBAAU,WAAW,YAAY,GAAG,KAAK,GAAG;AAE5C,qBAAW,SAAS,EAAE,IAAI,OAAO,GAAG,IAAI,GAAG,QAAQ,IAAI;AAGvD,iBAAO,SAAS,EAAE,GAAG,QAAQ,IAAI;AAEjC,cAAI,EAAE,KAAK,MAAM;AAEb,sBAAU,EAAE;AACZ,gBAAI,UAAU,KAAK,UAAU,GAAG;AAC5B,gCAAkB;AAAA,YACtB;AAAA,UACJ,WAAW,EAAE,KAAK,MAAM;AAEpB,sBAAU,EAAE,IAAI;AAChB,gBAAI,EAAE,IAAI,KAAK,EAAE,IAAI,GAAG;AACpB,gCAAkB;AAAA,YACtB;AAAA,UACJ,OAAO;AAEH,sBAAU;AAAA,UACd;AAAA,QACJ;AACA,YAAI,OAAO,KAAK,OAAO,YAAY,UAAU,KAAK,GAAG,GAAG;AACpD,0BAAgB,MAAM,EAAE,iBAAiB;AAAA,QAC7C,WAAW,mBAAmB,MAAM;AAChC,0BAAgB,MAAM,EAAE,mBAAmB;AAAA,QAC/C,OAAO;AACH,iBAAO,mBAAmB,UAAU,MAAM,SAAS,KAAK,GAAG;AAC3D,iBAAO,GAAG,IAAI,IAAI,KAAK;AACvB,iBAAO,aAAa,KAAK;AAAA,QAC7B;AAAA,MACJ;AAGA,YAAM,WAAW,WAAY;AAAA,MAAC;AAG9B,YAAM,WAAW,WAAY;AAAA,MAAC;AAG9B,eAAS,0BAA0B,QAAQ;AAEvC,YAAI,OAAO,OAAO,MAAM,UAAU;AAC9B,wBAAc,MAAM;AACpB;AAAA,QACJ;AACA,YAAI,OAAO,OAAO,MAAM,UAAU;AAC9B,4BAAkB,MAAM;AACxB;AAAA,QACJ;AACA,eAAO,KAAK,CAAC;AACb,wBAAgB,MAAM,EAAE,QAAQ;AAGhC,YAAI,SAAS,KAAK,OAAO,IACrB,GACA,aACAC,SACAV,QACA,SACA,eAAe,OAAO,QACtB,yBAAyB,GACzB,KACA;AAEJ,QAAAU,UACI,aAAa,OAAO,IAAI,OAAO,OAAO,EAAE,MAAM,gBAAgB,KAAK,CAAC;AACxE,mBAAWA,QAAO;AAClB,aAAK,IAAI,GAAG,IAAI,UAAU,KAAK;AAC3B,UAAAV,SAAQU,QAAO,CAAC;AAChB,yBAAe,OAAO,MAAM,sBAAsBV,QAAO,MAAM,CAAC,KAC5D,CAAC,GAAG,CAAC;AACT,cAAI,aAAa;AACb,sBAAU,OAAO,OAAO,GAAG,OAAO,QAAQ,WAAW,CAAC;AACtD,gBAAI,QAAQ,SAAS,GAAG;AACpB,8BAAgB,MAAM,EAAE,YAAY,KAAK,OAAO;AAAA,YACpD;AACA,qBAAS,OAAO;AAAA,cACZ,OAAO,QAAQ,WAAW,IAAI,YAAY;AAAA,YAC9C;AACA,sCAA0B,YAAY;AAAA,UAC1C;AAEA,cAAI,qBAAqBA,MAAK,GAAG;AAC7B,gBAAI,aAAa;AACb,8BAAgB,MAAM,EAAE,QAAQ;AAAA,YACpC,OAAO;AACH,8BAAgB,MAAM,EAAE,aAAa,KAAKA,MAAK;AAAA,YACnD;AACA,oCAAwBA,QAAO,aAAa,MAAM;AAAA,UACtD,WAAW,OAAO,WAAW,CAAC,aAAa;AACvC,4BAAgB,MAAM,EAAE,aAAa,KAAKA,MAAK;AAAA,UACnD;AAAA,QACJ;AAGA,wBAAgB,MAAM,EAAE,gBACpB,eAAe;AACnB,YAAI,OAAO,SAAS,GAAG;AACnB,0BAAgB,MAAM,EAAE,YAAY,KAAK,MAAM;AAAA,QACnD;AAGA,YACI,OAAO,GAAG,IAAI,KAAK,MACnB,gBAAgB,MAAM,EAAE,YAAY,QACpC,OAAO,GAAG,IAAI,IAAI,GACpB;AACE,0BAAgB,MAAM,EAAE,UAAU;AAAA,QACtC;AAEA,wBAAgB,MAAM,EAAE,kBAAkB,OAAO,GAAG,MAAM,CAAC;AAC3D,wBAAgB,MAAM,EAAE,WAAW,OAAO;AAE1C,eAAO,GAAG,IAAI,IAAI;AAAA,UACd,OAAO;AAAA,UACP,OAAO,GAAG,IAAI;AAAA,UACd,OAAO;AAAA,QACX;AAGA,cAAM,gBAAgB,MAAM,EAAE;AAC9B,YAAI,QAAQ,MAAM;AACd,iBAAO,GAAG,IAAI,IAAI,OAAO,QAAQ,gBAAgB,KAAK,OAAO,GAAG,IAAI,CAAC;AAAA,QACzE;AAEA,wBAAgB,MAAM;AACtB,sBAAc,MAAM;AAAA,MACxB;AAEA,eAAS,gBAAgBR,SAAQ,MAAMmB,WAAU;AAC7C,YAAI;AAEJ,YAAIA,aAAY,MAAM;AAElB,iBAAO;AAAA,QACX;AACA,YAAInB,QAAO,gBAAgB,MAAM;AAC7B,iBAAOA,QAAO,aAAa,MAAMmB,SAAQ;AAAA,QAC7C,WAAWnB,QAAO,QAAQ,MAAM;AAE5B,iBAAOA,QAAO,KAAKmB,SAAQ;AAC3B,cAAI,QAAQ,OAAO,IAAI;AACnB,oBAAQ;AAAA,UACZ;AACA,cAAI,CAAC,QAAQ,SAAS,IAAI;AACtB,mBAAO;AAAA,UACX;AACA,iBAAO;AAAA,QACX,OAAO;AAEH,iBAAO;AAAA,QACX;AAAA,MACJ;AAGA,eAAS,yBAAyB,QAAQ;AACtC,YAAI,YACA,YACA,aACA,GACA,cACA,kBACA,oBAAoB,OACpB,aAAa,OAAO,GAAG;AAE3B,YAAI,eAAe,GAAG;AAClB,0BAAgB,MAAM,EAAE,gBAAgB;AACxC,iBAAO,KAAK,oBAAI,KAAK,GAAG;AACxB;AAAA,QACJ;AAEA,aAAK,IAAI,GAAG,IAAI,YAAY,KAAK;AAC7B,yBAAe;AACf,6BAAmB;AACnB,uBAAa,WAAW,CAAC,GAAG,MAAM;AAClC,cAAI,OAAO,WAAW,MAAM;AACxB,uBAAW,UAAU,OAAO;AAAA,UAChC;AACA,qBAAW,KAAK,OAAO,GAAG,CAAC;AAC3B,oCAA0B,UAAU;AAEpC,cAAI,QAAQ,UAAU,GAAG;AACrB,+BAAmB;AAAA,UACvB;AAGA,0BAAgB,gBAAgB,UAAU,EAAE;AAG5C,0BAAgB,gBAAgB,UAAU,EAAE,aAAa,SAAS;AAElE,0BAAgB,UAAU,EAAE,QAAQ;AAEpC,cAAI,CAAC,mBAAmB;AACpB,gBACI,eAAe,QACf,eAAe,eACf,kBACF;AACE,4BAAc;AACd,2BAAa;AACb,kBAAI,kBAAkB;AAClB,oCAAoB;AAAA,cACxB;AAAA,YACJ;AAAA,UACJ,OAAO;AACH,gBAAI,eAAe,aAAa;AAC5B,4BAAc;AACd,2BAAa;AAAA,YACjB;AAAA,UACJ;AAAA,QACJ;AAEA,eAAO,QAAQ,cAAc,UAAU;AAAA,MAC3C;AAEA,eAAS,iBAAiB,QAAQ;AAC9B,YAAI,OAAO,IAAI;AACX;AAAA,QACJ;AAEA,YAAI,IAAI,qBAAqB,OAAO,EAAE,GAClC,YAAY,EAAE,QAAQ,SAAY,EAAE,OAAO,EAAE;AACjD,eAAO,KAAK;AAAA,UACR,CAAC,EAAE,MAAM,EAAE,OAAO,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW;AAAA,UACtE,SAAU,KAAK;AACX,mBAAO,OAAO,SAAS,KAAK,EAAE;AAAA,UAClC;AAAA,QACJ;AAEA,wBAAgB,MAAM;AAAA,MAC1B;AAEA,eAAS,iBAAiB,QAAQ;AAC9B,YAAI,MAAM,IAAI,OAAO,cAAc,cAAc,MAAM,CAAC,CAAC;AACzD,YAAI,IAAI,UAAU;AAEd,cAAI,IAAI,GAAG,GAAG;AACd,cAAI,WAAW;AAAA,QACnB;AAEA,eAAO;AAAA,MACX;AAEA,eAAS,cAAc,QAAQ;AAC3B,YAAI,QAAQ,OAAO,IACfpB,UAAS,OAAO;AAEpB,eAAO,UAAU,OAAO,WAAW,UAAU,OAAO,EAAE;AAEtD,YAAI,UAAU,QAASA,YAAW,UAAa,UAAU,IAAK;AAC1D,iBAAO,cAAc,EAAE,WAAW,KAAK,CAAC;AAAA,QAC5C;AAEA,YAAI,OAAO,UAAU,UAAU;AAC3B,iBAAO,KAAK,QAAQ,OAAO,QAAQ,SAAS,KAAK;AAAA,QACrD;AAEA,YAAI,SAAS,KAAK,GAAG;AACjB,iBAAO,IAAI,OAAO,cAAc,KAAK,CAAC;AAAA,QAC1C,WAAW,OAAO,KAAK,GAAG;AACtB,iBAAO,KAAK;AAAA,QAChB,WAAWF,SAAQE,OAAM,GAAG;AACxB,mCAAyB,MAAM;AAAA,QACnC,WAAWA,SAAQ;AACf,oCAA0B,MAAM;AAAA,QACpC,OAAO;AACH,0BAAgB,MAAM;AAAA,QAC1B;AAEA,YAAI,CAAC,QAAQ,MAAM,GAAG;AAClB,iBAAO,KAAK;AAAA,QAChB;AAEA,eAAO;AAAA,MACX;AAEA,eAAS,gBAAgB,QAAQ;AAC7B,YAAI,QAAQ,OAAO;AACnB,YAAI,YAAY,KAAK,GAAG;AACpB,iBAAO,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;AAAA,QACpC,WAAW,OAAO,KAAK,GAAG;AACtB,iBAAO,KAAK,IAAI,KAAK,MAAM,QAAQ,CAAC;AAAA,QACxC,WAAW,OAAO,UAAU,UAAU;AAClC,2BAAiB,MAAM;AAAA,QAC3B,WAAWF,SAAQ,KAAK,GAAG;AACvB,iBAAO,KAAK,IAAI,MAAM,MAAM,CAAC,GAAG,SAAU,KAAK;AAC3C,mBAAO,SAAS,KAAK,EAAE;AAAA,UAC3B,CAAC;AACD,0BAAgB,MAAM;AAAA,QAC1B,WAAWC,UAAS,KAAK,GAAG;AACxB,2BAAiB,MAAM;AAAA,QAC3B,WAAW,SAAS,KAAK,GAAG;AAExB,iBAAO,KAAK,IAAI,KAAK,KAAK;AAAA,QAC9B,OAAO;AACH,gBAAM,wBAAwB,MAAM;AAAA,QACxC;AAAA,MACJ;AAEA,eAAS,iBAAiB,OAAOC,SAAQC,SAAQ,QAAQ,OAAO;AAC5D,YAAI,IAAI,CAAC;AAET,YAAID,YAAW,QAAQA,YAAW,OAAO;AACrC,mBAASA;AACT,UAAAA,UAAS;AAAA,QACb;AAEA,YAAIC,YAAW,QAAQA,YAAW,OAAO;AACrC,mBAASA;AACT,UAAAA,UAAS;AAAA,QACb;AAEA,YACKF,UAAS,KAAK,KAAK,cAAc,KAAK,KACtCD,SAAQ,KAAK,KAAK,MAAM,WAAW,GACtC;AACE,kBAAQ;AAAA,QACZ;AAGA,UAAE,mBAAmB;AACrB,UAAE,UAAU,EAAE,SAAS;AACvB,UAAE,KAAKG;AACP,UAAE,KAAK;AACP,UAAE,KAAKD;AACP,UAAE,UAAU;AAEZ,eAAO,iBAAiB,CAAC;AAAA,MAC7B;AAEA,eAAS,YAAY,OAAOA,SAAQC,SAAQ,QAAQ;AAChD,eAAO,iBAAiB,OAAOD,SAAQC,SAAQ,QAAQ,KAAK;AAAA,MAChE;AAEA,UAAI,eAAe;AAAA,QACX;AAAA,QACA,WAAY;AACR,cAAI,QAAQ,YAAY,MAAM,MAAM,SAAS;AAC7C,cAAI,KAAK,QAAQ,KAAK,MAAM,QAAQ,GAAG;AACnC,mBAAO,QAAQ,OAAO,OAAO;AAAA,UACjC,OAAO;AACH,mBAAO,cAAc;AAAA,UACzB;AAAA,QACJ;AAAA,MACJ,GACA,eAAe;AAAA,QACX;AAAA,QACA,WAAY;AACR,cAAI,QAAQ,YAAY,MAAM,MAAM,SAAS;AAC7C,cAAI,KAAK,QAAQ,KAAK,MAAM,QAAQ,GAAG;AACnC,mBAAO,QAAQ,OAAO,OAAO;AAAA,UACjC,OAAO;AACH,mBAAO,cAAc;AAAA,UACzB;AAAA,QACJ;AAAA,MACJ;AAOJ,eAAS,OAAO,IAAI,SAAS;AACzB,YAAI,KAAK;AACT,YAAI,QAAQ,WAAW,KAAKH,SAAQ,QAAQ,CAAC,CAAC,GAAG;AAC7C,oBAAU,QAAQ,CAAC;AAAA,QACvB;AACA,YAAI,CAAC,QAAQ,QAAQ;AACjB,iBAAO,YAAY;AAAA,QACvB;AACA,cAAM,QAAQ,CAAC;AACf,aAAK,IAAI,GAAG,IAAI,QAAQ,QAAQ,EAAE,GAAG;AACjC,cAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,KAAK,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG;AAC9C,kBAAM,QAAQ,CAAC;AAAA,UACnB;AAAA,QACJ;AACA,eAAO;AAAA,MACX;AAGA,eAAS,MAAM;AACX,YAAI,OAAO,CAAC,EAAE,MAAM,KAAK,WAAW,CAAC;AAErC,eAAO,OAAO,YAAY,IAAI;AAAA,MAClC;AAEA,eAAS,MAAM;AACX,YAAI,OAAO,CAAC,EAAE,MAAM,KAAK,WAAW,CAAC;AAErC,eAAO,OAAO,WAAW,IAAI;AAAA,MACjC;AAEA,UAAI,MAAM,WAAY;AAClB,eAAO,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,oBAAI,KAAK;AAAA,MAC7C;AAEA,UAAI,WAAW;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACJ;AAEA,eAAS,gBAAgB,GAAG;AACxB,YAAI,KACA,iBAAiB,OACjB,GACA,WAAW,SAAS;AACxB,aAAK,OAAO,GAAG;AACX,cACI,WAAW,GAAG,GAAG,KACjB,EACI,QAAQ,KAAK,UAAU,GAAG,MAAM,OAC/B,EAAE,GAAG,KAAK,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,KAEtC;AACE,mBAAO;AAAA,UACX;AAAA,QACJ;AAEA,aAAK,IAAI,GAAG,IAAI,UAAU,EAAE,GAAG;AAC3B,cAAI,EAAE,SAAS,CAAC,CAAC,GAAG;AAChB,gBAAI,gBAAgB;AAChB,qBAAO;AAAA,YACX;AACA,gBAAI,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG;AACtD,+BAAiB;AAAA,YACrB;AAAA,UACJ;AAAA,QACJ;AAEA,eAAO;AAAA,MACX;AAEA,eAAS,YAAY;AACjB,eAAO,KAAK;AAAA,MAChB;AAEA,eAAS,kBAAkB;AACvB,eAAO,eAAe,GAAG;AAAA,MAC7B;AAEA,eAAS,SAAS,UAAU;AACxB,YAAI,kBAAkB,qBAAqB,QAAQ,GAC/CuB,SAAQ,gBAAgB,QAAQ,GAChC,WAAW,gBAAgB,WAAW,GACtCC,UAAS,gBAAgB,SAAS,GAClCC,SAAQ,gBAAgB,QAAQ,gBAAgB,WAAW,GAC3DC,QAAO,gBAAgB,OAAO,GAC9BT,SAAQ,gBAAgB,QAAQ,GAChCC,WAAU,gBAAgB,UAAU,GACpCS,WAAU,gBAAgB,UAAU,GACpCC,gBAAe,gBAAgB,eAAe;AAElD,aAAK,WAAW,gBAAgB,eAAe;AAG/C,aAAK,gBACD,CAACA,gBACDD,WAAU;AAAA,QACVT,WAAU;AAAA,QACVD,SAAQ,MAAO,KAAK;AAGxB,aAAK,QAAQ,CAACS,QAAOD,SAAQ;AAI7B,aAAK,UAAU,CAACD,UAAS,WAAW,IAAID,SAAQ;AAEhD,aAAK,QAAQ,CAAC;AAEd,aAAK,UAAU,UAAU;AAEzB,aAAK,QAAQ;AAAA,MACjB;AAEA,eAAS,WAAW,KAAK;AACrB,eAAO,eAAe;AAAA,MAC1B;AAEA,eAAS,SAAS,QAAQ;AACtB,YAAI,SAAS,GAAG;AACZ,iBAAO,KAAK,MAAM,KAAK,MAAM,IAAI;AAAA,QACrC,OAAO;AACH,iBAAO,KAAK,MAAM,MAAM;AAAA,QAC5B;AAAA,MACJ;AAGA,eAAS,cAAc,QAAQ,QAAQ,aAAa;AAChD,YAAI,MAAM,KAAK,IAAI,OAAO,QAAQ,OAAO,MAAM,GAC3C,aAAa,KAAK,IAAI,OAAO,SAAS,OAAO,MAAM,GACnD,QAAQ,GACR;AACJ,aAAK,IAAI,GAAG,IAAI,KAAK,KAAK;AACtB,cACK,eAAe,OAAO,CAAC,MAAM,OAAO,CAAC,KACrC,CAAC,eAAe,MAAM,OAAO,CAAC,CAAC,MAAM,MAAM,OAAO,CAAC,CAAC,GACvD;AACE;AAAA,UACJ;AAAA,QACJ;AACA,eAAO,QAAQ;AAAA,MACnB;AAIA,eAAS,OAAOZ,QAAO,WAAW;AAC9B,uBAAeA,QAAO,GAAG,GAAG,WAAY;AACpC,cAAIkB,UAAS,KAAK,UAAU,GACxBnB,QAAO;AACX,cAAImB,UAAS,GAAG;AACZ,YAAAA,UAAS,CAACA;AACV,YAAAnB,QAAO;AAAA,UACX;AACA,iBACIA,QACA,SAAS,CAAC,EAAEmB,UAAS,KAAK,CAAC,IAC3B,YACA,SAAS,CAAC,CAACA,UAAS,IAAI,CAAC;AAAA,QAEjC,CAAC;AAAA,MACL;AAEA,aAAO,KAAK,GAAG;AACf,aAAO,MAAM,EAAE;AAIf,oBAAc,KAAK,gBAAgB;AACnC,oBAAc,MAAM,gBAAgB;AACpC,oBAAc,CAAC,KAAK,IAAI,GAAG,SAAU,OAAO,OAAO,QAAQ;AACvD,eAAO,UAAU;AACjB,eAAO,OAAO,iBAAiB,kBAAkB,KAAK;AAAA,MAC1D,CAAC;AAOD,UAAI,cAAc;AAElB,eAAS,iBAAiB,SAAS,QAAQ;AACvC,YAAI,WAAW,UAAU,IAAI,MAAM,OAAO,GACtC,OACA,OACAX;AAEJ,YAAI,YAAY,MAAM;AAClB,iBAAO;AAAA,QACX;AAEA,gBAAQ,QAAQ,QAAQ,SAAS,CAAC,KAAK,CAAC;AACxC,iBAAS,QAAQ,IAAI,MAAM,WAAW,KAAK,CAAC,KAAK,GAAG,CAAC;AACrD,QAAAA,WAAU,EAAE,MAAM,CAAC,IAAI,MAAM,MAAM,MAAM,CAAC,CAAC;AAE3C,eAAOA,aAAY,IAAI,IAAI,MAAM,CAAC,MAAM,MAAMA,WAAU,CAACA;AAAA,MAC7D;AAGA,eAAS,gBAAgB,OAAO,OAAO;AACnC,YAAI,KAAKH;AACT,YAAI,MAAM,QAAQ;AACd,gBAAM,MAAM,MAAM;AAClB,UAAAA,SACK,SAAS,KAAK,KAAK,OAAO,KAAK,IAC1B,MAAM,QAAQ,IACd,YAAY,KAAK,EAAE,QAAQ,KAAK,IAAI,QAAQ;AAEtD,cAAI,GAAG,QAAQ,IAAI,GAAG,QAAQ,IAAIA,KAAI;AACtC,gBAAM,aAAa,KAAK,KAAK;AAC7B,iBAAO;AAAA,QACX,OAAO;AACH,iBAAO,YAAY,KAAK,EAAE,MAAM;AAAA,QACpC;AAAA,MACJ;AAEA,eAAS,cAAc,GAAG;AAGtB,eAAO,CAAC,KAAK,MAAM,EAAE,GAAG,kBAAkB,CAAC;AAAA,MAC/C;AAMA,YAAM,eAAe,WAAY;AAAA,MAAC;AAclC,eAAS,aAAa,OAAO,eAAe,aAAa;AACrD,YAAIc,UAAS,KAAK,WAAW,GACzB;AACJ,YAAI,CAAC,KAAK,QAAQ,GAAG;AACjB,iBAAO,SAAS,OAAO,OAAO;AAAA,QAClC;AACA,YAAI,SAAS,MAAM;AACf,cAAI,OAAO,UAAU,UAAU;AAC3B,oBAAQ,iBAAiB,kBAAkB,KAAK;AAChD,gBAAI,UAAU,MAAM;AAChB,qBAAO;AAAA,YACX;AAAA,UACJ,WAAW,KAAK,IAAI,KAAK,IAAI,MAAM,CAAC,aAAa;AAC7C,oBAAQ,QAAQ;AAAA,UACpB;AACA,cAAI,CAAC,KAAK,UAAU,eAAe;AAC/B,0BAAc,cAAc,IAAI;AAAA,UACpC;AACA,eAAK,UAAU;AACf,eAAK,SAAS;AACd,cAAI,eAAe,MAAM;AACrB,iBAAK,IAAI,aAAa,GAAG;AAAA,UAC7B;AACA,cAAIA,YAAW,OAAO;AAClB,gBAAI,CAAC,iBAAiB,KAAK,mBAAmB;AAC1C;AAAA,gBACI;AAAA,gBACA,eAAe,QAAQA,SAAQ,GAAG;AAAA,gBAClC;AAAA,gBACA;AAAA,cACJ;AAAA,YACJ,WAAW,CAAC,KAAK,mBAAmB;AAChC,mBAAK,oBAAoB;AACzB,oBAAM,aAAa,MAAM,IAAI;AAC7B,mBAAK,oBAAoB;AAAA,YAC7B;AAAA,UACJ;AACA,iBAAO;AAAA,QACX,OAAO;AACH,iBAAO,KAAK,SAASA,UAAS,cAAc,IAAI;AAAA,QACpD;AAAA,MACJ;AAEA,eAAS,WAAW,OAAO,eAAe;AACtC,YAAI,SAAS,MAAM;AACf,cAAI,OAAO,UAAU,UAAU;AAC3B,oBAAQ,CAAC;AAAA,UACb;AAEA,eAAK,UAAU,OAAO,aAAa;AAEnC,iBAAO;AAAA,QACX,OAAO;AACH,iBAAO,CAAC,KAAK,UAAU;AAAA,QAC3B;AAAA,MACJ;AAEA,eAAS,eAAe,eAAe;AACnC,eAAO,KAAK,UAAU,GAAG,aAAa;AAAA,MAC1C;AAEA,eAAS,iBAAiB,eAAe;AACrC,YAAI,KAAK,QAAQ;AACb,eAAK,UAAU,GAAG,aAAa;AAC/B,eAAK,SAAS;AAEd,cAAI,eAAe;AACf,iBAAK,SAAS,cAAc,IAAI,GAAG,GAAG;AAAA,UAC1C;AAAA,QACJ;AACA,eAAO;AAAA,MACX;AAEA,eAAS,0BAA0B;AAC/B,YAAI,KAAK,QAAQ,MAAM;AACnB,eAAK,UAAU,KAAK,MAAM,OAAO,IAAI;AAAA,QACzC,WAAW,OAAO,KAAK,OAAO,UAAU;AACpC,cAAI,QAAQ,iBAAiB,aAAa,KAAK,EAAE;AACjD,cAAI,SAAS,MAAM;AACf,iBAAK,UAAU,KAAK;AAAA,UACxB,OAAO;AACH,iBAAK,UAAU,GAAG,IAAI;AAAA,UAC1B;AAAA,QACJ;AACA,eAAO;AAAA,MACX;AAEA,eAAS,qBAAqB,OAAO;AACjC,YAAI,CAAC,KAAK,QAAQ,GAAG;AACjB,iBAAO;AAAA,QACX;AACA,gBAAQ,QAAQ,YAAY,KAAK,EAAE,UAAU,IAAI;AAEjD,gBAAQ,KAAK,UAAU,IAAI,SAAS,OAAO;AAAA,MAC/C;AAEA,eAAS,uBAAuB;AAC5B,eACI,KAAK,UAAU,IAAI,KAAK,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,KACnD,KAAK,UAAU,IAAI,KAAK,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU;AAAA,MAE3D;AAEA,eAAS,8BAA8B;AACnC,YAAI,CAAC,YAAY,KAAK,aAAa,GAAG;AAClC,iBAAO,KAAK;AAAA,QAChB;AAEA,YAAI,IAAI,CAAC,GACL;AAEJ,mBAAW,GAAG,IAAI;AAClB,YAAI,cAAc,CAAC;AAEnB,YAAI,EAAE,IAAI;AACN,kBAAQ,EAAE,SAAS,UAAU,EAAE,EAAE,IAAI,YAAY,EAAE,EAAE;AACrD,eAAK,gBACD,KAAK,QAAQ,KAAK,cAAc,EAAE,IAAI,MAAM,QAAQ,CAAC,IAAI;AAAA,QACjE,OAAO;AACH,eAAK,gBAAgB;AAAA,QACzB;AAEA,eAAO,KAAK;AAAA,MAChB;AAEA,eAAS,UAAU;AACf,eAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,SAAS;AAAA,MAC3C;AAEA,eAAS,cAAc;AACnB,eAAO,KAAK,QAAQ,IAAI,KAAK,SAAS;AAAA,MAC1C;AAEA,eAAS,QAAQ;AACb,eAAO,KAAK,QAAQ,IAAI,KAAK,UAAU,KAAK,YAAY,IAAI;AAAA,MAChE;AAGA,UAAI,cAAc,yDAId,WACI;AAER,eAAS,eAAe,OAAO,KAAK;AAChC,YAAI,WAAW,OAEXT,SAAQ,MACRV,OACA,KACA;AAEJ,YAAI,WAAW,KAAK,GAAG;AACnB,qBAAW;AAAA,YACP,IAAI,MAAM;AAAA,YACV,GAAG,MAAM;AAAA,YACT,GAAG,MAAM;AAAA,UACb;AAAA,QACJ,WAAW,SAAS,KAAK,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG;AAC1C,qBAAW,CAAC;AACZ,cAAI,KAAK;AACL,qBAAS,GAAG,IAAI,CAAC;AAAA,UACrB,OAAO;AACH,qBAAS,eAAe,CAAC;AAAA,UAC7B;AAAA,QACJ,WAAYU,SAAQ,YAAY,KAAK,KAAK,GAAI;AAC1C,UAAAV,QAAOU,OAAM,CAAC,MAAM,MAAM,KAAK;AAC/B,qBAAW;AAAA,YACP,GAAG;AAAA,YACH,GAAG,MAAMA,OAAM,IAAI,CAAC,IAAIV;AAAA,YACxB,GAAG,MAAMU,OAAM,IAAI,CAAC,IAAIV;AAAA,YACxB,GAAG,MAAMU,OAAM,MAAM,CAAC,IAAIV;AAAA,YAC1B,GAAG,MAAMU,OAAM,MAAM,CAAC,IAAIV;AAAA,YAC1B,IAAI,MAAM,SAASU,OAAM,WAAW,IAAI,GAAI,CAAC,IAAIV;AAAA;AAAA,UACrD;AAAA,QACJ,WAAYU,SAAQ,SAAS,KAAK,KAAK,GAAI;AACvC,UAAAV,QAAOU,OAAM,CAAC,MAAM,MAAM,KAAK;AAC/B,qBAAW;AAAA,YACP,GAAG,SAASA,OAAM,CAAC,GAAGV,KAAI;AAAA,YAC1B,GAAG,SAASU,OAAM,CAAC,GAAGV,KAAI;AAAA,YAC1B,GAAG,SAASU,OAAM,CAAC,GAAGV,KAAI;AAAA,YAC1B,GAAG,SAASU,OAAM,CAAC,GAAGV,KAAI;AAAA,YAC1B,GAAG,SAASU,OAAM,CAAC,GAAGV,KAAI;AAAA,YAC1B,GAAG,SAASU,OAAM,CAAC,GAAGV,KAAI;AAAA,YAC1B,GAAG,SAASU,OAAM,CAAC,GAAGV,KAAI;AAAA,UAC9B;AAAA,QACJ,WAAW,YAAY,MAAM;AAEzB,qBAAW,CAAC;AAAA,QAChB,WACI,OAAO,aAAa,aACnB,UAAU,YAAY,QAAQ,WACjC;AACE,oBAAU;AAAA,YACN,YAAY,SAAS,IAAI;AAAA,YACzB,YAAY,SAAS,EAAE;AAAA,UAC3B;AAEA,qBAAW,CAAC;AACZ,mBAAS,KAAK,QAAQ;AACtB,mBAAS,IAAI,QAAQ;AAAA,QACzB;AAEA,cAAM,IAAI,SAAS,QAAQ;AAE3B,YAAI,WAAW,KAAK,KAAK,WAAW,OAAO,SAAS,GAAG;AACnD,cAAI,UAAU,MAAM;AAAA,QACxB;AAEA,YAAI,WAAW,KAAK,KAAK,WAAW,OAAO,UAAU,GAAG;AACpD,cAAI,WAAW,MAAM;AAAA,QACzB;AAEA,eAAO;AAAA,MACX;AAEA,qBAAe,KAAK,SAAS;AAC7B,qBAAe,UAAU;AAEzB,eAAS,SAAS,KAAKA,OAAM;AAIzB,YAAI,MAAM,OAAO,WAAW,IAAI,QAAQ,KAAK,GAAG,CAAC;AAEjD,gBAAQ,MAAM,GAAG,IAAI,IAAI,OAAOA;AAAA,MACpC;AAEA,eAAS,0BAA0B,MAAM,OAAO;AAC5C,YAAI,MAAM,CAAC;AAEX,YAAI,SACA,MAAM,MAAM,IAAI,KAAK,MAAM,KAAK,MAAM,KAAK,IAAI,KAAK,KAAK,KAAK;AAClE,YAAI,KAAK,MAAM,EAAE,IAAI,IAAI,QAAQ,GAAG,EAAE,QAAQ,KAAK,GAAG;AAClD,YAAE,IAAI;AAAA,QACV;AAEA,YAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,MAAM,EAAE,IAAI,IAAI,QAAQ,GAAG;AAE7D,eAAO;AAAA,MACX;AAEA,eAAS,kBAAkB,MAAM,OAAO;AACpC,YAAI;AACJ,YAAI,EAAE,KAAK,QAAQ,KAAK,MAAM,QAAQ,IAAI;AACtC,iBAAO,EAAE,cAAc,GAAG,QAAQ,EAAE;AAAA,QACxC;AAEA,gBAAQ,gBAAgB,OAAO,IAAI;AACnC,YAAI,KAAK,SAAS,KAAK,GAAG;AACtB,gBAAM,0BAA0B,MAAM,KAAK;AAAA,QAC/C,OAAO;AACH,gBAAM,0BAA0B,OAAO,IAAI;AAC3C,cAAI,eAAe,CAAC,IAAI;AACxB,cAAI,SAAS,CAAC,IAAI;AAAA,QACtB;AAEA,eAAO;AAAA,MACX;AAGA,eAAS,YAAY,WAAW,MAAM;AAClC,eAAO,SAAU,KAAK,QAAQ;AAC1B,cAAI,KAAK;AAET,cAAI,WAAW,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG;AACpC;AAAA,cACI;AAAA,cACA,cACI,OACA,yDACA,OACA;AAAA,YAER;AACA,kBAAM;AACN,kBAAM;AACN,qBAAS;AAAA,UACb;AAEA,gBAAM,eAAe,KAAK,MAAM;AAChC,sBAAY,MAAM,KAAK,SAAS;AAChC,iBAAO;AAAA,QACX;AAAA,MACJ;AAEA,eAAS,YAAY,KAAK,UAAU,UAAU,cAAc;AACxD,YAAIkB,gBAAe,SAAS,eACxBF,QAAO,SAAS,SAAS,KAAK,GAC9BF,UAAS,SAAS,SAAS,OAAO;AAEtC,YAAI,CAAC,IAAI,QAAQ,GAAG;AAEhB;AAAA,QACJ;AAEA,uBAAe,gBAAgB,OAAO,OAAO;AAE7C,YAAIA,SAAQ;AACR,mBAAS,KAAK,IAAI,KAAK,OAAO,IAAIA,UAAS,QAAQ;AAAA,QACvD;AACA,YAAIE,OAAM;AACN,gBAAM,KAAK,QAAQ,IAAI,KAAK,MAAM,IAAIA,QAAO,QAAQ;AAAA,QACzD;AACA,YAAIE,eAAc;AACd,cAAI,GAAG,QAAQ,IAAI,GAAG,QAAQ,IAAIA,gBAAe,QAAQ;AAAA,QAC7D;AACA,YAAI,cAAc;AACd,gBAAM,aAAa,KAAKF,SAAQF,OAAM;AAAA,QAC1C;AAAA,MACJ;AAEA,UAAI,MAAM,YAAY,GAAG,KAAK,GAC1B,WAAW,YAAY,IAAI,UAAU;AAEzC,eAASM,UAAS,OAAO;AACrB,eAAO,OAAO,UAAU,YAAY,iBAAiB;AAAA,MACzD;AAGA,eAAS,cAAc,OAAO;AAC1B,eACI,SAAS,KAAK,KACd,OAAO,KAAK,KACZA,UAAS,KAAK,KACd,SAAS,KAAK,KACd,sBAAsB,KAAK,KAC3B,oBAAoB,KAAK,KACzB,UAAU,QACV,UAAU;AAAA,MAElB;AAEA,eAAS,oBAAoB,OAAO;AAChC,YAAI,aAAa7B,UAAS,KAAK,KAAK,CAAC,cAAc,KAAK,GACpD,eAAe,OACf,aAAa;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACJ,GACA,GACA,UACA,cAAc,WAAW;AAE7B,aAAK,IAAI,GAAG,IAAI,aAAa,KAAK,GAAG;AACjC,qBAAW,WAAW,CAAC;AACvB,yBAAe,gBAAgB,WAAW,OAAO,QAAQ;AAAA,QAC7D;AAEA,eAAO,cAAc;AAAA,MACzB;AAEA,eAAS,sBAAsB,OAAO;AAClC,YAAI,YAAYD,SAAQ,KAAK,GACzB,eAAe;AACnB,YAAI,WAAW;AACX,yBACI,MAAM,OAAO,SAAU,MAAM;AACzB,mBAAO,CAAC,SAAS,IAAI,KAAK8B,UAAS,KAAK;AAAA,UAC5C,CAAC,EAAE,WAAW;AAAA,QACtB;AACA,eAAO,aAAa;AAAA,MACxB;AAEA,eAAS,eAAe,OAAO;AAC3B,YAAI,aAAa7B,UAAS,KAAK,KAAK,CAAC,cAAc,KAAK,GACpD,eAAe,OACf,aAAa;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACJ,GACA,GACA;AAEJ,aAAK,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK,GAAG;AACvC,qBAAW,WAAW,CAAC;AACvB,yBAAe,gBAAgB,WAAW,OAAO,QAAQ;AAAA,QAC7D;AAEA,eAAO,cAAc;AAAA,MACzB;AAEA,eAAS,kBAAkB,UAAUQ,MAAK;AACtC,YAAIM,QAAO,SAAS,KAAKN,MAAK,QAAQ,IAAI;AAC1C,eAAOM,QAAO,KACR,aACAA,QAAO,KACP,aACAA,QAAO,IACP,YACAA,QAAO,IACP,YACAA,QAAO,IACP,YACAA,QAAO,IACP,aACA;AAAA,MACV;AAEA,eAAS,WAAW,MAAM,SAAS;AAE/B,YAAI,UAAU,WAAW,GAAG;AACxB,cAAI,CAAC,UAAU,CAAC,GAAG;AACf,mBAAO;AACP,sBAAU;AAAA,UACd,WAAW,cAAc,UAAU,CAAC,CAAC,GAAG;AACpC,mBAAO,UAAU,CAAC;AAClB,sBAAU;AAAA,UACd,WAAW,eAAe,UAAU,CAAC,CAAC,GAAG;AACrC,sBAAU,UAAU,CAAC;AACrB,mBAAO;AAAA,UACX;AAAA,QACJ;AAGA,YAAIN,OAAM,QAAQ,YAAY,GAC1B,MAAM,gBAAgBA,MAAK,IAAI,EAAE,QAAQ,KAAK,GAC9CP,UAAS,MAAM,eAAe,MAAM,GAAG,KAAK,YAC5C,SACI,YACCI,YAAW,QAAQJ,OAAM,CAAC,IACrB,QAAQA,OAAM,EAAE,KAAK,MAAMO,IAAG,IAC9B,QAAQP,OAAM;AAE5B,eAAO,KAAK;AAAA,UACR,UAAU,KAAK,WAAW,EAAE,SAASA,SAAQ,MAAM,YAAYO,IAAG,CAAC;AAAA,QACvE;AAAA,MACJ;AAEA,eAAS,QAAQ;AACb,eAAO,IAAI,OAAO,IAAI;AAAA,MAC1B;AAEA,eAAS,QAAQ,OAAO,OAAO;AAC3B,YAAI,aAAa,SAAS,KAAK,IAAI,QAAQ,YAAY,KAAK;AAC5D,YAAI,EAAE,KAAK,QAAQ,KAAK,WAAW,QAAQ,IAAI;AAC3C,iBAAO;AAAA,QACX;AACA,gBAAQ,eAAe,KAAK,KAAK;AACjC,YAAI,UAAU,eAAe;AACzB,iBAAO,KAAK,QAAQ,IAAI,WAAW,QAAQ;AAAA,QAC/C,OAAO;AACH,iBAAO,WAAW,QAAQ,IAAI,KAAK,MAAM,EAAE,QAAQ,KAAK,EAAE,QAAQ;AAAA,QACtE;AAAA,MACJ;AAEA,eAAS,SAAS,OAAO,OAAO;AAC5B,YAAI,aAAa,SAAS,KAAK,IAAI,QAAQ,YAAY,KAAK;AAC5D,YAAI,EAAE,KAAK,QAAQ,KAAK,WAAW,QAAQ,IAAI;AAC3C,iBAAO;AAAA,QACX;AACA,gBAAQ,eAAe,KAAK,KAAK;AACjC,YAAI,UAAU,eAAe;AACzB,iBAAO,KAAK,QAAQ,IAAI,WAAW,QAAQ;AAAA,QAC/C,OAAO;AACH,iBAAO,KAAK,MAAM,EAAE,MAAM,KAAK,EAAE,QAAQ,IAAI,WAAW,QAAQ;AAAA,QACpE;AAAA,MACJ;AAEA,eAAS,UAAUJ,OAAMD,KAAI,OAAO,aAAa;AAC7C,YAAI,YAAY,SAASC,KAAI,IAAIA,QAAO,YAAYA,KAAI,GACpD,UAAU,SAASD,GAAE,IAAIA,MAAK,YAAYA,GAAE;AAChD,YAAI,EAAE,KAAK,QAAQ,KAAK,UAAU,QAAQ,KAAK,QAAQ,QAAQ,IAAI;AAC/D,iBAAO;AAAA,QACX;AACA,sBAAc,eAAe;AAC7B,gBACK,YAAY,CAAC,MAAM,MACd,KAAK,QAAQ,WAAW,KAAK,IAC7B,CAAC,KAAK,SAAS,WAAW,KAAK,OACpC,YAAY,CAAC,MAAM,MACd,KAAK,SAAS,SAAS,KAAK,IAC5B,CAAC,KAAK,QAAQ,SAAS,KAAK;AAAA,MAE1C;AAEA,eAAS,OAAO,OAAO,OAAO;AAC1B,YAAI,aAAa,SAAS,KAAK,IAAI,QAAQ,YAAY,KAAK,GACxD;AACJ,YAAI,EAAE,KAAK,QAAQ,KAAK,WAAW,QAAQ,IAAI;AAC3C,iBAAO;AAAA,QACX;AACA,gBAAQ,eAAe,KAAK,KAAK;AACjC,YAAI,UAAU,eAAe;AACzB,iBAAO,KAAK,QAAQ,MAAM,WAAW,QAAQ;AAAA,QACjD,OAAO;AACH,oBAAU,WAAW,QAAQ;AAC7B,iBACI,KAAK,MAAM,EAAE,QAAQ,KAAK,EAAE,QAAQ,KAAK,WACzC,WAAW,KAAK,MAAM,EAAE,MAAM,KAAK,EAAE,QAAQ;AAAA,QAErD;AAAA,MACJ;AAEA,eAAS,cAAc,OAAO,OAAO;AACjC,eAAO,KAAK,OAAO,OAAO,KAAK,KAAK,KAAK,QAAQ,OAAO,KAAK;AAAA,MACjE;AAEA,eAAS,eAAe,OAAO,OAAO;AAClC,eAAO,KAAK,OAAO,OAAO,KAAK,KAAK,KAAK,SAAS,OAAO,KAAK;AAAA,MAClE;AAEA,eAASW,MAAK,OAAO,OAAO,SAAS;AACjC,YAAI,MAAM,WAAW;AAErB,YAAI,CAAC,KAAK,QAAQ,GAAG;AACjB,iBAAO;AAAA,QACX;AAEA,eAAO,gBAAgB,OAAO,IAAI;AAElC,YAAI,CAAC,KAAK,QAAQ,GAAG;AACjB,iBAAO;AAAA,QACX;AAEA,qBAAa,KAAK,UAAU,IAAI,KAAK,UAAU,KAAK;AAEpD,gBAAQ,eAAe,KAAK;AAE5B,gBAAQ,OAAO;AAAA,UACX,KAAK;AACD,qBAAS,UAAU,MAAM,IAAI,IAAI;AACjC;AAAA,UACJ,KAAK;AACD,qBAAS,UAAU,MAAM,IAAI;AAC7B;AAAA,UACJ,KAAK;AACD,qBAAS,UAAU,MAAM,IAAI,IAAI;AACjC;AAAA,UACJ,KAAK;AACD,sBAAU,OAAO,QAAQ;AACzB;AAAA,UACJ,KAAK;AACD,sBAAU,OAAO,QAAQ;AACzB;AAAA,UACJ,KAAK;AACD,sBAAU,OAAO,QAAQ;AACzB;AAAA,UACJ,KAAK;AACD,sBAAU,OAAO,OAAO,aAAa;AACrC;AAAA,UACJ,KAAK;AACD,sBAAU,OAAO,OAAO,aAAa;AACrC;AAAA,UACJ;AACI,qBAAS,OAAO;AAAA,QACxB;AAEA,eAAO,UAAU,SAAS,SAAS,MAAM;AAAA,MAC7C;AAEA,eAAS,UAAU,GAAG,GAAG;AACrB,YAAI,EAAE,KAAK,IAAI,EAAE,KAAK,GAAG;AAGrB,iBAAO,CAAC,UAAU,GAAG,CAAC;AAAA,QAC1B;AAEA,YAAI,kBAAkB,EAAE,KAAK,IAAI,EAAE,KAAK,KAAK,MAAM,EAAE,MAAM,IAAI,EAAE,MAAM,IAEnE,SAAS,EAAE,MAAM,EAAE,IAAI,gBAAgB,QAAQ,GAC/C,SACA;AAEJ,YAAI,IAAI,SAAS,GAAG;AAChB,oBAAU,EAAE,MAAM,EAAE,IAAI,iBAAiB,GAAG,QAAQ;AAEpD,oBAAU,IAAI,WAAW,SAAS;AAAA,QACtC,OAAO;AACH,oBAAU,EAAE,MAAM,EAAE,IAAI,iBAAiB,GAAG,QAAQ;AAEpD,oBAAU,IAAI,WAAW,UAAU;AAAA,QACvC;AAGA,eAAO,EAAE,iBAAiB,WAAW;AAAA,MACzC;AAEA,YAAM,gBAAgB;AACtB,YAAM,mBAAmB;AAEzB,eAAS,WAAW;AAChB,eAAO,KAAK,MAAM,EAAE,OAAO,IAAI,EAAE,OAAO,kCAAkC;AAAA,MAC9E;AAEA,eAAS,YAAY,YAAY;AAC7B,YAAI,CAAC,KAAK,QAAQ,GAAG;AACjB,iBAAO;AAAA,QACX;AACA,YAAI,MAAM,eAAe,MACrB,IAAI,MAAM,KAAK,MAAM,EAAE,IAAI,IAAI;AACnC,YAAI,EAAE,KAAK,IAAI,KAAK,EAAE,KAAK,IAAI,MAAM;AACjC,iBAAO;AAAA,YACH;AAAA,YACA,MACM,mCACA;AAAA,UACV;AAAA,QACJ;AACA,YAAIT,YAAW,KAAK,UAAU,WAAW,GAAG;AAExC,cAAI,KAAK;AACL,mBAAO,KAAK,OAAO,EAAE,YAAY;AAAA,UACrC,OAAO;AACH,mBAAO,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,UAAU,IAAI,KAAK,GAAI,EACxD,YAAY,EACZ,QAAQ,KAAK,aAAa,GAAG,GAAG,CAAC;AAAA,UAC1C;AAAA,QACJ;AACA,eAAO;AAAA,UACH;AAAA,UACA,MAAM,iCAAiC;AAAA,QAC3C;AAAA,MACJ;AAQA,eAAS,UAAU;AACf,YAAI,CAAC,KAAK,QAAQ,GAAG;AACjB,iBAAO,uBAAuB,KAAK,KAAK;AAAA,QAC5C;AACA,YAAI,OAAO,UACP,OAAO,IACPyB,SACA,MACA,UACA;AACJ,YAAI,CAAC,KAAK,QAAQ,GAAG;AACjB,iBAAO,KAAK,UAAU,MAAM,IAAI,eAAe;AAC/C,iBAAO;AAAA,QACX;AACA,QAAAA,UAAS,MAAM,OAAO;AACtB,eAAO,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,OAAO,SAAS;AAC1D,mBAAW;AACX,iBAAS,OAAO;AAEhB,eAAO,KAAK,OAAOA,UAAS,OAAO,WAAW,MAAM;AAAA,MACxD;AAEA,eAAS,OAAO,aAAa;AACzB,YAAI,CAAC,aAAa;AACd,wBAAc,KAAK,MAAM,IACnB,MAAM,mBACN,MAAM;AAAA,QAChB;AACA,YAAI,SAAS,aAAa,MAAM,WAAW;AAC3C,eAAO,KAAK,WAAW,EAAE,WAAW,MAAM;AAAA,MAC9C;AAEA,eAAS1B,MAAK,MAAM,eAAe;AAC/B,YACI,KAAK,QAAQ,MACX,SAAS,IAAI,KAAK,KAAK,QAAQ,KAAM,YAAY,IAAI,EAAE,QAAQ,IACnE;AACE,iBAAO,eAAe,EAAE,IAAI,MAAM,MAAM,KAAK,CAAC,EACzC,OAAO,KAAK,OAAO,CAAC,EACpB,SAAS,CAAC,aAAa;AAAA,QAChC,OAAO;AACH,iBAAO,KAAK,WAAW,EAAE,YAAY;AAAA,QACzC;AAAA,MACJ;AAEA,eAAS,QAAQ,eAAe;AAC5B,eAAO,KAAK,KAAK,YAAY,GAAG,aAAa;AAAA,MACjD;AAEA,eAAS,GAAG,MAAM,eAAe;AAC7B,YACI,KAAK,QAAQ,MACX,SAAS,IAAI,KAAK,KAAK,QAAQ,KAAM,YAAY,IAAI,EAAE,QAAQ,IACnE;AACE,iBAAO,eAAe,EAAE,MAAM,MAAM,IAAI,KAAK,CAAC,EACzC,OAAO,KAAK,OAAO,CAAC,EACpB,SAAS,CAAC,aAAa;AAAA,QAChC,OAAO;AACH,iBAAO,KAAK,WAAW,EAAE,YAAY;AAAA,QACzC;AAAA,MACJ;AAEA,eAAS,MAAM,eAAe;AAC1B,eAAO,KAAK,GAAG,YAAY,GAAG,aAAa;AAAA,MAC/C;AAKA,eAAS,OAAO,KAAK;AACjB,YAAI;AAEJ,YAAI,QAAQ,QAAW;AACnB,iBAAO,KAAK,QAAQ;AAAA,QACxB,OAAO;AACH,0BAAgB,UAAU,GAAG;AAC7B,cAAI,iBAAiB,MAAM;AACvB,iBAAK,UAAU;AAAA,UACnB;AACA,iBAAO;AAAA,QACX;AAAA,MACJ;AAEA,UAAI,OAAO;AAAA,QACP;AAAA,QACA,SAAU,KAAK;AACX,cAAI,QAAQ,QAAW;AACnB,mBAAO,KAAK,WAAW;AAAA,UAC3B,OAAO;AACH,mBAAO,KAAK,OAAO,GAAG;AAAA,UAC1B;AAAA,QACJ;AAAA,MACJ;AAEA,eAAS,aAAa;AAClB,eAAO,KAAK;AAAA,MAChB;AAEA,UAAI,gBAAgB,KAChB,gBAAgB,KAAK,eACrB,cAAc,KAAK,eACnB,oBAAoB,MAAM,MAAM,MAAM,KAAK;AAG/C,eAAS,MAAM,UAAU,SAAS;AAC9B,gBAAS,WAAW,UAAW,WAAW;AAAA,MAC9C;AAEA,eAAS,iBAAiB,GAAG,GAAG,GAAG;AAE/B,YAAI,IAAI,OAAO,KAAK,GAAG;AAEnB,iBAAO,IAAI,KAAK,IAAI,KAAK,GAAG,CAAC,IAAI;AAAA,QACrC,OAAO;AACH,iBAAO,IAAI,KAAK,GAAG,GAAG,CAAC,EAAE,QAAQ;AAAA,QACrC;AAAA,MACJ;AAEA,eAAS,eAAe,GAAG,GAAG,GAAG;AAE7B,YAAI,IAAI,OAAO,KAAK,GAAG;AAEnB,iBAAO,KAAK,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI;AAAA,QACrC,OAAO;AACH,iBAAO,KAAK,IAAI,GAAG,GAAG,CAAC;AAAA,QAC3B;AAAA,MACJ;AAEA,eAAS,QAAQ,OAAO;AACpB,YAAI,MAAM;AACV,gBAAQ,eAAe,KAAK;AAC5B,YAAI,UAAU,UAAa,UAAU,iBAAiB,CAAC,KAAK,QAAQ,GAAG;AACnE,iBAAO;AAAA,QACX;AAEA,sBAAc,KAAK,SAAS,iBAAiB;AAE7C,gBAAQ,OAAO;AAAA,UACX,KAAK;AACD,mBAAO,YAAY,KAAK,KAAK,GAAG,GAAG,CAAC;AACpC;AAAA,UACJ,KAAK;AACD,mBAAO;AAAA,cACH,KAAK,KAAK;AAAA,cACV,KAAK,MAAM,IAAK,KAAK,MAAM,IAAI;AAAA,cAC/B;AAAA,YACJ;AACA;AAAA,UACJ,KAAK;AACD,mBAAO,YAAY,KAAK,KAAK,GAAG,KAAK,MAAM,GAAG,CAAC;AAC/C;AAAA,UACJ,KAAK;AACD,mBAAO;AAAA,cACH,KAAK,KAAK;AAAA,cACV,KAAK,MAAM;AAAA,cACX,KAAK,KAAK,IAAI,KAAK,QAAQ;AAAA,YAC/B;AACA;AAAA,UACJ,KAAK;AACD,mBAAO;AAAA,cACH,KAAK,KAAK;AAAA,cACV,KAAK,MAAM;AAAA,cACX,KAAK,KAAK,KAAK,KAAK,WAAW,IAAI;AAAA,YACvC;AACA;AAAA,UACJ,KAAK;AAAA,UACL,KAAK;AACD,mBAAO,YAAY,KAAK,KAAK,GAAG,KAAK,MAAM,GAAG,KAAK,KAAK,CAAC;AACzD;AAAA,UACJ,KAAK;AACD,mBAAO,KAAK,GAAG,QAAQ;AACvB,oBAAQ;AAAA,cACJ,QAAQ,KAAK,SAAS,IAAI,KAAK,UAAU,IAAI;AAAA,cAC7C;AAAA,YACJ;AACA;AAAA,UACJ,KAAK;AACD,mBAAO,KAAK,GAAG,QAAQ;AACvB,oBAAQ,MAAM,MAAM,aAAa;AACjC;AAAA,UACJ,KAAK;AACD,mBAAO,KAAK,GAAG,QAAQ;AACvB,oBAAQ,MAAM,MAAM,aAAa;AACjC;AAAA,QACR;AAEA,aAAK,GAAG,QAAQ,IAAI;AACpB,cAAM,aAAa,MAAM,IAAI;AAC7B,eAAO;AAAA,MACX;AAEA,eAAS,MAAM,OAAO;AAClB,YAAI,MAAM;AACV,gBAAQ,eAAe,KAAK;AAC5B,YAAI,UAAU,UAAa,UAAU,iBAAiB,CAAC,KAAK,QAAQ,GAAG;AACnE,iBAAO;AAAA,QACX;AAEA,sBAAc,KAAK,SAAS,iBAAiB;AAE7C,gBAAQ,OAAO;AAAA,UACX,KAAK;AACD,mBAAO,YAAY,KAAK,KAAK,IAAI,GAAG,GAAG,CAAC,IAAI;AAC5C;AAAA,UACJ,KAAK;AACD,mBACI;AAAA,cACI,KAAK,KAAK;AAAA,cACV,KAAK,MAAM,IAAK,KAAK,MAAM,IAAI,IAAK;AAAA,cACpC;AAAA,YACJ,IAAI;AACR;AAAA,UACJ,KAAK;AACD,mBAAO,YAAY,KAAK,KAAK,GAAG,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI;AACvD;AAAA,UACJ,KAAK;AACD,mBACI;AAAA,cACI,KAAK,KAAK;AAAA,cACV,KAAK,MAAM;AAAA,cACX,KAAK,KAAK,IAAI,KAAK,QAAQ,IAAI;AAAA,YACnC,IAAI;AACR;AAAA,UACJ,KAAK;AACD,mBACI;AAAA,cACI,KAAK,KAAK;AAAA,cACV,KAAK,MAAM;AAAA,cACX,KAAK,KAAK,KAAK,KAAK,WAAW,IAAI,KAAK;AAAA,YAC5C,IAAI;AACR;AAAA,UACJ,KAAK;AAAA,UACL,KAAK;AACD,mBAAO,YAAY,KAAK,KAAK,GAAG,KAAK,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC,IAAI;AACjE;AAAA,UACJ,KAAK;AACD,mBAAO,KAAK,GAAG,QAAQ;AACvB,oBACI,cACA;AAAA,cACI,QAAQ,KAAK,SAAS,IAAI,KAAK,UAAU,IAAI;AAAA,cAC7C;AAAA,YACJ,IACA;AACJ;AAAA,UACJ,KAAK;AACD,mBAAO,KAAK,GAAG,QAAQ;AACvB,oBAAQ,gBAAgB,MAAM,MAAM,aAAa,IAAI;AACrD;AAAA,UACJ,KAAK;AACD,mBAAO,KAAK,GAAG,QAAQ;AACvB,oBAAQ,gBAAgB,MAAM,MAAM,aAAa,IAAI;AACrD;AAAA,QACR;AAEA,aAAK,GAAG,QAAQ,IAAI;AACpB,cAAM,aAAa,MAAM,IAAI;AAC7B,eAAO;AAAA,MACX;AAEA,eAAS,UAAU;AACf,eAAO,KAAK,GAAG,QAAQ,KAAK,KAAK,WAAW,KAAK;AAAA,MACrD;AAEA,eAAS,OAAO;AACZ,eAAO,KAAK,MAAM,KAAK,QAAQ,IAAI,GAAI;AAAA,MAC3C;AAEA,eAAS,SAAS;AACd,eAAO,IAAI,KAAK,KAAK,QAAQ,CAAC;AAAA,MAClC;AAEA,eAAS,UAAU;AACf,YAAI,IAAI;AACR,eAAO;AAAA,UACH,EAAE,KAAK;AAAA,UACP,EAAE,MAAM;AAAA,UACR,EAAE,KAAK;AAAA,UACP,EAAE,KAAK;AAAA,UACP,EAAE,OAAO;AAAA,UACT,EAAE,OAAO;AAAA,UACT,EAAE,YAAY;AAAA,QAClB;AAAA,MACJ;AAEA,eAAS,WAAW;AAChB,YAAI,IAAI;AACR,eAAO;AAAA,UACH,OAAO,EAAE,KAAK;AAAA,UACd,QAAQ,EAAE,MAAM;AAAA,UAChB,MAAM,EAAE,KAAK;AAAA,UACb,OAAO,EAAE,MAAM;AAAA,UACf,SAAS,EAAE,QAAQ;AAAA,UACnB,SAAS,EAAE,QAAQ;AAAA,UACnB,cAAc,EAAE,aAAa;AAAA,QACjC;AAAA,MACJ;AAEA,eAAS,SAAS;AAEd,eAAO,KAAK,QAAQ,IAAI,KAAK,YAAY,IAAI;AAAA,MACjD;AAEA,eAAS,YAAY;AACjB,eAAO,QAAQ,IAAI;AAAA,MACvB;AAEA,eAAS,eAAe;AACpB,eAAO,OAAO,CAAC,GAAG,gBAAgB,IAAI,CAAC;AAAA,MAC3C;AAEA,eAAS,YAAY;AACjB,eAAO,gBAAgB,IAAI,EAAE;AAAA,MACjC;AAEA,eAAS,eAAe;AACpB,eAAO;AAAA,UACH,OAAO,KAAK;AAAA,UACZ,QAAQ,KAAK;AAAA,UACb,QAAQ,KAAK;AAAA,UACb,OAAO,KAAK;AAAA,UACZ,QAAQ,KAAK;AAAA,QACjB;AAAA,MACJ;AAEA,qBAAe,KAAK,GAAG,GAAG,SAAS;AACnC,qBAAe,MAAM,GAAG,GAAG,SAAS;AACpC,qBAAe,OAAO,GAAG,GAAG,SAAS;AACrC,qBAAe,QAAQ,GAAG,GAAG,SAAS;AACtC,qBAAe,SAAS,GAAG,GAAG,WAAW;AAEzC,qBAAe,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,SAAS;AAC7C,qBAAe,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,SAAS;AAC3C,qBAAe,KAAK,CAAC,OAAO,CAAC,GAAG,GAAG,SAAS;AAC5C,qBAAe,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAG,SAAS;AAE7C,oBAAc,KAAK,YAAY;AAC/B,oBAAc,MAAM,YAAY;AAChC,oBAAc,OAAO,YAAY;AACjC,oBAAc,QAAQ,YAAY;AAClC,oBAAc,SAAS,cAAc;AAErC;AAAA,QACI,CAAC,KAAK,MAAM,OAAO,QAAQ,OAAO;AAAA,QAClC,SAAU,OAAO,OAAO,QAAQM,QAAO;AACnC,cAAI,MAAM,OAAO,QAAQ,UAAU,OAAOA,QAAO,OAAO,OAAO;AAC/D,cAAI,KAAK;AACL,4BAAgB,MAAM,EAAE,MAAM;AAAA,UAClC,OAAO;AACH,4BAAgB,MAAM,EAAE,aAAa;AAAA,UACzC;AAAA,QACJ;AAAA,MACJ;AAEA,oBAAc,KAAK,aAAa;AAChC,oBAAc,MAAM,aAAa;AACjC,oBAAc,OAAO,aAAa;AAClC,oBAAc,QAAQ,aAAa;AACnC,oBAAc,MAAM,mBAAmB;AAEvC,oBAAc,CAAC,KAAK,MAAM,OAAO,MAAM,GAAG,IAAI;AAC9C,oBAAc,CAAC,IAAI,GAAG,SAAU,OAAO,OAAO,QAAQA,QAAO;AACzD,YAAIS;AACJ,YAAI,OAAO,QAAQ,sBAAsB;AACrC,UAAAA,SAAQ,MAAM,MAAM,OAAO,QAAQ,oBAAoB;AAAA,QAC3D;AAEA,YAAI,OAAO,QAAQ,qBAAqB;AACpC,gBAAM,IAAI,IAAI,OAAO,QAAQ,oBAAoB,OAAOA,MAAK;AAAA,QACjE,OAAO;AACH,gBAAM,IAAI,IAAI,SAAS,OAAO,EAAE;AAAA,QACpC;AAAA,MACJ,CAAC;AAED,eAAS,WAAW,GAAGlB,SAAQ;AAC3B,YAAI,GACA,GACA,MACA,OAAO,KAAK,SAAS,UAAU,IAAI,EAAE;AACzC,aAAK,IAAI,GAAG,IAAI,KAAK,QAAQ,IAAI,GAAG,EAAE,GAAG;AACrC,kBAAQ,OAAO,KAAK,CAAC,EAAE,OAAO;AAAA,YAC1B,KAAK;AAED,qBAAO,MAAM,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,KAAK;AACzC,mBAAK,CAAC,EAAE,QAAQ,KAAK,QAAQ;AAC7B;AAAA,UACR;AAEA,kBAAQ,OAAO,KAAK,CAAC,EAAE,OAAO;AAAA,YAC1B,KAAK;AACD,mBAAK,CAAC,EAAE,QAAQ;AAChB;AAAA,YACJ,KAAK;AAED,qBAAO,MAAM,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,KAAK,EAAE,QAAQ;AACnD,mBAAK,CAAC,EAAE,QAAQ,KAAK,QAAQ;AAC7B;AAAA,UACR;AAAA,QACJ;AACA,eAAO;AAAA,MACX;AAEA,eAAS,gBAAgB,SAASA,SAAQ,QAAQ;AAC9C,YAAI,GACA,GACA,OAAO,KAAK,KAAK,GACjB,MACA,MACA;AACJ,kBAAU,QAAQ,YAAY;AAE9B,aAAK,IAAI,GAAG,IAAI,KAAK,QAAQ,IAAI,GAAG,EAAE,GAAG;AACrC,iBAAO,KAAK,CAAC,EAAE,KAAK,YAAY;AAChC,iBAAO,KAAK,CAAC,EAAE,KAAK,YAAY;AAChC,mBAAS,KAAK,CAAC,EAAE,OAAO,YAAY;AAEpC,cAAI,QAAQ;AACR,oBAAQA,SAAQ;AAAA,cACZ,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AACD,oBAAI,SAAS,SAAS;AAClB,yBAAO,KAAK,CAAC;AAAA,gBACjB;AACA;AAAA,cAEJ,KAAK;AACD,oBAAI,SAAS,SAAS;AAClB,yBAAO,KAAK,CAAC;AAAA,gBACjB;AACA;AAAA,cAEJ,KAAK;AACD,oBAAI,WAAW,SAAS;AACpB,yBAAO,KAAK,CAAC;AAAA,gBACjB;AACA;AAAA,YACR;AAAA,UACJ,WAAW,CAAC,MAAM,MAAM,MAAM,EAAE,QAAQ,OAAO,KAAK,GAAG;AACnD,mBAAO,KAAK,CAAC;AAAA,UACjB;AAAA,QACJ;AAAA,MACJ;AAEA,eAAS,sBAAsB,KAAK,MAAM;AACtC,YAAI,MAAM,IAAI,SAAS,IAAI,QAAQ,IAAK;AACxC,YAAI,SAAS,QAAW;AACpB,iBAAO,MAAM,IAAI,KAAK,EAAE,KAAK;AAAA,QACjC,OAAO;AACH,iBAAO,MAAM,IAAI,KAAK,EAAE,KAAK,KAAK,OAAO,IAAI,UAAU;AAAA,QAC3D;AAAA,MACJ;AAEA,eAAS,aAAa;AAClB,YAAI,GACA,GACA,KACA,OAAO,KAAK,WAAW,EAAE,KAAK;AAClC,aAAK,IAAI,GAAG,IAAI,KAAK,QAAQ,IAAI,GAAG,EAAE,GAAG;AAErC,gBAAM,KAAK,MAAM,EAAE,QAAQ,KAAK,EAAE,QAAQ;AAE1C,cAAI,KAAK,CAAC,EAAE,SAAS,OAAO,OAAO,KAAK,CAAC,EAAE,OAAO;AAC9C,mBAAO,KAAK,CAAC,EAAE;AAAA,UACnB;AACA,cAAI,KAAK,CAAC,EAAE,SAAS,OAAO,OAAO,KAAK,CAAC,EAAE,OAAO;AAC9C,mBAAO,KAAK,CAAC,EAAE;AAAA,UACnB;AAAA,QACJ;AAEA,eAAO;AAAA,MACX;AAEA,eAAS,eAAe;AACpB,YAAI,GACA,GACA,KACA,OAAO,KAAK,WAAW,EAAE,KAAK;AAClC,aAAK,IAAI,GAAG,IAAI,KAAK,QAAQ,IAAI,GAAG,EAAE,GAAG;AAErC,gBAAM,KAAK,MAAM,EAAE,QAAQ,KAAK,EAAE,QAAQ;AAE1C,cAAI,KAAK,CAAC,EAAE,SAAS,OAAO,OAAO,KAAK,CAAC,EAAE,OAAO;AAC9C,mBAAO,KAAK,CAAC,EAAE;AAAA,UACnB;AACA,cAAI,KAAK,CAAC,EAAE,SAAS,OAAO,OAAO,KAAK,CAAC,EAAE,OAAO;AAC9C,mBAAO,KAAK,CAAC,EAAE;AAAA,UACnB;AAAA,QACJ;AAEA,eAAO;AAAA,MACX;AAEA,eAAS,aAAa;AAClB,YAAI,GACA,GACA,KACA,OAAO,KAAK,WAAW,EAAE,KAAK;AAClC,aAAK,IAAI,GAAG,IAAI,KAAK,QAAQ,IAAI,GAAG,EAAE,GAAG;AAErC,gBAAM,KAAK,MAAM,EAAE,QAAQ,KAAK,EAAE,QAAQ;AAE1C,cAAI,KAAK,CAAC,EAAE,SAAS,OAAO,OAAO,KAAK,CAAC,EAAE,OAAO;AAC9C,mBAAO,KAAK,CAAC,EAAE;AAAA,UACnB;AACA,cAAI,KAAK,CAAC,EAAE,SAAS,OAAO,OAAO,KAAK,CAAC,EAAE,OAAO;AAC9C,mBAAO,KAAK,CAAC,EAAE;AAAA,UACnB;AAAA,QACJ;AAEA,eAAO;AAAA,MACX;AAEA,eAAS,aAAa;AAClB,YAAI,GACA,GACA,KACA,KACA,OAAO,KAAK,WAAW,EAAE,KAAK;AAClC,aAAK,IAAI,GAAG,IAAI,KAAK,QAAQ,IAAI,GAAG,EAAE,GAAG;AACrC,gBAAM,KAAK,CAAC,EAAE,SAAS,KAAK,CAAC,EAAE,QAAQ,IAAK;AAG5C,gBAAM,KAAK,MAAM,EAAE,QAAQ,KAAK,EAAE,QAAQ;AAE1C,cACK,KAAK,CAAC,EAAE,SAAS,OAAO,OAAO,KAAK,CAAC,EAAE,SACvC,KAAK,CAAC,EAAE,SAAS,OAAO,OAAO,KAAK,CAAC,EAAE,OAC1C;AACE,oBACK,KAAK,KAAK,IAAI,MAAM,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,MAC9C,KAAK,CAAC,EAAE;AAAA,UAEhB;AAAA,QACJ;AAEA,eAAO,KAAK,KAAK;AAAA,MACrB;AAEA,eAAS,cAAc,UAAU;AAC7B,YAAI,CAAC,WAAW,MAAM,gBAAgB,GAAG;AACrC,2BAAiB,KAAK,IAAI;AAAA,QAC9B;AACA,eAAO,WAAW,KAAK,iBAAiB,KAAK;AAAA,MACjD;AAEA,eAAS,cAAc,UAAU;AAC7B,YAAI,CAAC,WAAW,MAAM,gBAAgB,GAAG;AACrC,2BAAiB,KAAK,IAAI;AAAA,QAC9B;AACA,eAAO,WAAW,KAAK,iBAAiB,KAAK;AAAA,MACjD;AAEA,eAAS,gBAAgB,UAAU;AAC/B,YAAI,CAAC,WAAW,MAAM,kBAAkB,GAAG;AACvC,2BAAiB,KAAK,IAAI;AAAA,QAC9B;AACA,eAAO,WAAW,KAAK,mBAAmB,KAAK;AAAA,MACnD;AAEA,eAAS,aAAa,UAAUC,SAAQ;AACpC,eAAOA,QAAO,cAAc,QAAQ;AAAA,MACxC;AAEA,eAAS,aAAa,UAAUA,SAAQ;AACpC,eAAOA,QAAO,cAAc,QAAQ;AAAA,MACxC;AAEA,eAAS,eAAe,UAAUA,SAAQ;AACtC,eAAOA,QAAO,gBAAgB,QAAQ;AAAA,MAC1C;AAEA,eAAS,oBAAoB,UAAUA,SAAQ;AAC3C,eAAOA,QAAO,wBAAwB;AAAA,MAC1C;AAEA,eAAS,mBAAmB;AACxB,YAAI,aAAa,CAAC,GACd,aAAa,CAAC,GACd,eAAe,CAAC,GAChB,cAAc,CAAC,GACf,GACA,GACA,OAAO,KAAK,KAAK;AAErB,aAAK,IAAI,GAAG,IAAI,KAAK,QAAQ,IAAI,GAAG,EAAE,GAAG;AACrC,qBAAW,KAAK,YAAY,KAAK,CAAC,EAAE,IAAI,CAAC;AACzC,qBAAW,KAAK,YAAY,KAAK,CAAC,EAAE,IAAI,CAAC;AACzC,uBAAa,KAAK,YAAY,KAAK,CAAC,EAAE,MAAM,CAAC;AAE7C,sBAAY,KAAK,YAAY,KAAK,CAAC,EAAE,IAAI,CAAC;AAC1C,sBAAY,KAAK,YAAY,KAAK,CAAC,EAAE,IAAI,CAAC;AAC1C,sBAAY,KAAK,YAAY,KAAK,CAAC,EAAE,MAAM,CAAC;AAAA,QAChD;AAEA,aAAK,aAAa,IAAI,OAAO,OAAO,YAAY,KAAK,GAAG,IAAI,KAAK,GAAG;AACpE,aAAK,iBAAiB,IAAI,OAAO,OAAO,WAAW,KAAK,GAAG,IAAI,KAAK,GAAG;AACvE,aAAK,iBAAiB,IAAI,OAAO,OAAO,WAAW,KAAK,GAAG,IAAI,KAAK,GAAG;AACvE,aAAK,mBAAmB,IAAI;AAAA,UACxB,OAAO,aAAa,KAAK,GAAG,IAAI;AAAA,UAChC;AAAA,QACJ;AAAA,MACJ;AAIA,qBAAe,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,WAAY;AACxC,eAAO,KAAK,SAAS,IAAI;AAAA,MAC7B,CAAC;AAED,qBAAe,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,WAAY;AACxC,eAAO,KAAK,YAAY,IAAI;AAAA,MAChC,CAAC;AAED,eAAS,uBAAuBQ,QAAO,QAAQ;AAC3C,uBAAe,GAAG,CAACA,QAAOA,OAAM,MAAM,GAAG,GAAG,MAAM;AAAA,MACtD;AAEA,6BAAuB,QAAQ,UAAU;AACzC,6BAAuB,SAAS,UAAU;AAC1C,6BAAuB,QAAQ,aAAa;AAC5C,6BAAuB,SAAS,aAAa;AAI7C,mBAAa,YAAY,IAAI;AAC7B,mBAAa,eAAe,IAAI;AAIhC,sBAAgB,YAAY,CAAC;AAC7B,sBAAgB,eAAe,CAAC;AAIhC,oBAAc,KAAK,WAAW;AAC9B,oBAAc,KAAK,WAAW;AAC9B,oBAAc,MAAM,WAAW,MAAM;AACrC,oBAAc,MAAM,WAAW,MAAM;AACrC,oBAAc,QAAQ,WAAW,MAAM;AACvC,oBAAc,QAAQ,WAAW,MAAM;AACvC,oBAAc,SAAS,WAAW,MAAM;AACxC,oBAAc,SAAS,WAAW,MAAM;AAExC;AAAA,QACI,CAAC,QAAQ,SAAS,QAAQ,OAAO;AAAA,QACjC,SAAU,OAAO,MAAM,QAAQA,QAAO;AAClC,eAAKA,OAAM,OAAO,GAAG,CAAC,CAAC,IAAI,MAAM,KAAK;AAAA,QAC1C;AAAA,MACJ;AAEA,wBAAkB,CAAC,MAAM,IAAI,GAAG,SAAU,OAAO,MAAM,QAAQA,QAAO;AAClE,aAAKA,MAAK,IAAI,MAAM,kBAAkB,KAAK;AAAA,MAC/C,CAAC;AAID,eAAS,eAAe,OAAO;AAC3B,eAAO,qBAAqB;AAAA,UACxB;AAAA,UACA;AAAA,UACA,KAAK,KAAK;AAAA,UACV,KAAK,QAAQ;AAAA,UACb,KAAK,WAAW,EAAE,MAAM;AAAA,UACxB,KAAK,WAAW,EAAE,MAAM;AAAA,QAC5B;AAAA,MACJ;AAEA,eAAS,kBAAkB,OAAO;AAC9B,eAAO,qBAAqB;AAAA,UACxB;AAAA,UACA;AAAA,UACA,KAAK,QAAQ;AAAA,UACb,KAAK,WAAW;AAAA,UAChB;AAAA,UACA;AAAA,QACJ;AAAA,MACJ;AAEA,eAAS,oBAAoB;AACzB,eAAO,YAAY,KAAK,KAAK,GAAG,GAAG,CAAC;AAAA,MACxC;AAEA,eAAS,2BAA2B;AAChC,eAAO,YAAY,KAAK,YAAY,GAAG,GAAG,CAAC;AAAA,MAC/C;AAEA,eAAS,iBAAiB;AACtB,YAAI,WAAW,KAAK,WAAW,EAAE;AACjC,eAAO,YAAY,KAAK,KAAK,GAAG,SAAS,KAAK,SAAS,GAAG;AAAA,MAC9D;AAEA,eAAS,qBAAqB;AAC1B,YAAI,WAAW,KAAK,WAAW,EAAE;AACjC,eAAO,YAAY,KAAK,SAAS,GAAG,SAAS,KAAK,SAAS,GAAG;AAAA,MAClE;AAEA,eAAS,qBAAqB,OAAO,MAAM,SAAS,KAAK,KAAK;AAC1D,YAAI;AACJ,YAAI,SAAS,MAAM;AACf,iBAAO,WAAW,MAAM,KAAK,GAAG,EAAE;AAAA,QACtC,OAAO;AACH,wBAAc,YAAY,OAAO,KAAK,GAAG;AACzC,cAAI,OAAO,aAAa;AACpB,mBAAO;AAAA,UACX;AACA,iBAAO,WAAW,KAAK,MAAM,OAAO,MAAM,SAAS,KAAK,GAAG;AAAA,QAC/D;AAAA,MACJ;AAEA,eAAS,WAAW,UAAU,MAAM,SAAS,KAAK,KAAK;AACnD,YAAI,gBAAgB,mBAAmB,UAAU,MAAM,SAAS,KAAK,GAAG,GACpE,OAAO,cAAc,cAAc,MAAM,GAAG,cAAc,SAAS;AAEvE,aAAK,KAAK,KAAK,eAAe,CAAC;AAC/B,aAAK,MAAM,KAAK,YAAY,CAAC;AAC7B,aAAK,KAAK,KAAK,WAAW,CAAC;AAC3B,eAAO;AAAA,MACX;AAIA,qBAAe,KAAK,GAAG,MAAM,SAAS;AAItC,mBAAa,WAAW,GAAG;AAI3B,sBAAgB,WAAW,CAAC;AAI5B,oBAAc,KAAK,MAAM;AACzB,oBAAc,KAAK,SAAU,OAAO,OAAO;AACvC,cAAM,KAAK,KAAK,MAAM,KAAK,IAAI,KAAK;AAAA,MACxC,CAAC;AAID,eAAS,cAAc,OAAO;AAC1B,eAAO,SAAS,OACV,KAAK,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,IAChC,KAAK,OAAO,QAAQ,KAAK,IAAK,KAAK,MAAM,IAAI,CAAE;AAAA,MACzD;AAIA,qBAAe,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,MAAM;AAI3C,mBAAa,QAAQ,GAAG;AAGxB,sBAAgB,QAAQ,CAAC;AAIzB,oBAAc,KAAK,SAAS;AAC5B,oBAAc,MAAM,WAAW,MAAM;AACrC,oBAAc,MAAM,SAAU,UAAUR,SAAQ;AAE5C,eAAO,WACDA,QAAO,2BAA2BA,QAAO,gBACzCA,QAAO;AAAA,MACjB,CAAC;AAED,oBAAc,CAAC,KAAK,IAAI,GAAG,IAAI;AAC/B,oBAAc,MAAM,SAAU,OAAO,OAAO;AACxC,cAAM,IAAI,IAAI,MAAM,MAAM,MAAM,SAAS,EAAE,CAAC,CAAC;AAAA,MACjD,CAAC;AAID,UAAI,mBAAmB,WAAW,QAAQ,IAAI;AAI9C,qBAAe,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,WAAW;AAItD,mBAAa,aAAa,KAAK;AAG/B,sBAAgB,aAAa,CAAC;AAI9B,oBAAc,OAAO,SAAS;AAC9B,oBAAc,QAAQ,MAAM;AAC5B,oBAAc,CAAC,OAAO,MAAM,GAAG,SAAU,OAAO,OAAO,QAAQ;AAC3D,eAAO,aAAa,MAAM,KAAK;AAAA,MACnC,CAAC;AAMD,eAAS,gBAAgB,OAAO;AAC5B,YAAI,YACA,KAAK;AAAA,WACA,KAAK,MAAM,EAAE,QAAQ,KAAK,IAAI,KAAK,MAAM,EAAE,QAAQ,MAAM,KAAK;AAAA,QACnE,IAAI;AACR,eAAO,SAAS,OAAO,YAAY,KAAK,IAAI,QAAQ,WAAW,GAAG;AAAA,MACtE;AAIA,qBAAe,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,QAAQ;AAI1C,mBAAa,UAAU,GAAG;AAI1B,sBAAgB,UAAU,EAAE;AAI5B,oBAAc,KAAK,SAAS;AAC5B,oBAAc,MAAM,WAAW,MAAM;AACrC,oBAAc,CAAC,KAAK,IAAI,GAAG,MAAM;AAIjC,UAAI,eAAe,WAAW,WAAW,KAAK;AAI9C,qBAAe,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,QAAQ;AAI1C,mBAAa,UAAU,GAAG;AAI1B,sBAAgB,UAAU,EAAE;AAI5B,oBAAc,KAAK,SAAS;AAC5B,oBAAc,MAAM,WAAW,MAAM;AACrC,oBAAc,CAAC,KAAK,IAAI,GAAG,MAAM;AAIjC,UAAI,eAAe,WAAW,WAAW,KAAK;AAI9C,qBAAe,KAAK,GAAG,GAAG,WAAY;AAClC,eAAO,CAAC,EAAE,KAAK,YAAY,IAAI;AAAA,MACnC,CAAC;AAED,qBAAe,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,WAAY;AACxC,eAAO,CAAC,EAAE,KAAK,YAAY,IAAI;AAAA,MACnC,CAAC;AAED,qBAAe,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,aAAa;AAC9C,qBAAe,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,WAAY;AAC1C,eAAO,KAAK,YAAY,IAAI;AAAA,MAChC,CAAC;AACD,qBAAe,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,WAAY;AAC3C,eAAO,KAAK,YAAY,IAAI;AAAA,MAChC,CAAC;AACD,qBAAe,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,WAAY;AAC5C,eAAO,KAAK,YAAY,IAAI;AAAA,MAChC,CAAC;AACD,qBAAe,GAAG,CAAC,WAAW,CAAC,GAAG,GAAG,WAAY;AAC7C,eAAO,KAAK,YAAY,IAAI;AAAA,MAChC,CAAC;AACD,qBAAe,GAAG,CAAC,YAAY,CAAC,GAAG,GAAG,WAAY;AAC9C,eAAO,KAAK,YAAY,IAAI;AAAA,MAChC,CAAC;AACD,qBAAe,GAAG,CAAC,aAAa,CAAC,GAAG,GAAG,WAAY;AAC/C,eAAO,KAAK,YAAY,IAAI;AAAA,MAChC,CAAC;AAID,mBAAa,eAAe,IAAI;AAIhC,sBAAgB,eAAe,EAAE;AAIjC,oBAAc,KAAK,WAAW,MAAM;AACpC,oBAAc,MAAM,WAAW,MAAM;AACrC,oBAAc,OAAO,WAAW,MAAM;AAEtC,UAAIQ,QAAO;AACX,WAAKA,SAAQ,QAAQA,OAAM,UAAU,GAAGA,UAAS,KAAK;AAClD,sBAAcA,QAAO,aAAa;AAAA,MACtC;AAEA,eAAS,QAAQ,OAAO,OAAO;AAC3B,cAAM,WAAW,IAAI,OAAO,OAAO,SAAS,GAAI;AAAA,MACpD;AAEA,WAAKA,SAAQ,KAAKA,OAAM,UAAU,GAAGA,UAAS,KAAK;AAC/C,sBAAcA,QAAO,OAAO;AAAA,MAChC;AAEA,0BAAoB,WAAW,gBAAgB,KAAK;AAIpD,qBAAe,KAAK,GAAG,GAAG,UAAU;AACpC,qBAAe,MAAM,GAAG,GAAG,UAAU;AAIrC,eAAS,cAAc;AACnB,eAAO,KAAK,SAAS,QAAQ;AAAA,MACjC;AAEA,eAAS,cAAc;AACnB,eAAO,KAAK,SAAS,+BAA+B;AAAA,MACxD;AAEA,UAAI,QAAQ,OAAO;AAEnB,YAAM,MAAM;AACZ,YAAM,WAAW;AACjB,YAAM,QAAQ;AACd,YAAM,OAAOI;AACb,YAAM,QAAQ;AACd,YAAM,SAAS;AACf,YAAM,OAAOV;AACb,YAAM,UAAU;AAChB,YAAM,KAAK;AACX,YAAM,QAAQ;AACd,YAAM,MAAM;AACZ,YAAM,YAAY;AAClB,YAAM,UAAU;AAChB,YAAM,WAAW;AACjB,YAAM,YAAY;AAClB,YAAM,SAAS;AACf,YAAM,gBAAgB;AACtB,YAAM,iBAAiB;AACvB,YAAM,UAAU;AAChB,YAAM,OAAO;AACb,YAAM,SAAS;AACf,YAAM,aAAa;AACnB,YAAM,MAAM;AACZ,YAAM,MAAM;AACZ,YAAM,eAAe;AACrB,YAAM,MAAM;AACZ,YAAM,UAAU;AAChB,YAAM,WAAW;AACjB,YAAM,UAAU;AAChB,YAAM,WAAW;AACjB,YAAM,SAAS;AACf,YAAM,cAAc;AACpB,YAAM,UAAU;AAChB,UAAI,OAAO,WAAW,eAAe,OAAO,OAAO,MAAM;AACrD,cAAM,OAAO,IAAI,4BAA4B,CAAC,IAAI,WAAY;AAC1D,iBAAO,YAAY,KAAK,OAAO,IAAI;AAAA,QACvC;AAAA,MACJ;AACA,YAAM,SAAS;AACf,YAAM,WAAW;AACjB,YAAM,OAAO;AACb,YAAM,UAAU;AAChB,YAAM,eAAe;AACrB,YAAM,UAAU;AAChB,YAAM,YAAY;AAClB,YAAM,UAAU;AAChB,YAAM,UAAU;AAChB,YAAM,OAAO;AACb,YAAM,aAAa;AACnB,YAAM,WAAW;AACjB,YAAM,cAAc;AACpB,YAAM,UAAU,MAAM,WAAW;AACjC,YAAM,QAAQ;AACd,YAAM,cAAc;AACpB,YAAM,OAAO,MAAM,QAAQ;AAC3B,YAAM,UAAU,MAAM,WAAW;AACjC,YAAM,cAAc;AACpB,YAAM,kBAAkB;AACxB,YAAM,iBAAiB;AACvB,YAAM,wBAAwB;AAC9B,YAAM,OAAO;AACb,YAAM,MAAM,MAAM,OAAO;AACzB,YAAM,UAAU;AAChB,YAAM,aAAa;AACnB,YAAM,YAAY;AAClB,YAAM,OAAO,MAAM,QAAQ;AAC3B,YAAM,SAAS,MAAM,UAAU;AAC/B,YAAM,SAAS,MAAM,UAAU;AAC/B,YAAM,cAAc,MAAM,eAAe;AACzC,YAAM,YAAY;AAClB,YAAM,MAAM;AACZ,YAAM,QAAQ;AACd,YAAM,YAAY;AAClB,YAAM,uBAAuB;AAC7B,YAAM,QAAQ;AACd,YAAM,UAAU;AAChB,YAAM,cAAc;AACpB,YAAM,QAAQ;AACd,YAAM,QAAQ;AACd,YAAM,WAAW;AACjB,YAAM,WAAW;AACjB,YAAM,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,MACJ;AACA,YAAM,SAAS;AAAA,QACX;AAAA,QACA;AAAA,MACJ;AACA,YAAM,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,MACJ;AACA,YAAM,OAAO;AAAA,QACT;AAAA,QACA;AAAA,MACJ;AACA,YAAM,eAAe;AAAA,QACjB;AAAA,QACA;AAAA,MACJ;AAEA,eAAS,WAAW,OAAO;AACvB,eAAO,YAAY,QAAQ,GAAI;AAAA,MACnC;AAEA,eAAS,eAAe;AACpB,eAAO,YAAY,MAAM,MAAM,SAAS,EAAE,UAAU;AAAA,MACxD;AAEA,eAAS,mBAAmB,QAAQ;AAChC,eAAO;AAAA,MACX;AAEA,UAAI,UAAU,OAAO;AAErB,cAAQ,WAAWG;AACnB,cAAQ,iBAAiB;AACzB,cAAQ,cAAc;AACtB,cAAQ,UAAU;AAClB,cAAQ,WAAW;AACnB,cAAQ,aAAa;AACrB,cAAQ,eAAe;AACvB,cAAQ,aAAa;AACrB,cAAQ,MAAMD;AACd,cAAQ,OAAO;AACf,cAAQ,YAAY;AACpB,cAAQ,kBAAkB;AAC1B,cAAQ,gBAAgB;AACxB,cAAQ,gBAAgB;AACxB,cAAQ,kBAAkB;AAE1B,cAAQ,SAAS;AACjB,cAAQ,cAAc;AACtB,cAAQ,cAAc;AACtB,cAAQ,cAAc;AACtB,cAAQ,mBAAmB;AAC3B,cAAQ,OAAO;AACf,cAAQ,iBAAiB;AACzB,cAAQ,iBAAiB;AAEzB,cAAQ,WAAW;AACnB,cAAQ,cAAc;AACtB,cAAQ,gBAAgB;AACxB,cAAQ,gBAAgB;AAExB,cAAQ,gBAAgB;AACxB,cAAQ,qBAAqB;AAC7B,cAAQ,mBAAmB;AAE3B,cAAQ,OAAO;AACf,cAAQ,WAAW;AAEnB,eAAS,MAAML,SAAQ,OAAO,OAAO,QAAQ;AACzC,YAAIC,UAAS,UAAU,GACnB,MAAM,UAAU,EAAE,IAAI,QAAQ,KAAK;AACvC,eAAOA,QAAO,KAAK,EAAE,KAAKD,OAAM;AAAA,MACpC;AAEA,eAAS,eAAeA,SAAQ,OAAO,OAAO;AAC1C,YAAI,SAASA,OAAM,GAAG;AAClB,kBAAQA;AACR,UAAAA,UAAS;AAAA,QACb;AAEA,QAAAA,UAASA,WAAU;AAEnB,YAAI,SAAS,MAAM;AACf,iBAAO,MAAMA,SAAQ,OAAO,OAAO,OAAO;AAAA,QAC9C;AAEA,YAAI,GACA,MAAM,CAAC;AACX,aAAK,IAAI,GAAG,IAAI,IAAI,KAAK;AACrB,cAAI,CAAC,IAAI,MAAMA,SAAQ,GAAG,OAAO,OAAO;AAAA,QAC5C;AACA,eAAO;AAAA,MACX;AAUA,eAAS,iBAAiB,cAAcA,SAAQ,OAAO,OAAO;AAC1D,YAAI,OAAO,iBAAiB,WAAW;AACnC,cAAI,SAASA,OAAM,GAAG;AAClB,oBAAQA;AACR,YAAAA,UAAS;AAAA,UACb;AAEA,UAAAA,UAASA,WAAU;AAAA,QACvB,OAAO;AACH,UAAAA,UAAS;AACT,kBAAQA;AACR,yBAAe;AAEf,cAAI,SAASA,OAAM,GAAG;AAClB,oBAAQA;AACR,YAAAA,UAAS;AAAA,UACb;AAEA,UAAAA,UAASA,WAAU;AAAA,QACvB;AAEA,YAAIC,UAAS,UAAU,GACnB,QAAQ,eAAeA,QAAO,MAAM,MAAM,GAC1C,GACA,MAAM,CAAC;AAEX,YAAI,SAAS,MAAM;AACf,iBAAO,MAAMD,UAAS,QAAQ,SAAS,GAAG,OAAO,KAAK;AAAA,QAC1D;AAEA,aAAK,IAAI,GAAG,IAAI,GAAG,KAAK;AACpB,cAAI,CAAC,IAAI,MAAMA,UAAS,IAAI,SAAS,GAAG,OAAO,KAAK;AAAA,QACxD;AACA,eAAO;AAAA,MACX;AAEA,eAAS,WAAWA,SAAQ,OAAO;AAC/B,eAAO,eAAeA,SAAQ,OAAO,QAAQ;AAAA,MACjD;AAEA,eAAS,gBAAgBA,SAAQ,OAAO;AACpC,eAAO,eAAeA,SAAQ,OAAO,aAAa;AAAA,MACtD;AAEA,eAAS,aAAa,cAAcA,SAAQ,OAAO;AAC/C,eAAO,iBAAiB,cAAcA,SAAQ,OAAO,UAAU;AAAA,MACnE;AAEA,eAAS,kBAAkB,cAAcA,SAAQ,OAAO;AACpD,eAAO,iBAAiB,cAAcA,SAAQ,OAAO,eAAe;AAAA,MACxE;AAEA,eAAS,gBAAgB,cAAcA,SAAQ,OAAO;AAClD,eAAO,iBAAiB,cAAcA,SAAQ,OAAO,aAAa;AAAA,MACtE;AAEA,yBAAmB,MAAM;AAAA,QACrB,MAAM;AAAA,UACF;AAAA,YACI,OAAO;AAAA,YACP,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,MAAM;AAAA,YACN,QAAQ;AAAA,YACR,MAAM;AAAA,UACV;AAAA,UACA;AAAA,YACI,OAAO;AAAA,YACP,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,MAAM;AAAA,YACN,QAAQ;AAAA,YACR,MAAM;AAAA,UACV;AAAA,QACJ;AAAA,QACA,wBAAwB;AAAA,QACxB,SAAS,SAAU,QAAQ;AACvB,cAAI,IAAI,SAAS,IACb,SACI,MAAO,SAAS,MAAO,EAAE,MAAM,IACzB,OACA,MAAM,IACN,OACA,MAAM,IACN,OACA,MAAM,IACN,OACA;AACd,iBAAO,SAAS;AAAA,QACpB;AAAA,MACJ,CAAC;AAID,YAAM,OAAO;AAAA,QACT;AAAA,QACA;AAAA,MACJ;AACA,YAAM,WAAW;AAAA,QACb;AAAA,QACA;AAAA,MACJ;AAEA,UAAI,UAAU,KAAK;AAEnB,eAAS8B,OAAM;AACX,YAAI,OAAO,KAAK;AAEhB,aAAK,gBAAgB,QAAQ,KAAK,aAAa;AAC/C,aAAK,QAAQ,QAAQ,KAAK,KAAK;AAC/B,aAAK,UAAU,QAAQ,KAAK,OAAO;AAEnC,aAAK,eAAe,QAAQ,KAAK,YAAY;AAC7C,aAAK,UAAU,QAAQ,KAAK,OAAO;AACnC,aAAK,UAAU,QAAQ,KAAK,OAAO;AACnC,aAAK,QAAQ,QAAQ,KAAK,KAAK;AAC/B,aAAK,SAAS,QAAQ,KAAK,MAAM;AACjC,aAAK,QAAQ,QAAQ,KAAK,KAAK;AAE/B,eAAO;AAAA,MACX;AAEA,eAAS,cAAc,UAAU,OAAO,OAAO,WAAW;AACtD,YAAI,QAAQ,eAAe,OAAO,KAAK;AAEvC,iBAAS,iBAAiB,YAAY,MAAM;AAC5C,iBAAS,SAAS,YAAY,MAAM;AACpC,iBAAS,WAAW,YAAY,MAAM;AAEtC,eAAO,SAAS,QAAQ;AAAA,MAC5B;AAGA,eAAS,MAAM,OAAO,OAAO;AACzB,eAAO,cAAc,MAAM,OAAO,OAAO,CAAC;AAAA,MAC9C;AAGA,eAAS,WAAW,OAAO,OAAO;AAC9B,eAAO,cAAc,MAAM,OAAO,OAAO,EAAE;AAAA,MAC/C;AAEA,eAAS,QAAQ,QAAQ;AACrB,YAAI,SAAS,GAAG;AACZ,iBAAO,KAAK,MAAM,MAAM;AAAA,QAC5B,OAAO;AACH,iBAAO,KAAK,KAAK,MAAM;AAAA,QAC3B;AAAA,MACJ;AAEA,eAAS,SAAS;AACd,YAAIJ,gBAAe,KAAK,eACpBF,QAAO,KAAK,OACZF,UAAS,KAAK,SACd,OAAO,KAAK,OACZG,UACAT,UACAD,QACAM,QACA;AAIJ,YACI,EACKK,iBAAgB,KAAKF,SAAQ,KAAKF,WAAU,KAC5CI,iBAAgB,KAAKF,SAAQ,KAAKF,WAAU,IAEnD;AACE,UAAAI,iBAAgB,QAAQ,aAAaJ,OAAM,IAAIE,KAAI,IAAI;AACvD,UAAAA,QAAO;AACP,UAAAF,UAAS;AAAA,QACb;AAIA,aAAK,eAAeI,gBAAe;AAEnC,QAAAD,WAAU,SAASC,gBAAe,GAAI;AACtC,aAAK,UAAUD,WAAU;AAEzB,QAAAT,WAAU,SAASS,WAAU,EAAE;AAC/B,aAAK,UAAUT,WAAU;AAEzB,QAAAD,SAAQ,SAASC,WAAU,EAAE;AAC7B,aAAK,QAAQD,SAAQ;AAErB,QAAAS,SAAQ,SAAST,SAAQ,EAAE;AAG3B,yBAAiB,SAAS,aAAaS,KAAI,CAAC;AAC5C,QAAAF,WAAU;AACV,QAAAE,SAAQ,QAAQ,aAAa,cAAc,CAAC;AAG5C,QAAAH,SAAQ,SAASC,UAAS,EAAE;AAC5B,QAAAA,WAAU;AAEV,aAAK,OAAOE;AACZ,aAAK,SAASF;AACd,aAAK,QAAQD;AAEb,eAAO;AAAA,MACX;AAEA,eAAS,aAAaG,OAAM;AAGxB,eAAQA,QAAO,OAAQ;AAAA,MAC3B;AAEA,eAAS,aAAaF,SAAQ;AAE1B,eAAQA,UAAS,SAAU;AAAA,MAC/B;AAEA,eAAS,GAAG,OAAO;AACf,YAAI,CAAC,KAAK,QAAQ,GAAG;AACjB,iBAAO;AAAA,QACX;AACA,YAAIE,OACAF,SACAI,gBAAe,KAAK;AAExB,gBAAQ,eAAe,KAAK;AAE5B,YAAI,UAAU,WAAW,UAAU,aAAa,UAAU,QAAQ;AAC9D,UAAAF,QAAO,KAAK,QAAQE,gBAAe;AACnC,UAAAJ,UAAS,KAAK,UAAU,aAAaE,KAAI;AACzC,kBAAQ,OAAO;AAAA,YACX,KAAK;AACD,qBAAOF;AAAA,YACX,KAAK;AACD,qBAAOA,UAAS;AAAA,YACpB,KAAK;AACD,qBAAOA,UAAS;AAAA,UACxB;AAAA,QACJ,OAAO;AAEH,UAAAE,QAAO,KAAK,QAAQ,KAAK,MAAM,aAAa,KAAK,OAAO,CAAC;AACzD,kBAAQ,OAAO;AAAA,YACX,KAAK;AACD,qBAAOA,QAAO,IAAIE,gBAAe;AAAA,YACrC,KAAK;AACD,qBAAOF,QAAOE,gBAAe;AAAA,YACjC,KAAK;AACD,qBAAOF,QAAO,KAAKE,gBAAe;AAAA,YACtC,KAAK;AACD,qBAAOF,QAAO,OAAOE,gBAAe;AAAA,YACxC,KAAK;AACD,qBAAOF,QAAO,QAAQE,gBAAe;AAAA,YAEzC,KAAK;AACD,qBAAO,KAAK,MAAMF,QAAO,KAAK,IAAIE;AAAA,YACtC;AACI,oBAAM,IAAI,MAAM,kBAAkB,KAAK;AAAA,UAC/C;AAAA,QACJ;AAAA,MACJ;AAGA,eAAS,YAAY;AACjB,YAAI,CAAC,KAAK,QAAQ,GAAG;AACjB,iBAAO;AAAA,QACX;AACA,eACI,KAAK,gBACL,KAAK,QAAQ,QACZ,KAAK,UAAU,KAAM,SACtB,MAAM,KAAK,UAAU,EAAE,IAAI;AAAA,MAEnC;AAEA,eAAS,OAAO,OAAO;AACnB,eAAO,WAAY;AACf,iBAAO,KAAK,GAAG,KAAK;AAAA,QACxB;AAAA,MACJ;AAEA,UAAI,iBAAiB,OAAO,IAAI,GAC5B,YAAY,OAAO,GAAG,GACtB,YAAY,OAAO,GAAG,GACtB,UAAU,OAAO,GAAG,GACpB,SAAS,OAAO,GAAG,GACnB,UAAU,OAAO,GAAG,GACpB,WAAW,OAAO,GAAG,GACrB,aAAa,OAAO,GAAG,GACvB,UAAU,OAAO,GAAG;AAExB,eAAS,UAAU;AACf,eAAO,eAAe,IAAI;AAAA,MAC9B;AAEA,eAAS,MAAM,OAAO;AAClB,gBAAQ,eAAe,KAAK;AAC5B,eAAO,KAAK,QAAQ,IAAI,KAAK,QAAQ,GAAG,EAAE,IAAI;AAAA,MAClD;AAEA,eAAS,WAAW,MAAM;AACtB,eAAO,WAAY;AACf,iBAAO,KAAK,QAAQ,IAAI,KAAK,MAAM,IAAI,IAAI;AAAA,QAC/C;AAAA,MACJ;AAEA,UAAI,eAAe,WAAW,cAAc,GACxC,UAAU,WAAW,SAAS,GAC9B,UAAU,WAAW,SAAS,GAC9B,QAAQ,WAAW,OAAO,GAC1B,OAAO,WAAW,MAAM,GACxB,SAAS,WAAW,QAAQ,GAC5B,QAAQ,WAAW,OAAO;AAE9B,eAAS,QAAQ;AACb,eAAO,SAAS,KAAK,KAAK,IAAI,CAAC;AAAA,MACnC;AAEA,UAAI,QAAQ,KAAK,OACb,aAAa;AAAA,QACT,IAAI;AAAA;AAAA,QACJ,GAAG;AAAA;AAAA,QACH,GAAG;AAAA;AAAA,QACH,GAAG;AAAA;AAAA,QACH,GAAG;AAAA;AAAA,QACH,GAAG;AAAA;AAAA,QACH,GAAG;AAAA;AAAA,MACP;AAGJ,eAAS,kBAAkB,QAAQ,QAAQ,eAAe,UAAUzB,SAAQ;AACxE,eAAOA,QAAO,aAAa,UAAU,GAAG,CAAC,CAAC,eAAe,QAAQ,QAAQ;AAAA,MAC7E;AAEA,eAAS,eAAe,gBAAgB,eAAe8B,aAAY9B,SAAQ;AACvE,YAAI,WAAW,eAAe,cAAc,EAAE,IAAI,GAC9CwB,WAAU,MAAM,SAAS,GAAG,GAAG,CAAC,GAChCT,WAAU,MAAM,SAAS,GAAG,GAAG,CAAC,GAChCD,SAAQ,MAAM,SAAS,GAAG,GAAG,CAAC,GAC9BS,QAAO,MAAM,SAAS,GAAG,GAAG,CAAC,GAC7BF,UAAS,MAAM,SAAS,GAAG,GAAG,CAAC,GAC/BC,SAAQ,MAAM,SAAS,GAAG,GAAG,CAAC,GAC9BF,SAAQ,MAAM,SAAS,GAAG,GAAG,CAAC,GAC9B,IACKI,YAAWM,YAAW,MAAM,CAAC,KAAKN,QAAO,KACzCA,WAAUM,YAAW,KAAK,CAAC,MAAMN,QAAO,KACxCT,YAAW,KAAK,CAAC,GAAG,KACpBA,WAAUe,YAAW,KAAK,CAAC,MAAMf,QAAO,KACxCD,UAAS,KAAK,CAAC,GAAG,KAClBA,SAAQgB,YAAW,KAAK,CAAC,MAAMhB,MAAK,KACpCS,SAAQ,KAAK,CAAC,GAAG,KACjBA,QAAOO,YAAW,KAAK,CAAC,MAAMP,KAAI;AAE3C,YAAIO,YAAW,KAAK,MAAM;AACtB,cACI,KACCR,UAAS,KAAK,CAAC,GAAG,KAClBA,SAAQQ,YAAW,KAAK,CAAC,MAAMR,MAAK;AAAA,QAC7C;AACA,YAAI,KACCD,WAAU,KAAK,CAAC,GAAG,KACnBA,UAASS,YAAW,KAAK,CAAC,MAAMT,OAAM,KACtCD,UAAS,KAAK,CAAC,GAAG,KAAM,CAAC,MAAMA,MAAK;AAEzC,UAAE,CAAC,IAAI;AACP,UAAE,CAAC,IAAI,CAAC,iBAAiB;AACzB,UAAE,CAAC,IAAIpB;AACP,eAAO,kBAAkB,MAAM,MAAM,CAAC;AAAA,MAC1C;AAGA,eAAS,2BAA2B,kBAAkB;AAClD,YAAI,qBAAqB,QAAW;AAChC,iBAAO;AAAA,QACX;AACA,YAAI,OAAO,qBAAqB,YAAY;AACxC,kBAAQ;AACR,iBAAO;AAAA,QACX;AACA,eAAO;AAAA,MACX;AAGA,eAAS,4BAA4B,WAAW,OAAO;AACnD,YAAI,WAAW,SAAS,MAAM,QAAW;AACrC,iBAAO;AAAA,QACX;AACA,YAAI,UAAU,QAAW;AACrB,iBAAO,WAAW,SAAS;AAAA,QAC/B;AACA,mBAAW,SAAS,IAAI;AACxB,YAAI,cAAc,KAAK;AACnB,qBAAW,KAAK,QAAQ;AAAA,QAC5B;AACA,eAAO;AAAA,MACX;AAEA,eAAS,SAAS,eAAe,eAAe;AAC5C,YAAI,CAAC,KAAK,QAAQ,GAAG;AACjB,iBAAO,KAAK,WAAW,EAAE,YAAY;AAAA,QACzC;AAEA,YAAI,aAAa,OACb,KAAK,YACLA,SACA;AAEJ,YAAI,OAAO,kBAAkB,UAAU;AACnC,0BAAgB;AAChB,0BAAgB;AAAA,QACpB;AACA,YAAI,OAAO,kBAAkB,WAAW;AACpC,uBAAa;AAAA,QACjB;AACA,YAAI,OAAO,kBAAkB,UAAU;AACnC,eAAK,OAAO,OAAO,CAAC,GAAG,YAAY,aAAa;AAChD,cAAI,cAAc,KAAK,QAAQ,cAAc,MAAM,MAAM;AACrD,eAAG,KAAK,cAAc,IAAI;AAAA,UAC9B;AAAA,QACJ;AAEA,QAAAA,UAAS,KAAK,WAAW;AACzB,iBAAS,eAAe,MAAM,CAAC,YAAY,IAAIA,OAAM;AAErD,YAAI,YAAY;AACZ,mBAASA,QAAO,WAAW,CAAC,MAAM,MAAM;AAAA,QAC5C;AAEA,eAAOA,QAAO,WAAW,MAAM;AAAA,MACnC;AAEA,UAAI,QAAQ,KAAK;AAEjB,eAAS,KAAK,GAAG;AACb,gBAAQ,IAAI,MAAM,IAAI,MAAM,CAAC;AAAA,MACjC;AAEA,eAAS,gBAAgB;AAQrB,YAAI,CAAC,KAAK,QAAQ,GAAG;AACjB,iBAAO,KAAK,WAAW,EAAE,YAAY;AAAA,QACzC;AAEA,YAAIwB,WAAU,MAAM,KAAK,aAAa,IAAI,KACtCD,QAAO,MAAM,KAAK,KAAK,GACvBF,UAAS,MAAM,KAAK,OAAO,GAC3BN,UACAD,QACAM,QACA,GACA,QAAQ,KAAK,UAAU,GACvB,WACA,QACA,UACA;AAEJ,YAAI,CAAC,OAAO;AAGR,iBAAO;AAAA,QACX;AAGA,QAAAL,WAAU,SAASS,WAAU,EAAE;AAC/B,QAAAV,SAAQ,SAASC,WAAU,EAAE;AAC7B,QAAAS,YAAW;AACX,QAAAT,YAAW;AAGX,QAAAK,SAAQ,SAASC,UAAS,EAAE;AAC5B,QAAAA,WAAU;AAGV,YAAIG,WAAUA,SAAQ,QAAQ,CAAC,EAAE,QAAQ,UAAU,EAAE,IAAI;AAEzD,oBAAY,QAAQ,IAAI,MAAM;AAC9B,iBAAS,KAAK,KAAK,OAAO,MAAM,KAAK,KAAK,IAAI,MAAM;AACpD,mBAAW,KAAK,KAAK,KAAK,MAAM,KAAK,KAAK,IAAI,MAAM;AACpD,kBAAU,KAAK,KAAK,aAAa,MAAM,KAAK,KAAK,IAAI,MAAM;AAE3D,eACI,YACA,OACCJ,SAAQ,SAASA,SAAQ,MAAM,OAC/BC,UAAS,SAASA,UAAS,MAAM,OACjCE,QAAO,WAAWA,QAAO,MAAM,OAC/BT,UAASC,YAAWS,WAAU,MAAM,OACpCV,SAAQ,UAAUA,SAAQ,MAAM,OAChCC,WAAU,UAAUA,WAAU,MAAM,OACpCS,WAAU,UAAU,IAAI,MAAM;AAAA,MAEvC;AAEA,UAAI,UAAU,SAAS;AAEvB,cAAQ,UAAU;AAClB,cAAQ,MAAMK;AACd,cAAQ,MAAM;AACd,cAAQ,WAAW;AACnB,cAAQ,KAAK;AACb,cAAQ,iBAAiB;AACzB,cAAQ,YAAY;AACpB,cAAQ,YAAY;AACpB,cAAQ,UAAU;AAClB,cAAQ,SAAS;AACjB,cAAQ,UAAU;AAClB,cAAQ,WAAW;AACnB,cAAQ,aAAa;AACrB,cAAQ,UAAU;AAClB,cAAQ,UAAU;AAClB,cAAQ,UAAU;AAClB,cAAQ,QAAQ;AAChB,cAAQ,MAAM;AACd,cAAQ,eAAe;AACvB,cAAQ,UAAU;AAClB,cAAQ,UAAU;AAClB,cAAQ,QAAQ;AAChB,cAAQ,OAAO;AACf,cAAQ,QAAQ;AAChB,cAAQ,SAAS;AACjB,cAAQ,QAAQ;AAChB,cAAQ,WAAW;AACnB,cAAQ,cAAc;AACtB,cAAQ,WAAW;AACnB,cAAQ,SAAS;AACjB,cAAQ,SAAS;AACjB,cAAQ,aAAa;AAErB,cAAQ,cAAc;AAAA,QAClB;AAAA,QACA;AAAA,MACJ;AACA,cAAQ,OAAO;AAIf,qBAAe,KAAK,GAAG,GAAG,MAAM;AAChC,qBAAe,KAAK,GAAG,GAAG,SAAS;AAInC,oBAAc,KAAK,WAAW;AAC9B,oBAAc,KAAK,cAAc;AACjC,oBAAc,KAAK,SAAU,OAAO,OAAO,QAAQ;AAC/C,eAAO,KAAK,IAAI,KAAK,WAAW,KAAK,IAAI,GAAI;AAAA,MACjD,CAAC;AACD,oBAAc,KAAK,SAAU,OAAO,OAAO,QAAQ;AAC/C,eAAO,KAAK,IAAI,KAAK,MAAM,KAAK,CAAC;AAAA,MACrC,CAAC;AAID,YAAM,UAAU;AAEhB,sBAAgB,WAAW;AAE3B,YAAM,KAAK;AACX,YAAM,MAAM;AACZ,YAAM,MAAM;AACZ,YAAM,MAAM;AACZ,YAAM,MAAM;AACZ,YAAM,OAAO;AACb,YAAM,SAAS;AACf,YAAM,SAAS;AACf,YAAM,SAAS;AACf,YAAM,UAAU;AAChB,YAAM,WAAW;AACjB,YAAM,WAAW;AACjB,YAAM,WAAW;AACjB,YAAM,YAAY;AAClB,YAAM,aAAa;AACnB,YAAM,aAAa;AACnB,YAAM,cAAc;AACpB,YAAM,cAAc;AACpB,YAAM,eAAe;AACrB,YAAM,eAAe;AACrB,YAAM,UAAU;AAChB,YAAM,gBAAgB;AACtB,YAAM,iBAAiB;AACvB,YAAM,uBAAuB;AAC7B,YAAM,wBAAwB;AAC9B,YAAM,iBAAiB;AACvB,YAAM,YAAY;AAGlB,YAAM,YAAY;AAAA,QACd,gBAAgB;AAAA;AAAA,QAChB,wBAAwB;AAAA;AAAA,QACxB,mBAAmB;AAAA;AAAA,QACnB,MAAM;AAAA;AAAA,QACN,MAAM;AAAA;AAAA,QACN,cAAc;AAAA;AAAA,QACd,SAAS;AAAA;AAAA,QACT,MAAM;AAAA;AAAA,QACN,OAAO;AAAA;AAAA,MACX;AAEA,aAAO;AAAA,IAEX,CAAE;AAAA;AAAA;;;ACpjLF;AAAA;AAAA;AACA,WAAO,eAAe,SAAS,cAAc,EAAE,OAAO,KAAK,CAAC;AAC5D,QAAM,SAAS;AACf,QAAIE;AACJ,KAAC,SAAUA,qBAAoB;AAC3B,YAAM,SAAS;AAAA,QACX,YAAY,UAAU,CAAC,GAAG;AACtB,eAAK,UAAU;AACf,eAAK,gBAAgB,CAAC;AACtB,kBAAQ,SAAS,QAAQ,UAAU;AACnC,kBAAQ,gBAAgB,QAAQ,iBAAiB,CAAC;AAClD,kBAAQ,SAAS,QAAQ,UAAU,CAAC;AACpC,kBAAQ,eAAe,QAAQ,gBAAgB;AAC/C,kBAAQ,iBAAiB,QAAQ,mBAAmB,SAAY,QAAQ,QAAQ;AAChF,eAAK,cAAc,KAAK,QAAQ,iBAAiB,IAAI;AACrD,eAAK,cAAc;AACnB,cAAI,CAAC,KAAK;AACN,kBAAO;AAAA,QACf;AAAA,QACA,SAAS,WAAW,SAAS;AACzB,cAAI,QAAQ,CAAC;AACb,cAAI,aAAa,KAAK,cAAc,WAAW,KAAK;AACpD,iBAAO,WAAW,OAAO,eAAe,OAAO,GAAG;AAC9C,kBAAM,KAAK,UAAU;AACrB,yBAAa,KAAK,cAAc,KAAK,OAAO,WAAW,OAAO,OAAO,CAAC,GAAG,KAAK;AAAA,UAClF;AACA,iBAAO;AAAA,QACX;AAAA,QACA,SAAS,eAAe;AACpB,gBAAM,YAAY,KAAK,SAAS,EAAE,KAAK,cAAc,IAAI,EAAE,MAAM,cAAc,QAAQ,KAAK,WAAW,EAAE,KAAK,CAAC,EAAE,OAAO;AACxH,gBAAM,UAAU,KAAK,SAAS,EAAE,KAAK,cAAc,IAAI,EAAE,MAAM,cAAc,QAAQ,KAAK,WAAW,EAAE,IAAI,GAAG,QAAQ,EAAE,KAAK,CAAC,EAAE,OAAO;AACvI,gBAAM,QAAQ,KAAK,SAAS,WAAW,OAAO;AAC9C,gBAAM,WAAW,KAAK,YAAY,KAAK;AACvC,gBAAM,QAAQ,KAAK,SAAS,OAAO,KAAK,QAAQ,YAAY;AAC5D,gBAAM,kBAAkB,KAAK,4BAA4B,KAAK;AAC9D,gBAAM,QAAQ;AAAA,YACV,aAAa;AAAA,YACb,MAAM,cAAc;AAAA,YACpB,QAAQ,gBAAgB,OAAO,MAAM,IAAI,KAAK;AAAA,YAC9C,WAAW,KAAK,cAAc,eAAe;AAAA,YAC7C;AAAA,UACJ;AACA,iBAAO;AAAA,QACX;AAAA,QACA,UAAU,gBAAgB;AACtB,iBAAO,eAAe,IAAI,CAAC,SAAS;AAAE,mBAAO,KAAK,SAAS,EAAE,MAAM,KAAK,MAAM,OAAO,KAAK,MAAM,CAAC;AAAA,UAAG,CAAC;AAAA,QACzG;AAAA,QACA,4BAA4B,OAAO;AAC/B,iBAAO,MAAM,KAAK,CAAC,SAAS;AACxB,mBAAO,QAAQ,KAAK,cAAc;AAAA,UACtC,CAAC;AAAA,QACL;AAAA;AAAA,QAEA,SAAS,MAAM;AACX,gBAAM,IAAI,KAAK,YAAY,IAAI;AAC/B,YAAE,OAAO,KAAK,QAAQ,QAAQ,KAAK,QAAQ,cAAc;AACzD,iBAAO;AAAA,QACX;AAAA;AAAA,QAEA,gBAAgB,MAAM;AAClB,gBAAM,QAAQ,KAAK,cAAc,KAAK,CAAC,SAAS;AAAE,mBAAO,KAAK,SAAS,IAAI,EAAE,OAAO,MAAM,KAAK;AAAA,UAAG,CAAC;AACnG,iBAAO,OAAO,UAAU;AAAA,QAC5B;AAAA;AAAA,QAEA,wBAAwB,MAAM;AAC1B,iBAAO,KAAK,QAAQ,cAAc,KAAK,SAAS,KAAK,QAAQ,WAAW,EAAE,QAAQ,MAAM,KAAK,IAAI;AAAA,QACrG;AAAA;AAAA,QAEA,wBAAwB,MAAM;AAC1B,iBAAO,KAAK,QAAQ,cAAc,KAAK,SAAS,KAAK,QAAQ,WAAW,EAAE,SAAS,MAAM,KAAK,IAAI;AAAA,QACtG;AAAA;AAAA,QAEA,gBAAgB,MAAM;AAClB,iBAAO,KAAK,QAAQ,cAAc,UAAU,CAAC,SAAS;AAAE,mBAAO,KAAK,SAAS,IAAI,EAAE,OAAO,MAAM,KAAK;AAAA,UAAG,CAAC,MAAM;AAAA,QACnH;AAAA;AAAA,QAEA,aAAa,MAAM;AACf,cAAI,SAAS,KAAK,QAAQ,OAAO,OAAO,CAAC,SAAS;AAAE,mBAAO,KAAK,SAAS,KAAK,IAAI,EAAE,OAAO,MAAM,KAAK;AAAA,UAAG,CAAC;AAC1G,iBAAO,OAAO,UAAU,IAAI,OAAO,OAAO,CAAC,EAAE;AAAA,QACjD;AAAA,QACA,cAAc,MAAM,YAAY;AAC5B,gBAAM,aAAa,KAAK,SAAS,IAAI;AACrC,gBAAM,MAAM,KAAK,OAAO;AACxB,gBAAM,QAAQ,KAAK,SAAS;AAC5B,gBAAM,YAAY,KAAK,wBAAwB,IAAI;AACnD,gBAAM,YAAY,KAAK,wBAAwB,IAAI;AACnD,gBAAM,aAAa,KAAK,gBAAgB,IAAI;AAC5C,gBAAM,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC;AAC9C,iBAAO;AAAA,YACH,QAAQ;AAAA,YACR;AAAA,YACA,SAAS,WAAW,OAAO,oBAAI,KAAK,GAAG,KAAK;AAAA,YAC5C,YAAY,KAAK,gBAAgB,IAAI;AAAA,YACrC,oBAAoB;AAAA,YACpB,oBAAoB;AAAA,YACpB;AAAA,YACA;AAAA,YACA,QAAQ,KAAK,aAAa,IAAI;AAAA,UAClC;AAAA,QACJ;AAAA,QACA,eAAe,WAAW;AACtB,gBAAM,YAAY,UAAU,CAAC;AAC7B,iBAAO;AAAA,YACH,YAAY,UAAU,OAAO,KAAK;AAAA,YAClC,aAAa,KAAK,KAAK,UAAU,OAAO,KAAK,IAAI,CAAC;AAAA,YAClD,OAAO;AAAA,UACX;AAAA,QACJ;AAAA,QACA,OAAO,MAAM;AACT,gBAAM,UAAU,IAAI,KAAK,IAAI;AAC7B,kBAAQ,QAAQ,QAAQ,QAAQ,IAAI,CAAC;AACrC,iBAAO;AAAA,QACX;AAAA,QACA,wBAAwB,YAAY,oBAAoB;AACpD,iBAAO,qBAAqB,KAAK,cAAc,WAAW,OAAO,GAAG,IAAI,IAAI;AAAA,QAChF;AAAA,QACA,YAAY,OAAO;AACf,gBAAM,WAAW;AAAA,YACb,MAAM,CAAC;AAAA,YACP,OAAO,CAAC;AAAA,YACR,KAAK,CAAC;AAAA,UACV;AACA,gBAAM,sBAAsB,MAAM,UAAU,CAAC,SAAS;AAClD,mBAAO,KAAK,OAAO,QAAQ,KAAK;AAAA,UACpC,CAAC;AACD,mBAAS,IAAI,qBAAqB,IAAI,sBAAsB,GAAG,KAAK;AAChE,kBAAM,MAAM,MAAM,CAAC,EAAE;AACrB,qBAAS,KAAK,KAAK,IAAI,OAAO,MAAM,CAAC;AACrC,qBAAS,MAAM,KAAK,IAAI,OAAO,KAAK,CAAC;AACrC,qBAAS,IAAI,KAAK,IAAI,OAAO,IAAI,CAAC;AAAA,UACtC;AACA,iBAAO;AAAA,QACX;AAAA,QACA,cAAc,iBAAiB;AAC3B,iBAAO;AAAA,YACH,MAAM,gBAAgB,OAAO,OAAO,MAAM;AAAA,YAC1C,OAAO,gBAAgB,OAAO,OAAO,KAAK;AAAA,UAC9C;AAAA,QACJ;AAAA,QACA,kBAAkB,YAAY,oBAAoB;AAC9C,gBAAM,YAAY,WAAW,QAAQ;AACrC,gBAAM,aAAa,WAAW,MAAM;AACpC,qBAAW,SAAS,WAAW,MAAM;AACrC,gBAAM,QAAQ,CAAC;AACf,iBAAO,WAAW,SAAS,UAAU,GAAG;AACpC,kBAAM,KAAK,KAAK,wBAAwB,YAAY,kBAAkB,CAAC;AACvE,uBAAW,IAAI,GAAG,KAAK;AAAA,UAC3B;AACA,iBAAO;AAAA,QACX;AAAA,QACA,iBAAiB,YAAY,oBAAoB;AAC7C,gBAAM,YAAY,WAAW,QAAQ;AACrC,gBAAM,aAAa,WAAW,MAAM;AACpC,qBAAW,IAAI,IAAI,WAAW,MAAM;AACpC,gBAAM,QAAQ,CAAC;AACf,iBAAO,WAAW,QAAQ,UAAU,GAAG;AACnC,kBAAM,KAAK,KAAK,wBAAwB,YAAY,kBAAkB,CAAC;AACvE,uBAAW,SAAS,GAAG,KAAK;AAAA,UAChC;AACA,gBAAM,QAAQ;AACd,iBAAO;AAAA,QACX;AAAA,QACA,wBAAwB,OAAO;AAC3B,gBAAM,oBAAoB,CAAC,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,OAAK,EAAE,OAAO,KAAK,MAAM,CAAC;AAC9E,iBAAO,kBAAkB,OAAO,KAAK;AAAA,QACzC;AAAA,QACA,eAAe,OAAO;AAClB,gBAAM,QAAQ,CAAC;AACf,cAAI,kBAAkB,MAAM,CAAC,EAAE,OAAO,KAAK;AAC3C,cAAI,gBAAgB,MAAM,MAAM,SAAS,CAAC,EAAE,OAAO,KAAK;AACxD,cAAI,UAAU;AACd,cAAI,iBAAiB,GAAG;AACpB,4BAAgB,KAAK,wBAAwB,KAAK;AAClD;AACA,sBAAU;AAAA,UACd;AACA,cAAI,kBAAkB,eAAe;AACjC,8BAAkB;AAAA,UACtB;AACA,mBAAS,IAAI,iBAAiB,KAAK,eAAe,KAAK;AACnD,gBAAI,cAAc;AAClB,gBAAI,WAAW,KAAK,eAAe;AAC/B,4BAAc;AAAA,YAClB;AAEA,gBAAI,KAAK,GAAG;AACR,4BAAc,MAAM,CAAC,EAAE,OAAO,KAAK;AAAA,YACvC;AACA,kBAAM,YAAY,MAAM,OAAO,SAAU,GAAG;AAAE,qBAAO,EAAE,OAAO,KAAK,KAAK;AAAA,YAAa,CAAC;AACtF,kBAAM,KAAK,KAAK,eAAe,SAAS,CAAC;AAAA,UAC7C;AACA,iBAAO;AAAA,QACX;AAAA,QACA,UAAU,OAAO;AACb,iBAAO,KAAK,eAAe,KAAK;AAAA,QACpC;AAAA,QACA,SAAS,OAAO,oBAAoB;AAChC,cAAI,QAAQ,KAAK,eAAe,KAAK;AACrC,cAAI,gBAAgB,MAAM,SAAS;AACnC,gBAAM,CAAC,EAAE,QAAQ,KAAK,kBAAkB,MAAM,CAAC,EAAE,QAAQ,kBAAkB,EAAE,OAAO,MAAM,CAAC,EAAE,KAAK;AAClG,gBAAM,aAAa,EAAE,QAAQ,MAAM,aAAa,EAAE,MAAM,OAAO,KAAK,iBAAiB,MAAM,MAAM,SAAS,CAAC,EAAE,QAAQ,kBAAkB,CAAC;AACxI,iBAAO;AAAA,QACX;AAAA,QACA,aAAa,OAAO;AAChB,iBAAO,KAAK,SAAS,OAAO,IAAI;AAAA,QACpC;AAAA,QACA,UAAU,OAAO;AACb,gBAAM,QAAQ,KAAK,aAAa,KAAK;AACrC,iBAAO,MAAM,SAAS,GAAG;AACrB,kBAAM,UAAU,MAAM,MAAM,SAAS,CAAC,EAAE,MAAM,MAAM,EAAE,EAAE,CAAC,EAAE,OAAO,MAAM;AACxE,kBAAM,UAAU,QAAQ,IAAI,GAAG,KAAK;AACpC,kBAAM,UAAU,KAAK,iBAAiB,SAAS,IAAI;AAEnD,oBAAQ,QAAQ,KAAK,wBAAwB,SAAS,IAAI,CAAC;AAC3D,kBAAM,KAAK,KAAK,eAAe,OAAO,CAAC;AAAA,UAC3C;AACA,iBAAO;AAAA,QACX;AAAA,QACA,SAAS,OAAO,MAAM;AAClB,gBAAM,qBAAqB;AAC3B,kBAAQ,MAAM;AAAA,YACV,KAAK;AACD,qBAAO,KAAK,UAAU,KAAK;AAAA,YAC/B,KAAK;AACD,qBAAO,KAAK,aAAa,KAAK;AAAA,YAClC,KAAK;AACD,qBAAO,KAAK,SAAS,OAAO,KAAK;AAAA,YACrC,KAAK;AACD,qBAAO,KAAK,UAAU,KAAK;AAAA,YAC/B;AACI,oBAAM,IAAI,MAAM,mBAAmB,IAAI;AAAA,UAC/C;AAAA,QACJ;AAAA,MACJ;AACA,MAAAA,oBAAmB,WAAW;AAAA,IAClC,GAAGA,sBAAqB,QAAQ,uBAAuB,QAAQ,qBAAqB,CAAC,EAAE;AAAA;AAAA;;;AC3OvF,IAAAC,eAAA;AAAA,gEAAAC,SAAA;AAAA;AACA,QAAIC,aAAY,OAAO;AACvB,QAAIC,oBAAmB,OAAO;AAC9B,QAAIC,qBAAoB,OAAO;AAC/B,QAAIC,gBAAe,OAAO,UAAU;AACpC,QAAIC,YAAW,CAAC,QAAQ,QAAQ;AAC9B,eAAS,QAAQ;AACf,QAAAJ,WAAU,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,IAChE;AACA,QAAIK,eAAc,CAAC,IAAIC,OAAM,QAAQ,SAAS;AAC5C,UAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,iBAAS,OAAOJ,mBAAkBI,KAAI;AACpC,cAAI,CAACH,cAAa,KAAK,IAAI,GAAG,KAAK,QAAQ;AACzC,YAAAH,WAAU,IAAI,KAAK,EAAE,KAAK,MAAMM,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOL,kBAAiBK,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,MACvH;AACA,aAAO;AAAA,IACT;AACA,QAAIC,gBAAe,CAAC,QAAQF,aAAYL,WAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,QAAI,iBAAiB,CAAC;AACtB,IAAAI,UAAS,gBAAgB;AAAA,MACvB,SAAS,MAAM;AAAA,MACf,gBAAgB,MAAM;AAAA,MACtB,WAAW,MAAM;AAAA,MACjB,cAAc,MAAM;AAAA,MACpB,QAAQ,MAAM;AAAA,IAChB,CAAC;AACD,IAAAL,QAAO,UAAUQ,cAAa,cAAc;AAC5C,QAAI,iBAAiB;AACrB,QAAIC,iBAAe;AACnB,QAAM,iBAAiB,CAAC,QAAQ,eAAe,OAAO,SAAS,UAAU,UAAU,IAAI,MAAM,MAAM,GAAG,EAAE,QAAQ,CAAC;AACjH,QAAI;AACJ,QAAI,YAAY;AAChB,QAAM,iBAAiB;AAAA,MACrB,OAAO;AAAA,MACP,WAAW;AAAA,MACX,eAAe;AAAA,MACf,aAAa;AAAA,MACb,cAAc;AAAA,MACd,YAAY,eAAe,YAAY,eAAe,SAAS;AAAA,MAC/D,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,aAAa;AAAA,MACb,gBAAgB;AAAA,MAChB,iBAAiB,EAAE,UAAU,SAAS;AAAA,IACxC;AACA,QAAM,SAAS,CAAC,MAAM,SAAS,QAAQ,CAAC,GAAG,UAAU,mBAAmB;AACtE,OAAC,GAAGA,eAAa,OAAO,SAAS,cAAc;AAC/C,kBAAY,QAAQ;AACpB,YAAM,CAAC,UAAUC,KAAI,IAAI,KAAK,MAAM,GAAG;AACvC,YAAM,WAAW,QAAQ;AACzB,YAAM,QAAQ,eAAe,UAAU,QAAQ,KAAK;AACpD,YAAM,UAAU,QAAQ,OAAO,KAAK,KAAK,QAAQ,OAAO,IAAI;AAC5D,YAAM,aAAa,QAAQ,iBAAiB,eAAe,SAAS,kBAAkB;AACtF,YAAM,cAAcA,SAAQA,UAAS,eAAe,OAAO,SAAS,KAAK,MAAM,CAAC;AAChF,YAAM,cAAc,aAAa;AACjC,qBAAe;AACf,UAAI,SAAS;AACX,YAAI,QAAQ;AACV,yBAAe,OAAO,QAAQ,UAAU,OAAO,MAAM,SAASA,QAAO,IAAIA,UAAS,GAAG;AACvF,YAAI,eAAe,CAAC,aAAa;AAC/B,kBAAQ,IAAI,EAAE,KAAK,QAAQ,eAAe,YAAY,QAAQ,QAAQ,CAAC;AACvE,cAAI,QAAQ,aAAa;AACvB,oBAAQ,MAAM,OAAO,EAAE,OAAO,MAAAA,MAAK,GAAG;AAAA,cACpC,sBAAsB,CAAC,QAAQ;AAAA,YACjC,CAAC;AAAA,UACH;AAAA,QACF;AACA,YAAI,QAAQ,aAAa;AACvB,qBAAW,SAAS;AAAA,YAClB,GAAG,QAAQ,mBAAmB,CAAC;AAAA,YAC/B,KAAK;AAAA,YACL,MAAM;AAAA,UACR,CAAC;AAAA,QACH;AACA,YAAI,QAAQ,cAAc;AACxB,kBAAQ,QAAQ,KAAK,SAAS;AAAA,YAC5B,GAAG,QAAQ,mBAAmB,CAAC;AAAA,YAC/B,KAAK;AAAA,YACL,MAAM;AAAA,UACR,CAAC;AAAA,QACH;AAAA,MACF;AACA,UAAIA,OAAM;AACR,cAAM,aAAa,eAAe,SAAS,eAAeA,KAAI;AAC9D,gBAAQ,IAAIA,OAAM,UAAU;AAC5B,YAAI,YAAY;AACd,gBAAM,MAAM,WAAW,sBAAsB,EAAE,MAAM,SAAS,YAAY,QAAQ,kBAAkB;AACpG,qBAAW,SAAS;AAAA,YAClB,GAAG,QAAQ,mBAAmB,CAAC;AAAA,YAC/B;AAAA,YACA,MAAM;AAAA,UACR,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF;AACA,QAAI,iBAAiB;AAAA;AAAA;;;AChGrB,IAAAC,gBAAA;AAAA,2EAAAC,SAAA;AAAA;AACA,QAAIC,YAAW,OAAO;AACtB,QAAIC,aAAY,OAAO;AACvB,QAAIC,oBAAmB,OAAO;AAC9B,QAAIC,qBAAoB,OAAO;AAC/B,QAAIC,gBAAe,OAAO;AAC1B,QAAIC,gBAAe,OAAO,UAAU;AACpC,QAAIC,cAAa,CAAC,IAAI,QAAQ,SAAS,YAAY;AACjD,aAAO,QAAQ,GAAG,GAAGH,mBAAkB,EAAE,EAAE,CAAC,CAAC,IAAI,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,GAAG,GAAG,IAAI;AAAA,IAC7F;AACA,QAAII,YAAW,CAAC,QAAQ,QAAQ;AAC9B,eAAS,QAAQ;AACf,QAAAN,WAAU,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,IAChE;AACA,QAAIO,eAAc,CAAC,IAAIC,OAAM,QAAQ,SAAS;AAC5C,UAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,iBAAS,OAAON,mBAAkBM,KAAI;AACpC,cAAI,CAACJ,cAAa,KAAK,IAAI,GAAG,KAAK,QAAQ;AACzC,YAAAJ,WAAU,IAAI,KAAK,EAAE,KAAK,MAAMQ,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOP,kBAAiBO,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,MACvH;AACA,aAAO;AAAA,IACT;AACA,QAAIC,WAAU,CAAC,KAAK,YAAY,YAAY,SAAS,OAAO,OAAOV,UAASI,cAAa,GAAG,CAAC,IAAI,CAAC,GAAGI;AAAA;AAAA;AAAA;AAAA;AAAA,MAKnG,cAAc,CAAC,OAAO,CAAC,IAAI,aAAaP,WAAU,QAAQ,WAAW,EAAE,OAAO,KAAK,YAAY,KAAK,CAAC,IAAI;AAAA,MACzG;AAAA,IACF;AACA,QAAIU,gBAAe,CAAC,QAAQH,aAAYP,WAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AAGzF,QAAIH,gBAAcQ,YAAW;AAAA,MAC3B,sDAAsDM,UAASC,UAAS;AACtE;AACA,YAAIC,cAAa,OAAO;AACxB,YAAIC,qBAAoB,OAAO;AAC/B,YAAIC,sBAAqB,OAAO;AAChC,YAAIC,iBAAgB,OAAO,UAAU;AACrC,YAAIC,aAAY,CAAC,QAAQ,QAAQ;AAC/B,mBAAS,QAAQ;AACf,YAAAJ,YAAW,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,QACjE;AACA,YAAIK,gBAAe,CAAC,IAAIV,OAAM,QAAQ,SAAS;AAC7C,cAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,qBAAS,OAAOO,oBAAmBP,KAAI;AACrC,kBAAI,CAACQ,eAAc,KAAK,IAAI,GAAG,KAAK,QAAQ;AAC1C,gBAAAH,YAAW,IAAI,KAAK,EAAE,KAAK,MAAML,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOM,mBAAkBN,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,UACzH;AACA,iBAAO;AAAA,QACT;AACA,YAAIW,iBAAgB,CAAC,QAAQD,cAAaL,YAAW,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AAC5F,YAAI,kBAAkB,CAAC;AACvB,QAAAI,WAAU,iBAAiB;AAAA,UACzB,UAAU,MAAM;AAAA,UAChB,QAAQ,MAAM;AAAA,UACd,MAAM,MAAM;AAAA,UACZ,QAAQ,MAAM;AAAA,QAChB,CAAC;AACD,QAAAL,SAAQ,UAAUO,eAAc,eAAe;AAC/C,YAAI,SAAS;AACb,YAAI,OAAO;AACX,YAAI,UAAU;AACd,YAAI,YAAY,QAAQ;AAAA,MAC1B;AAAA,IACF,CAAC;AAGD,QAAIC,gBAAef,YAAW;AAAA,MAC5B,kDAAkDM,UAASC,UAAS;AAClE;AACA,YAAIC,cAAa,OAAO;AACxB,YAAIC,qBAAoB,OAAO;AAC/B,YAAIC,sBAAqB,OAAO;AAChC,YAAIC,iBAAgB,OAAO,UAAU;AACrC,YAAIC,aAAY,CAAC,QAAQ,QAAQ;AAC/B,mBAAS,QAAQ;AACf,YAAAJ,YAAW,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,QACjE;AACA,YAAIK,gBAAe,CAAC,IAAIV,OAAM,QAAQ,SAAS;AAC7C,cAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,qBAAS,OAAOO,oBAAmBP,KAAI;AACrC,kBAAI,CAACQ,eAAc,KAAK,IAAI,GAAG,KAAK,QAAQ;AAC1C,gBAAAH,YAAW,IAAI,KAAK,EAAE,KAAK,MAAML,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOM,mBAAkBN,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,UACzH;AACA,iBAAO;AAAA,QACT;AACA,YAAIW,iBAAgB,CAAC,QAAQD,cAAaL,YAAW,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AAC5F,YAAI,cAAc,CAAC;AACnB,QAAAI,WAAU,aAAa;AAAA,UACrB,WAAW,MAAM;AAAA,UACjB,kBAAkB,MAAM;AAAA,QAC1B,CAAC;AACD,QAAAL,SAAQ,UAAUO,eAAc,WAAW;AAC3C,YAAI,YAAY,WAAW;AACzB,cAAI,QAAQ;AACZ,mBAAS,QAAQ;AACf;AACA,mBAAO;AAAA,UACT;AACA,iBAAO;AAAA,QACT,EAAE;AACF,YAAI,mBAAmB;AAAA,MACzB;AAAA,IACF,CAAC;AAGD,QAAIE,oBAAmBhB,YAAW;AAAA,MAChC,sDAAsDM,UAASC,UAAS;AACtE;AACA,YAAIC,cAAa,OAAO;AACxB,YAAIC,qBAAoB,OAAO;AAC/B,YAAIC,sBAAqB,OAAO;AAChC,YAAIC,iBAAgB,OAAO,UAAU;AACrC,YAAIC,aAAY,CAAC,QAAQ,QAAQ;AAC/B,mBAAS,QAAQ;AACf,YAAAJ,YAAW,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,QACjE;AACA,YAAIK,gBAAe,CAAC,IAAIV,OAAM,QAAQ,SAAS;AAC7C,cAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,qBAAS,OAAOO,oBAAmBP,KAAI;AACrC,kBAAI,CAACQ,eAAc,KAAK,IAAI,GAAG,KAAK,QAAQ;AAC1C,gBAAAH,YAAW,IAAI,KAAK,EAAE,KAAK,MAAML,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOM,mBAAkBN,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,UACzH;AACA,iBAAO;AAAA,QACT;AACA,YAAIW,iBAAgB,CAAC,QAAQD,cAAaL,YAAW,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AAC5F,YAAI,mBAAmB,CAAC;AACxB,QAAAI,WAAU,kBAAkB;AAAA,UAC1B,WAAW,MAAM;AAAA,QACnB,CAAC;AACD,QAAAL,SAAQ,UAAUO,eAAc,gBAAgB;AAChD,YAAI,YAAY;AAAA,UACd,MAAM;AAAA,YACJ;AAAA,YACA;AAAA,UACF;AAAA,UACA,MAAM;AAAA,YACJ;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,UACA,MAAM;AAAA,YACJ;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AA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",
|
|
6
|
+
"names": ["module", "__create", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__getProtoOf", "__hasOwnProp", "__commonJS", "__export", "__copyProps", "from", "__toESM", "__toCommonJS", "require_cjs", "exports", "module2", "__defProp2", "__getOwnPropDesc2", "__getOwnPropNames2", "__hasOwnProp2", "__export2", "__copyProps2", "__toCommonJS2", "require_cjs2", "require_htmlTags", "require_cjs3", "require_node", "require_types", "isArray6", "isFunction2", "isNot", "isObjectLike3", "require_array", "require_object", "deepClone2", "diff", "exec", "overwriteShallow", "props", "require_function", "memoize", "require_log", "require_cjs4", "CONFIG", "getActiveConfig", "getColor", "getFontFamily", "getFontSizeByKey", "getMediaColor", "getMediaTheme", "getSpacingBasedOnRatio", "getSpacingByKey", "getTheme", "getTimingByKey", "getTimingFunction", "opacify", "set", "splitTransition", "transformBackgroundImage", "transformBorder", "transformDuration", "transformShadow", "transformTextStroke", "transfromGap", "import_utils4", "import_utils2", "import_utils", "match", "import_utils3", "next", "props2", "prefix", "CONFIG2", "import_utils6", "import_utils7", "import_utils8", "abs", "import_utils10", "import_utils11", "import_utils14", "require_cjs", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "require_cjs", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__copyProps", "from", "__toCommonJS", "require_cjs", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "document", "window", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "isArray", "isFunction", "isNot", "isObject", "isObjectLike", "isString", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "deepClone", "diff", "exec", "merge", "overwriteShallow", "props", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "memoize", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "require_cjs", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__copyProps", "from", "__toCommonJS", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "import_utils", "node", "require_cjs", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "import_utils", "require_cjs", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__copyProps", "from", "__toCommonJS", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "parse", "set", "import_utils", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "isState", "import_utils", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "import_utils", "merge2", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "import_utils", "require_cjs", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__copyProps", "from", "__toCommonJS", "module", "isArray", "isObject", "format", "locale", "to", "from", "isFunction", "set", "calendar", "now", "sign", "token", "ordinal", "length", "i", "diff", "localeData", "hours", "minutes", "next", "match", "tokens", "meridiem", "years", "months", "weeks", "days", "seconds", "milliseconds", "offset", "isString", "prefix", "abs", "thresholds", "HeadlessDatepicker", "require_cjs", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "import_utils", "hash", "require_cjs", "module", "__create", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__getProtoOf", "__hasOwnProp", "__commonJS", "__export", "__copyProps", "from", "__toESM", "__toCommonJS", "exports", "module2", "__defProp2", "__getOwnPropDesc2", "__getOwnPropNames2", "__hasOwnProp2", "__export2", "__copyProps2", "__toCommonJS2", "require_cjs2", "require_htmlTags", "require_cjs3", "require_node", "require_types", "isArray6", "isFunction2", "isNot", "isObjectLike3", "require_array", "require_object", "deepClone2", "diff", "exec", "overwriteShallow", "props", "require_function", "memoize", "require_log", "require_cjs4", "CONFIG", "getActiveConfig", "getColor", "getFontFamily", "getFontSizeByKey", "getMediaColor", "getMediaTheme", "getSpacingBasedOnRatio", "getSpacingByKey", "getTheme", "getTimingByKey", "getTimingFunction", "opacify", "set", "splitTransition", "transformBackgroundImage", "transformBorder", "transformDuration", "transformShadow", "transformTextStroke", "transfromGap", "import_utils4", "import_utils2", "import_utils", "match", "import_utils3", "next", "props2", "prefix", "CONFIG2", "import_utils6", "import_utils7", "import_utils8", "abs", "import_utils10", "import_utils11", "import_utils14", "Icon", "IconText", "props", "props", "props", "import_scratch", "props", "props", "props", "import_scratch", "import_scratch", "import_scratch", "props", "props", "exec", "props", "props", "props", "props", "props", "props", "import_utils", "import_scratch", "props", "props", "props", "props", "import_utils", "import_scratch", "props", "import_scratch", "props", "props", "props", "import_scratch", "import_utils", "StyleSheet", "isImportRule", "length", "props", "length", "length", "character", "props", "characters", "length", "length", "identifierWithPointTracking", "character", "toRules", "getRules", "compat", "removeLabel", "isIgnoringComment", "createUnsafeSelectorsAlarm", "node", "isImportRule", "isPrependedWithRegularRules", "nullifyElement", "incorrectImportAlarm", "length", "prefixer", "createCache", "stylis", "insert", "isCustomProperty", "isProcessableValue", "processStyleValue", "match", "next", "serializeStyles", "registerStyles", "insertStyles", "merge", "createEmotion", "css", "keyframes", "injectGlobal", "cx", "classnames", "createEmotion", "props", "props", "props", "props", "isArray", "props", "props", "props", "props", "props", "props", "templateDefault", "templateDefault", "Icon", "props", "isArray", "IconText", "exec", "props", "defaultRouter", "import_scratch", "import_scratch", "import_utils", "import_scratch", "import_scratch", "import_scratch", "CONFIG", "depth", "Focusable", "props", "import_state", "import_utils", "import_scratch", "import_utils", "import_scratch", "import_scratch", "import_scratch", "import_utils", "createEmotion", "emotion", "keyframes", "emotion", "Focusable", "props", "import_utils", "import_scratch", "props", "import_scratch", "import_utils", "listenProp", "props", "import_scratch", "Flex", "props", "import_scratch", "import_utils", "import_scratch", "import_scratch", "import_scratch", "CONFIG", "depth", "import_state", "import_utils", "import_scratch", "import_utils", "import_scratch", "import_scratch", "import_scratch", "import_utils", "createEmotion", "emotion", "keyframes", "emotion", "Flex", "props", "props"]
|
|
7
7
|
}
|