@opencampus/ocid-connect-js 1.2.3 → 1.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +11 -7
  2. package/dist/ocid-connect-js.js +165 -74
  3. package/dist/ocid-connect-js.js.map +1 -1
  4. package/lib/index.d.ts +2 -0
  5. package/lib/react/LoginButton.d.ts +6 -0
  6. package/lib/react/LoginCallBack.d.ts +7 -0
  7. package/lib/react/LoginCallBack.js +2 -1
  8. package/lib/react/OCConnect.d.ts +7 -0
  9. package/lib/react/OCConnect.js +12 -8
  10. package/lib/react/OCContext.d.ts +3 -0
  11. package/lib/react/index.d.ts +4 -0
  12. package/lib/sdk/auth.d.ts +31 -0
  13. package/lib/sdk/auth.js +3 -3
  14. package/lib/sdk/crypto/base64.d.ts +5 -0
  15. package/lib/sdk/crypto/index.d.ts +3 -0
  16. package/lib/sdk/crypto/verifyToken.d.ts +1 -0
  17. package/lib/sdk/crypto/webcrypto.d.ts +13 -0
  18. package/lib/sdk/endpoints/buildAuthEndpointUrl.d.ts +1 -0
  19. package/lib/sdk/endpoints/index.d.ts +1 -0
  20. package/lib/sdk/index.d.ts +2 -0
  21. package/lib/sdk/lib/AuthInfoManager.d.ts +11 -0
  22. package/lib/sdk/lib/AuthInfoManager.js +4 -1
  23. package/lib/sdk/lib/CookieStorageProvider.d.ts +8 -0
  24. package/lib/sdk/lib/CookieStorageProvider.js +16 -5
  25. package/lib/sdk/lib/StorageManager.d.ts +23 -0
  26. package/lib/sdk/lib/StorageManager.js +1 -1
  27. package/lib/sdk/lib/TokenManager.d.ts +16 -0
  28. package/lib/sdk/lib/TransactionManager.d.ts +9 -0
  29. package/lib/sdk/lib/index.d.ts +3 -0
  30. package/lib/sdk/lib/pkce.d.ts +11 -0
  31. package/lib/sdk/utils/createPkceMeta.d.ts +5 -0
  32. package/lib/sdk/utils/errors.d.ts +15 -0
  33. package/lib/sdk/utils/index.d.ts +4 -0
  34. package/lib/sdk/utils/jwtParser.d.ts +1 -0
  35. package/lib/sdk/utils/prepareTokenParams.d.ts +8 -0
  36. package/lib/sdk/utils/urlParser.d.ts +5 -0
  37. package/package.json +6 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://Slider/webpack/universalModuleDefinition","webpack://Slider/webpack/bootstrap","webpack://Slider/./src/index.js","webpack://Slider/./src/react/index.js","webpack://Slider/./src/react/LoginButton.js","webpack://Slider/external {\"root\":\"react\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack://Slider/./src/react/OCContext.js","webpack://Slider/./src/react/LoginCallBack.js","webpack://Slider/./src/react/OCConnect.js","webpack://Slider/./src/sdk/auth.js","webpack://Slider/./src/sdk/lib/AuthInfoManager.js","webpack://Slider/./src/sdk/lib/TokenManager.js","webpack://Slider/./src/sdk/utils/index.js","webpack://Slider/./src/sdk/utils/urlParser.js","webpack://Slider/./src/sdk/utils/prepareTokenParams.js","webpack://Slider/./src/sdk/lib/pkce.js","webpack://Slider/./src/sdk/crypto/index.js","webpack://Slider/./src/sdk/crypto/webcrypto.js","webpack://Slider/./src/sdk/crypto/base64.js","webpack://Slider/./src/sdk/crypto/verifyToken.js","webpack://Slider/./src/sdk/utils/errors.js","webpack://Slider/./src/sdk/utils/createPkceMeta.js","webpack://Slider/./src/sdk/utils/jwtParser.js","webpack://Slider/./src/sdk/lib/TransactionManager.js","webpack://Slider/./src/sdk/lib/StorageManager.js","webpack://Slider/./src/sdk/lib/CookieStorageProvider.js","webpack://Slider/./node_modules/js-cookie/dist/js.cookie.js","webpack://Slider/./src/sdk/endpoints/index.js","webpack://Slider/./src/sdk/endpoints/buildAuthEndpointUrl.js","webpack://Slider/./src/sdk/index.js","webpack://Slider/./src/sdk/lib/index.js"],"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","lightTheme","background","color","button","border","colorSuccess","darkTheme","neutralTheme","ocBlueTheme","themes","light","dark","neutral","ocBlue","genStyle","theme","pill","undefined","display","alignItems","height","width","padding","fontSize","borderColor","borderRadius","LoginButton","_ref","disabled","_useOCAuth","useOCAuth","ocAuth","customTheme","loginWithRedirect","_ref2","_callee","_callee$","_context","signInWithRedirect","state","style","React","createElement","onClick","alt","src","marginLeft","OCContext","handledRedirect","LoginCallBack","successCallback","errorCallback","customErrorComponent","customLoadingComponent","authState","setAuthError","useEffect","handleLogin","handleLoginRedirect","t0","error","message","OCConnect","children","opts","sandboxMode","_useState","useState","_useState2","_slicedToArray","setOcAuth","_useState3","_useState4","OCId","setOCId","_useState5","_useState6","ethAddress","setEthAddress","_useState7","isAuthenticated","_useState8","setAuthState","_useState9","_useState10","authError","updateAuthState","authSdk","OCAuthSandbox","OCAuthLive","getAuthState","authInfoManager","subscribe","unsubscribe","Provider","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_defineProperty","_toPrimitive","toPrimitive","String","Number","OCAuthCore","loginEndpoint","redirectUri","transactionManager","tokenManager","referralCode","logoutEndPoint","AuthInfoManager","loginEndPoint","syncAuthInfo","clearStorage","clear","_logout","logoutReturnTo","url","URL","searchParams","append","window","location","assign","toString","logout","_x","_signInWithRedirect","_callee2","params","paramsClone","signinParams","meta","requestUrl","_callee2$","_context2","prepareTokenParams","createPkceMeta","save","buildAuthEndpointUrl","_x2","_handleLoginRedirect","_callee3","urlParams","codeVerifier","_callee3$","_context3","parseUrl","code","getTransactionMeta","exchangeTokenFromCode","AuthError","hasExpired","_this$getParsedIdToke","getParsedIdToken","edu_username","eth_address","getAccessToken","getIdToken","getStateParameter","idToken","parseJwt","getParsedAccessToken","accessToken","get","_info$OCId","info","_info$ethAddress","LIVE_PUBLIC_KEY","SANDBOX_PUBLIC_KEY","_OCAuthCore2","overrideTokenEndpoint","tokenEndPoint","overrideLoginEndpoint","overrideLogoutEndpoint","overridePublicKey","publicKey","tokenEndpoint","logoutEndpoint","storageClass","getStorageClass","pkceTransactionManager","TransactionManager","TokenManager","_callSuper","_inherits","_OCAuthCore3","EVENT_AUTH_STATE_CHANGE","_authState","_emitter","Emitter","emit","handler","on","off","TOKEN_STORAGE_NAME","StorageManagerClass","storageManager","getStorageObject","_exchangeTokenFromCode","accessCode","body","response","_yield$response$json","access_token","id_token","pubKey","tokenVerified","parsedAccessToken","storageData","_args","fetch","headers","JSON","stringify","json","getPublicKey","verifyToken","expired","exp","setStorage","console","log","getItem","getExpiredAt","_getPublicKey","expiredAt","cur","Math","round","Date","valueOf","queryString","search","URLSearchParams","validParams","has","codeChallenge","tokenParams","InvalidParamsError","PKCE","generateVerifier","computeChallenge","codeChallengeMethod","DEFAULT_CODE_CHALLENGE_METHOD","scope","responseType","MIN_VERIFIER_LENGTH","MAX_VERIFIER_LENGTH","dec2hex","dec","substr","getRandomString","Uint8Array","ceil","webcrypto","getRandomValues","str","Array","from","join","prefix","verifier","encodeURIComponent","buffer","TextEncoder","encode","subtle","digest","arrayBuffer","hash","fromCharCode","b64u","stringToBase64Url","atob","b","btoa","crypto","base64ToBase64Url","b64","replace","base64UrlToBase64","stringToBuffer","charCodeAt","base64UrlDecode","prepareKey","binaryDerString","format","algo","extractable","usages","preparedKey","cryptoKey","jwt","payload","b64Signature","signature","namedCurve","importKey","split","verify","InternalError","_Error","_wrapNativeSuper","_InternalError","_Error2","token","base64Url","base64","jsonPayload","decodeURIComponent","map","parse","TRANSACTION_STORAGE_NAME","getStorage","hasActiveTransaction","SavedObject","storageProvider","storageName","setItem","updateStorage","removeItem","storageString","obj","BaseStorageManager","LocalStorageManager","_BaseStorageManager2","localStorage","storageType","_BaseStorageManager3","CookieStorageManager","CookieStorageProvider","cookieDomain","domain","Cookies","set","expires","path","remove","signInParams","loginUrl","href"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;AClFA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACwB;;;;;;;;ACTxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuD;AACI;AACR;;;;;;;;;;;;;;+CCDnD,qJAAAA,mBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,CAAA,GAAAH,CAAA,CAAAI,cAAA,EAAAC,CAAA,GAAAJ,MAAA,CAAAK,cAAA,cAAAP,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAO,KAAA,KAAAC,CAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,kBAAAC,CAAA,GAAAJ,CAAA,CAAAK,aAAA,uBAAAC,CAAA,GAAAN,CAAA,CAAAO,WAAA,8BAAAC,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAC,MAAA,CAAAK,cAAA,CAAAP,CAAA,EAAAD,CAAA,IAAAS,KAAA,EAAAP,CAAA,EAAAiB,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAApB,CAAA,CAAAD,CAAA,WAAAkB,MAAA,mBAAAjB,CAAA,IAAAiB,MAAA,YAAAA,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAoB,KAAArB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAK,CAAA,GAAAV,CAAA,IAAAA,CAAA,CAAAI,SAAA,YAAAmB,SAAA,GAAAvB,CAAA,GAAAuB,SAAA,EAAAX,CAAA,GAAAT,MAAA,CAAAqB,MAAA,CAAAd,CAAA,CAAAN,SAAA,GAAAU,CAAA,OAAAW,OAAA,CAAApB,CAAA,gBAAAE,CAAA,CAAAK,CAAA,eAAAH,KAAA,EAAAiB,gBAAA,CAAAzB,CAAA,EAAAC,CAAA,EAAAY,CAAA,MAAAF,CAAA,aAAAe,SAAA1B,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAA0B,IAAA,YAAAC,GAAA,EAAA5B,CAAA,CAAA6B,IAAA,CAAA9B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAA2B,IAAA,WAAAC,GAAA,EAAA5B,CAAA,QAAAD,CAAA,CAAAsB,IAAA,GAAAA,IAAA,MAAAS,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAZ,UAAA,cAAAa,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAApB,MAAA,CAAAoB,CAAA,EAAA1B,CAAA,qCAAA2B,CAAA,GAAApC,MAAA,CAAAqC,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAvC,CAAA,IAAAG,CAAA,CAAAyB,IAAA,CAAAW,CAAA,EAAA7B,CAAA,MAAA0B,CAAA,GAAAG,CAAA,OAAAE,CAAA,GAAAN,0BAAA,CAAAjC,SAAA,GAAAmB,SAAA,CAAAnB,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAc,CAAA,YAAAM,sBAAA3C,CAAA,gCAAA4C,OAAA,WAAA7C,CAAA,IAAAkB,MAAA,CAAAjB,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAA6C,OAAA,CAAA9C,CAAA,EAAAC,CAAA,sBAAA8C,cAAA9C,CAAA,EAAAD,CAAA,aAAAgD,OAAA9C,CAAA,EAAAK,CAAA,EAAAG,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAA1B,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAM,CAAA,mBAAAO,CAAA,CAAAc,IAAA,QAAAZ,CAAA,GAAAF,CAAA,CAAAe,GAAA,EAAAE,CAAA,GAAAf,CAAA,CAAAP,KAAA,SAAAsB,CAAA,gBAAAkB,OAAA,CAAAlB,CAAA,KAAA1B,CAAA,CAAAyB,IAAA,CAAAC,CAAA,eAAA/B,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,CAAAoB,OAAA,EAAAC,IAAA,WAAAnD,CAAA,IAAA+C,MAAA,SAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,gBAAAX,CAAA,IAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,QAAAZ,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,EAAAqB,IAAA,WAAAnD,CAAA,IAAAe,CAAA,CAAAP,KAAA,GAAAR,CAAA,EAAAS,CAAA,CAAAM,CAAA,gBAAAf,CAAA,WAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAe,GAAA,SAAA3B,CAAA,EAAAK,CAAA,oBAAAE,KAAA,WAAAA,MAAAR,CAAA,EAAAI,CAAA,aAAAgD,2BAAA,eAAArD,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAA8C,MAAA,CAAA/C,CAAA,EAAAI,CAAA,EAAAL,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAAkD,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAA3B,iBAAA1B,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAE,CAAA,GAAAwB,CAAA,mBAAArB,CAAA,EAAAE,CAAA,QAAAL,CAAA,KAAA0B,CAAA,QAAAqB,KAAA,sCAAA/C,CAAA,KAAA2B,CAAA,oBAAAxB,CAAA,QAAAE,CAAA,WAAAH,KAAA,EAAAR,CAAA,EAAAsD,IAAA,eAAAlD,CAAA,CAAAmD,MAAA,GAAA9C,CAAA,EAAAL,CAAA,CAAAwB,GAAA,GAAAjB,CAAA,UAAAE,CAAA,GAAAT,CAAA,CAAAoD,QAAA,MAAA3C,CAAA,QAAAE,CAAA,GAAA0C,mBAAA,CAAA5C,CAAA,EAAAT,CAAA,OAAAW,CAAA,QAAAA,CAAA,KAAAmB,CAAA,mBAAAnB,CAAA,qBAAAX,CAAA,CAAAmD,MAAA,EAAAnD,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAuD,KAAA,GAAAvD,CAAA,CAAAwB,GAAA,sBAAAxB,CAAA,CAAAmD,MAAA,QAAAjD,CAAA,KAAAwB,CAAA,QAAAxB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAwB,GAAA,EAAAxB,CAAA,CAAAwD,iBAAA,CAAAxD,CAAA,CAAAwB,GAAA,uBAAAxB,CAAA,CAAAmD,MAAA,IAAAnD,CAAA,CAAAyD,MAAA,WAAAzD,CAAA,CAAAwB,GAAA,GAAAtB,CAAA,GAAA0B,CAAA,MAAAK,CAAA,GAAAX,QAAA,CAAA3B,CAAA,EAAAE,CAAA,EAAAG,CAAA,oBAAAiC,CAAA,CAAAV,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAkD,IAAA,GAAArB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA1B,KAAA,EAAA6B,CAAA,CAAAT,GAAA,EAAA0B,IAAA,EAAAlD,CAAA,CAAAkD,IAAA,kBAAAjB,CAAA,CAAAV,IAAA,KAAArB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAmD,MAAA,YAAAnD,CAAA,CAAAwB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA6B,oBAAA1D,CAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAH,CAAA,CAAAsD,MAAA,EAAAjD,CAAA,GAAAP,CAAA,CAAAa,QAAA,CAAAR,CAAA,OAAAE,CAAA,KAAAN,CAAA,SAAAC,CAAA,CAAAuD,QAAA,qBAAApD,CAAA,IAAAL,CAAA,CAAAa,QAAA,eAAAX,CAAA,CAAAsD,MAAA,aAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,EAAAyD,mBAAA,CAAA1D,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAsD,MAAA,kBAAAnD,CAAA,KAAAH,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,uCAAA1D,CAAA,iBAAA8B,CAAA,MAAAzB,CAAA,GAAAiB,QAAA,CAAApB,CAAA,EAAAP,CAAA,CAAAa,QAAA,EAAAX,CAAA,CAAA2B,GAAA,mBAAAnB,CAAA,CAAAkB,IAAA,SAAA1B,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,GAAAnB,CAAA,CAAAmB,GAAA,EAAA3B,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,MAAAvB,CAAA,GAAAF,CAAA,CAAAmB,GAAA,SAAAjB,CAAA,GAAAA,CAAA,CAAA2C,IAAA,IAAArD,CAAA,CAAAF,CAAA,CAAAgE,UAAA,IAAApD,CAAA,CAAAH,KAAA,EAAAP,CAAA,CAAA+D,IAAA,GAAAjE,CAAA,CAAAkE,OAAA,eAAAhE,CAAA,CAAAsD,MAAA,KAAAtD,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,GAAAC,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,IAAAvB,CAAA,IAAAV,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,sCAAA7D,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,cAAAgC,aAAAlE,CAAA,QAAAD,CAAA,KAAAoE,MAAA,EAAAnE,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAAqE,QAAA,GAAApE,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAsE,UAAA,GAAArE,CAAA,KAAAD,CAAA,CAAAuE,QAAA,GAAAtE,CAAA,WAAAuE,UAAA,CAAAC,IAAA,CAAAzE,CAAA,cAAA0E,cAAAzE,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAA0E,UAAA,QAAA3E,CAAA,CAAA4B,IAAA,oBAAA5B,CAAA,CAAA6B,GAAA,EAAA5B,CAAA,CAAA0E,UAAA,GAAA3E,CAAA,aAAAyB,QAAAxB,CAAA,SAAAuE,UAAA,MAAAJ,MAAA,aAAAnE,CAAA,CAAA4C,OAAA,CAAAsB,YAAA,cAAAS,KAAA,iBAAAlC,OAAA1C,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAY,CAAA,OAAAV,CAAA,SAAAA,CAAA,CAAA4B,IAAA,CAAA9B,CAAA,4BAAAA,CAAA,CAAAiE,IAAA,SAAAjE,CAAA,OAAA6E,KAAA,CAAA7E,CAAA,CAAA8E,MAAA,SAAAvE,CAAA,OAAAG,CAAA,YAAAuD,KAAA,aAAA1D,CAAA,GAAAP,CAAA,CAAA8E,MAAA,OAAAzE,CAAA,CAAAyB,IAAA,CAAA9B,CAAA,EAAAO,CAAA,UAAA0D,IAAA,CAAAxD,KAAA,GAAAT,CAAA,CAAAO,CAAA,GAAA0D,IAAA,CAAAV,IAAA,OAAAU,IAAA,SAAAA,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,YAAAvD,CAAA,CAAAuD,IAAA,GAAAvD,CAAA,gBAAAqD,SAAA,CAAAd,OAAA,CAAAjD,CAAA,kCAAAoC,iBAAA,CAAAhC,SAAA,GAAAiC,0BAAA,EAAA9B,CAAA,CAAAoC,CAAA,mBAAAlC,KAAA,EAAA4B,0BAAA,EAAAjB,YAAA,SAAAb,CAAA,CAAA8B,0BAAA,mBAAA5B,KAAA,EAAA2B,iBAAA,EAAAhB,YAAA,SAAAgB,iBAAA,CAAA2C,WAAA,GAAA7D,MAAA,CAAAmB,0BAAA,EAAArB,CAAA,wBAAAhB,CAAA,CAAAgF,mBAAA,aAAA/E,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAgF,WAAA,WAAAjF,CAAA,KAAAA,CAAA,KAAAoC,iBAAA,6BAAApC,CAAA,CAAA+E,WAAA,IAAA/E,CAAA,CAAAkF,IAAA,OAAAlF,CAAA,CAAAmF,IAAA,aAAAlF,CAAA,WAAAE,MAAA,CAAAiF,cAAA,GAAAjF,MAAA,CAAAiF,cAAA,CAAAnF,CAAA,EAAAoC,0BAAA,KAAApC,CAAA,CAAAoF,SAAA,GAAAhD,0BAAA,EAAAnB,MAAA,CAAAjB,CAAA,EAAAe,CAAA,yBAAAf,CAAA,CAAAG,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAmB,CAAA,GAAA1C,CAAA,KAAAD,CAAA,CAAAsF,KAAA,aAAArF,CAAA,aAAAkD,OAAA,EAAAlD,CAAA,OAAA2C,qBAAA,CAAAG,aAAA,CAAA3C,SAAA,GAAAc,MAAA,CAAA6B,aAAA,CAAA3C,SAAA,EAAAU,CAAA,iCAAAd,CAAA,CAAA+C,aAAA,GAAAA,aAAA,EAAA/C,CAAA,CAAAuF,KAAA,aAAAtF,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,EAAAG,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAA8E,OAAA,OAAA5E,CAAA,OAAAmC,aAAA,CAAAzB,IAAA,CAAArB,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,GAAAG,CAAA,UAAAV,CAAA,CAAAgF,mBAAA,CAAA9E,CAAA,IAAAU,CAAA,GAAAA,CAAA,CAAAqD,IAAA,GAAAb,IAAA,WAAAnD,CAAA,WAAAA,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAQ,KAAA,GAAAG,CAAA,CAAAqD,IAAA,WAAArB,qBAAA,CAAAD,CAAA,GAAAzB,MAAA,CAAAyB,CAAA,EAAA3B,CAAA,gBAAAE,MAAA,CAAAyB,CAAA,EAAA/B,CAAA,iCAAAM,MAAA,CAAAyB,CAAA,6DAAA3C,CAAA,CAAAyF,IAAA,aAAAxF,CAAA,QAAAD,CAAA,GAAAG,MAAA,CAAAF,CAAA,GAAAC,CAAA,gBAAAG,CAAA,IAAAL,CAAA,EAAAE,CAAA,CAAAuE,IAAA,CAAApE,CAAA,UAAAH,CAAA,CAAAwF,OAAA,aAAAzB,KAAA,WAAA/D,CAAA,CAAA4E,MAAA,SAAA7E,CAAA,GAAAC,CAAA,CAAAyF,GAAA,QAAA1F,CAAA,IAAAD,CAAA,SAAAiE,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,WAAAA,IAAA,CAAAV,IAAA,OAAAU,IAAA,QAAAjE,CAAA,CAAA0C,MAAA,GAAAA,MAAA,EAAAjB,OAAA,CAAArB,SAAA,KAAA6E,WAAA,EAAAxD,OAAA,EAAAmD,KAAA,WAAAA,MAAA5E,CAAA,aAAA4F,IAAA,WAAA3B,IAAA,WAAAN,IAAA,QAAAC,KAAA,GAAA3D,CAAA,OAAAsD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAA3B,GAAA,GAAA5B,CAAA,OAAAuE,UAAA,CAAA3B,OAAA,CAAA6B,aAAA,IAAA1E,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAA2F,MAAA,OAAAxF,CAAA,CAAAyB,IAAA,OAAA5B,CAAA,MAAA2E,KAAA,EAAA3E,CAAA,CAAA4F,KAAA,cAAA5F,CAAA,IAAAD,CAAA,MAAA8F,IAAA,WAAAA,KAAA,SAAAxC,IAAA,WAAAtD,CAAA,QAAAuE,UAAA,IAAAG,UAAA,kBAAA1E,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,cAAAmE,IAAA,KAAAnC,iBAAA,WAAAA,kBAAA7D,CAAA,aAAAuD,IAAA,QAAAvD,CAAA,MAAAE,CAAA,kBAAA+F,OAAA5F,CAAA,EAAAE,CAAA,WAAAK,CAAA,CAAAgB,IAAA,YAAAhB,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAE,CAAA,CAAA+D,IAAA,GAAA5D,CAAA,EAAAE,CAAA,KAAAL,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,KAAAM,CAAA,aAAAA,CAAA,QAAAiE,UAAA,CAAAM,MAAA,MAAAvE,CAAA,SAAAA,CAAA,QAAAG,CAAA,QAAA8D,UAAA,CAAAjE,CAAA,GAAAK,CAAA,GAAAF,CAAA,CAAAiE,UAAA,iBAAAjE,CAAA,CAAA0D,MAAA,SAAA6B,MAAA,aAAAvF,CAAA,CAAA0D,MAAA,SAAAwB,IAAA,QAAA9E,CAAA,GAAAT,CAAA,CAAAyB,IAAA,CAAApB,CAAA,eAAAM,CAAA,GAAAX,CAAA,CAAAyB,IAAA,CAAApB,CAAA,qBAAAI,CAAA,IAAAE,CAAA,aAAA4E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,gBAAAuB,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,cAAAxD,CAAA,aAAA8E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,qBAAArD,CAAA,QAAAsC,KAAA,qDAAAsC,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,YAAAR,MAAA,WAAAA,OAAA7D,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAsE,UAAA,CAAAM,MAAA,MAAA5E,CAAA,SAAAA,CAAA,QAAAK,CAAA,QAAAiE,UAAA,CAAAtE,CAAA,OAAAK,CAAA,CAAA6D,MAAA,SAAAwB,IAAA,IAAAvF,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,wBAAAqF,IAAA,GAAArF,CAAA,CAAA+D,UAAA,QAAA5D,CAAA,GAAAH,CAAA,aAAAG,CAAA,iBAAAT,CAAA,mBAAAA,CAAA,KAAAS,CAAA,CAAA0D,MAAA,IAAApE,CAAA,IAAAA,CAAA,IAAAU,CAAA,CAAA4D,UAAA,KAAA5D,CAAA,cAAAE,CAAA,GAAAF,CAAA,GAAAA,CAAA,CAAAiE,UAAA,cAAA/D,CAAA,CAAAgB,IAAA,GAAA3B,CAAA,EAAAW,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAU,CAAA,SAAA8C,MAAA,gBAAAS,IAAA,GAAAvD,CAAA,CAAA4D,UAAA,EAAAnC,CAAA,SAAA+D,QAAA,CAAAtF,CAAA,MAAAsF,QAAA,WAAAA,SAAAjG,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,qBAAA5B,CAAA,CAAA2B,IAAA,mBAAA3B,CAAA,CAAA2B,IAAA,QAAAqC,IAAA,GAAAhE,CAAA,CAAA4B,GAAA,gBAAA5B,CAAA,CAAA2B,IAAA,SAAAoE,IAAA,QAAAnE,GAAA,GAAA5B,CAAA,CAAA4B,GAAA,OAAA2B,MAAA,kBAAAS,IAAA,yBAAAhE,CAAA,CAAA2B,IAAA,IAAA5B,CAAA,UAAAiE,IAAA,GAAAjE,CAAA,GAAAmC,CAAA,KAAAgE,MAAA,WAAAA,OAAAlG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAoE,UAAA,KAAArE,CAAA,cAAAiG,QAAA,CAAAhG,CAAA,CAAAyE,UAAA,EAAAzE,CAAA,CAAAqE,QAAA,GAAAG,aAAA,CAAAxE,CAAA,GAAAiC,CAAA,yBAAAiE,OAAAnG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAkE,MAAA,KAAAnE,CAAA,QAAAI,CAAA,GAAAH,CAAA,CAAAyE,UAAA,kBAAAtE,CAAA,CAAAuB,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAwB,GAAA,EAAA6C,aAAA,CAAAxE,CAAA,YAAAK,CAAA,YAAA+C,KAAA,8BAAA+C,aAAA,WAAAA,cAAArG,CAAA,EAAAE,CAAA,EAAAG,CAAA,gBAAAoD,QAAA,KAAA5C,QAAA,EAAA6B,MAAA,CAAA1C,CAAA,GAAAgE,UAAA,EAAA9D,CAAA,EAAAgE,OAAA,EAAA7D,CAAA,oBAAAmD,MAAA,UAAA3B,GAAA,GAAA5B,CAAA,GAAAkC,CAAA,OAAAnC,CAAA;AAAA,SAAAsG,mBAAAjG,CAAA,EAAAJ,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAK,CAAA,EAAAK,CAAA,EAAAE,CAAA,cAAAJ,CAAA,GAAAL,CAAA,CAAAO,CAAA,EAAAE,CAAA,GAAAE,CAAA,GAAAN,CAAA,CAAAD,KAAA,WAAAJ,CAAA,gBAAAL,CAAA,CAAAK,CAAA,KAAAK,CAAA,CAAA6C,IAAA,GAAAtD,CAAA,CAAAe,CAAA,IAAAwE,OAAA,CAAAtC,OAAA,CAAAlC,CAAA,EAAAoC,IAAA,CAAAlD,CAAA,EAAAK,CAAA;AAAA,SAAAgG,kBAAAlG,CAAA,6BAAAJ,CAAA,SAAAD,CAAA,GAAAwG,SAAA,aAAAhB,OAAA,WAAAtF,CAAA,EAAAK,CAAA,QAAAK,CAAA,GAAAP,CAAA,CAAAoG,KAAA,CAAAxG,CAAA,EAAAD,CAAA,YAAA0G,MAAArG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,UAAAtG,CAAA,cAAAsG,OAAAtG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,WAAAtG,CAAA,KAAAqG,KAAA;AADA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC0B;AACc;AAExC,IAAME,UAAU,GAAG;EACfC,UAAU,EAAE,MAAM;EAClBC,KAAK,EAAE,MAAM;EACbC,MAAM,EAAE;IACJF,UAAU,EAAE,MAAM;IAClBG,MAAM,EAAE,SAAS;IACjBF,KAAK,EAAE,SAAS;IAChBG,YAAY,EAAE;EAClB;AACJ,CAAC;AAED,IAAMC,SAAS,GAAG;EACdL,UAAU,EAAE,MAAM;EAClBC,KAAK,EAAE,MAAM;EACbC,MAAM,EAAE;IACJF,UAAU,EAAE,SAAS;IACrBG,MAAM,EAAE,SAAS;IACjBF,KAAK,EAAE,SAAS;IAChBG,YAAY,EAAE;EAClB;AACJ,CAAC;AAED,IAAME,YAAY,GAAG;EACjBN,UAAU,EAAE,MAAM;EAClBC,KAAK,EAAE,MAAM;EACbC,MAAM,EAAE;IACJF,UAAU,EAAE,SAAS;IACrBG,MAAM,EAAE,SAAS;IACjBF,KAAK,EAAE,SAAS;IAChBG,YAAY,EAAE;EAClB;AACJ,CAAC;AAED,IAAMG,WAAW,GAAG;EAChBP,UAAU,EAAE,MAAM;EAClBC,KAAK,EAAE,MAAM;EACbC,MAAM,EAAE;IACJF,UAAU,EAAE,SAAS;IACrBG,MAAM,EAAE,SAAS;IACjBF,KAAK,EAAE,SAAS;IAChBG,YAAY,EAAE;EAClB;AACJ,CAAC;AAED,IAAMI,MAAM,GAAG;EACXC,KAAK,EAAEV,UAAU;EACjBW,IAAI,EAAEL,SAAS;EACfM,OAAO,EAAEL,YAAY;EACrBM,MAAM,EAAEL;AACZ,CAAC;AAED,IAAMM,QAAQ,GAAG,SAAXA,QAAQA,CAAKC,KAAK;EAAA,IAAEC,IAAI,GAAApB,SAAA,CAAA1B,MAAA,QAAA0B,SAAA,QAAAqB,SAAA,GAAArB,SAAA,MAAG,KAAK;EAAA,OACpC;IACEsB,OAAO,EAAE,MAAM;IACfC,UAAU,EAAE,QAAQ;IACpBC,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE,GAAG;IACVC,OAAO,EAAE,WAAW;IACpBC,QAAQ,EAAE,EAAE;IACZnB,MAAM,EAAE,WAAW;IACnBoB,WAAW,EAAET,KAAK,CAACZ,MAAM,CAACC,MAAM;IAChCqB,YAAY,EAAET,IAAI,GAAG,EAAE,GAAG,CAAC;IAC3Bf,UAAU,EAAEc,KAAK,CAACZ,MAAM,CAACF,UAAU;IACnCC,KAAK,EAAEa,KAAK,CAACZ,MAAM,CAACD;EACxB,CAAC;AAAA,CAAE;AAEY,SAASwB,WAAWA,CAAAC,IAAA,EAKnC;EAAA,IAJIX,IAAI,GAAAW,IAAA,CAAJX,IAAI;IACJY,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRb,KAAK,GAAAY,IAAA,CAALZ,KAAK;EAGL,IAAAc,UAAA,GAAmBC,4DAAS,CAAC,CAAC;IAAtBC,MAAM,GAAAF,UAAA,CAANE,MAAM;EACd,IAAMC,WAAW,GAAGvB,MAAM,CAAEM,KAAK,CAAE,IAAIN,MAAM,CAAE,QAAQ,CAAE;EAEzD,IAAMwB,iBAAiB;IAAA,IAAAC,KAAA,GAAAvC,iBAAA,eAAAxG,mBAAA,GAAAoF,IAAA,CAAG,SAAA4D,QAAA;MAAA,OAAAhJ,mBAAA,GAAAuB,IAAA,UAAA0H,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAArD,IAAA,GAAAqD,QAAA,CAAAhF,IAAA;UAAA;YAAAgF,QAAA,CAAAhF,IAAA;YAAA,OAEhB0E,MAAM,CAACO,kBAAkB,CAAE;cAC7BC,KAAK,EAAE;YACX,CAAE,CAAC;UAAA;UAAA;YAAA,OAAAF,QAAA,CAAAlD,IAAA;QAAA;MAAA,GAAAgD,OAAA;IAAA,CACN;IAAA,gBALKF,iBAAiBA,CAAA;MAAA,OAAAC,KAAA,CAAArC,KAAA,OAAAD,SAAA;IAAA;EAAA,GAKtB;EAED,IAAM4C,KAAK,GAAG1B,QAAQ,CAAEkB,WAAW,EAAEhB,IAAK,CAAC;EAE3C,oBACIyB,4CAAA,CAAAC,aAAA;IACId,QAAQ,EAAGA,QAAU;IACrBe,OAAO,EAAGV,iBAAmB;IAC7BO,KAAK,EAAGA;EAAO,gBAEfC,4CAAA,CAAAC,aAAA;IAAKE,GAAG,EAAC,MAAM;IAACC,GAAG,EAAC,kDAAkD;IAACxB,KAAK,EAAC,MAAM;IAACD,MAAM,EAAC;EAAM,CAAE,CAAC,eACpGqB,4CAAA,CAAAC,aAAA;IAAMF,KAAK,EAAG;MAAEM,UAAU,EAAE;IAAO;EAAG,GAAC,aAAa,eAAAL,4CAAA,CAAAC,aAAA,iBAAQ,MAAY,CAAO,CAC3E,CAAC;AAEjB,C;;;;;;AC3GA,gD;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC+B;AAExB,IAAMK,SAAS,gBAAGN,mDAAmB,CAAE,IAAK,CAAC;AAE7C,IAAMX,SAAS,GAAG,SAAZA,SAASA,CAAA;EAAA,OAASW,gDAAgB,CAAEM,SAAU,CAAC;AAAA,E;;;;;;;;;;;;+CCZ5D,qJAAA5J,mBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,CAAA,GAAAH,CAAA,CAAAI,cAAA,EAAAC,CAAA,GAAAJ,MAAA,CAAAK,cAAA,cAAAP,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAO,KAAA,KAAAC,CAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,kBAAAC,CAAA,GAAAJ,CAAA,CAAAK,aAAA,uBAAAC,CAAA,GAAAN,CAAA,CAAAO,WAAA,8BAAAC,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAC,MAAA,CAAAK,cAAA,CAAAP,CAAA,EAAAD,CAAA,IAAAS,KAAA,EAAAP,CAAA,EAAAiB,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAApB,CAAA,CAAAD,CAAA,WAAAkB,MAAA,mBAAAjB,CAAA,IAAAiB,MAAA,YAAAA,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAoB,KAAArB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAK,CAAA,GAAAV,CAAA,IAAAA,CAAA,CAAAI,SAAA,YAAAmB,SAAA,GAAAvB,CAAA,GAAAuB,SAAA,EAAAX,CAAA,GAAAT,MAAA,CAAAqB,MAAA,CAAAd,CAAA,CAAAN,SAAA,GAAAU,CAAA,OAAAW,OAAA,CAAApB,CAAA,gBAAAE,CAAA,CAAAK,CAAA,eAAAH,KAAA,EAAAiB,gBAAA,CAAAzB,CAAA,EAAAC,CAAA,EAAAY,CAAA,MAAAF,CAAA,aAAAe,SAAA1B,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAA0B,IAAA,YAAAC,GAAA,EAAA5B,CAAA,CAAA6B,IAAA,CAAA9B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAA2B,IAAA,WAAAC,GAAA,EAAA5B,CAAA,QAAAD,CAAA,CAAAsB,IAAA,GAAAA,IAAA,MAAAS,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAZ,UAAA,cAAAa,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAApB,MAAA,CAAAoB,CAAA,EAAA1B,CAAA,qCAAA2B,CAAA,GAAApC,MAAA,CAAAqC,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAvC,CAAA,IAAAG,CAAA,CAAAyB,IAAA,CAAAW,CAAA,EAAA7B,CAAA,MAAA0B,CAAA,GAAAG,CAAA,OAAAE,CAAA,GAAAN,0BAAA,CAAAjC,SAAA,GAAAmB,SAAA,CAAAnB,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAc,CAAA,YAAAM,sBAAA3C,CAAA,gCAAA4C,OAAA,WAAA7C,CAAA,IAAAkB,MAAA,CAAAjB,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAA6C,OAAA,CAAA9C,CAAA,EAAAC,CAAA,sBAAA8C,cAAA9C,CAAA,EAAAD,CAAA,aAAAgD,OAAA9C,CAAA,EAAAK,CAAA,EAAAG,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAA1B,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAM,CAAA,mBAAAO,CAAA,CAAAc,IAAA,QAAAZ,CAAA,GAAAF,CAAA,CAAAe,GAAA,EAAAE,CAAA,GAAAf,CAAA,CAAAP,KAAA,SAAAsB,CAAA,gBAAAkB,OAAA,CAAAlB,CAAA,KAAA1B,CAAA,CAAAyB,IAAA,CAAAC,CAAA,eAAA/B,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,CAAAoB,OAAA,EAAAC,IAAA,WAAAnD,CAAA,IAAA+C,MAAA,SAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,gBAAAX,CAAA,IAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,QAAAZ,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,EAAAqB,IAAA,WAAAnD,CAAA,IAAAe,CAAA,CAAAP,KAAA,GAAAR,CAAA,EAAAS,CAAA,CAAAM,CAAA,gBAAAf,CAAA,WAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAe,GAAA,SAAA3B,CAAA,EAAAK,CAAA,oBAAAE,KAAA,WAAAA,MAAAR,CAAA,EAAAI,CAAA,aAAAgD,2BAAA,eAAArD,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAA8C,MAAA,CAAA/C,CAAA,EAAAI,CAAA,EAAAL,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAAkD,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAA3B,iBAAA1B,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAE,CAAA,GAAAwB,CAAA,mBAAArB,CAAA,EAAAE,CAAA,QAAAL,CAAA,KAAA0B,CAAA,QAAAqB,KAAA,sCAAA/C,CAAA,KAAA2B,CAAA,oBAAAxB,CAAA,QAAAE,CAAA,WAAAH,KAAA,EAAAR,CAAA,EAAAsD,IAAA,eAAAlD,CAAA,CAAAmD,MAAA,GAAA9C,CAAA,EAAAL,CAAA,CAAAwB,GAAA,GAAAjB,CAAA,UAAAE,CAAA,GAAAT,CAAA,CAAAoD,QAAA,MAAA3C,CAAA,QAAAE,CAAA,GAAA0C,mBAAA,CAAA5C,CAAA,EAAAT,CAAA,OAAAW,CAAA,QAAAA,CAAA,KAAAmB,CAAA,mBAAAnB,CAAA,qBAAAX,CAAA,CAAAmD,MAAA,EAAAnD,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAuD,KAAA,GAAAvD,CAAA,CAAAwB,GAAA,sBAAAxB,CAAA,CAAAmD,MAAA,QAAAjD,CAAA,KAAAwB,CAAA,QAAAxB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAwB,GAAA,EAAAxB,CAAA,CAAAwD,iBAAA,CAAAxD,CAAA,CAAAwB,GAAA,uBAAAxB,CAAA,CAAAmD,MAAA,IAAAnD,CAAA,CAAAyD,MAAA,WAAAzD,CAAA,CAAAwB,GAAA,GAAAtB,CAAA,GAAA0B,CAAA,MAAAK,CAAA,GAAAX,QAAA,CAAA3B,CAAA,EAAAE,CAAA,EAAAG,CAAA,oBAAAiC,CAAA,CAAAV,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAkD,IAAA,GAAArB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA1B,KAAA,EAAA6B,CAAA,CAAAT,GAAA,EAAA0B,IAAA,EAAAlD,CAAA,CAAAkD,IAAA,kBAAAjB,CAAA,CAAAV,IAAA,KAAArB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAmD,MAAA,YAAAnD,CAAA,CAAAwB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA6B,oBAAA1D,CAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAH,CAAA,CAAAsD,MAAA,EAAAjD,CAAA,GAAAP,CAAA,CAAAa,QAAA,CAAAR,CAAA,OAAAE,CAAA,KAAAN,CAAA,SAAAC,CAAA,CAAAuD,QAAA,qBAAApD,CAAA,IAAAL,CAAA,CAAAa,QAAA,eAAAX,CAAA,CAAAsD,MAAA,aAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,EAAAyD,mBAAA,CAAA1D,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAsD,MAAA,kBAAAnD,CAAA,KAAAH,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,uCAAA1D,CAAA,iBAAA8B,CAAA,MAAAzB,CAAA,GAAAiB,QAAA,CAAApB,CAAA,EAAAP,CAAA,CAAAa,QAAA,EAAAX,CAAA,CAAA2B,GAAA,mBAAAnB,CAAA,CAAAkB,IAAA,SAAA1B,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,GAAAnB,CAAA,CAAAmB,GAAA,EAAA3B,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,MAAAvB,CAAA,GAAAF,CAAA,CAAAmB,GAAA,SAAAjB,CAAA,GAAAA,CAAA,CAAA2C,IAAA,IAAArD,CAAA,CAAAF,CAAA,CAAAgE,UAAA,IAAApD,CAAA,CAAAH,KAAA,EAAAP,CAAA,CAAA+D,IAAA,GAAAjE,CAAA,CAAAkE,OAAA,eAAAhE,CAAA,CAAAsD,MAAA,KAAAtD,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,GAAAC,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,IAAAvB,CAAA,IAAAV,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,sCAAA7D,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,cAAAgC,aAAAlE,CAAA,QAAAD,CAAA,KAAAoE,MAAA,EAAAnE,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAAqE,QAAA,GAAApE,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAsE,UAAA,GAAArE,CAAA,KAAAD,CAAA,CAAAuE,QAAA,GAAAtE,CAAA,WAAAuE,UAAA,CAAAC,IAAA,CAAAzE,CAAA,cAAA0E,cAAAzE,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAA0E,UAAA,QAAA3E,CAAA,CAAA4B,IAAA,oBAAA5B,CAAA,CAAA6B,GAAA,EAAA5B,CAAA,CAAA0E,UAAA,GAAA3E,CAAA,aAAAyB,QAAAxB,CAAA,SAAAuE,UAAA,MAAAJ,MAAA,aAAAnE,CAAA,CAAA4C,OAAA,CAAAsB,YAAA,cAAAS,KAAA,iBAAAlC,OAAA1C,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAY,CAAA,OAAAV,CAAA,SAAAA,CAAA,CAAA4B,IAAA,CAAA9B,CAAA,4BAAAA,CAAA,CAAAiE,IAAA,SAAAjE,CAAA,OAAA6E,KAAA,CAAA7E,CAAA,CAAA8E,MAAA,SAAAvE,CAAA,OAAAG,CAAA,YAAAuD,KAAA,aAAA1D,CAAA,GAAAP,CAAA,CAAA8E,MAAA,OAAAzE,CAAA,CAAAyB,IAAA,CAAA9B,CAAA,EAAAO,CAAA,UAAA0D,IAAA,CAAAxD,KAAA,GAAAT,CAAA,CAAAO,CAAA,GAAA0D,IAAA,CAAAV,IAAA,OAAAU,IAAA,SAAAA,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,YAAAvD,CAAA,CAAAuD,IAAA,GAAAvD,CAAA,gBAAAqD,SAAA,CAAAd,OAAA,CAAAjD,CAAA,kCAAAoC,iBAAA,CAAAhC,SAAA,GAAAiC,0BAAA,EAAA9B,CAAA,CAAAoC,CAAA,mBAAAlC,KAAA,EAAA4B,0BAAA,EAAAjB,YAAA,SAAAb,CAAA,CAAA8B,0BAAA,mBAAA5B,KAAA,EAAA2B,iBAAA,EAAAhB,YAAA,SAAAgB,iBAAA,CAAA2C,WAAA,GAAA7D,MAAA,CAAAmB,0BAAA,EAAArB,CAAA,wBAAAhB,CAAA,CAAAgF,mBAAA,aAAA/E,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAgF,WAAA,WAAAjF,CAAA,KAAAA,CAAA,KAAAoC,iBAAA,6BAAApC,CAAA,CAAA+E,WAAA,IAAA/E,CAAA,CAAAkF,IAAA,OAAAlF,CAAA,CAAAmF,IAAA,aAAAlF,CAAA,WAAAE,MAAA,CAAAiF,cAAA,GAAAjF,MAAA,CAAAiF,cAAA,CAAAnF,CAAA,EAAAoC,0BAAA,KAAApC,CAAA,CAAAoF,SAAA,GAAAhD,0BAAA,EAAAnB,MAAA,CAAAjB,CAAA,EAAAe,CAAA,yBAAAf,CAAA,CAAAG,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAmB,CAAA,GAAA1C,CAAA,KAAAD,CAAA,CAAAsF,KAAA,aAAArF,CAAA,aAAAkD,OAAA,EAAAlD,CAAA,OAAA2C,qBAAA,CAAAG,aAAA,CAAA3C,SAAA,GAAAc,MAAA,CAAA6B,aAAA,CAAA3C,SAAA,EAAAU,CAAA,iCAAAd,CAAA,CAAA+C,aAAA,GAAAA,aAAA,EAAA/C,CAAA,CAAAuF,KAAA,aAAAtF,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,EAAAG,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAA8E,OAAA,OAAA5E,CAAA,OAAAmC,aAAA,CAAAzB,IAAA,CAAArB,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,GAAAG,CAAA,UAAAV,CAAA,CAAAgF,mBAAA,CAAA9E,CAAA,IAAAU,CAAA,GAAAA,CAAA,CAAAqD,IAAA,GAAAb,IAAA,WAAAnD,CAAA,WAAAA,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAQ,KAAA,GAAAG,CAAA,CAAAqD,IAAA,WAAArB,qBAAA,CAAAD,CAAA,GAAAzB,MAAA,CAAAyB,CAAA,EAAA3B,CAAA,gBAAAE,MAAA,CAAAyB,CAAA,EAAA/B,CAAA,iCAAAM,MAAA,CAAAyB,CAAA,6DAAA3C,CAAA,CAAAyF,IAAA,aAAAxF,CAAA,QAAAD,CAAA,GAAAG,MAAA,CAAAF,CAAA,GAAAC,CAAA,gBAAAG,CAAA,IAAAL,CAAA,EAAAE,CAAA,CAAAuE,IAAA,CAAApE,CAAA,UAAAH,CAAA,CAAAwF,OAAA,aAAAzB,KAAA,WAAA/D,CAAA,CAAA4E,MAAA,SAAA7E,CAAA,GAAAC,CAAA,CAAAyF,GAAA,QAAA1F,CAAA,IAAAD,CAAA,SAAAiE,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,WAAAA,IAAA,CAAAV,IAAA,OAAAU,IAAA,QAAAjE,CAAA,CAAA0C,MAAA,GAAAA,MAAA,EAAAjB,OAAA,CAAArB,SAAA,KAAA6E,WAAA,EAAAxD,OAAA,EAAAmD,KAAA,WAAAA,MAAA5E,CAAA,aAAA4F,IAAA,WAAA3B,IAAA,WAAAN,IAAA,QAAAC,KAAA,GAAA3D,CAAA,OAAAsD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAA3B,GAAA,GAAA5B,CAAA,OAAAuE,UAAA,CAAA3B,OAAA,CAAA6B,aAAA,IAAA1E,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAA2F,MAAA,OAAAxF,CAAA,CAAAyB,IAAA,OAAA5B,CAAA,MAAA2E,KAAA,EAAA3E,CAAA,CAAA4F,KAAA,cAAA5F,CAAA,IAAAD,CAAA,MAAA8F,IAAA,WAAAA,KAAA,SAAAxC,IAAA,WAAAtD,CAAA,QAAAuE,UAAA,IAAAG,UAAA,kBAAA1E,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,cAAAmE,IAAA,KAAAnC,iBAAA,WAAAA,kBAAA7D,CAAA,aAAAuD,IAAA,QAAAvD,CAAA,MAAAE,CAAA,kBAAA+F,OAAA5F,CAAA,EAAAE,CAAA,WAAAK,CAAA,CAAAgB,IAAA,YAAAhB,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAE,CAAA,CAAA+D,IAAA,GAAA5D,CAAA,EAAAE,CAAA,KAAAL,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,KAAAM,CAAA,aAAAA,CAAA,QAAAiE,UAAA,CAAAM,MAAA,MAAAvE,CAAA,SAAAA,CAAA,QAAAG,CAAA,QAAA8D,UAAA,CAAAjE,CAAA,GAAAK,CAAA,GAAAF,CAAA,CAAAiE,UAAA,iBAAAjE,CAAA,CAAA0D,MAAA,SAAA6B,MAAA,aAAAvF,CAAA,CAAA0D,MAAA,SAAAwB,IAAA,QAAA9E,CAAA,GAAAT,CAAA,CAAAyB,IAAA,CAAApB,CAAA,eAAAM,CAAA,GAAAX,CAAA,CAAAyB,IAAA,CAAApB,CAAA,qBAAAI,CAAA,IAAAE,CAAA,aAAA4E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,gBAAAuB,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,cAAAxD,CAAA,aAAA8E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,qBAAArD,CAAA,QAAAsC,KAAA,qDAAAsC,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,YAAAR,MAAA,WAAAA,OAAA7D,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAsE,UAAA,CAAAM,MAAA,MAAA5E,CAAA,SAAAA,CAAA,QAAAK,CAAA,QAAAiE,UAAA,CAAAtE,CAAA,OAAAK,CAAA,CAAA6D,MAAA,SAAAwB,IAAA,IAAAvF,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,wBAAAqF,IAAA,GAAArF,CAAA,CAAA+D,UAAA,QAAA5D,CAAA,GAAAH,CAAA,aAAAG,CAAA,iBAAAT,CAAA,mBAAAA,CAAA,KAAAS,CAAA,CAAA0D,MAAA,IAAApE,CAAA,IAAAA,CAAA,IAAAU,CAAA,CAAA4D,UAAA,KAAA5D,CAAA,cAAAE,CAAA,GAAAF,CAAA,GAAAA,CAAA,CAAAiE,UAAA,cAAA/D,CAAA,CAAAgB,IAAA,GAAA3B,CAAA,EAAAW,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAU,CAAA,SAAA8C,MAAA,gBAAAS,IAAA,GAAAvD,CAAA,CAAA4D,UAAA,EAAAnC,CAAA,SAAA+D,QAAA,CAAAtF,CAAA,MAAAsF,QAAA,WAAAA,SAAAjG,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,qBAAA5B,CAAA,CAAA2B,IAAA,mBAAA3B,CAAA,CAAA2B,IAAA,QAAAqC,IAAA,GAAAhE,CAAA,CAAA4B,GAAA,gBAAA5B,CAAA,CAAA2B,IAAA,SAAAoE,IAAA,QAAAnE,GAAA,GAAA5B,CAAA,CAAA4B,GAAA,OAAA2B,MAAA,kBAAAS,IAAA,yBAAAhE,CAAA,CAAA2B,IAAA,IAAA5B,CAAA,UAAAiE,IAAA,GAAAjE,CAAA,GAAAmC,CAAA,KAAAgE,MAAA,WAAAA,OAAAlG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAoE,UAAA,KAAArE,CAAA,cAAAiG,QAAA,CAAAhG,CAAA,CAAAyE,UAAA,EAAAzE,CAAA,CAAAqE,QAAA,GAAAG,aAAA,CAAAxE,CAAA,GAAAiC,CAAA,yBAAAiE,OAAAnG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAkE,MAAA,KAAAnE,CAAA,QAAAI,CAAA,GAAAH,CAAA,CAAAyE,UAAA,kBAAAtE,CAAA,CAAAuB,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAwB,GAAA,EAAA6C,aAAA,CAAAxE,CAAA,YAAAK,CAAA,YAAA+C,KAAA,8BAAA+C,aAAA,WAAAA,cAAArG,CAAA,EAAAE,CAAA,EAAAG,CAAA,gBAAAoD,QAAA,KAAA5C,QAAA,EAAA6B,MAAA,CAAA1C,CAAA,GAAAgE,UAAA,EAAA9D,CAAA,EAAAgE,OAAA,EAAA7D,CAAA,oBAAAmD,MAAA,UAAA3B,GAAA,GAAA5B,CAAA,GAAAkC,CAAA,OAAAnC,CAAA;AAAA,SAAAsG,mBAAAjG,CAAA,EAAAJ,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAK,CAAA,EAAAK,CAAA,EAAAE,CAAA,cAAAJ,CAAA,GAAAL,CAAA,CAAAO,CAAA,EAAAE,CAAA,GAAAE,CAAA,GAAAN,CAAA,CAAAD,KAAA,WAAAJ,CAAA,gBAAAL,CAAA,CAAAK,CAAA,KAAAK,CAAA,CAAA6C,IAAA,GAAAtD,CAAA,CAAAe,CAAA,IAAAwE,OAAA,CAAAtC,OAAA,CAAAlC,CAAA,EAAAoC,IAAA,CAAAlD,CAAA,EAAAK,CAAA;AAAA,SAAAgG,kBAAAlG,CAAA,6BAAAJ,CAAA,SAAAD,CAAA,GAAAwG,SAAA,aAAAhB,OAAA,WAAAtF,CAAA,EAAAK,CAAA,QAAAK,CAAA,GAAAP,CAAA,CAAAoG,KAAA,CAAAxG,CAAA,EAAAD,CAAA,YAAA0G,MAAArG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,UAAAtG,CAAA,cAAAsG,OAAAtG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,WAAAtG,CAAA,KAAAqG,KAAA;AADA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACyC;AAED;AAExC,IAAIkD,eAAe,GAAG,KAAK;AAE3B,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAAtB,IAAA,EACnB;EAAA,IAD0BuB,eAAe,GAAAvB,IAAA,CAAfuB,eAAe;IAAEC,aAAa,GAAAxB,IAAA,CAAbwB,aAAa;IAAEC,oBAAoB,GAAAzB,IAAA,CAApByB,oBAAoB;IAAEC,sBAAsB,GAAA1B,IAAA,CAAtB0B,sBAAsB;EAElG,IAAAxB,UAAA,GAA4CC,4DAAS,CAAC,CAAC;IAA/CC,MAAM,GAAAF,UAAA,CAANE,MAAM;IAAEuB,SAAS,GAAAzB,UAAA,CAATyB,SAAS;IAAEC,YAAY,GAAA1B,UAAA,CAAZ0B,YAAY;EAEvCC,uDAAS,CAAE,YACX;IACI,IAAMC,WAAW;MAAA,IAAAvB,KAAA,GAAAvC,iBAAA,eAAAxG,mBAAA,GAAAoF,IAAA,CAAG,SAAA4D,QAAA;QAAA,OAAAhJ,mBAAA,GAAAuB,IAAA,UAAA0H,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAArD,IAAA,GAAAqD,QAAA,CAAAhF,IAAA;YAAA;cAAA,KAEX0E,MAAM;gBAAAM,QAAA,CAAAhF,IAAA;gBAAA;cAAA;cAAAgF,QAAA,CAAArD,IAAA;cAAAqD,QAAA,CAAAhF,IAAA;cAAA,OAIG0E,MAAM,CAAC2B,mBAAmB,CAAC,CAAC;YAAA;cAClCR,eAAe,CAAC,CAAC;cAACb,QAAA,CAAAhF,IAAA;cAAA;YAAA;cAAAgF,QAAA,CAAArD,IAAA;cAAAqD,QAAA,CAAAsB,EAAA,GAAAtB,QAAA;cAGlBkB,YAAY,CAAAlB,QAAA,CAAAsB,EAAE,CAAC;cACf,IAAIR,aAAa,EACjB;gBACIA,aAAa,CAAC,CAAC;cACnB;YAAC;YAAA;cAAA,OAAAd,QAAA,CAAAlD,IAAA;UAAA;QAAA,GAAAgD,OAAA;MAAA,CAGZ;MAAA,gBAjBKsB,WAAWA,CAAA;QAAA,OAAAvB,KAAA,CAAArC,KAAA,OAAAD,SAAA;MAAA;IAAA,GAiBhB;IACD,IAAK,CAACoD,eAAe,EACrB;MACIS,WAAW,CAAC,CAAC;IACjB;EACJ,CAAC,EAAE,CAAE1B,MAAM,CAAG,CAAC;EAEf,IAAKuB,SAAS,CAACM,KAAK,KAAK3C,SAAS,IAAI,CAACkC,aAAa,EACpD;IACI,OAAOC,oBAAoB,GAAGA,oBAAoB,gBAAGX,4CAAA,CAAAC,aAAA,cAAK,oBAAkB,EAAEY,SAAS,CAACM,KAAK,CAACC,OAAc,CAAC;EACjH,CAAC,MACD;IACI,OAAOR,sBAAsB,GACzBA,sBAAsB,gBAEtBZ,4CAAA,CAAAC,aAAA,2BACID,4CAAA,CAAAC,aAAA,aAAI,gBAAkB,CACrB,CACR;EACL;AACJ,CAAC;AAEcO,4EAAa,E;;;;;;;;;;;;;;;;;;AC5D5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACmD;AAEX;AACgB;AAExD,IAAMa,SAAS,GAAG,SAAZA,SAASA,CAAAnC,IAAA,EACf;EAAA,IADsBoC,QAAQ,GAAApC,IAAA,CAARoC,QAAQ;IAAEC,IAAI,GAAArC,IAAA,CAAJqC,IAAI;IAAEC,WAAW,GAAAtC,IAAA,CAAXsC,WAAW;EAE7C,IAAAC,SAAA,GAA8BC,sDAAQ,CAAE,CAAC,CAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA;IAApCnC,MAAM,GAAAqC,UAAA;IAAEE,SAAS,GAAAF,UAAA;EACzB,IAAAG,UAAA,GAA0BJ,sDAAQ,CAAC,CAAC;IAAAK,UAAA,GAAAH,cAAA,CAAAE,UAAA;IAA5BE,IAAI,GAAAD,UAAA;IAAEE,OAAO,GAAAF,UAAA;EACrB,IAAAG,UAAA,GAAsCR,sDAAQ,CAAC,CAAC;IAAAS,UAAA,GAAAP,cAAA,CAAAM,UAAA;IAAxCE,UAAU,GAAAD,UAAA;IAAEE,aAAa,GAAAF,UAAA;EACjC,IAAAG,UAAA,GAAoCZ,sDAAQ,CAAE;MAC1Ca,eAAe,EAAE;IACrB,CAAE,CAAC;IAAAC,UAAA,GAAAZ,cAAA,CAAAU,UAAA;IAFKzB,SAAS,GAAA2B,UAAA;IAAEC,YAAY,GAAAD,UAAA;EAG/B,IAAAE,UAAA,GAAoChB,sDAAQ,CAAE,IAAK,CAAC;IAAAiB,WAAA,GAAAf,cAAA,CAAAc,UAAA;IAA5CE,SAAS,GAAAD,WAAA;IAAE7B,YAAY,GAAA6B,WAAA;EAE/B,IAAME,eAAe,GAAG,SAAlBA,eAAeA,CAAGhC,SAAS,EACjC;IACI4B,YAAY,CAAE5B,SAAU,CAAC;IACzBoB,OAAO,CAAEpB,SAAS,CAACmB,IAAK,CAAC;IACzBK,aAAa,CAAExB,SAAS,CAACuB,UAAW,CAAC;EACzC,CAAC;;EAED;EACArB,uDAAS,CAAE,YACX;IACI,IAAM+B,OAAO,GAAGtB,WAAW,GAAG,IAAIuB,uDAAa,CAACxB,IAAI,CAAC,GAAG,IAAIyB,oDAAU,CAACzB,IAAI,CAAC;IAC5EsB,eAAe,CAAEC,OAAO,CAACG,YAAY,CAAC,CAAE,CAAC;IACzCpB,SAAS,CAAEiB,OAAQ,CAAC;EACxB,CAAC,EAAE,EAAG,CAAC;EAEP/B,uDAAS,CAAE,YACX;IACI,IAAKzB,MAAM,CAAC4D,eAAe,EAC3B;MACI;MACA5D,MAAM,CAAC4D,eAAe,CAACC,SAAS,CAAEN,eAAgB,CAAC;MACnD,OAAO,YACP;QACIvD,MAAM,CAAC4D,eAAe,CAACE,WAAW,CAAEP,eAAgB,CAAC;MACzD,CAAC;IACL;EACJ,CAAC,EAAE,CAAEvD,MAAM,CAAG,CAAC;EAEf,oBACIU,4CAAA,CAAAC,aAAA,CAACK,oDAAS,CAAC+C,QAAQ;IAACjM,KAAK,EAAG;MAAE4K,IAAI,EAAJA,IAAI;MAAEI,UAAU,EAAVA,UAAU;MAAE9C,MAAM,EAANA,MAAM;MAAEuB,SAAS,EAATA,SAAS;MAAE+B,SAAS,EAATA,SAAS;MAAE9B,YAAY,EAAZA;IAAa;EAAG,GACxFQ,QACc,CAAC;AAE7B,CAAC;AAEcD,wEAAS,E;;;;;;;;;;;;;;;;;;;;;;;;;;+CC1DxB,qJAAA3K,mBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,CAAA,GAAAH,CAAA,CAAAI,cAAA,EAAAC,CAAA,GAAAJ,MAAA,CAAAK,cAAA,cAAAP,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAO,KAAA,KAAAC,CAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,kBAAAC,CAAA,GAAAJ,CAAA,CAAAK,aAAA,uBAAAC,CAAA,GAAAN,CAAA,CAAAO,WAAA,8BAAAC,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAC,MAAA,CAAAK,cAAA,CAAAP,CAAA,EAAAD,CAAA,IAAAS,KAAA,EAAAP,CAAA,EAAAiB,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAApB,CAAA,CAAAD,CAAA,WAAAkB,MAAA,mBAAAjB,CAAA,IAAAiB,MAAA,YAAAA,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAoB,KAAArB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAK,CAAA,GAAAV,CAAA,IAAAA,CAAA,CAAAI,SAAA,YAAAmB,SAAA,GAAAvB,CAAA,GAAAuB,SAAA,EAAAX,CAAA,GAAAT,MAAA,CAAAqB,MAAA,CAAAd,CAAA,CAAAN,SAAA,GAAAU,CAAA,OAAAW,OAAA,CAAApB,CAAA,gBAAAE,CAAA,CAAAK,CAAA,eAAAH,KAAA,EAAAiB,gBAAA,CAAAzB,CAAA,EAAAC,CAAA,EAAAY,CAAA,MAAAF,CAAA,aAAAe,SAAA1B,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAA0B,IAAA,YAAAC,GAAA,EAAA5B,CAAA,CAAA6B,IAAA,CAAA9B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAA2B,IAAA,WAAAC,GAAA,EAAA5B,CAAA,QAAAD,CAAA,CAAAsB,IAAA,GAAAA,IAAA,MAAAS,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAZ,UAAA,cAAAa,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAApB,MAAA,CAAAoB,CAAA,EAAA1B,CAAA,qCAAA2B,CAAA,GAAApC,MAAA,CAAAqC,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAvC,CAAA,IAAAG,CAAA,CAAAyB,IAAA,CAAAW,CAAA,EAAA7B,CAAA,MAAA0B,CAAA,GAAAG,CAAA,OAAAE,CAAA,GAAAN,0BAAA,CAAAjC,SAAA,GAAAmB,SAAA,CAAAnB,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAc,CAAA,YAAAM,sBAAA3C,CAAA,gCAAA4C,OAAA,WAAA7C,CAAA,IAAAkB,MAAA,CAAAjB,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAA6C,OAAA,CAAA9C,CAAA,EAAAC,CAAA,sBAAA8C,cAAA9C,CAAA,EAAAD,CAAA,aAAAgD,OAAA9C,CAAA,EAAAK,CAAA,EAAAG,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAA1B,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAM,CAAA,mBAAAO,CAAA,CAAAc,IAAA,QAAAZ,CAAA,GAAAF,CAAA,CAAAe,GAAA,EAAAE,CAAA,GAAAf,CAAA,CAAAP,KAAA,SAAAsB,CAAA,gBAAAkB,OAAA,CAAAlB,CAAA,KAAA1B,CAAA,CAAAyB,IAAA,CAAAC,CAAA,eAAA/B,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,CAAAoB,OAAA,EAAAC,IAAA,WAAAnD,CAAA,IAAA+C,MAAA,SAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,gBAAAX,CAAA,IAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,QAAAZ,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,EAAAqB,IAAA,WAAAnD,CAAA,IAAAe,CAAA,CAAAP,KAAA,GAAAR,CAAA,EAAAS,CAAA,CAAAM,CAAA,gBAAAf,CAAA,WAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAe,GAAA,SAAA3B,CAAA,EAAAK,CAAA,oBAAAE,KAAA,WAAAA,MAAAR,CAAA,EAAAI,CAAA,aAAAgD,2BAAA,eAAArD,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAA8C,MAAA,CAAA/C,CAAA,EAAAI,CAAA,EAAAL,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAAkD,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAA3B,iBAAA1B,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAE,CAAA,GAAAwB,CAAA,mBAAArB,CAAA,EAAAE,CAAA,QAAAL,CAAA,KAAA0B,CAAA,QAAAqB,KAAA,sCAAA/C,CAAA,KAAA2B,CAAA,oBAAAxB,CAAA,QAAAE,CAAA,WAAAH,KAAA,EAAAR,CAAA,EAAAsD,IAAA,eAAAlD,CAAA,CAAAmD,MAAA,GAAA9C,CAAA,EAAAL,CAAA,CAAAwB,GAAA,GAAAjB,CAAA,UAAAE,CAAA,GAAAT,CAAA,CAAAoD,QAAA,MAAA3C,CAAA,QAAAE,CAAA,GAAA0C,mBAAA,CAAA5C,CAAA,EAAAT,CAAA,OAAAW,CAAA,QAAAA,CAAA,KAAAmB,CAAA,mBAAAnB,CAAA,qBAAAX,CAAA,CAAAmD,MAAA,EAAAnD,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAuD,KAAA,GAAAvD,CAAA,CAAAwB,GAAA,sBAAAxB,CAAA,CAAAmD,MAAA,QAAAjD,CAAA,KAAAwB,CAAA,QAAAxB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAwB,GAAA,EAAAxB,CAAA,CAAAwD,iBAAA,CAAAxD,CAAA,CAAAwB,GAAA,uBAAAxB,CAAA,CAAAmD,MAAA,IAAAnD,CAAA,CAAAyD,MAAA,WAAAzD,CAAA,CAAAwB,GAAA,GAAAtB,CAAA,GAAA0B,CAAA,MAAAK,CAAA,GAAAX,QAAA,CAAA3B,CAAA,EAAAE,CAAA,EAAAG,CAAA,oBAAAiC,CAAA,CAAAV,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAkD,IAAA,GAAArB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA1B,KAAA,EAAA6B,CAAA,CAAAT,GAAA,EAAA0B,IAAA,EAAAlD,CAAA,CAAAkD,IAAA,kBAAAjB,CAAA,CAAAV,IAAA,KAAArB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAmD,MAAA,YAAAnD,CAAA,CAAAwB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA6B,oBAAA1D,CAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAH,CAAA,CAAAsD,MAAA,EAAAjD,CAAA,GAAAP,CAAA,CAAAa,QAAA,CAAAR,CAAA,OAAAE,CAAA,KAAAN,CAAA,SAAAC,CAAA,CAAAuD,QAAA,qBAAApD,CAAA,IAAAL,CAAA,CAAAa,QAAA,eAAAX,CAAA,CAAAsD,MAAA,aAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,EAAAyD,mBAAA,CAAA1D,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAsD,MAAA,kBAAAnD,CAAA,KAAAH,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,uCAAA1D,CAAA,iBAAA8B,CAAA,MAAAzB,CAAA,GAAAiB,QAAA,CAAApB,CAAA,EAAAP,CAAA,CAAAa,QAAA,EAAAX,CAAA,CAAA2B,GAAA,mBAAAnB,CAAA,CAAAkB,IAAA,SAAA1B,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,GAAAnB,CAAA,CAAAmB,GAAA,EAAA3B,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,MAAAvB,CAAA,GAAAF,CAAA,CAAAmB,GAAA,SAAAjB,CAAA,GAAAA,CAAA,CAAA2C,IAAA,IAAArD,CAAA,CAAAF,CAAA,CAAAgE,UAAA,IAAApD,CAAA,CAAAH,KAAA,EAAAP,CAAA,CAAA+D,IAAA,GAAAjE,CAAA,CAAAkE,OAAA,eAAAhE,CAAA,CAAAsD,MAAA,KAAAtD,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,GAAAC,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,IAAAvB,CAAA,IAAAV,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,sCAAA7D,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,cAAAgC,aAAAlE,CAAA,QAAAD,CAAA,KAAAoE,MAAA,EAAAnE,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAAqE,QAAA,GAAApE,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAsE,UAAA,GAAArE,CAAA,KAAAD,CAAA,CAAAuE,QAAA,GAAAtE,CAAA,WAAAuE,UAAA,CAAAC,IAAA,CAAAzE,CAAA,cAAA0E,cAAAzE,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAA0E,UAAA,QAAA3E,CAAA,CAAA4B,IAAA,oBAAA5B,CAAA,CAAA6B,GAAA,EAAA5B,CAAA,CAAA0E,UAAA,GAAA3E,CAAA,aAAAyB,QAAAxB,CAAA,SAAAuE,UAAA,MAAAJ,MAAA,aAAAnE,CAAA,CAAA4C,OAAA,CAAAsB,YAAA,cAAAS,KAAA,iBAAAlC,OAAA1C,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAY,CAAA,OAAAV,CAAA,SAAAA,CAAA,CAAA4B,IAAA,CAAA9B,CAAA,4BAAAA,CAAA,CAAAiE,IAAA,SAAAjE,CAAA,OAAA6E,KAAA,CAAA7E,CAAA,CAAA8E,MAAA,SAAAvE,CAAA,OAAAG,CAAA,YAAAuD,KAAA,aAAA1D,CAAA,GAAAP,CAAA,CAAA8E,MAAA,OAAAzE,CAAA,CAAAyB,IAAA,CAAA9B,CAAA,EAAAO,CAAA,UAAA0D,IAAA,CAAAxD,KAAA,GAAAT,CAAA,CAAAO,CAAA,GAAA0D,IAAA,CAAAV,IAAA,OAAAU,IAAA,SAAAA,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,YAAAvD,CAAA,CAAAuD,IAAA,GAAAvD,CAAA,gBAAAqD,SAAA,CAAAd,OAAA,CAAAjD,CAAA,kCAAAoC,iBAAA,CAAAhC,SAAA,GAAAiC,0BAAA,EAAA9B,CAAA,CAAAoC,CAAA,mBAAAlC,KAAA,EAAA4B,0BAAA,EAAAjB,YAAA,SAAAb,CAAA,CAAA8B,0BAAA,mBAAA5B,KAAA,EAAA2B,iBAAA,EAAAhB,YAAA,SAAAgB,iBAAA,CAAA2C,WAAA,GAAA7D,MAAA,CAAAmB,0BAAA,EAAArB,CAAA,wBAAAhB,CAAA,CAAAgF,mBAAA,aAAA/E,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAgF,WAAA,WAAAjF,CAAA,KAAAA,CAAA,KAAAoC,iBAAA,6BAAApC,CAAA,CAAA+E,WAAA,IAAA/E,CAAA,CAAAkF,IAAA,OAAAlF,CAAA,CAAAmF,IAAA,aAAAlF,CAAA,WAAAE,MAAA,CAAAiF,cAAA,GAAAjF,MAAA,CAAAiF,cAAA,CAAAnF,CAAA,EAAAoC,0BAAA,KAAApC,CAAA,CAAAoF,SAAA,GAAAhD,0BAAA,EAAAnB,MAAA,CAAAjB,CAAA,EAAAe,CAAA,yBAAAf,CAAA,CAAAG,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAmB,CAAA,GAAA1C,CAAA,KAAAD,CAAA,CAAAsF,KAAA,aAAArF,CAAA,aAAAkD,OAAA,EAAAlD,CAAA,OAAA2C,qBAAA,CAAAG,aAAA,CAAA3C,SAAA,GAAAc,MAAA,CAAA6B,aAAA,CAAA3C,SAAA,EAAAU,CAAA,iCAAAd,CAAA,CAAA+C,aAAA,GAAAA,aAAA,EAAA/C,CAAA,CAAAuF,KAAA,aAAAtF,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,EAAAG,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAA8E,OAAA,OAAA5E,CAAA,OAAAmC,aAAA,CAAAzB,IAAA,CAAArB,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,GAAAG,CAAA,UAAAV,CAAA,CAAAgF,mBAAA,CAAA9E,CAAA,IAAAU,CAAA,GAAAA,CAAA,CAAAqD,IAAA,GAAAb,IAAA,WAAAnD,CAAA,WAAAA,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAQ,KAAA,GAAAG,CAAA,CAAAqD,IAAA,WAAArB,qBAAA,CAAAD,CAAA,GAAAzB,MAAA,CAAAyB,CAAA,EAAA3B,CAAA,gBAAAE,MAAA,CAAAyB,CAAA,EAAA/B,CAAA,iCAAAM,MAAA,CAAAyB,CAAA,6DAAA3C,CAAA,CAAAyF,IAAA,aAAAxF,CAAA,QAAAD,CAAA,GAAAG,MAAA,CAAAF,CAAA,GAAAC,CAAA,gBAAAG,CAAA,IAAAL,CAAA,EAAAE,CAAA,CAAAuE,IAAA,CAAApE,CAAA,UAAAH,CAAA,CAAAwF,OAAA,aAAAzB,KAAA,WAAA/D,CAAA,CAAA4E,MAAA,SAAA7E,CAAA,GAAAC,CAAA,CAAAyF,GAAA,QAAA1F,CAAA,IAAAD,CAAA,SAAAiE,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,WAAAA,IAAA,CAAAV,IAAA,OAAAU,IAAA,QAAAjE,CAAA,CAAA0C,MAAA,GAAAA,MAAA,EAAAjB,OAAA,CAAArB,SAAA,KAAA6E,WAAA,EAAAxD,OAAA,EAAAmD,KAAA,WAAAA,MAAA5E,CAAA,aAAA4F,IAAA,WAAA3B,IAAA,WAAAN,IAAA,QAAAC,KAAA,GAAA3D,CAAA,OAAAsD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAA3B,GAAA,GAAA5B,CAAA,OAAAuE,UAAA,CAAA3B,OAAA,CAAA6B,aAAA,IAAA1E,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAA2F,MAAA,OAAAxF,CAAA,CAAAyB,IAAA,OAAA5B,CAAA,MAAA2E,KAAA,EAAA3E,CAAA,CAAA4F,KAAA,cAAA5F,CAAA,IAAAD,CAAA,MAAA8F,IAAA,WAAAA,KAAA,SAAAxC,IAAA,WAAAtD,CAAA,QAAAuE,UAAA,IAAAG,UAAA,kBAAA1E,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,cAAAmE,IAAA,KAAAnC,iBAAA,WAAAA,kBAAA7D,CAAA,aAAAuD,IAAA,QAAAvD,CAAA,MAAAE,CAAA,kBAAA+F,OAAA5F,CAAA,EAAAE,CAAA,WAAAK,CAAA,CAAAgB,IAAA,YAAAhB,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAE,CAAA,CAAA+D,IAAA,GAAA5D,CAAA,EAAAE,CAAA,KAAAL,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,KAAAM,CAAA,aAAAA,CAAA,QAAAiE,UAAA,CAAAM,MAAA,MAAAvE,CAAA,SAAAA,CAAA,QAAAG,CAAA,QAAA8D,UAAA,CAAAjE,CAAA,GAAAK,CAAA,GAAAF,CAAA,CAAAiE,UAAA,iBAAAjE,CAAA,CAAA0D,MAAA,SAAA6B,MAAA,aAAAvF,CAAA,CAAA0D,MAAA,SAAAwB,IAAA,QAAA9E,CAAA,GAAAT,CAAA,CAAAyB,IAAA,CAAApB,CAAA,eAAAM,CAAA,GAAAX,CAAA,CAAAyB,IAAA,CAAApB,CAAA,qBAAAI,CAAA,IAAAE,CAAA,aAAA4E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,gBAAAuB,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,cAAAxD,CAAA,aAAA8E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,qBAAArD,CAAA,QAAAsC,KAAA,qDAAAsC,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,YAAAR,MAAA,WAAAA,OAAA7D,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAsE,UAAA,CAAAM,MAAA,MAAA5E,CAAA,SAAAA,CAAA,QAAAK,CAAA,QAAAiE,UAAA,CAAAtE,CAAA,OAAAK,CAAA,CAAA6D,MAAA,SAAAwB,IAAA,IAAAvF,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,wBAAAqF,IAAA,GAAArF,CAAA,CAAA+D,UAAA,QAAA5D,CAAA,GAAAH,CAAA,aAAAG,CAAA,iBAAAT,CAAA,mBAAAA,CAAA,KAAAS,CAAA,CAAA0D,MAAA,IAAApE,CAAA,IAAAA,CAAA,IAAAU,CAAA,CAAA4D,UAAA,KAAA5D,CAAA,cAAAE,CAAA,GAAAF,CAAA,GAAAA,CAAA,CAAAiE,UAAA,cAAA/D,CAAA,CAAAgB,IAAA,GAAA3B,CAAA,EAAAW,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAU,CAAA,SAAA8C,MAAA,gBAAAS,IAAA,GAAAvD,CAAA,CAAA4D,UAAA,EAAAnC,CAAA,SAAA+D,QAAA,CAAAtF,CAAA,MAAAsF,QAAA,WAAAA,SAAAjG,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,qBAAA5B,CAAA,CAAA2B,IAAA,mBAAA3B,CAAA,CAAA2B,IAAA,QAAAqC,IAAA,GAAAhE,CAAA,CAAA4B,GAAA,gBAAA5B,CAAA,CAAA2B,IAAA,SAAAoE,IAAA,QAAAnE,GAAA,GAAA5B,CAAA,CAAA4B,GAAA,OAAA2B,MAAA,kBAAAS,IAAA,yBAAAhE,CAAA,CAAA2B,IAAA,IAAA5B,CAAA,UAAAiE,IAAA,GAAAjE,CAAA,GAAAmC,CAAA,KAAAgE,MAAA,WAAAA,OAAAlG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAoE,UAAA,KAAArE,CAAA,cAAAiG,QAAA,CAAAhG,CAAA,CAAAyE,UAAA,EAAAzE,CAAA,CAAAqE,QAAA,GAAAG,aAAA,CAAAxE,CAAA,GAAAiC,CAAA,yBAAAiE,OAAAnG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAkE,MAAA,KAAAnE,CAAA,QAAAI,CAAA,GAAAH,CAAA,CAAAyE,UAAA,kBAAAtE,CAAA,CAAAuB,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAwB,GAAA,EAAA6C,aAAA,CAAAxE,CAAA,YAAAK,CAAA,YAAA+C,KAAA,8BAAA+C,aAAA,WAAAA,cAAArG,CAAA,EAAAE,CAAA,EAAAG,CAAA,gBAAAoD,QAAA,KAAA5C,QAAA,EAAA6B,MAAA,CAAA1C,CAAA,GAAAgE,UAAA,EAAA9D,CAAA,EAAAgE,OAAA,EAAA7D,CAAA,oBAAAmD,MAAA,UAAA3B,GAAA,GAAA5B,CAAA,GAAAkC,CAAA,OAAAnC,CAAA;AAAA,SAAAsG,mBAAAjG,CAAA,EAAAJ,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAK,CAAA,EAAAK,CAAA,EAAAE,CAAA,cAAAJ,CAAA,GAAAL,CAAA,CAAAO,CAAA,EAAAE,CAAA,GAAAE,CAAA,GAAAN,CAAA,CAAAD,KAAA,WAAAJ,CAAA,gBAAAL,CAAA,CAAAK,CAAA,KAAAK,CAAA,CAAA6C,IAAA,GAAAtD,CAAA,CAAAe,CAAA,IAAAwE,OAAA,CAAAtC,OAAA,CAAAlC,CAAA,EAAAoC,IAAA,CAAAlD,CAAA,EAAAK,CAAA;AAAA,SAAAgG,kBAAAlG,CAAA,6BAAAJ,CAAA,SAAAD,CAAA,GAAAwG,SAAA,aAAAhB,OAAA,WAAAtF,CAAA,EAAAK,CAAA,QAAAK,CAAA,GAAAP,CAAA,CAAAoG,KAAA,CAAAxG,CAAA,EAAAD,CAAA,YAAA0G,MAAArG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,UAAAtG,CAAA,cAAAsG,OAAAtG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,WAAAtG,CAAA,KAAAqG,KAAA;AAAA,SAAAiG,gBAAA/L,CAAA,EAAAP,CAAA,UAAAO,CAAA,YAAAP,CAAA,aAAA0D,SAAA;AAAA,SAAA6I,kBAAA5M,CAAA,EAAAE,CAAA,aAAAD,CAAA,MAAAA,CAAA,GAAAC,CAAA,CAAA4E,MAAA,EAAA7E,CAAA,UAAAM,CAAA,GAAAL,CAAA,CAAAD,CAAA,GAAAM,CAAA,CAAAY,UAAA,GAAAZ,CAAA,CAAAY,UAAA,QAAAZ,CAAA,CAAAa,YAAA,kBAAAb,CAAA,KAAAA,CAAA,CAAAc,QAAA,QAAAlB,MAAA,CAAAK,cAAA,CAAAR,CAAA,EAAA6M,cAAA,CAAAtM,CAAA,CAAAuM,GAAA,GAAAvM,CAAA;AAAA,SAAAwM,aAAA/M,CAAA,EAAAE,CAAA,EAAAD,CAAA,WAAAC,CAAA,IAAA0M,iBAAA,CAAA5M,CAAA,CAAAI,SAAA,EAAAF,CAAA,GAAAD,CAAA,IAAA2M,iBAAA,CAAA5M,CAAA,EAAAC,CAAA,GAAAE,MAAA,CAAAK,cAAA,CAAAR,CAAA,iBAAAqB,QAAA,SAAArB,CAAA;AAAA,SAAAgN,gBAAAhN,CAAA,EAAAE,CAAA,EAAAD,CAAA,YAAAC,CAAA,GAAA2M,cAAA,CAAA3M,CAAA,MAAAF,CAAA,GAAAG,MAAA,CAAAK,cAAA,CAAAR,CAAA,EAAAE,CAAA,IAAAO,KAAA,EAAAR,CAAA,EAAAkB,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAArB,CAAA,CAAAE,CAAA,IAAAD,CAAA,EAAAD,CAAA;AAAA,SAAA6M,eAAA5M,CAAA,QAAAS,CAAA,GAAAuM,YAAA,CAAAhN,CAAA,gCAAAgD,OAAA,CAAAvC,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAuM,aAAAhN,CAAA,EAAAC,CAAA,oBAAA+C,OAAA,CAAAhD,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAD,CAAA,GAAAC,CAAA,CAAAU,MAAA,CAAAuM,WAAA,kBAAAlN,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAA8B,IAAA,CAAA7B,CAAA,EAAAC,CAAA,gCAAA+C,OAAA,CAAAvC,CAAA,UAAAA,CAAA,YAAAqD,SAAA,yEAAA7D,CAAA,GAAAiN,MAAA,GAAAC,MAAA,EAAAnN,CAAA;AADA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACoD;AACN;AACY;AACH;AAC0B;AAC9B;AACR;AAEpC,IAAMoN,UAAU;EAUnB,SAAAA,WAAcC,aAAa,EAAEC,WAAW,EAAEC,kBAAkB,EAAEC,YAAY,EAAEC,YAAY,EAAEC,cAAc,EACxG;IAAAhB,eAAA,OAAAU,UAAA;IAAAL,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IACI,IAAI,CAACQ,kBAAkB,GAAGA,kBAAkB;IAC5C,IAAI,CAACC,YAAY,GAAGA,YAAY;IAChC,IAAI,CAAClB,eAAe,GAAG,IAAIqB,4DAAe,CAAC,CAAC;IAC5C,IAAI,CAACC,aAAa,GAAGP,aAAa;IAClC,IAAI,CAACK,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACJ,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACG,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACI,YAAY,CAAC,CAAC;EACvB;EAAC,OAAAf,YAAA,CAAAM,UAAA;IAAAP,GAAA;IAAArM,KAAA,EAED,SAAAsN,YAAYA,CAAA,EACZ;MACI,IAAI,CAACP,kBAAkB,CAACQ,KAAK,CAAC,CAAC;MAC/B,IAAI,CAACP,YAAY,CAACO,KAAK,CAAC,CAAC;IAC7B;EAAC;IAAAlB,GAAA;IAAArM,KAAA;MAAA,IAAAwN,OAAA,GAAA1H,iBAAA,eAAAxG,mBAAA,GAAAoF,IAAA,CAED,SAAA4D,QAAcmF,cAAc;QAAA,IAAAC,GAAA;QAAA,OAAApO,mBAAA,GAAAuB,IAAA,UAAA0H,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAArD,IAAA,GAAAqD,QAAA,CAAAhF,IAAA;YAAA;cAExB,IAAI,CAAC8J,YAAY,CAAC,CAAC;cACbI,GAAG,GAAG,IAAIC,GAAG,CAAC,IAAI,CAACT,cAAc,CAAC;cACxC,IAAIO,cAAc,EAAE;gBAChBC,GAAG,CAACE,YAAY,CAACC,MAAM,CAAC,UAAU,EAAEJ,cAAc,CAAC;cACvD;cACAK,MAAM,CAACC,QAAQ,CAACC,MAAM,CAACN,GAAG,CAACO,QAAQ,CAAC,CAAC,CAAC;YAAC;YAAA;cAAA,OAAAzF,QAAA,CAAAlD,IAAA;UAAA;QAAA,GAAAgD,OAAA;MAAA,CAC1C;MAAA,SARK4F,MAAMA,CAAAC,EAAA;QAAA,OAAAX,OAAA,CAAAxH,KAAA,OAAAD,SAAA;MAAA;MAAA,OAANmI,MAAM;IAAA;EAAA;IAAA7B,GAAA;IAAArM,KAAA;MAAA,IAAAoO,mBAAA,GAAAtI,iBAAA,eAAAxG,mBAAA,GAAAoF,IAAA,CAUZ,SAAA2J,SAA2BC,MAAM;QAAA,IAAAC,WAAA,EAAAC,YAAA,EAAAC,IAAA,EAAAC,UAAA;QAAA,OAAApP,mBAAA,GAAAuB,IAAA,UAAA8N,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAzJ,IAAA,GAAAyJ,SAAA,CAAApL,IAAA;YAAA;cAE7B;cACA;cACM+K,WAAW,GAAG7O,MAAM,CAACsO,MAAM,CAAE,CAAC,CAAC,EAAEM,MAAO,CAAC;cAC/CC,WAAW,CAACzB,WAAW,GAAG,IAAI,CAACA,WAAW;cAAC8B,SAAA,CAAApL,IAAA;cAAA,OAChBqL,iEAAkB,CAAEN,WAAY,CAAC;YAAA;cAAtDC,YAAY,GAAAI,SAAA,CAAA1L,IAAA;cACZuL,IAAI,GAAGK,6DAAc,CAAEN,YAAa,CAAC;cAC3C,IAAI,CAACzB,kBAAkB,CAACgC,IAAI,CAAEN,IAAK,CAAC;cACpCD,YAAY,CAACvB,YAAY,GAAG,IAAI,CAACA,YAAY;cACvCyB,UAAU,GAAGM,uEAAoB,CAAER,YAAY,EAAE,IAAI,CAACpB,aAAc,CAAC;cAC3EU,MAAM,CAACC,QAAQ,CAACC,MAAM,CAAEU,UAAW,CAAC;YAAC;YAAA;cAAA,OAAAE,SAAA,CAAAtJ,IAAA;UAAA;QAAA,GAAA+I,QAAA;MAAA,CACxC;MAAA,SAZK5F,kBAAkBA,CAAAwG,GAAA;QAAA,OAAAb,mBAAA,CAAApI,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAlB0C,kBAAkB;IAAA;EAAA;IAAA4D,GAAA;IAAArM,KAAA;MAAA,IAAAkP,oBAAA,GAAApJ,iBAAA,eAAAxG,mBAAA,GAAAoF,IAAA,CAcxB,SAAAyK,SAAA;QAAA,IAAAC,SAAA,EAAAX,IAAA,EAAAY,YAAA;QAAA,OAAA/P,mBAAA,GAAAuB,IAAA,UAAAyO,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAApK,IAAA,GAAAoK,SAAA,CAAA/L,IAAA;YAAA;cAEU4L,SAAS,GAAGI,uDAAQ,CAAC,CAAC,EAC5B;cAAA,KACKJ,SAAS,CAACK,IAAI;gBAAAF,SAAA,CAAA/L,IAAA;gBAAA;cAAA;cAETiL,IAAI,GAAG,IAAI,CAAC1B,kBAAkB,CAAC2C,kBAAkB,CAAC,CAAC;cACjDL,YAAY,GAAKZ,IAAI,CAArBY,YAAY;cAAA,KACfA,YAAY;gBAAAE,SAAA,CAAA/L,IAAA;gBAAA;cAAA;cAAA+L,SAAA,CAAA/L,IAAA;cAAA,OAGP,IAAI,CAACwJ,YAAY,CAAC2C,qBAAqB,CAAEP,SAAS,CAACK,IAAI,EAAEJ,YAAY,EAAED,SAAS,CAAC1G,KAAM,CAAC;YAAA;cAC9F;cACA,IAAI,CAACqE,kBAAkB,CAACQ,KAAK,CAAC,CAAC;cAC/B,IAAI,CAACF,YAAY,CAAC,CAAC;cAAC,OAAAkC,SAAA,CAAAlM,MAAA,WACb,IAAI,CAACwI,YAAY,CAAC,CAAC;YAAA;cAAA,MAGpB,IAAI+D,uDAAS,CAAE,8CAA+C,CAAC;YAAA;cAAA,OAAAL,SAAA,CAAAlM,MAAA,WAKtE,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAkM,SAAA,CAAAjK,IAAA;UAAA;QAAA,GAAA6J,QAAA;MAAA,CACZ;MAAA,SAxBKtF,mBAAmBA,CAAA;QAAA,OAAAqF,oBAAA,CAAAlJ,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAnB8D,mBAAmB;IAAA;EAAA;IAAAwC,GAAA;IAAArM,KAAA,EA0BzB,SAAAmL,eAAeA,CAAA,EACf;MACI;MACA,OAAO,CAAC,IAAI,CAAC6B,YAAY,CAAC6C,UAAU,CAAC,CAAC;IAC1C;EAAC;IAAAxD,GAAA;IAAArM,KAAA,EAED,SAAAqN,YAAYA,CAAA,EACZ;MACI,IAAK,IAAI,CAACL,YAAY,CAAC6C,UAAU,CAAC,CAAC,EACnC;QACI,IAAI,CAAC/D,eAAe,CAACyB,KAAK,CAAC,CAAC;MAChC,CAAC,MAAM;QACH,IAAAuC,qBAAA,GAAsC,IAAI,CAACC,gBAAgB,CAAC,CAAC;UAArDC,YAAY,GAAAF,qBAAA,CAAZE,YAAY;UAAEC,WAAW,GAAAH,qBAAA,CAAXG,WAAW;QACjC,IAAI,CAACnE,eAAe,CAACT,YAAY,CAC7B,IAAI,CAAC6E,cAAc,CAAC,CAAC,EACrB,IAAI,CAACC,UAAU,CAAC,CAAC,EACjBH,YAAY,EACZC,WAAW,EACX,IAAI,CAAC9E,eAAe,CAAC,CACzB,CAAC;MACL;IACJ;EAAC;IAAAkB,GAAA;IAAArM,KAAA,EAED,SAAA6L,YAAYA,CAAA,EACZ;MACI,OAAO,IAAI,CAACC,eAAe,CAACD,YAAY,CAAC,CAAC;IAC9C;EAAC;IAAAQ,GAAA;IAAArM,KAAA,EAED,SAAAoQ,iBAAiBA,CAAA,EACjB;MACI,OAAO,IAAI,CAACpD,YAAY,CAACoD,iBAAiB,CAAC,CAAC;IAChD;EAAC;IAAA/D,GAAA;IAAArM,KAAA,EAED,SAAAmQ,UAAUA,CAAA,EACV;MACI,OAAO,IAAI,CAACnD,YAAY,CAACmD,UAAU,CAAC,CAAC;IACzC;EAAC;IAAA9D,GAAA;IAAArM,KAAA,EAED,SAAAkQ,cAAcA,CAAA,EACd;MACI,OAAO,IAAI,CAAClD,YAAY,CAACkD,cAAc,CAAC,CAAC;IAC7C;EAAC;IAAA7D,GAAA;IAAArM,KAAA,EAED,SAAA+P,gBAAgBA,CAAA,EAChB;MACI;MACA,IAAMM,OAAO,GAAG,IAAI,CAACrD,YAAY,CAACmD,UAAU,CAAC,CAAC;MAC9C,IAAIE,OAAO,EACX;QACI,OAAOC,uDAAQ,CAACD,OAAO,CAAC;MAC5B;MACA,OAAO,CAAC,CAAC;IACb;EAAC;IAAAhE,GAAA;IAAArM,KAAA,EAED,SAAAuQ,oBAAoBA,CAAA,EACpB;MACI;MACA,IAAMC,WAAW,GAAG,IAAI,CAACxD,YAAY,CAACkD,cAAc,CAAC,CAAC;MACtD,IAAIM,WAAW,EACf;QACI,OAAOF,uDAAQ,CAACE,WAAW,CAAC;MAChC;MACA,OAAO,CAAC,CAAC;IACb;EAAC;IAAAnE,GAAA;IAAAoE,GAAA,EAED,SAAAA,IAAA,EACA;MAAA,IAAAC,UAAA;MACI,IAAMC,IAAI,GAAG,IAAI,CAAC7E,eAAe,CAACD,YAAY,CAAC,CAAC;MAChD,QAAA6E,UAAA,GAAOC,IAAI,CAAC/F,IAAI,cAAA8F,UAAA,cAAAA,UAAA,GAAI,IAAI;IAC5B;EAAC;IAAArE,GAAA;IAAAoE,GAAA,EAED,SAAAA,IAAA,EACA;MAAA,IAAAG,gBAAA;MACI,IAAMD,IAAI,GAAG,IAAI,CAAC7E,eAAe,CAACD,YAAY,CAAC,CAAC;MAChD,QAAA+E,gBAAA,GAAOD,IAAI,CAAC3F,UAAU,cAAA4F,gBAAA,cAAAA,gBAAA,GAAI,IAAI;IAClC;EAAC;AAAA;AAGL,IAAMC,eAAe,GAAG,8HAA8H;AACtJ,IAAMC,kBAAkB,GAAG,8HAA8H;AAClJ,IAAMlF,UAAU,0BAAAmF,YAAA;EAEnB,SAAAnF,WAAA,EACA;IAAA,IADczB,IAAI,GAAApE,SAAA,CAAA1B,MAAA,QAAA0B,SAAA,QAAAqB,SAAA,GAAArB,SAAA,MAAG,CAAC,CAAC;IAAAmG,eAAA,OAAAN,UAAA;IAEnB,IACmBoF,qBAAqB,GAMpC7G,IAAI,CANJ8G,aAAa;MACEC,qBAAqB,GAKpC/G,IAAI,CALJiD,aAAa;MACG+D,sBAAsB,GAItChH,IAAI,CAJJ+C,cAAc;MACHkE,iBAAiB,GAG5BjH,IAAI,CAHJkH,SAAS;MACTvE,WAAW,GAEX3C,IAAI,CAFJ2C,WAAW;MACXG,YAAY,GACZ9C,IAAI,CADJ8C,YAAY;IAEhB,IAAMqE,aAAa,GAAGN,qBAAqB,IAAI,6CAA6C;IAC5F,IAAMnE,aAAa,GAAGqE,qBAAqB,IAAI,6CAA6C;IAC5F,IAAMK,cAAc,GAAGJ,sBAAsB,IAAI,8CAA8C;IAC/F,IAAME,SAAS,GAAGD,iBAAiB,IAAIP,eAAe;IAEtD,IAAMW,YAAY,GAAGC,2EAAe,CAACtH,IAAI,CAAC;IAC1C,IAAMuH,sBAAsB,GAAG,IAAIC,+DAAkB,CAAEH,YAAa,CAAC;IACrE,IAAMxE,YAAY,GAAG,IAAI4E,yDAAY,CAAEJ,YAAY,EAAEF,aAAa,EAAED,SAAU,CAAC;IAAC,OAAAQ,UAAA,OAAAjG,UAAA,GACzEiB,aAAa,EAAEC,WAAW,EAAE4E,sBAAsB,EAAE1E,YAAY,EAAEC,YAAY,EAAEsE,cAAc;EACzG;EAACO,SAAA,CAAAlG,UAAA,EAAAmF,YAAA;EAAA,OAAAzE,YAAA,CAAAV,UAAA;AAAA,EArB2BgB,UAAU;AAwBnC,IAAMjB,aAAa,0BAAAoG,YAAA;EAEtB,SAAApG,cAAA,EACA;IAAA,IADcxB,IAAI,GAAApE,SAAA,CAAA1B,MAAA,QAAA0B,SAAA,QAAAqB,SAAA,GAAArB,SAAA,MAAG,CAAC,CAAC;IAAAmG,eAAA,OAAAP,aAAA;IAEnB,IACmBqF,qBAAqB,GAMpC7G,IAAI,CANJ8G,aAAa;MACEC,qBAAqB,GAKpC/G,IAAI,CALJiD,aAAa;MACG+D,sBAAsB,GAItChH,IAAI,CAJJ+C,cAAc;MACHkE,iBAAiB,GAG5BjH,IAAI,CAHJkH,SAAS;MACTvE,WAAW,GAEX3C,IAAI,CAFJ2C,WAAW;MACXG,YAAY,GACZ9C,IAAI,CADJ8C,YAAY;IAEhB,IAAMqE,aAAa,GAAGN,qBAAqB,IAAI,qDAAqD;IACpG,IAAMnE,aAAa,GAAGqE,qBAAqB,IAAI,qDAAqD;IACpG,IAAMK,cAAc,GAAGJ,sBAAsB,IAAI,sDAAsD;IACvG,IAAME,SAAS,GAAGD,iBAAiB,IAAIN,kBAAkB;IAEzD,IAAMU,YAAY,GAAGC,2EAAe,CAACtH,IAAI,CAAC;IAC1C,IAAMuH,sBAAsB,GAAG,IAAIC,+DAAkB,CAAEH,YAAa,CAAC;IACrE,IAAMxE,YAAY,GAAG,IAAI4E,yDAAY,CAAEJ,YAAY,EAAEF,aAAa,EAAED,SAAU,CAAC;IAAC,OAAAQ,UAAA,OAAAlG,aAAA,GACzEkB,aAAa,EAAEC,WAAW,EAAE4E,sBAAsB,EAAE1E,YAAY,EAAEC,YAAY,EAAEsE,cAAc;EACzG;EAACO,SAAA,CAAAnG,aAAA,EAAAoG,YAAA;EAAA,OAAAzF,YAAA,CAAAX,aAAA;AAAA,EArB8BiB,UAAU,E;;;;;;;;;;;;;;;;ACvM7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEmC;AAEnC,IAAMoF,uBAAuB,GAAG,iBAAiB;AAAC,IAE5C7E,eAAe;EAKjB,SAAAA,gBAAA,EACA;IAAAjB,eAAA,OAAAiB,eAAA;IAAAZ,eAAA;IAAAA,eAAA;IACI,IAAI,CAAC0F,UAAU,GAAG,IAAI;IACtB,IAAI,CAACC,QAAQ,GAAG,IAAIC,sIAAO,CAAC,CAAC;EACjC;EAAC,OAAA7F,YAAA,CAAAa,eAAA;IAAAd,GAAA;IAAArM,KAAA,EAED,SAAAqL,YAAYA,CAAEmF,WAAW,EAAEH,OAAO,EAAEzF,IAAI,EAAEI,UAAU,EAAEG,eAAe,EACrE;MACI,IAAI,CAAC8G,UAAU,GAAG;QAAEzB,WAAW,EAAXA,WAAW;QAAEH,OAAO,EAAPA,OAAO;QAAEzF,IAAI,EAAJA,IAAI;QAAEI,UAAU,EAAVA,UAAU;QAAEG,eAAe,EAAfA;MAAgB,CAAC;MAC7E,IAAI,CAAC+G,QAAQ,CAACE,IAAI,CAACJ,uBAAuB,EAAE,IAAI,CAACC,UAAU,CAAC;IAChE;EAAC;IAAA5F,GAAA;IAAArM,KAAA,EAED,SAAA6L,YAAYA,CAAA,EACZ;MACI,OAAOnM,MAAM,CAACsO,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAACiE,UAAU,CAAC;IAC7C;EAAC;IAAA5F,GAAA;IAAArM,KAAA,EAED,SAAAuN,KAAKA,CAAA,EACL;MACI,IAAI,CAAC0E,UAAU,GAAG,IAAI;IAC1B;EAAC;IAAA5F,GAAA;IAAArM,KAAA,EAED,SAAA+L,SAASA,CAAEsG,OAAO,EAClB;MACI,IAAI,CAACH,QAAQ,CAACI,EAAE,CAACN,uBAAuB,EAAEK,OAAO,CAAC;IACtD;EAAC;IAAAhG,GAAA;IAAArM,KAAA,EAED,SAAAgM,WAAWA,CAAEqG,OAAO,EACpB;MACI,IAAI,CAACH,QAAQ,CAACK,GAAG,CAACP,uBAAuB,EAAEK,OAAO,CAAC;IACvD;EAAC;AAAA;AAGUlF,8EAAe,E;;;;;;;;;;;;+CCnD9B,qJAAA7N,mBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,CAAA,GAAAH,CAAA,CAAAI,cAAA,EAAAC,CAAA,GAAAJ,MAAA,CAAAK,cAAA,cAAAP,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAO,KAAA,KAAAC,CAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,kBAAAC,CAAA,GAAAJ,CAAA,CAAAK,aAAA,uBAAAC,CAAA,GAAAN,CAAA,CAAAO,WAAA,8BAAAC,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAC,MAAA,CAAAK,cAAA,CAAAP,CAAA,EAAAD,CAAA,IAAAS,KAAA,EAAAP,CAAA,EAAAiB,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAApB,CAAA,CAAAD,CAAA,WAAAkB,MAAA,mBAAAjB,CAAA,IAAAiB,MAAA,YAAAA,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAoB,KAAArB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAK,CAAA,GAAAV,CAAA,IAAAA,CAAA,CAAAI,SAAA,YAAAmB,SAAA,GAAAvB,CAAA,GAAAuB,SAAA,EAAAX,CAAA,GAAAT,MAAA,CAAAqB,MAAA,CAAAd,CAAA,CAAAN,SAAA,GAAAU,CAAA,OAAAW,OAAA,CAAApB,CAAA,gBAAAE,CAAA,CAAAK,CAAA,eAAAH,KAAA,EAAAiB,gBAAA,CAAAzB,CAAA,EAAAC,CAAA,EAAAY,CAAA,MAAAF,CAAA,aAAAe,SAAA1B,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAA0B,IAAA,YAAAC,GAAA,EAAA5B,CAAA,CAAA6B,IAAA,CAAA9B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAA2B,IAAA,WAAAC,GAAA,EAAA5B,CAAA,QAAAD,CAAA,CAAAsB,IAAA,GAAAA,IAAA,MAAAS,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAZ,UAAA,cAAAa,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAApB,MAAA,CAAAoB,CAAA,EAAA1B,CAAA,qCAAA2B,CAAA,GAAApC,MAAA,CAAAqC,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAvC,CAAA,IAAAG,CAAA,CAAAyB,IAAA,CAAAW,CAAA,EAAA7B,CAAA,MAAA0B,CAAA,GAAAG,CAAA,OAAAE,CAAA,GAAAN,0BAAA,CAAAjC,SAAA,GAAAmB,SAAA,CAAAnB,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAc,CAAA,YAAAM,sBAAA3C,CAAA,gCAAA4C,OAAA,WAAA7C,CAAA,IAAAkB,MAAA,CAAAjB,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAA6C,OAAA,CAAA9C,CAAA,EAAAC,CAAA,sBAAA8C,cAAA9C,CAAA,EAAAD,CAAA,aAAAgD,OAAA9C,CAAA,EAAAK,CAAA,EAAAG,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAA1B,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAM,CAAA,mBAAAO,CAAA,CAAAc,IAAA,QAAAZ,CAAA,GAAAF,CAAA,CAAAe,GAAA,EAAAE,CAAA,GAAAf,CAAA,CAAAP,KAAA,SAAAsB,CAAA,gBAAAkB,OAAA,CAAAlB,CAAA,KAAA1B,CAAA,CAAAyB,IAAA,CAAAC,CAAA,eAAA/B,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,CAAAoB,OAAA,EAAAC,IAAA,WAAAnD,CAAA,IAAA+C,MAAA,SAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,gBAAAX,CAAA,IAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,QAAAZ,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,EAAAqB,IAAA,WAAAnD,CAAA,IAAAe,CAAA,CAAAP,KAAA,GAAAR,CAAA,EAAAS,CAAA,CAAAM,CAAA,gBAAAf,CAAA,WAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAe,GAAA,SAAA3B,CAAA,EAAAK,CAAA,oBAAAE,KAAA,WAAAA,MAAAR,CAAA,EAAAI,CAAA,aAAAgD,2BAAA,eAAArD,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAA8C,MAAA,CAAA/C,CAAA,EAAAI,CAAA,EAAAL,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAAkD,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAA3B,iBAAA1B,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAE,CAAA,GAAAwB,CAAA,mBAAArB,CAAA,EAAAE,CAAA,QAAAL,CAAA,KAAA0B,CAAA,QAAAqB,KAAA,sCAAA/C,CAAA,KAAA2B,CAAA,oBAAAxB,CAAA,QAAAE,CAAA,WAAAH,KAAA,EAAAR,CAAA,EAAAsD,IAAA,eAAAlD,CAAA,CAAAmD,MAAA,GAAA9C,CAAA,EAAAL,CAAA,CAAAwB,GAAA,GAAAjB,CAAA,UAAAE,CAAA,GAAAT,CAAA,CAAAoD,QAAA,MAAA3C,CAAA,QAAAE,CAAA,GAAA0C,mBAAA,CAAA5C,CAAA,EAAAT,CAAA,OAAAW,CAAA,QAAAA,CAAA,KAAAmB,CAAA,mBAAAnB,CAAA,qBAAAX,CAAA,CAAAmD,MAAA,EAAAnD,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAuD,KAAA,GAAAvD,CAAA,CAAAwB,GAAA,sBAAAxB,CAAA,CAAAmD,MAAA,QAAAjD,CAAA,KAAAwB,CAAA,QAAAxB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAwB,GAAA,EAAAxB,CAAA,CAAAwD,iBAAA,CAAAxD,CAAA,CAAAwB,GAAA,uBAAAxB,CAAA,CAAAmD,MAAA,IAAAnD,CAAA,CAAAyD,MAAA,WAAAzD,CAAA,CAAAwB,GAAA,GAAAtB,CAAA,GAAA0B,CAAA,MAAAK,CAAA,GAAAX,QAAA,CAAA3B,CAAA,EAAAE,CAAA,EAAAG,CAAA,oBAAAiC,CAAA,CAAAV,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAkD,IAAA,GAAArB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA1B,KAAA,EAAA6B,CAAA,CAAAT,GAAA,EAAA0B,IAAA,EAAAlD,CAAA,CAAAkD,IAAA,kBAAAjB,CAAA,CAAAV,IAAA,KAAArB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAmD,MAAA,YAAAnD,CAAA,CAAAwB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA6B,oBAAA1D,CAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAH,CAAA,CAAAsD,MAAA,EAAAjD,CAAA,GAAAP,CAAA,CAAAa,QAAA,CAAAR,CAAA,OAAAE,CAAA,KAAAN,CAAA,SAAAC,CAAA,CAAAuD,QAAA,qBAAApD,CAAA,IAAAL,CAAA,CAAAa,QAAA,eAAAX,CAAA,CAAAsD,MAAA,aAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,EAAAyD,mBAAA,CAAA1D,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAsD,MAAA,kBAAAnD,CAAA,KAAAH,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,uCAAA1D,CAAA,iBAAA8B,CAAA,MAAAzB,CAAA,GAAAiB,QAAA,CAAApB,CAAA,EAAAP,CAAA,CAAAa,QAAA,EAAAX,CAAA,CAAA2B,GAAA,mBAAAnB,CAAA,CAAAkB,IAAA,SAAA1B,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,GAAAnB,CAAA,CAAAmB,GAAA,EAAA3B,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,MAAAvB,CAAA,GAAAF,CAAA,CAAAmB,GAAA,SAAAjB,CAAA,GAAAA,CAAA,CAAA2C,IAAA,IAAArD,CAAA,CAAAF,CAAA,CAAAgE,UAAA,IAAApD,CAAA,CAAAH,KAAA,EAAAP,CAAA,CAAA+D,IAAA,GAAAjE,CAAA,CAAAkE,OAAA,eAAAhE,CAAA,CAAAsD,MAAA,KAAAtD,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,GAAAC,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,IAAAvB,CAAA,IAAAV,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,sCAAA7D,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,cAAAgC,aAAAlE,CAAA,QAAAD,CAAA,KAAAoE,MAAA,EAAAnE,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAAqE,QAAA,GAAApE,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAsE,UAAA,GAAArE,CAAA,KAAAD,CAAA,CAAAuE,QAAA,GAAAtE,CAAA,WAAAuE,UAAA,CAAAC,IAAA,CAAAzE,CAAA,cAAA0E,cAAAzE,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAA0E,UAAA,QAAA3E,CAAA,CAAA4B,IAAA,oBAAA5B,CAAA,CAAA6B,GAAA,EAAA5B,CAAA,CAAA0E,UAAA,GAAA3E,CAAA,aAAAyB,QAAAxB,CAAA,SAAAuE,UAAA,MAAAJ,MAAA,aAAAnE,CAAA,CAAA4C,OAAA,CAAAsB,YAAA,cAAAS,KAAA,iBAAAlC,OAAA1C,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAY,CAAA,OAAAV,CAAA,SAAAA,CAAA,CAAA4B,IAAA,CAAA9B,CAAA,4BAAAA,CAAA,CAAAiE,IAAA,SAAAjE,CAAA,OAAA6E,KAAA,CAAA7E,CAAA,CAAA8E,MAAA,SAAAvE,CAAA,OAAAG,CAAA,YAAAuD,KAAA,aAAA1D,CAAA,GAAAP,CAAA,CAAA8E,MAAA,OAAAzE,CAAA,CAAAyB,IAAA,CAAA9B,CAAA,EAAAO,CAAA,UAAA0D,IAAA,CAAAxD,KAAA,GAAAT,CAAA,CAAAO,CAAA,GAAA0D,IAAA,CAAAV,IAAA,OAAAU,IAAA,SAAAA,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,YAAAvD,CAAA,CAAAuD,IAAA,GAAAvD,CAAA,gBAAAqD,SAAA,CAAAd,OAAA,CAAAjD,CAAA,kCAAAoC,iBAAA,CAAAhC,SAAA,GAAAiC,0BAAA,EAAA9B,CAAA,CAAAoC,CAAA,mBAAAlC,KAAA,EAAA4B,0BAAA,EAAAjB,YAAA,SAAAb,CAAA,CAAA8B,0BAAA,mBAAA5B,KAAA,EAAA2B,iBAAA,EAAAhB,YAAA,SAAAgB,iBAAA,CAAA2C,WAAA,GAAA7D,MAAA,CAAAmB,0BAAA,EAAArB,CAAA,wBAAAhB,CAAA,CAAAgF,mBAAA,aAAA/E,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAgF,WAAA,WAAAjF,CAAA,KAAAA,CAAA,KAAAoC,iBAAA,6BAAApC,CAAA,CAAA+E,WAAA,IAAA/E,CAAA,CAAAkF,IAAA,OAAAlF,CAAA,CAAAmF,IAAA,aAAAlF,CAAA,WAAAE,MAAA,CAAAiF,cAAA,GAAAjF,MAAA,CAAAiF,cAAA,CAAAnF,CAAA,EAAAoC,0BAAA,KAAApC,CAAA,CAAAoF,SAAA,GAAAhD,0BAAA,EAAAnB,MAAA,CAAAjB,CAAA,EAAAe,CAAA,yBAAAf,CAAA,CAAAG,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAmB,CAAA,GAAA1C,CAAA,KAAAD,CAAA,CAAAsF,KAAA,aAAArF,CAAA,aAAAkD,OAAA,EAAAlD,CAAA,OAAA2C,qBAAA,CAAAG,aAAA,CAAA3C,SAAA,GAAAc,MAAA,CAAA6B,aAAA,CAAA3C,SAAA,EAAAU,CAAA,iCAAAd,CAAA,CAAA+C,aAAA,GAAAA,aAAA,EAAA/C,CAAA,CAAAuF,KAAA,aAAAtF,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,EAAAG,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAA8E,OAAA,OAAA5E,CAAA,OAAAmC,aAAA,CAAAzB,IAAA,CAAArB,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,GAAAG,CAAA,UAAAV,CAAA,CAAAgF,mBAAA,CAAA9E,CAAA,IAAAU,CAAA,GAAAA,CAAA,CAAAqD,IAAA,GAAAb,IAAA,WAAAnD,CAAA,WAAAA,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAQ,KAAA,GAAAG,CAAA,CAAAqD,IAAA,WAAArB,qBAAA,CAAAD,CAAA,GAAAzB,MAAA,CAAAyB,CAAA,EAAA3B,CAAA,gBAAAE,MAAA,CAAAyB,CAAA,EAAA/B,CAAA,iCAAAM,MAAA,CAAAyB,CAAA,6DAAA3C,CAAA,CAAAyF,IAAA,aAAAxF,CAAA,QAAAD,CAAA,GAAAG,MAAA,CAAAF,CAAA,GAAAC,CAAA,gBAAAG,CAAA,IAAAL,CAAA,EAAAE,CAAA,CAAAuE,IAAA,CAAApE,CAAA,UAAAH,CAAA,CAAAwF,OAAA,aAAAzB,KAAA,WAAA/D,CAAA,CAAA4E,MAAA,SAAA7E,CAAA,GAAAC,CAAA,CAAAyF,GAAA,QAAA1F,CAAA,IAAAD,CAAA,SAAAiE,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,WAAAA,IAAA,CAAAV,IAAA,OAAAU,IAAA,QAAAjE,CAAA,CAAA0C,MAAA,GAAAA,MAAA,EAAAjB,OAAA,CAAArB,SAAA,KAAA6E,WAAA,EAAAxD,OAAA,EAAAmD,KAAA,WAAAA,MAAA5E,CAAA,aAAA4F,IAAA,WAAA3B,IAAA,WAAAN,IAAA,QAAAC,KAAA,GAAA3D,CAAA,OAAAsD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAA3B,GAAA,GAAA5B,CAAA,OAAAuE,UAAA,CAAA3B,OAAA,CAAA6B,aAAA,IAAA1E,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAA2F,MAAA,OAAAxF,CAAA,CAAAyB,IAAA,OAAA5B,CAAA,MAAA2E,KAAA,EAAA3E,CAAA,CAAA4F,KAAA,cAAA5F,CAAA,IAAAD,CAAA,MAAA8F,IAAA,WAAAA,KAAA,SAAAxC,IAAA,WAAAtD,CAAA,QAAAuE,UAAA,IAAAG,UAAA,kBAAA1E,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,cAAAmE,IAAA,KAAAnC,iBAAA,WAAAA,kBAAA7D,CAAA,aAAAuD,IAAA,QAAAvD,CAAA,MAAAE,CAAA,kBAAA+F,OAAA5F,CAAA,EAAAE,CAAA,WAAAK,CAAA,CAAAgB,IAAA,YAAAhB,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAE,CAAA,CAAA+D,IAAA,GAAA5D,CAAA,EAAAE,CAAA,KAAAL,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,KAAAM,CAAA,aAAAA,CAAA,QAAAiE,UAAA,CAAAM,MAAA,MAAAvE,CAAA,SAAAA,CAAA,QAAAG,CAAA,QAAA8D,UAAA,CAAAjE,CAAA,GAAAK,CAAA,GAAAF,CAAA,CAAAiE,UAAA,iBAAAjE,CAAA,CAAA0D,MAAA,SAAA6B,MAAA,aAAAvF,CAAA,CAAA0D,MAAA,SAAAwB,IAAA,QAAA9E,CAAA,GAAAT,CAAA,CAAAyB,IAAA,CAAApB,CAAA,eAAAM,CAAA,GAAAX,CAAA,CAAAyB,IAAA,CAAApB,CAAA,qBAAAI,CAAA,IAAAE,CAAA,aAAA4E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,gBAAAuB,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,cAAAxD,CAAA,aAAA8E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,qBAAArD,CAAA,QAAAsC,KAAA,qDAAAsC,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,YAAAR,MAAA,WAAAA,OAAA7D,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAsE,UAAA,CAAAM,MAAA,MAAA5E,CAAA,SAAAA,CAAA,QAAAK,CAAA,QAAAiE,UAAA,CAAAtE,CAAA,OAAAK,CAAA,CAAA6D,MAAA,SAAAwB,IAAA,IAAAvF,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,wBAAAqF,IAAA,GAAArF,CAAA,CAAA+D,UAAA,QAAA5D,CAAA,GAAAH,CAAA,aAAAG,CAAA,iBAAAT,CAAA,mBAAAA,CAAA,KAAAS,CAAA,CAAA0D,MAAA,IAAApE,CAAA,IAAAA,CAAA,IAAAU,CAAA,CAAA4D,UAAA,KAAA5D,CAAA,cAAAE,CAAA,GAAAF,CAAA,GAAAA,CAAA,CAAAiE,UAAA,cAAA/D,CAAA,CAAAgB,IAAA,GAAA3B,CAAA,EAAAW,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAU,CAAA,SAAA8C,MAAA,gBAAAS,IAAA,GAAAvD,CAAA,CAAA4D,UAAA,EAAAnC,CAAA,SAAA+D,QAAA,CAAAtF,CAAA,MAAAsF,QAAA,WAAAA,SAAAjG,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,qBAAA5B,CAAA,CAAA2B,IAAA,mBAAA3B,CAAA,CAAA2B,IAAA,QAAAqC,IAAA,GAAAhE,CAAA,CAAA4B,GAAA,gBAAA5B,CAAA,CAAA2B,IAAA,SAAAoE,IAAA,QAAAnE,GAAA,GAAA5B,CAAA,CAAA4B,GAAA,OAAA2B,MAAA,kBAAAS,IAAA,yBAAAhE,CAAA,CAAA2B,IAAA,IAAA5B,CAAA,UAAAiE,IAAA,GAAAjE,CAAA,GAAAmC,CAAA,KAAAgE,MAAA,WAAAA,OAAAlG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAoE,UAAA,KAAArE,CAAA,cAAAiG,QAAA,CAAAhG,CAAA,CAAAyE,UAAA,EAAAzE,CAAA,CAAAqE,QAAA,GAAAG,aAAA,CAAAxE,CAAA,GAAAiC,CAAA,yBAAAiE,OAAAnG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAkE,MAAA,KAAAnE,CAAA,QAAAI,CAAA,GAAAH,CAAA,CAAAyE,UAAA,kBAAAtE,CAAA,CAAAuB,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAwB,GAAA,EAAA6C,aAAA,CAAAxE,CAAA,YAAAK,CAAA,YAAA+C,KAAA,8BAAA+C,aAAA,WAAAA,cAAArG,CAAA,EAAAE,CAAA,EAAAG,CAAA,gBAAAoD,QAAA,KAAA5C,QAAA,EAAA6B,MAAA,CAAA1C,CAAA,GAAAgE,UAAA,EAAA9D,CAAA,EAAAgE,OAAA,EAAA7D,CAAA,oBAAAmD,MAAA,UAAA3B,GAAA,GAAA5B,CAAA,GAAAkC,CAAA,OAAAnC,CAAA;AAAA,SAAAsG,mBAAAjG,CAAA,EAAAJ,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAK,CAAA,EAAAK,CAAA,EAAAE,CAAA,cAAAJ,CAAA,GAAAL,CAAA,CAAAO,CAAA,EAAAE,CAAA,GAAAE,CAAA,GAAAN,CAAA,CAAAD,KAAA,WAAAJ,CAAA,gBAAAL,CAAA,CAAAK,CAAA,KAAAK,CAAA,CAAA6C,IAAA,GAAAtD,CAAA,CAAAe,CAAA,IAAAwE,OAAA,CAAAtC,OAAA,CAAAlC,CAAA,EAAAoC,IAAA,CAAAlD,CAAA,EAAAK,CAAA;AAAA,SAAAgG,kBAAAlG,CAAA,6BAAAJ,CAAA,SAAAD,CAAA,GAAAwG,SAAA,aAAAhB,OAAA,WAAAtF,CAAA,EAAAK,CAAA,QAAAK,CAAA,GAAAP,CAAA,CAAAoG,KAAA,CAAAxG,CAAA,EAAAD,CAAA,YAAA0G,MAAArG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,UAAAtG,CAAA,cAAAsG,OAAAtG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,WAAAtG,CAAA,KAAAqG,KAAA;AAAA,SAAAiG,gBAAA/L,CAAA,EAAAP,CAAA,UAAAO,CAAA,YAAAP,CAAA,aAAA0D,SAAA;AAAA,SAAA6I,kBAAA5M,CAAA,EAAAE,CAAA,aAAAD,CAAA,MAAAA,CAAA,GAAAC,CAAA,CAAA4E,MAAA,EAAA7E,CAAA,UAAAM,CAAA,GAAAL,CAAA,CAAAD,CAAA,GAAAM,CAAA,CAAAY,UAAA,GAAAZ,CAAA,CAAAY,UAAA,QAAAZ,CAAA,CAAAa,YAAA,kBAAAb,CAAA,KAAAA,CAAA,CAAAc,QAAA,QAAAlB,MAAA,CAAAK,cAAA,CAAAR,CAAA,EAAA6M,cAAA,CAAAtM,CAAA,CAAAuM,GAAA,GAAAvM,CAAA;AAAA,SAAAwM,aAAA/M,CAAA,EAAAE,CAAA,EAAAD,CAAA,WAAAC,CAAA,IAAA0M,iBAAA,CAAA5M,CAAA,CAAAI,SAAA,EAAAF,CAAA,GAAAD,CAAA,IAAA2M,iBAAA,CAAA5M,CAAA,EAAAC,CAAA,GAAAE,MAAA,CAAAK,cAAA,CAAAR,CAAA,iBAAAqB,QAAA,SAAArB,CAAA;AAAA,SAAAgN,gBAAAhN,CAAA,EAAAE,CAAA,EAAAD,CAAA,YAAAC,CAAA,GAAA2M,cAAA,CAAA3M,CAAA,MAAAF,CAAA,GAAAG,MAAA,CAAAK,cAAA,CAAAR,CAAA,EAAAE,CAAA,IAAAO,KAAA,EAAAR,CAAA,EAAAkB,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAArB,CAAA,CAAAE,CAAA,IAAAD,CAAA,EAAAD,CAAA;AAAA,SAAA6M,eAAA5M,CAAA,QAAAS,CAAA,GAAAuM,YAAA,CAAAhN,CAAA,gCAAAgD,OAAA,CAAAvC,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAuM,aAAAhN,CAAA,EAAAC,CAAA,oBAAA+C,OAAA,CAAAhD,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAD,CAAA,GAAAC,CAAA,CAAAU,MAAA,CAAAuM,WAAA,kBAAAlN,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAA8B,IAAA,CAAA7B,CAAA,EAAAC,CAAA,gCAAA+C,OAAA,CAAAvC,CAAA,UAAAA,CAAA,YAAAqD,SAAA,yEAAA7D,CAAA,GAAAiN,MAAA,GAAAC,MAAA,EAAAnN,CAAA;AADA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACoC;AACI;AACI;AAE5C,IAAMgT,kBAAkB,GAAG,kBAAkB;AAAC,IAExCZ,YAAY;EAOd,SAAAA,aAAca,mBAAmB,EAAExB,aAAa,EAAEI,SAAS,EAC3D;IAAAnF,eAAA,OAAA0F,YAAA;IAAArF,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IACI,IAAI,CAACmG,cAAc,GAAG,IAAID,mBAAmB,CAAED,kBAAmB,CAAC;IACnE,IAAI,CAACvB,aAAa,GAAGA,aAAa;IAClC,IAAI,CAACI,SAAS,GAAGA,SAAS;EAC9B;EAAC,OAAA/E,YAAA,CAAAsF,YAAA;IAAAvF,GAAA;IAAArM,KAAA,EAED,SAAAuN,KAAKA,CAAA,EACL;MACI,IAAI,CAACmF,cAAc,CAACC,gBAAgB,CAAC,CAAC,CAACrF,YAAY,CAAC,CAAC;IACzD;EAAC;IAAAjB,GAAA;IAAArM,KAAA;MAAA,IAAA4S,sBAAA,GAAA9M,iBAAA,eAAAxG,mBAAA,GAAAoF,IAAA,CAED,SAAA4D,QAA8BuK,UAAU,EAAExD,YAAY;QAAA,IAAA3G,KAAA;UAAAoK,IAAA;UAAAC,QAAA;UAAAC,oBAAA;UAAAC,YAAA;UAAAC,QAAA;UAAAC,MAAA;UAAAC,aAAA;UAAAC,iBAAA;UAAAC,WAAA;UAAAC,KAAA,GAAAxN,SAAA;QAAA,OAAAzG,mBAAA,GAAAuB,IAAA,UAAA0H,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAArD,IAAA,GAAAqD,QAAA,CAAAhF,IAAA;YAAA;cAAEkF,KAAK,GAAA6K,KAAA,CAAAlP,MAAA,QAAAkP,KAAA,QAAAnM,SAAA,GAAAmM,KAAA,MAAG,IAAI;cAE1DT,IAAI,GAAG;gBAAED,UAAU,EAAVA,UAAU;gBAAExD,YAAY,EAAZA;cAAa,CAAC;cAAA7G,QAAA,CAAArD,IAAA;cAAAqD,QAAA,CAAAhF,IAAA;cAAA,OAGdgQ,KAAK,CAAE,IAAI,CAACvC,aAAa,EAAE;gBAC9ClO,MAAM,EAAE,MAAM;gBACd0Q,OAAO,EAAE;kBACL,cAAc,EAAE;gBACpB,CAAC;gBACDX,IAAI,EAAEY,IAAI,CAACC,SAAS,CAAEb,IAAK;cAC/B,CAAE,CAAC;YAAA;cANGC,QAAQ,GAAAvK,QAAA,CAAAtF,IAAA;cAAAsF,QAAA,CAAAhF,IAAA;cAAA,OAQ2BuP,QAAQ,CAACa,IAAI,CAAC,CAAC;YAAA;cAAAZ,oBAAA,GAAAxK,QAAA,CAAAtF,IAAA;cAAhD+P,YAAY,GAAAD,oBAAA,CAAZC,YAAY;cAAEC,QAAQ,GAAAF,oBAAA,CAARE,QAAQ;cAAA,MACzB,CAACD,YAAY,IAAI,CAACC,QAAQ;gBAAA1K,QAAA,CAAAhF,IAAA;gBAAA;cAAA;cAAA,MAErB,IAAIoM,uDAAS,CAAE,wBAAyB,CAAC;YAAA;cAAApH,QAAA,CAAAhF,IAAA;cAAA,OAE9B,IAAI,CAACqQ,YAAY,CAAC,CAAC;YAAA;cAAlCV,MAAM,GAAA3K,QAAA,CAAAtF,IAAA;cAAAsF,QAAA,CAAAhF,IAAA;cAAA,OACgBsQ,2DAAW,CAAEZ,QAAQ,EAAEC,MAAO,CAAC;YAAA;cAArDC,aAAa,GAAA5K,QAAA,CAAAtF,IAAA;cAAA,IACbkQ,aAAa;gBAAA5K,QAAA,CAAAhF,IAAA;gBAAA;cAAA;cAAA,MAET,IAAIoM,uDAAS,CAAE,wBAAyB,CAAC;YAAA;cAE7CyD,iBAAiB,GAAG/C,uDAAQ,CAAE2C,YAAa,CAAC;cAC5CK,WAAW,GAAG5T,MAAM,CAACsO,MAAM,CAC7B;gBACIiF,YAAY,EAAZA,YAAY;gBACZC,QAAQ,EAARA,QAAQ;gBACRa,OAAO,EAAEV,iBAAiB,CAACW;cAC/B,CAAC,EACDtL,KAAK,IAAI;gBAAEA,KAAK,EAALA;cAAM,CACrB,CAAC;cACD,IAAI,CAACgK,cAAc,CAACC,gBAAgB,CAAC,CAAC,CAACsB,UAAU,CAACX,WAAW,CAAC;cAAC9K,QAAA,CAAAhF,IAAA;cAAA;YAAA;cAAAgF,QAAA,CAAArD,IAAA;cAAAqD,QAAA,CAAAsB,EAAA,GAAAtB,QAAA;cAG/D0L,OAAO,CAACC,GAAG,CAAA3L,QAAA,CAAAsB,EAAQ,CAAC;cAAC,MACf,IAAI8F,uDAAS,CAAE,0BAA2B,CAAC;YAAA;YAAA;cAAA,OAAApH,QAAA,CAAAlD,IAAA;UAAA;QAAA,GAAAgD,OAAA;MAAA,CAExD;MAAA,SAvCKqH,qBAAqBA,CAAAxB,EAAA,EAAAc,GAAA;QAAA,OAAA2D,sBAAA,CAAA5M,KAAA,OAAAD,SAAA;MAAA;MAAA,OAArB4J,qBAAqB;IAAA;EAAA;IAAAtD,GAAA;IAAArM,KAAA,EAyC3B,SAAAoQ,iBAAiBA,CAAA,EACjB;MACI,OAAO,IAAI,CAACsC,cAAc,CAACC,gBAAgB,CAAC,CAAC,CAACyB,OAAO,CAAE,OAAQ,CAAC;IACpE;EAAC;IAAA/H,GAAA;IAAArM,KAAA,EAED,SAAAmQ,UAAUA,CAAA,EACV;MACI,OAAO,IAAI,CAACuC,cAAc,CAACC,gBAAgB,CAAC,CAAC,CAACyB,OAAO,CAAE,UAAW,CAAC;IACvE;EAAC;IAAA/H,GAAA;IAAArM,KAAA,EAED,SAAAkQ,cAAcA,CAAA,EACd;MACI,OAAO,IAAI,CAACwC,cAAc,CAACC,gBAAgB,CAAC,CAAC,CAACyB,OAAO,CAAE,cAAe,CAAC;IAC3E;EAAC;IAAA/H,GAAA;IAAArM,KAAA,EAED,SAAAqU,YAAYA,CAAA,EACZ;MACI,OAAO,IAAI,CAAC3B,cAAc,CAACC,gBAAgB,CAAC,CAAC,CAACyB,OAAO,CAAE,SAAU,CAAC;IACtE;EAAC;IAAA/H,GAAA;IAAArM,KAAA;MAAA,IAAAsU,aAAA,GAAAxO,iBAAA,eAAAxG,mBAAA,GAAAoF,IAAA,CAED,SAAA2J,SAAA;QAAA,OAAA/O,mBAAA,GAAAuB,IAAA,UAAA8N,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAzJ,IAAA,GAAAyJ,SAAA,CAAApL,IAAA;YAAA;cAAA,OAAAoL,SAAA,CAAAvL,MAAA,WAEW,IAAI,CAACgO,SAAS;YAAA;YAAA;cAAA,OAAAzC,SAAA,CAAAtJ,IAAA;UAAA;QAAA,GAAA+I,QAAA;MAAA,CACxB;MAAA,SAHKwF,YAAYA,CAAA;QAAA,OAAAS,aAAA,CAAAtO,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAZ8N,YAAY;IAAA;EAAA;IAAAxH,GAAA;IAAArM,KAAA,EAKlB,SAAA6P,UAAUA,CAAA,EACV;MACI,IAAM0E,SAAS,GAAG,IAAI,CAACF,YAAY,CAAC,CAAC;MACrC,IAAK,CAACE,SAAS,EACf;QACI,OAAO,IAAI;MACf;MACA,IAAMC,GAAG,GAAGC,IAAI,CAACC,KAAK,CAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,GAAG,IAAK,CAAC;MAErD,OAAOJ,GAAG,IAAID,SAAS;IAC3B;EAAC;AAAA;AAGU3C,2EAAY,E;;;;;;;AClH3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC4B;AACS;AACJ;;;;;;;;ACXjC;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMpC,QAAQ,GAAG,SAAXA,QAAQA,CAAA,EAAS;EAC1B,IAAMqF,WAAW,GAAG/G,MAAM,CAACC,QAAQ,CAAC+G,MAAM;EAC1C,IAAM1F,SAAS,GAAG,IAAI2F,eAAe,CAACF,WAAW,CAAC;EAClD,IAAMG,WAAW,GAAG,CAAC,CAAC;EAEtB,IAAI5F,SAAS,CAAC6F,GAAG,CAAC,UAAU,CAAC,EAAED,WAAW,CAAC9B,QAAQ,GAAG9D,SAAS,CAACqB,GAAG,CAAC,UAAU,CAAC;EAC/E,IAAIrB,SAAS,CAAC6F,GAAG,CAAC,MAAM,CAAC,EAAED,WAAW,CAACvF,IAAI,GAAGL,SAAS,CAACqB,GAAG,CAAC,MAAM,CAAC;EACnE,IAAIrB,SAAS,CAAC6F,GAAG,CAAC,OAAO,CAAC,EAAED,WAAW,CAACtM,KAAK,GAAG0G,SAAS,CAACqB,GAAG,CAAC,OAAO,CAAC;EAEtE,OAAOuE,WAAW;AACtB,CAAC,C;;;;;;;;;;;;+CClBD,qJAAA1V,mBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,CAAA,GAAAH,CAAA,CAAAI,cAAA,EAAAC,CAAA,GAAAJ,MAAA,CAAAK,cAAA,cAAAP,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAO,KAAA,KAAAC,CAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,kBAAAC,CAAA,GAAAJ,CAAA,CAAAK,aAAA,uBAAAC,CAAA,GAAAN,CAAA,CAAAO,WAAA,8BAAAC,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAC,MAAA,CAAAK,cAAA,CAAAP,CAAA,EAAAD,CAAA,IAAAS,KAAA,EAAAP,CAAA,EAAAiB,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAApB,CAAA,CAAAD,CAAA,WAAAkB,MAAA,mBAAAjB,CAAA,IAAAiB,MAAA,YAAAA,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAoB,KAAArB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAK,CAAA,GAAAV,CAAA,IAAAA,CAAA,CAAAI,SAAA,YAAAmB,SAAA,GAAAvB,CAAA,GAAAuB,SAAA,EAAAX,CAAA,GAAAT,MAAA,CAAAqB,MAAA,CAAAd,CAAA,CAAAN,SAAA,GAAAU,CAAA,OAAAW,OAAA,CAAApB,CAAA,gBAAAE,CAAA,CAAAK,CAAA,eAAAH,KAAA,EAAAiB,gBAAA,CAAAzB,CAAA,EAAAC,CAAA,EAAAY,CAAA,MAAAF,CAAA,aAAAe,SAAA1B,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAA0B,IAAA,YAAAC,GAAA,EAAA5B,CAAA,CAAA6B,IAAA,CAAA9B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAA2B,IAAA,WAAAC,GAAA,EAAA5B,CAAA,QAAAD,CAAA,CAAAsB,IAAA,GAAAA,IAAA,MAAAS,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAZ,UAAA,cAAAa,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAApB,MAAA,CAAAoB,CAAA,EAAA1B,CAAA,qCAAA2B,CAAA,GAAApC,MAAA,CAAAqC,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAvC,CAAA,IAAAG,CAAA,CAAAyB,IAAA,CAAAW,CAAA,EAAA7B,CAAA,MAAA0B,CAAA,GAAAG,CAAA,OAAAE,CAAA,GAAAN,0BAAA,CAAAjC,SAAA,GAAAmB,SAAA,CAAAnB,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAc,CAAA,YAAAM,sBAAA3C,CAAA,gCAAA4C,OAAA,WAAA7C,CAAA,IAAAkB,MAAA,CAAAjB,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAA6C,OAAA,CAAA9C,CAAA,EAAAC,CAAA,sBAAA8C,cAAA9C,CAAA,EAAAD,CAAA,aAAAgD,OAAA9C,CAAA,EAAAK,CAAA,EAAAG,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAA1B,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAM,CAAA,mBAAAO,CAAA,CAAAc,IAAA,QAAAZ,CAAA,GAAAF,CAAA,CAAAe,GAAA,EAAAE,CAAA,GAAAf,CAAA,CAAAP,KAAA,SAAAsB,CAAA,gBAAAkB,OAAA,CAAAlB,CAAA,KAAA1B,CAAA,CAAAyB,IAAA,CAAAC,CAAA,eAAA/B,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,CAAAoB,OAAA,EAAAC,IAAA,WAAAnD,CAAA,IAAA+C,MAAA,SAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,gBAAAX,CAAA,IAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,QAAAZ,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,EAAAqB,IAAA,WAAAnD,CAAA,IAAAe,CAAA,CAAAP,KAAA,GAAAR,CAAA,EAAAS,CAAA,CAAAM,CAAA,gBAAAf,CAAA,WAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAe,GAAA,SAAA3B,CAAA,EAAAK,CAAA,oBAAAE,KAAA,WAAAA,MAAAR,CAAA,EAAAI,CAAA,aAAAgD,2BAAA,eAAArD,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAA8C,MAAA,CAAA/C,CAAA,EAAAI,CAAA,EAAAL,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAAkD,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAA3B,iBAAA1B,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAE,CAAA,GAAAwB,CAAA,mBAAArB,CAAA,EAAAE,CAAA,QAAAL,CAAA,KAAA0B,CAAA,QAAAqB,KAAA,sCAAA/C,CAAA,KAAA2B,CAAA,oBAAAxB,CAAA,QAAAE,CAAA,WAAAH,KAAA,EAAAR,CAAA,EAAAsD,IAAA,eAAAlD,CAAA,CAAAmD,MAAA,GAAA9C,CAAA,EAAAL,CAAA,CAAAwB,GAAA,GAAAjB,CAAA,UAAAE,CAAA,GAAAT,CAAA,CAAAoD,QAAA,MAAA3C,CAAA,QAAAE,CAAA,GAAA0C,mBAAA,CAAA5C,CAAA,EAAAT,CAAA,OAAAW,CAAA,QAAAA,CAAA,KAAAmB,CAAA,mBAAAnB,CAAA,qBAAAX,CAAA,CAAAmD,MAAA,EAAAnD,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAuD,KAAA,GAAAvD,CAAA,CAAAwB,GAAA,sBAAAxB,CAAA,CAAAmD,MAAA,QAAAjD,CAAA,KAAAwB,CAAA,QAAAxB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAwB,GAAA,EAAAxB,CAAA,CAAAwD,iBAAA,CAAAxD,CAAA,CAAAwB,GAAA,uBAAAxB,CAAA,CAAAmD,MAAA,IAAAnD,CAAA,CAAAyD,MAAA,WAAAzD,CAAA,CAAAwB,GAAA,GAAAtB,CAAA,GAAA0B,CAAA,MAAAK,CAAA,GAAAX,QAAA,CAAA3B,CAAA,EAAAE,CAAA,EAAAG,CAAA,oBAAAiC,CAAA,CAAAV,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAkD,IAAA,GAAArB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA1B,KAAA,EAAA6B,CAAA,CAAAT,GAAA,EAAA0B,IAAA,EAAAlD,CAAA,CAAAkD,IAAA,kBAAAjB,CAAA,CAAAV,IAAA,KAAArB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAmD,MAAA,YAAAnD,CAAA,CAAAwB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA6B,oBAAA1D,CAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAH,CAAA,CAAAsD,MAAA,EAAAjD,CAAA,GAAAP,CAAA,CAAAa,QAAA,CAAAR,CAAA,OAAAE,CAAA,KAAAN,CAAA,SAAAC,CAAA,CAAAuD,QAAA,qBAAApD,CAAA,IAAAL,CAAA,CAAAa,QAAA,eAAAX,CAAA,CAAAsD,MAAA,aAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,EAAAyD,mBAAA,CAAA1D,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAsD,MAAA,kBAAAnD,CAAA,KAAAH,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,uCAAA1D,CAAA,iBAAA8B,CAAA,MAAAzB,CAAA,GAAAiB,QAAA,CAAApB,CAAA,EAAAP,CAAA,CAAAa,QAAA,EAAAX,CAAA,CAAA2B,GAAA,mBAAAnB,CAAA,CAAAkB,IAAA,SAAA1B,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,GAAAnB,CAAA,CAAAmB,GAAA,EAAA3B,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,MAAAvB,CAAA,GAAAF,CAAA,CAAAmB,GAAA,SAAAjB,CAAA,GAAAA,CAAA,CAAA2C,IAAA,IAAArD,CAAA,CAAAF,CAAA,CAAAgE,UAAA,IAAApD,CAAA,CAAAH,KAAA,EAAAP,CAAA,CAAA+D,IAAA,GAAAjE,CAAA,CAAAkE,OAAA,eAAAhE,CAAA,CAAAsD,MAAA,KAAAtD,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,GAAAC,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,IAAAvB,CAAA,IAAAV,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,sCAAA7D,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,cAAAgC,aAAAlE,CAAA,QAAAD,CAAA,KAAAoE,MAAA,EAAAnE,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAAqE,QAAA,GAAApE,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAsE,UAAA,GAAArE,CAAA,KAAAD,CAAA,CAAAuE,QAAA,GAAAtE,CAAA,WAAAuE,UAAA,CAAAC,IAAA,CAAAzE,CAAA,cAAA0E,cAAAzE,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAA0E,UAAA,QAAA3E,CAAA,CAAA4B,IAAA,oBAAA5B,CAAA,CAAA6B,GAAA,EAAA5B,CAAA,CAAA0E,UAAA,GAAA3E,CAAA,aAAAyB,QAAAxB,CAAA,SAAAuE,UAAA,MAAAJ,MAAA,aAAAnE,CAAA,CAAA4C,OAAA,CAAAsB,YAAA,cAAAS,KAAA,iBAAAlC,OAAA1C,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAY,CAAA,OAAAV,CAAA,SAAAA,CAAA,CAAA4B,IAAA,CAAA9B,CAAA,4BAAAA,CAAA,CAAAiE,IAAA,SAAAjE,CAAA,OAAA6E,KAAA,CAAA7E,CAAA,CAAA8E,MAAA,SAAAvE,CAAA,OAAAG,CAAA,YAAAuD,KAAA,aAAA1D,CAAA,GAAAP,CAAA,CAAA8E,MAAA,OAAAzE,CAAA,CAAAyB,IAAA,CAAA9B,CAAA,EAAAO,CAAA,UAAA0D,IAAA,CAAAxD,KAAA,GAAAT,CAAA,CAAAO,CAAA,GAAA0D,IAAA,CAAAV,IAAA,OAAAU,IAAA,SAAAA,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,YAAAvD,CAAA,CAAAuD,IAAA,GAAAvD,CAAA,gBAAAqD,SAAA,CAAAd,OAAA,CAAAjD,CAAA,kCAAAoC,iBAAA,CAAAhC,SAAA,GAAAiC,0BAAA,EAAA9B,CAAA,CAAAoC,CAAA,mBAAAlC,KAAA,EAAA4B,0BAAA,EAAAjB,YAAA,SAAAb,CAAA,CAAA8B,0BAAA,mBAAA5B,KAAA,EAAA2B,iBAAA,EAAAhB,YAAA,SAAAgB,iBAAA,CAAA2C,WAAA,GAAA7D,MAAA,CAAAmB,0BAAA,EAAArB,CAAA,wBAAAhB,CAAA,CAAAgF,mBAAA,aAAA/E,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAgF,WAAA,WAAAjF,CAAA,KAAAA,CAAA,KAAAoC,iBAAA,6BAAApC,CAAA,CAAA+E,WAAA,IAAA/E,CAAA,CAAAkF,IAAA,OAAAlF,CAAA,CAAAmF,IAAA,aAAAlF,CAAA,WAAAE,MAAA,CAAAiF,cAAA,GAAAjF,MAAA,CAAAiF,cAAA,CAAAnF,CAAA,EAAAoC,0BAAA,KAAApC,CAAA,CAAAoF,SAAA,GAAAhD,0BAAA,EAAAnB,MAAA,CAAAjB,CAAA,EAAAe,CAAA,yBAAAf,CAAA,CAAAG,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAmB,CAAA,GAAA1C,CAAA,KAAAD,CAAA,CAAAsF,KAAA,aAAArF,CAAA,aAAAkD,OAAA,EAAAlD,CAAA,OAAA2C,qBAAA,CAAAG,aAAA,CAAA3C,SAAA,GAAAc,MAAA,CAAA6B,aAAA,CAAA3C,SAAA,EAAAU,CAAA,iCAAAd,CAAA,CAAA+C,aAAA,GAAAA,aAAA,EAAA/C,CAAA,CAAAuF,KAAA,aAAAtF,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,EAAAG,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAA8E,OAAA,OAAA5E,CAAA,OAAAmC,aAAA,CAAAzB,IAAA,CAAArB,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,GAAAG,CAAA,UAAAV,CAAA,CAAAgF,mBAAA,CAAA9E,CAAA,IAAAU,CAAA,GAAAA,CAAA,CAAAqD,IAAA,GAAAb,IAAA,WAAAnD,CAAA,WAAAA,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAQ,KAAA,GAAAG,CAAA,CAAAqD,IAAA,WAAArB,qBAAA,CAAAD,CAAA,GAAAzB,MAAA,CAAAyB,CAAA,EAAA3B,CAAA,gBAAAE,MAAA,CAAAyB,CAAA,EAAA/B,CAAA,iCAAAM,MAAA,CAAAyB,CAAA,6DAAA3C,CAAA,CAAAyF,IAAA,aAAAxF,CAAA,QAAAD,CAAA,GAAAG,MAAA,CAAAF,CAAA,GAAAC,CAAA,gBAAAG,CAAA,IAAAL,CAAA,EAAAE,CAAA,CAAAuE,IAAA,CAAApE,CAAA,UAAAH,CAAA,CAAAwF,OAAA,aAAAzB,KAAA,WAAA/D,CAAA,CAAA4E,MAAA,SAAA7E,CAAA,GAAAC,CAAA,CAAAyF,GAAA,QAAA1F,CAAA,IAAAD,CAAA,SAAAiE,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,WAAAA,IAAA,CAAAV,IAAA,OAAAU,IAAA,QAAAjE,CAAA,CAAA0C,MAAA,GAAAA,MAAA,EAAAjB,OAAA,CAAArB,SAAA,KAAA6E,WAAA,EAAAxD,OAAA,EAAAmD,KAAA,WAAAA,MAAA5E,CAAA,aAAA4F,IAAA,WAAA3B,IAAA,WAAAN,IAAA,QAAAC,KAAA,GAAA3D,CAAA,OAAAsD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAA3B,GAAA,GAAA5B,CAAA,OAAAuE,UAAA,CAAA3B,OAAA,CAAA6B,aAAA,IAAA1E,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAA2F,MAAA,OAAAxF,CAAA,CAAAyB,IAAA,OAAA5B,CAAA,MAAA2E,KAAA,EAAA3E,CAAA,CAAA4F,KAAA,cAAA5F,CAAA,IAAAD,CAAA,MAAA8F,IAAA,WAAAA,KAAA,SAAAxC,IAAA,WAAAtD,CAAA,QAAAuE,UAAA,IAAAG,UAAA,kBAAA1E,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,cAAAmE,IAAA,KAAAnC,iBAAA,WAAAA,kBAAA7D,CAAA,aAAAuD,IAAA,QAAAvD,CAAA,MAAAE,CAAA,kBAAA+F,OAAA5F,CAAA,EAAAE,CAAA,WAAAK,CAAA,CAAAgB,IAAA,YAAAhB,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAE,CAAA,CAAA+D,IAAA,GAAA5D,CAAA,EAAAE,CAAA,KAAAL,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,KAAAM,CAAA,aAAAA,CAAA,QAAAiE,UAAA,CAAAM,MAAA,MAAAvE,CAAA,SAAAA,CAAA,QAAAG,CAAA,QAAA8D,UAAA,CAAAjE,CAAA,GAAAK,CAAA,GAAAF,CAAA,CAAAiE,UAAA,iBAAAjE,CAAA,CAAA0D,MAAA,SAAA6B,MAAA,aAAAvF,CAAA,CAAA0D,MAAA,SAAAwB,IAAA,QAAA9E,CAAA,GAAAT,CAAA,CAAAyB,IAAA,CAAApB,CAAA,eAAAM,CAAA,GAAAX,CAAA,CAAAyB,IAAA,CAAApB,CAAA,qBAAAI,CAAA,IAAAE,CAAA,aAAA4E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,gBAAAuB,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,cAAAxD,CAAA,aAAA8E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,qBAAArD,CAAA,QAAAsC,KAAA,qDAAAsC,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,YAAAR,MAAA,WAAAA,OAAA7D,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAsE,UAAA,CAAAM,MAAA,MAAA5E,CAAA,SAAAA,CAAA,QAAAK,CAAA,QAAAiE,UAAA,CAAAtE,CAAA,OAAAK,CAAA,CAAA6D,MAAA,SAAAwB,IAAA,IAAAvF,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,wBAAAqF,IAAA,GAAArF,CAAA,CAAA+D,UAAA,QAAA5D,CAAA,GAAAH,CAAA,aAAAG,CAAA,iBAAAT,CAAA,mBAAAA,CAAA,KAAAS,CAAA,CAAA0D,MAAA,IAAApE,CAAA,IAAAA,CAAA,IAAAU,CAAA,CAAA4D,UAAA,KAAA5D,CAAA,cAAAE,CAAA,GAAAF,CAAA,GAAAA,CAAA,CAAAiE,UAAA,cAAA/D,CAAA,CAAAgB,IAAA,GAAA3B,CAAA,EAAAW,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAU,CAAA,SAAA8C,MAAA,gBAAAS,IAAA,GAAAvD,CAAA,CAAA4D,UAAA,EAAAnC,CAAA,SAAA+D,QAAA,CAAAtF,CAAA,MAAAsF,QAAA,WAAAA,SAAAjG,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,qBAAA5B,CAAA,CAAA2B,IAAA,mBAAA3B,CAAA,CAAA2B,IAAA,QAAAqC,IAAA,GAAAhE,CAAA,CAAA4B,GAAA,gBAAA5B,CAAA,CAAA2B,IAAA,SAAAoE,IAAA,QAAAnE,GAAA,GAAA5B,CAAA,CAAA4B,GAAA,OAAA2B,MAAA,kBAAAS,IAAA,yBAAAhE,CAAA,CAAA2B,IAAA,IAAA5B,CAAA,UAAAiE,IAAA,GAAAjE,CAAA,GAAAmC,CAAA,KAAAgE,MAAA,WAAAA,OAAAlG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAoE,UAAA,KAAArE,CAAA,cAAAiG,QAAA,CAAAhG,CAAA,CAAAyE,UAAA,EAAAzE,CAAA,CAAAqE,QAAA,GAAAG,aAAA,CAAAxE,CAAA,GAAAiC,CAAA,yBAAAiE,OAAAnG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAkE,MAAA,KAAAnE,CAAA,QAAAI,CAAA,GAAAH,CAAA,CAAAyE,UAAA,kBAAAtE,CAAA,CAAAuB,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAwB,GAAA,EAAA6C,aAAA,CAAAxE,CAAA,YAAAK,CAAA,YAAA+C,KAAA,8BAAA+C,aAAA,WAAAA,cAAArG,CAAA,EAAAE,CAAA,EAAAG,CAAA,gBAAAoD,QAAA,KAAA5C,QAAA,EAAA6B,MAAA,CAAA1C,CAAA,GAAAgE,UAAA,EAAA9D,CAAA,EAAAgE,OAAA,EAAA7D,CAAA,oBAAAmD,MAAA,UAAA3B,GAAA,GAAA5B,CAAA,GAAAkC,CAAA,OAAAnC,CAAA;AAAA,SAAAsG,mBAAAjG,CAAA,EAAAJ,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAK,CAAA,EAAAK,CAAA,EAAAE,CAAA,cAAAJ,CAAA,GAAAL,CAAA,CAAAO,CAAA,EAAAE,CAAA,GAAAE,CAAA,GAAAN,CAAA,CAAAD,KAAA,WAAAJ,CAAA,gBAAAL,CAAA,CAAAK,CAAA,KAAAK,CAAA,CAAA6C,IAAA,GAAAtD,CAAA,CAAAe,CAAA,IAAAwE,OAAA,CAAAtC,OAAA,CAAAlC,CAAA,EAAAoC,IAAA,CAAAlD,CAAA,EAAAK,CAAA;AAAA,SAAAgG,kBAAAlG,CAAA,6BAAAJ,CAAA,SAAAD,CAAA,GAAAwG,SAAA,aAAAhB,OAAA,WAAAtF,CAAA,EAAAK,CAAA,QAAAK,CAAA,GAAAP,CAAA,CAAAoG,KAAA,CAAAxG,CAAA,EAAAD,CAAA,YAAA0G,MAAArG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,UAAAtG,CAAA,cAAAsG,OAAAtG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,WAAAtG,CAAA,KAAAqG,KAAA;AADA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC+B;AACe;AAEvC,IAAM4I,kBAAkB;EAAA,IAAA/G,IAAA,GAAAhC,iBAAA,eAAAxG,mBAAA,GAAAoF,IAAA,CAAG,SAAA4D,QAAOgG,MAAM;IAAA,IAAAxB,WAAA,EAAApE,KAAA,EAAA2G,YAAA,EAAA6F,aAAA,EAAAC,WAAA;IAAA,OAAA7V,mBAAA,GAAAuB,IAAA,UAAA0H,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAArD,IAAA,GAAAqD,QAAA,CAAAhF,IAAA;QAAA;UAC3C;UACA;UACA;UACA;UACQsJ,WAAW,GAAYwB,MAAM,CAA7BxB,WAAW,EAAEpE,KAAK,GAAK4F,MAAM,CAAhB5F,KAAK;UAAA,IACrBoE,WAAW;YAAAtE,QAAA,CAAAhF,IAAA;YAAA;UAAA;UAAA,MACN,IAAI4R,0DAAkB,CAAC,0BAA0B,CAAC;QAAA;UAG5D;UACM/F,YAAY,GAAGgG,iDAAI,CAACC,gBAAgB,CAAC,CAAC;UAAA9M,QAAA,CAAAhF,IAAA;UAAA,OAChB6R,iDAAI,CAACE,gBAAgB,CAAClG,YAAY,CAAC;QAAA;UAAzD6F,aAAa,GAAA1M,QAAA,CAAAtF,IAAA;UAEnB;UACMiS,WAAW,GAAG;YAChBrI,WAAW,EAAXA,WAAW;YACXuC,YAAY,EAAZA,YAAY;YACZ6F,aAAa,EAAbA,aAAa;YACbM,mBAAmB,EAAEH,iDAAI,CAACI,6BAA6B;YACvDC,KAAK,EAAE,QAAQ;YACfC,YAAY,EAAE;UAClB,CAAC,EAED;UACA,IAAIjN,KAAK,KAAKtB,SAAS,IAAIsB,KAAK,KAAK,IAAI,EAAE;YACvCyM,WAAW,CAACzM,KAAK,GAAGA,KAAK;UAC7B;UAAC,OAAAF,QAAA,CAAAnF,MAAA,WAEM8R,WAAW;QAAA;QAAA;UAAA,OAAA3M,QAAA,CAAAlD,IAAA;MAAA;IAAA,GAAAgD,OAAA;EAAA,CACrB;EAAA,gBA9BYuG,kBAAkBA,CAAAV,EAAA;IAAA,OAAArG,IAAA,CAAA9B,KAAA,OAAAD,SAAA;EAAA;AAAA,GA8B9B,C;;;;;;;AC1CD;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEyD;AAElD,IAAM6P,mBAAmB,GAAG,EAAE;AAC9B,IAAMC,mBAAmB,GAAG,GAAG;AAC/B,IAAMJ,6BAA6B,GAAG,MAAM;AAEnD,SAASK,OAAOA,CAAGC,GAAG,EACtB;EACI,OAAO,CAAE,GAAG,GAAGA,GAAG,CAAC9H,QAAQ,CAAE,EAAG,CAAC,EAAG+H,MAAM,CAAE,CAAC,CAAE,CAAC;AACpD;AAEA,SAASC,eAAeA,CAAG5R,MAAM,EACjC;EACI,IAAIlE,CAAC,GAAG,IAAI+V,UAAU,CAAEzB,IAAI,CAAC0B,IAAI,CAAE9R,MAAM,GAAG,CAAE,CAAE,CAAC;EACjD+R,iDAAS,CAACC,eAAe,CAAElW,CAAE,CAAC;EAC9B,IAAImW,GAAG,GAAGC,KAAK,CAACC,IAAI,CAAErW,CAAC,EAAE2V,OAAQ,CAAC,CAACW,IAAI,CAAE,EAAG,CAAC;EAE7C,OAAOH,GAAG,CAACjR,KAAK,CAAE,CAAC,EAAEhB,MAAO,CAAC;AACjC;AAEA,SAASiR,gBAAgBA,CAAGoB,MAAM,EAClC;EACI,IAAIC,QAAQ,GAAGD,MAAM,IAAI,EAAE;EAC3B,IAAKC,QAAQ,CAACtS,MAAM,GAAGuR,mBAAmB,EAC1C;IACIe,QAAQ,GAAGA,QAAQ,GAAGV,eAAe,CAAEL,mBAAmB,GAAGe,QAAQ,CAACtS,MAAO,CAAC;EAClF;EAEA,OAAOuS,kBAAkB,CAAED,QAAS,CAAC,CAACtR,KAAK,CAAE,CAAC,EAAEwQ,mBAAoB,CAAC;AACzE;AAEA,SAASN,gBAAgBA,CAAGe,GAAG,EAC/B;EACI,IAAIO,MAAM,GAAG,IAAIC,WAAW,CAAC,CAAC,CAACC,MAAM,CAAET,GAAI,CAAC;EAE5C,OAAOF,iDAAS,CAACY,MAAM,CAACC,MAAM,CAAE,SAAS,EAAEJ,MAAO,CAAC,CAAClU,IAAI,CAAE,UAAWuU,WAAW,EAChF;IACI,IAAIC,IAAI,GAAGzK,MAAM,CAAC0K,YAAY,CAACpR,KAAK,CAAE,IAAI,EAAE,IAAIkQ,UAAU,CAAEgB,WAAY,CAAE,CAAC;IAC3E,IAAIG,IAAI,GAAGC,iEAAiB,CAAEH,IAAK,CAAC,CAAC,CAAC;;IAEtC,OAAOE,IAAI;EACf,CAAE,CAAC;AACP;AAEe;EACX5B,6BAA6B,EAA7BA,6BAA6B;EAC7BH,gBAAgB,EAAhBA,gBAAgB;EAChBC,gBAAgB,EAAhBA;AACJ,CAAC,E;;;;;;;AC3DD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC4B;AACH;;;;;;;;ACVzB;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMpV,CAAC,GAAG,SAAJA,CAACA,CAAcmW,GAAG,EACxB;EACI,OAAOxI,MAAM,CAACyJ,IAAI,CAAEjB,GAAI,CAAC;AAC7B,CAAC;AACD;AACA,IAAMkB,CAAC,GAAG,SAAJA,CAACA,CAAclB,GAAG,EACxB;EACI,OAAOxI,MAAM,CAAC2J,IAAI,CAAEnB,GAAI,CAAC;AAC7B,CAAC;AACD;AACA,IAAMjW,CAAC,GAAG,OAAOqX,MAAM,KAAK,WAAW,GAAG,IAAI,GAAGA,MAAM;;;;;;;;ACpBvD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACyC;;AAEzC;AACO,SAASC,iBAAiBA,CAAGC,GAAG,EACvC;EACI,OAAOA,GAAG,CAACC,OAAO,CAAE,KAAK,EAAE,GAAI,CAAC,CAACA,OAAO,CAAE,KAAK,EAAE,GAAI,CAAC,CAACA,OAAO,CAAE,KAAK,EAAE,EAAG,CAAC;AAC/E;;AAEA;AACO,SAASC,iBAAiBA,CAAGT,IAAI,EACxC;EACI,OAAOA,IAAI,CAACQ,OAAO,CAAE,IAAI,EAAE,GAAI,CAAC,CAACA,OAAO,CAAE,IAAI,EAAE,GAAI,CAAC;AACzD;;AAEA;AACO,SAASP,iBAAiBA,CAAGhB,GAAG,EACvC;EACI,IAAIsB,GAAG,GAAGH,uDAAI,CAAEnB,GAAI,CAAC;EAErB,OAAOqB,iBAAiB,CAAEC,GAAI,CAAC;AACnC;AAEO,SAASG,cAAcA,CAAGzB,GAAG,EACpC;EACI,IAAIO,MAAM,GAAG,IAAIX,UAAU,CAAEI,GAAG,CAACjS,MAAO,CAAC;EACzC,KAAM,IAAIpE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGqW,GAAG,CAACjS,MAAM,EAAEpE,CAAC,EAAE,EACpC;IACI4W,MAAM,CAAE5W,CAAC,CAAE,GAAGqW,GAAG,CAAC0B,UAAU,CAAE/X,CAAE,CAAC;EACrC;EACA,OAAO4W,MAAM;AACjB;AAEO,SAASoB,eAAeA,CAAG3B,GAAG,EACrC;EACI,OAAOiB,uDAAI,CAAEO,iBAAiB,CAAExB,GAAI,CAAE,CAAC;AAC3C,C;;;;;;;;;;;;+CC3CA,qJAAAhX,mBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,CAAA,GAAAH,CAAA,CAAAI,cAAA,EAAAC,CAAA,GAAAJ,MAAA,CAAAK,cAAA,cAAAP,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAO,KAAA,KAAAC,CAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,kBAAAC,CAAA,GAAAJ,CAAA,CAAAK,aAAA,uBAAAC,CAAA,GAAAN,CAAA,CAAAO,WAAA,8BAAAC,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAC,MAAA,CAAAK,cAAA,CAAAP,CAAA,EAAAD,CAAA,IAAAS,KAAA,EAAAP,CAAA,EAAAiB,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAApB,CAAA,CAAAD,CAAA,WAAAkB,MAAA,mBAAAjB,CAAA,IAAAiB,MAAA,YAAAA,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAoB,KAAArB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAK,CAAA,GAAAV,CAAA,IAAAA,CAAA,CAAAI,SAAA,YAAAmB,SAAA,GAAAvB,CAAA,GAAAuB,SAAA,EAAAX,CAAA,GAAAT,MAAA,CAAAqB,MAAA,CAAAd,CAAA,CAAAN,SAAA,GAAAU,CAAA,OAAAW,OAAA,CAAApB,CAAA,gBAAAE,CAAA,CAAAK,CAAA,eAAAH,KAAA,EAAAiB,gBAAA,CAAAzB,CAAA,EAAAC,CAAA,EAAAY,CAAA,MAAAF,CAAA,aAAAe,SAAA1B,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAA0B,IAAA,YAAAC,GAAA,EAAA5B,CAAA,CAAA6B,IAAA,CAAA9B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAA2B,IAAA,WAAAC,GAAA,EAAA5B,CAAA,QAAAD,CAAA,CAAAsB,IAAA,GAAAA,IAAA,MAAAS,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAZ,UAAA,cAAAa,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAApB,MAAA,CAAAoB,CAAA,EAAA1B,CAAA,qCAAA2B,CAAA,GAAApC,MAAA,CAAAqC,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAvC,CAAA,IAAAG,CAAA,CAAAyB,IAAA,CAAAW,CAAA,EAAA7B,CAAA,MAAA0B,CAAA,GAAAG,CAAA,OAAAE,CAAA,GAAAN,0BAAA,CAAAjC,SAAA,GAAAmB,SAAA,CAAAnB,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAc,CAAA,YAAAM,sBAAA3C,CAAA,gCAAA4C,OAAA,WAAA7C,CAAA,IAAAkB,MAAA,CAAAjB,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAA6C,OAAA,CAAA9C,CAAA,EAAAC,CAAA,sBAAA8C,cAAA9C,CAAA,EAAAD,CAAA,aAAAgD,OAAA9C,CAAA,EAAAK,CAAA,EAAAG,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAA1B,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAM,CAAA,mBAAAO,CAAA,CAAAc,IAAA,QAAAZ,CAAA,GAAAF,CAAA,CAAAe,GAAA,EAAAE,CAAA,GAAAf,CAAA,CAAAP,KAAA,SAAAsB,CAAA,gBAAAkB,OAAA,CAAAlB,CAAA,KAAA1B,CAAA,CAAAyB,IAAA,CAAAC,CAAA,eAAA/B,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,CAAAoB,OAAA,EAAAC,IAAA,WAAAnD,CAAA,IAAA+C,MAAA,SAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,gBAAAX,CAAA,IAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,QAAAZ,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,EAAAqB,IAAA,WAAAnD,CAAA,IAAAe,CAAA,CAAAP,KAAA,GAAAR,CAAA,EAAAS,CAAA,CAAAM,CAAA,gBAAAf,CAAA,WAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAe,GAAA,SAAA3B,CAAA,EAAAK,CAAA,oBAAAE,KAAA,WAAAA,MAAAR,CAAA,EAAAI,CAAA,aAAAgD,2BAAA,eAAArD,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAA8C,MAAA,CAAA/C,CAAA,EAAAI,CAAA,EAAAL,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAAkD,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAA3B,iBAAA1B,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAE,CAAA,GAAAwB,CAAA,mBAAArB,CAAA,EAAAE,CAAA,QAAAL,CAAA,KAAA0B,CAAA,QAAAqB,KAAA,sCAAA/C,CAAA,KAAA2B,CAAA,oBAAAxB,CAAA,QAAAE,CAAA,WAAAH,KAAA,EAAAR,CAAA,EAAAsD,IAAA,eAAAlD,CAAA,CAAAmD,MAAA,GAAA9C,CAAA,EAAAL,CAAA,CAAAwB,GAAA,GAAAjB,CAAA,UAAAE,CAAA,GAAAT,CAAA,CAAAoD,QAAA,MAAA3C,CAAA,QAAAE,CAAA,GAAA0C,mBAAA,CAAA5C,CAAA,EAAAT,CAAA,OAAAW,CAAA,QAAAA,CAAA,KAAAmB,CAAA,mBAAAnB,CAAA,qBAAAX,CAAA,CAAAmD,MAAA,EAAAnD,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAuD,KAAA,GAAAvD,CAAA,CAAAwB,GAAA,sBAAAxB,CAAA,CAAAmD,MAAA,QAAAjD,CAAA,KAAAwB,CAAA,QAAAxB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAwB,GAAA,EAAAxB,CAAA,CAAAwD,iBAAA,CAAAxD,CAAA,CAAAwB,GAAA,uBAAAxB,CAAA,CAAAmD,MAAA,IAAAnD,CAAA,CAAAyD,MAAA,WAAAzD,CAAA,CAAAwB,GAAA,GAAAtB,CAAA,GAAA0B,CAAA,MAAAK,CAAA,GAAAX,QAAA,CAAA3B,CAAA,EAAAE,CAAA,EAAAG,CAAA,oBAAAiC,CAAA,CAAAV,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAkD,IAAA,GAAArB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA1B,KAAA,EAAA6B,CAAA,CAAAT,GAAA,EAAA0B,IAAA,EAAAlD,CAAA,CAAAkD,IAAA,kBAAAjB,CAAA,CAAAV,IAAA,KAAArB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAmD,MAAA,YAAAnD,CAAA,CAAAwB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA6B,oBAAA1D,CAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAH,CAAA,CAAAsD,MAAA,EAAAjD,CAAA,GAAAP,CAAA,CAAAa,QAAA,CAAAR,CAAA,OAAAE,CAAA,KAAAN,CAAA,SAAAC,CAAA,CAAAuD,QAAA,qBAAApD,CAAA,IAAAL,CAAA,CAAAa,QAAA,eAAAX,CAAA,CAAAsD,MAAA,aAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,EAAAyD,mBAAA,CAAA1D,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAsD,MAAA,kBAAAnD,CAAA,KAAAH,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,uCAAA1D,CAAA,iBAAA8B,CAAA,MAAAzB,CAAA,GAAAiB,QAAA,CAAApB,CAAA,EAAAP,CAAA,CAAAa,QAAA,EAAAX,CAAA,CAAA2B,GAAA,mBAAAnB,CAAA,CAAAkB,IAAA,SAAA1B,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,GAAAnB,CAAA,CAAAmB,GAAA,EAAA3B,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,MAAAvB,CAAA,GAAAF,CAAA,CAAAmB,GAAA,SAAAjB,CAAA,GAAAA,CAAA,CAAA2C,IAAA,IAAArD,CAAA,CAAAF,CAAA,CAAAgE,UAAA,IAAApD,CAAA,CAAAH,KAAA,EAAAP,CAAA,CAAA+D,IAAA,GAAAjE,CAAA,CAAAkE,OAAA,eAAAhE,CAAA,CAAAsD,MAAA,KAAAtD,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,GAAAC,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,IAAAvB,CAAA,IAAAV,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,sCAAA7D,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,cAAAgC,aAAAlE,CAAA,QAAAD,CAAA,KAAAoE,MAAA,EAAAnE,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAAqE,QAAA,GAAApE,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAsE,UAAA,GAAArE,CAAA,KAAAD,CAAA,CAAAuE,QAAA,GAAAtE,CAAA,WAAAuE,UAAA,CAAAC,IAAA,CAAAzE,CAAA,cAAA0E,cAAAzE,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAA0E,UAAA,QAAA3E,CAAA,CAAA4B,IAAA,oBAAA5B,CAAA,CAAA6B,GAAA,EAAA5B,CAAA,CAAA0E,UAAA,GAAA3E,CAAA,aAAAyB,QAAAxB,CAAA,SAAAuE,UAAA,MAAAJ,MAAA,aAAAnE,CAAA,CAAA4C,OAAA,CAAAsB,YAAA,cAAAS,KAAA,iBAAAlC,OAAA1C,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAY,CAAA,OAAAV,CAAA,SAAAA,CAAA,CAAA4B,IAAA,CAAA9B,CAAA,4BAAAA,CAAA,CAAAiE,IAAA,SAAAjE,CAAA,OAAA6E,KAAA,CAAA7E,CAAA,CAAA8E,MAAA,SAAAvE,CAAA,OAAAG,CAAA,YAAAuD,KAAA,aAAA1D,CAAA,GAAAP,CAAA,CAAA8E,MAAA,OAAAzE,CAAA,CAAAyB,IAAA,CAAA9B,CAAA,EAAAO,CAAA,UAAA0D,IAAA,CAAAxD,KAAA,GAAAT,CAAA,CAAAO,CAAA,GAAA0D,IAAA,CAAAV,IAAA,OAAAU,IAAA,SAAAA,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,YAAAvD,CAAA,CAAAuD,IAAA,GAAAvD,CAAA,gBAAAqD,SAAA,CAAAd,OAAA,CAAAjD,CAAA,kCAAAoC,iBAAA,CAAAhC,SAAA,GAAAiC,0BAAA,EAAA9B,CAAA,CAAAoC,CAAA,mBAAAlC,KAAA,EAAA4B,0BAAA,EAAAjB,YAAA,SAAAb,CAAA,CAAA8B,0BAAA,mBAAA5B,KAAA,EAAA2B,iBAAA,EAAAhB,YAAA,SAAAgB,iBAAA,CAAA2C,WAAA,GAAA7D,MAAA,CAAAmB,0BAAA,EAAArB,CAAA,wBAAAhB,CAAA,CAAAgF,mBAAA,aAAA/E,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAgF,WAAA,WAAAjF,CAAA,KAAAA,CAAA,KAAAoC,iBAAA,6BAAApC,CAAA,CAAA+E,WAAA,IAAA/E,CAAA,CAAAkF,IAAA,OAAAlF,CAAA,CAAAmF,IAAA,aAAAlF,CAAA,WAAAE,MAAA,CAAAiF,cAAA,GAAAjF,MAAA,CAAAiF,cAAA,CAAAnF,CAAA,EAAAoC,0BAAA,KAAApC,CAAA,CAAAoF,SAAA,GAAAhD,0BAAA,EAAAnB,MAAA,CAAAjB,CAAA,EAAAe,CAAA,yBAAAf,CAAA,CAAAG,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAmB,CAAA,GAAA1C,CAAA,KAAAD,CAAA,CAAAsF,KAAA,aAAArF,CAAA,aAAAkD,OAAA,EAAAlD,CAAA,OAAA2C,qBAAA,CAAAG,aAAA,CAAA3C,SAAA,GAAAc,MAAA,CAAA6B,aAAA,CAAA3C,SAAA,EAAAU,CAAA,iCAAAd,CAAA,CAAA+C,aAAA,GAAAA,aAAA,EAAA/C,CAAA,CAAAuF,KAAA,aAAAtF,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,EAAAG,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAA8E,OAAA,OAAA5E,CAAA,OAAAmC,aAAA,CAAAzB,IAAA,CAAArB,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,GAAAG,CAAA,UAAAV,CAAA,CAAAgF,mBAAA,CAAA9E,CAAA,IAAAU,CAAA,GAAAA,CAAA,CAAAqD,IAAA,GAAAb,IAAA,WAAAnD,CAAA,WAAAA,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAQ,KAAA,GAAAG,CAAA,CAAAqD,IAAA,WAAArB,qBAAA,CAAAD,CAAA,GAAAzB,MAAA,CAAAyB,CAAA,EAAA3B,CAAA,gBAAAE,MAAA,CAAAyB,CAAA,EAAA/B,CAAA,iCAAAM,MAAA,CAAAyB,CAAA,6DAAA3C,CAAA,CAAAyF,IAAA,aAAAxF,CAAA,QAAAD,CAAA,GAAAG,MAAA,CAAAF,CAAA,GAAAC,CAAA,gBAAAG,CAAA,IAAAL,CAAA,EAAAE,CAAA,CAAAuE,IAAA,CAAApE,CAAA,UAAAH,CAAA,CAAAwF,OAAA,aAAAzB,KAAA,WAAA/D,CAAA,CAAA4E,MAAA,SAAA7E,CAAA,GAAAC,CAAA,CAAAyF,GAAA,QAAA1F,CAAA,IAAAD,CAAA,SAAAiE,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,WAAAA,IAAA,CAAAV,IAAA,OAAAU,IAAA,QAAAjE,CAAA,CAAA0C,MAAA,GAAAA,MAAA,EAAAjB,OAAA,CAAArB,SAAA,KAAA6E,WAAA,EAAAxD,OAAA,EAAAmD,KAAA,WAAAA,MAAA5E,CAAA,aAAA4F,IAAA,WAAA3B,IAAA,WAAAN,IAAA,QAAAC,KAAA,GAAA3D,CAAA,OAAAsD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAA3B,GAAA,GAAA5B,CAAA,OAAAuE,UAAA,CAAA3B,OAAA,CAAA6B,aAAA,IAAA1E,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAA2F,MAAA,OAAAxF,CAAA,CAAAyB,IAAA,OAAA5B,CAAA,MAAA2E,KAAA,EAAA3E,CAAA,CAAA4F,KAAA,cAAA5F,CAAA,IAAAD,CAAA,MAAA8F,IAAA,WAAAA,KAAA,SAAAxC,IAAA,WAAAtD,CAAA,QAAAuE,UAAA,IAAAG,UAAA,kBAAA1E,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,cAAAmE,IAAA,KAAAnC,iBAAA,WAAAA,kBAAA7D,CAAA,aAAAuD,IAAA,QAAAvD,CAAA,MAAAE,CAAA,kBAAA+F,OAAA5F,CAAA,EAAAE,CAAA,WAAAK,CAAA,CAAAgB,IAAA,YAAAhB,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAE,CAAA,CAAA+D,IAAA,GAAA5D,CAAA,EAAAE,CAAA,KAAAL,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,KAAAM,CAAA,aAAAA,CAAA,QAAAiE,UAAA,CAAAM,MAAA,MAAAvE,CAAA,SAAAA,CAAA,QAAAG,CAAA,QAAA8D,UAAA,CAAAjE,CAAA,GAAAK,CAAA,GAAAF,CAAA,CAAAiE,UAAA,iBAAAjE,CAAA,CAAA0D,MAAA,SAAA6B,MAAA,aAAAvF,CAAA,CAAA0D,MAAA,SAAAwB,IAAA,QAAA9E,CAAA,GAAAT,CAAA,CAAAyB,IAAA,CAAApB,CAAA,eAAAM,CAAA,GAAAX,CAAA,CAAAyB,IAAA,CAAApB,CAAA,qBAAAI,CAAA,IAAAE,CAAA,aAAA4E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,gBAAAuB,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,cAAAxD,CAAA,aAAA8E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,qBAAArD,CAAA,QAAAsC,KAAA,qDAAAsC,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,YAAAR,MAAA,WAAAA,OAAA7D,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAsE,UAAA,CAAAM,MAAA,MAAA5E,CAAA,SAAAA,CAAA,QAAAK,CAAA,QAAAiE,UAAA,CAAAtE,CAAA,OAAAK,CAAA,CAAA6D,MAAA,SAAAwB,IAAA,IAAAvF,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,wBAAAqF,IAAA,GAAArF,CAAA,CAAA+D,UAAA,QAAA5D,CAAA,GAAAH,CAAA,aAAAG,CAAA,iBAAAT,CAAA,mBAAAA,CAAA,KAAAS,CAAA,CAAA0D,MAAA,IAAApE,CAAA,IAAAA,CAAA,IAAAU,CAAA,CAAA4D,UAAA,KAAA5D,CAAA,cAAAE,CAAA,GAAAF,CAAA,GAAAA,CAAA,CAAAiE,UAAA,cAAA/D,CAAA,CAAAgB,IAAA,GAAA3B,CAAA,EAAAW,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAU,CAAA,SAAA8C,MAAA,gBAAAS,IAAA,GAAAvD,CAAA,CAAA4D,UAAA,EAAAnC,CAAA,SAAA+D,QAAA,CAAAtF,CAAA,MAAAsF,QAAA,WAAAA,SAAAjG,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,qBAAA5B,CAAA,CAAA2B,IAAA,mBAAA3B,CAAA,CAAA2B,IAAA,QAAAqC,IAAA,GAAAhE,CAAA,CAAA4B,GAAA,gBAAA5B,CAAA,CAAA2B,IAAA,SAAAoE,IAAA,QAAAnE,GAAA,GAAA5B,CAAA,CAAA4B,GAAA,OAAA2B,MAAA,kBAAAS,IAAA,yBAAAhE,CAAA,CAAA2B,IAAA,IAAA5B,CAAA,UAAAiE,IAAA,GAAAjE,CAAA,GAAAmC,CAAA,KAAAgE,MAAA,WAAAA,OAAAlG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAoE,UAAA,KAAArE,CAAA,cAAAiG,QAAA,CAAAhG,CAAA,CAAAyE,UAAA,EAAAzE,CAAA,CAAAqE,QAAA,GAAAG,aAAA,CAAAxE,CAAA,GAAAiC,CAAA,yBAAAiE,OAAAnG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAkE,MAAA,KAAAnE,CAAA,QAAAI,CAAA,GAAAH,CAAA,CAAAyE,UAAA,kBAAAtE,CAAA,CAAAuB,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAwB,GAAA,EAAA6C,aAAA,CAAAxE,CAAA,YAAAK,CAAA,YAAA+C,KAAA,8BAAA+C,aAAA,WAAAA,cAAArG,CAAA,EAAAE,CAAA,EAAAG,CAAA,gBAAAoD,QAAA,KAAA5C,QAAA,EAAA6B,MAAA,CAAA1C,CAAA,GAAAgE,UAAA,EAAA9D,CAAA,EAAAgE,OAAA,EAAA7D,CAAA,oBAAAmD,MAAA,UAAA3B,GAAA,GAAA5B,CAAA,GAAAkC,CAAA,OAAAnC,CAAA;AAAA,SAAAsG,mBAAAjG,CAAA,EAAAJ,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAK,CAAA,EAAAK,CAAA,EAAAE,CAAA,cAAAJ,CAAA,GAAAL,CAAA,CAAAO,CAAA,EAAAE,CAAA,GAAAE,CAAA,GAAAN,CAAA,CAAAD,KAAA,WAAAJ,CAAA,gBAAAL,CAAA,CAAAK,CAAA,KAAAK,CAAA,CAAA6C,IAAA,GAAAtD,CAAA,CAAAe,CAAA,IAAAwE,OAAA,CAAAtC,OAAA,CAAAlC,CAAA,EAAAoC,IAAA,CAAAlD,CAAA,EAAAK,CAAA;AAAA,SAAAgG,kBAAAlG,CAAA,6BAAAJ,CAAA,SAAAD,CAAA,GAAAwG,SAAA,aAAAhB,OAAA,WAAAtF,CAAA,EAAAK,CAAA,QAAAK,CAAA,GAAAP,CAAA,CAAAoG,KAAA,CAAAxG,CAAA,EAAAD,CAAA,YAAA0G,MAAArG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,UAAAtG,CAAA,cAAAsG,OAAAtG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,WAAAtG,CAAA,KAAAqG,KAAA;AADA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAG2D;AACb;AAE9C,IAAMiS,UAAU,GAAG,SAAbA,UAAUA,CAAG7L,GAAG,EACtB;EACI,IAAM8L,eAAe,GAAGZ,uDAAI,CAAElL,GAAI,CAAC;EACnC,OAAO0L,8DAAc,CAAEI,eAAgB,CAAC;AAC5C,CAAC;AAEM,IAAMrE,WAAW;EAAA,IAAAhM,IAAA,GAAAhC,iBAAA,eAAAxG,mBAAA,GAAAoF,IAAA,CAAG,SAAA4D,QAAQ+H,OAAO,EAAEhE,GAAG;IAAA,IAAA+L,MAAA,EAAAC,IAAA,EAAAC,WAAA,EAAAC,MAAA,EAAAC,WAAA,EAAAC,SAAA,EAAAC,GAAA,EAAAC,OAAA,EAAAC,YAAA,EAAAC,SAAA;IAAA,OAAAvZ,mBAAA,GAAAuB,IAAA,UAAA0H,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAArD,IAAA,GAAAqD,QAAA,CAAAhF,IAAA;QAAA;UAEvC4U,MAAM,GAAG,MAAM;UACfC,IAAI,GAAG;YACP5T,IAAI,EAAE,OAAO;YACbqU,UAAU,EAAE,OAAO;YACnB3B,IAAI,EAAE;cAAE1S,IAAI,EAAE;YAAU;UAC5B,CAAC;UACG6T,WAAW,GAAG,IAAI;UAClBC,MAAM,GAAG,CAAE,QAAQ,CAAE;UACnBC,WAAW,GAAGN,UAAU,CAAE7L,GAAI,CAAC;UAAA7D,QAAA,CAAAhF,IAAA;UAAA,OACb4S,oDAAS,CAACY,MAAM,CAAC+B,SAAS,CAC9CX,MAAM,EACNI,WAAW,EACXH,IAAI,EACJC,WAAW,EACXC,MACJ,CAAC;QAAA;UANKE,SAAS,GAAAjQ,QAAA,CAAAtF,IAAA;UAQXwV,GAAG,GAAGrI,OAAO,CAAC2I,KAAK,CAAE,GAAI,CAAC;UAC1BL,OAAO,GAAGZ,8DAAc,CAAEW,GAAG,CAAE,CAAC,CAAE,GAAG,GAAG,GAAGA,GAAG,CAAE,CAAC,CAAG,CAAC;UACrDE,YAAY,GAAGX,+DAAe,CAAES,GAAG,CAAE,CAAC,CAAG,CAAC;UAC1CG,SAAS,GAAGd,8DAAc,CAAEa,YAAa,CAAC;UAAApQ,QAAA,CAAAhF,IAAA;UAAA,OAEjC4S,oDAAS,CAACY,MAAM,CAACiC,MAAM,CAChCZ,IAAI,EACJI,SAAS,EACTI,SAAS,EACTF,OACJ,CAAC;QAAA;UAAA,OAAAnQ,QAAA,CAAAnF,MAAA,WAAAmF,QAAA,CAAAtF,IAAA;QAAA;QAAA;UAAA,OAAAsF,QAAA,CAAAlD,IAAA;MAAA;IAAA,GAAAgD,OAAA;EAAA,CACJ;EAAA,gBA9BYwL,WAAWA,CAAA3F,EAAA,EAAAc,GAAA;IAAA,OAAAnH,IAAA,CAAA9B,KAAA,OAAAD,SAAA;EAAA;AAAA,GA8BvB,C;;;;;;;;;;;;;;;;;;;;;;;;;;;AClDD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMmT,aAAa,0BAAAC,MAAA;EAAA,SAAAD,cAAA;IAAAhN,eAAA,OAAAgN,aAAA;IAAA,OAAArH,UAAA,OAAAqH,aAAA,EAAAnT,SAAA;EAAA;EAAA+L,SAAA,CAAAoH,aAAA,EAAAC,MAAA;EAAA,OAAA7M,YAAA,CAAA4M,aAAA;AAAA,gBAAAE,gBAAA,CAASvW,KAAK;AACjC,IAAMuS,kBAAkB,0BAAAiE,cAAA;EAAA,SAAAjE,mBAAA;IAAAlJ,eAAA,OAAAkJ,kBAAA;IAAA,OAAAvD,UAAA,OAAAuD,kBAAA,EAAArP,SAAA;EAAA;EAAA+L,SAAA,CAAAsD,kBAAA,EAAAiE,cAAA;EAAA,OAAA/M,YAAA,CAAA8I,kBAAA;AAAA,EAAS8D,aAAa;AAC9C,IAAMtJ,SAAS,0BAAA0J,OAAA;EAAA,SAAA1J,UAAA;IAAA1D,eAAA,OAAA0D,SAAA;IAAA,OAAAiC,UAAA,OAAAjC,SAAA,EAAA7J,SAAA;EAAA;EAAA+L,SAAA,CAAAlC,SAAA,EAAA0J,OAAA;EAAA,OAAAhN,YAAA,CAAAsD,SAAA;AAAA,gBAAAwJ,gBAAA,CAASvW,KAAK,G;;;;;;;ACXpC;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC8C;AAEvC,IAAMiM,cAAc,GAAG,SAAjBA,cAAcA,CAAIN,YAAY,EAAK;EAC5C;EACA;EACA,IAAQ0G,aAAa,GAAwC1G,YAAY,CAAjE0G,aAAa;IAAE7F,YAAY,GAA0Bb,YAAY,CAAlDa,YAAY;IAAEmG,mBAAmB,GAAKhH,YAAY,CAApCgH,mBAAmB;EACxD,IAAI,CAACN,aAAa,IAAI,CAAC7F,YAAY,IAAI,CAACmG,mBAAmB,EAAE;IACzD,MAAM,IAAIJ,0DAAkB,CAAC,gEAAgE,CAAC;EAClG;EAEA,OAAO;IACHF,aAAa,EAAbA,aAAa;IACb7F,YAAY,EAAZA,YAAY;IACZmG,mBAAmB,EAAnBA;EACJ,CAAC;AACL,CAAC,C;;;;;;;ACxBD;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,IAAMlF,QAAQ,GAAG,SAAXA,QAAQA,CAAKiJ,KAAK,EAC/B;EACI,IAAIC,SAAS,GAAGD,KAAK,CAACP,KAAK,CAAE,GAAI,CAAC,CAAE,CAAC,CAAE;EACvC,IAAIS,MAAM,GAAGD,SAAS,CAAC3B,OAAO,CAAE,IAAI,EAAE,GAAI,CAAC,CAACA,OAAO,CAAE,IAAI,EAAE,GAAI,CAAC;EAChE,IAAI6B,WAAW,GAAGC,kBAAkB,CAChC7L,MAAM,CACDyJ,IAAI,CAAEkC,MAAO,CAAC,CACdT,KAAK,CAAE,EAAG,CAAC,CACXY,GAAG,CAAE,UAAWvZ,CAAC,EAClB;IACI,OAAO,GAAG,GAAG,CAAE,IAAI,GAAGA,CAAC,CAAC2X,UAAU,CAAE,CAAE,CAAC,CAAC/J,QAAQ,CAAE,EAAG,CAAC,EAAG5I,KAAK,CAAE,CAAC,CAAE,CAAC;EACxE,CAAE,CAAC,CACFoR,IAAI,CAAE,EAAG,CAClB,CAAC;EAED,OAAO/C,IAAI,CAACmG,KAAK,CAAEH,WAAY,CAAC;AACpC,CAAC,C;;;;;;;;;;;;;;;AC1BD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMI,wBAAwB,GAAG,wBAAwB;AAAC,IAEpDnI,kBAAkB;EAIpB,SAAAA,mBAAcc,mBAAmB,EACjC;IAAAvG,eAAA,OAAAyF,kBAAA;IAAApF,eAAA;IACI,IAAI,CAACmG,cAAc,GAAG,IAAID,mBAAmB,CAAEqH,wBAAyB,CAAC;EAC7E;;EAEA;EAAA,OAAAxN,YAAA,CAAAqF,kBAAA;IAAAtF,GAAA;IAAArM,KAAA,EACA,SAAAuN,KAAKA,CAAA,EACL;MACI,IAAI,CAACmF,cAAc,CAACC,gBAAgB,CAAC,CAAC,CAACrF,YAAY,CAAC,CAAC;IACzD;EAAC;IAAAjB,GAAA;IAAArM,KAAA,EAED,SAAA+O,IAAIA,CAAGN,IAAI,EACX;MACI,IAAI,CAACiE,cAAc,CAACC,gBAAgB,CAAC,CAAC,CAACsB,UAAU,CAAExF,IAAK,CAAC;IAC7D;EAAC;IAAApC,GAAA;IAAArM,KAAA,EAED,SAAA0P,kBAAkBA,CAAA,EAClB;MACI,OAAO,IAAI,CAACgD,cAAc,CAACC,gBAAgB,CAAC,CAAC,CAACoH,UAAU,CAAC,CAAC;IAC9D;EAAC;IAAA1N,GAAA;IAAArM,KAAA,EAED,SAAAga,oBAAoBA,CAAA,EACpB;MACI,IAAMvL,IAAI,GAAG,IAAI,CAACiE,cAAc,CAACC,gBAAgB,CAAC,CAAC;MAEnD,OAAO,CAAC,CAAClE,IAAI,CAACyG,aAAa,IAAI,CAAC,CAACzG,IAAI,CAACY,YAAY;IACtD;EAAC;AAAA;AAGUsC,iFAAkB,E;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrDjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEgD;AACgB;AAAA,IAE1DsI,WAAW;EAKb,SAAAA,YAAcC,eAAe,EAAEC,WAAW,EAC1C;IAAAjO,eAAA,OAAA+N,WAAA;IAAA1N,eAAA;IAAAA,eAAA;IACI,IAAI,CAAC2N,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACC,WAAW,GAAGA,WAAW;EAClC;EAAC,OAAA7N,YAAA,CAAA2N,WAAA;IAAA5N,GAAA;IAAArM,KAAA,EAED,SAAAoU,OAAOA,CAAG/H,GAAG,EACb;MACI,OAAO,IAAI,CAAC0N,UAAU,CAAC,CAAC,CAAE1N,GAAG,CAAE;IACnC;EAAC;IAAAA,GAAA;IAAArM,KAAA,EAED,SAAAoa,OAAOA,CAAG/N,GAAG,EAAErM,KAAK,EACpB;MACI,OAAO,IAAI,CAACqa,aAAa,CAAEhO,GAAG,EAAErM,KAAM,CAAC;IAC3C;EAAC;IAAAqM,GAAA;IAAArM,KAAA,EAED,SAAAsa,UAAUA,CAAGjO,GAAG,EAChB;MACI,OAAO,IAAI,CAACiB,YAAY,CAAEjB,GAAI,CAAC;IACnC;EAAC;IAAAA,GAAA;IAAArM,KAAA,EAED,SAAA+Z,UAAUA,CAAA,EACV;MACI,IAAIQ,aAAa,GAAG,IAAI,CAACL,eAAe,CAAC9F,OAAO,CAAE,IAAI,CAAC+F,WAAY,CAAC;MACpEI,aAAa,GAAGA,aAAa,IAAI,IAAI;MACrC,IACA;QACI,OAAO7G,IAAI,CAACmG,KAAK,CAAEU,aAAc,CAAC;MACtC,CAAC,CAAC,OAAQhb,CAAC,EACX;QACI,MAAM,IAAI2Z,2DAAa,CAAE,kCAAkC,GAAG,IAAI,CAACiB,WAAY,CAAC;MACpF;IACJ;EAAC;IAAA9N,GAAA;IAAArM,KAAA,EAED,SAAAiU,UAAUA,CAAGuG,GAAG,EAChB;MACI,IACA;QACI,IAAID,aAAa,GAAGC,GAAG,GAAG9G,IAAI,CAACC,SAAS,CAAE6G,GAAI,CAAC,GAAG,IAAI;QACtD,IAAI,CAACN,eAAe,CAACE,OAAO,CAAE,IAAI,CAACD,WAAW,EAAEI,aAAc,CAAC;MACnE,CAAC,CAAC,OAAQhb,CAAC,EACX;QACI,MAAM,IAAIsD,KAAK,CAAE,yBAAyB,GAAG,IAAI,CAACsX,WAAY,CAAC;MACnE;IACJ;EAAC;IAAA9N,GAAA;IAAArM,KAAA,EAED,SAAAsN,YAAYA,CAAGjB,GAAG,EAClB;MACI,IAAK,CAACA,GAAG,EACT;QACI;QACA,IAAI,CAAC6N,eAAe,CAACI,UAAU,CAAE,IAAI,CAACH,WAAY,CAAC;QAEnD;MACJ;MAEA,IAAIK,GAAG,GAAG,IAAI,CAACT,UAAU,CAAC,CAAC;MAC3B,OAAOS,GAAG,CAAEnO,GAAG,CAAE;MACjB,IAAI,CAAC4H,UAAU,CAAEuG,GAAI,CAAC;IAC1B;EAAC;IAAAnO,GAAA;IAAArM,KAAA,EAED,SAAAqa,aAAaA,CAAGhO,GAAG,EAAErM,KAAK,EAC1B;MACI,IAAIwa,GAAG,GAAG,IAAI,CAACT,UAAU,CAAC,CAAC;MAC3BS,GAAG,CAAEnO,GAAG,CAAE,GAAGrM,KAAK;MAClB,IAAI,CAACiU,UAAU,CAAEuG,GAAI,CAAC;IAC1B;EAAC;AAAA;AAGE,IAAMC,kBAAkB;EAI3B,SAAAA,mBAAcN,WAAW,EAAED,eAAe,EAC1C;IAAAhO,eAAA,OAAAuO,kBAAA;IAAAlO,eAAA;IAAAA,eAAA;IACI,IAAI,CAAC4N,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACD,eAAe,GAAGA,eAAe;EAC1C;EAAC,OAAA5N,YAAA,CAAAmO,kBAAA;IAAApO,GAAA;IAAArM,KAAA,EAED,SAAA2S,gBAAgBA,CAAA,EAChB;MACI,OAAO,IAAIsH,WAAW,CAAE,IAAI,CAACC,eAAe,EAAE,IAAI,CAACC,WAAY,CAAC;IACpE;EAAC;AAAA;AAGE,IAAMO,mBAAmB,0BAAAC,oBAAA;EAE5B,SAAAD,oBAAcP,WAAW,EACzB;IAAAjO,eAAA,OAAAwO,mBAAA;IAAA,OAAA7I,UAAA,OAAA6I,mBAAA,GACWP,WAAW,EAAErM,MAAM,CAAC8M,YAAY;EAC3C;EAAC9I,SAAA,CAAA4I,mBAAA,EAAAC,oBAAA;EAAA,OAAArO,YAAA,CAAAoO,mBAAA;AAAA,EALoCD,kBAAkB;AAQpD,IAAMhJ,eAAe,GAAG,SAAlBA,eAAeA,CAAItH,IAAI,EAAK;EACrC;EACA,IAAIA,IAAI,CAAC0Q,WAAW,KAAK,QAAQ,EAAE;IAC/B,8BAAAC,oBAAA;MACI,SAAAC,qBAAcZ,WAAW,EAAG;QAAAjO,eAAA,OAAA6O,oBAAA;QAAA,OAAAlJ,UAAA,OAAAkJ,oBAAA,GACjBZ,WAAW,EAAE,IAAIa,4EAAqB,CAAC7Q,IAAI,CAAC8Q,YAAY,CAAC;MACpE;MAACnJ,SAAA,CAAAiJ,oBAAA,EAAAD,oBAAA;MAAA,OAAAxO,YAAA,CAAAyO,oBAAA;IAAA,EAHqCN,kBAAkB;EAKhE,CAAC,MAAM;IACH,OAAOC,mBAAmB;EAC9B;AACJ,CAAC,C;;;;;;;;;;;;;;;;;;AC1HD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEgC;;AAEhC;AACO,IAAMM,qBAAqB;EAG9B,SAAAA,sBAAcE,MAAM,EACpB;IAAAhP,eAAA,OAAA8O,qBAAA;IAAAzO,eAAA;IACI,IAAI,CAAC2O,MAAM,GAAGA,MAAM;EACxB;EAAC,OAAA5O,YAAA,CAAA0O,qBAAA;IAAA3O,GAAA;IAAArM,KAAA,EACD,SAAAoU,OAAOA,CAAG/H,GAAG,EACb;MACI,OAAO8O,gDAAO,CAAC1K,GAAG,CAAEpE,GAAI,CAAC;IAC7B;EAAC;IAAAA,GAAA;IAAArM,KAAA,EAED,SAAAoa,OAAOA,CAAG/N,GAAG,EAAErM,KAAK,EACpB;MACI,OAAOmb,gDAAO,CAACC,GAAG,CAAE/O,GAAG,EAAErM,KAAK,EAAE;QAAEqb,OAAO,EAAE,GAAG;QAAEC,IAAI,EAAE,GAAG;QAAEJ,MAAM,EAAE,IAAI,CAACA;MAAO,CAAE,CAAC;IACtF;EAAC;IAAA7O,GAAA;IAAArM,KAAA,EAED,SAAAsa,UAAUA,CAAGjO,GAAG,EAChB;MACI,OAAO8O,gDAAO,CAACI,MAAM,CAAClP,GAAG,EAAE;QAAEiP,IAAI,EAAE,GAAG;QAAEJ,MAAM,EAAE,IAAI,CAACA;MAAO,CAAC,CAAC;IAClE;EAAC;AAAA,I;;;;;;ACjCL;AACA;AACA;AACA,EAAE,KAA4D;AAC9D,EAAE,SAKK;AACP,CAAC,sBAAsB;;AAEvB;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,EAAE;AACxC,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mCAAmC;;AAEnC;AACA;AACA;;AAEA;AACA;AACA,uEAAuE;AACvE;AACA;AACA,4CAA4C;AAC5C;AACA,yEAAyE;AACzE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,8DAA8D;AAC9D;AACA,qBAAqB,oBAAoB;AACzC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA,+CAA+C;AAC/C,SAAS;AACT;AACA,+BAA+B;AAC/B;AACA,OAAO;AACP;AACA,qBAAqB,0CAA0C;AAC/D,oBAAoB;AACpB;AACA;AACA;;AAEA,oCAAoC,YAAY;AAChD;;AAEA;;AAEA,CAAC;;;;;;;;AClJD;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACRA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMlM,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAKwM,YAAY,EAAEpO,aAAa,EACjE;EACI,IAAMqO,QAAQ,GAAG,IAAI9N,GAAG,CAAEP,aAAc,CAAC;EACzCqO,QAAQ,CAAC7N,YAAY,CAACC,MAAM,CAAE,YAAY,EAAEC,MAAM,CAACC,QAAQ,CAAC2N,IAAK,CAAC;EAClED,QAAQ,CAAC7N,YAAY,CAACC,MAAM,CAAE,cAAc,EAAE2N,YAAY,CAAC1O,WAAY,CAAC;EACxE2O,QAAQ,CAAC7N,YAAY,CAACC,MAAM,CAAE,eAAe,EAAE2N,YAAY,CAAC7F,YAAa,CAAC;EAC1E8F,QAAQ,CAAC7N,YAAY,CAACC,MAAM,CAAE,OAAO,EAAE2N,YAAY,CAAC9F,KAAM,CAAC;;EAE3D;EACA+F,QAAQ,CAAC7N,YAAY,CAACC,MAAM,CAAE,gBAAgB,EAAE2N,YAAY,CAACtG,aAAc,CAAC;EAC5EuG,QAAQ,CAAC7N,YAAY,CAACC,MAAM,CAAE,uBAAuB,EAAE2N,YAAY,CAAChG,mBAAoB,CAAC;;EAEzF;EACA,IAAKgG,YAAY,CAAC9S,KAAK,KAAKtB,SAAS,EACrC;IACIqU,QAAQ,CAAC7N,YAAY,CAACC,MAAM,CAAE,OAAO,EAAE2N,YAAY,CAAC9S,KAAM,CAAC;EAC/D;;EAEA;EACA,IAAK8S,YAAY,CAACvO,YAAY,EAC9B;IACIwO,QAAQ,CAAC7N,YAAY,CAACC,MAAM,CAAE,KAAK,EAAE2N,YAAY,CAACvO,YAAa,CAAC;EACpE;EAEA,OAAOwO,QAAQ,CAACC,IAAI;AACxB,CAAC,C;;;;;;;AClCD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsB;;;;;;;;ACAtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyD;AACY","file":"ocid-connect-js.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Slider\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"Slider\"] = factory(root[\"react\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__3__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport * from './react';\nexport * from './sdk';\n","export { default as LoginButton } from './LoginButton';\nexport { default as LoginCallBack } from './LoginCallBack';\nexport { default as OCConnect } from './OCConnect';\nexport * from './OCContext';","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/* eslint-disable react/no-unknown-property */\nimport React from 'react';\nimport { useOCAuth } from './OCContext';\n\nconst lightTheme = {\n background: \"#000\",\n color: \"#fff\",\n button: {\n background: \"#FFF\",\n border: \"#DDDDEB\",\n color: \"#C5C5D1\",\n colorSuccess: \"#8F8FB2\",\n },\n};\n\nconst darkTheme = {\n background: \"#fff\",\n color: \"#000\",\n button: {\n background: \"#141414\",\n border: \"#DDDDEB\",\n color: \"#FFFFFF\",\n colorSuccess: \"#ADADB8\",\n },\n};\n\nconst neutralTheme = {\n background: \"#fff\",\n color: \"#000\",\n button: {\n background: \"#F5F5F5\",\n border: \"#DDDDEB\",\n color: \"#141414\",\n colorSuccess: \"#8F8FB2\",\n },\n};\n\nconst ocBlueTheme = {\n background: \"#fff\",\n color: \"#000\",\n button: {\n background: \"#141BEB\",\n border: \"#DDDDEB\",\n color: \"#FFFFFF\",\n colorSuccess: \"#9699EB\",\n },\n};\n\nconst themes = {\n light: lightTheme,\n dark: darkTheme,\n neutral: neutralTheme,\n ocBlue: ocBlueTheme,\n};\n\nconst genStyle = ( theme, pill = false ) =>\n( {\n display: \"flex\",\n alignItems: \"center\",\n height: 44,\n width: 160,\n padding: \"10px 12px\",\n fontSize: 14,\n border: \"1px solid\",\n borderColor: theme.button.border,\n borderRadius: pill ? 40 : 8,\n background: theme.button.background,\n color: theme.button.color\n} );\n\nexport default function LoginButton ( {\n pill,\n disabled,\n theme,\n} )\n{\n const { ocAuth } = useOCAuth();\n const customTheme = themes[ theme ] || themes[ 'ocBlue' ];\n\n const loginWithRedirect = async () =>\n {\n await ocAuth.signInWithRedirect( {\n state: 'opencampus',\n } );\n };\n\n const style = genStyle( customTheme, pill );\n\n return (\n <button\n disabled={ disabled }\n onClick={ loginWithRedirect }\n style={ style }\n >\n <img alt=\"logo\" src=\"https://static.opencampus.xyz/assets/oc_logo.svg\" width=\"26px\" height=\"25px\" />\n <span style={ { marginLeft: \"10px\" } }>Connect&nbsp;<strong>OCID</strong></span>\n </button>\n );\n}","module.exports = __WEBPACK_EXTERNAL_MODULE__3__;","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport * as React from 'react';\n\nexport const OCContext = React.createContext( null );\n\nexport const useOCAuth = () => React.useContext( OCContext );\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport React, { useEffect } from 'react';\n\nimport { useOCAuth } from './OCContext';\n\nlet handledRedirect = false;\n\nconst LoginCallBack = ( { successCallback, errorCallback, customErrorComponent, customLoadingComponent } ) =>\n{\n const { ocAuth, authState, setAuthError } = useOCAuth();\n\n useEffect( () =>\n {\n const handleLogin = async () =>\n {\n if ( ocAuth )\n {\n try\n {\n await ocAuth.handleLoginRedirect();\n successCallback();\n } catch (e)\n {\n setAuthError(e);\n if (errorCallback)\n {\n errorCallback();\n }\n }\n }\n };\n if ( !handledRedirect )\n {\n handleLogin();\n }\n }, [ ocAuth ] );\n\n if ( authState.error !== undefined && !errorCallback )\n {\n return customErrorComponent ? customErrorComponent : <div>Error Logging in: { authState.error.message }</div>;\n } else\n {\n return customLoadingComponent ? (\n customLoadingComponent\n ) : (\n <div>\n <h3>Loading ......</h3>\n </div>\n );\n }\n};\n\nexport default LoginCallBack;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport React, { useEffect, useState } from 'react';\n\nimport { OCContext } from './OCContext';\nimport { OCAuthLive, OCAuthSandbox } from '../sdk/auth';\n\nconst OCConnect = ( { children, opts, sandboxMode } ) =>\n{\n const [ ocAuth, setOcAuth ] = useState( {} );\n const [ OCId, setOCId ] = useState();\n const [ ethAddress, setEthAddress ] = useState();\n const [ authState, setAuthState ] = useState( {\n isAuthenticated: false,\n } );\n const [ authError, setAuthError ] = useState( null );\n\n const updateAuthState = authState =>\n {\n setAuthState( authState );\n setOCId( authState.OCId );\n setEthAddress( authState.ethAddress );\n };\n\n // init sdk\n useEffect( () =>\n {\n const authSdk = sandboxMode ? new OCAuthSandbox(opts) : new OCAuthLive(opts);\n updateAuthState( authSdk.getAuthState() );\n setOcAuth( authSdk );\n }, [] );\n\n useEffect( () =>\n {\n if ( ocAuth.authInfoManager )\n {\n // reactively recieve update on the authstate change\n ocAuth.authInfoManager.subscribe( updateAuthState );\n return () =>\n {\n ocAuth.authInfoManager.unsubscribe( updateAuthState );\n };\n }\n }, [ ocAuth ] );\n\n return (\n <OCContext.Provider value={ { OCId, ethAddress, ocAuth, authState, authError, setAuthError } }>\n { children }\n </OCContext.Provider>\n );\n};\n\nexport default OCConnect;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport AuthInfoManager from './lib/AuthInfoManager';\nimport TokenManager from './lib/TokenManager';\nimport TransactionManager from './lib/TransactionManager';\nimport { getStorageClass } from './lib/StorageManager';\nimport { createPkceMeta, parseJwt, parseUrl, prepareTokenParams } from './utils';\nimport { buildAuthEndpointUrl } from './endpoints';\nimport { AuthError } from './utils/errors';\n\nexport class OCAuthCore\n{\n tokenManager;\n authInfoManager;\n transactionManager;\n redirectUri;\n loginEndPoint;\n logoutEndPoint;\n referralCode;\n\n constructor ( loginEndpoint, redirectUri, transactionManager, tokenManager, referralCode, logoutEndPoint )\n {\n this.transactionManager = transactionManager;\n this.tokenManager = tokenManager;\n this.authInfoManager = new AuthInfoManager();\n this.loginEndPoint = loginEndpoint;\n this.logoutEndPoint = logoutEndPoint;\n this.redirectUri = redirectUri;\n this.referralCode = referralCode;\n this.syncAuthInfo();\n }\n\n clearStorage ()\n {\n this.transactionManager.clear();\n this.tokenManager.clear();\n }\n\n async logout (logoutReturnTo)\n {\n this.clearStorage();\n const url = new URL(this.logoutEndPoint);\n if (logoutReturnTo) {\n url.searchParams.append('returnTo', logoutReturnTo);\n }\n window.location.assign(url.toString());\n }\n\n async signInWithRedirect ( params )\n {\n // we use ONLY code flow with PKCE, so lacks a lot of options\n // available in other OAuth SDKs.\n const paramsClone = Object.assign( {}, params );\n paramsClone.redirectUri = this.redirectUri;\n const signinParams = await prepareTokenParams( paramsClone );\n const meta = createPkceMeta( signinParams );\n this.transactionManager.save( meta );\n signinParams.referralCode = this.referralCode;\n const requestUrl = buildAuthEndpointUrl( signinParams, this.loginEndPoint );\n window.location.assign( requestUrl );\n }\n\n async handleLoginRedirect ()\n {\n const urlParams = parseUrl();\n // Again we only handle PKCE code flow\n if ( urlParams.code )\n {\n const meta = this.transactionManager.getTransactionMeta();\n const { codeVerifier } = meta;\n if ( codeVerifier )\n {\n // we used pkce mode, use it\n await this.tokenManager.exchangeTokenFromCode( urlParams.code, codeVerifier, urlParams.state );\n // clear transaction meta, coz it's completed\n this.transactionManager.clear();\n this.syncAuthInfo();\n return this.getAuthState();\n } else\n {\n throw new AuthError( 'codeVerifier not found, cannot complete flow' );\n }\n }\n\n // no code found, nothing to do \n return {};\n }\n\n isAuthenticated ()\n {\n // if both token exist and not expired\n return !this.tokenManager.hasExpired();\n }\n\n syncAuthInfo ()\n {\n if ( this.tokenManager.hasExpired() )\n {\n this.authInfoManager.clear();\n } else {\n const { edu_username, eth_address } = this.getParsedIdToken();\n this.authInfoManager.setAuthState(\n this.getAccessToken(),\n this.getIdToken(),\n edu_username,\n eth_address,\n this.isAuthenticated()\n );\n }\n }\n\n getAuthState ()\n {\n return this.authInfoManager.getAuthState();\n }\n\n getStateParameter ()\n {\n return this.tokenManager.getStateParameter();\n }\n\n getIdToken ()\n {\n return this.tokenManager.getIdToken();\n }\n\n getAccessToken ()\n {\n return this.tokenManager.getAccessToken();\n }\n\n getParsedIdToken ()\n {\n // return all info in id token\n const idToken = this.tokenManager.getIdToken();\n if (idToken)\n {\n return parseJwt(idToken);\n }\n return {};\n }\n\n getParsedAccessToken ()\n {\n // return all info in access token\n const accessToken = this.tokenManager.getAccessToken();\n if (accessToken)\n {\n return parseJwt(accessToken);\n }\n return {};\n }\n\n get OCId ()\n {\n const info = this.authInfoManager.getAuthState();\n return info.OCId ?? null;\n }\n\n get ethAddress ()\n {\n const info = this.authInfoManager.getAuthState();\n return info.ethAddress ?? null;\n }\n}\n\nconst LIVE_PUBLIC_KEY = 'MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBIDHtLbgVM76SXZ4iuIjuO+ERQPnVpJzagOsZdYxFG3ZJmvfdpr/Z29SLUbdZWafrOlAVlKe1Ovf/tcH671tTw==';\nconst SANDBOX_PUBLIC_KEY = 'MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE/EymMLXd/MVYPK5r2xXQj91ZVvX3OQ+QagvR2N6lCvRVjnzmOtPRTf+u5g1RliWnmuxbV3gTm0/0VuV/40Salg==';\nexport class OCAuthLive extends OCAuthCore\n{\n constructor ( opts = {} )\n {\n const {\n tokenEndPoint: overrideTokenEndpoint,\n loginEndPoint: overrideLoginEndpoint,\n logoutEndPoint: overrideLogoutEndpoint,\n publicKey: overridePublicKey,\n redirectUri,\n referralCode,\n } = opts;\n const tokenEndpoint = overrideTokenEndpoint || 'https://api.login.opencampus.xyz/auth/token';\n const loginEndpoint = overrideLoginEndpoint || 'https://api.login.opencampus.xyz/auth/login';\n const logoutEndpoint = overrideLogoutEndpoint || 'https://api.login.opencampus.xyz/auth/logout';\n const publicKey = overridePublicKey || LIVE_PUBLIC_KEY;\n\n const storageClass = getStorageClass(opts);\n const pkceTransactionManager = new TransactionManager( storageClass );\n const tokenManager = new TokenManager( storageClass, tokenEndpoint, publicKey );\n super( loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint );\n }\n}\n\nexport class OCAuthSandbox extends OCAuthCore\n{\n constructor ( opts = {} )\n {\n const {\n tokenEndPoint: overrideTokenEndpoint,\n loginEndPoint: overrideLoginEndpoint,\n logoutEndPoint: overrideLogoutEndpoint,\n publicKey: overridePublicKey,\n redirectUri,\n referralCode,\n } = opts;\n const tokenEndpoint = overrideTokenEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/token';\n const loginEndpoint = overrideLoginEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/login';\n const logoutEndpoint = overrideLogoutEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/logout';\n const publicKey = overridePublicKey || SANDBOX_PUBLIC_KEY;\n\n const storageClass = getStorageClass(opts);\n const pkceTransactionManager = new TransactionManager( storageClass );\n const tokenManager = new TokenManager( storageClass, tokenEndpoint, publicKey );\n super( loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint );\n }\n}\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport Emitter from 'tiny-emitter';\n\nconst EVENT_AUTH_STATE_CHANGE = 'authStateChange';\n\nclass AuthInfoManager\n{\n _emmitter;\n _authState;\n\n constructor ()\n {\n this._authState = null;\n this._emitter = new Emitter();\n }\n\n setAuthState (accessToken, idToken, OCId, ethAddress, isAuthenticated)\n {\n this._authState = { accessToken, idToken, OCId, ethAddress, isAuthenticated };\n this._emitter.emit(EVENT_AUTH_STATE_CHANGE, this._authState);\n }\n\n getAuthState ()\n {\n return Object.assign({}, this._authState);\n }\n\n clear ()\n {\n this._authState = null;\n }\n\n subscribe (handler)\n {\n this._emitter.on(EVENT_AUTH_STATE_CHANGE, handler);\n }\n\n unsubscribe (handler)\n {\n this._emitter.off(EVENT_AUTH_STATE_CHANGE, handler);\n }\n}\n\nexport default AuthInfoManager;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n// import StorageManager from './StorageManager';\nimport { parseJwt } from '../utils';\nimport { verifyToken } from '../crypto';\nimport { AuthError } from '../utils/errors';\n\nconst TOKEN_STORAGE_NAME = 'oc-token-storage';\n\nclass TokenManager\n{\n storageManager;\n tokenExpiredAt;\n tokenEndPoint;\n publicKey;\n\n constructor ( StorageManagerClass, tokenEndPoint, publicKey )\n {\n this.storageManager = new StorageManagerClass( TOKEN_STORAGE_NAME );\n this.tokenEndPoint = tokenEndPoint;\n this.publicKey = publicKey;\n }\n\n clear ()\n {\n this.storageManager.getStorageObject().clearStorage();\n }\n\n async exchangeTokenFromCode ( accessCode, codeVerifier, state = null )\n {\n const body = { accessCode, codeVerifier };\n try\n {\n const response = await fetch( this.tokenEndPoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify( body ),\n } );\n\n const { access_token, id_token } = await response.json();\n if ( !access_token || !id_token )\n {\n throw new AuthError( 'Fail to exchange token' );\n }\n const pubKey = await this.getPublicKey();\n const tokenVerified = await verifyToken( id_token, pubKey );\n if ( !tokenVerified )\n {\n throw new AuthError( 'Unable to verify token' );\n }\n const parsedAccessToken = parseJwt( access_token );\n const storageData = Object.assign(\n {\n access_token,\n id_token,\n expired: parsedAccessToken.exp\n },\n state && { state }\n );\n this.storageManager.getStorageObject().setStorage(storageData);\n } catch ( error )\n {\n console.log( error );\n throw new AuthError( 'Token acquisition failed' );\n }\n }\n\n getStateParameter ()\n {\n return this.storageManager.getStorageObject().getItem( 'state' );\n }\n\n getIdToken ()\n {\n return this.storageManager.getStorageObject().getItem( 'id_token' );\n }\n\n getAccessToken ()\n {\n return this.storageManager.getStorageObject().getItem( 'access_token' );\n }\n\n getExpiredAt () \n {\n return this.storageManager.getStorageObject().getItem( 'expired' );\n }\n\n async getPublicKey () \n {\n return this.publicKey;\n }\n\n hasExpired ()\n {\n const expiredAt = this.getExpiredAt();\n if ( !expiredAt )\n {\n return true;\n }\n const cur = Math.round( new Date().valueOf() / 1000 );\n\n return cur >= expiredAt;\n }\n}\n\nexport default TokenManager;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport * from './urlParser';\nexport * from './prepareTokenParams';\nexport * from './createPkceMeta';\nexport * from './jwtParser';\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport const parseUrl = () => {\n const queryString = window.location.search;\n const urlParams = new URLSearchParams(queryString);\n const validParams = {};\n\n if (urlParams.has('id_token')) validParams.id_token = urlParams.get('id_token');\n if (urlParams.has('code')) validParams.code = urlParams.get('code');\n if (urlParams.has('state')) validParams.state = urlParams.get('state');\n\n return validParams;\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport PKCE from '../lib/pkce';\nimport { InvalidParamsError } from './errors';\n\nexport const prepareTokenParams = async (params) => {\n // prepare all the params needed for building the signin flow\n // mandatory redirect_uri, for now, we only allow user to set redirect_uri and state\n // again this is not a full on OIDC/OAuth flow allowing user to set all the options\n // we prepare all the rest\n const { redirectUri, state } = params;\n if (!redirectUri) {\n throw new InvalidParamsError(' No redirect uri params!');\n }\n\n // must be pkce\n const codeVerifier = PKCE.generateVerifier();\n const codeChallenge = await PKCE.computeChallenge(codeVerifier);\n\n // pack up the full set of token params needed\n const tokenParams = {\n redirectUri,\n codeVerifier,\n codeChallenge,\n codeChallengeMethod: PKCE.DEFAULT_CODE_CHALLENGE_METHOD,\n scope: 'openid',\n responseType: 'code',\n };\n\n // just filter out undefined and null, honor other falsy states\n if (state !== undefined && state !== null) {\n tokenParams.state = state;\n }\n\n return tokenParams;\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/* eslint-disable complexity, max-statements */\n\nimport { stringToBase64Url, webcrypto } from '../crypto';\n\nexport const MIN_VERIFIER_LENGTH = 43;\nexport const MAX_VERIFIER_LENGTH = 128;\nexport const DEFAULT_CODE_CHALLENGE_METHOD = 'S256';\n\nfunction dec2hex ( dec )\n{\n return ( '0' + dec.toString( 16 ) ).substr( -2 );\n}\n\nfunction getRandomString ( length )\n{\n var a = new Uint8Array( Math.ceil( length / 2 ) );\n webcrypto.getRandomValues( a );\n var str = Array.from( a, dec2hex ).join( '' );\n\n return str.slice( 0, length );\n}\n\nfunction generateVerifier ( prefix )\n{\n var verifier = prefix || '';\n if ( verifier.length < MIN_VERIFIER_LENGTH )\n {\n verifier = verifier + getRandomString( MIN_VERIFIER_LENGTH - verifier.length );\n }\n\n return encodeURIComponent( verifier ).slice( 0, MAX_VERIFIER_LENGTH );\n}\n\nfunction computeChallenge ( str )\n{\n var buffer = new TextEncoder().encode( str );\n\n return webcrypto.subtle.digest( 'SHA-256', buffer ).then( function ( arrayBuffer )\n {\n var hash = String.fromCharCode.apply( null, new Uint8Array( arrayBuffer ) );\n var b64u = stringToBase64Url( hash ); // url-safe base64 variant\n\n return b64u;\n } );\n}\n\nexport default {\n DEFAULT_CODE_CHALLENGE_METHOD,\n generateVerifier,\n computeChallenge,\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport * from './webcrypto';\nexport * from './base64';\nexport * from './verifyToken';","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n// eslint-disable-next-line no-redeclare\nconst a = function ( str )\n{\n return window.atob( str );\n};\n// eslint-disable-next-line no-redeclare\nconst b = function ( str )\n{\n return window.btoa( str );\n};\n// eslint-disable-next-line no-redeclare\nconst c = typeof crypto === 'undefined' ? null : crypto;\n\nexport { a as atob, b as btoa, c as webcrypto };\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport { atob, btoa } from './webcrypto';\n\n// converts a standard base64-encoded string to a \"url/filename safe\" variant\nexport function base64ToBase64Url ( b64 )\n{\n return b64.replace( /\\+/g, '-' ).replace( /\\//g, '_' ).replace( /=+$/, '' );\n}\n\n// converts a \"url/filename safe\" base64 string to a \"standard\" base64 string\nexport function base64UrlToBase64 ( b64u )\n{\n return b64u.replace( /-/g, '+' ).replace( /_/g, '/' );\n}\n\n// converts a string to base64 (url/filename safe variant)\nexport function stringToBase64Url ( str )\n{\n var b64 = btoa( str );\n\n return base64ToBase64Url( b64 );\n}\n\nexport function stringToBuffer ( str )\n{\n var buffer = new Uint8Array( str.length );\n for ( var i = 0; i < str.length; i++ )\n {\n buffer[ i ] = str.charCodeAt( i );\n }\n return buffer;\n}\n\nexport function base64UrlDecode ( str )\n{\n return atob( base64UrlToBase64( str ) );\n}\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\nimport { stringToBuffer, base64UrlDecode } from './base64';\nimport { webcrypto, atob } from './webcrypto';\n\nconst prepareKey = key =>\n{\n const binaryDerString = atob( key );\n return stringToBuffer( binaryDerString );\n};\n\nexport const verifyToken = async ( idToken, key ) => \n{\n var format = 'spki';\n var algo = {\n name: 'ECDSA',\n namedCurve: 'P-256',\n hash: { name: \"SHA-256\" }\n };\n var extractable = true;\n var usages = [ 'verify' ];\n const preparedKey = prepareKey( key );\n const cryptoKey = await webcrypto.subtle.importKey(\n format,\n preparedKey,\n algo,\n extractable,\n usages\n );\n\n var jwt = idToken.split( '.' );\n var payload = stringToBuffer( jwt[ 0 ] + '.' + jwt[ 1 ] );\n var b64Signature = base64UrlDecode( jwt[ 2 ] );\n var signature = stringToBuffer( b64Signature );\n\n return await webcrypto.subtle.verify(\n algo,\n cryptoKey,\n signature,\n payload\n );\n}\n\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport class InternalError extends Error {}\nexport class InvalidParamsError extends InternalError {}\nexport class AuthError extends Error {}\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport { InvalidParamsError } from './errors';\n\nexport const createPkceMeta = (signinParams) => {\n // prepare the meta that needs to be persisted in storage\n // extracted from the signinParams\n const { codeChallenge, codeVerifier, codeChallengeMethod } = signinParams;\n if (!codeChallenge || !codeVerifier || !codeChallengeMethod) {\n throw new InvalidParamsError('codeChallenge, codeVerifier & codeChallengeMethod are required');\n }\n\n return {\n codeChallenge,\n codeVerifier,\n codeChallengeMethod,\n };\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nexport const parseJwt = ( token ) =>\n{\n var base64Url = token.split( '.' )[ 1 ];\n var base64 = base64Url.replace( /-/g, '+' ).replace( /_/g, '/' );\n var jsonPayload = decodeURIComponent(\n window\n .atob( base64 )\n .split( '' )\n .map( function ( c )\n {\n return '%' + ( '00' + c.charCodeAt( 0 ).toString( 16 ) ).slice( -2 );\n } )\n .join( '' )\n );\n\n return JSON.parse( jsonPayload );\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\n// TransactionManager manages data that's stored over a \"transaction\"\n// of the login cycle\n// A transaction contains a few things that we want to carry over multiple\n// times interacting with the SDK\n// Currently just used for\n// codeChallenge, codeVerifier, codeChallengeMethod\n\nconst TRANSACTION_STORAGE_NAME = 'oc-transaction-storage';\n\nclass TransactionManager\n{\n storageManager;\n\n constructor ( StorageManagerClass )\n {\n this.storageManager = new StorageManagerClass( TRANSACTION_STORAGE_NAME );\n }\n\n // called when we start a new transaction\n clear ()\n {\n this.storageManager.getStorageObject().clearStorage();\n }\n\n save ( meta )\n {\n this.storageManager.getStorageObject().setStorage( meta );\n }\n\n getTransactionMeta ()\n {\n return this.storageManager.getStorageObject().getStorage();\n }\n\n hasActiveTransaction ()\n {\n const meta = this.storageManager.getStorageObject();\n\n return !!meta.codeChallenge && !!meta.codeVerifier;\n }\n}\n\nexport default TransactionManager;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport { InternalError } from \"../utils/errors\";\nimport { CookieStorageProvider } from \"./CookieStorageProvider\";\n\nclass SavedObject\n{\n storageProvider;\n storageName;\n\n constructor ( storageProvider, storageName )\n {\n this.storageProvider = storageProvider;\n this.storageName = storageName;\n }\n\n getItem ( key )\n {\n return this.getStorage()[ key ];\n }\n\n setItem ( key, value )\n {\n return this.updateStorage( key, value );\n }\n\n removeItem ( key )\n {\n return this.clearStorage( key );\n }\n\n getStorage ()\n {\n let storageString = this.storageProvider.getItem( this.storageName );\n storageString = storageString || '{}';\n try\n {\n return JSON.parse( storageString );\n } catch ( e )\n {\n throw new InternalError( 'Unable to parse storage string: ' + this.storageName );\n }\n }\n\n setStorage ( obj )\n {\n try\n {\n let storageString = obj ? JSON.stringify( obj ) : '{}';\n this.storageProvider.setItem( this.storageName, storageString );\n } catch ( e )\n {\n throw new Error( 'Unable to set storage: ' + this.storageName );\n }\n }\n\n clearStorage ( key )\n {\n if ( !key )\n {\n // clear all\n this.storageProvider.removeItem( this.storageName );\n\n return;\n }\n\n let obj = this.getStorage();\n delete obj[ key ];\n this.setStorage( obj );\n }\n\n updateStorage ( key, value )\n {\n let obj = this.getStorage();\n obj[ key ] = value;\n this.setStorage( obj );\n }\n}\n\nexport class BaseStorageManager\n{\n storageProvider;\n storageName;\n constructor ( storageName, storageProvider )\n {\n this.storageName = storageName;\n this.storageProvider = storageProvider;\n }\n\n getStorageObject ()\n {\n return new SavedObject( this.storageProvider, this.storageName );\n }\n}\n\nexport class LocalStorageManager extends BaseStorageManager\n{\n constructor ( storageName )\n {\n super( storageName, window.localStorage );\n }\n}\n\nexport const getStorageClass = (opts) => {\n // Only cookie support domain based storage\n if (opts.storageType === 'cookie') {\n return class CookieStorageManager extends BaseStorageManager {\n constructor ( storageName ) {\n super( storageName, new CookieStorageProvider(opts.cookieDomain) );\n }\n }\n } else { \n return LocalStorageManager;\n }\n}","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport Cookies from 'js-cookie';\n\n// Wrapper to support Cookie based storage\nexport class CookieStorageProvider {\n domain;\n\n constructor ( domain )\n {\n this.domain = domain;\n }\n getItem ( key )\n {\n return Cookies.get( key );\n }\n\n setItem ( key, value )\n {\n return Cookies.set( key, value, { expires: 365, path: '/', domain: this.domain } );\n }\n\n removeItem ( key )\n {\n return Cookies.remove(key, { path: '/', domain: this.domain });\n }\n}\n","/*! js-cookie v3.0.5 | MIT */\n;\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (function () {\n var current = global.Cookies;\n var exports = global.Cookies = factory();\n exports.noConflict = function () { global.Cookies = current; return exports; };\n })());\n})(this, (function () { 'use strict';\n\n /* eslint-disable no-var */\n function assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n }\n /* eslint-enable no-var */\n\n /* eslint-disable no-var */\n var defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n };\n /* eslint-enable no-var */\n\n /* eslint-disable no-var */\n\n function init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n }\n\n var api = init(defaultConverter, { path: '/' });\n /* eslint-enable no-var */\n\n return api;\n\n}));\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport * from './buildAuthEndpointUrl';\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport const buildAuthEndpointUrl = ( signInParams, loginEndPoint ) =>\n{\n const loginUrl = new URL( loginEndPoint );\n loginUrl.searchParams.append( 'origin_url', window.location.href );\n loginUrl.searchParams.append( 'redirect_uri', signInParams.redirectUri );\n loginUrl.searchParams.append( 'response_type', signInParams.responseType );\n loginUrl.searchParams.append( 'scope', signInParams.scope );\n\n // pkce params\n loginUrl.searchParams.append( 'code_challenge', signInParams.codeChallenge );\n loginUrl.searchParams.append( 'code_challenge_method', signInParams.codeChallengeMethod );\n\n // as long as it is defined we will use it\n if ( signInParams.state !== undefined )\n {\n loginUrl.searchParams.append( 'state', signInParams.state );\n }\n\n // reference data for register workflow\n if ( signInParams.referralCode )\n {\n loginUrl.searchParams.append( 'ref', signInParams.referralCode );\n }\n\n return loginUrl.href;\n};\n","export * from './lib';\nexport * from './auth';\n","export { default as TokenManager } from './TokenManager';\nexport { default as TransactionManager } from './TransactionManager';\nexport * from './StorageManager';"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://Slider/webpack/universalModuleDefinition","webpack://Slider/webpack/bootstrap","webpack://Slider/./src/index.js","webpack://Slider/./src/react/index.js","webpack://Slider/./src/react/LoginButton.js","webpack://Slider/external {\"root\":\"react\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack://Slider/./src/react/OCContext.js","webpack://Slider/./src/react/LoginCallBack.js","webpack://Slider/./src/react/OCConnect.js","webpack://Slider/./src/sdk/auth.js","webpack://Slider/./src/sdk/lib/AuthInfoManager.js","webpack://Slider/./node_modules/tiny-emitter/index.js","webpack://Slider/./src/sdk/lib/TokenManager.js","webpack://Slider/./src/sdk/utils/index.js","webpack://Slider/./src/sdk/utils/urlParser.js","webpack://Slider/./src/sdk/utils/prepareTokenParams.js","webpack://Slider/./src/sdk/lib/pkce.js","webpack://Slider/./src/sdk/crypto/index.js","webpack://Slider/./src/sdk/crypto/webcrypto.js","webpack://Slider/./src/sdk/crypto/base64.js","webpack://Slider/./src/sdk/crypto/verifyToken.js","webpack://Slider/./src/sdk/utils/errors.js","webpack://Slider/./src/sdk/utils/createPkceMeta.js","webpack://Slider/./src/sdk/utils/jwtParser.js","webpack://Slider/./src/sdk/lib/TransactionManager.js","webpack://Slider/./src/sdk/lib/StorageManager.js","webpack://Slider/./src/sdk/lib/CookieStorageProvider.js","webpack://Slider/./node_modules/js-cookie/dist/js.cookie.js","webpack://Slider/./src/sdk/endpoints/index.js","webpack://Slider/./src/sdk/endpoints/buildAuthEndpointUrl.js","webpack://Slider/./src/sdk/index.js","webpack://Slider/./src/sdk/lib/index.js"],"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","lightTheme","background","color","button","border","colorSuccess","darkTheme","neutralTheme","ocBlueTheme","themes","light","dark","neutral","ocBlue","genStyle","theme","pill","undefined","display","alignItems","height","width","padding","fontSize","borderColor","borderRadius","LoginButton","_ref","disabled","_useOCAuth","useOCAuth","ocAuth","customTheme","loginWithRedirect","_ref2","_callee","_callee$","_context","signInWithRedirect","state","style","React","createElement","onClick","alt","src","marginLeft","OCContext","handledRedirect","LoginCallBack","successCallback","errorCallback","customErrorComponent","customLoadingComponent","isInitialized","authState","setAuthError","useEffect","handleLogin","handleLoginRedirect","t0","error","message","OCConnect","children","opts","sandboxMode","_useState","useState","_useState2","_slicedToArray","setOcAuth","_useState3","_useState4","OCId","setOCId","_useState5","_useState6","ethAddress","setEthAddress","_useState7","_useState8","setAuthState","_useState9","_useState10","setIsInitialized","_useState11","_useState12","authError","updateAuthState","authSdk","OCAuthSandbox","OCAuthLive","getAuthState","authInfoManager","subscribe","unsubscribe","Provider","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_defineProperty","_toPrimitive","toPrimitive","String","Number","OCAuthCore","loginEndpoint","redirectUri","transactionManager","tokenManager","referralCode","logoutEndPoint","AuthInfoManager","loginEndPoint","syncAuthInfo","clearStorage","clear","_logout","logoutReturnTo","url","URL","searchParams","append","window","location","assign","toString","logout","_x","_signInWithRedirect","_callee2","params","paramsClone","signinParams","meta","requestUrl","_callee2$","_context2","prepareTokenParams","createPkceMeta","save","buildAuthEndpointUrl","_x2","_handleLoginRedirect","_callee3","urlParams","codeVerifier","_callee3$","_context3","parseUrl","code","getTransactionMeta","exchangeTokenFromCode","AuthError","isAuthenticated","hasExpired","_this$getParsedIdToke","getParsedIdToken","edu_username","eth_address","getAccessToken","getIdToken","getStateParameter","idToken","parseJwt","getParsedAccessToken","accessToken","get","_info$OCId","info","_info$ethAddress","LIVE_PUBLIC_KEY","SANDBOX_PUBLIC_KEY","_OCAuthCore2","overrideTokenEndpoint","tokenEndPoint","overrideLoginEndpoint","overrideLogoutEndpoint","overridePublicKey","publicKey","tokenEndpoint","logoutEndpoint","storageClass","getStorageClass","pkceTransactionManager","TransactionManager","TokenManager","_callSuper","_inherits","_OCAuthCore3","EVENT_AUTH_STATE_CHANGE","_authState","_emitter","Emitter","emit","handler","on","off","TOKEN_STORAGE_NAME","StorageManagerClass","storageManager","getStorageObject","_exchangeTokenFromCode","accessCode","body","response","_yield$response$json","access_token","id_token","pubKey","tokenVerified","parsedAccessToken","storageData","_args","fetch","headers","JSON","stringify","json","getPublicKey","verifyToken","expired","exp","setStorage","console","log","getItem","getExpiredAt","_getPublicKey","expiredAt","cur","Math","round","Date","valueOf","queryString","search","URLSearchParams","validParams","has","codeChallenge","tokenParams","InvalidParamsError","PKCE","generateVerifier","computeChallenge","codeChallengeMethod","DEFAULT_CODE_CHALLENGE_METHOD","scope","responseType","MIN_VERIFIER_LENGTH","MAX_VERIFIER_LENGTH","dec2hex","dec","substr","getRandomString","Uint8Array","ceil","webcrypto","getRandomValues","str","Array","from","join","prefix","verifier","encodeURIComponent","buffer","TextEncoder","encode","subtle","digest","arrayBuffer","hash","fromCharCode","b64u","stringToBase64Url","atob","b","btoa","crypto","base64ToBase64Url","b64","replace","base64UrlToBase64","stringToBuffer","charCodeAt","base64UrlDecode","prepareKey","binaryDerString","format","algo","extractable","usages","preparedKey","cryptoKey","jwt","payload","b64Signature","signature","namedCurve","importKey","split","verify","InternalError","_Error","_wrapNativeSuper","_InternalError","_Error2","token","base64Url","base64","jsonPayload","decodeURIComponent","map","parse","TRANSACTION_STORAGE_NAME","getStorage","hasActiveTransaction","SavedObject","storageProvider","storageName","setItem","updateStorage","removeItem","storageString","obj","BaseStorageManager","LocalStorageManager","_BaseStorageManager2","localStorage","storageType","_BaseStorageManager3","CookieStorageManager","CookieStorageProvider","options","domain","sameSite","Cookies","cookieOptions","expires","path","secure","set","remove","signInParams","loginUrl","href"],"mappings":"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","file":"ocid-connect-js.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Slider\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"Slider\"] = factory(root[\"react\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__3__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport * from './react';\nexport * from './sdk';\n","export { default as LoginButton } from './LoginButton';\nexport { default as LoginCallBack } from './LoginCallBack';\nexport { default as OCConnect } from './OCConnect';\nexport * from './OCContext';","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/* eslint-disable react/no-unknown-property */\nimport React from 'react';\nimport { useOCAuth } from './OCContext';\n\nconst lightTheme = {\n background: \"#000\",\n color: \"#fff\",\n button: {\n background: \"#FFF\",\n border: \"#DDDDEB\",\n color: \"#C5C5D1\",\n colorSuccess: \"#8F8FB2\",\n },\n};\n\nconst darkTheme = {\n background: \"#fff\",\n color: \"#000\",\n button: {\n background: \"#141414\",\n border: \"#DDDDEB\",\n color: \"#FFFFFF\",\n colorSuccess: \"#ADADB8\",\n },\n};\n\nconst neutralTheme = {\n background: \"#fff\",\n color: \"#000\",\n button: {\n background: \"#F5F5F5\",\n border: \"#DDDDEB\",\n color: \"#141414\",\n colorSuccess: \"#8F8FB2\",\n },\n};\n\nconst ocBlueTheme = {\n background: \"#fff\",\n color: \"#000\",\n button: {\n background: \"#141BEB\",\n border: \"#DDDDEB\",\n color: \"#FFFFFF\",\n colorSuccess: \"#9699EB\",\n },\n};\n\nconst themes = {\n light: lightTheme,\n dark: darkTheme,\n neutral: neutralTheme,\n ocBlue: ocBlueTheme,\n};\n\nconst genStyle = ( theme, pill = false ) =>\n( {\n display: \"flex\",\n alignItems: \"center\",\n height: 44,\n width: 160,\n padding: \"10px 12px\",\n fontSize: 14,\n border: \"1px solid\",\n borderColor: theme.button.border,\n borderRadius: pill ? 40 : 8,\n background: theme.button.background,\n color: theme.button.color\n} );\n\nexport default function LoginButton ( {\n pill,\n disabled,\n theme,\n} )\n{\n const { ocAuth } = useOCAuth();\n const customTheme = themes[ theme ] || themes[ 'ocBlue' ];\n\n const loginWithRedirect = async () =>\n {\n await ocAuth.signInWithRedirect( {\n state: 'opencampus',\n } );\n };\n\n const style = genStyle( customTheme, pill );\n\n return (\n <button\n disabled={ disabled }\n onClick={ loginWithRedirect }\n style={ style }\n >\n <img alt=\"logo\" src=\"https://static.opencampus.xyz/assets/oc_logo.svg\" width=\"26px\" height=\"25px\" />\n <span style={ { marginLeft: \"10px\" } }>Connect&nbsp;<strong>OCID</strong></span>\n </button>\n );\n}","module.exports = __WEBPACK_EXTERNAL_MODULE__3__;","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport * as React from 'react';\n\nexport const OCContext = React.createContext( null );\n\nexport const useOCAuth = () => React.useContext( OCContext );\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport React, { useEffect } from 'react';\n\nimport { useOCAuth } from './OCContext';\n\nlet handledRedirect = false;\n\nconst LoginCallBack = ( { successCallback, errorCallback, customErrorComponent, customLoadingComponent } ) =>\n{\n const { isInitialized, ocAuth, authState, setAuthError } = useOCAuth();\n\n useEffect( () =>\n {\n const handleLogin = async () =>\n {\n if ( ocAuth )\n {\n try\n {\n await ocAuth.handleLoginRedirect();\n successCallback();\n } catch (e)\n {\n setAuthError(e);\n if (errorCallback)\n {\n errorCallback();\n }\n }\n }\n };\n if ( !handledRedirect )\n {\n handleLogin();\n }\n }, [ ocAuth ] );\n\n if ( isInitialized && authState.error !== undefined && !errorCallback )\n {\n return customErrorComponent ? customErrorComponent : <div>Error Logging in: { authState.error.message }</div>;\n } else\n {\n return customLoadingComponent ? (\n customLoadingComponent\n ) : (\n <div>\n <h3>Loading ......</h3>\n </div>\n );\n }\n};\n\nexport default LoginCallBack;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport React, { useEffect, useState } from 'react';\n\nimport { OCContext } from './OCContext';\nimport { OCAuthLive, OCAuthSandbox } from '../sdk/auth';\n\nconst OCConnect = ( { children, opts, sandboxMode } ) =>\n{\n const [ ocAuth, setOcAuth ] = useState();\n const [ OCId, setOCId ] = useState();\n const [ ethAddress, setEthAddress ] = useState();\n const [ authState, setAuthState ] = useState();\n const [ isInitialized, setIsInitialized ] = useState(false);\n const [ authError, setAuthError ] = useState( null );\n\n const updateAuthState = authState =>\n {\n setAuthState( authState );\n setOCId( authState.OCId );\n setEthAddress( authState.ethAddress );\n };\n\n // init sdk\n useEffect( () =>\n {\n const authSdk = sandboxMode ? new OCAuthSandbox(opts) : new OCAuthLive(opts);\n updateAuthState( authSdk.getAuthState() );\n setOcAuth( authSdk );\n setIsInitialized( true );\n }, [] );\n\n useEffect( () =>\n {\n if ( ocAuth && ocAuth.authInfoManager )\n {\n // reactively recieve update on the authstate change\n ocAuth.authInfoManager.subscribe( updateAuthState );\n return () =>\n {\n ocAuth.authInfoManager.unsubscribe( updateAuthState );\n };\n }\n }, [ ocAuth ] );\n\n return (\n <OCContext.Provider value={ { OCId, ethAddress, ocAuth, authState, authError, isInitialized, setAuthError } }>\n { children }\n </OCContext.Provider>\n );\n};\n\nexport default OCConnect;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport AuthInfoManager from './lib/AuthInfoManager';\nimport TokenManager from './lib/TokenManager';\nimport TransactionManager from './lib/TransactionManager';\nimport { getStorageClass } from './lib/StorageManager';\nimport { createPkceMeta, parseJwt, parseUrl, prepareTokenParams } from './utils';\nimport { buildAuthEndpointUrl } from './endpoints';\nimport { AuthError } from './utils/errors';\n\nexport class OCAuthCore\n{\n tokenManager;\n authInfoManager;\n transactionManager;\n redirectUri;\n loginEndPoint;\n logoutEndPoint;\n referralCode;\n\n constructor ( loginEndpoint, redirectUri, transactionManager, tokenManager, referralCode, logoutEndPoint )\n {\n this.transactionManager = transactionManager;\n this.tokenManager = tokenManager;\n this.authInfoManager = new AuthInfoManager();\n this.loginEndPoint = loginEndpoint;\n this.logoutEndPoint = logoutEndPoint;\n this.redirectUri = redirectUri;\n this.referralCode = referralCode;\n this.syncAuthInfo();\n }\n\n clearStorage ()\n {\n this.transactionManager.clear();\n this.tokenManager.clear();\n }\n\n async logout (logoutReturnTo)\n {\n this.clearStorage();\n const url = new URL(this.logoutEndPoint);\n if (logoutReturnTo) {\n url.searchParams.append('returnTo', logoutReturnTo);\n }\n window.location.assign(url.toString());\n }\n\n async signInWithRedirect ( params )\n {\n // we use ONLY code flow with PKCE, so lacks a lot of options\n // available in other OAuth SDKs.\n const paramsClone = Object.assign( {}, params );\n paramsClone.redirectUri = this.redirectUri;\n const signinParams = await prepareTokenParams( paramsClone );\n const meta = createPkceMeta( signinParams );\n this.transactionManager.save( meta );\n signinParams.referralCode = this.referralCode;\n const requestUrl = buildAuthEndpointUrl( signinParams, this.loginEndPoint );\n window.location.assign( requestUrl );\n }\n\n async handleLoginRedirect ()\n {\n const urlParams = parseUrl();\n // Again we only handle PKCE code flow\n if ( urlParams.code )\n {\n const meta = this.transactionManager.getTransactionMeta();\n const { codeVerifier } = meta;\n if ( codeVerifier )\n {\n // we used pkce mode, use it\n await this.tokenManager.exchangeTokenFromCode( urlParams.code, codeVerifier, urlParams.state );\n // clear transaction meta, coz it's completed\n this.transactionManager.clear();\n this.syncAuthInfo();\n return this.getAuthState();\n } else\n {\n throw new AuthError( 'codeVerifier not found, cannot complete flow' );\n }\n }\n\n // no code found, nothing to do \n return {};\n }\n\n isAuthenticated ()\n {\n // if both token exist and not expired\n return !this.tokenManager.hasExpired();\n }\n\n syncAuthInfo ()\n {\n if ( this.tokenManager.hasExpired() )\n {\n this.authInfoManager.clear();\n } else {\n const { edu_username, eth_address } = this.getParsedIdToken();\n this.authInfoManager.setAuthState(\n this.getAccessToken(),\n this.getIdToken(),\n edu_username,\n eth_address,\n true\n );\n }\n }\n\n getAuthState ()\n {\n return this.authInfoManager.getAuthState();\n }\n\n getStateParameter ()\n {\n return this.tokenManager.getStateParameter();\n }\n\n getIdToken ()\n {\n return this.tokenManager.getIdToken();\n }\n\n getAccessToken ()\n {\n return this.tokenManager.getAccessToken();\n }\n\n getParsedIdToken ()\n {\n // return all info in id token\n const idToken = this.tokenManager.getIdToken();\n if (idToken)\n {\n return parseJwt(idToken);\n }\n return {};\n }\n\n getParsedAccessToken ()\n {\n // return all info in access token\n const accessToken = this.tokenManager.getAccessToken();\n if (accessToken)\n {\n return parseJwt(accessToken);\n }\n return {};\n }\n\n get OCId ()\n {\n const info = this.authInfoManager.getAuthState();\n return info.OCId ?? null;\n }\n\n get ethAddress ()\n {\n const info = this.authInfoManager.getAuthState();\n return info.ethAddress ?? null;\n }\n}\n\nconst LIVE_PUBLIC_KEY = 'MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBIDHtLbgVM76SXZ4iuIjuO+ERQPnVpJzagOsZdYxFG3ZJmvfdpr/Z29SLUbdZWafrOlAVlKe1Ovf/tcH671tTw==';\nconst SANDBOX_PUBLIC_KEY = 'MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE/EymMLXd/MVYPK5r2xXQj91ZVvX3OQ+QagvR2N6lCvRVjnzmOtPRTf+u5g1RliWnmuxbV3gTm0/0VuV/40Salg==';\nexport class OCAuthLive extends OCAuthCore\n{\n constructor ( opts = {} )\n {\n const {\n tokenEndPoint: overrideTokenEndpoint,\n loginEndPoint: overrideLoginEndpoint,\n logoutEndPoint: overrideLogoutEndpoint,\n publicKey: overridePublicKey,\n redirectUri,\n referralCode,\n } = opts;\n const tokenEndpoint = overrideTokenEndpoint || 'https://api.login.opencampus.xyz/auth/token';\n const loginEndpoint = overrideLoginEndpoint || 'https://api.login.opencampus.xyz/auth/login';\n const logoutEndpoint = overrideLogoutEndpoint || 'https://api.login.opencampus.xyz/auth/logout';\n const publicKey = overridePublicKey || LIVE_PUBLIC_KEY;\n\n const storageClass = getStorageClass(opts);\n const pkceTransactionManager = new TransactionManager( storageClass );\n const tokenManager = new TokenManager( storageClass, tokenEndpoint, publicKey );\n super( loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint, false );\n }\n}\n\nexport class OCAuthSandbox extends OCAuthCore\n{\n constructor ( opts = {} )\n {\n const {\n tokenEndPoint: overrideTokenEndpoint,\n loginEndPoint: overrideLoginEndpoint,\n logoutEndPoint: overrideLogoutEndpoint,\n publicKey: overridePublicKey,\n redirectUri,\n referralCode,\n } = opts;\n const tokenEndpoint = overrideTokenEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/token';\n const loginEndpoint = overrideLoginEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/login';\n const logoutEndpoint = overrideLogoutEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/logout';\n const publicKey = overridePublicKey || SANDBOX_PUBLIC_KEY;\n\n const storageClass = getStorageClass(opts);\n const pkceTransactionManager = new TransactionManager( storageClass );\n const tokenManager = new TokenManager( storageClass, tokenEndpoint, publicKey );\n super( loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint, true );\n }\n}\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport Emitter from 'tiny-emitter';\n\nconst EVENT_AUTH_STATE_CHANGE = 'authStateChange';\n\nclass AuthInfoManager\n{\n _emmitter;\n _authState;\n\n constructor ()\n {\n this._authState = null;\n this._emitter = new Emitter();\n }\n\n setAuthState (accessToken, idToken, OCId, ethAddress, isAuthenticated)\n {\n this._authState = { accessToken, idToken, OCId, ethAddress, isAuthenticated };\n this._emitter.emit(EVENT_AUTH_STATE_CHANGE, this._authState);\n }\n\n getAuthState ()\n {\n return Object.assign({}, this._authState);\n }\n\n clear ()\n {\n this._authState = { isAuthenticated: false };\n this._emitter.emit(EVENT_AUTH_STATE_CHANGE, this._authState);\n }\n\n subscribe (handler)\n {\n this._emitter.on(EVENT_AUTH_STATE_CHANGE, handler);\n }\n\n unsubscribe (handler)\n {\n this._emitter.off(EVENT_AUTH_STATE_CHANGE, handler);\n }\n}\n\nexport default AuthInfoManager;\n","function E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n// import StorageManager from './StorageManager';\nimport { parseJwt } from '../utils';\nimport { verifyToken } from '../crypto';\nimport { AuthError } from '../utils/errors';\n\nconst TOKEN_STORAGE_NAME = 'oc-token-storage';\n\nclass TokenManager\n{\n storageManager;\n tokenExpiredAt;\n tokenEndPoint;\n publicKey;\n\n constructor ( StorageManagerClass, tokenEndPoint, publicKey )\n {\n this.storageManager = new StorageManagerClass( TOKEN_STORAGE_NAME );\n this.tokenEndPoint = tokenEndPoint;\n this.publicKey = publicKey;\n }\n\n clear ()\n {\n this.storageManager.getStorageObject().clearStorage();\n }\n\n async exchangeTokenFromCode ( accessCode, codeVerifier, state = null )\n {\n const body = { accessCode, codeVerifier };\n try\n {\n const response = await fetch( this.tokenEndPoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify( body ),\n } );\n\n const { access_token, id_token } = await response.json();\n if ( !access_token || !id_token )\n {\n throw new AuthError( 'Fail to exchange token' );\n }\n const pubKey = await this.getPublicKey();\n const tokenVerified = await verifyToken( id_token, pubKey );\n if ( !tokenVerified )\n {\n throw new AuthError( 'Unable to verify token' );\n }\n const parsedAccessToken = parseJwt( access_token );\n const storageData = Object.assign(\n {\n access_token,\n id_token,\n expired: parsedAccessToken.exp\n },\n state && { state }\n );\n this.storageManager.getStorageObject().setStorage(storageData);\n } catch ( error )\n {\n console.log( error );\n throw new AuthError( 'Token acquisition failed' );\n }\n }\n\n getStateParameter ()\n {\n return this.storageManager.getStorageObject().getItem( 'state' );\n }\n\n getIdToken ()\n {\n return this.storageManager.getStorageObject().getItem( 'id_token' );\n }\n\n getAccessToken ()\n {\n return this.storageManager.getStorageObject().getItem( 'access_token' );\n }\n\n getExpiredAt () \n {\n return this.storageManager.getStorageObject().getItem( 'expired' );\n }\n\n async getPublicKey () \n {\n return this.publicKey;\n }\n\n hasExpired ()\n {\n const expiredAt = this.getExpiredAt();\n if ( !expiredAt )\n {\n return true;\n }\n const cur = Math.round( new Date().valueOf() / 1000 );\n\n return cur >= expiredAt;\n }\n}\n\nexport default TokenManager;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport * from './urlParser';\nexport * from './prepareTokenParams';\nexport * from './createPkceMeta';\nexport * from './jwtParser';\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport const parseUrl = () => {\n const queryString = window.location.search;\n const urlParams = new URLSearchParams(queryString);\n const validParams = {};\n\n if (urlParams.has('id_token')) validParams.id_token = urlParams.get('id_token');\n if (urlParams.has('code')) validParams.code = urlParams.get('code');\n if (urlParams.has('state')) validParams.state = urlParams.get('state');\n\n return validParams;\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport PKCE from '../lib/pkce';\nimport { InvalidParamsError } from './errors';\n\nexport const prepareTokenParams = async (params) => {\n // prepare all the params needed for building the signin flow\n // mandatory redirect_uri, for now, we only allow user to set redirect_uri and state\n // again this is not a full on OIDC/OAuth flow allowing user to set all the options\n // we prepare all the rest\n const { redirectUri, state } = params;\n if (!redirectUri) {\n throw new InvalidParamsError(' No redirect uri params!');\n }\n\n // must be pkce\n const codeVerifier = PKCE.generateVerifier();\n const codeChallenge = await PKCE.computeChallenge(codeVerifier);\n\n // pack up the full set of token params needed\n const tokenParams = {\n redirectUri,\n codeVerifier,\n codeChallenge,\n codeChallengeMethod: PKCE.DEFAULT_CODE_CHALLENGE_METHOD,\n scope: 'openid',\n responseType: 'code',\n };\n\n // just filter out undefined and null, honor other falsy states\n if (state !== undefined && state !== null) {\n tokenParams.state = state;\n }\n\n return tokenParams;\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/* eslint-disable complexity, max-statements */\n\nimport { stringToBase64Url, webcrypto } from '../crypto';\n\nexport const MIN_VERIFIER_LENGTH = 43;\nexport const MAX_VERIFIER_LENGTH = 128;\nexport const DEFAULT_CODE_CHALLENGE_METHOD = 'S256';\n\nfunction dec2hex ( dec )\n{\n return ( '0' + dec.toString( 16 ) ).substr( -2 );\n}\n\nfunction getRandomString ( length )\n{\n var a = new Uint8Array( Math.ceil( length / 2 ) );\n webcrypto.getRandomValues( a );\n var str = Array.from( a, dec2hex ).join( '' );\n\n return str.slice( 0, length );\n}\n\nfunction generateVerifier ( prefix )\n{\n var verifier = prefix || '';\n if ( verifier.length < MIN_VERIFIER_LENGTH )\n {\n verifier = verifier + getRandomString( MIN_VERIFIER_LENGTH - verifier.length );\n }\n\n return encodeURIComponent( verifier ).slice( 0, MAX_VERIFIER_LENGTH );\n}\n\nfunction computeChallenge ( str )\n{\n var buffer = new TextEncoder().encode( str );\n\n return webcrypto.subtle.digest( 'SHA-256', buffer ).then( function ( arrayBuffer )\n {\n var hash = String.fromCharCode.apply( null, new Uint8Array( arrayBuffer ) );\n var b64u = stringToBase64Url( hash ); // url-safe base64 variant\n\n return b64u;\n } );\n}\n\nexport default {\n DEFAULT_CODE_CHALLENGE_METHOD,\n generateVerifier,\n computeChallenge,\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport * from './webcrypto';\nexport * from './base64';\nexport * from './verifyToken';","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n// eslint-disable-next-line no-redeclare\nconst a = function ( str )\n{\n return window.atob( str );\n};\n// eslint-disable-next-line no-redeclare\nconst b = function ( str )\n{\n return window.btoa( str );\n};\n// eslint-disable-next-line no-redeclare\nconst c = typeof crypto === 'undefined' ? null : crypto;\n\nexport { a as atob, b as btoa, c as webcrypto };\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport { atob, btoa } from './webcrypto';\n\n// converts a standard base64-encoded string to a \"url/filename safe\" variant\nexport function base64ToBase64Url ( b64 )\n{\n return b64.replace( /\\+/g, '-' ).replace( /\\//g, '_' ).replace( /=+$/, '' );\n}\n\n// converts a \"url/filename safe\" base64 string to a \"standard\" base64 string\nexport function base64UrlToBase64 ( b64u )\n{\n return b64u.replace( /-/g, '+' ).replace( /_/g, '/' );\n}\n\n// converts a string to base64 (url/filename safe variant)\nexport function stringToBase64Url ( str )\n{\n var b64 = btoa( str );\n\n return base64ToBase64Url( b64 );\n}\n\nexport function stringToBuffer ( str )\n{\n var buffer = new Uint8Array( str.length );\n for ( var i = 0; i < str.length; i++ )\n {\n buffer[ i ] = str.charCodeAt( i );\n }\n return buffer;\n}\n\nexport function base64UrlDecode ( str )\n{\n return atob( base64UrlToBase64( str ) );\n}\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\nimport { stringToBuffer, base64UrlDecode } from './base64';\nimport { webcrypto, atob } from './webcrypto';\n\nconst prepareKey = key =>\n{\n const binaryDerString = atob( key );\n return stringToBuffer( binaryDerString );\n};\n\nexport const verifyToken = async ( idToken, key ) => \n{\n var format = 'spki';\n var algo = {\n name: 'ECDSA',\n namedCurve: 'P-256',\n hash: { name: \"SHA-256\" }\n };\n var extractable = true;\n var usages = [ 'verify' ];\n const preparedKey = prepareKey( key );\n const cryptoKey = await webcrypto.subtle.importKey(\n format,\n preparedKey,\n algo,\n extractable,\n usages\n );\n\n var jwt = idToken.split( '.' );\n var payload = stringToBuffer( jwt[ 0 ] + '.' + jwt[ 1 ] );\n var b64Signature = base64UrlDecode( jwt[ 2 ] );\n var signature = stringToBuffer( b64Signature );\n\n return await webcrypto.subtle.verify(\n algo,\n cryptoKey,\n signature,\n payload\n );\n}\n\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport class InternalError extends Error {}\nexport class InvalidParamsError extends InternalError {}\nexport class AuthError extends Error {}\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport { InvalidParamsError } from './errors';\n\nexport const createPkceMeta = (signinParams) => {\n // prepare the meta that needs to be persisted in storage\n // extracted from the signinParams\n const { codeChallenge, codeVerifier, codeChallengeMethod } = signinParams;\n if (!codeChallenge || !codeVerifier || !codeChallengeMethod) {\n throw new InvalidParamsError('codeChallenge, codeVerifier & codeChallengeMethod are required');\n }\n\n return {\n codeChallenge,\n codeVerifier,\n codeChallengeMethod,\n };\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nexport const parseJwt = ( token ) =>\n{\n var base64Url = token.split( '.' )[ 1 ];\n var base64 = base64Url.replace( /-/g, '+' ).replace( /_/g, '/' );\n var jsonPayload = decodeURIComponent(\n window\n .atob( base64 )\n .split( '' )\n .map( function ( c )\n {\n return '%' + ( '00' + c.charCodeAt( 0 ).toString( 16 ) ).slice( -2 );\n } )\n .join( '' )\n );\n\n return JSON.parse( jsonPayload );\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\n// TransactionManager manages data that's stored over a \"transaction\"\n// of the login cycle\n// A transaction contains a few things that we want to carry over multiple\n// times interacting with the SDK\n// Currently just used for\n// codeChallenge, codeVerifier, codeChallengeMethod\n\nconst TRANSACTION_STORAGE_NAME = 'oc-transaction-storage';\n\nclass TransactionManager\n{\n storageManager;\n\n constructor ( StorageManagerClass )\n {\n this.storageManager = new StorageManagerClass( TRANSACTION_STORAGE_NAME );\n }\n\n // called when we start a new transaction\n clear ()\n {\n this.storageManager.getStorageObject().clearStorage();\n }\n\n save ( meta )\n {\n this.storageManager.getStorageObject().setStorage( meta );\n }\n\n getTransactionMeta ()\n {\n return this.storageManager.getStorageObject().getStorage();\n }\n\n hasActiveTransaction ()\n {\n const meta = this.storageManager.getStorageObject();\n\n return !!meta.codeChallenge && !!meta.codeVerifier;\n }\n}\n\nexport default TransactionManager;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport { InternalError } from \"../utils/errors\";\nimport { CookieStorageProvider } from \"./CookieStorageProvider\";\n\nclass SavedObject\n{\n storageProvider;\n storageName;\n\n constructor ( storageProvider, storageName )\n {\n this.storageProvider = storageProvider;\n this.storageName = storageName;\n }\n\n getItem ( key )\n {\n return this.getStorage()[ key ];\n }\n\n setItem ( key, value )\n {\n return this.updateStorage( key, value );\n }\n\n removeItem ( key )\n {\n return this.clearStorage( key );\n }\n\n getStorage ()\n {\n let storageString = this.storageProvider.getItem( this.storageName );\n storageString = storageString || '{}';\n try\n {\n return JSON.parse( storageString );\n } catch ( e )\n {\n throw new InternalError( 'Unable to parse storage string: ' + this.storageName );\n }\n }\n\n setStorage ( obj )\n {\n try\n {\n let storageString = obj ? JSON.stringify( obj ) : '{}';\n this.storageProvider.setItem( this.storageName, storageString );\n } catch ( e )\n {\n throw new Error( 'Unable to set storage: ' + this.storageName );\n }\n }\n\n clearStorage ( key )\n {\n if ( !key )\n {\n // clear all\n this.storageProvider.removeItem( this.storageName );\n\n return;\n }\n\n let obj = this.getStorage();\n delete obj[ key ];\n this.setStorage( obj );\n }\n\n updateStorage ( key, value )\n {\n let obj = this.getStorage();\n obj[ key ] = value;\n this.setStorage( obj );\n }\n}\n\nexport class BaseStorageManager\n{\n storageProvider;\n storageName;\n constructor ( storageName, storageProvider )\n {\n this.storageName = storageName;\n this.storageProvider = storageProvider;\n }\n\n getStorageObject ()\n {\n return new SavedObject( this.storageProvider, this.storageName );\n }\n}\n\nexport class LocalStorageManager extends BaseStorageManager\n{\n constructor ( storageName )\n {\n super( storageName, window.localStorage );\n }\n}\n\nexport const getStorageClass = (opts) => {\n // Only cookie support domain based storage\n if (opts.storageType === 'cookie') {\n return class CookieStorageManager extends BaseStorageManager {\n constructor ( storageName ) {\n super( storageName, new CookieStorageProvider(opts) );\n }\n }\n } else { \n return LocalStorageManager;\n }\n}","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport Cookies from 'js-cookie';\n\nexport class CookieStorageProvider {\n domain;\n sameSite;\n\n constructor(options = {}) {\n this.domain = options.domain;\n this.sameSite = options.sameSite;\n }\n\n getItem(key) {\n return Cookies.get(key);\n }\n\n setItem(key, value) {\n const cookieOptions = { \n expires: 365, \n path: '/', \n domain: this.domain\n };\n \n if (this.sameSite === true) {\n cookieOptions.sameSite = 'Strict';\n } else if (this.sameSite === false) {\n cookieOptions.sameSite = 'None';\n cookieOptions.secure = true;\n }\n\n // if sameSite is undefined or null, leave default browser behavior\n return Cookies.set(key, value, cookieOptions);\n }\n\n removeItem(key) {\n return Cookies.remove(key, { path: '/', domain: this.domain });\n }\n}\n","/*! js-cookie v3.0.5 | MIT */\n;\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (function () {\n var current = global.Cookies;\n var exports = global.Cookies = factory();\n exports.noConflict = function () { global.Cookies = current; return exports; };\n })());\n})(this, (function () { 'use strict';\n\n /* eslint-disable no-var */\n function assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n }\n /* eslint-enable no-var */\n\n /* eslint-disable no-var */\n var defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n };\n /* eslint-enable no-var */\n\n /* eslint-disable no-var */\n\n function init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n }\n\n var api = init(defaultConverter, { path: '/' });\n /* eslint-enable no-var */\n\n return api;\n\n}));\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport * from './buildAuthEndpointUrl';\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport const buildAuthEndpointUrl = ( signInParams, loginEndPoint ) =>\n{\n const loginUrl = new URL( loginEndPoint );\n loginUrl.searchParams.append( 'origin_url', window.location.href );\n loginUrl.searchParams.append( 'redirect_uri', signInParams.redirectUri );\n loginUrl.searchParams.append( 'response_type', signInParams.responseType );\n loginUrl.searchParams.append( 'scope', signInParams.scope );\n\n // pkce params\n loginUrl.searchParams.append( 'code_challenge', signInParams.codeChallenge );\n loginUrl.searchParams.append( 'code_challenge_method', signInParams.codeChallengeMethod );\n\n // as long as it is defined we will use it\n if ( signInParams.state !== undefined )\n {\n loginUrl.searchParams.append( 'state', signInParams.state );\n }\n\n // reference data for register workflow\n if ( signInParams.referralCode )\n {\n loginUrl.searchParams.append( 'ref', signInParams.referralCode );\n }\n\n return loginUrl.href;\n};\n","export * from './lib';\nexport * from './auth';\n","export { default as TokenManager } from './TokenManager';\nexport { default as TransactionManager } from './TransactionManager';\nexport * from './StorageManager';"],"sourceRoot":""}