{"version":3,"file":"login.iife.js","sources":["../../../../Umbraco.Web.UI.Login/node_modules/@lit/reactive-element/css-tag.js","../../../../Umbraco.Web.UI.Login/node_modules/@lit/reactive-element/reactive-element.js","../../../../Umbraco.Web.UI.Login/node_modules/lit-html/lit-html.js","../../../../Umbraco.Web.UI.Login/node_modules/lit-element/lit-element.js","../../../../Umbraco.Web.UI.Login/node_modules/@lit/reactive-element/decorators/custom-element.js","../../../../Umbraco.Web.UI.Login/node_modules/@lit/reactive-element/decorators/property.js","../../../../Umbraco.Web.UI.Login/node_modules/@lit/reactive-element/decorators/state.js","../../../../Umbraco.Web.UI.Login/node_modules/@lit/reactive-element/decorators/base.js","../../../../Umbraco.Web.UI.Login/node_modules/@lit/reactive-element/decorators/query.js","../../../../Umbraco.Web.UI.Login/node_modules/@lit/reactive-element/decorators/query-assigned-elements.js","../../../../Umbraco.Web.UI.Login/node_modules/lit-html/directives/if-defined.js","../../../../Umbraco.Web.UI.Login/node_modules/lit-html/directive-helpers.js","../../../../Umbraco.Web.UI.Login/node_modules/lit-html/directive.js","../../../../Umbraco.Web.UI.Login/node_modules/lit-html/async-directive.js","../../../../Umbraco.Web.UI.Login/node_modules/lit-html/directives/private-async-helpers.js","../../../../Umbraco.Web.UI.Login/node_modules/lit-html/directives/until.js","../../../../Umbraco.Web.UI.Login/node_modules/tslib/tslib.es6.mjs","../../../../Umbraco.Web.UI.Login/node_modules/rxjs/dist/esm5/internal/util/isFunction.js","../../../../Umbraco.Web.UI.Login/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js","../../../../Umbraco.Web.UI.Login/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js","../../../../Umbraco.Web.UI.Login/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js","../../../../Umbraco.Web.UI.Login/node_modules/rxjs/dist/esm5/internal/Subscription.js","../../../../Umbraco.Web.UI.Login/node_modules/rxjs/dist/esm5/internal/config.js","../../../../Umbraco.Web.UI.Login/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js","../../../../Umbraco.Web.UI.Login/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js","../../../../Umbraco.Web.UI.Login/node_modules/rxjs/dist/esm5/internal/util/noop.js","../../../../Umbraco.Web.UI.Login/node_modules/rxjs/dist/esm5/internal/util/errorContext.js","../../../../Umbraco.Web.UI.Login/node_modules/rxjs/dist/esm5/internal/Subscriber.js","../../../../Umbraco.Web.UI.Login/node_modules/rxjs/dist/esm5/internal/symbol/observable.js","../../../../Umbraco.Web.UI.Login/node_modules/rxjs/dist/esm5/internal/util/identity.js","../../../../Umbraco.Web.UI.Login/node_modules/rxjs/dist/esm5/internal/util/pipe.js","../../../../Umbraco.Web.UI.Login/node_modules/rxjs/dist/esm5/internal/Observable.js","../../../../Umbraco.Web.UI.Login/node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js","../../../../Umbraco.Web.UI.Login/node_modules/rxjs/dist/esm5/internal/Subject.js","../../../../Umbraco.Web.UI.Login/node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js","../../../../Umbraco.Web.UI.Login/node_modules/rxjs/dist/esm5/internal/ReplaySubject.js","../../../../Umbraco.Web.UI.Login/node_modules/rxjs/dist/esm5/internal/util/EmptyError.js","../../../../Umbraco.Web.UI.Login/node_modules/rxjs/dist/esm5/internal/firstValueFrom.js","../../../../Umbraco.Web.UI.Login/src/external/localization/localization-context.ts","../../../../Umbraco.Web.UI.Login/src/context/auth.repository.ts","../../../../Umbraco.Web.UI.Login/src/context/auth.context.ts","../../../../Umbraco.Web.UI.Login/src/auth.element.ts","../../../../Umbraco.Web.UI.Login/src/components/back-to-login-button.element.ts","../../../../Umbraco.Web.UI.Login/node_modules/lit-html/directives/when.js","../../../../Umbraco.Web.UI.Login/src/components/layouts/auth-layout.element.ts","../../../../Umbraco.Web.UI.Login/src/components/pages/reset-password.page.element.ts","../../../../Umbraco.Web.UI.Login/src/components/pages/new-password.page.element.ts","../../../../Umbraco.Web.UI.Login/node_modules/lit-html/directives/unsafe-html.js","../../../../Umbraco.Web.UI.Login/src/utils/load-custom-view.function.ts","../../../../Umbraco.Web.UI.Login/src/components/pages/mfa.page.element.ts","../../../../Umbraco.Web.UI.Login/src/components/pages/login.page.element.ts","../../../../Umbraco.Web.UI.Login/src/components/pages/invite.page.element.ts","../../../../Umbraco.Web.UI.Login/src/components/layouts/external-login-providers-layout.element.ts","../../../../Umbraco.Web.UI.Login/src/components/external-login-provider.element.ts","../../../../Umbraco.Web.UI.Login/src/components/layouts/new-password-layout.element.ts","../../../../Umbraco.Web.UI.Login/src/components/layouts/confirmation-layout.element.ts","../../../../Umbraco.Web.UI.Login/src/components/layouts/error-layout.element.ts","../../../../Umbraco.Web.UI.Login/src/external/icon.registry.ts","../../../../Umbraco.Web.UI.Login/src/external/custom-view.element.ts","../../../../Umbraco.Web.UI.Login/src/external/localization/localize.element.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:r,getOwnPropertyNames:h,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),y={attribute:!0,type:String,converter:u,reflect:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y){if(s.state&&(s.attribute=!1),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);void 0!==r&&e(this.prototype,t,r)}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??y}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...h(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$EC(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f)(this[t],s))return;this.P(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),!0===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t)!0!==i.wrapped||this._$AL.has(s)||void 0===this[s]||this.P(s,this[s],i)}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EU()}catch(s){throw t=!1,this._$EU(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU()}updated(t){}firstUpdated(t){}}b.elementStyles=[],b.shadowRootOptions={mode:\"open\"},b[d(\"elementProperties\")]=new Map,b[d(\"finalized\")]=new Map,p?.({ReactiveElement:b}),(a.reactiveElementVersions??=[]).push(\"2.0.4\");export{b as ReactiveElement,u as defaultConverter,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${(Math.random()+\"\").slice(9)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=Symbol.for(\"lit-noChange\"),T=Symbol.for(\"lit-nothing\"),A=new WeakMap,E=r.createTreeWalker(r,129);function C(t,i){if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const P=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"\":\"\",c=f;for(let i=0;i\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[C(t,l+(t[s]||\"\")+(2===i?\"\":\"\")),o]};class V{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=P(t,s);if(this.el=V.createElement(f,n),E.currentNode=this.el.content,2===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=E.nextNode())&&d.length0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=T}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=N(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==w,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new M(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{z as _$LH,x as html,w as noChange,T as nothing,j as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as i}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class s extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(i,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return i}}s._$litElement$=!0,s[(\"finalized\",\"finalized\")]=!0,globalThis.litElementHydrateSupport?.({LitElement:s});const r=globalThis.litElementPolyfillSupport;r?.({LitElement:s});const o={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(globalThis.litElementVersions??=[]).push(\"4.0.4\");export{s as LitElement,o as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.P(o,void 0,t),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,r?{...t,wrapped:!0}:t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=(e,t,c)=>(c.configurable=!0,c.enumerable=!0,Reflect.decorate&&\"object\"!=typeof t&&Object.defineProperty(e,t,c),c);export{e as desc};\n//# sourceMappingURL=base.js.map\n","import{desc as t}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e(e,r){return(n,s,i)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(r){const{get:e,set:r}=\"object\"==typeof s?n:i??(()=>{const t=Symbol();return{get(){return this[t]},set(e){this[t]=e}}})();return t(n,s,{get(){let t=e.call(this);return void 0===t&&(t=o(this),(null!==t||this.hasUpdated)&&r.call(this,t)),t}})}return t(n,s,{get(){return o(this)}})}}export{e as query};\n//# sourceMappingURL=query.js.map\n","import{desc as t}from\"./base.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function o(o){return(e,n)=>{const{slot:r,selector:s}=o??{},c=\"slot\"+(r?`[name=${r}]`:\":not([name])\");return t(e,n,{get(){const t=this.renderRoot?.querySelector(c),e=t?.assignedElements(o)??[];return void 0===s?e:e.filter((t=>t.matches(s)))}})}}export{o as queryAssignedElements};\n//# sourceMappingURL=query-assigned-elements.js.map\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=o=>o??t;export{o as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,n={HTML:1,SVG:2},e=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,l=o=>null!=o?._$litType$?.h,c=o=>void 0!==o?._$litDirective$,d=o=>o?._$litDirective$,f=o=>void 0===o.strings,s=()=>document.createComment(\"\"),r=(o,i,n)=>{const e=o._$AA.parentNode,l=void 0===i?o._$AB:i._$AA;if(void 0===n){const i=e.insertBefore(s(),l),c=e.insertBefore(s(),l);n=new t(i,c,o,o.options)}else{const t=n._$AB.nextSibling,i=n._$AM,c=i!==o;if(c){let t;n._$AQ?.(o),n._$AM=o,void 0!==n._$AP&&(t=o._$AU)!==i._$AU&&n._$AP(t)}if(t!==l||c){let o=n._$AA;for(;o!==t;){const t=o.nextSibling;e.insertBefore(o,l),o=t}}}return n},v=(o,t,i=o)=>(o._$AI(t,i),o),u={},m=(o,t=u)=>o._$AH=t,p=o=>o._$AH,h=o=>{o._$AP?.(!1,!0);let t=o._$AA;const i=o._$AB.nextSibling;for(;t!==i;){const o=t.nextSibling;t.remove(),t=o}},j=o=>{o._$AR()};export{n as TemplateResultType,j as clearPart,p as getCommittedValue,d as getDirectiveClass,r as insertPart,l as isCompiledTemplateResult,c as isDirectiveResult,i as isPrimitive,f as isSingleExpression,e as isTemplateResult,h as removePart,v as setChildPartValue,m as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{isSingleExpression as i}from\"./directive-helpers.js\";import{Directive as t,PartType as e}from\"./directive.js\";export{Directive,PartType,directive}from\"./directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=(i,t)=>{const e=i._$AN;if(void 0===e)return!1;for(const i of e)i._$AO?.(t,!1),s(i,t);return!0},o=i=>{let t,e;do{if(void 0===(t=i._$AM))break;e=t._$AN,e.delete(i),i=t}while(0===e?.size)},r=i=>{for(let t;t=i._$AM;i=t){let e=t._$AN;if(void 0===e)t._$AN=e=new Set;else if(e.has(i))break;e.add(i),c(t)}};function h(i){void 0!==this._$AN?(o(this),this._$AM=i,r(this)):this._$AM=i}function n(i,t=!1,e=0){const r=this._$AH,h=this._$AN;if(void 0!==h&&0!==h.size)if(t)if(Array.isArray(r))for(let i=e;i{i.type==e.CHILD&&(i._$AP??=n,i._$AQ??=h)};class f extends t{constructor(){super(...arguments),this._$AN=void 0}_$AT(i,t,e){super._$AT(i,t,e),r(this),this.isConnected=i._$AU}_$AO(i,t=!0){i!==this.isConnected&&(this.isConnected=i,i?this.reconnected?.():this.disconnected?.()),t&&(s(this,i),o(this))}setValue(t){if(i(this._$Ct))this._$Ct._$AI(t,this);else{const i=[...this._$Ct._$AH];i[this._$Ci]=t,this._$Ct._$AI(i,this,0)}}disconnected(){}reconnected(){}}export{f as AsyncDirective};\n//# sourceMappingURL=async-directive.js.map\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=async(t,s)=>{for await(const i of t)if(!1===await s(i))return};class s{constructor(t){this.Y=t}disconnect(){this.Y=void 0}reconnect(t){this.Y=t}deref(){return this.Y}}class i{constructor(){this.Z=void 0,this.q=void 0}get(){return this.Z}pause(){this.Z??=new Promise((t=>this.q=t))}resume(){this.q?.(),this.Z=this.q=void 0}}export{i as Pauser,s as PseudoWeakRef,t as forAwaitOf};\n//# sourceMappingURL=private-async-helpers.js.map\n","import{noChange as t}from\"../lit-html.js\";import{isPrimitive as s}from\"../directive-helpers.js\";import{AsyncDirective as i}from\"../async-directive.js\";import{PseudoWeakRef as e,Pauser as r}from\"./private-async-helpers.js\";import{directive as o}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const n=t=>!s(t)&&\"function\"==typeof t.then,h=1073741823;class c extends i{constructor(){super(...arguments),this._$Cwt=h,this._$Cbt=[],this._$CK=new e(this),this._$CX=new r}render(...s){return s.find((t=>!n(t)))??t}update(s,i){const e=this._$Cbt;let r=e.length;this._$Cbt=i;const o=this._$CK,c=this._$CX;this.isConnected||this.disconnected();for(let t=0;tthis._$Cwt);t++){const s=i[t];if(!n(s))return this._$Cwt=t,s;t{for(;c.get();)await c.get();const i=o.deref();if(void 0!==i){const e=i._$Cbt.indexOf(s);e>-1&&e= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","export function createErrorClass(createImpl) {\n var _super = function (instance) {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n var ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","import { createErrorClass } from './createErrorClass';\nexport var UnsubscriptionError = createErrorClass(function (_super) {\n return function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ')\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n };\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function arrRemove(arr, item) {\n if (arr) {\n var index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nvar Subscription = (function () {\n function Subscription(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n Subscription.prototype.unsubscribe = function () {\n var e_1, _a, e_2, _b;\n var errors;\n if (!this.closed) {\n this.closed = true;\n var _parentage = this._parentage;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n try {\n for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {\n var parent_1 = _parentage_1_1.value;\n parent_1.remove(this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n var initialFinalizer = this.initialTeardown;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _finalizers = this._finalizers;\n if (_finalizers) {\n this._finalizers = null;\n try {\n for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {\n var finalizer = _finalizers_1_1.value;\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n };\n Subscription.prototype.add = function (teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n };\n Subscription.prototype._hasParent = function (parent) {\n var _parentage = this._parentage;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n };\n Subscription.prototype._addParent = function (parent) {\n var _parentage = this._parentage;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n };\n Subscription.prototype._removeParent = function (parent) {\n var _parentage = this._parentage;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n };\n Subscription.prototype.remove = function (teardown) {\n var _finalizers = this._finalizers;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n };\n Subscription.EMPTY = (function () {\n var empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n return Subscription;\n}());\nexport { Subscription };\nexport var EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export var config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var timeoutProvider = {\n setTimeout: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearTimeout: function (handle) {\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(function () {\n var onUnhandledError = config.onUnhandledError;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","import { config } from '../config';\nvar context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n var isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n var _a = context, errorThrown = _a.errorThrown, error = _a.error;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n//# sourceMappingURL=errorContext.js.map","import { __extends } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destination) {\n var _this = _super.call(this) || this;\n _this.isStopped = false;\n if (destination) {\n _this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(_this);\n }\n }\n else {\n _this.destination = EMPTY_OBSERVER;\n }\n return _this;\n }\n Subscriber.create = function (next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n };\n Subscriber.prototype.next = function (value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n this.destination = null;\n }\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n };\n Subscriber.prototype._complete = function () {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nvar ConsumerObserver = (function () {\n function ConsumerObserver(partialObserver) {\n this.partialObserver = partialObserver;\n }\n ConsumerObserver.prototype.next = function (value) {\n var partialObserver = this.partialObserver;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n ConsumerObserver.prototype.error = function (err) {\n var partialObserver = this.partialObserver;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n };\n ConsumerObserver.prototype.complete = function () {\n var partialObserver = this.partialObserver;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n return ConsumerObserver;\n}());\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context_1),\n error: observerOrNext.error && bind(observerOrNext.error, context_1),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context_1),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n _this.destination = new ConsumerObserver(partialObserver);\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n var onStoppedNotification = config.onStoppedNotification;\n onStoppedNotification && timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });\n}\nexport var EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","export var observable = (function () { return (typeof Symbol === 'function' && Symbol.observable) || '@@observable'; })();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nvar Observable = (function () {\n function Observable(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var _this = this;\n var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(function () {\n var _a = _this, operator = _a.operator, source = _a.source;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n _this._subscribe(subscriber)\n :\n _this._trySubscribe(subscriber));\n });\n return subscriber;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n _this.subscribe(subscriber);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return (value = x); }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { createErrorClass } from './createErrorClass';\nexport var ObjectUnsubscribedError = createErrorClass(function (_super) {\n return function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n };\n});\n//# sourceMappingURL=ObjectUnsubscribedError.js.map","import { __extends, __values } from \"tslib\";\nimport { Observable } from './Observable';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\nvar Subject = (function (_super) {\n __extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.closed = false;\n _this.currentObservers = null;\n _this.observers = [];\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype._throwIfClosed = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n };\n Subject.prototype.next = function (value) {\n var _this = this;\n errorContext(function () {\n var e_1, _a;\n _this._throwIfClosed();\n if (!_this.isStopped) {\n if (!_this.currentObservers) {\n _this.currentObservers = Array.from(_this.observers);\n }\n try {\n for (var _b = __values(_this.currentObservers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var observer = _c.value;\n observer.next(value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n });\n };\n Subject.prototype.error = function (err) {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.hasError = _this.isStopped = true;\n _this.thrownError = err;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n });\n };\n Subject.prototype.complete = function () {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.isStopped = true;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n });\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null;\n };\n Object.defineProperty(Subject.prototype, \"observed\", {\n get: function () {\n var _a;\n return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;\n },\n enumerable: false,\n configurable: true\n });\n Subject.prototype._trySubscribe = function (subscriber) {\n this._throwIfClosed();\n return _super.prototype._trySubscribe.call(this, subscriber);\n };\n Subject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n };\n Subject.prototype._innerSubscribe = function (subscriber) {\n var _this = this;\n var _a = this, hasError = _a.hasError, isStopped = _a.isStopped, observers = _a.observers;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(function () {\n _this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n };\n Subject.prototype._checkFinalizedStatuses = function (subscriber) {\n var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, isStopped = _a.isStopped;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped) {\n subscriber.complete();\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable));\nexport { Subject };\nvar AnonymousSubject = (function (_super) {\n __extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n };\n AnonymousSubject.prototype.error = function (err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n };\n AnonymousSubject.prototype.complete = function () {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n };\n return AnonymousSubject;\n}(Subject));\nexport { AnonymousSubject };\n//# sourceMappingURL=Subject.js.map","export var dateTimestampProvider = {\n now: function () {\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n//# sourceMappingURL=dateTimestampProvider.js.map","import { __extends } from \"tslib\";\nimport { Subject } from './Subject';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nvar ReplaySubject = (function (_super) {\n __extends(ReplaySubject, _super);\n function ReplaySubject(_bufferSize, _windowTime, _timestampProvider) {\n if (_bufferSize === void 0) { _bufferSize = Infinity; }\n if (_windowTime === void 0) { _windowTime = Infinity; }\n if (_timestampProvider === void 0) { _timestampProvider = dateTimestampProvider; }\n var _this = _super.call(this) || this;\n _this._bufferSize = _bufferSize;\n _this._windowTime = _windowTime;\n _this._timestampProvider = _timestampProvider;\n _this._buffer = [];\n _this._infiniteTimeWindow = true;\n _this._infiniteTimeWindow = _windowTime === Infinity;\n _this._bufferSize = Math.max(1, _bufferSize);\n _this._windowTime = Math.max(1, _windowTime);\n return _this;\n }\n ReplaySubject.prototype.next = function (value) {\n var _a = this, isStopped = _a.isStopped, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow, _timestampProvider = _a._timestampProvider, _windowTime = _a._windowTime;\n if (!isStopped) {\n _buffer.push(value);\n !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);\n }\n this._trimBuffer();\n _super.prototype.next.call(this, value);\n };\n ReplaySubject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._trimBuffer();\n var subscription = this._innerSubscribe(subscriber);\n var _a = this, _infiniteTimeWindow = _a._infiniteTimeWindow, _buffer = _a._buffer;\n var copy = _buffer.slice();\n for (var i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {\n subscriber.next(copy[i]);\n }\n this._checkFinalizedStatuses(subscriber);\n return subscription;\n };\n ReplaySubject.prototype._trimBuffer = function () {\n var _a = this, _bufferSize = _a._bufferSize, _timestampProvider = _a._timestampProvider, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow;\n var adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;\n _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);\n if (!_infiniteTimeWindow) {\n var now = _timestampProvider.now();\n var last = 0;\n for (var i = 1; i < _buffer.length && _buffer[i] <= now; i += 2) {\n last = i;\n }\n last && _buffer.splice(0, last + 1);\n }\n };\n return ReplaySubject;\n}(Subject));\nexport { ReplaySubject };\n//# sourceMappingURL=ReplaySubject.js.map","import { createErrorClass } from './createErrorClass';\nexport var EmptyError = createErrorClass(function (_super) { return function EmptyErrorImpl() {\n _super(this);\n this.name = 'EmptyError';\n this.message = 'no elements in sequence';\n}; });\n//# sourceMappingURL=EmptyError.js.map","import { EmptyError } from './util/EmptyError';\nimport { SafeSubscriber } from './Subscriber';\nexport function firstValueFrom(source, config) {\n var hasConfig = typeof config === 'object';\n return new Promise(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n resolve(value);\n subscriber.unsubscribe();\n },\n error: reject,\n complete: function () {\n if (hasConfig) {\n resolve(config.defaultValue);\n }\n else {\n reject(new EmptyError());\n }\n },\n });\n source.subscribe(subscriber);\n });\n}\n//# sourceMappingURL=firstValueFrom.js.map","import { firstValueFrom, ReplaySubject } from 'rxjs';\n\nclass UmbLocalizationContext {\n #init = false;\n readonly #apiBasePath = 'localizedtext';\n #innerDictionary = new ReplaySubject>(1);\n\n async #initLocalizedResources(): Promise {\n if (this.#init) {\n return;\n }\n\n this.#init = true;\n\n const response = await fetch(this.#apiBasePath);\n\n if (!response.ok) {\n throw new Error(`Failed to fetch localized resources: ${response.status} ${response.statusText}`);\n }\n\n // Resources are returned as a dictionary of dictionaries and we need to flatten it to a single dictionary.\n // The keys need to be prefixed with the dictionary name and an underscore.\n const resources = await response.json();\n const innerDictionary = new Map();\n for (const [dictionaryName, dictionary] of Object.entries(resources)) {\n for (const [key, value] of Object.entries(dictionary as Record)) {\n innerDictionary.set(`${dictionaryName}_${key}`, value);\n }\n }\n\n this.#innerDictionary.next(innerDictionary);\n }\n\n /**\n * Localize a key.\n * If the key is not found, the fallback is returned.\n * If the fallback is not provided, the key is returned.\n * @param key The key to localize. The key is case sensitive.\n * @param tokens The tokens to replace in the localized text (default: undefined).\n * @param fallback The fallback text to use if the key is not found (default: undefined).\n */\n async localize(key: string, tokens?: any[], fallback?: string): Promise {\n return this._lookup(key, tokens, fallback);\n }\n\n /**\n * Localize many keys.\n * If a key is not found, the key is returned.\n * @param keys\n * @see localize\n */\n async localizeMany(keys: string[]): Promise {\n this.#initLocalizedResources();\n const innerDictionary = await firstValueFrom(this.#innerDictionary);\n return keys.map((key) => innerDictionary.get(key) ?? key ?? '');\n }\n\n /**\n * Replaces tokens in a string with the values provided.\n * @param text\n * @param tokens\n */\n tokenReplace(text: string, tokens?: any[]) {\n if (tokens) {\n for (let i = 0; i < tokens.length; i++) {\n text = text.replace(\"%\" + i + \"%\", tokens[i]);\n }\n }\n\n return text;\n }\n\n private async _lookup(alias: string, tokens?: any[], fallbackValue?: string) {\n this.#initLocalizedResources();\n const dictionary = await firstValueFrom(this.#innerDictionary);\n\n //strip the key identifier if its there\n if (alias && alias[0] === \"@\") {\n alias = alias.substring(1);\n }\n\n let underscoreIndex = alias.indexOf(\"_\");\n\n //if no area specified, add general_\n if (alias && underscoreIndex < 0) {\n alias = \"general_\" + alias;\n }\n\n const valueEntry = dictionary.get(alias);\n\n if (valueEntry) {\n return this.tokenReplace(valueEntry, tokens);\n }\n\n if (fallbackValue) {\n return fallbackValue;\n }\n\n return `[${alias}]`;\n }\n}\n\nexport const umbLocalizationContext = new UmbLocalizationContext();\nexport type { UmbLocalizationContext };\n","import type {\n LoginRequestModel,\n LoginResponse,\n MfaProvidersResponse,\n ResetPasswordResponse,\n ValidatePasswordResetCodeResponse,\n} from '../types.js';\nimport { umbLocalizationContext } from '../external/localization/localization-context.js';\n\nexport class UmbAuthRepository {\n readonly #authURL = 'backoffice/umbracoapi/authentication/postlogin';\n\n public async login(data: LoginRequestModel): Promise {\n try {\n const request = new Request(this.#authURL, {\n method: 'POST',\n body: JSON.stringify({\n username: data.username,\n password: data.password,\n rememberMe: data.persist,\n }),\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n const response = await fetch(request);\n\n let responseData: any = undefined;\n\n try {\n const text = await response.text();\n if (text) {\n responseData = JSON.parse(this.#removeAngularJSResponseData(text));\n }\n } catch {\n }\n\n return {\n status: response.status,\n error: response.ok ? undefined : await this.#getErrorText(response),\n data: responseData,\n twoFactorView: responseData?.twoFactorView,\n };\n } catch (error) {\n return {\n status: 500,\n error: error instanceof Error ? error.message : 'Unknown error',\n };\n }\n }\n\n public async resetPassword(email: string): Promise {\n const request = new Request('backoffice/umbracoapi/authentication/PostRequestPasswordReset', {\n method: 'POST',\n body: JSON.stringify({\n email,\n }),\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n const response = await fetch(request);\n\n return {\n status: response.status,\n error: response.ok ? undefined : await this.#getErrorText(response),\n };\n }\n\n public async validatePasswordResetCode(user: string, code: string): Promise {\n const request = new Request('backoffice/umbracoapi/authentication/validatepasswordresetcode', {\n method: 'POST',\n body: JSON.stringify({\n userId: user,\n resetCode: code,\n }),\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n const response = await fetch(request);\n\n return {\n status: response.status,\n error: response.ok ? undefined : await this.#getErrorText(response),\n };\n }\n\n public async newPassword(password: string, resetCode: string, userId: number): Promise {\n const request = new Request('backoffice/umbracoapi/authentication/PostSetPassword', {\n method: 'POST',\n body: JSON.stringify({\n password,\n resetCode,\n userId,\n }),\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n const response = await fetch(request);\n\n return {\n status: response.status,\n error: response.ok ? undefined : await this.#getErrorText(response),\n };\n }\n\n public async newInvitedUserPassword(newPassWord: string): Promise {\n const request = new Request('backoffice/umbracoapi/authentication/PostSetInvitedUserPassword', {\n method: 'POST',\n body: JSON.stringify({\n newPassWord,\n }),\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n const response = await fetch(request);\n\n return {\n status: response.status,\n error: response.ok ? undefined : await this.#getErrorText(response),\n };\n }\n\n public async getPasswordConfig(userId: string): Promise {\n //TODO: Add type\n const request = new Request(`backoffice/umbracoapi/authentication/GetPasswordConfig?userId=${userId}`, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n const response = await fetch(request);\n\n // Check if response contains AngularJS response data\n if (response.ok) {\n let text = await response.text();\n text = this.#removeAngularJSResponseData(text);\n const data = JSON.parse(text);\n\n return {\n status: response.status,\n data,\n };\n }\n\n return {\n status: response.status,\n error: response.ok ? undefined : this.#getErrorText(response),\n };\n }\n\n public async getInvitedUser(): Promise {\n //TODO: Add type\n const request = new Request('backoffice/umbracoapi/authentication/GetCurrentInvitedUser', {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n const response = await fetch(request);\n\n // Check if response contains AngularJS response data\n if (response.ok) {\n let text = await response.text();\n text = this.#removeAngularJSResponseData(text);\n const user = JSON.parse(text);\n\n return {\n status: response.status,\n user,\n };\n }\n\n return {\n status: response.status,\n error: this.#getErrorText(response),\n };\n }\n\n public async getMfaProviders(): Promise {\n const request = new Request('backoffice/umbracoapi/authentication/Get2faProviders', {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n const response = await fetch(request);\n\n // Check if response contains AngularJS response data\n if (response.ok) {\n let text = await response.text();\n text = this.#removeAngularJSResponseData(text);\n const providers = JSON.parse(text);\n\n return {\n status: response.status,\n providers,\n };\n }\n\n return {\n status: response.status,\n error: await this.#getErrorText(response),\n providers: [],\n };\n }\n\n public async validateMfaCode(code: string, provider: string): Promise {\n const request = new Request('backoffice/umbracoapi/authentication/PostVerify2faCode', {\n method: 'POST',\n body: JSON.stringify({\n code,\n provider,\n }),\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n const response = await fetch(request);\n\n let text = await response.text();\n text = this.#removeAngularJSResponseData(text);\n\n const data = JSON.parse(text);\n\n if (response.ok) {\n return {\n data,\n status: response.status,\n };\n }\n\n return {\n status: response.status,\n error: data.Message ?? 'An unknown error occurred.',\n };\n }\n\n async #getErrorText(response: Response): Promise {\n switch (response.status) {\n case 400:\n case 401:\n return umbLocalizationContext.localize(\n 'login_userFailedLogin',\n undefined,\n \"Oops! We couldn't log you in. Please check your credentials and try again.\"\n );\n\n case 402:\n return umbLocalizationContext.localize(\n 'login_2faText',\n undefined,\n 'You have enabled 2-factor authentication and must verify your identity.'\n );\n\n case 500:\n return umbLocalizationContext.localize(\n 'errors_receivedErrorFromServer',\n undefined,\n 'Received error from server'\n );\n\n default:\n return (\n response.statusText ??\n (await umbLocalizationContext.localize(\n 'errors_receivedErrorFromServer',\n undefined,\n 'Received error from server'\n ))\n );\n }\n }\n\n /**\n * AngularJS adds a prefix to the response data, which we need to remove\n */\n #removeAngularJSResponseData(text: string) {\n if (text.startsWith(\")]}',\\n\")) {\n text = text.split('\\n')[1];\n }\n\n return text;\n }\n}\n","import {\n LoginRequestModel,\n IUmbAuthContext,\n LoginResponse,\n ResetPasswordResponse,\n ValidatePasswordResetCodeResponse,\n NewPasswordResponse,\n MfaProvidersResponse,\n} from '../types.js';\nimport {UmbAuthRepository} from './auth.repository.js';\n\nexport class UmbAuthContext implements IUmbAuthContext {\n readonly supportsPersistLogin = false;\n disableLocalLogin = false;\n\n #authRepository = new UmbAuthRepository();\n\n #returnPath = '';\n\n set returnPath(value: string) {\n this.#returnPath = value;\n }\n\n /**\n * Gets the return path from the query string.\n *\n * It will first look for a `ReturnUrl` parameter, then a `returnPath` parameter, and finally the `returnPath` property.\n *\n * @returns The return path from the query string.\n */\n get returnPath(): string {\n const params = new URLSearchParams(window.location.search);\n let returnPath = params.get('ReturnUrl') ?? params.get('returnPath') ?? this.#returnPath;\n\n // Paths from the old Backoffice are encoded twice and need to be decoded,\n // but we don't want to decode the new paths coming from the Management API.\n if (returnPath.indexOf('/security/back-office/authorize') === -1) {\n returnPath = decodeURIComponent(returnPath);\n }\n\n // If return path is empty, return an empty string.\n if (!returnPath) {\n return '';\n }\n\n // Safely check that the return path is valid and doesn't link to an external site.\n const url = new URL(returnPath, window.location.origin);\n\n if (url.origin !== window.location.origin) {\n return '';\n }\n\n return url.toString();\n }\n\n async login(data: LoginRequestModel): Promise {\n return this.#authRepository.login(data);\n }\n\n async resetPassword(username: string): Promise {\n return this.#authRepository.resetPassword(username);\n }\n\n async validatePasswordResetCode(userId: string, resetCode: string): Promise {\n return this.#authRepository.validatePasswordResetCode(userId, resetCode);\n }\n\n async newPassword(password: string, resetCode: string, userId: string): Promise {\n const userIdAsNumber = Number.parseInt(userId);\n return this.#authRepository.newPassword(password, resetCode, userIdAsNumber);\n }\n\n async newInvitedUserPassword(password: string): Promise {\n return this.#authRepository.newInvitedUserPassword(password);\n }\n\n async getPasswordConfig(userId: string): Promise {\n return this.#authRepository.getPasswordConfig(userId);\n }\n\n async getInvitedUser(): Promise {\n return this.#authRepository.getInvitedUser();\n }\n\n getMfaProviders(): Promise {\n return this.#authRepository.getMfaProviders();\n }\n\n validateMfaCode(code: string, provider: string): Promise {\n return this.#authRepository.validateMfaCode(code, provider);\n }\n}\n\nexport const umbAuthContext = new UmbAuthContext() as IUmbAuthContext;\n","import { html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { until } from 'lit/directives/until.js';\n\nimport { umbAuthContext } from './context/auth.context.js';\nimport { umbLocalizationContext } from './external/localization/localization-context.js';\nimport type { InputType, UUIFormLayoutItemElement } from '@umbraco-ui/uui';\n\nimport authStyles from './auth-styles.css?inline';\n\nconst createInput = (opts: {\n id: string;\n type: InputType;\n name: string;\n autocomplete: AutoFill;\n label: string;\n inputmode: string;\n autofocus?: boolean;\n}) => {\n const input = document.createElement('input');\n input.type = opts.type;\n input.name = opts.name;\n input.autocomplete = opts.autocomplete;\n input.id = opts.id;\n input.required = true;\n input.inputMode = opts.inputmode;\n input.ariaLabel = opts.label;\n input.autofocus = opts.autofocus || false;\n\n return input;\n};\n\nconst createLabel = (opts: { forId: string; localizeAlias: string; localizeFallback: string; }) => {\n const label = document.createElement('label');\n const umbLocalize: any = document.createElement('umb-localize');\n umbLocalize.key = opts.localizeAlias;\n umbLocalize.innerHTML = opts.localizeFallback;\n label.htmlFor = opts.forId;\n label.appendChild(umbLocalize);\n\n return label;\n};\n\nconst createFormLayoutItem = (label: HTMLLabelElement, input: HTMLInputElement) => {\n const formLayoutItem = document.createElement('uui-form-layout-item') as UUIFormLayoutItemElement;\n formLayoutItem.appendChild(label);\n formLayoutItem.appendChild(input);\n\n return formLayoutItem;\n};\n\nconst createForm = (elements: HTMLElement[]) => {\n const styles = document.createElement('style');\n styles.innerHTML = authStyles;\n const form = document.createElement('form');\n form.id = 'umb-login-form';\n form.name = 'login-form';\n form.noValidate = true;\n\n elements.push(styles);\n elements.forEach((element) => form.appendChild(element));\n\n return form;\n};\n\n@customElement('umb-auth')\nexport default class UmbAuthElement extends LitElement {\n /**\n * Disables the local login form and only allows external login providers.\n *\n * @attr disable-local-login\n */\n @property({type: Boolean, attribute: 'disable-local-login'})\n set disableLocalLogin(value: boolean) {\n umbAuthContext.disableLocalLogin = value;\n }\n get disableLocalLogin() {\n return umbAuthContext.disableLocalLogin;\n }\n\n @property({attribute: 'background-image'})\n backgroundImage?: string;\n\n @property({attribute: 'logo-image'})\n logoImage?: string;\n\n @property({attribute: 'logo-image-alternative'})\n logoImageAlternative?: string;\n\n @property({type: Boolean, attribute: 'username-is-email'})\n usernameIsEmail = false;\n\n @property({type: Boolean, attribute: 'allow-password-reset'})\n allowPasswordReset = false;\n\n @property({type: Boolean, attribute: 'allow-user-invite'})\n allowUserInvite = false;\n\n @property({attribute: 'return-url'})\n set returnPath(value: string) {\n umbAuthContext.returnPath = value;\n }\n get returnPath() {\n return umbAuthContext.returnPath;\n }\n\n /**\n * Override the default flow.\n */\n protected flow?: 'mfa' | 'reset-password' | 'invite-user';\n\n _form?: HTMLFormElement;\n _usernameLayoutItem?: UUIFormLayoutItemElement;\n _passwordLayoutItem?: UUIFormLayoutItemElement;\n _usernameInput?: HTMLInputElement;\n _passwordInput?: HTMLInputElement;\n _usernameLabel?: HTMLLabelElement;\n _passwordLabel?: HTMLLabelElement;\n\n constructor() {\n super();\n\n (this as unknown as EventTarget).addEventListener('umb-login-flow', (e) => {\n if (e instanceof CustomEvent) {\n this.flow = e.detail.flow || undefined;\n }\n this.requestUpdate();\n });\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.classList.add('uui-text');\n this.classList.add('uui-font');\n\n this.#initializeForm();\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this._usernameLayoutItem?.remove();\n this._passwordLayoutItem?.remove();\n this._usernameLabel?.remove();\n this._usernameInput?.remove();\n this._passwordLabel?.remove();\n this._passwordInput?.remove();\n }\n\n /**\n * Creates the login form and adds it to the DOM in the default slot.\n * This is done to avoid having to deal with the shadow DOM, which is not supported in Google Chrome for autocomplete/autofill.\n *\n * @see Track this intent-to-ship for Chrome https://groups.google.com/a/chromium.org/g/blink-dev/c/RY9leYMu5hI?pli=1\n * @private\n */\n async #initializeForm() {\n const labelUsername = this.usernameIsEmail\n ? await umbLocalizationContext.localize('general_email', undefined, 'Email')\n : await umbLocalizationContext.localize('general_username', undefined, 'Username');\n const labelPassword = await umbLocalizationContext.localize('general_password', undefined, 'Password');\n\n this._usernameInput = createInput({\n id: 'username-input',\n type: 'text',\n name: 'username',\n autocomplete: 'username',\n label: labelUsername,\n inputmode: this.usernameIsEmail ? 'email' : '',\n autofocus: true,\n });\n this._passwordInput = createInput({\n id: 'password-input',\n type: 'password',\n name: 'password',\n autocomplete: 'current-password',\n label: labelPassword,\n inputmode: '',\n });\n this._usernameLabel = createLabel({\n forId: 'username-input',\n localizeAlias: this.usernameIsEmail ? 'general_email' : 'auth_username',\n localizeFallback: this.usernameIsEmail ? 'Email' : 'Username',\n });\n this._passwordLabel = createLabel({forId: 'password-input', localizeAlias: 'general_password', localizeFallback: 'Password'});\n\n this._usernameLayoutItem = createFormLayoutItem(this._usernameLabel, this._usernameInput);\n this._passwordLayoutItem = createFormLayoutItem(this._passwordLabel, this._passwordInput);\n\n this._form = createForm([this._usernameLayoutItem, this._passwordLayoutItem]);\n\n this.insertAdjacentElement('beforeend', this._form);\n }\n\n render() {\n return html`\n \n ${this._renderFlowAndStatus()}\n \n `;\n }\n\n private _renderFlowAndStatus() {\n const searchParams = new URLSearchParams(window.location.search);\n let flow = this.flow || searchParams.get('flow')?.toLowerCase();\n const status = searchParams.get('status');\n\n if (status === 'resetCodeExpired') {\n return html`\n \n `;\n }\n\n if (flow === 'invite-user' && status === 'false') {\n return html`\n \n `;\n }\n\n // validate\n if (flow) {\n if (flow === 'mfa' && !umbAuthContext.isMfaEnabled) {\n flow = undefined;\n }\n }\n\n switch (flow) {\n case 'mfa':\n return html`\n `;\n case 'reset':\n return html`\n `;\n case 'reset-password':\n return html`\n `;\n case 'invite-user':\n return html`\n `;\n\n default:\n return html`\n \n \n \n \n `;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'umb-auth': UmbAuthElement;\n }\n}\n","import { CSSResultGroup, LitElement, css, html } from 'lit';\nimport { customElement } from 'lit/decorators.js';\n\n@customElement('umb-back-to-login-button')\nexport default class UmbBackToLoginButtonElement extends LitElement {\n\trender() {\n\t\treturn html`\n\t\t\t\n\t\t`;\n\t}\n\n\t#handleClick() {\n\t\tthis.dispatchEvent(new CustomEvent('umb-login-flow', { composed: true, detail: { flow: 'login' } }));\n\t}\n\n\tstatic styles: CSSResultGroup = [\n\t\tcss`\n\t\t\t:host {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t}\n\t\t\tbutton {\n\t\t\t\tcursor: pointer;\n\t\t\t\tbackground: none;\n\t\t\t\tborder: 0;\n\t\t\t\theight: 1rem;\n\t\t\t\tcolor: var(--uui-color-text-alt); /* TODO Change to uui color when uui gets a muted text variable */\n\t\t\t\tgap: var(--uui-size-space-1);\n\t\t\t\talign-self: center;\n\t\t\t\ttext-decoration: none;\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tline-height: 1;\n\t\t\t\tfont-size: 14px;\n\t\t\t\tfont-family: var(--uui-font-family);\n\t\t\t}\n\t\t\tbutton svg {\n\t\t\t\twidth: 1rem;\n\t\t\t}\n\t\t\tbutton:hover {\n\t\t\t\tcolor: var(--uui-color-interactive-emphasis);\n\t\t\t}\n\t\t`,\n\t];\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'umb-back-to-login-button': UmbBackToLoginButtonElement;\n\t}\n}\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nfunction n(n,r,t){return n?r(n):t?.(n)}export{n as when};\n//# sourceMappingURL=when.js.map\n","import { css, CSSResultGroup, html, LitElement, nothing, PropertyValueMap } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { when } from 'lit/directives/when.js';\n\n/**\n * The auth layout component.\n *\n * @element umb-auth-layout\n * @slot - The content of the layout\n * @cssprop --umb-login-background - The background of the layout (default: #f4f4f4)\n * @cssprop --umb-login-primary-color - The color of the headline (default: #283a97)\n * @cssprop --umb-login-text-color - The color of the text (default: #000)\n * @cssprop --umb-login-header-font-size - The font-size of the headline (default: 3rem)\n * @cssprop --umb-login-header-font-size-large - The font-size of the headline on large screens (default: 4rem)\n * @cssprop --umb-login-header-secondary-font-size - The font-size of the secondary headline (default: 2.4rem)\n * @cssprop --umb-login-image - The background of the image wrapper (default: the value of the backgroundImage property)\n * @cssprop --umb-login-image-display - The display of the image wrapper (default: flex)\n * @cssprop --umb-login-image-border-radius - The border-radius of the image wrapper (default: 38px)\n * @cssprop --umb-login-content-background - The background of the content wrapper (default: none)\n * @cssprop --umb-login-content-display - The display of the content wrapper (default: flex)\n * @cssprop --umb-login-content-width - The width of the content wrapper (default: 100%)\n * @cssprop --umb-login-content-height - The height of the content wrapper (default: 100%)\n * @cssprop --umb-login-content-border-radius - The border-radius of the content wrapper (default: 0)\n * @cssprop --umb-login-align-items - The align-items of the main wrapper (default: unset)\n * @cssprop --umb-login-button-border-radius - The border-radius of the buttons (default: 45px)\n * @cssprop --umb-login-curves-color - The color of the curves (default: #f5c1bc)\n * @cssprop --umb-login-curves-display - The display of the curves (default: inline)\n */\n@customElement('umb-auth-layout')\nexport class UmbAuthLayoutElement extends LitElement {\n @property({ attribute: 'background-image' })\n backgroundImage?: string;\n\n @property({ attribute: 'logo-image' })\n logoImage?: string;\n\n @property({ attribute: 'logo-image-alternative' })\n logoImageAlternative?: string;\n\n protected updated(_changedProperties: PropertyValueMap | Map): void {\n super.updated(_changedProperties);\n\n if (_changedProperties.has('backgroundImage')) {\n this.style.setProperty('--logo-alternative-display', this.backgroundImage ? 'none' : 'unset');\n this.style.setProperty('--image', `url('${this.backgroundImage}') no-repeat center center/cover`);\n }\n }\n\n #renderImageContainer() {\n if (!this.backgroundImage) return nothing;\n\n return html`\n
\n
\n \n \n \n \n \n \n\n ${when(\n this.logoImage,\n () => html`\"logo\"`\n )}\n
\n
\n `;\n }\n\n #renderContent() {\n return html`\n
\n
\n \n
\n
\n `;\n }\n\n render() {\n return html`\n
\n ${this.#renderImageContainer()} ${this.#renderContent()}\n
\n ${when(\n this.logoImageAlternative,\n () => html`\"logo\"`\n )}\n `;\n }\n\n static styles: CSSResultGroup = [\n css`\n :host {\n --uui-color-interactive: var(--umb-login-primary-color, #283a97);\n --uui-button-border-radius: var(--umb-login-button-border-radius, 45px);\n --uui-color-default: var(--uui-color-interactive);\n --uui-button-height: 42px;\n --uui-select-height: 38px;\n\n --input-height: 40px;\n --header-font-size: var(--umb-login-header-font-size, 3rem);\n --header-secondary-font-size: var(--umb-login-header-secondary-font-size, 2.4rem);\n --curves-color: var(--umb-login-curves-color, #f5c1bc);\n --curves-display: var(--umb-login-curves-display, inline);\n\n display: block;\n background: var(--umb-login-background, #f4f4f4);\n color: var(--umb-login-text-color, #000);\n }\n\n #main-no-image,\n #main {\n max-width: 1920px;\n display: flex;\n justify-content: center;\n height: 100vh;\n padding: 8px;\n box-sizing: border-box;\n margin: 0 auto;\n }\n\n #image-container {\n display: var(--umb-login-image-display, none);\n width: 100%;\n }\n\n #content-container {\n background: var(--umb-login-content-background, none);\n display: var(--umb-login-content-display, flex);\n width: var(--umb-login-content-width, 100%);\n height: var(--umb-login-content-height, 100%);\n box-sizing: border-box;\n overflow: auto;\n border-radius: var(--umb-login-content-border-radius, 0);\n }\n\n #content {\n max-width: 360px;\n margin: auto;\n width: 100%;\n }\n\n #image {\n background: var(--umb-login-image, var(--image));\n width: 100%;\n height: 100%;\n border-radius: var(--umb-login-image-border-radius, 38px);\n position: relative;\n overflow: hidden;\n color: var(--curves-color);\n }\n\n #image svg {\n position: absolute;\n width: 45%;\n height: fit-content;\n display: var(--curves-display);\n }\n\n #curve-top {\n top: 0;\n right: 0;\n }\n\n #curve-bottom {\n bottom: 0;\n left: 0;\n }\n\n #logo-on-image,\n #logo-on-background {\n position: absolute;\n top: 24px;\n left: 24px;\n height: 55px;\n }\n\n @media only screen and (min-width: 900px) {\n :host {\n --header-font-size: var(--umb-login-header-font-size-large, 4rem);\n }\n\n #main {\n padding: 32px;\n padding-right: 0;\n align-items: var(--umb-login-align-items, unset);\n }\n\n #image-container {\n display: var(--umb-login-image-display, block);\n }\n\n #content-container {\n display: var(--umb-login-content-display, flex);\n padding: 16px;\n }\n\n #logo-on-background {\n display: var(--logo-alternative-display);\n }\n }\n `,\n ];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'umb-auth-layout': UmbAuthLayoutElement;\n }\n}\n","import type {UUIButtonState} from '@umbraco-ui/uui';\nimport {CSSResultGroup, LitElement, css, html, nothing} from 'lit';\nimport {customElement, state} from 'lit/decorators.js';\nimport {until} from 'lit/directives/until.js';\n\nimport {umbAuthContext} from '../../context/auth.context.js';\nimport {umbLocalizationContext} from '../../external/localization/localization-context.js';\n\n@customElement('umb-reset-password-page')\nexport default class UmbResetPasswordPageElement extends LitElement {\n @state()\n resetCallState: UUIButtonState = undefined;\n\n @state()\n error = '';\n\n #handleResetSubmit = async (e: SubmitEvent) => {\n e.preventDefault();\n const form = e.target as HTMLFormElement;\n\n if (!form) return;\n if (!form.checkValidity()) return;\n\n const formData = new FormData(form);\n const username = formData.get('email') as string;\n\n this.resetCallState = 'waiting';\n const response = await umbAuthContext.resetPassword(username);\n this.resetCallState = response.status === 200 ? 'success' : 'failed';\n this.error = response.error || '';\n };\n\n #renderResetPage() {\n return html`\n \n
\n
\n

\n Forgotten password?\n

\n \n\t\t\t\t\t\t\tAn email will be sent to the address specified with a link to reset your password\n\t\t\t\t\t\t\n
\n\n \n \n Email\n \n \n \n\n ${this.#renderErrorMessage()}\n\n \n \n
\n\n \n `;\n }\n\n #renderErrorMessage() {\n if (!this.error || this.resetCallState !== 'failed') return nothing;\n\n return html`${this.error}`;\n }\n\n #renderConfirmationPage() {\n return html`\n \n \n `;\n }\n\n render() {\n return this.resetCallState === 'success' ? this.#renderConfirmationPage() : this.#renderResetPage();\n }\n\n static styles: CSSResultGroup = [\n css`\n #header {\n text-align: center;\n display: flex;\n flex-direction: column;\n gap: var(--uui-size-space-5);\n }\n\n #header span {\n color: var(--uui-color-text-alt); /* TODO Change to uui color when uui gets a muted text variable */\n font-size: 14px;\n }\n\n #header h1 {\n margin: 0;\n font-weight: 400;\n font-size: var(--header-secondary-font-size);\n color: var(--uui-color-interactive);\n line-height: 1.2;\n }\n\n form {\n display: flex;\n flex-direction: column;\n gap: var(--uui-size-layout-2);\n }\n\n uui-form-layout-item {\n margin: 0;\n }\n\n uui-input,\n uui-input-password {\n width: 100%;\n height: var(--input-height);\n border-radius: var(--uui-border-radius);\n }\n\n uui-input {\n width: 100%;\n }\n\n uui-button {\n width: 100%;\n --uui-button-padding-top-factor: 1.5;\n --uui-button-padding-bottom-factor: 1.5;\n }\n\n #resend {\n display: inline-flex;\n font-size: 14px;\n align-self: center;\n gap: var(--uui-size-space-1);\n }\n\n #resend a {\n color: var(--uui-color-selected);\n font-weight: 600;\n text-decoration: none;\n }\n\n #resend a:hover {\n color: var(--uui-color-interactive-emphasis);\n }\n `,\n ];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'umb-reset-password-page': UmbResetPasswordPageElement;\n }\n}\n","import type {UUIButtonState, UUIInputPasswordElement} from '@umbraco-ui/uui';\nimport {LitElement, html} from 'lit';\nimport {customElement, query, state} from 'lit/decorators.js';\nimport {until} from 'lit/directives/until.js';\n\nimport {umbAuthContext} from '../../context/auth.context.js';\nimport {umbLocalizationContext} from '../../external/localization/localization-context.js';\n\n@customElement('umb-new-password-page')\nexport default class UmbNewPasswordPageElement extends LitElement {\n @query('#confirmPassword')\n confirmPasswordElement!: UUIInputPasswordElement;\n\n @state()\n state: UUIButtonState = undefined;\n\n @state()\n page: 'new' | 'done' | 'error' = 'new';\n\n @state()\n error = '';\n\n @state()\n userId: string | null = null;\n\n @state()\n resetCode: string | null = null;\n\n constructor() {\n super();\n\n const urlParams = new URLSearchParams(window.location.search);\n this.resetCode = urlParams.get('resetCode');\n this.userId = urlParams.get('userId');\n\n if (!this.userId || !this.resetCode) {\n this.page = 'error';\n }\n }\n\n async #onSubmit(event: CustomEvent) {\n event.preventDefault();\n const urlParams = new URLSearchParams(window.location.search);\n const resetCode = urlParams.get('resetCode');\n const userId = urlParams.get('userId');\n const password = event.detail.password;\n\n if (!resetCode || !userId) return;\n\n this.state = 'waiting';\n const response = await umbAuthContext.newPassword(password, resetCode, userId);\n this.state = response.status === 200 ? 'success' : 'failed';\n this.page = response.status === 200 ? 'done' : 'new';\n this.error = response.error || '';\n }\n\n #renderRoutes() {\n switch (this.page) {\n case 'new':\n return html`\n `;\n case 'error':\n return html`\n \n `;\n case 'done':\n return html`\n \n `;\n }\n }\n\n render() {\n return this.userId && this.resetCode\n ? this.#renderRoutes()\n : html`\n \n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'umb-new-password-page': UmbNewPasswordPageElement;\n }\n}\n","import{nothing as t,noChange as i}from\"../lit-html.js\";import{Directive as r,PartType as s,directive as n}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends r{constructor(i){if(super(i),this.it=t,i.type!==s.CHILD)throw Error(this.constructor.directiveName+\"() can only be used in child bindings\")}render(r){if(r===t||null==r)return this._t=void 0,this.it=r;if(r===i)return r;if(\"string\"!=typeof r)throw Error(this.constructor.directiveName+\"() called with a non-string value\");if(r===this.it)return this._t;this.it=r;const s=[r];return s.raw=s,this._t={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName=\"unsafeHTML\",e.resultType=1;const o=n(e);export{e as UnsafeHTMLDirective,o as unsafeHTML};\n//# sourceMappingURL=unsafe-html.js.map\n","import { html } from 'lit';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\n\n/**\n * Try to load a custom view.\n * Supports both HTML and JS files (JS files must have a default export).\n *\n * @param view The path to the custom view.\n * @returns A view part.\n */\nexport async function loadCustomView(view: string): Promise {\n\tif (view.endsWith('.html')) {\n\t\treturn fetch(view).then((response) => response.text());\n\t}\n\n\tconst module = await import(/* @vite-ignore */ view);\n\n\tif (!module.default) throw new Error('No default export found');\n\n\treturn new module.default() as T;\n}\n\nexport function renderCustomView(view: T | string) {\n\tif (typeof view === 'string') {\n\t\treturn html`${unsafeHTML(view)}`;\n\t}\n\n\treturn view;\n}\n","import type {UUIButtonState, UUIInputElement} from '@umbraco-ui/uui';\nimport {LitElement, css, html, nothing} from 'lit';\nimport {customElement, state} from 'lit/decorators.js';\nimport {until} from 'lit/directives/until.js';\nimport {umbAuthContext} from '../../context/auth.context.js';\nimport {umbLocalizationContext} from '../../external/localization/localization-context.js';\nimport {loadCustomView, renderCustomView} from '../../utils/load-custom-view.function.js';\n\ntype MfaCustomViewElement = HTMLElement & {\n providers?: string[];\n returnPath?: string;\n};\n\n@customElement('umb-mfa-page')\nexport default class UmbMfaPageElement extends LitElement {\n @state()\n protected providers: Array<{ name: string; value: string; selected: boolean }> = [];\n\n @state()\n private loading = true;\n\n @state()\n private buttonState?: UUIButtonState;\n\n @state()\n private error: string | null = null;\n\n connectedCallback() {\n super.connectedCallback();\n this.#loadProviders();\n }\n\n async #loadProviders() {\n try {\n const response = await umbAuthContext.getMfaProviders();\n this.providers = response.providers.map((provider) => ({name: provider, value: provider, selected: false}));\n\n if (this.providers.length) {\n this.providers[0].selected = true;\n }\n\n if (response.error) {\n this.error = response.error;\n }\n } catch (e) {\n if (e instanceof Error) {\n this.error = e.message ?? 'Unknown error';\n } else {\n this.error = 'Unknown error';\n }\n this.providers = [];\n }\n this.loading = false;\n }\n\n private async handleSubmit(e: SubmitEvent) {\n e.preventDefault();\n\n this.error = null;\n\n const form = e.target as HTMLFormElement;\n if (!form) return;\n\n const codeInput = form.elements.namedItem('2facode') as UUIInputElement;\n\n if (codeInput) {\n codeInput.error = false;\n codeInput.errorMessage = '';\n }\n\n if (!form.checkValidity()) return;\n\n const formData = new FormData(form);\n\n let provider = formData.get('provider') as string;\n\n // If no provider given, use the first one (there probably is only one anyway)\n if (!provider) {\n provider = this.providers[0].value;\n }\n\n if (!provider) {\n this.error = 'No provider selected';\n return;\n }\n\n const code = formData.get('token') as string;\n\n this.buttonState = 'waiting';\n\n try {\n const response = await umbAuthContext.validateMfaCode(code, provider);\n if (response.error) {\n if (codeInput) {\n codeInput.error = true;\n codeInput.errorMessage = response.error;\n } else {\n this.error = response.error;\n }\n this.buttonState = 'failed';\n return;\n }\n\n this.buttonState = 'success';\n\n const returnPath = umbAuthContext.returnPath;\n if (returnPath) {\n location.href = returnPath;\n }\n\n this.dispatchEvent(\n new CustomEvent('umb-login-success', {bubbles: true, composed: true, detail: response.data})\n );\n } catch (e) {\n if (e instanceof Error) {\n this.error = e.message ?? 'Unknown error';\n } else {\n this.error = 'Unknown error';\n }\n this.buttonState = 'failed';\n this.dispatchEvent(new CustomEvent('umb-login-failed', {bubbles: true, composed: true, detail: e}));\n }\n }\n\n protected renderDefaultView() {\n return html`\n \n
\n
\n

\n One last step\n

\n\n

\n \n You have enabled 2-factor authentication and must verify your identity.\n \n

\n
\n\n \n ${this.providers.length > 1\n ? html`\n \n \n Please choose a 2-factor provider\n \n \n \n `\n : nothing}\n\n \n \n Verification code\n \n\n \n \n \n\n ${this.error ? html` ${this.error} ` : nothing}\n\n \n \n
\n\n \n `;\n }\n\n protected async renderCustomView() {\n const view = umbAuthContext.twoFactorView;\n if (!view) return nothing;\n\n try {\n const customView = await loadCustomView(view);\n if (typeof customView === 'object') {\n customView.providers = this.providers.map((provider) => provider.value);\n customView.returnPath = umbAuthContext.returnPath;\n }\n return renderCustomView(customView);\n } catch (e) {\n const error = e instanceof Error ? e.message : 'Unknown error';\n console.group('[MFA login] Failed to load custom view');\n console.log('Element reference', this);\n console.log('Custom view', view);\n console.error('Failed to load custom view:', e);\n console.groupEnd();\n return html`${error}`;\n }\n }\n\n protected render() {\n return this.loading\n ? html`\n `\n : umbAuthContext.twoFactorView\n ? until(this.renderCustomView(), html`\n `)\n : this.renderDefaultView();\n }\n\n static styles = [\n css`\n #header {\n text-align: center;\n }\n\n #header h1 {\n font-weight: 400;\n font-size: var(--header-secondary-font-size);\n color: var(--uui-color-interactive);\n line-height: 1.2;\n }\n\n form {\n display: flex;\n flex-direction: column;\n gap: var(--uui-size-layout-2);\n }\n\n #provider {\n width: 100%;\n }\n\n uui-form-layout-item {\n margin: 0;\n }\n\n uui-input,\n uui-input-password {\n width: 100%;\n height: var(--input-height);\n border-radius: var(--uui-border-radius);\n }\n\n uui-input {\n width: 100%;\n }\n\n uui-button {\n width: 100%;\n --uui-button-padding-top-factor: 1.5;\n --uui-button-padding-bottom-factor: 1.5;\n }\n\n .text-danger {\n color: var(--uui-color-danger-standalone);\n }\n `,\n ];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'umb-mfa-page': UmbMfaPageElement;\n }\n}\n","import type {UUIButtonState} from '@umbraco-ui/uui';\nimport {css, CSSResultGroup, html, LitElement, nothing} from 'lit';\nimport {customElement, property, queryAssignedElements, state} from 'lit/decorators.js';\nimport {when} from 'lit/directives/when.js';\nimport {until} from 'lit/directives/until.js';\n\nimport {umbAuthContext} from '../../context/auth.context.js';\nimport {umbLocalizationContext} from '../../external/localization/localization-context.js';\n\n@customElement('umb-login-page')\nexport default class UmbLoginPageElement extends LitElement {\n @property({type: Boolean, attribute: 'username-is-email'})\n usernameIsEmail = false;\n\n @queryAssignedElements({flatten: true})\n protected slottedElements?: HTMLFormElement[];\n\n @property({type: Boolean, attribute: 'allow-password-reset'})\n allowPasswordReset = false;\n\n @state()\n private _loginState: UUIButtonState = undefined;\n\n @state()\n private _loginError = '';\n\n @state()\n private get disableLocalLogin() {\n return umbAuthContext.disableLocalLogin;\n }\n\n #formElement?: HTMLFormElement;\n\n async #onSlotChanged() {\n this.#formElement = this.slottedElements?.find((el) => el.id === 'umb-login-form');\n\n if (!this.#formElement) return;\n\n // We need to listen for the enter key to submit the form, because the uui-button does not support the native input fields submit event\n this.#formElement.addEventListener('keypress', (e) => {\n if (e.key === 'Enter') {\n this.#onSubmitClick();\n }\n });\n\n this.#formElement.onsubmit = this.#handleSubmit;\n }\n\n #handleSubmit = async (e: SubmitEvent) => {\n e.preventDefault();\n\n const form = e.target as HTMLFormElement;\n if (!form) return;\n\n if (!form.checkValidity()) return;\n\n const formData = new FormData(form);\n\n const username = formData.get('username') as string;\n const password = formData.get('password') as string;\n const persist = formData.has('persist');\n\n if (!username || !password) {\n this._loginError = await umbLocalizationContext.localize('auth_userFailedLogin');\n this._loginState = 'failed';\n return;\n }\n\n this._loginState = 'waiting';\n\n const response = await umbAuthContext.login({\n username,\n password,\n persist,\n });\n\n this._loginError = response.error || '';\n this._loginState = response.error ? 'failed' : 'success';\n\n // Check for 402 status code indicating that MFA is required\n if (response.status === 402) {\n umbAuthContext.isMfaEnabled = true;\n if (response.twoFactorView) {\n umbAuthContext.twoFactorView = response.twoFactorView;\n }\n\n this.dispatchEvent(new CustomEvent('umb-login-flow', {composed: true, detail: {flow: 'mfa'}}));\n return;\n }\n\n if (response.error) {\n this.dispatchEvent(new CustomEvent('umb-login-failed', {bubbles: true, composed: true, detail: response}));\n return;\n }\n\n const returnPath = umbAuthContext.returnPath;\n\n if (returnPath) {\n location.href = returnPath;\n }\n\n this.dispatchEvent(new CustomEvent('umb-login-success', {bubbles: true, composed: true, detail: response.data}));\n };\n\n get #greetingLocalizationKey() {\n return [\n 'login_greeting0',\n 'login_greeting1',\n 'login_greeting2',\n 'login_greeting3',\n 'login_greeting4',\n 'login_greeting5',\n 'login_greeting6',\n ][new Date().getDay()];\n }\n\n #onSubmitClick = () => {\n this.#formElement?.requestSubmit();\n };\n\n render() {\n return html`\n
\n

\n \n

\n \n
\n ${this.disableLocalLogin\n ? nothing\n : html`\n \n
\n ${when(\n umbAuthContext.supportsPersistLogin,\n () => html`\n \n \n Remember me\n \n `\n )}\n ${when(\n this.allowPasswordReset,\n () =>\n html`\n `\n )}\n
\n \n\n ${this.#renderErrorMessage()}\n `}\n \n \n \n `;\n }\n\n #renderErrorMessage() {\n if (!this._loginError || this._loginState !== 'failed') return nothing;\n\n return html`${this._loginError}`;\n }\n\n #handleForgottenPassword() {\n this.dispatchEvent(new CustomEvent('umb-login-flow', {composed: true, detail: {flow: 'reset'}}));\n }\n\n static styles: CSSResultGroup = [\n css`\n :host {\n display: flex;\n flex-direction: column;\n }\n\n #header {\n text-align: center;\n display: flex;\n flex-direction: column;\n gap: var(--uui-size-space-5);\n }\n\n #header span {\n color: var(--uui-color-text-alt); /* TODO Change to uui color when uui gets a muted text variable */\n font-size: 14px;\n }\n\n #greeting {\n color: var(--uui-color-interactive);\n text-align: center;\n font-weight: 400;\n font-size: var(--header-font-size);\n margin: 0 0 var(--uui-size-layout-1);\n line-height: 1.2;\n }\n\n #umb-login-button {\n margin-top: var(--uui-size-space-4);\n width: 100%;\n }\n\n #forgot-password {\n cursor: pointer;\n background: none;\n border: 0;\n height: 1rem;\n color: var(--uui-color-text-alt); /* TODO Change to uui color when uui gets a muted text variable */\n gap: var(--uui-size-space-1);\n align-self: center;\n text-decoration: none;\n display: inline-flex;\n line-height: 1;\n font-size: 14px;\n font-family: var(--uui-font-family);\n margin-left: auto;\n margin-bottom: var(--uui-size-space-3);\n }\n\n #forgot-password:hover {\n color: var(--uui-color-interactive-emphasis);\n }\n\n .text-error {\n margin-top: var(--uui-size-space-4);\n }\n\n .text-danger {\n color: var(--uui-color-danger-standalone);\n }\n\n #secondary-actions {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n `,\n ];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'umb-login-page': UmbLoginPageElement;\n }\n}\n","import type { UUIButtonState } from '@umbraco-ui/uui';\nimport { LitElement, html } from 'lit';\nimport { customElement, state } from 'lit/decorators.js';\nimport { until } from 'lit/directives/until.js';\n\nimport { umbAuthContext } from '../../context/auth.context.js';\nimport { umbLocalizationContext } from '../../external/localization/localization-context.js';\n\n@customElement('umb-invite-page')\nexport default class UmbInvitePageElement extends LitElement {\n @state()\n state: UUIButtonState = undefined;\n\n @state()\n error = '';\n\n @state()\n invitedUser?: any;\n\n protected async firstUpdated(_changedProperties: any) {\n super.firstUpdated(_changedProperties);\n\n const response = await umbAuthContext.getInvitedUser();\n\n if (!response.user?.id) {\n // The login page should already have redirected the user to an error page. They should never get here.\n this.error = 'No invited user found';\n return;\n }\n\n this.invitedUser = response.user;\n }\n\n async #onSubmit(event: CustomEvent) {\n event.preventDefault();\n const password = event.detail.password;\n\n if (!password) return;\n\n this.state = 'waiting';\n const response = await umbAuthContext.newInvitedUserPassword(password);\n\n if (response.error) {\n this.error = response.error;\n this.state = 'failed';\n return;\n }\n\n this.state = 'success';\n window.location.href = umbAuthContext.returnPath;\n }\n\n render() {\n return this.invitedUser\n ? html`\n `\n : this.error\n ? html`\n `\n : html`\n \n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'umb-invite-page': UmbInvitePageElement;\n }\n}\n","import { css, CSSResultGroup, html, LitElement, nothing } from 'lit';\nimport { customElement, property, queryAssignedElements } from 'lit/decorators.js';\nimport { until } from 'lit/directives/until.js';\nimport { umbLocalizationContext } from '../../external/localization/localization-context.js';\n\n@customElement('umb-external-login-providers-layout')\nexport class UmbExternalLoginProvidersLayoutElement extends LitElement {\n @property({ type: Boolean, attribute: 'divider' })\n showDivider = true;\n\n @queryAssignedElements({ flatten: true })\n protected slottedElements?: HTMLElement[];\n\n firstUpdated() {\n !!this.slottedElements?.length ? this.toggleAttribute('empty', false) : this.toggleAttribute('empty', true);\n }\n\n render() {\n return html`\n ${this.showDivider\n ? html`\n
\n ${until(umbLocalizationContext.localize('general_or', undefined, 'or').then(str => str.toLocaleLowerCase()))}\n
\n `\n : nothing}\n
\n \n
\n `;\n }\n\n static styles: CSSResultGroup = [\n css`\n :host {\n margin-top: 16px;\n display: flex;\n flex-direction: column;\n }\n\n :host([empty]) {\n display: none;\n }\n\n slot {\n display: flex;\n flex-direction: column;\n gap: var(--uui-size-space-4);\n }\n\n #divider {\n width: calc(100% - 18px);\n margin: 0 auto;\n margin-bottom: 16px;\n text-align: center;\n z-index: 0;\n overflow: hidden;\n }\n\n #divider span {\n padding-inline: 10px;\n position: relative;\n color: var(--uui-color-border-emphasis);\n }\n\n #divider span::before,\n #divider span::after {\n content: '';\n display: block;\n width: 500px; /* Arbitrary value, just be bigger than 50% of the max width of the container */\n height: 1px;\n background-color: var(--uui-color-border);\n position: absolute;\n top: calc(50% + 1px);\n }\n\n #divider span::before {\n right: 100%;\n }\n\n #divider span::after {\n left: 100%;\n }\n `,\n ];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'umb-external-login-providers-layout': UmbExternalLoginProvidersLayoutElement;\n }\n}\n","import type { UUIInterfaceColor, UUIInterfaceLook } from '@umbraco-ui/uui';\nimport { css, CSSResultGroup, html, LitElement, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { until } from 'lit/directives/until.js';\n\nimport { loadCustomView, renderCustomView } from '../utils/load-custom-view.function.js';\nimport { umbLocalizationContext } from '../external/localization/localization-context.js';\n\ntype UserViewState = 'loggingIn' | 'loggedIn' | 'loggedOut' | 'timedOut';\n\ntype ExternalLoginCustomViewElement = HTMLElement & {\n displayName?: string;\n providerName?: string;\n externalLoginUrl?: string;\n userViewState?: UserViewState;\n};\n\n/**\n * This elements represents a single external login provider and should be slotted into the element.\n *\n * @element umb-external-login-provider\n */\n@customElement('umb-external-login-provider')\nexport class UmbExternalLoginProviderElement extends LitElement {\n /**\n * Gets or sets the path to the module that should be loaded as the custom view.\n * The module should export a default class that extends HTMLElement.\n *\n * Setting this property will cause the default view to be hidden and the custom view to be loaded.\n * The icon, button look and button color will be ignored.\n *\n * @example App_Plugins/MyPackage/MyCustomLoginView.js\n * @attr custom-view\n */\n @property({attribute: 'custom-view'})\n customView?: string;\n\n /**\n * Gets or sets the display name of the provider.\n *\n * @attr display-name\n * @example Google\n */\n @property({attribute: 'display-name'})\n displayName = '';\n\n /**\n * Gets or sets the name of the provider (otherwise known as authentication type).\n *\n * @attr provider-name\n * @example Umbraco.Google\n */\n @property({attribute: 'provider-name'})\n providerName = '';\n\n /**\n * Gets or sets the view state of the user. This indicates in which state the user is in the login process,\n * which can be used to determine where the external-login-provider is being shown.\n *\n * @attr user-view-state\n * @example loggingIn\n * @default loggingIn\n */\n @property({attribute: 'user-view-state'})\n userViewState: UserViewState = 'loggingIn';\n\n /**\n * Gets or sets the url to the external login provider.\n *\n * @attr external-login-url\n * @example /umbraco/ExternalLogin\n */\n @property({attribute: 'external-login-url'})\n set externalLoginUrl(value: string) {\n const tempUrl = new URL(value, window.location.origin);\n const searchParams = new URLSearchParams(window.location.search);\n tempUrl.searchParams.append('redirectUrl', decodeURIComponent(searchParams.get('returnPath') ?? ''));\n this.#externalLoginUrl = tempUrl.pathname + tempUrl.search;\n }\n\n get externalLoginUrl() {\n return this.#externalLoginUrl;\n }\n\n /**\n * Gets or sets the icon to display next to the provider name.\n * This should be the name of an icon in the Umbraco Backoffice icon set.\n *\n * @attr icon\n * @example icon-google-fill\n * @default icon-lock\n */\n @property({attribute: 'icon'})\n icon = 'icon-lock';\n\n /**\n * Gets or sets the look of the underlying uui-button.\n *\n * @attr button-look\n * @example outline\n * @default outline\n * @see https://uui.umbraco.com/?path=/story/uui-button--looks-and-colors\n */\n @property({attribute: 'button-look'})\n buttonLook: UUIInterfaceLook = 'outline';\n\n /**\n * Gets or sets the color of the underlying uui-button.\n *\n * @attr button-color\n * @example danger\n * @default default\n * @see https://uui.umbraco.com/?path=/story/uui-button--looks-and-colors\n */\n @property({attribute: 'button-color'})\n buttonColor: UUIInterfaceColor = 'default';\n\n #externalLoginUrl = '';\n\n constructor() {\n super();\n\n const searchParams = new URLSearchParams(window.location.search);\n const isLogout = searchParams.get('logout') === 'true';\n\n if (isLogout) {\n this.userViewState = 'loggedOut';\n }\n }\n\n protected render() {\n return this.customView\n ? until(this.renderCustomView(), html`\n `)\n : this.renderDefaultView();\n }\n\n protected renderDefaultView() {\n return html`\n
\n `${str} ${this.displayName}`))}\n .look=${this.buttonLook}\n .color=${this.buttonColor}>\n ${this.displayName\n ? html`\n
\n \n Sign in with\n ${this.displayName}\n
\n `\n : nothing}\n \n \n \n `;\n }\n\n protected async renderCustomView() {\n try {\n if (!this.customView) return;\n\n const customView = await loadCustomView(this.customView);\n\n if (typeof customView === 'object') {\n customView.displayName = this.displayName;\n customView.providerName = this.providerName;\n customView.externalLoginUrl = this.externalLoginUrl;\n customView.userViewState = this.userViewState;\n }\n\n return renderCustomView(customView);\n } catch (error: unknown) {\n console.group('[External login] Failed to load custom view');\n console.log('Provider name', this.providerName);\n console.log('Element reference', this);\n console.log('Custom view', this.customView);\n console.error('Failed to load custom view:', error);\n console.groupEnd();\n }\n }\n\n static styles: CSSResultGroup = [\n css`\n #defaultView uui-button {\n width: 100%;\n --uui-button-font-weight: 400;\n }\n\n #defaultView uui-button div {\n /* TODO: Remove this when uui-button has setting for aligning content */\n position: absolute;\n top: 50%;\n left: 0;\n margin: auto;\n transform: translateY(-50%);\n text-align: left;\n padding-left: 15px;\n }\n\n #defaultView uui-icon {\n\t\t\t\topacity: 0.85;\n padding-right: 2px;\n }\n\n #defaultView button {\n font-size: var(--uui-button-font-size);\n border: 1px solid var(--uui-color-border);\n border-radius: var(--uui-button-border-radius);\n width: 100%;\n padding: 9px;\n text-align: left;\n background-color: var(--uui-color-surface);\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: var(--uui-size-space-2);\n box-sizing: border-box;\n\n line-height: 1.1; /* makes the text vertically centered */\n color: var(--uui-color-interactive);\n }\n\n #defaultView button:hover {\n color: var(--uui-color-interactive-emphasis);\n border-color: var(--uui-color-border-standalone);\n }\n `,\n ];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'umb-external-login-provider': UmbExternalLoginProviderElement;\n }\n}\n","import type {UUIButtonState, UUIInputPasswordElement} from '@umbraco-ui/uui';\nimport {CSSResultGroup, LitElement, css, html, nothing} from 'lit';\nimport {customElement, property, query, state} from 'lit/decorators.js';\nimport {until} from 'lit/directives/until.js';\n\nimport {umbAuthContext} from '../../context/auth.context.js';\nimport {umbLocalizationContext} from '../../external/localization/localization-context.js';\n\n@customElement('umb-new-password-layout')\nexport default class UmbNewPasswordLayoutElement extends LitElement {\n @query('#password')\n passwordElement!: UUIInputPasswordElement;\n\n @query('#confirmPassword')\n confirmPasswordElement!: UUIInputPasswordElement;\n\n @property()\n state: UUIButtonState = undefined;\n\n @property()\n error: string = '';\n\n @property()\n userId: any;\n\n @property()\n userName?: string;\n\n @state()\n passwordConfig?: {\n allowManuallyChangingPassword: boolean;\n minNonAlphaNumericChars: number;\n minPasswordLength: number;\n };\n\n protected async firstUpdated(_changedProperties: any) {\n super.firstUpdated(_changedProperties);\n\n if (this.userId) {\n const response = await umbAuthContext.getPasswordConfig(this.userId);\n this.passwordConfig = response.data;\n }\n }\n\n async #onSubmit(event: Event) {\n event.preventDefault();\n if (!this.passwordConfig) return;\n const form = event.target as HTMLFormElement;\n\n this.passwordElement.setCustomValidity('');\n this.confirmPasswordElement.setCustomValidity('');\n\n if (!form) return;\n if (!form.checkValidity()) return;\n\n const formData = new FormData(form);\n const password = formData.get('password') as string;\n const passwordConfirm = formData.get('confirmPassword') as string;\n\n let passwordIsInvalid = false;\n\n if (this.passwordConfig.minPasswordLength > 0 && password.length < this.passwordConfig.minPasswordLength) {\n passwordIsInvalid = true;\n }\n\n if (this.passwordConfig.minNonAlphaNumericChars > 0) {\n const nonAlphaNumericChars = password.replace(/[a-zA-Z0-9]/g, '').length; //TODO: How should we check for non-alphanumeric chars?\n if (nonAlphaNumericChars < this.passwordConfig?.minNonAlphaNumericChars) {\n passwordIsInvalid = true;\n }\n }\n\n if (passwordIsInvalid) {\n const passwordValidityText = await umbLocalizationContext.localize(\n 'errorHandling_errorInPasswordFormat',\n [this.passwordConfig.minPasswordLength, this.passwordConfig.minNonAlphaNumericChars],\n \"The password doesn't meet the minimum requirements!\"\n );\n this.passwordElement.setCustomValidity(passwordValidityText);\n return;\n }\n\n if (password !== passwordConfirm) {\n const passwordValidityText = await umbLocalizationContext.localize(\n 'user_passwordMismatch',\n undefined,\n \"The confirmed password doesn't match the new password!\"\n );\n this.confirmPasswordElement.setCustomValidity(passwordValidityText);\n return;\n }\n\n this.dispatchEvent(new CustomEvent('submit', {detail: {password}}));\n }\n\n renderHeader() {\n if (this.userName) {\n return html`\n

Hi, ${this.userName}

\n \n \n Welcome to Umbraco! Just need to get your password setup and then you're good to go\n \n \n `;\n } else {\n return html`\n

\n New password\n

\n \n Please provide a new password.\n \n `;\n }\n }\n\n render() {\n return html`\n \n
\n
${this.renderHeader()}
\n \n \n New password\n \n \n \n\n \n \n Confirm new password\n \n \n \n\n ${this.#renderErrorMessage()}\n\n \n \n
\n\n \n `;\n }\n\n #renderErrorMessage() {\n if (!this.error || this.state !== 'failed') return nothing;\n\n return html`${this.error}`;\n }\n\n static styles: CSSResultGroup = [\n css`\n #header {\n text-align: center;\n display: flex;\n flex-direction: column;\n gap: var(--uui-size-space-5);\n }\n\n #header span {\n color: var(--uui-color-text-alt); /* TODO Change to uui color when uui gets a muted text variable */\n font-size: 14px;\n }\n\n #header h1 {\n margin: 0;\n font-weight: 400;\n font-size: var(--header-secondary-font-size);\n color: var(--uui-color-interactive);\n line-height: 1.2;\n }\n\n form {\n display: flex;\n flex-direction: column;\n gap: var(--uui-size-space-5);\n }\n\n uui-form-layout-item {\n margin: 0;\n }\n\n uui-input-password {\n width: 100%;\n height: var(--input-height);\n border-radius: var(--uui-border-radius);\n }\n\n uui-button {\n width: 100%;\n margin-top: var(--uui-size-space-5);\n --uui-button-padding-top-factor: 1.5;\n --uui-button-padding-bottom-factor: 1.5;\n }\n\n .text-danger {\n color: var(--uui-color-danger-standalone);\n }\n `,\n ];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'umb-new-password-layout': UmbNewPasswordLayoutElement;\n }\n}\n","import { CSSResultGroup, LitElement, css, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\n@customElement('umb-confirmation-layout')\nexport default class UmbConfirmationLayoutElement extends LitElement {\n @property({ type: String })\n header = '';\n\n @property({ type: String })\n message = '';\n\n render() {\n return html`\n
\n

${this.header}

\n ${this.message}\n
\n\n \n\n \n `;\n }\n\n static styles: CSSResultGroup = [\n css`\n :host {\n display: flex;\n flex-direction: column;\n gap: var(--uui-size-layout-1);\n }\n\n #header {\n text-align: center;\n display: flex;\n flex-direction: column;\n gap: var(--uui-size-space-5);\n }\n\n #header span {\n color: var(--uui-color-text-alt); /* TODO Change to uui color when uui gets a muted text variable */\n font-size: 14px;\n }\n\n #header h1 {\n margin: 0;\n font-weight: 400;\n font-size: var(--header-secondary-font-size);\n color: var(--uui-color-interactive);\n line-height: 1.2;\n }\n\n uui-button {\n width: 100%;\n margin-top: var(--uui-size-space-5);\n --uui-button-padding-top-factor: 1.5;\n --uui-button-padding-bottom-factor: 1.5;\n }\n `,\n ];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'umb-confirmation-layout': UmbConfirmationLayoutElement;\n }\n}\n","import { CSSResultGroup, LitElement, css, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\n@customElement('umb-error-layout')\nexport default class UmbErrorLayoutElement extends LitElement {\n @property({ type: String })\n header = '';\n\n @property({ type: String })\n message = '';\n\n render() {\n return html`\n
\n

${this.header}

\n ${this.message}\n
\n \n \n `;\n }\n\n static styles: CSSResultGroup = [\n css`\n :host {\n display: flex;\n flex-direction: column;\n gap: var(--uui-size-layout-1);\n }\n\n #header {\n text-align: center;\n display: flex;\n flex-direction: column;\n gap: var(--uui-size-space-5);\n }\n\n #header span {\n color: var(--uui-color-text-alt); /* TODO Change to uui color when uui gets a muted text variable */\n font-size: 14px;\n }\n\n #header h1 {\n margin: 0;\n font-weight: 400;\n font-size: var(--header-secondary-font-size);\n color: var(--uui-color-interactive);\n line-height: 1.2;\n }\n\n ::slotted(uui-button) {\n width: 100%;\n margin-top: var(--uui-size-space-5);\n --uui-button-padding-top-factor: 1.5;\n --uui-button-padding-bottom-factor: 1.5;\n }\n `,\n ];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'umb-error-layout': UmbErrorLayoutElement;\n }\n}\n","import { UUIIconRegistry, UUIIconRegistryElement, UUIIconRegistryEssential } from '@umbraco-ui/uui';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { customElement } from 'lit/decorators.js';\n\n/**\n * This is a custom icon registry that will load icons from the Umbraco assets folder.\n * Optimistically, we will provide the icon, and then try and load it.\n */\nclass UmbIconRegistry extends UUIIconRegistry {\n\tprotected acceptIcon(iconName: string): boolean {\n // If the icon name is a variable, we will not provide it.\n if (iconName.startsWith('{{') && iconName.endsWith('}}')) {\n return false;\n }\n\n\t\t// Inform that we will be providing this.\n\t\tconst icon = this.provideIcon(iconName);\n\n\t\tthis.#getIcons().subscribe((icons) => {\n\t\t\tif (icons[iconName]) {\n\t\t\t\ticon.svg = icons[iconName].replace('>(1);\n #getIcons(): Observable> {\n if (!this.#iconsLoaded) {\n this.#iconsLoaded = true;\n fetch('backoffice/umbracoapi/icon/geticons')\n .then((response) => {\n if (!response.ok) {\n throw new Error('Could not fetch icons');\n }\n\n return response.json();\n })\n .then((icons) => {\n this.#icons.next(icons);\n this.#icons.complete();\n });\n }\n\n return this.#icons.asObservable();\n }\n}\n\n@customElement('umb-backoffice-icon-registry')\nexport class UmbBackofficeIconRegistryElement extends UUIIconRegistryElement {\n constructor() {\n super();\n new UUIIconRegistryEssential().attach(this);\n this.registry = new UmbIconRegistry();\n }\n\n protected createRenderRoot() {\n return this;\n }\n}\n","import {LitElement} from \"lit\";\nimport {customElement, property, state} from \"lit/decorators.js\";\nimport {until} from \"lit/directives/until.js\";\nimport {loadCustomView, renderCustomView} from \"../utils/load-custom-view.function.js\";\n\n@customElement('umb-custom-view')\nexport default class UmbCustomViewElement extends LitElement {\n @property({ attribute: 'custom-view' })\n set customView (value: string) {\n this.#customView = value;\n this.#loadView();\n }\n get customView () {\n return this.#customView;\n }\n\n @property({ type: Object, attribute: 'args'})\n set args (value: any) {\n this.#args = value;\n this.#loadView();\n }\n get args () {\n return this.#args;\n }\n\n @state()\n protected component: any = null;\n\n #args?: any;\n #customView = '';\n\n async #loadView() {\n if (!this.#customView || !this.#customView.endsWith('.js') && !this.#customView.endsWith('.html')) {\n return;\n }\n\n const customView = await loadCustomView(this.#customView);\n\n if (this.#args) {\n Object.entries(this.#args).forEach(([key, value]) => {\n (customView as any)[key] = value;\n });\n }\n\n this.component = renderCustomView(customView);\n }\n\n render() {\n return until(this.component);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'umb-custom-view': UmbCustomViewElement;\n }\n}\n","import { html, LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport { umbLocalizationContext } from './localization-context.js';\n\n/**\n * The localize element.\n * It takes a key and returns the localized value for that key.\n * If the key is not found, it uses the default slot as fallback.\n *\n * @slot - The default slot should contain the fallback text.\n * @element umb-localize\n * @example Login\n */\n@customElement('umb-localize')\nexport class UmbLocalizeElement extends LitElement {\n\t@property({ type: String })\n\tkey!: string;\n\n\t@state()\n\tvalue = '';\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback();\n\t\tthis.#load();\n\t}\n\n\tasync #load() {\n\t\ttry {\n\t\t\tthis.value = await this.localize(this.key);\n\t\t} catch (error: any) {\n\t\t\tconsole.error('Failed to localize key:', this.key, error);\n\t\t}\n\t}\n\n\tasync localize(key: string, fallback?: string): Promise {\n\t\treturn umbLocalizationContext.localize(key, undefined, fallback);\n\t}\n\n\trender() {\n\t\treturn this.value ? html`${unsafeHTML(this.value)}` : html``;\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'umb-localize': UmbLocalizeElement;\n\t}\n}\n"],"names":["t","e","s","o","n$6","r","n","i","S","c","h","a","l","p","d","u","f","y","b","v","_","m","g","$","x","w","T","A","E","C","P","V","k","H","I","R","N","M","L","Z","j","s$2","i$1","extendStatics","__extends","__","__values","__read","ar","error","__spreadArray","to","from","pack","isFunction","value","createErrorClass","createImpl","_super","instance","ctorFunc","UnsubscriptionError","errors","err","arrRemove","arr","item","index","Subscription","initialTeardown","e_1","_a","e_2","_b","_parentage","_parentage_1","_parentage_1_1","parent_1","e_1_1","initialFinalizer","_finalizers","_finalizers_1","_finalizers_1_1","finalizer","execFinalizer","e_2_1","teardown","parent","empty","EMPTY_SUBSCRIPTION","isSubscription","config","timeoutProvider","handler","timeout","args","_i","handle","delegate","reportUnhandledError","noop","errorContext","cb","Subscriber","destination","_this","EMPTY_OBSERVER","next","complete","SafeSubscriber","_bind","bind","fn","thisArg","ConsumerObserver","partialObserver","handleUnhandledError","observerOrNext","context_1","defaultErrorHandler","observable","identity","pipeFromArray","fns","input","prev","Observable","subscribe","operator","subscriber","isSubscriber","source","sink","promiseCtor","getPromiseCtor","resolve","reject","Symbol_observable","operations","isObserver","ObjectUnsubscribedError","Subject","subject","AnonymousSubject","_c","observer","observers","hasError","isStopped","thrownError","dateTimestampProvider","ReplaySubject","_bufferSize","_windowTime","_timestampProvider","_buffer","_infiniteTimeWindow","subscription","copy","adjustedBufferSize","now","last","EmptyError","firstValueFrom","hasConfig","UmbLocalizationContext","#init","#apiBasePath","#innerDictionary","#initLocalizedResources","response","resources","innerDictionary","dictionaryName","dictionary","key","tokens","fallback","keys","text","alias","fallbackValue","underscoreIndex","valueEntry","umbLocalizationContext","UmbAuthRepository","#authURL","data","request","responseData","#removeAngularJSResponseData","#getErrorText","email","user","code","password","resetCode","userId","newPassWord","providers","provider","UmbAuthContext","#authRepository","#returnPath","params","returnPath","url","username","userIdAsNumber","umbAuthContext","_initializeForm","initializeForm_fn","createInput","opts","createLabel","label","umbLocalize","createFormLayoutItem","formLayoutItem","createForm","elements","styles","authStyles","form","element","UmbAuthElement","LitElement","__privateAdd","__privateMethod","html","ifDefined","searchParams","flow","status","until","labelUsername","labelPassword","__decorateClass","property","customElement","_handleClick","handleClick_fn","UmbBackToLoginButtonElement","css","_renderImageContainer","renderImageContainer_fn","_renderContent","renderContent_fn","UmbAuthLayoutElement","_changedProperties","when","nothing","_handleResetSubmit","_renderResetPage","renderResetPage_fn","_renderErrorMessage","renderErrorMessage_fn","_renderConfirmationPage","renderConfirmationPage_fn","UmbResetPasswordPageElement","__privateGet","state","_onSubmit","onSubmit_fn","_renderRoutes","renderRoutes_fn","UmbNewPasswordPageElement","urlParams","onSubmit_fn$2","event","query","loadCustomView","view","module","renderCustomView","unsafeHTML","_loadProviders","loadProviders_fn","UmbMfaPageElement","codeInput","formData","customView","_formElement","_onSlotChanged","onSlotChanged_fn","_handleSubmit","_greetingLocalizationKey","greetingLocalizationKey_get","_onSubmitClick","_handleForgottenPassword","handleForgottenPassword_fn","UmbLoginPageElement","persist","__privateSet","el","queryAssignedElements","UmbInvitePageElement","onSubmit_fn$1","UmbExternalLoginProvidersLayoutElement","str","_externalLoginUrl","UmbExternalLoginProviderElement","tempUrl","UmbNewPasswordLayoutElement","passwordConfirm","passwordIsInvalid","passwordValidityText","UmbConfirmationLayoutElement","UmbErrorLayoutElement","UmbIconRegistry","UUIIconRegistry","iconName","icon","#getIcons","icons","#iconsLoaded","#icons","UmbBackofficeIconRegistryElement","UUIIconRegistryElement","UUIIconRegistryEssential","_args","_customView","_loadView","loadView_fn","UmbCustomViewElement","_load","load_fn","UmbLocalizeElement"],"mappings":"2BAAA;AAAA;AAAA;AAAA;AAAA,GAKA,MAAMA,GAAE,WAAWC,GAAED,GAAE,aAAsBA,GAAE,WAAX,QAAqBA,GAAE,SAAS,eAAe,uBAAuB,SAAS,WAAW,YAAY,cAAc,UAAUE,GAAE,OAAM,EAAGC,GAAE,IAAI,QAAQ,IAAAC,GAAA,KAAO,CAAC,YAAYJ,EAAEC,EAAEE,EAAE,CAAC,GAAG,KAAK,aAAa,GAAGA,IAAID,GAAE,MAAM,MAAM,mEAAmE,EAAE,KAAK,QAAQF,EAAE,KAAK,EAAEC,CAAC,CAAC,IAAI,YAAY,CAAC,IAAID,EAAE,KAAK,EAAE,MAAME,EAAE,KAAK,EAAE,GAAGD,IAAYD,IAAT,OAAW,CAAC,MAAMC,EAAWC,IAAT,QAAgBA,EAAE,SAAN,EAAaD,IAAID,EAAEG,GAAE,IAAID,CAAC,GAAYF,IAAT,UAAc,KAAK,EAAEA,EAAE,IAAI,eAAe,YAAY,KAAK,OAAO,EAAEC,GAAGE,GAAE,IAAID,EAAEF,CAAC,EAAE,CAAC,OAAOA,CAAC,CAAC,UAAU,CAAC,OAAO,KAAK,OAAO,CAAC,EAAC,MAAMK,GAAEL,GAAG,IAAIM,GAAY,OAAON,GAAjB,SAAmBA,EAAEA,EAAE,GAAG,OAAOE,EAAC,EAAEK,EAAE,CAACP,KAAK,IAAI,CAAC,MAAMG,EAAMH,EAAE,SAAN,EAAaA,EAAE,CAAC,EAAE,EAAE,OAAQ,CAACC,EAAEC,EAAEC,IAAIF,GAAGD,GAAG,CAAC,GAAQA,EAAE,eAAP,GAAoB,OAAOA,EAAE,QAAQ,GAAa,OAAOA,GAAjB,SAAmB,OAAOA,EAAE,MAAM,MAAM,mEAAmEA,EAAE,sFAAsF,CAAC,GAAGE,CAAC,EAAEF,EAAEG,EAAE,CAAC,EAAGH,EAAE,CAAC,CAAC,EAAE,OAAO,IAAIM,GAAEH,EAAEH,EAAEE,EAAC,CAAC,EAAEM,GAAE,CAACN,EAAEC,IAAI,CAAC,GAAGF,GAAEC,EAAE,mBAAmBC,EAAE,IAAK,GAAG,aAAa,cAAc,EAAE,EAAE,gBAAkB,WAAUF,KAAKE,EAAE,CAAC,MAAMA,EAAE,SAAS,cAAc,OAAO,EAAEG,EAAEN,GAAE,SAAkBM,IAAT,QAAYH,EAAE,aAAa,QAAQG,CAAC,EAAEH,EAAE,YAAYF,EAAE,QAAQC,EAAE,YAAYC,CAAC,CAAC,CAAC,EAAEM,GAAER,GAAED,GAAGA,EAAEA,GAAGA,aAAa,eAAeA,GAAG,CAAC,IAAIC,EAAE,GAAG,UAAUC,KAAKF,EAAE,SAASC,GAAGC,EAAE,QAAQ,OAAOG,GAAEJ,CAAC,CAAC,GAAGD,CAAC,EAAEA,ECJ3zC;AAAA;AAAA;AAAA;AAAA,GAIG,KAAK,CAAC,GAAGO,GAAE,eAAeN,GAAE,yBAAyBI,GAAE,oBAAoBK,GAAE,sBAAsBP,GAAE,eAAeG,EAAC,EAAE,OAAOK,GAAE,WAAWF,GAAEE,GAAE,aAAaC,GAAEH,GAAEA,GAAE,YAAY,GAAGI,GAAEF,GAAE,+BAA+BG,EAAE,CAACd,EAAEE,IAAIF,EAAEe,GAAE,CAAC,YAAYf,EAAEE,EAAE,CAAC,OAAOA,EAAC,CAAE,KAAK,QAAQF,EAAEA,EAAEY,GAAE,KAAK,MAAM,KAAK,OAAO,KAAK,MAAMZ,EAAQA,GAAN,KAAQA,EAAE,KAAK,UAAUA,CAAC,CAAC,CAAC,OAAOA,CAAC,EAAE,cAAcA,EAAEE,EAAE,CAAC,IAAIK,EAAEP,EAAE,OAAOE,EAAG,CAAA,KAAK,QAAQK,EAASP,IAAP,KAAS,MAAM,KAAK,OAAOO,EAASP,IAAP,KAAS,KAAK,OAAOA,CAAC,EAAE,MAAM,KAAK,OAAO,KAAK,MAAM,GAAG,CAACO,EAAE,KAAK,MAAMP,CAAC,CAAC,MAAS,CAACO,EAAE,IAAI,CAAC,CAAC,OAAOA,CAAC,CAAC,EAAES,GAAE,CAAChB,EAAEE,IAAI,CAACK,GAAEP,EAAEE,CAAC,EAAEe,GAAE,CAAC,UAAU,GAAG,KAAK,OAAO,UAAUF,GAAE,QAAQ,GAAG,WAAWC,EAAC,EAAE,OAAO,WAAW,OAAO,UAAU,EAAEL,GAAE,sBAAsB,IAAI,QAAQ,MAAMO,UAAU,WAAW,CAAC,OAAO,eAAelB,EAAE,CAAC,KAAK,KAAM,GAAE,KAAK,IAAI,CAAA,GAAI,KAAKA,CAAC,CAAC,CAAC,WAAW,oBAAoB,CAAC,OAAO,KAAK,WAAW,KAAK,MAAM,CAAC,GAAG,KAAK,KAAK,KAAM,CAAA,CAAC,CAAC,OAAO,eAAeA,EAAEE,EAAEe,GAAE,CAAC,GAAGf,EAAE,QAAQA,EAAE,UAAU,IAAI,KAAK,KAAM,EAAC,KAAK,kBAAkB,IAAIF,EAAEE,CAAC,EAAE,CAACA,EAAE,WAAW,CAAC,MAAM,EAAE,OAAM,EAAGG,EAAE,KAAK,sBAAsBL,EAAE,EAAEE,CAAC,EAAWG,IAAT,QAAYJ,GAAE,KAAK,UAAUD,EAAEK,CAAC,CAAC,CAAC,CAAC,OAAO,sBAAsBL,EAAEE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAID,EAAE,IAAIS,CAAC,EAAEL,GAAE,KAAK,UAAUL,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,KAAKE,CAAC,CAAC,EAAE,IAAIF,EAAE,CAAC,KAAKE,CAAC,EAAEF,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,OAAOC,GAAG,KAAK,IAAI,CAAC,EAAE,IAAIC,EAAE,CAAC,MAAMG,EAAEJ,GAAG,KAAK,IAAI,EAAES,EAAE,KAAK,KAAKR,CAAC,EAAE,KAAK,cAAcF,EAAEK,EAAE,CAAC,CAAC,EAAE,aAAa,GAAG,WAAW,EAAE,CAAC,CAAC,OAAO,mBAAmBL,EAAE,CAAC,OAAO,KAAK,kBAAkB,IAAIA,CAAC,GAAGiB,EAAC,CAAC,OAAO,MAAM,CAAC,GAAG,KAAK,eAAeH,EAAE,mBAAmB,CAAC,EAAE,OAAO,MAAMd,EAAEM,GAAE,IAAI,EAAEN,EAAE,SAAU,EAAUA,EAAE,IAAX,SAAe,KAAK,EAAE,CAAC,GAAGA,EAAE,CAAC,GAAG,KAAK,kBAAkB,IAAI,IAAIA,EAAE,iBAAiB,CAAC,CAAC,OAAO,UAAU,CAAC,GAAG,KAAK,eAAec,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,KAAK,UAAU,GAAG,KAAK,KAAI,EAAG,KAAK,eAAeA,EAAE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,WAAWZ,EAAE,CAAC,GAAGQ,GAAE,CAAC,EAAE,GAAGP,GAAE,CAAC,CAAC,EAAE,UAAUI,KAAKL,EAAE,KAAK,eAAeK,EAAE,EAAEA,CAAC,CAAC,CAAC,CAAC,MAAMP,EAAE,KAAK,OAAO,QAAQ,EAAE,GAAUA,IAAP,KAAS,CAAC,MAAME,EAAE,oBAAoB,IAAIF,CAAC,EAAE,GAAYE,IAAT,OAAW,SAAS,CAACF,EAAEO,CAAC,IAAIL,EAAE,KAAK,kBAAkB,IAAIF,EAAEO,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,SAAS,CAAC,EAAEL,CAAC,IAAI,KAAK,kBAAkB,CAAC,MAAMK,EAAE,KAAK,KAAK,EAAEL,CAAC,EAAWK,IAAT,QAAY,KAAK,KAAK,IAAIA,EAAE,CAAC,CAAC,CAAC,KAAK,cAAc,KAAK,eAAe,KAAK,MAAM,CAAC,CAAC,OAAO,eAAeL,EAAE,CAAC,MAAMK,EAAE,CAAA,EAAG,GAAG,MAAM,QAAQL,CAAC,EAAE,CAAC,MAAMD,EAAE,IAAI,IAAIC,EAAE,KAAK,GAAG,EAAE,QAAO,CAAE,EAAE,UAAUA,KAAKD,EAAEM,EAAE,QAAQP,GAAEE,CAAC,CAAC,CAAC,MAAeA,IAAT,QAAYK,EAAE,KAAKP,GAAEE,CAAC,CAAC,EAAE,OAAOK,CAAC,CAAC,OAAO,KAAKP,EAAEE,EAAE,CAAC,MAAM,EAAEA,EAAE,UAAU,OAAW,IAAL,GAAO,OAAiB,OAAO,GAAjB,SAAmB,EAAY,OAAOF,GAAjB,SAAmBA,EAAE,YAAa,EAAC,MAAM,CAAC,aAAa,CAAC,MAAK,EAAG,KAAK,KAAK,OAAO,KAAK,gBAAgB,GAAG,KAAK,WAAW,GAAG,KAAK,KAAK,KAAK,KAAK,KAAI,CAAE,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,QAASA,GAAG,KAAK,eAAeA,GAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAI,EAAG,KAAK,cAAe,EAAC,KAAK,YAAY,GAAG,QAASA,GAAGA,EAAE,IAAI,CAAG,CAAA,CAAC,cAAcA,EAAE,EAAE,KAAK,OAAO,IAAI,KAAK,IAAIA,CAAC,EAAW,KAAK,aAAd,QAA0B,KAAK,aAAaA,EAAE,gBAAa,CAAI,CAAC,iBAAiBA,EAAE,CAAC,KAAK,MAAM,OAAOA,CAAC,CAAC,CAAC,MAAM,CAAC,MAAMA,EAAE,IAAI,IAAIE,EAAE,KAAK,YAAY,kBAAkB,UAAU,KAAKA,EAAE,KAAM,EAAC,KAAK,eAAe,CAAC,IAAIF,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,OAAO,KAAK,CAAC,GAAGA,EAAE,KAAK,IAAI,KAAK,KAAKA,EAAE,CAAC,kBAAkB,CAAC,MAAMA,EAAE,KAAK,YAAY,KAAK,aAAa,KAAK,YAAY,iBAAiB,EAAE,OAAOE,GAAEF,EAAE,KAAK,YAAY,aAAa,EAAEA,CAAC,CAAC,mBAAmB,CAAC,KAAK,aAAa,KAAK,iBAAkB,EAAC,KAAK,eAAe,EAAE,EAAE,KAAK,MAAM,QAASA,GAAGA,EAAE,gBAAa,CAAM,CAAA,CAAC,eAAeA,EAAE,CAAE,CAAA,sBAAsB,CAAC,KAAK,MAAM,QAASA,GAAGA,EAAE,mBAAgB,CAAM,CAAA,CAAC,yBAAyBA,EAAEE,EAAE,EAAE,CAAC,KAAK,KAAKF,EAAE,CAAC,CAAC,CAAC,KAAKA,EAAEE,EAAE,CAAC,MAAM,EAAE,KAAK,YAAY,kBAAkB,IAAIF,CAAC,EAAEC,EAAE,KAAK,YAAY,KAAKD,EAAE,CAAC,EAAE,GAAYC,IAAT,QAAiB,EAAE,UAAP,GAAe,CAAC,MAAMI,GAAY,EAAE,WAAW,cAAtB,OAAkC,EAAE,UAAUU,IAAG,YAAYb,EAAE,EAAE,IAAI,EAAE,KAAK,KAAKF,EAAQK,GAAN,KAAQ,KAAK,gBAAgBJ,CAAC,EAAE,KAAK,aAAaA,EAAEI,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,KAAKL,EAAEE,EAAE,CAAC,MAAM,EAAE,KAAK,YAAYD,EAAE,EAAE,KAAK,IAAID,CAAC,EAAE,GAAYC,IAAT,QAAY,KAAK,OAAOA,EAAE,CAAC,MAAMD,EAAE,EAAE,mBAAmBC,CAAC,EAAEI,EAAc,OAAOL,EAAE,WAArB,WAA+B,CAAC,cAAcA,EAAE,SAAS,EAAWA,EAAE,WAAW,gBAAtB,OAAoCA,EAAE,UAAUe,GAAE,KAAK,KAAKd,EAAE,KAAKA,CAAC,EAAEI,EAAE,cAAcH,EAAEF,EAAE,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,cAAcA,EAAEE,EAAE,EAAE,CAAC,GAAYF,IAAT,OAAW,CAAC,GAAG,IAAI,KAAK,YAAY,mBAAmBA,CAAC,EAAE,EAAE,EAAE,YAAYgB,IAAG,KAAKhB,CAAC,EAAEE,CAAC,EAAE,OAAO,KAAK,EAAEF,EAAEE,EAAE,CAAC,CAAC,CAAM,KAAK,kBAAV,KAA4B,KAAK,KAAK,KAAK,KAAM,EAAC,CAAC,EAAEF,EAAEE,EAAE,EAAE,CAAC,KAAK,KAAK,IAAIF,CAAC,GAAG,KAAK,KAAK,IAAIA,EAAEE,CAAC,EAAO,EAAE,UAAP,IAAgB,KAAK,OAAOF,IAAI,KAAK,OAAO,IAAI,KAAK,IAAIA,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,gBAAgB,GAAG,GAAG,CAAC,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAC,MAAMA,EAAE,KAAK,eAAgB,EAAC,OAAaA,GAAN,MAAS,MAAMA,EAAE,CAAC,KAAK,eAAe,CAAC,gBAAgB,CAAC,OAAO,KAAK,cAAe,CAAA,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,gBAAgB,OAAO,GAAG,CAAC,KAAK,WAAW,CAAC,GAAG,KAAK,aAAa,KAAK,iBAAgB,EAAG,KAAK,KAAK,CAAC,SAAS,CAACA,EAAE,CAAC,IAAI,KAAK,KAAK,KAAKA,CAAC,EAAE,EAAE,KAAK,KAAK,MAAM,CAAC,MAAMA,EAAE,KAAK,YAAY,kBAAkB,GAAGA,EAAE,KAAK,EAAE,SAAS,CAACE,EAAEK,CAAC,IAAIP,EAAOO,EAAE,UAAP,IAAgB,KAAK,KAAK,IAAIL,CAAC,GAAY,KAAKA,CAAC,IAAf,QAAkB,KAAK,EAAEA,EAAE,KAAKA,CAAC,EAAEK,CAAC,CAAC,CAAC,IAAIP,EAAE,GAAG,MAAME,EAAE,KAAK,KAAK,GAAG,CAACF,EAAE,KAAK,aAAaE,CAAC,EAAEF,GAAG,KAAK,WAAWE,CAAC,EAAE,KAAK,MAAM,QAASF,GAAGA,EAAE,aAAU,CAAM,EAAC,KAAK,OAAOE,CAAC,GAAG,KAAK,KAAM,CAAA,OAAOA,EAAE,CAAC,MAAMF,EAAE,GAAG,KAAK,KAAI,EAAGE,CAAC,CAACF,GAAG,KAAK,KAAKE,CAAC,CAAC,CAAC,WAAWF,EAAE,CAAE,CAAA,KAAKA,EAAE,CAAC,KAAK,MAAM,QAAS,GAAG,EAAE,cAAe,CAAA,EAAG,KAAK,aAAa,KAAK,WAAW,GAAG,KAAK,aAAaA,CAAC,GAAG,KAAK,QAAQA,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC,IAAI,gBAAgB,CAAC,OAAO,KAAK,kBAAiB,CAAE,CAAC,mBAAmB,CAAC,OAAO,KAAK,IAAI,CAAC,aAAaA,EAAE,CAAC,MAAM,EAAE,CAAC,OAAOA,EAAE,CAAC,KAAK,OAAO,KAAK,KAAK,QAAS,GAAG,KAAK,KAAK,EAAE,KAAK,CAAC,CAAC,CAAG,EAAC,KAAK,KAAI,CAAE,CAAC,QAAQA,EAAE,CAAA,CAAE,aAAaA,EAAE,CAAA,CAAE,CAACkB,EAAE,cAAc,CAAA,EAAGA,EAAE,kBAAkB,CAAC,KAAK,MAAM,EAAEA,EAAEJ,EAAE,mBAAmB,CAAC,EAAE,IAAI,IAAII,EAAEJ,EAAE,WAAW,CAAC,EAAE,IAAI,IAAID,KAAI,CAAC,gBAAgBK,CAAC,CAAC,GAAGP,GAAE,0BAA0B,CAAA,GAAI,KAAK,OAAO,ECLx7K;AAAA;AAAA;AAAA;AAAA,GAKMX,MAAAA,GAAE,WAAWO,GAAEP,GAAE,aAAaE,GAAEK,GAAEA,GAAE,aAAa,WAAW,CAAC,WAAWP,GAAGA,CAAC,CAAC,EAAE,OAAOC,GAAE,QAAQS,EAAE,QAAQ,KAAK,OAAQ,EAAC,IAAI,MAAM,CAAC,CAAC,IAAIP,GAAE,IAAIO,EAAEJ,GAAE,IAAIH,EAAC,IAAIE,EAAE,SAASO,EAAE,IAAIP,EAAE,cAAc,EAAE,EAAEI,GAAET,GAAUA,IAAP,MAAoB,OAAOA,GAAjB,UAAgC,OAAOA,GAAnB,WAAqBW,GAAE,MAAM,QAAQI,GAAEf,GAAGW,GAAEX,CAAC,GAAe,OAAOA,IAAI,OAAO,QAAQ,GAAtC,WAAwCc,GAAE;AAAA,OAAcE,GAAE,sDAAsDG,GAAE,OAAOC,GAAE,KAAKC,EAAE,OAAO,KAAKP,EAAC,qBAAqBA,EAAC,KAAKA,EAAC;AAAA,0BAAsC,GAAG,EAAED,GAAE,KAAKS,GAAE,KAAKC,GAAE,qCAAqCN,GAAEjB,GAAG,CAACO,KAAKL,KAAK,CAAC,WAAWF,EAAE,QAAQO,EAAE,OAAOL,CAAC,GAAGsB,EAAEP,GAAE,CAAC,EAASQ,EAAE,OAAO,IAAI,cAAc,EAAEC,EAAE,OAAO,IAAI,aAAa,EAAEC,GAAE,IAAI,QAAQC,EAAEvB,EAAE,iBAAiBA,EAAE,GAAG,EAAE,SAASwB,GAAE7B,EAAEO,EAAE,CAAC,GAAG,CAAC,MAAM,QAAQP,CAAC,GAAG,CAACA,EAAE,eAAe,KAAK,EAAE,MAAM,MAAM,gCAAgC,EAAE,OAAgBE,KAAT,OAAWA,GAAE,WAAWK,CAAC,EAAEA,CAAC,CAAC,MAAMuB,GAAE,CAAC9B,EAAEO,IAAI,CAAC,MAAML,EAAEF,EAAE,OAAO,EAAEG,EAAE,CAAA,EAAG,IAAIE,EAAEO,EAAML,IAAJ,EAAM,QAAQ,GAAGE,EAAEO,GAAE,QAAQT,EAAE,EAAEA,EAAEL,EAAEK,IAAI,CAAC,MAAML,EAAEF,EAAEO,CAAC,EAAE,IAAII,EAAEI,EAAED,EAAE,GAAGG,EAAE,EAAE,KAAKA,EAAEf,EAAE,SAASO,EAAE,UAAUQ,EAAEF,EAAEN,EAAE,KAAKP,CAAC,EAASa,IAAP,OAAWE,EAAER,EAAE,UAAUA,IAAIO,GAAUD,EAAE,CAAC,IAAX,MAAaN,EAAEU,GAAWJ,EAAE,CAAC,IAAZ,OAAcN,EAAEW,GAAWL,EAAE,CAAC,IAAZ,QAAeQ,GAAE,KAAKR,EAAE,CAAC,CAAC,IAAIV,EAAE,OAAO,KAAKU,EAAE,CAAC,EAAE,GAAG,GAAGN,EAAEY,GAAYN,EAAE,CAAC,IAAZ,SAAgBN,EAAEY,GAAGZ,IAAIY,EAAQN,EAAE,CAAC,IAAT,KAAYN,EAAEJ,GAAGW,GAAEF,EAAE,IAAaC,EAAE,CAAC,IAAZ,OAAcD,EAAE,IAAIA,EAAEL,EAAE,UAAUM,EAAE,CAAC,EAAE,OAAOJ,EAAEI,EAAE,CAAC,EAAEN,EAAWM,EAAE,CAAC,IAAZ,OAAcM,EAAQN,EAAE,CAAC,IAAT,IAAWO,GAAET,IAAGJ,IAAIa,IAAGb,IAAII,GAAEJ,EAAEY,EAAEZ,IAAIU,IAAGV,IAAIW,GAAEX,EAAEO,IAAGP,EAAEY,EAAEhB,EAAE,QAAQ,MAAMmB,EAAEf,IAAIY,GAAGrB,EAAEO,EAAE,CAAC,EAAE,WAAW,IAAI,EAAE,IAAI,GAAGK,GAAGH,IAAIO,GAAEd,EAAEI,GAAEQ,GAAG,GAAGX,EAAE,KAAKQ,CAAC,EAAET,EAAE,MAAM,EAAEY,CAAC,EAAEb,GAAEC,EAAE,MAAMY,CAAC,EAAEJ,EAAEc,GAAGtB,EAAEQ,GAAQI,IAAL,GAAOP,EAAEiB,EAAE,CAAC,MAAM,CAACK,GAAE7B,EAAEY,GAAGZ,EAAEE,CAAC,GAAG,QAAYK,IAAJ,EAAM,SAAS,GAAG,EAAEJ,CAAC,CAAC,EAAE,MAAM4B,EAAC,CAAC,YAAY,CAAC,QAAQ/B,EAAE,WAAWE,CAAC,EAAEI,EAAE,CAAC,IAAID,EAAE,KAAK,MAAM,CAAE,EAAC,IAAII,EAAE,EAAEE,EAAE,EAAE,MAAMI,EAAEf,EAAE,OAAO,EAAEc,EAAE,KAAK,MAAM,CAACE,EAAE,CAAC,EAAEc,GAAE9B,EAAEE,CAAC,EAAE,GAAG,KAAK,GAAG6B,GAAE,cAAcf,EAAEV,CAAC,EAAEsB,EAAE,YAAY,KAAK,GAAG,QAAY1B,IAAJ,EAAM,CAAC,MAAMF,EAAE,KAAK,GAAG,QAAQ,WAAWA,EAAE,YAAY,GAAGA,EAAE,UAAU,CAAC,CAAC,MAAaK,EAAEuB,EAAE,SAAU,KAAtB,MAAyBd,EAAE,OAAOC,GAAG,CAAC,GAAOV,EAAE,WAAN,EAAe,CAAC,GAAGA,EAAE,cAAe,EAAC,UAAUL,KAAKK,EAAE,oBAAoB,GAAGL,EAAE,SAASC,EAAC,EAAE,CAAC,MAAMM,EAAE,EAAEI,GAAG,EAAET,EAAEG,EAAE,aAAaL,CAAC,EAAE,MAAMU,CAAC,EAAET,EAAE,eAAe,KAAKM,CAAC,EAAEO,EAAE,KAAK,CAAC,KAAK,EAAE,MAAML,EAAE,KAAKR,EAAE,CAAC,EAAE,QAAQC,EAAE,KAAWD,EAAE,CAAC,IAAT,IAAW+B,GAAQ/B,EAAE,CAAC,IAAT,IAAWgC,GAAQhC,EAAE,CAAC,IAAT,IAAWiC,GAAEC,EAAC,CAAC,EAAE9B,EAAE,gBAAgBL,CAAC,CAAC,MAAMA,EAAE,WAAWU,CAAC,IAAII,EAAE,KAAK,CAAC,KAAK,EAAE,MAAML,CAAC,CAAC,EAAEJ,EAAE,gBAAgBL,CAAC,GAAG,GAAGuB,GAAE,KAAKlB,EAAE,OAAO,EAAE,CAAC,MAAML,EAAEK,EAAE,YAAY,MAAMK,CAAC,EAAER,EAAEF,EAAE,OAAO,EAAE,GAAGE,EAAE,EAAE,CAACG,EAAE,YAAYE,GAAEA,GAAE,YAAY,GAAG,QAAQA,EAAE,EAAEA,EAAEL,EAAEK,IAAIF,EAAE,OAAOL,EAAEO,CAAC,EAAEK,GAAG,EAAEgB,EAAE,SAAQ,EAAGd,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAEL,CAAC,CAAC,EAAEJ,EAAE,OAAOL,EAAEE,CAAC,EAAEU,EAAC,CAAE,CAAC,CAAC,CAAC,SAAaP,EAAE,WAAN,EAAe,GAAGA,EAAE,OAAOF,GAAEW,EAAE,KAAK,CAAC,KAAK,EAAE,MAAML,CAAC,CAAC,MAAM,CAAC,IAAIT,EAAE,GAAG,MAAWA,EAAEK,EAAE,KAAK,QAAQK,EAAEV,EAAE,CAAC,KAA5B,IAAgCc,EAAE,KAAK,CAAC,KAAK,EAAE,MAAML,CAAC,CAAC,EAAET,GAAGU,EAAE,OAAO,CAAC,CAACD,GAAG,CAAC,CAAC,OAAO,cAAcT,EAAEO,EAAE,CAAC,MAAML,EAAEG,EAAE,cAAc,UAAU,EAAE,OAAOH,EAAE,UAAUF,EAAEE,CAAC,CAAC,CAAC,SAASkC,EAAEpC,EAAEO,EAAEL,EAAEF,EAAEC,EAAE,CAAC,GAAGM,IAAIkB,EAAE,OAAOlB,EAAE,IAAIG,EAAWT,IAAT,OAAWC,EAAE,OAAOD,CAAC,EAAEC,EAAE,KAAK,MAAMC,EAAEM,GAAEF,CAAC,EAAE,OAAOA,EAAE,gBAAgB,OAAOG,GAAG,cAAcP,IAAIO,GAAG,OAAO,EAAE,EAAWP,IAAT,OAAWO,EAAE,QAAQA,EAAE,IAAIP,EAAEH,CAAC,EAAEU,EAAE,KAAKV,EAAEE,EAAED,CAAC,GAAYA,IAAT,QAAYC,EAAE,OAAO,IAAID,CAAC,EAAES,EAAER,EAAE,KAAKQ,GAAYA,IAAT,SAAaH,EAAE6B,EAAEpC,EAAEU,EAAE,KAAKV,EAAEO,EAAE,MAAM,EAAEG,EAAET,CAAC,GAAGM,CAAC,CAAC,MAAMC,EAAC,CAAC,YAAYR,EAAEO,EAAE,CAAC,KAAK,KAAK,CAAE,EAAC,KAAK,KAAK,OAAO,KAAK,KAAKP,EAAE,KAAK,KAAKO,CAAC,CAAC,IAAI,YAAY,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,EAAEP,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQO,CAAC,EAAE,MAAML,CAAC,EAAE,KAAK,KAAKD,GAAGD,GAAG,eAAeK,GAAG,WAAWE,EAAE,EAAE,EAAEqB,EAAE,YAAY3B,EAAE,IAAIS,EAAEkB,EAAE,SAAU,EAACzB,EAAE,EAAEG,EAAE,EAAEM,EAAEV,EAAE,CAAC,EAAE,KAAcU,IAAT,QAAY,CAAC,GAAGT,IAAIS,EAAE,MAAM,CAAC,IAAIL,EAAMK,EAAE,OAAN,EAAWL,EAAE,IAAI8B,GAAE3B,EAAEA,EAAE,YAAY,KAAKV,CAAC,EAAMY,EAAE,OAAN,EAAWL,EAAE,IAAIK,EAAE,KAAKF,EAAEE,EAAE,KAAKA,EAAE,QAAQ,KAAKZ,CAAC,EAAMY,EAAE,OAAN,IAAaL,EAAE,IAAI+B,GAAE5B,EAAE,KAAKV,CAAC,GAAG,KAAK,KAAK,KAAKO,CAAC,EAAEK,EAAEV,EAAE,EAAEI,CAAC,CAAC,CAACH,IAAIS,GAAG,QAAQF,EAAEkB,EAAE,SAAQ,EAAGzB,IAAI,CAAC,OAAOyB,EAAE,YAAYvB,EAAEJ,CAAC,CAAC,EAAED,EAAE,CAAC,IAAIO,EAAE,EAAE,UAAUL,KAAK,KAAK,KAAcA,IAAT,SAAsBA,EAAE,UAAX,QAAoBA,EAAE,KAAKF,EAAEE,EAAEK,CAAC,EAAEA,GAAGL,EAAE,QAAQ,OAAO,GAAGA,EAAE,KAAKF,EAAEO,CAAC,CAAC,GAAGA,GAAG,CAAC,CAAC,MAAM8B,EAAC,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,MAAM,KAAK,IAAI,CAAC,YAAYrC,EAAEO,EAAEL,EAAED,EAAE,CAAC,KAAK,KAAK,EAAE,KAAK,KAAKyB,EAAE,KAAK,KAAK,OAAO,KAAK,KAAK1B,EAAE,KAAK,KAAKO,EAAE,KAAK,KAAKL,EAAE,KAAK,QAAQD,EAAE,KAAK,KAAKA,GAAG,aAAa,EAAE,CAAC,IAAI,YAAY,CAAC,IAAID,EAAE,KAAK,KAAK,WAAW,MAAMO,EAAE,KAAK,KAAK,OAAgBA,IAAT,QAAiBP,GAAG,WAAR,KAAmBA,EAAEO,EAAE,YAAYP,CAAC,CAAC,IAAI,WAAW,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,SAAS,CAAC,OAAO,KAAK,IAAI,CAAC,KAAKA,EAAEO,EAAE,KAAK,CAACP,EAAEoC,EAAE,KAAKpC,EAAEO,CAAC,EAAEE,GAAET,CAAC,EAAEA,IAAI0B,GAAS1B,GAAN,MAAcA,IAAL,IAAQ,KAAK,OAAO0B,GAAG,KAAK,OAAO,KAAK,KAAKA,GAAG1B,IAAI,KAAK,MAAMA,IAAIyB,GAAG,KAAK,EAAEzB,CAAC,EAAWA,EAAE,aAAX,OAAsB,KAAK,EAAEA,CAAC,EAAWA,EAAE,WAAX,OAAoB,KAAK,EAAEA,CAAC,EAAEe,GAAEf,CAAC,EAAE,KAAK,EAAEA,CAAC,EAAE,KAAK,EAAEA,CAAC,CAAC,CAAC,EAAEA,EAAE,CAAC,OAAO,KAAK,KAAK,WAAW,aAAaA,EAAE,KAAK,IAAI,CAAC,CAAC,EAAEA,EAAE,CAAC,KAAK,OAAOA,IAAI,KAAK,KAAM,EAAC,KAAK,KAAK,KAAK,EAAEA,CAAC,EAAE,CAAC,EAAEA,EAAE,CAAC,KAAK,OAAO0B,GAAGjB,GAAE,KAAK,IAAI,EAAE,KAAK,KAAK,YAAY,KAAKT,EAAE,KAAK,EAAEK,EAAE,eAAeL,CAAC,CAAC,EAAE,KAAK,KAAKA,CAAC,CAAC,EAAEA,EAAE,CAAC,KAAK,CAAC,OAAOO,EAAE,WAAWL,CAAC,EAAEF,EAAEC,EAAY,OAAOC,GAAjB,SAAmB,KAAK,KAAKF,CAAC,GAAYE,EAAE,KAAX,SAAgBA,EAAE,GAAG6B,GAAE,cAAcF,GAAE3B,EAAE,EAAEA,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,OAAO,GAAGA,GAAG,GAAG,KAAK,MAAM,OAAOD,EAAE,KAAK,KAAK,EAAEM,CAAC,MAAM,CAAC,MAAMP,EAAE,IAAIQ,GAAEP,EAAE,IAAI,EAAEC,EAAEF,EAAE,EAAE,KAAK,OAAO,EAAEA,EAAE,EAAEO,CAAC,EAAE,KAAK,EAAEL,CAAC,EAAE,KAAK,KAAKF,CAAC,CAAC,CAAC,KAAKA,EAAE,CAAC,IAAIO,EAAEoB,GAAE,IAAI3B,EAAE,OAAO,EAAE,OAAgBO,IAAT,QAAYoB,GAAE,IAAI3B,EAAE,QAAQO,EAAE,IAAIwB,GAAE/B,CAAC,CAAC,EAAEO,CAAC,CAAC,EAAEP,EAAE,CAACW,GAAE,KAAK,IAAI,IAAI,KAAK,KAAK,CAAE,EAAC,KAAK,KAAI,GAAI,MAAMJ,EAAE,KAAK,KAAK,IAAIL,EAAED,EAAE,EAAE,UAAUS,KAAKV,EAAEC,IAAIM,EAAE,OAAOA,EAAE,KAAKL,EAAE,IAAImC,GAAE,KAAK,EAAEzB,EAAG,CAAA,EAAE,KAAK,EAAEA,EAAC,CAAE,EAAE,KAAK,KAAK,OAAO,CAAC,EAAEV,EAAEK,EAAEN,CAAC,EAAEC,EAAE,KAAKQ,CAAC,EAAET,IAAIA,EAAEM,EAAE,SAAS,KAAK,KAAKL,GAAGA,EAAE,KAAK,YAAYD,CAAC,EAAEM,EAAE,OAAON,EAAE,CAAC,KAAKD,EAAE,KAAK,KAAK,YAAYO,EAAE,CAAC,IAAI,KAAK,OAAO,GAAG,GAAGA,CAAC,EAAEP,GAAGA,IAAI,KAAK,MAAM,CAAC,MAAM,EAAEA,EAAE,YAAYA,EAAE,OAAM,EAAGA,EAAE,CAAC,CAAC,CAAC,aAAaA,EAAE,CAAU,KAAK,OAAd,SAAqB,KAAK,KAAKA,EAAE,KAAK,OAAOA,CAAC,EAAE,CAAC,CAAC,MAAMmC,EAAC,CAAC,IAAI,SAAS,CAAC,OAAO,KAAK,QAAQ,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,YAAYnC,EAAEO,EAAEL,EAAED,EAAES,EAAE,CAAC,KAAK,KAAK,EAAE,KAAK,KAAKgB,EAAE,KAAK,KAAK,OAAO,KAAK,QAAQ1B,EAAE,KAAK,KAAKO,EAAE,KAAK,KAAKN,EAAE,KAAK,QAAQS,EAAER,EAAE,OAAO,GAAQA,EAAE,CAAC,IAAR,IAAgBA,EAAE,CAAC,IAAR,IAAW,KAAK,KAAK,MAAMA,EAAE,OAAO,CAAC,EAAE,KAAK,IAAI,MAAM,EAAE,KAAK,QAAQA,GAAG,KAAK,KAAKwB,CAAC,CAAC,KAAK1B,EAAEO,EAAE,KAAKL,EAAED,EAAE,CAAC,MAAMS,EAAE,KAAK,QAAQ,IAAIP,EAAE,GAAG,GAAYO,IAAT,OAAWV,EAAEoC,EAAE,KAAKpC,EAAEO,EAAE,CAAC,EAAEJ,EAAE,CAACM,GAAET,CAAC,GAAGA,IAAI,KAAK,MAAMA,IAAIyB,EAAEtB,IAAI,KAAK,KAAKH,OAAO,CAAC,MAAMC,EAAED,EAAE,IAAIM,EAAED,EAAE,IAAIL,EAAEU,EAAE,CAAC,EAAEJ,EAAE,EAAEA,EAAEI,EAAE,OAAO,EAAEJ,IAAID,EAAE+B,EAAE,KAAKnC,EAAEC,EAAEI,CAAC,EAAEC,EAAED,CAAC,EAAED,IAAIoB,IAAIpB,EAAE,KAAK,KAAKC,CAAC,GAAGH,IAAI,CAACM,GAAEJ,CAAC,GAAGA,IAAI,KAAK,KAAKC,CAAC,EAAED,IAAIqB,EAAE1B,EAAE0B,EAAE1B,IAAI0B,IAAI1B,IAAIK,GAAG,IAAIK,EAAEJ,EAAE,CAAC,GAAG,KAAK,KAAKA,CAAC,EAAED,CAAC,CAACF,GAAG,CAACF,GAAG,KAAK,EAAED,CAAC,CAAC,CAAC,EAAEA,EAAE,CAACA,IAAI0B,EAAE,KAAK,QAAQ,gBAAgB,KAAK,IAAI,EAAE,KAAK,QAAQ,aAAa,KAAK,KAAK1B,GAAG,EAAE,CAAC,CAAC,CAAC,MAAMgC,WAAUG,EAAC,CAAC,aAAa,CAAC,MAAM,GAAG,SAAS,EAAE,KAAK,KAAK,CAAC,CAAC,EAAEnC,EAAE,CAAC,KAAK,QAAQ,KAAK,IAAI,EAAEA,IAAI0B,EAAE,OAAO1B,CAAC,CAAC,CAAC,MAAMiC,WAAUE,EAAC,CAAC,aAAa,CAAC,MAAM,GAAG,SAAS,EAAE,KAAK,KAAK,CAAC,CAAC,EAAEnC,EAAE,CAAC,KAAK,QAAQ,gBAAgB,KAAK,KAAK,CAAC,CAACA,GAAGA,IAAI0B,CAAC,CAAC,CAAC,CAAC,MAAMQ,WAAUC,EAAC,CAAC,YAAYnC,EAAEO,EAAEL,EAAED,EAAES,EAAE,CAAC,MAAMV,EAAEO,EAAEL,EAAED,EAAES,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,KAAKV,EAAEO,EAAE,KAAK,CAAC,IAAIP,EAAEoC,EAAE,KAAKpC,EAAEO,EAAE,CAAC,GAAGmB,KAAKD,EAAE,OAAO,MAAMvB,EAAE,KAAK,KAAKD,EAAED,IAAI0B,GAAGxB,IAAIwB,GAAG1B,EAAE,UAAUE,EAAE,SAASF,EAAE,OAAOE,EAAE,MAAMF,EAAE,UAAUE,EAAE,QAAQQ,EAAEV,IAAI0B,IAAIxB,IAAIwB,GAAGzB,GAAGA,GAAG,KAAK,QAAQ,oBAAoB,KAAK,KAAK,KAAKC,CAAC,EAAEQ,GAAG,KAAK,QAAQ,iBAAiB,KAAK,KAAK,KAAKV,CAAC,EAAE,KAAK,KAAKA,CAAC,CAAC,YAAYA,EAAE,CAAa,OAAO,KAAK,MAAxB,WAA6B,KAAK,KAAK,KAAK,KAAK,SAAS,MAAM,KAAK,QAAQA,CAAC,EAAE,KAAK,KAAK,YAAYA,CAAC,CAAC,CAAC,CAAC,MAAMsC,EAAC,CAAC,YAAYtC,EAAEO,EAAEL,EAAE,CAAC,KAAK,QAAQF,EAAE,KAAK,KAAK,EAAE,KAAK,KAAK,OAAO,KAAK,KAAKO,EAAE,KAAK,QAAQL,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,KAAKF,EAAE,CAACoC,EAAE,KAAKpC,CAAC,CAAC,CAAC,CAAM,MAA6DuC,GAAEvC,GAAE,uBAAuBuC,KAAIR,GAAEM,EAAC,GAAGrC,GAAE,kBAAkB,CAAE,GAAE,KAAK,OAAO,EAAE,MAAMwC,GAAE,CAACxC,EAAEO,EAAEL,IAAI,CAAC,MAAMD,EAAEC,GAAG,cAAcK,EAAE,IAAIG,EAAET,EAAE,WAAW,GAAYS,IAAT,OAAW,CAAC,MAAMV,EAAEE,GAAG,cAAc,KAAKD,EAAE,WAAWS,EAAE,IAAI2B,GAAE9B,EAAE,aAAaK,IAAIZ,CAAC,EAAEA,EAAE,OAAOE,GAAG,CAAA,CAAE,CAAC,CAAC,OAAOQ,EAAE,KAAKV,CAAC,EAAEU,CAAC,ECJt4N;AAAA;AAAA;AAAA;AAAA,GAIG,IAAA+B,EAAA,cAAgBzC,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,SAAS,EAAE,KAAK,cAAc,CAAC,KAAK,IAAI,EAAE,KAAK,KAAK,MAAM,CAAC,kBAAkB,CAAC,MAAMA,EAAE,MAAM,iBAAkB,EAAC,OAAO,KAAK,cAAc,eAAeA,EAAE,WAAWA,CAAC,CAAC,OAAOA,EAAE,CAAC,MAAMO,EAAE,KAAK,OAAQ,EAAC,KAAK,aAAa,KAAK,cAAc,YAAY,KAAK,aAAa,MAAM,OAAOP,CAAC,EAAE,KAAK,KAAKC,GAAEM,EAAE,KAAK,WAAW,KAAK,aAAa,CAAC,CAAC,mBAAmB,CAAC,MAAM,oBAAoB,KAAK,MAAM,aAAa,EAAE,CAAC,CAAC,sBAAsB,CAAC,MAAM,qBAAoB,EAAG,KAAK,MAAM,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAOA,CAAC,CAAC,EAACL,EAAE,cAAc,GAAGA,EAAe,UAAc,GAAG,WAAW,2BAA2B,CAAC,WAAWA,CAAC,CAAC,EAAE,MAAMG,GAAE,WAAW,0BAA0BA,KAAI,CAAC,WAAWH,CAAC,CAAC,GAAwD,WAAW,qBAAqB,IAAI,KAAK,OAAO,ECLrzB;AAAA;AAAA;AAAA;AAAA,GAKA,MAAMF,EAAEA,GAAG,CAAC,EAAEG,IAAI,CAAUA,IAAT,OAAWA,EAAE,eAAgB,IAAI,CAAC,eAAe,OAAOH,EAAE,CAAC,CAAC,CAAC,EAAG,eAAe,OAAOA,EAAE,CAAC,CAAC,ECJ7G;AAAA;AAAA;AAAA;AAAA,GAIG,MAAMG,GAAE,CAAC,UAAU,GAAG,KAAK,OAAO,UAAUH,GAAE,QAAQ,GAAG,WAAWC,EAAC,EAAEI,GAAE,CAACL,EAAEG,GAAE,EAAEE,IAAI,CAAC,KAAK,CAAC,KAAKC,EAAE,SAASC,CAAC,EAAEF,EAAE,IAAI,EAAE,WAAW,oBAAoB,IAAIE,CAAC,EAAE,GAAY,IAAT,QAAY,WAAW,oBAAoB,IAAIA,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,IAAIF,EAAE,KAAKL,CAAC,EAAeM,IAAb,WAAe,CAAC,KAAK,CAAC,KAAKH,CAAC,EAAEE,EAAE,MAAM,CAAC,IAAIA,EAAE,CAAC,MAAMC,EAAE,EAAE,IAAI,KAAK,IAAI,EAAE,EAAE,IAAI,KAAK,KAAKD,CAAC,EAAE,KAAK,cAAcF,EAAEG,EAAEN,CAAC,CAAC,EAAE,KAAKC,EAAE,CAAC,OAAgBA,IAAT,QAAY,KAAK,EAAEE,EAAE,OAAOH,CAAC,EAAEC,CAAC,CAAC,CAAC,CAAC,GAAcK,IAAX,SAAa,CAAC,KAAK,CAAC,KAAKH,CAAC,EAAEE,EAAE,OAAO,SAASA,EAAE,CAAC,MAAMC,EAAE,KAAKH,CAAC,EAAE,EAAE,KAAK,KAAKE,CAAC,EAAE,KAAK,cAAcF,EAAEG,EAAEN,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,mCAAmCM,CAAC,CAAC,EAAE,SAASA,EAAEN,EAAE,CAAC,MAAM,CAAC,EAAEG,IAAc,OAAOA,GAAjB,SAAmBE,GAAEL,EAAE,EAAEG,CAAC,GAAG,CAACH,EAAEC,EAAEE,IAAI,CAAC,MAAME,EAAEJ,EAAE,eAAeE,CAAC,EAAE,OAAOF,EAAE,YAAY,eAAeE,EAAEE,EAAE,CAAC,GAAGL,EAAE,QAAQ,EAAE,EAAEA,CAAC,EAAEK,EAAE,OAAO,yBAAyBJ,EAAEE,CAAC,EAAE,MAAM,GAAGH,EAAE,EAAEG,CAAC,CAAC,CCJvwB;AAAA;AAAA;AAAA;AAAA,GAIG,SAASE,EAAE,EAAE,CAAC,OAAOL,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,EAAE,CAAC,CAAC,CCLvD;AAAA;AAAA;AAAA;AAAA,GAKA,MAAMC,GAAE,CAACA,EAAED,EAAES,KAAKA,EAAE,aAAa,GAAGA,EAAE,WAAW,GAAG,QAAQ,UAAoB,OAAOT,GAAjB,UAAoB,OAAO,eAAeC,EAAED,EAAES,CAAC,EAAEA,GCJvH;AAAA;AAAA;AAAA;AAAA,GAIG,SAASR,GAAEA,EAAEI,EAAE,CAAC,MAAM,CAACC,EAAEJ,EAAEK,IAAI,CAAC,MAAMJ,EAAEH,GAAGA,EAAE,YAAY,cAAcC,CAAC,GAAG,KAAK,GAAGI,EAAE,CAAC,KAAK,CAAC,IAAIJ,EAAE,IAAII,CAAC,EAAY,OAAOH,GAAjB,SAAmBI,EAAEC,IAAI,IAAI,CAAC,MAAMP,EAAE,OAAM,EAAG,MAAM,CAAC,KAAK,CAAC,OAAO,KAAKA,CAAC,CAAC,EAAE,IAAIC,EAAE,CAAC,KAAKD,CAAC,EAAEC,CAAC,CAAC,CAAC,GAAC,EAAI,OAAOD,GAAEM,EAAEJ,EAAE,CAAC,KAAK,CAAC,IAAIF,EAAEC,EAAE,KAAK,IAAI,EAAE,OAAgBD,IAAT,SAAaA,EAAEG,EAAE,IAAI,GAAUH,IAAP,MAAU,KAAK,aAAaK,EAAE,KAAK,KAAKL,CAAC,GAAGA,CAAC,CAAC,CAAC,CAAC,CAAC,OAAOA,GAAEM,EAAEJ,EAAE,CAAC,KAAK,CAAC,OAAOC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CCJ5W;AAAA;AAAA;AAAA;AAAA,GAIG,SAASA,GAAEA,EAAE,CAAC,MAAM,CAAC,EAAEG,IAAI,CAAC,KAAK,CAAC,KAAKD,EAAE,SAASH,CAAC,EAAEC,GAAG,CAAA,EAAGM,EAAE,QAAQJ,EAAE,SAASA,CAAC,IAAI,gBAAgB,OAAOL,GAAE,EAAEM,EAAE,CAAC,KAAK,CAAC,MAAMN,EAAE,KAAK,YAAY,cAAcS,CAAC,EAAER,EAAED,GAAG,iBAAiBG,CAAC,GAAG,CAAA,EAAG,OAAgBD,IAAT,OAAWD,EAAEA,EAAE,OAAQD,GAAGA,EAAE,QAAQE,CAAC,CAAG,CAAA,CAAC,CAAC,CAAC,CAAC,CCJtP;AAAA;AAAA;AAAA;AAAA,GAIG,MAAMC,GAAEA,GAAGA,GAAGH,ECJjB;AAAA;AAAA;AAAA;AAAA,GAIO,MAASO,GAAEJ,GAAUA,IAAP,MAAoB,OAAOA,GAAjB,UAAgC,OAAOA,GAAnB,WAAwLa,GAAEb,GAAYA,EAAE,UAAX,OCLhP;AAAA;AAAA;AAAA;AAAA,GAKA,MAAMH,GAAE,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAEC,GAAED,GAAG,IAAI,KAAK,CAAC,gBAAgBA,EAAE,OAAO,CAAC,GAAG,IAAA0C,GAAA,KAAO,CAAC,YAAY1C,EAAE,CAAE,CAAA,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,KAAKA,EAAEC,EAAE,EAAE,CAAC,KAAK,KAAKD,EAAE,KAAK,KAAKC,EAAE,KAAK,KAAK,CAAC,CAAC,KAAKD,EAAEC,EAAE,CAAC,OAAO,KAAK,OAAOD,EAAEC,CAAC,CAAC,CAAC,OAAOD,EAAEC,EAAE,CAAC,OAAO,KAAK,OAAO,GAAGA,CAAC,CAAC,CAAC,ECJ3S;AAAA;AAAA;AAAA;AAAA,GAIG,MAAMC,GAAE,CAACK,EAAEP,IAAI,CAAC,MAAMC,EAAEM,EAAE,KAAK,GAAYN,IAAT,OAAW,MAAM,GAAG,UAAU,KAAKA,EAAE,EAAE,OAAOD,EAAE,EAAE,EAAEE,GAAE,EAAEF,CAAC,EAAE,MAAM,EAAE,EAAEG,GAAEI,GAAG,CAAC,IAAIP,EAAEC,EAAE,EAAE,CAAC,IAAaD,EAAEO,EAAE,QAAd,OAAoB,MAAMN,EAAED,EAAE,KAAKC,EAAE,OAAOM,CAAC,EAAEA,EAAEP,CAAC,OAAWC,GAAG,OAAP,EAAY,EAAEI,GAAEE,GAAG,CAAC,QAAQP,EAAEA,EAAEO,EAAE,KAAKA,EAAEP,EAAE,CAAC,IAAIC,EAAED,EAAE,KAAK,GAAYC,IAAT,OAAWD,EAAE,KAAKC,EAAE,IAAI,YAAYA,EAAE,IAAIM,CAAC,EAAE,MAAMN,EAAE,IAAIM,CAAC,EAAEE,GAAET,CAAC,CAAC,CAAC,EAAE,SAASU,GAAEH,EAAE,CAAU,KAAK,OAAd,QAAoBJ,GAAE,IAAI,EAAE,KAAK,KAAKI,EAAEF,GAAE,IAAI,GAAG,KAAK,KAAKE,CAAC,CAAC,SAASD,GAAEC,EAAEP,EAAE,GAAGC,EAAE,EAAE,CAAC,MAAMI,EAAE,KAAK,KAAKK,EAAE,KAAK,KAAK,GAAYA,IAAT,QAAgBA,EAAE,OAAN,EAAW,GAAGV,EAAE,GAAG,MAAM,QAAQK,CAAC,EAAE,QAAQE,EAAEN,EAAEM,EAAEF,EAAE,OAAOE,IAAIL,GAAEG,EAAEE,CAAC,EAAE,EAAE,EAAEJ,GAAEE,EAAEE,CAAC,CAAC,OAAaF,GAAN,OAAUH,GAAEG,EAAE,EAAE,EAAEF,GAAEE,CAAC,QAAQH,GAAE,KAAKK,CAAC,CAAC,CAAC,MAAME,GAAEF,GAAG,CAACA,EAAE,MAAMN,GAAE,QAAQM,EAAE,OAAOD,GAAEC,EAAE,OAAOG,GAAE,EAAE,MAAMM,WAAUhB,EAAC,CAAC,aAAa,CAAC,MAAM,GAAG,SAAS,EAAE,KAAK,KAAK,MAAM,CAAC,KAAKO,EAAE,EAAEN,EAAE,CAAC,MAAM,KAAKM,EAAE,EAAEN,CAAC,EAAEI,GAAE,IAAI,EAAE,KAAK,YAAYE,EAAE,IAAI,CAAC,KAAKA,EAAE,EAAE,GAAG,CAACA,IAAI,KAAK,cAAc,KAAK,YAAYA,EAAEA,EAAE,KAAK,cAAW,EAAK,KAAK,eAAgB,GAAE,IAAIL,GAAE,KAAKK,CAAC,EAAEJ,GAAE,IAAI,EAAE,CAAC,SAASH,EAAE,CAAC,GAAGO,GAAE,KAAK,IAAI,EAAE,KAAK,KAAK,KAAKP,EAAE,IAAI,MAAM,CAAC,MAAMO,EAAE,CAAC,GAAG,KAAK,KAAK,IAAI,EAAEA,EAAE,KAAK,IAAI,EAAEP,EAAE,KAAK,KAAK,KAAKO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAE,CAAA,aAAa,CAAE,CAAA,CCLphC;AAAA;AAAA;AAAA;AAAA,GAKuE,MAAML,EAAC,CAAC,YAAYF,EAAE,CAAC,KAAK,EAAEA,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,UAAUA,EAAE,CAAC,KAAK,EAAEA,CAAC,CAAC,OAAO,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,MAAMO,EAAC,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,QAASP,GAAG,KAAK,EAAEA,CAAC,CAAE,CAAC,QAAQ,CAAC,KAAK,MAAM,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CCJ1U;AAAA;AAAA;AAAA;AAAA,GAIG,MAAMM,GAAEN,GAAG,CAACE,GAAEF,CAAC,GAAe,OAAOA,EAAE,MAArB,WAA0BU,GAAE,WAAW,MAAMD,WAAUF,EAAC,CAAC,aAAa,CAAC,MAAM,GAAG,SAAS,EAAE,KAAK,MAAMG,GAAE,KAAK,MAAM,CAAA,EAAG,KAAK,KAAK,IAAIT,GAAE,IAAI,EAAE,KAAK,KAAK,IAAII,EAAC,CAAC,UAAUH,EAAE,CAAC,OAAOA,EAAE,KAAM,GAAG,CAACI,GAAE,CAAC,CAAC,GAAIN,CAAC,CAAC,OAAOE,EAAEK,EAAE,CAAC,MAAMN,EAAE,KAAK,MAAM,IAAII,EAAEJ,EAAE,OAAO,KAAK,MAAMM,EAAE,MAAMJ,EAAE,KAAK,KAAKM,EAAE,KAAK,KAAK,KAAK,aAAa,KAAK,aAAc,EAAC,QAAQT,EAAE,EAAEA,EAAEO,EAAE,QAAQ,EAAEP,EAAE,KAAK,OAAOA,IAAI,CAAC,MAAME,EAAEK,EAAEP,CAAC,EAAE,GAAG,CAACM,GAAEJ,CAAC,EAAE,OAAO,KAAK,MAAMF,EAAEE,EAAEF,EAAEK,GAAGH,IAAID,EAAED,CAAC,IAAI,KAAK,MAAMU,GAAEL,EAAE,EAAE,QAAQ,QAAQH,CAAC,EAAE,KAAM,MAAMF,GAAG,CAAC,KAAKS,EAAE,IAAG,GAAI,MAAMA,EAAE,IAAG,EAAG,MAAMF,EAAEJ,EAAE,QAAQ,GAAYI,IAAT,OAAW,CAAC,MAAMN,EAAEM,EAAE,MAAM,QAAQL,CAAC,EAAED,EAAE,IAAIA,EAAEM,EAAE,QAAQA,EAAE,MAAMN,EAAEM,EAAE,SAASP,CAAC,EAAE,CAAC,GAAI,CAAC,OAAOA,CAAC,CAAC,cAAc,CAAC,KAAK,KAAK,WAAY,EAAC,KAAK,KAAK,OAAO,CAAC,aAAa,CAAC,KAAK,KAAK,UAAU,IAAI,EAAE,KAAK,KAAK,OAAQ,CAAA,CAAC,CAAC,MAAMqB,EAAElB,GAAEM,EAAC,ECWvwB,IAAIkC,GAAgB,SAAS7B,EAAGI,EAAG,CACjC,OAAAyB,GAAgB,OAAO,gBAClB,CAAE,UAAW,CAAA,aAAgB,OAAS,SAAU7B,EAAGI,EAAG,CAAEJ,EAAE,UAAYI,CAAE,GACzE,SAAUJ,EAAGI,EAAG,CAAE,QAASL,KAAKK,EAAO,OAAO,UAAU,eAAe,KAAKA,EAAGL,CAAC,IAAGC,EAAED,CAAC,EAAIK,EAAEL,CAAC,IAC1F8B,GAAc7B,EAAGI,CAAC,CAC3B,EAEO,SAAS0B,GAAU9B,EAAGI,EAAG,CAC9B,GAAI,OAAOA,GAAM,YAAcA,IAAM,KACjC,MAAM,IAAI,UAAU,uBAAyB,OAAOA,CAAC,EAAI,+BAA+B,EAC5FyB,GAAc7B,EAAGI,CAAC,EAClB,SAAS2B,GAAK,CAAE,KAAK,YAAc/B,CAAI,CACvCA,EAAE,UAAYI,IAAM,KAAO,OAAO,OAAOA,CAAC,GAAK2B,EAAG,UAAY3B,EAAE,UAAW,IAAI2B,EACjF,CA2IO,SAASC,GAAS3C,EAAG,CAC1B,IAAID,EAAI,OAAO,QAAW,YAAc,OAAO,SAAUmB,EAAInB,GAAKC,EAAED,CAAC,EAAG,EAAI,EAC5E,GAAImB,EAAG,OAAOA,EAAE,KAAKlB,CAAC,EACtB,GAAIA,GAAK,OAAOA,EAAE,QAAW,SAAU,MAAO,CAC1C,KAAM,UAAY,CACd,OAAIA,GAAK,GAAKA,EAAE,SAAQA,EAAI,QACrB,CAAE,MAAOA,GAAKA,EAAE,GAAG,EAAG,KAAM,CAACA,EACvC,CACP,EACE,MAAM,IAAI,UAAUD,EAAI,0BAA4B,iCAAiC,CACvF,CAEO,SAAS6C,GAAO5C,EAAGG,EAAG,CAC3B,IAAIe,EAAI,OAAO,QAAW,YAAclB,EAAE,OAAO,QAAQ,EACzD,GAAI,CAACkB,EAAG,OAAOlB,EACf,IAAI,EAAIkB,EAAE,KAAKlB,CAAC,EAAGE,EAAG2C,EAAK,CAAE,EAAE/C,EAC/B,GAAI,CACA,MAAQK,IAAM,QAAUA,KAAM,IAAM,EAAED,EAAI,EAAE,KAAM,GAAE,MAAM2C,EAAG,KAAK3C,EAAE,KAAK,CAC5E,OACM4C,EAAO,CAAEhD,EAAI,CAAE,MAAOgD,CAAO,CAAG,QAC/B,CACJ,GAAI,CACI5C,GAAK,CAACA,EAAE,OAASgB,EAAI,EAAE,SAAYA,EAAE,KAAK,CAAC,CAClD,QACO,CAAE,GAAIpB,EAAG,MAAMA,EAAE,KAAQ,CACpC,CACD,OAAO+C,CACT,CAkBO,SAASE,GAAcC,EAAIC,EAAMC,EAAM,CAC5C,GAAIA,GAAQ,UAAU,SAAW,EAAG,QAAS,EAAI,EAAGzC,EAAIwC,EAAK,OAAQJ,EAAI,EAAIpC,EAAG,KACxEoC,GAAM,EAAE,KAAKI,MACRJ,IAAIA,EAAK,MAAM,UAAU,MAAM,KAAKI,EAAM,EAAG,CAAC,GACnDJ,EAAG,CAAC,EAAII,EAAK,CAAC,GAGtB,OAAOD,EAAG,OAAOH,GAAM,MAAM,UAAU,MAAM,KAAKI,CAAI,CAAC,CACzD,CA8FuB,OAAO,iBAAoB,YAAa,gBC3TxD,SAASE,EAAWC,EAAO,CAC9B,OAAO,OAAOA,GAAU,UAC5B,CCFO,SAASC,GAAiBC,EAAY,CACzC,IAAIC,EAAS,SAAUC,EAAU,CAC7B,MAAM,KAAKA,CAAQ,EACnBA,EAAS,MAAQ,IAAI,MAAK,EAAG,KACrC,EACQC,EAAWH,EAAWC,CAAM,EAChC,OAAAE,EAAS,UAAY,OAAO,OAAO,MAAM,SAAS,EAClDA,EAAS,UAAU,YAAcA,EAC1BA,CACX,CCRO,IAAIC,GAAsBL,GAAiB,SAAUE,EAAQ,CAChE,OAAO,SAAiCI,EAAQ,CAC5CJ,EAAO,IAAI,EACX,KAAK,QAAUI,EACTA,EAAO,OAAS;AAAA,EAA8CA,EAAO,IAAI,SAAUC,EAAKxD,EAAG,CAAE,OAAOA,EAAI,EAAI,KAAOwD,EAAI,SAAU,EAAG,EAAE,KAAK;AAAA,GAAM,EACjJ,GACN,KAAK,KAAO,sBACZ,KAAK,OAASD,CACtB,CACA,CAAC,ECVM,SAASE,GAAUC,EAAKC,EAAM,CACjC,GAAID,EAAK,CACL,IAAIE,EAAQF,EAAI,QAAQC,CAAI,EAC5B,GAAKC,GAASF,EAAI,OAAOE,EAAO,CAAC,CACpC,CACL,CCDA,IAAIC,GAAgB,UAAY,CAC5B,SAASA,EAAaC,EAAiB,CACnC,KAAK,gBAAkBA,EACvB,KAAK,OAAS,GACd,KAAK,WAAa,KAClB,KAAK,YAAc,IACtB,CACD,OAAAD,EAAa,UAAU,YAAc,UAAY,CAC7C,IAAIE,EAAKC,EAAIC,EAAKC,EACdX,EACJ,GAAI,CAAC,KAAK,OAAQ,CACd,KAAK,OAAS,GACd,IAAIY,EAAa,KAAK,WACtB,GAAIA,EAEA,GADA,KAAK,WAAa,KACd,MAAM,QAAQA,CAAU,EACxB,GAAI,CACA,QAASC,EAAe7B,GAAS4B,CAAU,EAAGE,EAAiBD,EAAa,KAAI,EAAI,CAACC,EAAe,KAAMA,EAAiBD,EAAa,KAAI,EAAI,CAC5I,IAAIE,EAAWD,EAAe,MAC9BC,EAAS,OAAO,IAAI,CACvB,CACJ,OACMC,EAAO,CAAER,EAAM,CAAE,MAAOQ,CAAO,CAAG,QACjC,CACJ,GAAI,CACIF,GAAkB,CAACA,EAAe,OAASL,EAAKI,EAAa,SAASJ,EAAG,KAAKI,CAAY,CACjG,QACO,CAAE,GAAIL,EAAK,MAAMA,EAAI,KAAQ,CACxC,MAGDI,EAAW,OAAO,IAAI,EAG9B,IAAIK,EAAmB,KAAK,gBAC5B,GAAIzB,EAAWyB,CAAgB,EAC3B,GAAI,CACAA,GACH,OACM9E,EAAG,CACN6D,EAAS7D,aAAa4D,GAAsB5D,EAAE,OAAS,CAACA,CAAC,CAC5D,CAEL,IAAI+E,EAAc,KAAK,YACvB,GAAIA,EAAa,CACb,KAAK,YAAc,KACnB,GAAI,CACA,QAASC,EAAgBnC,GAASkC,CAAW,EAAGE,EAAkBD,EAAc,KAAI,EAAI,CAACC,EAAgB,KAAMA,EAAkBD,EAAc,KAAI,EAAI,CACnJ,IAAIE,EAAYD,EAAgB,MAChC,GAAI,CACAE,GAAcD,CAAS,CAC1B,OACMpB,EAAK,CACRD,EAASA,GAAgD,GACrDC,aAAeF,GACfC,EAASZ,GAAcA,GAAc,CAAA,EAAIH,GAAOe,CAAM,CAAC,EAAGf,GAAOgB,EAAI,MAAM,CAAC,EAG5ED,EAAO,KAAKC,CAAG,CAEtB,CACJ,CACJ,OACMsB,EAAO,CAAEb,EAAM,CAAE,MAAOa,CAAO,CAAG,QACjC,CACJ,GAAI,CACIH,GAAmB,CAACA,EAAgB,OAAST,EAAKQ,EAAc,SAASR,EAAG,KAAKQ,CAAa,CACrG,QACO,CAAE,GAAIT,EAAK,MAAMA,EAAI,KAAQ,CACxC,CACJ,CACD,GAAIV,EACA,MAAM,IAAID,GAAoBC,CAAM,CAE3C,CACT,EACIM,EAAa,UAAU,IAAM,SAAUkB,EAAU,CAC7C,IAAIf,EACJ,GAAIe,GAAYA,IAAa,KACzB,GAAI,KAAK,OACLF,GAAcE,CAAQ,MAErB,CACD,GAAIA,aAAoBlB,EAAc,CAClC,GAAIkB,EAAS,QAAUA,EAAS,WAAW,IAAI,EAC3C,OAEJA,EAAS,WAAW,IAAI,CAC3B,EACA,KAAK,aAAef,EAAK,KAAK,eAAiB,MAAQA,IAAO,OAASA,EAAK,CAAE,GAAE,KAAKe,CAAQ,CACjG,CAEb,EACIlB,EAAa,UAAU,WAAa,SAAUmB,EAAQ,CAClD,IAAIb,EAAa,KAAK,WACtB,OAAOA,IAAea,GAAW,MAAM,QAAQb,CAAU,GAAKA,EAAW,SAASa,CAAM,CAChG,EACInB,EAAa,UAAU,WAAa,SAAUmB,EAAQ,CAClD,IAAIb,EAAa,KAAK,WACtB,KAAK,WAAa,MAAM,QAAQA,CAAU,GAAKA,EAAW,KAAKa,CAAM,EAAGb,GAAcA,EAAa,CAACA,EAAYa,CAAM,EAAIA,CAClI,EACInB,EAAa,UAAU,cAAgB,SAAUmB,EAAQ,CACrD,IAAIb,EAAa,KAAK,WAClBA,IAAea,EACf,KAAK,WAAa,KAEb,MAAM,QAAQb,CAAU,GAC7BV,GAAUU,EAAYa,CAAM,CAExC,EACInB,EAAa,UAAU,OAAS,SAAUkB,EAAU,CAChD,IAAIN,EAAc,KAAK,YACvBA,GAAehB,GAAUgB,EAAaM,CAAQ,EAC1CA,aAAoBlB,GACpBkB,EAAS,cAAc,IAAI,CAEvC,EACIlB,EAAa,MAAS,UAAY,CAC9B,IAAIoB,EAAQ,IAAIpB,EAChB,OAAAoB,EAAM,OAAS,GACRA,CACf,IACWpB,CACX,EAAC,EAEUqB,GAAqBrB,GAAa,MACtC,SAASsB,GAAenC,EAAO,CAClC,OAAQA,aAAiBa,IACpBb,GAAS,WAAYA,GAASD,EAAWC,EAAM,MAAM,GAAKD,EAAWC,EAAM,GAAG,GAAKD,EAAWC,EAAM,WAAW,CACxH,CACA,SAAS6B,GAAcD,EAAW,CAC1B7B,EAAW6B,CAAS,EACpBA,IAGAA,EAAU,YAAW,CAE7B,CC7IO,IAAIQ,GAAS,CAChB,iBAAkB,KAClB,sBAAuB,KACvB,QAAS,OACT,sCAAuC,GACvC,yBAA0B,EAC9B,ECLWC,GAAkB,CACzB,WAAY,SAAUC,EAASC,EAAS,CAEpC,QADIC,EAAO,CAAA,EACFC,EAAK,EAAGA,EAAK,UAAU,OAAQA,IACpCD,EAAKC,EAAK,CAAC,EAAI,UAAUA,CAAE,EAM/B,OAAO,WAAW,MAAM,OAAQ9C,GAAc,CAAC2C,EAASC,CAAO,EAAG/C,GAAOgD,CAAI,CAAC,CAAC,CAClF,EACD,aAAc,SAAUE,EAAQ,CAC5B,IAAIC,EAAWN,GAAgB,SAC/B,OAA6DM,GAAS,cAAiB,cAAcD,CAAM,CAC9G,EACD,SAAU,MACd,EChBO,SAASE,GAAqBpC,EAAK,CACtC6B,GAAgB,WAAW,UAAY,CAM/B,MAAM7B,CAElB,CAAK,CACL,CCZO,SAASqC,IAAO,CAAA,CCEhB,SAASC,GAAaC,EAAI,CAgBzBA,GAER,CCXA,IAAIC,GAAc,SAAU7C,EAAQ,CAChCd,GAAU2D,EAAY7C,CAAM,EAC5B,SAAS6C,EAAWC,EAAa,CAC7B,IAAIC,EAAQ/C,EAAO,KAAK,IAAI,GAAK,KACjC,OAAA+C,EAAM,UAAY,GACdD,GACAC,EAAM,YAAcD,EAChBd,GAAec,CAAW,GAC1BA,EAAY,IAAIC,CAAK,GAIzBA,EAAM,YAAcC,GAEjBD,CACV,CACD,OAAAF,EAAW,OAAS,SAAUI,EAAM1D,EAAO2D,EAAU,CACjD,OAAO,IAAIC,GAAeF,EAAM1D,EAAO2D,CAAQ,CACvD,EACIL,EAAW,UAAU,KAAO,SAAUhD,EAAO,CACrC,KAAK,WAIL,KAAK,MAAMA,CAAK,CAE5B,EACIgD,EAAW,UAAU,MAAQ,SAAUxC,EAAK,CACpC,KAAK,YAIL,KAAK,UAAY,GACjB,KAAK,OAAOA,CAAG,EAE3B,EACIwC,EAAW,UAAU,SAAW,UAAY,CACpC,KAAK,YAIL,KAAK,UAAY,GACjB,KAAK,UAAS,EAE1B,EACIA,EAAW,UAAU,YAAc,UAAY,CACtC,KAAK,SACN,KAAK,UAAY,GACjB7C,EAAO,UAAU,YAAY,KAAK,IAAI,EACtC,KAAK,YAAc,KAE/B,EACI6C,EAAW,UAAU,MAAQ,SAAUhD,EAAO,CAC1C,KAAK,YAAY,KAAKA,CAAK,CACnC,EACIgD,EAAW,UAAU,OAAS,SAAUxC,EAAK,CACzC,GAAI,CACA,KAAK,YAAY,MAAMA,CAAG,CAC7B,QACO,CACJ,KAAK,YAAW,CACnB,CACT,EACIwC,EAAW,UAAU,UAAY,UAAY,CACzC,GAAI,CACA,KAAK,YAAY,UACpB,QACO,CACJ,KAAK,YAAW,CACnB,CACT,EACWA,CACX,EAAEnC,EAAY,EAEV0C,GAAQ,SAAS,UAAU,KAC/B,SAASC,GAAKC,EAAIC,EAAS,CACvB,OAAOH,GAAM,KAAKE,EAAIC,CAAO,CACjC,CACA,IAAIC,GAAoB,UAAY,CAChC,SAASA,EAAiBC,EAAiB,CACvC,KAAK,gBAAkBA,CAC1B,CACD,OAAAD,EAAiB,UAAU,KAAO,SAAU3D,EAAO,CAC/C,IAAI4D,EAAkB,KAAK,gBAC3B,GAAIA,EAAgB,KAChB,GAAI,CACAA,EAAgB,KAAK5D,CAAK,CAC7B,OACMN,EAAO,CACVmE,GAAqBnE,CAAK,CAC7B,CAEb,EACIiE,EAAiB,UAAU,MAAQ,SAAUnD,EAAK,CAC9C,IAAIoD,EAAkB,KAAK,gBAC3B,GAAIA,EAAgB,MAChB,GAAI,CACAA,EAAgB,MAAMpD,CAAG,CAC5B,OACMd,EAAO,CACVmE,GAAqBnE,CAAK,CAC7B,MAGDmE,GAAqBrD,CAAG,CAEpC,EACImD,EAAiB,UAAU,SAAW,UAAY,CAC9C,IAAIC,EAAkB,KAAK,gBAC3B,GAAIA,EAAgB,SAChB,GAAI,CACAA,EAAgB,SAAQ,CAC3B,OACMlE,EAAO,CACVmE,GAAqBnE,CAAK,CAC7B,CAEb,EACWiE,CACX,EAAC,EACGL,GAAkB,SAAUnD,EAAQ,CACpCd,GAAUiE,EAAgBnD,CAAM,EAChC,SAASmD,EAAeQ,EAAgBpE,EAAO2D,EAAU,CACrD,IAAIH,EAAQ/C,EAAO,KAAK,IAAI,GAAK,KAC7ByD,EACJ,GAAI7D,EAAW+D,CAAc,GAAK,CAACA,EAC/BF,EAAkB,CACd,KAAOE,GAAwE,OAC/E,MAAOpE,GAA6C,OACpD,SAAU2D,GAAsD,MAChF,MAEa,CACD,IAAIU,EACAb,GAASd,GAAO,0BAChB2B,EAAY,OAAO,OAAOD,CAAc,EACxCC,EAAU,YAAc,UAAY,CAAE,OAAOb,EAAM,YAAa,GAChEU,EAAkB,CACd,KAAME,EAAe,MAAQN,GAAKM,EAAe,KAAMC,CAAS,EAChE,MAAOD,EAAe,OAASN,GAAKM,EAAe,MAAOC,CAAS,EACnE,SAAUD,EAAe,UAAYN,GAAKM,EAAe,SAAUC,CAAS,CAChG,GAGgBH,EAAkBE,CAEzB,CACD,OAAAZ,EAAM,YAAc,IAAIS,GAAiBC,CAAe,EACjDV,CACV,CACD,OAAOI,CACX,EAAEN,EAAU,EAEZ,SAASa,GAAqBnE,EAAO,CAK7BkD,GAAqBlD,CAAK,CAElC,CACA,SAASsE,GAAoBxD,EAAK,CAC9B,MAAMA,CACV,CAKO,IAAI2C,GAAiB,CACxB,OAAQ,GACR,KAAMN,GACN,MAAOmB,GACP,SAAUnB,EACd,ECtLWoB,GAAc,UAAY,CAAE,OAAQ,OAAO,QAAW,YAAc,OAAO,YAAe,gBAAoB,ECAlH,SAASC,GAASjG,EAAG,CACxB,OAAOA,CACX,CCMO,SAASkG,GAAcC,EAAK,CAC/B,OAAIA,EAAI,SAAW,EACRF,GAEPE,EAAI,SAAW,EACRA,EAAI,CAAC,EAET,SAAeC,EAAO,CACzB,OAAOD,EAAI,OAAO,SAAUE,EAAMb,EAAI,CAAE,OAAOA,EAAGa,CAAI,CAAI,EAAED,CAAK,CACzE,CACA,CCXA,IAAIE,GAAc,UAAY,CAC1B,SAASA,EAAWC,EAAW,CACvBA,IACA,KAAK,WAAaA,EAEzB,CACD,OAAAD,EAAW,UAAU,KAAO,SAAUE,EAAU,CAC5C,IAAIR,EAAa,IAAIM,EACrB,OAAAN,EAAW,OAAS,KACpBA,EAAW,SAAWQ,EACfR,CACf,EACIM,EAAW,UAAU,UAAY,SAAUT,EAAgBpE,EAAO2D,EAAU,CACxE,IAAIH,EAAQ,KACRwB,EAAaC,GAAab,CAAc,EAAIA,EAAiB,IAAIR,GAAeQ,EAAgBpE,EAAO2D,CAAQ,EACnH,OAAAP,GAAa,UAAY,CACrB,IAAI9B,EAAKkC,EAAOuB,EAAWzD,EAAG,SAAU4D,EAAS5D,EAAG,OACpD0D,EAAW,IAAID,EAEPA,EAAS,KAAKC,EAAYE,CAAM,EAClCA,EAEM1B,EAAM,WAAWwB,CAAU,EAE3BxB,EAAM,cAAcwB,CAAU,CAAC,CACvD,CAAS,EACMA,CACf,EACIH,EAAW,UAAU,cAAgB,SAAUM,EAAM,CACjD,GAAI,CACA,OAAO,KAAK,WAAWA,CAAI,CAC9B,OACMrE,EAAK,CACRqE,EAAK,MAAMrE,CAAG,CACjB,CACT,EACI+D,EAAW,UAAU,QAAU,SAAUnB,EAAM0B,EAAa,CACxD,IAAI5B,EAAQ,KACZ,OAAA4B,EAAcC,GAAeD,CAAW,EACjC,IAAIA,EAAY,SAAUE,EAASC,EAAQ,CAC9C,IAAIP,EAAa,IAAIpB,GAAe,CAChC,KAAM,SAAUtD,EAAO,CACnB,GAAI,CACAoD,EAAKpD,CAAK,CACb,OACMQ,EAAK,CACRyE,EAAOzE,CAAG,EACVkE,EAAW,YAAW,CACzB,CACJ,EACD,MAAOO,EACP,SAAUD,CAC1B,CAAa,EACD9B,EAAM,UAAUwB,CAAU,CACtC,CAAS,CACT,EACIH,EAAW,UAAU,WAAa,SAAUG,EAAY,CACpD,IAAI1D,EACJ,OAAQA,EAAK,KAAK,UAAY,MAAQA,IAAO,OAAS,OAASA,EAAG,UAAU0D,CAAU,CAC9F,EACIH,EAAW,UAAUW,EAAiB,EAAI,UAAY,CAClD,OAAO,IACf,EACIX,EAAW,UAAU,KAAO,UAAY,CAEpC,QADIY,EAAa,CAAA,EACR1C,EAAK,EAAGA,EAAK,UAAU,OAAQA,IACpC0C,EAAW1C,CAAE,EAAI,UAAUA,CAAE,EAEjC,OAAO0B,GAAcgB,CAAU,EAAE,IAAI,CAC7C,EACIZ,EAAW,UAAU,UAAY,SAAUO,EAAa,CACpD,IAAI5B,EAAQ,KACZ,OAAA4B,EAAcC,GAAeD,CAAW,EACjC,IAAIA,EAAY,SAAUE,EAASC,EAAQ,CAC9C,IAAIjF,EACJkD,EAAM,UAAU,SAAUjF,EAAG,CAAE,OAAQ+B,EAAQ/B,CAAK,EAAE,SAAUuC,EAAK,CAAE,OAAOyE,EAAOzE,CAAG,GAAM,UAAY,CAAE,OAAOwE,EAAQhF,CAAK,CAAE,CAAE,CAChJ,CAAS,CACT,EACIuE,EAAW,OAAS,SAAUC,EAAW,CACrC,OAAO,IAAID,EAAWC,CAAS,CACvC,EACWD,CACX,EAAC,EAED,SAASQ,GAAeD,EAAa,CACjC,IAAI9D,EACJ,OAAQA,EAAK8D,GAA+D1C,GAAO,WAAa,MAAQpB,IAAO,OAASA,EAAK,OACjI,CACA,SAASoE,GAAWpF,EAAO,CACvB,OAAOA,GAASD,EAAWC,EAAM,IAAI,GAAKD,EAAWC,EAAM,KAAK,GAAKD,EAAWC,EAAM,QAAQ,CAClG,CACA,SAAS2E,GAAa3E,EAAO,CACzB,OAAQA,GAASA,aAAiBgD,IAAgBoC,GAAWpF,CAAK,GAAKmC,GAAenC,CAAK,CAC/F,CCnGO,IAAIqF,GAA0BpF,GAAiB,SAAUE,EAAQ,CACpE,OAAO,UAAuC,CAC1CA,EAAO,IAAI,EACX,KAAK,KAAO,0BACZ,KAAK,QAAU,qBACvB,CACA,CAAC,ECDGmF,GAAW,SAAUnF,EAAQ,CAC7Bd,GAAUiG,EAASnF,CAAM,EACzB,SAASmF,GAAU,CACf,IAAIpC,EAAQ/C,EAAO,KAAK,IAAI,GAAK,KACjC,OAAA+C,EAAM,OAAS,GACfA,EAAM,iBAAmB,KACzBA,EAAM,UAAY,GAClBA,EAAM,UAAY,GAClBA,EAAM,SAAW,GACjBA,EAAM,YAAc,KACbA,CACV,CACD,OAAAoC,EAAQ,UAAU,KAAO,SAAUb,EAAU,CACzC,IAAIc,EAAU,IAAIC,GAAiB,KAAM,IAAI,EAC7C,OAAAD,EAAQ,SAAWd,EACZc,CACf,EACID,EAAQ,UAAU,eAAiB,UAAY,CAC3C,GAAI,KAAK,OACL,MAAM,IAAID,EAEtB,EACIC,EAAQ,UAAU,KAAO,SAAUtF,EAAO,CACtC,IAAIkD,EAAQ,KACZJ,GAAa,UAAY,CACrB,IAAI/B,EAAKC,EAET,GADAkC,EAAM,eAAc,EAChB,CAACA,EAAM,UAAW,CACbA,EAAM,mBACPA,EAAM,iBAAmB,MAAM,KAAKA,EAAM,SAAS,GAEvD,GAAI,CACA,QAAShC,EAAK3B,GAAS2D,EAAM,gBAAgB,EAAGuC,EAAKvE,EAAG,KAAM,EAAE,CAACuE,EAAG,KAAMA,EAAKvE,EAAG,OAAQ,CACtF,IAAIwE,EAAWD,EAAG,MAClBC,EAAS,KAAK1F,CAAK,CACtB,CACJ,OACMuB,EAAO,CAAER,EAAM,CAAE,MAAOQ,CAAO,CAAG,QACjC,CACJ,GAAI,CACIkE,GAAM,CAACA,EAAG,OAASzE,EAAKE,EAAG,SAASF,EAAG,KAAKE,CAAE,CACrD,QACO,CAAE,GAAIH,EAAK,MAAMA,EAAI,KAAQ,CACxC,CACJ,CACb,CAAS,CACT,EACIuE,EAAQ,UAAU,MAAQ,SAAU9E,EAAK,CACrC,IAAI0C,EAAQ,KACZJ,GAAa,UAAY,CAErB,GADAI,EAAM,eAAc,EAChB,CAACA,EAAM,UAAW,CAClBA,EAAM,SAAWA,EAAM,UAAY,GACnCA,EAAM,YAAc1C,EAEpB,QADImF,EAAYzC,EAAM,UACfyC,EAAU,QACbA,EAAU,MAAK,EAAG,MAAMnF,CAAG,CAElC,CACb,CAAS,CACT,EACI8E,EAAQ,UAAU,SAAW,UAAY,CACrC,IAAIpC,EAAQ,KACZJ,GAAa,UAAY,CAErB,GADAI,EAAM,eAAc,EAChB,CAACA,EAAM,UAAW,CAClBA,EAAM,UAAY,GAElB,QADIyC,EAAYzC,EAAM,UACfyC,EAAU,QACbA,EAAU,QAAQ,UAEzB,CACb,CAAS,CACT,EACIL,EAAQ,UAAU,YAAc,UAAY,CACxC,KAAK,UAAY,KAAK,OAAS,GAC/B,KAAK,UAAY,KAAK,iBAAmB,IACjD,EACI,OAAO,eAAeA,EAAQ,UAAW,WAAY,CACjD,IAAK,UAAY,CACb,IAAItE,EACJ,QAASA,EAAK,KAAK,aAAe,MAAQA,IAAO,OAAS,OAASA,EAAG,QAAU,CACnF,EACD,WAAY,GACZ,aAAc,EACtB,CAAK,EACDsE,EAAQ,UAAU,cAAgB,SAAUZ,EAAY,CACpD,YAAK,eAAc,EACZvE,EAAO,UAAU,cAAc,KAAK,KAAMuE,CAAU,CACnE,EACIY,EAAQ,UAAU,WAAa,SAAUZ,EAAY,CACjD,YAAK,eAAc,EACnB,KAAK,wBAAwBA,CAAU,EAChC,KAAK,gBAAgBA,CAAU,CAC9C,EACIY,EAAQ,UAAU,gBAAkB,SAAUZ,EAAY,CACtD,IAAIxB,EAAQ,KACRlC,EAAK,KAAM4E,EAAW5E,EAAG,SAAU6E,EAAY7E,EAAG,UAAW2E,EAAY3E,EAAG,UAChF,OAAI4E,GAAYC,EACL3D,IAEX,KAAK,iBAAmB,KACxByD,EAAU,KAAKjB,CAAU,EAClB,IAAI7D,GAAa,UAAY,CAChCqC,EAAM,iBAAmB,KACzBzC,GAAUkF,EAAWjB,CAAU,CAC3C,CAAS,EACT,EACIY,EAAQ,UAAU,wBAA0B,SAAUZ,EAAY,CAC9D,IAAI1D,EAAK,KAAM4E,EAAW5E,EAAG,SAAU8E,EAAc9E,EAAG,YAAa6E,EAAY7E,EAAG,UAChF4E,EACAlB,EAAW,MAAMoB,CAAW,EAEvBD,GACLnB,EAAW,SAAQ,CAE/B,EACIY,EAAQ,UAAU,aAAe,UAAY,CACzC,IAAIrB,EAAa,IAAIM,GACrB,OAAAN,EAAW,OAAS,KACbA,CACf,EACIqB,EAAQ,OAAS,SAAUrC,EAAa2B,EAAQ,CAC5C,OAAO,IAAIY,GAAiBvC,EAAa2B,CAAM,CACvD,EACWU,CACX,EAAEf,EAAU,EAERiB,GAAoB,SAAUrF,EAAQ,CACtCd,GAAUmG,EAAkBrF,CAAM,EAClC,SAASqF,EAAiBvC,EAAa2B,EAAQ,CAC3C,IAAI1B,EAAQ/C,EAAO,KAAK,IAAI,GAAK,KACjC,OAAA+C,EAAM,YAAcD,EACpBC,EAAM,OAAS0B,EACR1B,CACV,CACD,OAAAsC,EAAiB,UAAU,KAAO,SAAUxF,EAAO,CAC/C,IAAIgB,EAAIE,GACPA,GAAMF,EAAK,KAAK,eAAiB,MAAQA,IAAO,OAAS,OAASA,EAAG,QAAU,MAAQE,IAAO,QAAkBA,EAAG,KAAKF,EAAIhB,CAAK,CAC1I,EACIwF,EAAiB,UAAU,MAAQ,SAAUhF,EAAK,CAC9C,IAAIQ,EAAIE,GACPA,GAAMF,EAAK,KAAK,eAAiB,MAAQA,IAAO,OAAS,OAASA,EAAG,SAAW,MAAQE,IAAO,QAAkBA,EAAG,KAAKF,EAAIR,CAAG,CACzI,EACIgF,EAAiB,UAAU,SAAW,UAAY,CAC9C,IAAIxE,EAAIE,GACPA,GAAMF,EAAK,KAAK,eAAiB,MAAQA,IAAO,OAAS,OAASA,EAAG,YAAc,MAAQE,IAAO,QAAkBA,EAAG,KAAKF,CAAE,CACvI,EACIwE,EAAiB,UAAU,WAAa,SAAUd,EAAY,CAC1D,IAAI1D,EAAIE,EACR,OAAQA,GAAMF,EAAK,KAAK,UAAY,MAAQA,IAAO,OAAS,OAASA,EAAG,UAAU0D,CAAU,KAAO,MAAQxD,IAAO,OAASA,EAAKgB,EACxI,EACWsD,CACX,EAAEF,EAAO,EC/JES,GAAwB,CAC/B,IAAK,UAAY,CACb,OAAQA,GAAsB,UAAY,MAAM,IAAG,CACtD,EACD,SAAU,MACd,ECFIC,GAAiB,SAAU7F,EAAQ,CACnCd,GAAU2G,EAAe7F,CAAM,EAC/B,SAAS6F,EAAcC,EAAaC,EAAaC,EAAoB,CAC7DF,IAAgB,SAAUA,EAAc,KACxCC,IAAgB,SAAUA,EAAc,KACxCC,IAAuB,SAAUA,EAAqBJ,IAC1D,IAAI7C,EAAQ/C,EAAO,KAAK,IAAI,GAAK,KACjC,OAAA+C,EAAM,YAAc+C,EACpB/C,EAAM,YAAcgD,EACpBhD,EAAM,mBAAqBiD,EAC3BjD,EAAM,QAAU,GAChBA,EAAM,oBAAsB,GAC5BA,EAAM,oBAAsBgD,IAAgB,IAC5ChD,EAAM,YAAc,KAAK,IAAI,EAAG+C,CAAW,EAC3C/C,EAAM,YAAc,KAAK,IAAI,EAAGgD,CAAW,EACpChD,CACV,CACD,OAAA8C,EAAc,UAAU,KAAO,SAAUhG,EAAO,CAC5C,IAAIgB,EAAK,KAAM6E,EAAY7E,EAAG,UAAWoF,EAAUpF,EAAG,QAASqF,EAAsBrF,EAAG,oBAAqBmF,EAAqBnF,EAAG,mBAAoBkF,EAAclF,EAAG,YACrK6E,IACDO,EAAQ,KAAKpG,CAAK,EAClB,CAACqG,GAAuBD,EAAQ,KAAKD,EAAmB,IAAG,EAAKD,CAAW,GAE/E,KAAK,YAAW,EAChB/F,EAAO,UAAU,KAAK,KAAK,KAAMH,CAAK,CAC9C,EACIgG,EAAc,UAAU,WAAa,SAAUtB,EAAY,CACvD,KAAK,eAAc,EACnB,KAAK,YAAW,EAIhB,QAHI4B,EAAe,KAAK,gBAAgB5B,CAAU,EAC9C1D,EAAK,KAAMqF,EAAsBrF,EAAG,oBAAqBoF,EAAUpF,EAAG,QACtEuF,EAAOH,EAAQ,QACVpJ,EAAI,EAAGA,EAAIuJ,EAAK,QAAU,CAAC7B,EAAW,OAAQ1H,GAAKqJ,EAAsB,EAAI,EAClF3B,EAAW,KAAK6B,EAAKvJ,CAAC,CAAC,EAE3B,YAAK,wBAAwB0H,CAAU,EAChC4B,CACf,EACIN,EAAc,UAAU,YAAc,UAAY,CAC9C,IAAIhF,EAAK,KAAMiF,EAAcjF,EAAG,YAAamF,EAAqBnF,EAAG,mBAAoBoF,EAAUpF,EAAG,QAASqF,EAAsBrF,EAAG,oBACpIwF,GAAsBH,EAAsB,EAAI,GAAKJ,EAEzD,GADAA,EAAc,KAAYO,EAAqBJ,EAAQ,QAAUA,EAAQ,OAAO,EAAGA,EAAQ,OAASI,CAAkB,EAClH,CAACH,EAAqB,CAGtB,QAFII,EAAMN,EAAmB,MACzBO,EAAO,EACF1J,EAAI,EAAGA,EAAIoJ,EAAQ,QAAUA,EAAQpJ,CAAC,GAAKyJ,EAAKzJ,GAAK,EAC1D0J,EAAO1J,EAEX0J,GAAQN,EAAQ,OAAO,EAAGM,EAAO,CAAC,CACrC,CACT,EACWV,CACX,EAAEV,EAAO,ECtDEqB,GAAa1G,GAAiB,SAAUE,EAAQ,CAAE,OAAO,UAA0B,CAC1FA,EAAO,IAAI,EACX,KAAK,KAAO,aACZ,KAAK,QAAU,yBACnB,EAAI,ECHG,SAASyG,GAAehC,EAAQxC,EAAQ,CAC3C,IAAIyE,EAAY,OAAOzE,GAAW,SAClC,OAAO,IAAI,QAAQ,SAAU4C,EAASC,EAAQ,CAC1C,IAAIP,EAAa,IAAIpB,GAAe,CAChC,KAAM,SAAUtD,EAAO,CACnBgF,EAAQhF,CAAK,EACb0E,EAAW,YAAW,CACzB,EACD,MAAOO,EACP,SAAU,UAAY,CACd4B,EACA7B,EAAQ5C,EAAO,YAAY,EAG3B6C,EAAO,IAAI0B,EAAY,CAE9B,CACb,CAAS,EACD/B,EAAO,UAAUF,CAAU,CACnC,CAAK,CACL,CCpBA,MAAMoC,EAAuB,CACzBC,GAAQ,GACCC,GAAe,gBACxBC,GAAmB,IAAIjB,GAAmC,CAAC,EAE3D,KAAMkB,IAAyC,CAC3C,GAAI,KAAKH,GACL,OAGJ,KAAKA,GAAQ,GAEb,MAAMI,EAAW,MAAM,MAAM,KAAKH,EAAY,EAE1C,GAAA,CAACG,EAAS,GACJ,MAAA,IAAI,MAAM,wCAAwCA,EAAS,MAAM,IAAIA,EAAS,UAAU,EAAE,EAK9F,MAAAC,EAAY,MAAMD,EAAS,OAC3BE,MAAsB,IAC5B,SAAW,CAACC,EAAgBC,CAAU,IAAK,OAAO,QAAQH,CAAS,EAC/D,SAAW,CAACI,EAAKxH,CAAK,IAAK,OAAO,QAAQuH,CAAoC,EAC1EF,EAAgB,IAAI,GAAGC,CAAc,IAAIE,CAAG,GAAIxH,CAAK,EAIxD,KAAAiH,GAAiB,KAAKI,CAAe,CAC9C,CAUA,MAAM,SAASG,EAAaC,EAAgBC,EAAoC,CAC5E,OAAO,KAAK,QAAQF,EAAKC,EAAQC,CAAQ,CAC7C,CAQA,MAAM,aAAaC,EAAmC,CAClD,KAAKT,GAAwB,EAC7B,MAAMG,EAAkB,MAAMT,GAAe,KAAKK,EAAgB,EAC3D,OAAAU,EAAK,IAAKH,GAAQH,EAAgB,IAAIG,CAAG,GAAKA,GAAO,EAAE,CAClE,CAOA,aAAaI,EAAcH,EAAgB,CACvC,GAAIA,EACA,QAAS,EAAI,EAAG,EAAIA,EAAO,OAAQ,IAC/BG,EAAOA,EAAK,QAAQ,IAAM,EAAI,IAAKH,EAAO,CAAC,CAAC,EAI7C,OAAAG,CACX,CAEA,MAAc,QAAQC,EAAeJ,EAAgBK,EAAwB,CACzE,KAAKZ,GAAwB,EAC7B,MAAMK,EAAa,MAAMX,GAAe,KAAKK,EAAgB,EAGzDY,GAASA,EAAM,CAAC,IAAM,MACdA,EAAAA,EAAM,UAAU,CAAC,GAGzB,IAAAE,EAAkBF,EAAM,QAAQ,GAAG,EAGnCA,GAASE,EAAkB,IAC3BF,EAAQ,WAAaA,GAGnB,MAAAG,EAAaT,EAAW,IAAIM,CAAK,EAEvC,OAAIG,EACO,KAAK,aAAaA,EAAYP,CAAM,EAG3CK,GAIG,IAAID,CAAK,GACpB,CACJ,CAEa,MAAAI,EAAyB,IAAInB,GC7FnC,MAAMoB,EAAkB,CACpBC,GAAW,iDAEpB,MAAa,MAAMC,EAAiD,CAC9D,GAAA,CACF,MAAMC,EAAU,IAAI,QAAQ,KAAKF,GAAU,CACzC,OAAQ,OACR,KAAM,KAAK,UAAU,CACnB,SAAUC,EAAK,SACf,SAAUA,EAAK,SACf,WAAYA,EAAK,OAAA,CAClB,EACD,QAAS,CACP,eAAgB,kBAClB,CAAA,CACD,EACKjB,EAAW,MAAM,MAAMkB,CAAO,EAEpC,IAAIC,EAEA,GAAA,CACI,MAAAV,EAAO,MAAMT,EAAS,OACxBS,IACFU,EAAe,KAAK,MAAM,KAAKC,GAA6BX,CAAI,CAAC,EACnE,MACM,CACR,CAEO,MAAA,CACL,OAAQT,EAAS,OACjB,MAAOA,EAAS,GAAK,OAAY,MAAM,KAAKqB,GAAcrB,CAAQ,EAClE,KAAMmB,EACN,cAAeA,GAAc,aAAA,QAExB5I,EAAO,CACP,MAAA,CACL,OAAQ,IACR,MAAOA,aAAiB,MAAQA,EAAM,QAAU,eAAA,CAEpD,CACF,CAEA,MAAa,cAAc+I,EAA+C,CAClE,MAAAJ,EAAU,IAAI,QAAQ,gEAAiE,CAC3F,OAAQ,OACR,KAAM,KAAK,UAAU,CACnB,MAAAI,CAAA,CACD,EACD,QAAS,CACP,eAAgB,kBAClB,CAAA,CACD,EACKtB,EAAW,MAAM,MAAMkB,CAAO,EAE7B,MAAA,CACL,OAAQlB,EAAS,OACjB,MAAOA,EAAS,GAAK,OAAY,MAAM,KAAKqB,GAAcrB,CAAQ,CAAA,CAEtE,CAEA,MAAa,0BAA0BuB,EAAcC,EAA0D,CACvG,MAAAN,EAAU,IAAI,QAAQ,iEAAkE,CAC5F,OAAQ,OACR,KAAM,KAAK,UAAU,CACnB,OAAQK,EACR,UAAWC,CAAA,CACZ,EACD,QAAS,CACP,eAAgB,kBAClB,CAAA,CACD,EACKxB,EAAW,MAAM,MAAMkB,CAAO,EAE7B,MAAA,CACL,OAAQlB,EAAS,OACjB,MAAOA,EAAS,GAAK,OAAY,MAAM,KAAKqB,GAAcrB,CAAQ,CAAA,CAEtE,CAEA,MAAa,YAAYyB,EAAkBC,EAAmBC,EAAwC,CAC9F,MAAAT,EAAU,IAAI,QAAQ,uDAAwD,CAClF,OAAQ,OACR,KAAM,KAAK,UAAU,CACnB,SAAAO,EACA,UAAAC,EACA,OAAAC,CAAA,CACD,EACD,QAAS,CACP,eAAgB,kBAClB,CAAA,CACD,EACK3B,EAAW,MAAM,MAAMkB,CAAO,EAE7B,MAAA,CACL,OAAQlB,EAAS,OACjB,MAAOA,EAAS,GAAK,OAAY,MAAM,KAAKqB,GAAcrB,CAAQ,CAAA,CAEtE,CAEA,MAAa,uBAAuB4B,EAA6C,CACzE,MAAAV,EAAU,IAAI,QAAQ,kEAAmE,CAC7F,OAAQ,OACR,KAAM,KAAK,UAAU,CACnB,YAAAU,CAAA,CACD,EACD,QAAS,CACP,eAAgB,kBAClB,CAAA,CACD,EACK5B,EAAW,MAAM,MAAMkB,CAAO,EAE7B,MAAA,CACL,OAAQlB,EAAS,OACjB,MAAOA,EAAS,GAAK,OAAY,MAAM,KAAKqB,GAAcrB,CAAQ,CAAA,CAEtE,CAEA,MAAa,kBAAkB2B,EAA8B,CAE3D,MAAMT,EAAU,IAAI,QAAQ,iEAAiES,CAAM,GAAI,CACrG,OAAQ,MACR,QAAS,CACP,eAAgB,kBAClB,CAAA,CACD,EACK3B,EAAW,MAAM,MAAMkB,CAAO,EAGpC,GAAIlB,EAAS,GAAI,CACX,IAAAS,EAAO,MAAMT,EAAS,OACnBS,EAAA,KAAKW,GAA6BX,CAAI,EACvC,MAAAQ,EAAO,KAAK,MAAMR,CAAI,EAErB,MAAA,CACL,OAAQT,EAAS,OACjB,KAAAiB,CAAA,CAEJ,CAEO,MAAA,CACL,OAAQjB,EAAS,OACjB,MAAOA,EAAS,GAAK,OAAY,KAAKqB,GAAcrB,CAAQ,CAAA,CAEhE,CAEA,MAAa,gBAA+B,CAEpC,MAAAkB,EAAU,IAAI,QAAQ,6DAA8D,CACxF,OAAQ,MACR,QAAS,CACP,eAAgB,kBAClB,CAAA,CACD,EACKlB,EAAW,MAAM,MAAMkB,CAAO,EAGpC,GAAIlB,EAAS,GAAI,CACX,IAAAS,EAAO,MAAMT,EAAS,OACnBS,EAAA,KAAKW,GAA6BX,CAAI,EACvC,MAAAc,EAAO,KAAK,MAAMd,CAAI,EAErB,MAAA,CACL,OAAQT,EAAS,OACjB,KAAAuB,CAAA,CAEJ,CAEO,MAAA,CACL,OAAQvB,EAAS,OACjB,MAAO,KAAKqB,GAAcrB,CAAQ,CAAA,CAEtC,CAEA,MAAa,iBAAiD,CACtD,MAAAkB,EAAU,IAAI,QAAQ,uDAAwD,CAClF,OAAQ,MACR,QAAS,CACP,eAAgB,kBAClB,CAAA,CACD,EACKlB,EAAW,MAAM,MAAMkB,CAAO,EAGpC,GAAIlB,EAAS,GAAI,CACX,IAAAS,EAAO,MAAMT,EAAS,OACnBS,EAAA,KAAKW,GAA6BX,CAAI,EACvC,MAAAoB,EAAY,KAAK,MAAMpB,CAAI,EAE1B,MAAA,CACL,OAAQT,EAAS,OACjB,UAAA6B,CAAA,CAEJ,CAEO,MAAA,CACL,OAAQ7B,EAAS,OACjB,MAAO,MAAM,KAAKqB,GAAcrB,CAAQ,EACxC,UAAW,CAAC,CAAA,CAEhB,CAEA,MAAa,gBAAgBwB,EAAcM,EAA0C,CAC7E,MAAAZ,EAAU,IAAI,QAAQ,yDAA0D,CACpF,OAAQ,OACR,KAAM,KAAK,UAAU,CACnB,KAAAM,EACA,SAAAM,CAAA,CACD,EACD,QAAS,CACP,eAAgB,kBAClB,CAAA,CACD,EAEK9B,EAAW,MAAM,MAAMkB,CAAO,EAEhC,IAAAT,EAAO,MAAMT,EAAS,OACnBS,EAAA,KAAKW,GAA6BX,CAAI,EAEvC,MAAAQ,EAAO,KAAK,MAAMR,CAAI,EAE5B,OAAIT,EAAS,GACJ,CACL,KAAAiB,EACA,OAAQjB,EAAS,MAAA,EAId,CACL,OAAQA,EAAS,OACjB,MAAOiB,EAAK,SAAW,4BAAA,CAE3B,CAEA,KAAMI,GAAcrB,EAAqC,CACvD,OAAQA,EAAS,OAAQ,CACvB,IAAK,KACL,IAAK,KACH,OAAOc,EAAuB,SAC5B,wBACA,OACA,4EAAA,EAGJ,IAAK,KACH,OAAOA,EAAuB,SAC5B,gBACA,OACA,yEAAA,EAGJ,IAAK,KACH,OAAOA,EAAuB,SAC5B,iCACA,OACA,4BAAA,EAGJ,QAEI,OAAAd,EAAS,YACR,MAAMc,EAAuB,SAC5B,iCACA,OACA,4BAAA,CAGR,CACF,CAKAM,GAA6BX,EAAc,CACrC,OAAAA,EAAK,WAAW;AAAA,CAAS,IAC3BA,EAAOA,EAAK,MAAM;AAAA,CAAI,EAAE,CAAC,GAGpBA,CACT,CACF,CCrRO,MAAMsB,EAA0C,CAAhD,aAAA,CACL,KAAS,qBAAuB,GACZ,KAAA,kBAAA,GAEpB,KAAAC,GAAkB,IAAIjB,GAER,KAAAkB,GAAA,EAAA,CAFdD,GAEAC,GAEA,IAAI,WAAWpJ,EAAe,CAC5B,KAAKoJ,GAAcpJ,CACrB,CASA,IAAI,YAAqB,CACvB,MAAMqJ,EAAS,IAAI,gBAAgB,OAAO,SAAS,MAAM,EACrD,IAAAC,EAAaD,EAAO,IAAI,WAAW,GAAKA,EAAO,IAAI,YAAY,GAAK,KAAKD,GAS7E,GALIE,EAAW,QAAQ,iCAAiC,IAAM,KAC5DA,EAAa,mBAAmBA,CAAU,GAIxC,CAACA,EACI,MAAA,GAIT,MAAMC,EAAM,IAAI,IAAID,EAAY,OAAO,SAAS,MAAM,EAEtD,OAAIC,EAAI,SAAW,OAAO,SAAS,OAC1B,GAGFA,EAAI,UACb,CAEA,MAAM,MAAMnB,EAAiD,CACpD,OAAA,KAAKe,GAAgB,MAAMf,CAAI,CACxC,CAEA,MAAM,cAAcoB,EAAkD,CAC7D,OAAA,KAAKL,GAAgB,cAAcK,CAAQ,CACpD,CAEA,MAAM,0BAA0BV,EAAgBD,EAA+D,CAC7G,OAAO,KAAKM,GAAgB,0BAA0BL,EAAQD,CAAS,CACzE,CAEA,MAAM,YAAYD,EAAkBC,EAAmBC,EAA8C,CAC7F,MAAAW,EAAiB,OAAO,SAASX,CAAM,EAC7C,OAAO,KAAKK,GAAgB,YAAYP,EAAUC,EAAWY,CAAc,CAC7E,CAEA,MAAM,uBAAuBb,EAAgD,CACpE,OAAA,KAAKO,GAAgB,uBAAuBP,CAAQ,CAC7D,CAEA,MAAM,kBAAkBE,EAA8B,CAC7C,OAAA,KAAKK,GAAgB,kBAAkBL,CAAM,CACtD,CAEA,MAAM,gBAA+B,CAC5B,OAAA,KAAKK,GAAgB,gBAC9B,CAEA,iBAAiD,CACxC,OAAA,KAAKA,GAAgB,iBAC9B,CAEA,gBAAgBR,EAAcM,EAA0C,CACtE,OAAO,KAAKE,GAAgB,gBAAgBR,EAAMM,CAAQ,CAC5D,CACF,CAEa,MAAAS,EAAiB,IAAIR,65CC7FlCS,GAAAC,GAWA,MAAMC,GAAeC,GAQf,CACE,MAAAzF,EAAQ,SAAS,cAAc,OAAO,EAC5C,OAAAA,EAAM,KAAOyF,EAAK,KAClBzF,EAAM,KAAOyF,EAAK,KAClBzF,EAAM,aAAeyF,EAAK,aAC1BzF,EAAM,GAAKyF,EAAK,GAChBzF,EAAM,SAAW,GACjBA,EAAM,UAAYyF,EAAK,UACvBzF,EAAM,UAAYyF,EAAK,MACjBzF,EAAA,UAAYyF,EAAK,WAAa,GAE7BzF,CACT,EAEM0F,GAAeD,GAA8E,CAC3F,MAAAE,EAAQ,SAAS,cAAc,OAAO,EACtCC,EAAmB,SAAS,cAAc,cAAc,EAC9D,OAAAA,EAAY,IAAMH,EAAK,cACvBG,EAAY,UAAYH,EAAK,iBAC7BE,EAAM,QAAUF,EAAK,MACrBE,EAAM,YAAYC,CAAW,EAEtBD,CACT,EAEME,GAAuB,CAACF,EAAyB3F,IAA4B,CAC3E,MAAA8F,EAAiB,SAAS,cAAc,sBAAsB,EACpE,OAAAA,EAAe,YAAYH,CAAK,EAChCG,EAAe,YAAY9F,CAAK,EAEzB8F,CACT,EAEMC,GAAcC,GAA4B,CACxC,MAAAC,EAAS,SAAS,cAAc,OAAO,EAC7CA,EAAO,UAAYC,GACb,MAAAC,EAAO,SAAS,cAAc,MAAM,EAC1C,OAAAA,EAAK,GAAK,iBACVA,EAAK,KAAO,aACZA,EAAK,WAAa,GAElBH,EAAS,KAAKC,CAAM,EACpBD,EAAS,QAASI,GAAYD,EAAK,YAAYC,CAAO,CAAC,EAEhDD,CACT,EAGA,IAAqBE,EAArB,cAA4CC,CAAW,CAqDrD,aAAc,CACN,QAmCFC,GAAA,KAAAjB,EAAA,EAjEY,KAAA,gBAAA,GAGG,KAAA,mBAAA,GAGH,KAAA,gBAAA,GA0Bf,KAAgC,iBAAiB,iBAAmBjN,GAAM,CACrEA,aAAa,cACV,KAAA,KAAOA,EAAE,OAAO,MAAQ,QAE/B,KAAK,cAAc,CAAA,CACpB,CACH,CAvDA,IAAI,kBAAkBsD,EAAgB,CACpC0J,EAAe,kBAAoB1J,CACrC,CACA,IAAI,mBAAoB,CACtB,OAAO0J,EAAe,iBACxB,CAqBA,IAAI,WAAW1J,EAAe,CAC5B0J,EAAe,WAAa1J,CAC9B,CACA,IAAI,YAAa,CACf,OAAO0J,EAAe,UACxB,CA0BA,mBAAoB,CAClB,MAAM,kBAAkB,EACnB,KAAA,UAAU,IAAI,UAAU,EACxB,KAAA,UAAU,IAAI,UAAU,EAE7BmB,GAAA,KAAKlB,GAALC,EAAA,EAAA,KAAA,IAAA,CACF,CAEA,sBAAuB,CACrB,MAAM,qBAAqB,EAC3B,KAAK,qBAAqB,SAC1B,KAAK,qBAAqB,SAC1B,KAAK,gBAAgB,SACrB,KAAK,gBAAgB,SACrB,KAAK,gBAAgB,SACrB,KAAK,gBAAgB,QACvB,CA+CA,QAAS,CACA,OAAAkB;AAAAA;AAAAA,2BAEgBC,GAAU,KAAK,eAAe,CAAC;AAAA,qBACrCA,GAAU,KAAK,SAAS,CAAC;AAAA,iCACbA,GAAU,KAAK,oBAAoB,CAAC;AAAA,UAC3D,KAAK,sBAAsB;AAAA;AAAA,KAGnC,CAEQ,sBAAuB,CAC7B,MAAMC,EAAe,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAC/D,IAAIC,EAAO,KAAK,MAAQD,EAAa,IAAI,MAAM,GAAG,cAC5C,MAAAE,EAASF,EAAa,IAAI,QAAQ,EAExC,GAAIE,IAAW,mBACN,OAAAJ;AAAAA;AAAAA;AAAAA,oBAGOK,EACRlD,EAAuB,SACrB,yBACA,OACA,wDACF,CAAA,CACD;AAAA,6BAIH,GAAAgD,IAAS,eAAiBC,IAAW,QAChC,OAAAJ;AAAAA;AAAAA;AAAAA,oBAGOK,EACRlD,EAAuB,SACrB,gCACA,OACA,yHACF,CAAA,CACD;AAAA,6BAWP,OANIgD,GACEA,IAAS,OAAS,CAACvB,EAAe,eAC7BuB,EAAA,QAIHA,EAAM,CACZ,IAAK,MACI,OAAAH;AAAAA,yCAET,IAAK,QACI,OAAAA;AAAAA,+DAET,IAAK,iBACI,OAAAA;AAAAA,2DAET,IAAK,cACI,OAAAA;AAAAA,+CAGT,QACS,OAAAA;AAAAA;AAAAA,oCAEqB,KAAK,kBAAkB;AAAA,iCAC1B,KAAK,eAAe;AAAA;AAAA;AAAA;AAAA,4BAKjD,CACF,CACF,EAlHQnB,GAAA,IAAA,QAAAC,GAAe,gBAAG,CACtB,MAAMwB,EAAgB,KAAK,gBACvB,MAAMnD,EAAuB,SAAS,gBAAiB,OAAW,OAAO,EACzE,MAAMA,EAAuB,SAAS,mBAAoB,OAAW,UAAU,EAC7EoD,EAAgB,MAAMpD,EAAuB,SAAS,mBAAoB,OAAW,UAAU,EAErG,KAAK,eAAiB4B,GAAY,CAChC,GAAI,iBACJ,KAAM,OACN,KAAM,WACN,aAAc,WACd,MAAOuB,EACP,UAAW,KAAK,gBAAkB,QAAU,GAC5C,UAAW,EAAA,CACZ,EACD,KAAK,eAAiBvB,GAAY,CAChC,GAAI,iBACJ,KAAM,WACN,KAAM,WACN,aAAc,mBACd,MAAOwB,EACP,UAAW,EAAA,CACZ,EACD,KAAK,eAAiBtB,GAAY,CAChC,MAAO,iBACP,cAAe,KAAK,gBAAkB,gBAAkB,gBACxD,iBAAkB,KAAK,gBAAkB,QAAU,UAAA,CACpD,EACI,KAAA,eAAiBA,GAAY,CAAC,MAAO,iBAAkB,cAAe,mBAAoB,iBAAkB,UAAA,CAAW,EAE5H,KAAK,oBAAsBG,GAAqB,KAAK,eAAgB,KAAK,cAAc,EACxF,KAAK,oBAAsBA,GAAqB,KAAK,eAAgB,KAAK,cAAc,EAExF,KAAK,MAAQE,GAAW,CAAC,KAAK,oBAAqB,KAAK,mBAAmB,CAAC,EAEvE,KAAA,sBAAsB,YAAa,KAAK,KAAK,CACpD,EAtHIkB,EAAA,CADHC,EAAS,CAAC,KAAM,QAAS,UAAW,sBAAsB,CAAA,EANxCb,EAOf,UAAA,oBAAA,CAAA,EAQJY,EAAA,CADCC,EAAS,CAAC,UAAW,mBAAmB,CAAA,EAdtBb,EAenB,UAAA,kBAAA,CAAA,EAGAY,EAAA,CADCC,EAAS,CAAC,UAAW,aAAa,CAAA,EAjBhBb,EAkBnB,UAAA,YAAA,CAAA,EAGAY,EAAA,CADCC,EAAS,CAAC,UAAW,yBAAyB,CAAA,EApB5Bb,EAqBnB,UAAA,uBAAA,CAAA,EAGAY,EAAA,CADCC,EAAS,CAAC,KAAM,QAAS,UAAW,oBAAoB,CAAA,EAvBtCb,EAwBnB,UAAA,kBAAA,CAAA,EAGAY,EAAA,CADCC,EAAS,CAAC,KAAM,QAAS,UAAW,uBAAuB,CAAA,EA1BzCb,EA2BnB,UAAA,qBAAA,CAAA,EAGAY,EAAA,CADCC,EAAS,CAAC,KAAM,QAAS,UAAW,oBAAoB,CAAA,EA7BtCb,EA8BnB,UAAA,kBAAA,CAAA,EAGIY,EAAA,CADHC,EAAS,CAAC,UAAW,aAAa,CAAA,EAhChBb,EAiCf,UAAA,aAAA,CAAA,EAjCeA,EAArBY,EAAA,CADCE,EAAc,UAAU,CAAA,EACJd,CAAA,ubCnErBe,GAAAC,GAIA,IAAqBC,GAArB,cAAyDhB,CAAW,CAApE,aAAA,CAAA,MAAA,GAAA,SAAA,EAcCC,GAAA,KAAAa,EAAA,CAAA,CAbA,QAAS,CACD,OAAAX;AAAAA,kCACyBD,QAAKY,GAAYC,EAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASlD,CAmCD,EAjCCD,GAAA,IAAA,QAAAC,GAAY,UAAG,CACd,KAAK,cAAc,IAAI,YAAY,iBAAkB,CAAE,SAAU,GAAM,OAAQ,CAAE,KAAM,OAAQ,CAAA,CAAG,CAAC,CACpG,EAhBoBC,GAkBb,OAAyB,CAC/BC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GA2BD,EA9CoBD,GAArBL,GAAA,CADCE,EAAc,0BAA0B,CAAA,EACpBG,EAAA,ECJrB;AAAA;AAAA;AAAA;AAAA,GAKA,SAAS5O,GAAEA,EAAED,EAAE,EAAE,CAAC,OAAOC,EAAED,EAAEC,CAAC,EAAE,IAAIA,CAAC,CAAC,sbCLtC8O,GAAAC,GAAAC,GAAAC,GA6Ba,IAAAC,EAAN,cAAmCtB,CAAW,CAA9C,aAAA,CAAA,MAAA,GAAA,SAAA,EAmBLC,GAAA,KAAAiB,EAAA,EAkCAjB,GAAA,KAAAmB,EAAA,CAAA,CA3CU,QAAQG,EAA6E,CAC7F,MAAM,QAAQA,CAAkB,EAE5BA,EAAmB,IAAgB,iBAAiB,IACtD,KAAK,MAAM,YAAY,6BAA8B,KAAK,gBAAkB,OAAS,OAAO,EAC5F,KAAK,MAAM,YAAY,UAAW,QAAQ,KAAK,eAAe,kCAAkC,EAEpG,CA8CA,QAAS,CACA,OAAApB;AAAAA,gBACK,KAAK,gBAAkB,OAAS,eAAe;AAAA,UACrDD,QAAKgB,GAALC,EAAA,EAAA,KAAA,IAAA,CAA4B,IAAIjB,GAAA,KAAKkB,OAAL,KAAqB,IAAA,CAAA;AAAA;AAAA,QAEvDI,GACA,KAAK,qBACL,IAAMrB,qCAAwC,KAAK,oBAAqB,kCAAA,CACzE;AAAA,KAEL,CAmHF,EAzKEe,GAAA,IAAA,QAAAC,GAAqB,UAAG,CACtB,OAAK,KAAK,gBAEHhB;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,YAsBCqB,GACA,KAAK,UACL,IAAMrB,gCAAmC,KAAK,SAAS,kCAAA,CACxD;AAAA;AAAA;AAAA,MA3B2BsB,CA+BpC,EAEAL,GAAA,IAAA,QAAAC,GAAc,UAAG,CACR,OAAAlB;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,KAOT,EA7DWmB,EA2EJ,OAAyB,CAC9BL;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,KA+GF,EAzLAN,GAAA,CADCC,EAAS,CAAE,UAAW,mBAAoB,CAAA,EADhCU,EAEX,UAAA,kBAAA,CAAA,EAGAX,GAAA,CADCC,EAAS,CAAE,UAAW,aAAc,CAAA,EAJ1BU,EAKX,UAAA,YAAA,CAAA,EAGAX,GAAA,CADCC,EAAS,CAAE,UAAW,yBAA0B,CAAA,EAPtCU,EAQX,UAAA,uBAAA,CAAA,EARWA,EAANX,GAAA,CADNE,EAAc,iBAAiB,CAAA,EACnBS,CAAA,4fC7BbI,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GASA,IAAqBC,GAArB,cAAyDjC,CAAW,CAApE,aAAA,CAAA,MAAA,GAAA,SAAA,EAuBEC,GAAA,KAAA0B,EAAA,EA6CA1B,GAAA,KAAA4B,EAAA,EAMA5B,GAAA,KAAA8B,EAAA,EAxEiC,KAAA,eAAA,OAGzB,KAAA,MAAA,GAER9B,GAAA,KAAAyB,GAAqB,MAAO3P,GAAmB,CAC7CA,EAAE,eAAe,EACjB,MAAM8N,EAAO9N,EAAE,OAGX,GADA,CAAC8N,GACD,CAACA,EAAK,cAAc,EAAG,OAGrB,MAAAhB,EADW,IAAI,SAASgB,CAAI,EACR,IAAI,OAAO,EAErC,KAAK,eAAiB,UACtB,MAAMrD,EAAW,MAAMuC,EAAe,cAAcF,CAAQ,EAC5D,KAAK,eAAiBrC,EAAS,SAAW,IAAM,UAAY,SACvD,KAAA,MAAQA,EAAS,OAAS,EAAA,CACjC,CAAA,CAoEA,QAAS,CACP,OAAO,KAAK,iBAAmB,UAAY0D,QAAK6B,GAALC,EAAA,EAAA,KAAA,IAAA,EAAiC9B,QAAKyB,GAALC,EAAA,EAAA,KAAA,IAAA,CAC9E,CAqEF,EAzJEF,GAAA,IAAA,QAgBAC,GAAA,IAAA,QAAAC,GAAgB,UAAG,CACV,OAAAzB;AAAAA;AAAAA,qDAE0C+B,QAAKR,EAAkB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAoBrDlB,EAAMlD,EAAuB,SAAS,gBAAiB,OAAW,OAAO,CAAC,CAAC;AAAA;AAAA,iCAEjEkD,EACjBlD,EAAuB,SAAS,mBAAoB,OAAW,UAAU,CAAA,CAC1E;AAAA;AAAA;AAAA,YAGH4C,GAAA,KAAK2B,OAAL,KAA0B,IAAA,CAAA;AAAA;AAAA;AAAA;AAAA,qBAIjBrB,EAAMlD,EAAuB,SAAS,iBAAkB,OAAW,QAAQ,CAAC,CAAC;AAAA;AAAA;AAAA,qBAG7E,KAAK,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA,KAMtC,EAEAuE,GAAA,IAAA,QAAAC,GAAmB,UAAG,CACpB,MAAI,CAAC,KAAK,OAAS,KAAK,iBAAmB,SAAiBL,EAErDtB,8BAAiC,KAAK,KAAK,SACpD,EAEA4B,GAAA,IAAA,QAAAC,GAAuB,UAAG,CACjB,OAAA7B;AAAAA;AAAAA,iBAEMK,EAAMlD,EAAuB,SAAS,0BAA2B,OAAW,qBAAqB,CAAC,CAAC;AAAA,kBAClGkD,EACRlD,EAAuB,SACrB,yCACA,OACA,2GACF,CAAA,CACD;AAAA;AAAA,KAGP,EAvFmB2E,GA6FZ,OAAyB,CAC9BhB;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,KAiEF,EA7JAN,GAAA,CADCwB,EAAM,CAAA,EADYF,GAEnB,UAAA,iBAAA,CAAA,EAGAtB,GAAA,CADCwB,EAAM,CAAA,EAJYF,GAKnB,UAAA,QAAA,CAAA,EALmBA,GAArBtB,GAAA,CADCE,EAAc,yBAAyB,CAAA,EACnBoB,EAAA,sbCTrBG,GAAAC,GAAAC,GAAAC,GASA,IAAqBC,EAArB,cAAuDxC,CAAW,CAmBhE,aAAc,CACN,QAWFC,GAAA,KAAAmC,EAAA,EAgBNnC,GAAA,KAAAqC,EAAA,EA1CwB,KAAA,MAAA,OAGS,KAAA,KAAA,MAGzB,KAAA,MAAA,GAGgB,KAAA,OAAA,KAGG,KAAA,UAAA,KAKzB,MAAMG,EAAY,IAAI,gBAAgB,OAAO,SAAS,MAAM,EACvD,KAAA,UAAYA,EAAU,IAAI,WAAW,EACrC,KAAA,OAASA,EAAU,IAAI,QAAQ,GAEhC,CAAC,KAAK,QAAU,CAAC,KAAK,aACxB,KAAK,KAAO,QAEhB,CAkDA,QAAS,CACP,OAAO,KAAK,QAAU,KAAK,UACvBvC,GAAA,KAAKoC,OAAL,KACA,IAAA,EAAAnC;AAAAA;AAAAA,mBAEWK,EAAMlD,EAAuB,SAAS,gBAAiB,OAAW,OAAO,CAAC,CAAC;AAAA,oBAC1EkD,EACRlD,EAAuB,SAAS,sBAAuB,OAAW,gCAAgC,CAAA,CACnG;AAAA,4BAET,CACF,EA3DQ8E,GAAA,IAAA,QAAAM,GAAS,eAACC,EAAoB,CAClCA,EAAM,eAAe,EACrB,MAAMF,EAAY,IAAI,gBAAgB,OAAO,SAAS,MAAM,EACtDvE,EAAYuE,EAAU,IAAI,WAAW,EACrCtE,EAASsE,EAAU,IAAI,QAAQ,EAC/BxE,EAAW0E,EAAM,OAAO,SAE1B,GAAA,CAACzE,GAAa,CAACC,EAAQ,OAE3B,KAAK,MAAQ,UACb,MAAM3B,EAAW,MAAMuC,EAAe,YAAYd,EAAUC,EAAWC,CAAM,EAC7E,KAAK,MAAQ3B,EAAS,SAAW,IAAM,UAAY,SACnD,KAAK,KAAOA,EAAS,SAAW,IAAM,OAAS,MAC1C,KAAA,MAAQA,EAAS,OAAS,EACjC,EAEA8F,GAAA,IAAA,QAAAC,GAAa,UAAG,CACd,OAAQ,KAAK,KAAM,CACjB,IAAK,MACI,OAAApC;AAAAA;AAAAA,sBAEOD,QAAKkC,GAASC,EAAA,CAAA;AAAA,sBACd,KAAK,MAAO;AAAA,qBACb,KAAK,KAAK;AAAA,qBACV,KAAK,KAAK,8BACzB,IAAK,QACI,OAAAlC;AAAAA;AAAAA,qBAEMK,EAAMlD,EAAuB,SAAS,gBAAiB,OAAW,OAAO,CAAC,CAAC;AAAA,sBAC1EkD,EACRlD,EAAuB,SAAS,sBAAuB,OAAW,gCAAgC,CAAA,CACnG;AAAA,+BAEP,IAAK,OACI,OAAA6C;AAAAA;AAAAA,qBAEMK,EAAMlD,EAAuB,SAAS,kBAAmB,OAAW,SAAS,CAAC,CAAC;AAAA,sBAC9EkD,EACRlD,EAAuB,SACrB,gCACA,OACA,kEACF,CAAA,CACD;AAAA,qCAET,CACF,EA3EAqD,EAAA,CADCiC,GAAM,kBAAkB,CAAA,EADNJ,EAEnB,UAAA,yBAAA,CAAA,EAGA7B,EAAA,CADCwB,EAAM,CAAA,EAJYK,EAKnB,UAAA,QAAA,CAAA,EAGA7B,EAAA,CADCwB,EAAM,CAAA,EAPYK,EAQnB,UAAA,OAAA,CAAA,EAGA7B,EAAA,CADCwB,EAAM,CAAA,EAVYK,EAWnB,UAAA,QAAA,CAAA,EAGA7B,EAAA,CADCwB,EAAM,CAAA,EAbYK,EAcnB,UAAA,SAAA,CAAA,EAGA7B,EAAA,CADCwB,EAAM,CAAA,EAhBYK,EAiBnB,UAAA,YAAA,CAAA,EAjBmBA,EAArB7B,EAAA,CADCE,EAAc,uBAAuB,CAAA,EACjB2B,CAAA,ECRrB;AAAA;AAAA;AAAA;AAAA,GAIG,MAAMzQ,WAAUI,EAAC,CAAC,YAAYE,EAAE,CAAC,GAAG,MAAMA,CAAC,EAAE,KAAK,GAAGP,EAAEO,EAAE,OAAOL,GAAE,MAAM,MAAM,MAAM,KAAK,YAAY,cAAc,uCAAuC,CAAC,CAAC,OAAOG,EAAE,CAAC,GAAGA,IAAIL,GAASK,GAAN,KAAQ,OAAO,KAAK,GAAG,OAAO,KAAK,GAAGA,EAAE,GAAGA,IAAIE,EAAE,OAAOF,EAAE,GAAa,OAAOA,GAAjB,SAAmB,MAAM,MAAM,KAAK,YAAY,cAAc,mCAAmC,EAAE,GAAGA,IAAI,KAAK,GAAG,OAAO,KAAK,GAAG,KAAK,GAAGA,EAAE,MAAMH,EAAE,CAACG,CAAC,EAAE,OAAOH,EAAE,IAAIA,EAAE,KAAK,GAAG,CAAC,WAAW,KAAK,YAAY,WAAW,QAAQA,EAAE,OAAO,CAAE,CAAA,CAAC,CAAC,CAACD,GAAE,cAAc,aAAaA,GAAE,WAAW,EAAE,MAAME,GAAEG,GAAEL,EAAC,ECKnhB,eAAsB8Q,GAAsCC,EAAmC,CAC1F,GAAAA,EAAK,SAAS,OAAO,EACjB,OAAA,MAAMA,CAAI,EAAE,KAAMtG,GAAaA,EAAS,MAAM,EAGtD,MAAMuG,EAAS,MAAM,OAA0BD,GAE/C,GAAI,CAACC,EAAO,QAAe,MAAA,IAAI,MAAM,yBAAyB,EAEvD,OAAA,IAAIA,EAAO,OACnB,CAEO,SAASC,GAAwCF,EAAkB,CACrE,OAAA,OAAOA,GAAS,SACZ3C,IAAO8C,GAAWH,CAAI,CAAC,GAGxBA,CACR,sbC5BAI,GAAAC,GAcA,IAAqBC,EAArB,cAA+CpD,CAAW,CAA1D,aAAA,CAAA,MAAA,GAAA,SAAA,EAkBQC,GAAA,KAAAiD,EAAA,EAhBN,KAAU,UAAuE,GAGjF,KAAQ,QAAU,GAMlB,KAAQ,MAAuB,IAAA,CAE/B,mBAAoB,CAClB,MAAM,kBAAkB,EACxBhD,GAAA,KAAKgD,GAALC,EAAA,EAAA,KAAA,IAAA,CACF,CAyBA,MAAc,aAAapR,EAAgB,CACzCA,EAAE,eAAe,EAEjB,KAAK,MAAQ,KAEb,MAAM8N,EAAO9N,EAAE,OACf,GAAI,CAAC8N,EAAM,OAEX,MAAMwD,EAAYxD,EAAK,SAAS,UAAU,SAAS,EAO/C,GALAwD,IACFA,EAAU,MAAQ,GAClBA,EAAU,aAAe,IAGvB,CAACxD,EAAK,cAAc,EAAG,OAErB,MAAAyD,EAAW,IAAI,SAASzD,CAAI,EAE9B,IAAAvB,EAAWgF,EAAS,IAAI,UAAU,EAOtC,GAJKhF,IACQA,EAAA,KAAK,UAAU,CAAC,EAAE,OAG3B,CAACA,EAAU,CACb,KAAK,MAAQ,uBACb,MACF,CAEM,MAAAN,EAAOsF,EAAS,IAAI,OAAO,EAEjC,KAAK,YAAc,UAEf,GAAA,CACF,MAAM9G,EAAW,MAAMuC,EAAe,gBAAgBf,EAAMM,CAAQ,EACpE,GAAI9B,EAAS,MAAO,CACd6G,GACFA,EAAU,MAAQ,GAClBA,EAAU,aAAe7G,EAAS,OAElC,KAAK,MAAQA,EAAS,MAExB,KAAK,YAAc,SACnB,MACF,CAEA,KAAK,YAAc,UAEnB,MAAMmC,EAAaI,EAAe,WAC9BJ,IACF,SAAS,KAAOA,GAGb,KAAA,cACH,IAAI,YAAY,oBAAqB,CAAC,QAAS,GAAM,SAAU,GAAM,OAAQnC,EAAS,KAAK,CAAA,QAEtFzK,EAAG,CACNA,aAAa,MACV,KAAA,MAAQA,EAAE,SAAW,gBAE1B,KAAK,MAAQ,gBAEf,KAAK,YAAc,SACnB,KAAK,cAAc,IAAI,YAAY,mBAAoB,CAAC,QAAS,GAAM,SAAU,GAAM,OAAQA,CAAC,CAAC,CAAC,CACpG,CACF,CAEU,mBAAoB,CACrB,OAAAoO;AAAAA;AAAAA,uCAE4B,KAAK,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAc5C,KAAK,UAAU,OAAS,EACtBA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,qEAKuD,KAAK,SAAS;AAAA;AAAA,cAGrEsB,CAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAcOjB,EACZlD,EAAuB,SAAS,wBAAwB,EACxD,oCAAA,CACD;AAAA;AAAA;AAAA,iCAGkBkD,EACjBlD,EAAuB,SAAS,wBAAwB,EACxD,oCAAA,CACD;AAAA;AAAA;AAAA;AAAA;AAAA,YAKH,KAAK,MAAQ6C,+BAAkC,KAAK,KAAK,WAAasB,CAAO;AAAA;AAAA;AAAA,qBAGpE,KAAK,WAAW;AAAA;AAAA;AAAA;AAAA,oBAIjBjB,EAAMlD,EAAuB,SAAS,kBAAkB,EAAG,UAAU,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAOxF,CAEA,MAAgB,kBAAmB,CACjC,MAAMwF,EAAO/D,EAAe,cAC5B,GAAI,CAAC+D,EAAa,OAAArB,EAEd,GAAA,CACI,MAAA8B,EAAa,MAAMV,GAAqCC,CAAI,EAC9D,OAAA,OAAOS,GAAe,WACxBA,EAAW,UAAY,KAAK,UAAU,IAAKjF,GAAaA,EAAS,KAAK,EACtEiF,EAAW,WAAaxE,EAAe,YAElCiE,GAAiBO,CAAU,QAC3B,EAAG,CACV,MAAMxO,EAAQ,aAAa,MAAQ,EAAE,QAAU,gBAC/C,eAAQ,MAAM,wCAAwC,EAC9C,QAAA,IAAI,oBAAqB,IAAI,EAC7B,QAAA,IAAI,cAAe+N,CAAI,EACvB,QAAA,MAAM,8BAA+B,CAAC,EAC9C,QAAQ,SAAS,EACV3C,8BAAiCpL,CAAK,SAC/C,CACF,CAEU,QAAS,CACjB,OAAO,KAAK,QACRoL;AAAAA,2CAEApB,EAAe,cACbyB,EAAM,KAAK,iBAAoB,EAAAL;AAAAA,4CACG,EAClC,KAAK,mBACb,CAmDF,EAnPQ+C,GAAA,IAAA,QAAAC,GAAc,gBAAG,CACjB,GAAA,CACI,MAAA3G,EAAW,MAAMuC,EAAe,kBACtC,KAAK,UAAYvC,EAAS,UAAU,IAAK8B,IAAc,CAAC,KAAMA,EAAU,MAAOA,EAAU,SAAU,IAAO,EAEtG,KAAK,UAAU,SACZ,KAAA,UAAU,CAAC,EAAE,SAAW,IAG3B9B,EAAS,QACX,KAAK,MAAQA,EAAS,aAEjBzK,EAAG,CACNA,aAAa,MACV,KAAA,MAAQA,EAAE,SAAW,gBAE1B,KAAK,MAAQ,gBAEf,KAAK,UAAY,EACnB,CACA,KAAK,QAAU,EACjB,EAvCmBqR,EAoNZ,OAAS,CACdnC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,KA+CF,EAlQUN,GAAA,CADTwB,EAAM,CAAA,EADYiB,EAET,UAAA,YAAA,CAAA,EAGFzC,GAAA,CADPwB,EAAM,CAAA,EAJYiB,EAKX,UAAA,UAAA,CAAA,EAGAzC,GAAA,CADPwB,EAAM,CAAA,EAPYiB,EAQX,UAAA,cAAA,CAAA,EAGAzC,GAAA,CADPwB,EAAM,CAAA,EAVYiB,EAWX,UAAA,QAAA,CAAA,EAXWA,EAArBzC,GAAA,CADCE,EAAc,cAAc,CAAA,EACRuC,CAAA,qkBCdrBI,EAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAjC,GAAAC,GAAAiC,GAAAC,GAUA,IAAqBC,EAArB,cAAiDjE,CAAW,CAA5D,aAAA,CAAA,MAAA,GAAA,SAAA,EAuBQC,EAAA,KAAAwD,EAAA,EAuEFxD,EAAA,KAAA2D,EAAA,EAkEJ3D,EAAA,KAAA4B,EAAA,EAMA5B,EAAA,KAAA8D,EAAA,EApKkB,KAAA,gBAAA,GAMG,KAAA,mBAAA,GAGrB,KAAQ,YAA8B,OAGtC,KAAQ,YAAc,GAOtB9D,EAAA,KAAAuD,EAAA,MAAA,EAiBAvD,EAAA,KAAA0D,GAAgB,MAAO5R,GAAmB,CACxCA,EAAE,eAAe,EAEjB,MAAM8N,EAAO9N,EAAE,OAGX,GAFA,CAAC8N,GAED,CAACA,EAAK,cAAc,EAAG,OAErB,MAAAyD,EAAW,IAAI,SAASzD,CAAI,EAE5BhB,EAAWyE,EAAS,IAAI,UAAU,EAClCrF,EAAWqF,EAAS,IAAI,UAAU,EAClCY,EAAUZ,EAAS,IAAI,SAAS,EAElC,GAAA,CAACzE,GAAY,CAACZ,EAAU,CAC1B,KAAK,YAAc,MAAMX,EAAuB,SAAS,sBAAsB,EAC/E,KAAK,YAAc,SACnB,MACF,CAEA,KAAK,YAAc,UAEb,MAAAd,EAAW,MAAMuC,EAAe,MAAM,CAC1C,SAAAF,EACA,SAAAZ,EACA,QAAAiG,CAAA,CACD,EAMG,GAJC,KAAA,YAAc1H,EAAS,OAAS,GAChC,KAAA,YAAcA,EAAS,MAAQ,SAAW,UAG3CA,EAAS,SAAW,IAAK,CAC3BuC,EAAe,aAAe,GAC1BvC,EAAS,gBACXuC,EAAe,cAAgBvC,EAAS,eAG1C,KAAK,cAAc,IAAI,YAAY,iBAAkB,CAAC,SAAU,GAAM,OAAQ,CAAC,KAAM,KAAK,CAAA,CAAE,CAAC,EAC7F,MACF,CAEA,GAAIA,EAAS,MAAO,CAClB,KAAK,cAAc,IAAI,YAAY,mBAAoB,CAAC,QAAS,GAAM,SAAU,GAAM,OAAQA,CAAQ,CAAC,CAAC,EACzG,MACF,CAEA,MAAMmC,EAAaI,EAAe,WAE9BJ,IACF,SAAS,KAAOA,GAGlB,KAAK,cAAc,IAAI,YAAY,oBAAqB,CAAC,QAAS,GAAM,SAAU,GAAM,OAAQnC,EAAS,IAAA,CAAK,CAAC,CAAA,CACjH,EAcAyD,EAAA,KAAA6D,GAAiB,IAAM,CACrB5B,EAAA,KAAKsB,IAAc,cAAc,CAAA,CACnC,CAAA,CA3FA,IAAY,mBAAoB,CAC9B,OAAOzE,EAAe,iBACxB,CA2FA,QAAS,CACA,OAAAoB;AAAAA;AAAAA;AAAAA,+BAGoB+B,OAAK0B,GAAwBC,EAAA,CAAA;AAAA;AAAA;AAAA;AAAA,QAIpD,KAAK,kBACHpC,EACAtB;AAAAA,8BACoBD,QAAKuD,GAAcC,EAAA,CAAA;AAAA;AAAA,cAEnClC,GACAzC,EAAe,qBACf,IAAMoB;AAAAA;AAAAA;AAAAA;AAAAA,6BAISK,EAAMlD,EAAuB,SAAS,kBAAmB,OAAW,aAAa,CAAC,CAAC;AAAA;AAAA;AAAA,wCAAA,CAInG;AAAA,cACCkE,GACA,KAAK,mBACL,IACErB;AAAAA,sEACsDD,QAAK6D,GAAwBC,EAAA,CAAA;AAAA;AAAA,4BAAA,CAGtF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAMQ9B,OAAK4B,EAAc,CAAA;AAAA,qBACnBtD,EAAMlD,EAAuB,SAAS,gBAAiB,OAAW,OAAO,EAAG,OAAO,CAAC;AAAA;AAAA,qBAEpF,KAAK,WAAW;AAAA;AAAA,YAEzB4C,GAAA,KAAK2B,OAAL,KAA0B,IAAA,CAAA;AAAA,SAC7B;AAAA,0DACiD,CAAC,KAAK,iBAAiB;AAAA;AAAA;AAAA,KAI/E,CAiFF,EA1NE2B,EAAA,IAAA,QAEMC,GAAA,IAAA,QAAAC,GAAc,gBAAG,CAChBS,GAAA,KAAAX,EAAe,KAAK,iBAAiB,KAAMY,GAAOA,EAAG,KAAO,gBAAgB,CAAA,EAE5ElC,EAAK,KAAAsB,CAAA,IAGVtB,EAAA,KAAKsB,CAAa,EAAA,iBAAiB,WAAazR,GAAM,CAChDA,EAAE,MAAQ,SACZmQ,EAAA,KAAK4B,EAAL,EAAA,KAAA,IAAA,CACF,CACD,EAEI5B,EAAA,KAAAsB,CAAA,EAAa,SAAWtB,EAAK,KAAAyB,EAAA,EACpC,EAEAA,GAAA,IAAA,QAwDIC,GAAA,IAAA,QAAAC,GAAwB,UAAG,CACtB,MAAA,CACL,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,iBACA,EAAA,IAAI,OAAO,OAAQ,CAAA,CACvB,EAEAC,GAAA,IAAA,QAsDAjC,GAAA,IAAA,QAAAC,GAAmB,UAAG,CACpB,MAAI,CAAC,KAAK,aAAe,KAAK,cAAgB,SAAiBL,EAExDtB,yCAA4C,KAAK,WAAW,SACrE,EAEA4D,GAAA,IAAA,QAAAC,GAAwB,UAAG,CACzB,KAAK,cAAc,IAAI,YAAY,iBAAkB,CAAC,SAAU,GAAM,OAAQ,CAAC,KAAM,OAAO,CAAA,CAAE,CAAC,CACjG,EAxKmBC,EA0KZ,OAAyB,CAC9BhD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,KAmEF,EA5OAN,EAAA,CADCC,EAAS,CAAC,KAAM,QAAS,UAAW,oBAAoB,CAAA,EADtCqD,EAEnB,UAAA,kBAAA,CAAA,EAGUtD,EAAA,CADT0D,GAAsB,CAAC,QAAS,GAAK,CAAA,EAJnBJ,EAKT,UAAA,kBAAA,CAAA,EAGVtD,EAAA,CADCC,EAAS,CAAC,KAAM,QAAS,UAAW,uBAAuB,CAAA,EAPzCqD,EAQnB,UAAA,qBAAA,CAAA,EAGQtD,EAAA,CADPwB,EAAM,CAAA,EAVY8B,EAWX,UAAA,cAAA,CAAA,EAGAtD,EAAA,CADPwB,EAAM,CAAA,EAbY8B,EAcX,UAAA,cAAA,CAAA,EAGItD,EAAA,CADXwB,EAAM,CAAA,EAhBY8B,EAiBP,UAAA,oBAAA,CAAA,EAjBOA,EAArBtD,EAAA,CADCE,EAAc,gBAAgB,CAAA,EACVoD,CAAA,ubCVrB7B,GAAAC,GASA,IAAqBiC,GAArB,cAAkDtE,CAAW,CAA7D,aAAA,CAAA,MAAA,GAAA,SAAA,EAwBQC,GAAA,KAAAmC,EAAA,EAtBkB,KAAA,MAAA,OAGhB,KAAA,MAAA,EAAA,CAKR,MAAgB,aAAab,EAAyB,CACpD,MAAM,aAAaA,CAAkB,EAE/B,MAAA/E,EAAW,MAAMuC,EAAe,iBAElC,GAAA,CAACvC,EAAS,MAAM,GAAI,CAEtB,KAAK,MAAQ,wBACb,MACF,CAEA,KAAK,YAAcA,EAAS,IAC9B,CAqBA,QAAS,CACP,OAAO,KAAK,YACR2D;AAAAA;AAAAA,oBAEYD,QAAKkC,GAASC,EAAA,CAAA;AAAA,oBACd,KAAK,YAAY,EAAE;AAAA,sBACjB,KAAK,YAAY,IAAI;AAAA,mBACxB,KAAK,KAAK;AAAA,mBACV,KAAK,KAAK,8BACrB,KAAK,MACHlC;AAAAA;AAAAA,sBAEYK,EAAMlD,EAAuB,SAAS,gBAAiB,OAAW,OAAO,CAAC,CAAC;AAAA,uBAC1E,KAAK,KAAK,uBACvB6C;AAAAA;AAAAA,qBAEWK,EAAMlD,EAAuB,SAAS,gBAAiB,OAAW,OAAO,CAAC,CAAC;AAAA,sBAC1EkD,EACRlD,EAAuB,SAAS,sBAAuB,OAAW,gCAAgC,CAAA,CACnG;AAAA,8BAEX,CACF,EAzCQ8E,GAAA,IAAA,QAAAmC,GAAS,eAAC5B,EAAoB,CAClCA,EAAM,eAAe,EACf,MAAA1E,EAAW0E,EAAM,OAAO,SAE9B,GAAI,CAAC1E,EAAU,OAEf,KAAK,MAAQ,UACb,MAAMzB,EAAW,MAAMuC,EAAe,uBAAuBd,CAAQ,EAErE,GAAIzB,EAAS,MAAO,CAClB,KAAK,MAAQA,EAAS,MACtB,KAAK,MAAQ,SACb,MACF,CAEA,KAAK,MAAQ,UACN,OAAA,SAAS,KAAOuC,EAAe,UACxC,EAvCA4B,GAAA,CADCwB,EAAM,CAAA,EADYmC,GAEnB,UAAA,QAAA,CAAA,EAGA3D,GAAA,CADCwB,EAAM,CAAA,EAJYmC,GAKnB,UAAA,QAAA,CAAA,EAGA3D,GAAA,CADCwB,EAAM,CAAA,EAPYmC,GAQnB,UAAA,cAAA,CAAA,EARmBA,GAArB3D,GAAA,CADCE,EAAc,iBAAiB,CAAA,EACXyD,EAAA,uMCHR,IAAAE,GAAN,cAAqDxE,CAAW,CAAhE,aAAA,CAAA,MAAA,GAAA,SAAA,EAES,KAAA,YAAA,EAAA,CAKd,cAAe,CACX,KAAK,iBAAiB,OAAS,KAAK,gBAAgB,QAAS,EAAK,EAAI,KAAK,gBAAgB,QAAS,EAAI,CAC5G,CAEA,QAAS,CACA,OAAAG;AAAAA,QACH,KAAK,YACHA;AAAAA;AAAAA,oBAEUK,EAAMlD,EAAuB,SAAS,aAAc,OAAW,IAAI,EAAE,KAAYmH,GAAAA,EAAI,kBAAkB,CAAC,CAAC,CAAC;AAAA;AAAA,UAGpHhD,CAAO;AAAA;AAAA;AAAA;AAAA,KAKf,CAuDF,EA/Ea+C,GA0BJ,OAAyB,CAC9BvD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,KAmDF,EA5EAN,GAAA,CADCC,EAAS,CAAE,KAAM,QAAS,UAAW,UAAW,CAAA,EADtC4D,GAEX,UAAA,cAAA,CAAA,EAGU7D,GAAA,CADT0D,GAAsB,CAAE,QAAS,GAAM,CAAA,EAJ7BG,GAKD,UAAA,kBAAA,CAAA,EALCA,GAAN7D,GAAA,CADNE,EAAc,qCAAqC,CAAA,EACvC2D,EAAA,uhBCNbE,GAuBa,IAAAC,EAAN,cAA8C3E,CAAW,CAgG9D,aAAc,CACN,QA5EM,KAAA,YAAA,GASC,KAAA,aAAA,GAWgB,KAAA,cAAA,YA6BxB,KAAA,KAAA,YAWwB,KAAA,WAAA,UAWE,KAAA,YAAA,UAEbC,GAAA,KAAAyE,GAAA,EAAA,EAKG,IAAI,gBAAgB,OAAO,SAAS,MAAM,EACjC,IAAI,QAAQ,IAAM,SAG9C,KAAK,cAAgB,YAEzB,CAvDA,IAAI,iBAAiBrP,EAAe,CAClC,MAAMuP,EAAU,IAAI,IAAIvP,EAAO,OAAO,SAAS,MAAM,EAC/CgL,EAAe,IAAI,gBAAgB,OAAO,SAAS,MAAM,EACvDuE,EAAA,aAAa,OAAO,cAAe,mBAAmBvE,EAAa,IAAI,YAAY,GAAK,EAAE,CAAC,EAC9F8D,GAAA,KAAAO,GAAoBE,EAAQ,SAAWA,EAAQ,MAAA,CACtD,CAEA,IAAI,kBAAmB,CACrB,OAAO1C,GAAK,KAAAwC,EAAA,CACd,CAgDU,QAAS,CACjB,OAAO,KAAK,WACRlE,EAAM,KAAK,iBAAoB,EAAAL;AAAAA,0CACG,EAClC,KAAK,mBACX,CAEU,mBAAoB,CACrB,OAAAA;AAAAA,oDACyC,KAAK,gBAAgB;AAAA;AAAA;AAAA;AAAA,mBAItD,KAAK,YAAY;AAAA,mBACjBK,EAAMlD,EAAuB,SAAS,mBAAoB,OAAW,cAAc,EAAE,KAAYmH,GAAA,GAAGA,CAAG,IAAI,KAAK,WAAW,EAAE,CAAC,CAAC;AAAA,kBAChI,KAAK,UAAU;AAAA,mBACd,KAAK,WAAW;AAAA,YACvB,KAAK,YACHtE;AAAAA;AAAAA,iCAEmB,KAAK,IAAI;AAAA;AAAA,kBAExB,KAAK,WAAW;AAAA;AAAA,cAGpBsB,CAAO;AAAA;AAAA;AAAA;AAAA,KAKnB,CAEA,MAAgB,kBAAmB,CAC7B,GAAA,CACF,GAAI,CAAC,KAAK,WAAY,OAEtB,MAAM8B,EAAa,MAAMV,GAA+C,KAAK,UAAU,EAEnF,OAAA,OAAOU,GAAe,WACxBA,EAAW,YAAc,KAAK,YAC9BA,EAAW,aAAe,KAAK,aAC/BA,EAAW,iBAAmB,KAAK,iBACnCA,EAAW,cAAgB,KAAK,eAG3BP,GAAiBO,CAAU,QAC3BxO,EAAgB,CACvB,QAAQ,MAAM,6CAA6C,EACnD,QAAA,IAAI,gBAAiB,KAAK,YAAY,EACtC,QAAA,IAAI,oBAAqB,IAAI,EAC7B,QAAA,IAAI,cAAe,KAAK,UAAU,EAClC,QAAA,MAAM,8BAA+BA,CAAK,EAClD,QAAQ,SAAS,CACnB,CACF,CAiDF,EApHE2P,GAAA,IAAA,QA9FWC,EAmKJ,OAAyB,CAC9B1D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,KA6CF,EArMAN,EAAA,CADCC,EAAS,CAAC,UAAW,cAAc,CAAA,EAXzB+D,EAYX,UAAA,aAAA,CAAA,EASAhE,EAAA,CADCC,EAAS,CAAC,UAAW,eAAe,CAAA,EApB1B+D,EAqBX,UAAA,cAAA,CAAA,EASAhE,EAAA,CADCC,EAAS,CAAC,UAAW,gBAAgB,CAAA,EA7B3B+D,EA8BX,UAAA,eAAA,CAAA,EAWAhE,EAAA,CADCC,EAAS,CAAC,UAAW,kBAAkB,CAAA,EAxC7B+D,EAyCX,UAAA,gBAAA,CAAA,EASIhE,EAAA,CADHC,EAAS,CAAC,UAAW,qBAAqB,CAAA,EAjDhC+D,EAkDP,UAAA,mBAAA,CAAA,EAoBJhE,EAAA,CADCC,EAAS,CAAC,UAAW,OAAO,CAAA,EArElB+D,EAsEX,UAAA,OAAA,CAAA,EAWAhE,EAAA,CADCC,EAAS,CAAC,UAAW,cAAc,CAAA,EAhFzB+D,EAiFX,UAAA,aAAA,CAAA,EAWAhE,EAAA,CADCC,EAAS,CAAC,UAAW,eAAe,CAAA,EA3F1B+D,EA4FX,UAAA,cAAA,CAAA,EA5FWA,EAANhE,EAAA,CADNE,EAAc,6BAA6B,CAAA,EAC/B8D,CAAA,sbCvBbvC,GAAAC,GAAAR,GAAAC,GASA,IAAqB+C,EAArB,cAAyD7E,CAAW,CAApE,aAAA,CAAA,MAAA,GAAA,SAAA,EAmCQC,GAAA,KAAAmC,EAAA,EA+HNnC,GAAA,KAAA4B,EAAA,EA1JwB,KAAA,MAAA,OAGR,KAAA,MAAA,EAAA,CAehB,MAAgB,aAAaN,EAAyB,CAGpD,GAFA,MAAM,aAAaA,CAAkB,EAEjC,KAAK,OAAQ,CACf,MAAM/E,EAAW,MAAMuC,EAAe,kBAAkB,KAAK,MAAM,EACnE,KAAK,eAAiBvC,EAAS,IACjC,CACF,CAqDA,cAAe,CACb,OAAI,KAAK,SACA2D;AAAAA,kBACK,KAAK,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAQlBA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,OASX,CAEA,QAAS,CACA,OAAAA;AAAAA;AAAAA,oDAEyCD,QAAKkC,GAASC,EAAA,CAAA;AAAA,gCAClC,KAAK,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAU5B7B,EAAMlD,EAAuB,SAAS,mBAAoB,OAAW,cAAc,CAAC,CAAC;AAAA;AAAA,iCAE3EkD,EACjBlD,EAAuB,SAAS,uBAAwB,OAAW,oCAAoC,CAAA,CACxG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAYQkD,EACPlD,EAAuB,SAAS,0BAA2B,OAAW,sBAAsB,CAAA,CAC7F;AAAA;AAAA,iCAEkBkD,EACjBlD,EAAuB,SAAS,mBAAoB,OAAW,UAAU,CAAA,CAC1E;AAAA;AAAA;AAAA,YAGH4C,GAAA,KAAK2B,OAAL,KAA0B,IAAA,CAAA;AAAA;AAAA;AAAA;AAAA,oBAIlBrB,EAAMlD,EAAuB,SAAS,mBAAoB,OAAW,UAAU,CAAC,CAAC;AAAA;AAAA;AAAA,qBAGhF,KAAK,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA,KAM7B,CA0DF,EAvLQ8E,GAAA,IAAA,QAAAC,GAAS,eAACM,EAAc,CAE5B,GADAA,EAAM,eAAe,EACjB,CAAC,KAAK,eAAgB,OAC1B,MAAM9C,EAAO8C,EAAM,OAMf,GAJC,KAAA,gBAAgB,kBAAkB,EAAE,EACpC,KAAA,uBAAuB,kBAAkB,EAAE,EAE5C,CAAC9C,GACD,CAACA,EAAK,cAAc,EAAG,OAErB,MAAAyD,EAAW,IAAI,SAASzD,CAAI,EAC5B5B,EAAWqF,EAAS,IAAI,UAAU,EAClCwB,EAAkBxB,EAAS,IAAI,iBAAiB,EAEtD,IAAIyB,EAAoB,GAaxB,GAXI,KAAK,eAAe,kBAAoB,GAAK9G,EAAS,OAAS,KAAK,eAAe,oBACjE8G,EAAA,IAGlB,KAAK,eAAe,wBAA0B,GACnB9G,EAAS,QAAQ,eAAgB,EAAE,EAAE,OACvC,KAAK,gBAAgB,0BAC1B8G,EAAA,IAIpBA,EAAmB,CACf,MAAAC,EAAuB,MAAM1H,EAAuB,SACxD,sCACA,CAAC,KAAK,eAAe,kBAAmB,KAAK,eAAe,uBAAuB,EACnF,qDAAA,EAEG,KAAA,gBAAgB,kBAAkB0H,CAAoB,EAC3D,MACF,CAEA,GAAI/G,IAAa6G,EAAiB,CAC1B,MAAAE,EAAuB,MAAM1H,EAAuB,SACxD,wBACA,OACA,wDAAA,EAEG,KAAA,uBAAuB,kBAAkB0H,CAAoB,EAClE,MACF,CAEK,KAAA,cAAc,IAAI,YAAY,SAAU,CAAC,OAAQ,CAAC,SAAA/G,EAAU,CAAA,CAAC,CACpE,EA8EA4D,GAAA,IAAA,QAAAC,GAAmB,UAAG,CACpB,MAAI,CAAC,KAAK,OAAS,KAAK,QAAU,SAAiBL,EAE5CtB,8BAAiC,KAAK,KAAK,SACpD,EAtKmB0E,EAwKZ,OAAyB,CAC9B5D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,KAgDF,EAvNAN,EAAA,CADCiC,GAAM,WAAW,CAAA,EADCiC,EAEnB,UAAA,kBAAA,CAAA,EAGAlE,EAAA,CADCiC,GAAM,kBAAkB,CAAA,EAJNiC,EAKnB,UAAA,yBAAA,CAAA,EAGAlE,EAAA,CADCC,EAAS,CAAA,EAPSiE,EAQnB,UAAA,QAAA,CAAA,EAGAlE,EAAA,CADCC,EAAS,CAAA,EAVSiE,EAWnB,UAAA,QAAA,CAAA,EAGAlE,EAAA,CADCC,EAAS,CAAA,EAbSiE,EAcnB,UAAA,SAAA,CAAA,EAGAlE,EAAA,CADCC,EAAS,CAAA,EAhBSiE,EAiBnB,UAAA,WAAA,CAAA,EAGAlE,EAAA,CADCwB,EAAM,CAAA,EAnBY0C,EAoBnB,UAAA,iBAAA,CAAA,EApBmBA,EAArBlE,EAAA,CADCE,EAAc,yBAAyB,CAAA,EACnBgE,CAAA,uMCLrB,IAAqBI,GAArB,cAA0DjF,CAAW,CAArE,aAAA,CAAA,MAAA,GAAA,SAAA,EAEW,KAAA,OAAA,GAGC,KAAA,QAAA,EAAA,CAEV,QAAS,CACA,OAAAG;AAAAA;AAAAA,cAEG,KAAK,MAAM;AAAA,gBACT,KAAK,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAO1B,CAsCF,EAxDqB8E,GAoBZ,OAAyB,CAC9BhE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,KAkCF,EArDAN,GAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,CAAA,EADPqE,GAEnB,UAAA,SAAA,CAAA,EAGAtE,GAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,CAAA,EAJPqE,GAKnB,UAAA,UAAA,CAAA,EALmBA,GAArBtE,GAAA,CADCE,EAAc,yBAAyB,CAAA,EACnBoE,EAAA,uMCArB,IAAqBC,GAArB,cAAmDlF,CAAW,CAA9D,aAAA,CAAA,MAAA,GAAA,SAAA,EAEW,KAAA,OAAA,GAGC,KAAA,QAAA,EAAA,CAEV,QAAS,CACA,OAAAG;AAAAA;AAAAA,cAEG,KAAK,MAAM;AAAA,gBACT,KAAK,OAAO;AAAA;AAAA;AAAA;AAAA,KAK1B,CAsCF,EAtDqB+E,GAkBZ,OAAyB,CAC9BjE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,KAkCF,EAnDAN,GAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,CAAA,EADPsE,GAEnB,UAAA,SAAA,CAAA,EAGAvE,GAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,CAAA,EAJPsE,GAKnB,UAAA,UAAA,CAAA,EALmBA,GAArBvE,GAAA,CADCE,EAAc,kBAAkB,CAAA,EACZqE,EAAA,uMCIrB,MAAMC,WAAwBC,GAAAA,eAAgB,CACnC,WAAWC,EAA2B,CAE7C,GAAIA,EAAS,WAAW,IAAI,GAAKA,EAAS,SAAS,IAAI,EAC9C,MAAA,GAIL,MAAAC,EAAO,KAAK,YAAYD,CAAQ,EAEtC,YAAKE,GAAU,EAAE,UAAWC,GAAU,CACjCA,EAAMH,CAAQ,EACjBC,EAAK,IAAME,EAAMH,CAAQ,EAAE,QAAQ,OAAQ,0BAA0B,EAG7D,QAAA,KAAK,QAAQA,CAAQ,YAAY,CAC1C,CACA,EAEM,EACR,CAECI,GAAe,GACfC,GAAS,IAAIrK,GAAsC,CAAC,EACpDkK,IAAgD,CAC1C,OAAC,KAAKE,KACR,KAAKA,GAAe,GACpB,MAAM,qCAAqC,EACxC,KAAMjJ,GAAa,CACd,GAAA,CAACA,EAAS,GACN,MAAA,IAAI,MAAM,uBAAuB,EAGzC,OAAOA,EAAS,MAAK,CACtB,EACA,KAAMgJ,GAAU,CACV,KAAAE,GAAO,KAAKF,CAAK,EACtB,KAAKE,GAAO,UAAS,CACtB,GAGE,KAAKA,GAAO,cACrB,CACF,CAGa,IAAAC,GAAN,cAA+CC,GAAAA,sBAAuB,CAC3E,aAAc,CACN,QACF,IAAAC,4BAA2B,EAAA,OAAO,IAAI,EACrC,KAAA,SAAW,IAAIV,EACtB,CAEU,kBAAmB,CACpB,OAAA,IACT,CACF,EAVaQ,GAANhF,GAAA,CADNE,EAAc,8BAA8B,CAAA,EAChC8E,EAAA,ukBCtDbG,EAAAC,EAAAC,GAAAC,GAMA,IAAqBC,GAArB,cAAkDlG,CAAW,CAA7D,aAAA,CAAA,MAAA,GAAA,SAAA,EAyBQC,GAAA,KAAA+F,EAAA,EALN,KAAU,UAAiB,KAE3B/F,GAAA,KAAA6F,EAAA,MAAA,EACc7F,GAAA,KAAA8F,EAAA,EAAA,CAAA,CArBd,IAAI,WAAY1Q,EAAe,CAC7B8O,GAAA,KAAK4B,EAAc1Q,CAAA,EACnB6K,GAAA,KAAK8F,GAALC,EAAA,EAAA,KAAA,IAAA,CACF,CACA,IAAI,YAAc,CAChB,OAAO/D,EAAK,KAAA6D,CAAA,CACd,CAGA,IAAI,KAAM1Q,EAAY,CACpB8O,GAAA,KAAK2B,EAAQzQ,CAAA,EACb6K,GAAA,KAAK8F,GAALC,EAAA,EAAA,KAAA,IAAA,CACF,CACA,IAAI,MAAQ,CACV,OAAO/D,EAAK,KAAA4D,CAAA,CACd,CAwBA,QAAS,CACA,OAAAtF,EAAM,KAAK,SAAS,CAC7B,CACF,EAtBEsF,EAAA,IAAA,QACAC,EAAA,IAAA,QAEMC,GAAA,IAAA,QAAAC,GAAS,gBAAG,CAChB,GAAI,CAAC/D,EAAA,KAAK6D,CAAe,GAAA,CAAC7D,OAAK6D,CAAY,EAAA,SAAS,KAAK,GAAK,CAAC7D,EAAA,KAAK6D,CAAY,EAAA,SAAS,OAAO,EAC9F,OAGF,MAAMxC,EAAa,MAAMV,GAAeX,EAAA,KAAK6D,CAAW,CAAA,EAEpD7D,OAAK4D,CAAO,GACP,OAAA,QAAQ5D,OAAK4D,CAAK,CAAA,EAAE,QAAQ,CAAC,CAACjJ,EAAKxH,CAAK,IAAM,CAClDkO,EAAmB1G,CAAG,EAAIxH,CAAA,CAC5B,EAGE,KAAA,UAAY2N,GAAiBO,CAAU,CAC9C,EArCI5C,GAAA,CADHC,EAAS,CAAE,UAAW,cAAe,CAAA,EADnBsF,GAEf,UAAA,aAAA,CAAA,EASAvF,GAAA,CADHC,EAAS,CAAE,KAAM,OAAQ,UAAW,OAAO,CAAA,EAVzBsF,GAWf,UAAA,OAAA,CAAA,EASMvF,GAAA,CADTwB,EAAM,CAAA,EAnBY+D,GAoBT,UAAA,YAAA,CAAA,EApBSA,GAArBvF,GAAA,CADCE,EAAc,iBAAiB,CAAA,EACXqF,EAAA,ubCNrBC,GAAAC,GAea,IAAAC,GAAN,cAAiCrG,CAAW,CAA5C,aAAA,CAAA,MAAA,GAAA,SAAA,EAYAC,GAAA,KAAAkG,EAAA,EAPE,KAAA,MAAA,EAAA,CAER,mBAAoB,CACnB,MAAM,kBAAkB,EACxBjG,GAAA,KAAKiG,GAALC,EAAA,EAAA,KAAA,IAAA,CACD,CAUA,MAAM,SAASvJ,EAAaE,EAAoC,CAC/D,OAAOO,EAAuB,SAAST,EAAK,OAAWE,CAAQ,CAChE,CAEA,QAAS,CACR,OAAO,KAAK,MAAQoD,IAAO8C,GAAW,KAAK,KAAK,CAAC,GAAK9C,gBACvD,CACD,EAfOgG,GAAA,IAAA,QAAAC,GAAK,gBAAG,CACT,GAAA,CACH,KAAK,MAAQ,MAAM,KAAK,SAAS,KAAK,GAAG,QACjCrR,EAAY,CACpB,QAAQ,MAAM,0BAA2B,KAAK,IAAKA,CAAK,CACzD,CACD,EAhBA4L,GAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,CAAA,EADdyF,GAEZ,UAAA,MAAA,CAAA,EAGA1F,GAAA,CADCwB,EAAM,CAAA,EAJKkE,GAKZ,UAAA,QAAA,CAAA,EALYA,GAAN1F,GAAA,CADNE,EAAc,cAAc,CAAA,EAChBwF,EAAA","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,43,47]}