@block-auth.io/blockauth-sdk-react 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,142 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./main-BSNnXBCm.cjs"),t=e.i`
2
- :host {
3
- z-index: var(--w3m-z-index);
4
- display: block;
5
- backface-visibility: hidden;
6
- will-change: opacity;
7
- position: fixed;
8
- top: 0;
9
- left: 0;
10
- right: 0;
11
- bottom: 0;
12
- pointer-events: none;
13
- opacity: 0;
14
- background-color: var(--wui-cover);
15
- transition: opacity 0.2s var(--wui-ease-out-power-2);
16
- will-change: opacity;
17
- }
18
-
19
- :host(.open) {
20
- opacity: 1;
21
- }
22
-
23
- wui-card {
24
- max-width: var(--w3m-modal-width);
25
- width: 100%;
26
- position: relative;
27
- animation: zoom-in 0.2s var(--wui-ease-out-power-2);
28
- animation-fill-mode: backwards;
29
- outline: none;
30
- }
31
-
32
- wui-card[shake='true'] {
33
- animation:
34
- zoom-in 0.2s var(--wui-ease-out-power-2),
35
- w3m-shake 0.5s var(--wui-ease-out-power-2);
36
- }
37
-
38
- wui-flex {
39
- overflow-x: hidden;
40
- overflow-y: auto;
41
- display: flex;
42
- align-items: center;
43
- justify-content: center;
44
- width: 100%;
45
- height: 100%;
46
- }
47
-
48
- @media (max-height: 700px) and (min-width: 431px) {
49
- wui-flex {
50
- align-items: flex-start;
51
- }
52
-
53
- wui-card {
54
- margin: var(--wui-spacing-xxl) 0px;
55
- }
56
- }
57
-
58
- @media (max-width: 430px) {
59
- wui-flex {
60
- align-items: flex-end;
61
- }
62
-
63
- wui-card {
64
- max-width: 100%;
65
- border-bottom-left-radius: 0;
66
- border-bottom-right-radius: 0;
67
- border-bottom: none;
68
- animation: slide-in 0.2s var(--wui-ease-out-power-2);
69
- }
70
-
71
- wui-card[shake='true'] {
72
- animation:
73
- slide-in 0.2s var(--wui-ease-out-power-2),
74
- w3m-shake 0.5s var(--wui-ease-out-power-2);
75
- }
76
- }
77
-
78
- @keyframes zoom-in {
79
- 0% {
80
- transform: scale(0.95) translateY(0);
81
- }
82
- 100% {
83
- transform: scale(1) translateY(0);
84
- }
85
- }
86
-
87
- @keyframes slide-in {
88
- 0% {
89
- transform: scale(1) translateY(50px);
90
- }
91
- 100% {
92
- transform: scale(1) translateY(0);
93
- }
94
- }
95
-
96
- @keyframes w3m-shake {
97
- 0% {
98
- transform: scale(1) rotate(0deg);
99
- }
100
- 20% {
101
- transform: scale(1) rotate(-1deg);
102
- }
103
- 40% {
104
- transform: scale(1) rotate(1.5deg);
105
- }
106
- 60% {
107
- transform: scale(1) rotate(-1.5deg);
108
- }
109
- 80% {
110
- transform: scale(1) rotate(1deg);
111
- }
112
- 100% {
113
- transform: scale(1) rotate(0deg);
114
- }
115
- }
116
-
117
- @keyframes w3m-view-height {
118
- from {
119
- height: var(--prev-height);
120
- }
121
- to {
122
- height: var(--new-height);
123
- }
124
- }
125
- `;var o=function(e,t,o,i){var r,a=arguments.length,s=a<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,i);else for(var n=e.length-1;n>=0;n--)(r=e[n])&&(s=(a<3?r(s):a>3?r(t,o,s):r(t,o))||s);return a>3&&s&&Object.defineProperty(t,o,s),s};const i="scroll-lock";exports.W3mModal=class extends e.i$1{constructor(){super(),this.unsubscribe=[],this.abortController=void 0,this.open=e.ModalController.state.open,this.caipAddress=e.ChainController.state.activeCaipAddress,this.caipNetwork=e.ChainController.state.activeCaipNetwork,this.isSiweEnabled=e.OptionsController.state.isSiweEnabled,this.shake=e.ModalController.state.shake,this.initializeTheming(),e.ApiController.prefetch(),this.unsubscribe.push(e.ModalController.subscribeKey("open",e=>e?this.onOpen():this.onClose()),e.ModalController.subscribeKey("shake",e=>this.shake=e),e.AccountController.subscribeKey("siweStatus",e=>this.onSiweStatusChange(e),"eip155"),e.ChainController.subscribeKey("activeCaipNetwork",e=>this.onNewNetwork(e)),e.ChainController.subscribeKey("activeCaipAddress",e=>this.onNewAddress(e)),e.OptionsController.subscribeKey("isSiweEnabled",e=>this.isSiweEnabled=e)),e.EventsController.sendEvent({type:"track",event:"MODAL_LOADED"})}disconnectedCallback(){this.unsubscribe.forEach(e=>e()),this.onRemoveKeyboardListener()}render(){return this.open?e.x`
126
- <wui-flex @click=${this.onOverlayClick.bind(this)} data-testid="w3m-modal-overlay">
127
- <wui-card
128
- shake="${this.shake}"
129
- role="alertdialog"
130
- aria-modal="true"
131
- tabindex="0"
132
- data-testid="w3m-modal-card"
133
- >
134
- <w3m-header></w3m-header>
135
- <w3m-router></w3m-router>
136
- <w3m-snackbar></w3m-snackbar>
137
- <w3m-alertbar></w3m-alertbar>
138
- </wui-card>
139
- </wui-flex>
140
- <w3m-tooltip></w3m-tooltip>
141
- `:null}async onOverlayClick(e){e.target===e.currentTarget&&await this.handleClose()}async handleClose(){const t="ConnectingSiwe"===e.RouterController.state.view,o="ApproveTransaction"===e.RouterController.state.view;if(this.isSiweEnabled){const{SIWEController:i}=await Promise.resolve().then(()=>require("./index-BrxwR1Ko.cjs"));"success"!==i.state.status&&(t||o)?e.ModalController.shake():e.ModalController.close()}else e.ModalController.close()}initializeTheming(){const{themeVariables:t,themeMode:o}=e.ThemeController.state,i=e.UiHelperUtil.getColorTheme(o);e.initializeTheming(t,i)}onClose(){this.open=!1,this.classList.remove("open"),this.onScrollUnlock(),e.SnackController.hide(),this.onRemoveKeyboardListener()}onOpen(){this.open=!0,this.classList.add("open"),this.onScrollLock(),this.onAddKeyboardListener()}onScrollLock(){const e=document.createElement("style");e.dataset.w3m=i,e.textContent="\n body {\n touch-action: none;\n overflow: hidden;\n overscroll-behavior: contain;\n }\n w3m-modal {\n pointer-events: auto;\n }\n ",document.head.appendChild(e)}onScrollUnlock(){const e=document.head.querySelector(`style[data-w3m="${i}"]`);e&&e.remove()}onAddKeyboardListener(){var e;this.abortController=new AbortController;const t=null==(e=this.shadowRoot)?void 0:e.querySelector("wui-card");null==t||t.focus(),window.addEventListener("keydown",e=>{if("Escape"===e.key)this.handleClose();else if("Tab"===e.key){const{tagName:o}=e.target;!o||o.includes("W3M-")||o.includes("WUI-")||null==t||t.focus()}},this.abortController)}onRemoveKeyboardListener(){var e;null==(e=this.abortController)||e.abort(),this.abortController=void 0}onSiweStatusChange(t){"success"===t&&e.ModalController.close()}async onNewAddress(t){var o;const i=this.caipAddress?e.CoreHelperUtil.getPlainAddress(this.caipAddress):void 0,r=t?e.CoreHelperUtil.getPlainAddress(t):void 0;if(r&&!(i===r)&&this.isSiweEnabled){const{SIWEController:t}=await Promise.resolve().then(()=>require("./index-BrxwR1Ko.cjs")),a="success"===e.AccountController.state.siweStatus;!i&&r?this.onSiweNavigation():a&&i&&r&&i!==r&&(null==(o=t.state._client)?void 0:o.options.signOutOnAccountChange)&&(await t.signOut(),this.onSiweNavigation())}r||e.ModalController.close(),this.caipAddress=t}async onNewNetwork(t){var o,i,r,a;if(!this.caipAddress)return this.caipNetwork=t,void e.RouterController.goBack();const s=null==(i=null==(o=this.caipNetwork)?void 0:o.id)?void 0:i.toString(),n=null==(r=null==t?void 0:t.id)?void 0:r.toString();if(s&&n&&s!==n)if(this.isSiweEnabled){const{SIWEController:t}=await Promise.resolve().then(()=>require("./index-BrxwR1Ko.cjs"));(null==(a=t.state._client)?void 0:a.options.signOutOnNetworkChange)?(await t.signOut(),this.onSiweNavigation()):e.RouterController.goBack()}else e.RouterController.goBack();this.caipNetwork=t}onSiweNavigation(){const t=e.ChainController.state.activeChain===e.ConstantsUtil.CHAIN.EVM;!("success"===e.AccountController.state.siweStatus)&&t?this.open?e.RouterController.replace("ConnectingSiwe"):e.ModalController.open({view:"ConnectingSiwe"}):e.RouterController.goBack()}},exports.W3mModal.styles=t,o([e.r()],exports.W3mModal.prototype,"open",void 0),o([e.r()],exports.W3mModal.prototype,"caipAddress",void 0),o([e.r()],exports.W3mModal.prototype,"caipNetwork",void 0),o([e.r()],exports.W3mModal.prototype,"isSiweEnabled",void 0),o([e.r()],exports.W3mModal.prototype,"shake",void 0),exports.W3mModal=o([e.customElement("w3m-modal")],exports.W3mModal);
142
- //# sourceMappingURL=w3m-modal-CYPQ0c0D.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"w3m-modal-CYPQ0c0D.cjs","sources":["../node_modules/@reown/appkit-scaffold-ui/dist/esm/src/modal/w3m-modal/styles.js","../node_modules/@reown/appkit-scaffold-ui/dist/esm/src/modal/w3m-modal/index.js"],"sourcesContent":["import { css } from 'lit';\nexport default css `\n :host {\n z-index: var(--w3m-z-index);\n display: block;\n backface-visibility: hidden;\n will-change: opacity;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n pointer-events: none;\n opacity: 0;\n background-color: var(--wui-cover);\n transition: opacity 0.2s var(--wui-ease-out-power-2);\n will-change: opacity;\n }\n\n :host(.open) {\n opacity: 1;\n }\n\n wui-card {\n max-width: var(--w3m-modal-width);\n width: 100%;\n position: relative;\n animation: zoom-in 0.2s var(--wui-ease-out-power-2);\n animation-fill-mode: backwards;\n outline: none;\n }\n\n wui-card[shake='true'] {\n animation:\n zoom-in 0.2s var(--wui-ease-out-power-2),\n w3m-shake 0.5s var(--wui-ease-out-power-2);\n }\n\n wui-flex {\n overflow-x: hidden;\n overflow-y: auto;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n }\n\n @media (max-height: 700px) and (min-width: 431px) {\n wui-flex {\n align-items: flex-start;\n }\n\n wui-card {\n margin: var(--wui-spacing-xxl) 0px;\n }\n }\n\n @media (max-width: 430px) {\n wui-flex {\n align-items: flex-end;\n }\n\n wui-card {\n max-width: 100%;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom: none;\n animation: slide-in 0.2s var(--wui-ease-out-power-2);\n }\n\n wui-card[shake='true'] {\n animation:\n slide-in 0.2s var(--wui-ease-out-power-2),\n w3m-shake 0.5s var(--wui-ease-out-power-2);\n }\n }\n\n @keyframes zoom-in {\n 0% {\n transform: scale(0.95) translateY(0);\n }\n 100% {\n transform: scale(1) translateY(0);\n }\n }\n\n @keyframes slide-in {\n 0% {\n transform: scale(1) translateY(50px);\n }\n 100% {\n transform: scale(1) translateY(0);\n }\n }\n\n @keyframes w3m-shake {\n 0% {\n transform: scale(1) rotate(0deg);\n }\n 20% {\n transform: scale(1) rotate(-1deg);\n }\n 40% {\n transform: scale(1) rotate(1.5deg);\n }\n 60% {\n transform: scale(1) rotate(-1.5deg);\n }\n 80% {\n transform: scale(1) rotate(1deg);\n }\n 100% {\n transform: scale(1) rotate(0deg);\n }\n }\n\n @keyframes w3m-view-height {\n from {\n height: var(--prev-height);\n }\n to {\n height: var(--new-height);\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 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};\nimport { AccountController, ApiController, ChainController, CoreHelperUtil, EventsController, ModalController, OptionsController, RouterController, SnackController, ThemeController } from '@reown/appkit-core';\nimport { UiHelperUtil, customElement, initializeTheming } from '@reown/appkit-ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport styles from './styles.js';\nimport { ConstantsUtil } from '@reown/appkit-common';\nconst SCROLL_LOCK = 'scroll-lock';\nlet W3mModal = class W3mModal extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.abortController = undefined;\n this.open = ModalController.state.open;\n this.caipAddress = ChainController.state.activeCaipAddress;\n this.caipNetwork = ChainController.state.activeCaipNetwork;\n this.isSiweEnabled = OptionsController.state.isSiweEnabled;\n this.shake = ModalController.state.shake;\n this.initializeTheming();\n ApiController.prefetch();\n this.unsubscribe.push(...[\n ModalController.subscribeKey('open', val => (val ? this.onOpen() : this.onClose())),\n ModalController.subscribeKey('shake', val => (this.shake = val)),\n AccountController.subscribeKey('siweStatus', val => this.onSiweStatusChange(val), 'eip155'),\n ChainController.subscribeKey('activeCaipNetwork', val => this.onNewNetwork(val)),\n ChainController.subscribeKey('activeCaipAddress', val => this.onNewAddress(val)),\n OptionsController.subscribeKey('isSiweEnabled', val => (this.isSiweEnabled = val))\n ]);\n EventsController.sendEvent({ type: 'track', event: 'MODAL_LOADED' });\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n this.onRemoveKeyboardListener();\n }\n render() {\n return this.open\n ? html `\n <wui-flex @click=${this.onOverlayClick.bind(this)} data-testid=\"w3m-modal-overlay\">\n <wui-card\n shake=\"${this.shake}\"\n role=\"alertdialog\"\n aria-modal=\"true\"\n tabindex=\"0\"\n data-testid=\"w3m-modal-card\"\n >\n <w3m-header></w3m-header>\n <w3m-router></w3m-router>\n <w3m-snackbar></w3m-snackbar>\n <w3m-alertbar></w3m-alertbar>\n </wui-card>\n </wui-flex>\n <w3m-tooltip></w3m-tooltip>\n `\n : null;\n }\n async onOverlayClick(event) {\n if (event.target === event.currentTarget) {\n await this.handleClose();\n }\n }\n async handleClose() {\n const isSiweSignScreen = RouterController.state.view === 'ConnectingSiwe';\n const isApproveSignScreen = RouterController.state.view === 'ApproveTransaction';\n if (this.isSiweEnabled) {\n const { SIWEController } = await import('@reown/appkit-siwe');\n const isUnauthenticated = SIWEController.state.status !== 'success';\n if (isUnauthenticated && (isSiweSignScreen || isApproveSignScreen)) {\n ModalController.shake();\n }\n else {\n ModalController.close();\n }\n }\n else {\n ModalController.close();\n }\n }\n initializeTheming() {\n const { themeVariables, themeMode } = ThemeController.state;\n const defaultThemeMode = UiHelperUtil.getColorTheme(themeMode);\n initializeTheming(themeVariables, defaultThemeMode);\n }\n onClose() {\n this.open = false;\n this.classList.remove('open');\n this.onScrollUnlock();\n SnackController.hide();\n this.onRemoveKeyboardListener();\n }\n onOpen() {\n this.open = true;\n this.classList.add('open');\n this.onScrollLock();\n this.onAddKeyboardListener();\n }\n onScrollLock() {\n const styleTag = document.createElement('style');\n styleTag.dataset['w3m'] = SCROLL_LOCK;\n styleTag.textContent = `\n body {\n touch-action: none;\n overflow: hidden;\n overscroll-behavior: contain;\n }\n w3m-modal {\n pointer-events: auto;\n }\n `;\n document.head.appendChild(styleTag);\n }\n onScrollUnlock() {\n const styleTag = document.head.querySelector(`style[data-w3m=\"${SCROLL_LOCK}\"]`);\n if (styleTag) {\n styleTag.remove();\n }\n }\n onAddKeyboardListener() {\n this.abortController = new AbortController();\n const card = this.shadowRoot?.querySelector('wui-card');\n card?.focus();\n window.addEventListener('keydown', event => {\n if (event.key === 'Escape') {\n this.handleClose();\n }\n else if (event.key === 'Tab') {\n const { tagName } = event.target;\n if (tagName && !tagName.includes('W3M-') && !tagName.includes('WUI-')) {\n card?.focus();\n }\n }\n }, this.abortController);\n }\n onRemoveKeyboardListener() {\n this.abortController?.abort();\n this.abortController = undefined;\n }\n onSiweStatusChange(nextStatus) {\n if (nextStatus === 'success') {\n ModalController.close();\n }\n }\n async onNewAddress(caipAddress) {\n const prevConnected = this.caipAddress\n ? CoreHelperUtil.getPlainAddress(this.caipAddress)\n : undefined;\n const nextConnected = caipAddress ? CoreHelperUtil.getPlainAddress(caipAddress) : undefined;\n const isSameAddress = prevConnected === nextConnected;\n if (nextConnected && !isSameAddress && this.isSiweEnabled) {\n const { SIWEController } = await import('@reown/appkit-siwe');\n const signed = AccountController.state.siweStatus === 'success';\n if (!prevConnected && nextConnected) {\n this.onSiweNavigation();\n }\n else if (signed && prevConnected && nextConnected && prevConnected !== nextConnected) {\n if (SIWEController.state._client?.options.signOutOnAccountChange) {\n await SIWEController.signOut();\n this.onSiweNavigation();\n }\n }\n }\n if (!nextConnected) {\n ModalController.close();\n }\n this.caipAddress = caipAddress;\n }\n async onNewNetwork(nextCaipNetwork) {\n if (!this.caipAddress) {\n this.caipNetwork = nextCaipNetwork;\n RouterController.goBack();\n return;\n }\n const prevCaipNetworkId = this.caipNetwork?.id?.toString();\n const nextNetworkId = nextCaipNetwork?.id?.toString();\n if (prevCaipNetworkId && nextNetworkId && prevCaipNetworkId !== nextNetworkId) {\n if (this.isSiweEnabled) {\n const { SIWEController } = await import('@reown/appkit-siwe');\n if (SIWEController.state._client?.options.signOutOnNetworkChange) {\n await SIWEController.signOut();\n this.onSiweNavigation();\n }\n else {\n RouterController.goBack();\n }\n }\n else {\n RouterController.goBack();\n }\n }\n this.caipNetwork = nextCaipNetwork;\n }\n onSiweNavigation() {\n const isEIP155Namespace = ChainController.state.activeChain === ConstantsUtil.CHAIN.EVM;\n const authenticated = AccountController.state.siweStatus === 'success';\n if (!authenticated && isEIP155Namespace) {\n if (this.open) {\n RouterController.replace('ConnectingSiwe');\n }\n else {\n ModalController.open({\n view: 'ConnectingSiwe'\n });\n }\n }\n else {\n RouterController.goBack();\n }\n }\n};\nW3mModal.styles = styles;\n__decorate([\n state()\n], W3mModal.prototype, \"open\", void 0);\n__decorate([\n state()\n], W3mModal.prototype, \"caipAddress\", void 0);\n__decorate([\n state()\n], W3mModal.prototype, \"caipNetwork\", void 0);\n__decorate([\n state()\n], W3mModal.prototype, \"isSiweEnabled\", void 0);\n__decorate([\n state()\n], W3mModal.prototype, \"shake\", void 0);\nW3mModal = __decorate([\n customElement('w3m-modal')\n], W3mModal);\nexport { W3mModal };\n//# sourceMappingURL=index.js.map"],"names":["styles","css","__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","SCROLL_LOCK","W3mModal","LitElement","constructor","super","this","unsubscribe","abortController","open","ModalController","state","caipAddress","ChainController","activeCaipAddress","caipNetwork","activeCaipNetwork","isSiweEnabled","OptionsController","shake","initializeTheming","ApiController","prefetch","push","subscribeKey","val","onOpen","onClose","AccountController","onSiweStatusChange","onNewNetwork","onNewAddress","EventsController","sendEvent","type","event","disconnectedCallback","forEach","onRemoveKeyboardListener","render","html","onOverlayClick","bind","currentTarget","handleClose","isSiweSignScreen","RouterController","view","isApproveSignScreen","SIWEController","Promise","resolve","then","require","status","close","themeVariables","themeMode","ThemeController","defaultThemeMode","UiHelperUtil","getColorTheme","classList","remove","onScrollUnlock","SnackController","hide","add","onScrollLock","onAddKeyboardListener","styleTag","document","createElement","dataset","textContent","head","appendChild","querySelector","AbortController","card","_a","shadowRoot","focus","window","addEventListener","tagName","includes","abort","nextStatus","prevConnected","CoreHelperUtil","getPlainAddress","nextConnected","signed","siweStatus","onSiweNavigation","_client","options","signOutOnAccountChange","signOut","nextCaipNetwork","goBack","prevCaipNetworkId","_b","id","toString","nextNetworkId","_c","_d","signOutOnNetworkChange","isEIP155Namespace","activeChain","ConstantsUtil","CHAIN","EVM","replace","prototype","customElement"],"mappings":"uHACAA,EAAeC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ECDf,IAAIC,EAA0C,SAAUC,EAAYC,EAAQC,EAAKC,GAC7E,IAA2HC,EAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,EACrH,GAAuB,iBAAZQ,SAAoD,mBAArBA,QAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,QACpH,IAAA,IAASU,EAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,GAChJ,OAAOH,EAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,CAChE,EAOA,MAAMO,EAAc,cAChBC,QAAAA,SAAW,cAAuBC,MAClC,WAAAC,GACIC,QACAC,KAAKC,YAAc,GACnBD,KAAKE,qBAAkB,EACvBF,KAAKG,KAAOC,kBAAgBC,MAAMF,KAClCH,KAAKM,YAAcC,kBAAgBF,MAAMG,kBACzCR,KAAKS,YAAcF,kBAAgBF,MAAMK,kBACzCV,KAAKW,cAAgBC,oBAAkBP,MAAMM,cAC7CX,KAAKa,MAAQT,kBAAgBC,MAAMQ,MACnCb,KAAKc,oBACLC,EAAAA,cAAcC,WACdhB,KAAKC,YAAYgB,KACbb,EAAAA,gBAAgBc,aAAa,OAAQC,GAAQA,EAAMnB,KAAKoB,SAAWpB,KAAKqB,WACxEjB,EAAAA,gBAAgBc,aAAa,QAASC,GAAQnB,KAAKa,MAAQM,GAC3DG,oBAAkBJ,aAAa,gBAAqBlB,KAAKuB,mBAAmBJ,GAAM,UAClFZ,EAAAA,gBAAgBW,aAAa,uBAA4BlB,KAAKwB,aAAaL,IAC3EZ,EAAAA,gBAAgBW,aAAa,uBAA4BlB,KAAKyB,aAAaN,IAC3EP,EAAAA,kBAAkBM,aAAa,gBAAiBC,GAAQnB,KAAKW,cAAgBQ,IAEjFO,EAAAA,iBAAiBC,UAAU,CAAEC,KAAM,QAASC,MAAO,gBACvD,CACA,oBAAAC,GACI9B,KAAKC,YAAY8B,QAAQ9B,GAAeA,KACxCD,KAAKgC,0BACT,CACA,MAAAC,GACI,OAAOjC,KAAKG,KACN+B;6BACelC,KAAKmC,eAAeC,KAAKpC;;uBAE/BA,KAAKa;;;;;;;;;;;;;UAcd,IACV,CACA,oBAAMsB,CAAeN,GACbA,EAAMhD,SAAWgD,EAAMQ,qBACjBrC,KAAKsC,aAEnB,CACA,iBAAMA,GACF,MAAMC,EAAmD,mBAAhCC,EAAAA,iBAAiBnC,MAAMoC,KAC1CC,EAAsD,uBAAhCF,EAAAA,iBAAiBnC,MAAMoC,KACnD,GAAIzC,KAAKW,cAAe,CACpB,MAAMgC,eAAEA,SAAyBC,QAAAC,UAAAC,KAAA,IAAAC,QAAO,yBACkB,YAAhCJ,EAAetC,MAAM2C,SACrBT,GAAoBG,GAC1CtC,EAAAA,gBAAgBS,QAGhBT,EAAAA,gBAAgB6C,OAExB,MAEI7C,EAAAA,gBAAgB6C,OAExB,CACA,iBAAAnC,GACI,MAAMoC,eAAEA,EAAAC,UAAgBA,GAAcC,EAAAA,gBAAgB/C,MAChDgD,EAAmBC,EAAAA,aAAaC,cAAcJ,GACpDrC,EAAAA,kBAAkBoC,EAAgBG,EACtC,CACA,OAAAhC,GACIrB,KAAKG,MAAO,EACZH,KAAKwD,UAAUC,OAAO,QACtBzD,KAAK0D,iBACLC,EAAAA,gBAAgBC,OAChB5D,KAAKgC,0BACT,CACA,MAAAZ,GACIpB,KAAKG,MAAO,EACZH,KAAKwD,UAAUK,IAAI,QACnB7D,KAAK8D,eACL9D,KAAK+D,uBACT,CACA,YAAAD,GACI,MAAME,EAAWC,SAASC,cAAc,SACxCF,EAASG,QAAa,IAAIxE,EAC1BqE,EAASI,YAAc,0LAUvBH,SAASI,KAAKC,YAAYN,EAC9B,CACA,cAAAN,GACI,MAAMM,EAAWC,SAASI,KAAKE,cAAc,mBAAmB5E,OAC5DqE,GACAA,EAASP,QAEjB,CACA,qBAAAM,SACI/D,KAAKE,gBAAkB,IAAIsE,gBAC3B,MAAMC,EAAO,OAAAC,EAAA1E,KAAK2E,iBAAL,EAAAD,EAAiBH,cAAc,YAC5C,MAAAE,GAAAA,EAAMG,QACNC,OAAOC,iBAAiB,UAAWjD,IAC/B,GAAkB,WAAdA,EAAM/C,IACNkB,KAAKsC,mBACT,GACuB,QAAdT,EAAM/C,IAAe,CAC1B,MAAMiG,QAAEA,GAAYlD,EAAMhD,QACtBkG,GAAYA,EAAQC,SAAS,SAAYD,EAAQC,SAAS,SAC1D,MAAAP,GAAAA,EAAMG,OAEd,GACD5E,KAAKE,gBACZ,CACA,wBAAA8B,SACI,OAAA0C,EAAA1E,KAAKE,kBAALwE,EAAsBO,QACtBjF,KAAKE,qBAAkB,CAC3B,CACA,kBAAAqB,CAAmB2D,GACI,YAAfA,GACA9E,EAAAA,gBAAgB6C,OAExB,CACA,kBAAMxB,CAAanB,SACf,MAAM6E,EAAgBnF,KAAKM,YACrB8E,iBAAeC,gBAAgBrF,KAAKM,kBACpC,EACAgF,EAAgBhF,EAAc8E,EAAAA,eAAeC,gBAAgB/E,QAAe,EAElF,GAAIgF,KADkBH,IAAkBG,IACDtF,KAAKW,cAAe,CACvD,MAAMgC,eAAEA,SAAyBC,QAAAC,UAAAC,KAAA,IAAAC,QAAO,yBAClCwC,EAAgD,YAAvCjE,EAAAA,kBAAkBjB,MAAMmF,YAClCL,GAAiBG,EAClBtF,KAAKyF,mBAEAF,GAAUJ,GAAiBG,GAAiBH,IAAkBG,IAC/D,OAAAZ,EAAA/B,EAAetC,MAAMqF,cAArB,EAAAhB,EAA8BiB,QAAQC,gCAChCjD,EAAekD,UACrB7F,KAAKyF,mBAGjB,CACKH,GACDlF,EAAAA,gBAAgB6C,QAEpBjD,KAAKM,YAAcA,CACvB,CACA,kBAAMkB,CAAasE,eACf,IAAK9F,KAAKM,YAGN,OAFAN,KAAKS,YAAcqF,OACnBtD,EAAAA,iBAAiBuD,SAGrB,MAAMC,EAAoB,OAAAC,EAAA,OAAAvB,EAAA1E,KAAKS,kBAAL,EAAAiE,EAAkBwB,SAAlB,EAAAD,EAAsBE,WAC1CC,EAAgB,OAAAC,EAAA,MAAAP,OAAA,EAAAA,EAAiBI,SAAjB,EAAAG,EAAqBF,WAC3C,GAAIH,GAAqBI,GAAiBJ,IAAsBI,EAC5D,GAAIpG,KAAKW,cAAe,CACpB,MAAMgC,eAAEA,SAAyBC,QAAAC,UAAAC,KAAA,IAAAC,QAAO,0BACpC,OAAAuD,EAAA3D,EAAetC,MAAMqF,cAArB,EAAAY,EAA8BX,QAAQY,+BAChC5D,EAAekD,UACrB7F,KAAKyF,oBAGLjD,EAAAA,iBAAiBuD,QAEzB,MAEIvD,EAAAA,iBAAiBuD,SAGzB/F,KAAKS,YAAcqF,CACvB,CACA,gBAAAL,GACI,MAAMe,EAAoBjG,EAAAA,gBAAgBF,MAAMoG,cAAgBC,EAAAA,cAAcC,MAAMC,MACvB,YAAvCtF,EAAAA,kBAAkBjB,MAAMmF,aACxBgB,EACdxG,KAAKG,KACLqC,EAAAA,iBAAiBqE,QAAQ,kBAGzBzG,EAAAA,gBAAgBD,KAAK,CACjBsC,KAAM,mBAKdD,EAAAA,iBAAiBuD,QAEzB,GAEJnG,QAAAA,SAASnB,OAASA,EAClBE,EAAW,CACP0B,EAAAA,KACDT,iBAASkH,UAAW,YAAQ,GAC/BnI,EAAW,CACP0B,EAAAA,KACDT,iBAASkH,UAAW,mBAAe,GACtCnI,EAAW,CACP0B,EAAAA,KACDT,iBAASkH,UAAW,mBAAe,GACtCnI,EAAW,CACP0B,EAAAA,KACDT,iBAASkH,UAAW,qBAAiB,GACxCnI,EAAW,CACP0B,EAAAA,KACDT,iBAASkH,UAAW,aAAS,GAChClH,QAAAA,SAAWjB,EAAW,CAClBoI,EAAAA,cAAc,cACfnH","x_google_ignoreList":[0,1]}