@lifesg/web-frontend-engine 2.0.0-alpha.16 → 2.0.0-alpha.18

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.
Files changed (30) hide show
  1. package/chunks/{file-upload-manager.9f118208.js → file-upload-manager.6f91498f.js} +2 -2
  2. package/chunks/{file-upload-manager.9f118208.js.map → file-upload-manager.6f91498f.js.map} +1 -1
  3. package/chunks/{index.f7bdb097.js → index.01911ac9.js} +9 -9
  4. package/chunks/{index.f7bdb097.js.map → index.01911ac9.js.map} +1 -1
  5. package/chunks/{index.c97fe9cd.js → index.94a6f552.js} +2 -2
  6. package/chunks/{index.c97fe9cd.js.map → index.94a6f552.js.map} +1 -1
  7. package/chunks/index.c8228568.js +2 -0
  8. package/chunks/index.c8228568.js.map +1 -0
  9. package/chunks/{location-modal.422d3eb2.js → location-modal.96339252.js} +2 -2
  10. package/chunks/{location-modal.422d3eb2.js.map → location-modal.96339252.js.map} +1 -1
  11. package/cjs/chunks/{file-upload-manager.d135168d.js → file-upload-manager.2465d276.js} +2 -2
  12. package/cjs/chunks/{file-upload-manager.d135168d.js.map → file-upload-manager.2465d276.js.map} +1 -1
  13. package/cjs/chunks/{index.75d6b664.js → index.33c9bcbb.js} +63 -63
  14. package/cjs/chunks/{index.75d6b664.js.map → index.33c9bcbb.js.map} +1 -1
  15. package/cjs/chunks/{index.9a5d993e.js → index.c8a96a82.js} +2 -2
  16. package/cjs/chunks/{index.9a5d993e.js.map → index.c8a96a82.js.map} +1 -1
  17. package/cjs/chunks/index.dbac2c71.js +2 -0
  18. package/cjs/chunks/index.dbac2c71.js.map +1 -0
  19. package/cjs/chunks/{location-modal.fa5b0c93.js → location-modal.07158be4.js} +2 -2
  20. package/cjs/chunks/{location-modal.fa5b0c93.js.map → location-modal.07158be4.js.map} +1 -1
  21. package/cjs/index.js +1 -1
  22. package/components/fields/image-upload/image-manager/image-manager.d.ts +1 -0
  23. package/components/fields/image-upload/types.d.ts +1 -0
  24. package/context-providers/yup/types.d.ts +1 -0
  25. package/index.js +1 -1
  26. package/package.json +2 -2
  27. package/chunks/index.cffe8c57.js +0 -2
  28. package/chunks/index.cffe8c57.js.map +0 -1
  29. package/cjs/chunks/index.088882e6.js +0 -2
  30. package/cjs/chunks/index.088882e6.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.9a5d993e.js","sources":["../../../node_modules/@erase2d/fabric/dist/_virtual/_rollupPluginBabelHelpers.js","../../../node_modules/fabric/dist/index.min.mjs","../../../node_modules/@erase2d/fabric/dist/fabric/src/ClippingGroup.js","../../../node_modules/@erase2d/fabric/dist/core/dist/src/erase.js","../../../node_modules/@erase2d/fabric/dist/fabric/src/ErasingEffect.js","../../../node_modules/@erase2d/fabric/dist/fabric/src/EraserBrush.js","../../../node_modules/@use-gesture/core/dist/maths-0ab39ae9.esm.js","../../../node_modules/@use-gesture/core/dist/actions-fe213e88.esm.js","../../../node_modules/@use-gesture/core/dist/use-gesture-core.esm.js","../../../node_modules/@use-gesture/react/dist/use-gesture-react.esm.js","../../../src/components/fields/image-upload/image-review/image-editor/image-editor.styles.ts","../../../src/components/fields/image-upload/image-review/image-editor/image-editor.tsx"],"sourcesContent":["function _callSuper(t, o, e) {\n return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));\n}\nfunction _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function () {\n return !!t;\n })();\n}\nfunction _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _regeneratorRuntime() {\n _regeneratorRuntime = function () {\n return e;\n };\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function (t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == typeof h && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function (t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator.return && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(typeof e + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function (e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function () {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function (e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function (t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function (t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function (t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n catch: function (t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function (e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : String(i);\n}\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nfunction _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return _assertThisInitialized(self);\n}\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n return object;\n}\nfunction _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get.bind();\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n return desc.value;\n };\n }\n return _get.apply(this, arguments);\n}\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nexport { _arrayLikeToArray as arrayLikeToArray, _arrayWithHoles as arrayWithHoles, _arrayWithoutHoles as arrayWithoutHoles, _assertThisInitialized as assertThisInitialized, _asyncToGenerator as asyncToGenerator, _callSuper as callSuper, _classCallCheck as classCallCheck, _createClass as createClass, _defineProperty as defineProperty, _get as get, _getPrototypeOf as getPrototypeOf, _inherits as inherits, _isNativeReflectConstruct as isNativeReflectConstruct, _iterableToArray as iterableToArray, _iterableToArrayLimit as iterableToArrayLimit, _nonIterableRest as nonIterableRest, _nonIterableSpread as nonIterableSpread, _objectSpread2 as objectSpread2, _possibleConstructorReturn as possibleConstructorReturn, _regeneratorRuntime as regeneratorRuntime, _setPrototypeOf as setPrototypeOf, _slicedToArray as slicedToArray, _superPropBase as superPropBase, _toConsumableArray as toConsumableArray, _toPrimitive as toPrimitive, _toPropertyKey as toPropertyKey, _unsupportedIterableToArray as unsupportedIterableToArray };\n//# sourceMappingURL=_rollupPluginBabelHelpers.js.map\n","function t(t,e,s){return(e=function(t){var e=function(t,e){if(\"object\"!=typeof t||!t)return t;var s=t[Symbol.toPrimitive];if(void 0!==s){var i=s.call(t,e||\"default\");if(\"object\"!=typeof i)return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"==typeof e?e:e+\"\"}(e))in t?Object.defineProperty(t,e,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[e]=s,t}function e(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),s.push.apply(s,i)}return s}function s(s){for(var i=1;i<arguments.length;i++){var r=null!=arguments[i]?arguments[i]:{};i%2?e(Object(r),!0).forEach((function(e){t(s,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(r)):e(Object(r)).forEach((function(t){Object.defineProperty(s,t,Object.getOwnPropertyDescriptor(r,t))}))}return s}function i(t,e){if(null==t)return{};var s,i,r=function(t,e){if(null==t)return{};var s={};for(var i in t)if({}.hasOwnProperty.call(t,i)){if(e.indexOf(i)>=0)continue;s[i]=t[i]}return s}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(i=0;i<n.length;i++)s=n[i],e.indexOf(s)>=0||{}.propertyIsEnumerable.call(t,s)&&(r[s]=t[s])}return r}function r(t,e){return e||(e=t.slice(0)),Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}class n{constructor(){t(this,\"browserShadowBlurConstant\",1),t(this,\"DPI\",96),t(this,\"devicePixelRatio\",\"undefined\"!=typeof window?window.devicePixelRatio:1),t(this,\"perfLimitSizeTotal\",2097152),t(this,\"maxCacheSideLimit\",4096),t(this,\"minCacheSideLimit\",256),t(this,\"disableStyleCopyPaste\",!1),t(this,\"enableGLFiltering\",!0),t(this,\"textureSize\",4096),t(this,\"forceGLPutImageData\",!1),t(this,\"cachesBoundsOfCurve\",!1),t(this,\"fontPaths\",{}),t(this,\"NUM_FRACTION_DIGITS\",4)}}const o=new class extends n{constructor(t){super(),this.configure(t)}configure(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.assign(this,t)}addFonts(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.fontPaths=s(s({},this.fontPaths),t)}removeFonts(){(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).forEach((t=>{delete this.fontPaths[t]}))}clearFonts(){this.fontPaths={}}restoreDefaults(t){const e=new n,s=(null==t?void 0:t.reduce(((t,s)=>(t[s]=e[s],t)),{}))||e;this.configure(s)}},a=function(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];return console[t](\"fabric\",...s)};class h extends Error{constructor(t,e){super(\"fabric: \".concat(t),e)}}class c extends h{constructor(t){super(\"\".concat(t,\" 'options.signal' is in 'aborted' state\"))}}class l{}class u extends l{testPrecision(t,e){const s=\"precision \".concat(e,\" float;\\nvoid main(){}\"),i=t.createShader(t.FRAGMENT_SHADER);return!!i&&(t.shaderSource(i,s),t.compileShader(i),!!t.getShaderParameter(i,t.COMPILE_STATUS))}queryWebGL(t){const e=t.getContext(\"webgl\");e&&(this.maxTextureSize=e.getParameter(e.MAX_TEXTURE_SIZE),this.GLPrecision=[\"highp\",\"mediump\",\"lowp\"].find((t=>this.testPrecision(e,t))),e.getExtension(\"WEBGL_lose_context\").loseContext(),a(\"log\",\"WebGL: max texture size \".concat(this.maxTextureSize)))}isSupported(t){return!!this.maxTextureSize&&this.maxTextureSize>=t}}const d={};let g;const f=t=>{g=t},p=()=>g||(g={document:document,window:window,isTouchSupported:\"ontouchstart\"in window||\"ontouchstart\"in document||window&&window.navigator&&window.navigator.maxTouchPoints>0,WebGLProbe:new u,dispose(){},copyPasteData:d}),m=()=>p().document,v=()=>p().window,y=()=>{var t;return Math.max(null!==(t=o.devicePixelRatio)&&void 0!==t?t:v().devicePixelRatio,1)};const _=new class{constructor(){t(this,\"charWidthsCache\",{}),t(this,\"boundsOfCurveCache\",{})}getFontCache(t){let{fontFamily:e,fontStyle:s,fontWeight:i}=t;e=e.toLowerCase(),this.charWidthsCache[e]||(this.charWidthsCache[e]={});const r=this.charWidthsCache[e],n=\"\".concat(s.toLowerCase(),\"_\").concat((i+\"\").toLowerCase());return r[n]||(r[n]={}),r[n]}clearFontCache(t){(t=(t||\"\").toLowerCase())?this.charWidthsCache[t]&&delete this.charWidthsCache[t]:this.charWidthsCache={}}limitDimsByArea(t){const{perfLimitSizeTotal:e}=o,s=Math.sqrt(e*t);return[Math.floor(s),Math.floor(e/s)]}};const x=\"6.7.1\";function C(){}const b=Math.PI/2,S=2*Math.PI,w=Math.PI/180,T=Object.freeze([1,0,0,1,0,0]),O=16,k=.4477152502,D=\"center\",M=\"left\",P=\"top\",E=\"bottom\",A=\"right\",j=\"none\",F=/\\r?\\n/,L=\"moving\",R=\"scaling\",I=\"rotating\",B=\"rotate\",X=\"skewing\",Y=\"resizing\",W=\"modifyPoly\",V=\"modifyPath\",z=\"changed\",G=\"scale\",H=\"scaleX\",N=\"scaleY\",U=\"skewX\",q=\"skewY\",K=\"fill\",J=\"stroke\",Q=\"modified\",Z=\"json\",$=\"svg\";const tt=new class{constructor(){this[Z]=new Map,this[$]=new Map}has(t){return this[Z].has(t)}getClass(t){const e=this[Z].get(t);if(!e)throw new h(\"No class registered for \".concat(t));return e}setClass(t,e){e?this[Z].set(e,t):(this[Z].set(t.type,t),this[Z].set(t.type.toLowerCase(),t))}getSVGClass(t){return this[$].get(t)}setSVGClass(t,e){this[$].set(null!=e?e:t.type.toLowerCase(),t)}};const et=new class extends Array{remove(t){const e=this.indexOf(t);e>-1&&this.splice(e,1)}cancelAll(){const t=this.splice(0);return t.forEach((t=>t.abort())),t}cancelByCanvas(t){if(!t)return[];const e=this.filter((e=>{var s;return e.target===t||\"object\"==typeof e.target&&(null===(s=e.target)||void 0===s?void 0:s.canvas)===t}));return e.forEach((t=>t.abort())),e}cancelByTarget(t){if(!t)return[];const e=this.filter((e=>e.target===t));return e.forEach((t=>t.abort())),e}};class st{constructor(){t(this,\"__eventListeners\",{})}on(t,e){if(this.__eventListeners||(this.__eventListeners={}),\"object\"==typeof t)return Object.entries(t).forEach((t=>{let[e,s]=t;this.on(e,s)})),()=>this.off(t);if(e){const s=t;return this.__eventListeners[s]||(this.__eventListeners[s]=[]),this.__eventListeners[s].push(e),()=>this.off(s,e)}return()=>!1}once(t,e){if(\"object\"==typeof t){const e=[];return Object.entries(t).forEach((t=>{let[s,i]=t;e.push(this.once(s,i))})),()=>e.forEach((t=>t()))}if(e){const s=this.on(t,(function(){for(var t=arguments.length,i=new Array(t),r=0;r<t;r++)i[r]=arguments[r];e.call(this,...i),s()}));return s}return()=>!1}_removeEventListener(t,e){if(this.__eventListeners[t])if(e){const s=this.__eventListeners[t],i=s.indexOf(e);i>-1&&s.splice(i,1)}else this.__eventListeners[t]=[]}off(t,e){if(this.__eventListeners)if(void 0===t)for(const t in this.__eventListeners)this._removeEventListener(t);else\"object\"==typeof t?Object.entries(t).forEach((t=>{let[e,s]=t;this._removeEventListener(e,s)})):this._removeEventListener(t,e)}fire(t,e){var s;if(!this.__eventListeners)return;const i=null===(s=this.__eventListeners[t])||void 0===s?void 0:s.concat();if(i)for(let t=0;t<i.length;t++)i[t].call(this,e||{})}}const it=(t,e)=>{const s=t.indexOf(e);return-1!==s&&t.splice(s,1),t},rt=t=>{if(0===t)return 1;switch(Math.abs(t)/b){case 1:case 3:return 0;case 2:return-1}return Math.cos(t)},nt=t=>{if(0===t)return 0;const e=t/b,s=Math.sign(t);switch(e){case 1:return s;case 2:return 0;case 3:return-s}return Math.sin(t)};class ot{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;\"object\"==typeof t?(this.x=t.x,this.y=t.y):(this.x=t,this.y=e)}add(t){return new ot(this.x+t.x,this.y+t.y)}addEquals(t){return this.x+=t.x,this.y+=t.y,this}scalarAdd(t){return new ot(this.x+t,this.y+t)}scalarAddEquals(t){return this.x+=t,this.y+=t,this}subtract(t){return new ot(this.x-t.x,this.y-t.y)}subtractEquals(t){return this.x-=t.x,this.y-=t.y,this}scalarSubtract(t){return new ot(this.x-t,this.y-t)}scalarSubtractEquals(t){return this.x-=t,this.y-=t,this}multiply(t){return new ot(this.x*t.x,this.y*t.y)}scalarMultiply(t){return new ot(this.x*t,this.y*t)}scalarMultiplyEquals(t){return this.x*=t,this.y*=t,this}divide(t){return new ot(this.x/t.x,this.y/t.y)}scalarDivide(t){return new ot(this.x/t,this.y/t)}scalarDivideEquals(t){return this.x/=t,this.y/=t,this}eq(t){return this.x===t.x&&this.y===t.y}lt(t){return this.x<t.x&&this.y<t.y}lte(t){return this.x<=t.x&&this.y<=t.y}gt(t){return this.x>t.x&&this.y>t.y}gte(t){return this.x>=t.x&&this.y>=t.y}lerp(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.5;return e=Math.max(Math.min(1,e),0),new ot(this.x+(t.x-this.x)*e,this.y+(t.y-this.y)*e)}distanceFrom(t){const e=this.x-t.x,s=this.y-t.y;return Math.sqrt(e*e+s*s)}midPointFrom(t){return this.lerp(t)}min(t){return new ot(Math.min(this.x,t.x),Math.min(this.y,t.y))}max(t){return new ot(Math.max(this.x,t.x),Math.max(this.y,t.y))}toString(){return\"\".concat(this.x,\",\").concat(this.y)}setXY(t,e){return this.x=t,this.y=e,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setFromPoint(t){return this.x=t.x,this.y=t.y,this}swap(t){const e=this.x,s=this.y;this.x=t.x,this.y=t.y,t.x=e,t.y=s}clone(){return new ot(this.x,this.y)}rotate(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:at;const s=nt(t),i=rt(t),r=this.subtract(e);return new ot(r.x*i-r.y*s,r.x*s+r.y*i).add(e)}transform(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return new ot(t[0]*this.x+t[2]*this.y+(e?0:t[4]),t[1]*this.x+t[3]*this.y+(e?0:t[5]))}}const at=new ot(0,0),ht=t=>!!t&&Array.isArray(t._objects);function ct(e){class s extends e{constructor(){super(...arguments),t(this,\"_objects\",[])}_onObjectAdded(t){}_onObjectRemoved(t){}_onStackOrderChanged(t){}add(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];const i=this._objects.push(...e);return e.forEach((t=>this._onObjectAdded(t))),i}insertAt(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];return this._objects.splice(t,0,...s),s.forEach((t=>this._onObjectAdded(t))),this._objects.length}remove(){const t=this._objects,e=[];for(var s=arguments.length,i=new Array(s),r=0;r<s;r++)i[r]=arguments[r];return i.forEach((s=>{const i=t.indexOf(s);-1!==i&&(t.splice(i,1),e.push(s),this._onObjectRemoved(s))})),e}forEachObject(t){this.getObjects().forEach(((e,s,i)=>t(e,s,i)))}getObjects(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return 0===e.length?[...this._objects]:this._objects.filter((t=>t.isType(...e)))}item(t){return this._objects[t]}isEmpty(){return 0===this._objects.length}size(){return this._objects.length}contains(t,e){return!!this._objects.includes(t)||!!e&&this._objects.some((e=>e instanceof s&&e.contains(t,!0)))}complexity(){return this._objects.reduce(((t,e)=>t+=e.complexity?e.complexity():0),0)}sendObjectToBack(t){return!(!t||t===this._objects[0])&&(it(this._objects,t),this._objects.unshift(t),this._onStackOrderChanged(t),!0)}bringObjectToFront(t){return!(!t||t===this._objects[this._objects.length-1])&&(it(this._objects,t),this._objects.push(t),this._onStackOrderChanged(t),!0)}sendObjectBackwards(t,e){if(!t)return!1;const s=this._objects.indexOf(t);if(0!==s){const i=this.findNewLowerIndex(t,s,e);return it(this._objects,t),this._objects.splice(i,0,t),this._onStackOrderChanged(t),!0}return!1}bringObjectForward(t,e){if(!t)return!1;const s=this._objects.indexOf(t);if(s!==this._objects.length-1){const i=this.findNewUpperIndex(t,s,e);return it(this._objects,t),this._objects.splice(i,0,t),this._onStackOrderChanged(t),!0}return!1}moveObjectTo(t,e){return t!==this._objects[e]&&(it(this._objects,t),this._objects.splice(e,0,t),this._onStackOrderChanged(t),!0)}findNewLowerIndex(t,e,s){let i;if(s){i=e;for(let s=e-1;s>=0;--s)if(t.isOverlapping(this._objects[s])){i=s;break}}else i=e-1;return i}findNewUpperIndex(t,e,s){let i;if(s){i=e;for(let s=e+1;s<this._objects.length;++s)if(t.isOverlapping(this._objects[s])){i=s;break}}else i=e+1;return i}collectObjects(t){let{left:e,top:s,width:i,height:r}=t,{includeIntersecting:n=!0}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=[],a=new ot(e,s),h=a.add(new ot(i,r));for(let t=this._objects.length-1;t>=0;t--){const e=this._objects[t];e.selectable&&e.visible&&(n&&e.intersectsWithRect(a,h)||e.isContainedWithinRect(a,h)||n&&e.containsPoint(a)||n&&e.containsPoint(h))&&o.push(e)}return o}}return s}class lt extends st{_setOptions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(const e in t)this.set(e,t[e])}_setObject(t){for(const e in t)this._set(e,t[e])}set(t,e){return\"object\"==typeof t?this._setObject(t):this._set(t,e),this}_set(t,e){this[t]=e}toggle(t){const e=this.get(t);return\"boolean\"==typeof e&&this.set(t,!e),this}get(t){return this[t]}}function ut(t){return v().requestAnimationFrame(t)}function dt(t){return v().cancelAnimationFrame(t)}let gt=0;const ft=()=>gt++,pt=()=>{const t=m().createElement(\"canvas\");if(!t||void 0===t.getContext)throw new h(\"Failed to create `canvas` element\");return t},mt=()=>m().createElement(\"img\"),vt=t=>{const e=pt();return e.width=t.width,e.height=t.height,e},yt=(t,e,s)=>t.toDataURL(\"image/\".concat(e),s),_t=(t,e,s)=>new Promise(((i,r)=>{t.toBlob(i,\"image/\".concat(e),s)})),xt=t=>t*w,Ct=t=>t/w,bt=t=>t.every(((t,e)=>t===T[e])),St=(t,e,s)=>new ot(t).transform(e,s),wt=t=>{const e=1/(t[0]*t[3]-t[1]*t[2]),s=[e*t[3],-e*t[1],-e*t[2],e*t[0],0,0],{x:i,y:r}=new ot(t[4],t[5]).transform(s,!0);return s[4]=-i,s[5]=-r,s},Tt=(t,e,s)=>[t[0]*e[0]+t[2]*e[1],t[1]*e[0]+t[3]*e[1],t[0]*e[2]+t[2]*e[3],t[1]*e[2]+t[3]*e[3],s?0:t[0]*e[4]+t[2]*e[5]+t[4],s?0:t[1]*e[4]+t[3]*e[5]+t[5]],Ot=(t,e)=>t.reduceRight(((t,s)=>s&&t?Tt(s,t,e):s||t),void 0)||T.concat(),kt=t=>{let[e,s]=t;return Math.atan2(s,e)},Dt=t=>{const e=kt(t),s=Math.pow(t[0],2)+Math.pow(t[1],2),i=Math.sqrt(s),r=(t[0]*t[3]-t[2]*t[1])/i,n=Math.atan2(t[0]*t[2]+t[1]*t[3],s);return{angle:Ct(e),scaleX:i,scaleY:r,skewX:Ct(n),skewY:0,translateX:t[4]||0,translateY:t[5]||0}},Mt=function(t){return[1,0,0,1,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0]};function Pt(){let{angle:t=0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{x:e=0,y:s=0}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=xt(t),r=rt(i),n=nt(i);return[r,n,-n,r,e?e-(r*e-n*s):0,s?s-(n*e+r*s):0]}const Et=function(t){return[t,0,0,arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,0,0]},At=t=>Math.tan(xt(t)),jt=t=>[1,0,At(t),1,0,0],Ft=t=>[1,At(t),0,1,0,0],Lt=t=>{let{scaleX:e=1,scaleY:s=1,flipX:i=!1,flipY:r=!1,skewX:n=0,skewY:o=0}=t,a=Et(i?-e:e,r?-s:s);return n&&(a=Tt(a,jt(n),!0)),o&&(a=Tt(a,Ft(o),!0)),a},Rt=t=>{const{translateX:e=0,translateY:s=0,angle:i=0}=t;let r=Mt(e,s);i&&(r=Tt(r,Pt({angle:i})));const n=Lt(t);return bt(n)||(r=Tt(r,n)),r},It=function(t){let{signal:e,crossOrigin:s=null}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((function(i,r){if(e&&e.aborted)return r(new c(\"loadImage\"));const n=mt();let o;e&&(o=function(t){n.src=\"\",r(t)},e.addEventListener(\"abort\",o,{once:!0}));const a=function(){n.onload=n.onerror=null,o&&(null==e||e.removeEventListener(\"abort\",o)),i(n)};t?(n.onload=a,n.onerror=function(){o&&(null==e||e.removeEventListener(\"abort\",o)),r(new h(\"Error loading \".concat(n.src)))},s&&(n.crossOrigin=s),n.src=t):a()}))},Bt=function(t){let{signal:e,reviver:s=C}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,r)=>{const n=[];e&&e.addEventListener(\"abort\",r,{once:!0}),Promise.all(t.map((t=>tt.getClass(t.type).fromObject(t,{signal:e}).then((e=>(s(t,e),n.push(e),e)))))).then(i).catch((t=>{n.forEach((t=>{t.dispose&&t.dispose()})),r(t)})).finally((()=>{e&&e.removeEventListener(\"abort\",r)}))}))},Xt=function(t){let{signal:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((s,i)=>{const r=[];e&&e.addEventListener(\"abort\",i,{once:!0});const n=Object.values(t).map((t=>t&&t.type&&tt.has(t.type)?Bt([t],{signal:e}).then((t=>{let[e]=t;return r.push(e),e})):t)),o=Object.keys(t);Promise.all(n).then((t=>t.reduce(((t,e,s)=>(t[o[s]]=e,t)),{}))).then(s).catch((t=>{r.forEach((t=>{t.dispose&&t.dispose()})),i(t)})).finally((()=>{e&&e.removeEventListener(\"abort\",i)}))}))},Yt=function(t){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:[]).reduce(((e,s)=>(s in t&&(e[s]=t[s]),e)),{})},Wt=(t,e)=>Object.keys(t).reduce(((s,i)=>(e(t[i],i,t)&&(s[i]=t[i]),s)),{}),Vt=(t,e)=>parseFloat(Number(t).toFixed(e)),zt=t=>\"matrix(\"+t.map((t=>Vt(t,o.NUM_FRACTION_DIGITS))).join(\" \")+\")\",Gt=t=>!!t&&void 0!==t.toLive,Ht=t=>!!t&&\"function\"==typeof t.toObject,Nt=t=>!!t&&void 0!==t.offsetX&&\"source\"in t,Ut=t=>!!t&&\"multiSelectionStacking\"in t;function qt(t){const e=t&&Kt(t);let s=0,i=0;if(!t||!e)return{left:s,top:i};let r=t;const n=e.documentElement,o=e.body||{scrollLeft:0,scrollTop:0};for(;r&&(r.parentNode||r.host)&&(r=r.parentNode||r.host,r===e?(s=o.scrollLeft||n.scrollLeft||0,i=o.scrollTop||n.scrollTop||0):(s+=r.scrollLeft||0,i+=r.scrollTop||0),1!==r.nodeType||\"fixed\"!==r.style.position););return{left:s,top:i}}const Kt=t=>t.ownerDocument||null,Jt=t=>{var e;return(null===(e=t.ownerDocument)||void 0===e?void 0:e.defaultView)||null},Qt=function(t,e,s){let{width:i,height:r}=s,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;t.width=i,t.height=r,n>1&&(t.setAttribute(\"width\",(i*n).toString()),t.setAttribute(\"height\",(r*n).toString()),e.scale(n,n))},Zt=(t,e)=>{let{width:s,height:i}=e;s&&(t.style.width=\"number\"==typeof s?\"\".concat(s,\"px\"):s),i&&(t.style.height=\"number\"==typeof i?\"\".concat(i,\"px\"):i)};function $t(t){return void 0!==t.onselectstart&&(t.onselectstart=()=>!1),t.style.userSelect=j,t}class te{constructor(e){t(this,\"_originalCanvasStyle\",void 0),t(this,\"lower\",void 0);const s=this.createLowerCanvas(e);this.lower={el:s,ctx:s.getContext(\"2d\")}}createLowerCanvas(t){const e=(s=t)&&void 0!==s.getContext?t:t&&m().getElementById(t)||pt();var s;if(e.hasAttribute(\"data-fabric\"))throw new h(\"Trying to initialize a canvas that has already been initialized. Did you forget to dispose the canvas?\");return this._originalCanvasStyle=e.style.cssText,e.setAttribute(\"data-fabric\",\"main\"),e.classList.add(\"lower-canvas\"),e}cleanupDOM(t){let{width:e,height:s}=t;const{el:i}=this.lower;i.classList.remove(\"lower-canvas\"),i.removeAttribute(\"data-fabric\"),i.setAttribute(\"width\",\"\".concat(e)),i.setAttribute(\"height\",\"\".concat(s)),i.style.cssText=this._originalCanvasStyle||\"\",this._originalCanvasStyle=void 0}setDimensions(t,e){const{el:s,ctx:i}=this.lower;Qt(s,i,t,e)}setCSSDimensions(t){Zt(this.lower.el,t)}calcOffset(){return function(t){var e;const s=t&&Kt(t),i={left:0,top:0};if(!s)return i;const r=(null===(e=Jt(t))||void 0===e?void 0:e.getComputedStyle(t,null))||{};i.left+=parseInt(r.borderLeftWidth,10)||0,i.top+=parseInt(r.borderTopWidth,10)||0,i.left+=parseInt(r.paddingLeft,10)||0,i.top+=parseInt(r.paddingTop,10)||0;let n={left:0,top:0};const o=s.documentElement;void 0!==t.getBoundingClientRect&&(n=t.getBoundingClientRect());const a=qt(t);return{left:n.left+a.left-(o.clientLeft||0)+i.left,top:n.top+a.top-(o.clientTop||0)+i.top}}(this.lower.el)}dispose(){p().dispose(this.lower.el),delete this.lower}}const ee={backgroundVpt:!0,backgroundColor:\"\",overlayVpt:!0,overlayColor:\"\",includeDefaultValues:!0,svgViewportTransformation:!0,renderOnAddRemove:!0,skipOffscreen:!0,enableRetinaScaling:!0,imageSmoothingEnabled:!0,controlsAboveOverlay:!1,allowTouchScrolling:!1,viewportTransform:[...T]};class se extends(ct(lt)){get lowerCanvasEl(){var t;return null===(t=this.elements.lower)||void 0===t?void 0:t.el}get contextContainer(){var t;return null===(t=this.elements.lower)||void 0===t?void 0:t.ctx}static getDefaults(){return se.ownDefaults}constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),Object.assign(this,this.constructor.getDefaults()),this.set(e),this.initElements(t),this._setDimensionsImpl({width:this.width||this.elements.lower.el.width||0,height:this.height||this.elements.lower.el.height||0}),this.skipControlsDrawing=!1,this.viewportTransform=[...this.viewportTransform],this.calcViewportBoundaries()}initElements(t){this.elements=new te(t)}add(){const t=super.add(...arguments);return arguments.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),t}insertAt(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];const r=super.insertAt(t,...s);return s.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),r}remove(){const t=super.remove(...arguments);return t.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),t}_onObjectAdded(t){t.canvas&&t.canvas!==this&&(a(\"warn\",\"Canvas is trying to add an object that belongs to a different canvas.\\nResulting to default behavior: removing object from previous canvas and adding to new canvas\"),t.canvas.remove(t)),t._set(\"canvas\",this),t.setCoords(),this.fire(\"object:added\",{target:t}),t.fire(\"added\",{target:this})}_onObjectRemoved(t){t._set(\"canvas\",void 0),this.fire(\"object:removed\",{target:t}),t.fire(\"removed\",{target:this})}_onStackOrderChanged(){this.renderOnAddRemove&&this.requestRenderAll()}getRetinaScaling(){return this.enableRetinaScaling?y():1}calcOffset(){return this._offset=this.elements.calcOffset()}getWidth(){return this.width}getHeight(){return this.height}setWidth(t,e){return this.setDimensions({width:t},e)}setHeight(t,e){return this.setDimensions({height:t},e)}_setDimensionsImpl(t){let{cssOnly:e=!1,backstoreOnly:i=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e){const e=s({width:this.width,height:this.height},t);this.elements.setDimensions(e,this.getRetinaScaling()),this.hasLostContext=!0,this.width=e.width,this.height=e.height}i||this.elements.setCSSDimensions(t),this.calcOffset()}setDimensions(t,e){this._setDimensionsImpl(t,e),e&&e.cssOnly||this.requestRenderAll()}getZoom(){return this.viewportTransform[0]}setViewportTransform(t){this.viewportTransform=t,this.calcViewportBoundaries(),this.renderOnAddRemove&&this.requestRenderAll()}zoomToPoint(t,e){const s=t,i=[...this.viewportTransform],r=St(t,wt(i));i[0]=e,i[3]=e;const n=St(r,i);i[4]+=s.x-n.x,i[5]+=s.y-n.y,this.setViewportTransform(i)}setZoom(t){this.zoomToPoint(new ot(0,0),t)}absolutePan(t){const e=[...this.viewportTransform];return e[4]=-t.x,e[5]=-t.y,this.setViewportTransform(e)}relativePan(t){return this.absolutePan(new ot(-t.x-this.viewportTransform[4],-t.y-this.viewportTransform[5]))}getElement(){return this.elements.lower.el}clearContext(t){t.clearRect(0,0,this.width,this.height)}getContext(){return this.elements.lower.ctx}clear(){this.remove(...this.getObjects()),this.backgroundImage=void 0,this.overlayImage=void 0,this.backgroundColor=\"\",this.overlayColor=\"\",this.clearContext(this.getContext()),this.fire(\"canvas:cleared\"),this.renderOnAddRemove&&this.requestRenderAll()}renderAll(){this.cancelRequestedRender(),this.destroyed||this.renderCanvas(this.getContext(),this._objects)}renderAndReset(){this.nextRenderHandle=0,this.renderAll()}requestRenderAll(){this.nextRenderHandle||this.disposed||this.destroyed||(this.nextRenderHandle=ut((()=>this.renderAndReset())))}calcViewportBoundaries(){const t=this.width,e=this.height,s=wt(this.viewportTransform),i=St({x:0,y:0},s),r=St({x:t,y:e},s),n=i.min(r),o=i.max(r);return this.vptCoords={tl:n,tr:new ot(o.x,n.y),bl:new ot(n.x,o.y),br:o}}cancelRequestedRender(){this.nextRenderHandle&&(dt(this.nextRenderHandle),this.nextRenderHandle=0)}drawControls(t){}renderCanvas(t,e){if(this.destroyed)return;const s=this.viewportTransform,i=this.clipPath;this.calcViewportBoundaries(),this.clearContext(t),t.imageSmoothingEnabled=this.imageSmoothingEnabled,t.patternQuality=\"best\",this.fire(\"before:render\",{ctx:t}),this._renderBackground(t),t.save(),t.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this._renderObjects(t,e),t.restore(),this.controlsAboveOverlay||this.skipControlsDrawing||this.drawControls(t),i&&(i._set(\"canvas\",this),i.shouldCache(),i._transformDone=!0,i.renderCache({forClipping:!0}),this.drawClipPathOnCanvas(t,i)),this._renderOverlay(t),this.controlsAboveOverlay&&!this.skipControlsDrawing&&this.drawControls(t),this.fire(\"after:render\",{ctx:t}),this.__cleanupTask&&(this.__cleanupTask(),this.__cleanupTask=void 0)}drawClipPathOnCanvas(t,e){const s=this.viewportTransform;t.save(),t.transform(...s),t.globalCompositeOperation=\"destination-in\",e.transform(t),t.scale(1/e.zoomX,1/e.zoomY),t.drawImage(e._cacheCanvas,-e.cacheTranslationX,-e.cacheTranslationY),t.restore()}_renderObjects(t,e){for(let s=0,i=e.length;s<i;++s)e[s]&&e[s].render(t)}_renderBackgroundOrOverlay(t,e){const s=this[\"\".concat(e,\"Color\")],i=this[\"\".concat(e,\"Image\")],r=this.viewportTransform,n=this[\"\".concat(e,\"Vpt\")];if(!s&&!i)return;const o=Gt(s);if(s){if(t.save(),t.beginPath(),t.moveTo(0,0),t.lineTo(this.width,0),t.lineTo(this.width,this.height),t.lineTo(0,this.height),t.closePath(),t.fillStyle=o?s.toLive(t):s,n&&t.transform(...r),o){t.transform(1,0,0,1,s.offsetX||0,s.offsetY||0);const e=s.gradientTransform||s.patternTransform;e&&t.transform(...e)}t.fill(),t.restore()}if(i){t.save();const{skipOffscreen:e}=this;this.skipOffscreen=n,n&&t.transform(...r),i.render(t),this.skipOffscreen=e,t.restore()}}_renderBackground(t){this._renderBackgroundOrOverlay(t,\"background\")}_renderOverlay(t){this._renderBackgroundOrOverlay(t,\"overlay\")}getCenter(){return{top:this.height/2,left:this.width/2}}getCenterPoint(){return new ot(this.width/2,this.height/2)}centerObjectH(t){return this._centerObject(t,new ot(this.getCenterPoint().x,t.getCenterPoint().y))}centerObjectV(t){return this._centerObject(t,new ot(t.getCenterPoint().x,this.getCenterPoint().y))}centerObject(t){return this._centerObject(t,this.getCenterPoint())}viewportCenterObject(t){return this._centerObject(t,this.getVpCenter())}viewportCenterObjectH(t){return this._centerObject(t,new ot(this.getVpCenter().x,t.getCenterPoint().y))}viewportCenterObjectV(t){return this._centerObject(t,new ot(t.getCenterPoint().x,this.getVpCenter().y))}getVpCenter(){return St(this.getCenterPoint(),wt(this.viewportTransform))}_centerObject(t,e){t.setXY(e,D,D),t.setCoords(),this.renderOnAddRemove&&this.requestRenderAll()}toDatalessJSON(t){return this.toDatalessObject(t)}toObject(t){return this._toObjectMethod(\"toObject\",t)}toJSON(){return this.toObject()}toDatalessObject(t){return this._toObjectMethod(\"toDatalessObject\",t)}_toObjectMethod(t,e){const i=this.clipPath,r=i&&!i.excludeFromExport?this._toObject(i,t,e):null;return s(s(s({version:x},Yt(this,e)),{},{objects:this._objects.filter((t=>!t.excludeFromExport)).map((s=>this._toObject(s,t,e)))},this.__serializeBgOverlay(t,e)),r?{clipPath:r}:null)}_toObject(t,e,s){let i;this.includeDefaultValues||(i=t.includeDefaultValues,t.includeDefaultValues=!1);const r=t[e](s);return this.includeDefaultValues||(t.includeDefaultValues=!!i),r}__serializeBgOverlay(t,e){const s={},i=this.backgroundImage,r=this.overlayImage,n=this.backgroundColor,o=this.overlayColor;return Gt(n)?n.excludeFromExport||(s.background=n.toObject(e)):n&&(s.background=n),Gt(o)?o.excludeFromExport||(s.overlay=o.toObject(e)):o&&(s.overlay=o),i&&!i.excludeFromExport&&(s.backgroundImage=this._toObject(i,t,e)),r&&!r.excludeFromExport&&(s.overlayImage=this._toObject(r,t,e)),s}toSVG(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;t.reviver=e;const s=[];return this._setSVGPreamble(s,t),this._setSVGHeader(s,t),this.clipPath&&s.push('<g clip-path=\"url(#'.concat(this.clipPath.clipPathId,')\" >\\n')),this._setSVGBgOverlayColor(s,\"background\"),this._setSVGBgOverlayImage(s,\"backgroundImage\",e),this._setSVGObjects(s,e),this.clipPath&&s.push(\"</g>\\n\"),this._setSVGBgOverlayColor(s,\"overlay\"),this._setSVGBgOverlayImage(s,\"overlayImage\",e),s.push(\"</svg>\"),s.join(\"\")}_setSVGPreamble(t,e){e.suppressPreamble||t.push('<?xml version=\"1.0\" encoding=\"',e.encoding||\"UTF-8\",'\" standalone=\"no\" ?>\\n','<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" ','\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\\n')}_setSVGHeader(t,e){const s=e.width||\"\".concat(this.width),i=e.height||\"\".concat(this.height),r=o.NUM_FRACTION_DIGITS,n=e.viewBox;let a;if(n)a='viewBox=\"'.concat(n.x,\" \").concat(n.y,\" \").concat(n.width,\" \").concat(n.height,'\" ');else if(this.svgViewportTransformation){const t=this.viewportTransform;a='viewBox=\"'.concat(Vt(-t[4]/t[0],r),\" \").concat(Vt(-t[5]/t[3],r),\" \").concat(Vt(this.width/t[0],r),\" \").concat(Vt(this.height/t[3],r),'\" ')}else a='viewBox=\"0 0 '.concat(this.width,\" \").concat(this.height,'\" ');t.push(\"<svg \",'xmlns=\"http://www.w3.org/2000/svg\" ','xmlns:xlink=\"http://www.w3.org/1999/xlink\" ','version=\"1.1\" ','width=\"',s,'\" ','height=\"',i,'\" ',a,'xml:space=\"preserve\">\\n',\"<desc>Created with Fabric.js \",x,\"</desc>\\n\",\"<defs>\\n\",this.createSVGFontFacesMarkup(),this.createSVGRefElementsMarkup(),this.createSVGClipPathMarkup(e),\"</defs>\\n\")}createSVGClipPathMarkup(t){const e=this.clipPath;return e?(e.clipPathId=\"CLIPPATH_\".concat(ft()),'<clipPath id=\"'.concat(e.clipPathId,'\" >\\n').concat(e.toClipPathSVG(t.reviver),\"</clipPath>\\n\")):\"\"}createSVGRefElementsMarkup(){return[\"background\",\"overlay\"].map((t=>{const e=this[\"\".concat(t,\"Color\")];if(Gt(e)){const s=this[\"\".concat(t,\"Vpt\")],i=this.viewportTransform,r={isType:()=>!1,width:this.width/(s?i[0]:1),height:this.height/(s?i[3]:1)};return e.toSVG(r,{additionalTransform:s?zt(i):\"\"})}})).join(\"\")}createSVGFontFacesMarkup(){const t=[],e={},s=o.fontPaths;this._objects.forEach((function e(s){t.push(s),ht(s)&&s._objects.forEach(e)})),t.forEach((t=>{if(!(i=t)||\"function\"!=typeof i._renderText)return;var i;const{styles:r,fontFamily:n}=t;!e[n]&&s[n]&&(e[n]=!0,r&&Object.values(r).forEach((t=>{Object.values(t).forEach((t=>{let{fontFamily:i=\"\"}=t;!e[i]&&s[i]&&(e[i]=!0)}))})))}));const i=Object.keys(e).map((t=>\"\\t\\t@font-face {\\n\\t\\t\\tfont-family: '\".concat(t,\"';\\n\\t\\t\\tsrc: url('\").concat(s[t],\"');\\n\\t\\t}\\n\"))).join(\"\");return i?'\\t<style type=\"text/css\"><![CDATA[\\n'.concat(i,\"]]></style>\\n\"):\"\"}_setSVGObjects(t,e){this.forEachObject((s=>{s.excludeFromExport||this._setSVGObject(t,s,e)}))}_setSVGObject(t,e,s){t.push(e.toSVG(s))}_setSVGBgOverlayImage(t,e,s){const i=this[e];i&&!i.excludeFromExport&&i.toSVG&&t.push(i.toSVG(s))}_setSVGBgOverlayColor(t,e){const s=this[\"\".concat(e,\"Color\")];if(s)if(Gt(s)){const i=s.repeat||\"\",r=this.width,n=this.height,o=this[\"\".concat(e,\"Vpt\")]?zt(wt(this.viewportTransform)):\"\";t.push('<rect transform=\"'.concat(o,\" translate(\").concat(r/2,\",\").concat(n/2,')\" x=\"').concat(s.offsetX-r/2,'\" y=\"').concat(s.offsetY-n/2,'\" width=\"').concat(\"repeat-y\"!==i&&\"no-repeat\"!==i||!Nt(s)?r:s.source.width,'\" height=\"').concat(\"repeat-x\"!==i&&\"no-repeat\"!==i||!Nt(s)?n:s.source.height,'\" fill=\"url(#SVGID_').concat(s.id,')\"></rect>\\n'))}else t.push('<rect x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" ','fill=\"',s,'\"',\"></rect>\\n\")}loadFromJSON(t,e){let{signal:s}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!t)return Promise.reject(new h(\"`json` is undefined\"));const i=\"string\"==typeof t?JSON.parse(t):t,{objects:r=[],backgroundImage:n,background:o,overlayImage:a,overlay:c,clipPath:l}=i,u=this.renderOnAddRemove;return this.renderOnAddRemove=!1,Promise.all([Bt(r,{reviver:e,signal:s}),Xt({backgroundImage:n,backgroundColor:o,overlayImage:a,overlayColor:c,clipPath:l},{signal:s})]).then((t=>{let[e,s]=t;return this.clear(),this.add(...e),this.set(i),this.set(s),this.renderOnAddRemove=u,this}))}clone(t){const e=this.toObject(t);return this.cloneWithoutData().loadFromJSON(e)}cloneWithoutData(){const t=vt(this);return new this.constructor(t)}toDataURL(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{format:e=\"png\",quality:s=1,multiplier:i=1,enableRetinaScaling:r=!1}=t,n=i*(r?this.getRetinaScaling():1);return yt(this.toCanvasElement(n,t),e,s)}toBlob(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{format:e=\"png\",quality:s=1,multiplier:i=1,enableRetinaScaling:r=!1}=t,n=i*(r?this.getRetinaScaling():1);return _t(this.toCanvasElement(n,t),e,s)}toCanvasElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,{width:e,height:s,left:i,top:r,filter:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=(e||this.width)*t,a=(s||this.height)*t,h=this.getZoom(),c=this.width,l=this.height,u=this.skipControlsDrawing,d=h*t,g=this.viewportTransform,f=[d,0,0,d,(g[4]-(i||0))*t,(g[5]-(r||0))*t],p=this.enableRetinaScaling,m=vt({width:o,height:a}),v=n?this._objects.filter((t=>n(t))):this._objects;return this.enableRetinaScaling=!1,this.viewportTransform=f,this.width=o,this.height=a,this.skipControlsDrawing=!0,this.calcViewportBoundaries(),this.renderCanvas(m.getContext(\"2d\"),v),this.viewportTransform=g,this.width=c,this.height=l,this.calcViewportBoundaries(),this.enableRetinaScaling=p,this.skipControlsDrawing=u,m}dispose(){return!this.disposed&&this.elements.cleanupDOM({width:this.width,height:this.height}),et.cancelByCanvas(this),this.disposed=!0,new Promise(((t,e)=>{const s=()=>{this.destroy(),t(!0)};s.kill=e,this.__cleanupTask&&this.__cleanupTask.kill(\"aborted\"),this.destroyed?t(!1):this.nextRenderHandle?this.__cleanupTask=s:s()}))}destroy(){this.destroyed=!0,this.cancelRequestedRender(),this.forEachObject((t=>t.dispose())),this._objects=[],this.backgroundImage&&this.backgroundImage.dispose(),this.backgroundImage=void 0,this.overlayImage&&this.overlayImage.dispose(),this.overlayImage=void 0,this.elements.dispose()}toString(){return\"#<Canvas (\".concat(this.complexity(),\"): { objects: \").concat(this._objects.length,\" }>\")}}t(se,\"ownDefaults\",ee);const ie=[\"touchstart\",\"touchmove\",\"touchend\"];const re=t=>{const e=qt(t.target),s=function(t){const e=t.changedTouches;return e&&e[0]?e[0]:t}(t);return new ot(s.clientX+e.left,s.clientY+e.top)},ne=t=>ie.includes(t.type)||\"touch\"===t.pointerType,oe=t=>{t.preventDefault(),t.stopPropagation()},ae=t=>{let e=0,s=0,i=0,r=0;for(let n=0,o=t.length;n<o;n++){const{x:o,y:a}=t[n];(o>i||!n)&&(i=o),(o<e||!n)&&(e=o),(a>r||!n)&&(r=a),(a<s||!n)&&(s=a)}return{left:e,top:s,width:i-e,height:r-s}},he=[\"translateX\",\"translateY\",\"scaleX\",\"scaleY\"],ce=(t,e)=>le(t,Tt(e,t.calcOwnMatrix())),le=(t,e)=>{const s=Dt(e),{translateX:r,translateY:n,scaleX:o,scaleY:a}=s,h=i(s,he),c=new ot(r,n);t.flipX=!1,t.flipY=!1,Object.assign(t,h),t.set({scaleX:o,scaleY:a}),t.setPositionByOrigin(c,D,D)},ue=t=>{t.scaleX=1,t.scaleY=1,t.skewX=0,t.skewY=0,t.flipX=!1,t.flipY=!1,t.rotate(0)},de=t=>({scaleX:t.scaleX,scaleY:t.scaleY,skewX:t.skewX,skewY:t.skewY,angle:t.angle,left:t.left,flipX:t.flipX,flipY:t.flipY,top:t.top}),ge=(t,e,s)=>{const i=t/2,r=e/2,n=[new ot(-i,-r),new ot(i,-r),new ot(-i,r),new ot(i,r)].map((t=>t.transform(s))),o=ae(n);return new ot(o.width,o.height)},fe=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:T;return Tt(wt(arguments.length>1&&void 0!==arguments[1]?arguments[1]:T),t)},pe=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:T,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:T;return t.transform(fe(e,s))},me=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:T,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:T;return t.transform(fe(e,s),!0)},ve=(t,e,s)=>{const i=fe(e,s);return le(t,Tt(i,t.calcOwnMatrix())),i},ye=(t,e)=>{var i;const{transform:{target:r}}=e;null===(i=r.canvas)||void 0===i||i.fire(\"object:\".concat(t),s(s({},e),{},{target:r})),r.fire(t,e)},_e={left:-.5,top:-.5,center:0,bottom:.5,right:.5},xe=t=>\"string\"==typeof t?_e[t]:t-.5,Ce=\"not-allowed\";function be(t){return xe(t.originX)===xe(D)&&xe(t.originY)===xe(D)}function Se(t){return.5-xe(t)}const we=(t,e)=>t[e],Te=(t,e,s,i)=>({e:t,transform:e,pointer:new ot(s,i)});function Oe(t,e){const s=t.getTotalAngle()+Ct(Math.atan2(e.y,e.x))+360;return Math.round(s%360/45)}function ke(t,e,s,i,r){var n;let{target:o,corner:a}=t;const h=o.controls[a],c=(null===(n=o.canvas)||void 0===n?void 0:n.getZoom())||1,l=o.padding/c,u=function(t,e,s,i){const r=t.getRelativeCenterPoint(),n=void 0!==s&&void 0!==i?t.translateToGivenOrigin(r,D,D,s,i):new ot(t.left,t.top);return(t.angle?e.rotate(-xt(t.angle),r):e).subtract(n)}(o,new ot(i,r),e,s);return u.x>=l&&(u.x-=l),u.x<=-l&&(u.x+=l),u.y>=l&&(u.y-=l),u.y<=l&&(u.y+=l),u.x-=h.offsetX,u.y-=h.offsetY,u}const De=(t,e,s,i)=>{const{target:r,offsetX:n,offsetY:o}=e,a=s-n,h=i-o,c=!we(r,\"lockMovementX\")&&r.left!==a,l=!we(r,\"lockMovementY\")&&r.top!==h;return c&&r.set(M,a),l&&r.set(P,h),(c||l)&&ye(L,Te(t,e,s,i)),c||l},Me={aliceblue:\"#F0F8FF\",antiquewhite:\"#FAEBD7\",aqua:\"#0FF\",aquamarine:\"#7FFFD4\",azure:\"#F0FFFF\",beige:\"#F5F5DC\",bisque:\"#FFE4C4\",black:\"#000\",blanchedalmond:\"#FFEBCD\",blue:\"#00F\",blueviolet:\"#8A2BE2\",brown:\"#A52A2A\",burlywood:\"#DEB887\",cadetblue:\"#5F9EA0\",chartreuse:\"#7FFF00\",chocolate:\"#D2691E\",coral:\"#FF7F50\",cornflowerblue:\"#6495ED\",cornsilk:\"#FFF8DC\",crimson:\"#DC143C\",cyan:\"#0FF\",darkblue:\"#00008B\",darkcyan:\"#008B8B\",darkgoldenrod:\"#B8860B\",darkgray:\"#A9A9A9\",darkgrey:\"#A9A9A9\",darkgreen:\"#006400\",darkkhaki:\"#BDB76B\",darkmagenta:\"#8B008B\",darkolivegreen:\"#556B2F\",darkorange:\"#FF8C00\",darkorchid:\"#9932CC\",darkred:\"#8B0000\",darksalmon:\"#E9967A\",darkseagreen:\"#8FBC8F\",darkslateblue:\"#483D8B\",darkslategray:\"#2F4F4F\",darkslategrey:\"#2F4F4F\",darkturquoise:\"#00CED1\",darkviolet:\"#9400D3\",deeppink:\"#FF1493\",deepskyblue:\"#00BFFF\",dimgray:\"#696969\",dimgrey:\"#696969\",dodgerblue:\"#1E90FF\",firebrick:\"#B22222\",floralwhite:\"#FFFAF0\",forestgreen:\"#228B22\",fuchsia:\"#F0F\",gainsboro:\"#DCDCDC\",ghostwhite:\"#F8F8FF\",gold:\"#FFD700\",goldenrod:\"#DAA520\",gray:\"#808080\",grey:\"#808080\",green:\"#008000\",greenyellow:\"#ADFF2F\",honeydew:\"#F0FFF0\",hotpink:\"#FF69B4\",indianred:\"#CD5C5C\",indigo:\"#4B0082\",ivory:\"#FFFFF0\",khaki:\"#F0E68C\",lavender:\"#E6E6FA\",lavenderblush:\"#FFF0F5\",lawngreen:\"#7CFC00\",lemonchiffon:\"#FFFACD\",lightblue:\"#ADD8E6\",lightcoral:\"#F08080\",lightcyan:\"#E0FFFF\",lightgoldenrodyellow:\"#FAFAD2\",lightgray:\"#D3D3D3\",lightgrey:\"#D3D3D3\",lightgreen:\"#90EE90\",lightpink:\"#FFB6C1\",lightsalmon:\"#FFA07A\",lightseagreen:\"#20B2AA\",lightskyblue:\"#87CEFA\",lightslategray:\"#789\",lightslategrey:\"#789\",lightsteelblue:\"#B0C4DE\",lightyellow:\"#FFFFE0\",lime:\"#0F0\",limegreen:\"#32CD32\",linen:\"#FAF0E6\",magenta:\"#F0F\",maroon:\"#800000\",mediumaquamarine:\"#66CDAA\",mediumblue:\"#0000CD\",mediumorchid:\"#BA55D3\",mediumpurple:\"#9370DB\",mediumseagreen:\"#3CB371\",mediumslateblue:\"#7B68EE\",mediumspringgreen:\"#00FA9A\",mediumturquoise:\"#48D1CC\",mediumvioletred:\"#C71585\",midnightblue:\"#191970\",mintcream:\"#F5FFFA\",mistyrose:\"#FFE4E1\",moccasin:\"#FFE4B5\",navajowhite:\"#FFDEAD\",navy:\"#000080\",oldlace:\"#FDF5E6\",olive:\"#808000\",olivedrab:\"#6B8E23\",orange:\"#FFA500\",orangered:\"#FF4500\",orchid:\"#DA70D6\",palegoldenrod:\"#EEE8AA\",palegreen:\"#98FB98\",paleturquoise:\"#AFEEEE\",palevioletred:\"#DB7093\",papayawhip:\"#FFEFD5\",peachpuff:\"#FFDAB9\",peru:\"#CD853F\",pink:\"#FFC0CB\",plum:\"#DDA0DD\",powderblue:\"#B0E0E6\",purple:\"#800080\",rebeccapurple:\"#639\",red:\"#F00\",rosybrown:\"#BC8F8F\",royalblue:\"#4169E1\",saddlebrown:\"#8B4513\",salmon:\"#FA8072\",sandybrown:\"#F4A460\",seagreen:\"#2E8B57\",seashell:\"#FFF5EE\",sienna:\"#A0522D\",silver:\"#C0C0C0\",skyblue:\"#87CEEB\",slateblue:\"#6A5ACD\",slategray:\"#708090\",slategrey:\"#708090\",snow:\"#FFFAFA\",springgreen:\"#00FF7F\",steelblue:\"#4682B4\",tan:\"#D2B48C\",teal:\"#008080\",thistle:\"#D8BFD8\",tomato:\"#FF6347\",turquoise:\"#40E0D0\",violet:\"#EE82EE\",wheat:\"#F5DEB3\",white:\"#FFF\",whitesmoke:\"#F5F5F5\",yellow:\"#FF0\",yellowgreen:\"#9ACD32\"},Pe=(t,e,s)=>(s<0&&(s+=1),s>1&&(s-=1),s<1/6?t+6*(e-t)*s:s<.5?e:s<2/3?t+(e-t)*(2/3-s)*6:t),Ee=(t,e,s,i)=>{t/=255,e/=255,s/=255;const r=Math.max(t,e,s),n=Math.min(t,e,s);let o,a;const h=(r+n)/2;if(r===n)o=a=0;else{const i=r-n;switch(a=h>.5?i/(2-r-n):i/(r+n),r){case t:o=(e-s)/i+(e<s?6:0);break;case e:o=(s-t)/i+2;break;case s:o=(t-e)/i+4}o/=6}return[Math.round(360*o),Math.round(100*a),Math.round(100*h),i]},Ae=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"1\";return parseFloat(t)/(t.endsWith(\"%\")?100:1)},je=t=>Math.min(Math.round(t),255).toString(16).toUpperCase().padStart(2,\"0\"),Fe=t=>{let[e,s,i,r=1]=t;const n=Math.round(.3*e+.59*s+.11*i);return[n,n,n,r]};class Le{constructor(e){if(t(this,\"isUnrecognised\",!1),e)if(e instanceof Le)this.setSource([...e._source]);else if(Array.isArray(e)){const[t,s,i,r=1]=e;this.setSource([t,s,i,r])}else this.setSource(this._tryParsingColor(e));else this.setSource([0,0,0,1])}_tryParsingColor(t){return(t=t.toLowerCase())in Me&&(t=Me[t]),\"transparent\"===t?[255,255,255,0]:Le.sourceFromHex(t)||Le.sourceFromRgb(t)||Le.sourceFromHsl(t)||(this.isUnrecognised=!0)&&[0,0,0,1]}getSource(){return this._source}setSource(t){this._source=t}toRgb(){const[t,e,s]=this.getSource();return\"rgb(\".concat(t,\",\").concat(e,\",\").concat(s,\")\")}toRgba(){return\"rgba(\".concat(this.getSource().join(\",\"),\")\")}toHsl(){const[t,e,s]=Ee(...this.getSource());return\"hsl(\".concat(t,\",\").concat(e,\"%,\").concat(s,\"%)\")}toHsla(){const[t,e,s,i]=Ee(...this.getSource());return\"hsla(\".concat(t,\",\").concat(e,\"%,\").concat(s,\"%,\").concat(i,\")\")}toHex(){return this.toHexa().slice(0,6)}toHexa(){const[t,e,s,i]=this.getSource();return\"\".concat(je(t)).concat(je(e)).concat(je(s)).concat(je(Math.round(255*i)))}getAlpha(){return this.getSource()[3]}setAlpha(t){return this._source[3]=t,this}toGrayscale(){return this.setSource(Fe(this.getSource())),this}toBlackWhite(t){const[e,,,s]=Fe(this.getSource()),i=e<(t||127)?0:255;return this.setSource([i,i,i,s]),this}overlayWith(t){t instanceof Le||(t=new Le(t));const e=this.getSource(),s=t.getSource(),[i,r,n]=e.map(((t,e)=>Math.round(.5*t+.5*s[e])));return this.setSource([i,r,n,e[3]]),this}static fromRgb(t){return Le.fromRgba(t)}static fromRgba(t){return new Le(Le.sourceFromRgb(t))}static sourceFromRgb(t){const e=t.match(/^rgba?\\(\\s*(\\d{0,3}(?:\\.\\d+)?%?)\\s*[\\s|,]\\s*(\\d{0,3}(?:\\.\\d+)?%?)\\s*[\\s|,]\\s*(\\d{0,3}(?:\\.\\d+)?%?)\\s*(?:\\s*[,/]\\s*(\\d{0,3}(?:\\.\\d+)?%?)\\s*)?\\)$/i);if(e){const[t,s,i]=e.slice(1,4).map((t=>{const e=parseFloat(t);return t.endsWith(\"%\")?Math.round(2.55*e):e}));return[t,s,i,Ae(e[4])]}}static fromHsl(t){return Le.fromHsla(t)}static fromHsla(t){return new Le(Le.sourceFromHsl(t))}static sourceFromHsl(t){const e=t.match(/^hsla?\\(\\s*([+-]?\\d{0,3}(?:\\.\\d+)?(?:deg|turn|rad)?)\\s*[\\s|,]\\s*(\\d{0,3}(?:\\.\\d+)?%?)\\s*[\\s|,]\\s*(\\d{0,3}(?:\\.\\d+)?%?)\\s*(?:\\s*[,/]\\s*(\\d*(?:\\.\\d+)?%?)\\s*)?\\)$/i);if(!e)return;const s=(Le.parseAngletoDegrees(e[1])%360+360)%360/360,i=parseFloat(e[2])/100,r=parseFloat(e[3])/100;let n,o,a;if(0===i)n=o=a=r;else{const t=r<=.5?r*(i+1):r+i-r*i,e=2*r-t;n=Pe(e,t,s+1/3),o=Pe(e,t,s),a=Pe(e,t,s-1/3)}return[Math.round(255*n),Math.round(255*o),Math.round(255*a),Ae(e[4])]}static fromHex(t){return new Le(Le.sourceFromHex(t))}static sourceFromHex(t){if(t.match(/^#?(([0-9a-f]){3,4}|([0-9a-f]{2}){3,4})$/i)){const e=t.slice(t.indexOf(\"#\")+1);let s;s=e.length<=4?e.split(\"\").map((t=>t+t)):e.match(/.{2}/g);const[i,r,n,o=255]=s.map((t=>parseInt(t,16)));return[i,r,n,o/255]}}static parseAngletoDegrees(t){const e=t.toLowerCase(),s=parseFloat(e);return e.includes(\"rad\")?Ct(s):e.includes(\"turn\")?360*s:s}}const Re=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:O;const s=/\\D{0,2}$/.exec(t),i=parseFloat(t),r=o.DPI;switch(null==s?void 0:s[0]){case\"mm\":return i*r/25.4;case\"cm\":return i*r/2.54;case\"in\":return i*r;case\"pt\":return i*r/72;case\"pc\":return i*r/72*12;case\"em\":return i*e;default:return i}},Ie=t=>{const[e,s]=t.trim().split(\" \"),[i,r]=(n=e)&&n!==j?[n.slice(1,4),n.slice(5,8)]:n===j?[n,n]:[\"Mid\",\"Mid\"];var n;return{meetOrSlice:s||\"meet\",alignX:i,alignY:r}},Be=function(t,e){let s,i,r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(e)if(e.toLive)s=\"url(#SVGID_\".concat(e.id,\")\");else{const t=new Le(e),r=t.getAlpha();s=t.toRgb(),1!==r&&(i=r.toString())}else s=\"none\";return r?\"\".concat(t,\": \").concat(s,\"; \").concat(i?\"\".concat(t,\"-opacity: \").concat(i,\"; \"):\"\"):\"\".concat(t,'=\"').concat(s,'\" ').concat(i?\"\".concat(t,'-opacity=\"').concat(i,'\" '):\"\")};class Xe{getSvgStyles(t){const e=this.fillRule?this.fillRule:\"nonzero\",s=this.strokeWidth?this.strokeWidth:\"0\",i=this.strokeDashArray?this.strokeDashArray.join(\" \"):j,r=this.strokeDashOffset?this.strokeDashOffset:\"0\",n=this.strokeLineCap?this.strokeLineCap:\"butt\",o=this.strokeLineJoin?this.strokeLineJoin:\"miter\",a=this.strokeMiterLimit?this.strokeMiterLimit:\"4\",h=void 0!==this.opacity?this.opacity:\"1\",c=this.visible?\"\":\" visibility: hidden;\",l=t?\"\":this.getSvgFilter(),u=Be(K,this.fill);return[Be(J,this.stroke),\"stroke-width: \",s,\"; \",\"stroke-dasharray: \",i,\"; \",\"stroke-linecap: \",n,\"; \",\"stroke-dashoffset: \",r,\"; \",\"stroke-linejoin: \",o,\"; \",\"stroke-miterlimit: \",a,\"; \",u,\"fill-rule: \",e,\"; \",\"opacity: \",h,\";\",l,c].join(\"\")}getSvgFilter(){return this.shadow?\"filter: url(#SVGID_\".concat(this.shadow.id,\");\"):\"\"}getSvgCommons(){return[this.id?'id=\"'.concat(this.id,'\" '):\"\",this.clipPath?'clip-path=\"url(#'.concat(this.clipPath.clipPathId,')\" '):\"\"].join(\"\")}getSvgTransform(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\";const s=t?this.calcTransformMatrix():this.calcOwnMatrix(),i='transform=\"'.concat(zt(s));return\"\".concat(i).concat(e,'\" ')}_toSVG(t){return[\"\"]}toSVG(t){return this._createBaseSVGMarkup(this._toSVG(t),{reviver:t})}toClipPathSVG(t){return\"\\t\"+this._createBaseClipPathSVGMarkup(this._toSVG(t),{reviver:t})}_createBaseClipPathSVGMarkup(t){let{reviver:e,additionalTransform:s=\"\"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=[this.getSvgTransform(!0,s),this.getSvgCommons()].join(\"\"),r=t.indexOf(\"COMMON_PARTS\");return t[r]=i,e?e(t.join(\"\")):t.join(\"\")}_createBaseSVGMarkup(t){let{noStyle:e,reviver:s,withShadow:i,additionalTransform:r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=e?\"\":'style=\"'.concat(this.getSvgStyles(),'\" '),o=i?'style=\"'.concat(this.getSvgFilter(),'\" '):\"\",a=this.clipPath,h=this.strokeUniform?'vector-effect=\"non-scaling-stroke\" ':\"\",c=a&&a.absolutePositioned,l=this.stroke,u=this.fill,d=this.shadow,g=[],f=t.indexOf(\"COMMON_PARTS\");let p;a&&(a.clipPathId=\"CLIPPATH_\".concat(ft()),p='<clipPath id=\"'.concat(a.clipPathId,'\" >\\n').concat(a.toClipPathSVG(s),\"</clipPath>\\n\")),c&&g.push(\"<g \",o,this.getSvgCommons(),\" >\\n\"),g.push(\"<g \",this.getSvgTransform(!1),c?\"\":o+this.getSvgCommons(),\" >\\n\");const m=[n,h,e?\"\":this.addPaintOrder(),\" \",r?'transform=\"'.concat(r,'\" '):\"\"].join(\"\");return t[f]=m,Gt(u)&&g.push(u.toSVG(this)),Gt(l)&&g.push(l.toSVG(this)),d&&g.push(d.toSVG(this)),a&&g.push(p),g.push(t.join(\"\")),g.push(\"</g>\\n\"),c&&g.push(\"</g>\\n\"),s?s(g.join(\"\")):g.join(\"\")}addPaintOrder(){return this.paintFirst!==K?' paint-order=\"'.concat(this.paintFirst,'\" '):\"\"}}function Ye(t){return new RegExp(\"^(\"+t.join(\"|\")+\")\\\\b\",\"i\")}const We=\"textDecorationThickness\",Ve=[\"fontSize\",\"fontWeight\",\"fontFamily\",\"fontStyle\"],ze=[\"underline\",\"overline\",\"linethrough\"],Ge=[...Ve,\"lineHeight\",\"text\",\"charSpacing\",\"textAlign\",\"styles\",\"path\",\"pathStartOffset\",\"pathSide\",\"pathAlign\"],He=[...Ge,...ze,\"textBackgroundColor\",\"direction\",We],Ne=[...Ve,...ze,J,\"strokeWidth\",K,\"deltaY\",\"textBackgroundColor\",We],Ue={_reNewline:F,_reSpacesAndTabs:/[ \\t\\r]/g,_reSpaceAndTab:/[ \\t\\r]/,_reWords:/\\S+/g,fontSize:40,fontWeight:\"normal\",fontFamily:\"Times New Roman\",underline:!1,overline:!1,linethrough:!1,textAlign:M,fontStyle:\"normal\",lineHeight:1.16,textBackgroundColor:\"\",stroke:null,shadow:null,path:void 0,pathStartOffset:0,pathSide:M,pathAlign:\"baseline\",charSpacing:0,deltaY:0,direction:\"ltr\",CACHE_FONT_SIZE:400,MIN_TEXT_WIDTH:2,superscript:{size:.6,baseline:-.35},subscript:{size:.6,baseline:.11},_fontSizeFraction:.222,offsets:{underline:.1,linethrough:-.28167,overline:-.81333},_fontSizeMult:1.13,[We]:66.667},qe=\"justify\",Ke=\"justify-left\",Je=\"justify-right\",Qe=\"justify-center\";var Ze,$e,ts;const es=String.raw(Ze||(Ze=r([\"[-+]?(?:d*.d+|d+.?)(?:[eE][-+]?d+)?\"],[\"[-+]?(?:\\\\d*\\\\.\\\\d+|\\\\d+\\\\.?)(?:[eE][-+]?\\\\d+)?\"]))),ss=String.raw($e||($e=r([\"(?:s*,?s+|s*,s*)\"],[\"(?:\\\\s*,?\\\\s+|\\\\s*,\\\\s*)\"]))),is=\"http://www.w3.org/2000/svg\",rs=new RegExp(\"(normal|italic)?\\\\s*(normal|small-caps)?\\\\s*(normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900)?\\\\s*(\"+es+\"(?:px|cm|mm|em|pt|pc|in)*)(?:\\\\/(normal|\"+es+\"))?\\\\s+(.*)\"),ns={cx:M,x:M,r:\"radius\",cy:P,y:P,display:\"visible\",visibility:\"visible\",transform:\"transformMatrix\",\"fill-opacity\":\"fillOpacity\",\"fill-rule\":\"fillRule\",\"font-family\":\"fontFamily\",\"font-size\":\"fontSize\",\"font-style\":\"fontStyle\",\"font-weight\":\"fontWeight\",\"letter-spacing\":\"charSpacing\",\"paint-order\":\"paintFirst\",\"stroke-dasharray\":\"strokeDashArray\",\"stroke-dashoffset\":\"strokeDashOffset\",\"stroke-linecap\":\"strokeLineCap\",\"stroke-linejoin\":\"strokeLineJoin\",\"stroke-miterlimit\":\"strokeMiterLimit\",\"stroke-opacity\":\"strokeOpacity\",\"stroke-width\":\"strokeWidth\",\"text-decoration\":\"textDecoration\",\"text-anchor\":\"textAnchor\",opacity:\"opacity\",\"clip-path\":\"clipPath\",\"clip-rule\":\"clipRule\",\"vector-effect\":\"strokeUniform\",\"image-rendering\":\"imageSmoothing\",\"text-decoration-thickness\":We},os=\"font-size\",as=\"clip-path\",hs=Ye([\"path\",\"circle\",\"polygon\",\"polyline\",\"ellipse\",\"rect\",\"line\",\"image\",\"text\"]),cs=Ye([\"symbol\",\"image\",\"marker\",\"pattern\",\"view\",\"svg\"]),ls=Ye([\"symbol\",\"g\",\"a\",\"svg\",\"clipPath\",\"defs\"]),us=new RegExp(String.raw(ts||(ts=r([\"^s*(\",\")\",\"(\",\")\",\"(\",\")\",\"(\",\")s*$\"],[\"^\\\\s*(\",\")\",\"(\",\")\",\"(\",\")\",\"(\",\")\\\\s*$\"])),es,ss,es,ss,es,ss,es)),ds=new ot(1,0),gs=new ot,fs=(t,e)=>t.rotate(e),ps=(t,e)=>new ot(e).subtract(t),ms=t=>t.distanceFrom(gs),vs=(t,e)=>Math.atan2(Cs(t,e),bs(t,e)),ys=t=>vs(ds,t),_s=t=>t.eq(gs)?t:t.scalarDivide(ms(t)),xs=function(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return _s(new ot(-t.y,t.x).scalarMultiply(e?1:-1))},Cs=(t,e)=>t.x*e.y-t.y*e.x,bs=(t,e)=>t.x*e.x+t.y*e.y,Ss=(t,e,s)=>{if(t.eq(e)||t.eq(s))return!0;const i=Cs(e,s),r=Cs(e,t),n=Cs(s,t);return i>=0?r>=0&&n<=0:!(r<=0&&n>=0)},ws=\"(-?\\\\d+(?:\\\\.\\\\d*)?(?:px)?(?:\\\\s?|$))?\",Ts=new RegExp(\"(?:\\\\s|^)\"+ws+ws+\"(\"+es+\"?(?:px)?)?(?:\\\\s?|$)(?:$|\\\\s)\");class Os{constructor(t){const e=\"string\"==typeof t?Os.parseShadow(t):t;Object.assign(this,Os.ownDefaults,e),this.id=ft()}static parseShadow(t){const e=t.trim(),[,s=0,i=0,r=0]=(Ts.exec(e)||[]).map((t=>parseFloat(t)||0));return{color:(e.replace(Ts,\"\")||\"rgb(0,0,0)\").trim(),offsetX:s,offsetY:i,blur:r}}toString(){return[this.offsetX,this.offsetY,this.blur,this.color].join(\"px \")}toSVG(t){const e=fs(new ot(this.offsetX,this.offsetY),xt(-t.angle)),s=new Le(this.color);let i=40,r=40;return t.width&&t.height&&(i=100*Vt((Math.abs(e.x)+this.blur)/t.width,o.NUM_FRACTION_DIGITS)+20,r=100*Vt((Math.abs(e.y)+this.blur)/t.height,o.NUM_FRACTION_DIGITS)+20),t.flipX&&(e.x*=-1),t.flipY&&(e.y*=-1),'<filter id=\"SVGID_'.concat(this.id,'\" y=\"-').concat(r,'%\" height=\"').concat(100+2*r,'%\" x=\"-').concat(i,'%\" width=\"').concat(100+2*i,'%\" >\\n\\t<feGaussianBlur in=\"SourceAlpha\" stdDeviation=\"').concat(Vt(this.blur?this.blur/2:0,o.NUM_FRACTION_DIGITS),'\"></feGaussianBlur>\\n\\t<feOffset dx=\"').concat(Vt(e.x,o.NUM_FRACTION_DIGITS),'\" dy=\"').concat(Vt(e.y,o.NUM_FRACTION_DIGITS),'\" result=\"oBlur\" ></feOffset>\\n\\t<feFlood flood-color=\"').concat(s.toRgb(),'\" flood-opacity=\"').concat(s.getAlpha(),'\"/>\\n\\t<feComposite in2=\"oBlur\" operator=\"in\" />\\n\\t<feMerge>\\n\\t\\t<feMergeNode></feMergeNode>\\n\\t\\t<feMergeNode in=\"SourceGraphic\"></feMergeNode>\\n\\t</feMerge>\\n</filter>\\n')}toObject(){const t={color:this.color,blur:this.blur,offsetX:this.offsetX,offsetY:this.offsetY,affectStroke:this.affectStroke,nonScaling:this.nonScaling,type:this.constructor.type},e=Os.ownDefaults;return this.includeDefaultValues?t:Wt(t,((t,s)=>t!==e[s]))}static async fromObject(t){return new this(t)}}t(Os,\"ownDefaults\",{color:\"rgb(0,0,0)\",blur:0,offsetX:0,offsetY:0,affectStroke:!1,includeDefaultValues:!0,nonScaling:!1}),t(Os,\"type\",\"shadow\"),tt.setClass(Os,\"shadow\");const ks=(t,e,s)=>Math.max(t,Math.min(e,s)),Ds=[P,M,H,N,\"flipX\",\"flipY\",\"originX\",\"originY\",\"angle\",\"opacity\",\"globalCompositeOperation\",\"shadow\",\"visible\",U,q],Ms=[K,J,\"strokeWidth\",\"strokeDashArray\",\"width\",\"height\",\"paintFirst\",\"strokeUniform\",\"strokeLineCap\",\"strokeDashOffset\",\"strokeLineJoin\",\"strokeMiterLimit\",\"backgroundColor\",\"clipPath\"],Ps={top:0,left:0,width:0,height:0,angle:0,flipX:!1,flipY:!1,scaleX:1,scaleY:1,minScaleLimit:0,skewX:0,skewY:0,originX:M,originY:P,strokeWidth:1,strokeUniform:!1,padding:0,opacity:1,paintFirst:K,fill:\"rgb(0,0,0)\",fillRule:\"nonzero\",stroke:null,strokeDashArray:null,strokeDashOffset:0,strokeLineCap:\"butt\",strokeLineJoin:\"miter\",strokeMiterLimit:4,globalCompositeOperation:\"source-over\",backgroundColor:\"\",shadow:null,visible:!0,includeDefaultValues:!0,excludeFromExport:!1,objectCaching:!0,clipPath:void 0,inverted:!1,absolutePositioned:!1,centeredRotation:!0,centeredScaling:!1,dirty:!0},Es=(t,e,s,i)=>(t<Math.abs(e)?(t=e,i=s/4):i=0===e&&0===t?s/S*Math.asin(1):s/S*Math.asin(e/t),{a:t,c:e,p:s,s:i}),As=(t,e,s,i,r)=>t*Math.pow(2,10*(i-=1))*Math.sin((i*r-e)*S/s),js=(t,e,s,i)=>-s*Math.cos(t/i*b)+s+e,Fs=(t,e,s,i)=>(t/=i)<1/2.75?s*(7.5625*t*t)+e:t<2/2.75?s*(7.5625*(t-=1.5/2.75)*t+.75)+e:t<2.5/2.75?s*(7.5625*(t-=2.25/2.75)*t+.9375)+e:s*(7.5625*(t-=2.625/2.75)*t+.984375)+e,Ls=(t,e,s,i)=>s-Fs(i-t,0,s,i)+e;var Rs=Object.freeze({__proto__:null,defaultEasing:js,easeInBack:function(t,e,s,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1.70158;return s*(t/=i)*t*((r+1)*t-r)+e},easeInBounce:Ls,easeInCirc:(t,e,s,i)=>-s*(Math.sqrt(1-(t/=i)*t)-1)+e,easeInCubic:(t,e,s,i)=>s*(t/i)**3+e,easeInElastic:(t,e,s,i)=>{const r=s;let n=0;if(0===t)return e;if(1===(t/=i))return e+s;n||(n=.3*i);const{a:o,s:a,p:h}=Es(r,s,n,1.70158);return-As(o,a,h,t,i)+e},easeInExpo:(t,e,s,i)=>0===t?e:s*2**(10*(t/i-1))+e,easeInOutBack:function(t,e,s,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1.70158;return(t/=i/2)<1?s/2*(t*t*((1+(r*=1.525))*t-r))+e:s/2*((t-=2)*t*((1+(r*=1.525))*t+r)+2)+e},easeInOutBounce:(t,e,s,i)=>t<i/2?.5*Ls(2*t,0,s,i)+e:.5*Fs(2*t-i,0,s,i)+.5*s+e,easeInOutCirc:(t,e,s,i)=>(t/=i/2)<1?-s/2*(Math.sqrt(1-t**2)-1)+e:s/2*(Math.sqrt(1-(t-=2)*t)+1)+e,easeInOutCubic:(t,e,s,i)=>(t/=i/2)<1?s/2*t**3+e:s/2*((t-2)**3+2)+e,easeInOutElastic:(t,e,s,i)=>{const r=s;let n=0;if(0===t)return e;if(2===(t/=i/2))return e+s;n||(n=i*(.3*1.5));const{a:o,s:a,p:h,c:c}=Es(r,s,n,1.70158);return t<1?-.5*As(o,a,h,t,i)+e:o*Math.pow(2,-10*(t-=1))*Math.sin((t*i-a)*S/h)*.5+c+e},easeInOutExpo:(t,e,s,i)=>0===t?e:t===i?e+s:(t/=i/2)<1?s/2*2**(10*(t-1))+e:s/2*-(2**(-10*--t)+2)+e,easeInOutQuad:(t,e,s,i)=>(t/=i/2)<1?s/2*t**2+e:-s/2*(--t*(t-2)-1)+e,easeInOutQuart:(t,e,s,i)=>(t/=i/2)<1?s/2*t**4+e:-s/2*((t-=2)*t**3-2)+e,easeInOutQuint:(t,e,s,i)=>(t/=i/2)<1?s/2*t**5+e:s/2*((t-2)**5+2)+e,easeInOutSine:(t,e,s,i)=>-s/2*(Math.cos(Math.PI*t/i)-1)+e,easeInQuad:(t,e,s,i)=>s*(t/=i)*t+e,easeInQuart:(t,e,s,i)=>s*(t/=i)*t**3+e,easeInQuint:(t,e,s,i)=>s*(t/i)**5+e,easeInSine:(t,e,s,i)=>-s*Math.cos(t/i*b)+s+e,easeOutBack:function(t,e,s,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1.70158;return s*((t=t/i-1)*t*((r+1)*t+r)+1)+e},easeOutBounce:Fs,easeOutCirc:(t,e,s,i)=>s*Math.sqrt(1-(t=t/i-1)*t)+e,easeOutCubic:(t,e,s,i)=>s*((t/i-1)**3+1)+e,easeOutElastic:(t,e,s,i)=>{const r=s;let n=0;if(0===t)return e;if(1===(t/=i))return e+s;n||(n=.3*i);const{a:o,s:a,p:h,c:c}=Es(r,s,n,1.70158);return o*2**(-10*t)*Math.sin((t*i-a)*S/h)+c+e},easeOutExpo:(t,e,s,i)=>t===i?e+s:s*-(2**(-10*t/i)+1)+e,easeOutQuad:(t,e,s,i)=>-s*(t/=i)*(t-2)+e,easeOutQuart:(t,e,s,i)=>-s*((t=t/i-1)*t**3-1)+e,easeOutQuint:(t,e,s,i)=>s*((t/i-1)**5+1)+e,easeOutSine:(t,e,s,i)=>s*Math.sin(t/i*b)+e});const Is=()=>!1;class Bs{constructor(e){let{startValue:s,byValue:i,duration:r=500,delay:n=0,easing:o=js,onStart:a=C,onChange:h=C,onComplete:c=C,abort:l=Is,target:u}=e;t(this,\"_state\",\"pending\"),t(this,\"durationProgress\",0),t(this,\"valueProgress\",0),this.tick=this.tick.bind(this),this.duration=r,this.delay=n,this.easing=o,this._onStart=a,this._onChange=h,this._onComplete=c,this._abort=l,this.target=u,this.startValue=s,this.byValue=i,this.value=this.startValue,this.endValue=Object.freeze(this.calculate(this.duration).value)}get state(){return this._state}isDone(){return\"aborted\"===this._state||\"completed\"===this._state}start(){const t=t=>{\"pending\"===this._state&&(this.startTime=t||+new Date,this._state=\"running\",this._onStart(),this.tick(this.startTime))};this.register(),this.delay>0?setTimeout((()=>ut(t)),this.delay):ut(t)}tick(t){const e=(t||+new Date)-this.startTime,s=Math.min(e,this.duration);this.durationProgress=s/this.duration;const{value:i,valueProgress:r}=this.calculate(s);this.value=Object.freeze(i),this.valueProgress=r,\"aborted\"!==this._state&&(this._abort(this.value,this.valueProgress,this.durationProgress)?(this._state=\"aborted\",this.unregister()):e>=this.duration?(this.durationProgress=this.valueProgress=1,this._onChange(this.endValue,this.valueProgress,this.durationProgress),this._state=\"completed\",this._onComplete(this.endValue,this.valueProgress,this.durationProgress),this.unregister()):(this._onChange(this.value,this.valueProgress,this.durationProgress),ut(this.tick)))}register(){et.push(this)}unregister(){et.remove(this)}abort(){this._state=\"aborted\",this.unregister()}}const Xs=[\"startValue\",\"endValue\"];class Ys extends Bs{constructor(t){let{startValue:e=0,endValue:r=100}=t;super(s(s({},i(t,Xs)),{},{startValue:e,byValue:r-e}))}calculate(t){const e=this.easing(t,this.startValue,this.byValue,this.duration);return{value:e,valueProgress:Math.abs((e-this.startValue)/this.byValue)}}}const Ws=[\"startValue\",\"endValue\"];class Vs extends Bs{constructor(t){let{startValue:e=[0],endValue:r=[100]}=t;super(s(s({},i(t,Ws)),{},{startValue:e,byValue:r.map(((t,s)=>t-e[s]))}))}calculate(t){const e=this.startValue.map(((e,s)=>this.easing(t,e,this.byValue[s],this.duration,s)));return{value:e,valueProgress:Math.abs((e[0]-this.startValue[0])/this.byValue[0])}}}const zs=[\"startValue\",\"endValue\",\"easing\",\"onChange\",\"onComplete\",\"abort\"],Gs=(t,e,s,i)=>e+s*(1-Math.cos(t/i*b)),Hs=t=>t&&((e,s,i)=>t(new Le(e).toRgba(),s,i));class Ns extends Bs{constructor(t){let{startValue:e,endValue:r,easing:n=Gs,onChange:o,onComplete:a,abort:h}=t,c=i(t,zs);const l=new Le(e).getSource(),u=new Le(r).getSource();super(s(s({},c),{},{startValue:l,byValue:u.map(((t,e)=>t-l[e])),easing:n,onChange:Hs(o),onComplete:Hs(a),abort:Hs(h)}))}calculate(t){const[e,s,i,r]=this.startValue.map(((e,s)=>this.easing(t,e,this.byValue[s],this.duration,s))),n=[...[e,s,i].map(Math.round),ks(0,r,1)];return{value:n,valueProgress:n.map(((t,e)=>0!==this.byValue[e]?Math.abs((t-this.startValue[e])/this.byValue[e]):0)).find((t=>0!==t))||0}}}function Us(t){const e=(t=>Array.isArray(t.startValue)||Array.isArray(t.endValue))(t)?new Vs(t):new Ys(t);return e.start(),e}function qs(t){const e=new Ns(t);return e.start(),e}class Ks{constructor(t){this.status=t,this.points=[]}includes(t){return this.points.some((e=>e.eq(t)))}append(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return this.points=this.points.concat(e.filter((t=>!this.includes(t)))),this}static isPointContained(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(e.eq(s))return t.eq(e);if(e.x===s.x)return t.x===e.x&&(i||t.y>=Math.min(e.y,s.y)&&t.y<=Math.max(e.y,s.y));if(e.y===s.y)return t.y===e.y&&(i||t.x>=Math.min(e.x,s.x)&&t.x<=Math.max(e.x,s.x));{const r=ps(e,s),n=ps(e,t).divide(r);return i?Math.abs(n.x)===Math.abs(n.y):n.x===n.y&&n.x>=0&&n.x<=1}}static isPointInPolygon(t,e){const s=new ot(t).setX(Math.min(t.x-1,...e.map((t=>t.x))));let i=0;for(let r=0;r<e.length;r++){const n=this.intersectSegmentSegment(e[r],e[(r+1)%e.length],t,s);if(n.includes(t))return!0;i+=Number(\"Intersection\"===n.status)}return i%2==1}static intersectLineLine(t,e,s,i){let r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],n=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];const o=e.x-t.x,a=e.y-t.y,h=i.x-s.x,c=i.y-s.y,l=t.x-s.x,u=t.y-s.y,d=h*u-c*l,g=o*u-a*l,f=c*o-h*a;if(0!==f){const e=d/f,s=g/f;return(r||0<=e&&e<=1)&&(n||0<=s&&s<=1)?new Ks(\"Intersection\").append(new ot(t.x+e*o,t.y+e*a)):new Ks}if(0===d||0===g){const o=r||n||Ks.isPointContained(t,s,i)||Ks.isPointContained(e,s,i)||Ks.isPointContained(s,t,e)||Ks.isPointContained(i,t,e);return new Ks(o?\"Coincident\":void 0)}return new Ks(\"Parallel\")}static intersectSegmentLine(t,e,s,i){return Ks.intersectLineLine(t,e,s,i,!1,!0)}static intersectSegmentSegment(t,e,s,i){return Ks.intersectLineLine(t,e,s,i,!1,!1)}static intersectLinePolygon(t,e,s){let i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const r=new Ks,n=s.length;for(let o,a,h,c=0;c<n;c++){if(o=s[c],a=s[(c+1)%n],h=Ks.intersectLineLine(t,e,o,a,i,!1),\"Coincident\"===h.status)return h;r.append(...h.points)}return r.points.length>0&&(r.status=\"Intersection\"),r}static intersectSegmentPolygon(t,e,s){return Ks.intersectLinePolygon(t,e,s,!1)}static intersectPolygonPolygon(t,e){const s=new Ks,i=t.length,r=[];for(let n=0;n<i;n++){const o=t[n],a=t[(n+1)%i],h=Ks.intersectSegmentPolygon(o,a,e);\"Coincident\"===h.status?(r.push(h),s.append(o,a)):s.append(...h.points)}return r.length>0&&r.length===t.length?new Ks(\"Coincident\"):(s.points.length>0&&(s.status=\"Intersection\"),s)}static intersectPolygonRectangle(t,e,s){const i=e.min(s),r=e.max(s),n=new ot(r.x,i.y),o=new ot(i.x,r.y);return Ks.intersectPolygonPolygon(t,[i,n,r,o])}}class Js extends lt{getX(){return this.getXY().x}setX(t){this.setXY(this.getXY().setX(t))}getY(){return this.getXY().y}setY(t){this.setXY(this.getXY().setY(t))}getRelativeX(){return this.left}setRelativeX(t){this.left=t}getRelativeY(){return this.top}setRelativeY(t){this.top=t}getXY(){const t=this.getRelativeXY();return this.group?St(t,this.group.calcTransformMatrix()):t}setXY(t,e,s){this.group&&(t=St(t,wt(this.group.calcTransformMatrix()))),this.setRelativeXY(t,e,s)}getRelativeXY(){return new ot(this.left,this.top)}setRelativeXY(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.originX,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.originY;this.setPositionByOrigin(t,e,s)}isStrokeAccountedForInDimensions(){return!1}getCoords(){const{tl:t,tr:e,br:s,bl:i}=this.aCoords||(this.aCoords=this.calcACoords()),r=[t,e,s,i];if(this.group){const t=this.group.calcTransformMatrix();return r.map((e=>St(e,t)))}return r}intersectsWithRect(t,e){return\"Intersection\"===Ks.intersectPolygonRectangle(this.getCoords(),t,e).status}intersectsWithObject(t){const e=Ks.intersectPolygonPolygon(this.getCoords(),t.getCoords());return\"Intersection\"===e.status||\"Coincident\"===e.status||t.isContainedWithinObject(this)||this.isContainedWithinObject(t)}isContainedWithinObject(t){return this.getCoords().every((e=>t.containsPoint(e)))}isContainedWithinRect(t,e){const{left:s,top:i,width:r,height:n}=this.getBoundingRect();return s>=t.x&&s+r<=e.x&&i>=t.y&&i+n<=e.y}isOverlapping(t){return this.intersectsWithObject(t)||this.isContainedWithinObject(t)||t.isContainedWithinObject(this)}containsPoint(t){return Ks.isPointInPolygon(t,this.getCoords())}isOnScreen(){if(!this.canvas)return!1;const{tl:t,br:e}=this.canvas.vptCoords;return!!this.getCoords().some((s=>s.x<=e.x&&s.x>=t.x&&s.y<=e.y&&s.y>=t.y))||(!!this.intersectsWithRect(t,e)||this.containsPoint(t.midPointFrom(e)))}isPartiallyOnScreen(){if(!this.canvas)return!1;const{tl:t,br:e}=this.canvas.vptCoords;if(this.intersectsWithRect(t,e))return!0;return this.getCoords().every((s=>(s.x>=e.x||s.x<=t.x)&&(s.y>=e.y||s.y<=t.y)))&&this.containsPoint(t.midPointFrom(e))}getBoundingRect(){return ae(this.getCoords())}getScaledWidth(){return this._getTransformedDimensions().x}getScaledHeight(){return this._getTransformedDimensions().y}scale(t){this._set(H,t),this._set(N,t),this.setCoords()}scaleToWidth(t){const e=this.getBoundingRect().width/this.getScaledWidth();return this.scale(t/this.width/e)}scaleToHeight(t){const e=this.getBoundingRect().height/this.getScaledHeight();return this.scale(t/this.height/e)}getCanvasRetinaScaling(){var t;return(null===(t=this.canvas)||void 0===t?void 0:t.getRetinaScaling())||1}getTotalAngle(){return this.group?Ct(kt(this.calcTransformMatrix())):this.angle}getViewportTransform(){var t;return(null===(t=this.canvas)||void 0===t?void 0:t.viewportTransform)||T.concat()}calcACoords(){const t=Pt({angle:this.angle}),{x:e,y:s}=this.getRelativeCenterPoint(),i=Mt(e,s),r=Tt(i,t),n=this._getTransformedDimensions(),o=n.x/2,a=n.y/2;return{tl:St({x:-o,y:-a},r),tr:St({x:o,y:-a},r),bl:St({x:-o,y:a},r),br:St({x:o,y:a},r)}}setCoords(){this.aCoords=this.calcACoords()}transformMatrixKey(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=[];return!t&&this.group&&(e=this.group.transformMatrixKey(t)),e.push(this.top,this.left,this.width,this.height,this.scaleX,this.scaleY,this.angle,this.strokeWidth,this.skewX,this.skewY,+this.flipX,+this.flipY,xe(this.originX),xe(this.originY)),e}calcTransformMatrix(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.calcOwnMatrix();if(t||!this.group)return e;const s=this.transformMatrixKey(t),i=this.matrixCache;return i&&i.key.every(((t,e)=>t===s[e]))?i.value:(this.group&&(e=Tt(this.group.calcTransformMatrix(!1),e)),this.matrixCache={key:s,value:e},e)}calcOwnMatrix(){const t=this.transformMatrixKey(!0),e=this.ownMatrixCache;if(e&&e.key===t)return e.value;const s=this.getRelativeCenterPoint(),i={angle:this.angle,translateX:s.x,translateY:s.y,scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY},r=Rt(i);return this.ownMatrixCache={key:t,value:r},r}_getNonTransformedDimensions(){return new ot(this.width,this.height).scalarAdd(this.strokeWidth)}_calculateCurrentDimensions(t){return this._getTransformedDimensions(t).transform(this.getViewportTransform(),!0).scalarAdd(2*this.padding)}_getTransformedDimensions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const e=s({scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,width:this.width,height:this.height,strokeWidth:this.strokeWidth},t),i=e.strokeWidth;let r=i,n=0;this.strokeUniform&&(r=0,n=i);const o=e.width+r,a=e.height+r;let h;return h=0===e.skewX&&0===e.skewY?new ot(o*e.scaleX,a*e.scaleY):ge(o,a,Lt(e)),h.scalarAdd(n)}translateToGivenOrigin(t,e,s,i,r){let n=t.x,o=t.y;const a=xe(i)-xe(e),h=xe(r)-xe(s);if(a||h){const t=this._getTransformedDimensions();n+=a*t.x,o+=h*t.y}return new ot(n,o)}translateToCenterPoint(t,e,s){if(e===D&&s===D)return t;const i=this.translateToGivenOrigin(t,e,s,D,D);return this.angle?i.rotate(xt(this.angle),t):i}translateToOriginPoint(t,e,s){const i=this.translateToGivenOrigin(t,D,D,e,s);return this.angle?i.rotate(xt(this.angle),t):i}getCenterPoint(){const t=this.getRelativeCenterPoint();return this.group?St(t,this.group.calcTransformMatrix()):t}getRelativeCenterPoint(){return this.translateToCenterPoint(new ot(this.left,this.top),this.originX,this.originY)}getPointByOrigin(t,e){return this.translateToOriginPoint(this.getRelativeCenterPoint(),t,e)}setPositionByOrigin(t,e,s){const i=this.translateToCenterPoint(t,e,s),r=this.translateToOriginPoint(i,this.originX,this.originY);this.set({left:r.x,top:r.y})}_getLeftTopCoords(){return this.translateToOriginPoint(this.getRelativeCenterPoint(),M,P)}}const Qs=[\"type\"],Zs=[\"extraParam\"];let $s=class e extends Js{static getDefaults(){return e.ownDefaults}get type(){const t=this.constructor.type;return\"FabricObject\"===t?\"object\":t.toLowerCase()}set type(t){a(\"warn\",\"Setting type has no effect\",t)}constructor(s){super(),t(this,\"_cacheContext\",null),Object.assign(this,e.ownDefaults),this.setOptions(s)}_createCacheCanvas(){this._cacheCanvas=pt(),this._cacheContext=this._cacheCanvas.getContext(\"2d\"),this._updateCacheCanvas(),this.dirty=!0}_limitCacheSize(t){const e=t.width,s=t.height,i=o.maxCacheSideLimit,r=o.minCacheSideLimit;if(e<=i&&s<=i&&e*s<=o.perfLimitSizeTotal)return e<r&&(t.width=r),s<r&&(t.height=r),t;const n=e/s,[a,h]=_.limitDimsByArea(n),c=ks(r,a,i),l=ks(r,h,i);return e>c&&(t.zoomX/=e/c,t.width=c,t.capped=!0),s>l&&(t.zoomY/=s/l,t.height=l,t.capped=!0),t}_getCacheCanvasDimensions(){const t=this.getTotalObjectScaling(),e=this._getTransformedDimensions({skewX:0,skewY:0}),s=e.x*t.x/this.scaleX,i=e.y*t.y/this.scaleY;return{width:Math.ceil(s+2),height:Math.ceil(i+2),zoomX:t.x,zoomY:t.y,x:s,y:i}}_updateCacheCanvas(){const t=this._cacheCanvas,e=this._cacheContext,{width:s,height:i,zoomX:r,zoomY:n,x:o,y:a}=this._limitCacheSize(this._getCacheCanvasDimensions()),h=s!==t.width||i!==t.height,c=this.zoomX!==r||this.zoomY!==n;if(!t||!e)return!1;if(h||c){s!==t.width||i!==t.height?(t.width=s,t.height=i):(e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,t.width,t.height));const h=o/2,c=a/2;return this.cacheTranslationX=Math.round(t.width/2-h)+h,this.cacheTranslationY=Math.round(t.height/2-c)+c,e.translate(this.cacheTranslationX,this.cacheTranslationY),e.scale(r,n),this.zoomX=r,this.zoomY=n,!0}return!1}setOptions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setOptions(t)}transform(t){const e=this.group&&!this.group._transformDone||this.group&&this.canvas&&t===this.canvas.contextTop,s=this.calcTransformMatrix(!e);t.transform(s[0],s[1],s[2],s[3],s[4],s[5])}getObjectScaling(){if(!this.group)return new ot(Math.abs(this.scaleX),Math.abs(this.scaleY));const t=Dt(this.calcTransformMatrix());return new ot(Math.abs(t.scaleX),Math.abs(t.scaleY))}getTotalObjectScaling(){const t=this.getObjectScaling();if(this.canvas){const e=this.canvas.getZoom(),s=this.getCanvasRetinaScaling();return t.scalarMultiply(e*s)}return t}getObjectOpacity(){let t=this.opacity;return this.group&&(t*=this.group.getObjectOpacity()),t}_constrainScale(t){return Math.abs(t)<this.minScaleLimit?t<0?-this.minScaleLimit:this.minScaleLimit:0===t?1e-4:t}_set(t,e){t!==H&&t!==N||(e=this._constrainScale(e)),t===H&&e<0?(this.flipX=!this.flipX,e*=-1):\"scaleY\"===t&&e<0?(this.flipY=!this.flipY,e*=-1):\"shadow\"!==t||!e||e instanceof Os||(e=new Os(e));const s=this[t]!==e;return this[t]=e,s&&this.constructor.cacheProperties.includes(t)&&(this.dirty=!0),this.parent&&(this.dirty||s&&this.constructor.stateProperties.includes(t))&&this.parent._set(\"dirty\",!0),this}isNotVisible(){return 0===this.opacity||!this.width&&!this.height&&0===this.strokeWidth||!this.visible}render(t){this.isNotVisible()||this.canvas&&this.canvas.skipOffscreen&&!this.group&&!this.isOnScreen()||(t.save(),this._setupCompositeOperation(t),this.drawSelectionBackground(t),this.transform(t),this._setOpacity(t),this._setShadow(t),this.shouldCache()?(this.renderCache(),this.drawCacheOnCanvas(t)):(this._removeCacheCanvas(),this.drawObject(t,!1,{}),this.dirty=!1),t.restore())}drawSelectionBackground(t){}renderCache(t){if(t=t||{},this._cacheCanvas&&this._cacheContext||this._createCacheCanvas(),this.isCacheDirty()&&this._cacheContext){const{zoomX:e,zoomY:s,cacheTranslationX:i,cacheTranslationY:r}=this,{width:n,height:o}=this._cacheCanvas;this.drawObject(this._cacheContext,t.forClipping,{zoomX:e,zoomY:s,cacheTranslationX:i,cacheTranslationY:r,width:n,height:o,parentClipPaths:[]}),this.dirty=!1}}_removeCacheCanvas(){this._cacheCanvas=void 0,this._cacheContext=null}hasStroke(){return this.stroke&&\"transparent\"!==this.stroke&&0!==this.strokeWidth}hasFill(){return this.fill&&\"transparent\"!==this.fill}needsItsOwnCache(){return!!(this.paintFirst===J&&this.hasFill()&&this.hasStroke()&&this.shadow)||!!this.clipPath}shouldCache(){return this.ownCaching=this.objectCaching&&(!this.parent||!this.parent.isOnACache())||this.needsItsOwnCache(),this.ownCaching}willDrawShadow(){return!!this.shadow&&(0!==this.shadow.offsetX||0!==this.shadow.offsetY)}drawClipPathOnCache(t,e,s){t.save(),e.inverted?t.globalCompositeOperation=\"destination-out\":t.globalCompositeOperation=\"destination-in\",t.setTransform(1,0,0,1,0,0),t.drawImage(s,0,0),t.restore()}drawObject(t,e,s){const i=this.fill,r=this.stroke;e?(this.fill=\"black\",this.stroke=\"\",this._setClippingProperties(t)):this._renderBackground(t),this._render(t),this._drawClipPath(t,this.clipPath,s),this.fill=i,this.stroke=r}createClipPathLayer(t,e){const s=vt(e),i=s.getContext(\"2d\");if(i.translate(e.cacheTranslationX,e.cacheTranslationY),i.scale(e.zoomX,e.zoomY),t._cacheCanvas=s,e.parentClipPaths.forEach((t=>{t.transform(i)})),e.parentClipPaths.push(t),t.absolutePositioned){const t=wt(this.calcTransformMatrix());i.transform(t[0],t[1],t[2],t[3],t[4],t[5])}return t.transform(i),t.drawObject(i,!0,e),s}_drawClipPath(t,e,s){if(!e)return;e._transformDone=!0;const i=this.createClipPathLayer(e,s);this.drawClipPathOnCache(t,e,i)}drawCacheOnCanvas(t){t.scale(1/this.zoomX,1/this.zoomY),t.drawImage(this._cacheCanvas,-this.cacheTranslationX,-this.cacheTranslationY)}isCacheDirty(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.isNotVisible())return!1;const e=this._cacheCanvas,s=this._cacheContext;return!(!e||!s||t||!this._updateCacheCanvas())||!!(this.dirty||this.clipPath&&this.clipPath.absolutePositioned)&&(e&&s&&!t&&(s.save(),s.setTransform(1,0,0,1,0,0),s.clearRect(0,0,e.width,e.height),s.restore()),!0)}_renderBackground(t){if(!this.backgroundColor)return;const e=this._getNonTransformedDimensions();t.fillStyle=this.backgroundColor,t.fillRect(-e.x/2,-e.y/2,e.x,e.y),this._removeShadow(t)}_setOpacity(t){this.group&&!this.group._transformDone?t.globalAlpha=this.getObjectOpacity():t.globalAlpha*=this.opacity}_setStrokeStyles(t,e){const s=e.stroke;s&&(t.lineWidth=e.strokeWidth,t.lineCap=e.strokeLineCap,t.lineDashOffset=e.strokeDashOffset,t.lineJoin=e.strokeLineJoin,t.miterLimit=e.strokeMiterLimit,Gt(s)?\"percentage\"===s.gradientUnits||s.gradientTransform||s.patternTransform?this._applyPatternForTransformedGradient(t,s):(t.strokeStyle=s.toLive(t),this._applyPatternGradientTransform(t,s)):t.strokeStyle=e.stroke)}_setFillStyles(t,e){let{fill:s}=e;s&&(Gt(s)?(t.fillStyle=s.toLive(t),this._applyPatternGradientTransform(t,s)):t.fillStyle=s)}_setClippingProperties(t){t.globalAlpha=1,t.strokeStyle=\"transparent\",t.fillStyle=\"#000000\"}_setLineDash(t,e){e&&0!==e.length&&t.setLineDash(e)}_setShadow(t){if(!this.shadow)return;const e=this.shadow,s=this.canvas,i=this.getCanvasRetinaScaling(),[r,,,n]=(null==s?void 0:s.viewportTransform)||T,a=r*i,h=n*i,c=e.nonScaling?new ot(1,1):this.getObjectScaling();t.shadowColor=e.color,t.shadowBlur=e.blur*o.browserShadowBlurConstant*(a+h)*(c.x+c.y)/4,t.shadowOffsetX=e.offsetX*a*c.x,t.shadowOffsetY=e.offsetY*h*c.y}_removeShadow(t){this.shadow&&(t.shadowColor=\"\",t.shadowBlur=t.shadowOffsetX=t.shadowOffsetY=0)}_applyPatternGradientTransform(t,e){if(!Gt(e))return{offsetX:0,offsetY:0};const s=e.gradientTransform||e.patternTransform,i=-this.width/2+e.offsetX||0,r=-this.height/2+e.offsetY||0;return\"percentage\"===e.gradientUnits?t.transform(this.width,0,0,this.height,i,r):t.transform(1,0,0,1,i,r),s&&t.transform(s[0],s[1],s[2],s[3],s[4],s[5]),{offsetX:i,offsetY:r}}_renderPaintInOrder(t){this.paintFirst===J?(this._renderStroke(t),this._renderFill(t)):(this._renderFill(t),this._renderStroke(t))}_render(t){}_renderFill(t){this.fill&&(t.save(),this._setFillStyles(t,this),\"evenodd\"===this.fillRule?t.fill(\"evenodd\"):t.fill(),t.restore())}_renderStroke(t){if(this.stroke&&0!==this.strokeWidth){if(this.shadow&&!this.shadow.affectStroke&&this._removeShadow(t),t.save(),this.strokeUniform){const e=this.getObjectScaling();t.scale(1/e.x,1/e.y)}this._setLineDash(t,this.strokeDashArray),this._setStrokeStyles(t,this),t.stroke(),t.restore()}}_applyPatternForTransformedGradient(t,e){var s;const i=this._limitCacheSize(this._getCacheCanvasDimensions()),r=this.getCanvasRetinaScaling(),n=i.x/this.scaleX/r,o=i.y/this.scaleY/r,a=vt({width:Math.ceil(n),height:Math.ceil(o)}),h=a.getContext(\"2d\");h&&(h.beginPath(),h.moveTo(0,0),h.lineTo(n,0),h.lineTo(n,o),h.lineTo(0,o),h.closePath(),h.translate(n/2,o/2),h.scale(i.zoomX/this.scaleX/r,i.zoomY/this.scaleY/r),this._applyPatternGradientTransform(h,e),h.fillStyle=e.toLive(t),h.fill(),t.translate(-this.width/2-this.strokeWidth/2,-this.height/2-this.strokeWidth/2),t.scale(r*this.scaleX/i.zoomX,r*this.scaleY/i.zoomY),t.strokeStyle=null!==(s=h.createPattern(a,\"no-repeat\"))&&void 0!==s?s:\"\")}_findCenterFromElement(){return new ot(this.left+this.width/2,this.top+this.height/2)}clone(t){const e=this.toObject(t);return this.constructor.fromObject(e)}cloneAsImage(t){const e=this.toCanvasElement(t);return new(tt.getClass(\"image\"))(e)}toCanvasElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const e=de(this),s=this.group,i=this.shadow,r=Math.abs,n=t.enableRetinaScaling?y():1,o=(t.multiplier||1)*n,a=t.canvasProvider||(t=>new se(t,{enableRetinaScaling:!1,renderOnAddRemove:!1,skipOffscreen:!1}));delete this.group,t.withoutTransform&&ue(this),t.withoutShadow&&(this.shadow=null),t.viewportTransform&&ve(this,this.getViewportTransform()),this.setCoords();const h=pt(),c=this.getBoundingRect(),l=this.shadow,u=new ot;if(l){const t=l.blur,e=l.nonScaling?new ot(1,1):this.getObjectScaling();u.x=2*Math.round(r(l.offsetX)+t)*r(e.x),u.y=2*Math.round(r(l.offsetY)+t)*r(e.y)}const d=c.width+u.x,g=c.height+u.y;h.width=Math.ceil(d),h.height=Math.ceil(g);const f=a(h);\"jpeg\"===t.format&&(f.backgroundColor=\"#fff\"),this.setPositionByOrigin(new ot(f.width/2,f.height/2),D,D);const p=this.canvas;f._objects=[this],this.set(\"canvas\",f),this.setCoords();const m=f.toCanvasElement(o||1,t);return this.set(\"canvas\",p),this.shadow=i,s&&(this.group=s),this.set(e),this.setCoords(),f._objects=[],f.destroy(),m}toDataURL(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return yt(this.toCanvasElement(t),t.format||\"png\",t.quality||1)}toBlob(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return _t(this.toCanvasElement(t),t.format||\"png\",t.quality||1)}isType(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return e.includes(this.constructor.type)||e.includes(this.type)}complexity(){return 1}toJSON(){return this.toObject()}rotate(t){const{centeredRotation:e,originX:s,originY:i}=this;if(e){const{x:t,y:e}=this.getRelativeCenterPoint();this.originX=D,this.originY=D,this.left=t,this.top=e}if(this.set(\"angle\",t),e){const{x:t,y:e}=this.translateToOriginPoint(this.getRelativeCenterPoint(),s,i);this.left=t,this.top=e,this.originX=s,this.originY=i}}setOnGroup(){}_setupCompositeOperation(t){this.globalCompositeOperation&&(t.globalCompositeOperation=this.globalCompositeOperation)}dispose(){et.cancelByTarget(this),this.off(),this._set(\"canvas\",void 0),this._cacheCanvas&&p().dispose(this._cacheCanvas),this._cacheCanvas=void 0,this._cacheContext=null}animate(t,e){return Object.entries(t).reduce(((t,s)=>{let[i,r]=s;return t[i]=this._animate(i,r,e),t}),{})}_animate(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=t.split(\".\"),n=this.constructor.colorProperties.includes(r[r.length-1]),{abort:o,startValue:a,onChange:h,onComplete:c}=i,l=s(s({},i),{},{target:this,startValue:null!=a?a:r.reduce(((t,e)=>t[e]),this),endValue:e,abort:null==o?void 0:o.bind(this),onChange:(t,e,s)=>{r.reduce(((e,s,i)=>(i===r.length-1&&(e[s]=t),e[s])),this),h&&h(t,e,s)},onComplete:(t,e,s)=>{this.setCoords(),c&&c(t,e,s)}});return n?qs(l):Us(l)}isDescendantOf(t){const{parent:e,group:s}=this;return e===t||s===t||!!e&&e.isDescendantOf(t)||!!s&&s!==e&&s.isDescendantOf(t)}getAncestors(){const t=[];let e=this;do{e=e.parent,e&&t.push(e)}while(e);return t}findCommonAncestors(t){if(this===t)return{fork:[],otherFork:[],common:[this,...this.getAncestors()]};const e=this.getAncestors(),s=t.getAncestors();if(0===e.length&&s.length>0&&this===s[s.length-1])return{fork:[],otherFork:[t,...s.slice(0,s.length-1)],common:[this]};for(let i,r=0;r<e.length;r++){if(i=e[r],i===t)return{fork:[this,...e.slice(0,r)],otherFork:[],common:e.slice(r)};for(let n=0;n<s.length;n++){if(this===s[n])return{fork:[],otherFork:[t,...s.slice(0,n)],common:[this,...e]};if(i===s[n])return{fork:[this,...e.slice(0,r)],otherFork:[t,...s.slice(0,n)],common:e.slice(r)}}}return{fork:[this,...e],otherFork:[t,...s],common:[]}}hasCommonAncestors(t){const e=this.findCommonAncestors(t);return e&&!!e.common.length}isInFrontOf(t){if(this===t)return;const e=this.findCommonAncestors(t);if(e.fork.includes(t))return!0;if(e.otherFork.includes(this))return!1;const s=e.common[0]||this.canvas;if(!s)return;const i=e.fork.pop(),r=e.otherFork.pop(),n=s._objects.indexOf(i),o=s._objects.indexOf(r);return n>-1&&n>o}toObject(){const t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).concat(e.customProperties,this.constructor.customProperties||[]);let i;const r=o.NUM_FRACTION_DIGITS,{clipPath:n,fill:a,stroke:h,shadow:c,strokeDashArray:l,left:u,top:d,originX:g,originY:f,width:p,height:m,strokeWidth:v,strokeLineCap:y,strokeDashOffset:_,strokeLineJoin:C,strokeUniform:b,strokeMiterLimit:S,scaleX:w,scaleY:T,angle:O,flipX:k,flipY:D,opacity:M,visible:P,backgroundColor:E,fillRule:A,paintFirst:j,globalCompositeOperation:F,skewX:L,skewY:R}=this;n&&!n.excludeFromExport&&(i=n.toObject(t.concat(\"inverted\",\"absolutePositioned\")));const I=t=>Vt(t,r),B=s(s({},Yt(this,t)),{},{type:this.constructor.type,version:x,originX:g,originY:f,left:I(u),top:I(d),width:I(p),height:I(m),fill:Ht(a)?a.toObject():a,stroke:Ht(h)?h.toObject():h,strokeWidth:I(v),strokeDashArray:l?l.concat():l,strokeLineCap:y,strokeDashOffset:_,strokeLineJoin:C,strokeUniform:b,strokeMiterLimit:I(S),scaleX:I(w),scaleY:I(T),angle:I(O),flipX:k,flipY:D,opacity:I(M),shadow:c?c.toObject():c,visible:P,backgroundColor:E,fillRule:A,paintFirst:j,globalCompositeOperation:F,skewX:I(L),skewY:I(R)},i?{clipPath:i}:null);return this.includeDefaultValues?B:this._removeDefaultValues(B)}toDatalessObject(t){return this.toObject(t)}_removeDefaultValues(t){const e=this.constructor.getDefaults(),s=Object.keys(e).length>0?e:Object.getPrototypeOf(this);return Wt(t,((t,e)=>{if(e===M||e===P||\"type\"===e)return!0;const i=s[e];return t!==i&&!(Array.isArray(t)&&Array.isArray(i)&&0===t.length&&0===i.length)}))}toString(){return\"#<\".concat(this.constructor.type,\">\")}static _fromObject(t){let e=i(t,Qs),s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{extraParam:r}=s,n=i(s,Zs);return Xt(e,n).then((t=>r?(delete t[r],new this(e[r],t)):new this(t)))}static fromObject(t,e){return this._fromObject(t,e)}};t($s,\"stateProperties\",Ds),t($s,\"cacheProperties\",Ms),t($s,\"ownDefaults\",Ps),t($s,\"type\",\"FabricObject\"),t($s,\"colorProperties\",[K,J,\"backgroundColor\"]),t($s,\"customProperties\",[]),tt.setClass($s),tt.setClass($s,\"object\");const ti=(t,e,i)=>(r,n,o,a)=>{const h=e(r,n,o,a);return h&&ye(t,s(s({},Te(r,n,o,a)),i)),h};function ei(t){return(e,s,i,r)=>{const{target:n,originX:o,originY:a}=s,h=n.getRelativeCenterPoint(),c=n.translateToOriginPoint(h,o,a),l=t(e,s,i,r);return n.setPositionByOrigin(c,s.originX,s.originY),l}}const si=ti(Y,ei(((t,e,s,i)=>{const r=ke(e,e.originX,e.originY,s,i);if(xe(e.originX)===xe(D)||xe(e.originX)===xe(A)&&r.x<0||xe(e.originX)===xe(M)&&r.x>0){const{target:t}=e,s=t.strokeWidth/(t.strokeUniform?t.scaleX:1),i=be(e)?2:1,n=t.width,o=Math.abs(r.x*i/t.scaleX)-s;return t.set(\"width\",Math.max(o,1)),n!==t.width}return!1})));function ii(t,e,s,i,r){i=i||{};const n=this.sizeX||i.cornerSize||r.cornerSize,o=this.sizeY||i.cornerSize||r.cornerSize,a=void 0!==i.transparentCorners?i.transparentCorners:r.transparentCorners,h=a?J:K,c=!a&&(i.cornerStrokeColor||r.cornerStrokeColor);let l,u=e,d=s;t.save(),t.fillStyle=i.cornerColor||r.cornerColor||\"\",t.strokeStyle=i.cornerStrokeColor||r.cornerStrokeColor||\"\",n>o?(l=n,t.scale(1,o/n),d=s*n/o):o>n?(l=o,t.scale(n/o,1),u=e*o/n):l=n,t.beginPath(),t.arc(u,d,l/2,0,S,!1),t[h](),c&&t.stroke(),t.restore()}function ri(t,e,s,i,r){i=i||{};const n=this.sizeX||i.cornerSize||r.cornerSize,o=this.sizeY||i.cornerSize||r.cornerSize,a=void 0!==i.transparentCorners?i.transparentCorners:r.transparentCorners,h=a?J:K,c=!a&&(i.cornerStrokeColor||r.cornerStrokeColor),l=n/2,u=o/2;t.save(),t.fillStyle=i.cornerColor||r.cornerColor||\"\",t.strokeStyle=i.cornerStrokeColor||r.cornerStrokeColor||\"\",t.translate(e,s);const d=r.getTotalAngle();t.rotate(xt(d)),t[\"\".concat(h,\"Rect\")](-l,-u,n,o),c&&t.strokeRect(-l,-u,n,o),t.restore()}class ni{constructor(e){t(this,\"visible\",!0),t(this,\"actionName\",G),t(this,\"angle\",0),t(this,\"x\",0),t(this,\"y\",0),t(this,\"offsetX\",0),t(this,\"offsetY\",0),t(this,\"sizeX\",0),t(this,\"sizeY\",0),t(this,\"touchSizeX\",0),t(this,\"touchSizeY\",0),t(this,\"cursorStyle\",\"crosshair\"),t(this,\"withConnection\",!1),Object.assign(this,e)}shouldActivate(t,e,s,i){var r;let{tl:n,tr:o,br:a,bl:h}=i;return(null===(r=e.canvas)||void 0===r?void 0:r.getActiveObject())===e&&e.isControlVisible(t)&&Ks.isPointInPolygon(s,[n,o,a,h])}getActionHandler(t,e,s){return this.actionHandler}getMouseDownHandler(t,e,s){return this.mouseDownHandler}getMouseUpHandler(t,e,s){return this.mouseUpHandler}cursorStyleHandler(t,e,s){return e.cursorStyle}getActionName(t,e,s){return e.actionName}getVisibility(t,e){var s,i;return null!==(s=null===(i=t._controlsVisibility)||void 0===i?void 0:i[e])&&void 0!==s?s:this.visible}setVisibility(t,e,s){this.visible=t}positionHandler(t,e,s,i){return new ot(this.x*t.x+this.offsetX,this.y*t.y+this.offsetY).transform(e)}calcCornerCoords(t,e,s,i,r,n){const o=Ot([Mt(s,i),Pt({angle:t}),Et((r?this.touchSizeX:this.sizeX)||e,(r?this.touchSizeY:this.sizeY)||e)]);return{tl:new ot(-.5,-.5).transform(o),tr:new ot(.5,-.5).transform(o),br:new ot(.5,.5).transform(o),bl:new ot(-.5,.5).transform(o)}}render(t,e,s,i,r){if(\"circle\"===((i=i||{}).cornerStyle||r.cornerStyle))ii.call(this,t,e,s,i,r);else ri.call(this,t,e,s,i,r)}}const oi=(t,e,s)=>s.lockRotation?Ce:e.cursorStyle,ai=ti(I,ei(((t,e,s,i)=>{let{target:r,ex:n,ey:o,theta:a,originX:h,originY:c}=e;const l=r.translateToOriginPoint(r.getRelativeCenterPoint(),h,c);if(we(r,\"lockRotation\"))return!1;const u=Math.atan2(o-l.y,n-l.x),d=Math.atan2(i-l.y,s-l.x);let g=Ct(d-u+a);if(r.snapAngle&&r.snapAngle>0){const t=r.snapAngle,e=r.snapThreshold||t,s=Math.ceil(g/t)*t,i=Math.floor(g/t)*t;Math.abs(g-i)<e?g=i:Math.abs(g-s)<e&&(g=s)}g<0&&(g=360+g),g%=360;const f=r.angle!==g;return r.angle=g,f})));function hi(t,e){const s=e.canvas,i=t[s.uniScaleKey];return s.uniformScaling&&!i||!s.uniformScaling&&i}function ci(t,e,s){const i=we(t,\"lockScalingX\"),r=we(t,\"lockScalingY\");if(i&&r)return!0;if(!e&&(i||r)&&s)return!0;if(i&&\"x\"===e)return!0;if(r&&\"y\"===e)return!0;const{width:n,height:o,strokeWidth:a}=t;return 0===n&&0===a&&\"y\"!==e||0===o&&0===a&&\"x\"!==e}const li=[\"e\",\"se\",\"s\",\"sw\",\"w\",\"nw\",\"n\",\"ne\",\"e\"],ui=(t,e,s)=>{const i=hi(t,s);if(ci(s,0!==e.x&&0===e.y?\"x\":0===e.x&&0!==e.y?\"y\":\"\",i))return Ce;const r=Oe(s,e);return\"\".concat(li[r],\"-resize\")};function di(t,e,s,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};const n=e.target,o=r.by,a=hi(t,n);let h,c,l,u,d,g;if(ci(n,o,a))return!1;if(e.gestureScale)c=e.scaleX*e.gestureScale,l=e.scaleY*e.gestureScale;else{if(h=ke(e,e.originX,e.originY,s,i),d=\"y\"!==o?Math.sign(h.x||e.signX||1):1,g=\"x\"!==o?Math.sign(h.y||e.signY||1):1,e.signX||(e.signX=d),e.signY||(e.signY=g),we(n,\"lockScalingFlip\")&&(e.signX!==d||e.signY!==g))return!1;if(u=n._getTransformedDimensions(),a&&!o){const t=Math.abs(h.x)+Math.abs(h.y),{original:s}=e,i=t/(Math.abs(u.x*s.scaleX/n.scaleX)+Math.abs(u.y*s.scaleY/n.scaleY));c=s.scaleX*i,l=s.scaleY*i}else c=Math.abs(h.x*n.scaleX/u.x),l=Math.abs(h.y*n.scaleY/u.y);be(e)&&(c*=2,l*=2),e.signX!==d&&\"y\"!==o&&(e.originX=Se(e.originX),c*=-1,e.signX=d),e.signY!==g&&\"x\"!==o&&(e.originY=Se(e.originY),l*=-1,e.signY=g)}const f=n.scaleX,p=n.scaleY;return o?(\"x\"===o&&n.set(H,c),\"y\"===o&&n.set(N,l)):(!we(n,\"lockScalingX\")&&n.set(H,c),!we(n,\"lockScalingY\")&&n.set(N,l)),f!==n.scaleX||p!==n.scaleY}const gi=ti(R,ei(((t,e,s,i)=>di(t,e,s,i)))),fi=ti(R,ei(((t,e,s,i)=>di(t,e,s,i,{by:\"x\"})))),pi=ti(R,ei(((t,e,s,i)=>di(t,e,s,i,{by:\"y\"})))),mi=[\"target\",\"ex\",\"ey\",\"skewingSide\"],vi={x:{counterAxis:\"y\",scale:H,skew:U,lockSkewing:\"lockSkewingX\",origin:\"originX\",flip:\"flipX\"},y:{counterAxis:\"x\",scale:N,skew:q,lockSkewing:\"lockSkewingY\",origin:\"originY\",flip:\"flipY\"}},yi=[\"ns\",\"nesw\",\"ew\",\"nwse\"],_i=(t,e,s)=>{if(0!==e.x&&we(s,\"lockSkewingY\"))return Ce;if(0!==e.y&&we(s,\"lockSkewingX\"))return Ce;const i=Oe(s,e)%4;return\"\".concat(yi[i],\"-resize\")};function xi(t,e,r,n,o){const{target:a}=r,{counterAxis:h,origin:c,lockSkewing:l,skew:u,flip:d}=vi[t];if(we(a,l))return!1;const{origin:g,flip:f}=vi[h],p=xe(r[g])*(a[f]?-1:1),m=-Math.sign(p)*(a[d]?-1:1),v=.5*-((0===a[u]&&ke(r,D,D,n,o)[t]>0||a[u]>0?1:-1)*m)+.5,y=ti(X,ei(((e,s,r,n)=>function(t,e,s){let{target:r,ex:n,ey:o,skewingSide:a}=e,h=i(e,mi);const{skew:c}=vi[t],l=s.subtract(new ot(n,o)).divide(new ot(r.scaleX,r.scaleY))[t],u=r[c],d=h[c],g=Math.tan(xt(d)),f=\"y\"===t?r._getTransformedDimensions({scaleX:1,scaleY:1,skewX:0}).x:r._getTransformedDimensions({scaleX:1,scaleY:1}).y,p=2*l*a/Math.max(f,1)+g,m=Ct(Math.atan(p));r.set(c,m);const v=u!==r[c];if(v&&\"y\"===t){const{skewX:t,scaleX:e}=r,s=r._getTransformedDimensions({skewY:u}),i=r._getTransformedDimensions(),n=0!==t?s.x/i.x:1;1!==n&&r.set(H,n*e)}return v}(t,s,new ot(r,n)))));return y(e,s(s({},r),{},{[c]:v,skewingSide:m}),n,o)}const Ci=(t,e,s,i)=>xi(\"x\",t,e,s,i),bi=(t,e,s,i)=>xi(\"y\",t,e,s,i);function Si(t,e){return t[e.canvas.altActionKey]}const wi=(t,e,s)=>{const i=Si(t,s);return 0===e.x?i?U:N:0===e.y?i?q:H:\"\"},Ti=(t,e,s)=>Si(t,s)?_i(0,e,s):ui(t,e,s),Oi=(t,e,s,i)=>Si(t,e.target)?bi(t,e,s,i):fi(t,e,s,i),ki=(t,e,s,i)=>Si(t,e.target)?Ci(t,e,s,i):pi(t,e,s,i),Di=()=>({ml:new ni({x:-.5,y:0,cursorStyleHandler:Ti,actionHandler:Oi,getActionName:wi}),mr:new ni({x:.5,y:0,cursorStyleHandler:Ti,actionHandler:Oi,getActionName:wi}),mb:new ni({x:0,y:.5,cursorStyleHandler:Ti,actionHandler:ki,getActionName:wi}),mt:new ni({x:0,y:-.5,cursorStyleHandler:Ti,actionHandler:ki,getActionName:wi}),tl:new ni({x:-.5,y:-.5,cursorStyleHandler:ui,actionHandler:gi}),tr:new ni({x:.5,y:-.5,cursorStyleHandler:ui,actionHandler:gi}),bl:new ni({x:-.5,y:.5,cursorStyleHandler:ui,actionHandler:gi}),br:new ni({x:.5,y:.5,cursorStyleHandler:ui,actionHandler:gi}),mtr:new ni({x:0,y:-.5,actionHandler:ai,cursorStyleHandler:oi,offsetY:-40,withConnection:!0,actionName:B})}),Mi=()=>({mr:new ni({x:.5,y:0,actionHandler:si,cursorStyleHandler:Ti,actionName:Y}),ml:new ni({x:-.5,y:0,actionHandler:si,cursorStyleHandler:Ti,actionName:Y})}),Pi=()=>s(s({},Di()),Mi());class Ei extends $s{static getDefaults(){return s(s({},super.getDefaults()),Ei.ownDefaults)}constructor(t){super(),Object.assign(this,this.constructor.createControls(),Ei.ownDefaults),this.setOptions(t)}static createControls(){return{controls:Di()}}_updateCacheCanvas(){const t=this.canvas;if(this.noScaleCache&&t&&t._currentTransform){const e=t._currentTransform,s=e.target,i=e.action;if(this===s&&i&&i.startsWith(G))return!1}return super._updateCacheCanvas()}getActiveControl(){const t=this.__corner;return t?{key:t,control:this.controls[t],coord:this.oCoords[t]}:void 0}findControl(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!this.hasControls||!this.canvas)return;this.__corner=void 0;const s=Object.entries(this.oCoords);for(let i=s.length-1;i>=0;i--){const[r,n]=s[i],o=this.controls[r];if(o.shouldActivate(r,this,t,e?n.touchCorner:n.corner))return this.__corner=r,{key:r,control:o,coord:this.oCoords[r]}}}calcOCoords(){const t=this.getViewportTransform(),e=this.getCenterPoint(),s=Mt(e.x,e.y),i=Pt({angle:this.getTotalAngle()-(this.group&&this.flipX?180:0)}),r=Tt(s,i),n=Tt(t,r),o=Tt(n,[1/t[0],0,0,1/t[3],0,0]),a=this.group?Dt(this.calcTransformMatrix()):void 0;a&&(a.scaleX=Math.abs(a.scaleX),a.scaleY=Math.abs(a.scaleY));const h=this._calculateCurrentDimensions(a),c={};return this.forEachControl(((t,e)=>{const s=t.positionHandler(h,o,this,t);c[e]=Object.assign(s,this._calcCornerCoords(t,s))})),c}_calcCornerCoords(t,e){const s=this.getTotalAngle();return{corner:t.calcCornerCoords(s,this.cornerSize,e.x,e.y,!1,this),touchCorner:t.calcCornerCoords(s,this.touchCornerSize,e.x,e.y,!0,this)}}setCoords(){super.setCoords(),this.canvas&&(this.oCoords=this.calcOCoords())}forEachControl(t){for(const e in this.controls)t(this.controls[e],e,this)}drawSelectionBackground(t){if(!this.selectionBackgroundColor||this.canvas&&this.canvas._activeObject!==this)return;t.save();const e=this.getRelativeCenterPoint(),s=this._calculateCurrentDimensions(),i=this.getViewportTransform();t.translate(e.x,e.y),t.scale(1/i[0],1/i[3]),t.rotate(xt(this.angle)),t.fillStyle=this.selectionBackgroundColor,t.fillRect(-s.x/2,-s.y/2,s.x,s.y),t.restore()}strokeBorders(t,e){t.strokeRect(-e.x/2,-e.y/2,e.x,e.y)}_drawBorders(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=s({hasControls:this.hasControls,borderColor:this.borderColor,borderDashArray:this.borderDashArray},i);t.save(),t.strokeStyle=r.borderColor,this._setLineDash(t,r.borderDashArray),this.strokeBorders(t,e),r.hasControls&&this.drawControlsConnectingLines(t,e),t.restore()}_renderControls(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{hasBorders:i,hasControls:r}=this,n=s({hasBorders:i,hasControls:r},e),o=this.getViewportTransform(),a=n.hasBorders,h=n.hasControls,c=Tt(o,this.calcTransformMatrix()),l=Dt(c);t.save(),t.translate(l.translateX,l.translateY),t.lineWidth=this.borderScaleFactor,this.group===this.parent&&(t.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1),this.flipX&&(l.angle-=180),t.rotate(xt(this.group?l.angle:this.angle)),a&&this.drawBorders(t,l,e),h&&this.drawControls(t,e),t.restore()}drawBorders(t,e,s){let i;if(s&&s.forActiveSelection||this.group){const t=ge(this.width,this.height,Lt(e)),s=this.isStrokeAccountedForInDimensions()?at:(this.strokeUniform?(new ot).scalarAdd(this.canvas?this.canvas.getZoom():1):new ot(e.scaleX,e.scaleY)).scalarMultiply(this.strokeWidth);i=t.add(s).scalarAdd(this.borderScaleFactor).scalarAdd(2*this.padding)}else i=this._calculateCurrentDimensions().scalarAdd(this.borderScaleFactor);this._drawBorders(t,i,s)}drawControlsConnectingLines(t,e){let s=!1;t.beginPath(),this.forEachControl(((i,r)=>{i.withConnection&&i.getVisibility(this,r)&&(s=!0,t.moveTo(i.x*e.x,i.y*e.y),t.lineTo(i.x*e.x+i.offsetX,i.y*e.y+i.offsetY))})),s&&t.stroke()}drawControls(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.save();const i=this.getCanvasRetinaScaling(),{cornerStrokeColor:r,cornerDashArray:n,cornerColor:o}=this,a=s({cornerStrokeColor:r,cornerDashArray:n,cornerColor:o},e);t.setTransform(i,0,0,i,0,0),t.strokeStyle=t.fillStyle=a.cornerColor,this.transparentCorners||(t.strokeStyle=a.cornerStrokeColor),this._setLineDash(t,a.cornerDashArray),this.forEachControl(((e,s)=>{if(e.getVisibility(this,s)){const i=this.oCoords[s];e.render(t,i.x,i.y,a,this)}})),t.restore()}isControlVisible(t){return this.controls[t]&&this.controls[t].getVisibility(this,t)}setControlVisible(t,e){this._controlsVisibility||(this._controlsVisibility={}),this._controlsVisibility[t]=e}setControlsVisibility(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.entries(t).forEach((t=>{let[e,s]=t;return this.setControlVisible(e,s)}))}clearContextTop(t){if(!this.canvas)return;const e=this.canvas.contextTop;if(!e)return;const s=this.canvas.viewportTransform;e.save(),e.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this.transform(e);const i=this.width+4,r=this.height+4;return e.clearRect(-i/2,-r/2,i,r),t||e.restore(),e}onDeselect(t){return!1}onSelect(t){return!1}shouldStartDragging(t){return!1}onDragStart(t){return!1}canDrop(t){return!1}renderDragSourceEffect(t){}renderDropTargetEffect(t){}}function Ai(t,e){return e.forEach((e=>{Object.getOwnPropertyNames(e.prototype).forEach((s=>{\"constructor\"!==s&&Object.defineProperty(t.prototype,s,Object.getOwnPropertyDescriptor(e.prototype,s)||Object.create(null))}))})),t}t(Ei,\"ownDefaults\",{noScaleCache:!0,lockMovementX:!1,lockMovementY:!1,lockRotation:!1,lockScalingX:!1,lockScalingY:!1,lockSkewingX:!1,lockSkewingY:!1,lockScalingFlip:!1,cornerSize:13,touchCornerSize:24,transparentCorners:!0,cornerColor:\"rgb(178,204,255)\",cornerStrokeColor:\"\",cornerStyle:\"rect\",cornerDashArray:null,hasControls:!0,borderColor:\"rgb(178,204,255)\",borderDashArray:null,borderOpacityWhenMoving:.4,borderScaleFactor:1,hasBorders:!0,selectionBackgroundColor:\"\",selectable:!0,evented:!0,perPixelTargetFind:!1,activeOn:\"down\",hoverCursor:null,moveCursor:null});class ji extends Ei{}Ai(ji,[Xe]),tt.setClass(ji),tt.setClass(ji,\"object\");const Fi=(t,e,s,i)=>{const r=2*(i=Math.round(i))+1,{data:n}=t.getImageData(e-i,s-i,r,r);for(let t=3;t<n.length;t+=4){if(n[t]>0)return!1}return!0};class Li{constructor(t){this.options=t,this.strokeProjectionMagnitude=this.options.strokeWidth/2,this.scale=new ot(this.options.scaleX,this.options.scaleY),this.strokeUniformScalar=this.options.strokeUniform?new ot(1/this.options.scaleX,1/this.options.scaleY):new ot(1,1)}createSideVector(t,e){const s=ps(t,e);return this.options.strokeUniform?s.multiply(this.scale):s}projectOrthogonally(t,e,s){return this.applySkew(t.add(this.calcOrthogonalProjection(t,e,s)))}isSkewed(){return 0!==this.options.skewX||0!==this.options.skewY}applySkew(t){const e=new ot(t);return e.y+=e.x*Math.tan(xt(this.options.skewY)),e.x+=e.y*Math.tan(xt(this.options.skewX)),e}scaleUnitVector(t,e){return t.multiply(this.strokeUniformScalar).scalarMultiply(e)}}const Ri=new ot;class Ii extends Li{static getOrthogonalRotationFactor(t,e){const s=e?vs(t,e):ys(t);return Math.abs(s)<b?-1:1}constructor(e,s,i,r){super(r),t(this,\"AB\",void 0),t(this,\"AC\",void 0),t(this,\"alpha\",void 0),t(this,\"bisector\",void 0),this.A=new ot(e),this.B=new ot(s),this.C=new ot(i),this.AB=this.createSideVector(this.A,this.B),this.AC=this.createSideVector(this.A,this.C),this.alpha=vs(this.AB,this.AC),this.bisector=_s(fs(this.AB.eq(Ri)?this.AC:this.AB,this.alpha/2))}calcOrthogonalProjection(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.strokeProjectionMagnitude;const i=this.createSideVector(t,e),r=xs(i),n=Ii.getOrthogonalRotationFactor(r,this.bisector);return this.scaleUnitVector(r,s*n)}projectBevel(){const t=[];return(this.alpha%S==0?[this.B]:[this.B,this.C]).forEach((e=>{t.push(this.projectOrthogonally(this.A,e)),t.push(this.projectOrthogonally(this.A,e,-this.strokeProjectionMagnitude))})),t}projectMiter(){const t=[],e=Math.abs(this.alpha),s=1/Math.sin(e/2),i=this.scaleUnitVector(this.bisector,-this.strokeProjectionMagnitude*s),r=this.options.strokeUniform?ms(this.scaleUnitVector(this.bisector,this.options.strokeMiterLimit)):this.options.strokeMiterLimit;return ms(i)/this.strokeProjectionMagnitude<=r&&t.push(this.applySkew(this.A.add(i))),t.push(...this.projectBevel()),t}projectRoundNoSkew(t,e){const s=[],i=new ot(Ii.getOrthogonalRotationFactor(this.bisector),Ii.getOrthogonalRotationFactor(new ot(this.bisector.y,this.bisector.x)));return[new ot(1,0).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar).multiply(i),new ot(0,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar).multiply(i)].forEach((i=>{Ss(i,t,e)&&s.push(this.A.add(i))})),s}projectRoundWithSkew(t,e){const s=[],{skewX:i,skewY:r,scaleX:n,scaleY:o,strokeUniform:a}=this.options,h=new ot(Math.tan(xt(i)),Math.tan(xt(r))),c=this.strokeProjectionMagnitude,l=a?c/o/Math.sqrt(1/o**2+1/n**2*h.y**2):c/Math.sqrt(1+h.y**2),u=new ot(Math.sqrt(Math.max(c**2-l**2,0)),l),d=a?c/Math.sqrt(1+h.x**2*(1/o)**2/(1/n+1/n*h.x*h.y)**2):c/Math.sqrt(1+h.x**2/(1+h.x*h.y)**2),g=new ot(d,Math.sqrt(Math.max(c**2-d**2,0)));return[g,g.scalarMultiply(-1),u,u.scalarMultiply(-1)].map((t=>this.applySkew(a?t.multiply(this.strokeUniformScalar):t))).forEach((i=>{Ss(i,t,e)&&s.push(this.applySkew(this.A).add(i))})),s}projectRound(){const t=[];t.push(...this.projectBevel());const e=this.alpha%S==0,s=this.applySkew(this.A),i=t[e?0:2].subtract(s),r=t[e?1:0].subtract(s),n=e?this.applySkew(this.AB.scalarMultiply(-1)):this.applySkew(this.bisector.multiply(this.strokeUniformScalar).scalarMultiply(-1)),o=Cs(i,n)>0,a=o?i:r,h=o?r:i;return this.isSkewed()?t.push(...this.projectRoundWithSkew(a,h)):t.push(...this.projectRoundNoSkew(a,h)),t}projectPoints(){switch(this.options.strokeLineJoin){case\"miter\":return this.projectMiter();case\"round\":return this.projectRound();default:return this.projectBevel()}}project(){return this.projectPoints().map((t=>({originPoint:this.A,projectedPoint:t,angle:this.alpha,bisector:this.bisector})))}}class Bi extends Li{constructor(t,e,s){super(s),this.A=new ot(t),this.T=new ot(e)}calcOrthogonalProjection(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.strokeProjectionMagnitude;const i=this.createSideVector(t,e);return this.scaleUnitVector(xs(i),s)}projectButt(){return[this.projectOrthogonally(this.A,this.T,this.strokeProjectionMagnitude),this.projectOrthogonally(this.A,this.T,-this.strokeProjectionMagnitude)]}projectRound(){const t=[];if(!this.isSkewed()&&this.A.eq(this.T)){const e=new ot(1,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar);t.push(this.applySkew(this.A.add(e)),this.applySkew(this.A.subtract(e)))}else t.push(...new Ii(this.A,this.T,this.T,this.options).projectRound());return t}projectSquare(){const t=[];if(this.A.eq(this.T)){const e=new ot(1,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar);t.push(this.A.add(e),this.A.subtract(e))}else{const e=this.calcOrthogonalProjection(this.A,this.T,this.strokeProjectionMagnitude),s=this.scaleUnitVector(_s(this.createSideVector(this.A,this.T)),-this.strokeProjectionMagnitude),i=this.A.add(s);t.push(i.add(e),i.subtract(e))}return t.map((t=>this.applySkew(t)))}projectPoints(){switch(this.options.strokeLineCap){case\"round\":return this.projectRound();case\"square\":return this.projectSquare();default:return this.projectButt()}}project(){return this.projectPoints().map((t=>({originPoint:this.A,projectedPoint:t})))}}const Xi=function(t,e){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const i=[];if(0===t.length)return i;const r=t.reduce(((t,e)=>(t[t.length-1].eq(e)||t.push(new ot(e)),t)),[new ot(t[0])]);if(1===r.length)s=!0;else if(!s){const t=r[0],e=((t,e)=>{for(let s=t.length-1;s>=0;s--)if(e(t[s],s,t))return s;return-1})(r,(e=>!e.eq(t)));r.splice(e+1)}return r.forEach(((t,r,n)=>{let o,a;0===r?(a=n[1],o=s?t:n[n.length-1]):r===n.length-1?(o=n[r-1],a=s?t:n[0]):(o=n[r-1],a=n[r+1]),s&&1===n.length?i.push(...new Bi(t,t,e).project()):!s||0!==r&&r!==n.length-1?i.push(...new Ii(t,o,a,e).project()):i.push(...new Bi(t,0===r?a:o,e).project())})),i},Yi=t=>{const e={};return Object.keys(t).forEach((i=>{e[i]={},Object.keys(t[i]).forEach((r=>{e[i][r]=s({},t[i][r])}))})),e},Wi=t=>t.replace(/&/g,\"&amp;\").replace(/\"/g,\"&quot;\").replace(/'/g,\"&apos;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\");let Vi;const zi=t=>{if(Vi||Vi||(Vi=\"Intl\"in v()&&\"Segmenter\"in Intl&&new Intl.Segmenter(void 0,{granularity:\"grapheme\"})),Vi){const e=Vi.segment(t);return Array.from(e).map((t=>{let{segment:e}=t;return e}))}return Gi(t)},Gi=t=>{const e=[];for(let s,i=0;i<t.length;i++)!1!==(s=Hi(t,i))&&e.push(s);return e},Hi=(t,e)=>{const s=t.charCodeAt(e);if(isNaN(s))return\"\";if(s<55296||s>57343)return t.charAt(e);if(55296<=s&&s<=56319){if(t.length<=e+1)throw\"High surrogate without following low surrogate\";const s=t.charCodeAt(e+1);if(56320>s||s>57343)throw\"High surrogate without following low surrogate\";return t.charAt(e)+t.charAt(e+1)}if(0===e)throw\"Low surrogate without preceding high surrogate\";const i=t.charCodeAt(e-1);if(55296>i||i>56319)throw\"Low surrogate without preceding high surrogate\";return!1};var Ni=Object.freeze({__proto__:null,capitalize:function(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return\"\".concat(t.charAt(0).toUpperCase()).concat(e?t.slice(1):t.slice(1).toLowerCase())},escapeXml:Wi,graphemeSplit:zi});const Ui=function(t,e){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return t.fill!==e.fill||t.stroke!==e.stroke||t.strokeWidth!==e.strokeWidth||t.fontSize!==e.fontSize||t.fontFamily!==e.fontFamily||t.fontWeight!==e.fontWeight||t.fontStyle!==e.fontStyle||t.textDecorationThickness!==e.textDecorationThickness||t.textBackgroundColor!==e.textBackgroundColor||t.deltaY!==e.deltaY||s&&(t.overline!==e.overline||t.underline!==e.underline||t.linethrough!==e.linethrough)},qi=(t,e)=>{const s=e.split(\"\\n\"),i=[];let r=-1,n={};t=Yi(t);for(let e=0;e<s.length;e++){const o=zi(s[e]);if(t[e])for(let s=0;s<o.length;s++){r++;const o=t[e][s];o&&Object.keys(o).length>0&&(Ui(n,o,!0)?i.push({start:r,end:r+1,style:o}):i[i.length-1].end++),n=o||{}}else r+=o.length,n={}}return i},Ki=(t,e)=>{if(!Array.isArray(t))return Yi(t);const i=e.split(F),r={};let n=-1,o=0;for(let e=0;e<i.length;e++){const a=zi(i[e]);for(let i=0;i<a.length;i++)n++,t[o]&&t[o].start<=n&&n<t[o].end&&(r[e]=r[e]||{},r[e][i]=s({},t[o].style),n===t[o].end-1&&o++)}return r},Ji=[\"display\",\"transform\",K,\"fill-opacity\",\"fill-rule\",\"opacity\",J,\"stroke-dasharray\",\"stroke-linecap\",\"stroke-dashoffset\",\"stroke-linejoin\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke-width\",\"id\",\"paint-order\",\"vector-effect\",\"instantiated_by_use\",\"clip-path\"];function Qi(t,e){const s=t.nodeName,i=t.getAttribute(\"class\"),r=t.getAttribute(\"id\"),n=\"(?![a-zA-Z\\\\-]+)\";let o;if(o=new RegExp(\"^\"+s,\"i\"),e=e.replace(o,\"\"),r&&e.length&&(o=new RegExp(\"#\"+r+n,\"i\"),e=e.replace(o,\"\")),i&&e.length){const t=i.split(\" \");for(let s=t.length;s--;)o=new RegExp(\"\\\\.\"+t[s]+n,\"i\"),e=e.replace(o,\"\")}return 0===e.length}function Zi(t,e){let s=!0;const i=Qi(t,e.pop());return i&&e.length&&(s=function(t,e){let s,i=!0;for(;t.parentElement&&1===t.parentElement.nodeType&&e.length;)i&&(s=e.pop()),i=Qi(t=t.parentElement,s);return 0===e.length}(t,e)),i&&s&&0===e.length}const $i=t=>{var e;return null!==(e=ns[t])&&void 0!==e?e:t},tr=new RegExp(\"(\".concat(es,\")\"),\"gi\"),er=t=>t.replace(tr,\" $1 \").replace(/,/gi,\" \").replace(/\\s+/gi,\" \");var sr,ir,rr,nr,or,ar,hr;const cr=\"(\".concat(es,\")\"),lr=String.raw(sr||(sr=r([\"(skewX)(\",\")\"],[\"(skewX)\\\\(\",\"\\\\)\"])),cr),ur=String.raw(ir||(ir=r([\"(skewY)(\",\")\"],[\"(skewY)\\\\(\",\"\\\\)\"])),cr),dr=String.raw(rr||(rr=r([\"(rotate)(\",\"(?: \",\" \",\")?)\"],[\"(rotate)\\\\(\",\"(?: \",\" \",\")?\\\\)\"])),cr,cr,cr),gr=String.raw(nr||(nr=r([\"(scale)(\",\"(?: \",\")?)\"],[\"(scale)\\\\(\",\"(?: \",\")?\\\\)\"])),cr,cr),fr=String.raw(or||(or=r([\"(translate)(\",\"(?: \",\")?)\"],[\"(translate)\\\\(\",\"(?: \",\")?\\\\)\"])),cr,cr),pr=String.raw(ar||(ar=r([\"(matrix)(\",\" \",\" \",\" \",\" \",\" \",\")\"],[\"(matrix)\\\\(\",\" \",\" \",\" \",\" \",\" \",\"\\\\)\"])),cr,cr,cr,cr,cr,cr),mr=\"(?:\".concat(pr,\"|\").concat(fr,\"|\").concat(dr,\"|\").concat(gr,\"|\").concat(lr,\"|\").concat(ur,\")\"),vr=\"(?:\".concat(mr,\"*)\"),yr=String.raw(hr||(hr=r([\"^s*(?:\",\"?)s*$\"],[\"^\\\\s*(?:\",\"?)\\\\s*$\"])),vr),_r=new RegExp(yr),xr=new RegExp(mr),Cr=new RegExp(mr,\"g\");function br(t){const e=[];if(!(t=er(t).replace(/\\s*([()])\\s*/gi,\"$1\"))||t&&!_r.test(t))return[...T];for(const s of t.matchAll(Cr)){const t=xr.exec(s[0]);if(!t)continue;let i=T;const r=t.filter((t=>!!t)),[,n,...o]=r,[a,h,c,l,u,d]=o.map((t=>parseFloat(t)));switch(n){case\"translate\":i=Mt(a,h);break;case B:i=Pt({angle:a},{x:h,y:c});break;case G:i=Et(a,h);break;case U:i=jt(a);break;case q:i=Ft(a);break;case\"matrix\":i=[a,h,c,l,u,d]}e.push(i)}return Ot(e)}function Sr(t,e,s,i){const r=Array.isArray(e);let n,o=e;if(t!==K&&t!==J||e!==j){if(\"strokeUniform\"===t)return\"non-scaling-stroke\"===e;if(\"strokeDashArray\"===t)o=e===j?null:e.replace(/,/g,\" \").split(/\\s+/).map(parseFloat);else if(\"transformMatrix\"===t)o=s&&s.transformMatrix?Tt(s.transformMatrix,br(e)):br(e);else if(\"visible\"===t)o=e!==j&&\"hidden\"!==e,s&&!1===s.visible&&(o=!1);else if(\"opacity\"===t)o=parseFloat(e),s&&void 0!==s.opacity&&(o*=s.opacity);else if(\"textAnchor\"===t)o=\"start\"===e?M:\"end\"===e?A:D;else if(\"charSpacing\"===t||t===We)n=Re(e,i)/i*1e3;else if(\"paintFirst\"===t){const t=e.indexOf(K),s=e.indexOf(J);o=K,(t>-1&&s>-1&&s<t||-1===t&&s>-1)&&(o=J)}else{if(\"href\"===t||\"xlink:href\"===t||\"font\"===t||\"id\"===t)return e;if(\"imageSmoothing\"===t)return\"optimizeQuality\"===e;n=r?e.map(Re):Re(e,i)}}else o=\"\";return!r&&isNaN(n)?o:n}function wr(t,e){const s=t.match(rs);if(!s)return;const i=s[1],r=s[3],n=s[4],o=s[5],a=s[6];i&&(e.fontStyle=i),r&&(e.fontWeight=isNaN(parseFloat(r))?r:parseFloat(r)),n&&(e.fontSize=Re(n)),a&&(e.fontFamily=a),o&&(e.lineHeight=\"normal\"===o?1:o)}function Tr(t,e){t.replace(/;\\s*$/,\"\").split(\";\").forEach((t=>{if(!t)return;const[s,i]=t.split(\":\");e[s.trim().toLowerCase()]=i.trim()}))}function Or(t){const e={},s=t.getAttribute(\"style\");return s?(\"string\"==typeof s?Tr(s,e):function(t,e){Object.entries(t).forEach((t=>{let[s,i]=t;void 0!==i&&(e[s.toLowerCase()]=i)}))}(s,e),e):e}const kr={stroke:\"strokeOpacity\",fill:\"fillOpacity\"};function Dr(t,e,i){if(!t)return{};let r,n={},o=O;t.parentNode&&ls.test(t.parentNode.nodeName)&&(n=Dr(t.parentElement,e,i),n.fontSize&&(r=o=Re(n.fontSize)));const a=s(s(s({},e.reduce(((e,s)=>{const i=t.getAttribute(s);return i&&(e[s]=i),e}),{})),function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i={};for(const r in e)Zi(t,r.split(\" \"))&&(i=s(s({},i),e[r]));return i}(t,i)),Or(t));a[as]&&t.setAttribute(as,a[as]),a[os]&&(r=Re(a[os],o),a[os]=\"\".concat(r));const h={};for(const t in a){const e=$i(t),s=Sr(e,a[t],n,r);h[e]=s}h&&h.font&&wr(h.font,h);const c=s(s({},n),h);return ls.test(t.nodeName)?c:function(t){const e=ji.getDefaults();return Object.entries(kr).forEach((s=>{let[i,r]=s;if(void 0===t[r]||\"\"===t[i])return;if(void 0===t[i]){if(!e[i])return;t[i]=e[i]}if(0===t[i].indexOf(\"url(\"))return;const n=new Le(t[i]);t[i]=n.setAlpha(Vt(n.getAlpha()*t[r],2)).toRgba()})),t}(c)}const Mr=[\"left\",\"top\",\"width\",\"height\",\"visible\"],Pr=[\"rx\",\"ry\"];class Er extends ji{static getDefaults(){return s(s({},super.getDefaults()),Er.ownDefaults)}constructor(t){super(),Object.assign(this,Er.ownDefaults),this.setOptions(t),this._initRxRy()}_initRxRy(){const{rx:t,ry:e}=this;t&&!e?this.ry=t:e&&!t&&(this.rx=e)}_render(t){const{width:e,height:s}=this,i=-e/2,r=-s/2,n=this.rx?Math.min(this.rx,e/2):0,o=this.ry?Math.min(this.ry,s/2):0,a=0!==n||0!==o;t.beginPath(),t.moveTo(i+n,r),t.lineTo(i+e-n,r),a&&t.bezierCurveTo(i+e-k*n,r,i+e,r+k*o,i+e,r+o),t.lineTo(i+e,r+s-o),a&&t.bezierCurveTo(i+e,r+s-k*o,i+e-k*n,r+s,i+e-n,r+s),t.lineTo(i+n,r+s),a&&t.bezierCurveTo(i+k*n,r+s,i,r+s-k*o,i,r+s-o),t.lineTo(i,r+o),a&&t.bezierCurveTo(i,r+k*o,i+k*n,r,i+n,r),t.closePath(),this._renderPaintInOrder(t)}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject([...Pr,...t])}_toSVG(){const{width:t,height:e,rx:s,ry:i}=this;return[\"<rect \",\"COMMON_PARTS\",'x=\"'.concat(-t/2,'\" y=\"').concat(-e/2,'\" rx=\"').concat(s,'\" ry=\"').concat(i,'\" width=\"').concat(t,'\" height=\"').concat(e,'\" />\\n')]}static async fromElement(t,e,r){const n=Dr(t,this.ATTRIBUTE_NAMES,r),{left:o=0,top:a=0,width:h=0,height:c=0,visible:l=!0}=n,u=i(n,Mr);return new this(s(s(s({},e),u),{},{left:o,top:a,width:h,height:c,visible:Boolean(l&&h&&c)}))}}t(Er,\"type\",\"Rect\"),t(Er,\"cacheProperties\",[...Ms,...Pr]),t(Er,\"ownDefaults\",{rx:0,ry:0}),t(Er,\"ATTRIBUTE_NAMES\",[...Ji,\"x\",\"y\",\"rx\",\"ry\",\"width\",\"height\"]),tt.setClass(Er),tt.setSVGClass(Er);const Ar=\"initialization\",jr=\"added\",Fr=\"removed\",Lr=\"imperative\",Rr=(t,e)=>{const{strokeUniform:s,strokeWidth:i,width:r,height:n,group:o}=e,a=o&&o!==t?fe(o.calcTransformMatrix(),t.calcTransformMatrix()):null,h=a?e.getRelativeCenterPoint().transform(a):e.getRelativeCenterPoint(),c=!e.isStrokeAccountedForInDimensions(),l=s&&c?me(new ot(i,i),void 0,t.calcTransformMatrix()):at,u=!s&&c?i:0,d=ge(r+u,n+u,Ot([a,e.calcOwnMatrix()],!0)).add(l).scalarDivide(2);return[h.subtract(d),h.add(d)]};class Ir{calcLayoutResult(t,e){if(this.shouldPerformLayout(t))return this.calcBoundingBox(e,t)}shouldPerformLayout(t){let{type:e,prevStrategy:s,strategy:i}=t;return e===Ar||e===Lr||!!s&&i!==s}shouldLayoutClipPath(t){let{type:e,target:{clipPath:s}}=t;return e!==Ar&&s&&!s.absolutePositioned}getInitialSize(t,e){return e.size}calcBoundingBox(t,e){const{type:s,target:i}=e;if(s===Lr&&e.overrides)return e.overrides;if(0===t.length)return;const{left:r,top:n,width:o,height:a}=ae(t.map((t=>Rr(i,t))).reduce(((t,e)=>t.concat(e)),[])),h=new ot(o,a),c=new ot(r,n).add(h.scalarDivide(2));if(s===Ar){const t=this.getInitialSize(e,{size:h,center:c});return{center:c,relativeCorrection:new ot(0,0),size:t}}return{center:c.transform(i.calcOwnMatrix()),size:h}}}t(Ir,\"type\",\"strategy\");class Br extends Ir{shouldPerformLayout(t){return!0}}t(Br,\"type\",\"fit-content\"),tt.setClass(Br);const Xr=[\"strategy\"],Yr=[\"target\",\"strategy\",\"bubbles\",\"prevStrategy\"],Wr=\"layoutManager\";class Vr{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Br;t(this,\"strategy\",void 0),this.strategy=e,this._subscriptions=new Map}performLayout(t){const e=s(s({bubbles:!0,strategy:this.strategy},t),{},{prevStrategy:this._prevLayoutStrategy,stopPropagation(){this.bubbles=!1}});this.onBeforeLayout(e);const i=this.getLayoutResult(e);i&&this.commitLayout(e,i),this.onAfterLayout(e,i),this._prevLayoutStrategy=e.strategy}attachHandlers(t,e){const{target:s}=e;return[Q,L,Y,I,R,X,z,W,V].map((e=>t.on(e,(t=>this.performLayout(e===Q?{type:\"object_modified\",trigger:e,e:t,target:s}:{type:\"object_modifying\",trigger:e,e:t,target:s})))))}subscribe(t,e){this.unsubscribe(t,e);const s=this.attachHandlers(t,e);this._subscriptions.set(t,s)}unsubscribe(t,e){(this._subscriptions.get(t)||[]).forEach((t=>t())),this._subscriptions.delete(t)}unsubscribeTargets(t){t.targets.forEach((e=>this.unsubscribe(e,t)))}subscribeTargets(t){t.targets.forEach((e=>this.subscribe(e,t)))}onBeforeLayout(t){const{target:e,type:r}=t,{canvas:n}=e;if(r===Ar||r===jr?this.subscribeTargets(t):r===Fr&&this.unsubscribeTargets(t),e.fire(\"layout:before\",{context:t}),n&&n.fire(\"object:layout:before\",{target:e,context:t}),r===Lr&&t.deep){const r=i(t,Xr);e.forEachObject((t=>t.layoutManager&&t.layoutManager.performLayout(s(s({},r),{},{bubbles:!1,target:t}))))}}getLayoutResult(t){const{target:e,strategy:s,type:i}=t,r=s.calcLayoutResult(t,e.getObjects());if(!r)return;const n=i===Ar?new ot:e.getRelativeCenterPoint(),{center:o,correction:a=new ot,relativeCorrection:h=new ot}=r,c=n.subtract(o).add(a).transform(i===Ar?T:wt(e.calcOwnMatrix()),!0).add(h);return{result:r,prevCenter:n,nextCenter:o,offset:c}}commitLayout(t,e){const{target:s}=t,{result:{size:i},nextCenter:r}=e;var n,o;(s.set({width:i.x,height:i.y}),this.layoutObjects(t,e),t.type===Ar)?s.set({left:null!==(n=t.x)&&void 0!==n?n:r.x+i.x*xe(s.originX),top:null!==(o=t.y)&&void 0!==o?o:r.y+i.y*xe(s.originY)}):(s.setPositionByOrigin(r,D,D),s.setCoords(),s.set(\"dirty\",!0))}layoutObjects(t,e){const{target:s}=t;s.forEachObject((i=>{i.group===s&&this.layoutObject(t,e,i)})),t.strategy.shouldLayoutClipPath(t)&&this.layoutObject(t,e,s.clipPath)}layoutObject(t,e,s){let{offset:i}=e;s.set({left:s.left+i.x,top:s.top+i.y})}onAfterLayout(t,e){const{target:r,strategy:n,bubbles:o,prevStrategy:a}=t,h=i(t,Yr),{canvas:c}=r;r.fire(\"layout:after\",{context:t,result:e}),c&&c.fire(\"object:layout:after\",{context:t,result:e,target:r});const l=r.parent;o&&null!=l&&l.layoutManager&&((h.path||(h.path=[])).push(r),l.layoutManager.performLayout(s(s({},h),{},{target:l}))),r.set(\"dirty\",!0)}dispose(){const{_subscriptions:t}=this;t.forEach((t=>t.forEach((t=>t())))),t.clear()}toObject(){return{type:Wr,strategy:this.strategy.constructor.type}}toJSON(){return this.toObject()}}tt.setClass(Vr,Wr);const zr=[\"type\",\"objects\",\"layoutManager\"];class Gr extends Vr{performLayout(){}}class Hr extends(ct(ji)){static getDefaults(){return s(s({},super.getDefaults()),Hr.ownDefaults)}constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),t(this,\"_activeObjects\",[]),t(this,\"__objectSelectionTracker\",void 0),t(this,\"__objectSelectionDisposer\",void 0),Object.assign(this,Hr.ownDefaults),this.setOptions(s),this.groupInit(e,s)}groupInit(t,e){var s;this._objects=[...t],this.__objectSelectionTracker=this.__objectSelectionMonitor.bind(this,!0),this.__objectSelectionDisposer=this.__objectSelectionMonitor.bind(this,!1),this.forEachObject((t=>{this.enterGroup(t,!1)})),this.layoutManager=null!==(s=e.layoutManager)&&void 0!==s?s:new Vr,this.layoutManager.performLayout({type:Ar,target:this,targets:[...t],x:e.left,y:e.top})}canEnterGroup(t){return t===this||this.isDescendantOf(t)?(a(\"error\",\"Group: circular object trees are not supported, this call has no effect\"),!1):-1===this._objects.indexOf(t)||(a(\"error\",\"Group: duplicate objects are not supported inside group, this call has no effect\"),!1)}_filterObjectsBeforeEnteringGroup(t){return t.filter(((t,e,s)=>this.canEnterGroup(t)&&s.indexOf(t)===e))}add(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];const i=this._filterObjectsBeforeEnteringGroup(e),r=super.add(...i);return this._onAfterObjectsChange(jr,i),r}insertAt(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];const r=this._filterObjectsBeforeEnteringGroup(s),n=super.insertAt(t,...r);return this._onAfterObjectsChange(jr,r),n}remove(){const t=super.remove(...arguments);return this._onAfterObjectsChange(Fr,t),t}_onObjectAdded(t){this.enterGroup(t,!0),this.fire(\"object:added\",{target:t}),t.fire(\"added\",{target:this})}_onObjectRemoved(t,e){this.exitGroup(t,e),this.fire(\"object:removed\",{target:t}),t.fire(\"removed\",{target:this})}_onAfterObjectsChange(t,e){this.layoutManager.performLayout({type:t,targets:e,target:this})}_onStackOrderChanged(){this._set(\"dirty\",!0)}_set(t,e){const s=this[t];return super._set(t,e),\"canvas\"===t&&s!==e&&(this._objects||[]).forEach((s=>{s._set(t,e)})),this}_shouldSetNestedCoords(){return this.subTargetCheck}removeAll(){return this._activeObjects=[],this.remove(...this._objects)}__objectSelectionMonitor(t,e){let{target:s}=e;const i=this._activeObjects;if(t)i.push(s),this._set(\"dirty\",!0);else if(i.length>0){const t=i.indexOf(s);t>-1&&(i.splice(t,1),this._set(\"dirty\",!0))}}_watchObject(t,e){t&&this._watchObject(!1,e),t?(e.on(\"selected\",this.__objectSelectionTracker),e.on(\"deselected\",this.__objectSelectionDisposer)):(e.off(\"selected\",this.__objectSelectionTracker),e.off(\"deselected\",this.__objectSelectionDisposer))}enterGroup(t,e){t.group&&t.group.remove(t),t._set(\"parent\",this),this._enterGroup(t,e)}_enterGroup(t,e){e&&le(t,Tt(wt(this.calcTransformMatrix()),t.calcTransformMatrix())),this._shouldSetNestedCoords()&&t.setCoords(),t._set(\"group\",this),t._set(\"canvas\",this.canvas),this._watchObject(!0,t);const s=this.canvas&&this.canvas.getActiveObject&&this.canvas.getActiveObject();s&&(s===t||t.isDescendantOf(s))&&this._activeObjects.push(t)}exitGroup(t,e){this._exitGroup(t,e),t._set(\"parent\",void 0),t._set(\"canvas\",void 0)}_exitGroup(t,e){t._set(\"group\",void 0),e||(le(t,Tt(this.calcTransformMatrix(),t.calcTransformMatrix())),t.setCoords()),this._watchObject(!1,t);const s=this._activeObjects.length>0?this._activeObjects.indexOf(t):-1;s>-1&&this._activeObjects.splice(s,1)}shouldCache(){const t=ji.prototype.shouldCache.call(this);if(t)for(let t=0;t<this._objects.length;t++)if(this._objects[t].willDrawShadow())return this.ownCaching=!1,!1;return t}willDrawShadow(){if(super.willDrawShadow())return!0;for(let t=0;t<this._objects.length;t++)if(this._objects[t].willDrawShadow())return!0;return!1}isOnACache(){return this.ownCaching||!!this.parent&&this.parent.isOnACache()}drawObject(t,e,s){this._renderBackground(t);for(let e=0;e<this._objects.length;e++){var i;const s=this._objects[e];null!==(i=this.canvas)&&void 0!==i&&i.preserveObjectStacking&&s.group!==this?(t.save(),t.transform(...wt(this.calcTransformMatrix())),s.render(t),t.restore()):s.group===this&&s.render(t)}this._drawClipPath(t,this.clipPath,s)}setCoords(){super.setCoords(),this._shouldSetNestedCoords()&&this.forEachObject((t=>t.setCoords()))}triggerLayout(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.layoutManager.performLayout(s({target:this,type:Lr},t))}render(t){this._transformDone=!0,super.render(t),this._transformDone=!1}__serializeObjects(t,e){const s=this.includeDefaultValues;return this._objects.filter((function(t){return!t.excludeFromExport})).map((function(i){const r=i.includeDefaultValues;i.includeDefaultValues=s;const n=i[t||\"toObject\"](e);return i.includeDefaultValues=r,n}))}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const e=this.layoutManager.toObject();return s(s(s({},super.toObject([\"subTargetCheck\",\"interactive\",...t])),\"fit-content\"!==e.strategy||this.includeDefaultValues?{layoutManager:e}:{}),{},{objects:this.__serializeObjects(\"toObject\",t)})}toString(){return\"#<Group: (\".concat(this.complexity(),\")>\")}dispose(){this.layoutManager.unsubscribeTargets({targets:this.getObjects(),target:this}),this._activeObjects=[],this.forEachObject((t=>{this._watchObject(!1,t),t.dispose()})),super.dispose()}_createSVGBgRect(t){if(!this.backgroundColor)return\"\";const e=Er.prototype._toSVG.call(this),s=e.indexOf(\"COMMON_PARTS\");e[s]='for=\"group\" ';const i=e.join(\"\");return t?t(i):i}_toSVG(t){const e=[\"<g \",\"COMMON_PARTS\",\" >\\n\"],s=this._createSVGBgRect(t);s&&e.push(\"\\t\\t\",s);for(let s=0;s<this._objects.length;s++)e.push(\"\\t\\t\",this._objects[s].toSVG(t));return e.push(\"</g>\\n\"),e}getSvgStyles(){const t=void 0!==this.opacity&&1!==this.opacity?\"opacity: \".concat(this.opacity,\";\"):\"\",e=this.visible?\"\":\" visibility: hidden;\";return[t,this.getSvgFilter(),e].join(\"\")}toClipPathSVG(t){const e=[],s=this._createSVGBgRect(t);s&&e.push(\"\\t\",s);for(let s=0;s<this._objects.length;s++)e.push(\"\\t\",this._objects[s].toClipPathSVG(t));return this._createBaseClipPathSVGMarkup(e,{reviver:t})}static fromObject(t,e){let{type:r,objects:n=[],layoutManager:o}=t,a=i(t,zr);return Promise.all([Bt(n,e),Xt(a,e)]).then((t=>{let[e,i]=t;const r=new this(e,s(s(s({},a),i),{},{layoutManager:new Gr}));if(o){const t=tt.getClass(o.type),e=tt.getClass(o.strategy);r.layoutManager=new t(new e)}else r.layoutManager=new Vr;return r.layoutManager.subscribeTargets({type:Ar,target:r,targets:r.getObjects()}),r.setCoords(),r}))}}t(Hr,\"type\",\"Group\"),t(Hr,\"ownDefaults\",{strokeWidth:0,subTargetCheck:!1,interactive:!1}),tt.setClass(Hr);const Nr=(t,e)=>Math.min(e.width/t.width,e.height/t.height),Ur=(t,e)=>Math.max(e.width/t.width,e.height/t.height),qr=\"\\\\s*,?\\\\s*\",Kr=\"\".concat(qr,\"(\").concat(es,\")\"),Jr=\"\".concat(Kr).concat(Kr).concat(Kr).concat(qr,\"([01])\").concat(qr,\"([01])\").concat(Kr).concat(Kr),Qr={m:\"l\",M:\"L\"},Zr=(t,e,s,i,r,n,o,a,h,c,l)=>{const u=rt(t),d=nt(t),g=rt(e),f=nt(e),p=s*r*g-i*n*f+o,m=i*r*g+s*n*f+a;return[\"C\",c+h*(-s*r*d-i*n*u),l+h*(-i*r*d+s*n*u),p+h*(s*r*f+i*n*g),m+h*(i*r*f-s*n*g),p,m]},$r=(t,e,s,i)=>{const r=Math.atan2(e,t),n=Math.atan2(i,s);return n>=r?n-r:2*Math.PI-(r-n)};function tn(t,e,s,i,r,n,a,h){let c;if(o.cachesBoundsOfCurve&&(c=[...arguments].join(),_.boundsOfCurveCache[c]))return _.boundsOfCurveCache[c];const l=Math.sqrt,u=Math.abs,d=[],g=[[0,0],[0,0]];let f=6*t-12*s+6*r,p=-3*t+9*s-9*r+3*a,m=3*s-3*t;for(let t=0;t<2;++t){if(t>0&&(f=6*e-12*i+6*n,p=-3*e+9*i-9*n+3*h,m=3*i-3*e),u(p)<1e-12){if(u(f)<1e-12)continue;const t=-m/f;0<t&&t<1&&d.push(t);continue}const s=f*f-4*m*p;if(s<0)continue;const r=l(s),o=(-f+r)/(2*p);0<o&&o<1&&d.push(o);const a=(-f-r)/(2*p);0<a&&a<1&&d.push(a)}let v=d.length;const y=v,x=nn(t,e,s,i,r,n,a,h);for(;v--;){const{x:t,y:e}=x(d[v]);g[0][v]=t,g[1][v]=e}g[0][y]=t,g[1][y]=e,g[0][y+1]=a,g[1][y+1]=h;const C=[new ot(Math.min(...g[0]),Math.min(...g[1])),new ot(Math.max(...g[0]),Math.max(...g[1]))];return o.cachesBoundsOfCurve&&(_.boundsOfCurveCache[c]=C),C}const en=(t,e,s)=>{let[i,r,n,o,a,h,c,l]=s;const u=((t,e,s,i,r,n,o)=>{if(0===s||0===i)return[];let a=0,h=0,c=0;const l=Math.PI,u=o*w,d=nt(u),g=rt(u),f=.5*(-g*t-d*e),p=.5*(-g*e+d*t),m=s**2,v=i**2,y=p**2,_=f**2,x=m*v-m*y-v*_;let C=Math.abs(s),b=Math.abs(i);if(x<0){const t=Math.sqrt(1-x/(m*v));C*=t,b*=t}else c=(r===n?-1:1)*Math.sqrt(x/(m*y+v*_));const S=c*C*p/b,T=-c*b*f/C,O=g*S-d*T+.5*t,k=d*S+g*T+.5*e;let D=$r(1,0,(f-S)/C,(p-T)/b),M=$r((f-S)/C,(p-T)/b,(-f-S)/C,(-p-T)/b);0===n&&M>0?M-=2*l:1===n&&M<0&&(M+=2*l);const P=Math.ceil(Math.abs(M/l*2)),E=[],A=M/P,j=8/3*Math.sin(A/4)*Math.sin(A/4)/Math.sin(A/2);let F=D+A;for(let t=0;t<P;t++)E[t]=Zr(D,F,g,d,C,b,O,k,j,a,h),a=E[t][5],h=E[t][6],D=F,F+=A;return E})(c-t,l-e,r,n,a,h,o);for(let s=0,i=u.length;s<i;s++)u[s][1]+=t,u[s][2]+=e,u[s][3]+=t,u[s][4]+=e,u[s][5]+=t,u[s][6]+=e;return u},sn=t=>{let e=0,s=0,i=0,r=0;const n=[];let o,a=0,h=0;for(const c of t){const t=[...c];let l;switch(t[0]){case\"l\":t[1]+=e,t[2]+=s;case\"L\":e=t[1],s=t[2],l=[\"L\",e,s];break;case\"h\":t[1]+=e;case\"H\":e=t[1],l=[\"L\",e,s];break;case\"v\":t[1]+=s;case\"V\":s=t[1],l=[\"L\",e,s];break;case\"m\":t[1]+=e,t[2]+=s;case\"M\":e=t[1],s=t[2],i=t[1],r=t[2],l=[\"M\",e,s];break;case\"c\":t[1]+=e,t[2]+=s,t[3]+=e,t[4]+=s,t[5]+=e,t[6]+=s;case\"C\":a=t[3],h=t[4],e=t[5],s=t[6],l=[\"C\",t[1],t[2],a,h,e,s];break;case\"s\":t[1]+=e,t[2]+=s,t[3]+=e,t[4]+=s;case\"S\":\"C\"===o?(a=2*e-a,h=2*s-h):(a=e,h=s),e=t[3],s=t[4],l=[\"C\",a,h,t[1],t[2],e,s],a=l[3],h=l[4];break;case\"q\":t[1]+=e,t[2]+=s,t[3]+=e,t[4]+=s;case\"Q\":a=t[1],h=t[2],e=t[3],s=t[4],l=[\"Q\",a,h,e,s];break;case\"t\":t[1]+=e,t[2]+=s;case\"T\":\"Q\"===o?(a=2*e-a,h=2*s-h):(a=e,h=s),e=t[1],s=t[2],l=[\"Q\",a,h,e,s];break;case\"a\":t[6]+=e,t[7]+=s;case\"A\":en(e,s,t).forEach((t=>n.push(t))),e=t[6],s=t[7];break;case\"z\":case\"Z\":e=i,s=r,l=[\"Z\"]}l?(n.push(l),o=l[0]):o=\"\"}return n},rn=(t,e,s,i)=>Math.sqrt((s-t)**2+(i-e)**2),nn=(t,e,s,i,r,n,o,a)=>h=>{const c=h**3,l=(t=>3*t**2*(1-t))(h),u=(t=>3*t*(1-t)**2)(h),d=(t=>(1-t)**3)(h);return new ot(o*c+r*l+s*u+t*d,a*c+n*l+i*u+e*d)},on=t=>t**2,an=t=>2*t*(1-t),hn=t=>(1-t)**2,cn=(t,e,s,i,r,n,o,a)=>h=>{const c=on(h),l=an(h),u=hn(h),d=3*(u*(s-t)+l*(r-s)+c*(o-r)),g=3*(u*(i-e)+l*(n-i)+c*(a-n));return Math.atan2(g,d)},ln=(t,e,s,i,r,n)=>o=>{const a=on(o),h=an(o),c=hn(o);return new ot(r*a+s*h+t*c,n*a+i*h+e*c)},un=(t,e,s,i,r,n)=>o=>{const a=1-o,h=2*(a*(s-t)+o*(r-s)),c=2*(a*(i-e)+o*(n-i));return Math.atan2(c,h)},dn=(t,e,s)=>{let i=new ot(e,s),r=0;for(let e=1;e<=100;e+=1){const s=t(e/100);r+=rn(i.x,i.y,s.x,s.y),i=s}return r},gn=(t,e)=>{let i,r=0,n=0,o={x:t.x,y:t.y},a=s({},o),h=.01,c=0;const l=t.iterator,u=t.angleFinder;for(;n<e&&h>1e-4;)a=l(r),c=r,i=rn(o.x,o.y,a.x,a.y),i+n>e?(r-=h,h/=2):(o=a,r+=h,n+=i);return s(s({},a),{},{angle:u(c)})},fn=t=>{let e,s,i=0,r=0,n=0,o=0,a=0;const h=[];for(const c of t){const t={x:r,y:n,command:c[0],length:0};switch(c[0]){case\"M\":s=t,s.x=o=r=c[1],s.y=a=n=c[2];break;case\"L\":s=t,s.length=rn(r,n,c[1],c[2]),r=c[1],n=c[2];break;case\"C\":e=nn(r,n,c[1],c[2],c[3],c[4],c[5],c[6]),s=t,s.iterator=e,s.angleFinder=cn(r,n,c[1],c[2],c[3],c[4],c[5],c[6]),s.length=dn(e,r,n),r=c[5],n=c[6];break;case\"Q\":e=ln(r,n,c[1],c[2],c[3],c[4]),s=t,s.iterator=e,s.angleFinder=un(r,n,c[1],c[2],c[3],c[4]),s.length=dn(e,r,n),r=c[3],n=c[4];break;case\"Z\":s=t,s.destX=o,s.destY=a,s.length=rn(r,n,o,a),r=o,n=a}i+=s.length,h.push(s)}return h.push({length:i,x:r,y:n}),h},pn=function(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:fn(t),r=0;for(;e-i[r].length>0&&r<i.length-2;)e-=i[r].length,r++;const n=i[r],o=e/n.length,a=t[r];switch(n.command){case\"M\":return{x:n.x,y:n.y,angle:0};case\"Z\":return s(s({},new ot(n.x,n.y).lerp(new ot(n.destX,n.destY),o)),{},{angle:Math.atan2(n.destY-n.y,n.destX-n.x)});case\"L\":return s(s({},new ot(n.x,n.y).lerp(new ot(a[1],a[2]),o)),{},{angle:Math.atan2(a[2]-n.y,a[1]-n.x)});case\"C\":case\"Q\":return gn(n,e)}},mn=new RegExp(\"[mzlhvcsqta][^mzlhvcsqta]*\",\"gi\"),vn=new RegExp(Jr,\"g\"),yn=new RegExp(es,\"gi\"),_n={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7},xn=t=>{var e;const s=[],i=null!==(e=t.match(mn))&&void 0!==e?e:[];for(const t of i){const e=t[0];if(\"z\"===e||\"Z\"===e){s.push([e]);continue}const i=_n[e.toLowerCase()];let r=[];if(\"a\"===e||\"A\"===e){vn.lastIndex=0;for(let e=null;e=vn.exec(t);)r.push(...e.slice(1))}else r=t.match(yn)||[];for(let t=0;t<r.length;t+=i){const n=new Array(i),o=Qr[e];n[0]=t>0&&o?o:e;for(let e=0;e<i;e++)n[e+1]=parseFloat(r[t+e]);s.push(n)}}return s},Cn=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,s=new ot(t[0]),i=new ot(t[1]),r=1,n=0;const o=[],a=t.length,h=a>2;let c;for(h&&(r=t[2].x<i.x?-1:t[2].x===i.x?0:1,n=t[2].y<i.y?-1:t[2].y===i.y?0:1),o.push([\"M\",s.x-r*e,s.y-n*e]),c=1;c<a;c++){if(!s.eq(i)){const t=s.midPointFrom(i);o.push([\"Q\",s.x,s.y,t.x,t.y])}s=t[c],c+1<t.length&&(i=t[c+1])}return h&&(r=s.x>t[c-2].x?1:s.x===t[c-2].x?0:-1,n=s.y>t[c-2].y?1:s.y===t[c-2].y?0:-1),o.push([\"L\",s.x+r*e,s.y+n*e]),o},bn=(t,e)=>t.map((t=>t.map(((t,s)=>0===s||void 0===e?t:Vt(t,e))).join(\" \"))).join(\" \");function Sn(t,e){const s=t.style;s&&e&&(\"string\"==typeof e?s.cssText+=\";\"+e:Object.entries(e).forEach((t=>{let[e,i]=t;return s.setProperty(e,i)})))}const wn=(t,e)=>Math.floor(Math.random()*(e-t+1))+t;function Tn(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s=e.onComplete||C,i=new(v().XMLHttpRequest),r=e.signal,n=function(){i.abort()},o=function(){r&&r.removeEventListener(\"abort\",n),i.onerror=i.ontimeout=C};if(r&&r.aborted)throw new c(\"request\");return r&&r.addEventListener(\"abort\",n,{once:!0}),i.onreadystatechange=function(){4===i.readyState&&(o(),s(i),i.onreadystatechange=C)},i.onerror=i.ontimeout=o,i.open(\"get\",t,!0),i.send(),i}const On=(t,e)=>{let s=t._findCenterFromElement();t.transformMatrix&&((t=>{if(t.transformMatrix){const{scaleX:e,scaleY:s,angle:i,skewX:r}=Dt(t.transformMatrix);t.flipX=!1,t.flipY=!1,t.set(H,e),t.set(N,s),t.angle=i,t.skewX=r,t.skewY=0}})(t),s=s.transform(t.transformMatrix)),delete t.transformMatrix,e&&(t.scaleX*=e.scaleX,t.scaleY*=e.scaleY,t.cropX=e.cropX,t.cropY=e.cropY,s.x+=e.offsetLeft,s.y+=e.offsetTop,t.width=e.width,t.height=e.height),t.setPositionByOrigin(s,D,D)};var kn=Object.freeze({__proto__:null,addTransformToObject:ce,animate:Us,animateColor:qs,applyTransformToObject:le,calcAngleBetweenVectors:vs,calcDimensionsMatrix:Lt,calcPlaneChangeMatrix:fe,calcVectorRotation:ys,cancelAnimFrame:dt,capValue:ks,composeMatrix:Rt,copyCanvasElement:t=>{var e;const s=vt(t);return null===(e=s.getContext(\"2d\"))||void 0===e||e.drawImage(t,0,0),s},cos:rt,createCanvasElement:pt,createImage:mt,createRotateMatrix:Pt,createScaleMatrix:Et,createSkewXMatrix:jt,createSkewYMatrix:Ft,createTranslateMatrix:Mt,createVector:ps,crossProduct:Cs,degreesToRadians:xt,dotProduct:bs,ease:Rs,enlivenObjectEnlivables:Xt,enlivenObjects:Bt,findScaleToCover:Ur,findScaleToFit:Nr,getBoundsOfCurve:tn,getOrthonormalVector:xs,getPathSegmentsInfo:fn,getPointOnPath:pn,getPointer:re,getRandomInt:wn,getRegularPolygonPath:(t,e)=>{const s=2*Math.PI/t;let i=-b;t%2==0&&(i+=s/2);const r=new Array(t+1);for(let n=0;n<t;n++){const t=n*s+i,{x:o,y:a}=new ot(rt(t),nt(t)).scalarMultiply(e);r[n]=[0===n?\"M\":\"L\",o,a]}return r[t]=[\"Z\"],r},getSmoothPathFromPoints:Cn,getSvgAttributes:t=>{const e=[\"instantiated_by_use\",\"style\",\"id\",\"class\"];switch(t){case\"linearGradient\":return e.concat([\"x1\",\"y1\",\"x2\",\"y2\",\"gradientUnits\",\"gradientTransform\"]);case\"radialGradient\":return e.concat([\"gradientUnits\",\"gradientTransform\",\"cx\",\"cy\",\"r\",\"fx\",\"fy\",\"fr\"]);case\"stop\":return e.concat([\"offset\",\"stop-color\",\"stop-opacity\"])}return e},getUnitVector:_s,groupSVGElements:(t,e)=>t&&1===t.length?t[0]:new Hr(t,e),hasStyleChanged:Ui,invertTransform:wt,isBetweenVectors:Ss,isIdentityMatrix:bt,isTouchEvent:ne,isTransparent:Fi,joinPath:bn,loadImage:It,magnitude:ms,makeBoundingBoxFromPoints:ae,makePathSimpler:sn,matrixToSVG:zt,mergeClipPaths:(t,e)=>{var s;let i=t,r=e;i.inverted&&!r.inverted&&(i=e,r=t),ve(r,null===(s=r.group)||void 0===s?void 0:s.calcTransformMatrix(),i.calcTransformMatrix());const n=i.inverted&&r.inverted;return n&&(i.inverted=r.inverted=!1),new Hr([i],{clipPath:r,inverted:n})},multiplyTransformMatrices:Tt,multiplyTransformMatrixArray:Ot,parsePath:xn,parsePreserveAspectRatioAttribute:Ie,parseUnit:Re,pick:Yt,projectStrokeOnPoints:Xi,qrDecompose:Dt,radiansToDegrees:Ct,removeFromArray:it,removeTransformFromObject:(t,e)=>{const s=wt(e),i=Tt(s,t.calcOwnMatrix());le(t,i)},removeTransformMatrixForSvgParsing:On,request:Tn,requestAnimFrame:ut,resetObjectTransform:ue,rotatePoint:(t,e,s)=>t.rotate(s,e),rotateVector:fs,saveObjectTransform:de,sendObjectToPlane:ve,sendPointToPlane:pe,sendVectorToPlane:me,setStyle:Sn,sin:nt,sizeAfterTransform:ge,string:Ni,stylesFromArray:Ki,stylesToArray:qi,toBlob:_t,toDataURL:yt,toFixed:Vt,transformPath:(t,e,s)=>(s&&(e=Tt(e,[1,0,0,1,-s.x,-s.y])),t.map((t=>{const s=[...t];for(let i=1;i<t.length-1;i+=2){const{x:r,y:n}=St({x:t[i],y:t[i+1]},e);s[i]=r,s[i+1]=n}return s}))),transformPoint:St});class Dn extends te{constructor(e){let{allowTouchScrolling:s=!1,containerClass:i=\"\"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(e),t(this,\"upper\",void 0),t(this,\"container\",void 0);const{el:r}=this.lower,n=this.createUpperCanvas();this.upper={el:n,ctx:n.getContext(\"2d\")},this.applyCanvasStyle(r,{allowTouchScrolling:s}),this.applyCanvasStyle(n,{allowTouchScrolling:s,styles:{position:\"absolute\",left:\"0\",top:\"0\"}});const o=this.createContainerElement();o.classList.add(i),r.parentNode&&r.parentNode.replaceChild(o,r),o.append(r,n),this.container=o}createUpperCanvas(){const{el:t}=this.lower,e=pt();return e.className=t.className,e.classList.remove(\"lower-canvas\"),e.classList.add(\"upper-canvas\"),e.setAttribute(\"data-fabric\",\"top\"),e.style.cssText=t.style.cssText,e.setAttribute(\"draggable\",\"true\"),e}createContainerElement(){const t=m().createElement(\"div\");return t.setAttribute(\"data-fabric\",\"wrapper\"),Sn(t,{position:\"relative\"}),$t(t),t}applyCanvasStyle(t,e){const{styles:i,allowTouchScrolling:r}=e;Sn(t,s(s({},i),{},{\"touch-action\":r?\"manipulation\":j})),$t(t)}setDimensions(t,e){super.setDimensions(t,e);const{el:s,ctx:i}=this.upper;Qt(s,i,t,e)}setCSSDimensions(t){super.setCSSDimensions(t),Zt(this.upper.el,t),Zt(this.container,t)}cleanupDOM(t){const e=this.container,{el:s}=this.lower,{el:i}=this.upper;super.cleanupDOM(t),e.removeChild(i),e.removeChild(s),e.parentNode&&e.parentNode.replaceChild(s,e)}dispose(){super.dispose(),p().dispose(this.upper.el),delete this.upper,delete this.container}}class Mn extends se{constructor(){super(...arguments),t(this,\"targets\",[]),t(this,\"_hoveredTargets\",[]),t(this,\"_objectsToRender\",void 0),t(this,\"_currentTransform\",null),t(this,\"_groupSelector\",null),t(this,\"contextTopDirty\",!1)}static getDefaults(){return s(s({},super.getDefaults()),Mn.ownDefaults)}get upperCanvasEl(){var t;return null===(t=this.elements.upper)||void 0===t?void 0:t.el}get contextTop(){var t;return null===(t=this.elements.upper)||void 0===t?void 0:t.ctx}get wrapperEl(){return this.elements.container}initElements(t){this.elements=new Dn(t,{allowTouchScrolling:this.allowTouchScrolling,containerClass:this.containerClass}),this._createCacheCanvas()}_onObjectAdded(t){this._objectsToRender=void 0,super._onObjectAdded(t)}_onObjectRemoved(t){this._objectsToRender=void 0,t===this._activeObject&&(this.fire(\"before:selection:cleared\",{deselected:[t]}),this._discardActiveObject(),this.fire(\"selection:cleared\",{deselected:[t]}),t.fire(\"deselected\",{target:t})),t===this._hoveredTarget&&(this._hoveredTarget=void 0,this._hoveredTargets=[]),super._onObjectRemoved(t)}_onStackOrderChanged(){this._objectsToRender=void 0,super._onStackOrderChanged()}_chooseObjectsToRender(){const t=this._activeObject;return!this.preserveObjectStacking&&t?this._objects.filter((e=>!e.group&&e!==t)).concat(t):this._objects}renderAll(){this.cancelRequestedRender(),this.destroyed||(!this.contextTopDirty||this._groupSelector||this.isDrawingMode||(this.clearContext(this.contextTop),this.contextTopDirty=!1),this.hasLostContext&&(this.renderTopLayer(this.contextTop),this.hasLostContext=!1),!this._objectsToRender&&(this._objectsToRender=this._chooseObjectsToRender()),this.renderCanvas(this.getContext(),this._objectsToRender))}renderTopLayer(t){t.save(),this.isDrawingMode&&this._isCurrentlyDrawing&&(this.freeDrawingBrush&&this.freeDrawingBrush._render(),this.contextTopDirty=!0),this.selection&&this._groupSelector&&(this._drawSelection(t),this.contextTopDirty=!0),t.restore()}renderTop(){const t=this.contextTop;this.clearContext(t),this.renderTopLayer(t),this.fire(\"after:render\",{ctx:t})}setTargetFindTolerance(t){t=Math.round(t),this.targetFindTolerance=t;const e=this.getRetinaScaling(),s=Math.ceil((2*t+1)*e);this.pixelFindCanvasEl.width=this.pixelFindCanvasEl.height=s,this.pixelFindContext.scale(e,e)}isTargetTransparent(t,e,s){const i=this.targetFindTolerance,r=this.pixelFindContext;this.clearContext(r),r.save(),r.translate(-e+i,-s+i),r.transform(...this.viewportTransform);const n=t.selectionBackgroundColor;t.selectionBackgroundColor=\"\",t.render(r),t.selectionBackgroundColor=n,r.restore();const o=Math.round(i*this.getRetinaScaling());return Fi(r,o,o,o)}_isSelectionKeyPressed(t){const e=this.selectionKey;return!!e&&(Array.isArray(e)?!!e.find((e=>!!e&&!0===t[e])):t[e])}_shouldClearSelection(t,e){const s=this.getActiveObjects(),i=this._activeObject;return!!(!e||e&&i&&s.length>1&&-1===s.indexOf(e)&&i!==e&&!this._isSelectionKeyPressed(t)||e&&!e.evented||e&&!e.selectable&&i&&i!==e)}_shouldCenterTransform(t,e,s){if(!t)return;let i;return e===G||e===H||e===N||e===Y?i=this.centeredScaling||t.centeredScaling:e===B&&(i=this.centeredRotation||t.centeredRotation),i?!s:s}_getOriginFromCorner(t,e){const s={x:t.originX,y:t.originY};return e?([\"ml\",\"tl\",\"bl\"].includes(e)?s.x=A:[\"mr\",\"tr\",\"br\"].includes(e)&&(s.x=M),[\"tl\",\"mt\",\"tr\"].includes(e)?s.y=E:[\"bl\",\"mb\",\"br\"].includes(e)&&(s.y=P),s):s}_setupCurrentTransform(t,e,i){var r;const n=e.group?pe(this.getScenePoint(t),void 0,e.group.calcTransformMatrix()):this.getScenePoint(t),{key:o=\"\",control:a}=e.getActiveControl()||{},h=i&&a?null===(r=a.getActionHandler(t,e,a))||void 0===r?void 0:r.bind(a):De,c=((t,e,s,i)=>{if(!e||!t)return\"drag\";const r=i.controls[e];return r.getActionName(s,r,i)})(i,o,t,e),l=t[this.centeredKey],u=this._shouldCenterTransform(e,c,l)?{x:D,y:D}:this._getOriginFromCorner(e,o),d={target:e,action:c,actionHandler:h,actionPerformed:!1,corner:o,scaleX:e.scaleX,scaleY:e.scaleY,skewX:e.skewX,skewY:e.skewY,offsetX:n.x-e.left,offsetY:n.y-e.top,originX:u.x,originY:u.y,ex:n.x,ey:n.y,lastX:n.x,lastY:n.y,theta:xt(e.angle),width:e.width,height:e.height,shiftKey:t.shiftKey,altKey:l,original:s(s({},de(e)),{},{originX:u.x,originY:u.y})};this._currentTransform=d,this.fire(\"before:transform\",{e:t,transform:d})}setCursor(t){this.upperCanvasEl.style.cursor=t}_drawSelection(t){const{x:e,y:s,deltaX:i,deltaY:r}=this._groupSelector,n=new ot(e,s).transform(this.viewportTransform),o=new ot(e+i,s+r).transform(this.viewportTransform),a=this.selectionLineWidth/2;let h=Math.min(n.x,o.x),c=Math.min(n.y,o.y),l=Math.max(n.x,o.x),u=Math.max(n.y,o.y);this.selectionColor&&(t.fillStyle=this.selectionColor,t.fillRect(h,c,l-h,u-c)),this.selectionLineWidth&&this.selectionBorderColor&&(t.lineWidth=this.selectionLineWidth,t.strokeStyle=this.selectionBorderColor,h+=a,c+=a,l-=a,u-=a,ji.prototype._setLineDash.call(this,t,this.selectionDashArray),t.strokeRect(h,c,l-h,u-c))}findTarget(t){if(this.skipTargetFind)return;const e=this.getViewportPoint(t),s=this._activeObject,i=this.getActiveObjects();if(this.targets=[],s&&i.length>=1){if(s.findControl(e,ne(t)))return s;if(i.length>1&&this.searchPossibleTargets([s],e))return s;if(s===this.searchPossibleTargets([s],e)){if(this.preserveObjectStacking){const i=this.targets;this.targets=[];const r=this.searchPossibleTargets(this._objects,e);return t[this.altSelectionKey]&&r&&r!==s?(this.targets=i,s):r}return s}}return this.searchPossibleTargets(this._objects,e)}_pointIsInObjectSelectionArea(t,e){let s=t.getCoords();const i=this.getZoom(),r=t.padding/i;if(r){const[t,e,i,n]=s,o=Math.atan2(e.y-t.y,e.x-t.x),a=rt(o)*r,h=nt(o)*r,c=a+h,l=a-h;s=[new ot(t.x-l,t.y-c),new ot(e.x+c,e.y-l),new ot(i.x+l,i.y+c),new ot(n.x-c,n.y+l)]}return Ks.isPointInPolygon(e,s)}_checkTarget(t,e){if(t&&t.visible&&t.evented&&this._pointIsInObjectSelectionArea(t,pe(e,void 0,this.viewportTransform))){if(!this.perPixelTargetFind&&!t.perPixelTargetFind||t.isEditing)return!0;if(!this.isTargetTransparent(t,e.x,e.y))return!0}return!1}_searchPossibleTargets(t,e){let s=t.length;for(;s--;){const i=t[s];if(this._checkTarget(i,e)){if(ht(i)&&i.subTargetCheck){const t=this._searchPossibleTargets(i._objects,e);t&&this.targets.push(t)}return i}}}searchPossibleTargets(t,e){const s=this._searchPossibleTargets(t,e);if(s&&ht(s)&&s.interactive&&this.targets[0]){const t=this.targets;for(let e=t.length-1;e>0;e--){const s=t[e];if(!ht(s)||!s.interactive)return s}return t[0]}return s}getViewportPoint(t){return this._pointer?this._pointer:this.getPointer(t,!0)}getScenePoint(t){return this._absolutePointer?this._absolutePointer:this.getPointer(t)}getPointer(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const s=this.upperCanvasEl,i=s.getBoundingClientRect();let r=re(t),n=i.width||0,o=i.height||0;n&&o||(P in i&&E in i&&(o=Math.abs(i.top-i.bottom)),A in i&&M in i&&(n=Math.abs(i.right-i.left))),this.calcOffset(),r.x=r.x-this._offset.left,r.y=r.y-this._offset.top,e||(r=pe(r,void 0,this.viewportTransform));const a=this.getRetinaScaling();1!==a&&(r.x/=a,r.y/=a);const h=0===n||0===o?new ot(1,1):new ot(s.width/n,s.height/o);return r.multiply(h)}_setDimensionsImpl(t,e){this._resetTransformEventData(),super._setDimensionsImpl(t,e),this._isCurrentlyDrawing&&this.freeDrawingBrush&&this.freeDrawingBrush._setBrushStyles(this.contextTop)}_createCacheCanvas(){this.pixelFindCanvasEl=pt(),this.pixelFindContext=this.pixelFindCanvasEl.getContext(\"2d\",{willReadFrequently:!0}),this.setTargetFindTolerance(this.targetFindTolerance)}getTopContext(){return this.elements.upper.ctx}getSelectionContext(){return this.elements.upper.ctx}getSelectionElement(){return this.elements.upper.el}getActiveObject(){return this._activeObject}getActiveObjects(){const t=this._activeObject;return Ut(t)?t.getObjects():t?[t]:[]}_fireSelectionEvents(t,e){let s=!1,i=!1;const r=this.getActiveObjects(),n=[],o=[];t.forEach((t=>{r.includes(t)||(s=!0,t.fire(\"deselected\",{e:e,target:t}),o.push(t))})),r.forEach((i=>{t.includes(i)||(s=!0,i.fire(\"selected\",{e:e,target:i}),n.push(i))})),t.length>0&&r.length>0?(i=!0,s&&this.fire(\"selection:updated\",{e:e,selected:n,deselected:o})):r.length>0?(i=!0,this.fire(\"selection:created\",{e:e,selected:n})):t.length>0&&(i=!0,this.fire(\"selection:cleared\",{e:e,deselected:o})),i&&(this._objectsToRender=void 0)}setActiveObject(t,e){const s=this.getActiveObjects(),i=this._setActiveObject(t,e);return this._fireSelectionEvents(s,e),i}_setActiveObject(t,e){const s=this._activeObject;return s!==t&&(!(!this._discardActiveObject(e,t)&&this._activeObject)&&(!t.onSelect({e:e})&&(this._activeObject=t,Ut(t)&&s!==t&&t.set(\"canvas\",this),t.setCoords(),!0)))}_discardActiveObject(t,e){const s=this._activeObject;return!!s&&(!s.onDeselect({e:t,object:e})&&(this._currentTransform&&this._currentTransform.target===s&&this.endCurrentTransform(t),Ut(s)&&s===this._hoveredTarget&&(this._hoveredTarget=void 0),this._activeObject=void 0,!0))}discardActiveObject(t){const e=this.getActiveObjects(),s=this.getActiveObject();e.length&&this.fire(\"before:selection:cleared\",{e:t,deselected:[s]});const i=this._discardActiveObject(t);return this._fireSelectionEvents(e,t),i}endCurrentTransform(t){const e=this._currentTransform;this._finalizeCurrentTransform(t),e&&e.target&&(e.target.isMoving=!1),this._currentTransform=null}_finalizeCurrentTransform(t){const e=this._currentTransform,s=e.target,i={e:t,target:s,transform:e,action:e.action};s._scaling&&(s._scaling=!1),s.setCoords(),e.actionPerformed&&(this.fire(\"object:modified\",i),s.fire(Q,i))}setViewportTransform(t){super.setViewportTransform(t);const e=this._activeObject;e&&e.setCoords()}destroy(){const t=this._activeObject;Ut(t)&&(t.removeAll(),t.dispose()),delete this._activeObject,super.destroy(),this.pixelFindContext=null,this.pixelFindCanvasEl=void 0}clear(){this.discardActiveObject(),this._activeObject=void 0,this.clearContext(this.contextTop),super.clear()}drawControls(t){const e=this._activeObject;e&&e._renderControls(t)}_toObject(t,e,s){const i=this._realizeGroupTransformOnObject(t),r=super._toObject(t,e,s);return t.set(i),r}_realizeGroupTransformOnObject(t){const{group:e}=t;if(e&&Ut(e)&&this._activeObject===e){const s=Yt(t,[\"angle\",\"flipX\",\"flipY\",M,H,N,U,q,P]);return ce(t,e.calcOwnMatrix()),s}return{}}_setSVGObject(t,e,s){const i=this._realizeGroupTransformOnObject(e);super._setSVGObject(t,e,s),e.set(i)}}t(Mn,\"ownDefaults\",{uniformScaling:!0,uniScaleKey:\"shiftKey\",centeredScaling:!1,centeredRotation:!1,centeredKey:\"altKey\",altActionKey:\"shiftKey\",selection:!0,selectionKey:\"shiftKey\",selectionColor:\"rgba(100, 100, 255, 0.3)\",selectionDashArray:[],selectionBorderColor:\"rgba(255, 255, 255, 0.3)\",selectionLineWidth:1,selectionFullyContained:!1,hoverCursor:\"move\",moveCursor:\"move\",defaultCursor:\"default\",freeDrawingCursor:\"crosshair\",notAllowedCursor:\"not-allowed\",perPixelTargetFind:!1,targetFindTolerance:0,skipTargetFind:!1,stopContextMenu:!1,fireRightClick:!1,fireMiddleClick:!1,enablePointerEvents:!1,containerClass:\"canvas-container\",preserveObjectStacking:!1});class Pn{constructor(e){t(this,\"targets\",[]),t(this,\"__disposer\",void 0);const s=()=>{const{hiddenTextarea:t}=e.getActiveObject()||{};t&&t.focus()},i=e.upperCanvasEl;i.addEventListener(\"click\",s),this.__disposer=()=>i.removeEventListener(\"click\",s)}exitTextEditing(){this.target=void 0,this.targets.forEach((t=>{t.isEditing&&t.exitEditing()}))}add(t){this.targets.push(t)}remove(t){this.unregister(t),it(this.targets,t)}register(t){this.target=t}unregister(t){t===this.target&&(this.target=void 0)}onMouseMove(t){var e;(null===(e=this.target)||void 0===e?void 0:e.isEditing)&&this.target.updateSelectionOnMouseMove(t)}clear(){this.targets=[],this.target=void 0}dispose(){this.clear(),this.__disposer(),delete this.__disposer}}const En=[\"target\",\"oldTarget\",\"fireCanvas\",\"e\"],An={passive:!1},jn=(t,e)=>{const s=t.getViewportPoint(e),i=t.getScenePoint(e);return{viewportPoint:s,scenePoint:i,pointer:s,absolutePointer:i}},Fn=function(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];return t.addEventListener(...s)},Ln=function(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];return t.removeEventListener(...s)},Rn={mouse:{in:\"over\",out:\"out\",targetIn:\"mouseover\",targetOut:\"mouseout\",canvasIn:\"mouse:over\",canvasOut:\"mouse:out\"},drag:{in:\"enter\",out:\"leave\",targetIn:\"dragenter\",targetOut:\"dragleave\",canvasIn:\"drag:enter\",canvasOut:\"drag:leave\"}};class In extends Mn{constructor(e){super(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),t(this,\"_isClick\",void 0),t(this,\"textEditingManager\",new Pn(this)),[\"_onMouseDown\",\"_onTouchStart\",\"_onMouseMove\",\"_onMouseUp\",\"_onTouchEnd\",\"_onResize\",\"_onMouseWheel\",\"_onMouseOut\",\"_onMouseEnter\",\"_onContextMenu\",\"_onClick\",\"_onDragStart\",\"_onDragEnd\",\"_onDragProgress\",\"_onDragOver\",\"_onDragEnter\",\"_onDragLeave\",\"_onDrop\"].forEach((t=>{this[t]=this[t].bind(this)})),this.addOrRemove(Fn,\"add\")}_getEventPrefix(){return this.enablePointerEvents?\"pointer\":\"mouse\"}addOrRemove(t,e){const s=this.upperCanvasEl,i=this._getEventPrefix();t(Jt(s),\"resize\",this._onResize),t(s,i+\"down\",this._onMouseDown),t(s,\"\".concat(i,\"move\"),this._onMouseMove,An),t(s,\"\".concat(i,\"out\"),this._onMouseOut),t(s,\"\".concat(i,\"enter\"),this._onMouseEnter),t(s,\"wheel\",this._onMouseWheel),t(s,\"contextmenu\",this._onContextMenu),t(s,\"click\",this._onClick),t(s,\"dblclick\",this._onClick),t(s,\"dragstart\",this._onDragStart),t(s,\"dragend\",this._onDragEnd),t(s,\"dragover\",this._onDragOver),t(s,\"dragenter\",this._onDragEnter),t(s,\"dragleave\",this._onDragLeave),t(s,\"drop\",this._onDrop),this.enablePointerEvents||t(s,\"touchstart\",this._onTouchStart,An)}removeListeners(){this.addOrRemove(Ln,\"remove\");const t=this._getEventPrefix(),e=Kt(this.upperCanvasEl);Ln(e,\"\".concat(t,\"up\"),this._onMouseUp),Ln(e,\"touchend\",this._onTouchEnd,An),Ln(e,\"\".concat(t,\"move\"),this._onMouseMove,An),Ln(e,\"touchmove\",this._onMouseMove,An),clearTimeout(this._willAddMouseDown)}_onMouseWheel(t){this.__onMouseWheel(t)}_onMouseOut(t){const e=this._hoveredTarget,i=s({e:t},jn(this,t));this.fire(\"mouse:out\",s(s({},i),{},{target:e})),this._hoveredTarget=void 0,e&&e.fire(\"mouseout\",s({},i)),this._hoveredTargets.forEach((t=>{this.fire(\"mouse:out\",s(s({},i),{},{target:t})),t&&t.fire(\"mouseout\",s({},i))})),this._hoveredTargets=[]}_onMouseEnter(t){this._currentTransform||this.findTarget(t)||(this.fire(\"mouse:over\",s({e:t},jn(this,t))),this._hoveredTarget=void 0,this._hoveredTargets=[])}_onDragStart(t){this._isClick=!1;const e=this.getActiveObject();if(e&&e.onDragStart(t)){this._dragSource=e;const s={e:t,target:e};return this.fire(\"dragstart\",s),e.fire(\"dragstart\",s),void Fn(this.upperCanvasEl,\"drag\",this._onDragProgress)}oe(t)}_renderDragEffects(t,e,s){let i=!1;const r=this._dropTarget;r&&r!==e&&r!==s&&(r.clearContextTop(),i=!0),null==e||e.clearContextTop(),s!==e&&(null==s||s.clearContextTop());const n=this.contextTop;n.save(),n.transform(...this.viewportTransform),e&&(n.save(),e.transform(n),e.renderDragSourceEffect(t),n.restore(),i=!0),s&&(n.save(),s.transform(n),s.renderDropTargetEffect(t),n.restore(),i=!0),n.restore(),i&&(this.contextTopDirty=!0)}_onDragEnd(t){const e=!!t.dataTransfer&&t.dataTransfer.dropEffect!==j,s=e?this._activeObject:void 0,i={e:t,target:this._dragSource,subTargets:this.targets,dragSource:this._dragSource,didDrop:e,dropTarget:s};Ln(this.upperCanvasEl,\"drag\",this._onDragProgress),this.fire(\"dragend\",i),this._dragSource&&this._dragSource.fire(\"dragend\",i),delete this._dragSource,this._onMouseUp(t)}_onDragProgress(t){const e={e:t,target:this._dragSource,dragSource:this._dragSource,dropTarget:this._draggedoverTarget};this.fire(\"drag\",e),this._dragSource&&this._dragSource.fire(\"drag\",e)}findDragTargets(t){this.targets=[];return{target:this._searchPossibleTargets(this._objects,this.getViewportPoint(t)),targets:[...this.targets]}}_onDragOver(t){const e=\"dragover\",{target:s,targets:i}=this.findDragTargets(t),r=this._dragSource,n={e:t,target:s,subTargets:i,dragSource:r,canDrop:!1,dropTarget:void 0};let o;this.fire(e,n),this._fireEnterLeaveEvents(s,n),s&&(s.canDrop(t)&&(o=s),s.fire(e,n));for(let s=0;s<i.length;s++){const r=i[s];r.canDrop(t)&&(o=r),r.fire(e,n)}this._renderDragEffects(t,r,o),this._dropTarget=o}_onDragEnter(t){const{target:e,targets:s}=this.findDragTargets(t),i={e:t,target:e,subTargets:s,dragSource:this._dragSource};this.fire(\"dragenter\",i),this._fireEnterLeaveEvents(e,i)}_onDragLeave(t){const e={e:t,target:this._draggedoverTarget,subTargets:this.targets,dragSource:this._dragSource};this.fire(\"dragleave\",e),this._fireEnterLeaveEvents(void 0,e),this._renderDragEffects(t,this._dragSource),this._dropTarget=void 0,this.targets=[],this._hoveredTargets=[]}_onDrop(t){const{target:e,targets:i}=this.findDragTargets(t),r=this._basicEventHandler(\"drop:before\",s({e:t,target:e,subTargets:i,dragSource:this._dragSource},jn(this,t)));r.didDrop=!1,r.dropTarget=void 0,this._basicEventHandler(\"drop\",r),this.fire(\"drop:after\",r)}_onContextMenu(t){const e=this.findTarget(t),s=this.targets||[],i=this._basicEventHandler(\"contextmenu:before\",{e:t,target:e,subTargets:s});return this.stopContextMenu&&oe(t),this._basicEventHandler(\"contextmenu\",i),!1}_onClick(t){const e=t.detail;e>3||e<2||(this._cacheTransformEventData(t),2==e&&\"dblclick\"===t.type&&this._handleEvent(t,\"dblclick\"),3==e&&this._handleEvent(t,\"tripleclick\"),this._resetTransformEventData())}getPointerId(t){const e=t.changedTouches;return e?e[0]&&e[0].identifier:this.enablePointerEvents?t.pointerId:-1}_isMainEvent(t){return!0===t.isPrimary||!1!==t.isPrimary&&(\"touchend\"===t.type&&0===t.touches.length||(!t.changedTouches||t.changedTouches[0].identifier===this.mainTouchId))}_onTouchStart(t){let e=!this.allowTouchScrolling;const s=this._activeObject;void 0===this.mainTouchId&&(this.mainTouchId=this.getPointerId(t)),this.__onMouseDown(t),(this.isDrawingMode||s&&this._target===s)&&(e=!0),e&&t.preventDefault(),this._resetTransformEventData();const i=this.upperCanvasEl,r=this._getEventPrefix(),n=Kt(i);Fn(n,\"touchend\",this._onTouchEnd,An),e&&Fn(n,\"touchmove\",this._onMouseMove,An),Ln(i,\"\".concat(r,\"down\"),this._onMouseDown)}_onMouseDown(t){this.__onMouseDown(t),this._resetTransformEventData();const e=this.upperCanvasEl,s=this._getEventPrefix();Ln(e,\"\".concat(s,\"move\"),this._onMouseMove,An);const i=Kt(e);Fn(i,\"\".concat(s,\"up\"),this._onMouseUp),Fn(i,\"\".concat(s,\"move\"),this._onMouseMove,An)}_onTouchEnd(t){if(t.touches.length>0)return;this.__onMouseUp(t),this._resetTransformEventData(),delete this.mainTouchId;const e=this._getEventPrefix(),s=Kt(this.upperCanvasEl);Ln(s,\"touchend\",this._onTouchEnd,An),Ln(s,\"touchmove\",this._onMouseMove,An),this._willAddMouseDown&&clearTimeout(this._willAddMouseDown),this._willAddMouseDown=setTimeout((()=>{Fn(this.upperCanvasEl,\"\".concat(e,\"down\"),this._onMouseDown),this._willAddMouseDown=0}),400)}_onMouseUp(t){this.__onMouseUp(t),this._resetTransformEventData();const e=this.upperCanvasEl,s=this._getEventPrefix();if(this._isMainEvent(t)){const t=Kt(this.upperCanvasEl);Ln(t,\"\".concat(s,\"up\"),this._onMouseUp),Ln(t,\"\".concat(s,\"move\"),this._onMouseMove,An),Fn(e,\"\".concat(s,\"move\"),this._onMouseMove,An)}}_onMouseMove(t){const e=this.getActiveObject();!this.allowTouchScrolling&&(!e||!e.shouldStartDragging(t))&&t.preventDefault&&t.preventDefault(),this.__onMouseMove(t)}_onResize(){this.calcOffset(),this._resetTransformEventData()}_shouldRender(t){const e=this.getActiveObject();return!!e!=!!t||e&&t&&e!==t}__onMouseUp(t){var e;this._cacheTransformEventData(t),this._handleEvent(t,\"up:before\");const s=this._currentTransform,i=this._isClick,r=this._target,{button:n}=t;if(n)return(this.fireMiddleClick&&1===n||this.fireRightClick&&2===n)&&this._handleEvent(t,\"up\"),void this._resetTransformEventData();if(this.isDrawingMode&&this._isCurrentlyDrawing)return void this._onMouseUpInDrawingMode(t);if(!this._isMainEvent(t))return;let o,a,h=!1;if(s&&(this._finalizeCurrentTransform(t),h=s.actionPerformed),!i){const e=r===this._activeObject;this.handleSelection(t),h||(h=this._shouldRender(r)||!e&&r===this._activeObject)}if(r){const e=r.findControl(this.getViewportPoint(t),ne(t)),{key:i,control:n}=e||{};if(a=i,r.selectable&&r!==this._activeObject&&\"up\"===r.activeOn)this.setActiveObject(r,t),h=!0;else if(n){const e=n.getMouseUpHandler(t,r,n);e&&(o=this.getScenePoint(t),e.call(n,t,s,o.x,o.y))}r.isMoving=!1}if(s&&(s.target!==r||s.corner!==a)){const e=s.target&&s.target.controls[s.corner],i=e&&e.getMouseUpHandler(t,s.target,e);o=o||this.getScenePoint(t),i&&i.call(e,t,s,o.x,o.y)}this._setCursorFromEvent(t,r),this._handleEvent(t,\"up\"),this._groupSelector=null,this._currentTransform=null,r&&(r.__corner=void 0),h?this.requestRenderAll():i||null!==(e=this._activeObject)&&void 0!==e&&e.isEditing||this.renderTop()}_basicEventHandler(t,e){const{target:s,subTargets:i=[]}=e;this.fire(t,e),s&&s.fire(t,e);for(let r=0;r<i.length;r++)i[r]!==s&&i[r].fire(t,e);return e}_handleEvent(t,e,i){const r=this._target,n=this.targets||[],o=s(s(s({e:t,target:r,subTargets:n},jn(this,t)),{},{transform:this._currentTransform},\"up:before\"===e||\"up\"===e?{isClick:this._isClick,currentTarget:this.findTarget(t),currentSubTargets:this.targets}:{}),\"down:before\"===e||\"down\"===e?i:{});this.fire(\"mouse:\".concat(e),o),r&&r.fire(\"mouse\".concat(e),o);for(let t=0;t<n.length;t++)n[t]!==r&&n[t].fire(\"mouse\".concat(e),o)}_onMouseDownInDrawingMode(t){this._isCurrentlyDrawing=!0,this.getActiveObject()&&(this.discardActiveObject(t),this.requestRenderAll());const e=this.getScenePoint(t);this.freeDrawingBrush&&this.freeDrawingBrush.onMouseDown(e,{e:t,pointer:e}),this._handleEvent(t,\"down\",{alreadySelected:!1})}_onMouseMoveInDrawingMode(t){if(this._isCurrentlyDrawing){const e=this.getScenePoint(t);this.freeDrawingBrush&&this.freeDrawingBrush.onMouseMove(e,{e:t,pointer:e})}this.setCursor(this.freeDrawingCursor),this._handleEvent(t,\"move\")}_onMouseUpInDrawingMode(t){const e=this.getScenePoint(t);this.freeDrawingBrush?this._isCurrentlyDrawing=!!this.freeDrawingBrush.onMouseUp({e:t,pointer:e}):this._isCurrentlyDrawing=!1,this._handleEvent(t,\"up\")}__onMouseDown(t){this._isClick=!0,this._cacheTransformEventData(t),this._handleEvent(t,\"down:before\");let e=this._target,s=!!e&&e===this._activeObject;const{button:i}=t;if(i)return(this.fireMiddleClick&&1===i||this.fireRightClick&&2===i)&&this._handleEvent(t,\"down\",{alreadySelected:s}),void this._resetTransformEventData();if(this.isDrawingMode)return void this._onMouseDownInDrawingMode(t);if(!this._isMainEvent(t))return;if(this._currentTransform)return;let r=this._shouldRender(e),n=!1;if(this.handleMultiSelection(t,e)?(e=this._activeObject,n=!0,r=!0):this._shouldClearSelection(t,e)&&this.discardActiveObject(t),this.selection&&(!e||!e.selectable&&!e.isEditing&&e!==this._activeObject)){const e=this.getScenePoint(t);this._groupSelector={x:e.x,y:e.y,deltaY:0,deltaX:0}}if(s=!!e&&e===this._activeObject,e){e.selectable&&\"down\"===e.activeOn&&this.setActiveObject(e,t);const i=e.findControl(this.getViewportPoint(t),ne(t));if(e===this._activeObject&&(i||!n)){this._setupCurrentTransform(t,e,s);const r=i?i.control:void 0,n=this.getScenePoint(t),o=r&&r.getMouseDownHandler(t,e,r);o&&o.call(r,t,this._currentTransform,n.x,n.y)}}r&&(this._objectsToRender=void 0),this._handleEvent(t,\"down\",{alreadySelected:s}),r&&this.requestRenderAll()}_resetTransformEventData(){this._target=this._pointer=this._absolutePointer=void 0}_cacheTransformEventData(t){this._resetTransformEventData(),this._pointer=this.getViewportPoint(t),this._absolutePointer=pe(this._pointer,void 0,this.viewportTransform),this._target=this._currentTransform?this._currentTransform.target:this.findTarget(t)}__onMouseMove(t){if(this._isClick=!1,this._cacheTransformEventData(t),this._handleEvent(t,\"move:before\"),this.isDrawingMode)return void this._onMouseMoveInDrawingMode(t);if(!this._isMainEvent(t))return;const e=this._groupSelector;if(e){const s=this.getScenePoint(t);e.deltaX=s.x-e.x,e.deltaY=s.y-e.y,this.renderTop()}else if(this._currentTransform)this._transformObject(t);else{const e=this.findTarget(t);this._setCursorFromEvent(t,e),this._fireOverOutEvents(t,e)}this.textEditingManager.onMouseMove(t),this._handleEvent(t,\"move\"),this._resetTransformEventData()}_fireOverOutEvents(t,e){const s=this._hoveredTarget,i=this._hoveredTargets,r=this.targets,n=Math.max(i.length,r.length);this.fireSyntheticInOutEvents(\"mouse\",{e:t,target:e,oldTarget:s,fireCanvas:!0});for(let e=0;e<n;e++)this.fireSyntheticInOutEvents(\"mouse\",{e:t,target:r[e],oldTarget:i[e]});this._hoveredTarget=e,this._hoveredTargets=this.targets.concat()}_fireEnterLeaveEvents(t,e){const i=this._draggedoverTarget,r=this._hoveredTargets,n=this.targets,o=Math.max(r.length,n.length);this.fireSyntheticInOutEvents(\"drag\",s(s({},e),{},{target:t,oldTarget:i,fireCanvas:!0}));for(let t=0;t<o;t++)this.fireSyntheticInOutEvents(\"drag\",s(s({},e),{},{target:n[t],oldTarget:r[t]}));this._draggedoverTarget=t}fireSyntheticInOutEvents(t,e){let{target:r,oldTarget:n,fireCanvas:o,e:a}=e,h=i(e,En);const{targetIn:c,targetOut:l,canvasIn:u,canvasOut:d}=Rn[t],g=n!==r;if(n&&g){const t=s(s({},h),{},{e:a,target:n,nextTarget:r},jn(this,a));o&&this.fire(d,t),n.fire(l,t)}if(r&&g){const t=s(s({},h),{},{e:a,target:r,previousTarget:n},jn(this,a));o&&this.fire(u,t),r.fire(c,t)}}__onMouseWheel(t){this._cacheTransformEventData(t),this._handleEvent(t,\"wheel\"),this._resetTransformEventData()}_transformObject(t){const e=this.getScenePoint(t),s=this._currentTransform,i=s.target,r=i.group?pe(e,void 0,i.group.calcTransformMatrix()):e;s.shiftKey=t.shiftKey,s.altKey=!!this.centeredKey&&t[this.centeredKey],this._performTransformAction(t,s,r),s.actionPerformed&&this.requestRenderAll()}_performTransformAction(t,e,s){const{action:i,actionHandler:r,target:n}=e,o=!!r&&r(t,e,s.x,s.y);o&&n.setCoords(),\"drag\"===i&&o&&(e.target.isMoving=!0,this.setCursor(e.target.moveCursor||this.moveCursor)),e.actionPerformed=e.actionPerformed||o}_setCursorFromEvent(t,e){if(!e)return void this.setCursor(this.defaultCursor);let s=e.hoverCursor||this.hoverCursor;const i=Ut(this._activeObject)?this._activeObject:null,r=(!i||e.group!==i)&&e.findControl(this.getViewportPoint(t));if(r){const s=r.control;this.setCursor(s.cursorStyleHandler(t,s,e))}else e.subTargetCheck&&this.targets.concat().reverse().map((t=>{s=t.hoverCursor||s})),this.setCursor(s)}handleMultiSelection(t,e){const s=this._activeObject,i=Ut(s);if(s&&this._isSelectionKeyPressed(t)&&this.selection&&e&&e.selectable&&(s!==e||i)&&(i||!e.isDescendantOf(s)&&!s.isDescendantOf(e))&&!e.onSelect({e:t})&&!s.getActiveControl()){if(i){const i=s.getObjects();if(e===s){const s=this.getViewportPoint(t);if(!(e=this.searchPossibleTargets(i,s)||this.searchPossibleTargets(this._objects,s))||!e.selectable)return!1}e.group===s?(s.remove(e),this._hoveredTarget=e,this._hoveredTargets=[...this.targets],1===s.size()&&this._setActiveObject(s.item(0),t)):(s.multiSelectAdd(e),this._hoveredTarget=s,this._hoveredTargets=[...this.targets]),this._fireSelectionEvents(i,t)}else{s.isEditing&&s.exitEditing();const i=new(tt.getClass(\"ActiveSelection\"))([],{canvas:this});i.multiSelectAdd(s,e),this._hoveredTarget=i,this._setActiveObject(i,t),this._fireSelectionEvents([s],t)}return!0}return!1}handleSelection(t){if(!this.selection||!this._groupSelector)return!1;const{x:e,y:s,deltaX:i,deltaY:r}=this._groupSelector,n=new ot(e,s),o=n.add(new ot(i,r)),a=n.min(o),h=n.max(o).subtract(a),c=this.collectObjects({left:a.x,top:a.y,width:h.x,height:h.y},{includeIntersecting:!this.selectionFullyContained}),l=n.eq(o)?c[0]?[c[0]]:[]:c.length>1?c.filter((e=>!e.onSelect({e:t}))).reverse():c;if(1===l.length)this.setActiveObject(l[0],t);else if(l.length>1){const e=tt.getClass(\"ActiveSelection\");this.setActiveObject(new e(l,{canvas:this}),t)}return this._groupSelector=null,!0}clear(){this.textEditingManager.clear(),super.clear()}destroy(){this.removeListeners(),this.textEditingManager.dispose(),super.destroy()}}const Bn={x1:0,y1:0,x2:0,y2:0},Xn=s(s({},Bn),{},{r1:0,r2:0}),Yn=(t,e)=>isNaN(t)&&\"number\"==typeof e?e:t,Wn=/^(\\d+\\.\\d+)%|(\\d+)%$/;function Vn(t){return t&&Wn.test(t)}function zn(t,e){const s=\"number\"==typeof t?t:\"string\"==typeof t?parseFloat(t)/(Vn(t)?100:1):NaN;return ks(0,Yn(s,e),1)}const Gn=/\\s*;\\s*/,Hn=/\\s*:\\s*/;function Nn(t,e){let s,i;const r=t.getAttribute(\"style\");if(r){const t=r.split(Gn);\"\"===t[t.length-1]&&t.pop();for(let e=t.length;e--;){const[r,n]=t[e].split(Hn).map((t=>t.trim()));\"stop-color\"===r?s=n:\"stop-opacity\"===r&&(i=n)}}const n=new Le(s||t.getAttribute(\"stop-color\")||\"rgb(0,0,0)\");return{offset:zn(t.getAttribute(\"offset\"),0),color:n.toRgb(),opacity:Yn(parseFloat(i||t.getAttribute(\"stop-opacity\")||\"\"),1)*n.getAlpha()*e}}function Un(t,e){const s=[],i=t.getElementsByTagName(\"stop\"),r=zn(e,1);for(let t=i.length;t--;)s.push(Nn(i[t],r));return s}function qn(t){return\"linearGradient\"===t.nodeName||\"LINEARGRADIENT\"===t.nodeName?\"linear\":\"radial\"}function Kn(t){return\"userSpaceOnUse\"===t.getAttribute(\"gradientUnits\")?\"pixels\":\"percentage\"}function Jn(t,e){return t.getAttribute(e)}function Qn(t,e){return function(t,e){let s,{width:i,height:r,gradientUnits:n}=e;return Object.keys(t).reduce(((e,o)=>{const a=t[o];return\"Infinity\"===a?s=1:\"-Infinity\"===a?s=0:(s=\"string\"==typeof a?parseFloat(a):a,\"string\"==typeof a&&Vn(a)&&(s*=.01,\"pixels\"===n&&(\"x1\"!==o&&\"x2\"!==o&&\"r2\"!==o||(s*=i),\"y1\"!==o&&\"y2\"!==o||(s*=r)))),e[o]=s,e}),{})}(\"linear\"===qn(t)?function(t){return{x1:Jn(t,\"x1\")||0,y1:Jn(t,\"y1\")||0,x2:Jn(t,\"x2\")||\"100%\",y2:Jn(t,\"y2\")||0}}(t):function(t){return{x1:Jn(t,\"fx\")||Jn(t,\"cx\")||\"50%\",y1:Jn(t,\"fy\")||Jn(t,\"cy\")||\"50%\",r1:0,x2:Jn(t,\"cx\")||\"50%\",y2:Jn(t,\"cy\")||\"50%\",r2:Jn(t,\"r\")||\"50%\"}}(t),s(s({},e),{},{gradientUnits:Kn(t)}))}class Zn{constructor(t){const{type:e=\"linear\",gradientUnits:i=\"pixels\",coords:r={},colorStops:n=[],offsetX:o=0,offsetY:a=0,gradientTransform:h,id:c}=t||{};Object.assign(this,{type:e,gradientUnits:i,coords:s(s({},\"radial\"===e?Xn:Bn),r),colorStops:n,offsetX:o,offsetY:a,gradientTransform:h,id:c?\"\".concat(c,\"_\").concat(ft()):ft()})}addColorStop(t){for(const e in t){const s=new Le(t[e]);this.colorStops.push({offset:parseFloat(e),color:s.toRgb(),opacity:s.getAlpha()})}return this}toObject(t){return s(s({},Yt(this,t)),{},{type:this.type,coords:s({},this.coords),colorStops:this.colorStops.map((t=>s({},t))),offsetX:this.offsetX,offsetY:this.offsetY,gradientUnits:this.gradientUnits,gradientTransform:this.gradientTransform?[...this.gradientTransform]:void 0})}toSVG(t){let{additionalTransform:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=[],r=this.gradientTransform?this.gradientTransform.concat():T.concat(),n=\"pixels\"===this.gradientUnits?\"userSpaceOnUse\":\"objectBoundingBox\",o=this.colorStops.map((t=>s({},t))).sort(((t,e)=>t.offset-e.offset));let a=-this.offsetX,h=-this.offsetY;var c;\"objectBoundingBox\"===n?(a/=t.width,h/=t.height):(a+=t.width/2,h+=t.height/2),(c=t)&&\"function\"==typeof c._renderPathCommands&&\"percentage\"!==this.gradientUnits&&(a-=t.pathOffset.x,h-=t.pathOffset.y),r[4]-=a,r[5]-=h;const l=['id=\"SVGID_'.concat(this.id,'\"'),'gradientUnits=\"'.concat(n,'\"'),'gradientTransform=\"'.concat(e?e+\" \":\"\").concat(zt(r),'\"'),\"\"].join(\" \");if(\"linear\"===this.type){const{x1:t,y1:e,x2:s,y2:r}=this.coords;i.push(\"<linearGradient \",l,' x1=\"',t,'\" y1=\"',e,'\" x2=\"',s,'\" y2=\"',r,'\">\\n')}else if(\"radial\"===this.type){const{x1:t,y1:e,x2:s,y2:r,r1:n,r2:a}=this.coords,h=n>a;i.push(\"<radialGradient \",l,' cx=\"',h?t:s,'\" cy=\"',h?e:r,'\" r=\"',h?n:a,'\" fx=\"',h?s:t,'\" fy=\"',h?r:e,'\">\\n'),h&&(o.reverse(),o.forEach((t=>{t.offset=1-t.offset})));const c=Math.min(n,a);if(c>0){const t=c/Math.max(n,a);o.forEach((e=>{e.offset+=t*(1-e.offset)}))}}return o.forEach((t=>{let{color:e,offset:s,opacity:r}=t;i.push(\"<stop \",'offset=\"',100*s+\"%\",'\" style=\"stop-color:',e,void 0!==r?\";stop-opacity: \"+r:\";\",'\"/>\\n')})),i.push(\"linear\"===this.type?\"</linearGradient>\":\"</radialGradient>\",\"\\n\"),i.join(\"\")}toLive(t){const{x1:e,y1:s,x2:i,y2:r,r1:n,r2:o}=this.coords,a=\"linear\"===this.type?t.createLinearGradient(e,s,i,r):t.createRadialGradient(e,s,n,i,r,o);return this.colorStops.forEach((t=>{let{color:e,opacity:s,offset:i}=t;a.addColorStop(i,void 0!==s?new Le(e).setAlpha(s).toRgba():e)})),a}static async fromObject(t){const{colorStops:e,gradientTransform:i}=t;return new this(s(s({},t),{},{colorStops:e?e.map((t=>s({},t))):void 0,gradientTransform:i?[...i]:void 0}))}static fromElement(t,e,i){const r=Kn(t),n=e._findCenterFromElement();return new this(s({id:t.getAttribute(\"id\")||void 0,type:qn(t),coords:Qn(t,{width:i.viewBoxWidth||i.width,height:i.viewBoxHeight||i.height}),colorStops:Un(t,i.opacity),gradientUnits:r,gradientTransform:br(t.getAttribute(\"gradientTransform\")||\"\")},\"pixels\"===r?{offsetX:e.width/2-n.x,offsetY:e.height/2-n.y}:{offsetX:0,offsetY:0}))}}t(Zn,\"type\",\"Gradient\"),tt.setClass(Zn,\"gradient\"),tt.setClass(Zn,\"linear\"),tt.setClass(Zn,\"radial\");const $n=[\"type\",\"source\",\"patternTransform\"];class to{get type(){return\"pattern\"}set type(t){a(\"warn\",\"Setting type has no effect\",t)}constructor(e){t(this,\"repeat\",\"repeat\"),t(this,\"offsetX\",0),t(this,\"offsetY\",0),t(this,\"crossOrigin\",\"\"),this.id=ft(),Object.assign(this,e)}isImageSource(){return!!this.source&&\"string\"==typeof this.source.src}isCanvasSource(){return!!this.source&&!!this.source.toDataURL}sourceToString(){return this.isImageSource()?this.source.src:this.isCanvasSource()?this.source.toDataURL():\"\"}toLive(t){return this.source&&(!this.isImageSource()||this.source.complete&&0!==this.source.naturalWidth&&0!==this.source.naturalHeight)?t.createPattern(this.source,this.repeat):null}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const{repeat:e,crossOrigin:i}=this;return s(s({},Yt(this,t)),{},{type:\"pattern\",source:this.sourceToString(),repeat:e,crossOrigin:i,offsetX:Vt(this.offsetX,o.NUM_FRACTION_DIGITS),offsetY:Vt(this.offsetY,o.NUM_FRACTION_DIGITS),patternTransform:this.patternTransform?[...this.patternTransform]:null})}toSVG(t){let{width:e,height:s}=t;const{source:i,repeat:r,id:n}=this,o=Yn(this.offsetX/e,0),a=Yn(this.offsetY/s,0),h=\"repeat-y\"===r||\"no-repeat\"===r?1+Math.abs(o||0):Yn(i.width/e,0),c=\"repeat-x\"===r||\"no-repeat\"===r?1+Math.abs(a||0):Yn(i.height/s,0);return['<pattern id=\"SVGID_'.concat(n,'\" x=\"').concat(o,'\" y=\"').concat(a,'\" width=\"').concat(h,'\" height=\"').concat(c,'\">'),'<image x=\"0\" y=\"0\" width=\"'.concat(i.width,'\" height=\"').concat(i.height,'\" xlink:href=\"').concat(this.sourceToString(),'\"></image>'),\"</pattern>\",\"\"].join(\"\\n\")}static async fromObject(t,e){let{type:r,source:n,patternTransform:o}=t,a=i(t,$n);const h=await It(n,s(s({},e),{},{crossOrigin:a.crossOrigin}));return new this(s(s({},a),{},{patternTransform:o&&o.slice(0),source:h}))}}t(to,\"type\",\"Pattern\"),tt.setClass(to),tt.setClass(to,\"pattern\");class eo{constructor(e){t(this,\"color\",\"rgb(0, 0, 0)\"),t(this,\"width\",1),t(this,\"shadow\",null),t(this,\"strokeLineCap\",\"round\"),t(this,\"strokeLineJoin\",\"round\"),t(this,\"strokeMiterLimit\",10),t(this,\"strokeDashArray\",null),t(this,\"limitedToCanvasSize\",!1),this.canvas=e}_setBrushStyles(t){t.strokeStyle=this.color,t.lineWidth=this.width,t.lineCap=this.strokeLineCap,t.miterLimit=this.strokeMiterLimit,t.lineJoin=this.strokeLineJoin,t.setLineDash(this.strokeDashArray||[])}_saveAndTransform(t){const e=this.canvas.viewportTransform;t.save(),t.transform(e[0],e[1],e[2],e[3],e[4],e[5])}needsFullRender(){return new Le(this.color).getAlpha()<1||!!this.shadow}_setShadow(){if(!this.shadow||!this.canvas)return;const t=this.canvas,e=this.shadow,s=t.contextTop,i=t.getZoom()*t.getRetinaScaling();s.shadowColor=e.color,s.shadowBlur=e.blur*i,s.shadowOffsetX=e.offsetX*i,s.shadowOffsetY=e.offsetY*i}_resetShadow(){const t=this.canvas.contextTop;t.shadowColor=\"\",t.shadowBlur=t.shadowOffsetX=t.shadowOffsetY=0}_isOutSideCanvas(t){return t.x<0||t.x>this.canvas.getWidth()||t.y<0||t.y>this.canvas.getHeight()}}const so=[\"path\",\"left\",\"top\"],io=[\"d\"];class ro extends ji{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{path:s,left:r,top:n}=e,o=i(e,so);super(),Object.assign(this,ro.ownDefaults),this.setOptions(o),this._setPath(t||[],!0),\"number\"==typeof r&&this.set(M,r),\"number\"==typeof n&&this.set(P,n)}_setPath(t,e){this.path=sn(Array.isArray(t)?t:xn(t)),this.setBoundingBox(e)}_findCenterFromElement(){const t=this._calcBoundsFromPath();return new ot(t.left+t.width/2,t.top+t.height/2)}_renderPathCommands(t){const e=-this.pathOffset.x,s=-this.pathOffset.y;t.beginPath();for(const i of this.path)switch(i[0]){case\"L\":t.lineTo(i[1]+e,i[2]+s);break;case\"M\":t.moveTo(i[1]+e,i[2]+s);break;case\"C\":t.bezierCurveTo(i[1]+e,i[2]+s,i[3]+e,i[4]+s,i[5]+e,i[6]+s);break;case\"Q\":t.quadraticCurveTo(i[1]+e,i[2]+s,i[3]+e,i[4]+s);break;case\"Z\":t.closePath()}}_render(t){this._renderPathCommands(t),this._renderPaintInOrder(t)}toString(){return\"#<Path (\".concat(this.complexity(),'): { \"top\": ').concat(this.top,', \"left\": ').concat(this.left,\" }>\")}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return s(s({},super.toObject(t)),{},{path:this.path.map((t=>t.slice()))})}toDatalessObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const e=this.toObject(t);return this.sourcePath&&(delete e.path,e.sourcePath=this.sourcePath),e}_toSVG(){const t=bn(this.path,o.NUM_FRACTION_DIGITS);return[\"<path \",\"COMMON_PARTS\",'d=\"'.concat(t,'\" stroke-linecap=\"round\" />\\n')]}_getOffsetTransform(){const t=o.NUM_FRACTION_DIGITS;return\" translate(\".concat(Vt(-this.pathOffset.x,t),\", \").concat(Vt(-this.pathOffset.y,t),\")\")}toClipPathSVG(t){const e=this._getOffsetTransform();return\"\\t\"+this._createBaseClipPathSVGMarkup(this._toSVG(),{reviver:t,additionalTransform:e})}toSVG(t){const e=this._getOffsetTransform();return this._createBaseSVGMarkup(this._toSVG(),{reviver:t,additionalTransform:e})}complexity(){return this.path.length}setDimensions(){this.setBoundingBox()}setBoundingBox(t){const{width:e,height:s,pathOffset:i}=this._calcDimensions();this.set({width:e,height:s,pathOffset:i}),t&&this.setPositionByOrigin(i,D,D)}_calcBoundsFromPath(){const t=[];let e=0,s=0,i=0,r=0;for(const n of this.path)switch(n[0]){case\"L\":i=n[1],r=n[2],t.push({x:e,y:s},{x:i,y:r});break;case\"M\":i=n[1],r=n[2],e=i,s=r;break;case\"C\":t.push(...tn(i,r,n[1],n[2],n[3],n[4],n[5],n[6])),i=n[5],r=n[6];break;case\"Q\":t.push(...tn(i,r,n[1],n[2],n[1],n[2],n[3],n[4])),i=n[3],r=n[4];break;case\"Z\":i=e,r=s}return ae(t)}_calcDimensions(){const t=this._calcBoundsFromPath();return s(s({},t),{},{pathOffset:new ot(t.left+t.width/2,t.top+t.height/2)})}static fromObject(t){return this._fromObject(t,{extraParam:\"path\"})}static async fromElement(t,e,r){const n=Dr(t,this.ATTRIBUTE_NAMES,r),{d:o}=n;return new this(o,s(s(s({},i(n,io)),e),{},{left:void 0,top:void 0}))}}t(ro,\"type\",\"Path\"),t(ro,\"cacheProperties\",[...Ms,\"path\",\"fillRule\"]),t(ro,\"ATTRIBUTE_NAMES\",[...Ji,\"d\"]),tt.setClass(ro),tt.setSVGClass(ro);class no extends eo{constructor(e){super(e),t(this,\"decimate\",.4),t(this,\"drawStraightLine\",!1),t(this,\"straightLineKey\",\"shiftKey\"),this._points=[],this._hasStraightLine=!1}needsFullRender(){return super.needsFullRender()||this._hasStraightLine}static drawSegment(t,e,s){const i=e.midPointFrom(s);return t.quadraticCurveTo(e.x,e.y,i.x,i.y),i}onMouseDown(t,e){let{e:s}=e;this.canvas._isMainEvent(s)&&(this.drawStraightLine=!!this.straightLineKey&&s[this.straightLineKey],this._prepareForDrawing(t),this._addPoint(t),this._render())}onMouseMove(t,e){let{e:s}=e;if(this.canvas._isMainEvent(s)&&(this.drawStraightLine=!!this.straightLineKey&&s[this.straightLineKey],(!0!==this.limitedToCanvasSize||!this._isOutSideCanvas(t))&&this._addPoint(t)&&this._points.length>1))if(this.needsFullRender())this.canvas.clearContext(this.canvas.contextTop),this._render();else{const t=this._points,e=t.length,s=this.canvas.contextTop;this._saveAndTransform(s),this.oldEnd&&(s.beginPath(),s.moveTo(this.oldEnd.x,this.oldEnd.y)),this.oldEnd=no.drawSegment(s,t[e-2],t[e-1]),s.stroke(),s.restore()}}onMouseUp(t){let{e:e}=t;return!this.canvas._isMainEvent(e)||(this.drawStraightLine=!1,this.oldEnd=void 0,this._finalizeAndAddPath(),!1)}_prepareForDrawing(t){this._reset(),this._addPoint(t),this.canvas.contextTop.moveTo(t.x,t.y)}_addPoint(t){return!(this._points.length>1&&t.eq(this._points[this._points.length-1]))&&(this.drawStraightLine&&this._points.length>1&&(this._hasStraightLine=!0,this._points.pop()),this._points.push(t),!0)}_reset(){this._points=[],this._setBrushStyles(this.canvas.contextTop),this._setShadow(),this._hasStraightLine=!1}_render(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.canvas.contextTop,e=this._points[0],s=this._points[1];if(this._saveAndTransform(t),t.beginPath(),2===this._points.length&&e.x===s.x&&e.y===s.y){const t=this.width/1e3;e.x-=t,s.x+=t}t.moveTo(e.x,e.y);for(let i=1;i<this._points.length;i++)no.drawSegment(t,e,s),e=this._points[i],s=this._points[i+1];t.lineTo(e.x,e.y),t.stroke(),t.restore()}convertPointsToSVGPath(t){const e=this.width/1e3;return Cn(t,e)}createPath(t){const e=new ro(t,{fill:null,stroke:this.color,strokeWidth:this.width,strokeLineCap:this.strokeLineCap,strokeMiterLimit:this.strokeMiterLimit,strokeLineJoin:this.strokeLineJoin,strokeDashArray:this.strokeDashArray});return this.shadow&&(this.shadow.affectStroke=!0,e.shadow=new Os(this.shadow)),e}decimatePoints(t,e){if(t.length<=2)return t;let s,i=t[0];const r=this.canvas.getZoom(),n=Math.pow(e/r,2),o=t.length-1,a=[i];for(let e=1;e<o-1;e++)s=Math.pow(i.x-t[e].x,2)+Math.pow(i.y-t[e].y,2),s>=n&&(i=t[e],a.push(i));return a.push(t[o]),a}_finalizeAndAddPath(){this.canvas.contextTop.closePath(),this.decimate&&(this._points=this.decimatePoints(this._points,this.decimate));const t=this.convertPointsToSVGPath(this._points);if(function(t){return\"M 0 0 Q 0 0 0 0 L 0 0\"===bn(t)}(t))return void this.canvas.requestRenderAll();const e=this.createPath(t);this.canvas.clearContext(this.canvas.contextTop),this.canvas.fire(\"before:path:created\",{path:e}),this.canvas.add(e),this.canvas.requestRenderAll(),e.setCoords(),this._resetShadow(),this.canvas.fire(\"path:created\",{path:e})}}const oo=[\"left\",\"top\",\"radius\"],ao=[\"radius\",\"startAngle\",\"endAngle\",\"counterClockwise\"];class ho extends ji{static getDefaults(){return s(s({},super.getDefaults()),ho.ownDefaults)}constructor(t){super(),Object.assign(this,ho.ownDefaults),this.setOptions(t)}_set(t,e){return super._set(t,e),\"radius\"===t&&this.setRadius(e),this}_render(t){t.beginPath(),t.arc(0,0,this.radius,xt(this.startAngle),xt(this.endAngle),this.counterClockwise),this._renderPaintInOrder(t)}getRadiusX(){return this.get(\"radius\")*this.get(H)}getRadiusY(){return this.get(\"radius\")*this.get(N)}setRadius(t){this.radius=t,this.set({width:2*t,height:2*t})}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject([...ao,...t])}_toSVG(){const t=(this.endAngle-this.startAngle)%360;if(0===t)return[\"<circle \",\"COMMON_PARTS\",'cx=\"0\" cy=\"0\" ','r=\"',\"\".concat(this.radius),'\" />\\n'];{const{radius:e}=this,s=xt(this.startAngle),i=xt(this.endAngle),r=rt(s)*e,n=nt(s)*e,o=rt(i)*e,a=nt(i)*e,h=t>180?1:0,c=this.counterClockwise?0:1;return['<path d=\"M '.concat(r,\" \").concat(n,\" A \").concat(e,\" \").concat(e,\" 0 \").concat(h,\" \").concat(c,\" \").concat(o,\" \").concat(a,'\" '),\"COMMON_PARTS\",\" />\\n\"]}}static async fromElement(t,e,r){const n=Dr(t,this.ATTRIBUTE_NAMES,r),{left:o=0,top:a=0,radius:h=0}=n;return new this(s(s({},i(n,oo)),{},{radius:h,left:o-h,top:a-h}))}static fromObject(t){return super._fromObject(t)}}t(ho,\"type\",\"Circle\"),t(ho,\"cacheProperties\",[...Ms,...ao]),t(ho,\"ownDefaults\",{radius:0,startAngle:0,endAngle:360,counterClockwise:!1}),t(ho,\"ATTRIBUTE_NAMES\",[\"cx\",\"cy\",\"r\",...Ji]),tt.setClass(ho),tt.setSVGClass(ho);class co extends eo{constructor(e){super(e),t(this,\"width\",10),this.points=[]}drawDot(t){const e=this.addPoint(t),s=this.canvas.contextTop;this._saveAndTransform(s),this.dot(s,e),s.restore()}dot(t,e){t.fillStyle=e.fill,t.beginPath(),t.arc(e.x,e.y,e.radius,0,2*Math.PI,!1),t.closePath(),t.fill()}onMouseDown(t){this.points=[],this.canvas.clearContext(this.canvas.contextTop),this._setShadow(),this.drawDot(t)}_render(){const t=this.canvas.contextTop,e=this.points;this._saveAndTransform(t);for(let s=0;s<e.length;s++)this.dot(t,e[s]);t.restore()}onMouseMove(t){!0===this.limitedToCanvasSize&&this._isOutSideCanvas(t)||(this.needsFullRender()?(this.canvas.clearContext(this.canvas.contextTop),this.addPoint(t),this._render()):this.drawDot(t))}onMouseUp(){const t=this.canvas.renderOnAddRemove;this.canvas.renderOnAddRemove=!1;const e=[];for(let t=0;t<this.points.length;t++){const s=this.points[t],i=new ho({radius:s.radius,left:s.x,top:s.y,originX:D,originY:D,fill:s.fill});this.shadow&&(i.shadow=new Os(this.shadow)),e.push(i)}const s=new Hr(e,{canvas:this.canvas});this.canvas.fire(\"before:path:created\",{path:s}),this.canvas.add(s),this.canvas.fire(\"path:created\",{path:s}),this.canvas.clearContext(this.canvas.contextTop),this._resetShadow(),this.canvas.renderOnAddRemove=t,this.canvas.requestRenderAll()}addPoint(t){let{x:e,y:s}=t;const i={x:e,y:s,radius:wn(Math.max(0,this.width-20),this.width+20)/2,fill:new Le(this.color).setAlpha(wn(0,100)/100).toRgba()};return this.points.push(i),i}}class lo extends eo{constructor(e){super(e),t(this,\"width\",10),t(this,\"density\",20),t(this,\"dotWidth\",1),t(this,\"dotWidthVariance\",1),t(this,\"randomOpacity\",!1),t(this,\"optimizeOverlapping\",!0),this.sprayChunks=[],this.sprayChunk=[]}onMouseDown(t){this.sprayChunks=[],this.canvas.clearContext(this.canvas.contextTop),this._setShadow(),this.addSprayChunk(t),this.renderChunck(this.sprayChunk)}onMouseMove(t){!0===this.limitedToCanvasSize&&this._isOutSideCanvas(t)||(this.addSprayChunk(t),this.renderChunck(this.sprayChunk))}onMouseUp(){const t=this.canvas.renderOnAddRemove;this.canvas.renderOnAddRemove=!1;const e=[];for(let t=0;t<this.sprayChunks.length;t++){const s=this.sprayChunks[t];for(let t=0;t<s.length;t++){const i=s[t],r=new Er({width:i.width,height:i.width,left:i.x+1,top:i.y+1,originX:D,originY:D,fill:this.color});e.push(r)}}const s=new Hr(this.optimizeOverlapping?function(t){const e={},s=[];for(let i,r=0;r<t.length;r++)i=\"\".concat(t[r].left).concat(t[r].top),e[i]||(e[i]=!0,s.push(t[r]));return s}(e):e,{objectCaching:!0,subTargetCheck:!1,interactive:!1});this.shadow&&s.set(\"shadow\",new Os(this.shadow)),this.canvas.fire(\"before:path:created\",{path:s}),this.canvas.add(s),this.canvas.fire(\"path:created\",{path:s}),this.canvas.clearContext(this.canvas.contextTop),this._resetShadow(),this.canvas.renderOnAddRemove=t,this.canvas.requestRenderAll()}renderChunck(t){const e=this.canvas.contextTop;e.fillStyle=this.color,this._saveAndTransform(e);for(let s=0;s<t.length;s++){const i=t[s];e.globalAlpha=i.opacity,e.fillRect(i.x,i.y,i.width,i.width)}e.restore()}_render(){const t=this.canvas.contextTop;t.fillStyle=this.color,this._saveAndTransform(t);for(let t=0;t<this.sprayChunks.length;t++)this.renderChunck(this.sprayChunks[t]);t.restore()}addSprayChunk(t){this.sprayChunk=[];const e=this.width/2;for(let s=0;s<this.density;s++)this.sprayChunk.push({x:wn(t.x-e,t.x+e),y:wn(t.y-e,t.y+e),width:this.dotWidthVariance?wn(Math.max(1,this.dotWidth-this.dotWidthVariance),this.dotWidth+this.dotWidthVariance):this.dotWidth,opacity:this.randomOpacity?wn(0,100)/100:1});this.sprayChunks.push(this.sprayChunk)}}class uo extends no{constructor(t){super(t)}getPatternSrc(){const t=pt(),e=t.getContext(\"2d\");return t.width=t.height=25,e&&(e.fillStyle=this.color,e.beginPath(),e.arc(10,10,10,0,2*Math.PI,!1),e.closePath(),e.fill()),t}getPattern(t){return t.createPattern(this.source||this.getPatternSrc(),\"repeat\")}_setBrushStyles(t){super._setBrushStyles(t);const e=this.getPattern(t);e&&(t.strokeStyle=e)}createPath(t){const e=super.createPath(t),s=e._getLeftTopCoords().scalarAdd(e.strokeWidth/2);return e.stroke=new to({source:this.source||this.getPatternSrc(),offsetX:-s.x,offsetY:-s.y}),e}}const go=[\"x1\",\"y1\",\"x2\",\"y2\"],fo=[\"x1\",\"y1\",\"x2\",\"y2\"],po=[\"x1\",\"x2\",\"y1\",\"y2\"];class mo extends ji{constructor(){let[t,e,s,i]=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,0,0],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),Object.assign(this,mo.ownDefaults),this.setOptions(r),this.x1=t,this.x2=s,this.y1=e,this.y2=i,this._setWidthHeight();const{left:n,top:o}=r;\"number\"==typeof n&&this.set(M,n),\"number\"==typeof o&&this.set(P,o)}_setWidthHeight(){const{x1:t,y1:e,x2:s,y2:i}=this;this.width=Math.abs(s-t),this.height=Math.abs(i-e);const{left:r,top:n,width:o,height:a}=ae([{x:t,y:e},{x:s,y:i}]),h=new ot(r+o/2,n+a/2);this.setPositionByOrigin(h,D,D)}_set(t,e){return super._set(t,e),po.includes(t)&&this._setWidthHeight(),this}_render(t){t.beginPath();const e=this.calcLinePoints();t.moveTo(e.x1,e.y1),t.lineTo(e.x2,e.y2),t.lineWidth=this.strokeWidth;const s=t.strokeStyle;var i;Gt(this.stroke)?t.strokeStyle=this.stroke.toLive(t):t.strokeStyle=null!==(i=this.stroke)&&void 0!==i?i:t.fillStyle;this.stroke&&this._renderStroke(t),t.strokeStyle=s}_findCenterFromElement(){return new ot((this.x1+this.x2)/2,(this.y1+this.y2)/2)}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return s(s({},super.toObject(t)),this.calcLinePoints())}_getNonTransformedDimensions(){const t=super._getNonTransformedDimensions();return\"butt\"===this.strokeLineCap&&(0===this.width&&(t.y-=this.strokeWidth),0===this.height&&(t.x-=this.strokeWidth)),t}calcLinePoints(){const{x1:t,x2:e,y1:s,y2:i,width:r,height:n}=this,o=t<=e?-1:1,a=s<=i?-1:1;return{x1:o*r/2,x2:o*-r/2,y1:a*n/2,y2:a*-n/2}}_toSVG(){const{x1:t,x2:e,y1:s,y2:i}=this.calcLinePoints();return[\"<line \",\"COMMON_PARTS\",'x1=\"'.concat(t,'\" y1=\"').concat(s,'\" x2=\"').concat(e,'\" y2=\"').concat(i,'\" />\\n')]}static async fromElement(t,e,s){const r=Dr(t,this.ATTRIBUTE_NAMES,s),{x1:n=0,y1:o=0,x2:a=0,y2:h=0}=r;return new this([n,o,a,h],i(r,go))}static fromObject(t){let{x1:e,y1:r,x2:n,y2:o}=t,a=i(t,fo);return this._fromObject(s(s({},a),{},{points:[e,r,n,o]}),{extraParam:\"points\"})}}t(mo,\"type\",\"Line\"),t(mo,\"cacheProperties\",[...Ms,...po]),t(mo,\"ATTRIBUTE_NAMES\",Ji.concat(po)),tt.setClass(mo),tt.setSVGClass(mo);class vo extends ji{static getDefaults(){return s(s({},super.getDefaults()),vo.ownDefaults)}constructor(t){super(),Object.assign(this,vo.ownDefaults),this.setOptions(t)}_render(t){const e=this.width/2,s=this.height/2;t.beginPath(),t.moveTo(-e,s),t.lineTo(0,-s),t.lineTo(e,s),t.closePath(),this._renderPaintInOrder(t)}_toSVG(){const t=this.width/2,e=this.height/2;return[\"<polygon \",\"COMMON_PARTS\",'points=\"',\"\".concat(-t,\" \").concat(e,\",0 \").concat(-e,\",\").concat(t,\" \").concat(e),'\" />']}}t(vo,\"type\",\"Triangle\"),t(vo,\"ownDefaults\",{width:100,height:100}),tt.setClass(vo),tt.setSVGClass(vo);const yo=[\"rx\",\"ry\"];class _o extends ji{static getDefaults(){return s(s({},super.getDefaults()),_o.ownDefaults)}constructor(t){super(),Object.assign(this,_o.ownDefaults),this.setOptions(t)}_set(t,e){switch(super._set(t,e),t){case\"rx\":this.rx=e,this.set(\"width\",2*e);break;case\"ry\":this.ry=e,this.set(\"height\",2*e)}return this}getRx(){return this.get(\"rx\")*this.get(H)}getRy(){return this.get(\"ry\")*this.get(N)}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject([...yo,...t])}_toSVG(){return[\"<ellipse \",\"COMMON_PARTS\",'cx=\"0\" cy=\"0\" rx=\"'.concat(this.rx,'\" ry=\"').concat(this.ry,'\" />\\n')]}_render(t){t.beginPath(),t.save(),t.transform(1,0,0,this.ry/this.rx,0,0),t.arc(0,0,this.rx,0,S,!1),t.restore(),this._renderPaintInOrder(t)}static async fromElement(t,e,s){const i=Dr(t,this.ATTRIBUTE_NAMES,s);return i.left=(i.left||0)-i.rx,i.top=(i.top||0)-i.ry,new this(i)}}function xo(t){if(!t)return[];const e=t.replace(/,/g,\" \").trim().split(/\\s+/),s=[];for(let t=0;t<e.length;t+=2)s.push({x:parseFloat(e[t]),y:parseFloat(e[t+1])});return s}t(_o,\"type\",\"Ellipse\"),t(_o,\"cacheProperties\",[...Ms,...yo]),t(_o,\"ownDefaults\",{rx:0,ry:0}),t(_o,\"ATTRIBUTE_NAMES\",[...Ji,\"cx\",\"cy\",\"rx\",\"ry\"]),tt.setClass(_o),tt.setSVGClass(_o);const Co=[\"left\",\"top\"],bo={exactBoundingBox:!1};class So extends ji{static getDefaults(){return s(s({},super.getDefaults()),So.ownDefaults)}constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),t(this,\"strokeDiff\",void 0),Object.assign(this,So.ownDefaults),this.setOptions(s),this.points=e;const{left:i,top:r}=s;this.initialized=!0,this.setBoundingBox(!0),\"number\"==typeof i&&this.set(M,i),\"number\"==typeof r&&this.set(P,r)}isOpen(){return!0}_projectStrokeOnPoints(t){return Xi(this.points,t,this.isOpen())}_calcDimensions(t){t=s({scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,strokeLineCap:this.strokeLineCap,strokeLineJoin:this.strokeLineJoin,strokeMiterLimit:this.strokeMiterLimit,strokeUniform:this.strokeUniform,strokeWidth:this.strokeWidth},t||{});const e=this.exactBoundingBox?this._projectStrokeOnPoints(t).map((t=>t.projectedPoint)):this.points;if(0===e.length)return{left:0,top:0,width:0,height:0,pathOffset:new ot,strokeOffset:new ot,strokeDiff:new ot};const i=ae(e),r=Lt(s(s({},t),{},{scaleX:1,scaleY:1})),n=ae(this.points.map((t=>St(t,r,!0)))),o=new ot(this.scaleX,this.scaleY);let a=i.left+i.width/2,h=i.top+i.height/2;return this.exactBoundingBox&&(a-=h*Math.tan(xt(this.skewX)),h-=a*Math.tan(xt(this.skewY))),s(s({},i),{},{pathOffset:new ot(a,h),strokeOffset:new ot(n.left,n.top).subtract(new ot(i.left,i.top)).multiply(o),strokeDiff:new ot(i.width,i.height).subtract(new ot(n.width,n.height)).multiply(o)})}_findCenterFromElement(){const t=ae(this.points);return new ot(t.left+t.width/2,t.top+t.height/2)}setDimensions(){this.setBoundingBox()}setBoundingBox(t){const{left:e,top:s,width:i,height:r,pathOffset:n,strokeOffset:o,strokeDiff:a}=this._calcDimensions();this.set({width:i,height:r,pathOffset:n,strokeOffset:o,strokeDiff:a}),t&&this.setPositionByOrigin(new ot(e+i/2,s+r/2),D,D)}isStrokeAccountedForInDimensions(){return this.exactBoundingBox}_getNonTransformedDimensions(){return this.exactBoundingBox?new ot(this.width,this.height):super._getNonTransformedDimensions()}_getTransformedDimensions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.exactBoundingBox){let n;if(Object.keys(t).some((t=>this.strokeUniform||this.constructor.layoutProperties.includes(t)))){var e,s;const{width:i,height:r}=this._calcDimensions(t);n=new ot(null!==(e=t.width)&&void 0!==e?e:i,null!==(s=t.height)&&void 0!==s?s:r)}else{var i,r;n=new ot(null!==(i=t.width)&&void 0!==i?i:this.width,null!==(r=t.height)&&void 0!==r?r:this.height)}return n.multiply(new ot(t.scaleX||this.scaleX,t.scaleY||this.scaleY))}return super._getTransformedDimensions(t)}_set(t,e){const s=this.initialized&&this[t]!==e,i=super._set(t,e);return this.exactBoundingBox&&s&&((t===H||t===N)&&this.strokeUniform&&this.constructor.layoutProperties.includes(\"strokeUniform\")||this.constructor.layoutProperties.includes(t))&&this.setDimensions(),i}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return s(s({},super.toObject(t)),{},{points:this.points.map((t=>{let{x:e,y:s}=t;return{x:e,y:s}}))})}_toSVG(){const t=[],e=this.pathOffset.x,s=this.pathOffset.y,i=o.NUM_FRACTION_DIGITS;for(let r=0,n=this.points.length;r<n;r++)t.push(Vt(this.points[r].x-e,i),\",\",Vt(this.points[r].y-s,i),\" \");return[\"<\".concat(this.constructor.type.toLowerCase(),\" \"),\"COMMON_PARTS\",'points=\"'.concat(t.join(\"\"),'\" />\\n')]}_render(t){const e=this.points.length,s=this.pathOffset.x,i=this.pathOffset.y;if(e&&!isNaN(this.points[e-1].y)){t.beginPath(),t.moveTo(this.points[0].x-s,this.points[0].y-i);for(let r=0;r<e;r++){const e=this.points[r];t.lineTo(e.x-s,e.y-i)}!this.isOpen()&&t.closePath(),this._renderPaintInOrder(t)}}complexity(){return this.points.length}static async fromElement(t,e,r){return new this(xo(t.getAttribute(\"points\")),s(s({},i(Dr(t,this.ATTRIBUTE_NAMES,r),Co)),e))}static fromObject(t){return this._fromObject(t,{extraParam:\"points\"})}}t(So,\"ownDefaults\",bo),t(So,\"type\",\"Polyline\"),t(So,\"layoutProperties\",[U,q,\"strokeLineCap\",\"strokeLineJoin\",\"strokeMiterLimit\",\"strokeWidth\",\"strokeUniform\",\"points\"]),t(So,\"cacheProperties\",[...Ms,\"points\"]),t(So,\"ATTRIBUTE_NAMES\",[...Ji]),tt.setClass(So),tt.setSVGClass(So);class wo extends So{isOpen(){return!1}}t(wo,\"ownDefaults\",bo),t(wo,\"type\",\"Polygon\"),tt.setClass(wo),tt.setSVGClass(wo);class To extends ji{isEmptyStyles(t){if(!this.styles)return!0;if(void 0!==t&&!this.styles[t])return!0;const e=void 0===t?this.styles:{line:this.styles[t]};for(const t in e)for(const s in e[t])for(const i in e[t][s])return!1;return!0}styleHas(t,e){if(!this.styles)return!1;if(void 0!==e&&!this.styles[e])return!1;const s=void 0===e?this.styles:{0:this.styles[e]};for(const e in s)for(const i in s[e])if(void 0!==s[e][i][t])return!0;return!1}cleanStyle(t){if(!this.styles)return!1;const e=this.styles;let s,i,r=0,n=!0,o=0;for(const o in e){s=0;for(const a in e[o]){const h=e[o][a]||{};r++,void 0!==h[t]?(i?h[t]!==i&&(n=!1):i=h[t],h[t]===this[t]&&delete h[t]):n=!1,0!==Object.keys(h).length?s++:delete e[o][a]}0===s&&delete e[o]}for(let t=0;t<this._textLines.length;t++)o+=this._textLines[t].length;n&&r===o&&(this[t]=i,this.removeStyle(t))}removeStyle(t){if(!this.styles)return;const e=this.styles;let s,i,r;for(i in e){for(r in s=e[i],s)delete s[r][t],0===Object.keys(s[r]).length&&delete s[r];0===Object.keys(s).length&&delete e[i]}}_extendStyles(t,e){const{lineIndex:i,charIndex:r}=this.get2DCursorLocation(t);this._getLineStyle(i)||this._setLineStyle(i);const n=Wt(s(s({},this._getStyleDeclaration(i,r)),e),(t=>void 0!==t));this._setStyleDeclaration(i,r,n)}getSelectionStyles(t,e,s){const i=[];for(let r=t;r<(e||t);r++)i.push(this.getStyleAtPosition(r,s));return i}getStyleAtPosition(t,e){const{lineIndex:s,charIndex:i}=this.get2DCursorLocation(t);return e?this.getCompleteStyleDeclaration(s,i):this._getStyleDeclaration(s,i)}setSelectionStyles(t,e,s){for(let i=e;i<(s||e);i++)this._extendStyles(i,t);this._forceClearCache=!0}_getStyleDeclaration(t,e){var s;const i=this.styles&&this.styles[t];return i&&null!==(s=i[e])&&void 0!==s?s:{}}getCompleteStyleDeclaration(t,e){return s(s({},Yt(this,this.constructor._styleProperties)),this._getStyleDeclaration(t,e))}_setStyleDeclaration(t,e,s){this.styles[t][e]=s}_deleteStyleDeclaration(t,e){delete this.styles[t][e]}_getLineStyle(t){return!!this.styles[t]}_setLineStyle(t){this.styles[t]={}}_deleteLineStyle(t){delete this.styles[t]}}t(To,\"_styleProperties\",Ne);const Oo=/ +/g,ko=/\"/g;function Do(t,e,s,i,r){return\"\\t\\t\".concat(function(t,e){let{left:s,top:i,width:r,height:n}=e,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.NUM_FRACTION_DIGITS;const h=Be(K,t,!1),[c,l,u,d]=[s,i,r,n].map((t=>Vt(t,a)));return\"<rect \".concat(h,' x=\"').concat(c,'\" y=\"').concat(l,'\" width=\"').concat(u,'\" height=\"').concat(d,'\"></rect>')}(t,{left:e,top:s,width:i,height:r}),\"\\n\")}const Mo=[\"textAnchor\",\"textDecoration\",\"dx\",\"dy\",\"top\",\"left\",\"fontSize\",\"strokeWidth\"];let Po;class Eo extends To{static getDefaults(){return s(s({},super.getDefaults()),Eo.ownDefaults)}constructor(e,s){super(),t(this,\"__charBounds\",[]),Object.assign(this,Eo.ownDefaults),this.setOptions(s),this.styles||(this.styles={}),this.text=e,this.initialized=!0,this.path&&this.setPathInfo(),this.initDimensions(),this.setCoords()}setPathInfo(){const t=this.path;t&&(t.segmentsInfo=fn(t.path))}_splitText(){const t=this._splitTextIntoLines(this.text);return this.textLines=t.lines,this._textLines=t.graphemeLines,this._unwrappedTextLines=t._unwrappedLines,this._text=t.graphemeText,t}initDimensions(){this._splitText(),this._clearCache(),this.dirty=!0,this.path?(this.width=this.path.width,this.height=this.path.height):(this.width=this.calcTextWidth()||this.cursorWidth||this.MIN_TEXT_WIDTH,this.height=this.calcTextHeight()),this.textAlign.includes(qe)&&this.enlargeSpaces()}enlargeSpaces(){let t,e,s,i,r,n,o;for(let a=0,h=this._textLines.length;a<h;a++)if((this.textAlign===qe||a!==h-1&&!this.isEndOfWrapping(a))&&(i=0,r=this._textLines[a],e=this.getLineWidth(a),e<this.width&&(o=this.textLines[a].match(this._reSpacesAndTabs)))){s=o.length,t=(this.width-e)/s;for(let e=0;e<=r.length;e++)n=this.__charBounds[a][e],this._reSpaceAndTab.test(r[e])?(n.width+=t,n.kernedWidth+=t,n.left+=i,i+=t):n.left+=i}}isEndOfWrapping(t){return t===this._textLines.length-1}missingNewlineOffset(t){return 1}get2DCursorLocation(t,e){const s=e?this._unwrappedTextLines:this._textLines;let i;for(i=0;i<s.length;i++){if(t<=s[i].length)return{lineIndex:i,charIndex:t};t-=s[i].length+this.missingNewlineOffset(i,e)}return{lineIndex:i-1,charIndex:s[i-1].length<t?s[i-1].length:t}}toString(){return\"#<Text (\".concat(this.complexity(),'): { \"text\": \"').concat(this.text,'\", \"fontFamily\": \"').concat(this.fontFamily,'\" }>')}_getCacheCanvasDimensions(){const t=super._getCacheCanvasDimensions(),e=this.fontSize;return t.width+=e*t.zoomX,t.height+=e*t.zoomY,t}_render(t){const e=this.path;e&&!e.isNotVisible()&&e._render(t),this._setTextStyles(t),this._renderTextLinesBackground(t),this._renderTextDecoration(t,\"underline\"),this._renderText(t),this._renderTextDecoration(t,\"overline\"),this._renderTextDecoration(t,\"linethrough\")}_renderText(t){this.paintFirst===J?(this._renderTextStroke(t),this._renderTextFill(t)):(this._renderTextFill(t),this._renderTextStroke(t))}_setTextStyles(t,e,s){if(t.textBaseline=\"alphabetic\",this.path)switch(this.pathAlign){case D:t.textBaseline=\"middle\";break;case\"ascender\":t.textBaseline=P;break;case\"descender\":t.textBaseline=E}t.font=this._getFontDeclaration(e,s)}calcTextWidth(){let t=this.getLineWidth(0);for(let e=1,s=this._textLines.length;e<s;e++){const s=this.getLineWidth(e);s>t&&(t=s)}return t}_renderTextLine(t,e,s,i,r,n){this._renderChars(t,e,s,i,r,n)}_renderTextLinesBackground(t){if(!this.textBackgroundColor&&!this.styleHas(\"textBackgroundColor\"))return;const e=t.fillStyle,s=this._getLeftOffset();let i=this._getTopOffset();for(let e=0,r=this._textLines.length;e<r;e++){const r=this.getHeightOfLine(e);if(!this.textBackgroundColor&&!this.styleHas(\"textBackgroundColor\",e)){i+=r;continue}const n=this._textLines[e].length,o=this._getLineLeftOffset(e);let a,h,c=0,l=0,u=this.getValueOfPropertyAt(e,0,\"textBackgroundColor\");for(let d=0;d<n;d++){const n=this.__charBounds[e][d];h=this.getValueOfPropertyAt(e,d,\"textBackgroundColor\"),this.path?(t.save(),t.translate(n.renderLeft,n.renderTop),t.rotate(n.angle),t.fillStyle=h,h&&t.fillRect(-n.width/2,-r/this.lineHeight*(1-this._fontSizeFraction),n.width,r/this.lineHeight),t.restore()):h!==u?(a=s+o+l,\"rtl\"===this.direction&&(a=this.width-a-c),t.fillStyle=u,u&&t.fillRect(a,i,c,r/this.lineHeight),l=n.left,c=n.width,u=h):c+=n.kernedWidth}h&&!this.path&&(a=s+o+l,\"rtl\"===this.direction&&(a=this.width-a-c),t.fillStyle=h,t.fillRect(a,i,c,r/this.lineHeight)),i+=r}t.fillStyle=e,this._removeShadow(t)}_measureChar(t,e,s,i){const r=_.getFontCache(e),n=this._getFontDeclaration(e),o=s+t,a=s&&n===this._getFontDeclaration(i),h=e.fontSize/this.CACHE_FONT_SIZE;let c,l,u,d;if(s&&void 0!==r[s]&&(u=r[s]),void 0!==r[t]&&(d=c=r[t]),a&&void 0!==r[o]&&(l=r[o],d=l-u),void 0===c||void 0===u||void 0===l){const i=function(){if(!Po){const t=vt({width:0,height:0});Po=t.getContext(\"2d\")}return Po}();this._setTextStyles(i,e,!0),void 0===c&&(d=c=i.measureText(t).width,r[t]=c),void 0===u&&a&&s&&(u=i.measureText(s).width,r[s]=u),a&&void 0===l&&(l=i.measureText(o).width,r[o]=l,d=l-u)}return{width:c*h,kernedWidth:d*h}}getHeightOfChar(t,e){return this.getValueOfPropertyAt(t,e,\"fontSize\")}measureLine(t){const e=this._measureLine(t);return 0!==this.charSpacing&&(e.width-=this._getWidthOfCharSpacing()),e.width<0&&(e.width=0),e}_measureLine(t){let e,s,i=0;const r=this.pathSide===A,n=this.path,o=this._textLines[t],a=o.length,h=new Array(a);this.__charBounds[t]=h;for(let r=0;r<a;r++){const n=o[r];s=this._getGraphemeBox(n,t,r,e),h[r]=s,i+=s.kernedWidth,e=n}if(h[a]={left:s?s.left+s.width:0,width:0,kernedWidth:0,height:this.fontSize,deltaY:0},n&&n.segmentsInfo){let t=0;const e=n.segmentsInfo[n.segmentsInfo.length-1].length;switch(this.textAlign){case M:t=r?e-i:0;break;case D:t=(e-i)/2;break;case A:t=r?0:e-i}t+=this.pathStartOffset*(r?-1:1);for(let i=r?a-1:0;r?i>=0:i<a;r?i--:i++)s=h[i],t>e?t%=e:t<0&&(t+=e),this._setGraphemeOnPath(t,s),t+=s.kernedWidth}return{width:i,numOfSpaces:0}}_setGraphemeOnPath(t,e){const s=t+e.kernedWidth/2,i=this.path,r=pn(i.path,s,i.segmentsInfo);e.renderLeft=r.x-i.pathOffset.x,e.renderTop=r.y-i.pathOffset.y,e.angle=r.angle+(this.pathSide===A?Math.PI:0)}_getGraphemeBox(t,e,s,i,r){const n=this.getCompleteStyleDeclaration(e,s),o=i?this.getCompleteStyleDeclaration(e,s-1):{},a=this._measureChar(t,n,i,o);let h,c=a.kernedWidth,l=a.width;0!==this.charSpacing&&(h=this._getWidthOfCharSpacing(),l+=h,c+=h);const u={width:l,left:0,height:n.fontSize,kernedWidth:c,deltaY:n.deltaY};if(s>0&&!r){const t=this.__charBounds[e][s-1];u.left=t.left+t.width+a.kernedWidth-a.width}return u}getHeightOfLine(t){if(this.__lineHeights[t])return this.__lineHeights[t];let e=this.getHeightOfChar(t,0);for(let s=1,i=this._textLines[t].length;s<i;s++)e=Math.max(this.getHeightOfChar(t,s),e);return this.__lineHeights[t]=e*this.lineHeight*this._fontSizeMult}calcTextHeight(){let t,e=0;for(let s=0,i=this._textLines.length;s<i;s++)t=this.getHeightOfLine(s),e+=s===i-1?t/this.lineHeight:t;return e}_getLeftOffset(){return\"ltr\"===this.direction?-this.width/2:this.width/2}_getTopOffset(){return-this.height/2}_renderTextCommon(t,e){t.save();let s=0;const i=this._getLeftOffset(),r=this._getTopOffset();for(let n=0,o=this._textLines.length;n<o;n++){const o=this.getHeightOfLine(n),a=o/this.lineHeight,h=this._getLineLeftOffset(n);this._renderTextLine(e,t,this._textLines[n],i+h,r+s+a,n),s+=o}t.restore()}_renderTextFill(t){(this.fill||this.styleHas(K))&&this._renderTextCommon(t,\"fillText\")}_renderTextStroke(t){(this.stroke&&0!==this.strokeWidth||!this.isEmptyStyles())&&(this.shadow&&!this.shadow.affectStroke&&this._removeShadow(t),t.save(),this._setLineDash(t,this.strokeDashArray),t.beginPath(),this._renderTextCommon(t,\"strokeText\"),t.closePath(),t.restore())}_renderChars(t,e,s,i,r,n){const o=this.getHeightOfLine(n),a=this.textAlign.includes(qe),h=this.path,c=!a&&0===this.charSpacing&&this.isEmptyStyles(n)&&!h,l=\"ltr\"===this.direction,u=\"ltr\"===this.direction?1:-1,d=e.direction;let g,f,p,m,v,y=\"\",_=0;if(e.save(),d!==this.direction&&(e.canvas.setAttribute(\"dir\",l?\"ltr\":\"rtl\"),e.direction=l?\"ltr\":\"rtl\",e.textAlign=l?M:A),r-=o*this._fontSizeFraction/this.lineHeight,c)return this._renderChar(t,e,n,0,s.join(\"\"),i,r),void e.restore();for(let o=0,c=s.length-1;o<=c;o++)m=o===c||this.charSpacing||h,y+=s[o],p=this.__charBounds[n][o],0===_?(i+=u*(p.kernedWidth-p.width),_+=p.width):_+=p.kernedWidth,a&&!m&&this._reSpaceAndTab.test(s[o])&&(m=!0),m||(g=g||this.getCompleteStyleDeclaration(n,o),f=this.getCompleteStyleDeclaration(n,o+1),m=Ui(g,f,!1)),m&&(h?(e.save(),e.translate(p.renderLeft,p.renderTop),e.rotate(p.angle),this._renderChar(t,e,n,o,y,-_/2,0),e.restore()):(v=i,this._renderChar(t,e,n,o,y,v,r)),y=\"\",g=f,i+=u*_,_=0);e.restore()}_applyPatternGradientTransformText(t){const e=this.width+this.strokeWidth,s=this.height+this.strokeWidth,i=vt({width:e,height:s}),r=i.getContext(\"2d\");return i.width=e,i.height=s,r.beginPath(),r.moveTo(0,0),r.lineTo(e,0),r.lineTo(e,s),r.lineTo(0,s),r.closePath(),r.translate(e/2,s/2),r.fillStyle=t.toLive(r),this._applyPatternGradientTransform(r,t),r.fill(),r.createPattern(i,\"no-repeat\")}handleFiller(t,e,s){let i,r;return Gt(s)?\"percentage\"===s.gradientUnits||s.gradientTransform||s.patternTransform?(i=-this.width/2,r=-this.height/2,t.translate(i,r),t[e]=this._applyPatternGradientTransformText(s),{offsetX:i,offsetY:r}):(t[e]=s.toLive(t),this._applyPatternGradientTransform(t,s)):(t[e]=s,{offsetX:0,offsetY:0})}_setStrokeStyles(t,e){let{stroke:s,strokeWidth:i}=e;return t.lineWidth=i,t.lineCap=this.strokeLineCap,t.lineDashOffset=this.strokeDashOffset,t.lineJoin=this.strokeLineJoin,t.miterLimit=this.strokeMiterLimit,this.handleFiller(t,\"strokeStyle\",s)}_setFillStyles(t,e){let{fill:s}=e;return this.handleFiller(t,\"fillStyle\",s)}_renderChar(t,e,s,i,r,n,o){const a=this._getStyleDeclaration(s,i),h=this.getCompleteStyleDeclaration(s,i),c=\"fillText\"===t&&h.fill,l=\"strokeText\"===t&&h.stroke&&h.strokeWidth;if(l||c){if(e.save(),e.font=this._getFontDeclaration(h),a.textBackgroundColor&&this._removeShadow(e),a.deltaY&&(o+=a.deltaY),c){const t=this._setFillStyles(e,h);e.fillText(r,n-t.offsetX,o-t.offsetY)}if(l){const t=this._setStrokeStyles(e,h);e.strokeText(r,n-t.offsetX,o-t.offsetY)}e.restore()}}setSuperscript(t,e){this._setScript(t,e,this.superscript)}setSubscript(t,e){this._setScript(t,e,this.subscript)}_setScript(t,e,s){const i=this.get2DCursorLocation(t,!0),r=this.getValueOfPropertyAt(i.lineIndex,i.charIndex,\"fontSize\"),n=this.getValueOfPropertyAt(i.lineIndex,i.charIndex,\"deltaY\"),o={fontSize:r*s.size,deltaY:n+r*s.baseline};this.setSelectionStyles(o,t,e)}_getLineLeftOffset(t){const e=this.getLineWidth(t),s=this.width-e,i=this.textAlign,r=this.direction,n=this.isEndOfWrapping(t);let o=0;return i===qe||i===Qe&&!n||i===Je&&!n||i===Ke&&!n?0:(i===D&&(o=s/2),i===A&&(o=s),i===Qe&&(o=s/2),i===Je&&(o=s),\"rtl\"===r&&(i===A||i===qe||i===Je?o=0:i===M||i===Ke?o=-s:i!==D&&i!==Qe||(o=-s/2)),o)}_clearCache(){this._forceClearCache=!1,this.__lineWidths=[],this.__lineHeights=[],this.__charBounds=[]}getLineWidth(t){if(void 0!==this.__lineWidths[t])return this.__lineWidths[t];const{width:e}=this.measureLine(t);return this.__lineWidths[t]=e,e}_getWidthOfCharSpacing(){return 0!==this.charSpacing?this.fontSize*this.charSpacing/1e3:0}getValueOfPropertyAt(t,e,s){var i;return null!==(i=this._getStyleDeclaration(t,e)[s])&&void 0!==i?i:this[s]}_renderTextDecoration(t,e){if(!this[e]&&!this.styleHas(e))return;let s=this._getTopOffset();const i=this._getLeftOffset(),r=this.path,n=this._getWidthOfCharSpacing(),o=\"linethrough\"===e?.5:\"overline\"===e?1:0,a=this.offsets[e];for(let h=0,c=this._textLines.length;h<c;h++){const c=this.getHeightOfLine(h);if(!this[e]&&!this.styleHas(e,h)){s+=c;continue}const l=this._textLines[h],u=c/this.lineHeight,d=this._getLineLeftOffset(h);let g=0,f=0,p=this.getValueOfPropertyAt(h,0,e),m=this.getValueOfPropertyAt(h,0,K),v=this.getValueOfPropertyAt(h,0,We),y=p,_=m,x=v;const C=s+u*(1-this._fontSizeFraction);let b=this.getHeightOfChar(h,0),S=this.getValueOfPropertyAt(h,0,\"deltaY\");for(let s=0,n=l.length;s<n;s++){const n=this.__charBounds[h][s];y=this.getValueOfPropertyAt(h,s,e),_=this.getValueOfPropertyAt(h,s,K),x=this.getValueOfPropertyAt(h,s,We);const c=this.getHeightOfChar(h,s),l=this.getValueOfPropertyAt(h,s,\"deltaY\");if(r&&y&&_){const e=this.fontSize*x/1e3;t.save(),t.fillStyle=m,t.translate(n.renderLeft,n.renderTop),t.rotate(n.angle),t.fillRect(-n.kernedWidth/2,a*c+l-o*e,n.kernedWidth,e),t.restore()}else if((y!==p||_!==m||c!==b||x!==v||l!==S)&&f>0){const e=this.fontSize*v/1e3;let s=i+d+g;\"rtl\"===this.direction&&(s=this.width-s-f),p&&m&&v&&(t.fillStyle=m,t.fillRect(s,C+a*b+S-o*e,f,e)),g=n.left,f=n.width,p=y,v=x,m=_,b=c,S=l}else f+=n.kernedWidth}let w=i+d+g;\"rtl\"===this.direction&&(w=this.width-w-f),t.fillStyle=_;const T=this.fontSize*x/1e3;y&&_&&x&&t.fillRect(w,C+a*b+S-o*T,f-n,T),s+=c}this._removeShadow(t)}_getFontDeclaration(){let{fontFamily:t=this.fontFamily,fontStyle:e=this.fontStyle,fontWeight:s=this.fontWeight,fontSize:i=this.fontSize}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;const n=t.includes(\"'\")||t.includes('\"')||t.includes(\",\")||Eo.genericFonts.includes(t.toLowerCase())?t:'\"'.concat(t,'\"');return[e,s,\"\".concat(r?this.CACHE_FONT_SIZE:i,\"px\"),n].join(\" \")}render(t){this.visible&&(this.canvas&&this.canvas.skipOffscreen&&!this.group&&!this.isOnScreen()||(this._forceClearCache&&this.initDimensions(),super.render(t)))}graphemeSplit(t){return zi(t)}_splitTextIntoLines(t){const e=t.split(this._reNewline),s=new Array(e.length),i=[\"\\n\"];let r=[];for(let t=0;t<e.length;t++)s[t]=this.graphemeSplit(e[t]),r=r.concat(s[t],i);return r.pop(),{_unwrappedLines:s,lines:e,graphemeText:r,graphemeLines:s}}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return s(s({},super.toObject([...He,...t])),{},{styles:qi(this.styles,this.text)},this.path?{path:this.path.toObject()}:{})}set(t,e){const{textLayoutProperties:s}=this.constructor;super.set(t,e);let i=!1,r=!1;if(\"object\"==typeof t)for(const e in t)\"path\"===e&&this.setPathInfo(),i=i||s.includes(e),r=r||\"path\"===e;else i=s.includes(t),r=\"path\"===t;return r&&this.setPathInfo(),i&&this.initialized&&(this.initDimensions(),this.setCoords()),this}complexity(){return 1}static async fromElement(t,e,r){const n=Dr(t,Eo.ATTRIBUTE_NAMES,r),o=s(s({},e),n),{textAnchor:a=M,textDecoration:h=\"\",dx:c=0,dy:l=0,top:u=0,left:d=0,fontSize:g=O,strokeWidth:f=1}=o,p=i(o,Mo),m=new this((t.textContent||\"\").replace(/^\\s+|\\s+$|\\n+/g,\"\").replace(/\\s+/g,\" \"),s({left:d+c,top:u+l,underline:h.includes(\"underline\"),overline:h.includes(\"overline\"),linethrough:h.includes(\"line-through\"),strokeWidth:0,fontSize:g},p)),v=m.getScaledHeight()/m.height,y=((m.height+m.strokeWidth)*m.lineHeight-m.height)*v,_=m.getScaledHeight()+y;let x=0;return a===D&&(x=m.getScaledWidth()/2),a===A&&(x=m.getScaledWidth()),m.set({left:m.left-x,top:m.top-(_-m.fontSize*(.07+m._fontSizeFraction))/m.lineHeight,strokeWidth:f}),m}static fromObject(t){return this._fromObject(s(s({},t),{},{styles:Ki(t.styles||{},t.text)}),{extraParam:\"text\"})}}t(Eo,\"textLayoutProperties\",Ge),t(Eo,\"cacheProperties\",[...Ms,...He]),t(Eo,\"ownDefaults\",Ue),t(Eo,\"type\",\"Text\"),t(Eo,\"genericFonts\",[\"serif\",\"sans-serif\",\"monospace\",\"cursive\",\"fantasy\",\"system-ui\",\"ui-serif\",\"ui-sans-serif\",\"ui-monospace\",\"ui-rounded\",\"math\",\"emoji\",\"fangsong\"]),t(Eo,\"ATTRIBUTE_NAMES\",Ji.concat(\"x\",\"y\",\"dx\",\"dy\",\"font-family\",\"font-style\",\"font-weight\",\"font-size\",\"letter-spacing\",\"text-decoration\",\"text-anchor\")),Ai(Eo,[class extends Xe{_toSVG(){const t=this._getSVGLeftTopOffsets(),e=this._getSVGTextAndBg(t.textTop,t.textLeft);return this._wrapSVGTextAndBg(e)}toSVG(t){const e=this._createBaseSVGMarkup(this._toSVG(),{reviver:t,noStyle:!0,withShadow:!0}),s=this.path;return s?e+s._createBaseSVGMarkup(s._toSVG(),{reviver:t,withShadow:!0,additionalTransform:zt(this.calcOwnMatrix())}):e}_getSVGLeftTopOffsets(){return{textLeft:-this.width/2,textTop:-this.height/2,lineTop:this.getHeightOfLine(0)}}_wrapSVGTextAndBg(t){let{textBgRects:e,textSpans:s}=t;const i=this.getSvgTextDecoration(this);return[e.join(\"\"),'\\t\\t<text xml:space=\"preserve\" ','font-family=\"'.concat(this.fontFamily.replace(ko,\"'\"),'\" '),'font-size=\"'.concat(this.fontSize,'\" '),this.fontStyle?'font-style=\"'.concat(this.fontStyle,'\" '):\"\",this.fontWeight?'font-weight=\"'.concat(this.fontWeight,'\" '):\"\",i?'text-decoration=\"'.concat(i,'\" '):\"\",\"rtl\"===this.direction?'direction=\"'.concat(this.direction,'\" '):\"\",'style=\"',this.getSvgStyles(!0),'\"',this.addPaintOrder(),\" >\",s.join(\"\"),\"</text>\\n\"]}_getSVGTextAndBg(t,e){const s=[],i=[];let r,n=t;this.backgroundColor&&i.push(...Do(this.backgroundColor,-this.width/2,-this.height/2,this.width,this.height));for(let t=0,o=this._textLines.length;t<o;t++)r=this._getLineLeftOffset(t),\"rtl\"===this.direction&&(r+=this.width),(this.textBackgroundColor||this.styleHas(\"textBackgroundColor\",t))&&this._setSVGTextLineBg(i,t,e+r,n),this._setSVGTextLineText(s,t,e+r,n),n+=this.getHeightOfLine(t);return{textSpans:s,textBgRects:i}}_createTextCharSpan(t,e,s,i,r){const n=o.NUM_FRACTION_DIGITS,a=this.getSvgSpanStyles(e,t!==t.trim()||!!t.match(Oo)),h=a?'style=\"'.concat(a,'\"'):\"\",c=e.deltaY,l=c?' dy=\"'.concat(Vt(c,n),'\" '):\"\",{angle:u,renderLeft:d,renderTop:g,width:f}=r;let p=\"\";if(void 0!==d){const t=f/2;u&&(p=' rotate=\"'.concat(Vt(Ct(u),n),'\"'));const e=Pt({angle:Ct(u)});e[4]=d,e[5]=g;const r=new ot(-t,0).transform(e);s=r.x,i=r.y}return'<tspan x=\"'.concat(Vt(s,n),'\" y=\"').concat(Vt(i,n),'\" ').concat(l).concat(p).concat(h,\">\").concat(Wi(t),\"</tspan>\")}_setSVGTextLineText(t,e,s,i){const r=this.getHeightOfLine(e),n=this.textAlign.includes(qe),o=this._textLines[e];let a,h,c,l,u,d=\"\",g=0;i+=r*(1-this._fontSizeFraction)/this.lineHeight;for(let r=0,f=o.length-1;r<=f;r++)u=r===f||this.charSpacing||this.path,d+=o[r],c=this.__charBounds[e][r],0===g?(s+=c.kernedWidth-c.width,g+=c.width):g+=c.kernedWidth,n&&!u&&this._reSpaceAndTab.test(o[r])&&(u=!0),u||(a=a||this.getCompleteStyleDeclaration(e,r),h=this.getCompleteStyleDeclaration(e,r+1),u=Ui(a,h,!0)),u&&(l=this._getStyleDeclaration(e,r),t.push(this._createTextCharSpan(d,l,s,i,c)),d=\"\",a=h,\"rtl\"===this.direction?s-=g:s+=g,g=0)}_setSVGTextLineBg(t,e,s,i){const r=this._textLines[e],n=this.getHeightOfLine(e)/this.lineHeight;let o,a=0,h=0,c=this.getValueOfPropertyAt(e,0,\"textBackgroundColor\");for(let l=0;l<r.length;l++){const{left:r,width:u,kernedWidth:d}=this.__charBounds[e][l];o=this.getValueOfPropertyAt(e,l,\"textBackgroundColor\"),o!==c?(c&&t.push(...Do(c,s+h,i,a,n)),h=r,a=u,c=o):a+=d}o&&t.push(...Do(c,s+h,i,a,n))}_getSVGLineTopOffset(t){let e,s=0;for(e=0;e<t;e++)s+=this.getHeightOfLine(e);const i=this.getHeightOfLine(e);return{lineTop:s,offset:(this._fontSizeMult-this._fontSizeFraction)*i/(this.lineHeight*this._fontSizeMult)}}getSvgStyles(t){return\"\".concat(super.getSvgStyles(t),\" text-decoration-thickness: \").concat(Vt(this.textDecorationThickness*this.getObjectScaling().y/10,o.NUM_FRACTION_DIGITS),\"%; white-space: pre;\")}getSvgSpanStyles(t,e){const{fontFamily:s,strokeWidth:i,stroke:r,fill:n,fontSize:a,fontStyle:h,fontWeight:c,deltaY:l,textDecorationThickness:u,linethrough:d,overline:g,underline:f}=t,p=this.getSvgTextDecoration({underline:null!=f?f:this.underline,overline:null!=g?g:this.overline,linethrough:null!=d?d:this.linethrough}),m=u||this.textDecorationThickness;return[r?Be(J,r):\"\",i?\"stroke-width: \".concat(i,\"; \"):\"\",s?\"font-family: \".concat(s.includes(\"'\")||s.includes('\"')?s:\"'\".concat(s,\"'\"),\"; \"):\"\",a?\"font-size: \".concat(a,\"px; \"):\"\",h?\"font-style: \".concat(h,\"; \"):\"\",c?\"font-weight: \".concat(c,\"; \"):\"\",p?\"text-decoration: \".concat(p,\"; text-decoration-thickness: \").concat(Vt(m*this.getObjectScaling().y/10,o.NUM_FRACTION_DIGITS),\"%; \"):\"\",n?Be(K,n):\"\",l?\"baseline-shift: \".concat(-l,\"; \"):\"\",e?\"white-space: pre; \":\"\"].join(\"\")}getSvgTextDecoration(t){return[\"overline\",\"underline\",\"line-through\"].filter((e=>t[e.replace(\"-\",\"\")])).join(\" \")}}]),tt.setClass(Eo),tt.setSVGClass(Eo);class Ao{constructor(e){t(this,\"target\",void 0),t(this,\"__mouseDownInPlace\",!1),t(this,\"__dragStartFired\",!1),t(this,\"__isDraggingOver\",!1),t(this,\"__dragStartSelection\",void 0),t(this,\"__dragImageDisposer\",void 0),t(this,\"_dispose\",void 0),this.target=e;const s=[this.target.on(\"dragenter\",this.dragEnterHandler.bind(this)),this.target.on(\"dragover\",this.dragOverHandler.bind(this)),this.target.on(\"dragleave\",this.dragLeaveHandler.bind(this)),this.target.on(\"dragend\",this.dragEndHandler.bind(this)),this.target.on(\"drop\",this.dropHandler.bind(this))];this._dispose=()=>{s.forEach((t=>t())),this._dispose=void 0}}isPointerOverSelection(t){const e=this.target,s=e.getSelectionStartFromPointer(t);return e.isEditing&&s>=e.selectionStart&&s<=e.selectionEnd&&e.selectionStart<e.selectionEnd}start(t){return this.__mouseDownInPlace=this.isPointerOverSelection(t)}isActive(){return this.__mouseDownInPlace}end(t){const e=this.isActive();return e&&!this.__dragStartFired&&(this.target.setCursorByClick(t),this.target.initDelayedCursor(!0)),this.__mouseDownInPlace=!1,this.__dragStartFired=!1,this.__isDraggingOver=!1,e}getDragStartSelection(){return this.__dragStartSelection}setDragImage(t,e){var s;let{selectionStart:i,selectionEnd:r}=e;const n=this.target,o=n.canvas,a=new ot(n.flipX?-1:1,n.flipY?-1:1),h=n._getCursorBoundaries(i),c=new ot(h.left+h.leftOffset,h.top+h.topOffset).multiply(a).transform(n.calcTransformMatrix()),l=o.getScenePoint(t).subtract(c),u=n.getCanvasRetinaScaling(),d=n.getBoundingRect(),g=c.subtract(new ot(d.left,d.top)),f=o.viewportTransform,p=g.add(l).transform(f,!0),m=n.backgroundColor,v=Yi(n.styles);n.backgroundColor=\"\";const y={stroke:\"transparent\",fill:\"transparent\",textBackgroundColor:\"transparent\"};n.setSelectionStyles(y,0,i),n.setSelectionStyles(y,r,n.text.length),n.dirty=!0;const _=n.toCanvasElement({enableRetinaScaling:o.enableRetinaScaling,viewportTransform:!0});n.backgroundColor=m,n.styles=v,n.dirty=!0,Sn(_,{position:\"fixed\",left:\"\".concat(-_.width,\"px\"),border:j,width:\"\".concat(_.width/u,\"px\"),height:\"\".concat(_.height/u,\"px\")}),this.__dragImageDisposer&&this.__dragImageDisposer(),this.__dragImageDisposer=()=>{_.remove()},Kt(t.target||this.target.hiddenTextarea).body.appendChild(_),null===(s=t.dataTransfer)||void 0===s||s.setDragImage(_,p.x,p.y)}onDragStart(t){this.__dragStartFired=!0;const e=this.target,i=this.isActive();if(i&&t.dataTransfer){const i=this.__dragStartSelection={selectionStart:e.selectionStart,selectionEnd:e.selectionEnd},r=e._text.slice(i.selectionStart,i.selectionEnd).join(\"\"),n=s({text:e.text,value:r},i);t.dataTransfer.setData(\"text/plain\",r),t.dataTransfer.setData(\"application/fabric\",JSON.stringify({value:r,styles:e.getSelectionStyles(i.selectionStart,i.selectionEnd,!0)})),t.dataTransfer.effectAllowed=\"copyMove\",this.setDragImage(t,n)}return e.abortCursorAnimation(),i}canDrop(t){if(this.target.editable&&!this.target.getActiveControl()&&!t.defaultPrevented){if(this.isActive()&&this.__dragStartSelection){const e=this.target.getSelectionStartFromPointer(t),s=this.__dragStartSelection;return e<s.selectionStart||e>s.selectionEnd}return!0}return!1}targetCanDrop(t){return this.target.canDrop(t)}dragEnterHandler(t){let{e:e}=t;const s=this.targetCanDrop(e);!this.__isDraggingOver&&s&&(this.__isDraggingOver=!0)}dragOverHandler(t){const{e:e}=t,s=this.targetCanDrop(e);!this.__isDraggingOver&&s?this.__isDraggingOver=!0:this.__isDraggingOver&&!s&&(this.__isDraggingOver=!1),this.__isDraggingOver&&(e.preventDefault(),t.canDrop=!0,t.dropTarget=this.target)}dragLeaveHandler(){(this.__isDraggingOver||this.isActive())&&(this.__isDraggingOver=!1)}dropHandler(t){var e;const{e:s}=t,i=s.defaultPrevented;this.__isDraggingOver=!1,s.preventDefault();let r=null===(e=s.dataTransfer)||void 0===e?void 0:e.getData(\"text/plain\");if(r&&!i){const e=this.target,i=e.canvas;let n=e.getSelectionStartFromPointer(s);const{styles:o}=s.dataTransfer.types.includes(\"application/fabric\")?JSON.parse(s.dataTransfer.getData(\"application/fabric\")):{},a=r[Math.max(0,r.length-1)],h=0;if(this.__dragStartSelection){const t=this.__dragStartSelection.selectionStart,s=this.__dragStartSelection.selectionEnd;n>t&&n<=s?n=t:n>s&&(n-=s-t),e.removeChars(t,s),delete this.__dragStartSelection}e._reNewline.test(a)&&(e._reNewline.test(e._text[n])||n===e._text.length)&&(r=r.trimEnd()),t.didDrop=!0,t.dropTarget=e,e.insertChars(r,o,n),i.setActiveObject(e),e.enterEditing(s),e.selectionStart=Math.min(n+h,e._text.length),e.selectionEnd=Math.min(e.selectionStart+r.length,e._text.length),e.hiddenTextarea.value=e.text,e._updateTextarea(),e.hiddenTextarea.focus(),e.fire(z,{index:n+h,action:\"drop\"}),i.fire(\"text:changed\",{target:e}),i.contextTopDirty=!0,i.requestRenderAll()}}dragEndHandler(t){let{e:e}=t;if(this.isActive()&&this.__dragStartFired&&this.__dragStartSelection){var s;const t=this.target,i=this.target.canvas,{selectionStart:r,selectionEnd:n}=this.__dragStartSelection,o=(null===(s=e.dataTransfer)||void 0===s?void 0:s.dropEffect)||j;o===j?(t.selectionStart=r,t.selectionEnd=n,t._updateTextarea(),t.hiddenTextarea.focus()):(t.clearContextTop(),\"move\"===o&&(t.removeChars(r,n),t.selectionStart=t.selectionEnd=r,t.hiddenTextarea&&(t.hiddenTextarea.value=t.text),t._updateTextarea(),t.fire(z,{index:r,action:\"dragend\"}),i.fire(\"text:changed\",{target:t}),i.requestRenderAll()),t.exitEditing())}this.__dragImageDisposer&&this.__dragImageDisposer(),delete this.__dragImageDisposer,delete this.__dragStartSelection,this.__isDraggingOver=!1}dispose(){this._dispose&&this._dispose()}}const jo=/[ \\n\\.,;!\\?\\-]/;class Fo extends Eo{constructor(){super(...arguments),t(this,\"_currentCursorOpacity\",1)}initBehavior(){this._tick=this._tick.bind(this),this._onTickComplete=this._onTickComplete.bind(this),this.updateSelectionOnMouseMove=this.updateSelectionOnMouseMove.bind(this)}onDeselect(t){return this.isEditing&&this.exitEditing(),this.selected=!1,super.onDeselect(t)}_animateCursor(t){let{toValue:e,duration:s,delay:i,onComplete:r}=t;return Us({startValue:this._currentCursorOpacity,endValue:e,duration:s,delay:i,onComplete:r,abort:()=>!this.canvas||this.selectionStart!==this.selectionEnd,onChange:t=>{this._currentCursorOpacity=t,this.renderCursorOrSelection()}})}_tick(t){this._currentTickState=this._animateCursor({toValue:0,duration:this.cursorDuration/2,delay:Math.max(t||0,100),onComplete:this._onTickComplete})}_onTickComplete(){var t;null===(t=this._currentTickCompleteState)||void 0===t||t.abort(),this._currentTickCompleteState=this._animateCursor({toValue:1,duration:this.cursorDuration,onComplete:this._tick})}initDelayedCursor(t){this.abortCursorAnimation(),this._tick(t?0:this.cursorDelay)}abortCursorAnimation(){let t=!1;[this._currentTickState,this._currentTickCompleteState].forEach((e=>{e&&!e.isDone()&&(t=!0,e.abort())})),this._currentCursorOpacity=1,t&&this.clearContextTop()}restartCursorIfNeeded(){[this._currentTickState,this._currentTickCompleteState].some((t=>!t||t.isDone()))&&this.initDelayedCursor()}selectAll(){return this.selectionStart=0,this.selectionEnd=this._text.length,this._fireSelectionChanged(),this._updateTextarea(),this}cmdAll(){this.selectAll(),this.renderCursorOrSelection()}getSelectedText(){return this._text.slice(this.selectionStart,this.selectionEnd).join(\"\")}findWordBoundaryLeft(t){let e=0,s=t-1;if(this._reSpace.test(this._text[s]))for(;this._reSpace.test(this._text[s]);)e++,s--;for(;/\\S/.test(this._text[s])&&s>-1;)e++,s--;return t-e}findWordBoundaryRight(t){let e=0,s=t;if(this._reSpace.test(this._text[s]))for(;this._reSpace.test(this._text[s]);)e++,s++;for(;/\\S/.test(this._text[s])&&s<this._text.length;)e++,s++;return t+e}findLineBoundaryLeft(t){let e=0,s=t-1;for(;!/\\n/.test(this._text[s])&&s>-1;)e++,s--;return t-e}findLineBoundaryRight(t){let e=0,s=t;for(;!/\\n/.test(this._text[s])&&s<this._text.length;)e++,s++;return t+e}searchWordBoundary(t,e){const s=this._text;let i=t>0&&this._reSpace.test(s[t])&&(-1===e||!F.test(s[t-1]))?t-1:t,r=s[i];for(;i>0&&i<s.length&&!jo.test(r);)i+=e,r=s[i];return-1===e&&jo.test(r)&&i++,i}selectWord(t){var e;t=null!==(e=t)&&void 0!==e?e:this.selectionStart;const s=this.searchWordBoundary(t,-1),i=Math.max(s,this.searchWordBoundary(t,1));this.selectionStart=s,this.selectionEnd=i,this._fireSelectionChanged(),this._updateTextarea(),this.renderCursorOrSelection()}selectLine(t){var e;t=null!==(e=t)&&void 0!==e?e:this.selectionStart;const s=this.findLineBoundaryLeft(t),i=this.findLineBoundaryRight(t);this.selectionStart=s,this.selectionEnd=i,this._fireSelectionChanged(),this._updateTextarea()}enterEditing(t){!this.isEditing&&this.editable&&(this.enterEditingImpl(),this.fire(\"editing:entered\",t?{e:t}:void 0),this._fireSelectionChanged(),this.canvas&&(this.canvas.fire(\"text:editing:entered\",{target:this,e:t}),this.canvas.requestRenderAll()))}enterEditingImpl(){this.canvas&&(this.canvas.calcOffset(),this.canvas.textEditingManager.exitTextEditing()),this.isEditing=!0,this.initHiddenTextarea(),this.hiddenTextarea.focus(),this.hiddenTextarea.value=this.text,this._updateTextarea(),this._saveEditingProps(),this._setEditingProps(),this._textBeforeEdit=this.text,this._tick()}updateSelectionOnMouseMove(t){if(this.getActiveControl())return;const e=this.hiddenTextarea;Kt(e).activeElement!==e&&e.focus();const s=this.getSelectionStartFromPointer(t),i=this.selectionStart,r=this.selectionEnd;(s===this.__selectionStartOnMouseDown&&i!==r||i!==s&&r!==s)&&(s>this.__selectionStartOnMouseDown?(this.selectionStart=this.__selectionStartOnMouseDown,this.selectionEnd=s):(this.selectionStart=s,this.selectionEnd=this.__selectionStartOnMouseDown),this.selectionStart===i&&this.selectionEnd===r||(this._fireSelectionChanged(),this._updateTextarea(),this.renderCursorOrSelection()))}_setEditingProps(){this.hoverCursor=\"text\",this.canvas&&(this.canvas.defaultCursor=this.canvas.moveCursor=\"text\"),this.borderColor=this.editingBorderColor,this.hasControls=this.selectable=!1,this.lockMovementX=this.lockMovementY=!0}fromStringToGraphemeSelection(t,e,s){const i=s.slice(0,t),r=this.graphemeSplit(i).length;if(t===e)return{selectionStart:r,selectionEnd:r};const n=s.slice(t,e);return{selectionStart:r,selectionEnd:r+this.graphemeSplit(n).length}}fromGraphemeToStringSelection(t,e,s){const i=s.slice(0,t).join(\"\").length;if(t===e)return{selectionStart:i,selectionEnd:i};return{selectionStart:i,selectionEnd:i+s.slice(t,e).join(\"\").length}}_updateTextarea(){if(this.cursorOffsetCache={},this.hiddenTextarea){if(!this.inCompositionMode){const t=this.fromGraphemeToStringSelection(this.selectionStart,this.selectionEnd,this._text);this.hiddenTextarea.selectionStart=t.selectionStart,this.hiddenTextarea.selectionEnd=t.selectionEnd}this.updateTextareaPosition()}}updateFromTextArea(){if(!this.hiddenTextarea)return;this.cursorOffsetCache={};const t=this.hiddenTextarea;this.text=t.value,this.set(\"dirty\",!0),this.initDimensions(),this.setCoords();const e=this.fromStringToGraphemeSelection(t.selectionStart,t.selectionEnd,t.value);this.selectionEnd=this.selectionStart=e.selectionEnd,this.inCompositionMode||(this.selectionStart=e.selectionStart),this.updateTextareaPosition()}updateTextareaPosition(){if(this.selectionStart===this.selectionEnd){const t=this._calcTextareaPosition();this.hiddenTextarea.style.left=t.left,this.hiddenTextarea.style.top=t.top}}_calcTextareaPosition(){if(!this.canvas)return{left:\"1px\",top:\"1px\"};const t=this.inCompositionMode?this.compositionStart:this.selectionStart,e=this._getCursorBoundaries(t),s=this.get2DCursorLocation(t),i=s.lineIndex,r=s.charIndex,n=this.getValueOfPropertyAt(i,r,\"fontSize\")*this.lineHeight,o=e.leftOffset,a=this.getCanvasRetinaScaling(),h=this.canvas.upperCanvasEl,c=h.width/a,l=h.height/a,u=c-n,d=l-n,g=new ot(e.left+o,e.top+e.topOffset+n).transform(this.calcTransformMatrix()).transform(this.canvas.viewportTransform).multiply(new ot(h.clientWidth/c,h.clientHeight/l));return g.x<0&&(g.x=0),g.x>u&&(g.x=u),g.y<0&&(g.y=0),g.y>d&&(g.y=d),g.x+=this.canvas._offset.left,g.y+=this.canvas._offset.top,{left:\"\".concat(g.x,\"px\"),top:\"\".concat(g.y,\"px\"),fontSize:\"\".concat(n,\"px\"),charHeight:n}}_saveEditingProps(){this._savedProps={hasControls:this.hasControls,borderColor:this.borderColor,lockMovementX:this.lockMovementX,lockMovementY:this.lockMovementY,hoverCursor:this.hoverCursor,selectable:this.selectable,defaultCursor:this.canvas&&this.canvas.defaultCursor,moveCursor:this.canvas&&this.canvas.moveCursor}}_restoreEditingProps(){this._savedProps&&(this.hoverCursor=this._savedProps.hoverCursor,this.hasControls=this._savedProps.hasControls,this.borderColor=this._savedProps.borderColor,this.selectable=this._savedProps.selectable,this.lockMovementX=this._savedProps.lockMovementX,this.lockMovementY=this._savedProps.lockMovementY,this.canvas&&(this.canvas.defaultCursor=this._savedProps.defaultCursor||this.canvas.defaultCursor,this.canvas.moveCursor=this._savedProps.moveCursor||this.canvas.moveCursor),delete this._savedProps)}_exitEditing(){const t=this.hiddenTextarea;this.selected=!1,this.isEditing=!1,t&&(t.blur&&t.blur(),t.parentNode&&t.parentNode.removeChild(t)),this.hiddenTextarea=null,this.abortCursorAnimation(),this.selectionStart!==this.selectionEnd&&this.clearContextTop()}exitEditingImpl(){this._exitEditing(),this.selectionEnd=this.selectionStart,this._restoreEditingProps(),this._forceClearCache&&(this.initDimensions(),this.setCoords())}exitEditing(){const t=this._textBeforeEdit!==this.text;return this.exitEditingImpl(),this.fire(\"editing:exited\"),t&&this.fire(Q),this.canvas&&(this.canvas.fire(\"text:editing:exited\",{target:this}),t&&this.canvas.fire(\"object:modified\",{target:this})),this}_removeExtraneousStyles(){for(const t in this.styles)this._textLines[t]||delete this.styles[t]}removeStyleFromTo(t,e){const{lineIndex:s,charIndex:i}=this.get2DCursorLocation(t,!0),{lineIndex:r,charIndex:n}=this.get2DCursorLocation(e,!0);if(s!==r){if(this.styles[s])for(let t=i;t<this._unwrappedTextLines[s].length;t++)delete this.styles[s][t];if(this.styles[r])for(let t=n;t<this._unwrappedTextLines[r].length;t++){const e=this.styles[r][t];e&&(this.styles[s]||(this.styles[s]={}),this.styles[s][i+t-n]=e)}for(let t=s+1;t<=r;t++)delete this.styles[t];this.shiftLineStyles(r,s-r)}else if(this.styles[s]){const t=this.styles[s],e=n-i;for(let e=i;e<n;e++)delete t[e];for(const i in this.styles[s]){const s=parseInt(i,10);s>=n&&(t[s-e]=t[i],delete t[i])}}}shiftLineStyles(t,e){const s=Object.assign({},this.styles);for(const i in this.styles){const r=parseInt(i,10);r>t&&(this.styles[r+e]=s[r],s[r-e]||delete this.styles[r])}}insertNewlineStyleObject(t,e,i,r){const n={},o=this._unwrappedTextLines[t].length,a=o===e;let h=!1;i||(i=1),this.shiftLineStyles(t,i);const c=this.styles[t]?this.styles[t][0===e?e:e-1]:void 0;for(const s in this.styles[t]){const i=parseInt(s,10);i>=e&&(h=!0,n[i-e]=this.styles[t][s],a&&0===e||delete this.styles[t][s])}let l=!1;for(h&&!a&&(this.styles[t+i]=n,l=!0),(l||o>e)&&i--;i>0;)r&&r[i-1]?this.styles[t+i]={0:s({},r[i-1])}:c?this.styles[t+i]={0:s({},c)}:delete this.styles[t+i],i--;this._forceClearCache=!0}insertCharStyleObject(t,e,i,r){this.styles||(this.styles={});const n=this.styles[t],o=n?s({},n):{};i||(i=1);for(const t in o){const s=parseInt(t,10);s>=e&&(n[s+i]=o[s],o[s-i]||delete n[s])}if(this._forceClearCache=!0,r){for(;i--;)Object.keys(r[i]).length&&(this.styles[t]||(this.styles[t]={}),this.styles[t][e+i]=s({},r[i]));return}if(!n)return;const a=n[e?e-1:1];for(;a&&i--;)this.styles[t][e+i]=s({},a)}insertNewStyleBlock(t,e,s){const i=this.get2DCursorLocation(e,!0),r=[0];let n,o=0;for(let e=0;e<t.length;e++)\"\\n\"===t[e]?(o++,r[o]=0):r[o]++;for(r[0]>0&&(this.insertCharStyleObject(i.lineIndex,i.charIndex,r[0],s),s=s&&s.slice(r[0]+1)),o&&this.insertNewlineStyleObject(i.lineIndex,i.charIndex+r[0],o),n=1;n<o;n++)r[n]>0?this.insertCharStyleObject(i.lineIndex+n,0,r[n],s):s&&this.styles[i.lineIndex+n]&&s[0]&&(this.styles[i.lineIndex+n][0]=s[0]),s=s&&s.slice(r[n]+1);r[n]>0&&this.insertCharStyleObject(i.lineIndex+n,0,r[n],s)}removeChars(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t+1;this.removeStyleFromTo(t,e),this._text.splice(t,e-t),this.text=this._text.join(\"\"),this.set(\"dirty\",!0),this.initDimensions(),this.setCoords(),this._removeExtraneousStyles()}insertChars(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:s;i>s&&this.removeStyleFromTo(s,i);const r=this.graphemeSplit(t);this.insertNewStyleBlock(r,s,e),this._text=[...this._text.slice(0,s),...r,...this._text.slice(i)],this.text=this._text.join(\"\"),this.set(\"dirty\",!0),this.initDimensions(),this.setCoords(),this._removeExtraneousStyles()}setSelectionStartEndWithShift(t,e,s){s<=t?(e===t?this._selectionDirection=M:this._selectionDirection===A&&(this._selectionDirection=M,this.selectionEnd=t),this.selectionStart=s):s>t&&s<e?this._selectionDirection===A?this.selectionEnd=s:this.selectionStart=s:(e===t?this._selectionDirection=A:this._selectionDirection===M&&(this._selectionDirection=A,this.selectionStart=e),this.selectionEnd=s)}}class Lo extends Fo{initHiddenTextarea(){const t=this.canvas&&Kt(this.canvas.getElement())||m(),e=t.createElement(\"textarea\");Object.entries({autocapitalize:\"off\",autocorrect:\"off\",autocomplete:\"off\",spellcheck:\"false\",\"data-fabric\":\"textarea\",wrap:\"off\"}).map((t=>{let[s,i]=t;return e.setAttribute(s,i)}));const{top:s,left:i,fontSize:r}=this._calcTextareaPosition();e.style.cssText=\"position: absolute; top: \".concat(s,\"; left: \").concat(i,\"; z-index: -999; opacity: 0; width: 1px; height: 1px; font-size: 1px; padding-top: \").concat(r,\";\"),(this.hiddenTextareaContainer||t.body).appendChild(e),Object.entries({blur:\"blur\",keydown:\"onKeyDown\",keyup:\"onKeyUp\",input:\"onInput\",copy:\"copy\",cut:\"copy\",paste:\"paste\",compositionstart:\"onCompositionStart\",compositionupdate:\"onCompositionUpdate\",compositionend:\"onCompositionEnd\"}).map((t=>{let[s,i]=t;return e.addEventListener(s,this[i].bind(this))})),this.hiddenTextarea=e}blur(){this.abortCursorAnimation()}onKeyDown(t){if(!this.isEditing)return;const e=\"rtl\"===this.direction?this.keysMapRtl:this.keysMap;if(t.keyCode in e)this[e[t.keyCode]](t);else{if(!(t.keyCode in this.ctrlKeysMapDown)||!t.ctrlKey&&!t.metaKey)return;this[this.ctrlKeysMapDown[t.keyCode]](t)}t.stopImmediatePropagation(),t.preventDefault(),t.keyCode>=33&&t.keyCode<=40?(this.inCompositionMode=!1,this.clearContextTop(),this.renderCursorOrSelection()):this.canvas&&this.canvas.requestRenderAll()}onKeyUp(t){!this.isEditing||this._copyDone||this.inCompositionMode?this._copyDone=!1:t.keyCode in this.ctrlKeysMapUp&&(t.ctrlKey||t.metaKey)&&(this[this.ctrlKeysMapUp[t.keyCode]](t),t.stopImmediatePropagation(),t.preventDefault(),this.canvas&&this.canvas.requestRenderAll())}onInput(t){const e=this.fromPaste,{value:s,selectionStart:i,selectionEnd:r}=this.hiddenTextarea;if(this.fromPaste=!1,t&&t.stopPropagation(),!this.isEditing)return;const n=()=>{this.updateFromTextArea(),this.fire(z),this.canvas&&(this.canvas.fire(\"text:changed\",{target:this}),this.canvas.requestRenderAll())};if(\"\"===this.hiddenTextarea.value)return this.styles={},void n();const a=this._splitTextIntoLines(s).graphemeText,h=this._text.length,c=a.length,l=this.selectionStart,u=this.selectionEnd,d=l!==u;let g,f,m,v,y=c-h;const _=this.fromStringToGraphemeSelection(i,r,s),x=l>_.selectionStart;d?(f=this._text.slice(l,u),y+=u-l):c<h&&(f=x?this._text.slice(u+y,u):this._text.slice(l,l-y));const C=a.slice(_.selectionEnd-y,_.selectionEnd);if(f&&f.length&&(C.length&&(g=this.getSelectionStyles(l,l+1,!1),g=C.map((()=>g[0]))),d?(m=l,v=u):x?(m=u-f.length,v=u):(m=u,v=u+f.length),this.removeStyleFromTo(m,v)),C.length){const{copyPasteData:t}=p();e&&C.join(\"\")===t.copiedText&&!o.disableStyleCopyPaste&&(g=t.copiedTextStyle),this.insertNewStyleBlock(C,l,g)}n()}onCompositionStart(){this.inCompositionMode=!0}onCompositionEnd(){this.inCompositionMode=!1}onCompositionUpdate(t){let{target:e}=t;const{selectionStart:s,selectionEnd:i}=e;this.compositionStart=s,this.compositionEnd=i,this.updateTextareaPosition()}copy(){if(this.selectionStart===this.selectionEnd)return;const{copyPasteData:t}=p();t.copiedText=this.getSelectedText(),o.disableStyleCopyPaste?t.copiedTextStyle=void 0:t.copiedTextStyle=this.getSelectionStyles(this.selectionStart,this.selectionEnd,!0),this._copyDone=!0}paste(){this.fromPaste=!0}_getWidthBeforeCursor(t,e){let s,i=this._getLineLeftOffset(t);return e>0&&(s=this.__charBounds[t][e-1],i+=s.left+s.width),i}getDownCursorOffset(t,e){const s=this._getSelectionForOffset(t,e),i=this.get2DCursorLocation(s),r=i.lineIndex;if(r===this._textLines.length-1||t.metaKey||34===t.keyCode)return this._text.length-s;const n=i.charIndex,o=this._getWidthBeforeCursor(r,n),a=this._getIndexOnLine(r+1,o);return this._textLines[r].slice(n).length+a+1+this.missingNewlineOffset(r)}_getSelectionForOffset(t,e){return t.shiftKey&&this.selectionStart!==this.selectionEnd&&e?this.selectionEnd:this.selectionStart}getUpCursorOffset(t,e){const s=this._getSelectionForOffset(t,e),i=this.get2DCursorLocation(s),r=i.lineIndex;if(0===r||t.metaKey||33===t.keyCode)return-s;const n=i.charIndex,o=this._getWidthBeforeCursor(r,n),a=this._getIndexOnLine(r-1,o),h=this._textLines[r].slice(0,n),c=this.missingNewlineOffset(r-1);return-this._textLines[r-1].length+a-h.length+(1-c)}_getIndexOnLine(t,e){const s=this._textLines[t];let i,r,n=this._getLineLeftOffset(t),o=0;for(let a=0,h=s.length;a<h;a++)if(i=this.__charBounds[t][a].width,n+=i,n>e){r=!0;const t=n-i,s=n,h=Math.abs(t-e);o=Math.abs(s-e)<h?a:a-1;break}return r||(o=s.length-1),o}moveCursorDown(t){this.selectionStart>=this._text.length&&this.selectionEnd>=this._text.length||this._moveCursorUpOrDown(\"Down\",t)}moveCursorUp(t){0===this.selectionStart&&0===this.selectionEnd||this._moveCursorUpOrDown(\"Up\",t)}_moveCursorUpOrDown(t,e){const s=this[\"get\".concat(t,\"CursorOffset\")](e,this._selectionDirection===A);if(e.shiftKey?this.moveCursorWithShift(s):this.moveCursorWithoutShift(s),0!==s){const t=this.text.length;this.selectionStart=ks(0,this.selectionStart,t),this.selectionEnd=ks(0,this.selectionEnd,t),this.abortCursorAnimation(),this.initDelayedCursor(),this._fireSelectionChanged(),this._updateTextarea()}}moveCursorWithShift(t){const e=this._selectionDirection===M?this.selectionStart+t:this.selectionEnd+t;return this.setSelectionStartEndWithShift(this.selectionStart,this.selectionEnd,e),0!==t}moveCursorWithoutShift(t){return t<0?(this.selectionStart+=t,this.selectionEnd=this.selectionStart):(this.selectionEnd+=t,this.selectionStart=this.selectionEnd),0!==t}moveCursorLeft(t){0===this.selectionStart&&0===this.selectionEnd||this._moveCursorLeftOrRight(\"Left\",t)}_move(t,e,s){let i;if(t.altKey)i=this[\"findWordBoundary\".concat(s)](this[e]);else{if(!t.metaKey&&35!==t.keyCode&&36!==t.keyCode)return this[e]+=\"Left\"===s?-1:1,!0;i=this[\"findLineBoundary\".concat(s)](this[e])}return void 0!==i&&this[e]!==i&&(this[e]=i,!0)}_moveLeft(t,e){return this._move(t,e,\"Left\")}_moveRight(t,e){return this._move(t,e,\"Right\")}moveCursorLeftWithoutShift(t){let e=!0;return this._selectionDirection=M,this.selectionEnd===this.selectionStart&&0!==this.selectionStart&&(e=this._moveLeft(t,\"selectionStart\")),this.selectionEnd=this.selectionStart,e}moveCursorLeftWithShift(t){return this._selectionDirection===A&&this.selectionStart!==this.selectionEnd?this._moveLeft(t,\"selectionEnd\"):0!==this.selectionStart?(this._selectionDirection=M,this._moveLeft(t,\"selectionStart\")):void 0}moveCursorRight(t){this.selectionStart>=this._text.length&&this.selectionEnd>=this._text.length||this._moveCursorLeftOrRight(\"Right\",t)}_moveCursorLeftOrRight(t,e){const s=\"moveCursor\".concat(t).concat(e.shiftKey?\"WithShift\":\"WithoutShift\");this._currentCursorOpacity=1,this[s](e)&&(this.abortCursorAnimation(),this.initDelayedCursor(),this._fireSelectionChanged(),this._updateTextarea())}moveCursorRightWithShift(t){return this._selectionDirection===M&&this.selectionStart!==this.selectionEnd?this._moveRight(t,\"selectionStart\"):this.selectionEnd!==this._text.length?(this._selectionDirection=A,this._moveRight(t,\"selectionEnd\")):void 0}moveCursorRightWithoutShift(t){let e=!0;return this._selectionDirection=A,this.selectionStart===this.selectionEnd?(e=this._moveRight(t,\"selectionStart\"),this.selectionEnd=this.selectionStart):this.selectionStart=this.selectionEnd,e}}const Ro=t=>!!t.button;class Io extends Lo{constructor(){super(...arguments),t(this,\"draggableTextDelegate\",void 0)}initBehavior(){this.on(\"mousedown\",this._mouseDownHandler),this.on(\"mouseup\",this.mouseUpHandler),this.on(\"mousedblclick\",this.doubleClickHandler),this.on(\"mousetripleclick\",this.tripleClickHandler),this.draggableTextDelegate=new Ao(this),super.initBehavior()}shouldStartDragging(){return this.draggableTextDelegate.isActive()}onDragStart(t){return this.draggableTextDelegate.onDragStart(t)}canDrop(t){return this.draggableTextDelegate.canDrop(t)}doubleClickHandler(t){this.isEditing&&(this.selectWord(this.getSelectionStartFromPointer(t.e)),this.renderCursorOrSelection())}tripleClickHandler(t){this.isEditing&&(this.selectLine(this.getSelectionStartFromPointer(t.e)),this.renderCursorOrSelection())}_mouseDownHandler(t){let{e:e,alreadySelected:s}=t;this.canvas&&this.editable&&!Ro(e)&&!this.getActiveControl()&&(this.draggableTextDelegate.start(e)||(this.canvas.textEditingManager.register(this),s&&(this.inCompositionMode=!1,this.setCursorByClick(e)),this.isEditing&&(this.__selectionStartOnMouseDown=this.selectionStart,this.selectionStart===this.selectionEnd&&this.abortCursorAnimation(),this.renderCursorOrSelection()),this.selected||(this.selected=s||this.isEditing)))}mouseUpHandler(t){let{e:e,transform:s}=t;const i=this.draggableTextDelegate.end(e);if(this.canvas){this.canvas.textEditingManager.unregister(this);const t=this.canvas._activeObject;if(t&&t!==this)return}!this.editable||this.group&&!this.group.interactive||s&&s.actionPerformed||Ro(e)||i||this.selected&&!this.getActiveControl()&&(this.enterEditing(e),this.selectionStart===this.selectionEnd?this.initDelayedCursor(!0):this.renderCursorOrSelection())}setCursorByClick(t){const e=this.getSelectionStartFromPointer(t),s=this.selectionStart,i=this.selectionEnd;t.shiftKey?this.setSelectionStartEndWithShift(s,i,e):(this.selectionStart=e,this.selectionEnd=e),this.isEditing&&(this._fireSelectionChanged(),this._updateTextarea())}getSelectionStartFromPointer(t){const e=this.canvas.getScenePoint(t).transform(wt(this.calcTransformMatrix())).add(new ot(-this._getLeftOffset(),-this._getTopOffset()));let s=0,i=0,r=0;for(let t=0;t<this._textLines.length&&s<=e.y;t++)s+=this.getHeightOfLine(t),r=t,t>0&&(i+=this._textLines[t-1].length+this.missingNewlineOffset(t-1));let n=Math.abs(this._getLineLeftOffset(r));const o=this._textLines[r].length,a=this.__charBounds[r];for(let t=0;t<o;t++){const s=n+a[t].kernedWidth;if(e.x<=s){Math.abs(e.x-s)<=Math.abs(e.x-n)&&i++;break}n=s,i++}return Math.min(this.flipX?o-i:i,this._text.length)}}const Bo=\"moveCursorUp\",Xo=\"moveCursorDown\",Yo=\"moveCursorLeft\",Wo=\"moveCursorRight\",Vo=\"exitEditing\",zo=(t,e)=>{const s=e.getRetinaScaling();t.setTransform(s,0,0,s,0,0);const i=e.viewportTransform;t.transform(i[0],i[1],i[2],i[3],i[4],i[5])},Go=s({selectionStart:0,selectionEnd:0,selectionColor:\"rgba(17,119,255,0.3)\",isEditing:!1,editable:!0,editingBorderColor:\"rgba(102,153,255,0.25)\",cursorWidth:2,cursorColor:\"\",cursorDelay:1e3,cursorDuration:600,caching:!0,hiddenTextareaContainer:null,keysMap:{9:Vo,27:Vo,33:Bo,34:Xo,35:Wo,36:Yo,37:Yo,38:Bo,39:Wo,40:Xo},keysMapRtl:{9:Vo,27:Vo,33:Bo,34:Xo,35:Yo,36:Wo,37:Wo,38:Bo,39:Yo,40:Xo},ctrlKeysMapDown:{65:\"cmdAll\"},ctrlKeysMapUp:{67:\"copy\",88:\"cut\"}},{_selectionDirection:null,_reSpace:/\\s|\\r?\\n/,inCompositionMode:!1});class Ho extends Io{static getDefaults(){return s(s({},super.getDefaults()),Ho.ownDefaults)}get type(){const t=super.type;return\"itext\"===t?\"i-text\":t}constructor(t,e){super(t,s(s({},Ho.ownDefaults),e)),this.initBehavior()}_set(t,e){return this.isEditing&&this._savedProps&&t in this._savedProps?(this._savedProps[t]=e,this):(\"canvas\"===t&&(this.canvas instanceof In&&this.canvas.textEditingManager.remove(this),e instanceof In&&e.textEditingManager.add(this)),super._set(t,e))}setSelectionStart(t){t=Math.max(t,0),this._updateAndFire(\"selectionStart\",t)}setSelectionEnd(t){t=Math.min(t,this.text.length),this._updateAndFire(\"selectionEnd\",t)}_updateAndFire(t,e){this[t]!==e&&(this._fireSelectionChanged(),this[t]=e),this._updateTextarea()}_fireSelectionChanged(){this.fire(\"selection:changed\"),this.canvas&&this.canvas.fire(\"text:selection:changed\",{target:this})}initDimensions(){this.isEditing&&this.initDelayedCursor(),super.initDimensions()}getSelectionStyles(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart||0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selectionEnd,s=arguments.length>2?arguments[2]:void 0;return super.getSelectionStyles(t,e,s)}setSelectionStyles(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selectionStart||0,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.selectionEnd;return super.setSelectionStyles(t,e,s)}get2DCursorLocation(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart,e=arguments.length>1?arguments[1]:void 0;return super.get2DCursorLocation(t,e)}render(t){super.render(t),this.cursorOffsetCache={},this.renderCursorOrSelection()}toCanvasElement(t){const e=this.isEditing;this.isEditing=!1;const s=super.toCanvasElement(t);return this.isEditing=e,s}renderCursorOrSelection(){if(!this.isEditing||!this.canvas)return;const t=this.clearContextTop(!0);if(!t)return;const e=this._getCursorBoundaries(),s=this.findAncestorsWithClipPath(),i=s.length>0;let r,n=t;if(i){r=vt(t.canvas),n=r.getContext(\"2d\"),zo(n,this.canvas);const e=this.calcTransformMatrix();n.transform(e[0],e[1],e[2],e[3],e[4],e[5])}if(this.selectionStart!==this.selectionEnd||this.inCompositionMode?this.renderSelection(n,e):this.renderCursor(n,e),i)for(const e of s){const s=e.clipPath,i=vt(t.canvas),r=i.getContext(\"2d\");if(zo(r,this.canvas),!s.absolutePositioned){const t=e.calcTransformMatrix();r.transform(t[0],t[1],t[2],t[3],t[4],t[5])}s.transform(r),s.drawObject(r,!0,{}),this.drawClipPathOnCache(n,s,i)}i&&(t.setTransform(1,0,0,1,0,0),t.drawImage(r,0,0)),this.canvas.contextTopDirty=!0,t.restore()}findAncestorsWithClipPath(){const t=[];let e=this;for(;e;)e.clipPath&&t.push(e),e=e.parent;return t}_getCursorBoundaries(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart,e=arguments.length>1?arguments[1]:void 0;const s=this._getLeftOffset(),i=this._getTopOffset(),r=this._getCursorBoundariesOffsets(t,e);return{left:s,top:i,leftOffset:r.left,topOffset:r.top}}_getCursorBoundariesOffsets(t,e){return e?this.__getCursorBoundariesOffsets(t):this.cursorOffsetCache&&\"top\"in this.cursorOffsetCache?this.cursorOffsetCache:this.cursorOffsetCache=this.__getCursorBoundariesOffsets(t)}__getCursorBoundariesOffsets(t){let e=0,s=0;const{charIndex:i,lineIndex:r}=this.get2DCursorLocation(t);for(let t=0;t<r;t++)e+=this.getHeightOfLine(t);const n=this._getLineLeftOffset(r),o=this.__charBounds[r][i];o&&(s=o.left),0!==this.charSpacing&&i===this._textLines[r].length&&(s-=this._getWidthOfCharSpacing());const a={top:e,left:n+(s>0?s:0)};return\"rtl\"===this.direction&&(this.textAlign===A||this.textAlign===qe||this.textAlign===Je?a.left*=-1:this.textAlign===M||this.textAlign===Ke?a.left=n-(s>0?s:0):this.textAlign!==D&&this.textAlign!==Qe||(a.left=n-(s>0?s:0))),a}renderCursorAt(t){this._renderCursor(this.canvas.contextTop,this._getCursorBoundaries(t,!0),t)}renderCursor(t,e){this._renderCursor(t,e,this.selectionStart)}getCursorRenderingData(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getCursorBoundaries(t);const s=this.get2DCursorLocation(t),i=s.lineIndex,r=s.charIndex>0?s.charIndex-1:0,n=this.getValueOfPropertyAt(i,r,\"fontSize\"),o=this.getObjectScaling().x*this.canvas.getZoom(),a=this.cursorWidth/o,h=this.getValueOfPropertyAt(i,r,\"deltaY\"),c=e.topOffset+(1-this._fontSizeFraction)*this.getHeightOfLine(i)/this.lineHeight-n*(1-this._fontSizeFraction);return{color:this.cursorColor||this.getValueOfPropertyAt(i,r,\"fill\"),opacity:this._currentCursorOpacity,left:e.left+e.leftOffset-a/2,top:c+e.top+h,width:a,height:n}}_renderCursor(t,e,s){const{color:i,opacity:r,left:n,top:o,width:a,height:h}=this.getCursorRenderingData(s,e);t.fillStyle=i,t.globalAlpha=r,t.fillRect(n,o,a,h)}renderSelection(t,e){const s={selectionStart:this.inCompositionMode?this.hiddenTextarea.selectionStart:this.selectionStart,selectionEnd:this.inCompositionMode?this.hiddenTextarea.selectionEnd:this.selectionEnd};this._renderSelection(t,s,e)}renderDragSourceEffect(){const t=this.draggableTextDelegate.getDragStartSelection();this._renderSelection(this.canvas.contextTop,t,this._getCursorBoundaries(t.selectionStart,!0))}renderDropTargetEffect(t){const e=this.getSelectionStartFromPointer(t);this.renderCursorAt(e)}_renderSelection(t,e,s){const i=e.selectionStart,r=e.selectionEnd,n=this.textAlign.includes(qe),o=this.get2DCursorLocation(i),a=this.get2DCursorLocation(r),h=o.lineIndex,c=a.lineIndex,l=o.charIndex<0?0:o.charIndex,u=a.charIndex<0?0:a.charIndex;for(let e=h;e<=c;e++){const i=this._getLineLeftOffset(e)||0;let r=this.getHeightOfLine(e),o=0,a=0,d=0;if(e===h&&(a=this.__charBounds[h][l].left),e>=h&&e<c)d=n&&!this.isEndOfWrapping(e)?this.width:this.getLineWidth(e)||5;else if(e===c)if(0===u)d=this.__charBounds[c][u].left;else{const t=this._getWidthOfCharSpacing();d=this.__charBounds[c][u-1].left+this.__charBounds[c][u-1].width-t}o=r,(this.lineHeight<1||e===c&&this.lineHeight>1)&&(r/=this.lineHeight);let g=s.left+i+a,f=r,p=0;const m=d-a;this.inCompositionMode?(t.fillStyle=this.compositionColor||\"black\",f=1,p=r):t.fillStyle=this.selectionColor,\"rtl\"===this.direction&&(this.textAlign===A||this.textAlign===qe||this.textAlign===Je?g=this.width-g-m:this.textAlign===M||this.textAlign===Ke?g=s.left+i-d:this.textAlign!==D&&this.textAlign!==Qe||(g=s.left+i-d)),t.fillRect(g,s.top+s.topOffset+p,m,f),s.topOffset+=o}}getCurrentCharFontSize(){const t=this._getCurrentCharIndex();return this.getValueOfPropertyAt(t.l,t.c,\"fontSize\")}getCurrentCharColor(){const t=this._getCurrentCharIndex();return this.getValueOfPropertyAt(t.l,t.c,K)}_getCurrentCharIndex(){const t=this.get2DCursorLocation(this.selectionStart,!0),e=t.charIndex>0?t.charIndex-1:0;return{l:t.lineIndex,c:e}}dispose(){this.exitEditingImpl(),this.draggableTextDelegate.dispose(),super.dispose()}}t(Ho,\"ownDefaults\",Go),t(Ho,\"type\",\"IText\"),tt.setClass(Ho),tt.setClass(Ho,\"i-text\");class No extends Ho{static getDefaults(){return s(s({},super.getDefaults()),No.ownDefaults)}constructor(t,e){super(t,s(s({},No.ownDefaults),e))}static createControls(){return{controls:Pi()}}initDimensions(){this.initialized&&(this.isEditing&&this.initDelayedCursor(),this._clearCache(),this.dynamicMinWidth=0,this._styleMap=this._generateStyleMap(this._splitText()),this.dynamicMinWidth>this.width&&this._set(\"width\",this.dynamicMinWidth),this.textAlign.includes(qe)&&this.enlargeSpaces(),this.height=this.calcTextHeight())}_generateStyleMap(t){let e=0,s=0,i=0;const r={};for(let n=0;n<t.graphemeLines.length;n++)\"\\n\"===t.graphemeText[i]&&n>0?(s=0,i++,e++):!this.splitByGrapheme&&this._reSpaceAndTab.test(t.graphemeText[i])&&n>0&&(s++,i++),r[n]={line:e,offset:s},i+=t.graphemeLines[n].length,s+=t.graphemeLines[n].length;return r}styleHas(t,e){if(this._styleMap&&!this.isWrapping){const t=this._styleMap[e];t&&(e=t.line)}return super.styleHas(t,e)}isEmptyStyles(t){if(!this.styles)return!0;let e,s=0,i=t+1,r=!1;const n=this._styleMap[t],o=this._styleMap[t+1];n&&(t=n.line,s=n.offset),o&&(i=o.line,r=i===t,e=o.offset);const a=void 0===t?this.styles:{line:this.styles[t]};for(const t in a)for(const i in a[t]){const n=parseInt(i,10);if(n>=s&&(!r||n<e))for(const e in a[t][i])return!1}return!0}_getStyleDeclaration(t,e){if(this._styleMap&&!this.isWrapping){const s=this._styleMap[t];if(!s)return{};t=s.line,e=s.offset+e}return super._getStyleDeclaration(t,e)}_setStyleDeclaration(t,e,s){const i=this._styleMap[t];super._setStyleDeclaration(i.line,i.offset+e,s)}_deleteStyleDeclaration(t,e){const s=this._styleMap[t];super._deleteStyleDeclaration(s.line,s.offset+e)}_getLineStyle(t){const e=this._styleMap[t];return!!this.styles[e.line]}_setLineStyle(t){const e=this._styleMap[t];super._setLineStyle(e.line)}_wrapText(t,e){this.isWrapping=!0;const s=this.getGraphemeDataForRender(t),i=[];for(let t=0;t<s.wordsData.length;t++)i.push(...this._wrapLine(t,e,s));return this.isWrapping=!1,i}getGraphemeDataForRender(t){const e=this.splitByGrapheme,s=e?\"\":\" \";let i=0;return{wordsData:t.map(((t,r)=>{let n=0;const o=e?this.graphemeSplit(t):this.wordSplit(t);return 0===o.length?[{word:[],width:0}]:o.map((t=>{const o=e?[t]:this.graphemeSplit(t),a=this._measureWord(o,r,n);return i=Math.max(a,i),n+=o.length+s.length,{word:o,width:a}}))})),largestWordWidth:i}}_measureWord(t,e){let s,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=0;for(let n=0,o=t.length;n<o;n++){r+=this._getGraphemeBox(t[n],e,n+i,s,true).kernedWidth,s=t[n]}return r}wordSplit(t){return t.split(this._wordJoiners)}_wrapLine(t,e,s){let{largestWordWidth:i,wordsData:r}=s,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;const o=this._getWidthOfCharSpacing(),a=this.splitByGrapheme,h=[],c=a?\"\":\" \";let l=0,u=[],d=0,g=0,f=!0;e-=n;const p=Math.max(e,i,this.dynamicMinWidth),m=r[t];let v;for(d=0,v=0;v<m.length;v++){const{word:e,width:s}=m[v];d+=e.length,l+=g+s-o,l>p&&!f?(h.push(u),u=[],l=s,f=!0):l+=o,f||a||u.push(c),u=u.concat(e),g=a?0:this._measureWord([c],t,d),d++,f=!1}return v&&h.push(u),i+n>this.dynamicMinWidth&&(this.dynamicMinWidth=i-o+n),h}isEndOfWrapping(t){return!this._styleMap[t+1]||this._styleMap[t+1].line!==this._styleMap[t].line}missingNewlineOffset(t,e){return this.splitByGrapheme&&!e?this.isEndOfWrapping(t)?1:0:1}_splitTextIntoLines(t){const e=super._splitTextIntoLines(t),s=this._wrapText(e.lines,this.width),i=new Array(s.length);for(let t=0;t<s.length;t++)i[t]=s[t].join(\"\");return e.lines=i,e.graphemeLines=s,e}getMinWidth(){return Math.max(this.minWidth,this.dynamicMinWidth)}_removeExtraneousStyles(){const t=new Map;for(const e in this._styleMap){const s=parseInt(e,10);if(this._textLines[s]){const s=this._styleMap[e].line;t.set(\"\".concat(s),!0)}}for(const e in this.styles)t.has(e)||delete this.styles[e]}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject([\"minWidth\",\"splitByGrapheme\",...t])}}t(No,\"type\",\"Textbox\"),t(No,\"textLayoutProperties\",[...Ho.textLayoutProperties,\"width\"]),t(No,\"ownDefaults\",{minWidth:20,dynamicMinWidth:2,lockScalingFlip:!0,noScaleCache:!1,_wordJoiners:/[ \\t\\r]/,splitByGrapheme:!1}),tt.setClass(No);class Uo extends Ir{shouldPerformLayout(t){return!!t.target.clipPath&&super.shouldPerformLayout(t)}shouldLayoutClipPath(){return!1}calcLayoutResult(t,e){const{target:s}=t,{clipPath:i,group:r}=s;if(!i||!this.shouldPerformLayout(t))return;const{width:n,height:o}=ae(Rr(s,i)),a=new ot(n,o);if(i.absolutePositioned){return{center:pe(i.getRelativeCenterPoint(),void 0,r?r.calcTransformMatrix():void 0),size:a}}{const r=i.getRelativeCenterPoint().transform(s.calcOwnMatrix(),!0);if(this.shouldPerformLayout(t)){const{center:s=new ot,correction:i=new ot}=this.calcBoundingBox(e,t)||{};return{center:s.add(r),correction:i.subtract(r),size:a}}return{center:s.getRelativeCenterPoint().add(r),size:a}}}}t(Uo,\"type\",\"clip-path\"),tt.setClass(Uo);class qo extends Ir{getInitialSize(t,e){let{target:s}=t,{size:i}=e;return new ot(s.width||i.x,s.height||i.y)}}t(qo,\"type\",\"fixed\"),tt.setClass(qo);class Ko extends Vr{subscribeTargets(t){const e=t.target;t.targets.reduce(((t,e)=>(e.parent&&t.add(e.parent),t)),new Set).forEach((t=>{t.layoutManager.subscribeTargets({target:t,targets:[e]})}))}unsubscribeTargets(t){const e=t.target,s=e.getObjects();t.targets.reduce(((t,e)=>(e.parent&&t.add(e.parent),t)),new Set).forEach((t=>{!s.some((e=>e.parent===t))&&t.layoutManager.unsubscribeTargets({target:t,targets:[e]})}))}}class Jo extends Hr{static getDefaults(){return s(s({},super.getDefaults()),Jo.ownDefaults)}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),Object.assign(this,Jo.ownDefaults),this.setOptions(e);const{left:s,top:i,layoutManager:r}=e;this.groupInit(t,{left:s,top:i,layoutManager:null!=r?r:new Ko})}_shouldSetNestedCoords(){return!0}__objectSelectionMonitor(){}multiSelectAdd(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];\"selection-order\"===this.multiSelectionStacking?this.add(...e):e.forEach((t=>{const e=this._objects.findIndex((e=>e.isInFrontOf(t))),s=-1===e?this.size():e;this.insertAt(s,t)}))}canEnterGroup(t){return this.getObjects().some((e=>e.isDescendantOf(t)||t.isDescendantOf(e)))?(a(\"error\",\"ActiveSelection: circular object trees are not supported, this call has no effect\"),!1):super.canEnterGroup(t)}enterGroup(t,e){t.parent&&t.parent===t.group?t.parent._exitGroup(t):t.group&&t.parent!==t.group&&t.group.remove(t),this._enterGroup(t,e)}exitGroup(t,e){this._exitGroup(t,e),t.parent&&t.parent._enterGroup(t,!0)}_onAfterObjectsChange(t,e){super._onAfterObjectsChange(t,e);const s=new Set;e.forEach((t=>{const{parent:e}=t;e&&s.add(e)})),t===Fr?s.forEach((t=>{t._onAfterObjectsChange(jr,e)})):s.forEach((t=>{t._set(\"dirty\",!0)}))}onDeselect(){return this.removeAll(),!1}toString(){return\"#<ActiveSelection: (\".concat(this.complexity(),\")>\")}shouldCache(){return!1}isOnACache(){return!1}_renderControls(t,e,i){t.save(),t.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1;const r=s(s({hasControls:!1},i),{},{forActiveSelection:!0});for(let e=0;e<this._objects.length;e++)this._objects[e]._renderControls(t,r);super._renderControls(t,e),t.restore()}}t(Jo,\"type\",\"ActiveSelection\"),t(Jo,\"ownDefaults\",{multiSelectionStacking:\"canvas-stacking\"}),tt.setClass(Jo),tt.setClass(Jo,\"activeSelection\");class Qo{constructor(){t(this,\"resources\",{})}applyFilters(t,e,s,i,r){const n=r.getContext(\"2d\");if(!n)return;n.drawImage(e,0,0,s,i);const o={sourceWidth:s,sourceHeight:i,imageData:n.getImageData(0,0,s,i),originalEl:e,originalImageData:n.getImageData(0,0,s,i),canvasEl:r,ctx:n,filterBackend:this};t.forEach((t=>{t.applyTo(o)}));const{imageData:a}=o;return a.width===s&&a.height===i||(r.width=a.width,r.height=a.height),n.putImageData(a,0,0),o}}class Zo{constructor(){let{tileSize:e=o.textureSize}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t(this,\"aPosition\",new Float32Array([0,0,0,1,1,0,1,1])),t(this,\"resources\",{}),this.tileSize=e,this.setupGLContext(e,e),this.captureGPUInfo()}setupGLContext(t,e){this.dispose(),this.createWebGLCanvas(t,e)}createWebGLCanvas(t,e){const s=vt({width:t,height:e}),i=s.getContext(\"webgl\",{alpha:!0,premultipliedAlpha:!1,depth:!1,stencil:!1,antialias:!1});i&&(i.clearColor(0,0,0,0),this.canvas=s,this.gl=i)}applyFilters(t,e,s,i,r,n){const o=this.gl,a=r.getContext(\"2d\");if(!o||!a)return;let h;n&&(h=this.getCachedTexture(n,e));const c={originalWidth:e.width||e.naturalWidth||0,originalHeight:e.height||e.naturalHeight||0,sourceWidth:s,sourceHeight:i,destinationWidth:s,destinationHeight:i,context:o,sourceTexture:this.createTexture(o,s,i,h?void 0:e),targetTexture:this.createTexture(o,s,i),originalTexture:h||this.createTexture(o,s,i,h?void 0:e),passes:t.length,webgl:!0,aPosition:this.aPosition,programCache:this.programCache,pass:0,filterBackend:this,targetCanvas:r},l=o.createFramebuffer();return o.bindFramebuffer(o.FRAMEBUFFER,l),t.forEach((t=>{t&&t.applyTo(c)})),function(t){const e=t.targetCanvas,s=e.width,i=e.height,r=t.destinationWidth,n=t.destinationHeight;s===r&&i===n||(e.width=r,e.height=n)}(c),this.copyGLTo2D(o,c),o.bindTexture(o.TEXTURE_2D,null),o.deleteTexture(c.sourceTexture),o.deleteTexture(c.targetTexture),o.deleteFramebuffer(l),a.setTransform(1,0,0,1,0,0),c}dispose(){this.canvas&&(this.canvas=null,this.gl=null),this.clearWebGLCaches()}clearWebGLCaches(){this.programCache={},this.textureCache={}}createTexture(t,e,s,i,r){const{NEAREST:n,TEXTURE_2D:o,RGBA:a,UNSIGNED_BYTE:h,CLAMP_TO_EDGE:c,TEXTURE_MAG_FILTER:l,TEXTURE_MIN_FILTER:u,TEXTURE_WRAP_S:d,TEXTURE_WRAP_T:g}=t,f=t.createTexture();return t.bindTexture(o,f),t.texParameteri(o,l,r||n),t.texParameteri(o,u,r||n),t.texParameteri(o,d,c),t.texParameteri(o,g,c),i?t.texImage2D(o,0,a,a,h,i):t.texImage2D(o,0,a,e,s,0,a,h,null),f}getCachedTexture(t,e,s){const{textureCache:i}=this;if(i[t])return i[t];{const r=this.createTexture(this.gl,e.width,e.height,e,s);return r&&(i[t]=r),r}}evictCachesForKey(t){this.textureCache[t]&&(this.gl.deleteTexture(this.textureCache[t]),delete this.textureCache[t])}copyGLTo2D(t,e){const s=t.canvas,i=e.targetCanvas,r=i.getContext(\"2d\");if(!r)return;r.translate(0,i.height),r.scale(1,-1);const n=s.height-i.height;r.drawImage(s,0,n,i.width,i.height,0,0,i.width,i.height)}copyGLTo2DPutImageData(t,e){const s=e.targetCanvas.getContext(\"2d\"),i=e.destinationWidth,r=e.destinationHeight,n=i*r*4;if(!s)return;const o=new Uint8Array(this.imageBuffer,0,n),a=new Uint8ClampedArray(this.imageBuffer,0,n);t.readPixels(0,0,i,r,t.RGBA,t.UNSIGNED_BYTE,o);const h=new ImageData(a,i,r);s.putImageData(h,0,0)}captureGPUInfo(){if(this.gpuInfo)return this.gpuInfo;const t=this.gl,e={renderer:\"\",vendor:\"\"};if(!t)return e;const s=t.getExtension(\"WEBGL_debug_renderer_info\");if(s){const i=t.getParameter(s.UNMASKED_RENDERER_WEBGL),r=t.getParameter(s.UNMASKED_VENDOR_WEBGL);i&&(e.renderer=i.toLowerCase()),r&&(e.vendor=r.toLowerCase())}return this.gpuInfo=e,e}}let $o;function ta(){const{WebGLProbe:t}=p();return t.queryWebGL(pt()),o.enableGLFiltering&&t.isSupported(o.textureSize)?new Zo({tileSize:o.textureSize}):new Qo}function ea(){return!$o&&(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])&&($o=ta()),$o}function sa(t){$o=t}const ia=[\"filters\",\"resizeFilter\",\"src\",\"crossOrigin\",\"type\"],ra=[\"cropX\",\"cropY\"];class na extends ji{static getDefaults(){return s(s({},super.getDefaults()),na.ownDefaults)}constructor(e,s){super(),t(this,\"_lastScaleX\",1),t(this,\"_lastScaleY\",1),t(this,\"_filterScalingX\",1),t(this,\"_filterScalingY\",1),this.filters=[],Object.assign(this,na.ownDefaults),this.setOptions(s),this.cacheKey=\"texture\".concat(ft()),this.setElement(\"string\"==typeof e?(this.canvas&&Kt(this.canvas.getElement())||m()).getElementById(e):e,s)}getElement(){return this._element}setElement(t){var e;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.removeTexture(this.cacheKey),this.removeTexture(\"\".concat(this.cacheKey,\"_filtered\")),this._element=t,this._originalElement=t,this._setWidthHeight(s),null===(e=t.classList)||void 0===e||e.add(na.CSS_CANVAS),0!==this.filters.length&&this.applyFilters(),this.resizeFilter&&this.applyResizeFilters()}removeTexture(t){const e=ea(!1);e instanceof Zo&&e.evictCachesForKey(t)}dispose(){super.dispose(),this.removeTexture(this.cacheKey),this.removeTexture(\"\".concat(this.cacheKey,\"_filtered\")),this._cacheContext=null,[\"_originalElement\",\"_element\",\"_filteredEl\",\"_cacheCanvas\"].forEach((t=>{const e=this[t];e&&p().dispose(e),this[t]=void 0}))}getCrossOrigin(){return this._originalElement&&(this._originalElement.crossOrigin||null)}getOriginalSize(){const t=this.getElement();return t?{width:t.naturalWidth||t.width,height:t.naturalHeight||t.height}:{width:0,height:0}}_stroke(t){if(!this.stroke||0===this.strokeWidth)return;const e=this.width/2,s=this.height/2;t.beginPath(),t.moveTo(-e,-s),t.lineTo(e,-s),t.lineTo(e,s),t.lineTo(-e,s),t.lineTo(-e,-s),t.closePath()}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const e=[];return this.filters.forEach((t=>{t&&e.push(t.toObject())})),s(s({},super.toObject([...ra,...t])),{},{src:this.getSrc(),crossOrigin:this.getCrossOrigin(),filters:e},this.resizeFilter?{resizeFilter:this.resizeFilter.toObject()}:{})}hasCrop(){return!!this.cropX||!!this.cropY||this.width<this._element.width||this.height<this._element.height}_toSVG(){const t=[],e=this._element,s=-this.width/2,i=-this.height/2;let r=[],n=[],o=\"\",a=\"\";if(!e)return[];if(this.hasCrop()){const t=ft();r.push('<clipPath id=\"imageCrop_'+t+'\">\\n','\\t<rect x=\"'+s+'\" y=\"'+i+'\" width=\"'+this.width+'\" height=\"'+this.height+'\" />\\n',\"</clipPath>\\n\"),o=' clip-path=\"url(#imageCrop_'+t+')\" '}if(this.imageSmoothing||(a=' image-rendering=\"optimizeSpeed\"'),t.push(\"\\t<image \",\"COMMON_PARTS\",'xlink:href=\"'.concat(this.getSvgSrc(!0),'\" x=\"').concat(s-this.cropX,'\" y=\"').concat(i-this.cropY,'\" width=\"').concat(e.width||e.naturalWidth,'\" height=\"').concat(e.height||e.naturalHeight,'\"').concat(a).concat(o,\"></image>\\n\")),this.stroke||this.strokeDashArray){const t=this.fill;this.fill=null,n=['\\t<rect x=\"'.concat(s,'\" y=\"').concat(i,'\" width=\"').concat(this.width,'\" height=\"').concat(this.height,'\" style=\"').concat(this.getSvgStyles(),'\" />\\n')],this.fill=t}return r=this.paintFirst!==K?r.concat(n,t):r.concat(t,n),r}getSrc(t){const e=t?this._element:this._originalElement;return e?e.toDataURL?e.toDataURL():this.srcFromAttribute?e.getAttribute(\"src\")||\"\":e.src:this.src||\"\"}getSvgSrc(t){return this.getSrc(t)}setSrc(t){let{crossOrigin:e,signal:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return It(t,{crossOrigin:e,signal:s}).then((t=>{void 0!==e&&this.set({crossOrigin:e}),this.setElement(t)}))}toString(){return'#<Image: { src: \"'.concat(this.getSrc(),'\" }>')}applyResizeFilters(){const t=this.resizeFilter,e=this.minimumScaleTrigger,s=this.getTotalObjectScaling(),i=s.x,r=s.y,n=this._filteredEl||this._originalElement;if(this.group&&this.set(\"dirty\",!0),!t||i>e&&r>e)return this._element=n,this._filterScalingX=1,this._filterScalingY=1,this._lastScaleX=i,void(this._lastScaleY=r);const o=vt(n),{width:a,height:h}=n;this._element=o,this._lastScaleX=t.scaleX=i,this._lastScaleY=t.scaleY=r,ea().applyFilters([t],n,a,h,this._element),this._filterScalingX=o.width/this._originalElement.width,this._filterScalingY=o.height/this._originalElement.height}applyFilters(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.filters||[];if(t=t.filter((t=>t&&!t.isNeutralState())),this.set(\"dirty\",!0),this.removeTexture(\"\".concat(this.cacheKey,\"_filtered\")),0===t.length)return this._element=this._originalElement,this._filteredEl=void 0,this._filterScalingX=1,void(this._filterScalingY=1);const e=this._originalElement,s=e.naturalWidth||e.width,i=e.naturalHeight||e.height;if(this._element===this._originalElement){const t=vt({width:s,height:i});this._element=t,this._filteredEl=t}else this._filteredEl&&(this._element=this._filteredEl,this._filteredEl.getContext(\"2d\").clearRect(0,0,s,i),this._lastScaleX=1,this._lastScaleY=1);ea().applyFilters(t,this._originalElement,s,i,this._element,this.cacheKey),this._originalElement.width===this._element.width&&this._originalElement.height===this._element.height||(this._filterScalingX=this._element.width/this._originalElement.width,this._filterScalingY=this._element.height/this._originalElement.height)}_render(t){t.imageSmoothingEnabled=this.imageSmoothing,!0!==this.isMoving&&this.resizeFilter&&this._needsResize()&&this.applyResizeFilters(),this._stroke(t),this._renderPaintInOrder(t)}drawCacheOnCanvas(t){t.imageSmoothingEnabled=this.imageSmoothing,super.drawCacheOnCanvas(t)}shouldCache(){return this.needsItsOwnCache()}_renderFill(t){const e=this._element;if(!e)return;const s=this._filterScalingX,i=this._filterScalingY,r=this.width,n=this.height,o=Math.max(this.cropX,0),a=Math.max(this.cropY,0),h=e.naturalWidth||e.width,c=e.naturalHeight||e.height,l=o*s,u=a*i,d=Math.min(r*s,h-l),g=Math.min(n*i,c-u),f=-r/2,p=-n/2,m=Math.min(r,h/s-o),v=Math.min(n,c/i-a);e&&t.drawImage(e,l,u,d,g,f,p,m,v)}_needsResize(){const t=this.getTotalObjectScaling();return t.x!==this._lastScaleX||t.y!==this._lastScaleY}_resetWidthHeight(){this.set(this.getOriginalSize())}_setWidthHeight(){let{width:t,height:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const s=this.getOriginalSize();this.width=t||s.width,this.height=e||s.height}parsePreserveAspectRatioAttribute(){const t=Ie(this.preserveAspectRatio||\"\"),e=this.width,s=this.height,i={width:e,height:s};let r,n=this._element.width,o=this._element.height,a=1,h=1,c=0,l=0,u=0,d=0;return!t||t.alignX===j&&t.alignY===j?(a=e/n,h=s/o):(\"meet\"===t.meetOrSlice&&(a=h=Nr(this._element,i),r=(e-n*a)/2,\"Min\"===t.alignX&&(c=-r),\"Max\"===t.alignX&&(c=r),r=(s-o*h)/2,\"Min\"===t.alignY&&(l=-r),\"Max\"===t.alignY&&(l=r)),\"slice\"===t.meetOrSlice&&(a=h=Ur(this._element,i),r=n-e/a,\"Mid\"===t.alignX&&(u=r/2),\"Max\"===t.alignX&&(u=r),r=o-s/h,\"Mid\"===t.alignY&&(d=r/2),\"Max\"===t.alignY&&(d=r),n=e/a,o=s/h)),{width:n,height:o,scaleX:a,scaleY:h,offsetLeft:c,offsetTop:l,cropX:u,cropY:d}}static fromObject(t,e){let{filters:r,resizeFilter:n,src:o,crossOrigin:a,type:h}=t,c=i(t,ia);return Promise.all([It(o,s(s({},e),{},{crossOrigin:a})),r&&Bt(r,e),n&&Bt([n],e),Xt(c,e)]).then((t=>{let[e,i=[],[r]=[],n={}]=t;return new this(e,s(s({},c),{},{src:o,filters:i,resizeFilter:r},n))}))}static fromURL(t){let{crossOrigin:e=null,signal:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2?arguments[2]:void 0;return It(t,{crossOrigin:e,signal:s}).then((t=>new this(t,i)))}static async fromElement(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2?arguments[2]:void 0;const i=Dr(t,this.ATTRIBUTE_NAMES,s);return this.fromURL(i[\"xlink:href\"]||i.href,e,i).catch((t=>(a(\"log\",\"Unable to parse Image\",t),null)))}}function oa(t){if(!cs.test(t.nodeName))return{};const e=t.getAttribute(\"viewBox\");let s,i,r=1,n=1,o=0,a=0;const h=t.getAttribute(\"width\"),c=t.getAttribute(\"height\"),l=t.getAttribute(\"x\")||0,u=t.getAttribute(\"y\")||0,d=!(e&&us.test(e)),g=!h||!c||\"100%\"===h||\"100%\"===c;let f=\"\",p=0,m=0;if(d&&(l||u)&&t.parentNode&&\"#document\"!==t.parentNode.nodeName&&(f=\" translate(\"+Re(l||\"0\")+\" \"+Re(u||\"0\")+\") \",s=(t.getAttribute(\"transform\")||\"\")+f,t.setAttribute(\"transform\",s),t.removeAttribute(\"x\"),t.removeAttribute(\"y\")),d&&g)return{width:0,height:0};const v={width:0,height:0};if(d)return v.width=Re(h),v.height=Re(c),v;const y=e.match(us);o=-parseFloat(y[1]),a=-parseFloat(y[2]);const _=parseFloat(y[3]),x=parseFloat(y[4]);v.minX=o,v.minY=a,v.viewBoxWidth=_,v.viewBoxHeight=x,g?(v.width=_,v.height=x):(v.width=Re(h),v.height=Re(c),r=v.width/_,n=v.height/x);const C=Ie(t.getAttribute(\"preserveAspectRatio\")||\"\");if(C.alignX!==j&&(\"meet\"===C.meetOrSlice&&(n=r=r>n?n:r),\"slice\"===C.meetOrSlice&&(n=r=r>n?r:n),p=v.width-_*r,m=v.height-x*r,\"Mid\"===C.alignX&&(p/=2),\"Mid\"===C.alignY&&(m/=2),\"Min\"===C.alignX&&(p=0),\"Min\"===C.alignY&&(m=0)),1===r&&1===n&&0===o&&0===a&&0===l&&0===u)return v;if((l||u)&&\"#document\"!==t.parentNode.nodeName&&(f=\" translate(\"+Re(l||\"0\")+\" \"+Re(u||\"0\")+\") \"),s=f+\" matrix(\"+r+\" 0 0 \"+n+\" \"+(o*r+p)+\" \"+(a*n+m)+\") \",\"svg\"===t.nodeName){for(i=t.ownerDocument.createElementNS(is,\"g\");t.firstChild;)i.appendChild(t.firstChild);t.appendChild(i)}else i=t,i.removeAttribute(\"x\"),i.removeAttribute(\"y\"),s=i.getAttribute(\"transform\")+s;return i.setAttribute(\"transform\",s),v}t(na,\"type\",\"Image\"),t(na,\"cacheProperties\",[...Ms,...ra]),t(na,\"ownDefaults\",{strokeWidth:0,srcFromAttribute:!1,minimumScaleTrigger:.5,cropX:0,cropY:0,imageSmoothing:!0}),t(na,\"CSS_CANVAS\",\"canvas-img\"),t(na,\"ATTRIBUTE_NAMES\",[...Ji,\"x\",\"y\",\"width\",\"height\",\"preserveAspectRatio\",\"xlink:href\",\"href\",\"crossOrigin\",\"image-rendering\"]),tt.setClass(na),tt.setSVGClass(na);const aa=t=>t.tagName.replace(\"svg:\",\"\"),ha=Ye([\"pattern\",\"defs\",\"symbol\",\"metadata\",\"clipPath\",\"mask\",\"desc\"]);function ca(t,e){let s,i,r,n,o=[];for(r=0,n=e.length;r<n;r++)s=e[r],i=t.getElementsByTagNameNS(\"http://www.w3.org/2000/svg\",s),o=o.concat(Array.from(i));return o}const la=[\"gradientTransform\",\"x1\",\"x2\",\"y1\",\"y2\",\"gradientUnits\",\"cx\",\"cy\",\"r\",\"fx\",\"fy\"],ua=\"xlink:href\";function da(t,e){var s;const i=(null===(s=e.getAttribute(ua))||void 0===s?void 0:s.slice(1))||\"\",r=t.getElementById(i);if(r&&r.getAttribute(ua)&&da(t,r),r&&(la.forEach((t=>{const s=r.getAttribute(t);!e.hasAttribute(t)&&s&&e.setAttribute(t,s)})),!e.children.length)){const t=r.cloneNode(!0);for(;t.firstChild;)e.appendChild(t.firstChild)}e.removeAttribute(ua)}const ga=[\"linearGradient\",\"radialGradient\",\"svg:linearGradient\",\"svg:radialGradient\"];function fa(t){const e=t.getElementsByTagName(\"style\"),i={};for(let t=0;t<e.length;t++){const r=(e[t].textContent||\"\").replace(/\\/\\*[\\s\\S]*?\\*\\//g,\"\");\"\"!==r.trim()&&r.split(\"}\").filter(((t,e,s)=>s.length>1&&t.trim())).forEach((t=>{if((t.match(/{/g)||[]).length>1&&t.trim().startsWith(\"@\"))return;const e=t.split(\"{\"),r={},n=e[1].trim().split(\";\").filter((function(t){return t.trim()}));for(let t=0;t<n.length;t++){const e=n[t].split(\":\"),s=e[0].trim(),i=e[1].trim();r[s]=i}(t=e[0].trim()).split(\",\").forEach((t=>{\"\"!==(t=t.replace(/^svg/i,\"\").trim())&&(i[t]=s(s({},i[t]||{}),r))}))}))}return i}const pa=t=>tt.getSVGClass(aa(t).toLowerCase());class ma{constructor(t,e,s,i,r){this.elements=t,this.options=e,this.reviver=s,this.regexUrl=/^url\\(['\"]?#([^'\"]+)['\"]?\\)/g,this.doc=i,this.clipPaths=r,this.gradientDefs=function(t){const e=ca(t,ga),s={};let i=e.length;for(;i--;){const r=e[i];r.getAttribute(\"xlink:href\")&&da(t,r);const n=r.getAttribute(\"id\");n&&(s[n]=r)}return s}(i),this.cssRules=fa(i)}parse(){return Promise.all(this.elements.map((t=>this.createObject(t))))}async createObject(t){const e=pa(t);if(e){const s=await e.fromElement(t,this.options,this.cssRules);return this.resolveGradient(s,t,K),this.resolveGradient(s,t,J),s instanceof na&&s._originalElement?On(s,s.parsePreserveAspectRatioAttribute()):On(s),await this.resolveClipPath(s,t),this.reviver&&this.reviver(t,s),s}return null}extractPropertyDefinition(t,e,s){const i=t[e],r=this.regexUrl;if(!r.test(i))return;r.lastIndex=0;const n=r.exec(i)[1];return r.lastIndex=0,s[n]}resolveGradient(t,e,i){const r=this.extractPropertyDefinition(t,i,this.gradientDefs);if(r){const n=e.getAttribute(i+\"-opacity\"),o=Zn.fromElement(r,t,s(s({},this.options),{},{opacity:n}));t.set(i,o)}}async resolveClipPath(t,e,s){const i=this.extractPropertyDefinition(t,\"clipPath\",this.clipPaths);if(i){const r=wt(t.calcTransformMatrix()),n=i[0].parentElement;let o=e;for(;!s&&o.parentElement&&o.getAttribute(\"clip-path\")!==t.clipPath;)o=o.parentElement;o.parentElement.appendChild(n);const a=br(\"\".concat(o.getAttribute(\"transform\")||\"\",\" \").concat(n.getAttribute(\"originalTransform\")||\"\"));n.setAttribute(\"transform\",\"matrix(\".concat(a.join(\",\"),\")\"));const h=await Promise.all(i.map((t=>pa(t).fromElement(t,this.options,this.cssRules).then((t=>(On(t),t.fillRule=t.clipRule,delete t.clipRule,t)))))),c=1===h.length?h[0]:new Hr(h),l=Tt(r,c.calcTransformMatrix());c.clipPath&&await this.resolveClipPath(c,o,n.getAttribute(\"clip-path\")?o:void 0);const{scaleX:u,scaleY:d,angle:g,skewX:f,translateX:p,translateY:m}=Dt(l);c.set({flipX:!1,flipY:!1}),c.set({scaleX:u,scaleY:d,angle:g,skewX:f,skewY:0}),c.setPositionByOrigin(new ot(p,m),D,D),t.clipPath=c}else delete t.clipPath}}const va=t=>hs.test(aa(t)),ya=()=>({objects:[],elements:[],options:{},allElements:[]});async function _a(t,e){let{crossOrigin:i,signal:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(r&&r.aborted)return a(\"log\",new c(\"parseSVGDocument\")),ya();const n=t.documentElement;!function(t){const e=ca(t,[\"use\",\"svg:use\"]),s=[\"x\",\"y\",\"xlink:href\",\"href\",\"transform\"];for(const i of e){const e=i.attributes,r={};for(const t of e)t.value&&(r[t.name]=t.value);const n=(r[\"xlink:href\"]||r.href||\"\").slice(1);if(\"\"===n)return;const o=t.getElementById(n);if(null===o)return;let a=o.cloneNode(!0);const h=a.attributes,c={};for(const t of h)t.value&&(c[t.name]=t.value);const{x:l=0,y:u=0,transform:d=\"\"}=r,g=\"\".concat(d,\" \").concat(c.transform||\"\",\" translate(\").concat(l,\", \").concat(u,\")\");if(oa(a),/^svg$/i.test(a.nodeName)){const t=a.ownerDocument.createElementNS(is,\"g\");Object.entries(c).forEach((e=>{let[s,i]=e;return t.setAttributeNS(is,s,i)})),t.append(...a.childNodes),a=t}for(const t of e){if(!t)continue;const{name:e,value:i}=t;if(!s.includes(e))if(\"style\"===e){const t={};Tr(i,t),Object.entries(c).forEach((e=>{let[s,i]=e;t[s]=i})),Tr(c.style||\"\",t);const s=Object.entries(t).map((t=>t.join(\":\"))).join(\";\");a.setAttribute(e,s)}else!c[e]&&a.setAttribute(e,i)}a.setAttribute(\"transform\",g),a.setAttribute(\"instantiated_by_use\",\"1\"),a.removeAttribute(\"id\"),i.parentNode.replaceChild(a,i)}}(t);const o=Array.from(n.getElementsByTagName(\"*\")),h=s(s({},oa(n)),{},{crossOrigin:i,signal:r}),l=o.filter((t=>(oa(t),va(t)&&!function(t){let e=t;for(;e&&(e=e.parentElement);)if(e&&e.nodeName&&ha.test(aa(e))&&!e.getAttribute(\"instantiated_by_use\"))return!0;return!1}(t))));if(!l||l&&!l.length)return s(s({},ya()),{},{options:h,allElements:o});const u={};o.filter((t=>\"clipPath\"===aa(t))).forEach((t=>{t.setAttribute(\"originalTransform\",t.getAttribute(\"transform\")||\"\");const e=t.getAttribute(\"id\");u[e]=Array.from(t.getElementsByTagName(\"*\")).filter((t=>va(t)))}));const d=new ma(l,h,e,t,u);return{objects:await d.parse(),elements:l,options:h,allElements:o}}function xa(t,e,s){return _a((new(v().DOMParser)).parseFromString(t.trim(),\"text/xml\"),e,s)}function Ca(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((e,i)=>{Tn(t.replace(/^\\n\\s*/,\"\").trim(),{onComplete:t=>{const s=t.responseXML;s&&e(s),i()},signal:s.signal})})).then((t=>_a(t,e,s))).catch((()=>ya()))}const ba=W,Sa=t=>function(e,s,i){const{points:r,pathOffset:n}=i;return new ot(r[t]).subtract(n).transform(Tt(i.getViewportTransform(),i.calcTransformMatrix()))},wa=(t,e,s,i)=>{const{target:r,pointIndex:n}=e,o=r,a=pe(new ot(s,i),void 0,o.calcOwnMatrix());return o.points[n]=a.add(o.pathOffset),o.setDimensions(),o.set(\"dirty\",!0),!0},Ta=(t,e)=>function(i,r,n,o){const a=r.target,h=new ot(a.points[(t>0?t:a.points.length)-1]),c=h.subtract(a.pathOffset).transform(a.calcOwnMatrix()),l=e(i,s(s({},r),{},{pointIndex:t}),n,o),u=h.subtract(a.pathOffset).transform(a.calcOwnMatrix()).subtract(c);return a.left-=u.x,a.top-=u.y,l},Oa=t=>ti(ba,Ta(t,wa));const ka=(t,e,s)=>{const{path:i,pathOffset:r}=t,n=i[e];return new ot(n[s]-r.x,n[s+1]-r.y).transform(Tt(t.getViewportTransform(),t.calcTransformMatrix()))};function Da(t,e,s){const{commandIndex:i,pointIndex:r}=this;return ka(s,i,r)}function Ma(t,e,i,r){const{target:n}=e,{commandIndex:o,pointIndex:a}=this,h=((t,e,s,i,r)=>{const{path:n,pathOffset:o}=t,a=n[(i>0?i:n.length)-1],h=new ot(a[r],a[r+1]),c=h.subtract(o).transform(t.calcOwnMatrix()),l=pe(new ot(e,s),void 0,t.calcOwnMatrix());n[i][r]=l.x+o.x,n[i][r+1]=l.y+o.y,t.setDimensions();const u=h.subtract(t.pathOffset).transform(t.calcOwnMatrix()).subtract(c);return t.left-=u.x,t.top-=u.y,t.set(\"dirty\",!0),!0})(n,i,r,o,a);return ye(this.actionName,s(s({},Te(t,e,i,r)),{},{commandIndex:o,pointIndex:a})),h}class Pa extends ni{constructor(t){super(t)}render(t,e,i,r,n){const o=s(s({},r),{},{cornerColor:this.controlFill,cornerStrokeColor:this.controlStroke,transparentCorners:!this.controlFill});super.render(t,e,i,o,n)}}class Ea extends Pa{constructor(t){super(t)}render(t,e,s,i,r){const{path:n}=r,{commandIndex:o,pointIndex:a,connectToCommandIndex:h,connectToPointIndex:c}=this;t.save(),t.strokeStyle=this.controlStroke,this.connectionDashArray&&t.setLineDash(this.connectionDashArray);const[l]=n[o],u=ka(r,h,c);if(\"Q\"===l){const i=ka(r,o,a+2);t.moveTo(i.x,i.y),t.lineTo(e,s)}else t.moveTo(e,s);t.lineTo(u.x,u.y),t.stroke(),t.restore(),super.render(t,e,s,i,r)}}const Aa=(t,e,i,r,n,o)=>new(i?Ea:Pa)(s(s({commandIndex:t,pointIndex:e,actionName:\"modifyPath\",positionHandler:Da,actionHandler:Ma,connectToCommandIndex:n,connectToPointIndex:o},r),i?r.controlPointStyle:r.pointStyle));var ja=Object.freeze({__proto__:null,changeWidth:si,createObjectDefaultControls:Di,createPathControls:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s={};let i=\"M\";return t.path.forEach(((t,r)=>{const n=t[0];switch(\"Z\"!==n&&(s[\"c_\".concat(r,\"_\").concat(n)]=Aa(r,t.length-2,!1,e)),n){case\"C\":s[\"c_\".concat(r,\"_C_CP_1\")]=Aa(r,1,!0,e,r-1,(t=>\"C\"===t?5:\"Q\"===t?3:1)(i)),s[\"c_\".concat(r,\"_C_CP_2\")]=Aa(r,3,!0,e,r,5);break;case\"Q\":s[\"c_\".concat(r,\"_Q_CP_1\")]=Aa(r,1,!0,e,r,3)}i=n})),s},createPolyActionHandler:Oa,createPolyControls:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i={};for(let r=0;r<(\"number\"==typeof t?t:t.points.length);r++)i[\"p\".concat(r)]=new ni(s({actionName:ba,positionHandler:Sa(r),actionHandler:Oa(r)},e));return i},createPolyPositionHandler:Sa,createResizeControls:Mi,createTextboxDefaultControls:Pi,dragHandler:De,factoryPolyActionHandler:Ta,getLocalPoint:ke,polyActionHandler:wa,renderCircleControl:ii,renderSquareControl:ri,rotationStyleHandler:oi,rotationWithSnapping:ai,scaleCursorStyleHandler:ui,scaleOrSkewActionName:wi,scaleSkewCursorStyleHandler:Ti,scalingEqually:gi,scalingX:fi,scalingXOrSkewingY:Oi,scalingY:pi,scalingYOrSkewingX:ki,skewCursorStyleHandler:_i,skewHandlerX:Ci,skewHandlerY:bi,wrapWithFireEvent:ti,wrapWithFixedAnchor:ei});const Fa=t=>void 0!==t.webgl,La=(t,e)=>{const s=vt({width:t,height:e}),i=pt().getContext(\"webgl\"),r={imageBuffer:new ArrayBuffer(t*e*4)},n={destinationWidth:t,destinationHeight:e,targetCanvas:s};let o;o=v().performance.now(),Zo.prototype.copyGLTo2D.call(r,i,n);const a=v().performance.now()-o;o=v().performance.now(),Zo.prototype.copyGLTo2DPutImageData.call(r,i,n);return a>v().performance.now()-o},Ra=\"precision highp float\",Ia=\"\\n \".concat(Ra,\";\\n varying vec2 vTexCoord;\\n uniform sampler2D uTexture;\\n void main() {\\n gl_FragColor = texture2D(uTexture, vTexCoord);\\n }\"),Ba=[\"type\"],Xa=[\"type\"],Ya=new RegExp(Ra,\"g\");class Wa{get type(){return this.constructor.type}constructor(){let t=i(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},Ba);Object.assign(this,this.constructor.defaults,t)}getFragmentSource(){return Ia}getVertexSource(){return\"\\n attribute vec2 aPosition;\\n varying vec2 vTexCoord;\\n void main() {\\n vTexCoord = aPosition;\\n gl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\\n }\"}createProgram(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.getFragmentSource(),s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.getVertexSource();const{WebGLProbe:{GLPrecision:i=\"highp\"}}=p();\"highp\"!==i&&(e=e.replace(Ya,Ra.replace(\"highp\",i)));const r=t.createShader(t.VERTEX_SHADER),n=t.createShader(t.FRAGMENT_SHADER),o=t.createProgram();if(!r||!n||!o)throw new h(\"Vertex, fragment shader or program creation error\");if(t.shaderSource(r,s),t.compileShader(r),!t.getShaderParameter(r,t.COMPILE_STATUS))throw new h(\"Vertex shader compile error for \".concat(this.type,\": \").concat(t.getShaderInfoLog(r)));if(t.shaderSource(n,e),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new h(\"Fragment shader compile error for \".concat(this.type,\": \").concat(t.getShaderInfoLog(n)));if(t.attachShader(o,r),t.attachShader(o,n),t.linkProgram(o),!t.getProgramParameter(o,t.LINK_STATUS))throw new h('Shader link error for \"'.concat(this.type,'\" ').concat(t.getProgramInfoLog(o)));const a=this.getUniformLocations(t,o)||{};return a.uStepW=t.getUniformLocation(o,\"uStepW\"),a.uStepH=t.getUniformLocation(o,\"uStepH\"),{program:o,attributeLocations:this.getAttributeLocations(t,o),uniformLocations:a}}getAttributeLocations(t,e){return{aPosition:t.getAttribLocation(e,\"aPosition\")}}getUniformLocations(t,e){const s=this.constructor.uniformLocations,i={};for(let r=0;r<s.length;r++)i[s[r]]=t.getUniformLocation(e,s[r]);return i}sendAttributeData(t,e,s){const i=e.aPosition,r=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,r),t.enableVertexAttribArray(i),t.vertexAttribPointer(i,2,t.FLOAT,!1,0,0),t.bufferData(t.ARRAY_BUFFER,s,t.STATIC_DRAW)}_setupFrameBuffer(t){const e=t.context;if(t.passes>1){const s=t.destinationWidth,i=t.destinationHeight;t.sourceWidth===s&&t.sourceHeight===i||(e.deleteTexture(t.targetTexture),t.targetTexture=t.filterBackend.createTexture(e,s,i)),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t.targetTexture,0)}else e.bindFramebuffer(e.FRAMEBUFFER,null),e.finish()}_swapTextures(t){t.passes--,t.pass++;const e=t.targetTexture;t.targetTexture=t.sourceTexture,t.sourceTexture=e}isNeutralState(t){return!1}applyTo(t){Fa(t)?(this._setupFrameBuffer(t),this.applyToWebGL(t),this._swapTextures(t)):this.applyTo2d(t)}applyTo2d(t){}getCacheKey(){return this.type}retrieveShader(t){const e=this.getCacheKey();return t.programCache[e]||(t.programCache[e]=this.createProgram(t.context)),t.programCache[e]}applyToWebGL(t){const e=t.context,s=this.retrieveShader(t);0===t.pass&&t.originalTexture?e.bindTexture(e.TEXTURE_2D,t.originalTexture):e.bindTexture(e.TEXTURE_2D,t.sourceTexture),e.useProgram(s.program),this.sendAttributeData(e,s.attributeLocations,t.aPosition),e.uniform1f(s.uniformLocations.uStepW,1/t.sourceWidth),e.uniform1f(s.uniformLocations.uStepH,1/t.sourceHeight),this.sendUniformData(e,s.uniformLocations),e.viewport(0,0,t.destinationWidth,t.destinationHeight),e.drawArrays(e.TRIANGLE_STRIP,0,4)}bindAdditionalTexture(t,e,s){t.activeTexture(s),t.bindTexture(t.TEXTURE_2D,e),t.activeTexture(t.TEXTURE0)}unbindAdditionalTexture(t,e){t.activeTexture(e),t.bindTexture(t.TEXTURE_2D,null),t.activeTexture(t.TEXTURE0)}sendUniformData(t,e){}createHelpLayer(t){if(!t.helpLayer){const{sourceWidth:e,sourceHeight:s}=t,i=vt({width:e,height:s});t.helpLayer=i}}toObject(){const t=Object.keys(this.constructor.defaults||{});return s({type:this.type},t.reduce(((t,e)=>(t[e]=this[e],t)),{}))}toJSON(){return this.toObject()}static async fromObject(t,e){return new this(i(t,Xa))}}t(Wa,\"type\",\"BaseFilter\"),t(Wa,\"uniformLocations\",[]);const Va={multiply:\"gl_FragColor.rgb *= uColor.rgb;\\n\",screen:\"gl_FragColor.rgb = 1.0 - (1.0 - gl_FragColor.rgb) * (1.0 - uColor.rgb);\\n\",add:\"gl_FragColor.rgb += uColor.rgb;\\n\",difference:\"gl_FragColor.rgb = abs(gl_FragColor.rgb - uColor.rgb);\\n\",subtract:\"gl_FragColor.rgb -= uColor.rgb;\\n\",lighten:\"gl_FragColor.rgb = max(gl_FragColor.rgb, uColor.rgb);\\n\",darken:\"gl_FragColor.rgb = min(gl_FragColor.rgb, uColor.rgb);\\n\",exclusion:\"gl_FragColor.rgb += uColor.rgb - 2.0 * (uColor.rgb * gl_FragColor.rgb);\\n\",overlay:\"\\n if (uColor.r < 0.5) {\\n gl_FragColor.r *= 2.0 * uColor.r;\\n } else {\\n gl_FragColor.r = 1.0 - 2.0 * (1.0 - gl_FragColor.r) * (1.0 - uColor.r);\\n }\\n if (uColor.g < 0.5) {\\n gl_FragColor.g *= 2.0 * uColor.g;\\n } else {\\n gl_FragColor.g = 1.0 - 2.0 * (1.0 - gl_FragColor.g) * (1.0 - uColor.g);\\n }\\n if (uColor.b < 0.5) {\\n gl_FragColor.b *= 2.0 * uColor.b;\\n } else {\\n gl_FragColor.b = 1.0 - 2.0 * (1.0 - gl_FragColor.b) * (1.0 - uColor.b);\\n }\\n \",tint:\"\\n gl_FragColor.rgb *= (1.0 - uColor.a);\\n gl_FragColor.rgb += uColor.rgb;\\n \"};class za extends Wa{getCacheKey(){return\"\".concat(this.type,\"_\").concat(this.mode)}getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform vec4 uColor;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n gl_FragColor = color;\\n if (color.a > 0.0) {\\n \".concat(Va[this.mode],\"\\n }\\n }\\n \")}applyTo2d(t){let{imageData:{data:e}}=t;const s=new Le(this.color).getSource(),i=this.alpha,r=s[0]*i,n=s[1]*i,o=s[2]*i,a=1-i;for(let t=0;t<e.length;t+=4){const s=e[t],i=e[t+1],h=e[t+2];let c,l,u;switch(this.mode){case\"multiply\":c=s*r/255,l=i*n/255,u=h*o/255;break;case\"screen\":c=255-(255-s)*(255-r)/255,l=255-(255-i)*(255-n)/255,u=255-(255-h)*(255-o)/255;break;case\"add\":c=s+r,l=i+n,u=h+o;break;case\"difference\":c=Math.abs(s-r),l=Math.abs(i-n),u=Math.abs(h-o);break;case\"subtract\":c=s-r,l=i-n,u=h-o;break;case\"darken\":c=Math.min(s,r),l=Math.min(i,n),u=Math.min(h,o);break;case\"lighten\":c=Math.max(s,r),l=Math.max(i,n),u=Math.max(h,o);break;case\"overlay\":c=r<128?2*s*r/255:255-2*(255-s)*(255-r)/255,l=n<128?2*i*n/255:255-2*(255-i)*(255-n)/255,u=o<128?2*h*o/255:255-2*(255-h)*(255-o)/255;break;case\"exclusion\":c=r+s-2*r*s/255,l=n+i-2*n*i/255,u=o+h-2*o*h/255;break;case\"tint\":c=r+s*a,l=n+i*a,u=o+h*a}e[t]=c,e[t+1]=l,e[t+2]=u}}sendUniformData(t,e){const s=new Le(this.color).getSource();s[0]=this.alpha*s[0]/255,s[1]=this.alpha*s[1]/255,s[2]=this.alpha*s[2]/255,s[3]=this.alpha,t.uniform4fv(e.uColor,s)}}t(za,\"defaults\",{color:\"#F95C63\",mode:\"multiply\",alpha:1}),t(za,\"type\",\"BlendColor\"),t(za,\"uniformLocations\",[\"uColor\"]),tt.setClass(za);const Ga={multiply:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform sampler2D uImage;\\n uniform vec4 uColor;\\n varying vec2 vTexCoord;\\n varying vec2 vTexCoord2;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n vec4 color2 = texture2D(uImage, vTexCoord2);\\n color.rgba *= color2.rgba;\\n gl_FragColor = color;\\n }\\n \",mask:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform sampler2D uImage;\\n uniform vec4 uColor;\\n varying vec2 vTexCoord;\\n varying vec2 vTexCoord2;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n vec4 color2 = texture2D(uImage, vTexCoord2);\\n color.a = color2.a;\\n gl_FragColor = color;\\n }\\n \"},Ha=[\"type\",\"image\"];class Na extends Wa{getCacheKey(){return\"\".concat(this.type,\"_\").concat(this.mode)}getFragmentSource(){return Ga[this.mode]}getVertexSource(){return\"\\n attribute vec2 aPosition;\\n varying vec2 vTexCoord;\\n varying vec2 vTexCoord2;\\n uniform mat3 uTransformMatrix;\\n void main() {\\n vTexCoord = aPosition;\\n vTexCoord2 = (uTransformMatrix * vec3(aPosition, 1.0)).xy;\\n gl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\\n }\\n \"}applyToWebGL(t){const e=t.context,s=this.createTexture(t.filterBackend,this.image);this.bindAdditionalTexture(e,s,e.TEXTURE1),super.applyToWebGL(t),this.unbindAdditionalTexture(e,e.TEXTURE1)}createTexture(t,e){return t.getCachedTexture(e.cacheKey,e.getElement())}calculateMatrix(){const t=this.image,{width:e,height:s}=t.getElement();return[1/t.scaleX,0,0,0,1/t.scaleY,0,-t.left/e,-t.top/s,1]}applyTo2d(t){let{imageData:{data:e,width:s,height:i},filterBackend:{resources:r}}=t;const n=this.image;r.blendImage||(r.blendImage=pt());const o=r.blendImage,a=o.getContext(\"2d\");o.width!==s||o.height!==i?(o.width=s,o.height=i):a.clearRect(0,0,s,i),a.setTransform(n.scaleX,0,0,n.scaleY,n.left,n.top),a.drawImage(n.getElement(),0,0,s,i);const h=a.getImageData(0,0,s,i).data;for(let t=0;t<e.length;t+=4){const s=e[t],i=e[t+1],r=e[t+2],n=e[t+3],o=h[t],a=h[t+1],c=h[t+2],l=h[t+3];switch(this.mode){case\"multiply\":e[t]=s*o/255,e[t+1]=i*a/255,e[t+2]=r*c/255,e[t+3]=n*l/255;break;case\"mask\":e[t+3]=l}}}sendUniformData(t,e){const s=this.calculateMatrix();t.uniform1i(e.uImage,1),t.uniformMatrix3fv(e.uTransformMatrix,!1,s)}toObject(){return s(s({},super.toObject()),{},{image:this.image&&this.image.toObject()})}static async fromObject(t,e){let{type:r,image:n}=t,o=i(t,Ha);return na.fromObject(n,e).then((t=>new this(s(s({},o),{},{image:t}))))}}t(Na,\"type\",\"BlendImage\"),t(Na,\"defaults\",{mode:\"multiply\",alpha:1}),t(Na,\"uniformLocations\",[\"uTransformMatrix\",\"uImage\"]),tt.setClass(Na);class Ua extends Wa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform vec2 uDelta;\\n varying vec2 vTexCoord;\\n const float nSamples = 15.0;\\n vec3 v3offset = vec3(12.9898, 78.233, 151.7182);\\n float random(vec3 scale) {\\n /* use the fragment position for a different seed per-pixel */\\n return fract(sin(dot(gl_FragCoord.xyz, scale)) * 43758.5453);\\n }\\n void main() {\\n vec4 color = vec4(0.0);\\n float totalC = 0.0;\\n float totalA = 0.0;\\n float offset = random(v3offset);\\n for (float t = -nSamples; t <= nSamples; t++) {\\n float percent = (t + offset - 0.5) / nSamples;\\n vec4 sample = texture2D(uTexture, vTexCoord + uDelta * percent);\\n float weight = 1.0 - abs(percent);\\n float alpha = weight * sample.a;\\n color.rgb += sample.rgb * alpha;\\n color.a += alpha;\\n totalA += weight;\\n totalC += alpha;\\n }\\n gl_FragColor.rgb = color.rgb / totalC;\\n gl_FragColor.a = color.a / totalA;\\n }\\n \"}applyTo(t){Fa(t)?(this.aspectRatio=t.sourceWidth/t.sourceHeight,t.passes++,this._setupFrameBuffer(t),this.horizontal=!0,this.applyToWebGL(t),this._swapTextures(t),this._setupFrameBuffer(t),this.horizontal=!1,this.applyToWebGL(t),this._swapTextures(t)):this.applyTo2d(t)}applyTo2d(t){let{imageData:{data:e,width:s,height:i}}=t;this.aspectRatio=s/i,this.horizontal=!0;let r=this.getBlurValue()*s;const n=new Uint8ClampedArray(e),o=15,a=4*s;for(let t=0;t<e.length;t+=4){let s=0,i=0,h=0,c=0,l=0;const u=t-t%a,d=u+a;for(let n=-14;n<o;n++){const a=n/o,g=4*Math.floor(r*a),f=1-Math.abs(a);let p=t+g;p<u?p=u:p>d&&(p=d);const m=e[p+3]*f;s+=e[p]*m,i+=e[p+1]*m,h+=e[p+2]*m,c+=m,l+=f}n[t]=s/c,n[t+1]=i/c,n[t+2]=h/c,n[t+3]=c/l}this.horizontal=!1,r=this.getBlurValue()*i;for(let t=0;t<n.length;t+=4){let s=0,i=0,h=0,c=0,l=0;const u=t%a,d=n.length-a+u;for(let e=-14;e<o;e++){const g=e/o,f=Math.floor(r*g)*a,p=1-Math.abs(g);let m=t+f;m<u?m=u:m>d&&(m=d);const v=n[m+3]*p;s+=n[m]*v,i+=n[m+1]*v,h+=n[m+2]*v,c+=v,l+=p}e[t]=s/c,e[t+1]=i/c,e[t+2]=h/c,e[t+3]=c/l}}sendUniformData(t,e){const s=this.chooseRightDelta();t.uniform2fv(e.uDelta,s)}isNeutralState(){return 0===this.blur}getBlurValue(){let t=1;const{horizontal:e,aspectRatio:s}=this;return e?s>1&&(t=1/s):s<1&&(t=s),t*this.blur*.12}chooseRightDelta(){const t=this.getBlurValue();return this.horizontal?[t,0]:[0,t]}}t(Ua,\"type\",\"Blur\"),t(Ua,\"defaults\",{blur:0}),t(Ua,\"uniformLocations\",[\"uDelta\"]),tt.setClass(Ua);class qa extends Wa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uBrightness;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n color.rgb += uBrightness;\\n gl_FragColor = color;\\n }\\n\"}applyTo2d(t){let{imageData:{data:e}}=t;const s=Math.round(255*this.brightness);for(let t=0;t<e.length;t+=4)e[t]+=s,e[t+1]+=s,e[t+2]+=s}isNeutralState(){return 0===this.brightness}sendUniformData(t,e){t.uniform1f(e.uBrightness,this.brightness)}}t(qa,\"type\",\"Brightness\"),t(qa,\"defaults\",{brightness:0}),t(qa,\"uniformLocations\",[\"uBrightness\"]),tt.setClass(qa);const Ka={matrix:[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0],colorsOnly:!0};class Ja extends Wa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n varying vec2 vTexCoord;\\n uniform mat4 uColorMatrix;\\n uniform vec4 uConstants;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n color *= uColorMatrix;\\n color += uConstants;\\n gl_FragColor = color;\\n }\"}applyTo2d(t){const e=t.imageData.data,s=this.matrix,i=this.colorsOnly;for(let t=0;t<e.length;t+=4){const r=e[t],n=e[t+1],o=e[t+2];if(e[t]=r*s[0]+n*s[1]+o*s[2]+255*s[4],e[t+1]=r*s[5]+n*s[6]+o*s[7]+255*s[9],e[t+2]=r*s[10]+n*s[11]+o*s[12]+255*s[14],!i){const i=e[t+3];e[t]+=i*s[3],e[t+1]+=i*s[8],e[t+2]+=i*s[13],e[t+3]=r*s[15]+n*s[16]+o*s[17]+i*s[18]+255*s[19]}}}sendUniformData(t,e){const s=this.matrix,i=[s[0],s[1],s[2],s[3],s[5],s[6],s[7],s[8],s[10],s[11],s[12],s[13],s[15],s[16],s[17],s[18]],r=[s[4],s[9],s[14],s[19]];t.uniformMatrix4fv(e.uColorMatrix,!1,i),t.uniform4fv(e.uConstants,r)}toObject(){return s(s({},super.toObject()),{},{matrix:[...this.matrix]})}}function Qa(e,s){var i;const r=(t(i=class extends Ja{toObject(){return{type:this.type,colorsOnly:this.colorsOnly}}},\"type\",e),t(i,\"defaults\",{colorsOnly:!1,matrix:s}),i);return tt.setClass(r,e),r}t(Ja,\"type\",\"ColorMatrix\"),t(Ja,\"defaults\",Ka),t(Ja,\"uniformLocations\",[\"uColorMatrix\",\"uConstants\"]),tt.setClass(Ja);const Za=Qa(\"Brownie\",[.5997,.34553,-.27082,0,.186,-.0377,.86095,.15059,0,-.1449,.24113,-.07441,.44972,0,-.02965,0,0,0,1,0]),$a=Qa(\"Vintage\",[.62793,.32021,-.03965,0,.03784,.02578,.64411,.03259,0,.02926,.0466,-.08512,.52416,0,.02023,0,0,0,1,0]),th=Qa(\"Kodachrome\",[1.12855,-.39673,-.03992,0,.24991,-.16404,1.08352,-.05498,0,.09698,-.16786,-.56034,1.60148,0,.13972,0,0,0,1,0]),eh=Qa(\"Technicolor\",[1.91252,-.85453,-.09155,0,.04624,-.30878,1.76589,-.10601,0,-.27589,-.2311,-.75018,1.84759,0,.12137,0,0,0,1,0]),sh=Qa(\"Polaroid\",[1.438,-.062,-.062,0,0,-.122,1.378,-.122,0,0,-.016,-.016,1.483,0,0,0,0,0,1,0]),ih=Qa(\"Sepia\",[.393,.769,.189,0,0,.349,.686,.168,0,0,.272,.534,.131,0,0,0,0,0,1,0]),rh=Qa(\"BlackWhite\",[1.5,1.5,1.5,0,-1,1.5,1.5,1.5,0,-1,1.5,1.5,1.5,0,-1,0,0,0,1,0]);class nh extends Wa{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(t),this.subFilters=t.subFilters||[]}applyTo(t){Fa(t)&&(t.passes+=this.subFilters.length-1),this.subFilters.forEach((e=>{e.applyTo(t)}))}toObject(){return{type:this.type,subFilters:this.subFilters.map((t=>t.toObject()))}}isNeutralState(){return!this.subFilters.some((t=>!t.isNeutralState()))}static fromObject(t,e){return Promise.all((t.subFilters||[]).map((t=>tt.getClass(t.type).fromObject(t,e)))).then((t=>new this({subFilters:t})))}}t(nh,\"type\",\"Composed\"),tt.setClass(nh);class oh extends Wa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uContrast;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n float contrastF = 1.015 * (uContrast + 1.0) / (1.0 * (1.015 - uContrast));\\n color.rgb = contrastF * (color.rgb - 0.5) + 0.5;\\n gl_FragColor = color;\\n }\"}isNeutralState(){return 0===this.contrast}applyTo2d(t){let{imageData:{data:e}}=t;const s=Math.floor(255*this.contrast),i=259*(s+255)/(255*(259-s));for(let t=0;t<e.length;t+=4)e[t]=i*(e[t]-128)+128,e[t+1]=i*(e[t+1]-128)+128,e[t+2]=i*(e[t+2]-128)+128}sendUniformData(t,e){t.uniform1f(e.uContrast,this.contrast)}}t(oh,\"type\",\"Contrast\"),t(oh,\"defaults\",{contrast:0}),t(oh,\"uniformLocations\",[\"uContrast\"]),tt.setClass(oh);const ah={Convolute_3_1:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[9];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 0);\\n for (float h = 0.0; h < 3.0; h+=1.0) {\\n for (float w = 0.0; w < 3.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 1), uStepH * (h - 1));\\n color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 3.0 + w)];\\n }\\n }\\n gl_FragColor = color;\\n }\\n \",Convolute_3_0:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[9];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 1);\\n for (float h = 0.0; h < 3.0; h+=1.0) {\\n for (float w = 0.0; w < 3.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 1.0), uStepH * (h - 1.0));\\n color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 3.0 + w)];\\n }\\n }\\n float alpha = texture2D(uTexture, vTexCoord).a;\\n gl_FragColor = color;\\n gl_FragColor.a = alpha;\\n }\\n \",Convolute_5_1:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[25];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 0);\\n for (float h = 0.0; h < 5.0; h+=1.0) {\\n for (float w = 0.0; w < 5.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 2.0), uStepH * (h - 2.0));\\n color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 5.0 + w)];\\n }\\n }\\n gl_FragColor = color;\\n }\\n \",Convolute_5_0:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[25];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 1);\\n for (float h = 0.0; h < 5.0; h+=1.0) {\\n for (float w = 0.0; w < 5.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 2.0), uStepH * (h - 2.0));\\n color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 5.0 + w)];\\n }\\n }\\n float alpha = texture2D(uTexture, vTexCoord).a;\\n gl_FragColor = color;\\n gl_FragColor.a = alpha;\\n }\\n \",Convolute_7_1:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[49];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 0);\\n for (float h = 0.0; h < 7.0; h+=1.0) {\\n for (float w = 0.0; w < 7.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 3.0), uStepH * (h - 3.0));\\n color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 7.0 + w)];\\n }\\n }\\n gl_FragColor = color;\\n }\\n \",Convolute_7_0:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[49];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 1);\\n for (float h = 0.0; h < 7.0; h+=1.0) {\\n for (float w = 0.0; w < 7.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 3.0), uStepH * (h - 3.0));\\n color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 7.0 + w)];\\n }\\n }\\n float alpha = texture2D(uTexture, vTexCoord).a;\\n gl_FragColor = color;\\n gl_FragColor.a = alpha;\\n }\\n \",Convolute_9_1:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[81];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 0);\\n for (float h = 0.0; h < 9.0; h+=1.0) {\\n for (float w = 0.0; w < 9.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 4.0), uStepH * (h - 4.0));\\n color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 9.0 + w)];\\n }\\n }\\n gl_FragColor = color;\\n }\\n \",Convolute_9_0:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[81];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 1);\\n for (float h = 0.0; h < 9.0; h+=1.0) {\\n for (float w = 0.0; w < 9.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 4.0), uStepH * (h - 4.0));\\n color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 9.0 + w)];\\n }\\n }\\n float alpha = texture2D(uTexture, vTexCoord).a;\\n gl_FragColor = color;\\n gl_FragColor.a = alpha;\\n }\\n \"};class hh extends Wa{getCacheKey(){return\"\".concat(this.type,\"_\").concat(Math.sqrt(this.matrix.length),\"_\").concat(this.opaque?1:0)}getFragmentSource(){return ah[this.getCacheKey()]}applyTo2d(t){const e=t.imageData,s=e.data,i=this.matrix,r=Math.round(Math.sqrt(i.length)),n=Math.floor(r/2),o=e.width,a=e.height,h=t.ctx.createImageData(o,a),c=h.data,l=this.opaque?1:0;let u,d,g,f,p,m,v,y,_,x,C,b,S;for(C=0;C<a;C++)for(x=0;x<o;x++){for(p=4*(C*o+x),u=0,d=0,g=0,f=0,S=0;S<r;S++)for(b=0;b<r;b++)v=C+S-n,m=x+b-n,v<0||v>=a||m<0||m>=o||(y=4*(v*o+m),_=i[S*r+b],u+=s[y]*_,d+=s[y+1]*_,g+=s[y+2]*_,l||(f+=s[y+3]*_));c[p]=u,c[p+1]=d,c[p+2]=g,c[p+3]=l?s[p+3]:f}t.imageData=h}sendUniformData(t,e){t.uniform1fv(e.uMatrix,this.matrix)}toObject(){return s(s({},super.toObject()),{},{opaque:this.opaque,matrix:[...this.matrix]})}}t(hh,\"type\",\"Convolute\"),t(hh,\"defaults\",{opaque:!1,matrix:[0,0,0,0,1,0,0,0,0]}),t(hh,\"uniformLocations\",[\"uMatrix\",\"uOpaque\",\"uHalfSize\",\"uSize\"]),tt.setClass(hh);const ch=\"Gamma\";class lh extends Wa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform vec3 uGamma;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n vec3 correction = (1.0 / uGamma);\\n color.r = pow(color.r, correction.r);\\n color.g = pow(color.g, correction.g);\\n color.b = pow(color.b, correction.b);\\n gl_FragColor = color;\\n gl_FragColor.rgb *= color.a;\\n }\\n\"}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(t),this.gamma=t.gamma||this.constructor.defaults.gamma.concat()}applyTo2d(t){let{imageData:{data:e}}=t;const s=this.gamma,i=1/s[0],r=1/s[1],n=1/s[2];this.rgbValues||(this.rgbValues={r:new Uint8Array(256),g:new Uint8Array(256),b:new Uint8Array(256)});const o=this.rgbValues;for(let t=0;t<256;t++)o.r[t]=255*Math.pow(t/255,i),o.g[t]=255*Math.pow(t/255,r),o.b[t]=255*Math.pow(t/255,n);for(let t=0;t<e.length;t+=4)e[t]=o.r[e[t]],e[t+1]=o.g[e[t+1]],e[t+2]=o.b[e[t+2]]}sendUniformData(t,e){t.uniform3fv(e.uGamma,this.gamma)}isNeutralState(){const{gamma:t}=this;return 1===t[0]&&1===t[1]&&1===t[2]}toObject(){return{type:ch,gamma:this.gamma.concat()}}}t(lh,\"type\",ch),t(lh,\"defaults\",{gamma:[1,1,1]}),t(lh,\"uniformLocations\",[\"uGamma\"]),tt.setClass(lh);const uh={average:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n float average = (color.r + color.b + color.g) / 3.0;\\n gl_FragColor = vec4(average, average, average, color.a);\\n }\\n \",lightness:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform int uMode;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 col = texture2D(uTexture, vTexCoord);\\n float average = (max(max(col.r, col.g),col.b) + min(min(col.r, col.g),col.b)) / 2.0;\\n gl_FragColor = vec4(average, average, average, col.a);\\n }\\n \",luminosity:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform int uMode;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 col = texture2D(uTexture, vTexCoord);\\n float average = 0.21 * col.r + 0.72 * col.g + 0.07 * col.b;\\n gl_FragColor = vec4(average, average, average, col.a);\\n }\\n \"};class dh extends Wa{applyTo2d(t){let{imageData:{data:e}}=t;for(let t,s=0;s<e.length;s+=4){const i=e[s],r=e[s+1],n=e[s+2];switch(this.mode){case\"average\":t=(i+r+n)/3;break;case\"lightness\":t=(Math.min(i,r,n)+Math.max(i,r,n))/2;break;case\"luminosity\":t=.21*i+.72*r+.07*n}e[s+2]=e[s+1]=e[s]=t}}getCacheKey(){return\"\".concat(this.type,\"_\").concat(this.mode)}getFragmentSource(){return uh[this.mode]}sendUniformData(t,e){t.uniform1i(e.uMode,1)}isNeutralState(){return!1}}t(dh,\"type\",\"Grayscale\"),t(dh,\"defaults\",{mode:\"average\"}),t(dh,\"uniformLocations\",[\"uMode\"]),tt.setClass(dh);const gh=s(s({},Ka),{},{rotation:0});class fh extends Ja{calculateMatrix(){const t=this.rotation*Math.PI,e=rt(t),s=nt(t),i=1/3,r=Math.sqrt(i)*s,n=1-e;this.matrix=[e+n/3,i*n-r,i*n+r,0,0,i*n+r,e+i*n,i*n-r,0,0,i*n-r,i*n+r,e+i*n,0,0,0,0,0,1,0]}isNeutralState(){return 0===this.rotation}applyTo(t){this.calculateMatrix(),super.applyTo(t)}toObject(){return{type:this.type,rotation:this.rotation}}}t(fh,\"type\",\"HueRotation\"),t(fh,\"defaults\",gh),tt.setClass(fh);class ph extends Wa{applyTo2d(t){let{imageData:{data:e}}=t;for(let t=0;t<e.length;t+=4)e[t]=255-e[t],e[t+1]=255-e[t+1],e[t+2]=255-e[t+2],this.alpha&&(e[t+3]=255-e[t+3])}getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform int uInvert;\\n uniform int uAlpha;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n if (uInvert == 1) {\\n if (uAlpha == 1) {\\n gl_FragColor = vec4(1.0 - color.r,1.0 -color.g,1.0 -color.b,1.0 -color.a);\\n } else {\\n gl_FragColor = vec4(1.0 - color.r,1.0 -color.g,1.0 -color.b,color.a);\\n }\\n } else {\\n gl_FragColor = color;\\n }\\n }\\n\"}isNeutralState(){return!this.invert}sendUniformData(t,e){t.uniform1i(e.uInvert,Number(this.invert)),t.uniform1i(e.uAlpha,Number(this.alpha))}}t(ph,\"type\",\"Invert\"),t(ph,\"defaults\",{alpha:!1,invert:!0}),t(ph,\"uniformLocations\",[\"uInvert\",\"uAlpha\"]),tt.setClass(ph);class mh extends Wa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uStepH;\\n uniform float uNoise;\\n uniform float uSeed;\\n varying vec2 vTexCoord;\\n float rand(vec2 co, float seed, float vScale) {\\n return fract(sin(dot(co.xy * vScale ,vec2(12.9898 , 78.233))) * 43758.5453 * (seed + 0.01) / 2.0);\\n }\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n color.rgb += (0.5 - rand(vTexCoord, uSeed, 0.1 / uStepH)) * uNoise;\\n gl_FragColor = color;\\n }\\n\"}applyTo2d(t){let{imageData:{data:e}}=t;const s=this.noise;for(let t=0;t<e.length;t+=4){const i=(.5-Math.random())*s;e[t]+=i,e[t+1]+=i,e[t+2]+=i}}sendUniformData(t,e){t.uniform1f(e.uNoise,this.noise/255),t.uniform1f(e.uSeed,Math.random())}isNeutralState(){return 0===this.noise}}t(mh,\"type\",\"Noise\"),t(mh,\"defaults\",{noise:0}),t(mh,\"uniformLocations\",[\"uNoise\",\"uSeed\"]),tt.setClass(mh);class vh extends Wa{applyTo2d(t){let{imageData:{data:e,width:s,height:i}}=t;for(let t=0;t<i;t+=this.blocksize)for(let r=0;r<s;r+=this.blocksize){const n=4*t*s+4*r,o=e[n],a=e[n+1],h=e[n+2],c=e[n+3];for(let n=t;n<Math.min(t+this.blocksize,i);n++)for(let t=r;t<Math.min(r+this.blocksize,s);t++){const i=4*n*s+4*t;e[i]=o,e[i+1]=a,e[i+2]=h,e[i+3]=c}}}isNeutralState(){return 1===this.blocksize}getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uBlocksize;\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n float blockW = uBlocksize * uStepW;\\n float blockH = uBlocksize * uStepH;\\n int posX = int(vTexCoord.x / blockW);\\n int posY = int(vTexCoord.y / blockH);\\n float fposX = float(posX);\\n float fposY = float(posY);\\n vec2 squareCoords = vec2(fposX * blockW, fposY * blockH);\\n vec4 color = texture2D(uTexture, squareCoords);\\n gl_FragColor = color;\\n }\\n\"}sendUniformData(t,e){t.uniform1f(e.uBlocksize,this.blocksize)}}t(vh,\"type\",\"Pixelate\"),t(vh,\"defaults\",{blocksize:4}),t(vh,\"uniformLocations\",[\"uBlocksize\"]),tt.setClass(vh);class yh extends Wa{getFragmentSource(){return\"\\nprecision highp float;\\nuniform sampler2D uTexture;\\nuniform vec4 uLow;\\nuniform vec4 uHigh;\\nvarying vec2 vTexCoord;\\nvoid main() {\\n gl_FragColor = texture2D(uTexture, vTexCoord);\\n if(all(greaterThan(gl_FragColor.rgb,uLow.rgb)) && all(greaterThan(uHigh.rgb,gl_FragColor.rgb))) {\\n gl_FragColor.a = 0.0;\\n }\\n}\\n\"}applyTo2d(t){let{imageData:{data:e}}=t;const s=255*this.distance,i=new Le(this.color).getSource(),r=[i[0]-s,i[1]-s,i[2]-s],n=[i[0]+s,i[1]+s,i[2]+s];for(let t=0;t<e.length;t+=4){const s=e[t],i=e[t+1],o=e[t+2];s>r[0]&&i>r[1]&&o>r[2]&&s<n[0]&&i<n[1]&&o<n[2]&&(e[t+3]=0)}}sendUniformData(t,e){const s=new Le(this.color).getSource(),i=this.distance,r=[0+s[0]/255-i,0+s[1]/255-i,0+s[2]/255-i,1],n=[s[0]/255+i,s[1]/255+i,s[2]/255+i,1];t.uniform4fv(e.uLow,r),t.uniform4fv(e.uHigh,n)}}t(yh,\"type\",\"RemoveColor\"),t(yh,\"defaults\",{color:\"#FFFFFF\",distance:.02,useAlpha:!1}),t(yh,\"uniformLocations\",[\"uLow\",\"uHigh\"]),tt.setClass(yh);class _h extends Wa{sendUniformData(t,e){t.uniform2fv(e.uDelta,this.horizontal?[1/this.width,0]:[0,1/this.height]),t.uniform1fv(e.uTaps,this.taps)}getFilterWindow(){const t=this.tempScale;return Math.ceil(this.lanczosLobes/t)}getCacheKey(){const t=this.getFilterWindow();return\"\".concat(this.type,\"_\").concat(t)}getFragmentSource(){const t=this.getFilterWindow();return this.generateShader(t)}getTaps(){const t=this.lanczosCreate(this.lanczosLobes),e=this.tempScale,s=this.getFilterWindow(),i=new Array(s);for(let r=1;r<=s;r++)i[r-1]=t(r*e);return i}generateShader(t){const e=new Array(t);for(let s=1;s<=t;s++)e[s-1]=\"\".concat(s,\".0 * uDelta\");return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform vec2 uDelta;\\n varying vec2 vTexCoord;\\n uniform float uTaps[\".concat(t,\"];\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n float sum = 1.0;\\n \").concat(e.map(((t,e)=>\"\\n color += texture2D(uTexture, vTexCoord + \".concat(t,\") * uTaps[\").concat(e,\"] + texture2D(uTexture, vTexCoord - \").concat(t,\") * uTaps[\").concat(e,\"];\\n sum += 2.0 * uTaps[\").concat(e,\"];\\n \"))).join(\"\\n\"),\"\\n gl_FragColor = color / sum;\\n }\\n \")}applyToForWebgl(t){t.passes++,this.width=t.sourceWidth,this.horizontal=!0,this.dW=Math.round(this.width*this.scaleX),this.dH=t.sourceHeight,this.tempScale=this.dW/this.width,this.taps=this.getTaps(),t.destinationWidth=this.dW,super.applyTo(t),t.sourceWidth=t.destinationWidth,this.height=t.sourceHeight,this.horizontal=!1,this.dH=Math.round(this.height*this.scaleY),this.tempScale=this.dH/this.height,this.taps=this.getTaps(),t.destinationHeight=this.dH,super.applyTo(t),t.sourceHeight=t.destinationHeight}applyTo(t){Fa(t)?this.applyToForWebgl(t):this.applyTo2d(t)}isNeutralState(){return 1===this.scaleX&&1===this.scaleY}lanczosCreate(t){return e=>{if(e>=t||e<=-t)return 0;if(e<1.1920929e-7&&e>-1.1920929e-7)return 1;const s=(e*=Math.PI)/t;return Math.sin(e)/e*Math.sin(s)/s}}applyTo2d(t){const e=t.imageData,s=this.scaleX,i=this.scaleY;this.rcpScaleX=1/s,this.rcpScaleY=1/i;const r=e.width,n=e.height,o=Math.round(r*s),a=Math.round(n*i);let h;h=\"sliceHack\"===this.resizeType?this.sliceByTwo(t,r,n,o,a):\"hermite\"===this.resizeType?this.hermiteFastResize(t,r,n,o,a):\"bilinear\"===this.resizeType?this.bilinearFiltering(t,r,n,o,a):\"lanczos\"===this.resizeType?this.lanczosResize(t,r,n,o,a):new ImageData(o,a),t.imageData=h}sliceByTwo(t,e,s,i,r){const n=t.imageData,o=.5;let a=!1,h=!1,c=e*o,l=s*o;const u=t.filterBackend.resources;let d=0,g=0;const f=e;let p=0;u.sliceByTwo||(u.sliceByTwo=pt());const m=u.sliceByTwo;(m.width<1.5*e||m.height<s)&&(m.width=1.5*e,m.height=s);const v=m.getContext(\"2d\");for(v.clearRect(0,0,1.5*e,s),v.putImageData(n,0,0),i=Math.floor(i),r=Math.floor(r);!a||!h;)e=c,s=l,i<Math.floor(c*o)?c=Math.floor(c*o):(c=i,a=!0),r<Math.floor(l*o)?l=Math.floor(l*o):(l=r,h=!0),v.drawImage(m,d,g,e,s,f,p,c,l),d=f,g=p,p+=l;return v.getImageData(d,g,i,r)}lanczosResize(t,e,s,i,r){const n=t.imageData.data,o=t.ctx.createImageData(i,r),a=o.data,h=this.lanczosCreate(this.lanczosLobes),c=this.rcpScaleX,l=this.rcpScaleY,u=2/this.rcpScaleX,d=2/this.rcpScaleY,g=Math.ceil(c*this.lanczosLobes/2),f=Math.ceil(l*this.lanczosLobes/2),p={},m={x:0,y:0},v={x:0,y:0};return function t(y){let _,x,C,b,S,w,T,O,k,D,M;for(m.x=(y+.5)*c,v.x=Math.floor(m.x),_=0;_<r;_++){for(m.y=(_+.5)*l,v.y=Math.floor(m.y),S=0,w=0,T=0,O=0,k=0,x=v.x-g;x<=v.x+g;x++)if(!(x<0||x>=e)){D=Math.floor(1e3*Math.abs(x-m.x)),p[D]||(p[D]={});for(let t=v.y-f;t<=v.y+f;t++)t<0||t>=s||(M=Math.floor(1e3*Math.abs(t-m.y)),p[D][M]||(p[D][M]=h(Math.sqrt(Math.pow(D*u,2)+Math.pow(M*d,2))/1e3)),C=p[D][M],C>0&&(b=4*(t*e+x),S+=C,w+=C*n[b],T+=C*n[b+1],O+=C*n[b+2],k+=C*n[b+3]))}b=4*(_*i+y),a[b]=w/S,a[b+1]=T/S,a[b+2]=O/S,a[b+3]=k/S}return++y<i?t(y):o}(0)}bilinearFiltering(t,e,s,i,r){let n,o,a,h,c,l,u,d,g,f,p,m,v,y=0;const _=this.rcpScaleX,x=this.rcpScaleY,C=4*(e-1),b=t.imageData.data,S=t.ctx.createImageData(i,r),w=S.data;for(u=0;u<r;u++)for(d=0;d<i;d++)for(c=Math.floor(_*d),l=Math.floor(x*u),g=_*d-c,f=x*u-l,v=4*(l*e+c),p=0;p<4;p++)n=b[v+p],o=b[v+4+p],a=b[v+C+p],h=b[v+C+4+p],m=n*(1-g)*(1-f)+o*g*(1-f)+a*f*(1-g)+h*g*f,w[y++]=m;return S}hermiteFastResize(t,e,s,i,r){const n=this.rcpScaleX,o=this.rcpScaleY,a=Math.ceil(n/2),h=Math.ceil(o/2),c=t.imageData.data,l=t.ctx.createImageData(i,r),u=l.data;for(let t=0;t<r;t++)for(let s=0;s<i;s++){const r=4*(s+t*i);let l=0,d=0,g=0,f=0,p=0,m=0,v=0;const y=(t+.5)*o;for(let i=Math.floor(t*o);i<(t+1)*o;i++){const t=Math.abs(y-(i+.5))/h,r=(s+.5)*n,o=t*t;for(let t=Math.floor(s*n);t<(s+1)*n;t++){let s=Math.abs(r-(t+.5))/a;const n=Math.sqrt(o+s*s);n>1&&n<-1||(l=2*n*n*n-3*n*n+1,l>0&&(s=4*(t+i*e),v+=l*c[s+3],g+=l,c[s+3]<255&&(l=l*c[s+3]/250),f+=l*c[s],p+=l*c[s+1],m+=l*c[s+2],d+=l))}}u[r]=f/d,u[r+1]=p/d,u[r+2]=m/d,u[r+3]=v/g}return l}}t(_h,\"type\",\"Resize\"),t(_h,\"defaults\",{resizeType:\"hermite\",scaleX:1,scaleY:1,lanczosLobes:3}),t(_h,\"uniformLocations\",[\"uDelta\",\"uTaps\"]),tt.setClass(_h);class xh extends Wa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uSaturation;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n float rgMax = max(color.r, color.g);\\n float rgbMax = max(rgMax, color.b);\\n color.r += rgbMax != color.r ? (rgbMax - color.r) * uSaturation : 0.00;\\n color.g += rgbMax != color.g ? (rgbMax - color.g) * uSaturation : 0.00;\\n color.b += rgbMax != color.b ? (rgbMax - color.b) * uSaturation : 0.00;\\n gl_FragColor = color;\\n }\\n\"}applyTo2d(t){let{imageData:{data:e}}=t;const s=-this.saturation;for(let t=0;t<e.length;t+=4){const i=e[t],r=e[t+1],n=e[t+2],o=Math.max(i,r,n);e[t]+=o!==i?(o-i)*s:0,e[t+1]+=o!==r?(o-r)*s:0,e[t+2]+=o!==n?(o-n)*s:0}}sendUniformData(t,e){t.uniform1f(e.uSaturation,-this.saturation)}isNeutralState(){return 0===this.saturation}}t(xh,\"type\",\"Saturation\"),t(xh,\"defaults\",{saturation:0}),t(xh,\"uniformLocations\",[\"uSaturation\"]),tt.setClass(xh);class Ch extends Wa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uVibrance;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n float max = max(color.r, max(color.g, color.b));\\n float avg = (color.r + color.g + color.b) / 3.0;\\n float amt = (abs(max - avg) * 2.0) * uVibrance;\\n color.r += max != color.r ? (max - color.r) * amt : 0.00;\\n color.g += max != color.g ? (max - color.g) * amt : 0.00;\\n color.b += max != color.b ? (max - color.b) * amt : 0.00;\\n gl_FragColor = color;\\n }\\n\"}applyTo2d(t){let{imageData:{data:e}}=t;const s=-this.vibrance;for(let t=0;t<e.length;t+=4){const i=e[t],r=e[t+1],n=e[t+2],o=Math.max(i,r,n),a=(i+r+n)/3,h=2*Math.abs(o-a)/255*s;e[t]+=o!==i?(o-i)*h:0,e[t+1]+=o!==r?(o-r)*h:0,e[t+2]+=o!==n?(o-n)*h:0}}sendUniformData(t,e){t.uniform1f(e.uVibrance,-this.vibrance)}isNeutralState(){return 0===this.vibrance}}t(Ch,\"type\",\"Vibrance\"),t(Ch,\"defaults\",{vibrance:0}),t(Ch,\"uniformLocations\",[\"uVibrance\"]),tt.setClass(Ch);var bh=Object.freeze({__proto__:null,BaseFilter:Wa,BlackWhite:rh,BlendColor:za,BlendImage:Na,Blur:Ua,Brightness:qa,Brownie:Za,ColorMatrix:Ja,Composed:nh,Contrast:oh,Convolute:hh,Gamma:lh,Grayscale:dh,HueRotation:fh,Invert:ph,Kodachrome:th,Noise:mh,Pixelate:vh,Polaroid:sh,RemoveColor:yh,Resize:_h,Saturation:xh,Sepia:ih,Technicolor:eh,Vibrance:Ch,Vintage:$a});export{Jo as ActiveSelection,eo as BaseBrush,$s as BaseFabricObject,In as Canvas,Qo as Canvas2dFilterBackend,Dn as CanvasDOMManager,ho as Circle,co as CircleBrush,Uo as ClipPathLayout,Le as Color,ni as Control,_o as Ellipse,na as FabricImage,ji as FabricObject,Eo as FabricText,Br as FitContentLayout,qo as FixedLayout,Zn as Gradient,Hr as Group,Ho as IText,na as Image,Ei as InteractiveFabricObject,Ks as Intersection,Vr as LayoutManager,Ir as LayoutStrategy,mo as Line,ji as Object,st as Observable,ro as Path,to as Pattern,uo as PatternBrush,no as PencilBrush,ot as Point,wo as Polygon,So as Polyline,Er as Rect,Os as Shadow,lo as SprayBrush,se as StaticCanvas,te as StaticCanvasDOMManager,Eo as Text,No as Textbox,vo as Triangle,Zo as WebGLFilterBackend,_ as cache,tt as classRegistry,o as config,ja as controlsUtils,ct as createCollectionMixin,bh as filters,fa as getCSSRules,p as getEnv,m as getFabricDocument,v as getFabricWindow,ea as getFilterBackend,T as iMatrix,ta as initFilterBackend,La as isPutImageFaster,Fa as isWebGLPipelineState,xa as loadSVGFromString,Ca as loadSVGFromURL,Dr as parseAttributes,wr as parseFontDeclaration,xo as parsePointsAttribute,_a as parseSVGDocument,Or as parseStyleAttribute,br as parseTransformAttribute,et as runningAnimations,f as setEnv,sa as setFilterBackend,kn as util,x as version};\n//# sourceMappingURL=index.min.mjs.map\n","import { defineProperty as _defineProperty, inherits as _inherits, createClass as _createClass, classCallCheck as _classCallCheck, callSuper as _callSuper, objectSpread2 as _objectSpread2, assertThisInitialized as _assertThisInitialized } from '../../_virtual/_rollupPluginBabelHelpers.js';\nimport { classRegistry, LayoutManager, FixedLayout, Path, Group } from 'fabric';\n\nvar ClippingGroup = /*#__PURE__*/function (_Group) {\n _inherits(ClippingGroup, _Group);\n function ClippingGroup(objects, options) {\n var _this;\n _classCallCheck(this, ClippingGroup);\n _this = _callSuper(this, ClippingGroup, [objects, _objectSpread2({\n originX: 'center',\n originY: 'center',\n left: 0,\n top: 0,\n layoutManager: new LayoutManager(new FixedLayout())\n }, options)]);\n _defineProperty(_assertThisInitialized(_this), \"blockErasing\", false);\n return _this;\n }\n _createClass(ClippingGroup, [{\n key: \"drawObject\",\n value: function drawObject(ctx) {\n var paths = [];\n var objects = [];\n this._objects.forEach(function (object) {\n return (object instanceof Path ? paths : objects).push(object);\n });\n ctx.save();\n ctx.fillStyle = 'black';\n ctx.fillRect(-this.width / 2, -this.height / 2, this.width, this.height);\n ctx.restore();\n !this.blockErasing && paths.forEach(function (path) {\n path.render(ctx);\n });\n objects.forEach(function (object) {\n object.globalCompositeOperation = object.inverted ? 'destination-out' : 'source-in';\n object.render(ctx);\n });\n }\n }]);\n return ClippingGroup;\n}(Group);\n_defineProperty(ClippingGroup, \"type\", 'clipping');\nclassRegistry.setClass(ClippingGroup);\n\nexport { ClippingGroup };\n//# sourceMappingURL=ClippingGroup.js.map\n","var drawImage = function drawImage(destination, source) {\n var globalCompositeOperation = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'source-over';\n destination.save();\n destination.imageSmoothingEnabled = true;\n destination.imageSmoothingQuality = 'high';\n destination.globalCompositeOperation = globalCompositeOperation;\n destination.resetTransform();\n destination.drawImage(source.canvas, 0, 0);\n destination.restore();\n};\n\n/**\n *\n * @param destination context to erase\n * @param source context on which the path is drawn upon\n * @param erasingEffect effect to apply to {@link source} after clipping {@link destination}:\n * - drawing all non erasable visuals to achieve a selective erasing effect.\n * - drawing all erasable visuals without their erasers to achieve an undo erasing effect.\n */\nvar erase = function erase(destination, source, erasingEffect) {\n // clip destination\n drawImage(destination, source, 'destination-out');\n\n // draw erasing effect\n if (erasingEffect) {\n drawImage(source, erasingEffect, 'source-in');\n } else {\n source.save();\n source.resetTransform();\n source.clearRect(0, 0, source.canvas.width, source.canvas.height);\n source.restore();\n }\n};\n\nexport { drawImage, erase };\n//# sourceMappingURL=erase.js.map\n","import { toConsumableArray as _toConsumableArray } from '../../_virtual/_rollupPluginBabelHelpers.js';\nimport { Group } from 'fabric';\nimport { ClippingGroup } from './ClippingGroup.js';\n\nfunction walk(objects) {\n return objects.flatMap(function (object) {\n if (!object.erasable || object.isNotVisible()) {\n return [];\n } else if (object instanceof Group && object.erasable === 'deep') {\n return walk(object.getObjects());\n } else {\n return [object];\n }\n });\n}\nfunction drawCanvas(ctx, canvas, objects) {\n canvas.clearContext(ctx);\n ctx.imageSmoothingEnabled = canvas.imageSmoothingEnabled;\n ctx.imageSmoothingQuality = 'high';\n // @ts-expect-error node-canvas stuff\n ctx.patternQuality = 'best';\n canvas._renderBackground(ctx);\n ctx.save();\n ctx.transform.apply(ctx, _toConsumableArray(canvas.viewportTransform));\n objects.forEach(function (object) {\n return object.render(ctx);\n });\n ctx.restore();\n var clipPath = canvas.clipPath;\n if (clipPath) {\n // fabric crap\n clipPath._set('canvas', canvas);\n clipPath.shouldCache();\n clipPath._transformDone = true;\n clipPath.renderCache({\n forClipping: true\n });\n canvas.drawClipPathOnCanvas(ctx, clipPath);\n }\n canvas._renderOverlay(ctx);\n}\n\n/**\n * Prepare the pattern for the erasing brush\n * This pattern will be drawn on the top context after clipping the main context,\n * achieving a visual effect of erasing only erasable objects.\n *\n * This is designed to support erasing a collection with both erasable and non-erasable objects while maintaining object stacking.\\\n * Iterates over collections to allow nested selective erasing.\\\n * Prepares objects before rendering the pattern brush.\\\n * If brush is **NOT** inverted render all non-erasable objects.\\\n * If brush is inverted render all objects, erasable objects without their eraser.\n * This will render the erased parts as if they were not erased in the first place, achieving an undo effect.\n *\n * Caveat:\n * Does not support erasing effects of shadows\n *\n */\nfunction draw(ctx, _ref, _ref2) {\n var inverted = _ref.inverted,\n opacity = _ref.opacity;\n var canvas = _ref2.canvas,\n _ref2$objects = _ref2.objects,\n objects = _ref2$objects === void 0 ? canvas._objectsToRender || canvas._objects : _ref2$objects,\n _ref2$background = _ref2.background,\n background = _ref2$background === void 0 ? canvas.backgroundImage : _ref2$background,\n _ref2$overlay = _ref2.overlay,\n overlay = _ref2$overlay === void 0 ? canvas.overlayImage : _ref2$overlay;\n // prepare tree\n var alpha = 1 - opacity;\n var restore = walk([].concat(_toConsumableArray(objects), _toConsumableArray([background, overlay].filter(function (d) {\n return !!d;\n })))).map(function (object) {\n if (!inverted) {\n var _object$parent;\n // render only non-erasable objects\n var _opacity = object.opacity;\n object.opacity *= alpha;\n (_object$parent = object.parent) === null || _object$parent === void 0 || _object$parent.set('dirty', true);\n return {\n object: object,\n opacity: _opacity\n };\n } else if (object.clipPath instanceof ClippingGroup) {\n // render all objects without eraser\n object.clipPath['blockErasing'] = true;\n object.clipPath.set('dirty', true);\n object.set('dirty', true);\n return {\n object: object,\n clipPath: object.clipPath\n };\n }\n });\n\n // draw\n drawCanvas(ctx, canvas, objects);\n\n // restore\n restore.forEach(function (entry) {\n if (!entry) {\n return;\n }\n if (entry.opacity) {\n var _entry$object$parent;\n entry.object.opacity = entry.opacity;\n (_entry$object$parent = entry.object.parent) === null || _entry$object$parent === void 0 || _entry$object$parent.set('dirty', true);\n } else if (entry.clipPath) {\n entry.clipPath['blockErasing'] = false;\n entry.clipPath.set('dirty', true);\n entry.object.set('dirty', true);\n }\n });\n}\n\nexport { draw };\n//# sourceMappingURL=ErasingEffect.js.map\n","import { asyncToGenerator as _asyncToGenerator, inherits as _inherits, createClass as _createClass, regeneratorRuntime as _regeneratorRuntime, classCallCheck as _classCallCheck, callSuper as _callSuper, defineProperty as _defineProperty, assertThisInitialized as _assertThisInitialized, get as _get, getPrototypeOf as _getPrototypeOf, toConsumableArray as _toConsumableArray, slicedToArray as _slicedToArray } from '../../_virtual/_rollupPluginBabelHelpers.js';\nimport { erase } from '../../core/dist/src/erase.js';\nimport * as fabric from 'fabric';\nimport { Group } from 'fabric';\nimport { ClippingGroup } from './ClippingGroup.js';\nimport { draw } from './ErasingEffect.js';\n\nfunction walk(objects, path) {\n return objects.flatMap(function (object) {\n if (!object.erasable || !object.intersectsWithObject(path)) {\n return [];\n } else if (object instanceof Group && object.erasable === 'deep') {\n return walk(object.getObjects(), path);\n } else {\n return [object];\n }\n });\n}\nvar assertClippingGroup = function assertClippingGroup(object) {\n var curr = object.clipPath;\n if (curr instanceof ClippingGroup) {\n return curr;\n }\n var strokeWidth = object.strokeWidth;\n var strokeWidthFactor = new fabric.Point(strokeWidth, strokeWidth);\n var strokeVector = object.strokeUniform ? strokeWidthFactor.divide(object.getObjectScaling()) : strokeWidthFactor;\n var next = new ClippingGroup([], {\n width: object.width + strokeVector.x,\n height: object.height + strokeVector.y\n });\n if (curr) {\n var _curr$translateToOrig = curr.translateToOriginPoint(new fabric.Point(), curr.originX, curr.originY),\n x = _curr$translateToOrig.x,\n y = _curr$translateToOrig.y;\n curr.originX = curr.originY = 'center';\n fabric.util.sendObjectToPlane(curr, undefined, fabric.util.createTranslateMatrix(x, y));\n next.add(curr);\n }\n return object.clipPath = next;\n};\nfunction commitErasing(object, sourceInObjectPlane) {\n var clipPath = assertClippingGroup(object);\n clipPath.add(sourceInObjectPlane);\n clipPath.set('dirty', true);\n object.set('dirty', true);\n}\nfunction eraseObject(_x, _x2) {\n return _eraseObject.apply(this, arguments);\n}\nfunction _eraseObject() {\n _eraseObject = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(object, source) {\n var clone;\n return _regeneratorRuntime().wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return source.clone();\n case 2:\n clone = _context4.sent;\n fabric.util.sendObjectToPlane(clone, undefined, object.calcTransformMatrix());\n commitErasing(object, clone);\n return _context4.abrupt(\"return\", clone);\n case 6:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }));\n return _eraseObject.apply(this, arguments);\n}\nfunction eraseCanvasDrawable(_x3, _x4, _x5) {\n return _eraseCanvasDrawable.apply(this, arguments);\n}\nfunction _eraseCanvasDrawable() {\n _eraseCanvasDrawable = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(object, vpt, source) {\n var clone, d;\n return _regeneratorRuntime().wrap(function _callee5$(_context5) {\n while (1) switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return source.clone();\n case 2:\n clone = _context5.sent;\n d = vpt && object.translateToOriginPoint(new fabric.Point(), object.originX, object.originY);\n fabric.util.sendObjectToPlane(clone, undefined, d ? fabric.util.multiplyTransformMatrixArray([[1, 0, 0, 1, d.x, d.y],\n // apply vpt from center of drawable\n vpt, [1, 0, 0, 1, -d.x, -d.y], object.calcTransformMatrix()]) : object.calcTransformMatrix());\n commitErasing(object, clone);\n return _context5.abrupt(\"return\", clone);\n case 7:\n case \"end\":\n return _context5.stop();\n }\n }, _callee5);\n }));\n return _eraseCanvasDrawable.apply(this, arguments);\n}\nvar setCanvasDimensions = function setCanvasDimensions(el, ctx, _ref) {\n var width = _ref.width,\n height = _ref.height;\n var retinaScaling = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n el.width = width;\n el.height = height;\n if (retinaScaling > 1) {\n el.setAttribute('width', (width * retinaScaling).toString());\n el.setAttribute('height', (height * retinaScaling).toString());\n ctx.scale(retinaScaling, retinaScaling);\n }\n};\n\n/**\n * Supports **selective** erasing: only erasable objects are affected by the eraser brush.\n *\n * Supports **{@link inverted}** erasing: the brush can \"undo\" erasing.\n *\n * Supports **alpha** erasing: setting the alpha channel of the `color` property controls the eraser intensity.\n *\n * In order to support selective erasing, the brush clips the entire canvas and\n * masks all non-erasable objects over the erased path, see {@link draw}.\n *\n * If **{@link inverted}** draws all objects, erasable objects without their eraser, over the erased path.\n * This achieves the desired effect of seeming to erase or undo erasing on erasable objects only.\n *\n * After erasing is done the `end` event {@link ErasingEndEvent} is fired, after which erasing will be committed to the tree.\n * @example\n * canvas = new Canvas();\n * const eraser = new EraserBrush(canvas);\n * canvas.freeDrawingBrush = eraser;\n * canvas.isDrawingMode = true;\n * eraser.on('start', (e) => {\n * console.log('started erasing');\n * // prevent erasing\n * e.preventDefault();\n * });\n * eraser.on('end', (e) => {\n * const { targets: erasedTargets, path } = e.detail;\n * e.preventDefault(); // prevent erasing being committed to the tree\n * eraser.commit({ targets: erasedTargets, path }); // commit manually since default was prevented\n * });\n *\n * In case of performance issues trace {@link drawEffect} calls and consider preventing it from executing\n * @example\n * const eraser = new EraserBrush(canvas);\n * eraser.on('redraw', (e) => {\n * // prevent effect redraw on pointer down (e.g. useful if canvas didn't change)\n * e.detail.type === 'start' && e.preventDefault());\n * // prevent effect redraw after canvas has rendered (effect will become stale)\n * e.detail.type === 'render' && e.preventDefault());\n * });\n */\nvar EraserBrush = /*#__PURE__*/function (_fabric$PencilBrush) {\n _inherits(EraserBrush, _fabric$PencilBrush);\n function EraserBrush(canvas) {\n var _this;\n _classCallCheck(this, EraserBrush);\n _this = _callSuper(this, EraserBrush, [canvas]);\n /**\n * When set to `true` the brush will create a visual effect of undoing erasing\n */\n _defineProperty(_assertThisInitialized(_this), \"inverted\", false);\n _defineProperty(_assertThisInitialized(_this), \"active\", false);\n var el = document.createElement('canvas');\n var ctx = el.getContext('2d');\n if (!ctx) {\n throw new Error('Failed to get context');\n }\n setCanvasDimensions(el, ctx, canvas, _this.canvas.getRetinaScaling());\n _this.effectContext = ctx;\n _this.eventEmitter = new EventTarget();\n return _this;\n }\n\n /**\n * @returns disposer make sure to call it to avoid memory leaks\n */\n _createClass(EraserBrush, [{\n key: \"on\",\n value: function on(type, cb, options) {\n var _this2 = this;\n this.eventEmitter.addEventListener(type, cb, options);\n return function () {\n return _this2.eventEmitter.removeEventListener(type, cb, options);\n };\n }\n }, {\n key: \"drawEffect\",\n value: function drawEffect() {\n draw(this.effectContext, {\n opacity: new fabric.Color(this.color).getAlpha(),\n inverted: this.inverted\n }, {\n canvas: this.canvas\n });\n }\n\n /**\n * @override\n */\n }, {\n key: \"_setBrushStyles\",\n value: function _setBrushStyles() {\n var ctx = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.canvas.contextTop;\n _get(_getPrototypeOf(EraserBrush.prototype), \"_setBrushStyles\", this).call(this, ctx);\n ctx.strokeStyle = 'black';\n }\n\n /**\n * @override strictly speaking the eraser needs a full render only if it has opacity set.\n * However since {@link PencilBrush} is designed for subclassing that is what we have to work with.\n */\n }, {\n key: \"needsFullRender\",\n value: function needsFullRender() {\n return true;\n }\n\n /**\n * @override erase\n */\n }, {\n key: \"_render\",\n value: function _render() {\n var ctx = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.canvas.getTopContext();\n _get(_getPrototypeOf(EraserBrush.prototype), \"_render\", this).call(this, ctx);\n erase(this.canvas.getContext(), ctx, this.effectContext);\n }\n\n /**\n * @override {@link drawEffect}\n */\n }, {\n key: \"onMouseDown\",\n value: function onMouseDown(pointer, context) {\n var _this3 = this;\n if (!this.eventEmitter.dispatchEvent(new CustomEvent('start', {\n detail: context,\n cancelable: true\n }))) {\n return;\n }\n this.active = true;\n this.eventEmitter.dispatchEvent(new CustomEvent('redraw', {\n detail: {\n type: 'start'\n },\n cancelable: true\n })) && this.drawEffect();\n\n // consider a different approach\n this._disposer = this.canvas.on('after:render', function (_ref2) {\n var ctx = _ref2.ctx;\n if (ctx !== _this3.canvas.getContext()) {\n return;\n }\n _this3.eventEmitter.dispatchEvent(new CustomEvent('redraw', {\n detail: {\n type: 'render'\n },\n cancelable: true\n })) && _this3.drawEffect();\n _this3._render();\n });\n _get(_getPrototypeOf(EraserBrush.prototype), \"onMouseDown\", this).call(this, pointer, context);\n }\n\n /**\n * @override run if active\n */\n }, {\n key: \"onMouseMove\",\n value: function onMouseMove(pointer, context) {\n this.active && this.eventEmitter.dispatchEvent(new CustomEvent('move', {\n detail: context,\n cancelable: true\n })) && _get(_getPrototypeOf(EraserBrush.prototype), \"onMouseMove\", this).call(this, pointer, context);\n }\n\n /**\n * @override run if active, dispose of {@link drawEffect} listener\n */\n }, {\n key: \"onMouseUp\",\n value: function onMouseUp(context) {\n var _this$_disposer;\n this.active && _get(_getPrototypeOf(EraserBrush.prototype), \"onMouseUp\", this).call(this, context);\n this.active = false;\n (_this$_disposer = this._disposer) === null || _this$_disposer === void 0 || _this$_disposer.call(this);\n delete this._disposer;\n return false;\n }\n\n /**\n * @override {@link fabric.PencilBrush} logic\n */\n }, {\n key: \"convertPointsToSVGPath\",\n value: function convertPointsToSVGPath(points) {\n return _get(_getPrototypeOf(EraserBrush.prototype), \"convertPointsToSVGPath\", this).call(this, this.decimate ? this.decimatePoints(points, this.decimate) : points);\n }\n\n /**\n * @override\n */\n }, {\n key: \"createPath\",\n value: function createPath(pathData) {\n var path = _get(_getPrototypeOf(EraserBrush.prototype), \"createPath\", this).call(this, pathData);\n path.set(this.inverted ? {\n globalCompositeOperation: 'source-over',\n stroke: 'white'\n } : {\n globalCompositeOperation: 'destination-out',\n stroke: 'black',\n opacity: new fabric.Color(this.color).getAlpha()\n });\n return path;\n }\n }, {\n key: \"commit\",\n value: function () {\n var _commit = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref3) {\n var path, targets;\n return _regeneratorRuntime().wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n path = _ref3.path, targets = _ref3.targets;\n _context3.t0 = Map;\n _context3.next = 4;\n return Promise.all([].concat(_toConsumableArray(targets.map( /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(object) {\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.t0 = object;\n _context.next = 3;\n return eraseObject(object, path);\n case 3:\n _context.t1 = _context.sent;\n return _context.abrupt(\"return\", [_context.t0, _context.t1]);\n case 5:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function (_x7) {\n return _ref4.apply(this, arguments);\n };\n }())), _toConsumableArray([[this.canvas.backgroundImage, !this.canvas.backgroundVpt ? this.canvas.viewportTransform : undefined], [this.canvas.overlayImage, !this.canvas.overlayVpt ? this.canvas.viewportTransform : undefined]].filter(function (_ref5) {\n var _ref6 = _slicedToArray(_ref5, 1),\n object = _ref6[0];\n return !!(object !== null && object !== void 0 && object.erasable);\n }).map( /*#__PURE__*/function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref7) {\n var _ref9, object, vptFlag;\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n _ref9 = _slicedToArray(_ref7, 2), object = _ref9[0], vptFlag = _ref9[1];\n _context2.t0 = object;\n _context2.next = 4;\n return eraseCanvasDrawable(object, vptFlag, path);\n case 4:\n _context2.t1 = _context2.sent;\n return _context2.abrupt(\"return\", [_context2.t0, _context2.t1]);\n case 6:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function (_x8) {\n return _ref8.apply(this, arguments);\n };\n }()))));\n case 4:\n _context3.t1 = _context3.sent;\n return _context3.abrupt(\"return\", new _context3.t0(_context3.t1));\n case 6:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3, this);\n }));\n function commit(_x6) {\n return _commit.apply(this, arguments);\n }\n return commit;\n }()\n /**\n * @override handle events\n */\n }, {\n key: \"_finalizeAndAddPath\",\n value: function _finalizeAndAddPath() {\n var points = this['_points'];\n if (points.length < 2) {\n this.eventEmitter.dispatchEvent(new CustomEvent('cancel', {\n cancelable: false\n }));\n return;\n }\n var path = this.createPath(this.convertPointsToSVGPath(points));\n var targets = walk(this.canvas.getObjects(), path);\n this.eventEmitter.dispatchEvent(new CustomEvent('end', {\n detail: {\n path: path,\n targets: targets\n },\n cancelable: true\n })) && this.commit({\n path: path,\n targets: targets\n });\n this.canvas.clearContext(this.canvas.contextTop);\n this.canvas.requestRenderAll();\n this._resetShadow();\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n var canvas = this.effectContext.canvas;\n // prompt GC\n canvas.width = canvas.height = 0;\n // release ref?\n // delete this.effectContext\n }\n }]);\n return EraserBrush;\n}(fabric.PencilBrush);\n\nexport { EraserBrush, commitErasing, eraseCanvasDrawable, eraseObject };\n//# sourceMappingURL=EraserBrush.js.map\n","function clamp(v, min, max) {\n return Math.max(min, Math.min(v, max));\n}\nconst V = {\n toVector(v, fallback) {\n if (v === undefined) v = fallback;\n return Array.isArray(v) ? v : [v, v];\n },\n add(v1, v2) {\n return [v1[0] + v2[0], v1[1] + v2[1]];\n },\n sub(v1, v2) {\n return [v1[0] - v2[0], v1[1] - v2[1]];\n },\n addTo(v1, v2) {\n v1[0] += v2[0];\n v1[1] += v2[1];\n },\n subTo(v1, v2) {\n v1[0] -= v2[0];\n v1[1] -= v2[1];\n }\n};\nfunction rubberband(distance, dimension, constant) {\n if (dimension === 0 || Math.abs(dimension) === Infinity) return Math.pow(distance, constant * 5);\n return distance * dimension * constant / (dimension + constant * distance);\n}\nfunction rubberbandIfOutOfBounds(position, min, max, constant = 0.15) {\n if (constant === 0) return clamp(position, min, max);\n if (position < min) return -rubberband(min - position, max - min, constant) + min;\n if (position > max) return +rubberband(position - max, max - min, constant) + max;\n return position;\n}\nfunction computeRubberband(bounds, [Vx, Vy], [Rx, Ry]) {\n const [[X0, X1], [Y0, Y1]] = bounds;\n return [rubberbandIfOutOfBounds(Vx, X0, X1, Rx), rubberbandIfOutOfBounds(Vy, Y0, Y1, Ry)];\n}\n\nexport { V, computeRubberband as c, rubberbandIfOutOfBounds as r };\n","import { V, c as computeRubberband } from './maths-0ab39ae9.esm.js';\n\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\n\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\n\nfunction _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\n\nconst EVENT_TYPE_MAP = {\n pointer: {\n start: 'down',\n change: 'move',\n end: 'up'\n },\n mouse: {\n start: 'down',\n change: 'move',\n end: 'up'\n },\n touch: {\n start: 'start',\n change: 'move',\n end: 'end'\n },\n gesture: {\n start: 'start',\n change: 'change',\n end: 'end'\n }\n};\nfunction capitalize(string) {\n if (!string) return '';\n return string[0].toUpperCase() + string.slice(1);\n}\nconst actionsWithoutCaptureSupported = ['enter', 'leave'];\nfunction hasCapture(capture = false, actionKey) {\n return capture && !actionsWithoutCaptureSupported.includes(actionKey);\n}\nfunction toHandlerProp(device, action = '', capture = false) {\n const deviceProps = EVENT_TYPE_MAP[device];\n const actionKey = deviceProps ? deviceProps[action] || action : action;\n return 'on' + capitalize(device) + capitalize(actionKey) + (hasCapture(capture, actionKey) ? 'Capture' : '');\n}\nconst pointerCaptureEvents = ['gotpointercapture', 'lostpointercapture'];\nfunction parseProp(prop) {\n let eventKey = prop.substring(2).toLowerCase();\n const passive = !!~eventKey.indexOf('passive');\n if (passive) eventKey = eventKey.replace('passive', '');\n const captureKey = pointerCaptureEvents.includes(eventKey) ? 'capturecapture' : 'capture';\n const capture = !!~eventKey.indexOf(captureKey);\n if (capture) eventKey = eventKey.replace('capture', '');\n return {\n device: eventKey,\n capture,\n passive\n };\n}\nfunction toDomEventType(device, action = '') {\n const deviceProps = EVENT_TYPE_MAP[device];\n const actionKey = deviceProps ? deviceProps[action] || action : action;\n return device + actionKey;\n}\nfunction isTouch(event) {\n return 'touches' in event;\n}\nfunction getPointerType(event) {\n if (isTouch(event)) return 'touch';\n if ('pointerType' in event) return event.pointerType;\n return 'mouse';\n}\nfunction getCurrentTargetTouchList(event) {\n return Array.from(event.touches).filter(e => {\n var _event$currentTarget, _event$currentTarget$;\n return e.target === event.currentTarget || ((_event$currentTarget = event.currentTarget) === null || _event$currentTarget === void 0 || (_event$currentTarget$ = _event$currentTarget.contains) === null || _event$currentTarget$ === void 0 ? void 0 : _event$currentTarget$.call(_event$currentTarget, e.target));\n });\n}\nfunction getTouchList(event) {\n return event.type === 'touchend' || event.type === 'touchcancel' ? event.changedTouches : event.targetTouches;\n}\nfunction getValueEvent(event) {\n return isTouch(event) ? getTouchList(event)[0] : event;\n}\nfunction distanceAngle(P1, P2) {\n try {\n const dx = P2.clientX - P1.clientX;\n const dy = P2.clientY - P1.clientY;\n const cx = (P2.clientX + P1.clientX) / 2;\n const cy = (P2.clientY + P1.clientY) / 2;\n const distance = Math.hypot(dx, dy);\n const angle = -(Math.atan2(dx, dy) * 180) / Math.PI;\n const origin = [cx, cy];\n return {\n angle,\n distance,\n origin\n };\n } catch (_unused) {}\n return null;\n}\nfunction touchIds(event) {\n return getCurrentTargetTouchList(event).map(touch => touch.identifier);\n}\nfunction touchDistanceAngle(event, ids) {\n const [P1, P2] = Array.from(event.touches).filter(touch => ids.includes(touch.identifier));\n return distanceAngle(P1, P2);\n}\nfunction pointerId(event) {\n const valueEvent = getValueEvent(event);\n return isTouch(event) ? valueEvent.identifier : valueEvent.pointerId;\n}\nfunction pointerValues(event) {\n const valueEvent = getValueEvent(event);\n return [valueEvent.clientX, valueEvent.clientY];\n}\nconst LINE_HEIGHT = 40;\nconst PAGE_HEIGHT = 800;\nfunction wheelValues(event) {\n let {\n deltaX,\n deltaY,\n deltaMode\n } = event;\n if (deltaMode === 1) {\n deltaX *= LINE_HEIGHT;\n deltaY *= LINE_HEIGHT;\n } else if (deltaMode === 2) {\n deltaX *= PAGE_HEIGHT;\n deltaY *= PAGE_HEIGHT;\n }\n return [deltaX, deltaY];\n}\nfunction scrollValues(event) {\n var _ref, _ref2;\n const {\n scrollX,\n scrollY,\n scrollLeft,\n scrollTop\n } = event.currentTarget;\n return [(_ref = scrollX !== null && scrollX !== void 0 ? scrollX : scrollLeft) !== null && _ref !== void 0 ? _ref : 0, (_ref2 = scrollY !== null && scrollY !== void 0 ? scrollY : scrollTop) !== null && _ref2 !== void 0 ? _ref2 : 0];\n}\nfunction getEventDetails(event) {\n const payload = {};\n if ('buttons' in event) payload.buttons = event.buttons;\n if ('shiftKey' in event) {\n const {\n shiftKey,\n altKey,\n metaKey,\n ctrlKey\n } = event;\n Object.assign(payload, {\n shiftKey,\n altKey,\n metaKey,\n ctrlKey\n });\n }\n return payload;\n}\n\nfunction call(v, ...args) {\n if (typeof v === 'function') {\n return v(...args);\n } else {\n return v;\n }\n}\nfunction noop() {}\nfunction chain(...fns) {\n if (fns.length === 0) return noop;\n if (fns.length === 1) return fns[0];\n return function () {\n let result;\n for (const fn of fns) {\n result = fn.apply(this, arguments) || result;\n }\n return result;\n };\n}\nfunction assignDefault(value, fallback) {\n return Object.assign({}, fallback, value || {});\n}\n\nconst BEFORE_LAST_KINEMATICS_DELAY = 32;\nclass Engine {\n constructor(ctrl, args, key) {\n this.ctrl = ctrl;\n this.args = args;\n this.key = key;\n if (!this.state) {\n this.state = {};\n this.computeValues([0, 0]);\n this.computeInitial();\n if (this.init) this.init();\n this.reset();\n }\n }\n get state() {\n return this.ctrl.state[this.key];\n }\n set state(state) {\n this.ctrl.state[this.key] = state;\n }\n get shared() {\n return this.ctrl.state.shared;\n }\n get eventStore() {\n return this.ctrl.gestureEventStores[this.key];\n }\n get timeoutStore() {\n return this.ctrl.gestureTimeoutStores[this.key];\n }\n get config() {\n return this.ctrl.config[this.key];\n }\n get sharedConfig() {\n return this.ctrl.config.shared;\n }\n get handler() {\n return this.ctrl.handlers[this.key];\n }\n reset() {\n const {\n state,\n shared,\n ingKey,\n args\n } = this;\n shared[ingKey] = state._active = state.active = state._blocked = state._force = false;\n state._step = [false, false];\n state.intentional = false;\n state._movement = [0, 0];\n state._distance = [0, 0];\n state._direction = [0, 0];\n state._delta = [0, 0];\n state._bounds = [[-Infinity, Infinity], [-Infinity, Infinity]];\n state.args = args;\n state.axis = undefined;\n state.memo = undefined;\n state.elapsedTime = state.timeDelta = 0;\n state.direction = [0, 0];\n state.distance = [0, 0];\n state.overflow = [0, 0];\n state._movementBound = [false, false];\n state.velocity = [0, 0];\n state.movement = [0, 0];\n state.delta = [0, 0];\n state.timeStamp = 0;\n }\n start(event) {\n const state = this.state;\n const config = this.config;\n if (!state._active) {\n this.reset();\n this.computeInitial();\n state._active = true;\n state.target = event.target;\n state.currentTarget = event.currentTarget;\n state.lastOffset = config.from ? call(config.from, state) : state.offset;\n state.offset = state.lastOffset;\n state.startTime = state.timeStamp = event.timeStamp;\n }\n }\n computeValues(values) {\n const state = this.state;\n state._values = values;\n state.values = this.config.transform(values);\n }\n computeInitial() {\n const state = this.state;\n state._initial = state._values;\n state.initial = state.values;\n }\n compute(event) {\n const {\n state,\n config,\n shared\n } = this;\n state.args = this.args;\n let dt = 0;\n if (event) {\n state.event = event;\n if (config.preventDefault && event.cancelable) state.event.preventDefault();\n state.type = event.type;\n shared.touches = this.ctrl.pointerIds.size || this.ctrl.touchIds.size;\n shared.locked = !!document.pointerLockElement;\n Object.assign(shared, getEventDetails(event));\n shared.down = shared.pressed = shared.buttons % 2 === 1 || shared.touches > 0;\n dt = event.timeStamp - state.timeStamp;\n state.timeStamp = event.timeStamp;\n state.elapsedTime = state.timeStamp - state.startTime;\n }\n if (state._active) {\n const _absoluteDelta = state._delta.map(Math.abs);\n V.addTo(state._distance, _absoluteDelta);\n }\n if (this.axisIntent) this.axisIntent(event);\n const [_m0, _m1] = state._movement;\n const [t0, t1] = config.threshold;\n const {\n _step,\n values\n } = state;\n if (config.hasCustomTransform) {\n if (_step[0] === false) _step[0] = Math.abs(_m0) >= t0 && values[0];\n if (_step[1] === false) _step[1] = Math.abs(_m1) >= t1 && values[1];\n } else {\n if (_step[0] === false) _step[0] = Math.abs(_m0) >= t0 && Math.sign(_m0) * t0;\n if (_step[1] === false) _step[1] = Math.abs(_m1) >= t1 && Math.sign(_m1) * t1;\n }\n state.intentional = _step[0] !== false || _step[1] !== false;\n if (!state.intentional) return;\n const movement = [0, 0];\n if (config.hasCustomTransform) {\n const [v0, v1] = values;\n movement[0] = _step[0] !== false ? v0 - _step[0] : 0;\n movement[1] = _step[1] !== false ? v1 - _step[1] : 0;\n } else {\n movement[0] = _step[0] !== false ? _m0 - _step[0] : 0;\n movement[1] = _step[1] !== false ? _m1 - _step[1] : 0;\n }\n if (this.restrictToAxis && !state._blocked) this.restrictToAxis(movement);\n const previousOffset = state.offset;\n const gestureIsActive = state._active && !state._blocked || state.active;\n if (gestureIsActive) {\n state.first = state._active && !state.active;\n state.last = !state._active && state.active;\n state.active = shared[this.ingKey] = state._active;\n if (event) {\n if (state.first) {\n if ('bounds' in config) state._bounds = call(config.bounds, state);\n if (this.setup) this.setup();\n }\n state.movement = movement;\n this.computeOffset();\n }\n }\n const [ox, oy] = state.offset;\n const [[x0, x1], [y0, y1]] = state._bounds;\n state.overflow = [ox < x0 ? -1 : ox > x1 ? 1 : 0, oy < y0 ? -1 : oy > y1 ? 1 : 0];\n state._movementBound[0] = state.overflow[0] ? state._movementBound[0] === false ? state._movement[0] : state._movementBound[0] : false;\n state._movementBound[1] = state.overflow[1] ? state._movementBound[1] === false ? state._movement[1] : state._movementBound[1] : false;\n const rubberband = state._active ? config.rubberband || [0, 0] : [0, 0];\n state.offset = computeRubberband(state._bounds, state.offset, rubberband);\n state.delta = V.sub(state.offset, previousOffset);\n this.computeMovement();\n if (gestureIsActive && (!state.last || dt > BEFORE_LAST_KINEMATICS_DELAY)) {\n state.delta = V.sub(state.offset, previousOffset);\n const absoluteDelta = state.delta.map(Math.abs);\n V.addTo(state.distance, absoluteDelta);\n state.direction = state.delta.map(Math.sign);\n state._direction = state._delta.map(Math.sign);\n if (!state.first && dt > 0) {\n state.velocity = [absoluteDelta[0] / dt, absoluteDelta[1] / dt];\n state.timeDelta = dt;\n }\n }\n }\n emit() {\n const state = this.state;\n const shared = this.shared;\n const config = this.config;\n if (!state._active) this.clean();\n if ((state._blocked || !state.intentional) && !state._force && !config.triggerAllEvents) return;\n const memo = this.handler(_objectSpread2(_objectSpread2(_objectSpread2({}, shared), state), {}, {\n [this.aliasKey]: state.values\n }));\n if (memo !== undefined) state.memo = memo;\n }\n clean() {\n this.eventStore.clean();\n this.timeoutStore.clean();\n }\n}\n\nfunction selectAxis([dx, dy], threshold) {\n const absDx = Math.abs(dx);\n const absDy = Math.abs(dy);\n if (absDx > absDy && absDx > threshold) {\n return 'x';\n }\n if (absDy > absDx && absDy > threshold) {\n return 'y';\n }\n return undefined;\n}\nclass CoordinatesEngine extends Engine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"aliasKey\", 'xy');\n }\n reset() {\n super.reset();\n this.state.axis = undefined;\n }\n init() {\n this.state.offset = [0, 0];\n this.state.lastOffset = [0, 0];\n }\n computeOffset() {\n this.state.offset = V.add(this.state.lastOffset, this.state.movement);\n }\n computeMovement() {\n this.state.movement = V.sub(this.state.offset, this.state.lastOffset);\n }\n axisIntent(event) {\n const state = this.state;\n const config = this.config;\n if (!state.axis && event) {\n const threshold = typeof config.axisThreshold === 'object' ? config.axisThreshold[getPointerType(event)] : config.axisThreshold;\n state.axis = selectAxis(state._movement, threshold);\n }\n state._blocked = (config.lockDirection || !!config.axis) && !state.axis || !!config.axis && config.axis !== state.axis;\n }\n restrictToAxis(v) {\n if (this.config.axis || this.config.lockDirection) {\n switch (this.state.axis) {\n case 'x':\n v[1] = 0;\n break;\n case 'y':\n v[0] = 0;\n break;\n }\n }\n }\n}\n\nconst identity = v => v;\nconst DEFAULT_RUBBERBAND = 0.15;\nconst commonConfigResolver = {\n enabled(value = true) {\n return value;\n },\n eventOptions(value, _k, config) {\n return _objectSpread2(_objectSpread2({}, config.shared.eventOptions), value);\n },\n preventDefault(value = false) {\n return value;\n },\n triggerAllEvents(value = false) {\n return value;\n },\n rubberband(value = 0) {\n switch (value) {\n case true:\n return [DEFAULT_RUBBERBAND, DEFAULT_RUBBERBAND];\n case false:\n return [0, 0];\n default:\n return V.toVector(value);\n }\n },\n from(value) {\n if (typeof value === 'function') return value;\n if (value != null) return V.toVector(value);\n },\n transform(value, _k, config) {\n const transform = value || config.shared.transform;\n this.hasCustomTransform = !!transform;\n if (process.env.NODE_ENV === 'development') {\n const originalTransform = transform || identity;\n return v => {\n const r = originalTransform(v);\n if (!isFinite(r[0]) || !isFinite(r[1])) {\n console.warn(`[@use-gesture]: config.transform() must produce a valid result, but it was: [${r[0]},${[1]}]`);\n }\n return r;\n };\n }\n return transform || identity;\n },\n threshold(value) {\n return V.toVector(value, 0);\n }\n};\nif (process.env.NODE_ENV === 'development') {\n Object.assign(commonConfigResolver, {\n domTarget(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`domTarget\\` option has been renamed to \\`target\\`.`);\n }\n return NaN;\n },\n lockDirection(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`lockDirection\\` option has been merged with \\`axis\\`. Use it as in \\`{ axis: 'lock' }\\``);\n }\n return NaN;\n },\n initial(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`initial\\` option has been renamed to \\`from\\`.`);\n }\n return NaN;\n }\n });\n}\n\nconst DEFAULT_AXIS_THRESHOLD = 0;\nconst coordinatesConfigResolver = _objectSpread2(_objectSpread2({}, commonConfigResolver), {}, {\n axis(_v, _k, {\n axis\n }) {\n this.lockDirection = axis === 'lock';\n if (!this.lockDirection) return axis;\n },\n axisThreshold(value = DEFAULT_AXIS_THRESHOLD) {\n return value;\n },\n bounds(value = {}) {\n if (typeof value === 'function') {\n return state => coordinatesConfigResolver.bounds(value(state));\n }\n if ('current' in value) {\n return () => value.current;\n }\n if (typeof HTMLElement === 'function' && value instanceof HTMLElement) {\n return value;\n }\n const {\n left = -Infinity,\n right = Infinity,\n top = -Infinity,\n bottom = Infinity\n } = value;\n return [[left, right], [top, bottom]];\n }\n});\n\nconst KEYS_DELTA_MAP = {\n ArrowRight: (displacement, factor = 1) => [displacement * factor, 0],\n ArrowLeft: (displacement, factor = 1) => [-1 * displacement * factor, 0],\n ArrowUp: (displacement, factor = 1) => [0, -1 * displacement * factor],\n ArrowDown: (displacement, factor = 1) => [0, displacement * factor]\n};\nclass DragEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'dragging');\n }\n reset() {\n super.reset();\n const state = this.state;\n state._pointerId = undefined;\n state._pointerActive = false;\n state._keyboardActive = false;\n state._preventScroll = false;\n state._delayed = false;\n state.swipe = [0, 0];\n state.tap = false;\n state.canceled = false;\n state.cancel = this.cancel.bind(this);\n }\n setup() {\n const state = this.state;\n if (state._bounds instanceof HTMLElement) {\n const boundRect = state._bounds.getBoundingClientRect();\n const targetRect = state.currentTarget.getBoundingClientRect();\n const _bounds = {\n left: boundRect.left - targetRect.left + state.offset[0],\n right: boundRect.right - targetRect.right + state.offset[0],\n top: boundRect.top - targetRect.top + state.offset[1],\n bottom: boundRect.bottom - targetRect.bottom + state.offset[1]\n };\n state._bounds = coordinatesConfigResolver.bounds(_bounds);\n }\n }\n cancel() {\n const state = this.state;\n if (state.canceled) return;\n state.canceled = true;\n state._active = false;\n setTimeout(() => {\n this.compute();\n this.emit();\n }, 0);\n }\n setActive() {\n this.state._active = this.state._pointerActive || this.state._keyboardActive;\n }\n clean() {\n this.pointerClean();\n this.state._pointerActive = false;\n this.state._keyboardActive = false;\n super.clean();\n }\n pointerDown(event) {\n const config = this.config;\n const state = this.state;\n if (event.buttons != null && (Array.isArray(config.pointerButtons) ? !config.pointerButtons.includes(event.buttons) : config.pointerButtons !== -1 && config.pointerButtons !== event.buttons)) return;\n const ctrlIds = this.ctrl.setEventIds(event);\n if (config.pointerCapture) {\n event.target.setPointerCapture(event.pointerId);\n }\n if (ctrlIds && ctrlIds.size > 1 && state._pointerActive) return;\n this.start(event);\n this.setupPointer(event);\n state._pointerId = pointerId(event);\n state._pointerActive = true;\n this.computeValues(pointerValues(event));\n this.computeInitial();\n if (config.preventScrollAxis && getPointerType(event) !== 'mouse') {\n state._active = false;\n this.setupScrollPrevention(event);\n } else if (config.delay > 0) {\n this.setupDelayTrigger(event);\n if (config.triggerAllEvents) {\n this.compute(event);\n this.emit();\n }\n } else {\n this.startPointerDrag(event);\n }\n }\n startPointerDrag(event) {\n const state = this.state;\n state._active = true;\n state._preventScroll = true;\n state._delayed = false;\n this.compute(event);\n this.emit();\n }\n pointerMove(event) {\n const state = this.state;\n const config = this.config;\n if (!state._pointerActive) return;\n const id = pointerId(event);\n if (state._pointerId !== undefined && id !== state._pointerId) return;\n const _values = pointerValues(event);\n if (document.pointerLockElement === event.target) {\n state._delta = [event.movementX, event.movementY];\n } else {\n state._delta = V.sub(_values, state._values);\n this.computeValues(_values);\n }\n V.addTo(state._movement, state._delta);\n this.compute(event);\n if (state._delayed && state.intentional) {\n this.timeoutStore.remove('dragDelay');\n state.active = false;\n this.startPointerDrag(event);\n return;\n }\n if (config.preventScrollAxis && !state._preventScroll) {\n if (state.axis) {\n if (state.axis === config.preventScrollAxis || config.preventScrollAxis === 'xy') {\n state._active = false;\n this.clean();\n return;\n } else {\n this.timeoutStore.remove('startPointerDrag');\n this.startPointerDrag(event);\n return;\n }\n } else {\n return;\n }\n }\n this.emit();\n }\n pointerUp(event) {\n this.ctrl.setEventIds(event);\n try {\n if (this.config.pointerCapture && event.target.hasPointerCapture(event.pointerId)) {\n ;\n event.target.releasePointerCapture(event.pointerId);\n }\n } catch (_unused) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(`[@use-gesture]: If you see this message, it's likely that you're using an outdated version of \\`@react-three/fiber\\`. \\n\\nPlease upgrade to the latest version.`);\n }\n }\n const state = this.state;\n const config = this.config;\n if (!state._active || !state._pointerActive) return;\n const id = pointerId(event);\n if (state._pointerId !== undefined && id !== state._pointerId) return;\n this.state._pointerActive = false;\n this.setActive();\n this.compute(event);\n const [dx, dy] = state._distance;\n state.tap = dx <= config.tapsThreshold && dy <= config.tapsThreshold;\n if (state.tap && config.filterTaps) {\n state._force = true;\n } else {\n const [_dx, _dy] = state._delta;\n const [_mx, _my] = state._movement;\n const [svx, svy] = config.swipe.velocity;\n const [sx, sy] = config.swipe.distance;\n const sdt = config.swipe.duration;\n if (state.elapsedTime < sdt) {\n const _vx = Math.abs(_dx / state.timeDelta);\n const _vy = Math.abs(_dy / state.timeDelta);\n if (_vx > svx && Math.abs(_mx) > sx) state.swipe[0] = Math.sign(_dx);\n if (_vy > svy && Math.abs(_my) > sy) state.swipe[1] = Math.sign(_dy);\n }\n }\n this.emit();\n }\n pointerClick(event) {\n if (!this.state.tap && event.detail > 0) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n setupPointer(event) {\n const config = this.config;\n const device = config.device;\n if (process.env.NODE_ENV === 'development') {\n try {\n if (device === 'pointer' && config.preventScrollDelay === undefined) {\n const currentTarget = 'uv' in event ? event.sourceEvent.currentTarget : event.currentTarget;\n const style = window.getComputedStyle(currentTarget);\n if (style.touchAction === 'auto') {\n console.warn(`[@use-gesture]: The drag target has its \\`touch-action\\` style property set to \\`auto\\`. It is recommended to add \\`touch-action: 'none'\\` so that the drag gesture behaves correctly on touch-enabled devices. For more information read this: https://use-gesture.netlify.app/docs/extras/#touch-action.\\n\\nThis message will only show in development mode. It won't appear in production. If this is intended, you can ignore it.`, currentTarget);\n }\n }\n } catch (_unused2) {}\n }\n if (config.pointerLock) {\n event.currentTarget.requestPointerLock();\n }\n if (!config.pointerCapture) {\n this.eventStore.add(this.sharedConfig.window, device, 'change', this.pointerMove.bind(this));\n this.eventStore.add(this.sharedConfig.window, device, 'end', this.pointerUp.bind(this));\n this.eventStore.add(this.sharedConfig.window, device, 'cancel', this.pointerUp.bind(this));\n }\n }\n pointerClean() {\n if (this.config.pointerLock && document.pointerLockElement === this.state.currentTarget) {\n document.exitPointerLock();\n }\n }\n preventScroll(event) {\n if (this.state._preventScroll && event.cancelable) {\n event.preventDefault();\n }\n }\n setupScrollPrevention(event) {\n this.state._preventScroll = false;\n persistEvent(event);\n const remove = this.eventStore.add(this.sharedConfig.window, 'touch', 'change', this.preventScroll.bind(this), {\n passive: false\n });\n this.eventStore.add(this.sharedConfig.window, 'touch', 'end', remove);\n this.eventStore.add(this.sharedConfig.window, 'touch', 'cancel', remove);\n this.timeoutStore.add('startPointerDrag', this.startPointerDrag.bind(this), this.config.preventScrollDelay, event);\n }\n setupDelayTrigger(event) {\n this.state._delayed = true;\n this.timeoutStore.add('dragDelay', () => {\n this.state._step = [0, 0];\n this.startPointerDrag(event);\n }, this.config.delay);\n }\n keyDown(event) {\n const deltaFn = KEYS_DELTA_MAP[event.key];\n if (deltaFn) {\n const state = this.state;\n const factor = event.shiftKey ? 10 : event.altKey ? 0.1 : 1;\n this.start(event);\n state._delta = deltaFn(this.config.keyboardDisplacement, factor);\n state._keyboardActive = true;\n V.addTo(state._movement, state._delta);\n this.compute(event);\n this.emit();\n }\n }\n keyUp(event) {\n if (!(event.key in KEYS_DELTA_MAP)) return;\n this.state._keyboardActive = false;\n this.setActive();\n this.compute(event);\n this.emit();\n }\n bind(bindFunction) {\n const device = this.config.device;\n bindFunction(device, 'start', this.pointerDown.bind(this));\n if (this.config.pointerCapture) {\n bindFunction(device, 'change', this.pointerMove.bind(this));\n bindFunction(device, 'end', this.pointerUp.bind(this));\n bindFunction(device, 'cancel', this.pointerUp.bind(this));\n bindFunction('lostPointerCapture', '', this.pointerUp.bind(this));\n }\n if (this.config.keys) {\n bindFunction('key', 'down', this.keyDown.bind(this));\n bindFunction('key', 'up', this.keyUp.bind(this));\n }\n if (this.config.filterTaps) {\n bindFunction('click', '', this.pointerClick.bind(this), {\n capture: true,\n passive: false\n });\n }\n }\n}\nfunction persistEvent(event) {\n 'persist' in event && typeof event.persist === 'function' && event.persist();\n}\n\nconst isBrowser = typeof window !== 'undefined' && window.document && window.document.createElement;\nfunction supportsTouchEvents() {\n return isBrowser && 'ontouchstart' in window;\n}\nfunction isTouchScreen() {\n return supportsTouchEvents() || isBrowser && window.navigator.maxTouchPoints > 1;\n}\nfunction supportsPointerEvents() {\n return isBrowser && 'onpointerdown' in window;\n}\nfunction supportsPointerLock() {\n return isBrowser && 'exitPointerLock' in window.document;\n}\nfunction supportsGestureEvents() {\n try {\n return 'constructor' in GestureEvent;\n } catch (e) {\n return false;\n }\n}\nconst SUPPORT = {\n isBrowser,\n gesture: supportsGestureEvents(),\n touch: supportsTouchEvents(),\n touchscreen: isTouchScreen(),\n pointer: supportsPointerEvents(),\n pointerLock: supportsPointerLock()\n};\n\nconst DEFAULT_PREVENT_SCROLL_DELAY = 250;\nconst DEFAULT_DRAG_DELAY = 180;\nconst DEFAULT_SWIPE_VELOCITY = 0.5;\nconst DEFAULT_SWIPE_DISTANCE = 50;\nconst DEFAULT_SWIPE_DURATION = 250;\nconst DEFAULT_KEYBOARD_DISPLACEMENT = 10;\nconst DEFAULT_DRAG_AXIS_THRESHOLD = {\n mouse: 0,\n touch: 0,\n pen: 8\n};\nconst dragConfigResolver = _objectSpread2(_objectSpread2({}, coordinatesConfigResolver), {}, {\n device(_v, _k, {\n pointer: {\n touch = false,\n lock = false,\n mouse = false\n } = {}\n }) {\n this.pointerLock = lock && SUPPORT.pointerLock;\n if (SUPPORT.touch && touch) return 'touch';\n if (this.pointerLock) return 'mouse';\n if (SUPPORT.pointer && !mouse) return 'pointer';\n if (SUPPORT.touch) return 'touch';\n return 'mouse';\n },\n preventScrollAxis(value, _k, {\n preventScroll\n }) {\n this.preventScrollDelay = typeof preventScroll === 'number' ? preventScroll : preventScroll || preventScroll === undefined && value ? DEFAULT_PREVENT_SCROLL_DELAY : undefined;\n if (!SUPPORT.touchscreen || preventScroll === false) return undefined;\n return value ? value : preventScroll !== undefined ? 'y' : undefined;\n },\n pointerCapture(_v, _k, {\n pointer: {\n capture = true,\n buttons = 1,\n keys = true\n } = {}\n }) {\n this.pointerButtons = buttons;\n this.keys = keys;\n return !this.pointerLock && this.device === 'pointer' && capture;\n },\n threshold(value, _k, {\n filterTaps = false,\n tapsThreshold = 3,\n axis = undefined\n }) {\n const threshold = V.toVector(value, filterTaps ? tapsThreshold : axis ? 1 : 0);\n this.filterTaps = filterTaps;\n this.tapsThreshold = tapsThreshold;\n return threshold;\n },\n swipe({\n velocity = DEFAULT_SWIPE_VELOCITY,\n distance = DEFAULT_SWIPE_DISTANCE,\n duration = DEFAULT_SWIPE_DURATION\n } = {}) {\n return {\n velocity: this.transform(V.toVector(velocity)),\n distance: this.transform(V.toVector(distance)),\n duration\n };\n },\n delay(value = 0) {\n switch (value) {\n case true:\n return DEFAULT_DRAG_DELAY;\n case false:\n return 0;\n default:\n return value;\n }\n },\n axisThreshold(value) {\n if (!value) return DEFAULT_DRAG_AXIS_THRESHOLD;\n return _objectSpread2(_objectSpread2({}, DEFAULT_DRAG_AXIS_THRESHOLD), value);\n },\n keyboardDisplacement(value = DEFAULT_KEYBOARD_DISPLACEMENT) {\n return value;\n }\n});\nif (process.env.NODE_ENV === 'development') {\n Object.assign(dragConfigResolver, {\n useTouch(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`useTouch\\` option has been renamed to \\`pointer.touch\\`. Use it as in \\`{ pointer: { touch: true } }\\`.`);\n }\n return NaN;\n },\n experimental_preventWindowScrollY(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`experimental_preventWindowScrollY\\` option has been renamed to \\`preventScroll\\`.`);\n }\n return NaN;\n },\n swipeVelocity(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`swipeVelocity\\` option has been renamed to \\`swipe.velocity\\`. Use it as in \\`{ swipe: { velocity: 0.5 } }\\`.`);\n }\n return NaN;\n },\n swipeDistance(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`swipeDistance\\` option has been renamed to \\`swipe.distance\\`. Use it as in \\`{ swipe: { distance: 50 } }\\`.`);\n }\n return NaN;\n },\n swipeDuration(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`swipeDuration\\` option has been renamed to \\`swipe.duration\\`. Use it as in \\`{ swipe: { duration: 250 } }\\`.`);\n }\n return NaN;\n }\n });\n}\n\nfunction clampStateInternalMovementToBounds(state) {\n const [ox, oy] = state.overflow;\n const [dx, dy] = state._delta;\n const [dirx, diry] = state._direction;\n if (ox < 0 && dx > 0 && dirx < 0 || ox > 0 && dx < 0 && dirx > 0) {\n state._movement[0] = state._movementBound[0];\n }\n if (oy < 0 && dy > 0 && diry < 0 || oy > 0 && dy < 0 && diry > 0) {\n state._movement[1] = state._movementBound[1];\n }\n}\n\nconst SCALE_ANGLE_RATIO_INTENT_DEG = 30;\nconst PINCH_WHEEL_RATIO = 100;\nclass PinchEngine extends Engine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'pinching');\n _defineProperty(this, \"aliasKey\", 'da');\n }\n init() {\n this.state.offset = [1, 0];\n this.state.lastOffset = [1, 0];\n this.state._pointerEvents = new Map();\n }\n reset() {\n super.reset();\n const state = this.state;\n state._touchIds = [];\n state.canceled = false;\n state.cancel = this.cancel.bind(this);\n state.turns = 0;\n }\n computeOffset() {\n const {\n type,\n movement,\n lastOffset\n } = this.state;\n if (type === 'wheel') {\n this.state.offset = V.add(movement, lastOffset);\n } else {\n this.state.offset = [(1 + movement[0]) * lastOffset[0], movement[1] + lastOffset[1]];\n }\n }\n computeMovement() {\n const {\n offset,\n lastOffset\n } = this.state;\n this.state.movement = [offset[0] / lastOffset[0], offset[1] - lastOffset[1]];\n }\n axisIntent() {\n const state = this.state;\n const [_m0, _m1] = state._movement;\n if (!state.axis) {\n const axisMovementDifference = Math.abs(_m0) * SCALE_ANGLE_RATIO_INTENT_DEG - Math.abs(_m1);\n if (axisMovementDifference < 0) state.axis = 'angle';else if (axisMovementDifference > 0) state.axis = 'scale';\n }\n }\n restrictToAxis(v) {\n if (this.config.lockDirection) {\n if (this.state.axis === 'scale') v[1] = 0;else if (this.state.axis === 'angle') v[0] = 0;\n }\n }\n cancel() {\n const state = this.state;\n if (state.canceled) return;\n setTimeout(() => {\n state.canceled = true;\n state._active = false;\n this.compute();\n this.emit();\n }, 0);\n }\n touchStart(event) {\n this.ctrl.setEventIds(event);\n const state = this.state;\n const ctrlTouchIds = this.ctrl.touchIds;\n if (state._active) {\n if (state._touchIds.every(id => ctrlTouchIds.has(id))) return;\n }\n if (ctrlTouchIds.size < 2) return;\n this.start(event);\n state._touchIds = Array.from(ctrlTouchIds).slice(0, 2);\n const payload = touchDistanceAngle(event, state._touchIds);\n if (!payload) return;\n this.pinchStart(event, payload);\n }\n pointerStart(event) {\n if (event.buttons != null && event.buttons % 2 !== 1) return;\n this.ctrl.setEventIds(event);\n event.target.setPointerCapture(event.pointerId);\n const state = this.state;\n const _pointerEvents = state._pointerEvents;\n const ctrlPointerIds = this.ctrl.pointerIds;\n if (state._active) {\n if (Array.from(_pointerEvents.keys()).every(id => ctrlPointerIds.has(id))) return;\n }\n if (_pointerEvents.size < 2) {\n _pointerEvents.set(event.pointerId, event);\n }\n if (state._pointerEvents.size < 2) return;\n this.start(event);\n const payload = distanceAngle(...Array.from(_pointerEvents.values()));\n if (!payload) return;\n this.pinchStart(event, payload);\n }\n pinchStart(event, payload) {\n const state = this.state;\n state.origin = payload.origin;\n this.computeValues([payload.distance, payload.angle]);\n this.computeInitial();\n this.compute(event);\n this.emit();\n }\n touchMove(event) {\n if (!this.state._active) return;\n const payload = touchDistanceAngle(event, this.state._touchIds);\n if (!payload) return;\n this.pinchMove(event, payload);\n }\n pointerMove(event) {\n const _pointerEvents = this.state._pointerEvents;\n if (_pointerEvents.has(event.pointerId)) {\n _pointerEvents.set(event.pointerId, event);\n }\n if (!this.state._active) return;\n const payload = distanceAngle(...Array.from(_pointerEvents.values()));\n if (!payload) return;\n this.pinchMove(event, payload);\n }\n pinchMove(event, payload) {\n const state = this.state;\n const prev_a = state._values[1];\n const delta_a = payload.angle - prev_a;\n let delta_turns = 0;\n if (Math.abs(delta_a) > 270) delta_turns += Math.sign(delta_a);\n this.computeValues([payload.distance, payload.angle - 360 * delta_turns]);\n state.origin = payload.origin;\n state.turns = delta_turns;\n state._movement = [state._values[0] / state._initial[0] - 1, state._values[1] - state._initial[1]];\n this.compute(event);\n this.emit();\n }\n touchEnd(event) {\n this.ctrl.setEventIds(event);\n if (!this.state._active) return;\n if (this.state._touchIds.some(id => !this.ctrl.touchIds.has(id))) {\n this.state._active = false;\n this.compute(event);\n this.emit();\n }\n }\n pointerEnd(event) {\n const state = this.state;\n this.ctrl.setEventIds(event);\n try {\n event.target.releasePointerCapture(event.pointerId);\n } catch (_unused) {}\n if (state._pointerEvents.has(event.pointerId)) {\n state._pointerEvents.delete(event.pointerId);\n }\n if (!state._active) return;\n if (state._pointerEvents.size < 2) {\n state._active = false;\n this.compute(event);\n this.emit();\n }\n }\n gestureStart(event) {\n if (event.cancelable) event.preventDefault();\n const state = this.state;\n if (state._active) return;\n this.start(event);\n this.computeValues([event.scale, event.rotation]);\n state.origin = [event.clientX, event.clientY];\n this.compute(event);\n this.emit();\n }\n gestureMove(event) {\n if (event.cancelable) event.preventDefault();\n if (!this.state._active) return;\n const state = this.state;\n this.computeValues([event.scale, event.rotation]);\n state.origin = [event.clientX, event.clientY];\n const _previousMovement = state._movement;\n state._movement = [event.scale - 1, event.rotation];\n state._delta = V.sub(state._movement, _previousMovement);\n this.compute(event);\n this.emit();\n }\n gestureEnd(event) {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute(event);\n this.emit();\n }\n wheel(event) {\n const modifierKey = this.config.modifierKey;\n if (modifierKey && (Array.isArray(modifierKey) ? !modifierKey.find(k => event[k]) : !event[modifierKey])) return;\n if (!this.state._active) this.wheelStart(event);else this.wheelChange(event);\n this.timeoutStore.add('wheelEnd', this.wheelEnd.bind(this));\n }\n wheelStart(event) {\n this.start(event);\n this.wheelChange(event);\n }\n wheelChange(event) {\n const isR3f = ('uv' in event);\n if (!isR3f) {\n if (event.cancelable) {\n event.preventDefault();\n }\n if (process.env.NODE_ENV === 'development' && !event.defaultPrevented) {\n console.warn(`[@use-gesture]: To properly support zoom on trackpads, try using the \\`target\\` option.\\n\\nThis message will only appear in development mode.`);\n }\n }\n const state = this.state;\n state._delta = [-wheelValues(event)[1] / PINCH_WHEEL_RATIO * state.offset[0], 0];\n V.addTo(state._movement, state._delta);\n clampStateInternalMovementToBounds(state);\n this.state.origin = [event.clientX, event.clientY];\n this.compute(event);\n this.emit();\n }\n wheelEnd() {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute();\n this.emit();\n }\n bind(bindFunction) {\n const device = this.config.device;\n if (!!device) {\n bindFunction(device, 'start', this[device + 'Start'].bind(this));\n bindFunction(device, 'change', this[device + 'Move'].bind(this));\n bindFunction(device, 'end', this[device + 'End'].bind(this));\n bindFunction(device, 'cancel', this[device + 'End'].bind(this));\n bindFunction('lostPointerCapture', '', this[device + 'End'].bind(this));\n }\n if (this.config.pinchOnWheel) {\n bindFunction('wheel', '', this.wheel.bind(this), {\n passive: false\n });\n }\n }\n}\n\nconst pinchConfigResolver = _objectSpread2(_objectSpread2({}, commonConfigResolver), {}, {\n device(_v, _k, {\n shared,\n pointer: {\n touch = false\n } = {}\n }) {\n const sharedConfig = shared;\n if (sharedConfig.target && !SUPPORT.touch && SUPPORT.gesture) return 'gesture';\n if (SUPPORT.touch && touch) return 'touch';\n if (SUPPORT.touchscreen) {\n if (SUPPORT.pointer) return 'pointer';\n if (SUPPORT.touch) return 'touch';\n }\n },\n bounds(_v, _k, {\n scaleBounds = {},\n angleBounds = {}\n }) {\n const _scaleBounds = state => {\n const D = assignDefault(call(scaleBounds, state), {\n min: -Infinity,\n max: Infinity\n });\n return [D.min, D.max];\n };\n const _angleBounds = state => {\n const A = assignDefault(call(angleBounds, state), {\n min: -Infinity,\n max: Infinity\n });\n return [A.min, A.max];\n };\n if (typeof scaleBounds !== 'function' && typeof angleBounds !== 'function') return [_scaleBounds(), _angleBounds()];\n return state => [_scaleBounds(state), _angleBounds(state)];\n },\n threshold(value, _k, config) {\n this.lockDirection = config.axis === 'lock';\n const threshold = V.toVector(value, this.lockDirection ? [0.1, 3] : 0);\n return threshold;\n },\n modifierKey(value) {\n if (value === undefined) return 'ctrlKey';\n return value;\n },\n pinchOnWheel(value = true) {\n return value;\n }\n});\n\nclass MoveEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'moving');\n }\n move(event) {\n if (this.config.mouseOnly && event.pointerType !== 'mouse') return;\n if (!this.state._active) this.moveStart(event);else this.moveChange(event);\n this.timeoutStore.add('moveEnd', this.moveEnd.bind(this));\n }\n moveStart(event) {\n this.start(event);\n this.computeValues(pointerValues(event));\n this.compute(event);\n this.computeInitial();\n this.emit();\n }\n moveChange(event) {\n if (!this.state._active) return;\n const values = pointerValues(event);\n const state = this.state;\n state._delta = V.sub(values, state._values);\n V.addTo(state._movement, state._delta);\n this.computeValues(values);\n this.compute(event);\n this.emit();\n }\n moveEnd(event) {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute(event);\n this.emit();\n }\n bind(bindFunction) {\n bindFunction('pointer', 'change', this.move.bind(this));\n bindFunction('pointer', 'leave', this.moveEnd.bind(this));\n }\n}\n\nconst moveConfigResolver = _objectSpread2(_objectSpread2({}, coordinatesConfigResolver), {}, {\n mouseOnly: (value = true) => value\n});\n\nclass ScrollEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'scrolling');\n }\n scroll(event) {\n if (!this.state._active) this.start(event);\n this.scrollChange(event);\n this.timeoutStore.add('scrollEnd', this.scrollEnd.bind(this));\n }\n scrollChange(event) {\n if (event.cancelable) event.preventDefault();\n const state = this.state;\n const values = scrollValues(event);\n state._delta = V.sub(values, state._values);\n V.addTo(state._movement, state._delta);\n this.computeValues(values);\n this.compute(event);\n this.emit();\n }\n scrollEnd() {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute();\n this.emit();\n }\n bind(bindFunction) {\n bindFunction('scroll', '', this.scroll.bind(this));\n }\n}\n\nconst scrollConfigResolver = coordinatesConfigResolver;\n\nclass WheelEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'wheeling');\n }\n wheel(event) {\n if (!this.state._active) this.start(event);\n this.wheelChange(event);\n this.timeoutStore.add('wheelEnd', this.wheelEnd.bind(this));\n }\n wheelChange(event) {\n const state = this.state;\n state._delta = wheelValues(event);\n V.addTo(state._movement, state._delta);\n clampStateInternalMovementToBounds(state);\n this.compute(event);\n this.emit();\n }\n wheelEnd() {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute();\n this.emit();\n }\n bind(bindFunction) {\n bindFunction('wheel', '', this.wheel.bind(this));\n }\n}\n\nconst wheelConfigResolver = coordinatesConfigResolver;\n\nclass HoverEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'hovering');\n }\n enter(event) {\n if (this.config.mouseOnly && event.pointerType !== 'mouse') return;\n this.start(event);\n this.computeValues(pointerValues(event));\n this.compute(event);\n this.emit();\n }\n leave(event) {\n if (this.config.mouseOnly && event.pointerType !== 'mouse') return;\n const state = this.state;\n if (!state._active) return;\n state._active = false;\n const values = pointerValues(event);\n state._movement = state._delta = V.sub(values, state._values);\n this.computeValues(values);\n this.compute(event);\n state.delta = state.movement;\n this.emit();\n }\n bind(bindFunction) {\n bindFunction('pointer', 'enter', this.enter.bind(this));\n bindFunction('pointer', 'leave', this.leave.bind(this));\n }\n}\n\nconst hoverConfigResolver = _objectSpread2(_objectSpread2({}, coordinatesConfigResolver), {}, {\n mouseOnly: (value = true) => value\n});\n\nconst EngineMap = new Map();\nconst ConfigResolverMap = new Map();\nfunction registerAction(action) {\n EngineMap.set(action.key, action.engine);\n ConfigResolverMap.set(action.key, action.resolver);\n}\nconst dragAction = {\n key: 'drag',\n engine: DragEngine,\n resolver: dragConfigResolver\n};\nconst hoverAction = {\n key: 'hover',\n engine: HoverEngine,\n resolver: hoverConfigResolver\n};\nconst moveAction = {\n key: 'move',\n engine: MoveEngine,\n resolver: moveConfigResolver\n};\nconst pinchAction = {\n key: 'pinch',\n engine: PinchEngine,\n resolver: pinchConfigResolver\n};\nconst scrollAction = {\n key: 'scroll',\n engine: ScrollEngine,\n resolver: scrollConfigResolver\n};\nconst wheelAction = {\n key: 'wheel',\n engine: WheelEngine,\n resolver: wheelConfigResolver\n};\n\nexport { ConfigResolverMap as C, EngineMap as E, SUPPORT as S, _objectSpread2 as _, _defineProperty as a, touchIds as b, chain as c, toHandlerProp as d, dragAction as e, pinchAction as f, hoverAction as h, isTouch as i, moveAction as m, parseProp as p, registerAction as r, scrollAction as s, toDomEventType as t, wheelAction as w };\n","import { S as SUPPORT, C as ConfigResolverMap, _ as _objectSpread2, a as _defineProperty, t as toDomEventType, i as isTouch, b as touchIds, E as EngineMap, c as chain, p as parseProp, d as toHandlerProp } from './actions-fe213e88.esm.js';\nimport './maths-0ab39ae9.esm.js';\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\n\nconst sharedConfigResolver = {\n target(value) {\n if (value) {\n return () => 'current' in value ? value.current : value;\n }\n return undefined;\n },\n enabled(value = true) {\n return value;\n },\n window(value = SUPPORT.isBrowser ? window : undefined) {\n return value;\n },\n eventOptions({\n passive = true,\n capture = false\n } = {}) {\n return {\n passive,\n capture\n };\n },\n transform(value) {\n return value;\n }\n};\n\nconst _excluded = [\"target\", \"eventOptions\", \"window\", \"enabled\", \"transform\"];\nfunction resolveWith(config = {}, resolvers) {\n const result = {};\n for (const [key, resolver] of Object.entries(resolvers)) {\n switch (typeof resolver) {\n case 'function':\n if (process.env.NODE_ENV === 'development') {\n const r = resolver.call(result, config[key], key, config);\n if (!Number.isNaN(r)) result[key] = r;\n } else {\n result[key] = resolver.call(result, config[key], key, config);\n }\n break;\n case 'object':\n result[key] = resolveWith(config[key], resolver);\n break;\n case 'boolean':\n if (resolver) result[key] = config[key];\n break;\n }\n }\n return result;\n}\nfunction parse(newConfig, gestureKey, _config = {}) {\n const _ref = newConfig,\n {\n target,\n eventOptions,\n window,\n enabled,\n transform\n } = _ref,\n rest = _objectWithoutProperties(_ref, _excluded);\n _config.shared = resolveWith({\n target,\n eventOptions,\n window,\n enabled,\n transform\n }, sharedConfigResolver);\n if (gestureKey) {\n const resolver = ConfigResolverMap.get(gestureKey);\n _config[gestureKey] = resolveWith(_objectSpread2({\n shared: _config.shared\n }, rest), resolver);\n } else {\n for (const key in rest) {\n const resolver = ConfigResolverMap.get(key);\n if (resolver) {\n _config[key] = resolveWith(_objectSpread2({\n shared: _config.shared\n }, rest[key]), resolver);\n } else if (process.env.NODE_ENV === 'development') {\n if (!['drag', 'pinch', 'scroll', 'wheel', 'move', 'hover'].includes(key)) {\n if (key === 'domTarget') {\n throw Error(`[@use-gesture]: \\`domTarget\\` option has been renamed to \\`target\\`.`);\n }\n console.warn(`[@use-gesture]: Unknown config key \\`${key}\\` was used. Please read the documentation for further information.`);\n }\n }\n }\n }\n return _config;\n}\n\nclass EventStore {\n constructor(ctrl, gestureKey) {\n _defineProperty(this, \"_listeners\", new Set());\n this._ctrl = ctrl;\n this._gestureKey = gestureKey;\n }\n add(element, device, action, handler, options) {\n const listeners = this._listeners;\n const type = toDomEventType(device, action);\n const _options = this._gestureKey ? this._ctrl.config[this._gestureKey].eventOptions : {};\n const eventOptions = _objectSpread2(_objectSpread2({}, _options), options);\n element.addEventListener(type, handler, eventOptions);\n const remove = () => {\n element.removeEventListener(type, handler, eventOptions);\n listeners.delete(remove);\n };\n listeners.add(remove);\n return remove;\n }\n clean() {\n this._listeners.forEach(remove => remove());\n this._listeners.clear();\n }\n}\n\nclass TimeoutStore {\n constructor() {\n _defineProperty(this, \"_timeouts\", new Map());\n }\n add(key, callback, ms = 140, ...args) {\n this.remove(key);\n this._timeouts.set(key, window.setTimeout(callback, ms, ...args));\n }\n remove(key) {\n const timeout = this._timeouts.get(key);\n if (timeout) window.clearTimeout(timeout);\n }\n clean() {\n this._timeouts.forEach(timeout => void window.clearTimeout(timeout));\n this._timeouts.clear();\n }\n}\n\nclass Controller {\n constructor(handlers) {\n _defineProperty(this, \"gestures\", new Set());\n _defineProperty(this, \"_targetEventStore\", new EventStore(this));\n _defineProperty(this, \"gestureEventStores\", {});\n _defineProperty(this, \"gestureTimeoutStores\", {});\n _defineProperty(this, \"handlers\", {});\n _defineProperty(this, \"config\", {});\n _defineProperty(this, \"pointerIds\", new Set());\n _defineProperty(this, \"touchIds\", new Set());\n _defineProperty(this, \"state\", {\n shared: {\n shiftKey: false,\n metaKey: false,\n ctrlKey: false,\n altKey: false\n }\n });\n resolveGestures(this, handlers);\n }\n setEventIds(event) {\n if (isTouch(event)) {\n this.touchIds = new Set(touchIds(event));\n return this.touchIds;\n } else if ('pointerId' in event) {\n if (event.type === 'pointerup' || event.type === 'pointercancel') this.pointerIds.delete(event.pointerId);else if (event.type === 'pointerdown') this.pointerIds.add(event.pointerId);\n return this.pointerIds;\n }\n }\n applyHandlers(handlers, nativeHandlers) {\n this.handlers = handlers;\n this.nativeHandlers = nativeHandlers;\n }\n applyConfig(config, gestureKey) {\n this.config = parse(config, gestureKey, this.config);\n }\n clean() {\n this._targetEventStore.clean();\n for (const key of this.gestures) {\n this.gestureEventStores[key].clean();\n this.gestureTimeoutStores[key].clean();\n }\n }\n effect() {\n if (this.config.shared.target) this.bind();\n return () => this._targetEventStore.clean();\n }\n bind(...args) {\n const sharedConfig = this.config.shared;\n const props = {};\n let target;\n if (sharedConfig.target) {\n target = sharedConfig.target();\n if (!target) return;\n }\n if (sharedConfig.enabled) {\n for (const gestureKey of this.gestures) {\n const gestureConfig = this.config[gestureKey];\n const bindFunction = bindToProps(props, gestureConfig.eventOptions, !!target);\n if (gestureConfig.enabled) {\n const Engine = EngineMap.get(gestureKey);\n new Engine(this, args, gestureKey).bind(bindFunction);\n }\n }\n const nativeBindFunction = bindToProps(props, sharedConfig.eventOptions, !!target);\n for (const eventKey in this.nativeHandlers) {\n nativeBindFunction(eventKey, '', event => this.nativeHandlers[eventKey](_objectSpread2(_objectSpread2({}, this.state.shared), {}, {\n event,\n args\n })), undefined, true);\n }\n }\n for (const handlerProp in props) {\n props[handlerProp] = chain(...props[handlerProp]);\n }\n if (!target) return props;\n for (const handlerProp in props) {\n const {\n device,\n capture,\n passive\n } = parseProp(handlerProp);\n this._targetEventStore.add(target, device, '', props[handlerProp], {\n capture,\n passive\n });\n }\n }\n}\nfunction setupGesture(ctrl, gestureKey) {\n ctrl.gestures.add(gestureKey);\n ctrl.gestureEventStores[gestureKey] = new EventStore(ctrl, gestureKey);\n ctrl.gestureTimeoutStores[gestureKey] = new TimeoutStore();\n}\nfunction resolveGestures(ctrl, internalHandlers) {\n if (internalHandlers.drag) setupGesture(ctrl, 'drag');\n if (internalHandlers.wheel) setupGesture(ctrl, 'wheel');\n if (internalHandlers.scroll) setupGesture(ctrl, 'scroll');\n if (internalHandlers.move) setupGesture(ctrl, 'move');\n if (internalHandlers.pinch) setupGesture(ctrl, 'pinch');\n if (internalHandlers.hover) setupGesture(ctrl, 'hover');\n}\nconst bindToProps = (props, eventOptions, withPassiveOption) => (device, action, handler, options = {}, isNative = false) => {\n var _options$capture, _options$passive;\n const capture = (_options$capture = options.capture) !== null && _options$capture !== void 0 ? _options$capture : eventOptions.capture;\n const passive = (_options$passive = options.passive) !== null && _options$passive !== void 0 ? _options$passive : eventOptions.passive;\n let handlerProp = isNative ? device : toHandlerProp(device, action, capture);\n if (withPassiveOption && passive) handlerProp += 'Passive';\n props[handlerProp] = props[handlerProp] || [];\n props[handlerProp].push(handler);\n};\n\nconst RE_NOT_NATIVE = /^on(Drag|Wheel|Scroll|Move|Pinch|Hover)/;\nfunction sortHandlers(_handlers) {\n const native = {};\n const handlers = {};\n const actions = new Set();\n for (let key in _handlers) {\n if (RE_NOT_NATIVE.test(key)) {\n actions.add(RegExp.lastMatch);\n handlers[key] = _handlers[key];\n } else {\n native[key] = _handlers[key];\n }\n }\n return [handlers, native, actions];\n}\nfunction registerGesture(actions, handlers, handlerKey, key, internalHandlers, config) {\n if (!actions.has(handlerKey)) return;\n if (!EngineMap.has(key)) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(`[@use-gesture]: You've created a custom handler that that uses the \\`${key}\\` gesture but isn't properly configured.\\n\\nPlease add \\`${key}Action\\` when creating your handler.`);\n }\n return;\n }\n const startKey = handlerKey + 'Start';\n const endKey = handlerKey + 'End';\n const fn = state => {\n let memo = undefined;\n if (state.first && startKey in handlers) handlers[startKey](state);\n if (handlerKey in handlers) memo = handlers[handlerKey](state);\n if (state.last && endKey in handlers) handlers[endKey](state);\n return memo;\n };\n internalHandlers[key] = fn;\n config[key] = config[key] || {};\n}\nfunction parseMergedHandlers(mergedHandlers, mergedConfig) {\n const [handlers, nativeHandlers, actions] = sortHandlers(mergedHandlers);\n const internalHandlers = {};\n registerGesture(actions, handlers, 'onDrag', 'drag', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onWheel', 'wheel', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onScroll', 'scroll', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onPinch', 'pinch', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onMove', 'move', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onHover', 'hover', internalHandlers, mergedConfig);\n return {\n handlers: internalHandlers,\n config: mergedConfig,\n nativeHandlers\n };\n}\n\nexport { Controller, parseMergedHandlers };\n","import { registerAction, dragAction, pinchAction, wheelAction, scrollAction, moveAction, hoverAction } from '@use-gesture/core/actions';\nexport * from '@use-gesture/core/actions';\nimport React from 'react';\nimport { Controller, parseMergedHandlers } from '@use-gesture/core';\nexport * from '@use-gesture/core/utils';\nexport * from '@use-gesture/core/types';\n\nfunction useRecognizers(handlers, config = {}, gestureKey, nativeHandlers) {\n const ctrl = React.useMemo(() => new Controller(handlers), []);\n ctrl.applyHandlers(handlers, nativeHandlers);\n ctrl.applyConfig(config, gestureKey);\n React.useEffect(ctrl.effect.bind(ctrl));\n React.useEffect(() => {\n return ctrl.clean.bind(ctrl);\n }, []);\n if (config.target === undefined) {\n return ctrl.bind.bind(ctrl);\n }\n return undefined;\n}\n\nfunction useDrag(handler, config) {\n registerAction(dragAction);\n return useRecognizers({\n drag: handler\n }, config || {}, 'drag');\n}\n\nfunction usePinch(handler, config) {\n registerAction(pinchAction);\n return useRecognizers({\n pinch: handler\n }, config || {}, 'pinch');\n}\n\nfunction useWheel(handler, config) {\n registerAction(wheelAction);\n return useRecognizers({\n wheel: handler\n }, config || {}, 'wheel');\n}\n\nfunction useScroll(handler, config) {\n registerAction(scrollAction);\n return useRecognizers({\n scroll: handler\n }, config || {}, 'scroll');\n}\n\nfunction useMove(handler, config) {\n registerAction(moveAction);\n return useRecognizers({\n move: handler\n }, config || {}, 'move');\n}\n\nfunction useHover(handler, config) {\n registerAction(hoverAction);\n return useRecognizers({\n hover: handler\n }, config || {}, 'hover');\n}\n\nfunction createUseGesture(actions) {\n actions.forEach(registerAction);\n return function useGesture(_handlers, _config) {\n const {\n handlers,\n nativeHandlers,\n config\n } = parseMergedHandlers(_handlers, _config || {});\n return useRecognizers(handlers, config, undefined, nativeHandlers);\n };\n}\n\nfunction useGesture(handlers, config) {\n const hook = createUseGesture([dragAction, pinchAction, scrollAction, wheelAction, moveAction, hoverAction]);\n return hook(handlers, config || {});\n}\n\nexport { createUseGesture, useDrag, useGesture, useHover, useMove, usePinch, useScroll, useWheel };\n","import styled from \"styled-components\";\n\nexport const Wrapper = styled.div`\n\twidth: 100%;\n\theight: 100%;\n\toverflow: hidden;\n\ttouch-action: none;\n`;\n\nexport const Canvas = styled.canvas<{ canDraw: boolean }>`\n\t${({ canDraw }) => canDraw && \"cursor: crosshair;\"};\n`;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { EraserBrush } from \"@erase2d/fabric\";\nimport { useDrag, usePinch } from \"@use-gesture/react\";\nimport { Canvas as FabricCanvas, FabricImage, FabricObject, Path, PencilBrush, Point, Rect, TEvent } from \"fabric\";\nimport { ForwardedRef, forwardRef, useEffect, useImperativeHandle, useRef } from \"react\";\nimport { FileHelper, TestHelper } from \"../../../../../utils\";\nimport { Canvas, Wrapper } from \"./image-editor.styles\";\nimport { IImageEditorProps, IImageEditorRef } from \"./types\";\nimport { useWindowHelper } from \"../../../../../utils/hooks\";\n\nconst MAX_ZOOM = 5;\nconst PENCIL_BRUSH_SIZE = 10;\n\nexport const ImageEditor = forwardRef((props: IImageEditorProps, ref: ForwardedRef<IImageEditorRef>) => {\n\t// =============================================================================\n\t// CONST, STATE, REFS\n\t// =============================================================================\n\tconst { maxSizeInKb, baseImageDataURL, drawing, color, erase } = props;\n\tconst wrapperRef = useRef<HTMLDivElement>(null);\n\tconst canvasRef = useRef<HTMLCanvasElement>(null);\n\tconst fabricCanvas = useRef<FabricCanvas>();\n\tconst fabricBackground = useRef<FabricImage>();\n\tconst pencilBrush = useRef<PencilBrush>();\n\tconst eraserBrush = useRef<EraserBrush>();\n\tconst gestures = useRef({\n\t\tpinchStartAmount: 0,\n\t});\n\tconst isMobileView = useWindowHelper();\n\n\tuseImperativeHandle(ref, () => ({\n\t\tclearDrawing,\n\t\texport: () => {\n\t\t\tif (fabricCanvas.current) {\n\t\t\t\tresetZoomAndPosition();\n\t\t\t\treturn {\n\t\t\t\t\tdrawing: fabricCanvas.current\n\t\t\t\t\t\t.getObjects()\n\t\t\t\t\t\t.map((obj) => (obj.type !== \"image\" ? obj : undefined))\n\t\t\t\t\t\t.filter((obj) => obj) as FabricObject[],\n\t\t\t\t\tdataURL: toDataURLWithLimit(),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tdrawing: [],\n\t\t\t\tdataURL: \"\",\n\t\t\t};\n\t\t},\n\t}));\n\n\t// recursively compress image until it fits limit\n\tconst toDataURLWithLimit = (limit = maxSizeInKb, quality = 1): string => {\n\t\tif (fabricBackground.current) {\n\t\t\tconst dataURL =\n\t\t\t\tfabricCanvas.current?.toDataURL({\n\t\t\t\t\tformat: \"jpeg\",\n\t\t\t\t\tmultiplier: (fabricBackground.current.width || 0) / fabricBackground.current.getScaledWidth(),\n\t\t\t\t\tquality,\n\t\t\t\t\ttop: fabricBackground.current.top,\n\t\t\t\t\tleft: fabricBackground.current.left,\n\t\t\t\t\theight: fabricBackground.current.getScaledHeight(),\n\t\t\t\t\twidth: fabricBackground.current.getScaledWidth(),\n\t\t\t\t}) || \"\";\n\n\t\t\tconst reducedQuality = quality - 0.05;\n\t\t\tif (reducedQuality < 0) return dataURL;\n\n\t\t\tconst filesizeInB = FileHelper.getFilesizeFromBase64(dataURL);\n\t\t\tconst maxSizeInB = limit * 1024;\n\t\t\tif (maxSizeInB && filesizeInB > maxSizeInB) return toDataURLWithLimit(limit, reducedQuality);\n\n\t\t\treturn dataURL;\n\t\t}\n\t\treturn \"\";\n\t};\n\n\t// initialise fabric and brushes\n\tuseEffect(() => {\n\t\tlet canvas: FabricCanvas;\n\t\tif (wrapperRef.current && canvasRef.current) {\n\t\t\tcanvasRef.current.width = wrapperRef.current?.clientWidth;\n\t\t\tcanvasRef.current.height = wrapperRef.current?.clientHeight;\n\n\t\t\tcanvas = new FabricCanvas(TestHelper.generateId(\"imageEditor\"));\n\t\t\tfabricCanvas.current = canvas;\n\t\t\tfabricCanvas.current.selection = false;\n\t\t\tpencilBrush.current = new PencilBrush(fabricCanvas.current);\n\t\t\teraserBrush.current = new EraserBrush(fabricCanvas.current);\n\t\t\tfabricCanvas.current.freeDrawingBrush = pencilBrush.current;\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (canvas) {\n\t\t\t\tcanvas.dispose();\n\t\t\t}\n\t\t};\n\t}, []);\n\n\t// when screen resizes\n\tuseEffect(() => {\n\t\tconst handleResize = async () => {\n\t\t\tif (wrapperRef.current && canvasRef.current && fabricCanvas.current && fabricBackground.current) {\n\t\t\t\t// slight delay because fabricjs cannot redraw in time during orientation change\n\t\t\t\tawait new Promise((resolve) => setTimeout(resolve));\n\n\t\t\t\tresetZoomAndPosition();\n\n\t\t\t\tconst canvasWidth = wrapperRef.current.clientWidth;\n\t\t\t\tconst canvasHeight = wrapperRef.current.clientHeight;\n\t\t\t\tconst oldBackgroundLeft = fabricBackground.current.left || 0;\n\t\t\t\tconst oldBackgroundTop = fabricBackground.current.top || 0;\n\n\t\t\t\tfabricCanvas.current.setWidth(canvasWidth);\n\t\t\t\tfabricCanvas.current.setHeight(canvasHeight);\n\n\t\t\t\tconst scale = Math.min(\n\t\t\t\t\tcanvasWidth / fabricBackground.current.getScaledWidth(),\n\t\t\t\t\tcanvasHeight / fabricBackground.current.getScaledHeight()\n\t\t\t\t);\n\n\t\t\t\tfitImageToCanvas();\n\n\t\t\t\tconst canvasObjects = fabricCanvas.current.getObjects();\n\t\t\t\tcanvasObjects.forEach((obj) => {\n\t\t\t\t\t// only images have cacheKey\n\t\t\t\t\tif (!(obj as any).cacheKey) {\n\t\t\t\t\t\tobj.scaleX = (obj.scaleX || 1) * scale;\n\t\t\t\t\t\tobj.scaleY = (obj.scaleY || 1) * scale;\n\t\t\t\t\t\tobj.left =\n\t\t\t\t\t\t\t(fabricBackground.current?.left || 0) + ((obj.left || 0) - oldBackgroundLeft) * scale;\n\t\t\t\t\t\tobj.top = (fabricBackground.current?.top || 0) + ((obj.top || 0) - oldBackgroundTop) * scale;\n\t\t\t\t\t}\n\t\t\t\t\tobj.setCoords();\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t\twindow.addEventListener(\"resize\", handleResize);\n\t\tscreen.orientation?.addEventListener(\"change\", handleResize);\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"resize\", handleResize);\n\t\t\tscreen.orientation?.removeEventListener(\"change\", handleResize);\n\t\t};\n\t}, []);\n\n\t// reset back to default view\n\tconst resetZoomAndPosition = () => {\n\t\tif (fabricCanvas.current) {\n\t\t\tfabricCanvas.current.setZoom(1);\n\n\t\t\tconst vpt = fabricCanvas.current.viewportTransform || [0, 0, 0, 0, 0, 0];\n\t\t\tvpt[4] = 0;\n\t\t\tvpt[5] = 0;\n\n\t\t\tfabricCanvas.current.requestRenderAll();\n\t\t}\n\t};\n\n\t// =============================================================================\n\t// PHOTO AND DRAWINGS\n\t// =============================================================================\n\tconst clearDrawing = () => {\n\t\tif (fabricCanvas.current) {\n\t\t\tfabricCanvas.current.getObjects().forEach((obj) => {\n\t\t\t\tif (!obj.isType(\"image\")) fabricCanvas.current?.remove(obj);\n\t\t\t});\n\t\t}\n\t};\n\n\tconst fitImageToCanvas = () => {\n\t\tif (fabricCanvas.current && fabricBackground.current) {\n\t\t\tconst img = fabricBackground.current;\n\t\t\tconst canvasRatio = fabricCanvas.current.getWidth() / fabricCanvas.current.getHeight();\n\t\t\tconst imgRatio = (img.width || 1) / (img.height || 1);\n\t\t\tif (imgRatio <= canvasRatio) {\n\t\t\t\timg.scaleToHeight(fabricCanvas.current?.getHeight() || 1);\n\t\t\t\timg.left = (fabricCanvas.current.getWidth() - img.getScaledWidth()) / 2;\n\t\t\t\timg.top = 0;\n\t\t\t} else {\n\t\t\t\timg.scaleToWidth(fabricCanvas.current?.getWidth() || 1);\n\t\t\t\timg.top = (fabricCanvas.current.getHeight() - img.getScaledHeight()) / 2;\n\t\t\t\timg.left = 0;\n\t\t\t}\n\n\t\t\t// extra logic to zoom in to fit image to canvas width in mobile landscape orientation\n\n\t\t\tif (isMobileView() && canvasRatio > 1) {\n\t\t\t\tconst intendedZoom = Math.min((fabricCanvas.current.width || 0) / img.getScaledWidth() + 0.1, MAX_ZOOM);\n\t\t\t\tfabricCanvas.current.zoomToPoint(\n\t\t\t\t\tnew Point((fabricCanvas.current.width || 0) / 2, (fabricCanvas.current.height || 0) / 2),\n\t\t\t\t\tintendedZoom\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tfabricCanvas.current.clipPath = new Rect({\n\t\t\t\tleft: img.left,\n\t\t\t\ttop: img.top,\n\t\t\t\twidth: img.getScaledWidth(),\n\t\t\t\theight: img.getScaledHeight(),\n\t\t\t});\n\n\t\t\tif (pencilBrush.current && eraserBrush.current) {\n\t\t\t\tpencilBrush.current.width = PENCIL_BRUSH_SIZE * (img.scaleX || 1);\n\t\t\t\teraserBrush.current.width = PENCIL_BRUSH_SIZE * (img.scaleX || 1) * 2;\n\t\t\t}\n\n\t\t\timg.setCoords(); // Ensures the internal coordinate system matches the visual state after scaling\n\t\t\tfabricCanvas.current.requestRenderAll();\n\t\t}\n\t};\n\n\t// update image\n\tuseEffect(() => {\n\t\tconst handleUpdateImage = async () => {\n\t\t\tif (baseImageDataURL) {\n\t\t\t\tconst img = await FabricImage.fromURL(baseImageDataURL);\n\t\t\t\tif (fabricCanvas.current) {\n\t\t\t\t\tif (fabricBackground.current) {\n\t\t\t\t\t\tfabricCanvas.current.remove(fabricBackground.current);\n\t\t\t\t\t}\n\t\t\t\t\timg.selectable = false;\n\t\t\t\t\timg.hoverCursor = \"default\";\n\t\t\t\t\timg.erasable = false;\n\t\t\t\t\tfabricCanvas.current.insertAt(0, img); // Insert the image as the lowest object so we can draw on top of it\n\t\t\t\t\tfabricBackground.current = img;\n\t\t\t\t\tresetZoomAndPosition();\n\t\t\t\t\tfitImageToCanvas();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\thandleUpdateImage();\n\t}, [baseImageDataURL]);\n\n\t// update drawing\n\tuseEffect(() => {\n\t\tif (fabricCanvas.current) {\n\t\t\tfabricCanvas.current.getObjects().forEach((obj) => {\n\t\t\t\tif (obj.type !== \"image\") {\n\t\t\t\t\tfabricCanvas.current.remove(obj);\n\t\t\t\t}\n\t\t\t});\n\t\t\tdrawing?.forEach((d: Path) => {\n\t\t\t\tfabricCanvas.current.add(d);\n\t\t\t});\n\t\t\tfabricCanvas.current.requestRenderAll();\n\t\t}\n\t}, [drawing]);\n\n\t// =============================================================================\n\t// DRAWING MODES\n\t// =============================================================================\n\t// toggle drawing mode\n\t// fires when user clicks draw or save\n\tuseEffect(() => {\n\t\tif (fabricCanvas.current) {\n\t\t\tif (color || erase) {\n\t\t\t\tfabricCanvas.current.isDrawingMode = true;\n\t\t\t} else if (fabricCanvas.current.isDrawingMode) {\n\t\t\t\tfabricCanvas.current.isDrawingMode = false;\n\t\t\t\tresetZoomAndPosition();\n\t\t\t}\n\t\t}\n\t}, [color, erase]);\n\n\tuseEffect(() => {\n\t\tif (pencilBrush.current && color) {\n\t\t\tpencilBrush.current.color = color;\n\t\t}\n\t}, [color]);\n\n\tuseEffect(() => {\n\t\tif (fabricCanvas.current) {\n\t\t\tif (erase) {\n\t\t\t\tfabricCanvas.current.freeDrawingBrush = eraserBrush.current;\n\t\t\t} else if (pencilBrush.current) {\n\t\t\t\tfabricCanvas.current.freeDrawingBrush = pencilBrush.current;\n\t\t\t}\n\t\t}\n\t}, [erase]);\n\n\t// =============================================================================\n\t// GESTURES\n\t// =============================================================================\n\tconst handleMouseDown = (e: TEvent) => {\n\t\tif (typeof TouchEvent !== \"undefined\" && e.e instanceof TouchEvent && e.e.touches.length === 2) {\n\t\t\tif (typeof TouchEvent !== \"undefined\" && fabricCanvas.current && fabricCanvas.current.isDrawingMode) {\n\t\t\t\tfabricCanvas.current.isDrawingMode = false;\n\n\t\t\t\t// prevent drawing when gesturing\n\t\t\t\t// clear accidental drawings while gesturing\n\t\t\t\ttry {\n\t\t\t\t\t(fabricCanvas.current.freeDrawingBrush as any).onMouseUp({ e: {} });\n\t\t\t\t} catch (e) {}\n\t\t\t\tconst canvasObjects = fabricCanvas.current.getObjects();\n\t\t\t\tif (canvasObjects.length > 1) {\n\t\t\t\t\tfabricCanvas.current.remove(canvasObjects[canvasObjects.length - 1]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleMouseUp = (e: TEvent) => {\n\t\tif (typeof TouchEvent !== \"undefined\" && e.e instanceof TouchEvent && e.e.touches.length === 0) {\n\t\t\tgestures.current.pinchStartAmount = 0;\n\t\t\tif (fabricCanvas.current && (color || erase)) {\n\t\t\t\tfabricCanvas.current.isDrawingMode = true;\n\t\t\t}\n\t\t}\n\n\t\tfabricCanvas.current?.getObjects().forEach((obj) => {\n\t\t\tobj.selectable = false;\n\t\t\tobj.hoverCursor = \"default\";\n\t\t});\n\t};\n\n\tconst handlePencilErasable = (e: any) => {\n\t\tconst path = e.path as Path;\n\t\tpath.erasable = true; // Important for @erase2d/fabric\n\t};\n\n\tuseEffect(() => {\n\t\tif (fabricCanvas.current) {\n\t\t\tfabricCanvas.current.on(\"mouse:down\", handleMouseDown);\n\t\t\tfabricCanvas.current.on(\"mouse:up\", handleMouseUp);\n\t\t\tfabricCanvas.current.on(\"path:created\", handlePencilErasable);\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (fabricCanvas.current) {\n\t\t\t\tfabricCanvas.current.off(\"mouse:down\", handleMouseDown);\n\t\t\t\tfabricCanvas.current.off(\"mouse:up\", handleMouseUp);\n\t\t\t\tfabricCanvas.current.on(\"path:created\", handlePencilErasable);\n\t\t\t}\n\t\t};\n\t}, [fabricCanvas.current, color, erase]);\n\n\tusePinch(\n\t\t({ offset, origin, touches }) => {\n\t\t\tif (color || erase) {\n\t\t\t\tif (fabricCanvas.current && touches === 2) {\n\t\t\t\t\tif (gestures.current.pinchStartAmount === 0) {\n\t\t\t\t\t\tgestures.current.pinchStartAmount = fabricCanvas.current.getZoom();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst scale = offset[0];\n\t\t\t\t\t\tlet zoom = gestures.current.pinchStartAmount * scale;\n\t\t\t\t\t\tif (zoom < 1) zoom = 1;\n\t\t\t\t\t\telse if (zoom > MAX_ZOOM) zoom = MAX_ZOOM;\n\t\t\t\t\t\tconst [ox, oy] = origin;\n\t\t\t\t\t\tfabricCanvas.current.zoomToPoint(new Point(ox, oy), zoom);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{ target: wrapperRef, pointer: { touch: true } }\n\t);\n\n\tuseDrag(\n\t\t({ delta: [dx, dy], touches }) => {\n\t\t\tif (color || erase) {\n\t\t\t\tif (fabricCanvas.current && touches === 2) {\n\t\t\t\t\tfabricCanvas.current.relativePan(new Point(dx, dy));\n\n\t\t\t\t\tconst vpt = fabricCanvas.current.viewportTransform || [];\n\t\t\t\t\tconst zoom = fabricCanvas.current.getZoom();\n\t\t\t\t\tif (vpt[4] >= 0) {\n\t\t\t\t\t\tvpt[4] = 0;\n\t\t\t\t\t} else if (vpt[4] < -fabricCanvas.current.getWidth() * (zoom - 1)) {\n\t\t\t\t\t\tvpt[4] = -fabricCanvas.current.getWidth() * (zoom - 1);\n\t\t\t\t\t}\n\t\t\t\t\tif (vpt[5] >= 0) {\n\t\t\t\t\t\tvpt[5] = 0;\n\t\t\t\t\t} else if (vpt[5] < -fabricCanvas.current.getHeight() * (zoom - 1)) {\n\t\t\t\t\t\tvpt[5] = -fabricCanvas.current.getHeight() * (zoom - 1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{ target: wrapperRef, pointer: { touch: true } }\n\t);\n\n\treturn (\n\t\t<Wrapper ref={wrapperRef}>\n\t\t\t<Canvas id={TestHelper.generateId(\"imageEditor\")} ref={canvasRef} canDraw={!!(color || erase)} />\n\t\t</Wrapper>\n\t);\n});\n"],"names":["_callSuper","t","o","e","_getPrototypeOf","self","call","TypeError","_assertThisInitialized","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","ownKeys","r","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread2","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_regeneratorRuntime","n","hasOwnProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","this","d","getPrototypeOf","v","values","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","delegateYield","_toPropertyKey","toPrimitive","String","Number","_toPrimitive","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","args","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","obj","_inherits","subClass","superClass","_setPrototypeOf","bind","ReferenceError","_get","get","property","receiver","base","object","_superPropBase","desc","_slicedToArray","arr","Array","isArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_toConsumableArray","_arrayLikeToArray","_arrayWithoutHoles","iter","from","_iterableToArray","_nonIterableSpread","minLen","toString","test","len","arr2","indexOf","propertyIsEnumerable","freeze","raw","window","devicePixelRatio","super","configure","assign","addFonts","fontPaths","removeFonts","clearFonts","restoreDefaults","reduce","console","concat","testPrecision","createShader","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","queryWebGL","getContext","maxTextureSize","getParameter","MAX_TEXTURE_SIZE","GLPrecision","find","getExtension","loseContext","isSupported","document","isTouchSupported","navigator","maxTouchPoints","WebGLProbe","dispose","copyPasteData","m","Math","max","_","getFontCache","fontFamily","fontStyle","fontWeight","toLowerCase","charWidthsCache","clearFontCache","limitDimsByArea","perfLimitSizeTotal","sqrt","floor","x","C","b","PI","S","w","T","O","k","D","M","P","E","A","j","F","L","R","I","B","X","Y","W","V","z","G","H","N","U","q","K","J","Q","Z","$","tt","Map","has","getClass","setClass","set","getSVGClass","setSVGClass","et","remove","splice","cancelAll","abort","cancelByCanvas","canvas","cancelByTarget","st","on","__eventListeners","entries","off","once","_removeEventListener","fire","it","rt","abs","cos","nt","sign","sin","ot","add","addEquals","scalarAdd","scalarAddEquals","subtract","subtractEquals","scalarSubtract","scalarSubtractEquals","multiply","scalarMultiply","scalarMultiplyEquals","divide","scalarDivide","scalarDivideEquals","eq","lt","lte","gt","gte","lerp","min","distanceFrom","midPointFrom","setXY","setX","setY","setFromPoint","swap","clone","rotate","at","transform","ht","_objects","ct","_onObjectAdded","_onObjectRemoved","_onStackOrderChanged","insertAt","forEachObject","getObjects","isType","item","isEmpty","size","contains","includes","some","complexity","sendObjectToBack","unshift","bringObjectToFront","sendObjectBackwards","findNewLowerIndex","bringObjectForward","findNewUpperIndex","moveObjectTo","isOverlapping","collectObjects","left","top","width","height","includeIntersecting","selectable","visible","intersectsWithRect","isContainedWithinRect","containsPoint","_setOptions","_setObject","_set","toggle","ut","requestAnimationFrame","dt","cancelAnimationFrame","ft","pt","createElement","mt","vt","yt","toDataURL","_t","toBlob","xt","Ct","bt","every","St","wt","Tt","Ot","reduceRight","kt","atan2","Dt","pow","angle","scaleX","scaleY","skewX","skewY","translateX","translateY","Mt","Pt","Et","At","tan","jt","Ft","Lt","flipX","flipY","Rt","It","signal","crossOrigin","aborted","src","addEventListener","onload","onerror","removeEventListener","Bt","reviver","all","map","fromObject","finally","Xt","Yt","Wt","Vt","parseFloat","toFixed","zt","NUM_FRACTION_DIGITS","join","Gt","toLive","Ht","toObject","Nt","offsetX","Ut","qt","Kt","documentElement","body","scrollLeft","scrollTop","parentNode","host","nodeType","style","position","ownerDocument","Jt","defaultView","Qt","setAttribute","scale","Zt","$t","onselectstart","userSelect","te","createLowerCanvas","lower","el","ctx","getElementById","hasAttribute","_originalCanvasStyle","cssText","classList","cleanupDOM","removeAttribute","setDimensions","setCSSDimensions","calcOffset","getComputedStyle","parseInt","borderLeftWidth","borderTopWidth","paddingLeft","paddingTop","getBoundingClientRect","clientLeft","clientTop","ee","backgroundVpt","backgroundColor","overlayVpt","overlayColor","includeDefaultValues","svgViewportTransformation","renderOnAddRemove","skipOffscreen","enableRetinaScaling","imageSmoothingEnabled","controlsAboveOverlay","allowTouchScrolling","viewportTransform","se","lowerCanvasEl","elements","contextContainer","getDefaults","ownDefaults","initElements","_setDimensionsImpl","skipControlsDrawing","calcViewportBoundaries","requestRenderAll","setCoords","getRetinaScaling","_offset","getWidth","getHeight","setWidth","setHeight","cssOnly","backstoreOnly","hasLostContext","getZoom","setViewportTransform","zoomToPoint","setZoom","absolutePan","relativePan","getElement","clearContext","clearRect","clear","backgroundImage","overlayImage","renderAll","cancelRequestedRender","destroyed","renderCanvas","renderAndReset","nextRenderHandle","disposed","vptCoords","tl","tr","bl","br","drawControls","clipPath","patternQuality","_renderBackground","save","_renderObjects","restore","shouldCache","_transformDone","renderCache","forClipping","drawClipPathOnCanvas","_renderOverlay","__cleanupTask","globalCompositeOperation","zoomX","zoomY","drawImage","_cacheCanvas","cacheTranslationX","cacheTranslationY","render","_renderBackgroundOrOverlay","beginPath","moveTo","lineTo","closePath","fillStyle","offsetY","gradientTransform","patternTransform","fill","getCenter","getCenterPoint","centerObjectH","_centerObject","centerObjectV","centerObject","viewportCenterObject","getVpCenter","viewportCenterObjectH","viewportCenterObjectV","toDatalessJSON","toDatalessObject","_toObjectMethod","toJSON","excludeFromExport","_toObject","version","objects","__serializeBgOverlay","background","overlay","toSVG","_setSVGPreamble","_setSVGHeader","clipPathId","_setSVGBgOverlayColor","_setSVGBgOverlayImage","_setSVGObjects","suppressPreamble","encoding","viewBox","createSVGFontFacesMarkup","createSVGRefElementsMarkup","createSVGClipPathMarkup","toClipPathSVG","additionalTransform","_renderText","styles","_setSVGObject","repeat","source","id","loadFromJSON","JSON","parse","cloneWithoutData","format","quality","multiplier","toCanvasElement","destroy","kill","ie","re","changedTouches","clientX","clientY","ne","pointerType","oe","preventDefault","stopPropagation","ae","he","ce","le","calcOwnMatrix","setPositionByOrigin","ue","de","ge","fe","pe","me","ve","ye","_e","center","bottom","right","xe","Ce","be","originX","originY","Se","we","Te","pointer","Oe","getTotalAngle","round","ke","corner","controls","padding","getRelativeCenterPoint","translateToGivenOrigin","De","Me","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgrey","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","Pe","Ee","Ae","endsWith","je","toUpperCase","padStart","Fe","Le","setSource","_source","_tryParsingColor","sourceFromHex","sourceFromRgb","sourceFromHsl","isUnrecognised","getSource","toRgb","toRgba","toHsl","toHsla","toHex","toHexa","getAlpha","setAlpha","toGrayscale","toBlackWhite","overlayWith","fromRgb","fromRgba","match","fromHsl","fromHsla","parseAngletoDegrees","fromHex","split","Re","exec","DPI","Ie","trim","meetOrSlice","alignX","alignY","Be","Xe","getSvgStyles","fillRule","strokeWidth","strokeDashArray","strokeDashOffset","strokeLineCap","strokeLineJoin","strokeMiterLimit","opacity","getSvgFilter","stroke","shadow","getSvgCommons","getSvgTransform","calcTransformMatrix","_toSVG","_createBaseSVGMarkup","_createBaseClipPathSVGMarkup","noStyle","withShadow","strokeUniform","absolutePositioned","addPaintOrder","paintFirst","Ye","RegExp","We","Ve","ze","Ge","He","Ne","Ue","_reNewline","_reSpacesAndTabs","_reSpaceAndTab","_reWords","fontSize","underline","overline","linethrough","textAlign","lineHeight","textBackgroundColor","path","pathStartOffset","pathSide","pathAlign","charSpacing","deltaY","direction","CACHE_FONT_SIZE","MIN_TEXT_WIDTH","superscript","baseline","subscript","_fontSizeFraction","offsets","_fontSizeMult","qe","Ke","Je","Qe","Ze","$e","ts","es","ss","rs","ns","cx","cy","display","visibility","os","as","ls","ds","gs","fs","ps","ms","vs","Cs","bs","ys","_s","xs","Ss","ws","Ts","Os","parseShadow","color","replace","blur","affectStroke","nonScaling","ks","Ds","Ms","Ps","minScaleLimit","objectCaching","inverted","centeredRotation","centeredScaling","dirty","Es","asin","As","js","Fs","Ls","Rs","defaultEasing","easeInBack","easeInBounce","easeInCirc","easeInCubic","easeInElastic","easeInExpo","easeInOutBack","easeInOutBounce","easeInOutCirc","easeInOutCubic","easeInOutElastic","easeInOutExpo","easeInOutQuad","easeInOutQuart","easeInOutQuint","easeInOutSine","easeInQuad","easeInQuart","easeInQuint","easeInSine","easeOutBack","easeOutBounce","easeOutCirc","easeOutCubic","easeOutElastic","easeOutExpo","easeOutQuad","easeOutQuart","easeOutQuint","easeOutSine","Is","Bs","startValue","byValue","duration","delay","easing","onStart","onChange","onComplete","tick","_onStart","_onChange","_onComplete","_abort","endValue","calculate","state","_state","isDone","start","startTime","Date","register","setTimeout","durationProgress","valueProgress","unregister","Xs","Ys","Ws","Vs","zs","Gs","Hs","Ns","Us","qs","Ks","status","points","append","isPointContained","isPointInPolygon","intersectSegmentSegment","intersectLineLine","intersectSegmentLine","intersectLinePolygon","intersectSegmentPolygon","intersectPolygonPolygon","intersectPolygonRectangle","Js","getX","getXY","getY","getRelativeX","setRelativeX","getRelativeY","setRelativeY","getRelativeXY","group","setRelativeXY","isStrokeAccountedForInDimensions","getCoords","aCoords","calcACoords","intersectsWithObject","isContainedWithinObject","getBoundingRect","isOnScreen","isPartiallyOnScreen","getScaledWidth","_getTransformedDimensions","getScaledHeight","scaleToWidth","scaleToHeight","getCanvasRetinaScaling","getViewportTransform","transformMatrixKey","matrixCache","ownMatrixCache","_getNonTransformedDimensions","_calculateCurrentDimensions","translateToCenterPoint","translateToOriginPoint","getPointByOrigin","_getLeftTopCoords","Qs","Zs","$s","setOptions","_createCacheCanvas","_cacheContext","_updateCacheCanvas","_limitCacheSize","maxCacheSideLimit","minCacheSideLimit","capped","_getCacheCanvasDimensions","getTotalObjectScaling","ceil","setTransform","translate","contextTop","getObjectScaling","getObjectOpacity","_constrainScale","cacheProperties","parent","stateProperties","isNotVisible","_setupCompositeOperation","drawSelectionBackground","_setOpacity","_setShadow","drawCacheOnCanvas","_removeCacheCanvas","drawObject","isCacheDirty","parentClipPaths","hasStroke","hasFill","needsItsOwnCache","ownCaching","isOnACache","willDrawShadow","drawClipPathOnCache","_setClippingProperties","_render","_drawClipPath","createClipPathLayer","fillRect","_removeShadow","globalAlpha","_setStrokeStyles","lineWidth","lineCap","lineDashOffset","lineJoin","miterLimit","gradientUnits","_applyPatternForTransformedGradient","strokeStyle","_applyPatternGradientTransform","_setFillStyles","_setLineDash","setLineDash","shadowColor","shadowBlur","browserShadowBlurConstant","shadowOffsetX","shadowOffsetY","_renderPaintInOrder","_renderStroke","_renderFill","createPattern","_findCenterFromElement","cloneAsImage","canvasProvider","withoutTransform","withoutShadow","setOnGroup","animate","_animate","colorProperties","isDescendantOf","getAncestors","findCommonAncestors","fork","otherFork","common","hasCommonAncestors","isInFrontOf","customProperties","_removeDefaultValues","_fromObject","extraParam","ti","ei","si","ii","sizeX","cornerSize","sizeY","transparentCorners","cornerStrokeColor","cornerColor","arc","ri","strokeRect","ni","shouldActivate","getActiveObject","isControlVisible","getActionHandler","actionHandler","getMouseDownHandler","mouseDownHandler","getMouseUpHandler","mouseUpHandler","cursorStyleHandler","cursorStyle","getActionName","actionName","getVisibility","_controlsVisibility","setVisibility","positionHandler","calcCornerCoords","touchSizeX","touchSizeY","cornerStyle","oi","lockRotation","ai","ex","ey","theta","snapAngle","snapThreshold","hi","uniScaleKey","uniformScaling","ci","li","ui","di","by","gestureScale","signX","signY","original","gi","fi","pi","mi","vi","counterAxis","skew","lockSkewing","origin","flip","yi","_i","xi","skewingSide","atan","Ci","bi","Si","altActionKey","wi","Ti","Oi","ki","Di","ml","mr","mb","mtr","withConnection","Mi","Pi","Ei","createControls","noScaleCache","_currentTransform","action","startsWith","getActiveControl","__corner","control","coord","oCoords","findControl","hasControls","touchCorner","calcOCoords","forEachControl","_calcCornerCoords","touchCornerSize","selectionBackgroundColor","_activeObject","strokeBorders","_drawBorders","borderColor","borderDashArray","drawControlsConnectingLines","_renderControls","hasBorders","borderScaleFactor","isMoving","borderOpacityWhenMoving","drawBorders","forActiveSelection","cornerDashArray","setControlVisible","setControlsVisibility","clearContextTop","onDeselect","onSelect","shouldStartDragging","onDragStart","canDrop","renderDragSourceEffect","renderDropTargetEffect","Ai","getOwnPropertyNames","lockMovementX","lockMovementY","lockScalingX","lockScalingY","lockSkewingX","lockSkewingY","lockScalingFlip","evented","perPixelTargetFind","activeOn","hoverCursor","moveCursor","ji","Fi","data","getImageData","Li","options","strokeProjectionMagnitude","strokeUniformScalar","createSideVector","projectOrthogonally","applySkew","calcOrthogonalProjection","isSkewed","scaleUnitVector","Ri","Ii","getOrthogonalRotationFactor","AB","AC","alpha","bisector","projectBevel","projectMiter","projectRoundNoSkew","projectRoundWithSkew","projectRound","projectPoints","project","originPoint","projectedPoint","Bi","projectButt","projectSquare","Xi","Yi","Wi","Vi","zi","Intl","Segmenter","granularity","segment","Gi","Hi","charCodeAt","Ni","capitalize","escapeXml","graphemeSplit","Ui","textDecorationThickness","qi","end","Ki","Ji","Qi","nodeName","getAttribute","Zi","parentElement","$i","sr","ir","rr","nr","or","ar","hr","cr","lr","ur","dr","gr","fr","pr","vr","yr","_r","xr","Cr","er","matchAll","Sr","transformMatrix","kr","Dr","Tr","Or","font","wr","Mr","Pr","Er","_initRxRy","rx","ry","bezierCurveTo","fromElement","ATTRIBUTE_NAMES","Ar","jr","Fr","Lr","Rr","Ir","calcLayoutResult","shouldPerformLayout","calcBoundingBox","prevStrategy","strategy","shouldLayoutClipPath","getInitialSize","overrides","relativeCorrection","Br","Xr","Yr","Wr","Vr","_subscriptions","performLayout","bubbles","_prevLayoutStrategy","onBeforeLayout","getLayoutResult","commitLayout","onAfterLayout","attachHandlers","trigger","subscribe","unsubscribe","delete","unsubscribeTargets","targets","subscribeTargets","context","deep","layoutManager","correction","result","prevCenter","nextCenter","offset","layoutObjects","layoutObject","zr","Gr","Hr","groupInit","__objectSelectionTracker","__objectSelectionMonitor","__objectSelectionDisposer","enterGroup","canEnterGroup","_filterObjectsBeforeEnteringGroup","_onAfterObjectsChange","exitGroup","_shouldSetNestedCoords","subTargetCheck","removeAll","_activeObjects","_watchObject","_enterGroup","_exitGroup","preserveObjectStacking","triggerLayout","__serializeObjects","_createSVGBgRect","interactive","Nr","Ur","qr","Kr","Jr","Qr","Zr","$r","tn","cachesBoundsOfCurve","boundsOfCurveCache","nn","en","sn","rn","an","hn","cn","ln","un","dn","command","angleFinder","destX","destY","pn","gn","mn","vn","yn","_n","xn","lastIndex","Cn","bn","Sn","setProperty","kn","addTransformToObject","animateColor","applyTransformToObject","calcAngleBetweenVectors","calcDimensionsMatrix","calcPlaneChangeMatrix","calcVectorRotation","cancelAnimFrame","capValue","composeMatrix","copyCanvasElement","createCanvasElement","createImage","createRotateMatrix","createScaleMatrix","createSkewXMatrix","createSkewYMatrix","createTranslateMatrix","createVector","crossProduct","degreesToRadians","dotProduct","ease","enlivenObjectEnlivables","enlivenObjects","findScaleToCover","findScaleToFit","getBoundsOfCurve","getOrthonormalVector","getPathSegmentsInfo","getPointOnPath","getPointer","getRandomInt","random","getRegularPolygonPath","getSmoothPathFromPoints","getSvgAttributes","getUnitVector","groupSVGElements","hasStyleChanged","invertTransform","isBetweenVectors","isIdentityMatrix","isTouchEvent","isTransparent","joinPath","loadImage","magnitude","makeBoundingBoxFromPoints","makePathSimpler","matrixToSVG","mergeClipPaths","multiplyTransformMatrices","multiplyTransformMatrixArray","parsePath","parsePreserveAspectRatioAttribute","parseUnit","pick","projectStrokeOnPoints","qrDecompose","radiansToDegrees","removeFromArray","removeTransformFromObject","removeTransformMatrixForSvgParsing","cropX","cropY","offsetLeft","offsetTop","request","ontimeout","onreadystatechange","readyState","open","send","requestAnimFrame","resetObjectTransform","rotatePoint","rotateVector","saveObjectTransform","sendObjectToPlane","sendPointToPlane","sendVectorToPlane","setStyle","sizeAfterTransform","string","stylesFromArray","stylesToArray","transformPath","transformPoint","Dn","containerClass","createUpperCanvas","upper","applyCanvasStyle","createContainerElement","replaceChild","container","className","removeChild","Mn","upperCanvasEl","wrapperEl","_objectsToRender","deselected","_discardActiveObject","_hoveredTarget","_hoveredTargets","_chooseObjectsToRender","contextTopDirty","_groupSelector","isDrawingMode","renderTopLayer","_isCurrentlyDrawing","freeDrawingBrush","selection","_drawSelection","renderTop","setTargetFindTolerance","targetFindTolerance","pixelFindCanvasEl","pixelFindContext","isTargetTransparent","_isSelectionKeyPressed","selectionKey","_shouldClearSelection","getActiveObjects","_shouldCenterTransform","_getOriginFromCorner","_setupCurrentTransform","getScenePoint","centeredKey","actionPerformed","lastX","lastY","shiftKey","altKey","setCursor","cursor","deltaX","selectionLineWidth","selectionColor","selectionBorderColor","selectionDashArray","findTarget","skipTargetFind","getViewportPoint","searchPossibleTargets","altSelectionKey","_pointIsInObjectSelectionArea","_checkTarget","isEditing","_searchPossibleTargets","_pointer","_absolutePointer","_resetTransformEventData","_setBrushStyles","willReadFrequently","getTopContext","getSelectionContext","getSelectionElement","_fireSelectionEvents","selected","setActiveObject","_setActiveObject","endCurrentTransform","discardActiveObject","_finalizeCurrentTransform","_scaling","_realizeGroupTransformOnObject","selectionFullyContained","defaultCursor","freeDrawingCursor","notAllowedCursor","stopContextMenu","fireRightClick","fireMiddleClick","enablePointerEvents","Pn","hiddenTextarea","focus","__disposer","exitTextEditing","exitEditing","onMouseMove","updateSelectionOnMouseMove","En","An","passive","jn","viewportPoint","scenePoint","absolutePointer","Fn","Ln","Rn","mouse","in","out","targetIn","targetOut","canvasIn","canvasOut","drag","In","addOrRemove","_getEventPrefix","_onResize","_onMouseDown","_onMouseMove","_onMouseOut","_onMouseEnter","_onMouseWheel","_onContextMenu","_onClick","_onDragStart","_onDragEnd","_onDragOver","_onDragEnter","_onDragLeave","_onDrop","_onTouchStart","removeListeners","_onMouseUp","_onTouchEnd","clearTimeout","_willAddMouseDown","__onMouseWheel","_isClick","_dragSource","_onDragProgress","_renderDragEffects","_dropTarget","dataTransfer","dropEffect","subTargets","dragSource","didDrop","dropTarget","_draggedoverTarget","findDragTargets","_fireEnterLeaveEvents","_basicEventHandler","detail","_cacheTransformEventData","_handleEvent","getPointerId","identifier","pointerId","_isMainEvent","isPrimary","touches","mainTouchId","__onMouseDown","_target","__onMouseUp","__onMouseMove","_shouldRender","button","_onMouseUpInDrawingMode","handleSelection","_setCursorFromEvent","isClick","currentTarget","currentSubTargets","_onMouseDownInDrawingMode","onMouseDown","alreadySelected","_onMouseMoveInDrawingMode","onMouseUp","handleMultiSelection","_transformObject","_fireOverOutEvents","textEditingManager","fireSyntheticInOutEvents","oldTarget","fireCanvas","nextTarget","previousTarget","_performTransformAction","multiSelectAdd","Bn","x1","y1","x2","y2","Xn","r1","r2","Yn","Wn","Vn","zn","NaN","Gn","Hn","Nn","Un","getElementsByTagName","qn","Kn","Jn","Qn","Zn","coords","colorStops","addColorStop","sort","_renderPathCommands","pathOffset","createLinearGradient","createRadialGradient","viewBoxWidth","viewBoxHeight","$n","to","isImageSource","isCanvasSource","sourceToString","naturalWidth","naturalHeight","eo","_saveAndTransform","needsFullRender","_resetShadow","_isOutSideCanvas","so","io","ro","_setPath","setBoundingBox","_calcBoundsFromPath","quadraticCurveTo","sourcePath","_getOffsetTransform","_calcDimensions","no","_points","_hasStraightLine","drawSegment","drawStraightLine","straightLineKey","_prepareForDrawing","_addPoint","limitedToCanvasSize","oldEnd","_finalizeAndAddPath","_reset","convertPointsToSVGPath","createPath","decimatePoints","decimate","oo","ao","ho","setRadius","radius","startAngle","endAngle","counterClockwise","getRadiusX","getRadiusY","go","fo","po","mo","_setWidthHeight","calcLinePoints","vo","yo","_o","getRx","getRy","Co","bo","exactBoundingBox","So","initialized","isOpen","_projectStrokeOnPoints","strokeOffset","strokeDiff","layoutProperties","xo","wo","To","isEmptyStyles","line","styleHas","cleanStyle","_textLines","removeStyle","_extendStyles","lineIndex","charIndex","get2DCursorLocation","_getLineStyle","_setLineStyle","_getStyleDeclaration","_setStyleDeclaration","getSelectionStyles","getStyleAtPosition","getCompleteStyleDeclaration","setSelectionStyles","_forceClearCache","_styleProperties","_deleteStyleDeclaration","_deleteLineStyle","Oo","ko","Do","Mo","Po","Eo","text","setPathInfo","initDimensions","segmentsInfo","_splitText","_splitTextIntoLines","textLines","lines","graphemeLines","_unwrappedTextLines","_unwrappedLines","_text","graphemeText","_clearCache","calcTextWidth","cursorWidth","calcTextHeight","enlargeSpaces","isEndOfWrapping","getLineWidth","__charBounds","kernedWidth","missingNewlineOffset","_setTextStyles","_renderTextLinesBackground","_renderTextDecoration","_renderTextStroke","_renderTextFill","textBaseline","_getFontDeclaration","_renderTextLine","_renderChars","_getLeftOffset","_getTopOffset","getHeightOfLine","_getLineLeftOffset","getValueOfPropertyAt","renderLeft","_measureChar","measureText","getHeightOfChar","measureLine","_measureLine","_getWidthOfCharSpacing","_getGraphemeBox","_setGraphemeOnPath","numOfSpaces","__lineHeights","_renderTextCommon","_renderChar","_applyPatternGradientTransformText","handleFiller","fillText","strokeText","setSuperscript","_setScript","setSubscript","__lineWidths","genericFonts","textLayoutProperties","textAnchor","textDecoration","dx","dy","textContent","_getSVGLeftTopOffsets","_getSVGTextAndBg","textTop","textLeft","_wrapSVGTextAndBg","lineTop","textBgRects","textSpans","getSvgTextDecoration","_setSVGTextLineBg","_setSVGTextLineText","_createTextCharSpan","getSvgSpanStyles","_getSVGLineTopOffset","Ao","dragEnterHandler","dragOverHandler","dragLeaveHandler","dragEndHandler","dropHandler","_dispose","isPointerOverSelection","getSelectionStartFromPointer","selectionStart","selectionEnd","__mouseDownInPlace","isActive","__dragStartFired","setCursorByClick","initDelayedCursor","__isDraggingOver","getDragStartSelection","__dragStartSelection","setDragImage","_getCursorBoundaries","leftOffset","topOffset","border","__dragImageDisposer","appendChild","setData","stringify","effectAllowed","abortCursorAnimation","editable","defaultPrevented","targetCanDrop","getData","types","removeChars","trimEnd","insertChars","enterEditing","_updateTextarea","index","jo","Fo","initBehavior","_tick","_onTickComplete","_animateCursor","toValue","_currentCursorOpacity","renderCursorOrSelection","_currentTickState","cursorDuration","_currentTickCompleteState","cursorDelay","restartCursorIfNeeded","selectAll","_fireSelectionChanged","cmdAll","getSelectedText","findWordBoundaryLeft","_reSpace","findWordBoundaryRight","findLineBoundaryLeft","findLineBoundaryRight","searchWordBoundary","selectWord","selectLine","enterEditingImpl","initHiddenTextarea","_saveEditingProps","_setEditingProps","_textBeforeEdit","activeElement","__selectionStartOnMouseDown","editingBorderColor","fromStringToGraphemeSelection","fromGraphemeToStringSelection","cursorOffsetCache","inCompositionMode","updateTextareaPosition","updateFromTextArea","_calcTextareaPosition","compositionStart","clientWidth","clientHeight","charHeight","_savedProps","_restoreEditingProps","_exitEditing","exitEditingImpl","_removeExtraneousStyles","removeStyleFromTo","shiftLineStyles","insertNewlineStyleObject","insertCharStyleObject","insertNewStyleBlock","setSelectionStartEndWithShift","_selectionDirection","Lo","autocapitalize","autocorrect","autocomplete","spellcheck","hiddenTextareaContainer","keydown","keyup","input","copy","cut","paste","compositionstart","compositionupdate","compositionend","onKeyDown","keysMapRtl","keysMap","keyCode","ctrlKeysMapDown","ctrlKey","metaKey","stopImmediatePropagation","onKeyUp","_copyDone","ctrlKeysMapUp","onInput","fromPaste","copiedText","disableStyleCopyPaste","copiedTextStyle","onCompositionStart","onCompositionEnd","onCompositionUpdate","compositionEnd","_getWidthBeforeCursor","getDownCursorOffset","_getSelectionForOffset","_getIndexOnLine","getUpCursorOffset","moveCursorDown","_moveCursorUpOrDown","moveCursorUp","moveCursorWithShift","moveCursorWithoutShift","moveCursorLeft","_moveCursorLeftOrRight","_move","_moveLeft","_moveRight","moveCursorLeftWithoutShift","moveCursorLeftWithShift","moveCursorRight","moveCursorRightWithShift","moveCursorRightWithoutShift","Ro","Io","_mouseDownHandler","doubleClickHandler","tripleClickHandler","draggableTextDelegate","Bo","Xo","Yo","Wo","Vo","zo","Go","cursorColor","caching","Ho","setSelectionStart","_updateAndFire","setSelectionEnd","findAncestorsWithClipPath","renderSelection","renderCursor","_getCursorBoundariesOffsets","__getCursorBoundariesOffsets","renderCursorAt","_renderCursor","getCursorRenderingData","_renderSelection","compositionColor","getCurrentCharFontSize","_getCurrentCharIndex","getCurrentCharColor","No","dynamicMinWidth","_styleMap","_generateStyleMap","splitByGrapheme","isWrapping","_wrapText","getGraphemeDataForRender","wordsData","_wrapLine","wordSplit","word","_measureWord","largestWordWidth","_wordJoiners","getMinWidth","minWidth","Uo","qo","Ko","Set","Jo","multiSelectionStacking","findIndex","Qo","applyFilters","sourceWidth","sourceHeight","imageData","originalEl","originalImageData","canvasEl","filterBackend","applyTo","putImageData","Zo","tileSize","textureSize","Float32Array","setupGLContext","captureGPUInfo","createWebGLCanvas","premultipliedAlpha","depth","stencil","antialias","clearColor","gl","getCachedTexture","originalWidth","originalHeight","destinationWidth","destinationHeight","sourceTexture","createTexture","targetTexture","originalTexture","passes","webgl","aPosition","programCache","pass","targetCanvas","createFramebuffer","bindFramebuffer","FRAMEBUFFER","copyGLTo2D","bindTexture","TEXTURE_2D","deleteTexture","deleteFramebuffer","clearWebGLCaches","textureCache","NEAREST","RGBA","UNSIGNED_BYTE","CLAMP_TO_EDGE","TEXTURE_MAG_FILTER","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","TEXTURE_WRAP_T","texParameteri","texImage2D","evictCachesForKey","copyGLTo2DPutImageData","Uint8Array","imageBuffer","Uint8ClampedArray","readPixels","ImageData","gpuInfo","renderer","vendor","UNMASKED_RENDERER_WEBGL","UNMASKED_VENDOR_WEBGL","$o","ea","enableGLFiltering","ta","ia","ra","na","filters","cacheKey","setElement","_element","removeTexture","_originalElement","CSS_CANVAS","resizeFilter","applyResizeFilters","getCrossOrigin","getOriginalSize","_stroke","getSrc","hasCrop","imageSmoothing","getSvgSrc","srcFromAttribute","setSrc","minimumScaleTrigger","_filteredEl","_filterScalingX","_filterScalingY","_lastScaleX","_lastScaleY","isNeutralState","_needsResize","_resetWidthHeight","preserveAspectRatio","fromURL","href","ba","Sa","wa","pointIndex","Ta","Oa","ka","Da","commandIndex","Ma","Pa","controlFill","controlStroke","Ea","connectToCommandIndex","connectToPointIndex","connectionDashArray","Aa","controlPointStyle","pointStyle","changeWidth","createObjectDefaultControls","createPathControls","createPolyActionHandler","createPolyControls","createPolyPositionHandler","createResizeControls","createTextboxDefaultControls","dragHandler","factoryPolyActionHandler","getLocalPoint","polyActionHandler","renderCircleControl","renderSquareControl","rotationStyleHandler","rotationWithSnapping","scaleCursorStyleHandler","scaleOrSkewActionName","scaleSkewCursorStyleHandler","scalingEqually","scalingX","scalingXOrSkewingY","scalingY","scalingYOrSkewingX","skewCursorStyleHandler","skewHandlerX","skewHandlerY","wrapWithFireEvent","wrapWithFixedAnchor","Fa","Ra","Ia","Ba","Xa","Ya","Wa","defaults","getFragmentSource","getVertexSource","createProgram","VERTEX_SHADER","getShaderInfoLog","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","getUniformLocations","uStepW","getUniformLocation","uStepH","program","attributeLocations","getAttributeLocations","uniformLocations","getAttribLocation","sendAttributeData","createBuffer","bindBuffer","ARRAY_BUFFER","enableVertexAttribArray","vertexAttribPointer","FLOAT","bufferData","STATIC_DRAW","_setupFrameBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","_swapTextures","applyToWebGL","applyTo2d","getCacheKey","retrieveShader","useProgram","uniform1f","sendUniformData","viewport","drawArrays","TRIANGLE_STRIP","bindAdditionalTexture","activeTexture","TEXTURE0","unbindAdditionalTexture","createHelpLayer","helpLayer","Va","screen","difference","lighten","darken","exclusion","tint","za","mode","uniform4fv","uColor","Ga","mask","Ha","Na","image","TEXTURE1","calculateMatrix","resources","blendImage","uniform1i","uImage","uniformMatrix3fv","uTransformMatrix","Ua","aspectRatio","horizontal","getBlurValue","chooseRightDelta","uniform2fv","uDelta","qa","brightness","uBrightness","Ka","matrix","colorsOnly","Ja","uniformMatrix4fv","uColorMatrix","uConstants","Qa","Za","$a","th","eh","sh","ih","rh","nh","subFilters","oh","contrast","uContrast","ah","Convolute_3_1","Convolute_3_0","Convolute_5_1","Convolute_5_0","Convolute_7_1","Convolute_7_0","Convolute_9_1","Convolute_9_0","hh","opaque","createImageData","uniform1fv","uMatrix","ch","lh","gamma","rgbValues","uniform3fv","uGamma","uh","average","lightness","luminosity","dh","uMode","gh","rotation","fh","ph","invert","uInvert","uAlpha","mh","noise","uNoise","uSeed","vh","blocksize","uBlocksize","yh","distance","uLow","uHigh","useAlpha","_h","uTaps","taps","getFilterWindow","tempScale","lanczosLobes","generateShader","getTaps","lanczosCreate","applyToForWebgl","dW","dH","rcpScaleX","rcpScaleY","resizeType","sliceByTwo","hermiteFastResize","bilinearFiltering","lanczosResize","xh","saturation","uSaturation","Ch","vibrance","uVibrance","BaseFilter","BlackWhite","BlendColor","BlendImage","Blur","Brightness","Brownie","ColorMatrix","Composed","Contrast","Convolute","Gamma","Grayscale","HueRotation","Invert","Kodachrome","Noise","Pixelate","Polaroid","RemoveColor","Resize","Saturation","Sepia","Technicolor","Vibrance","Vintage","ClippingGroup","_this","LayoutManager","FixedLayout","Group","paths","Path","blockErasing","classRegistry","destination","imageSmoothingQuality","resetTransform","walk","flatMap","erasable","draw","_ref","_ref2","_ref2$objects","_ref2$background","_ref2$overlay","_object$parent","_opacity","drawCanvas","entry","_entry$object$parent","commitErasing","sourceInObjectPlane","curr","strokeWidthFactor","fabric.Point","strokeVector","_curr$translateToOrig","fabric.util","assertClippingGroup","eraseObject","_x","_x2","_eraseObject","_callee4","_context4","eraseCanvasDrawable","_x3","_x4","_x5","_eraseCanvasDrawable","_callee5","vpt","_context5","EraserBrush","retinaScaling","setCanvasDimensions","effectContext","eventEmitter","EventTarget","_commit","fabric.PencilBrush","cb","_this2","fabric.Color","erasingEffect","_this3","dispatchEvent","CustomEvent","cancelable","active","drawEffect","_disposer","_this$_disposer","pathData","_callee3","_ref3","_context3","t0","_ref4","_callee","_context","t1","_x7","_ref5","_ref8","_callee2","_ref7","_ref9","vptFlag","_context2","_x8","_x6","commit","toVector","fallback","v1","v2","sub","addTo","subTo","rubberband","dimension","constant","Infinity","rubberbandIfOutOfBounds","clamp","hint","prim","res","EVENT_TYPE_MAP","change","touch","gesture","actionsWithoutCaptureSupported","toHandlerProp","device","capture","deviceProps","actionKey","hasCapture","pointerCaptureEvents","parseProp","prop","eventKey","substring","captureKey","isTouch","event","getPointerType","getValueEvent","targetTouches","getTouchList","distanceAngle","P1","P2","hypot","_unused","touchIds","_event$currentTarget","_event$currentTarget$","getCurrentTargetTouchList","touchDistanceAngle","ids","valueEvent","pointerValues","wheelValues","deltaMode","noop","chain","fns","assignDefault","Engine","ctrl","computeValues","computeInitial","init","shared","eventStore","gestureEventStores","timeoutStore","gestureTimeoutStores","config","sharedConfig","handler","handlers","ingKey","_active","_blocked","_force","_step","intentional","_movement","_distance","_direction","_delta","_bounds","axis","memo","elapsedTime","timeDelta","overflow","_movementBound","velocity","movement","delta","timeStamp","lastOffset","_values","_initial","initial","compute","pointerIds","locked","pointerLockElement","payload","buttons","getEventDetails","down","pressed","_absoluteDelta","axisIntent","_m0","_m1","threshold","hasCustomTransform","v0","restrictToAxis","previousOffset","gestureIsActive","first","last","bounds","setup","computeOffset","ox","oy","x0","y0","Vx","Vy","Rx","Ry","X0","X1","Y0","Y1","computeRubberband","computeMovement","absoluteDelta","emit","clean","triggerAllEvents","aliasKey","CoordinatesEngine","axisThreshold","absDx","absDy","selectAxis","lockDirection","identity","commonConfigResolver","enabled","eventOptions","_k","process","env","NODE_ENV","originalTransform","isFinite","warn","domTarget","coordinatesConfigResolver","_v","current","HTMLElement","KEYS_DELTA_MAP","ArrowRight","displacement","factor","ArrowLeft","ArrowUp","ArrowDown","isBrowser","supportsTouchEvents","SUPPORT","GestureEvent","supportsGestureEvents","touchscreen","pointerLock","DEFAULT_DRAG_AXIS_THRESHOLD","pen","dragConfigResolver","lock","preventScrollAxis","preventScroll","preventScrollDelay","pointerCapture","pointerButtons","filterTaps","tapsThreshold","swipe","keyboardDisplacement","useTouch","experimental_preventWindowScrollY","swipeVelocity","swipeDistance","swipeDuration","pinchConfigResolver","scaleBounds","angleBounds","_scaleBounds","_angleBounds","modifierKey","pinchOnWheel","mouseOnly","EngineMap","ConfigResolverMap","registerAction","engine","resolver","dragAction","_pointerId","_pointerActive","_keyboardActive","_preventScroll","_delayed","tap","canceled","cancel","boundRect","targetRect","setActive","pointerClean","pointerDown","ctrlIds","setEventIds","setPointerCapture","setupPointer","setupScrollPrevention","setupDelayTrigger","startPointerDrag","pointerMove","movementX","movementY","pointerUp","hasPointerCapture","releasePointerCapture","_dx","_dy","_mx","_my","svx","svy","sx","sy","sdt","_vx","_vy","pointerClick","sourceEvent","touchAction","_unused2","requestPointerLock","exitPointerLock","persist","persistEvent","keyDown","deltaFn","keyUp","bindFunction","pinchAction","_pointerEvents","_touchIds","turns","axisMovementDifference","touchStart","ctrlTouchIds","pinchStart","pointerStart","ctrlPointerIds","touchMove","pinchMove","prev_a","delta_a","delta_turns","touchEnd","pointerEnd","gestureStart","gestureMove","_previousMovement","gestureEnd","wheel","wheelChange","wheelStart","wheelEnd","dirx","diry","clampStateInternalMovementToBounds","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","sharedConfigResolver","_excluded","resolveWith","resolvers","EventStore","gestureKey","_ctrl","_gestureKey","element","listeners","_listeners","toDomEventType","TimeoutStore","callback","_timeouts","timeout","Controller","internalHandlers","setupGesture","scroll","move","pinch","hover","resolveGestures","applyHandlers","nativeHandlers","applyConfig","newConfig","_config","rest","_targetEventStore","gestures","effect","gestureConfig","bindToProps","nativeBindFunction","handlerProp","withPassiveOption","isNative","_options$capture","_options$passive","useRecognizers","React","useMemo","useEffect","Wrapper","styled","div","Canvas","canDraw","ImageEditor","forwardRef","ref","maxSizeInKb","baseImageDataURL","drawing","erase","wrapperRef","useRef","canvasRef","fabricCanvas","fabricBackground","pencilBrush","eraserBrush","pinchStartAmount","isMobileView","useWindowHelper","useImperativeHandle","clearDrawing","export","resetZoomAndPosition","dataURL","toDataURLWithLimit","limit","reducedQuality","filesizeInB","FileHelper","getFilesizeFromBase64","maxSizeInB","FabricCanvas","TestHelper","generateId","PencilBrush","handleResize","canvasWidth","canvasHeight","oldBackgroundLeft","oldBackgroundTop","fitImageToCanvas","orientation","img","canvasRatio","intendedZoom","Point","Rect","FabricImage","handleUpdateImage","handleMouseDown","TouchEvent","canvasObjects","handleMouseUp","handlePencilErasable","zoom","useDrag","_jsx","jsx","children"],"mappings":"43DAAA,SAASA,EAAWC,EAAGC,EAAGC,GACxB,OAAOD,EAAIE,EAAgBF,GA0d7B,SAAoCG,EAAMC,GACxC,GAAIA,IAAyB,iBAATA,GAAqC,mBAATA,GAC9C,OAAOA,EACF,QAAa,IAATA,EACT,MAAM,IAAIC,UAAU,4DAEtB,OAAOC,EAAuBH,EAChC,CAjeiCI,CAA2BR,EAAGS,IAA8BC,QAAQC,UAAUV,EAAGC,GAAK,GAAIC,EAAgBH,GAAGY,aAAeX,EAAEY,MAAMb,EAAGE,GACxK,CACA,SAASO,IACP,IACE,IAAIT,GAAKc,QAAQC,UAAUC,QAAQX,KAAKK,QAAQC,UAAUG,QAAS,IAAI,WAAY,IACvF,CAAI,MAAOd,GAAK,CACd,OAAQS,EAA4B,WAClC,QAAST,CACb,IACA,CA4BA,SAASiB,EAAQf,EAAGgB,GAClB,IAAIlB,EAAImB,OAAOC,KAAKlB,GACpB,GAAIiB,OAAOE,sBAAuB,CAChC,IAAIpB,EAAIkB,OAAOE,sBAAsBnB,GACrCgB,IAAMjB,EAAIA,EAAEqB,QAAO,SAAUJ,GAC3B,OAAOC,OAAOI,yBAAyBrB,EAAGgB,GAAGM,UACnD,KAASxB,EAAEyB,KAAKZ,MAAMb,EAAGC,EACtB,CACD,OAAOD,CACT,CACA,SAAS0B,EAAexB,GACtB,IAAK,IAAIgB,EAAI,EAAGA,EAAIS,UAAUC,OAAQV,IAAK,CACzC,IAAIlB,EAAI,MAAQ2B,UAAUT,GAAKS,UAAUT,GAAK,GAC9CA,EAAI,EAAID,EAAQE,OAAOnB,IAAI,GAAI6B,SAAQ,SAAUX,GAC/CY,EAAgB5B,EAAGgB,EAAGlB,EAAEkB,GAC9B,IAASC,OAAOY,0BAA4BZ,OAAOa,iBAAiB9B,EAAGiB,OAAOY,0BAA0B/B,IAAMiB,EAAQE,OAAOnB,IAAI6B,SAAQ,SAAUX,GAC7IC,OAAOc,eAAe/B,EAAGgB,EAAGC,OAAOI,yBAAyBvB,EAAGkB,GACrE,GACG,CACD,OAAOhB,CACT,CACA,SAASgC,IACPA,EAAsB,WACpB,OAAOhC,CACX,EACE,IAAIF,EACFE,EAAI,CAAE,EACNgB,EAAIC,OAAOJ,UACXoB,EAAIjB,EAAEkB,eACNnC,EAAIkB,OAAOc,gBAAkB,SAAUjC,EAAGE,EAAGgB,GAC3ClB,EAAEE,GAAKgB,EAAEmB,KACV,EACDC,EAAI,mBAAqBC,OAASA,OAAS,CAAE,EAC7CC,EAAIF,EAAEG,UAAY,aAClBC,EAAIJ,EAAEK,eAAiB,kBACvBC,EAAIN,EAAEO,aAAe,gBACvB,SAASC,EAAO9C,EAAGE,EAAGgB,GACpB,OAAOC,OAAOc,eAAejC,EAAGE,EAAG,CACjCmC,MAAOnB,EACPM,YAAY,EACZuB,cAAc,EACdC,UAAU,IACRhD,EAAEE,EACP,CACD,IACE4C,EAAO,CAAA,EAAI,GACZ,CAAC,MAAO9C,GACP8C,EAAS,SAAU9C,EAAGE,EAAGgB,GACvB,OAAOlB,EAAEE,GAAKgB,CACpB,CACG,CACD,SAAS+B,EAAKjD,EAAGE,EAAGgB,EAAGiB,GACrB,IAAIG,EAAIpC,GAAKA,EAAEa,qBAAqBmC,EAAYhD,EAAIgD,EAClDV,EAAIrB,OAAOgC,OAAOb,EAAEvB,WACpB2B,EAAI,IAAIU,EAAQjB,GAAK,IACvB,OAAOlC,EAAEuC,EAAG,UAAW,CACrBH,MAAOgB,EAAiBrD,EAAGkB,EAAGwB,KAC5BF,CACL,CACD,SAASc,EAAStD,EAAGE,EAAGgB,GACtB,IACE,MAAO,CACLqC,KAAM,SACNC,IAAKxD,EAAEK,KAAKH,EAAGgB,GAElB,CAAC,MAAOlB,GACP,MAAO,CACLuD,KAAM,QACNC,IAAKxD,EAER,CACF,CACDE,EAAE+C,KAAOA,EACT,IAAIQ,EAAI,iBACNC,EAAI,iBACJC,EAAI,YACJC,EAAI,YACJC,EAAI,CAAA,EACN,SAASX,IAAc,CACvB,SAASY,IAAsB,CAC/B,SAASC,IAA+B,CACxC,IAAIC,EAAI,CAAA,EACRlB,EAAOkB,EAAGxB,GAAG,WACX,OAAOyB,IACX,IACE,IAAIC,EAAI/C,OAAOgD,eACbC,EAAIF,GAAKA,EAAEA,EAAEG,EAAO,MACtBD,GAAKA,IAAMlD,GAAKiB,EAAE9B,KAAK+D,EAAG5B,KAAOwB,EAAII,GACrC,IAAIE,EAAIP,EAA2BhD,UAAYmC,EAAUnC,UAAYI,OAAOgC,OAAOa,GACnF,SAASO,EAAsBvE,GAC7B,CAAC,OAAQ,QAAS,UAAU6B,SAAQ,SAAU3B,GAC5C4C,EAAO9C,EAAGE,GAAG,SAAUF,GACrB,OAAOiE,KAAKO,QAAQtE,EAAGF,EAC/B,GACA,GACG,CACD,SAASyE,EAAczE,EAAGE,GACxB,SAASwE,EAAOxD,EAAGjB,EAAGqC,EAAGE,GACvB,IAAIE,EAAIY,EAAStD,EAAEkB,GAAIlB,EAAGC,GAC1B,GAAI,UAAYyC,EAAEa,KAAM,CACtB,IAAIX,EAAIF,EAAEc,IACRC,EAAIb,EAAEP,MACR,OAAOoB,GAAK,iBAAmBA,GAAKtB,EAAE9B,KAAKoD,EAAG,WAAavD,EAAEyE,QAAQlB,EAAEmB,SAASC,MAAK,SAAU7E,GAC7F0E,EAAO,OAAQ1E,EAAGsC,EAAGE,EACtB,IAAE,SAAUxC,GACX0E,EAAO,QAAS1E,EAAGsC,EAAGE,EAChC,IAAatC,EAAEyE,QAAQlB,GAAGoB,MAAK,SAAU7E,GAC/B4C,EAAEP,MAAQrC,EAAGsC,EAAEM,EAChB,IAAE,SAAU5C,GACX,OAAO0E,EAAO,QAAS1E,EAAGsC,EAAGE,EACvC,GACO,CACDA,EAAEE,EAAEc,IACL,CACD,IAAItC,EACJjB,EAAEgE,KAAM,UAAW,CACjB5B,MAAO,SAAUrC,EAAGmC,GAClB,SAAS2C,IACP,OAAO,IAAI5E,GAAE,SAAUA,EAAGgB,GACxBwD,EAAO1E,EAAGmC,EAAGjC,EAAGgB,EAC5B,GACS,CACD,OAAOA,EAAIA,EAAIA,EAAE2D,KAAKC,EAA4BA,GAA8BA,GACjF,GAEJ,CACD,SAASzB,EAAiBnD,EAAGgB,EAAGiB,GAC9B,IAAIlC,EAAIwD,EACR,OAAO,SAAUnB,EAAGE,GAClB,GAAIvC,IAAM0D,EAAG,MAAM,IAAIoB,MAAM,gCAC7B,GAAI9E,IAAM2D,EAAG,CACX,GAAI,UAAYtB,EAAG,MAAME,EACzB,MAAO,CACLH,MAAOrC,EACPgF,MAAM,EAET,CACD,IAAK7C,EAAE8C,OAAS3C,EAAGH,EAAEqB,IAAMhB,IAAK,CAC9B,IAAIE,EAAIP,EAAE+C,SACV,GAAIxC,EAAG,CACL,IAAIE,EAAIuC,EAAoBzC,EAAGP,GAC/B,GAAIS,EAAG,CACL,GAAIA,IAAMiB,EAAG,SACb,OAAOjB,CACR,CACF,CACD,GAAI,SAAWT,EAAE8C,OAAQ9C,EAAEiD,KAAOjD,EAAEkD,MAAQlD,EAAEqB,SAAS,GAAI,UAAYrB,EAAE8C,OAAQ,CAC/E,GAAIhF,IAAMwD,EAAG,MAAMxD,EAAI2D,EAAGzB,EAAEqB,IAC5BrB,EAAEmD,kBAAkBnD,EAAEqB,IAChC,KAAe,WAAarB,EAAE8C,QAAU9C,EAAEoD,OAAO,SAAUpD,EAAEqB,KACrDvD,EAAI0D,EACJ,IAAIK,EAAIV,EAASpD,EAAGgB,EAAGiB,GACvB,GAAI,WAAa6B,EAAET,KAAM,CACvB,GAAItD,EAAIkC,EAAE6C,KAAOpB,EAAIF,EAAGM,EAAER,MAAQK,EAAG,SACrC,MAAO,CACLxB,MAAO2B,EAAER,IACTwB,KAAM7C,EAAE6C,KAEX,CACD,UAAYhB,EAAET,OAAStD,EAAI2D,EAAGzB,EAAE8C,OAAS,QAAS9C,EAAEqB,IAAMQ,EAAER,IAC7D,CACP,CACG,CACD,SAAS2B,EAAoBjF,EAAGgB,GAC9B,IAAIiB,EAAIjB,EAAE+D,OACRhF,EAAIC,EAAEuC,SAASN,GACjB,GAAIlC,IAAMD,EAAG,OAAOkB,EAAEgE,SAAW,KAAM,UAAY/C,GAAKjC,EAAEuC,SAAS+C,SAAWtE,EAAE+D,OAAS,SAAU/D,EAAEsC,IAAMxD,EAAGmF,EAAoBjF,EAAGgB,GAAI,UAAYA,EAAE+D,SAAW,WAAa9C,IAAMjB,EAAE+D,OAAS,QAAS/D,EAAEsC,IAAM,IAAIlD,UAAU,oCAAsC6B,EAAI,aAAc0B,EACvR,IAAIvB,EAAIgB,EAASrD,EAAGC,EAAEuC,SAAUvB,EAAEsC,KAClC,GAAI,UAAYlB,EAAEiB,KAAM,OAAOrC,EAAE+D,OAAS,QAAS/D,EAAEsC,IAAMlB,EAAEkB,IAAKtC,EAAEgE,SAAW,KAAMrB,EACrF,IAAIrB,EAAIF,EAAEkB,IACV,OAAOhB,EAAIA,EAAEwC,MAAQ9D,EAAEhB,EAAEuF,YAAcjD,EAAEH,MAAOnB,EAAEwE,KAAOxF,EAAEyF,QAAS,WAAazE,EAAE+D,SAAW/D,EAAE+D,OAAS,OAAQ/D,EAAEsC,IAAMxD,GAAIkB,EAAEgE,SAAW,KAAMrB,GAAKrB,GAAKtB,EAAE+D,OAAS,QAAS/D,EAAEsC,IAAM,IAAIlD,UAAU,oCAAqCY,EAAEgE,SAAW,KAAMrB,EAC7P,CACD,SAAS+B,EAAa5F,GACpB,IAAIE,EAAI,CACN2F,OAAQ7F,EAAE,IAEZ,KAAKA,IAAME,EAAE4F,SAAW9F,EAAE,IAAK,KAAKA,IAAME,EAAE6F,WAAa/F,EAAE,GAAIE,EAAE8F,SAAWhG,EAAE,IAAKiE,KAAKgC,WAAWxE,KAAKvB,EACzG,CACD,SAASgG,EAAclG,GACrB,IAAIE,EAAIF,EAAEmG,YAAc,GACxBjG,EAAEqD,KAAO,gBAAiBrD,EAAEsD,IAAKxD,EAAEmG,WAAajG,CACjD,CACD,SAASkD,EAAQpD,GACfiE,KAAKgC,WAAa,CAAC,CACjBJ,OAAQ,SACN7F,EAAE6B,QAAQ+D,EAAc3B,MAAOA,KAAKmC,OAAM,EAC/C,CACD,SAAS/B,EAAOnE,GACd,GAAIA,GAAK,KAAOA,EAAG,CACjB,IAAIgB,EAAIhB,EAAEsC,GACV,GAAItB,EAAG,OAAOA,EAAEb,KAAKH,GACrB,GAAI,mBAAqBA,EAAEwF,KAAM,OAAOxF,EACxC,IAAKmG,MAAMnG,EAAE0B,QAAS,CACpB,IAAI3B,GAAK,EACPqC,EAAI,SAASoD,IACX,OAASzF,EAAIC,EAAE0B,QAAS,GAAIO,EAAE9B,KAAKH,EAAGD,GAAI,OAAOyF,EAAKrD,MAAQnC,EAAED,GAAIyF,EAAKV,MAAO,EAAIU,EACpF,OAAOA,EAAKrD,MAAQrC,EAAG0F,EAAKV,MAAO,EAAIU,CACnD,EACQ,OAAOpD,EAAEoD,KAAOpD,CACjB,CACF,CACD,MAAM,IAAIhC,iBAAiBJ,EAAI,mBAChC,CACD,OAAO4D,EAAkB/C,UAAYgD,EAA4B9D,EAAEqE,EAAG,cAAe,CACnFjC,MAAO0B,EACPhB,cAAc,IACZ9C,EAAE8D,EAA4B,cAAe,CAC/C1B,MAAOyB,EACPf,cAAc,IACZe,EAAkBwC,YAAcxD,EAAOiB,EAA4BnB,EAAG,qBAAsB1C,EAAEqG,oBAAsB,SAAUvG,GAChI,IAAIE,EAAI,mBAAqBF,GAAKA,EAAEY,YACpC,QAASV,IAAMA,IAAM4D,GAAqB,uBAAyB5D,EAAEoG,aAAepG,EAAEsG,MAC1F,EAAKtG,EAAEuG,KAAO,SAAUzG,GACpB,OAAOmB,OAAOuF,eAAiBvF,OAAOuF,eAAe1G,EAAG+D,IAA+B/D,EAAE2G,UAAY5C,EAA4BjB,EAAO9C,EAAG4C,EAAG,sBAAuB5C,EAAEe,UAAYI,OAAOgC,OAAOmB,GAAItE,CACzM,EAAKE,EAAE0G,MAAQ,SAAU5G,GACrB,MAAO,CACL4E,QAAS5E,EAEf,EAAKuE,EAAsBE,EAAc1D,WAAY+B,EAAO2B,EAAc1D,UAAW2B,GAAG,WACpF,OAAOuB,IACR,IAAG/D,EAAEuE,cAAgBA,EAAevE,EAAE2G,MAAQ,SAAU7G,EAAGkB,EAAGiB,EAAGlC,EAAGqC,QACnE,IAAWA,IAAMA,EAAIwE,SACrB,IAAItE,EAAI,IAAIiC,EAAcxB,EAAKjD,EAAGkB,EAAGiB,EAAGlC,GAAIqC,GAC5C,OAAOpC,EAAEqG,oBAAoBrF,GAAKsB,EAAIA,EAAEkD,OAAOb,MAAK,SAAU7E,GAC5D,OAAOA,EAAEgF,KAAOhF,EAAEqC,MAAQG,EAAEkD,MAClC,GACG,EAAEnB,EAAsBD,GAAIxB,EAAOwB,EAAG1B,EAAG,aAAcE,EAAOwB,EAAG9B,GAAG,WACnE,OAAOyB,IACR,IAAGnB,EAAOwB,EAAG,YAAY,WACxB,MAAO,oBACR,IAAGpE,EAAEkB,KAAO,SAAUpB,GACrB,IAAIE,EAAIiB,OAAOnB,GACbkB,EAAI,GACN,IAAK,IAAIiB,KAAKjC,EAAGgB,EAAEO,KAAKU,GACxB,OAAOjB,EAAE6F,UAAW,SAASrB,IAC3B,KAAOxE,EAAEU,QAAS,CAChB,IAAI5B,EAAIkB,EAAE8F,MACV,GAAIhH,KAAKE,EAAG,OAAOwF,EAAKrD,MAAQrC,EAAG0F,EAAKV,MAAO,EAAIU,CACpD,CACD,OAAOA,EAAKV,MAAO,EAAIU,CAC7B,CACG,EAAExF,EAAEmE,OAASA,EAAQjB,EAAQrC,UAAY,CACxCH,YAAawC,EACbgD,MAAO,SAAUlG,GACf,GAAI+D,KAAKgD,KAAO,EAAGhD,KAAKyB,KAAO,EAAGzB,KAAKmB,KAAOnB,KAAKoB,MAAQrF,EAAGiE,KAAKe,MAAO,EAAIf,KAAKiB,SAAW,KAAMjB,KAAKgB,OAAS,OAAQhB,KAAKT,IAAMxD,EAAGiE,KAAKgC,WAAWpE,QAAQqE,IAAiBhG,EAAG,IAAK,IAAIgB,KAAK+C,KAAM,MAAQ/C,EAAEgG,OAAO,IAAM/E,EAAE9B,KAAK4D,KAAM/C,KAAOmF,OAAOnF,EAAEiG,MAAM,MAAQlD,KAAK/C,GAAKlB,EACrR,EACDoH,KAAM,WACJnD,KAAKe,MAAO,EACZ,IAAIhF,EAAIiE,KAAKgC,WAAW,GAAGE,WAC3B,GAAI,UAAYnG,EAAEuD,KAAM,MAAMvD,EAAEwD,IAChC,OAAOS,KAAKoD,IACb,EACD/B,kBAAmB,SAAUpF,GAC3B,GAAI+D,KAAKe,KAAM,MAAM9E,EACrB,IAAIgB,EAAI+C,KACR,SAASqD,EAAOnF,EAAGlC,GACjB,OAAOuC,EAAEe,KAAO,QAASf,EAAEgB,IAAMtD,EAAGgB,EAAEwE,KAAOvD,EAAGlC,IAAMiB,EAAE+D,OAAS,OAAQ/D,EAAEsC,IAAMxD,KAAMC,CACxF,CACD,IAAK,IAAIA,EAAIgE,KAAKgC,WAAWrE,OAAS,EAAG3B,GAAK,IAAKA,EAAG,CACpD,IAAIqC,EAAI2B,KAAKgC,WAAWhG,GACtBuC,EAAIF,EAAE6D,WACR,GAAI,SAAW7D,EAAEuD,OAAQ,OAAOyB,EAAO,OACvC,GAAIhF,EAAEuD,QAAU5B,KAAKgD,KAAM,CACzB,IAAIvE,EAAIP,EAAE9B,KAAKiC,EAAG,YAChBM,EAAIT,EAAE9B,KAAKiC,EAAG,cAChB,GAAII,GAAKE,EAAG,CACV,GAAIqB,KAAKgD,KAAO3E,EAAEwD,SAAU,OAAOwB,EAAOhF,EAAEwD,UAAU,GACtD,GAAI7B,KAAKgD,KAAO3E,EAAEyD,WAAY,OAAOuB,EAAOhF,EAAEyD,WAC/C,MAAM,GAAIrD,GACT,GAAIuB,KAAKgD,KAAO3E,EAAEwD,SAAU,OAAOwB,EAAOhF,EAAEwD,UAAU,OACjD,CACL,IAAKlD,EAAG,MAAM,IAAImC,MAAM,0CACxB,GAAId,KAAKgD,KAAO3E,EAAEyD,WAAY,OAAOuB,EAAOhF,EAAEyD,WAC/C,CACF,CACF,CACF,EACDR,OAAQ,SAAUvF,EAAGE,GACnB,IAAK,IAAIgB,EAAI+C,KAAKgC,WAAWrE,OAAS,EAAGV,GAAK,IAAKA,EAAG,CACpD,IAAIjB,EAAIgE,KAAKgC,WAAW/E,GACxB,GAAIjB,EAAE4F,QAAU5B,KAAKgD,MAAQ9E,EAAE9B,KAAKJ,EAAG,eAAiBgE,KAAKgD,KAAOhH,EAAE8F,WAAY,CAChF,IAAIzD,EAAIrC,EACR,KACD,CACF,CACDqC,IAAM,UAAYtC,GAAK,aAAeA,IAAMsC,EAAEuD,QAAU3F,GAAKA,GAAKoC,EAAEyD,aAAezD,EAAI,MACvF,IAAIE,EAAIF,EAAIA,EAAE6D,WAAa,CAAA,EAC3B,OAAO3D,EAAEe,KAAOvD,EAAGwC,EAAEgB,IAAMtD,EAAGoC,GAAK2B,KAAKgB,OAAS,OAAQhB,KAAKyB,KAAOpD,EAAEyD,WAAYlC,GAAKI,KAAKsD,SAAS/E,EACvG,EACD+E,SAAU,SAAUvH,EAAGE,GACrB,GAAI,UAAYF,EAAEuD,KAAM,MAAMvD,EAAEwD,IAChC,MAAO,UAAYxD,EAAEuD,MAAQ,aAAevD,EAAEuD,KAAOU,KAAKyB,KAAO1F,EAAEwD,IAAM,WAAaxD,EAAEuD,MAAQU,KAAKoD,KAAOpD,KAAKT,IAAMxD,EAAEwD,IAAKS,KAAKgB,OAAS,SAAUhB,KAAKyB,KAAO,OAAS,WAAa1F,EAAEuD,MAAQrD,IAAM+D,KAAKyB,KAAOxF,GAAI2D,CACzN,EACD2D,OAAQ,SAAUxH,GAChB,IAAK,IAAIE,EAAI+D,KAAKgC,WAAWrE,OAAS,EAAG1B,GAAK,IAAKA,EAAG,CACpD,IAAIgB,EAAI+C,KAAKgC,WAAW/F,GACxB,GAAIgB,EAAE6E,aAAe/F,EAAG,OAAOiE,KAAKsD,SAASrG,EAAEiF,WAAYjF,EAAE8E,UAAWE,EAAchF,GAAI2C,CAC3F,CACF,EACD4D,MAAO,SAAUzH,GACf,IAAK,IAAIE,EAAI+D,KAAKgC,WAAWrE,OAAS,EAAG1B,GAAK,IAAKA,EAAG,CACpD,IAAIgB,EAAI+C,KAAKgC,WAAW/F,GACxB,GAAIgB,EAAE2E,SAAW7F,EAAG,CAClB,IAAImC,EAAIjB,EAAEiF,WACV,GAAI,UAAYhE,EAAEoB,KAAM,CACtB,IAAItD,EAAIkC,EAAEqB,IACV0C,EAAchF,EACf,CACD,OAAOjB,CACR,CACF,CACD,MAAM,IAAI8E,MAAM,wBACjB,EACD2C,cAAe,SAAUxH,EAAGgB,EAAGiB,GAC7B,OAAO8B,KAAKiB,SAAW,CACrBzC,SAAU4B,EAAOnE,GACjBuF,WAAYvE,EACZyE,QAASxD,GACR,SAAW8B,KAAKgB,SAAWhB,KAAKT,IAAMxD,GAAI6D,CAC9C,GACA3D,CACL,CAWA,SAASyH,EAAe3H,GACtB,IAAIsC,EAXN,SAAsBtC,EAAGkB,GACvB,GAAI,iBAAmBlB,IAAMA,EAAG,OAAOA,EACvC,IAAIE,EAAIF,EAAEuC,OAAOqF,aACjB,QAAI,IAAW1H,EAAG,CAChB,IAAIoC,EAAIpC,EAAEG,KAAKL,EAAGkB,GAAK,WACvB,GAAI,iBAAmBoB,EAAG,OAAOA,EACjC,MAAM,IAAIhC,UAAU,+CACrB,CACD,OAAQ,WAAaY,EAAI2G,OAASC,QAAQ9H,EAC5C,CAEU+H,CAAa/H,EAAG,UACxB,MAAO,iBAAmBsC,EAAIA,EAAIuF,OAAOvF,EAC3C,CACA,SAAS0F,EAAmBC,EAAKtD,EAASuD,EAAQC,EAAOC,EAAQC,EAAK7E,GACpE,IACE,IAAI8E,EAAOL,EAAII,GAAK7E,GAChBnB,EAAQiG,EAAKjG,KAClB,CAAC,MAAOkG,GAEP,YADAL,EAAOK,EAER,CACGD,EAAKtD,KACPL,EAAQtC,GAERyE,QAAQnC,QAAQtC,GAAOwC,KAAKsD,EAAOC,EAEvC,CACA,SAASI,EAAkBC,GACzB,OAAO,WACL,IAAIrI,EAAO6D,KACTyE,EAAO/G,UACT,OAAO,IAAImF,SAAQ,SAAUnC,EAASuD,GACpC,IAAID,EAAMQ,EAAG5H,MAAMT,EAAMsI,GACzB,SAASP,EAAM9F,GACb2F,EAAmBC,EAAKtD,EAASuD,EAAQC,EAAOC,EAAQ,OAAQ/F,EACjE,CACD,SAAS+F,EAAOO,GACdX,EAAmBC,EAAKtD,EAASuD,EAAQC,EAAOC,EAAQ,QAASO,EAClE,CACDR,OAAMS,EACZ,GACA,CACA,CACA,SAASC,EAAgBC,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAIzI,UAAU,oCAExB,CACA,SAAS0I,EAAkBC,EAAQC,GACjC,IAAK,IAAI5G,EAAI,EAAGA,EAAI4G,EAAMtH,OAAQU,IAAK,CACrC,IAAI6G,EAAaD,EAAM5G,GACvB6G,EAAW3H,WAAa2H,EAAW3H,aAAc,EACjD2H,EAAWpG,cAAe,EACtB,UAAWoG,IAAYA,EAAWnG,UAAW,GACjD7B,OAAOc,eAAegH,EAAQtB,EAAewB,EAAWd,KAAMc,EAC/D,CACH,CACA,SAASC,EAAaL,EAAaM,EAAYC,GAM7C,OALID,GAAYL,EAAkBD,EAAYhI,UAAWsI,GACrDC,GAAaN,EAAkBD,EAAaO,GAChDnI,OAAOc,eAAe8G,EAAa,YAAa,CAC9C/F,UAAU,IAEL+F,CACT,CACA,SAASjH,EAAgByH,EAAKlB,EAAKhG,GAYjC,OAXAgG,EAAMV,EAAeU,MACVkB,EACTpI,OAAOc,eAAesH,EAAKlB,EAAK,CAC9BhG,MAAOA,EACPb,YAAY,EACZuB,cAAc,EACdC,UAAU,IAGZuG,EAAIlB,GAAOhG,EAENkH,CACT,CACA,SAASC,EAAUC,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIpJ,UAAU,sDAEtBmJ,EAAS1I,UAAYI,OAAOgC,OAAOuG,GAAcA,EAAW3I,UAAW,CACrEH,YAAa,CACXyB,MAAOoH,EACPzG,UAAU,EACVD,cAAc,KAGlB5B,OAAOc,eAAewH,EAAU,YAAa,CAC3CzG,UAAU,IAER0G,GAAYC,EAAgBF,EAAUC,EAC5C,CACA,SAASvJ,EAAgBF,GAIvB,OAHAE,EAAkBgB,OAAOuF,eAAiBvF,OAAOgD,eAAeyF,OAAS,SAAyB3J,GAChG,OAAOA,EAAE0G,WAAaxF,OAAOgD,eAAelE,EAChD,EACSE,EAAgBF,EACzB,CACA,SAAS0J,EAAgB1J,EAAG+D,GAK1B,OAJA2F,EAAkBxI,OAAOuF,eAAiBvF,OAAOuF,eAAekD,OAAS,SAAyB3J,EAAG+D,GAEnG,OADA/D,EAAE0G,UAAY3C,EACP/D,CACX,EACS0J,EAAgB1J,EAAG+D,EAC5B,CACA,SAASzD,EAAuBH,GAC9B,QAAa,IAATA,EACF,MAAM,IAAIyJ,eAAe,6DAE3B,OAAOzJ,CACT,CAgBA,SAAS0J,IAcP,OAZEA,EADqB,oBAAZpJ,SAA2BA,QAAQqJ,IACrCrJ,QAAQqJ,IAAIH,OAEZ,SAAcX,EAAQe,EAAUC,GACrC,IAAIC,EAZV,SAAwBC,EAAQH,GAC9B,MAAQ7I,OAAOJ,UAAUqB,eAAe/B,KAAK8J,EAAQH,IAEpC,QADfG,EAAShK,EAAgBgK,MAG3B,OAAOA,CACT,CAMiBC,CAAenB,EAAQe,GAClC,GAAKE,EAAL,CACA,IAAIG,EAAOlJ,OAAOI,yBAAyB2I,EAAMF,GACjD,OAAIK,EAAKN,IACAM,EAAKN,IAAI1J,KAAKsB,UAAUC,OAAS,EAAIqH,EAASgB,GAEhDI,EAAKhI,KALM,CAMxB,EAESyH,EAAKjJ,MAAMoD,KAAMtC,UAC1B,CACA,SAAS2I,EAAeC,EAAKjI,GAC3B,OAQF,SAAyBiI,GACvB,GAAIC,MAAMC,QAAQF,GAAM,OAAOA,CACjC,CAVSG,CAAgBH,IAhfzB,SAA+BrJ,EAAGwC,GAChC,IAAI1D,EAAI,MAAQkB,EAAI,KAAO,oBAAsBqB,QAAUrB,EAAEqB,OAAOE,WAAavB,EAAE,cACnF,GAAI,MAAQlB,EAAG,CACb,IAAIE,EACFiC,EACAG,EACAM,EACAJ,EAAI,GACJmB,GAAI,EACJ1D,GAAI,EACN,IACE,GAAIqC,GAAKtC,EAAIA,EAAEK,KAAKa,IAAIwE,KAAM,IAAMhC,EAAG,CACrC,GAAIvC,OAAOnB,KAAOA,EAAG,OACrB2D,GAAI,CACZ,MAAa,OAASA,GAAKzD,EAAIoC,EAAEjC,KAAKL,IAAIgF,QAAUxC,EAAEf,KAAKvB,EAAEmC,OAAQG,EAAEZ,SAAW8B,GAAIC,GAAI,GACrF,CAAC,MAAOzC,GACPjB,GAAI,EAAIkC,EAAIjB,CAClB,CAAc,QACR,IACE,IAAKyC,GAAK,MAAQ3D,EAAEwF,SAAW5C,EAAI5C,EAAEwF,SAAUrE,OAAOyB,KAAOA,GAAI,MACzE,CAAgB,QACR,GAAI3C,EAAG,MAAMkC,CACd,CACF,CACD,OAAOK,CACR,CACH,CAsdiCmI,CAAsBJ,EAAKjI,IAAMsI,EAA4BL,EAAKjI,IA8BnG,WACE,MAAM,IAAIhC,UAAU,4IACtB,CAhCyGuK,EACzG,CACA,SAASC,EAAmBP,GAC1B,OAEF,SAA4BA,GAC1B,GAAIC,MAAMC,QAAQF,GAAM,OAAOQ,EAAkBR,EACnD,CAJSS,CAAmBT,IAQ5B,SAA0BU,GACxB,GAAsB,oBAAX1I,QAAmD,MAAzB0I,EAAK1I,OAAOE,WAA2C,MAAtBwI,EAAK,cAAuB,OAAOT,MAAMU,KAAKD,EACtH,CAVoCE,CAAiBZ,IAAQK,EAA4BL,IAwBzF,WACE,MAAM,IAAIjK,UAAU,uIACtB,CA1BiG8K,EACjG,CAUA,SAASR,EAA4B3K,EAAGoL,GACtC,GAAKpL,EAAL,CACA,GAAiB,iBAANA,EAAgB,OAAO8K,EAAkB9K,EAAGoL,GACvD,IAAIlJ,EAAIhB,OAAOJ,UAAUuK,SAASjL,KAAKJ,GAAGkH,MAAM,GAAI,GAEpD,MADU,WAANhF,GAAkBlC,EAAEW,cAAauB,EAAIlC,EAAEW,YAAY4F,MAC7C,QAANrE,GAAqB,QAANA,EAAoBqI,MAAMU,KAAKjL,GACxC,cAANkC,GAAqB,2CAA2CoJ,KAAKpJ,GAAW4I,EAAkB9K,EAAGoL,QAAzG,CALe,CAMjB,CACA,SAASN,EAAkBR,EAAKiB,IACnB,MAAPA,GAAeA,EAAMjB,EAAI3I,UAAQ4J,EAAMjB,EAAI3I,QAC/C,IAAK,IAAIU,EAAI,EAAGmJ,EAAO,IAAIjB,MAAMgB,GAAMlJ,EAAIkJ,EAAKlJ,IAAKmJ,EAAKnJ,GAAKiI,EAAIjI,GACnE,OAAOmJ,CACT,CCrhBA,SAASzL,EAAEA,EAAEE,EAAE0D,GAAG,OAAO1D,EAAE,SAASF,GAAG,IAAIE,EAAE,SAASF,GAAK,GAAG,iBAAiBA,IAAIA,EAAE,OAAOA,EAAE,IAAI4D,EAAE5D,EAAEuC,OAAOqF,aAAa,QAAG,IAAShE,EAAE,CAAC,IAAItB,EAAEsB,EAAEvD,KAAKL,EAAEE,UAAc,GAAG,iBAAiBoC,EAAE,OAAOA,EAAE,MAAM,IAAIhC,UAAU,+CAA+C,CAAC,OAAoBuH,OAAe7H,EAAE,CAAjQ,CAAmQA,GAAY,MAAM,iBAAiBE,EAAEA,EAAEA,EAAE,EAAE,CAAhU,CAAkUA,MAAMF,EAAEmB,OAAOc,eAAejC,EAAEE,EAAE,CAACmC,MAAMuB,EAAEpC,YAAW,EAAGuB,cAAa,EAAGC,UAAS,IAAKhD,EAAEE,GAAG0D,EAAE5D,CAAC,CAAC,SAASE,EAAEF,EAAEE,GAAG,IAAI0D,EAAEzC,OAAOC,KAAKpB,GAAG,GAAGmB,OAAOE,sBAAsB,CAAC,IAAIiB,EAAEnB,OAAOE,sBAAsBrB,GAAGE,IAAIoC,EAAEA,EAAEhB,QAAM,SAAWpB,GAAG,OAAOiB,OAAOI,yBAAyBvB,EAAEE,GAAGsB,UAAW,KAAIoC,EAAEnC,KAAKZ,MAAM+C,EAAEtB,EAAE,CAAC,OAAOsB,CAAC,CAAC,SAASA,EAAEA,GAAG,IAAI,IAAItB,EAAE,EAAEA,EAAEX,UAAUC,OAAOU,IAAI,CAAC,IAAIpB,EAAE,MAAMS,UAAUW,GAAGX,UAAUW,GAAG,CAAA,EAAGA,EAAE,EAAEpC,EAAEiB,OAAOD,IAAG,GAAIW,kBAAkB3B,GAAGF,EAAE4D,EAAE1D,EAAEgB,EAAEhB,GAAI,IAAGiB,OAAOY,0BAA0BZ,OAAOa,iBAAiB4B,EAAEzC,OAAOY,0BAA0Bb,IAAIhB,EAAEiB,OAAOD,IAAIW,SAAS,SAAS7B,GAAGmB,OAAOc,eAAe2B,EAAE5D,EAAEmB,OAAOI,yBAAyBL,EAAElB,GAAI,GAAE,CAAC,OAAO4D,CAAC,CAAC,SAAStB,EAAEtC,EAAEE,GAAG,GAAG,MAAMF,EAAE,MAAM,CAAE,EAAC,IAAI4D,EAAEtB,EAAEpB,EAAE,SAASlB,EAAEE,GAAG,GAAG,MAAMF,EAAE,MAAM,CAAA,EAAG,IAAI4D,EAAE,CAAA,EAAG,IAAI,IAAItB,KAAKtC,EAAE,GAAG,CAAA,EAAGoC,eAAe/B,KAAKL,EAAEsC,GAAG,CAAC,GAAGpC,EAAEwL,QAAQpJ,IAAI,EAAE,SAASsB,EAAEtB,GAAGtC,EAAEsC,EAAE,CAAC,OAAOsB,CAAC,CAAxI,CAA0I5D,EAAEE,GAAG,GAAGiB,OAAOE,sBAAsB,CAAC,IAAIc,EAAEhB,OAAOE,sBAAsBrB,GAAG,IAAIsC,EAAE,EAAEA,EAAEH,EAAEP,OAAOU,IAAIsB,EAAEzB,EAAEG,GAAGpC,EAAEwL,QAAQ9H,IAAI,GAAG,CAAA,EAAG+H,qBAAqBtL,KAAKL,EAAE4D,KAAK1C,EAAE0C,GAAG5D,EAAE4D,GAAG,CAAC,OAAO1C,CAAC,CAAC,SAASA,EAAElB,EAAEE,GAAG,OAAOA,IAAIA,EAAEF,EAAEmH,MAAM,IAAIhG,OAAOyK,OAAOzK,OAAOa,iBAAiBhC,EAAE,CAAC6L,IAAI,CAACxJ,MAAMlB,OAAOyK,OAAO1L,MAAM,CAAC,MAAMiC,EAAE,WAAAvB,GAAcZ,EAAEiE,KAAK,4BAA4B,GAAGjE,EAAEiE,KAAK,MAAM,IAAIjE,EAAEiE,KAAK,mBAAmB,oBAAoB6H,OAAOA,OAAOC,iBAAiB,GAAG/L,EAAEiE,KAAK,qBAAqB,SAASjE,EAAEiE,KAAK,oBAAoB,MAAMjE,EAAEiE,KAAK,oBAAoB,KAAKjE,EAAEiE,KAAK,yBAAwB,GAAIjE,EAAEiE,KAAK,qBAAoB,GAAIjE,EAAEiE,KAAK,cAAc,MAAMjE,EAAEiE,KAAK,uBAAsB,GAAIjE,EAAEiE,KAAK,uBAAsB,GAAIjE,EAAEiE,KAAK,YAAY,CAAE,GAAEjE,EAAEiE,KAAK,sBAAsB,EAAE,EAAE,MAAMhE,EAAE,IAAI,cAAckC,EAAE,WAAAvB,CAAYZ,GAAGgM,QAAQ/H,KAAKgI,UAAUjM,EAAE,CAAC,SAAAiM,GAAY,IAAIjM,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAE,EAACR,OAAO+K,OAAOjI,KAAKjE,EAAE,CAAC,QAAAmM,GAAW,IAAInM,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAE,EAACsC,KAAKmI,UAAUxI,EAAEA,EAAE,CAAA,EAAGK,KAAKmI,WAAWpM,EAAE,CAAC,WAAAqM,IAAe1K,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,IAAIE,SAAS7B,WAAWiE,KAAKmI,UAAUpM,EAAG,GAAE,CAAC,UAAAsM,GAAarI,KAAKmI,UAAU,CAAE,CAAA,CAAC,eAAAG,CAAgBvM,GAAG,MAAME,EAAE,IAAIiC,EAAEyB,GAAG,MAAM5D,OAAE,EAAOA,EAAEwM,SAASxM,EAAE4D,KAAK5D,EAAE4D,GAAG1D,EAAE0D,GAAG5D,IAAI,CAAA,KAAME,EAAE+D,KAAKgI,UAAUrI,EAAE,GAAGpB,EAAE,SAASxC,GAAG,IAAI,IAAIE,EAAEyB,UAAUC,OAAOgC,EAAE,IAAI4G,MAAMtK,EAAE,EAAEA,EAAE,EAAE,GAAGoC,EAAE,EAAEA,EAAEpC,EAAEoC,IAAIsB,EAAEtB,EAAE,GAAGX,UAAUW,GAAG,OAAOmK,QAAQzM,GAAG,YAAY4D,EAAE,EAAE,MAAMH,UAAUsB,MAAM,WAAAnE,CAAYZ,EAAEE,GAAG8L,MAAM,WAAWU,OAAO1M,GAAGE,EAAE,EAAE,MAAMwC,UAAUe,EAAE,WAAA7C,CAAYZ,GAAGgM,MAAM,GAAGU,OAAO1M,EAAE,2CAA2C,EAAE,MAAM0D,GAAG,MAAMd,UAAUc,EAAE,aAAAiJ,CAAc3M,EAAEE,GAAG,MAAM0D,EAAE,aAAa8I,OAAOxM,EAAE,0BAA0BoC,EAAEtC,EAAE4M,aAAa5M,EAAE6M,iBAAiB,QAAQvK,IAAItC,EAAE8M,aAAaxK,EAAEsB,GAAG5D,EAAE+M,cAAczK,KAAKtC,EAAEgN,mBAAmB1K,EAAEtC,EAAEiN,gBAAgB,CAAC,UAAAC,CAAWlN,GAAG,MAAME,EAAEF,EAAEmN,WAAW,SAASjN,IAAI+D,KAAKmJ,eAAelN,EAAEmN,aAAanN,EAAEoN,kBAAkBrJ,KAAKsJ,YAAY,CAAC,QAAQ,UAAU,QAAQC,MAAMxN,GAAGiE,KAAK0I,cAAczM,EAAEF,KAAKE,EAAEuN,aAAa,sBAAsBC,cAAclL,EAAE,MAAM,2BAA2BkK,OAAOzI,KAAKmJ,iBAAiB,CAAC,WAAAO,CAAY3N,GAAG,QAAQiE,KAAKmJ,gBAAgBnJ,KAAKmJ,gBAAgBpN,CAAC,EAAE,MAAMkE,EAAE,CAAA,EAAG,IAAII,EAAO,MAAYN,EAAE,IAAIM,IAAIA,EAAE,CAACsJ,SAASA,SAAS9B,OAAOA,OAAO+B,iBAAiB,iBAAiB/B,QAAQ,iBAAiB8B,UAAU9B,QAAQA,OAAOgC,WAAWhC,OAAOgC,UAAUC,eAAe,EAAEC,WAAW,IAAIpL,EAAE,OAAAqL,KAAYC,cAAchK,IAAIiK,EAAE,IAAInK,IAAI4J,SAASxJ,EAAE,IAAIJ,IAAI8H,OAAOjI,EAAE,KAAK,IAAI7D,EAAE,OAAOoO,KAAKC,IAAI,QAAQrO,EAAEC,EAAE8L,wBAAmB,IAAS/L,EAAEA,EAAEoE,IAAI2H,iBAAiB,EAAC,EAASuC,EAAE,IAAI,MAAM,WAAA1N,GAAcZ,EAAEiE,KAAK,kBAAkB,CAAA,GAAIjE,EAAEiE,KAAK,qBAAqB,CAAA,EAAG,CAAC,YAAAsK,CAAavO,GAAG,IAAIwO,WAAWtO,EAAEuO,UAAU7K,EAAE8K,WAAWpM,GAAGtC,EAAEE,EAAEA,EAAEyO,cAAc1K,KAAK2K,gBAAgB1O,KAAK+D,KAAK2K,gBAAgB1O,GAAG,IAAI,MAAMgB,EAAE+C,KAAK2K,gBAAgB1O,GAAGiC,EAAE,GAAGuK,OAAO9I,EAAE+K,cAAc,KAAKjC,QAAQpK,EAAE,IAAIqM,eAAe,OAAOzN,EAAEiB,KAAKjB,EAAEiB,GAAG,CAAE,GAAEjB,EAAEiB,EAAE,CAAC,cAAA0M,CAAe7O,IAAIA,GAAGA,GAAG,IAAI2O,eAAe1K,KAAK2K,gBAAgB5O,WAAWiE,KAAK2K,gBAAgB5O,GAAGiE,KAAK2K,gBAAgB,CAAE,CAAA,CAAC,eAAAE,CAAgB9O,GAAG,MAAM+O,mBAAmB7O,GAAGD,EAAE2D,EAAEwK,KAAKY,KAAK9O,EAAEF,GAAG,MAAM,CAACoO,KAAKa,MAAMrL,GAAGwK,KAAKa,MAAM/O,EAAE0D,GAAG,GAASsL,EAAE,QAAQ,SAASC,IAAG,CAAE,MAAMC,EAAEhB,KAAKiB,GAAG,EAAEC,EAAE,EAAElB,KAAKiB,GAAGE,EAAEnB,KAAKiB,GAAG,IAAIG,EAAErO,OAAOyK,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI6D,EAAE,GAAGC,GAAE,YAAYC,GAAE,SAASC,GAAE,OAAOC,GAAE,MAAMC,GAAE,SAASC,GAAE,QAAQC,GAAE,OAAOC,GAAE,QAAQC,GAAE,SAASC,GAAE,UAAUC,GAAE,WAAWC,GAAE,SAASC,GAAE,UAAUC,GAAE,WAAWC,GAAE,aAAaC,GAAE,aAAaC,GAAE,UAAUC,GAAE,QAAQC,GAAE,SAASC,GAAE,SAASC,GAAE,QAAQC,GAAE,QAAQC,GAAE,OAAOC,GAAE,SAASC,GAAE,WAAWC,GAAE,OAAOC,GAAE,MAAYC,GAAG,IAAI,MAAM,WAAAzQ,GAAcqD,KAAKkN,IAAG,IAAIG,IAAIrN,KAAKmN,IAAG,IAAIE,GAAG,CAAC,GAAAC,CAAIvR,GAAG,OAAOiE,KAAKkN,IAAGI,IAAIvR,EAAE,CAAC,QAAAwR,CAASxR,GAAG,MAAME,EAAE+D,KAAKkN,IAAGpH,IAAI/J,GAAG,IAAIE,EAAE,MAAM,IAAIuD,EAAE,2BAA2BiJ,OAAO1M,IAAI,OAAOE,CAAC,CAAC,QAAAuR,CAASzR,EAAEE,GAAGA,EAAE+D,KAAKkN,IAAGO,IAAIxR,EAAEF,IAAIiE,KAAKkN,IAAGO,IAAI1R,EAAEuD,KAAKvD,GAAGiE,KAAKkN,IAAGO,IAAI1R,EAAEuD,KAAKoL,cAAc3O,GAAG,CAAC,WAAA2R,CAAY3R,GAAG,OAAOiE,KAAKmN,IAAGrH,IAAI/J,EAAE,CAAC,WAAA4R,CAAY5R,EAAEE,GAAG+D,KAAKmN,IAAGM,IAAI,MAAMxR,EAAEA,EAAEF,EAAEuD,KAAKoL,cAAc3O,EAAE,GAAS6R,GAAG,IAAI,cAAcrH,MAAM,MAAAsH,CAAO9R,GAAG,MAAME,EAAE+D,KAAKyH,QAAQ1L,GAAGE,GAAG,GAAG+D,KAAK8N,OAAO7R,EAAE,EAAE,CAAC,SAAA8R,GAAY,MAAMhS,EAAEiE,KAAK8N,OAAO,GAAG,OAAO/R,EAAE6B,SAAS7B,GAAGA,EAAEiS,UAAUjS,CAAC,CAAC,cAAAkS,CAAelS,GAAG,IAAIA,EAAE,MAAM,GAAG,MAAME,EAAE+D,KAAK3C,QAAQpB,IAAI,IAAI0D,EAAE,OAAO1D,EAAE+I,SAASjJ,GAAG,iBAAiBE,EAAE+I,SAAS,QAAQrF,EAAE1D,EAAE+I,cAAS,IAASrF,OAAE,EAAOA,EAAEuO,UAAUnS,CAAE,IAAG,OAAOE,EAAE2B,SAAS7B,GAAGA,EAAEiS,UAAU/R,CAAC,CAAC,cAAAkS,CAAepS,GAAG,IAAIA,EAAE,MAAM,GAAG,MAAME,EAAE+D,KAAK3C,QAAQpB,GAAGA,EAAE+I,SAASjJ,IAAI,OAAOE,EAAE2B,SAAS7B,GAAGA,EAAEiS,UAAU/R,CAAC,GAAG,MAAMmS,GAAG,WAAAzR,GAAcZ,EAAEiE,KAAK,mBAAmB,CAAE,EAAC,CAAC,EAAAqO,CAAGtS,EAAEE,GAAG,GAAG+D,KAAKsO,mBAAmBtO,KAAKsO,iBAAiB,IAAI,iBAAiBvS,EAAE,OAAOmB,OAAOqR,QAAQxS,GAAG6B,SAAS7B,IAAI,IAAIE,EAAE0D,GAAG5D,EAAEiE,KAAKqO,GAAGpS,EAAE0D,EAAG,IAAG,IAAIK,KAAKwO,IAAIzS,GAAG,GAAGE,EAAE,CAAC,MAAM0D,EAAE5D,EAAE,OAAOiE,KAAKsO,iBAAiB3O,KAAKK,KAAKsO,iBAAiB3O,GAAG,IAAIK,KAAKsO,iBAAiB3O,GAAGnC,KAAKvB,GAAG,IAAI+D,KAAKwO,IAAI7O,EAAE1D,EAAE,CAAC,MAAM,KAAI,CAAE,CAAC,IAAAwS,CAAK1S,EAAEE,GAAG,GAAG,iBAAiBF,EAAE,CAAC,MAAME,EAAE,GAAG,OAAOiB,OAAOqR,QAAQxS,GAAG6B,SAAS7B,IAAI,IAAI4D,EAAEtB,GAAGtC,EAAEE,EAAEuB,KAAKwC,KAAKyO,KAAK9O,EAAEtB,GAAI,IAAG,IAAIpC,EAAE2B,SAAS7B,GAAGA,KAAK,CAAC,GAAGE,EAAE,CAAC,MAAM0D,EAAEK,KAAKqO,GAAGtS,GAAG,WAAW,IAAI,IAAIA,EAAE2B,UAAUC,OAAOU,EAAE,IAAIkI,MAAMxK,GAAGkB,EAAE,EAAEA,EAAElB,EAAEkB,IAAIoB,EAAEpB,GAAGS,UAAUT,GAAGhB,EAAEG,KAAK4D,QAAQ3B,GAAGsB,GAAI,IAAG,OAAOA,CAAC,CAAC,MAAM,KAAI,CAAE,CAAC,oBAAA+O,CAAqB3S,EAAEE,GAAG,GAAG+D,KAAKsO,iBAAiBvS,GAAG,GAAGE,EAAE,CAAC,MAAM0D,EAAEK,KAAKsO,iBAAiBvS,GAAGsC,EAAEsB,EAAE8H,QAAQxL,GAAGoC,GAAG,GAAGsB,EAAEmO,OAAOzP,EAAE,EAAE,MAAM2B,KAAKsO,iBAAiBvS,GAAG,EAAE,CAAC,GAAAyS,CAAIzS,EAAEE,GAAG,GAAG+D,KAAKsO,iBAAiB,QAAG,IAASvS,EAAE,IAAI,MAAMA,KAAKiE,KAAKsO,iBAAiBtO,KAAK0O,qBAAqB3S,OAAO,iBAAiBA,EAAEmB,OAAOqR,QAAQxS,GAAG6B,SAAS7B,IAAI,IAAIE,EAAE0D,GAAG5D,EAAEiE,KAAK0O,qBAAqBzS,EAAE0D,EAAG,IAAGK,KAAK0O,qBAAqB3S,EAAEE,EAAE,CAAC,IAAA0S,CAAK5S,EAAEE,GAAG,IAAI0D,EAAE,IAAIK,KAAKsO,iBAAiB,OAAO,MAAMjQ,EAAE,QAAQsB,EAAEK,KAAKsO,iBAAiBvS,UAAK,IAAS4D,OAAE,EAAOA,EAAE8I,SAAS,GAAGpK,EAAE,IAAI,IAAItC,EAAE,EAAEA,EAAEsC,EAAEV,OAAO5B,IAAIsC,EAAEtC,GAAGK,KAAK4D,KAAK/D,GAAG,CAAA,EAAG,EAAE,MAAM2S,GAAG,CAAC7S,EAAEE,KAAK,MAAM0D,EAAE5D,EAAE0L,QAAQxL,GAAG,OAAO,IAAI0D,GAAG5D,EAAE+R,OAAOnO,EAAE,GAAG5D,GAAG8S,GAAG9S,IAAI,GAAG,IAAIA,EAAE,OAAO,EAAE,OAAOoO,KAAK2E,IAAI/S,GAAGoP,GAAG,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAOhB,KAAK4E,IAAIhT,EAAC,EAAGiT,GAAGjT,IAAI,GAAG,IAAIA,EAAE,OAAO,EAAE,MAAME,EAAEF,EAAEoP,EAAExL,EAAEwK,KAAK8E,KAAKlT,GAAG,OAAOE,GAAG,KAAK,EAAE,OAAO0D,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAOA,EAAE,OAAOwK,KAAK+E,IAAInT,EAAC,EAAG,MAAMoT,GAAG,WAAAxS,GAAc,IAAIZ,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,EAAEzB,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,EAAE,iBAAiB3B,GAAGiE,KAAKiL,EAAElP,EAAEkP,EAAEjL,KAAKJ,EAAE7D,EAAE6D,IAAII,KAAKiL,EAAElP,EAAEiE,KAAKJ,EAAE3D,EAAE,CAAC,GAAAmT,CAAIrT,GAAG,OAAO,IAAIoT,GAAGnP,KAAKiL,EAAElP,EAAEkP,EAAEjL,KAAKJ,EAAE7D,EAAE6D,EAAE,CAAC,SAAAyP,CAAUtT,GAAG,OAAOiE,KAAKiL,GAAGlP,EAAEkP,EAAEjL,KAAKJ,GAAG7D,EAAE6D,EAAEI,IAAI,CAAC,SAAAsP,CAAUvT,GAAG,OAAO,IAAIoT,GAAGnP,KAAKiL,EAAElP,EAAEiE,KAAKJ,EAAE7D,EAAE,CAAC,eAAAwT,CAAgBxT,GAAG,OAAOiE,KAAKiL,GAAGlP,EAAEiE,KAAKJ,GAAG7D,EAAEiE,IAAI,CAAC,QAAAwP,CAASzT,GAAG,OAAO,IAAIoT,GAAGnP,KAAKiL,EAAElP,EAAEkP,EAAEjL,KAAKJ,EAAE7D,EAAE6D,EAAE,CAAC,cAAA6P,CAAe1T,GAAG,OAAOiE,KAAKiL,GAAGlP,EAAEkP,EAAEjL,KAAKJ,GAAG7D,EAAE6D,EAAEI,IAAI,CAAC,cAAA0P,CAAe3T,GAAG,OAAO,IAAIoT,GAAGnP,KAAKiL,EAAElP,EAAEiE,KAAKJ,EAAE7D,EAAE,CAAC,oBAAA4T,CAAqB5T,GAAG,OAAOiE,KAAKiL,GAAGlP,EAAEiE,KAAKJ,GAAG7D,EAAEiE,IAAI,CAAC,QAAA4P,CAAS7T,GAAG,OAAO,IAAIoT,GAAGnP,KAAKiL,EAAElP,EAAEkP,EAAEjL,KAAKJ,EAAE7D,EAAE6D,EAAE,CAAC,cAAAiQ,CAAe9T,GAAG,OAAO,IAAIoT,GAAGnP,KAAKiL,EAAElP,EAAEiE,KAAKJ,EAAE7D,EAAE,CAAC,oBAAA+T,CAAqB/T,GAAG,OAAOiE,KAAKiL,GAAGlP,EAAEiE,KAAKJ,GAAG7D,EAAEiE,IAAI,CAAC,MAAA+P,CAAOhU,GAAG,OAAO,IAAIoT,GAAGnP,KAAKiL,EAAElP,EAAEkP,EAAEjL,KAAKJ,EAAE7D,EAAE6D,EAAE,CAAC,YAAAoQ,CAAajU,GAAG,OAAO,IAAIoT,GAAGnP,KAAKiL,EAAElP,EAAEiE,KAAKJ,EAAE7D,EAAE,CAAC,kBAAAkU,CAAmBlU,GAAG,OAAOiE,KAAKiL,GAAGlP,EAAEiE,KAAKJ,GAAG7D,EAAEiE,IAAI,CAAC,EAAAkQ,CAAGnU,GAAG,OAAOiE,KAAKiL,IAAIlP,EAAEkP,GAAGjL,KAAKJ,IAAI7D,EAAE6D,CAAC,CAAC,EAAAuQ,CAAGpU,GAAG,OAAOiE,KAAKiL,EAAElP,EAAEkP,GAAGjL,KAAKJ,EAAE7D,EAAE6D,CAAC,CAAC,GAAAwQ,CAAIrU,GAAG,OAAOiE,KAAKiL,GAAGlP,EAAEkP,GAAGjL,KAAKJ,GAAG7D,EAAE6D,CAAC,CAAC,EAAAyQ,CAAGtU,GAAG,OAAOiE,KAAKiL,EAAElP,EAAEkP,GAAGjL,KAAKJ,EAAE7D,EAAE6D,CAAC,CAAC,GAAA0Q,CAAIvU,GAAG,OAAOiE,KAAKiL,GAAGlP,EAAEkP,GAAGjL,KAAKJ,GAAG7D,EAAE6D,CAAC,CAAC,IAAA2Q,CAAKxU,GAAG,IAAIE,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,OAAOzB,EAAEkO,KAAKC,IAAID,KAAKqG,IAAI,EAAEvU,GAAG,GAAG,IAAIkT,GAAGnP,KAAKiL,GAAGlP,EAAEkP,EAAEjL,KAAKiL,GAAGhP,EAAE+D,KAAKJ,GAAG7D,EAAE6D,EAAEI,KAAKJ,GAAG3D,EAAE,CAAC,YAAAwU,CAAa1U,GAAG,MAAME,EAAE+D,KAAKiL,EAAElP,EAAEkP,EAAEtL,EAAEK,KAAKJ,EAAE7D,EAAE6D,EAAE,OAAOuK,KAAKY,KAAK9O,EAAEA,EAAE0D,EAAEA,EAAE,CAAC,YAAA+Q,CAAa3U,GAAG,OAAOiE,KAAKuQ,KAAKxU,EAAE,CAAC,GAAAyU,CAAIzU,GAAG,OAAO,IAAIoT,GAAGhF,KAAKqG,IAAIxQ,KAAKiL,EAAElP,EAAEkP,GAAGd,KAAKqG,IAAIxQ,KAAKJ,EAAE7D,EAAE6D,GAAG,CAAC,GAAAwK,CAAIrO,GAAG,OAAO,IAAIoT,GAAGhF,KAAKC,IAAIpK,KAAKiL,EAAElP,EAAEkP,GAAGd,KAAKC,IAAIpK,KAAKJ,EAAE7D,EAAE6D,GAAG,CAAC,QAAAyH,GAAW,MAAM,GAAGoB,OAAOzI,KAAKiL,EAAE,KAAKxC,OAAOzI,KAAKJ,EAAE,CAAC,KAAA+Q,CAAM5U,EAAEE,GAAG,OAAO+D,KAAKiL,EAAElP,EAAEiE,KAAKJ,EAAE3D,EAAE+D,IAAI,CAAC,IAAA4Q,CAAK7U,GAAG,OAAOiE,KAAKiL,EAAElP,EAAEiE,IAAI,CAAC,IAAA6Q,CAAK9U,GAAG,OAAOiE,KAAKJ,EAAE7D,EAAEiE,IAAI,CAAC,YAAA8Q,CAAa/U,GAAG,OAAOiE,KAAKiL,EAAElP,EAAEkP,EAAEjL,KAAKJ,EAAE7D,EAAE6D,EAAEI,IAAI,CAAC,IAAA+Q,CAAKhV,GAAG,MAAME,EAAE+D,KAAKiL,EAAEtL,EAAEK,KAAKJ,EAAEI,KAAKiL,EAAElP,EAAEkP,EAAEjL,KAAKJ,EAAE7D,EAAE6D,EAAE7D,EAAEkP,EAAEhP,EAAEF,EAAE6D,EAAED,CAAC,CAAC,KAAAqR,GAAQ,OAAO,IAAI7B,GAAGnP,KAAKiL,EAAEjL,KAAKJ,EAAE,CAAC,MAAAqR,CAAOlV,GAAG,IAAIE,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAGwT,GAAG,MAAMvR,EAAEqP,GAAGjT,GAAGsC,EAAEwQ,GAAG9S,GAAGkB,EAAE+C,KAAKwP,SAASvT,GAAG,OAAO,IAAIkT,GAAGlS,EAAEgO,EAAE5M,EAAEpB,EAAE2C,EAAED,EAAE1C,EAAEgO,EAAEtL,EAAE1C,EAAE2C,EAAEvB,GAAG+Q,IAAInT,EAAE,CAAC,SAAAkV,CAAUpV,GAAG,IAAIE,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,IAAIA,UAAU,GAAG,OAAO,IAAIyR,GAAGpT,EAAE,GAAGiE,KAAKiL,EAAElP,EAAE,GAAGiE,KAAKJ,GAAG3D,EAAE,EAAEF,EAAE,IAAIA,EAAE,GAAGiE,KAAKiL,EAAElP,EAAE,GAAGiE,KAAKJ,GAAG3D,EAAE,EAAEF,EAAE,IAAI,EAAE,MAAMmV,GAAG,IAAI/B,GAAG,EAAE,GAAGiC,GAAGrV,KAAKA,GAAGwK,MAAMC,QAAQzK,EAAEsV,UAAU,SAASC,GAAGrV,GAAG,MAAM0D,UAAU1D,EAAE,WAAAU,GAAcoL,SAASrK,WAAW3B,EAAEiE,KAAK,WAAW,GAAG,CAAC,cAAAuR,CAAexV,GAAI,CAAA,gBAAAyV,CAAiBzV,GAAI,CAAA,oBAAA0V,CAAqB1V,IAAI,GAAAqT,GAAM,IAAI,IAAIrT,EAAE2B,UAAUC,OAAO1B,EAAE,IAAIsK,MAAMxK,GAAG4D,EAAE,EAAEA,EAAE5D,EAAE4D,IAAI1D,EAAE0D,GAAGjC,UAAUiC,GAAG,MAAMtB,EAAE2B,KAAKqR,SAAS7T,QAAQvB,GAAG,OAAOA,EAAE2B,SAAS7B,GAAGiE,KAAKuR,eAAexV,KAAKsC,CAAC,CAAC,QAAAqT,CAAS3V,GAAG,IAAI,IAAIE,EAAEyB,UAAUC,OAAOgC,EAAE,IAAI4G,MAAMtK,EAAE,EAAEA,EAAE,EAAE,GAAGoC,EAAE,EAAEA,EAAEpC,EAAEoC,IAAIsB,EAAEtB,EAAE,GAAGX,UAAUW,GAAG,OAAO2B,KAAKqR,SAASvD,OAAO/R,EAAE,KAAK4D,GAAGA,EAAE/B,SAAS7B,GAAGiE,KAAKuR,eAAexV,KAAKiE,KAAKqR,SAAS1T,MAAM,CAAC,MAAAkQ,GAAS,MAAM9R,EAAEiE,KAAKqR,SAASpV,EAAE,GAAG,IAAI,IAAI0D,EAAEjC,UAAUC,OAAOU,EAAE,IAAIkI,MAAM5G,GAAG1C,EAAE,EAAEA,EAAE0C,EAAE1C,IAAIoB,EAAEpB,GAAGS,UAAUT,GAAG,OAAOoB,EAAET,SAAS+B,IAAI,MAAMtB,EAAEtC,EAAE0L,QAAQ9H,IAAI,IAAItB,IAAItC,EAAE+R,OAAOzP,EAAE,GAAGpC,EAAEuB,KAAKmC,GAAGK,KAAKwR,iBAAiB7R,GAAI,IAAG1D,CAAC,CAAC,aAAA0V,CAAc5V,GAAGiE,KAAK4R,aAAahU,UAAU3B,EAAE0D,EAAEtB,IAAItC,EAAEE,EAAE0D,EAAEtB,IAAI,CAAC,UAAAuT,GAAa,IAAI,IAAI7V,EAAE2B,UAAUC,OAAO1B,EAAE,IAAIsK,MAAMxK,GAAG4D,EAAE,EAAEA,EAAE5D,EAAE4D,IAAI1D,EAAE0D,GAAGjC,UAAUiC,GAAG,OAAO,IAAI1D,EAAE0B,OAAO,IAAIqC,KAAKqR,UAAUrR,KAAKqR,SAAShU,QAAQtB,GAAGA,EAAE8V,UAAU5V,IAAI,CAAC,IAAA6V,CAAK/V,GAAG,OAAOiE,KAAKqR,SAAStV,EAAE,CAAC,OAAAgW,GAAU,OAAO,IAAI/R,KAAKqR,SAAS1T,MAAM,CAAC,IAAAqU,GAAO,OAAOhS,KAAKqR,SAAS1T,MAAM,CAAC,QAAAsU,CAASlW,EAAEE,GAAG,QAAQ+D,KAAKqR,SAASa,SAASnW,MAAME,GAAG+D,KAAKqR,SAASc,MAAMlW,GAAGA,aAAa0D,GAAG1D,EAAEgW,SAASlW,GAAE,IAAK,CAAC,UAAAqW,GAAa,OAAOpS,KAAKqR,SAAS9I,QAAM,CAAGxM,EAAEE,IAAIF,GAAGE,EAAEmW,WAAWnW,EAAEmW,aAAa,IAAG,EAAE,CAAC,gBAAAC,CAAiBtW,GAAG,SAASA,GAAGA,IAAIiE,KAAKqR,SAAS,KAAMzC,GAAG5O,KAAKqR,SAAStV,GAAGiE,KAAKqR,SAASiB,QAAQvW,GAAGiE,KAAKyR,qBAAqB1V,GAAG,GAAG,CAAC,kBAAAwW,CAAmBxW,GAAG,SAASA,GAAGA,IAAIiE,KAAKqR,SAASrR,KAAKqR,SAAS1T,OAAO,KAAMiR,GAAG5O,KAAKqR,SAAStV,GAAGiE,KAAKqR,SAAS7T,KAAKzB,GAAGiE,KAAKyR,qBAAqB1V,GAAG,GAAG,CAAC,mBAAAyW,CAAoBzW,EAAEE,GAAG,IAAIF,EAAE,OAAM,EAAG,MAAM4D,EAAEK,KAAKqR,SAAS5J,QAAQ1L,GAAG,GAAG,IAAI4D,EAAE,CAAC,MAAMtB,EAAE2B,KAAKyS,kBAAkB1W,EAAE4D,EAAE1D,GAAG,OAAO2S,GAAG5O,KAAKqR,SAAStV,GAAGiE,KAAKqR,SAASvD,OAAOzP,EAAE,EAAEtC,GAAGiE,KAAKyR,qBAAqB1V,IAAG,CAAE,CAAC,OAAM,CAAE,CAAC,kBAAA2W,CAAmB3W,EAAEE,GAAG,IAAIF,EAAE,OAAM,EAAG,MAAM4D,EAAEK,KAAKqR,SAAS5J,QAAQ1L,GAAG,GAAG4D,IAAIK,KAAKqR,SAAS1T,OAAO,EAAE,CAAC,MAAMU,EAAE2B,KAAK2S,kBAAkB5W,EAAE4D,EAAE1D,GAAG,OAAO2S,GAAG5O,KAAKqR,SAAStV,GAAGiE,KAAKqR,SAASvD,OAAOzP,EAAE,EAAEtC,GAAGiE,KAAKyR,qBAAqB1V,IAAG,CAAE,CAAC,OAAM,CAAE,CAAC,YAAA6W,CAAa7W,EAAEE,GAAG,OAAOF,IAAIiE,KAAKqR,SAASpV,KAAK2S,GAAG5O,KAAKqR,SAAStV,GAAGiE,KAAKqR,SAASvD,OAAO7R,EAAE,EAAEF,GAAGiE,KAAKyR,qBAAqB1V,IAAG,EAAG,CAAC,iBAAA0W,CAAkB1W,EAAEE,EAAE0D,GAAG,IAAItB,EAAE,GAAGsB,EAAE,CAACtB,EAAEpC,EAAE,IAAI,IAAI0D,EAAE1D,EAAE,EAAE0D,GAAG,IAAIA,EAAE,GAAG5D,EAAE8W,cAAc7S,KAAKqR,SAAS1R,IAAI,CAACtB,EAAEsB,EAAE,KAAK,CAAC,MAAMtB,EAAEpC,EAAE,EAAE,OAAOoC,CAAC,CAAC,iBAAAsU,CAAkB5W,EAAEE,EAAE0D,GAAG,IAAItB,EAAE,GAAGsB,EAAE,CAACtB,EAAEpC,EAAE,IAAI,IAAI0D,EAAE1D,EAAE,EAAE0D,EAAEK,KAAKqR,SAAS1T,SAASgC,EAAE,GAAG5D,EAAE8W,cAAc7S,KAAKqR,SAAS1R,IAAI,CAACtB,EAAEsB,EAAE,KAAK,CAAC,MAAMtB,EAAEpC,EAAE,EAAE,OAAOoC,CAAC,CAAC,cAAAyU,CAAe/W,GAAG,IAAIgX,KAAK9W,EAAE+W,IAAIrT,EAAEsT,MAAM5U,EAAE6U,OAAOjW,GAAGlB,GAAGoX,oBAAoBjV,GAAE,GAAIR,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAE,EAAC,MAAM1B,EAAE,GAAGuC,EAAE,IAAI4Q,GAAGlT,EAAE0D,GAAGH,EAAEjB,EAAE6Q,IAAI,IAAID,GAAG9Q,EAAEpB,IAAI,IAAI,IAAIlB,EAAEiE,KAAKqR,SAAS1T,OAAO,EAAE5B,GAAG,EAAEA,IAAI,CAAC,MAAME,EAAE+D,KAAKqR,SAAStV,GAAGE,EAAEmX,YAAYnX,EAAEoX,UAAUnV,GAAGjC,EAAEqX,mBAAmB/U,EAAEiB,IAAIvD,EAAEsX,sBAAsBhV,EAAEiB,IAAItB,GAAGjC,EAAEuX,cAAcjV,IAAIL,GAAGjC,EAAEuX,cAAchU,KAAKxD,EAAEwB,KAAKvB,EAAE,CAAC,OAAOD,CAAC,EAAE,OAAO2D,CAAC,CAAC,MAAMwQ,WAAW/B,GAAG,WAAAqF,GAAc,IAAI1X,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAE,EAAC,IAAI,MAAMzB,KAAKF,EAAEiE,KAAKyN,IAAIxR,EAAEF,EAAEE,GAAG,CAAC,UAAAyX,CAAW3X,GAAG,IAAI,MAAME,KAAKF,EAAEiE,KAAK2T,KAAK1X,EAAEF,EAAEE,GAAG,CAAC,GAAAwR,CAAI1R,EAAEE,GAAG,MAAM,iBAAiBF,EAAEiE,KAAK0T,WAAW3X,GAAGiE,KAAK2T,KAAK5X,EAAEE,GAAG+D,IAAI,CAAC,IAAA2T,CAAK5X,EAAEE,GAAG+D,KAAKjE,GAAGE,CAAC,CAAC,MAAA2X,CAAO7X,GAAG,MAAME,EAAE+D,KAAK8F,IAAI/J,GAAG,MAAM,kBAAkBE,GAAG+D,KAAKyN,IAAI1R,GAAGE,GAAG+D,IAAI,CAAC,GAAA8F,CAAI/J,GAAG,OAAOiE,KAAKjE,EAAE,EAAE,SAAS8X,GAAG9X,GAAG,OAAOoE,IAAI2T,sBAAsB/X,EAAE,CAAC,SAASgY,GAAGhY,GAAG,OAAOoE,IAAI6T,qBAAqBjY,EAAE,CAAC,IAAIsU,GAAG,EAAE,MAAM4D,GAAG,IAAI5D,KAAK6D,GAAG,KAAK,MAAMnY,EAAEmO,IAAIiK,cAAc,UAAU,IAAIpY,QAAG,IAASA,EAAEmN,WAAW,MAAM,IAAI1J,EAAE,qCAAqC,OAAOzD,GAAGqY,GAAG,IAAIlK,IAAIiK,cAAc,OAAOE,GAAGtY,IAAI,MAAME,EAAEiY,KAAK,OAAOjY,EAAEgX,MAAMlX,EAAEkX,MAAMhX,EAAEiX,OAAOnX,EAAEmX,OAAOjX,GAAGqY,GAAG,CAACvY,EAAEE,EAAE0D,IAAI5D,EAAEwY,UAAU,SAAS9L,OAAOxM,GAAG0D,GAAG6U,GAAG,CAACzY,EAAEE,EAAE0D,IAAI,IAAIkD,SAAS,CAACxE,EAAEpB,KAAKlB,EAAE0Y,OAAOpW,EAAE,SAASoK,OAAOxM,GAAG0D,EAAG,IAAG+U,GAAG3Y,GAAGA,EAAEuP,EAAEqJ,GAAG5Y,GAAGA,EAAEuP,EAAEsJ,GAAG7Y,GAAGA,EAAE8Y,OAAK,CAAG9Y,EAAEE,IAAIF,IAAIwP,EAAEtP,KAAK6Y,GAAG,CAAC/Y,EAAEE,EAAE0D,IAAI,IAAIwP,GAAGpT,GAAGoV,UAAUlV,EAAE0D,GAAGoV,GAAGhZ,IAAI,MAAME,EAAE,GAAGF,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAI4D,EAAE,CAAC1D,EAAEF,EAAE,IAAIE,EAAEF,EAAE,IAAIE,EAAEF,EAAE,GAAGE,EAAEF,EAAE,GAAG,EAAE,IAAIkP,EAAE5M,EAAEuB,EAAE3C,GAAG,IAAIkS,GAAGpT,EAAE,GAAGA,EAAE,IAAIoV,UAAUxR,GAAE,GAAI,OAAOA,EAAE,IAAItB,EAAEsB,EAAE,IAAI1C,EAAE0C,GAAGqV,GAAG,CAACjZ,EAAEE,EAAE0D,IAAI,CAAC5D,EAAE,GAAGE,EAAE,GAAGF,EAAE,GAAGE,EAAE,GAAGF,EAAE,GAAGE,EAAE,GAAGF,EAAE,GAAGE,EAAE,GAAGF,EAAE,GAAGE,EAAE,GAAGF,EAAE,GAAGE,EAAE,GAAGF,EAAE,GAAGE,EAAE,GAAGF,EAAE,GAAGE,EAAE,GAAG0D,EAAE,EAAE5D,EAAE,GAAGE,EAAE,GAAGF,EAAE,GAAGE,EAAE,GAAGF,EAAE,GAAG4D,EAAE,EAAE5D,EAAE,GAAGE,EAAE,GAAGF,EAAE,GAAGE,EAAE,GAAGF,EAAE,IAAIkZ,GAAG,CAAClZ,EAAEE,IAAIF,EAAEmZ,aAAW,CAAGnZ,EAAE4D,IAAIA,GAAG5D,EAAEiZ,GAAGrV,EAAE5D,EAAEE,GAAG0D,GAAG5D,QAAG,IAASwP,EAAE9C,SAAS0M,GAAGpZ,IAAI,IAAIE,EAAE0D,GAAG5D,EAAE,OAAOoO,KAAKiL,MAAMzV,EAAE1D,EAAC,EAAGoZ,GAAGtZ,IAAI,MAAME,EAAEkZ,GAAGpZ,GAAG4D,EAAEwK,KAAKmL,IAAIvZ,EAAE,GAAG,GAAGoO,KAAKmL,IAAIvZ,EAAE,GAAG,GAAGsC,EAAE8L,KAAKY,KAAKpL,GAAG1C,GAAGlB,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAIsC,EAAEH,EAAEiM,KAAKiL,MAAMrZ,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG4D,GAAG,MAAM,CAAC4V,MAAMZ,GAAG1Y,GAAGuZ,OAAOnX,EAAEoX,OAAOxY,EAAEyY,MAAMf,GAAGzW,GAAGyX,MAAM,EAAEC,WAAW7Z,EAAE,IAAI,EAAE8Z,WAAW9Z,EAAE,IAAI,EAAC,EAAG+Z,GAAG,SAAS/Z,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,EAAEA,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,EAAE,EAAE,SAASqY,KAAK,IAAIR,MAAMxZ,EAAE,GAAG2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAE,GAAEuN,EAAEhP,EAAE,EAAE2D,EAAED,EAAE,GAAGjC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,MAAMW,EAAEqW,GAAG3Y,GAAGkB,EAAE4R,GAAGxQ,GAAGH,EAAE8Q,GAAG3Q,GAAG,MAAM,CAACpB,EAAEiB,GAAGA,EAAEjB,EAAEhB,EAAEA,GAAGgB,EAAEhB,EAAEiC,EAAEyB,GAAG,EAAEA,EAAEA,GAAGzB,EAAEjC,EAAEgB,EAAE0C,GAAG,EAAE,CAAC,MAAMqW,GAAG,SAASja,GAAG,MAAM,CAACA,EAAE,EAAE,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG3B,EAAE,EAAE,EAAE,EAAEka,GAAGla,GAAGoO,KAAK+L,IAAIxB,GAAG3Y,IAAIoa,GAAGpa,GAAG,CAAC,EAAE,EAAEka,GAAGla,GAAG,EAAE,EAAE,GAAGqa,GAAGra,GAAG,CAAC,EAAEka,GAAGla,GAAG,EAAE,EAAE,EAAE,GAAGsa,GAAGta,IAAI,IAAIyZ,OAAOvZ,EAAE,EAAEwZ,OAAO9V,EAAE,EAAE2W,MAAMjY,GAAE,EAAGkY,MAAMtZ,GAAE,EAAGyY,MAAMxX,EAAE,EAAEyX,MAAM3Z,EAAE,GAAGD,EAAEwC,EAAEyX,GAAG3X,GAAGpC,EAAEA,EAAEgB,GAAG0C,EAAEA,GAAG,OAAOzB,IAAIK,EAAEyW,GAAGzW,EAAE4X,GAAGjY,IAAG,IAAKlC,IAAIuC,EAAEyW,GAAGzW,EAAE6X,GAAGpa,IAAG,IAAKuC,GAAGiY,GAAGza,IAAI,MAAM6Z,WAAW3Z,EAAE,EAAE4Z,WAAWlW,EAAE,EAAE4V,MAAMlX,EAAE,GAAGtC,EAAE,IAAIkB,EAAE6Y,GAAG7Z,EAAE0D,GAAGtB,IAAIpB,EAAE+X,GAAG/X,EAAE8Y,GAAG,CAACR,MAAMlX,MAAM,MAAMH,EAAEmY,GAAGta,GAAG,OAAO6Y,GAAG1W,KAAKjB,EAAE+X,GAAG/X,EAAEiB,IAAIjB,GAAGwZ,GAAG,SAAS1a,GAAG,IAAI2a,OAAOza,EAAE0a,YAAYhX,EAAE,MAAMjC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAE,EAAC,OAAO,IAAImF,SAAO,SAAWxE,EAAEpB,GAAG,GAAGhB,GAAGA,EAAE2a,QAAQ,OAAO3Z,EAAE,IAAIwB,EAAE,cAAc,MAAMP,EAAEkW,KAAK,IAAIpY,EAAEC,IAAID,EAAE,SAASD,GAAGmC,EAAE2Y,IAAI,GAAG5Z,EAAElB,EAAE,EAAEE,EAAE6a,iBAAiB,QAAQ9a,EAAE,CAACyS,MAAK,KAAM,MAAMlQ,EAAE,WAAWL,EAAE6Y,OAAO7Y,EAAE8Y,QAAQ,KAAKhb,IAAI,MAAMC,GAAGA,EAAEgb,oBAAoB,QAAQjb,IAAIqC,EAAEH,EAAE,EAAEnC,GAAGmC,EAAE6Y,OAAOxY,EAAEL,EAAE8Y,QAAQ,WAAWhb,IAAI,MAAMC,GAAGA,EAAEgb,oBAAoB,QAAQjb,IAAIiB,EAAE,IAAIuC,EAAE,iBAAiBiJ,OAAOvK,EAAE2Y,MAAM,EAAElX,IAAIzB,EAAEyY,YAAYhX,GAAGzB,EAAE2Y,IAAI9a,GAAGwC,GAAI,GAAE,EAAE2Y,GAAG,SAASnb,GAAG,IAAI2a,OAAOza,EAAEkb,QAAQxX,EAAEuL,GAAGxN,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,OAAO,IAAImF,SAAO,CAAGxE,EAAEpB,KAAK,MAAMiB,EAAE,GAAGjC,GAAGA,EAAE6a,iBAAiB,QAAQ7Z,EAAE,CAACwR,MAAK,IAAK5L,QAAQuU,IAAIrb,EAAEsb,KAAKtb,GAAGqR,GAAGG,SAASxR,EAAEuD,MAAMgY,WAAWvb,EAAE,CAAC2a,OAAOza,IAAI2E,MAAM3E,IAAI0D,EAAE5D,EAAEE,GAAGiC,EAAEV,KAAKvB,GAAGA,QAAQ2E,KAAKvC,GAAGmF,OAAOzH,IAAImC,EAAEN,SAAS7B,IAAIA,EAAEiO,SAASjO,EAAEiO,SAAU,IAAG/M,EAAElB,EAAG,IAAGwb,SAAS,KAAKtb,GAAGA,EAAEgb,oBAAoB,QAAQha,EAAG,GAAG,GAAE,EAAEua,GAAG,SAASzb,GAAG,IAAI2a,OAAOza,GAAGyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,OAAO,IAAImF,SAAO,CAAGlD,EAAEtB,KAAK,MAAMpB,EAAE,GAAGhB,GAAGA,EAAE6a,iBAAiB,QAAQzY,EAAE,CAACoQ,MAAK,IAAK,MAAMvQ,EAAEhB,OAAOkD,OAAOrE,GAAGsb,KAAKtb,GAAGA,GAAGA,EAAEuD,MAAM8N,GAAGE,IAAIvR,EAAEuD,MAAM4X,GAAG,CAACnb,GAAG,CAAC2a,OAAOza,IAAI2E,MAAM7E,IAAI,IAAIE,GAAGF,EAAE,OAAOkB,EAAEO,KAAKvB,GAAGA,CAAE,IAAGF,IAAIC,EAAEkB,OAAOC,KAAKpB,GAAG8G,QAAQuU,IAAIlZ,GAAG0C,MAAM7E,GAAGA,EAAEwM,QAAQ,CAACxM,EAAEE,EAAE0D,KAAK5D,EAAEC,EAAE2D,IAAI1D,EAAEF,IAAI,CAAE,KAAI6E,KAAKjB,GAAG6D,OAAOzH,IAAIkB,EAAEW,SAAS7B,IAAIA,EAAEiO,SAASjO,EAAEiO,SAAU,IAAG3L,EAAEtC,EAAG,IAAGwb,cAActb,GAAGA,EAAEgb,oBAAoB,QAAQ5Y,EAAG,GAAG,GAAE,EAAEoZ,GAAG,SAAS1b,GAAG,OAAO2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,IAAI6K,QAAQ,CAACtM,EAAE0D,KAAKA,KAAK5D,IAAIE,EAAE0D,GAAG5D,EAAE4D,IAAI1D,IAAI,CAAA,EAAG,EAAEyb,GAAG,CAAC3b,EAAEE,IAAIiB,OAAOC,KAAKpB,GAAGwM,QAAM,CAAG5I,EAAEtB,KAAKpC,EAAEF,EAAEsC,GAAGA,EAAEtC,KAAK4D,EAAEtB,GAAGtC,EAAEsC,IAAIsB,IAAI,CAAE,GAAEgY,GAAG,CAAC5b,EAAEE,IAAI2b,WAAW/T,OAAO9H,GAAG8b,QAAQ5b,IAAI6b,GAAG/b,GAAG,UAAUA,EAAEsb,KAAKtb,GAAG4b,GAAG5b,EAAEC,EAAE+b,uBAAuBC,KAAK,KAAK,IAAIC,GAAGlc,KAAKA,QAAG,IAASA,EAAEmc,OAAOC,GAAGpc,KAAKA,GAAG,mBAAmBA,EAAEqc,SAASC,GAAGtc,KAAKA,QAAG,IAASA,EAAEuc,SAAS,WAAWvc,EAAEwc,GAAGxc,KAAKA,GAAG,2BAA2BA,EAAE,SAASyc,GAAGzc,GAAG,MAAME,EAAEF,GAAG0c,GAAG1c,GAAG,IAAI4D,EAAE,EAAEtB,EAAE,EAAE,IAAItC,IAAIE,EAAE,MAAM,CAAC8W,KAAKpT,EAAEqT,IAAI3U,GAAG,IAAIpB,EAAElB,EAAE,MAAMmC,EAAEjC,EAAEyc,gBAAgB1c,EAAEC,EAAE0c,MAAM,CAACC,WAAW,EAAEC,UAAU,GAAG,KAAK5b,IAAIA,EAAE6b,YAAY7b,EAAE8b,QAAQ9b,EAAEA,EAAE6b,YAAY7b,EAAE8b,KAAK9b,IAAIhB,GAAG0D,EAAE3D,EAAE4c,YAAY1a,EAAE0a,YAAY,EAAEva,EAAErC,EAAE6c,WAAW3a,EAAE2a,WAAW,IAAIlZ,GAAG1C,EAAE2b,YAAY,EAAEva,GAAGpB,EAAE4b,WAAW,GAAG,IAAI5b,EAAE+b,UAAU,UAAU/b,EAAEgc,MAAMC,YAAY,MAAM,CAACnG,KAAKpT,EAAEqT,IAAI3U,EAAE,CAAC,MAAMoa,GAAG1c,GAAGA,EAAEod,eAAe,KAAKC,GAAGrd,IAAI,IAAIE,EAAE,OAAO,QAAQA,EAAEF,EAAEod,qBAAgB,IAASld,OAAE,EAAOA,EAAEod,cAAc,MAAMC,GAAG,SAASvd,EAAEE,EAAE0D,GAAG,IAAIsT,MAAM5U,EAAE6U,OAAOjW,GAAG0C,EAAEzB,EAAER,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,EAAE3B,EAAEkX,MAAM5U,EAAEtC,EAAEmX,OAAOjW,EAAEiB,EAAE,IAAInC,EAAEwd,aAAa,SAASlb,EAAEH,GAAGmJ,YAAYtL,EAAEwd,aAAa,UAAUtc,EAAEiB,GAAGmJ,YAAYpL,EAAEud,MAAMtb,EAAEA,GAAG,EAAEub,GAAG,CAAC1d,EAAEE,KAAK,IAAIgX,MAAMtT,EAAEuT,OAAO7U,GAAGpC,EAAE0D,IAAI5D,EAAEkd,MAAMhG,MAAM,iBAAiBtT,EAAE,GAAG8I,OAAO9I,EAAE,MAAMA,GAAGtB,IAAItC,EAAEkd,MAAM/F,OAAO,iBAAiB7U,EAAE,GAAGoK,OAAOpK,EAAE,MAAMA,EAAE,EAAE,SAASqb,GAAG3d,GAAG,YAAO,IAASA,EAAE4d,gBAAgB5d,EAAE4d,cAAc,KAAI,GAAI5d,EAAEkd,MAAMW,WAAW7N,GAAEhQ,CAAC,CAAC,MAAM8d,GAAG,WAAAld,CAAYV,GAAGF,EAAEiE,KAAK,4BAAuB,GAAQjE,EAAEiE,KAAK,aAAQ,GAAQ,MAAML,EAAEK,KAAK8Z,kBAAkB7d,GAAG+D,KAAK+Z,MAAM,CAACC,GAAGra,EAAEsa,IAAIta,EAAEuJ,WAAW,MAAM,CAAC,iBAAA4Q,CAAkB/d,GAAG,MAAME,GAAG0D,EAAE5D,SAAI,IAAS4D,EAAEuJ,WAAWnN,EAAEA,GAAGmO,IAAIgQ,eAAene,IAAImY,KAAK,IAAIvU,EAAE,GAAG1D,EAAEke,aAAa,eAAe,MAAM,IAAI3a,EAAE,0GAA0G,OAAOQ,KAAKoa,qBAAqBne,EAAEgd,MAAMoB,QAAQpe,EAAEsd,aAAa,cAAc,QAAQtd,EAAEqe,UAAUlL,IAAI,gBAAgBnT,CAAC,CAAC,UAAAse,CAAWxe,GAAG,IAAIkX,MAAMhX,EAAEiX,OAAOvT,GAAG5D,EAAE,MAAMie,GAAG3b,GAAG2B,KAAK+Z,MAAM1b,EAAEic,UAAUzM,OAAO,gBAAgBxP,EAAEmc,gBAAgB,eAAenc,EAAEkb,aAAa,QAAQ,GAAG9Q,OAAOxM,IAAIoC,EAAEkb,aAAa,SAAS,GAAG9Q,OAAO9I,IAAItB,EAAE4a,MAAMoB,QAAQra,KAAKoa,sBAAsB,GAAGpa,KAAKoa,0BAAqB,CAAM,CAAC,aAAAK,CAAc1e,EAAEE,GAAG,MAAM+d,GAAGra,EAAEsa,IAAI5b,GAAG2B,KAAK+Z,MAAMT,GAAG3Z,EAAEtB,EAAEtC,EAAEE,EAAE,CAAC,gBAAAye,CAAiB3e,GAAG0d,GAAGzZ,KAAK+Z,MAAMC,GAAGje,EAAE,CAAC,UAAA4e,GAAa,OAAO,SAAS5e,GAAG,IAAIE,EAAE,MAAM0D,EAAE5D,GAAG0c,GAAG1c,GAAGsC,EAAE,CAAC0U,KAAK,EAAEC,IAAI,GAAG,IAAIrT,EAAE,OAAOtB,EAAE,MAAMpB,GAAG,QAAQhB,EAAEmd,GAAGrd,UAAK,IAASE,OAAE,EAAOA,EAAE2e,iBAAiB7e,EAAE,QAAQ,CAAE,EAACsC,EAAE0U,MAAM8H,SAAS5d,EAAE6d,gBAAgB,KAAK,EAAEzc,EAAE2U,KAAK6H,SAAS5d,EAAE8d,eAAe,KAAK,EAAE1c,EAAE0U,MAAM8H,SAAS5d,EAAE+d,YAAY,KAAK,EAAE3c,EAAE2U,KAAK6H,SAAS5d,EAAEge,WAAW,KAAK,EAAE,IAAI/c,EAAE,CAAC6U,KAAK,EAAEC,IAAI,GAAG,MAAMhX,EAAE2D,EAAE+Y,qBAAgB,IAAS3c,EAAEmf,wBAAwBhd,EAAEnC,EAAEmf,yBAAyB,MAAM3c,EAAEia,GAAGzc,GAAG,MAAM,CAACgX,KAAK7U,EAAE6U,KAAKxU,EAAEwU,MAAM/W,EAAEmf,YAAY,GAAG9c,EAAE0U,KAAKC,IAAI9U,EAAE8U,IAAIzU,EAAEyU,KAAKhX,EAAEof,WAAW,GAAG/c,EAAE2U,IAAI,CAAngB,CAAqgBhT,KAAK+Z,MAAMC,GAAG,CAAC,OAAAhQ,GAAUjK,IAAIiK,QAAQhK,KAAK+Z,MAAMC,WAAWha,KAAK+Z,KAAK,EAAE,MAAMsB,GAAG,CAACC,eAAc,EAAGC,gBAAgB,GAAGC,YAAW,EAAGC,aAAa,GAAGC,sBAAqB,EAAGC,2BAA0B,EAAGC,mBAAkB,EAAGC,eAAc,EAAGC,qBAAoB,EAAGC,uBAAsB,EAAGC,sBAAqB,EAAGC,qBAAoB,EAAGC,kBAAkB,IAAI3Q,IAAI,MAAM4Q,WAAW7K,GAAGnB,KAAK,iBAAIiM,GAAgB,IAAIrgB,EAAE,OAAO,QAAQA,EAAEiE,KAAKqc,SAAStC,aAAQ,IAAShe,OAAE,EAAOA,EAAEie,EAAE,CAAC,oBAAIsC,GAAmB,IAAIvgB,EAAE,OAAO,QAAQA,EAAEiE,KAAKqc,SAAStC,aAAQ,IAAShe,OAAE,EAAOA,EAAEke,GAAG,CAAC,kBAAOsC,GAAc,OAAOJ,GAAGK,WAAW,CAAC,WAAA7f,CAAYZ,GAAG,IAAIE,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAE,EAACqK,QAAQ7K,OAAO+K,OAAOjI,KAAKA,KAAKrD,YAAY4f,eAAevc,KAAKyN,IAAIxR,GAAG+D,KAAKyc,aAAa1gB,GAAGiE,KAAK0c,mBAAmB,CAACzJ,MAAMjT,KAAKiT,OAAOjT,KAAKqc,SAAStC,MAAMC,GAAG/G,OAAO,EAAEC,OAAOlT,KAAKkT,QAAQlT,KAAKqc,SAAStC,MAAMC,GAAG9G,QAAQ,IAAIlT,KAAK2c,qBAAoB,EAAG3c,KAAKkc,kBAAkB,IAAIlc,KAAKkc,mBAAmBlc,KAAK4c,wBAAwB,CAAC,YAAAH,CAAa1gB,GAAGiE,KAAKqc,SAAS,IAAIxC,GAAG9d,EAAE,CAAC,GAAAqT,GAAM,MAAMrT,EAAEgM,MAAMqH,OAAO1R,WAAW,OAAOA,UAAUC,OAAO,GAAGqC,KAAK4b,mBAAmB5b,KAAK6c,mBAAmB9gB,CAAC,CAAC,QAAA2V,CAAS3V,GAAG,IAAI,IAAIE,EAAEyB,UAAUC,OAAOgC,EAAE,IAAI4G,MAAMtK,EAAE,EAAEA,EAAE,EAAE,GAAGoC,EAAE,EAAEA,EAAEpC,EAAEoC,IAAIsB,EAAEtB,EAAE,GAAGX,UAAUW,GAAG,MAAMpB,EAAE8K,MAAM2J,SAAS3V,KAAK4D,GAAG,OAAOA,EAAEhC,OAAO,GAAGqC,KAAK4b,mBAAmB5b,KAAK6c,mBAAmB5f,CAAC,CAAC,MAAA4Q,GAAS,MAAM9R,EAAEgM,MAAM8F,UAAUnQ,WAAW,OAAO3B,EAAE4B,OAAO,GAAGqC,KAAK4b,mBAAmB5b,KAAK6c,mBAAmB9gB,CAAC,CAAC,cAAAwV,CAAexV,GAAGA,EAAEmS,QAAQnS,EAAEmS,SAASlO,OAAOzB,EAAE,OAAO,uKAAuKxC,EAAEmS,OAAOL,OAAO9R,IAAIA,EAAE4X,KAAK,SAAS3T,MAAMjE,EAAE+gB,YAAY9c,KAAK2O,KAAK,eAAe,CAAC3J,OAAOjJ,IAAIA,EAAE4S,KAAK,QAAQ,CAAC3J,OAAOhF,MAAM,CAAC,gBAAAwR,CAAiBzV,GAAGA,EAAE4X,KAAK,cAAS,GAAQ3T,KAAK2O,KAAK,iBAAiB,CAAC3J,OAAOjJ,IAAIA,EAAE4S,KAAK,UAAU,CAAC3J,OAAOhF,MAAM,CAAC,oBAAAyR,GAAuBzR,KAAK4b,mBAAmB5b,KAAK6c,kBAAkB,CAAC,gBAAAE,GAAmB,OAAO/c,KAAK8b,oBAAoBlc,IAAI,CAAC,CAAC,UAAA+a,GAAa,OAAO3a,KAAKgd,QAAQhd,KAAKqc,SAAS1B,YAAY,CAAC,QAAAsC,GAAW,OAAOjd,KAAKiT,KAAK,CAAC,SAAAiK,GAAY,OAAOld,KAAKkT,MAAM,CAAC,QAAAiK,CAASphB,EAAEE,GAAG,OAAO+D,KAAKya,cAAc,CAACxH,MAAMlX,GAAGE,EAAE,CAAC,SAAAmhB,CAAUrhB,EAAEE,GAAG,OAAO+D,KAAKya,cAAc,CAACvH,OAAOnX,GAAGE,EAAE,CAAC,kBAAAygB,CAAmB3gB,GAAG,IAAIshB,QAAQphB,GAAE,EAAGqhB,cAAcjf,GAAE,GAAIX,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,IAAIzB,EAAE,CAAC,MAAMA,EAAE0D,EAAE,CAACsT,MAAMjT,KAAKiT,MAAMC,OAAOlT,KAAKkT,QAAQnX,GAAGiE,KAAKqc,SAAS5B,cAAcxe,EAAE+D,KAAK+c,oBAAoB/c,KAAKud,gBAAe,EAAGvd,KAAKiT,MAAMhX,EAAEgX,MAAMjT,KAAKkT,OAAOjX,EAAEiX,MAAM,CAAC7U,GAAG2B,KAAKqc,SAAS3B,iBAAiB3e,GAAGiE,KAAK2a,YAAY,CAAC,aAAAF,CAAc1e,EAAEE,GAAG+D,KAAK0c,mBAAmB3gB,EAAEE,GAAGA,GAAGA,EAAEohB,SAASrd,KAAK6c,kBAAkB,CAAC,OAAAW,GAAU,OAAOxd,KAAKkc,kBAAkB,EAAE,CAAC,oBAAAuB,CAAqB1hB,GAAGiE,KAAKkc,kBAAkBngB,EAAEiE,KAAK4c,yBAAyB5c,KAAK4b,mBAAmB5b,KAAK6c,kBAAkB,CAAC,WAAAa,CAAY3hB,EAAEE,GAAG,MAAM0D,EAAE5D,EAAEsC,EAAE,IAAI2B,KAAKkc,mBAAmBjf,EAAE6X,GAAG/Y,EAAEgZ,GAAG1W,IAAIA,EAAE,GAAGpC,EAAEoC,EAAE,GAAGpC,EAAE,MAAMiC,EAAE4W,GAAG7X,EAAEoB,GAAGA,EAAE,IAAIsB,EAAEsL,EAAE/M,EAAE+M,EAAE5M,EAAE,IAAIsB,EAAEC,EAAE1B,EAAE0B,EAAEI,KAAKyd,qBAAqBpf,EAAE,CAAC,OAAAsf,CAAQ5hB,GAAGiE,KAAK0d,YAAY,IAAIvO,GAAG,EAAE,GAAGpT,EAAE,CAAC,WAAA6hB,CAAY7hB,GAAG,MAAME,EAAE,IAAI+D,KAAKkc,mBAAmB,OAAOjgB,EAAE,IAAIF,EAAEkP,EAAEhP,EAAE,IAAIF,EAAE6D,EAAEI,KAAKyd,qBAAqBxhB,EAAE,CAAC,WAAA4hB,CAAY9hB,GAAG,OAAOiE,KAAK4d,YAAY,IAAIzO,IAAIpT,EAAEkP,EAAEjL,KAAKkc,kBAAkB,IAAIngB,EAAE6D,EAAEI,KAAKkc,kBAAkB,IAAI,CAAC,UAAA4B,GAAa,OAAO9d,KAAKqc,SAAStC,MAAMC,EAAE,CAAC,YAAA+D,CAAahiB,GAAGA,EAAEiiB,UAAU,EAAE,EAAEhe,KAAKiT,MAAMjT,KAAKkT,OAAO,CAAC,UAAAhK,GAAa,OAAOlJ,KAAKqc,SAAStC,MAAME,GAAG,CAAC,KAAAgE,GAAQje,KAAK6N,UAAU7N,KAAK4R,cAAc5R,KAAKke,qBAAgB,EAAOle,KAAKme,kBAAa,EAAOne,KAAKub,gBAAgB,GAAGvb,KAAKyb,aAAa,GAAGzb,KAAK+d,aAAa/d,KAAKkJ,cAAclJ,KAAK2O,KAAK,kBAAkB3O,KAAK4b,mBAAmB5b,KAAK6c,kBAAkB,CAAC,SAAAuB,GAAYpe,KAAKqe,wBAAwBre,KAAKse,WAAWte,KAAKue,aAAave,KAAKkJ,aAAalJ,KAAKqR,SAAS,CAAC,cAAAmN,GAAiBxe,KAAKye,iBAAiB,EAAEze,KAAKoe,WAAW,CAAC,gBAAAvB,GAAmB7c,KAAKye,kBAAkBze,KAAK0e,UAAU1e,KAAKse,YAAYte,KAAKye,iBAAiB5K,IAAE,IAAM7T,KAAKwe,mBAAmB,CAAC,sBAAA5B,GAAyB,MAAM7gB,EAAEiE,KAAKiT,MAAMhX,EAAE+D,KAAKkT,OAAOvT,EAAEoV,GAAG/U,KAAKkc,mBAAmB7d,EAAEyW,GAAG,CAAC7J,EAAE,EAAErL,EAAE,GAAGD,GAAG1C,EAAE6X,GAAG,CAAC7J,EAAElP,EAAE6D,EAAE3D,GAAG0D,GAAGzB,EAAEG,EAAEmS,IAAIvT,GAAGjB,EAAEqC,EAAE+L,IAAInN,GAAG,OAAO+C,KAAK2e,UAAU,CAACC,GAAG1gB,EAAE2gB,GAAG,IAAI1P,GAAGnT,EAAEiP,EAAE/M,EAAE0B,GAAGkf,GAAG,IAAI3P,GAAGjR,EAAE+M,EAAEjP,EAAE4D,GAAGmf,GAAG/iB,EAAE,CAAC,qBAAAqiB,GAAwBre,KAAKye,mBAAmB1K,GAAG/T,KAAKye,kBAAkBze,KAAKye,iBAAiB,EAAE,CAAC,YAAAO,CAAajjB,GAAI,CAAA,YAAAwiB,CAAaxiB,EAAEE,GAAG,GAAG+D,KAAKse,UAAU,OAAO,MAAM3e,EAAEK,KAAKkc,kBAAkB7d,EAAE2B,KAAKif,SAASjf,KAAK4c,yBAAyB5c,KAAK+d,aAAahiB,GAAGA,EAAEggB,sBAAsB/b,KAAK+b,sBAAsBhgB,EAAEmjB,eAAe,OAAOlf,KAAK2O,KAAK,gBAAgB,CAACsL,IAAIle,IAAIiE,KAAKmf,kBAAkBpjB,GAAGA,EAAEqjB,OAAOrjB,EAAEoV,UAAUxR,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAIK,KAAKqf,eAAetjB,EAAEE,GAAGF,EAAEujB,UAAUtf,KAAKgc,sBAAsBhc,KAAK2c,qBAAqB3c,KAAKgf,aAAajjB,GAAGsC,IAAIA,EAAEsV,KAAK,SAAS3T,MAAM3B,EAAEkhB,cAAclhB,EAAEmhB,gBAAe,EAAGnhB,EAAEohB,YAAY,CAACC,aAAY,IAAK1f,KAAK2f,qBAAqB5jB,EAAEsC,IAAI2B,KAAK4f,eAAe7jB,GAAGiE,KAAKgc,uBAAuBhc,KAAK2c,qBAAqB3c,KAAKgf,aAAajjB,GAAGiE,KAAK2O,KAAK,eAAe,CAACsL,IAAIle,IAAIiE,KAAK6f,gBAAgB7f,KAAK6f,gBAAgB7f,KAAK6f,mBAAc,EAAO,CAAC,oBAAAF,CAAqB5jB,EAAEE,GAAG,MAAM0D,EAAEK,KAAKkc,kBAAkBngB,EAAEqjB,OAAOrjB,EAAEoV,aAAaxR,GAAG5D,EAAE+jB,yBAAyB,iBAAiB7jB,EAAEkV,UAAUpV,GAAGA,EAAEyd,MAAM,EAAEvd,EAAE8jB,MAAM,EAAE9jB,EAAE+jB,OAAOjkB,EAAEkkB,UAAUhkB,EAAEikB,cAAcjkB,EAAEkkB,mBAAmBlkB,EAAEmkB,mBAAmBrkB,EAAEujB,SAAS,CAAC,cAAAD,CAAetjB,EAAEE,GAAG,IAAI,IAAI0D,EAAE,EAAEtB,EAAEpC,EAAE0B,OAAOgC,EAAEtB,IAAIsB,EAAE1D,EAAE0D,IAAI1D,EAAE0D,GAAG0gB,OAAOtkB,EAAE,CAAC,0BAAAukB,CAA2BvkB,EAAEE,GAAG,MAAM0D,EAAEK,KAAK,GAAGyI,OAAOxM,EAAE,UAAUoC,EAAE2B,KAAK,GAAGyI,OAAOxM,EAAE,UAAUgB,EAAE+C,KAAKkc,kBAAkBhe,EAAE8B,KAAK,GAAGyI,OAAOxM,EAAE,QAAQ,IAAI0D,IAAItB,EAAE,OAAO,MAAMrC,EAAEic,GAAGtY,GAAG,GAAGA,EAAE,CAAC,GAAG5D,EAAEqjB,OAAOrjB,EAAEwkB,YAAYxkB,EAAEykB,OAAO,EAAE,GAAGzkB,EAAE0kB,OAAOzgB,KAAKiT,MAAM,GAAGlX,EAAE0kB,OAAOzgB,KAAKiT,MAAMjT,KAAKkT,QAAQnX,EAAE0kB,OAAO,EAAEzgB,KAAKkT,QAAQnX,EAAE2kB,YAAY3kB,EAAE4kB,UAAU3kB,EAAE2D,EAAEuY,OAAOnc,GAAG4D,EAAEzB,GAAGnC,EAAEoV,aAAalU,GAAGjB,EAAE,CAACD,EAAEoV,UAAU,EAAE,EAAE,EAAE,EAAExR,EAAE2Y,SAAS,EAAE3Y,EAAEihB,SAAS,GAAG,MAAM3kB,EAAE0D,EAAEkhB,mBAAmBlhB,EAAEmhB,iBAAiB7kB,GAAGF,EAAEoV,aAAalV,EAAE,CAACF,EAAEglB,OAAOhlB,EAAEujB,SAAS,CAAC,GAAGjhB,EAAE,CAACtC,EAAEqjB,OAAO,MAAMvD,cAAc5f,GAAG+D,KAAKA,KAAK6b,cAAc3d,EAAEA,GAAGnC,EAAEoV,aAAalU,GAAGoB,EAAEgiB,OAAOtkB,GAAGiE,KAAK6b,cAAc5f,EAAEF,EAAEujB,SAAS,CAAC,CAAC,iBAAAH,CAAkBpjB,GAAGiE,KAAKsgB,2BAA2BvkB,EAAE,aAAa,CAAC,cAAA6jB,CAAe7jB,GAAGiE,KAAKsgB,2BAA2BvkB,EAAE,UAAU,CAAC,SAAAilB,GAAY,MAAM,CAAChO,IAAIhT,KAAKkT,OAAO,EAAEH,KAAK/S,KAAKiT,MAAM,EAAE,CAAC,cAAAgO,GAAiB,OAAO,IAAI9R,GAAGnP,KAAKiT,MAAM,EAAEjT,KAAKkT,OAAO,EAAE,CAAC,aAAAgO,CAAcnlB,GAAG,OAAOiE,KAAKmhB,cAAcplB,EAAE,IAAIoT,GAAGnP,KAAKihB,iBAAiBhW,EAAElP,EAAEklB,iBAAiBrhB,GAAG,CAAC,aAAAwhB,CAAcrlB,GAAG,OAAOiE,KAAKmhB,cAAcplB,EAAE,IAAIoT,GAAGpT,EAAEklB,iBAAiBhW,EAAEjL,KAAKihB,iBAAiBrhB,GAAG,CAAC,YAAAyhB,CAAatlB,GAAG,OAAOiE,KAAKmhB,cAAcplB,EAAEiE,KAAKihB,iBAAiB,CAAC,oBAAAK,CAAqBvlB,GAAG,OAAOiE,KAAKmhB,cAAcplB,EAAEiE,KAAKuhB,cAAc,CAAC,qBAAAC,CAAsBzlB,GAAG,OAAOiE,KAAKmhB,cAAcplB,EAAE,IAAIoT,GAAGnP,KAAKuhB,cAActW,EAAElP,EAAEklB,iBAAiBrhB,GAAG,CAAC,qBAAA6hB,CAAsB1lB,GAAG,OAAOiE,KAAKmhB,cAAcplB,EAAE,IAAIoT,GAAGpT,EAAEklB,iBAAiBhW,EAAEjL,KAAKuhB,cAAc3hB,GAAG,CAAC,WAAA2hB,GAAc,OAAOzM,GAAG9U,KAAKihB,iBAAiBlM,GAAG/U,KAAKkc,mBAAmB,CAAC,aAAAiF,CAAcplB,EAAEE,GAAGF,EAAE4U,MAAM1U,EAAEyP,GAAEA,IAAG3P,EAAE+gB,YAAY9c,KAAK4b,mBAAmB5b,KAAK6c,kBAAkB,CAAC,cAAA6E,CAAe3lB,GAAG,OAAOiE,KAAK2hB,iBAAiB5lB,EAAE,CAAC,QAAAqc,CAASrc,GAAG,OAAOiE,KAAK4hB,gBAAgB,WAAW7lB,EAAE,CAAC,MAAA8lB,GAAS,OAAO7hB,KAAKoY,UAAU,CAAC,gBAAAuJ,CAAiB5lB,GAAG,OAAOiE,KAAK4hB,gBAAgB,mBAAmB7lB,EAAE,CAAC,eAAA6lB,CAAgB7lB,EAAEE,GAAG,MAAMoC,EAAE2B,KAAKif,SAAShiB,EAAEoB,IAAIA,EAAEyjB,kBAAkB9hB,KAAK+hB,UAAU1jB,EAAEtC,EAAEE,GAAG,KAAK,OAAO0D,EAAEA,EAAEA,EAAE,CAACqiB,QAAQ/W,GAAGwM,GAAGzX,KAAK/D,IAAI,CAAA,EAAG,CAACgmB,QAAQjiB,KAAKqR,SAAShU,QAAQtB,IAAIA,EAAE+lB,oBAAoBzK,KAAK1X,GAAGK,KAAK+hB,UAAUpiB,EAAE5D,EAAEE,MAAM+D,KAAKkiB,qBAAqBnmB,EAAEE,IAAIgB,EAAE,CAACgiB,SAAShiB,GAAG,KAAK,CAAC,SAAA8kB,CAAUhmB,EAAEE,EAAE0D,GAAG,IAAItB,EAAE2B,KAAK0b,uBAAuBrd,EAAEtC,EAAE2f,qBAAqB3f,EAAE2f,sBAAqB,GAAI,MAAMze,EAAElB,EAAEE,GAAG0D,GAAG,OAAOK,KAAK0b,uBAAuB3f,EAAE2f,uBAAuBrd,GAAGpB,CAAC,CAAC,oBAAAilB,CAAqBnmB,EAAEE,GAAG,MAAM0D,EAAE,CAAE,EAACtB,EAAE2B,KAAKke,gBAAgBjhB,EAAE+C,KAAKme,aAAajgB,EAAE8B,KAAKub,gBAAgBvf,EAAEgE,KAAKyb,aAAa,OAAOxD,GAAG/Z,GAAGA,EAAE4jB,oBAAoBniB,EAAEwiB,WAAWjkB,EAAEka,SAASnc,IAAIiC,IAAIyB,EAAEwiB,WAAWjkB,GAAG+Z,GAAGjc,GAAGA,EAAE8lB,oBAAoBniB,EAAEyiB,QAAQpmB,EAAEoc,SAASnc,IAAID,IAAI2D,EAAEyiB,QAAQpmB,GAAGqC,IAAIA,EAAEyjB,oBAAoBniB,EAAEue,gBAAgBle,KAAK+hB,UAAU1jB,EAAEtC,EAAEE,IAAIgB,IAAIA,EAAE6kB,oBAAoBniB,EAAEwe,aAAane,KAAK+hB,UAAU9kB,EAAElB,EAAEE,IAAI0D,CAAC,CAAC,KAAA0iB,GAAQ,IAAItmB,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAGzB,EAAEyB,UAAUC,OAAO,EAAED,UAAU,QAAG,EAAO3B,EAAEob,QAAQlb,EAAE,MAAM0D,EAAE,GAAG,OAAOK,KAAKsiB,gBAAgB3iB,EAAE5D,GAAGiE,KAAKuiB,cAAc5iB,EAAE5D,GAAGiE,KAAKif,UAAUtf,EAAEnC,KAAK,sBAAsBiL,OAAOzI,KAAKif,SAASuD,WAAW,WAAWxiB,KAAKyiB,sBAAsB9iB,EAAE,cAAcK,KAAK0iB,sBAAsB/iB,EAAE,kBAAkB1D,GAAG+D,KAAK2iB,eAAehjB,EAAE1D,GAAG+D,KAAKif,UAAUtf,EAAEnC,KAAK,UAAUwC,KAAKyiB,sBAAsB9iB,EAAE,WAAWK,KAAK0iB,sBAAsB/iB,EAAE,eAAe1D,GAAG0D,EAAEnC,KAAK,UAAUmC,EAAEqY,KAAK,GAAG,CAAC,eAAAsK,CAAgBvmB,EAAEE,GAAGA,EAAE2mB,kBAAkB7mB,EAAEyB,KAAK,iCAAiCvB,EAAE4mB,UAAU,QAAQ,yBAAyB,kDAAkD,wDAAwD,CAAC,aAAAN,CAAcxmB,EAAEE,GAAG,MAAM0D,EAAE1D,EAAEgX,OAAO,GAAGxK,OAAOzI,KAAKiT,OAAO5U,EAAEpC,EAAEiX,QAAQ,GAAGzK,OAAOzI,KAAKkT,QAAQjW,EAAEjB,EAAE+b,oBAAoB7Z,EAAEjC,EAAE6mB,QAAQ,IAAIvkB,EAAE,GAAGL,EAAEK,EAAE,YAAYkK,OAAOvK,EAAE+M,EAAE,KAAKxC,OAAOvK,EAAE0B,EAAE,KAAK6I,OAAOvK,EAAE+U,MAAM,KAAKxK,OAAOvK,EAAEgV,OAAO,WAAW,GAAGlT,KAAK2b,0BAA0B,CAAC,MAAM5f,EAAEiE,KAAKkc,kBAAkB3d,EAAE,YAAYkK,OAAOkP,IAAI5b,EAAE,GAAGA,EAAE,GAAGkB,GAAG,KAAKwL,OAAOkP,IAAI5b,EAAE,GAAGA,EAAE,GAAGkB,GAAG,KAAKwL,OAAOkP,GAAG3X,KAAKiT,MAAMlX,EAAE,GAAGkB,GAAG,KAAKwL,OAAOkP,GAAG3X,KAAKkT,OAAOnX,EAAE,GAAGkB,GAAG,KAAK,MAAMsB,EAAE,gBAAgBkK,OAAOzI,KAAKiT,MAAM,KAAKxK,OAAOzI,KAAKkT,OAAO,MAAMnX,EAAEyB,KAAK,QAAQ,sCAAsC,8CAA8C,iBAAiB,UAAUmC,EAAE,KAAK,WAAWtB,EAAE,KAAKE,EAAE,0BAA0B,gCAAgC0M,EAAE,YAAY,WAAWjL,KAAK+iB,2BAA2B/iB,KAAKgjB,6BAA6BhjB,KAAKijB,wBAAwBhnB,GAAG,YAAY,CAAC,uBAAAgnB,CAAwBlnB,GAAG,MAAME,EAAE+D,KAAKif,SAAS,OAAOhjB,GAAGA,EAAEumB,WAAW,YAAY/Z,OAAOwL,MAAM,iBAAiBxL,OAAOxM,EAAEumB,WAAW,SAAS/Z,OAAOxM,EAAEinB,cAAcnnB,EAAEob,SAAS,kBAAkB,EAAE,CAAC,0BAAA6L,GAA6B,MAAM,CAAC,aAAa,WAAW3L,KAAKtb,IAAI,MAAME,EAAE+D,KAAK,GAAGyI,OAAO1M,EAAE,UAAU,GAAGkc,GAAGhc,GAAG,CAAC,MAAM0D,EAAEK,KAAK,GAAGyI,OAAO1M,EAAE,QAAQsC,EAAE2B,KAAKkc,kBAAkBjf,EAAE,CAAC4U,OAAO,KAAI,EAAGoB,MAAMjT,KAAKiT,OAAOtT,EAAEtB,EAAE,GAAG,GAAG6U,OAAOlT,KAAKkT,QAAQvT,EAAEtB,EAAE,GAAG,IAAI,OAAOpC,EAAEomB,MAAMplB,EAAE,CAACkmB,oBAAoBxjB,EAAEmY,GAAGzZ,GAAG,IAAI,CAAE,IAAG2Z,KAAK,GAAG,CAAC,wBAAA+K,GAA2B,MAAMhnB,EAAE,GAAGE,EAAE,CAAE,EAAC0D,EAAE3D,EAAEmM,UAAUnI,KAAKqR,SAASzT,kBAAkB3B,EAAE0D,GAAG5D,EAAEyB,KAAKmC,GAAGyR,GAAGzR,IAAIA,EAAE0R,SAASzT,QAAQ3B,EAAG,IAAGF,EAAE6B,SAAS7B,IAAI,KAAKsC,EAAEtC,IAAI,mBAAmBsC,EAAE+kB,YAAY,OAAO,IAAI/kB,EAAE,MAAMglB,OAAOpmB,EAAEsN,WAAWrM,GAAGnC,GAAGE,EAAEiC,IAAIyB,EAAEzB,KAAKjC,EAAEiC,IAAG,EAAGjB,GAAGC,OAAOkD,OAAOnD,GAAGW,SAAS7B,IAAImB,OAAOkD,OAAOrE,GAAG6B,SAAS7B,IAAI,IAAIwO,WAAWlM,EAAE,IAAItC,GAAGE,EAAEoC,IAAIsB,EAAEtB,KAAKpC,EAAEoC,IAAG,EAAI,GAAG,IAAI,IAAG,MAAMA,EAAEnB,OAAOC,KAAKlB,GAAGob,KAAKtb,GAAG,yCAAyC0M,OAAO1M,EAAE,wBAAwB0M,OAAO9I,EAAE5D,GAAG,kBAAkBic,KAAK,IAAI,OAAO3Z,EAAE,uCAAuCoK,OAAOpK,EAAE,iBAAiB,EAAE,CAAC,cAAAskB,CAAe5mB,EAAEE,GAAG+D,KAAK2R,eAAehS,IAAIA,EAAEmiB,mBAAmB9hB,KAAKsjB,cAAcvnB,EAAE4D,EAAE1D,EAAG,GAAE,CAAC,aAAAqnB,CAAcvnB,EAAEE,EAAE0D,GAAG5D,EAAEyB,KAAKvB,EAAEomB,MAAM1iB,GAAG,CAAC,qBAAA+iB,CAAsB3mB,EAAEE,EAAE0D,GAAG,MAAMtB,EAAE2B,KAAK/D,GAAGoC,IAAIA,EAAEyjB,mBAAmBzjB,EAAEgkB,OAAOtmB,EAAEyB,KAAKa,EAAEgkB,MAAM1iB,GAAG,CAAC,qBAAA8iB,CAAsB1mB,EAAEE,GAAG,MAAM0D,EAAEK,KAAK,GAAGyI,OAAOxM,EAAE,UAAU,GAAG0D,EAAE,GAAGsY,GAAGtY,GAAG,CAAC,MAAMtB,EAAEsB,EAAE4jB,QAAQ,GAAGtmB,EAAE+C,KAAKiT,MAAM/U,EAAE8B,KAAKkT,OAAOlX,EAAEgE,KAAK,GAAGyI,OAAOxM,EAAE,QAAQ6b,GAAG/C,GAAG/U,KAAKkc,oBAAoB,GAAGngB,EAAEyB,KAAK,oBAAoBiL,OAAOzM,EAAE,eAAeyM,OAAOxL,EAAE,EAAE,KAAKwL,OAAOvK,EAAE,EAAE,UAAUuK,OAAO9I,EAAE2Y,QAAQrb,EAAE,EAAE,SAASwL,OAAO9I,EAAEihB,QAAQ1iB,EAAE,EAAE,aAAauK,OAAO,aAAapK,GAAG,cAAcA,IAAIga,GAAG1Y,GAAG1C,EAAE0C,EAAE6jB,OAAOvQ,MAAM,cAAcxK,OAAO,aAAapK,GAAG,cAAcA,IAAIga,GAAG1Y,GAAGzB,EAAEyB,EAAE6jB,OAAOtQ,OAAO,uBAAuBzK,OAAO9I,EAAE8jB,GAAG,gBAAgB,MAAM1nB,EAAEyB,KAAK,gDAAgD,SAASmC,EAAE,IAAI,aAAa,CAAC,YAAA+jB,CAAa3nB,EAAEE,GAAG,IAAIya,OAAO/W,GAAGjC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAE,EAAC,IAAI3B,EAAE,OAAO8G,QAAQoB,OAAO,IAAIzE,EAAE,wBAAwB,MAAMnB,EAAE,iBAAiBtC,EAAE4nB,KAAKC,MAAM7nB,GAAGA,GAAGkmB,QAAQhlB,EAAE,GAAGihB,gBAAgBhgB,EAAEikB,WAAWnmB,EAAEmiB,aAAa5f,EAAE6jB,QAAQ3jB,EAAEwgB,SAASxf,GAAGpB,EAAEM,EAAEqB,KAAK4b,kBAAkB,OAAO5b,KAAK4b,mBAAkB,EAAG/Y,QAAQuU,IAAI,CAACF,GAAGja,EAAE,CAACka,QAAQlb,EAAEya,OAAO/W,IAAI6X,GAAG,CAAC0G,gBAAgBhgB,EAAEqd,gBAAgBvf,EAAEmiB,aAAa5f,EAAEkd,aAAahd,EAAEwgB,SAASxf,GAAG,CAACiX,OAAO/W,MAAMiB,MAAM7E,IAAI,IAAIE,EAAE0D,GAAG5D,EAAE,OAAOiE,KAAKie,QAAQje,KAAKoP,OAAOnT,GAAG+D,KAAKyN,IAAIpP,GAAG2B,KAAKyN,IAAI9N,GAAGK,KAAK4b,kBAAkBjd,EAAEqB,IAAK,GAAE,CAAC,KAAAgR,CAAMjV,GAAG,MAAME,EAAE+D,KAAKoY,SAASrc,GAAG,OAAOiE,KAAK6jB,mBAAmBH,aAAaznB,EAAE,CAAC,gBAAA4nB,GAAmB,MAAM9nB,EAAEsY,GAAGrU,MAAM,OAAO,IAAIA,KAAKrD,YAAYZ,EAAE,CAAC,SAAAwY,GAAY,IAAIxY,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,MAAMomB,OAAO7nB,EAAE,MAAM8nB,QAAQpkB,EAAE,EAAEqkB,WAAW3lB,EAAE,EAAEyd,oBAAoB7e,GAAE,GAAIlB,EAAEmC,EAAEG,GAAGpB,EAAE+C,KAAK+c,mBAAmB,GAAG,OAAOzI,GAAGtU,KAAKikB,gBAAgB/lB,EAAEnC,GAAGE,EAAE0D,EAAE,CAAC,MAAA8U,GAAS,IAAI1Y,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAE,EAAC,MAAMomB,OAAO7nB,EAAE,MAAM8nB,QAAQpkB,EAAE,EAAEqkB,WAAW3lB,EAAE,EAAEyd,oBAAoB7e,GAAE,GAAIlB,EAAEmC,EAAEG,GAAGpB,EAAE+C,KAAK+c,mBAAmB,GAAG,OAAOvI,GAAGxU,KAAKikB,gBAAgB/lB,EAAEnC,GAAGE,EAAE0D,EAAE,CAAC,eAAAskB,GAAkB,IAAIloB,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAGuV,MAAMhX,EAAEiX,OAAOvT,EAAEoT,KAAK1U,EAAE2U,IAAI/V,EAAEI,OAAOa,GAAGR,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,MAAM1B,GAAGC,GAAG+D,KAAKiT,OAAOlX,EAAEwC,GAAGoB,GAAGK,KAAKkT,QAAQnX,EAAEyD,EAAEQ,KAAKwd,UAAU/e,EAAEuB,KAAKiT,MAAMxT,EAAEO,KAAKkT,OAAOvU,EAAEqB,KAAK2c,oBAAoB1c,EAAET,EAAEzD,EAAEsE,EAAEL,KAAKkc,kBAAkBxc,EAAE,CAACO,EAAE,EAAE,EAAEA,GAAGI,EAAE,IAAIhC,GAAG,IAAItC,GAAGsE,EAAE,IAAIpD,GAAG,IAAIlB,GAAGgE,EAAEC,KAAK8b,oBAAoB5R,EAAEmK,GAAG,CAACpB,MAAMjX,EAAEkX,OAAO3U,IAAI4B,EAAEjC,EAAE8B,KAAKqR,SAAShU,QAAQtB,GAAGmC,EAAEnC,KAAKiE,KAAKqR,SAAS,OAAOrR,KAAK8b,qBAAoB,EAAG9b,KAAKkc,kBAAkBxc,EAAEM,KAAKiT,MAAMjX,EAAEgE,KAAKkT,OAAO3U,EAAEyB,KAAK2c,qBAAoB,EAAG3c,KAAK4c,yBAAyB5c,KAAKue,aAAarU,EAAEhB,WAAW,MAAM/I,GAAGH,KAAKkc,kBAAkB7b,EAAEL,KAAKiT,MAAMxU,EAAEuB,KAAKkT,OAAOzT,EAAEO,KAAK4c,yBAAyB5c,KAAK8b,oBAAoB/b,EAAEC,KAAK2c,oBAAoBhe,EAAEuL,CAAC,CAAC,OAAAF,GAAU,OAAOhK,KAAK0e,UAAU1e,KAAKqc,SAAS9B,WAAW,CAACtH,MAAMjT,KAAKiT,MAAMC,OAAOlT,KAAKkT,SAAStF,GAAGK,eAAejO,MAAMA,KAAK0e,UAAS,EAAG,IAAI7b,SAAS,CAAC9G,EAAEE,KAAK,MAAM0D,EAAE,KAAKK,KAAKkkB,UAAUnoB,GAAE,IAAK4D,EAAEwkB,KAAKloB,EAAE+D,KAAK6f,eAAe7f,KAAK6f,cAAcsE,KAAK,WAAWnkB,KAAKse,UAAUviB,GAAE,GAAIiE,KAAKye,iBAAiBze,KAAK6f,cAAclgB,EAAEA,GAAI,GAAE,CAAC,OAAAukB,GAAUlkB,KAAKse,WAAU,EAAGte,KAAKqe,wBAAwBre,KAAK2R,eAAe5V,GAAGA,EAAEiO,YAAYhK,KAAKqR,SAAS,GAAGrR,KAAKke,iBAAiBle,KAAKke,gBAAgBlU,UAAUhK,KAAKke,qBAAgB,EAAOle,KAAKme,cAAcne,KAAKme,aAAanU,UAAUhK,KAAKme,kBAAa,EAAOne,KAAKqc,SAASrS,SAAS,CAAC,QAAA3C,GAAW,MAAM,aAAaoB,OAAOzI,KAAKoS,aAAa,kBAAkB3J,OAAOzI,KAAKqR,SAAS1T,OAAO,MAAM,EAAE5B,EAAEogB,GAAG,cAAcd,IAAI,MAAM+I,GAAG,CAAC,aAAa,YAAY,YAAkBC,GAAGtoB,IAAI,MAAME,EAAEuc,GAAGzc,EAAEiJ,QAAQrF,EAAE,SAAS5D,GAAG,MAAME,EAAEF,EAAEuoB,eAAe,OAAOroB,GAAGA,EAAE,GAAGA,EAAE,GAAGF,CAAC,CAA1D,CAA4DA,GAAG,OAAO,IAAIoT,GAAGxP,EAAE4kB,QAAQtoB,EAAE8W,KAAKpT,EAAE6kB,QAAQvoB,EAAE+W,IAAG,EAAGyR,GAAG1oB,GAAGqoB,GAAGlS,SAASnW,EAAEuD,OAAO,UAAUvD,EAAE2oB,YAAYC,GAAG5oB,IAAIA,EAAE6oB,iBAAiB7oB,EAAE8oB,iBAAe,EAAIC,GAAG/oB,IAAI,IAAIE,EAAE,EAAE0D,EAAE,EAAEtB,EAAE,EAAEpB,EAAE,EAAE,IAAI,IAAIiB,EAAE,EAAElC,EAAED,EAAE4B,OAAOO,EAAElC,EAAEkC,IAAI,CAAC,MAAM+M,EAAEjP,EAAE4D,EAAErB,GAAGxC,EAAEmC,IAAIlC,EAAEqC,IAAIH,KAAKG,EAAErC,IAAIA,EAAEC,IAAIiC,KAAKjC,EAAED,IAAIuC,EAAEtB,IAAIiB,KAAKjB,EAAEsB,IAAIA,EAAEoB,IAAIzB,KAAKyB,EAAEpB,EAAE,CAAC,MAAM,CAACwU,KAAK9W,EAAE+W,IAAIrT,EAAEsT,MAAM5U,EAAEpC,EAAEiX,OAAOjW,EAAE0C,EAAC,EAAGolB,GAAG,CAAC,aAAa,aAAa,SAAS,UAAUC,GAAG,CAACjpB,EAAEE,IAAIgpB,GAAGlpB,EAAEiZ,GAAG/Y,EAAEF,EAAEmpB,kBAAkBD,GAAG,CAAClpB,EAAEE,KAAK,MAAM0D,EAAE0V,GAAGpZ,IAAI2Z,WAAW3Y,EAAE4Y,WAAW3X,EAAEsX,OAAOxZ,EAAEyZ,OAAOlX,GAAGoB,EAAEH,EAAEnB,EAAEsB,EAAEolB,IAAItmB,EAAE,IAAI0Q,GAAGlS,EAAEiB,GAAGnC,EAAEua,OAAM,EAAGva,EAAEwa,OAAM,EAAGrZ,OAAO+K,OAAOlM,EAAEyD,GAAGzD,EAAE0R,IAAI,CAAC+H,OAAOxZ,EAAEyZ,OAAOlX,IAAIxC,EAAEopB,oBAAoB1mB,EAAEiN,GAAEA,GAAE,EAAE0Z,GAAGrpB,IAAIA,EAAEyZ,OAAO,EAAEzZ,EAAE0Z,OAAO,EAAE1Z,EAAE2Z,MAAM,EAAE3Z,EAAE4Z,MAAM,EAAE5Z,EAAEua,OAAM,EAAGva,EAAEwa,OAAM,EAAGxa,EAAEkV,OAAO,EAAC,EAAGoU,GAAGtpB,IAAI,CAACyZ,OAAOzZ,EAAEyZ,OAAOC,OAAO1Z,EAAE0Z,OAAOC,MAAM3Z,EAAE2Z,MAAMC,MAAM5Z,EAAE4Z,MAAMJ,MAAMxZ,EAAEwZ,MAAMxC,KAAKhX,EAAEgX,KAAKuD,MAAMva,EAAEua,MAAMC,MAAMxa,EAAEwa,MAAMvD,IAAIjX,EAAEiX,MAAMsS,GAAG,CAACvpB,EAAEE,EAAE0D,KAAK,MAAMtB,EAAEtC,EAAE,EAAEkB,EAAEhB,EAAE,EAAEiC,EAAE,CAAC,IAAIiR,IAAI9Q,GAAGpB,GAAG,IAAIkS,GAAG9Q,GAAGpB,GAAG,IAAIkS,IAAI9Q,EAAEpB,GAAG,IAAIkS,GAAG9Q,EAAEpB,IAAIoa,KAAKtb,GAAGA,EAAEoV,UAAUxR,KAAK3D,EAAE8oB,GAAG5mB,GAAG,OAAO,IAAIiR,GAAGnT,EAAEiX,MAAMjX,EAAEkX,OAAM,EAAGqS,GAAG,WAAW,IAAIxpB,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG6N,EAAE,OAAOyJ,GAAGD,GAAGrX,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG6N,GAAGxP,EAAE,EAAEypB,GAAG,SAASzpB,GAAG,IAAIE,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG6N,EAAE5L,EAAEjC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG6N,EAAE,OAAOxP,EAAEoV,UAAUoU,GAAGtpB,EAAE0D,GAAG,EAAE8lB,GAAG,SAAS1pB,GAAG,IAAIE,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG6N,EAAE5L,EAAEjC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG6N,EAAE,OAAOxP,EAAEoV,UAAUoU,GAAGtpB,EAAE0D,IAAG,EAAG,EAAE+lB,GAAG,CAAC3pB,EAAEE,EAAE0D,KAAK,MAAMtB,EAAEknB,GAAGtpB,EAAE0D,GAAG,OAAOslB,GAAGlpB,EAAEiZ,GAAG3W,EAAEtC,EAAEmpB,kBAAkB7mB,GAAGsnB,GAAG,CAAC5pB,EAAEE,KAAK,IAAIoC,EAAE,MAAM8S,WAAWnM,OAAO/H,IAAIhB,EAAE,QAAQoC,EAAEpB,EAAEiR,cAAS,IAAS7P,GAAGA,EAAEsQ,KAAK,UAAUlG,OAAO1M,GAAG4D,EAAEA,EAAE,CAAA,EAAG1D,GAAG,CAAA,EAAG,CAAC+I,OAAO/H,KAAKA,EAAE0R,KAAK5S,EAAEE,IAAI2pB,GAAG,CAAC7S,MAAM,GAAGC,KAAK,GAAG6S,OAAO,EAAEC,OAAO,GAAGC,MAAM,IAAIC,GAAGjqB,GAAG,iBAAiBA,EAAE6pB,GAAG7pB,GAAGA,EAAE,GAAGkqB,GAAG,cAAc,SAASC,GAAGnqB,GAAG,OAAOiqB,GAAGjqB,EAAEoqB,WAAWH,GAAGta,KAAIsa,GAAGjqB,EAAEqqB,WAAWJ,GAAGta,GAAE,CAAC,SAAS2a,GAAGtqB,GAAG,MAAM,GAAGiqB,GAAGjqB,EAAE,CAAC,MAAMuqB,GAAG,CAACvqB,EAAEE,IAAIF,EAAEE,GAAGsqB,GAAG,CAACxqB,EAAEE,EAAE0D,EAAEtB,KAAK,CAACpC,EAAEF,EAAEoV,UAAUlV,EAAEuqB,QAAQ,IAAIrX,GAAGxP,EAAEtB,KAAK,SAASooB,GAAG1qB,EAAEE,GAAG,MAAM0D,EAAE5D,EAAE2qB,gBAAgB/R,GAAGxK,KAAKiL,MAAMnZ,EAAE2D,EAAE3D,EAAEgP,IAAI,IAAI,OAAOd,KAAKwc,MAAMhnB,EAAE,IAAI,GAAG,CAAC,SAASinB,GAAG7qB,EAAEE,EAAE0D,EAAEtB,EAAEpB,GAAG,IAAIiB,EAAE,IAAI8G,OAAOhJ,EAAE6qB,OAAOtoB,GAAGxC,EAAE,MAAMyD,EAAExD,EAAE8qB,SAASvoB,GAAGE,GAAG,QAAQP,EAAElC,EAAEkS,cAAS,IAAShQ,OAAE,EAAOA,EAAEsf,YAAY,EAAE/d,EAAEzD,EAAE+qB,QAAQtoB,EAAEE,EAAE,SAAS5C,EAAEE,EAAE0D,EAAEtB,GAAG,MAAMpB,EAAElB,EAAEirB,yBAAyB9oB,OAAE,IAASyB,QAAG,IAAStB,EAAEtC,EAAEkrB,uBAAuBhqB,EAAEyO,GAAEA,GAAE/L,EAAEtB,GAAG,IAAI8Q,GAAGpT,EAAEgX,KAAKhX,EAAEiX,KAAK,OAAOjX,EAAEwZ,MAAMtZ,EAAEgV,QAAQyD,GAAG3Y,EAAEwZ,OAAOtY,GAAGhB,GAAGuT,SAAStR,EAAE,CAA7L,CAA+LlC,EAAE,IAAImT,GAAG9Q,EAAEpB,GAAGhB,EAAE0D,GAAG,OAAOhB,EAAEsM,GAAGxL,IAAId,EAAEsM,GAAGxL,GAAGd,EAAEsM,IAAIxL,IAAId,EAAEsM,GAAGxL,GAAGd,EAAEiB,GAAGH,IAAId,EAAEiB,GAAGH,GAAGd,EAAEiB,GAAGH,IAAId,EAAEiB,GAAGH,GAAGd,EAAEsM,GAAGzL,EAAE8Y,QAAQ3Z,EAAEiB,GAAGJ,EAAEohB,QAAQjiB,CAAC,CAAC,MAAMuoB,GAAG,CAACnrB,EAAEE,EAAE0D,EAAEtB,KAAK,MAAM2G,OAAO/H,EAAEqb,QAAQpa,EAAE0iB,QAAQ5kB,GAAGC,EAAEsC,EAAEoB,EAAEzB,EAAEsB,EAAEnB,EAAErC,EAAEyC,GAAG6nB,GAAGrpB,EAAE,kBAAkBA,EAAE8V,OAAOxU,EAAEkB,GAAG6mB,GAAGrpB,EAAE,kBAAkBA,EAAE+V,MAAMxT,EAAE,OAAOf,GAAGxB,EAAEwQ,IAAI9B,GAAEpN,GAAGkB,GAAGxC,EAAEwQ,IAAI7B,GAAEpM,IAAIf,GAAGgB,IAAIkmB,GAAG1Z,GAAEsa,GAAGxqB,EAAEE,EAAE0D,EAAEtB,IAAII,GAAGgB,GAAG0nB,GAAG,CAACC,UAAU,UAAUC,aAAa,UAAUC,KAAK,OAAOC,WAAW,UAAUC,MAAM,UAAUC,MAAM,UAAUC,OAAO,UAAUC,MAAM,OAAOC,eAAe,UAAUC,KAAK,OAAOC,WAAW,UAAUC,MAAM,UAAUC,UAAU,UAAUC,UAAU,UAAUC,WAAW,UAAUC,UAAU,UAAUC,MAAM,UAAUC,eAAe,UAAUC,SAAS,UAAUC,QAAQ,UAAUC,KAAK,OAAOC,SAAS,UAAUC,SAAS,UAAUC,cAAc,UAAUC,SAAS,UAAUC,SAAS,UAAUC,UAAU,UAAUC,UAAU,UAAUC,YAAY,UAAUC,eAAe,UAAUC,WAAW,UAAUC,WAAW,UAAUC,QAAQ,UAAUC,WAAW,UAAUC,aAAa,UAAUC,cAAc,UAAUC,cAAc,UAAUC,cAAc,UAAUC,cAAc,UAAUC,WAAW,UAAUC,SAAS,UAAUC,YAAY,UAAUC,QAAQ,UAAUC,QAAQ,UAAUC,WAAW,UAAUC,UAAU,UAAUC,YAAY,UAAUC,YAAY,UAAUC,QAAQ,OAAOC,UAAU,UAAUC,WAAW,UAAUC,KAAK,UAAUC,UAAU,UAAUC,KAAK,UAAUC,KAAK,UAAUC,MAAM,UAAUC,YAAY,UAAUC,SAAS,UAAUC,QAAQ,UAAUC,UAAU,UAAUC,OAAO,UAAUC,MAAM,UAAUC,MAAM,UAAUC,SAAS,UAAUC,cAAc,UAAUC,UAAU,UAAUC,aAAa,UAAUC,UAAU,UAAUC,WAAW,UAAUC,UAAU,UAAUC,qBAAqB,UAAUC,UAAU,UAAUC,UAAU,UAAUC,WAAW,UAAUC,UAAU,UAAUC,YAAY,UAAUC,cAAc,UAAUC,aAAa,UAAUC,eAAe,OAAOC,eAAe,OAAOC,eAAe,UAAUC,YAAY,UAAUC,KAAK,OAAOC,UAAU,UAAUC,MAAM,UAAUC,QAAQ,OAAOC,OAAO,UAAUC,iBAAiB,UAAUC,WAAW,UAAUC,aAAa,UAAUC,aAAa,UAAUC,eAAe,UAAUC,gBAAgB,UAAUC,kBAAkB,UAAUC,gBAAgB,UAAUC,gBAAgB,UAAUC,aAAa,UAAUC,UAAU,UAAUC,UAAU,UAAUC,SAAS,UAAUC,YAAY,UAAUC,KAAK,UAAUC,QAAQ,UAAUC,MAAM,UAAUC,UAAU,UAAUC,OAAO,UAAUC,UAAU,UAAUC,OAAO,UAAUC,cAAc,UAAUC,UAAU,UAAUC,cAAc,UAAUC,cAAc,UAAUC,WAAW,UAAUC,UAAU,UAAUC,KAAK,UAAUC,KAAK,UAAUC,KAAK,UAAUC,WAAW,UAAUC,OAAO,UAAUC,cAAc,OAAOC,IAAI,OAAOC,UAAU,UAAUC,UAAU,UAAUC,YAAY,UAAUC,OAAO,UAAUC,WAAW,UAAUC,SAAS,UAAUC,SAAS,UAAUC,OAAO,UAAUC,OAAO,UAAUC,QAAQ,UAAUC,UAAU,UAAUC,UAAU,UAAUC,UAAU,UAAUC,KAAK,UAAUC,YAAY,UAAUC,UAAU,UAAU1Z,IAAI,UAAU2Z,KAAK,UAAUC,QAAQ,UAAUC,OAAO,UAAUC,UAAU,UAAUC,OAAO,UAAUC,MAAM,UAAUC,MAAM,OAAOC,WAAW,UAAUC,OAAO,OAAOC,YAAY,WAAWC,GAAG,CAACx0B,EAAEE,EAAE0D,KAAKA,EAAE,IAAIA,GAAG,GAAGA,EAAE,IAAIA,GAAG,GAAGA,EAAE,EAAE,EAAE5D,EAAE,GAAGE,EAAEF,GAAG4D,EAAEA,EAAE,GAAG1D,EAAE0D,EAAE,EAAE,EAAE5D,GAAGE,EAAEF,IAAI,EAAE,EAAE4D,GAAG,EAAE5D,GAAGy0B,GAAG,CAACz0B,EAAEE,EAAE0D,EAAEtB,KAAKtC,GAAG,IAAIE,GAAG,IAAI0D,GAAG,IAAI,MAAM1C,EAAEkN,KAAKC,IAAIrO,EAAEE,EAAE0D,GAAGzB,EAAEiM,KAAKqG,IAAIzU,EAAEE,EAAE0D,GAAG,IAAI3D,EAAEuC,EAAE,MAAMiB,GAAGvC,EAAEiB,GAAG,EAAE,GAAGjB,IAAIiB,EAAElC,EAAEuC,EAAE,MAAM,CAAC,MAAMF,EAAEpB,EAAEiB,EAAE,OAAOK,EAAEiB,EAAE,GAAGnB,GAAG,EAAEpB,EAAEiB,GAAGG,GAAGpB,EAAEiB,GAAGjB,GAAG,KAAKlB,EAAEC,GAAGC,EAAE0D,GAAGtB,GAAGpC,EAAE0D,EAAE,EAAE,GAAG,MAAM,KAAK1D,EAAED,GAAG2D,EAAE5D,GAAGsC,EAAE,EAAE,MAAM,KAAKsB,EAAE3D,GAAGD,EAAEE,GAAGoC,EAAE,EAAErC,GAAG,CAAC,CAAC,MAAM,CAACmO,KAAKwc,MAAM,IAAI3qB,GAAGmO,KAAKwc,MAAM,IAAIpoB,GAAG4L,KAAKwc,MAAM,IAAInnB,GAAGnB,EAAC,EAAGoyB,GAAG,WAAW,IAAI10B,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,IAAI,OAAOka,WAAW7b,IAAIA,EAAE20B,SAAS,KAAK,IAAI,EAAE,EAAEC,GAAG50B,GAAGoO,KAAKqG,IAAIrG,KAAKwc,MAAM5qB,GAAG,KAAKsL,SAAS,IAAIupB,cAAcC,SAAS,EAAE,KAAKC,GAAG/0B,IAAI,IAAIE,EAAE0D,EAAEtB,EAAEpB,EAAE,GAAGlB,EAAE,MAAMmC,EAAEiM,KAAKwc,MAAM,GAAG1qB,EAAE,IAAI0D,EAAE,IAAItB,GAAG,MAAM,CAACH,EAAEA,EAAEA,EAAEjB,EAAC,EAAG,MAAM8zB,GAAG,WAAAp0B,CAAYV,GAAG,GAAGF,EAAEiE,KAAK,kBAAiB,GAAI/D,EAAE,GAAGA,aAAa80B,GAAG/wB,KAAKgxB,UAAU,IAAI/0B,EAAEg1B,eAAe,GAAG1qB,MAAMC,QAAQvK,GAAG,CAAC,MAAMF,EAAE4D,EAAEtB,EAAEpB,EAAE,GAAGhB,EAAE+D,KAAKgxB,UAAU,CAACj1B,EAAE4D,EAAEtB,EAAEpB,GAAG,MAAM+C,KAAKgxB,UAAUhxB,KAAKkxB,iBAAiBj1B,SAAS+D,KAAKgxB,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,gBAAAE,CAAiBn1B,GAAG,OAAOA,EAAEA,EAAE2O,iBAAiByc,KAAKprB,EAAEorB,GAAGprB,IAAI,gBAAgBA,EAAE,CAAC,IAAI,IAAI,IAAI,GAAGg1B,GAAGI,cAAcp1B,IAAIg1B,GAAGK,cAAcr1B,IAAIg1B,GAAGM,cAAct1B,KAAKiE,KAAKsxB,gBAAe,IAAK,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,SAAAC,GAAY,OAAOvxB,KAAKixB,OAAO,CAAC,SAAAD,CAAUj1B,GAAGiE,KAAKixB,QAAQl1B,CAAC,CAAC,KAAAy1B,GAAQ,MAAMz1B,EAAEE,EAAE0D,GAAGK,KAAKuxB,YAAY,MAAM,OAAO9oB,OAAO1M,EAAE,KAAK0M,OAAOxM,EAAE,KAAKwM,OAAO9I,EAAE,IAAI,CAAC,MAAA8xB,GAAS,MAAM,QAAQhpB,OAAOzI,KAAKuxB,YAAYvZ,KAAK,KAAK,IAAI,CAAC,KAAA0Z,GAAQ,MAAM31B,EAAEE,EAAE0D,GAAG6wB,MAAMxwB,KAAKuxB,aAAa,MAAM,OAAO9oB,OAAO1M,EAAE,KAAK0M,OAAOxM,EAAE,MAAMwM,OAAO9I,EAAE,KAAK,CAAC,MAAAgyB,GAAS,MAAM51B,EAAEE,EAAE0D,EAAEtB,GAAGmyB,MAAMxwB,KAAKuxB,aAAa,MAAM,QAAQ9oB,OAAO1M,EAAE,KAAK0M,OAAOxM,EAAE,MAAMwM,OAAO9I,EAAE,MAAM8I,OAAOpK,EAAE,IAAI,CAAC,KAAAuzB,GAAQ,OAAO5xB,KAAK6xB,SAAS3uB,MAAM,EAAE,EAAE,CAAC,MAAA2uB,GAAS,MAAM91B,EAAEE,EAAE0D,EAAEtB,GAAG2B,KAAKuxB,YAAY,MAAM,GAAG9oB,OAAOkoB,GAAG50B,IAAI0M,OAAOkoB,GAAG10B,IAAIwM,OAAOkoB,GAAGhxB,IAAI8I,OAAOkoB,GAAGxmB,KAAKwc,MAAM,IAAItoB,IAAI,CAAC,QAAAyzB,GAAW,OAAO9xB,KAAKuxB,YAAY,EAAE,CAAC,QAAAQ,CAASh2B,GAAG,OAAOiE,KAAKixB,QAAQ,GAAGl1B,EAAEiE,IAAI,CAAC,WAAAgyB,GAAc,OAAOhyB,KAAKgxB,UAAUF,GAAG9wB,KAAKuxB,cAAcvxB,IAAI,CAAC,YAAAiyB,CAAal2B,GAAG,MAAME,EAAC,CAAA,CAAG0D,GAAGmxB,GAAG9wB,KAAKuxB,aAAalzB,EAAEpC,GAAGF,GAAG,KAAK,EAAE,IAAI,OAAOiE,KAAKgxB,UAAU,CAAC3yB,EAAEA,EAAEA,EAAEsB,IAAIK,IAAI,CAAC,WAAAkyB,CAAYn2B,GAAGA,aAAag1B,KAAKh1B,EAAE,IAAIg1B,GAAGh1B,IAAI,MAAME,EAAE+D,KAAKuxB,YAAY5xB,EAAE5D,EAAEw1B,aAAalzB,EAAEpB,EAAEiB,GAAGjC,EAAEob,KAAG,CAAGtb,EAAEE,IAAIkO,KAAKwc,MAAM,GAAG5qB,EAAE,GAAG4D,EAAE1D,MAAM,OAAO+D,KAAKgxB,UAAU,CAAC3yB,EAAEpB,EAAEiB,EAAEjC,EAAE,KAAK+D,IAAI,CAAC,cAAOmyB,CAAQp2B,GAAG,OAAOg1B,GAAGqB,SAASr2B,EAAE,CAAC,eAAOq2B,CAASr2B,GAAG,OAAO,IAAIg1B,GAAGA,GAAGK,cAAcr1B,GAAG,CAAC,oBAAOq1B,CAAcr1B,GAAG,MAAME,EAAEF,EAAEs2B,MAAM,oJAAoJ,GAAGp2B,EAAE,CAAC,MAAMF,EAAE4D,EAAEtB,GAAGpC,EAAEiH,MAAM,EAAE,GAAGmU,KAAKtb,IAAI,MAAME,EAAE2b,WAAW7b,GAAG,OAAOA,EAAE20B,SAAS,KAAKvmB,KAAKwc,MAAM,KAAK1qB,GAAGA,CAAE,IAAG,MAAM,CAACF,EAAE4D,EAAEtB,EAAEoyB,GAAGx0B,EAAE,IAAI,CAAC,CAAC,cAAOq2B,CAAQv2B,GAAG,OAAOg1B,GAAGwB,SAASx2B,EAAE,CAAC,eAAOw2B,CAASx2B,GAAG,OAAO,IAAIg1B,GAAGA,GAAGM,cAAct1B,GAAG,CAAC,oBAAOs1B,CAAct1B,GAAG,MAAME,EAAEF,EAAEs2B,MAAM,oKAAoK,IAAIp2B,EAAE,OAAO,MAAM0D,GAAGoxB,GAAGyB,oBAAoBv2B,EAAE,IAAI,IAAI,KAAK,IAAI,IAAIoC,EAAEuZ,WAAW3b,EAAE,IAAI,IAAIgB,EAAE2a,WAAW3b,EAAE,IAAI,IAAI,IAAIiC,EAAElC,EAAEuC,EAAE,GAAG,IAAIF,EAAEH,EAAElC,EAAEuC,EAAEtB,MAAM,CAAC,MAAMlB,EAAEkB,GAAG,GAAGA,GAAGoB,EAAE,GAAGpB,EAAEoB,EAAEpB,EAAEoB,EAAEpC,EAAE,EAAEgB,EAAElB,EAAEmC,EAAEqyB,GAAGt0B,EAAEF,EAAE4D,EAAE,EAAE,GAAG3D,EAAEu0B,GAAGt0B,EAAEF,EAAE4D,GAAGpB,EAAEgyB,GAAGt0B,EAAEF,EAAE4D,EAAE,EAAE,EAAE,CAAC,MAAM,CAACwK,KAAKwc,MAAM,IAAIzoB,GAAGiM,KAAKwc,MAAM,IAAI3qB,GAAGmO,KAAKwc,MAAM,IAAIpoB,GAAGkyB,GAAGx0B,EAAE,IAAI,CAAC,cAAOw2B,CAAQ12B,GAAG,OAAO,IAAIg1B,GAAGA,GAAGI,cAAcp1B,GAAG,CAAC,oBAAOo1B,CAAcp1B,GAAG,GAAGA,EAAEs2B,MAAM,6CAA6C,CAAC,MAAMp2B,EAAEF,EAAEmH,MAAMnH,EAAE0L,QAAQ,KAAK,GAAG,IAAI9H,EAAEA,EAAE1D,EAAE0B,QAAQ,EAAE1B,EAAEy2B,MAAM,IAAIrb,KAAKtb,GAAGA,EAAEA,IAAIE,EAAEo2B,MAAM,SAAS,MAAMh0B,EAAEpB,EAAEiB,EAAElC,EAAE,KAAK2D,EAAE0X,KAAKtb,GAAG8e,SAAS9e,EAAE,MAAM,MAAM,CAACsC,EAAEpB,EAAEiB,EAAElC,EAAE,IAAI,CAAC,CAAC,0BAAOw2B,CAAoBz2B,GAAG,MAAME,EAAEF,EAAE2O,cAAc/K,EAAEiY,WAAW3b,GAAG,OAAOA,EAAEiW,SAAS,OAAOyC,GAAGhV,GAAG1D,EAAEiW,SAAS,QAAQ,IAAIvS,EAAEA,CAAC,EAAE,MAAMgzB,GAAG,SAAS52B,GAAG,IAAIE,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG8N,EAAE,MAAM7L,EAAE,WAAWizB,KAAK72B,GAAGsC,EAAEuZ,WAAW7b,GAAGkB,EAAEjB,EAAE62B,IAAI,OAAO,MAAMlzB,OAAE,EAAOA,EAAE,IAAI,IAAI,KAAK,OAAOtB,EAAEpB,EAAE,KAAK,IAAI,KAAK,OAAOoB,EAAEpB,EAAE,KAAK,IAAI,KAAK,OAAOoB,EAAEpB,EAAE,IAAI,KAAK,OAAOoB,EAAEpB,EAAE,GAAG,IAAI,KAAK,OAAOoB,EAAEpB,EAAE,GAAG,GAAG,IAAI,KAAK,OAAOoB,EAAEpC,EAAE,QAAQ,OAAOoC,EAAE,EAAEy0B,GAAG/2B,IAAI,MAAME,EAAE0D,GAAG5D,EAAEg3B,OAAOL,MAAM,MAAMr0B,EAAEpB,IAAIiB,EAAEjC,IAAIiC,IAAI6N,GAAE,CAAC7N,EAAEgF,MAAM,EAAE,GAAGhF,EAAEgF,MAAM,EAAE,IAAIhF,IAAI6N,GAAE,CAAC7N,EAAEA,GAAG,CAAC,MAAM,OAAO,IAAIA,EAAE,MAAM,CAAC80B,YAAYrzB,GAAG,OAAOszB,OAAO50B,EAAE60B,OAAOj2B,EAAC,EAAGk2B,GAAG,SAASp3B,EAAEE,GAAG,IAAI0D,EAAEtB,EAAEpB,IAAIS,UAAUC,OAAO,QAAG,IAASD,UAAU,KAAKA,UAAU,GAAG,GAAGzB,EAAE,GAAGA,EAAEic,OAAOvY,EAAE,cAAc8I,OAAOxM,EAAEwnB,GAAG,SAAS,CAAC,MAAM1nB,EAAE,IAAIg1B,GAAG90B,GAAGgB,EAAElB,EAAE+1B,WAAWnyB,EAAE5D,EAAEy1B,QAAQ,IAAIv0B,IAAIoB,EAAEpB,EAAEoK,WAAW,MAAM1H,EAAE,OAAO,OAAO1C,EAAE,GAAGwL,OAAO1M,EAAE,MAAM0M,OAAO9I,EAAE,MAAM8I,OAAOpK,EAAE,GAAGoK,OAAO1M,EAAE,cAAc0M,OAAOpK,EAAE,MAAM,IAAI,GAAGoK,OAAO1M,EAAE,MAAM0M,OAAO9I,EAAE,MAAM8I,OAAOpK,EAAE,GAAGoK,OAAO1M,EAAE,cAAc0M,OAAOpK,EAAE,MAAM,GAAG,EAAE,MAAM+0B,GAAG,YAAAC,CAAat3B,GAAG,MAAME,EAAE+D,KAAKszB,SAAStzB,KAAKszB,SAAS,UAAU3zB,EAAEK,KAAKuzB,YAAYvzB,KAAKuzB,YAAY,IAAIl1B,EAAE2B,KAAKwzB,gBAAgBxzB,KAAKwzB,gBAAgBxb,KAAK,KAAKjM,GAAE9O,EAAE+C,KAAKyzB,iBAAiBzzB,KAAKyzB,iBAAiB,IAAIv1B,EAAE8B,KAAK0zB,cAAc1zB,KAAK0zB,cAAc,OAAO13B,EAAEgE,KAAK2zB,eAAe3zB,KAAK2zB,eAAe,QAAQp1B,EAAEyB,KAAK4zB,iBAAiB5zB,KAAK4zB,iBAAiB,IAAIp0B,OAAE,IAASQ,KAAK6zB,QAAQ7zB,KAAK6zB,QAAQ,IAAIp1B,EAAEuB,KAAKqT,QAAQ,GAAG,uBAAuB5T,EAAE1D,EAAE,GAAGiE,KAAK8zB,eAAen1B,EAAEw0B,GAAGpmB,GAAE/M,KAAK+gB,MAAM,MAAM,CAACoS,GAAGnmB,GAAEhN,KAAK+zB,QAAQ,iBAAiBp0B,EAAE,KAAK,qBAAqBtB,EAAE,KAAK,mBAAmBH,EAAE,KAAK,sBAAsBjB,EAAE,KAAK,oBAAoBjB,EAAE,KAAK,sBAAsBuC,EAAE,KAAKI,EAAE,cAAc1C,EAAE,KAAK,YAAYuD,EAAE,IAAIC,EAAEhB,GAAGuZ,KAAK,GAAG,CAAC,YAAA8b,GAAe,OAAO9zB,KAAKg0B,OAAO,sBAAsBvrB,OAAOzI,KAAKg0B,OAAOvQ,GAAG,MAAM,EAAE,CAAC,aAAAwQ,GAAgB,MAAM,CAACj0B,KAAKyjB,GAAG,OAAOhb,OAAOzI,KAAKyjB,GAAG,MAAM,GAAGzjB,KAAKif,SAAS,mBAAmBxW,OAAOzI,KAAKif,SAASuD,WAAW,OAAO,IAAIxK,KAAK,GAAG,CAAC,eAAAkc,CAAgBn4B,GAAG,IAAIE,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,MAAMiC,EAAE5D,EAAEiE,KAAKm0B,sBAAsBn0B,KAAKklB,gBAAgB7mB,EAAE,cAAcoK,OAAOqP,GAAGnY,IAAI,MAAM,GAAG8I,OAAOpK,GAAGoK,OAAOxM,EAAE,KAAK,CAAC,MAAAm4B,CAAOr4B,GAAG,MAAM,CAAC,GAAG,CAAC,KAAAsmB,CAAMtmB,GAAG,OAAOiE,KAAKq0B,qBAAqBr0B,KAAKo0B,OAAOr4B,GAAG,CAACob,QAAQpb,GAAG,CAAC,aAAAmnB,CAAcnnB,GAAG,MAAM,KAAKiE,KAAKs0B,6BAA6Bt0B,KAAKo0B,OAAOr4B,GAAG,CAACob,QAAQpb,GAAG,CAAC,4BAAAu4B,CAA6Bv4B,GAAG,IAAIob,QAAQlb,EAAEknB,oBAAoBxjB,EAAE,IAAIjC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,MAAMW,EAAE,CAAC2B,KAAKk0B,iBAAgB,EAAGv0B,GAAGK,KAAKi0B,iBAAiBjc,KAAK,IAAI/a,EAAElB,EAAE0L,QAAQ,gBAAgB,OAAO1L,EAAEkB,GAAGoB,EAAEpC,EAAEA,EAAEF,EAAEic,KAAK,KAAKjc,EAAEic,KAAK,GAAG,CAAC,oBAAAqc,CAAqBt4B,GAAG,IAAIw4B,QAAQt4B,EAAEkb,QAAQxX,EAAE60B,WAAWn2B,EAAE8kB,oBAAoBlmB,GAAGS,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,MAAMQ,EAAEjC,EAAE,GAAG,UAAUwM,OAAOzI,KAAKqzB,eAAe,MAAMr3B,EAAEqC,EAAE,UAAUoK,OAAOzI,KAAK8zB,eAAe,MAAM,GAAGv1B,EAAEyB,KAAKif,SAASzf,EAAEQ,KAAKy0B,cAAc,sCAAsC,GAAGh2B,EAAEF,GAAGA,EAAEm2B,mBAAmBj1B,EAAEO,KAAK+zB,OAAOp1B,EAAEqB,KAAK+gB,KAAK9gB,EAAED,KAAKg0B,OAAO3zB,EAAE,GAAGX,EAAE3D,EAAE0L,QAAQ,gBAAgB,IAAI1H,EAAExB,IAAIA,EAAEikB,WAAW,YAAY/Z,OAAOwL,MAAMlU,EAAE,iBAAiB0I,OAAOlK,EAAEikB,WAAW,SAAS/Z,OAAOlK,EAAE2kB,cAAcvjB,GAAG,kBAAkBlB,GAAG4B,EAAE7C,KAAK,MAAMxB,EAAEgE,KAAKi0B,gBAAgB,QAAQ5zB,EAAE7C,KAAK,MAAMwC,KAAKk0B,iBAAgB,GAAIz1B,EAAE,GAAGzC,EAAEgE,KAAKi0B,gBAAgB,QAAQ,MAAM/pB,EAAE,CAAChM,EAAEsB,EAAEvD,EAAE,GAAG+D,KAAK20B,gBAAgB,IAAI13B,EAAE,cAAcwL,OAAOxL,EAAE,MAAM,IAAI+a,KAAK,IAAI,OAAOjc,EAAE2D,GAAGwK,EAAE+N,GAAGtZ,IAAI0B,EAAE7C,KAAKmB,EAAE0jB,MAAMriB,OAAOiY,GAAGxY,IAAIY,EAAE7C,KAAKiC,EAAE4iB,MAAMriB,OAAOC,GAAGI,EAAE7C,KAAKyC,EAAEoiB,MAAMriB,OAAOzB,GAAG8B,EAAE7C,KAAKuC,GAAGM,EAAE7C,KAAKzB,EAAEic,KAAK,KAAK3X,EAAE7C,KAAK,UAAUiB,GAAG4B,EAAE7C,KAAK,UAAUmC,EAAEA,EAAEU,EAAE2X,KAAK,KAAK3X,EAAE2X,KAAK,GAAG,CAAC,aAAA2c,GAAgB,OAAO30B,KAAK40B,aAAa7nB,GAAE,iBAAiBtE,OAAOzI,KAAK40B,WAAW,MAAM,EAAE,EAAE,SAASC,GAAG94B,GAAG,OAAO,IAAI+4B,OAAO,KAAK/4B,EAAEic,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM+c,GAAG,0BAA0BC,GAAG,CAAC,WAAW,aAAa,aAAa,aAAaC,GAAG,CAAC,YAAY,WAAW,eAAeC,GAAG,IAAIF,GAAG,aAAa,OAAO,cAAc,YAAY,SAAS,OAAO,kBAAkB,WAAW,aAAaG,GAAG,IAAID,MAAMD,GAAG,sBAAsB,YAAYF,IAAIK,GAAG,IAAIJ,MAAMC,GAAGjoB,GAAE,cAAcD,GAAE,SAAS,sBAAsBgoB,IAAIM,GAAG,CAACC,WAAWtpB,GAAEupB,iBAAiB,WAAWC,eAAe,UAAUC,SAAS,OAAOC,SAAS,GAAGjrB,WAAW,SAASF,WAAW,kBAAkBorB,WAAU,EAAGC,UAAS,EAAGC,aAAY,EAAGC,UAAUnqB,GAAEnB,UAAU,SAASurB,WAAW,KAAKC,oBAAoB,GAAGjC,OAAO,KAAKC,OAAO,KAAKiC,UAAK,EAAOC,gBAAgB,EAAEC,SAASxqB,GAAEyqB,UAAU,WAAWC,YAAY,EAAEC,OAAO,EAAEC,UAAU,MAAMC,gBAAgB,IAAIC,eAAe,EAAEC,YAAY,CAAC1kB,KAAK,GAAG2kB,UAAU,KAAKC,UAAU,CAAC5kB,KAAK,GAAG2kB,SAAS,KAAKE,kBAAkB,KAAKC,QAAQ,CAACnB,UAAU,GAAGE,aAAa,OAAOD,UAAU,QAAQmB,cAAc,KAAKhC,CAACA,IAAI,QAAQiC,GAAG,UAAUC,GAAG,eAAeC,GAAG,gBAAgBC,GAAG,iBAAiB,IAAIC,GAAGC,GAAGC,GAAQ,MAACC,GAAG3zB,OAAOgE,IAAIwvB,KAAKA,GAAGn6B,EAAE,CAAC,uCAAuC,CAAC,sDAAsDu6B,GAAG5zB,OAAOgE,IAAIyvB,KAAKA,GAAGp6B,EAAE,CAAC,oBAAoB,CAAC,+BAA+Dw6B,GAAG,IAAI3C,OAAO,qHAAqHyC,GAAG,2CAA2CA,GAAG,eAAeG,GAAG,CAACC,GAAGhsB,GAAEV,EAAEU,GAAE1O,EAAE,SAAS26B,GAAGhsB,GAAEhM,EAAEgM,GAAEisB,QAAQ,UAAUC,WAAW,UAAU3mB,UAAU,kBAAkB,eAAe,cAAc,YAAY,WAAW,cAAc,aAAa,YAAY,WAAW,aAAa,YAAY,cAAc,aAAa,iBAAiB,cAAc,cAAc,aAAa,mBAAmB,kBAAkB,oBAAoB,mBAAmB,iBAAiB,gBAAgB,kBAAkB,iBAAiB,oBAAoB,mBAAmB,iBAAiB,gBAAgB,eAAe,cAAc,kBAAkB,iBAAiB,cAAc,aAAa0iB,QAAQ,UAAU,YAAY,WAAW,YAAY,WAAW,gBAAgB,gBAAgB,kBAAkB,iBAAiB,4BAA4BkB,IAAIgD,GAAG,YAAYC,GAAG,YAAenD,GAAG,CAAC,OAAO,SAAS,UAAU,WAAW,UAAU,OAAO,OAAO,QAAQ,SAAYA,GAAG,CAAC,SAAS,QAAQ,SAAS,UAAU,OAAO,cAAQoD,GAAGpD,GAAG,CAAC,SAAS,IAAI,IAAI,MAAM,WAAW,SAAY,IAAIC,OAAOlxB,OAAOgE,IAAI0vB,KAAKA,GAAGr6B,EAAE,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,QAAQ,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,YAAYs6B,GAAGC,GAAGD,GAAGC,GAAGD,GAAGC,GAAGD,KAAK,MAAAW,GAAG,IAAI/oB,GAAG,EAAE,GAAGgpB,GAAG,IAAIhpB,GAAGipB,GAAG,CAACr8B,EAAEE,IAAIF,EAAEkV,OAAOhV,GAAGo8B,GAAG,CAACt8B,EAAEE,IAAI,IAAIkT,GAAGlT,GAAGuT,SAASzT,GAAGu8B,GAAGv8B,GAAGA,EAAE0U,aAAa0nB,IAAII,GAAG,CAACx8B,EAAEE,IAAIkO,KAAKiL,MAAMojB,GAAGz8B,EAAEE,GAAGw8B,GAAG18B,EAAEE,IAAIy8B,GAAG38B,GAAGw8B,GAAGL,GAAGn8B,GAAG48B,GAAG58B,GAAGA,EAAEmU,GAAGioB,IAAIp8B,EAAEA,EAAEiU,aAAasoB,GAAGv8B,IAAI68B,GAAG,SAAS78B,GAAG,IAAIE,IAAIyB,UAAUC,OAAO,QAAG,IAASD,UAAU,KAAKA,UAAU,GAAG,OAAOi7B,GAAG,IAAIxpB,IAAIpT,EAAE6D,EAAE7D,EAAEkP,GAAG4E,eAAe5T,EAAE,GAAG,GAAG,EAAEu8B,GAAG,CAACz8B,EAAEE,IAAIF,EAAEkP,EAAEhP,EAAE2D,EAAE7D,EAAE6D,EAAE3D,EAAEgP,EAAEwtB,GAAG,CAAC18B,EAAEE,IAAIF,EAAEkP,EAAEhP,EAAEgP,EAAElP,EAAE6D,EAAE3D,EAAE2D,EAAEi5B,GAAG,CAAC98B,EAAEE,EAAE0D,KAAK,GAAG5D,EAAEmU,GAAGjU,IAAIF,EAAEmU,GAAGvQ,GAAG,OAAM,EAAG,MAAMtB,EAAEm6B,GAAGv8B,EAAE0D,GAAG1C,EAAEu7B,GAAGv8B,EAAEF,GAAGmC,EAAEs6B,GAAG74B,EAAE5D,GAAG,OAAOsC,GAAG,EAAEpB,GAAG,GAAGiB,GAAG,IAAIjB,GAAG,GAAGiB,GAAG,EAAC,EAAG46B,GAAG,yCAAyCC,GAAG,IAAIjE,OAAO,YAAYgE,GAAGA,GAAG,IAAIvB,GAAG,iCAAiC,MAAMyB,GAAG,WAAAr8B,CAAYZ,GAAG,MAAME,EAAE,iBAAiBF,EAAEi9B,GAAGC,YAAYl9B,GAAGA,EAAEmB,OAAO+K,OAAOjI,KAAKg5B,GAAGxc,YAAYvgB,GAAG+D,KAAKyjB,GAAGxP,IAAI,CAAC,kBAAOglB,CAAYl9B,GAAG,MAAME,EAAEF,EAAEg3B,QAAS,CAAApzB,EAAE,EAAEtB,EAAE,EAAEpB,EAAE,IAAI87B,GAAGnG,KAAK32B,IAAI,IAAIob,KAAKtb,GAAG6b,WAAW7b,IAAI,IAAI,MAAM,CAACm9B,OAAOj9B,EAAEk9B,QAAQJ,GAAG,KAAK,cAAchG,OAAOza,QAAQ3Y,EAAEihB,QAAQviB,EAAE+6B,KAAKn8B,EAAE,CAAC,QAAAoK,GAAW,MAAM,CAACrH,KAAKsY,QAAQtY,KAAK4gB,QAAQ5gB,KAAKo5B,KAAKp5B,KAAKk5B,OAAOlhB,KAAK,MAAM,CAAC,KAAAqK,CAAMtmB,GAAG,MAAME,EAAEm8B,GAAG,IAAIjpB,GAAGnP,KAAKsY,QAAQtY,KAAK4gB,SAASlM,IAAI3Y,EAAEwZ,QAAQ5V,EAAE,IAAIoxB,GAAG/wB,KAAKk5B,OAAO,IAAI76B,EAAE,GAAGpB,EAAE,GAAG,OAAOlB,EAAEkX,OAAOlX,EAAEmX,SAAS7U,EAAE,IAAIsZ,IAAIxN,KAAK2E,IAAI7S,EAAEgP,GAAGjL,KAAKo5B,MAAMr9B,EAAEkX,MAAMjX,EAAE+b,qBAAqB,GAAG9a,EAAE,IAAI0a,IAAIxN,KAAK2E,IAAI7S,EAAE2D,GAAGI,KAAKo5B,MAAMr9B,EAAEmX,OAAOlX,EAAE+b,qBAAqB,IAAIhc,EAAEua,QAAQra,EAAEgP,IAAI,GAAGlP,EAAEwa,QAAQta,EAAE2D,IAAI,GAAG,qBAAqB6I,OAAOzI,KAAKyjB,GAAG,UAAUhb,OAAOxL,EAAE,eAAewL,OAAO,IAAI,EAAExL,EAAE,WAAWwL,OAAOpK,EAAE,cAAcoK,OAAO,IAAI,EAAEpK,EAAE,2DAA2DoK,OAAOkP,GAAG3X,KAAKo5B,KAAKp5B,KAAKo5B,KAAK,EAAE,EAAEp9B,EAAE+b,qBAAqB,yCAAyCtP,OAAOkP,GAAG1b,EAAEgP,EAAEjP,EAAE+b,qBAAqB,UAAUtP,OAAOkP,GAAG1b,EAAE2D,EAAE5D,EAAE+b,qBAAqB,2DAA2DtP,OAAO9I,EAAE6xB,QAAQ,qBAAqB/oB,OAAO9I,EAAEmyB,WAAW,gLAAgL,CAAC,QAAA1Z,GAAW,MAAMrc,EAAE,CAACm9B,MAAMl5B,KAAKk5B,MAAME,KAAKp5B,KAAKo5B,KAAK9gB,QAAQtY,KAAKsY,QAAQsI,QAAQ5gB,KAAK4gB,QAAQyY,aAAar5B,KAAKq5B,aAAaC,WAAWt5B,KAAKs5B,WAAWh6B,KAAKU,KAAKrD,YAAY2C,MAAMrD,EAAE+8B,GAAGxc,YAAY,OAAOxc,KAAK0b,qBAAqB3f,EAAE2b,GAAG3b,GAAC,CAAGA,EAAE4D,IAAI5D,IAAIE,EAAE0D,IAAI,CAAC,uBAAa2X,CAAWvb,GAAG,OAAO,IAAIiE,KAAKjE,EAAE,EAAEA,EAAEi9B,GAAG,cAAc,CAACE,MAAM,aAAaE,KAAK,EAAE9gB,QAAQ,EAAEsI,QAAQ,EAAEyY,cAAa,EAAG3d,sBAAqB,EAAG4d,YAAW,IAAKv9B,EAAEi9B,GAAG,OAAO,UAAU5rB,GAAGI,SAASwrB,GAAG,UAAU,MAAMO,GAAG,CAACx9B,EAAEE,EAAE0D,IAAIwK,KAAKC,IAAIrO,EAAEoO,KAAKqG,IAAIvU,EAAE0D,IAAI65B,GAAG,CAAC5tB,GAAED,GAAEgB,GAAEC,GAAE,QAAQ,QAAQ,UAAU,UAAU,QAAQ,UAAU,2BAA2B,SAAS,UAAUC,GAAEC,IAAG2sB,GAAG,CAAC1sB,GAAEC,GAAE,cAAc,kBAAkB,QAAQ,SAAS,aAAa,gBAAgB,gBAAgB,mBAAmB,iBAAiB,mBAAmB,kBAAkB,YAAY0sB,GAAG,CAAC1mB,IAAI,EAAED,KAAK,EAAEE,MAAM,EAAEC,OAAO,EAAEqC,MAAM,EAAEe,OAAM,EAAGC,OAAM,EAAGf,OAAO,EAAEC,OAAO,EAAEkkB,cAAc,EAAEjkB,MAAM,EAAEC,MAAM,EAAEwQ,QAAQxa,GAAEya,QAAQxa,GAAE2nB,YAAY,EAAEkB,eAAc,EAAG1N,QAAQ,EAAE8M,QAAQ,EAAEe,WAAW7nB,GAAEgU,KAAK,aAAauS,SAAS,UAAUS,OAAO,KAAKP,gBAAgB,KAAKC,iBAAiB,EAAEC,cAAc,OAAOC,eAAe,QAAQC,iBAAiB,EAAE9T,yBAAyB,cAAcvE,gBAAgB,GAAGyY,OAAO,KAAK3gB,SAAQ,EAAGqI,sBAAqB,EAAGoG,mBAAkB,EAAG8X,eAAc,EAAG3a,cAAS,EAAO4a,UAAS,EAAGnF,oBAAmB,EAAGoF,kBAAiB,EAAGC,iBAAgB,EAAGC,OAAM,GAAIC,GAAG,CAACl+B,EAAEE,EAAE0D,EAAEtB,KAAKtC,EAAEoO,KAAK2E,IAAI7S,IAAIF,EAAEE,EAAEoC,EAAEsB,EAAE,GAAGtB,EAAE,IAAIpC,GAAG,IAAIF,EAAE4D,EAAE0L,EAAElB,KAAK+vB,KAAK,GAAGv6B,EAAE0L,EAAElB,KAAK+vB,KAAKj+B,EAAEF,GAAG,CAACwC,EAAExC,EAAE0C,EAAExC,EAAE8D,EAAEJ,EAAEA,EAAEtB,IAAI87B,GAAG,CAACp+B,EAAEE,EAAE0D,EAAEtB,EAAEpB,IAAIlB,EAAEoO,KAAKmL,IAAI,EAAE,IAAIjX,GAAG,IAAI8L,KAAK+E,KAAK7Q,EAAEpB,EAAEhB,GAAGoP,EAAE1L,GAAGy6B,GAAG,CAACr+B,EAAEE,EAAE0D,EAAEtB,KAAKsB,EAAEwK,KAAK4E,IAAIhT,EAAEsC,EAAE8M,GAAGxL,EAAE1D,EAAEo+B,GAAG,CAACt+B,EAAEE,EAAE0D,EAAEtB,KAAKtC,GAAGsC,GAAG,EAAE,KAAKsB,GAAG,OAAO5D,EAAEA,GAAGE,EAAEF,EAAE,EAAE,KAAK4D,GAAG,QAAQ5D,GAAG,IAAI,MAAMA,EAAE,KAAKE,EAAEF,EAAE,IAAI,KAAK4D,GAAG,QAAQ5D,GAAG,KAAK,MAAMA,EAAE,OAAOE,EAAE0D,GAAG,QAAQ5D,GAAG,MAAM,MAAMA,EAAE,SAASE,EAAEq+B,GAAG,CAACv+B,EAAEE,EAAE0D,EAAEtB,IAAIsB,EAAE06B,GAAGh8B,EAAEtC,EAAE,EAAE4D,EAAEtB,GAAGpC,EAAE,IAAIs+B,GAAGr9B,OAAOyK,OAAO,CAACjF,UAAU,KAAK83B,cAAcJ,GAAGK,WAAW,SAAS1+B,EAAEE,EAAE0D,EAAEtB,GAAG,IAAIpB,EAAES,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,QAAQ,OAAOiC,GAAG5D,GAAGsC,GAAGtC,IAAIkB,EAAE,GAAGlB,EAAEkB,GAAGhB,CAAC,EAAEy+B,aAAaJ,GAAGK,WAAW,CAAC5+B,EAAEE,EAAE0D,EAAEtB,KAAKsB,GAAGwK,KAAKY,KAAK,GAAGhP,GAAGsC,GAAGtC,GAAG,GAAGE,EAAE2+B,YAAY,CAAC7+B,EAAEE,EAAE0D,EAAEtB,IAAIsB,GAAG5D,EAAEsC,IAAI,EAAEpC,EAAE4+B,cAAc,CAAC9+B,EAAEE,EAAE0D,EAAEtB,KAAK,MAAMpB,EAAE0C,EAAE,IAAIzB,EAAE,EAAE,GAAG,IAAInC,EAAE,OAAOE,EAAE,GAAG,IAAKF,GAAGsC,GAAG,OAAOpC,EAAE0D,EAAEzB,IAAIA,EAAE,GAAGG,GAAG,MAAME,EAAEvC,EAAE2D,EAAEpB,EAAEwB,EAAEP,GAAGy6B,GAAGh9B,EAAE0C,EAAEzB,EAAE,SAAS,OAAOi8B,GAAGn+B,EAAEuC,EAAEiB,EAAEzD,EAAEsC,GAAGpC,GAAG6+B,WAAW,CAAC/+B,EAAEE,EAAE0D,EAAEtB,IAAI,IAAItC,EAAEE,EAAE0D,EAAE,IAAI,IAAI5D,EAAEsC,EAAE,IAAIpC,EAAE8+B,cAAc,SAASh/B,EAAEE,EAAE0D,EAAEtB,GAAG,IAAIpB,EAAES,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,QAAQ,OAAO3B,GAAGsC,EAAE,GAAG,EAAEsB,EAAE,GAAG5D,EAAEA,IAAI,GAAGkB,GAAG,QAAQlB,EAAEkB,IAAIhB,EAAE0D,EAAE,IAAI5D,GAAG,GAAGA,IAAI,GAAGkB,GAAG,QAAQlB,EAAEkB,GAAG,GAAGhB,CAAC,EAAE++B,gBAAgB,CAACj/B,EAAEE,EAAE0D,EAAEtB,IAAItC,EAAEsC,EAAE,EAAE,GAAGi8B,GAAG,EAAEv+B,EAAE,EAAE4D,EAAEtB,GAAGpC,EAAE,GAAGo+B,GAAG,EAAEt+B,EAAEsC,EAAE,EAAEsB,EAAEtB,GAAG,GAAGsB,EAAE1D,EAAEg/B,cAAc,CAACl/B,EAAEE,EAAE0D,EAAEtB,KAAKtC,GAAGsC,EAAE,GAAG,GAAGsB,EAAE,GAAGwK,KAAKY,KAAK,EAAEhP,GAAG,GAAG,GAAGE,EAAE0D,EAAE,GAAGwK,KAAKY,KAAK,GAAGhP,GAAG,GAAGA,GAAG,GAAGE,EAAEi/B,eAAe,CAACn/B,EAAEE,EAAE0D,EAAEtB,KAAKtC,GAAGsC,EAAE,GAAG,EAAEsB,EAAE,EAAE5D,GAAG,EAAEE,EAAE0D,EAAE,IAAI5D,EAAE,IAAI,EAAE,GAAGE,EAAEk/B,iBAAiB,CAACp/B,EAAEE,EAAE0D,EAAEtB,KAAK,MAAMpB,EAAE0C,EAAE,IAAIzB,EAAE,EAAE,GAAG,IAAInC,EAAE,OAAOE,EAAE,GAAG,IAAKF,GAAGsC,EAAE,GAAG,OAAOpC,EAAE0D,EAAEzB,IAAIA,EAAEG,GAAG,GAAG,MAAM,MAAME,EAAEvC,EAAE2D,EAAEpB,EAAEwB,EAAEP,EAAEf,EAAEA,GAAGw7B,GAAGh9B,EAAE0C,EAAEzB,EAAE,SAAS,OAAOnC,EAAE,GAAG,GAAGo+B,GAAGn+B,EAAEuC,EAAEiB,EAAEzD,EAAEsC,GAAGpC,EAAED,EAAEmO,KAAKmL,IAAI,GAAG,IAAIvZ,GAAG,IAAIoO,KAAK+E,KAAKnT,EAAEsC,EAAEE,GAAG8M,EAAE7L,GAAG,GAAGf,EAAExC,GAAGm/B,cAAc,CAACr/B,EAAEE,EAAE0D,EAAEtB,IAAI,IAAItC,EAAEE,EAAEF,IAAIsC,EAAEpC,EAAE0D,GAAG5D,GAAGsC,EAAE,GAAG,EAAEsB,EAAE,EAAE,IAAI,IAAI5D,EAAE,IAAIE,EAAE0D,EAAE,IAAI,KAAK,KAAK5D,GAAG,GAAGE,EAAEo/B,cAAc,CAACt/B,EAAEE,EAAE0D,EAAEtB,KAAKtC,GAAGsC,EAAE,GAAG,EAAEsB,EAAE,EAAE5D,GAAG,EAAEE,GAAG0D,EAAE,KAAK5D,GAAGA,EAAE,GAAG,GAAGE,EAAEq/B,eAAe,CAACv/B,EAAEE,EAAE0D,EAAEtB,KAAKtC,GAAGsC,EAAE,GAAG,EAAEsB,EAAE,EAAE5D,GAAG,EAAEE,GAAG0D,EAAE,IAAI5D,GAAG,GAAGA,GAAG,EAAE,GAAGE,EAAEs/B,eAAe,CAACx/B,EAAEE,EAAE0D,EAAEtB,KAAKtC,GAAGsC,EAAE,GAAG,EAAEsB,EAAE,EAAE5D,GAAG,EAAEE,EAAE0D,EAAE,IAAI5D,EAAE,IAAI,EAAE,GAAGE,EAAEu/B,cAAc,CAACz/B,EAAEE,EAAE0D,EAAEtB,KAAKsB,EAAE,GAAGwK,KAAK4E,IAAI5E,KAAKiB,GAAGrP,EAAEsC,GAAG,GAAGpC,EAAEw/B,WAAW,CAAC1/B,EAAEE,EAAE0D,EAAEtB,IAAIsB,GAAG5D,GAAGsC,GAAGtC,EAAEE,EAAEy/B,YAAY,CAAC3/B,EAAEE,EAAE0D,EAAEtB,IAAIsB,GAAG5D,GAAGsC,GAAGtC,GAAG,EAAEE,EAAE0/B,YAAY,CAAC5/B,EAAEE,EAAE0D,EAAEtB,IAAIsB,GAAG5D,EAAEsC,IAAI,EAAEpC,EAAE2/B,WAAW,CAAC7/B,EAAEE,EAAE0D,EAAEtB,KAAKsB,EAAEwK,KAAK4E,IAAIhT,EAAEsC,EAAE8M,GAAGxL,EAAE1D,EAAE4/B,YAAY,SAAS9/B,EAAEE,EAAE0D,EAAEtB,GAAG,IAAIpB,EAAES,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,QAAQ,OAAOiC,IAAI5D,EAAEA,EAAEsC,EAAE,GAAGtC,IAAIkB,EAAE,GAAGlB,EAAEkB,GAAG,GAAGhB,CAAC,EAAE6/B,cAAczB,GAAG0B,YAAY,CAAChgC,EAAEE,EAAE0D,EAAEtB,IAAIsB,EAAEwK,KAAKY,KAAK,GAAGhP,EAAEA,EAAEsC,EAAE,GAAGtC,GAAGE,EAAE+/B,aAAa,CAACjgC,EAAEE,EAAE0D,EAAEtB,IAAIsB,IAAI5D,EAAEsC,EAAE,IAAI,EAAE,GAAGpC,EAAEggC,eAAe,CAAClgC,EAAEE,EAAE0D,EAAEtB,KAAK,MAAMpB,EAAE0C,EAAE,IAAIzB,EAAE,EAAE,GAAG,IAAInC,EAAE,OAAOE,EAAE,GAAG,IAAKF,GAAGsC,GAAG,OAAOpC,EAAE0D,EAAEzB,IAAIA,EAAE,GAAGG,GAAG,MAAME,EAAEvC,EAAE2D,EAAEpB,EAAEwB,EAAEP,EAAEf,EAAEA,GAAGw7B,GAAGh9B,EAAE0C,EAAEzB,EAAE,SAAS,OAAOlC,EAAE,KAAK,GAAGD,GAAGoO,KAAK+E,KAAKnT,EAAEsC,EAAEE,GAAG8M,EAAE7L,GAAGf,EAAExC,GAAGigC,YAAY,CAACngC,EAAEE,EAAE0D,EAAEtB,IAAItC,IAAIsC,EAAEpC,EAAE0D,EAAEA,IAAI,KAAK,GAAG5D,EAAEsC,GAAG,GAAGpC,EAAEkgC,YAAY,CAACpgC,EAAEE,EAAE0D,EAAEtB,KAAKsB,GAAG5D,GAAGsC,IAAItC,EAAE,GAAGE,EAAEmgC,aAAa,CAACrgC,EAAEE,EAAE0D,EAAEtB,KAAKsB,IAAI5D,EAAEA,EAAEsC,EAAE,GAAGtC,GAAG,EAAE,GAAGE,EAAEogC,aAAa,CAACtgC,EAAEE,EAAE0D,EAAEtB,IAAIsB,IAAI5D,EAAEsC,EAAE,IAAI,EAAE,GAAGpC,EAAEqgC,YAAY,CAACvgC,EAAEE,EAAE0D,EAAEtB,IAAIsB,EAAEwK,KAAK+E,IAAInT,EAAEsC,EAAE8M,GAAGlP,IAAI,MAAMsgC,GAAG,KAAI,EAAG,MAAMC,GAAG,WAAA7/B,CAAYV,GAAG,IAAIwgC,WAAW98B,EAAE+8B,QAAQr+B,EAAEs+B,SAAS1/B,EAAE,IAAI2/B,MAAM1+B,EAAE,EAAE2+B,OAAO7gC,EAAEo+B,GAAG0C,QAAQv+B,EAAE2M,EAAE6xB,SAASv9B,EAAE0L,EAAE8xB,WAAWv+B,EAAEyM,EAAE8C,MAAMvO,EAAE88B,GAAGv3B,OAAOrG,GAAG1C,EAAEF,EAAEiE,KAAK,SAAS,WAAWjE,EAAEiE,KAAK,mBAAmB,GAAGjE,EAAEiE,KAAK,gBAAgB,GAAGA,KAAKi9B,KAAKj9B,KAAKi9B,KAAKt3B,KAAK3F,MAAMA,KAAK28B,SAAS1/B,EAAE+C,KAAK48B,MAAM1+B,EAAE8B,KAAK68B,OAAO7gC,EAAEgE,KAAKk9B,SAAS3+B,EAAEyB,KAAKm9B,UAAU39B,EAAEQ,KAAKo9B,YAAY3+B,EAAEuB,KAAKq9B,OAAO59B,EAAEO,KAAKgF,OAAOrG,EAAEqB,KAAKy8B,WAAW98B,EAAEK,KAAK08B,QAAQr+B,EAAE2B,KAAK5B,MAAM4B,KAAKy8B,WAAWz8B,KAAKs9B,SAASpgC,OAAOyK,OAAO3H,KAAKu9B,UAAUv9B,KAAK28B,UAAUv+B,MAAM,CAAC,SAAIo/B,GAAQ,OAAOx9B,KAAKy9B,MAAM,CAAC,MAAAC,GAAS,MAAM,YAAY19B,KAAKy9B,QAAQ,cAAcz9B,KAAKy9B,MAAM,CAAC,KAAAE,GAAQ,MAAM5hC,EAAEA,IAAI,YAAYiE,KAAKy9B,SAASz9B,KAAK49B,UAAU7hC,IAAI,IAAI8hC,KAAK79B,KAAKy9B,OAAO,UAAUz9B,KAAKk9B,WAAWl9B,KAAKi9B,KAAKj9B,KAAK49B,aAAa59B,KAAK89B,WAAW99B,KAAK48B,MAAM,EAAEmB,YAAY,IAAIlqB,GAAG9X,IAAIiE,KAAK48B,OAAO/oB,GAAG9X,EAAE,CAAC,IAAAkhC,CAAKlhC,GAAG,MAAME,GAAGF,IAAI,IAAI8hC,MAAM79B,KAAK49B,UAAUj+B,EAAEwK,KAAKqG,IAAIvU,EAAE+D,KAAK28B,UAAU38B,KAAKg+B,iBAAiBr+B,EAAEK,KAAK28B,SAAS,MAAMv+B,MAAMC,EAAE4/B,cAAchhC,GAAG+C,KAAKu9B,UAAU59B,GAAGK,KAAK5B,MAAMlB,OAAOyK,OAAOtJ,GAAG2B,KAAKi+B,cAAchhC,EAAE,YAAY+C,KAAKy9B,SAASz9B,KAAKq9B,OAAOr9B,KAAK5B,MAAM4B,KAAKi+B,cAAcj+B,KAAKg+B,mBAAmBh+B,KAAKy9B,OAAO,UAAUz9B,KAAKk+B,cAAcjiC,GAAG+D,KAAK28B,UAAU38B,KAAKg+B,iBAAiBh+B,KAAKi+B,cAAc,EAAEj+B,KAAKm9B,UAAUn9B,KAAKs9B,SAASt9B,KAAKi+B,cAAcj+B,KAAKg+B,kBAAkBh+B,KAAKy9B,OAAO,YAAYz9B,KAAKo9B,YAAYp9B,KAAKs9B,SAASt9B,KAAKi+B,cAAcj+B,KAAKg+B,kBAAkBh+B,KAAKk+B,eAAel+B,KAAKm9B,UAAUn9B,KAAK5B,MAAM4B,KAAKi+B,cAAcj+B,KAAKg+B,kBAAkBnqB,GAAG7T,KAAKi9B,OAAO,CAAC,QAAAa,GAAWlwB,GAAGpQ,KAAKwC,KAAK,CAAC,UAAAk+B,GAAatwB,GAAGC,OAAO7N,KAAK,CAAC,KAAAgO,GAAQhO,KAAKy9B,OAAO,UAAUz9B,KAAKk+B,YAAY,EAAE,MAAMC,GAAG,CAAC,aAAa,YAAY,MAAMC,WAAW5B,GAAG,WAAA7/B,CAAYZ,GAAG,IAAI0gC,WAAWxgC,EAAE,EAAEqhC,SAASrgC,EAAE,KAAKlB,EAAEgM,MAAMpI,EAAEA,EAAE,CAAA,EAAGtB,EAAEtC,EAAEoiC,KAAK,CAAE,EAAC,CAAC1B,WAAWxgC,EAAEygC,QAAQz/B,EAAEhB,IAAI,CAAC,SAAAshC,CAAUxhC,GAAG,MAAME,EAAE+D,KAAK68B,OAAO9gC,EAAEiE,KAAKy8B,WAAWz8B,KAAK08B,QAAQ18B,KAAK28B,UAAU,MAAM,CAACv+B,MAAMnC,EAAEgiC,cAAc9zB,KAAK2E,KAAK7S,EAAE+D,KAAKy8B,YAAYz8B,KAAK08B,SAAS,EAAE,MAAM2B,GAAG,CAAC,aAAa,YAAY,MAAMC,WAAW9B,GAAG,WAAA7/B,CAAYZ,GAAG,IAAI0gC,WAAWxgC,EAAE,CAAC,GAAGqhC,SAASrgC,EAAE,CAAC,MAAMlB,EAAEgM,MAAMpI,EAAEA,EAAE,GAAGtB,EAAEtC,EAAEsiC,KAAK,CAAE,EAAC,CAAC5B,WAAWxgC,EAAEygC,QAAQz/B,EAAEoa,KAAK,CAACtb,EAAE4D,IAAI5D,EAAEE,EAAE0D,OAAO,CAAC,SAAA49B,CAAUxhC,GAAG,MAAME,EAAE+D,KAAKy8B,WAAWplB,KAAG,CAAGpb,EAAE0D,IAAIK,KAAK68B,OAAO9gC,EAAEE,EAAE+D,KAAK08B,QAAQ/8B,GAAGK,KAAK28B,SAASh9B,KAAK,MAAM,CAACvB,MAAMnC,EAAEgiC,cAAc9zB,KAAK2E,KAAK7S,EAAE,GAAG+D,KAAKy8B,WAAW,IAAIz8B,KAAK08B,QAAQ,IAAI,EAAE,MAAM6B,GAAG,CAAC,aAAa,WAAW,SAAS,WAAW,aAAa,SAASC,GAAG,CAACziC,EAAEE,EAAE0D,EAAEtB,IAAIpC,EAAE0D,GAAG,EAAEwK,KAAK4E,IAAIhT,EAAEsC,EAAE8M,IAAIszB,GAAG1iC,GAAGA,GAAI,EAACE,EAAE0D,EAAEtB,IAAItC,EAAE,IAAIg1B,GAAG90B,GAAGw1B,SAAS9xB,EAAEtB,IAAI,MAAMqgC,WAAWlC,GAAG,WAAA7/B,CAAYZ,GAAG,IAAI0gC,WAAWxgC,EAAEqhC,SAASrgC,EAAE4/B,OAAO3+B,EAAEsgC,GAAGzB,SAAS/gC,EAAEghC,WAAWz+B,EAAEyP,MAAMxO,GAAGzD,EAAE0C,EAAEJ,EAAEtC,EAAEwiC,IAAI,MAAM9+B,EAAE,IAAIsxB,GAAG90B,GAAGs1B,YAAY5yB,EAAE,IAAIoyB,GAAG9zB,GAAGs0B,YAAYxpB,MAAMpI,EAAEA,EAAE,CAAA,EAAGlB,GAAG,CAAA,EAAG,CAACg+B,WAAWh9B,EAAEi9B,QAAQ/9B,EAAE0Y,MAAMtb,EAAEE,IAAIF,EAAE0D,EAAExD,KAAK4gC,OAAO3+B,EAAE6+B,SAAS0B,GAAGziC,GAAGghC,WAAWyB,GAAGlgC,GAAGyP,MAAMywB,GAAGj/B,KAAK,CAAC,SAAA+9B,CAAUxhC,GAAG,MAAME,EAAE0D,EAAEtB,EAAEpB,GAAG+C,KAAKy8B,WAAWplB,KAAG,CAAGpb,EAAE0D,IAAIK,KAAK68B,OAAO9gC,EAAEE,EAAE+D,KAAK08B,QAAQ/8B,GAAGK,KAAK28B,SAASh9B,KAAKzB,EAAE,IAAI,CAACjC,EAAE0D,EAAEtB,GAAGgZ,IAAIlN,KAAKwc,OAAO4S,GAAG,EAAEt8B,EAAE,IAAI,MAAM,CAACmB,MAAMF,EAAE+/B,cAAc//B,EAAEmZ,KAAG,CAAGtb,EAAEE,IAAI,IAAI+D,KAAK08B,QAAQzgC,GAAGkO,KAAK2E,KAAK/S,EAAEiE,KAAKy8B,WAAWxgC,IAAI+D,KAAK08B,QAAQzgC,IAAI,IAAIsN,MAAMxN,GAAG,IAAIA,KAAK,EAAE,EAAE,SAAS4iC,GAAG5iC,GAAG,MAAME,EAAE,CAACF,GAAGwK,MAAMC,QAAQzK,EAAE0gC,aAAal2B,MAAMC,QAAQzK,EAAEuhC,UAAjD,CAA4DvhC,GAAG,IAAIuiC,GAAGviC,GAAG,IAAIqiC,GAAGriC,GAAG,OAAOE,EAAE0hC,QAAQ1hC,CAAC,CAAC,SAAS2iC,GAAG7iC,GAAG,MAAME,EAAE,IAAIyiC,GAAG3iC,GAAG,OAAOE,EAAE0hC,QAAQ1hC,CAAC,CAAC,MAAM4iC,GAAG,WAAAliC,CAAYZ,GAAGiE,KAAK8+B,OAAO/iC,EAAEiE,KAAK++B,OAAO,EAAE,CAAC,QAAA7sB,CAASnW,GAAG,OAAOiE,KAAK++B,OAAO5sB,MAAMlW,GAAGA,EAAEiU,GAAGnU,IAAI,CAAC,MAAAijC,GAAS,IAAI,IAAIjjC,EAAE2B,UAAUC,OAAO1B,EAAE,IAAIsK,MAAMxK,GAAG4D,EAAE,EAAEA,EAAE5D,EAAE4D,IAAI1D,EAAE0D,GAAGjC,UAAUiC,GAAG,OAAOK,KAAK++B,OAAO/+B,KAAK++B,OAAOt2B,OAAOxM,EAAEoB,QAAQtB,IAAIiE,KAAKkS,SAASnW,MAAMiE,IAAI,CAAC,uBAAOi/B,CAAiBljC,EAAEE,EAAE0D,GAAG,IAAItB,EAAEX,UAAUC,OAAO,QAAG,IAASD,UAAU,IAAIA,UAAU,GAAG,GAAGzB,EAAEiU,GAAGvQ,GAAG,OAAO5D,EAAEmU,GAAGjU,GAAG,GAAGA,EAAEgP,IAAItL,EAAEsL,EAAE,OAAOlP,EAAEkP,IAAIhP,EAAEgP,IAAI5M,GAAGtC,EAAE6D,GAAGuK,KAAKqG,IAAIvU,EAAE2D,EAAED,EAAEC,IAAI7D,EAAE6D,GAAGuK,KAAKC,IAAInO,EAAE2D,EAAED,EAAEC,IAAI,GAAG3D,EAAE2D,IAAID,EAAEC,EAAE,OAAO7D,EAAE6D,IAAI3D,EAAE2D,IAAIvB,GAAGtC,EAAEkP,GAAGd,KAAKqG,IAAIvU,EAAEgP,EAAEtL,EAAEsL,IAAIlP,EAAEkP,GAAGd,KAAKC,IAAInO,EAAEgP,EAAEtL,EAAEsL,IAAI,CAAC,MAAMhO,EAAEo7B,GAAGp8B,EAAE0D,GAAGzB,EAAEm6B,GAAGp8B,EAAEF,GAAGgU,OAAO9S,GAAG,OAAOoB,EAAE8L,KAAK2E,IAAI5Q,EAAE+M,KAAKd,KAAK2E,IAAI5Q,EAAE0B,GAAG1B,EAAE+M,IAAI/M,EAAE0B,GAAG1B,EAAE+M,GAAG,GAAG/M,EAAE+M,GAAG,CAAC,CAAC,CAAC,uBAAOi0B,CAAiBnjC,EAAEE,GAAG,MAAM0D,EAAE,IAAIwP,GAAGpT,GAAG6U,KAAKzG,KAAKqG,IAAIzU,EAAEkP,EAAE,KAAKhP,EAAEob,KAAKtb,GAAGA,EAAEkP,MAAM,IAAI5M,EAAE,EAAE,IAAI,IAAIpB,EAAE,EAAEA,EAAEhB,EAAE0B,OAAOV,IAAI,CAAC,MAAMiB,EAAE8B,KAAKm/B,wBAAwBljC,EAAEgB,GAAGhB,GAAGgB,EAAE,GAAGhB,EAAE0B,QAAQ5B,EAAE4D,GAAG,GAAGzB,EAAEgU,SAASnW,GAAG,OAAM,EAAGsC,GAAGwF,OAAO,iBAAiB3F,EAAE4gC,OAAO,CAAC,OAAOzgC,EAAE,GAAG,CAAC,CAAC,wBAAO+gC,CAAkBrjC,EAAEE,EAAE0D,EAAEtB,GAAG,IAAIpB,IAAIS,UAAUC,OAAO,QAAG,IAASD,UAAU,KAAKA,UAAU,GAAGQ,IAAIR,UAAUC,OAAO,QAAG,IAASD,UAAU,KAAKA,UAAU,GAAG,MAAM1B,EAAEC,EAAEgP,EAAElP,EAAEkP,EAAE1M,EAAEtC,EAAE2D,EAAE7D,EAAE6D,EAAEJ,EAAEnB,EAAE4M,EAAEtL,EAAEsL,EAAExM,EAAEJ,EAAEuB,EAAED,EAAEC,EAAEH,EAAE1D,EAAEkP,EAAEtL,EAAEsL,EAAEtM,EAAE5C,EAAE6D,EAAED,EAAEC,EAAEK,EAAET,EAAEb,EAAEF,EAAEgB,EAAEY,EAAErE,EAAE2C,EAAEJ,EAAEkB,EAAEC,EAAEjB,EAAEzC,EAAEwD,EAAEjB,EAAE,GAAG,IAAImB,EAAE,CAAC,MAAMzD,EAAEgE,EAAEP,EAAEC,EAAEU,EAAEX,EAAE,OAAOzC,GAAG,GAAGhB,GAAGA,GAAG,KAAKiC,GAAG,GAAGyB,GAAGA,GAAG,GAAG,IAAIk/B,GAAG,gBAAgBG,OAAO,IAAI7vB,GAAGpT,EAAEkP,EAAEhP,EAAED,EAAED,EAAE6D,EAAE3D,EAAEsC,IAAI,IAAIsgC,EAAE,CAAC,GAAG,IAAI5+B,GAAG,IAAII,EAAE,CAAC,MAAMrE,EAAEiB,GAAGiB,GAAG2gC,GAAGI,iBAAiBljC,EAAE4D,EAAEtB,IAAIwgC,GAAGI,iBAAiBhjC,EAAE0D,EAAEtB,IAAIwgC,GAAGI,iBAAiBt/B,EAAE5D,EAAEE,IAAI4iC,GAAGI,iBAAiB5gC,EAAEtC,EAAEE,GAAG,OAAO,IAAI4iC,GAAG7iC,EAAE,kBAAa,EAAO,CAAC,OAAO,IAAI6iC,GAAG,WAAW,CAAC,2BAAOQ,CAAqBtjC,EAAEE,EAAE0D,EAAEtB,GAAG,OAAOwgC,GAAGO,kBAAkBrjC,EAAEE,EAAE0D,EAAEtB,GAAE,GAAG,EAAG,CAAC,8BAAO8gC,CAAwBpjC,EAAEE,EAAE0D,EAAEtB,GAAG,OAAOwgC,GAAGO,kBAAkBrjC,EAAEE,EAAE0D,EAAEtB,GAAE,GAAG,EAAG,CAAC,2BAAOihC,CAAqBvjC,EAAEE,EAAE0D,GAAG,IAAItB,IAAIX,UAAUC,OAAO,QAAG,IAASD,UAAU,KAAKA,UAAU,GAAG,MAAMT,EAAE,IAAI4hC,GAAG3gC,EAAEyB,EAAEhC,OAAO,IAAI,IAAI3B,EAAEuC,EAAEiB,EAAEf,EAAE,EAAEA,EAAEP,EAAEO,IAAI,CAAC,GAAGzC,EAAE2D,EAAElB,GAAGF,EAAEoB,GAAGlB,EAAE,GAAGP,GAAGsB,EAAEq/B,GAAGO,kBAAkBrjC,EAAEE,EAAED,EAAEuC,EAAEF,GAAE,GAAI,eAAemB,EAAEs/B,OAAO,OAAOt/B,EAAEvC,EAAE+hC,UAAUx/B,EAAEu/B,OAAO,CAAC,OAAO9hC,EAAE8hC,OAAOphC,OAAO,IAAIV,EAAE6hC,OAAO,gBAAgB7hC,CAAC,CAAC,8BAAOsiC,CAAwBxjC,EAAEE,EAAE0D,GAAG,OAAOk/B,GAAGS,qBAAqBvjC,EAAEE,EAAE0D,GAAE,EAAG,CAAC,8BAAO6/B,CAAwBzjC,EAAEE,GAAG,MAAM0D,EAAE,IAAIk/B,GAAGxgC,EAAEtC,EAAE4B,OAAOV,EAAE,GAAG,IAAI,IAAIiB,EAAE,EAAEA,EAAEG,EAAEH,IAAI,CAAC,MAAMlC,EAAED,EAAEmC,GAAGK,EAAExC,GAAGmC,EAAE,GAAGG,GAAGmB,EAAEq/B,GAAGU,wBAAwBvjC,EAAEuC,EAAEtC,GAAG,eAAeuD,EAAEs/B,QAAQ7hC,EAAEO,KAAKgC,GAAGG,EAAEq/B,OAAOhjC,EAAEuC,IAAIoB,EAAEq/B,UAAUx/B,EAAEu/B,OAAO,CAAC,OAAO9hC,EAAEU,OAAO,GAAGV,EAAEU,SAAS5B,EAAE4B,OAAO,IAAIkhC,GAAG,eAAel/B,EAAEo/B,OAAOphC,OAAO,IAAIgC,EAAEm/B,OAAO,gBAAgBn/B,EAAE,CAAC,gCAAO8/B,CAA0B1jC,EAAEE,EAAE0D,GAAG,MAAMtB,EAAEpC,EAAEuU,IAAI7Q,GAAG1C,EAAEhB,EAAEmO,IAAIzK,GAAGzB,EAAE,IAAIiR,GAAGlS,EAAEgO,EAAE5M,EAAEuB,GAAG5D,EAAE,IAAImT,GAAG9Q,EAAE4M,EAAEhO,EAAE2C,GAAG,OAAOi/B,GAAGW,wBAAwBzjC,EAAE,CAACsC,EAAEH,EAAEjB,EAAEjB,GAAG,EAAE,MAAM0jC,WAAWvvB,GAAG,IAAAwvB,GAAO,OAAO3/B,KAAK4/B,QAAQ30B,CAAC,CAAC,IAAA2F,CAAK7U,GAAGiE,KAAK2Q,MAAM3Q,KAAK4/B,QAAQhvB,KAAK7U,GAAG,CAAC,IAAA8jC,GAAO,OAAO7/B,KAAK4/B,QAAQhgC,CAAC,CAAC,IAAAiR,CAAK9U,GAAGiE,KAAK2Q,MAAM3Q,KAAK4/B,QAAQ/uB,KAAK9U,GAAG,CAAC,YAAA+jC,GAAe,OAAO9/B,KAAK+S,IAAI,CAAC,YAAAgtB,CAAahkC,GAAGiE,KAAK+S,KAAKhX,CAAC,CAAC,YAAAikC,GAAe,OAAOhgC,KAAKgT,GAAG,CAAC,YAAAitB,CAAalkC,GAAGiE,KAAKgT,IAAIjX,CAAC,CAAC,KAAA6jC,GAAQ,MAAM7jC,EAAEiE,KAAKkgC,gBAAgB,OAAOlgC,KAAKmgC,MAAMrrB,GAAG/Y,EAAEiE,KAAKmgC,MAAMhM,uBAAuBp4B,CAAC,CAAC,KAAA4U,CAAM5U,EAAEE,EAAE0D,GAAGK,KAAKmgC,QAAQpkC,EAAE+Y,GAAG/Y,EAAEgZ,GAAG/U,KAAKmgC,MAAMhM,yBAAyBn0B,KAAKogC,cAAcrkC,EAAEE,EAAE0D,EAAE,CAAC,aAAAugC,GAAgB,OAAO,IAAI/wB,GAAGnP,KAAK+S,KAAK/S,KAAKgT,IAAI,CAAC,aAAAotB,CAAcrkC,GAAG,IAAIE,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAGsC,KAAKmmB,QAAQxmB,EAAEjC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAGsC,KAAKomB,QAAQpmB,KAAKmlB,oBAAoBppB,EAAEE,EAAE0D,EAAE,CAAC,gCAAA0gC,GAAmC,OAAM,CAAE,CAAC,SAAAC,GAAY,MAAM1hB,GAAG7iB,EAAE8iB,GAAG5iB,EAAE8iB,GAAGpf,EAAEmf,GAAGzgB,GAAG2B,KAAKugC,UAAUvgC,KAAKugC,QAAQvgC,KAAKwgC,eAAevjC,EAAE,CAAClB,EAAEE,EAAE0D,EAAEtB,GAAG,GAAG2B,KAAKmgC,MAAM,CAAC,MAAMpkC,EAAEiE,KAAKmgC,MAAMhM,sBAAsB,OAAOl3B,EAAEoa,KAAKpb,GAAG6Y,GAAG7Y,EAAEF,IAAI,CAAC,OAAOkB,CAAC,CAAC,kBAAAqW,CAAmBvX,EAAEE,GAAG,MAAM,iBAAiB4iC,GAAGY,0BAA0Bz/B,KAAKsgC,YAAYvkC,EAAEE,GAAG6iC,MAAM,CAAC,oBAAA2B,CAAqB1kC,GAAG,MAAME,EAAE4iC,GAAGW,wBAAwBx/B,KAAKsgC,YAAYvkC,EAAEukC,aAAa,MAAM,iBAAiBrkC,EAAE6iC,QAAQ,eAAe7iC,EAAE6iC,QAAQ/iC,EAAE2kC,wBAAwB1gC,OAAOA,KAAK0gC,wBAAwB3kC,EAAE,CAAC,uBAAA2kC,CAAwB3kC,GAAG,OAAOiE,KAAKsgC,YAAYzrB,OAAO5Y,GAAGF,EAAEyX,cAAcvX,IAAI,CAAC,qBAAAsX,CAAsBxX,EAAEE,GAAG,MAAM8W,KAAKpT,EAAEqT,IAAI3U,EAAE4U,MAAMhW,EAAEiW,OAAOhV,GAAG8B,KAAK2gC,kBAAkB,OAAOhhC,GAAG5D,EAAEkP,GAAGtL,EAAE1C,GAAGhB,EAAEgP,GAAG5M,GAAGtC,EAAE6D,GAAGvB,EAAEH,GAAGjC,EAAE2D,CAAC,CAAC,aAAAiT,CAAc9W,GAAG,OAAOiE,KAAKygC,qBAAqB1kC,IAAIiE,KAAK0gC,wBAAwB3kC,IAAIA,EAAE2kC,wBAAwB1gC,KAAK,CAAC,aAAAwT,CAAczX,GAAG,OAAO8iC,GAAGK,iBAAiBnjC,EAAEiE,KAAKsgC,YAAY,CAAC,UAAAM,GAAa,IAAI5gC,KAAKkO,OAAO,OAAM,EAAG,MAAM0Q,GAAG7iB,EAAEgjB,GAAG9iB,GAAG+D,KAAKkO,OAAOyQ,UAAU,QAAQ3e,KAAKsgC,YAAYnuB,MAAMxS,GAAGA,EAAEsL,GAAGhP,EAAEgP,GAAGtL,EAAEsL,GAAGlP,EAAEkP,GAAGtL,EAAEC,GAAG3D,EAAE2D,GAAGD,EAAEC,GAAG7D,EAAE6D,OAAQI,KAAKsT,mBAAmBvX,EAAEE,IAAI+D,KAAKwT,cAAczX,EAAE2U,aAAazU,GAAI,CAAC,mBAAA4kC,GAAsB,IAAI7gC,KAAKkO,OAAO,OAAM,EAAG,MAAM0Q,GAAG7iB,EAAEgjB,GAAG9iB,GAAG+D,KAAKkO,OAAOyQ,UAAU,QAAG3e,KAAKsT,mBAAmBvX,EAAEE,IAAmB+D,KAAKsgC,YAAYzrB,OAAOlV,IAAIA,EAAEsL,GAAGhP,EAAEgP,GAAGtL,EAAEsL,GAAGlP,EAAEkP,KAAKtL,EAAEC,GAAG3D,EAAE2D,GAAGD,EAAEC,GAAG7D,EAAE6D,MAAMI,KAAKwT,cAAczX,EAAE2U,aAAazU,GAAG,CAAC,eAAA0kC,GAAkB,OAAO7b,GAAG9kB,KAAKsgC,YAAY,CAAC,cAAAQ,GAAiB,OAAO9gC,KAAK+gC,4BAA4B91B,CAAC,CAAC,eAAA+1B,GAAkB,OAAOhhC,KAAK+gC,4BAA4BnhC,CAAC,CAAC,KAAA4Z,CAAMzd,GAAGiE,KAAK2T,KAAKhH,GAAE5Q,GAAGiE,KAAK2T,KAAK/G,GAAE7Q,GAAGiE,KAAK8c,WAAW,CAAC,YAAAmkB,CAAallC,GAAG,MAAME,EAAE+D,KAAK2gC,kBAAkB1tB,MAAMjT,KAAK8gC,iBAAiB,OAAO9gC,KAAKwZ,MAAMzd,EAAEiE,KAAKiT,MAAMhX,EAAE,CAAC,aAAAilC,CAAcnlC,GAAG,MAAME,EAAE+D,KAAK2gC,kBAAkBztB,OAAOlT,KAAKghC,kBAAkB,OAAOhhC,KAAKwZ,MAAMzd,EAAEiE,KAAKkT,OAAOjX,EAAE,CAAC,sBAAAklC,GAAyB,IAAIplC,EAAE,OAAO,QAAQA,EAAEiE,KAAKkO,cAAS,IAASnS,OAAE,EAAOA,EAAEghB,qBAAqB,CAAC,CAAC,aAAA2J,GAAgB,OAAO1mB,KAAKmgC,MAAMxrB,GAAGQ,GAAGnV,KAAKm0B,wBAAwBn0B,KAAKuV,KAAK,CAAC,oBAAA6rB,GAAuB,IAAIrlC,EAAE,OAAO,QAAQA,EAAEiE,KAAKkO,cAAS,IAASnS,OAAE,EAAOA,EAAEmgB,oBAAoB3Q,EAAE9C,QAAQ,CAAC,WAAA+3B,GAAc,MAAMzkC,EAAEga,GAAG,CAACR,MAAMvV,KAAKuV,SAAStK,EAAEhP,EAAE2D,EAAED,GAAGK,KAAKgnB,yBAAyB3oB,EAAEyX,GAAG7Z,EAAE0D,GAAG1C,EAAE+X,GAAG3W,EAAEtC,GAAGmC,EAAE8B,KAAK+gC,4BAA4B/kC,EAAEkC,EAAE+M,EAAE,EAAE1M,EAAEL,EAAE0B,EAAE,EAAE,MAAM,CAACgf,GAAG9J,GAAG,CAAC7J,GAAGjP,EAAE4D,GAAGrB,GAAGtB,GAAG4hB,GAAG/J,GAAG,CAAC7J,EAAEjP,EAAE4D,GAAGrB,GAAGtB,GAAG6hB,GAAGhK,GAAG,CAAC7J,GAAGjP,EAAE4D,EAAErB,GAAGtB,GAAG8hB,GAAGjK,GAAG,CAAC7J,EAAEjP,EAAE4D,EAAErB,GAAGtB,GAAG,CAAC,SAAA6f,GAAY9c,KAAKugC,QAAQvgC,KAAKwgC,aAAa,CAAC,kBAAAa,GAAqB,IAAItlC,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,IAAIA,UAAU,GAAGzB,EAAE,GAAG,OAAOF,GAAGiE,KAAKmgC,QAAQlkC,EAAE+D,KAAKmgC,MAAMkB,mBAAmBtlC,IAAIE,EAAEuB,KAAKwC,KAAKgT,IAAIhT,KAAK+S,KAAK/S,KAAKiT,MAAMjT,KAAKkT,OAAOlT,KAAKwV,OAAOxV,KAAKyV,OAAOzV,KAAKuV,MAAMvV,KAAKuzB,YAAYvzB,KAAK0V,MAAM1V,KAAK2V,OAAO3V,KAAKsW,OAAOtW,KAAKuW,MAAMyP,GAAGhmB,KAAKmmB,SAASH,GAAGhmB,KAAKomB,UAAUnqB,CAAC,CAAC,mBAAAk4B,GAAsB,IAAIp4B,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,IAAIA,UAAU,GAAGzB,EAAE+D,KAAKklB,gBAAgB,GAAGnpB,IAAIiE,KAAKmgC,MAAM,OAAOlkC,EAAE,MAAM0D,EAAEK,KAAKqhC,mBAAmBtlC,GAAGsC,EAAE2B,KAAKshC,YAAY,OAAOjjC,GAAGA,EAAE+F,IAAIyQ,OAAK,CAAG9Y,EAAEE,IAAIF,IAAI4D,EAAE1D,KAAKoC,EAAED,OAAO4B,KAAKmgC,QAAQlkC,EAAE+Y,GAAGhV,KAAKmgC,MAAMhM,qBAAoB,GAAIl4B,IAAI+D,KAAKshC,YAAY,CAACl9B,IAAIzE,EAAEvB,MAAMnC,GAAGA,EAAE,CAAC,aAAAipB,GAAgB,MAAMnpB,EAAEiE,KAAKqhC,oBAAmB,GAAIplC,EAAE+D,KAAKuhC,eAAe,GAAGtlC,GAAGA,EAAEmI,MAAMrI,EAAE,OAAOE,EAAEmC,MAAM,MAAMuB,EAAEK,KAAKgnB,yBAAyB3oB,EAAE,CAACkX,MAAMvV,KAAKuV,MAAMK,WAAWjW,EAAEsL,EAAE4K,WAAWlW,EAAEC,EAAE4V,OAAOxV,KAAKwV,OAAOC,OAAOzV,KAAKyV,OAAOC,MAAM1V,KAAK0V,MAAMC,MAAM3V,KAAK2V,MAAMW,MAAMtW,KAAKsW,MAAMC,MAAMvW,KAAKuW,OAAOtZ,EAAEuZ,GAAGnY,GAAG,OAAO2B,KAAKuhC,eAAe,CAACn9B,IAAIrI,EAAEqC,MAAMnB,GAAGA,CAAC,CAAC,4BAAAukC,GAA+B,OAAO,IAAIryB,GAAGnP,KAAKiT,MAAMjT,KAAKkT,QAAQ5D,UAAUtP,KAAKuzB,YAAY,CAAC,2BAAAkO,CAA4B1lC,GAAG,OAAOiE,KAAK+gC,0BAA0BhlC,GAAGoV,UAAUnR,KAAKohC,wBAAuB,GAAI9xB,UAAU,EAAEtP,KAAK+mB,QAAQ,CAAC,yBAAAga,GAA4B,IAAIhlC,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAE,EAAC,MAAMzB,EAAE0D,EAAE,CAAC6V,OAAOxV,KAAKwV,OAAOC,OAAOzV,KAAKyV,OAAOC,MAAM1V,KAAK0V,MAAMC,MAAM3V,KAAK2V,MAAM1C,MAAMjT,KAAKiT,MAAMC,OAAOlT,KAAKkT,OAAOqgB,YAAYvzB,KAAKuzB,aAAax3B,GAAGsC,EAAEpC,EAAEs3B,YAAY,IAAIt2B,EAAEoB,EAAEH,EAAE,EAAE8B,KAAKy0B,gBAAgBx3B,EAAE,EAAEiB,EAAEG,GAAG,MAAMrC,EAAEC,EAAEgX,MAAMhW,EAAEsB,EAAEtC,EAAEiX,OAAOjW,EAAE,IAAIuC,EAAE,OAAOA,EAAE,IAAIvD,EAAEyZ,OAAO,IAAIzZ,EAAE0Z,MAAM,IAAIxG,GAAGnT,EAAEC,EAAEuZ,OAAOjX,EAAEtC,EAAEwZ,QAAQ6P,GAAGtpB,EAAEuC,EAAE8X,GAAGpa,IAAIuD,EAAE8P,UAAUpR,EAAE,CAAC,sBAAA+oB,CAAuBlrB,EAAEE,EAAE0D,EAAEtB,EAAEpB,GAAG,IAAIiB,EAAEnC,EAAEkP,EAAEjP,EAAED,EAAE6D,EAAE,MAAMrB,EAAEynB,GAAG3nB,GAAG2nB,GAAG/pB,GAAGuD,EAAEwmB,GAAG/oB,GAAG+oB,GAAGrmB,GAAG,GAAGpB,GAAGiB,EAAE,CAAC,MAAMzD,EAAEiE,KAAK+gC,4BAA4B7iC,GAAGK,EAAExC,EAAEkP,EAAEjP,GAAGwD,EAAEzD,EAAE6D,CAAC,CAAC,OAAO,IAAIuP,GAAGjR,EAAElC,EAAE,CAAC,sBAAA0lC,CAAuB3lC,EAAEE,EAAE0D,GAAG,GAAG1D,IAAIyP,IAAG/L,IAAI+L,GAAE,OAAO3P,EAAE,MAAMsC,EAAE2B,KAAKinB,uBAAuBlrB,EAAEE,EAAE0D,EAAE+L,GAAEA,IAAG,OAAO1L,KAAKuV,MAAMlX,EAAE4S,OAAOyD,GAAG1U,KAAKuV,OAAOxZ,GAAGsC,CAAC,CAAC,sBAAAsjC,CAAuB5lC,EAAEE,EAAE0D,GAAG,MAAMtB,EAAE2B,KAAKinB,uBAAuBlrB,EAAE2P,GAAEA,GAAEzP,EAAE0D,GAAG,OAAOK,KAAKuV,MAAMlX,EAAE4S,OAAOyD,GAAG1U,KAAKuV,OAAOxZ,GAAGsC,CAAC,CAAC,cAAA4iB,GAAiB,MAAMllB,EAAEiE,KAAKgnB,yBAAyB,OAAOhnB,KAAKmgC,MAAMrrB,GAAG/Y,EAAEiE,KAAKmgC,MAAMhM,uBAAuBp4B,CAAC,CAAC,sBAAAirB,GAAyB,OAAOhnB,KAAK0hC,uBAAuB,IAAIvyB,GAAGnP,KAAK+S,KAAK/S,KAAKgT,KAAKhT,KAAKmmB,QAAQnmB,KAAKomB,QAAQ,CAAC,gBAAAwb,CAAiB7lC,EAAEE,GAAG,OAAO+D,KAAK2hC,uBAAuB3hC,KAAKgnB,yBAAyBjrB,EAAEE,EAAE,CAAC,mBAAAkpB,CAAoBppB,EAAEE,EAAE0D,GAAG,MAAMtB,EAAE2B,KAAK0hC,uBAAuB3lC,EAAEE,EAAE0D,GAAG1C,EAAE+C,KAAK2hC,uBAAuBtjC,EAAE2B,KAAKmmB,QAAQnmB,KAAKomB,SAASpmB,KAAKyN,IAAI,CAACsF,KAAK9V,EAAEgO,EAAE+H,IAAI/V,EAAE2C,GAAG,CAAC,iBAAAiiC,GAAoB,OAAO7hC,KAAK2hC,uBAAuB3hC,KAAKgnB,yBAAyBrb,GAAEC,GAAE,EAAE,MAAMk2B,GAAG,CAAC,QAAQC,GAAG,CAAC,cAAc,IAAIC,GAAG,MAAM/lC,UAAUyjC,GAAG,kBAAOnjB,GAAc,OAAOtgB,EAAEugB,WAAW,CAAC,QAAIld,GAAO,MAAMvD,EAAEiE,KAAKrD,YAAY2C,KAAK,MAAM,iBAAiBvD,EAAE,SAASA,EAAE2O,aAAa,CAAC,QAAIpL,CAAKvD,GAAGwC,EAAE,OAAO,6BAA6BxC,EAAE,CAAC,WAAAY,CAAYgD,GAAGoI,QAAQhM,EAAEiE,KAAK,gBAAgB,MAAM9C,OAAO+K,OAAOjI,KAAK/D,EAAEugB,aAAaxc,KAAKiiC,WAAWtiC,EAAE,CAAC,kBAAAuiC,GAAqBliC,KAAKkgB,aAAahM,KAAKlU,KAAKmiC,cAAcniC,KAAKkgB,aAAahX,WAAW,MAAMlJ,KAAKoiC,qBAAqBpiC,KAAKg6B,OAAM,CAAE,CAAC,eAAAqI,CAAgBtmC,GAAG,MAAME,EAAEF,EAAEkX,MAAMtT,EAAE5D,EAAEmX,OAAO7U,EAAErC,EAAEsmC,kBAAkBrlC,EAAEjB,EAAEumC,kBAAkB,GAAGtmC,GAAGoC,GAAGsB,GAAGtB,GAAGpC,EAAE0D,GAAG3D,EAAE8O,mBAAmB,OAAO7O,EAAEgB,IAAIlB,EAAEkX,MAAMhW,GAAG0C,EAAE1C,IAAIlB,EAAEmX,OAAOjW,GAAGlB,EAAE,MAAMmC,EAAEjC,EAAE0D,GAAGpB,EAAEiB,GAAG6K,EAAEQ,gBAAgB3M,GAAGO,EAAE86B,GAAGt8B,EAAEsB,EAAEF,GAAGoB,EAAE85B,GAAGt8B,EAAEuC,EAAEnB,GAAG,OAAOpC,EAAEwC,IAAI1C,EAAEgkB,OAAO9jB,EAAEwC,EAAE1C,EAAEkX,MAAMxU,EAAE1C,EAAEymC,QAAO,GAAI7iC,EAAEF,IAAI1D,EAAEikB,OAAOrgB,EAAEF,EAAE1D,EAAEmX,OAAOzT,EAAE1D,EAAEymC,QAAO,GAAIzmC,CAAC,CAAC,yBAAA0mC,GAA4B,MAAM1mC,EAAEiE,KAAK0iC,wBAAwBzmC,EAAE+D,KAAK+gC,0BAA0B,CAACrrB,MAAM,EAAEC,MAAM,IAAIhW,EAAE1D,EAAEgP,EAAElP,EAAEkP,EAAEjL,KAAKwV,OAAOnX,EAAEpC,EAAE2D,EAAE7D,EAAE6D,EAAEI,KAAKyV,OAAO,MAAM,CAACxC,MAAM9I,KAAKw4B,KAAKhjC,EAAE,GAAGuT,OAAO/I,KAAKw4B,KAAKtkC,EAAE,GAAG0hB,MAAMhkB,EAAEkP,EAAE+U,MAAMjkB,EAAE6D,EAAEqL,EAAEtL,EAAEC,EAAEvB,EAAE,CAAC,kBAAA+jC,GAAqB,MAAMrmC,EAAEiE,KAAKkgB,aAAajkB,EAAE+D,KAAKmiC,eAAelvB,MAAMtT,EAAEuT,OAAO7U,EAAE0hB,MAAM9iB,EAAE+iB,MAAM9hB,EAAE+M,EAAEjP,EAAE4D,EAAErB,GAAGyB,KAAKqiC,gBAAgBriC,KAAKyiC,6BAA6BjjC,EAAEG,IAAI5D,EAAEkX,OAAO5U,IAAItC,EAAEmX,OAAOzU,EAAEuB,KAAK+f,QAAQ9iB,GAAG+C,KAAKggB,QAAQ9hB,EAAE,IAAInC,IAAIE,EAAE,OAAM,EAAG,GAAGuD,GAAGf,EAAE,CAACkB,IAAI5D,EAAEkX,OAAO5U,IAAItC,EAAEmX,QAAQnX,EAAEkX,MAAMtT,EAAE5D,EAAEmX,OAAO7U,IAAIpC,EAAE2mC,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG3mC,EAAE+hB,UAAU,EAAE,EAAEjiB,EAAEkX,MAAMlX,EAAEmX,SAAS,MAAM1T,EAAExD,EAAE,EAAEyC,EAAEF,EAAE,EAAE,OAAOyB,KAAKmgB,kBAAkBhW,KAAKwc,MAAM5qB,EAAEkX,MAAM,EAAEzT,GAAGA,EAAEQ,KAAKogB,kBAAkBjW,KAAKwc,MAAM5qB,EAAEmX,OAAO,EAAEzU,GAAGA,EAAExC,EAAE4mC,UAAU7iC,KAAKmgB,kBAAkBngB,KAAKogB,mBAAmBnkB,EAAEud,MAAMvc,EAAEiB,GAAG8B,KAAK+f,MAAM9iB,EAAE+C,KAAKggB,MAAM9hB,GAAE,CAAE,CAAC,OAAM,CAAE,CAAC,UAAA+jC,GAAa,IAAIlmC,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAGsC,KAAKyT,YAAY1X,EAAE,CAAC,SAAAoV,CAAUpV,GAAG,MAAME,EAAE+D,KAAKmgC,QAAQngC,KAAKmgC,MAAM3gB,gBAAgBxf,KAAKmgC,OAAOngC,KAAKkO,QAAQnS,IAAIiE,KAAKkO,OAAO40B,WAAWnjC,EAAEK,KAAKm0B,qBAAqBl4B,GAAGF,EAAEoV,UAAUxR,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG,CAAC,gBAAAojC,GAAmB,IAAI/iC,KAAKmgC,MAAM,OAAO,IAAIhxB,GAAGhF,KAAK2E,IAAI9O,KAAKwV,QAAQrL,KAAK2E,IAAI9O,KAAKyV,SAAS,MAAM1Z,EAAEsZ,GAAGrV,KAAKm0B,uBAAuB,OAAO,IAAIhlB,GAAGhF,KAAK2E,IAAI/S,EAAEyZ,QAAQrL,KAAK2E,IAAI/S,EAAE0Z,QAAQ,CAAC,qBAAAitB,GAAwB,MAAM3mC,EAAEiE,KAAK+iC,mBAAmB,GAAG/iC,KAAKkO,OAAO,CAAC,MAAMjS,EAAE+D,KAAKkO,OAAOsP,UAAU7d,EAAEK,KAAKmhC,yBAAyB,OAAOplC,EAAE8T,eAAe5T,EAAE0D,EAAE,CAAC,OAAO5D,CAAC,CAAC,gBAAAinC,GAAmB,IAAIjnC,EAAEiE,KAAK6zB,QAAQ,OAAO7zB,KAAKmgC,QAAQpkC,GAAGiE,KAAKmgC,MAAM6C,oBAAoBjnC,CAAC,CAAC,eAAAknC,CAAgBlnC,GAAG,OAAOoO,KAAK2E,IAAI/S,GAAGiE,KAAK25B,cAAc59B,EAAE,GAAGiE,KAAK25B,cAAc35B,KAAK25B,cAAc,IAAI59B,EAAE,KAAKA,CAAC,CAAC,IAAA4X,CAAK5X,EAAEE,GAAGF,IAAI4Q,IAAG5Q,IAAI6Q,KAAI3Q,EAAE+D,KAAKijC,gBAAgBhnC,IAAIF,IAAI4Q,IAAG1Q,EAAE,GAAG+D,KAAKsW,OAAOtW,KAAKsW,MAAMra,IAAI,GAAG,WAAWF,GAAGE,EAAE,GAAG+D,KAAKuW,OAAOvW,KAAKuW,MAAMta,IAAI,GAAG,WAAWF,IAAIE,GAAGA,aAAa+8B,KAAK/8B,EAAE,IAAI+8B,GAAG/8B,IAAI,MAAM0D,EAAEK,KAAKjE,KAAKE,EAAE,OAAO+D,KAAKjE,GAAGE,EAAE0D,GAAGK,KAAKrD,YAAYumC,gBAAgBhxB,SAASnW,KAAKiE,KAAKg6B,OAAM,GAAIh6B,KAAKmjC,SAASnjC,KAAKg6B,OAAOr6B,GAAGK,KAAKrD,YAAYymC,gBAAgBlxB,SAASnW,KAAKiE,KAAKmjC,OAAOxvB,KAAK,SAAQ,GAAI3T,IAAI,CAAC,YAAAqjC,GAAe,OAAO,IAAIrjC,KAAK6zB,UAAU7zB,KAAKiT,QAAQjT,KAAKkT,QAAQ,IAAIlT,KAAKuzB,cAAcvzB,KAAKqT,OAAO,CAAC,MAAAgN,CAAOtkB,GAAGiE,KAAKqjC,gBAAgBrjC,KAAKkO,QAAQlO,KAAKkO,OAAO2N,gBAAgB7b,KAAKmgC,QAAQngC,KAAK4gC,eAAe7kC,EAAEqjB,OAAOpf,KAAKsjC,yBAAyBvnC,GAAGiE,KAAKujC,wBAAwBxnC,GAAGiE,KAAKmR,UAAUpV,GAAGiE,KAAKwjC,YAAYznC,GAAGiE,KAAKyjC,WAAW1nC,GAAGiE,KAAKuf,eAAevf,KAAKyf,cAAczf,KAAK0jC,kBAAkB3nC,KAAKiE,KAAK2jC,qBAAqB3jC,KAAK4jC,WAAW7nC,GAAE,EAAG,CAAE,GAAEiE,KAAKg6B,OAAM,GAAIj+B,EAAEujB,UAAU,CAAC,uBAAAikB,CAAwBxnC,GAAI,CAAA,WAAA0jB,CAAY1jB,GAAG,GAAGA,EAAEA,GAAG,CAAE,EAACiE,KAAKkgB,cAAclgB,KAAKmiC,eAAeniC,KAAKkiC,qBAAqBliC,KAAK6jC,gBAAgB7jC,KAAKmiC,cAAc,CAAC,MAAMpiB,MAAM9jB,EAAE+jB,MAAMrgB,EAAEwgB,kBAAkB9hB,EAAE+hB,kBAAkBnjB,GAAG+C,MAAMiT,MAAM/U,EAAEgV,OAAOlX,GAAGgE,KAAKkgB,aAAalgB,KAAK4jC,WAAW5jC,KAAKmiC,cAAcpmC,EAAE2jB,YAAY,CAACK,MAAM9jB,EAAE+jB,MAAMrgB,EAAEwgB,kBAAkB9hB,EAAE+hB,kBAAkBnjB,EAAEgW,MAAM/U,EAAEgV,OAAOlX,EAAE8nC,gBAAgB,KAAK9jC,KAAKg6B,OAAM,CAAE,CAAC,CAAC,kBAAA2J,GAAqB3jC,KAAKkgB,kBAAa,EAAOlgB,KAAKmiC,cAAc,IAAI,CAAC,SAAA4B,GAAY,OAAO/jC,KAAK+zB,QAAQ,gBAAgB/zB,KAAK+zB,QAAQ,IAAI/zB,KAAKuzB,WAAW,CAAC,OAAAyQ,GAAU,OAAOhkC,KAAK+gB,MAAM,gBAAgB/gB,KAAK+gB,IAAI,CAAC,gBAAAkjB,GAAmB,SAASjkC,KAAK40B,aAAa5nB,IAAGhN,KAAKgkC,WAAWhkC,KAAK+jC,aAAa/jC,KAAKg0B,WAAWh0B,KAAKif,QAAQ,CAAC,WAAAM,GAAc,OAAOvf,KAAKkkC,WAAWlkC,KAAK45B,iBAAiB55B,KAAKmjC,SAASnjC,KAAKmjC,OAAOgB,eAAenkC,KAAKikC,mBAAmBjkC,KAAKkkC,UAAU,CAAC,cAAAE,GAAiB,QAAQpkC,KAAKg0B,SAAS,IAAIh0B,KAAKg0B,OAAO1b,SAAS,IAAItY,KAAKg0B,OAAOpT,QAAQ,CAAC,mBAAAyjB,CAAoBtoC,EAAEE,EAAE0D,GAAG5D,EAAEqjB,OAAOnjB,EAAE49B,SAAS99B,EAAE+jB,yBAAyB,kBAAkB/jB,EAAE+jB,yBAAyB,iBAAiB/jB,EAAE6mC,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG7mC,EAAEkkB,UAAUtgB,EAAE,EAAE,GAAG5D,EAAEujB,SAAS,CAAC,UAAAskB,CAAW7nC,EAAEE,EAAE0D,GAAG,MAAMtB,EAAE2B,KAAK+gB,KAAK9jB,EAAE+C,KAAK+zB,OAAO93B,GAAG+D,KAAK+gB,KAAK,QAAQ/gB,KAAK+zB,OAAO,GAAG/zB,KAAKskC,uBAAuBvoC,IAAIiE,KAAKmf,kBAAkBpjB,GAAGiE,KAAKukC,QAAQxoC,GAAGiE,KAAKwkC,cAAczoC,EAAEiE,KAAKif,SAAStf,GAAGK,KAAK+gB,KAAK1iB,EAAE2B,KAAK+zB,OAAO92B,CAAC,CAAC,mBAAAwnC,CAAoB1oC,EAAEE,GAAG,MAAM0D,EAAE0U,GAAGpY,GAAGoC,EAAEsB,EAAEuJ,WAAW,MAAM,GAAG7K,EAAEwkC,UAAU5mC,EAAEkkB,kBAAkBlkB,EAAEmkB,mBAAmB/hB,EAAEmb,MAAMvd,EAAE8jB,MAAM9jB,EAAE+jB,OAAOjkB,EAAEmkB,aAAavgB,EAAE1D,EAAE6nC,gBAAgBlmC,SAAS7B,IAAIA,EAAEoV,UAAU9S,EAAG,IAAGpC,EAAE6nC,gBAAgBtmC,KAAKzB,GAAGA,EAAE24B,mBAAmB,CAAC,MAAM34B,EAAEgZ,GAAG/U,KAAKm0B,uBAAuB91B,EAAE8S,UAAUpV,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG,CAAC,OAAOA,EAAEoV,UAAU9S,GAAGtC,EAAE6nC,WAAWvlC,GAAE,EAAGpC,GAAG0D,CAAC,CAAC,aAAA6kC,CAAczoC,EAAEE,EAAE0D,GAAG,IAAI1D,EAAE,OAAOA,EAAEujB,gBAAe,EAAG,MAAMnhB,EAAE2B,KAAKykC,oBAAoBxoC,EAAE0D,GAAGK,KAAKqkC,oBAAoBtoC,EAAEE,EAAEoC,EAAE,CAAC,iBAAAqlC,CAAkB3nC,GAAGA,EAAEyd,MAAM,EAAExZ,KAAK+f,MAAM,EAAE/f,KAAKggB,OAAOjkB,EAAEkkB,UAAUjgB,KAAKkgB,cAAclgB,KAAKmgB,mBAAmBngB,KAAKogB,kBAAkB,CAAC,YAAAyjB,GAAe,IAAI9nC,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,IAAIA,UAAU,GAAG,GAAGsC,KAAKqjC,eAAe,OAAM,EAAG,MAAMpnC,EAAE+D,KAAKkgB,aAAavgB,EAAEK,KAAKmiC,cAAc,SAASlmC,IAAI0D,GAAG5D,IAAIiE,KAAKoiC,0BAA0BpiC,KAAKg6B,OAAOh6B,KAAKif,UAAUjf,KAAKif,SAASyV,sBAAsBz4B,GAAG0D,IAAI5D,IAAI4D,EAAEyf,OAAOzf,EAAEijC,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,GAAGjjC,EAAEqe,UAAU,EAAE,EAAE/hB,EAAEgX,MAAMhX,EAAEiX,QAAQvT,EAAE2f,YAAW,EAAG,CAAC,iBAAAH,CAAkBpjB,GAAG,IAAIiE,KAAKub,gBAAgB,OAAO,MAAMtf,EAAE+D,KAAKwhC,+BAA+BzlC,EAAE4kB,UAAU3gB,KAAKub,gBAAgBxf,EAAE2oC,UAAUzoC,EAAEgP,EAAE,GAAGhP,EAAE2D,EAAE,EAAE3D,EAAEgP,EAAEhP,EAAE2D,GAAGI,KAAK2kC,cAAc5oC,EAAE,CAAC,WAAAynC,CAAYznC,GAAGiE,KAAKmgC,QAAQngC,KAAKmgC,MAAM3gB,eAAezjB,EAAE6oC,YAAY5kC,KAAKgjC,mBAAmBjnC,EAAE6oC,aAAa5kC,KAAK6zB,OAAO,CAAC,gBAAAgR,CAAiB9oC,EAAEE,GAAG,MAAM0D,EAAE1D,EAAE83B,OAAOp0B,IAAI5D,EAAE+oC,UAAU7oC,EAAEs3B,YAAYx3B,EAAEgpC,QAAQ9oC,EAAEy3B,cAAc33B,EAAEipC,eAAe/oC,EAAEw3B,iBAAiB13B,EAAEkpC,SAAShpC,EAAE03B,eAAe53B,EAAEmpC,WAAWjpC,EAAE23B,iBAAiB3b,GAAGtY,GAAG,eAAeA,EAAEwlC,eAAexlC,EAAEkhB,mBAAmBlhB,EAAEmhB,iBAAiB9gB,KAAKolC,oCAAoCrpC,EAAE4D,IAAI5D,EAAEspC,YAAY1lC,EAAEuY,OAAOnc,GAAGiE,KAAKslC,+BAA+BvpC,EAAE4D,IAAI5D,EAAEspC,YAAYppC,EAAE83B,OAAO,CAAC,cAAAwR,CAAexpC,EAAEE,GAAG,IAAI8kB,KAAKphB,GAAG1D,EAAE0D,IAAIsY,GAAGtY,IAAI5D,EAAE4kB,UAAUhhB,EAAEuY,OAAOnc,GAAGiE,KAAKslC,+BAA+BvpC,EAAE4D,IAAI5D,EAAE4kB,UAAUhhB,EAAE,CAAC,sBAAA2kC,CAAuBvoC,GAAGA,EAAE6oC,YAAY,EAAE7oC,EAAEspC,YAAY,cAActpC,EAAE4kB,UAAU,SAAS,CAAC,YAAA6kB,CAAazpC,EAAEE,GAAGA,GAAG,IAAIA,EAAE0B,QAAQ5B,EAAE0pC,YAAYxpC,EAAE,CAAC,UAAAwnC,CAAW1nC,GAAG,IAAIiE,KAAKg0B,OAAO,OAAO,MAAM/3B,EAAE+D,KAAKg0B,OAAOr0B,EAAEK,KAAKkO,OAAO7P,EAAE2B,KAAKmhC,0BAA0BlkC,IAAIiB,IAAI,MAAMyB,OAAE,EAAOA,EAAEuc,oBAAoB3Q,EAAEhN,EAAEtB,EAAEoB,EAAEmB,EAAEtB,EAAEG,EAAEI,EAAExC,EAAEq9B,WAAW,IAAInqB,GAAG,EAAE,GAAGnP,KAAK+iC,mBAAmBhnC,EAAE2pC,YAAYzpC,EAAEi9B,MAAMn9B,EAAE4pC,WAAW1pC,EAAEm9B,KAAKp9B,EAAE4pC,2BAA2BrnC,EAAEiB,IAAIf,EAAEwM,EAAExM,EAAEmB,GAAG,EAAE7D,EAAE8pC,cAAc5pC,EAAEqc,QAAQ/Z,EAAEE,EAAEwM,EAAElP,EAAE+pC,cAAc7pC,EAAE2kB,QAAQphB,EAAEf,EAAEmB,CAAC,CAAC,aAAA+kC,CAAc5oC,GAAGiE,KAAKg0B,SAASj4B,EAAE2pC,YAAY,GAAG3pC,EAAE4pC,WAAW5pC,EAAE8pC,cAAc9pC,EAAE+pC,cAAc,EAAE,CAAC,8BAAAR,CAA+BvpC,EAAEE,GAAG,IAAIgc,GAAGhc,GAAG,MAAM,CAACqc,QAAQ,EAAEsI,QAAQ,GAAG,MAAMjhB,EAAE1D,EAAE4kB,mBAAmB5kB,EAAE6kB,iBAAiBziB,GAAG2B,KAAKiT,MAAM,EAAEhX,EAAEqc,SAAS,EAAErb,GAAG+C,KAAKkT,OAAO,EAAEjX,EAAE2kB,SAAS,EAAE,MAAM,eAAe3kB,EAAEkpC,cAAcppC,EAAEoV,UAAUnR,KAAKiT,MAAM,EAAE,EAAEjT,KAAKkT,OAAO7U,EAAEpB,GAAGlB,EAAEoV,UAAU,EAAE,EAAE,EAAE,EAAE9S,EAAEpB,GAAG0C,GAAG5D,EAAEoV,UAAUxR,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAI,CAAC2Y,QAAQja,EAAEuiB,QAAQ3jB,EAAE,CAAC,mBAAA8oC,CAAoBhqC,GAAGiE,KAAK40B,aAAa5nB,IAAGhN,KAAKgmC,cAAcjqC,GAAGiE,KAAKimC,YAAYlqC,KAAKiE,KAAKimC,YAAYlqC,GAAGiE,KAAKgmC,cAAcjqC,GAAG,CAAC,OAAAwoC,CAAQxoC,GAAI,CAAA,WAAAkqC,CAAYlqC,GAAGiE,KAAK+gB,OAAOhlB,EAAEqjB,OAAOpf,KAAKulC,eAAexpC,EAAEiE,MAAM,YAAYA,KAAKszB,SAASv3B,EAAEglB,KAAK,WAAWhlB,EAAEglB,OAAOhlB,EAAEujB,UAAU,CAAC,aAAA0mB,CAAcjqC,GAAG,GAAGiE,KAAK+zB,QAAQ,IAAI/zB,KAAKuzB,YAAY,CAAC,GAAGvzB,KAAKg0B,SAASh0B,KAAKg0B,OAAOqF,cAAcr5B,KAAK2kC,cAAc5oC,GAAGA,EAAEqjB,OAAOpf,KAAKy0B,cAAc,CAAC,MAAMx4B,EAAE+D,KAAK+iC,mBAAmBhnC,EAAEyd,MAAM,EAAEvd,EAAEgP,EAAE,EAAEhP,EAAE2D,EAAE,CAACI,KAAKwlC,aAAazpC,EAAEiE,KAAKwzB,iBAAiBxzB,KAAK6kC,iBAAiB9oC,EAAEiE,MAAMjE,EAAEg4B,SAASh4B,EAAEujB,SAAS,CAAC,CAAC,mCAAA8lB,CAAoCrpC,EAAEE,GAAG,IAAI0D,EAAE,MAAMtB,EAAE2B,KAAKqiC,gBAAgBriC,KAAKyiC,6BAA6BxlC,EAAE+C,KAAKmhC,yBAAyBjjC,EAAEG,EAAE4M,EAAEjL,KAAKwV,OAAOvY,EAAEjB,EAAEqC,EAAEuB,EAAEI,KAAKyV,OAAOxY,EAAEsB,EAAE8V,GAAG,CAACpB,MAAM9I,KAAKw4B,KAAKzkC,GAAGgV,OAAO/I,KAAKw4B,KAAK3mC,KAAKwD,EAAEjB,EAAE2K,WAAW,MAAM1J,IAAIA,EAAE+gB,YAAY/gB,EAAEghB,OAAO,EAAE,GAAGhhB,EAAEihB,OAAOviB,EAAE,GAAGsB,EAAEihB,OAAOviB,EAAElC,GAAGwD,EAAEihB,OAAO,EAAEzkB,GAAGwD,EAAEkhB,YAAYlhB,EAAEqjC,UAAU3kC,EAAE,EAAElC,EAAE,GAAGwD,EAAEga,MAAMnb,EAAE0hB,MAAM/f,KAAKwV,OAAOvY,EAAEoB,EAAE2hB,MAAMhgB,KAAKyV,OAAOxY,GAAG+C,KAAKslC,+BAA+B9lC,EAAEvD,GAAGuD,EAAEmhB,UAAU1kB,EAAEic,OAAOnc,GAAGyD,EAAEuhB,OAAOhlB,EAAE8mC,WAAW7iC,KAAKiT,MAAM,EAAEjT,KAAKuzB,YAAY,GAAGvzB,KAAKkT,OAAO,EAAElT,KAAKuzB,YAAY,GAAGx3B,EAAEyd,MAAMvc,EAAE+C,KAAKwV,OAAOnX,EAAE0hB,MAAM9iB,EAAE+C,KAAKyV,OAAOpX,EAAE2hB,OAAOjkB,EAAEspC,YAAY,QAAQ1lC,EAAEH,EAAE0mC,cAAc3nC,EAAE,oBAAe,IAASoB,EAAEA,EAAE,GAAG,CAAC,sBAAAwmC,GAAyB,OAAO,IAAIh3B,GAAGnP,KAAK+S,KAAK/S,KAAKiT,MAAM,EAAEjT,KAAKgT,IAAIhT,KAAKkT,OAAO,EAAE,CAAC,KAAAlC,CAAMjV,GAAG,MAAME,EAAE+D,KAAKoY,SAASrc,GAAG,OAAOiE,KAAKrD,YAAY2a,WAAWrb,EAAE,CAAC,YAAAmqC,CAAarqC,GAAG,MAAME,EAAE+D,KAAKikB,gBAAgBloB,GAAG,OAAO,IAAIqR,GAAGG,SAAS,SAAhB,CAA0BtR,EAAE,CAAC,eAAAgoB,GAAkB,IAAIloB,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,MAAMzB,EAAEopB,GAAGrlB,MAAML,EAAEK,KAAKmgC,MAAM9hC,EAAE2B,KAAKg0B,OAAO/2B,EAAEkN,KAAK2E,IAAI5Q,EAAEnC,EAAE+f,oBAAoBlc,IAAI,EAAE5D,GAAGD,EAAEioB,YAAY,GAAG9lB,EAAEK,EAAExC,EAAEsqC,iBAAiBtqC,GAAG,IAAIogB,GAAGpgB,EAAE,CAAC+f,qBAAoB,EAAGF,mBAAkB,EAAGC,eAAc,YAAa7b,KAAKmgC,MAAMpkC,EAAEuqC,kBAAkBlhB,GAAGplB,MAAMjE,EAAEwqC,gBAAgBvmC,KAAKg0B,OAAO,MAAMj4B,EAAEmgB,mBAAmBwJ,GAAG1lB,KAAKA,KAAKohC,wBAAwBphC,KAAK8c,YAAY,MAAMtd,EAAE0U,KAAKzV,EAAEuB,KAAK2gC,kBAAkBlhC,EAAEO,KAAKg0B,OAAOr1B,EAAE,IAAIwQ,GAAG,GAAG1P,EAAE,CAAC,MAAM1D,EAAE0D,EAAE25B,KAAKn9B,EAAEwD,EAAE65B,WAAW,IAAInqB,GAAG,EAAE,GAAGnP,KAAK+iC,mBAAmBpkC,EAAEsM,EAAE,EAAEd,KAAKwc,MAAM1pB,EAAEwC,EAAE6Y,SAASvc,GAAGkB,EAAEhB,EAAEgP,GAAGtM,EAAEiB,EAAE,EAAEuK,KAAKwc,MAAM1pB,EAAEwC,EAAEmhB,SAAS7kB,GAAGkB,EAAEhB,EAAE2D,EAAE,CAAC,MAAMK,EAAExB,EAAEwU,MAAMtU,EAAEsM,EAAE5K,EAAE5B,EAAEyU,OAAOvU,EAAEiB,EAAEJ,EAAEyT,MAAM9I,KAAKw4B,KAAK1iC,GAAGT,EAAE0T,OAAO/I,KAAKw4B,KAAKtiC,GAAG,MAAMX,EAAEnB,EAAEiB,GAAG,SAASzD,EAAE+nB,SAASpkB,EAAE6b,gBAAgB,QAAQvb,KAAKmlB,oBAAoB,IAAIhW,GAAGzP,EAAEuT,MAAM,EAAEvT,EAAEwT,OAAO,GAAGxH,GAAEA,IAAG,MAAM3L,EAAEC,KAAKkO,OAAOxO,EAAE2R,SAAS,CAACrR,MAAMA,KAAKyN,IAAI,SAAS/N,GAAGM,KAAK8c,YAAY,MAAM5S,EAAExK,EAAEukB,gBAAgBjoB,GAAG,EAAED,GAAG,OAAOiE,KAAKyN,IAAI,SAAS1N,GAAGC,KAAKg0B,OAAO31B,EAAEsB,IAAIK,KAAKmgC,MAAMxgC,GAAGK,KAAKyN,IAAIxR,GAAG+D,KAAK8c,YAAYpd,EAAE2R,SAAS,GAAG3R,EAAEwkB,UAAUha,CAAC,CAAC,SAAAqK,GAAY,IAAIxY,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,OAAO4W,GAAGtU,KAAKikB,gBAAgBloB,GAAGA,EAAE+nB,QAAQ,MAAM/nB,EAAEgoB,SAAS,EAAE,CAAC,MAAAtP,GAAS,IAAI1Y,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,OAAO8W,GAAGxU,KAAKikB,gBAAgBloB,GAAGA,EAAE+nB,QAAQ,MAAM/nB,EAAEgoB,SAAS,EAAE,CAAC,MAAAlS,GAAS,IAAI,IAAI9V,EAAE2B,UAAUC,OAAO1B,EAAE,IAAIsK,MAAMxK,GAAG4D,EAAE,EAAEA,EAAE5D,EAAE4D,IAAI1D,EAAE0D,GAAGjC,UAAUiC,GAAG,OAAO1D,EAAEiW,SAASlS,KAAKrD,YAAY2C,OAAOrD,EAAEiW,SAASlS,KAAKV,KAAK,CAAC,UAAA8S,GAAa,OAAO,CAAC,CAAC,MAAAyP,GAAS,OAAO7hB,KAAKoY,UAAU,CAAC,MAAAnH,CAAOlV,GAAG,MAAM+9B,iBAAiB79B,EAAEkqB,QAAQxmB,EAAEymB,QAAQ/nB,GAAG2B,KAAK,GAAG/D,EAAE,CAAC,MAAMgP,EAAElP,EAAE6D,EAAE3D,GAAG+D,KAAKgnB,yBAAyBhnB,KAAKmmB,QAAQza,GAAE1L,KAAKomB,QAAQ1a,GAAE1L,KAAK+S,KAAKhX,EAAEiE,KAAKgT,IAAI/W,CAAC,CAAC,GAAG+D,KAAKyN,IAAI,QAAQ1R,GAAGE,EAAE,CAAC,MAAMgP,EAAElP,EAAE6D,EAAE3D,GAAG+D,KAAK2hC,uBAAuB3hC,KAAKgnB,yBAAyBrnB,EAAEtB,GAAG2B,KAAK+S,KAAKhX,EAAEiE,KAAKgT,IAAI/W,EAAE+D,KAAKmmB,QAAQxmB,EAAEK,KAAKomB,QAAQ/nB,CAAC,CAAC,CAAC,UAAAmoC,GAAc,CAAA,wBAAAlD,CAAyBvnC,GAAGiE,KAAK8f,2BAA2B/jB,EAAE+jB,yBAAyB9f,KAAK8f,yBAAyB,CAAC,OAAA9V,GAAU4D,GAAGO,eAAenO,MAAMA,KAAKwO,MAAMxO,KAAK2T,KAAK,cAAS,GAAQ3T,KAAKkgB,cAAcngB,IAAIiK,QAAQhK,KAAKkgB,cAAclgB,KAAKkgB,kBAAa,EAAOlgB,KAAKmiC,cAAc,IAAI,CAAC,OAAAsE,CAAQ1qC,EAAEE,GAAG,OAAOiB,OAAOqR,QAAQxS,GAAGwM,QAAQ,CAACxM,EAAE4D,KAAK,IAAItB,EAAEpB,GAAG0C,EAAE,OAAO5D,EAAEsC,GAAG2B,KAAK0mC,SAASroC,EAAEpB,EAAEhB,GAAGF,CAAE,GAAE,CAAA,EAAG,CAAC,QAAA2qC,CAAS3qC,EAAEE,GAAG,IAAIoC,EAAEX,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,MAAMT,EAAElB,EAAE22B,MAAM,KAAKx0B,EAAE8B,KAAKrD,YAAYgqC,gBAAgBz0B,SAASjV,EAAEA,EAAEU,OAAO,KAAKqQ,MAAMhS,EAAEygC,WAAWl+B,EAAEw+B,SAASv9B,EAAEw9B,WAAWv+B,GAAGJ,EAAEoB,EAAEE,EAAEA,EAAE,CAAA,EAAGtB,GAAG,CAAA,EAAG,CAAC2G,OAAOhF,KAAKy8B,WAAW,MAAMl+B,EAAEA,EAAEtB,EAAEsL,QAAM,CAAGxM,EAAEE,IAAIF,EAAEE,IAAI+D,MAAMs9B,SAASrhC,EAAE+R,MAAM,MAAMhS,OAAE,EAAOA,EAAE2J,KAAK3F,MAAM+8B,SAAS,CAAChhC,EAAEE,EAAE0D,KAAK1C,EAAEsL,QAAQ,CAACtM,EAAE0D,EAAEtB,KAAKA,IAAIpB,EAAEU,OAAO,IAAI1B,EAAE0D,GAAG5D,GAAGE,EAAE0D,KAAKK,MAAMR,GAAGA,EAAEzD,EAAEE,EAAE0D,EAAC,EAAGq9B,WAAW,CAACjhC,EAAEE,EAAE0D,KAAKK,KAAK8c,YAAYre,GAAGA,EAAE1C,EAAEE,EAAE0D,EAAE,IAAI,OAAOzB,EAAE0gC,GAAGn/B,GAAGk/B,GAAGl/B,EAAE,CAAC,cAAAmnC,CAAe7qC,GAAG,MAAMonC,OAAOlnC,EAAEkkC,MAAMxgC,GAAGK,KAAK,OAAO/D,IAAIF,GAAG4D,IAAI5D,KAAKE,GAAGA,EAAE2qC,eAAe7qC,MAAM4D,GAAGA,IAAI1D,GAAG0D,EAAEinC,eAAe7qC,EAAE,CAAC,YAAA8qC,GAAe,MAAM9qC,EAAE,GAAG,IAAIE,EAAE+D,KAAK,GAAG/D,EAAEA,EAAEknC,OAAOlnC,GAAGF,EAAEyB,KAAKvB,SAASA,GAAG,OAAOF,CAAC,CAAC,mBAAA+qC,CAAoB/qC,GAAG,GAAGiE,OAAOjE,EAAE,MAAM,CAACgrC,KAAK,GAAGC,UAAU,GAAGC,OAAO,CAACjnC,QAAQA,KAAK6mC,iBAAiB,MAAM5qC,EAAE+D,KAAK6mC,eAAelnC,EAAE5D,EAAE8qC,eAAe,GAAG,IAAI5qC,EAAE0B,QAAQgC,EAAEhC,OAAO,GAAGqC,OAAOL,EAAEA,EAAEhC,OAAO,GAAG,MAAM,CAACopC,KAAK,GAAGC,UAAU,CAACjrC,KAAK4D,EAAEuD,MAAM,EAAEvD,EAAEhC,OAAO,IAAIspC,OAAO,CAACjnC,OAAO,IAAI,IAAI3B,EAAEpB,EAAE,EAAEA,EAAEhB,EAAE0B,OAAOV,IAAI,CAAC,GAAGoB,EAAEpC,EAAEgB,GAAGoB,IAAItC,EAAE,MAAM,CAACgrC,KAAK,CAAC/mC,QAAQ/D,EAAEiH,MAAM,EAAEjG,IAAI+pC,UAAU,GAAGC,OAAOhrC,EAAEiH,MAAMjG,IAAI,IAAI,IAAIiB,EAAE,EAAEA,EAAEyB,EAAEhC,OAAOO,IAAI,CAAC,GAAG8B,OAAOL,EAAEzB,GAAG,MAAM,CAAC6oC,KAAK,GAAGC,UAAU,CAACjrC,KAAK4D,EAAEuD,MAAM,EAAEhF,IAAI+oC,OAAO,CAACjnC,QAAQ/D,IAAI,GAAGoC,IAAIsB,EAAEzB,GAAG,MAAM,CAAC6oC,KAAK,CAAC/mC,QAAQ/D,EAAEiH,MAAM,EAAEjG,IAAI+pC,UAAU,CAACjrC,KAAK4D,EAAEuD,MAAM,EAAEhF,IAAI+oC,OAAOhrC,EAAEiH,MAAMjG,GAAG,CAAC,CAAC,MAAM,CAAC8pC,KAAK,CAAC/mC,QAAQ/D,GAAG+qC,UAAU,CAACjrC,KAAK4D,GAAGsnC,OAAO,GAAG,CAAC,kBAAAC,CAAmBnrC,GAAG,MAAME,EAAE+D,KAAK8mC,oBAAoB/qC,GAAG,OAAOE,KAAKA,EAAEgrC,OAAOtpC,MAAM,CAAC,WAAAwpC,CAAYprC,GAAG,GAAGiE,OAAOjE,EAAE,OAAO,MAAME,EAAE+D,KAAK8mC,oBAAoB/qC,GAAG,GAAGE,EAAE8qC,KAAK70B,SAASnW,GAAG,OAAM,EAAG,GAAGE,EAAE+qC,UAAU90B,SAASlS,MAAM,OAAM,EAAG,MAAML,EAAE1D,EAAEgrC,OAAO,IAAIjnC,KAAKkO,OAAO,IAAIvO,EAAE,OAAO,MAAMtB,EAAEpC,EAAE8qC,KAAKhkC,MAAM9F,EAAEhB,EAAE+qC,UAAUjkC,MAAM7E,EAAEyB,EAAE0R,SAAS5J,QAAQpJ,GAAGrC,EAAE2D,EAAE0R,SAAS5J,QAAQxK,GAAG,OAAOiB,GAAG,GAAGA,EAAElC,CAAC,CAAC,QAAAoc,GAAW,MAAMrc,GAAG2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,IAAI+K,OAAOxM,EAAEmrC,iBAAiBpnC,KAAKrD,YAAYyqC,kBAAkB,IAAI,IAAI/oC,EAAE,MAAMpB,EAAEjB,EAAE+b,qBAAqBkH,SAAS/gB,EAAE6iB,KAAKxiB,EAAEw1B,OAAOv0B,EAAEw0B,OAAOv1B,EAAE+0B,gBAAgB/zB,EAAEsT,KAAKpU,EAAEqU,IAAI/S,EAAEkmB,QAAQ9lB,EAAE+lB,QAAQ1mB,EAAEuT,MAAMlT,EAAEmT,OAAOhJ,EAAEqpB,YAAYpzB,EAAEuzB,cAAc9zB,EAAE6zB,iBAAiBppB,EAAEspB,eAAezoB,EAAEupB,cAActpB,EAAEyoB,iBAAiBvoB,EAAEmK,OAAOlK,EAAEmK,OAAOlK,EAAEgK,MAAM/J,EAAE8K,MAAM7K,EAAE8K,MAAM7K,EAAEmoB,QAAQloB,EAAE0H,QAAQzH,EAAE2P,gBAAgB1P,EAAEynB,SAASxnB,EAAE8oB,WAAW7oB,EAAE+T,yBAAyB9T,EAAE0J,MAAMzJ,EAAE0J,MAAMzJ,GAAGlM,KAAK9B,IAAIA,EAAE4jB,oBAAoBzjB,EAAEH,EAAEka,SAASrc,EAAE0M,OAAO,WAAW,wBAAwB,MAAM0D,EAAEpQ,GAAG4b,GAAG5b,EAAEkB,GAAGmP,EAAEzM,EAAEA,EAAE,GAAG8X,GAAGzX,KAAKjE,IAAI,GAAG,CAACuD,KAAKU,KAAKrD,YAAY2C,KAAK0iB,QAAQ/W,EAAEkb,QAAQ9lB,EAAE+lB,QAAQ1mB,EAAEqT,KAAK5G,EAAExN,GAAGqU,IAAI7G,EAAElM,GAAGgT,MAAM9G,EAAEpM,GAAGmT,OAAO/G,EAAEjC,GAAG6W,KAAK5I,GAAG5Z,GAAGA,EAAE6Z,WAAW7Z,EAAEw1B,OAAO5b,GAAG3Y,GAAGA,EAAE4Y,WAAW5Y,EAAE+zB,YAAYpnB,EAAEhM,GAAGqzB,gBAAgB/zB,EAAEA,EAAEgJ,SAAShJ,EAAEi0B,cAAc9zB,EAAE6zB,iBAAiBppB,EAAEspB,eAAezoB,EAAEupB,cAActpB,EAAEyoB,iBAAiBznB,EAAEd,GAAGmK,OAAOrJ,EAAEb,GAAGmK,OAAOtJ,EAAEZ,GAAGgK,MAAMpJ,EAAEX,GAAG8K,MAAM7K,EAAE8K,MAAM7K,EAAEmoB,QAAQ1nB,EAAER,GAAGqoB,OAAOv1B,EAAEA,EAAE2Z,WAAW3Z,EAAE4U,QAAQzH,EAAE2P,gBAAgB1P,EAAEynB,SAASxnB,EAAE8oB,WAAW7oB,EAAE+T,yBAAyB9T,EAAE0J,MAAMvJ,EAAEF,GAAG0J,MAAMxJ,EAAED,IAAI7N,EAAE,CAAC4gB,SAAS5gB,GAAG,MAAM,OAAO2B,KAAK0b,qBAAqBtP,EAAEpM,KAAKqnC,qBAAqBj7B,EAAE,CAAC,gBAAAuV,CAAiB5lB,GAAG,OAAOiE,KAAKoY,SAASrc,EAAE,CAAC,oBAAAsrC,CAAqBtrC,GAAG,MAAME,EAAE+D,KAAKrD,YAAY4f,cAAc5c,EAAEzC,OAAOC,KAAKlB,GAAG0B,OAAO,EAAE1B,EAAEiB,OAAOgD,eAAeF,MAAM,OAAO0X,GAAG3b,IAAIA,EAAEE,KAAK,GAAGA,IAAI0P,IAAG1P,IAAI2P,IAAG,SAAS3P,EAAE,OAAM,EAAG,MAAMoC,EAAEsB,EAAE1D,GAAG,OAAOF,IAAIsC,KAAKkI,MAAMC,QAAQzK,IAAIwK,MAAMC,QAAQnI,IAAI,IAAItC,EAAE4B,QAAQ,IAAIU,EAAEV,OAAQ,GAAE,CAAC,QAAA0J,GAAW,MAAM,KAAKoB,OAAOzI,KAAKrD,YAAY2C,KAAK,IAAI,CAAC,kBAAOgoC,CAAYvrC,GAAG,IAAIE,EAAEoC,EAAEtC,EAAE+lC,IAAIniC,EAAEjC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,GAAI6pC,WAAWtqC,GAAG0C,EAAEzB,EAAEG,EAAEsB,EAAEoiC,IAAI,OAAOvqB,GAAGvb,EAAEiC,GAAG0C,MAAM7E,GAAGkB,UAAUlB,EAAEkB,GAAG,IAAI+C,KAAK/D,EAAEgB,GAAGlB,IAAI,IAAIiE,KAAKjE,IAAI,CAAC,iBAAOub,CAAWvb,EAAEE,GAAG,OAAO+D,KAAKsnC,YAAYvrC,EAAEE,EAAE,GAAGF,EAAEimC,GAAG,kBAAkBxI,IAAIz9B,EAAEimC,GAAG,kBAAkBvI,IAAI19B,EAAEimC,GAAG,cAActI,IAAI39B,EAAEimC,GAAG,OAAO,gBAAgBjmC,EAAEimC,GAAG,kBAAkB,CAACj1B,GAAEC,GAAE,oBAAoBjR,EAAEimC,GAAG,mBAAmB,IAAI50B,GAAGI,SAASw0B,IAAI50B,GAAGI,SAASw0B,GAAG,UAAU,MAAMwF,GAAG,CAACzrC,EAAEE,EAAEoC,IAAI,CAACpB,EAAEiB,EAAElC,EAAEuC,KAAK,MAAMiB,EAAEvD,EAAEgB,EAAEiB,EAAElC,EAAEuC,GAAG,OAAOiB,GAAGmmB,GAAG5pB,EAAE4D,EAAEA,EAAE,CAAA,EAAG4mB,GAAGtpB,EAAEiB,EAAElC,EAAEuC,IAAIF,IAAImB,GAAG,SAASioC,GAAG1rC,GAAG,MAAM,CAACE,EAAE0D,EAAEtB,EAAEpB,KAAK,MAAM+H,OAAO9G,EAAEioB,QAAQnqB,EAAEoqB,QAAQ7nB,GAAGoB,EAAEH,EAAEtB,EAAE8oB,yBAAyBvoB,EAAEP,EAAEyjC,uBAAuBniC,EAAExD,EAAEuC,GAAGkB,EAAE1D,EAAEE,EAAE0D,EAAEtB,EAAEpB,GAAG,OAAOiB,EAAEinB,oBAAoB1mB,EAAEkB,EAAEwmB,QAAQxmB,EAAEymB,SAAS3mB,EAAE,CAAC,MAAMioC,GAAGF,GAAGl7B,GAAEm7B,IAAE,CAAG1rC,EAAEE,EAAE0D,EAAEtB,KAAK,MAAMpB,EAAE2pB,GAAG3qB,EAAEA,EAAEkqB,QAAQlqB,EAAEmqB,QAAQzmB,EAAEtB,GAAG,GAAG2nB,GAAG/pB,EAAEkqB,WAAWH,GAAGta,KAAIsa,GAAG/pB,EAAEkqB,WAAWH,GAAGla,KAAI7O,EAAEgO,EAAE,GAAG+a,GAAG/pB,EAAEkqB,WAAWH,GAAGra,KAAI1O,EAAEgO,EAAE,EAAE,CAAC,MAAMjG,OAAOjJ,GAAGE,EAAE0D,EAAE5D,EAAEw3B,aAAax3B,EAAE04B,cAAc14B,EAAEyZ,OAAO,GAAGnX,EAAE6nB,GAAGjqB,GAAG,EAAE,EAAEiC,EAAEnC,EAAEkX,MAAMjX,EAAEmO,KAAK2E,IAAI7R,EAAEgO,EAAE5M,EAAEtC,EAAEyZ,QAAQ7V,EAAE,OAAO5D,EAAE0R,IAAI,QAAQtD,KAAKC,IAAIpO,EAAE,IAAIkC,IAAInC,EAAEkX,KAAK,CAAC,OAAM,CAAG,KAAI,SAAS00B,GAAG5rC,EAAEE,EAAE0D,EAAEtB,EAAEpB,GAAGoB,EAAEA,GAAG,CAAE,EAAC,MAAMH,EAAE8B,KAAK4nC,OAAOvpC,EAAEwpC,YAAY5qC,EAAE4qC,WAAW7rC,EAAEgE,KAAK8nC,OAAOzpC,EAAEwpC,YAAY5qC,EAAE4qC,WAAWtpC,OAAE,IAASF,EAAE0pC,mBAAmB1pC,EAAE0pC,mBAAmB9qC,EAAE8qC,mBAAmBvoC,EAAEjB,EAAEyO,GAAED,GAAEtO,GAAGF,IAAIF,EAAE2pC,mBAAmB/qC,EAAE+qC,mBAAmB,IAAIvoC,EAAEd,EAAE1C,EAAEgE,EAAEN,EAAE5D,EAAEqjB,OAAOrjB,EAAE4kB,UAAUtiB,EAAE4pC,aAAahrC,EAAEgrC,aAAa,GAAGlsC,EAAEspC,YAAYhnC,EAAE2pC,mBAAmB/qC,EAAE+qC,mBAAmB,GAAG9pC,EAAElC,GAAGyD,EAAEvB,EAAEnC,EAAEyd,MAAM,EAAExd,EAAEkC,GAAG+B,EAAEN,EAAEzB,EAAElC,GAAGA,EAAEkC,GAAGuB,EAAEzD,EAAED,EAAEyd,MAAMtb,EAAElC,EAAE,GAAG2C,EAAE1C,EAAED,EAAEkC,GAAGuB,EAAEvB,EAAEnC,EAAEwkB,YAAYxkB,EAAEmsC,IAAIvpC,EAAEsB,EAAER,EAAE,EAAE,EAAE4L,GAAE,GAAItP,EAAEyD,KAAKf,GAAG1C,EAAEg4B,SAASh4B,EAAEujB,SAAS,CAAC,SAAS6oB,GAAGpsC,EAAEE,EAAE0D,EAAEtB,EAAEpB,GAAGoB,EAAEA,GAAG,CAAE,EAAC,MAAMH,EAAE8B,KAAK4nC,OAAOvpC,EAAEwpC,YAAY5qC,EAAE4qC,WAAW7rC,EAAEgE,KAAK8nC,OAAOzpC,EAAEwpC,YAAY5qC,EAAE4qC,WAAWtpC,OAAE,IAASF,EAAE0pC,mBAAmB1pC,EAAE0pC,mBAAmB9qC,EAAE8qC,mBAAmBvoC,EAAEjB,EAAEyO,GAAED,GAAEtO,GAAGF,IAAIF,EAAE2pC,mBAAmB/qC,EAAE+qC,mBAAmBvoC,EAAEvB,EAAE,EAAES,EAAE3C,EAAE,EAAED,EAAEqjB,OAAOrjB,EAAE4kB,UAAUtiB,EAAE4pC,aAAahrC,EAAEgrC,aAAa,GAAGlsC,EAAEspC,YAAYhnC,EAAE2pC,mBAAmB/qC,EAAE+qC,mBAAmB,GAAGjsC,EAAE8mC,UAAU5mC,EAAE0D,GAAG,MAAMM,EAAEhD,EAAEypB,gBAAgB3qB,EAAEkV,OAAOyD,GAAGzU,IAAIlE,EAAE,GAAG0M,OAAOjJ,EAAE,UAAUC,GAAGd,EAAET,EAAElC,GAAGyC,GAAG1C,EAAEqsC,YAAY3oC,GAAGd,EAAET,EAAElC,GAAGD,EAAEujB,SAAS,CAAC,MAAM+oB,GAAG,WAAA1rC,CAAYV,GAAGF,EAAEiE,KAAK,WAAU,GAAIjE,EAAEiE,KAAK,aAAa0M,IAAG3Q,EAAEiE,KAAK,QAAQ,GAAGjE,EAAEiE,KAAK,IAAI,GAAGjE,EAAEiE,KAAK,IAAI,GAAGjE,EAAEiE,KAAK,UAAU,GAAGjE,EAAEiE,KAAK,UAAU,GAAGjE,EAAEiE,KAAK,QAAQ,GAAGjE,EAAEiE,KAAK,QAAQ,GAAGjE,EAAEiE,KAAK,aAAa,GAAGjE,EAAEiE,KAAK,aAAa,GAAGjE,EAAEiE,KAAK,cAAc,aAAajE,EAAEiE,KAAK,kBAAiB,GAAI9C,OAAO+K,OAAOjI,KAAK/D,EAAE,CAAC,cAAAqsC,CAAevsC,EAAEE,EAAE0D,EAAEtB,GAAG,IAAIpB,EAAE,IAAI2hB,GAAG1gB,EAAE2gB,GAAG7iB,EAAE+iB,GAAGxgB,EAAEugB,GAAGtf,GAAGnB,EAAE,OAAO,QAAQpB,EAAEhB,EAAEiS,cAAS,IAASjR,OAAE,EAAOA,EAAEsrC,qBAAqBtsC,GAAGA,EAAEusC,iBAAiBzsC,IAAI8iC,GAAGK,iBAAiBv/B,EAAE,CAACzB,EAAElC,EAAEuC,EAAEiB,GAAG,CAAC,gBAAAipC,CAAiB1sC,EAAEE,EAAE0D,GAAG,OAAOK,KAAK0oC,aAAa,CAAC,mBAAAC,CAAoB5sC,EAAEE,EAAE0D,GAAG,OAAOK,KAAK4oC,gBAAgB,CAAC,iBAAAC,CAAkB9sC,EAAEE,EAAE0D,GAAG,OAAOK,KAAK8oC,cAAc,CAAC,kBAAAC,CAAmBhtC,EAAEE,EAAE0D,GAAG,OAAO1D,EAAE+sC,WAAW,CAAC,aAAAC,CAAcltC,EAAEE,EAAE0D,GAAG,OAAO1D,EAAEitC,UAAU,CAAC,aAAAC,CAAcptC,EAAEE,GAAG,IAAI0D,EAAEtB,EAAE,OAAO,QAAQsB,EAAE,QAAQtB,EAAEtC,EAAEqtC,2BAAsB,IAAS/qC,OAAE,EAAOA,EAAEpC,UAAK,IAAS0D,EAAEA,EAAEK,KAAKqT,OAAO,CAAC,aAAAg2B,CAActtC,EAAEE,EAAE0D,GAAGK,KAAKqT,QAAQtX,CAAC,CAAC,eAAAutC,CAAgBvtC,EAAEE,EAAE0D,EAAEtB,GAAG,OAAO,IAAI8Q,GAAGnP,KAAKiL,EAAElP,EAAEkP,EAAEjL,KAAKsY,QAAQtY,KAAKJ,EAAE7D,EAAE6D,EAAEI,KAAK4gB,SAASzP,UAAUlV,EAAE,CAAC,gBAAAstC,CAAiBxtC,EAAEE,EAAE0D,EAAEtB,EAAEpB,EAAEiB,GAAG,MAAMlC,EAAEiZ,GAAG,CAACa,GAAGnW,EAAEtB,GAAG0X,GAAG,CAACR,MAAMxZ,IAAIia,IAAI/Y,EAAE+C,KAAKwpC,WAAWxpC,KAAK4nC,QAAQ3rC,GAAGgB,EAAE+C,KAAKypC,WAAWzpC,KAAK8nC,QAAQ7rC,KAAK,MAAM,CAAC2iB,GAAG,IAAIzP,IAAI,IAAI,IAAIgC,UAAUnV,GAAG6iB,GAAG,IAAI1P,GAAG,IAAI,IAAIgC,UAAUnV,GAAG+iB,GAAG,IAAI5P,GAAG,GAAG,IAAIgC,UAAUnV,GAAG8iB,GAAG,IAAI3P,IAAI,GAAG,IAAIgC,UAAUnV,GAAG,CAAC,MAAAqkB,CAAOtkB,EAAEE,EAAE0D,EAAEtB,EAAEpB,GAAM,aAAaoB,EAAEA,GAAG,IAAIqrC,aAAazsC,EAAEysC,aAAa/B,GAAGvrC,KAAK4D,KAAKjE,EAAEE,EAAE0D,EAAEtB,EAAEpB,GAAQkrC,GAAG/rC,KAAK4D,KAAKjE,EAAEE,EAAE0D,EAAEtB,EAAEpB,EAAE,EAAE,MAAM0sC,GAAG,CAAC5tC,EAAEE,EAAE0D,IAAIA,EAAEiqC,aAAa3jB,GAAGhqB,EAAE+sC,YAAYa,GAAGrC,GAAGr7B,GAAEs7B,IAAI,CAAC1rC,EAAEE,EAAE0D,EAAEtB,KAAK,IAAI2G,OAAO/H,EAAE6sC,GAAG5rC,EAAE6rC,GAAG/tC,EAAEguC,MAAMzrC,EAAE4nB,QAAQ3mB,EAAE4mB,QAAQ3nB,GAAGxC,EAAE,MAAMwD,EAAExC,EAAE0kC,uBAAuB1kC,EAAE+pB,yBAAyBxnB,EAAEf,GAAG,GAAG6nB,GAAGrpB,EAAE,gBAAgB,OAAM,EAAG,MAAM0B,EAAEwL,KAAKiL,MAAMpZ,EAAEyD,EAAEG,EAAE1B,EAAEuB,EAAEwL,GAAGhL,EAAEkK,KAAKiL,MAAM/W,EAAEoB,EAAEG,EAAED,EAAEF,EAAEwL,GAAG,IAAI5K,EAAEsU,GAAG1U,EAAEtB,EAAEJ,GAAG,GAAGtB,EAAEgtC,WAAWhtC,EAAEgtC,UAAU,EAAE,CAAC,MAAMluC,EAAEkB,EAAEgtC,UAAUhuC,EAAEgB,EAAEitC,eAAenuC,EAAE4D,EAAEwK,KAAKw4B,KAAKtiC,EAAEtE,GAAGA,EAAEsC,EAAE8L,KAAKa,MAAM3K,EAAEtE,GAAGA,EAAEoO,KAAK2E,IAAIzO,EAAEhC,GAAGpC,EAAEoE,EAAEhC,EAAE8L,KAAK2E,IAAIzO,EAAEV,GAAG1D,IAAIoE,EAAEV,EAAE,CAACU,EAAE,IAAIA,EAAE,IAAIA,GAAGA,GAAG,IAAI,MAAMX,EAAEzC,EAAEsY,QAAQlV,EAAE,OAAOpD,EAAEsY,MAAMlV,EAAEX,CAAE,KAAI,SAASyqC,GAAGpuC,EAAEE,GAAG,MAAM0D,EAAE1D,EAAEiS,OAAO7P,EAAEtC,EAAE4D,EAAEyqC,aAAa,OAAOzqC,EAAE0qC,iBAAiBhsC,IAAIsB,EAAE0qC,gBAAgBhsC,CAAC,CAAC,SAASisC,GAAGvuC,EAAEE,EAAE0D,GAAG,MAAMtB,EAAEioB,GAAGvqB,EAAE,gBAAgBkB,EAAEqpB,GAAGvqB,EAAE,gBAAgB,GAAGsC,GAAGpB,EAAE,OAAM,EAAG,IAAIhB,IAAIoC,GAAGpB,IAAI0C,EAAE,OAAM,EAAG,GAAGtB,GAAG,MAAMpC,EAAE,OAAM,EAAG,GAAGgB,GAAG,MAAMhB,EAAE,OAAM,EAAG,MAAMgX,MAAM/U,EAAEgV,OAAOlX,EAAEu3B,YAAYh1B,GAAGxC,EAAE,OAAO,IAAImC,GAAG,IAAIK,GAAG,MAAMtC,GAAG,IAAID,GAAG,IAAIuC,GAAG,MAAMtC,CAAC,CAAC,MAAMsuC,GAAG,CAAC,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAKC,GAAG,CAACzuC,EAAEE,EAAE0D,KAAK,MAAMtB,EAAE8rC,GAAGpuC,EAAE4D,GAAG,GAAG2qC,GAAG3qC,EAAE,IAAI1D,EAAEgP,GAAG,IAAIhP,EAAE2D,EAAE,IAAI,IAAI3D,EAAEgP,GAAG,IAAIhP,EAAE2D,EAAE,IAAI,GAAGvB,GAAG,OAAO4nB,GAAG,MAAMhpB,EAAEwpB,GAAG9mB,EAAE1D,GAAG,MAAM,GAAGwM,OAAO8hC,GAAGttC,GAAG,UAAS,EAAG,SAASwtC,GAAG1uC,EAAEE,EAAE0D,EAAEtB,GAAG,IAAIpB,EAAES,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,MAAMQ,EAAEjC,EAAE+I,OAAOhJ,EAAEiB,EAAEytC,GAAGnsC,EAAE4rC,GAAGpuC,EAAEmC,GAAG,IAAIsB,EAAEf,EAAEgB,EAAEd,EAAEsB,EAAEI,EAAE,GAAGiqC,GAAGpsC,EAAElC,EAAEuC,GAAG,OAAM,EAAG,GAAGtC,EAAE0uC,aAAalsC,EAAExC,EAAEuZ,OAAOvZ,EAAE0uC,aAAalrC,EAAExD,EAAEwZ,OAAOxZ,EAAE0uC,iBAAiB,CAAC,GAAGnrC,EAAEonB,GAAG3qB,EAAEA,EAAEkqB,QAAQlqB,EAAEmqB,QAAQzmB,EAAEtB,GAAG4B,EAAE,MAAMjE,EAAEmO,KAAK8E,KAAKzP,EAAEyL,GAAGhP,EAAE2uC,OAAO,GAAG,EAAEvqC,EAAE,MAAMrE,EAAEmO,KAAK8E,KAAKzP,EAAEI,GAAG3D,EAAE4uC,OAAO,GAAG,EAAE5uC,EAAE2uC,QAAQ3uC,EAAE2uC,MAAM3qC,GAAGhE,EAAE4uC,QAAQ5uC,EAAE4uC,MAAMxqC,GAAGimB,GAAGpoB,EAAE,qBAAqBjC,EAAE2uC,QAAQ3qC,GAAGhE,EAAE4uC,QAAQxqC,GAAG,OAAM,EAAG,GAAG1B,EAAET,EAAE6iC,4BAA4BxiC,IAAIvC,EAAE,CAAC,MAAMD,EAAEoO,KAAK2E,IAAItP,EAAEyL,GAAGd,KAAK2E,IAAItP,EAAEI,IAAIkrC,SAASnrC,GAAG1D,EAAEoC,EAAEtC,GAAGoO,KAAK2E,IAAInQ,EAAEsM,EAAEtL,EAAE6V,OAAOtX,EAAEsX,QAAQrL,KAAK2E,IAAInQ,EAAEiB,EAAED,EAAE8V,OAAOvX,EAAEuX,SAAShX,EAAEkB,EAAE6V,OAAOnX,EAAEoB,EAAEE,EAAE8V,OAAOpX,CAAC,MAAMI,EAAE0L,KAAK2E,IAAItP,EAAEyL,EAAE/M,EAAEsX,OAAO7W,EAAEsM,GAAGxL,EAAE0K,KAAK2E,IAAItP,EAAEI,EAAE1B,EAAEuX,OAAO9W,EAAEiB,GAAGsmB,GAAGjqB,KAAKwC,GAAG,EAAEgB,GAAG,GAAGxD,EAAE2uC,QAAQ3qC,GAAG,MAAMjE,IAAIC,EAAEkqB,QAAQE,GAAGpqB,EAAEkqB,SAAS1nB,IAAI,EAAExC,EAAE2uC,MAAM3qC,GAAGhE,EAAE4uC,QAAQxqC,GAAG,MAAMrE,IAAIC,EAAEmqB,QAAQC,GAAGpqB,EAAEmqB,SAAS3mB,IAAI,EAAExD,EAAE4uC,MAAMxqC,EAAE,CAAC,MAAMX,EAAExB,EAAEsX,OAAOzV,EAAE7B,EAAEuX,OAAO,OAAOzZ,GAAG,MAAMA,GAAGkC,EAAEuP,IAAId,GAAElO,GAAG,MAAMzC,GAAGkC,EAAEuP,IAAIb,GAAEnN,MAAM6mB,GAAGpoB,EAAE,iBAAiBA,EAAEuP,IAAId,GAAElO,IAAI6nB,GAAGpoB,EAAE,iBAAiBA,EAAEuP,IAAIb,GAAEnN,IAAIC,IAAIxB,EAAEsX,QAAQzV,IAAI7B,EAAEuX,MAAM,CAAC,MAAMs1B,GAAGvD,GAAGt7B,GAAEu7B,IAAI,CAAC1rC,EAAEE,EAAE0D,EAAEtB,IAAIosC,GAAG1uC,EAAEE,EAAE0D,EAAEtB,MAAM2sC,GAAGxD,GAAGt7B,GAAEu7B,IAAE,CAAG1rC,EAAEE,EAAE0D,EAAEtB,IAAIosC,GAAG1uC,EAAEE,EAAE0D,EAAEtB,EAAE,CAACqsC,GAAG,SAASO,GAAGzD,GAAGt7B,GAAEu7B,IAAI,CAAC1rC,EAAEE,EAAE0D,EAAEtB,IAAIosC,GAAG1uC,EAAEE,EAAE0D,EAAEtB,EAAE,CAACqsC,GAAG,SAASQ,GAAG,CAAC,SAAS,KAAK,KAAK,eAAeC,GAAG,CAAClgC,EAAE,CAACmgC,YAAY,IAAI5xB,MAAM7M,GAAE0+B,KAAKx+B,GAAEy+B,YAAY,eAAeC,OAAO,UAAUC,KAAK,SAAS5rC,EAAE,CAACwrC,YAAY,IAAI5xB,MAAM5M,GAAEy+B,KAAKv+B,GAAEw+B,YAAY,eAAeC,OAAO,UAAUC,KAAK,UAAUC,GAAG,CAAC,KAAK,OAAO,KAAK,QAAQC,GAAG,CAAC3vC,EAAEE,EAAE0D,KAAK,GAAG,IAAI1D,EAAEgP,GAAGqb,GAAG3mB,EAAE,gBAAgB,OAAOsmB,GAAG,GAAG,IAAIhqB,EAAE2D,GAAG0mB,GAAG3mB,EAAE,gBAAgB,OAAOsmB,GAAG,MAAM5nB,EAAEooB,GAAG9mB,EAAE1D,GAAG,EAAE,MAAM,GAAGwM,OAAOgjC,GAAGptC,GAAG,UAAS,EAAG,SAASstC,GAAG5vC,EAAEE,EAAEgB,EAAEiB,EAAElC,GAAG,MAAMgJ,OAAOzG,GAAGtB,GAAGmuC,YAAY5rC,EAAE+rC,OAAO9sC,EAAE6sC,YAAY7rC,EAAE4rC,KAAK1sC,EAAE6sC,KAAKvrC,GAAGkrC,GAAGpvC,GAAG,GAAGuqB,GAAG/nB,EAAEkB,GAAG,OAAM,EAAG,MAAM8rC,OAAOlrC,EAAEmrC,KAAK9rC,GAAGyrC,GAAG3rC,GAAGO,EAAEimB,GAAG/oB,EAAEoD,KAAK9B,EAAEmB,IAAI,EAAE,GAAGwK,GAAGC,KAAK8E,KAAKlP,IAAIxB,EAAE0B,IAAI,EAAE,GAAGE,IAAQ,IAAI5B,EAAEI,IAAIioB,GAAG3pB,EAAEyO,GAAEA,GAAExN,EAAElC,GAAGD,GAAG,GAAGwC,EAAEI,GAAG,EAAE,GAAG,GAAGuL,EAAjD,GAAoD,GAAGtK,EAAE4nC,GAAGn7B,GAAEo7B,IAAE,CAAGxrC,EAAE0D,EAAE1C,EAAEiB,IAAI,SAASnC,EAAEE,EAAE0D,GAAG,IAAIqF,OAAO/H,EAAE6sC,GAAG5rC,EAAE6rC,GAAG/tC,EAAE4vC,YAAYrtC,GAAGtC,EAAEuD,EAAEnB,EAAEpC,EAAEivC,IAAI,MAAMG,KAAK5sC,GAAG0sC,GAAGpvC,GAAG0D,EAAEE,EAAE6P,SAAS,IAAIL,GAAGjR,EAAElC,IAAI+T,OAAO,IAAIZ,GAAGlS,EAAEuY,OAAOvY,EAAEwY,SAAS1Z,GAAG4C,EAAE1B,EAAEwB,GAAGwB,EAAET,EAAEf,GAAG4B,EAAE8J,KAAK+L,IAAIxB,GAAGzU,IAAIP,EAAE,MAAM3D,EAAEkB,EAAE8jC,0BAA0B,CAACvrB,OAAO,EAAEC,OAAO,EAAEC,MAAM,IAAIzK,EAAEhO,EAAE8jC,0BAA0B,CAACvrB,OAAO,EAAEC,OAAO,IAAI7V,EAAEG,EAAE,EAAEN,EAAElB,EAAE4L,KAAKC,IAAI1K,EAAE,GAAGW,EAAE6J,EAAEyK,GAAGxK,KAAK0hC,KAAK9rC,IAAI9C,EAAEwQ,IAAIhP,EAAEyL,GAAG,MAAM/J,EAAExB,IAAI1B,EAAEwB,GAAG,GAAG0B,GAAG,MAAMpE,EAAE,CAAC,MAAM2Z,MAAM3Z,EAAEyZ,OAAOvZ,GAAGgB,EAAE0C,EAAE1C,EAAE8jC,0BAA0B,CAACprB,MAAMhX,IAAIN,EAAEpB,EAAE8jC,4BAA4B7iC,EAAE,IAAInC,EAAE4D,EAAEsL,EAAE5M,EAAE4M,EAAE,EAAE,IAAI/M,GAAGjB,EAAEwQ,IAAId,GAAEzO,EAAEjC,EAAE,CAAC,OAAOkE,CAAC,CAAphB,CAAshBpE,EAAE4D,EAAE,IAAIwP,GAAGlS,EAAEiB,OAAO,OAAO0B,EAAE3D,EAAE0D,EAAEA,EAAE,GAAG1C,GAAG,CAAE,EAAC,CAACwB,CAACA,GAAG0B,EAAEyrC,YAAY1hC,IAAIhM,EAAElC,EAAE,CAAC,MAAM8vC,GAAG,CAAC/vC,EAAEE,EAAE0D,EAAEtB,IAAIstC,GAAG,IAAI5vC,EAAEE,EAAE0D,EAAEtB,GAAG0tC,GAAG,CAAChwC,EAAEE,EAAE0D,EAAEtB,IAAIstC,GAAG,IAAI5vC,EAAEE,EAAE0D,EAAEtB,GAAG,SAAS2tC,GAAGjwC,EAAEE,GAAG,OAAOF,EAAEE,EAAEiS,OAAO+9B,aAAa,CAAC,MAAMC,GAAG,CAACnwC,EAAEE,EAAE0D,KAAK,MAAMtB,EAAE2tC,GAAGjwC,EAAE4D,GAAG,OAAO,IAAI1D,EAAEgP,EAAE5M,EAAEwO,GAAED,GAAE,IAAI3Q,EAAE2D,EAAEvB,EAAEyO,GAAEH,GAAE,IAAIw/B,GAAG,CAACpwC,EAAEE,EAAE0D,IAAIqsC,GAAGjwC,EAAE4D,GAAG+rC,GAAG,EAAEzvC,EAAE0D,GAAG6qC,GAAGzuC,EAAEE,EAAE0D,GAAGysC,GAAG,CAACrwC,EAAEE,EAAE0D,EAAEtB,IAAI2tC,GAAGjwC,EAAEE,EAAE+I,QAAQ+mC,GAAGhwC,EAAEE,EAAE0D,EAAEtB,GAAG2sC,GAAGjvC,EAAEE,EAAE0D,EAAEtB,GAAGguC,GAAG,CAACtwC,EAAEE,EAAE0D,EAAEtB,IAAI2tC,GAAGjwC,EAAEE,EAAE+I,QAAQ8mC,GAAG/vC,EAAEE,EAAE0D,EAAEtB,GAAG4sC,GAAGlvC,EAAEE,EAAE0D,EAAEtB,GAAGiuC,GAAG,KAAA,CAAMC,GAAG,IAAIlE,GAAG,CAACp9B,GAAG,GAAGrL,EAAE,EAAEmpC,mBAAmBoD,GAAGzD,cAAc0D,GAAGnD,cAAciD,KAAKM,GAAG,IAAInE,GAAG,CAACp9B,EAAE,GAAGrL,EAAE,EAAEmpC,mBAAmBoD,GAAGzD,cAAc0D,GAAGnD,cAAciD,KAAKO,GAAG,IAAIpE,GAAG,CAACp9B,EAAE,EAAErL,EAAE,GAAGmpC,mBAAmBoD,GAAGzD,cAAc2D,GAAGpD,cAAciD,KAAK93B,GAAG,IAAIi0B,GAAG,CAACp9B,EAAE,EAAErL,GAAG,GAAGmpC,mBAAmBoD,GAAGzD,cAAc2D,GAAGpD,cAAciD,KAAKttB,GAAG,IAAIypB,GAAG,CAACp9B,GAAG,GAAGrL,GAAG,GAAGmpC,mBAAmByB,GAAG9B,cAAcqC,KAAKlsB,GAAG,IAAIwpB,GAAG,CAACp9B,EAAE,GAAGrL,GAAG,GAAGmpC,mBAAmByB,GAAG9B,cAAcqC,KAAKjsB,GAAG,IAAIupB,GAAG,CAACp9B,GAAG,GAAGrL,EAAE,GAAGmpC,mBAAmByB,GAAG9B,cAAcqC,KAAKhsB,GAAG,IAAIspB,GAAG,CAACp9B,EAAE,GAAGrL,EAAE,GAAGmpC,mBAAmByB,GAAG9B,cAAcqC,KAAK2B,IAAI,IAAIrE,GAAG,CAACp9B,EAAE,EAAErL,GAAG,GAAG8oC,cAAcmB,GAAGd,mBAAmBY,GAAG/oB,SAAS,GAAG+rB,gBAAe,EAAGzD,WAAW98B,OAAMwgC,GAAG,KAAA,CAAMJ,GAAG,IAAInE,GAAG,CAACp9B,EAAE,GAAGrL,EAAE,EAAE8oC,cAAchB,GAAGqB,mBAAmBoD,GAAGjD,WAAW58B,KAAIigC,GAAG,IAAIlE,GAAG,CAACp9B,GAAG,GAAGrL,EAAE,EAAE8oC,cAAchB,GAAGqB,mBAAmBoD,GAAGjD,WAAW58B,OAAMugC,GAAG,IAAIltC,EAAEA,EAAE,CAAE,EAAC2sC,MAAMM,MAAM,MAAME,WAAW9K,GAAG,kBAAOzlB,GAAc,OAAO5c,EAAEA,EAAE,CAAE,EAACoI,MAAMwU,eAAeuwB,GAAGtwB,YAAY,CAAC,WAAA7f,CAAYZ,GAAGgM,QAAQ7K,OAAO+K,OAAOjI,KAAKA,KAAKrD,YAAYowC,iBAAiBD,GAAGtwB,aAAaxc,KAAKiiC,WAAWlmC,EAAE,CAAC,qBAAOgxC,GAAiB,MAAM,CAACjmB,SAASwlB,KAAK,CAAC,kBAAAlK,GAAqB,MAAMrmC,EAAEiE,KAAKkO,OAAO,GAAGlO,KAAKgtC,cAAcjxC,GAAGA,EAAEkxC,kBAAkB,CAAC,MAAMhxC,EAAEF,EAAEkxC,kBAAkBttC,EAAE1D,EAAE+I,OAAO3G,EAAEpC,EAAEixC,OAAO,GAAGltC,OAAOL,GAAGtB,GAAGA,EAAE8uC,WAAWzgC,IAAG,OAAM,CAAE,CAAC,OAAO3E,MAAMq6B,oBAAoB,CAAC,gBAAAgL,GAAmB,MAAMrxC,EAAEiE,KAAKqtC,SAAS,OAAOtxC,EAAE,CAACqI,IAAIrI,EAAEuxC,QAAQttC,KAAK8mB,SAAS/qB,GAAGwxC,MAAMvtC,KAAKwtC,QAAQzxC,SAAI,CAAM,CAAC,WAAA0xC,CAAY1xC,GAAG,IAAIE,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,IAAIA,UAAU,GAAG,IAAIsC,KAAK0tC,cAAc1tC,KAAKkO,OAAO,OAAOlO,KAAKqtC,cAAS,EAAO,MAAM1tC,EAAEzC,OAAOqR,QAAQvO,KAAKwtC,SAAS,IAAI,IAAInvC,EAAEsB,EAAEhC,OAAO,EAAEU,GAAG,EAAEA,IAAI,CAAC,MAAMpB,EAAEiB,GAAGyB,EAAEtB,GAAGrC,EAAEgE,KAAK8mB,SAAS7pB,GAAG,GAAGjB,EAAEssC,eAAerrC,EAAE+C,KAAKjE,EAAEE,EAAEiC,EAAEyvC,YAAYzvC,EAAE2oB,QAAQ,OAAO7mB,KAAKqtC,SAASpwC,EAAE,CAACmH,IAAInH,EAAEqwC,QAAQtxC,EAAEuxC,MAAMvtC,KAAKwtC,QAAQvwC,GAAG,CAAC,CAAC,WAAA2wC,GAAc,MAAM7xC,EAAEiE,KAAKohC,uBAAuBnlC,EAAE+D,KAAKihB,iBAAiBthB,EAAEmW,GAAG7Z,EAAEgP,EAAEhP,EAAE2D,GAAGvB,EAAE0X,GAAG,CAACR,MAAMvV,KAAK0mB,iBAAiB1mB,KAAKmgC,OAAOngC,KAAKsW,MAAM,IAAI,KAAKrZ,EAAE+X,GAAGrV,EAAEtB,GAAGH,EAAE8W,GAAGjZ,EAAEkB,GAAGjB,EAAEgZ,GAAG9W,EAAE,CAAC,EAAEnC,EAAE,GAAG,EAAE,EAAE,EAAEA,EAAE,GAAG,EAAE,IAAIwC,EAAEyB,KAAKmgC,MAAM9qB,GAAGrV,KAAKm0B,4BAAuB,EAAO51B,IAAIA,EAAEiX,OAAOrL,KAAK2E,IAAIvQ,EAAEiX,QAAQjX,EAAEkX,OAAOtL,KAAK2E,IAAIvQ,EAAEkX,SAAS,MAAMjW,EAAEQ,KAAKyhC,4BAA4BljC,GAAGE,EAAE,CAAA,EAAG,OAAOuB,KAAK6tC,gBAAgB,CAAC9xC,EAAEE,KAAK,MAAM0D,EAAE5D,EAAEutC,gBAAgB9pC,EAAExD,EAAEgE,KAAKjE,GAAG0C,EAAExC,GAAGiB,OAAO+K,OAAOtI,EAAEK,KAAK8tC,kBAAkB/xC,EAAE4D,GAAI,IAAGlB,CAAC,CAAC,iBAAAqvC,CAAkB/xC,EAAEE,GAAG,MAAM0D,EAAEK,KAAK0mB,gBAAgB,MAAM,CAACG,OAAO9qB,EAAEwtC,iBAAiB5pC,EAAEK,KAAK6nC,WAAW5rC,EAAEgP,EAAEhP,EAAE2D,GAAE,EAAGI,MAAM2tC,YAAY5xC,EAAEwtC,iBAAiB5pC,EAAEK,KAAK+tC,gBAAgB9xC,EAAEgP,EAAEhP,EAAE2D,GAAE,EAAGI,MAAM,CAAC,SAAA8c,GAAY/U,MAAM+U,YAAY9c,KAAKkO,SAASlO,KAAKwtC,QAAQxtC,KAAK4tC,cAAc,CAAC,cAAAC,CAAe9xC,GAAG,IAAI,MAAME,KAAK+D,KAAK8mB,SAAS/qB,EAAEiE,KAAK8mB,SAAS7qB,GAAGA,EAAE+D,KAAK,CAAC,uBAAAujC,CAAwBxnC,GAAG,IAAIiE,KAAKguC,0BAA0BhuC,KAAKkO,QAAQlO,KAAKkO,OAAO+/B,gBAAgBjuC,KAAK,OAAOjE,EAAEqjB,OAAO,MAAMnjB,EAAE+D,KAAKgnB,yBAAyBrnB,EAAEK,KAAKyhC,8BAA8BpjC,EAAE2B,KAAKohC,uBAAuBrlC,EAAE8mC,UAAU5mC,EAAEgP,EAAEhP,EAAE2D,GAAG7D,EAAEyd,MAAM,EAAEnb,EAAE,GAAG,EAAEA,EAAE,IAAItC,EAAEkV,OAAOyD,GAAG1U,KAAKuV,QAAQxZ,EAAE4kB,UAAU3gB,KAAKguC,yBAAyBjyC,EAAE2oC,UAAU/kC,EAAEsL,EAAE,GAAGtL,EAAEC,EAAE,EAAED,EAAEsL,EAAEtL,EAAEC,GAAG7D,EAAEujB,SAAS,CAAC,aAAA4uB,CAAcnyC,EAAEE,GAAGF,EAAEqsC,YAAYnsC,EAAEgP,EAAE,GAAGhP,EAAE2D,EAAE,EAAE3D,EAAEgP,EAAEhP,EAAE2D,EAAE,CAAC,YAAAuuC,CAAapyC,EAAEE,GAAG,IAAIoC,EAAEX,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAE,EAAC,MAAMT,EAAE0C,EAAE,CAAC+tC,YAAY1tC,KAAK0tC,YAAYU,YAAYpuC,KAAKouC,YAAYC,gBAAgBruC,KAAKquC,iBAAiBhwC,GAAGtC,EAAEqjB,OAAOrjB,EAAEspC,YAAYpoC,EAAEmxC,YAAYpuC,KAAKwlC,aAAazpC,EAAEkB,EAAEoxC,iBAAiBruC,KAAKkuC,cAAcnyC,EAAEE,GAAGgB,EAAEywC,aAAa1tC,KAAKsuC,4BAA4BvyC,EAAEE,GAAGF,EAAEujB,SAAS,CAAC,eAAAivB,CAAgBxyC,GAAG,IAAIE,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAE,EAAC,MAAM8wC,WAAWnwC,EAAEqvC,YAAYzwC,GAAG+C,KAAK9B,EAAEyB,EAAE,CAAC6uC,WAAWnwC,EAAEqvC,YAAYzwC,GAAGhB,GAAGD,EAAEgE,KAAKohC,uBAAuB7iC,EAAEL,EAAEswC,WAAWhvC,EAAEtB,EAAEwvC,YAAYjvC,EAAEuW,GAAGhZ,EAAEgE,KAAKm0B,uBAAuB10B,EAAE4V,GAAG5W,GAAG1C,EAAEqjB,OAAOrjB,EAAE8mC,UAAUpjC,EAAEmW,WAAWnW,EAAEoW,YAAY9Z,EAAE+oC,UAAU9kC,KAAKyuC,kBAAkBzuC,KAAKmgC,QAAQngC,KAAKmjC,SAASpnC,EAAE6oC,YAAY5kC,KAAK0uC,SAAS1uC,KAAK2uC,wBAAwB,GAAG3uC,KAAKsW,QAAQ7W,EAAE8V,OAAO,KAAKxZ,EAAEkV,OAAOyD,GAAG1U,KAAKmgC,MAAM1gC,EAAE8V,MAAMvV,KAAKuV,QAAQhX,GAAGyB,KAAK4uC,YAAY7yC,EAAE0D,EAAExD,GAAGuD,GAAGQ,KAAKgf,aAAajjB,EAAEE,GAAGF,EAAEujB,SAAS,CAAC,WAAAsvB,CAAY7yC,EAAEE,EAAE0D,GAAG,IAAItB,EAAE,GAAGsB,GAAGA,EAAEkvC,oBAAoB7uC,KAAKmgC,MAAM,CAAC,MAAMpkC,EAAEupB,GAAGtlB,KAAKiT,MAAMjT,KAAKkT,OAAOmD,GAAGpa,IAAI0D,EAAEK,KAAKqgC,mCAAmCnvB,IAAIlR,KAAKy0B,eAAc,IAAKtlB,IAAIG,UAAUtP,KAAKkO,OAAOlO,KAAKkO,OAAOsP,UAAU,GAAG,IAAIrO,GAAGlT,EAAEuZ,OAAOvZ,EAAEwZ,SAAS5F,eAAe7P,KAAKuzB,aAAal1B,EAAEtC,EAAEqT,IAAIzP,GAAG2P,UAAUtP,KAAKyuC,mBAAmBn/B,UAAU,EAAEtP,KAAK+mB,QAAQ,MAAM1oB,EAAE2B,KAAKyhC,8BAA8BnyB,UAAUtP,KAAKyuC,mBAAmBzuC,KAAKmuC,aAAapyC,EAAEsC,EAAEsB,EAAE,CAAC,2BAAA2uC,CAA4BvyC,EAAEE,GAAG,IAAI0D,GAAE,EAAG5D,EAAEwkB,YAAYvgB,KAAK6tC,gBAAc,CAAGxvC,EAAEpB,KAAKoB,EAAEsuC,gBAAgBtuC,EAAE8qC,cAAcnpC,KAAK/C,KAAK0C,GAAE,EAAG5D,EAAEykB,OAAOniB,EAAE4M,EAAEhP,EAAEgP,EAAE5M,EAAEuB,EAAE3D,EAAE2D,GAAG7D,EAAE0kB,OAAOpiB,EAAE4M,EAAEhP,EAAEgP,EAAE5M,EAAEia,QAAQja,EAAEuB,EAAE3D,EAAE2D,EAAEvB,EAAEuiB,SAAU,IAAGjhB,GAAG5D,EAAEg4B,QAAQ,CAAC,YAAA/U,CAAajjB,GAAG,IAAIE,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAE,EAAC3B,EAAEqjB,OAAO,MAAM/gB,EAAE2B,KAAKmhC,0BAA0B6G,kBAAkB/qC,EAAE6xC,gBAAgB5wC,EAAE+pC,YAAYjsC,GAAGgE,KAAKzB,EAAEoB,EAAE,CAACqoC,kBAAkB/qC,EAAE6xC,gBAAgB5wC,EAAE+pC,YAAYjsC,GAAGC,GAAGF,EAAE6mC,aAAavkC,EAAE,EAAE,EAAEA,EAAE,EAAE,GAAGtC,EAAEspC,YAAYtpC,EAAE4kB,UAAUpiB,EAAE0pC,YAAYjoC,KAAK+nC,qBAAqBhsC,EAAEspC,YAAY9mC,EAAEypC,mBAAmBhoC,KAAKwlC,aAAazpC,EAAEwC,EAAEuwC,iBAAiB9uC,KAAK6tC,iBAAiB5xC,EAAE0D,KAAK,GAAG1D,EAAEktC,cAAcnpC,KAAKL,GAAG,CAAC,MAAMtB,EAAE2B,KAAKwtC,QAAQ7tC,GAAG1D,EAAEokB,OAAOtkB,EAAEsC,EAAE4M,EAAE5M,EAAEuB,EAAErB,EAAEyB,KAAK,CAAE,IAAGjE,EAAEujB,SAAS,CAAC,gBAAAkpB,CAAiBzsC,GAAG,OAAOiE,KAAK8mB,SAAS/qB,IAAIiE,KAAK8mB,SAAS/qB,GAAGotC,cAAcnpC,KAAKjE,EAAE,CAAC,iBAAAgzC,CAAkBhzC,EAAEE,GAAG+D,KAAKopC,sBAAsBppC,KAAKopC,oBAAoB,IAAIppC,KAAKopC,oBAAoBrtC,GAAGE,CAAC,CAAC,qBAAA+yC,GAAwB,IAAIjzC,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAE,EAACR,OAAOqR,QAAQxS,GAAG6B,SAAS7B,IAAI,IAAIE,EAAE0D,GAAG5D,EAAE,OAAOiE,KAAK+uC,kBAAkB9yC,EAAE0D,EAAG,GAAE,CAAC,eAAAsvC,CAAgBlzC,GAAG,IAAIiE,KAAKkO,OAAO,OAAO,MAAMjS,EAAE+D,KAAKkO,OAAO40B,WAAW,IAAI7mC,EAAE,OAAO,MAAM0D,EAAEK,KAAKkO,OAAOgO,kBAAkBjgB,EAAEmjB,OAAOnjB,EAAEkV,UAAUxR,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAIK,KAAKmR,UAAUlV,GAAG,MAAMoC,EAAE2B,KAAKiT,MAAM,EAAEhW,EAAE+C,KAAKkT,OAAO,EAAE,OAAOjX,EAAE+hB,WAAW3f,EAAE,GAAGpB,EAAE,EAAEoB,EAAEpB,GAAGlB,GAAGE,EAAEqjB,UAAUrjB,CAAC,CAAC,UAAAizC,CAAWnzC,GAAG,OAAM,CAAE,CAAC,QAAAozC,CAASpzC,GAAG,OAAM,CAAE,CAAC,mBAAAqzC,CAAoBrzC,GAAG,OAAM,CAAE,CAAC,WAAAszC,CAAYtzC,GAAG,OAAM,CAAE,CAAC,OAAAuzC,CAAQvzC,GAAG,OAAM,CAAE,CAAC,sBAAAwzC,CAAuBxzC,GAAI,CAAA,sBAAAyzC,CAAuBzzC,GAAI,EAAC,SAAS0zC,GAAG1zC,EAAEE,GAAG,OAAOA,EAAE2B,SAAS3B,IAAIiB,OAAOwyC,oBAAoBzzC,EAAEa,WAAWc,SAAS+B,IAAI,gBAAgBA,GAAGzC,OAAOc,eAAejC,EAAEe,UAAU6C,EAAEzC,OAAOI,yBAAyBrB,EAAEa,UAAU6C,IAAIzC,OAAOgC,OAAO,MAAO,GAAG,IAAGnD,CAAC,CAACA,EAAE+wC,GAAG,cAAc,CAACE,cAAa,EAAG2C,eAAc,EAAGC,eAAc,EAAGhG,cAAa,EAAGiG,cAAa,EAAGC,cAAa,EAAGC,cAAa,EAAGC,cAAa,EAAGC,iBAAgB,EAAGpI,WAAW,GAAGkG,gBAAgB,GAAGhG,oBAAmB,EAAGE,YAAY,mBAAmBD,kBAAkB,GAAG0B,YAAY,OAAOoF,gBAAgB,KAAKpB,aAAY,EAAGU,YAAY,mBAAmBC,gBAAgB,KAAKM,wBAAwB,GAAGF,kBAAkB,EAAED,YAAW,EAAGR,yBAAyB,GAAG56B,YAAW,EAAG88B,SAAQ,EAAGC,oBAAmB,EAAGC,SAAS,OAAOC,YAAY,KAAKC,WAAW,OAAO,MAAMC,WAAWzD,IAAI2C,GAAGc,GAAG,CAACnd,KAAKhmB,GAAGI,SAAS+iC,IAAInjC,GAAGI,SAAS+iC,GAAG,UAAU,MAAMC,GAAG,CAACz0C,EAAEE,EAAE0D,EAAEtB,KAAK,MAAMpB,EAAE,GAAGoB,EAAE8L,KAAKwc,MAAMtoB,IAAI,GAAGoyC,KAAKvyC,GAAGnC,EAAE20C,aAAaz0C,EAAEoC,EAAEsB,EAAEtB,EAAEpB,EAAEA,GAAG,IAAI,IAAIlB,EAAE,EAAEA,EAAEmC,EAAEP,OAAO5B,GAAG,EAAG,GAAGmC,EAAEnC,GAAG,EAAE,OAAM,EAAG,OAAM,CAAC,EAAG,MAAM40C,GAAG,WAAAh0C,CAAYZ,GAAGiE,KAAK4wC,QAAQ70C,EAAEiE,KAAK6wC,0BAA0B7wC,KAAK4wC,QAAQrd,YAAY,EAAEvzB,KAAKwZ,MAAM,IAAIrK,GAAGnP,KAAK4wC,QAAQp7B,OAAOxV,KAAK4wC,QAAQn7B,QAAQzV,KAAK8wC,oBAAoB9wC,KAAK4wC,QAAQnc,cAAc,IAAItlB,GAAG,EAAEnP,KAAK4wC,QAAQp7B,OAAO,EAAExV,KAAK4wC,QAAQn7B,QAAQ,IAAItG,GAAG,EAAE,EAAE,CAAC,gBAAA4hC,CAAiBh1C,EAAEE,GAAG,MAAM0D,EAAE04B,GAAGt8B,EAAEE,GAAG,OAAO+D,KAAK4wC,QAAQnc,cAAc90B,EAAEiQ,SAAS5P,KAAKwZ,OAAO7Z,CAAC,CAAC,mBAAAqxC,CAAoBj1C,EAAEE,EAAE0D,GAAG,OAAOK,KAAKixC,UAAUl1C,EAAEqT,IAAIpP,KAAKkxC,yBAAyBn1C,EAAEE,EAAE0D,IAAI,CAAC,QAAAwxC,GAAW,OAAO,IAAInxC,KAAK4wC,QAAQl7B,OAAO,IAAI1V,KAAK4wC,QAAQj7B,KAAK,CAAC,SAAAs7B,CAAUl1C,GAAG,MAAME,EAAE,IAAIkT,GAAGpT,GAAG,OAAOE,EAAE2D,GAAG3D,EAAEgP,EAAEd,KAAK+L,IAAIxB,GAAG1U,KAAK4wC,QAAQj7B,QAAQ1Z,EAAEgP,GAAGhP,EAAE2D,EAAEuK,KAAK+L,IAAIxB,GAAG1U,KAAK4wC,QAAQl7B,QAAQzZ,CAAC,CAAC,eAAAm1C,CAAgBr1C,EAAEE,GAAG,OAAOF,EAAE6T,SAAS5P,KAAK8wC,qBAAqBjhC,eAAe5T,EAAE,EAAE,MAAMo1C,GAAG,IAAIliC,GAAG,MAAMmiC,WAAWX,GAAG,kCAAOY,CAA4Bx1C,EAAEE,GAAG,MAAM0D,EAAE1D,EAAEs8B,GAAGx8B,EAAEE,GAAGy8B,GAAG38B,GAAG,OAAOoO,KAAK2E,IAAInP,GAAGwL,GAAG,EAAE,CAAC,CAAC,WAAAxO,CAAYV,EAAE0D,EAAEtB,EAAEpB,GAAG8K,MAAM9K,GAAGlB,EAAEiE,KAAK,UAAK,GAAQjE,EAAEiE,KAAK,UAAK,GAAQjE,EAAEiE,KAAK,aAAQ,GAAQjE,EAAEiE,KAAK,gBAAW,GAAQA,KAAK8L,EAAE,IAAIqD,GAAGlT,GAAG+D,KAAKoM,EAAE,IAAI+C,GAAGxP,GAAGK,KAAKkL,EAAE,IAAIiE,GAAG9Q,GAAG2B,KAAKwxC,GAAGxxC,KAAK+wC,iBAAiB/wC,KAAK8L,EAAE9L,KAAKoM,GAAGpM,KAAKyxC,GAAGzxC,KAAK+wC,iBAAiB/wC,KAAK8L,EAAE9L,KAAKkL,GAAGlL,KAAK0xC,MAAMnZ,GAAGv4B,KAAKwxC,GAAGxxC,KAAKyxC,IAAIzxC,KAAK2xC,SAAShZ,GAAGP,GAAGp4B,KAAKwxC,GAAGthC,GAAGmhC,IAAIrxC,KAAKyxC,GAAGzxC,KAAKwxC,GAAGxxC,KAAK0xC,MAAM,GAAG,CAAC,wBAAAR,CAAyBn1C,EAAEE,GAAG,IAAI0D,EAAEjC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAGsC,KAAK6wC,0BAA0B,MAAMxyC,EAAE2B,KAAK+wC,iBAAiBh1C,EAAEE,GAAGgB,EAAE27B,GAAGv6B,GAAGH,EAAEozC,GAAGC,4BAA4Bt0C,EAAE+C,KAAK2xC,UAAU,OAAO3xC,KAAKoxC,gBAAgBn0C,EAAE0C,EAAEzB,EAAE,CAAC,YAAA0zC,GAAe,MAAM71C,EAAE,GAAG,OAAOiE,KAAK0xC,MAAMrmC,GAAG,EAAE,CAACrL,KAAKoM,GAAG,CAACpM,KAAKoM,EAAEpM,KAAKkL,IAAItN,SAAS3B,IAAIF,EAAEyB,KAAKwC,KAAKgxC,oBAAoBhxC,KAAK8L,EAAE7P,IAAIF,EAAEyB,KAAKwC,KAAKgxC,oBAAoBhxC,KAAK8L,EAAE7P,GAAG+D,KAAK6wC,2BAA4B,IAAG90C,CAAC,CAAC,YAAA81C,GAAe,MAAM91C,EAAE,GAAGE,EAAEkO,KAAK2E,IAAI9O,KAAK0xC,OAAO/xC,EAAE,EAAEwK,KAAK+E,IAAIjT,EAAE,GAAGoC,EAAE2B,KAAKoxC,gBAAgBpxC,KAAK2xC,UAAU3xC,KAAK6wC,0BAA0BlxC,GAAG1C,EAAE+C,KAAK4wC,QAAQnc,cAAc6D,GAAGt4B,KAAKoxC,gBAAgBpxC,KAAK2xC,SAAS3xC,KAAK4wC,QAAQhd,mBAAmB5zB,KAAK4wC,QAAQhd,iBAAiB,OAAO0E,GAAGj6B,GAAG2B,KAAK6wC,2BAA2B5zC,GAAGlB,EAAEyB,KAAKwC,KAAKixC,UAAUjxC,KAAK8L,EAAEsD,IAAI/Q,KAAKtC,EAAEyB,QAAQwC,KAAK4xC,gBAAgB71C,CAAC,CAAC,kBAAA+1C,CAAmB/1C,EAAEE,GAAG,MAAM0D,EAAE,GAAGtB,EAAE,IAAI8Q,GAAGmiC,GAAGC,4BAA4BvxC,KAAK2xC,UAAUL,GAAGC,4BAA4B,IAAIpiC,GAAGnP,KAAK2xC,SAAS/xC,EAAEI,KAAK2xC,SAAS1mC,KAAK,MAAM,CAAC,IAAIkE,GAAG,EAAE,GAAGU,eAAe7P,KAAK6wC,2BAA2BjhC,SAAS5P,KAAK8wC,qBAAqBlhC,SAASvR,GAAG,IAAI8Q,GAAG,EAAE,GAAGU,eAAe7P,KAAK6wC,2BAA2BjhC,SAAS5P,KAAK8wC,qBAAqBlhC,SAASvR,IAAIT,SAASS,IAAIw6B,GAAGx6B,EAAEtC,EAAEE,IAAI0D,EAAEnC,KAAKwC,KAAK8L,EAAEsD,IAAI/Q,GAAI,IAAGsB,CAAC,CAAC,oBAAAoyC,CAAqBh2C,EAAEE,GAAG,MAAM0D,EAAE,IAAI+V,MAAMrX,EAAEsX,MAAM1Y,EAAEuY,OAAOtX,EAAEuX,OAAOzZ,EAAEy4B,cAAcl2B,GAAGyB,KAAK4wC,QAAQpxC,EAAE,IAAI2P,GAAGhF,KAAK+L,IAAIxB,GAAGrW,IAAI8L,KAAK+L,IAAIxB,GAAGzX,KAAKwB,EAAEuB,KAAK6wC,0BAA0BpxC,EAAElB,EAAEE,EAAEzC,EAAEmO,KAAKY,KAAK,EAAE/O,GAAG,EAAE,EAAEkC,GAAG,EAAEsB,EAAEI,GAAG,GAAGnB,EAAE0L,KAAKY,KAAK,EAAEvL,EAAEI,GAAG,GAAGjB,EAAE,IAAIwQ,GAAGhF,KAAKY,KAAKZ,KAAKC,IAAI3L,GAAG,EAAEgB,GAAG,EAAE,IAAIA,GAAGQ,EAAE1B,EAAEE,EAAE0L,KAAKY,KAAK,EAAEvL,EAAEyL,GAAG,GAAG,EAAEjP,IAAI,GAAG,EAAEkC,EAAE,EAAEA,EAAEsB,EAAEyL,EAAEzL,EAAEI,IAAI,GAAGnB,EAAE0L,KAAKY,KAAK,EAAEvL,EAAEyL,GAAG,GAAG,EAAEzL,EAAEyL,EAAEzL,EAAEI,IAAI,GAAGS,EAAE,IAAI8O,GAAGlP,EAAEkK,KAAKY,KAAKZ,KAAKC,IAAI3L,GAAG,EAAEwB,GAAG,EAAE,KAAK,MAAM,CAACI,EAAEA,EAAEwP,gBAAgB,GAAGlR,EAAEA,EAAEkR,gBAAgB,IAAIwH,KAAKtb,GAAGiE,KAAKixC,UAAU1yC,EAAExC,EAAE6T,SAAS5P,KAAK8wC,qBAAqB/0C,KAAK6B,SAASS,IAAIw6B,GAAGx6B,EAAEtC,EAAEE,IAAI0D,EAAEnC,KAAKwC,KAAKixC,UAAUjxC,KAAK8L,GAAGsD,IAAI/Q,GAAI,IAAGsB,CAAC,CAAC,YAAAqyC,GAAe,MAAMj2C,EAAE,GAAGA,EAAEyB,QAAQwC,KAAK4xC,gBAAgB,MAAM31C,EAAE+D,KAAK0xC,MAAMrmC,GAAG,EAAE1L,EAAEK,KAAKixC,UAAUjxC,KAAK8L,GAAGzN,EAAEtC,EAAEE,EAAE,EAAE,GAAGuT,SAAS7P,GAAG1C,EAAElB,EAAEE,EAAE,EAAE,GAAGuT,SAAS7P,GAAGzB,EAAEjC,EAAE+D,KAAKixC,UAAUjxC,KAAKwxC,GAAG3hC,gBAAgB,IAAI7P,KAAKixC,UAAUjxC,KAAK2xC,SAAS/hC,SAAS5P,KAAK8wC,qBAAqBjhC,gBAAgB,IAAI7T,EAAEw8B,GAAGn6B,EAAEH,GAAG,EAAEK,EAAEvC,EAAEqC,EAAEpB,EAAEuC,EAAExD,EAAEiB,EAAEoB,EAAE,OAAO2B,KAAKmxC,WAAWp1C,EAAEyB,QAAQwC,KAAK+xC,qBAAqBxzC,EAAEiB,IAAIzD,EAAEyB,QAAQwC,KAAK8xC,mBAAmBvzC,EAAEiB,IAAIzD,CAAC,CAAC,aAAAk2C,GAAgB,OAAOjyC,KAAK4wC,QAAQjd,gBAAgB,IAAI,QAAQ,OAAO3zB,KAAK6xC,eAAe,IAAI,QAAQ,OAAO7xC,KAAKgyC,eAAe,QAAQ,OAAOhyC,KAAK4xC,eAAe,CAAC,OAAAM,GAAU,OAAOlyC,KAAKiyC,gBAAgB56B,KAAKtb,IAAI,CAACo2C,YAAYnyC,KAAK8L,EAAEsmC,eAAer2C,EAAEwZ,MAAMvV,KAAK0xC,MAAMC,SAAS3xC,KAAK2xC,YAAY,EAAE,MAAMU,WAAW1B,GAAG,WAAAh0C,CAAYZ,EAAEE,EAAE0D,GAAGoI,MAAMpI,GAAGK,KAAK8L,EAAE,IAAIqD,GAAGpT,GAAGiE,KAAKuL,EAAE,IAAI4D,GAAGlT,EAAE,CAAC,wBAAAi1C,CAAyBn1C,EAAEE,GAAG,IAAI0D,EAAEjC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAGsC,KAAK6wC,0BAA0B,MAAMxyC,EAAE2B,KAAK+wC,iBAAiBh1C,EAAEE,GAAG,OAAO+D,KAAKoxC,gBAAgBxY,GAAGv6B,GAAGsB,EAAE,CAAC,WAAA2yC,GAAc,MAAM,CAACtyC,KAAKgxC,oBAAoBhxC,KAAK8L,EAAE9L,KAAKuL,EAAEvL,KAAK6wC,2BAA2B7wC,KAAKgxC,oBAAoBhxC,KAAK8L,EAAE9L,KAAKuL,GAAGvL,KAAK6wC,2BAA2B,CAAC,YAAAmB,GAAe,MAAMj2C,EAAE,GAAG,IAAIiE,KAAKmxC,YAAYnxC,KAAK8L,EAAEoE,GAAGlQ,KAAKuL,GAAG,CAAC,MAAMtP,EAAE,IAAIkT,GAAG,EAAE,GAAGU,eAAe7P,KAAK6wC,2BAA2BjhC,SAAS5P,KAAK8wC,qBAAqB/0C,EAAEyB,KAAKwC,KAAKixC,UAAUjxC,KAAK8L,EAAEsD,IAAInT,IAAI+D,KAAKixC,UAAUjxC,KAAK8L,EAAE0D,SAASvT,IAAI,MAAMF,EAAEyB,QAAQ,IAAI8zC,GAAGtxC,KAAK8L,EAAE9L,KAAKuL,EAAEvL,KAAKuL,EAAEvL,KAAK4wC,SAASoB,gBAAgB,OAAOj2C,CAAC,CAAC,aAAAw2C,GAAgB,MAAMx2C,EAAE,GAAG,GAAGiE,KAAK8L,EAAEoE,GAAGlQ,KAAKuL,GAAG,CAAC,MAAMtP,EAAE,IAAIkT,GAAG,EAAE,GAAGU,eAAe7P,KAAK6wC,2BAA2BjhC,SAAS5P,KAAK8wC,qBAAqB/0C,EAAEyB,KAAKwC,KAAK8L,EAAEsD,IAAInT,GAAG+D,KAAK8L,EAAE0D,SAASvT,GAAG,KAAK,CAAC,MAAMA,EAAE+D,KAAKkxC,yBAAyBlxC,KAAK8L,EAAE9L,KAAKuL,EAAEvL,KAAK6wC,2BAA2BlxC,EAAEK,KAAKoxC,gBAAgBzY,GAAG34B,KAAK+wC,iBAAiB/wC,KAAK8L,EAAE9L,KAAKuL,KAAKvL,KAAK6wC,2BAA2BxyC,EAAE2B,KAAK8L,EAAEsD,IAAIzP,GAAG5D,EAAEyB,KAAKa,EAAE+Q,IAAInT,GAAGoC,EAAEmR,SAASvT,GAAG,CAAC,OAAOF,EAAEsb,KAAKtb,GAAGiE,KAAKixC,UAAUl1C,IAAI,CAAC,aAAAk2C,GAAgB,OAAOjyC,KAAK4wC,QAAQld,eAAe,IAAI,QAAQ,OAAO1zB,KAAKgyC,eAAe,IAAI,SAAS,OAAOhyC,KAAKuyC,gBAAgB,QAAQ,OAAOvyC,KAAKsyC,cAAc,CAAC,OAAAJ,GAAU,OAAOlyC,KAAKiyC,gBAAgB56B,KAAKtb,IAAI,CAACo2C,YAAYnyC,KAAK8L,EAAEsmC,eAAer2C,KAAK,EAAE,MAAMy2C,GAAG,SAASz2C,EAAEE,GAAG,IAAI0D,EAAEjC,UAAUC,OAAO,QAAG,IAASD,UAAU,IAAIA,UAAU,GAAG,MAAMW,EAAE,GAAG,GAAG,IAAItC,EAAE4B,OAAO,OAAOU,EAAE,MAAMpB,EAAElB,EAAEwM,QAAM,CAAGxM,EAAEE,KAAKF,EAAEA,EAAE4B,OAAO,GAAGuS,GAAGjU,IAAIF,EAAEyB,KAAK,IAAI2R,GAAGlT,IAAIF,IAAI,CAAC,IAAIoT,GAAGpT,EAAE,MAAM,GAAG,IAAIkB,EAAEU,OAAOgC,GAAE,OAAQ,IAAIA,EAAE,CAAC,MAAM5D,EAAEkB,EAAE,GAAGhB,EAAE,EAAEF,EAAEE,KAAK,IAAI,IAAI0D,EAAE5D,EAAE4B,OAAO,EAAEgC,GAAG,EAAEA,IAAI,GAAG1D,EAAEF,EAAE4D,IAAQ,OAAOA,EAAE,OAAO,CAAE,EAAxE,CAA0E1C,GAAGhB,IAAIA,EAAEiU,GAAGnU,KAAKkB,EAAE6Q,OAAO7R,EAAE,EAAE,CAAC,OAAOgB,EAAEW,SAAS,CAAC7B,EAAEkB,EAAEiB,KAAK,IAAIlC,EAAEuC,EAAE,IAAItB,GAAGsB,EAAEL,EAAE,GAAGlC,EAAE2D,EAAE5D,EAAEmC,EAAEA,EAAEP,OAAO,IAAIV,IAAIiB,EAAEP,OAAO,GAAG3B,EAAEkC,EAAEjB,EAAE,GAAGsB,EAAEoB,EAAE5D,EAAEmC,EAAE,KAAKlC,EAAEkC,EAAEjB,EAAE,GAAGsB,EAAEL,EAAEjB,EAAE,IAAI0C,GAAG,IAAIzB,EAAEP,OAAOU,EAAEb,QAAQ,IAAI60C,GAAGt2C,EAAEA,EAAEE,GAAGi2C,YAAYvyC,GAAG,IAAI1C,GAAGA,IAAIiB,EAAEP,OAAO,EAAEU,EAAEb,QAAQ,IAAI8zC,GAAGv1C,EAAEC,EAAEuC,EAAEtC,GAAGi2C,WAAW7zC,EAAEb,QAAQ,IAAI60C,GAAGt2C,EAAE,IAAIkB,EAAEsB,EAAEvC,EAAEC,GAAGi2C,UAAW,IAAG7zC,CAAC,EAAEo0C,GAAG12C,IAAI,MAAME,EAAE,CAAE,EAAC,OAAOiB,OAAOC,KAAKpB,GAAG6B,SAASS,IAAIpC,EAAEoC,GAAG,CAAE,EAACnB,OAAOC,KAAKpB,EAAEsC,IAAIT,SAASX,IAAIhB,EAAEoC,GAAGpB,GAAG0C,EAAE,CAAE,EAAC5D,EAAEsC,GAAGpB,GAAI,GAAG,IAAGhB,GAAGy2C,GAAG32C,GAAGA,EAAEo9B,QAAQ,KAAK,SAASA,QAAQ,KAAK,UAAUA,QAAQ,KAAK,UAAUA,QAAQ,KAAK,QAAQA,QAAQ,KAAK,QAAQ,IAAIwZ,GAAG,MAAMC,GAAG72C,IAAI,GAAG42C,IAAIA,KAAKA,GAAG,SAASxyC,KAAK,cAAc0yC,MAAM,IAAIA,KAAKC,eAAU,EAAO,CAACC,YAAY,cAAcJ,GAAG,CAAC,MAAM12C,EAAE02C,GAAGK,QAAQj3C,GAAG,OAAOwK,MAAMU,KAAKhL,GAAGob,KAAKtb,IAAI,IAAIi3C,QAAQ/2C,GAAGF,EAAE,OAAOE,CAAE,GAAE,CAAC,OAAOg3C,GAAGl3C,EAAC,EAAGk3C,GAAGl3C,IAAI,MAAME,EAAE,GAAG,IAAI,IAAI0D,EAAEtB,EAAE,EAAEA,EAAEtC,EAAE4B,OAAOU,KAAI,KAAMsB,EAAEuzC,GAAGn3C,EAAEsC,KAAKpC,EAAEuB,KAAKmC,GAAG,OAAO1D,GAAGi3C,GAAG,CAACn3C,EAAEE,KAAK,MAAM0D,EAAE5D,EAAEo3C,WAAWl3C,GAAG,GAAGmG,MAAMzC,GAAG,MAAM,GAAG,GAAGA,EAAE,OAAOA,EAAE,MAAM,OAAO5D,EAAEkH,OAAOhH,GAAG,GAAG,OAAO0D,GAAGA,GAAG,MAAM,CAAC,GAAG5D,EAAE4B,QAAQ1B,EAAE,EAAE,KAAK,iDAAiD,MAAM0D,EAAE5D,EAAEo3C,WAAWl3C,EAAE,GAAG,GAAG,MAAM0D,GAAGA,EAAE,MAAM,KAAK,iDAAiD,OAAO5D,EAAEkH,OAAOhH,GAAGF,EAAEkH,OAAOhH,EAAE,EAAE,CAAC,GAAG,IAAIA,EAAE,KAAK,iDAAiD,MAAMoC,EAAEtC,EAAEo3C,WAAWl3C,EAAE,GAAG,GAAG,MAAMoC,GAAGA,EAAE,MAAM,KAAK,iDAAiD,OAAM,CAAC,EAAG,IAAI+0C,GAAGl2C,OAAOyK,OAAO,CAACjF,UAAU,KAAK2wC,WAAW,SAASt3C,GAAG,IAAIE,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,IAAIA,UAAU,GAAG,MAAM,GAAG+K,OAAO1M,EAAEkH,OAAO,GAAG2tB,eAAenoB,OAAOxM,EAAEF,EAAEmH,MAAM,GAAGnH,EAAEmH,MAAM,GAAGwH,cAAc,EAAE4oC,UAAUZ,GAAGa,cAAcX,KAAK,MAAMY,GAAG,SAASz3C,EAAEE,GAAG,IAAI0D,EAAEjC,UAAUC,OAAO,QAAG,IAASD,UAAU,IAAIA,UAAU,GAAG,OAAO3B,EAAEglB,OAAO9kB,EAAE8kB,MAAMhlB,EAAEg4B,SAAS93B,EAAE83B,QAAQh4B,EAAEw3B,cAAct3B,EAAEs3B,aAAax3B,EAAE25B,WAAWz5B,EAAEy5B,UAAU35B,EAAEwO,aAAatO,EAAEsO,YAAYxO,EAAE0O,aAAaxO,EAAEwO,YAAY1O,EAAEyO,YAAYvO,EAAEuO,WAAWzO,EAAE03C,0BAA0Bx3C,EAAEw3C,yBAAyB13C,EAAEi6B,sBAAsB/5B,EAAE+5B,qBAAqBj6B,EAAEu6B,SAASr6B,EAAEq6B,QAAQ32B,IAAI5D,EAAE65B,WAAW35B,EAAE25B,UAAU75B,EAAE45B,YAAY15B,EAAE05B,WAAW55B,EAAE85B,cAAc55B,EAAE45B,YAAY,EAAE6d,GAAG,CAAC33C,EAAEE,KAAK,MAAM0D,EAAE1D,EAAEy2B,MAAM,MAAMr0B,EAAE,GAAG,IAAIpB,GAAG,EAAEiB,EAAE,CAAE,EAACnC,EAAE02C,GAAG12C,GAAG,IAAI,IAAIE,EAAE,EAAEA,EAAE0D,EAAEhC,OAAO1B,IAAI,CAAC,MAAMD,EAAE42C,GAAGjzC,EAAE1D,IAAI,GAAGF,EAAEE,GAAG,IAAI,IAAI0D,EAAE,EAAEA,EAAE3D,EAAE2B,OAAOgC,IAAI,CAAC1C,IAAI,MAAMjB,EAAED,EAAEE,GAAG0D,GAAG3D,GAAGkB,OAAOC,KAAKnB,GAAG2B,OAAO,IAAI61C,GAAGt1C,EAAElC,GAAE,GAAIqC,EAAEb,KAAK,CAACmgC,MAAM1gC,EAAE02C,IAAI12C,EAAE,EAAEgc,MAAMjd,IAAIqC,EAAEA,EAAEV,OAAO,GAAGg2C,OAAOz1C,EAAElC,GAAG,CAAE,CAAA,MAAMiB,GAAGjB,EAAE2B,OAAOO,EAAE,CAAE,CAAA,CAAC,OAAOG,GAAGu1C,GAAG,CAAC73C,EAAEE,KAAK,IAAIsK,MAAMC,QAAQzK,GAAG,OAAO02C,GAAG12C,GAAG,MAAMsC,EAAEpC,EAAEy2B,MAAM1mB,IAAG/O,EAAE,CAAE,EAAC,IAAIiB,GAAG,EAAElC,EAAE,EAAE,IAAI,IAAIC,EAAE,EAAEA,EAAEoC,EAAEV,OAAO1B,IAAI,CAAC,MAAMsC,EAAEq0C,GAAGv0C,EAAEpC,IAAI,IAAI,IAAIoC,EAAE,EAAEA,EAAEE,EAAEZ,OAAOU,IAAIH,IAAInC,EAAEC,IAAID,EAAEC,GAAG2hC,OAAOz/B,GAAGA,EAAEnC,EAAEC,GAAG23C,MAAM12C,EAAEhB,GAAGgB,EAAEhB,IAAI,GAAGgB,EAAEhB,GAAGoC,GAAGsB,EAAE,CAAE,EAAC5D,EAAEC,GAAGid,OAAO/a,IAAInC,EAAEC,GAAG23C,IAAI,GAAG33C,IAAI,CAAC,OAAOiB,GAAG42C,GAAG,CAAC,UAAU,YAAY9mC,GAAE,eAAe,YAAY,UAAUC,GAAE,mBAAmB,iBAAiB,oBAAoB,kBAAkB,oBAAoB,iBAAiB,eAAe,KAAK,cAAc,gBAAgB,sBAAsB,aAAa,SAAS8mC,GAAG/3C,EAAEE,GAAG,MAAM0D,EAAE5D,EAAEg4C,SAAS11C,EAAEtC,EAAEi4C,aAAa,SAAS/2C,EAAElB,EAAEi4C,aAAa,MAAM91C,EAAE,mBAAmB,IAAIlC,EAAE,GAAGA,EAAE,IAAI84B,OAAO,IAAIn1B,EAAE,KAAK1D,EAAEA,EAAEk9B,QAAQn9B,EAAE,IAAIiB,GAAGhB,EAAE0B,SAAS3B,EAAE,IAAI84B,OAAO,IAAI73B,EAAEiB,EAAE,KAAKjC,EAAEA,EAAEk9B,QAAQn9B,EAAE,KAAKqC,GAAGpC,EAAE0B,OAAO,CAAC,MAAM5B,EAAEsC,EAAEq0B,MAAM,KAAK,IAAI,IAAI/yB,EAAE5D,EAAE4B,OAAOgC,KAAK3D,EAAE,IAAI84B,OAAO,MAAM/4B,EAAE4D,GAAGzB,EAAE,KAAKjC,EAAEA,EAAEk9B,QAAQn9B,EAAE,GAAG,CAAC,OAAO,IAAIC,EAAE0B,MAAM,CAAC,SAASs2C,GAAGl4C,EAAEE,GAAG,IAAI0D,GAAE,EAAG,MAAMtB,EAAEy1C,GAAG/3C,EAAEE,EAAE8G,OAAO,OAAO1E,GAAGpC,EAAE0B,SAASgC,EAAE,SAAS5D,EAAEE,GAAG,IAAI0D,EAAEtB,GAAE,EAAG,KAAKtC,EAAEm4C,eAAe,IAAIn4C,EAAEm4C,cAAcl7B,UAAU/c,EAAE0B,QAAQU,IAAIsB,EAAE1D,EAAE8G,OAAO1E,EAAEy1C,GAAG/3C,EAAEA,EAAEm4C,cAAcv0C,GAAG,OAAO,IAAI1D,EAAE0B,MAAM,CAAnJ,CAAqJ5B,EAAEE,IAAIoC,GAAGsB,GAAG,IAAI1D,EAAE0B,MAAM,CAAC,MAAMw2C,GAAGp4C,IAAI,IAAIE,EAAE,OAAO,QAAQA,EAAEy7B,GAAG37B,UAAK,IAASE,EAAEA,EAAEF,GAAG8iB,GAAG,IAAIiW,OAAO,IAAIrsB,OAAO8uB,GAAG,KAAK,MAAyE,IAAI6c,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAG,MAAMC,GAAG,IAAIlsC,OAAO8uB,GAAG,KAAKqd,GAAGhxC,OAAOgE,IAAIwsC,KAAKA,GAAGn3C,EAAE,CAAC,WAAW,KAAK,CAAC,aAAa,SAAS03C,IAAIE,GAAGjxC,OAAOgE,IAAIysC,KAAKA,GAAGp3C,EAAE,CAAC,WAAW,KAAK,CAAC,aAAa,SAAS03C,IAAIG,GAAGlxC,OAAOgE,IAAI0sC,KAAKA,GAAGr3C,EAAE,CAAC,YAAY,OAAO,IAAI,OAAO,CAAC,cAAc,OAAO,IAAI,WAAW03C,GAAGA,GAAGA,IAAII,GAAGnxC,OAAOgE,IAAI2sC,KAAKA,GAAGt3C,EAAE,CAAC,WAAW,OAAO,OAAO,CAAC,aAAa,OAAO,WAAW03C,GAAGA,IAAIK,GAAGpxC,OAAOgE,IAAI4sC,KAAKA,GAAGv3C,EAAE,CAAC,eAAe,OAAO,OAAO,CAAC,iBAAiB,OAAO,WAAW03C,GAAGA,IAAIM,GAAGrxC,OAAOgE,IAAI6sC,KAAKA,GAAGx3C,EAAE,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,cAAc,IAAI,IAAI,IAAI,IAAI,IAAI,SAAS03C,GAAGA,GAAGA,GAAGA,GAAGA,GAAGA,IAAInI,GAAG,MAAM/jC,OAAOwsC,GAAG,KAAKxsC,OAAOusC,GAAG,KAAKvsC,OAAOqsC,GAAG,KAAKrsC,OAAOssC,GAAG,KAAKtsC,OAAOmsC,GAAG,KAAKnsC,OAAOosC,GAAG,KAAKK,GAAG,MAAMzsC,OAAO+jC,GAAG,MAAM2I,GAAGvxC,OAAOgE,IAAI8sC,KAAKA,GAAGz3C,EAAE,CAAC,SAAS,SAAS,CAAC,WAAW,aAAai4C,IAAIE,GAAG,IAAItgB,OAAOqgB,IAAIE,GAAG,IAAIvgB,OAAO0X,IAAI8I,GAAG,IAAIxgB,OAAO0X,GAAG,KAAK,SAASztB,GAAGhjB,GAAG,MAAME,EAAE,GAAG,KAAKF,EAAv7BA,IAAGA,EAAEo9B,QAAQta,GAAG,QAAQsa,QAAQ,MAAM,KAAKA,QAAQ,QAAQ,KAA83Boc,CAAGx5C,GAAGo9B,QAAQ,iBAAiB,QAAQp9B,IAAIq5C,GAAG9tC,KAAKvL,GAAG,MAAM,IAAIwP,GAAG,IAAI,MAAM5L,KAAK5D,EAAEy5C,SAASF,IAAI,CAAC,MAAMv5C,EAAEs5C,GAAGziB,KAAKjzB,EAAE,IAAI,IAAI5D,EAAE,SAAS,IAAIsC,EAAEkN,EAAE,MAAMtO,EAAElB,EAAEsB,QAAQtB,KAAKA,KAAM,CAAAmC,KAAKlC,GAAGiB,GAAGsB,EAAEiB,EAAEf,EAAEgB,EAAEd,EAAEsB,GAAGjE,EAAEqb,KAAKtb,GAAG6b,WAAW7b,KAAK,OAAOmC,GAAG,IAAI,YAAYG,EAAEyX,GAAGvX,EAAEiB,GAAG,MAAM,KAAK4M,GAAE/N,EAAE0X,GAAG,CAACR,MAAMhX,GAAG,CAAC0M,EAAEzL,EAAEI,EAAEnB,IAAI,MAAM,KAAKiO,GAAErO,EAAE2X,GAAGzX,EAAEiB,GAAG,MAAM,KAAKqN,GAAExO,EAAE8X,GAAG5X,GAAG,MAAM,KAAKuO,GAAEzO,EAAE+X,GAAG7X,GAAG,MAAM,IAAI,SAASF,EAAE,CAACE,EAAEiB,EAAEf,EAAEgB,EAAEd,EAAEsB,GAAGhE,EAAEuB,KAAKa,EAAE,CAAC,OAAO4W,GAAGhZ,EAAE,CAAC,SAASw5C,GAAG15C,EAAEE,EAAE0D,EAAEtB,GAAG,MAAMpB,EAAEsJ,MAAMC,QAAQvK,GAAG,IAAIiC,EAAElC,EAAEC,EAAE,GAAGF,IAAIgR,IAAGhR,IAAIiR,IAAG/Q,IAAI8P,GAAE,CAAC,GAAG,kBAAkBhQ,EAAE,MAAM,uBAAuBE,EAAE,GAAG,oBAAoBF,EAAEC,EAAEC,IAAI8P,GAAE,KAAK9P,EAAEk9B,QAAQ,KAAK,KAAKzG,MAAM,OAAOrb,IAAIO,iBAAiB,GAAG,oBAAoB7b,EAAEC,EAAE2D,GAAGA,EAAE+1C,gBAAgB1gC,GAAGrV,EAAE+1C,gBAAgB32B,GAAG9iB,IAAI8iB,GAAG9iB,QAAQ,GAAG,YAAYF,EAAEC,EAAEC,IAAI8P,IAAG,WAAW9P,EAAE0D,IAAG,IAAKA,EAAE0T,UAAUrX,GAAE,QAAS,GAAG,YAAYD,EAAEC,EAAE4b,WAAW3b,GAAG0D,QAAG,IAASA,EAAEk0B,UAAU73B,GAAG2D,EAAEk0B,cAAc,GAAG,eAAe93B,EAAEC,EAAE,UAAUC,EAAE0P,GAAE,QAAQ1P,EAAE6P,GAAEJ,QAAO,GAAG,gBAAgB3P,GAAGA,IAAIg5B,GAAG72B,EAAEy0B,GAAG12B,EAAEoC,GAAGA,EAAE,SAAS,GAAG,eAAetC,EAAE,CAAC,MAAMA,EAAEE,EAAEwL,QAAQsF,IAAGpN,EAAE1D,EAAEwL,QAAQuF,IAAGhR,EAAE+Q,IAAGhR,GAAG,GAAG4D,GAAG,GAAGA,EAAE5D,IAAI,IAAIA,GAAG4D,GAAG,KAAK3D,EAAEgR,GAAE,KAAK,CAAC,GAAG,SAASjR,GAAG,eAAeA,GAAG,SAASA,GAAG,OAAOA,EAAE,OAAOE,EAAE,GAAG,mBAAmBF,EAAE,MAAM,oBAAoBE,EAAEiC,EAAEjB,EAAEhB,EAAEob,IAAIsb,IAAIA,GAAG12B,EAAEoC,EAAE,CAAC,MAAMrC,EAAE,GAAG,OAAOiB,GAAGmF,MAAMlE,GAAGlC,EAAEkC,CAAC,CAA+jB,MAAMy3C,GAAG,CAAC5hB,OAAO,gBAAgBhT,KAAK,eAAe,SAAS60B,GAAG75C,EAAEE,EAAEoC,GAAG,IAAItC,EAAE,MAAM,GAAG,IAAIkB,EAAEiB,EAAE,CAAA,EAAGlC,EAAEwP,EAAEzP,EAAE+c,YAAYmf,GAAG3wB,KAAKvL,EAAE+c,WAAWi7B,YAAY71C,EAAE03C,GAAG75C,EAAEm4C,cAAcj4C,EAAEoC,GAAGH,EAAEw3B,WAAWz4B,EAAEjB,EAAE22B,GAAGz0B,EAAEw3B,YAAY,MAAMn3B,EAAEoB,EAAEA,EAAEA,EAAE,CAAE,EAAC1D,EAAEsM,QAAQ,CAACtM,EAAE0D,KAAK,MAAMtB,EAAEtC,EAAEi4C,aAAar0C,GAAG,OAAOtB,IAAIpC,EAAE0D,GAAGtB,GAAGpC,CAAE,GAAE,CAAA,IAAK,SAASF,GAAG,IAAIE,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAGW,EAAE,CAAA,EAAG,IAAI,MAAMpB,KAAKhB,EAAEg4C,GAAGl4C,EAAEkB,EAAEy1B,MAAM,QAAQr0B,EAAEsB,EAAEA,EAAE,CAAA,EAAGtB,GAAGpC,EAAEgB,KAAK,OAAOoB,CAAC,CAAlJ,CAAoJtC,EAAEsC,IAAloB,SAAYtC,GAAG,MAAME,EAAE,CAAE,EAAC0D,EAAE5D,EAAEi4C,aAAa,SAAS,OAAOr0C,GAAG,iBAAiBA,EAAzN,SAAY5D,EAAEE,GAAGF,EAAEo9B,QAAQ,QAAQ,IAAIzG,MAAM,KAAK90B,SAAS7B,IAAI,IAAIA,EAAE,OAAO,MAAM4D,EAAEtB,GAAGtC,EAAE22B,MAAM,KAAKz2B,EAAE0D,EAAEozB,OAAOroB,eAAerM,EAAE00B,MAAO,GAAE,CAAkF8iB,CAAGl2C,EAAE1D,GAAG,SAASF,EAAEE,GAAGiB,OAAOqR,QAAQxS,GAAG6B,SAAS7B,IAAI,IAAI4D,EAAEtB,GAAGtC,OAAE,IAASsC,IAAIpC,EAAE0D,EAAE+K,eAAerM,EAAG,GAAE,CAA7F,CAA+FsB,EAAE1D,GAAGA,GAAGA,CAAC,CAAqc65C,CAAG/5C,IAAIwC,EAAEy5B,KAAKj8B,EAAEwd,aAAaye,GAAGz5B,EAAEy5B,KAAKz5B,EAAEw5B,MAAM96B,EAAE01B,GAAGp0B,EAAEw5B,IAAI/7B,GAAGuC,EAAEw5B,IAAI,GAAGtvB,OAAOxL,IAAI,MAAMuC,EAAE,CAAE,EAAC,IAAI,MAAMzD,KAAKwC,EAAE,CAAC,MAAMtC,EAAEk4C,GAAGp4C,GAAG4D,EAAE81C,GAAGx5C,EAAEsC,EAAExC,GAAGmC,EAAEjB,GAAGuC,EAAEvD,GAAG0D,CAAC,CAACH,GAAGA,EAAEu2C,MAA3pC,SAAYh6C,EAAEE,GAAG,MAAM0D,EAAE5D,EAAEs2B,MAAMoF,IAAI,IAAI93B,EAAE,OAAO,MAAMtB,EAAEsB,EAAE,GAAG1C,EAAE0C,EAAE,GAAGzB,EAAEyB,EAAE,GAAG3D,EAAE2D,EAAE,GAAGpB,EAAEoB,EAAE,GAAGtB,IAAIpC,EAAEuO,UAAUnM,GAAGpB,IAAIhB,EAAEwO,WAAWrI,MAAMwV,WAAW3a,IAAIA,EAAE2a,WAAW3a,IAAIiB,IAAIjC,EAAEy5B,SAAS/C,GAAGz0B,IAAIK,IAAItC,EAAEsO,WAAWhM,GAAGvC,IAAIC,EAAE85B,WAAW,WAAW/5B,EAAE,EAAEA,EAAE,CAAg7Bg6C,CAAGx2C,EAAEu2C,KAAKv2C,GAAG,MAAMf,EAAEkB,EAAEA,EAAE,CAAE,EAACzB,GAAGsB,GAAG,OAAOy4B,GAAG3wB,KAAKvL,EAAEg4C,UAAUt1C,EAAE,SAAS1C,GAAG,MAAME,EAAEs0C,GAAGh0B,cAAc,OAAOrf,OAAOqR,QAAQonC,IAAI/3C,SAAS+B,IAAI,IAAItB,EAAEpB,GAAG0C,EAAE,QAAG,IAAS5D,EAAEkB,IAAI,KAAKlB,EAAEsC,GAAG,OAAO,QAAG,IAAStC,EAAEsC,GAAG,CAAC,IAAIpC,EAAEoC,GAAG,OAAOtC,EAAEsC,GAAGpC,EAAEoC,EAAE,CAAC,GAAG,IAAItC,EAAEsC,GAAGoJ,QAAQ,QAAQ,OAAO,MAAMvJ,EAAE,IAAI6yB,GAAGh1B,EAAEsC,IAAItC,EAAEsC,GAAGH,EAAE6zB,SAASpa,GAAGzZ,EAAE4zB,WAAW/1B,EAAEkB,GAAG,IAAIw0B,QAAS,IAAG11B,CAAC,CAApR,CAAsR0C,EAAE,CAAC,MAAMw3C,GAAG,CAAC,OAAO,MAAM,QAAQ,SAAS,WAAWC,GAAG,CAAC,KAAK,MAAM,MAAMC,WAAW5F,GAAG,kBAAOh0B,GAAc,OAAO5c,EAAEA,EAAE,CAAE,EAACoI,MAAMwU,eAAe45B,GAAG35B,YAAY,CAAC,WAAA7f,CAAYZ,GAAGgM,QAAQ7K,OAAO+K,OAAOjI,KAAKm2C,GAAG35B,aAAaxc,KAAKiiC,WAAWlmC,GAAGiE,KAAKo2C,WAAW,CAAC,SAAAA,GAAY,MAAMC,GAAGt6C,EAAEu6C,GAAGr6C,GAAG+D,KAAKjE,IAAIE,EAAE+D,KAAKs2C,GAAGv6C,EAAEE,IAAIF,IAAIiE,KAAKq2C,GAAGp6C,EAAE,CAAC,OAAAsoC,CAAQxoC,GAAG,MAAMkX,MAAMhX,EAAEiX,OAAOvT,GAAGK,KAAK3B,GAAGpC,EAAE,EAAEgB,GAAG0C,EAAE,EAAEzB,EAAE8B,KAAKq2C,GAAGlsC,KAAKqG,IAAIxQ,KAAKq2C,GAAGp6C,EAAE,GAAG,EAAED,EAAEgE,KAAKs2C,GAAGnsC,KAAKqG,IAAIxQ,KAAKs2C,GAAG32C,EAAE,GAAG,EAAEpB,EAAE,IAAIL,GAAG,IAAIlC,EAAED,EAAEwkB,YAAYxkB,EAAEykB,OAAOniB,EAAEH,EAAEjB,GAAGlB,EAAE0kB,OAAOpiB,EAAEpC,EAAEiC,EAAEjB,GAAGsB,GAAGxC,EAAEw6C,cAAcl4C,EAAEpC,EAAEwP,GAAEvN,EAAEjB,EAAEoB,EAAEpC,EAAEgB,EAAEwO,GAAEzP,EAAEqC,EAAEpC,EAAEgB,EAAEjB,GAAGD,EAAE0kB,OAAOpiB,EAAEpC,EAAEgB,EAAE0C,EAAE3D,GAAGuC,GAAGxC,EAAEw6C,cAAcl4C,EAAEpC,EAAEgB,EAAE0C,EAAE8L,GAAEzP,EAAEqC,EAAEpC,EAAEwP,GAAEvN,EAAEjB,EAAE0C,EAAEtB,EAAEpC,EAAEiC,EAAEjB,EAAE0C,GAAG5D,EAAE0kB,OAAOpiB,EAAEH,EAAEjB,EAAE0C,GAAGpB,GAAGxC,EAAEw6C,cAAcl4C,EAAEoN,GAAEvN,EAAEjB,EAAE0C,EAAEtB,EAAEpB,EAAE0C,EAAE8L,GAAEzP,EAAEqC,EAAEpB,EAAE0C,EAAE3D,GAAGD,EAAE0kB,OAAOpiB,EAAEpB,EAAEjB,GAAGuC,GAAGxC,EAAEw6C,cAAcl4C,EAAEpB,EAAEwO,GAAEzP,EAAEqC,EAAEoN,GAAEvN,EAAEjB,EAAEoB,EAAEH,EAAEjB,GAAGlB,EAAE2kB,YAAY1gB,KAAK+lC,oBAAoBhqC,EAAE,CAAC,QAAAqc,GAAW,IAAIrc,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,OAAOqK,MAAMqQ,SAAS,IAAI89B,MAAMn6C,GAAG,CAAC,MAAAq4B,GAAS,MAAMnhB,MAAMlX,EAAEmX,OAAOjX,EAAEo6C,GAAG12C,EAAE22C,GAAGj4C,GAAG2B,KAAK,MAAM,CAAC,SAAS,eAAe,MAAMyI,QAAQ1M,EAAE,EAAE,SAAS0M,QAAQxM,EAAE,EAAE,UAAUwM,OAAO9I,EAAE,UAAU8I,OAAOpK,EAAE,aAAaoK,OAAO1M,EAAE,cAAc0M,OAAOxM,EAAE,UAAU,CAAC,wBAAau6C,CAAYz6C,EAAEE,EAAEgB,GAAG,MAAMiB,EAAE03C,GAAG75C,EAAEiE,KAAKy2C,gBAAgBx5C,IAAI8V,KAAK/W,EAAE,EAAEgX,IAAIzU,EAAE,EAAE0U,MAAMzT,EAAE,EAAE0T,OAAOzU,EAAE,EAAE4U,QAAQ5T,GAAE,GAAIvB,EAAES,EAAEN,EAAEH,EAAE+3C,IAAI,OAAO,IAAIj2C,KAAKL,EAAEA,EAAEA,EAAE,CAAA,EAAG1D,GAAG0C,GAAG,GAAG,CAACoU,KAAK/W,EAAEgX,IAAIzU,EAAE0U,MAAMzT,EAAE0T,OAAOzU,EAAE4U,QAAQxW,QAAQ4C,GAAGD,GAAGf,KAAK,EAAE1C,EAAEo6C,GAAG,OAAO,QAAQp6C,EAAEo6C,GAAG,kBAAkB,IAAI1c,MAAMyc,KAAKn6C,EAAEo6C,GAAG,cAAc,CAACE,GAAG,EAAEC,GAAG,IAAIv6C,EAAEo6C,GAAG,kBAAkB,IAAItC,GAAG,IAAI,IAAI,KAAK,KAAK,QAAQ,WAAWzmC,GAAGI,SAAS2oC,IAAI/oC,GAAGO,YAAYwoC,IAAI,MAAMO,GAAG,iBAAiBC,GAAG,QAAQC,GAAG,UAAUC,GAAG,aAAaC,GAAG,CAAC/6C,EAAEE,KAAK,MAAMw4B,cAAc90B,EAAE4zB,YAAYl1B,EAAE4U,MAAMhW,EAAEiW,OAAOhV,EAAEiiC,MAAMnkC,GAAGC,EAAEsC,EAAEvC,GAAGA,IAAID,EAAEwpB,GAAGvpB,EAAEm4B,sBAAsBp4B,EAAEo4B,uBAAuB,KAAK30B,EAAEjB,EAAEtC,EAAE+qB,yBAAyB7V,UAAU5S,GAAGtC,EAAE+qB,yBAAyBvoB,GAAGxC,EAAEokC,mCAAmC5gC,EAAEE,GAAGlB,EAAEgnB,GAAG,IAAItW,GAAG9Q,EAAEA,QAAG,EAAOtC,EAAEo4B,uBAAuBjjB,GAAGvS,GAAGgB,GAAGlB,EAAEJ,EAAE,EAAE4B,EAAEqlB,GAAGroB,EAAE0B,EAAET,EAAES,EAAEsW,GAAG,CAAC1W,EAAEtC,EAAEipB,kBAAiB,IAAK9V,IAAI3P,GAAGuQ,aAAa,GAAG,MAAM,CAACxQ,EAAEgQ,SAASvP,GAAGT,EAAE4P,IAAInP,GAAE,EAAG,MAAM82C,GAAG,gBAAAC,CAAiBj7C,EAAEE,GAAG,GAAG+D,KAAKi3C,oBAAoBl7C,GAAG,OAAOiE,KAAKk3C,gBAAgBj7C,EAAEF,EAAE,CAAC,mBAAAk7C,CAAoBl7C,GAAG,IAAIuD,KAAKrD,EAAEk7C,aAAax3C,EAAEy3C,SAAS/4C,GAAGtC,EAAE,OAAOE,IAAIy6C,IAAIz6C,IAAI46C,MAAMl3C,GAAGtB,IAAIsB,CAAC,CAAC,oBAAA03C,CAAqBt7C,GAAG,IAAIuD,KAAKrD,EAAE+I,QAAQia,SAAStf,IAAI5D,EAAE,OAAOE,IAAIy6C,IAAI/2C,IAAIA,EAAE+0B,kBAAkB,CAAC,cAAA4iB,CAAev7C,EAAEE,GAAG,OAAOA,EAAE+V,IAAI,CAAC,eAAAklC,CAAgBn7C,EAAEE,GAAG,MAAMqD,KAAKK,EAAEqF,OAAO3G,GAAGpC,EAAE,GAAG0D,IAAIk3C,IAAI56C,EAAEs7C,UAAU,OAAOt7C,EAAEs7C,UAAU,GAAG,IAAIx7C,EAAE4B,OAAO,OAAO,MAAMoV,KAAK9V,EAAE+V,IAAI9U,EAAE+U,MAAMjX,EAAEkX,OAAO3U,GAAGumB,GAAG/oB,EAAEsb,KAAKtb,GAAG+6C,GAAGz4C,EAAEtC,KAAKwM,QAAM,CAAGxM,EAAEE,IAAIF,EAAE0M,OAAOxM,IAAI,KAAKuD,EAAE,IAAI2P,GAAGnT,EAAEuC,GAAGE,EAAE,IAAI0Q,GAAGlS,EAAEiB,GAAGkR,IAAI5P,EAAEwQ,aAAa,IAAI,GAAGrQ,IAAI+2C,GAAG,CAAC,MAAM36C,EAAEiE,KAAKs3C,eAAer7C,EAAE,CAAC+V,KAAKxS,EAAEqmB,OAAOpnB,IAAI,MAAM,CAAConB,OAAOpnB,EAAE+4C,mBAAmB,IAAIroC,GAAG,EAAE,GAAG6C,KAAKjW,EAAE,CAAC,MAAM,CAAC8pB,OAAOpnB,EAAE0S,UAAU9S,EAAE6mB,iBAAiBlT,KAAKxS,EAAE,EAAEzD,EAAEg7C,GAAG,OAAO,YAAY,MAAMU,WAAWV,GAAG,mBAAAE,CAAoBl7C,GAAG,OAAM,CAAE,EAAEA,EAAE07C,GAAG,OAAO,eAAerqC,GAAGI,SAASiqC,IAAI,MAAMC,GAAG,CAAC,YAAYC,GAAG,CAAC,SAAS,WAAW,UAAU,gBAAgBC,GAAG,gBAAgB,MAAMC,GAAG,WAAAl7C,GAAc,IAAIV,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,IAAI+5C,GAAG17C,EAAEiE,KAAK,gBAAW,GAAQA,KAAKo3C,SAASn7C,EAAE+D,KAAK83C,eAAe,IAAIzqC,GAAG,CAAC,aAAA0qC,CAAch8C,GAAG,MAAME,EAAE0D,EAAEA,EAAE,CAACq4C,SAAQ,EAAGZ,SAASp3C,KAAKo3C,UAAUr7C,GAAG,GAAG,CAACo7C,aAAan3C,KAAKi4C,oBAAoB,eAAApzB,GAAkB7kB,KAAKg4C,SAAQ,CAAE,IAAIh4C,KAAKk4C,eAAej8C,GAAG,MAAMoC,EAAE2B,KAAKm4C,gBAAgBl8C,GAAGoC,GAAG2B,KAAKo4C,aAAan8C,EAAEoC,GAAG2B,KAAKq4C,cAAcp8C,EAAEoC,GAAG2B,KAAKi4C,oBAAoBh8C,EAAEm7C,QAAQ,CAAC,cAAAkB,CAAev8C,EAAEE,GAAG,MAAM+I,OAAOrF,GAAG1D,EAAE,MAAM,CAACgR,GAAEhB,GAAEK,GAAEH,GAAED,GAAEG,GAAEI,GAAEF,GAAEC,IAAG6K,KAAKpb,GAAGF,EAAEsS,GAAGpS,GAAGF,GAAGiE,KAAK+3C,cAAc97C,IAAIgR,GAAE,CAAC3N,KAAK,kBAAkBi5C,QAAQt8C,EAAEA,EAAEF,EAAEiJ,OAAOrF,GAAG,CAACL,KAAK,mBAAmBi5C,QAAQt8C,EAAEA,EAAEF,EAAEiJ,OAAOrF,OAAO,CAAC,SAAA64C,CAAUz8C,EAAEE,GAAG+D,KAAKy4C,YAAY18C,EAAEE,GAAG,MAAM0D,EAAEK,KAAKs4C,eAAev8C,EAAEE,GAAG+D,KAAK83C,eAAerqC,IAAI1R,EAAE4D,EAAE,CAAC,WAAA84C,CAAY18C,EAAEE,IAAI+D,KAAK83C,eAAehyC,IAAI/J,IAAI,IAAI6B,SAAS7B,GAAGA,MAAMiE,KAAK83C,eAAeY,OAAO38C,EAAE,CAAC,kBAAA48C,CAAmB58C,GAAGA,EAAE68C,QAAQh7C,SAAS3B,GAAG+D,KAAKy4C,YAAYx8C,EAAEF,IAAI,CAAC,gBAAA88C,CAAiB98C,GAAGA,EAAE68C,QAAQh7C,SAAS3B,GAAG+D,KAAKw4C,UAAUv8C,EAAEF,IAAI,CAAC,cAAAm8C,CAAen8C,GAAG,MAAMiJ,OAAO/I,EAAEqD,KAAKrC,GAAGlB,GAAGmS,OAAOhQ,GAAGjC,EAAE,GAAGgB,IAAIy5C,IAAIz5C,IAAI05C,GAAG32C,KAAK64C,iBAAiB98C,GAAGkB,IAAI25C,IAAI52C,KAAK24C,mBAAmB58C,GAAGE,EAAE0S,KAAK,gBAAgB,CAACmqC,QAAQ/8C,IAAImC,GAAGA,EAAEyQ,KAAK,uBAAuB,CAAC3J,OAAO/I,EAAE68C,QAAQ/8C,IAAIkB,IAAI45C,IAAI96C,EAAEg9C,KAAK,CAAC,MAAM97C,EAAEoB,EAAEtC,EAAE27C,IAAIz7C,EAAE0V,eAAe5V,GAAGA,EAAEi9C,eAAej9C,EAAEi9C,cAAcjB,cAAcp4C,EAAEA,EAAE,CAAA,EAAG1C,GAAG,CAAA,EAAG,CAAC+6C,SAAQ,EAAGhzC,OAAOjJ,MAAM,CAAC,CAAC,eAAAo8C,CAAgBp8C,GAAG,MAAMiJ,OAAO/I,EAAEm7C,SAASz3C,EAAEL,KAAKjB,GAAGtC,EAAEkB,EAAE0C,EAAEq3C,iBAAiBj7C,EAAEE,EAAE2V,cAAc,IAAI3U,EAAE,OAAO,MAAMiB,EAAEG,IAAIq4C,GAAG,IAAIvnC,GAAGlT,EAAE+qB,0BAA0BnB,OAAO7pB,EAAEi9C,WAAW16C,EAAE,IAAI4Q,GAAGqoC,mBAAmBh4C,EAAE,IAAI2P,IAAIlS,EAAEwB,EAAEP,EAAEsR,SAASxT,GAAGoT,IAAI7Q,GAAG4S,UAAU9S,IAAIq4C,GAAGnrC,EAAEwJ,GAAG9Y,EAAEipB,kBAAiB,GAAI9V,IAAI5P,GAAG,MAAM,CAAC05C,OAAOj8C,EAAEk8C,WAAWj7C,EAAEk7C,WAAWp9C,EAAEq9C,OAAO56C,EAAE,CAAC,YAAA25C,CAAar8C,EAAEE,GAAG,MAAM+I,OAAOrF,GAAG5D,GAAGm9C,QAAQlnC,KAAK3T,GAAG+6C,WAAWn8C,GAAGhB,EAAE,IAAIiC,EAAElC,EAAG2D,EAAE8N,IAAI,CAACwF,MAAM5U,EAAE4M,EAAEiI,OAAO7U,EAAEuB,IAAII,KAAKs5C,cAAcv9C,EAAEE,GAAGF,EAAEuD,OAAOo3C,GAAI/2C,EAAE8N,IAAI,CAACsF,KAAK,QAAQ7U,EAAEnC,EAAEkP,SAAI,IAAS/M,EAAEA,EAAEjB,EAAEgO,EAAE5M,EAAE4M,EAAE+a,GAAGrmB,EAAEwmB,SAASnT,IAAI,QAAQhX,EAAED,EAAE6D,SAAI,IAAS5D,EAAEA,EAAEiB,EAAE2C,EAAEvB,EAAEuB,EAAEomB,GAAGrmB,EAAEymB,YAAYzmB,EAAEwlB,oBAAoBloB,EAAEyO,GAAEA,IAAG/L,EAAEmd,YAAYnd,EAAE8N,IAAI,SAAQ,GAAI,CAAC,aAAA6rC,CAAcv9C,EAAEE,GAAG,MAAM+I,OAAOrF,GAAG5D,EAAE4D,EAAEgS,eAAetT,IAAIA,EAAE8hC,QAAQxgC,GAAGK,KAAKu5C,aAAax9C,EAAEE,EAAEoC,EAAG,IAAGtC,EAAEq7C,SAASC,qBAAqBt7C,IAAIiE,KAAKu5C,aAAax9C,EAAEE,EAAE0D,EAAEsf,SAAS,CAAC,YAAAs6B,CAAax9C,EAAEE,EAAE0D,GAAG,IAAI05C,OAAOh7C,GAAGpC,EAAE0D,EAAE8N,IAAI,CAACsF,KAAKpT,EAAEoT,KAAK1U,EAAE4M,EAAE+H,IAAIrT,EAAEqT,IAAI3U,EAAEuB,GAAG,CAAC,aAAAy4C,CAAct8C,EAAEE,GAAG,MAAM+I,OAAO/H,EAAEm6C,SAASl5C,EAAE85C,QAAQh8C,EAAEm7C,aAAa54C,GAAGxC,EAAEyD,EAAEnB,EAAEtC,EAAE47C,KAAKzpC,OAAOzP,GAAGxB,EAAEA,EAAE0R,KAAK,eAAe,CAACmqC,QAAQ/8C,EAAEm9C,OAAOj9C,IAAIwC,GAAGA,EAAEkQ,KAAK,sBAAsB,CAACmqC,QAAQ/8C,EAAEm9C,OAAOj9C,EAAE+I,OAAO/H,IAAI,MAAMwC,EAAExC,EAAEkmC,OAAOnnC,GAAG,MAAMyD,GAAGA,EAAEu5C,iBAAiBx5C,EAAEy2B,OAAOz2B,EAAEy2B,KAAK,KAAKz4B,KAAKP,GAAGwC,EAAEu5C,cAAcjB,cAAcp4C,EAAEA,EAAE,CAAE,EAACH,GAAG,CAAE,EAAC,CAACwF,OAAOvF,MAAMxC,EAAEwQ,IAAI,SAAQ,EAAG,CAAC,OAAAzD,GAAU,MAAM8tC,eAAe/7C,GAAGiE,KAAKjE,EAAE6B,SAAS7B,GAAGA,EAAE6B,SAAS7B,GAAGA,QAAQA,EAAEkiB,OAAO,CAAC,QAAA7F,GAAW,MAAM,CAAC9Y,KAAKs4C,GAAGR,SAASp3C,KAAKo3C,SAASz6C,YAAY2C,KAAK,CAAC,MAAAuiB,GAAS,OAAO7hB,KAAKoY,UAAU,EAAEhL,GAAGI,SAASqqC,GAAGD,IAAI,MAAM4B,GAAG,CAAC,OAAO,UAAU,iBAAiB,MAAMC,WAAW5B,GAAG,aAAAE,GAAiB,EAAC,MAAM2B,WAAWpoC,GAAGi/B,KAAK,kBAAOh0B,GAAc,OAAO5c,EAAEA,EAAE,CAAE,EAACoI,MAAMwU,eAAem9B,GAAGl9B,YAAY,CAAC,WAAA7f,GAAc,IAAIV,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAGiC,EAAEjC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAGqK,QAAQhM,EAAEiE,KAAK,iBAAiB,IAAIjE,EAAEiE,KAAK,gCAA2B,GAAQjE,EAAEiE,KAAK,iCAA4B,GAAQ9C,OAAO+K,OAAOjI,KAAK05C,GAAGl9B,aAAaxc,KAAKiiC,WAAWtiC,GAAGK,KAAK25C,UAAU19C,EAAE0D,EAAE,CAAC,SAAAg6C,CAAU59C,EAAEE,GAAG,IAAI0D,EAAEK,KAAKqR,SAAS,IAAItV,GAAGiE,KAAK45C,yBAAyB55C,KAAK65C,yBAAyBl0C,KAAK3F,MAAK,GAAIA,KAAK85C,0BAA0B95C,KAAK65C,yBAAyBl0C,KAAK3F,MAAK,GAAIA,KAAK2R,eAAe5V,IAAIiE,KAAK+5C,WAAWh+C,GAAE,EAAI,IAAGiE,KAAKg5C,cAAc,QAAQr5C,EAAE1D,EAAE+8C,qBAAgB,IAASr5C,EAAEA,EAAE,IAAIk4C,GAAG73C,KAAKg5C,cAAcjB,cAAc,CAACz4C,KAAKo3C,GAAG1xC,OAAOhF,KAAK44C,QAAQ,IAAI78C,GAAGkP,EAAEhP,EAAE8W,KAAKnT,EAAE3D,EAAE+W,KAAK,CAAC,aAAAgnC,CAAcj+C,GAAG,OAAOA,IAAIiE,MAAMA,KAAK4mC,eAAe7qC,IAAIwC,EAAE,QAAQ,4EAA2E,IAAK,IAAIyB,KAAKqR,SAAS5J,QAAQ1L,KAAKwC,EAAE,QAAQ,qFAAoF,EAAG,CAAC,iCAAA07C,CAAkCl+C,GAAG,OAAOA,EAAEsB,QAAM,CAAGtB,EAAEE,EAAE0D,IAAIK,KAAKg6C,cAAcj+C,IAAI4D,EAAE8H,QAAQ1L,KAAKE,GAAG,CAAC,GAAAmT,GAAM,IAAI,IAAIrT,EAAE2B,UAAUC,OAAO1B,EAAE,IAAIsK,MAAMxK,GAAG4D,EAAE,EAAEA,EAAE5D,EAAE4D,IAAI1D,EAAE0D,GAAGjC,UAAUiC,GAAG,MAAMtB,EAAE2B,KAAKi6C,kCAAkCh+C,GAAGgB,EAAE8K,MAAMqH,OAAO/Q,GAAG,OAAO2B,KAAKk6C,sBAAsBvD,GAAGt4C,GAAGpB,CAAC,CAAC,QAAAyU,CAAS3V,GAAG,IAAI,IAAIE,EAAEyB,UAAUC,OAAOgC,EAAE,IAAI4G,MAAMtK,EAAE,EAAEA,EAAE,EAAE,GAAGoC,EAAE,EAAEA,EAAEpC,EAAEoC,IAAIsB,EAAEtB,EAAE,GAAGX,UAAUW,GAAG,MAAMpB,EAAE+C,KAAKi6C,kCAAkCt6C,GAAGzB,EAAE6J,MAAM2J,SAAS3V,KAAKkB,GAAG,OAAO+C,KAAKk6C,sBAAsBvD,GAAG15C,GAAGiB,CAAC,CAAC,MAAA2P,GAAS,MAAM9R,EAAEgM,MAAM8F,UAAUnQ,WAAW,OAAOsC,KAAKk6C,sBAAsBtD,GAAG76C,GAAGA,CAAC,CAAC,cAAAwV,CAAexV,GAAGiE,KAAK+5C,WAAWh+C,GAAE,GAAIiE,KAAK2O,KAAK,eAAe,CAAC3J,OAAOjJ,IAAIA,EAAE4S,KAAK,QAAQ,CAAC3J,OAAOhF,MAAM,CAAC,gBAAAwR,CAAiBzV,EAAEE,GAAG+D,KAAKm6C,UAAUp+C,EAAEE,GAAG+D,KAAK2O,KAAK,iBAAiB,CAAC3J,OAAOjJ,IAAIA,EAAE4S,KAAK,UAAU,CAAC3J,OAAOhF,MAAM,CAAC,qBAAAk6C,CAAsBn+C,EAAEE,GAAG+D,KAAKg5C,cAAcjB,cAAc,CAACz4C,KAAKvD,EAAE68C,QAAQ38C,EAAE+I,OAAOhF,MAAM,CAAC,oBAAAyR,GAAuBzR,KAAK2T,KAAK,SAAQ,EAAG,CAAC,IAAAA,CAAK5X,EAAEE,GAAG,MAAM0D,EAAEK,KAAKjE,GAAG,OAAOgM,MAAM4L,KAAK5X,EAAEE,GAAG,WAAWF,GAAG4D,IAAI1D,IAAI+D,KAAKqR,UAAU,IAAIzT,SAAS+B,IAAIA,EAAEgU,KAAK5X,EAAEE,EAAG,IAAG+D,IAAI,CAAC,sBAAAo6C,GAAyB,OAAOp6C,KAAKq6C,cAAc,CAAC,SAAAC,GAAY,OAAOt6C,KAAKu6C,eAAe,GAAGv6C,KAAK6N,UAAU7N,KAAKqR,SAAS,CAAC,wBAAAwoC,CAAyB99C,EAAEE,GAAG,IAAI+I,OAAOrF,GAAG1D,EAAE,MAAMoC,EAAE2B,KAAKu6C,eAAe,GAAGx+C,EAAEsC,EAAEb,KAAKmC,GAAGK,KAAK2T,KAAK,SAAQ,QAAS,GAAGtV,EAAEV,OAAO,EAAE,CAAC,MAAM5B,EAAEsC,EAAEoJ,QAAQ9H,GAAG5D,GAAG,IAAIsC,EAAEyP,OAAO/R,EAAE,GAAGiE,KAAK2T,KAAK,SAAQ,GAAI,CAAC,CAAC,YAAA6mC,CAAaz+C,EAAEE,GAAGF,GAAGiE,KAAKw6C,cAAa,EAAGv+C,GAAGF,GAAGE,EAAEoS,GAAG,WAAWrO,KAAK45C,0BAA0B39C,EAAEoS,GAAG,aAAarO,KAAK85C,6BAA6B79C,EAAEuS,IAAI,WAAWxO,KAAK45C,0BAA0B39C,EAAEuS,IAAI,aAAaxO,KAAK85C,2BAA2B,CAAC,UAAAC,CAAWh+C,EAAEE,GAAGF,EAAEokC,OAAOpkC,EAAEokC,MAAMtyB,OAAO9R,GAAGA,EAAE4X,KAAK,SAAS3T,MAAMA,KAAKy6C,YAAY1+C,EAAEE,EAAE,CAAC,WAAAw+C,CAAY1+C,EAAEE,GAAGA,GAAGgpB,GAAGlpB,EAAEiZ,GAAGD,GAAG/U,KAAKm0B,uBAAuBp4B,EAAEo4B,wBAAwBn0B,KAAKo6C,0BAA0Br+C,EAAE+gB,YAAY/gB,EAAE4X,KAAK,QAAQ3T,MAAMjE,EAAE4X,KAAK,SAAS3T,KAAKkO,QAAQlO,KAAKw6C,cAAa,EAAGz+C,GAAG,MAAM4D,EAAEK,KAAKkO,QAAQlO,KAAKkO,OAAOq6B,iBAAiBvoC,KAAKkO,OAAOq6B,kBAAkB5oC,IAAIA,IAAI5D,GAAGA,EAAE6qC,eAAejnC,KAAKK,KAAKu6C,eAAe/8C,KAAKzB,EAAE,CAAC,SAAAo+C,CAAUp+C,EAAEE,GAAG+D,KAAK06C,WAAW3+C,EAAEE,GAAGF,EAAE4X,KAAK,cAAS,GAAQ5X,EAAE4X,KAAK,cAAS,EAAO,CAAC,UAAA+mC,CAAW3+C,EAAEE,GAAGF,EAAE4X,KAAK,aAAQ,GAAQ1X,IAAIgpB,GAAGlpB,EAAEiZ,GAAGhV,KAAKm0B,sBAAsBp4B,EAAEo4B,wBAAwBp4B,EAAE+gB,aAAa9c,KAAKw6C,cAAa,EAAGz+C,GAAG,MAAM4D,EAAEK,KAAKu6C,eAAe58C,OAAO,EAAEqC,KAAKu6C,eAAe9yC,QAAQ1L,IAAI,EAAE4D,GAAG,GAAGK,KAAKu6C,eAAezsC,OAAOnO,EAAE,EAAE,CAAC,WAAA4f,GAAc,MAAMxjB,EAAEw0C,GAAGzzC,UAAUyiB,YAAYnjB,KAAK4D,MAAM,GAAGjE,EAAE,IAAI,IAAIA,EAAE,EAAEA,EAAEiE,KAAKqR,SAAS1T,OAAO5B,IAAI,GAAGiE,KAAKqR,SAAStV,GAAGqoC,iBAAiB,OAAOpkC,KAAKkkC,YAAW,GAAG,EAAG,OAAOnoC,CAAC,CAAC,cAAAqoC,GAAiB,GAAGr8B,MAAMq8B,iBAAiB,OAAM,EAAG,IAAI,IAAIroC,EAAE,EAAEA,EAAEiE,KAAKqR,SAAS1T,OAAO5B,IAAI,GAAGiE,KAAKqR,SAAStV,GAAGqoC,iBAAiB,OAAM,EAAG,OAAM,CAAE,CAAC,UAAAD,GAAa,OAAOnkC,KAAKkkC,cAAclkC,KAAKmjC,QAAQnjC,KAAKmjC,OAAOgB,YAAY,CAAC,UAAAP,CAAW7nC,EAAEE,EAAE0D,GAAGK,KAAKmf,kBAAkBpjB,GAAG,IAAI,IAAIE,EAAE,EAAEA,EAAE+D,KAAKqR,SAAS1T,OAAO1B,IAAI,CAAC,IAAIoC,EAAE,MAAMsB,EAAEK,KAAKqR,SAASpV,GAAG,QAAQoC,EAAE2B,KAAKkO,cAAS,IAAS7P,GAAGA,EAAEs8C,wBAAwBh7C,EAAEwgC,QAAQngC,MAAMjE,EAAEqjB,OAAOrjB,EAAEoV,aAAa4D,GAAG/U,KAAKm0B,wBAAwBx0B,EAAE0gB,OAAOtkB,GAAGA,EAAEujB,WAAW3f,EAAEwgC,QAAQngC,MAAML,EAAE0gB,OAAOtkB,EAAE,CAACiE,KAAKwkC,cAAczoC,EAAEiE,KAAKif,SAAStf,EAAE,CAAC,SAAAmd,GAAY/U,MAAM+U,YAAY9c,KAAKo6C,0BAA0Bp6C,KAAK2R,eAAe5V,GAAGA,EAAE+gB,aAAa,CAAC,aAAA89B,GAAgB,IAAI7+C,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAGsC,KAAKg5C,cAAcjB,cAAcp4C,EAAE,CAACqF,OAAOhF,KAAKV,KAAKu3C,IAAI96C,GAAG,CAAC,MAAAskB,CAAOtkB,GAAGiE,KAAKwf,gBAAe,EAAGzX,MAAMsY,OAAOtkB,GAAGiE,KAAKwf,gBAAe,CAAE,CAAC,kBAAAq7B,CAAmB9+C,EAAEE,GAAG,MAAM0D,EAAEK,KAAK0b,qBAAqB,OAAO1b,KAAKqR,SAAShU,QAAM,SAAWtB,GAAG,OAAOA,EAAE+lB,iBAAkB,IAAGzK,KAAG,SAAWhZ,GAAG,MAAMpB,EAAEoB,EAAEqd,qBAAqBrd,EAAEqd,qBAAqB/b,EAAE,MAAMzB,EAAEG,EAAEtC,GAAG,YAAYE,GAAG,OAAOoC,EAAEqd,qBAAqBze,EAAEiB,CAAE,GAAE,CAAC,QAAAka,GAAW,IAAIrc,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,MAAMzB,EAAE+D,KAAKg5C,cAAc5gC,WAAW,OAAOzY,EAAEA,EAAEA,EAAE,CAAE,EAACoI,MAAMqQ,SAAS,CAAC,iBAAiB,iBAAiBrc,KAAK,gBAAgBE,EAAEm7C,UAAUp3C,KAAK0b,qBAAqB,CAACs9B,cAAc/8C,GAAG,CAAA,GAAI,CAAA,EAAG,CAACgmB,QAAQjiB,KAAK66C,mBAAmB,WAAW9+C,IAAI,CAAC,QAAAsL,GAAW,MAAM,aAAaoB,OAAOzI,KAAKoS,aAAa,KAAK,CAAC,OAAApI,GAAUhK,KAAKg5C,cAAcL,mBAAmB,CAACC,QAAQ54C,KAAK4R,aAAa5M,OAAOhF,OAAOA,KAAKu6C,eAAe,GAAGv6C,KAAK2R,eAAe5V,IAAIiE,KAAKw6C,cAAa,EAAGz+C,GAAGA,EAAEiO,SAAU,IAAGjC,MAAMiC,SAAS,CAAC,gBAAA8wC,CAAiB/+C,GAAG,IAAIiE,KAAKub,gBAAgB,MAAM,GAAG,MAAMtf,EAAEk6C,GAAGr5C,UAAUs3B,OAAOh4B,KAAK4D,MAAML,EAAE1D,EAAEwL,QAAQ,gBAAgBxL,EAAE0D,GAAG,eAAe,MAAMtB,EAAEpC,EAAE+b,KAAK,IAAI,OAAOjc,EAAEA,EAAEsC,GAAGA,CAAC,CAAC,MAAA+1B,CAAOr4B,GAAG,MAAME,EAAE,CAAC,MAAM,eAAe,QAAQ0D,EAAEK,KAAK86C,iBAAiB/+C,GAAG4D,GAAG1D,EAAEuB,KAAK,OAAOmC,GAAG,IAAI,IAAIA,EAAE,EAAEA,EAAEK,KAAKqR,SAAS1T,OAAOgC,IAAI1D,EAAEuB,KAAK,OAAOwC,KAAKqR,SAAS1R,GAAG0iB,MAAMtmB,IAAI,OAAOE,EAAEuB,KAAK,UAAUvB,CAAC,CAAC,YAAAo3B,GAAe,MAAMt3B,OAAE,IAASiE,KAAK6zB,SAAS,IAAI7zB,KAAK6zB,QAAQ,YAAYprB,OAAOzI,KAAK6zB,QAAQ,KAAK,GAAG53B,EAAE+D,KAAKqT,QAAQ,GAAG,uBAAuB,MAAM,CAACtX,EAAEiE,KAAK8zB,eAAe73B,GAAG+b,KAAK,GAAG,CAAC,aAAAkL,CAAcnnB,GAAG,MAAME,EAAE,GAAG0D,EAAEK,KAAK86C,iBAAiB/+C,GAAG4D,GAAG1D,EAAEuB,KAAK,KAAKmC,GAAG,IAAI,IAAIA,EAAE,EAAEA,EAAEK,KAAKqR,SAAS1T,OAAOgC,IAAI1D,EAAEuB,KAAK,KAAKwC,KAAKqR,SAAS1R,GAAGujB,cAAcnnB,IAAI,OAAOiE,KAAKs0B,6BAA6Br4B,EAAE,CAACkb,QAAQpb,GAAG,CAAC,iBAAOub,CAAWvb,EAAEE,GAAG,IAAIqD,KAAKrC,EAAEglB,QAAQ/jB,EAAE,GAAG86C,cAAch9C,GAAGD,EAAEwC,EAAEF,EAAEtC,EAAEy9C,IAAI,OAAO32C,QAAQuU,IAAI,CAACF,GAAGhZ,EAAEjC,GAAGub,GAAGjZ,EAAEtC,KAAK2E,MAAM7E,IAAI,IAAIE,EAAEoC,GAAGtC,EAAE,MAAMkB,EAAE,IAAI+C,KAAK/D,EAAE0D,EAAEA,EAAEA,EAAE,CAAE,EAACpB,GAAGF,GAAG,CAAA,EAAG,CAAC26C,cAAc,IAAIS,MAAM,GAAGz9C,EAAE,CAAC,MAAMD,EAAEqR,GAAGG,SAASvR,EAAEsD,MAAMrD,EAAEmR,GAAGG,SAASvR,EAAEo7C,UAAUn6C,EAAE+7C,cAAc,IAAIj9C,EAAE,IAAIE,EAAE,MAAMgB,EAAE+7C,cAAc,IAAInB,GAAG,OAAO56C,EAAE+7C,cAAcH,iBAAiB,CAACv5C,KAAKo3C,GAAG1xC,OAAO/H,EAAE27C,QAAQ37C,EAAE2U,eAAe3U,EAAE6f,YAAY7f,CAAE,GAAE,EAAElB,EAAE29C,GAAG,OAAO,SAAS39C,EAAE29C,GAAG,cAAc,CAACnmB,YAAY,EAAE8mB,gBAAe,EAAGU,aAAY,IAAK3tC,GAAGI,SAASksC,IAAI,MAAMsB,GAAG,CAACj/C,EAAEE,IAAIkO,KAAKqG,IAAIvU,EAAEgX,MAAMlX,EAAEkX,MAAMhX,EAAEiX,OAAOnX,EAAEmX,QAAQ+nC,GAAG,CAACl/C,EAAEE,IAAIkO,KAAKC,IAAInO,EAAEgX,MAAMlX,EAAEkX,MAAMhX,EAAEiX,OAAOnX,EAAEmX,QAAQgoC,GAAG,aAAaC,GAAG,GAAG1yC,OAAOyyC,GAAG,KAAKzyC,OAAO8uB,GAAG,KAAK6jB,GAAG,GAAG3yC,OAAO0yC,IAAI1yC,OAAO0yC,IAAI1yC,OAAO0yC,IAAI1yC,OAAOyyC,GAAG,UAAUzyC,OAAOyyC,GAAG,UAAUzyC,OAAO0yC,IAAI1yC,OAAO0yC,IAAIE,GAAG,CAACnxC,EAAE,IAAIyB,EAAE,KAAK2vC,GAAG,CAACv/C,EAAEE,EAAE0D,EAAEtB,EAAEpB,EAAEiB,EAAElC,EAAEuC,EAAEiB,EAAEf,EAAEgB,KAAK,MAAMd,EAAEkQ,GAAG9S,GAAGkE,EAAE+O,GAAGjT,GAAGsE,EAAEwO,GAAG5S,GAAGyD,EAAEsP,GAAG/S,GAAG8D,EAAEJ,EAAE1C,EAAEoD,EAAEhC,EAAEH,EAAEwB,EAAE1D,EAAEkO,EAAE7L,EAAEpB,EAAEoD,EAAEV,EAAEzB,EAAEwB,EAAEnB,EAAE,MAAM,CAAC,IAAIE,EAAEe,IAAIG,EAAE1C,EAAEgD,EAAE5B,EAAEH,EAAES,GAAGc,EAAED,IAAInB,EAAEpB,EAAEgD,EAAEN,EAAEzB,EAAES,GAAGoB,EAAEP,GAAGG,EAAE1C,EAAEyC,EAAErB,EAAEH,EAAEmC,GAAG6J,EAAE1K,GAAGnB,EAAEpB,EAAEyC,EAAEC,EAAEzB,EAAEmC,GAAGN,EAAEmK,EAAC,EAAGqxC,GAAG,CAACx/C,EAAEE,EAAE0D,EAAEtB,KAAK,MAAMpB,EAAEkN,KAAKiL,MAAMnZ,EAAEF,GAAGmC,EAAEiM,KAAKiL,MAAM/W,EAAEsB,GAAG,OAAOzB,GAAGjB,EAAEiB,EAAEjB,EAAE,EAAEkN,KAAKiB,IAAInO,EAAEiB,EAAC,EAAG,SAASs9C,GAAGz/C,EAAEE,EAAE0D,EAAEtB,EAAEpB,EAAEiB,EAAEK,EAAEiB,GAAG,IAAIf,EAAE,GAAGzC,EAAEy/C,sBAAsBh9C,EAAE,IAAIf,WAAWsa,OAAO3N,EAAEqxC,mBAAmBj9C,IAAI,OAAO4L,EAAEqxC,mBAAmBj9C,GAAG,MAAMgB,EAAE0K,KAAKY,KAAKpM,EAAEwL,KAAK2E,IAAI7O,EAAE,GAAGI,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,IAAIX,EAAE,EAAE3D,EAAE,GAAG4D,EAAE,EAAE1C,EAAE8C,GAAG,EAAEhE,EAAE,EAAE4D,EAAE,EAAE1C,EAAE,EAAEsB,EAAE2L,EAAE,EAAEvK,EAAE,EAAE5D,EAAE,IAAI,IAAIA,EAAE,EAAEA,EAAE,IAAIA,EAAE,CAAC,GAAGA,EAAE,IAAI2D,EAAE,EAAEzD,EAAE,GAAGoC,EAAE,EAAEH,EAAE6B,GAAG,EAAE9D,EAAE,EAAEoC,EAAE,EAAEH,EAAE,EAAEsB,EAAE0K,EAAE,EAAE7L,EAAE,EAAEpC,GAAG0C,EAAEoB,GAAG,MAAM,CAAC,GAAGpB,EAAEe,GAAG,MAAM,SAAS,MAAM3D,GAAGmO,EAAExK,EAAE,EAAE3D,GAAGA,EAAE,GAAGkE,EAAEzC,KAAKzB,GAAG,QAAQ,CAAC,MAAM4D,EAAED,EAAEA,EAAE,EAAEwK,EAAEnK,EAAE,GAAGJ,EAAE,EAAE,SAAS,MAAM1C,EAAEwC,EAAEE,GAAG3D,IAAI0D,EAAEzC,IAAI,EAAE8C,GAAG,EAAE/D,GAAGA,EAAE,GAAGiE,EAAEzC,KAAKxB,GAAG,MAAMuC,IAAImB,EAAEzC,IAAI,EAAE8C,GAAG,EAAExB,GAAGA,EAAE,GAAG0B,EAAEzC,KAAKe,EAAE,CAAC,IAAI4B,EAAEF,EAAEtC,OAAO,MAAMiC,EAAEO,EAAE8K,EAAE0wC,GAAG5/C,EAAEE,EAAE0D,EAAEtB,EAAEpB,EAAEiB,EAAEK,EAAEiB,GAAG,KAAKW,KAAK,CAAC,MAAM8K,EAAElP,EAAE6D,EAAE3D,GAAGgP,EAAEhL,EAAEE,IAAIE,EAAE,GAAGF,GAAGpE,EAAEsE,EAAE,GAAGF,GAAGlE,CAAC,CAACoE,EAAE,GAAGT,GAAG7D,EAAEsE,EAAE,GAAGT,GAAG3D,EAAEoE,EAAE,GAAGT,EAAE,GAAGrB,EAAE8B,EAAE,GAAGT,EAAE,GAAGJ,EAAE,MAAM0L,EAAE,CAAC,IAAIiE,GAAGhF,KAAKqG,OAAOnQ,EAAE,IAAI8J,KAAKqG,OAAOnQ,EAAE,KAAK,IAAI8O,GAAGhF,KAAKC,OAAO/J,EAAE,IAAI8J,KAAKC,OAAO/J,EAAE,MAAM,OAAOrE,EAAEy/C,sBAAsBpxC,EAAEqxC,mBAAmBj9C,GAAGyM,GAAGA,CAAC,CAAC,MAAM0wC,GAAG,CAAC7/C,EAAEE,EAAE0D,KAAK,IAAItB,EAAEpB,EAAEiB,EAAElC,EAAEuC,EAAEiB,EAAEf,EAAEgB,GAAGE,EAAE,MAAMhB,EAAE,EAAE5C,EAAEE,EAAE0D,EAAEtB,EAAEpB,EAAEiB,EAAElC,KAAK,GAAG,IAAI2D,GAAG,IAAItB,EAAE,MAAM,GAAG,IAAIE,EAAE,EAAEiB,EAAE,EAAEf,EAAE,EAAE,MAAMgB,EAAE0K,KAAKiB,GAAGzM,EAAE3C,EAAEsP,EAAErL,EAAE+O,GAAGrQ,GAAG0B,EAAEwO,GAAGlQ,GAAGe,EAAE,KAAKW,EAAEtE,EAAEkE,EAAEhE,GAAG8D,EAAE,KAAKM,EAAEpE,EAAEgE,EAAElE,GAAGmO,EAAEvK,GAAG,EAAEQ,EAAE9B,GAAG,EAAEuB,EAAEG,GAAG,EAAEsK,EAAE3K,GAAG,EAAEuL,EAAEf,EAAE/J,EAAE+J,EAAEtK,EAAEO,EAAEkK,EAAE,IAAIa,EAAEf,KAAK2E,IAAInP,GAAGwL,EAAEhB,KAAK2E,IAAIzQ,GAAG,GAAG4M,EAAE,EAAE,CAAC,MAAMlP,EAAEoO,KAAKY,KAAK,EAAEE,GAAGf,EAAE/J,IAAI+K,GAAGnP,EAAEoP,GAAGpP,CAAC,MAAM0C,GAAGxB,IAAIiB,GAAG,EAAE,GAAGiM,KAAKY,KAAKE,GAAGf,EAAEtK,EAAEO,EAAEkK,IAAI,MAAMgB,EAAE5M,EAAEyM,EAAEnL,EAAEoL,EAAEI,GAAG9M,EAAE0M,EAAEzL,EAAEwL,EAAEM,EAAEnL,EAAEgL,EAAEpL,EAAEsL,EAAE,GAAGxP,EAAE0P,EAAExL,EAAEoL,EAAEhL,EAAEkL,EAAE,GAAGtP,EAAE,IAAIyP,EAAE6vC,GAAG,EAAE,GAAG77C,EAAE2L,GAAGH,GAAGnL,EAAEwL,GAAGJ,GAAGQ,EAAE4vC,IAAI77C,EAAE2L,GAAGH,GAAGnL,EAAEwL,GAAGJ,IAAIzL,EAAE2L,GAAGH,IAAInL,EAAEwL,GAAGJ,GAAG,IAAIjN,GAAGyN,EAAE,EAAEA,GAAG,EAAElM,EAAE,IAAIvB,GAAGyN,EAAE,IAAIA,GAAG,EAAElM,GAAG,MAAMmM,EAAEzB,KAAKw4B,KAAKx4B,KAAK2E,IAAInD,EAAElM,EAAE,IAAIoM,EAAE,GAAGC,EAAEH,EAAEC,EAAEG,EAAE,EAAE,EAAE5B,KAAK+E,IAAIpD,EAAE,GAAG3B,KAAK+E,IAAIpD,EAAE,GAAG3B,KAAK+E,IAAIpD,EAAE,GAAG,IAAIE,EAAEN,EAAEI,EAAE,IAAI,IAAI/P,EAAE,EAAEA,EAAE6P,EAAE7P,IAAI8P,EAAE9P,GAAGu/C,GAAG5vC,EAAEM,EAAE3L,EAAEJ,EAAEiL,EAAEC,EAAEK,EAAEC,EAAEM,EAAExN,EAAEiB,GAAGjB,EAAEsN,EAAE9P,GAAG,GAAGyD,EAAEqM,EAAE9P,GAAG,GAAG2P,EAAEM,EAAEA,GAAGF,EAAE,OAAOD,CAAE,EAA7oB,CAA+oBpN,EAAE1C,EAAE0D,EAAExD,EAAEgB,EAAEiB,EAAEK,EAAEiB,EAAExD,GAAG,IAAI,IAAI2D,EAAE,EAAEtB,EAAEM,EAAEhB,OAAOgC,EAAEtB,EAAEsB,IAAIhB,EAAEgB,GAAG,IAAI5D,EAAE4C,EAAEgB,GAAG,IAAI1D,EAAE0C,EAAEgB,GAAG,IAAI5D,EAAE4C,EAAEgB,GAAG,IAAI1D,EAAE0C,EAAEgB,GAAG,IAAI5D,EAAE4C,EAAEgB,GAAG,IAAI1D,EAAE,OAAO0C,GAAGk9C,GAAG9/C,IAAI,IAAIE,EAAE,EAAE0D,EAAE,EAAEtB,EAAE,EAAEpB,EAAE,EAAE,MAAMiB,EAAE,GAAG,IAAIlC,EAAEuC,EAAE,EAAEiB,EAAE,EAAE,IAAI,MAAMf,KAAK1C,EAAE,CAAC,MAAMA,EAAE,IAAI0C,GAAG,IAAIgB,EAAE,OAAO1D,EAAE,IAAI,IAAI,IAAIA,EAAE,IAAIE,EAAEF,EAAE,IAAI4D,EAAE,IAAI,IAAI1D,EAAEF,EAAE,GAAG4D,EAAE5D,EAAE,GAAG0D,EAAE,CAAC,IAAIxD,EAAE0D,GAAG,MAAM,IAAI,IAAI5D,EAAE,IAAIE,EAAE,IAAI,IAAIA,EAAEF,EAAE,GAAG0D,EAAE,CAAC,IAAIxD,EAAE0D,GAAG,MAAM,IAAI,IAAI5D,EAAE,IAAI4D,EAAE,IAAI,IAAIA,EAAE5D,EAAE,GAAG0D,EAAE,CAAC,IAAIxD,EAAE0D,GAAG,MAAM,IAAI,IAAI5D,EAAE,IAAIE,EAAEF,EAAE,IAAI4D,EAAE,IAAI,IAAI1D,EAAEF,EAAE,GAAG4D,EAAE5D,EAAE,GAAGsC,EAAEtC,EAAE,GAAGkB,EAAElB,EAAE,GAAG0D,EAAE,CAAC,IAAIxD,EAAE0D,GAAG,MAAM,IAAI,IAAI5D,EAAE,IAAIE,EAAEF,EAAE,IAAI4D,EAAE5D,EAAE,IAAIE,EAAEF,EAAE,IAAI4D,EAAE5D,EAAE,IAAIE,EAAEF,EAAE,IAAI4D,EAAE,IAAI,IAAIpB,EAAExC,EAAE,GAAGyD,EAAEzD,EAAE,GAAGE,EAAEF,EAAE,GAAG4D,EAAE5D,EAAE,GAAG0D,EAAE,CAAC,IAAI1D,EAAE,GAAGA,EAAE,GAAGwC,EAAEiB,EAAEvD,EAAE0D,GAAG,MAAM,IAAI,IAAI5D,EAAE,IAAIE,EAAEF,EAAE,IAAI4D,EAAE5D,EAAE,IAAIE,EAAEF,EAAE,IAAI4D,EAAE,IAAI,IAAI,MAAM3D,GAAGuC,EAAE,EAAEtC,EAAEsC,EAAEiB,EAAE,EAAEG,EAAEH,IAAIjB,EAAEtC,EAAEuD,EAAEG,GAAG1D,EAAEF,EAAE,GAAG4D,EAAE5D,EAAE,GAAG0D,EAAE,CAAC,IAAIlB,EAAEiB,EAAEzD,EAAE,GAAGA,EAAE,GAAGE,EAAE0D,GAAGpB,EAAEkB,EAAE,GAAGD,EAAEC,EAAE,GAAG,MAAM,IAAI,IAAI1D,EAAE,IAAIE,EAAEF,EAAE,IAAI4D,EAAE5D,EAAE,IAAIE,EAAEF,EAAE,IAAI4D,EAAE,IAAI,IAAIpB,EAAExC,EAAE,GAAGyD,EAAEzD,EAAE,GAAGE,EAAEF,EAAE,GAAG4D,EAAE5D,EAAE,GAAG0D,EAAE,CAAC,IAAIlB,EAAEiB,EAAEvD,EAAE0D,GAAG,MAAM,IAAI,IAAI5D,EAAE,IAAIE,EAAEF,EAAE,IAAI4D,EAAE,IAAI,IAAI,MAAM3D,GAAGuC,EAAE,EAAEtC,EAAEsC,EAAEiB,EAAE,EAAEG,EAAEH,IAAIjB,EAAEtC,EAAEuD,EAAEG,GAAG1D,EAAEF,EAAE,GAAG4D,EAAE5D,EAAE,GAAG0D,EAAE,CAAC,IAAIlB,EAAEiB,EAAEvD,EAAE0D,GAAG,MAAM,IAAI,IAAI5D,EAAE,IAAIE,EAAEF,EAAE,IAAI4D,EAAE,IAAI,IAAIi8C,GAAG3/C,EAAE0D,EAAE5D,GAAG6B,SAAS7B,GAAGmC,EAAEV,KAAKzB,KAAKE,EAAEF,EAAE,GAAG4D,EAAE5D,EAAE,GAAG,MAAM,IAAI,IAAI,IAAI,IAAIE,EAAEoC,EAAEsB,EAAE1C,EAAEwC,EAAE,CAAC,KAAKA,GAAGvB,EAAEV,KAAKiC,GAAGzD,EAAEyD,EAAE,IAAIzD,EAAE,EAAE,CAAC,OAAOkC,GAAG49C,GAAG,CAAC//C,EAAEE,EAAE0D,EAAEtB,IAAI8L,KAAKY,MAAMpL,EAAE5D,IAAI,GAAGsC,EAAEpC,IAAI,GAAG0/C,GAAG,CAAC5/C,EAAEE,EAAE0D,EAAEtB,EAAEpB,EAAEiB,EAAElC,EAAEuC,IAAIiB,IAAI,MAAMf,EAAEe,GAAG,EAAEC,EAAE,CAAC1D,GAAG,EAAEA,GAAG,GAAG,EAAEA,GAAd,CAAkByD,GAAGb,EAAE,CAAC5C,GAAG,EAAEA,GAAG,EAAEA,IAAI,EAAf,CAAkByD,GAAGS,EAAE,CAAClE,IAAI,EAAEA,IAAI,EAAX,CAAcyD,GAAG,OAAO,IAAI2P,GAAGnT,EAAEyC,EAAExB,EAAEwC,EAAEE,EAAEhB,EAAE5C,EAAEkE,EAAE1B,EAAEE,EAAEP,EAAEuB,EAAEpB,EAAEM,EAAE1C,EAAEgE,EAAC,EAAGoO,GAAGtS,GAAGA,GAAG,EAAEggD,GAAGhgD,GAAG,EAAEA,GAAG,EAAEA,GAAGigD,GAAGjgD,IAAI,EAAEA,IAAI,EAAEkgD,GAAG,CAAClgD,EAAEE,EAAE0D,EAAEtB,EAAEpB,EAAEiB,EAAElC,EAAEuC,IAAIiB,IAAI,MAAMf,EAAE4P,GAAG7O,GAAGC,EAAEs8C,GAAGv8C,GAAGb,EAAEq9C,GAAGx8C,GAAGS,EAAE,GAAGtB,GAAGgB,EAAE5D,GAAG0D,GAAGxC,EAAE0C,GAAGlB,GAAGzC,EAAEiB,IAAIoD,EAAE,GAAG1B,GAAGN,EAAEpC,GAAGwD,GAAGvB,EAAEG,GAAGI,GAAGF,EAAEL,IAAI,OAAOiM,KAAKiL,MAAM/U,EAAEJ,EAAC,EAAGi8C,GAAG,CAACngD,EAAEE,EAAE0D,EAAEtB,EAAEpB,EAAEiB,IAAIlC,IAAI,MAAMuC,EAAE8P,GAAGrS,GAAGwD,EAAEu8C,GAAG//C,GAAGyC,EAAEu9C,GAAGhgD,GAAG,OAAO,IAAImT,GAAGlS,EAAEsB,EAAEoB,EAAEH,EAAEzD,EAAE0C,EAAEP,EAAEK,EAAEF,EAAEmB,EAAEvD,EAAEwC,EAAC,EAAG09C,GAAG,CAACpgD,EAAEE,EAAE0D,EAAEtB,EAAEpB,EAAEiB,IAAIlC,IAAI,MAAMuC,EAAE,EAAEvC,EAAEwD,EAAE,GAAGjB,GAAGoB,EAAE5D,GAAGC,GAAGiB,EAAE0C,IAAIlB,EAAE,GAAGF,GAAGF,EAAEpC,GAAGD,GAAGkC,EAAEG,IAAI,OAAO8L,KAAKiL,MAAM3W,EAAEe,EAAC,EAAG48C,GAAG,CAACrgD,EAAEE,EAAE0D,KAAK,IAAItB,EAAE,IAAI8Q,GAAGlT,EAAE0D,GAAG1C,EAAE,EAAE,IAAI,IAAIhB,EAAE,EAAEA,GAAG,IAAIA,GAAG,EAAE,CAAC,MAAM0D,EAAE5D,EAAEE,EAAE,KAAKgB,GAAG6+C,GAAGz9C,EAAE4M,EAAE5M,EAAEuB,EAAED,EAAEsL,EAAEtL,EAAEC,GAAGvB,EAAEsB,CAAC,CAAC,OAAO1C,GAA2NuH,GAAGzI,IAAI,IAAIE,EAAE0D,EAAEtB,EAAE,EAAEpB,EAAE,EAAEiB,EAAE,EAAElC,EAAE,EAAEuC,EAAE,EAAE,MAAMiB,EAAE,GAAG,IAAI,MAAMf,KAAK1C,EAAE,CAAC,MAAMA,EAAE,CAACkP,EAAEhO,EAAE2C,EAAE1B,EAAEm+C,QAAQ59C,EAAE,GAAGd,OAAO,GAAG,OAAOc,EAAE,IAAI,IAAI,IAAIkB,EAAE5D,EAAE4D,EAAEsL,EAAEjP,EAAEiB,EAAEwB,EAAE,GAAGkB,EAAEC,EAAErB,EAAEL,EAAEO,EAAE,GAAG,MAAM,IAAI,IAAIkB,EAAE5D,EAAE4D,EAAEhC,OAAOm+C,GAAG7+C,EAAEiB,EAAEO,EAAE,GAAGA,EAAE,IAAIxB,EAAEwB,EAAE,GAAGP,EAAEO,EAAE,GAAG,MAAM,IAAI,IAAIxC,EAAE0/C,GAAG1+C,EAAEiB,EAAEO,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAIkB,EAAE5D,EAAE4D,EAAEnB,SAASvC,EAAE0D,EAAE28C,YAAYL,GAAGh/C,EAAEiB,EAAEO,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAIkB,EAAEhC,OAAOy+C,GAAGngD,EAAEgB,EAAEiB,GAAGjB,EAAEwB,EAAE,GAAGP,EAAEO,EAAE,GAAG,MAAM,IAAI,IAAIxC,EAAEigD,GAAGj/C,EAAEiB,EAAEO,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAIkB,EAAE5D,EAAE4D,EAAEnB,SAASvC,EAAE0D,EAAE28C,YAAYH,GAAGl/C,EAAEiB,EAAEO,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAIkB,EAAEhC,OAAOy+C,GAAGngD,EAAEgB,EAAEiB,GAAGjB,EAAEwB,EAAE,GAAGP,EAAEO,EAAE,GAAG,MAAM,IAAI,IAAIkB,EAAE5D,EAAE4D,EAAE48C,MAAMvgD,EAAE2D,EAAE68C,MAAMj+C,EAAEoB,EAAEhC,OAAOm+C,GAAG7+C,EAAEiB,EAAElC,EAAEuC,GAAGtB,EAAEjB,EAAEkC,EAAEK,EAAEF,GAAGsB,EAAEhC,OAAO6B,EAAEhC,KAAKmC,EAAE,CAAC,OAAOH,EAAEhC,KAAK,CAACG,OAAOU,EAAE4M,EAAEhO,EAAE2C,EAAE1B,IAAIsB,GAAGi9C,GAAG,SAAS1gD,EAAEE,GAAG,IAAIoC,EAAEX,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG8G,GAAGzI,GAAGkB,EAAE,EAAE,KAAKhB,EAAEoC,EAAEpB,GAAGU,OAAO,GAAGV,EAAEoB,EAAEV,OAAO,GAAG1B,GAAGoC,EAAEpB,GAAGU,OAAOV,IAAI,MAAMiB,EAAEG,EAAEpB,GAAGjB,EAAEC,EAAEiC,EAAEP,OAAOY,EAAExC,EAAEkB,GAAG,OAAOiB,EAAEm+C,SAAS,IAAI,IAAI,MAAM,CAACpxC,EAAE/M,EAAE+M,EAAErL,EAAE1B,EAAE0B,EAAE2V,MAAM,GAAG,IAAI,IAAI,OAAO5V,EAAEA,EAAE,CAAE,EAAC,IAAIwP,GAAGjR,EAAE+M,EAAE/M,EAAE0B,GAAG2Q,KAAK,IAAIpB,GAAGjR,EAAEq+C,MAAMr+C,EAAEs+C,OAAOxgD,IAAI,CAAE,EAAC,CAACuZ,MAAMpL,KAAKiL,MAAMlX,EAAEs+C,MAAMt+C,EAAE0B,EAAE1B,EAAEq+C,MAAMr+C,EAAE+M,KAAK,IAAI,IAAI,OAAOtL,EAAEA,EAAE,CAAA,EAAG,IAAIwP,GAAGjR,EAAE+M,EAAE/M,EAAE0B,GAAG2Q,KAAK,IAAIpB,GAAG5Q,EAAE,GAAGA,EAAE,IAAIvC,IAAI,CAAA,EAAG,CAACuZ,MAAMpL,KAAKiL,MAAM7W,EAAE,GAAGL,EAAE0B,EAAErB,EAAE,GAAGL,EAAE+M,KAAK,IAAI,IAAI,IAAI,IAAI,MAAryC,EAAClP,EAAEE,KAAK,IAAIoC,EAAEpB,EAAE,EAAEiB,EAAE,EAAElC,EAAE,CAACiP,EAAElP,EAAEkP,EAAErL,EAAE7D,EAAE6D,GAAGrB,EAAEoB,EAAE,GAAG3D,GAAGwD,EAAE,IAAIf,EAAE,EAAE,MAAMgB,EAAE1D,EAAEyC,SAASG,EAAE5C,EAAEugD,YAAY,KAAKp+C,EAAEjC,GAAGuD,EAAE,MAAMjB,EAAEkB,EAAExC,GAAGwB,EAAExB,EAAEoB,EAAEy9C,GAAG9/C,EAAEiP,EAAEjP,EAAE4D,EAAErB,EAAE0M,EAAE1M,EAAEqB,GAAGvB,EAAEH,EAAEjC,GAAGgB,GAAGuC,EAAEA,GAAG,IAAIxD,EAAEuC,EAAEtB,GAAGuC,EAAEtB,GAAGG,GAAG,OAAOsB,EAAEA,EAAE,CAAE,EAACpB,GAAG,CAAE,EAAC,CAACgX,MAAM5W,EAAEF,IAAG,EAA0lCi+C,CAAGx+C,EAAEjC,GAAG,EAAE0gD,GAAG,IAAI7nB,OAAO,6BAA6B,MAAM8nB,GAAG,IAAI9nB,OAAOsmB,GAAG,KAAKyB,GAAG,IAAI/nB,OAAOyC,GAAG,MAAMulB,GAAG,CAAC5yC,EAAE,EAAEzK,EAAE,EAAED,EAAE,EAAEW,EAAE,EAAE1B,EAAE,EAAEkB,EAAE,EAAEmN,EAAE,EAAE/Q,EAAE,EAAEwC,EAAE,GAAGw+C,GAAGhhD,IAAI,IAAIE,EAAE,MAAM0D,EAAE,GAAGtB,EAAE,QAAQpC,EAAEF,EAAEs2B,MAAMsqB,WAAM,IAAS1gD,EAAEA,EAAE,GAAG,IAAI,MAAMF,KAAKsC,EAAE,CAAC,MAAMpC,EAAEF,EAAE,GAAG,GAAG,MAAME,GAAG,MAAMA,EAAE,CAAC0D,EAAEnC,KAAK,CAACvB,IAAI,QAAQ,CAAC,MAAMoC,EAAEy+C,GAAG7gD,EAAEyO,eAAe,IAAIzN,EAAE,GAAG,GAAG,MAAMhB,GAAG,MAAMA,EAAE,CAAC2gD,GAAGI,UAAU,EAAE,IAAI,IAAI/gD,EAAE,KAAKA,EAAE2gD,GAAGhqB,KAAK72B,IAAIkB,EAAEO,QAAQvB,EAAEiH,MAAM,GAAG,MAAMjG,EAAElB,EAAEs2B,MAAMwqB,KAAK,GAAG,IAAI,IAAI9gD,EAAE,EAAEA,EAAEkB,EAAEU,OAAO5B,GAAGsC,EAAE,CAAC,MAAMH,EAAE,IAAIqI,MAAMlI,GAAGrC,EAAEq/C,GAAGp/C,GAAGiC,EAAE,GAAGnC,EAAE,GAAGC,EAAEA,EAAEC,EAAE,IAAI,IAAIA,EAAE,EAAEA,EAAEoC,EAAEpC,IAAIiC,EAAEjC,EAAE,GAAG2b,WAAW3a,EAAElB,EAAEE,IAAI0D,EAAEnC,KAAKU,EAAE,CAAC,CAAC,OAAOyB,GAAGs9C,GAAG,SAASlhD,GAAG,IAAIE,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,EAAEiC,EAAE,IAAIwP,GAAGpT,EAAE,IAAIsC,EAAE,IAAI8Q,GAAGpT,EAAE,IAAIkB,EAAE,EAAEiB,EAAE,EAAE,MAAMlC,EAAE,GAAGuC,EAAExC,EAAE4B,OAAO6B,EAAEjB,EAAE,EAAE,IAAIE,EAAE,IAAIe,IAAIvC,EAAElB,EAAE,GAAGkP,EAAE5M,EAAE4M,GAAG,EAAElP,EAAE,GAAGkP,IAAI5M,EAAE4M,EAAE,EAAE,EAAE/M,EAAEnC,EAAE,GAAG6D,EAAEvB,EAAEuB,GAAG,EAAE7D,EAAE,GAAG6D,IAAIvB,EAAEuB,EAAE,EAAE,GAAG5D,EAAEwB,KAAK,CAAC,IAAImC,EAAEsL,EAAEhO,EAAEhB,EAAE0D,EAAEC,EAAE1B,EAAEjC,IAAIwC,EAAE,EAAEA,EAAEF,EAAEE,IAAI,CAAC,IAAIkB,EAAEuQ,GAAG7R,GAAG,CAAC,MAAMtC,EAAE4D,EAAE+Q,aAAarS,GAAGrC,EAAEwB,KAAK,CAAC,IAAImC,EAAEsL,EAAEtL,EAAEC,EAAE7D,EAAEkP,EAAElP,EAAE6D,GAAG,CAACD,EAAE5D,EAAE0C,GAAGA,EAAE,EAAE1C,EAAE4B,SAASU,EAAEtC,EAAE0C,EAAE,GAAG,CAAC,OAAOe,IAAIvC,EAAE0C,EAAEsL,EAAElP,EAAE0C,EAAE,GAAGwM,EAAE,EAAEtL,EAAEsL,IAAIlP,EAAE0C,EAAE,GAAGwM,EAAE,GAAG,EAAE/M,EAAEyB,EAAEC,EAAE7D,EAAE0C,EAAE,GAAGmB,EAAE,EAAED,EAAEC,IAAI7D,EAAE0C,EAAE,GAAGmB,EAAE,GAAG,GAAG5D,EAAEwB,KAAK,CAAC,IAAImC,EAAEsL,EAAEhO,EAAEhB,EAAE0D,EAAEC,EAAE1B,EAAEjC,IAAID,CAAC,EAAEkhD,GAAG,CAACnhD,EAAEE,IAAIF,EAAEsb,KAAKtb,GAAGA,EAAEsb,KAAK,CAACtb,EAAE4D,IAAI,IAAIA,QAAG,IAAS1D,EAAEF,EAAE4b,GAAG5b,EAAEE,KAAK+b,KAAK,OAAOA,KAAK,KAAK,SAASmlC,GAAGphD,EAAEE,GAAG,MAAM0D,EAAE5D,EAAEkd,MAAMtZ,GAAG1D,IAAI,iBAAiBA,EAAE0D,EAAE0a,SAAS,IAAIpe,EAAEiB,OAAOqR,QAAQtS,GAAG2B,SAAS7B,IAAI,IAAIE,EAAEoC,GAAGtC,EAAE,OAAO4D,EAAEy9C,YAAYnhD,EAAEoC,EAAG,IAAG,CAAg+B,IAAIg/C,GAAGngD,OAAOyK,OAAO,CAACjF,UAAU,KAAK46C,qBAAqBt4B,GAAGyhB,QAAQ9H,GAAG4e,aAAa3e,GAAG4e,uBAAuBv4B,GAAGw4B,wBAAwBllB,GAAGmlB,qBAAqBrnC,GAAGsnC,sBAAsBp4B,GAAGq4B,mBAAmBllB,GAAGmlB,gBAAgB9pC,GAAG+pC,SAASvkB,GAAGwkB,cAAcvnC,GAAGwnC,kBAAkBjiD,IAAI,IAAIE,EAAE,MAAM0D,EAAE0U,GAAGtY,GAAG,OAAO,QAAQE,EAAE0D,EAAEuJ,WAAW,aAAQ,IAASjN,GAAGA,EAAEgkB,UAAUlkB,EAAE,EAAE,GAAG4D,GAAGoP,IAAIF,GAAGovC,oBAAoB/pC,GAAGgqC,YAAY9pC,GAAG+pC,mBAAmBpoC,GAAGqoC,kBAAkBpoC,GAAGqoC,kBAAkBloC,GAAGmoC,kBAAkBloC,GAAGmoC,sBAAsBzoC,GAAG0oC,aAAanmB,GAAGomB,aAAajmB,GAAGkmB,iBAAiBhqC,GAAGiqC,WAAWlmB,GAAGmmB,KAAKrkB,GAAGskB,wBAAwBrnC,GAAGsnC,eAAe5nC,GAAG6nC,iBAAiB9D,GAAG+D,eAAehE,GAAGiE,iBAAiBzD,GAAG0D,qBAAqBtmB,GAAGumB,oBAAoB36C,GAAG46C,eAAe3C,GAAG4C,WAAWh7B,GAAGi7B,aAAvuD,CAACvjD,EAAEE,IAAIkO,KAAKa,MAAMb,KAAKo1C,UAAUtjD,EAAEF,EAAE,IAAIA,EAA8sDyjD,sBAAsB,CAACzjD,EAAEE,KAAK,MAAM0D,EAAE,EAAEwK,KAAKiB,GAAGrP,EAAE,IAAIsC,GAAG8M,EAAEpP,EAAE,GAAG,IAAIsC,GAAGsB,EAAE,GAAG,MAAM1C,EAAE,IAAIsJ,MAAMxK,EAAE,GAAG,IAAI,IAAImC,EAAE,EAAEA,EAAEnC,EAAEmC,IAAI,CAAC,MAAMnC,EAAEmC,EAAEyB,EAAEtB,GAAG4M,EAAEjP,EAAE4D,EAAErB,GAAG,IAAI4Q,GAAGN,GAAG9S,GAAGiT,GAAGjT,IAAI8T,eAAe5T,GAAGgB,EAAEiB,GAAG,CAAC,IAAIA,EAAE,IAAI,IAAIlC,EAAEuC,EAAE,CAAC,OAAOtB,EAAElB,GAAG,CAAC,KAAKkB,GAAGwiD,wBAAwBxC,GAAGyC,iBAAiB3jD,IAAI,MAAME,EAAE,CAAC,sBAAsB,QAAQ,KAAK,SAAS,OAAOF,GAAG,IAAI,iBAAiB,OAAOE,EAAEwM,OAAO,CAAC,KAAK,KAAK,KAAK,KAAK,gBAAgB,sBAAsB,IAAI,iBAAiB,OAAOxM,EAAEwM,OAAO,CAAC,gBAAgB,oBAAoB,KAAK,KAAK,IAAI,KAAK,KAAK,OAAO,IAAI,OAAO,OAAOxM,EAAEwM,OAAO,CAAC,SAAS,aAAa,iBAAiB,OAAOxM,GAAG0jD,cAAchnB,GAAGinB,iBAAiB,CAAC7jD,EAAEE,IAAIF,GAAG,IAAIA,EAAE4B,OAAO5B,EAAE,GAAG,IAAI29C,GAAG39C,EAAEE,GAAG4jD,gBAAgBrM,GAAGsM,gBAAgB/qC,GAAGgrC,iBAAiBlnB,GAAGmnB,iBAAiBprC,GAAGqrC,aAAax7B,GAAGy7B,cAAc1P,GAAG2P,SAASjD,GAAGkD,UAAU3pC,GAAG4pC,UAAU/nB,GAAGgoB,0BAA0Bx7B,GAAGy7B,gBAAgB1E,GAAG2E,YAAY1oC,GAAG2oC,eAAe,CAAC1kD,EAAEE,KAAK,IAAI0D,EAAE,IAAItB,EAAEtC,EAAEkB,EAAEhB,EAAEoC,EAAEw7B,WAAW58B,EAAE48B,WAAWx7B,EAAEpC,EAAEgB,EAAElB,GAAG2pB,GAAGzoB,EAAE,QAAQ0C,EAAE1C,EAAEkjC,aAAQ,IAASxgC,OAAE,EAAOA,EAAEw0B,sBAAsB91B,EAAE81B,uBAAuB,MAAMj2B,EAAEG,EAAEw7B,UAAU58B,EAAE48B,SAAS,OAAO37B,IAAIG,EAAEw7B,SAAS58B,EAAE48B,UAAS,GAAI,IAAI6f,GAAG,CAACr7C,GAAG,CAAC4gB,SAAShiB,EAAE48B,SAAS37B,GAAE,EAAGwiD,0BAA0B1rC,GAAG2rC,6BAA6B1rC,GAAG2rC,UAAU7D,GAAG8D,kCAAkC/tB,GAAGguB,UAAUnuB,GAAGouB,KAAKtpC,GAAGupC,sBAAsBxO,GAAGyO,YAAY5rC,GAAG6rC,iBAAiBvsC,GAAGwsC,gBAAgBvyC,GAAGwyC,0BAA0B,CAACrlD,EAAEE,KAAK,MAAM0D,EAAEoV,GAAG9Y,GAAGoC,EAAE2W,GAAGrV,EAAE5D,EAAEmpB,iBAAiBD,GAAGlpB,EAAEsC,IAAIgjD,mCAA/qF,CAACtlD,EAAEE,KAAK,IAAI0D,EAAE5D,EAAEoqC,yBAAyBpqC,EAAE25C,kBAAkB,CAAC35C,IAAI,GAAGA,EAAE25C,gBAAgB,CAAC,MAAMlgC,OAAOvZ,EAAEwZ,OAAO9V,EAAE4V,MAAMlX,EAAEqX,MAAMzY,GAAGoY,GAAGtZ,EAAE25C,iBAAiB35C,EAAEua,OAAM,EAAGva,EAAEwa,OAAM,EAAGxa,EAAE0R,IAAId,GAAE1Q,GAAGF,EAAE0R,IAAIb,GAAEjN,GAAG5D,EAAEwZ,MAAMlX,EAAEtC,EAAE2Z,MAAMzY,EAAElB,EAAE4Z,MAAM,CAAC,CAAE,EAArK,CAAuK5Z,GAAG4D,EAAEA,EAAEwR,UAAUpV,EAAE25C,yBAAyB35C,EAAE25C,gBAAgBz5C,IAAIF,EAAEyZ,QAAQvZ,EAAEuZ,OAAOzZ,EAAE0Z,QAAQxZ,EAAEwZ,OAAO1Z,EAAEulD,MAAMrlD,EAAEqlD,MAAMvlD,EAAEwlD,MAAMtlD,EAAEslD,MAAM5hD,EAAEsL,GAAGhP,EAAEulD,WAAW7hD,EAAEC,GAAG3D,EAAEwlD,UAAU1lD,EAAEkX,MAAMhX,EAAEgX,MAAMlX,EAAEmX,OAAOjX,EAAEiX,QAAQnX,EAAEopB,oBAAoBxlB,EAAE+L,GAAEA,GAAC,EAAwwEg2C,QAAhrG,SAAY3lD,GAAG,IAAIE,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,MAAMiC,EAAE1D,EAAE+gC,YAAY9xB,EAAE7M,EAAE,IAAI8B,IAAkB,gBAAElD,EAAEhB,EAAEya,OAAOxY,EAAE,WAAWG,EAAE2P,OAAO,EAAEhS,EAAE,WAAWiB,GAAGA,EAAEga,oBAAoB,QAAQ/Y,GAAGG,EAAE2Y,QAAQ3Y,EAAEsjD,UAAUz2C,CAAC,EAAE,GAAGjO,GAAGA,EAAE2Z,QAAQ,MAAM,IAAInY,EAAE,WAAW,OAAOxB,GAAGA,EAAE6Z,iBAAiB,QAAQ5Y,EAAE,CAACuQ,MAAK,IAAKpQ,EAAEujD,mBAAmB,WAAW,IAAIvjD,EAAEwjD,aAAa7lD,IAAI2D,EAAEtB,GAAGA,EAAEujD,mBAAmB12C,EAAE,EAAE7M,EAAE2Y,QAAQ3Y,EAAEsjD,UAAU3lD,EAAEqC,EAAEyjD,KAAK,MAAM/lD,GAAE,GAAIsC,EAAE0jD,OAAO1jD,CAAC,EAA0uF2jD,iBAAiBnuC,GAAGouC,qBAAqB78B,GAAG88B,YAAY,CAACnmD,EAAEE,EAAE0D,IAAI5D,EAAEkV,OAAOtR,EAAE1D,GAAGkmD,aAAa/pB,GAAGgqB,oBAAoB/8B,GAAGg9B,kBAAkB38B,GAAG48B,iBAAiB98B,GAAG+8B,kBAAkB98B,GAAG+8B,SAASrF,GAAGjuC,IAAIF,GAAGyzC,mBAAmBn9B,GAAGo9B,OAAOtP,GAAGuP,gBAAgB/O,GAAGgP,cAAclP,GAAGj/B,OAAOD,GAAGD,UAAUD,GAAGuD,QAAQF,GAAGkrC,cAAc,CAAC9mD,EAAEE,EAAE0D,KAAKA,IAAI1D,EAAE+Y,GAAG/Y,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG0D,EAAEsL,GAAGtL,EAAEC,KAAK7D,EAAEsb,KAAKtb,IAAI,MAAM4D,EAAE,IAAI5D,GAAG,IAAI,IAAIsC,EAAE,EAAEA,EAAEtC,EAAE4B,OAAO,EAAEU,GAAG,EAAE,CAAC,MAAM4M,EAAEhO,EAAE2C,EAAE1B,GAAG4W,GAAG,CAAC7J,EAAElP,EAAEsC,GAAGuB,EAAE7D,EAAEsC,EAAE,IAAIpC,GAAG0D,EAAEtB,GAAGpB,EAAE0C,EAAEtB,EAAE,GAAGH,CAAC,CAAC,OAAOyB,CAAE,KAAImjD,eAAehuC,KAAK,MAAMiuC,WAAWlpC,GAAG,WAAAld,CAAYV,GAAG,IAAIggB,oBAAoBtc,GAAE,EAAGqjD,eAAe3kD,EAAE,IAAIX,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAGqK,MAAM9L,GAAGF,EAAEiE,KAAK,aAAQ,GAAQjE,EAAEiE,KAAK,iBAAY,GAAQ,MAAMga,GAAG/c,GAAG+C,KAAK+Z,MAAM7b,EAAE8B,KAAKijD,oBAAoBjjD,KAAKkjD,MAAM,CAAClpC,GAAG9b,EAAE+b,IAAI/b,EAAEgL,WAAW,OAAOlJ,KAAKmjD,iBAAiBlmD,EAAE,CAACgf,oBAAoBtc,IAAIK,KAAKmjD,iBAAiBjlD,EAAE,CAAC+d,oBAAoBtc,EAAE0jB,OAAO,CAACnK,SAAS,WAAWnG,KAAK,IAAIC,IAAI,OAAO,MAAMhX,EAAEgE,KAAKojD,yBAAyBpnD,EAAEse,UAAUlL,IAAI/Q,GAAGpB,EAAE6b,YAAY7b,EAAE6b,WAAWuqC,aAAarnD,EAAEiB,GAAGjB,EAAEgjC,OAAO/hC,EAAEiB,GAAG8B,KAAKsjD,UAAUtnD,CAAC,CAAC,iBAAAinD,GAAoB,MAAMjpC,GAAGje,GAAGiE,KAAK+Z,MAAM9d,EAAEiY,KAAK,OAAOjY,EAAEsnD,UAAUxnD,EAAEwnD,UAAUtnD,EAAEqe,UAAUzM,OAAO,gBAAgB5R,EAAEqe,UAAUlL,IAAI,gBAAgBnT,EAAEsd,aAAa,cAAc,OAAOtd,EAAEgd,MAAMoB,QAAQte,EAAEkd,MAAMoB,QAAQpe,EAAEsd,aAAa,YAAY,QAAQtd,CAAC,CAAC,sBAAAmnD,GAAyB,MAAMrnD,EAAEmO,IAAIiK,cAAc,OAAO,OAAOpY,EAAEwd,aAAa,cAAc,WAAW4jC,GAAGphD,EAAE,CAACmd,SAAS,aAAaQ,GAAG3d,GAAGA,CAAC,CAAC,gBAAAonD,CAAiBpnD,EAAEE,GAAG,MAAMonB,OAAOhlB,EAAE4d,oBAAoBhf,GAAGhB,EAAEkhD,GAAGphD,EAAE4D,EAAEA,EAAE,CAAA,EAAGtB,GAAG,CAAA,EAAG,CAAC,eAAepB,EAAE,eAAe8O,MAAK2N,GAAG3d,EAAE,CAAC,aAAA0e,CAAc1e,EAAEE,GAAG8L,MAAM0S,cAAc1e,EAAEE,GAAG,MAAM+d,GAAGra,EAAEsa,IAAI5b,GAAG2B,KAAKkjD,MAAM5pC,GAAG3Z,EAAEtB,EAAEtC,EAAEE,EAAE,CAAC,gBAAAye,CAAiB3e,GAAGgM,MAAM2S,iBAAiB3e,GAAG0d,GAAGzZ,KAAKkjD,MAAMlpC,GAAGje,GAAG0d,GAAGzZ,KAAKsjD,UAAUvnD,EAAE,CAAC,UAAAwe,CAAWxe,GAAG,MAAME,EAAE+D,KAAKsjD,WAAWtpC,GAAGra,GAAGK,KAAK+Z,OAAOC,GAAG3b,GAAG2B,KAAKkjD,MAAMn7C,MAAMwS,WAAWxe,GAAGE,EAAEunD,YAAYnlD,GAAGpC,EAAEunD,YAAY7jD,GAAG1D,EAAE6c,YAAY7c,EAAE6c,WAAWuqC,aAAa1jD,EAAE1D,EAAE,CAAC,OAAA+N,GAAUjC,MAAMiC,UAAUjK,IAAIiK,QAAQhK,KAAKkjD,MAAMlpC,WAAWha,KAAKkjD,aAAaljD,KAAKsjD,SAAS,EAAE,MAAMG,WAAWtnC,GAAG,WAAAxf,GAAcoL,SAASrK,WAAW3B,EAAEiE,KAAK,UAAU,IAAIjE,EAAEiE,KAAK,kBAAkB,IAAIjE,EAAEiE,KAAK,wBAAmB,GAAQjE,EAAEiE,KAAK,oBAAoB,MAAMjE,EAAEiE,KAAK,iBAAiB,MAAMjE,EAAEiE,KAAK,mBAAkB,EAAG,CAAC,kBAAOuc,GAAc,OAAO5c,EAAEA,EAAE,CAAE,EAACoI,MAAMwU,eAAeknC,GAAGjnC,YAAY,CAAC,iBAAIknC,GAAgB,IAAI3nD,EAAE,OAAO,QAAQA,EAAEiE,KAAKqc,SAAS6mC,aAAQ,IAASnnD,OAAE,EAAOA,EAAEie,EAAE,CAAC,cAAI8oB,GAAa,IAAI/mC,EAAE,OAAO,QAAQA,EAAEiE,KAAKqc,SAAS6mC,aAAQ,IAASnnD,OAAE,EAAOA,EAAEke,GAAG,CAAC,aAAI0pC,GAAY,OAAO3jD,KAAKqc,SAASinC,SAAS,CAAC,YAAA7mC,CAAa1gB,GAAGiE,KAAKqc,SAAS,IAAI0mC,GAAGhnD,EAAE,CAACkgB,oBAAoBjc,KAAKic,oBAAoB+mC,eAAehjD,KAAKgjD,iBAAiBhjD,KAAKkiC,oBAAoB,CAAC,cAAA3wB,CAAexV,GAAGiE,KAAK4jD,sBAAiB,EAAO77C,MAAMwJ,eAAexV,EAAE,CAAC,gBAAAyV,CAAiBzV,GAAGiE,KAAK4jD,sBAAiB,EAAO7nD,IAAIiE,KAAKiuC,gBAAgBjuC,KAAK2O,KAAK,2BAA2B,CAACk1C,WAAW,CAAC9nD,KAAKiE,KAAK8jD,uBAAuB9jD,KAAK2O,KAAK,oBAAoB,CAACk1C,WAAW,CAAC9nD,KAAKA,EAAE4S,KAAK,aAAa,CAAC3J,OAAOjJ,KAAKA,IAAIiE,KAAK+jD,iBAAiB/jD,KAAK+jD,oBAAe,EAAO/jD,KAAKgkD,gBAAgB,IAAIj8C,MAAMyJ,iBAAiBzV,EAAE,CAAC,oBAAA0V,GAAuBzR,KAAK4jD,sBAAiB,EAAO77C,MAAM0J,sBAAsB,CAAC,sBAAAwyC,GAAyB,MAAMloD,EAAEiE,KAAKiuC,cAAc,OAAOjuC,KAAK26C,wBAAwB5+C,EAAEiE,KAAKqR,SAAShU,QAAQpB,IAAIA,EAAEkkC,OAAOlkC,IAAIF,IAAI0M,OAAO1M,GAAGiE,KAAKqR,QAAQ,CAAC,SAAA+M,GAAYpe,KAAKqe,wBAAwBre,KAAKse,aAAate,KAAKkkD,iBAAiBlkD,KAAKmkD,gBAAgBnkD,KAAKokD,gBAAgBpkD,KAAK+d,aAAa/d,KAAK8iC,YAAY9iC,KAAKkkD,iBAAgB,GAAIlkD,KAAKud,iBAAiBvd,KAAKqkD,eAAerkD,KAAK8iC,YAAY9iC,KAAKud,gBAAe,IAAKvd,KAAK4jD,mBAAmB5jD,KAAK4jD,iBAAiB5jD,KAAKikD,0BAA0BjkD,KAAKue,aAAave,KAAKkJ,aAAalJ,KAAK4jD,kBAAkB,CAAC,cAAAS,CAAetoD,GAAGA,EAAEqjB,OAAOpf,KAAKokD,eAAepkD,KAAKskD,sBAAsBtkD,KAAKukD,kBAAkBvkD,KAAKukD,iBAAiBhgB,UAAUvkC,KAAKkkD,iBAAgB,GAAIlkD,KAAKwkD,WAAWxkD,KAAKmkD,iBAAiBnkD,KAAKykD,eAAe1oD,GAAGiE,KAAKkkD,iBAAgB,GAAInoD,EAAEujB,SAAS,CAAC,SAAAolC,GAAY,MAAM3oD,EAAEiE,KAAK8iC,WAAW9iC,KAAK+d,aAAahiB,GAAGiE,KAAKqkD,eAAetoD,GAAGiE,KAAK2O,KAAK,eAAe,CAACsL,IAAIle,GAAG,CAAC,sBAAA4oD,CAAuB5oD,GAAGA,EAAEoO,KAAKwc,MAAM5qB,GAAGiE,KAAK4kD,oBAAoB7oD,EAAE,MAAME,EAAE+D,KAAK+c,mBAAmBpd,EAAEwK,KAAKw4B,MAAM,EAAE5mC,EAAE,GAAGE,GAAG+D,KAAK6kD,kBAAkB5xC,MAAMjT,KAAK6kD,kBAAkB3xC,OAAOvT,EAAEK,KAAK8kD,iBAAiBtrC,MAAMvd,EAAEA,EAAE,CAAC,mBAAA8oD,CAAoBhpD,EAAEE,EAAE0D,GAAG,MAAMtB,EAAE2B,KAAK4kD,oBAAoB3nD,EAAE+C,KAAK8kD,iBAAiB9kD,KAAK+d,aAAa9gB,GAAGA,EAAEmiB,OAAOniB,EAAE4lC,WAAW5mC,EAAEoC,GAAGsB,EAAEtB,GAAGpB,EAAEkU,aAAanR,KAAKkc,mBAAmB,MAAMhe,EAAEnC,EAAEiyC,yBAAyBjyC,EAAEiyC,yBAAyB,GAAGjyC,EAAEskB,OAAOpjB,GAAGlB,EAAEiyC,yBAAyB9vC,EAAEjB,EAAEqiB,UAAU,MAAMtjB,EAAEmO,KAAKwc,MAAMtoB,EAAE2B,KAAK+c,oBAAoB,OAAOyzB,GAAGvzC,EAAEjB,EAAEA,EAAEA,EAAE,CAAC,sBAAAgpD,CAAuBjpD,GAAG,MAAME,EAAE+D,KAAKilD,aAAa,QAAQhpD,IAAIsK,MAAMC,QAAQvK,KAAKA,EAAEsN,MAAMtN,KAAKA,IAAG,IAAKF,EAAEE,KAAKF,EAAEE,GAAG,CAAC,qBAAAipD,CAAsBnpD,EAAEE,GAAG,MAAM0D,EAAEK,KAAKmlD,mBAAmB9mD,EAAE2B,KAAKiuC,cAAc,UAAUhyC,GAAGA,GAAGoC,GAAGsB,EAAEhC,OAAO,IAAI,IAAIgC,EAAE8H,QAAQxL,IAAIoC,IAAIpC,IAAI+D,KAAKglD,uBAAuBjpD,IAAIE,IAAIA,EAAEi0C,SAASj0C,IAAIA,EAAEmX,YAAY/U,GAAGA,IAAIpC,EAAE,CAAC,sBAAAmpD,CAAuBrpD,EAAEE,EAAE0D,GAAG,IAAI5D,EAAE,OAAO,IAAIsC,EAAE,OAAOpC,IAAIyQ,IAAGzQ,IAAI0Q,IAAG1Q,IAAI2Q,IAAG3Q,IAAIqQ,GAAEjO,EAAE2B,KAAK+5B,iBAAiBh+B,EAAEg+B,gBAAgB99B,IAAImQ,KAAI/N,EAAE2B,KAAK85B,kBAAkB/9B,EAAE+9B,kBAAkBz7B,GAAGsB,EAAEA,CAAC,CAAC,oBAAA0lD,CAAqBtpD,EAAEE,GAAG,MAAM0D,EAAE,CAACsL,EAAElP,EAAEoqB,QAAQvmB,EAAE7D,EAAEqqB,SAAS,OAAOnqB,GAAG,CAAC,KAAK,KAAK,MAAMiW,SAASjW,GAAG0D,EAAEsL,EAAEa,GAAE,CAAC,KAAK,KAAK,MAAMoG,SAASjW,KAAK0D,EAAEsL,EAAEU,IAAG,CAAC,KAAK,KAAK,MAAMuG,SAASjW,GAAG0D,EAAEC,EAAEiM,GAAE,CAAC,KAAK,KAAK,MAAMqG,SAASjW,KAAK0D,EAAEC,EAAEgM,IAAGjM,GAAGA,CAAC,CAAC,sBAAA2lD,CAAuBvpD,EAAEE,EAAEoC,GAAG,IAAIpB,EAAE,MAAMiB,EAAEjC,EAAEkkC,MAAM3a,GAAGxlB,KAAKulD,cAAcxpD,QAAG,EAAOE,EAAEkkC,MAAMhM,uBAAuBn0B,KAAKulD,cAAcxpD,IAAIqI,IAAIpI,EAAE,GAAGsxC,QAAQ/uC,GAAGtC,EAAEmxC,oBAAoB,CAAA,EAAG5tC,EAAEnB,GAAGE,EAAE,QAAQtB,EAAEsB,EAAEkqC,iBAAiB1sC,EAAEE,EAAEsC,UAAK,IAAStB,OAAE,EAAOA,EAAE0I,KAAKpH,GAAG2oB,GAAGzoB,EAAE,EAAE1C,EAAEE,EAAE0D,EAAEtB,KAAK,IAAIpC,IAAIF,EAAE,MAAM,OAAO,MAAMkB,EAAEoB,EAAEyoB,SAAS7qB,GAAG,OAAOgB,EAAEgsC,cAActpC,EAAE1C,EAAEoB,EAAG,EAAxF,CAA0FA,EAAErC,EAAED,EAAEE,GAAGwD,EAAE1D,EAAEiE,KAAKwlD,aAAa7mD,EAAEqB,KAAKolD,uBAAuBnpD,EAAEwC,EAAEgB,GAAG,CAACwL,EAAES,GAAE9L,EAAE8L,IAAG1L,KAAKqlD,qBAAqBppD,EAAED,GAAGiE,EAAE,CAAC+E,OAAO/I,EAAEixC,OAAOzuC,EAAEiqC,cAAclpC,EAAEimD,iBAAgB,EAAG5+B,OAAO7qB,EAAEwZ,OAAOvZ,EAAEuZ,OAAOC,OAAOxZ,EAAEwZ,OAAOC,MAAMzZ,EAAEyZ,MAAMC,MAAM1Z,EAAE0Z,MAAM2C,QAAQpa,EAAE+M,EAAEhP,EAAE8W,KAAK6N,QAAQ1iB,EAAE0B,EAAE3D,EAAE+W,IAAImT,QAAQxnB,EAAEsM,EAAEmb,QAAQznB,EAAEiB,EAAEkqC,GAAG5rC,EAAE+M,EAAE8+B,GAAG7rC,EAAE0B,EAAE8lD,MAAMxnD,EAAE+M,EAAE06C,MAAMznD,EAAE0B,EAAEoqC,MAAMt1B,GAAGzY,EAAEsZ,OAAOtC,MAAMhX,EAAEgX,MAAMC,OAAOjX,EAAEiX,OAAO0yC,SAAS7pD,EAAE6pD,SAASC,OAAOpmD,EAAEqrC,SAASnrC,EAAEA,EAAE,CAAA,EAAG0lB,GAAGppB,IAAI,GAAG,CAACkqB,QAAQxnB,EAAEsM,EAAEmb,QAAQznB,EAAEiB,KAAKI,KAAKitC,kBAAkBhtC,EAAED,KAAK2O,KAAK,mBAAmB,CAAC1S,EAAEF,EAAEoV,UAAUlR,GAAG,CAAC,SAAA6lD,CAAU/pD,GAAGiE,KAAK0jD,cAAczqC,MAAM8sC,OAAOhqD,CAAC,CAAC,cAAA0oD,CAAe1oD,GAAG,MAAMkP,EAAEhP,EAAE2D,EAAED,EAAEqmD,OAAO3nD,EAAEi4B,OAAOr5B,GAAG+C,KAAKmkD,eAAejmD,EAAE,IAAIiR,GAAGlT,EAAE0D,GAAGwR,UAAUnR,KAAKkc,mBAAmBlgB,EAAE,IAAImT,GAAGlT,EAAEoC,EAAEsB,EAAE1C,GAAGkU,UAAUnR,KAAKkc,mBAAmB3d,EAAEyB,KAAKimD,mBAAmB,EAAE,IAAIzmD,EAAE2K,KAAKqG,IAAItS,EAAE+M,EAAEjP,EAAEiP,GAAGxM,EAAE0L,KAAKqG,IAAItS,EAAE0B,EAAE5D,EAAE4D,GAAGH,EAAE0K,KAAKC,IAAIlM,EAAE+M,EAAEjP,EAAEiP,GAAGtM,EAAEwL,KAAKC,IAAIlM,EAAE0B,EAAE5D,EAAE4D,GAAGI,KAAKkmD,iBAAiBnqD,EAAE4kB,UAAU3gB,KAAKkmD,eAAenqD,EAAE2oC,SAASllC,EAAEf,EAAEgB,EAAED,EAAEb,EAAEF,IAAIuB,KAAKimD,oBAAoBjmD,KAAKmmD,uBAAuBpqD,EAAE+oC,UAAU9kC,KAAKimD,mBAAmBlqD,EAAEspC,YAAYrlC,KAAKmmD,qBAAqB3mD,GAAGjB,EAAEE,GAAGF,EAAEkB,GAAGlB,EAAEI,GAAGJ,EAAEgyC,GAAGzzC,UAAU0oC,aAAappC,KAAK4D,KAAKjE,EAAEiE,KAAKomD,oBAAoBrqD,EAAEqsC,WAAW5oC,EAAEf,EAAEgB,EAAED,EAAEb,EAAEF,GAAG,CAAC,UAAA4nD,CAAWtqD,GAAG,GAAGiE,KAAKsmD,eAAe,OAAO,MAAMrqD,EAAE+D,KAAKumD,iBAAiBxqD,GAAG4D,EAAEK,KAAKiuC,cAAc5vC,EAAE2B,KAAKmlD,mBAAmB,GAAGnlD,KAAK44C,QAAQ,GAAGj5C,GAAGtB,EAAEV,QAAQ,EAAE,CAAC,GAAGgC,EAAE8tC,YAAYxxC,EAAEwoB,GAAG1oB,IAAI,OAAO4D,EAAE,GAAGtB,EAAEV,OAAO,GAAGqC,KAAKwmD,sBAAsB,CAAC7mD,GAAG1D,GAAG,OAAO0D,EAAE,GAAGA,IAAIK,KAAKwmD,sBAAsB,CAAC7mD,GAAG1D,GAAG,CAAC,GAAG+D,KAAK26C,uBAAuB,CAAC,MAAMt8C,EAAE2B,KAAK44C,QAAQ54C,KAAK44C,QAAQ,GAAG,MAAM37C,EAAE+C,KAAKwmD,sBAAsBxmD,KAAKqR,SAASpV,GAAG,OAAOF,EAAEiE,KAAKymD,kBAAkBxpD,GAAGA,IAAI0C,GAAGK,KAAK44C,QAAQv6C,EAAEsB,GAAG1C,CAAC,CAAC,OAAO0C,CAAC,CAAC,CAAC,OAAOK,KAAKwmD,sBAAsBxmD,KAAKqR,SAASpV,EAAE,CAAC,6BAAAyqD,CAA8B3qD,EAAEE,GAAG,IAAI0D,EAAE5D,EAAEukC,YAAY,MAAMjiC,EAAE2B,KAAKwd,UAAUvgB,EAAElB,EAAEgrB,QAAQ1oB,EAAE,GAAGpB,EAAE,CAAC,MAAMlB,EAAEE,EAAEoC,EAAEH,GAAGyB,EAAE3D,EAAEmO,KAAKiL,MAAMnZ,EAAE2D,EAAE7D,EAAE6D,EAAE3D,EAAEgP,EAAElP,EAAEkP,GAAG1M,EAAEsQ,GAAG7S,GAAGiB,EAAEuC,EAAEwP,GAAGhT,GAAGiB,EAAEwB,EAAEF,EAAEiB,EAAEC,EAAElB,EAAEiB,EAAEG,EAAE,CAAC,IAAIwP,GAAGpT,EAAEkP,EAAExL,EAAE1D,EAAE6D,EAAEnB,GAAG,IAAI0Q,GAAGlT,EAAEgP,EAAExM,EAAExC,EAAE2D,EAAEH,GAAG,IAAI0P,GAAG9Q,EAAE4M,EAAExL,EAAEpB,EAAEuB,EAAEnB,GAAG,IAAI0Q,GAAGjR,EAAE+M,EAAExM,EAAEP,EAAE0B,EAAEH,GAAG,CAAC,OAAOo/B,GAAGK,iBAAiBjjC,EAAE0D,EAAE,CAAC,YAAAgnD,CAAa5qD,EAAEE,GAAG,GAAGF,GAAGA,EAAEsX,SAAStX,EAAEm0C,SAASlwC,KAAK0mD,8BAA8B3qD,EAAEypB,GAAGvpB,OAAE,EAAO+D,KAAKkc,oBAAoB,CAAC,IAAIlc,KAAKmwC,qBAAqBp0C,EAAEo0C,oBAAoBp0C,EAAE6qD,UAAU,OAAM,EAAG,IAAI5mD,KAAK+kD,oBAAoBhpD,EAAEE,EAAEgP,EAAEhP,EAAE2D,GAAG,OAAM,CAAE,CAAC,OAAM,CAAE,CAAC,sBAAAinD,CAAuB9qD,EAAEE,GAAG,IAAI0D,EAAE5D,EAAE4B,OAAO,KAAKgC,KAAK,CAAC,MAAMtB,EAAEtC,EAAE4D,GAAG,GAAGK,KAAK2mD,aAAatoD,EAAEpC,GAAG,CAAC,GAAGmV,GAAG/S,IAAIA,EAAEg8C,eAAe,CAAC,MAAMt+C,EAAEiE,KAAK6mD,uBAAuBxoD,EAAEgT,SAASpV,GAAGF,GAAGiE,KAAK44C,QAAQp7C,KAAKzB,EAAE,CAAC,OAAOsC,CAAC,CAAC,CAAC,CAAC,qBAAAmoD,CAAsBzqD,EAAEE,GAAG,MAAM0D,EAAEK,KAAK6mD,uBAAuB9qD,EAAEE,GAAG,GAAG0D,GAAGyR,GAAGzR,IAAIA,EAAEo7C,aAAa/6C,KAAK44C,QAAQ,GAAG,CAAC,MAAM78C,EAAEiE,KAAK44C,QAAQ,IAAI,IAAI38C,EAAEF,EAAE4B,OAAO,EAAE1B,EAAE,EAAEA,IAAI,CAAC,MAAM0D,EAAE5D,EAAEE,GAAG,IAAImV,GAAGzR,KAAKA,EAAEo7C,YAAY,OAAOp7C,CAAC,CAAC,OAAO5D,EAAE,EAAE,CAAC,OAAO4D,CAAC,CAAC,gBAAA4mD,CAAiBxqD,GAAG,OAAOiE,KAAK8mD,SAAS9mD,KAAK8mD,SAAS9mD,KAAKq/C,WAAWtjD,GAAE,EAAG,CAAC,aAAAwpD,CAAcxpD,GAAG,OAAOiE,KAAK+mD,iBAAiB/mD,KAAK+mD,iBAAiB/mD,KAAKq/C,WAAWtjD,EAAE,CAAC,UAAAsjD,CAAWtjD,GAAG,IAAIE,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,IAAIA,UAAU,GAAG,MAAMiC,EAAEK,KAAK0jD,cAAcrlD,EAAEsB,EAAEub,wBAAwB,IAAIje,EAAEonB,GAAGtoB,GAAGmC,EAAEG,EAAE4U,OAAO,EAAEjX,EAAEqC,EAAE6U,QAAQ,EAAEhV,GAAGlC,IAAI4P,MAAKvN,GAAGwN,MAAKxN,IAAIrC,EAAEmO,KAAK2E,IAAIzQ,EAAE2U,IAAI3U,EAAEynB,SAASha,MAAKzN,GAAGsN,MAAKtN,IAAIH,EAAEiM,KAAK2E,IAAIzQ,EAAE0nB,MAAM1nB,EAAE0U,QAAQ/S,KAAK2a,aAAa1d,EAAEgO,EAAEhO,EAAEgO,EAAEjL,KAAKgd,QAAQjK,KAAK9V,EAAE2C,EAAE3C,EAAE2C,EAAEI,KAAKgd,QAAQhK,IAAI/W,IAAIgB,EAAEuoB,GAAGvoB,OAAE,EAAO+C,KAAKkc,oBAAoB,MAAM3d,EAAEyB,KAAK+c,mBAAmB,IAAIxe,IAAItB,EAAEgO,GAAG1M,EAAEtB,EAAE2C,GAAGrB,GAAG,MAAMiB,EAAE,IAAItB,GAAG,IAAIlC,EAAE,IAAImT,GAAG,EAAE,GAAG,IAAIA,GAAGxP,EAAEsT,MAAM/U,EAAEyB,EAAEuT,OAAOlX,GAAG,OAAOiB,EAAE2S,SAASpQ,EAAE,CAAC,kBAAAkd,CAAmB3gB,EAAEE,GAAG+D,KAAKgnD,2BAA2Bj/C,MAAM2U,mBAAmB3gB,EAAEE,GAAG+D,KAAKskD,qBAAqBtkD,KAAKukD,kBAAkBvkD,KAAKukD,iBAAiB0C,gBAAgBjnD,KAAK8iC,WAAW,CAAC,kBAAAZ,GAAqBliC,KAAK6kD,kBAAkB3wC,KAAKlU,KAAK8kD,iBAAiB9kD,KAAK6kD,kBAAkB37C,WAAW,KAAK,CAACg+C,oBAAmB,IAAKlnD,KAAK2kD,uBAAuB3kD,KAAK4kD,oBAAoB,CAAC,aAAAuC,GAAgB,OAAOnnD,KAAKqc,SAAS6mC,MAAMjpC,GAAG,CAAC,mBAAAmtC,GAAsB,OAAOpnD,KAAKqc,SAAS6mC,MAAMjpC,GAAG,CAAC,mBAAAotC,GAAsB,OAAOrnD,KAAKqc,SAAS6mC,MAAMlpC,EAAE,CAAC,eAAAuuB,GAAkB,OAAOvoC,KAAKiuC,aAAa,CAAC,gBAAAkX,GAAmB,MAAMppD,EAAEiE,KAAKiuC,cAAc,OAAO11B,GAAGxc,GAAGA,EAAE6V,aAAa7V,EAAE,CAACA,GAAG,EAAE,CAAC,oBAAAurD,CAAqBvrD,EAAEE,GAAG,IAAI0D,GAAE,EAAGtB,GAAE,EAAG,MAAMpB,EAAE+C,KAAKmlD,mBAAmBjnD,EAAE,GAAGlC,EAAE,GAAGD,EAAE6B,SAAS7B,IAAIkB,EAAEiV,SAASnW,KAAK4D,GAAE,EAAG5D,EAAE4S,KAAK,aAAa,CAAC1S,EAAEA,EAAE+I,OAAOjJ,IAAIC,EAAEwB,KAAKzB,GAAI,IAAGkB,EAAEW,SAASS,IAAItC,EAAEmW,SAAS7T,KAAKsB,GAAE,EAAGtB,EAAEsQ,KAAK,WAAW,CAAC1S,EAAEA,EAAE+I,OAAO3G,IAAIH,EAAEV,KAAKa,GAAI,IAAGtC,EAAE4B,OAAO,GAAGV,EAAEU,OAAO,GAAGU,GAAE,EAAGsB,GAAGK,KAAK2O,KAAK,oBAAoB,CAAC1S,EAAEA,EAAEsrD,SAASrpD,EAAE2lD,WAAW7nD,KAAKiB,EAAEU,OAAO,GAAGU,GAAE,EAAG2B,KAAK2O,KAAK,oBAAoB,CAAC1S,EAAEA,EAAEsrD,SAASrpD,KAAKnC,EAAE4B,OAAO,IAAIU,GAAE,EAAG2B,KAAK2O,KAAK,oBAAoB,CAAC1S,EAAEA,EAAE4nD,WAAW7nD,KAAKqC,IAAI2B,KAAK4jD,sBAAiB,EAAO,CAAC,eAAA4D,CAAgBzrD,EAAEE,GAAG,MAAM0D,EAAEK,KAAKmlD,mBAAmB9mD,EAAE2B,KAAKynD,iBAAiB1rD,EAAEE,GAAG,OAAO+D,KAAKsnD,qBAAqB3nD,EAAE1D,GAAGoC,CAAC,CAAC,gBAAAopD,CAAiB1rD,EAAEE,GAAG,MAAM0D,EAAEK,KAAKiuC,cAAc,QAAOtuC,IAAI5D,IAAOiE,KAAK8jD,qBAAqB7nD,EAAEF,IAAIiE,KAAKiuC,eAAkBlyC,EAAEozC,SAAS,CAAClzC,EAAEA,MAAM+D,KAAKiuC,cAAclyC,EAAEwc,GAAGxc,IAAI4D,IAAI5D,GAAGA,EAAE0R,IAAI,SAASzN,MAAMjE,EAAE+gB,YAAY,GAAK,CAAC,oBAAAgnC,CAAqB/nD,EAAEE,GAAG,MAAM0D,EAAEK,KAAKiuC,cAAc,QAAQtuC,IAAKA,EAAEuvC,WAAW,CAACjzC,EAAEF,EAAEmK,OAAOjK,MAAM+D,KAAKitC,mBAAmBjtC,KAAKitC,kBAAkBjoC,SAASrF,GAAGK,KAAK0nD,oBAAoB3rD,GAAGwc,GAAG5Y,IAAIA,IAAIK,KAAK+jD,iBAAiB/jD,KAAK+jD,oBAAe,GAAQ/jD,KAAKiuC,mBAAc,GAAO,EAAI,CAAC,mBAAA0Z,CAAoB5rD,GAAG,MAAME,EAAE+D,KAAKmlD,mBAAmBxlD,EAAEK,KAAKuoC,kBAAkBtsC,EAAE0B,QAAQqC,KAAK2O,KAAK,2BAA2B,CAAC1S,EAAEF,EAAE8nD,WAAW,CAAClkD,KAAK,MAAMtB,EAAE2B,KAAK8jD,qBAAqB/nD,GAAG,OAAOiE,KAAKsnD,qBAAqBrrD,EAAEF,GAAGsC,CAAC,CAAC,mBAAAqpD,CAAoB3rD,GAAG,MAAME,EAAE+D,KAAKitC,kBAAkBjtC,KAAK4nD,0BAA0B7rD,GAAGE,GAAGA,EAAE+I,SAAS/I,EAAE+I,OAAO0pC,UAAS,GAAI1uC,KAAKitC,kBAAkB,IAAI,CAAC,yBAAA2a,CAA0B7rD,GAAG,MAAME,EAAE+D,KAAKitC,kBAAkBttC,EAAE1D,EAAE+I,OAAO3G,EAAE,CAACpC,EAAEF,EAAEiJ,OAAOrF,EAAEwR,UAAUlV,EAAEixC,OAAOjxC,EAAEixC,QAAQvtC,EAAEkoD,WAAWloD,EAAEkoD,UAAS,GAAIloD,EAAEmd,YAAY7gB,EAAEwpD,kBAAkBzlD,KAAK2O,KAAK,kBAAkBtQ,GAAGsB,EAAEgP,KAAK1B,GAAE5O,GAAG,CAAC,oBAAAof,CAAqB1hB,GAAGgM,MAAM0V,qBAAqB1hB,GAAG,MAAME,EAAE+D,KAAKiuC,cAAchyC,GAAGA,EAAE6gB,WAAW,CAAC,OAAAoH,GAAU,MAAMnoB,EAAEiE,KAAKiuC,cAAc11B,GAAGxc,KAAKA,EAAEu+C,YAAYv+C,EAAEiO,kBAAkBhK,KAAKiuC,cAAclmC,MAAMmc,UAAUlkB,KAAK8kD,iBAAiB,KAAK9kD,KAAK6kD,uBAAkB,CAAM,CAAC,KAAA5mC,GAAQje,KAAK2nD,sBAAsB3nD,KAAKiuC,mBAAc,EAAOjuC,KAAK+d,aAAa/d,KAAK8iC,YAAY/6B,MAAMkW,OAAO,CAAC,YAAAe,CAAajjB,GAAG,MAAME,EAAE+D,KAAKiuC,cAAchyC,GAAGA,EAAEsyC,gBAAgBxyC,EAAE,CAAC,SAAAgmB,CAAUhmB,EAAEE,EAAE0D,GAAG,MAAMtB,EAAE2B,KAAK8nD,+BAA+B/rD,GAAGkB,EAAE8K,MAAMga,UAAUhmB,EAAEE,EAAE0D,GAAG,OAAO5D,EAAE0R,IAAIpP,GAAGpB,CAAC,CAAC,8BAAA6qD,CAA+B/rD,GAAG,MAAMokC,MAAMlkC,GAAGF,EAAE,GAAGE,GAAGsc,GAAGtc,IAAI+D,KAAKiuC,gBAAgBhyC,EAAE,CAAC,MAAM0D,EAAE8X,GAAG1b,EAAE,CAAC,QAAQ,QAAQ,QAAQ4P,GAAEgB,GAAEC,GAAEC,GAAEC,GAAElB,KAAI,OAAOoZ,GAAGjpB,EAAEE,EAAEipB,iBAAiBvlB,CAAC,CAAC,MAAM,CAAA,CAAE,CAAC,aAAA2jB,CAAcvnB,EAAEE,EAAE0D,GAAG,MAAMtB,EAAE2B,KAAK8nD,+BAA+B7rD,GAAG8L,MAAMub,cAAcvnB,EAAEE,EAAE0D,GAAG1D,EAAEwR,IAAIpP,EAAE,EAAEtC,EAAE0nD,GAAG,cAAc,CAACpZ,gBAAe,EAAGD,YAAY,WAAWrQ,iBAAgB,EAAGD,kBAAiB,EAAG0rB,YAAY,SAASvZ,aAAa,WAAWuY,WAAU,EAAGS,aAAa,WAAWiB,eAAe,2BAA2BE,mBAAmB,GAAGD,qBAAqB,2BAA2BF,mBAAmB,EAAE8B,yBAAwB,EAAG1X,YAAY,OAAOC,WAAW,OAAO0X,cAAc,UAAUC,kBAAkB,YAAYC,iBAAiB,cAAc/X,oBAAmB,EAAGyU,oBAAoB,EAAE0B,gBAAe,EAAG6B,iBAAgB,EAAGC,gBAAe,EAAGC,iBAAgB,EAAGC,qBAAoB,EAAGtF,eAAe,mBAAmBrI,wBAAuB,IAAK,MAAM4N,GAAG,WAAA5rD,CAAYV,GAAGF,EAAEiE,KAAK,UAAU,IAAIjE,EAAEiE,KAAK,kBAAa,GAAQ,MAAML,EAAE,KAAK,MAAM6oD,eAAezsD,GAAGE,EAAEssC,mBAAmB,CAAA,EAAGxsC,GAAGA,EAAE0sD,OAAK,EAAIpqD,EAAEpC,EAAEynD,cAAcrlD,EAAEyY,iBAAiB,QAAQnX,GAAGK,KAAK0oD,WAAW,IAAIrqD,EAAE4Y,oBAAoB,QAAQtX,EAAE,CAAC,eAAAgpD,GAAkB3oD,KAAKgF,YAAO,EAAOhF,KAAK44C,QAAQh7C,SAAS7B,IAAIA,EAAE6qD,WAAW7qD,EAAE6sD,aAAc,GAAE,CAAC,GAAAx5C,CAAIrT,GAAGiE,KAAK44C,QAAQp7C,KAAKzB,EAAE,CAAC,MAAA8R,CAAO9R,GAAGiE,KAAKk+B,WAAWniC,GAAG6S,GAAG5O,KAAK44C,QAAQ78C,EAAE,CAAC,QAAA+hC,CAAS/hC,GAAGiE,KAAKgF,OAAOjJ,CAAC,CAAC,UAAAmiC,CAAWniC,GAAGA,IAAIiE,KAAKgF,SAAShF,KAAKgF,YAAO,EAAO,CAAC,WAAA6jD,CAAY9sD,GAAG,IAAIE,GAAG,QAAQA,EAAE+D,KAAKgF,cAAS,IAAS/I,OAAE,EAAOA,EAAE2qD,YAAY5mD,KAAKgF,OAAO8jD,2BAA2B/sD,EAAE,CAAC,KAAAkiB,GAAQje,KAAK44C,QAAQ,GAAG54C,KAAKgF,YAAO,CAAM,CAAC,OAAAgF,GAAUhK,KAAKie,QAAQje,KAAK0oD,oBAAoB1oD,KAAK0oD,UAAU,EAAE,MAAMK,GAAG,CAAC,SAAS,YAAY,aAAa,KAAKC,GAAG,CAACC,SAAQ,GAAIC,GAAG,CAACntD,EAAEE,KAAK,MAAM0D,EAAE5D,EAAEwqD,iBAAiBtqD,GAAGoC,EAAEtC,EAAEwpD,cAActpD,GAAG,MAAM,CAACktD,cAAcxpD,EAAEypD,WAAW/qD,EAAEmoB,QAAQ7mB,EAAE0pD,gBAAgBhrD,EAAC,EAAGirD,GAAG,SAASvtD,GAAG,IAAI,IAAIE,EAAEyB,UAAUC,OAAOgC,EAAE,IAAI4G,MAAMtK,EAAE,EAAEA,EAAE,EAAE,GAAGoC,EAAE,EAAEA,EAAEpC,EAAEoC,IAAIsB,EAAEtB,EAAE,GAAGX,UAAUW,GAAG,OAAOtC,EAAE+a,oBAAoBnX,EAAE,EAAE4pD,GAAG,SAASxtD,GAAG,IAAI,IAAIE,EAAEyB,UAAUC,OAAOgC,EAAE,IAAI4G,MAAMtK,EAAE,EAAEA,EAAE,EAAE,GAAGoC,EAAE,EAAEA,EAAEpC,EAAEoC,IAAIsB,EAAEtB,EAAE,GAAGX,UAAUW,GAAG,OAAOtC,EAAEkb,uBAAuBtX,EAAE,EAAE6pD,GAAG,CAACC,MAAM,CAACC,GAAG,OAAOC,IAAI,MAAMC,SAAS,YAAYC,UAAU,WAAWC,SAAS,aAAaC,UAAU,aAAaC,KAAK,CAACN,GAAG,QAAQC,IAAI,QAAQC,SAAS,YAAYC,UAAU,YAAYC,SAAS,aAAaC,UAAU,eAAe,MAAME,WAAWxG,GAAG,WAAA9mD,CAAYV,GAAG8L,MAAM9L,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,GAAI3B,EAAEiE,KAAK,gBAAW,GAAQjE,EAAEiE,KAAK,qBAAqB,IAAIuoD,GAAGvoD,OAAO,CAAC,eAAe,gBAAgB,eAAe,aAAa,cAAc,YAAY,gBAAgB,cAAc,gBAAgB,iBAAiB,WAAW,eAAe,aAAa,kBAAkB,cAAc,eAAe,eAAe,WAAWpC,SAAS7B,IAAIiE,KAAKjE,GAAGiE,KAAKjE,GAAG4J,KAAK3F,KAAM,IAAGA,KAAKkqD,YAAYZ,GAAG,MAAM,CAAC,eAAAa,GAAkB,OAAOnqD,KAAKsoD,oBAAoB,UAAU,OAAO,CAAC,WAAA4B,CAAYnuD,EAAEE,GAAG,MAAM0D,EAAEK,KAAK0jD,cAAcrlD,EAAE2B,KAAKmqD,kBAAkBpuD,EAAEqd,GAAGzZ,GAAG,SAASK,KAAKoqD,WAAWruD,EAAE4D,EAAEtB,EAAE,OAAO2B,KAAKqqD,cAActuD,EAAE4D,EAAE,GAAG8I,OAAOpK,EAAE,QAAQ2B,KAAKsqD,aAAatB,IAAIjtD,EAAE4D,EAAE,GAAG8I,OAAOpK,EAAE,OAAO2B,KAAKuqD,aAAaxuD,EAAE4D,EAAE,GAAG8I,OAAOpK,EAAE,SAAS2B,KAAKwqD,eAAezuD,EAAE4D,EAAE,QAAQK,KAAKyqD,eAAe1uD,EAAE4D,EAAE,cAAcK,KAAK0qD,gBAAgB3uD,EAAE4D,EAAE,QAAQK,KAAK2qD,UAAU5uD,EAAE4D,EAAE,WAAWK,KAAK2qD,UAAU5uD,EAAE4D,EAAE,YAAYK,KAAK4qD,cAAc7uD,EAAE4D,EAAE,UAAUK,KAAK6qD,YAAY9uD,EAAE4D,EAAE,WAAWK,KAAK8qD,aAAa/uD,EAAE4D,EAAE,YAAYK,KAAK+qD,cAAchvD,EAAE4D,EAAE,YAAYK,KAAKgrD,cAAcjvD,EAAE4D,EAAE,OAAOK,KAAKirD,SAASjrD,KAAKsoD,qBAAqBvsD,EAAE4D,EAAE,aAAaK,KAAKkrD,cAAclC,GAAG,CAAC,eAAAmC,GAAkBnrD,KAAKkqD,YAAYX,GAAG,UAAU,MAAMxtD,EAAEiE,KAAKmqD,kBAAkBluD,EAAEwc,GAAGzY,KAAK0jD,eAAe6F,GAAGttD,EAAE,GAAGwM,OAAO1M,EAAE,MAAMiE,KAAKorD,YAAY7B,GAAGttD,EAAE,WAAW+D,KAAKqrD,YAAYrC,IAAIO,GAAGttD,EAAE,GAAGwM,OAAO1M,EAAE,QAAQiE,KAAKsqD,aAAatB,IAAIO,GAAGttD,EAAE,YAAY+D,KAAKsqD,aAAatB,IAAIsC,aAAatrD,KAAKurD,kBAAkB,CAAC,aAAAd,CAAc1uD,GAAGiE,KAAKwrD,eAAezvD,EAAE,CAAC,WAAAwuD,CAAYxuD,GAAG,MAAME,EAAE+D,KAAK+jD,eAAe1lD,EAAEsB,EAAE,CAAC1D,EAAEF,GAAGmtD,GAAGlpD,KAAKjE,IAAIiE,KAAK2O,KAAK,YAAYhP,EAAEA,EAAE,CAAA,EAAGtB,GAAG,GAAG,CAAC2G,OAAO/I,KAAK+D,KAAK+jD,oBAAe,EAAO9nD,GAAGA,EAAE0S,KAAK,WAAWhP,EAAE,GAAGtB,IAAI2B,KAAKgkD,gBAAgBpmD,SAAS7B,IAAIiE,KAAK2O,KAAK,YAAYhP,EAAEA,EAAE,CAAA,EAAGtB,GAAG,CAAA,EAAG,CAAC2G,OAAOjJ,KAAKA,GAAGA,EAAE4S,KAAK,WAAWhP,EAAE,CAAE,EAACtB,GAAI,IAAG2B,KAAKgkD,gBAAgB,EAAE,CAAC,aAAAwG,CAAczuD,GAAGiE,KAAKitC,mBAAmBjtC,KAAKqmD,WAAWtqD,KAAKiE,KAAK2O,KAAK,aAAahP,EAAE,CAAC1D,EAAEF,GAAGmtD,GAAGlpD,KAAKjE,KAAKiE,KAAK+jD,oBAAe,EAAO/jD,KAAKgkD,gBAAgB,GAAG,CAAC,YAAA4G,CAAa7uD,GAAGiE,KAAKyrD,UAAS,EAAG,MAAMxvD,EAAE+D,KAAKuoC,kBAAkB,GAAGtsC,GAAGA,EAAEozC,YAAYtzC,GAAG,CAACiE,KAAK0rD,YAAYzvD,EAAE,MAAM0D,EAAE,CAAC1D,EAAEF,EAAEiJ,OAAO/I,GAAG,OAAO+D,KAAK2O,KAAK,YAAYhP,GAAG1D,EAAE0S,KAAK,YAAYhP,QAAQ2pD,GAAGtpD,KAAK0jD,cAAc,OAAO1jD,KAAK2rD,gBAAgB,CAAChnC,GAAG5oB,EAAE,CAAC,kBAAA6vD,CAAmB7vD,EAAEE,EAAE0D,GAAG,IAAItB,GAAE,EAAG,MAAMpB,EAAE+C,KAAK6rD,YAAY5uD,GAAGA,IAAIhB,GAAGgB,IAAI0C,IAAI1C,EAAEgyC,kBAAkB5wC,GAAE,GAAI,MAAMpC,GAAGA,EAAEgzC,kBAAkBtvC,IAAI1D,IAAI,MAAM0D,GAAGA,EAAEsvC,mBAAmB,MAAM/wC,EAAE8B,KAAK8iC,WAAW5kC,EAAEkhB,OAAOlhB,EAAEiT,aAAanR,KAAKkc,mBAAmBjgB,IAAIiC,EAAEkhB,OAAOnjB,EAAEkV,UAAUjT,GAAGjC,EAAEszC,uBAAuBxzC,GAAGmC,EAAEohB,UAAUjhB,GAAE,GAAIsB,IAAIzB,EAAEkhB,OAAOzf,EAAEwR,UAAUjT,GAAGyB,EAAE6vC,uBAAuBzzC,GAAGmC,EAAEohB,UAAUjhB,GAAE,GAAIH,EAAEohB,UAAUjhB,IAAI2B,KAAKkkD,iBAAgB,EAAG,CAAC,UAAA2G,CAAW9uD,GAAG,MAAME,IAAIF,EAAE+vD,cAAc/vD,EAAE+vD,aAAaC,aAAahgD,GAAEpM,EAAE1D,EAAE+D,KAAKiuC,mBAAc,EAAO5vC,EAAE,CAACpC,EAAEF,EAAEiJ,OAAOhF,KAAK0rD,YAAYM,WAAWhsD,KAAK44C,QAAQqT,WAAWjsD,KAAK0rD,YAAYQ,QAAQjwD,EAAEkwD,WAAWxsD,GAAG4pD,GAAGvpD,KAAK0jD,cAAc,OAAO1jD,KAAK2rD,iBAAiB3rD,KAAK2O,KAAK,UAAUtQ,GAAG2B,KAAK0rD,aAAa1rD,KAAK0rD,YAAY/8C,KAAK,UAAUtQ,UAAU2B,KAAK0rD,YAAY1rD,KAAKorD,WAAWrvD,EAAE,CAAC,eAAA4vD,CAAgB5vD,GAAG,MAAME,EAAE,CAACA,EAAEF,EAAEiJ,OAAOhF,KAAK0rD,YAAYO,WAAWjsD,KAAK0rD,YAAYS,WAAWnsD,KAAKosD,oBAAoBpsD,KAAK2O,KAAK,OAAO1S,GAAG+D,KAAK0rD,aAAa1rD,KAAK0rD,YAAY/8C,KAAK,OAAO1S,EAAE,CAAC,eAAAowD,CAAgBtwD,GAAmB,OAAhBiE,KAAK44C,QAAQ,GAAS,CAAC5zC,OAAOhF,KAAK6mD,uBAAuB7mD,KAAKqR,SAASrR,KAAKumD,iBAAiBxqD,IAAI68C,QAAQ,IAAI54C,KAAK44C,SAAS,CAAC,WAAAkS,CAAY/uD,GAAG,MAAME,EAAE,YAAY+I,OAAOrF,EAAEi5C,QAAQv6C,GAAG2B,KAAKqsD,gBAAgBtwD,GAAGkB,EAAE+C,KAAK0rD,YAAYxtD,EAAE,CAACjC,EAAEF,EAAEiJ,OAAOrF,EAAEqsD,WAAW3tD,EAAE4tD,WAAWhvD,EAAEqyC,SAAQ,EAAG6c,gBAAW,GAAQ,IAAInwD,EAAEgE,KAAK2O,KAAK1S,EAAEiC,GAAG8B,KAAKssD,sBAAsB3sD,EAAEzB,GAAGyB,IAAIA,EAAE2vC,QAAQvzC,KAAKC,EAAE2D,GAAGA,EAAEgP,KAAK1S,EAAEiC,IAAI,IAAI,IAAIyB,EAAE,EAAEA,EAAEtB,EAAEV,OAAOgC,IAAI,CAAC,MAAM1C,EAAEoB,EAAEsB,GAAG1C,EAAEqyC,QAAQvzC,KAAKC,EAAEiB,GAAGA,EAAE0R,KAAK1S,EAAEiC,EAAE,CAAC8B,KAAK4rD,mBAAmB7vD,EAAEkB,EAAEjB,GAAGgE,KAAK6rD,YAAY7vD,CAAC,CAAC,YAAA+uD,CAAahvD,GAAG,MAAMiJ,OAAO/I,EAAE28C,QAAQj5C,GAAGK,KAAKqsD,gBAAgBtwD,GAAGsC,EAAE,CAACpC,EAAEF,EAAEiJ,OAAO/I,EAAE+vD,WAAWrsD,EAAEssD,WAAWjsD,KAAK0rD,aAAa1rD,KAAK2O,KAAK,YAAYtQ,GAAG2B,KAAKssD,sBAAsBrwD,EAAEoC,EAAE,CAAC,YAAA2sD,CAAajvD,GAAG,MAAME,EAAE,CAACA,EAAEF,EAAEiJ,OAAOhF,KAAKosD,mBAAmBJ,WAAWhsD,KAAK44C,QAAQqT,WAAWjsD,KAAK0rD,aAAa1rD,KAAK2O,KAAK,YAAY1S,GAAG+D,KAAKssD,2BAAsB,EAAOrwD,GAAG+D,KAAK4rD,mBAAmB7vD,EAAEiE,KAAK0rD,aAAa1rD,KAAK6rD,iBAAY,EAAO7rD,KAAK44C,QAAQ,GAAG54C,KAAKgkD,gBAAgB,EAAE,CAAC,OAAAiH,CAAQlvD,GAAG,MAAMiJ,OAAO/I,EAAE28C,QAAQv6C,GAAG2B,KAAKqsD,gBAAgBtwD,GAAGkB,EAAE+C,KAAKusD,mBAAmB,cAAc5sD,EAAE,CAAC1D,EAAEF,EAAEiJ,OAAO/I,EAAE+vD,WAAW3tD,EAAE4tD,WAAWjsD,KAAK0rD,aAAaxC,GAAGlpD,KAAKjE,KAAKkB,EAAEivD,SAAQ,EAAGjvD,EAAEkvD,gBAAW,EAAOnsD,KAAKusD,mBAAmB,OAAOtvD,GAAG+C,KAAK2O,KAAK,aAAa1R,EAAE,CAAC,cAAAytD,CAAe3uD,GAAG,MAAME,EAAE+D,KAAKqmD,WAAWtqD,GAAG4D,EAAEK,KAAK44C,SAAS,GAAGv6C,EAAE2B,KAAKusD,mBAAmB,qBAAqB,CAACtwD,EAAEF,EAAEiJ,OAAO/I,EAAE+vD,WAAWrsD,IAAI,OAAOK,KAAKmoD,iBAAiBxjC,GAAG5oB,GAAGiE,KAAKusD,mBAAmB,cAAcluD,IAAG,CAAE,CAAC,QAAAssD,CAAS5uD,GAAG,MAAME,EAAEF,EAAEywD,OAAOvwD,EAAE,GAAGA,EAAE,IAAI+D,KAAKysD,yBAAyB1wD,GAAG,GAAGE,GAAG,aAAaF,EAAEuD,MAAMU,KAAK0sD,aAAa3wD,EAAE,YAAY,GAAGE,GAAG+D,KAAK0sD,aAAa3wD,EAAE,eAAeiE,KAAKgnD,2BAA2B,CAAC,YAAA2F,CAAa5wD,GAAG,MAAME,EAAEF,EAAEuoB,eAAe,OAAOroB,EAAEA,EAAE,IAAIA,EAAE,GAAG2wD,WAAW5sD,KAAKsoD,oBAAoBvsD,EAAE8wD,WAAW,CAAC,CAAC,YAAAC,CAAa/wD,GAAG,OAAM,IAAKA,EAAEgxD,YAAW,IAAKhxD,EAAEgxD,YAAY,aAAahxD,EAAEuD,MAAM,IAAIvD,EAAEixD,QAAQrvD,SAAU5B,EAAEuoB,gBAAgBvoB,EAAEuoB,eAAe,GAAGsoC,aAAa5sD,KAAKitD,YAAa,CAAC,aAAA/B,CAAcnvD,GAAG,IAAIE,GAAG+D,KAAKic,oBAAoB,MAAMtc,EAAEK,KAAKiuC,mBAAc,IAASjuC,KAAKitD,cAAcjtD,KAAKitD,YAAYjtD,KAAK2sD,aAAa5wD,IAAIiE,KAAKktD,cAAcnxD,IAAIiE,KAAKokD,eAAezkD,GAAGK,KAAKmtD,UAAUxtD,KAAK1D,GAAE,GAAIA,GAAGF,EAAE6oB,iBAAiB5kB,KAAKgnD,2BAA2B,MAAM3oD,EAAE2B,KAAK0jD,cAAczmD,EAAE+C,KAAKmqD,kBAAkBjsD,EAAEua,GAAGpa,GAAGirD,GAAGprD,EAAE,WAAW8B,KAAKqrD,YAAYrC,IAAI/sD,GAAGqtD,GAAGprD,EAAE,YAAY8B,KAAKsqD,aAAatB,IAAIO,GAAGlrD,EAAE,GAAGoK,OAAOxL,EAAE,QAAQ+C,KAAKqqD,aAAa,CAAC,YAAAA,CAAatuD,GAAGiE,KAAKktD,cAAcnxD,GAAGiE,KAAKgnD,2BAA2B,MAAM/qD,EAAE+D,KAAK0jD,cAAc/jD,EAAEK,KAAKmqD,kBAAkBZ,GAAGttD,EAAE,GAAGwM,OAAO9I,EAAE,QAAQK,KAAKsqD,aAAatB,IAAI,MAAM3qD,EAAEoa,GAAGxc,GAAGqtD,GAAGjrD,EAAE,GAAGoK,OAAO9I,EAAE,MAAMK,KAAKorD,YAAY9B,GAAGjrD,EAAE,GAAGoK,OAAO9I,EAAE,QAAQK,KAAKsqD,aAAatB,GAAG,CAAC,WAAAqC,CAAYtvD,GAAG,GAAGA,EAAEixD,QAAQrvD,OAAO,EAAE,OAAOqC,KAAKotD,YAAYrxD,GAAGiE,KAAKgnD,kCAAkChnD,KAAKitD,YAAY,MAAMhxD,EAAE+D,KAAKmqD,kBAAkBxqD,EAAE8Y,GAAGzY,KAAK0jD,eAAe6F,GAAG5pD,EAAE,WAAWK,KAAKqrD,YAAYrC,IAAIO,GAAG5pD,EAAE,YAAYK,KAAKsqD,aAAatB,IAAIhpD,KAAKurD,mBAAmBD,aAAatrD,KAAKurD,mBAAmBvrD,KAAKurD,kBAAkBxtB,YAAY,KAAKurB,GAAGtpD,KAAK0jD,cAAc,GAAGj7C,OAAOxM,EAAE,QAAQ+D,KAAKqqD,cAAcrqD,KAAKurD,kBAAkB,CAAE,GAAE,IAAI,CAAC,UAAAH,CAAWrvD,GAAGiE,KAAKotD,YAAYrxD,GAAGiE,KAAKgnD,2BAA2B,MAAM/qD,EAAE+D,KAAK0jD,cAAc/jD,EAAEK,KAAKmqD,kBAAkB,GAAGnqD,KAAK8sD,aAAa/wD,GAAG,CAAC,MAAMA,EAAE0c,GAAGzY,KAAK0jD,eAAe6F,GAAGxtD,EAAE,GAAG0M,OAAO9I,EAAE,MAAMK,KAAKorD,YAAY7B,GAAGxtD,EAAE,GAAG0M,OAAO9I,EAAE,QAAQK,KAAKsqD,aAAatB,IAAIM,GAAGrtD,EAAE,GAAGwM,OAAO9I,EAAE,QAAQK,KAAKsqD,aAAatB,GAAG,CAAC,CAAC,YAAAsB,CAAavuD,GAAG,MAAME,EAAE+D,KAAKuoC,mBAAmBvoC,KAAKic,uBAAuBhgB,IAAIA,EAAEmzC,oBAAoBrzC,KAAKA,EAAE6oB,gBAAgB7oB,EAAE6oB,iBAAiB5kB,KAAKqtD,cAActxD,EAAE,CAAC,SAAAquD,GAAYpqD,KAAK2a,aAAa3a,KAAKgnD,0BAA0B,CAAC,aAAAsG,CAAcvxD,GAAG,MAAME,EAAE+D,KAAKuoC,kBAAkB,QAAQtsC,KAAKF,GAAGE,GAAGF,GAAGE,IAAIF,CAAC,CAAC,WAAAqxD,CAAYrxD,GAAG,IAAIE,EAAE+D,KAAKysD,yBAAyB1wD,GAAGiE,KAAK0sD,aAAa3wD,EAAE,aAAa,MAAM4D,EAAEK,KAAKitC,kBAAkB5uC,EAAE2B,KAAKyrD,SAASxuD,EAAE+C,KAAKmtD,SAASI,OAAOrvD,GAAGnC,EAAE,GAAGmC,EAAE,OAAO8B,KAAKqoD,iBAAiB,IAAInqD,GAAG8B,KAAKooD,gBAAgB,IAAIlqD,IAAI8B,KAAK0sD,aAAa3wD,EAAE,WAAWiE,KAAKgnD,2BAA2B,GAAGhnD,KAAKokD,eAAepkD,KAAKskD,oBAAoB,YAAYtkD,KAAKwtD,wBAAwBzxD,GAAG,IAAIiE,KAAK8sD,aAAa/wD,GAAG,OAAO,IAAIC,EAAEuC,EAAEiB,GAAE,EAAG,GAAGG,IAAIK,KAAK4nD,0BAA0B7rD,GAAGyD,EAAEG,EAAE8lD,kBAAkBpnD,EAAE,CAAC,MAAMpC,EAAEgB,IAAI+C,KAAKiuC,cAAcjuC,KAAKytD,gBAAgB1xD,GAAGyD,IAAIA,EAAEQ,KAAKstD,cAAcrwD,KAAKhB,GAAGgB,IAAI+C,KAAKiuC,cAAc,CAAC,GAAGhxC,EAAE,CAAC,MAAMhB,EAAEgB,EAAEwwC,YAAYztC,KAAKumD,iBAAiBxqD,GAAG0oB,GAAG1oB,KAAKqI,IAAI/F,EAAEivC,QAAQpvC,GAAGjC,GAAG,CAAA,EAAG,GAAGsC,EAAEF,EAAEpB,EAAEmW,YAAYnW,IAAI+C,KAAKiuC,eAAe,OAAOhxC,EAAEmzC,SAASpwC,KAAKwnD,gBAAgBvqD,EAAElB,GAAGyD,GAAE,OAAQ,GAAGtB,EAAE,CAAC,MAAMjC,EAAEiC,EAAE2qC,kBAAkB9sC,EAAEkB,EAAEiB,GAAGjC,IAAID,EAAEgE,KAAKulD,cAAcxpD,GAAGE,EAAEG,KAAK8B,EAAEnC,EAAE4D,EAAE3D,EAAEiP,EAAEjP,EAAE4D,GAAG,CAAC3C,EAAEyxC,UAAS,CAAE,CAAC,GAAG/uC,IAAIA,EAAEqF,SAAS/H,GAAG0C,EAAEknB,SAAStoB,GAAG,CAAC,MAAMtC,EAAE0D,EAAEqF,QAAQrF,EAAEqF,OAAO8hB,SAASnnB,EAAEknB,QAAQxoB,EAAEpC,GAAGA,EAAE4sC,kBAAkB9sC,EAAE4D,EAAEqF,OAAO/I,GAAGD,EAAEA,GAAGgE,KAAKulD,cAAcxpD,GAAGsC,GAAGA,EAAEjC,KAAKH,EAAEF,EAAE4D,EAAE3D,EAAEiP,EAAEjP,EAAE4D,EAAE,CAACI,KAAK0tD,oBAAoB3xD,EAAEkB,GAAG+C,KAAK0sD,aAAa3wD,EAAE,MAAMiE,KAAKmkD,eAAe,KAAKnkD,KAAKitC,kBAAkB,KAAKhwC,IAAIA,EAAEowC,cAAS,GAAQ7tC,EAAEQ,KAAK6c,mBAAmBxe,GAAG,QAAQpC,EAAE+D,KAAKiuC,qBAAgB,IAAShyC,GAAGA,EAAE2qD,WAAW5mD,KAAK0kD,WAAW,CAAC,kBAAA6H,CAAmBxwD,EAAEE,GAAG,MAAM+I,OAAOrF,EAAEqsD,WAAW3tD,EAAE,IAAIpC,EAAE+D,KAAK2O,KAAK5S,EAAEE,GAAG0D,GAAGA,EAAEgP,KAAK5S,EAAEE,GAAG,IAAI,IAAIgB,EAAE,EAAEA,EAAEoB,EAAEV,OAAOV,IAAIoB,EAAEpB,KAAK0C,GAAGtB,EAAEpB,GAAG0R,KAAK5S,EAAEE,GAAG,OAAOA,CAAC,CAAC,YAAAywD,CAAa3wD,EAAEE,EAAEoC,GAAG,MAAMpB,EAAE+C,KAAKmtD,QAAQjvD,EAAE8B,KAAK44C,SAAS,GAAG58C,EAAE2D,EAAEA,EAAEA,EAAE,CAAC1D,EAAEF,EAAEiJ,OAAO/H,EAAE+uD,WAAW9tD,GAAGgrD,GAAGlpD,KAAKjE,IAAI,CAAE,EAAC,CAACoV,UAAUnR,KAAKitC,mBAAmB,cAAchxC,GAAG,OAAOA,EAAE,CAAC0xD,QAAQ3tD,KAAKyrD,SAASmC,cAAc5tD,KAAKqmD,WAAWtqD,GAAG8xD,kBAAkB7tD,KAAK44C,SAAS,CAAE,GAAE,gBAAgB38C,GAAG,SAASA,EAAEoC,EAAE,CAAA,GAAI2B,KAAK2O,KAAK,SAASlG,OAAOxM,GAAGD,GAAGiB,GAAGA,EAAE0R,KAAK,QAAQlG,OAAOxM,GAAGD,GAAG,IAAI,IAAID,EAAE,EAAEA,EAAEmC,EAAEP,OAAO5B,IAAImC,EAAEnC,KAAKkB,GAAGiB,EAAEnC,GAAG4S,KAAK,QAAQlG,OAAOxM,GAAGD,EAAE,CAAC,yBAAA8xD,CAA0B/xD,GAAGiE,KAAKskD,qBAAoB,EAAGtkD,KAAKuoC,oBAAoBvoC,KAAK2nD,oBAAoB5rD,GAAGiE,KAAK6c,oBAAoB,MAAM5gB,EAAE+D,KAAKulD,cAAcxpD,GAAGiE,KAAKukD,kBAAkBvkD,KAAKukD,iBAAiBwJ,YAAY9xD,EAAE,CAACA,EAAEF,EAAEyqB,QAAQvqB,IAAI+D,KAAK0sD,aAAa3wD,EAAE,OAAO,CAACiyD,iBAAgB,GAAI,CAAC,yBAAAC,CAA0BlyD,GAAG,GAAGiE,KAAKskD,oBAAoB,CAAC,MAAMroD,EAAE+D,KAAKulD,cAAcxpD,GAAGiE,KAAKukD,kBAAkBvkD,KAAKukD,iBAAiBsE,YAAY5sD,EAAE,CAACA,EAAEF,EAAEyqB,QAAQvqB,GAAG,CAAC+D,KAAK8lD,UAAU9lD,KAAKioD,mBAAmBjoD,KAAK0sD,aAAa3wD,EAAE,OAAO,CAAC,uBAAAyxD,CAAwBzxD,GAAG,MAAME,EAAE+D,KAAKulD,cAAcxpD,GAAGiE,KAAKukD,iBAAiBvkD,KAAKskD,sBAAsBtkD,KAAKukD,iBAAiB2J,UAAU,CAACjyD,EAAEF,EAAEyqB,QAAQvqB,IAAI+D,KAAKskD,qBAAoB,EAAGtkD,KAAK0sD,aAAa3wD,EAAE,KAAK,CAAC,aAAAmxD,CAAcnxD,GAAGiE,KAAKyrD,UAAS,EAAGzrD,KAAKysD,yBAAyB1wD,GAAGiE,KAAK0sD,aAAa3wD,EAAE,eAAe,IAAIE,EAAE+D,KAAKmtD,QAAQxtD,IAAI1D,GAAGA,IAAI+D,KAAKiuC,cAAc,MAAMsf,OAAOlvD,GAAGtC,EAAE,GAAGsC,EAAE,OAAO2B,KAAKqoD,iBAAiB,IAAIhqD,GAAG2B,KAAKooD,gBAAgB,IAAI/pD,IAAI2B,KAAK0sD,aAAa3wD,EAAE,OAAO,CAACiyD,gBAAgBruD,SAASK,KAAKgnD,2BAA2B,GAAGhnD,KAAKokD,cAAc,YAAYpkD,KAAK8tD,0BAA0B/xD,GAAG,IAAIiE,KAAK8sD,aAAa/wD,GAAG,OAAO,GAAGiE,KAAKitC,kBAAkB,OAAO,IAAIhwC,EAAE+C,KAAKstD,cAAcrxD,GAAGiC,GAAE,EAAG,GAAG8B,KAAKmuD,qBAAqBpyD,EAAEE,IAAIA,EAAE+D,KAAKiuC,cAAc/vC,GAAE,EAAGjB,GAAE,GAAI+C,KAAKklD,sBAAsBnpD,EAAEE,IAAI+D,KAAK2nD,oBAAoB5rD,GAAGiE,KAAKwkD,aAAavoD,IAAIA,EAAEmX,aAAanX,EAAE2qD,WAAW3qD,IAAI+D,KAAKiuC,eAAe,CAAC,MAAMhyC,EAAE+D,KAAKulD,cAAcxpD,GAAGiE,KAAKmkD,eAAe,CAACl5C,EAAEhP,EAAEgP,EAAErL,EAAE3D,EAAE2D,EAAE02B,OAAO,EAAE0vB,OAAO,EAAE,CAAC,GAAGrmD,IAAI1D,GAAGA,IAAI+D,KAAKiuC,cAAchyC,EAAE,CAACA,EAAEmX,YAAY,SAASnX,EAAEm0C,UAAUpwC,KAAKwnD,gBAAgBvrD,EAAEF,GAAG,MAAMsC,EAAEpC,EAAEwxC,YAAYztC,KAAKumD,iBAAiBxqD,GAAG0oB,GAAG1oB,IAAI,GAAGE,IAAI+D,KAAKiuC,gBAAgB5vC,IAAIH,GAAG,CAAC8B,KAAKslD,uBAAuBvpD,EAAEE,EAAE0D,GAAG,MAAM1C,EAAEoB,EAAEA,EAAEivC,aAAQ,EAAOpvC,EAAE8B,KAAKulD,cAAcxpD,GAAGC,EAAEiB,GAAGA,EAAE0rC,oBAAoB5sC,EAAEE,EAAEgB,GAAGjB,GAAGA,EAAEI,KAAKa,EAAElB,EAAEiE,KAAKitC,kBAAkB/uC,EAAE+M,EAAE/M,EAAE0B,EAAE,CAAC,CAAC3C,IAAI+C,KAAK4jD,sBAAiB,GAAQ5jD,KAAK0sD,aAAa3wD,EAAE,OAAO,CAACiyD,gBAAgBruD,IAAI1C,GAAG+C,KAAK6c,kBAAkB,CAAC,wBAAAmqC,GAA2BhnD,KAAKmtD,QAAQntD,KAAK8mD,SAAS9mD,KAAK+mD,sBAAiB,CAAM,CAAC,wBAAA0F,CAAyB1wD,GAAGiE,KAAKgnD,2BAA2BhnD,KAAK8mD,SAAS9mD,KAAKumD,iBAAiBxqD,GAAGiE,KAAK+mD,iBAAiBvhC,GAAGxlB,KAAK8mD,cAAS,EAAO9mD,KAAKkc,mBAAmBlc,KAAKmtD,QAAQntD,KAAKitC,kBAAkBjtC,KAAKitC,kBAAkBjoC,OAAOhF,KAAKqmD,WAAWtqD,EAAE,CAAC,aAAAsxD,CAActxD,GAAG,GAAGiE,KAAKyrD,UAAS,EAAGzrD,KAAKysD,yBAAyB1wD,GAAGiE,KAAK0sD,aAAa3wD,EAAE,eAAeiE,KAAKokD,cAAc,YAAYpkD,KAAKiuD,0BAA0BlyD,GAAG,IAAIiE,KAAK8sD,aAAa/wD,GAAG,OAAO,MAAME,EAAE+D,KAAKmkD,eAAe,GAAGloD,EAAE,CAAC,MAAM0D,EAAEK,KAAKulD,cAAcxpD,GAAGE,EAAE+pD,OAAOrmD,EAAEsL,EAAEhP,EAAEgP,EAAEhP,EAAEq6B,OAAO32B,EAAEC,EAAE3D,EAAE2D,EAAEI,KAAK0kD,WAAW,MAAM,GAAG1kD,KAAKitC,kBAAkBjtC,KAAKouD,iBAAiBryD,OAAO,CAAC,MAAME,EAAE+D,KAAKqmD,WAAWtqD,GAAGiE,KAAK0tD,oBAAoB3xD,EAAEE,GAAG+D,KAAKquD,mBAAmBtyD,EAAEE,EAAE,CAAC+D,KAAKsuD,mBAAmBzF,YAAY9sD,GAAGiE,KAAK0sD,aAAa3wD,EAAE,QAAQiE,KAAKgnD,0BAA0B,CAAC,kBAAAqH,CAAmBtyD,EAAEE,GAAG,MAAM0D,EAAEK,KAAK+jD,eAAe1lD,EAAE2B,KAAKgkD,gBAAgB/mD,EAAE+C,KAAK44C,QAAQ16C,EAAEiM,KAAKC,IAAI/L,EAAEV,OAAOV,EAAEU,QAAQqC,KAAKuuD,yBAAyB,QAAQ,CAACtyD,EAAEF,EAAEiJ,OAAO/I,EAAEuyD,UAAU7uD,EAAE8uD,YAAW,IAAK,IAAI,IAAIxyD,EAAE,EAAEA,EAAEiC,EAAEjC,IAAI+D,KAAKuuD,yBAAyB,QAAQ,CAACtyD,EAAEF,EAAEiJ,OAAO/H,EAAEhB,GAAGuyD,UAAUnwD,EAAEpC,KAAK+D,KAAK+jD,eAAe9nD,EAAE+D,KAAKgkD,gBAAgBhkD,KAAK44C,QAAQnwC,QAAQ,CAAC,qBAAA6jD,CAAsBvwD,EAAEE,GAAG,MAAMoC,EAAE2B,KAAKosD,mBAAmBnvD,EAAE+C,KAAKgkD,gBAAgB9lD,EAAE8B,KAAK44C,QAAQ58C,EAAEmO,KAAKC,IAAInN,EAAEU,OAAOO,EAAEP,QAAQqC,KAAKuuD,yBAAyB,OAAO5uD,EAAEA,EAAE,CAAA,EAAG1D,GAAG,CAAA,EAAG,CAAC+I,OAAOjJ,EAAEyyD,UAAUnwD,EAAEowD,YAAW,KAAM,IAAI,IAAI1yD,EAAE,EAAEA,EAAEC,EAAED,IAAIiE,KAAKuuD,yBAAyB,OAAO5uD,EAAEA,EAAE,CAAE,EAAC1D,GAAG,CAAE,EAAC,CAAC+I,OAAO9G,EAAEnC,GAAGyyD,UAAUvxD,EAAElB,MAAMiE,KAAKosD,mBAAmBrwD,CAAC,CAAC,wBAAAwyD,CAAyBxyD,EAAEE,GAAG,IAAI+I,OAAO/H,EAAEuxD,UAAUtwD,EAAEuwD,WAAWzyD,EAAEC,EAAEsC,GAAGtC,EAAEuD,EAAEnB,EAAEpC,EAAE8sD,IAAI,MAAMa,SAASnrD,EAAEorD,UAAUpqD,EAAEqqD,SAASnrD,EAAEorD,UAAU9pD,GAAGupD,GAAGztD,GAAGsE,EAAEnC,IAAIjB,EAAE,GAAGiB,GAAGmC,EAAE,CAAC,MAAMtE,EAAE4D,EAAEA,EAAE,CAAA,EAAGH,GAAG,CAAA,EAAG,CAACvD,EAAEsC,EAAEyG,OAAO9G,EAAEwwD,WAAWzxD,GAAGisD,GAAGlpD,KAAKzB,IAAIvC,GAAGgE,KAAK2O,KAAK1O,EAAElE,GAAGmC,EAAEyQ,KAAKlP,EAAE1D,EAAE,CAAC,GAAGkB,GAAGoD,EAAE,CAAC,MAAMtE,EAAE4D,EAAEA,EAAE,CAAA,EAAGH,GAAG,CAAA,EAAG,CAACvD,EAAEsC,EAAEyG,OAAO/H,EAAE0xD,eAAezwD,GAAGgrD,GAAGlpD,KAAKzB,IAAIvC,GAAGgE,KAAK2O,KAAKhQ,EAAE5C,GAAGkB,EAAE0R,KAAKlQ,EAAE1C,EAAE,CAAC,CAAC,cAAAyvD,CAAezvD,GAAGiE,KAAKysD,yBAAyB1wD,GAAGiE,KAAK0sD,aAAa3wD,EAAE,SAASiE,KAAKgnD,0BAA0B,CAAC,gBAAAoH,CAAiBryD,GAAG,MAAME,EAAE+D,KAAKulD,cAAcxpD,GAAG4D,EAAEK,KAAKitC,kBAAkB5uC,EAAEsB,EAAEqF,OAAO/H,EAAEoB,EAAE8hC,MAAM3a,GAAGvpB,OAAE,EAAOoC,EAAE8hC,MAAMhM,uBAAuBl4B,EAAE0D,EAAEimD,SAAS7pD,EAAE6pD,SAASjmD,EAAEkmD,SAAS7lD,KAAKwlD,aAAazpD,EAAEiE,KAAKwlD,aAAaxlD,KAAK4uD,wBAAwB7yD,EAAE4D,EAAE1C,GAAG0C,EAAE8lD,iBAAiBzlD,KAAK6c,kBAAkB,CAAC,uBAAA+xC,CAAwB7yD,EAAEE,EAAE0D,GAAG,MAAMutC,OAAO7uC,EAAEqqC,cAAczrC,EAAE+H,OAAO9G,GAAGjC,EAAED,IAAIiB,GAAGA,EAAElB,EAAEE,EAAE0D,EAAEsL,EAAEtL,EAAEC,GAAG5D,GAAGkC,EAAE4e,YAAY,SAASze,GAAGrC,IAAIC,EAAE+I,OAAO0pC,UAAS,EAAG1uC,KAAK8lD,UAAU7pD,EAAE+I,OAAOsrC,YAAYtwC,KAAKswC,aAAar0C,EAAEwpD,gBAAgBxpD,EAAEwpD,iBAAiBzpD,CAAC,CAAC,mBAAA0xD,CAAoB3xD,EAAEE,GAAG,IAAIA,EAAE,YAAY+D,KAAK8lD,UAAU9lD,KAAKgoD,eAAe,IAAIroD,EAAE1D,EAAEo0C,aAAarwC,KAAKqwC,YAAY,MAAMhyC,EAAEka,GAAGvY,KAAKiuC,eAAejuC,KAAKiuC,cAAc,KAAKhxC,IAAIoB,GAAGpC,EAAEkkC,QAAQ9hC,IAAIpC,EAAEwxC,YAAYztC,KAAKumD,iBAAiBxqD,IAAI,GAAGkB,EAAE,CAAC,MAAM0C,EAAE1C,EAAEqwC,QAAQttC,KAAK8lD,UAAUnmD,EAAEopC,mBAAmBhtC,EAAE4D,EAAE1D,GAAG,MAAMA,EAAEo+C,gBAAgBr6C,KAAK44C,QAAQnwC,SAAS3F,UAAUuU,KAAKtb,IAAI4D,EAAE5D,EAAEs0C,aAAa1wC,CAAE,IAAGK,KAAK8lD,UAAUnmD,EAAE,CAAC,oBAAAwuD,CAAqBpyD,EAAEE,GAAG,MAAM0D,EAAEK,KAAKiuC,cAAc5vC,EAAEka,GAAG5Y,GAAG,GAAGA,GAAGK,KAAKglD,uBAAuBjpD,IAAIiE,KAAKwkD,WAAWvoD,GAAGA,EAAEmX,aAAazT,IAAI1D,GAAGoC,KAAKA,IAAIpC,EAAE2qC,eAAejnC,KAAKA,EAAEinC,eAAe3qC,MAAMA,EAAEkzC,SAAS,CAAClzC,EAAEF,MAAM4D,EAAEytC,mBAAmB,CAAC,GAAG/uC,EAAE,CAAC,MAAMA,EAAEsB,EAAEiS,aAAa,GAAG3V,IAAI0D,EAAE,CAAC,MAAMA,EAAEK,KAAKumD,iBAAiBxqD,GAAG,KAAKE,EAAE+D,KAAKwmD,sBAAsBnoD,EAAEsB,IAAIK,KAAKwmD,sBAAsBxmD,KAAKqR,SAAS1R,MAAM1D,EAAEmX,WAAW,OAAM,CAAE,CAACnX,EAAEkkC,QAAQxgC,GAAGA,EAAEkO,OAAO5R,GAAG+D,KAAK+jD,eAAe9nD,EAAE+D,KAAKgkD,gBAAgB,IAAIhkD,KAAK44C,SAAS,IAAIj5C,EAAEqS,QAAQhS,KAAKynD,iBAAiB9nD,EAAEmS,KAAK,GAAG/V,KAAK4D,EAAEkvD,eAAe5yD,GAAG+D,KAAK+jD,eAAepkD,EAAEK,KAAKgkD,gBAAgB,IAAIhkD,KAAK44C,UAAU54C,KAAKsnD,qBAAqBjpD,EAAEtC,EAAE,KAAK,CAAC4D,EAAEinD,WAAWjnD,EAAEipD,cAAc,MAAMvqD,EAAE,IAAI+O,GAAGG,SAAS,mBAAhB,CAAoC,GAAG,CAACW,OAAOlO,OAAO3B,EAAEwwD,eAAelvD,EAAE1D,GAAG+D,KAAK+jD,eAAe1lD,EAAE2B,KAAKynD,iBAAiBppD,EAAEtC,GAAGiE,KAAKsnD,qBAAqB,CAAC3nD,GAAG5D,EAAE,CAAC,OAAM,CAAE,CAAC,OAAM,CAAE,CAAC,eAAA0xD,CAAgB1xD,GAAG,IAAIiE,KAAKwkD,YAAYxkD,KAAKmkD,eAAe,OAAM,EAAG,MAAMl5C,EAAEhP,EAAE2D,EAAED,EAAEqmD,OAAO3nD,EAAEi4B,OAAOr5B,GAAG+C,KAAKmkD,eAAejmD,EAAE,IAAIiR,GAAGlT,EAAE0D,GAAG3D,EAAEkC,EAAEkR,IAAI,IAAID,GAAG9Q,EAAEpB,IAAIsB,EAAEL,EAAEsS,IAAIxU,GAAGwD,EAAEtB,EAAEkM,IAAIpO,GAAGwT,SAASjR,GAAGE,EAAEuB,KAAK8S,eAAe,CAACC,KAAKxU,EAAE0M,EAAE+H,IAAIzU,EAAEqB,EAAEqT,MAAMzT,EAAEyL,EAAEiI,OAAO1T,EAAEI,GAAG,CAACuT,qBAAqBnT,KAAK+nD,0BAA0BtoD,EAAEvB,EAAEgS,GAAGlU,GAAGyC,EAAE,GAAG,CAACA,EAAE,IAAI,GAAGA,EAAEd,OAAO,EAAEc,EAAEpB,QAAQpB,IAAIA,EAAEkzC,SAAS,CAAClzC,EAAEF,MAAM+G,UAAUrE,EAAE,GAAG,IAAIgB,EAAE9B,OAAOqC,KAAKwnD,gBAAgB/nD,EAAE,GAAG1D,QAAQ,GAAG0D,EAAE9B,OAAO,EAAE,CAAC,MAAM1B,EAAEmR,GAAGG,SAAS,mBAAmBvN,KAAKwnD,gBAAgB,IAAIvrD,EAAEwD,EAAE,CAACyO,OAAOlO,OAAOjE,EAAE,CAAC,OAAOiE,KAAKmkD,eAAe,MAAK,CAAE,CAAC,KAAAlmC,GAAQje,KAAKsuD,mBAAmBrwC,QAAQlW,MAAMkW,OAAO,CAAC,OAAAiG,GAAUlkB,KAAKmrD,kBAAkBnrD,KAAKsuD,mBAAmBtkD,UAAUjC,MAAMmc,SAAS,EAAE,MAAM4qC,GAAG,CAACC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,GAAGC,GAAGxvD,EAAEA,EAAE,CAAE,EAACmvD,IAAI,CAAE,EAAC,CAACM,GAAG,EAAEC,GAAG,IAAIC,GAAG,CAACvzD,EAAEE,IAAImG,MAAMrG,IAAI,iBAAiBE,EAAEA,EAAEF,EAAEwzD,GAAG,uBAAuB,SAASC,GAAGzzD,GAAG,OAAOA,GAAGwzD,GAAGjoD,KAAKvL,EAAE,CAAC,SAAS0zD,GAAG1zD,EAAEE,GAAG,MAAM0D,EAAE,iBAAiB5D,EAAEA,EAAE,iBAAiBA,EAAE6b,WAAW7b,IAAIyzD,GAAGzzD,GAAG,IAAI,GAAG2zD,IAAI,OAAOn2B,GAAG,EAAE+1B,GAAG3vD,EAAE1D,GAAG,EAAE,CAAC,MAAM0zD,GAAG,UAAUC,GAAG,UAAU,SAASC,GAAG9zD,EAAEE,GAAG,IAAI0D,EAAEtB,EAAE,MAAMpB,EAAElB,EAAEi4C,aAAa,SAAS,GAAG/2C,EAAE,CAAC,MAAMlB,EAAEkB,EAAEy1B,MAAMi9B,IAAI,KAAK5zD,EAAEA,EAAE4B,OAAO,IAAI5B,EAAEgH,MAAM,IAAI,IAAI9G,EAAEF,EAAE4B,OAAO1B,KAAK,CAAC,MAAMgB,EAAEiB,GAAGnC,EAAEE,GAAGy2B,MAAMk9B,IAAIv4C,KAAKtb,GAAGA,EAAEg3B,SAAS,eAAe91B,EAAE0C,EAAEzB,EAAE,iBAAiBjB,IAAIoB,EAAEH,EAAE,CAAC,CAAC,MAAMA,EAAE,IAAI6yB,GAAGpxB,GAAG5D,EAAEi4C,aAAa,eAAe,cAAc,MAAM,CAACqF,OAAOoW,GAAG1zD,EAAEi4C,aAAa,UAAU,GAAG9a,MAAMh7B,EAAEszB,QAAQqC,QAAQy7B,GAAG13C,WAAWvZ,GAAGtC,EAAEi4C,aAAa,iBAAiB,IAAI,GAAG91C,EAAE4zB,WAAW71B,EAAE,CAAC,SAAS6zD,GAAG/zD,EAAEE,GAAG,MAAM0D,EAAE,GAAGtB,EAAEtC,EAAEg0D,qBAAqB,QAAQ9yD,EAAEwyD,GAAGxzD,EAAE,GAAG,IAAI,IAAIF,EAAEsC,EAAEV,OAAO5B,KAAK4D,EAAEnC,KAAKqyD,GAAGxxD,EAAEtC,GAAGkB,IAAI,OAAO0C,CAAC,CAAC,SAASqwD,GAAGj0D,GAAG,MAAM,mBAAmBA,EAAEg4C,UAAU,mBAAmBh4C,EAAEg4C,SAAS,SAAS,QAAQ,CAAC,SAASkc,GAAGl0D,GAAG,MAAM,mBAAmBA,EAAEi4C,aAAa,iBAAiB,SAAS,YAAY,CAAC,SAASkc,GAAGn0D,EAAEE,GAAG,OAAOF,EAAEi4C,aAAa/3C,EAAE,CAAC,SAASk0D,GAAGp0D,EAAEE,GAAG,OAAO,SAASF,EAAEE,GAAG,IAAI0D,GAAGsT,MAAM5U,EAAE6U,OAAOjW,EAAEkoC,cAAcjnC,GAAGjC,EAAE,OAAOiB,OAAOC,KAAKpB,GAAGwM,QAAQ,CAACtM,EAAED,KAAK,MAAMuC,EAAExC,EAAEC,GAAG,MAAM,aAAauC,EAAEoB,EAAE,EAAE,cAAcpB,EAAEoB,EAAE,GAAGA,EAAE,iBAAiBpB,EAAEqZ,WAAWrZ,GAAGA,EAAE,iBAAiBA,GAAGixD,GAAGjxD,KAAKoB,GAAG,IAAI,WAAWzB,IAAI,OAAOlC,GAAG,OAAOA,GAAG,OAAOA,IAAI2D,GAAGtB,GAAG,OAAOrC,GAAG,OAAOA,IAAI2D,GAAG1C,MAAMhB,EAAED,GAAG2D,EAAE1D,CAAE,GAAE,CAAE,EAAC,CAAlU,CAAoU,WAAW+zD,GAAGj0D,GAAG,SAASA,GAAG,MAAM,CAACgzD,GAAGmB,GAAGn0D,EAAE,OAAO,EAAEizD,GAAGkB,GAAGn0D,EAAE,OAAO,EAAEkzD,GAAGiB,GAAGn0D,EAAE,OAAO,OAAOmzD,GAAGgB,GAAGn0D,EAAE,OAAO,EAAE,CAA5F,CAA8FA,GAAG,SAASA,GAAG,MAAM,CAACgzD,GAAGmB,GAAGn0D,EAAE,OAAOm0D,GAAGn0D,EAAE,OAAO,MAAMizD,GAAGkB,GAAGn0D,EAAE,OAAOm0D,GAAGn0D,EAAE,OAAO,MAAMqzD,GAAG,EAAEH,GAAGiB,GAAGn0D,EAAE,OAAO,MAAMmzD,GAAGgB,GAAGn0D,EAAE,OAAO,MAAMszD,GAAGa,GAAGn0D,EAAE,MAAM,MAAM,CAAxJ,CAA0JA,GAAG4D,EAAEA,EAAE,CAAA,EAAG1D,GAAG,GAAG,CAACkpC,cAAc8qB,GAAGl0D,KAAK,CAAC,MAAMq0D,GAAG,WAAAzzD,CAAYZ,GAAG,MAAMuD,KAAKrD,EAAE,SAASkpC,cAAc9mC,EAAE,SAASgyD,OAAOpzD,EAAE,CAAE,EAACqzD,WAAWpyD,EAAE,GAAGoa,QAAQtc,EAAE,EAAE4kB,QAAQriB,EAAE,EAAEsiB,kBAAkBrhB,EAAEikB,GAAGhlB,GAAG1C,GAAG,CAAA,EAAGmB,OAAO+K,OAAOjI,KAAK,CAACV,KAAKrD,EAAEkpC,cAAc9mC,EAAEgyD,OAAO1wD,EAAEA,EAAE,CAAE,EAAC,WAAW1D,EAAEkzD,GAAGL,IAAI7xD,GAAGqzD,WAAWpyD,EAAEoa,QAAQtc,EAAE4kB,QAAQriB,EAAEsiB,kBAAkBrhB,EAAEikB,GAAGhlB,EAAE,GAAGgK,OAAOhK,EAAE,KAAKgK,OAAOwL,MAAMA,MAAM,CAAC,YAAAs8C,CAAax0D,GAAG,IAAI,MAAME,KAAKF,EAAE,CAAC,MAAM4D,EAAE,IAAIoxB,GAAGh1B,EAAEE,IAAI+D,KAAKswD,WAAW9yD,KAAK,CAAC67C,OAAOzhC,WAAW3b,GAAGi9B,MAAMv5B,EAAE6xB,QAAQqC,QAAQl0B,EAAEmyB,YAAY,CAAC,OAAO9xB,IAAI,CAAC,QAAAoY,CAASrc,GAAG,OAAO4D,EAAEA,EAAE,CAAA,EAAG8X,GAAGzX,KAAKjE,IAAI,CAAE,EAAC,CAACuD,KAAKU,KAAKV,KAAK+wD,OAAO1wD,EAAE,CAAE,EAACK,KAAKqwD,QAAQC,WAAWtwD,KAAKswD,WAAWj5C,KAAKtb,GAAG4D,EAAE,CAAE,EAAC5D,KAAKuc,QAAQtY,KAAKsY,QAAQsI,QAAQ5gB,KAAK4gB,QAAQukB,cAAcnlC,KAAKmlC,cAActkB,kBAAkB7gB,KAAK6gB,kBAAkB,IAAI7gB,KAAK6gB,wBAAmB,GAAQ,CAAC,KAAAwB,CAAMtmB,GAAG,IAAIonB,oBAAoBlnB,GAAGyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,MAAMW,EAAE,GAAGpB,EAAE+C,KAAK6gB,kBAAkB7gB,KAAK6gB,kBAAkBpY,SAAS8C,EAAE9C,SAASvK,EAAE,WAAW8B,KAAKmlC,cAAc,iBAAiB,oBAAoBnpC,EAAEgE,KAAKswD,WAAWj5C,KAAKtb,GAAG4D,EAAE,CAAE,EAAC5D,KAAKy0D,MAAM,CAACz0D,EAAEE,IAAIF,EAAEs9C,OAAOp9C,EAAEo9C,SAAS,IAAI96C,GAAGyB,KAAKsY,QAAQ9Y,GAAGQ,KAAK4gB,QAAQ,IAAIniB,EAAE,sBAAsBP,GAAGK,GAAGxC,EAAEkX,MAAMzT,GAAGzD,EAAEmX,SAAS3U,GAAGxC,EAAEkX,MAAM,EAAEzT,GAAGzD,EAAEmX,OAAO,IAAIzU,EAAE1C,IAAI,mBAAmB0C,EAAEgyD,qBAAqB,eAAezwD,KAAKmlC,gBAAgB5mC,GAAGxC,EAAE20D,WAAWzlD,EAAEzL,GAAGzD,EAAE20D,WAAW9wD,GAAG3C,EAAE,IAAIsB,EAAEtB,EAAE,IAAIuC,EAAE,MAAMC,EAAE,CAAC,aAAagJ,OAAOzI,KAAKyjB,GAAG,KAAK,kBAAkBhb,OAAOvK,EAAE,KAAK,sBAAsBuK,OAAOxM,EAAEA,EAAE,IAAI,IAAIwM,OAAOqP,GAAG7a,GAAG,KAAK,IAAI+a,KAAK,KAAK,GAAG,WAAWhY,KAAKV,KAAK,CAAC,MAAMyvD,GAAGhzD,EAAEizD,GAAG/yD,EAAEgzD,GAAGtvD,EAAEuvD,GAAGjyD,GAAG+C,KAAKqwD,OAAOhyD,EAAEb,KAAK,mBAAmBiC,EAAE,QAAQ1D,EAAE,SAASE,EAAE,SAAS0D,EAAE,SAAS1C,EAAE,OAAO,MAAM,GAAG,WAAW+C,KAAKV,KAAK,CAAC,MAAMyvD,GAAGhzD,EAAEizD,GAAG/yD,EAAEgzD,GAAGtvD,EAAEuvD,GAAGjyD,EAAEmyD,GAAGlxD,EAAEmxD,GAAG9wD,GAAGyB,KAAKqwD,OAAO7wD,EAAEtB,EAAEK,EAAEF,EAAEb,KAAK,mBAAmBiC,EAAE,QAAQD,EAAEzD,EAAE4D,EAAE,SAASH,EAAEvD,EAAEgB,EAAE,QAAQuC,EAAEtB,EAAEK,EAAE,SAASiB,EAAEG,EAAE5D,EAAE,SAASyD,EAAEvC,EAAEhB,EAAE,QAAQuD,IAAIxD,EAAE8G,UAAU9G,EAAE4B,SAAS7B,IAAIA,EAAEs9C,OAAO,EAAEt9C,EAAEs9C,MAAO,KAAI,MAAM56C,EAAE0L,KAAKqG,IAAItS,EAAEK,GAAG,GAAGE,EAAE,EAAE,CAAC,MAAM1C,EAAE0C,EAAE0L,KAAKC,IAAIlM,EAAEK,GAAGvC,EAAE4B,SAAS3B,IAAIA,EAAEo9C,QAAQt9C,GAAG,EAAEE,EAAEo9C,OAAQ,GAAE,CAAC,CAAC,OAAOr9C,EAAE4B,SAAS7B,IAAI,IAAIm9B,MAAMj9B,EAAEo9C,OAAO15C,EAAEk0B,QAAQ52B,GAAGlB,EAAEsC,EAAEb,KAAK,SAAS,WAAW,IAAImC,EAAE,IAAI,uBAAuB1D,OAAE,IAASgB,EAAE,kBAAkBA,EAAE,IAAI,QAAS,IAAGoB,EAAEb,KAAK,WAAWwC,KAAKV,KAAK,oBAAoB,oBAAoB,MAAMjB,EAAE2Z,KAAK,GAAG,CAAC,MAAAE,CAAOnc,GAAG,MAAMgzD,GAAG9yD,EAAE+yD,GAAGrvD,EAAEsvD,GAAG5wD,EAAE6wD,GAAGjyD,EAAEmyD,GAAGlxD,EAAEmxD,GAAGrzD,GAAGgE,KAAKqwD,OAAO9xD,EAAE,WAAWyB,KAAKV,KAAKvD,EAAE40D,qBAAqB10D,EAAE0D,EAAEtB,EAAEpB,GAAGlB,EAAE60D,qBAAqB30D,EAAE0D,EAAEzB,EAAEG,EAAEpB,EAAEjB,GAAG,OAAOgE,KAAKswD,WAAW1yD,SAAS7B,IAAI,IAAIm9B,MAAMj9B,EAAE43B,QAAQl0B,EAAE05C,OAAOh7C,GAAGtC,EAAEwC,EAAEgyD,aAAalyD,OAAE,IAASsB,EAAE,IAAIoxB,GAAG90B,GAAG81B,SAASpyB,GAAG8xB,SAASx1B,EAAG,IAAGsC,CAAC,CAAC,uBAAa+Y,CAAWvb,GAAG,MAAMu0D,WAAWr0D,EAAE4kB,kBAAkBxiB,GAAGtC,EAAE,OAAO,IAAIiE,KAAKL,EAAEA,EAAE,CAAE,EAAC5D,GAAG,CAAA,EAAG,CAACu0D,WAAWr0D,EAAEA,EAAEob,KAAKtb,GAAG4D,EAAE,CAAE,EAAC5D,UAAK,EAAO8kB,kBAAkBxiB,EAAE,IAAIA,QAAG,IAAS,CAAC,kBAAOm4C,CAAYz6C,EAAEE,EAAEoC,GAAG,MAAMpB,EAAEgzD,GAAGl0D,GAAGmC,EAAEjC,EAAEkqC,yBAAyB,OAAO,IAAInmC,KAAKL,EAAE,CAAC8jB,GAAG1nB,EAAEi4C,aAAa,YAAO,EAAO10C,KAAK0wD,GAAGj0D,GAAGs0D,OAAOF,GAAGp0D,EAAE,CAACkX,MAAM5U,EAAEwyD,cAAcxyD,EAAE4U,MAAMC,OAAO7U,EAAEyyD,eAAezyD,EAAE6U,SAASo9C,WAAWR,GAAG/zD,EAAEsC,EAAEw1B,SAASsR,cAAcloC,EAAE4jB,kBAAkB9B,GAAGhjB,EAAEi4C,aAAa,sBAAsB,KAAK,WAAW/2C,EAAE,CAACqb,QAAQrc,EAAEgX,MAAM,EAAE/U,EAAE+M,EAAE2V,QAAQ3kB,EAAEiX,OAAO,EAAEhV,EAAE0B,GAAG,CAAC0Y,QAAQ,EAAEsI,QAAQ,IAAI,EAAE7kB,EAAEq0D,GAAG,OAAO,YAAYhjD,GAAGI,SAAS4iD,GAAG,YAAYhjD,GAAGI,SAAS4iD,GAAG,UAAUhjD,GAAGI,SAAS4iD,GAAG,UAAU,MAAMW,GAAG,CAAC,OAAO,SAAS,oBAAoB,MAAMC,GAAG,QAAI1xD,GAAO,MAAM,SAAS,CAAC,QAAIA,CAAKvD,GAAGwC,EAAE,OAAO,6BAA6BxC,EAAE,CAAC,WAAAY,CAAYV,GAAGF,EAAEiE,KAAK,SAAS,UAAUjE,EAAEiE,KAAK,UAAU,GAAGjE,EAAEiE,KAAK,UAAU,GAAGjE,EAAEiE,KAAK,cAAc,IAAIA,KAAKyjB,GAAGxP,KAAK/W,OAAO+K,OAAOjI,KAAK/D,EAAE,CAAC,aAAAg1D,GAAgB,QAAQjxD,KAAKwjB,QAAQ,iBAAiBxjB,KAAKwjB,OAAO3M,GAAG,CAAC,cAAAq6C,GAAiB,QAAQlxD,KAAKwjB,UAAUxjB,KAAKwjB,OAAOjP,SAAS,CAAC,cAAA48C,GAAiB,OAAOnxD,KAAKixD,gBAAgBjxD,KAAKwjB,OAAO3M,IAAI7W,KAAKkxD,iBAAiBlxD,KAAKwjB,OAAOjP,YAAY,EAAE,CAAC,MAAA2D,CAAOnc,GAAG,OAAOiE,KAAKwjB,UAAUxjB,KAAKixD,iBAAiBjxD,KAAKwjB,OAAOlgB,UAAU,IAAItD,KAAKwjB,OAAO4tC,cAAc,IAAIpxD,KAAKwjB,OAAO6tC,eAAet1D,EAAEmqC,cAAclmC,KAAKwjB,OAAOxjB,KAAKujB,QAAQ,IAAI,CAAC,QAAAnL,GAAW,IAAIrc,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,MAAM6lB,OAAOtnB,EAAE0a,YAAYtY,GAAG2B,KAAK,OAAOL,EAAEA,EAAE,CAAE,EAAC8X,GAAGzX,KAAKjE,IAAI,CAAE,EAAC,CAACuD,KAAK,UAAUkkB,OAAOxjB,KAAKmxD,iBAAiB5tC,OAAOtnB,EAAE0a,YAAYtY,EAAEia,QAAQX,GAAG3X,KAAKsY,QAAQtc,EAAE+b,qBAAqB6I,QAAQjJ,GAAG3X,KAAK4gB,QAAQ5kB,EAAE+b,qBAAqB+I,iBAAiB9gB,KAAK8gB,iBAAiB,IAAI9gB,KAAK8gB,kBAAkB,MAAM,CAAC,KAAAuB,CAAMtmB,GAAG,IAAIkX,MAAMhX,EAAEiX,OAAOvT,GAAG5D,EAAE,MAAMynB,OAAOnlB,EAAEklB,OAAOtmB,EAAEwmB,GAAGvlB,GAAG8B,KAAKhE,EAAEszD,GAAGtvD,KAAKsY,QAAQrc,EAAE,GAAGsC,EAAE+wD,GAAGtvD,KAAK4gB,QAAQjhB,EAAE,GAAGH,EAAE,aAAavC,GAAG,cAAcA,EAAE,EAAEkN,KAAK2E,IAAI9S,GAAG,GAAGszD,GAAGjxD,EAAE4U,MAAMhX,EAAE,GAAGwC,EAAE,aAAaxB,GAAG,cAAcA,EAAE,EAAEkN,KAAK2E,IAAIvQ,GAAG,GAAG+wD,GAAGjxD,EAAE6U,OAAOvT,EAAE,GAAG,MAAM,CAAC,sBAAsB8I,OAAOvK,EAAE,SAASuK,OAAOzM,EAAE,SAASyM,OAAOlK,EAAE,aAAakK,OAAOjJ,EAAE,cAAciJ,OAAOhK,EAAE,MAAM,6BAA6BgK,OAAOpK,EAAE4U,MAAM,cAAcxK,OAAOpK,EAAE6U,OAAO,kBAAkBzK,OAAOzI,KAAKmxD,iBAAiB,cAAc,aAAa,IAAIn5C,KAAK,KAAK,CAAC,uBAAaV,CAAWvb,EAAEE,GAAG,IAAIqD,KAAKrC,EAAEumB,OAAOtlB,EAAE4iB,iBAAiB9kB,GAAGD,EAAEwC,EAAEF,EAAEtC,EAAEg1D,IAAI,MAAMvxD,QAAQiX,GAAGvY,EAAEyB,EAAEA,EAAE,CAAA,EAAG1D,GAAG,GAAG,CAAC0a,YAAYpY,EAAEoY,eAAe,OAAO,IAAI3W,KAAKL,EAAEA,EAAE,GAAGpB,GAAG,CAAE,EAAC,CAACuiB,iBAAiB9kB,GAAGA,EAAEkH,MAAM,GAAGsgB,OAAOhkB,IAAI,EAAEzD,EAAEi1D,GAAG,OAAO,WAAW5jD,GAAGI,SAASwjD,IAAI5jD,GAAGI,SAASwjD,GAAG,WAAW,MAAMM,GAAG,WAAA30D,CAAYV,GAAGF,EAAEiE,KAAK,QAAQ,gBAAgBjE,EAAEiE,KAAK,QAAQ,GAAGjE,EAAEiE,KAAK,SAAS,MAAMjE,EAAEiE,KAAK,gBAAgB,SAASjE,EAAEiE,KAAK,iBAAiB,SAASjE,EAAEiE,KAAK,mBAAmB,IAAIjE,EAAEiE,KAAK,kBAAkB,MAAMjE,EAAEiE,KAAK,uBAAsB,GAAIA,KAAKkO,OAAOjS,CAAC,CAAC,eAAAgrD,CAAgBlrD,GAAGA,EAAEspC,YAAYrlC,KAAKk5B,MAAMn9B,EAAE+oC,UAAU9kC,KAAKiT,MAAMlX,EAAEgpC,QAAQ/kC,KAAK0zB,cAAc33B,EAAEmpC,WAAWllC,KAAK4zB,iBAAiB73B,EAAEkpC,SAASjlC,KAAK2zB,eAAe53B,EAAE0pC,YAAYzlC,KAAKwzB,iBAAiB,GAAG,CAAC,iBAAA+9B,CAAkBx1D,GAAG,MAAME,EAAE+D,KAAKkO,OAAOgO,kBAAkBngB,EAAEqjB,OAAOrjB,EAAEoV,UAAUlV,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG,CAAC,eAAAu1D,GAAkB,OAAO,IAAIzgC,GAAG/wB,KAAKk5B,OAAOpH,WAAW,KAAK9xB,KAAKg0B,MAAM,CAAC,UAAAyP,GAAa,IAAIzjC,KAAKg0B,SAASh0B,KAAKkO,OAAO,OAAO,MAAMnS,EAAEiE,KAAKkO,OAAOjS,EAAE+D,KAAKg0B,OAAOr0B,EAAE5D,EAAE+mC,WAAWzkC,EAAEtC,EAAEyhB,UAAUzhB,EAAEghB,mBAAmBpd,EAAE+lC,YAAYzpC,EAAEi9B,MAAMv5B,EAAEgmC,WAAW1pC,EAAEm9B,KAAK/6B,EAAEsB,EAAEkmC,cAAc5pC,EAAEqc,QAAQja,EAAEsB,EAAEmmC,cAAc7pC,EAAE2kB,QAAQviB,CAAC,CAAC,YAAAozD,GAAe,MAAM11D,EAAEiE,KAAKkO,OAAO40B,WAAW/mC,EAAE2pC,YAAY,GAAG3pC,EAAE4pC,WAAW5pC,EAAE8pC,cAAc9pC,EAAE+pC,cAAc,CAAC,CAAC,gBAAA4rB,CAAiB31D,GAAG,OAAOA,EAAEkP,EAAE,GAAGlP,EAAEkP,EAAEjL,KAAKkO,OAAO+O,YAAYlhB,EAAE6D,EAAE,GAAG7D,EAAE6D,EAAEI,KAAKkO,OAAOgP,WAAW,EAAE,MAAMy0C,GAAG,CAAC,OAAO,OAAO,OAAOC,GAAG,CAAC,KAAK,MAAMC,WAAWthB,GAAG,WAAA5zC,CAAYZ,GAAG,IAAIE,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,GAAIu4B,KAAKt2B,EAAEoT,KAAK9V,EAAE+V,IAAI9U,GAAGjC,EAAED,EAAEqC,EAAEpC,EAAE01D,IAAI5pD,QAAQ7K,OAAO+K,OAAOjI,KAAK6xD,GAAGr1C,aAAaxc,KAAKiiC,WAAWjmC,GAAGgE,KAAK8xD,SAAS/1D,GAAG,IAAG,GAAI,iBAAiBkB,GAAG+C,KAAKyN,IAAI9B,GAAE1O,GAAG,iBAAiBiB,GAAG8B,KAAKyN,IAAI7B,GAAE1N,EAAE,CAAC,QAAA4zD,CAAS/1D,EAAEE,GAAG+D,KAAKi2B,KAAK4lB,GAAGt1C,MAAMC,QAAQzK,GAAGA,EAAEghD,GAAGhhD,IAAIiE,KAAK+xD,eAAe91D,EAAE,CAAC,sBAAAkqC,GAAyB,MAAMpqC,EAAEiE,KAAKgyD,sBAAsB,OAAO,IAAI7iD,GAAGpT,EAAEgX,KAAKhX,EAAEkX,MAAM,EAAElX,EAAEiX,IAAIjX,EAAEmX,OAAO,EAAE,CAAC,mBAAAu9C,CAAoB10D,GAAG,MAAME,GAAG+D,KAAK0wD,WAAWzlD,EAAEtL,GAAGK,KAAK0wD,WAAW9wD,EAAE7D,EAAEwkB,YAAY,IAAI,MAAMliB,KAAK2B,KAAKi2B,KAAK,OAAO53B,EAAE,IAAI,IAAI,IAAItC,EAAE0kB,OAAOpiB,EAAE,GAAGpC,EAAEoC,EAAE,GAAGsB,GAAG,MAAM,IAAI,IAAI5D,EAAEykB,OAAOniB,EAAE,GAAGpC,EAAEoC,EAAE,GAAGsB,GAAG,MAAM,IAAI,IAAI5D,EAAEw6C,cAAcl4C,EAAE,GAAGpC,EAAEoC,EAAE,GAAGsB,EAAEtB,EAAE,GAAGpC,EAAEoC,EAAE,GAAGsB,EAAEtB,EAAE,GAAGpC,EAAEoC,EAAE,GAAGsB,GAAG,MAAM,IAAI,IAAI5D,EAAEk2D,iBAAiB5zD,EAAE,GAAGpC,EAAEoC,EAAE,GAAGsB,EAAEtB,EAAE,GAAGpC,EAAEoC,EAAE,GAAGsB,GAAG,MAAM,IAAI,IAAI5D,EAAE2kB,YAAY,CAAC,OAAA6jB,CAAQxoC,GAAGiE,KAAKywD,oBAAoB10D,GAAGiE,KAAK+lC,oBAAoBhqC,EAAE,CAAC,QAAAsL,GAAW,MAAM,WAAWoB,OAAOzI,KAAKoS,aAAa,gBAAgB3J,OAAOzI,KAAKgT,IAAI,cAAcvK,OAAOzI,KAAK+S,KAAK,MAAM,CAAC,QAAAqF,GAAW,IAAIrc,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,OAAOiC,EAAEA,EAAE,CAAE,EAACoI,MAAMqQ,SAASrc,IAAI,CAAA,EAAG,CAACk6B,KAAKj2B,KAAKi2B,KAAK5e,KAAKtb,GAAGA,EAAEmH,WAAW,CAAC,gBAAAye,GAAmB,IAAI5lB,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,MAAMzB,EAAE+D,KAAKoY,SAASrc,GAAG,OAAOiE,KAAKkyD,oBAAoBj2D,EAAEg6B,KAAKh6B,EAAEi2D,WAAWlyD,KAAKkyD,YAAYj2D,CAAC,CAAC,MAAAm4B,GAAS,MAAMr4B,EAAEmhD,GAAGl9C,KAAKi2B,KAAKj6B,EAAE+b,qBAAqB,MAAM,CAAC,SAAS,eAAe,MAAMtP,OAAO1M,EAAE,iCAAiC,CAAC,mBAAAo2D,GAAsB,MAAMp2D,EAAEC,EAAE+b,oBAAoB,MAAM,cAActP,OAAOkP,IAAI3X,KAAK0wD,WAAWzlD,EAAElP,GAAG,MAAM0M,OAAOkP,IAAI3X,KAAK0wD,WAAW9wD,EAAE7D,GAAG,IAAI,CAAC,aAAAmnB,CAAcnnB,GAAG,MAAME,EAAE+D,KAAKmyD,sBAAsB,MAAM,KAAKnyD,KAAKs0B,6BAA6Bt0B,KAAKo0B,SAAS,CAACjd,QAAQpb,EAAEonB,oBAAoBlnB,GAAG,CAAC,KAAAomB,CAAMtmB,GAAG,MAAME,EAAE+D,KAAKmyD,sBAAsB,OAAOnyD,KAAKq0B,qBAAqBr0B,KAAKo0B,SAAS,CAACjd,QAAQpb,EAAEonB,oBAAoBlnB,GAAG,CAAC,UAAAmW,GAAa,OAAOpS,KAAKi2B,KAAKt4B,MAAM,CAAC,aAAA8c,GAAgBza,KAAK+xD,gBAAgB,CAAC,cAAAA,CAAeh2D,GAAG,MAAMkX,MAAMhX,EAAEiX,OAAOvT,EAAE+wD,WAAWryD,GAAG2B,KAAKoyD,kBAAkBpyD,KAAKyN,IAAI,CAACwF,MAAMhX,EAAEiX,OAAOvT,EAAE+wD,WAAWryD,IAAItC,GAAGiE,KAAKmlB,oBAAoB9mB,EAAEqN,GAAEA,GAAE,CAAC,mBAAAsmD,GAAsB,MAAMj2D,EAAE,GAAG,IAAIE,EAAE,EAAE0D,EAAE,EAAEtB,EAAE,EAAEpB,EAAE,EAAE,IAAI,MAAMiB,KAAK8B,KAAKi2B,KAAK,OAAO/3B,EAAE,IAAI,IAAI,IAAIG,EAAEH,EAAE,GAAGjB,EAAEiB,EAAE,GAAGnC,EAAEyB,KAAK,CAACyN,EAAEhP,EAAE2D,EAAED,GAAG,CAACsL,EAAE5M,EAAEuB,EAAE3C,IAAI,MAAM,IAAI,IAAIoB,EAAEH,EAAE,GAAGjB,EAAEiB,EAAE,GAAGjC,EAAEoC,EAAEsB,EAAE1C,EAAE,MAAM,IAAI,IAAIlB,EAAEyB,QAAQg+C,GAAGn9C,EAAEpB,EAAEiB,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,KAAKG,EAAEH,EAAE,GAAGjB,EAAEiB,EAAE,GAAG,MAAM,IAAI,IAAInC,EAAEyB,QAAQg+C,GAAGn9C,EAAEpB,EAAEiB,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,KAAKG,EAAEH,EAAE,GAAGjB,EAAEiB,EAAE,GAAG,MAAM,IAAI,IAAIG,EAAEpC,EAAEgB,EAAE0C,EAAE,OAAOmlB,GAAG/oB,EAAE,CAAC,eAAAq2D,GAAkB,MAAMr2D,EAAEiE,KAAKgyD,sBAAsB,OAAOryD,EAAEA,EAAE,CAAA,EAAG5D,GAAG,CAAA,EAAG,CAAC20D,WAAW,IAAIvhD,GAAGpT,EAAEgX,KAAKhX,EAAEkX,MAAM,EAAElX,EAAEiX,IAAIjX,EAAEmX,OAAO,IAAI,CAAC,iBAAOoE,CAAWvb,GAAG,OAAOiE,KAAKsnC,YAAYvrC,EAAE,CAACwrC,WAAW,QAAQ,CAAC,wBAAaiP,CAAYz6C,EAAEE,EAAEgB,GAAG,MAAMiB,EAAE03C,GAAG75C,EAAEiE,KAAKy2C,gBAAgBx5C,IAAIgD,EAAEjE,GAAGkC,EAAE,OAAO,IAAI8B,KAAKhE,EAAE2D,EAAEA,EAAEA,EAAE,CAAE,EAACtB,EAAEH,EAAE0zD,KAAK31D,GAAG,CAAE,EAAC,CAAC8W,UAAK,EAAOC,SAAI,IAAS,EAAEjX,EAAE81D,GAAG,OAAO,QAAQ91D,EAAE81D,GAAG,kBAAkB,IAAIp4B,GAAG,OAAO,aAAa19B,EAAE81D,GAAG,kBAAkB,IAAIhe,GAAG,MAAMzmC,GAAGI,SAASqkD,IAAIzkD,GAAGO,YAAYkkD,IAAI,MAAMQ,WAAWf,GAAG,WAAA30D,CAAYV,GAAG8L,MAAM9L,GAAGF,EAAEiE,KAAK,WAAW,IAAIjE,EAAEiE,KAAK,oBAAmB,GAAIjE,EAAEiE,KAAK,kBAAkB,YAAYA,KAAKsyD,QAAQ,GAAGtyD,KAAKuyD,kBAAiB,CAAE,CAAC,eAAAf,GAAkB,OAAOzpD,MAAMypD,mBAAmBxxD,KAAKuyD,gBAAgB,CAAC,kBAAOC,CAAYz2D,EAAEE,EAAE0D,GAAG,MAAMtB,EAAEpC,EAAEyU,aAAa/Q,GAAG,OAAO5D,EAAEk2D,iBAAiBh2D,EAAEgP,EAAEhP,EAAE2D,EAAEvB,EAAE4M,EAAE5M,EAAEuB,GAAGvB,CAAC,CAAC,WAAA0vD,CAAYhyD,EAAEE,GAAG,IAAIA,EAAE0D,GAAG1D,EAAE+D,KAAKkO,OAAO4+C,aAAantD,KAAKK,KAAKyyD,mBAAmBzyD,KAAK0yD,iBAAiB/yD,EAAEK,KAAK0yD,iBAAiB1yD,KAAK2yD,mBAAmB52D,GAAGiE,KAAK4yD,UAAU72D,GAAGiE,KAAKukC,UAAU,CAAC,WAAAskB,CAAY9sD,EAAEE,GAAG,IAAIA,EAAE0D,GAAG1D,EAAE,GAAG+D,KAAKkO,OAAO4+C,aAAantD,KAAKK,KAAKyyD,mBAAmBzyD,KAAK0yD,iBAAiB/yD,EAAEK,KAAK0yD,mBAAkB,IAAK1yD,KAAK6yD,sBAAsB7yD,KAAK0xD,iBAAiB31D,KAAKiE,KAAK4yD,UAAU72D,IAAIiE,KAAKsyD,QAAQ30D,OAAO,GAAG,GAAGqC,KAAKwxD,kBAAkBxxD,KAAKkO,OAAO6P,aAAa/d,KAAKkO,OAAO40B,YAAY9iC,KAAKukC,cAAc,CAAC,MAAMxoC,EAAEiE,KAAKsyD,QAAQr2D,EAAEF,EAAE4B,OAAOgC,EAAEK,KAAKkO,OAAO40B,WAAW9iC,KAAKuxD,kBAAkB5xD,GAAGK,KAAK8yD,SAASnzD,EAAE4gB,YAAY5gB,EAAE6gB,OAAOxgB,KAAK8yD,OAAO7nD,EAAEjL,KAAK8yD,OAAOlzD,IAAII,KAAK8yD,OAAOT,GAAGG,YAAY7yD,EAAE5D,EAAEE,EAAE,GAAGF,EAAEE,EAAE,IAAI0D,EAAEo0B,SAASp0B,EAAE2f,SAAS,CAAC,CAAC,SAAA4uC,CAAUnyD,GAAG,IAAIE,EAAEA,GAAGF,EAAE,OAAOiE,KAAKkO,OAAO4+C,aAAa7wD,KAAK+D,KAAKyyD,kBAAiB,EAAGzyD,KAAK8yD,YAAO,EAAO9yD,KAAK+yD,uBAAsB,EAAG,CAAC,kBAAAJ,CAAmB52D,GAAGiE,KAAKgzD,SAAShzD,KAAK4yD,UAAU72D,GAAGiE,KAAKkO,OAAO40B,WAAWtiB,OAAOzkB,EAAEkP,EAAElP,EAAE6D,EAAE,CAAC,SAAAgzD,CAAU72D,GAAG,QAAQiE,KAAKsyD,QAAQ30D,OAAO,GAAG5B,EAAEmU,GAAGlQ,KAAKsyD,QAAQtyD,KAAKsyD,QAAQ30D,OAAO,MAAOqC,KAAKyyD,kBAAkBzyD,KAAKsyD,QAAQ30D,OAAO,IAAIqC,KAAKuyD,kBAAiB,EAAGvyD,KAAKsyD,QAAQvvD,OAAO/C,KAAKsyD,QAAQ90D,KAAKzB,GAAG,GAAG,CAAC,MAAAi3D,GAAShzD,KAAKsyD,QAAQ,GAAGtyD,KAAKinD,gBAAgBjnD,KAAKkO,OAAO40B,YAAY9iC,KAAKyjC,aAAazjC,KAAKuyD,kBAAiB,CAAE,CAAC,OAAAhuB,GAAU,IAAIxoC,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAGsC,KAAKkO,OAAO40B,WAAW7mC,EAAE+D,KAAKsyD,QAAQ,GAAG3yD,EAAEK,KAAKsyD,QAAQ,GAAG,GAAGtyD,KAAKuxD,kBAAkBx1D,GAAGA,EAAEwkB,YAAY,IAAIvgB,KAAKsyD,QAAQ30D,QAAQ1B,EAAEgP,IAAItL,EAAEsL,GAAGhP,EAAE2D,IAAID,EAAEC,EAAE,CAAC,MAAM7D,EAAEiE,KAAKiT,MAAM,IAAIhX,EAAEgP,GAAGlP,EAAE4D,EAAEsL,GAAGlP,CAAC,CAACA,EAAEykB,OAAOvkB,EAAEgP,EAAEhP,EAAE2D,GAAG,IAAI,IAAIvB,EAAE,EAAEA,EAAE2B,KAAKsyD,QAAQ30D,OAAOU,IAAIg0D,GAAGG,YAAYz2D,EAAEE,EAAE0D,GAAG1D,EAAE+D,KAAKsyD,QAAQj0D,GAAGsB,EAAEK,KAAKsyD,QAAQj0D,EAAE,GAAGtC,EAAE0kB,OAAOxkB,EAAEgP,EAAEhP,EAAE2D,GAAG7D,EAAEg4B,SAASh4B,EAAEujB,SAAS,CAAC,sBAAA2zC,CAAuBl3D,GAAG,MAAME,EAAE+D,KAAKiT,MAAM,IAAI,OAAOgqC,GAAGlhD,EAAEE,EAAE,CAAC,UAAAi3D,CAAWn3D,GAAG,MAAME,EAAE,IAAI41D,GAAG91D,EAAE,CAACglB,KAAK,KAAKgT,OAAO/zB,KAAKk5B,MAAM3F,YAAYvzB,KAAKiT,MAAMygB,cAAc1zB,KAAK0zB,cAAcE,iBAAiB5zB,KAAK4zB,iBAAiBD,eAAe3zB,KAAK2zB,eAAeH,gBAAgBxzB,KAAKwzB,kBAAkB,OAAOxzB,KAAKg0B,SAASh0B,KAAKg0B,OAAOqF,cAAa,EAAGp9B,EAAE+3B,OAAO,IAAIgF,GAAGh5B,KAAKg0B,SAAS/3B,CAAC,CAAC,cAAAk3D,CAAep3D,EAAEE,GAAG,GAAGF,EAAE4B,QAAQ,EAAE,OAAO5B,EAAE,IAAI4D,EAAEtB,EAAEtC,EAAE,GAAG,MAAMkB,EAAE+C,KAAKkO,OAAOsP,UAAUtf,EAAEiM,KAAKmL,IAAIrZ,EAAEgB,EAAE,GAAGjB,EAAED,EAAE4B,OAAO,EAAEY,EAAE,CAACF,GAAG,IAAI,IAAIpC,EAAE,EAAEA,EAAED,EAAE,EAAEC,IAAI0D,EAAEwK,KAAKmL,IAAIjX,EAAE4M,EAAElP,EAAEE,GAAGgP,EAAE,GAAGd,KAAKmL,IAAIjX,EAAEuB,EAAE7D,EAAEE,GAAG2D,EAAE,GAAGD,GAAGzB,IAAIG,EAAEtC,EAAEE,GAAGsC,EAAEf,KAAKa,IAAI,OAAOE,EAAEf,KAAKzB,EAAEC,IAAIuC,CAAC,CAAC,mBAAAw0D,GAAsB/yD,KAAKkO,OAAO40B,WAAWpiB,YAAY1gB,KAAKozD,WAAWpzD,KAAKsyD,QAAQtyD,KAAKmzD,eAAenzD,KAAKsyD,QAAQtyD,KAAKozD,WAAW,MAAMr3D,EAAEiE,KAAKizD,uBAAuBjzD,KAAKsyD,SAAS,GAAG,SAASv2D,GAAG,MAAM,0BAA0BmhD,GAAGnhD,EAAE,CAAjD,CAAmDA,GAAG,YAAYiE,KAAKkO,OAAO2O,mBAAmB,MAAM5gB,EAAE+D,KAAKkzD,WAAWn3D,GAAGiE,KAAKkO,OAAO6P,aAAa/d,KAAKkO,OAAO40B,YAAY9iC,KAAKkO,OAAOS,KAAK,sBAAsB,CAACsnB,KAAKh6B,IAAI+D,KAAKkO,OAAOkB,IAAInT,GAAG+D,KAAKkO,OAAO2O,mBAAmB5gB,EAAE6gB,YAAY9c,KAAKyxD,eAAezxD,KAAKkO,OAAOS,KAAK,eAAe,CAACsnB,KAAKh6B,GAAG,EAAE,MAAMo3D,GAAG,CAAC,OAAO,MAAM,UAAUC,GAAG,CAAC,SAAS,aAAa,WAAW,oBAAoB,MAAMC,WAAWhjB,GAAG,kBAAOh0B,GAAc,OAAO5c,EAAEA,EAAE,CAAA,EAAGoI,MAAMwU,eAAeg3C,GAAG/2C,YAAY,CAAC,WAAA7f,CAAYZ,GAAGgM,QAAQ7K,OAAO+K,OAAOjI,KAAKuzD,GAAG/2C,aAAaxc,KAAKiiC,WAAWlmC,EAAE,CAAC,IAAA4X,CAAK5X,EAAEE,GAAG,OAAO8L,MAAM4L,KAAK5X,EAAEE,GAAG,WAAWF,GAAGiE,KAAKwzD,UAAUv3D,GAAG+D,IAAI,CAAC,OAAAukC,CAAQxoC,GAAGA,EAAEwkB,YAAYxkB,EAAEmsC,IAAI,EAAE,EAAEloC,KAAKyzD,OAAO/+C,GAAG1U,KAAK0zD,YAAYh/C,GAAG1U,KAAK2zD,UAAU3zD,KAAK4zD,kBAAkB5zD,KAAK+lC,oBAAoBhqC,EAAE,CAAC,UAAA83D,GAAa,OAAO7zD,KAAK8F,IAAI,UAAU9F,KAAK8F,IAAI6G,GAAE,CAAC,UAAAmnD,GAAa,OAAO9zD,KAAK8F,IAAI,UAAU9F,KAAK8F,IAAI8G,GAAE,CAAC,SAAA4mD,CAAUz3D,GAAGiE,KAAKyzD,OAAO13D,EAAEiE,KAAKyN,IAAI,CAACwF,MAAM,EAAElX,EAAEmX,OAAO,EAAEnX,GAAG,CAAC,QAAAqc,GAAW,IAAIrc,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,OAAOqK,MAAMqQ,SAAS,IAAIk7C,MAAMv3D,GAAG,CAAC,MAAAq4B,GAAS,MAAMr4B,GAAGiE,KAAK2zD,SAAS3zD,KAAK0zD,YAAY,IAAI,GAAG,IAAI33D,EAAE,MAAM,CAAC,WAAW,eAAe,iBAAiB,MAAM,GAAG0M,OAAOzI,KAAKyzD,QAAQ,UAAU,CAAC,MAAMA,OAAOx3D,GAAG+D,KAAKL,EAAE+U,GAAG1U,KAAK0zD,YAAYr1D,EAAEqW,GAAG1U,KAAK2zD,UAAU12D,EAAE4R,GAAGlP,GAAG1D,EAAEiC,EAAE8Q,GAAGrP,GAAG1D,EAAED,EAAE6S,GAAGxQ,GAAGpC,EAAEsC,EAAEyQ,GAAG3Q,GAAGpC,EAAEuD,EAAEzD,EAAE,IAAI,EAAE,EAAE0C,EAAEuB,KAAK4zD,iBAAiB,EAAE,EAAE,MAAM,CAAC,cAAcnrD,OAAOxL,EAAE,KAAKwL,OAAOvK,EAAE,OAAOuK,OAAOxM,EAAE,KAAKwM,OAAOxM,EAAE,OAAOwM,OAAOjJ,EAAE,KAAKiJ,OAAOhK,EAAE,KAAKgK,OAAOzM,EAAE,KAAKyM,OAAOlK,EAAE,MAAM,eAAe,QAAQ,CAAC,CAAC,wBAAai4C,CAAYz6C,EAAEE,EAAEgB,GAAG,MAAMiB,EAAE03C,GAAG75C,EAAEiE,KAAKy2C,gBAAgBx5C,IAAI8V,KAAK/W,EAAE,EAAEgX,IAAIzU,EAAE,EAAEk1D,OAAOj0D,EAAE,GAAGtB,EAAE,OAAO,IAAI8B,KAAKL,EAAEA,EAAE,GAAGtB,EAAEH,EAAEm1D,KAAK,GAAG,CAACI,OAAOj0D,EAAEuT,KAAK/W,EAAEwD,EAAEwT,IAAIzU,EAAEiB,IAAI,CAAC,iBAAO8X,CAAWvb,GAAG,OAAOgM,MAAMu/B,YAAYvrC,EAAE,EAAEA,EAAEw3D,GAAG,OAAO,UAAUx3D,EAAEw3D,GAAG,kBAAkB,IAAI95B,MAAM65B,KAAKv3D,EAAEw3D,GAAG,cAAc,CAACE,OAAO,EAAEC,WAAW,EAAEC,SAAS,IAAIC,kBAAiB,IAAK73D,EAAEw3D,GAAG,kBAAkB,CAAC,KAAK,KAAK,OAAO1f,KAAKzmC,GAAGI,SAAS+lD,IAAInmD,GAAGO,YAAY4lD,IAAkmI,MAAMQ,GAAG,CAAC,KAAK,KAAK,KAAK,MAAMC,GAAG,CAAC,KAAK,KAAK,KAAK,MAAMC,GAAG,CAAC,KAAK,KAAK,KAAK,MAAM,MAAMC,WAAW3jB,GAAG,WAAA5zC,GAAc,IAAIZ,EAAEE,EAAE0D,EAAEtB,GAAGX,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAE,EAAE,EAAE,GAAGT,EAAES,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAE,EAACqK,QAAQ7K,OAAO+K,OAAOjI,KAAKk0D,GAAG13C,aAAaxc,KAAKiiC,WAAWhlC,GAAG+C,KAAK+uD,GAAGhzD,EAAEiE,KAAKivD,GAAGtvD,EAAEK,KAAKgvD,GAAG/yD,EAAE+D,KAAKkvD,GAAG7wD,EAAE2B,KAAKm0D,kBAAkB,MAAMphD,KAAK7U,EAAE8U,IAAIhX,GAAGiB,EAAE,iBAAiBiB,GAAG8B,KAAKyN,IAAI9B,GAAEzN,GAAG,iBAAiBlC,GAAGgE,KAAKyN,IAAI7B,GAAE5P,EAAE,CAAC,eAAAm4D,GAAkB,MAAMpF,GAAGhzD,EAAEizD,GAAG/yD,EAAEgzD,GAAGtvD,EAAEuvD,GAAG7wD,GAAG2B,KAAKA,KAAKiT,MAAM9I,KAAK2E,IAAInP,EAAE5D,GAAGiE,KAAKkT,OAAO/I,KAAK2E,IAAIzQ,EAAEpC,GAAG,MAAM8W,KAAK9V,EAAE+V,IAAI9U,EAAE+U,MAAMjX,EAAEkX,OAAO3U,GAAGumB,GAAG,CAAC,CAAC7Z,EAAElP,EAAE6D,EAAE3D,GAAG,CAACgP,EAAEtL,EAAEC,EAAEvB,KAAKmB,EAAE,IAAI2P,GAAGlS,EAAEjB,EAAE,EAAEkC,EAAEK,EAAE,GAAGyB,KAAKmlB,oBAAoB3lB,EAAEkM,GAAEA,GAAE,CAAC,IAAAiI,CAAK5X,EAAEE,GAAG,OAAO8L,MAAM4L,KAAK5X,EAAEE,GAAGg4D,GAAG/hD,SAASnW,IAAIiE,KAAKm0D,kBAAkBn0D,IAAI,CAAC,OAAAukC,CAAQxoC,GAAGA,EAAEwkB,YAAY,MAAMtkB,EAAE+D,KAAKo0D,iBAAiBr4D,EAAEykB,OAAOvkB,EAAE8yD,GAAG9yD,EAAE+yD,IAAIjzD,EAAE0kB,OAAOxkB,EAAEgzD,GAAGhzD,EAAEizD,IAAInzD,EAAE+oC,UAAU9kC,KAAKuzB,YAAY,MAAM5zB,EAAE5D,EAAEspC,YAAY,IAAIhnC,EAAE4Z,GAAGjY,KAAK+zB,QAAQh4B,EAAEspC,YAAYrlC,KAAK+zB,OAAO7b,OAAOnc,GAAGA,EAAEspC,YAAY,QAAQhnC,EAAE2B,KAAK+zB,cAAS,IAAS11B,EAAEA,EAAEtC,EAAE4kB,UAAU3gB,KAAK+zB,QAAQ/zB,KAAKgmC,cAAcjqC,GAAGA,EAAEspC,YAAY1lC,CAAC,CAAC,sBAAAwmC,GAAyB,OAAO,IAAIh3B,IAAInP,KAAK+uD,GAAG/uD,KAAKivD,IAAI,GAAGjvD,KAAKgvD,GAAGhvD,KAAKkvD,IAAI,EAAE,CAAC,QAAA92C,GAAW,IAAIrc,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,OAAOiC,EAAEA,EAAE,CAAA,EAAGoI,MAAMqQ,SAASrc,IAAIiE,KAAKo0D,iBAAiB,CAAC,4BAAA5yB,GAA+B,MAAMzlC,EAAEgM,MAAMy5B,+BAA+B,MAAM,SAASxhC,KAAK0zB,gBAAgB,IAAI1zB,KAAKiT,QAAQlX,EAAE6D,GAAGI,KAAKuzB,aAAa,IAAIvzB,KAAKkT,SAASnX,EAAEkP,GAAGjL,KAAKuzB,cAAcx3B,CAAC,CAAC,cAAAq4D,GAAiB,MAAMrF,GAAGhzD,EAAEkzD,GAAGhzD,EAAE+yD,GAAGrvD,EAAEuvD,GAAG7wD,EAAE4U,MAAMhW,EAAEiW,OAAOhV,GAAG8B,KAAKhE,EAAED,GAAGE,GAAG,EAAE,EAAEsC,EAAEoB,GAAGtB,GAAG,EAAE,EAAE,MAAM,CAAC0wD,GAAG/yD,EAAEiB,EAAE,EAAEgyD,GAAGjzD,GAAGiB,EAAE,EAAE+xD,GAAGzwD,EAAEL,EAAE,EAAEgxD,GAAG3wD,GAAGL,EAAE,EAAE,CAAC,MAAAk2B,GAAS,MAAM26B,GAAGhzD,EAAEkzD,GAAGhzD,EAAE+yD,GAAGrvD,EAAEuvD,GAAG7wD,GAAG2B,KAAKo0D,iBAAiB,MAAM,CAAC,SAAS,eAAe,OAAO3rD,OAAO1M,EAAE,UAAU0M,OAAO9I,EAAE,UAAU8I,OAAOxM,EAAE,UAAUwM,OAAOpK,EAAE,UAAU,CAAC,wBAAam4C,CAAYz6C,EAAEE,EAAE0D,GAAG,MAAM1C,EAAE24C,GAAG75C,EAAEiE,KAAKy2C,gBAAgB92C,IAAIovD,GAAG7wD,EAAE,EAAE8wD,GAAGhzD,EAAE,EAAEizD,GAAG1wD,EAAE,EAAE2wD,GAAG1vD,EAAE,GAAGvC,EAAE,OAAO,IAAI+C,KAAK,CAAC9B,EAAElC,EAAEuC,EAAEiB,GAAGnB,EAAEpB,EAAE82D,IAAI,CAAC,iBAAOz8C,CAAWvb,GAAG,IAAIgzD,GAAG9yD,EAAE+yD,GAAG/xD,EAAEgyD,GAAG/wD,EAAEgxD,GAAGlzD,GAAGD,EAAEwC,EAAEF,EAAEtC,EAAEi4D,IAAI,OAAOh0D,KAAKsnC,YAAY3nC,EAAEA,EAAE,CAAE,EAACpB,GAAG,CAAA,EAAG,CAACwgC,OAAO,CAAC9iC,EAAEgB,EAAEiB,EAAElC,KAAK,CAACurC,WAAW,UAAU,EAAExrC,EAAEm4D,GAAG,OAAO,QAAQn4D,EAAEm4D,GAAG,kBAAkB,IAAIz6B,MAAMw6B,KAAKl4D,EAAEm4D,GAAG,kBAAkBrgB,GAAGprC,OAAOwrD,KAAK7mD,GAAGI,SAAS0mD,IAAI9mD,GAAGO,YAAYumD,IAAI,MAAMG,WAAW9jB,GAAG,kBAAOh0B,GAAc,OAAO5c,EAAEA,EAAE,CAAE,EAACoI,MAAMwU,eAAe83C,GAAG73C,YAAY,CAAC,WAAA7f,CAAYZ,GAAGgM,QAAQ7K,OAAO+K,OAAOjI,KAAKq0D,GAAG73C,aAAaxc,KAAKiiC,WAAWlmC,EAAE,CAAC,OAAAwoC,CAAQxoC,GAAG,MAAME,EAAE+D,KAAKiT,MAAM,EAAEtT,EAAEK,KAAKkT,OAAO,EAAEnX,EAAEwkB,YAAYxkB,EAAEykB,QAAQvkB,EAAE0D,GAAG5D,EAAE0kB,OAAO,GAAG9gB,GAAG5D,EAAE0kB,OAAOxkB,EAAE0D,GAAG5D,EAAE2kB,YAAY1gB,KAAK+lC,oBAAoBhqC,EAAE,CAAC,MAAAq4B,GAAS,MAAMr4B,EAAEiE,KAAKiT,MAAM,EAAEhX,EAAE+D,KAAKkT,OAAO,EAAE,MAAM,CAAC,YAAY,eAAe,WAAW,GAAGzK,QAAQ1M,EAAE,KAAK0M,OAAOxM,EAAE,OAAOwM,QAAQxM,EAAE,KAAKwM,OAAO1M,EAAE,KAAK0M,OAAOxM,GAAG,OAAO,EAAEF,EAAEs4D,GAAG,OAAO,YAAYt4D,EAAEs4D,GAAG,cAAc,CAACphD,MAAM,IAAIC,OAAO,MAAM9F,GAAGI,SAAS6mD,IAAIjnD,GAAGO,YAAY0mD,IAAI,MAAMC,GAAG,CAAC,KAAK,MAAM,MAAMC,WAAWhkB,GAAG,kBAAOh0B,GAAc,OAAO5c,EAAEA,EAAE,GAAGoI,MAAMwU,eAAeg4C,GAAG/3C,YAAY,CAAC,WAAA7f,CAAYZ,GAAGgM,QAAQ7K,OAAO+K,OAAOjI,KAAKu0D,GAAG/3C,aAAaxc,KAAKiiC,WAAWlmC,EAAE,CAAC,IAAA4X,CAAK5X,EAAEE,GAAG,OAAO8L,MAAM4L,KAAK5X,EAAEE,GAAGF,GAAG,IAAI,KAAKiE,KAAKq2C,GAAGp6C,EAAE+D,KAAKyN,IAAI,QAAQ,EAAExR,GAAG,MAAM,IAAI,KAAK+D,KAAKs2C,GAAGr6C,EAAE+D,KAAKyN,IAAI,SAAS,EAAExR,GAAG,OAAO+D,IAAI,CAAC,KAAAw0D,GAAQ,OAAOx0D,KAAK8F,IAAI,MAAM9F,KAAK8F,IAAI6G,GAAE,CAAC,KAAA8nD,GAAQ,OAAOz0D,KAAK8F,IAAI,MAAM9F,KAAK8F,IAAI8G,GAAE,CAAC,QAAAwL,GAAW,IAAIrc,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,OAAOqK,MAAMqQ,SAAS,IAAIk8C,MAAMv4D,GAAG,CAAC,MAAAq4B,GAAS,MAAM,CAAC,YAAY,eAAe,qBAAqB3rB,OAAOzI,KAAKq2C,GAAG,UAAU5tC,OAAOzI,KAAKs2C,GAAG,UAAU,CAAC,OAAA/R,CAAQxoC,GAAGA,EAAEwkB,YAAYxkB,EAAEqjB,OAAOrjB,EAAEoV,UAAU,EAAE,EAAE,EAAEnR,KAAKs2C,GAAGt2C,KAAKq2C,GAAG,EAAE,GAAGt6C,EAAEmsC,IAAI,EAAE,EAAEloC,KAAKq2C,GAAG,EAAEhrC,GAAE,GAAItP,EAAEujB,UAAUtf,KAAK+lC,oBAAoBhqC,EAAE,CAAC,wBAAay6C,CAAYz6C,EAAEE,EAAE0D,GAAG,MAAMtB,EAAEu3C,GAAG75C,EAAEiE,KAAKy2C,gBAAgB92C,GAAG,OAAOtB,EAAE0U,MAAM1U,EAAE0U,MAAM,GAAG1U,EAAEg4C,GAAGh4C,EAAE2U,KAAK3U,EAAE2U,KAAK,GAAG3U,EAAEi4C,GAAG,IAAIt2C,KAAK3B,EAAE,EAA4KtC,EAAEw4D,GAAG,OAAO,WAAWx4D,EAAEw4D,GAAG,kBAAkB,IAAI96B,MAAM66B,KAAKv4D,EAAEw4D,GAAG,cAAc,CAACle,GAAG,EAAEC,GAAG,IAAIv6C,EAAEw4D,GAAG,kBAAkB,IAAI1gB,GAAG,KAAK,KAAK,KAAK,OAAOzmC,GAAGI,SAAS+mD,IAAInnD,GAAGO,YAAY4mD,IAAI,MAAMG,GAAG,CAAC,OAAO,OAAOC,GAAG,CAACC,kBAAiB,GAAI,MAAMC,WAAWtkB,GAAG,kBAAOh0B,GAAc,OAAO5c,EAAEA,EAAE,CAAA,EAAGoI,MAAMwU,eAAes4C,GAAGr4C,YAAY,CAAC,WAAA7f,GAAc,IAAIV,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAGiC,EAAEjC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAGqK,QAAQhM,EAAEiE,KAAK,kBAAa,GAAQ9C,OAAO+K,OAAOjI,KAAK60D,GAAGr4C,aAAaxc,KAAKiiC,WAAWtiC,GAAGK,KAAK++B,OAAO9iC,EAAE,MAAM8W,KAAK1U,EAAE2U,IAAI/V,GAAG0C,EAAEK,KAAK80D,aAAY,EAAG90D,KAAK+xD,gBAAe,GAAI,iBAAiB1zD,GAAG2B,KAAKyN,IAAI9B,GAAEtN,GAAG,iBAAiBpB,GAAG+C,KAAKyN,IAAI7B,GAAE3O,EAAE,CAAC,MAAA83D,GAAS,OAAM,CAAE,CAAC,sBAAAC,CAAuBj5D,GAAG,OAAOy2C,GAAGxyC,KAAK++B,OAAOhjC,EAAEiE,KAAK+0D,SAAS,CAAC,eAAA3C,CAAgBr2D,GAAGA,EAAE4D,EAAE,CAAC6V,OAAOxV,KAAKwV,OAAOC,OAAOzV,KAAKyV,OAAOC,MAAM1V,KAAK0V,MAAMC,MAAM3V,KAAK2V,MAAM+d,cAAc1zB,KAAK0zB,cAAcC,eAAe3zB,KAAK2zB,eAAeC,iBAAiB5zB,KAAK4zB,iBAAiBa,cAAcz0B,KAAKy0B,cAAclB,YAAYvzB,KAAKuzB,aAAax3B,GAAG,CAAA,GAAI,MAAME,EAAE+D,KAAK40D,iBAAiB50D,KAAKg1D,uBAAuBj5D,GAAGsb,KAAKtb,GAAGA,EAAEq2C,iBAAiBpyC,KAAK++B,OAAO,GAAG,IAAI9iC,EAAE0B,OAAO,MAAM,CAACoV,KAAK,EAAEC,IAAI,EAAEC,MAAM,EAAEC,OAAO,EAAEw9C,WAAW,IAAIvhD,GAAG8lD,aAAa,IAAI9lD,GAAG+lD,WAAW,IAAI/lD,IAAI,MAAM9Q,EAAEymB,GAAG7oB,GAAGgB,EAAEoZ,GAAG1W,EAAEA,EAAE,GAAG5D,GAAG,CAAE,EAAC,CAACyZ,OAAO,EAAEC,OAAO,KAAKvX,EAAE4mB,GAAG9kB,KAAK++B,OAAO1nB,KAAKtb,GAAG+Y,GAAG/Y,EAAEkB,GAAE,MAAOjB,EAAE,IAAImT,GAAGnP,KAAKwV,OAAOxV,KAAKyV,QAAQ,IAAIlX,EAAEF,EAAE0U,KAAK1U,EAAE4U,MAAM,EAAEzT,EAAEnB,EAAE2U,IAAI3U,EAAE6U,OAAO,EAAE,OAAOlT,KAAK40D,mBAAmBr2D,GAAGiB,EAAE2K,KAAK+L,IAAIxB,GAAG1U,KAAK0V,QAAQlW,GAAGjB,EAAE4L,KAAK+L,IAAIxB,GAAG1U,KAAK2V,SAAShW,EAAEA,EAAE,GAAGtB,GAAG,CAAA,EAAG,CAACqyD,WAAW,IAAIvhD,GAAG5Q,EAAEiB,GAAGy1D,aAAa,IAAI9lD,GAAGjR,EAAE6U,KAAK7U,EAAE8U,KAAKxD,SAAS,IAAIL,GAAG9Q,EAAE0U,KAAK1U,EAAE2U,MAAMpD,SAAS5T,GAAGk5D,WAAW,IAAI/lD,GAAG9Q,EAAE4U,MAAM5U,EAAE6U,QAAQ1D,SAAS,IAAIL,GAAGjR,EAAE+U,MAAM/U,EAAEgV,SAAStD,SAAS5T,IAAI,CAAC,sBAAAmqC,GAAyB,MAAMpqC,EAAE+oB,GAAG9kB,KAAK++B,QAAQ,OAAO,IAAI5vB,GAAGpT,EAAEgX,KAAKhX,EAAEkX,MAAM,EAAElX,EAAEiX,IAAIjX,EAAEmX,OAAO,EAAE,CAAC,aAAAuH,GAAgBza,KAAK+xD,gBAAgB,CAAC,cAAAA,CAAeh2D,GAAG,MAAMgX,KAAK9W,EAAE+W,IAAIrT,EAAEsT,MAAM5U,EAAE6U,OAAOjW,EAAEyzD,WAAWxyD,EAAE+2D,aAAaj5D,EAAEk5D,WAAW32D,GAAGyB,KAAKoyD,kBAAkBpyD,KAAKyN,IAAI,CAACwF,MAAM5U,EAAE6U,OAAOjW,EAAEyzD,WAAWxyD,EAAE+2D,aAAaj5D,EAAEk5D,WAAW32D,IAAIxC,GAAGiE,KAAKmlB,oBAAoB,IAAIhW,GAAGlT,EAAEoC,EAAE,EAAEsB,EAAE1C,EAAE,GAAGyO,GAAEA,GAAE,CAAC,gCAAA20B,GAAmC,OAAOrgC,KAAK40D,gBAAgB,CAAC,4BAAApzB,GAA+B,OAAOxhC,KAAK40D,iBAAiB,IAAIzlD,GAAGnP,KAAKiT,MAAMjT,KAAKkT,QAAQnL,MAAMy5B,8BAA8B,CAAC,yBAAAT,GAA4B,IAAIhlC,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,GAAGsC,KAAK40D,iBAAiB,CAAC,IAAI12D,EAAE,GAAGhB,OAAOC,KAAKpB,GAAGoW,MAAMpW,GAAGiE,KAAKy0B,eAAez0B,KAAKrD,YAAYw4D,iBAAiBjjD,SAASnW,KAAK,CAAC,IAAIE,EAAE0D,EAAE,MAAMsT,MAAM5U,EAAE6U,OAAOjW,GAAG+C,KAAKoyD,gBAAgBr2D,GAAGmC,EAAE,IAAIiR,GAAG,QAAQlT,EAAEF,EAAEkX,aAAQ,IAAShX,EAAEA,EAAEoC,EAAE,QAAQsB,EAAE5D,EAAEmX,cAAS,IAASvT,EAAEA,EAAE1C,EAAE,KAAK,CAAC,IAAIoB,EAAEpB,EAAEiB,EAAE,IAAIiR,GAAG,QAAQ9Q,EAAEtC,EAAEkX,aAAQ,IAAS5U,EAAEA,EAAE2B,KAAKiT,MAAM,QAAQhW,EAAElB,EAAEmX,cAAS,IAASjW,EAAEA,EAAE+C,KAAKkT,OAAO,CAAC,OAAOhV,EAAE0R,SAAS,IAAIT,GAAGpT,EAAEyZ,QAAQxV,KAAKwV,OAAOzZ,EAAE0Z,QAAQzV,KAAKyV,QAAQ,CAAC,OAAO1N,MAAMg5B,0BAA0BhlC,EAAE,CAAC,IAAA4X,CAAK5X,EAAEE,GAAG,MAAM0D,EAAEK,KAAK80D,aAAa90D,KAAKjE,KAAKE,EAAEoC,EAAE0J,MAAM4L,KAAK5X,EAAEE,GAAG,OAAO+D,KAAK40D,kBAAkBj1D,KAAK5D,IAAI4Q,IAAG5Q,IAAI6Q,KAAI5M,KAAKy0B,eAAez0B,KAAKrD,YAAYw4D,iBAAiBjjD,SAAS,kBAAkBlS,KAAKrD,YAAYw4D,iBAAiBjjD,SAASnW,KAAKiE,KAAKya,gBAAgBpc,CAAC,CAAC,QAAA+Z,GAAW,IAAIrc,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,OAAOiC,EAAEA,EAAE,CAAE,EAACoI,MAAMqQ,SAASrc,IAAI,CAAE,EAAC,CAACgjC,OAAO/+B,KAAK++B,OAAO1nB,KAAKtb,IAAI,IAAIkP,EAAEhP,EAAE2D,EAAED,GAAG5D,EAAE,MAAM,CAACkP,EAAEhP,EAAE2D,EAAED,EAAG,KAAI,CAAC,MAAAy0B,GAAS,MAAMr4B,EAAE,GAAGE,EAAE+D,KAAK0wD,WAAWzlD,EAAEtL,EAAEK,KAAK0wD,WAAW9wD,EAAEvB,EAAErC,EAAE+b,oBAAoB,IAAI,IAAI9a,EAAE,EAAEiB,EAAE8B,KAAK++B,OAAOphC,OAAOV,EAAEiB,EAAEjB,IAAIlB,EAAEyB,KAAKma,GAAG3X,KAAK++B,OAAO9hC,GAAGgO,EAAEhP,EAAEoC,GAAG,IAAIsZ,GAAG3X,KAAK++B,OAAO9hC,GAAG2C,EAAED,EAAEtB,GAAG,KAAK,MAAM,CAAC,IAAIoK,OAAOzI,KAAKrD,YAAY2C,KAAKoL,cAAc,KAAK,eAAe,WAAWjC,OAAO1M,EAAEic,KAAK,IAAI,UAAU,CAAC,OAAAusB,CAAQxoC,GAAG,MAAME,EAAE+D,KAAK++B,OAAOphC,OAAOgC,EAAEK,KAAK0wD,WAAWzlD,EAAE5M,EAAE2B,KAAK0wD,WAAW9wD,EAAE,GAAG3D,IAAImG,MAAMpC,KAAK++B,OAAO9iC,EAAE,GAAG2D,GAAG,CAAC7D,EAAEwkB,YAAYxkB,EAAEykB,OAAOxgB,KAAK++B,OAAO,GAAG9zB,EAAEtL,EAAEK,KAAK++B,OAAO,GAAGn/B,EAAEvB,GAAG,IAAI,IAAIpB,EAAE,EAAEA,EAAEhB,EAAEgB,IAAI,CAAC,MAAMhB,EAAE+D,KAAK++B,OAAO9hC,GAAGlB,EAAE0kB,OAAOxkB,EAAEgP,EAAEtL,EAAE1D,EAAE2D,EAAEvB,EAAE,EAAE2B,KAAK+0D,UAAUh5D,EAAE2kB,YAAY1gB,KAAK+lC,oBAAoBhqC,EAAE,CAAC,CAAC,UAAAqW,GAAa,OAAOpS,KAAK++B,OAAOphC,MAAM,CAAC,wBAAa64C,CAAYz6C,EAAEE,EAAEgB,GAAG,OAAO,IAAI+C,KAAhlI,SAAYjE,GAAG,IAAIA,EAAE,MAAM,GAAG,MAAME,EAAEF,EAAEo9B,QAAQ,KAAK,KAAKpG,OAAOL,MAAM,OAAO/yB,EAAE,GAAG,IAAI,IAAI5D,EAAE,EAAEA,EAAEE,EAAE0B,OAAO5B,GAAG,EAAE4D,EAAEnC,KAAK,CAACyN,EAAE2M,WAAW3b,EAAEF,IAAI6D,EAAEgY,WAAW3b,EAAEF,EAAE,MAAM,OAAO4D,CAAC,CAA46Hy1D,CAAGr5D,EAAEi4C,aAAa,WAAWr0C,EAAEA,EAAE,CAAA,EAAGtB,EAAEu3C,GAAG75C,EAAEiE,KAAKy2C,gBAAgBx5C,GAAGy3D,KAAKz4D,GAAG,CAAC,iBAAOqb,CAAWvb,GAAG,OAAOiE,KAAKsnC,YAAYvrC,EAAE,CAACwrC,WAAW,UAAU,EAAExrC,EAAE84D,GAAG,cAAcF,IAAI54D,EAAE84D,GAAG,OAAO,YAAY94D,EAAE84D,GAAG,mBAAmB,CAAChoD,GAAEC,GAAE,gBAAgB,iBAAiB,mBAAmB,cAAc,gBAAgB,WAAW/Q,EAAE84D,GAAG,kBAAkB,IAAIp7B,GAAG,WAAW19B,EAAE84D,GAAG,kBAAkB,IAAIhhB,KAAKzmC,GAAGI,SAASqnD,IAAIznD,GAAGO,YAAYknD,IAAI,MAAMQ,WAAWR,GAAG,MAAAE,GAAS,OAAM,CAAE,EAAEh5D,EAAEs5D,GAAG,cAAcV,IAAI54D,EAAEs5D,GAAG,OAAO,WAAWjoD,GAAGI,SAAS6nD,IAAIjoD,GAAGO,YAAY0nD,IAAI,MAAMC,WAAW/kB,GAAG,aAAAglB,CAAcx5D,GAAG,IAAIiE,KAAKqjB,OAAO,OAAM,EAAG,QAAG,IAAStnB,IAAIiE,KAAKqjB,OAAOtnB,GAAG,OAAM,EAAG,MAAME,OAAE,IAASF,EAAEiE,KAAKqjB,OAAO,CAACmyC,KAAKx1D,KAAKqjB,OAAOtnB,IAAI,IAAI,MAAMA,KAAKE,EAAE,IAAI,MAAM0D,KAAK1D,EAAEF,GAAG,IAAI,MAAMsC,KAAKpC,EAAEF,GAAG4D,GAAG,OAAM,EAAG,OAAM,CAAE,CAAC,QAAA81D,CAAS15D,EAAEE,GAAG,IAAI+D,KAAKqjB,OAAO,OAAM,EAAG,QAAG,IAASpnB,IAAI+D,KAAKqjB,OAAOpnB,GAAG,OAAM,EAAG,MAAM0D,OAAE,IAAS1D,EAAE+D,KAAKqjB,OAAO,CAAC,EAAErjB,KAAKqjB,OAAOpnB,IAAI,IAAI,MAAMA,KAAK0D,EAAE,IAAI,MAAMtB,KAAKsB,EAAE1D,GAAG,QAAG,IAAS0D,EAAE1D,GAAGoC,GAAGtC,GAAG,OAAM,EAAG,OAAM,CAAE,CAAC,UAAA25D,CAAW35D,GAAG,IAAIiE,KAAKqjB,OAAO,OAAM,EAAG,MAAMpnB,EAAE+D,KAAKqjB,OAAO,IAAI1jB,EAAEtB,EAAEpB,EAAE,EAAEiB,GAAE,EAAGlC,EAAE,EAAE,IAAI,MAAMA,KAAKC,EAAE,CAAC0D,EAAE,EAAE,IAAI,MAAMpB,KAAKtC,EAAED,GAAG,CAAC,MAAMwD,EAAEvD,EAAED,GAAGuC,IAAI,CAAA,EAAGtB,SAAI,IAASuC,EAAEzD,IAAIsC,EAAEmB,EAAEzD,KAAKsC,IAAIH,GAAE,GAAIG,EAAEmB,EAAEzD,GAAGyD,EAAEzD,KAAKiE,KAAKjE,WAAWyD,EAAEzD,IAAImC,GAAE,EAAG,IAAIhB,OAAOC,KAAKqC,GAAG7B,OAAOgC,WAAW1D,EAAED,GAAGuC,EAAE,CAAC,IAAIoB,UAAU1D,EAAED,EAAE,CAAC,IAAI,IAAID,EAAE,EAAEA,EAAEiE,KAAK21D,WAAWh4D,OAAO5B,IAAIC,GAAGgE,KAAK21D,WAAW55D,GAAG4B,OAAOO,GAAGjB,IAAIjB,IAAIgE,KAAKjE,GAAGsC,EAAE2B,KAAK41D,YAAY75D,GAAG,CAAC,WAAA65D,CAAY75D,GAAG,IAAIiE,KAAKqjB,OAAO,OAAO,MAAMpnB,EAAE+D,KAAKqjB,OAAO,IAAI1jB,EAAEtB,EAAEpB,EAAE,IAAIoB,KAAKpC,EAAE,CAAC,IAAIgB,KAAK0C,EAAE1D,EAAEoC,GAAGsB,SAASA,EAAE1C,GAAGlB,GAAG,IAAImB,OAAOC,KAAKwC,EAAE1C,IAAIU,eAAegC,EAAE1C,GAAG,IAAIC,OAAOC,KAAKwC,GAAGhC,eAAe1B,EAAEoC,EAAE,CAAC,CAAC,aAAAw3D,CAAc95D,EAAEE,GAAG,MAAM65D,UAAUz3D,EAAE03D,UAAU94D,GAAG+C,KAAKg2D,oBAAoBj6D,GAAGiE,KAAKi2D,cAAc53D,IAAI2B,KAAKk2D,cAAc73D,GAAG,MAAMH,EAAEwZ,GAAG/X,EAAEA,EAAE,CAAA,EAAGK,KAAKm2D,qBAAqB93D,EAAEpB,IAAIhB,IAAIF,QAAG,IAASA,IAAIiE,KAAKo2D,qBAAqB/3D,EAAEpB,EAAEiB,EAAE,CAAC,kBAAAm4D,CAAmBt6D,EAAEE,EAAE0D,GAAG,MAAMtB,EAAE,GAAG,IAAI,IAAIpB,EAAElB,EAAEkB,GAAGhB,GAAGF,GAAGkB,IAAIoB,EAAEb,KAAKwC,KAAKs2D,mBAAmBr5D,EAAE0C,IAAI,OAAOtB,CAAC,CAAC,kBAAAi4D,CAAmBv6D,EAAEE,GAAG,MAAM65D,UAAUn2D,EAAEo2D,UAAU13D,GAAG2B,KAAKg2D,oBAAoBj6D,GAAG,OAAOE,EAAE+D,KAAKu2D,4BAA4B52D,EAAEtB,GAAG2B,KAAKm2D,qBAAqBx2D,EAAEtB,EAAE,CAAC,kBAAAm4D,CAAmBz6D,EAAEE,EAAE0D,GAAG,IAAI,IAAItB,EAAEpC,EAAEoC,GAAGsB,GAAG1D,GAAGoC,IAAI2B,KAAK61D,cAAcx3D,EAAEtC,GAAGiE,KAAKy2D,kBAAiB,CAAE,CAAC,oBAAAN,CAAqBp6D,EAAEE,GAAG,IAAI0D,EAAE,MAAMtB,EAAE2B,KAAKqjB,QAAQrjB,KAAKqjB,OAAOtnB,GAAG,OAAOsC,GAAG,QAAQsB,EAAEtB,EAAEpC,UAAK,IAAS0D,EAAEA,EAAE,CAAA,CAAE,CAAC,2BAAA42D,CAA4Bx6D,EAAEE,GAAG,OAAO0D,EAAEA,EAAE,CAAA,EAAG8X,GAAGzX,KAAKA,KAAKrD,YAAY+5D,mBAAmB12D,KAAKm2D,qBAAqBp6D,EAAEE,GAAG,CAAC,oBAAAm6D,CAAqBr6D,EAAEE,EAAE0D,GAAGK,KAAKqjB,OAAOtnB,GAAGE,GAAG0D,CAAC,CAAC,uBAAAg3D,CAAwB56D,EAAEE,UAAU+D,KAAKqjB,OAAOtnB,GAAGE,EAAE,CAAC,aAAAg6D,CAAcl6D,GAAG,QAAQiE,KAAKqjB,OAAOtnB,EAAE,CAAC,aAAAm6D,CAAcn6D,GAAGiE,KAAKqjB,OAAOtnB,GAAG,CAAE,CAAA,CAAC,gBAAA66D,CAAiB76D,UAAUiE,KAAKqjB,OAAOtnB,EAAE,EAAEA,EAAEu5D,GAAG,mBAAmBlgC,IAAI,MAAMyhC,GAAG,OAAOC,GAAG,KAAK,SAASC,GAAGh7D,EAAEE,EAAE0D,EAAEtB,EAAEpB,GAAG,MAAM,OAAOwL,OAAO,SAAS1M,EAAEE,GAAG,IAAI8W,KAAKpT,EAAEqT,IAAI3U,EAAE4U,MAAMhW,EAAEiW,OAAOhV,GAAGjC,EAAEsC,EAAEb,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG1B,EAAE+b,oBAAoB,MAAMvY,EAAE2zB,GAAGpmB,GAAEhR,GAAE,IAAK0C,EAAEgB,EAAEd,EAAEsB,GAAG,CAACN,EAAEtB,EAAEpB,EAAEiB,GAAGmZ,KAAKtb,GAAG4b,GAAG5b,EAAEwC,KAAK,MAAM,SAASkK,OAAOjJ,EAAE,QAAQiJ,OAAOhK,EAAE,SAASgK,OAAOhJ,EAAE,aAAagJ,OAAO9J,EAAE,cAAc8J,OAAOxI,EAAE,YAAY,CAA/S,CAAiTlE,EAAE,CAACgX,KAAK9W,EAAE+W,IAAIrT,EAAEsT,MAAM5U,EAAE6U,OAAOjW,IAAI,KAAK,CAAC,MAAM+5D,GAAG,CAAC,aAAa,iBAAiB,KAAK,KAAK,MAAM,OAAO,WAAW,eAAe,IAAIC,GAAG,MAAMC,WAAW5B,GAAG,kBAAO/4C,GAAc,OAAO5c,EAAEA,EAAE,CAAA,EAAGoI,MAAMwU,eAAe26C,GAAG16C,YAAY,CAAC,WAAA7f,CAAYV,EAAE0D,GAAGoI,QAAQhM,EAAEiE,KAAK,eAAe,IAAI9C,OAAO+K,OAAOjI,KAAKk3D,GAAG16C,aAAaxc,KAAKiiC,WAAWtiC,GAAGK,KAAKqjB,SAASrjB,KAAKqjB,OAAO,CAAA,GAAIrjB,KAAKm3D,KAAKl7D,EAAE+D,KAAK80D,aAAY,EAAG90D,KAAKi2B,MAAMj2B,KAAKo3D,cAAcp3D,KAAKq3D,iBAAiBr3D,KAAK8c,WAAW,CAAC,WAAAs6C,GAAc,MAAMr7D,EAAEiE,KAAKi2B,KAAKl6B,IAAIA,EAAEu7D,aAAa9yD,GAAGzI,EAAEk6B,MAAM,CAAC,UAAAshC,GAAa,MAAMx7D,EAAEiE,KAAKw3D,oBAAoBx3D,KAAKm3D,MAAM,OAAOn3D,KAAKy3D,UAAU17D,EAAE27D,MAAM13D,KAAK21D,WAAW55D,EAAE47D,cAAc33D,KAAK43D,oBAAoB77D,EAAE87D,gBAAgB73D,KAAK83D,MAAM/7D,EAAEg8D,aAAah8D,CAAC,CAAC,cAAAs7D,GAAiBr3D,KAAKu3D,aAAav3D,KAAKg4D,cAAch4D,KAAKg6B,OAAM,EAAGh6B,KAAKi2B,MAAMj2B,KAAKiT,MAAMjT,KAAKi2B,KAAKhjB,MAAMjT,KAAKkT,OAAOlT,KAAKi2B,KAAK/iB,SAASlT,KAAKiT,MAAMjT,KAAKi4D,iBAAiBj4D,KAAKk4D,aAAal4D,KAAKy2B,eAAez2B,KAAKkT,OAAOlT,KAAKm4D,kBAAkBn4D,KAAK81B,UAAU5jB,SAAS8kB,KAAKh3B,KAAKo4D,eAAe,CAAC,aAAAA,GAAgB,IAAIr8D,EAAEE,EAAE0D,EAAEtB,EAAEpB,EAAEiB,EAAElC,EAAE,IAAI,IAAIuC,EAAE,EAAEiB,EAAEQ,KAAK21D,WAAWh4D,OAAOY,EAAEiB,EAAEjB,IAAI,IAAIyB,KAAK81B,YAAYkB,IAAIz4B,IAAIiB,EAAE,IAAIQ,KAAKq4D,gBAAgB95D,MAAMF,EAAE,EAAEpB,EAAE+C,KAAK21D,WAAWp3D,GAAGtC,EAAE+D,KAAKs4D,aAAa/5D,GAAGtC,EAAE+D,KAAKiT,QAAQjX,EAAEgE,KAAKy3D,UAAUl5D,GAAG8zB,MAAMryB,KAAKu1B,oBAAoB,CAAC51B,EAAE3D,EAAE2B,OAAO5B,GAAGiE,KAAKiT,MAAMhX,GAAG0D,EAAE,IAAI,IAAI1D,EAAE,EAAEA,GAAGgB,EAAEU,OAAO1B,IAAIiC,EAAE8B,KAAKu4D,aAAah6D,GAAGtC,GAAG+D,KAAKw1B,eAAeluB,KAAKrK,EAAEhB,KAAKiC,EAAE+U,OAAOlX,EAAEmC,EAAEs6D,aAAaz8D,EAAEmC,EAAE6U,MAAM1U,EAAEA,GAAGtC,GAAGmC,EAAE6U,MAAM1U,CAAC,CAAC,CAAC,eAAAg6D,CAAgBt8D,GAAG,OAAOA,IAAIiE,KAAK21D,WAAWh4D,OAAO,CAAC,CAAC,oBAAA86D,CAAqB18D,GAAG,OAAO,CAAC,CAAC,mBAAAi6D,CAAoBj6D,EAAEE,GAAG,MAAM0D,EAAE1D,EAAE+D,KAAK43D,oBAAoB53D,KAAK21D,WAAW,IAAIt3D,EAAE,IAAIA,EAAE,EAAEA,EAAEsB,EAAEhC,OAAOU,IAAI,CAAC,GAAGtC,GAAG4D,EAAEtB,GAAGV,OAAO,MAAM,CAACm4D,UAAUz3D,EAAE03D,UAAUh6D,GAAGA,GAAG4D,EAAEtB,GAAGV,OAAOqC,KAAKy4D,qBAAqBp6D,EAAEpC,EAAE,CAAC,MAAM,CAAC65D,UAAUz3D,EAAE,EAAE03D,UAAUp2D,EAAEtB,EAAE,GAAGV,OAAO5B,EAAE4D,EAAEtB,EAAE,GAAGV,OAAO5B,EAAE,CAAC,QAAAsL,GAAW,MAAM,WAAWoB,OAAOzI,KAAKoS,aAAa,kBAAkB3J,OAAOzI,KAAKm3D,KAAK,sBAAsB1uD,OAAOzI,KAAKuK,WAAW,OAAO,CAAC,yBAAAk4B,GAA4B,MAAM1mC,EAAEgM,MAAM06B,4BAA4BxmC,EAAE+D,KAAK01B,SAAS,OAAO35B,EAAEkX,OAAOhX,EAAEF,EAAEgkB,MAAMhkB,EAAEmX,QAAQjX,EAAEF,EAAEikB,MAAMjkB,CAAC,CAAC,OAAAwoC,CAAQxoC,GAAG,MAAME,EAAE+D,KAAKi2B,KAAKh6B,IAAIA,EAAEonC,gBAAgBpnC,EAAEsoC,QAAQxoC,GAAGiE,KAAK04D,eAAe38D,GAAGiE,KAAK24D,2BAA2B58D,GAAGiE,KAAK44D,sBAAsB78D,EAAE,aAAaiE,KAAKojB,YAAYrnB,GAAGiE,KAAK44D,sBAAsB78D,EAAE,YAAYiE,KAAK44D,sBAAsB78D,EAAE,cAAc,CAAC,WAAAqnB,CAAYrnB,GAAGiE,KAAK40B,aAAa5nB,IAAGhN,KAAK64D,kBAAkB98D,GAAGiE,KAAK84D,gBAAgB/8D,KAAKiE,KAAK84D,gBAAgB/8D,GAAGiE,KAAK64D,kBAAkB98D,GAAG,CAAC,cAAA28D,CAAe38D,EAAEE,EAAE0D,GAAG,GAAG5D,EAAEg9D,aAAa,aAAa/4D,KAAKi2B,KAAK,OAAOj2B,KAAKo2B,WAAW,KAAK1qB,GAAE3P,EAAEg9D,aAAa,SAAS,MAAM,IAAI,WAAWh9D,EAAEg9D,aAAantD,GAAE,MAAM,IAAI,YAAY7P,EAAEg9D,aAAaltD,GAAE9P,EAAEg6C,KAAK/1C,KAAKg5D,oBAAoB/8D,EAAE0D,EAAE,CAAC,aAAAs4D,GAAgB,IAAIl8D,EAAEiE,KAAKs4D,aAAa,GAAG,IAAI,IAAIr8D,EAAE,EAAE0D,EAAEK,KAAK21D,WAAWh4D,OAAO1B,EAAE0D,EAAE1D,IAAI,CAAC,MAAM0D,EAAEK,KAAKs4D,aAAar8D,GAAG0D,EAAE5D,IAAIA,EAAE4D,EAAE,CAAC,OAAO5D,CAAC,CAAC,eAAAk9D,CAAgBl9D,EAAEE,EAAE0D,EAAEtB,EAAEpB,EAAEiB,GAAG8B,KAAKk5D,aAAan9D,EAAEE,EAAE0D,EAAEtB,EAAEpB,EAAEiB,EAAE,CAAC,0BAAAy6D,CAA2B58D,GAAG,IAAIiE,KAAKg2B,sBAAsBh2B,KAAKy1D,SAAS,uBAAuB,OAAO,MAAMx5D,EAAEF,EAAE4kB,UAAUhhB,EAAEK,KAAKm5D,iBAAiB,IAAI96D,EAAE2B,KAAKo5D,gBAAgB,IAAI,IAAIn9D,EAAE,EAAEgB,EAAE+C,KAAK21D,WAAWh4D,OAAO1B,EAAEgB,EAAEhB,IAAI,CAAC,MAAMgB,EAAE+C,KAAKq5D,gBAAgBp9D,GAAG,IAAI+D,KAAKg2B,sBAAsBh2B,KAAKy1D,SAAS,sBAAsBx5D,GAAG,CAACoC,GAAGpB,EAAE,QAAQ,CAAC,MAAMiB,EAAE8B,KAAK21D,WAAW15D,GAAG0B,OAAO3B,EAAEgE,KAAKs5D,mBAAmBr9D,GAAG,IAAIsC,EAAEiB,EAAEf,EAAE,EAAEgB,EAAE,EAAEd,EAAEqB,KAAKu5D,qBAAqBt9D,EAAE,EAAE,uBAAuB,IAAI,IAAIgE,EAAE,EAAEA,EAAE/B,EAAE+B,IAAI,CAAC,MAAM/B,EAAE8B,KAAKu4D,aAAat8D,GAAGgE,GAAGT,EAAEQ,KAAKu5D,qBAAqBt9D,EAAEgE,EAAE,uBAAuBD,KAAKi2B,MAAMl6B,EAAEqjB,OAAOrjB,EAAE8mC,UAAU3kC,EAAEs7D,WAAWt7D,EAAEwmD,WAAW3oD,EAAEkV,OAAO/S,EAAEqX,OAAOxZ,EAAE4kB,UAAUnhB,EAAEA,GAAGzD,EAAE2oC,UAAUxmC,EAAE+U,MAAM,GAAGhW,EAAE+C,KAAK+1B,YAAY,EAAE/1B,KAAK62B,mBAAmB34B,EAAE+U,MAAMhW,EAAE+C,KAAK+1B,YAAYh6B,EAAEujB,WAAW9f,IAAIb,GAAGJ,EAAEoB,EAAE3D,EAAEyD,EAAE,QAAQO,KAAKu2B,YAAYh4B,EAAEyB,KAAKiT,MAAM1U,EAAEE,GAAG1C,EAAE4kB,UAAUhiB,EAAEA,GAAG5C,EAAE2oC,SAASnmC,EAAEF,EAAEI,EAAExB,EAAE+C,KAAK+1B,YAAYt2B,EAAEvB,EAAE6U,KAAKtU,EAAEP,EAAE+U,MAAMtU,EAAEa,GAAGf,GAAGP,EAAEs6D,WAAW,CAACh5D,IAAIQ,KAAKi2B,OAAO13B,EAAEoB,EAAE3D,EAAEyD,EAAE,QAAQO,KAAKu2B,YAAYh4B,EAAEyB,KAAKiT,MAAM1U,EAAEE,GAAG1C,EAAE4kB,UAAUnhB,EAAEzD,EAAE2oC,SAASnmC,EAAEF,EAAEI,EAAExB,EAAE+C,KAAK+1B,aAAa13B,GAAGpB,CAAC,CAAClB,EAAE4kB,UAAU1kB,EAAE+D,KAAK2kC,cAAc5oC,EAAE,CAAC,YAAA09D,CAAa19D,EAAEE,EAAE0D,EAAEtB,GAAG,MAAMpB,EAAEoN,EAAEC,aAAarO,GAAGiC,EAAE8B,KAAKg5D,oBAAoB/8D,GAAGD,EAAE2D,EAAE5D,EAAEwC,EAAEoB,GAAGzB,IAAI8B,KAAKg5D,oBAAoB36D,GAAGmB,EAAEvD,EAAEy5B,SAAS11B,KAAKw2B,gBAAgB,IAAI/3B,EAAEgB,EAAEd,EAAEsB,EAAE,GAAGN,QAAG,IAAS1C,EAAE0C,KAAKhB,EAAE1B,EAAE0C,SAAI,IAAS1C,EAAElB,KAAKkE,EAAExB,EAAExB,EAAElB,IAAIwC,QAAG,IAAStB,EAAEjB,KAAKyD,EAAExC,EAAEjB,GAAGiE,EAAER,EAAEd,QAAG,IAASF,QAAG,IAASE,QAAG,IAASc,EAAE,CAAC,MAAMpB,EAAE,WAAW,IAAI44D,GAAG,CAAC,MAAMl7D,EAAEsY,GAAG,CAACpB,MAAM,EAAEC,OAAO,IAAI+jD,GAAGl7D,EAAEmN,WAAW,KAAK,CAAC,OAAO+tD,EAAE,CAAjF,GAAqFj3D,KAAK04D,eAAer6D,EAAEpC,GAAE,QAAI,IAASwC,IAAIwB,EAAExB,EAAEJ,EAAEq7D,YAAY39D,GAAGkX,MAAMhW,EAAElB,GAAG0C,QAAG,IAASE,GAAGJ,GAAGoB,IAAIhB,EAAEN,EAAEq7D,YAAY/5D,GAAGsT,MAAMhW,EAAE0C,GAAGhB,GAAGJ,QAAG,IAASkB,IAAIA,EAAEpB,EAAEq7D,YAAY19D,GAAGiX,MAAMhW,EAAEjB,GAAGyD,EAAEQ,EAAER,EAAEd,EAAE,CAAC,MAAM,CAACsU,MAAMxU,EAAEe,EAAEg5D,YAAYv4D,EAAET,EAAE,CAAC,eAAAm6D,CAAgB59D,EAAEE,GAAG,OAAO+D,KAAKu5D,qBAAqBx9D,EAAEE,EAAE,WAAW,CAAC,WAAA29D,CAAY79D,GAAG,MAAME,EAAE+D,KAAK65D,aAAa99D,GAAG,OAAO,IAAIiE,KAAKq2B,cAAcp6B,EAAEgX,OAAOjT,KAAK85D,0BAA0B79D,EAAEgX,MAAM,IAAIhX,EAAEgX,MAAM,GAAGhX,CAAC,CAAC,YAAA49D,CAAa99D,GAAG,IAAIE,EAAE0D,EAAEtB,EAAE,EAAE,MAAMpB,EAAE+C,KAAKm2B,WAAWrqB,GAAE5N,EAAE8B,KAAKi2B,KAAKj6B,EAAEgE,KAAK21D,WAAW55D,GAAGwC,EAAEvC,EAAE2B,OAAO6B,EAAE,IAAI+G,MAAMhI,GAAGyB,KAAKu4D,aAAax8D,GAAGyD,EAAE,IAAI,IAAIvC,EAAE,EAAEA,EAAEsB,EAAEtB,IAAI,CAAC,MAAMiB,EAAElC,EAAEiB,GAAG0C,EAAEK,KAAK+5D,gBAAgB77D,EAAEnC,EAAEkB,EAAEhB,GAAGuD,EAAEvC,GAAG0C,EAAEtB,GAAGsB,EAAE64D,YAAYv8D,EAAEiC,CAAC,CAAC,GAAGsB,EAAEjB,GAAG,CAACwU,KAAKpT,EAAEA,EAAEoT,KAAKpT,EAAEsT,MAAM,EAAEA,MAAM,EAAEulD,YAAY,EAAEtlD,OAAOlT,KAAK01B,SAASY,OAAO,GAAGp4B,GAAGA,EAAEo5D,aAAa,CAAC,IAAIv7D,EAAE,EAAE,MAAME,EAAEiC,EAAEo5D,aAAap5D,EAAEo5D,aAAa35D,OAAO,GAAGA,OAAO,OAAOqC,KAAK81B,WAAW,KAAKnqB,GAAE5P,EAAEkB,EAAEhB,EAAEoC,EAAE,EAAE,MAAM,KAAKqN,GAAE3P,GAAGE,EAAEoC,GAAG,EAAE,MAAM,KAAKyN,GAAE/P,EAAEkB,EAAE,EAAEhB,EAAEoC,EAAEtC,GAAGiE,KAAKk2B,iBAAiBj5B,GAAG,EAAE,GAAG,IAAI,IAAIoB,EAAEpB,EAAEsB,EAAE,EAAE,EAAEtB,EAAEoB,GAAG,EAAEA,EAAEE,EAAEtB,EAAEoB,IAAIA,IAAIsB,EAAEH,EAAEnB,GAAGtC,EAAEE,EAAEF,GAAGE,EAAEF,EAAE,IAAIA,GAAGE,GAAG+D,KAAKg6D,mBAAmBj+D,EAAE4D,GAAG5D,GAAG4D,EAAE64D,WAAW,CAAC,MAAM,CAACvlD,MAAM5U,EAAE47D,YAAY,EAAE,CAAC,kBAAAD,CAAmBj+D,EAAEE,GAAG,MAAM0D,EAAE5D,EAAEE,EAAEu8D,YAAY,EAAEn6D,EAAE2B,KAAKi2B,KAAKh5B,EAAEw/C,GAAGp+C,EAAE43B,KAAKt2B,EAAEtB,EAAEi5D,cAAcr7D,EAAEu9D,WAAWv8D,EAAEgO,EAAE5M,EAAEqyD,WAAWzlD,EAAEhP,EAAEyoD,UAAUznD,EAAE2C,EAAEvB,EAAEqyD,WAAW9wD,EAAE3D,EAAEsZ,MAAMtY,EAAEsY,OAAOvV,KAAKm2B,WAAWrqB,GAAE3B,KAAKiB,GAAG,EAAE,CAAC,eAAA2uD,CAAgBh+D,EAAEE,EAAE0D,EAAEtB,EAAEpB,GAAG,MAAMiB,EAAE8B,KAAKu2D,4BAA4Bt6D,EAAE0D,GAAG3D,EAAEqC,EAAE2B,KAAKu2D,4BAA4Bt6D,EAAE0D,EAAE,GAAG,CAAA,EAAGpB,EAAEyB,KAAKy5D,aAAa19D,EAAEmC,EAAEG,EAAErC,GAAG,IAAIwD,EAAEf,EAAEF,EAAEi6D,YAAY/4D,EAAElB,EAAE0U,MAAM,IAAIjT,KAAKq2B,cAAc72B,EAAEQ,KAAK85D,yBAAyBr6D,GAAGD,EAAEf,GAAGe,GAAG,MAAMb,EAAE,CAACsU,MAAMxT,EAAEsT,KAAK,EAAEG,OAAOhV,EAAEw3B,SAAS8iC,YAAY/5D,EAAE63B,OAAOp4B,EAAEo4B,QAAQ,GAAG32B,EAAE,IAAI1C,EAAE,CAAC,MAAMlB,EAAEiE,KAAKu4D,aAAat8D,GAAG0D,EAAE,GAAGhB,EAAEoU,KAAKhX,EAAEgX,KAAKhX,EAAEkX,MAAM1U,EAAEi6D,YAAYj6D,EAAE0U,KAAK,CAAC,OAAOtU,CAAC,CAAC,eAAA06D,CAAgBt9D,GAAG,GAAGiE,KAAKk6D,cAAcn+D,GAAG,OAAOiE,KAAKk6D,cAAcn+D,GAAG,IAAIE,EAAE+D,KAAK25D,gBAAgB59D,EAAE,GAAG,IAAI,IAAI4D,EAAE,EAAEtB,EAAE2B,KAAK21D,WAAW55D,GAAG4B,OAAOgC,EAAEtB,EAAEsB,IAAI1D,EAAEkO,KAAKC,IAAIpK,KAAK25D,gBAAgB59D,EAAE4D,GAAG1D,GAAG,OAAO+D,KAAKk6D,cAAcn+D,GAAGE,EAAE+D,KAAK+1B,WAAW/1B,KAAK+2B,aAAa,CAAC,cAAAohC,GAAiB,IAAIp8D,EAAEE,EAAE,EAAE,IAAI,IAAI0D,EAAE,EAAEtB,EAAE2B,KAAK21D,WAAWh4D,OAAOgC,EAAEtB,EAAEsB,IAAI5D,EAAEiE,KAAKq5D,gBAAgB15D,GAAG1D,GAAG0D,IAAItB,EAAE,EAAEtC,EAAEiE,KAAK+1B,WAAWh6B,EAAE,OAAOE,CAAC,CAAC,cAAAk9D,GAAiB,MAAM,QAAQn5D,KAAKu2B,WAAWv2B,KAAKiT,MAAM,EAAEjT,KAAKiT,MAAM,CAAC,CAAC,aAAAmmD,GAAgB,OAAOp5D,KAAKkT,OAAO,CAAC,CAAC,iBAAAinD,CAAkBp+D,EAAEE,GAAGF,EAAEqjB,OAAO,IAAIzf,EAAE,EAAE,MAAMtB,EAAE2B,KAAKm5D,iBAAiBl8D,EAAE+C,KAAKo5D,gBAAgB,IAAI,IAAIl7D,EAAE,EAAElC,EAAEgE,KAAK21D,WAAWh4D,OAAOO,EAAElC,EAAEkC,IAAI,CAAC,MAAMlC,EAAEgE,KAAKq5D,gBAAgBn7D,GAAGK,EAAEvC,EAAEgE,KAAK+1B,WAAWv2B,EAAEQ,KAAKs5D,mBAAmBp7D,GAAG8B,KAAKi5D,gBAAgBh9D,EAAEF,EAAEiE,KAAK21D,WAAWz3D,GAAGG,EAAEmB,EAAEvC,EAAE0C,EAAEpB,EAAEL,GAAGyB,GAAG3D,CAAC,CAACD,EAAEujB,SAAS,CAAC,eAAAw5C,CAAgB/8D,IAAIiE,KAAK+gB,MAAM/gB,KAAKy1D,SAAS1oD,MAAK/M,KAAKm6D,kBAAkBp+D,EAAE,WAAW,CAAC,iBAAA88D,CAAkB98D,IAAIiE,KAAK+zB,QAAQ,IAAI/zB,KAAKuzB,cAAcvzB,KAAKu1D,mBAAmBv1D,KAAKg0B,SAASh0B,KAAKg0B,OAAOqF,cAAcr5B,KAAK2kC,cAAc5oC,GAAGA,EAAEqjB,OAAOpf,KAAKwlC,aAAazpC,EAAEiE,KAAKwzB,iBAAiBz3B,EAAEwkB,YAAYvgB,KAAKm6D,kBAAkBp+D,EAAE,cAAcA,EAAE2kB,YAAY3kB,EAAEujB,UAAU,CAAC,YAAA45C,CAAan9D,EAAEE,EAAE0D,EAAEtB,EAAEpB,EAAEiB,GAAG,MAAMlC,EAAEgE,KAAKq5D,gBAAgBn7D,GAAGK,EAAEyB,KAAK81B,UAAU5jB,SAAS8kB,IAAIx3B,EAAEQ,KAAKi2B,KAAKx3B,GAAGF,GAAG,IAAIyB,KAAKq2B,aAAar2B,KAAKu1D,cAAcr3D,KAAKsB,EAAEC,EAAE,QAAQO,KAAKu2B,UAAU53B,EAAE,QAAQqB,KAAKu2B,UAAU,GAAG,EAAEt2B,EAAEhE,EAAEs6B,UAAU,IAAIl2B,EAAEX,EAAEK,EAAEmK,EAAE/J,EAAEP,EAAE,GAAGyK,EAAE,EAAE,GAAGpO,EAAEmjB,OAAOnf,IAAID,KAAKu2B,YAAYt6B,EAAEiS,OAAOqL,aAAa,MAAM9Z,EAAE,MAAM,OAAOxD,EAAEs6B,UAAU92B,EAAE,MAAM,MAAMxD,EAAE65B,UAAUr2B,EAAEkM,GAAEG,IAAG7O,GAAGjB,EAAEgE,KAAK62B,kBAAkB72B,KAAK+1B,WAAWt3B,EAAE,OAAOuB,KAAKo6D,YAAYr+D,EAAEE,EAAEiC,EAAE,EAAEyB,EAAEqY,KAAK,IAAI3Z,EAAEpB,QAAQhB,EAAEqjB,UAAU,IAAI,IAAItjB,EAAE,EAAEyC,EAAEkB,EAAEhC,OAAO,EAAE3B,GAAGyC,EAAEzC,IAAIkO,EAAElO,IAAIyC,GAAGuB,KAAKq2B,aAAa72B,EAAEI,GAAGD,EAAE3D,GAAG+D,EAAEC,KAAKu4D,aAAar6D,GAAGlC,GAAG,IAAIqO,GAAGhM,GAAGM,GAAGoB,EAAEy4D,YAAYz4D,EAAEkT,OAAO5I,GAAGtK,EAAEkT,OAAO5I,GAAGtK,EAAEy4D,YAAYj6D,IAAI2L,GAAGlK,KAAKw1B,eAAeluB,KAAK3H,EAAE3D,MAAMkO,GAAE,GAAIA,IAAI7J,EAAEA,GAAGL,KAAKu2D,4BAA4Br4D,EAAElC,GAAG0D,EAAEM,KAAKu2D,4BAA4Br4D,EAAElC,EAAE,GAAGkO,EAAEspC,GAAGnzC,EAAEX,GAAE,IAAKwK,IAAI1K,GAAGvD,EAAEmjB,OAAOnjB,EAAE4mC,UAAU9iC,EAAEy5D,WAAWz5D,EAAE2kD,WAAWzoD,EAAEgV,OAAOlR,EAAEwV,OAAOvV,KAAKo6D,YAAYr+D,EAAEE,EAAEiC,EAAElC,EAAE4D,GAAGyK,EAAE,EAAE,GAAGpO,EAAEqjB,YAAYnf,EAAE9B,EAAE2B,KAAKo6D,YAAYr+D,EAAEE,EAAEiC,EAAElC,EAAE4D,EAAEO,EAAElD,IAAI2C,EAAE,GAAGS,EAAEX,EAAErB,GAAGM,EAAE0L,EAAEA,EAAE,GAAGpO,EAAEqjB,SAAS,CAAC,kCAAA+6C,CAAmCt+D,GAAG,MAAME,EAAE+D,KAAKiT,MAAMjT,KAAKuzB,YAAY5zB,EAAEK,KAAKkT,OAAOlT,KAAKuzB,YAAYl1B,EAAEgW,GAAG,CAACpB,MAAMhX,EAAEiX,OAAOvT,IAAI1C,EAAEoB,EAAE6K,WAAW,MAAM,OAAO7K,EAAE4U,MAAMhX,EAAEoC,EAAE6U,OAAOvT,EAAE1C,EAAEsjB,YAAYtjB,EAAEujB,OAAO,EAAE,GAAGvjB,EAAEwjB,OAAOxkB,EAAE,GAAGgB,EAAEwjB,OAAOxkB,EAAE0D,GAAG1C,EAAEwjB,OAAO,EAAE9gB,GAAG1C,EAAEyjB,YAAYzjB,EAAE4lC,UAAU5mC,EAAE,EAAE0D,EAAE,GAAG1C,EAAE0jB,UAAU5kB,EAAEmc,OAAOjb,GAAG+C,KAAKslC,+BAA+BroC,EAAElB,GAAGkB,EAAE8jB,OAAO9jB,EAAEipC,cAAc7nC,EAAE,YAAY,CAAC,YAAAi8D,CAAav+D,EAAEE,EAAE0D,GAAG,IAAItB,EAAEpB,EAAE,OAAOgb,GAAGtY,GAAG,eAAeA,EAAEwlC,eAAexlC,EAAEkhB,mBAAmBlhB,EAAEmhB,kBAAkBziB,GAAG2B,KAAKiT,MAAM,EAAEhW,GAAG+C,KAAKkT,OAAO,EAAEnX,EAAE8mC,UAAUxkC,EAAEpB,GAAGlB,EAAEE,GAAG+D,KAAKq6D,mCAAmC16D,GAAG,CAAC2Y,QAAQja,EAAEuiB,QAAQ3jB,KAAKlB,EAAEE,GAAG0D,EAAEuY,OAAOnc,GAAGiE,KAAKslC,+BAA+BvpC,EAAE4D,KAAK5D,EAAEE,GAAG0D,EAAE,CAAC2Y,QAAQ,EAAEsI,QAAQ,GAAG,CAAC,gBAAAikB,CAAiB9oC,EAAEE,GAAG,IAAI83B,OAAOp0B,EAAE4zB,YAAYl1B,GAAGpC,EAAE,OAAOF,EAAE+oC,UAAUzmC,EAAEtC,EAAEgpC,QAAQ/kC,KAAK0zB,cAAc33B,EAAEipC,eAAehlC,KAAKyzB,iBAAiB13B,EAAEkpC,SAASjlC,KAAK2zB,eAAe53B,EAAEmpC,WAAWllC,KAAK4zB,iBAAiB5zB,KAAKs6D,aAAav+D,EAAE,cAAc4D,EAAE,CAAC,cAAA4lC,CAAexpC,EAAEE,GAAG,IAAI8kB,KAAKphB,GAAG1D,EAAE,OAAO+D,KAAKs6D,aAAav+D,EAAE,YAAY4D,EAAE,CAAC,WAAAy6D,CAAYr+D,EAAEE,EAAE0D,EAAEtB,EAAEpB,EAAEiB,EAAElC,GAAG,MAAMuC,EAAEyB,KAAKm2D,qBAAqBx2D,EAAEtB,GAAGmB,EAAEQ,KAAKu2D,4BAA4B52D,EAAEtB,GAAGI,EAAE,aAAa1C,GAAGyD,EAAEuhB,KAAKthB,EAAE,eAAe1D,GAAGyD,EAAEu0B,QAAQv0B,EAAE+zB,YAAY,GAAG9zB,GAAGhB,EAAE,CAAC,GAAGxC,EAAEmjB,OAAOnjB,EAAE85C,KAAK/1C,KAAKg5D,oBAAoBx5D,GAAGjB,EAAEy3B,qBAAqBh2B,KAAK2kC,cAAc1oC,GAAGsC,EAAE+3B,SAASt6B,GAAGuC,EAAE+3B,QAAQ73B,EAAE,CAAC,MAAM1C,EAAEiE,KAAKulC,eAAetpC,EAAEuD,GAAGvD,EAAEs+D,SAASt9D,EAAEiB,EAAEnC,EAAEuc,QAAQtc,EAAED,EAAE6kB,QAAQ,CAAC,GAAGnhB,EAAE,CAAC,MAAM1D,EAAEiE,KAAK6kC,iBAAiB5oC,EAAEuD,GAAGvD,EAAEu+D,WAAWv9D,EAAEiB,EAAEnC,EAAEuc,QAAQtc,EAAED,EAAE6kB,QAAQ,CAAC3kB,EAAEqjB,SAAS,CAAC,CAAC,cAAAm7C,CAAe1+D,EAAEE,GAAG+D,KAAK06D,WAAW3+D,EAAEE,EAAE+D,KAAK02B,YAAY,CAAC,YAAAikC,CAAa5+D,EAAEE,GAAG+D,KAAK06D,WAAW3+D,EAAEE,EAAE+D,KAAK42B,UAAU,CAAC,UAAA8jC,CAAW3+D,EAAEE,EAAE0D,GAAG,MAAMtB,EAAE2B,KAAKg2D,oBAAoBj6D,GAAE,GAAIkB,EAAE+C,KAAKu5D,qBAAqBl7D,EAAEy3D,UAAUz3D,EAAE03D,UAAU,YAAY73D,EAAE8B,KAAKu5D,qBAAqBl7D,EAAEy3D,UAAUz3D,EAAE03D,UAAU,UAAU/5D,EAAE,CAAC05B,SAASz4B,EAAE0C,EAAEqS,KAAKskB,OAAOp4B,EAAEjB,EAAE0C,EAAEg3B,UAAU32B,KAAKw2D,mBAAmBx6D,EAAED,EAAEE,EAAE,CAAC,kBAAAq9D,CAAmBv9D,GAAG,MAAME,EAAE+D,KAAKs4D,aAAav8D,GAAG4D,EAAEK,KAAKiT,MAAMhX,EAAEoC,EAAE2B,KAAK81B,UAAU74B,EAAE+C,KAAKu2B,UAAUr4B,EAAE8B,KAAKq4D,gBAAgBt8D,GAAG,IAAIC,EAAE,EAAE,OAAOqC,IAAI24B,IAAI34B,IAAI84B,KAAKj5B,GAAGG,IAAI64B,KAAKh5B,GAAGG,IAAI44B,KAAK/4B,EAAE,GAAGG,IAAIqN,KAAI1P,EAAE2D,EAAE,GAAGtB,IAAIyN,KAAI9P,EAAE2D,GAAGtB,IAAI84B,KAAKn7B,EAAE2D,EAAE,GAAGtB,IAAI64B,KAAKl7B,EAAE2D,GAAG,QAAQ1C,IAAIoB,IAAIyN,IAAGzN,IAAI24B,IAAI34B,IAAI64B,GAAGl7B,EAAE,EAAEqC,IAAIsN,IAAGtN,IAAI44B,GAAGj7B,GAAG2D,EAAEtB,IAAIqN,IAAGrN,IAAI84B,KAAKn7B,GAAG2D,EAAE,IAAI3D,EAAE,CAAC,WAAAg8D,GAAch4D,KAAKy2D,kBAAiB,EAAGz2D,KAAK46D,aAAa,GAAG56D,KAAKk6D,cAAc,GAAGl6D,KAAKu4D,aAAa,EAAE,CAAC,YAAAD,CAAav8D,GAAG,QAAG,IAASiE,KAAK46D,aAAa7+D,GAAG,OAAOiE,KAAK46D,aAAa7+D,GAAG,MAAMkX,MAAMhX,GAAG+D,KAAK45D,YAAY79D,GAAG,OAAOiE,KAAK46D,aAAa7+D,GAAGE,EAAEA,CAAC,CAAC,sBAAA69D,GAAyB,OAAO,IAAI95D,KAAKq2B,YAAYr2B,KAAK01B,SAAS11B,KAAKq2B,YAAY,IAAI,CAAC,CAAC,oBAAAkjC,CAAqBx9D,EAAEE,EAAE0D,GAAG,IAAItB,EAAE,OAAO,QAAQA,EAAE2B,KAAKm2D,qBAAqBp6D,EAAEE,GAAG0D,UAAK,IAAStB,EAAEA,EAAE2B,KAAKL,EAAE,CAAC,qBAAAi5D,CAAsB78D,EAAEE,GAAG,IAAI+D,KAAK/D,KAAK+D,KAAKy1D,SAASx5D,GAAG,OAAO,IAAI0D,EAAEK,KAAKo5D,gBAAgB,MAAM/6D,EAAE2B,KAAKm5D,iBAAiBl8D,EAAE+C,KAAKi2B,KAAK/3B,EAAE8B,KAAK85D,yBAAyB99D,EAAE,gBAAgBC,EAAE,GAAG,aAAaA,EAAE,EAAE,EAAEsC,EAAEyB,KAAK82B,QAAQ76B,GAAG,IAAI,IAAIuD,EAAE,EAAEf,EAAEuB,KAAK21D,WAAWh4D,OAAO6B,EAAEf,EAAEe,IAAI,CAAC,MAAMf,EAAEuB,KAAKq5D,gBAAgB75D,GAAG,IAAIQ,KAAK/D,KAAK+D,KAAKy1D,SAASx5D,EAAEuD,GAAG,CAACG,GAAGlB,EAAE,QAAQ,CAAC,MAAMgB,EAAEO,KAAK21D,WAAWn2D,GAAGb,EAAEF,EAAEuB,KAAK+1B,WAAW91B,EAAED,KAAKs5D,mBAAmB95D,GAAG,IAAIa,EAAE,EAAEX,EAAE,EAAEK,EAAEC,KAAKu5D,qBAAqB/5D,EAAE,EAAEvD,GAAGiO,EAAElK,KAAKu5D,qBAAqB/5D,EAAE,EAAEuN,IAAG5M,EAAEH,KAAKu5D,qBAAqB/5D,EAAE,EAAEu1B,IAAIn1B,EAAEG,EAAEsK,EAAEH,EAAEe,EAAE9K,EAAE,MAAM+K,EAAEvL,EAAEhB,GAAG,EAAEqB,KAAK62B,mBAAmB,IAAI1rB,EAAEnL,KAAK25D,gBAAgBn6D,EAAE,GAAG6L,EAAErL,KAAKu5D,qBAAqB/5D,EAAE,EAAE,UAAU,IAAI,IAAIG,EAAE,EAAEzB,EAAEuB,EAAE9B,OAAOgC,EAAEzB,EAAEyB,IAAI,CAAC,MAAMzB,EAAE8B,KAAKu4D,aAAa/4D,GAAGG,GAAGC,EAAEI,KAAKu5D,qBAAqB/5D,EAAEG,EAAE1D,GAAGoO,EAAErK,KAAKu5D,qBAAqB/5D,EAAEG,EAAEoN,IAAG9B,EAAEjL,KAAKu5D,qBAAqB/5D,EAAEG,EAAEo1B,IAAI,MAAMt2B,EAAEuB,KAAK25D,gBAAgBn6D,EAAEG,GAAGF,EAAEO,KAAKu5D,qBAAqB/5D,EAAEG,EAAE,UAAU,GAAG1C,GAAG2C,GAAGyK,EAAE,CAAC,MAAMpO,EAAE+D,KAAK01B,SAASzqB,EAAE,IAAIlP,EAAEqjB,OAAOrjB,EAAE4kB,UAAUzW,EAAEnO,EAAE8mC,UAAU3kC,EAAEs7D,WAAWt7D,EAAEwmD,WAAW3oD,EAAEkV,OAAO/S,EAAEqX,OAAOxZ,EAAE2oC,UAAUxmC,EAAEs6D,YAAY,EAAEj6D,EAAEE,EAAEgB,EAAEzD,EAAEC,EAAEiC,EAAEs6D,YAAYv8D,GAAGF,EAAEujB,SAAS,MAAM,IAAI1f,IAAIG,GAAGsK,IAAIH,GAAGzL,IAAI0M,GAAGF,IAAI9K,GAAGV,IAAI4L,IAAI3L,EAAE,EAAE,CAAC,MAAMzD,EAAE+D,KAAK01B,SAASv1B,EAAE,IAAI,IAAIR,EAAEtB,EAAE4B,EAAEI,EAAE,QAAQL,KAAKu2B,YAAY52B,EAAEK,KAAKiT,MAAMtT,EAAED,GAAGK,GAAGmK,GAAG/J,IAAIpE,EAAE4kB,UAAUzW,EAAEnO,EAAE2oC,SAAS/kC,EAAEuL,EAAE3M,EAAE4M,EAAEE,EAAErP,EAAEC,EAAEyD,EAAEzD,IAAIoE,EAAEnC,EAAE6U,KAAKrT,EAAExB,EAAE+U,MAAMlT,EAAEH,EAAEO,EAAE8K,EAAEf,EAAEG,EAAEc,EAAE1M,EAAE4M,EAAE5L,CAAC,MAAMC,GAAGxB,EAAEs6D,WAAW,CAAC,IAAIltD,EAAEjN,EAAE4B,EAAEI,EAAE,QAAQL,KAAKu2B,YAAYjrB,EAAEtL,KAAKiT,MAAM3H,EAAE5L,GAAG3D,EAAE4kB,UAAUtW,EAAE,MAAMkB,EAAEvL,KAAK01B,SAASzqB,EAAE,IAAIrL,GAAGyK,GAAGY,GAAGlP,EAAE2oC,SAASp5B,EAAEJ,EAAE3M,EAAE4M,EAAEE,EAAErP,EAAEuP,EAAE7L,EAAExB,EAAEqN,GAAG5L,GAAGlB,CAAC,CAACuB,KAAK2kC,cAAc5oC,EAAE,CAAC,mBAAAi9D,GAAsB,IAAIzuD,WAAWxO,EAAEiE,KAAKuK,WAAWC,UAAUvO,EAAE+D,KAAKwK,UAAUC,WAAW9K,EAAEK,KAAKyK,WAAWirB,SAASr3B,EAAE2B,KAAK01B,UAAUh4B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAE,EAACT,EAAES,UAAUC,OAAO,EAAED,UAAU,QAAG,EAAO,MAAMQ,EAAEnC,EAAEmW,SAAS,MAAMnW,EAAEmW,SAAS,MAAMnW,EAAEmW,SAAS,MAAMglD,GAAG2D,aAAa3oD,SAASnW,EAAE2O,eAAe3O,EAAE,IAAI0M,OAAO1M,EAAE,KAAK,MAAM,CAACE,EAAE0D,EAAE,GAAG8I,OAAOxL,EAAE+C,KAAKw2B,gBAAgBn4B,EAAE,MAAMH,GAAG8Z,KAAK,IAAI,CAAC,MAAAqI,CAAOtkB,GAAGiE,KAAKqT,UAAUrT,KAAKkO,QAAQlO,KAAKkO,OAAO2N,gBAAgB7b,KAAKmgC,QAAQngC,KAAK4gC,eAAe5gC,KAAKy2D,kBAAkBz2D,KAAKq3D,iBAAiBtvD,MAAMsY,OAAOtkB,IAAI,CAAC,aAAAw3C,CAAcx3C,GAAG,OAAO62C,GAAG72C,EAAE,CAAC,mBAAAy7D,CAAoBz7D,GAAG,MAAME,EAAEF,EAAE22B,MAAM1yB,KAAKs1B,YAAY31B,EAAE,IAAI4G,MAAMtK,EAAE0B,QAAQU,EAAE,CAAC,MAAM,IAAIpB,EAAE,GAAG,IAAI,IAAIlB,EAAE,EAAEA,EAAEE,EAAE0B,OAAO5B,IAAI4D,EAAE5D,GAAGiE,KAAKuzC,cAAct3C,EAAEF,IAAIkB,EAAEA,EAAEwL,OAAO9I,EAAE5D,GAAGsC,GAAG,OAAOpB,EAAE8F,MAAM,CAAC80D,gBAAgBl4D,EAAE+3D,MAAMz7D,EAAE87D,aAAa96D,EAAE06D,cAAch4D,EAAE,CAAC,QAAAyY,GAAW,IAAIrc,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,OAAOiC,EAAEA,EAAE,CAAE,EAACoI,MAAMqQ,SAAS,IAAI+c,MAAMp5B,KAAK,CAAE,EAAC,CAACsnB,OAAOqwB,GAAG1zC,KAAKqjB,OAAOrjB,KAAKm3D,OAAOn3D,KAAKi2B,KAAK,CAACA,KAAKj2B,KAAKi2B,KAAK7d,YAAY,CAAE,EAAC,CAAC,GAAA3K,CAAI1R,EAAEE,GAAG,MAAM6+D,qBAAqBn7D,GAAGK,KAAKrD,YAAYoL,MAAM0F,IAAI1R,EAAEE,GAAG,IAAIoC,GAAE,EAAGpB,GAAE,EAAG,GAAG,iBAAiBlB,EAAE,IAAI,MAAME,KAAKF,EAAE,SAASE,GAAG+D,KAAKo3D,cAAc/4D,EAAEA,GAAGsB,EAAEuS,SAASjW,GAAGgB,EAAEA,GAAG,SAAShB,OAAOoC,EAAEsB,EAAEuS,SAASnW,GAAGkB,EAAE,SAASlB,EAAE,OAAOkB,GAAG+C,KAAKo3D,cAAc/4D,GAAG2B,KAAK80D,cAAc90D,KAAKq3D,iBAAiBr3D,KAAK8c,aAAa9c,IAAI,CAAC,UAAAoS,GAAa,OAAO,CAAC,CAAC,wBAAaokC,CAAYz6C,EAAEE,EAAEgB,GAAG,MAAMiB,EAAE03C,GAAG75C,EAAEm7D,GAAGzgB,gBAAgBx5C,GAAGjB,EAAE2D,EAAEA,EAAE,CAAA,EAAG1D,GAAGiC,IAAI68D,WAAWx8D,EAAEoN,GAAEqvD,eAAex7D,EAAE,GAAGy7D,GAAGx8D,EAAE,EAAEy8D,GAAGz7D,EAAE,EAAEuT,IAAIrU,EAAE,EAAEoU,KAAK9S,EAAE,EAAEy1B,SAASr1B,EAAEmL,EAAE+nB,YAAY7zB,EAAE,GAAG1D,EAAE+D,EAAE1B,EAAErC,EAAEg7D,IAAI9sD,EAAE,IAAIlK,MAAMjE,EAAEo/D,aAAa,IAAIhiC,QAAQ,iBAAiB,IAAIA,QAAQ,OAAO,KAAKx5B,EAAE,CAACoT,KAAK9S,EAAExB,EAAEuU,IAAIrU,EAAEc,EAAEk2B,UAAUn2B,EAAE0S,SAAS,aAAa0jB,SAASp2B,EAAE0S,SAAS,YAAY2jB,YAAYr2B,EAAE0S,SAAS,gBAAgBqhB,YAAY,EAAEmC,SAASr1B,GAAGN,IAAII,EAAE+J,EAAE82B,kBAAkB92B,EAAEgJ,OAAOtT,IAAIsK,EAAEgJ,OAAOhJ,EAAEqpB,aAAarpB,EAAE6rB,WAAW7rB,EAAEgJ,QAAQ/S,EAAEkK,EAAEH,EAAE82B,kBAAkBphC,EAAE,IAAIqL,EAAE,EAAE,OAAO1M,IAAImN,KAAIT,EAAEf,EAAE42B,iBAAiB,GAAGviC,IAAIuN,KAAIb,EAAEf,EAAE42B,kBAAkB52B,EAAEuD,IAAI,CAACsF,KAAK7I,EAAE6I,KAAK9H,EAAE+H,IAAI9I,EAAE8I,KAAK3I,EAAEH,EAAEwrB,UAAU,IAAIxrB,EAAE2sB,oBAAoB3sB,EAAE6rB,WAAWxC,YAAY7zB,IAAIwK,CAAC,CAAC,iBAAOoN,CAAWvb,GAAG,OAAOiE,KAAKsnC,YAAY3nC,EAAEA,EAAE,CAAA,EAAG5D,GAAG,CAAA,EAAG,CAACsnB,OAAOuwB,GAAG73C,EAAEsnB,QAAQ,CAAA,EAAGtnB,EAAEo7D,QAAQ,CAAC5vB,WAAW,QAAQ,EAAExrC,EAAEm7D,GAAG,uBAAuBhiC,IAAIn5B,EAAEm7D,GAAG,kBAAkB,IAAIz9B,MAAMtE,KAAKp5B,EAAEm7D,GAAG,cAAc7hC,IAAIt5B,EAAEm7D,GAAG,OAAO,QAAQn7D,EAAEm7D,GAAG,eAAe,CAAC,QAAQ,aAAa,YAAY,UAAU,UAAU,YAAY,WAAW,gBAAgB,eAAe,aAAa,OAAO,QAAQ,aAAan7D,EAAEm7D,GAAG,kBAAkBrjB,GAAGprC,OAAO,IAAI,IAAI,KAAK,KAAK,cAAc,aAAa,cAAc,YAAY,iBAAiB,kBAAkB,gBAAgBgnC,GAAGynB,GAAG,CAAC,cAAc9jC,GAAG,MAAAgB,GAAS,MAAMr4B,EAAEiE,KAAKo7D,wBAAwBn/D,EAAE+D,KAAKq7D,iBAAiBt/D,EAAEu/D,QAAQv/D,EAAEw/D,UAAU,OAAOv7D,KAAKw7D,kBAAkBv/D,EAAE,CAAC,KAAAomB,CAAMtmB,GAAG,MAAME,EAAE+D,KAAKq0B,qBAAqBr0B,KAAKo0B,SAAS,CAACjd,QAAQpb,EAAEw4B,SAAQ,EAAGC,YAAW,IAAK70B,EAAEK,KAAKi2B,KAAK,OAAOt2B,EAAE1D,EAAE0D,EAAE00B,qBAAqB10B,EAAEy0B,SAAS,CAACjd,QAAQpb,EAAEy4B,YAAW,EAAGrR,oBAAoBrL,GAAG9X,KAAKklB,mBAAmBjpB,CAAC,CAAC,qBAAAm/D,GAAwB,MAAM,CAACG,UAAUv7D,KAAKiT,MAAM,EAAEqoD,SAASt7D,KAAKkT,OAAO,EAAEuoD,QAAQz7D,KAAKq5D,gBAAgB,GAAG,CAAC,iBAAAmC,CAAkBz/D,GAAG,IAAI2/D,YAAYz/D,EAAE0/D,UAAUh8D,GAAG5D,EAAE,MAAMsC,EAAE2B,KAAK47D,qBAAqB57D,MAAM,MAAM,CAAC/D,EAAE+b,KAAK,IAAI,kCAAkC,gBAAgBvP,OAAOzI,KAAKuK,WAAW4uB,QAAQ29B,GAAG,KAAK,MAAM,cAAcruD,OAAOzI,KAAK01B,SAAS,MAAM11B,KAAKwK,UAAU,eAAe/B,OAAOzI,KAAKwK,UAAU,MAAM,GAAGxK,KAAKyK,WAAW,gBAAgBhC,OAAOzI,KAAKyK,WAAW,MAAM,GAAGpM,EAAE,oBAAoBoK,OAAOpK,EAAE,MAAM,GAAG,QAAQ2B,KAAKu2B,UAAU,cAAc9tB,OAAOzI,KAAKu2B,UAAU,MAAM,GAAG,UAAUv2B,KAAKqzB,cAAa,GAAI,IAAIrzB,KAAK20B,gBAAgB,KAAKh1B,EAAEqY,KAAK,IAAI,YAAY,CAAC,gBAAAqjD,CAAiBt/D,EAAEE,GAAG,MAAM0D,EAAE,GAAGtB,EAAE,GAAG,IAAIpB,EAAEiB,EAAEnC,EAAEiE,KAAKub,iBAAiBld,EAAEb,QAAQu5D,GAAG/2D,KAAKub,iBAAiBvb,KAAKiT,MAAM,GAAGjT,KAAKkT,OAAO,EAAElT,KAAKiT,MAAMjT,KAAKkT,SAAS,IAAI,IAAInX,EAAE,EAAEC,EAAEgE,KAAK21D,WAAWh4D,OAAO5B,EAAEC,EAAED,IAAIkB,EAAE+C,KAAKs5D,mBAAmBv9D,GAAG,QAAQiE,KAAKu2B,YAAYt5B,GAAG+C,KAAKiT,QAAQjT,KAAKg2B,qBAAqBh2B,KAAKy1D,SAAS,sBAAsB15D,KAAKiE,KAAK67D,kBAAkBx9D,EAAEtC,EAAEE,EAAEgB,EAAEiB,GAAG8B,KAAK87D,oBAAoBn8D,EAAE5D,EAAEE,EAAEgB,EAAEiB,GAAGA,GAAG8B,KAAKq5D,gBAAgBt9D,GAAG,MAAM,CAAC4/D,UAAUh8D,EAAE+7D,YAAYr9D,EAAE,CAAC,mBAAA09D,CAAoBhgE,EAAEE,EAAE0D,EAAEtB,EAAEpB,GAAG,MAAMiB,EAAElC,EAAE+b,oBAAoBxZ,EAAEyB,KAAKg8D,iBAAiB//D,EAAEF,IAAIA,EAAEg3B,UAAUh3B,EAAEs2B,MAAMwkC,KAAKr3D,EAAEjB,EAAE,UAAUkK,OAAOlK,EAAE,KAAK,GAAGE,EAAExC,EAAEq6B,OAAO72B,EAAEhB,EAAE,QAAQgK,OAAOkP,GAAGlZ,EAAEP,GAAG,MAAM,IAAIqX,MAAM5W,EAAE66D,WAAWv5D,EAAEykD,UAAUrkD,EAAE4S,MAAMvT,GAAGzC,EAAE,IAAI8C,EAAE,GAAG,QAAG,IAASE,EAAE,CAAC,MAAMlE,EAAE2D,EAAE,EAAEf,IAAIoB,EAAE,YAAY0I,OAAOkP,GAAGhD,GAAGhW,GAAGT,GAAG,MAAM,MAAMjC,EAAE8Z,GAAG,CAACR,MAAMZ,GAAGhW,KAAK1C,EAAE,GAAGgE,EAAEhE,EAAE,GAAGoE,EAAE,MAAMpD,EAAE,IAAIkS,IAAIpT,EAAE,GAAGoV,UAAUlV,GAAG0D,EAAE1C,EAAEgO,EAAE5M,EAAEpB,EAAE2C,CAAC,CAAC,MAAM,aAAa6I,OAAOkP,GAAGhY,EAAEzB,GAAG,SAASuK,OAAOkP,GAAGtZ,EAAEH,GAAG,MAAMuK,OAAOhJ,GAAGgJ,OAAO1I,GAAG0I,OAAOjJ,EAAE,KAAKiJ,OAAOiqC,GAAG32C,GAAG,WAAW,CAAC,mBAAA+/D,CAAoB//D,EAAEE,EAAE0D,EAAEtB,GAAG,MAAMpB,EAAE+C,KAAKq5D,gBAAgBp9D,GAAGiC,EAAE8B,KAAK81B,UAAU5jB,SAAS8kB,IAAIh7B,EAAEgE,KAAK21D,WAAW15D,GAAG,IAAIsC,EAAEiB,EAAEf,EAAEgB,EAAEd,EAAEsB,EAAE,GAAGI,EAAE,EAAEhC,GAAGpB,GAAG,EAAE+C,KAAK62B,mBAAmB72B,KAAK+1B,WAAW,IAAI,IAAI94B,EAAE,EAAEyC,EAAE1D,EAAE2B,OAAO,EAAEV,GAAGyC,EAAEzC,IAAI0B,EAAE1B,IAAIyC,GAAGM,KAAKq2B,aAAar2B,KAAKi2B,KAAKh2B,GAAGjE,EAAEiB,GAAGwB,EAAEuB,KAAKu4D,aAAat8D,GAAGgB,GAAG,IAAIoD,GAAGV,GAAGlB,EAAE+5D,YAAY/5D,EAAEwU,MAAM5S,GAAG5B,EAAEwU,OAAO5S,GAAG5B,EAAE+5D,YAAYt6D,IAAIS,GAAGqB,KAAKw1B,eAAeluB,KAAKtL,EAAEiB,MAAM0B,GAAE,GAAIA,IAAIJ,EAAEA,GAAGyB,KAAKu2D,4BAA4Bt6D,EAAEgB,GAAGuC,EAAEQ,KAAKu2D,4BAA4Bt6D,EAAEgB,EAAE,GAAG0B,EAAE60C,GAAGj1C,EAAEiB,GAAE,IAAKb,IAAIc,EAAEO,KAAKm2D,qBAAqBl6D,EAAEgB,GAAGlB,EAAEyB,KAAKwC,KAAK+7D,oBAAoB97D,EAAER,EAAEE,EAAEtB,EAAEI,IAAIwB,EAAE,GAAG1B,EAAEiB,EAAE,QAAQQ,KAAKu2B,UAAU52B,GAAGU,EAAEV,GAAGU,EAAEA,EAAE,EAAE,CAAC,iBAAAw7D,CAAkB9/D,EAAEE,EAAE0D,EAAEtB,GAAG,MAAMpB,EAAE+C,KAAK21D,WAAW15D,GAAGiC,EAAE8B,KAAKq5D,gBAAgBp9D,GAAG+D,KAAK+1B,WAAW,IAAI/5B,EAAEuC,EAAE,EAAEiB,EAAE,EAAEf,EAAEuB,KAAKu5D,qBAAqBt9D,EAAE,EAAE,uBAAuB,IAAI,IAAIwD,EAAE,EAAEA,EAAExC,EAAEU,OAAO8B,IAAI,CAAC,MAAMsT,KAAK9V,EAAEgW,MAAMtU,EAAE65D,YAAYv4D,GAAGD,KAAKu4D,aAAat8D,GAAGwD,GAAGzD,EAAEgE,KAAKu5D,qBAAqBt9D,EAAEwD,EAAE,uBAAuBzD,IAAIyC,GAAGA,GAAG1C,EAAEyB,QAAQu5D,GAAGt4D,EAAEkB,EAAEH,EAAEnB,EAAEE,EAAEL,IAAIsB,EAAEvC,EAAEsB,EAAEI,EAAEF,EAAEzC,GAAGuC,GAAG0B,CAAC,CAACjE,GAAGD,EAAEyB,QAAQu5D,GAAGt4D,EAAEkB,EAAEH,EAAEnB,EAAEE,EAAEL,GAAG,CAAC,oBAAA+9D,CAAqBlgE,GAAG,IAAIE,EAAE0D,EAAE,EAAE,IAAI1D,EAAE,EAAEA,EAAEF,EAAEE,IAAI0D,GAAGK,KAAKq5D,gBAAgBp9D,GAAG,MAAMoC,EAAE2B,KAAKq5D,gBAAgBp9D,GAAG,MAAM,CAACw/D,QAAQ97D,EAAE05C,QAAQr5C,KAAK+2B,cAAc/2B,KAAK62B,mBAAmBx4B,GAAG2B,KAAK+1B,WAAW/1B,KAAK+2B,eAAe,CAAC,YAAA1D,CAAat3B,GAAG,MAAM,GAAG0M,OAAOV,MAAMsrB,aAAat3B,GAAG,gCAAgC0M,OAAOkP,GAAG3X,KAAKyzC,wBAAwBzzC,KAAK+iC,mBAAmBnjC,EAAE,GAAG5D,EAAE+b,qBAAqB,uBAAuB,CAAC,gBAAAikD,CAAiBjgE,EAAEE,GAAG,MAAMsO,WAAW5K,EAAE4zB,YAAYl1B,EAAE01B,OAAO92B,EAAE8jB,KAAK7iB,EAAEw3B,SAASn3B,EAAEiM,UAAUhL,EAAEiL,WAAWhM,EAAE63B,OAAO72B,EAAEg0C,wBAAwB90C,EAAEk3B,YAAY51B,EAAE21B,SAASv1B,EAAEs1B,UAAUj2B,GAAG3D,EAAEgE,EAAEC,KAAK47D,qBAAqB,CAACjmC,UAAU,MAAMj2B,EAAEA,EAAEM,KAAK21B,UAAUC,SAAS,MAAMv1B,EAAEA,EAAEL,KAAK41B,SAASC,YAAY,MAAM51B,EAAEA,EAAED,KAAK61B,cAAc3rB,EAAEvL,GAAGqB,KAAKyzC,wBAAwB,MAAM,CAACx2C,EAAEk2B,GAAGnmB,GAAE/P,GAAG,GAAGoB,EAAE,iBAAiBoK,OAAOpK,EAAE,MAAM,GAAGsB,EAAE,gBAAgB8I,OAAO9I,EAAEuS,SAAS,MAAMvS,EAAEuS,SAAS,KAAKvS,EAAE,IAAI8I,OAAO9I,EAAE,KAAK,MAAM,GAAGpB,EAAE,cAAckK,OAAOlK,EAAE,QAAQ,GAAGiB,EAAE,eAAeiJ,OAAOjJ,EAAE,MAAM,GAAGf,EAAE,gBAAgBgK,OAAOhK,EAAE,MAAM,GAAGsB,EAAE,oBAAoB0I,OAAO1I,EAAE,iCAAiC0I,OAAOkP,GAAGzN,EAAElK,KAAK+iC,mBAAmBnjC,EAAE,GAAG5D,EAAE+b,qBAAqB,OAAO,GAAG7Z,EAAEi1B,GAAGpmB,GAAE7O,GAAG,GAAGuB,EAAE,mBAAmBgJ,QAAQhJ,EAAE,MAAM,GAAGxD,EAAE,qBAAqB,IAAI+b,KAAK,GAAG,CAAC,oBAAA4jD,CAAqB7/D,GAAG,MAAM,CAAC,WAAW,YAAY,gBAAgBsB,QAAQpB,GAAGF,EAAEE,EAAEk9B,QAAQ,IAAI,OAAOnhB,KAAK,IAAI,KAAK5K,GAAGI,SAAS0pD,IAAI9pD,GAAGO,YAAYupD,IAAI,MAAMgF,GAAG,WAAAv/D,CAAYV,GAAGF,EAAEiE,KAAK,cAAS,GAAQjE,EAAEiE,KAAK,sBAAqB,GAAIjE,EAAEiE,KAAK,oBAAmB,GAAIjE,EAAEiE,KAAK,oBAAmB,GAAIjE,EAAEiE,KAAK,4BAAuB,GAAQjE,EAAEiE,KAAK,2BAAsB,GAAQjE,EAAEiE,KAAK,gBAAW,GAAQA,KAAKgF,OAAO/I,EAAE,MAAM0D,EAAE,CAACK,KAAKgF,OAAOqJ,GAAG,YAAYrO,KAAKm8D,iBAAiBx2D,KAAK3F,OAAOA,KAAKgF,OAAOqJ,GAAG,WAAWrO,KAAKo8D,gBAAgBz2D,KAAK3F,OAAOA,KAAKgF,OAAOqJ,GAAG,YAAYrO,KAAKq8D,iBAAiB12D,KAAK3F,OAAOA,KAAKgF,OAAOqJ,GAAG,UAAUrO,KAAKs8D,eAAe32D,KAAK3F,OAAOA,KAAKgF,OAAOqJ,GAAG,OAAOrO,KAAKu8D,YAAY52D,KAAK3F,QAAQA,KAAKw8D,SAAS,KAAK78D,EAAE/B,SAAS7B,GAAGA,MAAMiE,KAAKw8D,cAAS,CAAM,CAAC,CAAC,sBAAAC,CAAuB1gE,GAAG,MAAME,EAAE+D,KAAKgF,OAAOrF,EAAE1D,EAAEygE,6BAA6B3gE,GAAG,OAAOE,EAAE2qD,WAAWjnD,GAAG1D,EAAE0gE,gBAAgBh9D,GAAG1D,EAAE2gE,cAAc3gE,EAAE0gE,eAAe1gE,EAAE2gE,YAAY,CAAC,KAAAj/B,CAAM5hC,GAAG,OAAOiE,KAAK68D,mBAAmB78D,KAAKy8D,uBAAuB1gE,EAAE,CAAC,QAAA+gE,GAAW,OAAO98D,KAAK68D,kBAAkB,CAAC,GAAAlpB,CAAI53C,GAAG,MAAME,EAAE+D,KAAK88D,WAAW,OAAO7gE,IAAI+D,KAAK+8D,mBAAmB/8D,KAAKgF,OAAOg4D,iBAAiBjhE,GAAGiE,KAAKgF,OAAOi4D,mBAAkB,IAAKj9D,KAAK68D,oBAAmB,EAAG78D,KAAK+8D,kBAAiB,EAAG/8D,KAAKk9D,kBAAiB,EAAGjhE,CAAC,CAAC,qBAAAkhE,GAAwB,OAAOn9D,KAAKo9D,oBAAoB,CAAC,YAAAC,CAAathE,EAAEE,GAAG,IAAI0D,EAAE,IAAIg9D,eAAet+D,EAAEu+D,aAAa3/D,GAAGhB,EAAE,MAAMiC,EAAE8B,KAAKgF,OAAOhJ,EAAEkC,EAAEgQ,OAAO3P,EAAE,IAAI4Q,GAAGjR,EAAEoY,OAAO,EAAE,EAAEpY,EAAEqY,OAAO,EAAE,GAAG/W,EAAEtB,EAAEo/D,qBAAqBj/D,GAAGI,EAAE,IAAI0Q,GAAG3P,EAAEuT,KAAKvT,EAAE+9D,WAAW/9D,EAAEwT,IAAIxT,EAAEg+D,WAAW5tD,SAASrR,GAAG4S,UAAUjT,EAAEi2B,uBAAuB10B,EAAEzD,EAAEupD,cAAcxpD,GAAGyT,SAAS/Q,GAAGE,EAAET,EAAEijC,yBAAyBlhC,EAAE/B,EAAEyiC,kBAAkBtgC,EAAE5B,EAAE+Q,SAAS,IAAIL,GAAGlP,EAAE8S,KAAK9S,EAAE+S,MAAMtT,EAAE1D,EAAEkgB,kBAAkBnc,EAAEM,EAAE+O,IAAI3P,GAAG0R,UAAUzR,GAAE,GAAIwK,EAAEhM,EAAEqd,gBAAgBpb,EAAEsyC,GAAGv0C,EAAEmlB,QAAQnlB,EAAEqd,gBAAgB,GAAG,MAAM3b,EAAE,CAACm0B,OAAO,cAAchT,KAAK,cAAciV,oBAAoB,eAAe93B,EAAEs4D,mBAAmB52D,EAAE,EAAEvB,GAAGH,EAAEs4D,mBAAmB52D,EAAE3C,EAAEiB,EAAEi5D,KAAKx5D,QAAQO,EAAE87B,OAAM,EAAG,MAAM3vB,EAAEnM,EAAE+lB,gBAAgB,CAACnI,oBAAoB9f,EAAE8f,oBAAoBI,mBAAkB,IAAKhe,EAAEqd,gBAAgBrR,EAAEhM,EAAEmlB,OAAOljB,EAAEjC,EAAE87B,OAAM,EAAGmjB,GAAG9yC,EAAE,CAAC6O,SAAS,QAAQnG,KAAK,GAAGtK,QAAQ4B,EAAE4I,MAAM,MAAMwqD,OAAO1xD,GAAEkH,MAAM,GAAGxK,OAAO4B,EAAE4I,MAAMtU,EAAE,MAAMuU,OAAO,GAAGzK,OAAO4B,EAAE6I,OAAOvU,EAAE,QAAQqB,KAAK09D,qBAAqB19D,KAAK09D,sBAAsB19D,KAAK09D,oBAAoB,KAAKrzD,EAAEwD,QAAM,EAAI4K,GAAG1c,EAAEiJ,QAAQhF,KAAKgF,OAAOwjD,gBAAgB7vC,KAAKglD,YAAYtzD,GAAG,QAAQ1K,EAAE5D,EAAE+vD,oBAAe,IAASnsD,GAAGA,EAAE09D,aAAahzD,EAAEtK,EAAEkL,EAAElL,EAAEH,EAAE,CAAC,WAAAyvC,CAAYtzC,GAAGiE,KAAK+8D,kBAAiB,EAAG,MAAM9gE,EAAE+D,KAAKgF,OAAO3G,EAAE2B,KAAK88D,WAAW,GAAGz+D,GAAGtC,EAAE+vD,aAAa,CAAC,MAAMztD,EAAE2B,KAAKo9D,qBAAqB,CAACT,eAAe1gE,EAAE0gE,eAAeC,aAAa3gE,EAAE2gE,cAAc3/D,EAAEhB,EAAE67D,MAAM50D,MAAM7E,EAAEs+D,eAAet+D,EAAEu+D,cAAc5kD,KAAK,IAAI9Z,EAAEyB,EAAE,CAACw3D,KAAKl7D,EAAEk7D,KAAK/4D,MAAMnB,GAAGoB,GAAGtC,EAAE+vD,aAAa8R,QAAQ,aAAa3gE,GAAGlB,EAAE+vD,aAAa8R,QAAQ,qBAAqBj6C,KAAKk6C,UAAU,CAACz/D,MAAMnB,EAAEomB,OAAOpnB,EAAEo6D,mBAAmBh4D,EAAEs+D,eAAet+D,EAAEu+D,cAAa,MAAO7gE,EAAE+vD,aAAagS,cAAc,WAAW99D,KAAKq9D,aAAathE,EAAEmC,EAAE,CAAC,OAAOjC,EAAE8hE,uBAAuB1/D,CAAC,CAAC,OAAAixC,CAAQvzC,GAAG,GAAGiE,KAAKgF,OAAOg5D,WAAWh+D,KAAKgF,OAAOooC,qBAAqBrxC,EAAEkiE,iBAAiB,CAAC,GAAGj+D,KAAK88D,YAAY98D,KAAKo9D,qBAAqB,CAAC,MAAMnhE,EAAE+D,KAAKgF,OAAO03D,6BAA6B3gE,GAAG4D,EAAEK,KAAKo9D,qBAAqB,OAAOnhE,EAAE0D,EAAEg9D,gBAAgB1gE,EAAE0D,EAAEi9D,YAAY,CAAC,OAAM,CAAE,CAAC,OAAM,CAAE,CAAC,aAAAsB,CAAcniE,GAAG,OAAOiE,KAAKgF,OAAOsqC,QAAQvzC,EAAE,CAAC,gBAAAogE,CAAiBpgE,GAAG,IAAIE,EAAEA,GAAGF,EAAE,MAAM4D,EAAEK,KAAKk+D,cAAcjiE,IAAI+D,KAAKk9D,kBAAkBv9D,IAAIK,KAAKk9D,kBAAiB,EAAG,CAAC,eAAAd,CAAgBrgE,GAAG,MAAME,EAAEA,GAAGF,EAAE4D,EAAEK,KAAKk+D,cAAcjiE,IAAI+D,KAAKk9D,kBAAkBv9D,EAAEK,KAAKk9D,kBAAiB,EAAGl9D,KAAKk9D,mBAAmBv9D,IAAIK,KAAKk9D,kBAAiB,GAAIl9D,KAAKk9D,mBAAmBjhE,EAAE2oB,iBAAiB7oB,EAAEuzC,SAAQ,EAAGvzC,EAAEowD,WAAWnsD,KAAKgF,OAAO,CAAC,gBAAAq3D,IAAoBr8D,KAAKk9D,kBAAkBl9D,KAAK88D,cAAc98D,KAAKk9D,kBAAiB,EAAG,CAAC,WAAAX,CAAYxgE,GAAG,IAAIE,EAAE,MAAMA,EAAE0D,GAAG5D,EAAEsC,EAAEsB,EAAEs+D,iBAAiBj+D,KAAKk9D,kBAAiB,EAAGv9D,EAAEilB,iBAAiB,IAAI3nB,EAAE,QAAQhB,EAAE0D,EAAEmsD,oBAAe,IAAS7vD,OAAE,EAAOA,EAAEkiE,QAAQ,cAAc,GAAGlhE,IAAIoB,EAAE,CAAC,MAAMpC,EAAE+D,KAAKgF,OAAO3G,EAAEpC,EAAEiS,OAAO,IAAIhQ,EAAEjC,EAAEygE,6BAA6B/8D,GAAG,MAAM0jB,OAAOrnB,GAAG2D,EAAEmsD,aAAasS,MAAMlsD,SAAS,sBAAsByR,KAAKC,MAAMjkB,EAAEmsD,aAAaqS,QAAQ,uBAAuB,CAAE,EAAC5/D,EAAEtB,EAAEkN,KAAKC,IAAI,EAAEnN,EAAEU,OAAO,IAAI6B,EAAE,EAAE,GAAGQ,KAAKo9D,qBAAqB,CAAC,MAAMrhE,EAAEiE,KAAKo9D,qBAAqBT,eAAeh9D,EAAEK,KAAKo9D,qBAAqBR,aAAa1+D,EAAEnC,GAAGmC,GAAGyB,EAAEzB,EAAEnC,EAAEmC,EAAEyB,IAAIzB,GAAGyB,EAAE5D,GAAGE,EAAEoiE,YAAYtiE,EAAE4D,UAAUK,KAAKo9D,oBAAoB,CAACnhE,EAAEq5B,WAAWhuB,KAAK/I,KAAKtC,EAAEq5B,WAAWhuB,KAAKrL,EAAE67D,MAAM55D,KAAKA,IAAIjC,EAAE67D,MAAMn6D,UAAUV,EAAEA,EAAEqhE,WAAWviE,EAAEmwD,SAAQ,EAAGnwD,EAAEowD,WAAWlwD,EAAEA,EAAEsiE,YAAYthE,EAAEjB,EAAEkC,GAAGG,EAAEmpD,gBAAgBvrD,GAAGA,EAAEuiE,aAAa7+D,GAAG1D,EAAE0gE,eAAexyD,KAAKqG,IAAItS,EAAEsB,EAAEvD,EAAE67D,MAAMn6D,QAAQ1B,EAAE2gE,aAAazyD,KAAKqG,IAAIvU,EAAE0gE,eAAe1/D,EAAEU,OAAO1B,EAAE67D,MAAMn6D,QAAQ1B,EAAEusD,eAAepqD,MAAMnC,EAAEk7D,KAAKl7D,EAAEwiE,kBAAkBxiE,EAAEusD,eAAeC,QAAQxsD,EAAE0S,KAAKlC,GAAE,CAACiyD,MAAMxgE,EAAEsB,EAAE0tC,OAAO,SAAS7uC,EAAEsQ,KAAK,eAAe,CAAC3J,OAAO/I,IAAIoC,EAAE6lD,iBAAgB,EAAG7lD,EAAEwe,kBAAkB,CAAC,CAAC,cAAAy/C,CAAevgE,GAAG,IAAIE,EAAEA,GAAGF,EAAE,GAAGiE,KAAK88D,YAAY98D,KAAK+8D,kBAAkB/8D,KAAKo9D,qBAAqB,CAAC,IAAIz9D,EAAE,MAAM5D,EAAEiE,KAAKgF,OAAO3G,EAAE2B,KAAKgF,OAAOkJ,QAAQyuD,eAAe1/D,EAAE2/D,aAAa1+D,GAAG8B,KAAKo9D,qBAAqBphE,GAAG,QAAQ2D,EAAE1D,EAAE6vD,oBAAe,IAASnsD,OAAE,EAAOA,EAAEosD,aAAahgD,GAAE/P,IAAI+P,IAAGhQ,EAAE4gE,eAAe1/D,EAAElB,EAAE6gE,aAAa1+D,EAAEnC,EAAE0iE,kBAAkB1iE,EAAEysD,eAAeC,UAAU1sD,EAAEkzC,kBAAkB,SAASjzC,IAAID,EAAEsiE,YAAYphE,EAAEiB,GAAGnC,EAAE4gE,eAAe5gE,EAAE6gE,aAAa3/D,EAAElB,EAAEysD,iBAAiBzsD,EAAEysD,eAAepqD,MAAMrC,EAAEo7D,MAAMp7D,EAAE0iE,kBAAkB1iE,EAAE4S,KAAKlC,GAAE,CAACiyD,MAAMzhE,EAAEiwC,OAAO,YAAY7uC,EAAEsQ,KAAK,eAAe,CAAC3J,OAAOjJ,IAAIsC,EAAEwe,oBAAoB9gB,EAAE6sD,cAAc,CAAC5oD,KAAK09D,qBAAqB19D,KAAK09D,6BAA6B19D,KAAK09D,2BAA2B19D,KAAKo9D,qBAAqBp9D,KAAKk9D,kBAAiB,CAAE,CAAC,OAAAlzD,GAAUhK,KAAKw8D,UAAUx8D,KAAKw8D,UAAU,EAAE,MAAMmC,GAAG,iBAAiB,MAAMC,WAAW1H,GAAG,WAAAv6D,GAAcoL,SAASrK,WAAW3B,EAAEiE,KAAK,wBAAwB,EAAE,CAAC,YAAA6+D,GAAe7+D,KAAK8+D,MAAM9+D,KAAK8+D,MAAMn5D,KAAK3F,MAAMA,KAAK++D,gBAAgB/+D,KAAK++D,gBAAgBp5D,KAAK3F,MAAMA,KAAK8oD,2BAA2B9oD,KAAK8oD,2BAA2BnjD,KAAK3F,KAAK,CAAC,UAAAkvC,CAAWnzC,GAAG,OAAOiE,KAAK4mD,WAAW5mD,KAAK4oD,cAAc5oD,KAAKunD,UAAS,EAAGx/C,MAAMmnC,WAAWnzC,EAAE,CAAC,cAAAijE,CAAejjE,GAAG,IAAIkjE,QAAQhjE,EAAE0gC,SAASh9B,EAAEi9B,MAAMv+B,EAAE2+B,WAAW//B,GAAGlB,EAAE,OAAO4iC,GAAG,CAAClC,WAAWz8B,KAAKk/D,sBAAsB5hC,SAASrhC,EAAE0gC,SAASh9B,EAAEi9B,MAAMv+B,EAAE2+B,WAAW//B,EAAE+Q,MAAM,KAAKhO,KAAKkO,QAAQlO,KAAK28D,iBAAiB38D,KAAK48D,aAAa7/B,SAAShhC,IAAIiE,KAAKk/D,sBAAsBnjE,EAAEiE,KAAKm/D,yBAAuB,GAAK,CAAC,KAAAL,CAAM/iE,GAAGiE,KAAKo/D,kBAAkBp/D,KAAKg/D,eAAe,CAACC,QAAQ,EAAEtiC,SAAS38B,KAAKq/D,eAAe,EAAEziC,MAAMzyB,KAAKC,IAAIrO,GAAG,EAAE,KAAKihC,WAAWh9B,KAAK++D,iBAAiB,CAAC,eAAAA,GAAkB,IAAIhjE,EAAE,QAAQA,EAAEiE,KAAKs/D,iCAA4B,IAASvjE,GAAGA,EAAEiS,QAAQhO,KAAKs/D,0BAA0Bt/D,KAAKg/D,eAAe,CAACC,QAAQ,EAAEtiC,SAAS38B,KAAKq/D,eAAeriC,WAAWh9B,KAAK8+D,OAAO,CAAC,iBAAA7B,CAAkBlhE,GAAGiE,KAAK+9D,uBAAuB/9D,KAAK8+D,MAAM/iE,EAAE,EAAEiE,KAAKu/D,YAAY,CAAC,oBAAAxB,GAAuB,IAAIhiE,GAAE,EAAG,CAACiE,KAAKo/D,kBAAkBp/D,KAAKs/D,2BAA2B1hE,SAAS3B,IAAIA,IAAIA,EAAEyhC,WAAW3hC,GAAE,EAAGE,EAAE+R,QAAS,IAAGhO,KAAKk/D,sBAAsB,EAAEnjE,GAAGiE,KAAKivC,iBAAiB,CAAC,qBAAAuwB,GAAwB,CAACx/D,KAAKo/D,kBAAkBp/D,KAAKs/D,2BAA2BntD,MAAMpW,IAAIA,GAAGA,EAAE2hC,YAAY19B,KAAKi9D,mBAAmB,CAAC,SAAAwC,GAAY,OAAOz/D,KAAK28D,eAAe,EAAE38D,KAAK48D,aAAa58D,KAAK83D,MAAMn6D,OAAOqC,KAAK0/D,wBAAwB1/D,KAAKy+D,kBAAkBz+D,IAAI,CAAC,MAAA2/D,GAAS3/D,KAAKy/D,YAAYz/D,KAAKm/D,yBAAyB,CAAC,eAAAS,GAAkB,OAAO5/D,KAAK83D,MAAM50D,MAAMlD,KAAK28D,eAAe38D,KAAK48D,cAAc5kD,KAAK,GAAG,CAAC,oBAAA6nD,CAAqB9jE,GAAG,IAAIE,EAAE,EAAE0D,EAAE5D,EAAE,EAAE,GAAGiE,KAAK8/D,SAASx4D,KAAKtH,KAAK83D,MAAMn4D,IAAI,KAAKK,KAAK8/D,SAASx4D,KAAKtH,KAAK83D,MAAMn4D,KAAK1D,IAAI0D,IAAI,KAAK,KAAK2H,KAAKtH,KAAK83D,MAAMn4D,KAAKA,GAAG,GAAG1D,IAAI0D,IAAI,OAAO5D,EAAEE,CAAC,CAAC,qBAAA8jE,CAAsBhkE,GAAG,IAAIE,EAAE,EAAE0D,EAAE5D,EAAE,GAAGiE,KAAK8/D,SAASx4D,KAAKtH,KAAK83D,MAAMn4D,IAAI,KAAKK,KAAK8/D,SAASx4D,KAAKtH,KAAK83D,MAAMn4D,KAAK1D,IAAI0D,IAAI,KAAK,KAAK2H,KAAKtH,KAAK83D,MAAMn4D,KAAKA,EAAEK,KAAK83D,MAAMn6D,QAAQ1B,IAAI0D,IAAI,OAAO5D,EAAEE,CAAC,CAAC,oBAAA+jE,CAAqBjkE,GAAG,IAAIE,EAAE,EAAE0D,EAAE5D,EAAE,EAAE,MAAM,KAAKuL,KAAKtH,KAAK83D,MAAMn4D,KAAKA,GAAG,GAAG1D,IAAI0D,IAAI,OAAO5D,EAAEE,CAAC,CAAC,qBAAAgkE,CAAsBlkE,GAAG,IAAIE,EAAE,EAAE0D,EAAE5D,EAAE,MAAM,KAAKuL,KAAKtH,KAAK83D,MAAMn4D,KAAKA,EAAEK,KAAK83D,MAAMn6D,QAAQ1B,IAAI0D,IAAI,OAAO5D,EAAEE,CAAC,CAAC,kBAAAikE,CAAmBnkE,EAAEE,GAAG,MAAM0D,EAAEK,KAAK83D,MAAM,IAAIz5D,EAAEtC,EAAE,GAAGiE,KAAK8/D,SAASx4D,KAAK3H,EAAE5D,OAAO,IAAIE,IAAI+P,GAAE1E,KAAK3H,EAAE5D,EAAE,KAAKA,EAAE,EAAEA,EAAEkB,EAAE0C,EAAEtB,GAAG,KAAKA,EAAE,GAAGA,EAAEsB,EAAEhC,SAASghE,GAAGr3D,KAAKrK,IAAIoB,GAAGpC,EAAEgB,EAAE0C,EAAEtB,GAAG,OAAO,IAAIpC,GAAG0iE,GAAGr3D,KAAKrK,IAAIoB,IAAIA,CAAC,CAAC,UAAA8hE,CAAWpkE,GAAG,IAAIE,EAAEF,EAAE,QAAQE,EAAEF,SAAI,IAASE,EAAEA,EAAE+D,KAAK28D,eAAe,MAAMh9D,EAAEK,KAAKkgE,mBAAmBnkE,GAAG,GAAGsC,EAAE8L,KAAKC,IAAIzK,EAAEK,KAAKkgE,mBAAmBnkE,EAAE,IAAIiE,KAAK28D,eAAeh9D,EAAEK,KAAK48D,aAAav+D,EAAE2B,KAAK0/D,wBAAwB1/D,KAAKy+D,kBAAkBz+D,KAAKm/D,yBAAyB,CAAC,UAAAiB,CAAWrkE,GAAG,IAAIE,EAAEF,EAAE,QAAQE,EAAEF,SAAI,IAASE,EAAEA,EAAE+D,KAAK28D,eAAe,MAAMh9D,EAAEK,KAAKggE,qBAAqBjkE,GAAGsC,EAAE2B,KAAKigE,sBAAsBlkE,GAAGiE,KAAK28D,eAAeh9D,EAAEK,KAAK48D,aAAav+D,EAAE2B,KAAK0/D,wBAAwB1/D,KAAKy+D,iBAAiB,CAAC,YAAAD,CAAaziE,IAAIiE,KAAK4mD,WAAW5mD,KAAKg+D,WAAWh+D,KAAKqgE,mBAAmBrgE,KAAK2O,KAAK,kBAAkB5S,EAAE,CAACE,EAAEF,QAAG,GAAQiE,KAAK0/D,wBAAwB1/D,KAAKkO,SAASlO,KAAKkO,OAAOS,KAAK,uBAAuB,CAAC3J,OAAOhF,KAAK/D,EAAEF,IAAIiE,KAAKkO,OAAO2O,oBAAoB,CAAC,gBAAAwjD,GAAmBrgE,KAAKkO,SAASlO,KAAKkO,OAAOyM,aAAa3a,KAAKkO,OAAOogD,mBAAmB3F,mBAAmB3oD,KAAK4mD,WAAU,EAAG5mD,KAAKsgE,qBAAqBtgE,KAAKwoD,eAAeC,QAAQzoD,KAAKwoD,eAAepqD,MAAM4B,KAAKm3D,KAAKn3D,KAAKy+D,kBAAkBz+D,KAAKugE,oBAAoBvgE,KAAKwgE,mBAAmBxgE,KAAKygE,gBAAgBzgE,KAAKm3D,KAAKn3D,KAAK8+D,OAAO,CAAC,0BAAAhW,CAA2B/sD,GAAG,GAAGiE,KAAKotC,mBAAmB,OAAO,MAAMnxC,EAAE+D,KAAKwoD,eAAe/vC,GAAGxc,GAAGykE,gBAAgBzkE,GAAGA,EAAEwsD,QAAQ,MAAM9oD,EAAEK,KAAK08D,6BAA6B3gE,GAAGsC,EAAE2B,KAAK28D,eAAe1/D,EAAE+C,KAAK48D,cAAcj9D,IAAIK,KAAK2gE,6BAA6BtiE,IAAIpB,GAAGoB,IAAIsB,GAAG1C,IAAI0C,KAAKA,EAAEK,KAAK2gE,6BAA6B3gE,KAAK28D,eAAe38D,KAAK2gE,4BAA4B3gE,KAAK48D,aAAaj9D,IAAIK,KAAK28D,eAAeh9D,EAAEK,KAAK48D,aAAa58D,KAAK2gE,6BAA6B3gE,KAAK28D,iBAAiBt+D,GAAG2B,KAAK48D,eAAe3/D,IAAI+C,KAAK0/D,wBAAwB1/D,KAAKy+D,kBAAkBz+D,KAAKm/D,2BAA2B,CAAC,gBAAAqB,GAAmBxgE,KAAKqwC,YAAY,OAAOrwC,KAAKkO,SAASlO,KAAKkO,OAAO85C,cAAchoD,KAAKkO,OAAOoiC,WAAW,QAAQtwC,KAAKouC,YAAYpuC,KAAK4gE,mBAAmB5gE,KAAK0tC,YAAY1tC,KAAKoT,YAAW,EAAGpT,KAAK2vC,cAAc3vC,KAAK4vC,eAAc,CAAE,CAAC,6BAAAixB,CAA8B9kE,EAAEE,EAAE0D,GAAG,MAAMtB,EAAEsB,EAAEuD,MAAM,EAAEnH,GAAGkB,EAAE+C,KAAKuzC,cAAcl1C,GAAGV,OAAO,GAAG5B,IAAIE,EAAE,MAAM,CAAC0gE,eAAe1/D,EAAE2/D,aAAa3/D,GAAG,MAAMiB,EAAEyB,EAAEuD,MAAMnH,EAAEE,GAAG,MAAM,CAAC0gE,eAAe1/D,EAAE2/D,aAAa3/D,EAAE+C,KAAKuzC,cAAcr1C,GAAGP,OAAO,CAAC,6BAAAmjE,CAA8B/kE,EAAEE,EAAE0D,GAAG,MAAMtB,EAAEsB,EAAEuD,MAAM,EAAEnH,GAAGic,KAAK,IAAIra,OAAO,OAAG5B,IAAIE,EAAQ,CAAC0gE,eAAet+D,EAAEu+D,aAAav+D,GAAS,CAACs+D,eAAet+D,EAAEu+D,aAAav+D,EAAEsB,EAAEuD,MAAMnH,EAAEE,GAAG+b,KAAK,IAAIra,OAAO,CAAC,eAAA8gE,GAAkB,GAAGz+D,KAAK+gE,kBAAkB,GAAG/gE,KAAKwoD,eAAe,CAAC,IAAIxoD,KAAKghE,kBAAkB,CAAC,MAAMjlE,EAAEiE,KAAK8gE,8BAA8B9gE,KAAK28D,eAAe38D,KAAK48D,aAAa58D,KAAK83D,OAAO93D,KAAKwoD,eAAemU,eAAe5gE,EAAE4gE,eAAe38D,KAAKwoD,eAAeoU,aAAa7gE,EAAE6gE,YAAY,CAAC58D,KAAKihE,wBAAwB,CAAC,CAAC,kBAAAC,GAAqB,IAAIlhE,KAAKwoD,eAAe,OAAOxoD,KAAK+gE,kBAAkB,CAAE,EAAC,MAAMhlE,EAAEiE,KAAKwoD,eAAexoD,KAAKm3D,KAAKp7D,EAAEqC,MAAM4B,KAAKyN,IAAI,SAAQ,GAAIzN,KAAKq3D,iBAAiBr3D,KAAK8c,YAAY,MAAM7gB,EAAE+D,KAAK6gE,8BAA8B9kE,EAAE4gE,eAAe5gE,EAAE6gE,aAAa7gE,EAAEqC,OAAO4B,KAAK48D,aAAa58D,KAAK28D,eAAe1gE,EAAE2gE,aAAa58D,KAAKghE,oBAAoBhhE,KAAK28D,eAAe1gE,EAAE0gE,gBAAgB38D,KAAKihE,wBAAwB,CAAC,sBAAAA,GAAyB,GAAGjhE,KAAK28D,iBAAiB38D,KAAK48D,aAAa,CAAC,MAAM7gE,EAAEiE,KAAKmhE,wBAAwBnhE,KAAKwoD,eAAevvC,MAAMlG,KAAKhX,EAAEgX,KAAK/S,KAAKwoD,eAAevvC,MAAMjG,IAAIjX,EAAEiX,GAAG,CAAC,CAAC,qBAAAmuD,GAAwB,IAAInhE,KAAKkO,OAAO,MAAM,CAAC6E,KAAK,MAAMC,IAAI,OAAO,MAAMjX,EAAEiE,KAAKghE,kBAAkBhhE,KAAKohE,iBAAiBphE,KAAK28D,eAAe1gE,EAAE+D,KAAKs9D,qBAAqBvhE,GAAG4D,EAAEK,KAAKg2D,oBAAoBj6D,GAAGsC,EAAEsB,EAAEm2D,UAAU74D,EAAE0C,EAAEo2D,UAAU73D,EAAE8B,KAAKu5D,qBAAqBl7D,EAAEpB,EAAE,YAAY+C,KAAK+1B,WAAW/5B,EAAEC,EAAEshE,WAAWh/D,EAAEyB,KAAKmhC,yBAAyB3hC,EAAEQ,KAAKkO,OAAOw1C,cAAcjlD,EAAEe,EAAEyT,MAAM1U,EAAEkB,EAAED,EAAE0T,OAAO3U,EAAEI,EAAEF,EAAEP,EAAE+B,EAAER,EAAEvB,EAAEmC,EAAE,IAAI8O,GAAGlT,EAAE8W,KAAK/W,EAAEC,EAAE+W,IAAI/W,EAAEuhE,UAAUt/D,GAAGiT,UAAUnR,KAAKm0B,uBAAuBhjB,UAAUnR,KAAKkO,OAAOgO,mBAAmBtM,SAAS,IAAIT,GAAG3P,EAAE6hE,YAAY5iE,EAAEe,EAAE8hE,aAAa7hE,IAAI,OAAOY,EAAE4K,EAAE,IAAI5K,EAAE4K,EAAE,GAAG5K,EAAE4K,EAAEtM,IAAI0B,EAAE4K,EAAEtM,GAAG0B,EAAET,EAAE,IAAIS,EAAET,EAAE,GAAGS,EAAET,EAAEK,IAAII,EAAET,EAAEK,GAAGI,EAAE4K,GAAGjL,KAAKkO,OAAO8O,QAAQjK,KAAK1S,EAAET,GAAGI,KAAKkO,OAAO8O,QAAQhK,IAAI,CAACD,KAAK,GAAGtK,OAAOpI,EAAE4K,EAAE,MAAM+H,IAAI,GAAGvK,OAAOpI,EAAET,EAAE,MAAM81B,SAAS,GAAGjtB,OAAOvK,EAAE,MAAMqjE,WAAWrjE,EAAE,CAAC,iBAAAqiE,GAAoBvgE,KAAKwhE,YAAY,CAAC9zB,YAAY1tC,KAAK0tC,YAAYU,YAAYpuC,KAAKouC,YAAYuB,cAAc3vC,KAAK2vC,cAAcC,cAAc5vC,KAAK4vC,cAAcS,YAAYrwC,KAAKqwC,YAAYj9B,WAAWpT,KAAKoT,WAAW40C,cAAchoD,KAAKkO,QAAQlO,KAAKkO,OAAO85C,cAAc1X,WAAWtwC,KAAKkO,QAAQlO,KAAKkO,OAAOoiC,WAAW,CAAC,oBAAAmxB,GAAuBzhE,KAAKwhE,cAAcxhE,KAAKqwC,YAAYrwC,KAAKwhE,YAAYnxB,YAAYrwC,KAAK0tC,YAAY1tC,KAAKwhE,YAAY9zB,YAAY1tC,KAAKouC,YAAYpuC,KAAKwhE,YAAYpzB,YAAYpuC,KAAKoT,WAAWpT,KAAKwhE,YAAYpuD,WAAWpT,KAAK2vC,cAAc3vC,KAAKwhE,YAAY7xB,cAAc3vC,KAAK4vC,cAAc5vC,KAAKwhE,YAAY5xB,cAAc5vC,KAAKkO,SAASlO,KAAKkO,OAAO85C,cAAchoD,KAAKwhE,YAAYxZ,eAAehoD,KAAKkO,OAAO85C,cAAchoD,KAAKkO,OAAOoiC,WAAWtwC,KAAKwhE,YAAYlxB,YAAYtwC,KAAKkO,OAAOoiC,mBAAmBtwC,KAAKwhE,YAAY,CAAC,YAAAE,GAAe,MAAM3lE,EAAEiE,KAAKwoD,eAAexoD,KAAKunD,UAAS,EAAGvnD,KAAK4mD,WAAU,EAAG7qD,IAAIA,EAAEq9B,MAAMr9B,EAAEq9B,OAAOr9B,EAAE+c,YAAY/c,EAAE+c,WAAW0qC,YAAYznD,IAAIiE,KAAKwoD,eAAe,KAAKxoD,KAAK+9D,uBAAuB/9D,KAAK28D,iBAAiB38D,KAAK48D,cAAc58D,KAAKivC,iBAAiB,CAAC,eAAA0yB,GAAkB3hE,KAAK0hE,eAAe1hE,KAAK48D,aAAa58D,KAAK28D,eAAe38D,KAAKyhE,uBAAuBzhE,KAAKy2D,mBAAmBz2D,KAAKq3D,iBAAiBr3D,KAAK8c,YAAY,CAAC,WAAA8rC,GAAc,MAAM7sD,EAAEiE,KAAKygE,kBAAkBzgE,KAAKm3D,KAAK,OAAOn3D,KAAK2hE,kBAAkB3hE,KAAK2O,KAAK,kBAAkB5S,GAAGiE,KAAK2O,KAAK1B,IAAGjN,KAAKkO,SAASlO,KAAKkO,OAAOS,KAAK,sBAAsB,CAAC3J,OAAOhF,OAAOjE,GAAGiE,KAAKkO,OAAOS,KAAK,kBAAkB,CAAC3J,OAAOhF,QAAQA,IAAI,CAAC,uBAAA4hE,GAA0B,IAAI,MAAM7lE,KAAKiE,KAAKqjB,OAAOrjB,KAAK21D,WAAW55D,WAAWiE,KAAKqjB,OAAOtnB,EAAE,CAAC,iBAAA8lE,CAAkB9lE,EAAEE,GAAG,MAAM65D,UAAUn2D,EAAEo2D,UAAU13D,GAAG2B,KAAKg2D,oBAAoBj6D,GAAE,IAAK+5D,UAAU74D,EAAE84D,UAAU73D,GAAG8B,KAAKg2D,oBAAoB/5D,GAAE,GAAI,GAAG0D,IAAI1C,EAAE,CAAC,GAAG+C,KAAKqjB,OAAO1jB,GAAG,IAAI,IAAI5D,EAAEsC,EAAEtC,EAAEiE,KAAK43D,oBAAoBj4D,GAAGhC,OAAO5B,WAAWiE,KAAKqjB,OAAO1jB,GAAG5D,GAAG,GAAGiE,KAAKqjB,OAAOpmB,GAAG,IAAI,IAAIlB,EAAEmC,EAAEnC,EAAEiE,KAAK43D,oBAAoB36D,GAAGU,OAAO5B,IAAI,CAAC,MAAME,EAAE+D,KAAKqjB,OAAOpmB,GAAGlB,GAAGE,IAAI+D,KAAKqjB,OAAO1jB,KAAKK,KAAKqjB,OAAO1jB,GAAG,CAAE,GAAEK,KAAKqjB,OAAO1jB,GAAGtB,EAAEtC,EAAEmC,GAAGjC,EAAE,CAAC,IAAI,IAAIF,EAAE4D,EAAE,EAAE5D,GAAGkB,EAAElB,WAAWiE,KAAKqjB,OAAOtnB,GAAGiE,KAAK8hE,gBAAgB7kE,EAAE0C,EAAE1C,EAAE,MAAM,GAAG+C,KAAKqjB,OAAO1jB,GAAG,CAAC,MAAM5D,EAAEiE,KAAKqjB,OAAO1jB,GAAG1D,EAAEiC,EAAEG,EAAE,IAAI,IAAIpC,EAAEoC,EAAEpC,EAAEiC,EAAEjC,WAAWF,EAAEE,GAAG,IAAI,MAAMoC,KAAK2B,KAAKqjB,OAAO1jB,GAAG,CAAC,MAAMA,EAAEkb,SAASxc,EAAE,IAAIsB,GAAGzB,IAAInC,EAAE4D,EAAE1D,GAAGF,EAAEsC,UAAUtC,EAAEsC,GAAG,CAAC,CAAC,CAAC,eAAAyjE,CAAgB/lE,EAAEE,GAAG,MAAM0D,EAAEzC,OAAO+K,OAAO,GAAGjI,KAAKqjB,QAAQ,IAAI,MAAMhlB,KAAK2B,KAAKqjB,OAAO,CAAC,MAAMpmB,EAAE4d,SAASxc,EAAE,IAAIpB,EAAElB,IAAIiE,KAAKqjB,OAAOpmB,EAAEhB,GAAG0D,EAAE1C,GAAG0C,EAAE1C,EAAEhB,WAAW+D,KAAKqjB,OAAOpmB,GAAG,CAAC,CAAC,wBAAA8kE,CAAyBhmE,EAAEE,EAAEoC,EAAEpB,GAAG,MAAMiB,EAAE,GAAGlC,EAAEgE,KAAK43D,oBAAoB77D,GAAG4B,OAAOY,EAAEvC,IAAIC,EAAE,IAAIuD,GAAE,EAAGnB,IAAIA,EAAE,GAAG2B,KAAK8hE,gBAAgB/lE,EAAEsC,GAAG,MAAMI,EAAEuB,KAAKqjB,OAAOtnB,GAAGiE,KAAKqjB,OAAOtnB,GAAG,IAAIE,EAAEA,EAAEA,EAAE,QAAG,EAAO,IAAI,MAAM0D,KAAKK,KAAKqjB,OAAOtnB,GAAG,CAAC,MAAMsC,EAAEwc,SAASlb,EAAE,IAAItB,GAAGpC,IAAIuD,GAAE,EAAGtB,EAAEG,EAAEpC,GAAG+D,KAAKqjB,OAAOtnB,GAAG4D,GAAGpB,GAAG,IAAItC,UAAU+D,KAAKqjB,OAAOtnB,GAAG4D,GAAG,CAAC,IAAIF,GAAE,EAAG,IAAID,IAAIjB,IAAIyB,KAAKqjB,OAAOtnB,EAAEsC,GAAGH,EAAEuB,GAAE,IAAKA,GAAGzD,EAAEC,IAAIoC,IAAIA,EAAE,GAAGpB,GAAGA,EAAEoB,EAAE,GAAG2B,KAAKqjB,OAAOtnB,EAAEsC,GAAG,CAAC,EAAEsB,EAAE,CAAA,EAAG1C,EAAEoB,EAAE,KAAKI,EAAEuB,KAAKqjB,OAAOtnB,EAAEsC,GAAG,CAAC,EAAEsB,EAAE,CAAA,EAAGlB,WAAWuB,KAAKqjB,OAAOtnB,EAAEsC,GAAGA,IAAI2B,KAAKy2D,kBAAiB,CAAE,CAAC,qBAAAuL,CAAsBjmE,EAAEE,EAAEoC,EAAEpB,GAAG+C,KAAKqjB,SAASrjB,KAAKqjB,OAAO,CAAA,GAAI,MAAMnlB,EAAE8B,KAAKqjB,OAAOtnB,GAAGC,EAAEkC,EAAEyB,EAAE,CAAE,EAACzB,GAAG,CAAA,EAAGG,IAAIA,EAAE,GAAG,IAAI,MAAMtC,KAAKC,EAAE,CAAC,MAAM2D,EAAEkb,SAAS9e,EAAE,IAAI4D,GAAG1D,IAAIiC,EAAEyB,EAAEtB,GAAGrC,EAAE2D,GAAG3D,EAAE2D,EAAEtB,WAAWH,EAAEyB,GAAG,CAAC,GAAGK,KAAKy2D,kBAAiB,EAAGx5D,EAAE,CAAC,KAAKoB,KAAKnB,OAAOC,KAAKF,EAAEoB,IAAIV,SAASqC,KAAKqjB,OAAOtnB,KAAKiE,KAAKqjB,OAAOtnB,GAAG,IAAIiE,KAAKqjB,OAAOtnB,GAAGE,EAAEoC,GAAGsB,EAAE,CAAE,EAAC1C,EAAEoB,KAAK,MAAM,CAAC,IAAIH,EAAE,OAAO,MAAMK,EAAEL,EAAEjC,EAAEA,EAAE,EAAE,GAAG,KAAKsC,GAAGF,KAAK2B,KAAKqjB,OAAOtnB,GAAGE,EAAEoC,GAAGsB,EAAE,CAAE,EAACpB,EAAE,CAAC,mBAAA0jE,CAAoBlmE,EAAEE,EAAE0D,GAAG,MAAMtB,EAAE2B,KAAKg2D,oBAAoB/5D,GAAE,GAAIgB,EAAE,CAAC,GAAG,IAAIiB,EAAElC,EAAE,EAAE,IAAI,IAAIC,EAAE,EAAEA,EAAEF,EAAE4B,OAAO1B,IAAI,OAAOF,EAAEE,IAAID,IAAIiB,EAAEjB,GAAG,GAAGiB,EAAEjB,KAAK,IAAIiB,EAAE,GAAG,IAAI+C,KAAKgiE,sBAAsB3jE,EAAEy3D,UAAUz3D,EAAE03D,UAAU94D,EAAE,GAAG0C,GAAGA,EAAEA,GAAGA,EAAEuD,MAAMjG,EAAE,GAAG,IAAIjB,GAAGgE,KAAK+hE,yBAAyB1jE,EAAEy3D,UAAUz3D,EAAE03D,UAAU94D,EAAE,GAAGjB,GAAGkC,EAAE,EAAEA,EAAElC,EAAEkC,IAAIjB,EAAEiB,GAAG,EAAE8B,KAAKgiE,sBAAsB3jE,EAAEy3D,UAAU53D,EAAE,EAAEjB,EAAEiB,GAAGyB,GAAGA,GAAGK,KAAKqjB,OAAOhlB,EAAEy3D,UAAU53D,IAAIyB,EAAE,KAAKK,KAAKqjB,OAAOhlB,EAAEy3D,UAAU53D,GAAG,GAAGyB,EAAE,IAAIA,EAAEA,GAAGA,EAAEuD,MAAMjG,EAAEiB,GAAG,GAAGjB,EAAEiB,GAAG,GAAG8B,KAAKgiE,sBAAsB3jE,EAAEy3D,UAAU53D,EAAE,EAAEjB,EAAEiB,GAAGyB,EAAE,CAAC,WAAA0+D,CAAYtiE,GAAG,IAAIE,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG3B,EAAE,EAAEiE,KAAK6hE,kBAAkB9lE,EAAEE,GAAG+D,KAAK83D,MAAMhqD,OAAO/R,EAAEE,EAAEF,GAAGiE,KAAKm3D,KAAKn3D,KAAK83D,MAAM9/C,KAAK,IAAIhY,KAAKyN,IAAI,SAAQ,GAAIzN,KAAKq3D,iBAAiBr3D,KAAK8c,YAAY9c,KAAK4hE,yBAAyB,CAAC,WAAArD,CAAYxiE,EAAEE,EAAE0D,GAAG,IAAItB,EAAEX,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAGiC,EAAEtB,EAAEsB,GAAGK,KAAK6hE,kBAAkBliE,EAAEtB,GAAG,MAAMpB,EAAE+C,KAAKuzC,cAAcx3C,GAAGiE,KAAKiiE,oBAAoBhlE,EAAE0C,EAAE1D,GAAG+D,KAAK83D,MAAM,IAAI93D,KAAK83D,MAAM50D,MAAM,EAAEvD,MAAM1C,KAAK+C,KAAK83D,MAAM50D,MAAM7E,IAAI2B,KAAKm3D,KAAKn3D,KAAK83D,MAAM9/C,KAAK,IAAIhY,KAAKyN,IAAI,SAAQ,GAAIzN,KAAKq3D,iBAAiBr3D,KAAK8c,YAAY9c,KAAK4hE,yBAAyB,CAAC,6BAAAM,CAA8BnmE,EAAEE,EAAE0D,GAAGA,GAAG5D,GAAGE,IAAIF,EAAEiE,KAAKmiE,oBAAoBx2D,GAAE3L,KAAKmiE,sBAAsBr2D,KAAI9L,KAAKmiE,oBAAoBx2D,GAAE3L,KAAK48D,aAAa7gE,GAAGiE,KAAK28D,eAAeh9D,GAAGA,EAAE5D,GAAG4D,EAAE1D,EAAE+D,KAAKmiE,sBAAsBr2D,GAAE9L,KAAK48D,aAAaj9D,EAAEK,KAAK28D,eAAeh9D,GAAG1D,IAAIF,EAAEiE,KAAKmiE,oBAAoBr2D,GAAE9L,KAAKmiE,sBAAsBx2D,KAAI3L,KAAKmiE,oBAAoBr2D,GAAE9L,KAAK28D,eAAe1gE,GAAG+D,KAAK48D,aAAaj9D,EAAE,EAAE,MAAMyiE,WAAWxD,GAAG,kBAAA0B,GAAqB,MAAMvkE,EAAEiE,KAAKkO,QAAQuK,GAAGzY,KAAKkO,OAAO4P,eAAe5T,IAAIjO,EAAEF,EAAEoY,cAAc,YAAYjX,OAAOqR,QAAQ,CAAC8zD,eAAe,MAAMC,YAAY,MAAMC,aAAa,MAAMC,WAAW,QAAQ,cAAc,WAAWxjE,KAAK,QAAQqY,KAAKtb,IAAI,IAAI4D,EAAEtB,GAAGtC,EAAE,OAAOE,EAAEsd,aAAa5Z,EAAEtB,EAAG,IAAG,MAAM2U,IAAIrT,EAAEoT,KAAK1U,EAAEq3B,SAASz4B,GAAG+C,KAAKmhE,wBAAwBllE,EAAEgd,MAAMoB,QAAQ,4BAA4B5R,OAAO9I,EAAE,YAAY8I,OAAOpK,EAAE,uFAAuFoK,OAAOxL,EAAE,MAAM+C,KAAKyiE,yBAAyB1mE,EAAE4c,MAAMglD,YAAY1hE,GAAGiB,OAAOqR,QAAQ,CAAC6qB,KAAK,OAAOspC,QAAQ,YAAYC,MAAM,UAAUC,MAAM,UAAUC,KAAK,OAAOC,IAAI,OAAOC,MAAM,QAAQC,iBAAiB,qBAAqBC,kBAAkB,sBAAsBC,eAAe,qBAAqB7rD,KAAKtb,IAAI,IAAI4D,EAAEtB,GAAGtC,EAAE,OAAOE,EAAE6a,iBAAiBnX,EAAEK,KAAK3B,GAAGsH,KAAK3F,MAAO,IAAGA,KAAKwoD,eAAevsD,CAAC,CAAC,IAAAm9B,GAAOp5B,KAAK+9D,sBAAsB,CAAC,SAAAoF,CAAUpnE,GAAG,IAAIiE,KAAK4mD,UAAU,OAAO,MAAM3qD,EAAE,QAAQ+D,KAAKu2B,UAAUv2B,KAAKojE,WAAWpjE,KAAKqjE,QAAQ,GAAGtnE,EAAEunE,WAAWrnE,EAAE+D,KAAK/D,EAAEF,EAAEunE,UAAUvnE,OAAO,CAAC,KAAKA,EAAEunE,WAAWtjE,KAAKujE,mBAAmBxnE,EAAEynE,UAAUznE,EAAE0nE,QAAQ,OAAOzjE,KAAKA,KAAKujE,gBAAgBxnE,EAAEunE,UAAUvnE,EAAE,CAACA,EAAE2nE,2BAA2B3nE,EAAE6oB,iBAAiB7oB,EAAEunE,SAAS,IAAIvnE,EAAEunE,SAAS,IAAItjE,KAAKghE,mBAAkB,EAAGhhE,KAAKivC,kBAAkBjvC,KAAKm/D,2BAA2Bn/D,KAAKkO,QAAQlO,KAAKkO,OAAO2O,kBAAkB,CAAC,OAAA8mD,CAAQ5nE,IAAIiE,KAAK4mD,WAAW5mD,KAAK4jE,WAAW5jE,KAAKghE,kBAAkBhhE,KAAK4jE,WAAU,EAAG7nE,EAAEunE,WAAWtjE,KAAK6jE,gBAAgB9nE,EAAEynE,SAASznE,EAAE0nE,WAAWzjE,KAAKA,KAAK6jE,cAAc9nE,EAAEunE,UAAUvnE,GAAGA,EAAE2nE,2BAA2B3nE,EAAE6oB,iBAAiB5kB,KAAKkO,QAAQlO,KAAKkO,OAAO2O,mBAAmB,CAAC,OAAAinD,CAAQ/nE,GAAG,MAAME,EAAE+D,KAAK+jE,WAAW3lE,MAAMuB,EAAEg9D,eAAet+D,EAAEu+D,aAAa3/D,GAAG+C,KAAKwoD,eAAe,GAAGxoD,KAAK+jE,WAAU,EAAGhoE,GAAGA,EAAE8oB,mBAAmB7kB,KAAK4mD,UAAU,OAAO,MAAM1oD,EAAE,KAAK8B,KAAKkhE,qBAAqBlhE,KAAK2O,KAAKlC,IAAGzM,KAAKkO,SAASlO,KAAKkO,OAAOS,KAAK,eAAe,CAAC3J,OAAOhF,OAAOA,KAAKkO,OAAO2O,mBAAkB,EAAG,GAAG,KAAK7c,KAAKwoD,eAAepqD,MAAM,OAAO4B,KAAKqjB,OAAO,QAAQnlB,IAAI,MAAMK,EAAEyB,KAAKw3D,oBAAoB73D,GAAGo4D,aAAav4D,EAAEQ,KAAK83D,MAAMn6D,OAAOc,EAAEF,EAAEZ,OAAO8B,EAAEO,KAAK28D,eAAeh+D,EAAEqB,KAAK48D,aAAa38D,EAAER,IAAId,EAAE,IAAI0B,EAAEX,EAAEwK,EAAE/J,EAAEP,EAAEnB,EAAEe,EAAE,MAAM6K,EAAErK,KAAK6gE,8BAA8BxiE,EAAEpB,EAAE0C,GAAGsL,EAAExL,EAAE4K,EAAEsyD,eAAe18D,GAAGP,EAAEM,KAAK83D,MAAM50D,MAAMzD,EAAEd,GAAGiB,GAAGjB,EAAEc,GAAGhB,EAAEe,IAAIE,EAAEuL,EAAEjL,KAAK83D,MAAM50D,MAAMvE,EAAEiB,EAAEjB,GAAGqB,KAAK83D,MAAM50D,MAAMzD,EAAEA,EAAEG,IAAI,MAAMsL,EAAE3M,EAAE2E,MAAMmH,EAAEuyD,aAAah9D,EAAEyK,EAAEuyD,cAAc,GAAGl9D,GAAGA,EAAE/B,SAASuN,EAAEvN,SAAS0C,EAAEL,KAAKq2D,mBAAmB52D,EAAEA,EAAE,GAAE,GAAIY,EAAE6K,EAAEmM,KAAG,IAAMhX,EAAE,MAAMJ,GAAGiK,EAAEzK,EAAEU,EAAExB,GAAGsM,GAAGf,EAAEvL,EAAEe,EAAE/B,OAAOwC,EAAExB,IAAIuL,EAAEvL,EAAEwB,EAAExB,EAAEe,EAAE/B,QAAQqC,KAAK6hE,kBAAkB33D,EAAE/J,IAAI+K,EAAEvN,OAAO,CAAC,MAAMsM,cAAclO,GAAGgE,IAAI9D,GAAGiP,EAAE8M,KAAK,MAAMjc,EAAEioE,aAAahoE,EAAEioE,wBAAwB5jE,EAAEtE,EAAEmoE,iBAAiBlkE,KAAKiiE,oBAAoB/2D,EAAEzL,EAAEY,EAAE,CAACnC,GAAG,CAAC,kBAAAimE,GAAqBnkE,KAAKghE,mBAAkB,CAAE,CAAC,gBAAAoD,GAAmBpkE,KAAKghE,mBAAkB,CAAE,CAAC,mBAAAqD,CAAoBtoE,GAAG,IAAIiJ,OAAO/I,GAAGF,EAAE,MAAM4gE,eAAeh9D,EAAEi9D,aAAav+D,GAAGpC,EAAE+D,KAAKohE,iBAAiBzhE,EAAEK,KAAKskE,eAAejmE,EAAE2B,KAAKihE,wBAAwB,CAAC,IAAA4B,GAAO,GAAG7iE,KAAK28D,iBAAiB38D,KAAK48D,aAAa,OAAO,MAAM3yD,cAAclO,GAAGgE,IAAIhE,EAAEioE,WAAWhkE,KAAK4/D,kBAAkB5jE,EAAEioE,sBAAsBloE,EAAEmoE,qBAAgB,EAAOnoE,EAAEmoE,gBAAgBlkE,KAAKq2D,mBAAmBr2D,KAAK28D,eAAe38D,KAAK48D,cAAa,GAAI58D,KAAK4jE,WAAU,CAAE,CAAC,KAAAb,GAAQ/iE,KAAK+jE,WAAU,CAAE,CAAC,qBAAAQ,CAAsBxoE,EAAEE,GAAG,IAAI0D,EAAEtB,EAAE2B,KAAKs5D,mBAAmBv9D,GAAG,OAAOE,EAAE,IAAI0D,EAAEK,KAAKu4D,aAAax8D,GAAGE,EAAE,GAAGoC,GAAGsB,EAAEoT,KAAKpT,EAAEsT,OAAO5U,CAAC,CAAC,mBAAAmmE,CAAoBzoE,EAAEE,GAAG,MAAM0D,EAAEK,KAAKykE,uBAAuB1oE,EAAEE,GAAGoC,EAAE2B,KAAKg2D,oBAAoBr2D,GAAG1C,EAAEoB,EAAEy3D,UAAU,GAAG74D,IAAI+C,KAAK21D,WAAWh4D,OAAO,GAAG5B,EAAE0nE,SAAS,KAAK1nE,EAAEunE,QAAQ,OAAOtjE,KAAK83D,MAAMn6D,OAAOgC,EAAE,MAAMzB,EAAEG,EAAE03D,UAAU/5D,EAAEgE,KAAKukE,sBAAsBtnE,EAAEiB,GAAGK,EAAEyB,KAAK0kE,gBAAgBznE,EAAE,EAAEjB,GAAG,OAAOgE,KAAK21D,WAAW14D,GAAGiG,MAAMhF,GAAGP,OAAOY,EAAE,EAAEyB,KAAKy4D,qBAAqBx7D,EAAE,CAAC,sBAAAwnE,CAAuB1oE,EAAEE,GAAG,OAAOF,EAAE6pD,UAAU5lD,KAAK28D,iBAAiB38D,KAAK48D,cAAc3gE,EAAE+D,KAAK48D,aAAa58D,KAAK28D,cAAc,CAAC,iBAAAgI,CAAkB5oE,EAAEE,GAAG,MAAM0D,EAAEK,KAAKykE,uBAAuB1oE,EAAEE,GAAGoC,EAAE2B,KAAKg2D,oBAAoBr2D,GAAG1C,EAAEoB,EAAEy3D,UAAU,GAAG,IAAI74D,GAAGlB,EAAE0nE,SAAS,KAAK1nE,EAAEunE,QAAQ,OAAO3jE,EAAE,MAAMzB,EAAEG,EAAE03D,UAAU/5D,EAAEgE,KAAKukE,sBAAsBtnE,EAAEiB,GAAGK,EAAEyB,KAAK0kE,gBAAgBznE,EAAE,EAAEjB,GAAGwD,EAAEQ,KAAK21D,WAAW14D,GAAGiG,MAAM,EAAEhF,GAAGO,EAAEuB,KAAKy4D,qBAAqBx7D,EAAE,GAAG,OAAO+C,KAAK21D,WAAW14D,EAAE,GAAGU,OAAOY,EAAEiB,EAAE7B,QAAQ,EAAEc,EAAE,CAAC,eAAAimE,CAAgB3oE,EAAEE,GAAG,MAAM0D,EAAEK,KAAK21D,WAAW55D,GAAG,IAAIsC,EAAEpB,EAAEiB,EAAE8B,KAAKs5D,mBAAmBv9D,GAAGC,EAAE,EAAE,IAAI,IAAIuC,EAAE,EAAEiB,EAAEG,EAAEhC,OAAOY,EAAEiB,EAAEjB,IAAI,GAAGF,EAAE2B,KAAKu4D,aAAax8D,GAAGwC,GAAG0U,MAAM/U,GAAGG,EAAEH,EAAEjC,EAAE,CAACgB,GAAE,EAAG,MAAMlB,EAAEmC,EAAEG,EAAEsB,EAAEzB,EAAEsB,EAAE2K,KAAK2E,IAAI/S,EAAEE,GAAGD,EAAEmO,KAAK2E,IAAInP,EAAE1D,GAAGuD,EAAEjB,EAAEA,EAAE,EAAE,KAAK,CAAC,OAAOtB,IAAIjB,EAAE2D,EAAEhC,OAAO,GAAG3B,CAAC,CAAC,cAAA4oE,CAAe7oE,GAAGiE,KAAK28D,gBAAgB38D,KAAK83D,MAAMn6D,QAAQqC,KAAK48D,cAAc58D,KAAK83D,MAAMn6D,QAAQqC,KAAK6kE,oBAAoB,OAAO9oE,EAAE,CAAC,YAAA+oE,CAAa/oE,GAAG,IAAIiE,KAAK28D,gBAAgB,IAAI38D,KAAK48D,cAAc58D,KAAK6kE,oBAAoB,KAAK9oE,EAAE,CAAC,mBAAA8oE,CAAoB9oE,EAAEE,GAAG,MAAM0D,EAAEK,KAAK,MAAMyI,OAAO1M,EAAE,iBAAiBE,EAAE+D,KAAKmiE,sBAAsBr2D,IAAG,GAAG7P,EAAE2pD,SAAS5lD,KAAK+kE,oBAAoBplE,GAAGK,KAAKglE,uBAAuBrlE,GAAG,IAAIA,EAAE,CAAC,MAAM5D,EAAEiE,KAAKm3D,KAAKx5D,OAAOqC,KAAK28D,eAAepjC,GAAG,EAAEv5B,KAAK28D,eAAe5gE,GAAGiE,KAAK48D,aAAarjC,GAAG,EAAEv5B,KAAK48D,aAAa7gE,GAAGiE,KAAK+9D,uBAAuB/9D,KAAKi9D,oBAAoBj9D,KAAK0/D,wBAAwB1/D,KAAKy+D,iBAAiB,CAAC,CAAC,mBAAAsG,CAAoBhpE,GAAG,MAAME,EAAE+D,KAAKmiE,sBAAsBx2D,GAAE3L,KAAK28D,eAAe5gE,EAAEiE,KAAK48D,aAAa7gE,EAAE,OAAOiE,KAAKkiE,8BAA8BliE,KAAK28D,eAAe38D,KAAK48D,aAAa3gE,GAAG,IAAIF,CAAC,CAAC,sBAAAipE,CAAuBjpE,GAAG,OAAOA,EAAE,GAAGiE,KAAK28D,gBAAgB5gE,EAAEiE,KAAK48D,aAAa58D,KAAK28D,iBAAiB38D,KAAK48D,cAAc7gE,EAAEiE,KAAK28D,eAAe38D,KAAK48D,cAAc,IAAI7gE,CAAC,CAAC,cAAAkpE,CAAelpE,GAAG,IAAIiE,KAAK28D,gBAAgB,IAAI38D,KAAK48D,cAAc58D,KAAKklE,uBAAuB,OAAOnpE,EAAE,CAAC,KAAAopE,CAAMppE,EAAEE,EAAE0D,GAAG,IAAItB,EAAE,GAAGtC,EAAE8pD,OAAOxnD,EAAE2B,KAAK,mBAAmByI,OAAO9I,IAAIK,KAAK/D,QAAQ,CAAC,IAAIF,EAAE0nE,SAAS,KAAK1nE,EAAEunE,SAAS,KAAKvnE,EAAEunE,QAAQ,OAAOtjE,KAAK/D,IAAI,SAAS0D,GAAG,EAAE,GAAE,EAAGtB,EAAE2B,KAAK,mBAAmByI,OAAO9I,IAAIK,KAAK/D,GAAG,CAAC,YAAO,IAASoC,GAAG2B,KAAK/D,KAAKoC,IAAI2B,KAAK/D,GAAGoC,GAAE,EAAG,CAAC,SAAA+mE,CAAUrpE,EAAEE,GAAG,OAAO+D,KAAKmlE,MAAMppE,EAAEE,EAAE,OAAO,CAAC,UAAAopE,CAAWtpE,EAAEE,GAAG,OAAO+D,KAAKmlE,MAAMppE,EAAEE,EAAE,QAAQ,CAAC,0BAAAqpE,CAA2BvpE,GAAG,IAAIE,GAAE,EAAG,OAAO+D,KAAKmiE,oBAAoBx2D,GAAE3L,KAAK48D,eAAe58D,KAAK28D,gBAAgB,IAAI38D,KAAK28D,iBAAiB1gE,EAAE+D,KAAKolE,UAAUrpE,EAAE,mBAAmBiE,KAAK48D,aAAa58D,KAAK28D,eAAe1gE,CAAC,CAAC,uBAAAspE,CAAwBxpE,GAAG,OAAOiE,KAAKmiE,sBAAsBr2D,IAAG9L,KAAK28D,iBAAiB38D,KAAK48D,aAAa58D,KAAKolE,UAAUrpE,EAAE,gBAAgB,IAAIiE,KAAK28D,gBAAgB38D,KAAKmiE,oBAAoBx2D,GAAE3L,KAAKolE,UAAUrpE,EAAE,wBAAmB,CAAM,CAAC,eAAAypE,CAAgBzpE,GAAGiE,KAAK28D,gBAAgB38D,KAAK83D,MAAMn6D,QAAQqC,KAAK48D,cAAc58D,KAAK83D,MAAMn6D,QAAQqC,KAAKklE,uBAAuB,QAAQnpE,EAAE,CAAC,sBAAAmpE,CAAuBnpE,EAAEE,GAAG,MAAM0D,EAAE,aAAa8I,OAAO1M,GAAG0M,OAAOxM,EAAE2pD,SAAS,YAAY,gBAAgB5lD,KAAKk/D,sBAAsB,EAAEl/D,KAAKL,GAAG1D,KAAK+D,KAAK+9D,uBAAuB/9D,KAAKi9D,oBAAoBj9D,KAAK0/D,wBAAwB1/D,KAAKy+D,kBAAkB,CAAC,wBAAAgH,CAAyB1pE,GAAG,OAAOiE,KAAKmiE,sBAAsBx2D,IAAG3L,KAAK28D,iBAAiB38D,KAAK48D,aAAa58D,KAAKqlE,WAAWtpE,EAAE,kBAAkBiE,KAAK48D,eAAe58D,KAAK83D,MAAMn6D,QAAQqC,KAAKmiE,oBAAoBr2D,GAAE9L,KAAKqlE,WAAWtpE,EAAE,sBAAiB,CAAM,CAAC,2BAAA2pE,CAA4B3pE,GAAG,IAAIE,GAAE,EAAG,OAAO+D,KAAKmiE,oBAAoBr2D,GAAE9L,KAAK28D,iBAAiB38D,KAAK48D,cAAc3gE,EAAE+D,KAAKqlE,WAAWtpE,EAAE,kBAAkBiE,KAAK48D,aAAa58D,KAAK28D,gBAAgB38D,KAAK28D,eAAe38D,KAAK48D,aAAa3gE,CAAC,EAAE,MAAM0pE,GAAG5pE,KAAKA,EAAEwxD,OAAO,MAAMqY,WAAWxD,GAAG,WAAAzlE,GAAcoL,SAASrK,WAAW3B,EAAEiE,KAAK,6BAAwB,EAAO,CAAC,YAAA6+D,GAAe7+D,KAAKqO,GAAG,YAAYrO,KAAK6lE,mBAAmB7lE,KAAKqO,GAAG,UAAUrO,KAAK8oC,gBAAgB9oC,KAAKqO,GAAG,gBAAgBrO,KAAK8lE,oBAAoB9lE,KAAKqO,GAAG,mBAAmBrO,KAAK+lE,oBAAoB/lE,KAAKgmE,sBAAsB,IAAI9J,GAAGl8D,MAAM+H,MAAM82D,cAAc,CAAC,mBAAAzvB,GAAsB,OAAOpvC,KAAKgmE,sBAAsBlJ,UAAU,CAAC,WAAAztB,CAAYtzC,GAAG,OAAOiE,KAAKgmE,sBAAsB32B,YAAYtzC,EAAE,CAAC,OAAAuzC,CAAQvzC,GAAG,OAAOiE,KAAKgmE,sBAAsB12B,QAAQvzC,EAAE,CAAC,kBAAA+pE,CAAmB/pE,GAAGiE,KAAK4mD,YAAY5mD,KAAKmgE,WAAWngE,KAAK08D,6BAA6B3gE,EAAEE,IAAI+D,KAAKm/D,0BAA0B,CAAC,kBAAA4G,CAAmBhqE,GAAGiE,KAAK4mD,YAAY5mD,KAAKogE,WAAWpgE,KAAK08D,6BAA6B3gE,EAAEE,IAAI+D,KAAKm/D,0BAA0B,CAAC,iBAAA0G,CAAkB9pE,GAAG,IAAIE,EAAEA,EAAE+xD,gBAAgBruD,GAAG5D,EAAEiE,KAAKkO,QAAQlO,KAAKg+D,WAAW2H,GAAG1pE,KAAK+D,KAAKotC,qBAAqBptC,KAAKgmE,sBAAsBroC,MAAM1hC,KAAK+D,KAAKkO,OAAOogD,mBAAmBxwB,SAAS99B,MAAML,IAAIK,KAAKghE,mBAAkB,EAAGhhE,KAAKg9D,iBAAiB/gE,IAAI+D,KAAK4mD,YAAY5mD,KAAK2gE,4BAA4B3gE,KAAK28D,eAAe38D,KAAK28D,iBAAiB38D,KAAK48D,cAAc58D,KAAK+9D,uBAAuB/9D,KAAKm/D,2BAA2Bn/D,KAAKunD,WAAWvnD,KAAKunD,SAAS5nD,GAAGK,KAAK4mD,YAAY,CAAC,cAAA9d,CAAe/sC,GAAG,IAAIE,EAAEA,EAAEkV,UAAUxR,GAAG5D,EAAE,MAAMsC,EAAE2B,KAAKgmE,sBAAsBryB,IAAI13C,GAAG,GAAG+D,KAAKkO,OAAO,CAAClO,KAAKkO,OAAOogD,mBAAmBpwB,WAAWl+B,MAAM,MAAMjE,EAAEiE,KAAKkO,OAAO+/B,cAAc,GAAGlyC,GAAGA,IAAIiE,KAAK,MAAM,EAAEA,KAAKg+D,UAAUh+D,KAAKmgC,QAAQngC,KAAKmgC,MAAM4a,aAAap7C,GAAGA,EAAE8lD,iBAAiBkgB,GAAG1pE,IAAIoC,GAAG2B,KAAKunD,WAAWvnD,KAAKotC,qBAAqBptC,KAAKw+D,aAAaviE,GAAG+D,KAAK28D,iBAAiB38D,KAAK48D,aAAa58D,KAAKi9D,mBAAkB,GAAIj9D,KAAKm/D,0BAA0B,CAAC,gBAAAnC,CAAiBjhE,GAAG,MAAME,EAAE+D,KAAK08D,6BAA6B3gE,GAAG4D,EAAEK,KAAK28D,eAAet+D,EAAE2B,KAAK48D,aAAa7gE,EAAE6pD,SAAS5lD,KAAKkiE,8BAA8BviE,EAAEtB,EAAEpC,IAAI+D,KAAK28D,eAAe1gE,EAAE+D,KAAK48D,aAAa3gE,GAAG+D,KAAK4mD,YAAY5mD,KAAK0/D,wBAAwB1/D,KAAKy+D,kBAAkB,CAAC,4BAAA/B,CAA6B3gE,GAAG,MAAME,EAAE+D,KAAKkO,OAAOq3C,cAAcxpD,GAAGoV,UAAU4D,GAAG/U,KAAKm0B,wBAAwB/kB,IAAI,IAAID,IAAInP,KAAKm5D,kBAAkBn5D,KAAKo5D,kBAAkB,IAAIz5D,EAAE,EAAEtB,EAAE,EAAEpB,EAAE,EAAE,IAAI,IAAIlB,EAAE,EAAEA,EAAEiE,KAAK21D,WAAWh4D,QAAQgC,GAAG1D,EAAE2D,EAAE7D,IAAI4D,GAAGK,KAAKq5D,gBAAgBt9D,GAAGkB,EAAElB,EAAEA,EAAE,IAAIsC,GAAG2B,KAAK21D,WAAW55D,EAAE,GAAG4B,OAAOqC,KAAKy4D,qBAAqB18D,EAAE,IAAI,IAAImC,EAAEiM,KAAK2E,IAAI9O,KAAKs5D,mBAAmBr8D,IAAI,MAAMjB,EAAEgE,KAAK21D,WAAW14D,GAAGU,OAAOY,EAAEyB,KAAKu4D,aAAat7D,GAAG,IAAI,IAAIlB,EAAE,EAAEA,EAAEC,EAAED,IAAI,CAAC,MAAM4D,EAAEzB,EAAEK,EAAExC,GAAGy8D,YAAY,GAAGv8D,EAAEgP,GAAGtL,EAAE,CAACwK,KAAK2E,IAAI7S,EAAEgP,EAAEtL,IAAIwK,KAAK2E,IAAI7S,EAAEgP,EAAE/M,IAAIG,IAAI,KAAK,CAACH,EAAEyB,EAAEtB,GAAG,CAAC,OAAO8L,KAAKqG,IAAIxQ,KAAKsW,MAAMta,EAAEqC,EAAEA,EAAE2B,KAAK83D,MAAMn6D,OAAO,EAAE,MAAMsoE,GAAG,eAAeC,GAAG,iBAAiBC,GAAG,iBAAiBC,GAAG,kBAAkBC,GAAG,cAAcC,GAAG,CAACvqE,EAAEE,KAAK,MAAM0D,EAAE1D,EAAE8gB,mBAAmBhhB,EAAE6mC,aAAajjC,EAAE,EAAE,EAAEA,EAAE,EAAE,GAAG,MAAMtB,EAAEpC,EAAEigB,kBAAkBngB,EAAEoV,UAAU9S,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAE,EAAGkoE,GAAG5mE,EAAE,CAACg9D,eAAe,EAAEC,aAAa,EAAE1W,eAAe,uBAAuBU,WAAU,EAAGoX,UAAS,EAAG4C,mBAAmB,yBAAyB1I,YAAY,EAAEsO,YAAY,GAAGjH,YAAY,IAAIF,eAAe,IAAIoH,SAAQ,EAAGhE,wBAAwB,KAAKY,QAAQ,CAAC,EAAEgD,GAAG,GAAGA,GAAG,GAAGJ,GAAG,GAAGC,GAAG,GAAGE,GAAG,GAAGD,GAAG,GAAGA,GAAG,GAAGF,GAAG,GAAGG,GAAG,GAAGF,IAAI9C,WAAW,CAAC,EAAEiD,GAAG,GAAGA,GAAG,GAAGJ,GAAG,GAAGC,GAAG,GAAGC,GAAG,GAAGC,GAAG,GAAGA,GAAG,GAAGH,GAAG,GAAGE,GAAG,GAAGD,IAAI3C,gBAAgB,CAAC,GAAG,UAAUM,cAAc,CAAC,GAAG,OAAO,GAAG,QAAQ,CAAC1B,oBAAoB,KAAKrC,SAAS,WAAWkB,mBAAkB,IAAK,MAAM0F,WAAWd,GAAG,kBAAOrpD,GAAc,OAAO5c,EAAEA,EAAE,CAAE,EAACoI,MAAMwU,eAAemqD,GAAGlqD,YAAY,CAAC,QAAIld,GAAO,MAAMvD,EAAEgM,MAAMzI,KAAK,MAAM,UAAUvD,EAAE,SAASA,CAAC,CAAC,WAAAY,CAAYZ,EAAEE,GAAG8L,MAAMhM,EAAE4D,EAAEA,EAAE,GAAG+mE,GAAGlqD,aAAavgB,IAAI+D,KAAK6+D,cAAc,CAAC,IAAAlrD,CAAK5X,EAAEE,GAAG,OAAO+D,KAAK4mD,WAAW5mD,KAAKwhE,aAAazlE,KAAKiE,KAAKwhE,aAAaxhE,KAAKwhE,YAAYzlE,GAAGE,EAAE+D,OAAO,WAAWjE,IAAIiE,KAAKkO,kBAAkB+7C,IAAIjqD,KAAKkO,OAAOogD,mBAAmBzgD,OAAO7N,MAAM/D,aAAaguD,IAAIhuD,EAAEqyD,mBAAmBl/C,IAAIpP,OAAO+H,MAAM4L,KAAK5X,EAAEE,GAAG,CAAC,iBAAA0qE,CAAkB5qE,GAAGA,EAAEoO,KAAKC,IAAIrO,EAAE,GAAGiE,KAAK4mE,eAAe,iBAAiB7qE,EAAE,CAAC,eAAA8qE,CAAgB9qE,GAAGA,EAAEoO,KAAKqG,IAAIzU,EAAEiE,KAAKm3D,KAAKx5D,QAAQqC,KAAK4mE,eAAe,eAAe7qE,EAAE,CAAC,cAAA6qE,CAAe7qE,EAAEE,GAAG+D,KAAKjE,KAAKE,IAAI+D,KAAK0/D,wBAAwB1/D,KAAKjE,GAAGE,GAAG+D,KAAKy+D,iBAAiB,CAAC,qBAAAiB,GAAwB1/D,KAAK2O,KAAK,qBAAqB3O,KAAKkO,QAAQlO,KAAKkO,OAAOS,KAAK,yBAAyB,CAAC3J,OAAOhF,MAAM,CAAC,cAAAq3D,GAAiBr3D,KAAK4mD,WAAW5mD,KAAKi9D,oBAAoBl1D,MAAMsvD,gBAAgB,CAAC,kBAAAhB,GAAqB,IAAIt6D,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAGsC,KAAK28D,gBAAgB,EAAE1gE,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAGsC,KAAK48D,aAAaj9D,EAAEjC,UAAUC,OAAO,EAAED,UAAU,QAAG,EAAO,OAAOqK,MAAMsuD,mBAAmBt6D,EAAEE,EAAE0D,EAAE,CAAC,kBAAA62D,CAAmBz6D,GAAG,IAAIE,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAGsC,KAAK28D,gBAAgB,EAAEh9D,EAAEjC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAGsC,KAAK48D,aAAa,OAAO70D,MAAMyuD,mBAAmBz6D,EAAEE,EAAE0D,EAAE,CAAC,mBAAAq2D,GAAsB,IAAIj6D,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAGsC,KAAK28D,eAAe1gE,EAAEyB,UAAUC,OAAO,EAAED,UAAU,QAAG,EAAO,OAAOqK,MAAMiuD,oBAAoBj6D,EAAEE,EAAE,CAAC,MAAAokB,CAAOtkB,GAAGgM,MAAMsY,OAAOtkB,GAAGiE,KAAK+gE,kBAAkB,CAAA,EAAG/gE,KAAKm/D,yBAAyB,CAAC,eAAAl7C,CAAgBloB,GAAG,MAAME,EAAE+D,KAAK4mD,UAAU5mD,KAAK4mD,WAAU,EAAG,MAAMjnD,EAAEoI,MAAMkc,gBAAgBloB,GAAG,OAAOiE,KAAK4mD,UAAU3qD,EAAE0D,CAAC,CAAC,uBAAAw/D,GAA0B,IAAIn/D,KAAK4mD,YAAY5mD,KAAKkO,OAAO,OAAO,MAAMnS,EAAEiE,KAAKivC,iBAAgB,GAAI,IAAIlzC,EAAE,OAAO,MAAME,EAAE+D,KAAKs9D,uBAAuB39D,EAAEK,KAAK8mE,4BAA4BzoE,EAAEsB,EAAEhC,OAAO,EAAE,IAAIV,EAAEiB,EAAEnC,EAAE,GAAGsC,EAAE,CAACpB,EAAEoX,GAAGtY,EAAEmS,QAAQhQ,EAAEjB,EAAEiM,WAAW,MAAMo9D,GAAGpoE,EAAE8B,KAAKkO,QAAQ,MAAMjS,EAAE+D,KAAKm0B,sBAAsBj2B,EAAEiT,UAAUlV,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG,CAAC,GAAG+D,KAAK28D,iBAAiB38D,KAAK48D,cAAc58D,KAAKghE,kBAAkBhhE,KAAK+mE,gBAAgB7oE,EAAEjC,GAAG+D,KAAKgnE,aAAa9oE,EAAEjC,GAAGoC,EAAE,IAAI,MAAMpC,KAAK0D,EAAE,CAAC,MAAMA,EAAE1D,EAAEgjB,SAAS5gB,EAAEgW,GAAGtY,EAAEmS,QAAQjR,EAAEoB,EAAE6K,WAAW,MAAM,GAAGo9D,GAAGrpE,EAAE+C,KAAKkO,SAASvO,EAAE+0B,mBAAmB,CAAC,MAAM34B,EAAEE,EAAEk4B,sBAAsBl3B,EAAEkU,UAAUpV,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG,CAAC4D,EAAEwR,UAAUlU,GAAG0C,EAAEikC,WAAW3mC,GAAE,EAAG,IAAI+C,KAAKqkC,oBAAoBnmC,EAAEyB,EAAEtB,EAAE,CAACA,IAAItC,EAAE6mC,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG7mC,EAAEkkB,UAAUhjB,EAAE,EAAE,IAAI+C,KAAKkO,OAAOg2C,iBAAgB,EAAGnoD,EAAEujB,SAAS,CAAC,yBAAAwnD,GAA4B,MAAM/qE,EAAE,GAAG,IAAIE,EAAE+D,KAAK,KAAK/D,GAAGA,EAAEgjB,UAAUljB,EAAEyB,KAAKvB,GAAGA,EAAEA,EAAEknC,OAAO,OAAOpnC,CAAC,CAAC,oBAAAuhE,GAAuB,IAAIvhE,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAGsC,KAAK28D,eAAe1gE,EAAEyB,UAAUC,OAAO,EAAED,UAAU,QAAG,EAAO,MAAMiC,EAAEK,KAAKm5D,iBAAiB96D,EAAE2B,KAAKo5D,gBAAgBn8D,EAAE+C,KAAKinE,4BAA4BlrE,EAAEE,GAAG,MAAM,CAAC8W,KAAKpT,EAAEqT,IAAI3U,EAAEk/D,WAAWtgE,EAAE8V,KAAKyqD,UAAUvgE,EAAE+V,IAAI,CAAC,2BAAAi0D,CAA4BlrE,EAAEE,GAAG,OAAOA,EAAE+D,KAAKknE,6BAA6BnrE,GAAGiE,KAAK+gE,mBAAmB,QAAQ/gE,KAAK+gE,kBAAkB/gE,KAAK+gE,kBAAkB/gE,KAAK+gE,kBAAkB/gE,KAAKknE,6BAA6BnrE,EAAE,CAAC,4BAAAmrE,CAA6BnrE,GAAG,IAAIE,EAAE,EAAE0D,EAAE,EAAE,MAAMo2D,UAAU13D,EAAEy3D,UAAU74D,GAAG+C,KAAKg2D,oBAAoBj6D,GAAG,IAAI,IAAIA,EAAE,EAAEA,EAAEkB,EAAElB,IAAIE,GAAG+D,KAAKq5D,gBAAgBt9D,GAAG,MAAMmC,EAAE8B,KAAKs5D,mBAAmBr8D,GAAGjB,EAAEgE,KAAKu4D,aAAat7D,GAAGoB,GAAGrC,IAAI2D,EAAE3D,EAAE+W,MAAM,IAAI/S,KAAKq2B,aAAah4B,IAAI2B,KAAK21D,WAAW14D,GAAGU,SAASgC,GAAGK,KAAK85D,0BAA0B,MAAMv7D,EAAE,CAACyU,IAAI/W,EAAE8W,KAAK7U,GAAGyB,EAAE,EAAEA,EAAE,IAAI,MAAM,QAAQK,KAAKu2B,YAAYv2B,KAAK81B,YAAYhqB,IAAG9L,KAAK81B,YAAYkB,IAAIh3B,KAAK81B,YAAYoB,GAAG34B,EAAEwU,OAAO,EAAE/S,KAAK81B,YAAYnqB,IAAG3L,KAAK81B,YAAYmB,GAAG14B,EAAEwU,KAAK7U,GAAGyB,EAAE,EAAEA,EAAE,GAAGK,KAAK81B,YAAYpqB,IAAG1L,KAAK81B,YAAYqB,KAAK54B,EAAEwU,KAAK7U,GAAGyB,EAAE,EAAEA,EAAE,KAAKpB,CAAC,CAAC,cAAA4oE,CAAeprE,GAAGiE,KAAKonE,cAAcpnE,KAAKkO,OAAO40B,WAAW9iC,KAAKs9D,qBAAqBvhE,GAAE,GAAIA,EAAE,CAAC,YAAAirE,CAAajrE,EAAEE,GAAG+D,KAAKonE,cAAcrrE,EAAEE,EAAE+D,KAAK28D,eAAe,CAAC,sBAAA0K,GAAyB,IAAItrE,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAGsC,KAAK28D,eAAe1gE,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAGsC,KAAKs9D,qBAAqBvhE,GAAG,MAAM4D,EAAEK,KAAKg2D,oBAAoBj6D,GAAGsC,EAAEsB,EAAEm2D,UAAU74D,EAAE0C,EAAEo2D,UAAU,EAAEp2D,EAAEo2D,UAAU,EAAE,EAAE73D,EAAE8B,KAAKu5D,qBAAqBl7D,EAAEpB,EAAE,YAAYjB,EAAEgE,KAAK+iC,mBAAmB93B,EAAEjL,KAAKkO,OAAOsP,UAAUjf,EAAEyB,KAAKk4D,YAAYl8D,EAAEwD,EAAEQ,KAAKu5D,qBAAqBl7D,EAAEpB,EAAE,UAAUwB,EAAExC,EAAEuhE,WAAW,EAAEx9D,KAAK62B,mBAAmB72B,KAAKq5D,gBAAgBh7D,GAAG2B,KAAK+1B,WAAW73B,GAAG,EAAE8B,KAAK62B,mBAAmB,MAAM,CAACqC,MAAMl5B,KAAKwmE,aAAaxmE,KAAKu5D,qBAAqBl7D,EAAEpB,EAAE,QAAQ42B,QAAQ7zB,KAAKk/D,sBAAsBnsD,KAAK9W,EAAE8W,KAAK9W,EAAEshE,WAAWh/D,EAAE,EAAEyU,IAAIvU,EAAExC,EAAE+W,IAAIxT,EAAEyT,MAAM1U,EAAE2U,OAAOhV,EAAE,CAAC,aAAAkpE,CAAcrrE,EAAEE,EAAE0D,GAAG,MAAMu5B,MAAM76B,EAAEw1B,QAAQ52B,EAAE8V,KAAK7U,EAAE8U,IAAIhX,EAAEiX,MAAM1U,EAAE2U,OAAO1T,GAAGQ,KAAKqnE,uBAAuB1nE,EAAE1D,GAAGF,EAAE4kB,UAAUtiB,EAAEtC,EAAE6oC,YAAY3nC,EAAElB,EAAE2oC,SAASxmC,EAAElC,EAAEuC,EAAEiB,EAAE,CAAC,eAAAunE,CAAgBhrE,EAAEE,GAAG,MAAM0D,EAAE,CAACg9D,eAAe38D,KAAKghE,kBAAkBhhE,KAAKwoD,eAAemU,eAAe38D,KAAK28D,eAAeC,aAAa58D,KAAKghE,kBAAkBhhE,KAAKwoD,eAAeoU,aAAa58D,KAAK48D,cAAc58D,KAAKsnE,iBAAiBvrE,EAAE4D,EAAE1D,EAAE,CAAC,sBAAAszC,GAAyB,MAAMxzC,EAAEiE,KAAKgmE,sBAAsB7I,wBAAwBn9D,KAAKsnE,iBAAiBtnE,KAAKkO,OAAO40B,WAAW/mC,EAAEiE,KAAKs9D,qBAAqBvhE,EAAE4gE,gBAAe,GAAI,CAAC,sBAAAntB,CAAuBzzC,GAAG,MAAME,EAAE+D,KAAK08D,6BAA6B3gE,GAAGiE,KAAKmnE,eAAelrE,EAAE,CAAC,gBAAAqrE,CAAiBvrE,EAAEE,EAAE0D,GAAG,MAAMtB,EAAEpC,EAAE0gE,eAAe1/D,EAAEhB,EAAE2gE,aAAa1+D,EAAE8B,KAAK81B,UAAU5jB,SAAS8kB,IAAIh7B,EAAEgE,KAAKg2D,oBAAoB33D,GAAGE,EAAEyB,KAAKg2D,oBAAoB/4D,GAAGuC,EAAExD,EAAE85D,UAAUr3D,EAAEF,EAAEu3D,UAAUr2D,EAAEzD,EAAE+5D,UAAU,EAAE,EAAE/5D,EAAE+5D,UAAUp3D,EAAEJ,EAAEw3D,UAAU,EAAE,EAAEx3D,EAAEw3D,UAAU,IAAI,IAAI95D,EAAEuD,EAAEvD,GAAGwC,EAAExC,IAAI,CAAC,MAAMoC,EAAE2B,KAAKs5D,mBAAmBr9D,IAAI,EAAE,IAAIgB,EAAE+C,KAAKq5D,gBAAgBp9D,GAAGD,EAAE,EAAEuC,EAAE,EAAE0B,EAAE,EAAE,GAAGhE,IAAIuD,IAAIjB,EAAEyB,KAAKu4D,aAAa/4D,GAAGC,GAAGsT,MAAM9W,GAAGuD,GAAGvD,EAAEwC,EAAEwB,EAAE/B,IAAI8B,KAAKq4D,gBAAgBp8D,GAAG+D,KAAKiT,MAAMjT,KAAKs4D,aAAar8D,IAAI,OAAO,GAAGA,IAAIwC,EAAE,GAAG,IAAIE,EAAEsB,EAAED,KAAKu4D,aAAa95D,GAAGE,GAAGoU,SAAS,CAAC,MAAMhX,EAAEiE,KAAK85D,yBAAyB75D,EAAED,KAAKu4D,aAAa95D,GAAGE,EAAE,GAAGoU,KAAK/S,KAAKu4D,aAAa95D,GAAGE,EAAE,GAAGsU,MAAMlX,CAAC,CAACC,EAAEiB,GAAG+C,KAAK+1B,WAAW,GAAG95B,IAAIwC,GAAGuB,KAAK+1B,WAAW,KAAK94B,GAAG+C,KAAK+1B,YAAY,IAAI11B,EAAEV,EAAEoT,KAAK1U,EAAEE,EAAEmB,EAAEzC,EAAE8C,EAAE,EAAE,MAAMmK,EAAEjK,EAAE1B,EAAEyB,KAAKghE,mBAAmBjlE,EAAE4kB,UAAU3gB,KAAKunE,kBAAkB,QAAQ7nE,EAAE,EAAEK,EAAE9C,GAAGlB,EAAE4kB,UAAU3gB,KAAKkmD,eAAe,QAAQlmD,KAAKu2B,YAAYv2B,KAAK81B,YAAYhqB,IAAG9L,KAAK81B,YAAYkB,IAAIh3B,KAAK81B,YAAYoB,GAAG72B,EAAEL,KAAKiT,MAAM5S,EAAE6J,EAAElK,KAAK81B,YAAYnqB,IAAG3L,KAAK81B,YAAYmB,GAAG52B,EAAEV,EAAEoT,KAAK1U,EAAE4B,EAAED,KAAK81B,YAAYpqB,IAAG1L,KAAK81B,YAAYqB,KAAK92B,EAAEV,EAAEoT,KAAK1U,EAAE4B,IAAIlE,EAAE2oC,SAASrkC,EAAEV,EAAEqT,IAAIrT,EAAE69D,UAAUz9D,EAAEmK,EAAExK,GAAGC,EAAE69D,WAAWxhE,CAAC,CAAC,CAAC,sBAAAwrE,GAAyB,MAAMzrE,EAAEiE,KAAKynE,uBAAuB,OAAOznE,KAAKu5D,qBAAqBx9D,EAAE0D,EAAE1D,EAAE0C,EAAE,WAAW,CAAC,mBAAAipE,GAAsB,MAAM3rE,EAAEiE,KAAKynE,uBAAuB,OAAOznE,KAAKu5D,qBAAqBx9D,EAAE0D,EAAE1D,EAAE0C,EAAEsO,GAAE,CAAC,oBAAA06D,GAAuB,MAAM1rE,EAAEiE,KAAKg2D,oBAAoBh2D,KAAK28D,gBAAe,GAAI1gE,EAAEF,EAAEg6D,UAAU,EAAEh6D,EAAEg6D,UAAU,EAAE,EAAE,MAAM,CAACt2D,EAAE1D,EAAE+5D,UAAUr3D,EAAExC,EAAE,CAAC,OAAA+N,GAAUhK,KAAK2hE,kBAAkB3hE,KAAKgmE,sBAAsBh8D,UAAUjC,MAAMiC,SAAS,EAAEjO,EAAE2qE,GAAG,cAAcH,IAAIxqE,EAAE2qE,GAAG,OAAO,SAASt5D,GAAGI,SAASk5D,IAAIt5D,GAAGI,SAASk5D,GAAG,UAAU,MAAMiB,WAAWjB,GAAG,kBAAOnqD,GAAc,OAAO5c,EAAEA,EAAE,CAAA,EAAGoI,MAAMwU,eAAeorD,GAAGnrD,YAAY,CAAC,WAAA7f,CAAYZ,EAAEE,GAAG8L,MAAMhM,EAAE4D,EAAEA,EAAE,GAAGgoE,GAAGnrD,aAAavgB,GAAG,CAAC,qBAAO8wC,GAAiB,MAAM,CAACjmB,SAAS+lB,KAAK,CAAC,cAAAwqB,GAAiBr3D,KAAK80D,cAAc90D,KAAK4mD,WAAW5mD,KAAKi9D,oBAAoBj9D,KAAKg4D,cAAch4D,KAAK4nE,gBAAgB,EAAE5nE,KAAK6nE,UAAU7nE,KAAK8nE,kBAAkB9nE,KAAKu3D,cAAcv3D,KAAK4nE,gBAAgB5nE,KAAKiT,OAAOjT,KAAK2T,KAAK,QAAQ3T,KAAK4nE,iBAAiB5nE,KAAK81B,UAAU5jB,SAAS8kB,KAAKh3B,KAAKo4D,gBAAgBp4D,KAAKkT,OAAOlT,KAAKm4D,iBAAiB,CAAC,iBAAA2P,CAAkB/rE,GAAG,IAAIE,EAAE,EAAE0D,EAAE,EAAEtB,EAAE,EAAE,MAAMpB,EAAE,CAAA,EAAG,IAAI,IAAIiB,EAAE,EAAEA,EAAEnC,EAAE47D,cAAch6D,OAAOO,IAAI,OAAOnC,EAAEg8D,aAAa15D,IAAIH,EAAE,GAAGyB,EAAE,EAAEtB,IAAIpC,MAAM+D,KAAK+nE,iBAAiB/nE,KAAKw1B,eAAeluB,KAAKvL,EAAEg8D,aAAa15D,KAAKH,EAAE,IAAIyB,IAAItB,KAAKpB,EAAEiB,GAAG,CAACs3D,KAAKv5D,EAAEo9C,OAAO15C,GAAGtB,GAAGtC,EAAE47D,cAAcz5D,GAAGP,OAAOgC,GAAG5D,EAAE47D,cAAcz5D,GAAGP,OAAO,OAAOV,CAAC,CAAC,QAAAw4D,CAAS15D,EAAEE,GAAG,GAAG+D,KAAK6nE,YAAY7nE,KAAKgoE,WAAW,CAAC,MAAMjsE,EAAEiE,KAAK6nE,UAAU5rE,GAAGF,IAAIE,EAAEF,EAAEy5D,KAAK,CAAC,OAAOztD,MAAM0tD,SAAS15D,EAAEE,EAAE,CAAC,aAAAs5D,CAAcx5D,GAAG,IAAIiE,KAAKqjB,OAAO,OAAM,EAAG,IAAIpnB,EAAE0D,EAAE,EAAEtB,EAAEtC,EAAE,EAAEkB,GAAE,EAAG,MAAMiB,EAAE8B,KAAK6nE,UAAU9rE,GAAGC,EAAEgE,KAAK6nE,UAAU9rE,EAAE,GAAGmC,IAAInC,EAAEmC,EAAEs3D,KAAK71D,EAAEzB,EAAEm7C,QAAQr9C,IAAIqC,EAAErC,EAAEw5D,KAAKv4D,EAAEoB,IAAItC,EAAEE,EAAED,EAAEq9C,QAAQ,MAAM96C,OAAE,IAASxC,EAAEiE,KAAKqjB,OAAO,CAACmyC,KAAKx1D,KAAKqjB,OAAOtnB,IAAI,IAAI,MAAMA,KAAKwC,EAAE,IAAI,MAAMF,KAAKE,EAAExC,GAAG,CAAC,MAAMmC,EAAE2c,SAASxc,EAAE,IAAI,GAAGH,GAAGyB,KAAK1C,GAAGiB,EAAEjC,GAAG,IAAI,MAAMA,KAAKsC,EAAExC,GAAGsC,GAAG,OAAM,CAAE,CAAC,OAAM,CAAE,CAAC,oBAAA83D,CAAqBp6D,EAAEE,GAAG,GAAG+D,KAAK6nE,YAAY7nE,KAAKgoE,WAAW,CAAC,MAAMroE,EAAEK,KAAK6nE,UAAU9rE,GAAG,IAAI4D,EAAE,MAAM,CAAA,EAAG5D,EAAE4D,EAAE61D,KAAKv5D,EAAE0D,EAAE05C,OAAOp9C,CAAC,CAAC,OAAO8L,MAAMouD,qBAAqBp6D,EAAEE,EAAE,CAAC,oBAAAm6D,CAAqBr6D,EAAEE,EAAE0D,GAAG,MAAMtB,EAAE2B,KAAK6nE,UAAU9rE,GAAGgM,MAAMquD,qBAAqB/3D,EAAEm3D,KAAKn3D,EAAEg7C,OAAOp9C,EAAE0D,EAAE,CAAC,uBAAAg3D,CAAwB56D,EAAEE,GAAG,MAAM0D,EAAEK,KAAK6nE,UAAU9rE,GAAGgM,MAAM4uD,wBAAwBh3D,EAAE61D,KAAK71D,EAAE05C,OAAOp9C,EAAE,CAAC,aAAAg6D,CAAcl6D,GAAG,MAAME,EAAE+D,KAAK6nE,UAAU9rE,GAAG,QAAQiE,KAAKqjB,OAAOpnB,EAAEu5D,KAAK,CAAC,aAAAU,CAAcn6D,GAAG,MAAME,EAAE+D,KAAK6nE,UAAU9rE,GAAGgM,MAAMmuD,cAAcj6D,EAAEu5D,KAAK,CAAC,SAAAyS,CAAUlsE,EAAEE,GAAG+D,KAAKgoE,YAAW,EAAG,MAAMroE,EAAEK,KAAKkoE,yBAAyBnsE,GAAGsC,EAAE,GAAG,IAAI,IAAItC,EAAE,EAAEA,EAAE4D,EAAEwoE,UAAUxqE,OAAO5B,IAAIsC,EAAEb,QAAQwC,KAAKooE,UAAUrsE,EAAEE,EAAE0D,IAAI,OAAOK,KAAKgoE,YAAW,EAAG3pE,CAAC,CAAC,wBAAA6pE,CAAyBnsE,GAAG,MAAME,EAAE+D,KAAK+nE,gBAAgBpoE,EAAE1D,EAAE,GAAG,IAAI,IAAIoC,EAAE,EAAE,MAAM,CAAC8pE,UAAUpsE,EAAEsb,KAAK,CAACtb,EAAEkB,KAAK,IAAIiB,EAAE,EAAE,MAAMlC,EAAEC,EAAE+D,KAAKuzC,cAAcx3C,GAAGiE,KAAKqoE,UAAUtsE,GAAG,OAAO,IAAIC,EAAE2B,OAAO,CAAC,CAAC2qE,KAAK,GAAGr1D,MAAM,IAAIjX,EAAEqb,KAAKtb,IAAI,MAAMC,EAAEC,EAAE,CAACF,GAAGiE,KAAKuzC,cAAcx3C,GAAGwC,EAAEyB,KAAKuoE,aAAavsE,EAAEiB,EAAEiB,GAAG,OAAOG,EAAE8L,KAAKC,IAAI7L,EAAEF,GAAGH,GAAGlC,EAAE2B,OAAOgC,EAAEhC,OAAO,CAAC2qE,KAAKtsE,EAAEiX,MAAM1U,EAAG,GAAG,IAAGiqE,iBAAiBnqE,EAAE,CAAC,YAAAkqE,CAAaxsE,EAAEE,GAAG,IAAI0D,EAAEtB,EAAEX,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,EAAET,EAAE,EAAE,IAAI,IAAIiB,EAAE,EAAElC,EAAED,EAAE4B,OAAOO,EAAElC,EAAEkC,IAAKjB,GAAG+C,KAAK+5D,gBAAgBh+D,EAAEmC,GAAGjC,EAAEiC,EAAEG,EAAEsB,GAAE,GAAM64D,YAAY74D,EAAE5D,EAAEmC,GAAG,OAAOjB,CAAC,CAAC,SAAAorE,CAAUtsE,GAAG,OAAOA,EAAE22B,MAAM1yB,KAAKyoE,aAAa,CAAC,SAAAL,CAAUrsE,EAAEE,EAAE0D,GAAG,IAAI6oE,iBAAiBnqE,EAAE8pE,UAAUlrE,GAAG0C,EAAEzB,EAAER,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,EAAE,MAAM1B,EAAEgE,KAAK85D,yBAAyBv7D,EAAEyB,KAAK+nE,gBAAgBvoE,EAAE,GAAGf,EAAEF,EAAE,GAAG,IAAI,IAAIkB,EAAE,EAAEd,EAAE,GAAGsB,EAAE,EAAEI,EAAE,EAAEX,GAAE,EAAGzD,GAAGiC,EAAE,MAAM6B,EAAEoK,KAAKC,IAAInO,EAAEoC,EAAE2B,KAAK4nE,iBAAiB19D,EAAEjN,EAAElB,GAAG,IAAIoE,EAAE,IAAIF,EAAE,EAAEE,EAAE,EAAEA,EAAE+J,EAAEvM,OAAOwC,IAAI,CAAC,MAAMmoE,KAAKrsE,EAAEgX,MAAMtT,GAAGuK,EAAE/J,GAAGF,GAAGhE,EAAE0B,OAAO8B,GAAGY,EAAEV,EAAE3D,EAAEyD,EAAEM,IAAIL,GAAGF,EAAEhC,KAAKmB,GAAGA,EAAE,GAAGc,EAAEE,EAAED,GAAE,GAAID,GAAGzD,EAAE0D,GAAGnB,GAAGI,EAAEnB,KAAKiB,GAAGE,EAAEA,EAAE8J,OAAOxM,GAAGoE,EAAE9B,EAAE,EAAEyB,KAAKuoE,aAAa,CAAC9pE,GAAG1C,EAAEkE,GAAGA,IAAIP,GAAE,CAAE,CAAC,OAAOS,GAAGX,EAAEhC,KAAKmB,GAAGN,EAAEH,EAAE8B,KAAK4nE,kBAAkB5nE,KAAK4nE,gBAAgBvpE,EAAErC,EAAEkC,GAAGsB,CAAC,CAAC,eAAA64D,CAAgBt8D,GAAG,OAAOiE,KAAK6nE,UAAU9rE,EAAE,IAAIiE,KAAK6nE,UAAU9rE,EAAE,GAAGy5D,OAAOx1D,KAAK6nE,UAAU9rE,GAAGy5D,IAAI,CAAC,oBAAAiD,CAAqB18D,EAAEE,GAAG,OAAO+D,KAAK+nE,kBAAkB9rE,EAAE+D,KAAKq4D,gBAAgBt8D,GAAG,EAAE,EAAE,CAAC,CAAC,mBAAAy7D,CAAoBz7D,GAAG,MAAME,EAAE8L,MAAMyvD,oBAAoBz7D,GAAG4D,EAAEK,KAAKioE,UAAUhsE,EAAEy7D,MAAM13D,KAAKiT,OAAO5U,EAAE,IAAIkI,MAAM5G,EAAEhC,QAAQ,IAAI,IAAI5B,EAAE,EAAEA,EAAE4D,EAAEhC,OAAO5B,IAAIsC,EAAEtC,GAAG4D,EAAE5D,GAAGic,KAAK,IAAI,OAAO/b,EAAEy7D,MAAMr5D,EAAEpC,EAAE07D,cAAch4D,EAAE1D,CAAC,CAAC,WAAAysE,GAAc,OAAOv+D,KAAKC,IAAIpK,KAAK2oE,SAAS3oE,KAAK4nE,gBAAgB,CAAC,uBAAAhG,GAA0B,MAAM7lE,EAAE,IAAIsR,IAAI,IAAI,MAAMpR,KAAK+D,KAAK6nE,UAAU,CAAC,MAAMloE,EAAEkb,SAAS5e,EAAE,IAAI,GAAG+D,KAAK21D,WAAWh2D,GAAG,CAAC,MAAMA,EAAEK,KAAK6nE,UAAU5rE,GAAGu5D,KAAKz5D,EAAE0R,IAAI,GAAGhF,OAAO9I,IAAG,EAAG,CAAC,CAAC,IAAI,MAAM1D,KAAK+D,KAAKqjB,OAAOtnB,EAAEuR,IAAIrR,WAAW+D,KAAKqjB,OAAOpnB,EAAE,CAAC,QAAAmc,GAAW,IAAIrc,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,OAAOqK,MAAMqQ,SAAS,CAAC,WAAW,qBAAqBrc,GAAG,EAAEA,EAAE4rE,GAAG,OAAO,WAAW5rE,EAAE4rE,GAAG,uBAAuB,IAAIjB,GAAG5L,qBAAqB,UAAU/+D,EAAE4rE,GAAG,cAAc,CAACgB,SAAS,GAAGf,gBAAgB,EAAE33B,iBAAgB,EAAGjD,cAAa,EAAGy7B,aAAa,UAAUV,iBAAgB,IAAK36D,GAAGI,SAASm6D,IAAI,MAAMiB,WAAW7xB,GAAG,mBAAAE,CAAoBl7C,GAAG,QAAQA,EAAEiJ,OAAOia,UAAUlX,MAAMkvC,oBAAoBl7C,EAAE,CAAC,oBAAAs7C,GAAuB,OAAM,CAAE,CAAC,gBAAAL,CAAiBj7C,EAAEE,GAAG,MAAM+I,OAAOrF,GAAG5D,GAAGkjB,SAAS5gB,EAAE8hC,MAAMljC,GAAG0C,EAAE,IAAItB,IAAI2B,KAAKi3C,oBAAoBl7C,GAAG,OAAO,MAAMkX,MAAM/U,EAAEgV,OAAOlX,GAAG8oB,GAAGgyB,GAAGn3C,EAAEtB,IAAIE,EAAE,IAAI4Q,GAAGjR,EAAElC,GAAG,GAAGqC,EAAEq2B,mBAAoB,MAAM,CAAC7O,OAAOL,GAAGnnB,EAAE2oB,8BAAyB,EAAO/pB,EAAEA,EAAEk3B,2BAAsB,GAAQniB,KAAKzT,GAAG,CAAC,MAAMtB,EAAEoB,EAAE2oB,yBAAyB7V,UAAUxR,EAAEulB,iBAAgB,GAAI,GAAGllB,KAAKi3C,oBAAoBl7C,GAAG,CAAC,MAAM8pB,OAAOlmB,EAAE,IAAIwP,GAAG8pC,WAAW56C,EAAE,IAAI8Q,IAAInP,KAAKk3C,gBAAgBj7C,EAAEF,IAAI,CAAA,EAAG,MAAM,CAAC8pB,OAAOlmB,EAAEyP,IAAInS,GAAGg8C,WAAW56C,EAAEmR,SAASvS,GAAG+U,KAAKzT,EAAE,CAAC,MAAM,CAACsnB,OAAOlmB,EAAEqnB,yBAAyB5X,IAAInS,GAAG+U,KAAKzT,EAAE,CAAC,EAAExC,EAAE6sE,GAAG,OAAO,aAAax7D,GAAGI,SAASo7D,IAAI,MAAMC,WAAW9xB,GAAG,cAAAO,CAAev7C,EAAEE,GAAG,IAAI+I,OAAOrF,GAAG5D,GAAGiW,KAAK3T,GAAGpC,EAAE,OAAO,IAAIkT,GAAGxP,EAAEsT,OAAO5U,EAAE4M,EAAEtL,EAAEuT,QAAQ7U,EAAEuB,EAAE,EAAE7D,EAAE8sE,GAAG,OAAO,SAASz7D,GAAGI,SAASq7D,IAAI,MAAMC,WAAWjxB,GAAG,gBAAAgB,CAAiB98C,GAAG,MAAME,EAAEF,EAAEiJ,OAAOjJ,EAAE68C,QAAQrwC,QAAQ,CAACxM,EAAEE,KAAKA,EAAEknC,QAAQpnC,EAAEqT,IAAInT,EAAEknC,QAAQpnC,IAAI,IAAIgtE,KAAKnrE,SAAS7B,IAAIA,EAAEi9C,cAAcH,iBAAiB,CAAC7zC,OAAOjJ,EAAE68C,QAAQ,CAAC38C,IAAK,GAAE,CAAC,kBAAA08C,CAAmB58C,GAAG,MAAME,EAAEF,EAAEiJ,OAAOrF,EAAE1D,EAAE2V,aAAa7V,EAAE68C,QAAQrwC,QAAM,CAAGxM,EAAEE,KAAKA,EAAEknC,QAAQpnC,EAAEqT,IAAInT,EAAEknC,QAAQpnC,IAAI,IAAIgtE,KAAKnrE,SAAS7B,KAAK4D,EAAEwS,MAAMlW,GAAGA,EAAEknC,SAASpnC,KAAKA,EAAEi9C,cAAcL,mBAAmB,CAAC3zC,OAAOjJ,EAAE68C,QAAQ,CAAC38C,IAAK,GAAE,EAAE,MAAM+sE,WAAWtvB,GAAG,kBAAOn9B,GAAc,OAAO5c,EAAEA,EAAE,CAAE,EAACoI,MAAMwU,eAAeysD,GAAGxsD,YAAY,CAAC,WAAA7f,GAAc,IAAIZ,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAGzB,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAGqK,QAAQ7K,OAAO+K,OAAOjI,KAAKgpE,GAAGxsD,aAAaxc,KAAKiiC,WAAWhmC,GAAG,MAAM8W,KAAKpT,EAAEqT,IAAI3U,EAAE26C,cAAc/7C,GAAGhB,EAAE+D,KAAK25C,UAAU59C,EAAE,CAACgX,KAAKpT,EAAEqT,IAAI3U,EAAE26C,cAAc,MAAM/7C,EAAEA,EAAE,IAAI6rE,IAAI,CAAC,sBAAA1uB,GAAyB,OAAM,CAAE,CAAC,wBAAAP,GAA0B,CAAE,cAAAgV,GAAiB,IAAI,IAAI9yD,EAAE2B,UAAUC,OAAO1B,EAAE,IAAIsK,MAAMxK,GAAG4D,EAAE,EAAEA,EAAE5D,EAAE4D,IAAI1D,EAAE0D,GAAGjC,UAAUiC,GAAG,oBAAoBK,KAAKipE,uBAAuBjpE,KAAKoP,OAAOnT,GAAGA,EAAE2B,SAAS7B,IAAI,MAAME,EAAE+D,KAAKqR,SAAS63D,WAAWjtE,GAAGA,EAAEkrC,YAAYprC,KAAK4D,GAAG,IAAI1D,EAAE+D,KAAKgS,OAAO/V,EAAE+D,KAAK0R,SAAS/R,EAAE5D,EAAG,GAAE,CAAC,aAAAi+C,CAAcj+C,GAAG,OAAOiE,KAAK4R,aAAaO,MAAMlW,GAAGA,EAAE2qC,eAAe7qC,IAAIA,EAAE6qC,eAAe3qC,MAAMsC,EAAE,QAAQ,sFAAqF,GAAIwJ,MAAMiyC,cAAcj+C,EAAE,CAAC,UAAAg+C,CAAWh+C,EAAEE,GAAGF,EAAEonC,QAAQpnC,EAAEonC,SAASpnC,EAAEokC,MAAMpkC,EAAEonC,OAAOuX,WAAW3+C,GAAGA,EAAEokC,OAAOpkC,EAAEonC,SAASpnC,EAAEokC,OAAOpkC,EAAEokC,MAAMtyB,OAAO9R,GAAGiE,KAAKy6C,YAAY1+C,EAAEE,EAAE,CAAC,SAAAk+C,CAAUp+C,EAAEE,GAAG+D,KAAK06C,WAAW3+C,EAAEE,GAAGF,EAAEonC,QAAQpnC,EAAEonC,OAAOsX,YAAY1+C,GAAE,EAAG,CAAC,qBAAAm+C,CAAsBn+C,EAAEE,GAAG8L,MAAMmyC,sBAAsBn+C,EAAEE,GAAG,MAAM0D,EAAE,IAAIopE,IAAI9sE,EAAE2B,SAAS7B,IAAI,MAAMonC,OAAOlnC,GAAGF,EAAEE,GAAG0D,EAAEyP,IAAInT,EAAG,IAAGF,IAAI66C,GAAGj3C,EAAE/B,SAAS7B,IAAIA,EAAEm+C,sBAAsBvD,GAAG16C,EAAG,IAAG0D,EAAE/B,SAAS7B,IAAIA,EAAE4X,KAAK,SAAQ,EAAI,GAAE,CAAC,UAAAu7B,GAAa,OAAOlvC,KAAKs6C,aAAY,CAAE,CAAC,QAAAjzC,GAAW,MAAM,uBAAuBoB,OAAOzI,KAAKoS,aAAa,KAAK,CAAC,WAAAmN,GAAc,OAAM,CAAE,CAAC,UAAA4kB,GAAa,OAAM,CAAE,CAAC,eAAAoK,CAAgBxyC,EAAEE,EAAEoC,GAAGtC,EAAEqjB,OAAOrjB,EAAE6oC,YAAY5kC,KAAK0uC,SAAS1uC,KAAK2uC,wBAAwB,EAAE,MAAM1xC,EAAE0C,EAAEA,EAAE,CAAC+tC,aAAY,GAAIrvC,GAAG,CAAA,EAAG,CAACwwC,oBAAmB,IAAK,IAAI,IAAI5yC,EAAE,EAAEA,EAAE+D,KAAKqR,SAAS1T,OAAO1B,IAAI+D,KAAKqR,SAASpV,GAAGsyC,gBAAgBxyC,EAAEkB,GAAG8K,MAAMwmC,gBAAgBxyC,EAAEE,GAAGF,EAAEujB,SAAS,EAAEvjB,EAAEitE,GAAG,OAAO,mBAAmBjtE,EAAEitE,GAAG,cAAc,CAACC,uBAAuB,oBAAoB77D,GAAGI,SAASw7D,IAAI57D,GAAGI,SAASw7D,GAAG,mBAAmB,MAAMG,GAAG,WAAAxsE,GAAcZ,EAAEiE,KAAK,YAAY,GAAG,CAAC,YAAAopE,CAAartE,EAAEE,EAAE0D,EAAEtB,EAAEpB,GAAG,MAAMiB,EAAEjB,EAAEiM,WAAW,MAAM,IAAIhL,EAAE,OAAOA,EAAE+hB,UAAUhkB,EAAE,EAAE,EAAE0D,EAAEtB,GAAG,MAAMrC,EAAE,CAACqtE,YAAY1pE,EAAE2pE,aAAajrE,EAAEkrE,UAAUrrE,EAAEwyC,aAAa,EAAE,EAAE/wC,EAAEtB,GAAGmrE,WAAWvtE,EAAEwtE,kBAAkBvrE,EAAEwyC,aAAa,EAAE,EAAE/wC,EAAEtB,GAAGqrE,SAASzsE,EAAEgd,IAAI/b,EAAEyrE,cAAc3pE,MAAMjE,EAAE6B,SAAS7B,IAAIA,EAAE6tE,QAAQ5tE,EAAG,IAAG,MAAMutE,UAAUhrE,GAAGvC,EAAE,OAAOuC,EAAE0U,QAAQtT,GAAGpB,EAAE2U,SAAS7U,IAAIpB,EAAEgW,MAAM1U,EAAE0U,MAAMhW,EAAEiW,OAAO3U,EAAE2U,QAAQhV,EAAE2rE,aAAatrE,EAAE,EAAE,GAAGvC,CAAC,EAAE,MAAM8tE,GAAG,WAAAntE,GAAc,IAAIotE,SAAS9tE,EAAED,EAAEguE,aAAatsE,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAE,EAAC3B,EAAEiE,KAAK,YAAY,IAAIiqE,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAKluE,EAAEiE,KAAK,YAAY,IAAIA,KAAK+pE,SAAS9tE,EAAE+D,KAAKkqE,eAAejuE,EAAEA,GAAG+D,KAAKmqE,gBAAgB,CAAC,cAAAD,CAAenuE,EAAEE,GAAG+D,KAAKgK,UAAUhK,KAAKoqE,kBAAkBruE,EAAEE,EAAE,CAAC,iBAAAmuE,CAAkBruE,EAAEE,GAAG,MAAM0D,EAAE0U,GAAG,CAACpB,MAAMlX,EAAEmX,OAAOjX,IAAIoC,EAAEsB,EAAEuJ,WAAW,QAAQ,CAACwoC,OAAM,EAAG24B,oBAAmB,EAAGC,OAAM,EAAGC,SAAQ,EAAGC,WAAU,IAAKnsE,IAAIA,EAAEosE,WAAW,EAAE,EAAE,EAAE,GAAGzqE,KAAKkO,OAAOvO,EAAEK,KAAK0qE,GAAGrsE,EAAE,CAAC,YAAA+qE,CAAartE,EAAEE,EAAE0D,EAAEtB,EAAEpB,EAAEiB,GAAG,MAAMlC,EAAEgE,KAAK0qE,GAAGnsE,EAAEtB,EAAEiM,WAAW,MAAM,IAAIlN,IAAIuC,EAAE,OAAO,IAAIiB,EAAEtB,IAAIsB,EAAEQ,KAAK2qE,iBAAiBzsE,EAAEjC,IAAI,MAAMwC,EAAE,CAACmsE,cAAc3uE,EAAEgX,OAAOhX,EAAEm1D,cAAc,EAAEyZ,eAAe5uE,EAAEiX,QAAQjX,EAAEo1D,eAAe,EAAEgY,YAAY1pE,EAAE2pE,aAAajrE,EAAEysE,iBAAiBnrE,EAAEorE,kBAAkB1sE,EAAEy6C,QAAQ98C,EAAEgvE,cAAchrE,KAAKirE,cAAcjvE,EAAE2D,EAAEtB,EAAEmB,OAAE,EAAOvD,GAAGivE,cAAclrE,KAAKirE,cAAcjvE,EAAE2D,EAAEtB,GAAG8sE,gBAAgB3rE,GAAGQ,KAAKirE,cAAcjvE,EAAE2D,EAAEtB,EAAEmB,OAAE,EAAOvD,GAAGmvE,OAAOrvE,EAAE4B,OAAO0tE,OAAM,EAAGC,UAAUtrE,KAAKsrE,UAAUC,aAAavrE,KAAKurE,aAAaC,KAAK,EAAE7B,cAAc3pE,KAAKyrE,aAAaxuE,GAAGwC,EAAEzD,EAAE0vE,oBAAoB,OAAO1vE,EAAE2vE,gBAAgB3vE,EAAE4vE,YAAYnsE,GAAG1D,EAAE6B,SAAS7B,IAAIA,GAAGA,EAAE6tE,QAAQnrE,EAAG,IAAG,SAAS1C,GAAG,MAAME,EAAEF,EAAE0vE,aAAa9rE,EAAE1D,EAAEgX,MAAM5U,EAAEpC,EAAEiX,OAAOjW,EAAElB,EAAE+uE,iBAAiB5sE,EAAEnC,EAAEgvE,kBAAkBprE,IAAI1C,GAAGoB,IAAIH,IAAIjC,EAAEgX,MAAMhW,EAAEhB,EAAEiX,OAAOhV,EAAE,CAAvI,CAAyIO,GAAGuB,KAAK6rE,WAAW7vE,EAAEyC,GAAGzC,EAAE8vE,YAAY9vE,EAAE+vE,WAAW,MAAM/vE,EAAEgwE,cAAcvtE,EAAEusE,eAAehvE,EAAEgwE,cAAcvtE,EAAEysE,eAAelvE,EAAEiwE,kBAAkBxsE,GAAGlB,EAAEqkC,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,GAAGnkC,CAAC,CAAC,OAAAuL,GAAUhK,KAAKkO,SAASlO,KAAKkO,OAAO,KAAKlO,KAAK0qE,GAAG,MAAM1qE,KAAKksE,kBAAkB,CAAC,gBAAAA,GAAmBlsE,KAAKurE,aAAa,CAAA,EAAGvrE,KAAKmsE,aAAa,CAAE,CAAA,CAAC,aAAAlB,CAAclvE,EAAEE,EAAE0D,EAAEtB,EAAEpB,GAAG,MAAMmvE,QAAQluE,EAAE6tE,WAAW/vE,EAAEqwE,KAAK9tE,EAAE+tE,cAAc9sE,EAAE+sE,cAAc9tE,EAAE+tE,mBAAmB/sE,EAAEgtE,mBAAmB9tE,EAAE+tE,eAAezsE,EAAE0sE,eAAetsE,GAAGtE,EAAE2D,EAAE3D,EAAEkvE,gBAAgB,OAAOlvE,EAAE+vE,YAAY9vE,EAAE0D,GAAG3D,EAAE6wE,cAAc5wE,EAAEyD,EAAExC,GAAGiB,GAAGnC,EAAE6wE,cAAc5wE,EAAE2C,EAAE1B,GAAGiB,GAAGnC,EAAE6wE,cAAc5wE,EAAEiE,EAAExB,GAAG1C,EAAE6wE,cAAc5wE,EAAEqE,EAAE5B,GAAGJ,EAAEtC,EAAE8wE,WAAW7wE,EAAE,EAAEuC,EAAEA,EAAEiB,EAAEnB,GAAGtC,EAAE8wE,WAAW7wE,EAAE,EAAEuC,EAAEtC,EAAE0D,EAAE,EAAEpB,EAAEiB,EAAE,MAAME,CAAC,CAAC,gBAAAirE,CAAiB5uE,EAAEE,EAAE0D,GAAG,MAAMwsE,aAAa9tE,GAAG2B,KAAK,GAAG3B,EAAEtC,GAAG,OAAOsC,EAAEtC,GAAG,CAAC,MAAMkB,EAAE+C,KAAKirE,cAAcjrE,KAAK0qE,GAAGzuE,EAAEgX,MAAMhX,EAAEiX,OAAOjX,EAAE0D,GAAG,OAAO1C,IAAIoB,EAAEtC,GAAGkB,GAAGA,CAAC,CAAC,CAAC,iBAAA6vE,CAAkB/wE,GAAGiE,KAAKmsE,aAAapwE,KAAKiE,KAAK0qE,GAAGsB,cAAchsE,KAAKmsE,aAAapwE,WAAWiE,KAAKmsE,aAAapwE,GAAG,CAAC,UAAA8vE,CAAW9vE,EAAEE,GAAG,MAAM0D,EAAE5D,EAAEmS,OAAO7P,EAAEpC,EAAEwvE,aAAaxuE,EAAEoB,EAAE6K,WAAW,MAAM,IAAIjM,EAAE,OAAOA,EAAE4lC,UAAU,EAAExkC,EAAE6U,QAAQjW,EAAEuc,MAAM,GAAG,GAAG,MAAMtb,EAAEyB,EAAEuT,OAAO7U,EAAE6U,OAAOjW,EAAEgjB,UAAUtgB,EAAE,EAAEzB,EAAEG,EAAE4U,MAAM5U,EAAE6U,OAAO,EAAE,EAAE7U,EAAE4U,MAAM5U,EAAE6U,OAAO,CAAC,sBAAA65D,CAAuBhxE,EAAEE,GAAG,MAAM0D,EAAE1D,EAAEwvE,aAAaviE,WAAW,MAAM7K,EAAEpC,EAAE6uE,iBAAiB7tE,EAAEhB,EAAE8uE,kBAAkB7sE,EAAEG,EAAEpB,EAAE,EAAE,IAAI0C,EAAE,OAAO,MAAM3D,EAAE,IAAIgxE,WAAWhtE,KAAKitE,YAAY,EAAE/uE,GAAGK,EAAE,IAAI2uE,kBAAkBltE,KAAKitE,YAAY,EAAE/uE,GAAGnC,EAAEoxE,WAAW,EAAE,EAAE9uE,EAAEpB,EAAElB,EAAEswE,KAAKtwE,EAAEuwE,cAActwE,GAAG,MAAMwD,EAAE,IAAI4tE,UAAU7uE,EAAEF,EAAEpB,GAAG0C,EAAEkqE,aAAarqE,EAAE,EAAE,EAAE,CAAC,cAAA2qE,GAAiB,GAAGnqE,KAAKqtE,QAAQ,OAAOrtE,KAAKqtE,QAAQ,MAAMtxE,EAAEiE,KAAK0qE,GAAGzuE,EAAE,CAACqxE,SAAS,GAAGC,OAAO,IAAI,IAAIxxE,EAAE,OAAOE,EAAE,MAAM0D,EAAE5D,EAAEyN,aAAa,6BAA6B,GAAG7J,EAAE,CAAC,MAAMtB,EAAEtC,EAAEqN,aAAazJ,EAAE6tE,yBAAyBvwE,EAAElB,EAAEqN,aAAazJ,EAAE8tE,uBAAuBpvE,IAAIpC,EAAEqxE,SAASjvE,EAAEqM,eAAezN,IAAIhB,EAAEsxE,OAAOtwE,EAAEyN,cAAc,CAAC,OAAO1K,KAAKqtE,QAAQpxE,EAAEA,CAAC,EAAE,IAAIyxE,GAA6J,SAASC,KAAK,OAAOD,OAAOhwE,UAAUC,OAAO,QAAG,IAASD,UAAU,KAAKA,UAAU,MAAMgwE,GAAlP,WAAc,MAAM3jE,WAAWhO,GAAGgE,IAAI,OAAOhE,EAAEkN,WAAWiL,MAAMlY,EAAE4xE,mBAAmB7xE,EAAE2N,YAAY1N,EAAEguE,aAAa,IAAIF,GAAG,CAACC,SAAS/tE,EAAEguE,cAAc,IAAIb,EAAE,CAA4F0E,IAAMH,EAAE,CAAqB,MAAMI,GAAG,CAAC,UAAU,eAAe,MAAM,cAAc,QAAQC,GAAG,CAAC,QAAQ,SAAS,MAAMC,WAAWz9B,GAAG,kBAAOh0B,GAAc,OAAO5c,EAAEA,EAAE,CAAE,EAACoI,MAAMwU,eAAeyxD,GAAGxxD,YAAY,CAAC,WAAA7f,CAAYV,EAAE0D,GAAGoI,QAAQhM,EAAEiE,KAAK,cAAc,GAAGjE,EAAEiE,KAAK,cAAc,GAAGjE,EAAEiE,KAAK,kBAAkB,GAAGjE,EAAEiE,KAAK,kBAAkB,GAAGA,KAAKiuE,QAAQ,GAAG/wE,OAAO+K,OAAOjI,KAAKguE,GAAGxxD,aAAaxc,KAAKiiC,WAAWtiC,GAAGK,KAAKkuE,SAAS,UAAUzlE,OAAOwL,MAAMjU,KAAKmuE,WAAW,iBAAiBlyE,GAAG+D,KAAKkO,QAAQuK,GAAGzY,KAAKkO,OAAO4P,eAAe5T,KAAKgQ,eAAeje,GAAGA,EAAE0D,EAAE,CAAC,UAAAme,GAAa,OAAO9d,KAAKouE,QAAQ,CAAC,UAAAD,CAAWpyE,GAAG,IAAIE,EAAE,IAAI0D,EAAEjC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAGsC,KAAKquE,cAAcruE,KAAKkuE,UAAUluE,KAAKquE,cAAc,GAAG5lE,OAAOzI,KAAKkuE,SAAS,cAAcluE,KAAKouE,SAASryE,EAAEiE,KAAKsuE,iBAAiBvyE,EAAEiE,KAAKm0D,gBAAgBx0D,GAAG,QAAQ1D,EAAEF,EAAEue,iBAAY,IAASre,GAAGA,EAAEmT,IAAI4+D,GAAGO,YAAY,IAAIvuE,KAAKiuE,QAAQtwE,QAAQqC,KAAKopE,eAAeppE,KAAKwuE,cAAcxuE,KAAKyuE,oBAAoB,CAAC,aAAAJ,CAActyE,GAAG,MAAME,EAAE0xE,IAAG,GAAI1xE,aAAa6tE,IAAI7tE,EAAE6wE,kBAAkB/wE,EAAE,CAAC,OAAAiO,GAAUjC,MAAMiC,UAAUhK,KAAKquE,cAAcruE,KAAKkuE,UAAUluE,KAAKquE,cAAc,GAAG5lE,OAAOzI,KAAKkuE,SAAS,cAAcluE,KAAKmiC,cAAc,KAAK,CAAC,mBAAmB,WAAW,cAAc,gBAAgBvkC,SAAS7B,IAAI,MAAME,EAAE+D,KAAKjE,GAAGE,GAAG8D,IAAIiK,QAAQ/N,GAAG+D,KAAKjE,QAAG,CAAO,GAAE,CAAC,cAAA2yE,GAAiB,OAAO1uE,KAAKsuE,mBAAmBtuE,KAAKsuE,iBAAiB33D,aAAa,KAAK,CAAC,eAAAg4D,GAAkB,MAAM5yE,EAAEiE,KAAK8d,aAAa,OAAO/hB,EAAE,CAACkX,MAAMlX,EAAEq1D,cAAcr1D,EAAEkX,MAAMC,OAAOnX,EAAEs1D,eAAet1D,EAAEmX,QAAQ,CAACD,MAAM,EAAEC,OAAO,EAAE,CAAC,OAAA07D,CAAQ7yE,GAAG,IAAIiE,KAAK+zB,QAAQ,IAAI/zB,KAAKuzB,YAAY,OAAO,MAAMt3B,EAAE+D,KAAKiT,MAAM,EAAEtT,EAAEK,KAAKkT,OAAO,EAAEnX,EAAEwkB,YAAYxkB,EAAEykB,QAAQvkB,GAAG0D,GAAG5D,EAAE0kB,OAAOxkB,GAAG0D,GAAG5D,EAAE0kB,OAAOxkB,EAAE0D,GAAG5D,EAAE0kB,QAAQxkB,EAAE0D,GAAG5D,EAAE0kB,QAAQxkB,GAAG0D,GAAG5D,EAAE2kB,WAAW,CAAC,QAAAtI,GAAW,IAAIrc,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,MAAMzB,EAAE,GAAG,OAAO+D,KAAKiuE,QAAQrwE,SAAS7B,IAAIA,GAAGE,EAAEuB,KAAKzB,EAAEqc,WAAY,IAAGzY,EAAEA,EAAE,CAAE,EAACoI,MAAMqQ,SAAS,IAAI21D,MAAMhyE,KAAK,CAAE,EAAC,CAAC8a,IAAI7W,KAAK6uE,SAASl4D,YAAY3W,KAAK0uE,iBAAiBT,QAAQhyE,GAAG+D,KAAKwuE,aAAa,CAACA,aAAaxuE,KAAKwuE,aAAap2D,YAAY,CAAA,EAAG,CAAC,OAAA02D,GAAU,QAAQ9uE,KAAKshD,SAASthD,KAAKuhD,OAAOvhD,KAAKiT,MAAMjT,KAAKouE,SAASn7D,OAAOjT,KAAKkT,OAAOlT,KAAKouE,SAASl7D,MAAM,CAAC,MAAAkhB,GAAS,MAAMr4B,EAAE,GAAGE,EAAE+D,KAAKouE,SAASzuE,GAAGK,KAAKiT,MAAM,EAAE5U,GAAG2B,KAAKkT,OAAO,EAAE,IAAIjW,EAAE,GAAGiB,EAAE,GAAGlC,EAAE,GAAGuC,EAAE,GAAG,IAAItC,EAAE,MAAM,GAAG,GAAG+D,KAAK8uE,UAAU,CAAC,MAAM/yE,EAAEkY,KAAKhX,EAAEO,KAAK,2BAA2BzB,EAAE,OAAO,cAAc4D,EAAE,QAAQtB,EAAE,YAAY2B,KAAKiT,MAAM,aAAajT,KAAKkT,OAAO,SAAS,iBAAiBlX,EAAE,8BAA8BD,EAAE,KAAK,CAAC,GAAGiE,KAAK+uE,iBAAiBxwE,EAAE,oCAAoCxC,EAAEyB,KAAK,YAAY,eAAe,eAAeiL,OAAOzI,KAAKgvE,WAAU,GAAI,SAASvmE,OAAO9I,EAAEK,KAAKshD,MAAM,SAAS74C,OAAOpK,EAAE2B,KAAKuhD,MAAM,aAAa94C,OAAOxM,EAAEgX,OAAOhX,EAAEm1D,aAAa,cAAc3oD,OAAOxM,EAAEiX,QAAQjX,EAAEo1D,cAAc,KAAK5oD,OAAOlK,GAAGkK,OAAOzM,EAAE,gBAAgBgE,KAAK+zB,QAAQ/zB,KAAKwzB,gBAAgB,CAAC,MAAMz3B,EAAEiE,KAAK+gB,KAAK/gB,KAAK+gB,KAAK,KAAK7iB,EAAE,CAAC,cAAcuK,OAAO9I,EAAE,SAAS8I,OAAOpK,EAAE,aAAaoK,OAAOzI,KAAKiT,MAAM,cAAcxK,OAAOzI,KAAKkT,OAAO,aAAazK,OAAOzI,KAAKqzB,eAAe,WAAWrzB,KAAK+gB,KAAKhlB,CAAC,CAAC,OAAOkB,EAAE+C,KAAK40B,aAAa7nB,GAAE9P,EAAEwL,OAAOvK,EAAEnC,GAAGkB,EAAEwL,OAAO1M,EAAEmC,GAAGjB,CAAC,CAAC,MAAA4xE,CAAO9yE,GAAG,MAAME,EAAEF,EAAEiE,KAAKouE,SAASpuE,KAAKsuE,iBAAiB,OAAOryE,EAAEA,EAAEsY,UAAUtY,EAAEsY,YAAYvU,KAAKivE,iBAAiBhzE,EAAE+3C,aAAa,QAAQ,GAAG/3C,EAAE4a,IAAI7W,KAAK6W,KAAK,EAAE,CAAC,SAAAm4D,CAAUjzE,GAAG,OAAOiE,KAAK6uE,OAAO9yE,EAAE,CAAC,MAAAmzE,CAAOnzE,GAAG,IAAI4a,YAAY1a,EAAEya,OAAO/W,GAAGjC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,OAAO+Y,GAAG1a,EAAE,CAAC4a,YAAY1a,EAAEya,OAAO/W,IAAIiB,MAAM7E,SAAI,IAASE,GAAG+D,KAAKyN,IAAI,CAACkJ,YAAY1a,IAAI+D,KAAKmuE,WAAWpyE,EAAG,GAAE,CAAC,QAAAsL,GAAW,MAAM,oBAAoBoB,OAAOzI,KAAK6uE,SAAS,OAAO,CAAC,kBAAAJ,GAAqB,MAAM1yE,EAAEiE,KAAKwuE,aAAavyE,EAAE+D,KAAKmvE,oBAAoBxvE,EAAEK,KAAK0iC,wBAAwBrkC,EAAEsB,EAAEsL,EAAEhO,EAAE0C,EAAEC,EAAE1B,EAAE8B,KAAKovE,aAAapvE,KAAKsuE,iBAAiB,GAAGtuE,KAAKmgC,OAAOngC,KAAKyN,IAAI,SAAQ,IAAK1R,GAAGsC,EAAEpC,GAAGgB,EAAEhB,EAAE,OAAO+D,KAAKouE,SAASlwE,EAAE8B,KAAKqvE,gBAAgB,EAAErvE,KAAKsvE,gBAAgB,EAAEtvE,KAAKuvE,YAAYlxE,OAAO2B,KAAKwvE,YAAYvyE,GAAG,MAAMjB,EAAEqY,GAAGnW,IAAI+U,MAAM1U,EAAE2U,OAAO1T,GAAGtB,EAAE8B,KAAKouE,SAASpyE,EAAEgE,KAAKuvE,YAAYxzE,EAAEyZ,OAAOnX,EAAE2B,KAAKwvE,YAAYzzE,EAAE0Z,OAAOxY,EAAE0wE,KAAKvE,aAAa,CAACrtE,GAAGmC,EAAEK,EAAEiB,EAAEQ,KAAKouE,UAAUpuE,KAAKqvE,gBAAgBrzE,EAAEiX,MAAMjT,KAAKsuE,iBAAiBr7D,MAAMjT,KAAKsvE,gBAAgBtzE,EAAEkX,OAAOlT,KAAKsuE,iBAAiBp7D,MAAM,CAAC,YAAAk2D,GAAe,IAAIrtE,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAGsC,KAAKiuE,SAAS,GAAG,GAAGlyE,EAAEA,EAAEsB,QAAQtB,GAAGA,IAAIA,EAAE0zE,mBAAmBzvE,KAAKyN,IAAI,SAAQ,GAAIzN,KAAKquE,cAAc,GAAG5lE,OAAOzI,KAAKkuE,SAAS,cAAc,IAAInyE,EAAE4B,OAAO,OAAOqC,KAAKouE,SAASpuE,KAAKsuE,iBAAiBtuE,KAAKovE,iBAAY,EAAOpvE,KAAKqvE,gBAAgB,OAAOrvE,KAAKsvE,gBAAgB,GAAG,MAAMrzE,EAAE+D,KAAKsuE,iBAAiB3uE,EAAE1D,EAAEm1D,cAAcn1D,EAAEgX,MAAM5U,EAAEpC,EAAEo1D,eAAep1D,EAAEiX,OAAO,GAAGlT,KAAKouE,WAAWpuE,KAAKsuE,iBAAiB,CAAC,MAAMvyE,EAAEsY,GAAG,CAACpB,MAAMtT,EAAEuT,OAAO7U,IAAI2B,KAAKouE,SAASryE,EAAEiE,KAAKovE,YAAYrzE,CAAC,MAAMiE,KAAKovE,cAAcpvE,KAAKouE,SAASpuE,KAAKovE,YAAYpvE,KAAKovE,YAAYlmE,WAAW,MAAM8U,UAAU,EAAE,EAAEre,EAAEtB,GAAG2B,KAAKuvE,YAAY,EAAEvvE,KAAKwvE,YAAY,GAAG7B,KAAKvE,aAAartE,EAAEiE,KAAKsuE,iBAAiB3uE,EAAEtB,EAAE2B,KAAKouE,SAASpuE,KAAKkuE,UAAUluE,KAAKsuE,iBAAiBr7D,QAAQjT,KAAKouE,SAASn7D,OAAOjT,KAAKsuE,iBAAiBp7D,SAASlT,KAAKouE,SAASl7D,SAASlT,KAAKqvE,gBAAgBrvE,KAAKouE,SAASn7D,MAAMjT,KAAKsuE,iBAAiBr7D,MAAMjT,KAAKsvE,gBAAgBtvE,KAAKouE,SAASl7D,OAAOlT,KAAKsuE,iBAAiBp7D,OAAO,CAAC,OAAAqxB,CAAQxoC,GAAGA,EAAEggB,sBAAsB/b,KAAK+uE,gBAAe,IAAK/uE,KAAK0uC,UAAU1uC,KAAKwuE,cAAcxuE,KAAK0vE,gBAAgB1vE,KAAKyuE,qBAAqBzuE,KAAK4uE,QAAQ7yE,GAAGiE,KAAK+lC,oBAAoBhqC,EAAE,CAAC,iBAAA2nC,CAAkB3nC,GAAGA,EAAEggB,sBAAsB/b,KAAK+uE,eAAehnE,MAAM27B,kBAAkB3nC,EAAE,CAAC,WAAAwjB,GAAc,OAAOvf,KAAKikC,kBAAkB,CAAC,WAAAgC,CAAYlqC,GAAG,MAAME,EAAE+D,KAAKouE,SAAS,IAAInyE,EAAE,OAAO,MAAM0D,EAAEK,KAAKqvE,gBAAgBhxE,EAAE2B,KAAKsvE,gBAAgBryE,EAAE+C,KAAKiT,MAAM/U,EAAE8B,KAAKkT,OAAOlX,EAAEmO,KAAKC,IAAIpK,KAAKshD,MAAM,GAAG/iD,EAAE4L,KAAKC,IAAIpK,KAAKuhD,MAAM,GAAG/hD,EAAEvD,EAAEm1D,cAAcn1D,EAAEgX,MAAMxU,EAAExC,EAAEo1D,eAAep1D,EAAEiX,OAAOzT,EAAEzD,EAAE2D,EAAEhB,EAAEJ,EAAEF,EAAE4B,EAAEkK,KAAKqG,IAAIvT,EAAE0C,EAAEH,EAAEC,GAAGY,EAAE8J,KAAKqG,IAAItS,EAAEG,EAAEI,EAAEE,GAAGe,GAAGzC,EAAE,EAAE8C,GAAG7B,EAAE,EAAEgM,EAAEC,KAAKqG,IAAIvT,EAAEuC,EAAEG,EAAE3D,GAAGmE,EAAEgK,KAAKqG,IAAItS,EAAEO,EAAEJ,EAAEE,GAAGtC,GAAGF,EAAEkkB,UAAUhkB,EAAEwD,EAAEd,EAAEsB,EAAEI,EAAEX,EAAEK,EAAEmK,EAAE/J,EAAE,CAAC,YAAAuvE,GAAe,MAAM3zE,EAAEiE,KAAK0iC,wBAAwB,OAAO3mC,EAAEkP,IAAIjL,KAAKuvE,aAAaxzE,EAAE6D,IAAII,KAAKwvE,WAAW,CAAC,iBAAAG,GAAoB3vE,KAAKyN,IAAIzN,KAAK2uE,kBAAkB,CAAC,eAAAxa,GAAkB,IAAIlhD,MAAMlX,EAAEmX,OAAOjX,GAAGyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAE,EAAC,MAAMiC,EAAEK,KAAK2uE,kBAAkB3uE,KAAKiT,MAAMlX,GAAG4D,EAAEsT,MAAMjT,KAAKkT,OAAOjX,GAAG0D,EAAEuT,MAAM,CAAC,iCAAA2tC,GAAoC,MAAM9kD,EAAE+2B,GAAG9yB,KAAK4vE,qBAAqB,IAAI3zE,EAAE+D,KAAKiT,MAAMtT,EAAEK,KAAKkT,OAAO7U,EAAE,CAAC4U,MAAMhX,EAAEiX,OAAOvT,GAAG,IAAI1C,EAAEiB,EAAE8B,KAAKouE,SAASn7D,MAAMjX,EAAEgE,KAAKouE,SAASl7D,OAAO3U,EAAE,EAAEiB,EAAE,EAAEf,EAAE,EAAEgB,EAAE,EAAEd,EAAE,EAAEsB,EAAE,EAAE,OAAOlE,GAAGA,EAAEk3B,SAASlnB,IAAGhQ,EAAEm3B,SAASnnB,IAAGxN,EAAEtC,EAAEiC,EAAEsB,EAAEG,EAAE3D,IAAI,SAASD,EAAEi3B,cAAcz0B,EAAEiB,EAAEw7C,GAAGh7C,KAAKouE,SAAS/vE,GAAGpB,GAAGhB,EAAEiC,EAAEK,GAAG,EAAE,QAAQxC,EAAEk3B,SAASx0B,GAAGxB,GAAG,QAAQlB,EAAEk3B,SAASx0B,EAAExB,GAAGA,GAAG0C,EAAE3D,EAAEwD,GAAG,EAAE,QAAQzD,EAAEm3B,SAASzzB,GAAGxC,GAAG,QAAQlB,EAAEm3B,SAASzzB,EAAExC,IAAI,UAAUlB,EAAEi3B,cAAcz0B,EAAEiB,EAAEy7C,GAAGj7C,KAAKouE,SAAS/vE,GAAGpB,EAAEiB,EAAEjC,EAAEsC,EAAE,QAAQxC,EAAEk3B,SAASt0B,EAAE1B,EAAE,GAAG,QAAQlB,EAAEk3B,SAASt0B,EAAE1B,GAAGA,EAAEjB,EAAE2D,EAAEH,EAAE,QAAQzD,EAAEm3B,SAASjzB,EAAEhD,EAAE,GAAG,QAAQlB,EAAEm3B,SAASjzB,EAAEhD,GAAGiB,EAAEjC,EAAEsC,EAAEvC,EAAE2D,EAAEH,IAAI,CAACyT,MAAM/U,EAAEgV,OAAOlX,EAAEwZ,OAAOjX,EAAEkX,OAAOjW,EAAEgiD,WAAW/iD,EAAEgjD,UAAUhiD,EAAE6hD,MAAM3iD,EAAE4iD,MAAMthD,EAAE,CAAC,iBAAOqX,CAAWvb,EAAEE,GAAG,IAAIgyE,QAAQhxE,EAAEuxE,aAAatwE,EAAE2Y,IAAI7a,EAAE2a,YAAYpY,EAAEe,KAAKE,GAAGzD,EAAE0C,EAAEJ,EAAEtC,EAAE+xE,IAAI,OAAOjrE,QAAQuU,IAAI,CAACX,GAAGza,EAAE2D,EAAEA,EAAE,CAAE,EAAC1D,GAAG,GAAG,CAAC0a,YAAYpY,KAAKtB,GAAGia,GAAGja,EAAEhB,GAAGiC,GAAGgZ,GAAG,CAAChZ,GAAGjC,GAAGub,GAAG/Y,EAAExC,KAAK2E,MAAM7E,IAAI,IAAIE,EAAEoC,EAAE,IAAIpB,GAAG,GAAGiB,EAAE,CAAA,GAAInC,EAAE,OAAO,IAAIiE,KAAK/D,EAAE0D,EAAEA,EAAE,CAAE,EAAClB,GAAG,CAAE,EAAC,CAACoY,IAAI7a,EAAEiyE,QAAQ5vE,EAAEmwE,aAAavxE,GAAGiB,GAAI,GAAE,CAAC,cAAO2xE,CAAQ9zE,GAAG,IAAI4a,YAAY1a,EAAE,KAAKya,OAAO/W,GAAGjC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAGW,EAAEX,UAAUC,OAAO,EAAED,UAAU,QAAG,EAAO,OAAO+Y,GAAG1a,EAAE,CAAC4a,YAAY1a,EAAEya,OAAO/W,IAAIiB,MAAM7E,GAAG,IAAIiE,KAAKjE,EAAEsC,IAAI,CAAC,wBAAam4C,CAAYz6C,GAAG,IAAIE,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAE,EAACiC,EAAEjC,UAAUC,OAAO,EAAED,UAAU,QAAG,EAAO,MAAMW,EAAEu3C,GAAG75C,EAAEiE,KAAKy2C,gBAAgB92C,GAAG,OAAOK,KAAK6vE,QAAQxxE,EAAE,eAAeA,EAAEyxE,KAAK7zE,EAAEoC,GAAGmF,OAAOzH,IAAIwC,EAAE,MAAM,wBAAwBxC,GAAG,OAAO,EAA+iDA,EAAEiyE,GAAG,OAAO,SAASjyE,EAAEiyE,GAAG,kBAAkB,IAAIv0C,MAAMs0C,KAAKhyE,EAAEiyE,GAAG,cAAc,CAACz6C,YAAY,EAAE07C,kBAAiB,EAAGE,oBAAoB,GAAG7tB,MAAM,EAAEC,MAAM,EAAEwtB,gBAAe,IAAKhzE,EAAEiyE,GAAG,aAAa,cAAcjyE,EAAEiyE,GAAG,kBAAkB,IAAIn6B,GAAG,IAAI,IAAI,QAAQ,SAAS,sBAAsB,aAAa,OAAO,cAAc,oBAAoBzmC,GAAGI,SAASwgE,IAAI5gE,GAAGO,YAAYqgE,IAAgDn5C,GAAG,CAAC,UAAU,OAAO,SAAS,WAAW,WAAW,OAAO,SAA+sL,MAAMk7C,GAAGxjE,GAAEyjE,GAAGj0E,GAAG,SAASE,EAAE0D,EAAEtB,GAAG,MAAM0gC,OAAO9hC,EAAEyzD,WAAWxyD,GAAGG,EAAE,OAAO,IAAI8Q,GAAGlS,EAAElB,IAAIyT,SAAStR,GAAGiT,UAAU6D,GAAG3W,EAAE+iC,uBAAuB/iC,EAAE81B,uBAAuB,EAAE87C,GAAG,CAACl0E,EAAEE,EAAE0D,EAAEtB,KAAK,MAAM2G,OAAO/H,EAAEizE,WAAWhyE,GAAGjC,EAAED,EAAEiB,EAAEsB,EAAEinB,GAAG,IAAIrW,GAAGxP,EAAEtB,QAAG,EAAOrC,EAAEkpB,iBAAiB,OAAOlpB,EAAE+iC,OAAO7gC,GAAGK,EAAE6Q,IAAIpT,EAAE00D,YAAY10D,EAAEye,gBAAgBze,EAAEyR,IAAI,SAAQ,IAAI,CAAC,EAAG0iE,GAAG,CAACp0E,EAAEE,IAAI,SAASoC,EAAEpB,EAAEiB,EAAElC,GAAG,MAAMuC,EAAEtB,EAAE+H,OAAOxF,EAAE,IAAI2P,GAAG5Q,EAAEwgC,QAAQhjC,EAAE,EAAEA,EAAEwC,EAAEwgC,OAAOphC,QAAQ,IAAIc,EAAEe,EAAEgQ,SAASjR,EAAEmyD,YAAYv/C,UAAU5S,EAAE2mB,iBAAiBzlB,EAAExD,EAAEoC,EAAEsB,EAAEA,EAAE,GAAG1C,GAAG,CAAE,EAAC,CAACizE,WAAWn0E,IAAImC,EAAElC,GAAG2C,EAAEa,EAAEgQ,SAASjR,EAAEmyD,YAAYv/C,UAAU5S,EAAE2mB,iBAAiB1V,SAAS/Q,GAAG,OAAOF,EAAEwU,MAAMpU,EAAEsM,EAAE1M,EAAEyU,KAAKrU,EAAEiB,EAAEH,CAAC,EAAE2wE,GAAGr0E,GAAGyrC,GAAGuoC,GAAGI,GAAGp0E,EAAEk0E,KAAWI,GAAG,CAACt0E,EAAEE,EAAE0D,KAAK,MAAMs2B,KAAK53B,EAAEqyD,WAAWzzD,GAAGlB,EAAEmC,EAAEG,EAAEpC,GAAG,OAAO,IAAIkT,GAAGjR,EAAEyB,GAAG1C,EAAEgO,EAAE/M,EAAEyB,EAAE,GAAG1C,EAAE2C,GAAGuR,UAAU6D,GAAGjZ,EAAEqlC,uBAAuBrlC,EAAEo4B,uBAAsB,EAAG,SAASm8C,GAAGv0E,EAAEE,EAAE0D,GAAG,MAAM4wE,aAAalyE,EAAE6xE,WAAWjzE,GAAG+C,KAAK,OAAOqwE,GAAG1wE,EAAEtB,EAAEpB,EAAE,CAAC,SAASuzE,GAAGz0E,EAAEE,EAAEoC,EAAEpB,GAAG,MAAM+H,OAAO9G,GAAGjC,GAAGs0E,aAAav0E,EAAEk0E,WAAW3xE,GAAGyB,KAAKR,EAAE,EAAEzD,EAAEE,EAAE0D,EAAEtB,EAAEpB,KAAK,MAAMg5B,KAAK/3B,EAAEwyD,WAAW10D,GAAGD,EAAEwC,EAAEL,GAAGG,EAAE,EAAEA,EAAEH,EAAEP,QAAQ,GAAG6B,EAAE,IAAI2P,GAAG5Q,EAAEtB,GAAGsB,EAAEtB,EAAE,IAAIwB,EAAEe,EAAEgQ,SAASxT,GAAGmV,UAAUpV,EAAEmpB,iBAAiBzlB,EAAE+lB,GAAG,IAAIrW,GAAGlT,EAAE0D,QAAG,EAAO5D,EAAEmpB,iBAAiBhnB,EAAEG,GAAGpB,GAAGwC,EAAEwL,EAAEjP,EAAEiP,EAAE/M,EAAEG,GAAGpB,EAAE,GAAGwC,EAAEG,EAAE5D,EAAE4D,EAAE7D,EAAE0e,gBAAgB,MAAM9b,EAAEa,EAAEgQ,SAASzT,EAAE20D,YAAYv/C,UAAUpV,EAAEmpB,iBAAiB1V,SAAS/Q,GAAG,OAAO1C,EAAEgX,MAAMpU,EAAEsM,EAAElP,EAAEiX,KAAKrU,EAAEiB,EAAE7D,EAAE0R,IAAI,SAAQ,IAAI,CAAG,EAAnW,CAAqWvP,EAAEG,EAAEpB,EAAEjB,EAAEuC,GAAG,OAAOonB,GAAG3lB,KAAKkpC,WAAWvpC,EAAEA,EAAE,CAAE,EAAC4mB,GAAGxqB,EAAEE,EAAEoC,EAAEpB,IAAI,CAAE,EAAC,CAACszE,aAAav0E,EAAEk0E,WAAW3xE,KAAKiB,CAAC,CAAC,MAAMixE,WAAWpoC,GAAG,WAAA1rC,CAAYZ,GAAGgM,MAAMhM,EAAE,CAAC,MAAAskB,CAAOtkB,EAAEE,EAAEoC,EAAEpB,EAAEiB,GAAG,MAAMlC,EAAE2D,EAAEA,EAAE,CAAE,EAAC1C,GAAG,CAAA,EAAG,CAACgrC,YAAYjoC,KAAK0wE,YAAY1oC,kBAAkBhoC,KAAK2wE,cAAc5oC,oBAAoB/nC,KAAK0wE,cAAc3oE,MAAMsY,OAAOtkB,EAAEE,EAAEoC,EAAErC,EAAEkC,EAAE,EAAE,MAAM0yE,WAAWH,GAAG,WAAA9zE,CAAYZ,GAAGgM,MAAMhM,EAAE,CAAC,MAAAskB,CAAOtkB,EAAEE,EAAE0D,EAAEtB,EAAEpB,GAAG,MAAMg5B,KAAK/3B,GAAGjB,GAAGszE,aAAav0E,EAAEk0E,WAAW3xE,EAAEsyE,sBAAsBrxE,EAAEsxE,oBAAoBryE,GAAGuB,KAAKjE,EAAEqjB,OAAOrjB,EAAEspC,YAAYrlC,KAAK2wE,cAAc3wE,KAAK+wE,qBAAqBh1E,EAAE0pC,YAAYzlC,KAAK+wE,qBAAqB,MAAMtxE,GAAGvB,EAAElC,GAAG2C,EAAE0xE,GAAGpzE,EAAEuC,EAAEf,GAAG,GAAG,MAAMgB,EAAE,CAAC,MAAMpB,EAAEgyE,GAAGpzE,EAAEjB,EAAEuC,EAAE,GAAGxC,EAAEykB,OAAOniB,EAAE4M,EAAE5M,EAAEuB,GAAG7D,EAAE0kB,OAAOxkB,EAAE0D,EAAE,MAAM5D,EAAEykB,OAAOvkB,EAAE0D,GAAG5D,EAAE0kB,OAAO9hB,EAAEsM,EAAEtM,EAAEiB,GAAG7D,EAAEg4B,SAASh4B,EAAEujB,UAAUvX,MAAMsY,OAAOtkB,EAAEE,EAAE0D,EAAEtB,EAAEpB,EAAE,EAAE,MAAM+zE,GAAG,CAACj1E,EAAEE,EAAEoC,EAAEpB,EAAEiB,EAAElC,IAAI,IAAIqC,EAAEuyE,GAAGH,IAAI9wE,EAAEA,EAAE,CAAC4wE,aAAax0E,EAAEm0E,WAAWj0E,EAAEitC,WAAW,aAAaI,gBAAgBgnC,GAAG5nC,cAAc8nC,GAAGK,sBAAsB3yE,EAAE4yE,oBAAoB90E,GAAGiB,GAAGoB,EAAEpB,EAAEg0E,kBAAkBh0E,EAAEi0E,aAAoBh0E,OAAOyK,OAAO,CAACjF,UAAU,KAAKyuE,YAAYzpC,GAAG0pC,4BAA4B9kC,GAAG+kC,mBAAmB,SAASt1E,GAAG,IAAIE,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAE,EAAC,MAAMiC,EAAE,CAAE,EAAC,IAAItB,EAAE,IAAI,OAAOtC,EAAEk6B,KAAKr4B,UAAU7B,EAAEkB,KAAK,MAAMiB,EAAEnC,EAAE,GAAG,OAAO,MAAMmC,IAAIyB,EAAE,KAAK8I,OAAOxL,EAAE,KAAKwL,OAAOvK,IAAI8yE,GAAG/zE,EAAElB,EAAE4B,OAAO,GAAE,EAAG1B,IAAIiC,GAAG,IAAI,IAAIyB,EAAE,KAAK8I,OAAOxL,EAAE,YAAY+zE,GAAG/zE,EAAE,GAAE,EAAGhB,EAAEgB,EAAE,EAAE,CAAClB,GAAG,MAAMA,EAAE,EAAE,MAAMA,EAAE,EAAE,EAAxB,CAA2BsC,IAAIsB,EAAE,KAAK8I,OAAOxL,EAAE,YAAY+zE,GAAG/zE,EAAE,GAAE,EAAGhB,EAAEgB,EAAE,GAAG,MAAM,IAAI,IAAI0C,EAAE,KAAK8I,OAAOxL,EAAE,YAAY+zE,GAAG/zE,EAAE,GAAE,EAAGhB,EAAEgB,EAAE,GAAGoB,EAAEH,CAAE,IAAGyB,CAAC,EAAE2xE,wBAAwBlB,GAAGmB,mBAAmB,SAASx1E,GAAG,IAAIE,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAE,EAAC,MAAMW,EAAE,CAAE,EAAC,IAAI,IAAIpB,EAAE,EAAEA,GAAG,iBAAiBlB,EAAEA,EAAEA,EAAEgjC,OAAOphC,QAAQV,IAAIoB,EAAE,IAAIoK,OAAOxL,IAAI,IAAIorC,GAAG1oC,EAAE,CAACupC,WAAW6mC,GAAGzmC,gBAAgB0mC,GAAG/yE,GAAGyrC,cAAc0nC,GAAGnzE,IAAIhB,IAAI,OAAOoC,CAAC,EAAEmzE,0BAA0BxB,GAAGyB,qBAAqB7kC,GAAG8kC,6BAA6B7kC,GAAG8kC,YAAYzqD,GAAG0qD,yBAAyBzB,GAAG0B,cAAcjrD,GAAGkrD,kBAAkB7B,GAAG8B,oBAAoBpqC,GAAGqqC,oBAAoB7pC,GAAG8pC,qBAAqBtoC,GAAGuoC,qBAAqBroC,GAAGsoC,wBAAwB3nC,GAAG4nC,sBAAsBlmC,GAAGmmC,4BAA4BlmC,GAAGmmC,eAAevnC,GAAGwnC,SAASvnC,GAAGwnC,mBAAmBpmC,GAAGqmC,SAASxnC,GAAGynC,mBAAmBrmC,GAAGsmC,uBAAuBjnC,GAAGknC,aAAa9mC,GAAG+mC,aAAa9mC,GAAG+mC,kBAAkBtrC,GAAGurC,oBAAoBtrC,KAAU,MAACurC,GAAGj3E,QAAG,IAASA,EAAEsvE,MAAwX4H,GAAG,wBAAwBC,GAAG,SAASzqE,OAAOwqE,GAAG,mJAAmJE,GAAG,CAAC,QAAQC,GAAG,CAAC,QAAQC,GAAG,IAAIv+C,OAAOm+C,GAAG,KAAK,MAAMK,GAAG,QAAIh0E,GAAO,OAAOU,KAAKrD,YAAY2C,IAAI,CAAC,WAAA3C,GAAc,IAAIZ,EAAEsC,EAAEX,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAE,EAACy1E,IAAIj2E,OAAO+K,OAAOjI,KAAKA,KAAKrD,YAAY42E,SAASx3E,EAAE,CAAC,iBAAAy3E,GAAoB,OAAON,EAAE,CAAC,eAAAO,GAAkB,MAAM,kLAAkL,CAAC,aAAAC,CAAc33E,GAAG,IAAIE,EAAEyB,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAGsC,KAAKwzE,oBAAoB7zE,EAAEjC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAGsC,KAAKyzE,kBAAkB,MAAM1pE,YAAYT,YAAYjL,EAAE,UAAU0B,IAAI,UAAU1B,IAAIpC,EAAEA,EAAEk9B,QAAQk6C,GAAGJ,GAAG95C,QAAQ,QAAQ96B,KAAK,MAAMpB,EAAElB,EAAE4M,aAAa5M,EAAE43E,eAAez1E,EAAEnC,EAAE4M,aAAa5M,EAAE6M,iBAAiB5M,EAAED,EAAE23E,gBAAgB,IAAIz2E,IAAIiB,IAAIlC,EAAE,MAAM,IAAIwD,EAAE,qDAAqD,GAAGzD,EAAE8M,aAAa5L,EAAE0C,GAAG5D,EAAE+M,cAAc7L,IAAIlB,EAAEgN,mBAAmB9L,EAAElB,EAAEiN,gBAAgB,MAAM,IAAIxJ,EAAE,mCAAmCiJ,OAAOzI,KAAKV,KAAK,MAAMmJ,OAAO1M,EAAE63E,iBAAiB32E,KAAK,GAAGlB,EAAE8M,aAAa3K,EAAEjC,GAAGF,EAAE+M,cAAc5K,IAAInC,EAAEgN,mBAAmB7K,EAAEnC,EAAEiN,gBAAgB,MAAM,IAAIxJ,EAAE,qCAAqCiJ,OAAOzI,KAAKV,KAAK,MAAMmJ,OAAO1M,EAAE63E,iBAAiB11E,KAAK,GAAGnC,EAAE83E,aAAa73E,EAAEiB,GAAGlB,EAAE83E,aAAa73E,EAAEkC,GAAGnC,EAAE+3E,YAAY93E,IAAID,EAAEg4E,oBAAoB/3E,EAAED,EAAEi4E,aAAa,MAAM,IAAIx0E,EAAE,0BAA0BiJ,OAAOzI,KAAKV,KAAK,MAAMmJ,OAAO1M,EAAEk4E,kBAAkBj4E,KAAK,MAAMuC,EAAEyB,KAAKk0E,oBAAoBn4E,EAAEC,IAAI,CAAA,EAAG,OAAOuC,EAAE41E,OAAOp4E,EAAEq4E,mBAAmBp4E,EAAE,UAAUuC,EAAE81E,OAAOt4E,EAAEq4E,mBAAmBp4E,EAAE,UAAU,CAACs4E,QAAQt4E,EAAEu4E,mBAAmBv0E,KAAKw0E,sBAAsBz4E,EAAEC,GAAGy4E,iBAAiBl2E,EAAE,CAAC,qBAAAi2E,CAAsBz4E,EAAEE,GAAG,MAAM,CAACqvE,UAAUvvE,EAAE24E,kBAAkBz4E,EAAE,aAAa,CAAC,mBAAAi4E,CAAoBn4E,EAAEE,GAAG,MAAM0D,EAAEK,KAAKrD,YAAY83E,iBAAiBp2E,EAAE,CAAA,EAAG,IAAI,IAAIpB,EAAE,EAAEA,EAAE0C,EAAEhC,OAAOV,IAAIoB,EAAEsB,EAAE1C,IAAIlB,EAAEq4E,mBAAmBn4E,EAAE0D,EAAE1C,IAAI,OAAOoB,CAAC,CAAC,iBAAAs2E,CAAkB54E,EAAEE,EAAE0D,GAAG,MAAMtB,EAAEpC,EAAEqvE,UAAUruE,EAAElB,EAAE64E,eAAe74E,EAAE84E,WAAW94E,EAAE+4E,aAAa73E,GAAGlB,EAAEg5E,wBAAwB12E,GAAGtC,EAAEi5E,oBAAoB32E,EAAE,EAAEtC,EAAEk5E,OAAM,EAAG,EAAE,GAAGl5E,EAAEm5E,WAAWn5E,EAAE+4E,aAAan1E,EAAE5D,EAAEo5E,YAAY,CAAC,iBAAAC,CAAkBr5E,GAAG,MAAME,EAAEF,EAAE+8C,QAAQ,GAAG/8C,EAAEqvE,OAAO,EAAE,CAAC,MAAMzrE,EAAE5D,EAAE+uE,iBAAiBzsE,EAAEtC,EAAEgvE,kBAAkBhvE,EAAEstE,cAAc1pE,GAAG5D,EAAEutE,eAAejrE,IAAIpC,EAAE+vE,cAAcjwE,EAAEmvE,eAAenvE,EAAEmvE,cAAcnvE,EAAE4tE,cAAcsB,cAAchvE,EAAE0D,EAAEtB,IAAIpC,EAAEo5E,qBAAqBp5E,EAAE2vE,YAAY3vE,EAAEq5E,kBAAkBr5E,EAAE8vE,WAAWhwE,EAAEmvE,cAAc,EAAE,MAAMjvE,EAAE0vE,gBAAgB1vE,EAAE2vE,YAAY,MAAM3vE,EAAEsH,QAAQ,CAAC,aAAAgyE,CAAcx5E,GAAGA,EAAEqvE,SAASrvE,EAAEyvE,OAAO,MAAMvvE,EAAEF,EAAEmvE,cAAcnvE,EAAEmvE,cAAcnvE,EAAEivE,cAAcjvE,EAAEivE,cAAc/uE,CAAC,CAAC,cAAAwzE,CAAe1zE,GAAG,OAAM,CAAE,CAAC,OAAA6tE,CAAQ7tE,GAAGi3E,GAAGj3E,IAAIiE,KAAKo1E,kBAAkBr5E,GAAGiE,KAAKw1E,aAAaz5E,GAAGiE,KAAKu1E,cAAcx5E,IAAIiE,KAAKy1E,UAAU15E,EAAE,CAAC,SAAA05E,CAAU15E,GAAE,CAAE,WAAA25E,GAAc,OAAO11E,KAAKV,IAAI,CAAC,cAAAq2E,CAAe55E,GAAG,MAAME,EAAE+D,KAAK01E,cAAc,OAAO35E,EAAEwvE,aAAatvE,KAAKF,EAAEwvE,aAAatvE,GAAG+D,KAAK0zE,cAAc33E,EAAE+8C,UAAU/8C,EAAEwvE,aAAatvE,EAAE,CAAC,YAAAu5E,CAAaz5E,GAAG,MAAME,EAAEF,EAAE+8C,QAAQn5C,EAAEK,KAAK21E,eAAe55E,GAAG,IAAIA,EAAEyvE,MAAMzvE,EAAEovE,gBAAgBlvE,EAAE6vE,YAAY7vE,EAAE8vE,WAAWhwE,EAAEovE,iBAAiBlvE,EAAE6vE,YAAY7vE,EAAE8vE,WAAWhwE,EAAEivE,eAAe/uE,EAAE25E,WAAWj2E,EAAE20E,SAASt0E,KAAK20E,kBAAkB14E,EAAE0D,EAAE40E,mBAAmBx4E,EAAEuvE,WAAWrvE,EAAE45E,UAAUl2E,EAAE80E,iBAAiBN,OAAO,EAAEp4E,EAAEstE,aAAaptE,EAAE45E,UAAUl2E,EAAE80E,iBAAiBJ,OAAO,EAAEt4E,EAAEutE,cAActpE,KAAK81E,gBAAgB75E,EAAE0D,EAAE80E,kBAAkBx4E,EAAE85E,SAAS,EAAE,EAAEh6E,EAAE+uE,iBAAiB/uE,EAAEgvE,mBAAmB9uE,EAAE+5E,WAAW/5E,EAAEg6E,eAAe,EAAE,EAAE,CAAC,qBAAAC,CAAsBn6E,EAAEE,EAAE0D,GAAG5D,EAAEo6E,cAAcx2E,GAAG5D,EAAE+vE,YAAY/vE,EAAEgwE,WAAW9vE,GAAGF,EAAEo6E,cAAcp6E,EAAEq6E,SAAS,CAAC,uBAAAC,CAAwBt6E,EAAEE,GAAGF,EAAEo6E,cAAcl6E,GAAGF,EAAE+vE,YAAY/vE,EAAEgwE,WAAW,MAAMhwE,EAAEo6E,cAAcp6E,EAAEq6E,SAAS,CAAC,eAAAN,CAAgB/5E,EAAEE,IAAI,eAAAq6E,CAAgBv6E,GAAG,IAAIA,EAAEw6E,UAAU,CAAC,MAAMlN,YAAYptE,EAAEqtE,aAAa3pE,GAAG5D,EAAEsC,EAAEgW,GAAG,CAACpB,MAAMhX,EAAEiX,OAAOvT,IAAI5D,EAAEw6E,UAAUl4E,CAAC,CAAC,CAAC,QAAA+Z,GAAW,MAAMrc,EAAEmB,OAAOC,KAAK6C,KAAKrD,YAAY42E,UAAU,CAAA,GAAI,OAAO5zE,EAAE,CAACL,KAAKU,KAAKV,MAAMvD,EAAEwM,QAAQ,CAACxM,EAAEE,KAAKF,EAAEE,GAAG+D,KAAK/D,GAAGF,IAAI,CAAA,GAAI,CAAC,MAAA8lB,GAAS,OAAO7hB,KAAKoY,UAAU,CAAC,uBAAad,CAAWvb,EAAEE,GAAG,OAAO,IAAI+D,KAAK3B,EAAEtC,EAAEq3E,IAAI,EAAEr3E,EAAEu3E,GAAG,OAAO,cAAcv3E,EAAEu3E,GAAG,mBAAmB,IAAI,MAAMkD,GAAG,CAAC5mE,SAAS,oCAAoC6mE,OAAO,4EAA4ErnE,IAAI,oCAAoCsnE,WAAW,2DAA2DlnE,SAAS,oCAAoCmnE,QAAQ,0DAA0DC,OAAO,0DAA0DC,UAAU,4EAA4Ez0D,QAAQ,igBAAigB00D,KAAK,0FAA0F,MAAMC,WAAWzD,GAAG,WAAAoC,GAAc,MAAM,GAAGjtE,OAAOzI,KAAKV,KAAK,KAAKmJ,OAAOzI,KAAKg3E,KAAK,CAAC,iBAAAxD,GAAoB,MAAM,mRAAmR/qE,OAAO+tE,GAAGx2E,KAAKg3E,MAAM,+BAA+B,CAAC,SAAAvB,CAAU15E,GAAG,IAAIwtE,WAAW94B,KAAKx0C,IAAIF,EAAE,MAAM4D,EAAE,IAAIoxB,GAAG/wB,KAAKk5B,OAAO3H,YAAYlzB,EAAE2B,KAAK0xC,MAAMz0C,EAAE0C,EAAE,GAAGtB,EAAEH,EAAEyB,EAAE,GAAGtB,EAAErC,EAAE2D,EAAE,GAAGtB,EAAEE,EAAE,EAAEF,EAAE,IAAI,IAAItC,EAAE,EAAEA,EAAEE,EAAE0B,OAAO5B,GAAG,EAAE,CAAC,MAAM4D,EAAE1D,EAAEF,GAAGsC,EAAEpC,EAAEF,EAAE,GAAGyD,EAAEvD,EAAEF,EAAE,GAAG,IAAI0C,EAAEgB,EAAEd,EAAE,OAAOqB,KAAKg3E,MAAM,IAAI,WAAWv4E,EAAEkB,EAAE1C,EAAE,IAAIwC,EAAEpB,EAAEH,EAAE,IAAIS,EAAEa,EAAExD,EAAE,IAAI,MAAM,IAAI,SAASyC,EAAE,KAAK,IAAIkB,IAAI,IAAI1C,GAAG,IAAIwC,EAAE,KAAK,IAAIpB,IAAI,IAAIH,GAAG,IAAIS,EAAE,KAAK,IAAIa,IAAI,IAAIxD,GAAG,IAAI,MAAM,IAAI,MAAMyC,EAAEkB,EAAE1C,EAAEwC,EAAEpB,EAAEH,EAAES,EAAEa,EAAExD,EAAE,MAAM,IAAI,aAAayC,EAAE0L,KAAK2E,IAAInP,EAAE1C,GAAGwC,EAAE0K,KAAK2E,IAAIzQ,EAAEH,GAAGS,EAAEwL,KAAK2E,IAAItP,EAAExD,GAAG,MAAM,IAAI,WAAWyC,EAAEkB,EAAE1C,EAAEwC,EAAEpB,EAAEH,EAAES,EAAEa,EAAExD,EAAE,MAAM,IAAI,SAASyC,EAAE0L,KAAKqG,IAAI7Q,EAAE1C,GAAGwC,EAAE0K,KAAKqG,IAAInS,EAAEH,GAAGS,EAAEwL,KAAKqG,IAAIhR,EAAExD,GAAG,MAAM,IAAI,UAAUyC,EAAE0L,KAAKC,IAAIzK,EAAE1C,GAAGwC,EAAE0K,KAAKC,IAAI/L,EAAEH,GAAGS,EAAEwL,KAAKC,IAAI5K,EAAExD,GAAG,MAAM,IAAI,UAAUyC,EAAExB,EAAE,IAAI,EAAE0C,EAAE1C,EAAE,IAAI,IAAI,GAAG,IAAI0C,IAAI,IAAI1C,GAAG,IAAIwC,EAAEvB,EAAE,IAAI,EAAEG,EAAEH,EAAE,IAAI,IAAI,GAAG,IAAIG,IAAI,IAAIH,GAAG,IAAIS,EAAE3C,EAAE,IAAI,EAAEwD,EAAExD,EAAE,IAAI,IAAI,GAAG,IAAIwD,IAAI,IAAIxD,GAAG,IAAI,MAAM,IAAI,YAAYyC,EAAExB,EAAE0C,EAAE,EAAE1C,EAAE0C,EAAE,IAAIF,EAAEvB,EAAEG,EAAE,EAAEH,EAAEG,EAAE,IAAIM,EAAE3C,EAAEwD,EAAE,EAAExD,EAAEwD,EAAE,IAAI,MAAM,IAAI,OAAOf,EAAExB,EAAE0C,EAAEpB,EAAEkB,EAAEvB,EAAEG,EAAEE,EAAEI,EAAE3C,EAAEwD,EAAEjB,EAAEtC,EAAEF,GAAG0C,EAAExC,EAAEF,EAAE,GAAG0D,EAAExD,EAAEF,EAAE,GAAG4C,CAAC,CAAC,CAAC,eAAAm3E,CAAgB/5E,EAAEE,GAAG,MAAM0D,EAAE,IAAIoxB,GAAG/wB,KAAKk5B,OAAO3H,YAAY5xB,EAAE,GAAGK,KAAK0xC,MAAM/xC,EAAE,GAAG,IAAIA,EAAE,GAAGK,KAAK0xC,MAAM/xC,EAAE,GAAG,IAAIA,EAAE,GAAGK,KAAK0xC,MAAM/xC,EAAE,GAAG,IAAIA,EAAE,GAAGK,KAAK0xC,MAAM31C,EAAEk7E,WAAWh7E,EAAEi7E,OAAOv3E,EAAE,EAAE5D,EAAEg7E,GAAG,WAAW,CAAC79C,MAAM,UAAU89C,KAAK,WAAWtlC,MAAM,IAAI31C,EAAEg7E,GAAG,OAAO,cAAch7E,EAAEg7E,GAAG,mBAAmB,CAAC,WAAW3pE,GAAGI,SAASupE,IAAI,MAAMI,GAAG,CAACvnE,SAAS,2XAA2XwnE,KAAK,qXAAqXC,GAAG,CAAC,OAAO,SAAS,MAAMC,WAAWhE,GAAG,WAAAoC,GAAc,MAAM,GAAGjtE,OAAOzI,KAAKV,KAAK,KAAKmJ,OAAOzI,KAAKg3E,KAAK,CAAC,iBAAAxD,GAAoB,OAAO2D,GAAGn3E,KAAKg3E,KAAK,CAAC,eAAAvD,GAAkB,MAAM,4TAA4T,CAAC,YAAA+B,CAAaz5E,GAAG,MAAME,EAAEF,EAAE+8C,QAAQn5C,EAAEK,KAAKirE,cAAclvE,EAAE4tE,cAAc3pE,KAAKu3E,OAAOv3E,KAAKk2E,sBAAsBj6E,EAAE0D,EAAE1D,EAAEu7E,UAAUzvE,MAAMytE,aAAaz5E,GAAGiE,KAAKq2E,wBAAwBp6E,EAAEA,EAAEu7E,SAAS,CAAC,aAAAvM,CAAclvE,EAAEE,GAAG,OAAOF,EAAE4uE,iBAAiB1uE,EAAEiyE,SAASjyE,EAAE6hB,aAAa,CAAC,eAAA25D,GAAkB,MAAM17E,EAAEiE,KAAKu3E,OAAOtkE,MAAMhX,EAAEiX,OAAOvT,GAAG5D,EAAE+hB,aAAa,MAAM,CAAC,EAAE/hB,EAAEyZ,OAAO,EAAE,EAAE,EAAE,EAAEzZ,EAAE0Z,OAAO,GAAG1Z,EAAEgX,KAAK9W,GAAGF,EAAEiX,IAAIrT,EAAE,EAAE,CAAC,SAAA81E,CAAU15E,GAAG,IAAIwtE,WAAW94B,KAAKx0C,EAAEgX,MAAMtT,EAAEuT,OAAO7U,GAAGsrE,eAAe+N,UAAUz6E,IAAIlB,EAAE,MAAMmC,EAAE8B,KAAKu3E,MAAMt6E,EAAE06E,aAAa16E,EAAE06E,WAAWzjE,MAAM,MAAMlY,EAAEiB,EAAE06E,WAAWp5E,EAAEvC,EAAEkN,WAAW,MAAMlN,EAAEiX,QAAQtT,GAAG3D,EAAEkX,SAAS7U,GAAGrC,EAAEiX,MAAMtT,EAAE3D,EAAEkX,OAAO7U,GAAGE,EAAEyf,UAAU,EAAE,EAAEre,EAAEtB,GAAGE,EAAEqkC,aAAa1kC,EAAEsX,OAAO,EAAE,EAAEtX,EAAEuX,OAAOvX,EAAE6U,KAAK7U,EAAE8U,KAAKzU,EAAE0hB,UAAU/hB,EAAE4f,aAAa,EAAE,EAAEne,EAAEtB,GAAG,MAAMmB,EAAEjB,EAAEmyC,aAAa,EAAE,EAAE/wC,EAAEtB,GAAGoyC,KAAK,IAAI,IAAI10C,EAAE,EAAEA,EAAEE,EAAE0B,OAAO5B,GAAG,EAAE,CAAC,MAAM4D,EAAE1D,EAAEF,GAAGsC,EAAEpC,EAAEF,EAAE,GAAGkB,EAAEhB,EAAEF,EAAE,GAAGmC,EAAEjC,EAAEF,EAAE,GAAGC,EAAEwD,EAAEzD,GAAGwC,EAAEiB,EAAEzD,EAAE,GAAG0C,EAAEe,EAAEzD,EAAE,GAAG0D,EAAED,EAAEzD,EAAE,GAAG,OAAOiE,KAAKg3E,MAAM,IAAI,WAAW/6E,EAAEF,GAAG4D,EAAE3D,EAAE,IAAIC,EAAEF,EAAE,GAAGsC,EAAEE,EAAE,IAAItC,EAAEF,EAAE,GAAGkB,EAAEwB,EAAE,IAAIxC,EAAEF,EAAE,GAAGmC,EAAEuB,EAAE,IAAI,MAAM,IAAI,OAAOxD,EAAEF,EAAE,GAAG0D,EAAE,CAAC,CAAC,eAAAq2E,CAAgB/5E,EAAEE,GAAG,MAAM0D,EAAEK,KAAKy3E,kBAAkB17E,EAAE67E,UAAU37E,EAAE47E,OAAO,GAAG97E,EAAE+7E,iBAAiB77E,EAAE87E,kBAAiB,EAAGp4E,EAAE,CAAC,QAAAyY,GAAW,OAAOzY,EAAEA,EAAE,CAAE,EAACoI,MAAMqQ,YAAY,CAAA,EAAG,CAACm/D,MAAMv3E,KAAKu3E,OAAOv3E,KAAKu3E,MAAMn/D,YAAY,CAAC,uBAAad,CAAWvb,EAAEE,GAAG,IAAIqD,KAAKrC,EAAEs6E,MAAMr5E,GAAGnC,EAAEC,EAAEqC,EAAEtC,EAAEs7E,IAAI,OAAOrJ,GAAG12D,WAAWpZ,EAAEjC,GAAG2E,MAAM7E,GAAG,IAAIiE,KAAKL,EAAEA,EAAE,CAAA,EAAG3D,GAAG,CAAA,EAAG,CAACu7E,MAAMx7E,MAAM,EAAEA,EAAEu7E,GAAG,OAAO,cAAcv7E,EAAEu7E,GAAG,WAAW,CAACN,KAAK,WAAWtlC,MAAM,IAAI31C,EAAEu7E,GAAG,mBAAmB,CAAC,mBAAmB,WAAWlqE,GAAGI,SAAS8pE,IAAI,MAAMU,WAAW1E,GAAG,iBAAAE,GAAoB,MAAM,qgCAAqgC,CAAC,OAAA5J,CAAQ7tE,GAAGi3E,GAAGj3E,IAAIiE,KAAKi4E,YAAYl8E,EAAEstE,YAAYttE,EAAEutE,aAAavtE,EAAEqvE,SAASprE,KAAKo1E,kBAAkBr5E,GAAGiE,KAAKk4E,YAAW,EAAGl4E,KAAKw1E,aAAaz5E,GAAGiE,KAAKu1E,cAAcx5E,GAAGiE,KAAKo1E,kBAAkBr5E,GAAGiE,KAAKk4E,YAAW,EAAGl4E,KAAKw1E,aAAaz5E,GAAGiE,KAAKu1E,cAAcx5E,IAAIiE,KAAKy1E,UAAU15E,EAAE,CAAC,SAAA05E,CAAU15E,GAAG,IAAIwtE,WAAW94B,KAAKx0C,EAAEgX,MAAMtT,EAAEuT,OAAO7U,IAAItC,EAAEiE,KAAKi4E,YAAYt4E,EAAEtB,EAAE2B,KAAKk4E,YAAW,EAAG,IAAIj7E,EAAE+C,KAAKm4E,eAAex4E,EAAE,MAAMzB,EAAE,IAAIgvE,kBAAkBjxE,GAAQsC,EAAE,EAAEoB,EAAE,IAAI,IAAI5D,EAAE,EAAEA,EAAEE,EAAE0B,OAAO5B,GAAG,EAAE,CAAC,IAAI4D,EAAE,EAAEtB,EAAE,EAAEmB,EAAE,EAAEf,EAAE,EAAEgB,EAAE,EAAE,MAAMd,EAAE5C,EAAEA,EAAEwC,EAAE0B,EAAEtB,EAAEJ,EAAE,IAAI,IAAIL,GAAG,GAAGA,EAAhG,GAAoGA,IAAI,CAAC,MAAMK,EAAEL,EAAjH,GAAqHmC,EAAE,EAAE8J,KAAKa,MAAM/N,EAAEsB,GAAGmB,EAAE,EAAEyK,KAAK2E,IAAIvQ,GAAG,IAAIwB,EAAEhE,EAAEsE,EAAEN,EAAEpB,EAAEoB,EAAEpB,EAAEoB,EAAEE,IAAIF,EAAEE,GAAG,MAAMiK,EAAEjO,EAAE8D,EAAE,GAAGL,EAAEC,GAAG1D,EAAE8D,GAAGmK,EAAE7L,GAAGpC,EAAE8D,EAAE,GAAGmK,EAAE1K,GAAGvD,EAAE8D,EAAE,GAAGmK,EAAEzL,GAAGyL,EAAEzK,GAAGC,CAAC,CAACxB,EAAEnC,GAAG4D,EAAElB,EAAEP,EAAEnC,EAAE,GAAGsC,EAAEI,EAAEP,EAAEnC,EAAE,GAAGyD,EAAEf,EAAEP,EAAEnC,EAAE,GAAG0C,EAAEgB,CAAC,CAACO,KAAKk4E,YAAW,EAAGj7E,EAAE+C,KAAKm4E,eAAe95E,EAAE,IAAI,IAAItC,EAAE,EAAEA,EAAEmC,EAAEP,OAAO5B,GAAG,EAAE,CAAC,IAAI4D,EAAE,EAAEtB,EAAE,EAAEmB,EAAE,EAAEf,EAAE,EAAEgB,EAAE,EAAE,MAAMd,EAAE5C,EAAEwC,EAAE0B,EAAE/B,EAAEP,OAAOY,EAAEI,EAAE,IAAI,IAAI1C,GAAG,GAAGA,EAAta,GAA0aA,IAAI,CAAC,MAAMoE,EAAEpE,EAAvb,GAA2byD,EAAEyK,KAAKa,MAAM/N,EAAEoD,GAAG9B,EAAEwB,EAAE,EAAEoK,KAAK2E,IAAIzO,GAAG,IAAI6J,EAAEnO,EAAE2D,EAAEwK,EAAEvL,EAAEuL,EAAEvL,EAAEuL,EAAEjK,IAAIiK,EAAEjK,GAAG,MAAME,EAAEjC,EAAEgM,EAAE,GAAGnK,EAAEJ,GAAGzB,EAAEgM,GAAG/J,EAAE9B,GAAGH,EAAEgM,EAAE,GAAG/J,EAAEX,GAAGtB,EAAEgM,EAAE,GAAG/J,EAAE1B,GAAG0B,EAAEV,GAAGM,CAAC,CAAC9D,EAAEF,GAAG4D,EAAElB,EAAExC,EAAEF,EAAE,GAAGsC,EAAEI,EAAExC,EAAEF,EAAE,GAAGyD,EAAEf,EAAExC,EAAEF,EAAE,GAAG0C,EAAEgB,CAAC,CAAC,CAAC,eAAAq2E,CAAgB/5E,EAAEE,GAAG,MAAM0D,EAAEK,KAAKo4E,mBAAmBr8E,EAAEs8E,WAAWp8E,EAAEq8E,OAAO34E,EAAE,CAAC,cAAA8vE,GAAiB,OAAO,IAAIzvE,KAAKo5B,IAAI,CAAC,YAAA++C,GAAe,IAAIp8E,EAAE,EAAE,MAAMm8E,WAAWj8E,EAAEg8E,YAAYt4E,GAAGK,KAAK,OAAO/D,EAAE0D,EAAE,IAAI5D,EAAE,EAAE4D,GAAGA,EAAE,IAAI5D,EAAE4D,GAAG5D,EAAEiE,KAAKo5B,KAAK,GAAG,CAAC,gBAAAg/C,GAAmB,MAAMr8E,EAAEiE,KAAKm4E,eAAe,OAAOn4E,KAAKk4E,WAAW,CAACn8E,EAAE,GAAG,CAAC,EAAEA,EAAE,EAAEA,EAAEi8E,GAAG,OAAO,QAAQj8E,EAAEi8E,GAAG,WAAW,CAAC5+C,KAAK,IAAIr9B,EAAEi8E,GAAG,mBAAmB,CAAC,WAAW5qE,GAAGI,SAASwqE,IAAI,MAAMO,WAAWjF,GAAG,iBAAAE,GAAoB,MAAM,wPAAwP,CAAC,SAAAiC,CAAU15E,GAAG,IAAIwtE,WAAW94B,KAAKx0C,IAAIF,EAAE,MAAM4D,EAAEwK,KAAKwc,MAAM,IAAI3mB,KAAKw4E,YAAY,IAAI,IAAIz8E,EAAE,EAAEA,EAAEE,EAAE0B,OAAO5B,GAAG,EAAEE,EAAEF,IAAI4D,EAAE1D,EAAEF,EAAE,IAAI4D,EAAE1D,EAAEF,EAAE,IAAI4D,CAAC,CAAC,cAAA8vE,GAAiB,OAAO,IAAIzvE,KAAKw4E,UAAU,CAAC,eAAA1C,CAAgB/5E,EAAEE,GAAGF,EAAE85E,UAAU55E,EAAEw8E,YAAYz4E,KAAKw4E,WAAW,EAAEz8E,EAAEw8E,GAAG,OAAO,cAAcx8E,EAAEw8E,GAAG,WAAW,CAACC,WAAW,IAAIz8E,EAAEw8E,GAAG,mBAAmB,CAAC,gBAAgBnrE,GAAGI,SAAS+qE,IAAI,MAAMG,GAAG,CAACC,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAGC,YAAW,GAAI,MAAMC,WAAWvF,GAAG,iBAAAE,GAAoB,MAAM,ySAAyS,CAAC,SAAAiC,CAAU15E,GAAG,MAAME,EAAEF,EAAEwtE,UAAU94B,KAAK9wC,EAAEK,KAAK24E,OAAOt6E,EAAE2B,KAAK44E,WAAW,IAAI,IAAI78E,EAAE,EAAEA,EAAEE,EAAE0B,OAAO5B,GAAG,EAAE,CAAC,MAAMkB,EAAEhB,EAAEF,GAAGmC,EAAEjC,EAAEF,EAAE,GAAGC,EAAEC,EAAEF,EAAE,GAAG,GAAGE,EAAEF,GAAGkB,EAAE0C,EAAE,GAAGzB,EAAEyB,EAAE,GAAG3D,EAAE2D,EAAE,GAAG,IAAIA,EAAE,GAAG1D,EAAEF,EAAE,GAAGkB,EAAE0C,EAAE,GAAGzB,EAAEyB,EAAE,GAAG3D,EAAE2D,EAAE,GAAG,IAAIA,EAAE,GAAG1D,EAAEF,EAAE,GAAGkB,EAAE0C,EAAE,IAAIzB,EAAEyB,EAAE,IAAI3D,EAAE2D,EAAE,IAAI,IAAIA,EAAE,KAAKtB,EAAE,CAAC,MAAMA,EAAEpC,EAAEF,EAAE,GAAGE,EAAEF,IAAIsC,EAAEsB,EAAE,GAAG1D,EAAEF,EAAE,IAAIsC,EAAEsB,EAAE,GAAG1D,EAAEF,EAAE,IAAIsC,EAAEsB,EAAE,IAAI1D,EAAEF,EAAE,GAAGkB,EAAE0C,EAAE,IAAIzB,EAAEyB,EAAE,IAAI3D,EAAE2D,EAAE,IAAItB,EAAEsB,EAAE,IAAI,IAAIA,EAAE,GAAG,CAAC,CAAC,CAAC,eAAAm2E,CAAgB/5E,EAAEE,GAAG,MAAM0D,EAAEK,KAAK24E,OAAOt6E,EAAE,CAACsB,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,KAAK1C,EAAE,CAAC0C,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAIA,EAAE,KAAK5D,EAAE+8E,iBAAiB78E,EAAE88E,cAAa,EAAG16E,GAAGtC,EAAEk7E,WAAWh7E,EAAE+8E,WAAW/7E,EAAE,CAAC,QAAAmb,GAAW,OAAOzY,EAAEA,EAAE,CAAE,EAACoI,MAAMqQ,YAAY,CAAA,EAAG,CAACugE,OAAO,IAAI34E,KAAK24E,SAAS,EAAE,SAASM,GAAGh9E,EAAE0D,GAAG,IAAItB,EAAE,MAAMpB,GAAGlB,EAAEsC,EAAE,cAAcw6E,GAAG,QAAAzgE,GAAW,MAAM,CAAC9Y,KAAKU,KAAKV,KAAKs5E,WAAW54E,KAAK44E,WAAW,GAAG,OAAO38E,GAAGF,EAAEsC,EAAE,WAAW,CAACu6E,YAAW,EAAGD,OAAOh5E,IAAItB,GAAG,OAAO+O,GAAGI,SAASvQ,EAAEhB,GAAGgB,CAAC,CAAClB,EAAE88E,GAAG,OAAO,eAAe98E,EAAE88E,GAAG,WAAWH,IAAI38E,EAAE88E,GAAG,mBAAmB,CAAC,eAAe,eAAezrE,GAAGI,SAASqrE,IAAI,MAAMK,GAAGD,GAAG,UAAU,CAAC,MAAM,QAAQ,OAAO,EAAE,MAAM,MAAM,OAAO,OAAO,GAAG,MAAM,QAAQ,OAAO,OAAO,GAAG,OAAO,EAAE,EAAE,EAAE,EAAE,IAAIE,GAAGF,GAAG,UAAU,CAAC,OAAO,QAAQ,OAAO,EAAE,OAAO,OAAO,OAAO,OAAO,EAAE,OAAO,OAAO,OAAO,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,IAAIG,GAAGH,GAAG,aAAa,CAAC,SAAS,QAAQ,OAAO,EAAE,QAAQ,OAAO,SAAS,OAAO,EAAE,QAAQ,QAAQ,OAAO,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,IAAII,GAAGJ,GAAG,cAAc,CAAC,SAAS,QAAQ,OAAO,EAAE,QAAQ,OAAO,SAAS,OAAO,GAAG,QAAQ,OAAO,OAAO,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,IAAIK,GAAGL,GAAG,WAAW,CAAC,OAAO,MAAM,KAAK,EAAE,GAAG,KAAK,OAAO,KAAK,EAAE,GAAG,MAAM,KAAK,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAIM,GAAGN,GAAG,QAAQ,CAAC,KAAK,KAAK,KAAK,EAAE,EAAE,KAAK,KAAK,KAAK,EAAE,EAAE,KAAK,KAAK,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAIO,GAAGP,GAAG,aAAa,CAAC,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,MAAMQ,WAAWnG,GAAG,WAAA32E,GAAc,IAAIZ,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAGqK,MAAMhM,GAAGiE,KAAK05E,WAAW39E,EAAE29E,YAAY,EAAE,CAAC,OAAA9P,CAAQ7tE,GAAGi3E,GAAGj3E,KAAKA,EAAEqvE,QAAQprE,KAAK05E,WAAW/7E,OAAO,GAAGqC,KAAK05E,WAAW97E,SAAS3B,IAAIA,EAAE2tE,QAAQ7tE,EAAG,GAAE,CAAC,QAAAqc,GAAW,MAAM,CAAC9Y,KAAKU,KAAKV,KAAKo6E,WAAW15E,KAAK05E,WAAWriE,KAAKtb,GAAGA,EAAEqc,aAAa,CAAC,cAAAq3D,GAAiB,OAAOzvE,KAAK05E,WAAWvnE,MAAMpW,IAAIA,EAAE0zE,kBAAkB,CAAC,iBAAOn4D,CAAWvb,EAAEE,GAAG,OAAO4G,QAAQuU,KAAKrb,EAAE29E,YAAY,IAAIriE,KAAKtb,GAAGqR,GAAGG,SAASxR,EAAEuD,MAAMgY,WAAWvb,EAAEE,MAAM2E,MAAM7E,GAAG,IAAIiE,KAAK,CAAC05E,WAAW39E,KAAK,EAAEA,EAAE09E,GAAG,OAAO,YAAYrsE,GAAGI,SAASisE,IAAI,MAAME,WAAWrG,GAAG,iBAAAE,GAAoB,MAAM,2VAA2V,CAAC,cAAA/D,GAAiB,OAAO,IAAIzvE,KAAK45E,QAAQ,CAAC,SAAAnE,CAAU15E,GAAG,IAAIwtE,WAAW94B,KAAKx0C,IAAIF,EAAE,MAAM4D,EAAEwK,KAAKa,MAAM,IAAIhL,KAAK45E,UAAUv7E,EAAE,KAAKsB,EAAE,MAAM,KAAK,IAAIA,IAAI,IAAI,IAAI5D,EAAE,EAAEA,EAAEE,EAAE0B,OAAO5B,GAAG,EAAEE,EAAEF,GAAGsC,GAAGpC,EAAEF,GAAG,KAAK,IAAIE,EAAEF,EAAE,GAAGsC,GAAGpC,EAAEF,EAAE,GAAG,KAAK,IAAIE,EAAEF,EAAE,GAAGsC,GAAGpC,EAAEF,EAAE,GAAG,KAAK,GAAG,CAAC,eAAA+5E,CAAgB/5E,EAAEE,GAAGF,EAAE85E,UAAU55E,EAAE49E,UAAU75E,KAAK45E,SAAS,EAAE79E,EAAE49E,GAAG,OAAO,YAAY59E,EAAE49E,GAAG,WAAW,CAACC,SAAS,IAAI79E,EAAE49E,GAAG,mBAAmB,CAAC,cAAcvsE,GAAGI,SAASmsE,IAAI,MAAMG,GAAG,CAACC,cAAc,yiBAAyiBC,cAAc,2oBAA2oBC,cAAc,8iBAA8iBC,cAAc,4oBAA4oBC,cAAc,8iBAA8iBC,cAAc,4oBAA4oBC,cAAc,8iBAA8iBC,cAAc,6oBAA6oB,MAAMC,WAAWjH,GAAG,WAAAoC,GAAc,MAAM,GAAGjtE,OAAOzI,KAAKV,KAAK,KAAKmJ,OAAO0B,KAAKY,KAAK/K,KAAK24E,OAAOh7E,QAAQ,KAAK8K,OAAOzI,KAAKw6E,OAAO,EAAE,EAAE,CAAC,iBAAAhH,GAAoB,OAAOsG,GAAG95E,KAAK01E,cAAc,CAAC,SAAAD,CAAU15E,GAAG,MAAME,EAAEF,EAAEwtE,UAAU5pE,EAAE1D,EAAEw0C,KAAKpyC,EAAE2B,KAAK24E,OAAO17E,EAAEkN,KAAKwc,MAAMxc,KAAKY,KAAK1M,EAAEV,SAASO,EAAEiM,KAAKa,MAAM/N,EAAE,GAAGjB,EAAEC,EAAEgX,MAAM1U,EAAEtC,EAAEiX,OAAO1T,EAAEzD,EAAEke,IAAIwgE,gBAAgBz+E,EAAEuC,GAAGE,EAAEe,EAAEixC,KAAKhxC,EAAEO,KAAKw6E,OAAO,EAAE,EAAE,IAAI77E,EAAEsB,EAAEI,EAAEX,EAAEK,EAAEmK,EAAE/J,EAAEP,EAAEyK,EAAEY,EAAEC,EAAEC,EAAEE,EAAE,IAAIH,EAAE,EAAEA,EAAE3M,EAAE2M,IAAI,IAAID,EAAE,EAAEA,EAAEjP,EAAEiP,IAAI,CAAC,IAAIlL,EAAE,GAAGmL,EAAElP,EAAEiP,GAAGtM,EAAE,EAAEsB,EAAE,EAAEI,EAAE,EAAEX,EAAE,EAAE2L,EAAE,EAAEA,EAAEpO,EAAEoO,IAAI,IAAIF,EAAE,EAAEA,EAAElO,EAAEkO,IAAIhL,EAAE+K,EAAEG,EAAEnN,EAAEgM,EAAEe,EAAEE,EAAEjN,EAAEiC,EAAE,GAAGA,GAAG5B,GAAG2L,EAAE,GAAGA,GAAGlO,IAAI4D,EAAE,GAAGO,EAAEnE,EAAEkO,GAAGG,EAAEhM,EAAEgN,EAAEpO,EAAEkO,GAAGxM,GAAGgB,EAAEC,GAAGyK,EAAEpK,GAAGN,EAAEC,EAAE,GAAGyK,EAAEhK,GAAGV,EAAEC,EAAE,GAAGyK,EAAE5K,IAAIC,GAAGC,EAAEC,EAAE,GAAGyK,IAAI5L,EAAEsB,GAAGpB,EAAEF,EAAEsB,EAAE,GAAGE,EAAExB,EAAEsB,EAAE,GAAGM,EAAE5B,EAAEsB,EAAE,GAAGN,EAAEE,EAAEI,EAAE,GAAGL,CAAC,CAAC3D,EAAEwtE,UAAU/pE,CAAC,CAAC,eAAAs2E,CAAgB/5E,EAAEE,GAAGF,EAAE2+E,WAAWz+E,EAAE0+E,QAAQ36E,KAAK24E,OAAO,CAAC,QAAAvgE,GAAW,OAAOzY,EAAEA,EAAE,CAAA,EAAGoI,MAAMqQ,YAAY,CAAE,EAAC,CAACoiE,OAAOx6E,KAAKw6E,OAAO7B,OAAO,IAAI34E,KAAK24E,SAAS,EAAE58E,EAAEw+E,GAAG,OAAO,aAAax+E,EAAEw+E,GAAG,WAAW,CAACC,QAAO,EAAG7B,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK58E,EAAEw+E,GAAG,mBAAmB,CAAC,UAAU,UAAU,YAAY,UAAUntE,GAAGI,SAAS+sE,IAAI,MAAMK,GAAG,QAAQ,MAAMC,WAAWvH,GAAG,iBAAAE,GAAoB,MAAM,6ZAA6Z,CAAC,WAAA72E,GAAc,IAAIZ,EAAE2B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAGqK,MAAMhM,GAAGiE,KAAK86E,MAAM/+E,EAAE++E,OAAO96E,KAAKrD,YAAY42E,SAASuH,MAAMryE,QAAQ,CAAC,SAAAgtE,CAAU15E,GAAG,IAAIwtE,WAAW94B,KAAKx0C,IAAIF,EAAE,MAAM4D,EAAEK,KAAK86E,MAAMz8E,EAAE,EAAEsB,EAAE,GAAG1C,EAAE,EAAE0C,EAAE,GAAGzB,EAAE,EAAEyB,EAAE,GAAGK,KAAK+6E,YAAY/6E,KAAK+6E,UAAU,CAAC99E,EAAE,IAAI+vE,WAAW,KAAK3sE,EAAE,IAAI2sE,WAAW,KAAK7hE,EAAE,IAAI6hE,WAAW,OAAO,MAAMhxE,EAAEgE,KAAK+6E,UAAU,IAAI,IAAIh/E,EAAE,EAAEA,EAAE,IAAIA,IAAIC,EAAEiB,EAAElB,GAAG,IAAIoO,KAAKmL,IAAIvZ,EAAE,IAAIsC,GAAGrC,EAAEqE,EAAEtE,GAAG,IAAIoO,KAAKmL,IAAIvZ,EAAE,IAAIkB,GAAGjB,EAAEmP,EAAEpP,GAAG,IAAIoO,KAAKmL,IAAIvZ,EAAE,IAAImC,GAAG,IAAI,IAAInC,EAAE,EAAEA,EAAEE,EAAE0B,OAAO5B,GAAG,EAAEE,EAAEF,GAAGC,EAAEiB,EAAEhB,EAAEF,IAAIE,EAAEF,EAAE,GAAGC,EAAEqE,EAAEpE,EAAEF,EAAE,IAAIE,EAAEF,EAAE,GAAGC,EAAEmP,EAAElP,EAAEF,EAAE,GAAG,CAAC,eAAA+5E,CAAgB/5E,EAAEE,GAAGF,EAAEi/E,WAAW/+E,EAAEg/E,OAAOj7E,KAAK86E,MAAM,CAAC,cAAArL,GAAiB,MAAMqL,MAAM/+E,GAAGiE,KAAK,OAAO,IAAIjE,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,EAAE,CAAC,QAAAqc,GAAW,MAAM,CAAC9Y,KAAKs7E,GAAGE,MAAM96E,KAAK86E,MAAMryE,SAAS,EAAE1M,EAAE8+E,GAAG,OAAOD,IAAI7+E,EAAE8+E,GAAG,WAAW,CAACC,MAAM,CAAC,EAAE,EAAE,KAAK/+E,EAAE8+E,GAAG,mBAAmB,CAAC,WAAWztE,GAAGI,SAASqtE,IAAI,MAAMK,GAAG,CAACC,QAAQ,6SAA6SC,UAAU,iWAAiWC,WAAW,yUAAyU,MAAMC,WAAWhI,GAAG,SAAAmC,CAAU15E,GAAG,IAAIwtE,WAAW94B,KAAKx0C,IAAIF,EAAE,IAAI,IAAIA,EAAE4D,EAAE,EAAEA,EAAE1D,EAAE0B,OAAOgC,GAAG,EAAE,CAAC,MAAMtB,EAAEpC,EAAE0D,GAAG1C,EAAEhB,EAAE0D,EAAE,GAAGzB,EAAEjC,EAAE0D,EAAE,GAAG,OAAOK,KAAKg3E,MAAM,IAAI,UAAUj7E,GAAGsC,EAAEpB,EAAEiB,GAAG,EAAE,MAAM,IAAI,YAAYnC,GAAGoO,KAAKqG,IAAInS,EAAEpB,EAAEiB,GAAGiM,KAAKC,IAAI/L,EAAEpB,EAAEiB,IAAI,EAAE,MAAM,IAAI,aAAanC,EAAE,IAAIsC,EAAE,IAAIpB,EAAE,IAAIiB,EAAEjC,EAAE0D,EAAE,GAAG1D,EAAE0D,EAAE,GAAG1D,EAAE0D,GAAG5D,CAAC,CAAC,CAAC,WAAA25E,GAAc,MAAM,GAAGjtE,OAAOzI,KAAKV,KAAK,KAAKmJ,OAAOzI,KAAKg3E,KAAK,CAAC,iBAAAxD,GAAoB,OAAO0H,GAAGl7E,KAAKg3E,KAAK,CAAC,eAAAlB,CAAgB/5E,EAAEE,GAAGF,EAAE67E,UAAU37E,EAAEs/E,MAAM,EAAE,CAAC,cAAA9L,GAAiB,OAAM,CAAE,EAAE1zE,EAAEu/E,GAAG,OAAO,aAAav/E,EAAEu/E,GAAG,WAAW,CAACtE,KAAK,YAAYj7E,EAAEu/E,GAAG,mBAAmB,CAAC,UAAUluE,GAAGI,SAAS8tE,IAAI,MAAME,GAAG77E,EAAEA,EAAE,CAAA,EAAG+4E,IAAI,CAAA,EAAG,CAAC+C,SAAS,IAAI,MAAMC,WAAW7C,GAAG,eAAApB,GAAkB,MAAM17E,EAAEiE,KAAKy7E,SAAStxE,KAAKiB,GAAGnP,EAAE4S,GAAG9S,GAAG4D,EAAEqP,GAAGjT,GAAGsC,EAAE,EAAE,EAAEpB,EAAEkN,KAAKY,KAAK1M,GAAGsB,EAAEzB,EAAE,EAAEjC,EAAE+D,KAAK24E,OAAO,CAAC18E,EAAEiC,EAAE,EAAEG,EAAEH,EAAEjB,EAAEoB,EAAEH,EAAEjB,EAAE,EAAE,EAAEoB,EAAEH,EAAEjB,EAAEhB,EAAEoC,EAAEH,EAAEG,EAAEH,EAAEjB,EAAE,EAAE,EAAEoB,EAAEH,EAAEjB,EAAEoB,EAAEH,EAAEjB,EAAEhB,EAAEoC,EAAEH,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,cAAAuxE,GAAiB,OAAO,IAAIzvE,KAAKy7E,QAAQ,CAAC,OAAA7R,CAAQ7tE,GAAGiE,KAAKy3E,kBAAkB1vE,MAAM6hE,QAAQ7tE,EAAE,CAAC,QAAAqc,GAAW,MAAM,CAAC9Y,KAAKU,KAAKV,KAAKm8E,SAASz7E,KAAKy7E,SAAS,EAAE1/E,EAAE2/E,GAAG,OAAO,eAAe3/E,EAAE2/E,GAAG,WAAWF,IAAIpuE,GAAGI,SAASkuE,IAAI,MAAMC,WAAWrI,GAAG,SAAAmC,CAAU15E,GAAG,IAAIwtE,WAAW94B,KAAKx0C,IAAIF,EAAE,IAAI,IAAIA,EAAE,EAAEA,EAAEE,EAAE0B,OAAO5B,GAAG,EAAEE,EAAEF,GAAG,IAAIE,EAAEF,GAAGE,EAAEF,EAAE,GAAG,IAAIE,EAAEF,EAAE,GAAGE,EAAEF,EAAE,GAAG,IAAIE,EAAEF,EAAE,GAAGiE,KAAK0xC,QAAQz1C,EAAEF,EAAE,GAAG,IAAIE,EAAEF,EAAE,GAAG,CAAC,iBAAAy3E,GAAoB,MAAM,gfAAgf,CAAC,cAAA/D,GAAiB,OAAOzvE,KAAK47E,MAAM,CAAC,eAAA9F,CAAgB/5E,EAAEE,GAAGF,EAAE67E,UAAU37E,EAAE4/E,QAAQh4E,OAAO7D,KAAK47E,SAAS7/E,EAAE67E,UAAU37E,EAAE6/E,OAAOj4E,OAAO7D,KAAK0xC,OAAO,EAAE31C,EAAE4/E,GAAG,OAAO,UAAU5/E,EAAE4/E,GAAG,WAAW,CAACjqC,OAAM,EAAGkqC,QAAO,IAAK7/E,EAAE4/E,GAAG,mBAAmB,CAAC,UAAU,WAAWvuE,GAAGI,SAASmuE,IAAI,MAAMI,WAAWzI,GAAG,iBAAAE,GAAoB,MAAM,8eAA8e,CAAC,SAAAiC,CAAU15E,GAAG,IAAIwtE,WAAW94B,KAAKx0C,IAAIF,EAAE,MAAM4D,EAAEK,KAAKg8E,MAAM,IAAI,IAAIjgF,EAAE,EAAEA,EAAEE,EAAE0B,OAAO5B,GAAG,EAAE,CAAC,MAAMsC,GAAG,GAAG8L,KAAKo1C,UAAU5/C,EAAE1D,EAAEF,IAAIsC,EAAEpC,EAAEF,EAAE,IAAIsC,EAAEpC,EAAEF,EAAE,IAAIsC,CAAC,CAAC,CAAC,eAAAy3E,CAAgB/5E,EAAEE,GAAGF,EAAE85E,UAAU55E,EAAEggF,OAAOj8E,KAAKg8E,MAAM,KAAKjgF,EAAE85E,UAAU55E,EAAEigF,MAAM/xE,KAAKo1C,SAAS,CAAC,cAAAkwB,GAAiB,OAAO,IAAIzvE,KAAKg8E,KAAK,EAAEjgF,EAAEggF,GAAG,OAAO,SAAShgF,EAAEggF,GAAG,WAAW,CAACC,MAAM,IAAIjgF,EAAEggF,GAAG,mBAAmB,CAAC,SAAS,UAAU3uE,GAAGI,SAASuuE,IAAI,MAAMI,WAAW7I,GAAG,SAAAmC,CAAU15E,GAAG,IAAIwtE,WAAW94B,KAAKx0C,EAAEgX,MAAMtT,EAAEuT,OAAO7U,IAAItC,EAAE,IAAI,IAAIA,EAAE,EAAEA,EAAEsC,EAAEtC,GAAGiE,KAAKo8E,UAAU,IAAI,IAAIn/E,EAAE,EAAEA,EAAE0C,EAAE1C,GAAG+C,KAAKo8E,UAAU,CAAC,MAAMl+E,EAAE,EAAEnC,EAAE4D,EAAE,EAAE1C,EAAEjB,EAAEC,EAAEiC,GAAGK,EAAEtC,EAAEiC,EAAE,GAAGsB,EAAEvD,EAAEiC,EAAE,GAAGO,EAAExC,EAAEiC,EAAE,GAAG,IAAI,IAAIA,EAAEnC,EAAEmC,EAAEiM,KAAKqG,IAAIzU,EAAEiE,KAAKo8E,UAAU/9E,GAAGH,IAAI,IAAI,IAAInC,EAAEkB,EAAElB,EAAEoO,KAAKqG,IAAIvT,EAAE+C,KAAKo8E,UAAUz8E,GAAG5D,IAAI,CAAC,MAAMsC,EAAE,EAAEH,EAAEyB,EAAE,EAAE5D,EAAEE,EAAEoC,GAAGrC,EAAEC,EAAEoC,EAAE,GAAGE,EAAEtC,EAAEoC,EAAE,GAAGmB,EAAEvD,EAAEoC,EAAE,GAAGI,CAAC,CAAC,CAAC,CAAC,cAAAgxE,GAAiB,OAAO,IAAIzvE,KAAKo8E,SAAS,CAAC,iBAAA5I,GAAoB,MAAM,ojBAAojB,CAAC,eAAAsC,CAAgB/5E,EAAEE,GAAGF,EAAE85E,UAAU55E,EAAEogF,WAAWr8E,KAAKo8E,UAAU,EAAErgF,EAAEogF,GAAG,OAAO,YAAYpgF,EAAEogF,GAAG,WAAW,CAACC,UAAU,IAAIrgF,EAAEogF,GAAG,mBAAmB,CAAC,eAAe/uE,GAAGI,SAAS2uE,IAAI,MAAMG,WAAWhJ,GAAG,iBAAAE,GAAoB,MAAM,oUAAoU,CAAC,SAAAiC,CAAU15E,GAAG,IAAIwtE,WAAW94B,KAAKx0C,IAAIF,EAAE,MAAM4D,EAAE,IAAIK,KAAKu8E,SAASl+E,EAAE,IAAI0yB,GAAG/wB,KAAKk5B,OAAO3H,YAAYt0B,EAAE,CAACoB,EAAE,GAAGsB,EAAEtB,EAAE,GAAGsB,EAAEtB,EAAE,GAAGsB,GAAGzB,EAAE,CAACG,EAAE,GAAGsB,EAAEtB,EAAE,GAAGsB,EAAEtB,EAAE,GAAGsB,GAAG,IAAI,IAAI5D,EAAE,EAAEA,EAAEE,EAAE0B,OAAO5B,GAAG,EAAE,CAAC,MAAM4D,EAAE1D,EAAEF,GAAGsC,EAAEpC,EAAEF,EAAE,GAAGC,EAAEC,EAAEF,EAAE,GAAG4D,EAAE1C,EAAE,IAAIoB,EAAEpB,EAAE,IAAIjB,EAAEiB,EAAE,IAAI0C,EAAEzB,EAAE,IAAIG,EAAEH,EAAE,IAAIlC,EAAEkC,EAAE,KAAKjC,EAAEF,EAAE,GAAG,EAAE,CAAC,CAAC,eAAA+5E,CAAgB/5E,EAAEE,GAAG,MAAM0D,EAAE,IAAIoxB,GAAG/wB,KAAKk5B,OAAO3H,YAAYlzB,EAAE2B,KAAKu8E,SAASt/E,EAAE,CAAC,EAAE0C,EAAE,GAAG,IAAItB,EAAE,EAAEsB,EAAE,GAAG,IAAItB,EAAE,EAAEsB,EAAE,GAAG,IAAItB,EAAE,GAAGH,EAAE,CAACyB,EAAE,GAAG,IAAItB,EAAEsB,EAAE,GAAG,IAAItB,EAAEsB,EAAE,GAAG,IAAItB,EAAE,GAAGtC,EAAEk7E,WAAWh7E,EAAEugF,KAAKv/E,GAAGlB,EAAEk7E,WAAWh7E,EAAEwgF,MAAMv+E,EAAE,EAAEnC,EAAEugF,GAAG,OAAO,eAAevgF,EAAEugF,GAAG,WAAW,CAACpjD,MAAM,UAAUqjD,SAAS,IAAIG,UAAS,IAAK3gF,EAAEugF,GAAG,mBAAmB,CAAC,OAAO,UAAUlvE,GAAGI,SAAS8uE,IAAI,MAAMK,WAAWrJ,GAAG,eAAAwC,CAAgB/5E,EAAEE,GAAGF,EAAEs8E,WAAWp8E,EAAEq8E,OAAOt4E,KAAKk4E,WAAW,CAAC,EAAEl4E,KAAKiT,MAAM,GAAG,CAAC,EAAE,EAAEjT,KAAKkT,SAASnX,EAAE2+E,WAAWz+E,EAAE2gF,MAAM58E,KAAK68E,KAAK,CAAC,eAAAC,GAAkB,MAAM/gF,EAAEiE,KAAK+8E,UAAU,OAAO5yE,KAAKw4B,KAAK3iC,KAAKg9E,aAAajhF,EAAE,CAAC,WAAA25E,GAAc,MAAM35E,EAAEiE,KAAK88E,kBAAkB,MAAM,GAAGr0E,OAAOzI,KAAKV,KAAK,KAAKmJ,OAAO1M,EAAE,CAAC,iBAAAy3E,GAAoB,MAAMz3E,EAAEiE,KAAK88E,kBAAkB,OAAO98E,KAAKi9E,eAAelhF,EAAE,CAAC,OAAAmhF,GAAU,MAAMnhF,EAAEiE,KAAKm9E,cAAcn9E,KAAKg9E,cAAc/gF,EAAE+D,KAAK+8E,UAAUp9E,EAAEK,KAAK88E,kBAAkBz+E,EAAE,IAAIkI,MAAM5G,GAAG,IAAI,IAAI1C,EAAE,EAAEA,GAAG0C,EAAE1C,IAAIoB,EAAEpB,EAAE,GAAGlB,EAAEkB,EAAEhB,GAAG,OAAOoC,CAAC,CAAC,cAAA4+E,CAAelhF,GAAG,MAAME,EAAE,IAAIsK,MAAMxK,GAAG,IAAI,IAAI4D,EAAE,EAAEA,GAAG5D,EAAE4D,IAAI1D,EAAE0D,EAAE,GAAG,GAAG8I,OAAO9I,EAAE,eAAe,MAAM,2JAA2J8I,OAAO1M,EAAE,qHAAqH0M,OAAOxM,EAAEob,MAAMtb,EAAEE,IAAI,4DAA4DwM,OAAO1M,EAAE,cAAc0M,OAAOxM,EAAE,wCAAwCwM,OAAO1M,EAAE,cAAc0M,OAAOxM,EAAE,yCAAyCwM,OAAOxM,EAAE,sBAAsB+b,KAAK,MAAM,uDAAuD,CAAC,eAAAolE,CAAgBrhF,GAAGA,EAAEqvE,SAASprE,KAAKiT,MAAMlX,EAAEstE,YAAYrpE,KAAKk4E,YAAW,EAAGl4E,KAAKq9E,GAAGlzE,KAAKwc,MAAM3mB,KAAKiT,MAAMjT,KAAKwV,QAAQxV,KAAKs9E,GAAGvhF,EAAEutE,aAAatpE,KAAK+8E,UAAU/8E,KAAKq9E,GAAGr9E,KAAKiT,MAAMjT,KAAK68E,KAAK78E,KAAKk9E,UAAUnhF,EAAE+uE,iBAAiB9qE,KAAKq9E,GAAGt1E,MAAM6hE,QAAQ7tE,GAAGA,EAAEstE,YAAYttE,EAAE+uE,iBAAiB9qE,KAAKkT,OAAOnX,EAAEutE,aAAatpE,KAAKk4E,YAAW,EAAGl4E,KAAKs9E,GAAGnzE,KAAKwc,MAAM3mB,KAAKkT,OAAOlT,KAAKyV,QAAQzV,KAAK+8E,UAAU/8E,KAAKs9E,GAAGt9E,KAAKkT,OAAOlT,KAAK68E,KAAK78E,KAAKk9E,UAAUnhF,EAAEgvE,kBAAkB/qE,KAAKs9E,GAAGv1E,MAAM6hE,QAAQ7tE,GAAGA,EAAEutE,aAAavtE,EAAEgvE,iBAAiB,CAAC,OAAAnB,CAAQ7tE,GAAGi3E,GAAGj3E,GAAGiE,KAAKo9E,gBAAgBrhF,GAAGiE,KAAKy1E,UAAU15E,EAAE,CAAC,cAAA0zE,GAAiB,OAAO,IAAIzvE,KAAKwV,QAAQ,IAAIxV,KAAKyV,MAAM,CAAC,aAAA0nE,CAAcphF,GAAG,OAAOE,IAAI,GAAGA,GAAGF,GAAGE,IAAIF,EAAE,OAAO,EAAE,GAAGE,EAAE,cAAcA,GAAG,aAAa,OAAO,EAAE,MAAM0D,GAAG1D,GAAGkO,KAAKiB,IAAIrP,EAAE,OAAOoO,KAAK+E,IAAIjT,GAAGA,EAAEkO,KAAK+E,IAAIvP,GAAGA,EAAE,CAAC,SAAA81E,CAAU15E,GAAG,MAAME,EAAEF,EAAEwtE,UAAU5pE,EAAEK,KAAKwV,OAAOnX,EAAE2B,KAAKyV,OAAOzV,KAAKu9E,UAAU,EAAE59E,EAAEK,KAAKw9E,UAAU,EAAEn/E,EAAE,MAAMpB,EAAEhB,EAAEgX,MAAM/U,EAAEjC,EAAEiX,OAAOlX,EAAEmO,KAAKwc,MAAM1pB,EAAE0C,GAAGpB,EAAE4L,KAAKwc,MAAMzoB,EAAEG,GAAG,IAAImB,EAAEA,EAAE,cAAcQ,KAAKy9E,WAAWz9E,KAAK09E,WAAW3hF,EAAEkB,EAAEiB,EAAElC,EAAEuC,GAAG,YAAYyB,KAAKy9E,WAAWz9E,KAAK29E,kBAAkB5hF,EAAEkB,EAAEiB,EAAElC,EAAEuC,GAAG,aAAayB,KAAKy9E,WAAWz9E,KAAK49E,kBAAkB7hF,EAAEkB,EAAEiB,EAAElC,EAAEuC,GAAG,YAAYyB,KAAKy9E,WAAWz9E,KAAK69E,cAAc9hF,EAAEkB,EAAEiB,EAAElC,EAAEuC,GAAG,IAAI6uE,UAAUpxE,EAAEuC,GAAGxC,EAAEwtE,UAAU/pE,CAAC,CAAC,UAAAk+E,CAAW3hF,EAAEE,EAAE0D,EAAEtB,EAAEpB,GAAG,MAAMiB,EAAEnC,EAAEwtE,UAAUvtE,EAAE,GAAG,IAAIuC,GAAE,EAAGiB,GAAE,EAAGf,EAAExC,EAAED,EAAEyD,EAAEE,EAAE3D,EAAE,MAAM2C,EAAE5C,EAAE4tE,cAAc+N,UAAU,IAAIz3E,EAAE,EAAEI,EAAE,EAAE,MAAMX,EAAEzD,EAAE,IAAI8D,EAAE,EAAEpB,EAAE++E,aAAa/+E,EAAE++E,WAAWxpE,MAAM,MAAMhK,EAAEvL,EAAE++E,YAAYxzE,EAAE+I,MAAM,IAAIhX,GAAGiO,EAAEgJ,OAAOvT,KAAKuK,EAAE+I,MAAM,IAAIhX,EAAEiO,EAAEgJ,OAAOvT,GAAG,MAAMQ,EAAE+J,EAAEhB,WAAW,MAAM,IAAI/I,EAAE6d,UAAU,EAAE,EAAE,IAAI/hB,EAAE0D,GAAGQ,EAAE0pE,aAAa3rE,EAAE,EAAE,GAAGG,EAAE8L,KAAKa,MAAM3M,GAAGpB,EAAEkN,KAAKa,MAAM/N,IAAIsB,IAAIiB,GAAGvD,EAAEwC,EAAEkB,EAAEF,EAAEpB,EAAE8L,KAAKa,MAAMvM,EAAEzC,GAAGyC,EAAE0L,KAAKa,MAAMvM,EAAEzC,IAAIyC,EAAEJ,EAAEE,GAAE,GAAItB,EAAEkN,KAAKa,MAAMvL,EAAEzD,GAAGyD,EAAE0K,KAAKa,MAAMvL,EAAEzD,IAAIyD,EAAExC,EAAEuC,GAAE,GAAIW,EAAE8f,UAAU/V,EAAEjK,EAAEI,EAAEpE,EAAE0D,EAAED,EAAEK,EAAEtB,EAAEgB,GAAGQ,EAAEP,EAAEW,EAAEN,EAAEA,GAAGN,EAAE,OAAOU,EAAEuwC,aAAazwC,EAAEI,EAAEhC,EAAEpB,EAAE,CAAC,aAAA4gF,CAAc9hF,EAAEE,EAAE0D,EAAEtB,EAAEpB,GAAG,MAAMiB,EAAEnC,EAAEwtE,UAAU94B,KAAKz0C,EAAED,EAAEke,IAAIwgE,gBAAgBp8E,EAAEpB,GAAGsB,EAAEvC,EAAEy0C,KAAKjxC,EAAEQ,KAAKm9E,cAAcn9E,KAAKg9E,cAAcv+E,EAAEuB,KAAKu9E,UAAU99E,EAAEO,KAAKw9E,UAAU7+E,EAAE,EAAEqB,KAAKu9E,UAAUt9E,EAAE,EAAED,KAAKw9E,UAAUn9E,EAAE8J,KAAKw4B,KAAKlkC,EAAEuB,KAAKg9E,aAAa,GAAGt9E,EAAEyK,KAAKw4B,KAAKljC,EAAEO,KAAKg9E,aAAa,GAAGj9E,EAAE,GAAGmK,EAAE,CAACe,EAAE,EAAErL,EAAE,GAAGO,EAAE,CAAC8K,EAAE,EAAErL,EAAE,GAAG,OAAO,SAAS7D,EAAE6D,GAAG,IAAIyK,EAAEY,EAAEC,EAAEC,EAAEE,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAE,IAAIzB,EAAEe,GAAGrL,EAAE,IAAInB,EAAE0B,EAAE8K,EAAEd,KAAKa,MAAMd,EAAEe,GAAGZ,EAAE,EAAEA,EAAEpN,EAAEoN,IAAI,CAAC,IAAIH,EAAEtK,GAAGyK,EAAE,IAAI5K,EAAEU,EAAEP,EAAEuK,KAAKa,MAAMd,EAAEtK,GAAGyL,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAER,EAAE9K,EAAE8K,EAAE5K,EAAE4K,GAAG9K,EAAE8K,EAAE5K,EAAE4K,IAAI,KAAKA,EAAE,GAAGA,GAAGhP,GAAG,CAACyP,EAAEvB,KAAKa,MAAM,IAAIb,KAAK2E,IAAI7D,EAAEf,EAAEe,IAAIlL,EAAE2L,KAAK3L,EAAE2L,GAAG,IAAI,IAAI,IAAI3P,EAAEoE,EAAEP,EAAEF,EAAE3D,GAAGoE,EAAEP,EAAEF,EAAE3D,IAAIA,EAAE,GAAGA,GAAG4D,IAAIgM,EAAExB,KAAKa,MAAM,IAAIb,KAAK2E,IAAI/S,EAAEmO,EAAEtK,IAAIG,EAAE2L,GAAGC,KAAK5L,EAAE2L,GAAGC,GAAGnM,EAAE2K,KAAKY,KAAKZ,KAAKmL,IAAI5J,EAAE/M,EAAE,GAAGwL,KAAKmL,IAAI3J,EAAE1L,EAAE,IAAI,MAAMiL,EAAEnL,EAAE2L,GAAGC,GAAGT,EAAE,IAAIC,EAAE,GAAGpP,EAAEE,EAAEgP,GAAGI,GAAGH,EAAEI,GAAGJ,EAAEhN,EAAEiN,GAAGI,GAAGL,EAAEhN,EAAEiN,EAAE,GAAGK,GAAGN,EAAEhN,EAAEiN,EAAE,GAAGM,GAAGP,EAAEhN,EAAEiN,EAAE,IAAI,CAACA,EAAE,GAAGd,EAAEhM,EAAEuB,GAAGrB,EAAE4M,GAAGG,EAAED,EAAE9M,EAAE4M,EAAE,GAAGI,EAAEF,EAAE9M,EAAE4M,EAAE,GAAGK,EAAEH,EAAE9M,EAAE4M,EAAE,GAAGM,EAAEJ,CAAC,CAAC,QAAQzL,EAAEvB,EAAEtC,EAAE6D,GAAG5D,CAAC,CAAphB,CAAshB,EAAE,CAAC,iBAAA4hF,CAAkB7hF,EAAEE,EAAE0D,EAAEtB,EAAEpB,GAAG,IAAIiB,EAAElC,EAAEuC,EAAEiB,EAAEf,EAAEgB,EAAEd,EAAEsB,EAAEI,EAAEX,EAAEK,EAAEmK,EAAE/J,EAAEP,EAAE,EAAE,MAAMyK,EAAErK,KAAKu9E,UAAUtyE,EAAEjL,KAAKw9E,UAAUtyE,EAAE,GAAGjP,EAAE,GAAGkP,EAAEpP,EAAEwtE,UAAU94B,KAAKplC,EAAEtP,EAAEke,IAAIwgE,gBAAgBp8E,EAAEpB,GAAGqO,EAAED,EAAEolC,KAAK,IAAI9xC,EAAE,EAAEA,EAAE1B,EAAE0B,IAAI,IAAIsB,EAAE,EAAEA,EAAE5B,EAAE4B,IAAI,IAAIxB,EAAE0L,KAAKa,MAAMX,EAAEpK,GAAGR,EAAE0K,KAAKa,MAAMC,EAAEtM,GAAG0B,EAAEgK,EAAEpK,EAAExB,EAAEiB,EAAEuL,EAAEtM,EAAEc,EAAEU,EAAE,GAAGV,EAAExD,EAAEwC,GAAGsB,EAAE,EAAEA,EAAE,EAAEA,IAAI7B,EAAEiN,EAAEhL,EAAEJ,GAAG/D,EAAEmP,EAAEhL,EAAE,EAAEJ,GAAGxB,EAAE4M,EAAEhL,EAAE+K,EAAEnL,GAAGP,EAAE2L,EAAEhL,EAAE+K,EAAE,EAAEnL,GAAGmK,EAAEhM,GAAG,EAAEmC,IAAI,EAAEX,GAAG1D,EAAEqE,GAAG,EAAEX,GAAGnB,EAAEmB,GAAG,EAAEW,GAAGb,EAAEa,EAAEX,EAAE4L,EAAE1L,KAAKsK,EAAE,OAAOmB,CAAC,CAAC,iBAAAsyE,CAAkB5hF,EAAEE,EAAE0D,EAAEtB,EAAEpB,GAAG,MAAMiB,EAAE8B,KAAKu9E,UAAUvhF,EAAEgE,KAAKw9E,UAAUj/E,EAAE4L,KAAKw4B,KAAKzkC,EAAE,GAAGsB,EAAE2K,KAAKw4B,KAAK3mC,EAAE,GAAGyC,EAAE1C,EAAEwtE,UAAU94B,KAAKhxC,EAAE1D,EAAEke,IAAIwgE,gBAAgBp8E,EAAEpB,GAAG0B,EAAEc,EAAEgxC,KAAK,IAAI,IAAI10C,EAAE,EAAEA,EAAEkB,EAAElB,IAAI,IAAI,IAAI4D,EAAE,EAAEA,EAAEtB,EAAEsB,IAAI,CAAC,MAAM1C,EAAE,GAAG0C,EAAE5D,EAAEsC,GAAG,IAAIoB,EAAE,EAAEQ,EAAE,EAAEI,EAAE,EAAEX,EAAE,EAAEK,EAAE,EAAEmK,EAAE,EAAE/J,EAAE,EAAE,MAAMP,GAAG7D,EAAE,IAAIC,EAAE,IAAI,IAAIqC,EAAE8L,KAAKa,MAAMjP,EAAEC,GAAGqC,GAAGtC,EAAE,GAAGC,EAAEqC,IAAI,CAAC,MAAMtC,EAAEoO,KAAK2E,IAAIlP,GAAGvB,EAAE,KAAKmB,EAAEvC,GAAG0C,EAAE,IAAIzB,EAAElC,EAAED,EAAEA,EAAE,IAAI,IAAIA,EAAEoO,KAAKa,MAAMrL,EAAEzB,GAAGnC,GAAG4D,EAAE,GAAGzB,EAAEnC,IAAI,CAAC,IAAI4D,EAAEwK,KAAK2E,IAAI7R,GAAGlB,EAAE,KAAKwC,EAAE,MAAML,EAAEiM,KAAKY,KAAK/O,EAAE2D,EAAEA,GAAGzB,EAAE,GAAGA,GAAG,IAAIuB,EAAE,EAAEvB,EAAEA,EAAEA,EAAE,EAAEA,EAAEA,EAAE,EAAEuB,EAAE,IAAIE,EAAE,GAAG5D,EAAEsC,EAAEpC,GAAGkE,GAAGV,EAAEhB,EAAEkB,EAAE,GAAGU,GAAGZ,EAAEhB,EAAEkB,EAAE,GAAG,MAAMF,EAAEA,EAAEhB,EAAEkB,EAAE,GAAG,KAAKD,GAAGD,EAAEhB,EAAEkB,GAAGI,GAAGN,EAAEhB,EAAEkB,EAAE,GAAGuK,GAAGzK,EAAEhB,EAAEkB,EAAE,GAAGM,GAAGR,GAAG,CAAC,CAACd,EAAE1B,GAAGyC,EAAEO,EAAEtB,EAAE1B,EAAE,GAAG8C,EAAEE,EAAEtB,EAAE1B,EAAE,GAAGiN,EAAEjK,EAAEtB,EAAE1B,EAAE,GAAGkD,EAAEE,CAAC,CAAC,OAAOZ,CAAC,EAAE1D,EAAE4gF,GAAG,OAAO,UAAU5gF,EAAE4gF,GAAG,WAAW,CAACc,WAAW,UAAUjoE,OAAO,EAAEC,OAAO,EAAEunE,aAAa,IAAIjhF,EAAE4gF,GAAG,mBAAmB,CAAC,SAAS,UAAUvvE,GAAGI,SAASmvE,IAAI,MAAMmB,WAAWxK,GAAG,iBAAAE,GAAoB,MAAM,mhBAAmhB,CAAC,SAAAiC,CAAU15E,GAAG,IAAIwtE,WAAW94B,KAAKx0C,IAAIF,EAAE,MAAM4D,GAAGK,KAAK+9E,WAAW,IAAI,IAAIhiF,EAAE,EAAEA,EAAEE,EAAE0B,OAAO5B,GAAG,EAAE,CAAC,MAAMsC,EAAEpC,EAAEF,GAAGkB,EAAEhB,EAAEF,EAAE,GAAGmC,EAAEjC,EAAEF,EAAE,GAAGC,EAAEmO,KAAKC,IAAI/L,EAAEpB,EAAEiB,GAAGjC,EAAEF,IAAIC,IAAIqC,GAAGrC,EAAEqC,GAAGsB,EAAE,EAAE1D,EAAEF,EAAE,IAAIC,IAAIiB,GAAGjB,EAAEiB,GAAG0C,EAAE,EAAE1D,EAAEF,EAAE,IAAIC,IAAIkC,GAAGlC,EAAEkC,GAAGyB,EAAE,CAAC,CAAC,CAAC,eAAAm2E,CAAgB/5E,EAAEE,GAAGF,EAAE85E,UAAU55E,EAAE+hF,aAAah+E,KAAK+9E,WAAW,CAAC,cAAAtO,GAAiB,OAAO,IAAIzvE,KAAK+9E,UAAU,EAAEhiF,EAAE+hF,GAAG,OAAO,cAAc/hF,EAAE+hF,GAAG,WAAW,CAACC,WAAW,IAAIhiF,EAAE+hF,GAAG,mBAAmB,CAAC,gBAAgB1wE,GAAGI,SAASswE,IAAI,MAAMG,WAAW3K,GAAG,iBAAAE,GAAoB,MAAM,qjBAAqjB,CAAC,SAAAiC,CAAU15E,GAAG,IAAIwtE,WAAW94B,KAAKx0C,IAAIF,EAAE,MAAM4D,GAAGK,KAAKk+E,SAAS,IAAI,IAAIniF,EAAE,EAAEA,EAAEE,EAAE0B,OAAO5B,GAAG,EAAE,CAAC,MAAMsC,EAAEpC,EAAEF,GAAGkB,EAAEhB,EAAEF,EAAE,GAAGmC,EAAEjC,EAAEF,EAAE,GAAGC,EAAEmO,KAAKC,IAAI/L,EAAEpB,EAAEiB,GAAGK,GAAGF,EAAEpB,EAAEiB,GAAG,EAAEsB,EAAE,EAAE2K,KAAK2E,IAAI9S,EAAEuC,GAAG,IAAIoB,EAAE1D,EAAEF,IAAIC,IAAIqC,GAAGrC,EAAEqC,GAAGmB,EAAE,EAAEvD,EAAEF,EAAE,IAAIC,IAAIiB,GAAGjB,EAAEiB,GAAGuC,EAAE,EAAEvD,EAAEF,EAAE,IAAIC,IAAIkC,GAAGlC,EAAEkC,GAAGsB,EAAE,CAAC,CAAC,CAAC,eAAAs2E,CAAgB/5E,EAAEE,GAAGF,EAAE85E,UAAU55E,EAAEkiF,WAAWn+E,KAAKk+E,SAAS,CAAC,cAAAzO,GAAiB,OAAO,IAAIzvE,KAAKk+E,QAAQ,EAAEniF,EAAEkiF,GAAG,OAAO,YAAYliF,EAAEkiF,GAAG,WAAW,CAACC,SAAS,IAAIniF,EAAEkiF,GAAG,mBAAmB,CAAC,cAAc7wE,GAAGI,SAASywE,IAAW/gF,OAAOyK,OAAO,CAACjF,UAAU,KAAK07E,WAAW9K,GAAG+K,WAAW7E,GAAG8E,WAAWvH,GAAGwH,WAAWjH,GAAGkH,KAAKxG,GAAGyG,WAAWlG,GAAGmG,QAAQxF,GAAGyF,YAAY9F,GAAG+F,SAASnF,GAAGoF,SAASlF,GAAGmF,UAAUvE,GAAGwE,MAAMlE,GAAGmE,UAAU1D,GAAG2D,YAAYvD,GAAGwD,OAAOvD,GAAGwD,WAAW/F,GAAGgG,MAAMrD,GAAGsD,SAASlD,GAAGmD,SAAShG,GAAGiG,YAAYjD,GAAGkD,OAAO7C,GAAG8C,WAAW3B,GAAG4B,MAAMnG,GAAGoG,YAAYtG,GAAGuG,SAAS3B,GAAG4B,QAAQ1G,KCG1kmT,IAAI2G,GAA6B,WAE/B,SAASA,EAAc79D,EAAS2uB,GAC9B,IAAImvC,EAUJ,OATAn7E,EAAgB5E,KAAM8/E,GAQtBjiF,EAAgBvB,EAPhByjF,EAAQjkF,EAAWkE,KAAM8/E,EAAe,CAAC79D,EAASxkB,EAAe,CAC/D0oB,QAAS,SACTC,QAAS,SACTrT,KAAM,EACNC,IAAK,EACLgmC,cAAe,IAAIgnC,GAAc,IAAIC,KACpCrvC,MAC4C,gBAAgB,GACxDmvC,CACR,CAsBD,OAnCAx6E,EAAUu6E,EAoCVI,IAtBA/6E,EAAa26E,EAAe,CAAC,CAC3B17E,IAAK,aACLhG,MAAO,SAAoB6b,GACzB,IAAIkmE,EAAQ,GACRl+D,EAAU,GACdjiB,KAAKqR,SAASzT,SAAQ,SAAUsI,GAC9B,OAAQA,aAAkBk6E,GAAOD,EAAQl+D,GAASzkB,KAAK0I,EAC/D,IACM+T,EAAImF,OACJnF,EAAI0G,UAAY,QAChB1G,EAAIyqB,UAAU1kC,KAAKiT,MAAQ,GAAIjT,KAAKkT,OAAS,EAAGlT,KAAKiT,MAAOjT,KAAKkT,QACjE+G,EAAIqF,WACHtf,KAAKqgF,cAAgBF,EAAMviF,SAAQ,SAAUq4B,GAC5CA,EAAK5V,OAAOpG,EACpB,IACMgI,EAAQrkB,SAAQ,SAAUsI,GACxBA,EAAO4Z,yBAA2B5Z,EAAO2zB,SAAW,kBAAoB,YACxE3zB,EAAOma,OAAOpG,EACtB,GACK,KAEI6lE,CACT,CArCiC,GAsCjCjiF,EAAgBiiF,GAAe,OAAQ,YACvCQ,GAAc9yE,SAASsyE,IC1CvB,IAAI7/D,GAAY,SAAmBsgE,EAAa/8D,GAC9C,IAAI1D,EAA2BpiB,UAAUC,OAAS,QAAsBgH,IAAjBjH,UAAU,GAAmBA,UAAU,GAAK,cACnG6iF,EAAYnhE,OACZmhE,EAAYxkE,uBAAwB,EACpCwkE,EAAYC,sBAAwB,OACpCD,EAAYzgE,yBAA2BA,EACvCygE,EAAYE,iBACZF,EAAYtgE,UAAUuD,EAAOtV,OAAQ,EAAG,GACxCqyE,EAAYjhE,SACd,ECLA,SAASohE,GAAKz+D,GACZ,OAAOA,EAAQ0+D,SAAQ,SAAUz6E,GAC/B,OAAKA,EAAO06E,UAAY16E,EAAOm9B,eACtB,GACEn9B,aAAkBg6E,IAA6B,SAApBh6E,EAAO06E,SACpCF,GAAKx6E,EAAO0L,cAEZ,CAAC1L,EAEd,GACA,CA4CA,SAAS26E,GAAK5mE,EAAK6mE,EAAMC,GACvB,IAAIlnD,EAAWinD,EAAKjnD,SAClBhG,EAAUitD,EAAKjtD,QACb3lB,EAAS6yE,EAAM7yE,OACjB8yE,EAAgBD,EAAM9+D,QACtBA,OAA4B,IAAlB++D,EAA2B9yE,EAAO01C,kBAAoB11C,EAAOmD,SAAW2vE,EAClFC,EAAmBF,EAAM5+D,WACzBA,OAAkC,IAArB8+D,EAA8B/yE,EAAOgQ,gBAAkB+iE,EACpEC,EAAgBH,EAAM3+D,QACtBA,OAA4B,IAAlB8+D,EAA2BhzE,EAAOiQ,aAAe+iE,EAEzDxvC,EAAQ,EAAI7d,EACZvU,EAAUohE,GAAK,GAAGj4E,OAAO5B,EAAmBob,GAAUpb,EAAmB,CAACsb,EAAYC,GAAS/kB,QAAO,SAAU4C,GAClH,QAASA,CACV,OAAKoX,KAAI,SAAUnR,GAClB,IAAK2zB,EAAU,CACb,IAAIsnD,EAEAC,EAAWl7E,EAAO2tB,QAGtB,OAFA3tB,EAAO2tB,SAAW6d,EACmB,QAApCyvC,EAAiBj7E,EAAOi9B,cAAuC,IAAnBg+C,GAA6BA,EAAe1zE,IAAI,SAAS,GAC/F,CACLvH,OAAQA,EACR2tB,QAASutD,EAEjB,CAAW,GAAIl7E,EAAO+Y,oBAAoB6gE,GAKpC,OAHA55E,EAAO+Y,SAAuB,cAAI,EAClC/Y,EAAO+Y,SAASxR,IAAI,SAAS,GAC7BvH,EAAOuH,IAAI,SAAS,GACb,CACLvH,OAAQA,EACR+Y,SAAU/Y,EAAO+Y,SAGzB,KA9EA,SAAoBhF,EAAK/L,EAAQ+T,GAC/B/T,EAAO6P,aAAa9D,GACpBA,EAAI8B,sBAAwB7N,EAAO6N,sBACnC9B,EAAIumE,sBAAwB,OAE5BvmE,EAAIiF,eAAiB,OACrBhR,EAAOiR,kBAAkBlF,GACzBA,EAAImF,OACJnF,EAAI9I,UAAUvU,MAAMqd,EAAKpT,EAAmBqH,EAAOgO,oBACnD+F,EAAQrkB,SAAQ,SAAUsI,GACxB,OAAOA,EAAOma,OAAOpG,EACzB,IACEA,EAAIqF,UACJ,IAAIL,EAAW/Q,EAAO+Q,SAClBA,IAEFA,EAAStL,KAAK,SAAUzF,GACxB+Q,EAASM,cACTN,EAASO,gBAAiB,EAC1BP,EAASQ,YAAY,CACnBC,aAAa,IAEfxR,EAAOyR,qBAAqB1F,EAAKgF,IAEnC/Q,EAAO0R,eAAe3F,EACxB,CAwDEonE,CAAWpnE,EAAK/L,EAAQ+T,GAGxB3C,EAAQ1hB,SAAQ,SAAU0jF,GAKtB,IAAIC,EAJDD,IAGDA,EAAMztD,SAERytD,EAAMp7E,OAAO2tB,QAAUytD,EAAMztD,QACoB,QAAhD0tD,EAAuBD,EAAMp7E,OAAOi9B,cAA6C,IAAzBo+C,GAAmCA,EAAqB9zE,IAAI,SAAS,IACrH6zE,EAAMriE,WACfqiE,EAAMriE,SAAuB,cAAI,EACjCqiE,EAAMriE,SAASxR,IAAI,SAAS,GAC5B6zE,EAAMp7E,OAAOuH,IAAI,SAAS,IAEhC,GACA,CC1GA,SAASizE,GAAKz+D,EAASgU,GACrB,OAAOhU,EAAQ0+D,SAAQ,SAAUz6E,GAC/B,OAAKA,EAAO06E,UAAa16E,EAAOu6B,qBAAqBxK,GAE1C/vB,aAAkBg6E,IAA6B,SAApBh6E,EAAO06E,SACpCF,GAAKx6E,EAAO0L,aAAcqkB,GAE1B,CAAC/vB,GAJD,EAMb,GACA,CAuBA,SAASs7E,GAAct7E,EAAQu7E,GAC7B,IAAIxiE,EAvBoB,SAA6B/Y,GACrD,IAAIw7E,EAAOx7E,EAAO+Y,SAClB,GAAIyiE,aAAgB5B,GAClB,OAAO4B,EAET,IAAInuD,EAAcrtB,EAAOqtB,YACrBouD,EAAoB,IAAIC,GAAaruD,EAAaA,GAClDsuD,EAAe37E,EAAOuuB,cAAgBktD,EAAkB5xE,OAAO7J,EAAO68B,oBAAsB4+C,EAC5FlgF,EAAO,IAAIq+E,GAAc,GAAI,CAC/B7sE,MAAO/M,EAAO+M,MAAQ4uE,EAAa52E,EACnCiI,OAAQhN,EAAOgN,OAAS2uE,EAAajiF,IAEvC,GAAI8hF,EAAM,CACR,IAAII,EAAwBJ,EAAK//C,uBAAuB,IAAIigD,GAAgBF,EAAKv7D,QAASu7D,EAAKt7D,SAC7Fnb,EAAI62E,EAAsB72E,EAC1BrL,EAAIkiF,EAAsBliF,EAC5B8hF,EAAKv7D,QAAUu7D,EAAKt7D,QAAU,SAC9B27D,GAAY1/B,kBAAkBq/B,OAAM/8E,EAAWo9E,GAAYxjC,sBAAsBtzC,EAAGrL,IACpF6B,EAAK2N,IAAIsyE,EACV,CACD,OAAOx7E,EAAO+Y,SAAWxd,CAC3B,CAEiBugF,CAAoB97E,GACnC+Y,EAAS7P,IAAIqyE,GACbxiE,EAASxR,IAAI,SAAS,GACtBvH,EAAOuH,IAAI,SAAS,EACtB,CACA,SAASw0E,GAAYC,EAAIC,GACvB,OAAOC,GAAaxlF,MAAMoD,KAAMtC,UAClC,CACA,SAAS0kF,KAmBP,OAlBAA,GAAe79E,EAAgCtG,IAAsBuE,MAAK,SAAS6/E,EAASn8E,EAAQsd,GAClG,IAAIxS,EACJ,OAAO/S,IAAsBe,MAAK,SAAmBsjF,GACnD,cAAkBA,EAAUt/E,KAAOs/E,EAAU7gF,MAC3C,KAAK,EAEH,OADA6gF,EAAU7gF,KAAO,EACV+hB,EAAOxS,QAChB,KAAK,EAIH,OAHAA,EAAQsxE,EAAUnhF,KAClB4gF,GAAY1/B,kBAAkBrxC,OAAOrM,EAAWuB,EAAOiuB,uBACvDqtD,GAAct7E,EAAQ8K,GACfsxE,EAAUhhF,OAAO,SAAU0P,GACpC,KAAK,EACL,IAAK,MACH,OAAOsxE,EAAUn/E,OAEtB,GAAEk/E,EACJ,MACmBzlF,MAAMoD,KAAMtC,UAClC,CACA,SAAS6kF,GAAoBC,EAAKC,EAAKC,GACrC,OAAOC,GAAqB/lF,MAAMoD,KAAMtC,UAC1C,CACA,SAASilF,KAsBP,OArBAA,GAAuBp+E,EAAgCtG,IAAsBuE,MAAK,SAASogF,EAAS18E,EAAQ28E,EAAKr/D,GAC/G,IAAIxS,EAAO/Q,EACX,OAAOhC,IAAsBe,MAAK,SAAmB8jF,GACnD,cAAkBA,EAAU9/E,KAAO8/E,EAAUrhF,MAC3C,KAAK,EAEH,OADAqhF,EAAUrhF,KAAO,EACV+hB,EAAOxS,QAChB,KAAK,EAOH,OANAA,EAAQ8xE,EAAU3hF,KAClBlB,EAAI4iF,GAAO38E,EAAOy7B,uBAAuB,IAAIigD,GAAgB17E,EAAOigB,QAASjgB,EAAOkgB,SACpF27D,GAAY1/B,kBAAkBrxC,OAAOrM,EAAW1E,EAAI8hF,GAAYphC,6BAA6B,CAAC,CAAC,EAAG,EAAG,EAAG,EAAG1gD,EAAEgL,EAAGhL,EAAEL,GAElHijF,EAAK,CAAC,EAAG,EAAG,EAAG,GAAI5iF,EAAEgL,GAAIhL,EAAEL,GAAIsG,EAAOiuB,wBAA0BjuB,EAAOiuB,uBACvEqtD,GAAct7E,EAAQ8K,GACf8xE,EAAUxhF,OAAO,SAAU0P,GACpC,KAAK,EACL,IAAK,MACH,OAAO8xE,EAAU3/E,OAEtB,GAAEy/E,EACJ,KACMD,GAAqB/lF,MAAMoD,KAAMtC,UAC1C,CACA,IAqDIqlF,GAA2B,WAE7B,SAASA,EAAY70E,GACnB,IAAI6xE,EACJn7E,EAAgB5E,KAAM+iF,GAKtBllF,EAAgBvB,EAJhByjF,EAAQjkF,EAAWkE,KAAM+iF,EAAa,CAAC70E,KAIQ,YAAY,GAC3DrQ,EAAgBvB,EAAuByjF,GAAQ,UAAU,GACzD,IAAI/lE,EAAKrQ,SAASwK,cAAc,UAC5B8F,EAAMD,EAAG9Q,WAAW,MACxB,IAAK+Q,EACH,MAAM,IAAInZ,MAAM,yBAKlB,OAxEsB,SAA6BkZ,EAAIC,EAAK6mE,GAC9D,IAAI7tE,EAAQ6tE,EAAK7tE,MACfC,EAAS4tE,EAAK5tE,OACZ8vE,EAAgBtlF,UAAUC,OAAS,QAAsBgH,IAAjBjH,UAAU,GAAmBA,UAAU,GAAK,EACxFsc,EAAG/G,MAAQA,EACX+G,EAAG9G,OAASA,EACR8vE,EAAgB,IAClBhpE,EAAGT,aAAa,SAAUtG,EAAQ+vE,GAAe37E,YACjD2S,EAAGT,aAAa,UAAWrG,EAAS8vE,GAAe37E,YACnD4S,EAAIT,MAAMwpE,EAAeA,GAE7B,CA0DIC,CAAoBjpE,EAAIC,EAAK/L,EAAQ6xE,EAAM7xE,OAAO6O,oBAClDgjE,EAAMmD,cAAgBjpE,EACtB8lE,EAAMoD,aAAe,IAAIC,YAClBrD,CACR,CAqJQ,IACDsD,EA4GR,OArRA99E,EAAUw9E,EAsRVO,IA9PAn+E,EAAa49E,EAAa,CAAC,CACzB3+E,IAAK,KACLhG,MAAO,SAAYkB,EAAMikF,EAAI3yC,GAC3B,IAAI4yC,EAASxjF,KAEb,OADAA,KAAKmjF,aAAarsE,iBAAiBxX,EAAMikF,EAAI3yC,GACtC,WACL,OAAO4yC,EAAOL,aAAalsE,oBAAoB3X,EAAMikF,EAAI3yC,EACjE,CACK,GACA,CACDxsC,IAAK,aACLhG,MAAO,WACLyiF,GAAK7gF,KAAKkjF,cAAe,CACvBrvD,QAAS,IAAI4vD,GAAazjF,KAAKk5B,OAAOpH,WACtC+H,SAAU75B,KAAK65B,UACd,CACD3rB,OAAQlO,KAAKkO,QAEhB,GAKA,CACD9J,IAAK,kBACLhG,MAAO,WACL,IAAI6b,EAAMvc,UAAUC,OAAS,QAAsBgH,IAAjBjH,UAAU,GAAmBA,UAAU,GAAKsC,KAAKkO,OAAO40B,WAC1Fj9B,EAAK3J,EAAgB6mF,EAAYjmF,WAAY,kBAAmBkD,MAAM5D,KAAK4D,KAAMia,GACjFA,EAAIorB,YAAc,OACnB,GAMA,CACDjhC,IAAK,kBACLhG,MAAO,WACL,OAAO,CACR,GAKA,CACDgG,IAAK,UACLhG,MAAO,WACL,IF3MqBmiF,EAAa/8D,EAAQkgE,EE2MtCzpE,EAAMvc,UAAUC,OAAS,QAAsBgH,IAAjBjH,UAAU,GAAmBA,UAAU,GAAKsC,KAAKkO,OAAOi5C,gBAC1FthD,EAAK3J,EAAgB6mF,EAAYjmF,WAAY,UAAWkD,MAAM5D,KAAK4D,KAAMia,GF5MpDsmE,EE6MfvgF,KAAKkO,OAAOhF,aF7MgBsa,EE6MFvJ,EF7MUypE,EE6ML1jF,KAAKkjF,cF3M9CjjE,GAAUsgE,EAAa/8D,EAAQ,mBAG3BkgE,EACFzjE,GAAUuD,EAAQkgE,EAAe,cAEjClgE,EAAOpE,OACPoE,EAAOi9D,iBACPj9D,EAAOxF,UAAU,EAAG,EAAGwF,EAAOtV,OAAO+E,MAAOuQ,EAAOtV,OAAOgF,QAC1DsQ,EAAOlE,UEmMN,GAKA,CACDlb,IAAK,cACLhG,MAAO,SAAqBooB,EAASsyB,GACnC,IAAI6qC,EAAS3jF,KACRA,KAAKmjF,aAAaS,cAAc,IAAIC,YAAY,QAAS,CAC5Dr3B,OAAQ1T,EACRgrC,YAAY,OAId9jF,KAAK+jF,QAAS,EACd/jF,KAAKmjF,aAAaS,cAAc,IAAIC,YAAY,SAAU,CACxDr3B,OAAQ,CACNltD,KAAM,SAERwkF,YAAY,MACP9jF,KAAKgkF,aAGZhkF,KAAKikF,UAAYjkF,KAAKkO,OAAOG,GAAG,gBAAgB,SAAU0yE,GAC9CA,EAAM9mE,MACJ0pE,EAAOz1E,OAAOhF,eAG1By6E,EAAOR,aAAaS,cAAc,IAAIC,YAAY,SAAU,CAC1Dr3B,OAAQ,CACNltD,KAAM,UAERwkF,YAAY,MACPH,EAAOK,aACdL,EAAOp/C,UACf,IACM1+B,EAAK3J,EAAgB6mF,EAAYjmF,WAAY,cAAekD,MAAM5D,KAAK4D,KAAMwmB,EAASsyB,GACvF,GAKA,CACD10C,IAAK,cACLhG,MAAO,SAAqBooB,EAASsyB,GACnC94C,KAAK+jF,QAAU/jF,KAAKmjF,aAAaS,cAAc,IAAIC,YAAY,OAAQ,CACrEr3B,OAAQ1T,EACRgrC,YAAY,MACPj+E,EAAK3J,EAAgB6mF,EAAYjmF,WAAY,cAAekD,MAAM5D,KAAK4D,KAAMwmB,EAASsyB,EAC9F,GAKA,CACD10C,IAAK,YACLhG,MAAO,SAAmB06C,GACxB,IAAIorC,EAKJ,OAJAlkF,KAAK+jF,QAAUl+E,EAAK3J,EAAgB6mF,EAAYjmF,WAAY,YAAakD,MAAM5D,KAAK4D,KAAM84C,GAC1F94C,KAAK+jF,QAAS,EACyB,QAAtCG,EAAkBlkF,KAAKikF,iBAA2C,IAApBC,GAA8BA,EAAgB9nF,KAAK4D,aAC3FA,KAAKikF,WACL,CACR,GAKA,CACD7/E,IAAK,yBACLhG,MAAO,SAAgC2gC,GACrC,OAAOl5B,EAAK3J,EAAgB6mF,EAAYjmF,WAAY,yBAA0BkD,MAAM5D,KAAK4D,KAAMA,KAAKozD,SAAWpzD,KAAKmzD,eAAep0B,EAAQ/+B,KAAKozD,UAAYr0B,EAC7J,GAKA,CACD36B,IAAK,aACLhG,MAAO,SAAoB+lF,GACzB,IAAIluD,EAAOpwB,EAAK3J,EAAgB6mF,EAAYjmF,WAAY,aAAckD,MAAM5D,KAAK4D,KAAMmkF,GASvF,OARAluD,EAAKxoB,IAAIzN,KAAK65B,SAAW,CACvB/Z,yBAA0B,cAC1BiU,OAAQ,SACN,CACFjU,yBAA0B,kBAC1BiU,OAAQ,QACRF,QAAS,IAAI4vD,GAAazjF,KAAKk5B,OAAOpH,aAEjCmE,CACR,GACA,CACD7xB,IAAK,SACLhG,OACMilF,EAAU9+E,EAAgCtG,IAAsBuE,MAAK,SAAS4hF,EAASC,GACzF,IAAIpuD,EAAM2iB,EACV,OAAO36C,IAAsBe,MAAK,SAAmBslF,GACnD,cAAkBA,EAAUthF,KAAOshF,EAAU7iF,MAC3C,KAAK,EAIH,OAHAw0B,EAAOouD,EAAMpuD,KAAM2iB,EAAUyrC,EAAMzrC,QACnC0rC,EAAUC,GAAKl3E,IACfi3E,EAAU7iF,KAAO,EACVoB,QAAQuU,IAAI,GAAG3O,OAAO5B,EAAmB+xC,EAAQvhC,IAAkB,WACxE,IAAImtE,EAAQjgF,EAAgCtG,IAAsBuE,MAAK,SAASiiF,EAAQv+E,GACtF,OAAOjI,IAAsBe,MAAK,SAAkB0lF,GAClD,cAAkBA,EAAS1hF,KAAO0hF,EAASjjF,MACzC,KAAK,EAGH,OAFAijF,EAASH,GAAKr+E,EACdw+E,EAASjjF,KAAO,EACTwgF,GAAY/7E,EAAQ+vB,GAC7B,KAAK,EAEH,OADAyuD,EAASC,GAAKD,EAASvjF,KAChBujF,EAASpjF,OAAO,SAAU,CAACojF,EAASH,GAAIG,EAASC,KAC1D,KAAK,EACL,IAAK,MACH,OAAOD,EAASvhF,OAErB,GAAEshF,EACJ,KACD,OAAO,SAAUG,GACf,OAAOJ,EAAM5nF,MAAMoD,KAAMtC,UAC3C,CACe,CApByE,KAoBnEmJ,EAAmB,CAAC,CAAC7G,KAAKkO,OAAOgQ,gBAAkBle,KAAKkO,OAAOoN,mBAAgD3W,EAAhC3E,KAAKkO,OAAOgO,mBAAgC,CAAClc,KAAKkO,OAAOiQ,aAAene,KAAKkO,OAAOsN,gBAA6C7W,EAAhC3E,KAAKkO,OAAOgO,oBAAgC7e,QAAO,SAAUwnF,GAClP,IACE3+E,EADUG,EAAew+E,EAAO,GACjB,GACjB,QAAU3+E,UAAwCA,EAAO06E,SACzE,IAAiBvpE,IAAkB,WACnB,IAAIytE,EAAQvgF,EAAgCtG,IAAsBuE,MAAK,SAASuiF,EAASC,GACvF,IAAIC,EAAO/+E,EAAQg/E,EACnB,OAAOjnF,IAAsBe,MAAK,SAAmBmmF,GACnD,cAAkBA,EAAUniF,KAAOmiF,EAAU1jF,MAC3C,KAAK,EAIH,OAHAwjF,EAAQ5+E,EAAe2+E,EAAO,GAAI9+E,EAAS++E,EAAM,GAAIC,EAAUD,EAAM,GACrEE,EAAUZ,GAAKr+E,EACfi/E,EAAU1jF,KAAO,EACV8gF,GAAoBr8E,EAAQg/E,EAASjvD,GAC9C,KAAK,EAEH,OADAkvD,EAAUR,GAAKQ,EAAUhkF,KAClBgkF,EAAU7jF,OAAO,SAAU,CAAC6jF,EAAUZ,GAAIY,EAAUR,KAC7D,KAAK,EACL,IAAK,MACH,OAAOQ,EAAUhiF,OAEtB,GAAE4hF,EACJ,KACD,OAAO,SAAUK,GACf,OAAON,EAAMloF,MAAMoD,KAAMtC,UAC3C,CACA,CAtBmC,OAuBvB,KAAK,EAEH,OADA4mF,EAAUK,GAAKL,EAAUnjF,KAClBmjF,EAAUhjF,OAAO,SAAU,IAAIgjF,EAAUC,GAAGD,EAAUK,KAC/D,KAAK,EACL,IAAK,MACH,OAAOL,EAAUnhF,OAE/B,GAAWihF,EAAUpkF,KACd,KACD,SAAgBqlF,GACd,OAAOhC,EAAQzmF,MAAMoD,KAAMtC,UAC5B,IAMF,CACD0G,IAAK,sBACLhG,MAAO,WACL,IAAI2gC,EAAS/+B,KAAc,QAC3B,GAAI++B,EAAOphC,OAAS,EAClBqC,KAAKmjF,aAAaS,cAAc,IAAIC,YAAY,SAAU,CACxDC,YAAY,SAFhB,CAMA,IAAI7tD,EAAOj2B,KAAKkzD,WAAWlzD,KAAKizD,uBAAuBl0B,IACnD6Z,EAAU8nC,GAAK1gF,KAAKkO,OAAO0D,aAAcqkB,GAC7Cj2B,KAAKmjF,aAAaS,cAAc,IAAIC,YAAY,MAAO,CACrDr3B,OAAQ,CACNv2B,KAAMA,EACN2iB,QAASA,GAEXkrC,YAAY,MACP9jF,KAAKslF,OAAO,CACjBrvD,KAAMA,EACN2iB,QAASA,IAEX54C,KAAKkO,OAAO6P,aAAa/d,KAAKkO,OAAO40B,YACrC9iC,KAAKkO,OAAO2O,mBACZ7c,KAAKyxD,cAfJ,CAgBF,GACA,CACDrtD,IAAK,UACLhG,MAAO,WACL,IAAI8P,EAASlO,KAAKkjF,cAAch1E,OAEhCA,EAAO+E,MAAQ/E,EAAOgF,OAAS,CAGhC,KAEI6vE,CACT,CAvR+B,GCnJ/B,MAAMv2E,GAAI,CACR+4E,SAAQ,CAACplF,EAAGqlF,UACA7gF,IAANxE,IAAiBA,EAAIqlF,GAClBj/E,MAAMC,QAAQrG,GAAKA,EAAI,CAACA,EAAGA,IAEpCiP,IAAG,CAACq2E,EAAIC,IACC,CAACD,EAAG,GAAKC,EAAG,GAAID,EAAG,GAAKC,EAAG,IAEpCC,IAAG,CAACF,EAAIC,IACC,CAACD,EAAG,GAAKC,EAAG,GAAID,EAAG,GAAKC,EAAG,IAEpC,KAAAE,CAAMH,EAAIC,GACRD,EAAG,IAAMC,EAAG,GACZD,EAAG,IAAMC,EAAG,EACb,EACD,KAAAG,CAAMJ,EAAIC,GACRD,EAAG,IAAMC,EAAG,GACZD,EAAG,IAAMC,EAAG,EACb,GAEH,SAASI,GAAWvJ,EAAUwJ,EAAWC,GACvC,OAAkB,IAAdD,GAAmB57E,KAAK2E,IAAIi3E,KAAeE,IAAiB97E,KAAKmL,IAAIinE,EAAqB,EAAXyJ,GAC5EzJ,EAAWwJ,EAAYC,GAAYD,EAAYC,EAAWzJ,EACnE,CACA,SAAS2J,GAAwBhtE,EAAU1I,EAAKpG,EAAK47E,EAAW,KAC9D,OAAiB,IAAbA,EA5BN,SAAe7lF,EAAGqQ,EAAKpG,GACrB,OAAOD,KAAKC,IAAIoG,EAAKrG,KAAKqG,IAAIrQ,EAAGiK,GACnC,CA0B6B+7E,CAAMjtE,EAAU1I,EAAKpG,GAC5C8O,EAAW1I,GAAas1E,GAAWt1E,EAAM0I,EAAU9O,EAAMoG,EAAKw1E,GAAYx1E,EAC1E0I,EAAW9O,GAAa07E,GAAW5sE,EAAW9O,EAAKA,EAAMoG,EAAKw1E,GAAY57E,EACvE8O,CACT,CCnBA,SAASxV,GAAenE,GACtB,IAAI6E,EAZN,SAAsBw+D,EAAOwjB,GAC3B,GAAqB,iBAAVxjB,GAAgC,OAAVA,EAAgB,OAAOA,EACxD,IAAIyjB,EAAOzjB,EAAMtkE,OAAOqF,aACxB,QAAagB,IAAT0hF,EAAoB,CACtB,IAAIC,EAAMD,EAAKjqF,KAAKwmE,EAAOwjB,GAAQ,WACnC,GAAmB,iBAARE,EAAkB,OAAOA,EACpC,MAAM,IAAIjqF,UAAU,+CACrB,CACD,OAAiB,WAAT+pF,EAAoBxiF,OAASC,QAAQ++D,EAC/C,CAGY9+D,CAAavE,EAAK,UAC5B,MAAsB,iBAAR6E,EAAmBA,EAAMR,OAAOQ,EAChD,CAEA,SAASvG,GAAgByH,EAAKlB,EAAKhG,GAYjC,OAXAgG,EAAMV,GAAeU,MACVkB,EACTpI,OAAOc,eAAesH,EAAKlB,EAAK,CAC9BhG,MAAOA,EACPb,YAAY,EACZuB,cAAc,EACdC,UAAU,IAGZuG,EAAIlB,GAAOhG,EAENkH,CACT,CAEA,SAAStI,GAAQf,EAAGgB,GAClB,IAAIlB,EAAImB,OAAOC,KAAKlB,GACpB,GAAIiB,OAAOE,sBAAuB,CAChC,IAAIpB,EAAIkB,OAAOE,sBAAsBnB,GACrCgB,IAAMjB,EAAIA,EAAEqB,QAAO,SAAUJ,GAC3B,OAAOC,OAAOI,yBAAyBrB,EAAGgB,GAAGM,UACnD,KAASxB,EAAEyB,KAAKZ,MAAMb,EAAGC,EACtB,CACD,OAAOD,CACT,CACA,SAAS0B,GAAexB,GACtB,IAAK,IAAIgB,EAAI,EAAGA,EAAIS,UAAUC,OAAQV,IAAK,CACzC,IAAIlB,EAAI,MAAQ2B,UAAUT,GAAKS,UAAUT,GAAK,GAC9CA,EAAI,EAAID,GAAQE,OAAOnB,IAAI,GAAI6B,SAAQ,SAAUX,GAC/CY,GAAgB5B,EAAGgB,EAAGlB,EAAEkB,GAC9B,IAASC,OAAOY,0BAA4BZ,OAAOa,iBAAiB9B,EAAGiB,OAAOY,0BAA0B/B,IAAMiB,GAAQE,OAAOnB,IAAI6B,SAAQ,SAAUX,GAC7IC,OAAOc,eAAe/B,EAAGgB,EAAGC,OAAOI,yBAAyBvB,EAAGkB,GACrE,GACG,CACD,OAAOhB,CACT,CAEA,MAAMsqF,GAAiB,CACrB//D,QAAS,CACPmX,MAAO,OACP6oD,OAAQ,OACR7yC,IAAK,MAEP8V,MAAO,CACL9rB,MAAO,OACP6oD,OAAQ,OACR7yC,IAAK,MAEP8yC,MAAO,CACL9oD,MAAO,QACP6oD,OAAQ,OACR7yC,IAAK,OAEP+yC,QAAS,CACP/oD,MAAO,QACP6oD,OAAQ,SACR7yC,IAAK,QAGT,SAASN,GAAWqP,GAClB,OAAKA,EACEA,EAAO,GAAG9xB,cAAgB8xB,EAAOx/C,MAAM,GAD1B,EAEtB,CACA,MAAMyjF,GAAiC,CAAC,QAAS,SAIjD,SAASC,GAAcC,EAAQ35C,EAAS,GAAI45C,GAAU,GACpD,MAAMC,EAAcR,GAAeM,GAC7BG,EAAYD,GAAcA,EAAY75C,IAAoBA,EAChE,MAAO,KAAOmG,GAAWwzC,GAAUxzC,GAAW2zC,IANhD,SAAoBF,GAAU,EAAOE,GACnC,OAAOF,IAAYH,GAA+Bz0E,SAAS80E,EAC7D,CAI8DC,CAAWH,EAASE,GAAa,UAAY,GAC3G,CACA,MAAME,GAAuB,CAAC,oBAAqB,sBACnD,SAASC,GAAUC,GACjB,IAAIC,EAAWD,EAAKE,UAAU,GAAG58E,cACjC,MAAMu+C,KAAao+B,EAAS5/E,QAAQ,WAChCwhD,IAASo+B,EAAWA,EAASluD,QAAQ,UAAW,KACpD,MAAMouD,EAAaL,GAAqBh1E,SAASm1E,GAAY,iBAAmB,UAC1EP,KAAaO,EAAS5/E,QAAQ8/E,GAEpC,OADIT,IAASO,EAAWA,EAASluD,QAAQ,UAAW,KAC7C,CACL0tD,OAAQQ,EACRP,UACA79B,UAEJ,CAMA,SAASu+B,GAAQC,GACf,MAAO,YAAaA,CACtB,CACA,SAASC,GAAeD,GACtB,OAAID,GAAQC,GAAe,QACvB,gBAAiBA,EAAcA,EAAM/iE,YAClC,OACT,CAUA,SAASijE,GAAcF,GACrB,OAAOD,GAAQC,GAJjB,SAAsBA,GACpB,MAAsB,aAAfA,EAAMnoF,MAAsC,gBAAfmoF,EAAMnoF,KAAyBmoF,EAAMnjE,eAAiBmjE,EAAMG,aAClG,CAE0BC,CAAaJ,GAAO,GAAKA,CACnD,CACA,SAASK,GAAcC,EAAIC,GACzB,IACE,MAAM/sB,EAAK+sB,EAAGzjE,QAAUwjE,EAAGxjE,QACrB22C,EAAK8sB,EAAGxjE,QAAUujE,EAAGvjE,QACrBmT,GAAMqwD,EAAGzjE,QAAUwjE,EAAGxjE,SAAW,EACjCqT,GAAMowD,EAAGxjE,QAAUujE,EAAGvjE,SAAW,EACjC+3D,EAAWpyE,KAAK89E,MAAMhtB,EAAIC,GAC1B3lD,GAA+B,IAArBpL,KAAKiL,MAAM6lD,EAAIC,GAAa/wD,KAAKiB,GAEjD,MAAO,CACLmK,QACAgnE,WACAhxC,OAJa,CAAC5T,EAAIC,GAMxB,CAAI,MAAOswD,GAAW,CACpB,OAAO,IACT,CACA,SAASC,GAASV,GAChB,OA9BF,SAAmCA,GACjC,OAAOlhF,MAAMU,KAAKwgF,EAAMz6B,SAAS3vD,QAAOpB,IACtC,IAAImsF,EAAsBC,EAC1B,OAAOpsF,EAAE+I,SAAWyiF,EAAM75B,gBAAmE,QAAhDw6B,EAAuBX,EAAM75B,qBAAoD,IAAzBw6B,GAA+F,QAA3DC,EAAwBD,EAAqBn2E,gBAAgD,IAA1Bo2E,OAAmC,EAASA,EAAsBjsF,KAAKgsF,EAAsBnsF,EAAE+I,QAAQ,GAEvT,CAyBSsjF,CAA0Bb,GAAOpwE,KAAIovE,GAASA,EAAM75B,YAC7D,CACA,SAAS27B,GAAmBd,EAAOe,GACjC,MAAOT,EAAIC,GAAMzhF,MAAMU,KAAKwgF,EAAMz6B,SAAS3vD,QAAOopF,GAAS+B,EAAIt2E,SAASu0E,EAAM75B,cAC9E,OAAOk7B,GAAcC,EAAIC,EAC3B,CACA,SAASn7B,GAAU46B,GACjB,MAAMgB,EAAad,GAAcF,GACjC,OAAOD,GAAQC,GAASgB,EAAW77B,WAAa67B,EAAW57B,SAC7D,CACA,SAAS67B,GAAcjB,GACrB,MAAMgB,EAAad,GAAcF,GACjC,MAAO,CAACgB,EAAWlkE,QAASkkE,EAAWjkE,QACzC,CAGA,SAASmkE,GAAYlB,GACnB,IAAIzhC,OACFA,EAAM1vB,OACNA,EAAMsyD,UACNA,GACEnB,EAQJ,OAPkB,IAAdmB,GACF5iC,GATgB,GAUhB1vB,GAVgB,IAWO,IAAdsyD,IACT5iC,GAXgB,IAYhB1vB,GAZgB,KAcX,CAAC0vB,EAAQ1vB,EAClB,CA+BA,SAASl6B,GAAK+D,KAAMsE,GAClB,MAAiB,mBAANtE,EACFA,KAAKsE,GAELtE,CAEX,CACA,SAAS0oF,KAAS,CAClB,SAASC,MAASC,GAChB,OAAmB,IAAfA,EAAIprF,OAAqBkrF,GACV,IAAfE,EAAIprF,OAAqBorF,EAAI,GAC1B,WACL,IAAI7vC,EACJ,IAAK,MAAM10C,KAAMukF,EACf7vC,EAAS10C,EAAG5H,MAAMoD,KAAMtC,YAAcw7C,EAExC,OAAOA,CACX,CACA,CACA,SAAS8vC,GAAc5qF,EAAOonF,GAC5B,OAAOtoF,OAAO+K,OAAO,CAAA,EAAIu9E,EAAUpnF,GAAS,CAAA,EAC9C,CAGA,MAAM6qF,GACJ,WAAAtsF,CAAYusF,EAAMzkF,EAAML,GACtBpE,KAAKkpF,KAAOA,EACZlpF,KAAKyE,KAAOA,EACZzE,KAAKoE,IAAMA,EACNpE,KAAKw9B,QACRx9B,KAAKw9B,MAAQ,GACbx9B,KAAKmpF,cAAc,CAAC,EAAG,IACvBnpF,KAAKopF,iBACDppF,KAAKqpF,MAAMrpF,KAAKqpF,OACpBrpF,KAAKmC,QAER,CACD,SAAIq7B,GACF,OAAOx9B,KAAKkpF,KAAK1rD,MAAMx9B,KAAKoE,IAC7B,CACD,SAAIo5B,CAAMA,GACRx9B,KAAKkpF,KAAK1rD,MAAMx9B,KAAKoE,KAAOo5B,CAC7B,CACD,UAAI8rD,GACF,OAAOtpF,KAAKkpF,KAAK1rD,MAAM8rD,MACxB,CACD,cAAIC,GACF,OAAOvpF,KAAKkpF,KAAKM,mBAAmBxpF,KAAKoE,IAC1C,CACD,gBAAIqlF,GACF,OAAOzpF,KAAKkpF,KAAKQ,qBAAqB1pF,KAAKoE,IAC5C,CACD,UAAIulF,GACF,OAAO3pF,KAAKkpF,KAAKS,OAAO3pF,KAAKoE,IAC9B,CACD,gBAAIwlF,GACF,OAAO5pF,KAAKkpF,KAAKS,OAAOL,MACzB,CACD,WAAIO,GACF,OAAO7pF,KAAKkpF,KAAKY,SAAS9pF,KAAKoE,IAChC,CACD,KAAAjC,GACE,MAAMq7B,MACJA,EAAK8rD,OACLA,EAAMS,OACNA,EAAMtlF,KACNA,GACEzE,KACJspF,EAAOS,GAAUvsD,EAAMwsD,QAAUxsD,EAAMumD,OAASvmD,EAAMysD,SAAWzsD,EAAM0sD,QAAS,EAChF1sD,EAAM2sD,MAAQ,EAAC,GAAO,GACtB3sD,EAAM4sD,aAAc,EACpB5sD,EAAM6sD,UAAY,CAAC,EAAG,GACtB7sD,EAAM8sD,UAAY,CAAC,EAAG,GACtB9sD,EAAM+sD,WAAa,CAAC,EAAG,GACvB/sD,EAAMgtD,OAAS,CAAC,EAAG,GACnBhtD,EAAMitD,QAAU,CAAC,EAAExE,IAAUA,KAAW,EAAEA,IAAUA,MACpDzoD,EAAM/4B,KAAOA,EACb+4B,EAAMktD,UAAO/lF,EACb64B,EAAMmtD,UAAOhmF,EACb64B,EAAMotD,YAAcptD,EAAMqtD,UAAY,EACtCrtD,EAAMjH,UAAY,CAAC,EAAG,GACtBiH,EAAM++C,SAAW,CAAC,EAAG,GACrB/+C,EAAMstD,SAAW,CAAC,EAAG,GACrBttD,EAAMutD,eAAiB,EAAC,GAAO,GAC/BvtD,EAAMwtD,SAAW,CAAC,EAAG,GACrBxtD,EAAMytD,SAAW,CAAC,EAAG,GACrBztD,EAAM0tD,MAAQ,CAAC,EAAG,GAClB1tD,EAAM2tD,UAAY,CACnB,CACD,KAAAxtD,CAAM8pD,GACJ,MAAMjqD,EAAQx9B,KAAKw9B,MACbmsD,EAAS3pF,KAAK2pF,OACfnsD,EAAMwsD,UACThqF,KAAKmC,QACLnC,KAAKopF,iBACL5rD,EAAMwsD,SAAU,EAChBxsD,EAAMx4B,OAASyiF,EAAMziF,OACrBw4B,EAAMowB,cAAgB65B,EAAM75B,cAC5BpwB,EAAM4tD,WAAazB,EAAO1iF,KAAO7K,GAAKutF,EAAO1iF,KAAMu2B,GAASA,EAAM6b,OAClE7b,EAAM6b,OAAS7b,EAAM4tD,WACrB5tD,EAAMI,UAAYJ,EAAM2tD,UAAY1D,EAAM0D,UAE7C,CACD,aAAAhC,CAAc/oF,GACZ,MAAMo9B,EAAQx9B,KAAKw9B,MACnBA,EAAM6tD,QAAUjrF,EAChBo9B,EAAMp9B,OAASJ,KAAK2pF,OAAOx4E,UAAU/Q,EACtC,CACD,cAAAgpF,GACE,MAAM5rD,EAAQx9B,KAAKw9B,MACnBA,EAAM8tD,SAAW9tD,EAAM6tD,QACvB7tD,EAAM+tD,QAAU/tD,EAAMp9B,MACvB,CACD,OAAAorF,CAAQ/D,GACN,MAAMjqD,MACJA,EAAKmsD,OACLA,EAAML,OACNA,GACEtpF,KACJw9B,EAAM/4B,KAAOzE,KAAKyE,KAClB,IAAIsP,EAAK,EAaT,GAZI0zE,IACFjqD,EAAMiqD,MAAQA,EACVkC,EAAO/kE,gBAAkB6iE,EAAM3D,YAAYtmD,EAAMiqD,MAAM7iE,iBAC3D4Y,EAAMl+B,KAAOmoF,EAAMnoF,KACnBgqF,EAAOt8B,QAAUhtD,KAAKkpF,KAAKuC,WAAWz5E,MAAQhS,KAAKkpF,KAAKf,SAASn2E,KACjEs3E,EAAOoC,SAAW/hF,SAASgiF,mBAC3BzuF,OAAO+K,OAAOqhF,EAnJpB,SAAyB7B,GACvB,MAAMmE,EAAU,CAAA,EAEhB,GADI,YAAanE,IAAOmE,EAAQC,QAAUpE,EAAMoE,SAC5C,aAAcpE,EAAO,CACvB,MAAM7hC,SACJA,EAAQC,OACRA,EAAM4d,QACNA,EAAOD,QACPA,GACEikB,EACJvqF,OAAO+K,OAAO2jF,EAAS,CACrBhmC,WACAC,SACA4d,UACAD,WAEH,CACD,OAAOooB,CACT,CAiI4BE,CAAgBrE,IACtC6B,EAAOyC,KAAOzC,EAAO0C,QAAU1C,EAAOuC,QAAU,GAAM,GAAKvC,EAAOt8B,QAAU,EAC5Ej5C,EAAK0zE,EAAM0D,UAAY3tD,EAAM2tD,UAC7B3tD,EAAM2tD,UAAY1D,EAAM0D,UACxB3tD,EAAMotD,YAAcptD,EAAM2tD,UAAY3tD,EAAMI,WAE1CJ,EAAMwsD,QAAS,CACjB,MAAMiC,EAAiBzuD,EAAMgtD,OAAOnzE,IAAIlN,KAAK2E,KAC7CtC,GAAEo5E,MAAMpoD,EAAM8sD,UAAW2B,EAC1B,CACGjsF,KAAKksF,YAAYlsF,KAAKksF,WAAWzE,GACrC,MAAO0E,EAAKC,GAAO5uD,EAAM6sD,WAClB9F,EAAII,GAAMgF,EAAO0C,WAClBlC,MACJA,EAAK/pF,OACLA,GACEo9B,EASJ,GARImsD,EAAO2C,qBACQ,IAAbnC,EAAM,KAAcA,EAAM,GAAKhgF,KAAK2E,IAAIq9E,IAAQ5H,GAAMnkF,EAAO,KAChD,IAAb+pF,EAAM,KAAcA,EAAM,GAAKhgF,KAAK2E,IAAIs9E,IAAQzH,GAAMvkF,EAAO,OAEhD,IAAb+pF,EAAM,KAAcA,EAAM,GAAKhgF,KAAK2E,IAAIq9E,IAAQ5H,GAAMp6E,KAAK8E,KAAKk9E,GAAO5H,IAC1D,IAAb4F,EAAM,KAAcA,EAAM,GAAKhgF,KAAK2E,IAAIs9E,IAAQzH,GAAMx6E,KAAK8E,KAAKm9E,GAAOzH,IAE7EnnD,EAAM4sD,aAA2B,IAAbD,EAAM,KAA6B,IAAbA,EAAM,IAC3C3sD,EAAM4sD,YAAa,OACxB,MAAMa,EAAW,CAAC,EAAG,GACrB,GAAItB,EAAO2C,mBAAoB,CAC7B,MAAOC,EAAI9G,GAAMrlF,EACjB6qF,EAAS,IAAkB,IAAbd,EAAM,GAAeoC,EAAKpC,EAAM,GAAK,EACnDc,EAAS,IAAkB,IAAbd,EAAM,GAAe1E,EAAK0E,EAAM,GAAK,CACzD,MACMc,EAAS,IAAkB,IAAbd,EAAM,GAAegC,EAAMhC,EAAM,GAAK,EACpDc,EAAS,IAAkB,IAAbd,EAAM,GAAeiC,EAAMjC,EAAM,GAAK,EAElDnqF,KAAKwsF,iBAAmBhvD,EAAMysD,UAAUjqF,KAAKwsF,eAAevB,GAChE,MAAMwB,EAAiBjvD,EAAM6b,OACvBqzC,EAAkBlvD,EAAMwsD,UAAYxsD,EAAMysD,UAAYzsD,EAAMumD,OAC9D2I,IACFlvD,EAAMmvD,MAAQnvD,EAAMwsD,UAAYxsD,EAAMumD,OACtCvmD,EAAMovD,MAAQpvD,EAAMwsD,SAAWxsD,EAAMumD,OACrCvmD,EAAMumD,OAASuF,EAAOtpF,KAAK+pF,QAAUvsD,EAAMwsD,QACvCvC,IACEjqD,EAAMmvD,QACJ,WAAYhD,IAAQnsD,EAAMitD,QAAUruF,GAAKutF,EAAOkD,OAAQrvD,IACxDx9B,KAAK8sF,OAAO9sF,KAAK8sF,SAEvBtvD,EAAMytD,SAAWA,EACjBjrF,KAAK+sF,kBAGT,MAAOC,EAAIC,GAAMzvD,EAAM6b,SACf6zC,EAAIn+B,IAAMo+B,EAAIn+B,IAAOxxB,EAAMitD,QACnCjtD,EAAMstD,SAAW,CAACkC,EAAKE,GAAM,EAAIF,EAAKj+B,EAAK,EAAI,EAAGk+B,EAAKE,GAAM,EAAIF,EAAKj+B,EAAK,EAAI,GAC/ExxB,EAAMutD,eAAe,KAAKvtD,EAAMstD,SAAS,MAAiC,IAA5BttD,EAAMutD,eAAe,GAAevtD,EAAM6sD,UAAU,GAAK7sD,EAAMutD,eAAe,IAC5HvtD,EAAMutD,eAAe,KAAKvtD,EAAMstD,SAAS,MAAiC,IAA5BttD,EAAMutD,eAAe,GAAevtD,EAAM6sD,UAAU,GAAK7sD,EAAMutD,eAAe,IAC5H,MAAMjF,EAAatoD,EAAMwsD,SAAUL,EAAO7D,YAAuB,CAAC,EAAG,GAIrE,GAHAtoD,EAAM6b,ODvWV,SAA2BwzC,GAASO,EAAIC,IAAMC,EAAIC,IAChD,OAAQC,EAAIC,IAAMC,EAAIC,IAAOd,EAC7B,MAAO,CAAC3G,GAAwBkH,EAAII,EAAIC,EAAIH,GAAKpH,GAAwBmH,EAAIK,EAAIC,EAAIJ,GACvF,CCoWmBK,CAAkBpwD,EAAMitD,QAASjtD,EAAM6b,OAAQysC,GAC9DtoD,EAAM0tD,MAAQ1+E,GAAEm5E,IAAInoD,EAAM6b,OAAQozC,GAClCzsF,KAAK6tF,kBACDnB,KAAqBlvD,EAAMovD,MAAQ74E,EApKN,IAoK0C,CACzEypB,EAAM0tD,MAAQ1+E,GAAEm5E,IAAInoD,EAAM6b,OAAQozC,GAClC,MAAMqB,EAAgBtwD,EAAM0tD,MAAM7zE,IAAIlN,KAAK2E,KAC3CtC,GAAEo5E,MAAMpoD,EAAM++C,SAAUuR,GACxBtwD,EAAMjH,UAAYiH,EAAM0tD,MAAM7zE,IAAIlN,KAAK8E,MACvCuuB,EAAM+sD,WAAa/sD,EAAMgtD,OAAOnzE,IAAIlN,KAAK8E,OACpCuuB,EAAMmvD,OAAS54E,EAAK,IACvBypB,EAAMwtD,SAAW,CAAC8C,EAAc,GAAK/5E,EAAI+5E,EAAc,GAAK/5E,GAC5DypB,EAAMqtD,UAAY92E,EAErB,CACF,CACD,IAAAg6E,GACE,MAAMvwD,EAAQx9B,KAAKw9B,MACb8rD,EAAStpF,KAAKspF,OACdK,EAAS3pF,KAAK2pF,OAEpB,GADKnsD,EAAMwsD,SAAShqF,KAAKguF,SACpBxwD,EAAMysD,WAAazsD,EAAM4sD,eAAiB5sD,EAAM0sD,SAAWP,EAAOsE,iBAAkB,OACzF,MAAMtD,EAAO3qF,KAAK6pF,QAAQpsF,GAAeA,GAAeA,GAAe,CAAA,EAAI6rF,GAAS9rD,GAAQ,CAAA,EAAI,CAC9F,CAACx9B,KAAKkuF,UAAW1wD,EAAMp9B,eAEZuE,IAATgmF,IAAoBntD,EAAMmtD,KAAOA,EACtC,CACD,KAAAqD,GACEhuF,KAAKupF,WAAWyE,QAChBhuF,KAAKypF,aAAauE,OACnB,EAcH,MAAMG,WAA0BlF,GAC9B,WAAAtsF,IAAe8H,GACbsD,SAAStD,GACT5G,GAAgBmC,KAAM,WAAY,KACnC,CACD,KAAAmC,GACE4F,MAAM5F,QACNnC,KAAKw9B,MAAMktD,UAAO/lF,CACnB,CACD,IAAA0kF,GACErpF,KAAKw9B,MAAM6b,OAAS,CAAC,EAAG,GACxBr5C,KAAKw9B,MAAM4tD,WAAa,CAAC,EAAG,EAC7B,CACD,aAAA2B,GACE/sF,KAAKw9B,MAAM6b,OAAS7sC,GAAE4C,IAAIpP,KAAKw9B,MAAM4tD,WAAYprF,KAAKw9B,MAAMytD,SAC7D,CACD,eAAA4C,GACE7tF,KAAKw9B,MAAMytD,SAAWz+E,GAAEm5E,IAAI3lF,KAAKw9B,MAAM6b,OAAQr5C,KAAKw9B,MAAM4tD,WAC3D,CACD,UAAAc,CAAWzE,GACT,MAAMjqD,EAAQx9B,KAAKw9B,MACbmsD,EAAS3pF,KAAK2pF,OACpB,IAAKnsD,EAAMktD,MAAQjD,EAAO,CACxB,MAAM4E,EAA4C,iBAAzB1C,EAAOyE,cAA6BzE,EAAOyE,cAAc1G,GAAeD,IAAUkC,EAAOyE,cAClH5wD,EAAMktD,KAnCZ,UAAqBzvB,EAAIC,GAAKmxB,GAC5B,MAAMgC,EAAQlkF,KAAK2E,IAAImsD,GACjBqzB,EAAQnkF,KAAK2E,IAAIosD,GACvB,OAAImzB,EAAQC,GAASD,EAAQhC,EACpB,IAELiC,EAAQD,GAASC,EAAQjC,EACpB,SADT,CAIF,CAyBmBkC,CAAW/wD,EAAM6sD,UAAWgC,EAC1C,CACD7uD,EAAMysD,UAAYN,EAAO6E,iBAAmB7E,EAAOe,QAAUltD,EAAMktD,QAAUf,EAAOe,MAAQf,EAAOe,OAASltD,EAAMktD,IACnH,CACD,cAAA8B,CAAersF,GACb,GAAIH,KAAK2pF,OAAOe,MAAQ1qF,KAAK2pF,OAAO6E,cAClC,OAAQxuF,KAAKw9B,MAAMktD,MACjB,IAAK,IACHvqF,EAAE,GAAK,EACP,MACF,IAAK,IACHA,EAAE,GAAK,EAId,EAGH,MAAMsuF,GAAWtuF,GAAKA,EAEhBuuF,GAAuB,CAC3BC,QAAO,CAACvwF,GAAQ,IACPA,EAETwwF,aAAY,CAACxwF,EAAOywF,EAAIlF,IACflsF,GAAeA,GAAe,GAAIksF,EAAOL,OAAOsF,cAAexwF,GAExEwmB,eAAc,CAACxmB,GAAQ,IACdA,EAET6vF,iBAAgB,CAAC7vF,GAAQ,IAChBA,EAET,UAAA0nF,CAAW1nF,EAAQ,GACjB,OAAQA,GACN,KAAK,EACH,MAAO,CAjBY,SAkBrB,KAAK,EACH,MAAO,CAAC,EAAG,GACb,QACE,OAAOoO,GAAE+4E,SAASnnF,GAEvB,EACD6I,KAAK7I,GACkB,mBAAVA,EAA6BA,EAC3B,MAATA,EAAsBoO,GAAE+4E,SAASnnF,QAArC,EAEF,SAAA+S,CAAU/S,EAAOywF,EAAIlF,GACnB,MAAMx4E,EAAY/S,GAASurF,EAAOL,OAAOn4E,UAEzC,GADAnR,KAAKssF,qBAAuBn7E,EACC,gBAAzB29E,QAAQC,IAAIC,SAA4B,CAC1C,MAAMC,EAAoB99E,GAAas9E,GACvC,OAAOtuF,IACL,MAAMlD,EAAIgyF,EAAkB9uF,GAI5B,OAHK+uF,SAASjyF,EAAE,KAAQiyF,SAASjyF,EAAE,KACjCuL,QAAQ2mF,KAAK,gFAAgFlyF,EAAE,MAAM,CAAC,OAEjGA,CAAC,CAEX,CACD,OAAOkU,GAAas9E,EACrB,EACDpC,UAAUjuF,GACDoO,GAAE+4E,SAASnnF,EAAO,IAGA,gBAAzB0wF,QAAQC,IAAIC,UACd9xF,OAAO+K,OAAOymF,GAAsB,CAClC,SAAAU,CAAUhxF,GACR,QAAcuG,IAAVvG,EACF,MAAM0C,MAAM,oEAEd,OAAO4uD,GACR,EACD,aAAA8+B,CAAcpwF,GACZ,QAAcuG,IAAVvG,EACF,MAAM0C,MAAM,uGAEd,OAAO4uD,GACR,EACD,OAAA67B,CAAQntF,GACN,QAAcuG,IAAVvG,EACF,MAAM0C,MAAM,gEAEd,OAAO4uD,GACR,IAIL,MACM2/B,GAA4B5xF,GAAeA,GAAe,CAAE,EAAEixF,IAAuB,CAAA,EAAI,CAC7F,IAAAhE,CAAK4E,EAAIT,GAAInE,KACXA,IAGA,GADA1qF,KAAKwuF,cAAyB,SAAT9D,GAChB1qF,KAAKwuF,cAAe,OAAO9D,CACjC,EACD0D,cAAa,CAAChwF,EARe,IASpBA,EAET,MAAAyuF,CAAOzuF,EAAQ,IACb,GAAqB,mBAAVA,EACT,OAAOo/B,GAAS6xD,GAA0BxC,OAAOzuF,EAAMo/B,IAEzD,GAAI,YAAap/B,EACf,MAAO,IAAMA,EAAMmxF,QAErB,GAA2B,mBAAhBC,aAA8BpxF,aAAiBoxF,YACxD,OAAOpxF,EAET,MAAM2U,KACJA,GAAQkzE,IAAQlgE,MAChBA,EAAQkgE,IAAQjzE,IAChBA,GAAOizE,IAAQngE,OACfA,EAASmgE,KACP7nF,EACJ,MAAO,CAAC,CAAC2U,EAAMgT,GAAQ,CAAC/S,EAAK8S,GAC9B,IAGG2pE,GAAiB,CACrBC,WAAY,CAACC,EAAcC,EAAS,IAAM,CAACD,EAAeC,EAAQ,GAClEC,UAAW,CAACF,EAAcC,EAAS,IAAM,EAAE,EAAID,EAAeC,EAAQ,GACtEE,QAAS,CAACH,EAAcC,EAAS,IAAM,CAAC,GAAI,EAAID,EAAeC,GAC/DG,UAAW,CAACJ,EAAcC,EAAS,IAAM,CAAC,EAAGD,EAAeC,IA2Q9D,MAAMI,GAA8B,oBAAXnoF,QAA0BA,OAAO8B,UAAY9B,OAAO8B,SAASwK,cACtF,SAAS87E,KACP,OAAOD,IAAa,iBAAkBnoF,MACxC,CAiBA,MAAMqoF,GAAU,CACdF,aACAtJ,QATF,WACE,IACE,MAAO,gBAAiByJ,YACzB,CAAC,MAAOl0F,GACP,OAAO,CACR,CACH,CAGWm0F,GACT3J,MAAOwJ,KACPI,YAnBOJ,MAAyBD,IAAanoF,OAAOgC,UAAUC,eAAiB,EAoB/E0c,QAjBOwpE,IAAa,kBAAmBnoF,OAkBvCyoF,YAfON,IAAa,oBAAqBnoF,OAAO8B,UAwB5C4mF,GAA8B,CAClC9mC,MAAO,EACPg9B,MAAO,EACP+J,IAAK,GAEDC,GAAqBhzF,GAAeA,GAAe,CAAE,EAAE4xF,IAA4B,CAAA,EAAI,CAC3F,MAAAxI,CAAOyI,EAAIT,GACTroE,SAASigE,MACPA,GAAQ,EAAKiK,KACbA,GAAO,EAAKjnC,MACZA,GAAQ,GACN,CAAE,IAGN,OADAzpD,KAAKswF,YAAcI,GAAQR,GAAQI,YAC/BJ,GAAQzJ,OAASA,EAAc,QAC/BzmF,KAAKswF,YAAoB,QACzBJ,GAAQ1pE,UAAYijC,EAAc,UAClCymC,GAAQzJ,MAAc,QACnB,OACR,EACD,iBAAAkK,CAAkBvyF,EAAOywF,GAAI+B,cAC3BA,IAGA,GADA5wF,KAAK6wF,mBAA8C,iBAAlBD,EAA6BA,EAAgBA,QAAmCjsF,IAAlBisF,GAA+BxyF,EA7B7F,SA6BoIuG,EAChKurF,GAAQG,cAAiC,IAAlBO,EAC5B,OAAOxyF,SAAkCuG,IAAlBisF,EAA8B,SAAMjsF,EAC5D,EACD,cAAAmsF,CAAexB,EAAIT,GACjBroE,SAASsgE,QACPA,GAAU,EAAI+E,QACdA,EAAU,EAAC1uF,KACXA,GAAO,GACL,CAAE,IAIN,OAFA6C,KAAK+wF,eAAiBlF,EACtB7rF,KAAK7C,KAAOA,GACJ6C,KAAKswF,aAA+B,YAAhBtwF,KAAK6mF,QAAwBC,CAC1D,EACD,SAAAuF,CAAUjuF,EAAOywF,GAAImC,WACnBA,GAAa,EAAKC,cAClBA,EAAgB,EAACvG,KACjBA,IAEA,MAAM2B,EAAY7/E,GAAE+4E,SAASnnF,EAAO4yF,EAAaC,EAAgBvG,EAAO,EAAI,GAG5E,OAFA1qF,KAAKgxF,WAAaA,EAClBhxF,KAAKixF,cAAgBA,EACd5E,CACR,EACD,KAAA6E,EAAMlG,SACJA,EArD2B,GAqDMzO,SACjCA,EArD2B,GAqDM5/C,SACjCA,EArD2B,KAsDzB,IACF,MAAO,CACLquD,SAAUhrF,KAAKmR,UAAU3E,GAAE+4E,SAASyF,IACpCzO,SAAUv8E,KAAKmR,UAAU3E,GAAE+4E,SAAShJ,IACpC5/C,WAEH,EACD,KAAAC,CAAMx+B,EAAQ,GACZ,OAAQA,GACN,KAAK,EACH,OAnEmB,IAoErB,KAAK,EACH,OAAO,EACT,QACE,OAAOA,EAEZ,EACDgwF,cAAchwF,GACPA,EACEX,GAAeA,GAAe,CAAA,EAAI8yF,IAA8BnyF,GADpDmyF,GAGrBY,qBAAoB,CAAC/yF,EA1Ee,KA2E3BA,IAGkB,gBAAzB0wF,QAAQC,IAAIC,UACd9xF,OAAO+K,OAAOwoF,GAAoB,CAChC,QAAAW,CAAShzF,GACP,QAAcuG,IAAVvG,EACF,MAAM0C,MAAM,uHAEd,OAAO4uD,GACR,EACD,iCAAA2hC,CAAkCjzF,GAChC,QAAcuG,IAAVvG,EACF,MAAM0C,MAAM,mGAEd,OAAO4uD,GACR,EACD,aAAA4hC,CAAclzF,GACZ,QAAcuG,IAAVvG,EACF,MAAM0C,MAAM,6HAEd,OAAO4uD,GACR,EACD,aAAA6hC,CAAcnzF,GACZ,QAAcuG,IAAVvG,EACF,MAAM0C,MAAM,4HAEd,OAAO4uD,GACR,EACD,aAAA8hC,CAAcpzF,GACZ,QAAcuG,IAAVvG,EACF,MAAM0C,MAAM,6HAEd,OAAO4uD,GACR,IA6PL,MAAM+hC,GAAsBh0F,GAAeA,GAAe,CAAE,EAAEixF,IAAuB,CAAA,EAAI,CACvF,MAAA7H,CAAOyI,EAAIT,GAAIvF,OACbA,EACA9iE,SAASigE,MACPA,GAAQ,GACN,CAAE,IAGN,GADqB6C,EACJtkF,SAAWkrF,GAAQzJ,OAASyJ,GAAQxJ,QAAS,MAAO,UACrE,GAAIwJ,GAAQzJ,OAASA,EAAO,MAAO,QACnC,GAAIyJ,GAAQG,YAAa,CACvB,GAAIH,GAAQ1pE,QAAS,MAAO,UAC5B,GAAI0pE,GAAQzJ,MAAO,MAAO,OAC3B,CACF,EACD,MAAAoG,CAAOyC,EAAIT,GAAI6C,YACbA,EAAc,CAAE,EAAAC,YAChBA,EAAc,CAAE,IAEhB,MAAMC,EAAep0D,IACnB,MAAM9xB,EAAIs9E,GAAc5sF,GAAKs1F,EAAal0D,GAAQ,CAChDhtB,KAAMy1E,IACN77E,IAAK67E,MAEP,MAAO,CAACv6E,EAAE8E,IAAK9E,EAAEtB,IAAI,EAEjBynF,EAAer0D,IACnB,MAAM1xB,EAAIk9E,GAAc5sF,GAAKu1F,EAAan0D,GAAQ,CAChDhtB,KAAMy1E,IACN77E,IAAK67E,MAEP,MAAO,CAACn6E,EAAE0E,IAAK1E,EAAE1B,IAAI,EAEvB,MAA2B,mBAAhBsnF,GAAqD,mBAAhBC,EAAmC,CAACC,IAAgBC,KAC7Fr0D,GAAS,CAACo0D,EAAap0D,GAAQq0D,EAAar0D,GACpD,EACD,SAAA6uD,CAAUjuF,EAAOywF,EAAIlF,GACnB3pF,KAAKwuF,cAAgC,SAAhB7E,EAAOe,KAE5B,OADkBl+E,GAAE+4E,SAASnnF,EAAO4B,KAAKwuF,cAAgB,CAAC,GAAK,GAAK,EAErE,EACDsD,YAAY1zF,QACIuG,IAAVvG,EAA4B,UACzBA,EAET2zF,aAAY,CAAC3zF,GAAQ,IACZA,IA2CgBX,GAAeA,GAAe,CAAA,EAAI4xF,IAA4B,CAAA,EAAI,CAC3F2C,UAAW,CAAC5zF,GAAQ,IAASA,IAiGHX,GAAeA,GAAe,CAAA,EAAI4xF,IAA4B,CAAA,EAAI,CAC5F2C,UAAW,CAAC5zF,GAAQ,IAASA,IAG/B,MAAM6zF,GAAY,IAAI5kF,IAChB6kF,GAAoB,IAAI7kF,IAC9B,SAAS8kF,GAAejlD,GACtB+kD,GAAUxkF,IAAIy/B,EAAO9oC,IAAK8oC,EAAOklD,QACjCF,GAAkBzkF,IAAIy/B,EAAO9oC,IAAK8oC,EAAOmlD,SAC3C,CACA,MAAMC,GAAa,CACjBluF,IAAK,OACLguF,OA51BF,cAAyBjE,GACvB,WAAAxxF,IAAe8H,GACbsD,SAAStD,GACT5G,GAAgBmC,KAAM,SAAU,WACjC,CACD,KAAAmC,GACE4F,MAAM5F,QACN,MAAMq7B,EAAQx9B,KAAKw9B,MACnBA,EAAM+0D,gBAAa5tF,EACnB64B,EAAMg1D,gBAAiB,EACvBh1D,EAAMi1D,iBAAkB,EACxBj1D,EAAMk1D,gBAAiB,EACvBl1D,EAAMm1D,UAAW,EACjBn1D,EAAM0zD,MAAQ,CAAC,EAAG,GAClB1zD,EAAMo1D,KAAM,EACZp1D,EAAMq1D,UAAW,EACjBr1D,EAAMs1D,OAAS9yF,KAAK8yF,OAAOntF,KAAK3F,KACjC,CACD,KAAA8sF,GACE,MAAMtvD,EAAQx9B,KAAKw9B,MACnB,GAAIA,EAAMitD,mBAAmB+E,YAAa,CACxC,MAAMuD,EAAYv1D,EAAMitD,QAAQvvE,wBAC1B83E,EAAax1D,EAAMowB,cAAc1yC,wBACjCuvE,EAAU,CACd13E,KAAMggF,EAAUhgF,KAAOigF,EAAWjgF,KAAOyqB,EAAM6b,OAAO,GACtDtzB,MAAOgtE,EAAUhtE,MAAQitE,EAAWjtE,MAAQyX,EAAM6b,OAAO,GACzDrmC,IAAK+/E,EAAU//E,IAAMggF,EAAWhgF,IAAMwqB,EAAM6b,OAAO,GACnDvzB,OAAQitE,EAAUjtE,OAASktE,EAAWltE,OAAS0X,EAAM6b,OAAO,IAE9D7b,EAAMitD,QAAU4E,GAA0BxC,OAAOpC,EAClD,CACF,CACD,MAAAqI,GACE,MAAMt1D,EAAQx9B,KAAKw9B,MACfA,EAAMq1D,WACVr1D,EAAMq1D,UAAW,EACjBr1D,EAAMwsD,SAAU,EAChBjsD,YAAW,KACT/9B,KAAKwrF,UACLxrF,KAAK+tF,MAAM,GACV,GACJ,CACD,SAAAkF,GACEjzF,KAAKw9B,MAAMwsD,QAAUhqF,KAAKw9B,MAAMg1D,gBAAkBxyF,KAAKw9B,MAAMi1D,eAC9D,CACD,KAAAzE,GACEhuF,KAAKkzF,eACLlzF,KAAKw9B,MAAMg1D,gBAAiB,EAC5BxyF,KAAKw9B,MAAMi1D,iBAAkB,EAC7B1qF,MAAMimF,OACP,CACD,WAAAmF,CAAY1L,GACV,MAAMkC,EAAS3pF,KAAK2pF,OACdnsD,EAAQx9B,KAAKw9B,MACnB,GAAqB,MAAjBiqD,EAAMoE,UAAoBtlF,MAAMC,QAAQmjF,EAAOoH,iBAAmBpH,EAAOoH,eAAe7+E,SAASu1E,EAAMoE,UAAsC,IAA3BlC,EAAOoH,gBAAyBpH,EAAOoH,iBAAmBtJ,EAAMoE,SAAU,OAChM,MAAMuH,EAAUpzF,KAAKkpF,KAAKmK,YAAY5L,GAClCkC,EAAOmH,gBACTrJ,EAAMziF,OAAOsuF,kBAAkB7L,EAAM56B,WAEnCumC,GAAWA,EAAQphF,KAAO,GAAKwrB,EAAMg1D,iBACzCxyF,KAAK29B,MAAM8pD,GACXznF,KAAKuzF,aAAa9L,GAClBjqD,EAAM+0D,WAAa1lC,GAAU46B,GAC7BjqD,EAAMg1D,gBAAiB,EACvBxyF,KAAKmpF,cAAcT,GAAcjB,IACjCznF,KAAKopF,iBACDO,EAAOgH,mBAA+C,UAA1BjJ,GAAeD,IAC7CjqD,EAAMwsD,SAAU,EAChBhqF,KAAKwzF,sBAAsB/L,IAClBkC,EAAO/sD,MAAQ,GACxB58B,KAAKyzF,kBAAkBhM,GACnBkC,EAAOsE,mBACTjuF,KAAKwrF,QAAQ/D,GACbznF,KAAK+tF,SAGP/tF,KAAK0zF,iBAAiBjM,GAEzB,CACD,gBAAAiM,CAAiBjM,GACf,MAAMjqD,EAAQx9B,KAAKw9B,MACnBA,EAAMwsD,SAAU,EAChBxsD,EAAMk1D,gBAAiB,EACvBl1D,EAAMm1D,UAAW,EACjB3yF,KAAKwrF,QAAQ/D,GACbznF,KAAK+tF,MACN,CACD,WAAA4F,CAAYlM,GACV,MAAMjqD,EAAQx9B,KAAKw9B,MACbmsD,EAAS3pF,KAAK2pF,OACpB,IAAKnsD,EAAMg1D,eAAgB,OAC3B,MAAM/uE,EAAKopC,GAAU46B,GACrB,QAAyB9iF,IAArB64B,EAAM+0D,YAA4B9uE,IAAO+Z,EAAM+0D,WAAY,OAC/D,MAAMlH,EAAU3C,GAAcjB,GAS9B,OARI99E,SAASgiF,qBAAuBlE,EAAMziF,OACxCw4B,EAAMgtD,OAAS,CAAC/C,EAAMmM,UAAWnM,EAAMoM,YAEvCr2D,EAAMgtD,OAASh+E,GAAEm5E,IAAI0F,EAAS7tD,EAAM6tD,SACpCrrF,KAAKmpF,cAAckC,IAErB7+E,GAAEo5E,MAAMpoD,EAAM6sD,UAAW7sD,EAAMgtD,QAC/BxqF,KAAKwrF,QAAQ/D,GACTjqD,EAAMm1D,UAAYn1D,EAAM4sD,aAC1BpqF,KAAKypF,aAAa57E,OAAO,aACzB2vB,EAAMumD,QAAS,OACf/jF,KAAK0zF,iBAAiBjM,IAGpBkC,EAAOgH,oBAAsBnzD,EAAMk1D,eACjCl1D,EAAMktD,KACJltD,EAAMktD,OAASf,EAAOgH,mBAAkD,OAA7BhH,EAAOgH,mBACpDnzD,EAAMwsD,SAAU,OAChBhqF,KAAKguF,UAGLhuF,KAAKypF,aAAa57E,OAAO,yBACzB7N,KAAK0zF,iBAAiBjM,SAIxB,OAGJznF,KAAK+tF,MACN,CACD,SAAA+F,CAAUrM,GACRznF,KAAKkpF,KAAKmK,YAAY5L,GACtB,IACMznF,KAAK2pF,OAAOmH,gBAAkBrJ,EAAMziF,OAAO+uF,kBAAkBtM,EAAM56B,YAErE46B,EAAMziF,OAAOgvF,sBAAsBvM,EAAM56B,UAE5C,CAAC,MAAOq7B,GACsB,gBAAzB4G,QAAQC,IAAIC,UACdxmF,QAAQ2mF,KAAK,gKAEhB,CACD,MAAM3xD,EAAQx9B,KAAKw9B,MACbmsD,EAAS3pF,KAAK2pF,OACpB,IAAKnsD,EAAMwsD,UAAYxsD,EAAMg1D,eAAgB,OAC7C,MAAM/uE,EAAKopC,GAAU46B,GACrB,QAAyB9iF,IAArB64B,EAAM+0D,YAA4B9uE,IAAO+Z,EAAM+0D,WAAY,OAC/DvyF,KAAKw9B,MAAMg1D,gBAAiB,EAC5BxyF,KAAKizF,YACLjzF,KAAKwrF,QAAQ/D,GACb,MAAOxsB,EAAIC,GAAM19B,EAAM8sD,UAEvB,GADA9sD,EAAMo1D,IAAM33B,GAAM0uB,EAAOsH,eAAiB/1B,GAAMyuB,EAAOsH,cACnDzzD,EAAMo1D,KAAOjJ,EAAOqH,WACtBxzD,EAAM0sD,QAAS,MACV,CACL,MAAO+J,EAAKC,GAAO12D,EAAMgtD,QAClB2J,EAAKC,GAAO52D,EAAM6sD,WAClBgK,EAAKC,GAAO3K,EAAOuH,MAAMlG,UACzBuJ,EAAIC,GAAM7K,EAAOuH,MAAM3U,SACxBkY,EAAM9K,EAAOuH,MAAMv0D,SACzB,GAAIa,EAAMotD,YAAc6J,EAAK,CAC3B,MAAMC,EAAMvqF,KAAK2E,IAAImlF,EAAMz2D,EAAMqtD,WAC3B8J,EAAMxqF,KAAK2E,IAAIolF,EAAM12D,EAAMqtD,WAC7B6J,EAAML,GAAOlqF,KAAK2E,IAAIqlF,GAAOI,IAAI/2D,EAAM0zD,MAAM,GAAK/mF,KAAK8E,KAAKglF,IAC5DU,EAAML,GAAOnqF,KAAK2E,IAAIslF,GAAOI,IAAIh3D,EAAM0zD,MAAM,GAAK/mF,KAAK8E,KAAKilF,GACjE,CACF,CACDl0F,KAAK+tF,MACN,CACD,YAAA6G,CAAanN,IACNznF,KAAKw9B,MAAMo1D,KAAOnL,EAAMj7B,OAAS,IACpCi7B,EAAM7iE,iBACN6iE,EAAM5iE,kBAET,CACD,YAAA0uE,CAAa9L,GACX,MAAMkC,EAAS3pF,KAAK2pF,OACd9C,EAAS8C,EAAO9C,OACtB,GAA6B,gBAAzBiI,QAAQC,IAAIC,SACd,IACE,GAAe,YAAXnI,QAAsDliF,IAA9BglF,EAAOkH,mBAAkC,CACnE,MAAMjjC,EAAgB,OAAQ65B,EAAQA,EAAMoN,YAAYjnC,cAAgB65B,EAAM75B,cAEpD,SADZ/lD,OAAO+S,iBAAiBgzC,GAC5BknC,aACRtsF,QAAQ2mF,KAAK,kaAAyavhC,EAEzb,CACT,CAAQ,MAAOmnC,GAAY,CAEnBpL,EAAO2G,aACT7I,EAAM75B,cAAconC,qBAEjBrL,EAAOmH,iBACV9wF,KAAKupF,WAAWn6E,IAAIpP,KAAK4pF,aAAa/hF,OAAQg/E,EAAQ,SAAU7mF,KAAK2zF,YAAYhuF,KAAK3F,OACtFA,KAAKupF,WAAWn6E,IAAIpP,KAAK4pF,aAAa/hF,OAAQg/E,EAAQ,MAAO7mF,KAAK8zF,UAAUnuF,KAAK3F,OACjFA,KAAKupF,WAAWn6E,IAAIpP,KAAK4pF,aAAa/hF,OAAQg/E,EAAQ,SAAU7mF,KAAK8zF,UAAUnuF,KAAK3F,OAEvF,CACD,YAAAkzF,GACMlzF,KAAK2pF,OAAO2G,aAAe3mF,SAASgiF,qBAAuB3rF,KAAKw9B,MAAMowB,eACxEjkD,SAASsrF,iBAEZ,CACD,aAAArE,CAAcnJ,GACRznF,KAAKw9B,MAAMk1D,gBAAkBjL,EAAM3D,YACrC2D,EAAM7iE,gBAET,CACD,qBAAA4uE,CAAsB/L,GACpBznF,KAAKw9B,MAAMk1D,gBAAiB,EAyDhC,SAAsBjL,GACpB,YAAaA,GAAkC,mBAAlBA,EAAMyN,SAA0BzN,EAAMyN,SACrE,CA1DIC,CAAa1N,GACb,MAAM55E,EAAS7N,KAAKupF,WAAWn6E,IAAIpP,KAAK4pF,aAAa/hF,OAAQ,QAAS,SAAU7H,KAAK4wF,cAAcjrF,KAAK3F,MAAO,CAC7GipD,SAAS,IAEXjpD,KAAKupF,WAAWn6E,IAAIpP,KAAK4pF,aAAa/hF,OAAQ,QAAS,MAAOgG,GAC9D7N,KAAKupF,WAAWn6E,IAAIpP,KAAK4pF,aAAa/hF,OAAQ,QAAS,SAAUgG,GACjE7N,KAAKypF,aAAar6E,IAAI,mBAAoBpP,KAAK0zF,iBAAiB/tF,KAAK3F,MAAOA,KAAK2pF,OAAOkH,mBAAoBpJ,EAC7G,CACD,iBAAAgM,CAAkBhM,GAChBznF,KAAKw9B,MAAMm1D,UAAW,EACtB3yF,KAAKypF,aAAar6E,IAAI,aAAa,KACjCpP,KAAKw9B,MAAM2sD,MAAQ,CAAC,EAAG,GACvBnqF,KAAK0zF,iBAAiBjM,EAAM,GAC3BznF,KAAK2pF,OAAO/sD,MAChB,CACD,OAAAw4D,CAAQ3N,GACN,MAAM4N,EAAU5F,GAAehI,EAAMrjF,KACrC,GAAIixF,EAAS,CACX,MAAM73D,EAAQx9B,KAAKw9B,MACboyD,EAASnI,EAAM7hC,SAAW,GAAK6hC,EAAM5hC,OAAS,GAAM,EAC1D7lD,KAAK29B,MAAM8pD,GACXjqD,EAAMgtD,OAAS6K,EAAQr1F,KAAK2pF,OAAOwH,qBAAsBvB,GACzDpyD,EAAMi1D,iBAAkB,EACxBjmF,GAAEo5E,MAAMpoD,EAAM6sD,UAAW7sD,EAAMgtD,QAC/BxqF,KAAKwrF,QAAQ/D,GACbznF,KAAK+tF,MACN,CACF,CACD,KAAAuH,CAAM7N,GACEA,EAAMrjF,OAAOqrF,KACnBzvF,KAAKw9B,MAAMi1D,iBAAkB,EAC7BzyF,KAAKizF,YACLjzF,KAAKwrF,QAAQ/D,GACbznF,KAAK+tF,OACN,CACD,IAAApoF,CAAK4vF,GACH,MAAM1O,EAAS7mF,KAAK2pF,OAAO9C,OAC3B0O,EAAa1O,EAAQ,QAAS7mF,KAAKmzF,YAAYxtF,KAAK3F,OAChDA,KAAK2pF,OAAOmH,iBACdyE,EAAa1O,EAAQ,SAAU7mF,KAAK2zF,YAAYhuF,KAAK3F,OACrDu1F,EAAa1O,EAAQ,MAAO7mF,KAAK8zF,UAAUnuF,KAAK3F,OAChDu1F,EAAa1O,EAAQ,SAAU7mF,KAAK8zF,UAAUnuF,KAAK3F,OACnDu1F,EAAa,qBAAsB,GAAIv1F,KAAK8zF,UAAUnuF,KAAK3F,QAEzDA,KAAK2pF,OAAOxsF,OACdo4F,EAAa,MAAO,OAAQv1F,KAAKo1F,QAAQzvF,KAAK3F,OAC9Cu1F,EAAa,MAAO,KAAMv1F,KAAKs1F,MAAM3vF,KAAK3F,QAExCA,KAAK2pF,OAAOqH,YACduE,EAAa,QAAS,GAAIv1F,KAAK40F,aAAajvF,KAAK3F,MAAO,CACtD8mF,SAAS,EACT79B,SAAS,GAGd,GA0lBDopC,SAAU5B,IAYN+E,GAAc,CAClBpxF,IAAK,QACLguF,OAjcF,cAA0BnJ,GACxB,WAAAtsF,IAAe8H,GACbsD,SAAStD,GACT5G,GAAgBmC,KAAM,SAAU,YAChCnC,GAAgBmC,KAAM,WAAY,KACnC,CACD,IAAAqpF,GACErpF,KAAKw9B,MAAM6b,OAAS,CAAC,EAAG,GACxBr5C,KAAKw9B,MAAM4tD,WAAa,CAAC,EAAG,GAC5BprF,KAAKw9B,MAAMi4D,eAAiB,IAAIpoF,GACjC,CACD,KAAAlL,GACE4F,MAAM5F,QACN,MAAMq7B,EAAQx9B,KAAKw9B,MACnBA,EAAMk4D,UAAY,GAClBl4D,EAAMq1D,UAAW,EACjBr1D,EAAMs1D,OAAS9yF,KAAK8yF,OAAOntF,KAAK3F,MAChCw9B,EAAMm4D,MAAQ,CACf,CACD,aAAA5I,GACE,MAAMztF,KACJA,EAAI2rF,SACJA,EAAQG,WACRA,GACEprF,KAAKw9B,MAEPx9B,KAAKw9B,MAAM6b,OADA,UAAT/5C,EACkBkN,GAAE4C,IAAI67E,EAAUG,GAEhB,EAAE,EAAIH,EAAS,IAAMG,EAAW,GAAIH,EAAS,GAAKG,EAAW,GAEpF,CACD,eAAAyC,GACE,MAAMx0C,OACJA,EAAM+xC,WACNA,GACEprF,KAAKw9B,MACTx9B,KAAKw9B,MAAMytD,SAAW,CAAC5xC,EAAO,GAAK+xC,EAAW,GAAI/xC,EAAO,GAAK+xC,EAAW,GAC1E,CACD,UAAAc,GACE,MAAM1uD,EAAQx9B,KAAKw9B,OACZ2uD,EAAKC,GAAO5uD,EAAM6sD,UACzB,IAAK7sD,EAAMktD,KAAM,CACf,MAAMkL,EA5CyB,GA4CAzrF,KAAK2E,IAAIq9E,GAAsChiF,KAAK2E,IAAIs9E,GACnFwJ,EAAyB,EAAGp4D,EAAMktD,KAAO,QAAiBkL,EAAyB,IAAGp4D,EAAMktD,KAAO,QACxG,CACF,CACD,cAAA8B,CAAersF,GACTH,KAAK2pF,OAAO6E,gBACU,UAApBxuF,KAAKw9B,MAAMktD,KAAkBvqF,EAAE,GAAK,EAA+B,UAApBH,KAAKw9B,MAAMktD,OAAkBvqF,EAAE,GAAK,GAE1F,CACD,MAAA2yF,GACE,MAAMt1D,EAAQx9B,KAAKw9B,MACfA,EAAMq1D,UACV90D,YAAW,KACTP,EAAMq1D,UAAW,EACjBr1D,EAAMwsD,SAAU,EAChBhqF,KAAKwrF,UACLxrF,KAAK+tF,MAAM,GACV,EACJ,CACD,UAAA8H,CAAWpO,GACTznF,KAAKkpF,KAAKmK,YAAY5L,GACtB,MAAMjqD,EAAQx9B,KAAKw9B,MACbs4D,EAAe91F,KAAKkpF,KAAKf,SAC/B,GAAI3qD,EAAMwsD,SACJxsD,EAAMk4D,UAAU7gF,OAAM4O,GAAMqyE,EAAaxoF,IAAImW,KAAM,OAEzD,GAAIqyE,EAAa9jF,KAAO,EAAG,OAC3BhS,KAAK29B,MAAM8pD,GACXjqD,EAAMk4D,UAAYnvF,MAAMU,KAAK6uF,GAAc5yF,MAAM,EAAG,GACpD,MAAM0oF,EAAUrD,GAAmBd,EAAOjqD,EAAMk4D,WAC3C9J,GACL5rF,KAAK+1F,WAAWtO,EAAOmE,EACxB,CACD,YAAAoK,CAAavO,GACX,GAAqB,MAAjBA,EAAMoE,SAAmBpE,EAAMoE,QAAU,GAAM,EAAG,OACtD7rF,KAAKkpF,KAAKmK,YAAY5L,GACtBA,EAAMziF,OAAOsuF,kBAAkB7L,EAAM56B,WACrC,MAAMrvB,EAAQx9B,KAAKw9B,MACbi4D,EAAiBj4D,EAAMi4D,eACvBQ,EAAiBj2F,KAAKkpF,KAAKuC,WACjC,GAAIjuD,EAAMwsD,SACJzjF,MAAMU,KAAKwuF,EAAet4F,QAAQ0X,OAAM4O,GAAMwyE,EAAe3oF,IAAImW,KAAM,OAK7E,GAHIgyE,EAAezjF,KAAO,GACxByjF,EAAehoF,IAAIg6E,EAAM56B,UAAW46B,GAElCjqD,EAAMi4D,eAAezjF,KAAO,EAAG,OACnChS,KAAK29B,MAAM8pD,GACX,MAAMmE,EAAU9D,MAAiBvhF,MAAMU,KAAKwuF,EAAer1F,WACtDwrF,GACL5rF,KAAK+1F,WAAWtO,EAAOmE,EACxB,CACD,UAAAmK,CAAWtO,EAAOmE,GACF5rF,KAAKw9B,MACb+N,OAASqgD,EAAQrgD,OACvBvrC,KAAKmpF,cAAc,CAACyC,EAAQrP,SAAUqP,EAAQr2E,QAC9CvV,KAAKopF,iBACLppF,KAAKwrF,QAAQ/D,GACbznF,KAAK+tF,MACN,CACD,SAAAmI,CAAUzO,GACR,IAAKznF,KAAKw9B,MAAMwsD,QAAS,OACzB,MAAM4B,EAAUrD,GAAmBd,EAAOznF,KAAKw9B,MAAMk4D,WAChD9J,GACL5rF,KAAKm2F,UAAU1O,EAAOmE,EACvB,CACD,WAAA+H,CAAYlM,GACV,MAAMgO,EAAiBz1F,KAAKw9B,MAAMi4D,eAIlC,GAHIA,EAAenoF,IAAIm6E,EAAM56B,YAC3B4oC,EAAehoF,IAAIg6E,EAAM56B,UAAW46B,IAEjCznF,KAAKw9B,MAAMwsD,QAAS,OACzB,MAAM4B,EAAU9D,MAAiBvhF,MAAMU,KAAKwuF,EAAer1F,WACtDwrF,GACL5rF,KAAKm2F,UAAU1O,EAAOmE,EACvB,CACD,SAAAuK,CAAU1O,EAAOmE,GACf,MAAMpuD,EAAQx9B,KAAKw9B,MACb44D,EAAS54D,EAAM6tD,QAAQ,GACvBgL,EAAUzK,EAAQr2E,MAAQ6gF,EAChC,IAAIE,EAAc,EACdnsF,KAAK2E,IAAIunF,GAAW,MAAKC,GAAensF,KAAK8E,KAAKonF,IACtDr2F,KAAKmpF,cAAc,CAACyC,EAAQrP,SAAUqP,EAAQr2E,MAAQ,IAAM+gF,IAC5D94D,EAAM+N,OAASqgD,EAAQrgD,OACvB/N,EAAMm4D,MAAQW,EACd94D,EAAM6sD,UAAY,CAAC7sD,EAAM6tD,QAAQ,GAAK7tD,EAAM8tD,SAAS,GAAK,EAAG9tD,EAAM6tD,QAAQ,GAAK7tD,EAAM8tD,SAAS,IAC/FtrF,KAAKwrF,QAAQ/D,GACbznF,KAAK+tF,MACN,CACD,QAAAwI,CAAS9O,GACPznF,KAAKkpF,KAAKmK,YAAY5L,GACjBznF,KAAKw9B,MAAMwsD,SACZhqF,KAAKw9B,MAAMk4D,UAAUvjF,MAAKsR,IAAOzjB,KAAKkpF,KAAKf,SAAS76E,IAAImW,OAC1DzjB,KAAKw9B,MAAMwsD,SAAU,EACrBhqF,KAAKwrF,QAAQ/D,GACbznF,KAAK+tF,OAER,CACD,UAAAyI,CAAW/O,GACT,MAAMjqD,EAAQx9B,KAAKw9B,MACnBx9B,KAAKkpF,KAAKmK,YAAY5L,GACtB,IACEA,EAAMziF,OAAOgvF,sBAAsBvM,EAAM56B,UAC/C,CAAM,MAAOq7B,GAAW,CAChB1qD,EAAMi4D,eAAenoF,IAAIm6E,EAAM56B,YACjCrvB,EAAMi4D,eAAe/8C,OAAO+uC,EAAM56B,WAE/BrvB,EAAMwsD,SACPxsD,EAAMi4D,eAAezjF,KAAO,IAC9BwrB,EAAMwsD,SAAU,EAChBhqF,KAAKwrF,QAAQ/D,GACbznF,KAAK+tF,OAER,CACD,YAAA0I,CAAahP,GACPA,EAAM3D,YAAY2D,EAAM7iE,iBAC5B,MAAM4Y,EAAQx9B,KAAKw9B,MACfA,EAAMwsD,UACVhqF,KAAK29B,MAAM8pD,GACXznF,KAAKmpF,cAAc,CAAC1B,EAAMjuE,MAAOiuE,EAAMhM,WACvCj+C,EAAM+N,OAAS,CAACk8C,EAAMljE,QAASkjE,EAAMjjE,SACrCxkB,KAAKwrF,QAAQ/D,GACbznF,KAAK+tF,OACN,CACD,WAAA2I,CAAYjP,GAEV,GADIA,EAAM3D,YAAY2D,EAAM7iE,kBACvB5kB,KAAKw9B,MAAMwsD,QAAS,OACzB,MAAMxsD,EAAQx9B,KAAKw9B,MACnBx9B,KAAKmpF,cAAc,CAAC1B,EAAMjuE,MAAOiuE,EAAMhM,WACvCj+C,EAAM+N,OAAS,CAACk8C,EAAMljE,QAASkjE,EAAMjjE,SACrC,MAAMmyE,EAAoBn5D,EAAM6sD,UAChC7sD,EAAM6sD,UAAY,CAAC5C,EAAMjuE,MAAQ,EAAGiuE,EAAMhM,UAC1Cj+C,EAAMgtD,OAASh+E,GAAEm5E,IAAInoD,EAAM6sD,UAAWsM,GACtC32F,KAAKwrF,QAAQ/D,GACbznF,KAAK+tF,MACN,CACD,UAAA6I,CAAWnP,GACJznF,KAAKw9B,MAAMwsD,UAChBhqF,KAAKw9B,MAAMwsD,SAAU,EACrBhqF,KAAKwrF,QAAQ/D,GACbznF,KAAK+tF,OACN,CACD,KAAA8I,CAAMpP,GACJ,MAAMqK,EAAc9xF,KAAK2pF,OAAOmI,YAC5BA,KAAgBvrF,MAAMC,QAAQsrF,GAAgBA,EAAYvoF,MAAKkC,GAAKg8E,EAAMh8E,KAAOg8E,EAAMqK,MACtF9xF,KAAKw9B,MAAMwsD,QAAqChqF,KAAK82F,YAAYrP,GAA7CznF,KAAK+2F,WAAWtP,GACzCznF,KAAKypF,aAAar6E,IAAI,WAAYpP,KAAKg3F,SAASrxF,KAAK3F,OACtD,CACD,UAAA+2F,CAAWtP,GACTznF,KAAK29B,MAAM8pD,GACXznF,KAAK82F,YAAYrP,EAClB,CACD,WAAAqP,CAAYrP,GACK,OAAQA,IAEjBA,EAAM3D,YACR2D,EAAM7iE,iBAEqB,gBAAzBkqE,QAAQC,IAAIC,UAA+BvH,EAAMxpB,kBACnDz1D,QAAQ2mF,KAAK,gJAGjB,MAAM3xD,EAAQx9B,KAAKw9B,MACnBA,EAAMgtD,OAAS,EAAE7B,GAAYlB,GAAO,GA9Md,IA8MuCjqD,EAAM6b,OAAO,GAAI,GAC9E7sC,GAAEo5E,MAAMpoD,EAAM6sD,UAAW7sD,EAAMgtD,QA5NnC,SAA4ChtD,GAC1C,MAAOwvD,EAAIC,GAAMzvD,EAAMstD,UAChB7vB,EAAIC,GAAM19B,EAAMgtD,QAChByM,EAAMC,GAAQ15D,EAAM+sD,YACvByC,EAAK,GAAK/xB,EAAK,GAAKg8B,EAAO,GAAKjK,EAAK,GAAK/xB,EAAK,GAAKg8B,EAAO,KAC7Dz5D,EAAM6sD,UAAU,GAAK7sD,EAAMutD,eAAe,KAExCkC,EAAK,GAAK/xB,EAAK,GAAKg8B,EAAO,GAAKjK,EAAK,GAAK/xB,EAAK,GAAKg8B,EAAO,KAC7D15D,EAAM6sD,UAAU,GAAK7sD,EAAMutD,eAAe,GAE9C,CAmNIoM,CAAmC35D,GACnCx9B,KAAKw9B,MAAM+N,OAAS,CAACk8C,EAAMljE,QAASkjE,EAAMjjE,SAC1CxkB,KAAKwrF,QAAQ/D,GACbznF,KAAK+tF,MACN,CACD,QAAAiJ,GACOh3F,KAAKw9B,MAAMwsD,UAChBhqF,KAAKw9B,MAAMwsD,SAAU,EACrBhqF,KAAKwrF,UACLxrF,KAAK+tF,OACN,CACD,IAAApoF,CAAK4vF,GACH,MAAM1O,EAAS7mF,KAAK2pF,OAAO9C,OACrBA,IACJ0O,EAAa1O,EAAQ,QAAS7mF,KAAK6mF,EAAS,SAASlhF,KAAK3F,OAC1Du1F,EAAa1O,EAAQ,SAAU7mF,KAAK6mF,EAAS,QAAQlhF,KAAK3F,OAC1Du1F,EAAa1O,EAAQ,MAAO7mF,KAAK6mF,EAAS,OAAOlhF,KAAK3F,OACtDu1F,EAAa1O,EAAQ,SAAU7mF,KAAK6mF,EAAS,OAAOlhF,KAAK3F,OACzDu1F,EAAa,qBAAsB,GAAIv1F,KAAK6mF,EAAS,OAAOlhF,KAAK3F,QAE/DA,KAAK2pF,OAAOoI,cACdwD,EAAa,QAAS,GAAIv1F,KAAK62F,MAAMlxF,KAAK3F,MAAO,CAC/CipD,SAAS,GAGd,GA0NDopC,SAAUZ,ICr6CZ,SAAS2F,GAAyB5zE,EAAQ6zE,GACxC,GAAc,MAAV7zE,EAAgB,MAAO,GAC3B,IACIpf,EAAK/F,EADL2G,EAfN,SAAuCwe,EAAQ6zE,GAC7C,GAAc,MAAV7zE,EAAgB,MAAO,GAC3B,IAEIpf,EAAK/F,EAFL2G,EAAS,CAAA,EACTsyF,EAAap6F,OAAOC,KAAKqmB,GAE7B,IAAKnlB,EAAI,EAAGA,EAAIi5F,EAAW35F,OAAQU,IACjC+F,EAAMkzF,EAAWj5F,GACbg5F,EAAS5vF,QAAQrD,IAAQ,IAC7BY,EAAOZ,GAAOof,EAAOpf,IAEvB,OAAOY,CACT,CAIeuyF,CAA8B/zE,EAAQ6zE,GAEnD,GAAIn6F,OAAOE,sBAAuB,CAChC,IAAIo6F,EAAmBt6F,OAAOE,sBAAsBomB,GACpD,IAAKnlB,EAAI,EAAGA,EAAIm5F,EAAiB75F,OAAQU,IACvC+F,EAAMozF,EAAiBn5F,GACnBg5F,EAAS5vF,QAAQrD,IAAQ,GACxBlH,OAAOJ,UAAU4K,qBAAqBtL,KAAKonB,EAAQpf,KACxDY,EAAOZ,GAAOof,EAAOpf,GAExB,CACD,OAAOY,CACT,CAEA,MAAMyyF,GAAuB,CAC3B,MAAAzyF,CAAO5G,GACL,GAAIA,EACF,MAAO,IAAM,YAAaA,EAAQA,EAAMmxF,QAAUnxF,CAGrD,EACDuwF,QAAO,CAACvwF,GAAQ,IACPA,EAETyJ,OAAM,CAACzJ,GAAQ8xF,GAAQF,UAAYnoF,YAASlD,KACnCvG,EAETwwF,aAAY,EAAC3lC,QACXA,GAAU,EAAI69B,QACdA,GAAU,GACR,MACK,CACL79B,UACA69B,YAGJ31E,UAAU/S,GACDA,GAILs5F,GAAY,CAAC,SAAU,eAAgB,SAAU,UAAW,aAClE,SAASC,GAAYhO,EAAS,CAAE,EAAEiO,GAChC,MAAM1+C,EAAS,CAAA,EACf,IAAK,MAAO90C,EAAKiuF,KAAan1F,OAAOqR,QAAQqpF,GAC3C,cAAevF,GACb,IAAK,WACH,GAA6B,gBAAzBvD,QAAQC,IAAIC,SAA4B,CAC1C,MAAM/xF,EAAIo1F,EAASj2F,KAAK88C,EAAQywC,EAAOvlF,GAAMA,EAAKulF,GAC7C9lF,OAAOzB,MAAMnF,KAAIi8C,EAAO90C,GAAOnH,EAC9C,MACUi8C,EAAO90C,GAAOiuF,EAASj2F,KAAK88C,EAAQywC,EAAOvlF,GAAMA,EAAKulF,GAExD,MACF,IAAK,SACHzwC,EAAO90C,GAAOuzF,GAAYhO,EAAOvlF,GAAMiuF,GACvC,MACF,IAAK,UACCA,IAAUn5C,EAAO90C,GAAOulF,EAAOvlF,IAIzC,OAAO80C,CACT,CA2CA,MAAM2+C,GACJ,WAAAl7F,CAAYusF,EAAM4O,GAChBj6F,GAAgBmC,KAAM,aAAc,IAAI+oE,KACxC/oE,KAAK+3F,MAAQ7O,EACblpF,KAAKg4F,YAAcF,CACpB,CACD,GAAA1oF,CAAI6oF,EAASpR,EAAQ35C,EAAQ28C,EAASj5C,GACpC,MAAMsnD,EAAYl4F,KAAKm4F,WACjB74F,ED5BV,SAAwBunF,EAAQ35C,EAAS,IACvC,MAAM65C,EAAcR,GAAeM,GAEnC,OAAOA,GADWE,GAAcA,EAAY75C,IAAoBA,EAElE,CCwBiBkrD,CAAevR,EAAQ35C,GAE9B0hD,EAAenxF,GAAeA,GAAe,CAAE,EADpCuC,KAAKg4F,YAAch4F,KAAK+3F,MAAMpO,OAAO3pF,KAAKg4F,aAAapJ,aAAe,CAAA,GACrBh+C,GAClEqnD,EAAQnhF,iBAAiBxX,EAAMuqF,EAAS+E,GACxC,MAAM/gF,EAAS,KACboqF,EAAQhhF,oBAAoB3X,EAAMuqF,EAAS+E,GAC3CsJ,EAAUx/C,OAAO7qC,EAAO,EAG1B,OADAqqF,EAAU9oF,IAAIvB,GACPA,CACR,CACD,KAAAmgF,GACEhuF,KAAKm4F,WAAWv6F,SAAQiQ,GAAUA,MAClC7N,KAAKm4F,WAAWl6E,OACjB,EAGH,MAAMo6E,GACJ,WAAA17F,GACEkB,GAAgBmC,KAAM,YAAa,IAAIqN,IACxC,CACD,GAAA+B,CAAIhL,EAAKk0F,EAAUhgE,EAAK,OAAQ7zB,GAC9BzE,KAAK6N,OAAOzJ,GACZpE,KAAKu4F,UAAU9qF,IAAIrJ,EAAKyD,OAAOk2B,WAAWu6D,EAAUhgE,KAAO7zB,GAC5D,CACD,MAAAoJ,CAAOzJ,GACL,MAAMo0F,EAAUx4F,KAAKu4F,UAAUzyF,IAAI1B,GAC/Bo0F,GAAS3wF,OAAOyjD,aAAaktC,EAClC,CACD,KAAAxK,GACEhuF,KAAKu4F,UAAU36F,SAAQ46F,IAAgB3wF,OAAOyjD,aAAaktC,EAAQ,IACnEx4F,KAAKu4F,UAAUt6E,OAChB,EAGH,MAAMw6E,GACJ,WAAA97F,CAAYmtF,GACVjsF,GAAgBmC,KAAM,WAAY,IAAI+oE,KACtClrE,GAAgBmC,KAAM,oBAAqB,IAAI63F,GAAW73F,OAC1DnC,GAAgBmC,KAAM,qBAAsB,CAAA,GAC5CnC,GAAgBmC,KAAM,uBAAwB,CAAA,GAC9CnC,GAAgBmC,KAAM,WAAY,CAAA,GAClCnC,GAAgBmC,KAAM,SAAU,CAAA,GAChCnC,GAAgBmC,KAAM,aAAc,IAAI+oE,KACxClrE,GAAgBmC,KAAM,WAAY,IAAI+oE,KACtClrE,GAAgBmC,KAAM,QAAS,CAC7BspF,OAAQ,CACN1jC,UAAU,EACV6d,SAAS,EACTD,SAAS,EACT3d,QAAQ,KA+EhB,SAAyBqjC,EAAMwP,GACzBA,EAAiB1uC,MAAM2uC,GAAazP,EAAM,QAC1CwP,EAAiB7B,OAAO8B,GAAazP,EAAM,SAC3CwP,EAAiBE,QAAQD,GAAazP,EAAM,UAC5CwP,EAAiBG,MAAMF,GAAazP,EAAM,QAC1CwP,EAAiBI,OAAOH,GAAazP,EAAM,SAC3CwP,EAAiBK,OAAOJ,GAAazP,EAAM,QACjD,CAnFI8P,CAAgBh5F,KAAM8pF,EACvB,CACD,WAAAuJ,CAAY5L,GACV,OAAID,GAAQC,IACVznF,KAAKmoF,SAAW,IAAIpf,IAAIof,GAASV,IAC1BznF,KAAKmoF,UACH,cAAeV,GACL,cAAfA,EAAMnoF,MAAuC,kBAAfmoF,EAAMnoF,KAA0BU,KAAKyrF,WAAW/yC,OAAO+uC,EAAM56B,WAAmC,gBAAf46B,EAAMnoF,MAAwBU,KAAKyrF,WAAWr8E,IAAIq4E,EAAM56B,WACpK7sD,KAAKyrF,iBAFP,CAIR,CACD,aAAAwN,CAAcnP,EAAUoP,GACtBl5F,KAAK8pF,SAAWA,EAChB9pF,KAAKk5F,eAAiBA,CACvB,CACD,WAAAC,CAAYxP,EAAQmO,GAClB93F,KAAK2pF,OAvHT,SAAeyP,EAAWtB,EAAYuB,EAAU,CAAA,GAC9C,MAAMvY,EAAOsY,GACXp0F,OACEA,EAAM4pF,aACNA,EAAY/mF,OACZA,EAAM8mF,QACNA,EAAOx9E,UACPA,GACE2vE,EACJwY,EAAOlC,GAAyBtW,EAAM4W,IAQxC,GAPA2B,EAAQ/P,OAASqO,GAAY,CAC3B3yF,SACA4pF,eACA/mF,SACA8mF,UACAx9E,aACCsmF,IACCK,EAAY,CACd,MAAMzF,EAAWH,GAAkBpsF,IAAIgyF,GACvCuB,EAAQvB,GAAcH,GAAYl6F,GAAe,CAC/C6rF,OAAQ+P,EAAQ/P,QACfgQ,GAAOjH,EACd,MACI,IAAK,MAAMjuF,KAAOk1F,EAAM,CACtB,MAAMjH,EAAWH,GAAkBpsF,IAAI1B,GACvC,GAAIiuF,EACFgH,EAAQj1F,GAAOuzF,GAAYl6F,GAAe,CACxC6rF,OAAQ+P,EAAQ/P,QACfgQ,EAAKl1F,IAAOiuF,QACV,GAA6B,gBAAzBvD,QAAQC,IAAIC,WAChB,CAAC,OAAQ,QAAS,SAAU,QAAS,OAAQ,SAAS98E,SAAS9N,GAAM,CACxE,GAAY,cAARA,EACF,MAAMtD,MAAM,oEAEd0H,QAAQ2mF,KAAK,wCAAwC/qF,uEACtD,CAEJ,CAEH,OAAOi1F,CACT,CA+EkBz1E,CAAM+lE,EAAQmO,EAAY93F,KAAK2pF,OAC9C,CACD,KAAAqE,GACEhuF,KAAKu5F,kBAAkBvL,QACvB,IAAK,MAAM5pF,KAAOpE,KAAKw5F,SACrBx5F,KAAKwpF,mBAAmBplF,GAAK4pF,QAC7BhuF,KAAK0pF,qBAAqBtlF,GAAK4pF,OAElC,CACD,MAAAyL,GAEE,OADIz5F,KAAK2pF,OAAOL,OAAOtkF,QAAQhF,KAAK2F,OAC7B,IAAM3F,KAAKu5F,kBAAkBvL,OACrC,CACD,IAAAroF,IAAQlB,GACN,MAAMmlF,EAAe5pF,KAAK2pF,OAAOL,OAC3BrkF,EAAQ,CAAA,EACd,IAAID,EACJ,IAAI4kF,EAAa5kF,SACfA,EAAS4kF,EAAa5kF,SACjBA,GAFP,CAIA,GAAI4kF,EAAa+E,QAAS,CACxB,IAAK,MAAMmJ,KAAc93F,KAAKw5F,SAAU,CACtC,MAAME,EAAgB15F,KAAK2pF,OAAOmO,GAC5BvC,EAAeoE,GAAY10F,EAAOy0F,EAAc9K,eAAgB5pF,GACtE,GAAI00F,EAAc/K,QAAS,CAEzB,IADesD,GAAUnsF,IAAIgyF,GAC7B,CAAW93F,KAAMyE,EAAMqzF,GAAYnyF,KAAK4vF,EACzC,CACF,CACD,MAAMqE,EAAqBD,GAAY10F,EAAO2kF,EAAagF,eAAgB5pF,GAC3E,IAAK,MAAMqiF,KAAYrnF,KAAKk5F,eAC1BU,EAAmBvS,EAAU,IAAII,GAASznF,KAAKk5F,eAAe7R,GAAU5pF,GAAeA,GAAe,CAAA,EAAIuC,KAAKw9B,MAAM8rD,QAAS,GAAI,CAChI7B,QACAhjF,gBACGE,GAAW,EAEnB,CACD,IAAK,MAAMk1F,KAAe50F,EACxBA,EAAM40F,GAAe/Q,MAAS7jF,EAAM40F,IAEtC,IAAK70F,EAAQ,OAAOC,EACpB,IAAK,MAAM40F,KAAe50F,EAAO,CAC/B,MAAM4hF,OACJA,EAAMC,QACNA,EAAO79B,QACPA,GACEk+B,GAAU0S,GACd75F,KAAKu5F,kBAAkBnqF,IAAIpK,EAAQ6hF,EAAQ,GAAI5hF,EAAM40F,GAAc,CACjE/S,UACA79B,WAEH,CAhCA,CAiCF,EAEH,SAAS0vC,GAAazP,EAAM4O,GAC1B5O,EAAKsQ,SAASpqF,IAAI0oF,GAClB5O,EAAKM,mBAAmBsO,GAAc,IAAID,GAAW3O,EAAM4O,GAC3D5O,EAAKQ,qBAAqBoO,GAAc,IAAIO,EAC9C,CASA,MAAMsB,GAAc,CAAC10F,EAAO2pF,EAAckL,IAAsB,CAACjT,EAAQ35C,EAAQ28C,EAASj5C,EAAU,GAAImpD,GAAW,KACjH,IAAIC,EAAkBC,EACtB,MAAMnT,EAAmD,QAAxCkT,EAAmBppD,EAAQk2C,eAA0C,IAArBkT,EAA8BA,EAAmBpL,EAAa9H,QACzH79B,EAAmD,QAAxCgxC,EAAmBrpD,EAAQqY,eAA0C,IAArBgxC,EAA8BA,EAAmBrL,EAAa3lC,QAC/H,IAAI4wC,EAAcE,EAAWlT,EAASD,GAAcC,EAAQ35C,EAAQ45C,GAChEgT,GAAqB7wC,IAAS4wC,GAAe,WACjD50F,EAAM40F,GAAe50F,EAAM40F,IAAgB,GAC3C50F,EAAM40F,GAAar8F,KAAKqsF,EAAQ,EC7QlC,SAASqQ,GAAepQ,EAAUH,EAAS,CAAA,EAAImO,EAAYoB,GACzD,MAAMhQ,EAAOiR,EAAK,QAACC,SAAQ,IAAM,IAAI3B,GAAW3O,IAAW,IAO3D,GANAZ,EAAK+P,cAAcnP,EAAUoP,GAC7BhQ,EAAKiQ,YAAYxP,EAAQmO,GACzBqC,EAAK,QAACE,UAAUnR,EAAKuQ,OAAO9zF,KAAKujF,IACjCiR,EAAK,QAACE,WAAU,IACPnR,EAAK8E,MAAMroF,KAAKujF,IACtB,SACmBvkF,IAAlBglF,EAAO3kF,OACT,OAAOkkF,EAAKvjF,KAAKA,KAAKujF,EAG1B,CCjBO,MAAMoR,GAAUC,EAAAA,QAAOC,GAAG;;;;;EAOpBC,GAASF,EAAAA,QAAOrsF,MAA4B;GACtD,EAAGwsF,aAAcA,GAAW;ECGlBC,GAAcC,EAAUA,YAAC,CAAC31F,EAA0B41F,KAIhE,MAAMC,YAAEA,EAAWC,iBAAEA,EAAgBC,QAAEA,EAAO9hE,MAAEA,EAAK+hE,MAAEA,GAAUh2F,EAC3Di2F,EAAaC,SAAuB,MACpCC,EAAYD,SAA0B,MACtCE,EAAeF,EAAAA,SACfG,EAAmBH,EAAAA,SACnBI,EAAcJ,EAAAA,SACdK,EAAcL,EAAAA,SACd3B,EAAW2B,EAAAA,OAAO,CACvBM,iBAAkB,IAEbC,EAAeC,EAAAA,kBAErBC,EAAmBA,oBAACf,GAAK,KAAO,CAC/BgB,eACAC,OAAQ,IACHT,EAAa9L,SAChBwM,IACO,CACNf,QAASK,EAAa9L,QACpB39E,aACAyF,KAAK/R,GAAsB,UAAbA,EAAIhG,KAAmBgG,OAAMX,IAC3CtH,QAAQiI,GAAQA,IAClB02F,QAASC,MAIJ,CACNjB,QAAS,GACTgB,QAAS,QAMZ,MAAMC,EAAqB,CAACC,EAAQpB,EAAa/2E,EAAU,KAC1D,GAAIu3E,EAAiB/L,QAAS,CAC7B,MAAMyM,EACLX,EAAa9L,SAASh7E,UAAU,CAC/BuP,OAAQ,OACRE,YAAas3E,EAAiB/L,QAAQt8E,OAAS,GAAKqoF,EAAiB/L,QAAQzuD,iBAC7E/c,UACA/Q,IAAKsoF,EAAiB/L,QAAQv8E,IAC9BD,KAAMuoF,EAAiB/L,QAAQx8E,KAC/BG,OAAQooF,EAAiB/L,QAAQvuD,kBACjC/tB,MAAOqoF,EAAiB/L,QAAQzuD,oBAC3B,GAEDq7D,EAAiBp4E,EAAU,IACjC,GAAIo4E,EAAiB,EAAG,OAAOH,EAE/B,MAAMI,EAAcC,EAAAA,WAAWC,sBAAsBN,GAC/CO,EAAqB,KAARL,EACnB,OAAIK,GAAcH,EAAcG,EAAmBN,EAAmBC,EAAOC,GAEtEH,CACP,CACD,MAAO,EAAE,EAIV3B,EAAAA,WAAU,KACT,IAAInsF,EAaJ,OAZIgtF,EAAW3L,SAAW6L,EAAU7L,UACnC6L,EAAU7L,QAAQt8E,MAAQioF,EAAW3L,SAASluB,YAC9C+5B,EAAU7L,QAAQr8E,OAASgoF,EAAW3L,SAASjuB,aAE/CpzD,EAAS,IAAIsuF,GAAaC,EAAAA,WAAWC,WAAW,gBAChDrB,EAAa9L,QAAUrhF,EACvBmtF,EAAa9L,QAAQ/qC,WAAY,EACjC+2C,EAAYhM,QAAU,IAAIoN,GAAYtB,EAAa9L,SACnDiM,EAAYjM,QAAU,IAAIxM,GAAYsY,EAAa9L,SACnD8L,EAAa9L,QAAQhrC,iBAAmBg3C,EAAYhM,SAG9C,KACFrhF,GACHA,EAAOlE,SACP,CACD,GACC,IAGHqwF,EAAAA,WAAU,KACT,MAAMuC,EAAeh6F,UACpB,GAAIs4F,EAAW3L,SAAW6L,EAAU7L,SAAW8L,EAAa9L,SAAW+L,EAAiB/L,QAAS,OAE1F,IAAI1sF,SAASnC,GAAYq9B,WAAWr9B,KAE1Cq7F,IAEA,MAAMc,EAAc3B,EAAW3L,QAAQluB,YACjCy7B,EAAe5B,EAAW3L,QAAQjuB,aAClCy7B,EAAoBzB,EAAiB/L,QAAQx8E,MAAQ,EACrDiqF,EAAmB1B,EAAiB/L,QAAQv8E,KAAO,EAEzDqoF,EAAa9L,QAAQpyE,SAAS0/E,GAC9BxB,EAAa9L,QAAQnyE,UAAU0/E,GAE/B,MAAMtjF,EAAQrP,KAAKqG,IAClBqsF,EAAcvB,EAAiB/L,QAAQzuD,iBACvCg8D,EAAexB,EAAiB/L,QAAQvuD,mBAGzCi8D,IAEsB5B,EAAa9L,QAAQ39E,aAC7BhU,SAAS0H,IAEhBA,EAAY4oE,WACjB5oE,EAAIkQ,QAAUlQ,EAAIkQ,QAAU,GAAKgE,EACjClU,EAAImQ,QAAUnQ,EAAImQ,QAAU,GAAK+D,EACjClU,EAAIyN,MACFuoF,EAAiB/L,SAASx8E,MAAQ,KAAOzN,EAAIyN,MAAQ,GAAKgqF,GAAqBvjF,EACjFlU,EAAI0N,KAAOsoF,EAAiB/L,SAASv8E,KAAO,KAAO1N,EAAI0N,KAAO,GAAKgqF,GAAoBxjF,GAExFlU,EAAIwX,WAAW,GAEhB,GAIF,OAFAjV,OAAOiP,iBAAiB,SAAU8lF,GAClCnmB,OAAOymB,aAAapmF,iBAAiB,SAAU8lF,GACxC,KACN/0F,OAAOoP,oBAAoB,SAAU2lF,GACrCnmB,OAAOymB,aAAajmF,oBAAoB,SAAU2lF,EAAa,CAC/D,GACC,IAGH,MAAMb,EAAuB,KAC5B,GAAIV,EAAa9L,QAAS,CACzB8L,EAAa9L,QAAQ5xE,QAAQ,GAE7B,MAAMklE,EAAMwY,EAAa9L,QAAQrzE,mBAAqB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GACtE2mE,EAAI,GAAK,EACTA,EAAI,GAAK,EAETwY,EAAa9L,QAAQ1yE,kBACrB,GAMIg/E,EAAe,KAChBR,EAAa9L,SAChB8L,EAAa9L,QAAQ39E,aAAahU,SAAS0H,IACrCA,EAAIuM,OAAO,UAAUwpF,EAAa9L,SAAS1hF,OAAOvI,EAAI,GAE5D,EAGI23F,EAAmB,KACxB,GAAI5B,EAAa9L,SAAW+L,EAAiB/L,QAAS,CACrD,MAAM4N,EAAM7B,EAAiB/L,QACvB6N,EAAc/B,EAAa9L,QAAQtyE,WAAao+E,EAAa9L,QAAQryE,YAc3E,IAbkBigF,EAAIlqF,OAAS,IAAMkqF,EAAIjqF,QAAU,IACnCkqF,GACfD,EAAIj8D,cAAcm6D,EAAa9L,SAASryE,aAAe,GACvDigF,EAAIpqF,MAAQsoF,EAAa9L,QAAQtyE,WAAakgF,EAAIr8D,kBAAoB,EACtEq8D,EAAInqF,IAAM,IAEVmqF,EAAIl8D,aAAao6D,EAAa9L,SAAStyE,YAAc,GACrDkgF,EAAInqF,KAAOqoF,EAAa9L,QAAQryE,YAAcigF,EAAIn8D,mBAAqB,EACvEm8D,EAAIpqF,KAAO,GAKR2oF,KAAkB0B,EAAc,EAAG,CACtC,MAAMC,EAAelzF,KAAKqG,KAAK6qF,EAAa9L,QAAQt8E,OAAS,GAAKkqF,EAAIr8D,iBAAmB,GAhL5E,GAiLbu6D,EAAa9L,QAAQ7xE,YACpB,IAAI4/E,IAAOjC,EAAa9L,QAAQt8E,OAAS,GAAK,GAAIooF,EAAa9L,QAAQr8E,QAAU,GAAK,GACtFmqF,EAED,CAEDhC,EAAa9L,QAAQtwE,SAAW,IAAIs+E,GAAK,CACxCxqF,KAAMoqF,EAAIpqF,KACVC,IAAKmqF,EAAInqF,IACTC,MAAOkqF,EAAIr8D,iBACX5tB,OAAQiqF,EAAIn8D,oBAGTu6D,EAAYhM,SAAWiM,EAAYjM,UACtCgM,EAAYhM,QAAQt8E,MA9LE,IA8L2BkqF,EAAI3nF,QAAU,GAC/DgmF,EAAYjM,QAAQt8E,MA/LE,IA+L2BkqF,EAAI3nF,QAAU,GAAK,GAGrE2nF,EAAIrgF,YACJu+E,EAAa9L,QAAQ1yE,kBACrB,GAIFw9E,EAAAA,WAAU,KACiBz3F,WACzB,GAAIm4F,EAAkB,CACrB,MAAMoC,QAAYK,GAAY3tB,QAAQkrB,GAClCM,EAAa9L,UACZ+L,EAAiB/L,SACpB8L,EAAa9L,QAAQ1hF,OAAOytF,EAAiB/L,SAE9C4N,EAAI/pF,YAAa,EACjB+pF,EAAI9sD,YAAc,UAClB8sD,EAAIvc,UAAW,EACfya,EAAa9L,QAAQ79E,SAAS,EAAGyrF,GACjC7B,EAAiB/L,QAAU4N,EAC3BpB,IACAkB,IAED,GAEFQ,EAAmB,GACjB,CAAC1C,IAGJV,EAAAA,WAAU,KACLgB,EAAa9L,UAChB8L,EAAa9L,QAAQ39E,aAAahU,SAAS0H,IACzB,UAAbA,EAAIhG,MACP+7F,EAAa9L,QAAQ1hF,OAAOvI,EAC5B,IAEF01F,GAASp9F,SAASqC,IACjBo7F,EAAa9L,QAAQngF,IAAInP,EAAE,IAE5Bo7F,EAAa9L,QAAQ1yE,mBACrB,GACC,CAACm+E,IAOJX,EAAAA,WAAU,KACLgB,EAAa9L,UACZr2D,GAAS+hE,EACZI,EAAa9L,QAAQnrC,eAAgB,EAC3Bi3C,EAAa9L,QAAQnrC,gBAC/Bi3C,EAAa9L,QAAQnrC,eAAgB,EACrC23C,KAED,GACC,CAAC7iE,EAAO+hE,IAEXZ,EAAAA,WAAU,KACLkB,EAAYhM,SAAWr2D,IAC1BqiE,EAAYhM,QAAQr2D,MAAQA,EAC5B,GACC,CAACA,IAEJmhE,EAAAA,WAAU,KACLgB,EAAa9L,UACZ0L,EACHI,EAAa9L,QAAQhrC,iBAAmBi3C,EAAYjM,QAC1CgM,EAAYhM,UACtB8L,EAAa9L,QAAQhrC,iBAAmBg3C,EAAYhM,SAErD,GACC,CAAC0L,IAKJ,MAAMyC,EAAmBzhG,IACxB,GAA0B,oBAAf0hG,YAA8B1hG,EAAEA,aAAa0hG,YAAqC,IAAvB1hG,EAAEA,EAAE+wD,QAAQrvD,QACvD,oBAAfggG,YAA8BtC,EAAa9L,SAAW8L,EAAa9L,QAAQnrC,cAAe,CACpGi3C,EAAa9L,QAAQnrC,eAAgB,EAIrC,IACEi3C,EAAa9L,QAAQhrC,iBAAyB2J,UAAU,CAAEjyD,EAAG,CAAE,GAChE,CAAC,MAAOA,GAAK,CACd,MAAM2hG,EAAgBvC,EAAa9L,QAAQ39E,aACvCgsF,EAAcjgG,OAAS,GAC1B09F,EAAa9L,QAAQ1hF,OAAO+vF,EAAcA,EAAcjgG,OAAS,GAElE,CACD,EAGIkgG,EAAiB5hG,IACI,oBAAf0hG,YAA8B1hG,EAAEA,aAAa0hG,YAAqC,IAAvB1hG,EAAEA,EAAE+wD,QAAQrvD,SACjF67F,EAASjK,QAAQkM,iBAAmB,EAChCJ,EAAa9L,UAAYr2D,GAAS+hE,KACrCI,EAAa9L,QAAQnrC,eAAgB,IAIvCi3C,EAAa9L,SAAS39E,aAAahU,SAAS0H,IAC3CA,EAAI8N,YAAa,EACjB9N,EAAI+qC,YAAc,SAAS,GAC1B,EAGGytD,EAAwB7hG,IAChBA,EAAEg6B,KACV2qD,UAAW,CAAI,EFhStB,IAAkBiJ,EAASF,EE+V1B,OA5DA0Q,EAAAA,WAAU,KACLgB,EAAa9L,UAChB8L,EAAa9L,QAAQlhF,GAAG,aAAcqvF,GACtCrC,EAAa9L,QAAQlhF,GAAG,WAAYwvF,GACpCxC,EAAa9L,QAAQlhF,GAAG,eAAgByvF,IAGlC,KACFzC,EAAa9L,UAChB8L,EAAa9L,QAAQ/gF,IAAI,aAAckvF,GACvCrC,EAAa9L,QAAQ/gF,IAAI,WAAYqvF,GACrCxC,EAAa9L,QAAQlhF,GAAG,eAAgByvF,GACxC,IAEA,CAACzC,EAAa9L,QAASr2D,EAAO+hE,IFjThBpR,EEoThB,EAAGxwC,SAAQ9N,SAAQyhB,cAClB,IAAI9zB,GAAS+hE,IACRI,EAAa9L,SAAuB,IAAZviC,EAC3B,GAA0C,IAAtCwsC,EAASjK,QAAQkM,iBACpBjC,EAASjK,QAAQkM,iBAAmBJ,EAAa9L,QAAQ/xE,cACnD,CACN,MAAMhE,EAAQ6/B,EAAO,GACrB,IAAI0kD,EAAOvE,EAASjK,QAAQkM,iBAAmBjiF,EAC3CukF,EAAO,EAAGA,EAAO,EACZA,EA/UE,IA+UeA,EA/Uf,GAgVX,MAAO/Q,EAAIC,GAAM1hD,EACjB8vD,EAAa9L,QAAQ7xE,YAAY,IAAI4/E,GAAMtQ,EAAIC,GAAK8Q,EACpD,CAEF,EFlUuBpU,EEoUzB,CAAE3kF,OAAQk2F,EAAY10E,QAAS,CAAEigE,OAAO,IFnUxC0L,GAAeqD,IACR0E,GAAe,CACpBpB,MAAOjP,GACNF,GAAU,GAAI,SAXnB,SAAiBE,EAASF,GACxBwI,GAAeG,IACR4H,GAAe,CACpBlwC,KAAM6/B,GACLF,GAAU,GAAI,OACnB,CEyUCqU,EACC,EAAG9S,OAAQjwB,EAAIC,GAAKlO,cACnB,IAAI9zB,GAAS+hE,IACRI,EAAa9L,SAAuB,IAAZviC,EAAe,CAC1CquC,EAAa9L,QAAQ1xE,YAAY,IAAIy/E,GAAMriC,EAAIC,IAE/C,MAAM2nB,EAAMwY,EAAa9L,QAAQrzE,mBAAqB,GAChD6hF,EAAO1C,EAAa9L,QAAQ/xE,UAC9BqlE,EAAI,IAAM,EACbA,EAAI,GAAK,EACCA,EAAI,IAAMwY,EAAa9L,QAAQtyE,YAAc8gF,EAAO,KAC9Dlb,EAAI,IAAMwY,EAAa9L,QAAQtyE,YAAc8gF,EAAO,IAEjDlb,EAAI,IAAM,EACbA,EAAI,GAAK,EACCA,EAAI,IAAMwY,EAAa9L,QAAQryE,aAAe6gF,EAAO,KAC/Dlb,EAAI,IAAMwY,EAAa9L,QAAQryE,aAAe6gF,EAAO,GAEtD,CACD,GAEF,CAAE/4F,OAAQk2F,EAAY10E,QAAS,CAAEigE,OAAO,KAIxCwX,EAACC,IAAA5D,GAAQ,CAAAO,IAAKK,EAAUiD,SACvBF,MAACxD,IAAOh3E,GAAIg5E,EAAUA,WAACC,WAAW,eAAgB7B,IAAKO,EAAWV,WAAYxhE,IAAS+hE,MAEvF"}
1
+ {"version":3,"file":"index.c8a96a82.js","sources":["../../../node_modules/@erase2d/fabric/dist/_virtual/_rollupPluginBabelHelpers.js","../../../node_modules/fabric/dist/index.min.mjs","../../../node_modules/@erase2d/fabric/dist/fabric/src/ClippingGroup.js","../../../node_modules/@erase2d/fabric/dist/core/dist/src/erase.js","../../../node_modules/@erase2d/fabric/dist/fabric/src/ErasingEffect.js","../../../node_modules/@erase2d/fabric/dist/fabric/src/EraserBrush.js","../../../node_modules/@use-gesture/core/dist/maths-0ab39ae9.esm.js","../../../node_modules/@use-gesture/core/dist/actions-fe213e88.esm.js","../../../node_modules/@use-gesture/core/dist/use-gesture-core.esm.js","../../../node_modules/@use-gesture/react/dist/use-gesture-react.esm.js","../../../src/components/fields/image-upload/image-review/image-editor/image-editor.styles.ts","../../../src/components/fields/image-upload/image-review/image-editor/image-editor.tsx"],"sourcesContent":["function _callSuper(t, o, e) {\n return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));\n}\nfunction _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function () {\n return !!t;\n })();\n}\nfunction _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _regeneratorRuntime() {\n _regeneratorRuntime = function () {\n return e;\n };\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function (t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == typeof h && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function (t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator.return && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(typeof e + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function (e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function () {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function (e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function (t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function (t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function (t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n catch: function (t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function (e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : String(i);\n}\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nfunction _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return _assertThisInitialized(self);\n}\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n return object;\n}\nfunction _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get.bind();\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n return desc.value;\n };\n }\n return _get.apply(this, arguments);\n}\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nexport { _arrayLikeToArray as arrayLikeToArray, _arrayWithHoles as arrayWithHoles, _arrayWithoutHoles as arrayWithoutHoles, _assertThisInitialized as assertThisInitialized, _asyncToGenerator as asyncToGenerator, _callSuper as callSuper, _classCallCheck as classCallCheck, _createClass as createClass, _defineProperty as defineProperty, _get as get, _getPrototypeOf as getPrototypeOf, _inherits as inherits, _isNativeReflectConstruct as isNativeReflectConstruct, _iterableToArray as iterableToArray, _iterableToArrayLimit as iterableToArrayLimit, _nonIterableRest as nonIterableRest, _nonIterableSpread as nonIterableSpread, _objectSpread2 as objectSpread2, _possibleConstructorReturn as possibleConstructorReturn, _regeneratorRuntime as regeneratorRuntime, _setPrototypeOf as setPrototypeOf, _slicedToArray as slicedToArray, _superPropBase as superPropBase, _toConsumableArray as toConsumableArray, _toPrimitive as toPrimitive, _toPropertyKey as toPropertyKey, _unsupportedIterableToArray as unsupportedIterableToArray };\n//# sourceMappingURL=_rollupPluginBabelHelpers.js.map\n","function t(t,e,s){return(e=function(t){var e=function(t,e){if(\"object\"!=typeof t||!t)return t;var s=t[Symbol.toPrimitive];if(void 0!==s){var i=s.call(t,e||\"default\");if(\"object\"!=typeof i)return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"==typeof e?e:e+\"\"}(e))in t?Object.defineProperty(t,e,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[e]=s,t}function e(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),s.push.apply(s,i)}return s}function s(s){for(var i=1;i<arguments.length;i++){var r=null!=arguments[i]?arguments[i]:{};i%2?e(Object(r),!0).forEach((function(e){t(s,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(r)):e(Object(r)).forEach((function(t){Object.defineProperty(s,t,Object.getOwnPropertyDescriptor(r,t))}))}return s}function i(t,e){if(null==t)return{};var s,i,r=function(t,e){if(null==t)return{};var s={};for(var i in t)if({}.hasOwnProperty.call(t,i)){if(e.indexOf(i)>=0)continue;s[i]=t[i]}return s}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(i=0;i<n.length;i++)s=n[i],e.indexOf(s)>=0||{}.propertyIsEnumerable.call(t,s)&&(r[s]=t[s])}return r}function r(t,e){return e||(e=t.slice(0)),Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}class n{constructor(){t(this,\"browserShadowBlurConstant\",1),t(this,\"DPI\",96),t(this,\"devicePixelRatio\",\"undefined\"!=typeof window?window.devicePixelRatio:1),t(this,\"perfLimitSizeTotal\",2097152),t(this,\"maxCacheSideLimit\",4096),t(this,\"minCacheSideLimit\",256),t(this,\"disableStyleCopyPaste\",!1),t(this,\"enableGLFiltering\",!0),t(this,\"textureSize\",4096),t(this,\"forceGLPutImageData\",!1),t(this,\"cachesBoundsOfCurve\",!1),t(this,\"fontPaths\",{}),t(this,\"NUM_FRACTION_DIGITS\",4)}}const o=new class extends n{constructor(t){super(),this.configure(t)}configure(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.assign(this,t)}addFonts(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.fontPaths=s(s({},this.fontPaths),t)}removeFonts(){(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).forEach((t=>{delete this.fontPaths[t]}))}clearFonts(){this.fontPaths={}}restoreDefaults(t){const e=new n,s=(null==t?void 0:t.reduce(((t,s)=>(t[s]=e[s],t)),{}))||e;this.configure(s)}},a=function(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];return console[t](\"fabric\",...s)};class h extends Error{constructor(t,e){super(\"fabric: \".concat(t),e)}}class c extends h{constructor(t){super(\"\".concat(t,\" 'options.signal' is in 'aborted' state\"))}}class l{}class u extends l{testPrecision(t,e){const s=\"precision \".concat(e,\" float;\\nvoid main(){}\"),i=t.createShader(t.FRAGMENT_SHADER);return!!i&&(t.shaderSource(i,s),t.compileShader(i),!!t.getShaderParameter(i,t.COMPILE_STATUS))}queryWebGL(t){const e=t.getContext(\"webgl\");e&&(this.maxTextureSize=e.getParameter(e.MAX_TEXTURE_SIZE),this.GLPrecision=[\"highp\",\"mediump\",\"lowp\"].find((t=>this.testPrecision(e,t))),e.getExtension(\"WEBGL_lose_context\").loseContext(),a(\"log\",\"WebGL: max texture size \".concat(this.maxTextureSize)))}isSupported(t){return!!this.maxTextureSize&&this.maxTextureSize>=t}}const d={};let g;const f=t=>{g=t},p=()=>g||(g={document:document,window:window,isTouchSupported:\"ontouchstart\"in window||\"ontouchstart\"in document||window&&window.navigator&&window.navigator.maxTouchPoints>0,WebGLProbe:new u,dispose(){},copyPasteData:d}),m=()=>p().document,v=()=>p().window,y=()=>{var t;return Math.max(null!==(t=o.devicePixelRatio)&&void 0!==t?t:v().devicePixelRatio,1)};const _=new class{constructor(){t(this,\"charWidthsCache\",{}),t(this,\"boundsOfCurveCache\",{})}getFontCache(t){let{fontFamily:e,fontStyle:s,fontWeight:i}=t;e=e.toLowerCase(),this.charWidthsCache[e]||(this.charWidthsCache[e]={});const r=this.charWidthsCache[e],n=\"\".concat(s.toLowerCase(),\"_\").concat((i+\"\").toLowerCase());return r[n]||(r[n]={}),r[n]}clearFontCache(t){(t=(t||\"\").toLowerCase())?this.charWidthsCache[t]&&delete this.charWidthsCache[t]:this.charWidthsCache={}}limitDimsByArea(t){const{perfLimitSizeTotal:e}=o,s=Math.sqrt(e*t);return[Math.floor(s),Math.floor(e/s)]}};const x=\"6.7.1\";function C(){}const b=Math.PI/2,S=2*Math.PI,w=Math.PI/180,T=Object.freeze([1,0,0,1,0,0]),O=16,k=.4477152502,D=\"center\",M=\"left\",P=\"top\",E=\"bottom\",A=\"right\",j=\"none\",F=/\\r?\\n/,L=\"moving\",R=\"scaling\",I=\"rotating\",B=\"rotate\",X=\"skewing\",Y=\"resizing\",W=\"modifyPoly\",V=\"modifyPath\",z=\"changed\",G=\"scale\",H=\"scaleX\",N=\"scaleY\",U=\"skewX\",q=\"skewY\",K=\"fill\",J=\"stroke\",Q=\"modified\",Z=\"json\",$=\"svg\";const tt=new class{constructor(){this[Z]=new Map,this[$]=new Map}has(t){return this[Z].has(t)}getClass(t){const e=this[Z].get(t);if(!e)throw new h(\"No class registered for \".concat(t));return e}setClass(t,e){e?this[Z].set(e,t):(this[Z].set(t.type,t),this[Z].set(t.type.toLowerCase(),t))}getSVGClass(t){return this[$].get(t)}setSVGClass(t,e){this[$].set(null!=e?e:t.type.toLowerCase(),t)}};const et=new class extends Array{remove(t){const e=this.indexOf(t);e>-1&&this.splice(e,1)}cancelAll(){const t=this.splice(0);return t.forEach((t=>t.abort())),t}cancelByCanvas(t){if(!t)return[];const e=this.filter((e=>{var s;return e.target===t||\"object\"==typeof e.target&&(null===(s=e.target)||void 0===s?void 0:s.canvas)===t}));return e.forEach((t=>t.abort())),e}cancelByTarget(t){if(!t)return[];const e=this.filter((e=>e.target===t));return e.forEach((t=>t.abort())),e}};class st{constructor(){t(this,\"__eventListeners\",{})}on(t,e){if(this.__eventListeners||(this.__eventListeners={}),\"object\"==typeof t)return Object.entries(t).forEach((t=>{let[e,s]=t;this.on(e,s)})),()=>this.off(t);if(e){const s=t;return this.__eventListeners[s]||(this.__eventListeners[s]=[]),this.__eventListeners[s].push(e),()=>this.off(s,e)}return()=>!1}once(t,e){if(\"object\"==typeof t){const e=[];return Object.entries(t).forEach((t=>{let[s,i]=t;e.push(this.once(s,i))})),()=>e.forEach((t=>t()))}if(e){const s=this.on(t,(function(){for(var t=arguments.length,i=new Array(t),r=0;r<t;r++)i[r]=arguments[r];e.call(this,...i),s()}));return s}return()=>!1}_removeEventListener(t,e){if(this.__eventListeners[t])if(e){const s=this.__eventListeners[t],i=s.indexOf(e);i>-1&&s.splice(i,1)}else this.__eventListeners[t]=[]}off(t,e){if(this.__eventListeners)if(void 0===t)for(const t in this.__eventListeners)this._removeEventListener(t);else\"object\"==typeof t?Object.entries(t).forEach((t=>{let[e,s]=t;this._removeEventListener(e,s)})):this._removeEventListener(t,e)}fire(t,e){var s;if(!this.__eventListeners)return;const i=null===(s=this.__eventListeners[t])||void 0===s?void 0:s.concat();if(i)for(let t=0;t<i.length;t++)i[t].call(this,e||{})}}const it=(t,e)=>{const s=t.indexOf(e);return-1!==s&&t.splice(s,1),t},rt=t=>{if(0===t)return 1;switch(Math.abs(t)/b){case 1:case 3:return 0;case 2:return-1}return Math.cos(t)},nt=t=>{if(0===t)return 0;const e=t/b,s=Math.sign(t);switch(e){case 1:return s;case 2:return 0;case 3:return-s}return Math.sin(t)};class ot{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;\"object\"==typeof t?(this.x=t.x,this.y=t.y):(this.x=t,this.y=e)}add(t){return new ot(this.x+t.x,this.y+t.y)}addEquals(t){return this.x+=t.x,this.y+=t.y,this}scalarAdd(t){return new ot(this.x+t,this.y+t)}scalarAddEquals(t){return this.x+=t,this.y+=t,this}subtract(t){return new ot(this.x-t.x,this.y-t.y)}subtractEquals(t){return this.x-=t.x,this.y-=t.y,this}scalarSubtract(t){return new ot(this.x-t,this.y-t)}scalarSubtractEquals(t){return this.x-=t,this.y-=t,this}multiply(t){return new ot(this.x*t.x,this.y*t.y)}scalarMultiply(t){return new ot(this.x*t,this.y*t)}scalarMultiplyEquals(t){return this.x*=t,this.y*=t,this}divide(t){return new ot(this.x/t.x,this.y/t.y)}scalarDivide(t){return new ot(this.x/t,this.y/t)}scalarDivideEquals(t){return this.x/=t,this.y/=t,this}eq(t){return this.x===t.x&&this.y===t.y}lt(t){return this.x<t.x&&this.y<t.y}lte(t){return this.x<=t.x&&this.y<=t.y}gt(t){return this.x>t.x&&this.y>t.y}gte(t){return this.x>=t.x&&this.y>=t.y}lerp(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.5;return e=Math.max(Math.min(1,e),0),new ot(this.x+(t.x-this.x)*e,this.y+(t.y-this.y)*e)}distanceFrom(t){const e=this.x-t.x,s=this.y-t.y;return Math.sqrt(e*e+s*s)}midPointFrom(t){return this.lerp(t)}min(t){return new ot(Math.min(this.x,t.x),Math.min(this.y,t.y))}max(t){return new ot(Math.max(this.x,t.x),Math.max(this.y,t.y))}toString(){return\"\".concat(this.x,\",\").concat(this.y)}setXY(t,e){return this.x=t,this.y=e,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setFromPoint(t){return this.x=t.x,this.y=t.y,this}swap(t){const e=this.x,s=this.y;this.x=t.x,this.y=t.y,t.x=e,t.y=s}clone(){return new ot(this.x,this.y)}rotate(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:at;const s=nt(t),i=rt(t),r=this.subtract(e);return new ot(r.x*i-r.y*s,r.x*s+r.y*i).add(e)}transform(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return new ot(t[0]*this.x+t[2]*this.y+(e?0:t[4]),t[1]*this.x+t[3]*this.y+(e?0:t[5]))}}const at=new ot(0,0),ht=t=>!!t&&Array.isArray(t._objects);function ct(e){class s extends e{constructor(){super(...arguments),t(this,\"_objects\",[])}_onObjectAdded(t){}_onObjectRemoved(t){}_onStackOrderChanged(t){}add(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];const i=this._objects.push(...e);return e.forEach((t=>this._onObjectAdded(t))),i}insertAt(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];return this._objects.splice(t,0,...s),s.forEach((t=>this._onObjectAdded(t))),this._objects.length}remove(){const t=this._objects,e=[];for(var s=arguments.length,i=new Array(s),r=0;r<s;r++)i[r]=arguments[r];return i.forEach((s=>{const i=t.indexOf(s);-1!==i&&(t.splice(i,1),e.push(s),this._onObjectRemoved(s))})),e}forEachObject(t){this.getObjects().forEach(((e,s,i)=>t(e,s,i)))}getObjects(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return 0===e.length?[...this._objects]:this._objects.filter((t=>t.isType(...e)))}item(t){return this._objects[t]}isEmpty(){return 0===this._objects.length}size(){return this._objects.length}contains(t,e){return!!this._objects.includes(t)||!!e&&this._objects.some((e=>e instanceof s&&e.contains(t,!0)))}complexity(){return this._objects.reduce(((t,e)=>t+=e.complexity?e.complexity():0),0)}sendObjectToBack(t){return!(!t||t===this._objects[0])&&(it(this._objects,t),this._objects.unshift(t),this._onStackOrderChanged(t),!0)}bringObjectToFront(t){return!(!t||t===this._objects[this._objects.length-1])&&(it(this._objects,t),this._objects.push(t),this._onStackOrderChanged(t),!0)}sendObjectBackwards(t,e){if(!t)return!1;const s=this._objects.indexOf(t);if(0!==s){const i=this.findNewLowerIndex(t,s,e);return it(this._objects,t),this._objects.splice(i,0,t),this._onStackOrderChanged(t),!0}return!1}bringObjectForward(t,e){if(!t)return!1;const s=this._objects.indexOf(t);if(s!==this._objects.length-1){const i=this.findNewUpperIndex(t,s,e);return it(this._objects,t),this._objects.splice(i,0,t),this._onStackOrderChanged(t),!0}return!1}moveObjectTo(t,e){return t!==this._objects[e]&&(it(this._objects,t),this._objects.splice(e,0,t),this._onStackOrderChanged(t),!0)}findNewLowerIndex(t,e,s){let i;if(s){i=e;for(let s=e-1;s>=0;--s)if(t.isOverlapping(this._objects[s])){i=s;break}}else i=e-1;return i}findNewUpperIndex(t,e,s){let i;if(s){i=e;for(let s=e+1;s<this._objects.length;++s)if(t.isOverlapping(this._objects[s])){i=s;break}}else i=e+1;return i}collectObjects(t){let{left:e,top:s,width:i,height:r}=t,{includeIntersecting:n=!0}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=[],a=new ot(e,s),h=a.add(new ot(i,r));for(let t=this._objects.length-1;t>=0;t--){const e=this._objects[t];e.selectable&&e.visible&&(n&&e.intersectsWithRect(a,h)||e.isContainedWithinRect(a,h)||n&&e.containsPoint(a)||n&&e.containsPoint(h))&&o.push(e)}return o}}return s}class lt extends st{_setOptions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(const e in t)this.set(e,t[e])}_setObject(t){for(const e in t)this._set(e,t[e])}set(t,e){return\"object\"==typeof t?this._setObject(t):this._set(t,e),this}_set(t,e){this[t]=e}toggle(t){const e=this.get(t);return\"boolean\"==typeof e&&this.set(t,!e),this}get(t){return this[t]}}function ut(t){return v().requestAnimationFrame(t)}function dt(t){return v().cancelAnimationFrame(t)}let gt=0;const ft=()=>gt++,pt=()=>{const t=m().createElement(\"canvas\");if(!t||void 0===t.getContext)throw new h(\"Failed to create `canvas` element\");return t},mt=()=>m().createElement(\"img\"),vt=t=>{const e=pt();return e.width=t.width,e.height=t.height,e},yt=(t,e,s)=>t.toDataURL(\"image/\".concat(e),s),_t=(t,e,s)=>new Promise(((i,r)=>{t.toBlob(i,\"image/\".concat(e),s)})),xt=t=>t*w,Ct=t=>t/w,bt=t=>t.every(((t,e)=>t===T[e])),St=(t,e,s)=>new ot(t).transform(e,s),wt=t=>{const e=1/(t[0]*t[3]-t[1]*t[2]),s=[e*t[3],-e*t[1],-e*t[2],e*t[0],0,0],{x:i,y:r}=new ot(t[4],t[5]).transform(s,!0);return s[4]=-i,s[5]=-r,s},Tt=(t,e,s)=>[t[0]*e[0]+t[2]*e[1],t[1]*e[0]+t[3]*e[1],t[0]*e[2]+t[2]*e[3],t[1]*e[2]+t[3]*e[3],s?0:t[0]*e[4]+t[2]*e[5]+t[4],s?0:t[1]*e[4]+t[3]*e[5]+t[5]],Ot=(t,e)=>t.reduceRight(((t,s)=>s&&t?Tt(s,t,e):s||t),void 0)||T.concat(),kt=t=>{let[e,s]=t;return Math.atan2(s,e)},Dt=t=>{const e=kt(t),s=Math.pow(t[0],2)+Math.pow(t[1],2),i=Math.sqrt(s),r=(t[0]*t[3]-t[2]*t[1])/i,n=Math.atan2(t[0]*t[2]+t[1]*t[3],s);return{angle:Ct(e),scaleX:i,scaleY:r,skewX:Ct(n),skewY:0,translateX:t[4]||0,translateY:t[5]||0}},Mt=function(t){return[1,0,0,1,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0]};function Pt(){let{angle:t=0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{x:e=0,y:s=0}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=xt(t),r=rt(i),n=nt(i);return[r,n,-n,r,e?e-(r*e-n*s):0,s?s-(n*e+r*s):0]}const Et=function(t){return[t,0,0,arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,0,0]},At=t=>Math.tan(xt(t)),jt=t=>[1,0,At(t),1,0,0],Ft=t=>[1,At(t),0,1,0,0],Lt=t=>{let{scaleX:e=1,scaleY:s=1,flipX:i=!1,flipY:r=!1,skewX:n=0,skewY:o=0}=t,a=Et(i?-e:e,r?-s:s);return n&&(a=Tt(a,jt(n),!0)),o&&(a=Tt(a,Ft(o),!0)),a},Rt=t=>{const{translateX:e=0,translateY:s=0,angle:i=0}=t;let r=Mt(e,s);i&&(r=Tt(r,Pt({angle:i})));const n=Lt(t);return bt(n)||(r=Tt(r,n)),r},It=function(t){let{signal:e,crossOrigin:s=null}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((function(i,r){if(e&&e.aborted)return r(new c(\"loadImage\"));const n=mt();let o;e&&(o=function(t){n.src=\"\",r(t)},e.addEventListener(\"abort\",o,{once:!0}));const a=function(){n.onload=n.onerror=null,o&&(null==e||e.removeEventListener(\"abort\",o)),i(n)};t?(n.onload=a,n.onerror=function(){o&&(null==e||e.removeEventListener(\"abort\",o)),r(new h(\"Error loading \".concat(n.src)))},s&&(n.crossOrigin=s),n.src=t):a()}))},Bt=function(t){let{signal:e,reviver:s=C}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,r)=>{const n=[];e&&e.addEventListener(\"abort\",r,{once:!0}),Promise.all(t.map((t=>tt.getClass(t.type).fromObject(t,{signal:e}).then((e=>(s(t,e),n.push(e),e)))))).then(i).catch((t=>{n.forEach((t=>{t.dispose&&t.dispose()})),r(t)})).finally((()=>{e&&e.removeEventListener(\"abort\",r)}))}))},Xt=function(t){let{signal:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((s,i)=>{const r=[];e&&e.addEventListener(\"abort\",i,{once:!0});const n=Object.values(t).map((t=>t&&t.type&&tt.has(t.type)?Bt([t],{signal:e}).then((t=>{let[e]=t;return r.push(e),e})):t)),o=Object.keys(t);Promise.all(n).then((t=>t.reduce(((t,e,s)=>(t[o[s]]=e,t)),{}))).then(s).catch((t=>{r.forEach((t=>{t.dispose&&t.dispose()})),i(t)})).finally((()=>{e&&e.removeEventListener(\"abort\",i)}))}))},Yt=function(t){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:[]).reduce(((e,s)=>(s in t&&(e[s]=t[s]),e)),{})},Wt=(t,e)=>Object.keys(t).reduce(((s,i)=>(e(t[i],i,t)&&(s[i]=t[i]),s)),{}),Vt=(t,e)=>parseFloat(Number(t).toFixed(e)),zt=t=>\"matrix(\"+t.map((t=>Vt(t,o.NUM_FRACTION_DIGITS))).join(\" \")+\")\",Gt=t=>!!t&&void 0!==t.toLive,Ht=t=>!!t&&\"function\"==typeof t.toObject,Nt=t=>!!t&&void 0!==t.offsetX&&\"source\"in t,Ut=t=>!!t&&\"multiSelectionStacking\"in t;function qt(t){const e=t&&Kt(t);let s=0,i=0;if(!t||!e)return{left:s,top:i};let r=t;const n=e.documentElement,o=e.body||{scrollLeft:0,scrollTop:0};for(;r&&(r.parentNode||r.host)&&(r=r.parentNode||r.host,r===e?(s=o.scrollLeft||n.scrollLeft||0,i=o.scrollTop||n.scrollTop||0):(s+=r.scrollLeft||0,i+=r.scrollTop||0),1!==r.nodeType||\"fixed\"!==r.style.position););return{left:s,top:i}}const Kt=t=>t.ownerDocument||null,Jt=t=>{var e;return(null===(e=t.ownerDocument)||void 0===e?void 0:e.defaultView)||null},Qt=function(t,e,s){let{width:i,height:r}=s,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;t.width=i,t.height=r,n>1&&(t.setAttribute(\"width\",(i*n).toString()),t.setAttribute(\"height\",(r*n).toString()),e.scale(n,n))},Zt=(t,e)=>{let{width:s,height:i}=e;s&&(t.style.width=\"number\"==typeof s?\"\".concat(s,\"px\"):s),i&&(t.style.height=\"number\"==typeof i?\"\".concat(i,\"px\"):i)};function $t(t){return void 0!==t.onselectstart&&(t.onselectstart=()=>!1),t.style.userSelect=j,t}class te{constructor(e){t(this,\"_originalCanvasStyle\",void 0),t(this,\"lower\",void 0);const s=this.createLowerCanvas(e);this.lower={el:s,ctx:s.getContext(\"2d\")}}createLowerCanvas(t){const e=(s=t)&&void 0!==s.getContext?t:t&&m().getElementById(t)||pt();var s;if(e.hasAttribute(\"data-fabric\"))throw new h(\"Trying to initialize a canvas that has already been initialized. Did you forget to dispose the canvas?\");return this._originalCanvasStyle=e.style.cssText,e.setAttribute(\"data-fabric\",\"main\"),e.classList.add(\"lower-canvas\"),e}cleanupDOM(t){let{width:e,height:s}=t;const{el:i}=this.lower;i.classList.remove(\"lower-canvas\"),i.removeAttribute(\"data-fabric\"),i.setAttribute(\"width\",\"\".concat(e)),i.setAttribute(\"height\",\"\".concat(s)),i.style.cssText=this._originalCanvasStyle||\"\",this._originalCanvasStyle=void 0}setDimensions(t,e){const{el:s,ctx:i}=this.lower;Qt(s,i,t,e)}setCSSDimensions(t){Zt(this.lower.el,t)}calcOffset(){return function(t){var e;const s=t&&Kt(t),i={left:0,top:0};if(!s)return i;const r=(null===(e=Jt(t))||void 0===e?void 0:e.getComputedStyle(t,null))||{};i.left+=parseInt(r.borderLeftWidth,10)||0,i.top+=parseInt(r.borderTopWidth,10)||0,i.left+=parseInt(r.paddingLeft,10)||0,i.top+=parseInt(r.paddingTop,10)||0;let n={left:0,top:0};const o=s.documentElement;void 0!==t.getBoundingClientRect&&(n=t.getBoundingClientRect());const a=qt(t);return{left:n.left+a.left-(o.clientLeft||0)+i.left,top:n.top+a.top-(o.clientTop||0)+i.top}}(this.lower.el)}dispose(){p().dispose(this.lower.el),delete this.lower}}const ee={backgroundVpt:!0,backgroundColor:\"\",overlayVpt:!0,overlayColor:\"\",includeDefaultValues:!0,svgViewportTransformation:!0,renderOnAddRemove:!0,skipOffscreen:!0,enableRetinaScaling:!0,imageSmoothingEnabled:!0,controlsAboveOverlay:!1,allowTouchScrolling:!1,viewportTransform:[...T]};class se extends(ct(lt)){get lowerCanvasEl(){var t;return null===(t=this.elements.lower)||void 0===t?void 0:t.el}get contextContainer(){var t;return null===(t=this.elements.lower)||void 0===t?void 0:t.ctx}static getDefaults(){return se.ownDefaults}constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),Object.assign(this,this.constructor.getDefaults()),this.set(e),this.initElements(t),this._setDimensionsImpl({width:this.width||this.elements.lower.el.width||0,height:this.height||this.elements.lower.el.height||0}),this.skipControlsDrawing=!1,this.viewportTransform=[...this.viewportTransform],this.calcViewportBoundaries()}initElements(t){this.elements=new te(t)}add(){const t=super.add(...arguments);return arguments.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),t}insertAt(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];const r=super.insertAt(t,...s);return s.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),r}remove(){const t=super.remove(...arguments);return t.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),t}_onObjectAdded(t){t.canvas&&t.canvas!==this&&(a(\"warn\",\"Canvas is trying to add an object that belongs to a different canvas.\\nResulting to default behavior: removing object from previous canvas and adding to new canvas\"),t.canvas.remove(t)),t._set(\"canvas\",this),t.setCoords(),this.fire(\"object:added\",{target:t}),t.fire(\"added\",{target:this})}_onObjectRemoved(t){t._set(\"canvas\",void 0),this.fire(\"object:removed\",{target:t}),t.fire(\"removed\",{target:this})}_onStackOrderChanged(){this.renderOnAddRemove&&this.requestRenderAll()}getRetinaScaling(){return this.enableRetinaScaling?y():1}calcOffset(){return this._offset=this.elements.calcOffset()}getWidth(){return this.width}getHeight(){return this.height}setWidth(t,e){return this.setDimensions({width:t},e)}setHeight(t,e){return this.setDimensions({height:t},e)}_setDimensionsImpl(t){let{cssOnly:e=!1,backstoreOnly:i=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e){const e=s({width:this.width,height:this.height},t);this.elements.setDimensions(e,this.getRetinaScaling()),this.hasLostContext=!0,this.width=e.width,this.height=e.height}i||this.elements.setCSSDimensions(t),this.calcOffset()}setDimensions(t,e){this._setDimensionsImpl(t,e),e&&e.cssOnly||this.requestRenderAll()}getZoom(){return this.viewportTransform[0]}setViewportTransform(t){this.viewportTransform=t,this.calcViewportBoundaries(),this.renderOnAddRemove&&this.requestRenderAll()}zoomToPoint(t,e){const s=t,i=[...this.viewportTransform],r=St(t,wt(i));i[0]=e,i[3]=e;const n=St(r,i);i[4]+=s.x-n.x,i[5]+=s.y-n.y,this.setViewportTransform(i)}setZoom(t){this.zoomToPoint(new ot(0,0),t)}absolutePan(t){const e=[...this.viewportTransform];return e[4]=-t.x,e[5]=-t.y,this.setViewportTransform(e)}relativePan(t){return this.absolutePan(new ot(-t.x-this.viewportTransform[4],-t.y-this.viewportTransform[5]))}getElement(){return this.elements.lower.el}clearContext(t){t.clearRect(0,0,this.width,this.height)}getContext(){return this.elements.lower.ctx}clear(){this.remove(...this.getObjects()),this.backgroundImage=void 0,this.overlayImage=void 0,this.backgroundColor=\"\",this.overlayColor=\"\",this.clearContext(this.getContext()),this.fire(\"canvas:cleared\"),this.renderOnAddRemove&&this.requestRenderAll()}renderAll(){this.cancelRequestedRender(),this.destroyed||this.renderCanvas(this.getContext(),this._objects)}renderAndReset(){this.nextRenderHandle=0,this.renderAll()}requestRenderAll(){this.nextRenderHandle||this.disposed||this.destroyed||(this.nextRenderHandle=ut((()=>this.renderAndReset())))}calcViewportBoundaries(){const t=this.width,e=this.height,s=wt(this.viewportTransform),i=St({x:0,y:0},s),r=St({x:t,y:e},s),n=i.min(r),o=i.max(r);return this.vptCoords={tl:n,tr:new ot(o.x,n.y),bl:new ot(n.x,o.y),br:o}}cancelRequestedRender(){this.nextRenderHandle&&(dt(this.nextRenderHandle),this.nextRenderHandle=0)}drawControls(t){}renderCanvas(t,e){if(this.destroyed)return;const s=this.viewportTransform,i=this.clipPath;this.calcViewportBoundaries(),this.clearContext(t),t.imageSmoothingEnabled=this.imageSmoothingEnabled,t.patternQuality=\"best\",this.fire(\"before:render\",{ctx:t}),this._renderBackground(t),t.save(),t.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this._renderObjects(t,e),t.restore(),this.controlsAboveOverlay||this.skipControlsDrawing||this.drawControls(t),i&&(i._set(\"canvas\",this),i.shouldCache(),i._transformDone=!0,i.renderCache({forClipping:!0}),this.drawClipPathOnCanvas(t,i)),this._renderOverlay(t),this.controlsAboveOverlay&&!this.skipControlsDrawing&&this.drawControls(t),this.fire(\"after:render\",{ctx:t}),this.__cleanupTask&&(this.__cleanupTask(),this.__cleanupTask=void 0)}drawClipPathOnCanvas(t,e){const s=this.viewportTransform;t.save(),t.transform(...s),t.globalCompositeOperation=\"destination-in\",e.transform(t),t.scale(1/e.zoomX,1/e.zoomY),t.drawImage(e._cacheCanvas,-e.cacheTranslationX,-e.cacheTranslationY),t.restore()}_renderObjects(t,e){for(let s=0,i=e.length;s<i;++s)e[s]&&e[s].render(t)}_renderBackgroundOrOverlay(t,e){const s=this[\"\".concat(e,\"Color\")],i=this[\"\".concat(e,\"Image\")],r=this.viewportTransform,n=this[\"\".concat(e,\"Vpt\")];if(!s&&!i)return;const o=Gt(s);if(s){if(t.save(),t.beginPath(),t.moveTo(0,0),t.lineTo(this.width,0),t.lineTo(this.width,this.height),t.lineTo(0,this.height),t.closePath(),t.fillStyle=o?s.toLive(t):s,n&&t.transform(...r),o){t.transform(1,0,0,1,s.offsetX||0,s.offsetY||0);const e=s.gradientTransform||s.patternTransform;e&&t.transform(...e)}t.fill(),t.restore()}if(i){t.save();const{skipOffscreen:e}=this;this.skipOffscreen=n,n&&t.transform(...r),i.render(t),this.skipOffscreen=e,t.restore()}}_renderBackground(t){this._renderBackgroundOrOverlay(t,\"background\")}_renderOverlay(t){this._renderBackgroundOrOverlay(t,\"overlay\")}getCenter(){return{top:this.height/2,left:this.width/2}}getCenterPoint(){return new ot(this.width/2,this.height/2)}centerObjectH(t){return this._centerObject(t,new ot(this.getCenterPoint().x,t.getCenterPoint().y))}centerObjectV(t){return this._centerObject(t,new ot(t.getCenterPoint().x,this.getCenterPoint().y))}centerObject(t){return this._centerObject(t,this.getCenterPoint())}viewportCenterObject(t){return this._centerObject(t,this.getVpCenter())}viewportCenterObjectH(t){return this._centerObject(t,new ot(this.getVpCenter().x,t.getCenterPoint().y))}viewportCenterObjectV(t){return this._centerObject(t,new ot(t.getCenterPoint().x,this.getVpCenter().y))}getVpCenter(){return St(this.getCenterPoint(),wt(this.viewportTransform))}_centerObject(t,e){t.setXY(e,D,D),t.setCoords(),this.renderOnAddRemove&&this.requestRenderAll()}toDatalessJSON(t){return this.toDatalessObject(t)}toObject(t){return this._toObjectMethod(\"toObject\",t)}toJSON(){return this.toObject()}toDatalessObject(t){return this._toObjectMethod(\"toDatalessObject\",t)}_toObjectMethod(t,e){const i=this.clipPath,r=i&&!i.excludeFromExport?this._toObject(i,t,e):null;return s(s(s({version:x},Yt(this,e)),{},{objects:this._objects.filter((t=>!t.excludeFromExport)).map((s=>this._toObject(s,t,e)))},this.__serializeBgOverlay(t,e)),r?{clipPath:r}:null)}_toObject(t,e,s){let i;this.includeDefaultValues||(i=t.includeDefaultValues,t.includeDefaultValues=!1);const r=t[e](s);return this.includeDefaultValues||(t.includeDefaultValues=!!i),r}__serializeBgOverlay(t,e){const s={},i=this.backgroundImage,r=this.overlayImage,n=this.backgroundColor,o=this.overlayColor;return Gt(n)?n.excludeFromExport||(s.background=n.toObject(e)):n&&(s.background=n),Gt(o)?o.excludeFromExport||(s.overlay=o.toObject(e)):o&&(s.overlay=o),i&&!i.excludeFromExport&&(s.backgroundImage=this._toObject(i,t,e)),r&&!r.excludeFromExport&&(s.overlayImage=this._toObject(r,t,e)),s}toSVG(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;t.reviver=e;const s=[];return this._setSVGPreamble(s,t),this._setSVGHeader(s,t),this.clipPath&&s.push('<g clip-path=\"url(#'.concat(this.clipPath.clipPathId,')\" >\\n')),this._setSVGBgOverlayColor(s,\"background\"),this._setSVGBgOverlayImage(s,\"backgroundImage\",e),this._setSVGObjects(s,e),this.clipPath&&s.push(\"</g>\\n\"),this._setSVGBgOverlayColor(s,\"overlay\"),this._setSVGBgOverlayImage(s,\"overlayImage\",e),s.push(\"</svg>\"),s.join(\"\")}_setSVGPreamble(t,e){e.suppressPreamble||t.push('<?xml version=\"1.0\" encoding=\"',e.encoding||\"UTF-8\",'\" standalone=\"no\" ?>\\n','<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" ','\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\\n')}_setSVGHeader(t,e){const s=e.width||\"\".concat(this.width),i=e.height||\"\".concat(this.height),r=o.NUM_FRACTION_DIGITS,n=e.viewBox;let a;if(n)a='viewBox=\"'.concat(n.x,\" \").concat(n.y,\" \").concat(n.width,\" \").concat(n.height,'\" ');else if(this.svgViewportTransformation){const t=this.viewportTransform;a='viewBox=\"'.concat(Vt(-t[4]/t[0],r),\" \").concat(Vt(-t[5]/t[3],r),\" \").concat(Vt(this.width/t[0],r),\" \").concat(Vt(this.height/t[3],r),'\" ')}else a='viewBox=\"0 0 '.concat(this.width,\" \").concat(this.height,'\" ');t.push(\"<svg \",'xmlns=\"http://www.w3.org/2000/svg\" ','xmlns:xlink=\"http://www.w3.org/1999/xlink\" ','version=\"1.1\" ','width=\"',s,'\" ','height=\"',i,'\" ',a,'xml:space=\"preserve\">\\n',\"<desc>Created with Fabric.js \",x,\"</desc>\\n\",\"<defs>\\n\",this.createSVGFontFacesMarkup(),this.createSVGRefElementsMarkup(),this.createSVGClipPathMarkup(e),\"</defs>\\n\")}createSVGClipPathMarkup(t){const e=this.clipPath;return e?(e.clipPathId=\"CLIPPATH_\".concat(ft()),'<clipPath id=\"'.concat(e.clipPathId,'\" >\\n').concat(e.toClipPathSVG(t.reviver),\"</clipPath>\\n\")):\"\"}createSVGRefElementsMarkup(){return[\"background\",\"overlay\"].map((t=>{const e=this[\"\".concat(t,\"Color\")];if(Gt(e)){const s=this[\"\".concat(t,\"Vpt\")],i=this.viewportTransform,r={isType:()=>!1,width:this.width/(s?i[0]:1),height:this.height/(s?i[3]:1)};return e.toSVG(r,{additionalTransform:s?zt(i):\"\"})}})).join(\"\")}createSVGFontFacesMarkup(){const t=[],e={},s=o.fontPaths;this._objects.forEach((function e(s){t.push(s),ht(s)&&s._objects.forEach(e)})),t.forEach((t=>{if(!(i=t)||\"function\"!=typeof i._renderText)return;var i;const{styles:r,fontFamily:n}=t;!e[n]&&s[n]&&(e[n]=!0,r&&Object.values(r).forEach((t=>{Object.values(t).forEach((t=>{let{fontFamily:i=\"\"}=t;!e[i]&&s[i]&&(e[i]=!0)}))})))}));const i=Object.keys(e).map((t=>\"\\t\\t@font-face {\\n\\t\\t\\tfont-family: '\".concat(t,\"';\\n\\t\\t\\tsrc: url('\").concat(s[t],\"');\\n\\t\\t}\\n\"))).join(\"\");return i?'\\t<style type=\"text/css\"><![CDATA[\\n'.concat(i,\"]]></style>\\n\"):\"\"}_setSVGObjects(t,e){this.forEachObject((s=>{s.excludeFromExport||this._setSVGObject(t,s,e)}))}_setSVGObject(t,e,s){t.push(e.toSVG(s))}_setSVGBgOverlayImage(t,e,s){const i=this[e];i&&!i.excludeFromExport&&i.toSVG&&t.push(i.toSVG(s))}_setSVGBgOverlayColor(t,e){const s=this[\"\".concat(e,\"Color\")];if(s)if(Gt(s)){const i=s.repeat||\"\",r=this.width,n=this.height,o=this[\"\".concat(e,\"Vpt\")]?zt(wt(this.viewportTransform)):\"\";t.push('<rect transform=\"'.concat(o,\" translate(\").concat(r/2,\",\").concat(n/2,')\" x=\"').concat(s.offsetX-r/2,'\" y=\"').concat(s.offsetY-n/2,'\" width=\"').concat(\"repeat-y\"!==i&&\"no-repeat\"!==i||!Nt(s)?r:s.source.width,'\" height=\"').concat(\"repeat-x\"!==i&&\"no-repeat\"!==i||!Nt(s)?n:s.source.height,'\" fill=\"url(#SVGID_').concat(s.id,')\"></rect>\\n'))}else t.push('<rect x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" ','fill=\"',s,'\"',\"></rect>\\n\")}loadFromJSON(t,e){let{signal:s}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!t)return Promise.reject(new h(\"`json` is undefined\"));const i=\"string\"==typeof t?JSON.parse(t):t,{objects:r=[],backgroundImage:n,background:o,overlayImage:a,overlay:c,clipPath:l}=i,u=this.renderOnAddRemove;return this.renderOnAddRemove=!1,Promise.all([Bt(r,{reviver:e,signal:s}),Xt({backgroundImage:n,backgroundColor:o,overlayImage:a,overlayColor:c,clipPath:l},{signal:s})]).then((t=>{let[e,s]=t;return this.clear(),this.add(...e),this.set(i),this.set(s),this.renderOnAddRemove=u,this}))}clone(t){const e=this.toObject(t);return this.cloneWithoutData().loadFromJSON(e)}cloneWithoutData(){const t=vt(this);return new this.constructor(t)}toDataURL(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{format:e=\"png\",quality:s=1,multiplier:i=1,enableRetinaScaling:r=!1}=t,n=i*(r?this.getRetinaScaling():1);return yt(this.toCanvasElement(n,t),e,s)}toBlob(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{format:e=\"png\",quality:s=1,multiplier:i=1,enableRetinaScaling:r=!1}=t,n=i*(r?this.getRetinaScaling():1);return _t(this.toCanvasElement(n,t),e,s)}toCanvasElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,{width:e,height:s,left:i,top:r,filter:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=(e||this.width)*t,a=(s||this.height)*t,h=this.getZoom(),c=this.width,l=this.height,u=this.skipControlsDrawing,d=h*t,g=this.viewportTransform,f=[d,0,0,d,(g[4]-(i||0))*t,(g[5]-(r||0))*t],p=this.enableRetinaScaling,m=vt({width:o,height:a}),v=n?this._objects.filter((t=>n(t))):this._objects;return this.enableRetinaScaling=!1,this.viewportTransform=f,this.width=o,this.height=a,this.skipControlsDrawing=!0,this.calcViewportBoundaries(),this.renderCanvas(m.getContext(\"2d\"),v),this.viewportTransform=g,this.width=c,this.height=l,this.calcViewportBoundaries(),this.enableRetinaScaling=p,this.skipControlsDrawing=u,m}dispose(){return!this.disposed&&this.elements.cleanupDOM({width:this.width,height:this.height}),et.cancelByCanvas(this),this.disposed=!0,new Promise(((t,e)=>{const s=()=>{this.destroy(),t(!0)};s.kill=e,this.__cleanupTask&&this.__cleanupTask.kill(\"aborted\"),this.destroyed?t(!1):this.nextRenderHandle?this.__cleanupTask=s:s()}))}destroy(){this.destroyed=!0,this.cancelRequestedRender(),this.forEachObject((t=>t.dispose())),this._objects=[],this.backgroundImage&&this.backgroundImage.dispose(),this.backgroundImage=void 0,this.overlayImage&&this.overlayImage.dispose(),this.overlayImage=void 0,this.elements.dispose()}toString(){return\"#<Canvas (\".concat(this.complexity(),\"): { objects: \").concat(this._objects.length,\" }>\")}}t(se,\"ownDefaults\",ee);const ie=[\"touchstart\",\"touchmove\",\"touchend\"];const re=t=>{const e=qt(t.target),s=function(t){const e=t.changedTouches;return e&&e[0]?e[0]:t}(t);return new ot(s.clientX+e.left,s.clientY+e.top)},ne=t=>ie.includes(t.type)||\"touch\"===t.pointerType,oe=t=>{t.preventDefault(),t.stopPropagation()},ae=t=>{let e=0,s=0,i=0,r=0;for(let n=0,o=t.length;n<o;n++){const{x:o,y:a}=t[n];(o>i||!n)&&(i=o),(o<e||!n)&&(e=o),(a>r||!n)&&(r=a),(a<s||!n)&&(s=a)}return{left:e,top:s,width:i-e,height:r-s}},he=[\"translateX\",\"translateY\",\"scaleX\",\"scaleY\"],ce=(t,e)=>le(t,Tt(e,t.calcOwnMatrix())),le=(t,e)=>{const s=Dt(e),{translateX:r,translateY:n,scaleX:o,scaleY:a}=s,h=i(s,he),c=new ot(r,n);t.flipX=!1,t.flipY=!1,Object.assign(t,h),t.set({scaleX:o,scaleY:a}),t.setPositionByOrigin(c,D,D)},ue=t=>{t.scaleX=1,t.scaleY=1,t.skewX=0,t.skewY=0,t.flipX=!1,t.flipY=!1,t.rotate(0)},de=t=>({scaleX:t.scaleX,scaleY:t.scaleY,skewX:t.skewX,skewY:t.skewY,angle:t.angle,left:t.left,flipX:t.flipX,flipY:t.flipY,top:t.top}),ge=(t,e,s)=>{const i=t/2,r=e/2,n=[new ot(-i,-r),new ot(i,-r),new ot(-i,r),new ot(i,r)].map((t=>t.transform(s))),o=ae(n);return new ot(o.width,o.height)},fe=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:T;return Tt(wt(arguments.length>1&&void 0!==arguments[1]?arguments[1]:T),t)},pe=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:T,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:T;return t.transform(fe(e,s))},me=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:T,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:T;return t.transform(fe(e,s),!0)},ve=(t,e,s)=>{const i=fe(e,s);return le(t,Tt(i,t.calcOwnMatrix())),i},ye=(t,e)=>{var i;const{transform:{target:r}}=e;null===(i=r.canvas)||void 0===i||i.fire(\"object:\".concat(t),s(s({},e),{},{target:r})),r.fire(t,e)},_e={left:-.5,top:-.5,center:0,bottom:.5,right:.5},xe=t=>\"string\"==typeof t?_e[t]:t-.5,Ce=\"not-allowed\";function be(t){return xe(t.originX)===xe(D)&&xe(t.originY)===xe(D)}function Se(t){return.5-xe(t)}const we=(t,e)=>t[e],Te=(t,e,s,i)=>({e:t,transform:e,pointer:new ot(s,i)});function Oe(t,e){const s=t.getTotalAngle()+Ct(Math.atan2(e.y,e.x))+360;return Math.round(s%360/45)}function ke(t,e,s,i,r){var n;let{target:o,corner:a}=t;const h=o.controls[a],c=(null===(n=o.canvas)||void 0===n?void 0:n.getZoom())||1,l=o.padding/c,u=function(t,e,s,i){const r=t.getRelativeCenterPoint(),n=void 0!==s&&void 0!==i?t.translateToGivenOrigin(r,D,D,s,i):new ot(t.left,t.top);return(t.angle?e.rotate(-xt(t.angle),r):e).subtract(n)}(o,new ot(i,r),e,s);return u.x>=l&&(u.x-=l),u.x<=-l&&(u.x+=l),u.y>=l&&(u.y-=l),u.y<=l&&(u.y+=l),u.x-=h.offsetX,u.y-=h.offsetY,u}const De=(t,e,s,i)=>{const{target:r,offsetX:n,offsetY:o}=e,a=s-n,h=i-o,c=!we(r,\"lockMovementX\")&&r.left!==a,l=!we(r,\"lockMovementY\")&&r.top!==h;return c&&r.set(M,a),l&&r.set(P,h),(c||l)&&ye(L,Te(t,e,s,i)),c||l},Me={aliceblue:\"#F0F8FF\",antiquewhite:\"#FAEBD7\",aqua:\"#0FF\",aquamarine:\"#7FFFD4\",azure:\"#F0FFFF\",beige:\"#F5F5DC\",bisque:\"#FFE4C4\",black:\"#000\",blanchedalmond:\"#FFEBCD\",blue:\"#00F\",blueviolet:\"#8A2BE2\",brown:\"#A52A2A\",burlywood:\"#DEB887\",cadetblue:\"#5F9EA0\",chartreuse:\"#7FFF00\",chocolate:\"#D2691E\",coral:\"#FF7F50\",cornflowerblue:\"#6495ED\",cornsilk:\"#FFF8DC\",crimson:\"#DC143C\",cyan:\"#0FF\",darkblue:\"#00008B\",darkcyan:\"#008B8B\",darkgoldenrod:\"#B8860B\",darkgray:\"#A9A9A9\",darkgrey:\"#A9A9A9\",darkgreen:\"#006400\",darkkhaki:\"#BDB76B\",darkmagenta:\"#8B008B\",darkolivegreen:\"#556B2F\",darkorange:\"#FF8C00\",darkorchid:\"#9932CC\",darkred:\"#8B0000\",darksalmon:\"#E9967A\",darkseagreen:\"#8FBC8F\",darkslateblue:\"#483D8B\",darkslategray:\"#2F4F4F\",darkslategrey:\"#2F4F4F\",darkturquoise:\"#00CED1\",darkviolet:\"#9400D3\",deeppink:\"#FF1493\",deepskyblue:\"#00BFFF\",dimgray:\"#696969\",dimgrey:\"#696969\",dodgerblue:\"#1E90FF\",firebrick:\"#B22222\",floralwhite:\"#FFFAF0\",forestgreen:\"#228B22\",fuchsia:\"#F0F\",gainsboro:\"#DCDCDC\",ghostwhite:\"#F8F8FF\",gold:\"#FFD700\",goldenrod:\"#DAA520\",gray:\"#808080\",grey:\"#808080\",green:\"#008000\",greenyellow:\"#ADFF2F\",honeydew:\"#F0FFF0\",hotpink:\"#FF69B4\",indianred:\"#CD5C5C\",indigo:\"#4B0082\",ivory:\"#FFFFF0\",khaki:\"#F0E68C\",lavender:\"#E6E6FA\",lavenderblush:\"#FFF0F5\",lawngreen:\"#7CFC00\",lemonchiffon:\"#FFFACD\",lightblue:\"#ADD8E6\",lightcoral:\"#F08080\",lightcyan:\"#E0FFFF\",lightgoldenrodyellow:\"#FAFAD2\",lightgray:\"#D3D3D3\",lightgrey:\"#D3D3D3\",lightgreen:\"#90EE90\",lightpink:\"#FFB6C1\",lightsalmon:\"#FFA07A\",lightseagreen:\"#20B2AA\",lightskyblue:\"#87CEFA\",lightslategray:\"#789\",lightslategrey:\"#789\",lightsteelblue:\"#B0C4DE\",lightyellow:\"#FFFFE0\",lime:\"#0F0\",limegreen:\"#32CD32\",linen:\"#FAF0E6\",magenta:\"#F0F\",maroon:\"#800000\",mediumaquamarine:\"#66CDAA\",mediumblue:\"#0000CD\",mediumorchid:\"#BA55D3\",mediumpurple:\"#9370DB\",mediumseagreen:\"#3CB371\",mediumslateblue:\"#7B68EE\",mediumspringgreen:\"#00FA9A\",mediumturquoise:\"#48D1CC\",mediumvioletred:\"#C71585\",midnightblue:\"#191970\",mintcream:\"#F5FFFA\",mistyrose:\"#FFE4E1\",moccasin:\"#FFE4B5\",navajowhite:\"#FFDEAD\",navy:\"#000080\",oldlace:\"#FDF5E6\",olive:\"#808000\",olivedrab:\"#6B8E23\",orange:\"#FFA500\",orangered:\"#FF4500\",orchid:\"#DA70D6\",palegoldenrod:\"#EEE8AA\",palegreen:\"#98FB98\",paleturquoise:\"#AFEEEE\",palevioletred:\"#DB7093\",papayawhip:\"#FFEFD5\",peachpuff:\"#FFDAB9\",peru:\"#CD853F\",pink:\"#FFC0CB\",plum:\"#DDA0DD\",powderblue:\"#B0E0E6\",purple:\"#800080\",rebeccapurple:\"#639\",red:\"#F00\",rosybrown:\"#BC8F8F\",royalblue:\"#4169E1\",saddlebrown:\"#8B4513\",salmon:\"#FA8072\",sandybrown:\"#F4A460\",seagreen:\"#2E8B57\",seashell:\"#FFF5EE\",sienna:\"#A0522D\",silver:\"#C0C0C0\",skyblue:\"#87CEEB\",slateblue:\"#6A5ACD\",slategray:\"#708090\",slategrey:\"#708090\",snow:\"#FFFAFA\",springgreen:\"#00FF7F\",steelblue:\"#4682B4\",tan:\"#D2B48C\",teal:\"#008080\",thistle:\"#D8BFD8\",tomato:\"#FF6347\",turquoise:\"#40E0D0\",violet:\"#EE82EE\",wheat:\"#F5DEB3\",white:\"#FFF\",whitesmoke:\"#F5F5F5\",yellow:\"#FF0\",yellowgreen:\"#9ACD32\"},Pe=(t,e,s)=>(s<0&&(s+=1),s>1&&(s-=1),s<1/6?t+6*(e-t)*s:s<.5?e:s<2/3?t+(e-t)*(2/3-s)*6:t),Ee=(t,e,s,i)=>{t/=255,e/=255,s/=255;const r=Math.max(t,e,s),n=Math.min(t,e,s);let o,a;const h=(r+n)/2;if(r===n)o=a=0;else{const i=r-n;switch(a=h>.5?i/(2-r-n):i/(r+n),r){case t:o=(e-s)/i+(e<s?6:0);break;case e:o=(s-t)/i+2;break;case s:o=(t-e)/i+4}o/=6}return[Math.round(360*o),Math.round(100*a),Math.round(100*h),i]},Ae=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"1\";return parseFloat(t)/(t.endsWith(\"%\")?100:1)},je=t=>Math.min(Math.round(t),255).toString(16).toUpperCase().padStart(2,\"0\"),Fe=t=>{let[e,s,i,r=1]=t;const n=Math.round(.3*e+.59*s+.11*i);return[n,n,n,r]};class Le{constructor(e){if(t(this,\"isUnrecognised\",!1),e)if(e instanceof Le)this.setSource([...e._source]);else if(Array.isArray(e)){const[t,s,i,r=1]=e;this.setSource([t,s,i,r])}else this.setSource(this._tryParsingColor(e));else this.setSource([0,0,0,1])}_tryParsingColor(t){return(t=t.toLowerCase())in Me&&(t=Me[t]),\"transparent\"===t?[255,255,255,0]:Le.sourceFromHex(t)||Le.sourceFromRgb(t)||Le.sourceFromHsl(t)||(this.isUnrecognised=!0)&&[0,0,0,1]}getSource(){return this._source}setSource(t){this._source=t}toRgb(){const[t,e,s]=this.getSource();return\"rgb(\".concat(t,\",\").concat(e,\",\").concat(s,\")\")}toRgba(){return\"rgba(\".concat(this.getSource().join(\",\"),\")\")}toHsl(){const[t,e,s]=Ee(...this.getSource());return\"hsl(\".concat(t,\",\").concat(e,\"%,\").concat(s,\"%)\")}toHsla(){const[t,e,s,i]=Ee(...this.getSource());return\"hsla(\".concat(t,\",\").concat(e,\"%,\").concat(s,\"%,\").concat(i,\")\")}toHex(){return this.toHexa().slice(0,6)}toHexa(){const[t,e,s,i]=this.getSource();return\"\".concat(je(t)).concat(je(e)).concat(je(s)).concat(je(Math.round(255*i)))}getAlpha(){return this.getSource()[3]}setAlpha(t){return this._source[3]=t,this}toGrayscale(){return this.setSource(Fe(this.getSource())),this}toBlackWhite(t){const[e,,,s]=Fe(this.getSource()),i=e<(t||127)?0:255;return this.setSource([i,i,i,s]),this}overlayWith(t){t instanceof Le||(t=new Le(t));const e=this.getSource(),s=t.getSource(),[i,r,n]=e.map(((t,e)=>Math.round(.5*t+.5*s[e])));return this.setSource([i,r,n,e[3]]),this}static fromRgb(t){return Le.fromRgba(t)}static fromRgba(t){return new Le(Le.sourceFromRgb(t))}static sourceFromRgb(t){const e=t.match(/^rgba?\\(\\s*(\\d{0,3}(?:\\.\\d+)?%?)\\s*[\\s|,]\\s*(\\d{0,3}(?:\\.\\d+)?%?)\\s*[\\s|,]\\s*(\\d{0,3}(?:\\.\\d+)?%?)\\s*(?:\\s*[,/]\\s*(\\d{0,3}(?:\\.\\d+)?%?)\\s*)?\\)$/i);if(e){const[t,s,i]=e.slice(1,4).map((t=>{const e=parseFloat(t);return t.endsWith(\"%\")?Math.round(2.55*e):e}));return[t,s,i,Ae(e[4])]}}static fromHsl(t){return Le.fromHsla(t)}static fromHsla(t){return new Le(Le.sourceFromHsl(t))}static sourceFromHsl(t){const e=t.match(/^hsla?\\(\\s*([+-]?\\d{0,3}(?:\\.\\d+)?(?:deg|turn|rad)?)\\s*[\\s|,]\\s*(\\d{0,3}(?:\\.\\d+)?%?)\\s*[\\s|,]\\s*(\\d{0,3}(?:\\.\\d+)?%?)\\s*(?:\\s*[,/]\\s*(\\d*(?:\\.\\d+)?%?)\\s*)?\\)$/i);if(!e)return;const s=(Le.parseAngletoDegrees(e[1])%360+360)%360/360,i=parseFloat(e[2])/100,r=parseFloat(e[3])/100;let n,o,a;if(0===i)n=o=a=r;else{const t=r<=.5?r*(i+1):r+i-r*i,e=2*r-t;n=Pe(e,t,s+1/3),o=Pe(e,t,s),a=Pe(e,t,s-1/3)}return[Math.round(255*n),Math.round(255*o),Math.round(255*a),Ae(e[4])]}static fromHex(t){return new Le(Le.sourceFromHex(t))}static sourceFromHex(t){if(t.match(/^#?(([0-9a-f]){3,4}|([0-9a-f]{2}){3,4})$/i)){const e=t.slice(t.indexOf(\"#\")+1);let s;s=e.length<=4?e.split(\"\").map((t=>t+t)):e.match(/.{2}/g);const[i,r,n,o=255]=s.map((t=>parseInt(t,16)));return[i,r,n,o/255]}}static parseAngletoDegrees(t){const e=t.toLowerCase(),s=parseFloat(e);return e.includes(\"rad\")?Ct(s):e.includes(\"turn\")?360*s:s}}const Re=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:O;const s=/\\D{0,2}$/.exec(t),i=parseFloat(t),r=o.DPI;switch(null==s?void 0:s[0]){case\"mm\":return i*r/25.4;case\"cm\":return i*r/2.54;case\"in\":return i*r;case\"pt\":return i*r/72;case\"pc\":return i*r/72*12;case\"em\":return i*e;default:return i}},Ie=t=>{const[e,s]=t.trim().split(\" \"),[i,r]=(n=e)&&n!==j?[n.slice(1,4),n.slice(5,8)]:n===j?[n,n]:[\"Mid\",\"Mid\"];var n;return{meetOrSlice:s||\"meet\",alignX:i,alignY:r}},Be=function(t,e){let s,i,r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(e)if(e.toLive)s=\"url(#SVGID_\".concat(e.id,\")\");else{const t=new Le(e),r=t.getAlpha();s=t.toRgb(),1!==r&&(i=r.toString())}else s=\"none\";return r?\"\".concat(t,\": \").concat(s,\"; \").concat(i?\"\".concat(t,\"-opacity: \").concat(i,\"; \"):\"\"):\"\".concat(t,'=\"').concat(s,'\" ').concat(i?\"\".concat(t,'-opacity=\"').concat(i,'\" '):\"\")};class Xe{getSvgStyles(t){const e=this.fillRule?this.fillRule:\"nonzero\",s=this.strokeWidth?this.strokeWidth:\"0\",i=this.strokeDashArray?this.strokeDashArray.join(\" \"):j,r=this.strokeDashOffset?this.strokeDashOffset:\"0\",n=this.strokeLineCap?this.strokeLineCap:\"butt\",o=this.strokeLineJoin?this.strokeLineJoin:\"miter\",a=this.strokeMiterLimit?this.strokeMiterLimit:\"4\",h=void 0!==this.opacity?this.opacity:\"1\",c=this.visible?\"\":\" visibility: hidden;\",l=t?\"\":this.getSvgFilter(),u=Be(K,this.fill);return[Be(J,this.stroke),\"stroke-width: \",s,\"; \",\"stroke-dasharray: \",i,\"; \",\"stroke-linecap: \",n,\"; \",\"stroke-dashoffset: \",r,\"; \",\"stroke-linejoin: \",o,\"; \",\"stroke-miterlimit: \",a,\"; \",u,\"fill-rule: \",e,\"; \",\"opacity: \",h,\";\",l,c].join(\"\")}getSvgFilter(){return this.shadow?\"filter: url(#SVGID_\".concat(this.shadow.id,\");\"):\"\"}getSvgCommons(){return[this.id?'id=\"'.concat(this.id,'\" '):\"\",this.clipPath?'clip-path=\"url(#'.concat(this.clipPath.clipPathId,')\" '):\"\"].join(\"\")}getSvgTransform(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\";const s=t?this.calcTransformMatrix():this.calcOwnMatrix(),i='transform=\"'.concat(zt(s));return\"\".concat(i).concat(e,'\" ')}_toSVG(t){return[\"\"]}toSVG(t){return this._createBaseSVGMarkup(this._toSVG(t),{reviver:t})}toClipPathSVG(t){return\"\\t\"+this._createBaseClipPathSVGMarkup(this._toSVG(t),{reviver:t})}_createBaseClipPathSVGMarkup(t){let{reviver:e,additionalTransform:s=\"\"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=[this.getSvgTransform(!0,s),this.getSvgCommons()].join(\"\"),r=t.indexOf(\"COMMON_PARTS\");return t[r]=i,e?e(t.join(\"\")):t.join(\"\")}_createBaseSVGMarkup(t){let{noStyle:e,reviver:s,withShadow:i,additionalTransform:r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=e?\"\":'style=\"'.concat(this.getSvgStyles(),'\" '),o=i?'style=\"'.concat(this.getSvgFilter(),'\" '):\"\",a=this.clipPath,h=this.strokeUniform?'vector-effect=\"non-scaling-stroke\" ':\"\",c=a&&a.absolutePositioned,l=this.stroke,u=this.fill,d=this.shadow,g=[],f=t.indexOf(\"COMMON_PARTS\");let p;a&&(a.clipPathId=\"CLIPPATH_\".concat(ft()),p='<clipPath id=\"'.concat(a.clipPathId,'\" >\\n').concat(a.toClipPathSVG(s),\"</clipPath>\\n\")),c&&g.push(\"<g \",o,this.getSvgCommons(),\" >\\n\"),g.push(\"<g \",this.getSvgTransform(!1),c?\"\":o+this.getSvgCommons(),\" >\\n\");const m=[n,h,e?\"\":this.addPaintOrder(),\" \",r?'transform=\"'.concat(r,'\" '):\"\"].join(\"\");return t[f]=m,Gt(u)&&g.push(u.toSVG(this)),Gt(l)&&g.push(l.toSVG(this)),d&&g.push(d.toSVG(this)),a&&g.push(p),g.push(t.join(\"\")),g.push(\"</g>\\n\"),c&&g.push(\"</g>\\n\"),s?s(g.join(\"\")):g.join(\"\")}addPaintOrder(){return this.paintFirst!==K?' paint-order=\"'.concat(this.paintFirst,'\" '):\"\"}}function Ye(t){return new RegExp(\"^(\"+t.join(\"|\")+\")\\\\b\",\"i\")}const We=\"textDecorationThickness\",Ve=[\"fontSize\",\"fontWeight\",\"fontFamily\",\"fontStyle\"],ze=[\"underline\",\"overline\",\"linethrough\"],Ge=[...Ve,\"lineHeight\",\"text\",\"charSpacing\",\"textAlign\",\"styles\",\"path\",\"pathStartOffset\",\"pathSide\",\"pathAlign\"],He=[...Ge,...ze,\"textBackgroundColor\",\"direction\",We],Ne=[...Ve,...ze,J,\"strokeWidth\",K,\"deltaY\",\"textBackgroundColor\",We],Ue={_reNewline:F,_reSpacesAndTabs:/[ \\t\\r]/g,_reSpaceAndTab:/[ \\t\\r]/,_reWords:/\\S+/g,fontSize:40,fontWeight:\"normal\",fontFamily:\"Times New Roman\",underline:!1,overline:!1,linethrough:!1,textAlign:M,fontStyle:\"normal\",lineHeight:1.16,textBackgroundColor:\"\",stroke:null,shadow:null,path:void 0,pathStartOffset:0,pathSide:M,pathAlign:\"baseline\",charSpacing:0,deltaY:0,direction:\"ltr\",CACHE_FONT_SIZE:400,MIN_TEXT_WIDTH:2,superscript:{size:.6,baseline:-.35},subscript:{size:.6,baseline:.11},_fontSizeFraction:.222,offsets:{underline:.1,linethrough:-.28167,overline:-.81333},_fontSizeMult:1.13,[We]:66.667},qe=\"justify\",Ke=\"justify-left\",Je=\"justify-right\",Qe=\"justify-center\";var Ze,$e,ts;const es=String.raw(Ze||(Ze=r([\"[-+]?(?:d*.d+|d+.?)(?:[eE][-+]?d+)?\"],[\"[-+]?(?:\\\\d*\\\\.\\\\d+|\\\\d+\\\\.?)(?:[eE][-+]?\\\\d+)?\"]))),ss=String.raw($e||($e=r([\"(?:s*,?s+|s*,s*)\"],[\"(?:\\\\s*,?\\\\s+|\\\\s*,\\\\s*)\"]))),is=\"http://www.w3.org/2000/svg\",rs=new RegExp(\"(normal|italic)?\\\\s*(normal|small-caps)?\\\\s*(normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900)?\\\\s*(\"+es+\"(?:px|cm|mm|em|pt|pc|in)*)(?:\\\\/(normal|\"+es+\"))?\\\\s+(.*)\"),ns={cx:M,x:M,r:\"radius\",cy:P,y:P,display:\"visible\",visibility:\"visible\",transform:\"transformMatrix\",\"fill-opacity\":\"fillOpacity\",\"fill-rule\":\"fillRule\",\"font-family\":\"fontFamily\",\"font-size\":\"fontSize\",\"font-style\":\"fontStyle\",\"font-weight\":\"fontWeight\",\"letter-spacing\":\"charSpacing\",\"paint-order\":\"paintFirst\",\"stroke-dasharray\":\"strokeDashArray\",\"stroke-dashoffset\":\"strokeDashOffset\",\"stroke-linecap\":\"strokeLineCap\",\"stroke-linejoin\":\"strokeLineJoin\",\"stroke-miterlimit\":\"strokeMiterLimit\",\"stroke-opacity\":\"strokeOpacity\",\"stroke-width\":\"strokeWidth\",\"text-decoration\":\"textDecoration\",\"text-anchor\":\"textAnchor\",opacity:\"opacity\",\"clip-path\":\"clipPath\",\"clip-rule\":\"clipRule\",\"vector-effect\":\"strokeUniform\",\"image-rendering\":\"imageSmoothing\",\"text-decoration-thickness\":We},os=\"font-size\",as=\"clip-path\",hs=Ye([\"path\",\"circle\",\"polygon\",\"polyline\",\"ellipse\",\"rect\",\"line\",\"image\",\"text\"]),cs=Ye([\"symbol\",\"image\",\"marker\",\"pattern\",\"view\",\"svg\"]),ls=Ye([\"symbol\",\"g\",\"a\",\"svg\",\"clipPath\",\"defs\"]),us=new RegExp(String.raw(ts||(ts=r([\"^s*(\",\")\",\"(\",\")\",\"(\",\")\",\"(\",\")s*$\"],[\"^\\\\s*(\",\")\",\"(\",\")\",\"(\",\")\",\"(\",\")\\\\s*$\"])),es,ss,es,ss,es,ss,es)),ds=new ot(1,0),gs=new ot,fs=(t,e)=>t.rotate(e),ps=(t,e)=>new ot(e).subtract(t),ms=t=>t.distanceFrom(gs),vs=(t,e)=>Math.atan2(Cs(t,e),bs(t,e)),ys=t=>vs(ds,t),_s=t=>t.eq(gs)?t:t.scalarDivide(ms(t)),xs=function(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return _s(new ot(-t.y,t.x).scalarMultiply(e?1:-1))},Cs=(t,e)=>t.x*e.y-t.y*e.x,bs=(t,e)=>t.x*e.x+t.y*e.y,Ss=(t,e,s)=>{if(t.eq(e)||t.eq(s))return!0;const i=Cs(e,s),r=Cs(e,t),n=Cs(s,t);return i>=0?r>=0&&n<=0:!(r<=0&&n>=0)},ws=\"(-?\\\\d+(?:\\\\.\\\\d*)?(?:px)?(?:\\\\s?|$))?\",Ts=new RegExp(\"(?:\\\\s|^)\"+ws+ws+\"(\"+es+\"?(?:px)?)?(?:\\\\s?|$)(?:$|\\\\s)\");class Os{constructor(t){const e=\"string\"==typeof t?Os.parseShadow(t):t;Object.assign(this,Os.ownDefaults,e),this.id=ft()}static parseShadow(t){const e=t.trim(),[,s=0,i=0,r=0]=(Ts.exec(e)||[]).map((t=>parseFloat(t)||0));return{color:(e.replace(Ts,\"\")||\"rgb(0,0,0)\").trim(),offsetX:s,offsetY:i,blur:r}}toString(){return[this.offsetX,this.offsetY,this.blur,this.color].join(\"px \")}toSVG(t){const e=fs(new ot(this.offsetX,this.offsetY),xt(-t.angle)),s=new Le(this.color);let i=40,r=40;return t.width&&t.height&&(i=100*Vt((Math.abs(e.x)+this.blur)/t.width,o.NUM_FRACTION_DIGITS)+20,r=100*Vt((Math.abs(e.y)+this.blur)/t.height,o.NUM_FRACTION_DIGITS)+20),t.flipX&&(e.x*=-1),t.flipY&&(e.y*=-1),'<filter id=\"SVGID_'.concat(this.id,'\" y=\"-').concat(r,'%\" height=\"').concat(100+2*r,'%\" x=\"-').concat(i,'%\" width=\"').concat(100+2*i,'%\" >\\n\\t<feGaussianBlur in=\"SourceAlpha\" stdDeviation=\"').concat(Vt(this.blur?this.blur/2:0,o.NUM_FRACTION_DIGITS),'\"></feGaussianBlur>\\n\\t<feOffset dx=\"').concat(Vt(e.x,o.NUM_FRACTION_DIGITS),'\" dy=\"').concat(Vt(e.y,o.NUM_FRACTION_DIGITS),'\" result=\"oBlur\" ></feOffset>\\n\\t<feFlood flood-color=\"').concat(s.toRgb(),'\" flood-opacity=\"').concat(s.getAlpha(),'\"/>\\n\\t<feComposite in2=\"oBlur\" operator=\"in\" />\\n\\t<feMerge>\\n\\t\\t<feMergeNode></feMergeNode>\\n\\t\\t<feMergeNode in=\"SourceGraphic\"></feMergeNode>\\n\\t</feMerge>\\n</filter>\\n')}toObject(){const t={color:this.color,blur:this.blur,offsetX:this.offsetX,offsetY:this.offsetY,affectStroke:this.affectStroke,nonScaling:this.nonScaling,type:this.constructor.type},e=Os.ownDefaults;return this.includeDefaultValues?t:Wt(t,((t,s)=>t!==e[s]))}static async fromObject(t){return new this(t)}}t(Os,\"ownDefaults\",{color:\"rgb(0,0,0)\",blur:0,offsetX:0,offsetY:0,affectStroke:!1,includeDefaultValues:!0,nonScaling:!1}),t(Os,\"type\",\"shadow\"),tt.setClass(Os,\"shadow\");const ks=(t,e,s)=>Math.max(t,Math.min(e,s)),Ds=[P,M,H,N,\"flipX\",\"flipY\",\"originX\",\"originY\",\"angle\",\"opacity\",\"globalCompositeOperation\",\"shadow\",\"visible\",U,q],Ms=[K,J,\"strokeWidth\",\"strokeDashArray\",\"width\",\"height\",\"paintFirst\",\"strokeUniform\",\"strokeLineCap\",\"strokeDashOffset\",\"strokeLineJoin\",\"strokeMiterLimit\",\"backgroundColor\",\"clipPath\"],Ps={top:0,left:0,width:0,height:0,angle:0,flipX:!1,flipY:!1,scaleX:1,scaleY:1,minScaleLimit:0,skewX:0,skewY:0,originX:M,originY:P,strokeWidth:1,strokeUniform:!1,padding:0,opacity:1,paintFirst:K,fill:\"rgb(0,0,0)\",fillRule:\"nonzero\",stroke:null,strokeDashArray:null,strokeDashOffset:0,strokeLineCap:\"butt\",strokeLineJoin:\"miter\",strokeMiterLimit:4,globalCompositeOperation:\"source-over\",backgroundColor:\"\",shadow:null,visible:!0,includeDefaultValues:!0,excludeFromExport:!1,objectCaching:!0,clipPath:void 0,inverted:!1,absolutePositioned:!1,centeredRotation:!0,centeredScaling:!1,dirty:!0},Es=(t,e,s,i)=>(t<Math.abs(e)?(t=e,i=s/4):i=0===e&&0===t?s/S*Math.asin(1):s/S*Math.asin(e/t),{a:t,c:e,p:s,s:i}),As=(t,e,s,i,r)=>t*Math.pow(2,10*(i-=1))*Math.sin((i*r-e)*S/s),js=(t,e,s,i)=>-s*Math.cos(t/i*b)+s+e,Fs=(t,e,s,i)=>(t/=i)<1/2.75?s*(7.5625*t*t)+e:t<2/2.75?s*(7.5625*(t-=1.5/2.75)*t+.75)+e:t<2.5/2.75?s*(7.5625*(t-=2.25/2.75)*t+.9375)+e:s*(7.5625*(t-=2.625/2.75)*t+.984375)+e,Ls=(t,e,s,i)=>s-Fs(i-t,0,s,i)+e;var Rs=Object.freeze({__proto__:null,defaultEasing:js,easeInBack:function(t,e,s,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1.70158;return s*(t/=i)*t*((r+1)*t-r)+e},easeInBounce:Ls,easeInCirc:(t,e,s,i)=>-s*(Math.sqrt(1-(t/=i)*t)-1)+e,easeInCubic:(t,e,s,i)=>s*(t/i)**3+e,easeInElastic:(t,e,s,i)=>{const r=s;let n=0;if(0===t)return e;if(1===(t/=i))return e+s;n||(n=.3*i);const{a:o,s:a,p:h}=Es(r,s,n,1.70158);return-As(o,a,h,t,i)+e},easeInExpo:(t,e,s,i)=>0===t?e:s*2**(10*(t/i-1))+e,easeInOutBack:function(t,e,s,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1.70158;return(t/=i/2)<1?s/2*(t*t*((1+(r*=1.525))*t-r))+e:s/2*((t-=2)*t*((1+(r*=1.525))*t+r)+2)+e},easeInOutBounce:(t,e,s,i)=>t<i/2?.5*Ls(2*t,0,s,i)+e:.5*Fs(2*t-i,0,s,i)+.5*s+e,easeInOutCirc:(t,e,s,i)=>(t/=i/2)<1?-s/2*(Math.sqrt(1-t**2)-1)+e:s/2*(Math.sqrt(1-(t-=2)*t)+1)+e,easeInOutCubic:(t,e,s,i)=>(t/=i/2)<1?s/2*t**3+e:s/2*((t-2)**3+2)+e,easeInOutElastic:(t,e,s,i)=>{const r=s;let n=0;if(0===t)return e;if(2===(t/=i/2))return e+s;n||(n=i*(.3*1.5));const{a:o,s:a,p:h,c:c}=Es(r,s,n,1.70158);return t<1?-.5*As(o,a,h,t,i)+e:o*Math.pow(2,-10*(t-=1))*Math.sin((t*i-a)*S/h)*.5+c+e},easeInOutExpo:(t,e,s,i)=>0===t?e:t===i?e+s:(t/=i/2)<1?s/2*2**(10*(t-1))+e:s/2*-(2**(-10*--t)+2)+e,easeInOutQuad:(t,e,s,i)=>(t/=i/2)<1?s/2*t**2+e:-s/2*(--t*(t-2)-1)+e,easeInOutQuart:(t,e,s,i)=>(t/=i/2)<1?s/2*t**4+e:-s/2*((t-=2)*t**3-2)+e,easeInOutQuint:(t,e,s,i)=>(t/=i/2)<1?s/2*t**5+e:s/2*((t-2)**5+2)+e,easeInOutSine:(t,e,s,i)=>-s/2*(Math.cos(Math.PI*t/i)-1)+e,easeInQuad:(t,e,s,i)=>s*(t/=i)*t+e,easeInQuart:(t,e,s,i)=>s*(t/=i)*t**3+e,easeInQuint:(t,e,s,i)=>s*(t/i)**5+e,easeInSine:(t,e,s,i)=>-s*Math.cos(t/i*b)+s+e,easeOutBack:function(t,e,s,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1.70158;return s*((t=t/i-1)*t*((r+1)*t+r)+1)+e},easeOutBounce:Fs,easeOutCirc:(t,e,s,i)=>s*Math.sqrt(1-(t=t/i-1)*t)+e,easeOutCubic:(t,e,s,i)=>s*((t/i-1)**3+1)+e,easeOutElastic:(t,e,s,i)=>{const r=s;let n=0;if(0===t)return e;if(1===(t/=i))return e+s;n||(n=.3*i);const{a:o,s:a,p:h,c:c}=Es(r,s,n,1.70158);return o*2**(-10*t)*Math.sin((t*i-a)*S/h)+c+e},easeOutExpo:(t,e,s,i)=>t===i?e+s:s*-(2**(-10*t/i)+1)+e,easeOutQuad:(t,e,s,i)=>-s*(t/=i)*(t-2)+e,easeOutQuart:(t,e,s,i)=>-s*((t=t/i-1)*t**3-1)+e,easeOutQuint:(t,e,s,i)=>s*((t/i-1)**5+1)+e,easeOutSine:(t,e,s,i)=>s*Math.sin(t/i*b)+e});const Is=()=>!1;class Bs{constructor(e){let{startValue:s,byValue:i,duration:r=500,delay:n=0,easing:o=js,onStart:a=C,onChange:h=C,onComplete:c=C,abort:l=Is,target:u}=e;t(this,\"_state\",\"pending\"),t(this,\"durationProgress\",0),t(this,\"valueProgress\",0),this.tick=this.tick.bind(this),this.duration=r,this.delay=n,this.easing=o,this._onStart=a,this._onChange=h,this._onComplete=c,this._abort=l,this.target=u,this.startValue=s,this.byValue=i,this.value=this.startValue,this.endValue=Object.freeze(this.calculate(this.duration).value)}get state(){return this._state}isDone(){return\"aborted\"===this._state||\"completed\"===this._state}start(){const t=t=>{\"pending\"===this._state&&(this.startTime=t||+new Date,this._state=\"running\",this._onStart(),this.tick(this.startTime))};this.register(),this.delay>0?setTimeout((()=>ut(t)),this.delay):ut(t)}tick(t){const e=(t||+new Date)-this.startTime,s=Math.min(e,this.duration);this.durationProgress=s/this.duration;const{value:i,valueProgress:r}=this.calculate(s);this.value=Object.freeze(i),this.valueProgress=r,\"aborted\"!==this._state&&(this._abort(this.value,this.valueProgress,this.durationProgress)?(this._state=\"aborted\",this.unregister()):e>=this.duration?(this.durationProgress=this.valueProgress=1,this._onChange(this.endValue,this.valueProgress,this.durationProgress),this._state=\"completed\",this._onComplete(this.endValue,this.valueProgress,this.durationProgress),this.unregister()):(this._onChange(this.value,this.valueProgress,this.durationProgress),ut(this.tick)))}register(){et.push(this)}unregister(){et.remove(this)}abort(){this._state=\"aborted\",this.unregister()}}const Xs=[\"startValue\",\"endValue\"];class Ys extends Bs{constructor(t){let{startValue:e=0,endValue:r=100}=t;super(s(s({},i(t,Xs)),{},{startValue:e,byValue:r-e}))}calculate(t){const e=this.easing(t,this.startValue,this.byValue,this.duration);return{value:e,valueProgress:Math.abs((e-this.startValue)/this.byValue)}}}const Ws=[\"startValue\",\"endValue\"];class Vs extends Bs{constructor(t){let{startValue:e=[0],endValue:r=[100]}=t;super(s(s({},i(t,Ws)),{},{startValue:e,byValue:r.map(((t,s)=>t-e[s]))}))}calculate(t){const e=this.startValue.map(((e,s)=>this.easing(t,e,this.byValue[s],this.duration,s)));return{value:e,valueProgress:Math.abs((e[0]-this.startValue[0])/this.byValue[0])}}}const zs=[\"startValue\",\"endValue\",\"easing\",\"onChange\",\"onComplete\",\"abort\"],Gs=(t,e,s,i)=>e+s*(1-Math.cos(t/i*b)),Hs=t=>t&&((e,s,i)=>t(new Le(e).toRgba(),s,i));class Ns extends Bs{constructor(t){let{startValue:e,endValue:r,easing:n=Gs,onChange:o,onComplete:a,abort:h}=t,c=i(t,zs);const l=new Le(e).getSource(),u=new Le(r).getSource();super(s(s({},c),{},{startValue:l,byValue:u.map(((t,e)=>t-l[e])),easing:n,onChange:Hs(o),onComplete:Hs(a),abort:Hs(h)}))}calculate(t){const[e,s,i,r]=this.startValue.map(((e,s)=>this.easing(t,e,this.byValue[s],this.duration,s))),n=[...[e,s,i].map(Math.round),ks(0,r,1)];return{value:n,valueProgress:n.map(((t,e)=>0!==this.byValue[e]?Math.abs((t-this.startValue[e])/this.byValue[e]):0)).find((t=>0!==t))||0}}}function Us(t){const e=(t=>Array.isArray(t.startValue)||Array.isArray(t.endValue))(t)?new Vs(t):new Ys(t);return e.start(),e}function qs(t){const e=new Ns(t);return e.start(),e}class Ks{constructor(t){this.status=t,this.points=[]}includes(t){return this.points.some((e=>e.eq(t)))}append(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return this.points=this.points.concat(e.filter((t=>!this.includes(t)))),this}static isPointContained(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(e.eq(s))return t.eq(e);if(e.x===s.x)return t.x===e.x&&(i||t.y>=Math.min(e.y,s.y)&&t.y<=Math.max(e.y,s.y));if(e.y===s.y)return t.y===e.y&&(i||t.x>=Math.min(e.x,s.x)&&t.x<=Math.max(e.x,s.x));{const r=ps(e,s),n=ps(e,t).divide(r);return i?Math.abs(n.x)===Math.abs(n.y):n.x===n.y&&n.x>=0&&n.x<=1}}static isPointInPolygon(t,e){const s=new ot(t).setX(Math.min(t.x-1,...e.map((t=>t.x))));let i=0;for(let r=0;r<e.length;r++){const n=this.intersectSegmentSegment(e[r],e[(r+1)%e.length],t,s);if(n.includes(t))return!0;i+=Number(\"Intersection\"===n.status)}return i%2==1}static intersectLineLine(t,e,s,i){let r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],n=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];const o=e.x-t.x,a=e.y-t.y,h=i.x-s.x,c=i.y-s.y,l=t.x-s.x,u=t.y-s.y,d=h*u-c*l,g=o*u-a*l,f=c*o-h*a;if(0!==f){const e=d/f,s=g/f;return(r||0<=e&&e<=1)&&(n||0<=s&&s<=1)?new Ks(\"Intersection\").append(new ot(t.x+e*o,t.y+e*a)):new Ks}if(0===d||0===g){const o=r||n||Ks.isPointContained(t,s,i)||Ks.isPointContained(e,s,i)||Ks.isPointContained(s,t,e)||Ks.isPointContained(i,t,e);return new Ks(o?\"Coincident\":void 0)}return new Ks(\"Parallel\")}static intersectSegmentLine(t,e,s,i){return Ks.intersectLineLine(t,e,s,i,!1,!0)}static intersectSegmentSegment(t,e,s,i){return Ks.intersectLineLine(t,e,s,i,!1,!1)}static intersectLinePolygon(t,e,s){let i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const r=new Ks,n=s.length;for(let o,a,h,c=0;c<n;c++){if(o=s[c],a=s[(c+1)%n],h=Ks.intersectLineLine(t,e,o,a,i,!1),\"Coincident\"===h.status)return h;r.append(...h.points)}return r.points.length>0&&(r.status=\"Intersection\"),r}static intersectSegmentPolygon(t,e,s){return Ks.intersectLinePolygon(t,e,s,!1)}static intersectPolygonPolygon(t,e){const s=new Ks,i=t.length,r=[];for(let n=0;n<i;n++){const o=t[n],a=t[(n+1)%i],h=Ks.intersectSegmentPolygon(o,a,e);\"Coincident\"===h.status?(r.push(h),s.append(o,a)):s.append(...h.points)}return r.length>0&&r.length===t.length?new Ks(\"Coincident\"):(s.points.length>0&&(s.status=\"Intersection\"),s)}static intersectPolygonRectangle(t,e,s){const i=e.min(s),r=e.max(s),n=new ot(r.x,i.y),o=new ot(i.x,r.y);return Ks.intersectPolygonPolygon(t,[i,n,r,o])}}class Js extends lt{getX(){return this.getXY().x}setX(t){this.setXY(this.getXY().setX(t))}getY(){return this.getXY().y}setY(t){this.setXY(this.getXY().setY(t))}getRelativeX(){return this.left}setRelativeX(t){this.left=t}getRelativeY(){return this.top}setRelativeY(t){this.top=t}getXY(){const t=this.getRelativeXY();return this.group?St(t,this.group.calcTransformMatrix()):t}setXY(t,e,s){this.group&&(t=St(t,wt(this.group.calcTransformMatrix()))),this.setRelativeXY(t,e,s)}getRelativeXY(){return new ot(this.left,this.top)}setRelativeXY(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.originX,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.originY;this.setPositionByOrigin(t,e,s)}isStrokeAccountedForInDimensions(){return!1}getCoords(){const{tl:t,tr:e,br:s,bl:i}=this.aCoords||(this.aCoords=this.calcACoords()),r=[t,e,s,i];if(this.group){const t=this.group.calcTransformMatrix();return r.map((e=>St(e,t)))}return r}intersectsWithRect(t,e){return\"Intersection\"===Ks.intersectPolygonRectangle(this.getCoords(),t,e).status}intersectsWithObject(t){const e=Ks.intersectPolygonPolygon(this.getCoords(),t.getCoords());return\"Intersection\"===e.status||\"Coincident\"===e.status||t.isContainedWithinObject(this)||this.isContainedWithinObject(t)}isContainedWithinObject(t){return this.getCoords().every((e=>t.containsPoint(e)))}isContainedWithinRect(t,e){const{left:s,top:i,width:r,height:n}=this.getBoundingRect();return s>=t.x&&s+r<=e.x&&i>=t.y&&i+n<=e.y}isOverlapping(t){return this.intersectsWithObject(t)||this.isContainedWithinObject(t)||t.isContainedWithinObject(this)}containsPoint(t){return Ks.isPointInPolygon(t,this.getCoords())}isOnScreen(){if(!this.canvas)return!1;const{tl:t,br:e}=this.canvas.vptCoords;return!!this.getCoords().some((s=>s.x<=e.x&&s.x>=t.x&&s.y<=e.y&&s.y>=t.y))||(!!this.intersectsWithRect(t,e)||this.containsPoint(t.midPointFrom(e)))}isPartiallyOnScreen(){if(!this.canvas)return!1;const{tl:t,br:e}=this.canvas.vptCoords;if(this.intersectsWithRect(t,e))return!0;return this.getCoords().every((s=>(s.x>=e.x||s.x<=t.x)&&(s.y>=e.y||s.y<=t.y)))&&this.containsPoint(t.midPointFrom(e))}getBoundingRect(){return ae(this.getCoords())}getScaledWidth(){return this._getTransformedDimensions().x}getScaledHeight(){return this._getTransformedDimensions().y}scale(t){this._set(H,t),this._set(N,t),this.setCoords()}scaleToWidth(t){const e=this.getBoundingRect().width/this.getScaledWidth();return this.scale(t/this.width/e)}scaleToHeight(t){const e=this.getBoundingRect().height/this.getScaledHeight();return this.scale(t/this.height/e)}getCanvasRetinaScaling(){var t;return(null===(t=this.canvas)||void 0===t?void 0:t.getRetinaScaling())||1}getTotalAngle(){return this.group?Ct(kt(this.calcTransformMatrix())):this.angle}getViewportTransform(){var t;return(null===(t=this.canvas)||void 0===t?void 0:t.viewportTransform)||T.concat()}calcACoords(){const t=Pt({angle:this.angle}),{x:e,y:s}=this.getRelativeCenterPoint(),i=Mt(e,s),r=Tt(i,t),n=this._getTransformedDimensions(),o=n.x/2,a=n.y/2;return{tl:St({x:-o,y:-a},r),tr:St({x:o,y:-a},r),bl:St({x:-o,y:a},r),br:St({x:o,y:a},r)}}setCoords(){this.aCoords=this.calcACoords()}transformMatrixKey(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=[];return!t&&this.group&&(e=this.group.transformMatrixKey(t)),e.push(this.top,this.left,this.width,this.height,this.scaleX,this.scaleY,this.angle,this.strokeWidth,this.skewX,this.skewY,+this.flipX,+this.flipY,xe(this.originX),xe(this.originY)),e}calcTransformMatrix(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.calcOwnMatrix();if(t||!this.group)return e;const s=this.transformMatrixKey(t),i=this.matrixCache;return i&&i.key.every(((t,e)=>t===s[e]))?i.value:(this.group&&(e=Tt(this.group.calcTransformMatrix(!1),e)),this.matrixCache={key:s,value:e},e)}calcOwnMatrix(){const t=this.transformMatrixKey(!0),e=this.ownMatrixCache;if(e&&e.key===t)return e.value;const s=this.getRelativeCenterPoint(),i={angle:this.angle,translateX:s.x,translateY:s.y,scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY},r=Rt(i);return this.ownMatrixCache={key:t,value:r},r}_getNonTransformedDimensions(){return new ot(this.width,this.height).scalarAdd(this.strokeWidth)}_calculateCurrentDimensions(t){return this._getTransformedDimensions(t).transform(this.getViewportTransform(),!0).scalarAdd(2*this.padding)}_getTransformedDimensions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const e=s({scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,width:this.width,height:this.height,strokeWidth:this.strokeWidth},t),i=e.strokeWidth;let r=i,n=0;this.strokeUniform&&(r=0,n=i);const o=e.width+r,a=e.height+r;let h;return h=0===e.skewX&&0===e.skewY?new ot(o*e.scaleX,a*e.scaleY):ge(o,a,Lt(e)),h.scalarAdd(n)}translateToGivenOrigin(t,e,s,i,r){let n=t.x,o=t.y;const a=xe(i)-xe(e),h=xe(r)-xe(s);if(a||h){const t=this._getTransformedDimensions();n+=a*t.x,o+=h*t.y}return new ot(n,o)}translateToCenterPoint(t,e,s){if(e===D&&s===D)return t;const i=this.translateToGivenOrigin(t,e,s,D,D);return this.angle?i.rotate(xt(this.angle),t):i}translateToOriginPoint(t,e,s){const i=this.translateToGivenOrigin(t,D,D,e,s);return this.angle?i.rotate(xt(this.angle),t):i}getCenterPoint(){const t=this.getRelativeCenterPoint();return this.group?St(t,this.group.calcTransformMatrix()):t}getRelativeCenterPoint(){return this.translateToCenterPoint(new ot(this.left,this.top),this.originX,this.originY)}getPointByOrigin(t,e){return this.translateToOriginPoint(this.getRelativeCenterPoint(),t,e)}setPositionByOrigin(t,e,s){const i=this.translateToCenterPoint(t,e,s),r=this.translateToOriginPoint(i,this.originX,this.originY);this.set({left:r.x,top:r.y})}_getLeftTopCoords(){return this.translateToOriginPoint(this.getRelativeCenterPoint(),M,P)}}const Qs=[\"type\"],Zs=[\"extraParam\"];let $s=class e extends Js{static getDefaults(){return e.ownDefaults}get type(){const t=this.constructor.type;return\"FabricObject\"===t?\"object\":t.toLowerCase()}set type(t){a(\"warn\",\"Setting type has no effect\",t)}constructor(s){super(),t(this,\"_cacheContext\",null),Object.assign(this,e.ownDefaults),this.setOptions(s)}_createCacheCanvas(){this._cacheCanvas=pt(),this._cacheContext=this._cacheCanvas.getContext(\"2d\"),this._updateCacheCanvas(),this.dirty=!0}_limitCacheSize(t){const e=t.width,s=t.height,i=o.maxCacheSideLimit,r=o.minCacheSideLimit;if(e<=i&&s<=i&&e*s<=o.perfLimitSizeTotal)return e<r&&(t.width=r),s<r&&(t.height=r),t;const n=e/s,[a,h]=_.limitDimsByArea(n),c=ks(r,a,i),l=ks(r,h,i);return e>c&&(t.zoomX/=e/c,t.width=c,t.capped=!0),s>l&&(t.zoomY/=s/l,t.height=l,t.capped=!0),t}_getCacheCanvasDimensions(){const t=this.getTotalObjectScaling(),e=this._getTransformedDimensions({skewX:0,skewY:0}),s=e.x*t.x/this.scaleX,i=e.y*t.y/this.scaleY;return{width:Math.ceil(s+2),height:Math.ceil(i+2),zoomX:t.x,zoomY:t.y,x:s,y:i}}_updateCacheCanvas(){const t=this._cacheCanvas,e=this._cacheContext,{width:s,height:i,zoomX:r,zoomY:n,x:o,y:a}=this._limitCacheSize(this._getCacheCanvasDimensions()),h=s!==t.width||i!==t.height,c=this.zoomX!==r||this.zoomY!==n;if(!t||!e)return!1;if(h||c){s!==t.width||i!==t.height?(t.width=s,t.height=i):(e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,t.width,t.height));const h=o/2,c=a/2;return this.cacheTranslationX=Math.round(t.width/2-h)+h,this.cacheTranslationY=Math.round(t.height/2-c)+c,e.translate(this.cacheTranslationX,this.cacheTranslationY),e.scale(r,n),this.zoomX=r,this.zoomY=n,!0}return!1}setOptions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setOptions(t)}transform(t){const e=this.group&&!this.group._transformDone||this.group&&this.canvas&&t===this.canvas.contextTop,s=this.calcTransformMatrix(!e);t.transform(s[0],s[1],s[2],s[3],s[4],s[5])}getObjectScaling(){if(!this.group)return new ot(Math.abs(this.scaleX),Math.abs(this.scaleY));const t=Dt(this.calcTransformMatrix());return new ot(Math.abs(t.scaleX),Math.abs(t.scaleY))}getTotalObjectScaling(){const t=this.getObjectScaling();if(this.canvas){const e=this.canvas.getZoom(),s=this.getCanvasRetinaScaling();return t.scalarMultiply(e*s)}return t}getObjectOpacity(){let t=this.opacity;return this.group&&(t*=this.group.getObjectOpacity()),t}_constrainScale(t){return Math.abs(t)<this.minScaleLimit?t<0?-this.minScaleLimit:this.minScaleLimit:0===t?1e-4:t}_set(t,e){t!==H&&t!==N||(e=this._constrainScale(e)),t===H&&e<0?(this.flipX=!this.flipX,e*=-1):\"scaleY\"===t&&e<0?(this.flipY=!this.flipY,e*=-1):\"shadow\"!==t||!e||e instanceof Os||(e=new Os(e));const s=this[t]!==e;return this[t]=e,s&&this.constructor.cacheProperties.includes(t)&&(this.dirty=!0),this.parent&&(this.dirty||s&&this.constructor.stateProperties.includes(t))&&this.parent._set(\"dirty\",!0),this}isNotVisible(){return 0===this.opacity||!this.width&&!this.height&&0===this.strokeWidth||!this.visible}render(t){this.isNotVisible()||this.canvas&&this.canvas.skipOffscreen&&!this.group&&!this.isOnScreen()||(t.save(),this._setupCompositeOperation(t),this.drawSelectionBackground(t),this.transform(t),this._setOpacity(t),this._setShadow(t),this.shouldCache()?(this.renderCache(),this.drawCacheOnCanvas(t)):(this._removeCacheCanvas(),this.drawObject(t,!1,{}),this.dirty=!1),t.restore())}drawSelectionBackground(t){}renderCache(t){if(t=t||{},this._cacheCanvas&&this._cacheContext||this._createCacheCanvas(),this.isCacheDirty()&&this._cacheContext){const{zoomX:e,zoomY:s,cacheTranslationX:i,cacheTranslationY:r}=this,{width:n,height:o}=this._cacheCanvas;this.drawObject(this._cacheContext,t.forClipping,{zoomX:e,zoomY:s,cacheTranslationX:i,cacheTranslationY:r,width:n,height:o,parentClipPaths:[]}),this.dirty=!1}}_removeCacheCanvas(){this._cacheCanvas=void 0,this._cacheContext=null}hasStroke(){return this.stroke&&\"transparent\"!==this.stroke&&0!==this.strokeWidth}hasFill(){return this.fill&&\"transparent\"!==this.fill}needsItsOwnCache(){return!!(this.paintFirst===J&&this.hasFill()&&this.hasStroke()&&this.shadow)||!!this.clipPath}shouldCache(){return this.ownCaching=this.objectCaching&&(!this.parent||!this.parent.isOnACache())||this.needsItsOwnCache(),this.ownCaching}willDrawShadow(){return!!this.shadow&&(0!==this.shadow.offsetX||0!==this.shadow.offsetY)}drawClipPathOnCache(t,e,s){t.save(),e.inverted?t.globalCompositeOperation=\"destination-out\":t.globalCompositeOperation=\"destination-in\",t.setTransform(1,0,0,1,0,0),t.drawImage(s,0,0),t.restore()}drawObject(t,e,s){const i=this.fill,r=this.stroke;e?(this.fill=\"black\",this.stroke=\"\",this._setClippingProperties(t)):this._renderBackground(t),this._render(t),this._drawClipPath(t,this.clipPath,s),this.fill=i,this.stroke=r}createClipPathLayer(t,e){const s=vt(e),i=s.getContext(\"2d\");if(i.translate(e.cacheTranslationX,e.cacheTranslationY),i.scale(e.zoomX,e.zoomY),t._cacheCanvas=s,e.parentClipPaths.forEach((t=>{t.transform(i)})),e.parentClipPaths.push(t),t.absolutePositioned){const t=wt(this.calcTransformMatrix());i.transform(t[0],t[1],t[2],t[3],t[4],t[5])}return t.transform(i),t.drawObject(i,!0,e),s}_drawClipPath(t,e,s){if(!e)return;e._transformDone=!0;const i=this.createClipPathLayer(e,s);this.drawClipPathOnCache(t,e,i)}drawCacheOnCanvas(t){t.scale(1/this.zoomX,1/this.zoomY),t.drawImage(this._cacheCanvas,-this.cacheTranslationX,-this.cacheTranslationY)}isCacheDirty(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.isNotVisible())return!1;const e=this._cacheCanvas,s=this._cacheContext;return!(!e||!s||t||!this._updateCacheCanvas())||!!(this.dirty||this.clipPath&&this.clipPath.absolutePositioned)&&(e&&s&&!t&&(s.save(),s.setTransform(1,0,0,1,0,0),s.clearRect(0,0,e.width,e.height),s.restore()),!0)}_renderBackground(t){if(!this.backgroundColor)return;const e=this._getNonTransformedDimensions();t.fillStyle=this.backgroundColor,t.fillRect(-e.x/2,-e.y/2,e.x,e.y),this._removeShadow(t)}_setOpacity(t){this.group&&!this.group._transformDone?t.globalAlpha=this.getObjectOpacity():t.globalAlpha*=this.opacity}_setStrokeStyles(t,e){const s=e.stroke;s&&(t.lineWidth=e.strokeWidth,t.lineCap=e.strokeLineCap,t.lineDashOffset=e.strokeDashOffset,t.lineJoin=e.strokeLineJoin,t.miterLimit=e.strokeMiterLimit,Gt(s)?\"percentage\"===s.gradientUnits||s.gradientTransform||s.patternTransform?this._applyPatternForTransformedGradient(t,s):(t.strokeStyle=s.toLive(t),this._applyPatternGradientTransform(t,s)):t.strokeStyle=e.stroke)}_setFillStyles(t,e){let{fill:s}=e;s&&(Gt(s)?(t.fillStyle=s.toLive(t),this._applyPatternGradientTransform(t,s)):t.fillStyle=s)}_setClippingProperties(t){t.globalAlpha=1,t.strokeStyle=\"transparent\",t.fillStyle=\"#000000\"}_setLineDash(t,e){e&&0!==e.length&&t.setLineDash(e)}_setShadow(t){if(!this.shadow)return;const e=this.shadow,s=this.canvas,i=this.getCanvasRetinaScaling(),[r,,,n]=(null==s?void 0:s.viewportTransform)||T,a=r*i,h=n*i,c=e.nonScaling?new ot(1,1):this.getObjectScaling();t.shadowColor=e.color,t.shadowBlur=e.blur*o.browserShadowBlurConstant*(a+h)*(c.x+c.y)/4,t.shadowOffsetX=e.offsetX*a*c.x,t.shadowOffsetY=e.offsetY*h*c.y}_removeShadow(t){this.shadow&&(t.shadowColor=\"\",t.shadowBlur=t.shadowOffsetX=t.shadowOffsetY=0)}_applyPatternGradientTransform(t,e){if(!Gt(e))return{offsetX:0,offsetY:0};const s=e.gradientTransform||e.patternTransform,i=-this.width/2+e.offsetX||0,r=-this.height/2+e.offsetY||0;return\"percentage\"===e.gradientUnits?t.transform(this.width,0,0,this.height,i,r):t.transform(1,0,0,1,i,r),s&&t.transform(s[0],s[1],s[2],s[3],s[4],s[5]),{offsetX:i,offsetY:r}}_renderPaintInOrder(t){this.paintFirst===J?(this._renderStroke(t),this._renderFill(t)):(this._renderFill(t),this._renderStroke(t))}_render(t){}_renderFill(t){this.fill&&(t.save(),this._setFillStyles(t,this),\"evenodd\"===this.fillRule?t.fill(\"evenodd\"):t.fill(),t.restore())}_renderStroke(t){if(this.stroke&&0!==this.strokeWidth){if(this.shadow&&!this.shadow.affectStroke&&this._removeShadow(t),t.save(),this.strokeUniform){const e=this.getObjectScaling();t.scale(1/e.x,1/e.y)}this._setLineDash(t,this.strokeDashArray),this._setStrokeStyles(t,this),t.stroke(),t.restore()}}_applyPatternForTransformedGradient(t,e){var s;const i=this._limitCacheSize(this._getCacheCanvasDimensions()),r=this.getCanvasRetinaScaling(),n=i.x/this.scaleX/r,o=i.y/this.scaleY/r,a=vt({width:Math.ceil(n),height:Math.ceil(o)}),h=a.getContext(\"2d\");h&&(h.beginPath(),h.moveTo(0,0),h.lineTo(n,0),h.lineTo(n,o),h.lineTo(0,o),h.closePath(),h.translate(n/2,o/2),h.scale(i.zoomX/this.scaleX/r,i.zoomY/this.scaleY/r),this._applyPatternGradientTransform(h,e),h.fillStyle=e.toLive(t),h.fill(),t.translate(-this.width/2-this.strokeWidth/2,-this.height/2-this.strokeWidth/2),t.scale(r*this.scaleX/i.zoomX,r*this.scaleY/i.zoomY),t.strokeStyle=null!==(s=h.createPattern(a,\"no-repeat\"))&&void 0!==s?s:\"\")}_findCenterFromElement(){return new ot(this.left+this.width/2,this.top+this.height/2)}clone(t){const e=this.toObject(t);return this.constructor.fromObject(e)}cloneAsImage(t){const e=this.toCanvasElement(t);return new(tt.getClass(\"image\"))(e)}toCanvasElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const e=de(this),s=this.group,i=this.shadow,r=Math.abs,n=t.enableRetinaScaling?y():1,o=(t.multiplier||1)*n,a=t.canvasProvider||(t=>new se(t,{enableRetinaScaling:!1,renderOnAddRemove:!1,skipOffscreen:!1}));delete this.group,t.withoutTransform&&ue(this),t.withoutShadow&&(this.shadow=null),t.viewportTransform&&ve(this,this.getViewportTransform()),this.setCoords();const h=pt(),c=this.getBoundingRect(),l=this.shadow,u=new ot;if(l){const t=l.blur,e=l.nonScaling?new ot(1,1):this.getObjectScaling();u.x=2*Math.round(r(l.offsetX)+t)*r(e.x),u.y=2*Math.round(r(l.offsetY)+t)*r(e.y)}const d=c.width+u.x,g=c.height+u.y;h.width=Math.ceil(d),h.height=Math.ceil(g);const f=a(h);\"jpeg\"===t.format&&(f.backgroundColor=\"#fff\"),this.setPositionByOrigin(new ot(f.width/2,f.height/2),D,D);const p=this.canvas;f._objects=[this],this.set(\"canvas\",f),this.setCoords();const m=f.toCanvasElement(o||1,t);return this.set(\"canvas\",p),this.shadow=i,s&&(this.group=s),this.set(e),this.setCoords(),f._objects=[],f.destroy(),m}toDataURL(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return yt(this.toCanvasElement(t),t.format||\"png\",t.quality||1)}toBlob(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return _t(this.toCanvasElement(t),t.format||\"png\",t.quality||1)}isType(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return e.includes(this.constructor.type)||e.includes(this.type)}complexity(){return 1}toJSON(){return this.toObject()}rotate(t){const{centeredRotation:e,originX:s,originY:i}=this;if(e){const{x:t,y:e}=this.getRelativeCenterPoint();this.originX=D,this.originY=D,this.left=t,this.top=e}if(this.set(\"angle\",t),e){const{x:t,y:e}=this.translateToOriginPoint(this.getRelativeCenterPoint(),s,i);this.left=t,this.top=e,this.originX=s,this.originY=i}}setOnGroup(){}_setupCompositeOperation(t){this.globalCompositeOperation&&(t.globalCompositeOperation=this.globalCompositeOperation)}dispose(){et.cancelByTarget(this),this.off(),this._set(\"canvas\",void 0),this._cacheCanvas&&p().dispose(this._cacheCanvas),this._cacheCanvas=void 0,this._cacheContext=null}animate(t,e){return Object.entries(t).reduce(((t,s)=>{let[i,r]=s;return t[i]=this._animate(i,r,e),t}),{})}_animate(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=t.split(\".\"),n=this.constructor.colorProperties.includes(r[r.length-1]),{abort:o,startValue:a,onChange:h,onComplete:c}=i,l=s(s({},i),{},{target:this,startValue:null!=a?a:r.reduce(((t,e)=>t[e]),this),endValue:e,abort:null==o?void 0:o.bind(this),onChange:(t,e,s)=>{r.reduce(((e,s,i)=>(i===r.length-1&&(e[s]=t),e[s])),this),h&&h(t,e,s)},onComplete:(t,e,s)=>{this.setCoords(),c&&c(t,e,s)}});return n?qs(l):Us(l)}isDescendantOf(t){const{parent:e,group:s}=this;return e===t||s===t||!!e&&e.isDescendantOf(t)||!!s&&s!==e&&s.isDescendantOf(t)}getAncestors(){const t=[];let e=this;do{e=e.parent,e&&t.push(e)}while(e);return t}findCommonAncestors(t){if(this===t)return{fork:[],otherFork:[],common:[this,...this.getAncestors()]};const e=this.getAncestors(),s=t.getAncestors();if(0===e.length&&s.length>0&&this===s[s.length-1])return{fork:[],otherFork:[t,...s.slice(0,s.length-1)],common:[this]};for(let i,r=0;r<e.length;r++){if(i=e[r],i===t)return{fork:[this,...e.slice(0,r)],otherFork:[],common:e.slice(r)};for(let n=0;n<s.length;n++){if(this===s[n])return{fork:[],otherFork:[t,...s.slice(0,n)],common:[this,...e]};if(i===s[n])return{fork:[this,...e.slice(0,r)],otherFork:[t,...s.slice(0,n)],common:e.slice(r)}}}return{fork:[this,...e],otherFork:[t,...s],common:[]}}hasCommonAncestors(t){const e=this.findCommonAncestors(t);return e&&!!e.common.length}isInFrontOf(t){if(this===t)return;const e=this.findCommonAncestors(t);if(e.fork.includes(t))return!0;if(e.otherFork.includes(this))return!1;const s=e.common[0]||this.canvas;if(!s)return;const i=e.fork.pop(),r=e.otherFork.pop(),n=s._objects.indexOf(i),o=s._objects.indexOf(r);return n>-1&&n>o}toObject(){const t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).concat(e.customProperties,this.constructor.customProperties||[]);let i;const r=o.NUM_FRACTION_DIGITS,{clipPath:n,fill:a,stroke:h,shadow:c,strokeDashArray:l,left:u,top:d,originX:g,originY:f,width:p,height:m,strokeWidth:v,strokeLineCap:y,strokeDashOffset:_,strokeLineJoin:C,strokeUniform:b,strokeMiterLimit:S,scaleX:w,scaleY:T,angle:O,flipX:k,flipY:D,opacity:M,visible:P,backgroundColor:E,fillRule:A,paintFirst:j,globalCompositeOperation:F,skewX:L,skewY:R}=this;n&&!n.excludeFromExport&&(i=n.toObject(t.concat(\"inverted\",\"absolutePositioned\")));const I=t=>Vt(t,r),B=s(s({},Yt(this,t)),{},{type:this.constructor.type,version:x,originX:g,originY:f,left:I(u),top:I(d),width:I(p),height:I(m),fill:Ht(a)?a.toObject():a,stroke:Ht(h)?h.toObject():h,strokeWidth:I(v),strokeDashArray:l?l.concat():l,strokeLineCap:y,strokeDashOffset:_,strokeLineJoin:C,strokeUniform:b,strokeMiterLimit:I(S),scaleX:I(w),scaleY:I(T),angle:I(O),flipX:k,flipY:D,opacity:I(M),shadow:c?c.toObject():c,visible:P,backgroundColor:E,fillRule:A,paintFirst:j,globalCompositeOperation:F,skewX:I(L),skewY:I(R)},i?{clipPath:i}:null);return this.includeDefaultValues?B:this._removeDefaultValues(B)}toDatalessObject(t){return this.toObject(t)}_removeDefaultValues(t){const e=this.constructor.getDefaults(),s=Object.keys(e).length>0?e:Object.getPrototypeOf(this);return Wt(t,((t,e)=>{if(e===M||e===P||\"type\"===e)return!0;const i=s[e];return t!==i&&!(Array.isArray(t)&&Array.isArray(i)&&0===t.length&&0===i.length)}))}toString(){return\"#<\".concat(this.constructor.type,\">\")}static _fromObject(t){let e=i(t,Qs),s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{extraParam:r}=s,n=i(s,Zs);return Xt(e,n).then((t=>r?(delete t[r],new this(e[r],t)):new this(t)))}static fromObject(t,e){return this._fromObject(t,e)}};t($s,\"stateProperties\",Ds),t($s,\"cacheProperties\",Ms),t($s,\"ownDefaults\",Ps),t($s,\"type\",\"FabricObject\"),t($s,\"colorProperties\",[K,J,\"backgroundColor\"]),t($s,\"customProperties\",[]),tt.setClass($s),tt.setClass($s,\"object\");const ti=(t,e,i)=>(r,n,o,a)=>{const h=e(r,n,o,a);return h&&ye(t,s(s({},Te(r,n,o,a)),i)),h};function ei(t){return(e,s,i,r)=>{const{target:n,originX:o,originY:a}=s,h=n.getRelativeCenterPoint(),c=n.translateToOriginPoint(h,o,a),l=t(e,s,i,r);return n.setPositionByOrigin(c,s.originX,s.originY),l}}const si=ti(Y,ei(((t,e,s,i)=>{const r=ke(e,e.originX,e.originY,s,i);if(xe(e.originX)===xe(D)||xe(e.originX)===xe(A)&&r.x<0||xe(e.originX)===xe(M)&&r.x>0){const{target:t}=e,s=t.strokeWidth/(t.strokeUniform?t.scaleX:1),i=be(e)?2:1,n=t.width,o=Math.abs(r.x*i/t.scaleX)-s;return t.set(\"width\",Math.max(o,1)),n!==t.width}return!1})));function ii(t,e,s,i,r){i=i||{};const n=this.sizeX||i.cornerSize||r.cornerSize,o=this.sizeY||i.cornerSize||r.cornerSize,a=void 0!==i.transparentCorners?i.transparentCorners:r.transparentCorners,h=a?J:K,c=!a&&(i.cornerStrokeColor||r.cornerStrokeColor);let l,u=e,d=s;t.save(),t.fillStyle=i.cornerColor||r.cornerColor||\"\",t.strokeStyle=i.cornerStrokeColor||r.cornerStrokeColor||\"\",n>o?(l=n,t.scale(1,o/n),d=s*n/o):o>n?(l=o,t.scale(n/o,1),u=e*o/n):l=n,t.beginPath(),t.arc(u,d,l/2,0,S,!1),t[h](),c&&t.stroke(),t.restore()}function ri(t,e,s,i,r){i=i||{};const n=this.sizeX||i.cornerSize||r.cornerSize,o=this.sizeY||i.cornerSize||r.cornerSize,a=void 0!==i.transparentCorners?i.transparentCorners:r.transparentCorners,h=a?J:K,c=!a&&(i.cornerStrokeColor||r.cornerStrokeColor),l=n/2,u=o/2;t.save(),t.fillStyle=i.cornerColor||r.cornerColor||\"\",t.strokeStyle=i.cornerStrokeColor||r.cornerStrokeColor||\"\",t.translate(e,s);const d=r.getTotalAngle();t.rotate(xt(d)),t[\"\".concat(h,\"Rect\")](-l,-u,n,o),c&&t.strokeRect(-l,-u,n,o),t.restore()}class ni{constructor(e){t(this,\"visible\",!0),t(this,\"actionName\",G),t(this,\"angle\",0),t(this,\"x\",0),t(this,\"y\",0),t(this,\"offsetX\",0),t(this,\"offsetY\",0),t(this,\"sizeX\",0),t(this,\"sizeY\",0),t(this,\"touchSizeX\",0),t(this,\"touchSizeY\",0),t(this,\"cursorStyle\",\"crosshair\"),t(this,\"withConnection\",!1),Object.assign(this,e)}shouldActivate(t,e,s,i){var r;let{tl:n,tr:o,br:a,bl:h}=i;return(null===(r=e.canvas)||void 0===r?void 0:r.getActiveObject())===e&&e.isControlVisible(t)&&Ks.isPointInPolygon(s,[n,o,a,h])}getActionHandler(t,e,s){return this.actionHandler}getMouseDownHandler(t,e,s){return this.mouseDownHandler}getMouseUpHandler(t,e,s){return this.mouseUpHandler}cursorStyleHandler(t,e,s){return e.cursorStyle}getActionName(t,e,s){return e.actionName}getVisibility(t,e){var s,i;return null!==(s=null===(i=t._controlsVisibility)||void 0===i?void 0:i[e])&&void 0!==s?s:this.visible}setVisibility(t,e,s){this.visible=t}positionHandler(t,e,s,i){return new ot(this.x*t.x+this.offsetX,this.y*t.y+this.offsetY).transform(e)}calcCornerCoords(t,e,s,i,r,n){const o=Ot([Mt(s,i),Pt({angle:t}),Et((r?this.touchSizeX:this.sizeX)||e,(r?this.touchSizeY:this.sizeY)||e)]);return{tl:new ot(-.5,-.5).transform(o),tr:new ot(.5,-.5).transform(o),br:new ot(.5,.5).transform(o),bl:new ot(-.5,.5).transform(o)}}render(t,e,s,i,r){if(\"circle\"===((i=i||{}).cornerStyle||r.cornerStyle))ii.call(this,t,e,s,i,r);else ri.call(this,t,e,s,i,r)}}const oi=(t,e,s)=>s.lockRotation?Ce:e.cursorStyle,ai=ti(I,ei(((t,e,s,i)=>{let{target:r,ex:n,ey:o,theta:a,originX:h,originY:c}=e;const l=r.translateToOriginPoint(r.getRelativeCenterPoint(),h,c);if(we(r,\"lockRotation\"))return!1;const u=Math.atan2(o-l.y,n-l.x),d=Math.atan2(i-l.y,s-l.x);let g=Ct(d-u+a);if(r.snapAngle&&r.snapAngle>0){const t=r.snapAngle,e=r.snapThreshold||t,s=Math.ceil(g/t)*t,i=Math.floor(g/t)*t;Math.abs(g-i)<e?g=i:Math.abs(g-s)<e&&(g=s)}g<0&&(g=360+g),g%=360;const f=r.angle!==g;return r.angle=g,f})));function hi(t,e){const s=e.canvas,i=t[s.uniScaleKey];return s.uniformScaling&&!i||!s.uniformScaling&&i}function ci(t,e,s){const i=we(t,\"lockScalingX\"),r=we(t,\"lockScalingY\");if(i&&r)return!0;if(!e&&(i||r)&&s)return!0;if(i&&\"x\"===e)return!0;if(r&&\"y\"===e)return!0;const{width:n,height:o,strokeWidth:a}=t;return 0===n&&0===a&&\"y\"!==e||0===o&&0===a&&\"x\"!==e}const li=[\"e\",\"se\",\"s\",\"sw\",\"w\",\"nw\",\"n\",\"ne\",\"e\"],ui=(t,e,s)=>{const i=hi(t,s);if(ci(s,0!==e.x&&0===e.y?\"x\":0===e.x&&0!==e.y?\"y\":\"\",i))return Ce;const r=Oe(s,e);return\"\".concat(li[r],\"-resize\")};function di(t,e,s,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};const n=e.target,o=r.by,a=hi(t,n);let h,c,l,u,d,g;if(ci(n,o,a))return!1;if(e.gestureScale)c=e.scaleX*e.gestureScale,l=e.scaleY*e.gestureScale;else{if(h=ke(e,e.originX,e.originY,s,i),d=\"y\"!==o?Math.sign(h.x||e.signX||1):1,g=\"x\"!==o?Math.sign(h.y||e.signY||1):1,e.signX||(e.signX=d),e.signY||(e.signY=g),we(n,\"lockScalingFlip\")&&(e.signX!==d||e.signY!==g))return!1;if(u=n._getTransformedDimensions(),a&&!o){const t=Math.abs(h.x)+Math.abs(h.y),{original:s}=e,i=t/(Math.abs(u.x*s.scaleX/n.scaleX)+Math.abs(u.y*s.scaleY/n.scaleY));c=s.scaleX*i,l=s.scaleY*i}else c=Math.abs(h.x*n.scaleX/u.x),l=Math.abs(h.y*n.scaleY/u.y);be(e)&&(c*=2,l*=2),e.signX!==d&&\"y\"!==o&&(e.originX=Se(e.originX),c*=-1,e.signX=d),e.signY!==g&&\"x\"!==o&&(e.originY=Se(e.originY),l*=-1,e.signY=g)}const f=n.scaleX,p=n.scaleY;return o?(\"x\"===o&&n.set(H,c),\"y\"===o&&n.set(N,l)):(!we(n,\"lockScalingX\")&&n.set(H,c),!we(n,\"lockScalingY\")&&n.set(N,l)),f!==n.scaleX||p!==n.scaleY}const gi=ti(R,ei(((t,e,s,i)=>di(t,e,s,i)))),fi=ti(R,ei(((t,e,s,i)=>di(t,e,s,i,{by:\"x\"})))),pi=ti(R,ei(((t,e,s,i)=>di(t,e,s,i,{by:\"y\"})))),mi=[\"target\",\"ex\",\"ey\",\"skewingSide\"],vi={x:{counterAxis:\"y\",scale:H,skew:U,lockSkewing:\"lockSkewingX\",origin:\"originX\",flip:\"flipX\"},y:{counterAxis:\"x\",scale:N,skew:q,lockSkewing:\"lockSkewingY\",origin:\"originY\",flip:\"flipY\"}},yi=[\"ns\",\"nesw\",\"ew\",\"nwse\"],_i=(t,e,s)=>{if(0!==e.x&&we(s,\"lockSkewingY\"))return Ce;if(0!==e.y&&we(s,\"lockSkewingX\"))return Ce;const i=Oe(s,e)%4;return\"\".concat(yi[i],\"-resize\")};function xi(t,e,r,n,o){const{target:a}=r,{counterAxis:h,origin:c,lockSkewing:l,skew:u,flip:d}=vi[t];if(we(a,l))return!1;const{origin:g,flip:f}=vi[h],p=xe(r[g])*(a[f]?-1:1),m=-Math.sign(p)*(a[d]?-1:1),v=.5*-((0===a[u]&&ke(r,D,D,n,o)[t]>0||a[u]>0?1:-1)*m)+.5,y=ti(X,ei(((e,s,r,n)=>function(t,e,s){let{target:r,ex:n,ey:o,skewingSide:a}=e,h=i(e,mi);const{skew:c}=vi[t],l=s.subtract(new ot(n,o)).divide(new ot(r.scaleX,r.scaleY))[t],u=r[c],d=h[c],g=Math.tan(xt(d)),f=\"y\"===t?r._getTransformedDimensions({scaleX:1,scaleY:1,skewX:0}).x:r._getTransformedDimensions({scaleX:1,scaleY:1}).y,p=2*l*a/Math.max(f,1)+g,m=Ct(Math.atan(p));r.set(c,m);const v=u!==r[c];if(v&&\"y\"===t){const{skewX:t,scaleX:e}=r,s=r._getTransformedDimensions({skewY:u}),i=r._getTransformedDimensions(),n=0!==t?s.x/i.x:1;1!==n&&r.set(H,n*e)}return v}(t,s,new ot(r,n)))));return y(e,s(s({},r),{},{[c]:v,skewingSide:m}),n,o)}const Ci=(t,e,s,i)=>xi(\"x\",t,e,s,i),bi=(t,e,s,i)=>xi(\"y\",t,e,s,i);function Si(t,e){return t[e.canvas.altActionKey]}const wi=(t,e,s)=>{const i=Si(t,s);return 0===e.x?i?U:N:0===e.y?i?q:H:\"\"},Ti=(t,e,s)=>Si(t,s)?_i(0,e,s):ui(t,e,s),Oi=(t,e,s,i)=>Si(t,e.target)?bi(t,e,s,i):fi(t,e,s,i),ki=(t,e,s,i)=>Si(t,e.target)?Ci(t,e,s,i):pi(t,e,s,i),Di=()=>({ml:new ni({x:-.5,y:0,cursorStyleHandler:Ti,actionHandler:Oi,getActionName:wi}),mr:new ni({x:.5,y:0,cursorStyleHandler:Ti,actionHandler:Oi,getActionName:wi}),mb:new ni({x:0,y:.5,cursorStyleHandler:Ti,actionHandler:ki,getActionName:wi}),mt:new ni({x:0,y:-.5,cursorStyleHandler:Ti,actionHandler:ki,getActionName:wi}),tl:new ni({x:-.5,y:-.5,cursorStyleHandler:ui,actionHandler:gi}),tr:new ni({x:.5,y:-.5,cursorStyleHandler:ui,actionHandler:gi}),bl:new ni({x:-.5,y:.5,cursorStyleHandler:ui,actionHandler:gi}),br:new ni({x:.5,y:.5,cursorStyleHandler:ui,actionHandler:gi}),mtr:new ni({x:0,y:-.5,actionHandler:ai,cursorStyleHandler:oi,offsetY:-40,withConnection:!0,actionName:B})}),Mi=()=>({mr:new ni({x:.5,y:0,actionHandler:si,cursorStyleHandler:Ti,actionName:Y}),ml:new ni({x:-.5,y:0,actionHandler:si,cursorStyleHandler:Ti,actionName:Y})}),Pi=()=>s(s({},Di()),Mi());class Ei extends $s{static getDefaults(){return s(s({},super.getDefaults()),Ei.ownDefaults)}constructor(t){super(),Object.assign(this,this.constructor.createControls(),Ei.ownDefaults),this.setOptions(t)}static createControls(){return{controls:Di()}}_updateCacheCanvas(){const t=this.canvas;if(this.noScaleCache&&t&&t._currentTransform){const e=t._currentTransform,s=e.target,i=e.action;if(this===s&&i&&i.startsWith(G))return!1}return super._updateCacheCanvas()}getActiveControl(){const t=this.__corner;return t?{key:t,control:this.controls[t],coord:this.oCoords[t]}:void 0}findControl(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!this.hasControls||!this.canvas)return;this.__corner=void 0;const s=Object.entries(this.oCoords);for(let i=s.length-1;i>=0;i--){const[r,n]=s[i],o=this.controls[r];if(o.shouldActivate(r,this,t,e?n.touchCorner:n.corner))return this.__corner=r,{key:r,control:o,coord:this.oCoords[r]}}}calcOCoords(){const t=this.getViewportTransform(),e=this.getCenterPoint(),s=Mt(e.x,e.y),i=Pt({angle:this.getTotalAngle()-(this.group&&this.flipX?180:0)}),r=Tt(s,i),n=Tt(t,r),o=Tt(n,[1/t[0],0,0,1/t[3],0,0]),a=this.group?Dt(this.calcTransformMatrix()):void 0;a&&(a.scaleX=Math.abs(a.scaleX),a.scaleY=Math.abs(a.scaleY));const h=this._calculateCurrentDimensions(a),c={};return this.forEachControl(((t,e)=>{const s=t.positionHandler(h,o,this,t);c[e]=Object.assign(s,this._calcCornerCoords(t,s))})),c}_calcCornerCoords(t,e){const s=this.getTotalAngle();return{corner:t.calcCornerCoords(s,this.cornerSize,e.x,e.y,!1,this),touchCorner:t.calcCornerCoords(s,this.touchCornerSize,e.x,e.y,!0,this)}}setCoords(){super.setCoords(),this.canvas&&(this.oCoords=this.calcOCoords())}forEachControl(t){for(const e in this.controls)t(this.controls[e],e,this)}drawSelectionBackground(t){if(!this.selectionBackgroundColor||this.canvas&&this.canvas._activeObject!==this)return;t.save();const e=this.getRelativeCenterPoint(),s=this._calculateCurrentDimensions(),i=this.getViewportTransform();t.translate(e.x,e.y),t.scale(1/i[0],1/i[3]),t.rotate(xt(this.angle)),t.fillStyle=this.selectionBackgroundColor,t.fillRect(-s.x/2,-s.y/2,s.x,s.y),t.restore()}strokeBorders(t,e){t.strokeRect(-e.x/2,-e.y/2,e.x,e.y)}_drawBorders(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=s({hasControls:this.hasControls,borderColor:this.borderColor,borderDashArray:this.borderDashArray},i);t.save(),t.strokeStyle=r.borderColor,this._setLineDash(t,r.borderDashArray),this.strokeBorders(t,e),r.hasControls&&this.drawControlsConnectingLines(t,e),t.restore()}_renderControls(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{hasBorders:i,hasControls:r}=this,n=s({hasBorders:i,hasControls:r},e),o=this.getViewportTransform(),a=n.hasBorders,h=n.hasControls,c=Tt(o,this.calcTransformMatrix()),l=Dt(c);t.save(),t.translate(l.translateX,l.translateY),t.lineWidth=this.borderScaleFactor,this.group===this.parent&&(t.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1),this.flipX&&(l.angle-=180),t.rotate(xt(this.group?l.angle:this.angle)),a&&this.drawBorders(t,l,e),h&&this.drawControls(t,e),t.restore()}drawBorders(t,e,s){let i;if(s&&s.forActiveSelection||this.group){const t=ge(this.width,this.height,Lt(e)),s=this.isStrokeAccountedForInDimensions()?at:(this.strokeUniform?(new ot).scalarAdd(this.canvas?this.canvas.getZoom():1):new ot(e.scaleX,e.scaleY)).scalarMultiply(this.strokeWidth);i=t.add(s).scalarAdd(this.borderScaleFactor).scalarAdd(2*this.padding)}else i=this._calculateCurrentDimensions().scalarAdd(this.borderScaleFactor);this._drawBorders(t,i,s)}drawControlsConnectingLines(t,e){let s=!1;t.beginPath(),this.forEachControl(((i,r)=>{i.withConnection&&i.getVisibility(this,r)&&(s=!0,t.moveTo(i.x*e.x,i.y*e.y),t.lineTo(i.x*e.x+i.offsetX,i.y*e.y+i.offsetY))})),s&&t.stroke()}drawControls(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.save();const i=this.getCanvasRetinaScaling(),{cornerStrokeColor:r,cornerDashArray:n,cornerColor:o}=this,a=s({cornerStrokeColor:r,cornerDashArray:n,cornerColor:o},e);t.setTransform(i,0,0,i,0,0),t.strokeStyle=t.fillStyle=a.cornerColor,this.transparentCorners||(t.strokeStyle=a.cornerStrokeColor),this._setLineDash(t,a.cornerDashArray),this.forEachControl(((e,s)=>{if(e.getVisibility(this,s)){const i=this.oCoords[s];e.render(t,i.x,i.y,a,this)}})),t.restore()}isControlVisible(t){return this.controls[t]&&this.controls[t].getVisibility(this,t)}setControlVisible(t,e){this._controlsVisibility||(this._controlsVisibility={}),this._controlsVisibility[t]=e}setControlsVisibility(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.entries(t).forEach((t=>{let[e,s]=t;return this.setControlVisible(e,s)}))}clearContextTop(t){if(!this.canvas)return;const e=this.canvas.contextTop;if(!e)return;const s=this.canvas.viewportTransform;e.save(),e.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this.transform(e);const i=this.width+4,r=this.height+4;return e.clearRect(-i/2,-r/2,i,r),t||e.restore(),e}onDeselect(t){return!1}onSelect(t){return!1}shouldStartDragging(t){return!1}onDragStart(t){return!1}canDrop(t){return!1}renderDragSourceEffect(t){}renderDropTargetEffect(t){}}function Ai(t,e){return e.forEach((e=>{Object.getOwnPropertyNames(e.prototype).forEach((s=>{\"constructor\"!==s&&Object.defineProperty(t.prototype,s,Object.getOwnPropertyDescriptor(e.prototype,s)||Object.create(null))}))})),t}t(Ei,\"ownDefaults\",{noScaleCache:!0,lockMovementX:!1,lockMovementY:!1,lockRotation:!1,lockScalingX:!1,lockScalingY:!1,lockSkewingX:!1,lockSkewingY:!1,lockScalingFlip:!1,cornerSize:13,touchCornerSize:24,transparentCorners:!0,cornerColor:\"rgb(178,204,255)\",cornerStrokeColor:\"\",cornerStyle:\"rect\",cornerDashArray:null,hasControls:!0,borderColor:\"rgb(178,204,255)\",borderDashArray:null,borderOpacityWhenMoving:.4,borderScaleFactor:1,hasBorders:!0,selectionBackgroundColor:\"\",selectable:!0,evented:!0,perPixelTargetFind:!1,activeOn:\"down\",hoverCursor:null,moveCursor:null});class ji extends Ei{}Ai(ji,[Xe]),tt.setClass(ji),tt.setClass(ji,\"object\");const Fi=(t,e,s,i)=>{const r=2*(i=Math.round(i))+1,{data:n}=t.getImageData(e-i,s-i,r,r);for(let t=3;t<n.length;t+=4){if(n[t]>0)return!1}return!0};class Li{constructor(t){this.options=t,this.strokeProjectionMagnitude=this.options.strokeWidth/2,this.scale=new ot(this.options.scaleX,this.options.scaleY),this.strokeUniformScalar=this.options.strokeUniform?new ot(1/this.options.scaleX,1/this.options.scaleY):new ot(1,1)}createSideVector(t,e){const s=ps(t,e);return this.options.strokeUniform?s.multiply(this.scale):s}projectOrthogonally(t,e,s){return this.applySkew(t.add(this.calcOrthogonalProjection(t,e,s)))}isSkewed(){return 0!==this.options.skewX||0!==this.options.skewY}applySkew(t){const e=new ot(t);return e.y+=e.x*Math.tan(xt(this.options.skewY)),e.x+=e.y*Math.tan(xt(this.options.skewX)),e}scaleUnitVector(t,e){return t.multiply(this.strokeUniformScalar).scalarMultiply(e)}}const Ri=new ot;class Ii extends Li{static getOrthogonalRotationFactor(t,e){const s=e?vs(t,e):ys(t);return Math.abs(s)<b?-1:1}constructor(e,s,i,r){super(r),t(this,\"AB\",void 0),t(this,\"AC\",void 0),t(this,\"alpha\",void 0),t(this,\"bisector\",void 0),this.A=new ot(e),this.B=new ot(s),this.C=new ot(i),this.AB=this.createSideVector(this.A,this.B),this.AC=this.createSideVector(this.A,this.C),this.alpha=vs(this.AB,this.AC),this.bisector=_s(fs(this.AB.eq(Ri)?this.AC:this.AB,this.alpha/2))}calcOrthogonalProjection(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.strokeProjectionMagnitude;const i=this.createSideVector(t,e),r=xs(i),n=Ii.getOrthogonalRotationFactor(r,this.bisector);return this.scaleUnitVector(r,s*n)}projectBevel(){const t=[];return(this.alpha%S==0?[this.B]:[this.B,this.C]).forEach((e=>{t.push(this.projectOrthogonally(this.A,e)),t.push(this.projectOrthogonally(this.A,e,-this.strokeProjectionMagnitude))})),t}projectMiter(){const t=[],e=Math.abs(this.alpha),s=1/Math.sin(e/2),i=this.scaleUnitVector(this.bisector,-this.strokeProjectionMagnitude*s),r=this.options.strokeUniform?ms(this.scaleUnitVector(this.bisector,this.options.strokeMiterLimit)):this.options.strokeMiterLimit;return ms(i)/this.strokeProjectionMagnitude<=r&&t.push(this.applySkew(this.A.add(i))),t.push(...this.projectBevel()),t}projectRoundNoSkew(t,e){const s=[],i=new ot(Ii.getOrthogonalRotationFactor(this.bisector),Ii.getOrthogonalRotationFactor(new ot(this.bisector.y,this.bisector.x)));return[new ot(1,0).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar).multiply(i),new ot(0,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar).multiply(i)].forEach((i=>{Ss(i,t,e)&&s.push(this.A.add(i))})),s}projectRoundWithSkew(t,e){const s=[],{skewX:i,skewY:r,scaleX:n,scaleY:o,strokeUniform:a}=this.options,h=new ot(Math.tan(xt(i)),Math.tan(xt(r))),c=this.strokeProjectionMagnitude,l=a?c/o/Math.sqrt(1/o**2+1/n**2*h.y**2):c/Math.sqrt(1+h.y**2),u=new ot(Math.sqrt(Math.max(c**2-l**2,0)),l),d=a?c/Math.sqrt(1+h.x**2*(1/o)**2/(1/n+1/n*h.x*h.y)**2):c/Math.sqrt(1+h.x**2/(1+h.x*h.y)**2),g=new ot(d,Math.sqrt(Math.max(c**2-d**2,0)));return[g,g.scalarMultiply(-1),u,u.scalarMultiply(-1)].map((t=>this.applySkew(a?t.multiply(this.strokeUniformScalar):t))).forEach((i=>{Ss(i,t,e)&&s.push(this.applySkew(this.A).add(i))})),s}projectRound(){const t=[];t.push(...this.projectBevel());const e=this.alpha%S==0,s=this.applySkew(this.A),i=t[e?0:2].subtract(s),r=t[e?1:0].subtract(s),n=e?this.applySkew(this.AB.scalarMultiply(-1)):this.applySkew(this.bisector.multiply(this.strokeUniformScalar).scalarMultiply(-1)),o=Cs(i,n)>0,a=o?i:r,h=o?r:i;return this.isSkewed()?t.push(...this.projectRoundWithSkew(a,h)):t.push(...this.projectRoundNoSkew(a,h)),t}projectPoints(){switch(this.options.strokeLineJoin){case\"miter\":return this.projectMiter();case\"round\":return this.projectRound();default:return this.projectBevel()}}project(){return this.projectPoints().map((t=>({originPoint:this.A,projectedPoint:t,angle:this.alpha,bisector:this.bisector})))}}class Bi extends Li{constructor(t,e,s){super(s),this.A=new ot(t),this.T=new ot(e)}calcOrthogonalProjection(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.strokeProjectionMagnitude;const i=this.createSideVector(t,e);return this.scaleUnitVector(xs(i),s)}projectButt(){return[this.projectOrthogonally(this.A,this.T,this.strokeProjectionMagnitude),this.projectOrthogonally(this.A,this.T,-this.strokeProjectionMagnitude)]}projectRound(){const t=[];if(!this.isSkewed()&&this.A.eq(this.T)){const e=new ot(1,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar);t.push(this.applySkew(this.A.add(e)),this.applySkew(this.A.subtract(e)))}else t.push(...new Ii(this.A,this.T,this.T,this.options).projectRound());return t}projectSquare(){const t=[];if(this.A.eq(this.T)){const e=new ot(1,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar);t.push(this.A.add(e),this.A.subtract(e))}else{const e=this.calcOrthogonalProjection(this.A,this.T,this.strokeProjectionMagnitude),s=this.scaleUnitVector(_s(this.createSideVector(this.A,this.T)),-this.strokeProjectionMagnitude),i=this.A.add(s);t.push(i.add(e),i.subtract(e))}return t.map((t=>this.applySkew(t)))}projectPoints(){switch(this.options.strokeLineCap){case\"round\":return this.projectRound();case\"square\":return this.projectSquare();default:return this.projectButt()}}project(){return this.projectPoints().map((t=>({originPoint:this.A,projectedPoint:t})))}}const Xi=function(t,e){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const i=[];if(0===t.length)return i;const r=t.reduce(((t,e)=>(t[t.length-1].eq(e)||t.push(new ot(e)),t)),[new ot(t[0])]);if(1===r.length)s=!0;else if(!s){const t=r[0],e=((t,e)=>{for(let s=t.length-1;s>=0;s--)if(e(t[s],s,t))return s;return-1})(r,(e=>!e.eq(t)));r.splice(e+1)}return r.forEach(((t,r,n)=>{let o,a;0===r?(a=n[1],o=s?t:n[n.length-1]):r===n.length-1?(o=n[r-1],a=s?t:n[0]):(o=n[r-1],a=n[r+1]),s&&1===n.length?i.push(...new Bi(t,t,e).project()):!s||0!==r&&r!==n.length-1?i.push(...new Ii(t,o,a,e).project()):i.push(...new Bi(t,0===r?a:o,e).project())})),i},Yi=t=>{const e={};return Object.keys(t).forEach((i=>{e[i]={},Object.keys(t[i]).forEach((r=>{e[i][r]=s({},t[i][r])}))})),e},Wi=t=>t.replace(/&/g,\"&amp;\").replace(/\"/g,\"&quot;\").replace(/'/g,\"&apos;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\");let Vi;const zi=t=>{if(Vi||Vi||(Vi=\"Intl\"in v()&&\"Segmenter\"in Intl&&new Intl.Segmenter(void 0,{granularity:\"grapheme\"})),Vi){const e=Vi.segment(t);return Array.from(e).map((t=>{let{segment:e}=t;return e}))}return Gi(t)},Gi=t=>{const e=[];for(let s,i=0;i<t.length;i++)!1!==(s=Hi(t,i))&&e.push(s);return e},Hi=(t,e)=>{const s=t.charCodeAt(e);if(isNaN(s))return\"\";if(s<55296||s>57343)return t.charAt(e);if(55296<=s&&s<=56319){if(t.length<=e+1)throw\"High surrogate without following low surrogate\";const s=t.charCodeAt(e+1);if(56320>s||s>57343)throw\"High surrogate without following low surrogate\";return t.charAt(e)+t.charAt(e+1)}if(0===e)throw\"Low surrogate without preceding high surrogate\";const i=t.charCodeAt(e-1);if(55296>i||i>56319)throw\"Low surrogate without preceding high surrogate\";return!1};var Ni=Object.freeze({__proto__:null,capitalize:function(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return\"\".concat(t.charAt(0).toUpperCase()).concat(e?t.slice(1):t.slice(1).toLowerCase())},escapeXml:Wi,graphemeSplit:zi});const Ui=function(t,e){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return t.fill!==e.fill||t.stroke!==e.stroke||t.strokeWidth!==e.strokeWidth||t.fontSize!==e.fontSize||t.fontFamily!==e.fontFamily||t.fontWeight!==e.fontWeight||t.fontStyle!==e.fontStyle||t.textDecorationThickness!==e.textDecorationThickness||t.textBackgroundColor!==e.textBackgroundColor||t.deltaY!==e.deltaY||s&&(t.overline!==e.overline||t.underline!==e.underline||t.linethrough!==e.linethrough)},qi=(t,e)=>{const s=e.split(\"\\n\"),i=[];let r=-1,n={};t=Yi(t);for(let e=0;e<s.length;e++){const o=zi(s[e]);if(t[e])for(let s=0;s<o.length;s++){r++;const o=t[e][s];o&&Object.keys(o).length>0&&(Ui(n,o,!0)?i.push({start:r,end:r+1,style:o}):i[i.length-1].end++),n=o||{}}else r+=o.length,n={}}return i},Ki=(t,e)=>{if(!Array.isArray(t))return Yi(t);const i=e.split(F),r={};let n=-1,o=0;for(let e=0;e<i.length;e++){const a=zi(i[e]);for(let i=0;i<a.length;i++)n++,t[o]&&t[o].start<=n&&n<t[o].end&&(r[e]=r[e]||{},r[e][i]=s({},t[o].style),n===t[o].end-1&&o++)}return r},Ji=[\"display\",\"transform\",K,\"fill-opacity\",\"fill-rule\",\"opacity\",J,\"stroke-dasharray\",\"stroke-linecap\",\"stroke-dashoffset\",\"stroke-linejoin\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke-width\",\"id\",\"paint-order\",\"vector-effect\",\"instantiated_by_use\",\"clip-path\"];function Qi(t,e){const s=t.nodeName,i=t.getAttribute(\"class\"),r=t.getAttribute(\"id\"),n=\"(?![a-zA-Z\\\\-]+)\";let o;if(o=new RegExp(\"^\"+s,\"i\"),e=e.replace(o,\"\"),r&&e.length&&(o=new RegExp(\"#\"+r+n,\"i\"),e=e.replace(o,\"\")),i&&e.length){const t=i.split(\" \");for(let s=t.length;s--;)o=new RegExp(\"\\\\.\"+t[s]+n,\"i\"),e=e.replace(o,\"\")}return 0===e.length}function Zi(t,e){let s=!0;const i=Qi(t,e.pop());return i&&e.length&&(s=function(t,e){let s,i=!0;for(;t.parentElement&&1===t.parentElement.nodeType&&e.length;)i&&(s=e.pop()),i=Qi(t=t.parentElement,s);return 0===e.length}(t,e)),i&&s&&0===e.length}const $i=t=>{var e;return null!==(e=ns[t])&&void 0!==e?e:t},tr=new RegExp(\"(\".concat(es,\")\"),\"gi\"),er=t=>t.replace(tr,\" $1 \").replace(/,/gi,\" \").replace(/\\s+/gi,\" \");var sr,ir,rr,nr,or,ar,hr;const cr=\"(\".concat(es,\")\"),lr=String.raw(sr||(sr=r([\"(skewX)(\",\")\"],[\"(skewX)\\\\(\",\"\\\\)\"])),cr),ur=String.raw(ir||(ir=r([\"(skewY)(\",\")\"],[\"(skewY)\\\\(\",\"\\\\)\"])),cr),dr=String.raw(rr||(rr=r([\"(rotate)(\",\"(?: \",\" \",\")?)\"],[\"(rotate)\\\\(\",\"(?: \",\" \",\")?\\\\)\"])),cr,cr,cr),gr=String.raw(nr||(nr=r([\"(scale)(\",\"(?: \",\")?)\"],[\"(scale)\\\\(\",\"(?: \",\")?\\\\)\"])),cr,cr),fr=String.raw(or||(or=r([\"(translate)(\",\"(?: \",\")?)\"],[\"(translate)\\\\(\",\"(?: \",\")?\\\\)\"])),cr,cr),pr=String.raw(ar||(ar=r([\"(matrix)(\",\" \",\" \",\" \",\" \",\" \",\")\"],[\"(matrix)\\\\(\",\" \",\" \",\" \",\" \",\" \",\"\\\\)\"])),cr,cr,cr,cr,cr,cr),mr=\"(?:\".concat(pr,\"|\").concat(fr,\"|\").concat(dr,\"|\").concat(gr,\"|\").concat(lr,\"|\").concat(ur,\")\"),vr=\"(?:\".concat(mr,\"*)\"),yr=String.raw(hr||(hr=r([\"^s*(?:\",\"?)s*$\"],[\"^\\\\s*(?:\",\"?)\\\\s*$\"])),vr),_r=new RegExp(yr),xr=new RegExp(mr),Cr=new RegExp(mr,\"g\");function br(t){const e=[];if(!(t=er(t).replace(/\\s*([()])\\s*/gi,\"$1\"))||t&&!_r.test(t))return[...T];for(const s of t.matchAll(Cr)){const t=xr.exec(s[0]);if(!t)continue;let i=T;const r=t.filter((t=>!!t)),[,n,...o]=r,[a,h,c,l,u,d]=o.map((t=>parseFloat(t)));switch(n){case\"translate\":i=Mt(a,h);break;case B:i=Pt({angle:a},{x:h,y:c});break;case G:i=Et(a,h);break;case U:i=jt(a);break;case q:i=Ft(a);break;case\"matrix\":i=[a,h,c,l,u,d]}e.push(i)}return Ot(e)}function Sr(t,e,s,i){const r=Array.isArray(e);let n,o=e;if(t!==K&&t!==J||e!==j){if(\"strokeUniform\"===t)return\"non-scaling-stroke\"===e;if(\"strokeDashArray\"===t)o=e===j?null:e.replace(/,/g,\" \").split(/\\s+/).map(parseFloat);else if(\"transformMatrix\"===t)o=s&&s.transformMatrix?Tt(s.transformMatrix,br(e)):br(e);else if(\"visible\"===t)o=e!==j&&\"hidden\"!==e,s&&!1===s.visible&&(o=!1);else if(\"opacity\"===t)o=parseFloat(e),s&&void 0!==s.opacity&&(o*=s.opacity);else if(\"textAnchor\"===t)o=\"start\"===e?M:\"end\"===e?A:D;else if(\"charSpacing\"===t||t===We)n=Re(e,i)/i*1e3;else if(\"paintFirst\"===t){const t=e.indexOf(K),s=e.indexOf(J);o=K,(t>-1&&s>-1&&s<t||-1===t&&s>-1)&&(o=J)}else{if(\"href\"===t||\"xlink:href\"===t||\"font\"===t||\"id\"===t)return e;if(\"imageSmoothing\"===t)return\"optimizeQuality\"===e;n=r?e.map(Re):Re(e,i)}}else o=\"\";return!r&&isNaN(n)?o:n}function wr(t,e){const s=t.match(rs);if(!s)return;const i=s[1],r=s[3],n=s[4],o=s[5],a=s[6];i&&(e.fontStyle=i),r&&(e.fontWeight=isNaN(parseFloat(r))?r:parseFloat(r)),n&&(e.fontSize=Re(n)),a&&(e.fontFamily=a),o&&(e.lineHeight=\"normal\"===o?1:o)}function Tr(t,e){t.replace(/;\\s*$/,\"\").split(\";\").forEach((t=>{if(!t)return;const[s,i]=t.split(\":\");e[s.trim().toLowerCase()]=i.trim()}))}function Or(t){const e={},s=t.getAttribute(\"style\");return s?(\"string\"==typeof s?Tr(s,e):function(t,e){Object.entries(t).forEach((t=>{let[s,i]=t;void 0!==i&&(e[s.toLowerCase()]=i)}))}(s,e),e):e}const kr={stroke:\"strokeOpacity\",fill:\"fillOpacity\"};function Dr(t,e,i){if(!t)return{};let r,n={},o=O;t.parentNode&&ls.test(t.parentNode.nodeName)&&(n=Dr(t.parentElement,e,i),n.fontSize&&(r=o=Re(n.fontSize)));const a=s(s(s({},e.reduce(((e,s)=>{const i=t.getAttribute(s);return i&&(e[s]=i),e}),{})),function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i={};for(const r in e)Zi(t,r.split(\" \"))&&(i=s(s({},i),e[r]));return i}(t,i)),Or(t));a[as]&&t.setAttribute(as,a[as]),a[os]&&(r=Re(a[os],o),a[os]=\"\".concat(r));const h={};for(const t in a){const e=$i(t),s=Sr(e,a[t],n,r);h[e]=s}h&&h.font&&wr(h.font,h);const c=s(s({},n),h);return ls.test(t.nodeName)?c:function(t){const e=ji.getDefaults();return Object.entries(kr).forEach((s=>{let[i,r]=s;if(void 0===t[r]||\"\"===t[i])return;if(void 0===t[i]){if(!e[i])return;t[i]=e[i]}if(0===t[i].indexOf(\"url(\"))return;const n=new Le(t[i]);t[i]=n.setAlpha(Vt(n.getAlpha()*t[r],2)).toRgba()})),t}(c)}const Mr=[\"left\",\"top\",\"width\",\"height\",\"visible\"],Pr=[\"rx\",\"ry\"];class Er extends ji{static getDefaults(){return s(s({},super.getDefaults()),Er.ownDefaults)}constructor(t){super(),Object.assign(this,Er.ownDefaults),this.setOptions(t),this._initRxRy()}_initRxRy(){const{rx:t,ry:e}=this;t&&!e?this.ry=t:e&&!t&&(this.rx=e)}_render(t){const{width:e,height:s}=this,i=-e/2,r=-s/2,n=this.rx?Math.min(this.rx,e/2):0,o=this.ry?Math.min(this.ry,s/2):0,a=0!==n||0!==o;t.beginPath(),t.moveTo(i+n,r),t.lineTo(i+e-n,r),a&&t.bezierCurveTo(i+e-k*n,r,i+e,r+k*o,i+e,r+o),t.lineTo(i+e,r+s-o),a&&t.bezierCurveTo(i+e,r+s-k*o,i+e-k*n,r+s,i+e-n,r+s),t.lineTo(i+n,r+s),a&&t.bezierCurveTo(i+k*n,r+s,i,r+s-k*o,i,r+s-o),t.lineTo(i,r+o),a&&t.bezierCurveTo(i,r+k*o,i+k*n,r,i+n,r),t.closePath(),this._renderPaintInOrder(t)}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject([...Pr,...t])}_toSVG(){const{width:t,height:e,rx:s,ry:i}=this;return[\"<rect \",\"COMMON_PARTS\",'x=\"'.concat(-t/2,'\" y=\"').concat(-e/2,'\" rx=\"').concat(s,'\" ry=\"').concat(i,'\" width=\"').concat(t,'\" height=\"').concat(e,'\" />\\n')]}static async fromElement(t,e,r){const n=Dr(t,this.ATTRIBUTE_NAMES,r),{left:o=0,top:a=0,width:h=0,height:c=0,visible:l=!0}=n,u=i(n,Mr);return new this(s(s(s({},e),u),{},{left:o,top:a,width:h,height:c,visible:Boolean(l&&h&&c)}))}}t(Er,\"type\",\"Rect\"),t(Er,\"cacheProperties\",[...Ms,...Pr]),t(Er,\"ownDefaults\",{rx:0,ry:0}),t(Er,\"ATTRIBUTE_NAMES\",[...Ji,\"x\",\"y\",\"rx\",\"ry\",\"width\",\"height\"]),tt.setClass(Er),tt.setSVGClass(Er);const Ar=\"initialization\",jr=\"added\",Fr=\"removed\",Lr=\"imperative\",Rr=(t,e)=>{const{strokeUniform:s,strokeWidth:i,width:r,height:n,group:o}=e,a=o&&o!==t?fe(o.calcTransformMatrix(),t.calcTransformMatrix()):null,h=a?e.getRelativeCenterPoint().transform(a):e.getRelativeCenterPoint(),c=!e.isStrokeAccountedForInDimensions(),l=s&&c?me(new ot(i,i),void 0,t.calcTransformMatrix()):at,u=!s&&c?i:0,d=ge(r+u,n+u,Ot([a,e.calcOwnMatrix()],!0)).add(l).scalarDivide(2);return[h.subtract(d),h.add(d)]};class Ir{calcLayoutResult(t,e){if(this.shouldPerformLayout(t))return this.calcBoundingBox(e,t)}shouldPerformLayout(t){let{type:e,prevStrategy:s,strategy:i}=t;return e===Ar||e===Lr||!!s&&i!==s}shouldLayoutClipPath(t){let{type:e,target:{clipPath:s}}=t;return e!==Ar&&s&&!s.absolutePositioned}getInitialSize(t,e){return e.size}calcBoundingBox(t,e){const{type:s,target:i}=e;if(s===Lr&&e.overrides)return e.overrides;if(0===t.length)return;const{left:r,top:n,width:o,height:a}=ae(t.map((t=>Rr(i,t))).reduce(((t,e)=>t.concat(e)),[])),h=new ot(o,a),c=new ot(r,n).add(h.scalarDivide(2));if(s===Ar){const t=this.getInitialSize(e,{size:h,center:c});return{center:c,relativeCorrection:new ot(0,0),size:t}}return{center:c.transform(i.calcOwnMatrix()),size:h}}}t(Ir,\"type\",\"strategy\");class Br extends Ir{shouldPerformLayout(t){return!0}}t(Br,\"type\",\"fit-content\"),tt.setClass(Br);const Xr=[\"strategy\"],Yr=[\"target\",\"strategy\",\"bubbles\",\"prevStrategy\"],Wr=\"layoutManager\";class Vr{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Br;t(this,\"strategy\",void 0),this.strategy=e,this._subscriptions=new Map}performLayout(t){const e=s(s({bubbles:!0,strategy:this.strategy},t),{},{prevStrategy:this._prevLayoutStrategy,stopPropagation(){this.bubbles=!1}});this.onBeforeLayout(e);const i=this.getLayoutResult(e);i&&this.commitLayout(e,i),this.onAfterLayout(e,i),this._prevLayoutStrategy=e.strategy}attachHandlers(t,e){const{target:s}=e;return[Q,L,Y,I,R,X,z,W,V].map((e=>t.on(e,(t=>this.performLayout(e===Q?{type:\"object_modified\",trigger:e,e:t,target:s}:{type:\"object_modifying\",trigger:e,e:t,target:s})))))}subscribe(t,e){this.unsubscribe(t,e);const s=this.attachHandlers(t,e);this._subscriptions.set(t,s)}unsubscribe(t,e){(this._subscriptions.get(t)||[]).forEach((t=>t())),this._subscriptions.delete(t)}unsubscribeTargets(t){t.targets.forEach((e=>this.unsubscribe(e,t)))}subscribeTargets(t){t.targets.forEach((e=>this.subscribe(e,t)))}onBeforeLayout(t){const{target:e,type:r}=t,{canvas:n}=e;if(r===Ar||r===jr?this.subscribeTargets(t):r===Fr&&this.unsubscribeTargets(t),e.fire(\"layout:before\",{context:t}),n&&n.fire(\"object:layout:before\",{target:e,context:t}),r===Lr&&t.deep){const r=i(t,Xr);e.forEachObject((t=>t.layoutManager&&t.layoutManager.performLayout(s(s({},r),{},{bubbles:!1,target:t}))))}}getLayoutResult(t){const{target:e,strategy:s,type:i}=t,r=s.calcLayoutResult(t,e.getObjects());if(!r)return;const n=i===Ar?new ot:e.getRelativeCenterPoint(),{center:o,correction:a=new ot,relativeCorrection:h=new ot}=r,c=n.subtract(o).add(a).transform(i===Ar?T:wt(e.calcOwnMatrix()),!0).add(h);return{result:r,prevCenter:n,nextCenter:o,offset:c}}commitLayout(t,e){const{target:s}=t,{result:{size:i},nextCenter:r}=e;var n,o;(s.set({width:i.x,height:i.y}),this.layoutObjects(t,e),t.type===Ar)?s.set({left:null!==(n=t.x)&&void 0!==n?n:r.x+i.x*xe(s.originX),top:null!==(o=t.y)&&void 0!==o?o:r.y+i.y*xe(s.originY)}):(s.setPositionByOrigin(r,D,D),s.setCoords(),s.set(\"dirty\",!0))}layoutObjects(t,e){const{target:s}=t;s.forEachObject((i=>{i.group===s&&this.layoutObject(t,e,i)})),t.strategy.shouldLayoutClipPath(t)&&this.layoutObject(t,e,s.clipPath)}layoutObject(t,e,s){let{offset:i}=e;s.set({left:s.left+i.x,top:s.top+i.y})}onAfterLayout(t,e){const{target:r,strategy:n,bubbles:o,prevStrategy:a}=t,h=i(t,Yr),{canvas:c}=r;r.fire(\"layout:after\",{context:t,result:e}),c&&c.fire(\"object:layout:after\",{context:t,result:e,target:r});const l=r.parent;o&&null!=l&&l.layoutManager&&((h.path||(h.path=[])).push(r),l.layoutManager.performLayout(s(s({},h),{},{target:l}))),r.set(\"dirty\",!0)}dispose(){const{_subscriptions:t}=this;t.forEach((t=>t.forEach((t=>t())))),t.clear()}toObject(){return{type:Wr,strategy:this.strategy.constructor.type}}toJSON(){return this.toObject()}}tt.setClass(Vr,Wr);const zr=[\"type\",\"objects\",\"layoutManager\"];class Gr extends Vr{performLayout(){}}class Hr extends(ct(ji)){static getDefaults(){return s(s({},super.getDefaults()),Hr.ownDefaults)}constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),t(this,\"_activeObjects\",[]),t(this,\"__objectSelectionTracker\",void 0),t(this,\"__objectSelectionDisposer\",void 0),Object.assign(this,Hr.ownDefaults),this.setOptions(s),this.groupInit(e,s)}groupInit(t,e){var s;this._objects=[...t],this.__objectSelectionTracker=this.__objectSelectionMonitor.bind(this,!0),this.__objectSelectionDisposer=this.__objectSelectionMonitor.bind(this,!1),this.forEachObject((t=>{this.enterGroup(t,!1)})),this.layoutManager=null!==(s=e.layoutManager)&&void 0!==s?s:new Vr,this.layoutManager.performLayout({type:Ar,target:this,targets:[...t],x:e.left,y:e.top})}canEnterGroup(t){return t===this||this.isDescendantOf(t)?(a(\"error\",\"Group: circular object trees are not supported, this call has no effect\"),!1):-1===this._objects.indexOf(t)||(a(\"error\",\"Group: duplicate objects are not supported inside group, this call has no effect\"),!1)}_filterObjectsBeforeEnteringGroup(t){return t.filter(((t,e,s)=>this.canEnterGroup(t)&&s.indexOf(t)===e))}add(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];const i=this._filterObjectsBeforeEnteringGroup(e),r=super.add(...i);return this._onAfterObjectsChange(jr,i),r}insertAt(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];const r=this._filterObjectsBeforeEnteringGroup(s),n=super.insertAt(t,...r);return this._onAfterObjectsChange(jr,r),n}remove(){const t=super.remove(...arguments);return this._onAfterObjectsChange(Fr,t),t}_onObjectAdded(t){this.enterGroup(t,!0),this.fire(\"object:added\",{target:t}),t.fire(\"added\",{target:this})}_onObjectRemoved(t,e){this.exitGroup(t,e),this.fire(\"object:removed\",{target:t}),t.fire(\"removed\",{target:this})}_onAfterObjectsChange(t,e){this.layoutManager.performLayout({type:t,targets:e,target:this})}_onStackOrderChanged(){this._set(\"dirty\",!0)}_set(t,e){const s=this[t];return super._set(t,e),\"canvas\"===t&&s!==e&&(this._objects||[]).forEach((s=>{s._set(t,e)})),this}_shouldSetNestedCoords(){return this.subTargetCheck}removeAll(){return this._activeObjects=[],this.remove(...this._objects)}__objectSelectionMonitor(t,e){let{target:s}=e;const i=this._activeObjects;if(t)i.push(s),this._set(\"dirty\",!0);else if(i.length>0){const t=i.indexOf(s);t>-1&&(i.splice(t,1),this._set(\"dirty\",!0))}}_watchObject(t,e){t&&this._watchObject(!1,e),t?(e.on(\"selected\",this.__objectSelectionTracker),e.on(\"deselected\",this.__objectSelectionDisposer)):(e.off(\"selected\",this.__objectSelectionTracker),e.off(\"deselected\",this.__objectSelectionDisposer))}enterGroup(t,e){t.group&&t.group.remove(t),t._set(\"parent\",this),this._enterGroup(t,e)}_enterGroup(t,e){e&&le(t,Tt(wt(this.calcTransformMatrix()),t.calcTransformMatrix())),this._shouldSetNestedCoords()&&t.setCoords(),t._set(\"group\",this),t._set(\"canvas\",this.canvas),this._watchObject(!0,t);const s=this.canvas&&this.canvas.getActiveObject&&this.canvas.getActiveObject();s&&(s===t||t.isDescendantOf(s))&&this._activeObjects.push(t)}exitGroup(t,e){this._exitGroup(t,e),t._set(\"parent\",void 0),t._set(\"canvas\",void 0)}_exitGroup(t,e){t._set(\"group\",void 0),e||(le(t,Tt(this.calcTransformMatrix(),t.calcTransformMatrix())),t.setCoords()),this._watchObject(!1,t);const s=this._activeObjects.length>0?this._activeObjects.indexOf(t):-1;s>-1&&this._activeObjects.splice(s,1)}shouldCache(){const t=ji.prototype.shouldCache.call(this);if(t)for(let t=0;t<this._objects.length;t++)if(this._objects[t].willDrawShadow())return this.ownCaching=!1,!1;return t}willDrawShadow(){if(super.willDrawShadow())return!0;for(let t=0;t<this._objects.length;t++)if(this._objects[t].willDrawShadow())return!0;return!1}isOnACache(){return this.ownCaching||!!this.parent&&this.parent.isOnACache()}drawObject(t,e,s){this._renderBackground(t);for(let e=0;e<this._objects.length;e++){var i;const s=this._objects[e];null!==(i=this.canvas)&&void 0!==i&&i.preserveObjectStacking&&s.group!==this?(t.save(),t.transform(...wt(this.calcTransformMatrix())),s.render(t),t.restore()):s.group===this&&s.render(t)}this._drawClipPath(t,this.clipPath,s)}setCoords(){super.setCoords(),this._shouldSetNestedCoords()&&this.forEachObject((t=>t.setCoords()))}triggerLayout(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.layoutManager.performLayout(s({target:this,type:Lr},t))}render(t){this._transformDone=!0,super.render(t),this._transformDone=!1}__serializeObjects(t,e){const s=this.includeDefaultValues;return this._objects.filter((function(t){return!t.excludeFromExport})).map((function(i){const r=i.includeDefaultValues;i.includeDefaultValues=s;const n=i[t||\"toObject\"](e);return i.includeDefaultValues=r,n}))}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const e=this.layoutManager.toObject();return s(s(s({},super.toObject([\"subTargetCheck\",\"interactive\",...t])),\"fit-content\"!==e.strategy||this.includeDefaultValues?{layoutManager:e}:{}),{},{objects:this.__serializeObjects(\"toObject\",t)})}toString(){return\"#<Group: (\".concat(this.complexity(),\")>\")}dispose(){this.layoutManager.unsubscribeTargets({targets:this.getObjects(),target:this}),this._activeObjects=[],this.forEachObject((t=>{this._watchObject(!1,t),t.dispose()})),super.dispose()}_createSVGBgRect(t){if(!this.backgroundColor)return\"\";const e=Er.prototype._toSVG.call(this),s=e.indexOf(\"COMMON_PARTS\");e[s]='for=\"group\" ';const i=e.join(\"\");return t?t(i):i}_toSVG(t){const e=[\"<g \",\"COMMON_PARTS\",\" >\\n\"],s=this._createSVGBgRect(t);s&&e.push(\"\\t\\t\",s);for(let s=0;s<this._objects.length;s++)e.push(\"\\t\\t\",this._objects[s].toSVG(t));return e.push(\"</g>\\n\"),e}getSvgStyles(){const t=void 0!==this.opacity&&1!==this.opacity?\"opacity: \".concat(this.opacity,\";\"):\"\",e=this.visible?\"\":\" visibility: hidden;\";return[t,this.getSvgFilter(),e].join(\"\")}toClipPathSVG(t){const e=[],s=this._createSVGBgRect(t);s&&e.push(\"\\t\",s);for(let s=0;s<this._objects.length;s++)e.push(\"\\t\",this._objects[s].toClipPathSVG(t));return this._createBaseClipPathSVGMarkup(e,{reviver:t})}static fromObject(t,e){let{type:r,objects:n=[],layoutManager:o}=t,a=i(t,zr);return Promise.all([Bt(n,e),Xt(a,e)]).then((t=>{let[e,i]=t;const r=new this(e,s(s(s({},a),i),{},{layoutManager:new Gr}));if(o){const t=tt.getClass(o.type),e=tt.getClass(o.strategy);r.layoutManager=new t(new e)}else r.layoutManager=new Vr;return r.layoutManager.subscribeTargets({type:Ar,target:r,targets:r.getObjects()}),r.setCoords(),r}))}}t(Hr,\"type\",\"Group\"),t(Hr,\"ownDefaults\",{strokeWidth:0,subTargetCheck:!1,interactive:!1}),tt.setClass(Hr);const Nr=(t,e)=>Math.min(e.width/t.width,e.height/t.height),Ur=(t,e)=>Math.max(e.width/t.width,e.height/t.height),qr=\"\\\\s*,?\\\\s*\",Kr=\"\".concat(qr,\"(\").concat(es,\")\"),Jr=\"\".concat(Kr).concat(Kr).concat(Kr).concat(qr,\"([01])\").concat(qr,\"([01])\").concat(Kr).concat(Kr),Qr={m:\"l\",M:\"L\"},Zr=(t,e,s,i,r,n,o,a,h,c,l)=>{const u=rt(t),d=nt(t),g=rt(e),f=nt(e),p=s*r*g-i*n*f+o,m=i*r*g+s*n*f+a;return[\"C\",c+h*(-s*r*d-i*n*u),l+h*(-i*r*d+s*n*u),p+h*(s*r*f+i*n*g),m+h*(i*r*f-s*n*g),p,m]},$r=(t,e,s,i)=>{const r=Math.atan2(e,t),n=Math.atan2(i,s);return n>=r?n-r:2*Math.PI-(r-n)};function tn(t,e,s,i,r,n,a,h){let c;if(o.cachesBoundsOfCurve&&(c=[...arguments].join(),_.boundsOfCurveCache[c]))return _.boundsOfCurveCache[c];const l=Math.sqrt,u=Math.abs,d=[],g=[[0,0],[0,0]];let f=6*t-12*s+6*r,p=-3*t+9*s-9*r+3*a,m=3*s-3*t;for(let t=0;t<2;++t){if(t>0&&(f=6*e-12*i+6*n,p=-3*e+9*i-9*n+3*h,m=3*i-3*e),u(p)<1e-12){if(u(f)<1e-12)continue;const t=-m/f;0<t&&t<1&&d.push(t);continue}const s=f*f-4*m*p;if(s<0)continue;const r=l(s),o=(-f+r)/(2*p);0<o&&o<1&&d.push(o);const a=(-f-r)/(2*p);0<a&&a<1&&d.push(a)}let v=d.length;const y=v,x=nn(t,e,s,i,r,n,a,h);for(;v--;){const{x:t,y:e}=x(d[v]);g[0][v]=t,g[1][v]=e}g[0][y]=t,g[1][y]=e,g[0][y+1]=a,g[1][y+1]=h;const C=[new ot(Math.min(...g[0]),Math.min(...g[1])),new ot(Math.max(...g[0]),Math.max(...g[1]))];return o.cachesBoundsOfCurve&&(_.boundsOfCurveCache[c]=C),C}const en=(t,e,s)=>{let[i,r,n,o,a,h,c,l]=s;const u=((t,e,s,i,r,n,o)=>{if(0===s||0===i)return[];let a=0,h=0,c=0;const l=Math.PI,u=o*w,d=nt(u),g=rt(u),f=.5*(-g*t-d*e),p=.5*(-g*e+d*t),m=s**2,v=i**2,y=p**2,_=f**2,x=m*v-m*y-v*_;let C=Math.abs(s),b=Math.abs(i);if(x<0){const t=Math.sqrt(1-x/(m*v));C*=t,b*=t}else c=(r===n?-1:1)*Math.sqrt(x/(m*y+v*_));const S=c*C*p/b,T=-c*b*f/C,O=g*S-d*T+.5*t,k=d*S+g*T+.5*e;let D=$r(1,0,(f-S)/C,(p-T)/b),M=$r((f-S)/C,(p-T)/b,(-f-S)/C,(-p-T)/b);0===n&&M>0?M-=2*l:1===n&&M<0&&(M+=2*l);const P=Math.ceil(Math.abs(M/l*2)),E=[],A=M/P,j=8/3*Math.sin(A/4)*Math.sin(A/4)/Math.sin(A/2);let F=D+A;for(let t=0;t<P;t++)E[t]=Zr(D,F,g,d,C,b,O,k,j,a,h),a=E[t][5],h=E[t][6],D=F,F+=A;return E})(c-t,l-e,r,n,a,h,o);for(let s=0,i=u.length;s<i;s++)u[s][1]+=t,u[s][2]+=e,u[s][3]+=t,u[s][4]+=e,u[s][5]+=t,u[s][6]+=e;return u},sn=t=>{let e=0,s=0,i=0,r=0;const n=[];let o,a=0,h=0;for(const c of t){const t=[...c];let l;switch(t[0]){case\"l\":t[1]+=e,t[2]+=s;case\"L\":e=t[1],s=t[2],l=[\"L\",e,s];break;case\"h\":t[1]+=e;case\"H\":e=t[1],l=[\"L\",e,s];break;case\"v\":t[1]+=s;case\"V\":s=t[1],l=[\"L\",e,s];break;case\"m\":t[1]+=e,t[2]+=s;case\"M\":e=t[1],s=t[2],i=t[1],r=t[2],l=[\"M\",e,s];break;case\"c\":t[1]+=e,t[2]+=s,t[3]+=e,t[4]+=s,t[5]+=e,t[6]+=s;case\"C\":a=t[3],h=t[4],e=t[5],s=t[6],l=[\"C\",t[1],t[2],a,h,e,s];break;case\"s\":t[1]+=e,t[2]+=s,t[3]+=e,t[4]+=s;case\"S\":\"C\"===o?(a=2*e-a,h=2*s-h):(a=e,h=s),e=t[3],s=t[4],l=[\"C\",a,h,t[1],t[2],e,s],a=l[3],h=l[4];break;case\"q\":t[1]+=e,t[2]+=s,t[3]+=e,t[4]+=s;case\"Q\":a=t[1],h=t[2],e=t[3],s=t[4],l=[\"Q\",a,h,e,s];break;case\"t\":t[1]+=e,t[2]+=s;case\"T\":\"Q\"===o?(a=2*e-a,h=2*s-h):(a=e,h=s),e=t[1],s=t[2],l=[\"Q\",a,h,e,s];break;case\"a\":t[6]+=e,t[7]+=s;case\"A\":en(e,s,t).forEach((t=>n.push(t))),e=t[6],s=t[7];break;case\"z\":case\"Z\":e=i,s=r,l=[\"Z\"]}l?(n.push(l),o=l[0]):o=\"\"}return n},rn=(t,e,s,i)=>Math.sqrt((s-t)**2+(i-e)**2),nn=(t,e,s,i,r,n,o,a)=>h=>{const c=h**3,l=(t=>3*t**2*(1-t))(h),u=(t=>3*t*(1-t)**2)(h),d=(t=>(1-t)**3)(h);return new ot(o*c+r*l+s*u+t*d,a*c+n*l+i*u+e*d)},on=t=>t**2,an=t=>2*t*(1-t),hn=t=>(1-t)**2,cn=(t,e,s,i,r,n,o,a)=>h=>{const c=on(h),l=an(h),u=hn(h),d=3*(u*(s-t)+l*(r-s)+c*(o-r)),g=3*(u*(i-e)+l*(n-i)+c*(a-n));return Math.atan2(g,d)},ln=(t,e,s,i,r,n)=>o=>{const a=on(o),h=an(o),c=hn(o);return new ot(r*a+s*h+t*c,n*a+i*h+e*c)},un=(t,e,s,i,r,n)=>o=>{const a=1-o,h=2*(a*(s-t)+o*(r-s)),c=2*(a*(i-e)+o*(n-i));return Math.atan2(c,h)},dn=(t,e,s)=>{let i=new ot(e,s),r=0;for(let e=1;e<=100;e+=1){const s=t(e/100);r+=rn(i.x,i.y,s.x,s.y),i=s}return r},gn=(t,e)=>{let i,r=0,n=0,o={x:t.x,y:t.y},a=s({},o),h=.01,c=0;const l=t.iterator,u=t.angleFinder;for(;n<e&&h>1e-4;)a=l(r),c=r,i=rn(o.x,o.y,a.x,a.y),i+n>e?(r-=h,h/=2):(o=a,r+=h,n+=i);return s(s({},a),{},{angle:u(c)})},fn=t=>{let e,s,i=0,r=0,n=0,o=0,a=0;const h=[];for(const c of t){const t={x:r,y:n,command:c[0],length:0};switch(c[0]){case\"M\":s=t,s.x=o=r=c[1],s.y=a=n=c[2];break;case\"L\":s=t,s.length=rn(r,n,c[1],c[2]),r=c[1],n=c[2];break;case\"C\":e=nn(r,n,c[1],c[2],c[3],c[4],c[5],c[6]),s=t,s.iterator=e,s.angleFinder=cn(r,n,c[1],c[2],c[3],c[4],c[5],c[6]),s.length=dn(e,r,n),r=c[5],n=c[6];break;case\"Q\":e=ln(r,n,c[1],c[2],c[3],c[4]),s=t,s.iterator=e,s.angleFinder=un(r,n,c[1],c[2],c[3],c[4]),s.length=dn(e,r,n),r=c[3],n=c[4];break;case\"Z\":s=t,s.destX=o,s.destY=a,s.length=rn(r,n,o,a),r=o,n=a}i+=s.length,h.push(s)}return h.push({length:i,x:r,y:n}),h},pn=function(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:fn(t),r=0;for(;e-i[r].length>0&&r<i.length-2;)e-=i[r].length,r++;const n=i[r],o=e/n.length,a=t[r];switch(n.command){case\"M\":return{x:n.x,y:n.y,angle:0};case\"Z\":return s(s({},new ot(n.x,n.y).lerp(new ot(n.destX,n.destY),o)),{},{angle:Math.atan2(n.destY-n.y,n.destX-n.x)});case\"L\":return s(s({},new ot(n.x,n.y).lerp(new ot(a[1],a[2]),o)),{},{angle:Math.atan2(a[2]-n.y,a[1]-n.x)});case\"C\":case\"Q\":return gn(n,e)}},mn=new RegExp(\"[mzlhvcsqta][^mzlhvcsqta]*\",\"gi\"),vn=new RegExp(Jr,\"g\"),yn=new RegExp(es,\"gi\"),_n={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7},xn=t=>{var e;const s=[],i=null!==(e=t.match(mn))&&void 0!==e?e:[];for(const t of i){const e=t[0];if(\"z\"===e||\"Z\"===e){s.push([e]);continue}const i=_n[e.toLowerCase()];let r=[];if(\"a\"===e||\"A\"===e){vn.lastIndex=0;for(let e=null;e=vn.exec(t);)r.push(...e.slice(1))}else r=t.match(yn)||[];for(let t=0;t<r.length;t+=i){const n=new Array(i),o=Qr[e];n[0]=t>0&&o?o:e;for(let e=0;e<i;e++)n[e+1]=parseFloat(r[t+e]);s.push(n)}}return s},Cn=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,s=new ot(t[0]),i=new ot(t[1]),r=1,n=0;const o=[],a=t.length,h=a>2;let c;for(h&&(r=t[2].x<i.x?-1:t[2].x===i.x?0:1,n=t[2].y<i.y?-1:t[2].y===i.y?0:1),o.push([\"M\",s.x-r*e,s.y-n*e]),c=1;c<a;c++){if(!s.eq(i)){const t=s.midPointFrom(i);o.push([\"Q\",s.x,s.y,t.x,t.y])}s=t[c],c+1<t.length&&(i=t[c+1])}return h&&(r=s.x>t[c-2].x?1:s.x===t[c-2].x?0:-1,n=s.y>t[c-2].y?1:s.y===t[c-2].y?0:-1),o.push([\"L\",s.x+r*e,s.y+n*e]),o},bn=(t,e)=>t.map((t=>t.map(((t,s)=>0===s||void 0===e?t:Vt(t,e))).join(\" \"))).join(\" \");function Sn(t,e){const s=t.style;s&&e&&(\"string\"==typeof e?s.cssText+=\";\"+e:Object.entries(e).forEach((t=>{let[e,i]=t;return s.setProperty(e,i)})))}const wn=(t,e)=>Math.floor(Math.random()*(e-t+1))+t;function Tn(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s=e.onComplete||C,i=new(v().XMLHttpRequest),r=e.signal,n=function(){i.abort()},o=function(){r&&r.removeEventListener(\"abort\",n),i.onerror=i.ontimeout=C};if(r&&r.aborted)throw new c(\"request\");return r&&r.addEventListener(\"abort\",n,{once:!0}),i.onreadystatechange=function(){4===i.readyState&&(o(),s(i),i.onreadystatechange=C)},i.onerror=i.ontimeout=o,i.open(\"get\",t,!0),i.send(),i}const On=(t,e)=>{let s=t._findCenterFromElement();t.transformMatrix&&((t=>{if(t.transformMatrix){const{scaleX:e,scaleY:s,angle:i,skewX:r}=Dt(t.transformMatrix);t.flipX=!1,t.flipY=!1,t.set(H,e),t.set(N,s),t.angle=i,t.skewX=r,t.skewY=0}})(t),s=s.transform(t.transformMatrix)),delete t.transformMatrix,e&&(t.scaleX*=e.scaleX,t.scaleY*=e.scaleY,t.cropX=e.cropX,t.cropY=e.cropY,s.x+=e.offsetLeft,s.y+=e.offsetTop,t.width=e.width,t.height=e.height),t.setPositionByOrigin(s,D,D)};var kn=Object.freeze({__proto__:null,addTransformToObject:ce,animate:Us,animateColor:qs,applyTransformToObject:le,calcAngleBetweenVectors:vs,calcDimensionsMatrix:Lt,calcPlaneChangeMatrix:fe,calcVectorRotation:ys,cancelAnimFrame:dt,capValue:ks,composeMatrix:Rt,copyCanvasElement:t=>{var e;const s=vt(t);return null===(e=s.getContext(\"2d\"))||void 0===e||e.drawImage(t,0,0),s},cos:rt,createCanvasElement:pt,createImage:mt,createRotateMatrix:Pt,createScaleMatrix:Et,createSkewXMatrix:jt,createSkewYMatrix:Ft,createTranslateMatrix:Mt,createVector:ps,crossProduct:Cs,degreesToRadians:xt,dotProduct:bs,ease:Rs,enlivenObjectEnlivables:Xt,enlivenObjects:Bt,findScaleToCover:Ur,findScaleToFit:Nr,getBoundsOfCurve:tn,getOrthonormalVector:xs,getPathSegmentsInfo:fn,getPointOnPath:pn,getPointer:re,getRandomInt:wn,getRegularPolygonPath:(t,e)=>{const s=2*Math.PI/t;let i=-b;t%2==0&&(i+=s/2);const r=new Array(t+1);for(let n=0;n<t;n++){const t=n*s+i,{x:o,y:a}=new ot(rt(t),nt(t)).scalarMultiply(e);r[n]=[0===n?\"M\":\"L\",o,a]}return r[t]=[\"Z\"],r},getSmoothPathFromPoints:Cn,getSvgAttributes:t=>{const e=[\"instantiated_by_use\",\"style\",\"id\",\"class\"];switch(t){case\"linearGradient\":return e.concat([\"x1\",\"y1\",\"x2\",\"y2\",\"gradientUnits\",\"gradientTransform\"]);case\"radialGradient\":return e.concat([\"gradientUnits\",\"gradientTransform\",\"cx\",\"cy\",\"r\",\"fx\",\"fy\",\"fr\"]);case\"stop\":return e.concat([\"offset\",\"stop-color\",\"stop-opacity\"])}return e},getUnitVector:_s,groupSVGElements:(t,e)=>t&&1===t.length?t[0]:new Hr(t,e),hasStyleChanged:Ui,invertTransform:wt,isBetweenVectors:Ss,isIdentityMatrix:bt,isTouchEvent:ne,isTransparent:Fi,joinPath:bn,loadImage:It,magnitude:ms,makeBoundingBoxFromPoints:ae,makePathSimpler:sn,matrixToSVG:zt,mergeClipPaths:(t,e)=>{var s;let i=t,r=e;i.inverted&&!r.inverted&&(i=e,r=t),ve(r,null===(s=r.group)||void 0===s?void 0:s.calcTransformMatrix(),i.calcTransformMatrix());const n=i.inverted&&r.inverted;return n&&(i.inverted=r.inverted=!1),new Hr([i],{clipPath:r,inverted:n})},multiplyTransformMatrices:Tt,multiplyTransformMatrixArray:Ot,parsePath:xn,parsePreserveAspectRatioAttribute:Ie,parseUnit:Re,pick:Yt,projectStrokeOnPoints:Xi,qrDecompose:Dt,radiansToDegrees:Ct,removeFromArray:it,removeTransformFromObject:(t,e)=>{const s=wt(e),i=Tt(s,t.calcOwnMatrix());le(t,i)},removeTransformMatrixForSvgParsing:On,request:Tn,requestAnimFrame:ut,resetObjectTransform:ue,rotatePoint:(t,e,s)=>t.rotate(s,e),rotateVector:fs,saveObjectTransform:de,sendObjectToPlane:ve,sendPointToPlane:pe,sendVectorToPlane:me,setStyle:Sn,sin:nt,sizeAfterTransform:ge,string:Ni,stylesFromArray:Ki,stylesToArray:qi,toBlob:_t,toDataURL:yt,toFixed:Vt,transformPath:(t,e,s)=>(s&&(e=Tt(e,[1,0,0,1,-s.x,-s.y])),t.map((t=>{const s=[...t];for(let i=1;i<t.length-1;i+=2){const{x:r,y:n}=St({x:t[i],y:t[i+1]},e);s[i]=r,s[i+1]=n}return s}))),transformPoint:St});class Dn extends te{constructor(e){let{allowTouchScrolling:s=!1,containerClass:i=\"\"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(e),t(this,\"upper\",void 0),t(this,\"container\",void 0);const{el:r}=this.lower,n=this.createUpperCanvas();this.upper={el:n,ctx:n.getContext(\"2d\")},this.applyCanvasStyle(r,{allowTouchScrolling:s}),this.applyCanvasStyle(n,{allowTouchScrolling:s,styles:{position:\"absolute\",left:\"0\",top:\"0\"}});const o=this.createContainerElement();o.classList.add(i),r.parentNode&&r.parentNode.replaceChild(o,r),o.append(r,n),this.container=o}createUpperCanvas(){const{el:t}=this.lower,e=pt();return e.className=t.className,e.classList.remove(\"lower-canvas\"),e.classList.add(\"upper-canvas\"),e.setAttribute(\"data-fabric\",\"top\"),e.style.cssText=t.style.cssText,e.setAttribute(\"draggable\",\"true\"),e}createContainerElement(){const t=m().createElement(\"div\");return t.setAttribute(\"data-fabric\",\"wrapper\"),Sn(t,{position:\"relative\"}),$t(t),t}applyCanvasStyle(t,e){const{styles:i,allowTouchScrolling:r}=e;Sn(t,s(s({},i),{},{\"touch-action\":r?\"manipulation\":j})),$t(t)}setDimensions(t,e){super.setDimensions(t,e);const{el:s,ctx:i}=this.upper;Qt(s,i,t,e)}setCSSDimensions(t){super.setCSSDimensions(t),Zt(this.upper.el,t),Zt(this.container,t)}cleanupDOM(t){const e=this.container,{el:s}=this.lower,{el:i}=this.upper;super.cleanupDOM(t),e.removeChild(i),e.removeChild(s),e.parentNode&&e.parentNode.replaceChild(s,e)}dispose(){super.dispose(),p().dispose(this.upper.el),delete this.upper,delete this.container}}class Mn extends se{constructor(){super(...arguments),t(this,\"targets\",[]),t(this,\"_hoveredTargets\",[]),t(this,\"_objectsToRender\",void 0),t(this,\"_currentTransform\",null),t(this,\"_groupSelector\",null),t(this,\"contextTopDirty\",!1)}static getDefaults(){return s(s({},super.getDefaults()),Mn.ownDefaults)}get upperCanvasEl(){var t;return null===(t=this.elements.upper)||void 0===t?void 0:t.el}get contextTop(){var t;return null===(t=this.elements.upper)||void 0===t?void 0:t.ctx}get wrapperEl(){return this.elements.container}initElements(t){this.elements=new Dn(t,{allowTouchScrolling:this.allowTouchScrolling,containerClass:this.containerClass}),this._createCacheCanvas()}_onObjectAdded(t){this._objectsToRender=void 0,super._onObjectAdded(t)}_onObjectRemoved(t){this._objectsToRender=void 0,t===this._activeObject&&(this.fire(\"before:selection:cleared\",{deselected:[t]}),this._discardActiveObject(),this.fire(\"selection:cleared\",{deselected:[t]}),t.fire(\"deselected\",{target:t})),t===this._hoveredTarget&&(this._hoveredTarget=void 0,this._hoveredTargets=[]),super._onObjectRemoved(t)}_onStackOrderChanged(){this._objectsToRender=void 0,super._onStackOrderChanged()}_chooseObjectsToRender(){const t=this._activeObject;return!this.preserveObjectStacking&&t?this._objects.filter((e=>!e.group&&e!==t)).concat(t):this._objects}renderAll(){this.cancelRequestedRender(),this.destroyed||(!this.contextTopDirty||this._groupSelector||this.isDrawingMode||(this.clearContext(this.contextTop),this.contextTopDirty=!1),this.hasLostContext&&(this.renderTopLayer(this.contextTop),this.hasLostContext=!1),!this._objectsToRender&&(this._objectsToRender=this._chooseObjectsToRender()),this.renderCanvas(this.getContext(),this._objectsToRender))}renderTopLayer(t){t.save(),this.isDrawingMode&&this._isCurrentlyDrawing&&(this.freeDrawingBrush&&this.freeDrawingBrush._render(),this.contextTopDirty=!0),this.selection&&this._groupSelector&&(this._drawSelection(t),this.contextTopDirty=!0),t.restore()}renderTop(){const t=this.contextTop;this.clearContext(t),this.renderTopLayer(t),this.fire(\"after:render\",{ctx:t})}setTargetFindTolerance(t){t=Math.round(t),this.targetFindTolerance=t;const e=this.getRetinaScaling(),s=Math.ceil((2*t+1)*e);this.pixelFindCanvasEl.width=this.pixelFindCanvasEl.height=s,this.pixelFindContext.scale(e,e)}isTargetTransparent(t,e,s){const i=this.targetFindTolerance,r=this.pixelFindContext;this.clearContext(r),r.save(),r.translate(-e+i,-s+i),r.transform(...this.viewportTransform);const n=t.selectionBackgroundColor;t.selectionBackgroundColor=\"\",t.render(r),t.selectionBackgroundColor=n,r.restore();const o=Math.round(i*this.getRetinaScaling());return Fi(r,o,o,o)}_isSelectionKeyPressed(t){const e=this.selectionKey;return!!e&&(Array.isArray(e)?!!e.find((e=>!!e&&!0===t[e])):t[e])}_shouldClearSelection(t,e){const s=this.getActiveObjects(),i=this._activeObject;return!!(!e||e&&i&&s.length>1&&-1===s.indexOf(e)&&i!==e&&!this._isSelectionKeyPressed(t)||e&&!e.evented||e&&!e.selectable&&i&&i!==e)}_shouldCenterTransform(t,e,s){if(!t)return;let i;return e===G||e===H||e===N||e===Y?i=this.centeredScaling||t.centeredScaling:e===B&&(i=this.centeredRotation||t.centeredRotation),i?!s:s}_getOriginFromCorner(t,e){const s={x:t.originX,y:t.originY};return e?([\"ml\",\"tl\",\"bl\"].includes(e)?s.x=A:[\"mr\",\"tr\",\"br\"].includes(e)&&(s.x=M),[\"tl\",\"mt\",\"tr\"].includes(e)?s.y=E:[\"bl\",\"mb\",\"br\"].includes(e)&&(s.y=P),s):s}_setupCurrentTransform(t,e,i){var r;const n=e.group?pe(this.getScenePoint(t),void 0,e.group.calcTransformMatrix()):this.getScenePoint(t),{key:o=\"\",control:a}=e.getActiveControl()||{},h=i&&a?null===(r=a.getActionHandler(t,e,a))||void 0===r?void 0:r.bind(a):De,c=((t,e,s,i)=>{if(!e||!t)return\"drag\";const r=i.controls[e];return r.getActionName(s,r,i)})(i,o,t,e),l=t[this.centeredKey],u=this._shouldCenterTransform(e,c,l)?{x:D,y:D}:this._getOriginFromCorner(e,o),d={target:e,action:c,actionHandler:h,actionPerformed:!1,corner:o,scaleX:e.scaleX,scaleY:e.scaleY,skewX:e.skewX,skewY:e.skewY,offsetX:n.x-e.left,offsetY:n.y-e.top,originX:u.x,originY:u.y,ex:n.x,ey:n.y,lastX:n.x,lastY:n.y,theta:xt(e.angle),width:e.width,height:e.height,shiftKey:t.shiftKey,altKey:l,original:s(s({},de(e)),{},{originX:u.x,originY:u.y})};this._currentTransform=d,this.fire(\"before:transform\",{e:t,transform:d})}setCursor(t){this.upperCanvasEl.style.cursor=t}_drawSelection(t){const{x:e,y:s,deltaX:i,deltaY:r}=this._groupSelector,n=new ot(e,s).transform(this.viewportTransform),o=new ot(e+i,s+r).transform(this.viewportTransform),a=this.selectionLineWidth/2;let h=Math.min(n.x,o.x),c=Math.min(n.y,o.y),l=Math.max(n.x,o.x),u=Math.max(n.y,o.y);this.selectionColor&&(t.fillStyle=this.selectionColor,t.fillRect(h,c,l-h,u-c)),this.selectionLineWidth&&this.selectionBorderColor&&(t.lineWidth=this.selectionLineWidth,t.strokeStyle=this.selectionBorderColor,h+=a,c+=a,l-=a,u-=a,ji.prototype._setLineDash.call(this,t,this.selectionDashArray),t.strokeRect(h,c,l-h,u-c))}findTarget(t){if(this.skipTargetFind)return;const e=this.getViewportPoint(t),s=this._activeObject,i=this.getActiveObjects();if(this.targets=[],s&&i.length>=1){if(s.findControl(e,ne(t)))return s;if(i.length>1&&this.searchPossibleTargets([s],e))return s;if(s===this.searchPossibleTargets([s],e)){if(this.preserveObjectStacking){const i=this.targets;this.targets=[];const r=this.searchPossibleTargets(this._objects,e);return t[this.altSelectionKey]&&r&&r!==s?(this.targets=i,s):r}return s}}return this.searchPossibleTargets(this._objects,e)}_pointIsInObjectSelectionArea(t,e){let s=t.getCoords();const i=this.getZoom(),r=t.padding/i;if(r){const[t,e,i,n]=s,o=Math.atan2(e.y-t.y,e.x-t.x),a=rt(o)*r,h=nt(o)*r,c=a+h,l=a-h;s=[new ot(t.x-l,t.y-c),new ot(e.x+c,e.y-l),new ot(i.x+l,i.y+c),new ot(n.x-c,n.y+l)]}return Ks.isPointInPolygon(e,s)}_checkTarget(t,e){if(t&&t.visible&&t.evented&&this._pointIsInObjectSelectionArea(t,pe(e,void 0,this.viewportTransform))){if(!this.perPixelTargetFind&&!t.perPixelTargetFind||t.isEditing)return!0;if(!this.isTargetTransparent(t,e.x,e.y))return!0}return!1}_searchPossibleTargets(t,e){let s=t.length;for(;s--;){const i=t[s];if(this._checkTarget(i,e)){if(ht(i)&&i.subTargetCheck){const t=this._searchPossibleTargets(i._objects,e);t&&this.targets.push(t)}return i}}}searchPossibleTargets(t,e){const s=this._searchPossibleTargets(t,e);if(s&&ht(s)&&s.interactive&&this.targets[0]){const t=this.targets;for(let e=t.length-1;e>0;e--){const s=t[e];if(!ht(s)||!s.interactive)return s}return t[0]}return s}getViewportPoint(t){return this._pointer?this._pointer:this.getPointer(t,!0)}getScenePoint(t){return this._absolutePointer?this._absolutePointer:this.getPointer(t)}getPointer(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const s=this.upperCanvasEl,i=s.getBoundingClientRect();let r=re(t),n=i.width||0,o=i.height||0;n&&o||(P in i&&E in i&&(o=Math.abs(i.top-i.bottom)),A in i&&M in i&&(n=Math.abs(i.right-i.left))),this.calcOffset(),r.x=r.x-this._offset.left,r.y=r.y-this._offset.top,e||(r=pe(r,void 0,this.viewportTransform));const a=this.getRetinaScaling();1!==a&&(r.x/=a,r.y/=a);const h=0===n||0===o?new ot(1,1):new ot(s.width/n,s.height/o);return r.multiply(h)}_setDimensionsImpl(t,e){this._resetTransformEventData(),super._setDimensionsImpl(t,e),this._isCurrentlyDrawing&&this.freeDrawingBrush&&this.freeDrawingBrush._setBrushStyles(this.contextTop)}_createCacheCanvas(){this.pixelFindCanvasEl=pt(),this.pixelFindContext=this.pixelFindCanvasEl.getContext(\"2d\",{willReadFrequently:!0}),this.setTargetFindTolerance(this.targetFindTolerance)}getTopContext(){return this.elements.upper.ctx}getSelectionContext(){return this.elements.upper.ctx}getSelectionElement(){return this.elements.upper.el}getActiveObject(){return this._activeObject}getActiveObjects(){const t=this._activeObject;return Ut(t)?t.getObjects():t?[t]:[]}_fireSelectionEvents(t,e){let s=!1,i=!1;const r=this.getActiveObjects(),n=[],o=[];t.forEach((t=>{r.includes(t)||(s=!0,t.fire(\"deselected\",{e:e,target:t}),o.push(t))})),r.forEach((i=>{t.includes(i)||(s=!0,i.fire(\"selected\",{e:e,target:i}),n.push(i))})),t.length>0&&r.length>0?(i=!0,s&&this.fire(\"selection:updated\",{e:e,selected:n,deselected:o})):r.length>0?(i=!0,this.fire(\"selection:created\",{e:e,selected:n})):t.length>0&&(i=!0,this.fire(\"selection:cleared\",{e:e,deselected:o})),i&&(this._objectsToRender=void 0)}setActiveObject(t,e){const s=this.getActiveObjects(),i=this._setActiveObject(t,e);return this._fireSelectionEvents(s,e),i}_setActiveObject(t,e){const s=this._activeObject;return s!==t&&(!(!this._discardActiveObject(e,t)&&this._activeObject)&&(!t.onSelect({e:e})&&(this._activeObject=t,Ut(t)&&s!==t&&t.set(\"canvas\",this),t.setCoords(),!0)))}_discardActiveObject(t,e){const s=this._activeObject;return!!s&&(!s.onDeselect({e:t,object:e})&&(this._currentTransform&&this._currentTransform.target===s&&this.endCurrentTransform(t),Ut(s)&&s===this._hoveredTarget&&(this._hoveredTarget=void 0),this._activeObject=void 0,!0))}discardActiveObject(t){const e=this.getActiveObjects(),s=this.getActiveObject();e.length&&this.fire(\"before:selection:cleared\",{e:t,deselected:[s]});const i=this._discardActiveObject(t);return this._fireSelectionEvents(e,t),i}endCurrentTransform(t){const e=this._currentTransform;this._finalizeCurrentTransform(t),e&&e.target&&(e.target.isMoving=!1),this._currentTransform=null}_finalizeCurrentTransform(t){const e=this._currentTransform,s=e.target,i={e:t,target:s,transform:e,action:e.action};s._scaling&&(s._scaling=!1),s.setCoords(),e.actionPerformed&&(this.fire(\"object:modified\",i),s.fire(Q,i))}setViewportTransform(t){super.setViewportTransform(t);const e=this._activeObject;e&&e.setCoords()}destroy(){const t=this._activeObject;Ut(t)&&(t.removeAll(),t.dispose()),delete this._activeObject,super.destroy(),this.pixelFindContext=null,this.pixelFindCanvasEl=void 0}clear(){this.discardActiveObject(),this._activeObject=void 0,this.clearContext(this.contextTop),super.clear()}drawControls(t){const e=this._activeObject;e&&e._renderControls(t)}_toObject(t,e,s){const i=this._realizeGroupTransformOnObject(t),r=super._toObject(t,e,s);return t.set(i),r}_realizeGroupTransformOnObject(t){const{group:e}=t;if(e&&Ut(e)&&this._activeObject===e){const s=Yt(t,[\"angle\",\"flipX\",\"flipY\",M,H,N,U,q,P]);return ce(t,e.calcOwnMatrix()),s}return{}}_setSVGObject(t,e,s){const i=this._realizeGroupTransformOnObject(e);super._setSVGObject(t,e,s),e.set(i)}}t(Mn,\"ownDefaults\",{uniformScaling:!0,uniScaleKey:\"shiftKey\",centeredScaling:!1,centeredRotation:!1,centeredKey:\"altKey\",altActionKey:\"shiftKey\",selection:!0,selectionKey:\"shiftKey\",selectionColor:\"rgba(100, 100, 255, 0.3)\",selectionDashArray:[],selectionBorderColor:\"rgba(255, 255, 255, 0.3)\",selectionLineWidth:1,selectionFullyContained:!1,hoverCursor:\"move\",moveCursor:\"move\",defaultCursor:\"default\",freeDrawingCursor:\"crosshair\",notAllowedCursor:\"not-allowed\",perPixelTargetFind:!1,targetFindTolerance:0,skipTargetFind:!1,stopContextMenu:!1,fireRightClick:!1,fireMiddleClick:!1,enablePointerEvents:!1,containerClass:\"canvas-container\",preserveObjectStacking:!1});class Pn{constructor(e){t(this,\"targets\",[]),t(this,\"__disposer\",void 0);const s=()=>{const{hiddenTextarea:t}=e.getActiveObject()||{};t&&t.focus()},i=e.upperCanvasEl;i.addEventListener(\"click\",s),this.__disposer=()=>i.removeEventListener(\"click\",s)}exitTextEditing(){this.target=void 0,this.targets.forEach((t=>{t.isEditing&&t.exitEditing()}))}add(t){this.targets.push(t)}remove(t){this.unregister(t),it(this.targets,t)}register(t){this.target=t}unregister(t){t===this.target&&(this.target=void 0)}onMouseMove(t){var e;(null===(e=this.target)||void 0===e?void 0:e.isEditing)&&this.target.updateSelectionOnMouseMove(t)}clear(){this.targets=[],this.target=void 0}dispose(){this.clear(),this.__disposer(),delete this.__disposer}}const En=[\"target\",\"oldTarget\",\"fireCanvas\",\"e\"],An={passive:!1},jn=(t,e)=>{const s=t.getViewportPoint(e),i=t.getScenePoint(e);return{viewportPoint:s,scenePoint:i,pointer:s,absolutePointer:i}},Fn=function(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];return t.addEventListener(...s)},Ln=function(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];return t.removeEventListener(...s)},Rn={mouse:{in:\"over\",out:\"out\",targetIn:\"mouseover\",targetOut:\"mouseout\",canvasIn:\"mouse:over\",canvasOut:\"mouse:out\"},drag:{in:\"enter\",out:\"leave\",targetIn:\"dragenter\",targetOut:\"dragleave\",canvasIn:\"drag:enter\",canvasOut:\"drag:leave\"}};class In extends Mn{constructor(e){super(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),t(this,\"_isClick\",void 0),t(this,\"textEditingManager\",new Pn(this)),[\"_onMouseDown\",\"_onTouchStart\",\"_onMouseMove\",\"_onMouseUp\",\"_onTouchEnd\",\"_onResize\",\"_onMouseWheel\",\"_onMouseOut\",\"_onMouseEnter\",\"_onContextMenu\",\"_onClick\",\"_onDragStart\",\"_onDragEnd\",\"_onDragProgress\",\"_onDragOver\",\"_onDragEnter\",\"_onDragLeave\",\"_onDrop\"].forEach((t=>{this[t]=this[t].bind(this)})),this.addOrRemove(Fn,\"add\")}_getEventPrefix(){return this.enablePointerEvents?\"pointer\":\"mouse\"}addOrRemove(t,e){const s=this.upperCanvasEl,i=this._getEventPrefix();t(Jt(s),\"resize\",this._onResize),t(s,i+\"down\",this._onMouseDown),t(s,\"\".concat(i,\"move\"),this._onMouseMove,An),t(s,\"\".concat(i,\"out\"),this._onMouseOut),t(s,\"\".concat(i,\"enter\"),this._onMouseEnter),t(s,\"wheel\",this._onMouseWheel),t(s,\"contextmenu\",this._onContextMenu),t(s,\"click\",this._onClick),t(s,\"dblclick\",this._onClick),t(s,\"dragstart\",this._onDragStart),t(s,\"dragend\",this._onDragEnd),t(s,\"dragover\",this._onDragOver),t(s,\"dragenter\",this._onDragEnter),t(s,\"dragleave\",this._onDragLeave),t(s,\"drop\",this._onDrop),this.enablePointerEvents||t(s,\"touchstart\",this._onTouchStart,An)}removeListeners(){this.addOrRemove(Ln,\"remove\");const t=this._getEventPrefix(),e=Kt(this.upperCanvasEl);Ln(e,\"\".concat(t,\"up\"),this._onMouseUp),Ln(e,\"touchend\",this._onTouchEnd,An),Ln(e,\"\".concat(t,\"move\"),this._onMouseMove,An),Ln(e,\"touchmove\",this._onMouseMove,An),clearTimeout(this._willAddMouseDown)}_onMouseWheel(t){this.__onMouseWheel(t)}_onMouseOut(t){const e=this._hoveredTarget,i=s({e:t},jn(this,t));this.fire(\"mouse:out\",s(s({},i),{},{target:e})),this._hoveredTarget=void 0,e&&e.fire(\"mouseout\",s({},i)),this._hoveredTargets.forEach((t=>{this.fire(\"mouse:out\",s(s({},i),{},{target:t})),t&&t.fire(\"mouseout\",s({},i))})),this._hoveredTargets=[]}_onMouseEnter(t){this._currentTransform||this.findTarget(t)||(this.fire(\"mouse:over\",s({e:t},jn(this,t))),this._hoveredTarget=void 0,this._hoveredTargets=[])}_onDragStart(t){this._isClick=!1;const e=this.getActiveObject();if(e&&e.onDragStart(t)){this._dragSource=e;const s={e:t,target:e};return this.fire(\"dragstart\",s),e.fire(\"dragstart\",s),void Fn(this.upperCanvasEl,\"drag\",this._onDragProgress)}oe(t)}_renderDragEffects(t,e,s){let i=!1;const r=this._dropTarget;r&&r!==e&&r!==s&&(r.clearContextTop(),i=!0),null==e||e.clearContextTop(),s!==e&&(null==s||s.clearContextTop());const n=this.contextTop;n.save(),n.transform(...this.viewportTransform),e&&(n.save(),e.transform(n),e.renderDragSourceEffect(t),n.restore(),i=!0),s&&(n.save(),s.transform(n),s.renderDropTargetEffect(t),n.restore(),i=!0),n.restore(),i&&(this.contextTopDirty=!0)}_onDragEnd(t){const e=!!t.dataTransfer&&t.dataTransfer.dropEffect!==j,s=e?this._activeObject:void 0,i={e:t,target:this._dragSource,subTargets:this.targets,dragSource:this._dragSource,didDrop:e,dropTarget:s};Ln(this.upperCanvasEl,\"drag\",this._onDragProgress),this.fire(\"dragend\",i),this._dragSource&&this._dragSource.fire(\"dragend\",i),delete this._dragSource,this._onMouseUp(t)}_onDragProgress(t){const e={e:t,target:this._dragSource,dragSource:this._dragSource,dropTarget:this._draggedoverTarget};this.fire(\"drag\",e),this._dragSource&&this._dragSource.fire(\"drag\",e)}findDragTargets(t){this.targets=[];return{target:this._searchPossibleTargets(this._objects,this.getViewportPoint(t)),targets:[...this.targets]}}_onDragOver(t){const e=\"dragover\",{target:s,targets:i}=this.findDragTargets(t),r=this._dragSource,n={e:t,target:s,subTargets:i,dragSource:r,canDrop:!1,dropTarget:void 0};let o;this.fire(e,n),this._fireEnterLeaveEvents(s,n),s&&(s.canDrop(t)&&(o=s),s.fire(e,n));for(let s=0;s<i.length;s++){const r=i[s];r.canDrop(t)&&(o=r),r.fire(e,n)}this._renderDragEffects(t,r,o),this._dropTarget=o}_onDragEnter(t){const{target:e,targets:s}=this.findDragTargets(t),i={e:t,target:e,subTargets:s,dragSource:this._dragSource};this.fire(\"dragenter\",i),this._fireEnterLeaveEvents(e,i)}_onDragLeave(t){const e={e:t,target:this._draggedoverTarget,subTargets:this.targets,dragSource:this._dragSource};this.fire(\"dragleave\",e),this._fireEnterLeaveEvents(void 0,e),this._renderDragEffects(t,this._dragSource),this._dropTarget=void 0,this.targets=[],this._hoveredTargets=[]}_onDrop(t){const{target:e,targets:i}=this.findDragTargets(t),r=this._basicEventHandler(\"drop:before\",s({e:t,target:e,subTargets:i,dragSource:this._dragSource},jn(this,t)));r.didDrop=!1,r.dropTarget=void 0,this._basicEventHandler(\"drop\",r),this.fire(\"drop:after\",r)}_onContextMenu(t){const e=this.findTarget(t),s=this.targets||[],i=this._basicEventHandler(\"contextmenu:before\",{e:t,target:e,subTargets:s});return this.stopContextMenu&&oe(t),this._basicEventHandler(\"contextmenu\",i),!1}_onClick(t){const e=t.detail;e>3||e<2||(this._cacheTransformEventData(t),2==e&&\"dblclick\"===t.type&&this._handleEvent(t,\"dblclick\"),3==e&&this._handleEvent(t,\"tripleclick\"),this._resetTransformEventData())}getPointerId(t){const e=t.changedTouches;return e?e[0]&&e[0].identifier:this.enablePointerEvents?t.pointerId:-1}_isMainEvent(t){return!0===t.isPrimary||!1!==t.isPrimary&&(\"touchend\"===t.type&&0===t.touches.length||(!t.changedTouches||t.changedTouches[0].identifier===this.mainTouchId))}_onTouchStart(t){let e=!this.allowTouchScrolling;const s=this._activeObject;void 0===this.mainTouchId&&(this.mainTouchId=this.getPointerId(t)),this.__onMouseDown(t),(this.isDrawingMode||s&&this._target===s)&&(e=!0),e&&t.preventDefault(),this._resetTransformEventData();const i=this.upperCanvasEl,r=this._getEventPrefix(),n=Kt(i);Fn(n,\"touchend\",this._onTouchEnd,An),e&&Fn(n,\"touchmove\",this._onMouseMove,An),Ln(i,\"\".concat(r,\"down\"),this._onMouseDown)}_onMouseDown(t){this.__onMouseDown(t),this._resetTransformEventData();const e=this.upperCanvasEl,s=this._getEventPrefix();Ln(e,\"\".concat(s,\"move\"),this._onMouseMove,An);const i=Kt(e);Fn(i,\"\".concat(s,\"up\"),this._onMouseUp),Fn(i,\"\".concat(s,\"move\"),this._onMouseMove,An)}_onTouchEnd(t){if(t.touches.length>0)return;this.__onMouseUp(t),this._resetTransformEventData(),delete this.mainTouchId;const e=this._getEventPrefix(),s=Kt(this.upperCanvasEl);Ln(s,\"touchend\",this._onTouchEnd,An),Ln(s,\"touchmove\",this._onMouseMove,An),this._willAddMouseDown&&clearTimeout(this._willAddMouseDown),this._willAddMouseDown=setTimeout((()=>{Fn(this.upperCanvasEl,\"\".concat(e,\"down\"),this._onMouseDown),this._willAddMouseDown=0}),400)}_onMouseUp(t){this.__onMouseUp(t),this._resetTransformEventData();const e=this.upperCanvasEl,s=this._getEventPrefix();if(this._isMainEvent(t)){const t=Kt(this.upperCanvasEl);Ln(t,\"\".concat(s,\"up\"),this._onMouseUp),Ln(t,\"\".concat(s,\"move\"),this._onMouseMove,An),Fn(e,\"\".concat(s,\"move\"),this._onMouseMove,An)}}_onMouseMove(t){const e=this.getActiveObject();!this.allowTouchScrolling&&(!e||!e.shouldStartDragging(t))&&t.preventDefault&&t.preventDefault(),this.__onMouseMove(t)}_onResize(){this.calcOffset(),this._resetTransformEventData()}_shouldRender(t){const e=this.getActiveObject();return!!e!=!!t||e&&t&&e!==t}__onMouseUp(t){var e;this._cacheTransformEventData(t),this._handleEvent(t,\"up:before\");const s=this._currentTransform,i=this._isClick,r=this._target,{button:n}=t;if(n)return(this.fireMiddleClick&&1===n||this.fireRightClick&&2===n)&&this._handleEvent(t,\"up\"),void this._resetTransformEventData();if(this.isDrawingMode&&this._isCurrentlyDrawing)return void this._onMouseUpInDrawingMode(t);if(!this._isMainEvent(t))return;let o,a,h=!1;if(s&&(this._finalizeCurrentTransform(t),h=s.actionPerformed),!i){const e=r===this._activeObject;this.handleSelection(t),h||(h=this._shouldRender(r)||!e&&r===this._activeObject)}if(r){const e=r.findControl(this.getViewportPoint(t),ne(t)),{key:i,control:n}=e||{};if(a=i,r.selectable&&r!==this._activeObject&&\"up\"===r.activeOn)this.setActiveObject(r,t),h=!0;else if(n){const e=n.getMouseUpHandler(t,r,n);e&&(o=this.getScenePoint(t),e.call(n,t,s,o.x,o.y))}r.isMoving=!1}if(s&&(s.target!==r||s.corner!==a)){const e=s.target&&s.target.controls[s.corner],i=e&&e.getMouseUpHandler(t,s.target,e);o=o||this.getScenePoint(t),i&&i.call(e,t,s,o.x,o.y)}this._setCursorFromEvent(t,r),this._handleEvent(t,\"up\"),this._groupSelector=null,this._currentTransform=null,r&&(r.__corner=void 0),h?this.requestRenderAll():i||null!==(e=this._activeObject)&&void 0!==e&&e.isEditing||this.renderTop()}_basicEventHandler(t,e){const{target:s,subTargets:i=[]}=e;this.fire(t,e),s&&s.fire(t,e);for(let r=0;r<i.length;r++)i[r]!==s&&i[r].fire(t,e);return e}_handleEvent(t,e,i){const r=this._target,n=this.targets||[],o=s(s(s({e:t,target:r,subTargets:n},jn(this,t)),{},{transform:this._currentTransform},\"up:before\"===e||\"up\"===e?{isClick:this._isClick,currentTarget:this.findTarget(t),currentSubTargets:this.targets}:{}),\"down:before\"===e||\"down\"===e?i:{});this.fire(\"mouse:\".concat(e),o),r&&r.fire(\"mouse\".concat(e),o);for(let t=0;t<n.length;t++)n[t]!==r&&n[t].fire(\"mouse\".concat(e),o)}_onMouseDownInDrawingMode(t){this._isCurrentlyDrawing=!0,this.getActiveObject()&&(this.discardActiveObject(t),this.requestRenderAll());const e=this.getScenePoint(t);this.freeDrawingBrush&&this.freeDrawingBrush.onMouseDown(e,{e:t,pointer:e}),this._handleEvent(t,\"down\",{alreadySelected:!1})}_onMouseMoveInDrawingMode(t){if(this._isCurrentlyDrawing){const e=this.getScenePoint(t);this.freeDrawingBrush&&this.freeDrawingBrush.onMouseMove(e,{e:t,pointer:e})}this.setCursor(this.freeDrawingCursor),this._handleEvent(t,\"move\")}_onMouseUpInDrawingMode(t){const e=this.getScenePoint(t);this.freeDrawingBrush?this._isCurrentlyDrawing=!!this.freeDrawingBrush.onMouseUp({e:t,pointer:e}):this._isCurrentlyDrawing=!1,this._handleEvent(t,\"up\")}__onMouseDown(t){this._isClick=!0,this._cacheTransformEventData(t),this._handleEvent(t,\"down:before\");let e=this._target,s=!!e&&e===this._activeObject;const{button:i}=t;if(i)return(this.fireMiddleClick&&1===i||this.fireRightClick&&2===i)&&this._handleEvent(t,\"down\",{alreadySelected:s}),void this._resetTransformEventData();if(this.isDrawingMode)return void this._onMouseDownInDrawingMode(t);if(!this._isMainEvent(t))return;if(this._currentTransform)return;let r=this._shouldRender(e),n=!1;if(this.handleMultiSelection(t,e)?(e=this._activeObject,n=!0,r=!0):this._shouldClearSelection(t,e)&&this.discardActiveObject(t),this.selection&&(!e||!e.selectable&&!e.isEditing&&e!==this._activeObject)){const e=this.getScenePoint(t);this._groupSelector={x:e.x,y:e.y,deltaY:0,deltaX:0}}if(s=!!e&&e===this._activeObject,e){e.selectable&&\"down\"===e.activeOn&&this.setActiveObject(e,t);const i=e.findControl(this.getViewportPoint(t),ne(t));if(e===this._activeObject&&(i||!n)){this._setupCurrentTransform(t,e,s);const r=i?i.control:void 0,n=this.getScenePoint(t),o=r&&r.getMouseDownHandler(t,e,r);o&&o.call(r,t,this._currentTransform,n.x,n.y)}}r&&(this._objectsToRender=void 0),this._handleEvent(t,\"down\",{alreadySelected:s}),r&&this.requestRenderAll()}_resetTransformEventData(){this._target=this._pointer=this._absolutePointer=void 0}_cacheTransformEventData(t){this._resetTransformEventData(),this._pointer=this.getViewportPoint(t),this._absolutePointer=pe(this._pointer,void 0,this.viewportTransform),this._target=this._currentTransform?this._currentTransform.target:this.findTarget(t)}__onMouseMove(t){if(this._isClick=!1,this._cacheTransformEventData(t),this._handleEvent(t,\"move:before\"),this.isDrawingMode)return void this._onMouseMoveInDrawingMode(t);if(!this._isMainEvent(t))return;const e=this._groupSelector;if(e){const s=this.getScenePoint(t);e.deltaX=s.x-e.x,e.deltaY=s.y-e.y,this.renderTop()}else if(this._currentTransform)this._transformObject(t);else{const e=this.findTarget(t);this._setCursorFromEvent(t,e),this._fireOverOutEvents(t,e)}this.textEditingManager.onMouseMove(t),this._handleEvent(t,\"move\"),this._resetTransformEventData()}_fireOverOutEvents(t,e){const s=this._hoveredTarget,i=this._hoveredTargets,r=this.targets,n=Math.max(i.length,r.length);this.fireSyntheticInOutEvents(\"mouse\",{e:t,target:e,oldTarget:s,fireCanvas:!0});for(let e=0;e<n;e++)this.fireSyntheticInOutEvents(\"mouse\",{e:t,target:r[e],oldTarget:i[e]});this._hoveredTarget=e,this._hoveredTargets=this.targets.concat()}_fireEnterLeaveEvents(t,e){const i=this._draggedoverTarget,r=this._hoveredTargets,n=this.targets,o=Math.max(r.length,n.length);this.fireSyntheticInOutEvents(\"drag\",s(s({},e),{},{target:t,oldTarget:i,fireCanvas:!0}));for(let t=0;t<o;t++)this.fireSyntheticInOutEvents(\"drag\",s(s({},e),{},{target:n[t],oldTarget:r[t]}));this._draggedoverTarget=t}fireSyntheticInOutEvents(t,e){let{target:r,oldTarget:n,fireCanvas:o,e:a}=e,h=i(e,En);const{targetIn:c,targetOut:l,canvasIn:u,canvasOut:d}=Rn[t],g=n!==r;if(n&&g){const t=s(s({},h),{},{e:a,target:n,nextTarget:r},jn(this,a));o&&this.fire(d,t),n.fire(l,t)}if(r&&g){const t=s(s({},h),{},{e:a,target:r,previousTarget:n},jn(this,a));o&&this.fire(u,t),r.fire(c,t)}}__onMouseWheel(t){this._cacheTransformEventData(t),this._handleEvent(t,\"wheel\"),this._resetTransformEventData()}_transformObject(t){const e=this.getScenePoint(t),s=this._currentTransform,i=s.target,r=i.group?pe(e,void 0,i.group.calcTransformMatrix()):e;s.shiftKey=t.shiftKey,s.altKey=!!this.centeredKey&&t[this.centeredKey],this._performTransformAction(t,s,r),s.actionPerformed&&this.requestRenderAll()}_performTransformAction(t,e,s){const{action:i,actionHandler:r,target:n}=e,o=!!r&&r(t,e,s.x,s.y);o&&n.setCoords(),\"drag\"===i&&o&&(e.target.isMoving=!0,this.setCursor(e.target.moveCursor||this.moveCursor)),e.actionPerformed=e.actionPerformed||o}_setCursorFromEvent(t,e){if(!e)return void this.setCursor(this.defaultCursor);let s=e.hoverCursor||this.hoverCursor;const i=Ut(this._activeObject)?this._activeObject:null,r=(!i||e.group!==i)&&e.findControl(this.getViewportPoint(t));if(r){const s=r.control;this.setCursor(s.cursorStyleHandler(t,s,e))}else e.subTargetCheck&&this.targets.concat().reverse().map((t=>{s=t.hoverCursor||s})),this.setCursor(s)}handleMultiSelection(t,e){const s=this._activeObject,i=Ut(s);if(s&&this._isSelectionKeyPressed(t)&&this.selection&&e&&e.selectable&&(s!==e||i)&&(i||!e.isDescendantOf(s)&&!s.isDescendantOf(e))&&!e.onSelect({e:t})&&!s.getActiveControl()){if(i){const i=s.getObjects();if(e===s){const s=this.getViewportPoint(t);if(!(e=this.searchPossibleTargets(i,s)||this.searchPossibleTargets(this._objects,s))||!e.selectable)return!1}e.group===s?(s.remove(e),this._hoveredTarget=e,this._hoveredTargets=[...this.targets],1===s.size()&&this._setActiveObject(s.item(0),t)):(s.multiSelectAdd(e),this._hoveredTarget=s,this._hoveredTargets=[...this.targets]),this._fireSelectionEvents(i,t)}else{s.isEditing&&s.exitEditing();const i=new(tt.getClass(\"ActiveSelection\"))([],{canvas:this});i.multiSelectAdd(s,e),this._hoveredTarget=i,this._setActiveObject(i,t),this._fireSelectionEvents([s],t)}return!0}return!1}handleSelection(t){if(!this.selection||!this._groupSelector)return!1;const{x:e,y:s,deltaX:i,deltaY:r}=this._groupSelector,n=new ot(e,s),o=n.add(new ot(i,r)),a=n.min(o),h=n.max(o).subtract(a),c=this.collectObjects({left:a.x,top:a.y,width:h.x,height:h.y},{includeIntersecting:!this.selectionFullyContained}),l=n.eq(o)?c[0]?[c[0]]:[]:c.length>1?c.filter((e=>!e.onSelect({e:t}))).reverse():c;if(1===l.length)this.setActiveObject(l[0],t);else if(l.length>1){const e=tt.getClass(\"ActiveSelection\");this.setActiveObject(new e(l,{canvas:this}),t)}return this._groupSelector=null,!0}clear(){this.textEditingManager.clear(),super.clear()}destroy(){this.removeListeners(),this.textEditingManager.dispose(),super.destroy()}}const Bn={x1:0,y1:0,x2:0,y2:0},Xn=s(s({},Bn),{},{r1:0,r2:0}),Yn=(t,e)=>isNaN(t)&&\"number\"==typeof e?e:t,Wn=/^(\\d+\\.\\d+)%|(\\d+)%$/;function Vn(t){return t&&Wn.test(t)}function zn(t,e){const s=\"number\"==typeof t?t:\"string\"==typeof t?parseFloat(t)/(Vn(t)?100:1):NaN;return ks(0,Yn(s,e),1)}const Gn=/\\s*;\\s*/,Hn=/\\s*:\\s*/;function Nn(t,e){let s,i;const r=t.getAttribute(\"style\");if(r){const t=r.split(Gn);\"\"===t[t.length-1]&&t.pop();for(let e=t.length;e--;){const[r,n]=t[e].split(Hn).map((t=>t.trim()));\"stop-color\"===r?s=n:\"stop-opacity\"===r&&(i=n)}}const n=new Le(s||t.getAttribute(\"stop-color\")||\"rgb(0,0,0)\");return{offset:zn(t.getAttribute(\"offset\"),0),color:n.toRgb(),opacity:Yn(parseFloat(i||t.getAttribute(\"stop-opacity\")||\"\"),1)*n.getAlpha()*e}}function Un(t,e){const s=[],i=t.getElementsByTagName(\"stop\"),r=zn(e,1);for(let t=i.length;t--;)s.push(Nn(i[t],r));return s}function qn(t){return\"linearGradient\"===t.nodeName||\"LINEARGRADIENT\"===t.nodeName?\"linear\":\"radial\"}function Kn(t){return\"userSpaceOnUse\"===t.getAttribute(\"gradientUnits\")?\"pixels\":\"percentage\"}function Jn(t,e){return t.getAttribute(e)}function Qn(t,e){return function(t,e){let s,{width:i,height:r,gradientUnits:n}=e;return Object.keys(t).reduce(((e,o)=>{const a=t[o];return\"Infinity\"===a?s=1:\"-Infinity\"===a?s=0:(s=\"string\"==typeof a?parseFloat(a):a,\"string\"==typeof a&&Vn(a)&&(s*=.01,\"pixels\"===n&&(\"x1\"!==o&&\"x2\"!==o&&\"r2\"!==o||(s*=i),\"y1\"!==o&&\"y2\"!==o||(s*=r)))),e[o]=s,e}),{})}(\"linear\"===qn(t)?function(t){return{x1:Jn(t,\"x1\")||0,y1:Jn(t,\"y1\")||0,x2:Jn(t,\"x2\")||\"100%\",y2:Jn(t,\"y2\")||0}}(t):function(t){return{x1:Jn(t,\"fx\")||Jn(t,\"cx\")||\"50%\",y1:Jn(t,\"fy\")||Jn(t,\"cy\")||\"50%\",r1:0,x2:Jn(t,\"cx\")||\"50%\",y2:Jn(t,\"cy\")||\"50%\",r2:Jn(t,\"r\")||\"50%\"}}(t),s(s({},e),{},{gradientUnits:Kn(t)}))}class Zn{constructor(t){const{type:e=\"linear\",gradientUnits:i=\"pixels\",coords:r={},colorStops:n=[],offsetX:o=0,offsetY:a=0,gradientTransform:h,id:c}=t||{};Object.assign(this,{type:e,gradientUnits:i,coords:s(s({},\"radial\"===e?Xn:Bn),r),colorStops:n,offsetX:o,offsetY:a,gradientTransform:h,id:c?\"\".concat(c,\"_\").concat(ft()):ft()})}addColorStop(t){for(const e in t){const s=new Le(t[e]);this.colorStops.push({offset:parseFloat(e),color:s.toRgb(),opacity:s.getAlpha()})}return this}toObject(t){return s(s({},Yt(this,t)),{},{type:this.type,coords:s({},this.coords),colorStops:this.colorStops.map((t=>s({},t))),offsetX:this.offsetX,offsetY:this.offsetY,gradientUnits:this.gradientUnits,gradientTransform:this.gradientTransform?[...this.gradientTransform]:void 0})}toSVG(t){let{additionalTransform:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=[],r=this.gradientTransform?this.gradientTransform.concat():T.concat(),n=\"pixels\"===this.gradientUnits?\"userSpaceOnUse\":\"objectBoundingBox\",o=this.colorStops.map((t=>s({},t))).sort(((t,e)=>t.offset-e.offset));let a=-this.offsetX,h=-this.offsetY;var c;\"objectBoundingBox\"===n?(a/=t.width,h/=t.height):(a+=t.width/2,h+=t.height/2),(c=t)&&\"function\"==typeof c._renderPathCommands&&\"percentage\"!==this.gradientUnits&&(a-=t.pathOffset.x,h-=t.pathOffset.y),r[4]-=a,r[5]-=h;const l=['id=\"SVGID_'.concat(this.id,'\"'),'gradientUnits=\"'.concat(n,'\"'),'gradientTransform=\"'.concat(e?e+\" \":\"\").concat(zt(r),'\"'),\"\"].join(\" \");if(\"linear\"===this.type){const{x1:t,y1:e,x2:s,y2:r}=this.coords;i.push(\"<linearGradient \",l,' x1=\"',t,'\" y1=\"',e,'\" x2=\"',s,'\" y2=\"',r,'\">\\n')}else if(\"radial\"===this.type){const{x1:t,y1:e,x2:s,y2:r,r1:n,r2:a}=this.coords,h=n>a;i.push(\"<radialGradient \",l,' cx=\"',h?t:s,'\" cy=\"',h?e:r,'\" r=\"',h?n:a,'\" fx=\"',h?s:t,'\" fy=\"',h?r:e,'\">\\n'),h&&(o.reverse(),o.forEach((t=>{t.offset=1-t.offset})));const c=Math.min(n,a);if(c>0){const t=c/Math.max(n,a);o.forEach((e=>{e.offset+=t*(1-e.offset)}))}}return o.forEach((t=>{let{color:e,offset:s,opacity:r}=t;i.push(\"<stop \",'offset=\"',100*s+\"%\",'\" style=\"stop-color:',e,void 0!==r?\";stop-opacity: \"+r:\";\",'\"/>\\n')})),i.push(\"linear\"===this.type?\"</linearGradient>\":\"</radialGradient>\",\"\\n\"),i.join(\"\")}toLive(t){const{x1:e,y1:s,x2:i,y2:r,r1:n,r2:o}=this.coords,a=\"linear\"===this.type?t.createLinearGradient(e,s,i,r):t.createRadialGradient(e,s,n,i,r,o);return this.colorStops.forEach((t=>{let{color:e,opacity:s,offset:i}=t;a.addColorStop(i,void 0!==s?new Le(e).setAlpha(s).toRgba():e)})),a}static async fromObject(t){const{colorStops:e,gradientTransform:i}=t;return new this(s(s({},t),{},{colorStops:e?e.map((t=>s({},t))):void 0,gradientTransform:i?[...i]:void 0}))}static fromElement(t,e,i){const r=Kn(t),n=e._findCenterFromElement();return new this(s({id:t.getAttribute(\"id\")||void 0,type:qn(t),coords:Qn(t,{width:i.viewBoxWidth||i.width,height:i.viewBoxHeight||i.height}),colorStops:Un(t,i.opacity),gradientUnits:r,gradientTransform:br(t.getAttribute(\"gradientTransform\")||\"\")},\"pixels\"===r?{offsetX:e.width/2-n.x,offsetY:e.height/2-n.y}:{offsetX:0,offsetY:0}))}}t(Zn,\"type\",\"Gradient\"),tt.setClass(Zn,\"gradient\"),tt.setClass(Zn,\"linear\"),tt.setClass(Zn,\"radial\");const $n=[\"type\",\"source\",\"patternTransform\"];class to{get type(){return\"pattern\"}set type(t){a(\"warn\",\"Setting type has no effect\",t)}constructor(e){t(this,\"repeat\",\"repeat\"),t(this,\"offsetX\",0),t(this,\"offsetY\",0),t(this,\"crossOrigin\",\"\"),this.id=ft(),Object.assign(this,e)}isImageSource(){return!!this.source&&\"string\"==typeof this.source.src}isCanvasSource(){return!!this.source&&!!this.source.toDataURL}sourceToString(){return this.isImageSource()?this.source.src:this.isCanvasSource()?this.source.toDataURL():\"\"}toLive(t){return this.source&&(!this.isImageSource()||this.source.complete&&0!==this.source.naturalWidth&&0!==this.source.naturalHeight)?t.createPattern(this.source,this.repeat):null}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const{repeat:e,crossOrigin:i}=this;return s(s({},Yt(this,t)),{},{type:\"pattern\",source:this.sourceToString(),repeat:e,crossOrigin:i,offsetX:Vt(this.offsetX,o.NUM_FRACTION_DIGITS),offsetY:Vt(this.offsetY,o.NUM_FRACTION_DIGITS),patternTransform:this.patternTransform?[...this.patternTransform]:null})}toSVG(t){let{width:e,height:s}=t;const{source:i,repeat:r,id:n}=this,o=Yn(this.offsetX/e,0),a=Yn(this.offsetY/s,0),h=\"repeat-y\"===r||\"no-repeat\"===r?1+Math.abs(o||0):Yn(i.width/e,0),c=\"repeat-x\"===r||\"no-repeat\"===r?1+Math.abs(a||0):Yn(i.height/s,0);return['<pattern id=\"SVGID_'.concat(n,'\" x=\"').concat(o,'\" y=\"').concat(a,'\" width=\"').concat(h,'\" height=\"').concat(c,'\">'),'<image x=\"0\" y=\"0\" width=\"'.concat(i.width,'\" height=\"').concat(i.height,'\" xlink:href=\"').concat(this.sourceToString(),'\"></image>'),\"</pattern>\",\"\"].join(\"\\n\")}static async fromObject(t,e){let{type:r,source:n,patternTransform:o}=t,a=i(t,$n);const h=await It(n,s(s({},e),{},{crossOrigin:a.crossOrigin}));return new this(s(s({},a),{},{patternTransform:o&&o.slice(0),source:h}))}}t(to,\"type\",\"Pattern\"),tt.setClass(to),tt.setClass(to,\"pattern\");class eo{constructor(e){t(this,\"color\",\"rgb(0, 0, 0)\"),t(this,\"width\",1),t(this,\"shadow\",null),t(this,\"strokeLineCap\",\"round\"),t(this,\"strokeLineJoin\",\"round\"),t(this,\"strokeMiterLimit\",10),t(this,\"strokeDashArray\",null),t(this,\"limitedToCanvasSize\",!1),this.canvas=e}_setBrushStyles(t){t.strokeStyle=this.color,t.lineWidth=this.width,t.lineCap=this.strokeLineCap,t.miterLimit=this.strokeMiterLimit,t.lineJoin=this.strokeLineJoin,t.setLineDash(this.strokeDashArray||[])}_saveAndTransform(t){const e=this.canvas.viewportTransform;t.save(),t.transform(e[0],e[1],e[2],e[3],e[4],e[5])}needsFullRender(){return new Le(this.color).getAlpha()<1||!!this.shadow}_setShadow(){if(!this.shadow||!this.canvas)return;const t=this.canvas,e=this.shadow,s=t.contextTop,i=t.getZoom()*t.getRetinaScaling();s.shadowColor=e.color,s.shadowBlur=e.blur*i,s.shadowOffsetX=e.offsetX*i,s.shadowOffsetY=e.offsetY*i}_resetShadow(){const t=this.canvas.contextTop;t.shadowColor=\"\",t.shadowBlur=t.shadowOffsetX=t.shadowOffsetY=0}_isOutSideCanvas(t){return t.x<0||t.x>this.canvas.getWidth()||t.y<0||t.y>this.canvas.getHeight()}}const so=[\"path\",\"left\",\"top\"],io=[\"d\"];class ro extends ji{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{path:s,left:r,top:n}=e,o=i(e,so);super(),Object.assign(this,ro.ownDefaults),this.setOptions(o),this._setPath(t||[],!0),\"number\"==typeof r&&this.set(M,r),\"number\"==typeof n&&this.set(P,n)}_setPath(t,e){this.path=sn(Array.isArray(t)?t:xn(t)),this.setBoundingBox(e)}_findCenterFromElement(){const t=this._calcBoundsFromPath();return new ot(t.left+t.width/2,t.top+t.height/2)}_renderPathCommands(t){const e=-this.pathOffset.x,s=-this.pathOffset.y;t.beginPath();for(const i of this.path)switch(i[0]){case\"L\":t.lineTo(i[1]+e,i[2]+s);break;case\"M\":t.moveTo(i[1]+e,i[2]+s);break;case\"C\":t.bezierCurveTo(i[1]+e,i[2]+s,i[3]+e,i[4]+s,i[5]+e,i[6]+s);break;case\"Q\":t.quadraticCurveTo(i[1]+e,i[2]+s,i[3]+e,i[4]+s);break;case\"Z\":t.closePath()}}_render(t){this._renderPathCommands(t),this._renderPaintInOrder(t)}toString(){return\"#<Path (\".concat(this.complexity(),'): { \"top\": ').concat(this.top,', \"left\": ').concat(this.left,\" }>\")}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return s(s({},super.toObject(t)),{},{path:this.path.map((t=>t.slice()))})}toDatalessObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const e=this.toObject(t);return this.sourcePath&&(delete e.path,e.sourcePath=this.sourcePath),e}_toSVG(){const t=bn(this.path,o.NUM_FRACTION_DIGITS);return[\"<path \",\"COMMON_PARTS\",'d=\"'.concat(t,'\" stroke-linecap=\"round\" />\\n')]}_getOffsetTransform(){const t=o.NUM_FRACTION_DIGITS;return\" translate(\".concat(Vt(-this.pathOffset.x,t),\", \").concat(Vt(-this.pathOffset.y,t),\")\")}toClipPathSVG(t){const e=this._getOffsetTransform();return\"\\t\"+this._createBaseClipPathSVGMarkup(this._toSVG(),{reviver:t,additionalTransform:e})}toSVG(t){const e=this._getOffsetTransform();return this._createBaseSVGMarkup(this._toSVG(),{reviver:t,additionalTransform:e})}complexity(){return this.path.length}setDimensions(){this.setBoundingBox()}setBoundingBox(t){const{width:e,height:s,pathOffset:i}=this._calcDimensions();this.set({width:e,height:s,pathOffset:i}),t&&this.setPositionByOrigin(i,D,D)}_calcBoundsFromPath(){const t=[];let e=0,s=0,i=0,r=0;for(const n of this.path)switch(n[0]){case\"L\":i=n[1],r=n[2],t.push({x:e,y:s},{x:i,y:r});break;case\"M\":i=n[1],r=n[2],e=i,s=r;break;case\"C\":t.push(...tn(i,r,n[1],n[2],n[3],n[4],n[5],n[6])),i=n[5],r=n[6];break;case\"Q\":t.push(...tn(i,r,n[1],n[2],n[1],n[2],n[3],n[4])),i=n[3],r=n[4];break;case\"Z\":i=e,r=s}return ae(t)}_calcDimensions(){const t=this._calcBoundsFromPath();return s(s({},t),{},{pathOffset:new ot(t.left+t.width/2,t.top+t.height/2)})}static fromObject(t){return this._fromObject(t,{extraParam:\"path\"})}static async fromElement(t,e,r){const n=Dr(t,this.ATTRIBUTE_NAMES,r),{d:o}=n;return new this(o,s(s(s({},i(n,io)),e),{},{left:void 0,top:void 0}))}}t(ro,\"type\",\"Path\"),t(ro,\"cacheProperties\",[...Ms,\"path\",\"fillRule\"]),t(ro,\"ATTRIBUTE_NAMES\",[...Ji,\"d\"]),tt.setClass(ro),tt.setSVGClass(ro);class no extends eo{constructor(e){super(e),t(this,\"decimate\",.4),t(this,\"drawStraightLine\",!1),t(this,\"straightLineKey\",\"shiftKey\"),this._points=[],this._hasStraightLine=!1}needsFullRender(){return super.needsFullRender()||this._hasStraightLine}static drawSegment(t,e,s){const i=e.midPointFrom(s);return t.quadraticCurveTo(e.x,e.y,i.x,i.y),i}onMouseDown(t,e){let{e:s}=e;this.canvas._isMainEvent(s)&&(this.drawStraightLine=!!this.straightLineKey&&s[this.straightLineKey],this._prepareForDrawing(t),this._addPoint(t),this._render())}onMouseMove(t,e){let{e:s}=e;if(this.canvas._isMainEvent(s)&&(this.drawStraightLine=!!this.straightLineKey&&s[this.straightLineKey],(!0!==this.limitedToCanvasSize||!this._isOutSideCanvas(t))&&this._addPoint(t)&&this._points.length>1))if(this.needsFullRender())this.canvas.clearContext(this.canvas.contextTop),this._render();else{const t=this._points,e=t.length,s=this.canvas.contextTop;this._saveAndTransform(s),this.oldEnd&&(s.beginPath(),s.moveTo(this.oldEnd.x,this.oldEnd.y)),this.oldEnd=no.drawSegment(s,t[e-2],t[e-1]),s.stroke(),s.restore()}}onMouseUp(t){let{e:e}=t;return!this.canvas._isMainEvent(e)||(this.drawStraightLine=!1,this.oldEnd=void 0,this._finalizeAndAddPath(),!1)}_prepareForDrawing(t){this._reset(),this._addPoint(t),this.canvas.contextTop.moveTo(t.x,t.y)}_addPoint(t){return!(this._points.length>1&&t.eq(this._points[this._points.length-1]))&&(this.drawStraightLine&&this._points.length>1&&(this._hasStraightLine=!0,this._points.pop()),this._points.push(t),!0)}_reset(){this._points=[],this._setBrushStyles(this.canvas.contextTop),this._setShadow(),this._hasStraightLine=!1}_render(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.canvas.contextTop,e=this._points[0],s=this._points[1];if(this._saveAndTransform(t),t.beginPath(),2===this._points.length&&e.x===s.x&&e.y===s.y){const t=this.width/1e3;e.x-=t,s.x+=t}t.moveTo(e.x,e.y);for(let i=1;i<this._points.length;i++)no.drawSegment(t,e,s),e=this._points[i],s=this._points[i+1];t.lineTo(e.x,e.y),t.stroke(),t.restore()}convertPointsToSVGPath(t){const e=this.width/1e3;return Cn(t,e)}createPath(t){const e=new ro(t,{fill:null,stroke:this.color,strokeWidth:this.width,strokeLineCap:this.strokeLineCap,strokeMiterLimit:this.strokeMiterLimit,strokeLineJoin:this.strokeLineJoin,strokeDashArray:this.strokeDashArray});return this.shadow&&(this.shadow.affectStroke=!0,e.shadow=new Os(this.shadow)),e}decimatePoints(t,e){if(t.length<=2)return t;let s,i=t[0];const r=this.canvas.getZoom(),n=Math.pow(e/r,2),o=t.length-1,a=[i];for(let e=1;e<o-1;e++)s=Math.pow(i.x-t[e].x,2)+Math.pow(i.y-t[e].y,2),s>=n&&(i=t[e],a.push(i));return a.push(t[o]),a}_finalizeAndAddPath(){this.canvas.contextTop.closePath(),this.decimate&&(this._points=this.decimatePoints(this._points,this.decimate));const t=this.convertPointsToSVGPath(this._points);if(function(t){return\"M 0 0 Q 0 0 0 0 L 0 0\"===bn(t)}(t))return void this.canvas.requestRenderAll();const e=this.createPath(t);this.canvas.clearContext(this.canvas.contextTop),this.canvas.fire(\"before:path:created\",{path:e}),this.canvas.add(e),this.canvas.requestRenderAll(),e.setCoords(),this._resetShadow(),this.canvas.fire(\"path:created\",{path:e})}}const oo=[\"left\",\"top\",\"radius\"],ao=[\"radius\",\"startAngle\",\"endAngle\",\"counterClockwise\"];class ho extends ji{static getDefaults(){return s(s({},super.getDefaults()),ho.ownDefaults)}constructor(t){super(),Object.assign(this,ho.ownDefaults),this.setOptions(t)}_set(t,e){return super._set(t,e),\"radius\"===t&&this.setRadius(e),this}_render(t){t.beginPath(),t.arc(0,0,this.radius,xt(this.startAngle),xt(this.endAngle),this.counterClockwise),this._renderPaintInOrder(t)}getRadiusX(){return this.get(\"radius\")*this.get(H)}getRadiusY(){return this.get(\"radius\")*this.get(N)}setRadius(t){this.radius=t,this.set({width:2*t,height:2*t})}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject([...ao,...t])}_toSVG(){const t=(this.endAngle-this.startAngle)%360;if(0===t)return[\"<circle \",\"COMMON_PARTS\",'cx=\"0\" cy=\"0\" ','r=\"',\"\".concat(this.radius),'\" />\\n'];{const{radius:e}=this,s=xt(this.startAngle),i=xt(this.endAngle),r=rt(s)*e,n=nt(s)*e,o=rt(i)*e,a=nt(i)*e,h=t>180?1:0,c=this.counterClockwise?0:1;return['<path d=\"M '.concat(r,\" \").concat(n,\" A \").concat(e,\" \").concat(e,\" 0 \").concat(h,\" \").concat(c,\" \").concat(o,\" \").concat(a,'\" '),\"COMMON_PARTS\",\" />\\n\"]}}static async fromElement(t,e,r){const n=Dr(t,this.ATTRIBUTE_NAMES,r),{left:o=0,top:a=0,radius:h=0}=n;return new this(s(s({},i(n,oo)),{},{radius:h,left:o-h,top:a-h}))}static fromObject(t){return super._fromObject(t)}}t(ho,\"type\",\"Circle\"),t(ho,\"cacheProperties\",[...Ms,...ao]),t(ho,\"ownDefaults\",{radius:0,startAngle:0,endAngle:360,counterClockwise:!1}),t(ho,\"ATTRIBUTE_NAMES\",[\"cx\",\"cy\",\"r\",...Ji]),tt.setClass(ho),tt.setSVGClass(ho);class co extends eo{constructor(e){super(e),t(this,\"width\",10),this.points=[]}drawDot(t){const e=this.addPoint(t),s=this.canvas.contextTop;this._saveAndTransform(s),this.dot(s,e),s.restore()}dot(t,e){t.fillStyle=e.fill,t.beginPath(),t.arc(e.x,e.y,e.radius,0,2*Math.PI,!1),t.closePath(),t.fill()}onMouseDown(t){this.points=[],this.canvas.clearContext(this.canvas.contextTop),this._setShadow(),this.drawDot(t)}_render(){const t=this.canvas.contextTop,e=this.points;this._saveAndTransform(t);for(let s=0;s<e.length;s++)this.dot(t,e[s]);t.restore()}onMouseMove(t){!0===this.limitedToCanvasSize&&this._isOutSideCanvas(t)||(this.needsFullRender()?(this.canvas.clearContext(this.canvas.contextTop),this.addPoint(t),this._render()):this.drawDot(t))}onMouseUp(){const t=this.canvas.renderOnAddRemove;this.canvas.renderOnAddRemove=!1;const e=[];for(let t=0;t<this.points.length;t++){const s=this.points[t],i=new ho({radius:s.radius,left:s.x,top:s.y,originX:D,originY:D,fill:s.fill});this.shadow&&(i.shadow=new Os(this.shadow)),e.push(i)}const s=new Hr(e,{canvas:this.canvas});this.canvas.fire(\"before:path:created\",{path:s}),this.canvas.add(s),this.canvas.fire(\"path:created\",{path:s}),this.canvas.clearContext(this.canvas.contextTop),this._resetShadow(),this.canvas.renderOnAddRemove=t,this.canvas.requestRenderAll()}addPoint(t){let{x:e,y:s}=t;const i={x:e,y:s,radius:wn(Math.max(0,this.width-20),this.width+20)/2,fill:new Le(this.color).setAlpha(wn(0,100)/100).toRgba()};return this.points.push(i),i}}class lo extends eo{constructor(e){super(e),t(this,\"width\",10),t(this,\"density\",20),t(this,\"dotWidth\",1),t(this,\"dotWidthVariance\",1),t(this,\"randomOpacity\",!1),t(this,\"optimizeOverlapping\",!0),this.sprayChunks=[],this.sprayChunk=[]}onMouseDown(t){this.sprayChunks=[],this.canvas.clearContext(this.canvas.contextTop),this._setShadow(),this.addSprayChunk(t),this.renderChunck(this.sprayChunk)}onMouseMove(t){!0===this.limitedToCanvasSize&&this._isOutSideCanvas(t)||(this.addSprayChunk(t),this.renderChunck(this.sprayChunk))}onMouseUp(){const t=this.canvas.renderOnAddRemove;this.canvas.renderOnAddRemove=!1;const e=[];for(let t=0;t<this.sprayChunks.length;t++){const s=this.sprayChunks[t];for(let t=0;t<s.length;t++){const i=s[t],r=new Er({width:i.width,height:i.width,left:i.x+1,top:i.y+1,originX:D,originY:D,fill:this.color});e.push(r)}}const s=new Hr(this.optimizeOverlapping?function(t){const e={},s=[];for(let i,r=0;r<t.length;r++)i=\"\".concat(t[r].left).concat(t[r].top),e[i]||(e[i]=!0,s.push(t[r]));return s}(e):e,{objectCaching:!0,subTargetCheck:!1,interactive:!1});this.shadow&&s.set(\"shadow\",new Os(this.shadow)),this.canvas.fire(\"before:path:created\",{path:s}),this.canvas.add(s),this.canvas.fire(\"path:created\",{path:s}),this.canvas.clearContext(this.canvas.contextTop),this._resetShadow(),this.canvas.renderOnAddRemove=t,this.canvas.requestRenderAll()}renderChunck(t){const e=this.canvas.contextTop;e.fillStyle=this.color,this._saveAndTransform(e);for(let s=0;s<t.length;s++){const i=t[s];e.globalAlpha=i.opacity,e.fillRect(i.x,i.y,i.width,i.width)}e.restore()}_render(){const t=this.canvas.contextTop;t.fillStyle=this.color,this._saveAndTransform(t);for(let t=0;t<this.sprayChunks.length;t++)this.renderChunck(this.sprayChunks[t]);t.restore()}addSprayChunk(t){this.sprayChunk=[];const e=this.width/2;for(let s=0;s<this.density;s++)this.sprayChunk.push({x:wn(t.x-e,t.x+e),y:wn(t.y-e,t.y+e),width:this.dotWidthVariance?wn(Math.max(1,this.dotWidth-this.dotWidthVariance),this.dotWidth+this.dotWidthVariance):this.dotWidth,opacity:this.randomOpacity?wn(0,100)/100:1});this.sprayChunks.push(this.sprayChunk)}}class uo extends no{constructor(t){super(t)}getPatternSrc(){const t=pt(),e=t.getContext(\"2d\");return t.width=t.height=25,e&&(e.fillStyle=this.color,e.beginPath(),e.arc(10,10,10,0,2*Math.PI,!1),e.closePath(),e.fill()),t}getPattern(t){return t.createPattern(this.source||this.getPatternSrc(),\"repeat\")}_setBrushStyles(t){super._setBrushStyles(t);const e=this.getPattern(t);e&&(t.strokeStyle=e)}createPath(t){const e=super.createPath(t),s=e._getLeftTopCoords().scalarAdd(e.strokeWidth/2);return e.stroke=new to({source:this.source||this.getPatternSrc(),offsetX:-s.x,offsetY:-s.y}),e}}const go=[\"x1\",\"y1\",\"x2\",\"y2\"],fo=[\"x1\",\"y1\",\"x2\",\"y2\"],po=[\"x1\",\"x2\",\"y1\",\"y2\"];class mo extends ji{constructor(){let[t,e,s,i]=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,0,0],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),Object.assign(this,mo.ownDefaults),this.setOptions(r),this.x1=t,this.x2=s,this.y1=e,this.y2=i,this._setWidthHeight();const{left:n,top:o}=r;\"number\"==typeof n&&this.set(M,n),\"number\"==typeof o&&this.set(P,o)}_setWidthHeight(){const{x1:t,y1:e,x2:s,y2:i}=this;this.width=Math.abs(s-t),this.height=Math.abs(i-e);const{left:r,top:n,width:o,height:a}=ae([{x:t,y:e},{x:s,y:i}]),h=new ot(r+o/2,n+a/2);this.setPositionByOrigin(h,D,D)}_set(t,e){return super._set(t,e),po.includes(t)&&this._setWidthHeight(),this}_render(t){t.beginPath();const e=this.calcLinePoints();t.moveTo(e.x1,e.y1),t.lineTo(e.x2,e.y2),t.lineWidth=this.strokeWidth;const s=t.strokeStyle;var i;Gt(this.stroke)?t.strokeStyle=this.stroke.toLive(t):t.strokeStyle=null!==(i=this.stroke)&&void 0!==i?i:t.fillStyle;this.stroke&&this._renderStroke(t),t.strokeStyle=s}_findCenterFromElement(){return new ot((this.x1+this.x2)/2,(this.y1+this.y2)/2)}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return s(s({},super.toObject(t)),this.calcLinePoints())}_getNonTransformedDimensions(){const t=super._getNonTransformedDimensions();return\"butt\"===this.strokeLineCap&&(0===this.width&&(t.y-=this.strokeWidth),0===this.height&&(t.x-=this.strokeWidth)),t}calcLinePoints(){const{x1:t,x2:e,y1:s,y2:i,width:r,height:n}=this,o=t<=e?-1:1,a=s<=i?-1:1;return{x1:o*r/2,x2:o*-r/2,y1:a*n/2,y2:a*-n/2}}_toSVG(){const{x1:t,x2:e,y1:s,y2:i}=this.calcLinePoints();return[\"<line \",\"COMMON_PARTS\",'x1=\"'.concat(t,'\" y1=\"').concat(s,'\" x2=\"').concat(e,'\" y2=\"').concat(i,'\" />\\n')]}static async fromElement(t,e,s){const r=Dr(t,this.ATTRIBUTE_NAMES,s),{x1:n=0,y1:o=0,x2:a=0,y2:h=0}=r;return new this([n,o,a,h],i(r,go))}static fromObject(t){let{x1:e,y1:r,x2:n,y2:o}=t,a=i(t,fo);return this._fromObject(s(s({},a),{},{points:[e,r,n,o]}),{extraParam:\"points\"})}}t(mo,\"type\",\"Line\"),t(mo,\"cacheProperties\",[...Ms,...po]),t(mo,\"ATTRIBUTE_NAMES\",Ji.concat(po)),tt.setClass(mo),tt.setSVGClass(mo);class vo extends ji{static getDefaults(){return s(s({},super.getDefaults()),vo.ownDefaults)}constructor(t){super(),Object.assign(this,vo.ownDefaults),this.setOptions(t)}_render(t){const e=this.width/2,s=this.height/2;t.beginPath(),t.moveTo(-e,s),t.lineTo(0,-s),t.lineTo(e,s),t.closePath(),this._renderPaintInOrder(t)}_toSVG(){const t=this.width/2,e=this.height/2;return[\"<polygon \",\"COMMON_PARTS\",'points=\"',\"\".concat(-t,\" \").concat(e,\",0 \").concat(-e,\",\").concat(t,\" \").concat(e),'\" />']}}t(vo,\"type\",\"Triangle\"),t(vo,\"ownDefaults\",{width:100,height:100}),tt.setClass(vo),tt.setSVGClass(vo);const yo=[\"rx\",\"ry\"];class _o extends ji{static getDefaults(){return s(s({},super.getDefaults()),_o.ownDefaults)}constructor(t){super(),Object.assign(this,_o.ownDefaults),this.setOptions(t)}_set(t,e){switch(super._set(t,e),t){case\"rx\":this.rx=e,this.set(\"width\",2*e);break;case\"ry\":this.ry=e,this.set(\"height\",2*e)}return this}getRx(){return this.get(\"rx\")*this.get(H)}getRy(){return this.get(\"ry\")*this.get(N)}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject([...yo,...t])}_toSVG(){return[\"<ellipse \",\"COMMON_PARTS\",'cx=\"0\" cy=\"0\" rx=\"'.concat(this.rx,'\" ry=\"').concat(this.ry,'\" />\\n')]}_render(t){t.beginPath(),t.save(),t.transform(1,0,0,this.ry/this.rx,0,0),t.arc(0,0,this.rx,0,S,!1),t.restore(),this._renderPaintInOrder(t)}static async fromElement(t,e,s){const i=Dr(t,this.ATTRIBUTE_NAMES,s);return i.left=(i.left||0)-i.rx,i.top=(i.top||0)-i.ry,new this(i)}}function xo(t){if(!t)return[];const e=t.replace(/,/g,\" \").trim().split(/\\s+/),s=[];for(let t=0;t<e.length;t+=2)s.push({x:parseFloat(e[t]),y:parseFloat(e[t+1])});return s}t(_o,\"type\",\"Ellipse\"),t(_o,\"cacheProperties\",[...Ms,...yo]),t(_o,\"ownDefaults\",{rx:0,ry:0}),t(_o,\"ATTRIBUTE_NAMES\",[...Ji,\"cx\",\"cy\",\"rx\",\"ry\"]),tt.setClass(_o),tt.setSVGClass(_o);const Co=[\"left\",\"top\"],bo={exactBoundingBox:!1};class So extends ji{static getDefaults(){return s(s({},super.getDefaults()),So.ownDefaults)}constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),t(this,\"strokeDiff\",void 0),Object.assign(this,So.ownDefaults),this.setOptions(s),this.points=e;const{left:i,top:r}=s;this.initialized=!0,this.setBoundingBox(!0),\"number\"==typeof i&&this.set(M,i),\"number\"==typeof r&&this.set(P,r)}isOpen(){return!0}_projectStrokeOnPoints(t){return Xi(this.points,t,this.isOpen())}_calcDimensions(t){t=s({scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,strokeLineCap:this.strokeLineCap,strokeLineJoin:this.strokeLineJoin,strokeMiterLimit:this.strokeMiterLimit,strokeUniform:this.strokeUniform,strokeWidth:this.strokeWidth},t||{});const e=this.exactBoundingBox?this._projectStrokeOnPoints(t).map((t=>t.projectedPoint)):this.points;if(0===e.length)return{left:0,top:0,width:0,height:0,pathOffset:new ot,strokeOffset:new ot,strokeDiff:new ot};const i=ae(e),r=Lt(s(s({},t),{},{scaleX:1,scaleY:1})),n=ae(this.points.map((t=>St(t,r,!0)))),o=new ot(this.scaleX,this.scaleY);let a=i.left+i.width/2,h=i.top+i.height/2;return this.exactBoundingBox&&(a-=h*Math.tan(xt(this.skewX)),h-=a*Math.tan(xt(this.skewY))),s(s({},i),{},{pathOffset:new ot(a,h),strokeOffset:new ot(n.left,n.top).subtract(new ot(i.left,i.top)).multiply(o),strokeDiff:new ot(i.width,i.height).subtract(new ot(n.width,n.height)).multiply(o)})}_findCenterFromElement(){const t=ae(this.points);return new ot(t.left+t.width/2,t.top+t.height/2)}setDimensions(){this.setBoundingBox()}setBoundingBox(t){const{left:e,top:s,width:i,height:r,pathOffset:n,strokeOffset:o,strokeDiff:a}=this._calcDimensions();this.set({width:i,height:r,pathOffset:n,strokeOffset:o,strokeDiff:a}),t&&this.setPositionByOrigin(new ot(e+i/2,s+r/2),D,D)}isStrokeAccountedForInDimensions(){return this.exactBoundingBox}_getNonTransformedDimensions(){return this.exactBoundingBox?new ot(this.width,this.height):super._getNonTransformedDimensions()}_getTransformedDimensions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.exactBoundingBox){let n;if(Object.keys(t).some((t=>this.strokeUniform||this.constructor.layoutProperties.includes(t)))){var e,s;const{width:i,height:r}=this._calcDimensions(t);n=new ot(null!==(e=t.width)&&void 0!==e?e:i,null!==(s=t.height)&&void 0!==s?s:r)}else{var i,r;n=new ot(null!==(i=t.width)&&void 0!==i?i:this.width,null!==(r=t.height)&&void 0!==r?r:this.height)}return n.multiply(new ot(t.scaleX||this.scaleX,t.scaleY||this.scaleY))}return super._getTransformedDimensions(t)}_set(t,e){const s=this.initialized&&this[t]!==e,i=super._set(t,e);return this.exactBoundingBox&&s&&((t===H||t===N)&&this.strokeUniform&&this.constructor.layoutProperties.includes(\"strokeUniform\")||this.constructor.layoutProperties.includes(t))&&this.setDimensions(),i}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return s(s({},super.toObject(t)),{},{points:this.points.map((t=>{let{x:e,y:s}=t;return{x:e,y:s}}))})}_toSVG(){const t=[],e=this.pathOffset.x,s=this.pathOffset.y,i=o.NUM_FRACTION_DIGITS;for(let r=0,n=this.points.length;r<n;r++)t.push(Vt(this.points[r].x-e,i),\",\",Vt(this.points[r].y-s,i),\" \");return[\"<\".concat(this.constructor.type.toLowerCase(),\" \"),\"COMMON_PARTS\",'points=\"'.concat(t.join(\"\"),'\" />\\n')]}_render(t){const e=this.points.length,s=this.pathOffset.x,i=this.pathOffset.y;if(e&&!isNaN(this.points[e-1].y)){t.beginPath(),t.moveTo(this.points[0].x-s,this.points[0].y-i);for(let r=0;r<e;r++){const e=this.points[r];t.lineTo(e.x-s,e.y-i)}!this.isOpen()&&t.closePath(),this._renderPaintInOrder(t)}}complexity(){return this.points.length}static async fromElement(t,e,r){return new this(xo(t.getAttribute(\"points\")),s(s({},i(Dr(t,this.ATTRIBUTE_NAMES,r),Co)),e))}static fromObject(t){return this._fromObject(t,{extraParam:\"points\"})}}t(So,\"ownDefaults\",bo),t(So,\"type\",\"Polyline\"),t(So,\"layoutProperties\",[U,q,\"strokeLineCap\",\"strokeLineJoin\",\"strokeMiterLimit\",\"strokeWidth\",\"strokeUniform\",\"points\"]),t(So,\"cacheProperties\",[...Ms,\"points\"]),t(So,\"ATTRIBUTE_NAMES\",[...Ji]),tt.setClass(So),tt.setSVGClass(So);class wo extends So{isOpen(){return!1}}t(wo,\"ownDefaults\",bo),t(wo,\"type\",\"Polygon\"),tt.setClass(wo),tt.setSVGClass(wo);class To extends ji{isEmptyStyles(t){if(!this.styles)return!0;if(void 0!==t&&!this.styles[t])return!0;const e=void 0===t?this.styles:{line:this.styles[t]};for(const t in e)for(const s in e[t])for(const i in e[t][s])return!1;return!0}styleHas(t,e){if(!this.styles)return!1;if(void 0!==e&&!this.styles[e])return!1;const s=void 0===e?this.styles:{0:this.styles[e]};for(const e in s)for(const i in s[e])if(void 0!==s[e][i][t])return!0;return!1}cleanStyle(t){if(!this.styles)return!1;const e=this.styles;let s,i,r=0,n=!0,o=0;for(const o in e){s=0;for(const a in e[o]){const h=e[o][a]||{};r++,void 0!==h[t]?(i?h[t]!==i&&(n=!1):i=h[t],h[t]===this[t]&&delete h[t]):n=!1,0!==Object.keys(h).length?s++:delete e[o][a]}0===s&&delete e[o]}for(let t=0;t<this._textLines.length;t++)o+=this._textLines[t].length;n&&r===o&&(this[t]=i,this.removeStyle(t))}removeStyle(t){if(!this.styles)return;const e=this.styles;let s,i,r;for(i in e){for(r in s=e[i],s)delete s[r][t],0===Object.keys(s[r]).length&&delete s[r];0===Object.keys(s).length&&delete e[i]}}_extendStyles(t,e){const{lineIndex:i,charIndex:r}=this.get2DCursorLocation(t);this._getLineStyle(i)||this._setLineStyle(i);const n=Wt(s(s({},this._getStyleDeclaration(i,r)),e),(t=>void 0!==t));this._setStyleDeclaration(i,r,n)}getSelectionStyles(t,e,s){const i=[];for(let r=t;r<(e||t);r++)i.push(this.getStyleAtPosition(r,s));return i}getStyleAtPosition(t,e){const{lineIndex:s,charIndex:i}=this.get2DCursorLocation(t);return e?this.getCompleteStyleDeclaration(s,i):this._getStyleDeclaration(s,i)}setSelectionStyles(t,e,s){for(let i=e;i<(s||e);i++)this._extendStyles(i,t);this._forceClearCache=!0}_getStyleDeclaration(t,e){var s;const i=this.styles&&this.styles[t];return i&&null!==(s=i[e])&&void 0!==s?s:{}}getCompleteStyleDeclaration(t,e){return s(s({},Yt(this,this.constructor._styleProperties)),this._getStyleDeclaration(t,e))}_setStyleDeclaration(t,e,s){this.styles[t][e]=s}_deleteStyleDeclaration(t,e){delete this.styles[t][e]}_getLineStyle(t){return!!this.styles[t]}_setLineStyle(t){this.styles[t]={}}_deleteLineStyle(t){delete this.styles[t]}}t(To,\"_styleProperties\",Ne);const Oo=/ +/g,ko=/\"/g;function Do(t,e,s,i,r){return\"\\t\\t\".concat(function(t,e){let{left:s,top:i,width:r,height:n}=e,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.NUM_FRACTION_DIGITS;const h=Be(K,t,!1),[c,l,u,d]=[s,i,r,n].map((t=>Vt(t,a)));return\"<rect \".concat(h,' x=\"').concat(c,'\" y=\"').concat(l,'\" width=\"').concat(u,'\" height=\"').concat(d,'\"></rect>')}(t,{left:e,top:s,width:i,height:r}),\"\\n\")}const Mo=[\"textAnchor\",\"textDecoration\",\"dx\",\"dy\",\"top\",\"left\",\"fontSize\",\"strokeWidth\"];let Po;class Eo extends To{static getDefaults(){return s(s({},super.getDefaults()),Eo.ownDefaults)}constructor(e,s){super(),t(this,\"__charBounds\",[]),Object.assign(this,Eo.ownDefaults),this.setOptions(s),this.styles||(this.styles={}),this.text=e,this.initialized=!0,this.path&&this.setPathInfo(),this.initDimensions(),this.setCoords()}setPathInfo(){const t=this.path;t&&(t.segmentsInfo=fn(t.path))}_splitText(){const t=this._splitTextIntoLines(this.text);return this.textLines=t.lines,this._textLines=t.graphemeLines,this._unwrappedTextLines=t._unwrappedLines,this._text=t.graphemeText,t}initDimensions(){this._splitText(),this._clearCache(),this.dirty=!0,this.path?(this.width=this.path.width,this.height=this.path.height):(this.width=this.calcTextWidth()||this.cursorWidth||this.MIN_TEXT_WIDTH,this.height=this.calcTextHeight()),this.textAlign.includes(qe)&&this.enlargeSpaces()}enlargeSpaces(){let t,e,s,i,r,n,o;for(let a=0,h=this._textLines.length;a<h;a++)if((this.textAlign===qe||a!==h-1&&!this.isEndOfWrapping(a))&&(i=0,r=this._textLines[a],e=this.getLineWidth(a),e<this.width&&(o=this.textLines[a].match(this._reSpacesAndTabs)))){s=o.length,t=(this.width-e)/s;for(let e=0;e<=r.length;e++)n=this.__charBounds[a][e],this._reSpaceAndTab.test(r[e])?(n.width+=t,n.kernedWidth+=t,n.left+=i,i+=t):n.left+=i}}isEndOfWrapping(t){return t===this._textLines.length-1}missingNewlineOffset(t){return 1}get2DCursorLocation(t,e){const s=e?this._unwrappedTextLines:this._textLines;let i;for(i=0;i<s.length;i++){if(t<=s[i].length)return{lineIndex:i,charIndex:t};t-=s[i].length+this.missingNewlineOffset(i,e)}return{lineIndex:i-1,charIndex:s[i-1].length<t?s[i-1].length:t}}toString(){return\"#<Text (\".concat(this.complexity(),'): { \"text\": \"').concat(this.text,'\", \"fontFamily\": \"').concat(this.fontFamily,'\" }>')}_getCacheCanvasDimensions(){const t=super._getCacheCanvasDimensions(),e=this.fontSize;return t.width+=e*t.zoomX,t.height+=e*t.zoomY,t}_render(t){const e=this.path;e&&!e.isNotVisible()&&e._render(t),this._setTextStyles(t),this._renderTextLinesBackground(t),this._renderTextDecoration(t,\"underline\"),this._renderText(t),this._renderTextDecoration(t,\"overline\"),this._renderTextDecoration(t,\"linethrough\")}_renderText(t){this.paintFirst===J?(this._renderTextStroke(t),this._renderTextFill(t)):(this._renderTextFill(t),this._renderTextStroke(t))}_setTextStyles(t,e,s){if(t.textBaseline=\"alphabetic\",this.path)switch(this.pathAlign){case D:t.textBaseline=\"middle\";break;case\"ascender\":t.textBaseline=P;break;case\"descender\":t.textBaseline=E}t.font=this._getFontDeclaration(e,s)}calcTextWidth(){let t=this.getLineWidth(0);for(let e=1,s=this._textLines.length;e<s;e++){const s=this.getLineWidth(e);s>t&&(t=s)}return t}_renderTextLine(t,e,s,i,r,n){this._renderChars(t,e,s,i,r,n)}_renderTextLinesBackground(t){if(!this.textBackgroundColor&&!this.styleHas(\"textBackgroundColor\"))return;const e=t.fillStyle,s=this._getLeftOffset();let i=this._getTopOffset();for(let e=0,r=this._textLines.length;e<r;e++){const r=this.getHeightOfLine(e);if(!this.textBackgroundColor&&!this.styleHas(\"textBackgroundColor\",e)){i+=r;continue}const n=this._textLines[e].length,o=this._getLineLeftOffset(e);let a,h,c=0,l=0,u=this.getValueOfPropertyAt(e,0,\"textBackgroundColor\");for(let d=0;d<n;d++){const n=this.__charBounds[e][d];h=this.getValueOfPropertyAt(e,d,\"textBackgroundColor\"),this.path?(t.save(),t.translate(n.renderLeft,n.renderTop),t.rotate(n.angle),t.fillStyle=h,h&&t.fillRect(-n.width/2,-r/this.lineHeight*(1-this._fontSizeFraction),n.width,r/this.lineHeight),t.restore()):h!==u?(a=s+o+l,\"rtl\"===this.direction&&(a=this.width-a-c),t.fillStyle=u,u&&t.fillRect(a,i,c,r/this.lineHeight),l=n.left,c=n.width,u=h):c+=n.kernedWidth}h&&!this.path&&(a=s+o+l,\"rtl\"===this.direction&&(a=this.width-a-c),t.fillStyle=h,t.fillRect(a,i,c,r/this.lineHeight)),i+=r}t.fillStyle=e,this._removeShadow(t)}_measureChar(t,e,s,i){const r=_.getFontCache(e),n=this._getFontDeclaration(e),o=s+t,a=s&&n===this._getFontDeclaration(i),h=e.fontSize/this.CACHE_FONT_SIZE;let c,l,u,d;if(s&&void 0!==r[s]&&(u=r[s]),void 0!==r[t]&&(d=c=r[t]),a&&void 0!==r[o]&&(l=r[o],d=l-u),void 0===c||void 0===u||void 0===l){const i=function(){if(!Po){const t=vt({width:0,height:0});Po=t.getContext(\"2d\")}return Po}();this._setTextStyles(i,e,!0),void 0===c&&(d=c=i.measureText(t).width,r[t]=c),void 0===u&&a&&s&&(u=i.measureText(s).width,r[s]=u),a&&void 0===l&&(l=i.measureText(o).width,r[o]=l,d=l-u)}return{width:c*h,kernedWidth:d*h}}getHeightOfChar(t,e){return this.getValueOfPropertyAt(t,e,\"fontSize\")}measureLine(t){const e=this._measureLine(t);return 0!==this.charSpacing&&(e.width-=this._getWidthOfCharSpacing()),e.width<0&&(e.width=0),e}_measureLine(t){let e,s,i=0;const r=this.pathSide===A,n=this.path,o=this._textLines[t],a=o.length,h=new Array(a);this.__charBounds[t]=h;for(let r=0;r<a;r++){const n=o[r];s=this._getGraphemeBox(n,t,r,e),h[r]=s,i+=s.kernedWidth,e=n}if(h[a]={left:s?s.left+s.width:0,width:0,kernedWidth:0,height:this.fontSize,deltaY:0},n&&n.segmentsInfo){let t=0;const e=n.segmentsInfo[n.segmentsInfo.length-1].length;switch(this.textAlign){case M:t=r?e-i:0;break;case D:t=(e-i)/2;break;case A:t=r?0:e-i}t+=this.pathStartOffset*(r?-1:1);for(let i=r?a-1:0;r?i>=0:i<a;r?i--:i++)s=h[i],t>e?t%=e:t<0&&(t+=e),this._setGraphemeOnPath(t,s),t+=s.kernedWidth}return{width:i,numOfSpaces:0}}_setGraphemeOnPath(t,e){const s=t+e.kernedWidth/2,i=this.path,r=pn(i.path,s,i.segmentsInfo);e.renderLeft=r.x-i.pathOffset.x,e.renderTop=r.y-i.pathOffset.y,e.angle=r.angle+(this.pathSide===A?Math.PI:0)}_getGraphemeBox(t,e,s,i,r){const n=this.getCompleteStyleDeclaration(e,s),o=i?this.getCompleteStyleDeclaration(e,s-1):{},a=this._measureChar(t,n,i,o);let h,c=a.kernedWidth,l=a.width;0!==this.charSpacing&&(h=this._getWidthOfCharSpacing(),l+=h,c+=h);const u={width:l,left:0,height:n.fontSize,kernedWidth:c,deltaY:n.deltaY};if(s>0&&!r){const t=this.__charBounds[e][s-1];u.left=t.left+t.width+a.kernedWidth-a.width}return u}getHeightOfLine(t){if(this.__lineHeights[t])return this.__lineHeights[t];let e=this.getHeightOfChar(t,0);for(let s=1,i=this._textLines[t].length;s<i;s++)e=Math.max(this.getHeightOfChar(t,s),e);return this.__lineHeights[t]=e*this.lineHeight*this._fontSizeMult}calcTextHeight(){let t,e=0;for(let s=0,i=this._textLines.length;s<i;s++)t=this.getHeightOfLine(s),e+=s===i-1?t/this.lineHeight:t;return e}_getLeftOffset(){return\"ltr\"===this.direction?-this.width/2:this.width/2}_getTopOffset(){return-this.height/2}_renderTextCommon(t,e){t.save();let s=0;const i=this._getLeftOffset(),r=this._getTopOffset();for(let n=0,o=this._textLines.length;n<o;n++){const o=this.getHeightOfLine(n),a=o/this.lineHeight,h=this._getLineLeftOffset(n);this._renderTextLine(e,t,this._textLines[n],i+h,r+s+a,n),s+=o}t.restore()}_renderTextFill(t){(this.fill||this.styleHas(K))&&this._renderTextCommon(t,\"fillText\")}_renderTextStroke(t){(this.stroke&&0!==this.strokeWidth||!this.isEmptyStyles())&&(this.shadow&&!this.shadow.affectStroke&&this._removeShadow(t),t.save(),this._setLineDash(t,this.strokeDashArray),t.beginPath(),this._renderTextCommon(t,\"strokeText\"),t.closePath(),t.restore())}_renderChars(t,e,s,i,r,n){const o=this.getHeightOfLine(n),a=this.textAlign.includes(qe),h=this.path,c=!a&&0===this.charSpacing&&this.isEmptyStyles(n)&&!h,l=\"ltr\"===this.direction,u=\"ltr\"===this.direction?1:-1,d=e.direction;let g,f,p,m,v,y=\"\",_=0;if(e.save(),d!==this.direction&&(e.canvas.setAttribute(\"dir\",l?\"ltr\":\"rtl\"),e.direction=l?\"ltr\":\"rtl\",e.textAlign=l?M:A),r-=o*this._fontSizeFraction/this.lineHeight,c)return this._renderChar(t,e,n,0,s.join(\"\"),i,r),void e.restore();for(let o=0,c=s.length-1;o<=c;o++)m=o===c||this.charSpacing||h,y+=s[o],p=this.__charBounds[n][o],0===_?(i+=u*(p.kernedWidth-p.width),_+=p.width):_+=p.kernedWidth,a&&!m&&this._reSpaceAndTab.test(s[o])&&(m=!0),m||(g=g||this.getCompleteStyleDeclaration(n,o),f=this.getCompleteStyleDeclaration(n,o+1),m=Ui(g,f,!1)),m&&(h?(e.save(),e.translate(p.renderLeft,p.renderTop),e.rotate(p.angle),this._renderChar(t,e,n,o,y,-_/2,0),e.restore()):(v=i,this._renderChar(t,e,n,o,y,v,r)),y=\"\",g=f,i+=u*_,_=0);e.restore()}_applyPatternGradientTransformText(t){const e=this.width+this.strokeWidth,s=this.height+this.strokeWidth,i=vt({width:e,height:s}),r=i.getContext(\"2d\");return i.width=e,i.height=s,r.beginPath(),r.moveTo(0,0),r.lineTo(e,0),r.lineTo(e,s),r.lineTo(0,s),r.closePath(),r.translate(e/2,s/2),r.fillStyle=t.toLive(r),this._applyPatternGradientTransform(r,t),r.fill(),r.createPattern(i,\"no-repeat\")}handleFiller(t,e,s){let i,r;return Gt(s)?\"percentage\"===s.gradientUnits||s.gradientTransform||s.patternTransform?(i=-this.width/2,r=-this.height/2,t.translate(i,r),t[e]=this._applyPatternGradientTransformText(s),{offsetX:i,offsetY:r}):(t[e]=s.toLive(t),this._applyPatternGradientTransform(t,s)):(t[e]=s,{offsetX:0,offsetY:0})}_setStrokeStyles(t,e){let{stroke:s,strokeWidth:i}=e;return t.lineWidth=i,t.lineCap=this.strokeLineCap,t.lineDashOffset=this.strokeDashOffset,t.lineJoin=this.strokeLineJoin,t.miterLimit=this.strokeMiterLimit,this.handleFiller(t,\"strokeStyle\",s)}_setFillStyles(t,e){let{fill:s}=e;return this.handleFiller(t,\"fillStyle\",s)}_renderChar(t,e,s,i,r,n,o){const a=this._getStyleDeclaration(s,i),h=this.getCompleteStyleDeclaration(s,i),c=\"fillText\"===t&&h.fill,l=\"strokeText\"===t&&h.stroke&&h.strokeWidth;if(l||c){if(e.save(),e.font=this._getFontDeclaration(h),a.textBackgroundColor&&this._removeShadow(e),a.deltaY&&(o+=a.deltaY),c){const t=this._setFillStyles(e,h);e.fillText(r,n-t.offsetX,o-t.offsetY)}if(l){const t=this._setStrokeStyles(e,h);e.strokeText(r,n-t.offsetX,o-t.offsetY)}e.restore()}}setSuperscript(t,e){this._setScript(t,e,this.superscript)}setSubscript(t,e){this._setScript(t,e,this.subscript)}_setScript(t,e,s){const i=this.get2DCursorLocation(t,!0),r=this.getValueOfPropertyAt(i.lineIndex,i.charIndex,\"fontSize\"),n=this.getValueOfPropertyAt(i.lineIndex,i.charIndex,\"deltaY\"),o={fontSize:r*s.size,deltaY:n+r*s.baseline};this.setSelectionStyles(o,t,e)}_getLineLeftOffset(t){const e=this.getLineWidth(t),s=this.width-e,i=this.textAlign,r=this.direction,n=this.isEndOfWrapping(t);let o=0;return i===qe||i===Qe&&!n||i===Je&&!n||i===Ke&&!n?0:(i===D&&(o=s/2),i===A&&(o=s),i===Qe&&(o=s/2),i===Je&&(o=s),\"rtl\"===r&&(i===A||i===qe||i===Je?o=0:i===M||i===Ke?o=-s:i!==D&&i!==Qe||(o=-s/2)),o)}_clearCache(){this._forceClearCache=!1,this.__lineWidths=[],this.__lineHeights=[],this.__charBounds=[]}getLineWidth(t){if(void 0!==this.__lineWidths[t])return this.__lineWidths[t];const{width:e}=this.measureLine(t);return this.__lineWidths[t]=e,e}_getWidthOfCharSpacing(){return 0!==this.charSpacing?this.fontSize*this.charSpacing/1e3:0}getValueOfPropertyAt(t,e,s){var i;return null!==(i=this._getStyleDeclaration(t,e)[s])&&void 0!==i?i:this[s]}_renderTextDecoration(t,e){if(!this[e]&&!this.styleHas(e))return;let s=this._getTopOffset();const i=this._getLeftOffset(),r=this.path,n=this._getWidthOfCharSpacing(),o=\"linethrough\"===e?.5:\"overline\"===e?1:0,a=this.offsets[e];for(let h=0,c=this._textLines.length;h<c;h++){const c=this.getHeightOfLine(h);if(!this[e]&&!this.styleHas(e,h)){s+=c;continue}const l=this._textLines[h],u=c/this.lineHeight,d=this._getLineLeftOffset(h);let g=0,f=0,p=this.getValueOfPropertyAt(h,0,e),m=this.getValueOfPropertyAt(h,0,K),v=this.getValueOfPropertyAt(h,0,We),y=p,_=m,x=v;const C=s+u*(1-this._fontSizeFraction);let b=this.getHeightOfChar(h,0),S=this.getValueOfPropertyAt(h,0,\"deltaY\");for(let s=0,n=l.length;s<n;s++){const n=this.__charBounds[h][s];y=this.getValueOfPropertyAt(h,s,e),_=this.getValueOfPropertyAt(h,s,K),x=this.getValueOfPropertyAt(h,s,We);const c=this.getHeightOfChar(h,s),l=this.getValueOfPropertyAt(h,s,\"deltaY\");if(r&&y&&_){const e=this.fontSize*x/1e3;t.save(),t.fillStyle=m,t.translate(n.renderLeft,n.renderTop),t.rotate(n.angle),t.fillRect(-n.kernedWidth/2,a*c+l-o*e,n.kernedWidth,e),t.restore()}else if((y!==p||_!==m||c!==b||x!==v||l!==S)&&f>0){const e=this.fontSize*v/1e3;let s=i+d+g;\"rtl\"===this.direction&&(s=this.width-s-f),p&&m&&v&&(t.fillStyle=m,t.fillRect(s,C+a*b+S-o*e,f,e)),g=n.left,f=n.width,p=y,v=x,m=_,b=c,S=l}else f+=n.kernedWidth}let w=i+d+g;\"rtl\"===this.direction&&(w=this.width-w-f),t.fillStyle=_;const T=this.fontSize*x/1e3;y&&_&&x&&t.fillRect(w,C+a*b+S-o*T,f-n,T),s+=c}this._removeShadow(t)}_getFontDeclaration(){let{fontFamily:t=this.fontFamily,fontStyle:e=this.fontStyle,fontWeight:s=this.fontWeight,fontSize:i=this.fontSize}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;const n=t.includes(\"'\")||t.includes('\"')||t.includes(\",\")||Eo.genericFonts.includes(t.toLowerCase())?t:'\"'.concat(t,'\"');return[e,s,\"\".concat(r?this.CACHE_FONT_SIZE:i,\"px\"),n].join(\" \")}render(t){this.visible&&(this.canvas&&this.canvas.skipOffscreen&&!this.group&&!this.isOnScreen()||(this._forceClearCache&&this.initDimensions(),super.render(t)))}graphemeSplit(t){return zi(t)}_splitTextIntoLines(t){const e=t.split(this._reNewline),s=new Array(e.length),i=[\"\\n\"];let r=[];for(let t=0;t<e.length;t++)s[t]=this.graphemeSplit(e[t]),r=r.concat(s[t],i);return r.pop(),{_unwrappedLines:s,lines:e,graphemeText:r,graphemeLines:s}}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return s(s({},super.toObject([...He,...t])),{},{styles:qi(this.styles,this.text)},this.path?{path:this.path.toObject()}:{})}set(t,e){const{textLayoutProperties:s}=this.constructor;super.set(t,e);let i=!1,r=!1;if(\"object\"==typeof t)for(const e in t)\"path\"===e&&this.setPathInfo(),i=i||s.includes(e),r=r||\"path\"===e;else i=s.includes(t),r=\"path\"===t;return r&&this.setPathInfo(),i&&this.initialized&&(this.initDimensions(),this.setCoords()),this}complexity(){return 1}static async fromElement(t,e,r){const n=Dr(t,Eo.ATTRIBUTE_NAMES,r),o=s(s({},e),n),{textAnchor:a=M,textDecoration:h=\"\",dx:c=0,dy:l=0,top:u=0,left:d=0,fontSize:g=O,strokeWidth:f=1}=o,p=i(o,Mo),m=new this((t.textContent||\"\").replace(/^\\s+|\\s+$|\\n+/g,\"\").replace(/\\s+/g,\" \"),s({left:d+c,top:u+l,underline:h.includes(\"underline\"),overline:h.includes(\"overline\"),linethrough:h.includes(\"line-through\"),strokeWidth:0,fontSize:g},p)),v=m.getScaledHeight()/m.height,y=((m.height+m.strokeWidth)*m.lineHeight-m.height)*v,_=m.getScaledHeight()+y;let x=0;return a===D&&(x=m.getScaledWidth()/2),a===A&&(x=m.getScaledWidth()),m.set({left:m.left-x,top:m.top-(_-m.fontSize*(.07+m._fontSizeFraction))/m.lineHeight,strokeWidth:f}),m}static fromObject(t){return this._fromObject(s(s({},t),{},{styles:Ki(t.styles||{},t.text)}),{extraParam:\"text\"})}}t(Eo,\"textLayoutProperties\",Ge),t(Eo,\"cacheProperties\",[...Ms,...He]),t(Eo,\"ownDefaults\",Ue),t(Eo,\"type\",\"Text\"),t(Eo,\"genericFonts\",[\"serif\",\"sans-serif\",\"monospace\",\"cursive\",\"fantasy\",\"system-ui\",\"ui-serif\",\"ui-sans-serif\",\"ui-monospace\",\"ui-rounded\",\"math\",\"emoji\",\"fangsong\"]),t(Eo,\"ATTRIBUTE_NAMES\",Ji.concat(\"x\",\"y\",\"dx\",\"dy\",\"font-family\",\"font-style\",\"font-weight\",\"font-size\",\"letter-spacing\",\"text-decoration\",\"text-anchor\")),Ai(Eo,[class extends Xe{_toSVG(){const t=this._getSVGLeftTopOffsets(),e=this._getSVGTextAndBg(t.textTop,t.textLeft);return this._wrapSVGTextAndBg(e)}toSVG(t){const e=this._createBaseSVGMarkup(this._toSVG(),{reviver:t,noStyle:!0,withShadow:!0}),s=this.path;return s?e+s._createBaseSVGMarkup(s._toSVG(),{reviver:t,withShadow:!0,additionalTransform:zt(this.calcOwnMatrix())}):e}_getSVGLeftTopOffsets(){return{textLeft:-this.width/2,textTop:-this.height/2,lineTop:this.getHeightOfLine(0)}}_wrapSVGTextAndBg(t){let{textBgRects:e,textSpans:s}=t;const i=this.getSvgTextDecoration(this);return[e.join(\"\"),'\\t\\t<text xml:space=\"preserve\" ','font-family=\"'.concat(this.fontFamily.replace(ko,\"'\"),'\" '),'font-size=\"'.concat(this.fontSize,'\" '),this.fontStyle?'font-style=\"'.concat(this.fontStyle,'\" '):\"\",this.fontWeight?'font-weight=\"'.concat(this.fontWeight,'\" '):\"\",i?'text-decoration=\"'.concat(i,'\" '):\"\",\"rtl\"===this.direction?'direction=\"'.concat(this.direction,'\" '):\"\",'style=\"',this.getSvgStyles(!0),'\"',this.addPaintOrder(),\" >\",s.join(\"\"),\"</text>\\n\"]}_getSVGTextAndBg(t,e){const s=[],i=[];let r,n=t;this.backgroundColor&&i.push(...Do(this.backgroundColor,-this.width/2,-this.height/2,this.width,this.height));for(let t=0,o=this._textLines.length;t<o;t++)r=this._getLineLeftOffset(t),\"rtl\"===this.direction&&(r+=this.width),(this.textBackgroundColor||this.styleHas(\"textBackgroundColor\",t))&&this._setSVGTextLineBg(i,t,e+r,n),this._setSVGTextLineText(s,t,e+r,n),n+=this.getHeightOfLine(t);return{textSpans:s,textBgRects:i}}_createTextCharSpan(t,e,s,i,r){const n=o.NUM_FRACTION_DIGITS,a=this.getSvgSpanStyles(e,t!==t.trim()||!!t.match(Oo)),h=a?'style=\"'.concat(a,'\"'):\"\",c=e.deltaY,l=c?' dy=\"'.concat(Vt(c,n),'\" '):\"\",{angle:u,renderLeft:d,renderTop:g,width:f}=r;let p=\"\";if(void 0!==d){const t=f/2;u&&(p=' rotate=\"'.concat(Vt(Ct(u),n),'\"'));const e=Pt({angle:Ct(u)});e[4]=d,e[5]=g;const r=new ot(-t,0).transform(e);s=r.x,i=r.y}return'<tspan x=\"'.concat(Vt(s,n),'\" y=\"').concat(Vt(i,n),'\" ').concat(l).concat(p).concat(h,\">\").concat(Wi(t),\"</tspan>\")}_setSVGTextLineText(t,e,s,i){const r=this.getHeightOfLine(e),n=this.textAlign.includes(qe),o=this._textLines[e];let a,h,c,l,u,d=\"\",g=0;i+=r*(1-this._fontSizeFraction)/this.lineHeight;for(let r=0,f=o.length-1;r<=f;r++)u=r===f||this.charSpacing||this.path,d+=o[r],c=this.__charBounds[e][r],0===g?(s+=c.kernedWidth-c.width,g+=c.width):g+=c.kernedWidth,n&&!u&&this._reSpaceAndTab.test(o[r])&&(u=!0),u||(a=a||this.getCompleteStyleDeclaration(e,r),h=this.getCompleteStyleDeclaration(e,r+1),u=Ui(a,h,!0)),u&&(l=this._getStyleDeclaration(e,r),t.push(this._createTextCharSpan(d,l,s,i,c)),d=\"\",a=h,\"rtl\"===this.direction?s-=g:s+=g,g=0)}_setSVGTextLineBg(t,e,s,i){const r=this._textLines[e],n=this.getHeightOfLine(e)/this.lineHeight;let o,a=0,h=0,c=this.getValueOfPropertyAt(e,0,\"textBackgroundColor\");for(let l=0;l<r.length;l++){const{left:r,width:u,kernedWidth:d}=this.__charBounds[e][l];o=this.getValueOfPropertyAt(e,l,\"textBackgroundColor\"),o!==c?(c&&t.push(...Do(c,s+h,i,a,n)),h=r,a=u,c=o):a+=d}o&&t.push(...Do(c,s+h,i,a,n))}_getSVGLineTopOffset(t){let e,s=0;for(e=0;e<t;e++)s+=this.getHeightOfLine(e);const i=this.getHeightOfLine(e);return{lineTop:s,offset:(this._fontSizeMult-this._fontSizeFraction)*i/(this.lineHeight*this._fontSizeMult)}}getSvgStyles(t){return\"\".concat(super.getSvgStyles(t),\" text-decoration-thickness: \").concat(Vt(this.textDecorationThickness*this.getObjectScaling().y/10,o.NUM_FRACTION_DIGITS),\"%; white-space: pre;\")}getSvgSpanStyles(t,e){const{fontFamily:s,strokeWidth:i,stroke:r,fill:n,fontSize:a,fontStyle:h,fontWeight:c,deltaY:l,textDecorationThickness:u,linethrough:d,overline:g,underline:f}=t,p=this.getSvgTextDecoration({underline:null!=f?f:this.underline,overline:null!=g?g:this.overline,linethrough:null!=d?d:this.linethrough}),m=u||this.textDecorationThickness;return[r?Be(J,r):\"\",i?\"stroke-width: \".concat(i,\"; \"):\"\",s?\"font-family: \".concat(s.includes(\"'\")||s.includes('\"')?s:\"'\".concat(s,\"'\"),\"; \"):\"\",a?\"font-size: \".concat(a,\"px; \"):\"\",h?\"font-style: \".concat(h,\"; \"):\"\",c?\"font-weight: \".concat(c,\"; \"):\"\",p?\"text-decoration: \".concat(p,\"; text-decoration-thickness: \").concat(Vt(m*this.getObjectScaling().y/10,o.NUM_FRACTION_DIGITS),\"%; \"):\"\",n?Be(K,n):\"\",l?\"baseline-shift: \".concat(-l,\"; \"):\"\",e?\"white-space: pre; \":\"\"].join(\"\")}getSvgTextDecoration(t){return[\"overline\",\"underline\",\"line-through\"].filter((e=>t[e.replace(\"-\",\"\")])).join(\" \")}}]),tt.setClass(Eo),tt.setSVGClass(Eo);class Ao{constructor(e){t(this,\"target\",void 0),t(this,\"__mouseDownInPlace\",!1),t(this,\"__dragStartFired\",!1),t(this,\"__isDraggingOver\",!1),t(this,\"__dragStartSelection\",void 0),t(this,\"__dragImageDisposer\",void 0),t(this,\"_dispose\",void 0),this.target=e;const s=[this.target.on(\"dragenter\",this.dragEnterHandler.bind(this)),this.target.on(\"dragover\",this.dragOverHandler.bind(this)),this.target.on(\"dragleave\",this.dragLeaveHandler.bind(this)),this.target.on(\"dragend\",this.dragEndHandler.bind(this)),this.target.on(\"drop\",this.dropHandler.bind(this))];this._dispose=()=>{s.forEach((t=>t())),this._dispose=void 0}}isPointerOverSelection(t){const e=this.target,s=e.getSelectionStartFromPointer(t);return e.isEditing&&s>=e.selectionStart&&s<=e.selectionEnd&&e.selectionStart<e.selectionEnd}start(t){return this.__mouseDownInPlace=this.isPointerOverSelection(t)}isActive(){return this.__mouseDownInPlace}end(t){const e=this.isActive();return e&&!this.__dragStartFired&&(this.target.setCursorByClick(t),this.target.initDelayedCursor(!0)),this.__mouseDownInPlace=!1,this.__dragStartFired=!1,this.__isDraggingOver=!1,e}getDragStartSelection(){return this.__dragStartSelection}setDragImage(t,e){var s;let{selectionStart:i,selectionEnd:r}=e;const n=this.target,o=n.canvas,a=new ot(n.flipX?-1:1,n.flipY?-1:1),h=n._getCursorBoundaries(i),c=new ot(h.left+h.leftOffset,h.top+h.topOffset).multiply(a).transform(n.calcTransformMatrix()),l=o.getScenePoint(t).subtract(c),u=n.getCanvasRetinaScaling(),d=n.getBoundingRect(),g=c.subtract(new ot(d.left,d.top)),f=o.viewportTransform,p=g.add(l).transform(f,!0),m=n.backgroundColor,v=Yi(n.styles);n.backgroundColor=\"\";const y={stroke:\"transparent\",fill:\"transparent\",textBackgroundColor:\"transparent\"};n.setSelectionStyles(y,0,i),n.setSelectionStyles(y,r,n.text.length),n.dirty=!0;const _=n.toCanvasElement({enableRetinaScaling:o.enableRetinaScaling,viewportTransform:!0});n.backgroundColor=m,n.styles=v,n.dirty=!0,Sn(_,{position:\"fixed\",left:\"\".concat(-_.width,\"px\"),border:j,width:\"\".concat(_.width/u,\"px\"),height:\"\".concat(_.height/u,\"px\")}),this.__dragImageDisposer&&this.__dragImageDisposer(),this.__dragImageDisposer=()=>{_.remove()},Kt(t.target||this.target.hiddenTextarea).body.appendChild(_),null===(s=t.dataTransfer)||void 0===s||s.setDragImage(_,p.x,p.y)}onDragStart(t){this.__dragStartFired=!0;const e=this.target,i=this.isActive();if(i&&t.dataTransfer){const i=this.__dragStartSelection={selectionStart:e.selectionStart,selectionEnd:e.selectionEnd},r=e._text.slice(i.selectionStart,i.selectionEnd).join(\"\"),n=s({text:e.text,value:r},i);t.dataTransfer.setData(\"text/plain\",r),t.dataTransfer.setData(\"application/fabric\",JSON.stringify({value:r,styles:e.getSelectionStyles(i.selectionStart,i.selectionEnd,!0)})),t.dataTransfer.effectAllowed=\"copyMove\",this.setDragImage(t,n)}return e.abortCursorAnimation(),i}canDrop(t){if(this.target.editable&&!this.target.getActiveControl()&&!t.defaultPrevented){if(this.isActive()&&this.__dragStartSelection){const e=this.target.getSelectionStartFromPointer(t),s=this.__dragStartSelection;return e<s.selectionStart||e>s.selectionEnd}return!0}return!1}targetCanDrop(t){return this.target.canDrop(t)}dragEnterHandler(t){let{e:e}=t;const s=this.targetCanDrop(e);!this.__isDraggingOver&&s&&(this.__isDraggingOver=!0)}dragOverHandler(t){const{e:e}=t,s=this.targetCanDrop(e);!this.__isDraggingOver&&s?this.__isDraggingOver=!0:this.__isDraggingOver&&!s&&(this.__isDraggingOver=!1),this.__isDraggingOver&&(e.preventDefault(),t.canDrop=!0,t.dropTarget=this.target)}dragLeaveHandler(){(this.__isDraggingOver||this.isActive())&&(this.__isDraggingOver=!1)}dropHandler(t){var e;const{e:s}=t,i=s.defaultPrevented;this.__isDraggingOver=!1,s.preventDefault();let r=null===(e=s.dataTransfer)||void 0===e?void 0:e.getData(\"text/plain\");if(r&&!i){const e=this.target,i=e.canvas;let n=e.getSelectionStartFromPointer(s);const{styles:o}=s.dataTransfer.types.includes(\"application/fabric\")?JSON.parse(s.dataTransfer.getData(\"application/fabric\")):{},a=r[Math.max(0,r.length-1)],h=0;if(this.__dragStartSelection){const t=this.__dragStartSelection.selectionStart,s=this.__dragStartSelection.selectionEnd;n>t&&n<=s?n=t:n>s&&(n-=s-t),e.removeChars(t,s),delete this.__dragStartSelection}e._reNewline.test(a)&&(e._reNewline.test(e._text[n])||n===e._text.length)&&(r=r.trimEnd()),t.didDrop=!0,t.dropTarget=e,e.insertChars(r,o,n),i.setActiveObject(e),e.enterEditing(s),e.selectionStart=Math.min(n+h,e._text.length),e.selectionEnd=Math.min(e.selectionStart+r.length,e._text.length),e.hiddenTextarea.value=e.text,e._updateTextarea(),e.hiddenTextarea.focus(),e.fire(z,{index:n+h,action:\"drop\"}),i.fire(\"text:changed\",{target:e}),i.contextTopDirty=!0,i.requestRenderAll()}}dragEndHandler(t){let{e:e}=t;if(this.isActive()&&this.__dragStartFired&&this.__dragStartSelection){var s;const t=this.target,i=this.target.canvas,{selectionStart:r,selectionEnd:n}=this.__dragStartSelection,o=(null===(s=e.dataTransfer)||void 0===s?void 0:s.dropEffect)||j;o===j?(t.selectionStart=r,t.selectionEnd=n,t._updateTextarea(),t.hiddenTextarea.focus()):(t.clearContextTop(),\"move\"===o&&(t.removeChars(r,n),t.selectionStart=t.selectionEnd=r,t.hiddenTextarea&&(t.hiddenTextarea.value=t.text),t._updateTextarea(),t.fire(z,{index:r,action:\"dragend\"}),i.fire(\"text:changed\",{target:t}),i.requestRenderAll()),t.exitEditing())}this.__dragImageDisposer&&this.__dragImageDisposer(),delete this.__dragImageDisposer,delete this.__dragStartSelection,this.__isDraggingOver=!1}dispose(){this._dispose&&this._dispose()}}const jo=/[ \\n\\.,;!\\?\\-]/;class Fo extends Eo{constructor(){super(...arguments),t(this,\"_currentCursorOpacity\",1)}initBehavior(){this._tick=this._tick.bind(this),this._onTickComplete=this._onTickComplete.bind(this),this.updateSelectionOnMouseMove=this.updateSelectionOnMouseMove.bind(this)}onDeselect(t){return this.isEditing&&this.exitEditing(),this.selected=!1,super.onDeselect(t)}_animateCursor(t){let{toValue:e,duration:s,delay:i,onComplete:r}=t;return Us({startValue:this._currentCursorOpacity,endValue:e,duration:s,delay:i,onComplete:r,abort:()=>!this.canvas||this.selectionStart!==this.selectionEnd,onChange:t=>{this._currentCursorOpacity=t,this.renderCursorOrSelection()}})}_tick(t){this._currentTickState=this._animateCursor({toValue:0,duration:this.cursorDuration/2,delay:Math.max(t||0,100),onComplete:this._onTickComplete})}_onTickComplete(){var t;null===(t=this._currentTickCompleteState)||void 0===t||t.abort(),this._currentTickCompleteState=this._animateCursor({toValue:1,duration:this.cursorDuration,onComplete:this._tick})}initDelayedCursor(t){this.abortCursorAnimation(),this._tick(t?0:this.cursorDelay)}abortCursorAnimation(){let t=!1;[this._currentTickState,this._currentTickCompleteState].forEach((e=>{e&&!e.isDone()&&(t=!0,e.abort())})),this._currentCursorOpacity=1,t&&this.clearContextTop()}restartCursorIfNeeded(){[this._currentTickState,this._currentTickCompleteState].some((t=>!t||t.isDone()))&&this.initDelayedCursor()}selectAll(){return this.selectionStart=0,this.selectionEnd=this._text.length,this._fireSelectionChanged(),this._updateTextarea(),this}cmdAll(){this.selectAll(),this.renderCursorOrSelection()}getSelectedText(){return this._text.slice(this.selectionStart,this.selectionEnd).join(\"\")}findWordBoundaryLeft(t){let e=0,s=t-1;if(this._reSpace.test(this._text[s]))for(;this._reSpace.test(this._text[s]);)e++,s--;for(;/\\S/.test(this._text[s])&&s>-1;)e++,s--;return t-e}findWordBoundaryRight(t){let e=0,s=t;if(this._reSpace.test(this._text[s]))for(;this._reSpace.test(this._text[s]);)e++,s++;for(;/\\S/.test(this._text[s])&&s<this._text.length;)e++,s++;return t+e}findLineBoundaryLeft(t){let e=0,s=t-1;for(;!/\\n/.test(this._text[s])&&s>-1;)e++,s--;return t-e}findLineBoundaryRight(t){let e=0,s=t;for(;!/\\n/.test(this._text[s])&&s<this._text.length;)e++,s++;return t+e}searchWordBoundary(t,e){const s=this._text;let i=t>0&&this._reSpace.test(s[t])&&(-1===e||!F.test(s[t-1]))?t-1:t,r=s[i];for(;i>0&&i<s.length&&!jo.test(r);)i+=e,r=s[i];return-1===e&&jo.test(r)&&i++,i}selectWord(t){var e;t=null!==(e=t)&&void 0!==e?e:this.selectionStart;const s=this.searchWordBoundary(t,-1),i=Math.max(s,this.searchWordBoundary(t,1));this.selectionStart=s,this.selectionEnd=i,this._fireSelectionChanged(),this._updateTextarea(),this.renderCursorOrSelection()}selectLine(t){var e;t=null!==(e=t)&&void 0!==e?e:this.selectionStart;const s=this.findLineBoundaryLeft(t),i=this.findLineBoundaryRight(t);this.selectionStart=s,this.selectionEnd=i,this._fireSelectionChanged(),this._updateTextarea()}enterEditing(t){!this.isEditing&&this.editable&&(this.enterEditingImpl(),this.fire(\"editing:entered\",t?{e:t}:void 0),this._fireSelectionChanged(),this.canvas&&(this.canvas.fire(\"text:editing:entered\",{target:this,e:t}),this.canvas.requestRenderAll()))}enterEditingImpl(){this.canvas&&(this.canvas.calcOffset(),this.canvas.textEditingManager.exitTextEditing()),this.isEditing=!0,this.initHiddenTextarea(),this.hiddenTextarea.focus(),this.hiddenTextarea.value=this.text,this._updateTextarea(),this._saveEditingProps(),this._setEditingProps(),this._textBeforeEdit=this.text,this._tick()}updateSelectionOnMouseMove(t){if(this.getActiveControl())return;const e=this.hiddenTextarea;Kt(e).activeElement!==e&&e.focus();const s=this.getSelectionStartFromPointer(t),i=this.selectionStart,r=this.selectionEnd;(s===this.__selectionStartOnMouseDown&&i!==r||i!==s&&r!==s)&&(s>this.__selectionStartOnMouseDown?(this.selectionStart=this.__selectionStartOnMouseDown,this.selectionEnd=s):(this.selectionStart=s,this.selectionEnd=this.__selectionStartOnMouseDown),this.selectionStart===i&&this.selectionEnd===r||(this._fireSelectionChanged(),this._updateTextarea(),this.renderCursorOrSelection()))}_setEditingProps(){this.hoverCursor=\"text\",this.canvas&&(this.canvas.defaultCursor=this.canvas.moveCursor=\"text\"),this.borderColor=this.editingBorderColor,this.hasControls=this.selectable=!1,this.lockMovementX=this.lockMovementY=!0}fromStringToGraphemeSelection(t,e,s){const i=s.slice(0,t),r=this.graphemeSplit(i).length;if(t===e)return{selectionStart:r,selectionEnd:r};const n=s.slice(t,e);return{selectionStart:r,selectionEnd:r+this.graphemeSplit(n).length}}fromGraphemeToStringSelection(t,e,s){const i=s.slice(0,t).join(\"\").length;if(t===e)return{selectionStart:i,selectionEnd:i};return{selectionStart:i,selectionEnd:i+s.slice(t,e).join(\"\").length}}_updateTextarea(){if(this.cursorOffsetCache={},this.hiddenTextarea){if(!this.inCompositionMode){const t=this.fromGraphemeToStringSelection(this.selectionStart,this.selectionEnd,this._text);this.hiddenTextarea.selectionStart=t.selectionStart,this.hiddenTextarea.selectionEnd=t.selectionEnd}this.updateTextareaPosition()}}updateFromTextArea(){if(!this.hiddenTextarea)return;this.cursorOffsetCache={};const t=this.hiddenTextarea;this.text=t.value,this.set(\"dirty\",!0),this.initDimensions(),this.setCoords();const e=this.fromStringToGraphemeSelection(t.selectionStart,t.selectionEnd,t.value);this.selectionEnd=this.selectionStart=e.selectionEnd,this.inCompositionMode||(this.selectionStart=e.selectionStart),this.updateTextareaPosition()}updateTextareaPosition(){if(this.selectionStart===this.selectionEnd){const t=this._calcTextareaPosition();this.hiddenTextarea.style.left=t.left,this.hiddenTextarea.style.top=t.top}}_calcTextareaPosition(){if(!this.canvas)return{left:\"1px\",top:\"1px\"};const t=this.inCompositionMode?this.compositionStart:this.selectionStart,e=this._getCursorBoundaries(t),s=this.get2DCursorLocation(t),i=s.lineIndex,r=s.charIndex,n=this.getValueOfPropertyAt(i,r,\"fontSize\")*this.lineHeight,o=e.leftOffset,a=this.getCanvasRetinaScaling(),h=this.canvas.upperCanvasEl,c=h.width/a,l=h.height/a,u=c-n,d=l-n,g=new ot(e.left+o,e.top+e.topOffset+n).transform(this.calcTransformMatrix()).transform(this.canvas.viewportTransform).multiply(new ot(h.clientWidth/c,h.clientHeight/l));return g.x<0&&(g.x=0),g.x>u&&(g.x=u),g.y<0&&(g.y=0),g.y>d&&(g.y=d),g.x+=this.canvas._offset.left,g.y+=this.canvas._offset.top,{left:\"\".concat(g.x,\"px\"),top:\"\".concat(g.y,\"px\"),fontSize:\"\".concat(n,\"px\"),charHeight:n}}_saveEditingProps(){this._savedProps={hasControls:this.hasControls,borderColor:this.borderColor,lockMovementX:this.lockMovementX,lockMovementY:this.lockMovementY,hoverCursor:this.hoverCursor,selectable:this.selectable,defaultCursor:this.canvas&&this.canvas.defaultCursor,moveCursor:this.canvas&&this.canvas.moveCursor}}_restoreEditingProps(){this._savedProps&&(this.hoverCursor=this._savedProps.hoverCursor,this.hasControls=this._savedProps.hasControls,this.borderColor=this._savedProps.borderColor,this.selectable=this._savedProps.selectable,this.lockMovementX=this._savedProps.lockMovementX,this.lockMovementY=this._savedProps.lockMovementY,this.canvas&&(this.canvas.defaultCursor=this._savedProps.defaultCursor||this.canvas.defaultCursor,this.canvas.moveCursor=this._savedProps.moveCursor||this.canvas.moveCursor),delete this._savedProps)}_exitEditing(){const t=this.hiddenTextarea;this.selected=!1,this.isEditing=!1,t&&(t.blur&&t.blur(),t.parentNode&&t.parentNode.removeChild(t)),this.hiddenTextarea=null,this.abortCursorAnimation(),this.selectionStart!==this.selectionEnd&&this.clearContextTop()}exitEditingImpl(){this._exitEditing(),this.selectionEnd=this.selectionStart,this._restoreEditingProps(),this._forceClearCache&&(this.initDimensions(),this.setCoords())}exitEditing(){const t=this._textBeforeEdit!==this.text;return this.exitEditingImpl(),this.fire(\"editing:exited\"),t&&this.fire(Q),this.canvas&&(this.canvas.fire(\"text:editing:exited\",{target:this}),t&&this.canvas.fire(\"object:modified\",{target:this})),this}_removeExtraneousStyles(){for(const t in this.styles)this._textLines[t]||delete this.styles[t]}removeStyleFromTo(t,e){const{lineIndex:s,charIndex:i}=this.get2DCursorLocation(t,!0),{lineIndex:r,charIndex:n}=this.get2DCursorLocation(e,!0);if(s!==r){if(this.styles[s])for(let t=i;t<this._unwrappedTextLines[s].length;t++)delete this.styles[s][t];if(this.styles[r])for(let t=n;t<this._unwrappedTextLines[r].length;t++){const e=this.styles[r][t];e&&(this.styles[s]||(this.styles[s]={}),this.styles[s][i+t-n]=e)}for(let t=s+1;t<=r;t++)delete this.styles[t];this.shiftLineStyles(r,s-r)}else if(this.styles[s]){const t=this.styles[s],e=n-i;for(let e=i;e<n;e++)delete t[e];for(const i in this.styles[s]){const s=parseInt(i,10);s>=n&&(t[s-e]=t[i],delete t[i])}}}shiftLineStyles(t,e){const s=Object.assign({},this.styles);for(const i in this.styles){const r=parseInt(i,10);r>t&&(this.styles[r+e]=s[r],s[r-e]||delete this.styles[r])}}insertNewlineStyleObject(t,e,i,r){const n={},o=this._unwrappedTextLines[t].length,a=o===e;let h=!1;i||(i=1),this.shiftLineStyles(t,i);const c=this.styles[t]?this.styles[t][0===e?e:e-1]:void 0;for(const s in this.styles[t]){const i=parseInt(s,10);i>=e&&(h=!0,n[i-e]=this.styles[t][s],a&&0===e||delete this.styles[t][s])}let l=!1;for(h&&!a&&(this.styles[t+i]=n,l=!0),(l||o>e)&&i--;i>0;)r&&r[i-1]?this.styles[t+i]={0:s({},r[i-1])}:c?this.styles[t+i]={0:s({},c)}:delete this.styles[t+i],i--;this._forceClearCache=!0}insertCharStyleObject(t,e,i,r){this.styles||(this.styles={});const n=this.styles[t],o=n?s({},n):{};i||(i=1);for(const t in o){const s=parseInt(t,10);s>=e&&(n[s+i]=o[s],o[s-i]||delete n[s])}if(this._forceClearCache=!0,r){for(;i--;)Object.keys(r[i]).length&&(this.styles[t]||(this.styles[t]={}),this.styles[t][e+i]=s({},r[i]));return}if(!n)return;const a=n[e?e-1:1];for(;a&&i--;)this.styles[t][e+i]=s({},a)}insertNewStyleBlock(t,e,s){const i=this.get2DCursorLocation(e,!0),r=[0];let n,o=0;for(let e=0;e<t.length;e++)\"\\n\"===t[e]?(o++,r[o]=0):r[o]++;for(r[0]>0&&(this.insertCharStyleObject(i.lineIndex,i.charIndex,r[0],s),s=s&&s.slice(r[0]+1)),o&&this.insertNewlineStyleObject(i.lineIndex,i.charIndex+r[0],o),n=1;n<o;n++)r[n]>0?this.insertCharStyleObject(i.lineIndex+n,0,r[n],s):s&&this.styles[i.lineIndex+n]&&s[0]&&(this.styles[i.lineIndex+n][0]=s[0]),s=s&&s.slice(r[n]+1);r[n]>0&&this.insertCharStyleObject(i.lineIndex+n,0,r[n],s)}removeChars(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t+1;this.removeStyleFromTo(t,e),this._text.splice(t,e-t),this.text=this._text.join(\"\"),this.set(\"dirty\",!0),this.initDimensions(),this.setCoords(),this._removeExtraneousStyles()}insertChars(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:s;i>s&&this.removeStyleFromTo(s,i);const r=this.graphemeSplit(t);this.insertNewStyleBlock(r,s,e),this._text=[...this._text.slice(0,s),...r,...this._text.slice(i)],this.text=this._text.join(\"\"),this.set(\"dirty\",!0),this.initDimensions(),this.setCoords(),this._removeExtraneousStyles()}setSelectionStartEndWithShift(t,e,s){s<=t?(e===t?this._selectionDirection=M:this._selectionDirection===A&&(this._selectionDirection=M,this.selectionEnd=t),this.selectionStart=s):s>t&&s<e?this._selectionDirection===A?this.selectionEnd=s:this.selectionStart=s:(e===t?this._selectionDirection=A:this._selectionDirection===M&&(this._selectionDirection=A,this.selectionStart=e),this.selectionEnd=s)}}class Lo extends Fo{initHiddenTextarea(){const t=this.canvas&&Kt(this.canvas.getElement())||m(),e=t.createElement(\"textarea\");Object.entries({autocapitalize:\"off\",autocorrect:\"off\",autocomplete:\"off\",spellcheck:\"false\",\"data-fabric\":\"textarea\",wrap:\"off\"}).map((t=>{let[s,i]=t;return e.setAttribute(s,i)}));const{top:s,left:i,fontSize:r}=this._calcTextareaPosition();e.style.cssText=\"position: absolute; top: \".concat(s,\"; left: \").concat(i,\"; z-index: -999; opacity: 0; width: 1px; height: 1px; font-size: 1px; padding-top: \").concat(r,\";\"),(this.hiddenTextareaContainer||t.body).appendChild(e),Object.entries({blur:\"blur\",keydown:\"onKeyDown\",keyup:\"onKeyUp\",input:\"onInput\",copy:\"copy\",cut:\"copy\",paste:\"paste\",compositionstart:\"onCompositionStart\",compositionupdate:\"onCompositionUpdate\",compositionend:\"onCompositionEnd\"}).map((t=>{let[s,i]=t;return e.addEventListener(s,this[i].bind(this))})),this.hiddenTextarea=e}blur(){this.abortCursorAnimation()}onKeyDown(t){if(!this.isEditing)return;const e=\"rtl\"===this.direction?this.keysMapRtl:this.keysMap;if(t.keyCode in e)this[e[t.keyCode]](t);else{if(!(t.keyCode in this.ctrlKeysMapDown)||!t.ctrlKey&&!t.metaKey)return;this[this.ctrlKeysMapDown[t.keyCode]](t)}t.stopImmediatePropagation(),t.preventDefault(),t.keyCode>=33&&t.keyCode<=40?(this.inCompositionMode=!1,this.clearContextTop(),this.renderCursorOrSelection()):this.canvas&&this.canvas.requestRenderAll()}onKeyUp(t){!this.isEditing||this._copyDone||this.inCompositionMode?this._copyDone=!1:t.keyCode in this.ctrlKeysMapUp&&(t.ctrlKey||t.metaKey)&&(this[this.ctrlKeysMapUp[t.keyCode]](t),t.stopImmediatePropagation(),t.preventDefault(),this.canvas&&this.canvas.requestRenderAll())}onInput(t){const e=this.fromPaste,{value:s,selectionStart:i,selectionEnd:r}=this.hiddenTextarea;if(this.fromPaste=!1,t&&t.stopPropagation(),!this.isEditing)return;const n=()=>{this.updateFromTextArea(),this.fire(z),this.canvas&&(this.canvas.fire(\"text:changed\",{target:this}),this.canvas.requestRenderAll())};if(\"\"===this.hiddenTextarea.value)return this.styles={},void n();const a=this._splitTextIntoLines(s).graphemeText,h=this._text.length,c=a.length,l=this.selectionStart,u=this.selectionEnd,d=l!==u;let g,f,m,v,y=c-h;const _=this.fromStringToGraphemeSelection(i,r,s),x=l>_.selectionStart;d?(f=this._text.slice(l,u),y+=u-l):c<h&&(f=x?this._text.slice(u+y,u):this._text.slice(l,l-y));const C=a.slice(_.selectionEnd-y,_.selectionEnd);if(f&&f.length&&(C.length&&(g=this.getSelectionStyles(l,l+1,!1),g=C.map((()=>g[0]))),d?(m=l,v=u):x?(m=u-f.length,v=u):(m=u,v=u+f.length),this.removeStyleFromTo(m,v)),C.length){const{copyPasteData:t}=p();e&&C.join(\"\")===t.copiedText&&!o.disableStyleCopyPaste&&(g=t.copiedTextStyle),this.insertNewStyleBlock(C,l,g)}n()}onCompositionStart(){this.inCompositionMode=!0}onCompositionEnd(){this.inCompositionMode=!1}onCompositionUpdate(t){let{target:e}=t;const{selectionStart:s,selectionEnd:i}=e;this.compositionStart=s,this.compositionEnd=i,this.updateTextareaPosition()}copy(){if(this.selectionStart===this.selectionEnd)return;const{copyPasteData:t}=p();t.copiedText=this.getSelectedText(),o.disableStyleCopyPaste?t.copiedTextStyle=void 0:t.copiedTextStyle=this.getSelectionStyles(this.selectionStart,this.selectionEnd,!0),this._copyDone=!0}paste(){this.fromPaste=!0}_getWidthBeforeCursor(t,e){let s,i=this._getLineLeftOffset(t);return e>0&&(s=this.__charBounds[t][e-1],i+=s.left+s.width),i}getDownCursorOffset(t,e){const s=this._getSelectionForOffset(t,e),i=this.get2DCursorLocation(s),r=i.lineIndex;if(r===this._textLines.length-1||t.metaKey||34===t.keyCode)return this._text.length-s;const n=i.charIndex,o=this._getWidthBeforeCursor(r,n),a=this._getIndexOnLine(r+1,o);return this._textLines[r].slice(n).length+a+1+this.missingNewlineOffset(r)}_getSelectionForOffset(t,e){return t.shiftKey&&this.selectionStart!==this.selectionEnd&&e?this.selectionEnd:this.selectionStart}getUpCursorOffset(t,e){const s=this._getSelectionForOffset(t,e),i=this.get2DCursorLocation(s),r=i.lineIndex;if(0===r||t.metaKey||33===t.keyCode)return-s;const n=i.charIndex,o=this._getWidthBeforeCursor(r,n),a=this._getIndexOnLine(r-1,o),h=this._textLines[r].slice(0,n),c=this.missingNewlineOffset(r-1);return-this._textLines[r-1].length+a-h.length+(1-c)}_getIndexOnLine(t,e){const s=this._textLines[t];let i,r,n=this._getLineLeftOffset(t),o=0;for(let a=0,h=s.length;a<h;a++)if(i=this.__charBounds[t][a].width,n+=i,n>e){r=!0;const t=n-i,s=n,h=Math.abs(t-e);o=Math.abs(s-e)<h?a:a-1;break}return r||(o=s.length-1),o}moveCursorDown(t){this.selectionStart>=this._text.length&&this.selectionEnd>=this._text.length||this._moveCursorUpOrDown(\"Down\",t)}moveCursorUp(t){0===this.selectionStart&&0===this.selectionEnd||this._moveCursorUpOrDown(\"Up\",t)}_moveCursorUpOrDown(t,e){const s=this[\"get\".concat(t,\"CursorOffset\")](e,this._selectionDirection===A);if(e.shiftKey?this.moveCursorWithShift(s):this.moveCursorWithoutShift(s),0!==s){const t=this.text.length;this.selectionStart=ks(0,this.selectionStart,t),this.selectionEnd=ks(0,this.selectionEnd,t),this.abortCursorAnimation(),this.initDelayedCursor(),this._fireSelectionChanged(),this._updateTextarea()}}moveCursorWithShift(t){const e=this._selectionDirection===M?this.selectionStart+t:this.selectionEnd+t;return this.setSelectionStartEndWithShift(this.selectionStart,this.selectionEnd,e),0!==t}moveCursorWithoutShift(t){return t<0?(this.selectionStart+=t,this.selectionEnd=this.selectionStart):(this.selectionEnd+=t,this.selectionStart=this.selectionEnd),0!==t}moveCursorLeft(t){0===this.selectionStart&&0===this.selectionEnd||this._moveCursorLeftOrRight(\"Left\",t)}_move(t,e,s){let i;if(t.altKey)i=this[\"findWordBoundary\".concat(s)](this[e]);else{if(!t.metaKey&&35!==t.keyCode&&36!==t.keyCode)return this[e]+=\"Left\"===s?-1:1,!0;i=this[\"findLineBoundary\".concat(s)](this[e])}return void 0!==i&&this[e]!==i&&(this[e]=i,!0)}_moveLeft(t,e){return this._move(t,e,\"Left\")}_moveRight(t,e){return this._move(t,e,\"Right\")}moveCursorLeftWithoutShift(t){let e=!0;return this._selectionDirection=M,this.selectionEnd===this.selectionStart&&0!==this.selectionStart&&(e=this._moveLeft(t,\"selectionStart\")),this.selectionEnd=this.selectionStart,e}moveCursorLeftWithShift(t){return this._selectionDirection===A&&this.selectionStart!==this.selectionEnd?this._moveLeft(t,\"selectionEnd\"):0!==this.selectionStart?(this._selectionDirection=M,this._moveLeft(t,\"selectionStart\")):void 0}moveCursorRight(t){this.selectionStart>=this._text.length&&this.selectionEnd>=this._text.length||this._moveCursorLeftOrRight(\"Right\",t)}_moveCursorLeftOrRight(t,e){const s=\"moveCursor\".concat(t).concat(e.shiftKey?\"WithShift\":\"WithoutShift\");this._currentCursorOpacity=1,this[s](e)&&(this.abortCursorAnimation(),this.initDelayedCursor(),this._fireSelectionChanged(),this._updateTextarea())}moveCursorRightWithShift(t){return this._selectionDirection===M&&this.selectionStart!==this.selectionEnd?this._moveRight(t,\"selectionStart\"):this.selectionEnd!==this._text.length?(this._selectionDirection=A,this._moveRight(t,\"selectionEnd\")):void 0}moveCursorRightWithoutShift(t){let e=!0;return this._selectionDirection=A,this.selectionStart===this.selectionEnd?(e=this._moveRight(t,\"selectionStart\"),this.selectionEnd=this.selectionStart):this.selectionStart=this.selectionEnd,e}}const Ro=t=>!!t.button;class Io extends Lo{constructor(){super(...arguments),t(this,\"draggableTextDelegate\",void 0)}initBehavior(){this.on(\"mousedown\",this._mouseDownHandler),this.on(\"mouseup\",this.mouseUpHandler),this.on(\"mousedblclick\",this.doubleClickHandler),this.on(\"mousetripleclick\",this.tripleClickHandler),this.draggableTextDelegate=new Ao(this),super.initBehavior()}shouldStartDragging(){return this.draggableTextDelegate.isActive()}onDragStart(t){return this.draggableTextDelegate.onDragStart(t)}canDrop(t){return this.draggableTextDelegate.canDrop(t)}doubleClickHandler(t){this.isEditing&&(this.selectWord(this.getSelectionStartFromPointer(t.e)),this.renderCursorOrSelection())}tripleClickHandler(t){this.isEditing&&(this.selectLine(this.getSelectionStartFromPointer(t.e)),this.renderCursorOrSelection())}_mouseDownHandler(t){let{e:e,alreadySelected:s}=t;this.canvas&&this.editable&&!Ro(e)&&!this.getActiveControl()&&(this.draggableTextDelegate.start(e)||(this.canvas.textEditingManager.register(this),s&&(this.inCompositionMode=!1,this.setCursorByClick(e)),this.isEditing&&(this.__selectionStartOnMouseDown=this.selectionStart,this.selectionStart===this.selectionEnd&&this.abortCursorAnimation(),this.renderCursorOrSelection()),this.selected||(this.selected=s||this.isEditing)))}mouseUpHandler(t){let{e:e,transform:s}=t;const i=this.draggableTextDelegate.end(e);if(this.canvas){this.canvas.textEditingManager.unregister(this);const t=this.canvas._activeObject;if(t&&t!==this)return}!this.editable||this.group&&!this.group.interactive||s&&s.actionPerformed||Ro(e)||i||this.selected&&!this.getActiveControl()&&(this.enterEditing(e),this.selectionStart===this.selectionEnd?this.initDelayedCursor(!0):this.renderCursorOrSelection())}setCursorByClick(t){const e=this.getSelectionStartFromPointer(t),s=this.selectionStart,i=this.selectionEnd;t.shiftKey?this.setSelectionStartEndWithShift(s,i,e):(this.selectionStart=e,this.selectionEnd=e),this.isEditing&&(this._fireSelectionChanged(),this._updateTextarea())}getSelectionStartFromPointer(t){const e=this.canvas.getScenePoint(t).transform(wt(this.calcTransformMatrix())).add(new ot(-this._getLeftOffset(),-this._getTopOffset()));let s=0,i=0,r=0;for(let t=0;t<this._textLines.length&&s<=e.y;t++)s+=this.getHeightOfLine(t),r=t,t>0&&(i+=this._textLines[t-1].length+this.missingNewlineOffset(t-1));let n=Math.abs(this._getLineLeftOffset(r));const o=this._textLines[r].length,a=this.__charBounds[r];for(let t=0;t<o;t++){const s=n+a[t].kernedWidth;if(e.x<=s){Math.abs(e.x-s)<=Math.abs(e.x-n)&&i++;break}n=s,i++}return Math.min(this.flipX?o-i:i,this._text.length)}}const Bo=\"moveCursorUp\",Xo=\"moveCursorDown\",Yo=\"moveCursorLeft\",Wo=\"moveCursorRight\",Vo=\"exitEditing\",zo=(t,e)=>{const s=e.getRetinaScaling();t.setTransform(s,0,0,s,0,0);const i=e.viewportTransform;t.transform(i[0],i[1],i[2],i[3],i[4],i[5])},Go=s({selectionStart:0,selectionEnd:0,selectionColor:\"rgba(17,119,255,0.3)\",isEditing:!1,editable:!0,editingBorderColor:\"rgba(102,153,255,0.25)\",cursorWidth:2,cursorColor:\"\",cursorDelay:1e3,cursorDuration:600,caching:!0,hiddenTextareaContainer:null,keysMap:{9:Vo,27:Vo,33:Bo,34:Xo,35:Wo,36:Yo,37:Yo,38:Bo,39:Wo,40:Xo},keysMapRtl:{9:Vo,27:Vo,33:Bo,34:Xo,35:Yo,36:Wo,37:Wo,38:Bo,39:Yo,40:Xo},ctrlKeysMapDown:{65:\"cmdAll\"},ctrlKeysMapUp:{67:\"copy\",88:\"cut\"}},{_selectionDirection:null,_reSpace:/\\s|\\r?\\n/,inCompositionMode:!1});class Ho extends Io{static getDefaults(){return s(s({},super.getDefaults()),Ho.ownDefaults)}get type(){const t=super.type;return\"itext\"===t?\"i-text\":t}constructor(t,e){super(t,s(s({},Ho.ownDefaults),e)),this.initBehavior()}_set(t,e){return this.isEditing&&this._savedProps&&t in this._savedProps?(this._savedProps[t]=e,this):(\"canvas\"===t&&(this.canvas instanceof In&&this.canvas.textEditingManager.remove(this),e instanceof In&&e.textEditingManager.add(this)),super._set(t,e))}setSelectionStart(t){t=Math.max(t,0),this._updateAndFire(\"selectionStart\",t)}setSelectionEnd(t){t=Math.min(t,this.text.length),this._updateAndFire(\"selectionEnd\",t)}_updateAndFire(t,e){this[t]!==e&&(this._fireSelectionChanged(),this[t]=e),this._updateTextarea()}_fireSelectionChanged(){this.fire(\"selection:changed\"),this.canvas&&this.canvas.fire(\"text:selection:changed\",{target:this})}initDimensions(){this.isEditing&&this.initDelayedCursor(),super.initDimensions()}getSelectionStyles(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart||0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selectionEnd,s=arguments.length>2?arguments[2]:void 0;return super.getSelectionStyles(t,e,s)}setSelectionStyles(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selectionStart||0,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.selectionEnd;return super.setSelectionStyles(t,e,s)}get2DCursorLocation(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart,e=arguments.length>1?arguments[1]:void 0;return super.get2DCursorLocation(t,e)}render(t){super.render(t),this.cursorOffsetCache={},this.renderCursorOrSelection()}toCanvasElement(t){const e=this.isEditing;this.isEditing=!1;const s=super.toCanvasElement(t);return this.isEditing=e,s}renderCursorOrSelection(){if(!this.isEditing||!this.canvas)return;const t=this.clearContextTop(!0);if(!t)return;const e=this._getCursorBoundaries(),s=this.findAncestorsWithClipPath(),i=s.length>0;let r,n=t;if(i){r=vt(t.canvas),n=r.getContext(\"2d\"),zo(n,this.canvas);const e=this.calcTransformMatrix();n.transform(e[0],e[1],e[2],e[3],e[4],e[5])}if(this.selectionStart!==this.selectionEnd||this.inCompositionMode?this.renderSelection(n,e):this.renderCursor(n,e),i)for(const e of s){const s=e.clipPath,i=vt(t.canvas),r=i.getContext(\"2d\");if(zo(r,this.canvas),!s.absolutePositioned){const t=e.calcTransformMatrix();r.transform(t[0],t[1],t[2],t[3],t[4],t[5])}s.transform(r),s.drawObject(r,!0,{}),this.drawClipPathOnCache(n,s,i)}i&&(t.setTransform(1,0,0,1,0,0),t.drawImage(r,0,0)),this.canvas.contextTopDirty=!0,t.restore()}findAncestorsWithClipPath(){const t=[];let e=this;for(;e;)e.clipPath&&t.push(e),e=e.parent;return t}_getCursorBoundaries(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart,e=arguments.length>1?arguments[1]:void 0;const s=this._getLeftOffset(),i=this._getTopOffset(),r=this._getCursorBoundariesOffsets(t,e);return{left:s,top:i,leftOffset:r.left,topOffset:r.top}}_getCursorBoundariesOffsets(t,e){return e?this.__getCursorBoundariesOffsets(t):this.cursorOffsetCache&&\"top\"in this.cursorOffsetCache?this.cursorOffsetCache:this.cursorOffsetCache=this.__getCursorBoundariesOffsets(t)}__getCursorBoundariesOffsets(t){let e=0,s=0;const{charIndex:i,lineIndex:r}=this.get2DCursorLocation(t);for(let t=0;t<r;t++)e+=this.getHeightOfLine(t);const n=this._getLineLeftOffset(r),o=this.__charBounds[r][i];o&&(s=o.left),0!==this.charSpacing&&i===this._textLines[r].length&&(s-=this._getWidthOfCharSpacing());const a={top:e,left:n+(s>0?s:0)};return\"rtl\"===this.direction&&(this.textAlign===A||this.textAlign===qe||this.textAlign===Je?a.left*=-1:this.textAlign===M||this.textAlign===Ke?a.left=n-(s>0?s:0):this.textAlign!==D&&this.textAlign!==Qe||(a.left=n-(s>0?s:0))),a}renderCursorAt(t){this._renderCursor(this.canvas.contextTop,this._getCursorBoundaries(t,!0),t)}renderCursor(t,e){this._renderCursor(t,e,this.selectionStart)}getCursorRenderingData(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getCursorBoundaries(t);const s=this.get2DCursorLocation(t),i=s.lineIndex,r=s.charIndex>0?s.charIndex-1:0,n=this.getValueOfPropertyAt(i,r,\"fontSize\"),o=this.getObjectScaling().x*this.canvas.getZoom(),a=this.cursorWidth/o,h=this.getValueOfPropertyAt(i,r,\"deltaY\"),c=e.topOffset+(1-this._fontSizeFraction)*this.getHeightOfLine(i)/this.lineHeight-n*(1-this._fontSizeFraction);return{color:this.cursorColor||this.getValueOfPropertyAt(i,r,\"fill\"),opacity:this._currentCursorOpacity,left:e.left+e.leftOffset-a/2,top:c+e.top+h,width:a,height:n}}_renderCursor(t,e,s){const{color:i,opacity:r,left:n,top:o,width:a,height:h}=this.getCursorRenderingData(s,e);t.fillStyle=i,t.globalAlpha=r,t.fillRect(n,o,a,h)}renderSelection(t,e){const s={selectionStart:this.inCompositionMode?this.hiddenTextarea.selectionStart:this.selectionStart,selectionEnd:this.inCompositionMode?this.hiddenTextarea.selectionEnd:this.selectionEnd};this._renderSelection(t,s,e)}renderDragSourceEffect(){const t=this.draggableTextDelegate.getDragStartSelection();this._renderSelection(this.canvas.contextTop,t,this._getCursorBoundaries(t.selectionStart,!0))}renderDropTargetEffect(t){const e=this.getSelectionStartFromPointer(t);this.renderCursorAt(e)}_renderSelection(t,e,s){const i=e.selectionStart,r=e.selectionEnd,n=this.textAlign.includes(qe),o=this.get2DCursorLocation(i),a=this.get2DCursorLocation(r),h=o.lineIndex,c=a.lineIndex,l=o.charIndex<0?0:o.charIndex,u=a.charIndex<0?0:a.charIndex;for(let e=h;e<=c;e++){const i=this._getLineLeftOffset(e)||0;let r=this.getHeightOfLine(e),o=0,a=0,d=0;if(e===h&&(a=this.__charBounds[h][l].left),e>=h&&e<c)d=n&&!this.isEndOfWrapping(e)?this.width:this.getLineWidth(e)||5;else if(e===c)if(0===u)d=this.__charBounds[c][u].left;else{const t=this._getWidthOfCharSpacing();d=this.__charBounds[c][u-1].left+this.__charBounds[c][u-1].width-t}o=r,(this.lineHeight<1||e===c&&this.lineHeight>1)&&(r/=this.lineHeight);let g=s.left+i+a,f=r,p=0;const m=d-a;this.inCompositionMode?(t.fillStyle=this.compositionColor||\"black\",f=1,p=r):t.fillStyle=this.selectionColor,\"rtl\"===this.direction&&(this.textAlign===A||this.textAlign===qe||this.textAlign===Je?g=this.width-g-m:this.textAlign===M||this.textAlign===Ke?g=s.left+i-d:this.textAlign!==D&&this.textAlign!==Qe||(g=s.left+i-d)),t.fillRect(g,s.top+s.topOffset+p,m,f),s.topOffset+=o}}getCurrentCharFontSize(){const t=this._getCurrentCharIndex();return this.getValueOfPropertyAt(t.l,t.c,\"fontSize\")}getCurrentCharColor(){const t=this._getCurrentCharIndex();return this.getValueOfPropertyAt(t.l,t.c,K)}_getCurrentCharIndex(){const t=this.get2DCursorLocation(this.selectionStart,!0),e=t.charIndex>0?t.charIndex-1:0;return{l:t.lineIndex,c:e}}dispose(){this.exitEditingImpl(),this.draggableTextDelegate.dispose(),super.dispose()}}t(Ho,\"ownDefaults\",Go),t(Ho,\"type\",\"IText\"),tt.setClass(Ho),tt.setClass(Ho,\"i-text\");class No extends Ho{static getDefaults(){return s(s({},super.getDefaults()),No.ownDefaults)}constructor(t,e){super(t,s(s({},No.ownDefaults),e))}static createControls(){return{controls:Pi()}}initDimensions(){this.initialized&&(this.isEditing&&this.initDelayedCursor(),this._clearCache(),this.dynamicMinWidth=0,this._styleMap=this._generateStyleMap(this._splitText()),this.dynamicMinWidth>this.width&&this._set(\"width\",this.dynamicMinWidth),this.textAlign.includes(qe)&&this.enlargeSpaces(),this.height=this.calcTextHeight())}_generateStyleMap(t){let e=0,s=0,i=0;const r={};for(let n=0;n<t.graphemeLines.length;n++)\"\\n\"===t.graphemeText[i]&&n>0?(s=0,i++,e++):!this.splitByGrapheme&&this._reSpaceAndTab.test(t.graphemeText[i])&&n>0&&(s++,i++),r[n]={line:e,offset:s},i+=t.graphemeLines[n].length,s+=t.graphemeLines[n].length;return r}styleHas(t,e){if(this._styleMap&&!this.isWrapping){const t=this._styleMap[e];t&&(e=t.line)}return super.styleHas(t,e)}isEmptyStyles(t){if(!this.styles)return!0;let e,s=0,i=t+1,r=!1;const n=this._styleMap[t],o=this._styleMap[t+1];n&&(t=n.line,s=n.offset),o&&(i=o.line,r=i===t,e=o.offset);const a=void 0===t?this.styles:{line:this.styles[t]};for(const t in a)for(const i in a[t]){const n=parseInt(i,10);if(n>=s&&(!r||n<e))for(const e in a[t][i])return!1}return!0}_getStyleDeclaration(t,e){if(this._styleMap&&!this.isWrapping){const s=this._styleMap[t];if(!s)return{};t=s.line,e=s.offset+e}return super._getStyleDeclaration(t,e)}_setStyleDeclaration(t,e,s){const i=this._styleMap[t];super._setStyleDeclaration(i.line,i.offset+e,s)}_deleteStyleDeclaration(t,e){const s=this._styleMap[t];super._deleteStyleDeclaration(s.line,s.offset+e)}_getLineStyle(t){const e=this._styleMap[t];return!!this.styles[e.line]}_setLineStyle(t){const e=this._styleMap[t];super._setLineStyle(e.line)}_wrapText(t,e){this.isWrapping=!0;const s=this.getGraphemeDataForRender(t),i=[];for(let t=0;t<s.wordsData.length;t++)i.push(...this._wrapLine(t,e,s));return this.isWrapping=!1,i}getGraphemeDataForRender(t){const e=this.splitByGrapheme,s=e?\"\":\" \";let i=0;return{wordsData:t.map(((t,r)=>{let n=0;const o=e?this.graphemeSplit(t):this.wordSplit(t);return 0===o.length?[{word:[],width:0}]:o.map((t=>{const o=e?[t]:this.graphemeSplit(t),a=this._measureWord(o,r,n);return i=Math.max(a,i),n+=o.length+s.length,{word:o,width:a}}))})),largestWordWidth:i}}_measureWord(t,e){let s,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=0;for(let n=0,o=t.length;n<o;n++){r+=this._getGraphemeBox(t[n],e,n+i,s,true).kernedWidth,s=t[n]}return r}wordSplit(t){return t.split(this._wordJoiners)}_wrapLine(t,e,s){let{largestWordWidth:i,wordsData:r}=s,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;const o=this._getWidthOfCharSpacing(),a=this.splitByGrapheme,h=[],c=a?\"\":\" \";let l=0,u=[],d=0,g=0,f=!0;e-=n;const p=Math.max(e,i,this.dynamicMinWidth),m=r[t];let v;for(d=0,v=0;v<m.length;v++){const{word:e,width:s}=m[v];d+=e.length,l+=g+s-o,l>p&&!f?(h.push(u),u=[],l=s,f=!0):l+=o,f||a||u.push(c),u=u.concat(e),g=a?0:this._measureWord([c],t,d),d++,f=!1}return v&&h.push(u),i+n>this.dynamicMinWidth&&(this.dynamicMinWidth=i-o+n),h}isEndOfWrapping(t){return!this._styleMap[t+1]||this._styleMap[t+1].line!==this._styleMap[t].line}missingNewlineOffset(t,e){return this.splitByGrapheme&&!e?this.isEndOfWrapping(t)?1:0:1}_splitTextIntoLines(t){const e=super._splitTextIntoLines(t),s=this._wrapText(e.lines,this.width),i=new Array(s.length);for(let t=0;t<s.length;t++)i[t]=s[t].join(\"\");return e.lines=i,e.graphemeLines=s,e}getMinWidth(){return Math.max(this.minWidth,this.dynamicMinWidth)}_removeExtraneousStyles(){const t=new Map;for(const e in this._styleMap){const s=parseInt(e,10);if(this._textLines[s]){const s=this._styleMap[e].line;t.set(\"\".concat(s),!0)}}for(const e in this.styles)t.has(e)||delete this.styles[e]}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject([\"minWidth\",\"splitByGrapheme\",...t])}}t(No,\"type\",\"Textbox\"),t(No,\"textLayoutProperties\",[...Ho.textLayoutProperties,\"width\"]),t(No,\"ownDefaults\",{minWidth:20,dynamicMinWidth:2,lockScalingFlip:!0,noScaleCache:!1,_wordJoiners:/[ \\t\\r]/,splitByGrapheme:!1}),tt.setClass(No);class Uo extends Ir{shouldPerformLayout(t){return!!t.target.clipPath&&super.shouldPerformLayout(t)}shouldLayoutClipPath(){return!1}calcLayoutResult(t,e){const{target:s}=t,{clipPath:i,group:r}=s;if(!i||!this.shouldPerformLayout(t))return;const{width:n,height:o}=ae(Rr(s,i)),a=new ot(n,o);if(i.absolutePositioned){return{center:pe(i.getRelativeCenterPoint(),void 0,r?r.calcTransformMatrix():void 0),size:a}}{const r=i.getRelativeCenterPoint().transform(s.calcOwnMatrix(),!0);if(this.shouldPerformLayout(t)){const{center:s=new ot,correction:i=new ot}=this.calcBoundingBox(e,t)||{};return{center:s.add(r),correction:i.subtract(r),size:a}}return{center:s.getRelativeCenterPoint().add(r),size:a}}}}t(Uo,\"type\",\"clip-path\"),tt.setClass(Uo);class qo extends Ir{getInitialSize(t,e){let{target:s}=t,{size:i}=e;return new ot(s.width||i.x,s.height||i.y)}}t(qo,\"type\",\"fixed\"),tt.setClass(qo);class Ko extends Vr{subscribeTargets(t){const e=t.target;t.targets.reduce(((t,e)=>(e.parent&&t.add(e.parent),t)),new Set).forEach((t=>{t.layoutManager.subscribeTargets({target:t,targets:[e]})}))}unsubscribeTargets(t){const e=t.target,s=e.getObjects();t.targets.reduce(((t,e)=>(e.parent&&t.add(e.parent),t)),new Set).forEach((t=>{!s.some((e=>e.parent===t))&&t.layoutManager.unsubscribeTargets({target:t,targets:[e]})}))}}class Jo extends Hr{static getDefaults(){return s(s({},super.getDefaults()),Jo.ownDefaults)}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),Object.assign(this,Jo.ownDefaults),this.setOptions(e);const{left:s,top:i,layoutManager:r}=e;this.groupInit(t,{left:s,top:i,layoutManager:null!=r?r:new Ko})}_shouldSetNestedCoords(){return!0}__objectSelectionMonitor(){}multiSelectAdd(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];\"selection-order\"===this.multiSelectionStacking?this.add(...e):e.forEach((t=>{const e=this._objects.findIndex((e=>e.isInFrontOf(t))),s=-1===e?this.size():e;this.insertAt(s,t)}))}canEnterGroup(t){return this.getObjects().some((e=>e.isDescendantOf(t)||t.isDescendantOf(e)))?(a(\"error\",\"ActiveSelection: circular object trees are not supported, this call has no effect\"),!1):super.canEnterGroup(t)}enterGroup(t,e){t.parent&&t.parent===t.group?t.parent._exitGroup(t):t.group&&t.parent!==t.group&&t.group.remove(t),this._enterGroup(t,e)}exitGroup(t,e){this._exitGroup(t,e),t.parent&&t.parent._enterGroup(t,!0)}_onAfterObjectsChange(t,e){super._onAfterObjectsChange(t,e);const s=new Set;e.forEach((t=>{const{parent:e}=t;e&&s.add(e)})),t===Fr?s.forEach((t=>{t._onAfterObjectsChange(jr,e)})):s.forEach((t=>{t._set(\"dirty\",!0)}))}onDeselect(){return this.removeAll(),!1}toString(){return\"#<ActiveSelection: (\".concat(this.complexity(),\")>\")}shouldCache(){return!1}isOnACache(){return!1}_renderControls(t,e,i){t.save(),t.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1;const r=s(s({hasControls:!1},i),{},{forActiveSelection:!0});for(let e=0;e<this._objects.length;e++)this._objects[e]._renderControls(t,r);super._renderControls(t,e),t.restore()}}t(Jo,\"type\",\"ActiveSelection\"),t(Jo,\"ownDefaults\",{multiSelectionStacking:\"canvas-stacking\"}),tt.setClass(Jo),tt.setClass(Jo,\"activeSelection\");class Qo{constructor(){t(this,\"resources\",{})}applyFilters(t,e,s,i,r){const n=r.getContext(\"2d\");if(!n)return;n.drawImage(e,0,0,s,i);const o={sourceWidth:s,sourceHeight:i,imageData:n.getImageData(0,0,s,i),originalEl:e,originalImageData:n.getImageData(0,0,s,i),canvasEl:r,ctx:n,filterBackend:this};t.forEach((t=>{t.applyTo(o)}));const{imageData:a}=o;return a.width===s&&a.height===i||(r.width=a.width,r.height=a.height),n.putImageData(a,0,0),o}}class Zo{constructor(){let{tileSize:e=o.textureSize}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t(this,\"aPosition\",new Float32Array([0,0,0,1,1,0,1,1])),t(this,\"resources\",{}),this.tileSize=e,this.setupGLContext(e,e),this.captureGPUInfo()}setupGLContext(t,e){this.dispose(),this.createWebGLCanvas(t,e)}createWebGLCanvas(t,e){const s=vt({width:t,height:e}),i=s.getContext(\"webgl\",{alpha:!0,premultipliedAlpha:!1,depth:!1,stencil:!1,antialias:!1});i&&(i.clearColor(0,0,0,0),this.canvas=s,this.gl=i)}applyFilters(t,e,s,i,r,n){const o=this.gl,a=r.getContext(\"2d\");if(!o||!a)return;let h;n&&(h=this.getCachedTexture(n,e));const c={originalWidth:e.width||e.naturalWidth||0,originalHeight:e.height||e.naturalHeight||0,sourceWidth:s,sourceHeight:i,destinationWidth:s,destinationHeight:i,context:o,sourceTexture:this.createTexture(o,s,i,h?void 0:e),targetTexture:this.createTexture(o,s,i),originalTexture:h||this.createTexture(o,s,i,h?void 0:e),passes:t.length,webgl:!0,aPosition:this.aPosition,programCache:this.programCache,pass:0,filterBackend:this,targetCanvas:r},l=o.createFramebuffer();return o.bindFramebuffer(o.FRAMEBUFFER,l),t.forEach((t=>{t&&t.applyTo(c)})),function(t){const e=t.targetCanvas,s=e.width,i=e.height,r=t.destinationWidth,n=t.destinationHeight;s===r&&i===n||(e.width=r,e.height=n)}(c),this.copyGLTo2D(o,c),o.bindTexture(o.TEXTURE_2D,null),o.deleteTexture(c.sourceTexture),o.deleteTexture(c.targetTexture),o.deleteFramebuffer(l),a.setTransform(1,0,0,1,0,0),c}dispose(){this.canvas&&(this.canvas=null,this.gl=null),this.clearWebGLCaches()}clearWebGLCaches(){this.programCache={},this.textureCache={}}createTexture(t,e,s,i,r){const{NEAREST:n,TEXTURE_2D:o,RGBA:a,UNSIGNED_BYTE:h,CLAMP_TO_EDGE:c,TEXTURE_MAG_FILTER:l,TEXTURE_MIN_FILTER:u,TEXTURE_WRAP_S:d,TEXTURE_WRAP_T:g}=t,f=t.createTexture();return t.bindTexture(o,f),t.texParameteri(o,l,r||n),t.texParameteri(o,u,r||n),t.texParameteri(o,d,c),t.texParameteri(o,g,c),i?t.texImage2D(o,0,a,a,h,i):t.texImage2D(o,0,a,e,s,0,a,h,null),f}getCachedTexture(t,e,s){const{textureCache:i}=this;if(i[t])return i[t];{const r=this.createTexture(this.gl,e.width,e.height,e,s);return r&&(i[t]=r),r}}evictCachesForKey(t){this.textureCache[t]&&(this.gl.deleteTexture(this.textureCache[t]),delete this.textureCache[t])}copyGLTo2D(t,e){const s=t.canvas,i=e.targetCanvas,r=i.getContext(\"2d\");if(!r)return;r.translate(0,i.height),r.scale(1,-1);const n=s.height-i.height;r.drawImage(s,0,n,i.width,i.height,0,0,i.width,i.height)}copyGLTo2DPutImageData(t,e){const s=e.targetCanvas.getContext(\"2d\"),i=e.destinationWidth,r=e.destinationHeight,n=i*r*4;if(!s)return;const o=new Uint8Array(this.imageBuffer,0,n),a=new Uint8ClampedArray(this.imageBuffer,0,n);t.readPixels(0,0,i,r,t.RGBA,t.UNSIGNED_BYTE,o);const h=new ImageData(a,i,r);s.putImageData(h,0,0)}captureGPUInfo(){if(this.gpuInfo)return this.gpuInfo;const t=this.gl,e={renderer:\"\",vendor:\"\"};if(!t)return e;const s=t.getExtension(\"WEBGL_debug_renderer_info\");if(s){const i=t.getParameter(s.UNMASKED_RENDERER_WEBGL),r=t.getParameter(s.UNMASKED_VENDOR_WEBGL);i&&(e.renderer=i.toLowerCase()),r&&(e.vendor=r.toLowerCase())}return this.gpuInfo=e,e}}let $o;function ta(){const{WebGLProbe:t}=p();return t.queryWebGL(pt()),o.enableGLFiltering&&t.isSupported(o.textureSize)?new Zo({tileSize:o.textureSize}):new Qo}function ea(){return!$o&&(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])&&($o=ta()),$o}function sa(t){$o=t}const ia=[\"filters\",\"resizeFilter\",\"src\",\"crossOrigin\",\"type\"],ra=[\"cropX\",\"cropY\"];class na extends ji{static getDefaults(){return s(s({},super.getDefaults()),na.ownDefaults)}constructor(e,s){super(),t(this,\"_lastScaleX\",1),t(this,\"_lastScaleY\",1),t(this,\"_filterScalingX\",1),t(this,\"_filterScalingY\",1),this.filters=[],Object.assign(this,na.ownDefaults),this.setOptions(s),this.cacheKey=\"texture\".concat(ft()),this.setElement(\"string\"==typeof e?(this.canvas&&Kt(this.canvas.getElement())||m()).getElementById(e):e,s)}getElement(){return this._element}setElement(t){var e;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.removeTexture(this.cacheKey),this.removeTexture(\"\".concat(this.cacheKey,\"_filtered\")),this._element=t,this._originalElement=t,this._setWidthHeight(s),null===(e=t.classList)||void 0===e||e.add(na.CSS_CANVAS),0!==this.filters.length&&this.applyFilters(),this.resizeFilter&&this.applyResizeFilters()}removeTexture(t){const e=ea(!1);e instanceof Zo&&e.evictCachesForKey(t)}dispose(){super.dispose(),this.removeTexture(this.cacheKey),this.removeTexture(\"\".concat(this.cacheKey,\"_filtered\")),this._cacheContext=null,[\"_originalElement\",\"_element\",\"_filteredEl\",\"_cacheCanvas\"].forEach((t=>{const e=this[t];e&&p().dispose(e),this[t]=void 0}))}getCrossOrigin(){return this._originalElement&&(this._originalElement.crossOrigin||null)}getOriginalSize(){const t=this.getElement();return t?{width:t.naturalWidth||t.width,height:t.naturalHeight||t.height}:{width:0,height:0}}_stroke(t){if(!this.stroke||0===this.strokeWidth)return;const e=this.width/2,s=this.height/2;t.beginPath(),t.moveTo(-e,-s),t.lineTo(e,-s),t.lineTo(e,s),t.lineTo(-e,s),t.lineTo(-e,-s),t.closePath()}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const e=[];return this.filters.forEach((t=>{t&&e.push(t.toObject())})),s(s({},super.toObject([...ra,...t])),{},{src:this.getSrc(),crossOrigin:this.getCrossOrigin(),filters:e},this.resizeFilter?{resizeFilter:this.resizeFilter.toObject()}:{})}hasCrop(){return!!this.cropX||!!this.cropY||this.width<this._element.width||this.height<this._element.height}_toSVG(){const t=[],e=this._element,s=-this.width/2,i=-this.height/2;let r=[],n=[],o=\"\",a=\"\";if(!e)return[];if(this.hasCrop()){const t=ft();r.push('<clipPath id=\"imageCrop_'+t+'\">\\n','\\t<rect x=\"'+s+'\" y=\"'+i+'\" width=\"'+this.width+'\" height=\"'+this.height+'\" />\\n',\"</clipPath>\\n\"),o=' clip-path=\"url(#imageCrop_'+t+')\" '}if(this.imageSmoothing||(a=' image-rendering=\"optimizeSpeed\"'),t.push(\"\\t<image \",\"COMMON_PARTS\",'xlink:href=\"'.concat(this.getSvgSrc(!0),'\" x=\"').concat(s-this.cropX,'\" y=\"').concat(i-this.cropY,'\" width=\"').concat(e.width||e.naturalWidth,'\" height=\"').concat(e.height||e.naturalHeight,'\"').concat(a).concat(o,\"></image>\\n\")),this.stroke||this.strokeDashArray){const t=this.fill;this.fill=null,n=['\\t<rect x=\"'.concat(s,'\" y=\"').concat(i,'\" width=\"').concat(this.width,'\" height=\"').concat(this.height,'\" style=\"').concat(this.getSvgStyles(),'\" />\\n')],this.fill=t}return r=this.paintFirst!==K?r.concat(n,t):r.concat(t,n),r}getSrc(t){const e=t?this._element:this._originalElement;return e?e.toDataURL?e.toDataURL():this.srcFromAttribute?e.getAttribute(\"src\")||\"\":e.src:this.src||\"\"}getSvgSrc(t){return this.getSrc(t)}setSrc(t){let{crossOrigin:e,signal:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return It(t,{crossOrigin:e,signal:s}).then((t=>{void 0!==e&&this.set({crossOrigin:e}),this.setElement(t)}))}toString(){return'#<Image: { src: \"'.concat(this.getSrc(),'\" }>')}applyResizeFilters(){const t=this.resizeFilter,e=this.minimumScaleTrigger,s=this.getTotalObjectScaling(),i=s.x,r=s.y,n=this._filteredEl||this._originalElement;if(this.group&&this.set(\"dirty\",!0),!t||i>e&&r>e)return this._element=n,this._filterScalingX=1,this._filterScalingY=1,this._lastScaleX=i,void(this._lastScaleY=r);const o=vt(n),{width:a,height:h}=n;this._element=o,this._lastScaleX=t.scaleX=i,this._lastScaleY=t.scaleY=r,ea().applyFilters([t],n,a,h,this._element),this._filterScalingX=o.width/this._originalElement.width,this._filterScalingY=o.height/this._originalElement.height}applyFilters(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.filters||[];if(t=t.filter((t=>t&&!t.isNeutralState())),this.set(\"dirty\",!0),this.removeTexture(\"\".concat(this.cacheKey,\"_filtered\")),0===t.length)return this._element=this._originalElement,this._filteredEl=void 0,this._filterScalingX=1,void(this._filterScalingY=1);const e=this._originalElement,s=e.naturalWidth||e.width,i=e.naturalHeight||e.height;if(this._element===this._originalElement){const t=vt({width:s,height:i});this._element=t,this._filteredEl=t}else this._filteredEl&&(this._element=this._filteredEl,this._filteredEl.getContext(\"2d\").clearRect(0,0,s,i),this._lastScaleX=1,this._lastScaleY=1);ea().applyFilters(t,this._originalElement,s,i,this._element,this.cacheKey),this._originalElement.width===this._element.width&&this._originalElement.height===this._element.height||(this._filterScalingX=this._element.width/this._originalElement.width,this._filterScalingY=this._element.height/this._originalElement.height)}_render(t){t.imageSmoothingEnabled=this.imageSmoothing,!0!==this.isMoving&&this.resizeFilter&&this._needsResize()&&this.applyResizeFilters(),this._stroke(t),this._renderPaintInOrder(t)}drawCacheOnCanvas(t){t.imageSmoothingEnabled=this.imageSmoothing,super.drawCacheOnCanvas(t)}shouldCache(){return this.needsItsOwnCache()}_renderFill(t){const e=this._element;if(!e)return;const s=this._filterScalingX,i=this._filterScalingY,r=this.width,n=this.height,o=Math.max(this.cropX,0),a=Math.max(this.cropY,0),h=e.naturalWidth||e.width,c=e.naturalHeight||e.height,l=o*s,u=a*i,d=Math.min(r*s,h-l),g=Math.min(n*i,c-u),f=-r/2,p=-n/2,m=Math.min(r,h/s-o),v=Math.min(n,c/i-a);e&&t.drawImage(e,l,u,d,g,f,p,m,v)}_needsResize(){const t=this.getTotalObjectScaling();return t.x!==this._lastScaleX||t.y!==this._lastScaleY}_resetWidthHeight(){this.set(this.getOriginalSize())}_setWidthHeight(){let{width:t,height:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const s=this.getOriginalSize();this.width=t||s.width,this.height=e||s.height}parsePreserveAspectRatioAttribute(){const t=Ie(this.preserveAspectRatio||\"\"),e=this.width,s=this.height,i={width:e,height:s};let r,n=this._element.width,o=this._element.height,a=1,h=1,c=0,l=0,u=0,d=0;return!t||t.alignX===j&&t.alignY===j?(a=e/n,h=s/o):(\"meet\"===t.meetOrSlice&&(a=h=Nr(this._element,i),r=(e-n*a)/2,\"Min\"===t.alignX&&(c=-r),\"Max\"===t.alignX&&(c=r),r=(s-o*h)/2,\"Min\"===t.alignY&&(l=-r),\"Max\"===t.alignY&&(l=r)),\"slice\"===t.meetOrSlice&&(a=h=Ur(this._element,i),r=n-e/a,\"Mid\"===t.alignX&&(u=r/2),\"Max\"===t.alignX&&(u=r),r=o-s/h,\"Mid\"===t.alignY&&(d=r/2),\"Max\"===t.alignY&&(d=r),n=e/a,o=s/h)),{width:n,height:o,scaleX:a,scaleY:h,offsetLeft:c,offsetTop:l,cropX:u,cropY:d}}static fromObject(t,e){let{filters:r,resizeFilter:n,src:o,crossOrigin:a,type:h}=t,c=i(t,ia);return Promise.all([It(o,s(s({},e),{},{crossOrigin:a})),r&&Bt(r,e),n&&Bt([n],e),Xt(c,e)]).then((t=>{let[e,i=[],[r]=[],n={}]=t;return new this(e,s(s({},c),{},{src:o,filters:i,resizeFilter:r},n))}))}static fromURL(t){let{crossOrigin:e=null,signal:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2?arguments[2]:void 0;return It(t,{crossOrigin:e,signal:s}).then((t=>new this(t,i)))}static async fromElement(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2?arguments[2]:void 0;const i=Dr(t,this.ATTRIBUTE_NAMES,s);return this.fromURL(i[\"xlink:href\"]||i.href,e,i).catch((t=>(a(\"log\",\"Unable to parse Image\",t),null)))}}function oa(t){if(!cs.test(t.nodeName))return{};const e=t.getAttribute(\"viewBox\");let s,i,r=1,n=1,o=0,a=0;const h=t.getAttribute(\"width\"),c=t.getAttribute(\"height\"),l=t.getAttribute(\"x\")||0,u=t.getAttribute(\"y\")||0,d=!(e&&us.test(e)),g=!h||!c||\"100%\"===h||\"100%\"===c;let f=\"\",p=0,m=0;if(d&&(l||u)&&t.parentNode&&\"#document\"!==t.parentNode.nodeName&&(f=\" translate(\"+Re(l||\"0\")+\" \"+Re(u||\"0\")+\") \",s=(t.getAttribute(\"transform\")||\"\")+f,t.setAttribute(\"transform\",s),t.removeAttribute(\"x\"),t.removeAttribute(\"y\")),d&&g)return{width:0,height:0};const v={width:0,height:0};if(d)return v.width=Re(h),v.height=Re(c),v;const y=e.match(us);o=-parseFloat(y[1]),a=-parseFloat(y[2]);const _=parseFloat(y[3]),x=parseFloat(y[4]);v.minX=o,v.minY=a,v.viewBoxWidth=_,v.viewBoxHeight=x,g?(v.width=_,v.height=x):(v.width=Re(h),v.height=Re(c),r=v.width/_,n=v.height/x);const C=Ie(t.getAttribute(\"preserveAspectRatio\")||\"\");if(C.alignX!==j&&(\"meet\"===C.meetOrSlice&&(n=r=r>n?n:r),\"slice\"===C.meetOrSlice&&(n=r=r>n?r:n),p=v.width-_*r,m=v.height-x*r,\"Mid\"===C.alignX&&(p/=2),\"Mid\"===C.alignY&&(m/=2),\"Min\"===C.alignX&&(p=0),\"Min\"===C.alignY&&(m=0)),1===r&&1===n&&0===o&&0===a&&0===l&&0===u)return v;if((l||u)&&\"#document\"!==t.parentNode.nodeName&&(f=\" translate(\"+Re(l||\"0\")+\" \"+Re(u||\"0\")+\") \"),s=f+\" matrix(\"+r+\" 0 0 \"+n+\" \"+(o*r+p)+\" \"+(a*n+m)+\") \",\"svg\"===t.nodeName){for(i=t.ownerDocument.createElementNS(is,\"g\");t.firstChild;)i.appendChild(t.firstChild);t.appendChild(i)}else i=t,i.removeAttribute(\"x\"),i.removeAttribute(\"y\"),s=i.getAttribute(\"transform\")+s;return i.setAttribute(\"transform\",s),v}t(na,\"type\",\"Image\"),t(na,\"cacheProperties\",[...Ms,...ra]),t(na,\"ownDefaults\",{strokeWidth:0,srcFromAttribute:!1,minimumScaleTrigger:.5,cropX:0,cropY:0,imageSmoothing:!0}),t(na,\"CSS_CANVAS\",\"canvas-img\"),t(na,\"ATTRIBUTE_NAMES\",[...Ji,\"x\",\"y\",\"width\",\"height\",\"preserveAspectRatio\",\"xlink:href\",\"href\",\"crossOrigin\",\"image-rendering\"]),tt.setClass(na),tt.setSVGClass(na);const aa=t=>t.tagName.replace(\"svg:\",\"\"),ha=Ye([\"pattern\",\"defs\",\"symbol\",\"metadata\",\"clipPath\",\"mask\",\"desc\"]);function ca(t,e){let s,i,r,n,o=[];for(r=0,n=e.length;r<n;r++)s=e[r],i=t.getElementsByTagNameNS(\"http://www.w3.org/2000/svg\",s),o=o.concat(Array.from(i));return o}const la=[\"gradientTransform\",\"x1\",\"x2\",\"y1\",\"y2\",\"gradientUnits\",\"cx\",\"cy\",\"r\",\"fx\",\"fy\"],ua=\"xlink:href\";function da(t,e){var s;const i=(null===(s=e.getAttribute(ua))||void 0===s?void 0:s.slice(1))||\"\",r=t.getElementById(i);if(r&&r.getAttribute(ua)&&da(t,r),r&&(la.forEach((t=>{const s=r.getAttribute(t);!e.hasAttribute(t)&&s&&e.setAttribute(t,s)})),!e.children.length)){const t=r.cloneNode(!0);for(;t.firstChild;)e.appendChild(t.firstChild)}e.removeAttribute(ua)}const ga=[\"linearGradient\",\"radialGradient\",\"svg:linearGradient\",\"svg:radialGradient\"];function fa(t){const e=t.getElementsByTagName(\"style\"),i={};for(let t=0;t<e.length;t++){const r=(e[t].textContent||\"\").replace(/\\/\\*[\\s\\S]*?\\*\\//g,\"\");\"\"!==r.trim()&&r.split(\"}\").filter(((t,e,s)=>s.length>1&&t.trim())).forEach((t=>{if((t.match(/{/g)||[]).length>1&&t.trim().startsWith(\"@\"))return;const e=t.split(\"{\"),r={},n=e[1].trim().split(\";\").filter((function(t){return t.trim()}));for(let t=0;t<n.length;t++){const e=n[t].split(\":\"),s=e[0].trim(),i=e[1].trim();r[s]=i}(t=e[0].trim()).split(\",\").forEach((t=>{\"\"!==(t=t.replace(/^svg/i,\"\").trim())&&(i[t]=s(s({},i[t]||{}),r))}))}))}return i}const pa=t=>tt.getSVGClass(aa(t).toLowerCase());class ma{constructor(t,e,s,i,r){this.elements=t,this.options=e,this.reviver=s,this.regexUrl=/^url\\(['\"]?#([^'\"]+)['\"]?\\)/g,this.doc=i,this.clipPaths=r,this.gradientDefs=function(t){const e=ca(t,ga),s={};let i=e.length;for(;i--;){const r=e[i];r.getAttribute(\"xlink:href\")&&da(t,r);const n=r.getAttribute(\"id\");n&&(s[n]=r)}return s}(i),this.cssRules=fa(i)}parse(){return Promise.all(this.elements.map((t=>this.createObject(t))))}async createObject(t){const e=pa(t);if(e){const s=await e.fromElement(t,this.options,this.cssRules);return this.resolveGradient(s,t,K),this.resolveGradient(s,t,J),s instanceof na&&s._originalElement?On(s,s.parsePreserveAspectRatioAttribute()):On(s),await this.resolveClipPath(s,t),this.reviver&&this.reviver(t,s),s}return null}extractPropertyDefinition(t,e,s){const i=t[e],r=this.regexUrl;if(!r.test(i))return;r.lastIndex=0;const n=r.exec(i)[1];return r.lastIndex=0,s[n]}resolveGradient(t,e,i){const r=this.extractPropertyDefinition(t,i,this.gradientDefs);if(r){const n=e.getAttribute(i+\"-opacity\"),o=Zn.fromElement(r,t,s(s({},this.options),{},{opacity:n}));t.set(i,o)}}async resolveClipPath(t,e,s){const i=this.extractPropertyDefinition(t,\"clipPath\",this.clipPaths);if(i){const r=wt(t.calcTransformMatrix()),n=i[0].parentElement;let o=e;for(;!s&&o.parentElement&&o.getAttribute(\"clip-path\")!==t.clipPath;)o=o.parentElement;o.parentElement.appendChild(n);const a=br(\"\".concat(o.getAttribute(\"transform\")||\"\",\" \").concat(n.getAttribute(\"originalTransform\")||\"\"));n.setAttribute(\"transform\",\"matrix(\".concat(a.join(\",\"),\")\"));const h=await Promise.all(i.map((t=>pa(t).fromElement(t,this.options,this.cssRules).then((t=>(On(t),t.fillRule=t.clipRule,delete t.clipRule,t)))))),c=1===h.length?h[0]:new Hr(h),l=Tt(r,c.calcTransformMatrix());c.clipPath&&await this.resolveClipPath(c,o,n.getAttribute(\"clip-path\")?o:void 0);const{scaleX:u,scaleY:d,angle:g,skewX:f,translateX:p,translateY:m}=Dt(l);c.set({flipX:!1,flipY:!1}),c.set({scaleX:u,scaleY:d,angle:g,skewX:f,skewY:0}),c.setPositionByOrigin(new ot(p,m),D,D),t.clipPath=c}else delete t.clipPath}}const va=t=>hs.test(aa(t)),ya=()=>({objects:[],elements:[],options:{},allElements:[]});async function _a(t,e){let{crossOrigin:i,signal:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(r&&r.aborted)return a(\"log\",new c(\"parseSVGDocument\")),ya();const n=t.documentElement;!function(t){const e=ca(t,[\"use\",\"svg:use\"]),s=[\"x\",\"y\",\"xlink:href\",\"href\",\"transform\"];for(const i of e){const e=i.attributes,r={};for(const t of e)t.value&&(r[t.name]=t.value);const n=(r[\"xlink:href\"]||r.href||\"\").slice(1);if(\"\"===n)return;const o=t.getElementById(n);if(null===o)return;let a=o.cloneNode(!0);const h=a.attributes,c={};for(const t of h)t.value&&(c[t.name]=t.value);const{x:l=0,y:u=0,transform:d=\"\"}=r,g=\"\".concat(d,\" \").concat(c.transform||\"\",\" translate(\").concat(l,\", \").concat(u,\")\");if(oa(a),/^svg$/i.test(a.nodeName)){const t=a.ownerDocument.createElementNS(is,\"g\");Object.entries(c).forEach((e=>{let[s,i]=e;return t.setAttributeNS(is,s,i)})),t.append(...a.childNodes),a=t}for(const t of e){if(!t)continue;const{name:e,value:i}=t;if(!s.includes(e))if(\"style\"===e){const t={};Tr(i,t),Object.entries(c).forEach((e=>{let[s,i]=e;t[s]=i})),Tr(c.style||\"\",t);const s=Object.entries(t).map((t=>t.join(\":\"))).join(\";\");a.setAttribute(e,s)}else!c[e]&&a.setAttribute(e,i)}a.setAttribute(\"transform\",g),a.setAttribute(\"instantiated_by_use\",\"1\"),a.removeAttribute(\"id\"),i.parentNode.replaceChild(a,i)}}(t);const o=Array.from(n.getElementsByTagName(\"*\")),h=s(s({},oa(n)),{},{crossOrigin:i,signal:r}),l=o.filter((t=>(oa(t),va(t)&&!function(t){let e=t;for(;e&&(e=e.parentElement);)if(e&&e.nodeName&&ha.test(aa(e))&&!e.getAttribute(\"instantiated_by_use\"))return!0;return!1}(t))));if(!l||l&&!l.length)return s(s({},ya()),{},{options:h,allElements:o});const u={};o.filter((t=>\"clipPath\"===aa(t))).forEach((t=>{t.setAttribute(\"originalTransform\",t.getAttribute(\"transform\")||\"\");const e=t.getAttribute(\"id\");u[e]=Array.from(t.getElementsByTagName(\"*\")).filter((t=>va(t)))}));const d=new ma(l,h,e,t,u);return{objects:await d.parse(),elements:l,options:h,allElements:o}}function xa(t,e,s){return _a((new(v().DOMParser)).parseFromString(t.trim(),\"text/xml\"),e,s)}function Ca(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((e,i)=>{Tn(t.replace(/^\\n\\s*/,\"\").trim(),{onComplete:t=>{const s=t.responseXML;s&&e(s),i()},signal:s.signal})})).then((t=>_a(t,e,s))).catch((()=>ya()))}const ba=W,Sa=t=>function(e,s,i){const{points:r,pathOffset:n}=i;return new ot(r[t]).subtract(n).transform(Tt(i.getViewportTransform(),i.calcTransformMatrix()))},wa=(t,e,s,i)=>{const{target:r,pointIndex:n}=e,o=r,a=pe(new ot(s,i),void 0,o.calcOwnMatrix());return o.points[n]=a.add(o.pathOffset),o.setDimensions(),o.set(\"dirty\",!0),!0},Ta=(t,e)=>function(i,r,n,o){const a=r.target,h=new ot(a.points[(t>0?t:a.points.length)-1]),c=h.subtract(a.pathOffset).transform(a.calcOwnMatrix()),l=e(i,s(s({},r),{},{pointIndex:t}),n,o),u=h.subtract(a.pathOffset).transform(a.calcOwnMatrix()).subtract(c);return a.left-=u.x,a.top-=u.y,l},Oa=t=>ti(ba,Ta(t,wa));const ka=(t,e,s)=>{const{path:i,pathOffset:r}=t,n=i[e];return new ot(n[s]-r.x,n[s+1]-r.y).transform(Tt(t.getViewportTransform(),t.calcTransformMatrix()))};function Da(t,e,s){const{commandIndex:i,pointIndex:r}=this;return ka(s,i,r)}function Ma(t,e,i,r){const{target:n}=e,{commandIndex:o,pointIndex:a}=this,h=((t,e,s,i,r)=>{const{path:n,pathOffset:o}=t,a=n[(i>0?i:n.length)-1],h=new ot(a[r],a[r+1]),c=h.subtract(o).transform(t.calcOwnMatrix()),l=pe(new ot(e,s),void 0,t.calcOwnMatrix());n[i][r]=l.x+o.x,n[i][r+1]=l.y+o.y,t.setDimensions();const u=h.subtract(t.pathOffset).transform(t.calcOwnMatrix()).subtract(c);return t.left-=u.x,t.top-=u.y,t.set(\"dirty\",!0),!0})(n,i,r,o,a);return ye(this.actionName,s(s({},Te(t,e,i,r)),{},{commandIndex:o,pointIndex:a})),h}class Pa extends ni{constructor(t){super(t)}render(t,e,i,r,n){const o=s(s({},r),{},{cornerColor:this.controlFill,cornerStrokeColor:this.controlStroke,transparentCorners:!this.controlFill});super.render(t,e,i,o,n)}}class Ea extends Pa{constructor(t){super(t)}render(t,e,s,i,r){const{path:n}=r,{commandIndex:o,pointIndex:a,connectToCommandIndex:h,connectToPointIndex:c}=this;t.save(),t.strokeStyle=this.controlStroke,this.connectionDashArray&&t.setLineDash(this.connectionDashArray);const[l]=n[o],u=ka(r,h,c);if(\"Q\"===l){const i=ka(r,o,a+2);t.moveTo(i.x,i.y),t.lineTo(e,s)}else t.moveTo(e,s);t.lineTo(u.x,u.y),t.stroke(),t.restore(),super.render(t,e,s,i,r)}}const Aa=(t,e,i,r,n,o)=>new(i?Ea:Pa)(s(s({commandIndex:t,pointIndex:e,actionName:\"modifyPath\",positionHandler:Da,actionHandler:Ma,connectToCommandIndex:n,connectToPointIndex:o},r),i?r.controlPointStyle:r.pointStyle));var ja=Object.freeze({__proto__:null,changeWidth:si,createObjectDefaultControls:Di,createPathControls:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s={};let i=\"M\";return t.path.forEach(((t,r)=>{const n=t[0];switch(\"Z\"!==n&&(s[\"c_\".concat(r,\"_\").concat(n)]=Aa(r,t.length-2,!1,e)),n){case\"C\":s[\"c_\".concat(r,\"_C_CP_1\")]=Aa(r,1,!0,e,r-1,(t=>\"C\"===t?5:\"Q\"===t?3:1)(i)),s[\"c_\".concat(r,\"_C_CP_2\")]=Aa(r,3,!0,e,r,5);break;case\"Q\":s[\"c_\".concat(r,\"_Q_CP_1\")]=Aa(r,1,!0,e,r,3)}i=n})),s},createPolyActionHandler:Oa,createPolyControls:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i={};for(let r=0;r<(\"number\"==typeof t?t:t.points.length);r++)i[\"p\".concat(r)]=new ni(s({actionName:ba,positionHandler:Sa(r),actionHandler:Oa(r)},e));return i},createPolyPositionHandler:Sa,createResizeControls:Mi,createTextboxDefaultControls:Pi,dragHandler:De,factoryPolyActionHandler:Ta,getLocalPoint:ke,polyActionHandler:wa,renderCircleControl:ii,renderSquareControl:ri,rotationStyleHandler:oi,rotationWithSnapping:ai,scaleCursorStyleHandler:ui,scaleOrSkewActionName:wi,scaleSkewCursorStyleHandler:Ti,scalingEqually:gi,scalingX:fi,scalingXOrSkewingY:Oi,scalingY:pi,scalingYOrSkewingX:ki,skewCursorStyleHandler:_i,skewHandlerX:Ci,skewHandlerY:bi,wrapWithFireEvent:ti,wrapWithFixedAnchor:ei});const Fa=t=>void 0!==t.webgl,La=(t,e)=>{const s=vt({width:t,height:e}),i=pt().getContext(\"webgl\"),r={imageBuffer:new ArrayBuffer(t*e*4)},n={destinationWidth:t,destinationHeight:e,targetCanvas:s};let o;o=v().performance.now(),Zo.prototype.copyGLTo2D.call(r,i,n);const a=v().performance.now()-o;o=v().performance.now(),Zo.prototype.copyGLTo2DPutImageData.call(r,i,n);return a>v().performance.now()-o},Ra=\"precision highp float\",Ia=\"\\n \".concat(Ra,\";\\n varying vec2 vTexCoord;\\n uniform sampler2D uTexture;\\n void main() {\\n gl_FragColor = texture2D(uTexture, vTexCoord);\\n }\"),Ba=[\"type\"],Xa=[\"type\"],Ya=new RegExp(Ra,\"g\");class Wa{get type(){return this.constructor.type}constructor(){let t=i(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},Ba);Object.assign(this,this.constructor.defaults,t)}getFragmentSource(){return Ia}getVertexSource(){return\"\\n attribute vec2 aPosition;\\n varying vec2 vTexCoord;\\n void main() {\\n vTexCoord = aPosition;\\n gl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\\n }\"}createProgram(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.getFragmentSource(),s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.getVertexSource();const{WebGLProbe:{GLPrecision:i=\"highp\"}}=p();\"highp\"!==i&&(e=e.replace(Ya,Ra.replace(\"highp\",i)));const r=t.createShader(t.VERTEX_SHADER),n=t.createShader(t.FRAGMENT_SHADER),o=t.createProgram();if(!r||!n||!o)throw new h(\"Vertex, fragment shader or program creation error\");if(t.shaderSource(r,s),t.compileShader(r),!t.getShaderParameter(r,t.COMPILE_STATUS))throw new h(\"Vertex shader compile error for \".concat(this.type,\": \").concat(t.getShaderInfoLog(r)));if(t.shaderSource(n,e),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new h(\"Fragment shader compile error for \".concat(this.type,\": \").concat(t.getShaderInfoLog(n)));if(t.attachShader(o,r),t.attachShader(o,n),t.linkProgram(o),!t.getProgramParameter(o,t.LINK_STATUS))throw new h('Shader link error for \"'.concat(this.type,'\" ').concat(t.getProgramInfoLog(o)));const a=this.getUniformLocations(t,o)||{};return a.uStepW=t.getUniformLocation(o,\"uStepW\"),a.uStepH=t.getUniformLocation(o,\"uStepH\"),{program:o,attributeLocations:this.getAttributeLocations(t,o),uniformLocations:a}}getAttributeLocations(t,e){return{aPosition:t.getAttribLocation(e,\"aPosition\")}}getUniformLocations(t,e){const s=this.constructor.uniformLocations,i={};for(let r=0;r<s.length;r++)i[s[r]]=t.getUniformLocation(e,s[r]);return i}sendAttributeData(t,e,s){const i=e.aPosition,r=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,r),t.enableVertexAttribArray(i),t.vertexAttribPointer(i,2,t.FLOAT,!1,0,0),t.bufferData(t.ARRAY_BUFFER,s,t.STATIC_DRAW)}_setupFrameBuffer(t){const e=t.context;if(t.passes>1){const s=t.destinationWidth,i=t.destinationHeight;t.sourceWidth===s&&t.sourceHeight===i||(e.deleteTexture(t.targetTexture),t.targetTexture=t.filterBackend.createTexture(e,s,i)),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t.targetTexture,0)}else e.bindFramebuffer(e.FRAMEBUFFER,null),e.finish()}_swapTextures(t){t.passes--,t.pass++;const e=t.targetTexture;t.targetTexture=t.sourceTexture,t.sourceTexture=e}isNeutralState(t){return!1}applyTo(t){Fa(t)?(this._setupFrameBuffer(t),this.applyToWebGL(t),this._swapTextures(t)):this.applyTo2d(t)}applyTo2d(t){}getCacheKey(){return this.type}retrieveShader(t){const e=this.getCacheKey();return t.programCache[e]||(t.programCache[e]=this.createProgram(t.context)),t.programCache[e]}applyToWebGL(t){const e=t.context,s=this.retrieveShader(t);0===t.pass&&t.originalTexture?e.bindTexture(e.TEXTURE_2D,t.originalTexture):e.bindTexture(e.TEXTURE_2D,t.sourceTexture),e.useProgram(s.program),this.sendAttributeData(e,s.attributeLocations,t.aPosition),e.uniform1f(s.uniformLocations.uStepW,1/t.sourceWidth),e.uniform1f(s.uniformLocations.uStepH,1/t.sourceHeight),this.sendUniformData(e,s.uniformLocations),e.viewport(0,0,t.destinationWidth,t.destinationHeight),e.drawArrays(e.TRIANGLE_STRIP,0,4)}bindAdditionalTexture(t,e,s){t.activeTexture(s),t.bindTexture(t.TEXTURE_2D,e),t.activeTexture(t.TEXTURE0)}unbindAdditionalTexture(t,e){t.activeTexture(e),t.bindTexture(t.TEXTURE_2D,null),t.activeTexture(t.TEXTURE0)}sendUniformData(t,e){}createHelpLayer(t){if(!t.helpLayer){const{sourceWidth:e,sourceHeight:s}=t,i=vt({width:e,height:s});t.helpLayer=i}}toObject(){const t=Object.keys(this.constructor.defaults||{});return s({type:this.type},t.reduce(((t,e)=>(t[e]=this[e],t)),{}))}toJSON(){return this.toObject()}static async fromObject(t,e){return new this(i(t,Xa))}}t(Wa,\"type\",\"BaseFilter\"),t(Wa,\"uniformLocations\",[]);const Va={multiply:\"gl_FragColor.rgb *= uColor.rgb;\\n\",screen:\"gl_FragColor.rgb = 1.0 - (1.0 - gl_FragColor.rgb) * (1.0 - uColor.rgb);\\n\",add:\"gl_FragColor.rgb += uColor.rgb;\\n\",difference:\"gl_FragColor.rgb = abs(gl_FragColor.rgb - uColor.rgb);\\n\",subtract:\"gl_FragColor.rgb -= uColor.rgb;\\n\",lighten:\"gl_FragColor.rgb = max(gl_FragColor.rgb, uColor.rgb);\\n\",darken:\"gl_FragColor.rgb = min(gl_FragColor.rgb, uColor.rgb);\\n\",exclusion:\"gl_FragColor.rgb += uColor.rgb - 2.0 * (uColor.rgb * gl_FragColor.rgb);\\n\",overlay:\"\\n if (uColor.r < 0.5) {\\n gl_FragColor.r *= 2.0 * uColor.r;\\n } else {\\n gl_FragColor.r = 1.0 - 2.0 * (1.0 - gl_FragColor.r) * (1.0 - uColor.r);\\n }\\n if (uColor.g < 0.5) {\\n gl_FragColor.g *= 2.0 * uColor.g;\\n } else {\\n gl_FragColor.g = 1.0 - 2.0 * (1.0 - gl_FragColor.g) * (1.0 - uColor.g);\\n }\\n if (uColor.b < 0.5) {\\n gl_FragColor.b *= 2.0 * uColor.b;\\n } else {\\n gl_FragColor.b = 1.0 - 2.0 * (1.0 - gl_FragColor.b) * (1.0 - uColor.b);\\n }\\n \",tint:\"\\n gl_FragColor.rgb *= (1.0 - uColor.a);\\n gl_FragColor.rgb += uColor.rgb;\\n \"};class za extends Wa{getCacheKey(){return\"\".concat(this.type,\"_\").concat(this.mode)}getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform vec4 uColor;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n gl_FragColor = color;\\n if (color.a > 0.0) {\\n \".concat(Va[this.mode],\"\\n }\\n }\\n \")}applyTo2d(t){let{imageData:{data:e}}=t;const s=new Le(this.color).getSource(),i=this.alpha,r=s[0]*i,n=s[1]*i,o=s[2]*i,a=1-i;for(let t=0;t<e.length;t+=4){const s=e[t],i=e[t+1],h=e[t+2];let c,l,u;switch(this.mode){case\"multiply\":c=s*r/255,l=i*n/255,u=h*o/255;break;case\"screen\":c=255-(255-s)*(255-r)/255,l=255-(255-i)*(255-n)/255,u=255-(255-h)*(255-o)/255;break;case\"add\":c=s+r,l=i+n,u=h+o;break;case\"difference\":c=Math.abs(s-r),l=Math.abs(i-n),u=Math.abs(h-o);break;case\"subtract\":c=s-r,l=i-n,u=h-o;break;case\"darken\":c=Math.min(s,r),l=Math.min(i,n),u=Math.min(h,o);break;case\"lighten\":c=Math.max(s,r),l=Math.max(i,n),u=Math.max(h,o);break;case\"overlay\":c=r<128?2*s*r/255:255-2*(255-s)*(255-r)/255,l=n<128?2*i*n/255:255-2*(255-i)*(255-n)/255,u=o<128?2*h*o/255:255-2*(255-h)*(255-o)/255;break;case\"exclusion\":c=r+s-2*r*s/255,l=n+i-2*n*i/255,u=o+h-2*o*h/255;break;case\"tint\":c=r+s*a,l=n+i*a,u=o+h*a}e[t]=c,e[t+1]=l,e[t+2]=u}}sendUniformData(t,e){const s=new Le(this.color).getSource();s[0]=this.alpha*s[0]/255,s[1]=this.alpha*s[1]/255,s[2]=this.alpha*s[2]/255,s[3]=this.alpha,t.uniform4fv(e.uColor,s)}}t(za,\"defaults\",{color:\"#F95C63\",mode:\"multiply\",alpha:1}),t(za,\"type\",\"BlendColor\"),t(za,\"uniformLocations\",[\"uColor\"]),tt.setClass(za);const Ga={multiply:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform sampler2D uImage;\\n uniform vec4 uColor;\\n varying vec2 vTexCoord;\\n varying vec2 vTexCoord2;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n vec4 color2 = texture2D(uImage, vTexCoord2);\\n color.rgba *= color2.rgba;\\n gl_FragColor = color;\\n }\\n \",mask:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform sampler2D uImage;\\n uniform vec4 uColor;\\n varying vec2 vTexCoord;\\n varying vec2 vTexCoord2;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n vec4 color2 = texture2D(uImage, vTexCoord2);\\n color.a = color2.a;\\n gl_FragColor = color;\\n }\\n \"},Ha=[\"type\",\"image\"];class Na extends Wa{getCacheKey(){return\"\".concat(this.type,\"_\").concat(this.mode)}getFragmentSource(){return Ga[this.mode]}getVertexSource(){return\"\\n attribute vec2 aPosition;\\n varying vec2 vTexCoord;\\n varying vec2 vTexCoord2;\\n uniform mat3 uTransformMatrix;\\n void main() {\\n vTexCoord = aPosition;\\n vTexCoord2 = (uTransformMatrix * vec3(aPosition, 1.0)).xy;\\n gl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\\n }\\n \"}applyToWebGL(t){const e=t.context,s=this.createTexture(t.filterBackend,this.image);this.bindAdditionalTexture(e,s,e.TEXTURE1),super.applyToWebGL(t),this.unbindAdditionalTexture(e,e.TEXTURE1)}createTexture(t,e){return t.getCachedTexture(e.cacheKey,e.getElement())}calculateMatrix(){const t=this.image,{width:e,height:s}=t.getElement();return[1/t.scaleX,0,0,0,1/t.scaleY,0,-t.left/e,-t.top/s,1]}applyTo2d(t){let{imageData:{data:e,width:s,height:i},filterBackend:{resources:r}}=t;const n=this.image;r.blendImage||(r.blendImage=pt());const o=r.blendImage,a=o.getContext(\"2d\");o.width!==s||o.height!==i?(o.width=s,o.height=i):a.clearRect(0,0,s,i),a.setTransform(n.scaleX,0,0,n.scaleY,n.left,n.top),a.drawImage(n.getElement(),0,0,s,i);const h=a.getImageData(0,0,s,i).data;for(let t=0;t<e.length;t+=4){const s=e[t],i=e[t+1],r=e[t+2],n=e[t+3],o=h[t],a=h[t+1],c=h[t+2],l=h[t+3];switch(this.mode){case\"multiply\":e[t]=s*o/255,e[t+1]=i*a/255,e[t+2]=r*c/255,e[t+3]=n*l/255;break;case\"mask\":e[t+3]=l}}}sendUniformData(t,e){const s=this.calculateMatrix();t.uniform1i(e.uImage,1),t.uniformMatrix3fv(e.uTransformMatrix,!1,s)}toObject(){return s(s({},super.toObject()),{},{image:this.image&&this.image.toObject()})}static async fromObject(t,e){let{type:r,image:n}=t,o=i(t,Ha);return na.fromObject(n,e).then((t=>new this(s(s({},o),{},{image:t}))))}}t(Na,\"type\",\"BlendImage\"),t(Na,\"defaults\",{mode:\"multiply\",alpha:1}),t(Na,\"uniformLocations\",[\"uTransformMatrix\",\"uImage\"]),tt.setClass(Na);class Ua extends Wa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform vec2 uDelta;\\n varying vec2 vTexCoord;\\n const float nSamples = 15.0;\\n vec3 v3offset = vec3(12.9898, 78.233, 151.7182);\\n float random(vec3 scale) {\\n /* use the fragment position for a different seed per-pixel */\\n return fract(sin(dot(gl_FragCoord.xyz, scale)) * 43758.5453);\\n }\\n void main() {\\n vec4 color = vec4(0.0);\\n float totalC = 0.0;\\n float totalA = 0.0;\\n float offset = random(v3offset);\\n for (float t = -nSamples; t <= nSamples; t++) {\\n float percent = (t + offset - 0.5) / nSamples;\\n vec4 sample = texture2D(uTexture, vTexCoord + uDelta * percent);\\n float weight = 1.0 - abs(percent);\\n float alpha = weight * sample.a;\\n color.rgb += sample.rgb * alpha;\\n color.a += alpha;\\n totalA += weight;\\n totalC += alpha;\\n }\\n gl_FragColor.rgb = color.rgb / totalC;\\n gl_FragColor.a = color.a / totalA;\\n }\\n \"}applyTo(t){Fa(t)?(this.aspectRatio=t.sourceWidth/t.sourceHeight,t.passes++,this._setupFrameBuffer(t),this.horizontal=!0,this.applyToWebGL(t),this._swapTextures(t),this._setupFrameBuffer(t),this.horizontal=!1,this.applyToWebGL(t),this._swapTextures(t)):this.applyTo2d(t)}applyTo2d(t){let{imageData:{data:e,width:s,height:i}}=t;this.aspectRatio=s/i,this.horizontal=!0;let r=this.getBlurValue()*s;const n=new Uint8ClampedArray(e),o=15,a=4*s;for(let t=0;t<e.length;t+=4){let s=0,i=0,h=0,c=0,l=0;const u=t-t%a,d=u+a;for(let n=-14;n<o;n++){const a=n/o,g=4*Math.floor(r*a),f=1-Math.abs(a);let p=t+g;p<u?p=u:p>d&&(p=d);const m=e[p+3]*f;s+=e[p]*m,i+=e[p+1]*m,h+=e[p+2]*m,c+=m,l+=f}n[t]=s/c,n[t+1]=i/c,n[t+2]=h/c,n[t+3]=c/l}this.horizontal=!1,r=this.getBlurValue()*i;for(let t=0;t<n.length;t+=4){let s=0,i=0,h=0,c=0,l=0;const u=t%a,d=n.length-a+u;for(let e=-14;e<o;e++){const g=e/o,f=Math.floor(r*g)*a,p=1-Math.abs(g);let m=t+f;m<u?m=u:m>d&&(m=d);const v=n[m+3]*p;s+=n[m]*v,i+=n[m+1]*v,h+=n[m+2]*v,c+=v,l+=p}e[t]=s/c,e[t+1]=i/c,e[t+2]=h/c,e[t+3]=c/l}}sendUniformData(t,e){const s=this.chooseRightDelta();t.uniform2fv(e.uDelta,s)}isNeutralState(){return 0===this.blur}getBlurValue(){let t=1;const{horizontal:e,aspectRatio:s}=this;return e?s>1&&(t=1/s):s<1&&(t=s),t*this.blur*.12}chooseRightDelta(){const t=this.getBlurValue();return this.horizontal?[t,0]:[0,t]}}t(Ua,\"type\",\"Blur\"),t(Ua,\"defaults\",{blur:0}),t(Ua,\"uniformLocations\",[\"uDelta\"]),tt.setClass(Ua);class qa extends Wa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uBrightness;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n color.rgb += uBrightness;\\n gl_FragColor = color;\\n }\\n\"}applyTo2d(t){let{imageData:{data:e}}=t;const s=Math.round(255*this.brightness);for(let t=0;t<e.length;t+=4)e[t]+=s,e[t+1]+=s,e[t+2]+=s}isNeutralState(){return 0===this.brightness}sendUniformData(t,e){t.uniform1f(e.uBrightness,this.brightness)}}t(qa,\"type\",\"Brightness\"),t(qa,\"defaults\",{brightness:0}),t(qa,\"uniformLocations\",[\"uBrightness\"]),tt.setClass(qa);const Ka={matrix:[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0],colorsOnly:!0};class Ja extends Wa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n varying vec2 vTexCoord;\\n uniform mat4 uColorMatrix;\\n uniform vec4 uConstants;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n color *= uColorMatrix;\\n color += uConstants;\\n gl_FragColor = color;\\n }\"}applyTo2d(t){const e=t.imageData.data,s=this.matrix,i=this.colorsOnly;for(let t=0;t<e.length;t+=4){const r=e[t],n=e[t+1],o=e[t+2];if(e[t]=r*s[0]+n*s[1]+o*s[2]+255*s[4],e[t+1]=r*s[5]+n*s[6]+o*s[7]+255*s[9],e[t+2]=r*s[10]+n*s[11]+o*s[12]+255*s[14],!i){const i=e[t+3];e[t]+=i*s[3],e[t+1]+=i*s[8],e[t+2]+=i*s[13],e[t+3]=r*s[15]+n*s[16]+o*s[17]+i*s[18]+255*s[19]}}}sendUniformData(t,e){const s=this.matrix,i=[s[0],s[1],s[2],s[3],s[5],s[6],s[7],s[8],s[10],s[11],s[12],s[13],s[15],s[16],s[17],s[18]],r=[s[4],s[9],s[14],s[19]];t.uniformMatrix4fv(e.uColorMatrix,!1,i),t.uniform4fv(e.uConstants,r)}toObject(){return s(s({},super.toObject()),{},{matrix:[...this.matrix]})}}function Qa(e,s){var i;const r=(t(i=class extends Ja{toObject(){return{type:this.type,colorsOnly:this.colorsOnly}}},\"type\",e),t(i,\"defaults\",{colorsOnly:!1,matrix:s}),i);return tt.setClass(r,e),r}t(Ja,\"type\",\"ColorMatrix\"),t(Ja,\"defaults\",Ka),t(Ja,\"uniformLocations\",[\"uColorMatrix\",\"uConstants\"]),tt.setClass(Ja);const Za=Qa(\"Brownie\",[.5997,.34553,-.27082,0,.186,-.0377,.86095,.15059,0,-.1449,.24113,-.07441,.44972,0,-.02965,0,0,0,1,0]),$a=Qa(\"Vintage\",[.62793,.32021,-.03965,0,.03784,.02578,.64411,.03259,0,.02926,.0466,-.08512,.52416,0,.02023,0,0,0,1,0]),th=Qa(\"Kodachrome\",[1.12855,-.39673,-.03992,0,.24991,-.16404,1.08352,-.05498,0,.09698,-.16786,-.56034,1.60148,0,.13972,0,0,0,1,0]),eh=Qa(\"Technicolor\",[1.91252,-.85453,-.09155,0,.04624,-.30878,1.76589,-.10601,0,-.27589,-.2311,-.75018,1.84759,0,.12137,0,0,0,1,0]),sh=Qa(\"Polaroid\",[1.438,-.062,-.062,0,0,-.122,1.378,-.122,0,0,-.016,-.016,1.483,0,0,0,0,0,1,0]),ih=Qa(\"Sepia\",[.393,.769,.189,0,0,.349,.686,.168,0,0,.272,.534,.131,0,0,0,0,0,1,0]),rh=Qa(\"BlackWhite\",[1.5,1.5,1.5,0,-1,1.5,1.5,1.5,0,-1,1.5,1.5,1.5,0,-1,0,0,0,1,0]);class nh extends Wa{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(t),this.subFilters=t.subFilters||[]}applyTo(t){Fa(t)&&(t.passes+=this.subFilters.length-1),this.subFilters.forEach((e=>{e.applyTo(t)}))}toObject(){return{type:this.type,subFilters:this.subFilters.map((t=>t.toObject()))}}isNeutralState(){return!this.subFilters.some((t=>!t.isNeutralState()))}static fromObject(t,e){return Promise.all((t.subFilters||[]).map((t=>tt.getClass(t.type).fromObject(t,e)))).then((t=>new this({subFilters:t})))}}t(nh,\"type\",\"Composed\"),tt.setClass(nh);class oh extends Wa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uContrast;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n float contrastF = 1.015 * (uContrast + 1.0) / (1.0 * (1.015 - uContrast));\\n color.rgb = contrastF * (color.rgb - 0.5) + 0.5;\\n gl_FragColor = color;\\n }\"}isNeutralState(){return 0===this.contrast}applyTo2d(t){let{imageData:{data:e}}=t;const s=Math.floor(255*this.contrast),i=259*(s+255)/(255*(259-s));for(let t=0;t<e.length;t+=4)e[t]=i*(e[t]-128)+128,e[t+1]=i*(e[t+1]-128)+128,e[t+2]=i*(e[t+2]-128)+128}sendUniformData(t,e){t.uniform1f(e.uContrast,this.contrast)}}t(oh,\"type\",\"Contrast\"),t(oh,\"defaults\",{contrast:0}),t(oh,\"uniformLocations\",[\"uContrast\"]),tt.setClass(oh);const ah={Convolute_3_1:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[9];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 0);\\n for (float h = 0.0; h < 3.0; h+=1.0) {\\n for (float w = 0.0; w < 3.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 1), uStepH * (h - 1));\\n color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 3.0 + w)];\\n }\\n }\\n gl_FragColor = color;\\n }\\n \",Convolute_3_0:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[9];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 1);\\n for (float h = 0.0; h < 3.0; h+=1.0) {\\n for (float w = 0.0; w < 3.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 1.0), uStepH * (h - 1.0));\\n color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 3.0 + w)];\\n }\\n }\\n float alpha = texture2D(uTexture, vTexCoord).a;\\n gl_FragColor = color;\\n gl_FragColor.a = alpha;\\n }\\n \",Convolute_5_1:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[25];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 0);\\n for (float h = 0.0; h < 5.0; h+=1.0) {\\n for (float w = 0.0; w < 5.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 2.0), uStepH * (h - 2.0));\\n color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 5.0 + w)];\\n }\\n }\\n gl_FragColor = color;\\n }\\n \",Convolute_5_0:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[25];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 1);\\n for (float h = 0.0; h < 5.0; h+=1.0) {\\n for (float w = 0.0; w < 5.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 2.0), uStepH * (h - 2.0));\\n color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 5.0 + w)];\\n }\\n }\\n float alpha = texture2D(uTexture, vTexCoord).a;\\n gl_FragColor = color;\\n gl_FragColor.a = alpha;\\n }\\n \",Convolute_7_1:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[49];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 0);\\n for (float h = 0.0; h < 7.0; h+=1.0) {\\n for (float w = 0.0; w < 7.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 3.0), uStepH * (h - 3.0));\\n color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 7.0 + w)];\\n }\\n }\\n gl_FragColor = color;\\n }\\n \",Convolute_7_0:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[49];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 1);\\n for (float h = 0.0; h < 7.0; h+=1.0) {\\n for (float w = 0.0; w < 7.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 3.0), uStepH * (h - 3.0));\\n color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 7.0 + w)];\\n }\\n }\\n float alpha = texture2D(uTexture, vTexCoord).a;\\n gl_FragColor = color;\\n gl_FragColor.a = alpha;\\n }\\n \",Convolute_9_1:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[81];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 0);\\n for (float h = 0.0; h < 9.0; h+=1.0) {\\n for (float w = 0.0; w < 9.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 4.0), uStepH * (h - 4.0));\\n color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 9.0 + w)];\\n }\\n }\\n gl_FragColor = color;\\n }\\n \",Convolute_9_0:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[81];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 1);\\n for (float h = 0.0; h < 9.0; h+=1.0) {\\n for (float w = 0.0; w < 9.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 4.0), uStepH * (h - 4.0));\\n color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 9.0 + w)];\\n }\\n }\\n float alpha = texture2D(uTexture, vTexCoord).a;\\n gl_FragColor = color;\\n gl_FragColor.a = alpha;\\n }\\n \"};class hh extends Wa{getCacheKey(){return\"\".concat(this.type,\"_\").concat(Math.sqrt(this.matrix.length),\"_\").concat(this.opaque?1:0)}getFragmentSource(){return ah[this.getCacheKey()]}applyTo2d(t){const e=t.imageData,s=e.data,i=this.matrix,r=Math.round(Math.sqrt(i.length)),n=Math.floor(r/2),o=e.width,a=e.height,h=t.ctx.createImageData(o,a),c=h.data,l=this.opaque?1:0;let u,d,g,f,p,m,v,y,_,x,C,b,S;for(C=0;C<a;C++)for(x=0;x<o;x++){for(p=4*(C*o+x),u=0,d=0,g=0,f=0,S=0;S<r;S++)for(b=0;b<r;b++)v=C+S-n,m=x+b-n,v<0||v>=a||m<0||m>=o||(y=4*(v*o+m),_=i[S*r+b],u+=s[y]*_,d+=s[y+1]*_,g+=s[y+2]*_,l||(f+=s[y+3]*_));c[p]=u,c[p+1]=d,c[p+2]=g,c[p+3]=l?s[p+3]:f}t.imageData=h}sendUniformData(t,e){t.uniform1fv(e.uMatrix,this.matrix)}toObject(){return s(s({},super.toObject()),{},{opaque:this.opaque,matrix:[...this.matrix]})}}t(hh,\"type\",\"Convolute\"),t(hh,\"defaults\",{opaque:!1,matrix:[0,0,0,0,1,0,0,0,0]}),t(hh,\"uniformLocations\",[\"uMatrix\",\"uOpaque\",\"uHalfSize\",\"uSize\"]),tt.setClass(hh);const ch=\"Gamma\";class lh extends Wa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform vec3 uGamma;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n vec3 correction = (1.0 / uGamma);\\n color.r = pow(color.r, correction.r);\\n color.g = pow(color.g, correction.g);\\n color.b = pow(color.b, correction.b);\\n gl_FragColor = color;\\n gl_FragColor.rgb *= color.a;\\n }\\n\"}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(t),this.gamma=t.gamma||this.constructor.defaults.gamma.concat()}applyTo2d(t){let{imageData:{data:e}}=t;const s=this.gamma,i=1/s[0],r=1/s[1],n=1/s[2];this.rgbValues||(this.rgbValues={r:new Uint8Array(256),g:new Uint8Array(256),b:new Uint8Array(256)});const o=this.rgbValues;for(let t=0;t<256;t++)o.r[t]=255*Math.pow(t/255,i),o.g[t]=255*Math.pow(t/255,r),o.b[t]=255*Math.pow(t/255,n);for(let t=0;t<e.length;t+=4)e[t]=o.r[e[t]],e[t+1]=o.g[e[t+1]],e[t+2]=o.b[e[t+2]]}sendUniformData(t,e){t.uniform3fv(e.uGamma,this.gamma)}isNeutralState(){const{gamma:t}=this;return 1===t[0]&&1===t[1]&&1===t[2]}toObject(){return{type:ch,gamma:this.gamma.concat()}}}t(lh,\"type\",ch),t(lh,\"defaults\",{gamma:[1,1,1]}),t(lh,\"uniformLocations\",[\"uGamma\"]),tt.setClass(lh);const uh={average:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n float average = (color.r + color.b + color.g) / 3.0;\\n gl_FragColor = vec4(average, average, average, color.a);\\n }\\n \",lightness:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform int uMode;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 col = texture2D(uTexture, vTexCoord);\\n float average = (max(max(col.r, col.g),col.b) + min(min(col.r, col.g),col.b)) / 2.0;\\n gl_FragColor = vec4(average, average, average, col.a);\\n }\\n \",luminosity:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform int uMode;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 col = texture2D(uTexture, vTexCoord);\\n float average = 0.21 * col.r + 0.72 * col.g + 0.07 * col.b;\\n gl_FragColor = vec4(average, average, average, col.a);\\n }\\n \"};class dh extends Wa{applyTo2d(t){let{imageData:{data:e}}=t;for(let t,s=0;s<e.length;s+=4){const i=e[s],r=e[s+1],n=e[s+2];switch(this.mode){case\"average\":t=(i+r+n)/3;break;case\"lightness\":t=(Math.min(i,r,n)+Math.max(i,r,n))/2;break;case\"luminosity\":t=.21*i+.72*r+.07*n}e[s+2]=e[s+1]=e[s]=t}}getCacheKey(){return\"\".concat(this.type,\"_\").concat(this.mode)}getFragmentSource(){return uh[this.mode]}sendUniformData(t,e){t.uniform1i(e.uMode,1)}isNeutralState(){return!1}}t(dh,\"type\",\"Grayscale\"),t(dh,\"defaults\",{mode:\"average\"}),t(dh,\"uniformLocations\",[\"uMode\"]),tt.setClass(dh);const gh=s(s({},Ka),{},{rotation:0});class fh extends Ja{calculateMatrix(){const t=this.rotation*Math.PI,e=rt(t),s=nt(t),i=1/3,r=Math.sqrt(i)*s,n=1-e;this.matrix=[e+n/3,i*n-r,i*n+r,0,0,i*n+r,e+i*n,i*n-r,0,0,i*n-r,i*n+r,e+i*n,0,0,0,0,0,1,0]}isNeutralState(){return 0===this.rotation}applyTo(t){this.calculateMatrix(),super.applyTo(t)}toObject(){return{type:this.type,rotation:this.rotation}}}t(fh,\"type\",\"HueRotation\"),t(fh,\"defaults\",gh),tt.setClass(fh);class ph extends Wa{applyTo2d(t){let{imageData:{data:e}}=t;for(let t=0;t<e.length;t+=4)e[t]=255-e[t],e[t+1]=255-e[t+1],e[t+2]=255-e[t+2],this.alpha&&(e[t+3]=255-e[t+3])}getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform int uInvert;\\n uniform int uAlpha;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n if (uInvert == 1) {\\n if (uAlpha == 1) {\\n gl_FragColor = vec4(1.0 - color.r,1.0 -color.g,1.0 -color.b,1.0 -color.a);\\n } else {\\n gl_FragColor = vec4(1.0 - color.r,1.0 -color.g,1.0 -color.b,color.a);\\n }\\n } else {\\n gl_FragColor = color;\\n }\\n }\\n\"}isNeutralState(){return!this.invert}sendUniformData(t,e){t.uniform1i(e.uInvert,Number(this.invert)),t.uniform1i(e.uAlpha,Number(this.alpha))}}t(ph,\"type\",\"Invert\"),t(ph,\"defaults\",{alpha:!1,invert:!0}),t(ph,\"uniformLocations\",[\"uInvert\",\"uAlpha\"]),tt.setClass(ph);class mh extends Wa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uStepH;\\n uniform float uNoise;\\n uniform float uSeed;\\n varying vec2 vTexCoord;\\n float rand(vec2 co, float seed, float vScale) {\\n return fract(sin(dot(co.xy * vScale ,vec2(12.9898 , 78.233))) * 43758.5453 * (seed + 0.01) / 2.0);\\n }\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n color.rgb += (0.5 - rand(vTexCoord, uSeed, 0.1 / uStepH)) * uNoise;\\n gl_FragColor = color;\\n }\\n\"}applyTo2d(t){let{imageData:{data:e}}=t;const s=this.noise;for(let t=0;t<e.length;t+=4){const i=(.5-Math.random())*s;e[t]+=i,e[t+1]+=i,e[t+2]+=i}}sendUniformData(t,e){t.uniform1f(e.uNoise,this.noise/255),t.uniform1f(e.uSeed,Math.random())}isNeutralState(){return 0===this.noise}}t(mh,\"type\",\"Noise\"),t(mh,\"defaults\",{noise:0}),t(mh,\"uniformLocations\",[\"uNoise\",\"uSeed\"]),tt.setClass(mh);class vh extends Wa{applyTo2d(t){let{imageData:{data:e,width:s,height:i}}=t;for(let t=0;t<i;t+=this.blocksize)for(let r=0;r<s;r+=this.blocksize){const n=4*t*s+4*r,o=e[n],a=e[n+1],h=e[n+2],c=e[n+3];for(let n=t;n<Math.min(t+this.blocksize,i);n++)for(let t=r;t<Math.min(r+this.blocksize,s);t++){const i=4*n*s+4*t;e[i]=o,e[i+1]=a,e[i+2]=h,e[i+3]=c}}}isNeutralState(){return 1===this.blocksize}getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uBlocksize;\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n float blockW = uBlocksize * uStepW;\\n float blockH = uBlocksize * uStepH;\\n int posX = int(vTexCoord.x / blockW);\\n int posY = int(vTexCoord.y / blockH);\\n float fposX = float(posX);\\n float fposY = float(posY);\\n vec2 squareCoords = vec2(fposX * blockW, fposY * blockH);\\n vec4 color = texture2D(uTexture, squareCoords);\\n gl_FragColor = color;\\n }\\n\"}sendUniformData(t,e){t.uniform1f(e.uBlocksize,this.blocksize)}}t(vh,\"type\",\"Pixelate\"),t(vh,\"defaults\",{blocksize:4}),t(vh,\"uniformLocations\",[\"uBlocksize\"]),tt.setClass(vh);class yh extends Wa{getFragmentSource(){return\"\\nprecision highp float;\\nuniform sampler2D uTexture;\\nuniform vec4 uLow;\\nuniform vec4 uHigh;\\nvarying vec2 vTexCoord;\\nvoid main() {\\n gl_FragColor = texture2D(uTexture, vTexCoord);\\n if(all(greaterThan(gl_FragColor.rgb,uLow.rgb)) && all(greaterThan(uHigh.rgb,gl_FragColor.rgb))) {\\n gl_FragColor.a = 0.0;\\n }\\n}\\n\"}applyTo2d(t){let{imageData:{data:e}}=t;const s=255*this.distance,i=new Le(this.color).getSource(),r=[i[0]-s,i[1]-s,i[2]-s],n=[i[0]+s,i[1]+s,i[2]+s];for(let t=0;t<e.length;t+=4){const s=e[t],i=e[t+1],o=e[t+2];s>r[0]&&i>r[1]&&o>r[2]&&s<n[0]&&i<n[1]&&o<n[2]&&(e[t+3]=0)}}sendUniformData(t,e){const s=new Le(this.color).getSource(),i=this.distance,r=[0+s[0]/255-i,0+s[1]/255-i,0+s[2]/255-i,1],n=[s[0]/255+i,s[1]/255+i,s[2]/255+i,1];t.uniform4fv(e.uLow,r),t.uniform4fv(e.uHigh,n)}}t(yh,\"type\",\"RemoveColor\"),t(yh,\"defaults\",{color:\"#FFFFFF\",distance:.02,useAlpha:!1}),t(yh,\"uniformLocations\",[\"uLow\",\"uHigh\"]),tt.setClass(yh);class _h extends Wa{sendUniformData(t,e){t.uniform2fv(e.uDelta,this.horizontal?[1/this.width,0]:[0,1/this.height]),t.uniform1fv(e.uTaps,this.taps)}getFilterWindow(){const t=this.tempScale;return Math.ceil(this.lanczosLobes/t)}getCacheKey(){const t=this.getFilterWindow();return\"\".concat(this.type,\"_\").concat(t)}getFragmentSource(){const t=this.getFilterWindow();return this.generateShader(t)}getTaps(){const t=this.lanczosCreate(this.lanczosLobes),e=this.tempScale,s=this.getFilterWindow(),i=new Array(s);for(let r=1;r<=s;r++)i[r-1]=t(r*e);return i}generateShader(t){const e=new Array(t);for(let s=1;s<=t;s++)e[s-1]=\"\".concat(s,\".0 * uDelta\");return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform vec2 uDelta;\\n varying vec2 vTexCoord;\\n uniform float uTaps[\".concat(t,\"];\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n float sum = 1.0;\\n \").concat(e.map(((t,e)=>\"\\n color += texture2D(uTexture, vTexCoord + \".concat(t,\") * uTaps[\").concat(e,\"] + texture2D(uTexture, vTexCoord - \").concat(t,\") * uTaps[\").concat(e,\"];\\n sum += 2.0 * uTaps[\").concat(e,\"];\\n \"))).join(\"\\n\"),\"\\n gl_FragColor = color / sum;\\n }\\n \")}applyToForWebgl(t){t.passes++,this.width=t.sourceWidth,this.horizontal=!0,this.dW=Math.round(this.width*this.scaleX),this.dH=t.sourceHeight,this.tempScale=this.dW/this.width,this.taps=this.getTaps(),t.destinationWidth=this.dW,super.applyTo(t),t.sourceWidth=t.destinationWidth,this.height=t.sourceHeight,this.horizontal=!1,this.dH=Math.round(this.height*this.scaleY),this.tempScale=this.dH/this.height,this.taps=this.getTaps(),t.destinationHeight=this.dH,super.applyTo(t),t.sourceHeight=t.destinationHeight}applyTo(t){Fa(t)?this.applyToForWebgl(t):this.applyTo2d(t)}isNeutralState(){return 1===this.scaleX&&1===this.scaleY}lanczosCreate(t){return e=>{if(e>=t||e<=-t)return 0;if(e<1.1920929e-7&&e>-1.1920929e-7)return 1;const s=(e*=Math.PI)/t;return Math.sin(e)/e*Math.sin(s)/s}}applyTo2d(t){const e=t.imageData,s=this.scaleX,i=this.scaleY;this.rcpScaleX=1/s,this.rcpScaleY=1/i;const r=e.width,n=e.height,o=Math.round(r*s),a=Math.round(n*i);let h;h=\"sliceHack\"===this.resizeType?this.sliceByTwo(t,r,n,o,a):\"hermite\"===this.resizeType?this.hermiteFastResize(t,r,n,o,a):\"bilinear\"===this.resizeType?this.bilinearFiltering(t,r,n,o,a):\"lanczos\"===this.resizeType?this.lanczosResize(t,r,n,o,a):new ImageData(o,a),t.imageData=h}sliceByTwo(t,e,s,i,r){const n=t.imageData,o=.5;let a=!1,h=!1,c=e*o,l=s*o;const u=t.filterBackend.resources;let d=0,g=0;const f=e;let p=0;u.sliceByTwo||(u.sliceByTwo=pt());const m=u.sliceByTwo;(m.width<1.5*e||m.height<s)&&(m.width=1.5*e,m.height=s);const v=m.getContext(\"2d\");for(v.clearRect(0,0,1.5*e,s),v.putImageData(n,0,0),i=Math.floor(i),r=Math.floor(r);!a||!h;)e=c,s=l,i<Math.floor(c*o)?c=Math.floor(c*o):(c=i,a=!0),r<Math.floor(l*o)?l=Math.floor(l*o):(l=r,h=!0),v.drawImage(m,d,g,e,s,f,p,c,l),d=f,g=p,p+=l;return v.getImageData(d,g,i,r)}lanczosResize(t,e,s,i,r){const n=t.imageData.data,o=t.ctx.createImageData(i,r),a=o.data,h=this.lanczosCreate(this.lanczosLobes),c=this.rcpScaleX,l=this.rcpScaleY,u=2/this.rcpScaleX,d=2/this.rcpScaleY,g=Math.ceil(c*this.lanczosLobes/2),f=Math.ceil(l*this.lanczosLobes/2),p={},m={x:0,y:0},v={x:0,y:0};return function t(y){let _,x,C,b,S,w,T,O,k,D,M;for(m.x=(y+.5)*c,v.x=Math.floor(m.x),_=0;_<r;_++){for(m.y=(_+.5)*l,v.y=Math.floor(m.y),S=0,w=0,T=0,O=0,k=0,x=v.x-g;x<=v.x+g;x++)if(!(x<0||x>=e)){D=Math.floor(1e3*Math.abs(x-m.x)),p[D]||(p[D]={});for(let t=v.y-f;t<=v.y+f;t++)t<0||t>=s||(M=Math.floor(1e3*Math.abs(t-m.y)),p[D][M]||(p[D][M]=h(Math.sqrt(Math.pow(D*u,2)+Math.pow(M*d,2))/1e3)),C=p[D][M],C>0&&(b=4*(t*e+x),S+=C,w+=C*n[b],T+=C*n[b+1],O+=C*n[b+2],k+=C*n[b+3]))}b=4*(_*i+y),a[b]=w/S,a[b+1]=T/S,a[b+2]=O/S,a[b+3]=k/S}return++y<i?t(y):o}(0)}bilinearFiltering(t,e,s,i,r){let n,o,a,h,c,l,u,d,g,f,p,m,v,y=0;const _=this.rcpScaleX,x=this.rcpScaleY,C=4*(e-1),b=t.imageData.data,S=t.ctx.createImageData(i,r),w=S.data;for(u=0;u<r;u++)for(d=0;d<i;d++)for(c=Math.floor(_*d),l=Math.floor(x*u),g=_*d-c,f=x*u-l,v=4*(l*e+c),p=0;p<4;p++)n=b[v+p],o=b[v+4+p],a=b[v+C+p],h=b[v+C+4+p],m=n*(1-g)*(1-f)+o*g*(1-f)+a*f*(1-g)+h*g*f,w[y++]=m;return S}hermiteFastResize(t,e,s,i,r){const n=this.rcpScaleX,o=this.rcpScaleY,a=Math.ceil(n/2),h=Math.ceil(o/2),c=t.imageData.data,l=t.ctx.createImageData(i,r),u=l.data;for(let t=0;t<r;t++)for(let s=0;s<i;s++){const r=4*(s+t*i);let l=0,d=0,g=0,f=0,p=0,m=0,v=0;const y=(t+.5)*o;for(let i=Math.floor(t*o);i<(t+1)*o;i++){const t=Math.abs(y-(i+.5))/h,r=(s+.5)*n,o=t*t;for(let t=Math.floor(s*n);t<(s+1)*n;t++){let s=Math.abs(r-(t+.5))/a;const n=Math.sqrt(o+s*s);n>1&&n<-1||(l=2*n*n*n-3*n*n+1,l>0&&(s=4*(t+i*e),v+=l*c[s+3],g+=l,c[s+3]<255&&(l=l*c[s+3]/250),f+=l*c[s],p+=l*c[s+1],m+=l*c[s+2],d+=l))}}u[r]=f/d,u[r+1]=p/d,u[r+2]=m/d,u[r+3]=v/g}return l}}t(_h,\"type\",\"Resize\"),t(_h,\"defaults\",{resizeType:\"hermite\",scaleX:1,scaleY:1,lanczosLobes:3}),t(_h,\"uniformLocations\",[\"uDelta\",\"uTaps\"]),tt.setClass(_h);class xh extends Wa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uSaturation;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n float rgMax = max(color.r, color.g);\\n float rgbMax = max(rgMax, color.b);\\n color.r += rgbMax != color.r ? (rgbMax - color.r) * uSaturation : 0.00;\\n color.g += rgbMax != color.g ? (rgbMax - color.g) * uSaturation : 0.00;\\n color.b += rgbMax != color.b ? (rgbMax - color.b) * uSaturation : 0.00;\\n gl_FragColor = color;\\n }\\n\"}applyTo2d(t){let{imageData:{data:e}}=t;const s=-this.saturation;for(let t=0;t<e.length;t+=4){const i=e[t],r=e[t+1],n=e[t+2],o=Math.max(i,r,n);e[t]+=o!==i?(o-i)*s:0,e[t+1]+=o!==r?(o-r)*s:0,e[t+2]+=o!==n?(o-n)*s:0}}sendUniformData(t,e){t.uniform1f(e.uSaturation,-this.saturation)}isNeutralState(){return 0===this.saturation}}t(xh,\"type\",\"Saturation\"),t(xh,\"defaults\",{saturation:0}),t(xh,\"uniformLocations\",[\"uSaturation\"]),tt.setClass(xh);class Ch extends Wa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uVibrance;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n float max = max(color.r, max(color.g, color.b));\\n float avg = (color.r + color.g + color.b) / 3.0;\\n float amt = (abs(max - avg) * 2.0) * uVibrance;\\n color.r += max != color.r ? (max - color.r) * amt : 0.00;\\n color.g += max != color.g ? (max - color.g) * amt : 0.00;\\n color.b += max != color.b ? (max - color.b) * amt : 0.00;\\n gl_FragColor = color;\\n }\\n\"}applyTo2d(t){let{imageData:{data:e}}=t;const s=-this.vibrance;for(let t=0;t<e.length;t+=4){const i=e[t],r=e[t+1],n=e[t+2],o=Math.max(i,r,n),a=(i+r+n)/3,h=2*Math.abs(o-a)/255*s;e[t]+=o!==i?(o-i)*h:0,e[t+1]+=o!==r?(o-r)*h:0,e[t+2]+=o!==n?(o-n)*h:0}}sendUniformData(t,e){t.uniform1f(e.uVibrance,-this.vibrance)}isNeutralState(){return 0===this.vibrance}}t(Ch,\"type\",\"Vibrance\"),t(Ch,\"defaults\",{vibrance:0}),t(Ch,\"uniformLocations\",[\"uVibrance\"]),tt.setClass(Ch);var bh=Object.freeze({__proto__:null,BaseFilter:Wa,BlackWhite:rh,BlendColor:za,BlendImage:Na,Blur:Ua,Brightness:qa,Brownie:Za,ColorMatrix:Ja,Composed:nh,Contrast:oh,Convolute:hh,Gamma:lh,Grayscale:dh,HueRotation:fh,Invert:ph,Kodachrome:th,Noise:mh,Pixelate:vh,Polaroid:sh,RemoveColor:yh,Resize:_h,Saturation:xh,Sepia:ih,Technicolor:eh,Vibrance:Ch,Vintage:$a});export{Jo as ActiveSelection,eo as BaseBrush,$s as BaseFabricObject,In as Canvas,Qo as Canvas2dFilterBackend,Dn as CanvasDOMManager,ho as Circle,co as CircleBrush,Uo as ClipPathLayout,Le as Color,ni as Control,_o as Ellipse,na as FabricImage,ji as FabricObject,Eo as FabricText,Br as FitContentLayout,qo as FixedLayout,Zn as Gradient,Hr as Group,Ho as IText,na as Image,Ei as InteractiveFabricObject,Ks as Intersection,Vr as LayoutManager,Ir as LayoutStrategy,mo as Line,ji as Object,st as Observable,ro as Path,to as Pattern,uo as PatternBrush,no as PencilBrush,ot as Point,wo as Polygon,So as Polyline,Er as Rect,Os as Shadow,lo as SprayBrush,se as StaticCanvas,te as StaticCanvasDOMManager,Eo as Text,No as Textbox,vo as Triangle,Zo as WebGLFilterBackend,_ as cache,tt as classRegistry,o as config,ja as controlsUtils,ct as createCollectionMixin,bh as filters,fa as getCSSRules,p as getEnv,m as getFabricDocument,v as getFabricWindow,ea as getFilterBackend,T as iMatrix,ta as initFilterBackend,La as isPutImageFaster,Fa as isWebGLPipelineState,xa as loadSVGFromString,Ca as loadSVGFromURL,Dr as parseAttributes,wr as parseFontDeclaration,xo as parsePointsAttribute,_a as parseSVGDocument,Or as parseStyleAttribute,br as parseTransformAttribute,et as runningAnimations,f as setEnv,sa as setFilterBackend,kn as util,x as version};\n//# sourceMappingURL=index.min.mjs.map\n","import { defineProperty as _defineProperty, inherits as _inherits, createClass as _createClass, classCallCheck as _classCallCheck, callSuper as _callSuper, objectSpread2 as _objectSpread2, assertThisInitialized as _assertThisInitialized } from '../../_virtual/_rollupPluginBabelHelpers.js';\nimport { classRegistry, LayoutManager, FixedLayout, Path, Group } from 'fabric';\n\nvar ClippingGroup = /*#__PURE__*/function (_Group) {\n _inherits(ClippingGroup, _Group);\n function ClippingGroup(objects, options) {\n var _this;\n _classCallCheck(this, ClippingGroup);\n _this = _callSuper(this, ClippingGroup, [objects, _objectSpread2({\n originX: 'center',\n originY: 'center',\n left: 0,\n top: 0,\n layoutManager: new LayoutManager(new FixedLayout())\n }, options)]);\n _defineProperty(_assertThisInitialized(_this), \"blockErasing\", false);\n return _this;\n }\n _createClass(ClippingGroup, [{\n key: \"drawObject\",\n value: function drawObject(ctx) {\n var paths = [];\n var objects = [];\n this._objects.forEach(function (object) {\n return (object instanceof Path ? paths : objects).push(object);\n });\n ctx.save();\n ctx.fillStyle = 'black';\n ctx.fillRect(-this.width / 2, -this.height / 2, this.width, this.height);\n ctx.restore();\n !this.blockErasing && paths.forEach(function (path) {\n path.render(ctx);\n });\n objects.forEach(function (object) {\n object.globalCompositeOperation = object.inverted ? 'destination-out' : 'source-in';\n object.render(ctx);\n });\n }\n }]);\n return ClippingGroup;\n}(Group);\n_defineProperty(ClippingGroup, \"type\", 'clipping');\nclassRegistry.setClass(ClippingGroup);\n\nexport { ClippingGroup };\n//# sourceMappingURL=ClippingGroup.js.map\n","var drawImage = function drawImage(destination, source) {\n var globalCompositeOperation = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'source-over';\n destination.save();\n destination.imageSmoothingEnabled = true;\n destination.imageSmoothingQuality = 'high';\n destination.globalCompositeOperation = globalCompositeOperation;\n destination.resetTransform();\n destination.drawImage(source.canvas, 0, 0);\n destination.restore();\n};\n\n/**\n *\n * @param destination context to erase\n * @param source context on which the path is drawn upon\n * @param erasingEffect effect to apply to {@link source} after clipping {@link destination}:\n * - drawing all non erasable visuals to achieve a selective erasing effect.\n * - drawing all erasable visuals without their erasers to achieve an undo erasing effect.\n */\nvar erase = function erase(destination, source, erasingEffect) {\n // clip destination\n drawImage(destination, source, 'destination-out');\n\n // draw erasing effect\n if (erasingEffect) {\n drawImage(source, erasingEffect, 'source-in');\n } else {\n source.save();\n source.resetTransform();\n source.clearRect(0, 0, source.canvas.width, source.canvas.height);\n source.restore();\n }\n};\n\nexport { drawImage, erase };\n//# sourceMappingURL=erase.js.map\n","import { toConsumableArray as _toConsumableArray } from '../../_virtual/_rollupPluginBabelHelpers.js';\nimport { Group } from 'fabric';\nimport { ClippingGroup } from './ClippingGroup.js';\n\nfunction walk(objects) {\n return objects.flatMap(function (object) {\n if (!object.erasable || object.isNotVisible()) {\n return [];\n } else if (object instanceof Group && object.erasable === 'deep') {\n return walk(object.getObjects());\n } else {\n return [object];\n }\n });\n}\nfunction drawCanvas(ctx, canvas, objects) {\n canvas.clearContext(ctx);\n ctx.imageSmoothingEnabled = canvas.imageSmoothingEnabled;\n ctx.imageSmoothingQuality = 'high';\n // @ts-expect-error node-canvas stuff\n ctx.patternQuality = 'best';\n canvas._renderBackground(ctx);\n ctx.save();\n ctx.transform.apply(ctx, _toConsumableArray(canvas.viewportTransform));\n objects.forEach(function (object) {\n return object.render(ctx);\n });\n ctx.restore();\n var clipPath = canvas.clipPath;\n if (clipPath) {\n // fabric crap\n clipPath._set('canvas', canvas);\n clipPath.shouldCache();\n clipPath._transformDone = true;\n clipPath.renderCache({\n forClipping: true\n });\n canvas.drawClipPathOnCanvas(ctx, clipPath);\n }\n canvas._renderOverlay(ctx);\n}\n\n/**\n * Prepare the pattern for the erasing brush\n * This pattern will be drawn on the top context after clipping the main context,\n * achieving a visual effect of erasing only erasable objects.\n *\n * This is designed to support erasing a collection with both erasable and non-erasable objects while maintaining object stacking.\\\n * Iterates over collections to allow nested selective erasing.\\\n * Prepares objects before rendering the pattern brush.\\\n * If brush is **NOT** inverted render all non-erasable objects.\\\n * If brush is inverted render all objects, erasable objects without their eraser.\n * This will render the erased parts as if they were not erased in the first place, achieving an undo effect.\n *\n * Caveat:\n * Does not support erasing effects of shadows\n *\n */\nfunction draw(ctx, _ref, _ref2) {\n var inverted = _ref.inverted,\n opacity = _ref.opacity;\n var canvas = _ref2.canvas,\n _ref2$objects = _ref2.objects,\n objects = _ref2$objects === void 0 ? canvas._objectsToRender || canvas._objects : _ref2$objects,\n _ref2$background = _ref2.background,\n background = _ref2$background === void 0 ? canvas.backgroundImage : _ref2$background,\n _ref2$overlay = _ref2.overlay,\n overlay = _ref2$overlay === void 0 ? canvas.overlayImage : _ref2$overlay;\n // prepare tree\n var alpha = 1 - opacity;\n var restore = walk([].concat(_toConsumableArray(objects), _toConsumableArray([background, overlay].filter(function (d) {\n return !!d;\n })))).map(function (object) {\n if (!inverted) {\n var _object$parent;\n // render only non-erasable objects\n var _opacity = object.opacity;\n object.opacity *= alpha;\n (_object$parent = object.parent) === null || _object$parent === void 0 || _object$parent.set('dirty', true);\n return {\n object: object,\n opacity: _opacity\n };\n } else if (object.clipPath instanceof ClippingGroup) {\n // render all objects without eraser\n object.clipPath['blockErasing'] = true;\n object.clipPath.set('dirty', true);\n object.set('dirty', true);\n return {\n object: object,\n clipPath: object.clipPath\n };\n }\n });\n\n // draw\n drawCanvas(ctx, canvas, objects);\n\n // restore\n restore.forEach(function (entry) {\n if (!entry) {\n return;\n }\n if (entry.opacity) {\n var _entry$object$parent;\n entry.object.opacity = entry.opacity;\n (_entry$object$parent = entry.object.parent) === null || _entry$object$parent === void 0 || _entry$object$parent.set('dirty', true);\n } else if (entry.clipPath) {\n entry.clipPath['blockErasing'] = false;\n entry.clipPath.set('dirty', true);\n entry.object.set('dirty', true);\n }\n });\n}\n\nexport { draw };\n//# sourceMappingURL=ErasingEffect.js.map\n","import { asyncToGenerator as _asyncToGenerator, inherits as _inherits, createClass as _createClass, regeneratorRuntime as _regeneratorRuntime, classCallCheck as _classCallCheck, callSuper as _callSuper, defineProperty as _defineProperty, assertThisInitialized as _assertThisInitialized, get as _get, getPrototypeOf as _getPrototypeOf, toConsumableArray as _toConsumableArray, slicedToArray as _slicedToArray } from '../../_virtual/_rollupPluginBabelHelpers.js';\nimport { erase } from '../../core/dist/src/erase.js';\nimport * as fabric from 'fabric';\nimport { Group } from 'fabric';\nimport { ClippingGroup } from './ClippingGroup.js';\nimport { draw } from './ErasingEffect.js';\n\nfunction walk(objects, path) {\n return objects.flatMap(function (object) {\n if (!object.erasable || !object.intersectsWithObject(path)) {\n return [];\n } else if (object instanceof Group && object.erasable === 'deep') {\n return walk(object.getObjects(), path);\n } else {\n return [object];\n }\n });\n}\nvar assertClippingGroup = function assertClippingGroup(object) {\n var curr = object.clipPath;\n if (curr instanceof ClippingGroup) {\n return curr;\n }\n var strokeWidth = object.strokeWidth;\n var strokeWidthFactor = new fabric.Point(strokeWidth, strokeWidth);\n var strokeVector = object.strokeUniform ? strokeWidthFactor.divide(object.getObjectScaling()) : strokeWidthFactor;\n var next = new ClippingGroup([], {\n width: object.width + strokeVector.x,\n height: object.height + strokeVector.y\n });\n if (curr) {\n var _curr$translateToOrig = curr.translateToOriginPoint(new fabric.Point(), curr.originX, curr.originY),\n x = _curr$translateToOrig.x,\n y = _curr$translateToOrig.y;\n curr.originX = curr.originY = 'center';\n fabric.util.sendObjectToPlane(curr, undefined, fabric.util.createTranslateMatrix(x, y));\n next.add(curr);\n }\n return object.clipPath = next;\n};\nfunction commitErasing(object, sourceInObjectPlane) {\n var clipPath = assertClippingGroup(object);\n clipPath.add(sourceInObjectPlane);\n clipPath.set('dirty', true);\n object.set('dirty', true);\n}\nfunction eraseObject(_x, _x2) {\n return _eraseObject.apply(this, arguments);\n}\nfunction _eraseObject() {\n _eraseObject = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(object, source) {\n var clone;\n return _regeneratorRuntime().wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return source.clone();\n case 2:\n clone = _context4.sent;\n fabric.util.sendObjectToPlane(clone, undefined, object.calcTransformMatrix());\n commitErasing(object, clone);\n return _context4.abrupt(\"return\", clone);\n case 6:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }));\n return _eraseObject.apply(this, arguments);\n}\nfunction eraseCanvasDrawable(_x3, _x4, _x5) {\n return _eraseCanvasDrawable.apply(this, arguments);\n}\nfunction _eraseCanvasDrawable() {\n _eraseCanvasDrawable = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(object, vpt, source) {\n var clone, d;\n return _regeneratorRuntime().wrap(function _callee5$(_context5) {\n while (1) switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return source.clone();\n case 2:\n clone = _context5.sent;\n d = vpt && object.translateToOriginPoint(new fabric.Point(), object.originX, object.originY);\n fabric.util.sendObjectToPlane(clone, undefined, d ? fabric.util.multiplyTransformMatrixArray([[1, 0, 0, 1, d.x, d.y],\n // apply vpt from center of drawable\n vpt, [1, 0, 0, 1, -d.x, -d.y], object.calcTransformMatrix()]) : object.calcTransformMatrix());\n commitErasing(object, clone);\n return _context5.abrupt(\"return\", clone);\n case 7:\n case \"end\":\n return _context5.stop();\n }\n }, _callee5);\n }));\n return _eraseCanvasDrawable.apply(this, arguments);\n}\nvar setCanvasDimensions = function setCanvasDimensions(el, ctx, _ref) {\n var width = _ref.width,\n height = _ref.height;\n var retinaScaling = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n el.width = width;\n el.height = height;\n if (retinaScaling > 1) {\n el.setAttribute('width', (width * retinaScaling).toString());\n el.setAttribute('height', (height * retinaScaling).toString());\n ctx.scale(retinaScaling, retinaScaling);\n }\n};\n\n/**\n * Supports **selective** erasing: only erasable objects are affected by the eraser brush.\n *\n * Supports **{@link inverted}** erasing: the brush can \"undo\" erasing.\n *\n * Supports **alpha** erasing: setting the alpha channel of the `color` property controls the eraser intensity.\n *\n * In order to support selective erasing, the brush clips the entire canvas and\n * masks all non-erasable objects over the erased path, see {@link draw}.\n *\n * If **{@link inverted}** draws all objects, erasable objects without their eraser, over the erased path.\n * This achieves the desired effect of seeming to erase or undo erasing on erasable objects only.\n *\n * After erasing is done the `end` event {@link ErasingEndEvent} is fired, after which erasing will be committed to the tree.\n * @example\n * canvas = new Canvas();\n * const eraser = new EraserBrush(canvas);\n * canvas.freeDrawingBrush = eraser;\n * canvas.isDrawingMode = true;\n * eraser.on('start', (e) => {\n * console.log('started erasing');\n * // prevent erasing\n * e.preventDefault();\n * });\n * eraser.on('end', (e) => {\n * const { targets: erasedTargets, path } = e.detail;\n * e.preventDefault(); // prevent erasing being committed to the tree\n * eraser.commit({ targets: erasedTargets, path }); // commit manually since default was prevented\n * });\n *\n * In case of performance issues trace {@link drawEffect} calls and consider preventing it from executing\n * @example\n * const eraser = new EraserBrush(canvas);\n * eraser.on('redraw', (e) => {\n * // prevent effect redraw on pointer down (e.g. useful if canvas didn't change)\n * e.detail.type === 'start' && e.preventDefault());\n * // prevent effect redraw after canvas has rendered (effect will become stale)\n * e.detail.type === 'render' && e.preventDefault());\n * });\n */\nvar EraserBrush = /*#__PURE__*/function (_fabric$PencilBrush) {\n _inherits(EraserBrush, _fabric$PencilBrush);\n function EraserBrush(canvas) {\n var _this;\n _classCallCheck(this, EraserBrush);\n _this = _callSuper(this, EraserBrush, [canvas]);\n /**\n * When set to `true` the brush will create a visual effect of undoing erasing\n */\n _defineProperty(_assertThisInitialized(_this), \"inverted\", false);\n _defineProperty(_assertThisInitialized(_this), \"active\", false);\n var el = document.createElement('canvas');\n var ctx = el.getContext('2d');\n if (!ctx) {\n throw new Error('Failed to get context');\n }\n setCanvasDimensions(el, ctx, canvas, _this.canvas.getRetinaScaling());\n _this.effectContext = ctx;\n _this.eventEmitter = new EventTarget();\n return _this;\n }\n\n /**\n * @returns disposer make sure to call it to avoid memory leaks\n */\n _createClass(EraserBrush, [{\n key: \"on\",\n value: function on(type, cb, options) {\n var _this2 = this;\n this.eventEmitter.addEventListener(type, cb, options);\n return function () {\n return _this2.eventEmitter.removeEventListener(type, cb, options);\n };\n }\n }, {\n key: \"drawEffect\",\n value: function drawEffect() {\n draw(this.effectContext, {\n opacity: new fabric.Color(this.color).getAlpha(),\n inverted: this.inverted\n }, {\n canvas: this.canvas\n });\n }\n\n /**\n * @override\n */\n }, {\n key: \"_setBrushStyles\",\n value: function _setBrushStyles() {\n var ctx = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.canvas.contextTop;\n _get(_getPrototypeOf(EraserBrush.prototype), \"_setBrushStyles\", this).call(this, ctx);\n ctx.strokeStyle = 'black';\n }\n\n /**\n * @override strictly speaking the eraser needs a full render only if it has opacity set.\n * However since {@link PencilBrush} is designed for subclassing that is what we have to work with.\n */\n }, {\n key: \"needsFullRender\",\n value: function needsFullRender() {\n return true;\n }\n\n /**\n * @override erase\n */\n }, {\n key: \"_render\",\n value: function _render() {\n var ctx = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.canvas.getTopContext();\n _get(_getPrototypeOf(EraserBrush.prototype), \"_render\", this).call(this, ctx);\n erase(this.canvas.getContext(), ctx, this.effectContext);\n }\n\n /**\n * @override {@link drawEffect}\n */\n }, {\n key: \"onMouseDown\",\n value: function onMouseDown(pointer, context) {\n var _this3 = this;\n if (!this.eventEmitter.dispatchEvent(new CustomEvent('start', {\n detail: context,\n cancelable: true\n }))) {\n return;\n }\n this.active = true;\n this.eventEmitter.dispatchEvent(new CustomEvent('redraw', {\n detail: {\n type: 'start'\n },\n cancelable: true\n })) && this.drawEffect();\n\n // consider a different approach\n this._disposer = this.canvas.on('after:render', function (_ref2) {\n var ctx = _ref2.ctx;\n if (ctx !== _this3.canvas.getContext()) {\n return;\n }\n _this3.eventEmitter.dispatchEvent(new CustomEvent('redraw', {\n detail: {\n type: 'render'\n },\n cancelable: true\n })) && _this3.drawEffect();\n _this3._render();\n });\n _get(_getPrototypeOf(EraserBrush.prototype), \"onMouseDown\", this).call(this, pointer, context);\n }\n\n /**\n * @override run if active\n */\n }, {\n key: \"onMouseMove\",\n value: function onMouseMove(pointer, context) {\n this.active && this.eventEmitter.dispatchEvent(new CustomEvent('move', {\n detail: context,\n cancelable: true\n })) && _get(_getPrototypeOf(EraserBrush.prototype), \"onMouseMove\", this).call(this, pointer, context);\n }\n\n /**\n * @override run if active, dispose of {@link drawEffect} listener\n */\n }, {\n key: \"onMouseUp\",\n value: function onMouseUp(context) {\n var _this$_disposer;\n this.active && _get(_getPrototypeOf(EraserBrush.prototype), \"onMouseUp\", this).call(this, context);\n this.active = false;\n (_this$_disposer = this._disposer) === null || _this$_disposer === void 0 || _this$_disposer.call(this);\n delete this._disposer;\n return false;\n }\n\n /**\n * @override {@link fabric.PencilBrush} logic\n */\n }, {\n key: \"convertPointsToSVGPath\",\n value: function convertPointsToSVGPath(points) {\n return _get(_getPrototypeOf(EraserBrush.prototype), \"convertPointsToSVGPath\", this).call(this, this.decimate ? this.decimatePoints(points, this.decimate) : points);\n }\n\n /**\n * @override\n */\n }, {\n key: \"createPath\",\n value: function createPath(pathData) {\n var path = _get(_getPrototypeOf(EraserBrush.prototype), \"createPath\", this).call(this, pathData);\n path.set(this.inverted ? {\n globalCompositeOperation: 'source-over',\n stroke: 'white'\n } : {\n globalCompositeOperation: 'destination-out',\n stroke: 'black',\n opacity: new fabric.Color(this.color).getAlpha()\n });\n return path;\n }\n }, {\n key: \"commit\",\n value: function () {\n var _commit = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref3) {\n var path, targets;\n return _regeneratorRuntime().wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n path = _ref3.path, targets = _ref3.targets;\n _context3.t0 = Map;\n _context3.next = 4;\n return Promise.all([].concat(_toConsumableArray(targets.map( /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(object) {\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.t0 = object;\n _context.next = 3;\n return eraseObject(object, path);\n case 3:\n _context.t1 = _context.sent;\n return _context.abrupt(\"return\", [_context.t0, _context.t1]);\n case 5:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function (_x7) {\n return _ref4.apply(this, arguments);\n };\n }())), _toConsumableArray([[this.canvas.backgroundImage, !this.canvas.backgroundVpt ? this.canvas.viewportTransform : undefined], [this.canvas.overlayImage, !this.canvas.overlayVpt ? this.canvas.viewportTransform : undefined]].filter(function (_ref5) {\n var _ref6 = _slicedToArray(_ref5, 1),\n object = _ref6[0];\n return !!(object !== null && object !== void 0 && object.erasable);\n }).map( /*#__PURE__*/function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref7) {\n var _ref9, object, vptFlag;\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n _ref9 = _slicedToArray(_ref7, 2), object = _ref9[0], vptFlag = _ref9[1];\n _context2.t0 = object;\n _context2.next = 4;\n return eraseCanvasDrawable(object, vptFlag, path);\n case 4:\n _context2.t1 = _context2.sent;\n return _context2.abrupt(\"return\", [_context2.t0, _context2.t1]);\n case 6:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function (_x8) {\n return _ref8.apply(this, arguments);\n };\n }()))));\n case 4:\n _context3.t1 = _context3.sent;\n return _context3.abrupt(\"return\", new _context3.t0(_context3.t1));\n case 6:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3, this);\n }));\n function commit(_x6) {\n return _commit.apply(this, arguments);\n }\n return commit;\n }()\n /**\n * @override handle events\n */\n }, {\n key: \"_finalizeAndAddPath\",\n value: function _finalizeAndAddPath() {\n var points = this['_points'];\n if (points.length < 2) {\n this.eventEmitter.dispatchEvent(new CustomEvent('cancel', {\n cancelable: false\n }));\n return;\n }\n var path = this.createPath(this.convertPointsToSVGPath(points));\n var targets = walk(this.canvas.getObjects(), path);\n this.eventEmitter.dispatchEvent(new CustomEvent('end', {\n detail: {\n path: path,\n targets: targets\n },\n cancelable: true\n })) && this.commit({\n path: path,\n targets: targets\n });\n this.canvas.clearContext(this.canvas.contextTop);\n this.canvas.requestRenderAll();\n this._resetShadow();\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n var canvas = this.effectContext.canvas;\n // prompt GC\n canvas.width = canvas.height = 0;\n // release ref?\n // delete this.effectContext\n }\n }]);\n return EraserBrush;\n}(fabric.PencilBrush);\n\nexport { EraserBrush, commitErasing, eraseCanvasDrawable, eraseObject };\n//# sourceMappingURL=EraserBrush.js.map\n","function clamp(v, min, max) {\n return Math.max(min, Math.min(v, max));\n}\nconst V = {\n toVector(v, fallback) {\n if (v === undefined) v = fallback;\n return Array.isArray(v) ? v : [v, v];\n },\n add(v1, v2) {\n return [v1[0] + v2[0], v1[1] + v2[1]];\n },\n sub(v1, v2) {\n return [v1[0] - v2[0], v1[1] - v2[1]];\n },\n addTo(v1, v2) {\n v1[0] += v2[0];\n v1[1] += v2[1];\n },\n subTo(v1, v2) {\n v1[0] -= v2[0];\n v1[1] -= v2[1];\n }\n};\nfunction rubberband(distance, dimension, constant) {\n if (dimension === 0 || Math.abs(dimension) === Infinity) return Math.pow(distance, constant * 5);\n return distance * dimension * constant / (dimension + constant * distance);\n}\nfunction rubberbandIfOutOfBounds(position, min, max, constant = 0.15) {\n if (constant === 0) return clamp(position, min, max);\n if (position < min) return -rubberband(min - position, max - min, constant) + min;\n if (position > max) return +rubberband(position - max, max - min, constant) + max;\n return position;\n}\nfunction computeRubberband(bounds, [Vx, Vy], [Rx, Ry]) {\n const [[X0, X1], [Y0, Y1]] = bounds;\n return [rubberbandIfOutOfBounds(Vx, X0, X1, Rx), rubberbandIfOutOfBounds(Vy, Y0, Y1, Ry)];\n}\n\nexport { V, computeRubberband as c, rubberbandIfOutOfBounds as r };\n","import { V, c as computeRubberband } from './maths-0ab39ae9.esm.js';\n\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\n\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\n\nfunction _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\n\nconst EVENT_TYPE_MAP = {\n pointer: {\n start: 'down',\n change: 'move',\n end: 'up'\n },\n mouse: {\n start: 'down',\n change: 'move',\n end: 'up'\n },\n touch: {\n start: 'start',\n change: 'move',\n end: 'end'\n },\n gesture: {\n start: 'start',\n change: 'change',\n end: 'end'\n }\n};\nfunction capitalize(string) {\n if (!string) return '';\n return string[0].toUpperCase() + string.slice(1);\n}\nconst actionsWithoutCaptureSupported = ['enter', 'leave'];\nfunction hasCapture(capture = false, actionKey) {\n return capture && !actionsWithoutCaptureSupported.includes(actionKey);\n}\nfunction toHandlerProp(device, action = '', capture = false) {\n const deviceProps = EVENT_TYPE_MAP[device];\n const actionKey = deviceProps ? deviceProps[action] || action : action;\n return 'on' + capitalize(device) + capitalize(actionKey) + (hasCapture(capture, actionKey) ? 'Capture' : '');\n}\nconst pointerCaptureEvents = ['gotpointercapture', 'lostpointercapture'];\nfunction parseProp(prop) {\n let eventKey = prop.substring(2).toLowerCase();\n const passive = !!~eventKey.indexOf('passive');\n if (passive) eventKey = eventKey.replace('passive', '');\n const captureKey = pointerCaptureEvents.includes(eventKey) ? 'capturecapture' : 'capture';\n const capture = !!~eventKey.indexOf(captureKey);\n if (capture) eventKey = eventKey.replace('capture', '');\n return {\n device: eventKey,\n capture,\n passive\n };\n}\nfunction toDomEventType(device, action = '') {\n const deviceProps = EVENT_TYPE_MAP[device];\n const actionKey = deviceProps ? deviceProps[action] || action : action;\n return device + actionKey;\n}\nfunction isTouch(event) {\n return 'touches' in event;\n}\nfunction getPointerType(event) {\n if (isTouch(event)) return 'touch';\n if ('pointerType' in event) return event.pointerType;\n return 'mouse';\n}\nfunction getCurrentTargetTouchList(event) {\n return Array.from(event.touches).filter(e => {\n var _event$currentTarget, _event$currentTarget$;\n return e.target === event.currentTarget || ((_event$currentTarget = event.currentTarget) === null || _event$currentTarget === void 0 || (_event$currentTarget$ = _event$currentTarget.contains) === null || _event$currentTarget$ === void 0 ? void 0 : _event$currentTarget$.call(_event$currentTarget, e.target));\n });\n}\nfunction getTouchList(event) {\n return event.type === 'touchend' || event.type === 'touchcancel' ? event.changedTouches : event.targetTouches;\n}\nfunction getValueEvent(event) {\n return isTouch(event) ? getTouchList(event)[0] : event;\n}\nfunction distanceAngle(P1, P2) {\n try {\n const dx = P2.clientX - P1.clientX;\n const dy = P2.clientY - P1.clientY;\n const cx = (P2.clientX + P1.clientX) / 2;\n const cy = (P2.clientY + P1.clientY) / 2;\n const distance = Math.hypot(dx, dy);\n const angle = -(Math.atan2(dx, dy) * 180) / Math.PI;\n const origin = [cx, cy];\n return {\n angle,\n distance,\n origin\n };\n } catch (_unused) {}\n return null;\n}\nfunction touchIds(event) {\n return getCurrentTargetTouchList(event).map(touch => touch.identifier);\n}\nfunction touchDistanceAngle(event, ids) {\n const [P1, P2] = Array.from(event.touches).filter(touch => ids.includes(touch.identifier));\n return distanceAngle(P1, P2);\n}\nfunction pointerId(event) {\n const valueEvent = getValueEvent(event);\n return isTouch(event) ? valueEvent.identifier : valueEvent.pointerId;\n}\nfunction pointerValues(event) {\n const valueEvent = getValueEvent(event);\n return [valueEvent.clientX, valueEvent.clientY];\n}\nconst LINE_HEIGHT = 40;\nconst PAGE_HEIGHT = 800;\nfunction wheelValues(event) {\n let {\n deltaX,\n deltaY,\n deltaMode\n } = event;\n if (deltaMode === 1) {\n deltaX *= LINE_HEIGHT;\n deltaY *= LINE_HEIGHT;\n } else if (deltaMode === 2) {\n deltaX *= PAGE_HEIGHT;\n deltaY *= PAGE_HEIGHT;\n }\n return [deltaX, deltaY];\n}\nfunction scrollValues(event) {\n var _ref, _ref2;\n const {\n scrollX,\n scrollY,\n scrollLeft,\n scrollTop\n } = event.currentTarget;\n return [(_ref = scrollX !== null && scrollX !== void 0 ? scrollX : scrollLeft) !== null && _ref !== void 0 ? _ref : 0, (_ref2 = scrollY !== null && scrollY !== void 0 ? scrollY : scrollTop) !== null && _ref2 !== void 0 ? _ref2 : 0];\n}\nfunction getEventDetails(event) {\n const payload = {};\n if ('buttons' in event) payload.buttons = event.buttons;\n if ('shiftKey' in event) {\n const {\n shiftKey,\n altKey,\n metaKey,\n ctrlKey\n } = event;\n Object.assign(payload, {\n shiftKey,\n altKey,\n metaKey,\n ctrlKey\n });\n }\n return payload;\n}\n\nfunction call(v, ...args) {\n if (typeof v === 'function') {\n return v(...args);\n } else {\n return v;\n }\n}\nfunction noop() {}\nfunction chain(...fns) {\n if (fns.length === 0) return noop;\n if (fns.length === 1) return fns[0];\n return function () {\n let result;\n for (const fn of fns) {\n result = fn.apply(this, arguments) || result;\n }\n return result;\n };\n}\nfunction assignDefault(value, fallback) {\n return Object.assign({}, fallback, value || {});\n}\n\nconst BEFORE_LAST_KINEMATICS_DELAY = 32;\nclass Engine {\n constructor(ctrl, args, key) {\n this.ctrl = ctrl;\n this.args = args;\n this.key = key;\n if (!this.state) {\n this.state = {};\n this.computeValues([0, 0]);\n this.computeInitial();\n if (this.init) this.init();\n this.reset();\n }\n }\n get state() {\n return this.ctrl.state[this.key];\n }\n set state(state) {\n this.ctrl.state[this.key] = state;\n }\n get shared() {\n return this.ctrl.state.shared;\n }\n get eventStore() {\n return this.ctrl.gestureEventStores[this.key];\n }\n get timeoutStore() {\n return this.ctrl.gestureTimeoutStores[this.key];\n }\n get config() {\n return this.ctrl.config[this.key];\n }\n get sharedConfig() {\n return this.ctrl.config.shared;\n }\n get handler() {\n return this.ctrl.handlers[this.key];\n }\n reset() {\n const {\n state,\n shared,\n ingKey,\n args\n } = this;\n shared[ingKey] = state._active = state.active = state._blocked = state._force = false;\n state._step = [false, false];\n state.intentional = false;\n state._movement = [0, 0];\n state._distance = [0, 0];\n state._direction = [0, 0];\n state._delta = [0, 0];\n state._bounds = [[-Infinity, Infinity], [-Infinity, Infinity]];\n state.args = args;\n state.axis = undefined;\n state.memo = undefined;\n state.elapsedTime = state.timeDelta = 0;\n state.direction = [0, 0];\n state.distance = [0, 0];\n state.overflow = [0, 0];\n state._movementBound = [false, false];\n state.velocity = [0, 0];\n state.movement = [0, 0];\n state.delta = [0, 0];\n state.timeStamp = 0;\n }\n start(event) {\n const state = this.state;\n const config = this.config;\n if (!state._active) {\n this.reset();\n this.computeInitial();\n state._active = true;\n state.target = event.target;\n state.currentTarget = event.currentTarget;\n state.lastOffset = config.from ? call(config.from, state) : state.offset;\n state.offset = state.lastOffset;\n state.startTime = state.timeStamp = event.timeStamp;\n }\n }\n computeValues(values) {\n const state = this.state;\n state._values = values;\n state.values = this.config.transform(values);\n }\n computeInitial() {\n const state = this.state;\n state._initial = state._values;\n state.initial = state.values;\n }\n compute(event) {\n const {\n state,\n config,\n shared\n } = this;\n state.args = this.args;\n let dt = 0;\n if (event) {\n state.event = event;\n if (config.preventDefault && event.cancelable) state.event.preventDefault();\n state.type = event.type;\n shared.touches = this.ctrl.pointerIds.size || this.ctrl.touchIds.size;\n shared.locked = !!document.pointerLockElement;\n Object.assign(shared, getEventDetails(event));\n shared.down = shared.pressed = shared.buttons % 2 === 1 || shared.touches > 0;\n dt = event.timeStamp - state.timeStamp;\n state.timeStamp = event.timeStamp;\n state.elapsedTime = state.timeStamp - state.startTime;\n }\n if (state._active) {\n const _absoluteDelta = state._delta.map(Math.abs);\n V.addTo(state._distance, _absoluteDelta);\n }\n if (this.axisIntent) this.axisIntent(event);\n const [_m0, _m1] = state._movement;\n const [t0, t1] = config.threshold;\n const {\n _step,\n values\n } = state;\n if (config.hasCustomTransform) {\n if (_step[0] === false) _step[0] = Math.abs(_m0) >= t0 && values[0];\n if (_step[1] === false) _step[1] = Math.abs(_m1) >= t1 && values[1];\n } else {\n if (_step[0] === false) _step[0] = Math.abs(_m0) >= t0 && Math.sign(_m0) * t0;\n if (_step[1] === false) _step[1] = Math.abs(_m1) >= t1 && Math.sign(_m1) * t1;\n }\n state.intentional = _step[0] !== false || _step[1] !== false;\n if (!state.intentional) return;\n const movement = [0, 0];\n if (config.hasCustomTransform) {\n const [v0, v1] = values;\n movement[0] = _step[0] !== false ? v0 - _step[0] : 0;\n movement[1] = _step[1] !== false ? v1 - _step[1] : 0;\n } else {\n movement[0] = _step[0] !== false ? _m0 - _step[0] : 0;\n movement[1] = _step[1] !== false ? _m1 - _step[1] : 0;\n }\n if (this.restrictToAxis && !state._blocked) this.restrictToAxis(movement);\n const previousOffset = state.offset;\n const gestureIsActive = state._active && !state._blocked || state.active;\n if (gestureIsActive) {\n state.first = state._active && !state.active;\n state.last = !state._active && state.active;\n state.active = shared[this.ingKey] = state._active;\n if (event) {\n if (state.first) {\n if ('bounds' in config) state._bounds = call(config.bounds, state);\n if (this.setup) this.setup();\n }\n state.movement = movement;\n this.computeOffset();\n }\n }\n const [ox, oy] = state.offset;\n const [[x0, x1], [y0, y1]] = state._bounds;\n state.overflow = [ox < x0 ? -1 : ox > x1 ? 1 : 0, oy < y0 ? -1 : oy > y1 ? 1 : 0];\n state._movementBound[0] = state.overflow[0] ? state._movementBound[0] === false ? state._movement[0] : state._movementBound[0] : false;\n state._movementBound[1] = state.overflow[1] ? state._movementBound[1] === false ? state._movement[1] : state._movementBound[1] : false;\n const rubberband = state._active ? config.rubberband || [0, 0] : [0, 0];\n state.offset = computeRubberband(state._bounds, state.offset, rubberband);\n state.delta = V.sub(state.offset, previousOffset);\n this.computeMovement();\n if (gestureIsActive && (!state.last || dt > BEFORE_LAST_KINEMATICS_DELAY)) {\n state.delta = V.sub(state.offset, previousOffset);\n const absoluteDelta = state.delta.map(Math.abs);\n V.addTo(state.distance, absoluteDelta);\n state.direction = state.delta.map(Math.sign);\n state._direction = state._delta.map(Math.sign);\n if (!state.first && dt > 0) {\n state.velocity = [absoluteDelta[0] / dt, absoluteDelta[1] / dt];\n state.timeDelta = dt;\n }\n }\n }\n emit() {\n const state = this.state;\n const shared = this.shared;\n const config = this.config;\n if (!state._active) this.clean();\n if ((state._blocked || !state.intentional) && !state._force && !config.triggerAllEvents) return;\n const memo = this.handler(_objectSpread2(_objectSpread2(_objectSpread2({}, shared), state), {}, {\n [this.aliasKey]: state.values\n }));\n if (memo !== undefined) state.memo = memo;\n }\n clean() {\n this.eventStore.clean();\n this.timeoutStore.clean();\n }\n}\n\nfunction selectAxis([dx, dy], threshold) {\n const absDx = Math.abs(dx);\n const absDy = Math.abs(dy);\n if (absDx > absDy && absDx > threshold) {\n return 'x';\n }\n if (absDy > absDx && absDy > threshold) {\n return 'y';\n }\n return undefined;\n}\nclass CoordinatesEngine extends Engine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"aliasKey\", 'xy');\n }\n reset() {\n super.reset();\n this.state.axis = undefined;\n }\n init() {\n this.state.offset = [0, 0];\n this.state.lastOffset = [0, 0];\n }\n computeOffset() {\n this.state.offset = V.add(this.state.lastOffset, this.state.movement);\n }\n computeMovement() {\n this.state.movement = V.sub(this.state.offset, this.state.lastOffset);\n }\n axisIntent(event) {\n const state = this.state;\n const config = this.config;\n if (!state.axis && event) {\n const threshold = typeof config.axisThreshold === 'object' ? config.axisThreshold[getPointerType(event)] : config.axisThreshold;\n state.axis = selectAxis(state._movement, threshold);\n }\n state._blocked = (config.lockDirection || !!config.axis) && !state.axis || !!config.axis && config.axis !== state.axis;\n }\n restrictToAxis(v) {\n if (this.config.axis || this.config.lockDirection) {\n switch (this.state.axis) {\n case 'x':\n v[1] = 0;\n break;\n case 'y':\n v[0] = 0;\n break;\n }\n }\n }\n}\n\nconst identity = v => v;\nconst DEFAULT_RUBBERBAND = 0.15;\nconst commonConfigResolver = {\n enabled(value = true) {\n return value;\n },\n eventOptions(value, _k, config) {\n return _objectSpread2(_objectSpread2({}, config.shared.eventOptions), value);\n },\n preventDefault(value = false) {\n return value;\n },\n triggerAllEvents(value = false) {\n return value;\n },\n rubberband(value = 0) {\n switch (value) {\n case true:\n return [DEFAULT_RUBBERBAND, DEFAULT_RUBBERBAND];\n case false:\n return [0, 0];\n default:\n return V.toVector(value);\n }\n },\n from(value) {\n if (typeof value === 'function') return value;\n if (value != null) return V.toVector(value);\n },\n transform(value, _k, config) {\n const transform = value || config.shared.transform;\n this.hasCustomTransform = !!transform;\n if (process.env.NODE_ENV === 'development') {\n const originalTransform = transform || identity;\n return v => {\n const r = originalTransform(v);\n if (!isFinite(r[0]) || !isFinite(r[1])) {\n console.warn(`[@use-gesture]: config.transform() must produce a valid result, but it was: [${r[0]},${[1]}]`);\n }\n return r;\n };\n }\n return transform || identity;\n },\n threshold(value) {\n return V.toVector(value, 0);\n }\n};\nif (process.env.NODE_ENV === 'development') {\n Object.assign(commonConfigResolver, {\n domTarget(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`domTarget\\` option has been renamed to \\`target\\`.`);\n }\n return NaN;\n },\n lockDirection(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`lockDirection\\` option has been merged with \\`axis\\`. Use it as in \\`{ axis: 'lock' }\\``);\n }\n return NaN;\n },\n initial(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`initial\\` option has been renamed to \\`from\\`.`);\n }\n return NaN;\n }\n });\n}\n\nconst DEFAULT_AXIS_THRESHOLD = 0;\nconst coordinatesConfigResolver = _objectSpread2(_objectSpread2({}, commonConfigResolver), {}, {\n axis(_v, _k, {\n axis\n }) {\n this.lockDirection = axis === 'lock';\n if (!this.lockDirection) return axis;\n },\n axisThreshold(value = DEFAULT_AXIS_THRESHOLD) {\n return value;\n },\n bounds(value = {}) {\n if (typeof value === 'function') {\n return state => coordinatesConfigResolver.bounds(value(state));\n }\n if ('current' in value) {\n return () => value.current;\n }\n if (typeof HTMLElement === 'function' && value instanceof HTMLElement) {\n return value;\n }\n const {\n left = -Infinity,\n right = Infinity,\n top = -Infinity,\n bottom = Infinity\n } = value;\n return [[left, right], [top, bottom]];\n }\n});\n\nconst KEYS_DELTA_MAP = {\n ArrowRight: (displacement, factor = 1) => [displacement * factor, 0],\n ArrowLeft: (displacement, factor = 1) => [-1 * displacement * factor, 0],\n ArrowUp: (displacement, factor = 1) => [0, -1 * displacement * factor],\n ArrowDown: (displacement, factor = 1) => [0, displacement * factor]\n};\nclass DragEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'dragging');\n }\n reset() {\n super.reset();\n const state = this.state;\n state._pointerId = undefined;\n state._pointerActive = false;\n state._keyboardActive = false;\n state._preventScroll = false;\n state._delayed = false;\n state.swipe = [0, 0];\n state.tap = false;\n state.canceled = false;\n state.cancel = this.cancel.bind(this);\n }\n setup() {\n const state = this.state;\n if (state._bounds instanceof HTMLElement) {\n const boundRect = state._bounds.getBoundingClientRect();\n const targetRect = state.currentTarget.getBoundingClientRect();\n const _bounds = {\n left: boundRect.left - targetRect.left + state.offset[0],\n right: boundRect.right - targetRect.right + state.offset[0],\n top: boundRect.top - targetRect.top + state.offset[1],\n bottom: boundRect.bottom - targetRect.bottom + state.offset[1]\n };\n state._bounds = coordinatesConfigResolver.bounds(_bounds);\n }\n }\n cancel() {\n const state = this.state;\n if (state.canceled) return;\n state.canceled = true;\n state._active = false;\n setTimeout(() => {\n this.compute();\n this.emit();\n }, 0);\n }\n setActive() {\n this.state._active = this.state._pointerActive || this.state._keyboardActive;\n }\n clean() {\n this.pointerClean();\n this.state._pointerActive = false;\n this.state._keyboardActive = false;\n super.clean();\n }\n pointerDown(event) {\n const config = this.config;\n const state = this.state;\n if (event.buttons != null && (Array.isArray(config.pointerButtons) ? !config.pointerButtons.includes(event.buttons) : config.pointerButtons !== -1 && config.pointerButtons !== event.buttons)) return;\n const ctrlIds = this.ctrl.setEventIds(event);\n if (config.pointerCapture) {\n event.target.setPointerCapture(event.pointerId);\n }\n if (ctrlIds && ctrlIds.size > 1 && state._pointerActive) return;\n this.start(event);\n this.setupPointer(event);\n state._pointerId = pointerId(event);\n state._pointerActive = true;\n this.computeValues(pointerValues(event));\n this.computeInitial();\n if (config.preventScrollAxis && getPointerType(event) !== 'mouse') {\n state._active = false;\n this.setupScrollPrevention(event);\n } else if (config.delay > 0) {\n this.setupDelayTrigger(event);\n if (config.triggerAllEvents) {\n this.compute(event);\n this.emit();\n }\n } else {\n this.startPointerDrag(event);\n }\n }\n startPointerDrag(event) {\n const state = this.state;\n state._active = true;\n state._preventScroll = true;\n state._delayed = false;\n this.compute(event);\n this.emit();\n }\n pointerMove(event) {\n const state = this.state;\n const config = this.config;\n if (!state._pointerActive) return;\n const id = pointerId(event);\n if (state._pointerId !== undefined && id !== state._pointerId) return;\n const _values = pointerValues(event);\n if (document.pointerLockElement === event.target) {\n state._delta = [event.movementX, event.movementY];\n } else {\n state._delta = V.sub(_values, state._values);\n this.computeValues(_values);\n }\n V.addTo(state._movement, state._delta);\n this.compute(event);\n if (state._delayed && state.intentional) {\n this.timeoutStore.remove('dragDelay');\n state.active = false;\n this.startPointerDrag(event);\n return;\n }\n if (config.preventScrollAxis && !state._preventScroll) {\n if (state.axis) {\n if (state.axis === config.preventScrollAxis || config.preventScrollAxis === 'xy') {\n state._active = false;\n this.clean();\n return;\n } else {\n this.timeoutStore.remove('startPointerDrag');\n this.startPointerDrag(event);\n return;\n }\n } else {\n return;\n }\n }\n this.emit();\n }\n pointerUp(event) {\n this.ctrl.setEventIds(event);\n try {\n if (this.config.pointerCapture && event.target.hasPointerCapture(event.pointerId)) {\n ;\n event.target.releasePointerCapture(event.pointerId);\n }\n } catch (_unused) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(`[@use-gesture]: If you see this message, it's likely that you're using an outdated version of \\`@react-three/fiber\\`. \\n\\nPlease upgrade to the latest version.`);\n }\n }\n const state = this.state;\n const config = this.config;\n if (!state._active || !state._pointerActive) return;\n const id = pointerId(event);\n if (state._pointerId !== undefined && id !== state._pointerId) return;\n this.state._pointerActive = false;\n this.setActive();\n this.compute(event);\n const [dx, dy] = state._distance;\n state.tap = dx <= config.tapsThreshold && dy <= config.tapsThreshold;\n if (state.tap && config.filterTaps) {\n state._force = true;\n } else {\n const [_dx, _dy] = state._delta;\n const [_mx, _my] = state._movement;\n const [svx, svy] = config.swipe.velocity;\n const [sx, sy] = config.swipe.distance;\n const sdt = config.swipe.duration;\n if (state.elapsedTime < sdt) {\n const _vx = Math.abs(_dx / state.timeDelta);\n const _vy = Math.abs(_dy / state.timeDelta);\n if (_vx > svx && Math.abs(_mx) > sx) state.swipe[0] = Math.sign(_dx);\n if (_vy > svy && Math.abs(_my) > sy) state.swipe[1] = Math.sign(_dy);\n }\n }\n this.emit();\n }\n pointerClick(event) {\n if (!this.state.tap && event.detail > 0) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n setupPointer(event) {\n const config = this.config;\n const device = config.device;\n if (process.env.NODE_ENV === 'development') {\n try {\n if (device === 'pointer' && config.preventScrollDelay === undefined) {\n const currentTarget = 'uv' in event ? event.sourceEvent.currentTarget : event.currentTarget;\n const style = window.getComputedStyle(currentTarget);\n if (style.touchAction === 'auto') {\n console.warn(`[@use-gesture]: The drag target has its \\`touch-action\\` style property set to \\`auto\\`. It is recommended to add \\`touch-action: 'none'\\` so that the drag gesture behaves correctly on touch-enabled devices. For more information read this: https://use-gesture.netlify.app/docs/extras/#touch-action.\\n\\nThis message will only show in development mode. It won't appear in production. If this is intended, you can ignore it.`, currentTarget);\n }\n }\n } catch (_unused2) {}\n }\n if (config.pointerLock) {\n event.currentTarget.requestPointerLock();\n }\n if (!config.pointerCapture) {\n this.eventStore.add(this.sharedConfig.window, device, 'change', this.pointerMove.bind(this));\n this.eventStore.add(this.sharedConfig.window, device, 'end', this.pointerUp.bind(this));\n this.eventStore.add(this.sharedConfig.window, device, 'cancel', this.pointerUp.bind(this));\n }\n }\n pointerClean() {\n if (this.config.pointerLock && document.pointerLockElement === this.state.currentTarget) {\n document.exitPointerLock();\n }\n }\n preventScroll(event) {\n if (this.state._preventScroll && event.cancelable) {\n event.preventDefault();\n }\n }\n setupScrollPrevention(event) {\n this.state._preventScroll = false;\n persistEvent(event);\n const remove = this.eventStore.add(this.sharedConfig.window, 'touch', 'change', this.preventScroll.bind(this), {\n passive: false\n });\n this.eventStore.add(this.sharedConfig.window, 'touch', 'end', remove);\n this.eventStore.add(this.sharedConfig.window, 'touch', 'cancel', remove);\n this.timeoutStore.add('startPointerDrag', this.startPointerDrag.bind(this), this.config.preventScrollDelay, event);\n }\n setupDelayTrigger(event) {\n this.state._delayed = true;\n this.timeoutStore.add('dragDelay', () => {\n this.state._step = [0, 0];\n this.startPointerDrag(event);\n }, this.config.delay);\n }\n keyDown(event) {\n const deltaFn = KEYS_DELTA_MAP[event.key];\n if (deltaFn) {\n const state = this.state;\n const factor = event.shiftKey ? 10 : event.altKey ? 0.1 : 1;\n this.start(event);\n state._delta = deltaFn(this.config.keyboardDisplacement, factor);\n state._keyboardActive = true;\n V.addTo(state._movement, state._delta);\n this.compute(event);\n this.emit();\n }\n }\n keyUp(event) {\n if (!(event.key in KEYS_DELTA_MAP)) return;\n this.state._keyboardActive = false;\n this.setActive();\n this.compute(event);\n this.emit();\n }\n bind(bindFunction) {\n const device = this.config.device;\n bindFunction(device, 'start', this.pointerDown.bind(this));\n if (this.config.pointerCapture) {\n bindFunction(device, 'change', this.pointerMove.bind(this));\n bindFunction(device, 'end', this.pointerUp.bind(this));\n bindFunction(device, 'cancel', this.pointerUp.bind(this));\n bindFunction('lostPointerCapture', '', this.pointerUp.bind(this));\n }\n if (this.config.keys) {\n bindFunction('key', 'down', this.keyDown.bind(this));\n bindFunction('key', 'up', this.keyUp.bind(this));\n }\n if (this.config.filterTaps) {\n bindFunction('click', '', this.pointerClick.bind(this), {\n capture: true,\n passive: false\n });\n }\n }\n}\nfunction persistEvent(event) {\n 'persist' in event && typeof event.persist === 'function' && event.persist();\n}\n\nconst isBrowser = typeof window !== 'undefined' && window.document && window.document.createElement;\nfunction supportsTouchEvents() {\n return isBrowser && 'ontouchstart' in window;\n}\nfunction isTouchScreen() {\n return supportsTouchEvents() || isBrowser && window.navigator.maxTouchPoints > 1;\n}\nfunction supportsPointerEvents() {\n return isBrowser && 'onpointerdown' in window;\n}\nfunction supportsPointerLock() {\n return isBrowser && 'exitPointerLock' in window.document;\n}\nfunction supportsGestureEvents() {\n try {\n return 'constructor' in GestureEvent;\n } catch (e) {\n return false;\n }\n}\nconst SUPPORT = {\n isBrowser,\n gesture: supportsGestureEvents(),\n touch: supportsTouchEvents(),\n touchscreen: isTouchScreen(),\n pointer: supportsPointerEvents(),\n pointerLock: supportsPointerLock()\n};\n\nconst DEFAULT_PREVENT_SCROLL_DELAY = 250;\nconst DEFAULT_DRAG_DELAY = 180;\nconst DEFAULT_SWIPE_VELOCITY = 0.5;\nconst DEFAULT_SWIPE_DISTANCE = 50;\nconst DEFAULT_SWIPE_DURATION = 250;\nconst DEFAULT_KEYBOARD_DISPLACEMENT = 10;\nconst DEFAULT_DRAG_AXIS_THRESHOLD = {\n mouse: 0,\n touch: 0,\n pen: 8\n};\nconst dragConfigResolver = _objectSpread2(_objectSpread2({}, coordinatesConfigResolver), {}, {\n device(_v, _k, {\n pointer: {\n touch = false,\n lock = false,\n mouse = false\n } = {}\n }) {\n this.pointerLock = lock && SUPPORT.pointerLock;\n if (SUPPORT.touch && touch) return 'touch';\n if (this.pointerLock) return 'mouse';\n if (SUPPORT.pointer && !mouse) return 'pointer';\n if (SUPPORT.touch) return 'touch';\n return 'mouse';\n },\n preventScrollAxis(value, _k, {\n preventScroll\n }) {\n this.preventScrollDelay = typeof preventScroll === 'number' ? preventScroll : preventScroll || preventScroll === undefined && value ? DEFAULT_PREVENT_SCROLL_DELAY : undefined;\n if (!SUPPORT.touchscreen || preventScroll === false) return undefined;\n return value ? value : preventScroll !== undefined ? 'y' : undefined;\n },\n pointerCapture(_v, _k, {\n pointer: {\n capture = true,\n buttons = 1,\n keys = true\n } = {}\n }) {\n this.pointerButtons = buttons;\n this.keys = keys;\n return !this.pointerLock && this.device === 'pointer' && capture;\n },\n threshold(value, _k, {\n filterTaps = false,\n tapsThreshold = 3,\n axis = undefined\n }) {\n const threshold = V.toVector(value, filterTaps ? tapsThreshold : axis ? 1 : 0);\n this.filterTaps = filterTaps;\n this.tapsThreshold = tapsThreshold;\n return threshold;\n },\n swipe({\n velocity = DEFAULT_SWIPE_VELOCITY,\n distance = DEFAULT_SWIPE_DISTANCE,\n duration = DEFAULT_SWIPE_DURATION\n } = {}) {\n return {\n velocity: this.transform(V.toVector(velocity)),\n distance: this.transform(V.toVector(distance)),\n duration\n };\n },\n delay(value = 0) {\n switch (value) {\n case true:\n return DEFAULT_DRAG_DELAY;\n case false:\n return 0;\n default:\n return value;\n }\n },\n axisThreshold(value) {\n if (!value) return DEFAULT_DRAG_AXIS_THRESHOLD;\n return _objectSpread2(_objectSpread2({}, DEFAULT_DRAG_AXIS_THRESHOLD), value);\n },\n keyboardDisplacement(value = DEFAULT_KEYBOARD_DISPLACEMENT) {\n return value;\n }\n});\nif (process.env.NODE_ENV === 'development') {\n Object.assign(dragConfigResolver, {\n useTouch(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`useTouch\\` option has been renamed to \\`pointer.touch\\`. Use it as in \\`{ pointer: { touch: true } }\\`.`);\n }\n return NaN;\n },\n experimental_preventWindowScrollY(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`experimental_preventWindowScrollY\\` option has been renamed to \\`preventScroll\\`.`);\n }\n return NaN;\n },\n swipeVelocity(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`swipeVelocity\\` option has been renamed to \\`swipe.velocity\\`. Use it as in \\`{ swipe: { velocity: 0.5 } }\\`.`);\n }\n return NaN;\n },\n swipeDistance(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`swipeDistance\\` option has been renamed to \\`swipe.distance\\`. Use it as in \\`{ swipe: { distance: 50 } }\\`.`);\n }\n return NaN;\n },\n swipeDuration(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`swipeDuration\\` option has been renamed to \\`swipe.duration\\`. Use it as in \\`{ swipe: { duration: 250 } }\\`.`);\n }\n return NaN;\n }\n });\n}\n\nfunction clampStateInternalMovementToBounds(state) {\n const [ox, oy] = state.overflow;\n const [dx, dy] = state._delta;\n const [dirx, diry] = state._direction;\n if (ox < 0 && dx > 0 && dirx < 0 || ox > 0 && dx < 0 && dirx > 0) {\n state._movement[0] = state._movementBound[0];\n }\n if (oy < 0 && dy > 0 && diry < 0 || oy > 0 && dy < 0 && diry > 0) {\n state._movement[1] = state._movementBound[1];\n }\n}\n\nconst SCALE_ANGLE_RATIO_INTENT_DEG = 30;\nconst PINCH_WHEEL_RATIO = 100;\nclass PinchEngine extends Engine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'pinching');\n _defineProperty(this, \"aliasKey\", 'da');\n }\n init() {\n this.state.offset = [1, 0];\n this.state.lastOffset = [1, 0];\n this.state._pointerEvents = new Map();\n }\n reset() {\n super.reset();\n const state = this.state;\n state._touchIds = [];\n state.canceled = false;\n state.cancel = this.cancel.bind(this);\n state.turns = 0;\n }\n computeOffset() {\n const {\n type,\n movement,\n lastOffset\n } = this.state;\n if (type === 'wheel') {\n this.state.offset = V.add(movement, lastOffset);\n } else {\n this.state.offset = [(1 + movement[0]) * lastOffset[0], movement[1] + lastOffset[1]];\n }\n }\n computeMovement() {\n const {\n offset,\n lastOffset\n } = this.state;\n this.state.movement = [offset[0] / lastOffset[0], offset[1] - lastOffset[1]];\n }\n axisIntent() {\n const state = this.state;\n const [_m0, _m1] = state._movement;\n if (!state.axis) {\n const axisMovementDifference = Math.abs(_m0) * SCALE_ANGLE_RATIO_INTENT_DEG - Math.abs(_m1);\n if (axisMovementDifference < 0) state.axis = 'angle';else if (axisMovementDifference > 0) state.axis = 'scale';\n }\n }\n restrictToAxis(v) {\n if (this.config.lockDirection) {\n if (this.state.axis === 'scale') v[1] = 0;else if (this.state.axis === 'angle') v[0] = 0;\n }\n }\n cancel() {\n const state = this.state;\n if (state.canceled) return;\n setTimeout(() => {\n state.canceled = true;\n state._active = false;\n this.compute();\n this.emit();\n }, 0);\n }\n touchStart(event) {\n this.ctrl.setEventIds(event);\n const state = this.state;\n const ctrlTouchIds = this.ctrl.touchIds;\n if (state._active) {\n if (state._touchIds.every(id => ctrlTouchIds.has(id))) return;\n }\n if (ctrlTouchIds.size < 2) return;\n this.start(event);\n state._touchIds = Array.from(ctrlTouchIds).slice(0, 2);\n const payload = touchDistanceAngle(event, state._touchIds);\n if (!payload) return;\n this.pinchStart(event, payload);\n }\n pointerStart(event) {\n if (event.buttons != null && event.buttons % 2 !== 1) return;\n this.ctrl.setEventIds(event);\n event.target.setPointerCapture(event.pointerId);\n const state = this.state;\n const _pointerEvents = state._pointerEvents;\n const ctrlPointerIds = this.ctrl.pointerIds;\n if (state._active) {\n if (Array.from(_pointerEvents.keys()).every(id => ctrlPointerIds.has(id))) return;\n }\n if (_pointerEvents.size < 2) {\n _pointerEvents.set(event.pointerId, event);\n }\n if (state._pointerEvents.size < 2) return;\n this.start(event);\n const payload = distanceAngle(...Array.from(_pointerEvents.values()));\n if (!payload) return;\n this.pinchStart(event, payload);\n }\n pinchStart(event, payload) {\n const state = this.state;\n state.origin = payload.origin;\n this.computeValues([payload.distance, payload.angle]);\n this.computeInitial();\n this.compute(event);\n this.emit();\n }\n touchMove(event) {\n if (!this.state._active) return;\n const payload = touchDistanceAngle(event, this.state._touchIds);\n if (!payload) return;\n this.pinchMove(event, payload);\n }\n pointerMove(event) {\n const _pointerEvents = this.state._pointerEvents;\n if (_pointerEvents.has(event.pointerId)) {\n _pointerEvents.set(event.pointerId, event);\n }\n if (!this.state._active) return;\n const payload = distanceAngle(...Array.from(_pointerEvents.values()));\n if (!payload) return;\n this.pinchMove(event, payload);\n }\n pinchMove(event, payload) {\n const state = this.state;\n const prev_a = state._values[1];\n const delta_a = payload.angle - prev_a;\n let delta_turns = 0;\n if (Math.abs(delta_a) > 270) delta_turns += Math.sign(delta_a);\n this.computeValues([payload.distance, payload.angle - 360 * delta_turns]);\n state.origin = payload.origin;\n state.turns = delta_turns;\n state._movement = [state._values[0] / state._initial[0] - 1, state._values[1] - state._initial[1]];\n this.compute(event);\n this.emit();\n }\n touchEnd(event) {\n this.ctrl.setEventIds(event);\n if (!this.state._active) return;\n if (this.state._touchIds.some(id => !this.ctrl.touchIds.has(id))) {\n this.state._active = false;\n this.compute(event);\n this.emit();\n }\n }\n pointerEnd(event) {\n const state = this.state;\n this.ctrl.setEventIds(event);\n try {\n event.target.releasePointerCapture(event.pointerId);\n } catch (_unused) {}\n if (state._pointerEvents.has(event.pointerId)) {\n state._pointerEvents.delete(event.pointerId);\n }\n if (!state._active) return;\n if (state._pointerEvents.size < 2) {\n state._active = false;\n this.compute(event);\n this.emit();\n }\n }\n gestureStart(event) {\n if (event.cancelable) event.preventDefault();\n const state = this.state;\n if (state._active) return;\n this.start(event);\n this.computeValues([event.scale, event.rotation]);\n state.origin = [event.clientX, event.clientY];\n this.compute(event);\n this.emit();\n }\n gestureMove(event) {\n if (event.cancelable) event.preventDefault();\n if (!this.state._active) return;\n const state = this.state;\n this.computeValues([event.scale, event.rotation]);\n state.origin = [event.clientX, event.clientY];\n const _previousMovement = state._movement;\n state._movement = [event.scale - 1, event.rotation];\n state._delta = V.sub(state._movement, _previousMovement);\n this.compute(event);\n this.emit();\n }\n gestureEnd(event) {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute(event);\n this.emit();\n }\n wheel(event) {\n const modifierKey = this.config.modifierKey;\n if (modifierKey && (Array.isArray(modifierKey) ? !modifierKey.find(k => event[k]) : !event[modifierKey])) return;\n if (!this.state._active) this.wheelStart(event);else this.wheelChange(event);\n this.timeoutStore.add('wheelEnd', this.wheelEnd.bind(this));\n }\n wheelStart(event) {\n this.start(event);\n this.wheelChange(event);\n }\n wheelChange(event) {\n const isR3f = ('uv' in event);\n if (!isR3f) {\n if (event.cancelable) {\n event.preventDefault();\n }\n if (process.env.NODE_ENV === 'development' && !event.defaultPrevented) {\n console.warn(`[@use-gesture]: To properly support zoom on trackpads, try using the \\`target\\` option.\\n\\nThis message will only appear in development mode.`);\n }\n }\n const state = this.state;\n state._delta = [-wheelValues(event)[1] / PINCH_WHEEL_RATIO * state.offset[0], 0];\n V.addTo(state._movement, state._delta);\n clampStateInternalMovementToBounds(state);\n this.state.origin = [event.clientX, event.clientY];\n this.compute(event);\n this.emit();\n }\n wheelEnd() {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute();\n this.emit();\n }\n bind(bindFunction) {\n const device = this.config.device;\n if (!!device) {\n bindFunction(device, 'start', this[device + 'Start'].bind(this));\n bindFunction(device, 'change', this[device + 'Move'].bind(this));\n bindFunction(device, 'end', this[device + 'End'].bind(this));\n bindFunction(device, 'cancel', this[device + 'End'].bind(this));\n bindFunction('lostPointerCapture', '', this[device + 'End'].bind(this));\n }\n if (this.config.pinchOnWheel) {\n bindFunction('wheel', '', this.wheel.bind(this), {\n passive: false\n });\n }\n }\n}\n\nconst pinchConfigResolver = _objectSpread2(_objectSpread2({}, commonConfigResolver), {}, {\n device(_v, _k, {\n shared,\n pointer: {\n touch = false\n } = {}\n }) {\n const sharedConfig = shared;\n if (sharedConfig.target && !SUPPORT.touch && SUPPORT.gesture) return 'gesture';\n if (SUPPORT.touch && touch) return 'touch';\n if (SUPPORT.touchscreen) {\n if (SUPPORT.pointer) return 'pointer';\n if (SUPPORT.touch) return 'touch';\n }\n },\n bounds(_v, _k, {\n scaleBounds = {},\n angleBounds = {}\n }) {\n const _scaleBounds = state => {\n const D = assignDefault(call(scaleBounds, state), {\n min: -Infinity,\n max: Infinity\n });\n return [D.min, D.max];\n };\n const _angleBounds = state => {\n const A = assignDefault(call(angleBounds, state), {\n min: -Infinity,\n max: Infinity\n });\n return [A.min, A.max];\n };\n if (typeof scaleBounds !== 'function' && typeof angleBounds !== 'function') return [_scaleBounds(), _angleBounds()];\n return state => [_scaleBounds(state), _angleBounds(state)];\n },\n threshold(value, _k, config) {\n this.lockDirection = config.axis === 'lock';\n const threshold = V.toVector(value, this.lockDirection ? [0.1, 3] : 0);\n return threshold;\n },\n modifierKey(value) {\n if (value === undefined) return 'ctrlKey';\n return value;\n },\n pinchOnWheel(value = true) {\n return value;\n }\n});\n\nclass MoveEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'moving');\n }\n move(event) {\n if (this.config.mouseOnly && event.pointerType !== 'mouse') return;\n if (!this.state._active) this.moveStart(event);else this.moveChange(event);\n this.timeoutStore.add('moveEnd', this.moveEnd.bind(this));\n }\n moveStart(event) {\n this.start(event);\n this.computeValues(pointerValues(event));\n this.compute(event);\n this.computeInitial();\n this.emit();\n }\n moveChange(event) {\n if (!this.state._active) return;\n const values = pointerValues(event);\n const state = this.state;\n state._delta = V.sub(values, state._values);\n V.addTo(state._movement, state._delta);\n this.computeValues(values);\n this.compute(event);\n this.emit();\n }\n moveEnd(event) {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute(event);\n this.emit();\n }\n bind(bindFunction) {\n bindFunction('pointer', 'change', this.move.bind(this));\n bindFunction('pointer', 'leave', this.moveEnd.bind(this));\n }\n}\n\nconst moveConfigResolver = _objectSpread2(_objectSpread2({}, coordinatesConfigResolver), {}, {\n mouseOnly: (value = true) => value\n});\n\nclass ScrollEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'scrolling');\n }\n scroll(event) {\n if (!this.state._active) this.start(event);\n this.scrollChange(event);\n this.timeoutStore.add('scrollEnd', this.scrollEnd.bind(this));\n }\n scrollChange(event) {\n if (event.cancelable) event.preventDefault();\n const state = this.state;\n const values = scrollValues(event);\n state._delta = V.sub(values, state._values);\n V.addTo(state._movement, state._delta);\n this.computeValues(values);\n this.compute(event);\n this.emit();\n }\n scrollEnd() {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute();\n this.emit();\n }\n bind(bindFunction) {\n bindFunction('scroll', '', this.scroll.bind(this));\n }\n}\n\nconst scrollConfigResolver = coordinatesConfigResolver;\n\nclass WheelEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'wheeling');\n }\n wheel(event) {\n if (!this.state._active) this.start(event);\n this.wheelChange(event);\n this.timeoutStore.add('wheelEnd', this.wheelEnd.bind(this));\n }\n wheelChange(event) {\n const state = this.state;\n state._delta = wheelValues(event);\n V.addTo(state._movement, state._delta);\n clampStateInternalMovementToBounds(state);\n this.compute(event);\n this.emit();\n }\n wheelEnd() {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute();\n this.emit();\n }\n bind(bindFunction) {\n bindFunction('wheel', '', this.wheel.bind(this));\n }\n}\n\nconst wheelConfigResolver = coordinatesConfigResolver;\n\nclass HoverEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'hovering');\n }\n enter(event) {\n if (this.config.mouseOnly && event.pointerType !== 'mouse') return;\n this.start(event);\n this.computeValues(pointerValues(event));\n this.compute(event);\n this.emit();\n }\n leave(event) {\n if (this.config.mouseOnly && event.pointerType !== 'mouse') return;\n const state = this.state;\n if (!state._active) return;\n state._active = false;\n const values = pointerValues(event);\n state._movement = state._delta = V.sub(values, state._values);\n this.computeValues(values);\n this.compute(event);\n state.delta = state.movement;\n this.emit();\n }\n bind(bindFunction) {\n bindFunction('pointer', 'enter', this.enter.bind(this));\n bindFunction('pointer', 'leave', this.leave.bind(this));\n }\n}\n\nconst hoverConfigResolver = _objectSpread2(_objectSpread2({}, coordinatesConfigResolver), {}, {\n mouseOnly: (value = true) => value\n});\n\nconst EngineMap = new Map();\nconst ConfigResolverMap = new Map();\nfunction registerAction(action) {\n EngineMap.set(action.key, action.engine);\n ConfigResolverMap.set(action.key, action.resolver);\n}\nconst dragAction = {\n key: 'drag',\n engine: DragEngine,\n resolver: dragConfigResolver\n};\nconst hoverAction = {\n key: 'hover',\n engine: HoverEngine,\n resolver: hoverConfigResolver\n};\nconst moveAction = {\n key: 'move',\n engine: MoveEngine,\n resolver: moveConfigResolver\n};\nconst pinchAction = {\n key: 'pinch',\n engine: PinchEngine,\n resolver: pinchConfigResolver\n};\nconst scrollAction = {\n key: 'scroll',\n engine: ScrollEngine,\n resolver: scrollConfigResolver\n};\nconst wheelAction = {\n key: 'wheel',\n engine: WheelEngine,\n resolver: wheelConfigResolver\n};\n\nexport { ConfigResolverMap as C, EngineMap as E, SUPPORT as S, _objectSpread2 as _, _defineProperty as a, touchIds as b, chain as c, toHandlerProp as d, dragAction as e, pinchAction as f, hoverAction as h, isTouch as i, moveAction as m, parseProp as p, registerAction as r, scrollAction as s, toDomEventType as t, wheelAction as w };\n","import { S as SUPPORT, C as ConfigResolverMap, _ as _objectSpread2, a as _defineProperty, t as toDomEventType, i as isTouch, b as touchIds, E as EngineMap, c as chain, p as parseProp, d as toHandlerProp } from './actions-fe213e88.esm.js';\nimport './maths-0ab39ae9.esm.js';\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\n\nconst sharedConfigResolver = {\n target(value) {\n if (value) {\n return () => 'current' in value ? value.current : value;\n }\n return undefined;\n },\n enabled(value = true) {\n return value;\n },\n window(value = SUPPORT.isBrowser ? window : undefined) {\n return value;\n },\n eventOptions({\n passive = true,\n capture = false\n } = {}) {\n return {\n passive,\n capture\n };\n },\n transform(value) {\n return value;\n }\n};\n\nconst _excluded = [\"target\", \"eventOptions\", \"window\", \"enabled\", \"transform\"];\nfunction resolveWith(config = {}, resolvers) {\n const result = {};\n for (const [key, resolver] of Object.entries(resolvers)) {\n switch (typeof resolver) {\n case 'function':\n if (process.env.NODE_ENV === 'development') {\n const r = resolver.call(result, config[key], key, config);\n if (!Number.isNaN(r)) result[key] = r;\n } else {\n result[key] = resolver.call(result, config[key], key, config);\n }\n break;\n case 'object':\n result[key] = resolveWith(config[key], resolver);\n break;\n case 'boolean':\n if (resolver) result[key] = config[key];\n break;\n }\n }\n return result;\n}\nfunction parse(newConfig, gestureKey, _config = {}) {\n const _ref = newConfig,\n {\n target,\n eventOptions,\n window,\n enabled,\n transform\n } = _ref,\n rest = _objectWithoutProperties(_ref, _excluded);\n _config.shared = resolveWith({\n target,\n eventOptions,\n window,\n enabled,\n transform\n }, sharedConfigResolver);\n if (gestureKey) {\n const resolver = ConfigResolverMap.get(gestureKey);\n _config[gestureKey] = resolveWith(_objectSpread2({\n shared: _config.shared\n }, rest), resolver);\n } else {\n for (const key in rest) {\n const resolver = ConfigResolverMap.get(key);\n if (resolver) {\n _config[key] = resolveWith(_objectSpread2({\n shared: _config.shared\n }, rest[key]), resolver);\n } else if (process.env.NODE_ENV === 'development') {\n if (!['drag', 'pinch', 'scroll', 'wheel', 'move', 'hover'].includes(key)) {\n if (key === 'domTarget') {\n throw Error(`[@use-gesture]: \\`domTarget\\` option has been renamed to \\`target\\`.`);\n }\n console.warn(`[@use-gesture]: Unknown config key \\`${key}\\` was used. Please read the documentation for further information.`);\n }\n }\n }\n }\n return _config;\n}\n\nclass EventStore {\n constructor(ctrl, gestureKey) {\n _defineProperty(this, \"_listeners\", new Set());\n this._ctrl = ctrl;\n this._gestureKey = gestureKey;\n }\n add(element, device, action, handler, options) {\n const listeners = this._listeners;\n const type = toDomEventType(device, action);\n const _options = this._gestureKey ? this._ctrl.config[this._gestureKey].eventOptions : {};\n const eventOptions = _objectSpread2(_objectSpread2({}, _options), options);\n element.addEventListener(type, handler, eventOptions);\n const remove = () => {\n element.removeEventListener(type, handler, eventOptions);\n listeners.delete(remove);\n };\n listeners.add(remove);\n return remove;\n }\n clean() {\n this._listeners.forEach(remove => remove());\n this._listeners.clear();\n }\n}\n\nclass TimeoutStore {\n constructor() {\n _defineProperty(this, \"_timeouts\", new Map());\n }\n add(key, callback, ms = 140, ...args) {\n this.remove(key);\n this._timeouts.set(key, window.setTimeout(callback, ms, ...args));\n }\n remove(key) {\n const timeout = this._timeouts.get(key);\n if (timeout) window.clearTimeout(timeout);\n }\n clean() {\n this._timeouts.forEach(timeout => void window.clearTimeout(timeout));\n this._timeouts.clear();\n }\n}\n\nclass Controller {\n constructor(handlers) {\n _defineProperty(this, \"gestures\", new Set());\n _defineProperty(this, \"_targetEventStore\", new EventStore(this));\n _defineProperty(this, \"gestureEventStores\", {});\n _defineProperty(this, \"gestureTimeoutStores\", {});\n _defineProperty(this, \"handlers\", {});\n _defineProperty(this, \"config\", {});\n _defineProperty(this, \"pointerIds\", new Set());\n _defineProperty(this, \"touchIds\", new Set());\n _defineProperty(this, \"state\", {\n shared: {\n shiftKey: false,\n metaKey: false,\n ctrlKey: false,\n altKey: false\n }\n });\n resolveGestures(this, handlers);\n }\n setEventIds(event) {\n if (isTouch(event)) {\n this.touchIds = new Set(touchIds(event));\n return this.touchIds;\n } else if ('pointerId' in event) {\n if (event.type === 'pointerup' || event.type === 'pointercancel') this.pointerIds.delete(event.pointerId);else if (event.type === 'pointerdown') this.pointerIds.add(event.pointerId);\n return this.pointerIds;\n }\n }\n applyHandlers(handlers, nativeHandlers) {\n this.handlers = handlers;\n this.nativeHandlers = nativeHandlers;\n }\n applyConfig(config, gestureKey) {\n this.config = parse(config, gestureKey, this.config);\n }\n clean() {\n this._targetEventStore.clean();\n for (const key of this.gestures) {\n this.gestureEventStores[key].clean();\n this.gestureTimeoutStores[key].clean();\n }\n }\n effect() {\n if (this.config.shared.target) this.bind();\n return () => this._targetEventStore.clean();\n }\n bind(...args) {\n const sharedConfig = this.config.shared;\n const props = {};\n let target;\n if (sharedConfig.target) {\n target = sharedConfig.target();\n if (!target) return;\n }\n if (sharedConfig.enabled) {\n for (const gestureKey of this.gestures) {\n const gestureConfig = this.config[gestureKey];\n const bindFunction = bindToProps(props, gestureConfig.eventOptions, !!target);\n if (gestureConfig.enabled) {\n const Engine = EngineMap.get(gestureKey);\n new Engine(this, args, gestureKey).bind(bindFunction);\n }\n }\n const nativeBindFunction = bindToProps(props, sharedConfig.eventOptions, !!target);\n for (const eventKey in this.nativeHandlers) {\n nativeBindFunction(eventKey, '', event => this.nativeHandlers[eventKey](_objectSpread2(_objectSpread2({}, this.state.shared), {}, {\n event,\n args\n })), undefined, true);\n }\n }\n for (const handlerProp in props) {\n props[handlerProp] = chain(...props[handlerProp]);\n }\n if (!target) return props;\n for (const handlerProp in props) {\n const {\n device,\n capture,\n passive\n } = parseProp(handlerProp);\n this._targetEventStore.add(target, device, '', props[handlerProp], {\n capture,\n passive\n });\n }\n }\n}\nfunction setupGesture(ctrl, gestureKey) {\n ctrl.gestures.add(gestureKey);\n ctrl.gestureEventStores[gestureKey] = new EventStore(ctrl, gestureKey);\n ctrl.gestureTimeoutStores[gestureKey] = new TimeoutStore();\n}\nfunction resolveGestures(ctrl, internalHandlers) {\n if (internalHandlers.drag) setupGesture(ctrl, 'drag');\n if (internalHandlers.wheel) setupGesture(ctrl, 'wheel');\n if (internalHandlers.scroll) setupGesture(ctrl, 'scroll');\n if (internalHandlers.move) setupGesture(ctrl, 'move');\n if (internalHandlers.pinch) setupGesture(ctrl, 'pinch');\n if (internalHandlers.hover) setupGesture(ctrl, 'hover');\n}\nconst bindToProps = (props, eventOptions, withPassiveOption) => (device, action, handler, options = {}, isNative = false) => {\n var _options$capture, _options$passive;\n const capture = (_options$capture = options.capture) !== null && _options$capture !== void 0 ? _options$capture : eventOptions.capture;\n const passive = (_options$passive = options.passive) !== null && _options$passive !== void 0 ? _options$passive : eventOptions.passive;\n let handlerProp = isNative ? device : toHandlerProp(device, action, capture);\n if (withPassiveOption && passive) handlerProp += 'Passive';\n props[handlerProp] = props[handlerProp] || [];\n props[handlerProp].push(handler);\n};\n\nconst RE_NOT_NATIVE = /^on(Drag|Wheel|Scroll|Move|Pinch|Hover)/;\nfunction sortHandlers(_handlers) {\n const native = {};\n const handlers = {};\n const actions = new Set();\n for (let key in _handlers) {\n if (RE_NOT_NATIVE.test(key)) {\n actions.add(RegExp.lastMatch);\n handlers[key] = _handlers[key];\n } else {\n native[key] = _handlers[key];\n }\n }\n return [handlers, native, actions];\n}\nfunction registerGesture(actions, handlers, handlerKey, key, internalHandlers, config) {\n if (!actions.has(handlerKey)) return;\n if (!EngineMap.has(key)) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(`[@use-gesture]: You've created a custom handler that that uses the \\`${key}\\` gesture but isn't properly configured.\\n\\nPlease add \\`${key}Action\\` when creating your handler.`);\n }\n return;\n }\n const startKey = handlerKey + 'Start';\n const endKey = handlerKey + 'End';\n const fn = state => {\n let memo = undefined;\n if (state.first && startKey in handlers) handlers[startKey](state);\n if (handlerKey in handlers) memo = handlers[handlerKey](state);\n if (state.last && endKey in handlers) handlers[endKey](state);\n return memo;\n };\n internalHandlers[key] = fn;\n config[key] = config[key] || {};\n}\nfunction parseMergedHandlers(mergedHandlers, mergedConfig) {\n const [handlers, nativeHandlers, actions] = sortHandlers(mergedHandlers);\n const internalHandlers = {};\n registerGesture(actions, handlers, 'onDrag', 'drag', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onWheel', 'wheel', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onScroll', 'scroll', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onPinch', 'pinch', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onMove', 'move', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onHover', 'hover', internalHandlers, mergedConfig);\n return {\n handlers: internalHandlers,\n config: mergedConfig,\n nativeHandlers\n };\n}\n\nexport { Controller, parseMergedHandlers };\n","import { registerAction, dragAction, pinchAction, wheelAction, scrollAction, moveAction, hoverAction } from '@use-gesture/core/actions';\nexport * from '@use-gesture/core/actions';\nimport React from 'react';\nimport { Controller, parseMergedHandlers } from '@use-gesture/core';\nexport * from '@use-gesture/core/utils';\nexport * from '@use-gesture/core/types';\n\nfunction useRecognizers(handlers, config = {}, gestureKey, nativeHandlers) {\n const ctrl = React.useMemo(() => new Controller(handlers), []);\n ctrl.applyHandlers(handlers, nativeHandlers);\n ctrl.applyConfig(config, gestureKey);\n React.useEffect(ctrl.effect.bind(ctrl));\n React.useEffect(() => {\n return ctrl.clean.bind(ctrl);\n }, []);\n if (config.target === undefined) {\n return ctrl.bind.bind(ctrl);\n }\n return undefined;\n}\n\nfunction useDrag(handler, config) {\n registerAction(dragAction);\n return useRecognizers({\n drag: handler\n }, config || {}, 'drag');\n}\n\nfunction usePinch(handler, config) {\n registerAction(pinchAction);\n return useRecognizers({\n pinch: handler\n }, config || {}, 'pinch');\n}\n\nfunction useWheel(handler, config) {\n registerAction(wheelAction);\n return useRecognizers({\n wheel: handler\n }, config || {}, 'wheel');\n}\n\nfunction useScroll(handler, config) {\n registerAction(scrollAction);\n return useRecognizers({\n scroll: handler\n }, config || {}, 'scroll');\n}\n\nfunction useMove(handler, config) {\n registerAction(moveAction);\n return useRecognizers({\n move: handler\n }, config || {}, 'move');\n}\n\nfunction useHover(handler, config) {\n registerAction(hoverAction);\n return useRecognizers({\n hover: handler\n }, config || {}, 'hover');\n}\n\nfunction createUseGesture(actions) {\n actions.forEach(registerAction);\n return function useGesture(_handlers, _config) {\n const {\n handlers,\n nativeHandlers,\n config\n } = parseMergedHandlers(_handlers, _config || {});\n return useRecognizers(handlers, config, undefined, nativeHandlers);\n };\n}\n\nfunction useGesture(handlers, config) {\n const hook = createUseGesture([dragAction, pinchAction, scrollAction, wheelAction, moveAction, hoverAction]);\n return hook(handlers, config || {});\n}\n\nexport { createUseGesture, useDrag, useGesture, useHover, useMove, usePinch, useScroll, useWheel };\n","import styled from \"styled-components\";\n\nexport const Wrapper = styled.div`\n\twidth: 100%;\n\theight: 100%;\n\toverflow: hidden;\n\ttouch-action: none;\n`;\n\nexport const Canvas = styled.canvas<{ canDraw: boolean }>`\n\t${({ canDraw }) => canDraw && \"cursor: crosshair;\"};\n`;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { EraserBrush } from \"@erase2d/fabric\";\nimport { useDrag, usePinch } from \"@use-gesture/react\";\nimport { Canvas as FabricCanvas, FabricImage, FabricObject, Path, PencilBrush, Point, Rect, TEvent } from \"fabric\";\nimport { ForwardedRef, forwardRef, useEffect, useImperativeHandle, useRef } from \"react\";\nimport { FileHelper, TestHelper } from \"../../../../../utils\";\nimport { Canvas, Wrapper } from \"./image-editor.styles\";\nimport { IImageEditorProps, IImageEditorRef } from \"./types\";\nimport { useWindowHelper } from \"../../../../../utils/hooks\";\n\nconst MAX_ZOOM = 5;\nconst PENCIL_BRUSH_SIZE = 10;\n\nexport const ImageEditor = forwardRef((props: IImageEditorProps, ref: ForwardedRef<IImageEditorRef>) => {\n\t// =============================================================================\n\t// CONST, STATE, REFS\n\t// =============================================================================\n\tconst { maxSizeInKb, baseImageDataURL, drawing, color, erase } = props;\n\tconst wrapperRef = useRef<HTMLDivElement>(null);\n\tconst canvasRef = useRef<HTMLCanvasElement>(null);\n\tconst fabricCanvas = useRef<FabricCanvas>();\n\tconst fabricBackground = useRef<FabricImage>();\n\tconst pencilBrush = useRef<PencilBrush>();\n\tconst eraserBrush = useRef<EraserBrush>();\n\tconst gestures = useRef({\n\t\tpinchStartAmount: 0,\n\t});\n\tconst isMobileView = useWindowHelper();\n\n\tuseImperativeHandle(ref, () => ({\n\t\tclearDrawing,\n\t\texport: () => {\n\t\t\tif (fabricCanvas.current) {\n\t\t\t\tresetZoomAndPosition();\n\t\t\t\treturn {\n\t\t\t\t\tdrawing: fabricCanvas.current\n\t\t\t\t\t\t.getObjects()\n\t\t\t\t\t\t.map((obj) => (obj.type !== \"image\" ? obj : undefined))\n\t\t\t\t\t\t.filter((obj) => obj) as FabricObject[],\n\t\t\t\t\tdataURL: toDataURLWithLimit(),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tdrawing: [],\n\t\t\t\tdataURL: \"\",\n\t\t\t};\n\t\t},\n\t}));\n\n\t// recursively compress image until it fits limit\n\tconst toDataURLWithLimit = (limit = maxSizeInKb, quality = 1): string => {\n\t\tif (fabricBackground.current) {\n\t\t\tconst dataURL =\n\t\t\t\tfabricCanvas.current?.toDataURL({\n\t\t\t\t\tformat: \"jpeg\",\n\t\t\t\t\tmultiplier: (fabricBackground.current.width || 0) / fabricBackground.current.getScaledWidth(),\n\t\t\t\t\tquality,\n\t\t\t\t\ttop: fabricBackground.current.top,\n\t\t\t\t\tleft: fabricBackground.current.left,\n\t\t\t\t\theight: fabricBackground.current.getScaledHeight(),\n\t\t\t\t\twidth: fabricBackground.current.getScaledWidth(),\n\t\t\t\t}) || \"\";\n\n\t\t\tconst reducedQuality = quality - 0.05;\n\t\t\tif (reducedQuality < 0) return dataURL;\n\n\t\t\tconst filesizeInB = FileHelper.getFilesizeFromBase64(dataURL);\n\t\t\tconst maxSizeInB = limit * 1024;\n\t\t\tif (maxSizeInB && filesizeInB > maxSizeInB) return toDataURLWithLimit(limit, reducedQuality);\n\n\t\t\treturn dataURL;\n\t\t}\n\t\treturn \"\";\n\t};\n\n\t// initialise fabric and brushes\n\tuseEffect(() => {\n\t\tlet canvas: FabricCanvas;\n\t\tif (wrapperRef.current && canvasRef.current) {\n\t\t\tcanvasRef.current.width = wrapperRef.current?.clientWidth;\n\t\t\tcanvasRef.current.height = wrapperRef.current?.clientHeight;\n\n\t\t\tcanvas = new FabricCanvas(TestHelper.generateId(\"imageEditor\"));\n\t\t\tfabricCanvas.current = canvas;\n\t\t\tfabricCanvas.current.selection = false;\n\t\t\tpencilBrush.current = new PencilBrush(fabricCanvas.current);\n\t\t\teraserBrush.current = new EraserBrush(fabricCanvas.current);\n\t\t\tfabricCanvas.current.freeDrawingBrush = pencilBrush.current;\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (canvas) {\n\t\t\t\tcanvas.dispose();\n\t\t\t}\n\t\t};\n\t}, []);\n\n\t// when screen resizes\n\tuseEffect(() => {\n\t\tconst handleResize = async () => {\n\t\t\tif (wrapperRef.current && canvasRef.current && fabricCanvas.current && fabricBackground.current) {\n\t\t\t\t// slight delay because fabricjs cannot redraw in time during orientation change\n\t\t\t\tawait new Promise((resolve) => setTimeout(resolve));\n\n\t\t\t\tresetZoomAndPosition();\n\n\t\t\t\tconst canvasWidth = wrapperRef.current.clientWidth;\n\t\t\t\tconst canvasHeight = wrapperRef.current.clientHeight;\n\t\t\t\tconst oldBackgroundLeft = fabricBackground.current.left || 0;\n\t\t\t\tconst oldBackgroundTop = fabricBackground.current.top || 0;\n\n\t\t\t\tfabricCanvas.current.setWidth(canvasWidth);\n\t\t\t\tfabricCanvas.current.setHeight(canvasHeight);\n\n\t\t\t\tconst scale = Math.min(\n\t\t\t\t\tcanvasWidth / fabricBackground.current.getScaledWidth(),\n\t\t\t\t\tcanvasHeight / fabricBackground.current.getScaledHeight()\n\t\t\t\t);\n\n\t\t\t\tfitImageToCanvas();\n\n\t\t\t\tconst canvasObjects = fabricCanvas.current.getObjects();\n\t\t\t\tcanvasObjects.forEach((obj) => {\n\t\t\t\t\t// only images have cacheKey\n\t\t\t\t\tif (!(obj as any).cacheKey) {\n\t\t\t\t\t\tobj.scaleX = (obj.scaleX || 1) * scale;\n\t\t\t\t\t\tobj.scaleY = (obj.scaleY || 1) * scale;\n\t\t\t\t\t\tobj.left =\n\t\t\t\t\t\t\t(fabricBackground.current?.left || 0) + ((obj.left || 0) - oldBackgroundLeft) * scale;\n\t\t\t\t\t\tobj.top = (fabricBackground.current?.top || 0) + ((obj.top || 0) - oldBackgroundTop) * scale;\n\t\t\t\t\t}\n\t\t\t\t\tobj.setCoords();\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t\twindow.addEventListener(\"resize\", handleResize);\n\t\tscreen.orientation?.addEventListener(\"change\", handleResize);\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"resize\", handleResize);\n\t\t\tscreen.orientation?.removeEventListener(\"change\", handleResize);\n\t\t};\n\t}, []);\n\n\t// reset back to default view\n\tconst resetZoomAndPosition = () => {\n\t\tif (fabricCanvas.current) {\n\t\t\tfabricCanvas.current.setZoom(1);\n\n\t\t\tconst vpt = fabricCanvas.current.viewportTransform || [0, 0, 0, 0, 0, 0];\n\t\t\tvpt[4] = 0;\n\t\t\tvpt[5] = 0;\n\n\t\t\tfabricCanvas.current.requestRenderAll();\n\t\t}\n\t};\n\n\t// =============================================================================\n\t// PHOTO AND DRAWINGS\n\t// =============================================================================\n\tconst clearDrawing = () => {\n\t\tif (fabricCanvas.current) {\n\t\t\tfabricCanvas.current.getObjects().forEach((obj) => {\n\t\t\t\tif (!obj.isType(\"image\")) fabricCanvas.current?.remove(obj);\n\t\t\t});\n\t\t}\n\t};\n\n\tconst fitImageToCanvas = () => {\n\t\tif (fabricCanvas.current && fabricBackground.current) {\n\t\t\tconst img = fabricBackground.current;\n\t\t\tconst canvasRatio = fabricCanvas.current.getWidth() / fabricCanvas.current.getHeight();\n\t\t\tconst imgRatio = (img.width || 1) / (img.height || 1);\n\t\t\tif (imgRatio <= canvasRatio) {\n\t\t\t\timg.scaleToHeight(fabricCanvas.current?.getHeight() || 1);\n\t\t\t\timg.left = (fabricCanvas.current.getWidth() - img.getScaledWidth()) / 2;\n\t\t\t\timg.top = 0;\n\t\t\t} else {\n\t\t\t\timg.scaleToWidth(fabricCanvas.current?.getWidth() || 1);\n\t\t\t\timg.top = (fabricCanvas.current.getHeight() - img.getScaledHeight()) / 2;\n\t\t\t\timg.left = 0;\n\t\t\t}\n\n\t\t\t// extra logic to zoom in to fit image to canvas width in mobile landscape orientation\n\n\t\t\tif (isMobileView() && canvasRatio > 1) {\n\t\t\t\tconst intendedZoom = Math.min((fabricCanvas.current.width || 0) / img.getScaledWidth() + 0.1, MAX_ZOOM);\n\t\t\t\tfabricCanvas.current.zoomToPoint(\n\t\t\t\t\tnew Point((fabricCanvas.current.width || 0) / 2, (fabricCanvas.current.height || 0) / 2),\n\t\t\t\t\tintendedZoom\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tfabricCanvas.current.clipPath = new Rect({\n\t\t\t\tleft: img.left,\n\t\t\t\ttop: img.top,\n\t\t\t\twidth: img.getScaledWidth(),\n\t\t\t\theight: img.getScaledHeight(),\n\t\t\t});\n\n\t\t\tif (pencilBrush.current && eraserBrush.current) {\n\t\t\t\tpencilBrush.current.width = PENCIL_BRUSH_SIZE * (img.scaleX || 1);\n\t\t\t\teraserBrush.current.width = PENCIL_BRUSH_SIZE * (img.scaleX || 1) * 2;\n\t\t\t}\n\n\t\t\timg.setCoords(); // Ensures the internal coordinate system matches the visual state after scaling\n\t\t\tfabricCanvas.current.requestRenderAll();\n\t\t}\n\t};\n\n\t// update image\n\tuseEffect(() => {\n\t\tconst handleUpdateImage = async () => {\n\t\t\tif (baseImageDataURL) {\n\t\t\t\tconst img = await FabricImage.fromURL(baseImageDataURL);\n\t\t\t\tif (fabricCanvas.current) {\n\t\t\t\t\tif (fabricBackground.current) {\n\t\t\t\t\t\tfabricCanvas.current.remove(fabricBackground.current);\n\t\t\t\t\t}\n\t\t\t\t\timg.selectable = false;\n\t\t\t\t\timg.hoverCursor = \"default\";\n\t\t\t\t\timg.erasable = false;\n\t\t\t\t\tfabricCanvas.current.insertAt(0, img); // Insert the image as the lowest object so we can draw on top of it\n\t\t\t\t\tfabricBackground.current = img;\n\t\t\t\t\tresetZoomAndPosition();\n\t\t\t\t\tfitImageToCanvas();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\thandleUpdateImage();\n\t}, [baseImageDataURL]);\n\n\t// update drawing\n\tuseEffect(() => {\n\t\tif (fabricCanvas.current) {\n\t\t\tfabricCanvas.current.getObjects().forEach((obj) => {\n\t\t\t\tif (obj.type !== \"image\") {\n\t\t\t\t\tfabricCanvas.current.remove(obj);\n\t\t\t\t}\n\t\t\t});\n\t\t\tdrawing?.forEach((d: Path) => {\n\t\t\t\tfabricCanvas.current.add(d);\n\t\t\t});\n\t\t\tfabricCanvas.current.requestRenderAll();\n\t\t}\n\t}, [drawing]);\n\n\t// =============================================================================\n\t// DRAWING MODES\n\t// =============================================================================\n\t// toggle drawing mode\n\t// fires when user clicks draw or save\n\tuseEffect(() => {\n\t\tif (fabricCanvas.current) {\n\t\t\tif (color || erase) {\n\t\t\t\tfabricCanvas.current.isDrawingMode = true;\n\t\t\t} else if (fabricCanvas.current.isDrawingMode) {\n\t\t\t\tfabricCanvas.current.isDrawingMode = false;\n\t\t\t\tresetZoomAndPosition();\n\t\t\t}\n\t\t}\n\t}, [color, erase]);\n\n\tuseEffect(() => {\n\t\tif (pencilBrush.current && color) {\n\t\t\tpencilBrush.current.color = color;\n\t\t}\n\t}, [color]);\n\n\tuseEffect(() => {\n\t\tif (fabricCanvas.current) {\n\t\t\tif (erase) {\n\t\t\t\tfabricCanvas.current.freeDrawingBrush = eraserBrush.current;\n\t\t\t} else if (pencilBrush.current) {\n\t\t\t\tfabricCanvas.current.freeDrawingBrush = pencilBrush.current;\n\t\t\t}\n\t\t}\n\t}, [erase]);\n\n\t// =============================================================================\n\t// GESTURES\n\t// =============================================================================\n\tconst handleMouseDown = (e: TEvent) => {\n\t\tif (typeof TouchEvent !== \"undefined\" && e.e instanceof TouchEvent && e.e.touches.length === 2) {\n\t\t\tif (typeof TouchEvent !== \"undefined\" && fabricCanvas.current && fabricCanvas.current.isDrawingMode) {\n\t\t\t\tfabricCanvas.current.isDrawingMode = false;\n\n\t\t\t\t// prevent drawing when gesturing\n\t\t\t\t// clear accidental drawings while gesturing\n\t\t\t\ttry {\n\t\t\t\t\t(fabricCanvas.current.freeDrawingBrush as any).onMouseUp({ e: {} });\n\t\t\t\t} catch (e) {}\n\t\t\t\tconst canvasObjects = fabricCanvas.current.getObjects();\n\t\t\t\tif (canvasObjects.length > 1) {\n\t\t\t\t\tfabricCanvas.current.remove(canvasObjects[canvasObjects.length - 1]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleMouseUp = (e: TEvent) => {\n\t\tif (typeof TouchEvent !== \"undefined\" && e.e instanceof TouchEvent && e.e.touches.length === 0) {\n\t\t\tgestures.current.pinchStartAmount = 0;\n\t\t\tif (fabricCanvas.current && (color || erase)) {\n\t\t\t\tfabricCanvas.current.isDrawingMode = true;\n\t\t\t}\n\t\t}\n\n\t\tfabricCanvas.current?.getObjects().forEach((obj) => {\n\t\t\tobj.selectable = false;\n\t\t\tobj.hoverCursor = \"default\";\n\t\t});\n\t};\n\n\tconst handlePencilErasable = (e: any) => {\n\t\tconst path = e.path as Path;\n\t\tpath.erasable = true; // Important for @erase2d/fabric\n\t};\n\n\tuseEffect(() => {\n\t\tif (fabricCanvas.current) {\n\t\t\tfabricCanvas.current.on(\"mouse:down\", handleMouseDown);\n\t\t\tfabricCanvas.current.on(\"mouse:up\", handleMouseUp);\n\t\t\tfabricCanvas.current.on(\"path:created\", handlePencilErasable);\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (fabricCanvas.current) {\n\t\t\t\tfabricCanvas.current.off(\"mouse:down\", handleMouseDown);\n\t\t\t\tfabricCanvas.current.off(\"mouse:up\", handleMouseUp);\n\t\t\t\tfabricCanvas.current.on(\"path:created\", handlePencilErasable);\n\t\t\t}\n\t\t};\n\t}, [fabricCanvas.current, color, erase]);\n\n\tusePinch(\n\t\t({ offset, origin, touches }) => {\n\t\t\tif (color || erase) {\n\t\t\t\tif (fabricCanvas.current && touches === 2) {\n\t\t\t\t\tif (gestures.current.pinchStartAmount === 0) {\n\t\t\t\t\t\tgestures.current.pinchStartAmount = fabricCanvas.current.getZoom();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst scale = offset[0];\n\t\t\t\t\t\tlet zoom = gestures.current.pinchStartAmount * scale;\n\t\t\t\t\t\tif (zoom < 1) zoom = 1;\n\t\t\t\t\t\telse if (zoom > MAX_ZOOM) zoom = MAX_ZOOM;\n\t\t\t\t\t\tconst [ox, oy] = origin;\n\t\t\t\t\t\tfabricCanvas.current.zoomToPoint(new Point(ox, oy), zoom);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{ target: wrapperRef, pointer: { touch: true } }\n\t);\n\n\tuseDrag(\n\t\t({ delta: [dx, dy], touches }) => {\n\t\t\tif (color || erase) {\n\t\t\t\tif (fabricCanvas.current && touches === 2) {\n\t\t\t\t\tfabricCanvas.current.relativePan(new Point(dx, dy));\n\n\t\t\t\t\tconst vpt = fabricCanvas.current.viewportTransform || [];\n\t\t\t\t\tconst zoom = fabricCanvas.current.getZoom();\n\t\t\t\t\tif (vpt[4] >= 0) {\n\t\t\t\t\t\tvpt[4] = 0;\n\t\t\t\t\t} else if (vpt[4] < -fabricCanvas.current.getWidth() * (zoom - 1)) {\n\t\t\t\t\t\tvpt[4] = -fabricCanvas.current.getWidth() * (zoom - 1);\n\t\t\t\t\t}\n\t\t\t\t\tif (vpt[5] >= 0) {\n\t\t\t\t\t\tvpt[5] = 0;\n\t\t\t\t\t} else if (vpt[5] < -fabricCanvas.current.getHeight() * (zoom - 1)) {\n\t\t\t\t\t\tvpt[5] = -fabricCanvas.current.getHeight() * (zoom - 1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{ target: wrapperRef, pointer: { touch: true } }\n\t);\n\n\treturn (\n\t\t<Wrapper ref={wrapperRef}>\n\t\t\t<Canvas id={TestHelper.generateId(\"imageEditor\")} ref={canvasRef} canDraw={!!(color || erase)} />\n\t\t</Wrapper>\n\t);\n});\n"],"names":["_callSuper","t","o","e","_getPrototypeOf","self","call","TypeError","_assertThisInitialized","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","ownKeys","r","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread2","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_regeneratorRuntime","n","hasOwnProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","this","d","getPrototypeOf","v","values","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","delegateYield","_toPropertyKey","toPrimitive","String","Number","_toPrimitive","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","args","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","obj","_inherits","subClass","superClass","_setPrototypeOf","bind","ReferenceError","_get","get","property","receiver","base","object","_superPropBase","desc","_slicedToArray","arr","Array","isArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_toConsumableArray","_arrayLikeToArray","_arrayWithoutHoles","iter","from","_iterableToArray","_nonIterableSpread","minLen","toString","test","len","arr2","indexOf","propertyIsEnumerable","freeze","raw","window","devicePixelRatio","super","configure","assign","addFonts","fontPaths","removeFonts","clearFonts","restoreDefaults","reduce","console","concat","testPrecision","createShader","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","queryWebGL","getContext","maxTextureSize","getParameter","MAX_TEXTURE_SIZE","GLPrecision","find","getExtension","loseContext","isSupported","document","isTouchSupported","navigator","maxTouchPoints","WebGLProbe","dispose","copyPasteData","m","Math","max","_","getFontCache","fontFamily","fontStyle","fontWeight","toLowerCase","charWidthsCache","clearFontCache","limitDimsByArea","perfLimitSizeTotal","sqrt","floor","x","C","b","PI","S","w","T","O","k","D","M","P","E","A","j","F","L","R","I","B","X","Y","W","V","z","G","H","N","U","q","K","J","Q","Z","$","tt","Map","has","getClass","setClass","set","getSVGClass","setSVGClass","et","remove","splice","cancelAll","abort","cancelByCanvas","canvas","cancelByTarget","st","on","__eventListeners","entries","off","once","_removeEventListener","fire","it","rt","abs","cos","nt","sign","sin","ot","add","addEquals","scalarAdd","scalarAddEquals","subtract","subtractEquals","scalarSubtract","scalarSubtractEquals","multiply","scalarMultiply","scalarMultiplyEquals","divide","scalarDivide","scalarDivideEquals","eq","lt","lte","gt","gte","lerp","min","distanceFrom","midPointFrom","setXY","setX","setY","setFromPoint","swap","clone","rotate","at","transform","ht","_objects","ct","_onObjectAdded","_onObjectRemoved","_onStackOrderChanged","insertAt","forEachObject","getObjects","isType","item","isEmpty","size","contains","includes","some","complexity","sendObjectToBack","unshift","bringObjectToFront","sendObjectBackwards","findNewLowerIndex","bringObjectForward","findNewUpperIndex","moveObjectTo","isOverlapping","collectObjects","left","top","width","height","includeIntersecting","selectable","visible","intersectsWithRect","isContainedWithinRect","containsPoint","_setOptions","_setObject","_set","toggle","ut","requestAnimationFrame","dt","cancelAnimationFrame","ft","pt","createElement","mt","vt","yt","toDataURL","_t","toBlob","xt","Ct","bt","every","St","wt","Tt","Ot","reduceRight","kt","atan2","Dt","pow","angle","scaleX","scaleY","skewX","skewY","translateX","translateY","Mt","Pt","Et","At","tan","jt","Ft","Lt","flipX","flipY","Rt","It","signal","crossOrigin","aborted","src","addEventListener","onload","onerror","removeEventListener","Bt","reviver","all","map","fromObject","finally","Xt","Yt","Wt","Vt","parseFloat","toFixed","zt","NUM_FRACTION_DIGITS","join","Gt","toLive","Ht","toObject","Nt","offsetX","Ut","qt","Kt","documentElement","body","scrollLeft","scrollTop","parentNode","host","nodeType","style","position","ownerDocument","Jt","defaultView","Qt","setAttribute","scale","Zt","$t","onselectstart","userSelect","te","createLowerCanvas","lower","el","ctx","getElementById","hasAttribute","_originalCanvasStyle","cssText","classList","cleanupDOM","removeAttribute","setDimensions","setCSSDimensions","calcOffset","getComputedStyle","parseInt","borderLeftWidth","borderTopWidth","paddingLeft","paddingTop","getBoundingClientRect","clientLeft","clientTop","ee","backgroundVpt","backgroundColor","overlayVpt","overlayColor","includeDefaultValues","svgViewportTransformation","renderOnAddRemove","skipOffscreen","enableRetinaScaling","imageSmoothingEnabled","controlsAboveOverlay","allowTouchScrolling","viewportTransform","se","lowerCanvasEl","elements","contextContainer","getDefaults","ownDefaults","initElements","_setDimensionsImpl","skipControlsDrawing","calcViewportBoundaries","requestRenderAll","setCoords","getRetinaScaling","_offset","getWidth","getHeight","setWidth","setHeight","cssOnly","backstoreOnly","hasLostContext","getZoom","setViewportTransform","zoomToPoint","setZoom","absolutePan","relativePan","getElement","clearContext","clearRect","clear","backgroundImage","overlayImage","renderAll","cancelRequestedRender","destroyed","renderCanvas","renderAndReset","nextRenderHandle","disposed","vptCoords","tl","tr","bl","br","drawControls","clipPath","patternQuality","_renderBackground","save","_renderObjects","restore","shouldCache","_transformDone","renderCache","forClipping","drawClipPathOnCanvas","_renderOverlay","__cleanupTask","globalCompositeOperation","zoomX","zoomY","drawImage","_cacheCanvas","cacheTranslationX","cacheTranslationY","render","_renderBackgroundOrOverlay","beginPath","moveTo","lineTo","closePath","fillStyle","offsetY","gradientTransform","patternTransform","fill","getCenter","getCenterPoint","centerObjectH","_centerObject","centerObjectV","centerObject","viewportCenterObject","getVpCenter","viewportCenterObjectH","viewportCenterObjectV","toDatalessJSON","toDatalessObject","_toObjectMethod","toJSON","excludeFromExport","_toObject","version","objects","__serializeBgOverlay","background","overlay","toSVG","_setSVGPreamble","_setSVGHeader","clipPathId","_setSVGBgOverlayColor","_setSVGBgOverlayImage","_setSVGObjects","suppressPreamble","encoding","viewBox","createSVGFontFacesMarkup","createSVGRefElementsMarkup","createSVGClipPathMarkup","toClipPathSVG","additionalTransform","_renderText","styles","_setSVGObject","repeat","source","id","loadFromJSON","JSON","parse","cloneWithoutData","format","quality","multiplier","toCanvasElement","destroy","kill","ie","re","changedTouches","clientX","clientY","ne","pointerType","oe","preventDefault","stopPropagation","ae","he","ce","le","calcOwnMatrix","setPositionByOrigin","ue","de","ge","fe","pe","me","ve","ye","_e","center","bottom","right","xe","Ce","be","originX","originY","Se","we","Te","pointer","Oe","getTotalAngle","round","ke","corner","controls","padding","getRelativeCenterPoint","translateToGivenOrigin","De","Me","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgrey","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","Pe","Ee","Ae","endsWith","je","toUpperCase","padStart","Fe","Le","setSource","_source","_tryParsingColor","sourceFromHex","sourceFromRgb","sourceFromHsl","isUnrecognised","getSource","toRgb","toRgba","toHsl","toHsla","toHex","toHexa","getAlpha","setAlpha","toGrayscale","toBlackWhite","overlayWith","fromRgb","fromRgba","match","fromHsl","fromHsla","parseAngletoDegrees","fromHex","split","Re","exec","DPI","Ie","trim","meetOrSlice","alignX","alignY","Be","Xe","getSvgStyles","fillRule","strokeWidth","strokeDashArray","strokeDashOffset","strokeLineCap","strokeLineJoin","strokeMiterLimit","opacity","getSvgFilter","stroke","shadow","getSvgCommons","getSvgTransform","calcTransformMatrix","_toSVG","_createBaseSVGMarkup","_createBaseClipPathSVGMarkup","noStyle","withShadow","strokeUniform","absolutePositioned","addPaintOrder","paintFirst","Ye","RegExp","We","Ve","ze","Ge","He","Ne","Ue","_reNewline","_reSpacesAndTabs","_reSpaceAndTab","_reWords","fontSize","underline","overline","linethrough","textAlign","lineHeight","textBackgroundColor","path","pathStartOffset","pathSide","pathAlign","charSpacing","deltaY","direction","CACHE_FONT_SIZE","MIN_TEXT_WIDTH","superscript","baseline","subscript","_fontSizeFraction","offsets","_fontSizeMult","qe","Ke","Je","Qe","Ze","$e","ts","es","ss","rs","ns","cx","cy","display","visibility","os","as","ls","ds","gs","fs","ps","ms","vs","Cs","bs","ys","_s","xs","Ss","ws","Ts","Os","parseShadow","color","replace","blur","affectStroke","nonScaling","ks","Ds","Ms","Ps","minScaleLimit","objectCaching","inverted","centeredRotation","centeredScaling","dirty","Es","asin","As","js","Fs","Ls","Rs","defaultEasing","easeInBack","easeInBounce","easeInCirc","easeInCubic","easeInElastic","easeInExpo","easeInOutBack","easeInOutBounce","easeInOutCirc","easeInOutCubic","easeInOutElastic","easeInOutExpo","easeInOutQuad","easeInOutQuart","easeInOutQuint","easeInOutSine","easeInQuad","easeInQuart","easeInQuint","easeInSine","easeOutBack","easeOutBounce","easeOutCirc","easeOutCubic","easeOutElastic","easeOutExpo","easeOutQuad","easeOutQuart","easeOutQuint","easeOutSine","Is","Bs","startValue","byValue","duration","delay","easing","onStart","onChange","onComplete","tick","_onStart","_onChange","_onComplete","_abort","endValue","calculate","state","_state","isDone","start","startTime","Date","register","setTimeout","durationProgress","valueProgress","unregister","Xs","Ys","Ws","Vs","zs","Gs","Hs","Ns","Us","qs","Ks","status","points","append","isPointContained","isPointInPolygon","intersectSegmentSegment","intersectLineLine","intersectSegmentLine","intersectLinePolygon","intersectSegmentPolygon","intersectPolygonPolygon","intersectPolygonRectangle","Js","getX","getXY","getY","getRelativeX","setRelativeX","getRelativeY","setRelativeY","getRelativeXY","group","setRelativeXY","isStrokeAccountedForInDimensions","getCoords","aCoords","calcACoords","intersectsWithObject","isContainedWithinObject","getBoundingRect","isOnScreen","isPartiallyOnScreen","getScaledWidth","_getTransformedDimensions","getScaledHeight","scaleToWidth","scaleToHeight","getCanvasRetinaScaling","getViewportTransform","transformMatrixKey","matrixCache","ownMatrixCache","_getNonTransformedDimensions","_calculateCurrentDimensions","translateToCenterPoint","translateToOriginPoint","getPointByOrigin","_getLeftTopCoords","Qs","Zs","$s","setOptions","_createCacheCanvas","_cacheContext","_updateCacheCanvas","_limitCacheSize","maxCacheSideLimit","minCacheSideLimit","capped","_getCacheCanvasDimensions","getTotalObjectScaling","ceil","setTransform","translate","contextTop","getObjectScaling","getObjectOpacity","_constrainScale","cacheProperties","parent","stateProperties","isNotVisible","_setupCompositeOperation","drawSelectionBackground","_setOpacity","_setShadow","drawCacheOnCanvas","_removeCacheCanvas","drawObject","isCacheDirty","parentClipPaths","hasStroke","hasFill","needsItsOwnCache","ownCaching","isOnACache","willDrawShadow","drawClipPathOnCache","_setClippingProperties","_render","_drawClipPath","createClipPathLayer","fillRect","_removeShadow","globalAlpha","_setStrokeStyles","lineWidth","lineCap","lineDashOffset","lineJoin","miterLimit","gradientUnits","_applyPatternForTransformedGradient","strokeStyle","_applyPatternGradientTransform","_setFillStyles","_setLineDash","setLineDash","shadowColor","shadowBlur","browserShadowBlurConstant","shadowOffsetX","shadowOffsetY","_renderPaintInOrder","_renderStroke","_renderFill","createPattern","_findCenterFromElement","cloneAsImage","canvasProvider","withoutTransform","withoutShadow","setOnGroup","animate","_animate","colorProperties","isDescendantOf","getAncestors","findCommonAncestors","fork","otherFork","common","hasCommonAncestors","isInFrontOf","customProperties","_removeDefaultValues","_fromObject","extraParam","ti","ei","si","ii","sizeX","cornerSize","sizeY","transparentCorners","cornerStrokeColor","cornerColor","arc","ri","strokeRect","ni","shouldActivate","getActiveObject","isControlVisible","getActionHandler","actionHandler","getMouseDownHandler","mouseDownHandler","getMouseUpHandler","mouseUpHandler","cursorStyleHandler","cursorStyle","getActionName","actionName","getVisibility","_controlsVisibility","setVisibility","positionHandler","calcCornerCoords","touchSizeX","touchSizeY","cornerStyle","oi","lockRotation","ai","ex","ey","theta","snapAngle","snapThreshold","hi","uniScaleKey","uniformScaling","ci","li","ui","di","by","gestureScale","signX","signY","original","gi","fi","pi","mi","vi","counterAxis","skew","lockSkewing","origin","flip","yi","_i","xi","skewingSide","atan","Ci","bi","Si","altActionKey","wi","Ti","Oi","ki","Di","ml","mr","mb","mtr","withConnection","Mi","Pi","Ei","createControls","noScaleCache","_currentTransform","action","startsWith","getActiveControl","__corner","control","coord","oCoords","findControl","hasControls","touchCorner","calcOCoords","forEachControl","_calcCornerCoords","touchCornerSize","selectionBackgroundColor","_activeObject","strokeBorders","_drawBorders","borderColor","borderDashArray","drawControlsConnectingLines","_renderControls","hasBorders","borderScaleFactor","isMoving","borderOpacityWhenMoving","drawBorders","forActiveSelection","cornerDashArray","setControlVisible","setControlsVisibility","clearContextTop","onDeselect","onSelect","shouldStartDragging","onDragStart","canDrop","renderDragSourceEffect","renderDropTargetEffect","Ai","getOwnPropertyNames","lockMovementX","lockMovementY","lockScalingX","lockScalingY","lockSkewingX","lockSkewingY","lockScalingFlip","evented","perPixelTargetFind","activeOn","hoverCursor","moveCursor","ji","Fi","data","getImageData","Li","options","strokeProjectionMagnitude","strokeUniformScalar","createSideVector","projectOrthogonally","applySkew","calcOrthogonalProjection","isSkewed","scaleUnitVector","Ri","Ii","getOrthogonalRotationFactor","AB","AC","alpha","bisector","projectBevel","projectMiter","projectRoundNoSkew","projectRoundWithSkew","projectRound","projectPoints","project","originPoint","projectedPoint","Bi","projectButt","projectSquare","Xi","Yi","Wi","Vi","zi","Intl","Segmenter","granularity","segment","Gi","Hi","charCodeAt","Ni","capitalize","escapeXml","graphemeSplit","Ui","textDecorationThickness","qi","end","Ki","Ji","Qi","nodeName","getAttribute","Zi","parentElement","$i","sr","ir","rr","nr","or","ar","hr","cr","lr","ur","dr","gr","fr","pr","vr","yr","_r","xr","Cr","er","matchAll","Sr","transformMatrix","kr","Dr","Tr","Or","font","wr","Mr","Pr","Er","_initRxRy","rx","ry","bezierCurveTo","fromElement","ATTRIBUTE_NAMES","Ar","jr","Fr","Lr","Rr","Ir","calcLayoutResult","shouldPerformLayout","calcBoundingBox","prevStrategy","strategy","shouldLayoutClipPath","getInitialSize","overrides","relativeCorrection","Br","Xr","Yr","Wr","Vr","_subscriptions","performLayout","bubbles","_prevLayoutStrategy","onBeforeLayout","getLayoutResult","commitLayout","onAfterLayout","attachHandlers","trigger","subscribe","unsubscribe","delete","unsubscribeTargets","targets","subscribeTargets","context","deep","layoutManager","correction","result","prevCenter","nextCenter","offset","layoutObjects","layoutObject","zr","Gr","Hr","groupInit","__objectSelectionTracker","__objectSelectionMonitor","__objectSelectionDisposer","enterGroup","canEnterGroup","_filterObjectsBeforeEnteringGroup","_onAfterObjectsChange","exitGroup","_shouldSetNestedCoords","subTargetCheck","removeAll","_activeObjects","_watchObject","_enterGroup","_exitGroup","preserveObjectStacking","triggerLayout","__serializeObjects","_createSVGBgRect","interactive","Nr","Ur","qr","Kr","Jr","Qr","Zr","$r","tn","cachesBoundsOfCurve","boundsOfCurveCache","nn","en","sn","rn","an","hn","cn","ln","un","dn","command","angleFinder","destX","destY","pn","gn","mn","vn","yn","_n","xn","lastIndex","Cn","bn","Sn","setProperty","kn","addTransformToObject","animateColor","applyTransformToObject","calcAngleBetweenVectors","calcDimensionsMatrix","calcPlaneChangeMatrix","calcVectorRotation","cancelAnimFrame","capValue","composeMatrix","copyCanvasElement","createCanvasElement","createImage","createRotateMatrix","createScaleMatrix","createSkewXMatrix","createSkewYMatrix","createTranslateMatrix","createVector","crossProduct","degreesToRadians","dotProduct","ease","enlivenObjectEnlivables","enlivenObjects","findScaleToCover","findScaleToFit","getBoundsOfCurve","getOrthonormalVector","getPathSegmentsInfo","getPointOnPath","getPointer","getRandomInt","random","getRegularPolygonPath","getSmoothPathFromPoints","getSvgAttributes","getUnitVector","groupSVGElements","hasStyleChanged","invertTransform","isBetweenVectors","isIdentityMatrix","isTouchEvent","isTransparent","joinPath","loadImage","magnitude","makeBoundingBoxFromPoints","makePathSimpler","matrixToSVG","mergeClipPaths","multiplyTransformMatrices","multiplyTransformMatrixArray","parsePath","parsePreserveAspectRatioAttribute","parseUnit","pick","projectStrokeOnPoints","qrDecompose","radiansToDegrees","removeFromArray","removeTransformFromObject","removeTransformMatrixForSvgParsing","cropX","cropY","offsetLeft","offsetTop","request","ontimeout","onreadystatechange","readyState","open","send","requestAnimFrame","resetObjectTransform","rotatePoint","rotateVector","saveObjectTransform","sendObjectToPlane","sendPointToPlane","sendVectorToPlane","setStyle","sizeAfterTransform","string","stylesFromArray","stylesToArray","transformPath","transformPoint","Dn","containerClass","createUpperCanvas","upper","applyCanvasStyle","createContainerElement","replaceChild","container","className","removeChild","Mn","upperCanvasEl","wrapperEl","_objectsToRender","deselected","_discardActiveObject","_hoveredTarget","_hoveredTargets","_chooseObjectsToRender","contextTopDirty","_groupSelector","isDrawingMode","renderTopLayer","_isCurrentlyDrawing","freeDrawingBrush","selection","_drawSelection","renderTop","setTargetFindTolerance","targetFindTolerance","pixelFindCanvasEl","pixelFindContext","isTargetTransparent","_isSelectionKeyPressed","selectionKey","_shouldClearSelection","getActiveObjects","_shouldCenterTransform","_getOriginFromCorner","_setupCurrentTransform","getScenePoint","centeredKey","actionPerformed","lastX","lastY","shiftKey","altKey","setCursor","cursor","deltaX","selectionLineWidth","selectionColor","selectionBorderColor","selectionDashArray","findTarget","skipTargetFind","getViewportPoint","searchPossibleTargets","altSelectionKey","_pointIsInObjectSelectionArea","_checkTarget","isEditing","_searchPossibleTargets","_pointer","_absolutePointer","_resetTransformEventData","_setBrushStyles","willReadFrequently","getTopContext","getSelectionContext","getSelectionElement","_fireSelectionEvents","selected","setActiveObject","_setActiveObject","endCurrentTransform","discardActiveObject","_finalizeCurrentTransform","_scaling","_realizeGroupTransformOnObject","selectionFullyContained","defaultCursor","freeDrawingCursor","notAllowedCursor","stopContextMenu","fireRightClick","fireMiddleClick","enablePointerEvents","Pn","hiddenTextarea","focus","__disposer","exitTextEditing","exitEditing","onMouseMove","updateSelectionOnMouseMove","En","An","passive","jn","viewportPoint","scenePoint","absolutePointer","Fn","Ln","Rn","mouse","in","out","targetIn","targetOut","canvasIn","canvasOut","drag","In","addOrRemove","_getEventPrefix","_onResize","_onMouseDown","_onMouseMove","_onMouseOut","_onMouseEnter","_onMouseWheel","_onContextMenu","_onClick","_onDragStart","_onDragEnd","_onDragOver","_onDragEnter","_onDragLeave","_onDrop","_onTouchStart","removeListeners","_onMouseUp","_onTouchEnd","clearTimeout","_willAddMouseDown","__onMouseWheel","_isClick","_dragSource","_onDragProgress","_renderDragEffects","_dropTarget","dataTransfer","dropEffect","subTargets","dragSource","didDrop","dropTarget","_draggedoverTarget","findDragTargets","_fireEnterLeaveEvents","_basicEventHandler","detail","_cacheTransformEventData","_handleEvent","getPointerId","identifier","pointerId","_isMainEvent","isPrimary","touches","mainTouchId","__onMouseDown","_target","__onMouseUp","__onMouseMove","_shouldRender","button","_onMouseUpInDrawingMode","handleSelection","_setCursorFromEvent","isClick","currentTarget","currentSubTargets","_onMouseDownInDrawingMode","onMouseDown","alreadySelected","_onMouseMoveInDrawingMode","onMouseUp","handleMultiSelection","_transformObject","_fireOverOutEvents","textEditingManager","fireSyntheticInOutEvents","oldTarget","fireCanvas","nextTarget","previousTarget","_performTransformAction","multiSelectAdd","Bn","x1","y1","x2","y2","Xn","r1","r2","Yn","Wn","Vn","zn","NaN","Gn","Hn","Nn","Un","getElementsByTagName","qn","Kn","Jn","Qn","Zn","coords","colorStops","addColorStop","sort","_renderPathCommands","pathOffset","createLinearGradient","createRadialGradient","viewBoxWidth","viewBoxHeight","$n","to","isImageSource","isCanvasSource","sourceToString","naturalWidth","naturalHeight","eo","_saveAndTransform","needsFullRender","_resetShadow","_isOutSideCanvas","so","io","ro","_setPath","setBoundingBox","_calcBoundsFromPath","quadraticCurveTo","sourcePath","_getOffsetTransform","_calcDimensions","no","_points","_hasStraightLine","drawSegment","drawStraightLine","straightLineKey","_prepareForDrawing","_addPoint","limitedToCanvasSize","oldEnd","_finalizeAndAddPath","_reset","convertPointsToSVGPath","createPath","decimatePoints","decimate","oo","ao","ho","setRadius","radius","startAngle","endAngle","counterClockwise","getRadiusX","getRadiusY","go","fo","po","mo","_setWidthHeight","calcLinePoints","vo","yo","_o","getRx","getRy","Co","bo","exactBoundingBox","So","initialized","isOpen","_projectStrokeOnPoints","strokeOffset","strokeDiff","layoutProperties","xo","wo","To","isEmptyStyles","line","styleHas","cleanStyle","_textLines","removeStyle","_extendStyles","lineIndex","charIndex","get2DCursorLocation","_getLineStyle","_setLineStyle","_getStyleDeclaration","_setStyleDeclaration","getSelectionStyles","getStyleAtPosition","getCompleteStyleDeclaration","setSelectionStyles","_forceClearCache","_styleProperties","_deleteStyleDeclaration","_deleteLineStyle","Oo","ko","Do","Mo","Po","Eo","text","setPathInfo","initDimensions","segmentsInfo","_splitText","_splitTextIntoLines","textLines","lines","graphemeLines","_unwrappedTextLines","_unwrappedLines","_text","graphemeText","_clearCache","calcTextWidth","cursorWidth","calcTextHeight","enlargeSpaces","isEndOfWrapping","getLineWidth","__charBounds","kernedWidth","missingNewlineOffset","_setTextStyles","_renderTextLinesBackground","_renderTextDecoration","_renderTextStroke","_renderTextFill","textBaseline","_getFontDeclaration","_renderTextLine","_renderChars","_getLeftOffset","_getTopOffset","getHeightOfLine","_getLineLeftOffset","getValueOfPropertyAt","renderLeft","_measureChar","measureText","getHeightOfChar","measureLine","_measureLine","_getWidthOfCharSpacing","_getGraphemeBox","_setGraphemeOnPath","numOfSpaces","__lineHeights","_renderTextCommon","_renderChar","_applyPatternGradientTransformText","handleFiller","fillText","strokeText","setSuperscript","_setScript","setSubscript","__lineWidths","genericFonts","textLayoutProperties","textAnchor","textDecoration","dx","dy","textContent","_getSVGLeftTopOffsets","_getSVGTextAndBg","textTop","textLeft","_wrapSVGTextAndBg","lineTop","textBgRects","textSpans","getSvgTextDecoration","_setSVGTextLineBg","_setSVGTextLineText","_createTextCharSpan","getSvgSpanStyles","_getSVGLineTopOffset","Ao","dragEnterHandler","dragOverHandler","dragLeaveHandler","dragEndHandler","dropHandler","_dispose","isPointerOverSelection","getSelectionStartFromPointer","selectionStart","selectionEnd","__mouseDownInPlace","isActive","__dragStartFired","setCursorByClick","initDelayedCursor","__isDraggingOver","getDragStartSelection","__dragStartSelection","setDragImage","_getCursorBoundaries","leftOffset","topOffset","border","__dragImageDisposer","appendChild","setData","stringify","effectAllowed","abortCursorAnimation","editable","defaultPrevented","targetCanDrop","getData","types","removeChars","trimEnd","insertChars","enterEditing","_updateTextarea","index","jo","Fo","initBehavior","_tick","_onTickComplete","_animateCursor","toValue","_currentCursorOpacity","renderCursorOrSelection","_currentTickState","cursorDuration","_currentTickCompleteState","cursorDelay","restartCursorIfNeeded","selectAll","_fireSelectionChanged","cmdAll","getSelectedText","findWordBoundaryLeft","_reSpace","findWordBoundaryRight","findLineBoundaryLeft","findLineBoundaryRight","searchWordBoundary","selectWord","selectLine","enterEditingImpl","initHiddenTextarea","_saveEditingProps","_setEditingProps","_textBeforeEdit","activeElement","__selectionStartOnMouseDown","editingBorderColor","fromStringToGraphemeSelection","fromGraphemeToStringSelection","cursorOffsetCache","inCompositionMode","updateTextareaPosition","updateFromTextArea","_calcTextareaPosition","compositionStart","clientWidth","clientHeight","charHeight","_savedProps","_restoreEditingProps","_exitEditing","exitEditingImpl","_removeExtraneousStyles","removeStyleFromTo","shiftLineStyles","insertNewlineStyleObject","insertCharStyleObject","insertNewStyleBlock","setSelectionStartEndWithShift","_selectionDirection","Lo","autocapitalize","autocorrect","autocomplete","spellcheck","hiddenTextareaContainer","keydown","keyup","input","copy","cut","paste","compositionstart","compositionupdate","compositionend","onKeyDown","keysMapRtl","keysMap","keyCode","ctrlKeysMapDown","ctrlKey","metaKey","stopImmediatePropagation","onKeyUp","_copyDone","ctrlKeysMapUp","onInput","fromPaste","copiedText","disableStyleCopyPaste","copiedTextStyle","onCompositionStart","onCompositionEnd","onCompositionUpdate","compositionEnd","_getWidthBeforeCursor","getDownCursorOffset","_getSelectionForOffset","_getIndexOnLine","getUpCursorOffset","moveCursorDown","_moveCursorUpOrDown","moveCursorUp","moveCursorWithShift","moveCursorWithoutShift","moveCursorLeft","_moveCursorLeftOrRight","_move","_moveLeft","_moveRight","moveCursorLeftWithoutShift","moveCursorLeftWithShift","moveCursorRight","moveCursorRightWithShift","moveCursorRightWithoutShift","Ro","Io","_mouseDownHandler","doubleClickHandler","tripleClickHandler","draggableTextDelegate","Bo","Xo","Yo","Wo","Vo","zo","Go","cursorColor","caching","Ho","setSelectionStart","_updateAndFire","setSelectionEnd","findAncestorsWithClipPath","renderSelection","renderCursor","_getCursorBoundariesOffsets","__getCursorBoundariesOffsets","renderCursorAt","_renderCursor","getCursorRenderingData","_renderSelection","compositionColor","getCurrentCharFontSize","_getCurrentCharIndex","getCurrentCharColor","No","dynamicMinWidth","_styleMap","_generateStyleMap","splitByGrapheme","isWrapping","_wrapText","getGraphemeDataForRender","wordsData","_wrapLine","wordSplit","word","_measureWord","largestWordWidth","_wordJoiners","getMinWidth","minWidth","Uo","qo","Ko","Set","Jo","multiSelectionStacking","findIndex","Qo","applyFilters","sourceWidth","sourceHeight","imageData","originalEl","originalImageData","canvasEl","filterBackend","applyTo","putImageData","Zo","tileSize","textureSize","Float32Array","setupGLContext","captureGPUInfo","createWebGLCanvas","premultipliedAlpha","depth","stencil","antialias","clearColor","gl","getCachedTexture","originalWidth","originalHeight","destinationWidth","destinationHeight","sourceTexture","createTexture","targetTexture","originalTexture","passes","webgl","aPosition","programCache","pass","targetCanvas","createFramebuffer","bindFramebuffer","FRAMEBUFFER","copyGLTo2D","bindTexture","TEXTURE_2D","deleteTexture","deleteFramebuffer","clearWebGLCaches","textureCache","NEAREST","RGBA","UNSIGNED_BYTE","CLAMP_TO_EDGE","TEXTURE_MAG_FILTER","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","TEXTURE_WRAP_T","texParameteri","texImage2D","evictCachesForKey","copyGLTo2DPutImageData","Uint8Array","imageBuffer","Uint8ClampedArray","readPixels","ImageData","gpuInfo","renderer","vendor","UNMASKED_RENDERER_WEBGL","UNMASKED_VENDOR_WEBGL","$o","ea","enableGLFiltering","ta","ia","ra","na","filters","cacheKey","setElement","_element","removeTexture","_originalElement","CSS_CANVAS","resizeFilter","applyResizeFilters","getCrossOrigin","getOriginalSize","_stroke","getSrc","hasCrop","imageSmoothing","getSvgSrc","srcFromAttribute","setSrc","minimumScaleTrigger","_filteredEl","_filterScalingX","_filterScalingY","_lastScaleX","_lastScaleY","isNeutralState","_needsResize","_resetWidthHeight","preserveAspectRatio","fromURL","href","ba","Sa","wa","pointIndex","Ta","Oa","ka","Da","commandIndex","Ma","Pa","controlFill","controlStroke","Ea","connectToCommandIndex","connectToPointIndex","connectionDashArray","Aa","controlPointStyle","pointStyle","changeWidth","createObjectDefaultControls","createPathControls","createPolyActionHandler","createPolyControls","createPolyPositionHandler","createResizeControls","createTextboxDefaultControls","dragHandler","factoryPolyActionHandler","getLocalPoint","polyActionHandler","renderCircleControl","renderSquareControl","rotationStyleHandler","rotationWithSnapping","scaleCursorStyleHandler","scaleOrSkewActionName","scaleSkewCursorStyleHandler","scalingEqually","scalingX","scalingXOrSkewingY","scalingY","scalingYOrSkewingX","skewCursorStyleHandler","skewHandlerX","skewHandlerY","wrapWithFireEvent","wrapWithFixedAnchor","Fa","Ra","Ia","Ba","Xa","Ya","Wa","defaults","getFragmentSource","getVertexSource","createProgram","VERTEX_SHADER","getShaderInfoLog","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","getUniformLocations","uStepW","getUniformLocation","uStepH","program","attributeLocations","getAttributeLocations","uniformLocations","getAttribLocation","sendAttributeData","createBuffer","bindBuffer","ARRAY_BUFFER","enableVertexAttribArray","vertexAttribPointer","FLOAT","bufferData","STATIC_DRAW","_setupFrameBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","_swapTextures","applyToWebGL","applyTo2d","getCacheKey","retrieveShader","useProgram","uniform1f","sendUniformData","viewport","drawArrays","TRIANGLE_STRIP","bindAdditionalTexture","activeTexture","TEXTURE0","unbindAdditionalTexture","createHelpLayer","helpLayer","Va","screen","difference","lighten","darken","exclusion","tint","za","mode","uniform4fv","uColor","Ga","mask","Ha","Na","image","TEXTURE1","calculateMatrix","resources","blendImage","uniform1i","uImage","uniformMatrix3fv","uTransformMatrix","Ua","aspectRatio","horizontal","getBlurValue","chooseRightDelta","uniform2fv","uDelta","qa","brightness","uBrightness","Ka","matrix","colorsOnly","Ja","uniformMatrix4fv","uColorMatrix","uConstants","Qa","Za","$a","th","eh","sh","ih","rh","nh","subFilters","oh","contrast","uContrast","ah","Convolute_3_1","Convolute_3_0","Convolute_5_1","Convolute_5_0","Convolute_7_1","Convolute_7_0","Convolute_9_1","Convolute_9_0","hh","opaque","createImageData","uniform1fv","uMatrix","ch","lh","gamma","rgbValues","uniform3fv","uGamma","uh","average","lightness","luminosity","dh","uMode","gh","rotation","fh","ph","invert","uInvert","uAlpha","mh","noise","uNoise","uSeed","vh","blocksize","uBlocksize","yh","distance","uLow","uHigh","useAlpha","_h","uTaps","taps","getFilterWindow","tempScale","lanczosLobes","generateShader","getTaps","lanczosCreate","applyToForWebgl","dW","dH","rcpScaleX","rcpScaleY","resizeType","sliceByTwo","hermiteFastResize","bilinearFiltering","lanczosResize","xh","saturation","uSaturation","Ch","vibrance","uVibrance","BaseFilter","BlackWhite","BlendColor","BlendImage","Blur","Brightness","Brownie","ColorMatrix","Composed","Contrast","Convolute","Gamma","Grayscale","HueRotation","Invert","Kodachrome","Noise","Pixelate","Polaroid","RemoveColor","Resize","Saturation","Sepia","Technicolor","Vibrance","Vintage","ClippingGroup","_this","LayoutManager","FixedLayout","Group","paths","Path","blockErasing","classRegistry","destination","imageSmoothingQuality","resetTransform","walk","flatMap","erasable","draw","_ref","_ref2","_ref2$objects","_ref2$background","_ref2$overlay","_object$parent","_opacity","drawCanvas","entry","_entry$object$parent","commitErasing","sourceInObjectPlane","curr","strokeWidthFactor","fabric.Point","strokeVector","_curr$translateToOrig","fabric.util","assertClippingGroup","eraseObject","_x","_x2","_eraseObject","_callee4","_context4","eraseCanvasDrawable","_x3","_x4","_x5","_eraseCanvasDrawable","_callee5","vpt","_context5","EraserBrush","retinaScaling","setCanvasDimensions","effectContext","eventEmitter","EventTarget","_commit","fabric.PencilBrush","cb","_this2","fabric.Color","erasingEffect","_this3","dispatchEvent","CustomEvent","cancelable","active","drawEffect","_disposer","_this$_disposer","pathData","_callee3","_ref3","_context3","t0","_ref4","_callee","_context","t1","_x7","_ref5","_ref8","_callee2","_ref7","_ref9","vptFlag","_context2","_x8","_x6","commit","toVector","fallback","v1","v2","sub","addTo","subTo","rubberband","dimension","constant","Infinity","rubberbandIfOutOfBounds","clamp","hint","prim","res","EVENT_TYPE_MAP","change","touch","gesture","actionsWithoutCaptureSupported","toHandlerProp","device","capture","deviceProps","actionKey","hasCapture","pointerCaptureEvents","parseProp","prop","eventKey","substring","captureKey","isTouch","event","getPointerType","getValueEvent","targetTouches","getTouchList","distanceAngle","P1","P2","hypot","_unused","touchIds","_event$currentTarget","_event$currentTarget$","getCurrentTargetTouchList","touchDistanceAngle","ids","valueEvent","pointerValues","wheelValues","deltaMode","noop","chain","fns","assignDefault","Engine","ctrl","computeValues","computeInitial","init","shared","eventStore","gestureEventStores","timeoutStore","gestureTimeoutStores","config","sharedConfig","handler","handlers","ingKey","_active","_blocked","_force","_step","intentional","_movement","_distance","_direction","_delta","_bounds","axis","memo","elapsedTime","timeDelta","overflow","_movementBound","velocity","movement","delta","timeStamp","lastOffset","_values","_initial","initial","compute","pointerIds","locked","pointerLockElement","payload","buttons","getEventDetails","down","pressed","_absoluteDelta","axisIntent","_m0","_m1","threshold","hasCustomTransform","v0","restrictToAxis","previousOffset","gestureIsActive","first","last","bounds","setup","computeOffset","ox","oy","x0","y0","Vx","Vy","Rx","Ry","X0","X1","Y0","Y1","computeRubberband","computeMovement","absoluteDelta","emit","clean","triggerAllEvents","aliasKey","CoordinatesEngine","axisThreshold","absDx","absDy","selectAxis","lockDirection","identity","commonConfigResolver","enabled","eventOptions","_k","process","env","NODE_ENV","originalTransform","isFinite","warn","domTarget","coordinatesConfigResolver","_v","current","HTMLElement","KEYS_DELTA_MAP","ArrowRight","displacement","factor","ArrowLeft","ArrowUp","ArrowDown","isBrowser","supportsTouchEvents","SUPPORT","GestureEvent","supportsGestureEvents","touchscreen","pointerLock","DEFAULT_DRAG_AXIS_THRESHOLD","pen","dragConfigResolver","lock","preventScrollAxis","preventScroll","preventScrollDelay","pointerCapture","pointerButtons","filterTaps","tapsThreshold","swipe","keyboardDisplacement","useTouch","experimental_preventWindowScrollY","swipeVelocity","swipeDistance","swipeDuration","pinchConfigResolver","scaleBounds","angleBounds","_scaleBounds","_angleBounds","modifierKey","pinchOnWheel","mouseOnly","EngineMap","ConfigResolverMap","registerAction","engine","resolver","dragAction","_pointerId","_pointerActive","_keyboardActive","_preventScroll","_delayed","tap","canceled","cancel","boundRect","targetRect","setActive","pointerClean","pointerDown","ctrlIds","setEventIds","setPointerCapture","setupPointer","setupScrollPrevention","setupDelayTrigger","startPointerDrag","pointerMove","movementX","movementY","pointerUp","hasPointerCapture","releasePointerCapture","_dx","_dy","_mx","_my","svx","svy","sx","sy","sdt","_vx","_vy","pointerClick","sourceEvent","touchAction","_unused2","requestPointerLock","exitPointerLock","persist","persistEvent","keyDown","deltaFn","keyUp","bindFunction","pinchAction","_pointerEvents","_touchIds","turns","axisMovementDifference","touchStart","ctrlTouchIds","pinchStart","pointerStart","ctrlPointerIds","touchMove","pinchMove","prev_a","delta_a","delta_turns","touchEnd","pointerEnd","gestureStart","gestureMove","_previousMovement","gestureEnd","wheel","wheelChange","wheelStart","wheelEnd","dirx","diry","clampStateInternalMovementToBounds","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","sharedConfigResolver","_excluded","resolveWith","resolvers","EventStore","gestureKey","_ctrl","_gestureKey","element","listeners","_listeners","toDomEventType","TimeoutStore","callback","_timeouts","timeout","Controller","internalHandlers","setupGesture","scroll","move","pinch","hover","resolveGestures","applyHandlers","nativeHandlers","applyConfig","newConfig","_config","rest","_targetEventStore","gestures","effect","gestureConfig","bindToProps","nativeBindFunction","handlerProp","withPassiveOption","isNative","_options$capture","_options$passive","useRecognizers","React","useMemo","useEffect","Wrapper","styled","div","Canvas","canDraw","ImageEditor","forwardRef","ref","maxSizeInKb","baseImageDataURL","drawing","erase","wrapperRef","useRef","canvasRef","fabricCanvas","fabricBackground","pencilBrush","eraserBrush","pinchStartAmount","isMobileView","useWindowHelper","useImperativeHandle","clearDrawing","export","resetZoomAndPosition","dataURL","toDataURLWithLimit","limit","reducedQuality","filesizeInB","FileHelper","getFilesizeFromBase64","maxSizeInB","FabricCanvas","TestHelper","generateId","PencilBrush","handleResize","canvasWidth","canvasHeight","oldBackgroundLeft","oldBackgroundTop","fitImageToCanvas","orientation","img","canvasRatio","intendedZoom","Point","Rect","FabricImage","handleUpdateImage","handleMouseDown","TouchEvent","canvasObjects","handleMouseUp","handlePencilErasable","zoom","useDrag","_jsx","jsx","children"],"mappings":"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"}