{"version":3,"file":"InputForm.DtCUQe88.mjs","names":["_a","a","b","k","target","app","p","c","u","n","e","t","o","a","u","ue","s","pe","ye","c","h","l","r","i","d","p","useState","db","onSnapshot","query","collection","orderBy","limit","firebaseConfig","getFirestore","app","useState","useRef","useState","addDoc","collection","getFirestore"],"sources":["https:/www.gstatic.com/firebasejs/9.17.1/firebase-app.js","https:/www.gstatic.com/firebasejs/9.17.1/firebase-firestore.js","https:/framerusercontent.com/modules/DrL4J2ziB8mwDt2jOMWK/bfSRUMtAWk9Cgxrq30bW/DanmakuLayer.js","https:/framer.com/m/framer/default-utils.js","https:/framerusercontent.com/modules/o1PI5S8YtkA5bP5g4dFz/cAPMVEI6osbJ1UvICgTq/Embed.js","https:/framerusercontent.com/modules/un9IA2hQrWlRZlVkDPHp/ainaXRGEF4Aj4tjiiFS8/InputForm.js"],"sourcesContent":["/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *   http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *   http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst stringToByteArray$1 = function (str) {\r\n    // TODO(user): Use native implementations if/when available\r\n    const out = [];\r\n    let p = 0;\r\n    for (let i = 0; i < str.length; i++) {\r\n        let c = str.charCodeAt(i);\r\n        if (c < 128) {\r\n            out[p++] = c;\r\n        }\r\n        else if (c < 2048) {\r\n            out[p++] = (c >> 6) | 192;\r\n            out[p++] = (c & 63) | 128;\r\n        }\r\n        else if ((c & 0xfc00) === 0xd800 &&\r\n            i + 1 < str.length &&\r\n            (str.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\r\n            // Surrogate Pair\r\n            c = 0x10000 + ((c & 0x03ff) << 10) + (str.charCodeAt(++i) & 0x03ff);\r\n            out[p++] = (c >> 18) | 240;\r\n            out[p++] = ((c >> 12) & 63) | 128;\r\n            out[p++] = ((c >> 6) & 63) | 128;\r\n            out[p++] = (c & 63) | 128;\r\n        }\r\n        else {\r\n            out[p++] = (c >> 12) | 224;\r\n            out[p++] = ((c >> 6) & 63) | 128;\r\n            out[p++] = (c & 63) | 128;\r\n        }\r\n    }\r\n    return out;\r\n};\r\n/**\r\n * Turns an array of numbers into the string given by the concatenation of the\r\n * characters to which the numbers correspond.\r\n * @param bytes Array of numbers representing characters.\r\n * @return Stringification of the array.\r\n */\r\nconst byteArrayToString = function (bytes) {\r\n    // TODO(user): Use native implementations if/when available\r\n    const out = [];\r\n    let pos = 0, c = 0;\r\n    while (pos < bytes.length) {\r\n        const c1 = bytes[pos++];\r\n        if (c1 < 128) {\r\n            out[c++] = String.fromCharCode(c1);\r\n        }\r\n        else if (c1 > 191 && c1 < 224) {\r\n            const c2 = bytes[pos++];\r\n            out[c++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));\r\n        }\r\n        else if (c1 > 239 && c1 < 365) {\r\n            // Surrogate Pair\r\n            const c2 = bytes[pos++];\r\n            const c3 = bytes[pos++];\r\n            const c4 = bytes[pos++];\r\n            const u = (((c1 & 7) << 18) | ((c2 & 63) << 12) | ((c3 & 63) << 6) | (c4 & 63)) -\r\n                0x10000;\r\n            out[c++] = String.fromCharCode(0xd800 + (u >> 10));\r\n            out[c++] = String.fromCharCode(0xdc00 + (u & 1023));\r\n        }\r\n        else {\r\n            const c2 = bytes[pos++];\r\n            const c3 = bytes[pos++];\r\n            out[c++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\r\n        }\r\n    }\r\n    return out.join('');\r\n};\r\n// We define it as an object literal instead of a class because a class compiled down to es5 can't\r\n// be treeshaked. https://github.com/rollup/rollup/issues/1691\r\n// Static lookup maps, lazily populated by init_()\r\nconst base64 = {\r\n    /**\r\n     * Maps bytes to characters.\r\n     */\r\n    byteToCharMap_: null,\r\n    /**\r\n     * Maps characters to bytes.\r\n     */\r\n    charToByteMap_: null,\r\n    /**\r\n     * Maps bytes to websafe characters.\r\n     * @private\r\n     */\r\n    byteToCharMapWebSafe_: null,\r\n    /**\r\n     * Maps websafe characters to bytes.\r\n     * @private\r\n     */\r\n    charToByteMapWebSafe_: null,\r\n    /**\r\n     * Our default alphabet, shared between\r\n     * ENCODED_VALS and ENCODED_VALS_WEBSAFE\r\n     */\r\n    ENCODED_VALS_BASE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789',\r\n    /**\r\n     * Our default alphabet. Value 64 (=) is special; it means \"nothing.\"\r\n     */\r\n    get ENCODED_VALS() {\r\n        return this.ENCODED_VALS_BASE + '+/=';\r\n    },\r\n    /**\r\n     * Our websafe alphabet.\r\n     */\r\n    get ENCODED_VALS_WEBSAFE() {\r\n        return this.ENCODED_VALS_BASE + '-_.';\r\n    },\r\n    /**\r\n     * Whether this browser supports the atob and btoa functions. This extension\r\n     * started at Mozilla but is now implemented by many browsers. We use the\r\n     * ASSUME_* variables to avoid pulling in the full useragent detection library\r\n     * but still allowing the standard per-browser compilations.\r\n     *\r\n     */\r\n    HAS_NATIVE_SUPPORT: typeof atob === 'function',\r\n    /**\r\n     * Base64-encode an array of bytes.\r\n     *\r\n     * @param input An array of bytes (numbers with\r\n     *     value in [0, 255]) to encode.\r\n     * @param webSafe Boolean indicating we should use the\r\n     *     alternative alphabet.\r\n     * @return The base64 encoded string.\r\n     */\r\n    encodeByteArray(input, webSafe) {\r\n        if (!Array.isArray(input)) {\r\n            throw Error('encodeByteArray takes an array as a parameter');\r\n        }\r\n        this.init_();\r\n        const byteToCharMap = webSafe\r\n            ? this.byteToCharMapWebSafe_\r\n            : this.byteToCharMap_;\r\n        const output = [];\r\n        for (let i = 0; i < input.length; i += 3) {\r\n            const byte1 = input[i];\r\n            const haveByte2 = i + 1 < input.length;\r\n            const byte2 = haveByte2 ? input[i + 1] : 0;\r\n            const haveByte3 = i + 2 < input.length;\r\n            const byte3 = haveByte3 ? input[i + 2] : 0;\r\n            const outByte1 = byte1 >> 2;\r\n            const outByte2 = ((byte1 & 0x03) << 4) | (byte2 >> 4);\r\n            let outByte3 = ((byte2 & 0x0f) << 2) | (byte3 >> 6);\r\n            let outByte4 = byte3 & 0x3f;\r\n            if (!haveByte3) {\r\n                outByte4 = 64;\r\n                if (!haveByte2) {\r\n                    outByte3 = 64;\r\n                }\r\n            }\r\n            output.push(byteToCharMap[outByte1], byteToCharMap[outByte2], byteToCharMap[outByte3], byteToCharMap[outByte4]);\r\n        }\r\n        return output.join('');\r\n    },\r\n    /**\r\n     * Base64-encode a string.\r\n     *\r\n     * @param input A string to encode.\r\n     * @param webSafe If true, we should use the\r\n     *     alternative alphabet.\r\n     * @return The base64 encoded string.\r\n     */\r\n    encodeString(input, webSafe) {\r\n        // Shortcut for Mozilla browsers that implement\r\n        // a native base64 encoder in the form of \"btoa/atob\"\r\n        if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n            return btoa(input);\r\n        }\r\n        return this.encodeByteArray(stringToByteArray$1(input), webSafe);\r\n    },\r\n    /**\r\n     * Base64-decode a string.\r\n     *\r\n     * @param input to decode.\r\n     * @param webSafe True if we should use the\r\n     *     alternative alphabet.\r\n     * @return string representing the decoded value.\r\n     */\r\n    decodeString(input, webSafe) {\r\n        // Shortcut for Mozilla browsers that implement\r\n        // a native base64 encoder in the form of \"btoa/atob\"\r\n        if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n            return atob(input);\r\n        }\r\n        return byteArrayToString(this.decodeStringToByteArray(input, webSafe));\r\n    },\r\n    /**\r\n     * Base64-decode a string.\r\n     *\r\n     * In base-64 decoding, groups of four characters are converted into three\r\n     * bytes.  If the encoder did not apply padding, the input length may not\r\n     * be a multiple of 4.\r\n     *\r\n     * In this case, the last group will have fewer than 4 characters, and\r\n     * padding will be inferred.  If the group has one or two characters, it decodes\r\n     * to one byte.  If the group has three characters, it decodes to two bytes.\r\n     *\r\n     * @param input Input to decode.\r\n     * @param webSafe True if we should use the web-safe alphabet.\r\n     * @return bytes representing the decoded value.\r\n     */\r\n    decodeStringToByteArray(input, webSafe) {\r\n        this.init_();\r\n        const charToByteMap = webSafe\r\n            ? this.charToByteMapWebSafe_\r\n            : this.charToByteMap_;\r\n        const output = [];\r\n        for (let i = 0; i < input.length;) {\r\n            const byte1 = charToByteMap[input.charAt(i++)];\r\n            const haveByte2 = i < input.length;\r\n            const byte2 = haveByte2 ? charToByteMap[input.charAt(i)] : 0;\r\n            ++i;\r\n            const haveByte3 = i < input.length;\r\n            const byte3 = haveByte3 ? charToByteMap[input.charAt(i)] : 64;\r\n            ++i;\r\n            const haveByte4 = i < input.length;\r\n            const byte4 = haveByte4 ? charToByteMap[input.charAt(i)] : 64;\r\n            ++i;\r\n            if (byte1 == null || byte2 == null || byte3 == null || byte4 == null) {\r\n                throw Error();\r\n            }\r\n            const outByte1 = (byte1 << 2) | (byte2 >> 4);\r\n            output.push(outByte1);\r\n            if (byte3 !== 64) {\r\n                const outByte2 = ((byte2 << 4) & 0xf0) | (byte3 >> 2);\r\n                output.push(outByte2);\r\n                if (byte4 !== 64) {\r\n                    const outByte3 = ((byte3 << 6) & 0xc0) | byte4;\r\n                    output.push(outByte3);\r\n                }\r\n            }\r\n        }\r\n        return output;\r\n    },\r\n    /**\r\n     * Lazy static initialization function. Called before\r\n     * accessing any of the static map variables.\r\n     * @private\r\n     */\r\n    init_() {\r\n        if (!this.byteToCharMap_) {\r\n            this.byteToCharMap_ = {};\r\n            this.charToByteMap_ = {};\r\n            this.byteToCharMapWebSafe_ = {};\r\n            this.charToByteMapWebSafe_ = {};\r\n            // We want quick mappings back and forth, so we precompute two maps.\r\n            for (let i = 0; i < this.ENCODED_VALS.length; i++) {\r\n                this.byteToCharMap_[i] = this.ENCODED_VALS.charAt(i);\r\n                this.charToByteMap_[this.byteToCharMap_[i]] = i;\r\n                this.byteToCharMapWebSafe_[i] = this.ENCODED_VALS_WEBSAFE.charAt(i);\r\n                this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[i]] = i;\r\n                // Be forgiving when decoding and correctly decode both encodings.\r\n                if (i >= this.ENCODED_VALS_BASE.length) {\r\n                    this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(i)] = i;\r\n                    this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(i)] = i;\r\n                }\r\n            }\r\n        }\r\n    }\r\n};\r\n/**\r\n * URL-safe base64 encoding\r\n */\r\nconst base64Encode = function (str) {\r\n    const utf8Bytes = stringToByteArray$1(str);\r\n    return base64.encodeByteArray(utf8Bytes, true);\r\n};\r\n/**\r\n * URL-safe base64 encoding (without \".\" padding in the end).\r\n * e.g. Used in JSON Web Token (JWT) parts.\r\n */\r\nconst base64urlEncodeWithoutPadding = function (str) {\r\n    // Use base64url encoding and remove padding in the end (dot characters).\r\n    return base64Encode(str).replace(/\\./g, '');\r\n};\r\n/**\r\n * URL-safe base64 decoding\r\n *\r\n * NOTE: DO NOT use the global atob() function - it does NOT support the\r\n * base64Url variant encoding.\r\n *\r\n * @param str To be decoded\r\n * @return Decoded result, if possible\r\n */\r\nconst base64Decode = function (str) {\r\n    try {\r\n        return base64.decodeString(str, true);\r\n    }\r\n    catch (e) {\r\n        console.error('base64Decode failed: ', e);\r\n    }\r\n    return null;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *   http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Polyfill for `globalThis` object.\r\n * @returns the `globalThis` object for the given environment.\r\n * @public\r\n */\r\nfunction getGlobal() {\r\n    if (typeof self !== 'undefined') {\r\n        return self;\r\n    }\r\n    if (typeof window !== 'undefined') {\r\n        return window;\r\n    }\r\n    if (typeof global !== 'undefined') {\r\n        return global;\r\n    }\r\n    throw new Error('Unable to locate global object.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *   http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst getDefaultsFromGlobal = () => getGlobal().__FIREBASE_DEFAULTS__;\r\n/**\r\n * Attempt to read defaults from a JSON string provided to\r\n * process(.)env(.)__FIREBASE_DEFAULTS__ or a JSON file whose path is in\r\n * process(.)env(.)__FIREBASE_DEFAULTS_PATH__\r\n * The dots are in parens because certain compilers (Vite?) cannot\r\n * handle seeing that variable in comments.\r\n * See https://github.com/firebase/firebase-js-sdk/issues/6838\r\n */\r\nconst getDefaultsFromEnvVariable = () => {\r\n    if (typeof process === 'undefined' || typeof process.env === 'undefined') {\r\n        return;\r\n    }\r\n    const defaultsJsonString = process.env.__FIREBASE_DEFAULTS__;\r\n    if (defaultsJsonString) {\r\n        return JSON.parse(defaultsJsonString);\r\n    }\r\n};\r\nconst getDefaultsFromCookie = () => {\r\n    if (typeof document === 'undefined') {\r\n        return;\r\n    }\r\n    let match;\r\n    try {\r\n        match = document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/);\r\n    }\r\n    catch (e) {\r\n        // Some environments such as Angular Universal SSR have a\r\n        // `document` object but error on accessing `document.cookie`.\r\n        return;\r\n    }\r\n    const decoded = match && base64Decode(match[1]);\r\n    return decoded && JSON.parse(decoded);\r\n};\r\n/**\r\n * Get the __FIREBASE_DEFAULTS__ object. It checks in order:\r\n * (1) if such an object exists as a property of `globalThis`\r\n * (2) if such an object was provided on a shell environment variable\r\n * (3) if such an object exists in a cookie\r\n * @public\r\n */\r\nconst getDefaults = () => {\r\n    try {\r\n        return (getDefaultsFromGlobal() ||\r\n            getDefaultsFromEnvVariable() ||\r\n            getDefaultsFromCookie());\r\n    }\r\n    catch (e) {\r\n        /**\r\n         * Catch-all for being unable to get __FIREBASE_DEFAULTS__ due\r\n         * to any environment case we have not accounted for. Log to\r\n         * info instead of swallowing so we can find these unknown cases\r\n         * and add paths for them if needed.\r\n         */\r\n        console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);\r\n        return;\r\n    }\r\n};\r\n/**\r\n * Returns Firebase app config stored in the __FIREBASE_DEFAULTS__ object.\r\n * @public\r\n */\r\nconst getDefaultAppConfig = () => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.config; };\r\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *   http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass Deferred {\r\n    constructor() {\r\n        this.reject = () => { };\r\n        this.resolve = () => { };\r\n        this.promise = new Promise((resolve, reject) => {\r\n            this.resolve = resolve;\r\n            this.reject = reject;\r\n        });\r\n    }\r\n    /**\r\n     * Our API internals are not promiseified and cannot because our callback APIs have subtle expectations around\r\n     * invoking promises inline, which Promises are forbidden to do. This method accepts an optional node-style callback\r\n     * and returns a node-style callback which will resolve or reject the Deferred's promise.\r\n     */\r\n    wrapCallback(callback) {\r\n        return (error, value) => {\r\n            if (error) {\r\n                this.reject(error);\r\n            }\r\n            else {\r\n                this.resolve(value);\r\n            }\r\n            if (typeof callback === 'function') {\r\n                // Attaching noop handler just in case developer wasn't expecting\r\n                // promises\r\n                this.promise.catch(() => { });\r\n                // Some of our callbacks don't expect a value and our own tests\r\n                // assert that the parameter length is 1\r\n                if (callback.length === 1) {\r\n                    callback(error);\r\n                }\r\n                else {\r\n                    callback(error, value);\r\n                }\r\n            }\r\n        };\r\n    }\r\n}\n/**\r\n * This method checks if indexedDB is supported by current browser/service worker context\r\n * @return true if indexedDB is supported by current browser/service worker context\r\n */\r\nfunction isIndexedDBAvailable() {\r\n    try {\r\n        return typeof indexedDB === 'object';\r\n    }\r\n    catch (e) {\r\n        return false;\r\n    }\r\n}\r\n/**\r\n * This method validates browser/sw context for indexedDB by opening a dummy indexedDB database and reject\r\n * if errors occur during the database open operation.\r\n *\r\n * @throws exception if current browser/sw context can't run idb.open (ex: Safari iframe, Firefox\r\n * private browsing)\r\n */\r\nfunction validateIndexedDBOpenable() {\r\n    return new Promise((resolve, reject) => {\r\n        try {\r\n            let preExist = true;\r\n            const DB_CHECK_NAME = 'validate-browser-context-for-indexeddb-analytics-module';\r\n            const request = self.indexedDB.open(DB_CHECK_NAME);\r\n            request.onsuccess = () => {\r\n                request.result.close();\r\n                // delete database only when it doesn't pre-exist\r\n                if (!preExist) {\r\n                    self.indexedDB.deleteDatabase(DB_CHECK_NAME);\r\n                }\r\n                resolve(true);\r\n            };\r\n            request.onupgradeneeded = () => {\r\n                preExist = false;\r\n            };\r\n            request.onerror = () => {\r\n                var _a;\r\n                reject(((_a = request.error) === null || _a === void 0 ? void 0 : _a.message) || '');\r\n            };\r\n        }\r\n        catch (error) {\r\n            reject(error);\r\n        }\r\n    });\r\n}\r\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *   http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Standardized Firebase Error.\r\n *\r\n * Usage:\r\n *\r\n *   // Typescript string literals for type-safe codes\r\n *   type Err =\r\n *     'unknown' |\r\n *     'object-not-found'\r\n *     ;\r\n *\r\n *   // Closure enum for type-safe error codes\r\n *   // at-enum {string}\r\n *   var Err = {\r\n *     UNKNOWN: 'unknown',\r\n *     OBJECT_NOT_FOUND: 'object-not-found',\r\n *   }\r\n *\r\n *   let errors: Map<Err, string> = {\r\n *     'generic-error': \"Unknown error\",\r\n *     'file-not-found': \"Could not find file: {$file}\",\r\n *   };\r\n *\r\n *   // Type-safe function - must pass a valid error code as param.\r\n *   let error = new ErrorFactory<Err>('service', 'Service', errors);\r\n *\r\n *   ...\r\n *   throw error.create(Err.GENERIC);\r\n *   ...\r\n *   throw error.create(Err.FILE_NOT_FOUND, {'file': fileName});\r\n *   ...\r\n *   // Service: Could not file file: foo.txt (service/file-not-found).\r\n *\r\n *   catch (e) {\r\n *     assert(e.message === \"Could not find file: foo.txt.\");\r\n *     if ((e as FirebaseError)?.code === 'service/file-not-found') {\r\n *       console.log(\"Could not read file: \" + e['file']);\r\n *     }\r\n *   }\r\n */\r\nconst ERROR_NAME = 'FirebaseError';\r\n// Based on code from:\r\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Custom_Error_Types\r\nclass FirebaseError extends Error {\r\n    constructor(\r\n    /** The error code for this error. */\r\n    code, message, \r\n    /** Custom data for this error. */\r\n    customData) {\r\n        super(message);\r\n        this.code = code;\r\n        this.customData = customData;\r\n        /** The custom name for all FirebaseErrors. */\r\n        this.name = ERROR_NAME;\r\n        // Fix For ES5\r\n        // https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\r\n        Object.setPrototypeOf(this, FirebaseError.prototype);\r\n        // Maintains proper stack trace for where our error was thrown.\r\n        // Only available on V8.\r\n        if (Error.captureStackTrace) {\r\n            Error.captureStackTrace(this, ErrorFactory.prototype.create);\r\n        }\r\n    }\r\n}\r\nclass ErrorFactory {\r\n    constructor(service, serviceName, errors) {\r\n        this.service = service;\r\n        this.serviceName = serviceName;\r\n        this.errors = errors;\r\n    }\r\n    create(code, ...data) {\r\n        const customData = data[0] || {};\r\n        const fullCode = `${this.service}/${code}`;\r\n        const template = this.errors[code];\r\n        const message = template ? replaceTemplate(template, customData) : 'Error';\r\n        // Service Name: Error message (service/code).\r\n        const fullMessage = `${this.serviceName}: ${message} (${fullCode}).`;\r\n        const error = new FirebaseError(fullCode, fullMessage, customData);\r\n        return error;\r\n    }\r\n}\r\nfunction replaceTemplate(template, data) {\r\n    return template.replace(PATTERN, (_, key) => {\r\n        const value = data[key];\r\n        return value != null ? String(value) : `<${key}?>`;\r\n    });\r\n}\r\nconst PATTERN = /\\{\\$([^}]+)}/g;\n/**\r\n * Deep equal two objects. Support Arrays and Objects.\r\n */\r\nfunction deepEqual(a, b) {\r\n    if (a === b) {\r\n        return true;\r\n    }\r\n    const aKeys = Object.keys(a);\r\n    const bKeys = Object.keys(b);\r\n    for (const k of aKeys) {\r\n        if (!bKeys.includes(k)) {\r\n            return false;\r\n        }\r\n        const aProp = a[k];\r\n        const bProp = b[k];\r\n        if (isObject(aProp) && isObject(bProp)) {\r\n            if (!deepEqual(aProp, bProp)) {\r\n                return false;\r\n            }\r\n        }\r\n        else if (aProp !== bProp) {\r\n            return false;\r\n        }\r\n    }\r\n    for (const k of bKeys) {\r\n        if (!aKeys.includes(k)) {\r\n            return false;\r\n        }\r\n    }\r\n    return true;\r\n}\r\nfunction isObject(thing) {\r\n    return thing !== null && typeof thing === 'object';\r\n}\n\n/**\r\n * Component for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass Component {\r\n    /**\r\n     *\r\n     * @param name The public service name, e.g. app, auth, firestore, database\r\n     * @param instanceFactory Service factory responsible for creating the public interface\r\n     * @param type whether the service provided by the component is public or private\r\n     */\r\n    constructor(name, instanceFactory, type) {\r\n        this.name = name;\r\n        this.instanceFactory = instanceFactory;\r\n        this.type = type;\r\n        this.multipleInstances = false;\r\n        /**\r\n         * Properties to be added to the service namespace\r\n         */\r\n        this.serviceProps = {};\r\n        this.instantiationMode = \"LAZY\" /* InstantiationMode.LAZY */;\r\n        this.onInstanceCreated = null;\r\n    }\r\n    setInstantiationMode(mode) {\r\n        this.instantiationMode = mode;\r\n        return this;\r\n    }\r\n    setMultipleInstances(multipleInstances) {\r\n        this.multipleInstances = multipleInstances;\r\n        return this;\r\n    }\r\n    setServiceProps(props) {\r\n        this.serviceProps = props;\r\n        return this;\r\n    }\r\n    setInstanceCreatedCallback(callback) {\r\n        this.onInstanceCreated = callback;\r\n        return this;\r\n    }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *   http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DEFAULT_ENTRY_NAME$1 = '[DEFAULT]';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *   http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provider for instance for service name T, e.g. 'auth', 'auth-internal'\r\n * NameServiceMapping[T] is an alias for the type of the instance\r\n */\r\nclass Provider {\r\n    constructor(name, container) {\r\n        this.name = name;\r\n        this.container = container;\r\n        this.component = null;\r\n        this.instances = new Map();\r\n        this.instancesDeferred = new Map();\r\n        this.instancesOptions = new Map();\r\n        this.onInitCallbacks = new Map();\r\n    }\r\n    /**\r\n     * @param identifier A provider can provide mulitple instances of a service\r\n     * if this.component.multipleInstances is true.\r\n     */\r\n    get(identifier) {\r\n        // if multipleInstances is not supported, use the default name\r\n        const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n        if (!this.instancesDeferred.has(normalizedIdentifier)) {\r\n            const deferred = new Deferred();\r\n            this.instancesDeferred.set(normalizedIdentifier, deferred);\r\n            if (this.isInitialized(normalizedIdentifier) ||\r\n                this.shouldAutoInitialize()) {\r\n                // initialize the service if it can be auto-initialized\r\n                try {\r\n                    const instance = this.getOrInitializeService({\r\n                        instanceIdentifier: normalizedIdentifier\r\n                    });\r\n                    if (instance) {\r\n                        deferred.resolve(instance);\r\n                    }\r\n                }\r\n                catch (e) {\r\n                    // when the instance factory throws an exception during get(), it should not cause\r\n                    // a fatal error. We just return the unresolved promise in this case.\r\n                }\r\n            }\r\n        }\r\n        return this.instancesDeferred.get(normalizedIdentifier).promise;\r\n    }\r\n    getImmediate(options) {\r\n        var _a;\r\n        // if multipleInstances is not supported, use the default name\r\n        const normalizedIdentifier = this.normalizeInstanceIdentifier(options === null || options === void 0 ? void 0 : options.identifier);\r\n        const optional = (_a = options === null || options === void 0 ? void 0 : options.optional) !== null && _a !== void 0 ? _a : false;\r\n        if (this.isInitialized(normalizedIdentifier) ||\r\n            this.shouldAutoInitialize()) {\r\n            try {\r\n                return this.getOrInitializeService({\r\n                    instanceIdentifier: normalizedIdentifier\r\n                });\r\n            }\r\n            catch (e) {\r\n                if (optional) {\r\n                    return null;\r\n                }\r\n                else {\r\n                    throw e;\r\n                }\r\n            }\r\n        }\r\n        else {\r\n            // In case a component is not initialized and should/can not be auto-initialized at the moment, return null if the optional flag is set, or throw\r\n            if (optional) {\r\n                return null;\r\n            }\r\n            else {\r\n                throw Error(`Service ${this.name} is not available`);\r\n            }\r\n        }\r\n    }\r\n    getComponent() {\r\n        return this.component;\r\n    }\r\n    setComponent(component) {\r\n        if (component.name !== this.name) {\r\n            throw Error(`Mismatching Component ${component.name} for Provider ${this.name}.`);\r\n        }\r\n        if (this.component) {\r\n            throw Error(`Component for ${this.name} has already been provided`);\r\n        }\r\n        this.component = component;\r\n        // return early without attempting to initialize the component if the component requires explicit initialization (calling `Provider.initialize()`)\r\n        if (!this.shouldAutoInitialize()) {\r\n            return;\r\n        }\r\n        // if the service is eager, initialize the default instance\r\n        if (isComponentEager(component)) {\r\n            try {\r\n                this.getOrInitializeService({ instanceIdentifier: DEFAULT_ENTRY_NAME$1 });\r\n            }\r\n            catch (e) {\r\n                // when the instance factory for an eager Component throws an exception during the eager\r\n                // initialization, it should not cause a fatal error.\r\n                // TODO: Investigate if we need to make it configurable, because some component may want to cause\r\n                // a fatal error in this case?\r\n            }\r\n        }\r\n        // Create service instances for the pending promises and resolve them\r\n        // NOTE: if this.multipleInstances is false, only the default instance will be created\r\n        // and all promises with resolve with it regardless of the identifier.\r\n        for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n            const normalizedIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n            try {\r\n                // `getOrInitializeService()` should always return a valid instance since a component is guaranteed. use ! to make typescript happy.\r\n                const instance = this.getOrInitializeService({\r\n                    instanceIdentifier: normalizedIdentifier\r\n                });\r\n                instanceDeferred.resolve(instance);\r\n            }\r\n            catch (e) {\r\n                // when the instance factory throws an exception, it should not cause\r\n                // a fatal error. We just leave the promise unresolved.\r\n            }\r\n        }\r\n    }\r\n    clearInstance(identifier = DEFAULT_ENTRY_NAME$1) {\r\n        this.instancesDeferred.delete(identifier);\r\n        this.instancesOptions.delete(identifier);\r\n        this.instances.delete(identifier);\r\n    }\r\n    // app.delete() will call this method on every provider to delete the services\r\n    // TODO: should we mark the provider as deleted?\r\n    async delete() {\r\n        const services = Array.from(this.instances.values());\r\n        await Promise.all([\r\n            ...services\r\n                .filter(service => 'INTERNAL' in service) // legacy services\r\n                // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n                .map(service => service.INTERNAL.delete()),\r\n            ...services\r\n                .filter(service => '_delete' in service) // modularized services\r\n                // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n                .map(service => service._delete())\r\n        ]);\r\n    }\r\n    isComponentSet() {\r\n        return this.component != null;\r\n    }\r\n    isInitialized(identifier = DEFAULT_ENTRY_NAME$1) {\r\n        return this.instances.has(identifier);\r\n    }\r\n    getOptions(identifier = DEFAULT_ENTRY_NAME$1) {\r\n        return this.instancesOptions.get(identifier) || {};\r\n    }\r\n    initialize(opts = {}) {\r\n        const { options = {} } = opts;\r\n        const normalizedIdentifier = this.normalizeInstanceIdentifier(opts.instanceIdentifier);\r\n        if (this.isInitialized(normalizedIdentifier)) {\r\n            throw Error(`${this.name}(${normalizedIdentifier}) has already been initialized`);\r\n        }\r\n        if (!this.isComponentSet()) {\r\n            throw Error(`Component ${this.name} has not been registered yet`);\r\n        }\r\n        const instance = this.getOrInitializeService({\r\n            instanceIdentifier: normalizedIdentifier,\r\n            options\r\n        });\r\n        // resolve any pending promise waiting for the service instance\r\n        for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n            const normalizedDeferredIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n            if (normalizedIdentifier === normalizedDeferredIdentifier) {\r\n                instanceDeferred.resolve(instance);\r\n            }\r\n        }\r\n        return instance;\r\n    }\r\n    /**\r\n     *\r\n     * @param callback - a function that will be invoked  after the provider has been initialized by calling provider.initialize().\r\n     * The function is invoked SYNCHRONOUSLY, so it should not execute any longrunning tasks in order to not block the program.\r\n     *\r\n     * @param identifier An optional instance identifier\r\n     * @returns a function to unregister the callback\r\n     */\r\n    onInit(callback, identifier) {\r\n        var _a;\r\n        const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n        const existingCallbacks = (_a = this.onInitCallbacks.get(normalizedIdentifier)) !== null && _a !== void 0 ? _a : new Set();\r\n        existingCallbacks.add(callback);\r\n        this.onInitCallbacks.set(normalizedIdentifier, existingCallbacks);\r\n        const existingInstance = this.instances.get(normalizedIdentifier);\r\n        if (existingInstance) {\r\n            callback(existingInstance, normalizedIdentifier);\r\n        }\r\n        return () => {\r\n            existingCallbacks.delete(callback);\r\n        };\r\n    }\r\n    /**\r\n     * Invoke onInit callbacks synchronously\r\n     * @param instance the service instance`\r\n     */\r\n    invokeOnInitCallbacks(instance, identifier) {\r\n        const callbacks = this.onInitCallbacks.get(identifier);\r\n        if (!callbacks) {\r\n            return;\r\n        }\r\n        for (const callback of callbacks) {\r\n            try {\r\n                callback(instance, identifier);\r\n            }\r\n            catch (_a) {\r\n                // ignore errors in the onInit callback\r\n            }\r\n        }\r\n    }\r\n    getOrInitializeService({ instanceIdentifier, options = {} }) {\r\n        let instance = this.instances.get(instanceIdentifier);\r\n        if (!instance && this.component) {\r\n            instance = this.component.instanceFactory(this.container, {\r\n                instanceIdentifier: normalizeIdentifierForFactory(instanceIdentifier),\r\n                options\r\n            });\r\n            this.instances.set(instanceIdentifier, instance);\r\n            this.instancesOptions.set(instanceIdentifier, options);\r\n            /**\r\n             * Invoke onInit listeners.\r\n             * Note this.component.onInstanceCreated is different, which is used by the component creator,\r\n             * while onInit listeners are registered by consumers of the provider.\r\n             */\r\n            this.invokeOnInitCallbacks(instance, instanceIdentifier);\r\n            /**\r\n             * Order is important\r\n             * onInstanceCreated() should be called after this.instances.set(instanceIdentifier, instance); which\r\n             * makes `isInitialized()` return true.\r\n             */\r\n            if (this.component.onInstanceCreated) {\r\n                try {\r\n                    this.component.onInstanceCreated(this.container, instanceIdentifier, instance);\r\n                }\r\n                catch (_a) {\r\n                    // ignore errors in the onInstanceCreatedCallback\r\n                }\r\n            }\r\n        }\r\n        return instance || null;\r\n    }\r\n    normalizeInstanceIdentifier(identifier = DEFAULT_ENTRY_NAME$1) {\r\n        if (this.component) {\r\n            return this.component.multipleInstances ? identifier : DEFAULT_ENTRY_NAME$1;\r\n        }\r\n        else {\r\n            return identifier; // assume multiple instances are supported before the component is provided.\r\n        }\r\n    }\r\n    shouldAutoInitialize() {\r\n        return (!!this.component &&\r\n            this.component.instantiationMode !== \"EXPLICIT\" /* InstantiationMode.EXPLICIT */);\r\n    }\r\n}\r\n// undefined should be passed to the service factory for the default instance\r\nfunction normalizeIdentifierForFactory(identifier) {\r\n    return identifier === DEFAULT_ENTRY_NAME$1 ? undefined : identifier;\r\n}\r\nfunction isComponentEager(component) {\r\n    return component.instantiationMode === \"EAGER\" /* InstantiationMode.EAGER */;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *   http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * ComponentContainer that provides Providers for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass ComponentContainer {\r\n    constructor(name) {\r\n        this.name = name;\r\n        this.providers = new Map();\r\n    }\r\n    /**\r\n     *\r\n     * @param component Component being added\r\n     * @param overwrite When a component with the same name has already been registered,\r\n     * if overwrite is true: overwrite the existing component with the new component and create a new\r\n     * provider with the new component. It can be useful in tests where you want to use different mocks\r\n     * for different tests.\r\n     * if overwrite is false: throw an exception\r\n     */\r\n    addComponent(component) {\r\n        const provider = this.getProvider(component.name);\r\n        if (provider.isComponentSet()) {\r\n            throw new Error(`Component ${component.name} has already been registered with ${this.name}`);\r\n        }\r\n        provider.setComponent(component);\r\n    }\r\n    addOrOverwriteComponent(component) {\r\n        const provider = this.getProvider(component.name);\r\n        if (provider.isComponentSet()) {\r\n            // delete the existing provider from the container, so we can register the new component\r\n            this.providers.delete(component.name);\r\n        }\r\n        this.addComponent(component);\r\n    }\r\n    /**\r\n     * getProvider provides a type safe interface where it can only be called with a field name\r\n     * present in NameServiceMapping interface.\r\n     *\r\n     * Firebase SDKs providing services should extend NameServiceMapping interface to register\r\n     * themselves.\r\n     */\r\n    getProvider(name) {\r\n        if (this.providers.has(name)) {\r\n            return this.providers.get(name);\r\n        }\r\n        // create a Provider for a service that hasn't registered with Firebase\r\n        const provider = new Provider(name, this);\r\n        this.providers.set(name, provider);\r\n        return provider;\r\n    }\r\n    getProviders() {\r\n        return Array.from(this.providers.values());\r\n    }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *   http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * A container for all of the Logger instances\r\n */\r\nconst instances = [];\r\n/**\r\n * The JS SDK supports 5 log levels and also allows a user the ability to\r\n * silence the logs altogether.\r\n *\r\n * The order is a follows:\r\n * DEBUG < VERBOSE < INFO < WARN < ERROR\r\n *\r\n * All of the log types above the current log level will be captured (i.e. if\r\n * you set the log level to `INFO`, errors will still be logged, but `DEBUG` and\r\n * `VERBOSE` logs will not)\r\n */\r\nvar LogLevel;\r\n(function (LogLevel) {\r\n    LogLevel[LogLevel[\"DEBUG\"] = 0] = \"DEBUG\";\r\n    LogLevel[LogLevel[\"VERBOSE\"] = 1] = \"VERBOSE\";\r\n    LogLevel[LogLevel[\"INFO\"] = 2] = \"INFO\";\r\n    LogLevel[LogLevel[\"WARN\"] = 3] = \"WARN\";\r\n    LogLevel[LogLevel[\"ERROR\"] = 4] = \"ERROR\";\r\n    LogLevel[LogLevel[\"SILENT\"] = 5] = \"SILENT\";\r\n})(LogLevel || (LogLevel = {}));\r\nconst levelStringToEnum = {\r\n    'debug': LogLevel.DEBUG,\r\n    'verbose': LogLevel.VERBOSE,\r\n    'info': LogLevel.INFO,\r\n    'warn': LogLevel.WARN,\r\n    'error': LogLevel.ERROR,\r\n    'silent': LogLevel.SILENT\r\n};\r\n/**\r\n * The default log level\r\n */\r\nconst defaultLogLevel = LogLevel.INFO;\r\n/**\r\n * By default, `console.debug` is not displayed in the developer console (in\r\n * chrome). To avoid forcing users to have to opt-in to these logs twice\r\n * (i.e. once for firebase, and once in the console), we are sending `DEBUG`\r\n * logs to the `console.log` function.\r\n */\r\nconst ConsoleMethod = {\r\n    [LogLevel.DEBUG]: 'log',\r\n    [LogLevel.VERBOSE]: 'log',\r\n    [LogLevel.INFO]: 'info',\r\n    [LogLevel.WARN]: 'warn',\r\n    [LogLevel.ERROR]: 'error'\r\n};\r\n/**\r\n * The default log handler will forward DEBUG, VERBOSE, INFO, WARN, and ERROR\r\n * messages on to their corresponding console counterparts (if the log method\r\n * is supported by the current log level)\r\n */\r\nconst defaultLogHandler = (instance, logType, ...args) => {\r\n    if (logType < instance.logLevel) {\r\n        return;\r\n    }\r\n    const now = new Date().toISOString();\r\n    const method = ConsoleMethod[logType];\r\n    if (method) {\r\n        console[method](`[${now}]  ${instance.name}:`, ...args);\r\n    }\r\n    else {\r\n        throw new Error(`Attempted to log a message with an invalid logType (value: ${logType})`);\r\n    }\r\n};\r\nclass Logger {\r\n    /**\r\n     * Gives you an instance of a Logger to capture messages according to\r\n     * Firebase's logging scheme.\r\n     *\r\n     * @param name The name that the logs will be associated with\r\n     */\r\n    constructor(name) {\r\n        this.name = name;\r\n        /**\r\n         * The log level of the given Logger instance.\r\n         */\r\n        this._logLevel = defaultLogLevel;\r\n        /**\r\n         * The main (internal) log handler for the Logger instance.\r\n         * Can be set to a new function in internal package code but not by user.\r\n         */\r\n        this._logHandler = defaultLogHandler;\r\n        /**\r\n         * The optional, additional, user-defined log handler for the Logger instance.\r\n         */\r\n        this._userLogHandler = null;\r\n        /**\r\n         * Capture the current instance for later use\r\n         */\r\n        instances.push(this);\r\n    }\r\n    get logLevel() {\r\n        return this._logLevel;\r\n    }\r\n    set logLevel(val) {\r\n        if (!(val in LogLevel)) {\r\n            throw new TypeError(`Invalid value \"${val}\" assigned to \\`logLevel\\``);\r\n        }\r\n        this._logLevel = val;\r\n    }\r\n    // Workaround for setter/getter having to be the same type.\r\n    setLogLevel(val) {\r\n        this._logLevel = typeof val === 'string' ? levelStringToEnum[val] : val;\r\n    }\r\n    get logHandler() {\r\n        return this._logHandler;\r\n    }\r\n    set logHandler(val) {\r\n        if (typeof val !== 'function') {\r\n            throw new TypeError('Value assigned to `logHandler` must be a function');\r\n        }\r\n        this._logHandler = val;\r\n    }\r\n    get userLogHandler() {\r\n        return this._userLogHandler;\r\n    }\r\n    set userLogHandler(val) {\r\n        this._userLogHandler = val;\r\n    }\r\n    /**\r\n     * The functions below are all based on the `console` interface\r\n     */\r\n    debug(...args) {\r\n        this._userLogHandler && this._userLogHandler(this, LogLevel.DEBUG, ...args);\r\n        this._logHandler(this, LogLevel.DEBUG, ...args);\r\n    }\r\n    log(...args) {\r\n        this._userLogHandler &&\r\n            this._userLogHandler(this, LogLevel.VERBOSE, ...args);\r\n        this._logHandler(this, LogLevel.VERBOSE, ...args);\r\n    }\r\n    info(...args) {\r\n        this._userLogHandler && this._userLogHandler(this, LogLevel.INFO, ...args);\r\n        this._logHandler(this, LogLevel.INFO, ...args);\r\n    }\r\n    warn(...args) {\r\n        this._userLogHandler && this._userLogHandler(this, LogLevel.WARN, ...args);\r\n        this._logHandler(this, LogLevel.WARN, ...args);\r\n    }\r\n    error(...args) {\r\n        this._userLogHandler && this._userLogHandler(this, LogLevel.ERROR, ...args);\r\n        this._logHandler(this, LogLevel.ERROR, ...args);\r\n    }\r\n}\r\nfunction setLogLevel$1(level) {\r\n    instances.forEach(inst => {\r\n        inst.setLogLevel(level);\r\n    });\r\n}\r\nfunction setUserLogHandler(logCallback, options) {\r\n    for (const instance of instances) {\r\n        let customLogLevel = null;\r\n        if (options && options.level) {\r\n            customLogLevel = levelStringToEnum[options.level];\r\n        }\r\n        if (logCallback === null) {\r\n            instance.userLogHandler = null;\r\n        }\r\n        else {\r\n            instance.userLogHandler = (instance, level, ...args) => {\r\n                const message = args\r\n                    .map(arg => {\r\n                    if (arg == null) {\r\n                        return null;\r\n                    }\r\n                    else if (typeof arg === 'string') {\r\n                        return arg;\r\n                    }\r\n                    else if (typeof arg === 'number' || typeof arg === 'boolean') {\r\n                        return arg.toString();\r\n                    }\r\n                    else if (arg instanceof Error) {\r\n                        return arg.message;\r\n                    }\r\n                    else {\r\n                        try {\r\n                            return JSON.stringify(arg);\r\n                        }\r\n                        catch (ignored) {\r\n                            return null;\r\n                        }\r\n                    }\r\n                })\r\n                    .filter(arg => arg)\r\n                    .join(' ');\r\n                if (level >= (customLogLevel !== null && customLogLevel !== void 0 ? customLogLevel : instance.logLevel)) {\r\n                    logCallback({\r\n                        level: LogLevel[level].toLowerCase(),\r\n                        message,\r\n                        args,\r\n                        type: instance.name\r\n                    });\r\n                }\r\n            };\r\n        }\r\n    }\r\n}\n\nconst instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n    return (idbProxyableTypes ||\n        (idbProxyableTypes = [\n            IDBDatabase,\n            IDBObjectStore,\n            IDBIndex,\n            IDBCursor,\n            IDBTransaction,\n        ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n    return (cursorAdvanceMethods ||\n        (cursorAdvanceMethods = [\n            IDBCursor.prototype.advance,\n            IDBCursor.prototype.continue,\n            IDBCursor.prototype.continuePrimaryKey,\n        ]));\n}\nconst cursorRequestMap = new WeakMap();\nconst transactionDoneMap = new WeakMap();\nconst transactionStoreNamesMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n    const promise = new Promise((resolve, reject) => {\n        const unlisten = () => {\n            request.removeEventListener('success', success);\n            request.removeEventListener('error', error);\n        };\n        const success = () => {\n            resolve(wrap(request.result));\n            unlisten();\n        };\n        const error = () => {\n            reject(request.error);\n            unlisten();\n        };\n        request.addEventListener('success', success);\n        request.addEventListener('error', error);\n    });\n    promise\n        .then((value) => {\n        // Since cursoring reuses the IDBRequest (*sigh*), we cache it for later retrieval\n        // (see wrapFunction).\n        if (value instanceof IDBCursor) {\n            cursorRequestMap.set(value, request);\n        }\n        // Catching to avoid \"Uncaught Promise exceptions\"\n    })\n        .catch(() => { });\n    // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This\n    // is because we create many promises from a single IDBRequest.\n    reverseTransformCache.set(promise, request);\n    return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n    // Early bail if we've already created a done promise for this transaction.\n    if (transactionDoneMap.has(tx))\n        return;\n    const done = new Promise((resolve, reject) => {\n        const unlisten = () => {\n            tx.removeEventListener('complete', complete);\n            tx.removeEventListener('error', error);\n            tx.removeEventListener('abort', error);\n        };\n        const complete = () => {\n            resolve();\n            unlisten();\n        };\n        const error = () => {\n            reject(tx.error || new DOMException('AbortError', 'AbortError'));\n            unlisten();\n        };\n        tx.addEventListener('complete', complete);\n        tx.addEventListener('error', error);\n        tx.addEventListener('abort', error);\n    });\n    // Cache it for later retrieval.\n    transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n    get(target, prop, receiver) {\n        if (target instanceof IDBTransaction) {\n            // Special handling for transaction.done.\n            if (prop === 'done')\n                return transactionDoneMap.get(target);\n            // Polyfill for objectStoreNames because of Edge.\n            if (prop === 'objectStoreNames') {\n                return target.objectStoreNames || transactionStoreNamesMap.get(target);\n            }\n            // Make tx.store return the only store in the transaction, or undefined if there are many.\n            if (prop === 'store') {\n                return receiver.objectStoreNames[1]\n                    ? undefined\n                    : receiver.objectStore(receiver.objectStoreNames[0]);\n            }\n        }\n        // Else transform whatever we get back.\n        return wrap(target[prop]);\n    },\n    set(target, prop, value) {\n        target[prop] = value;\n        return true;\n    },\n    has(target, prop) {\n        if (target instanceof IDBTransaction &&\n            (prop === 'done' || prop === 'store')) {\n            return true;\n        }\n        return prop in target;\n    },\n};\nfunction replaceTraps(callback) {\n    idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n    // Due to expected object equality (which is enforced by the caching in `wrap`), we\n    // only create one new func per func.\n    // Edge doesn't support objectStoreNames (booo), so we polyfill it here.\n    if (func === IDBDatabase.prototype.transaction &&\n        !('objectStoreNames' in IDBTransaction.prototype)) {\n        return function (storeNames, ...args) {\n            const tx = func.call(unwrap(this), storeNames, ...args);\n            transactionStoreNamesMap.set(tx, storeNames.sort ? storeNames.sort() : [storeNames]);\n            return wrap(tx);\n        };\n    }\n    // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n    // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n    // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n    // with real promises, so each advance methods returns a new promise for the cursor object, or\n    // undefined if the end of the cursor has been reached.\n    if (getCursorAdvanceMethods().includes(func)) {\n        return function (...args) {\n            // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n            // the original object.\n            func.apply(unwrap(this), args);\n            return wrap(cursorRequestMap.get(this));\n        };\n    }\n    return function (...args) {\n        // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n        // the original object.\n        return wrap(func.apply(unwrap(this), args));\n    };\n}\nfunction transformCachableValue(value) {\n    if (typeof value === 'function')\n        return wrapFunction(value);\n    // This doesn't return, it just creates a 'done' promise for the transaction,\n    // which is later returned for transaction.done (see idbObjectHandler).\n    if (value instanceof IDBTransaction)\n        cacheDonePromiseForTransaction(value);\n    if (instanceOfAny(value, getIdbProxyableTypes()))\n        return new Proxy(value, idbProxyTraps);\n    // Return the same value back if we're not going to transform it.\n    return value;\n}\nfunction wrap(value) {\n    // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n    // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n    if (value instanceof IDBRequest)\n        return promisifyRequest(value);\n    // If we've already transformed this value before, reuse the transformed value.\n    // This is faster, but it also provides object equality.\n    if (transformCache.has(value))\n        return transformCache.get(value);\n    const newValue = transformCachableValue(value);\n    // Not all types are transformed.\n    // These may be primitive types, so they can't be WeakMap keys.\n    if (newValue !== value) {\n        transformCache.set(value, newValue);\n        reverseTransformCache.set(newValue, value);\n    }\n    return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n    const request = indexedDB.open(name, version);\n    const openPromise = wrap(request);\n    if (upgrade) {\n        request.addEventListener('upgradeneeded', (event) => {\n            upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction));\n        });\n    }\n    if (blocked)\n        request.addEventListener('blocked', () => blocked());\n    openPromise\n        .then((db) => {\n        if (terminated)\n            db.addEventListener('close', () => terminated());\n        if (blocking)\n            db.addEventListener('versionchange', () => blocking());\n    })\n        .catch(() => { });\n    return openPromise;\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n    if (!(target instanceof IDBDatabase &&\n        !(prop in target) &&\n        typeof prop === 'string')) {\n        return;\n    }\n    if (cachedMethods.get(prop))\n        return cachedMethods.get(prop);\n    const targetFuncName = prop.replace(/FromIndex$/, '');\n    const useIndex = prop !== targetFuncName;\n    const isWrite = writeMethods.includes(targetFuncName);\n    if (\n    // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n    !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n        !(isWrite || readMethods.includes(targetFuncName))) {\n        return;\n    }\n    const method = async function (storeName, ...args) {\n        // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n        const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n        let target = tx.store;\n        if (useIndex)\n            target = target.index(args.shift());\n        // Must reject if op rejects.\n        // If it's a write operation, must reject if tx.done rejects.\n        // Must reject with op rejection first.\n        // Must resolve with op value.\n        // Must handle both promises (no unhandled rejections)\n        return (await Promise.all([\n            target[targetFuncName](...args),\n            isWrite && tx.done,\n        ]))[0];\n    };\n    cachedMethods.set(prop, method);\n    return method;\n}\nreplaceTraps((oldTraps) => ({\n    ...oldTraps,\n    get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n    has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *   http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass PlatformLoggerServiceImpl {\r\n    constructor(container) {\r\n        this.container = container;\r\n    }\r\n    // In initial implementation, this will be called by installations on\r\n    // auth token refresh, and installations will send this string.\r\n    getPlatformInfoString() {\r\n        const providers = this.container.getProviders();\r\n        // Loop through providers and get library/version pairs from any that are\r\n        // version components.\r\n        return providers\r\n            .map(provider => {\r\n            if (isVersionServiceProvider(provider)) {\r\n                const service = provider.getImmediate();\r\n                return `${service.library}/${service.version}`;\r\n            }\r\n            else {\r\n                return null;\r\n            }\r\n        })\r\n            .filter(logString => logString)\r\n            .join(' ');\r\n    }\r\n}\r\n/**\r\n *\r\n * @param provider check if this provider provides a VersionService\r\n *\r\n * NOTE: Using Provider<'app-version'> is a hack to indicate that the provider\r\n * provides VersionService. The provider is not necessarily a 'app-version'\r\n * provider.\r\n */\r\nfunction isVersionServiceProvider(provider) {\r\n    const component = provider.getComponent();\r\n    return (component === null || component === void 0 ? void 0 : component.type) === \"VERSION\" /* ComponentType.VERSION */;\r\n}\n\nconst name$o = \"https://www.gstatic.com/firebasejs/9.17.1/firebase-app.js\";\nconst version$1 = \"0.9.3\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *   http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst logger = new Logger('https://www.gstatic.com/firebasejs/9.17.1/firebase-app.js');\n\nconst name$n = \"@firebase/app-compat\";\n\nconst name$m = \"@firebase/analytics-compat\";\n\nconst name$l = \"@firebase/analytics\";\n\nconst name$k = \"@firebase/app-check-compat\";\n\nconst name$j = \"@firebase/app-check\";\n\nconst name$i = \"@firebase/auth\";\n\nconst name$h = \"@firebase/auth-compat\";\n\nconst name$g = \"@firebase/database\";\n\nconst name$f = \"@firebase/database-compat\";\n\nconst name$e = \"@firebase/functions\";\n\nconst name$d = \"@firebase/functions-compat\";\n\nconst name$c = \"@firebase/installations\";\n\nconst name$b = \"@firebase/installations-compat\";\n\nconst name$a = \"@firebase/messaging\";\n\nconst name$9 = \"@firebase/messaging-compat\";\n\nconst name$8 = \"@firebase/performance\";\n\nconst name$7 = \"@firebase/performance-compat\";\n\nconst name$6 = \"@firebase/remote-config\";\n\nconst name$5 = \"@firebase/remote-config-compat\";\n\nconst name$4 = \"@firebase/storage\";\n\nconst name$3 = \"@firebase/storage-compat\";\n\nconst name$2 = \"@firebase/firestore\";\n\nconst name$1 = \"@firebase/firestore-compat\";\n\nconst name$p = \"firebase\";\nconst version$2 = \"9.17.1\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *   http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The default app name\r\n *\r\n * @internal\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\r\nconst PLATFORM_LOG_STRING = {\r\n    [name$o]: 'fire-core',\r\n    [name$n]: 'fire-core-compat',\r\n    [name$l]: 'fire-analytics',\r\n    [name$m]: 'fire-analytics-compat',\r\n    [name$j]: 'fire-app-check',\r\n    [name$k]: 'fire-app-check-compat',\r\n    [name$i]: 'fire-auth',\r\n    [name$h]: 'fire-auth-compat',\r\n    [name$g]: 'fire-rtdb',\r\n    [name$f]: 'fire-rtdb-compat',\r\n    [name$e]: 'fire-fn',\r\n    [name$d]: 'fire-fn-compat',\r\n    [name$c]: 'fire-iid',\r\n    [name$b]: 'fire-iid-compat',\r\n    [name$a]: 'fire-fcm',\r\n    [name$9]: 'fire-fcm-compat',\r\n    [name$8]: 'fire-perf',\r\n    [name$7]: 'fire-perf-compat',\r\n    [name$6]: 'fire-rc',\r\n    [name$5]: 'fire-rc-compat',\r\n    [name$4]: 'fire-gcs',\r\n    [name$3]: 'fire-gcs-compat',\r\n    [name$2]: 'fire-fst',\r\n    [name$1]: 'fire-fst-compat',\r\n    'fire-js': 'fire-js',\r\n    [name$p]: 'fire-js-all'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *   http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @internal\r\n */\r\nconst _apps = new Map();\r\n/**\r\n * Registered components.\r\n *\r\n * @internal\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nconst _components = new Map();\r\n/**\r\n * @param component - the component being added to this app's container\r\n *\r\n * @internal\r\n */\r\nfunction _addComponent(app, component) {\r\n    try {\r\n        app.container.addComponent(component);\r\n    }\r\n    catch (e) {\r\n        logger.debug(`Component ${component.name} failed to register with FirebaseApp ${app.name}`, e);\r\n    }\r\n}\r\n/**\r\n *\r\n * @internal\r\n */\r\nfunction _addOrOverwriteComponent(app, component) {\r\n    app.container.addOrOverwriteComponent(component);\r\n}\r\n/**\r\n *\r\n * @param component - the component to register\r\n * @returns whether or not the component is registered successfully\r\n *\r\n * @internal\r\n */\r\nfunction _registerComponent(component) {\r\n    const componentName = component.name;\r\n    if (_components.has(componentName)) {\r\n        logger.debug(`There were multiple attempts to register component ${componentName}.`);\r\n        return false;\r\n    }\r\n    _components.set(componentName, component);\r\n    // add the component to existing app instances\r\n    for (const app of _apps.values()) {\r\n        _addComponent(app, component);\r\n    }\r\n    return true;\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n *\r\n * @returns the provider for the service with the matching name\r\n *\r\n * @internal\r\n */\r\nfunction _getProvider(app, name) {\r\n    const heartbeatController = app.container\r\n        .getProvider('heartbeat')\r\n        .getImmediate({ optional: true });\r\n    if (heartbeatController) {\r\n        void heartbeatController.triggerHeartbeat();\r\n    }\r\n    return app.container.getProvider(name);\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n * @param instanceIdentifier - service instance identifier in case the service supports multiple instances\r\n *\r\n * @internal\r\n */\r\nfunction _removeServiceInstance(app, name, instanceIdentifier = DEFAULT_ENTRY_NAME) {\r\n    _getProvider(app, name).clearInstance(instanceIdentifier);\r\n}\r\n/**\r\n * Test only\r\n *\r\n * @internal\r\n */\r\nfunction _clearComponents() {\r\n    _components.clear();\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *   http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst ERRORS = {\r\n    [\"no-app\" /* AppError.NO_APP */]: \"No Firebase App '{$appName}' has been created - \" +\r\n        'call Firebase App.initializeApp()',\r\n    [\"bad-app-name\" /* AppError.BAD_APP_NAME */]: \"Illegal App name: '{$appName}\",\r\n    [\"duplicate-app\" /* AppError.DUPLICATE_APP */]: \"Firebase App named '{$appName}' already exists with different options or config\",\r\n    [\"app-deleted\" /* AppError.APP_DELETED */]: \"Firebase App named '{$appName}' already deleted\",\r\n    [\"no-options\" /* AppError.NO_OPTIONS */]: 'Need to provide options, when not being deployed to hosting via source.',\r\n    [\"invalid-app-argument\" /* AppError.INVALID_APP_ARGUMENT */]: 'firebase.{$appName}() takes either no argument or a ' +\r\n        'Firebase App instance.',\r\n    [\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */]: 'First argument to `onLog` must be null or a function.',\r\n    [\"idb-open\" /* AppError.IDB_OPEN */]: 'Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.',\r\n    [\"idb-get\" /* AppError.IDB_GET */]: 'Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.',\r\n    [\"idb-set\" /* AppError.IDB_WRITE */]: 'Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.',\r\n    [\"idb-delete\" /* AppError.IDB_DELETE */]: 'Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.'\r\n};\r\nconst ERROR_FACTORY = new ErrorFactory('app', 'Firebase', ERRORS);\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *   http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseAppImpl {\r\n    constructor(options, config, container) {\r\n        this._isDeleted = false;\r\n        this._options = Object.assign({}, options);\r\n        this._config = Object.assign({}, config);\r\n        this._name = config.name;\r\n        this._automaticDataCollectionEnabled =\r\n            config.automaticDataCollectionEnabled;\r\n        this._container = container;\r\n        this.container.addComponent(new Component('app', () => this, \"PUBLIC\" /* ComponentType.PUBLIC */));\r\n    }\r\n    get automaticDataCollectionEnabled() {\r\n        this.checkDestroyed();\r\n        return this._automaticDataCollectionEnabled;\r\n    }\r\n    set automaticDataCollectionEnabled(val) {\r\n        this.checkDestroyed();\r\n        this._automaticDataCollectionEnabled = val;\r\n    }\r\n    get name() {\r\n        this.checkDestroyed();\r\n        return this._name;\r\n    }\r\n    get options() {\r\n        this.checkDestroyed();\r\n        return this._options;\r\n    }\r\n    get config() {\r\n        this.checkDestroyed();\r\n        return this._config;\r\n    }\r\n    get container() {\r\n        return this._container;\r\n    }\r\n    get isDeleted() {\r\n        return this._isDeleted;\r\n    }\r\n    set isDeleted(val) {\r\n        this._isDeleted = val;\r\n    }\r\n    /**\r\n     * This function will throw an Error if the App has already been deleted -\r\n     * use before performing API actions on the App.\r\n     */\r\n    checkDestroyed() {\r\n        if (this.isDeleted) {\r\n            throw ERROR_FACTORY.create(\"app-deleted\" /* AppError.APP_DELETED */, { appName: this._name });\r\n        }\r\n    }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *   http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The current SDK version.\r\n *\r\n * @public\r\n */\r\nconst SDK_VERSION = version$2;\r\nfunction initializeApp(_options, rawConfig = {}) {\r\n    let options = _options;\r\n    if (typeof rawConfig !== 'object') {\r\n        const name = rawConfig;\r\n        rawConfig = { name };\r\n    }\r\n    const config = Object.assign({ name: DEFAULT_ENTRY_NAME, automaticDataCollectionEnabled: false }, rawConfig);\r\n    const name = config.name;\r\n    if (typeof name !== 'string' || !name) {\r\n        throw ERROR_FACTORY.create(\"bad-app-name\" /* AppError.BAD_APP_NAME */, {\r\n            appName: String(name)\r\n        });\r\n    }\r\n    options || (options = getDefaultAppConfig());\r\n    if (!options) {\r\n        throw ERROR_FACTORY.create(\"no-options\" /* AppError.NO_OPTIONS */);\r\n    }\r\n    const existingApp = _apps.get(name);\r\n    if (existingApp) {\r\n        // return the existing app if options and config deep equal the ones in the existing app.\r\n        if (deepEqual(options, existingApp.options) &&\r\n            deepEqual(config, existingApp.config)) {\r\n            return existingApp;\r\n        }\r\n        else {\r\n            throw ERROR_FACTORY.create(\"duplicate-app\" /* AppError.DUPLICATE_APP */, { appName: name });\r\n        }\r\n    }\r\n    const container = new ComponentContainer(name);\r\n    for (const component of _components.values()) {\r\n        container.addComponent(component);\r\n    }\r\n    const newApp = new FirebaseAppImpl(options, config, container);\r\n    _apps.set(name, newApp);\r\n    return newApp;\r\n}\r\n/**\r\n * Retrieves a {@link @firebase/app#FirebaseApp} instance.\r\n *\r\n * When called with no arguments, the default app is returned. When an app name\r\n * is provided, the app corresponding to that name is returned.\r\n *\r\n * An exception is thrown if the app being retrieved has not yet been\r\n * initialized.\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return the default app\r\n * const app = getApp();\r\n * ```\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return a named app\r\n * const otherApp = getApp(\"otherApp\");\r\n * ```\r\n *\r\n * @param name - Optional name of the app to return. If no name is\r\n *   provided, the default is `\"[DEFAULT]\"`.\r\n *\r\n * @returns The app corresponding to the provided app name.\r\n *   If no app name is provided, the default app is returned.\r\n *\r\n * @public\r\n */\r\nfunction getApp(name = DEFAULT_ENTRY_NAME) {\r\n    const app = _apps.get(name);\r\n    if (!app && name === DEFAULT_ENTRY_NAME) {\r\n        return initializeApp();\r\n    }\r\n    if (!app) {\r\n        throw ERROR_FACTORY.create(\"no-app\" /* AppError.NO_APP */, { appName: name });\r\n    }\r\n    return app;\r\n}\r\n/**\r\n * A (read-only) array of all initialized apps.\r\n * @public\r\n */\r\nfunction getApps() {\r\n    return Array.from(_apps.values());\r\n}\r\n/**\r\n * Renders this app unusable and frees the resources of all associated\r\n * services.\r\n *\r\n * @example\r\n * ```javascript\r\n * deleteApp(app)\r\n *   .then(function() {\r\n *     console.log(\"App deleted successfully\");\r\n *   })\r\n *   .catch(function(error) {\r\n *     console.log(\"Error deleting app:\", error);\r\n *   });\r\n * ```\r\n *\r\n * @public\r\n */\r\nasync function deleteApp(app) {\r\n    const name = app.name;\r\n    if (_apps.has(name)) {\r\n        _apps.delete(name);\r\n        await Promise.all(app.container\r\n            .getProviders()\r\n            .map(provider => provider.delete()));\r\n        app.isDeleted = true;\r\n    }\r\n}\r\n/**\r\n * Registers a library's name and version for platform logging purposes.\r\n * @param library - Name of 1p or 3p library (e.g. firestore, angularfire)\r\n * @param version - Current version of that library.\r\n * @param variant - Bundle variant, e.g., node, rn, etc.\r\n *\r\n * @public\r\n */\r\nfunction registerVersion(libraryKeyOrName, version, variant) {\r\n    var _a;\r\n    // TODO: We can use this check to whitelist strings when/if we set up\r\n    // a good whitelist system.\r\n    let library = (_a = PLATFORM_LOG_STRING[libraryKeyOrName]) !== null && _a !== void 0 ? _a : libraryKeyOrName;\r\n    if (variant) {\r\n        library += `-${variant}`;\r\n    }\r\n    const libraryMismatch = library.match(/\\s|\\//);\r\n    const versionMismatch = version.match(/\\s|\\//);\r\n    if (libraryMismatch || versionMismatch) {\r\n        const warning = [\r\n            `Unable to register library \"${library}\" with version \"${version}\":`\r\n        ];\r\n        if (libraryMismatch) {\r\n            warning.push(`library name \"${library}\" contains illegal characters (whitespace or \"/\")`);\r\n        }\r\n        if (libraryMismatch && versionMismatch) {\r\n            warning.push('and');\r\n        }\r\n        if (versionMismatch) {\r\n            warning.push(`version name \"${version}\" contains illegal characters (whitespace or \"/\")`);\r\n        }\r\n        logger.warn(warning.join(' '));\r\n        return;\r\n    }\r\n    _registerComponent(new Component(`${library}-version`, () => ({ library, version }), \"VERSION\" /* ComponentType.VERSION */));\r\n}\r\n/**\r\n * Sets log handler for all Firebase SDKs.\r\n * @param logCallback - An optional custom log handler that executes user code whenever\r\n * the Firebase SDK makes a logging call.\r\n *\r\n * @public\r\n */\r\nfunction onLog(logCallback, options) {\r\n    if (logCallback !== null && typeof logCallback !== 'function') {\r\n        throw ERROR_FACTORY.create(\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */);\r\n    }\r\n    setUserLogHandler(logCallback, options);\r\n}\r\n/**\r\n * Sets log level for all Firebase SDKs.\r\n *\r\n * All of the log types above the current log level are captured (i.e. if\r\n * you set the log level to `info`, errors are logged, but `debug` and\r\n * `verbose` logs are not).\r\n *\r\n * @public\r\n */\r\nfunction setLogLevel(logLevel) {\r\n    setLogLevel$1(logLevel);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *   http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DB_NAME = 'firebase-heartbeat-database';\r\nconst DB_VERSION = 1;\r\nconst STORE_NAME = 'firebase-heartbeat-store';\r\nlet dbPromise = null;\r\nfunction getDbPromise() {\r\n    if (!dbPromise) {\r\n        dbPromise = openDB(DB_NAME, DB_VERSION, {\r\n            upgrade: (db, oldVersion) => {\r\n                // We don't use 'break' in this switch statement, the fall-through\r\n                // behavior is what we want, because if there are multiple versions between\r\n                // the old version and the current version, we want ALL the migrations\r\n                // that correspond to those versions to run, not only the last one.\r\n                // eslint-disable-next-line default-case\r\n                switch (oldVersion) {\r\n                    case 0:\r\n                        db.createObjectStore(STORE_NAME);\r\n                }\r\n            }\r\n        }).catch(e => {\r\n            throw ERROR_FACTORY.create(\"idb-open\" /* AppError.IDB_OPEN */, {\r\n                originalErrorMessage: e.message\r\n            });\r\n        });\r\n    }\r\n    return dbPromise;\r\n}\r\nasync function readHeartbeatsFromIndexedDB(app) {\r\n    try {\r\n        const db = await getDbPromise();\r\n        return db\r\n            .transaction(STORE_NAME)\r\n            .objectStore(STORE_NAME)\r\n            .get(computeKey(app));\r\n    }\r\n    catch (e) {\r\n        if (e instanceof FirebaseError) {\r\n            logger.warn(e.message);\r\n        }\r\n        else {\r\n            const idbGetError = ERROR_FACTORY.create(\"idb-get\" /* AppError.IDB_GET */, {\r\n                originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n            });\r\n            logger.warn(idbGetError.message);\r\n        }\r\n    }\r\n}\r\nasync function writeHeartbeatsToIndexedDB(app, heartbeatObject) {\r\n    try {\r\n        const db = await getDbPromise();\r\n        const tx = db.transaction(STORE_NAME, 'readwrite');\r\n        const objectStore = tx.objectStore(STORE_NAME);\r\n        await objectStore.put(heartbeatObject, computeKey(app));\r\n        return tx.done;\r\n    }\r\n    catch (e) {\r\n        if (e instanceof FirebaseError) {\r\n            logger.warn(e.message);\r\n        }\r\n        else {\r\n            const idbGetError = ERROR_FACTORY.create(\"idb-set\" /* AppError.IDB_WRITE */, {\r\n                originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n            });\r\n            logger.warn(idbGetError.message);\r\n        }\r\n    }\r\n}\r\nfunction computeKey(app) {\r\n    return `${app.name}!${app.options.appId}`;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *   http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst MAX_HEADER_BYTES = 1024;\r\n// 30 days\r\nconst STORED_HEARTBEAT_RETENTION_MAX_MILLIS = 30 * 24 * 60 * 60 * 1000;\r\nclass HeartbeatServiceImpl {\r\n    constructor(container) {\r\n        this.container = container;\r\n        /**\r\n         * In-memory cache for heartbeats, used by getHeartbeatsHeader() to generate\r\n         * the header string.\r\n         * Stores one record per date. This will be consolidated into the standard\r\n         * format of one record per user agent string before being sent as a header.\r\n         * Populated from indexedDB when the controller is instantiated and should\r\n         * be kept in sync with indexedDB.\r\n         * Leave public for easier testing.\r\n         */\r\n        this._heartbeatsCache = null;\r\n        const app = this.container.getProvider('app').getImmediate();\r\n        this._storage = new HeartbeatStorageImpl(app);\r\n        this._heartbeatsCachePromise = this._storage.read().then(result => {\r\n            this._heartbeatsCache = result;\r\n            return result;\r\n        });\r\n    }\r\n    /**\r\n     * Called to report a heartbeat. The function will generate\r\n     * a HeartbeatsByUserAgent object, update heartbeatsCache, and persist it\r\n     * to IndexedDB.\r\n     * Note that we only store one heartbeat per day. So if a heartbeat for today is\r\n     * already logged, subsequent calls to this function in the same day will be ignored.\r\n     */\r\n    async triggerHeartbeat() {\r\n        const platformLogger = this.container\r\n            .getProvider('platform-logger')\r\n            .getImmediate();\r\n        // This is the \"Firebase user agent\" string from the platform logger\r\n        // service, not the browser user agent.\r\n        const agent = platformLogger.getPlatformInfoString();\r\n        const date = getUTCDateString();\r\n        if (this._heartbeatsCache === null) {\r\n            this._heartbeatsCache = await this._heartbeatsCachePromise;\r\n        }\r\n        // Do not store a heartbeat if one is already stored for this day\r\n        // or if a header has already been sent today.\r\n        if (this._heartbeatsCache.lastSentHeartbeatDate === date ||\r\n            this._heartbeatsCache.heartbeats.some(singleDateHeartbeat => singleDateHeartbeat.date === date)) {\r\n            return;\r\n        }\r\n        else {\r\n            // There is no entry for this date. Create one.\r\n            this._heartbeatsCache.heartbeats.push({ date, agent });\r\n        }\r\n        // Remove entries older than 30 days.\r\n        this._heartbeatsCache.heartbeats = this._heartbeatsCache.heartbeats.filter(singleDateHeartbeat => {\r\n            const hbTimestamp = new Date(singleDateHeartbeat.date).valueOf();\r\n            const now = Date.now();\r\n            return now - hbTimestamp <= STORED_HEARTBEAT_RETENTION_MAX_MILLIS;\r\n        });\r\n        return this._storage.overwrite(this._heartbeatsCache);\r\n    }\r\n    /**\r\n     * Returns a base64 encoded string which can be attached to the heartbeat-specific header directly.\r\n     * It also clears all heartbeats from memory as well as in IndexedDB.\r\n     *\r\n     * NOTE: Consuming product SDKs should not send the header if this method\r\n     * returns an empty string.\r\n     */\r\n    async getHeartbeatsHeader() {\r\n        if (this._heartbeatsCache === null) {\r\n            await this._heartbeatsCachePromise;\r\n        }\r\n        // If it's still null or the array is empty, there is no data to send.\r\n        if (this._heartbeatsCache === null ||\r\n            this._heartbeatsCache.heartbeats.length === 0) {\r\n            return '';\r\n        }\r\n        const date = getUTCDateString();\r\n        // Extract as many heartbeats from the cache as will fit under the size limit.\r\n        const { heartbeatsToSend, unsentEntries } = extractHeartbeatsForHeader(this._heartbeatsCache.heartbeats);\r\n        const headerString = base64urlEncodeWithoutPadding(JSON.stringify({ version: 2, heartbeats: heartbeatsToSend }));\r\n        // Store last sent date to prevent another being logged/sent for the same day.\r\n        this._heartbeatsCache.lastSentHeartbeatDate = date;\r\n        if (unsentEntries.length > 0) {\r\n            // Store any unsent entries if they exist.\r\n            this._heartbeatsCache.heartbeats = unsentEntries;\r\n            // This seems more likely than emptying the array (below) to lead to some odd state\r\n            // since the cache isn't empty and this will be called again on the next request,\r\n            // and is probably safest if we await it.\r\n            await this._storage.overwrite(this._heartbeatsCache);\r\n        }\r\n        else {\r\n            this._heartbeatsCache.heartbeats = [];\r\n            // Do not wait for this, to reduce latency.\r\n            void this._storage.overwrite(this._heartbeatsCache);\r\n        }\r\n        return headerString;\r\n    }\r\n}\r\nfunction getUTCDateString() {\r\n    const today = new Date();\r\n    // Returns date format 'YYYY-MM-DD'\r\n    return today.toISOString().substring(0, 10);\r\n}\r\nfunction extractHeartbeatsForHeader(heartbeatsCache, maxSize = MAX_HEADER_BYTES) {\r\n    // Heartbeats grouped by user agent in the standard format to be sent in\r\n    // the header.\r\n    const heartbeatsToSend = [];\r\n    // Single date format heartbeats that are not sent.\r\n    let unsentEntries = heartbeatsCache.slice();\r\n    for (const singleDateHeartbeat of heartbeatsCache) {\r\n        // Look for an existing entry with the same user agent.\r\n        const heartbeatEntry = heartbeatsToSend.find(hb => hb.agent === singleDateHeartbeat.agent);\r\n        if (!heartbeatEntry) {\r\n            // If no entry for this user agent exists, create one.\r\n            heartbeatsToSend.push({\r\n                agent: singleDateHeartbeat.agent,\r\n                dates: [singleDateHeartbeat.date]\r\n            });\r\n            if (countBytes(heartbeatsToSend) > maxSize) {\r\n                // If the header would exceed max size, remove the added heartbeat\r\n                // entry and stop adding to the header.\r\n                heartbeatsToSend.pop();\r\n                break;\r\n            }\r\n        }\r\n        else {\r\n            heartbeatEntry.dates.push(singleDateHeartbeat.date);\r\n            // If the header would exceed max size, remove the added date\r\n            // and stop adding to the header.\r\n            if (countBytes(heartbeatsToSend) > maxSize) {\r\n                heartbeatEntry.dates.pop();\r\n                break;\r\n            }\r\n        }\r\n        // Pop unsent entry from queue. (Skipped if adding the entry exceeded\r\n        // quota and the loop breaks early.)\r\n        unsentEntries = unsentEntries.slice(1);\r\n    }\r\n    return {\r\n        heartbeatsToSend,\r\n        unsentEntries\r\n    };\r\n}\r\nclass HeartbeatStorageImpl {\r\n    constructor(app) {\r\n        this.app = app;\r\n        this._canUseIndexedDBPromise = this.runIndexedDBEnvironmentCheck();\r\n    }\r\n    async runIndexedDBEnvironmentCheck() {\r\n        if (!isIndexedDBAvailable()) {\r\n            return false;\r\n        }\r\n        else {\r\n            return validateIndexedDBOpenable()\r\n                .then(() => true)\r\n                .catch(() => false);\r\n        }\r\n    }\r\n    /**\r\n     * Read all heartbeats.\r\n     */\r\n    async read() {\r\n        const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n        if (!canUseIndexedDB) {\r\n            return { heartbeats: [] };\r\n        }\r\n        else {\r\n            const idbHeartbeatObject = await readHeartbeatsFromIndexedDB(this.app);\r\n            return idbHeartbeatObject || { heartbeats: [] };\r\n        }\r\n    }\r\n    // overwrite the storage with the provided heartbeats\r\n    async overwrite(heartbeatsObject) {\r\n        var _a;\r\n        const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n        if (!canUseIndexedDB) {\r\n            return;\r\n        }\r\n        else {\r\n            const existingHeartbeatsObject = await this.read();\r\n            return writeHeartbeatsToIndexedDB(this.app, {\r\n                lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n                heartbeats: heartbeatsObject.heartbeats\r\n            });\r\n        }\r\n    }\r\n    // add heartbeats\r\n    async add(heartbeatsObject) {\r\n        var _a;\r\n        const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n        if (!canUseIndexedDB) {\r\n            return;\r\n        }\r\n        else {\r\n            const existingHeartbeatsObject = await this.read();\r\n            return writeHeartbeatsToIndexedDB(this.app, {\r\n                lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n                heartbeats: [\r\n                    ...existingHeartbeatsObject.heartbeats,\r\n                    ...heartbeatsObject.heartbeats\r\n                ]\r\n            });\r\n        }\r\n    }\r\n}\r\n/**\r\n * Calculate bytes of a HeartbeatsByUserAgent array after being wrapped\r\n * in a platform logging header JSON object, stringified, and converted\r\n * to base 64.\r\n */\r\nfunction countBytes(heartbeatsCache) {\r\n    // base64 has a restricted set of characters, all of which should be 1 byte.\r\n    return base64urlEncodeWithoutPadding(\r\n    // heartbeatsCache wrapper properties\r\n    JSON.stringify({ version: 2, heartbeats: heartbeatsCache })).length;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *   http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction registerCoreComponents(variant) {\r\n    _registerComponent(new Component('platform-logger', container => new PlatformLoggerServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n    _registerComponent(new Component('heartbeat', container => new HeartbeatServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n    // Register `app` package.\r\n    registerVersion(name$o, version$1, variant);\r\n    // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation\r\n    registerVersion(name$o, version$1, 'esm2017');\r\n    // Register platform SDK identifier (no version).\r\n    registerVersion('fire-js', '');\r\n}\n\n/**\r\n * Firebase App\r\n *\r\n * @remarks This package coordinates the communication between the different Firebase components\r\n * @packageDocumentation\r\n */\r\nregisterCoreComponents('');\n\nvar name = \"firebase\";\nvar version = \"9.17.1\";\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *   http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nregisterVersion(name, version, 'cdn');\n\nexport { FirebaseError, SDK_VERSION, DEFAULT_ENTRY_NAME as _DEFAULT_ENTRY_NAME, _addComponent, _addOrOverwriteComponent, _apps, _clearComponents, _components, _getProvider, _registerComponent, _removeServiceInstance, deleteApp, getApp, getApps, initializeApp, onLog, registerVersion, setLogLevel };\n\n//# sourceMappingURL=firebase-app.js.map\r\n","import{_registerComponent as t,registerVersion as e,_getProvider as n,getApp as s,_removeServiceInstance as r,SDK_VERSION as i}from\"https://www.gstatic.com/firebasejs/9.17.1/firebase-app.js\";const o=function(t){const e=[];let n=0;for(let s=0;s<t.length;s++){let r=t.charCodeAt(s);r<128?e[n++]=r:r<2048?(e[n++]=r>>6|192,e[n++]=63&r|128):55296==(64512&r)&&s+1<t.length&&56320==(64512&t.charCodeAt(s+1))?(r=65536+((1023&r)<<10)+(1023&t.charCodeAt(++s)),e[n++]=r>>18|240,e[n++]=r>>12&63|128,e[n++]=r>>6&63|128,e[n++]=63&r|128):(e[n++]=r>>12|224,e[n++]=r>>6&63|128,e[n++]=63&r|128)}return e},a={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+\"+/=\"},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+\"-_.\"},HAS_NATIVE_SUPPORT:\"function\"==typeof atob,encodeByteArray(t,e){if(!Array.isArray(t))throw Error(\"encodeByteArray takes an array as a parameter\");this.init_();const n=e?this.byteToCharMapWebSafe_:this.byteToCharMap_,s=[];for(let e=0;e<t.length;e+=3){const r=t[e],i=e+1<t.length,o=i?t[e+1]:0,a=e+2<t.length,u=a?t[e+2]:0,c=r>>2,h=(3&r)<<4|o>>4;let l=(15&o)<<2|u>>6,d=63&u;a||(d=64,i||(l=64)),s.push(n[c],n[h],n[l],n[d])}return s.join(\"\")},encodeString(t,e){return this.HAS_NATIVE_SUPPORT&&!e?btoa(t):this.encodeByteArray(o(t),e)},decodeString(t,e){return this.HAS_NATIVE_SUPPORT&&!e?atob(t):function(t){const e=[];let n=0,s=0;for(;n<t.length;){const r=t[n++];if(r<128)e[s++]=String.fromCharCode(r);else if(r>191&&r<224){const i=t[n++];e[s++]=String.fromCharCode((31&r)<<6|63&i)}else if(r>239&&r<365){const i=((7&r)<<18|(63&t[n++])<<12|(63&t[n++])<<6|63&t[n++])-65536;e[s++]=String.fromCharCode(55296+(i>>10)),e[s++]=String.fromCharCode(56320+(1023&i))}else{const i=t[n++],o=t[n++];e[s++]=String.fromCharCode((15&r)<<12|(63&i)<<6|63&o)}}return e.join(\"\")}(this.decodeStringToByteArray(t,e))},decodeStringToByteArray(t,e){this.init_();const n=e?this.charToByteMapWebSafe_:this.charToByteMap_,s=[];for(let e=0;e<t.length;){const r=n[t.charAt(e++)],i=e<t.length?n[t.charAt(e)]:0;++e;const o=e<t.length?n[t.charAt(e)]:64;++e;const a=e<t.length?n[t.charAt(e)]:64;if(++e,null==r||null==i||null==o||null==a)throw Error();const u=r<<2|i>>4;if(s.push(u),64!==o){const t=i<<4&240|o>>2;if(s.push(t),64!==a){const t=o<<6&192|a;s.push(t)}}}return s},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let t=0;t<this.ENCODED_VALS.length;t++)this.byteToCharMap_[t]=this.ENCODED_VALS.charAt(t),this.charToByteMap_[this.byteToCharMap_[t]]=t,this.byteToCharMapWebSafe_[t]=this.ENCODED_VALS_WEBSAFE.charAt(t),this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[t]]=t,t>=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(t)]=t,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(t)]=t)}}},u=function(t){return function(t){const e=o(t);return a.encodeByteArray(e,!0)}(t).replace(/\\./g,\"\")};const c=()=>function(){if(\"undefined\"!=typeof self)return self;if(\"undefined\"!=typeof window)return window;if(\"undefined\"!=typeof global)return global;throw new Error(\"Unable to locate global object.\")}().__FIREBASE_DEFAULTS__,h=()=>{if(\"undefined\"==typeof document)return;let t;try{t=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch(t){return}const e=t&&function(t){try{return a.decodeString(t,!0)}catch(t){console.error(\"base64Decode failed: \",t)}return null}(t[1]);return e&&JSON.parse(e)},l=()=>{try{return c()||(()=>{if(\"undefined\"==typeof process||void 0===process.env)return;const t=process.env.__FIREBASE_DEFAULTS__;return t?JSON.parse(t):void 0})()||h()}catch(t){return void console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${t}`)}},d=t=>{const e=(t=>{var e,n;return null===(n=null===(e=l())||void 0===e?void 0:e.emulatorHosts)||void 0===n?void 0:n[t]})(t);if(!e)return;const n=e.lastIndexOf(\":\");if(n<=0||n+1===e.length)throw new Error(`Invalid host ${e} with no separate hostname and port!`);const s=parseInt(e.substring(n+1),10);return\"[\"===e[0]?[e.substring(1,n-1),s]:[e.substring(0,n),s]};function f(){return\"undefined\"!=typeof navigator&&\"string\"==typeof navigator.userAgent?navigator.userAgent:\"\"}function m(){return!function(){var t;const e=null===(t=l())||void 0===t?void 0:t.forceEnvironment;if(\"node\"===e)return!0;if(\"browser\"===e)return!1;try{return\"[object process]\"===Object.prototype.toString.call(global.process)}catch(t){return!1}}()&&navigator.userAgent.includes(\"Safari\")&&!navigator.userAgent.includes(\"Chrome\")}class g extends Error{constructor(t,e,n){super(e),this.code=t,this.customData=n,this.name=\"FirebaseError\",Object.setPrototypeOf(this,g.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,p.prototype.create)}}class p{constructor(t,e,n){this.service=t,this.serviceName=e,this.errors=n}create(t,...e){const n=e[0]||{},s=`${this.service}/${t}`,r=this.errors[t],i=r?function(t,e){return t.replace(y,((t,n)=>{const s=e[n];return null!=s?String(s):`<${n}?>`}))}(r,n):\"Error\",o=`${this.serviceName}: ${i} (${s}).`;return new g(s,o,n)}}const y=/\\{\\$([^}]+)}/g;function w(t,e){if(t===e)return!0;const n=Object.keys(t),s=Object.keys(e);for(const r of n){if(!s.includes(r))return!1;const n=t[r],i=e[r];if(v(n)&&v(i)){if(!w(n,i))return!1}else if(n!==i)return!1}for(const t of s)if(!n.includes(t))return!1;return!0}function v(t){return null!==t&&\"object\"==typeof t}function I(t){return t&&t._delegate?t._delegate:t}class b{constructor(t,e,n){this.name=t,this.instanceFactory=e,this.type=n,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode=\"LAZY\",this.onInstanceCreated=null}setInstantiationMode(t){return this.instantiationMode=t,this}setMultipleInstances(t){return this.multipleInstances=t,this}setServiceProps(t){return this.serviceProps=t,this}setInstanceCreatedCallback(t){return this.onInstanceCreated=t,this}}var E;!function(t){t[t.DEBUG=0]=\"DEBUG\",t[t.VERBOSE=1]=\"VERBOSE\",t[t.INFO=2]=\"INFO\",t[t.WARN=3]=\"WARN\",t[t.ERROR=4]=\"ERROR\",t[t.SILENT=5]=\"SILENT\"}(E||(E={}));const T={debug:E.DEBUG,verbose:E.VERBOSE,info:E.INFO,warn:E.WARN,error:E.ERROR,silent:E.SILENT},S=E.INFO,_={[E.DEBUG]:\"log\",[E.VERBOSE]:\"log\",[E.INFO]:\"info\",[E.WARN]:\"warn\",[E.ERROR]:\"error\"},x=(t,e,...n)=>{if(e<t.logLevel)return;const s=(new Date).toISOString(),r=_[e];if(!r)throw new Error(`Attempted to log a message with an invalid logType (value: ${e})`);console[r](`[${s}]  ${t.name}:`,...n)};var D,A=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{},C=C||{},N=A||self;function k(){}function R(t){var e=typeof t;return\"array\"==(e=\"object\"!=e?e:t?Array.isArray(t)?\"array\":e:\"null\")||\"object\"==e&&\"number\"==typeof t.length}function L(t){var e=typeof t;return\"object\"==e&&null!=t||\"function\"==e}var M=\"closure_uid_\"+(1e9*Math.random()>>>0),F=0;function O(t,e,n){return t.call.apply(t.bind,arguments)}function V(t,e,n){if(!t)throw Error();if(2<arguments.length){var s=Array.prototype.slice.call(arguments,2);return function(){var n=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(n,s),t.apply(e,n)}}return function(){return t.apply(e,arguments)}}function P(t,e,n){return(P=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf(\"native code\")?O:V).apply(null,arguments)}function q(t,e){var n=Array.prototype.slice.call(arguments,1);return function(){var e=n.slice();return e.push.apply(e,arguments),t.apply(this,e)}}function B(t,e){function n(){}n.prototype=e.prototype,t.X=e.prototype,t.prototype=new n,t.prototype.constructor=t,t.Wb=function(t,n,s){for(var r=Array(arguments.length-2),i=2;i<arguments.length;i++)r[i-2]=arguments[i];return e.prototype[n].apply(t,r)}}function U(){this.s=this.s,this.o=this.o}U.prototype.s=!1,U.prototype.na=function(){var t;!this.s&&(this.s=!0,this.M(),0)&&(t=this,Object.prototype.hasOwnProperty.call(t,M)&&t[M]||(t[M]=++F))},U.prototype.M=function(){if(this.o)for(;this.o.length;)this.o.shift()()};const G=Array.prototype.indexOf?function(t,e){return Array.prototype.indexOf.call(t,e,void 0)}:function(t,e){if(\"string\"==typeof t)return\"string\"!=typeof e||1!=e.length?-1:t.indexOf(e,0);for(let n=0;n<t.length;n++)if(n in t&&t[n]===e)return n;return-1};function K(t){const e=t.length;if(0<e){const n=Array(e);for(let s=0;s<e;s++)n[s]=t[s];return n}return[]}function j(t,e){for(let e=1;e<arguments.length;e++){const n=arguments[e];if(R(n)){const e=t.length||0,s=n.length||0;t.length=e+s;for(let r=0;r<s;r++)t[e+r]=n[r]}else t.push(n)}}function $(t,e){this.type=t,this.g=this.target=e,this.defaultPrevented=!1}$.prototype.h=function(){this.defaultPrevented=!0};var Q=function(){if(!N.addEventListener||!Object.defineProperty)return!1;var t=!1,e=Object.defineProperty({},\"passive\",{get:function(){t=!0}});try{N.addEventListener(\"test\",k,e),N.removeEventListener(\"test\",k,e)}catch(t){}return t}();function z(t){return/^[\\s\\xa0]*$/.test(t)}var H=String.prototype.trim?function(t){return t.trim()}:function(t){return/^[\\s\\xa0]*([\\s\\S]*?)[\\s\\xa0]*$/.exec(t)[1]};function W(t,e){return t<e?-1:t>e?1:0}function Y(){var t=N.navigator;return t&&(t=t.userAgent)?t:\"\"}function X(t){return-1!=Y().indexOf(t)}function J(t){return J[\" \"](t),t}J[\" \"]=k;var Z,tt,et=X(\"Opera\"),nt=X(\"Trident\")||X(\"MSIE\"),st=X(\"Edge\"),rt=st||nt,it=X(\"Gecko\")&&!(-1!=Y().toLowerCase().indexOf(\"webkit\")&&!X(\"Edge\"))&&!(X(\"Trident\")||X(\"MSIE\"))&&!X(\"Edge\"),ot=-1!=Y().toLowerCase().indexOf(\"webkit\")&&!X(\"Edge\");function at(){var t=N.document;return t?t.documentMode:void 0}t:{var ut=\"\",ct=(tt=Y(),it?/rv:([^\\);]+)(\\)|;)/.exec(tt):st?/Edge\\/([\\d\\.]+)/.exec(tt):nt?/\\b(?:MSIE|rv)[: ]([^\\);]+)(\\)|;)/.exec(tt):ot?/WebKit\\/(\\S+)/.exec(tt):et?/(?:Version)[ \\/]?(\\S+)/.exec(tt):void 0);if(ct&&(ut=ct?ct[1]:\"\"),nt){var ht=at();if(null!=ht&&ht>parseFloat(ut)){Z=String(ht);break t}}Z=ut}var lt,dt={};function ft(){return function(t){var e=dt;return Object.prototype.hasOwnProperty.call(e,9)?e[9]:e[9]=t(9)}((function(){let t=0;const e=H(String(Z)).split(\".\"),n=H(\"9\").split(\".\"),s=Math.max(e.length,n.length);for(let o=0;0==t&&o<s;o++){var r=e[o]||\"\",i=n[o]||\"\";do{if(r=/(\\d*)(\\D*)(.*)/.exec(r)||[\"\",\"\",\"\",\"\"],i=/(\\d*)(\\D*)(.*)/.exec(i)||[\"\",\"\",\"\",\"\"],0==r[0].length&&0==i[0].length)break;t=W(0==r[1].length?0:parseInt(r[1],10),0==i[1].length?0:parseInt(i[1],10))||W(0==r[2].length,0==i[2].length)||W(r[2],i[2]),r=r[3],i=i[3]}while(0==t)}return 0<=t}))}if(N.document&&nt){var mt=at();lt=mt||(parseInt(Z,10)||void 0)}else lt=void 0;var gt=lt;function pt(t,e){if($.call(this,t?t.type:\"\"),this.relatedTarget=this.g=this.target=null,this.button=this.screenY=this.screenX=this.clientY=this.clientX=0,this.key=\"\",this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1,this.state=null,this.pointerId=0,this.pointerType=\"\",this.i=null,t){var n=this.type=t.type,s=t.changedTouches&&t.changedTouches.length?t.changedTouches[0]:null;if(this.target=t.target||t.srcElement,this.g=e,e=t.relatedTarget){if(it){t:{try{J(e.nodeName);var r=!0;break t}catch(t){}r=!1}r||(e=null)}}else\"mouseover\"==n?e=t.fromElement:\"mouseout\"==n&&(e=t.toElement);this.relatedTarget=e,s?(this.clientX=void 0!==s.clientX?s.clientX:s.pageX,this.clientY=void 0!==s.clientY?s.clientY:s.pageY,this.screenX=s.screenX||0,this.screenY=s.screenY||0):(this.clientX=void 0!==t.clientX?t.clientX:t.pageX,this.clientY=void 0!==t.clientY?t.clientY:t.pageY,this.screenX=t.screenX||0,this.screenY=t.screenY||0),this.button=t.button,this.key=t.key||\"\",this.ctrlKey=t.ctrlKey,this.altKey=t.altKey,this.shiftKey=t.shiftKey,this.metaKey=t.metaKey,this.pointerId=t.pointerId||0,this.pointerType=\"string\"==typeof t.pointerType?t.pointerType:yt[t.pointerType]||\"\",this.state=t.state,this.i=t,t.defaultPrevented&&pt.X.h.call(this)}}B(pt,$);var yt={2:\"touch\",3:\"pen\",4:\"mouse\"};pt.prototype.h=function(){pt.X.h.call(this);var t=this.i;t.preventDefault?t.preventDefault():t.returnValue=!1};var wt=\"closure_listenable_\"+(1e6*Math.random()|0),vt=0;function It(t,e,n,s,r){this.listener=t,this.proxy=null,this.src=e,this.type=n,this.capture=!!s,this.ha=r,this.key=++vt,this.ba=this.ea=!1}function bt(t){t.ba=!0,t.listener=null,t.proxy=null,t.src=null,t.ha=null}function Et(t,e,n){for(const s in t)e.call(n,t[s],s,t)}function Tt(t){const e={};for(const n in t)e[n]=t[n];return e}const St=\"constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf\".split(\" \");function _t(t,e){let n,s;for(let e=1;e<arguments.length;e++){for(n in s=arguments[e],s)t[n]=s[n];for(let e=0;e<St.length;e++)n=St[e],Object.prototype.hasOwnProperty.call(s,n)&&(t[n]=s[n])}}function xt(t){this.src=t,this.g={},this.h=0}function Dt(t,e){var n=e.type;if(n in t.g){var s,r=t.g[n],i=G(r,e);(s=0<=i)&&Array.prototype.splice.call(r,i,1),s&&(bt(e),0==t.g[n].length&&(delete t.g[n],t.h--))}}function At(t,e,n,s){for(var r=0;r<t.length;++r){var i=t[r];if(!i.ba&&i.listener==e&&i.capture==!!n&&i.ha==s)return r}return-1}xt.prototype.add=function(t,e,n,s,r){var i=t.toString();(t=this.g[i])||(t=this.g[i]=[],this.h++);var o=At(t,e,s,r);return-1<o?(e=t[o],n||(e.ea=!1)):((e=new It(e,this.src,i,!!s,r)).ea=n,t.push(e)),e};var Ct=\"closure_lm_\"+(1e6*Math.random()|0),Nt={};function kt(t,e,n,s,r){if(s&&s.once)return Lt(t,e,n,s,r);if(Array.isArray(e)){for(var i=0;i<e.length;i++)kt(t,e[i],n,s,r);return null}return n=Bt(n),t&&t[wt]?t.N(e,n,L(s)?!!s.capture:!!s,r):Rt(t,e,n,!1,s,r)}function Rt(t,e,n,s,r,i){if(!e)throw Error(\"Invalid event type\");var o=L(r)?!!r.capture:!!r,a=Pt(t);if(a||(t[Ct]=a=new xt(t)),(n=a.add(e,n,s,o,i)).proxy)return n;if(s=function(){function t(n){return e.call(t.src,t.listener,n)}const e=Vt;return t}(),n.proxy=s,s.src=t,s.listener=n,t.addEventListener)Q||(r=o),void 0===r&&(r=!1),t.addEventListener(e.toString(),s,r);else if(t.attachEvent)t.attachEvent(Ot(e.toString()),s);else{if(!t.addListener||!t.removeListener)throw Error(\"addEventListener and attachEvent are unavailable.\");t.addListener(s)}return n}function Lt(t,e,n,s,r){if(Array.isArray(e)){for(var i=0;i<e.length;i++)Lt(t,e[i],n,s,r);return null}return n=Bt(n),t&&t[wt]?t.O(e,n,L(s)?!!s.capture:!!s,r):Rt(t,e,n,!0,s,r)}function Mt(t,e,n,s,r){if(Array.isArray(e))for(var i=0;i<e.length;i++)Mt(t,e[i],n,s,r);else s=L(s)?!!s.capture:!!s,n=Bt(n),t&&t[wt]?(t=t.i,(e=String(e).toString())in t.g&&(-1<(n=At(i=t.g[e],n,s,r))&&(bt(i[n]),Array.prototype.splice.call(i,n,1),0==i.length&&(delete t.g[e],t.h--)))):t&&(t=Pt(t))&&(e=t.g[e.toString()],t=-1,e&&(t=At(e,n,s,r)),(n=-1<t?e[t]:null)&&Ft(n))}function Ft(t){if(\"number\"!=typeof t&&t&&!t.ba){var e=t.src;if(e&&e[wt])Dt(e.i,t);else{var n=t.type,s=t.proxy;e.removeEventListener?e.removeEventListener(n,s,t.capture):e.detachEvent?e.detachEvent(Ot(n),s):e.addListener&&e.removeListener&&e.removeListener(s),(n=Pt(e))?(Dt(n,t),0==n.h&&(n.src=null,e[Ct]=null)):bt(t)}}}function Ot(t){return t in Nt?Nt[t]:Nt[t]=\"on\"+t}function Vt(t,e){if(t.ba)t=!0;else{e=new pt(e,this);var n=t.listener,s=t.ha||t.src;t.ea&&Ft(t),t=n.call(s,e)}return t}function Pt(t){return(t=t[Ct])instanceof xt?t:null}var qt=\"__closure_events_fn_\"+(1e9*Math.random()>>>0);function Bt(t){return\"function\"==typeof t?t:(t[qt]||(t[qt]=function(e){return t.handleEvent(e)}),t[qt])}function Ut(){U.call(this),this.i=new xt(this),this.P=this,this.I=null}function Gt(t,e){var n,s=t.I;if(s)for(n=[];s;s=s.I)n.push(s);if(t=t.P,s=e.type||e,\"string\"==typeof e)e=new $(e,t);else if(e instanceof $)e.target=e.target||t;else{var r=e;_t(e=new $(s,t),r)}if(r=!0,n)for(var i=n.length-1;0<=i;i--){var o=e.g=n[i];r=Kt(o,s,!0,e)&&r}if(r=Kt(o=e.g=t,s,!0,e)&&r,r=Kt(o,s,!1,e)&&r,n)for(i=0;i<n.length;i++)r=Kt(o=e.g=n[i],s,!1,e)&&r}function Kt(t,e,n,s){if(!(e=t.i.g[String(e)]))return!0;e=e.concat();for(var r=!0,i=0;i<e.length;++i){var o=e[i];if(o&&!o.ba&&o.capture==n){var a=o.listener,u=o.ha||o.src;o.ea&&Dt(t.i,o),r=!1!==a.call(u,s)&&r}}return r&&!s.defaultPrevented}B(Ut,U),Ut.prototype[wt]=!0,Ut.prototype.removeEventListener=function(t,e,n,s){Mt(this,t,e,n,s)},Ut.prototype.M=function(){if(Ut.X.M.call(this),this.i){var t,e=this.i;for(t in e.g){for(var n=e.g[t],s=0;s<n.length;s++)bt(n[s]);delete e.g[t],e.h--}}this.I=null},Ut.prototype.N=function(t,e,n,s){return this.i.add(String(t),e,!1,n,s)},Ut.prototype.O=function(t,e,n,s){return this.i.add(String(t),e,!0,n,s)};var jt=N.JSON.stringify;function $t(){var t=Jt;let e=null;return t.g&&(e=t.g,t.g=t.g.next,t.g||(t.h=null),e.next=null),e}var Qt,zt=new class{constructor(t,e){this.i=t,this.j=e,this.h=0,this.g=null}get(){let t;return 0<this.h?(this.h--,t=this.g,this.g=t.next,t.next=null):t=this.i(),t}}((()=>new Ht),(t=>t.reset()));class Ht{constructor(){this.next=this.g=this.h=null}set(t,e){this.h=t,this.g=e,this.next=null}reset(){this.next=this.g=this.h=null}}function Wt(t){N.setTimeout((()=>{throw t}),0)}function Yt(t,e){Qt||function(){var t=N.Promise.resolve(void 0);Qt=function(){t.then(Zt)}}(),Xt||(Qt(),Xt=!0),Jt.add(t,e)}var Xt=!1,Jt=new class{constructor(){this.h=this.g=null}add(t,e){const n=zt.get();n.set(t,e),this.h?this.h.next=n:this.g=n,this.h=n}};function Zt(){for(var t;t=$t();){try{t.h.call(t.g)}catch(t){Wt(t)}var e=zt;e.j(t),100>e.h&&(e.h++,t.next=e.g,e.g=t)}Xt=!1}function te(t,e){Ut.call(this),this.h=t||1,this.g=e||N,this.j=P(this.lb,this),this.l=Date.now()}function ee(t){t.ca=!1,t.R&&(t.g.clearTimeout(t.R),t.R=null)}function ne(t,e,n){if(\"function\"==typeof t)n&&(t=P(t,n));else{if(!t||\"function\"!=typeof t.handleEvent)throw Error(\"Invalid listener argument\");t=P(t.handleEvent,t)}return 2147483647<Number(e)?-1:N.setTimeout(t,e||0)}function se(t){t.g=ne((()=>{t.g=null,t.i&&(t.i=!1,se(t))}),t.j);const e=t.h;t.h=null,t.m.apply(null,e)}B(te,Ut),(D=te.prototype).ca=!1,D.R=null,D.lb=function(){if(this.ca){var t=Date.now()-this.l;0<t&&t<.8*this.h?this.R=this.g.setTimeout(this.j,this.h-t):(this.R&&(this.g.clearTimeout(this.R),this.R=null),Gt(this,\"tick\"),this.ca&&(ee(this),this.start()))}},D.start=function(){this.ca=!0,this.R||(this.R=this.g.setTimeout(this.j,this.h),this.l=Date.now())},D.M=function(){te.X.M.call(this),ee(this),delete this.g};class re extends U{constructor(t,e){super(),this.m=t,this.j=e,this.h=null,this.i=!1,this.g=null}l(t){this.h=arguments,this.g?this.i=!0:se(this)}M(){super.M(),this.g&&(N.clearTimeout(this.g),this.g=null,this.i=!1,this.h=null)}}function ie(t){U.call(this),this.h=t,this.g={}}B(ie,U);var oe=[];function ae(t,e,n,s){Array.isArray(n)||(n&&(oe[0]=n.toString()),n=oe);for(var r=0;r<n.length;r++){var i=kt(e,n[r],s||t.handleEvent,!1,t.h||t);if(!i)break;t.g[i.key]=i}}function ue(t){Et(t.g,(function(t,e){this.g.hasOwnProperty(e)&&Ft(t)}),t),t.g={}}function ce(){this.g=!0}function he(t,e,n,s){t.info((function(){return\"XMLHTTP TEXT (\"+e+\"): \"+function(t,e){if(!t.g)return e;if(!e)return null;try{var n=JSON.parse(e);if(n)for(t=0;t<n.length;t++)if(Array.isArray(n[t])){var s=n[t];if(!(2>s.length)){var r=s[1];if(Array.isArray(r)&&!(1>r.length)){var i=r[0];if(\"noop\"!=i&&\"stop\"!=i&&\"close\"!=i)for(var o=1;o<r.length;o++)r[o]=\"\"}}}return jt(n)}catch(t){return e}}(t,n)+(s?\" \"+s:\"\")}))}ie.prototype.M=function(){ie.X.M.call(this),ue(this)},ie.prototype.handleEvent=function(){throw Error(\"EventHandler.handleEvent not implemented\")},ce.prototype.Aa=function(){this.g=!1},ce.prototype.info=function(){};var le={},de=null;function fe(){return de=de||new Ut}function me(t){$.call(this,le.Pa,t)}function ge(t){const e=fe();Gt(e,new me(e))}function pe(t,e){$.call(this,le.STAT_EVENT,t),this.stat=e}function ye(t){const e=fe();Gt(e,new pe(e,t))}function we(t,e){$.call(this,le.Qa,t),this.size=e}function ve(t,e){if(\"function\"!=typeof t)throw Error(\"Fn must not be null and must be a function\");return N.setTimeout((function(){t()}),e)}le.Pa=\"serverreachability\",B(me,$),le.STAT_EVENT=\"statevent\",B(pe,$),le.Qa=\"timingevent\",B(we,$);var Ie={NO_ERROR:0,mb:1,zb:2,yb:3,tb:4,xb:5,Ab:6,Ma:7,TIMEOUT:8,Db:9},be={rb:\"complete\",Nb:\"success\",Na:\"error\",Ma:\"abort\",Fb:\"ready\",Gb:\"readystatechange\",TIMEOUT:\"timeout\",Bb:\"incrementaldata\",Eb:\"progress\",ub:\"downloadprogress\",Vb:\"uploadprogress\"};function Ee(){}function Te(t){return t.h||(t.h=t.i())}function Se(){}Ee.prototype.h=null;var _e,xe={OPEN:\"a\",qb:\"b\",Na:\"c\",Cb:\"d\"};function De(){$.call(this,\"d\")}function Ae(){$.call(this,\"c\")}function Ce(){}function Ne(t,e,n,s){this.l=t,this.j=e,this.m=n,this.U=s||1,this.S=new ie(this),this.O=Re,t=rt?125:void 0,this.T=new te(t),this.H=null,this.i=!1,this.s=this.A=this.v=this.K=this.F=this.V=this.B=null,this.D=[],this.g=null,this.C=0,this.o=this.u=null,this.Y=-1,this.I=!1,this.N=0,this.L=null,this.$=this.J=this.Z=this.P=!1,this.h=new ke}function ke(){this.i=null,this.g=\"\",this.h=!1}B(De,$),B(Ae,$),B(Ce,Ee),Ce.prototype.g=function(){return new XMLHttpRequest},Ce.prototype.i=function(){return{}},_e=new Ce;var Re=45e3,Le={},Me={};function Fe(t,e,n){t.K=1,t.v=tn(We(e)),t.s=n,t.P=!0,Oe(t,null)}function Oe(t,e){t.F=Date.now(),Be(t),t.A=We(t.v);var n=t.A,s=t.U;Array.isArray(s)||(s=[String(s)]),mn(n.i,\"t\",s),t.C=0,n=t.l.H,t.h=new ke,t.g=fs(t.l,n?e:null,!t.s),0<t.N&&(t.L=new re(P(t.La,t,t.g),t.N)),ae(t.S,t.g,\"readystatechange\",t.ib),e=t.H?Tt(t.H):{},t.s?(t.u||(t.u=\"POST\"),e[\"Content-Type\"]=\"application/x-www-form-urlencoded\",t.g.da(t.A,t.u,t.s,e)):(t.u=\"GET\",t.g.da(t.A,t.u,null,e)),ge(),function(t,e,n,s,r,i){t.info((function(){if(t.g)if(i)for(var o=\"\",a=i.split(\"&\"),u=0;u<a.length;u++){var c=a[u].split(\"=\");if(1<c.length){var h=c[0];c=c[1];var l=h.split(\"_\");o=2<=l.length&&\"type\"==l[1]?o+(h+\"=\")+c+\"&\":o+(h+\"=redacted&\")}}else o=null;else o=i;return\"XMLHTTP REQ (\"+s+\") [attempt \"+r+\"]: \"+e+\"\\n\"+n+\"\\n\"+o}))}(t.j,t.u,t.A,t.m,t.U,t.s)}function Ve(t){return!!t.g&&(\"GET\"==t.u&&2!=t.K&&t.l.Da)}function Pe(t,e,n){let s,r=!0;for(;!t.I&&t.C<n.length;){if(s=qe(t,n),s==Me){4==e&&(t.o=4,ye(14),r=!1),he(t.j,t.m,null,\"[Incomplete Response]\");break}if(s==Le){t.o=4,ye(15),he(t.j,t.m,n,\"[Invalid Chunk]\"),r=!1;break}he(t.j,t.m,s,null),$e(t,s)}Ve(t)&&s!=Me&&s!=Le&&(t.h.g=\"\",t.C=0),4!=e||0!=n.length||t.h.h||(t.o=1,ye(16),r=!1),t.i=t.i&&r,r?0<n.length&&!t.$&&(t.$=!0,(e=t.l).g==t&&e.$&&!e.K&&(e.j.info(\"Great, no buffering proxy detected. Bytes received: \"+n.length),is(e),e.K=!0,ye(11))):(he(t.j,t.m,n,\"[Invalid Chunked Response]\"),je(t),Ke(t))}function qe(t,e){var n=t.C,s=e.indexOf(\"\\n\",n);return-1==s?Me:(n=Number(e.substring(n,s)),isNaN(n)?Le:(s+=1)+n>e.length?Me:(e=e.substr(s,n),t.C=s+n,e))}function Be(t){t.V=Date.now()+t.O,Ue(t,t.O)}function Ue(t,e){if(null!=t.B)throw Error(\"WatchDog timer not null\");t.B=ve(P(t.gb,t),e)}function Ge(t){t.B&&(N.clearTimeout(t.B),t.B=null)}function Ke(t){0==t.l.G||t.I||us(t.l,t)}function je(t){Ge(t);var e=t.L;e&&\"function\"==typeof e.na&&e.na(),t.L=null,ee(t.T),ue(t.S),t.g&&(e=t.g,t.g=null,e.abort(),e.na())}function $e(t,e){try{var n=t.l;if(0!=n.G&&(n.g==t||In(n.h,t)))if(!t.J&&In(n.h,t)&&3==n.G){try{var s=n.Fa.g.parse(e)}catch(t){s=null}if(Array.isArray(s)&&3==s.length){var r=s;if(0==r[0]){t:if(!n.u){if(n.g){if(!(n.g.F+3e3<t.F))break t;as(n),Xn(n)}rs(n),ye(18)}}else n.Ba=r[1],0<n.Ba-n.T&&37500>r[2]&&n.L&&0==n.A&&!n.v&&(n.v=ve(P(n.cb,n),6e3));if(1>=vn(n.h)&&n.ja){try{n.ja()}catch(t){}n.ja=void 0}}else hs(n,11)}else if((t.J||n.g==t)&&as(n),!z(e))for(r=n.Fa.g.parse(e),e=0;e<r.length;e++){let c=r[e];if(n.T=c[0],c=c[1],2==n.G)if(\"c\"==c[0]){n.I=c[1],n.ka=c[2];const e=c[3];null!=e&&(n.ma=e,n.j.info(\"VER=\"+n.ma));const r=c[4];null!=r&&(n.Ca=r,n.j.info(\"SVER=\"+n.Ca));const h=c[5];null!=h&&\"number\"==typeof h&&0<h&&(s=1.5*h,n.J=s,n.j.info(\"backChannelRequestTimeoutMs_=\"+s)),s=n;const l=t.g;if(l){const t=l.g?l.g.getResponseHeader(\"X-Client-Wire-Protocol\"):null;if(t){var i=s.h;i.g||-1==t.indexOf(\"spdy\")&&-1==t.indexOf(\"quic\")&&-1==t.indexOf(\"h2\")||(i.j=i.l,i.g=new Set,i.h&&(bn(i,i.h),i.h=null))}if(s.D){const t=l.g?l.g.getResponseHeader(\"X-HTTP-Session-Id\"):null;t&&(s.za=t,Ze(s.F,s.D,t))}}n.G=3,n.l&&n.l.xa(),n.$&&(n.P=Date.now()-t.F,n.j.info(\"Handshake RTT: \"+n.P+\"ms\"));var o=t;if((s=n).sa=ds(s,s.H?s.ka:null,s.V),o.J){En(s.h,o);var a=o,u=s.J;u&&a.setTimeout(u),a.B&&(Ge(a),Be(a)),s.g=o}else ss(s);0<n.i.length&&Zn(n)}else\"stop\"!=c[0]&&\"close\"!=c[0]||hs(n,7);else 3==n.G&&(\"stop\"==c[0]||\"close\"==c[0]?\"stop\"==c[0]?hs(n,7):Yn(n):\"noop\"!=c[0]&&n.l&&n.l.wa(c),n.A=0)}ge()}catch(t){}}function Qe(t,e){if(t.forEach&&\"function\"==typeof t.forEach)t.forEach(e,void 0);else if(R(t)||\"string\"==typeof t)Array.prototype.forEach.call(t,e,void 0);else for(var n=function(t){if(t.oa&&\"function\"==typeof t.oa)return t.oa();if(!t.W||\"function\"!=typeof t.W){if(\"undefined\"!=typeof Map&&t instanceof Map)return Array.from(t.keys());if(!(\"undefined\"!=typeof Set&&t instanceof Set)){if(R(t)||\"string\"==typeof t){var e=[];t=t.length;for(var n=0;n<t;n++)e.push(n);return e}e=[],n=0;for(const s in t)e[n++]=s;return e}}}(t),s=function(t){if(t.W&&\"function\"==typeof t.W)return t.W();if(\"undefined\"!=typeof Map&&t instanceof Map||\"undefined\"!=typeof Set&&t instanceof Set)return Array.from(t.values());if(\"string\"==typeof t)return t.split(\"\");if(R(t)){for(var e=[],n=t.length,s=0;s<n;s++)e.push(t[s]);return e}for(s in e=[],n=0,t)e[n++]=t[s];return e}(t),r=s.length,i=0;i<r;i++)e.call(void 0,s[i],n&&n[i],t)}(D=Ne.prototype).setTimeout=function(t){this.O=t},D.ib=function(t){t=t.target;const e=this.L;e&&3==jn(t)?e.l():this.La(t)},D.La=function(t){try{if(t==this.g)t:{const h=jn(this.g);var e=this.g.Ea();this.g.aa();if(!(3>h)&&(3!=h||rt||this.g&&(this.h.h||this.g.fa()||$n(this.g)))){this.I||4!=h||7==e||ge(),Ge(this);var n=this.g.aa();this.Y=n;e:if(Ve(this)){var s=$n(this.g);t=\"\";var r=s.length,i=4==jn(this.g);if(!this.h.i){if(\"undefined\"==typeof TextDecoder){je(this),Ke(this);var o=\"\";break e}this.h.i=new N.TextDecoder}for(e=0;e<r;e++)this.h.h=!0,t+=this.h.i.decode(s[e],{stream:i&&e==r-1});s.splice(0,r),this.h.g+=t,this.C=0,o=this.h.g}else o=this.g.fa();if(this.i=200==n,function(t,e,n,s,r,i,o){t.info((function(){return\"XMLHTTP RESP (\"+s+\") [ attempt \"+r+\"]: \"+e+\"\\n\"+n+\"\\n\"+i+\" \"+o}))}(this.j,this.u,this.A,this.m,this.U,h,n),this.i){if(this.Z&&!this.J){e:{if(this.g){var a,u=this.g;if((a=u.g?u.g.getResponseHeader(\"X-HTTP-Initial-Response\"):null)&&!z(a)){var c=a;break e}}c=null}if(!(n=c)){this.i=!1,this.o=3,ye(12),je(this),Ke(this);break t}he(this.j,this.m,n,\"Initial handshake response via X-HTTP-Initial-Response\"),this.J=!0,$e(this,n)}this.P?(Pe(this,h,o),rt&&this.i&&3==h&&(ae(this.S,this.T,\"tick\",this.hb),this.T.start())):(he(this.j,this.m,o,null),$e(this,o)),4==h&&je(this),this.i&&!this.I&&(4==h?us(this.l,this):(this.i=!1,Be(this)))}else 400==n&&0<o.indexOf(\"Unknown SID\")?(this.o=3,ye(12)):(this.o=0,ye(13)),je(this),Ke(this)}}}catch(t){}},D.hb=function(){if(this.g){var t=jn(this.g),e=this.g.fa();this.C<e.length&&(Ge(this),Pe(this,t,e),this.i&&4!=t&&Be(this))}},D.cancel=function(){this.I=!0,je(this)},D.gb=function(){this.B=null;const t=Date.now();0<=t-this.V?(function(t,e){t.info((function(){return\"TIMEOUT: \"+e}))}(this.j,this.A),2!=this.K&&(ge(),ye(17)),je(this),this.o=2,Ke(this)):Ue(this,this.V-t)};var ze=RegExp(\"^(?:([^:/?#.]+):)?(?://(?:([^\\\\\\\\/?#]*)@)?([^\\\\\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\\\\\/?#]|$))?([^?#]+)?(?:\\\\?([^#]*))?(?:#([\\\\s\\\\S]*))?$\");function He(t,e){if(this.g=this.s=this.j=\"\",this.m=null,this.o=this.l=\"\",this.h=!1,t instanceof He){this.h=void 0!==e?e:t.h,Ye(this,t.j),this.s=t.s,this.g=t.g,Xe(this,t.m),this.l=t.l,e=t.i;var n=new hn;n.i=e.i,e.g&&(n.g=new Map(e.g),n.h=e.h),Je(this,n),this.o=t.o}else t&&(n=String(t).match(ze))?(this.h=!!e,Ye(this,n[1]||\"\",!0),this.s=en(n[2]||\"\"),this.g=en(n[3]||\"\",!0),Xe(this,n[4]),this.l=en(n[5]||\"\",!0),Je(this,n[6]||\"\",!0),this.o=en(n[7]||\"\")):(this.h=!!e,this.i=new hn(null,this.h))}function We(t){return new He(t)}function Ye(t,e,n){t.j=n?en(e,!0):e,t.j&&(t.j=t.j.replace(/:$/,\"\"))}function Xe(t,e){if(e){if(e=Number(e),isNaN(e)||0>e)throw Error(\"Bad port number \"+e);t.m=e}else t.m=null}function Je(t,e,n){e instanceof hn?(t.i=e,function(t,e){e&&!t.j&&(ln(t),t.i=null,t.g.forEach((function(t,e){var n=e.toLowerCase();e!=n&&(dn(this,e),mn(this,n,t))}),t)),t.j=e}(t.i,t.h)):(n||(e=nn(e,un)),t.i=new hn(e,t.h))}function Ze(t,e,n){t.i.set(e,n)}function tn(t){return Ze(t,\"zx\",Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)),t}function en(t,e){return t?e?decodeURI(t.replace(/%25/g,\"%2525\")):decodeURIComponent(t):\"\"}function nn(t,e,n){return\"string\"==typeof t?(t=encodeURI(t).replace(e,sn),n&&(t=t.replace(/%25([0-9a-fA-F]{2})/g,\"%$1\")),t):null}function sn(t){return\"%\"+((t=t.charCodeAt(0))>>4&15).toString(16)+(15&t).toString(16)}He.prototype.toString=function(){var t=[],e=this.j;e&&t.push(nn(e,rn,!0),\":\");var n=this.g;return(n||\"file\"==e)&&(t.push(\"//\"),(e=this.s)&&t.push(nn(e,rn,!0),\"@\"),t.push(encodeURIComponent(String(n)).replace(/%25([0-9a-fA-F]{2})/g,\"%$1\")),null!=(n=this.m)&&t.push(\":\",String(n))),(n=this.l)&&(this.g&&\"/\"!=n.charAt(0)&&t.push(\"/\"),t.push(nn(n,\"/\"==n.charAt(0)?an:on,!0))),(n=this.i.toString())&&t.push(\"?\",n),(n=this.o)&&t.push(\"#\",nn(n,cn)),t.join(\"\")};var rn=/[#\\/\\?@]/g,on=/[#\\?:]/g,an=/[#\\?]/g,un=/[#\\?@]/g,cn=/#/g;function hn(t,e){this.h=this.g=null,this.i=t||null,this.j=!!e}function ln(t){t.g||(t.g=new Map,t.h=0,t.i&&function(t,e){if(t){t=t.split(\"&\");for(var n=0;n<t.length;n++){var s=t[n].indexOf(\"=\"),r=null;if(0<=s){var i=t[n].substring(0,s);r=t[n].substring(s+1)}else i=t[n];e(i,r?decodeURIComponent(r.replace(/\\+/g,\" \")):\"\")}}}(t.i,(function(e,n){t.add(decodeURIComponent(e.replace(/\\+/g,\" \")),n)})))}function dn(t,e){ln(t),e=gn(t,e),t.g.has(e)&&(t.i=null,t.h-=t.g.get(e).length,t.g.delete(e))}function fn(t,e){return ln(t),e=gn(t,e),t.g.has(e)}function mn(t,e,n){dn(t,e),0<n.length&&(t.i=null,t.g.set(gn(t,e),K(n)),t.h+=n.length)}function gn(t,e){return e=String(e),t.j&&(e=e.toLowerCase()),e}(D=hn.prototype).add=function(t,e){ln(this),this.i=null,t=gn(this,t);var n=this.g.get(t);return n||this.g.set(t,n=[]),n.push(e),this.h+=1,this},D.forEach=function(t,e){ln(this),this.g.forEach((function(n,s){n.forEach((function(n){t.call(e,n,s,this)}),this)}),this)},D.oa=function(){ln(this);const t=Array.from(this.g.values()),e=Array.from(this.g.keys()),n=[];for(let s=0;s<e.length;s++){const r=t[s];for(let t=0;t<r.length;t++)n.push(e[s])}return n},D.W=function(t){ln(this);let e=[];if(\"string\"==typeof t)fn(this,t)&&(e=e.concat(this.g.get(gn(this,t))));else{t=Array.from(this.g.values());for(let n=0;n<t.length;n++)e=e.concat(t[n])}return e},D.set=function(t,e){return ln(this),this.i=null,fn(this,t=gn(this,t))&&(this.h-=this.g.get(t).length),this.g.set(t,[e]),this.h+=1,this},D.get=function(t,e){return t&&0<(t=this.W(t)).length?String(t[0]):e},D.toString=function(){if(this.i)return this.i;if(!this.g)return\"\";const t=[],e=Array.from(this.g.keys());for(var n=0;n<e.length;n++){var s=e[n];const i=encodeURIComponent(String(s)),o=this.W(s);for(s=0;s<o.length;s++){var r=i;\"\"!==o[s]&&(r+=\"=\"+encodeURIComponent(String(o[s]))),t.push(r)}}return this.i=t.join(\"&\")};function pn(t){this.l=t||yn,N.PerformanceNavigationTiming?t=0<(t=N.performance.getEntriesByType(\"navigation\")).length&&(\"hq\"==t[0].nextHopProtocol||\"h2\"==t[0].nextHopProtocol):t=!!(N.g&&N.g.Ga&&N.g.Ga()&&N.g.Ga().$b),this.j=t?this.l:1,this.g=null,1<this.j&&(this.g=new Set),this.h=null,this.i=[]}var yn=10;function wn(t){return!!t.h||!!t.g&&t.g.size>=t.j}function vn(t){return t.h?1:t.g?t.g.size:0}function In(t,e){return t.h?t.h==e:!!t.g&&t.g.has(e)}function bn(t,e){t.g?t.g.add(e):t.h=e}function En(t,e){t.h&&t.h==e?t.h=null:t.g&&t.g.has(e)&&t.g.delete(e)}function Tn(t){if(null!=t.h)return t.i.concat(t.h.D);if(null!=t.g&&0!==t.g.size){let e=t.i;for(const n of t.g.values())e=e.concat(n.D);return e}return K(t.i)}function Sn(){}function _n(){this.g=new Sn}function xn(t,e,n){const s=n||\"\";try{Qe(t,(function(t,n){let r=t;L(t)&&(r=jt(t)),e.push(s+n+\"=\"+encodeURIComponent(r))}))}catch(t){throw e.push(s+\"type=\"+encodeURIComponent(\"_badmap\")),t}}function Dn(t,e,n,s,r){try{e.onload=null,e.onerror=null,e.onabort=null,e.ontimeout=null,r(s)}catch(t){}}function An(t){this.l=t.ac||null,this.j=t.jb||!1}function Cn(t,e){Ut.call(this),this.D=t,this.u=e,this.m=void 0,this.readyState=Nn,this.status=0,this.responseType=this.responseText=this.response=this.statusText=\"\",this.onreadystatechange=null,this.v=new Headers,this.h=null,this.C=\"GET\",this.B=\"\",this.g=!1,this.A=this.j=this.l=null}pn.prototype.cancel=function(){if(this.i=Tn(this),this.h)this.h.cancel(),this.h=null;else if(this.g&&0!==this.g.size){for(const t of this.g.values())t.cancel();this.g.clear()}},Sn.prototype.stringify=function(t){return N.JSON.stringify(t,void 0)},Sn.prototype.parse=function(t){return N.JSON.parse(t,void 0)},B(An,Ee),An.prototype.g=function(){return new Cn(this.l,this.j)},An.prototype.i=function(t){return function(){return t}}({}),B(Cn,Ut);var Nn=0;function kn(t){t.j.read().then(t.Ta.bind(t)).catch(t.ga.bind(t))}function Rn(t){t.readyState=4,t.l=null,t.j=null,t.A=null,Ln(t)}function Ln(t){t.onreadystatechange&&t.onreadystatechange.call(t)}(D=Cn.prototype).open=function(t,e){if(this.readyState!=Nn)throw this.abort(),Error(\"Error reopening a connection\");this.C=t,this.B=e,this.readyState=1,Ln(this)},D.send=function(t){if(1!=this.readyState)throw this.abort(),Error(\"need to call open() first. \");this.g=!0;const e={headers:this.v,method:this.C,credentials:this.m,cache:void 0};t&&(e.body=t),(this.D||N).fetch(new Request(this.B,e)).then(this.Wa.bind(this),this.ga.bind(this))},D.abort=function(){this.response=this.responseText=\"\",this.v=new Headers,this.status=0,this.j&&this.j.cancel(\"Request was aborted.\").catch((()=>{})),1<=this.readyState&&this.g&&4!=this.readyState&&(this.g=!1,Rn(this)),this.readyState=Nn},D.Wa=function(t){if(this.g&&(this.l=t,this.h||(this.status=this.l.status,this.statusText=this.l.statusText,this.h=t.headers,this.readyState=2,Ln(this)),this.g&&(this.readyState=3,Ln(this),this.g)))if(\"arraybuffer\"===this.responseType)t.arrayBuffer().then(this.Ua.bind(this),this.ga.bind(this));else if(void 0!==N.ReadableStream&&\"body\"in t){if(this.j=t.body.getReader(),this.u){if(this.responseType)throw Error('responseType must be empty for \"streamBinaryChunks\" mode responses.');this.response=[]}else this.response=this.responseText=\"\",this.A=new TextDecoder;kn(this)}else t.text().then(this.Va.bind(this),this.ga.bind(this))},D.Ta=function(t){if(this.g){if(this.u&&t.value)this.response.push(t.value);else if(!this.u){var e=t.value?t.value:new Uint8Array(0);(e=this.A.decode(e,{stream:!t.done}))&&(this.response=this.responseText+=e)}t.done?Rn(this):Ln(this),3==this.readyState&&kn(this)}},D.Va=function(t){this.g&&(this.response=this.responseText=t,Rn(this))},D.Ua=function(t){this.g&&(this.response=t,Rn(this))},D.ga=function(){this.g&&Rn(this)},D.setRequestHeader=function(t,e){this.v.append(t,e)},D.getResponseHeader=function(t){return this.h&&this.h.get(t.toLowerCase())||\"\"},D.getAllResponseHeaders=function(){if(!this.h)return\"\";const t=[],e=this.h.entries();for(var n=e.next();!n.done;)n=n.value,t.push(n[0]+\": \"+n[1]),n=e.next();return t.join(\"\\r\\n\")},Object.defineProperty(Cn.prototype,\"withCredentials\",{get:function(){return\"include\"===this.m},set:function(t){this.m=t?\"include\":\"same-origin\"}});var Mn=N.JSON.parse;function Fn(t){Ut.call(this),this.headers=new Map,this.u=t||null,this.h=!1,this.C=this.g=null,this.H=\"\",this.m=0,this.j=\"\",this.l=this.F=this.v=this.D=!1,this.B=0,this.A=null,this.J=On,this.K=this.L=!1}B(Fn,Ut);var On=\"\",Vn=/^https?$/i,Pn=[\"POST\",\"PUT\"];function qn(t,e){t.h=!1,t.g&&(t.l=!0,t.g.abort(),t.l=!1),t.j=e,t.m=5,Bn(t),Gn(t)}function Bn(t){t.D||(t.D=!0,Gt(t,\"complete\"),Gt(t,\"error\"))}function Un(t){if(t.h&&void 0!==C&&(!t.C[1]||4!=jn(t)||2!=t.aa()))if(t.v&&4==jn(t))ne(t.Ha,0,t);else if(Gt(t,\"readystatechange\"),4==jn(t)){t.h=!1;try{const a=t.aa();t:switch(a){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:var e=!0;break t;default:e=!1}var n;if(!(n=e)){var s;if(s=0===a){var r=String(t.H).match(ze)[1]||null;if(!r&&N.self&&N.self.location){var i=N.self.location.protocol;r=i.substr(0,i.length-1)}s=!Vn.test(r?r.toLowerCase():\"\")}n=s}if(n)Gt(t,\"complete\"),Gt(t,\"success\");else{t.m=6;try{var o=2<jn(t)?t.g.statusText:\"\"}catch(t){o=\"\"}t.j=o+\" [\"+t.aa()+\"]\",Bn(t)}}finally{Gn(t)}}}function Gn(t,e){if(t.g){Kn(t);const n=t.g,s=t.C[0]?k:null;t.g=null,t.C=null,e||Gt(t,\"ready\");try{n.onreadystatechange=s}catch(t){}}}function Kn(t){t.g&&t.K&&(t.g.ontimeout=null),t.A&&(N.clearTimeout(t.A),t.A=null)}function jn(t){return t.g?t.g.readyState:0}function $n(t){try{if(!t.g)return null;if(\"response\"in t.g)return t.g.response;switch(t.J){case On:case\"text\":return t.g.responseText;case\"arraybuffer\":if(\"mozResponseArrayBuffer\"in t.g)return t.g.mozResponseArrayBuffer}return null}catch(t){return null}}function Qn(t){let e=\"\";return Et(t,(function(t,n){e+=n,e+=\":\",e+=t,e+=\"\\r\\n\"})),e}function zn(t,e,n){t:{for(s in n){var s=!1;break t}s=!0}s||(n=Qn(n),\"string\"==typeof t?null!=n&&encodeURIComponent(String(n)):Ze(t,e,n))}function Hn(t,e,n){return n&&n.internalChannelParams&&n.internalChannelParams[t]||e}function Wn(t){this.Ca=0,this.i=[],this.j=new ce,this.ka=this.sa=this.F=this.V=this.g=this.za=this.D=this.ia=this.o=this.S=this.s=null,this.ab=this.U=0,this.Za=Hn(\"failFast\",!1,t),this.L=this.v=this.u=this.m=this.l=null,this.Y=!0,this.pa=this.Ba=this.T=-1,this.Z=this.A=this.C=0,this.Xa=Hn(\"baseRetryDelayMs\",5e3,t),this.bb=Hn(\"retryDelaySeedMs\",1e4,t),this.$a=Hn(\"forwardChannelMaxRetries\",2,t),this.ta=Hn(\"forwardChannelRequestTimeoutMs\",2e4,t),this.ra=t&&t.xmlHttpFactory||void 0,this.Da=t&&t.Zb||!1,this.J=void 0,this.H=t&&t.supportsCrossDomainXhr||!1,this.I=\"\",this.h=new pn(t&&t.concurrentRequestLimit),this.Fa=new _n,this.O=t&&t.fastHandshake||!1,this.N=t&&t.encodeInitMessageHeaders||!1,this.O&&this.N&&(this.N=!1),this.Ya=t&&t.Xb||!1,t&&t.Aa&&this.j.Aa(),t&&t.forceLongPolling&&(this.Y=!1),this.$=!this.O&&this.Y&&t&&t.detectBufferingProxy||!1,this.ja=void 0,this.P=0,this.K=!1,this.la=this.B=null}function Yn(t){if(Jn(t),3==t.G){var e=t.U++,n=We(t.F);Ze(n,\"SID\",t.I),Ze(n,\"RID\",e),Ze(n,\"TYPE\",\"terminate\"),es(t,n),(e=new Ne(t,t.j,e,void 0)).K=2,e.v=tn(We(n)),n=!1,N.navigator&&N.navigator.sendBeacon&&(n=N.navigator.sendBeacon(e.v.toString(),\"\")),!n&&N.Image&&((new Image).src=e.v,n=!0),n||(e.g=fs(e.l,null),e.g.da(e.v)),e.F=Date.now(),Be(e)}ls(t)}function Xn(t){t.g&&(is(t),t.g.cancel(),t.g=null)}function Jn(t){Xn(t),t.u&&(N.clearTimeout(t.u),t.u=null),as(t),t.h.cancel(),t.m&&(\"number\"==typeof t.m&&N.clearTimeout(t.m),t.m=null)}function Zn(t){wn(t.h)||t.m||(t.m=!0,Yt(t.Ja,t),t.C=0)}function ts(t,e){var n;n=e?e.m:t.U++;const s=We(t.F);Ze(s,\"SID\",t.I),Ze(s,\"RID\",n),Ze(s,\"AID\",t.T),es(t,s),t.o&&t.s&&zn(s,t.o,t.s),n=new Ne(t,t.j,n,t.C+1),null===t.o&&(n.H=t.s),e&&(t.i=e.D.concat(t.i)),e=ns(t,n,1e3),n.setTimeout(Math.round(.5*t.ta)+Math.round(.5*t.ta*Math.random())),bn(t.h,n),Fe(n,s,e)}function es(t,e){t.ia&&Et(t.ia,(function(t,n){Ze(e,n,t)})),t.l&&Qe({},(function(t,n){Ze(e,n,t)}))}function ns(t,e,n){n=Math.min(t.i.length,n);var s=t.l?P(t.l.Ra,t.l,t):null;t:{var r=t.i;let e=-1;for(;;){const t=[\"count=\"+n];-1==e?0<n?(e=r[0].h,t.push(\"ofs=\"+e)):e=0:t.push(\"ofs=\"+e);let i=!0;for(let o=0;o<n;o++){let n=r[o].h;const a=r[o].g;if(n-=e,0>n)e=Math.max(0,r[o].h-100),i=!1;else try{xn(a,t,\"req\"+n+\"_\")}catch(t){s&&s(a)}}if(i){s=t.join(\"&\");break t}}}return t=t.i.splice(0,n),e.D=t,s}function ss(t){t.g||t.u||(t.Z=1,Yt(t.Ia,t),t.A=0)}function rs(t){return!(t.g||t.u||3<=t.A)&&(t.Z++,t.u=ve(P(t.Ia,t),cs(t,t.A)),t.A++,!0)}function is(t){null!=t.B&&(N.clearTimeout(t.B),t.B=null)}function os(t){t.g=new Ne(t,t.j,\"rpc\",t.Z),null===t.o&&(t.g.H=t.s),t.g.N=0;var e=We(t.sa);Ze(e,\"RID\",\"rpc\"),Ze(e,\"SID\",t.I),Ze(e,\"CI\",t.L?\"0\":\"1\"),Ze(e,\"AID\",t.T),Ze(e,\"TYPE\",\"xmlhttp\"),es(t,e),t.o&&t.s&&zn(e,t.o,t.s),t.J&&t.g.setTimeout(t.J);var n=t.g;t=t.ka,n.K=1,n.v=tn(We(e)),n.s=null,n.P=!0,Oe(n,t)}function as(t){null!=t.v&&(N.clearTimeout(t.v),t.v=null)}function us(t,e){var n=null;if(t.g==e){as(t),is(t),t.g=null;var s=2}else{if(!In(t.h,e))return;n=e.D,En(t.h,e),s=1}if(0!=t.G)if(t.pa=e.Y,e.i)if(1==s){n=e.s?e.s.length:0,e=Date.now()-e.F;var r=t.C;Gt(s=fe(),new we(s,n)),Zn(t)}else ss(t);else if(3==(r=e.o)||0==r&&0<t.pa||!(1==s&&function(t,e){return!(vn(t.h)>=t.h.j-(t.m?1:0)||(t.m?(t.i=e.D.concat(t.i),0):1==t.G||2==t.G||t.C>=(t.Za?0:t.$a)||(t.m=ve(P(t.Ja,t,e),cs(t,t.C)),t.C++,0)))}(t,e)||2==s&&rs(t)))switch(n&&0<n.length&&(e=t.h,e.i=e.i.concat(n)),r){case 1:hs(t,5);break;case 4:hs(t,10);break;case 3:hs(t,6);break;default:hs(t,2)}}function cs(t,e){let n=t.Xa+Math.floor(Math.random()*t.bb);return t.l||(n*=2),n*e}function hs(t,e){if(t.j.info(\"Error code \"+e),2==e){var n=null;t.l&&(n=null);var s=P(t.kb,t);n||(n=new He(\"//www.google.com/images/cleardot.gif\"),N.location&&\"http\"==N.location.protocol||Ye(n,\"https\"),tn(n)),function(t,e){const n=new ce;if(N.Image){const s=new Image;s.onload=q(Dn,n,s,\"TestLoadImage: loaded\",!0,e),s.onerror=q(Dn,n,s,\"TestLoadImage: error\",!1,e),s.onabort=q(Dn,n,s,\"TestLoadImage: abort\",!1,e),s.ontimeout=q(Dn,n,s,\"TestLoadImage: timeout\",!1,e),N.setTimeout((function(){s.ontimeout&&s.ontimeout()}),1e4),s.src=t}else e(!1)}(n.toString(),s)}else ye(2);t.G=0,t.l&&t.l.va(e),ls(t),Jn(t)}function ls(t){if(t.G=0,t.la=[],t.l){const e=Tn(t.h);0==e.length&&0==t.i.length||(j(t.la,e),j(t.la,t.i),t.h.i.length=0,K(t.i),t.i.length=0),t.l.ua()}}function ds(t,e,n){var s=n instanceof He?We(n):new He(n,void 0);if(\"\"!=s.g)e&&(s.g=e+\".\"+s.g),Xe(s,s.m);else{var r=N.location;s=r.protocol,e=e?e+\".\"+r.hostname:r.hostname,r=+r.port;var i=new He(null,void 0);s&&Ye(i,s),e&&(i.g=e),r&&Xe(i,r),n&&(i.l=n),s=i}return n=t.D,e=t.za,n&&e&&Ze(s,n,e),Ze(s,\"VER\",t.ma),es(t,s),s}function fs(t,e,n){if(e&&!t.H)throw Error(\"Can't create secondary domain capable XhrIo object.\");return(e=n&&t.Da&&!t.ra?new Fn(new An({jb:!0})):new Fn(t.ra)).Ka(t.H),e}function ms(){}function gs(){if(nt&&!(10<=Number(gt)))throw Error(\"Environmental error: no available transport.\")}function ps(t,e){Ut.call(this),this.g=new Wn(e),this.l=t,this.h=e&&e.messageUrlParams||null,t=e&&e.messageHeaders||null,e&&e.clientProtocolHeaderRequired&&(t?t[\"X-Client-Protocol\"]=\"webchannel\":t={\"X-Client-Protocol\":\"webchannel\"}),this.g.s=t,t=e&&e.initMessageHeaders||null,e&&e.messageContentType&&(t?t[\"X-WebChannel-Content-Type\"]=e.messageContentType:t={\"X-WebChannel-Content-Type\":e.messageContentType}),e&&e.ya&&(t?t[\"X-WebChannel-Client-Profile\"]=e.ya:t={\"X-WebChannel-Client-Profile\":e.ya}),this.g.S=t,(t=e&&e.Yb)&&!z(t)&&(this.g.o=t),this.A=e&&e.supportsCrossDomainXhr||!1,this.v=e&&e.sendRawJson||!1,(e=e&&e.httpSessionIdParam)&&!z(e)&&(this.g.D=e,null!==(t=this.h)&&e in t&&(e in(t=this.h)&&delete t[e])),this.j=new vs(this)}function ys(t){De.call(this);var e=t.__sm__;if(e){t:{for(const n in e){t=n;break t}t=void 0}(this.i=t)&&(t=this.i,e=null!==e&&t in e?e[t]:void 0),this.data=e}else this.data=t}function ws(){Ae.call(this),this.status=1}function vs(t){this.g=t}(D=Fn.prototype).Ka=function(t){this.L=t},D.da=function(t,e,n,s){if(this.g)throw Error(\"[goog.net.XhrIo] Object is active with another request=\"+this.H+\"; newUri=\"+t);e=e?e.toUpperCase():\"GET\",this.H=t,this.j=\"\",this.m=0,this.D=!1,this.h=!0,this.g=this.u?this.u.g():_e.g(),this.C=this.u?Te(this.u):Te(_e),this.g.onreadystatechange=P(this.Ha,this);try{this.F=!0,this.g.open(e,String(t),!0),this.F=!1}catch(t){return void qn(this,t)}if(t=n||\"\",n=new Map(this.headers),s)if(Object.getPrototypeOf(s)===Object.prototype)for(var r in s)n.set(r,s[r]);else{if(\"function\"!=typeof s.keys||\"function\"!=typeof s.get)throw Error(\"Unknown input type for opt_headers: \"+String(s));for(const t of s.keys())n.set(t,s.get(t))}s=Array.from(n.keys()).find((t=>\"content-type\"==t.toLowerCase())),r=N.FormData&&t instanceof N.FormData,!(0<=G(Pn,e))||s||r||n.set(\"Content-Type\",\"application/x-www-form-urlencoded;charset=utf-8\");for(const[t,e]of n)this.g.setRequestHeader(t,e);this.J&&(this.g.responseType=this.J),\"withCredentials\"in this.g&&this.g.withCredentials!==this.L&&(this.g.withCredentials=this.L);try{Kn(this),0<this.B&&((this.K=function(t){return nt&&ft()&&\"number\"==typeof t.timeout&&void 0!==t.ontimeout}(this.g))?(this.g.timeout=this.B,this.g.ontimeout=P(this.qa,this)):this.A=ne(this.qa,this.B,this)),this.v=!0,this.g.send(t),this.v=!1}catch(t){qn(this,t)}},D.qa=function(){void 0!==C&&this.g&&(this.j=\"Timed out after \"+this.B+\"ms, aborting\",this.m=8,Gt(this,\"timeout\"),this.abort(8))},D.abort=function(t){this.g&&this.h&&(this.h=!1,this.l=!0,this.g.abort(),this.l=!1,this.m=t||7,Gt(this,\"complete\"),Gt(this,\"abort\"),Gn(this))},D.M=function(){this.g&&(this.h&&(this.h=!1,this.l=!0,this.g.abort(),this.l=!1),Gn(this,!0)),Fn.X.M.call(this)},D.Ha=function(){this.s||(this.F||this.v||this.l?Un(this):this.fb())},D.fb=function(){Un(this)},D.aa=function(){try{return 2<jn(this)?this.g.status:-1}catch(t){return-1}},D.fa=function(){try{return this.g?this.g.responseText:\"\"}catch(t){return\"\"}},D.Sa=function(t){if(this.g){var e=this.g.responseText;return t&&0==e.indexOf(t)&&(e=e.substring(t.length)),Mn(e)}},D.Ea=function(){return this.m},D.Oa=function(){return\"string\"==typeof this.j?this.j:String(this.j)},(D=Wn.prototype).ma=8,D.G=1,D.Ja=function(t){if(this.m)if(this.m=null,1==this.G){if(!t){this.U=Math.floor(1e5*Math.random()),t=this.U++;const r=new Ne(this,this.j,t,void 0);let i=this.s;if(this.S&&(i?(i=Tt(i),_t(i,this.S)):i=this.S),null!==this.o||this.N||(r.H=i,i=null),this.O)t:{for(var e=0,n=0;n<this.i.length;n++){var s=this.i[n];if(void 0===(s=\"__data__\"in s.g&&\"string\"==typeof(s=s.g.__data__)?s.length:void 0))break;if(4096<(e+=s)){e=n;break t}if(4096===e||n===this.i.length-1){e=n+1;break t}}e=1e3}else e=1e3;e=ns(this,r,e),Ze(n=We(this.F),\"RID\",t),Ze(n,\"CVER\",22),this.D&&Ze(n,\"X-HTTP-Session-Id\",this.D),es(this,n),i&&(this.N?e=\"headers=\"+encodeURIComponent(String(Qn(i)))+\"&\"+e:this.o&&zn(n,this.o,i)),bn(this.h,r),this.Ya&&Ze(n,\"TYPE\",\"init\"),this.O?(Ze(n,\"$req\",e),Ze(n,\"SID\",\"null\"),r.Z=!0,Fe(r,n,null)):Fe(r,n,e),this.G=2}}else 3==this.G&&(t?ts(this,t):0==this.i.length||wn(this.h)||ts(this))},D.Ia=function(){if(this.u=null,os(this),this.$&&!(this.K||null==this.g||0>=this.P)){var t=2*this.P;this.j.info(\"BP detection timer enabled: \"+t),this.B=ve(P(this.eb,this),t)}},D.eb=function(){this.B&&(this.B=null,this.j.info(\"BP detection timeout reached.\"),this.j.info(\"Buffering proxy detected and switch to long-polling!\"),this.L=!1,this.K=!0,ye(10),Xn(this),os(this))},D.cb=function(){null!=this.v&&(this.v=null,Xn(this),rs(this),ye(19))},D.kb=function(t){t?(this.j.info(\"Successfully pinged google.com\"),ye(2)):(this.j.info(\"Failed to ping google.com\"),ye(1))},(D=ms.prototype).xa=function(){},D.wa=function(){},D.va=function(){},D.ua=function(){},D.Ra=function(){},gs.prototype.g=function(t,e){return new ps(t,e)},B(ps,Ut),ps.prototype.m=function(){this.g.l=this.j,this.A&&(this.g.H=!0);var t=this.g,e=this.l,n=this.h||void 0;ye(0),t.V=e,t.ia=n||{},t.L=t.Y,t.F=ds(t,null,t.V),Zn(t)},ps.prototype.close=function(){Yn(this.g)},ps.prototype.u=function(t){var e=this.g;if(\"string\"==typeof t){var n={};n.__data__=t,t=n}else this.v&&((n={}).__data__=jt(t),t=n);e.i.push(new class{constructor(t,e){this.h=t,this.g=e}}(e.ab++,t)),3==e.G&&Zn(e)},ps.prototype.M=function(){this.g.l=null,delete this.j,Yn(this.g),delete this.g,ps.X.M.call(this)},B(ys,De),B(ws,Ae),B(vs,ms),vs.prototype.xa=function(){Gt(this.g,\"a\")},vs.prototype.wa=function(t){Gt(this.g,new ys(t))},vs.prototype.va=function(t){Gt(this.g,new ws)},vs.prototype.ua=function(){Gt(this.g,\"b\")},gs.prototype.createWebChannel=gs.prototype.g,ps.prototype.send=ps.prototype.u,ps.prototype.open=ps.prototype.m,ps.prototype.close=ps.prototype.close,Ie.NO_ERROR=0,Ie.TIMEOUT=8,Ie.HTTP_ERROR=6,be.COMPLETE=\"complete\",Se.EventType=xe,xe.OPEN=\"a\",xe.CLOSE=\"b\",xe.ERROR=\"c\",xe.MESSAGE=\"d\",Ut.prototype.listen=Ut.prototype.N,Fn.prototype.listenOnce=Fn.prototype.O,Fn.prototype.getLastError=Fn.prototype.Oa,Fn.prototype.getLastErrorCode=Fn.prototype.Ea,Fn.prototype.getStatus=Fn.prototype.aa,Fn.prototype.getResponseJson=Fn.prototype.Sa,Fn.prototype.getResponseText=Fn.prototype.fa,Fn.prototype.send=Fn.prototype.da,Fn.prototype.setWithCredentials=Fn.prototype.Ka;var Is=Ie,bs=be,Es=le,Ts=10,Ss=11,_s=An,xs=Se,Ds=Fn;const As=\"@firebase/firestore\";class Cs{constructor(t){this.uid=t}isAuthenticated(){return null!=this.uid}toKey(){return this.isAuthenticated()?\"uid:\"+this.uid:\"anonymous-user\"}isEqual(t){return t.uid===this.uid}}Cs.UNAUTHENTICATED=new Cs(null),Cs.GOOGLE_CREDENTIALS=new Cs(\"google-credentials-uid\"),Cs.FIRST_PARTY=new Cs(\"first-party-uid\"),Cs.MOCK_USER=new Cs(\"mock-user\");let Ns=\"9.17.1\";const ks=new class{constructor(t){this.name=t,this._logLevel=S,this._logHandler=x,this._userLogHandler=null}get logLevel(){return this._logLevel}set logLevel(t){if(!(t in E))throw new TypeError(`Invalid value \"${t}\" assigned to \\`logLevel\\``);this._logLevel=t}setLogLevel(t){this._logLevel=\"string\"==typeof t?T[t]:t}get logHandler(){return this._logHandler}set logHandler(t){if(\"function\"!=typeof t)throw new TypeError(\"Value assigned to `logHandler` must be a function\");this._logHandler=t}get userLogHandler(){return this._userLogHandler}set userLogHandler(t){this._userLogHandler=t}debug(...t){this._userLogHandler&&this._userLogHandler(this,E.DEBUG,...t),this._logHandler(this,E.DEBUG,...t)}log(...t){this._userLogHandler&&this._userLogHandler(this,E.VERBOSE,...t),this._logHandler(this,E.VERBOSE,...t)}info(...t){this._userLogHandler&&this._userLogHandler(this,E.INFO,...t),this._logHandler(this,E.INFO,...t)}warn(...t){this._userLogHandler&&this._userLogHandler(this,E.WARN,...t),this._logHandler(this,E.WARN,...t)}error(...t){this._userLogHandler&&this._userLogHandler(this,E.ERROR,...t),this._logHandler(this,E.ERROR,...t)}}(\"@firebase/firestore\");function Rs(){return ks.logLevel}function Ls(t){ks.setLogLevel(t)}function Ms(t,...e){if(ks.logLevel<=E.DEBUG){const n=e.map(Vs);ks.debug(`Firestore (${Ns}): ${t}`,...n)}}function Fs(t,...e){if(ks.logLevel<=E.ERROR){const n=e.map(Vs);ks.error(`Firestore (${Ns}): ${t}`,...n)}}function Os(t,...e){if(ks.logLevel<=E.WARN){const n=e.map(Vs);ks.warn(`Firestore (${Ns}): ${t}`,...n)}}function Vs(t){if(\"string\"==typeof t)return t;try{return e=t,JSON.stringify(e)}catch(e){return t}var e}function Ps(t=\"Unexpected state\"){const e=`FIRESTORE (${Ns}) INTERNAL ASSERTION FAILED: `+t;throw Fs(e),new Error(e)}function qs(t,e){t||Ps()}function Bs(t,e){t||Ps()}function Us(t,e){return t}const Gs={OK:\"ok\",CANCELLED:\"cancelled\",UNKNOWN:\"unknown\",INVALID_ARGUMENT:\"invalid-argument\",DEADLINE_EXCEEDED:\"deadline-exceeded\",NOT_FOUND:\"not-found\",ALREADY_EXISTS:\"already-exists\",PERMISSION_DENIED:\"permission-denied\",UNAUTHENTICATED:\"unauthenticated\",RESOURCE_EXHAUSTED:\"resource-exhausted\",FAILED_PRECONDITION:\"failed-precondition\",ABORTED:\"aborted\",OUT_OF_RANGE:\"out-of-range\",UNIMPLEMENTED:\"unimplemented\",INTERNAL:\"internal\",UNAVAILABLE:\"unavailable\",DATA_LOSS:\"data-loss\"};class Ks extends g{constructor(t,e){super(t,e),this.code=t,this.message=e,this.toString=()=>`${this.name}: [code=${this.code}]: ${this.message}`}}class js{constructor(){this.promise=new Promise(((t,e)=>{this.resolve=t,this.reject=e}))}}class $s{constructor(t,e){this.user=e,this.type=\"OAuth\",this.headers=new Map,this.headers.set(\"Authorization\",`Bearer ${t}`)}}class Qs{getToken(){return Promise.resolve(null)}invalidateToken(){}start(t,e){t.enqueueRetryable((()=>e(Cs.UNAUTHENTICATED)))}shutdown(){}}class zs{constructor(t){this.token=t,this.changeListener=null}getToken(){return Promise.resolve(this.token)}invalidateToken(){}start(t,e){this.changeListener=e,t.enqueueRetryable((()=>e(this.token.user)))}shutdown(){this.changeListener=null}}class Hs{constructor(t){this.t=t,this.currentUser=Cs.UNAUTHENTICATED,this.i=0,this.forceRefresh=!1,this.auth=null}start(t,e){let n=this.i;const s=t=>this.i!==n?(n=this.i,e(t)):Promise.resolve();let r=new js;this.o=()=>{this.i++,this.currentUser=this.u(),r.resolve(),r=new js,t.enqueueRetryable((()=>s(this.currentUser)))};const i=()=>{const e=r;t.enqueueRetryable((async()=>{await e.promise,await s(this.currentUser)}))},o=t=>{Ms(\"FirebaseAuthCredentialsProvider\",\"Auth detected\"),this.auth=t,this.auth.addAuthTokenListener(this.o),i()};this.t.onInit((t=>o(t))),setTimeout((()=>{if(!this.auth){const t=this.t.getImmediate({optional:!0});t?o(t):(Ms(\"FirebaseAuthCredentialsProvider\",\"Auth not yet detected\"),r.resolve(),r=new js)}}),0),i()}getToken(){const t=this.i,e=this.forceRefresh;return this.forceRefresh=!1,this.auth?this.auth.getToken(e).then((e=>this.i!==t?(Ms(\"FirebaseAuthCredentialsProvider\",\"getToken aborted due to token change.\"),this.getToken()):e?(qs(\"string\"==typeof e.accessToken),new $s(e.accessToken,this.currentUser)):null)):Promise.resolve(null)}invalidateToken(){this.forceRefresh=!0}shutdown(){this.auth&&this.auth.removeAuthTokenListener(this.o)}u(){const t=this.auth&&this.auth.getUid();return qs(null===t||\"string\"==typeof t),new Cs(t)}}class Ws{constructor(t,e,n,s){this.h=t,this.l=e,this.m=n,this.g=s,this.type=\"FirstParty\",this.user=Cs.FIRST_PARTY,this.p=new Map}I(){return this.g?this.g():(qs(!(\"object\"!=typeof this.h||null===this.h||!this.h.auth||!this.h.auth.getAuthHeaderValueForFirstParty)),this.h.auth.getAuthHeaderValueForFirstParty([]))}get headers(){this.p.set(\"X-Goog-AuthUser\",this.l);const t=this.I();return t&&this.p.set(\"Authorization\",t),this.m&&this.p.set(\"X-Goog-Iam-Authorization-Token\",this.m),this.p}}class Ys{constructor(t,e,n,s){this.h=t,this.l=e,this.m=n,this.g=s}getToken(){return Promise.resolve(new Ws(this.h,this.l,this.m,this.g))}start(t,e){t.enqueueRetryable((()=>e(Cs.FIRST_PARTY)))}shutdown(){}invalidateToken(){}}class Xs{constructor(t){this.value=t,this.type=\"AppCheck\",this.headers=new Map,t&&t.length>0&&this.headers.set(\"x-firebase-appcheck\",this.value)}}class Js{constructor(t){this.T=t,this.forceRefresh=!1,this.appCheck=null,this.A=null}start(t,e){const n=t=>{null!=t.error&&Ms(\"FirebaseAppCheckTokenProvider\",`Error getting App Check token; using placeholder token instead. Error: ${t.error.message}`);const n=t.token!==this.A;return this.A=t.token,Ms(\"FirebaseAppCheckTokenProvider\",`Received ${n?\"new\":\"existing\"} token.`),n?e(t.token):Promise.resolve()};this.o=e=>{t.enqueueRetryable((()=>n(e)))};const s=t=>{Ms(\"FirebaseAppCheckTokenProvider\",\"AppCheck detected\"),this.appCheck=t,this.appCheck.addTokenListener(this.o)};this.T.onInit((t=>s(t))),setTimeout((()=>{if(!this.appCheck){const t=this.T.getImmediate({optional:!0});t?s(t):Ms(\"FirebaseAppCheckTokenProvider\",\"AppCheck not yet detected\")}}),0)}getToken(){const t=this.forceRefresh;return this.forceRefresh=!1,this.appCheck?this.appCheck.getToken(t).then((t=>t?(qs(\"string\"==typeof t.token),this.A=t.token,new Xs(t.token)):null)):Promise.resolve(null)}invalidateToken(){this.forceRefresh=!0}shutdown(){this.appCheck&&this.appCheck.removeTokenListener(this.o)}}class Zs{getToken(){return Promise.resolve(new Xs(\"\"))}invalidateToken(){}start(t,e){}shutdown(){}}function tr(t){const e=\"undefined\"!=typeof self&&(self.crypto||self.msCrypto),n=new Uint8Array(t);if(e&&\"function\"==typeof e.getRandomValues)e.getRandomValues(n);else for(let e=0;e<t;e++)n[e]=Math.floor(256*Math.random());return n}class er{static R(){const t=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\",e=Math.floor(256/t.length)*t.length;let n=\"\";for(;n.length<20;){const s=tr(40);for(let r=0;r<s.length;++r)n.length<20&&s[r]<e&&(n+=t.charAt(s[r]%t.length))}return n}}function nr(t,e){return t<e?-1:t>e?1:0}function sr(t,e,n){return t.length===e.length&&t.every(((t,s)=>n(t,e[s])))}function rr(t){return t+\"\\0\"}class ir{constructor(t,e){if(this.seconds=t,this.nanoseconds=e,e<0)throw new Ks(Gs.INVALID_ARGUMENT,\"Timestamp nanoseconds out of range: \"+e);if(e>=1e9)throw new Ks(Gs.INVALID_ARGUMENT,\"Timestamp nanoseconds out of range: \"+e);if(t<-62135596800)throw new Ks(Gs.INVALID_ARGUMENT,\"Timestamp seconds out of range: \"+t);if(t>=253402300800)throw new Ks(Gs.INVALID_ARGUMENT,\"Timestamp seconds out of range: \"+t)}static now(){return ir.fromMillis(Date.now())}static fromDate(t){return ir.fromMillis(t.getTime())}static fromMillis(t){const e=Math.floor(t/1e3),n=Math.floor(1e6*(t-1e3*e));return new ir(e,n)}toDate(){return new Date(this.toMillis())}toMillis(){return 1e3*this.seconds+this.nanoseconds/1e6}_compareTo(t){return this.seconds===t.seconds?nr(this.nanoseconds,t.nanoseconds):nr(this.seconds,t.seconds)}isEqual(t){return t.seconds===this.seconds&&t.nanoseconds===this.nanoseconds}toString(){return\"Timestamp(seconds=\"+this.seconds+\", nanoseconds=\"+this.nanoseconds+\")\"}toJSON(){return{seconds:this.seconds,nanoseconds:this.nanoseconds}}valueOf(){const t=this.seconds- -62135596800;return String(t).padStart(12,\"0\")+\".\"+String(this.nanoseconds).padStart(9,\"0\")}}class or{constructor(t){this.timestamp=t}static fromTimestamp(t){return new or(t)}static min(){return new or(new ir(0,0))}static max(){return new or(new ir(253402300799,999999999))}compareTo(t){return this.timestamp._compareTo(t.timestamp)}isEqual(t){return this.timestamp.isEqual(t.timestamp)}toMicroseconds(){return 1e6*this.timestamp.seconds+this.timestamp.nanoseconds/1e3}toString(){return\"SnapshotVersion(\"+this.timestamp.toString()+\")\"}toTimestamp(){return this.timestamp}}class ar{constructor(t,e,n){void 0===e?e=0:e>t.length&&Ps(),void 0===n?n=t.length-e:n>t.length-e&&Ps(),this.segments=t,this.offset=e,this.len=n}get length(){return this.len}isEqual(t){return 0===ar.comparator(this,t)}child(t){const e=this.segments.slice(this.offset,this.limit());return t instanceof ar?t.forEach((t=>{e.push(t)})):e.push(t),this.construct(e)}limit(){return this.offset+this.length}popFirst(t){return t=void 0===t?1:t,this.construct(this.segments,this.offset+t,this.length-t)}popLast(){return this.construct(this.segments,this.offset,this.length-1)}firstSegment(){return this.segments[this.offset]}lastSegment(){return this.get(this.length-1)}get(t){return this.segments[this.offset+t]}isEmpty(){return 0===this.length}isPrefixOf(t){if(t.length<this.length)return!1;for(let e=0;e<this.length;e++)if(this.get(e)!==t.get(e))return!1;return!0}isImmediateParentOf(t){if(this.length+1!==t.length)return!1;for(let e=0;e<this.length;e++)if(this.get(e)!==t.get(e))return!1;return!0}forEach(t){for(let e=this.offset,n=this.limit();e<n;e++)t(this.segments[e])}toArray(){return this.segments.slice(this.offset,this.limit())}static comparator(t,e){const n=Math.min(t.length,e.length);for(let s=0;s<n;s++){const n=t.get(s),r=e.get(s);if(n<r)return-1;if(n>r)return 1}return t.length<e.length?-1:t.length>e.length?1:0}}class ur extends ar{construct(t,e,n){return new ur(t,e,n)}canonicalString(){return this.toArray().join(\"/\")}toString(){return this.canonicalString()}static fromString(...t){const e=[];for(const n of t){if(n.indexOf(\"//\")>=0)throw new Ks(Gs.INVALID_ARGUMENT,`Invalid segment (${n}). Paths must not contain // in them.`);e.push(...n.split(\"/\").filter((t=>t.length>0)))}return new ur(e)}static emptyPath(){return new ur([])}}const cr=/^[_a-zA-Z][_a-zA-Z0-9]*$/;class hr extends ar{construct(t,e,n){return new hr(t,e,n)}static isValidIdentifier(t){return cr.test(t)}canonicalString(){return this.toArray().map((t=>(t=t.replace(/\\\\/g,\"\\\\\\\\\").replace(/`/g,\"\\\\`\"),hr.isValidIdentifier(t)||(t=\"`\"+t+\"`\"),t))).join(\".\")}toString(){return this.canonicalString()}isKeyField(){return 1===this.length&&\"__name__\"===this.get(0)}static keyField(){return new hr([\"__name__\"])}static fromServerFormat(t){const e=[];let n=\"\",s=0;const r=()=>{if(0===n.length)throw new Ks(Gs.INVALID_ARGUMENT,`Invalid field path (${t}). Paths must not be empty, begin with '.', end with '.', or contain '..'`);e.push(n),n=\"\"};let i=!1;for(;s<t.length;){const e=t[s];if(\"\\\\\"===e){if(s+1===t.length)throw new Ks(Gs.INVALID_ARGUMENT,\"Path has trailing escape character: \"+t);const e=t[s+1];if(\"\\\\\"!==e&&\".\"!==e&&\"`\"!==e)throw new Ks(Gs.INVALID_ARGUMENT,\"Path has invalid escape sequence: \"+t);n+=e,s+=2}else\"`\"===e?(i=!i,s++):\".\"!==e||i?(n+=e,s++):(r(),s++)}if(r(),i)throw new Ks(Gs.INVALID_ARGUMENT,\"Unterminated ` in path: \"+t);return new hr(e)}static emptyPath(){return new hr([])}}class lr{constructor(t){this.path=t}static fromPath(t){return new lr(ur.fromString(t))}static fromName(t){return new lr(ur.fromString(t).popFirst(5))}static empty(){return new lr(ur.emptyPath())}get collectionGroup(){return this.path.popLast().lastSegment()}hasCollectionId(t){return this.path.length>=2&&this.path.get(this.path.length-2)===t}getCollectionGroup(){return this.path.get(this.path.length-2)}getCollectionPath(){return this.path.popLast()}isEqual(t){return null!==t&&0===ur.comparator(this.path,t.path)}toString(){return this.path.toString()}static comparator(t,e){return ur.comparator(t.path,e.path)}static isDocumentKey(t){return t.length%2==0}static fromSegments(t){return new lr(new ur(t.slice()))}}class dr{constructor(t,e,n,s){this.indexId=t,this.collectionGroup=e,this.fields=n,this.indexState=s}}function fr(t){return t.fields.find((t=>2===t.kind))}function mr(t){return t.fields.filter((t=>2!==t.kind))}function gr(t,e){let n=nr(t.collectionGroup,e.collectionGroup);if(0!==n)return n;for(let s=0;s<Math.min(t.fields.length,e.fields.length);++s)if(n=yr(t.fields[s],e.fields[s]),0!==n)return n;return nr(t.fields.length,e.fields.length)}dr.UNKNOWN_ID=-1;class pr{constructor(t,e){this.fieldPath=t,this.kind=e}}function yr(t,e){const n=hr.comparator(t.fieldPath,e.fieldPath);return 0!==n?n:nr(t.kind,e.kind)}class wr{constructor(t,e){this.sequenceNumber=t,this.offset=e}static empty(){return new wr(0,br.min())}}function vr(t,e){const n=t.toTimestamp().seconds,s=t.toTimestamp().nanoseconds+1,r=or.fromTimestamp(1e9===s?new ir(n+1,0):new ir(n,s));return new br(r,lr.empty(),e)}function Ir(t){return new br(t.readTime,t.key,-1)}class br{constructor(t,e,n){this.readTime=t,this.documentKey=e,this.largestBatchId=n}static min(){return new br(or.min(),lr.empty(),-1)}static max(){return new br(or.max(),lr.empty(),-1)}}function Er(t,e){let n=t.readTime.compareTo(e.readTime);return 0!==n?n:(n=lr.comparator(t.documentKey,e.documentKey),0!==n?n:nr(t.largestBatchId,e.largestBatchId))}const Tr=\"The current tab is not in the required state to perform this operation. It might be necessary to refresh the browser tab.\";class Sr{constructor(){this.onCommittedListeners=[]}addOnCommittedListener(t){this.onCommittedListeners.push(t)}raiseOnCommittedEvent(){this.onCommittedListeners.forEach((t=>t()))}}async function _r(t){if(t.code!==Gs.FAILED_PRECONDITION||t.message!==Tr)throw t;Ms(\"LocalStore\",\"Unexpectedly lost primary lease\")}class xr{constructor(t){this.nextCallback=null,this.catchCallback=null,this.result=void 0,this.error=void 0,this.isDone=!1,this.callbackAttached=!1,t((t=>{this.isDone=!0,this.result=t,this.nextCallback&&this.nextCallback(t)}),(t=>{this.isDone=!0,this.error=t,this.catchCallback&&this.catchCallback(t)}))}catch(t){return this.next(void 0,t)}next(t,e){return this.callbackAttached&&Ps(),this.callbackAttached=!0,this.isDone?this.error?this.wrapFailure(e,this.error):this.wrapSuccess(t,this.result):new xr(((n,s)=>{this.nextCallback=e=>{this.wrapSuccess(t,e).next(n,s)},this.catchCallback=t=>{this.wrapFailure(e,t).next(n,s)}}))}toPromise(){return new Promise(((t,e)=>{this.next(t,e)}))}wrapUserFunction(t){try{const e=t();return e instanceof xr?e:xr.resolve(e)}catch(t){return xr.reject(t)}}wrapSuccess(t,e){return t?this.wrapUserFunction((()=>t(e))):xr.resolve(e)}wrapFailure(t,e){return t?this.wrapUserFunction((()=>t(e))):xr.reject(e)}static resolve(t){return new xr(((e,n)=>{e(t)}))}static reject(t){return new xr(((e,n)=>{n(t)}))}static waitFor(t){return new xr(((e,n)=>{let s=0,r=0,i=!1;t.forEach((t=>{++s,t.next((()=>{++r,i&&r===s&&e()}),(t=>n(t)))})),i=!0,r===s&&e()}))}static or(t){let e=xr.resolve(!1);for(const n of t)e=e.next((t=>t?xr.resolve(t):n()));return e}static forEach(t,e){const n=[];return t.forEach(((t,s)=>{n.push(e.call(this,t,s))})),this.waitFor(n)}static mapArray(t,e){return new xr(((n,s)=>{const r=t.length,i=new Array(r);let o=0;for(let a=0;a<r;a++){const u=a;e(t[u]).next((t=>{i[u]=t,++o,o===r&&n(i)}),(t=>s(t)))}}))}static doWhile(t,e){return new xr(((n,s)=>{const r=()=>{!0===t()?e().next((()=>{r()}),s):n()};r()}))}}class Dr{constructor(t,e){this.action=t,this.transaction=e,this.aborted=!1,this.P=new js,this.transaction.oncomplete=()=>{this.P.resolve()},this.transaction.onabort=()=>{e.error?this.P.reject(new Nr(t,e.error)):this.P.resolve()},this.transaction.onerror=e=>{const n=Fr(e.target.error);this.P.reject(new Nr(t,n))}}static open(t,e,n,s){try{return new Dr(e,t.transaction(s,n))}catch(t){throw new Nr(e,t)}}get v(){return this.P.promise}abort(t){t&&this.P.reject(t),this.aborted||(Ms(\"SimpleDb\",\"Aborting transaction:\",t?t.message:\"Client-initiated abort\"),this.aborted=!0,this.transaction.abort())}V(){const t=this.transaction;this.aborted||\"function\"!=typeof t.commit||t.commit()}store(t){const e=this.transaction.objectStore(t);return new Rr(e)}}class Ar{constructor(t,e,n){this.name=t,this.version=e,this.S=n,12.2===Ar.D(f())&&Fs(\"Firestore persistence suffers from a bug in iOS 12.2 Safari that may cause your app to stop working. See https://stackoverflow.com/q/56496296/110915 for details and a potential workaround.\")}static delete(t){return Ms(\"SimpleDb\",\"Removing database:\",t),Lr(window.indexedDB.deleteDatabase(t)).toPromise()}static C(){if(!function(){try{return\"object\"==typeof indexedDB}catch(t){return!1}}())return!1;if(Ar.N())return!0;const t=f(),e=Ar.D(t),n=0<e&&e<10,s=Ar.k(t),r=0<s&&s<4.5;return!(t.indexOf(\"MSIE \")>0||t.indexOf(\"Trident/\")>0||t.indexOf(\"Edge/\")>0||n||r)}static N(){var t;return\"undefined\"!=typeof process&&\"YES\"===(null===(t=process.env)||void 0===t?void 0:t.O)}static M(t,e){return t.store(e)}static D(t){const e=t.match(/i(?:phone|pad|pod) os ([\\d_]+)/i),n=e?e[1].split(\"_\").slice(0,2).join(\".\"):\"-1\";return Number(n)}static k(t){const e=t.match(/Android ([\\d.]+)/i),n=e?e[1].split(\".\").slice(0,2).join(\".\"):\"-1\";return Number(n)}async F(t){return this.db||(Ms(\"SimpleDb\",\"Opening database:\",this.name),this.db=await new Promise(((e,n)=>{const s=indexedDB.open(this.name,this.version);s.onsuccess=t=>{const n=t.target.result;e(n)},s.onblocked=()=>{n(new Nr(t,\"Cannot upgrade IndexedDB schema while another tab is open. Close all tabs that access Firestore and reload this page to proceed.\"))},s.onerror=e=>{const s=e.target.error;\"VersionError\"===s.name?n(new Ks(Gs.FAILED_PRECONDITION,\"A newer version of the Firestore SDK was previously used and so the persisted data is not compatible with the version of the SDK you are now using. The SDK will operate with persistence disabled. If you need persistence, please re-upgrade to a newer version of the SDK or else clear the persisted IndexedDB data for your app to start fresh.\")):\"InvalidStateError\"===s.name?n(new Ks(Gs.FAILED_PRECONDITION,\"Unable to open an IndexedDB connection. This could be due to running in a private browsing session on a browser whose private browsing sessions do not support IndexedDB: \"+s)):n(new Nr(t,s))},s.onupgradeneeded=t=>{Ms(\"SimpleDb\",'Database \"'+this.name+'\" requires upgrade from version:',t.oldVersion);const e=t.target.result;this.S.$(e,s.transaction,t.oldVersion,this.version).next((()=>{Ms(\"SimpleDb\",\"Database upgrade to version \"+this.version+\" complete\")}))}}))),this.B&&(this.db.onversionchange=t=>this.B(t)),this.db}L(t){this.B=t,this.db&&(this.db.onversionchange=e=>t(e))}async runTransaction(t,e,n,s){const r=\"readonly\"===e;let i=0;for(;;){++i;try{this.db=await this.F(t);const e=Dr.open(this.db,t,r?\"readonly\":\"readwrite\",n),i=s(e).next((t=>(e.V(),t))).catch((t=>(e.abort(t),xr.reject(t)))).toPromise();return i.catch((()=>{})),await e.v,i}catch(t){const e=t,n=\"FirebaseError\"!==e.name&&i<3;if(Ms(\"SimpleDb\",\"Transaction failed with error:\",e.message,\"Retrying:\",n),this.close(),!n)return Promise.reject(e)}}}close(){this.db&&this.db.close(),this.db=void 0}}class Cr{constructor(t){this.q=t,this.U=!1,this.K=null}get isDone(){return this.U}get G(){return this.K}set cursor(t){this.q=t}done(){this.U=!0}j(t){this.K=t}delete(){return Lr(this.q.delete())}}class Nr extends Ks{constructor(t,e){super(Gs.UNAVAILABLE,`IndexedDB transaction '${t}' failed: ${e}`),this.name=\"IndexedDbTransactionError\"}}function kr(t){return\"IndexedDbTransactionError\"===t.name}class Rr{constructor(t){this.store=t}put(t,e){let n;return void 0!==e?(Ms(\"SimpleDb\",\"PUT\",this.store.name,t,e),n=this.store.put(e,t)):(Ms(\"SimpleDb\",\"PUT\",this.store.name,\"<auto-key>\",t),n=this.store.put(t)),Lr(n)}add(t){return Ms(\"SimpleDb\",\"ADD\",this.store.name,t,t),Lr(this.store.add(t))}get(t){return Lr(this.store.get(t)).next((e=>(void 0===e&&(e=null),Ms(\"SimpleDb\",\"GET\",this.store.name,t,e),e)))}delete(t){return Ms(\"SimpleDb\",\"DELETE\",this.store.name,t),Lr(this.store.delete(t))}count(){return Ms(\"SimpleDb\",\"COUNT\",this.store.name),Lr(this.store.count())}W(t,e){const n=this.options(t,e);if(n.index||\"function\"!=typeof this.store.getAll){const t=this.cursor(n),e=[];return this.H(t,((t,n)=>{e.push(n)})).next((()=>e))}{const t=this.store.getAll(n.range);return new xr(((e,n)=>{t.onerror=t=>{n(t.target.error)},t.onsuccess=t=>{e(t.target.result)}}))}}J(t,e){const n=this.store.getAll(t,null===e?void 0:e);return new xr(((t,e)=>{n.onerror=t=>{e(t.target.error)},n.onsuccess=e=>{t(e.target.result)}}))}Y(t,e){Ms(\"SimpleDb\",\"DELETE ALL\",this.store.name);const n=this.options(t,e);n.X=!1;const s=this.cursor(n);return this.H(s,((t,e,n)=>n.delete()))}Z(t,e){let n;e?n=t:(n={},e=t);const s=this.cursor(n);return this.H(s,e)}tt(t){const e=this.cursor({});return new xr(((n,s)=>{e.onerror=t=>{const e=Fr(t.target.error);s(e)},e.onsuccess=e=>{const s=e.target.result;s?t(s.primaryKey,s.value).next((t=>{t?s.continue():n()})):n()}}))}H(t,e){const n=[];return new xr(((s,r)=>{t.onerror=t=>{r(t.target.error)},t.onsuccess=t=>{const r=t.target.result;if(!r)return void s();const i=new Cr(r),o=e(r.primaryKey,r.value,i);if(o instanceof xr){const t=o.catch((t=>(i.done(),xr.reject(t))));n.push(t)}i.isDone?s():null===i.G?r.continue():r.continue(i.G)}})).next((()=>xr.waitFor(n)))}options(t,e){let n;return void 0!==t&&(\"string\"==typeof t?n=t:e=t),{index:n,range:e}}cursor(t){let e=\"next\";if(t.reverse&&(e=\"prev\"),t.index){const n=this.store.index(t.index);return t.X?n.openKeyCursor(t.range,e):n.openCursor(t.range,e)}return this.store.openCursor(t.range,e)}}function Lr(t){return new xr(((e,n)=>{t.onsuccess=t=>{const n=t.target.result;e(n)},t.onerror=t=>{const e=Fr(t.target.error);n(e)}}))}let Mr=!1;function Fr(t){const e=Ar.D(f());if(e>=12.2&&e<13){const e=\"An internal error was encountered in the Indexed Database server\";if(t.message.indexOf(e)>=0){const t=new Ks(\"internal\",`IOS_INDEXEDDB_BUG1: IndexedDb has thrown '${e}'. This is likely due to an unavoidable bug in iOS. See https://stackoverflow.com/q/56496296/110915 for details and a potential workaround.`);return Mr||(Mr=!0,setTimeout((()=>{throw t}),0)),t}}return t}class Or{constructor(t,e){this.asyncQueue=t,this.et=e,this.task=null}start(){this.nt(15e3)}stop(){this.task&&(this.task.cancel(),this.task=null)}get started(){return null!==this.task}nt(t){Ms(\"IndexBackiller\",`Scheduled in ${t}ms`),this.task=this.asyncQueue.enqueueAfterDelay(\"index_backfill\",t,(async()=>{this.task=null;try{Ms(\"IndexBackiller\",`Documents written: ${await this.et.st()}`)}catch(t){kr(t)?Ms(\"IndexBackiller\",\"Ignoring IndexedDB error during index backfill: \",t):await _r(t)}await this.nt(6e4)}))}}class Vr{constructor(t,e){this.localStore=t,this.persistence=e}async st(t=50){return this.persistence.runTransaction(\"Backfill Indexes\",\"readwrite-primary\",(e=>this.it(e,t)))}it(t,e){const n=new Set;let s=e,r=!0;return xr.doWhile((()=>!0===r&&s>0),(()=>this.localStore.indexManager.getNextCollectionGroupToUpdate(t).next((e=>{if(null!==e&&!n.has(e))return Ms(\"IndexBackiller\",`Processing collection: ${e}`),this.rt(t,e,s).next((t=>{s-=t,n.add(e)}));r=!1})))).next((()=>e-s))}rt(t,e,n){return this.localStore.indexManager.getMinOffsetFromCollectionGroup(t,e).next((s=>this.localStore.localDocuments.getNextDocuments(t,e,s,n).next((n=>{const r=n.changes;return this.localStore.indexManager.updateIndexEntries(t,r).next((()=>this.ot(s,n))).next((n=>(Ms(\"IndexBackiller\",`Updating offset: ${n}`),this.localStore.indexManager.updateCollectionGroup(t,e,n)))).next((()=>r.size))}))))}ot(t,e){let n=t;return e.changes.forEach(((t,e)=>{const s=Ir(e);Er(s,n)>0&&(n=s)})),new br(n.readTime,n.documentKey,Math.max(e.batchId,t.largestBatchId))}}class Pr{constructor(t,e){this.previousValue=t,e&&(e.sequenceNumberHandler=t=>this.ut(t),this.ct=t=>e.writeSequenceNumber(t))}ut(t){return this.previousValue=Math.max(t,this.previousValue),this.previousValue}next(){const t=++this.previousValue;return this.ct&&this.ct(t),t}}Pr.at=-1;class qr{constructor(t,e,n,s,r,i,o,a){this.databaseId=t,this.appId=e,this.persistenceKey=n,this.host=s,this.ssl=r,this.forceLongPolling=i,this.autoDetectLongPolling=o,this.useFetchStreams=a}}class Br{constructor(t,e){this.projectId=t,this.database=e||\"(default)\"}static empty(){return new Br(\"\",\"\")}get isDefaultDatabase(){return\"(default)\"===this.database}isEqual(t){return t instanceof Br&&t.projectId===this.projectId&&t.database===this.database}}function Ur(t){let e=0;for(const n in t)Object.prototype.hasOwnProperty.call(t,n)&&e++;return e}function Gr(t,e){for(const n in t)Object.prototype.hasOwnProperty.call(t,n)&&e(n,t[n])}function Kr(t){for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e))return!1;return!0}function jr(t){return null==t}function $r(t){return 0===t&&1/t==-1/0}function Qr(t){return\"number\"==typeof t&&Number.isInteger(t)&&!$r(t)&&t<=Number.MAX_SAFE_INTEGER&&t>=Number.MIN_SAFE_INTEGER}function zr(){return\"undefined\"!=typeof atob}class Hr{constructor(t){this.binaryString=t}static fromBase64String(t){const e=atob(t);return new Hr(e)}static fromUint8Array(t){const e=function(t){let e=\"\";for(let n=0;n<t.length;++n)e+=String.fromCharCode(t[n]);return e}(t);return new Hr(e)}[Symbol.iterator](){let t=0;return{next:()=>t<this.binaryString.length?{value:this.binaryString.charCodeAt(t++),done:!1}:{value:void 0,done:!0}}}toBase64(){return t=this.binaryString,btoa(t);var t}toUint8Array(){return function(t){const e=new Uint8Array(t.length);for(let n=0;n<t.length;n++)e[n]=t.charCodeAt(n);return e}(this.binaryString)}approximateByteSize(){return 2*this.binaryString.length}compareTo(t){return nr(this.binaryString,t.binaryString)}isEqual(t){return this.binaryString===t.binaryString}}Hr.EMPTY_BYTE_STRING=new Hr(\"\");const Wr=new RegExp(/^\\d{4}-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\d(?:\\.(\\d+))?Z$/);function Yr(t){if(qs(!!t),\"string\"==typeof t){let e=0;const n=Wr.exec(t);if(qs(!!n),n[1]){let t=n[1];t=(t+\"000000000\").substr(0,9),e=Number(t)}const s=new Date(t);return{seconds:Math.floor(s.getTime()/1e3),nanos:e}}return{seconds:Xr(t.seconds),nanos:Xr(t.nanos)}}function Xr(t){return\"number\"==typeof t?t:\"string\"==typeof t?Number(t):0}function Jr(t){return\"string\"==typeof t?Hr.fromBase64String(t):Hr.fromUint8Array(t)}function Zr(t){var e,n;return\"server_timestamp\"===(null===(n=((null===(e=null==t?void 0:t.mapValue)||void 0===e?void 0:e.fields)||{}).__type__)||void 0===n?void 0:n.stringValue)}function ti(t){const e=t.mapValue.fields.__previous_value__;return Zr(e)?ti(e):e}function ei(t){const e=Yr(t.mapValue.fields.__local_write_time__.timestampValue);return new ir(e.seconds,e.nanos)}const ni={mapValue:{fields:{__type__:{stringValue:\"__max__\"}}}},si={nullValue:\"NULL_VALUE\"};function ri(t){return\"nullValue\"in t?0:\"booleanValue\"in t?1:\"integerValue\"in t||\"doubleValue\"in t?2:\"timestampValue\"in t?3:\"stringValue\"in t?5:\"bytesValue\"in t?6:\"referenceValue\"in t?7:\"geoPointValue\"in t?8:\"arrayValue\"in t?9:\"mapValue\"in t?Zr(t)?4:wi(t)?9007199254740991:10:Ps()}function ii(t,e){if(t===e)return!0;const n=ri(t);if(n!==ri(e))return!1;switch(n){case 0:case 9007199254740991:return!0;case 1:return t.booleanValue===e.booleanValue;case 4:return ei(t).isEqual(ei(e));case 3:return function(t,e){if(\"string\"==typeof t.timestampValue&&\"string\"==typeof e.timestampValue&&t.timestampValue.length===e.timestampValue.length)return t.timestampValue===e.timestampValue;const n=Yr(t.timestampValue),s=Yr(e.timestampValue);return n.seconds===s.seconds&&n.nanos===s.nanos}(t,e);case 5:return t.stringValue===e.stringValue;case 6:return function(t,e){return Jr(t.bytesValue).isEqual(Jr(e.bytesValue))}(t,e);case 7:return t.referenceValue===e.referenceValue;case 8:return function(t,e){return Xr(t.geoPointValue.latitude)===Xr(e.geoPointValue.latitude)&&Xr(t.geoPointValue.longitude)===Xr(e.geoPointValue.longitude)}(t,e);case 2:return function(t,e){if(\"integerValue\"in t&&\"integerValue\"in e)return Xr(t.integerValue)===Xr(e.integerValue);if(\"doubleValue\"in t&&\"doubleValue\"in e){const n=Xr(t.doubleValue),s=Xr(e.doubleValue);return n===s?$r(n)===$r(s):isNaN(n)&&isNaN(s)}return!1}(t,e);case 9:return sr(t.arrayValue.values||[],e.arrayValue.values||[],ii);case 10:return function(t,e){const n=t.mapValue.fields||{},s=e.mapValue.fields||{};if(Ur(n)!==Ur(s))return!1;for(const t in n)if(n.hasOwnProperty(t)&&(void 0===s[t]||!ii(n[t],s[t])))return!1;return!0}(t,e);default:return Ps()}}function oi(t,e){return void 0!==(t.values||[]).find((t=>ii(t,e)))}function ai(t,e){if(t===e)return 0;const n=ri(t),s=ri(e);if(n!==s)return nr(n,s);switch(n){case 0:case 9007199254740991:return 0;case 1:return nr(t.booleanValue,e.booleanValue);case 2:return function(t,e){const n=Xr(t.integerValue||t.doubleValue),s=Xr(e.integerValue||e.doubleValue);return n<s?-1:n>s?1:n===s?0:isNaN(n)?isNaN(s)?0:-1:1}(t,e);case 3:return ui(t.timestampValue,e.timestampValue);case 4:return ui(ei(t),ei(e));case 5:return nr(t.stringValue,e.stringValue);case 6:return function(t,e){const n=Jr(t),s=Jr(e);return n.compareTo(s)}(t.bytesValue,e.bytesValue);case 7:return function(t,e){const n=t.split(\"/\"),s=e.split(\"/\");for(let t=0;t<n.length&&t<s.length;t++){const e=nr(n[t],s[t]);if(0!==e)return e}return nr(n.length,s.length)}(t.referenceValue,e.referenceValue);case 8:return function(t,e){const n=nr(Xr(t.latitude),Xr(e.latitude));return 0!==n?n:nr(Xr(t.longitude),Xr(e.longitude))}(t.geoPointValue,e.geoPointValue);case 9:return function(t,e){const n=t.values||[],s=e.values||[];for(let t=0;t<n.length&&t<s.length;++t){const e=ai(n[t],s[t]);if(e)return e}return nr(n.length,s.length)}(t.arrayValue,e.arrayValue);case 10:return function(t,e){if(t===ni.mapValue&&e===ni.mapValue)return 0;if(t===ni.mapValue)return 1;if(e===ni.mapValue)return-1;const n=t.fields||{},s=Object.keys(n),r=e.fields||{},i=Object.keys(r);s.sort(),i.sort();for(let t=0;t<s.length&&t<i.length;++t){const e=nr(s[t],i[t]);if(0!==e)return e;const o=ai(n[s[t]],r[i[t]]);if(0!==o)return o}return nr(s.length,i.length)}(t.mapValue,e.mapValue);default:throw Ps()}}function ui(t,e){if(\"string\"==typeof t&&\"string\"==typeof e&&t.length===e.length)return nr(t,e);const n=Yr(t),s=Yr(e),r=nr(n.seconds,s.seconds);return 0!==r?r:nr(n.nanos,s.nanos)}function ci(t){return hi(t)}function hi(t){return\"nullValue\"in t?\"null\":\"booleanValue\"in t?\"\"+t.booleanValue:\"integerValue\"in t?\"\"+t.integerValue:\"doubleValue\"in t?\"\"+t.doubleValue:\"timestampValue\"in t?function(t){const e=Yr(t);return`time(${e.seconds},${e.nanos})`}(t.timestampValue):\"stringValue\"in t?t.stringValue:\"bytesValue\"in t?Jr(t.bytesValue).toBase64():\"referenceValue\"in t?(n=t.referenceValue,lr.fromName(n).toString()):\"geoPointValue\"in t?`geo(${(e=t.geoPointValue).latitude},${e.longitude})`:\"arrayValue\"in t?function(t){let e=\"[\",n=!0;for(const s of t.values||[])n?n=!1:e+=\",\",e+=hi(s);return e+\"]\"}(t.arrayValue):\"mapValue\"in t?function(t){const e=Object.keys(t.fields||{}).sort();let n=\"{\",s=!0;for(const r of e)s?s=!1:n+=\",\",n+=`${r}:${hi(t.fields[r])}`;return n+\"}\"}(t.mapValue):Ps();var e,n}function li(t,e){return{referenceValue:`projects/${t.projectId}/databases/${t.database}/documents/${e.path.canonicalString()}`}}function di(t){return!!t&&\"integerValue\"in t}function fi(t){return!!t&&\"arrayValue\"in t}function mi(t){return!!t&&\"nullValue\"in t}function gi(t){return!!t&&\"doubleValue\"in t&&isNaN(Number(t.doubleValue))}function pi(t){return!!t&&\"mapValue\"in t}function yi(t){if(t.geoPointValue)return{geoPointValue:Object.assign({},t.geoPointValue)};if(t.timestampValue&&\"object\"==typeof t.timestampValue)return{timestampValue:Object.assign({},t.timestampValue)};if(t.mapValue){const e={mapValue:{fields:{}}};return Gr(t.mapValue.fields,((t,n)=>e.mapValue.fields[t]=yi(n))),e}if(t.arrayValue){const e={arrayValue:{values:[]}};for(let n=0;n<(t.arrayValue.values||[]).length;++n)e.arrayValue.values[n]=yi(t.arrayValue.values[n]);return e}return Object.assign({},t)}function wi(t){return\"__max__\"===(((t.mapValue||{}).fields||{}).__type__||{}).stringValue}function vi(t){return\"nullValue\"in t?si:\"booleanValue\"in t?{booleanValue:!1}:\"integerValue\"in t||\"doubleValue\"in t?{doubleValue:NaN}:\"timestampValue\"in t?{timestampValue:{seconds:Number.MIN_SAFE_INTEGER}}:\"stringValue\"in t?{stringValue:\"\"}:\"bytesValue\"in t?{bytesValue:\"\"}:\"referenceValue\"in t?li(Br.empty(),lr.empty()):\"geoPointValue\"in t?{geoPointValue:{latitude:-90,longitude:-180}}:\"arrayValue\"in t?{arrayValue:{}}:\"mapValue\"in t?{mapValue:{}}:Ps()}function Ii(t){return\"nullValue\"in t?{booleanValue:!1}:\"booleanValue\"in t?{doubleValue:NaN}:\"integerValue\"in t||\"doubleValue\"in t?{timestampValue:{seconds:Number.MIN_SAFE_INTEGER}}:\"timestampValue\"in t?{stringValue:\"\"}:\"stringValue\"in t?{bytesValue:\"\"}:\"bytesValue\"in t?li(Br.empty(),lr.empty()):\"referenceValue\"in t?{geoPointValue:{latitude:-90,longitude:-180}}:\"geoPointValue\"in t?{arrayValue:{}}:\"arrayValue\"in t?{mapValue:{}}:\"mapValue\"in t?ni:Ps()}function bi(t,e){const n=ai(t.value,e.value);return 0!==n?n:t.inclusive&&!e.inclusive?-1:!t.inclusive&&e.inclusive?1:0}function Ei(t,e){const n=ai(t.value,e.value);return 0!==n?n:t.inclusive&&!e.inclusive?1:!t.inclusive&&e.inclusive?-1:0}class Ti{constructor(t,e){this.position=t,this.inclusive=e}}function Si(t,e,n){let s=0;for(let r=0;r<t.position.length;r++){const i=e[r],o=t.position[r];if(s=i.field.isKeyField()?lr.comparator(lr.fromName(o.referenceValue),n.key):ai(o,n.data.field(i.field)),\"desc\"===i.dir&&(s*=-1),0!==s)break}return s}function _i(t,e){if(null===t)return null===e;if(null===e)return!1;if(t.inclusive!==e.inclusive||t.position.length!==e.position.length)return!1;for(let n=0;n<t.position.length;n++)if(!ii(t.position[n],e.position[n]))return!1;return!0}class xi{}class Di extends xi{constructor(t,e,n){super(),this.field=t,this.op=e,this.value=n}static create(t,e,n){return t.isKeyField()?\"in\"===e||\"not-in\"===e?this.createKeyFieldInFilter(t,e,n):new Vi(t,e,n):\"array-contains\"===e?new Ui(t,n):\"in\"===e?new Gi(t,n):\"not-in\"===e?new Ki(t,n):\"array-contains-any\"===e?new ji(t,n):new Di(t,e,n)}static createKeyFieldInFilter(t,e,n){return\"in\"===e?new Pi(t,n):new qi(t,n)}matches(t){const e=t.data.field(this.field);return\"!=\"===this.op?null!==e&&this.matchesComparison(ai(e,this.value)):null!==e&&ri(this.value)===ri(e)&&this.matchesComparison(ai(e,this.value))}matchesComparison(t){switch(this.op){case\"<\":return t<0;case\"<=\":return t<=0;case\"==\":return 0===t;case\"!=\":return 0!==t;case\">\":return t>0;case\">=\":return t>=0;default:return Ps()}}isInequality(){return[\"<\",\"<=\",\">\",\">=\",\"!=\",\"not-in\"].indexOf(this.op)>=0}getFlattenedFilters(){return[this]}getFilters(){return[this]}getFirstInequalityField(){return this.isInequality()?this.field:null}}class Ai extends xi{constructor(t,e){super(),this.filters=t,this.op=e,this.ht=null}static create(t,e){return new Ai(t,e)}matches(t){return Ci(this)?void 0===this.filters.find((e=>!e.matches(t))):void 0!==this.filters.find((e=>e.matches(t)))}getFlattenedFilters(){return null!==this.ht||(this.ht=this.filters.reduce(((t,e)=>t.concat(e.getFlattenedFilters())),[])),this.ht}getFilters(){return Object.assign([],this.filters)}getFirstInequalityField(){const t=this.lt((t=>t.isInequality()));return null!==t?t.field:null}lt(t){for(const e of this.getFlattenedFilters())if(t(e))return e;return null}}function Ci(t){return\"and\"===t.op}function Ni(t){return\"or\"===t.op}function ki(t){return Ri(t)&&Ci(t)}function Ri(t){for(const e of t.filters)if(e instanceof Ai)return!1;return!0}function Li(t){if(t instanceof Di)return t.field.canonicalString()+t.op.toString()+ci(t.value);if(ki(t))return t.filters.map((t=>Li(t))).join(\",\");{const e=t.filters.map((t=>Li(t))).join(\",\");return`${t.op}(${e})`}}function Mi(t,e){return t instanceof Di?function(t,e){return e instanceof Di&&t.op===e.op&&t.field.isEqual(e.field)&&ii(t.value,e.value)}(t,e):t instanceof Ai?function(t,e){return e instanceof Ai&&t.op===e.op&&t.filters.length===e.filters.length&&t.filters.reduce(((t,n,s)=>t&&Mi(n,e.filters[s])),!0)}(t,e):void Ps()}function Fi(t,e){const n=t.filters.concat(e);return Ai.create(n,t.op)}function Oi(t){return t instanceof Di?function(t){return`${t.field.canonicalString()} ${t.op} ${ci(t.value)}`}(t):t instanceof Ai?function(t){return t.op.toString()+\" {\"+t.getFilters().map(Oi).join(\" ,\")+\"}\"}(t):\"Filter\"}class Vi extends Di{constructor(t,e,n){super(t,e,n),this.key=lr.fromName(n.referenceValue)}matches(t){const e=lr.comparator(t.key,this.key);return this.matchesComparison(e)}}class Pi extends Di{constructor(t,e){super(t,\"in\",e),this.keys=Bi(\"in\",e)}matches(t){return this.keys.some((e=>e.isEqual(t.key)))}}class qi extends Di{constructor(t,e){super(t,\"not-in\",e),this.keys=Bi(\"not-in\",e)}matches(t){return!this.keys.some((e=>e.isEqual(t.key)))}}function Bi(t,e){var n;return((null===(n=e.arrayValue)||void 0===n?void 0:n.values)||[]).map((t=>lr.fromName(t.referenceValue)))}class Ui extends Di{constructor(t,e){super(t,\"array-contains\",e)}matches(t){const e=t.data.field(this.field);return fi(e)&&oi(e.arrayValue,this.value)}}class Gi extends Di{constructor(t,e){super(t,\"in\",e)}matches(t){const e=t.data.field(this.field);return null!==e&&oi(this.value.arrayValue,e)}}class Ki extends Di{constructor(t,e){super(t,\"not-in\",e)}matches(t){if(oi(this.value.arrayValue,{nullValue:\"NULL_VALUE\"}))return!1;const e=t.data.field(this.field);return null!==e&&!oi(this.value.arrayValue,e)}}class ji extends Di{constructor(t,e){super(t,\"array-contains-any\",e)}matches(t){const e=t.data.field(this.field);return!(!fi(e)||!e.arrayValue.values)&&e.arrayValue.values.some((t=>oi(this.value.arrayValue,t)))}}class $i{constructor(t,e=\"asc\"){this.field=t,this.dir=e}}function Qi(t,e){return t.dir===e.dir&&t.field.isEqual(e.field)}class zi{constructor(t,e){this.comparator=t,this.root=e||Wi.EMPTY}insert(t,e){return new zi(this.comparator,this.root.insert(t,e,this.comparator).copy(null,null,Wi.BLACK,null,null))}remove(t){return new zi(this.comparator,this.root.remove(t,this.comparator).copy(null,null,Wi.BLACK,null,null))}get(t){let e=this.root;for(;!e.isEmpty();){const n=this.comparator(t,e.key);if(0===n)return e.value;n<0?e=e.left:n>0&&(e=e.right)}return null}indexOf(t){let e=0,n=this.root;for(;!n.isEmpty();){const s=this.comparator(t,n.key);if(0===s)return e+n.left.size;s<0?n=n.left:(e+=n.left.size+1,n=n.right)}return-1}isEmpty(){return this.root.isEmpty()}get size(){return this.root.size}minKey(){return this.root.minKey()}maxKey(){return this.root.maxKey()}inorderTraversal(t){return this.root.inorderTraversal(t)}forEach(t){this.inorderTraversal(((e,n)=>(t(e,n),!1)))}toString(){const t=[];return this.inorderTraversal(((e,n)=>(t.push(`${e}:${n}`),!1))),`{${t.join(\", \")}}`}reverseTraversal(t){return this.root.reverseTraversal(t)}getIterator(){return new Hi(this.root,null,this.comparator,!1)}getIteratorFrom(t){return new Hi(this.root,t,this.comparator,!1)}getReverseIterator(){return new Hi(this.root,null,this.comparator,!0)}getReverseIteratorFrom(t){return new Hi(this.root,t,this.comparator,!0)}}class Hi{constructor(t,e,n,s){this.isReverse=s,this.nodeStack=[];let r=1;for(;!t.isEmpty();)if(r=e?n(t.key,e):1,e&&s&&(r*=-1),r<0)t=this.isReverse?t.left:t.right;else{if(0===r){this.nodeStack.push(t);break}this.nodeStack.push(t),t=this.isReverse?t.right:t.left}}getNext(){let t=this.nodeStack.pop();const e={key:t.key,value:t.value};if(this.isReverse)for(t=t.left;!t.isEmpty();)this.nodeStack.push(t),t=t.right;else for(t=t.right;!t.isEmpty();)this.nodeStack.push(t),t=t.left;return e}hasNext(){return this.nodeStack.length>0}peek(){if(0===this.nodeStack.length)return null;const t=this.nodeStack[this.nodeStack.length-1];return{key:t.key,value:t.value}}}class Wi{constructor(t,e,n,s,r){this.key=t,this.value=e,this.color=null!=n?n:Wi.RED,this.left=null!=s?s:Wi.EMPTY,this.right=null!=r?r:Wi.EMPTY,this.size=this.left.size+1+this.right.size}copy(t,e,n,s,r){return new Wi(null!=t?t:this.key,null!=e?e:this.value,null!=n?n:this.color,null!=s?s:this.left,null!=r?r:this.right)}isEmpty(){return!1}inorderTraversal(t){return this.left.inorderTraversal(t)||t(this.key,this.value)||this.right.inorderTraversal(t)}reverseTraversal(t){return this.right.reverseTraversal(t)||t(this.key,this.value)||this.left.reverseTraversal(t)}min(){return this.left.isEmpty()?this:this.left.min()}minKey(){return this.min().key}maxKey(){return this.right.isEmpty()?this.key:this.right.maxKey()}insert(t,e,n){let s=this;const r=n(t,s.key);return s=r<0?s.copy(null,null,null,s.left.insert(t,e,n),null):0===r?s.copy(null,e,null,null,null):s.copy(null,null,null,null,s.right.insert(t,e,n)),s.fixUp()}removeMin(){if(this.left.isEmpty())return Wi.EMPTY;let t=this;return t.left.isRed()||t.left.left.isRed()||(t=t.moveRedLeft()),t=t.copy(null,null,null,t.left.removeMin(),null),t.fixUp()}remove(t,e){let n,s=this;if(e(t,s.key)<0)s.left.isEmpty()||s.left.isRed()||s.left.left.isRed()||(s=s.moveRedLeft()),s=s.copy(null,null,null,s.left.remove(t,e),null);else{if(s.left.isRed()&&(s=s.rotateRight()),s.right.isEmpty()||s.right.isRed()||s.right.left.isRed()||(s=s.moveRedRight()),0===e(t,s.key)){if(s.right.isEmpty())return Wi.EMPTY;n=s.right.min(),s=s.copy(n.key,n.value,null,null,s.right.removeMin())}s=s.copy(null,null,null,null,s.right.remove(t,e))}return s.fixUp()}isRed(){return this.color}fixUp(){let t=this;return t.right.isRed()&&!t.left.isRed()&&(t=t.rotateLeft()),t.left.isRed()&&t.left.left.isRed()&&(t=t.rotateRight()),t.left.isRed()&&t.right.isRed()&&(t=t.colorFlip()),t}moveRedLeft(){let t=this.colorFlip();return t.right.left.isRed()&&(t=t.copy(null,null,null,null,t.right.rotateRight()),t=t.rotateLeft(),t=t.colorFlip()),t}moveRedRight(){let t=this.colorFlip();return t.left.left.isRed()&&(t=t.rotateRight(),t=t.colorFlip()),t}rotateLeft(){const t=this.copy(null,null,Wi.RED,null,this.right.left);return this.right.copy(null,null,this.color,t,null)}rotateRight(){const t=this.copy(null,null,Wi.RED,this.left.right,null);return this.left.copy(null,null,this.color,null,t)}colorFlip(){const t=this.left.copy(null,null,!this.left.color,null,null),e=this.right.copy(null,null,!this.right.color,null,null);return this.copy(null,null,!this.color,t,e)}checkMaxDepth(){const t=this.check();return Math.pow(2,t)<=this.size+1}check(){if(this.isRed()&&this.left.isRed())throw Ps();if(this.right.isRed())throw Ps();const t=this.left.check();if(t!==this.right.check())throw Ps();return t+(this.isRed()?0:1)}}Wi.EMPTY=null,Wi.RED=!0,Wi.BLACK=!1,Wi.EMPTY=new class{constructor(){this.size=0}get key(){throw Ps()}get value(){throw Ps()}get color(){throw Ps()}get left(){throw Ps()}get right(){throw Ps()}copy(t,e,n,s,r){return this}insert(t,e,n){return new Wi(t,e)}remove(t,e){return this}isEmpty(){return!0}inorderTraversal(t){return!1}reverseTraversal(t){return!1}minKey(){return null}maxKey(){return null}isRed(){return!1}checkMaxDepth(){return!0}check(){return 0}};class Yi{constructor(t){this.comparator=t,this.data=new zi(this.comparator)}has(t){return null!==this.data.get(t)}first(){return this.data.minKey()}last(){return this.data.maxKey()}get size(){return this.data.size}indexOf(t){return this.data.indexOf(t)}forEach(t){this.data.inorderTraversal(((e,n)=>(t(e),!1)))}forEachInRange(t,e){const n=this.data.getIteratorFrom(t[0]);for(;n.hasNext();){const s=n.getNext();if(this.comparator(s.key,t[1])>=0)return;e(s.key)}}forEachWhile(t,e){let n;for(n=void 0!==e?this.data.getIteratorFrom(e):this.data.getIterator();n.hasNext();)if(!t(n.getNext().key))return}firstAfterOrEqual(t){const e=this.data.getIteratorFrom(t);return e.hasNext()?e.getNext().key:null}getIterator(){return new Xi(this.data.getIterator())}getIteratorFrom(t){return new Xi(this.data.getIteratorFrom(t))}add(t){return this.copy(this.data.remove(t).insert(t,!0))}delete(t){return this.has(t)?this.copy(this.data.remove(t)):this}isEmpty(){return this.data.isEmpty()}unionWith(t){let e=this;return e.size<t.size&&(e=t,t=this),t.forEach((t=>{e=e.add(t)})),e}isEqual(t){if(!(t instanceof Yi))return!1;if(this.size!==t.size)return!1;const e=this.data.getIterator(),n=t.data.getIterator();for(;e.hasNext();){const t=e.getNext().key,s=n.getNext().key;if(0!==this.comparator(t,s))return!1}return!0}toArray(){const t=[];return this.forEach((e=>{t.push(e)})),t}toString(){const t=[];return this.forEach((e=>t.push(e))),\"SortedSet(\"+t.toString()+\")\"}copy(t){const e=new Yi(this.comparator);return e.data=t,e}}class Xi{constructor(t){this.iter=t}getNext(){return this.iter.getNext().key}hasNext(){return this.iter.hasNext()}}function Ji(t){return t.hasNext()?t.getNext():void 0}class Zi{constructor(t){this.fields=t,t.sort(hr.comparator)}static empty(){return new Zi([])}unionWith(t){let e=new Yi(hr.comparator);for(const t of this.fields)e=e.add(t);for(const n of t)e=e.add(n);return new Zi(e.toArray())}covers(t){for(const e of this.fields)if(e.isPrefixOf(t))return!0;return!1}isEqual(t){return sr(this.fields,t.fields,((t,e)=>t.isEqual(e)))}}class to{constructor(t){this.value=t}static empty(){return new to({mapValue:{}})}field(t){if(t.isEmpty())return this.value;{let e=this.value;for(let n=0;n<t.length-1;++n)if(e=(e.mapValue.fields||{})[t.get(n)],!pi(e))return null;return e=(e.mapValue.fields||{})[t.lastSegment()],e||null}}set(t,e){this.getFieldsMap(t.popLast())[t.lastSegment()]=yi(e)}setAll(t){let e=hr.emptyPath(),n={},s=[];t.forEach(((t,r)=>{if(!e.isImmediateParentOf(r)){const t=this.getFieldsMap(e);this.applyChanges(t,n,s),n={},s=[],e=r.popLast()}t?n[r.lastSegment()]=yi(t):s.push(r.lastSegment())}));const r=this.getFieldsMap(e);this.applyChanges(r,n,s)}delete(t){const e=this.field(t.popLast());pi(e)&&e.mapValue.fields&&delete e.mapValue.fields[t.lastSegment()]}isEqual(t){return ii(this.value,t.value)}getFieldsMap(t){let e=this.value;e.mapValue.fields||(e.mapValue={fields:{}});for(let n=0;n<t.length;++n){let s=e.mapValue.fields[t.get(n)];pi(s)&&s.mapValue.fields||(s={mapValue:{fields:{}}},e.mapValue.fields[t.get(n)]=s),e=s}return e.mapValue.fields}applyChanges(t,e,n){Gr(e,((e,n)=>t[e]=n));for(const e of n)delete t[e]}clone(){return new to(yi(this.value))}}function eo(t){const e=[];return Gr(t.fields,((t,n)=>{const s=new hr([t]);if(pi(n)){const t=eo(n.mapValue).fields;if(0===t.length)e.push(s);else for(const n of t)e.push(s.child(n))}else e.push(s)})),new Zi(e)}class no{constructor(t,e,n,s,r,i,o){this.key=t,this.documentType=e,this.version=n,this.readTime=s,this.createTime=r,this.data=i,this.documentState=o}static newInvalidDocument(t){return new no(t,0,or.min(),or.min(),or.min(),to.empty(),0)}static newFoundDocument(t,e,n,s){return new no(t,1,e,or.min(),n,s,0)}static newNoDocument(t,e){return new no(t,2,e,or.min(),or.min(),to.empty(),0)}static newUnknownDocument(t,e){return new no(t,3,e,or.min(),or.min(),to.empty(),2)}convertToFoundDocument(t,e){return!this.createTime.isEqual(or.min())||2!==this.documentType&&0!==this.documentType||(this.createTime=t),this.version=t,this.documentType=1,this.data=e,this.documentState=0,this}convertToNoDocument(t){return this.version=t,this.documentType=2,this.data=to.empty(),this.documentState=0,this}convertToUnknownDocument(t){return this.version=t,this.documentType=3,this.data=to.empty(),this.documentState=2,this}setHasCommittedMutations(){return this.documentState=2,this}setHasLocalMutations(){return this.documentState=1,this.version=or.min(),this}setReadTime(t){return this.readTime=t,this}get hasLocalMutations(){return 1===this.documentState}get hasCommittedMutations(){return 2===this.documentState}get hasPendingWrites(){return this.hasLocalMutations||this.hasCommittedMutations}isValidDocument(){return 0!==this.documentType}isFoundDocument(){return 1===this.documentType}isNoDocument(){return 2===this.documentType}isUnknownDocument(){return 3===this.documentType}isEqual(t){return t instanceof no&&this.key.isEqual(t.key)&&this.version.isEqual(t.version)&&this.documentType===t.documentType&&this.documentState===t.documentState&&this.data.isEqual(t.data)}mutableCopy(){return new no(this.key,this.documentType,this.version,this.readTime,this.createTime,this.data.clone(),this.documentState)}toString(){return`Document(${this.key}, ${this.version}, ${JSON.stringify(this.data.value)}, {createTime: ${this.createTime}}), {documentType: ${this.documentType}}), {documentState: ${this.documentState}})`}}class so{constructor(t,e=null,n=[],s=[],r=null,i=null,o=null){this.path=t,this.collectionGroup=e,this.orderBy=n,this.filters=s,this.limit=r,this.startAt=i,this.endAt=o,this.ft=null}}function ro(t,e=null,n=[],s=[],r=null,i=null,o=null){return new so(t,e,n,s,r,i,o)}function io(t){const e=Us(t);if(null===e.ft){let t=e.path.canonicalString();null!==e.collectionGroup&&(t+=\"|cg:\"+e.collectionGroup),t+=\"|f:\",t+=e.filters.map((t=>Li(t))).join(\",\"),t+=\"|ob:\",t+=e.orderBy.map((t=>function(t){return t.field.canonicalString()+t.dir}(t))).join(\",\"),jr(e.limit)||(t+=\"|l:\",t+=e.limit),e.startAt&&(t+=\"|lb:\",t+=e.startAt.inclusive?\"b:\":\"a:\",t+=e.startAt.position.map((t=>ci(t))).join(\",\")),e.endAt&&(t+=\"|ub:\",t+=e.endAt.inclusive?\"a:\":\"b:\",t+=e.endAt.position.map((t=>ci(t))).join(\",\")),e.ft=t}return e.ft}function oo(t,e){if(t.limit!==e.limit)return!1;if(t.orderBy.length!==e.orderBy.length)return!1;for(let n=0;n<t.orderBy.length;n++)if(!Qi(t.orderBy[n],e.orderBy[n]))return!1;if(t.filters.length!==e.filters.length)return!1;for(let n=0;n<t.filters.length;n++)if(!Mi(t.filters[n],e.filters[n]))return!1;return t.collectionGroup===e.collectionGroup&&!!t.path.isEqual(e.path)&&!!_i(t.startAt,e.startAt)&&_i(t.endAt,e.endAt)}function ao(t){return lr.isDocumentKey(t.path)&&null===t.collectionGroup&&0===t.filters.length}function uo(t,e){return t.filters.filter((t=>t instanceof Di&&t.field.isEqual(e)))}function co(t,e,n){let s=si,r=!0;for(const n of uo(t,e)){let t=si,e=!0;switch(n.op){case\"<\":case\"<=\":t=vi(n.value);break;case\"==\":case\"in\":case\">=\":t=n.value;break;case\">\":t=n.value,e=!1;break;case\"!=\":case\"not-in\":t=si}bi({value:s,inclusive:r},{value:t,inclusive:e})<0&&(s=t,r=e)}if(null!==n)for(let i=0;i<t.orderBy.length;++i)if(t.orderBy[i].field.isEqual(e)){const t=n.position[i];bi({value:s,inclusive:r},{value:t,inclusive:n.inclusive})<0&&(s=t,r=n.inclusive);break}return{value:s,inclusive:r}}function ho(t,e,n){let s=ni,r=!0;for(const n of uo(t,e)){let t=ni,e=!0;switch(n.op){case\">=\":case\">\":t=Ii(n.value),e=!1;break;case\"==\":case\"in\":case\"<=\":t=n.value;break;case\"<\":t=n.value,e=!1;break;case\"!=\":case\"not-in\":t=ni}Ei({value:s,inclusive:r},{value:t,inclusive:e})>0&&(s=t,r=e)}if(null!==n)for(let i=0;i<t.orderBy.length;++i)if(t.orderBy[i].field.isEqual(e)){const t=n.position[i];Ei({value:s,inclusive:r},{value:t,inclusive:n.inclusive})>0&&(s=t,r=n.inclusive);break}return{value:s,inclusive:r}}class lo{constructor(t,e=null,n=[],s=[],r=null,i=\"F\",o=null,a=null){this.path=t,this.collectionGroup=e,this.explicitOrderBy=n,this.filters=s,this.limit=r,this.limitType=i,this.startAt=o,this.endAt=a,this.dt=null,this._t=null,this.startAt,this.endAt}}function fo(t,e,n,s,r,i,o,a){return new lo(t,e,n,s,r,i,o,a)}function mo(t){return new lo(t)}function go(t){return 0===t.filters.length&&null===t.limit&&null==t.startAt&&null==t.endAt&&(0===t.explicitOrderBy.length||1===t.explicitOrderBy.length&&t.explicitOrderBy[0].field.isKeyField())}function po(t){return t.explicitOrderBy.length>0?t.explicitOrderBy[0].field:null}function yo(t){for(const e of t.filters){const t=e.getFirstInequalityField();if(null!==t)return t}return null}function wo(t){return null!==t.collectionGroup}function vo(t){const e=Us(t);if(null===e.dt){e.dt=[];const t=yo(e),n=po(e);if(null!==t&&null===n)t.isKeyField()||e.dt.push(new $i(t)),e.dt.push(new $i(hr.keyField(),\"asc\"));else{let t=!1;for(const n of e.explicitOrderBy)e.dt.push(n),n.field.isKeyField()&&(t=!0);if(!t){const t=e.explicitOrderBy.length>0?e.explicitOrderBy[e.explicitOrderBy.length-1].dir:\"asc\";e.dt.push(new $i(hr.keyField(),t))}}}return e.dt}function Io(t){const e=Us(t);if(!e._t)if(\"F\"===e.limitType)e._t=ro(e.path,e.collectionGroup,vo(e),e.filters,e.limit,e.startAt,e.endAt);else{const t=[];for(const n of vo(e)){const e=\"desc\"===n.dir?\"asc\":\"desc\";t.push(new $i(n.field,e))}const n=e.endAt?new Ti(e.endAt.position,e.endAt.inclusive):null,s=e.startAt?new Ti(e.startAt.position,e.startAt.inclusive):null;e._t=ro(e.path,e.collectionGroup,t,e.filters,e.limit,n,s)}return e._t}function bo(t,e){e.getFirstInequalityField(),yo(t);const n=t.filters.concat([e]);return new lo(t.path,t.collectionGroup,t.explicitOrderBy.slice(),n,t.limit,t.limitType,t.startAt,t.endAt)}function Eo(t,e,n){return new lo(t.path,t.collectionGroup,t.explicitOrderBy.slice(),t.filters.slice(),e,n,t.startAt,t.endAt)}function To(t,e){return oo(Io(t),Io(e))&&t.limitType===e.limitType}function So(t){return`${io(Io(t))}|lt:${t.limitType}`}function _o(t){return`Query(target=${function(t){let e=t.path.canonicalString();return null!==t.collectionGroup&&(e+=\" collectionGroup=\"+t.collectionGroup),t.filters.length>0&&(e+=`, filters: [${t.filters.map((t=>Oi(t))).join(\", \")}]`),jr(t.limit)||(e+=\", limit: \"+t.limit),t.orderBy.length>0&&(e+=`, orderBy: [${t.orderBy.map((t=>function(t){return`${t.field.canonicalString()} (${t.dir})`}(t))).join(\", \")}]`),t.startAt&&(e+=\", startAt: \",e+=t.startAt.inclusive?\"b:\":\"a:\",e+=t.startAt.position.map((t=>ci(t))).join(\",\")),t.endAt&&(e+=\", endAt: \",e+=t.endAt.inclusive?\"a:\":\"b:\",e+=t.endAt.position.map((t=>ci(t))).join(\",\")),`Target(${e})`}(Io(t))}; limitType=${t.limitType})`}function xo(t,e){return e.isFoundDocument()&&function(t,e){const n=e.key.path;return null!==t.collectionGroup?e.key.hasCollectionId(t.collectionGroup)&&t.path.isPrefixOf(n):lr.isDocumentKey(t.path)?t.path.isEqual(n):t.path.isImmediateParentOf(n)}(t,e)&&function(t,e){for(const n of vo(t))if(!n.field.isKeyField()&&null===e.data.field(n.field))return!1;return!0}(t,e)&&function(t,e){for(const n of t.filters)if(!n.matches(e))return!1;return!0}(t,e)&&function(t,e){return!(t.startAt&&!function(t,e,n){const s=Si(t,e,n);return t.inclusive?s<=0:s<0}(t.startAt,vo(t),e))&&!(t.endAt&&!function(t,e,n){const s=Si(t,e,n);return t.inclusive?s>=0:s>0}(t.endAt,vo(t),e))}(t,e)}function Do(t){return t.collectionGroup||(t.path.length%2==1?t.path.lastSegment():t.path.get(t.path.length-2))}function Ao(t){return(e,n)=>{let s=!1;for(const r of vo(t)){const t=Co(r,e,n);if(0!==t)return t;s=s||r.field.isKeyField()}return 0}}function Co(t,e,n){const s=t.field.isKeyField()?lr.comparator(e.key,n.key):function(t,e,n){const s=e.data.field(t),r=n.data.field(t);return null!==s&&null!==r?ai(s,r):Ps()}(t.field,e,n);switch(t.dir){case\"asc\":return s;case\"desc\":return-1*s;default:return Ps()}}function No(t,e){if(t.wt){if(isNaN(e))return{doubleValue:\"NaN\"};if(e===1/0)return{doubleValue:\"Infinity\"};if(e===-1/0)return{doubleValue:\"-Infinity\"}}return{doubleValue:$r(e)?\"-0\":e}}function ko(t){return{integerValue:\"\"+t}}function Ro(t,e){return Qr(e)?ko(e):No(t,e)}class Lo{constructor(){this._=void 0}}function Mo(t,e,n){return t instanceof Vo?function(t,e){const n={fields:{__type__:{stringValue:\"server_timestamp\"},__local_write_time__:{timestampValue:{seconds:t.seconds,nanos:t.nanoseconds}}}};return e&&(n.fields.__previous_value__=e),{mapValue:n}}(n,e):t instanceof Po?qo(t,e):t instanceof Bo?Uo(t,e):function(t,e){const n=Oo(t,e),s=Ko(n)+Ko(t.gt);return di(n)&&di(t.gt)?ko(s):No(t.yt,s)}(t,e)}function Fo(t,e,n){return t instanceof Po?qo(t,e):t instanceof Bo?Uo(t,e):n}function Oo(t,e){return t instanceof Go?di(n=e)||function(t){return!!t&&\"doubleValue\"in t}(n)?e:{integerValue:0}:null;var n}class Vo extends Lo{}class Po extends Lo{constructor(t){super(),this.elements=t}}function qo(t,e){const n=jo(e);for(const e of t.elements)n.some((t=>ii(t,e)))||n.push(e);return{arrayValue:{values:n}}}class Bo extends Lo{constructor(t){super(),this.elements=t}}function Uo(t,e){let n=jo(e);for(const e of t.elements)n=n.filter((t=>!ii(t,e)));return{arrayValue:{values:n}}}class Go extends Lo{constructor(t,e){super(),this.yt=t,this.gt=e}}function Ko(t){return Xr(t.integerValue||t.doubleValue)}function jo(t){return fi(t)&&t.arrayValue.values?t.arrayValue.values.slice():[]}class $o{constructor(t,e){this.field=t,this.transform=e}}class Qo{constructor(t,e){this.version=t,this.transformResults=e}}class zo{constructor(t,e){this.updateTime=t,this.exists=e}static none(){return new zo}static exists(t){return new zo(void 0,t)}static updateTime(t){return new zo(t)}get isNone(){return void 0===this.updateTime&&void 0===this.exists}isEqual(t){return this.exists===t.exists&&(this.updateTime?!!t.updateTime&&this.updateTime.isEqual(t.updateTime):!t.updateTime)}}function Ho(t,e){return void 0!==t.updateTime?e.isFoundDocument()&&e.version.isEqual(t.updateTime):void 0===t.exists||t.exists===e.isFoundDocument()}class Wo{}function Yo(t,e){if(!t.hasLocalMutations||e&&0===e.fields.length)return null;if(null===e)return t.isNoDocument()?new oa(t.key,zo.none()):new ea(t.key,t.data,zo.none());{const n=t.data,s=to.empty();let r=new Yi(hr.comparator);for(let t of e.fields)if(!r.has(t)){let e=n.field(t);null===e&&t.length>1&&(t=t.popLast(),e=n.field(t)),null===e?s.delete(t):s.set(t,e),r=r.add(t)}return new na(t.key,s,new Zi(r.toArray()),zo.none())}}function Xo(t,e,n){t instanceof ea?function(t,e,n){const s=t.value.clone(),r=ra(t.fieldTransforms,e,n.transformResults);s.setAll(r),e.convertToFoundDocument(n.version,s).setHasCommittedMutations()}(t,e,n):t instanceof na?function(t,e,n){if(!Ho(t.precondition,e))return void e.convertToUnknownDocument(n.version);const s=ra(t.fieldTransforms,e,n.transformResults),r=e.data;r.setAll(sa(t)),r.setAll(s),e.convertToFoundDocument(n.version,r).setHasCommittedMutations()}(t,e,n):function(t,e,n){e.convertToNoDocument(n.version).setHasCommittedMutations()}(0,e,n)}function Jo(t,e,n,s){return t instanceof ea?function(t,e,n,s){if(!Ho(t.precondition,e))return n;const r=t.value.clone(),i=ia(t.fieldTransforms,s,e);return r.setAll(i),e.convertToFoundDocument(e.version,r).setHasLocalMutations(),null}(t,e,n,s):t instanceof na?function(t,e,n,s){if(!Ho(t.precondition,e))return n;const r=ia(t.fieldTransforms,s,e),i=e.data;return i.setAll(sa(t)),i.setAll(r),e.convertToFoundDocument(e.version,i).setHasLocalMutations(),null===n?null:n.unionWith(t.fieldMask.fields).unionWith(t.fieldTransforms.map((t=>t.field)))}(t,e,n,s):function(t,e,n){return Ho(t.precondition,e)?(e.convertToNoDocument(e.version).setHasLocalMutations(),null):n}(t,e,n)}function Zo(t,e){let n=null;for(const s of t.fieldTransforms){const t=e.data.field(s.field),r=Oo(s.transform,t||null);null!=r&&(null===n&&(n=to.empty()),n.set(s.field,r))}return n||null}function ta(t,e){return t.type===e.type&&!!t.key.isEqual(e.key)&&!!t.precondition.isEqual(e.precondition)&&!!function(t,e){return void 0===t&&void 0===e||!(!t||!e)&&sr(t,e,((t,e)=>function(t,e){return t.field.isEqual(e.field)&&function(t,e){return t instanceof Po&&e instanceof Po||t instanceof Bo&&e instanceof Bo?sr(t.elements,e.elements,ii):t instanceof Go&&e instanceof Go?ii(t.gt,e.gt):t instanceof Vo&&e instanceof Vo}(t.transform,e.transform)}(t,e)))}(t.fieldTransforms,e.fieldTransforms)&&(0===t.type?t.value.isEqual(e.value):1!==t.type||t.data.isEqual(e.data)&&t.fieldMask.isEqual(e.fieldMask))}class ea extends Wo{constructor(t,e,n,s=[]){super(),this.key=t,this.value=e,this.precondition=n,this.fieldTransforms=s,this.type=0}getFieldMask(){return null}}class na extends Wo{constructor(t,e,n,s,r=[]){super(),this.key=t,this.data=e,this.fieldMask=n,this.precondition=s,this.fieldTransforms=r,this.type=1}getFieldMask(){return this.fieldMask}}function sa(t){const e=new Map;return t.fieldMask.fields.forEach((n=>{if(!n.isEmpty()){const s=t.data.field(n);e.set(n,s)}})),e}function ra(t,e,n){const s=new Map;qs(t.length===n.length);for(let r=0;r<n.length;r++){const i=t[r],o=i.transform,a=e.data.field(i.field);s.set(i.field,Fo(o,a,n[r]))}return s}function ia(t,e,n){const s=new Map;for(const r of t){const t=r.transform,i=n.data.field(r.field);s.set(r.field,Mo(t,i,e))}return s}class oa extends Wo{constructor(t,e){super(),this.key=t,this.precondition=e,this.type=2,this.fieldTransforms=[]}getFieldMask(){return null}}class aa extends Wo{constructor(t,e){super(),this.key=t,this.precondition=e,this.type=3,this.fieldTransforms=[]}getFieldMask(){return null}}class ua{constructor(t){this.count=t}}var ca,ha;function la(t){switch(t){default:return Ps();case Gs.CANCELLED:case Gs.UNKNOWN:case Gs.DEADLINE_EXCEEDED:case Gs.RESOURCE_EXHAUSTED:case Gs.INTERNAL:case Gs.UNAVAILABLE:case Gs.UNAUTHENTICATED:return!1;case Gs.INVALID_ARGUMENT:case Gs.NOT_FOUND:case Gs.ALREADY_EXISTS:case Gs.PERMISSION_DENIED:case Gs.FAILED_PRECONDITION:case Gs.ABORTED:case Gs.OUT_OF_RANGE:case Gs.UNIMPLEMENTED:case Gs.DATA_LOSS:return!0}}function da(t){if(void 0===t)return Fs(\"GRPC error has no .code\"),Gs.UNKNOWN;switch(t){case ca.OK:return Gs.OK;case ca.CANCELLED:return Gs.CANCELLED;case ca.UNKNOWN:return Gs.UNKNOWN;case ca.DEADLINE_EXCEEDED:return Gs.DEADLINE_EXCEEDED;case ca.RESOURCE_EXHAUSTED:return Gs.RESOURCE_EXHAUSTED;case ca.INTERNAL:return Gs.INTERNAL;case ca.UNAVAILABLE:return Gs.UNAVAILABLE;case ca.UNAUTHENTICATED:return Gs.UNAUTHENTICATED;case ca.INVALID_ARGUMENT:return Gs.INVALID_ARGUMENT;case ca.NOT_FOUND:return Gs.NOT_FOUND;case ca.ALREADY_EXISTS:return Gs.ALREADY_EXISTS;case ca.PERMISSION_DENIED:return Gs.PERMISSION_DENIED;case ca.FAILED_PRECONDITION:return Gs.FAILED_PRECONDITION;case ca.ABORTED:return Gs.ABORTED;case ca.OUT_OF_RANGE:return Gs.OUT_OF_RANGE;case ca.UNIMPLEMENTED:return Gs.UNIMPLEMENTED;case ca.DATA_LOSS:return Gs.DATA_LOSS;default:return Ps()}}(ha=ca||(ca={}))[ha.OK=0]=\"OK\",ha[ha.CANCELLED=1]=\"CANCELLED\",ha[ha.UNKNOWN=2]=\"UNKNOWN\",ha[ha.INVALID_ARGUMENT=3]=\"INVALID_ARGUMENT\",ha[ha.DEADLINE_EXCEEDED=4]=\"DEADLINE_EXCEEDED\",ha[ha.NOT_FOUND=5]=\"NOT_FOUND\",ha[ha.ALREADY_EXISTS=6]=\"ALREADY_EXISTS\",ha[ha.PERMISSION_DENIED=7]=\"PERMISSION_DENIED\",ha[ha.UNAUTHENTICATED=16]=\"UNAUTHENTICATED\",ha[ha.RESOURCE_EXHAUSTED=8]=\"RESOURCE_EXHAUSTED\",ha[ha.FAILED_PRECONDITION=9]=\"FAILED_PRECONDITION\",ha[ha.ABORTED=10]=\"ABORTED\",ha[ha.OUT_OF_RANGE=11]=\"OUT_OF_RANGE\",ha[ha.UNIMPLEMENTED=12]=\"UNIMPLEMENTED\",ha[ha.INTERNAL=13]=\"INTERNAL\",ha[ha.UNAVAILABLE=14]=\"UNAVAILABLE\",ha[ha.DATA_LOSS=15]=\"DATA_LOSS\";class fa{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.innerSize=0}get(t){const e=this.mapKeyFn(t),n=this.inner[e];if(void 0!==n)for(const[e,s]of n)if(this.equalsFn(e,t))return s}has(t){return void 0!==this.get(t)}set(t,e){const n=this.mapKeyFn(t),s=this.inner[n];if(void 0===s)return this.inner[n]=[[t,e]],void this.innerSize++;for(let n=0;n<s.length;n++)if(this.equalsFn(s[n][0],t))return void(s[n]=[t,e]);s.push([t,e]),this.innerSize++}delete(t){const e=this.mapKeyFn(t),n=this.inner[e];if(void 0===n)return!1;for(let s=0;s<n.length;s++)if(this.equalsFn(n[s][0],t))return 1===n.length?delete this.inner[e]:n.splice(s,1),this.innerSize--,!0;return!1}forEach(t){Gr(this.inner,((e,n)=>{for(const[e,s]of n)t(e,s)}))}isEmpty(){return Kr(this.inner)}size(){return this.innerSize}}const ma=new zi(lr.comparator);function ga(){return ma}const pa=new zi(lr.comparator);function ya(...t){let e=pa;for(const n of t)e=e.insert(n.key,n);return e}function wa(t){let e=pa;return t.forEach(((t,n)=>e=e.insert(t,n.overlayedDocument))),e}function va(){return ba()}function Ia(){return ba()}function ba(){return new fa((t=>t.toString()),((t,e)=>t.isEqual(e)))}const Ea=new zi(lr.comparator),Ta=new Yi(lr.comparator);function Sa(...t){let e=Ta;for(const n of t)e=e.add(n);return e}const _a=new Yi(nr);function xa(){return _a}class Da{constructor(t,e,n,s,r){this.snapshotVersion=t,this.targetChanges=e,this.targetMismatches=n,this.documentUpdates=s,this.resolvedLimboDocuments=r}static createSynthesizedRemoteEventForCurrentChange(t,e,n){const s=new Map;return s.set(t,Aa.createSynthesizedTargetChangeForCurrentChange(t,e,n)),new Da(or.min(),s,xa(),ga(),Sa())}}class Aa{constructor(t,e,n,s,r){this.resumeToken=t,this.current=e,this.addedDocuments=n,this.modifiedDocuments=s,this.removedDocuments=r}static createSynthesizedTargetChangeForCurrentChange(t,e,n){return new Aa(n,e,Sa(),Sa(),Sa())}}class Ca{constructor(t,e,n,s){this.It=t,this.removedTargetIds=e,this.key=n,this.Tt=s}}class Na{constructor(t,e){this.targetId=t,this.Et=e}}class ka{constructor(t,e,n=Hr.EMPTY_BYTE_STRING,s=null){this.state=t,this.targetIds=e,this.resumeToken=n,this.cause=s}}class Ra{constructor(){this.At=0,this.Rt=Fa(),this.bt=Hr.EMPTY_BYTE_STRING,this.Pt=!1,this.vt=!0}get current(){return this.Pt}get resumeToken(){return this.bt}get Vt(){return 0!==this.At}get St(){return this.vt}Dt(t){t.approximateByteSize()>0&&(this.vt=!0,this.bt=t)}Ct(){let t=Sa(),e=Sa(),n=Sa();return this.Rt.forEach(((s,r)=>{switch(r){case 0:t=t.add(s);break;case 2:e=e.add(s);break;case 1:n=n.add(s);break;default:Ps()}})),new Aa(this.bt,this.Pt,t,e,n)}xt(){this.vt=!1,this.Rt=Fa()}Nt(t,e){this.vt=!0,this.Rt=this.Rt.insert(t,e)}kt(t){this.vt=!0,this.Rt=this.Rt.remove(t)}Ot(){this.At+=1}Mt(){this.At-=1}Ft(){this.vt=!0,this.Pt=!0}}class La{constructor(t){this.$t=t,this.Bt=new Map,this.Lt=ga(),this.qt=Ma(),this.Ut=new Yi(nr)}Kt(t){for(const e of t.It)t.Tt&&t.Tt.isFoundDocument()?this.Gt(e,t.Tt):this.Qt(e,t.key,t.Tt);for(const e of t.removedTargetIds)this.Qt(e,t.key,t.Tt)}jt(t){this.forEachTarget(t,(e=>{const n=this.Wt(e);switch(t.state){case 0:this.zt(e)&&n.Dt(t.resumeToken);break;case 1:n.Mt(),n.Vt||n.xt(),n.Dt(t.resumeToken);break;case 2:n.Mt(),n.Vt||this.removeTarget(e);break;case 3:this.zt(e)&&(n.Ft(),n.Dt(t.resumeToken));break;case 4:this.zt(e)&&(this.Ht(e),n.Dt(t.resumeToken));break;default:Ps()}}))}forEachTarget(t,e){t.targetIds.length>0?t.targetIds.forEach(e):this.Bt.forEach(((t,n)=>{this.zt(n)&&e(n)}))}Jt(t){const e=t.targetId,n=t.Et.count,s=this.Yt(e);if(s){const t=s.target;if(ao(t))if(0===n){const n=new lr(t.path);this.Qt(e,n,no.newNoDocument(n,or.min()))}else qs(1===n);else this.Xt(e)!==n&&(this.Ht(e),this.Ut=this.Ut.add(e))}}Zt(t){const e=new Map;this.Bt.forEach(((n,s)=>{const r=this.Yt(s);if(r){if(n.current&&ao(r.target)){const e=new lr(r.target.path);null!==this.Lt.get(e)||this.te(s,e)||this.Qt(s,e,no.newNoDocument(e,t))}n.St&&(e.set(s,n.Ct()),n.xt())}}));let n=Sa();this.qt.forEach(((t,e)=>{let s=!0;e.forEachWhile((t=>{const e=this.Yt(t);return!e||2===e.purpose||(s=!1,!1)})),s&&(n=n.add(t))})),this.Lt.forEach(((e,n)=>n.setReadTime(t)));const s=new Da(t,e,this.Ut,this.Lt,n);return this.Lt=ga(),this.qt=Ma(),this.Ut=new Yi(nr),s}Gt(t,e){if(!this.zt(t))return;const n=this.te(t,e.key)?2:0;this.Wt(t).Nt(e.key,n),this.Lt=this.Lt.insert(e.key,e),this.qt=this.qt.insert(e.key,this.ee(e.key).add(t))}Qt(t,e,n){if(!this.zt(t))return;const s=this.Wt(t);this.te(t,e)?s.Nt(e,1):s.kt(e),this.qt=this.qt.insert(e,this.ee(e).delete(t)),n&&(this.Lt=this.Lt.insert(e,n))}removeTarget(t){this.Bt.delete(t)}Xt(t){const e=this.Wt(t).Ct();return this.$t.getRemoteKeysForTarget(t).size+e.addedDocuments.size-e.removedDocuments.size}Ot(t){this.Wt(t).Ot()}Wt(t){let e=this.Bt.get(t);return e||(e=new Ra,this.Bt.set(t,e)),e}ee(t){let e=this.qt.get(t);return e||(e=new Yi(nr),this.qt=this.qt.insert(t,e)),e}zt(t){const e=null!==this.Yt(t);return e||Ms(\"WatchChangeAggregator\",\"Detected inactive target\",t),e}Yt(t){const e=this.Bt.get(t);return e&&e.Vt?null:this.$t.ne(t)}Ht(t){this.Bt.set(t,new Ra),this.$t.getRemoteKeysForTarget(t).forEach((e=>{this.Qt(t,e,null)}))}te(t,e){return this.$t.getRemoteKeysForTarget(t).has(e)}}function Ma(){return new zi(lr.comparator)}function Fa(){return new zi(lr.comparator)}const Oa={asc:\"ASCENDING\",desc:\"DESCENDING\"},Va={\"<\":\"LESS_THAN\",\"<=\":\"LESS_THAN_OR_EQUAL\",\">\":\"GREATER_THAN\",\">=\":\"GREATER_THAN_OR_EQUAL\",\"==\":\"EQUAL\",\"!=\":\"NOT_EQUAL\",\"array-contains\":\"ARRAY_CONTAINS\",in:\"IN\",\"not-in\":\"NOT_IN\",\"array-contains-any\":\"ARRAY_CONTAINS_ANY\"},Pa={and:\"AND\",or:\"OR\"};class qa{constructor(t,e){this.databaseId=t,this.wt=e}}function Ba(t,e){return t.wt?`${new Date(1e3*e.seconds).toISOString().replace(/\\.\\d*/,\"\").replace(\"Z\",\"\")}.${(\"000000000\"+e.nanoseconds).slice(-9)}Z`:{seconds:\"\"+e.seconds,nanos:e.nanoseconds}}function Ua(t,e){return t.wt?e.toBase64():e.toUint8Array()}function Ga(t,e){return Ba(t,e.toTimestamp())}function Ka(t){return qs(!!t),or.fromTimestamp(function(t){const e=Yr(t);return new ir(e.seconds,e.nanos)}(t))}function ja(t,e){return function(t){return new ur([\"projects\",t.projectId,\"databases\",t.database])}(t).child(\"documents\").child(e).canonicalString()}function $a(t){const e=ur.fromString(t);return qs(fu(e)),e}function Qa(t,e){return ja(t.databaseId,e.path)}function za(t,e){const n=$a(e);if(n.get(1)!==t.databaseId.projectId)throw new Ks(Gs.INVALID_ARGUMENT,\"Tried to deserialize key from different project: \"+n.get(1)+\" vs \"+t.databaseId.projectId);if(n.get(3)!==t.databaseId.database)throw new Ks(Gs.INVALID_ARGUMENT,\"Tried to deserialize key from different database: \"+n.get(3)+\" vs \"+t.databaseId.database);return new lr(Xa(n))}function Ha(t,e){return ja(t.databaseId,e)}function Wa(t){const e=$a(t);return 4===e.length?ur.emptyPath():Xa(e)}function Ya(t){return new ur([\"projects\",t.databaseId.projectId,\"databases\",t.databaseId.database]).canonicalString()}function Xa(t){return qs(t.length>4&&\"documents\"===t.get(4)),t.popFirst(5)}function Ja(t,e,n){return{name:Qa(t,e),fields:n.value.mapValue.fields}}function Za(t,e,n){const s=za(t,e.name),r=Ka(e.updateTime),i=e.createTime?Ka(e.createTime):or.min(),o=new to({mapValue:{fields:e.fields}}),a=no.newFoundDocument(s,r,i,o);return n&&a.setHasCommittedMutations(),n?a.setHasCommittedMutations():a}function tu(t,e){let n;if(e instanceof ea)n={update:Ja(t,e.key,e.value)};else if(e instanceof oa)n={delete:Qa(t,e.key)};else if(e instanceof na)n={update:Ja(t,e.key,e.data),updateMask:du(e.fieldMask)};else{if(!(e instanceof aa))return Ps();n={verify:Qa(t,e.key)}}return e.fieldTransforms.length>0&&(n.updateTransforms=e.fieldTransforms.map((t=>function(t,e){const n=e.transform;if(n instanceof Vo)return{fieldPath:e.field.canonicalString(),setToServerValue:\"REQUEST_TIME\"};if(n instanceof Po)return{fieldPath:e.field.canonicalString(),appendMissingElements:{values:n.elements}};if(n instanceof Bo)return{fieldPath:e.field.canonicalString(),removeAllFromArray:{values:n.elements}};if(n instanceof Go)return{fieldPath:e.field.canonicalString(),increment:n.gt};throw Ps()}(0,t)))),e.precondition.isNone||(n.currentDocument=function(t,e){return void 0!==e.updateTime?{updateTime:Ga(t,e.updateTime)}:void 0!==e.exists?{exists:e.exists}:Ps()}(t,e.precondition)),n}function eu(t,e){const n=e.currentDocument?function(t){return void 0!==t.updateTime?zo.updateTime(Ka(t.updateTime)):void 0!==t.exists?zo.exists(t.exists):zo.none()}(e.currentDocument):zo.none(),s=e.updateTransforms?e.updateTransforms.map((e=>function(t,e){let n=null;if(\"setToServerValue\"in e)qs(\"REQUEST_TIME\"===e.setToServerValue),n=new Vo;else if(\"appendMissingElements\"in e){const t=e.appendMissingElements.values||[];n=new Po(t)}else if(\"removeAllFromArray\"in e){const t=e.removeAllFromArray.values||[];n=new Bo(t)}else\"increment\"in e?n=new Go(t,e.increment):Ps();const s=hr.fromServerFormat(e.fieldPath);return new $o(s,n)}(t,e))):[];if(e.update){e.update.name;const r=za(t,e.update.name),i=new to({mapValue:{fields:e.update.fields}});if(e.updateMask){const t=function(t){const e=t.fieldPaths||[];return new Zi(e.map((t=>hr.fromServerFormat(t))))}(e.updateMask);return new na(r,i,t,n,s)}return new ea(r,i,n,s)}if(e.delete){const s=za(t,e.delete);return new oa(s,n)}if(e.verify){const s=za(t,e.verify);return new aa(s,n)}return Ps()}function nu(t,e){return{documents:[Ha(t,e.path)]}}function su(t,e){const n={structuredQuery:{}},s=e.path;null!==e.collectionGroup?(n.parent=Ha(t,s),n.structuredQuery.from=[{collectionId:e.collectionGroup,allDescendants:!0}]):(n.parent=Ha(t,s.popLast()),n.structuredQuery.from=[{collectionId:s.lastSegment()}]);const r=function(t){if(0!==t.length)return lu(Ai.create(t,\"and\"))}(e.filters);r&&(n.structuredQuery.where=r);const i=function(t){if(0!==t.length)return t.map((t=>function(t){return{field:cu(t.field),direction:ou(t.dir)}}(t)))}(e.orderBy);i&&(n.structuredQuery.orderBy=i);const o=function(t,e){return t.wt||jr(e)?e:{value:e}}(t,e.limit);var a;return null!==o&&(n.structuredQuery.limit=o),e.startAt&&(n.structuredQuery.startAt={before:(a=e.startAt).inclusive,values:a.position}),e.endAt&&(n.structuredQuery.endAt=function(t){return{before:!t.inclusive,values:t.position}}(e.endAt)),n}function ru(t){let e=Wa(t.parent);const n=t.structuredQuery,s=n.from?n.from.length:0;let r=null;if(s>0){qs(1===s);const t=n.from[0];t.allDescendants?r=t.collectionId:e=e.child(t.collectionId)}let i=[];n.where&&(i=function(t){const e=iu(t);return e instanceof Ai&&ki(e)?e.getFilters():[e]}(n.where));let o=[];n.orderBy&&(o=n.orderBy.map((t=>function(t){return new $i(hu(t.field),function(t){switch(t){case\"ASCENDING\":return\"asc\";case\"DESCENDING\":return\"desc\";default:return}}(t.direction))}(t))));let a=null;n.limit&&(a=function(t){let e;return e=\"object\"==typeof t?t.value:t,jr(e)?null:e}(n.limit));let u=null;n.startAt&&(u=function(t){const e=!!t.before,n=t.values||[];return new Ti(n,e)}(n.startAt));let c=null;return n.endAt&&(c=function(t){const e=!t.before,n=t.values||[];return new Ti(n,e)}(n.endAt)),fo(e,r,o,i,a,\"F\",u,c)}function iu(t){return void 0!==t.unaryFilter?function(t){switch(t.unaryFilter.op){case\"IS_NAN\":const e=hu(t.unaryFilter.field);return Di.create(e,\"==\",{doubleValue:NaN});case\"IS_NULL\":const n=hu(t.unaryFilter.field);return Di.create(n,\"==\",{nullValue:\"NULL_VALUE\"});case\"IS_NOT_NAN\":const s=hu(t.unaryFilter.field);return Di.create(s,\"!=\",{doubleValue:NaN});case\"IS_NOT_NULL\":const r=hu(t.unaryFilter.field);return Di.create(r,\"!=\",{nullValue:\"NULL_VALUE\"});default:return Ps()}}(t):void 0!==t.fieldFilter?function(t){return Di.create(hu(t.fieldFilter.field),function(t){switch(t){case\"EQUAL\":return\"==\";case\"NOT_EQUAL\":return\"!=\";case\"GREATER_THAN\":return\">\";case\"GREATER_THAN_OR_EQUAL\":return\">=\";case\"LESS_THAN\":return\"<\";case\"LESS_THAN_OR_EQUAL\":return\"<=\";case\"ARRAY_CONTAINS\":return\"array-contains\";case\"IN\":return\"in\";case\"NOT_IN\":return\"not-in\";case\"ARRAY_CONTAINS_ANY\":return\"array-contains-any\";default:return Ps()}}(t.fieldFilter.op),t.fieldFilter.value)}(t):void 0!==t.compositeFilter?function(t){return Ai.create(t.compositeFilter.filters.map((t=>iu(t))),function(t){switch(t){case\"AND\":return\"and\";case\"OR\":return\"or\";default:return Ps()}}(t.compositeFilter.op))}(t):Ps()}function ou(t){return Oa[t]}function au(t){return Va[t]}function uu(t){return Pa[t]}function cu(t){return{fieldPath:t.canonicalString()}}function hu(t){return hr.fromServerFormat(t.fieldPath)}function lu(t){return t instanceof Di?function(t){if(\"==\"===t.op){if(gi(t.value))return{unaryFilter:{field:cu(t.field),op:\"IS_NAN\"}};if(mi(t.value))return{unaryFilter:{field:cu(t.field),op:\"IS_NULL\"}}}else if(\"!=\"===t.op){if(gi(t.value))return{unaryFilter:{field:cu(t.field),op:\"IS_NOT_NAN\"}};if(mi(t.value))return{unaryFilter:{field:cu(t.field),op:\"IS_NOT_NULL\"}}}return{fieldFilter:{field:cu(t.field),op:au(t.op),value:t.value}}}(t):t instanceof Ai?function(t){const e=t.getFilters().map((t=>lu(t)));return 1===e.length?e[0]:{compositeFilter:{op:uu(t.op),filters:e}}}(t):Ps()}function du(t){const e=[];return t.fields.forEach((t=>e.push(t.canonicalString()))),{fieldPaths:e}}function fu(t){return t.length>=4&&\"projects\"===t.get(0)&&\"databases\"===t.get(2)}function mu(t){let e=\"\";for(let n=0;n<t.length;n++)e.length>0&&(e=pu(e)),e=gu(t.get(n),e);return pu(e)}function gu(t,e){let n=e;const s=t.length;for(let e=0;e<s;e++){const s=t.charAt(e);switch(s){case\"\\0\":n+=\"\u0001\u0010\";break;case\"\u0001\":n+=\"\u0001\u0011\";break;default:n+=s}}return n}function pu(t){return t+\"\u0001\u0001\"}function yu(t){const e=t.length;if(qs(e>=2),2===e)return qs(\"\u0001\"===t.charAt(0)&&\"\u0001\"===t.charAt(1)),ur.emptyPath();const n=e-2,s=[];let r=\"\";for(let i=0;i<e;){const e=t.indexOf(\"\u0001\",i);switch((e<0||e>n)&&Ps(),t.charAt(e+1)){case\"\u0001\":const n=t.substring(i,e);let o;0===r.length?o=n:(r+=n,o=r,r=\"\"),s.push(o);break;case\"\u0010\":r+=t.substring(i,e),r+=\"\\0\";break;case\"\u0011\":r+=t.substring(i,e+1);break;default:Ps()}i=e+2}return new ur(s)}const wu=[\"userId\",\"batchId\"];function vu(t,e){return[t,mu(e)]}function Iu(t,e,n){return[t,mu(e),n]}const bu={},Eu=[\"prefixPath\",\"collectionGroup\",\"readTime\",\"documentId\"],Tu=[\"prefixPath\",\"collectionGroup\",\"documentId\"],Su=[\"collectionGroup\",\"readTime\",\"prefixPath\",\"documentId\"],_u=[\"canonicalId\",\"targetId\"],xu=[\"targetId\",\"path\"],Du=[\"path\",\"targetId\"],Au=[\"collectionId\",\"parent\"],Cu=[\"indexId\",\"uid\"],Nu=[\"uid\",\"sequenceNumber\"],ku=[\"indexId\",\"uid\",\"arrayValue\",\"directionalValue\",\"orderedDocumentKey\",\"documentKey\"],Ru=[\"indexId\",\"uid\",\"orderedDocumentKey\"],Lu=[\"userId\",\"collectionPath\",\"documentId\"],Mu=[\"userId\",\"collectionPath\",\"largestBatchId\"],Fu=[\"userId\",\"collectionGroup\",\"largestBatchId\"],Ou=[\"mutationQueues\",\"mutations\",\"documentMutations\",\"remoteDocuments\",\"targets\",\"owner\",\"targetGlobal\",\"targetDocuments\",\"clientMetadata\",\"remoteDocumentGlobal\",\"collectionParents\",\"bundles\",\"namedQueries\"],Vu=[...Ou,\"documentOverlays\"],Pu=[\"mutationQueues\",\"mutations\",\"documentMutations\",\"remoteDocumentsV14\",\"targets\",\"owner\",\"targetGlobal\",\"targetDocuments\",\"clientMetadata\",\"remoteDocumentGlobal\",\"collectionParents\",\"bundles\",\"namedQueries\",\"documentOverlays\"],qu=Pu,Bu=[...qu,\"indexConfiguration\",\"indexState\",\"indexEntries\"];class Uu extends Sr{constructor(t,e){super(),this.se=t,this.currentSequenceNumber=e}}function Gu(t,e){const n=Us(t);return Ar.M(n.se,e)}class Ku{constructor(t,e,n,s){this.batchId=t,this.localWriteTime=e,this.baseMutations=n,this.mutations=s}applyToRemoteDocument(t,e){const n=e.mutationResults;for(let e=0;e<this.mutations.length;e++){const s=this.mutations[e];s.key.isEqual(t.key)&&Xo(s,t,n[e])}}applyToLocalView(t,e){for(const n of this.baseMutations)n.key.isEqual(t.key)&&(e=Jo(n,t,e,this.localWriteTime));for(const n of this.mutations)n.key.isEqual(t.key)&&(e=Jo(n,t,e,this.localWriteTime));return e}applyToLocalDocumentSet(t,e){const n=Ia();return this.mutations.forEach((s=>{const r=t.get(s.key),i=r.overlayedDocument;let o=this.applyToLocalView(i,r.mutatedFields);o=e.has(s.key)?null:o;const a=Yo(i,o);null!==a&&n.set(s.key,a),i.isValidDocument()||i.convertToNoDocument(or.min())})),n}keys(){return this.mutations.reduce(((t,e)=>t.add(e.key)),Sa())}isEqual(t){return this.batchId===t.batchId&&sr(this.mutations,t.mutations,((t,e)=>ta(t,e)))&&sr(this.baseMutations,t.baseMutations,((t,e)=>ta(t,e)))}}class ju{constructor(t,e,n,s){this.batch=t,this.commitVersion=e,this.mutationResults=n,this.docVersions=s}static from(t,e,n){qs(t.mutations.length===n.length);let s=Ea;const r=t.mutations;for(let t=0;t<r.length;t++)s=s.insert(r[t].key,n[t].version);return new ju(t,e,n,s)}}class $u{constructor(t,e){this.largestBatchId=t,this.mutation=e}getKey(){return this.mutation.key}isEqual(t){return null!==t&&this.mutation===t.mutation}toString(){return`Overlay{\\n      largestBatchId: ${this.largestBatchId},\\n      mutation: ${this.mutation.toString()}\\n    }`}}class Qu{constructor(t,e,n,s,r=or.min(),i=or.min(),o=Hr.EMPTY_BYTE_STRING){this.target=t,this.targetId=e,this.purpose=n,this.sequenceNumber=s,this.snapshotVersion=r,this.lastLimboFreeSnapshotVersion=i,this.resumeToken=o}withSequenceNumber(t){return new Qu(this.target,this.targetId,this.purpose,t,this.snapshotVersion,this.lastLimboFreeSnapshotVersion,this.resumeToken)}withResumeToken(t,e){return new Qu(this.target,this.targetId,this.purpose,this.sequenceNumber,e,this.lastLimboFreeSnapshotVersion,t)}withLastLimboFreeSnapshotVersion(t){return new Qu(this.target,this.targetId,this.purpose,this.sequenceNumber,this.snapshotVersion,t,this.resumeToken)}}class zu{constructor(t){this.ie=t}}function Hu(t,e){const n=e.key,s={prefixPath:n.getCollectionPath().popLast().toArray(),collectionGroup:n.collectionGroup,documentId:n.path.lastSegment(),readTime:Wu(e.readTime),hasCommittedMutations:e.hasCommittedMutations};if(e.isFoundDocument())s.document=function(t,e){return{name:Qa(t,e.key),fields:e.data.value.mapValue.fields,updateTime:Ba(t,e.version.toTimestamp()),createTime:Ba(t,e.createTime.toTimestamp())}}(t.ie,e);else if(e.isNoDocument())s.noDocument={path:n.path.toArray(),readTime:Yu(e.version)};else{if(!e.isUnknownDocument())return Ps();s.unknownDocument={path:n.path.toArray(),version:Yu(e.version)}}return s}function Wu(t){const e=t.toTimestamp();return[e.seconds,e.nanoseconds]}function Yu(t){const e=t.toTimestamp();return{seconds:e.seconds,nanoseconds:e.nanoseconds}}function Xu(t){const e=new ir(t.seconds,t.nanoseconds);return or.fromTimestamp(e)}function Ju(t,e){const n=(e.baseMutations||[]).map((e=>eu(t.ie,e)));for(let t=0;t<e.mutations.length-1;++t){const n=e.mutations[t];if(t+1<e.mutations.length&&void 0!==e.mutations[t+1].transform){const s=e.mutations[t+1];n.updateTransforms=s.transform.fieldTransforms,e.mutations.splice(t+1,1),++t}}const s=e.mutations.map((e=>eu(t.ie,e))),r=ir.fromMillis(e.localWriteTimeMs);return new Ku(e.batchId,r,n,s)}function Zu(t){const e=Xu(t.readTime),n=void 0!==t.lastLimboFreeSnapshotVersion?Xu(t.lastLimboFreeSnapshotVersion):or.min();let s;var r;return void 0!==t.query.documents?(qs(1===(r=t.query).documents.length),s=Io(mo(Wa(r.documents[0])))):s=function(t){return Io(ru(t))}(t.query),new Qu(s,t.targetId,0,t.lastListenSequenceNumber,e,n,Hr.fromBase64String(t.resumeToken))}function tc(t,e){const n=Yu(e.snapshotVersion),s=Yu(e.lastLimboFreeSnapshotVersion);let r;r=ao(e.target)?nu(t.ie,e.target):su(t.ie,e.target);const i=e.resumeToken.toBase64();return{targetId:e.targetId,canonicalId:io(e.target),readTime:n,resumeToken:i,lastListenSequenceNumber:e.sequenceNumber,lastLimboFreeSnapshotVersion:s,query:r}}function ec(t){const e=ru({parent:t.parent,structuredQuery:t.structuredQuery});return\"LAST\"===t.limitType?Eo(e,e.limit,\"L\"):e}function nc(t,e){return new $u(e.largestBatchId,eu(t.ie,e.overlayMutation))}function sc(t,e){const n=e.path.lastSegment();return[t,mu(e.path.popLast()),n]}function rc(t,e,n,s){return{indexId:t,uid:e.uid||\"\",sequenceNumber:n,readTime:Yu(s.readTime),documentKey:mu(s.documentKey.path),largestBatchId:s.largestBatchId}}class ic{getBundleMetadata(t,e){return oc(t).get(e).next((t=>{if(t)return{id:(e=t).bundleId,createTime:Xu(e.createTime),version:e.version};var e}))}saveBundleMetadata(t,e){return oc(t).put({bundleId:(n=e).id,createTime:Yu(Ka(n.createTime)),version:n.version});var n}getNamedQuery(t,e){return ac(t).get(e).next((t=>{if(t)return{name:(e=t).name,query:ec(e.bundledQuery),readTime:Xu(e.readTime)};var e}))}saveNamedQuery(t,e){return ac(t).put(function(t){return{name:t.name,readTime:Yu(Ka(t.readTime)),bundledQuery:t.bundledQuery}}(e))}}function oc(t){return Gu(t,\"bundles\")}function ac(t){return Gu(t,\"namedQueries\")}class uc{constructor(t,e){this.yt=t,this.userId=e}static re(t,e){const n=e.uid||\"\";return new uc(t,n)}getOverlay(t,e){return cc(t).get(sc(this.userId,e)).next((t=>t?nc(this.yt,t):null))}getOverlays(t,e){const n=va();return xr.forEach(e,(e=>this.getOverlay(t,e).next((t=>{null!==t&&n.set(e,t)})))).next((()=>n))}saveOverlays(t,e,n){const s=[];return n.forEach(((n,r)=>{const i=new $u(e,r);s.push(this.oe(t,i))})),xr.waitFor(s)}removeOverlaysForBatchId(t,e,n){const s=new Set;e.forEach((t=>s.add(mu(t.getCollectionPath()))));const r=[];return s.forEach((e=>{const s=IDBKeyRange.bound([this.userId,e,n],[this.userId,e,n+1],!1,!0);r.push(cc(t).Y(\"collectionPathOverlayIndex\",s))})),xr.waitFor(r)}getOverlaysForCollection(t,e,n){const s=va(),r=mu(e),i=IDBKeyRange.bound([this.userId,r,n],[this.userId,r,Number.POSITIVE_INFINITY],!0);return cc(t).W(\"collectionPathOverlayIndex\",i).next((t=>{for(const e of t){const t=nc(this.yt,e);s.set(t.getKey(),t)}return s}))}getOverlaysForCollectionGroup(t,e,n,s){const r=va();let i;const o=IDBKeyRange.bound([this.userId,e,n],[this.userId,e,Number.POSITIVE_INFINITY],!0);return cc(t).Z({index:\"collectionGroupOverlayIndex\",range:o},((t,e,n)=>{const o=nc(this.yt,e);r.size()<s||o.largestBatchId===i?(r.set(o.getKey(),o),i=o.largestBatchId):n.done()})).next((()=>r))}oe(t,e){return cc(t).put(function(t,e,n){const[s,r,i]=sc(e,n.mutation.key);return{userId:e,collectionPath:r,documentId:i,collectionGroup:n.mutation.key.getCollectionGroup(),largestBatchId:n.largestBatchId,overlayMutation:tu(t.ie,n.mutation)}}(this.yt,this.userId,e))}}function cc(t){return Gu(t,\"documentOverlays\")}class hc{constructor(){}ue(t,e){this.ce(t,e),e.ae()}ce(t,e){if(\"nullValue\"in t)this.he(e,5);else if(\"booleanValue\"in t)this.he(e,10),e.le(t.booleanValue?1:0);else if(\"integerValue\"in t)this.he(e,15),e.le(Xr(t.integerValue));else if(\"doubleValue\"in t){const n=Xr(t.doubleValue);isNaN(n)?this.he(e,13):(this.he(e,15),$r(n)?e.le(0):e.le(n))}else if(\"timestampValue\"in t){const n=t.timestampValue;this.he(e,20),\"string\"==typeof n?e.fe(n):(e.fe(`${n.seconds||\"\"}`),e.le(n.nanos||0))}else if(\"stringValue\"in t)this.de(t.stringValue,e),this._e(e);else if(\"bytesValue\"in t)this.he(e,30),e.we(Jr(t.bytesValue)),this._e(e);else if(\"referenceValue\"in t)this.me(t.referenceValue,e);else if(\"geoPointValue\"in t){const n=t.geoPointValue;this.he(e,45),e.le(n.latitude||0),e.le(n.longitude||0)}else\"mapValue\"in t?wi(t)?this.he(e,Number.MAX_SAFE_INTEGER):(this.ge(t.mapValue,e),this._e(e)):\"arrayValue\"in t?(this.ye(t.arrayValue,e),this._e(e)):Ps()}de(t,e){this.he(e,25),this.pe(t,e)}pe(t,e){e.fe(t)}ge(t,e){const n=t.fields||{};this.he(e,55);for(const t of Object.keys(n))this.de(t,e),this.ce(n[t],e)}ye(t,e){const n=t.values||[];this.he(e,50);for(const t of n)this.ce(t,e)}me(t,e){this.he(e,37),lr.fromName(t).path.forEach((t=>{this.he(e,60),this.pe(t,e)}))}he(t,e){t.le(e)}_e(t){t.le(2)}}function lc(t){if(0===t)return 8;let e=0;return t>>4==0&&(e+=4,t<<=4),t>>6==0&&(e+=2,t<<=2),t>>7==0&&(e+=1),e}function dc(t){const e=64-function(t){let e=0;for(let n=0;n<8;++n){const s=lc(255&t[n]);if(e+=s,8!==s)break}return e}(t);return Math.ceil(e/8)}hc.Ie=new hc;class fc{constructor(){this.buffer=new Uint8Array(1024),this.position=0}Te(t){const e=t[Symbol.iterator]();let n=e.next();for(;!n.done;)this.Ee(n.value),n=e.next();this.Ae()}Re(t){const e=t[Symbol.iterator]();let n=e.next();for(;!n.done;)this.be(n.value),n=e.next();this.Pe()}ve(t){for(const e of t){const t=e.charCodeAt(0);if(t<128)this.Ee(t);else if(t<2048)this.Ee(960|t>>>6),this.Ee(128|63&t);else if(e<\"\\ud800\"||\"\\udbff\"<e)this.Ee(480|t>>>12),this.Ee(128|63&t>>>6),this.Ee(128|63&t);else{const t=e.codePointAt(0);this.Ee(240|t>>>18),this.Ee(128|63&t>>>12),this.Ee(128|63&t>>>6),this.Ee(128|63&t)}}this.Ae()}Ve(t){for(const e of t){const t=e.charCodeAt(0);if(t<128)this.be(t);else if(t<2048)this.be(960|t>>>6),this.be(128|63&t);else if(e<\"\\ud800\"||\"\\udbff\"<e)this.be(480|t>>>12),this.be(128|63&t>>>6),this.be(128|63&t);else{const t=e.codePointAt(0);this.be(240|t>>>18),this.be(128|63&t>>>12),this.be(128|63&t>>>6),this.be(128|63&t)}}this.Pe()}Se(t){const e=this.De(t),n=dc(e);this.Ce(1+n),this.buffer[this.position++]=255&n;for(let t=e.length-n;t<e.length;++t)this.buffer[this.position++]=255&e[t]}xe(t){const e=this.De(t),n=dc(e);this.Ce(1+n),this.buffer[this.position++]=~(255&n);for(let t=e.length-n;t<e.length;++t)this.buffer[this.position++]=~(255&e[t])}Ne(){this.ke(255),this.ke(255)}Oe(){this.Me(255),this.Me(255)}reset(){this.position=0}seed(t){this.Ce(t.length),this.buffer.set(t,this.position),this.position+=t.length}Fe(){return this.buffer.slice(0,this.position)}De(t){const e=function(t){const e=new DataView(new ArrayBuffer(8));return e.setFloat64(0,t,!1),new Uint8Array(e.buffer)}(t),n=0!=(128&e[0]);e[0]^=n?255:128;for(let t=1;t<e.length;++t)e[t]^=n?255:0;return e}Ee(t){const e=255&t;0===e?(this.ke(0),this.ke(255)):255===e?(this.ke(255),this.ke(0)):this.ke(e)}be(t){const e=255&t;0===e?(this.Me(0),this.Me(255)):255===e?(this.Me(255),this.Me(0)):this.Me(t)}Ae(){this.ke(0),this.ke(1)}Pe(){this.Me(0),this.Me(1)}ke(t){this.Ce(1),this.buffer[this.position++]=t}Me(t){this.Ce(1),this.buffer[this.position++]=~t}Ce(t){const e=t+this.position;if(e<=this.buffer.length)return;let n=2*this.buffer.length;n<e&&(n=e);const s=new Uint8Array(n);s.set(this.buffer),this.buffer=s}}class mc{constructor(t){this.$e=t}we(t){this.$e.Te(t)}fe(t){this.$e.ve(t)}le(t){this.$e.Se(t)}ae(){this.$e.Ne()}}class gc{constructor(t){this.$e=t}we(t){this.$e.Re(t)}fe(t){this.$e.Ve(t)}le(t){this.$e.xe(t)}ae(){this.$e.Oe()}}class pc{constructor(){this.$e=new fc,this.Be=new mc(this.$e),this.Le=new gc(this.$e)}seed(t){this.$e.seed(t)}qe(t){return 0===t?this.Be:this.Le}Fe(){return this.$e.Fe()}reset(){this.$e.reset()}}class yc{constructor(t,e,n,s){this.indexId=t,this.documentKey=e,this.arrayValue=n,this.directionalValue=s}Ue(){const t=this.directionalValue.length,e=0===t||255===this.directionalValue[t-1]?t+1:t,n=new Uint8Array(e);return n.set(this.directionalValue,0),e!==t?n.set([0],this.directionalValue.length):++n[n.length-1],new yc(this.indexId,this.documentKey,this.arrayValue,n)}}function wc(t,e){let n=t.indexId-e.indexId;return 0!==n?n:(n=vc(t.arrayValue,e.arrayValue),0!==n?n:(n=vc(t.directionalValue,e.directionalValue),0!==n?n:lr.comparator(t.documentKey,e.documentKey)))}function vc(t,e){for(let n=0;n<t.length&&n<e.length;++n){const s=t[n]-e[n];if(0!==s)return s}return t.length-e.length}class Ic{constructor(t){this.collectionId=null!=t.collectionGroup?t.collectionGroup:t.path.lastSegment(),this.Ke=t.orderBy,this.Ge=[];for(const e of t.filters){const t=e;t.isInequality()?this.Qe=t:this.Ge.push(t)}}je(t){qs(t.collectionGroup===this.collectionId);const e=fr(t);if(void 0!==e&&!this.We(e))return!1;const n=mr(t);let s=0,r=0;for(;s<n.length&&this.We(n[s]);++s);if(s===n.length)return!0;if(void 0!==this.Qe){const t=n[s];if(!this.ze(this.Qe,t)||!this.He(this.Ke[r++],t))return!1;++s}for(;s<n.length;++s){const t=n[s];if(r>=this.Ke.length||!this.He(this.Ke[r++],t))return!1}return!0}We(t){for(const e of this.Ge)if(this.ze(e,t))return!0;return!1}ze(t,e){if(void 0===t||!t.field.isEqual(e.fieldPath))return!1;const n=\"array-contains\"===t.op||\"array-contains-any\"===t.op;return 2===e.kind===n}He(t,e){return!!t.field.isEqual(e.fieldPath)&&(0===e.kind&&\"asc\"===t.dir||1===e.kind&&\"desc\"===t.dir)}}function bc(t){var e,n;if(qs(t instanceof Di||t instanceof Ai),t instanceof Di){if(t instanceof Gi){const s=(null===(n=null===(e=t.value.arrayValue)||void 0===e?void 0:e.values)||void 0===n?void 0:n.map((e=>Di.create(t.field,\"==\",e))))||[];return Ai.create(s,\"or\")}return t}const s=t.filters.map((t=>bc(t)));return Ai.create(s,t.op)}function Ec(t){if(0===t.getFilters().length)return[];const e=xc(bc(t));return qs(_c(e)),Tc(e)||Sc(e)?[e]:e.getFilters()}function Tc(t){return t instanceof Di}function Sc(t){return t instanceof Ai&&ki(t)}function _c(t){return Tc(t)||Sc(t)||function(t){if(t instanceof Ai&&Ni(t)){for(const e of t.getFilters())if(!Tc(e)&&!Sc(e))return!1;return!0}return!1}(t)}function xc(t){if(qs(t instanceof Di||t instanceof Ai),t instanceof Di)return t;if(1===t.filters.length)return xc(t.filters[0]);const e=t.filters.map((t=>xc(t)));let n=Ai.create(e,t.op);return n=Cc(n),_c(n)?n:(qs(n instanceof Ai),qs(Ci(n)),qs(n.filters.length>1),n.filters.reduce(((t,e)=>Dc(t,e))))}function Dc(t,e){let n;return qs(t instanceof Di||t instanceof Ai),qs(e instanceof Di||e instanceof Ai),n=t instanceof Di?e instanceof Di?function(t,e){return Ai.create([t,e],\"and\")}(t,e):Ac(t,e):e instanceof Di?Ac(e,t):function(t,e){if(qs(t.filters.length>0&&e.filters.length>0),Ci(t)&&Ci(e))return Fi(t,e.getFilters());const n=Ni(t)?t:e,s=Ni(t)?e:t,r=n.filters.map((t=>Dc(t,s)));return Ai.create(r,\"or\")}(t,e),Cc(n)}function Ac(t,e){if(Ci(e))return Fi(e,t.getFilters());{const n=e.filters.map((e=>Dc(t,e)));return Ai.create(n,\"or\")}}function Cc(t){if(qs(t instanceof Di||t instanceof Ai),t instanceof Di)return t;const e=t.getFilters();if(1===e.length)return Cc(e[0]);if(Ri(t))return t;const n=e.map((t=>Cc(t))),s=[];return n.forEach((e=>{e instanceof Di?s.push(e):e instanceof Ai&&(e.op===t.op?s.push(...e.filters):s.push(e))})),1===s.length?s[0]:Ai.create(s,t.op)}class Nc{constructor(){this.Je=new kc}addToCollectionParentIndex(t,e){return this.Je.add(e),xr.resolve()}getCollectionParents(t,e){return xr.resolve(this.Je.getEntries(e))}addFieldIndex(t,e){return xr.resolve()}deleteFieldIndex(t,e){return xr.resolve()}getDocumentsMatchingTarget(t,e){return xr.resolve(null)}getIndexType(t,e){return xr.resolve(0)}getFieldIndexes(t,e){return xr.resolve([])}getNextCollectionGroupToUpdate(t){return xr.resolve(null)}getMinOffset(t,e){return xr.resolve(br.min())}getMinOffsetFromCollectionGroup(t,e){return xr.resolve(br.min())}updateCollectionGroup(t,e,n){return xr.resolve()}updateIndexEntries(t,e){return xr.resolve()}}class kc{constructor(){this.index={}}add(t){const e=t.lastSegment(),n=t.popLast(),s=this.index[e]||new Yi(ur.comparator),r=!s.has(n);return this.index[e]=s.add(n),r}has(t){const e=t.lastSegment(),n=t.popLast(),s=this.index[e];return s&&s.has(n)}getEntries(t){return(this.index[t]||new Yi(ur.comparator)).toArray()}}const Rc=new Uint8Array(0);class Lc{constructor(t,e){this.user=t,this.databaseId=e,this.Ye=new kc,this.Xe=new fa((t=>io(t)),((t,e)=>oo(t,e))),this.uid=t.uid||\"\"}addToCollectionParentIndex(t,e){if(!this.Ye.has(e)){const n=e.lastSegment(),s=e.popLast();t.addOnCommittedListener((()=>{this.Ye.add(e)}));const r={collectionId:n,parent:mu(s)};return Mc(t).put(r)}return xr.resolve()}getCollectionParents(t,e){const n=[],s=IDBKeyRange.bound([e,\"\"],[rr(e),\"\"],!1,!0);return Mc(t).W(s).next((t=>{for(const s of t){if(s.collectionId!==e)break;n.push(yu(s.parent))}return n}))}addFieldIndex(t,e){const n=Oc(t),s=function(t){return{indexId:t.indexId,collectionGroup:t.collectionGroup,fields:t.fields.map((t=>[t.fieldPath.canonicalString(),t.kind]))}}(e);delete s.indexId;const r=n.add(s);if(e.indexState){const n=Vc(t);return r.next((t=>{n.put(rc(t,this.user,e.indexState.sequenceNumber,e.indexState.offset))}))}return r.next()}deleteFieldIndex(t,e){const n=Oc(t),s=Vc(t),r=Fc(t);return n.delete(e.indexId).next((()=>s.delete(IDBKeyRange.bound([e.indexId],[e.indexId+1],!1,!0)))).next((()=>r.delete(IDBKeyRange.bound([e.indexId],[e.indexId+1],!1,!0))))}getDocumentsMatchingTarget(t,e){const n=Fc(t);let s=!0;const r=new Map;return xr.forEach(this.Ze(e),(e=>this.tn(t,e).next((t=>{s&&(s=!!t),r.set(e,t)})))).next((()=>{if(s){let t=Sa();const s=[];return xr.forEach(r,((r,i)=>{var o;Ms(\"IndexedDbIndexManager\",`Using index ${o=r,`id=${o.indexId}|cg=${o.collectionGroup}|f=${o.fields.map((t=>`${t.fieldPath}:${t.kind}`)).join(\",\")}`} to execute ${io(e)}`);const a=function(t,e){const n=fr(e);if(void 0===n)return null;for(const e of uo(t,n.fieldPath))switch(e.op){case\"array-contains-any\":return e.value.arrayValue.values||[];case\"array-contains\":return[e.value]}return null}(i,r),u=function(t,e){const n=new Map;for(const s of mr(e))for(const e of uo(t,s.fieldPath))switch(e.op){case\"==\":case\"in\":n.set(s.fieldPath.canonicalString(),e.value);break;case\"not-in\":case\"!=\":return n.set(s.fieldPath.canonicalString(),e.value),Array.from(n.values())}return null}(i,r),c=function(t,e){const n=[];let s=!0;for(const r of mr(e)){const e=0===r.kind?co(t,r.fieldPath,t.startAt):ho(t,r.fieldPath,t.startAt);n.push(e.value),s&&(s=e.inclusive)}return new Ti(n,s)}(i,r),h=function(t,e){const n=[];let s=!0;for(const r of mr(e)){const e=0===r.kind?ho(t,r.fieldPath,t.endAt):co(t,r.fieldPath,t.endAt);n.push(e.value),s&&(s=e.inclusive)}return new Ti(n,s)}(i,r),l=this.en(r,i,c),d=this.en(r,i,h),f=this.nn(r,i,u),m=this.sn(r.indexId,a,l,c.inclusive,d,h.inclusive,f);return xr.forEach(m,(r=>n.J(r,e.limit).next((e=>{e.forEach((e=>{const n=lr.fromSegments(e.documentKey);t.has(n)||(t=t.add(n),s.push(n))}))}))))})).next((()=>s))}return xr.resolve(null)}))}Ze(t){let e=this.Xe.get(t);return e||(e=0===t.filters.length?[t]:Ec(Ai.create(t.filters,\"and\")).map((e=>ro(t.path,t.collectionGroup,t.orderBy,e.getFilters(),t.limit,t.startAt,t.endAt))),this.Xe.set(t,e),e)}sn(t,e,n,s,r,i,o){const a=(null!=e?e.length:1)*Math.max(n.length,r.length),u=a/(null!=e?e.length:1),c=[];for(let h=0;h<a;++h){const a=e?this.rn(e[h/u]):Rc,l=this.on(t,a,n[h%u],s),d=this.un(t,a,r[h%u],i),f=o.map((e=>this.on(t,a,e,!0)));c.push(...this.createRange(l,d,f))}return c}on(t,e,n,s){const r=new yc(t,lr.empty(),e,n);return s?r:r.Ue()}un(t,e,n,s){const r=new yc(t,lr.empty(),e,n);return s?r.Ue():r}tn(t,e){const n=new Ic(e),s=null!=e.collectionGroup?e.collectionGroup:e.path.lastSegment();return this.getFieldIndexes(t,s).next((t=>{let e=null;for(const s of t)n.je(s)&&(!e||s.fields.length>e.fields.length)&&(e=s);return e}))}getIndexType(t,e){let n=2;const s=this.Ze(e);return xr.forEach(s,(e=>this.tn(t,e).next((t=>{t?0!==n&&t.fields.length<function(t){let e=new Yi(hr.comparator),n=!1;for(const s of t.filters)for(const t of s.getFlattenedFilters())t.field.isKeyField()||(\"array-contains\"===t.op||\"array-contains-any\"===t.op?n=!0:e=e.add(t.field));for(const n of t.orderBy)n.field.isKeyField()||(e=e.add(n.field));return e.size+(n?1:0)}(e)&&(n=1):n=0})))).next((()=>function(t){return null!==t.limit}(e)&&s.length>1&&2===n?1:n))}cn(t,e){const n=new pc;for(const s of mr(t)){const t=e.data.field(s.fieldPath);if(null==t)return null;const r=n.qe(s.kind);hc.Ie.ue(t,r)}return n.Fe()}rn(t){const e=new pc;return hc.Ie.ue(t,e.qe(0)),e.Fe()}an(t,e){const n=new pc;return hc.Ie.ue(li(this.databaseId,e),n.qe(function(t){const e=mr(t);return 0===e.length?0:e[e.length-1].kind}(t))),n.Fe()}nn(t,e,n){if(null===n)return[];let s=[];s.push(new pc);let r=0;for(const i of mr(t)){const t=n[r++];for(const n of s)if(this.hn(e,i.fieldPath)&&fi(t))s=this.ln(s,i,t);else{const e=n.qe(i.kind);hc.Ie.ue(t,e)}}return this.fn(s)}en(t,e,n){return this.nn(t,e,n.position)}fn(t){const e=[];for(let n=0;n<t.length;++n)e[n]=t[n].Fe();return e}ln(t,e,n){const s=[...t],r=[];for(const t of n.arrayValue.values||[])for(const n of s){const s=new pc;s.seed(n.Fe()),hc.Ie.ue(t,s.qe(e.kind)),r.push(s)}return r}hn(t,e){return!!t.filters.find((t=>t instanceof Di&&t.field.isEqual(e)&&(\"in\"===t.op||\"not-in\"===t.op)))}getFieldIndexes(t,e){const n=Oc(t),s=Vc(t);return(e?n.W(\"collectionGroupIndex\",IDBKeyRange.bound(e,e)):n.W()).next((t=>{const e=[];return xr.forEach(t,(t=>s.get([t.indexId,this.uid]).next((n=>{e.push(function(t,e){const n=e?new wr(e.sequenceNumber,new br(Xu(e.readTime),new lr(yu(e.documentKey)),e.largestBatchId)):wr.empty(),s=t.fields.map((([t,e])=>new pr(hr.fromServerFormat(t),e)));return new dr(t.indexId,t.collectionGroup,s,n)}(t,n))})))).next((()=>e))}))}getNextCollectionGroupToUpdate(t){return this.getFieldIndexes(t).next((t=>0===t.length?null:(t.sort(((t,e)=>{const n=t.indexState.sequenceNumber-e.indexState.sequenceNumber;return 0!==n?n:nr(t.collectionGroup,e.collectionGroup)})),t[0].collectionGroup)))}updateCollectionGroup(t,e,n){const s=Oc(t),r=Vc(t);return this.dn(t).next((t=>s.W(\"collectionGroupIndex\",IDBKeyRange.bound(e,e)).next((e=>xr.forEach(e,(e=>r.put(rc(e.indexId,this.user,t,n))))))))}updateIndexEntries(t,e){const n=new Map;return xr.forEach(e,((e,s)=>{const r=n.get(e.collectionGroup);return(r?xr.resolve(r):this.getFieldIndexes(t,e.collectionGroup)).next((r=>(n.set(e.collectionGroup,r),xr.forEach(r,(n=>this._n(t,e,n).next((e=>{const r=this.wn(s,n);return e.isEqual(r)?xr.resolve():this.mn(t,s,n,e,r)})))))))}))}gn(t,e,n,s){return Fc(t).put({indexId:s.indexId,uid:this.uid,arrayValue:s.arrayValue,directionalValue:s.directionalValue,orderedDocumentKey:this.an(n,e.key),documentKey:e.key.path.toArray()})}yn(t,e,n,s){return Fc(t).delete([s.indexId,this.uid,s.arrayValue,s.directionalValue,this.an(n,e.key),e.key.path.toArray()])}_n(t,e,n){const s=Fc(t);let r=new Yi(wc);return s.Z({index:\"documentKeyIndex\",range:IDBKeyRange.only([n.indexId,this.uid,this.an(n,e)])},((t,s)=>{r=r.add(new yc(n.indexId,e,s.arrayValue,s.directionalValue))})).next((()=>r))}wn(t,e){let n=new Yi(wc);const s=this.cn(e,t);if(null==s)return n;const r=fr(e);if(null!=r){const i=t.data.field(r.fieldPath);if(fi(i))for(const r of i.arrayValue.values||[])n=n.add(new yc(e.indexId,t.key,this.rn(r),s))}else n=n.add(new yc(e.indexId,t.key,Rc,s));return n}mn(t,e,n,s,r){Ms(\"IndexedDbIndexManager\",\"Updating index entries for document '%s'\",e.key);const i=[];return function(t,e,n,s,r){const i=t.getIterator(),o=e.getIterator();let a=Ji(i),u=Ji(o);for(;a||u;){let t=!1,e=!1;if(a&&u){const s=n(a,u);s<0?e=!0:s>0&&(t=!0)}else null!=a?e=!0:t=!0;t?(s(u),u=Ji(o)):e?(r(a),a=Ji(i)):(a=Ji(i),u=Ji(o))}}(s,r,wc,(s=>{i.push(this.gn(t,e,n,s))}),(s=>{i.push(this.yn(t,e,n,s))})),xr.waitFor(i)}dn(t){let e=1;return Vc(t).Z({index:\"sequenceNumberIndex\",reverse:!0,range:IDBKeyRange.upperBound([this.uid,Number.MAX_SAFE_INTEGER])},((t,n,s)=>{s.done(),e=n.sequenceNumber+1})).next((()=>e))}createRange(t,e,n){n=n.sort(((t,e)=>wc(t,e))).filter(((t,e,n)=>!e||0!==wc(t,n[e-1])));const s=[];s.push(t);for(const r of n){const n=wc(r,t),i=wc(r,e);if(0===n)s[0]=t.Ue();else if(n>0&&i<0)s.push(r),s.push(r.Ue());else if(i>0)break}s.push(e);const r=[];for(let t=0;t<s.length;t+=2){if(this.pn(s[t],s[t+1]))return[];const e=[s[t].indexId,this.uid,s[t].arrayValue,s[t].directionalValue,Rc,[]],n=[s[t+1].indexId,this.uid,s[t+1].arrayValue,s[t+1].directionalValue,Rc,[]];r.push(IDBKeyRange.bound(e,n))}return r}pn(t,e){return wc(t,e)>0}getMinOffsetFromCollectionGroup(t,e){return this.getFieldIndexes(t,e).next(Pc)}getMinOffset(t,e){return xr.mapArray(this.Ze(e),(e=>this.tn(t,e).next((t=>t||Ps())))).next(Pc)}}function Mc(t){return Gu(t,\"collectionParents\")}function Fc(t){return Gu(t,\"indexEntries\")}function Oc(t){return Gu(t,\"indexConfiguration\")}function Vc(t){return Gu(t,\"indexState\")}function Pc(t){qs(0!==t.length);let e=t[0].indexState.offset,n=e.largestBatchId;for(let s=1;s<t.length;s++){const r=t[s].indexState.offset;Er(r,e)<0&&(e=r),n<r.largestBatchId&&(n=r.largestBatchId)}return new br(e.readTime,e.documentKey,n)}const qc={didRun:!1,sequenceNumbersCollected:0,targetsRemoved:0,documentsRemoved:0};class Bc{constructor(t,e,n){this.cacheSizeCollectionThreshold=t,this.percentileToCollect=e,this.maximumSequenceNumbersToCollect=n}static withCacheSize(t){return new Bc(t,Bc.DEFAULT_COLLECTION_PERCENTILE,Bc.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT)}}function Uc(t,e,n){const s=t.store(\"mutations\"),r=t.store(\"documentMutations\"),i=[],o=IDBKeyRange.only(n.batchId);let a=0;const u=s.Z({range:o},((t,e,n)=>(a++,n.delete())));i.push(u.next((()=>{qs(1===a)})));const c=[];for(const t of n.mutations){const s=Iu(e,t.key.path,n.batchId);i.push(r.delete(s)),c.push(t.key)}return xr.waitFor(i).next((()=>c))}function Gc(t){if(!t)return 0;let e;if(t.document)e=t.document;else if(t.unknownDocument)e=t.unknownDocument;else{if(!t.noDocument)throw Ps();e=t.noDocument}return JSON.stringify(e).length}Bc.DEFAULT_COLLECTION_PERCENTILE=10,Bc.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT=1e3,Bc.DEFAULT=new Bc(41943040,Bc.DEFAULT_COLLECTION_PERCENTILE,Bc.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT),Bc.DISABLED=new Bc(-1,0,0);class Kc{constructor(t,e,n,s){this.userId=t,this.yt=e,this.indexManager=n,this.referenceDelegate=s,this.In={}}static re(t,e,n,s){qs(\"\"!==t.uid);const r=t.isAuthenticated()?t.uid:\"\";return new Kc(r,e,n,s)}checkEmpty(t){let e=!0;const n=IDBKeyRange.bound([this.userId,Number.NEGATIVE_INFINITY],[this.userId,Number.POSITIVE_INFINITY]);return $c(t).Z({index:\"userMutationsIndex\",range:n},((t,n,s)=>{e=!1,s.done()})).next((()=>e))}addMutationBatch(t,e,n,s){const r=Qc(t),i=$c(t);return i.add({}).next((o=>{qs(\"number\"==typeof o);const a=new Ku(o,e,n,s),u=function(t,e,n){const s=n.baseMutations.map((e=>tu(t.ie,e))),r=n.mutations.map((e=>tu(t.ie,e)));return{userId:e,batchId:n.batchId,localWriteTimeMs:n.localWriteTime.toMillis(),baseMutations:s,mutations:r}}(this.yt,this.userId,a),c=[];let h=new Yi(((t,e)=>nr(t.canonicalString(),e.canonicalString())));for(const t of s){const e=Iu(this.userId,t.key.path,o);h=h.add(t.key.path.popLast()),c.push(i.put(u)),c.push(r.put(e,bu))}return h.forEach((e=>{c.push(this.indexManager.addToCollectionParentIndex(t,e))})),t.addOnCommittedListener((()=>{this.In[o]=a.keys()})),xr.waitFor(c).next((()=>a))}))}lookupMutationBatch(t,e){return $c(t).get(e).next((t=>t?(qs(t.userId===this.userId),Ju(this.yt,t)):null))}Tn(t,e){return this.In[e]?xr.resolve(this.In[e]):this.lookupMutationBatch(t,e).next((t=>{if(t){const n=t.keys();return this.In[e]=n,n}return null}))}getNextMutationBatchAfterBatchId(t,e){const n=e+1,s=IDBKeyRange.lowerBound([this.userId,n]);let r=null;return $c(t).Z({index:\"userMutationsIndex\",range:s},((t,e,s)=>{e.userId===this.userId&&(qs(e.batchId>=n),r=Ju(this.yt,e)),s.done()})).next((()=>r))}getHighestUnacknowledgedBatchId(t){const e=IDBKeyRange.upperBound([this.userId,Number.POSITIVE_INFINITY]);let n=-1;return $c(t).Z({index:\"userMutationsIndex\",range:e,reverse:!0},((t,e,s)=>{n=e.batchId,s.done()})).next((()=>n))}getAllMutationBatches(t){const e=IDBKeyRange.bound([this.userId,-1],[this.userId,Number.POSITIVE_INFINITY]);return $c(t).W(\"userMutationsIndex\",e).next((t=>t.map((t=>Ju(this.yt,t)))))}getAllMutationBatchesAffectingDocumentKey(t,e){const n=vu(this.userId,e.path),s=IDBKeyRange.lowerBound(n),r=[];return Qc(t).Z({range:s},((n,s,i)=>{const[o,a,u]=n,c=yu(a);if(o===this.userId&&e.path.isEqual(c))return $c(t).get(u).next((t=>{if(!t)throw Ps();qs(t.userId===this.userId),r.push(Ju(this.yt,t))}));i.done()})).next((()=>r))}getAllMutationBatchesAffectingDocumentKeys(t,e){let n=new Yi(nr);const s=[];return e.forEach((e=>{const r=vu(this.userId,e.path),i=IDBKeyRange.lowerBound(r),o=Qc(t).Z({range:i},((t,s,r)=>{const[i,o,a]=t,u=yu(o);i===this.userId&&e.path.isEqual(u)?n=n.add(a):r.done()}));s.push(o)})),xr.waitFor(s).next((()=>this.En(t,n)))}getAllMutationBatchesAffectingQuery(t,e){const n=e.path,s=n.length+1,r=vu(this.userId,n),i=IDBKeyRange.lowerBound(r);let o=new Yi(nr);return Qc(t).Z({range:i},((t,e,r)=>{const[i,a,u]=t,c=yu(a);i===this.userId&&n.isPrefixOf(c)?c.length===s&&(o=o.add(u)):r.done()})).next((()=>this.En(t,o)))}En(t,e){const n=[],s=[];return e.forEach((e=>{s.push($c(t).get(e).next((t=>{if(null===t)throw Ps();qs(t.userId===this.userId),n.push(Ju(this.yt,t))})))})),xr.waitFor(s).next((()=>n))}removeMutationBatch(t,e){return Uc(t.se,this.userId,e).next((n=>(t.addOnCommittedListener((()=>{this.An(e.batchId)})),xr.forEach(n,(e=>this.referenceDelegate.markPotentiallyOrphaned(t,e))))))}An(t){delete this.In[t]}performConsistencyCheck(t){return this.checkEmpty(t).next((e=>{if(!e)return xr.resolve();const n=IDBKeyRange.lowerBound([this.userId]),s=[];return Qc(t).Z({range:n},((t,e,n)=>{if(t[0]===this.userId){const e=yu(t[1]);s.push(e)}else n.done()})).next((()=>{qs(0===s.length)}))}))}containsKey(t,e){return jc(t,this.userId,e)}Rn(t){return zc(t).get(this.userId).next((t=>t||{userId:this.userId,lastAcknowledgedBatchId:-1,lastStreamToken:\"\"}))}}function jc(t,e,n){const s=vu(e,n.path),r=s[1],i=IDBKeyRange.lowerBound(s);let o=!1;return Qc(t).Z({range:i,X:!0},((t,n,s)=>{const[i,a,u]=t;i===e&&a===r&&(o=!0),s.done()})).next((()=>o))}function $c(t){return Gu(t,\"mutations\")}function Qc(t){return Gu(t,\"documentMutations\")}function zc(t){return Gu(t,\"mutationQueues\")}class Hc{constructor(t){this.bn=t}next(){return this.bn+=2,this.bn}static Pn(){return new Hc(0)}static vn(){return new Hc(-1)}}class Wc{constructor(t,e){this.referenceDelegate=t,this.yt=e}allocateTargetId(t){return this.Vn(t).next((e=>{const n=new Hc(e.highestTargetId);return e.highestTargetId=n.next(),this.Sn(t,e).next((()=>e.highestTargetId))}))}getLastRemoteSnapshotVersion(t){return this.Vn(t).next((t=>or.fromTimestamp(new ir(t.lastRemoteSnapshotVersion.seconds,t.lastRemoteSnapshotVersion.nanoseconds))))}getHighestSequenceNumber(t){return this.Vn(t).next((t=>t.highestListenSequenceNumber))}setTargetsMetadata(t,e,n){return this.Vn(t).next((s=>(s.highestListenSequenceNumber=e,n&&(s.lastRemoteSnapshotVersion=n.toTimestamp()),e>s.highestListenSequenceNumber&&(s.highestListenSequenceNumber=e),this.Sn(t,s))))}addTargetData(t,e){return this.Dn(t,e).next((()=>this.Vn(t).next((n=>(n.targetCount+=1,this.Cn(e,n),this.Sn(t,n))))))}updateTargetData(t,e){return this.Dn(t,e)}removeTargetData(t,e){return this.removeMatchingKeysForTargetId(t,e.targetId).next((()=>Yc(t).delete(e.targetId))).next((()=>this.Vn(t))).next((e=>(qs(e.targetCount>0),e.targetCount-=1,this.Sn(t,e))))}removeTargets(t,e,n){let s=0;const r=[];return Yc(t).Z(((i,o)=>{const a=Zu(o);a.sequenceNumber<=e&&null===n.get(a.targetId)&&(s++,r.push(this.removeTargetData(t,a)))})).next((()=>xr.waitFor(r))).next((()=>s))}forEachTarget(t,e){return Yc(t).Z(((t,n)=>{const s=Zu(n);e(s)}))}Vn(t){return Xc(t).get(\"targetGlobalKey\").next((t=>(qs(null!==t),t)))}Sn(t,e){return Xc(t).put(\"targetGlobalKey\",e)}Dn(t,e){return Yc(t).put(tc(this.yt,e))}Cn(t,e){let n=!1;return t.targetId>e.highestTargetId&&(e.highestTargetId=t.targetId,n=!0),t.sequenceNumber>e.highestListenSequenceNumber&&(e.highestListenSequenceNumber=t.sequenceNumber,n=!0),n}getTargetCount(t){return this.Vn(t).next((t=>t.targetCount))}getTargetData(t,e){const n=io(e),s=IDBKeyRange.bound([n,Number.NEGATIVE_INFINITY],[n,Number.POSITIVE_INFINITY]);let r=null;return Yc(t).Z({range:s,index:\"queryTargetsIndex\"},((t,n,s)=>{const i=Zu(n);oo(e,i.target)&&(r=i,s.done())})).next((()=>r))}addMatchingKeys(t,e,n){const s=[],r=Jc(t);return e.forEach((e=>{const i=mu(e.path);s.push(r.put({targetId:n,path:i})),s.push(this.referenceDelegate.addReference(t,n,e))})),xr.waitFor(s)}removeMatchingKeys(t,e,n){const s=Jc(t);return xr.forEach(e,(e=>{const r=mu(e.path);return xr.waitFor([s.delete([n,r]),this.referenceDelegate.removeReference(t,n,e)])}))}removeMatchingKeysForTargetId(t,e){const n=Jc(t),s=IDBKeyRange.bound([e],[e+1],!1,!0);return n.delete(s)}getMatchingKeysForTargetId(t,e){const n=IDBKeyRange.bound([e],[e+1],!1,!0),s=Jc(t);let r=Sa();return s.Z({range:n,X:!0},((t,e,n)=>{const s=yu(t[1]),i=new lr(s);r=r.add(i)})).next((()=>r))}containsKey(t,e){const n=mu(e.path),s=IDBKeyRange.bound([n],[rr(n)],!1,!0);let r=0;return Jc(t).Z({index:\"documentTargetsIndex\",X:!0,range:s},(([t,e],n,s)=>{0!==t&&(r++,s.done())})).next((()=>r>0))}ne(t,e){return Yc(t).get(e).next((t=>t?Zu(t):null))}}function Yc(t){return Gu(t,\"targets\")}function Xc(t){return Gu(t,\"targetGlobal\")}function Jc(t){return Gu(t,\"targetDocuments\")}function Zc([t,e],[n,s]){const r=nr(t,n);return 0===r?nr(e,s):r}class th{constructor(t){this.xn=t,this.buffer=new Yi(Zc),this.Nn=0}kn(){return++this.Nn}On(t){const e=[t,this.kn()];if(this.buffer.size<this.xn)this.buffer=this.buffer.add(e);else{const t=this.buffer.last();Zc(e,t)<0&&(this.buffer=this.buffer.delete(t).add(e))}}get maxValue(){return this.buffer.last()[0]}}class eh{constructor(t,e,n){this.garbageCollector=t,this.asyncQueue=e,this.localStore=n,this.Mn=null}start(){-1!==this.garbageCollector.params.cacheSizeCollectionThreshold&&this.Fn(6e4)}stop(){this.Mn&&(this.Mn.cancel(),this.Mn=null)}get started(){return null!==this.Mn}Fn(t){Ms(\"LruGarbageCollector\",`Garbage collection scheduled in ${t}ms`),this.Mn=this.asyncQueue.enqueueAfterDelay(\"lru_garbage_collection\",t,(async()=>{this.Mn=null;try{await this.localStore.collectGarbage(this.garbageCollector)}catch(t){kr(t)?Ms(\"LruGarbageCollector\",\"Ignoring IndexedDB error during garbage collection: \",t):await _r(t)}await this.Fn(3e5)}))}}class nh{constructor(t,e){this.$n=t,this.params=e}calculateTargetCount(t,e){return this.$n.Bn(t).next((t=>Math.floor(e/100*t)))}nthSequenceNumber(t,e){if(0===e)return xr.resolve(Pr.at);const n=new th(e);return this.$n.forEachTarget(t,(t=>n.On(t.sequenceNumber))).next((()=>this.$n.Ln(t,(t=>n.On(t))))).next((()=>n.maxValue))}removeTargets(t,e,n){return this.$n.removeTargets(t,e,n)}removeOrphanedDocuments(t,e){return this.$n.removeOrphanedDocuments(t,e)}collect(t,e){return-1===this.params.cacheSizeCollectionThreshold?(Ms(\"LruGarbageCollector\",\"Garbage collection skipped; disabled\"),xr.resolve(qc)):this.getCacheSize(t).next((n=>n<this.params.cacheSizeCollectionThreshold?(Ms(\"LruGarbageCollector\",`Garbage collection skipped; Cache size ${n} is lower than threshold ${this.params.cacheSizeCollectionThreshold}`),qc):this.qn(t,e)))}getCacheSize(t){return this.$n.getCacheSize(t)}qn(t,e){let n,s,r,i,o,a,u;const c=Date.now();return this.calculateTargetCount(t,this.params.percentileToCollect).next((e=>(e>this.params.maximumSequenceNumbersToCollect?(Ms(\"LruGarbageCollector\",`Capping sequence numbers to collect down to the maximum of ${this.params.maximumSequenceNumbersToCollect} from ${e}`),s=this.params.maximumSequenceNumbersToCollect):s=e,i=Date.now(),this.nthSequenceNumber(t,s)))).next((s=>(n=s,o=Date.now(),this.removeTargets(t,n,e)))).next((e=>(r=e,a=Date.now(),this.removeOrphanedDocuments(t,n)))).next((t=>(u=Date.now(),Rs()<=E.DEBUG&&Ms(\"LruGarbageCollector\",`LRU Garbage Collection\\n\\tCounted targets in ${i-c}ms\\n\\tDetermined least recently used ${s} in `+(o-i)+\"ms\\n\"+`\\tRemoved ${r} targets in `+(a-o)+\"ms\\n\"+`\\tRemoved ${t} documents in `+(u-a)+\"ms\\n\"+`Total Duration: ${u-c}ms`),xr.resolve({didRun:!0,sequenceNumbersCollected:s,targetsRemoved:r,documentsRemoved:t}))))}}class sh{constructor(t,e){this.db=t,this.garbageCollector=function(t,e){return new nh(t,e)}(this,e)}Bn(t){const e=this.Un(t);return this.db.getTargetCache().getTargetCount(t).next((t=>e.next((e=>t+e))))}Un(t){let e=0;return this.Ln(t,(t=>{e++})).next((()=>e))}forEachTarget(t,e){return this.db.getTargetCache().forEachTarget(t,e)}Ln(t,e){return this.Kn(t,((t,n)=>e(n)))}addReference(t,e,n){return rh(t,n)}removeReference(t,e,n){return rh(t,n)}removeTargets(t,e,n){return this.db.getTargetCache().removeTargets(t,e,n)}markPotentiallyOrphaned(t,e){return rh(t,e)}Gn(t,e){return function(t,e){let n=!1;return zc(t).tt((s=>jc(t,s,e).next((t=>(t&&(n=!0),xr.resolve(!t)))))).next((()=>n))}(t,e)}removeOrphanedDocuments(t,e){const n=this.db.getRemoteDocumentCache().newChangeBuffer(),s=[];let r=0;return this.Kn(t,((i,o)=>{if(o<=e){const e=this.Gn(t,i).next((e=>{if(!e)return r++,n.getEntry(t,i).next((()=>(n.removeEntry(i,or.min()),Jc(t).delete([0,mu(i.path)]))))}));s.push(e)}})).next((()=>xr.waitFor(s))).next((()=>n.apply(t))).next((()=>r))}removeTarget(t,e){const n=e.withSequenceNumber(t.currentSequenceNumber);return this.db.getTargetCache().updateTargetData(t,n)}updateLimboDocument(t,e){return rh(t,e)}Kn(t,e){const n=Jc(t);let s,r=Pr.at;return n.Z({index:\"documentTargetsIndex\"},(([t,n],{path:i,sequenceNumber:o})=>{0===t?(r!==Pr.at&&e(new lr(yu(s)),r),r=o,s=i):r=Pr.at})).next((()=>{r!==Pr.at&&e(new lr(yu(s)),r)}))}getCacheSize(t){return this.db.getRemoteDocumentCache().getSize(t)}}function rh(t,e){return Jc(t).put(function(t,e){return{targetId:0,path:mu(t.path),sequenceNumber:e}}(e,t.currentSequenceNumber))}class ih{constructor(){this.changes=new fa((t=>t.toString()),((t,e)=>t.isEqual(e))),this.changesApplied=!1}addEntry(t){this.assertNotApplied(),this.changes.set(t.key,t)}removeEntry(t,e){this.assertNotApplied(),this.changes.set(t,no.newInvalidDocument(t).setReadTime(e))}getEntry(t,e){this.assertNotApplied();const n=this.changes.get(e);return void 0!==n?xr.resolve(n):this.getFromCache(t,e)}getEntries(t,e){return this.getAllFromCache(t,e)}apply(t){return this.assertNotApplied(),this.changesApplied=!0,this.applyChanges(t)}assertNotApplied(){}}class oh{constructor(t){this.yt=t}setIndexManager(t){this.indexManager=t}addEntry(t,e,n){return hh(t).put(n)}removeEntry(t,e,n){return hh(t).delete(function(t,e){const n=t.path.toArray();return[n.slice(0,n.length-2),n[n.length-2],Wu(e),n[n.length-1]]}(e,n))}updateMetadata(t,e){return this.getMetadata(t).next((n=>(n.byteSize+=e,this.Qn(t,n))))}getEntry(t,e){let n=no.newInvalidDocument(e);return hh(t).Z({index:\"documentKeyIndex\",range:IDBKeyRange.only(lh(e))},((t,s)=>{n=this.jn(e,s)})).next((()=>n))}Wn(t,e){let n={size:0,document:no.newInvalidDocument(e)};return hh(t).Z({index:\"documentKeyIndex\",range:IDBKeyRange.only(lh(e))},((t,s)=>{n={document:this.jn(e,s),size:Gc(s)}})).next((()=>n))}getEntries(t,e){let n=ga();return this.zn(t,e,((t,e)=>{const s=this.jn(t,e);n=n.insert(t,s)})).next((()=>n))}Hn(t,e){let n=ga(),s=new zi(lr.comparator);return this.zn(t,e,((t,e)=>{const r=this.jn(t,e);n=n.insert(t,r),s=s.insert(t,Gc(e))})).next((()=>({documents:n,Jn:s})))}zn(t,e,n){if(e.isEmpty())return xr.resolve();let s=new Yi(fh);e.forEach((t=>s=s.add(t)));const r=IDBKeyRange.bound(lh(s.first()),lh(s.last())),i=s.getIterator();let o=i.getNext();return hh(t).Z({index:\"documentKeyIndex\",range:r},((t,e,s)=>{const r=lr.fromSegments([...e.prefixPath,e.collectionGroup,e.documentId]);for(;o&&fh(o,r)<0;)n(o,null),o=i.getNext();o&&o.isEqual(r)&&(n(o,e),o=i.hasNext()?i.getNext():null),o?s.j(lh(o)):s.done()})).next((()=>{for(;o;)n(o,null),o=i.hasNext()?i.getNext():null}))}getDocumentsMatchingQuery(t,e,n,s){const r=e.path,i=[r.popLast().toArray(),r.lastSegment(),Wu(n.readTime),n.documentKey.path.isEmpty()?\"\":n.documentKey.path.lastSegment()],o=[r.popLast().toArray(),r.lastSegment(),[Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],\"\"];return hh(t).W(IDBKeyRange.bound(i,o,!0)).next((t=>{let n=ga();for(const r of t){const t=this.jn(lr.fromSegments(r.prefixPath.concat(r.collectionGroup,r.documentId)),r);t.isFoundDocument()&&(xo(e,t)||s.has(t.key))&&(n=n.insert(t.key,t))}return n}))}getAllFromCollectionGroup(t,e,n,s){let r=ga();const i=dh(e,n),o=dh(e,br.max());return hh(t).Z({index:\"collectionGroupIndex\",range:IDBKeyRange.bound(i,o,!0)},((t,e,n)=>{const i=this.jn(lr.fromSegments(e.prefixPath.concat(e.collectionGroup,e.documentId)),e);r=r.insert(i.key,i),r.size===s&&n.done()})).next((()=>r))}newChangeBuffer(t){return new uh(this,!!t&&t.trackRemovals)}getSize(t){return this.getMetadata(t).next((t=>t.byteSize))}getMetadata(t){return ch(t).get(\"remoteDocumentGlobalKey\").next((t=>(qs(!!t),t)))}Qn(t,e){return ch(t).put(\"remoteDocumentGlobalKey\",e)}jn(t,e){if(e){const t=function(t,e){let n;if(e.document)n=Za(t.ie,e.document,!!e.hasCommittedMutations);else if(e.noDocument){const t=lr.fromSegments(e.noDocument.path),s=Xu(e.noDocument.readTime);n=no.newNoDocument(t,s),e.hasCommittedMutations&&n.setHasCommittedMutations()}else{if(!e.unknownDocument)return Ps();{const t=lr.fromSegments(e.unknownDocument.path),s=Xu(e.unknownDocument.version);n=no.newUnknownDocument(t,s)}}return e.readTime&&n.setReadTime(function(t){const e=new ir(t[0],t[1]);return or.fromTimestamp(e)}(e.readTime)),n}(this.yt,e);if(!t.isNoDocument()||!t.version.isEqual(or.min()))return t}return no.newInvalidDocument(t)}}function ah(t){return new oh(t)}class uh extends ih{constructor(t,e){super(),this.Yn=t,this.trackRemovals=e,this.Xn=new fa((t=>t.toString()),((t,e)=>t.isEqual(e)))}applyChanges(t){const e=[];let n=0,s=new Yi(((t,e)=>nr(t.canonicalString(),e.canonicalString())));return this.changes.forEach(((r,i)=>{const o=this.Xn.get(r);if(e.push(this.Yn.removeEntry(t,r,o.readTime)),i.isValidDocument()){const a=Hu(this.Yn.yt,i);s=s.add(r.path.popLast());const u=Gc(a);n+=u-o.size,e.push(this.Yn.addEntry(t,r,a))}else if(n-=o.size,this.trackRemovals){const n=Hu(this.Yn.yt,i.convertToNoDocument(or.min()));e.push(this.Yn.addEntry(t,r,n))}})),s.forEach((n=>{e.push(this.Yn.indexManager.addToCollectionParentIndex(t,n))})),e.push(this.Yn.updateMetadata(t,n)),xr.waitFor(e)}getFromCache(t,e){return this.Yn.Wn(t,e).next((t=>(this.Xn.set(e,{size:t.size,readTime:t.document.readTime}),t.document)))}getAllFromCache(t,e){return this.Yn.Hn(t,e).next((({documents:t,Jn:e})=>(e.forEach(((e,n)=>{this.Xn.set(e,{size:n,readTime:t.get(e).readTime})})),t)))}}function ch(t){return Gu(t,\"remoteDocumentGlobal\")}function hh(t){return Gu(t,\"remoteDocumentsV14\")}function lh(t){const e=t.path.toArray();return[e.slice(0,e.length-2),e[e.length-2],e[e.length-1]]}function dh(t,e){const n=e.documentKey.path.toArray();return[t,Wu(e.readTime),n.slice(0,n.length-2),n.length>0?n[n.length-1]:\"\"]}function fh(t,e){const n=t.path.toArray(),s=e.path.toArray();let r=0;for(let t=0;t<n.length-2&&t<s.length-2;++t)if(r=nr(n[t],s[t]),r)return r;return r=nr(n.length,s.length),r||(r=nr(n[n.length-2],s[s.length-2]),r||nr(n[n.length-1],s[s.length-1]))}class mh{constructor(t,e){this.overlayedDocument=t,this.mutatedFields=e}}class gh{constructor(t,e,n,s){this.remoteDocumentCache=t,this.mutationQueue=e,this.documentOverlayCache=n,this.indexManager=s}getDocument(t,e){let n=null;return this.documentOverlayCache.getOverlay(t,e).next((s=>(n=s,this.remoteDocumentCache.getEntry(t,e)))).next((t=>(null!==n&&Jo(n.mutation,t,Zi.empty(),ir.now()),t)))}getDocuments(t,e){return this.remoteDocumentCache.getEntries(t,e).next((e=>this.getLocalViewOfDocuments(t,e,Sa()).next((()=>e))))}getLocalViewOfDocuments(t,e,n=Sa()){const s=va();return this.populateOverlays(t,s,e).next((()=>this.computeViews(t,e,s,n).next((t=>{let e=ya();return t.forEach(((t,n)=>{e=e.insert(t,n.overlayedDocument)})),e}))))}getOverlayedDocuments(t,e){const n=va();return this.populateOverlays(t,n,e).next((()=>this.computeViews(t,e,n,Sa())))}populateOverlays(t,e,n){const s=[];return n.forEach((t=>{e.has(t)||s.push(t)})),this.documentOverlayCache.getOverlays(t,s).next((t=>{t.forEach(((t,n)=>{e.set(t,n)}))}))}computeViews(t,e,n,s){let r=ga();const i=ba(),o=ba();return e.forEach(((t,e)=>{const o=n.get(e.key);s.has(e.key)&&(void 0===o||o.mutation instanceof na)?r=r.insert(e.key,e):void 0!==o?(i.set(e.key,o.mutation.getFieldMask()),Jo(o.mutation,e,o.mutation.getFieldMask(),ir.now())):i.set(e.key,Zi.empty())})),this.recalculateAndSaveOverlays(t,r).next((t=>(t.forEach(((t,e)=>i.set(t,e))),e.forEach(((t,e)=>{var n;return o.set(t,new mh(e,null!==(n=i.get(t))&&void 0!==n?n:null))})),o)))}recalculateAndSaveOverlays(t,e){const n=ba();let s=new zi(((t,e)=>t-e)),r=Sa();return this.mutationQueue.getAllMutationBatchesAffectingDocumentKeys(t,e).next((t=>{for(const r of t)r.keys().forEach((t=>{const i=e.get(t);if(null===i)return;let o=n.get(t)||Zi.empty();o=r.applyToLocalView(i,o),n.set(t,o);const a=(s.get(r.batchId)||Sa()).add(t);s=s.insert(r.batchId,a)}))})).next((()=>{const i=[],o=s.getReverseIterator();for(;o.hasNext();){const s=o.getNext(),a=s.key,u=s.value,c=Ia();u.forEach((t=>{if(!r.has(t)){const s=Yo(e.get(t),n.get(t));null!==s&&c.set(t,s),r=r.add(t)}})),i.push(this.documentOverlayCache.saveOverlays(t,a,c))}return xr.waitFor(i)})).next((()=>n))}recalculateAndSaveOverlaysForDocumentKeys(t,e){return this.remoteDocumentCache.getEntries(t,e).next((e=>this.recalculateAndSaveOverlays(t,e)))}getDocumentsMatchingQuery(t,e,n){return function(t){return lr.isDocumentKey(t.path)&&null===t.collectionGroup&&0===t.filters.length}(e)?this.getDocumentsMatchingDocumentQuery(t,e.path):wo(e)?this.getDocumentsMatchingCollectionGroupQuery(t,e,n):this.getDocumentsMatchingCollectionQuery(t,e,n)}getNextDocuments(t,e,n,s){return this.remoteDocumentCache.getAllFromCollectionGroup(t,e,n,s).next((r=>{const i=s-r.size>0?this.documentOverlayCache.getOverlaysForCollectionGroup(t,e,n.largestBatchId,s-r.size):xr.resolve(va());let o=-1,a=r;return i.next((e=>xr.forEach(e,((e,n)=>(o<n.largestBatchId&&(o=n.largestBatchId),r.get(e)?xr.resolve():this.remoteDocumentCache.getEntry(t,e).next((t=>{a=a.insert(e,t)}))))).next((()=>this.populateOverlays(t,e,r))).next((()=>this.computeViews(t,a,e,Sa()))).next((t=>({batchId:o,changes:wa(t)})))))}))}getDocumentsMatchingDocumentQuery(t,e){return this.getDocument(t,new lr(e)).next((t=>{let e=ya();return t.isFoundDocument()&&(e=e.insert(t.key,t)),e}))}getDocumentsMatchingCollectionGroupQuery(t,e,n){const s=e.collectionGroup;let r=ya();return this.indexManager.getCollectionParents(t,s).next((i=>xr.forEach(i,(i=>{const o=function(t,e){return new lo(e,null,t.explicitOrderBy.slice(),t.filters.slice(),t.limit,t.limitType,t.startAt,t.endAt)}(e,i.child(s));return this.getDocumentsMatchingCollectionQuery(t,o,n).next((t=>{t.forEach(((t,e)=>{r=r.insert(t,e)}))}))})).next((()=>r))))}getDocumentsMatchingCollectionQuery(t,e,n){let s;return this.documentOverlayCache.getOverlaysForCollection(t,e.path,n.largestBatchId).next((r=>(s=r,this.remoteDocumentCache.getDocumentsMatchingQuery(t,e,n,s)))).next((t=>{s.forEach(((e,n)=>{const s=n.getKey();null===t.get(s)&&(t=t.insert(s,no.newInvalidDocument(s)))}));let n=ya();return t.forEach(((t,r)=>{const i=s.get(t);void 0!==i&&Jo(i.mutation,r,Zi.empty(),ir.now()),xo(e,r)&&(n=n.insert(t,r))})),n}))}}class ph{constructor(t){this.yt=t,this.Zn=new Map,this.ts=new Map}getBundleMetadata(t,e){return xr.resolve(this.Zn.get(e))}saveBundleMetadata(t,e){var n;return this.Zn.set(e.id,{id:(n=e).id,version:n.version,createTime:Ka(n.createTime)}),xr.resolve()}getNamedQuery(t,e){return xr.resolve(this.ts.get(e))}saveNamedQuery(t,e){return this.ts.set(e.name,function(t){return{name:t.name,query:ec(t.bundledQuery),readTime:Ka(t.readTime)}}(e)),xr.resolve()}}class yh{constructor(){this.overlays=new zi(lr.comparator),this.es=new Map}getOverlay(t,e){return xr.resolve(this.overlays.get(e))}getOverlays(t,e){const n=va();return xr.forEach(e,(e=>this.getOverlay(t,e).next((t=>{null!==t&&n.set(e,t)})))).next((()=>n))}saveOverlays(t,e,n){return n.forEach(((n,s)=>{this.oe(t,e,s)})),xr.resolve()}removeOverlaysForBatchId(t,e,n){const s=this.es.get(n);return void 0!==s&&(s.forEach((t=>this.overlays=this.overlays.remove(t))),this.es.delete(n)),xr.resolve()}getOverlaysForCollection(t,e,n){const s=va(),r=e.length+1,i=new lr(e.child(\"\")),o=this.overlays.getIteratorFrom(i);for(;o.hasNext();){const t=o.getNext().value,i=t.getKey();if(!e.isPrefixOf(i.path))break;i.path.length===r&&t.largestBatchId>n&&s.set(t.getKey(),t)}return xr.resolve(s)}getOverlaysForCollectionGroup(t,e,n,s){let r=new zi(((t,e)=>t-e));const i=this.overlays.getIterator();for(;i.hasNext();){const t=i.getNext().value;if(t.getKey().getCollectionGroup()===e&&t.largestBatchId>n){let e=r.get(t.largestBatchId);null===e&&(e=va(),r=r.insert(t.largestBatchId,e)),e.set(t.getKey(),t)}}const o=va(),a=r.getIterator();for(;a.hasNext()&&(a.getNext().value.forEach(((t,e)=>o.set(t,e))),!(o.size()>=s)););return xr.resolve(o)}oe(t,e,n){const s=this.overlays.get(n.key);if(null!==s){const t=this.es.get(s.largestBatchId).delete(n.key);this.es.set(s.largestBatchId,t)}this.overlays=this.overlays.insert(n.key,new $u(e,n));let r=this.es.get(e);void 0===r&&(r=Sa(),this.es.set(e,r)),this.es.set(e,r.add(n.key))}}class wh{constructor(){this.ns=new Yi(vh.ss),this.rs=new Yi(vh.os)}isEmpty(){return this.ns.isEmpty()}addReference(t,e){const n=new vh(t,e);this.ns=this.ns.add(n),this.rs=this.rs.add(n)}us(t,e){t.forEach((t=>this.addReference(t,e)))}removeReference(t,e){this.cs(new vh(t,e))}hs(t,e){t.forEach((t=>this.removeReference(t,e)))}ls(t){const e=new lr(new ur([])),n=new vh(e,t),s=new vh(e,t+1),r=[];return this.rs.forEachInRange([n,s],(t=>{this.cs(t),r.push(t.key)})),r}fs(){this.ns.forEach((t=>this.cs(t)))}cs(t){this.ns=this.ns.delete(t),this.rs=this.rs.delete(t)}ds(t){const e=new lr(new ur([])),n=new vh(e,t),s=new vh(e,t+1);let r=Sa();return this.rs.forEachInRange([n,s],(t=>{r=r.add(t.key)})),r}containsKey(t){const e=new vh(t,0),n=this.ns.firstAfterOrEqual(e);return null!==n&&t.isEqual(n.key)}}class vh{constructor(t,e){this.key=t,this._s=e}static ss(t,e){return lr.comparator(t.key,e.key)||nr(t._s,e._s)}static os(t,e){return nr(t._s,e._s)||lr.comparator(t.key,e.key)}}class Ih{constructor(t,e){this.indexManager=t,this.referenceDelegate=e,this.mutationQueue=[],this.ws=1,this.gs=new Yi(vh.ss)}checkEmpty(t){return xr.resolve(0===this.mutationQueue.length)}addMutationBatch(t,e,n,s){const r=this.ws;this.ws++,this.mutationQueue.length>0&&this.mutationQueue[this.mutationQueue.length-1];const i=new Ku(r,e,n,s);this.mutationQueue.push(i);for(const e of s)this.gs=this.gs.add(new vh(e.key,r)),this.indexManager.addToCollectionParentIndex(t,e.key.path.popLast());return xr.resolve(i)}lookupMutationBatch(t,e){return xr.resolve(this.ys(e))}getNextMutationBatchAfterBatchId(t,e){const n=e+1,s=this.ps(n),r=s<0?0:s;return xr.resolve(this.mutationQueue.length>r?this.mutationQueue[r]:null)}getHighestUnacknowledgedBatchId(){return xr.resolve(0===this.mutationQueue.length?-1:this.ws-1)}getAllMutationBatches(t){return xr.resolve(this.mutationQueue.slice())}getAllMutationBatchesAffectingDocumentKey(t,e){const n=new vh(e,0),s=new vh(e,Number.POSITIVE_INFINITY),r=[];return this.gs.forEachInRange([n,s],(t=>{const e=this.ys(t._s);r.push(e)})),xr.resolve(r)}getAllMutationBatchesAffectingDocumentKeys(t,e){let n=new Yi(nr);return e.forEach((t=>{const e=new vh(t,0),s=new vh(t,Number.POSITIVE_INFINITY);this.gs.forEachInRange([e,s],(t=>{n=n.add(t._s)}))})),xr.resolve(this.Is(n))}getAllMutationBatchesAffectingQuery(t,e){const n=e.path,s=n.length+1;let r=n;lr.isDocumentKey(r)||(r=r.child(\"\"));const i=new vh(new lr(r),0);let o=new Yi(nr);return this.gs.forEachWhile((t=>{const e=t.key.path;return!!n.isPrefixOf(e)&&(e.length===s&&(o=o.add(t._s)),!0)}),i),xr.resolve(this.Is(o))}Is(t){const e=[];return t.forEach((t=>{const n=this.ys(t);null!==n&&e.push(n)})),e}removeMutationBatch(t,e){qs(0===this.Ts(e.batchId,\"removed\")),this.mutationQueue.shift();let n=this.gs;return xr.forEach(e.mutations,(s=>{const r=new vh(s.key,e.batchId);return n=n.delete(r),this.referenceDelegate.markPotentiallyOrphaned(t,s.key)})).next((()=>{this.gs=n}))}An(t){}containsKey(t,e){const n=new vh(e,0),s=this.gs.firstAfterOrEqual(n);return xr.resolve(e.isEqual(s&&s.key))}performConsistencyCheck(t){return this.mutationQueue.length,xr.resolve()}Ts(t,e){return this.ps(t)}ps(t){return 0===this.mutationQueue.length?0:t-this.mutationQueue[0].batchId}ys(t){const e=this.ps(t);return e<0||e>=this.mutationQueue.length?null:this.mutationQueue[e]}}class bh{constructor(t){this.Es=t,this.docs=new zi(lr.comparator),this.size=0}setIndexManager(t){this.indexManager=t}addEntry(t,e){const n=e.key,s=this.docs.get(n),r=s?s.size:0,i=this.Es(e);return this.docs=this.docs.insert(n,{document:e.mutableCopy(),size:i}),this.size+=i-r,this.indexManager.addToCollectionParentIndex(t,n.path.popLast())}removeEntry(t){const e=this.docs.get(t);e&&(this.docs=this.docs.remove(t),this.size-=e.size)}getEntry(t,e){const n=this.docs.get(e);return xr.resolve(n?n.document.mutableCopy():no.newInvalidDocument(e))}getEntries(t,e){let n=ga();return e.forEach((t=>{const e=this.docs.get(t);n=n.insert(t,e?e.document.mutableCopy():no.newInvalidDocument(t))})),xr.resolve(n)}getDocumentsMatchingQuery(t,e,n,s){let r=ga();const i=e.path,o=new lr(i.child(\"\")),a=this.docs.getIteratorFrom(o);for(;a.hasNext();){const{key:t,value:{document:o}}=a.getNext();if(!i.isPrefixOf(t.path))break;t.path.length>i.length+1||Er(Ir(o),n)<=0||(s.has(o.key)||xo(e,o))&&(r=r.insert(o.key,o.mutableCopy()))}return xr.resolve(r)}getAllFromCollectionGroup(t,e,n,s){Ps()}As(t,e){return xr.forEach(this.docs,(t=>e(t)))}newChangeBuffer(t){return new Eh(this)}getSize(t){return xr.resolve(this.size)}}class Eh extends ih{constructor(t){super(),this.Yn=t}applyChanges(t){const e=[];return this.changes.forEach(((n,s)=>{s.isValidDocument()?e.push(this.Yn.addEntry(t,s)):this.Yn.removeEntry(n)})),xr.waitFor(e)}getFromCache(t,e){return this.Yn.getEntry(t,e)}getAllFromCache(t,e){return this.Yn.getEntries(t,e)}}class Th{constructor(t){this.persistence=t,this.Rs=new fa((t=>io(t)),oo),this.lastRemoteSnapshotVersion=or.min(),this.highestTargetId=0,this.bs=0,this.Ps=new wh,this.targetCount=0,this.vs=Hc.Pn()}forEachTarget(t,e){return this.Rs.forEach(((t,n)=>e(n))),xr.resolve()}getLastRemoteSnapshotVersion(t){return xr.resolve(this.lastRemoteSnapshotVersion)}getHighestSequenceNumber(t){return xr.resolve(this.bs)}allocateTargetId(t){return this.highestTargetId=this.vs.next(),xr.resolve(this.highestTargetId)}setTargetsMetadata(t,e,n){return n&&(this.lastRemoteSnapshotVersion=n),e>this.bs&&(this.bs=e),xr.resolve()}Dn(t){this.Rs.set(t.target,t);const e=t.targetId;e>this.highestTargetId&&(this.vs=new Hc(e),this.highestTargetId=e),t.sequenceNumber>this.bs&&(this.bs=t.sequenceNumber)}addTargetData(t,e){return this.Dn(e),this.targetCount+=1,xr.resolve()}updateTargetData(t,e){return this.Dn(e),xr.resolve()}removeTargetData(t,e){return this.Rs.delete(e.target),this.Ps.ls(e.targetId),this.targetCount-=1,xr.resolve()}removeTargets(t,e,n){let s=0;const r=[];return this.Rs.forEach(((i,o)=>{o.sequenceNumber<=e&&null===n.get(o.targetId)&&(this.Rs.delete(i),r.push(this.removeMatchingKeysForTargetId(t,o.targetId)),s++)})),xr.waitFor(r).next((()=>s))}getTargetCount(t){return xr.resolve(this.targetCount)}getTargetData(t,e){const n=this.Rs.get(e)||null;return xr.resolve(n)}addMatchingKeys(t,e,n){return this.Ps.us(e,n),xr.resolve()}removeMatchingKeys(t,e,n){this.Ps.hs(e,n);const s=this.persistence.referenceDelegate,r=[];return s&&e.forEach((e=>{r.push(s.markPotentiallyOrphaned(t,e))})),xr.waitFor(r)}removeMatchingKeysForTargetId(t,e){return this.Ps.ls(e),xr.resolve()}getMatchingKeysForTargetId(t,e){const n=this.Ps.ds(e);return xr.resolve(n)}containsKey(t,e){return xr.resolve(this.Ps.containsKey(e))}}class Sh{constructor(t,e){this.Vs={},this.overlays={},this.Ss=new Pr(0),this.Ds=!1,this.Ds=!0,this.referenceDelegate=t(this),this.Cs=new Th(this),this.indexManager=new Nc,this.remoteDocumentCache=function(t){return new bh(t)}((t=>this.referenceDelegate.xs(t))),this.yt=new zu(e),this.Ns=new ph(this.yt)}start(){return Promise.resolve()}shutdown(){return this.Ds=!1,Promise.resolve()}get started(){return this.Ds}setDatabaseDeletedListener(){}setNetworkEnabled(){}getIndexManager(t){return this.indexManager}getDocumentOverlayCache(t){let e=this.overlays[t.toKey()];return e||(e=new yh,this.overlays[t.toKey()]=e),e}getMutationQueue(t,e){let n=this.Vs[t.toKey()];return n||(n=new Ih(e,this.referenceDelegate),this.Vs[t.toKey()]=n),n}getTargetCache(){return this.Cs}getRemoteDocumentCache(){return this.remoteDocumentCache}getBundleCache(){return this.Ns}runTransaction(t,e,n){Ms(\"MemoryPersistence\",\"Starting transaction:\",t);const s=new _h(this.Ss.next());return this.referenceDelegate.ks(),n(s).next((t=>this.referenceDelegate.Os(s).next((()=>t)))).toPromise().then((t=>(s.raiseOnCommittedEvent(),t)))}Ms(t,e){return xr.or(Object.values(this.Vs).map((n=>()=>n.containsKey(t,e))))}}class _h extends Sr{constructor(t){super(),this.currentSequenceNumber=t}}class xh{constructor(t){this.persistence=t,this.Fs=new wh,this.$s=null}static Bs(t){return new xh(t)}get Ls(){if(this.$s)return this.$s;throw Ps()}addReference(t,e,n){return this.Fs.addReference(n,e),this.Ls.delete(n.toString()),xr.resolve()}removeReference(t,e,n){return this.Fs.removeReference(n,e),this.Ls.add(n.toString()),xr.resolve()}markPotentiallyOrphaned(t,e){return this.Ls.add(e.toString()),xr.resolve()}removeTarget(t,e){this.Fs.ls(e.targetId).forEach((t=>this.Ls.add(t.toString())));const n=this.persistence.getTargetCache();return n.getMatchingKeysForTargetId(t,e.targetId).next((t=>{t.forEach((t=>this.Ls.add(t.toString())))})).next((()=>n.removeTargetData(t,e)))}ks(){this.$s=new Set}Os(t){const e=this.persistence.getRemoteDocumentCache().newChangeBuffer();return xr.forEach(this.Ls,(n=>{const s=lr.fromPath(n);return this.qs(t,s).next((t=>{t||e.removeEntry(s,or.min())}))})).next((()=>(this.$s=null,e.apply(t))))}updateLimboDocument(t,e){return this.qs(t,e).next((t=>{t?this.Ls.delete(e.toString()):this.Ls.add(e.toString())}))}xs(t){return 0}qs(t,e){return xr.or([()=>xr.resolve(this.Fs.containsKey(e)),()=>this.persistence.getTargetCache().containsKey(t,e),()=>this.persistence.Ms(t,e)])}}class Dh{constructor(t){this.yt=t}$(t,e,n,s){const r=new Dr(\"createOrUpgrade\",e);n<1&&s>=1&&(function(t){t.createObjectStore(\"owner\")}(t),function(t){t.createObjectStore(\"mutationQueues\",{keyPath:\"userId\"}),t.createObjectStore(\"mutations\",{keyPath:\"batchId\",autoIncrement:!0}).createIndex(\"userMutationsIndex\",wu,{unique:!0}),t.createObjectStore(\"documentMutations\")}(t),Ah(t),function(t){t.createObjectStore(\"remoteDocuments\")}(t));let i=xr.resolve();return n<3&&s>=3&&(0!==n&&(function(t){t.deleteObjectStore(\"targetDocuments\"),t.deleteObjectStore(\"targets\"),t.deleteObjectStore(\"targetGlobal\")}(t),Ah(t)),i=i.next((()=>function(t){const e=t.store(\"targetGlobal\"),n={highestTargetId:0,highestListenSequenceNumber:0,lastRemoteSnapshotVersion:or.min().toTimestamp(),targetCount:0};return e.put(\"targetGlobalKey\",n)}(r)))),n<4&&s>=4&&(0!==n&&(i=i.next((()=>function(t,e){return e.store(\"mutations\").W().next((n=>{t.deleteObjectStore(\"mutations\"),t.createObjectStore(\"mutations\",{keyPath:\"batchId\",autoIncrement:!0}).createIndex(\"userMutationsIndex\",wu,{unique:!0});const s=e.store(\"mutations\"),r=n.map((t=>s.put(t)));return xr.waitFor(r)}))}(t,r)))),i=i.next((()=>{!function(t){t.createObjectStore(\"clientMetadata\",{keyPath:\"clientId\"})}(t)}))),n<5&&s>=5&&(i=i.next((()=>this.Us(r)))),n<6&&s>=6&&(i=i.next((()=>(function(t){t.createObjectStore(\"remoteDocumentGlobal\")}(t),this.Ks(r))))),n<7&&s>=7&&(i=i.next((()=>this.Gs(r)))),n<8&&s>=8&&(i=i.next((()=>this.Qs(t,r)))),n<9&&s>=9&&(i=i.next((()=>{!function(t){t.objectStoreNames.contains(\"remoteDocumentChanges\")&&t.deleteObjectStore(\"remoteDocumentChanges\")}(t)}))),n<10&&s>=10&&(i=i.next((()=>this.js(r)))),n<11&&s>=11&&(i=i.next((()=>{!function(t){t.createObjectStore(\"bundles\",{keyPath:\"bundleId\"})}(t),function(t){t.createObjectStore(\"namedQueries\",{keyPath:\"name\"})}(t)}))),n<12&&s>=12&&(i=i.next((()=>{!function(t){const e=t.createObjectStore(\"documentOverlays\",{keyPath:Lu});e.createIndex(\"collectionPathOverlayIndex\",Mu,{unique:!1}),e.createIndex(\"collectionGroupOverlayIndex\",Fu,{unique:!1})}(t)}))),n<13&&s>=13&&(i=i.next((()=>function(t){const e=t.createObjectStore(\"remoteDocumentsV14\",{keyPath:Eu});e.createIndex(\"documentKeyIndex\",Tu),e.createIndex(\"collectionGroupIndex\",Su)}(t))).next((()=>this.Ws(t,r))).next((()=>t.deleteObjectStore(\"remoteDocuments\")))),n<14&&s>=14&&(i=i.next((()=>this.zs(t,r)))),n<15&&s>=15&&(i=i.next((()=>function(t){t.createObjectStore(\"indexConfiguration\",{keyPath:\"indexId\",autoIncrement:!0}).createIndex(\"collectionGroupIndex\",\"collectionGroup\",{unique:!1}),t.createObjectStore(\"indexState\",{keyPath:Cu}).createIndex(\"sequenceNumberIndex\",Nu,{unique:!1}),t.createObjectStore(\"indexEntries\",{keyPath:ku}).createIndex(\"documentKeyIndex\",Ru,{unique:!1})}(t)))),i}Ks(t){let e=0;return t.store(\"remoteDocuments\").Z(((t,n)=>{e+=Gc(n)})).next((()=>{const n={byteSize:e};return t.store(\"remoteDocumentGlobal\").put(\"remoteDocumentGlobalKey\",n)}))}Us(t){const e=t.store(\"mutationQueues\"),n=t.store(\"mutations\");return e.W().next((e=>xr.forEach(e,(e=>{const s=IDBKeyRange.bound([e.userId,-1],[e.userId,e.lastAcknowledgedBatchId]);return n.W(\"userMutationsIndex\",s).next((n=>xr.forEach(n,(n=>{qs(n.userId===e.userId);const s=Ju(this.yt,n);return Uc(t,e.userId,s).next((()=>{}))}))))}))))}Gs(t){const e=t.store(\"targetDocuments\"),n=t.store(\"remoteDocuments\");return t.store(\"targetGlobal\").get(\"targetGlobalKey\").next((t=>{const s=[];return n.Z(((n,r)=>{const i=new ur(n),o=function(t){return[0,mu(t)]}(i);s.push(e.get(o).next((n=>n?xr.resolve():(n=>e.put({targetId:0,path:mu(n),sequenceNumber:t.highestListenSequenceNumber}))(i))))})).next((()=>xr.waitFor(s)))}))}Qs(t,e){t.createObjectStore(\"collectionParents\",{keyPath:Au});const n=e.store(\"collectionParents\"),s=new kc,r=t=>{if(s.add(t)){const e=t.lastSegment(),s=t.popLast();return n.put({collectionId:e,parent:mu(s)})}};return e.store(\"remoteDocuments\").Z({X:!0},((t,e)=>{const n=new ur(t);return r(n.popLast())})).next((()=>e.store(\"documentMutations\").Z({X:!0},(([t,e,n],s)=>{const i=yu(e);return r(i.popLast())}))))}js(t){const e=t.store(\"targets\");return e.Z(((t,n)=>{const s=Zu(n),r=tc(this.yt,s);return e.put(r)}))}Ws(t,e){const n=e.store(\"remoteDocuments\"),s=[];return n.Z(((t,n)=>{const r=e.store(\"remoteDocumentsV14\"),i=(o=n,o.document?new lr(ur.fromString(o.document.name).popFirst(5)):o.noDocument?lr.fromSegments(o.noDocument.path):o.unknownDocument?lr.fromSegments(o.unknownDocument.path):Ps()).path.toArray();var o;const a={prefixPath:i.slice(0,i.length-2),collectionGroup:i[i.length-2],documentId:i[i.length-1],readTime:n.readTime||[0,0],unknownDocument:n.unknownDocument,noDocument:n.noDocument,document:n.document,hasCommittedMutations:!!n.hasCommittedMutations};s.push(r.put(a))})).next((()=>xr.waitFor(s)))}zs(t,e){const n=e.store(\"mutations\"),s=ah(this.yt),r=new Sh(xh.Bs,this.yt.ie);return n.W().next((t=>{const n=new Map;return t.forEach((t=>{var e;let s=null!==(e=n.get(t.userId))&&void 0!==e?e:Sa();Ju(this.yt,t).keys().forEach((t=>s=s.add(t))),n.set(t.userId,s)})),xr.forEach(n,((t,n)=>{const i=new Cs(n),o=uc.re(this.yt,i),a=r.getIndexManager(i),u=Kc.re(i,this.yt,a,r.referenceDelegate);return new gh(s,u,o,a).recalculateAndSaveOverlaysForDocumentKeys(new Uu(e,Pr.at),t).next()}))}))}}function Ah(t){t.createObjectStore(\"targetDocuments\",{keyPath:xu}).createIndex(\"documentTargetsIndex\",Du,{unique:!0}),t.createObjectStore(\"targets\",{keyPath:\"targetId\"}).createIndex(\"queryTargetsIndex\",_u,{unique:!0}),t.createObjectStore(\"targetGlobal\")}const Ch=\"Failed to obtain exclusive access to the persistence layer. To allow shared access, multi-tab synchronization has to be enabled in all tabs. If you are using `experimentalForceOwningTab:true`, make sure that only one tab has persistence enabled at any given time.\";class Nh{constructor(t,e,n,s,r,i,o,a,u,c,h=15){if(this.allowTabSynchronization=t,this.persistenceKey=e,this.clientId=n,this.Hs=r,this.window=i,this.document=o,this.Js=u,this.Ys=c,this.Xs=h,this.Ss=null,this.Ds=!1,this.isPrimary=!1,this.networkEnabled=!0,this.Zs=null,this.inForeground=!1,this.ti=null,this.ei=null,this.ni=Number.NEGATIVE_INFINITY,this.si=t=>Promise.resolve(),!Nh.C())throw new Ks(Gs.UNIMPLEMENTED,\"This platform is either missing IndexedDB or is known to have an incomplete implementation. Offline persistence has been disabled.\");this.referenceDelegate=new sh(this,s),this.ii=e+\"main\",this.yt=new zu(a),this.ri=new Ar(this.ii,this.Xs,new Dh(this.yt)),this.Cs=new Wc(this.referenceDelegate,this.yt),this.remoteDocumentCache=ah(this.yt),this.Ns=new ic,this.window&&this.window.localStorage?this.oi=this.window.localStorage:(this.oi=null,!1===c&&Fs(\"IndexedDbPersistence\",\"LocalStorage is unavailable. As a result, persistence may not work reliably. In particular enablePersistence() could fail immediately after refreshing the page.\"))}start(){return this.ui().then((()=>{if(!this.isPrimary&&!this.allowTabSynchronization)throw new Ks(Gs.FAILED_PRECONDITION,Ch);return this.ci(),this.ai(),this.hi(),this.runTransaction(\"getHighestListenSequenceNumber\",\"readonly\",(t=>this.Cs.getHighestSequenceNumber(t)))})).then((t=>{this.Ss=new Pr(t,this.Js)})).then((()=>{this.Ds=!0})).catch((t=>(this.ri&&this.ri.close(),Promise.reject(t))))}li(t){return this.si=async e=>{if(this.started)return t(e)},t(this.isPrimary)}setDatabaseDeletedListener(t){this.ri.L((async e=>{null===e.newVersion&&await t()}))}setNetworkEnabled(t){this.networkEnabled!==t&&(this.networkEnabled=t,this.Hs.enqueueAndForget((async()=>{this.started&&await this.ui()})))}ui(){return this.runTransaction(\"updateClientMetadataAndTryBecomePrimary\",\"readwrite\",(t=>Rh(t).put({clientId:this.clientId,updateTimeMs:Date.now(),networkEnabled:this.networkEnabled,inForeground:this.inForeground}).next((()=>{if(this.isPrimary)return this.fi(t).next((t=>{t||(this.isPrimary=!1,this.Hs.enqueueRetryable((()=>this.si(!1))))}))})).next((()=>this.di(t))).next((e=>this.isPrimary&&!e?this._i(t).next((()=>!1)):!!e&&this.wi(t).next((()=>!0)))))).catch((t=>{if(kr(t))return Ms(\"IndexedDbPersistence\",\"Failed to extend owner lease: \",t),this.isPrimary;if(!this.allowTabSynchronization)throw t;return Ms(\"IndexedDbPersistence\",\"Releasing owner lease after error during lease refresh\",t),!1})).then((t=>{this.isPrimary!==t&&this.Hs.enqueueRetryable((()=>this.si(t))),this.isPrimary=t}))}fi(t){return kh(t).get(\"owner\").next((t=>xr.resolve(this.mi(t))))}gi(t){return Rh(t).delete(this.clientId)}async yi(){if(this.isPrimary&&!this.pi(this.ni,18e5)){this.ni=Date.now();const t=await this.runTransaction(\"maybeGarbageCollectMultiClientState\",\"readwrite-primary\",(t=>{const e=Gu(t,\"clientMetadata\");return e.W().next((t=>{const n=this.Ii(t,18e5),s=t.filter((t=>-1===n.indexOf(t)));return xr.forEach(s,(t=>e.delete(t.clientId))).next((()=>s))}))})).catch((()=>[]));if(this.oi)for(const e of t)this.oi.removeItem(this.Ti(e.clientId))}}hi(){this.ei=this.Hs.enqueueAfterDelay(\"client_metadata_refresh\",4e3,(()=>this.ui().then((()=>this.yi())).then((()=>this.hi()))))}mi(t){return!!t&&t.ownerId===this.clientId}di(t){return this.Ys?xr.resolve(!0):kh(t).get(\"owner\").next((e=>{if(null!==e&&this.pi(e.leaseTimestampMs,5e3)&&!this.Ei(e.ownerId)){if(this.mi(e)&&this.networkEnabled)return!0;if(!this.mi(e)){if(!e.allowTabSynchronization)throw new Ks(Gs.FAILED_PRECONDITION,Ch);return!1}}return!(!this.networkEnabled||!this.inForeground)||Rh(t).W().next((t=>void 0===this.Ii(t,5e3).find((t=>{if(this.clientId!==t.clientId){const e=!this.networkEnabled&&t.networkEnabled,n=!this.inForeground&&t.inForeground,s=this.networkEnabled===t.networkEnabled;if(e||n&&s)return!0}return!1}))))})).next((t=>(this.isPrimary!==t&&Ms(\"IndexedDbPersistence\",`Client ${t?\"is\":\"is not\"} eligible for a primary lease.`),t)))}async shutdown(){this.Ds=!1,this.Ai(),this.ei&&(this.ei.cancel(),this.ei=null),this.Ri(),this.bi(),await this.ri.runTransaction(\"shutdown\",\"readwrite\",[\"owner\",\"clientMetadata\"],(t=>{const e=new Uu(t,Pr.at);return this._i(e).next((()=>this.gi(e)))})),this.ri.close(),this.Pi()}Ii(t,e){return t.filter((t=>this.pi(t.updateTimeMs,e)&&!this.Ei(t.clientId)))}vi(){return this.runTransaction(\"getActiveClients\",\"readonly\",(t=>Rh(t).W().next((t=>this.Ii(t,18e5).map((t=>t.clientId))))))}get started(){return this.Ds}getMutationQueue(t,e){return Kc.re(t,this.yt,e,this.referenceDelegate)}getTargetCache(){return this.Cs}getRemoteDocumentCache(){return this.remoteDocumentCache}getIndexManager(t){return new Lc(t,this.yt.ie.databaseId)}getDocumentOverlayCache(t){return uc.re(this.yt,t)}getBundleCache(){return this.Ns}runTransaction(t,e,n){Ms(\"IndexedDbPersistence\",\"Starting transaction:\",t);const s=\"readonly\"===e?\"readonly\":\"readwrite\",r=15===(i=this.Xs)?Bu:14===i?qu:13===i?Pu:12===i?Vu:11===i?Ou:void Ps();var i;let o;return this.ri.runTransaction(t,s,r,(s=>(o=new Uu(s,this.Ss?this.Ss.next():Pr.at),\"readwrite-primary\"===e?this.fi(o).next((t=>!!t||this.di(o))).next((e=>{if(!e)throw Fs(`Failed to obtain primary lease for action '${t}'.`),this.isPrimary=!1,this.Hs.enqueueRetryable((()=>this.si(!1))),new Ks(Gs.FAILED_PRECONDITION,Tr);return n(o)})).next((t=>this.wi(o).next((()=>t)))):this.Vi(o).next((()=>n(o)))))).then((t=>(o.raiseOnCommittedEvent(),t)))}Vi(t){return kh(t).get(\"owner\").next((t=>{if(null!==t&&this.pi(t.leaseTimestampMs,5e3)&&!this.Ei(t.ownerId)&&!this.mi(t)&&!(this.Ys||this.allowTabSynchronization&&t.allowTabSynchronization))throw new Ks(Gs.FAILED_PRECONDITION,Ch)}))}wi(t){const e={ownerId:this.clientId,allowTabSynchronization:this.allowTabSynchronization,leaseTimestampMs:Date.now()};return kh(t).put(\"owner\",e)}static C(){return Ar.C()}_i(t){const e=kh(t);return e.get(\"owner\").next((t=>this.mi(t)?(Ms(\"IndexedDbPersistence\",\"Releasing primary lease.\"),e.delete(\"owner\")):xr.resolve()))}pi(t,e){const n=Date.now();return!(t<n-e||t>n&&(Fs(`Detected an update time that is in the future: ${t} > ${n}`),1))}ci(){null!==this.document&&\"function\"==typeof this.document.addEventListener&&(this.ti=()=>{this.Hs.enqueueAndForget((()=>(this.inForeground=\"visible\"===this.document.visibilityState,this.ui())))},this.document.addEventListener(\"visibilitychange\",this.ti),this.inForeground=\"visible\"===this.document.visibilityState)}Ri(){this.ti&&(this.document.removeEventListener(\"visibilitychange\",this.ti),this.ti=null)}ai(){var t;\"function\"==typeof(null===(t=this.window)||void 0===t?void 0:t.addEventListener)&&(this.Zs=()=>{this.Ai(),m()&&navigator.appVersion.match(/Version\\/1[45]/)&&this.Hs.enterRestrictedMode(!0),this.Hs.enqueueAndForget((()=>this.shutdown()))},this.window.addEventListener(\"pagehide\",this.Zs))}bi(){this.Zs&&(this.window.removeEventListener(\"pagehide\",this.Zs),this.Zs=null)}Ei(t){var e;try{const n=null!==(null===(e=this.oi)||void 0===e?void 0:e.getItem(this.Ti(t)));return Ms(\"IndexedDbPersistence\",`Client '${t}' ${n?\"is\":\"is not\"} zombied in LocalStorage`),n}catch(t){return Fs(\"IndexedDbPersistence\",\"Failed to get zombied client id.\",t),!1}}Ai(){if(this.oi)try{this.oi.setItem(this.Ti(this.clientId),String(Date.now()))}catch(t){Fs(\"Failed to set zombie client id.\",t)}}Pi(){if(this.oi)try{this.oi.removeItem(this.Ti(this.clientId))}catch(t){}}Ti(t){return`firestore_zombie_${this.persistenceKey}_${t}`}}function kh(t){return Gu(t,\"owner\")}function Rh(t){return Gu(t,\"clientMetadata\")}function Lh(t,e){let n=t.projectId;return t.isDefaultDatabase||(n+=\".\"+t.database),\"firestore/\"+e+\"/\"+n+\"/\"}class Mh{constructor(t,e,n,s){this.targetId=t,this.fromCache=e,this.Si=n,this.Di=s}static Ci(t,e){let n=Sa(),s=Sa();for(const t of e.docChanges)switch(t.type){case 0:n=n.add(t.doc.key);break;case 1:s=s.add(t.doc.key)}return new Mh(t,e.fromCache,n,s)}}class Fh{constructor(){this.xi=!1}initialize(t,e){this.Ni=t,this.indexManager=e,this.xi=!0}getDocumentsMatchingQuery(t,e,n,s){return this.ki(t,e).next((r=>r||this.Oi(t,e,s,n))).next((n=>n||this.Mi(t,e)))}ki(t,e){if(go(e))return xr.resolve(null);let n=Io(e);return this.indexManager.getIndexType(t,n).next((s=>0===s?null:(null!==e.limit&&1===s&&(e=Eo(e,null,\"F\"),n=Io(e)),this.indexManager.getDocumentsMatchingTarget(t,n).next((s=>{const r=Sa(...s);return this.Ni.getDocuments(t,r).next((s=>this.indexManager.getMinOffset(t,n).next((n=>{const i=this.Fi(e,s);return this.$i(e,i,r,n.readTime)?this.ki(t,Eo(e,null,\"F\")):this.Bi(t,i,e,n)}))))})))))}Oi(t,e,n,s){return go(e)||s.isEqual(or.min())?this.Mi(t,e):this.Ni.getDocuments(t,n).next((r=>{const i=this.Fi(e,r);return this.$i(e,i,n,s)?this.Mi(t,e):(Rs()<=E.DEBUG&&Ms(\"QueryEngine\",\"Re-using previous result from %s to execute query: %s\",s.toString(),_o(e)),this.Bi(t,i,e,vr(s,-1)))}))}Fi(t,e){let n=new Yi(Ao(t));return e.forEach(((e,s)=>{xo(t,s)&&(n=n.add(s))})),n}$i(t,e,n,s){if(null===t.limit)return!1;if(n.size!==e.size)return!0;const r=\"F\"===t.limitType?e.last():e.first();return!!r&&(r.hasPendingWrites||r.version.compareTo(s)>0)}Mi(t,e){return Rs()<=E.DEBUG&&Ms(\"QueryEngine\",\"Using full collection scan to execute query:\",_o(e)),this.Ni.getDocumentsMatchingQuery(t,e,br.min())}Bi(t,e,n,s){return this.Ni.getDocumentsMatchingQuery(t,n,s).next((t=>(e.forEach((e=>{t=t.insert(e.key,e)})),t)))}}class Oh{constructor(t,e,n,s){this.persistence=t,this.Li=e,this.yt=s,this.qi=new zi(nr),this.Ui=new fa((t=>io(t)),oo),this.Ki=new Map,this.Gi=t.getRemoteDocumentCache(),this.Cs=t.getTargetCache(),this.Ns=t.getBundleCache(),this.Qi(n)}Qi(t){this.documentOverlayCache=this.persistence.getDocumentOverlayCache(t),this.indexManager=this.persistence.getIndexManager(t),this.mutationQueue=this.persistence.getMutationQueue(t,this.indexManager),this.localDocuments=new gh(this.Gi,this.mutationQueue,this.documentOverlayCache,this.indexManager),this.Gi.setIndexManager(this.indexManager),this.Li.initialize(this.localDocuments,this.indexManager)}collectGarbage(t){return this.persistence.runTransaction(\"Collect garbage\",\"readwrite-primary\",(e=>t.collect(e,this.qi)))}}function Vh(t,e,n,s){return new Oh(t,e,n,s)}async function Ph(t,e){const n=Us(t);return await n.persistence.runTransaction(\"Handle user change\",\"readonly\",(t=>{let s;return n.mutationQueue.getAllMutationBatches(t).next((r=>(s=r,n.Qi(e),n.mutationQueue.getAllMutationBatches(t)))).next((e=>{const r=[],i=[];let o=Sa();for(const t of s){r.push(t.batchId);for(const e of t.mutations)o=o.add(e.key)}for(const t of e){i.push(t.batchId);for(const e of t.mutations)o=o.add(e.key)}return n.localDocuments.getDocuments(t,o).next((t=>({ji:t,removedBatchIds:r,addedBatchIds:i})))}))}))}function qh(t){const e=Us(t);return e.persistence.runTransaction(\"Get last remote snapshot version\",\"readonly\",(t=>e.Cs.getLastRemoteSnapshotVersion(t)))}function Bh(t,e,n){let s=Sa(),r=Sa();return n.forEach((t=>s=s.add(t))),e.getEntries(t,s).next((t=>{let s=ga();return n.forEach(((n,i)=>{const o=t.get(n);i.isFoundDocument()!==o.isFoundDocument()&&(r=r.add(n)),i.isNoDocument()&&i.version.isEqual(or.min())?(e.removeEntry(n,i.readTime),s=s.insert(n,i)):!o.isValidDocument()||i.version.compareTo(o.version)>0||0===i.version.compareTo(o.version)&&o.hasPendingWrites?(e.addEntry(i),s=s.insert(n,i)):Ms(\"LocalStore\",\"Ignoring outdated watch update for \",n,\". Current version:\",o.version,\" Watch version:\",i.version)})),{Wi:s,zi:r}}))}function Uh(t,e){const n=Us(t);return n.persistence.runTransaction(\"Get next mutation batch\",\"readonly\",(t=>(void 0===e&&(e=-1),n.mutationQueue.getNextMutationBatchAfterBatchId(t,e))))}function Gh(t,e){const n=Us(t);return n.persistence.runTransaction(\"Allocate target\",\"readwrite\",(t=>{let s;return n.Cs.getTargetData(t,e).next((r=>r?(s=r,xr.resolve(s)):n.Cs.allocateTargetId(t).next((r=>(s=new Qu(e,r,0,t.currentSequenceNumber),n.Cs.addTargetData(t,s).next((()=>s)))))))})).then((t=>{const s=n.qi.get(t.targetId);return(null===s||t.snapshotVersion.compareTo(s.snapshotVersion)>0)&&(n.qi=n.qi.insert(t.targetId,t),n.Ui.set(e,t.targetId)),t}))}async function Kh(t,e,n){const s=Us(t),r=s.qi.get(e),i=n?\"readwrite\":\"readwrite-primary\";try{n||await s.persistence.runTransaction(\"Release target\",i,(t=>s.persistence.referenceDelegate.removeTarget(t,r)))}catch(t){if(!kr(t))throw t;Ms(\"LocalStore\",`Failed to update sequence numbers for target ${e}: ${t}`)}s.qi=s.qi.remove(e),s.Ui.delete(r.target)}function jh(t,e,n){const s=Us(t);let r=or.min(),i=Sa();return s.persistence.runTransaction(\"Execute query\",\"readonly\",(t=>function(t,e,n){const s=Us(t),r=s.Ui.get(n);return void 0!==r?xr.resolve(s.qi.get(r)):s.Cs.getTargetData(e,n)}(s,t,Io(e)).next((e=>{if(e)return r=e.lastLimboFreeSnapshotVersion,s.Cs.getMatchingKeysForTargetId(t,e.targetId).next((t=>{i=t}))})).next((()=>s.Li.getDocumentsMatchingQuery(t,e,n?r:or.min(),n?i:Sa()))).next((t=>(zh(s,Do(e),t),{documents:t,Hi:i})))))}function $h(t,e){const n=Us(t),s=Us(n.Cs),r=n.qi.get(e);return r?Promise.resolve(r.target):n.persistence.runTransaction(\"Get target data\",\"readonly\",(t=>s.ne(t,e).next((t=>t?t.target:null))))}function Qh(t,e){const n=Us(t),s=n.Ki.get(e)||or.min();return n.persistence.runTransaction(\"Get new document changes\",\"readonly\",(t=>n.Gi.getAllFromCollectionGroup(t,e,vr(s,-1),Number.MAX_SAFE_INTEGER))).then((t=>(zh(n,e,t),t)))}function zh(t,e,n){let s=t.Ki.get(e)||or.min();n.forEach(((t,e)=>{e.readTime.compareTo(s)>0&&(s=e.readTime)})),t.Ki.set(e,s)}async function Hh(t,e,n=Sa()){const s=await Gh(t,Io(ec(e.bundledQuery))),r=Us(t);return r.persistence.runTransaction(\"Save named query\",\"readwrite\",(t=>{const i=Ka(e.readTime);if(s.snapshotVersion.compareTo(i)>=0)return r.Ns.saveNamedQuery(t,e);const o=s.withResumeToken(Hr.EMPTY_BYTE_STRING,i);return r.qi=r.qi.insert(o.targetId,o),r.Cs.updateTargetData(t,o).next((()=>r.Cs.removeMatchingKeysForTargetId(t,s.targetId))).next((()=>r.Cs.addMatchingKeys(t,n,s.targetId))).next((()=>r.Ns.saveNamedQuery(t,e)))}))}function Wh(t,e){return`firestore_clients_${t}_${e}`}function Yh(t,e,n){let s=`firestore_mutations_${t}_${n}`;return e.isAuthenticated()&&(s+=`_${e.uid}`),s}function Xh(t,e){return`firestore_targets_${t}_${e}`}class Jh{constructor(t,e,n,s){this.user=t,this.batchId=e,this.state=n,this.error=s}static Zi(t,e,n){const s=JSON.parse(n);let r,i=\"object\"==typeof s&&-1!==[\"pending\",\"acknowledged\",\"rejected\"].indexOf(s.state)&&(void 0===s.error||\"object\"==typeof s.error);return i&&s.error&&(i=\"string\"==typeof s.error.message&&\"string\"==typeof s.error.code,i&&(r=new Ks(s.error.code,s.error.message))),i?new Jh(t,e,s.state,r):(Fs(\"SharedClientState\",`Failed to parse mutation state for ID '${e}': ${n}`),null)}tr(){const t={state:this.state,updateTimeMs:Date.now()};return this.error&&(t.error={code:this.error.code,message:this.error.message}),JSON.stringify(t)}}class Zh{constructor(t,e,n){this.targetId=t,this.state=e,this.error=n}static Zi(t,e){const n=JSON.parse(e);let s,r=\"object\"==typeof n&&-1!==[\"not-current\",\"current\",\"rejected\"].indexOf(n.state)&&(void 0===n.error||\"object\"==typeof n.error);return r&&n.error&&(r=\"string\"==typeof n.error.message&&\"string\"==typeof n.error.code,r&&(s=new Ks(n.error.code,n.error.message))),r?new Zh(t,n.state,s):(Fs(\"SharedClientState\",`Failed to parse target state for ID '${t}': ${e}`),null)}tr(){const t={state:this.state,updateTimeMs:Date.now()};return this.error&&(t.error={code:this.error.code,message:this.error.message}),JSON.stringify(t)}}class tl{constructor(t,e){this.clientId=t,this.activeTargetIds=e}static Zi(t,e){const n=JSON.parse(e);let s=\"object\"==typeof n&&n.activeTargetIds instanceof Array,r=xa();for(let t=0;s&&t<n.activeTargetIds.length;++t)s=Qr(n.activeTargetIds[t]),r=r.add(n.activeTargetIds[t]);return s?new tl(t,r):(Fs(\"SharedClientState\",`Failed to parse client data for instance '${t}': ${e}`),null)}}class el{constructor(t,e){this.clientId=t,this.onlineState=e}static Zi(t){const e=JSON.parse(t);return\"object\"==typeof e&&-1!==[\"Unknown\",\"Online\",\"Offline\"].indexOf(e.onlineState)&&\"string\"==typeof e.clientId?new el(e.clientId,e.onlineState):(Fs(\"SharedClientState\",`Failed to parse online state: ${t}`),null)}}class nl{constructor(){this.activeTargetIds=xa()}er(t){this.activeTargetIds=this.activeTargetIds.add(t)}nr(t){this.activeTargetIds=this.activeTargetIds.delete(t)}tr(){const t={activeTargetIds:this.activeTargetIds.toArray(),updateTimeMs:Date.now()};return JSON.stringify(t)}}class sl{constructor(t,e,n,s,r){this.window=t,this.Hs=e,this.persistenceKey=n,this.sr=s,this.syncEngine=null,this.onlineStateHandler=null,this.sequenceNumberHandler=null,this.ir=this.rr.bind(this),this.ur=new zi(nr),this.started=!1,this.cr=[];const i=n.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");this.storage=this.window.localStorage,this.currentUser=r,this.ar=Wh(this.persistenceKey,this.sr),this.hr=function(t){return`firestore_sequence_number_${t}`}(this.persistenceKey),this.ur=this.ur.insert(this.sr,new nl),this.lr=new RegExp(`^firestore_clients_${i}_([^_]*)$`),this.dr=new RegExp(`^firestore_mutations_${i}_(\\\\d+)(?:_(.*))?$`),this._r=new RegExp(`^firestore_targets_${i}_(\\\\d+)$`),this.wr=function(t){return`firestore_online_state_${t}`}(this.persistenceKey),this.mr=function(t){return`firestore_bundle_loaded_v2_${t}`}(this.persistenceKey),this.window.addEventListener(\"storage\",this.ir)}static C(t){return!(!t||!t.localStorage)}async start(){const t=await this.syncEngine.vi();for(const e of t){if(e===this.sr)continue;const t=this.getItem(Wh(this.persistenceKey,e));if(t){const n=tl.Zi(e,t);n&&(this.ur=this.ur.insert(n.clientId,n))}}this.gr();const e=this.storage.getItem(this.wr);if(e){const t=this.yr(e);t&&this.pr(t)}for(const t of this.cr)this.rr(t);this.cr=[],this.window.addEventListener(\"pagehide\",(()=>this.shutdown())),this.started=!0}writeSequenceNumber(t){this.setItem(this.hr,JSON.stringify(t))}getAllActiveQueryTargets(){return this.Ir(this.ur)}isActiveQueryTarget(t){let e=!1;return this.ur.forEach(((n,s)=>{s.activeTargetIds.has(t)&&(e=!0)})),e}addPendingMutation(t){this.Tr(t,\"pending\")}updateMutationState(t,e,n){this.Tr(t,e,n),this.Er(t)}addLocalQueryTarget(t){let e=\"not-current\";if(this.isActiveQueryTarget(t)){const n=this.storage.getItem(Xh(this.persistenceKey,t));if(n){const s=Zh.Zi(t,n);s&&(e=s.state)}}return this.Ar.er(t),this.gr(),e}removeLocalQueryTarget(t){this.Ar.nr(t),this.gr()}isLocalQueryTarget(t){return this.Ar.activeTargetIds.has(t)}clearQueryState(t){this.removeItem(Xh(this.persistenceKey,t))}updateQueryState(t,e,n){this.Rr(t,e,n)}handleUserChange(t,e,n){e.forEach((t=>{this.Er(t)})),this.currentUser=t,n.forEach((t=>{this.addPendingMutation(t)}))}setOnlineState(t){this.br(t)}notifyBundleLoaded(t){this.Pr(t)}shutdown(){this.started&&(this.window.removeEventListener(\"storage\",this.ir),this.removeItem(this.ar),this.started=!1)}getItem(t){const e=this.storage.getItem(t);return Ms(\"SharedClientState\",\"READ\",t,e),e}setItem(t,e){Ms(\"SharedClientState\",\"SET\",t,e),this.storage.setItem(t,e)}removeItem(t){Ms(\"SharedClientState\",\"REMOVE\",t),this.storage.removeItem(t)}rr(t){const e=t;if(e.storageArea===this.storage){if(Ms(\"SharedClientState\",\"EVENT\",e.key,e.newValue),e.key===this.ar)return void Fs(\"Received WebStorage notification for local change. Another client might have garbage-collected our state\");this.Hs.enqueueRetryable((async()=>{if(this.started){if(null!==e.key)if(this.lr.test(e.key)){if(null==e.newValue){const t=this.vr(e.key);return this.Vr(t,null)}{const t=this.Sr(e.key,e.newValue);if(t)return this.Vr(t.clientId,t)}}else if(this.dr.test(e.key)){if(null!==e.newValue){const t=this.Dr(e.key,e.newValue);if(t)return this.Cr(t)}}else if(this._r.test(e.key)){if(null!==e.newValue){const t=this.Nr(e.key,e.newValue);if(t)return this.kr(t)}}else if(e.key===this.wr){if(null!==e.newValue){const t=this.yr(e.newValue);if(t)return this.pr(t)}}else if(e.key===this.hr){const t=function(t){let e=Pr.at;if(null!=t)try{const n=JSON.parse(t);qs(\"number\"==typeof n),e=n}catch(t){Fs(\"SharedClientState\",\"Failed to read sequence number from WebStorage\",t)}return e}(e.newValue);t!==Pr.at&&this.sequenceNumberHandler(t)}else if(e.key===this.mr){const t=this.Or(e.newValue);await Promise.all(t.map((t=>this.syncEngine.Mr(t))))}}else this.cr.push(e)}))}}get Ar(){return this.ur.get(this.sr)}gr(){this.setItem(this.ar,this.Ar.tr())}Tr(t,e,n){const s=new Jh(this.currentUser,t,e,n),r=Yh(this.persistenceKey,this.currentUser,t);this.setItem(r,s.tr())}Er(t){const e=Yh(this.persistenceKey,this.currentUser,t);this.removeItem(e)}br(t){const e={clientId:this.sr,onlineState:t};this.storage.setItem(this.wr,JSON.stringify(e))}Rr(t,e,n){const s=Xh(this.persistenceKey,t),r=new Zh(t,e,n);this.setItem(s,r.tr())}Pr(t){const e=JSON.stringify(Array.from(t));this.setItem(this.mr,e)}vr(t){const e=this.lr.exec(t);return e?e[1]:null}Sr(t,e){const n=this.vr(t);return tl.Zi(n,e)}Dr(t,e){const n=this.dr.exec(t),s=Number(n[1]),r=void 0!==n[2]?n[2]:null;return Jh.Zi(new Cs(r),s,e)}Nr(t,e){const n=this._r.exec(t),s=Number(n[1]);return Zh.Zi(s,e)}yr(t){return el.Zi(t)}Or(t){return JSON.parse(t)}async Cr(t){if(t.user.uid===this.currentUser.uid)return this.syncEngine.Fr(t.batchId,t.state,t.error);Ms(\"SharedClientState\",`Ignoring mutation for non-active user ${t.user.uid}`)}kr(t){return this.syncEngine.$r(t.targetId,t.state,t.error)}Vr(t,e){const n=e?this.ur.insert(t,e):this.ur.remove(t),s=this.Ir(this.ur),r=this.Ir(n),i=[],o=[];return r.forEach((t=>{s.has(t)||i.push(t)})),s.forEach((t=>{r.has(t)||o.push(t)})),this.syncEngine.Br(i,o).then((()=>{this.ur=n}))}pr(t){this.ur.get(t.clientId)&&this.onlineStateHandler(t.onlineState)}Ir(t){let e=xa();return t.forEach(((t,n)=>{e=e.unionWith(n.activeTargetIds)})),e}}class rl{constructor(){this.Lr=new nl,this.qr={},this.onlineStateHandler=null,this.sequenceNumberHandler=null}addPendingMutation(t){}updateMutationState(t,e,n){}addLocalQueryTarget(t){return this.Lr.er(t),this.qr[t]||\"not-current\"}updateQueryState(t,e,n){this.qr[t]=e}removeLocalQueryTarget(t){this.Lr.nr(t)}isLocalQueryTarget(t){return this.Lr.activeTargetIds.has(t)}clearQueryState(t){delete this.qr[t]}getAllActiveQueryTargets(){return this.Lr.activeTargetIds}isActiveQueryTarget(t){return this.Lr.activeTargetIds.has(t)}start(){return this.Lr=new nl,Promise.resolve()}handleUserChange(t,e,n){}setOnlineState(t){}shutdown(){}writeSequenceNumber(t){}notifyBundleLoaded(t){}}class il{Ur(t){}shutdown(){}}class ol{constructor(){this.Kr=()=>this.Gr(),this.Qr=()=>this.jr(),this.Wr=[],this.zr()}Ur(t){this.Wr.push(t)}shutdown(){window.removeEventListener(\"online\",this.Kr),window.removeEventListener(\"offline\",this.Qr)}zr(){window.addEventListener(\"online\",this.Kr),window.addEventListener(\"offline\",this.Qr)}Gr(){Ms(\"ConnectivityMonitor\",\"Network connectivity changed: AVAILABLE\");for(const t of this.Wr)t(0)}jr(){Ms(\"ConnectivityMonitor\",\"Network connectivity changed: UNAVAILABLE\");for(const t of this.Wr)t(1)}static C(){return\"undefined\"!=typeof window&&void 0!==window.addEventListener&&void 0!==window.removeEventListener}}const al={BatchGetDocuments:\"batchGet\",Commit:\"commit\",RunQuery:\"runQuery\",RunAggregationQuery:\"runAggregationQuery\"};class ul{constructor(t){this.Hr=t.Hr,this.Jr=t.Jr}Yr(t){this.Xr=t}Zr(t){this.eo=t}onMessage(t){this.no=t}close(){this.Jr()}send(t){this.Hr(t)}so(){this.Xr()}io(t){this.eo(t)}ro(t){this.no(t)}}class cl extends class{constructor(t){this.databaseInfo=t,this.databaseId=t.databaseId;const e=t.ssl?\"https\":\"http\";this.oo=e+\"://\"+t.host,this.uo=\"projects/\"+this.databaseId.projectId+\"/databases/\"+this.databaseId.database+\"/documents\"}get co(){return!1}ao(t,e,n,s,r){const i=this.ho(t,e);Ms(\"RestConnection\",\"Sending: \",i,n);const o={};return this.lo(o,s,r),this.fo(t,i,o,n).then((t=>(Ms(\"RestConnection\",\"Received: \",t),t)),(e=>{throw Os(\"RestConnection\",`${t} failed with error: `,e,\"url: \",i,\"request:\",n),e}))}_o(t,e,n,s,r,i){return this.ao(t,e,n,s,r)}lo(t,e,n){t[\"X-Goog-Api-Client\"]=\"gl-js/ fire/\"+Ns,t[\"Content-Type\"]=\"text/plain\",this.databaseInfo.appId&&(t[\"X-Firebase-GMPID\"]=this.databaseInfo.appId),e&&e.headers.forEach(((e,n)=>t[n]=e)),n&&n.headers.forEach(((e,n)=>t[n]=e))}ho(t,e){const n=al[t];return`${this.oo}/v1/${e}:${n}`}}{constructor(t){super(t),this.forceLongPolling=t.forceLongPolling,this.autoDetectLongPolling=t.autoDetectLongPolling,this.useFetchStreams=t.useFetchStreams}fo(t,e,n,s){return new Promise(((r,i)=>{const o=new Ds;o.setWithCredentials(!0),o.listenOnce(bs.COMPLETE,(()=>{try{switch(o.getLastErrorCode()){case Is.NO_ERROR:const e=o.getResponseJson();Ms(\"Connection\",\"XHR received:\",JSON.stringify(e)),r(e);break;case Is.TIMEOUT:Ms(\"Connection\",'RPC \"'+t+'\" timed out'),i(new Ks(Gs.DEADLINE_EXCEEDED,\"Request time out\"));break;case Is.HTTP_ERROR:const n=o.getStatus();if(Ms(\"Connection\",'RPC \"'+t+'\" failed with status:',n,\"response text:\",o.getResponseText()),n>0){let t=o.getResponseJson();Array.isArray(t)&&(t=t[0]);const e=null==t?void 0:t.error;if(e&&e.status&&e.message){const t=function(t){const e=t.toLowerCase().replace(/_/g,\"-\");return Object.values(Gs).indexOf(e)>=0?e:Gs.UNKNOWN}(e.status);i(new Ks(t,e.message))}else i(new Ks(Gs.UNKNOWN,\"Server responded with status \"+o.getStatus()))}else i(new Ks(Gs.UNAVAILABLE,\"Connection failed.\"));break;default:Ps()}}finally{Ms(\"Connection\",'RPC \"'+t+'\" completed.')}}));const a=JSON.stringify(s);o.send(e,\"POST\",a,n,15)}))}wo(t,e,n){const s=[this.oo,\"/\",\"google.firestore.v1.Firestore\",\"/\",t,\"/channel\"],r=new gs,i=fe(),o={httpSessionIdParam:\"gsessionid\",initMessageHeaders:{},messageUrlParams:{database:`projects/${this.databaseId.projectId}/databases/${this.databaseId.database}`},sendRawJson:!0,supportsCrossDomainXhr:!0,internalChannelParams:{forwardChannelRequestTimeoutMs:6e5},forceLongPolling:this.forceLongPolling,detectBufferingProxy:this.autoDetectLongPolling};this.useFetchStreams&&(o.xmlHttpFactory=new _s({})),this.lo(o.initMessageHeaders,e,n),o.encodeInitMessageHeaders=!0;const a=s.join(\"\");Ms(\"Connection\",\"Creating WebChannel: \"+a,o);const u=r.createWebChannel(a,o);let c=!1,h=!1;const l=new ul({Hr:t=>{h?Ms(\"Connection\",\"Not sending because WebChannel is closed:\",t):(c||(Ms(\"Connection\",\"Opening WebChannel transport.\"),u.open(),c=!0),Ms(\"Connection\",\"WebChannel sending:\",t),u.send(t))},Jr:()=>u.close()}),d=(t,e,n)=>{t.listen(e,(t=>{try{n(t)}catch(t){setTimeout((()=>{throw t}),0)}}))};return d(u,xs.EventType.OPEN,(()=>{h||Ms(\"Connection\",\"WebChannel transport opened.\")})),d(u,xs.EventType.CLOSE,(()=>{h||(h=!0,Ms(\"Connection\",\"WebChannel transport closed\"),l.io())})),d(u,xs.EventType.ERROR,(t=>{h||(h=!0,Os(\"Connection\",\"WebChannel transport errored:\",t),l.io(new Ks(Gs.UNAVAILABLE,\"The operation could not be completed\")))})),d(u,xs.EventType.MESSAGE,(t=>{var e;if(!h){const n=t.data[0];qs(!!n);const s=n,r=s.error||(null===(e=s[0])||void 0===e?void 0:e.error);if(r){Ms(\"Connection\",\"WebChannel received error:\",r);const t=r.status;let e=function(t){const e=ca[t];if(void 0!==e)return da(e)}(t),n=r.message;void 0===e&&(e=Gs.INTERNAL,n=\"Unknown error status: \"+t+\" with message \"+r.message),h=!0,l.io(new Ks(e,n)),u.close()}else Ms(\"Connection\",\"WebChannel received:\",n),l.ro(n)}})),d(i,Es.STAT_EVENT,(t=>{t.stat===Ts?Ms(\"Connection\",\"Detected buffering proxy\"):t.stat===Ss&&Ms(\"Connection\",\"Detected no buffering proxy\")})),setTimeout((()=>{l.so()}),0),l}}function hl(){return\"undefined\"!=typeof window?window:null}function ll(){return\"undefined\"!=typeof document?document:null}function dl(t){return new qa(t,!0)}class fl{constructor(t,e,n=1e3,s=1.5,r=6e4){this.Hs=t,this.timerId=e,this.mo=n,this.yo=s,this.po=r,this.Io=0,this.To=null,this.Eo=Date.now(),this.reset()}reset(){this.Io=0}Ao(){this.Io=this.po}Ro(t){this.cancel();const e=Math.floor(this.Io+this.bo()),n=Math.max(0,Date.now()-this.Eo),s=Math.max(0,e-n);s>0&&Ms(\"ExponentialBackoff\",`Backing off for ${s} ms (base delay: ${this.Io} ms, delay with jitter: ${e} ms, last attempt: ${n} ms ago)`),this.To=this.Hs.enqueueAfterDelay(this.timerId,s,(()=>(this.Eo=Date.now(),t()))),this.Io*=this.yo,this.Io<this.mo&&(this.Io=this.mo),this.Io>this.po&&(this.Io=this.po)}Po(){null!==this.To&&(this.To.skipDelay(),this.To=null)}cancel(){null!==this.To&&(this.To.cancel(),this.To=null)}bo(){return(Math.random()-.5)*this.Io}}class ml{constructor(t,e,n,s,r,i,o,a){this.Hs=t,this.vo=n,this.Vo=s,this.connection=r,this.authCredentialsProvider=i,this.appCheckCredentialsProvider=o,this.listener=a,this.state=0,this.So=0,this.Do=null,this.Co=null,this.stream=null,this.xo=new fl(t,e)}No(){return 1===this.state||5===this.state||this.ko()}ko(){return 2===this.state||3===this.state}start(){4!==this.state?this.auth():this.Oo()}async stop(){this.No()&&await this.close(0)}Mo(){this.state=0,this.xo.reset()}Fo(){this.ko()&&null===this.Do&&(this.Do=this.Hs.enqueueAfterDelay(this.vo,6e4,(()=>this.$o())))}Bo(t){this.Lo(),this.stream.send(t)}async $o(){if(this.ko())return this.close(0)}Lo(){this.Do&&(this.Do.cancel(),this.Do=null)}qo(){this.Co&&(this.Co.cancel(),this.Co=null)}async close(t,e){this.Lo(),this.qo(),this.xo.cancel(),this.So++,4!==t?this.xo.reset():e&&e.code===Gs.RESOURCE_EXHAUSTED?(Fs(e.toString()),Fs(\"Using maximum backoff delay to prevent overloading the backend.\"),this.xo.Ao()):e&&e.code===Gs.UNAUTHENTICATED&&3!==this.state&&(this.authCredentialsProvider.invalidateToken(),this.appCheckCredentialsProvider.invalidateToken()),null!==this.stream&&(this.Uo(),this.stream.close(),this.stream=null),this.state=t,await this.listener.Zr(e)}Uo(){}auth(){this.state=1;const t=this.Ko(this.So),e=this.So;Promise.all([this.authCredentialsProvider.getToken(),this.appCheckCredentialsProvider.getToken()]).then((([t,n])=>{this.So===e&&this.Go(t,n)}),(e=>{t((()=>{const t=new Ks(Gs.UNKNOWN,\"Fetching auth token failed: \"+e.message);return this.Qo(t)}))}))}Go(t,e){const n=this.Ko(this.So);this.stream=this.jo(t,e),this.stream.Yr((()=>{n((()=>(this.state=2,this.Co=this.Hs.enqueueAfterDelay(this.Vo,1e4,(()=>(this.ko()&&(this.state=3),Promise.resolve()))),this.listener.Yr())))})),this.stream.Zr((t=>{n((()=>this.Qo(t)))})),this.stream.onMessage((t=>{n((()=>this.onMessage(t)))}))}Oo(){this.state=5,this.xo.Ro((async()=>{this.state=0,this.start()}))}Qo(t){return Ms(\"PersistentStream\",`close with error: ${t}`),this.stream=null,this.close(4,t)}Ko(t){return e=>{this.Hs.enqueueAndForget((()=>this.So===t?e():(Ms(\"PersistentStream\",\"stream callback skipped by getCloseGuardedDispatcher.\"),Promise.resolve())))}}}class gl extends ml{constructor(t,e,n,s,r,i){super(t,\"listen_stream_connection_backoff\",\"listen_stream_idle\",\"health_check_timeout\",e,n,s,i),this.yt=r}jo(t,e){return this.connection.wo(\"Listen\",t,e)}onMessage(t){this.xo.reset();const e=function(t,e){let n;if(\"targetChange\"in e){e.targetChange;const s=function(t){return\"NO_CHANGE\"===t?0:\"ADD\"===t?1:\"REMOVE\"===t?2:\"CURRENT\"===t?3:\"RESET\"===t?4:Ps()}(e.targetChange.targetChangeType||\"NO_CHANGE\"),r=e.targetChange.targetIds||[],i=function(t,e){return t.wt?(qs(void 0===e||\"string\"==typeof e),Hr.fromBase64String(e||\"\")):(qs(void 0===e||e instanceof Uint8Array),Hr.fromUint8Array(e||new Uint8Array))}(t,e.targetChange.resumeToken),o=e.targetChange.cause,a=o&&function(t){const e=void 0===t.code?Gs.UNKNOWN:da(t.code);return new Ks(e,t.message||\"\")}(o);n=new ka(s,r,i,a||null)}else if(\"documentChange\"in e){e.documentChange;const s=e.documentChange;s.document,s.document.name,s.document.updateTime;const r=za(t,s.document.name),i=Ka(s.document.updateTime),o=s.document.createTime?Ka(s.document.createTime):or.min(),a=new to({mapValue:{fields:s.document.fields}}),u=no.newFoundDocument(r,i,o,a),c=s.targetIds||[],h=s.removedTargetIds||[];n=new Ca(c,h,u.key,u)}else if(\"documentDelete\"in e){e.documentDelete;const s=e.documentDelete;s.document;const r=za(t,s.document),i=s.readTime?Ka(s.readTime):or.min(),o=no.newNoDocument(r,i),a=s.removedTargetIds||[];n=new Ca([],a,o.key,o)}else if(\"documentRemove\"in e){e.documentRemove;const s=e.documentRemove;s.document;const r=za(t,s.document),i=s.removedTargetIds||[];n=new Ca([],i,r,null)}else{if(!(\"filter\"in e))return Ps();{e.filter;const t=e.filter;t.targetId;const s=t.count||0,r=new ua(s),i=t.targetId;n=new Na(i,r)}}return n}(this.yt,t),n=function(t){if(!(\"targetChange\"in t))return or.min();const e=t.targetChange;return e.targetIds&&e.targetIds.length?or.min():e.readTime?Ka(e.readTime):or.min()}(t);return this.listener.Wo(e,n)}zo(t){const e={};e.database=Ya(this.yt),e.addTarget=function(t,e){let n;const s=e.target;return n=ao(s)?{documents:nu(t,s)}:{query:su(t,s)},n.targetId=e.targetId,e.resumeToken.approximateByteSize()>0?n.resumeToken=Ua(t,e.resumeToken):e.snapshotVersion.compareTo(or.min())>0&&(n.readTime=Ba(t,e.snapshotVersion.toTimestamp())),n}(this.yt,t);const n=function(t,e){const n=function(t,e){switch(e){case 0:return null;case 1:return\"existence-filter-mismatch\";case 2:return\"limbo-document\";default:return Ps()}}(0,e.purpose);return null==n?null:{\"goog-listen-tags\":n}}(this.yt,t);n&&(e.labels=n),this.Bo(e)}Ho(t){const e={};e.database=Ya(this.yt),e.removeTarget=t,this.Bo(e)}}class pl extends ml{constructor(t,e,n,s,r,i){super(t,\"write_stream_connection_backoff\",\"write_stream_idle\",\"health_check_timeout\",e,n,s,i),this.yt=r,this.Jo=!1}get Yo(){return this.Jo}start(){this.Jo=!1,this.lastStreamToken=void 0,super.start()}Uo(){this.Jo&&this.Xo([])}jo(t,e){return this.connection.wo(\"Write\",t,e)}onMessage(t){if(qs(!!t.streamToken),this.lastStreamToken=t.streamToken,this.Jo){this.xo.reset();const e=function(t,e){return t&&t.length>0?(qs(void 0!==e),t.map((t=>function(t,e){let n=t.updateTime?Ka(t.updateTime):Ka(e);return n.isEqual(or.min())&&(n=Ka(e)),new Qo(n,t.transformResults||[])}(t,e)))):[]}(t.writeResults,t.commitTime),n=Ka(t.commitTime);return this.listener.Zo(n,e)}return qs(!t.writeResults||0===t.writeResults.length),this.Jo=!0,this.listener.tu()}eu(){const t={};t.database=Ya(this.yt),this.Bo(t)}Xo(t){const e={streamToken:this.lastStreamToken,writes:t.map((t=>tu(this.yt,t)))};this.Bo(e)}}class yl extends class{}{constructor(t,e,n,s){super(),this.authCredentials=t,this.appCheckCredentials=e,this.connection=n,this.yt=s,this.nu=!1}su(){if(this.nu)throw new Ks(Gs.FAILED_PRECONDITION,\"The client has already been terminated.\")}ao(t,e,n){return this.su(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then((([s,r])=>this.connection.ao(t,e,n,s,r))).catch((t=>{throw\"FirebaseError\"===t.name?(t.code===Gs.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),t):new Ks(Gs.UNKNOWN,t.toString())}))}_o(t,e,n,s){return this.su(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then((([r,i])=>this.connection._o(t,e,n,r,i,s))).catch((t=>{throw\"FirebaseError\"===t.name?(t.code===Gs.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),t):new Ks(Gs.UNKNOWN,t.toString())}))}terminate(){this.nu=!0}}class wl{constructor(t,e){this.asyncQueue=t,this.onlineStateHandler=e,this.state=\"Unknown\",this.iu=0,this.ru=null,this.ou=!0}uu(){0===this.iu&&(this.cu(\"Unknown\"),this.ru=this.asyncQueue.enqueueAfterDelay(\"online_state_timeout\",1e4,(()=>(this.ru=null,this.au(\"Backend didn't respond within 10 seconds.\"),this.cu(\"Offline\"),Promise.resolve()))))}hu(t){\"Online\"===this.state?this.cu(\"Unknown\"):(this.iu++,this.iu>=1&&(this.lu(),this.au(`Connection failed 1 times. Most recent error: ${t.toString()}`),this.cu(\"Offline\")))}set(t){this.lu(),this.iu=0,\"Online\"===t&&(this.ou=!1),this.cu(t)}cu(t){t!==this.state&&(this.state=t,this.onlineStateHandler(t))}au(t){const e=`Could not reach Cloud Firestore backend. ${t}\\nThis typically indicates that your device does not have a healthy Internet connection at the moment. The client will operate in offline mode until it is able to successfully connect to the backend.`;this.ou?(Fs(e),this.ou=!1):Ms(\"OnlineStateTracker\",e)}lu(){null!==this.ru&&(this.ru.cancel(),this.ru=null)}}class vl{constructor(t,e,n,s,r){this.localStore=t,this.datastore=e,this.asyncQueue=n,this.remoteSyncer={},this.fu=[],this.du=new Map,this._u=new Set,this.wu=[],this.mu=r,this.mu.Ur((t=>{n.enqueueAndForget((async()=>{Al(this)&&(Ms(\"RemoteStore\",\"Restarting streams for network reachability change.\"),await async function(t){const e=Us(t);e._u.add(4),await bl(e),e.gu.set(\"Unknown\"),e._u.delete(4),await Il(e)}(this))}))})),this.gu=new wl(n,s)}}async function Il(t){if(Al(t))for(const e of t.wu)await e(!0)}async function bl(t){for(const e of t.wu)await e(!1)}function El(t,e){const n=Us(t);n.du.has(e.targetId)||(n.du.set(e.targetId,e),Dl(n)?xl(n):Ql(n).ko()&&Sl(n,e))}function Tl(t,e){const n=Us(t),s=Ql(n);n.du.delete(e),s.ko()&&_l(n,e),0===n.du.size&&(s.ko()?s.Fo():Al(n)&&n.gu.set(\"Unknown\"))}function Sl(t,e){t.yu.Ot(e.targetId),Ql(t).zo(e)}function _l(t,e){t.yu.Ot(e),Ql(t).Ho(e)}function xl(t){t.yu=new La({getRemoteKeysForTarget:e=>t.remoteSyncer.getRemoteKeysForTarget(e),ne:e=>t.du.get(e)||null}),Ql(t).start(),t.gu.uu()}function Dl(t){return Al(t)&&!Ql(t).No()&&t.du.size>0}function Al(t){return 0===Us(t)._u.size}function Cl(t){t.yu=void 0}async function Nl(t){t.du.forEach(((e,n)=>{Sl(t,e)}))}async function kl(t,e){Cl(t),Dl(t)?(t.gu.hu(e),xl(t)):t.gu.set(\"Unknown\")}async function Rl(t,e,n){if(t.gu.set(\"Online\"),e instanceof ka&&2===e.state&&e.cause)try{await async function(t,e){const n=e.cause;for(const s of e.targetIds)t.du.has(s)&&(await t.remoteSyncer.rejectListen(s,n),t.du.delete(s),t.yu.removeTarget(s))}(t,e)}catch(n){Ms(\"RemoteStore\",\"Failed to remove targets %s: %s \",e.targetIds.join(\",\"),n),await Ll(t,n)}else if(e instanceof Ca?t.yu.Kt(e):e instanceof Na?t.yu.Jt(e):t.yu.jt(e),!n.isEqual(or.min()))try{const e=await qh(t.localStore);n.compareTo(e)>=0&&await function(t,e){const n=t.yu.Zt(e);return n.targetChanges.forEach(((n,s)=>{if(n.resumeToken.approximateByteSize()>0){const r=t.du.get(s);r&&t.du.set(s,r.withResumeToken(n.resumeToken,e))}})),n.targetMismatches.forEach((e=>{const n=t.du.get(e);if(!n)return;t.du.set(e,n.withResumeToken(Hr.EMPTY_BYTE_STRING,n.snapshotVersion)),_l(t,e);const s=new Qu(n.target,e,1,n.sequenceNumber);Sl(t,s)})),t.remoteSyncer.applyRemoteEvent(n)}(t,n)}catch(e){Ms(\"RemoteStore\",\"Failed to raise snapshot:\",e),await Ll(t,e)}}async function Ll(t,e,n){if(!kr(e))throw e;t._u.add(1),await bl(t),t.gu.set(\"Offline\"),n||(n=()=>qh(t.localStore)),t.asyncQueue.enqueueRetryable((async()=>{Ms(\"RemoteStore\",\"Retrying IndexedDB access\"),await n(),t._u.delete(1),await Il(t)}))}function Ml(t,e){return e().catch((n=>Ll(t,n,e)))}async function Fl(t){const e=Us(t),n=zl(e);let s=e.fu.length>0?e.fu[e.fu.length-1].batchId:-1;for(;Ol(e);)try{const t=await Uh(e.localStore,s);if(null===t){0===e.fu.length&&n.Fo();break}s=t.batchId,Vl(e,t)}catch(t){await Ll(e,t)}Pl(e)&&ql(e)}function Ol(t){return Al(t)&&t.fu.length<10}function Vl(t,e){t.fu.push(e);const n=zl(t);n.ko()&&n.Yo&&n.Xo(e.mutations)}function Pl(t){return Al(t)&&!zl(t).No()&&t.fu.length>0}function ql(t){zl(t).start()}async function Bl(t){zl(t).eu()}async function Ul(t){const e=zl(t);for(const n of t.fu)e.Xo(n.mutations)}async function Gl(t,e,n){const s=t.fu.shift(),r=ju.from(s,e,n);await Ml(t,(()=>t.remoteSyncer.applySuccessfulWrite(r))),await Fl(t)}async function Kl(t,e){e&&zl(t).Yo&&await async function(t,e){if(la(n=e.code)&&n!==Gs.ABORTED){const n=t.fu.shift();zl(t).Mo(),await Ml(t,(()=>t.remoteSyncer.rejectFailedWrite(n.batchId,e))),await Fl(t)}var n}(t,e),Pl(t)&&ql(t)}async function jl(t,e){const n=Us(t);n.asyncQueue.verifyOperationInProgress(),Ms(\"RemoteStore\",\"RemoteStore received new credentials\");const s=Al(n);n._u.add(3),await bl(n),s&&n.gu.set(\"Unknown\"),await n.remoteSyncer.handleCredentialChange(e),n._u.delete(3),await Il(n)}async function $l(t,e){const n=Us(t);e?(n._u.delete(2),await Il(n)):e||(n._u.add(2),await bl(n),n.gu.set(\"Unknown\"))}function Ql(t){return t.pu||(t.pu=function(t,e,n){const s=Us(t);return s.su(),new gl(e,s.connection,s.authCredentials,s.appCheckCredentials,s.yt,n)}(t.datastore,t.asyncQueue,{Yr:Nl.bind(null,t),Zr:kl.bind(null,t),Wo:Rl.bind(null,t)}),t.wu.push((async e=>{e?(t.pu.Mo(),Dl(t)?xl(t):t.gu.set(\"Unknown\")):(await t.pu.stop(),Cl(t))}))),t.pu}function zl(t){return t.Iu||(t.Iu=function(t,e,n){const s=Us(t);return s.su(),new pl(e,s.connection,s.authCredentials,s.appCheckCredentials,s.yt,n)}(t.datastore,t.asyncQueue,{Yr:Bl.bind(null,t),Zr:Kl.bind(null,t),tu:Ul.bind(null,t),Zo:Gl.bind(null,t)}),t.wu.push((async e=>{e?(t.Iu.Mo(),await Fl(t)):(await t.Iu.stop(),t.fu.length>0&&(Ms(\"RemoteStore\",`Stopping write stream with ${t.fu.length} pending writes`),t.fu=[]))}))),t.Iu}class Hl{constructor(t,e,n,s,r){this.asyncQueue=t,this.timerId=e,this.targetTimeMs=n,this.op=s,this.removalCallback=r,this.deferred=new js,this.then=this.deferred.promise.then.bind(this.deferred.promise),this.deferred.promise.catch((t=>{}))}static createAndSchedule(t,e,n,s,r){const i=Date.now()+n,o=new Hl(t,e,i,s,r);return o.start(n),o}start(t){this.timerHandle=setTimeout((()=>this.handleDelayElapsed()),t)}skipDelay(){return this.handleDelayElapsed()}cancel(t){null!==this.timerHandle&&(this.clearTimeout(),this.deferred.reject(new Ks(Gs.CANCELLED,\"Operation cancelled\"+(t?\": \"+t:\"\"))))}handleDelayElapsed(){this.asyncQueue.enqueueAndForget((()=>null!==this.timerHandle?(this.clearTimeout(),this.op().then((t=>this.deferred.resolve(t)))):Promise.resolve()))}clearTimeout(){null!==this.timerHandle&&(this.removalCallback(this),clearTimeout(this.timerHandle),this.timerHandle=null)}}function Wl(t,e){if(Fs(\"AsyncQueue\",`${e}: ${t}`),kr(t))return new Ks(Gs.UNAVAILABLE,`${e}: ${t}`);throw t}class Yl{constructor(t){this.comparator=t?(e,n)=>t(e,n)||lr.comparator(e.key,n.key):(t,e)=>lr.comparator(t.key,e.key),this.keyedMap=ya(),this.sortedSet=new zi(this.comparator)}static emptySet(t){return new Yl(t.comparator)}has(t){return null!=this.keyedMap.get(t)}get(t){return this.keyedMap.get(t)}first(){return this.sortedSet.minKey()}last(){return this.sortedSet.maxKey()}isEmpty(){return this.sortedSet.isEmpty()}indexOf(t){const e=this.keyedMap.get(t);return e?this.sortedSet.indexOf(e):-1}get size(){return this.sortedSet.size}forEach(t){this.sortedSet.inorderTraversal(((e,n)=>(t(e),!1)))}add(t){const e=this.delete(t.key);return e.copy(e.keyedMap.insert(t.key,t),e.sortedSet.insert(t,null))}delete(t){const e=this.get(t);return e?this.copy(this.keyedMap.remove(t),this.sortedSet.remove(e)):this}isEqual(t){if(!(t instanceof Yl))return!1;if(this.size!==t.size)return!1;const e=this.sortedSet.getIterator(),n=t.sortedSet.getIterator();for(;e.hasNext();){const t=e.getNext().key,s=n.getNext().key;if(!t.isEqual(s))return!1}return!0}toString(){const t=[];return this.forEach((e=>{t.push(e.toString())})),0===t.length?\"DocumentSet ()\":\"DocumentSet (\\n  \"+t.join(\"  \\n\")+\"\\n)\"}copy(t,e){const n=new Yl;return n.comparator=this.comparator,n.keyedMap=t,n.sortedSet=e,n}}class Xl{constructor(){this.Tu=new zi(lr.comparator)}track(t){const e=t.doc.key,n=this.Tu.get(e);n?0!==t.type&&3===n.type?this.Tu=this.Tu.insert(e,t):3===t.type&&1!==n.type?this.Tu=this.Tu.insert(e,{type:n.type,doc:t.doc}):2===t.type&&2===n.type?this.Tu=this.Tu.insert(e,{type:2,doc:t.doc}):2===t.type&&0===n.type?this.Tu=this.Tu.insert(e,{type:0,doc:t.doc}):1===t.type&&0===n.type?this.Tu=this.Tu.remove(e):1===t.type&&2===n.type?this.Tu=this.Tu.insert(e,{type:1,doc:n.doc}):0===t.type&&1===n.type?this.Tu=this.Tu.insert(e,{type:2,doc:t.doc}):Ps():this.Tu=this.Tu.insert(e,t)}Eu(){const t=[];return this.Tu.inorderTraversal(((e,n)=>{t.push(n)})),t}}class Jl{constructor(t,e,n,s,r,i,o,a,u){this.query=t,this.docs=e,this.oldDocs=n,this.docChanges=s,this.mutatedKeys=r,this.fromCache=i,this.syncStateChanged=o,this.excludesMetadataChanges=a,this.hasCachedResults=u}static fromInitialDocuments(t,e,n,s,r){const i=[];return e.forEach((t=>{i.push({type:0,doc:t})})),new Jl(t,e,Yl.emptySet(e),i,n,s,!0,!1,r)}get hasPendingWrites(){return!this.mutatedKeys.isEmpty()}isEqual(t){if(!(this.fromCache===t.fromCache&&this.hasCachedResults===t.hasCachedResults&&this.syncStateChanged===t.syncStateChanged&&this.mutatedKeys.isEqual(t.mutatedKeys)&&To(this.query,t.query)&&this.docs.isEqual(t.docs)&&this.oldDocs.isEqual(t.oldDocs)))return!1;const e=this.docChanges,n=t.docChanges;if(e.length!==n.length)return!1;for(let t=0;t<e.length;t++)if(e[t].type!==n[t].type||!e[t].doc.isEqual(n[t].doc))return!1;return!0}}class Zl{constructor(){this.Au=void 0,this.listeners=[]}}class td{constructor(){this.queries=new fa((t=>So(t)),To),this.onlineState=\"Unknown\",this.Ru=new Set}}async function ed(t,e){const n=Us(t),s=e.query;let r=!1,i=n.queries.get(s);if(i||(r=!0,i=new Zl),r)try{i.Au=await n.onListen(s)}catch(t){const n=Wl(t,`Initialization of query '${_o(e.query)}' failed`);return void e.onError(n)}n.queries.set(s,i),i.listeners.push(e),e.bu(n.onlineState),i.Au&&e.Pu(i.Au)&&id(n)}async function nd(t,e){const n=Us(t),s=e.query;let r=!1;const i=n.queries.get(s);if(i){const t=i.listeners.indexOf(e);t>=0&&(i.listeners.splice(t,1),r=0===i.listeners.length)}if(r)return n.queries.delete(s),n.onUnlisten(s)}function sd(t,e){const n=Us(t);let s=!1;for(const t of e){const e=t.query,r=n.queries.get(e);if(r){for(const e of r.listeners)e.Pu(t)&&(s=!0);r.Au=t}}s&&id(n)}function rd(t,e,n){const s=Us(t),r=s.queries.get(e);if(r)for(const t of r.listeners)t.onError(n);s.queries.delete(e)}function id(t){t.Ru.forEach((t=>{t.next()}))}class od{constructor(t,e,n){this.query=t,this.vu=e,this.Vu=!1,this.Su=null,this.onlineState=\"Unknown\",this.options=n||{}}Pu(t){if(!this.options.includeMetadataChanges){const e=[];for(const n of t.docChanges)3!==n.type&&e.push(n);t=new Jl(t.query,t.docs,t.oldDocs,e,t.mutatedKeys,t.fromCache,t.syncStateChanged,!0,t.hasCachedResults)}let e=!1;return this.Vu?this.Du(t)&&(this.vu.next(t),e=!0):this.Cu(t,this.onlineState)&&(this.xu(t),e=!0),this.Su=t,e}onError(t){this.vu.error(t)}bu(t){this.onlineState=t;let e=!1;return this.Su&&!this.Vu&&this.Cu(this.Su,t)&&(this.xu(this.Su),e=!0),e}Cu(t,e){if(!t.fromCache)return!0;const n=\"Offline\"!==e;return(!this.options.Nu||!n)&&(!t.docs.isEmpty()||t.hasCachedResults||\"Offline\"===e)}Du(t){if(t.docChanges.length>0)return!0;const e=this.Su&&this.Su.hasPendingWrites!==t.hasPendingWrites;return!(!t.syncStateChanged&&!e)&&!0===this.options.includeMetadataChanges}xu(t){t=Jl.fromInitialDocuments(t.query,t.docs,t.mutatedKeys,t.fromCache,t.hasCachedResults),this.Vu=!0,this.vu.next(t)}}class ad{constructor(t,e){this.ku=t,this.byteLength=e}Ou(){return\"metadata\"in this.ku}}class ud{constructor(t){this.yt=t}Ji(t){return za(this.yt,t)}Yi(t){return t.metadata.exists?Za(this.yt,t.document,!1):no.newNoDocument(this.Ji(t.metadata.name),this.Xi(t.metadata.readTime))}Xi(t){return Ka(t)}}class cd{constructor(t,e,n){this.Mu=t,this.localStore=e,this.yt=n,this.queries=[],this.documents=[],this.collectionGroups=new Set,this.progress=hd(t)}Fu(t){this.progress.bytesLoaded+=t.byteLength;let e=this.progress.documentsLoaded;if(t.ku.namedQuery)this.queries.push(t.ku.namedQuery);else if(t.ku.documentMetadata){this.documents.push({metadata:t.ku.documentMetadata}),t.ku.documentMetadata.exists||++e;const n=ur.fromString(t.ku.documentMetadata.name);this.collectionGroups.add(n.get(n.length-2))}else t.ku.document&&(this.documents[this.documents.length-1].document=t.ku.document,++e);return e!==this.progress.documentsLoaded?(this.progress.documentsLoaded=e,Object.assign({},this.progress)):null}$u(t){const e=new Map,n=new ud(this.yt);for(const s of t)if(s.metadata.queries){const t=n.Ji(s.metadata.name);for(const n of s.metadata.queries){const s=(e.get(n)||Sa()).add(t);e.set(n,s)}}return e}async complete(){const t=await async function(t,e,n,s){const r=Us(t);let i=Sa(),o=ga();for(const t of n){const n=e.Ji(t.metadata.name);t.document&&(i=i.add(n));const s=e.Yi(t);s.setReadTime(e.Xi(t.metadata.readTime)),o=o.insert(n,s)}const a=r.Gi.newChangeBuffer({trackRemovals:!0}),u=await Gh(r,function(t){return Io(mo(ur.fromString(`__bundle__/docs/${t}`)))}(s));return r.persistence.runTransaction(\"Apply bundle documents\",\"readwrite\",(t=>Bh(t,a,o).next((e=>(a.apply(t),e))).next((e=>r.Cs.removeMatchingKeysForTargetId(t,u.targetId).next((()=>r.Cs.addMatchingKeys(t,i,u.targetId))).next((()=>r.localDocuments.getLocalViewOfDocuments(t,e.Wi,e.zi))).next((()=>e.Wi))))))}(this.localStore,new ud(this.yt),this.documents,this.Mu.id),e=this.$u(this.documents);for(const t of this.queries)await Hh(this.localStore,t,e.get(t.name));return this.progress.taskState=\"Success\",{progress:this.progress,Bu:this.collectionGroups,Lu:t}}}function hd(t){return{taskState:\"Running\",documentsLoaded:0,bytesLoaded:0,totalDocuments:t.totalDocuments,totalBytes:t.totalBytes}}class ld{constructor(t){this.key=t}}class dd{constructor(t){this.key=t}}class fd{constructor(t,e){this.query=t,this.qu=e,this.Uu=null,this.hasCachedResults=!1,this.current=!1,this.Ku=Sa(),this.mutatedKeys=Sa(),this.Gu=Ao(t),this.Qu=new Yl(this.Gu)}get ju(){return this.qu}Wu(t,e){const n=e?e.zu:new Xl,s=e?e.Qu:this.Qu;let r=e?e.mutatedKeys:this.mutatedKeys,i=s,o=!1;const a=\"F\"===this.query.limitType&&s.size===this.query.limit?s.last():null,u=\"L\"===this.query.limitType&&s.size===this.query.limit?s.first():null;if(t.inorderTraversal(((t,e)=>{const c=s.get(t),h=xo(this.query,e)?e:null,l=!!c&&this.mutatedKeys.has(c.key),d=!!h&&(h.hasLocalMutations||this.mutatedKeys.has(h.key)&&h.hasCommittedMutations);let f=!1;c&&h?c.data.isEqual(h.data)?l!==d&&(n.track({type:3,doc:h}),f=!0):this.Hu(c,h)||(n.track({type:2,doc:h}),f=!0,(a&&this.Gu(h,a)>0||u&&this.Gu(h,u)<0)&&(o=!0)):!c&&h?(n.track({type:0,doc:h}),f=!0):c&&!h&&(n.track({type:1,doc:c}),f=!0,(a||u)&&(o=!0)),f&&(h?(i=i.add(h),r=d?r.add(t):r.delete(t)):(i=i.delete(t),r=r.delete(t)))})),null!==this.query.limit)for(;i.size>this.query.limit;){const t=\"F\"===this.query.limitType?i.last():i.first();i=i.delete(t.key),r=r.delete(t.key),n.track({type:1,doc:t})}return{Qu:i,zu:n,$i:o,mutatedKeys:r}}Hu(t,e){return t.hasLocalMutations&&e.hasCommittedMutations&&!e.hasLocalMutations}applyChanges(t,e,n){const s=this.Qu;this.Qu=t.Qu,this.mutatedKeys=t.mutatedKeys;const r=t.zu.Eu();r.sort(((t,e)=>function(t,e){const n=t=>{switch(t){case 0:return 1;case 2:case 3:return 2;case 1:return 0;default:return Ps()}};return n(t)-n(e)}(t.type,e.type)||this.Gu(t.doc,e.doc))),this.Ju(n);const i=e?this.Yu():[],o=0===this.Ku.size&&this.current?1:0,a=o!==this.Uu;return this.Uu=o,0!==r.length||a?{snapshot:new Jl(this.query,t.Qu,s,r,t.mutatedKeys,0===o,a,!1,!!n&&n.resumeToken.approximateByteSize()>0),Xu:i}:{Xu:i}}bu(t){return this.current&&\"Offline\"===t?(this.current=!1,this.applyChanges({Qu:this.Qu,zu:new Xl,mutatedKeys:this.mutatedKeys,$i:!1},!1)):{Xu:[]}}Zu(t){return!this.qu.has(t)&&!!this.Qu.has(t)&&!this.Qu.get(t).hasLocalMutations}Ju(t){t&&(t.addedDocuments.forEach((t=>this.qu=this.qu.add(t))),t.modifiedDocuments.forEach((t=>{})),t.removedDocuments.forEach((t=>this.qu=this.qu.delete(t))),this.current=t.current)}Yu(){if(!this.current)return[];const t=this.Ku;this.Ku=Sa(),this.Qu.forEach((t=>{this.Zu(t.key)&&(this.Ku=this.Ku.add(t.key))}));const e=[];return t.forEach((t=>{this.Ku.has(t)||e.push(new dd(t))})),this.Ku.forEach((n=>{t.has(n)||e.push(new ld(n))})),e}tc(t){this.qu=t.Hi,this.Ku=Sa();const e=this.Wu(t.documents);return this.applyChanges(e,!0)}ec(){return Jl.fromInitialDocuments(this.query,this.Qu,this.mutatedKeys,0===this.Uu,this.hasCachedResults)}}class md{constructor(t,e,n){this.query=t,this.targetId=e,this.view=n}}class gd{constructor(t){this.key=t,this.nc=!1}}class pd{constructor(t,e,n,s,r,i){this.localStore=t,this.remoteStore=e,this.eventManager=n,this.sharedClientState=s,this.currentUser=r,this.maxConcurrentLimboResolutions=i,this.sc={},this.ic=new fa((t=>So(t)),To),this.rc=new Map,this.oc=new Set,this.uc=new zi(lr.comparator),this.cc=new Map,this.ac=new wh,this.hc={},this.lc=new Map,this.fc=Hc.vn(),this.onlineState=\"Unknown\",this.dc=void 0}get isPrimaryClient(){return!0===this.dc}}async function yd(t,e){const n=Kd(t);let s,r;const i=n.ic.get(e);if(i)s=i.targetId,n.sharedClientState.addLocalQueryTarget(s),r=i.view.ec();else{const t=await Gh(n.localStore,Io(e));n.isPrimaryClient&&El(n.remoteStore,t);const i=n.sharedClientState.addLocalQueryTarget(t.targetId);s=t.targetId,r=await wd(n,e,s,\"current\"===i,t.resumeToken)}return r}async function wd(t,e,n,s,r){t._c=(e,n,s)=>async function(t,e,n,s){let r=e.view.Wu(n);r.$i&&(r=await jh(t.localStore,e.query,!1).then((({documents:t})=>e.view.Wu(t,r))));const i=s&&s.targetChanges.get(e.targetId),o=e.view.applyChanges(r,t.isPrimaryClient,i);return Cd(t,e.targetId,o.Xu),o.snapshot}(t,e,n,s);const i=await jh(t.localStore,e,!0),o=new fd(e,i.Hi),a=o.Wu(i.documents),u=Aa.createSynthesizedTargetChangeForCurrentChange(n,s&&\"Offline\"!==t.onlineState,r),c=o.applyChanges(a,t.isPrimaryClient,u);Cd(t,n,c.Xu);const h=new md(e,n,o);return t.ic.set(e,h),t.rc.has(n)?t.rc.get(n).push(e):t.rc.set(n,[e]),c.snapshot}async function vd(t,e){const n=Us(t),s=n.ic.get(e),r=n.rc.get(s.targetId);if(r.length>1)return n.rc.set(s.targetId,r.filter((t=>!To(t,e)))),void n.ic.delete(e);n.isPrimaryClient?(n.sharedClientState.removeLocalQueryTarget(s.targetId),n.sharedClientState.isActiveQueryTarget(s.targetId)||await Kh(n.localStore,s.targetId,!1).then((()=>{n.sharedClientState.clearQueryState(s.targetId),Tl(n.remoteStore,s.targetId),Dd(n,s.targetId)})).catch(_r)):(Dd(n,s.targetId),await Kh(n.localStore,s.targetId,!0))}async function Id(t,e){const n=Us(t);try{const t=await function(t,e){const n=Us(t),s=e.snapshotVersion;let r=n.qi;return n.persistence.runTransaction(\"Apply remote event\",\"readwrite-primary\",(t=>{const i=n.Gi.newChangeBuffer({trackRemovals:!0});r=n.qi;const o=[];e.targetChanges.forEach(((i,a)=>{const u=r.get(a);if(!u)return;o.push(n.Cs.removeMatchingKeys(t,i.removedDocuments,a).next((()=>n.Cs.addMatchingKeys(t,i.addedDocuments,a))));let c=u.withSequenceNumber(t.currentSequenceNumber);e.targetMismatches.has(a)?c=c.withResumeToken(Hr.EMPTY_BYTE_STRING,or.min()).withLastLimboFreeSnapshotVersion(or.min()):i.resumeToken.approximateByteSize()>0&&(c=c.withResumeToken(i.resumeToken,s)),r=r.insert(a,c),function(t,e,n){return 0===t.resumeToken.approximateByteSize()||e.snapshotVersion.toMicroseconds()-t.snapshotVersion.toMicroseconds()>=3e8||n.addedDocuments.size+n.modifiedDocuments.size+n.removedDocuments.size>0}(u,c,i)&&o.push(n.Cs.updateTargetData(t,c))}));let a=ga(),u=Sa();if(e.documentUpdates.forEach((s=>{e.resolvedLimboDocuments.has(s)&&o.push(n.persistence.referenceDelegate.updateLimboDocument(t,s))})),o.push(Bh(t,i,e.documentUpdates).next((t=>{a=t.Wi,u=t.zi}))),!s.isEqual(or.min())){const e=n.Cs.getLastRemoteSnapshotVersion(t).next((e=>n.Cs.setTargetsMetadata(t,t.currentSequenceNumber,s)));o.push(e)}return xr.waitFor(o).next((()=>i.apply(t))).next((()=>n.localDocuments.getLocalViewOfDocuments(t,a,u))).next((()=>a))})).then((t=>(n.qi=r,t)))}(n.localStore,e);e.targetChanges.forEach(((t,e)=>{const s=n.cc.get(e);s&&(qs(t.addedDocuments.size+t.modifiedDocuments.size+t.removedDocuments.size<=1),t.addedDocuments.size>0?s.nc=!0:t.modifiedDocuments.size>0?qs(s.nc):t.removedDocuments.size>0&&(qs(s.nc),s.nc=!1))})),await Rd(n,t,e)}catch(t){await _r(t)}}function bd(t,e,n){const s=Us(t);if(s.isPrimaryClient&&0===n||!s.isPrimaryClient&&1===n){const t=[];s.ic.forEach(((n,s)=>{const r=s.view.bu(e);r.snapshot&&t.push(r.snapshot)})),function(t,e){const n=Us(t);n.onlineState=e;let s=!1;n.queries.forEach(((t,n)=>{for(const t of n.listeners)t.bu(e)&&(s=!0)})),s&&id(n)}(s.eventManager,e),t.length&&s.sc.Wo(t),s.onlineState=e,s.isPrimaryClient&&s.sharedClientState.setOnlineState(e)}}async function Ed(t,e,n){const s=Us(t);s.sharedClientState.updateQueryState(e,\"rejected\",n);const r=s.cc.get(e),i=r&&r.key;if(i){let t=new zi(lr.comparator);t=t.insert(i,no.newNoDocument(i,or.min()));const n=Sa().add(i),r=new Da(or.min(),new Map,new Yi(nr),t,n);await Id(s,r),s.uc=s.uc.remove(i),s.cc.delete(e),kd(s)}else await Kh(s.localStore,e,!1).then((()=>Dd(s,e,n))).catch(_r)}async function Td(t,e){const n=Us(t),s=e.batch.batchId;try{const t=await function(t,e){const n=Us(t);return n.persistence.runTransaction(\"Acknowledge batch\",\"readwrite-primary\",(t=>{const s=e.batch.keys(),r=n.Gi.newChangeBuffer({trackRemovals:!0});return function(t,e,n,s){const r=n.batch,i=r.keys();let o=xr.resolve();return i.forEach((t=>{o=o.next((()=>s.getEntry(e,t))).next((e=>{const i=n.docVersions.get(t);qs(null!==i),e.version.compareTo(i)<0&&(r.applyToRemoteDocument(e,n),e.isValidDocument()&&(e.setReadTime(n.commitVersion),s.addEntry(e)))}))})),o.next((()=>t.mutationQueue.removeMutationBatch(e,r)))}(n,t,e,r).next((()=>r.apply(t))).next((()=>n.mutationQueue.performConsistencyCheck(t))).next((()=>n.documentOverlayCache.removeOverlaysForBatchId(t,s,e.batch.batchId))).next((()=>n.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(t,function(t){let e=Sa();for(let n=0;n<t.mutationResults.length;++n)t.mutationResults[n].transformResults.length>0&&(e=e.add(t.batch.mutations[n].key));return e}(e)))).next((()=>n.localDocuments.getDocuments(t,s)))}))}(n.localStore,e);xd(n,s,null),_d(n,s),n.sharedClientState.updateMutationState(s,\"acknowledged\"),await Rd(n,t)}catch(t){await _r(t)}}async function Sd(t,e,n){const s=Us(t);try{const t=await function(t,e){const n=Us(t);return n.persistence.runTransaction(\"Reject batch\",\"readwrite-primary\",(t=>{let s;return n.mutationQueue.lookupMutationBatch(t,e).next((e=>(qs(null!==e),s=e.keys(),n.mutationQueue.removeMutationBatch(t,e)))).next((()=>n.mutationQueue.performConsistencyCheck(t))).next((()=>n.documentOverlayCache.removeOverlaysForBatchId(t,s,e))).next((()=>n.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(t,s))).next((()=>n.localDocuments.getDocuments(t,s)))}))}(s.localStore,e);xd(s,e,n),_d(s,e),s.sharedClientState.updateMutationState(e,\"rejected\",n),await Rd(s,t)}catch(n){await _r(n)}}function _d(t,e){(t.lc.get(e)||[]).forEach((t=>{t.resolve()})),t.lc.delete(e)}function xd(t,e,n){const s=Us(t);let r=s.hc[s.currentUser.toKey()];if(r){const t=r.get(e);t&&(n?t.reject(n):t.resolve(),r=r.remove(e)),s.hc[s.currentUser.toKey()]=r}}function Dd(t,e,n=null){t.sharedClientState.removeLocalQueryTarget(e);for(const s of t.rc.get(e))t.ic.delete(s),n&&t.sc.wc(s,n);t.rc.delete(e),t.isPrimaryClient&&t.ac.ls(e).forEach((e=>{t.ac.containsKey(e)||Ad(t,e)}))}function Ad(t,e){t.oc.delete(e.path.canonicalString());const n=t.uc.get(e);null!==n&&(Tl(t.remoteStore,n),t.uc=t.uc.remove(e),t.cc.delete(n),kd(t))}function Cd(t,e,n){for(const s of n)s instanceof ld?(t.ac.addReference(s.key,e),Nd(t,s)):s instanceof dd?(Ms(\"SyncEngine\",\"Document no longer in limbo: \"+s.key),t.ac.removeReference(s.key,e),t.ac.containsKey(s.key)||Ad(t,s.key)):Ps()}function Nd(t,e){const n=e.key,s=n.path.canonicalString();t.uc.get(n)||t.oc.has(s)||(Ms(\"SyncEngine\",\"New document in limbo: \"+n),t.oc.add(s),kd(t))}function kd(t){for(;t.oc.size>0&&t.uc.size<t.maxConcurrentLimboResolutions;){const e=t.oc.values().next().value;t.oc.delete(e);const n=new lr(ur.fromString(e)),s=t.fc.next();t.cc.set(s,new gd(n)),t.uc=t.uc.insert(n,s),El(t.remoteStore,new Qu(Io(mo(n.path)),s,2,Pr.at))}}async function Rd(t,e,n){const s=Us(t),r=[],i=[],o=[];s.ic.isEmpty()||(s.ic.forEach(((t,a)=>{o.push(s._c(a,e,n).then((t=>{if((t||n)&&s.isPrimaryClient&&s.sharedClientState.updateQueryState(a.targetId,(null==t?void 0:t.fromCache)?\"not-current\":\"current\"),t){r.push(t);const e=Mh.Ci(a.targetId,t);i.push(e)}})))})),await Promise.all(o),s.sc.Wo(r),await async function(t,e){const n=Us(t);try{await n.persistence.runTransaction(\"notifyLocalViewChanges\",\"readwrite\",(t=>xr.forEach(e,(e=>xr.forEach(e.Si,(s=>n.persistence.referenceDelegate.addReference(t,e.targetId,s))).next((()=>xr.forEach(e.Di,(s=>n.persistence.referenceDelegate.removeReference(t,e.targetId,s)))))))))}catch(t){if(!kr(t))throw t;Ms(\"LocalStore\",\"Failed to update sequence numbers: \"+t)}for(const t of e){const e=t.targetId;if(!t.fromCache){const t=n.qi.get(e),s=t.snapshotVersion,r=t.withLastLimboFreeSnapshotVersion(s);n.qi=n.qi.insert(e,r)}}}(s.localStore,i))}async function Ld(t,e){const n=Us(t);if(!n.currentUser.isEqual(e)){Ms(\"SyncEngine\",\"User change. New user:\",e.toKey());const t=await Ph(n.localStore,e);n.currentUser=e,function(t,e){t.lc.forEach((t=>{t.forEach((t=>{t.reject(new Ks(Gs.CANCELLED,\"'waitForPendingWrites' promise is rejected due to a user change.\"))}))})),t.lc.clear()}(n),n.sharedClientState.handleUserChange(e,t.removedBatchIds,t.addedBatchIds),await Rd(n,t.ji)}}function Md(t,e){const n=Us(t),s=n.cc.get(e);if(s&&s.nc)return Sa().add(s.key);{let t=Sa();const s=n.rc.get(e);if(!s)return t;for(const e of s){const s=n.ic.get(e);t=t.unionWith(s.view.ju)}return t}}async function Fd(t,e){const n=Us(t),s=await jh(n.localStore,e.query,!0),r=e.view.tc(s);return n.isPrimaryClient&&Cd(n,e.targetId,r.Xu),r}async function Od(t,e){const n=Us(t);return Qh(n.localStore,e).then((t=>Rd(n,t)))}async function Vd(t,e,n,s){const r=Us(t),i=await function(t,e){const n=Us(t),s=Us(n.mutationQueue);return n.persistence.runTransaction(\"Lookup mutation documents\",\"readonly\",(t=>s.Tn(t,e).next((e=>e?n.localDocuments.getDocuments(t,e):xr.resolve(null)))))}(r.localStore,e);null!==i?(\"pending\"===n?await Fl(r.remoteStore):\"acknowledged\"===n||\"rejected\"===n?(xd(r,e,s||null),_d(r,e),function(t,e){Us(Us(t).mutationQueue).An(e)}(r.localStore,e)):Ps(),await Rd(r,i)):Ms(\"SyncEngine\",\"Cannot apply mutation batch with id: \"+e)}async function Pd(t,e,n){const s=Us(t),r=[],i=[];for(const t of e){let e;const n=s.rc.get(t);if(n&&0!==n.length){e=await Gh(s.localStore,Io(n[0]));for(const t of n){const e=s.ic.get(t),n=await Fd(s,e);n.snapshot&&i.push(n.snapshot)}}else{const n=await $h(s.localStore,t);e=await Gh(s.localStore,n),await wd(s,qd(n),t,!1,e.resumeToken)}r.push(e)}return s.sc.Wo(i),r}function qd(t){return fo(t.path,t.collectionGroup,t.orderBy,t.filters,t.limit,\"F\",t.startAt,t.endAt)}function Bd(t){const e=Us(t);return Us(Us(e.localStore).persistence).vi()}async function Ud(t,e,n,s){const r=Us(t);if(r.dc)return void Ms(\"SyncEngine\",\"Ignoring unexpected query state notification.\");const i=r.rc.get(e);if(i&&i.length>0)switch(n){case\"current\":case\"not-current\":{const t=await Qh(r.localStore,Do(i[0])),s=Da.createSynthesizedRemoteEventForCurrentChange(e,\"current\"===n,Hr.EMPTY_BYTE_STRING);await Rd(r,t,s);break}case\"rejected\":await Kh(r.localStore,e,!0),Dd(r,e,s);break;default:Ps()}}async function Gd(t,e,n){const s=Kd(t);if(s.dc){for(const t of e){if(s.rc.has(t)){Ms(\"SyncEngine\",\"Adding an already active target \"+t);continue}const e=await $h(s.localStore,t),n=await Gh(s.localStore,e);await wd(s,qd(e),n.targetId,!1,n.resumeToken),El(s.remoteStore,n)}for(const t of n)s.rc.has(t)&&await Kh(s.localStore,t,!1).then((()=>{Tl(s.remoteStore,t),Dd(s,t)})).catch(_r)}}function Kd(t){const e=Us(t);return e.remoteStore.remoteSyncer.applyRemoteEvent=Id.bind(null,e),e.remoteStore.remoteSyncer.getRemoteKeysForTarget=Md.bind(null,e),e.remoteStore.remoteSyncer.rejectListen=Ed.bind(null,e),e.sc.Wo=sd.bind(null,e.eventManager),e.sc.wc=rd.bind(null,e.eventManager),e}function jd(t){const e=Us(t);return e.remoteStore.remoteSyncer.applySuccessfulWrite=Td.bind(null,e),e.remoteStore.remoteSyncer.rejectFailedWrite=Sd.bind(null,e),e}class $d{constructor(){this.synchronizeTabs=!1}async initialize(t){this.yt=dl(t.databaseInfo.databaseId),this.sharedClientState=this.gc(t),this.persistence=this.yc(t),await this.persistence.start(),this.localStore=this.Ic(t),this.gcScheduler=this.Tc(t,this.localStore),this.indexBackfillerScheduler=this.Ec(t,this.localStore)}Tc(t,e){return null}Ec(t,e){return null}Ic(t){return Vh(this.persistence,new Fh,t.initialUser,this.yt)}yc(t){return new Sh(xh.Bs,this.yt)}gc(t){return new rl}async terminate(){this.gcScheduler&&this.gcScheduler.stop(),await this.sharedClientState.shutdown(),await this.persistence.shutdown()}}class Qd extends $d{constructor(t,e,n){super(),this.Ac=t,this.cacheSizeBytes=e,this.forceOwnership=n,this.synchronizeTabs=!1}async initialize(t){await super.initialize(t),await this.Ac.initialize(this,t),await jd(this.Ac.syncEngine),await Fl(this.Ac.remoteStore),await this.persistence.li((()=>(this.gcScheduler&&!this.gcScheduler.started&&this.gcScheduler.start(),this.indexBackfillerScheduler&&!this.indexBackfillerScheduler.started&&this.indexBackfillerScheduler.start(),Promise.resolve())))}Ic(t){return Vh(this.persistence,new Fh,t.initialUser,this.yt)}Tc(t,e){const n=this.persistence.referenceDelegate.garbageCollector;return new eh(n,t.asyncQueue,e)}Ec(t,e){const n=new Vr(e,this.persistence);return new Or(t.asyncQueue,n)}yc(t){const e=Lh(t.databaseInfo.databaseId,t.databaseInfo.persistenceKey),n=void 0!==this.cacheSizeBytes?Bc.withCacheSize(this.cacheSizeBytes):Bc.DEFAULT;return new Nh(this.synchronizeTabs,e,t.clientId,n,t.asyncQueue,hl(),ll(),this.yt,this.sharedClientState,!!this.forceOwnership)}gc(t){return new rl}}class zd extends Qd{constructor(t,e){super(t,e,!1),this.Ac=t,this.cacheSizeBytes=e,this.synchronizeTabs=!0}async initialize(t){await super.initialize(t);const e=this.Ac.syncEngine;this.sharedClientState instanceof sl&&(this.sharedClientState.syncEngine={Fr:Vd.bind(null,e),$r:Ud.bind(null,e),Br:Gd.bind(null,e),vi:Bd.bind(null,e),Mr:Od.bind(null,e)},await this.sharedClientState.start()),await this.persistence.li((async t=>{await async function(t,e){const n=Us(t);if(Kd(n),jd(n),!0===e&&!0!==n.dc){const t=n.sharedClientState.getAllActiveQueryTargets(),e=await Pd(n,t.toArray());n.dc=!0,await $l(n.remoteStore,!0);for(const t of e)El(n.remoteStore,t)}else if(!1===e&&!1!==n.dc){const t=[];let e=Promise.resolve();n.rc.forEach(((s,r)=>{n.sharedClientState.isLocalQueryTarget(r)?t.push(r):e=e.then((()=>(Dd(n,r),Kh(n.localStore,r,!0)))),Tl(n.remoteStore,r)})),await e,await Pd(n,t),function(t){const e=Us(t);e.cc.forEach(((t,n)=>{Tl(e.remoteStore,n)})),e.ac.fs(),e.cc=new Map,e.uc=new zi(lr.comparator)}(n),n.dc=!1,await $l(n.remoteStore,!1)}}(this.Ac.syncEngine,t),this.gcScheduler&&(t&&!this.gcScheduler.started?this.gcScheduler.start():t||this.gcScheduler.stop()),this.indexBackfillerScheduler&&(t&&!this.indexBackfillerScheduler.started?this.indexBackfillerScheduler.start():t||this.indexBackfillerScheduler.stop())}))}gc(t){const e=hl();if(!sl.C(e))throw new Ks(Gs.UNIMPLEMENTED,\"IndexedDB persistence is only available on platforms that support LocalStorage.\");const n=Lh(t.databaseInfo.databaseId,t.databaseInfo.persistenceKey);return new sl(e,t.asyncQueue,n,t.clientId,t.initialUser)}}class Hd{async initialize(t,e){this.localStore||(this.localStore=t.localStore,this.sharedClientState=t.sharedClientState,this.datastore=this.createDatastore(e),this.remoteStore=this.createRemoteStore(e),this.eventManager=this.createEventManager(e),this.syncEngine=this.createSyncEngine(e,!t.synchronizeTabs),this.sharedClientState.onlineStateHandler=t=>bd(this.syncEngine,t,1),this.remoteStore.remoteSyncer.handleCredentialChange=Ld.bind(null,this.syncEngine),await $l(this.remoteStore,this.syncEngine.isPrimaryClient))}createEventManager(t){return new td}createDatastore(t){const e=dl(t.databaseInfo.databaseId),n=(s=t.databaseInfo,new cl(s));var s;return function(t,e,n,s){return new yl(t,e,n,s)}(t.authCredentials,t.appCheckCredentials,n,e)}createRemoteStore(t){return e=this.localStore,n=this.datastore,s=t.asyncQueue,r=t=>bd(this.syncEngine,t,0),i=ol.C()?new ol:new il,new vl(e,n,s,r,i);var e,n,s,r,i}createSyncEngine(t,e){return function(t,e,n,s,r,i,o){const a=new pd(t,e,n,s,r,i);return o&&(a.dc=!0),a}(this.localStore,this.remoteStore,this.eventManager,this.sharedClientState,t.initialUser,t.maxConcurrentLimboResolutions,e)}terminate(){return async function(t){const e=Us(t);Ms(\"RemoteStore\",\"RemoteStore shutting down.\"),e._u.add(5),await bl(e),e.mu.shutdown(),e.gu.set(\"Unknown\")}(this.remoteStore)}}function Wd(t,e,n){if(!n)throw new Ks(Gs.INVALID_ARGUMENT,`Function ${t}() cannot be called with an empty ${e}.`)}function Yd(t,e,n,s){if(!0===e&&!0===s)throw new Ks(Gs.INVALID_ARGUMENT,`${t} and ${n} cannot be used together.`)}function Xd(t){if(!lr.isDocumentKey(t))throw new Ks(Gs.INVALID_ARGUMENT,`Invalid document reference. Document references must have an even number of segments, but ${t} has ${t.length}.`)}function Jd(t){if(lr.isDocumentKey(t))throw new Ks(Gs.INVALID_ARGUMENT,`Invalid collection reference. Collection references must have an odd number of segments, but ${t} has ${t.length}.`)}function Zd(t){if(void 0===t)return\"undefined\";if(null===t)return\"null\";if(\"string\"==typeof t)return t.length>20&&(t=`${t.substring(0,20)}...`),JSON.stringify(t);if(\"number\"==typeof t||\"boolean\"==typeof t)return\"\"+t;if(\"object\"==typeof t){if(t instanceof Array)return\"an array\";{const e=function(t){return t.constructor?t.constructor.name:null}(t);return e?`a custom ${e} object`:\"an object\"}}return\"function\"==typeof t?\"a function\":Ps()}function tf(t,e){if(\"_delegate\"in t&&(t=t._delegate),!(t instanceof e)){if(e.name===t.constructor.name)throw new Ks(Gs.INVALID_ARGUMENT,\"Type does not match the expected instance. Did you pass a reference from a different Firestore SDK?\");{const n=Zd(t);throw new Ks(Gs.INVALID_ARGUMENT,`Expected type '${e.name}', but it was: ${n}`)}}return t}function ef(t,e){if(e<=0)throw new Ks(Gs.INVALID_ARGUMENT,`Function ${t}() requires a positive number, but it was: ${e}.`)}const nf=new Map;class sf{constructor(t){var e;if(void 0===t.host){if(void 0!==t.ssl)throw new Ks(Gs.INVALID_ARGUMENT,\"Can't provide ssl option if host option is not set\");this.host=\"firestore.googleapis.com\",this.ssl=!0}else this.host=t.host,this.ssl=null===(e=t.ssl)||void 0===e||e;if(this.credentials=t.credentials,this.ignoreUndefinedProperties=!!t.ignoreUndefinedProperties,void 0===t.cacheSizeBytes)this.cacheSizeBytes=41943040;else{if(-1!==t.cacheSizeBytes&&t.cacheSizeBytes<1048576)throw new Ks(Gs.INVALID_ARGUMENT,\"cacheSizeBytes must be at least 1048576\");this.cacheSizeBytes=t.cacheSizeBytes}this.experimentalForceLongPolling=!!t.experimentalForceLongPolling,this.experimentalAutoDetectLongPolling=!!t.experimentalAutoDetectLongPolling,this.useFetchStreams=!!t.useFetchStreams,Yd(\"experimentalForceLongPolling\",t.experimentalForceLongPolling,\"experimentalAutoDetectLongPolling\",t.experimentalAutoDetectLongPolling)}isEqual(t){return this.host===t.host&&this.ssl===t.ssl&&this.credentials===t.credentials&&this.cacheSizeBytes===t.cacheSizeBytes&&this.experimentalForceLongPolling===t.experimentalForceLongPolling&&this.experimentalAutoDetectLongPolling===t.experimentalAutoDetectLongPolling&&this.ignoreUndefinedProperties===t.ignoreUndefinedProperties&&this.useFetchStreams===t.useFetchStreams}}class rf{constructor(t,e,n,s){this._authCredentials=t,this._appCheckCredentials=e,this._databaseId=n,this._app=s,this.type=\"firestore-lite\",this._persistenceKey=\"(lite)\",this._settings=new sf({}),this._settingsFrozen=!1}get app(){if(!this._app)throw new Ks(Gs.FAILED_PRECONDITION,\"Firestore was not initialized using the Firebase SDK. 'app' is not available\");return this._app}get _initialized(){return this._settingsFrozen}get _terminated(){return void 0!==this._terminateTask}_setSettings(t){if(this._settingsFrozen)throw new Ks(Gs.FAILED_PRECONDITION,\"Firestore has already been started and its settings can no longer be changed. You can only modify settings before calling any other methods on a Firestore object.\");this._settings=new sf(t),void 0!==t.credentials&&(this._authCredentials=function(t){if(!t)return new Qs;switch(t.type){case\"gapi\":const e=t.client;return new Ys(e,t.sessionIndex||\"0\",t.iamToken||null,t.authTokenFactory||null);case\"provider\":return t.client;default:throw new Ks(Gs.INVALID_ARGUMENT,\"makeAuthCredentialsProvider failed due to invalid credential type\")}}(t.credentials))}_getSettings(){return this._settings}_freezeSettings(){return this._settingsFrozen=!0,this._settings}_delete(){return this._terminateTask||(this._terminateTask=this._terminate()),this._terminateTask}toJSON(){return{app:this._app,databaseId:this._databaseId,settings:this._settings}}_terminate(){return function(t){const e=nf.get(t);e&&(Ms(\"ComponentProvider\",\"Removing Datastore\"),nf.delete(t),e.terminate())}(this),Promise.resolve()}}function of(t,e,n,s={}){var r;const i=(t=tf(t,rf))._getSettings();if(\"firestore.googleapis.com\"!==i.host&&i.host!==e&&Os(\"Host has been set in both settings() and useEmulator(), emulator host will be used\"),t._setSettings(Object.assign(Object.assign({},i),{host:`${e}:${n}`,ssl:!1})),s.mockUserToken){let e,n;if(\"string\"==typeof s.mockUserToken)e=s.mockUserToken,n=Cs.MOCK_USER;else{e=function(t,e){if(t.uid)throw new Error('The \"uid\" field is no longer supported by mockUserToken. Please use \"sub\" instead for Firebase Auth User ID.');const n=e||\"demo-project\",s=t.iat||0,r=t.sub||t.user_id;if(!r)throw new Error(\"mockUserToken must contain 'sub' or 'user_id' field!\");const i=Object.assign({iss:`https://securetoken.google.com/${n}`,aud:n,iat:s,exp:s+3600,auth_time:s,sub:r,user_id:r,firebase:{sign_in_provider:\"custom\",identities:{}}},t);return[u(JSON.stringify({alg:\"none\",type:\"JWT\"})),u(JSON.stringify(i)),\"\"].join(\".\")}(s.mockUserToken,null===(r=t._app)||void 0===r?void 0:r.options.projectId);const i=s.mockUserToken.sub||s.mockUserToken.user_id;if(!i)throw new Ks(Gs.INVALID_ARGUMENT,\"mockUserToken must contain 'sub' or 'user_id' field!\");n=new Cs(i)}t._authCredentials=new zs(new $s(e,n))}}class af{constructor(t,e,n){this.converter=e,this._key=n,this.type=\"document\",this.firestore=t}get _path(){return this._key.path}get id(){return this._key.path.lastSegment()}get path(){return this._key.path.canonicalString()}get parent(){return new cf(this.firestore,this.converter,this._key.path.popLast())}withConverter(t){return new af(this.firestore,t,this._key)}}class uf{constructor(t,e,n){this.converter=e,this._query=n,this.type=\"query\",this.firestore=t}withConverter(t){return new uf(this.firestore,t,this._query)}}class cf extends uf{constructor(t,e,n){super(t,e,mo(n)),this._path=n,this.type=\"collection\"}get id(){return this._query.path.lastSegment()}get path(){return this._query.path.canonicalString()}get parent(){const t=this._path.popLast();return t.isEmpty()?null:new af(this.firestore,null,new lr(t))}withConverter(t){return new cf(this.firestore,t,this._path)}}function hf(t,e,...n){if(t=I(t),Wd(\"collection\",\"path\",e),t instanceof rf){const s=ur.fromString(e,...n);return Jd(s),new cf(t,null,s)}{if(!(t instanceof af||t instanceof cf))throw new Ks(Gs.INVALID_ARGUMENT,\"Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore\");const s=t._path.child(ur.fromString(e,...n));return Jd(s),new cf(t.firestore,null,s)}}function lf(t,e){if(t=tf(t,rf),Wd(\"collectionGroup\",\"collection id\",e),e.indexOf(\"/\")>=0)throw new Ks(Gs.INVALID_ARGUMENT,`Invalid collection ID '${e}' passed to function collectionGroup(). Collection IDs must not contain '/'.`);return new uf(t,null,function(t){return new lo(ur.emptyPath(),t)}(e))}function df(t,e,...n){if(t=I(t),1===arguments.length&&(e=er.R()),Wd(\"doc\",\"path\",e),t instanceof rf){const s=ur.fromString(e,...n);return Xd(s),new af(t,null,new lr(s))}{if(!(t instanceof af||t instanceof cf))throw new Ks(Gs.INVALID_ARGUMENT,\"Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore\");const s=t._path.child(ur.fromString(e,...n));return Xd(s),new af(t.firestore,t instanceof cf?t.converter:null,new lr(s))}}function ff(t,e){return t=I(t),e=I(e),(t instanceof af||t instanceof cf)&&(e instanceof af||e instanceof cf)&&t.firestore===e.firestore&&t.path===e.path&&t.converter===e.converter}function mf(t,e){return t=I(t),e=I(e),t instanceof uf&&e instanceof uf&&t.firestore===e.firestore&&To(t._query,e._query)&&t.converter===e.converter}function gf(t,e=10240){let n=0;return{async read(){if(n<t.byteLength){const s={value:t.slice(n,n+e),done:!1};return n+=e,s}return{done:!0}},async cancel(){},releaseLock(){},closed:Promise.reject(\"unimplemented\")}}class pf{constructor(t){this.observer=t,this.muted=!1}next(t){this.observer.next&&this.Rc(this.observer.next,t)}error(t){this.observer.error?this.Rc(this.observer.error,t):Fs(\"Uncaught Error in snapshot listener:\",t.toString())}bc(){this.muted=!0}Rc(t,e){this.muted||setTimeout((()=>{this.muted||t(e)}),0)}}class yf{constructor(t,e){this.Pc=t,this.yt=e,this.metadata=new js,this.buffer=new Uint8Array,this.vc=new TextDecoder(\"utf-8\"),this.Vc().then((t=>{t&&t.Ou()?this.metadata.resolve(t.ku.metadata):this.metadata.reject(new Error(`The first element of the bundle is not a metadata, it is\\n             ${JSON.stringify(null==t?void 0:t.ku)}`))}),(t=>this.metadata.reject(t)))}close(){return this.Pc.cancel()}async getMetadata(){return this.metadata.promise}async mc(){return await this.getMetadata(),this.Vc()}async Vc(){const t=await this.Sc();if(null===t)return null;const e=this.vc.decode(t),n=Number(e);isNaN(n)&&this.Dc(`length string (${e}) is not valid number`);const s=await this.Cc(n);return new ad(JSON.parse(s),t.length+n)}xc(){return this.buffer.findIndex((t=>t===\"{\".charCodeAt(0)))}async Sc(){for(;this.xc()<0&&!await this.Nc(););if(0===this.buffer.length)return null;const t=this.xc();t<0&&this.Dc(\"Reached the end of bundle when a length string is expected.\");const e=this.buffer.slice(0,t);return this.buffer=this.buffer.slice(t),e}async Cc(t){for(;this.buffer.length<t;)await this.Nc()&&this.Dc(\"Reached the end of bundle when more is expected.\");const e=this.vc.decode(this.buffer.slice(0,t));return this.buffer=this.buffer.slice(t),e}Dc(t){throw this.Pc.cancel(),new Error(`Invalid bundle format: ${t}`)}async Nc(){const t=await this.Pc.read();if(!t.done){const e=new Uint8Array(this.buffer.length+t.value.length);e.set(this.buffer),e.set(t.value,this.buffer.length),this.buffer=e}return t.done}}class wf{constructor(){this.type=\"AggregateField\"}}class vf{constructor(t,e){this._data=e,this.type=\"AggregateQuerySnapshot\",this.query=t}data(){return this._data}}class If{constructor(t,e,n){this.query=t,this.datastore=e,this.userDataWriter=n}run(){return async function(t,e){const n=Us(t),s=function(t,e){const n=su(t,e);return{structuredAggregationQuery:{aggregations:[{count:{},alias:\"count_alias\"}],structuredQuery:n.structuredQuery},parent:n.parent}}(n.yt,Io(e)),r=s.parent;return n.connection.co||delete s.parent,(await n._o(\"RunAggregationQuery\",r,s,1)).filter((t=>!!t.result)).map((t=>t.result.aggregateFields))}(this.datastore,this.query._query).then((t=>{qs(void 0!==t[0]);const e=Object.entries(t[0]).filter((([t,e])=>\"count_alias\"===t)).map((([t,e])=>this.userDataWriter.convertValue(e)))[0];return qs(\"number\"==typeof e),Promise.resolve(new vf(this.query,{count:e}))}))}}class bf{constructor(t){this.datastore=t,this.readVersions=new Map,this.mutations=[],this.committed=!1,this.lastWriteError=null,this.writtenDocs=new Set}async lookup(t){if(this.ensureCommitNotCalled(),this.mutations.length>0)throw new Ks(Gs.INVALID_ARGUMENT,\"Firestore transactions require all reads to be executed before all writes.\");const e=await async function(t,e){const n=Us(t),s=Ya(n.yt)+\"/documents\",r={documents:e.map((t=>Qa(n.yt,t)))},i=await n._o(\"BatchGetDocuments\",s,r,e.length),o=new Map;i.forEach((t=>{const e=function(t,e){return\"found\"in e?function(t,e){qs(!!e.found),e.found.name,e.found.updateTime;const n=za(t,e.found.name),s=Ka(e.found.updateTime),r=e.found.createTime?Ka(e.found.createTime):or.min(),i=new to({mapValue:{fields:e.found.fields}});return no.newFoundDocument(n,s,r,i)}(t,e):\"missing\"in e?function(t,e){qs(!!e.missing),qs(!!e.readTime);const n=za(t,e.missing),s=Ka(e.readTime);return no.newNoDocument(n,s)}(t,e):Ps()}(n.yt,t);o.set(e.key.toString(),e)}));const a=[];return e.forEach((t=>{const e=o.get(t.toString());qs(!!e),a.push(e)})),a}(this.datastore,t);return e.forEach((t=>this.recordVersion(t))),e}set(t,e){this.write(e.toMutation(t,this.precondition(t))),this.writtenDocs.add(t.toString())}update(t,e){try{this.write(e.toMutation(t,this.preconditionForUpdate(t)))}catch(t){this.lastWriteError=t}this.writtenDocs.add(t.toString())}delete(t){this.write(new oa(t,this.precondition(t))),this.writtenDocs.add(t.toString())}async commit(){if(this.ensureCommitNotCalled(),this.lastWriteError)throw this.lastWriteError;const t=this.readVersions;this.mutations.forEach((e=>{t.delete(e.key.toString())})),t.forEach(((t,e)=>{const n=lr.fromPath(e);this.mutations.push(new aa(n,this.precondition(n)))})),await async function(t,e){const n=Us(t),s=Ya(n.yt)+\"/documents\",r={writes:e.map((t=>tu(n.yt,t)))};await n.ao(\"Commit\",s,r)}(this.datastore,this.mutations),this.committed=!0}recordVersion(t){let e;if(t.isFoundDocument())e=t.version;else{if(!t.isNoDocument())throw Ps();e=or.min()}const n=this.readVersions.get(t.key.toString());if(n){if(!e.isEqual(n))throw new Ks(Gs.ABORTED,\"Document version changed between two reads.\")}else this.readVersions.set(t.key.toString(),e)}precondition(t){const e=this.readVersions.get(t.toString());return!this.writtenDocs.has(t.toString())&&e?e.isEqual(or.min())?zo.exists(!1):zo.updateTime(e):zo.none()}preconditionForUpdate(t){const e=this.readVersions.get(t.toString());if(!this.writtenDocs.has(t.toString())&&e){if(e.isEqual(or.min()))throw new Ks(Gs.INVALID_ARGUMENT,\"Can't update a document that doesn't exist.\");return zo.updateTime(e)}return zo.exists(!0)}write(t){this.ensureCommitNotCalled(),this.mutations.push(t)}ensureCommitNotCalled(){}}class Ef{constructor(t,e,n,s,r){this.asyncQueue=t,this.datastore=e,this.options=n,this.updateFunction=s,this.deferred=r,this.kc=n.maxAttempts,this.xo=new fl(this.asyncQueue,\"transaction_retry\")}run(){this.kc-=1,this.Oc()}Oc(){this.xo.Ro((async()=>{const t=new bf(this.datastore),e=this.Mc(t);e&&e.then((e=>{this.asyncQueue.enqueueAndForget((()=>t.commit().then((()=>{this.deferred.resolve(e)})).catch((t=>{this.Fc(t)}))))})).catch((t=>{this.Fc(t)}))}))}Mc(t){try{const e=this.updateFunction(t);return!jr(e)&&e.catch&&e.then?e:(this.deferred.reject(Error(\"Transaction callback must return a Promise\")),null)}catch(t){return this.deferred.reject(t),null}}Fc(t){this.kc>0&&this.$c(t)?(this.kc-=1,this.asyncQueue.enqueueAndForget((()=>(this.Oc(),Promise.resolve())))):this.deferred.reject(t)}$c(t){if(\"FirebaseError\"===t.name){const e=t.code;return\"aborted\"===e||\"failed-precondition\"===e||\"already-exists\"===e||!la(e)}return!1}}class Tf{constructor(t,e,n,s){this.authCredentials=t,this.appCheckCredentials=e,this.asyncQueue=n,this.databaseInfo=s,this.user=Cs.UNAUTHENTICATED,this.clientId=er.R(),this.authCredentialListener=()=>Promise.resolve(),this.appCheckCredentialListener=()=>Promise.resolve(),this.authCredentials.start(n,(async t=>{Ms(\"FirestoreClient\",\"Received user=\",t.uid),await this.authCredentialListener(t),this.user=t})),this.appCheckCredentials.start(n,(t=>(Ms(\"FirestoreClient\",\"Received new app check token=\",t),this.appCheckCredentialListener(t,this.user))))}async getConfiguration(){return{asyncQueue:this.asyncQueue,databaseInfo:this.databaseInfo,clientId:this.clientId,authCredentials:this.authCredentials,appCheckCredentials:this.appCheckCredentials,initialUser:this.user,maxConcurrentLimboResolutions:100}}setCredentialChangeListener(t){this.authCredentialListener=t}setAppCheckTokenChangeListener(t){this.appCheckCredentialListener=t}verifyNotTerminated(){if(this.asyncQueue.isShuttingDown)throw new Ks(Gs.FAILED_PRECONDITION,\"The client has already been terminated.\")}terminate(){this.asyncQueue.enterRestrictedMode();const t=new js;return this.asyncQueue.enqueueAndForgetEvenWhileRestricted((async()=>{try{this.onlineComponents&&await this.onlineComponents.terminate(),this.offlineComponents&&await this.offlineComponents.terminate(),this.authCredentials.shutdown(),this.appCheckCredentials.shutdown(),t.resolve()}catch(e){const n=Wl(e,\"Failed to shutdown persistence\");t.reject(n)}})),t.promise}}async function Sf(t,e){t.asyncQueue.verifyOperationInProgress(),Ms(\"FirestoreClient\",\"Initializing OfflineComponentProvider\");const n=await t.getConfiguration();await e.initialize(n);let s=n.initialUser;t.setCredentialChangeListener((async t=>{s.isEqual(t)||(await Ph(e.localStore,t),s=t)})),e.persistence.setDatabaseDeletedListener((()=>t.terminate())),t.offlineComponents=e}async function _f(t,e){t.asyncQueue.verifyOperationInProgress();const n=await xf(t);Ms(\"FirestoreClient\",\"Initializing OnlineComponentProvider\");const s=await t.getConfiguration();await e.initialize(n,s),t.setCredentialChangeListener((t=>jl(e.remoteStore,t))),t.setAppCheckTokenChangeListener(((t,n)=>jl(e.remoteStore,n))),t.onlineComponents=e}async function xf(t){return t.offlineComponents||(Ms(\"FirestoreClient\",\"Using default OfflineComponentProvider\"),await Sf(t,new $d)),t.offlineComponents}async function Df(t){return t.onlineComponents||(Ms(\"FirestoreClient\",\"Using default OnlineComponentProvider\"),await _f(t,new Hd)),t.onlineComponents}function Af(t){return xf(t).then((t=>t.persistence))}function Cf(t){return xf(t).then((t=>t.localStore))}function Nf(t){return Df(t).then((t=>t.remoteStore))}function kf(t){return Df(t).then((t=>t.syncEngine))}function Rf(t){return Df(t).then((t=>t.datastore))}async function Lf(t){const e=await Df(t),n=e.eventManager;return n.onListen=yd.bind(null,e.syncEngine),n.onUnlisten=vd.bind(null,e.syncEngine),n}function Mf(t,e,n={}){const s=new js;return t.asyncQueue.enqueueAndForget((async()=>function(t,e,n,s,r){const i=new pf({next:i=>{e.enqueueAndForget((()=>nd(t,o)));const a=i.docs.has(n);!a&&i.fromCache?r.reject(new Ks(Gs.UNAVAILABLE,\"Failed to get document because the client is offline.\")):a&&i.fromCache&&s&&\"server\"===s.source?r.reject(new Ks(Gs.UNAVAILABLE,'Failed to get document from server. (However, this document does exist in the local cache. Run again without setting source to \"server\" to retrieve the cached document.)')):r.resolve(i)},error:t=>r.reject(t)}),o=new od(mo(n.path),i,{includeMetadataChanges:!0,Nu:!0});return ed(t,o)}(await Lf(t),t.asyncQueue,e,n,s))),s.promise}function Ff(t,e,n={}){const s=new js;return t.asyncQueue.enqueueAndForget((async()=>function(t,e,n,s,r){const i=new pf({next:n=>{e.enqueueAndForget((()=>nd(t,o))),n.fromCache&&\"server\"===s.source?r.reject(new Ks(Gs.UNAVAILABLE,'Failed to get documents from server. (However, these documents may exist in the local cache. Run again without setting source to \"server\" to retrieve the cached documents.)')):r.resolve(n)},error:t=>r.reject(t)}),o=new od(n,i,{includeMetadataChanges:!0,Nu:!0});return ed(t,o)}(await Lf(t),t.asyncQueue,e,n,s))),s.promise}function Of(t,e,n,s){const r=function(t,e){let n;return n=\"string\"==typeof t?(new TextEncoder).encode(t):t,function(t,e){return new yf(t,e)}(function(t,e){if(t instanceof Uint8Array)return gf(t,e);if(t instanceof ArrayBuffer)return gf(new Uint8Array(t),e);if(t instanceof ReadableStream)return t.getReader();throw new Error(\"Source of `toByteStreamReader` has to be a ArrayBuffer or ReadableStream\")}(n),e)}(n,dl(e));t.asyncQueue.enqueueAndForget((async()=>{!function(t,e,n){const s=Us(t);(async function(t,e,n){try{const s=await e.getMetadata();if(await function(t,e){const n=Us(t),s=Ka(e.createTime);return n.persistence.runTransaction(\"hasNewerBundle\",\"readonly\",(t=>n.Ns.getBundleMetadata(t,e.id))).then((t=>!!t&&t.createTime.compareTo(s)>=0))}(t.localStore,s))return await e.close(),n._completeWith(function(t){return{taskState:\"Success\",documentsLoaded:t.totalDocuments,bytesLoaded:t.totalBytes,totalDocuments:t.totalDocuments,totalBytes:t.totalBytes}}(s)),Promise.resolve(new Set);n._updateProgress(hd(s));const r=new cd(s,t.localStore,e.yt);let i=await e.mc();for(;i;){const t=await r.Fu(i);t&&n._updateProgress(t),i=await e.mc()}const o=await r.complete();return await Rd(t,o.Lu,void 0),await function(t,e){const n=Us(t);return n.persistence.runTransaction(\"Save bundle\",\"readwrite\",(t=>n.Ns.saveBundleMetadata(t,e)))}(t.localStore,s),n._completeWith(o.progress),Promise.resolve(o.Bu)}catch(t){return Os(\"SyncEngine\",`Loading bundle failed with ${t}`),n._failWith(t),Promise.resolve(new Set)}})(s,e,n).then((t=>{s.sharedClientState.notifyBundleLoaded(t)}))}(await kf(t),r,s)}))}class Vf{constructor(){this.Bc=Promise.resolve(),this.Lc=[],this.qc=!1,this.Uc=[],this.Kc=null,this.Gc=!1,this.Qc=!1,this.jc=[],this.xo=new fl(this,\"async_queue_retry\"),this.Wc=()=>{const t=ll();t&&Ms(\"AsyncQueue\",\"Visibility state changed to \"+t.visibilityState),this.xo.Po()};const t=ll();t&&\"function\"==typeof t.addEventListener&&t.addEventListener(\"visibilitychange\",this.Wc)}get isShuttingDown(){return this.qc}enqueueAndForget(t){this.enqueue(t)}enqueueAndForgetEvenWhileRestricted(t){this.zc(),this.Hc(t)}enterRestrictedMode(t){if(!this.qc){this.qc=!0,this.Qc=t||!1;const e=ll();e&&\"function\"==typeof e.removeEventListener&&e.removeEventListener(\"visibilitychange\",this.Wc)}}enqueue(t){if(this.zc(),this.qc)return new Promise((()=>{}));const e=new js;return this.Hc((()=>this.qc&&this.Qc?Promise.resolve():(t().then(e.resolve,e.reject),e.promise))).then((()=>e.promise))}enqueueRetryable(t){this.enqueueAndForget((()=>(this.Lc.push(t),this.Jc())))}async Jc(){if(0!==this.Lc.length){try{await this.Lc[0](),this.Lc.shift(),this.xo.reset()}catch(t){if(!kr(t))throw t;Ms(\"AsyncQueue\",\"Operation failed with retryable error: \"+t)}this.Lc.length>0&&this.xo.Ro((()=>this.Jc()))}}Hc(t){const e=this.Bc.then((()=>(this.Gc=!0,t().catch((t=>{this.Kc=t,this.Gc=!1;const e=function(t){let e=t.message||\"\";return t.stack&&(e=t.stack.includes(t.message)?t.stack:t.message+\"\\n\"+t.stack),e}(t);throw Fs(\"INTERNAL UNHANDLED ERROR: \",e),t})).then((t=>(this.Gc=!1,t))))));return this.Bc=e,e}enqueueAfterDelay(t,e,n){this.zc(),this.jc.indexOf(t)>-1&&(e=0);const s=Hl.createAndSchedule(this,t,e,n,(t=>this.Yc(t)));return this.Uc.push(s),s}zc(){this.Kc&&Ps()}verifyOperationInProgress(){}async Xc(){let t;do{t=this.Bc,await t}while(t!==this.Bc)}Zc(t){for(const e of this.Uc)if(e.timerId===t)return!0;return!1}ta(t){return this.Xc().then((()=>{this.Uc.sort(((t,e)=>t.targetTimeMs-e.targetTimeMs));for(const e of this.Uc)if(e.skipDelay(),\"all\"!==t&&e.timerId===t)break;return this.Xc()}))}ea(t){this.jc.push(t)}Yc(t){const e=this.Uc.indexOf(t);this.Uc.splice(e,1)}}function Pf(t){return function(t,e){if(\"object\"!=typeof t||null===t)return!1;const n=t;for(const t of[\"next\",\"error\",\"complete\"])if(t in n&&\"function\"==typeof n[t])return!0;return!1}(t)}class qf{constructor(){this._progressObserver={},this._taskCompletionResolver=new js,this._lastProgress={taskState:\"Running\",totalBytes:0,totalDocuments:0,bytesLoaded:0,documentsLoaded:0}}onProgress(t,e,n){this._progressObserver={next:t,error:e,complete:n}}catch(t){return this._taskCompletionResolver.promise.catch(t)}then(t,e){return this._taskCompletionResolver.promise.then(t,e)}_completeWith(t){this._updateProgress(t),this._progressObserver.complete&&this._progressObserver.complete(),this._taskCompletionResolver.resolve(t)}_failWith(t){this._lastProgress.taskState=\"Error\",this._progressObserver.next&&this._progressObserver.next(this._lastProgress),this._progressObserver.error&&this._progressObserver.error(t),this._taskCompletionResolver.reject(t)}_updateProgress(t){this._lastProgress=t,this._progressObserver.next&&this._progressObserver.next(t)}}const Bf=-1;class Uf extends rf{constructor(t,e,n,s){super(t,e,n,s),this.type=\"firestore\",this._queue=new Vf,this._persistenceKey=(null==s?void 0:s.name)||\"[DEFAULT]\"}_terminate(){return this._firestoreClient||$f(this),this._firestoreClient.terminate()}}function Gf(t,e,s){s||(s=\"(default)\");const r=n(t,\"firestore\");if(r.isInitialized(s)){const t=r.getImmediate({identifier:s});if(w(r.getOptions(s),e))return t;throw new Ks(Gs.FAILED_PRECONDITION,\"initializeFirestore() has already been called with different options. To avoid this error, call initializeFirestore() with the same options as when it was originally called, or call getFirestore() to return the already initialized instance.\")}if(void 0!==e.cacheSizeBytes&&-1!==e.cacheSizeBytes&&e.cacheSizeBytes<1048576)throw new Ks(Gs.INVALID_ARGUMENT,\"cacheSizeBytes must be at least 1048576\");return r.initialize({options:e,instanceIdentifier:s})}function Kf(t,e){const r=\"object\"==typeof t?t:s(),i=\"string\"==typeof t?t:e||\"(default)\",o=n(r,\"firestore\").getImmediate({identifier:i});if(!o._initialized){const t=d(\"firestore\");t&&of(o,...t)}return o}function jf(t){return t._firestoreClient||$f(t),t._firestoreClient.verifyNotTerminated(),t._firestoreClient}function $f(t){var e;const n=t._freezeSettings(),s=function(t,e,n,s){return new qr(t,e,n,s.host,s.ssl,s.experimentalForceLongPolling,s.experimentalAutoDetectLongPolling,s.useFetchStreams)}(t._databaseId,(null===(e=t._app)||void 0===e?void 0:e.options.appId)||\"\",t._persistenceKey,n);t._firestoreClient=new Tf(t._authCredentials,t._appCheckCredentials,t._queue,s)}function Qf(t,e){nm(t=tf(t,Uf));const n=jf(t),s=t._freezeSettings(),r=new Hd;return Hf(n,r,new Qd(r,s.cacheSizeBytes,null==e?void 0:e.forceOwnership))}function zf(t){nm(t=tf(t,Uf));const e=jf(t),n=t._freezeSettings(),s=new Hd;return Hf(e,s,new zd(s,n.cacheSizeBytes))}function Hf(t,e,n){const s=new js;return t.asyncQueue.enqueue((async()=>{try{await Sf(t,n),await _f(t,e),s.resolve()}catch(t){const e=t;if(!function(t){return\"FirebaseError\"===t.name?t.code===Gs.FAILED_PRECONDITION||t.code===Gs.UNIMPLEMENTED:!(\"undefined\"!=typeof DOMException&&t instanceof DOMException)||(22===t.code||20===t.code||11===t.code)}(e))throw e;Os(\"Error enabling offline persistence. Falling back to persistence disabled: \"+e),s.reject(e)}})).then((()=>s.promise))}function Wf(t){if(t._initialized&&!t._terminated)throw new Ks(Gs.FAILED_PRECONDITION,\"Persistence can only be cleared before a Firestore instance is initialized or after it is terminated.\");const e=new js;return t._queue.enqueueAndForgetEvenWhileRestricted((async()=>{try{await async function(t){if(!Ar.C())return Promise.resolve();const e=t+\"main\";await Ar.delete(e)}(Lh(t._databaseId,t._persistenceKey)),e.resolve()}catch(t){e.reject(t)}})),e.promise}function Yf(t){return function(t){const e=new js;return t.asyncQueue.enqueueAndForget((async()=>async function(t,e){const n=Us(t);Al(n.remoteStore)||Ms(\"SyncEngine\",\"The network is disabled. The task returned by 'awaitPendingWrites()' will not complete until the network is enabled.\");try{const t=await function(t){const e=Us(t);return e.persistence.runTransaction(\"Get highest unacknowledged batch id\",\"readonly\",(t=>e.mutationQueue.getHighestUnacknowledgedBatchId(t)))}(n.localStore);if(-1===t)return void e.resolve();const s=n.lc.get(t)||[];s.push(e),n.lc.set(t,s)}catch(t){const n=Wl(t,\"Initialization of waitForPendingWrites() operation failed\");e.reject(n)}}(await kf(t),e))),e.promise}(jf(t=tf(t,Uf)))}function Xf(t){return function(t){return t.asyncQueue.enqueue((async()=>{const e=await Af(t),n=await Nf(t);return e.setNetworkEnabled(!0),function(t){const e=Us(t);return e._u.delete(0),Il(e)}(n)}))}(jf(t=tf(t,Uf)))}function Jf(t){return function(t){return t.asyncQueue.enqueue((async()=>{const e=await Af(t),n=await Nf(t);return e.setNetworkEnabled(!1),async function(t){const e=Us(t);e._u.add(0),await bl(e),e.gu.set(\"Offline\")}(n)}))}(jf(t=tf(t,Uf)))}function Zf(t){return r(t.app,\"firestore\",t._databaseId.database),t._delete()}function tm(t,e){const n=jf(t=tf(t,Uf)),s=new qf;return Of(n,t._databaseId,e,s),s}function em(t,e){return function(t,e){return t.asyncQueue.enqueue((async()=>function(t,e){const n=Us(t);return n.persistence.runTransaction(\"Get named query\",\"readonly\",(t=>n.Ns.getNamedQuery(t,e)))}(await Cf(t),e)))}(jf(t=tf(t,Uf)),e).then((e=>e?new uf(t,null,e.query):null))}function nm(t){if(t._initialized||t._terminated)throw new Ks(Gs.FAILED_PRECONDITION,\"Firestore has already been started and persistence can no longer be enabled. You can only enable persistence before calling any other methods on a Firestore object.\")}class sm{constructor(t){this._byteString=t}static fromBase64String(t){try{return new sm(Hr.fromBase64String(t))}catch(t){throw new Ks(Gs.INVALID_ARGUMENT,\"Failed to construct data from Base64 string: \"+t)}}static fromUint8Array(t){return new sm(Hr.fromUint8Array(t))}toBase64(){return this._byteString.toBase64()}toUint8Array(){return this._byteString.toUint8Array()}toString(){return\"Bytes(base64: \"+this.toBase64()+\")\"}isEqual(t){return this._byteString.isEqual(t._byteString)}}class rm{constructor(...t){for(let e=0;e<t.length;++e)if(0===t[e].length)throw new Ks(Gs.INVALID_ARGUMENT,\"Invalid field name at argument $(i + 1). Field names must not be empty.\");this._internalPath=new hr(t)}isEqual(t){return this._internalPath.isEqual(t._internalPath)}}function im(){return new rm(\"__name__\")}class om{constructor(t){this._methodName=t}}class am{constructor(t,e){if(!isFinite(t)||t<-90||t>90)throw new Ks(Gs.INVALID_ARGUMENT,\"Latitude must be a number between -90 and 90, but was: \"+t);if(!isFinite(e)||e<-180||e>180)throw new Ks(Gs.INVALID_ARGUMENT,\"Longitude must be a number between -180 and 180, but was: \"+e);this._lat=t,this._long=e}get latitude(){return this._lat}get longitude(){return this._long}isEqual(t){return this._lat===t._lat&&this._long===t._long}toJSON(){return{latitude:this._lat,longitude:this._long}}_compareTo(t){return nr(this._lat,t._lat)||nr(this._long,t._long)}}const um=/^__.*__$/;class cm{constructor(t,e,n){this.data=t,this.fieldMask=e,this.fieldTransforms=n}toMutation(t,e){return null!==this.fieldMask?new na(t,this.data,this.fieldMask,e,this.fieldTransforms):new ea(t,this.data,e,this.fieldTransforms)}}class hm{constructor(t,e,n){this.data=t,this.fieldMask=e,this.fieldTransforms=n}toMutation(t,e){return new na(t,this.data,this.fieldMask,e,this.fieldTransforms)}}function lm(t){switch(t){case 0:case 2:case 1:return!0;case 3:case 4:return!1;default:throw Ps()}}class dm{constructor(t,e,n,s,r,i){this.settings=t,this.databaseId=e,this.yt=n,this.ignoreUndefinedProperties=s,void 0===r&&this.na(),this.fieldTransforms=r||[],this.fieldMask=i||[]}get path(){return this.settings.path}get sa(){return this.settings.sa}ia(t){return new dm(Object.assign(Object.assign({},this.settings),t),this.databaseId,this.yt,this.ignoreUndefinedProperties,this.fieldTransforms,this.fieldMask)}ra(t){var e;const n=null===(e=this.path)||void 0===e?void 0:e.child(t),s=this.ia({path:n,oa:!1});return s.ua(t),s}ca(t){var e;const n=null===(e=this.path)||void 0===e?void 0:e.child(t),s=this.ia({path:n,oa:!1});return s.na(),s}aa(t){return this.ia({path:void 0,oa:!0})}ha(t){return Rm(t,this.settings.methodName,this.settings.la||!1,this.path,this.settings.fa)}contains(t){return void 0!==this.fieldMask.find((e=>t.isPrefixOf(e)))||void 0!==this.fieldTransforms.find((e=>t.isPrefixOf(e.field)))}na(){if(this.path)for(let t=0;t<this.path.length;t++)this.ua(this.path.get(t))}ua(t){if(0===t.length)throw this.ha(\"Document fields must not be empty\");if(lm(this.sa)&&um.test(t))throw this.ha('Document fields cannot begin and end with \"__\"')}}class fm{constructor(t,e,n){this.databaseId=t,this.ignoreUndefinedProperties=e,this.yt=n||dl(t)}da(t,e,n,s=!1){return new dm({sa:t,methodName:e,fa:n,path:hr.emptyPath(),oa:!1,la:s},this.databaseId,this.yt,this.ignoreUndefinedProperties)}}function mm(t){const e=t._freezeSettings(),n=dl(t._databaseId);return new fm(t._databaseId,!!e.ignoreUndefinedProperties,n)}function gm(t,e,n,s,r,i={}){const o=t.da(i.merge||i.mergeFields?2:0,e,n,r);Am(\"Data must be an object, but it was:\",o,s);const a=xm(s,o);let u,c;if(i.merge)u=new Zi(o.fieldMask),c=o.fieldTransforms;else if(i.mergeFields){const t=[];for(const s of i.mergeFields){const r=Cm(e,s,n);if(!o.contains(r))throw new Ks(Gs.INVALID_ARGUMENT,`Field '${r}' is specified in your field mask but missing from your input data.`);Lm(t,r)||t.push(r)}u=new Zi(t),c=o.fieldTransforms.filter((t=>u.covers(t.field)))}else u=null,c=o.fieldTransforms;return new cm(new to(a),u,c)}class pm extends om{_toFieldTransform(t){if(2!==t.sa)throw 1===t.sa?t.ha(`${this._methodName}() can only appear at the top level of your update data`):t.ha(`${this._methodName}() cannot be used with set() unless you pass {merge:true}`);return t.fieldMask.push(t.path),null}isEqual(t){return t instanceof pm}}function ym(t,e,n){return new dm({sa:3,fa:e.settings.fa,methodName:t._methodName,oa:n},e.databaseId,e.yt,e.ignoreUndefinedProperties)}class wm extends om{_toFieldTransform(t){return new $o(t.path,new Vo)}isEqual(t){return t instanceof wm}}class vm extends om{constructor(t,e){super(t),this._a=e}_toFieldTransform(t){const e=ym(this,t,!0),n=this._a.map((t=>_m(t,e))),s=new Po(n);return new $o(t.path,s)}isEqual(t){return this===t}}class Im extends om{constructor(t,e){super(t),this._a=e}_toFieldTransform(t){const e=ym(this,t,!0),n=this._a.map((t=>_m(t,e))),s=new Bo(n);return new $o(t.path,s)}isEqual(t){return this===t}}class bm extends om{constructor(t,e){super(t),this.wa=e}_toFieldTransform(t){const e=new Go(t.yt,Ro(t.yt,this.wa));return new $o(t.path,e)}isEqual(t){return this===t}}function Em(t,e,n,s){const r=t.da(1,e,n);Am(\"Data must be an object, but it was:\",r,s);const i=[],o=to.empty();Gr(s,((t,s)=>{const a=km(e,t,n);s=I(s);const u=r.ca(a);if(s instanceof pm)i.push(a);else{const t=_m(s,u);null!=t&&(i.push(a),o.set(a,t))}}));const a=new Zi(i);return new hm(o,a,r.fieldTransforms)}function Tm(t,e,n,s,r,i){const o=t.da(1,e,n),a=[Cm(e,s,n)],u=[r];if(i.length%2!=0)throw new Ks(Gs.INVALID_ARGUMENT,`Function ${e}() needs to be called with an even number of arguments that alternate between field names and values.`);for(let t=0;t<i.length;t+=2)a.push(Cm(e,i[t])),u.push(i[t+1]);const c=[],h=to.empty();for(let t=a.length-1;t>=0;--t)if(!Lm(c,a[t])){const e=a[t];let n=u[t];n=I(n);const s=o.ca(e);if(n instanceof pm)c.push(e);else{const t=_m(n,s);null!=t&&(c.push(e),h.set(e,t))}}const l=new Zi(c);return new hm(h,l,o.fieldTransforms)}function Sm(t,e,n,s=!1){return _m(n,t.da(s?4:3,e))}function _m(t,e){if(Dm(t=I(t)))return Am(\"Unsupported field value:\",e,t),xm(t,e);if(t instanceof om)return function(t,e){if(!lm(e.sa))throw e.ha(`${t._methodName}() can only be used with update() and set()`);if(!e.path)throw e.ha(`${t._methodName}() is not currently supported inside arrays`);const n=t._toFieldTransform(e);n&&e.fieldTransforms.push(n)}(t,e),null;if(void 0===t&&e.ignoreUndefinedProperties)return null;if(e.path&&e.fieldMask.push(e.path),t instanceof Array){if(e.settings.oa&&4!==e.sa)throw e.ha(\"Nested arrays are not supported\");return function(t,e){const n=[];let s=0;for(const r of t){let t=_m(r,e.aa(s));null==t&&(t={nullValue:\"NULL_VALUE\"}),n.push(t),s++}return{arrayValue:{values:n}}}(t,e)}return function(t,e){if(null===(t=I(t)))return{nullValue:\"NULL_VALUE\"};if(\"number\"==typeof t)return Ro(e.yt,t);if(\"boolean\"==typeof t)return{booleanValue:t};if(\"string\"==typeof t)return{stringValue:t};if(t instanceof Date){const n=ir.fromDate(t);return{timestampValue:Ba(e.yt,n)}}if(t instanceof ir){const n=new ir(t.seconds,1e3*Math.floor(t.nanoseconds/1e3));return{timestampValue:Ba(e.yt,n)}}if(t instanceof am)return{geoPointValue:{latitude:t.latitude,longitude:t.longitude}};if(t instanceof sm)return{bytesValue:Ua(e.yt,t._byteString)};if(t instanceof af){const n=e.databaseId,s=t.firestore._databaseId;if(!s.isEqual(n))throw e.ha(`Document reference is for database ${s.projectId}/${s.database} but should be for database ${n.projectId}/${n.database}`);return{referenceValue:ja(t.firestore._databaseId||e.databaseId,t._key.path)}}throw e.ha(`Unsupported field value: ${Zd(t)}`)}(t,e)}function xm(t,e){const n={};return Kr(t)?e.path&&e.path.length>0&&e.fieldMask.push(e.path):Gr(t,((t,s)=>{const r=_m(s,e.ra(t));null!=r&&(n[t]=r)})),{mapValue:{fields:n}}}function Dm(t){return!(\"object\"!=typeof t||null===t||t instanceof Array||t instanceof Date||t instanceof ir||t instanceof am||t instanceof sm||t instanceof af||t instanceof om)}function Am(t,e,n){if(!Dm(n)||!function(t){return\"object\"==typeof t&&null!==t&&(Object.getPrototypeOf(t)===Object.prototype||null===Object.getPrototypeOf(t))}(n)){const s=Zd(n);throw\"an object\"===s?e.ha(t+\" a custom object\"):e.ha(t+\" \"+s)}}function Cm(t,e,n){if((e=I(e))instanceof rm)return e._internalPath;if(\"string\"==typeof e)return km(t,e);throw Rm(\"Field path arguments must be of type string or \",t,!1,void 0,n)}const Nm=new RegExp(\"[~\\\\*/\\\\[\\\\]]\");function km(t,e,n){if(e.search(Nm)>=0)throw Rm(`Invalid field path (${e}). Paths must not contain '~', '*', '/', '[', or ']'`,t,!1,void 0,n);try{return new rm(...e.split(\".\"))._internalPath}catch(s){throw Rm(`Invalid field path (${e}). Paths must not be empty, begin with '.', end with '.', or contain '..'`,t,!1,void 0,n)}}function Rm(t,e,n,s,r){const i=s&&!s.isEmpty(),o=void 0!==r;let a=`Function ${e}() called with invalid data`;n&&(a+=\" (via `toFirestore()`)\"),a+=\". \";let u=\"\";return(i||o)&&(u+=\" (found\",i&&(u+=` in field ${s}`),o&&(u+=` in document ${r}`),u+=\")\"),new Ks(Gs.INVALID_ARGUMENT,a+t+u)}function Lm(t,e){return t.some((t=>t.isEqual(e)))}class Mm{constructor(t,e,n,s,r){this._firestore=t,this._userDataWriter=e,this._key=n,this._document=s,this._converter=r}get id(){return this._key.path.lastSegment()}get ref(){return new af(this._firestore,this._converter,this._key)}exists(){return null!==this._document}data(){if(this._document){if(this._converter){const t=new Fm(this._firestore,this._userDataWriter,this._key,this._document,null);return this._converter.fromFirestore(t)}return this._userDataWriter.convertValue(this._document.data.value)}}get(t){if(this._document){const e=this._document.data.field(Om(\"DocumentSnapshot.get\",t));if(null!==e)return this._userDataWriter.convertValue(e)}}}class Fm extends Mm{data(){return super.data()}}function Om(t,e){return\"string\"==typeof e?km(t,e):e instanceof rm?e._internalPath:e._delegate._internalPath}function Vm(t){if(\"L\"===t.limitType&&0===t.explicitOrderBy.length)throw new Ks(Gs.UNIMPLEMENTED,\"limitToLast() queries require specifying at least one orderBy() clause\")}class Pm{}class qm extends Pm{}function Bm(t,e,...n){let s=[];e instanceof Pm&&s.push(e),s=s.concat(n),function(t){const e=t.filter((t=>t instanceof Km)).length,n=t.filter((t=>t instanceof Um)).length;if(e>1||e>0&&n>0)throw new Ks(Gs.INVALID_ARGUMENT,\"InvalidQuery. When using composite filters, you cannot use more than one filter at the top level. Consider nesting the multiple filters within an `and(...)` statement. For example: change `query(query, where(...), or(...))` to `query(query, and(where(...), or(...)))`.\")}(s);for(const e of s)t=e._apply(t);return t}class Um extends qm{constructor(t,e,n){super(),this._field=t,this._op=e,this._value=n,this.type=\"where\"}static _create(t,e,n){return new Um(t,e,n)}_apply(t){const e=this._parse(t);return og(t._query,e),new uf(t.firestore,t.converter,bo(t._query,e))}_parse(t){const e=mm(t.firestore),n=function(t,e,n,s,r,i,o){let a;if(r.isKeyField()){if(\"array-contains\"===i||\"array-contains-any\"===i)throw new Ks(Gs.INVALID_ARGUMENT,`Invalid Query. You can't perform '${i}' queries on documentId().`);if(\"in\"===i||\"not-in\"===i){ig(o,i);const e=[];for(const n of o)e.push(rg(s,t,n));a={arrayValue:{values:e}}}else a=rg(s,t,o)}else\"in\"!==i&&\"not-in\"!==i&&\"array-contains-any\"!==i||ig(o,i),a=Sm(n,\"where\",o,\"in\"===i||\"not-in\"===i);return Di.create(r,i,a)}(t._query,0,e,t.firestore._databaseId,this._field,this._op,this._value);return n}}function Gm(t,e,n){const s=e,r=Om(\"where\",t);return Um._create(r,s,n)}class Km extends Pm{constructor(t,e){super(),this.type=t,this._queryConstraints=e}static _create(t,e){return new Km(t,e)}_parse(t){const e=this._queryConstraints.map((e=>e._parse(t))).filter((t=>t.getFilters().length>0));return 1===e.length?e[0]:Ai.create(e,this._getOperator())}_apply(t){const e=this._parse(t);return 0===e.getFilters().length?t:(function(t,e){let n=t;const s=e.getFlattenedFilters();for(const t of s)og(n,t),n=bo(n,t)}(t._query,e),new uf(t.firestore,t.converter,bo(t._query,e)))}_getQueryConstraints(){return this._queryConstraints}_getOperator(){return\"and\"===this.type?\"and\":\"or\"}}function jm(...t){return t.forEach((t=>ug(\"or\",t))),Km._create(\"or\",t)}function $m(...t){return t.forEach((t=>ug(\"and\",t))),Km._create(\"and\",t)}class Qm extends qm{constructor(t,e){super(),this._field=t,this._direction=e,this.type=\"orderBy\"}static _create(t,e){return new Qm(t,e)}_apply(t){const e=function(t,e,n){if(null!==t.startAt)throw new Ks(Gs.INVALID_ARGUMENT,\"Invalid query. You must not call startAt() or startAfter() before calling orderBy().\");if(null!==t.endAt)throw new Ks(Gs.INVALID_ARGUMENT,\"Invalid query. You must not call endAt() or endBefore() before calling orderBy().\");const s=new $i(e,n);return function(t,e){if(null===po(t)){const n=yo(t);null!==n&&ag(t,n,e.field)}}(t,s),s}(t._query,this._field,this._direction);return new uf(t.firestore,t.converter,function(t,e){const n=t.explicitOrderBy.concat([e]);return new lo(t.path,t.collectionGroup,n,t.filters.slice(),t.limit,t.limitType,t.startAt,t.endAt)}(t._query,e))}}function zm(t,e=\"asc\"){const n=e,s=Om(\"orderBy\",t);return Qm._create(s,n)}class Hm extends qm{constructor(t,e,n){super(),this.type=t,this._limit=e,this._limitType=n}static _create(t,e,n){return new Hm(t,e,n)}_apply(t){return new uf(t.firestore,t.converter,Eo(t._query,this._limit,this._limitType))}}function Wm(t){return ef(\"limit\",t),Hm._create(\"limit\",t,\"F\")}function Ym(t){return ef(\"limitToLast\",t),Hm._create(\"limitToLast\",t,\"L\")}class Xm extends qm{constructor(t,e,n){super(),this.type=t,this._docOrFields=e,this._inclusive=n}static _create(t,e,n){return new Xm(t,e,n)}_apply(t){const e=sg(t,this.type,this._docOrFields,this._inclusive);return new uf(t.firestore,t.converter,function(t,e){return new lo(t.path,t.collectionGroup,t.explicitOrderBy.slice(),t.filters.slice(),t.limit,t.limitType,e,t.endAt)}(t._query,e))}}function Jm(...t){return Xm._create(\"startAt\",t,!0)}function Zm(...t){return Xm._create(\"startAfter\",t,!1)}class tg extends qm{constructor(t,e,n){super(),this.type=t,this._docOrFields=e,this._inclusive=n}static _create(t,e,n){return new tg(t,e,n)}_apply(t){const e=sg(t,this.type,this._docOrFields,this._inclusive);return new uf(t.firestore,t.converter,function(t,e){return new lo(t.path,t.collectionGroup,t.explicitOrderBy.slice(),t.filters.slice(),t.limit,t.limitType,t.startAt,e)}(t._query,e))}}function eg(...t){return tg._create(\"endBefore\",t,!1)}function ng(...t){return tg._create(\"endAt\",t,!0)}function sg(t,e,n,s){if(n[0]=I(n[0]),n[0]instanceof Mm)return function(t,e,n,s,r){if(!s)throw new Ks(Gs.NOT_FOUND,`Can't use a DocumentSnapshot that doesn't exist for ${n}().`);const i=[];for(const n of vo(t))if(n.field.isKeyField())i.push(li(e,s.key));else{const t=s.data.field(n.field);if(Zr(t))throw new Ks(Gs.INVALID_ARGUMENT,'Invalid query. You are trying to start or end a query using a document for which the field \"'+n.field+'\" is an uncommitted server timestamp. (Since the value of this field is unknown, you cannot start/end a query with it.)');if(null===t){const t=n.field.canonicalString();throw new Ks(Gs.INVALID_ARGUMENT,`Invalid query. You are trying to start or end a query using a document for which the field '${t}' (used as the orderBy) does not exist.`)}i.push(t)}return new Ti(i,r)}(t._query,t.firestore._databaseId,e,n[0]._document,s);{const r=mm(t.firestore);return function(t,e,n,s,r,i){const o=t.explicitOrderBy;if(r.length>o.length)throw new Ks(Gs.INVALID_ARGUMENT,`Too many arguments provided to ${s}(). The number of arguments must be less than or equal to the number of orderBy() clauses`);const a=[];for(let i=0;i<r.length;i++){const u=r[i];if(o[i].field.isKeyField()){if(\"string\"!=typeof u)throw new Ks(Gs.INVALID_ARGUMENT,`Invalid query. Expected a string for document ID in ${s}(), but got a ${typeof u}`);if(!wo(t)&&-1!==u.indexOf(\"/\"))throw new Ks(Gs.INVALID_ARGUMENT,`Invalid query. When querying a collection and ordering by documentId(), the value passed to ${s}() must be a plain document ID, but '${u}' contains a slash.`);const n=t.path.child(ur.fromString(u));if(!lr.isDocumentKey(n))throw new Ks(Gs.INVALID_ARGUMENT,`Invalid query. When querying a collection group and ordering by documentId(), the value passed to ${s}() must result in a valid document path, but '${n}' is not because it contains an odd number of segments.`);const r=new lr(n);a.push(li(e,r))}else{const t=Sm(n,s,u);a.push(t)}}return new Ti(a,i)}(t._query,t.firestore._databaseId,r,e,n,s)}}function rg(t,e,n){if(\"string\"==typeof(n=I(n))){if(\"\"===n)throw new Ks(Gs.INVALID_ARGUMENT,\"Invalid query. When querying with documentId(), you must provide a valid document ID, but it was an empty string.\");if(!wo(e)&&-1!==n.indexOf(\"/\"))throw new Ks(Gs.INVALID_ARGUMENT,`Invalid query. When querying a collection by documentId(), you must provide a plain document ID, but '${n}' contains a '/' character.`);const s=e.path.child(ur.fromString(n));if(!lr.isDocumentKey(s))throw new Ks(Gs.INVALID_ARGUMENT,`Invalid query. When querying a collection group by documentId(), the value provided must result in a valid document path, but '${s}' is not because it has an odd number of segments (${s.length}).`);return li(t,new lr(s))}if(n instanceof af)return li(t,n._key);throw new Ks(Gs.INVALID_ARGUMENT,`Invalid query. When querying with documentId(), you must provide a valid string or a DocumentReference, but it was: ${Zd(n)}.`)}function ig(t,e){if(!Array.isArray(t)||0===t.length)throw new Ks(Gs.INVALID_ARGUMENT,`Invalid Query. A non-empty array is required for '${e.toString()}' filters.`);if(t.length>10)throw new Ks(Gs.INVALID_ARGUMENT,`Invalid Query. '${e.toString()}' filters support a maximum of 10 elements in the value array.`)}function og(t,e){if(e.isInequality()){const n=yo(t),s=e.field;if(null!==n&&!n.isEqual(s))throw new Ks(Gs.INVALID_ARGUMENT,`Invalid query. All where filters with an inequality (<, <=, !=, not-in, >, or >=) must be on the same field. But you have inequality filters on '${n.toString()}' and '${s.toString()}'`);const r=po(t);null!==r&&ag(t,s,r)}const n=function(t,e){for(const n of t)for(const t of n.getFlattenedFilters())if(e.indexOf(t.op)>=0)return t.op;return null}(t.filters,function(t){switch(t){case\"!=\":return[\"!=\",\"not-in\"];case\"array-contains\":return[\"array-contains\",\"array-contains-any\",\"not-in\"];case\"in\":return[\"array-contains-any\",\"in\",\"not-in\"];case\"array-contains-any\":return[\"array-contains\",\"array-contains-any\",\"in\",\"not-in\"];case\"not-in\":return[\"array-contains\",\"array-contains-any\",\"in\",\"not-in\",\"!=\"];default:return[]}}(e.op));if(null!==n)throw n===e.op?new Ks(Gs.INVALID_ARGUMENT,`Invalid query. You cannot use more than one '${e.op.toString()}' filter.`):new Ks(Gs.INVALID_ARGUMENT,`Invalid query. You cannot use '${e.op.toString()}' filters with '${n.toString()}' filters.`)}function ag(t,e,n){if(!n.isEqual(e))throw new Ks(Gs.INVALID_ARGUMENT,`Invalid query. You have a where filter with an inequality (<, <=, !=, not-in, >, or >=) on field '${e.toString()}' and so you must also use '${e.toString()}' as your first argument to orderBy(), but your first orderBy() is on field '${n.toString()}' instead.`)}function ug(t,e){if(!(e instanceof Um||e instanceof Km))throw new Ks(Gs.INVALID_ARGUMENT,`Function ${t}() requires AppliableConstraints created with a call to 'where(...)', 'or(...)', or 'and(...)'.`)}class cg{convertValue(t,e=\"none\"){switch(ri(t)){case 0:return null;case 1:return t.booleanValue;case 2:return Xr(t.integerValue||t.doubleValue);case 3:return this.convertTimestamp(t.timestampValue);case 4:return this.convertServerTimestamp(t,e);case 5:return t.stringValue;case 6:return this.convertBytes(Jr(t.bytesValue));case 7:return this.convertReference(t.referenceValue);case 8:return this.convertGeoPoint(t.geoPointValue);case 9:return this.convertArray(t.arrayValue,e);case 10:return this.convertObject(t.mapValue,e);default:throw Ps()}}convertObject(t,e){const n={};return Gr(t.fields,((t,s)=>{n[t]=this.convertValue(s,e)})),n}convertGeoPoint(t){return new am(Xr(t.latitude),Xr(t.longitude))}convertArray(t,e){return(t.values||[]).map((t=>this.convertValue(t,e)))}convertServerTimestamp(t,e){switch(e){case\"previous\":const n=ti(t);return null==n?null:this.convertValue(n,e);case\"estimate\":return this.convertTimestamp(ei(t));default:return null}}convertTimestamp(t){const e=Yr(t);return new ir(e.seconds,e.nanos)}convertDocumentKey(t,e){const n=ur.fromString(t);qs(fu(n));const s=new Br(n.get(1),n.get(3)),r=new lr(n.popFirst(5));return s.isEqual(e)||Fs(`Document ${r} contains a document reference within a different database (${s.projectId}/${s.database}) which is not supported. It will be treated as a reference in the current database (${e.projectId}/${e.database}) instead.`),r}}function hg(t,e,n){let s;return s=t?n&&(n.merge||n.mergeFields)?t.toFirestore(e,n):t.toFirestore(e):e,s}class lg extends cg{constructor(t){super(),this.firestore=t}convertBytes(t){return new sm(t)}convertReference(t){const e=this.convertDocumentKey(t,this.firestore._databaseId);return new af(this.firestore,null,e)}}class dg{constructor(t,e){this.hasPendingWrites=t,this.fromCache=e}isEqual(t){return this.hasPendingWrites===t.hasPendingWrites&&this.fromCache===t.fromCache}}class fg extends Mm{constructor(t,e,n,s,r,i){super(t,e,n,s,i),this._firestore=t,this._firestoreImpl=t,this.metadata=r}exists(){return super.exists()}data(t={}){if(this._document){if(this._converter){const e=new mg(this._firestore,this._userDataWriter,this._key,this._document,this.metadata,null);return this._converter.fromFirestore(e,t)}return this._userDataWriter.convertValue(this._document.data.value,t.serverTimestamps)}}get(t,e={}){if(this._document){const n=this._document.data.field(Om(\"DocumentSnapshot.get\",t));if(null!==n)return this._userDataWriter.convertValue(n,e.serverTimestamps)}}}class mg extends fg{data(t={}){return super.data(t)}}class gg{constructor(t,e,n,s){this._firestore=t,this._userDataWriter=e,this._snapshot=s,this.metadata=new dg(s.hasPendingWrites,s.fromCache),this.query=n}get docs(){const t=[];return this.forEach((e=>t.push(e))),t}get size(){return this._snapshot.docs.size}get empty(){return 0===this.size}forEach(t,e){this._snapshot.docs.forEach((n=>{t.call(e,new mg(this._firestore,this._userDataWriter,n.key,n,new dg(this._snapshot.mutatedKeys.has(n.key),this._snapshot.fromCache),this.query.converter))}))}docChanges(t={}){const e=!!t.includeMetadataChanges;if(e&&this._snapshot.excludesMetadataChanges)throw new Ks(Gs.INVALID_ARGUMENT,\"To include metadata changes with your document changes, you must also pass { includeMetadataChanges:true } to onSnapshot().\");return this._cachedChanges&&this._cachedChangesIncludeMetadataChanges===e||(this._cachedChanges=function(t,e){if(t._snapshot.oldDocs.isEmpty()){let e=0;return t._snapshot.docChanges.map((n=>{const s=new mg(t._firestore,t._userDataWriter,n.doc.key,n.doc,new dg(t._snapshot.mutatedKeys.has(n.doc.key),t._snapshot.fromCache),t.query.converter);return n.doc,{type:\"added\",doc:s,oldIndex:-1,newIndex:e++}}))}{let n=t._snapshot.oldDocs;return t._snapshot.docChanges.filter((t=>e||3!==t.type)).map((e=>{const s=new mg(t._firestore,t._userDataWriter,e.doc.key,e.doc,new dg(t._snapshot.mutatedKeys.has(e.doc.key),t._snapshot.fromCache),t.query.converter);let r=-1,i=-1;return 0!==e.type&&(r=n.indexOf(e.doc.key),n=n.delete(e.doc.key)),1!==e.type&&(n=n.add(e.doc),i=n.indexOf(e.doc.key)),{type:pg(e.type),doc:s,oldIndex:r,newIndex:i}}))}}(this,e),this._cachedChangesIncludeMetadataChanges=e),this._cachedChanges}}function pg(t){switch(t){case 0:return\"added\";case 2:case 3:return\"modified\";case 1:return\"removed\";default:return Ps()}}function yg(t,e){return t instanceof fg&&e instanceof fg?t._firestore===e._firestore&&t._key.isEqual(e._key)&&(null===t._document?null===e._document:t._document.isEqual(e._document))&&t._converter===e._converter:t instanceof gg&&e instanceof gg&&t._firestore===e._firestore&&mf(t.query,e.query)&&t.metadata.isEqual(e.metadata)&&t._snapshot.isEqual(e._snapshot)}function wg(t){t=tf(t,af);const e=tf(t.firestore,Uf);return Mf(jf(e),t._key).then((n=>Rg(e,t,n)))}class vg extends cg{constructor(t){super(),this.firestore=t}convertBytes(t){return new sm(t)}convertReference(t){const e=this.convertDocumentKey(t,this.firestore._databaseId);return new af(this.firestore,null,e)}}function Ig(t){t=tf(t,af);const e=tf(t.firestore,Uf),n=jf(e),s=new vg(e);return function(t,e){const n=new js;return t.asyncQueue.enqueueAndForget((async()=>async function(t,e,n){try{const s=await function(t,e){const n=Us(t);return n.persistence.runTransaction(\"read document\",\"readonly\",(t=>n.localDocuments.getDocument(t,e)))}(t,e);s.isFoundDocument()?n.resolve(s):s.isNoDocument()?n.resolve(null):n.reject(new Ks(Gs.UNAVAILABLE,\"Failed to get document from cache. (However, this document may exist on the server. Run again without setting 'source' in the GetOptions to attempt to retrieve the document from the server.)\"))}catch(t){const s=Wl(t,`Failed to get document '${e} from cache`);n.reject(s)}}(await Cf(t),e,n))),n.promise}(n,t._key).then((n=>new fg(e,s,t._key,n,new dg(null!==n&&n.hasLocalMutations,!0),t.converter)))}function bg(t){t=tf(t,af);const e=tf(t.firestore,Uf);return Mf(jf(e),t._key,{source:\"server\"}).then((n=>Rg(e,t,n)))}function Eg(t){t=tf(t,uf);const e=tf(t.firestore,Uf),n=jf(e),s=new vg(e);return Vm(t._query),Ff(n,t._query).then((n=>new gg(e,s,t,n)))}function Tg(t){t=tf(t,uf);const e=tf(t.firestore,Uf),n=jf(e),s=new vg(e);return function(t,e){const n=new js;return t.asyncQueue.enqueueAndForget((async()=>async function(t,e,n){try{const s=await jh(t,e,!0),r=new fd(e,s.Hi),i=r.Wu(s.documents),o=r.applyChanges(i,!1);n.resolve(o.snapshot)}catch(t){const s=Wl(t,`Failed to execute query '${e} against cache`);n.reject(s)}}(await Cf(t),e,n))),n.promise}(n,t._query).then((n=>new gg(e,s,t,n)))}function Sg(t){t=tf(t,uf);const e=tf(t.firestore,Uf),n=jf(e),s=new vg(e);return Ff(n,t._query,{source:\"server\"}).then((n=>new gg(e,s,t,n)))}function _g(t,e,n){t=tf(t,af);const s=tf(t.firestore,Uf),r=hg(t.converter,e,n);return kg(s,[gm(mm(s),\"setDoc\",t._key,r,null!==t.converter,n).toMutation(t._key,zo.none())])}function xg(t,e,n,...s){t=tf(t,af);const r=tf(t.firestore,Uf),i=mm(r);let o;return o=\"string\"==typeof(e=I(e))||e instanceof rm?Tm(i,\"updateDoc\",t._key,e,n,s):Em(i,\"updateDoc\",t._key,e),kg(r,[o.toMutation(t._key,zo.exists(!0))])}function Dg(t){return kg(tf(t.firestore,Uf),[new oa(t._key,zo.none())])}function Ag(t,e){const n=tf(t.firestore,Uf),s=df(t),r=hg(t.converter,e);return kg(n,[gm(mm(t.firestore),\"addDoc\",s._key,r,null!==t.converter,{}).toMutation(s._key,zo.exists(!1))]).then((()=>s))}function Cg(t,...e){var n,s,r;t=I(t);let i={includeMetadataChanges:!1},o=0;\"object\"!=typeof e[o]||Pf(e[o])||(i=e[o],o++);const a={includeMetadataChanges:i.includeMetadataChanges};if(Pf(e[o])){const t=e[o];e[o]=null===(n=t.next)||void 0===n?void 0:n.bind(t),e[o+1]=null===(s=t.error)||void 0===s?void 0:s.bind(t),e[o+2]=null===(r=t.complete)||void 0===r?void 0:r.bind(t)}let u,c,h;if(t instanceof af)c=tf(t.firestore,Uf),h=mo(t._key.path),u={next:n=>{e[o]&&e[o](Rg(c,t,n))},error:e[o+1],complete:e[o+2]};else{const n=tf(t,uf);c=tf(n.firestore,Uf),h=n._query;const s=new vg(c);u={next:t=>{e[o]&&e[o](new gg(c,s,n,t))},error:e[o+1],complete:e[o+2]},Vm(t._query)}return function(t,e,n,s){const r=new pf(s),i=new od(e,r,n);return t.asyncQueue.enqueueAndForget((async()=>ed(await Lf(t),i))),()=>{r.bc(),t.asyncQueue.enqueueAndForget((async()=>nd(await Lf(t),i)))}}(jf(c),h,a,u)}function Ng(t,e){return function(t,e){const n=new pf(e);return t.asyncQueue.enqueueAndForget((async()=>function(t,e){Us(t).Ru.add(e),e.next()}(await Lf(t),n))),()=>{n.bc(),t.asyncQueue.enqueueAndForget((async()=>function(t,e){Us(t).Ru.delete(e)}(await Lf(t),n)))}}(jf(t=tf(t,Uf)),Pf(e)?e:{next:e})}function kg(t,e){return function(t,e){const n=new js;return t.asyncQueue.enqueueAndForget((async()=>async function(t,e,n){const s=jd(t);try{const t=await function(t,e){const n=Us(t),s=ir.now(),r=e.reduce(((t,e)=>t.add(e.key)),Sa());let i,o;return n.persistence.runTransaction(\"Locally write mutations\",\"readwrite\",(t=>{let a=ga(),u=Sa();return n.Gi.getEntries(t,r).next((t=>{a=t,a.forEach(((t,e)=>{e.isValidDocument()||(u=u.add(t))}))})).next((()=>n.localDocuments.getOverlayedDocuments(t,a))).next((r=>{i=r;const o=[];for(const t of e){const e=Zo(t,i.get(t.key).overlayedDocument);null!=e&&o.push(new na(t.key,e,eo(e.value.mapValue),zo.exists(!0)))}return n.mutationQueue.addMutationBatch(t,s,o,e)})).next((e=>{o=e;const s=e.applyToLocalDocumentSet(i,u);return n.documentOverlayCache.saveOverlays(t,e.batchId,s)}))})).then((()=>({batchId:o.batchId,changes:wa(i)})))}(s.localStore,e);s.sharedClientState.addPendingMutation(t.batchId),function(t,e,n){let s=t.hc[t.currentUser.toKey()];s||(s=new zi(nr)),s=s.insert(e,n),t.hc[t.currentUser.toKey()]=s}(s,t.batchId,n),await Rd(s,t.changes),await Fl(s.remoteStore)}catch(t){const e=Wl(t,\"Failed to persist write\");n.reject(e)}}(await kf(t),e,n))),n.promise}(jf(t),e)}function Rg(t,e,n){const s=n.docs.get(e._key),r=new vg(t);return new fg(t,r,e._key,s,new dg(n.hasPendingWrites,n.fromCache),e.converter)}function Lg(t,e){return mf(t.query,e.query)&&w(t.data(),e.data())}function Mg(t){const e=tf(t.firestore,Uf);return function(t,e,n){const s=new js;return t.asyncQueue.enqueueAndForget((async()=>{try{if(Al(await Nf(t))){const r=await Rf(t),i=new If(e,r,n).run();s.resolve(i)}else s.reject(new Ks(Gs.UNAVAILABLE,\"Failed to get count result because the client is offline.\"))}catch(t){s.reject(t)}})),s.promise}(jf(e),t,new vg(e))}const Fg={maxAttempts:5};class Og{constructor(t,e){this._firestore=t,this._commitHandler=e,this._mutations=[],this._committed=!1,this._dataReader=mm(t)}set(t,e,n){this._verifyNotCommitted();const s=Vg(t,this._firestore),r=hg(s.converter,e,n),i=gm(this._dataReader,\"WriteBatch.set\",s._key,r,null!==s.converter,n);return this._mutations.push(i.toMutation(s._key,zo.none())),this}update(t,e,n,...s){this._verifyNotCommitted();const r=Vg(t,this._firestore);let i;return i=\"string\"==typeof(e=I(e))||e instanceof rm?Tm(this._dataReader,\"WriteBatch.update\",r._key,e,n,s):Em(this._dataReader,\"WriteBatch.update\",r._key,e),this._mutations.push(i.toMutation(r._key,zo.exists(!0))),this}delete(t){this._verifyNotCommitted();const e=Vg(t,this._firestore);return this._mutations=this._mutations.concat(new oa(e._key,zo.none())),this}commit(){return this._verifyNotCommitted(),this._committed=!0,this._mutations.length>0?this._commitHandler(this._mutations):Promise.resolve()}_verifyNotCommitted(){if(this._committed)throw new Ks(Gs.FAILED_PRECONDITION,\"A write batch can no longer be used after commit() has been called.\")}}function Vg(t,e){if((t=I(t)).firestore!==e)throw new Ks(Gs.INVALID_ARGUMENT,\"Provided document reference is from a different Firestore instance.\");return t}class Pg extends class{constructor(t,e){this._firestore=t,this._transaction=e,this._dataReader=mm(t)}get(t){const e=Vg(t,this._firestore),n=new lg(this._firestore);return this._transaction.lookup([e._key]).then((t=>{if(!t||1!==t.length)return Ps();const s=t[0];if(s.isFoundDocument())return new Mm(this._firestore,n,s.key,s,e.converter);if(s.isNoDocument())return new Mm(this._firestore,n,e._key,null,e.converter);throw Ps()}))}set(t,e,n){const s=Vg(t,this._firestore),r=hg(s.converter,e,n),i=gm(this._dataReader,\"Transaction.set\",s._key,r,null!==s.converter,n);return this._transaction.set(s._key,i),this}update(t,e,n,...s){const r=Vg(t,this._firestore);let i;return i=\"string\"==typeof(e=I(e))||e instanceof rm?Tm(this._dataReader,\"Transaction.update\",r._key,e,n,s):Em(this._dataReader,\"Transaction.update\",r._key,e),this._transaction.update(r._key,i),this}delete(t){const e=Vg(t,this._firestore);return this._transaction.delete(e._key),this}}{constructor(t,e){super(t,e),this._firestore=t}get(t){const e=Vg(t,this._firestore),n=new vg(this._firestore);return super.get(t).then((t=>new fg(this._firestore,n,e._key,t._document,new dg(!1,!1),e.converter)))}}function qg(t,e,n){t=tf(t,Uf);const s=Object.assign(Object.assign({},Fg),n);return function(t){if(t.maxAttempts<1)throw new Ks(Gs.INVALID_ARGUMENT,\"Max attempts must be at least 1\")}(s),function(t,e,n){const s=new js;return t.asyncQueue.enqueueAndForget((async()=>{const r=await Rf(t);new Ef(t.asyncQueue,r,n,e,s).run()})),s.promise}(jf(t),(n=>e(new Pg(t,n))),s)}function Bg(){return new pm(\"deleteField\")}function Ug(){return new wm(\"serverTimestamp\")}function Gg(...t){return new vm(\"arrayUnion\",t)}function Kg(...t){return new Im(\"arrayRemove\",t)}function jg(t){return new bm(\"increment\",t)}function $g(t){return jf(t=tf(t,Uf)),new Og(t,(e=>kg(t,e)))}function Qg(t,e){var n;const s=jf(t=tf(t,Uf));if(!(null===(n=s.offlineComponents)||void 0===n?void 0:n.indexBackfillerScheduler))return Os(\"Cannot enable indexes when persistence is disabled\"),Promise.resolve();const r=function(t){const e=\"string\"==typeof t?function(t){try{return JSON.parse(t)}catch(t){throw new Ks(Gs.INVALID_ARGUMENT,\"Failed to parse JSON: \"+(null==t?void 0:t.message))}}(t):t,n=[];if(Array.isArray(e.indexes))for(const t of e.indexes){const e=zg(t,\"collectionGroup\"),s=[];if(Array.isArray(t.fields))for(const e of t.fields){const t=km(\"setIndexConfiguration\",zg(e,\"fieldPath\"));\"CONTAINS\"===e.arrayConfig?s.push(new pr(t,2)):\"ASCENDING\"===e.order?s.push(new pr(t,0)):\"DESCENDING\"===e.order&&s.push(new pr(t,1))}n.push(new dr(dr.UNKNOWN_ID,e,s,wr.empty()))}return n}(e);return Cf(s).then((t=>async function(t,e){const n=Us(t),s=n.indexManager,r=[];return n.persistence.runTransaction(\"Configure indexes\",\"readwrite\",(t=>s.getFieldIndexes(t).next((n=>function(t,e,n,s,r){t=[...t],e=[...e],t.sort(n),e.sort(n);const i=t.length,o=e.length;let a=0,u=0;for(;a<o&&u<i;){const i=n(t[u],e[a]);i<0?r(t[u++]):i>0?s(e[a++]):(a++,u++)}for(;a<o;)s(e[a++]);for(;u<i;)r(t[u++])}(n,e,gr,(e=>{r.push(s.addFieldIndex(t,e))}),(e=>{r.push(s.deleteFieldIndex(t,e))})))).next((()=>xr.waitFor(r)))))}(t,r)))}function zg(t,e){if(\"string\"!=typeof t[e])throw new Ks(Gs.INVALID_ARGUMENT,\"Missing string value for: \"+e);return t[e]}!function(n,s=!0){Ns=i,t(new b(\"firestore\",((t,{instanceIdentifier:e,options:n})=>{const r=t.getProvider(\"app\").getImmediate(),i=new Uf(new Hs(t.getProvider(\"auth-internal\")),new Js(t.getProvider(\"app-check-internal\")),function(t,e){if(!Object.prototype.hasOwnProperty.apply(t.options,[\"projectId\"]))throw new Ks(Gs.INVALID_ARGUMENT,'\"projectId\" not provided in firebase.initializeApp.');return new Br(t.options.projectId,e)}(r,e),r);return n=Object.assign({useFetchStreams:s},n),i._setSettings(n),i}),\"PUBLIC\").setMultipleInstances(!0)),e(As,\"3.8.3\",n),e(As,\"3.8.3\",\"esm2017\")}();export{cg as AbstractUserDataWriter,wf as AggregateField,vf as AggregateQuerySnapshot,sm as Bytes,Bf as CACHE_SIZE_UNLIMITED,cf as CollectionReference,af as DocumentReference,fg as DocumentSnapshot,rm as FieldPath,om as FieldValue,Uf as Firestore,Ks as FirestoreError,am as GeoPoint,qf as LoadBundleTask,uf as Query,Km as QueryCompositeFilterConstraint,qm as QueryConstraint,mg as QueryDocumentSnapshot,tg as QueryEndAtConstraint,Um as QueryFieldFilterConstraint,Hm as QueryLimitConstraint,Qm as QueryOrderByConstraint,gg as QuerySnapshot,Xm as QueryStartAtConstraint,dg as SnapshotMetadata,ir as Timestamp,Pg as Transaction,Og as WriteBatch,Br as _DatabaseId,lr as _DocumentKey,Zs as _EmptyAppCheckTokenProvider,Qs as _EmptyAuthCredentialsProvider,hr as _FieldPath,tf as _cast,Bs as _debugAssert,zr as _isBase64Available,Os as _logWarn,Yd as _validateIsNotUsedTogether,Ag as addDoc,Lg as aggregateQuerySnapshotEqual,$m as and,Kg as arrayRemove,Gg as arrayUnion,Wf as clearIndexedDbPersistence,hf as collection,lf as collectionGroup,of as connectFirestoreEmulator,Dg as deleteDoc,Bg as deleteField,Jf as disableNetwork,df as doc,im as documentId,Qf as enableIndexedDbPersistence,zf as enableMultiTabIndexedDbPersistence,Xf as enableNetwork,ng as endAt,eg as endBefore,jf as ensureFirestoreConfigured,kg as executeWrite,Mg as getCountFromServer,wg as getDoc,Ig as getDocFromCache,bg as getDocFromServer,Eg as getDocs,Tg as getDocsFromCache,Sg as getDocsFromServer,Kf as getFirestore,jg as increment,Gf as initializeFirestore,Wm as limit,Ym as limitToLast,tm as loadBundle,em as namedQuery,Cg as onSnapshot,Ng as onSnapshotsInSync,jm as or,zm as orderBy,Bm as query,mf as queryEqual,ff as refEqual,qg as runTransaction,Ug as serverTimestamp,_g as setDoc,Qg as setIndexConfiguration,Ls as setLogLevel,yg as snapshotEqual,Zm as startAfter,Jm as startAt,Zf as terminate,xg as updateDoc,Yf as waitForPendingWrites,Gm as where,$g as writeBatch};\n\n//# sourceMappingURL=firebase-firestore.js.map\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{useState,useEffect}from\"react\";import{motion}from\"framer-motion\";// import firebase\nimport{initializeApp}from\"https://www.gstatic.com/firebasejs/9.17.1/firebase-app.js\";import{getFirestore,collection,query,orderBy,limit,onSnapshot}from\"https://www.gstatic.com/firebasejs/9.17.1/firebase-firestore.js\";// firebase config\nconst firebaseConfig={apiKey:\"AIzaSyBbmO9L0E-PHBxG-FZth6R_p412gTR4jvs\",authDomain:\"danmu-27a67.firebaseapp.com\",projectId:\"danmu-27a67\",storageBucket:\"danmu-27a67.firebasestorage.app\",messagingSenderId:\"887872081676\",appId:\"1:887872081676:web:6920f95217838b371e0329\",measurementId:\"G-RSWW79479M\"};// ——————————————————————————————————————————————————————————\nlet app;let db;try{app=initializeApp(firebaseConfig);db=getFirestore(app);}catch(e){}export default function DanmakuLayer(props){const[comments,setComments]=useState([]);useEffect(()=>{// listen database comments\nif(!db)return;// get newest 20\nconst q=query(collection(db,\"comments\"),orderBy(\"timestamp\",\"desc\"),limit(30));const unsubscribe=onSnapshot(q,snapshot=>{const newComments=snapshot.docs.map(doc=>({id:doc.id,text:doc.data().text,// random height 10%-80%\n    top:Math.floor(Math.random()*70)+10+\"%\",// random speed 15s-25s\n    duration:Math.random()*10+15,delay:Math.random()*2}));setComments(newComments);});return()=>unsubscribe();},[]);return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",position:\"relative\",overflow:\"hidden\",pointerEvents:\"none\"},children:comments.map(item=>/*#__PURE__*/_jsx(DanmakuItem,{item:item},item.id))});}function DanmakuItem({item}){return /*#__PURE__*/_jsx(motion.div,{initial:{x:\"100vw\"},animate:{x:\"-100vw\"},transition:{repeat:Infinity,duration:item.duration,ease:\"linear\",delay:item.delay},style:{position:\"absolute\",top:item.top,whiteSpace:\"nowrap\",fontSize:\"40px\",fontWeight:600,color:\"rgba(255, 255, 255, 0.7)\",fontFamily:\"Inter, sans-serif\",textShadow:\"0 2px 4px rgba(0,0,0,0.1)\",zIndex:1},children:item.text});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"DanmakuLayer\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./DanmakuLayer.map","/*\n * index (framer/default-utils@0.45.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js\"\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{useIsOnCanvas,emptyStateStyle,containerStyles}from\"https://framer.com/m/framer/default-utils.js\";/**\n * @framerIntrinsicWidth 600\n * @framerIntrinsicHeight 400\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n *\n * @framerDisableUnlink\n */export default function Embed({type,url,html,zoom,radius,border,style={}}){if(type===\"url\"&&url){return /*#__PURE__*/_jsx(EmbedUrl,{url:url,zoom:zoom,radius:radius,border:border,style:style});}if(type===\"html\"&&html){return /*#__PURE__*/_jsx(EmbedHtml,{html:html,style:style});}return /*#__PURE__*/_jsx(Instructions,{style:style});}addPropertyControls(Embed,{type:{type:ControlType.Enum,defaultValue:\"url\",displaySegmentedControl:true,options:[\"url\",\"html\"],optionTitles:[\"URL\",\"HTML\"]},url:{title:\"URL\",type:ControlType.String,description:\"Some websites don’t support embedding.\",hidden(props){return props.type!==\"url\";}},html:{title:\"HTML\",type:ControlType.String,displayTextArea:true,hidden(props){return props.type!==\"html\";}},border:{title:\"Border\",type:ControlType.Border,optional:true,hidden(props){return props.type!==\"url\";}},radius:{type:ControlType.BorderRadius,title:\"Radius\",hidden(props){return props.type!==\"url\";}},zoom:{title:\"Zoom\",defaultValue:1,type:ControlType.Number,hidden(props){return props.type!==\"url\";},min:.1,max:1,step:.1,displayStepper:true}});function Instructions({style}){return /*#__PURE__*/_jsx(\"div\",{style:{minHeight:getMinHeight(style),...emptyStateStyle,overflow:\"hidden\",...style},children:/*#__PURE__*/_jsx(\"div\",{style:centerTextStyle,children:\"To embed a website or widget, add it to the properties\\xa0panel.\"})});}function EmbedUrl({url,zoom,radius,border,style}){const hasAutoHeight=!style.height;// Add https:// if the URL does not have a protocol.\nif(!/[a-z]+:\\/\\//.test(url)){url=\"https://\"+url;}const onCanvas=useIsOnCanvas();// We need to check if the url is blocked inside an iframe by the X-Frame-Options\n// or Content-Security-Policy headers on the backend.\nconst[state,setState]=useState(onCanvas?undefined:false);useEffect(()=>{// We only want to check on the canvas.\n// On the website we want to avoid the additional delay.\nif(!onCanvas)return;// TODO: We could also use AbortController here.\nlet isLastEffect=true;setState(undefined);async function load(){const response=await fetch(\"https://api.framer.com/functions/check-iframe-url?url=\"+encodeURIComponent(url));if(response.status==200){const{isBlocked}=await response.json();if(isLastEffect){setState(isBlocked);}}else{const message=await response.text();console.error(message);const error=new Error(\"This site can’t be reached.\");setState(error);}}load().catch(error=>{console.error(error);setState(error);});return()=>{isLastEffect=false;};},[url]);if(onCanvas&&hasAutoHeight){return /*#__PURE__*/_jsx(ErrorMessage,{message:\"URL embeds do not support auto height.\",style:style});}if(!url.startsWith(\"https://\")){return /*#__PURE__*/_jsx(ErrorMessage,{message:\"Unsupported protocol.\",style:style});}if(state===undefined){return /*#__PURE__*/_jsx(LoadingIndicator,{});}if(state instanceof Error){return /*#__PURE__*/_jsx(ErrorMessage,{message:state.message,style:style});}if(state===true){const message=`Can’t embed ${url} due to its content security policy.`;return /*#__PURE__*/_jsx(ErrorMessage,{message:message,style:style});}return /*#__PURE__*/_jsx(\"iframe\",{src:url,style:{...iframeStyle,...style,...border,zoom:zoom,borderRadius:radius,transformOrigin:\"top center\"},loading:\"lazy\",// @ts-ignore\nfetchPriority:onCanvas?\"low\":\"auto\",referrerPolicy:\"no-referrer\",sandbox:getSandbox(onCanvas),allowFullScreen:true,allow:\"presentation; fullscreen; accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; clipboard-write\"});}const iframeStyle={width:\"100%\",height:\"100%\",border:\"none\"};function getSandbox(onCanvas){const result=[\"allow-same-origin\",\"allow-scripts\"];if(!onCanvas){result.push(\"allow-downloads\",\"allow-forms\",\"allow-modals\",\"allow-orientation-lock\",\"allow-pointer-lock\",\"allow-popups\",\"allow-popups-to-escape-sandbox\",\"allow-presentation\",\"allow-storage-access-by-user-activation\",\"allow-top-navigation-by-user-activation\");}return result.join(\" \");}function EmbedHtml({html,...props}){const hasScript=html.includes(\"</script>\");if(hasScript){const hasSplineViewer=html.includes(\"</spline-viewer>\");const hasComment=html.includes(\"<!-- framer-direct-embed -->\");if(hasSplineViewer||hasComment){return /*#__PURE__*/_jsx(EmbedHtmlWithScripts,{html:html,...props});}return /*#__PURE__*/_jsx(EmbedHtmlInsideIframe,{html:html,...props});}return /*#__PURE__*/_jsx(EmbedHtmlWithoutScripts,{html:html,...props});}function EmbedHtmlInsideIframe({html,style}){const ref=useRef();const[iframeHeight,setIframeHeight]=useState(0);// Handle auto sizing\nuseEffect(()=>{const iframeWindow=ref.current?.contentWindow;function handleMessage(event){if(event.source!==iframeWindow)return;const data=event.data;if(typeof data!==\"object\"||data===null)return;const height=data.embedHeight;if(typeof height!==\"number\")return;setIframeHeight(height);}window.addEventListener(\"message\",handleMessage);// After SSG the iframe loads before we attach the event handler,\n// therefore we need to request the latest height from the iframe.\niframeWindow?.postMessage(\"getEmbedHeight\",\"*\");return()=>{window.removeEventListener(\"message\",handleMessage);};},[]);// The CSS is mainly copied from:\n// FramerStudio/src/app/vekter/src/renderer/setDefaultFont.ts\n// FramerStudio/src/app/vekter/src/export/globalStylesForExport.ts\nconst srcDoc=`\n<html>\n    <head>\n        <style>\n            html, body {\n                margin: 0;\n                padding: 0;\n            }\n\n            body {\n                display: flex;\n                justify-content: center;\n                align-items: center;\n            }\n\n            :root {\n                -webkit-font-smoothing: antialiased;\n                -moz-osx-font-smoothing: grayscale;\n            }\n\n            * {\n                box-sizing: border-box;\n                -webkit-font-smoothing: inherit;\n            }\n\n            h1, h2, h3, h4, h5, h6, p, figure {\n                margin: 0;\n            }\n\n            body, input, textarea, select, button {\n                font-size: 12px;\n                font-family: sans-serif;\n            }\n        </style>\n    </head>\n    <body>\n        ${html}\n        <script type=\"module\">\n            let height = 0\n\n            function sendEmbedHeight() {\n                window.parent.postMessage({\n                    embedHeight: height\n                }, \"*\")\n            }\n\n            const observer = new ResizeObserver((entries) => {\n                if (entries.length !== 1) return\n                const entry = entries[0]\n                if (entry.target !== document.body) return\n\n                height = entry.contentRect.height\n                sendEmbedHeight()\n            })\n\n            observer.observe(document.body)\n\n            window.addEventListener(\"message\", (event) => {\n                if (event.source !== window.parent) return\n                if (event.data !== \"getEmbedHeight\") return\n                sendEmbedHeight()\n            })\n        </script>\n    <body>\n</html>\n`;const currentStyle={...iframeStyle,...style};const hasAutoHeight=!style.height;if(hasAutoHeight){currentStyle.height=iframeHeight+\"px\";}return /*#__PURE__*/_jsx(\"iframe\",{ref:ref,style:currentStyle,srcDoc:srcDoc});}function EmbedHtmlWithScripts({html,style}){const ref=useRef();useEffect(()=>{const div=ref.current;if(!div)return;div.innerHTML=html;executeScripts(div);return()=>{div.innerHTML=\"\";};},[html]);return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{...htmlStyle,...style}});}function EmbedHtmlWithoutScripts({html,style}){return /*#__PURE__*/_jsx(\"div\",{style:{...htmlStyle,...style},dangerouslySetInnerHTML:{__html:html}});}const htmlStyle={width:\"100%\",height:\"100%\",display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",alignItems:\"center\"};// This function replaces scripts with executable ones.\n// https://stackoverflow.com/questions/1197575/can-scripts-be-inserted-with-innerhtml\nfunction executeScripts(node){if(node instanceof Element&&node.tagName===\"SCRIPT\"){const script=document.createElement(\"script\");script.text=node.innerHTML;for(const{name,value}of node.attributes){script.setAttribute(name,value);}node.parentElement.replaceChild(script,node);}else{for(const child of node.childNodes){executeScripts(child);}}}// Generic components\nfunction LoadingIndicator(){return /*#__PURE__*/_jsx(\"div\",{className:\"framerInternalUI-componentPlaceholder\",style:{...containerStyles,overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"div\",{style:centerTextStyle,children:\"Loading…\"})});}function ErrorMessage({message,style}){return /*#__PURE__*/_jsx(\"div\",{className:\"framerInternalUI-errorPlaceholder\",style:{minHeight:getMinHeight(style),...containerStyles,overflow:\"hidden\",...style},children:/*#__PURE__*/_jsx(\"div\",{style:centerTextStyle,children:message})});}const centerTextStyle={textAlign:\"center\",minWidth:140};// Returns a min-height if the component is using auto-height.\nfunction getMinHeight(style){const hasAutoHeight=!style.height;if(hasAutoHeight)return 200;}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Embed\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"600\",\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"400\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Embed.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState}from\"react\";import{initializeApp}from\"https://www.gstatic.com/firebasejs/9.17.1/firebase-app.js\";import{getFirestore,collection,addDoc}from\"https://www.gstatic.com/firebasejs/9.17.1/firebase-firestore.js\";// fire base\nconst firebaseConfig={apiKey:\"AIzaSyBbmO9L0E-PHBxG-FZth6R_p412gTR4jvs\",authDomain:\"danmu-27a67.firebaseapp.com\",projectId:\"danmu-27a67\",storageBucket:\"danmu-27a67.firebasestorage.app\",messagingSenderId:\"887872081676\",appId:\"1:887872081676:web:6920f95217838b371e0329\",measurementId:\"G-RSWW79479M\"};// ——————————————————————————————————————————————————\nlet app;let db;try{app=initializeApp(firebaseConfig);db=getFirestore(app);}catch(e){}export default function InputForm(){const[input,setInput]=useState(\"\");const[loading,setLoading]=useState(false);const handleSubmit=async e=>{e.preventDefault();if(!input.trim()||!db)return;setLoading(true);try{// add data collection to comments\nawait addDoc(collection(db,\"comments\"),{text:input,timestamp:Date.now()});setInput(\"\");}catch(error){console.error(\"Submit failed\",error);alert(\"sbmition failed\");}setLoading(false);};return /*#__PURE__*/_jsxs(\"form\",{onSubmit:handleSubmit,style:{display:\"flex\",gap:\"10px\",padding:\"10px\",pointerEvents:\"auto\"},children:[/*#__PURE__*/_jsx(\"input\",{type:\"text\",value:input,onChange:e=>setInput(e.target.value),placeholder:\"Level your impression...\",style:{padding:\"10px 15px\",borderRadius:\"20px\",border:\"1px solid rgba(255,255,255,0.3)\",background:\"rgba(0,0,0,0.5)\",color:\"white\",outline:\"none\",width:\"200px\"}}),/*#__PURE__*/_jsx(\"button\",{type:\"submit\",disabled:loading,style:{padding:\"10px 20px\",borderRadius:\"20px\",border:\"none\",background:loading?\"#555\":\"#007AFF\",color:\"white\",cursor:\"pointer\",fontWeight:\"bold\"},children:loading?\"...\":\"SEND\"})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"InputForm\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./InputForm.map"],"mappings":";;;;;;;;;;;;;;;;;AA2VA,SAAS,IAAY,CACjB,GAAI,OAAO,KAAS,IAChB,OAAO,KAEX,GAAW,IAAW,OAClB,OAAO,EAEX,GAAW,IAAW,OAClB,OAAO,EAEX,MAAU,MAAM,kCAAkC,CA6ItD,SAAS,IAAuB,CAC5B,GAAI,CACA,OAAO,OAAO,WAAc,cAEtB,CACN,MAAO,IAUf,SAAS,IAA4B,CACjC,OAAO,IAAI,SAAS,EAAS,IAAW,CACpC,GAAI,CACA,IAAI,EAAW,GACT,EAAgB,0DAChB,EAAU,KAAK,UAAU,KAAK,EAAc,CAClD,EAAQ,cAAkB,CACtB,EAAQ,OAAO,OAAO,CAEjB,GACD,KAAK,UAAU,eAAe,EAAc,CAEhD,EAAQ,GAAK,EAEjB,EAAQ,oBAAwB,CAC5B,EAAW,IAEf,EAAQ,YAAgB,CAEpB,EAAc,EAAQ,OAA+C,SAAY,GAAG,QAGrF,EAAO,CACV,EAAO,EAAM,GAEnB,CAoGN,SAAS,GAAgB,EAAU,EAAM,CACrC,OAAO,EAAS,QAAQ,IAAU,EAAG,IAAQ,CACzC,IAAM,EAAQ,EAAK,GACnB,OAAO,GAAS,KAAuB,IAAI,EAAI,IAAxB,OAAO,EAAM,EACtC,CAMN,SAAS,GAAU,EAAG,EAAG,CACrB,GAAIC,IAAMC,EACN,MAAO,GAEX,IAAM,EAAQ,OAAO,KAAKD,EAAE,CACtB,EAAQ,OAAO,KAAKC,EAAE,CAC5B,IAAK,IAAMC,KAAK,EAAO,CACnB,GAAI,CAAC,EAAM,SAASA,EAAE,CAClB,MAAO,GAEX,IAAM,EAAQF,EAAEE,GACV,EAAQD,EAAEC,GAChB,GAAI,GAAS,EAAM,EAAI,GAAS,EAAM,KAC9B,CAAC,GAAU,EAAO,EAAM,CACxB,MAAO,WAGN,IAAU,EACf,MAAO,GAGf,IAAK,IAAMA,KAAK,EACZ,GAAI,CAAC,EAAM,SAASA,EAAE,CAClB,MAAO,GAGf,MAAO,GAEX,SAAS,GAAS,EAAO,CACrB,OAAyB,OAAO,GAAU,YAAnC,EA4UX,SAAS,GAA8B,EAAY,CAC/C,OAAO,IAAe,GAAuB,IAAA,GAAY,EAE7D,SAAS,GAAiB,EAAW,CACjC,OAAO,EAAU,oBAAsB,QAsS3C,SAAS,IAAuB,CAC5B,MAAQ,CACH,KAAoB,CACjB,YACA,eACA,SACA,UACA,eACH,CAGT,SAAS,IAA0B,CAC/B,MAAQ,CACH,KAAuB,CACpB,UAAU,UAAU,QACpB,UAAU,UAAU,SACpB,UAAU,UAAU,mBACvB,CAOT,SAAS,GAAiB,EAAS,CAC/B,IAAM,EAAU,IAAI,SAAS,EAAS,IAAW,CAC7C,IAAM,MAAiB,CACnB,EAAQ,oBAAoB,UAAW,EAAQ,CAC/C,EAAQ,oBAAoB,QAAS,EAAM,EAEzC,MAAgB,CAClB,EAAQ,GAAK,EAAQ,OAAO,CAAC,CAC7B,GAAU,EAER,MAAc,CAChB,EAAO,EAAQ,MAAM,CACrB,GAAU,EAEd,EAAQ,iBAAiB,UAAW,EAAQ,CAC5C,EAAQ,iBAAiB,QAAS,EAAM,EAC1C,CAcF,OAbA,EACK,KAAM,GAAU,CAGb,aAAiB,WACjB,GAAiB,IAAI,EAAO,EAAQ,EAG1C,CACG,UAAY,GAAI,CAGrB,GAAsB,IAAI,EAAS,EAAQ,CACpC,EAEX,SAAS,GAA+B,EAAI,CAExC,GAAI,GAAmB,IAAI,EAAG,CAC1B,OACJ,IAAM,EAAO,IAAI,SAAS,EAAS,IAAW,CAC1C,IAAM,MAAiB,CACnB,EAAG,oBAAoB,WAAY,EAAS,CAC5C,EAAG,oBAAoB,QAAS,EAAM,CACtC,EAAG,oBAAoB,QAAS,EAAM,EAEpC,MAAiB,CACnB,GAAS,CACT,GAAU,EAER,MAAc,CAChB,EAAO,EAAG,OAAS,IAAI,aAAa,aAAc,aAAa,CAAC,CAChE,GAAU,EAEd,EAAG,iBAAiB,WAAY,EAAS,CACzC,EAAG,iBAAiB,QAAS,EAAM,CACnC,EAAG,iBAAiB,QAAS,EAAM,EACrC,CAEF,GAAmB,IAAI,EAAI,EAAK,CAkCpC,SAAS,GAAa,EAAU,CAC5B,GAAgB,EAAS,GAAc,CAE3C,SAAS,GAAa,EAAM,CAyBxB,OArBI,IAAS,YAAY,UAAU,aAC/B,EAAE,qBAAsB,eAAe,WAChC,SAAU,EAAY,GAAG,EAAM,CAClC,IAAM,EAAK,EAAK,KAAK,GAAO,KAAK,CAAE,EAAY,GAAG,EAAK,CAEvD,OADA,GAAyB,IAAI,EAAI,EAAW,KAAO,EAAW,MAAM,CAAG,CAAC,EAAW,CAAC,CAC7E,GAAK,EAAG,EAQnB,IAAyB,CAAC,SAAS,EAAK,CACjC,SAAU,GAAG,EAAM,CAItB,OADA,EAAK,MAAM,GAAO,KAAK,CAAE,EAAK,CACvB,GAAK,GAAiB,IAAI,KAAK,CAAC,EAGxC,SAAU,GAAG,EAAM,CAGtB,OAAO,GAAK,EAAK,MAAM,GAAO,KAAK,CAAE,EAAK,CAAC,EAGnD,SAAS,GAAuB,EAAO,CAUnC,OATI,OAAO,GAAU,WACV,GAAa,EAAM,EAG1B,aAAiB,gBACjB,GAA+B,EAAM,CACrC,GAAc,EAAO,IAAsB,CAAC,CACrC,IAAI,MAAM,EAAO,GAAc,CAEnC,GAEX,SAAS,GAAK,EAAO,CAGjB,GAAI,aAAiB,WACjB,OAAO,GAAiB,EAAM,CAGlC,GAAI,GAAe,IAAI,EAAM,CACzB,OAAO,GAAe,IAAI,EAAM,CACpC,IAAM,EAAW,GAAuB,EAAM,CAO9C,OAJI,IAAa,IACb,GAAe,IAAI,EAAO,EAAS,CACnC,GAAsB,IAAI,EAAU,EAAM,EAEvC,EAWX,SAAS,GAAO,EAAM,EAAS,CAAE,UAAS,UAAS,WAAU,cAAe,EAAE,CAAE,CAC5E,IAAM,EAAU,UAAU,KAAK,EAAM,EAAQ,CACvC,EAAc,GAAK,EAAQ,CAgBjC,OAfI,GACA,EAAQ,iBAAiB,gBAAkB,GAAU,CACjD,EAAQ,GAAK,EAAQ,OAAO,CAAE,EAAM,WAAY,EAAM,WAAY,GAAK,EAAQ,YAAY,CAAC,EAC9F,CAEF,GACA,EAAQ,iBAAiB,cAAiB,GAAS,CAAC,CACxD,EACK,KAAM,GAAO,CACV,GACA,EAAG,iBAAiB,YAAe,GAAY,CAAC,CAChD,GACA,EAAG,iBAAiB,oBAAuB,GAAU,CAAC,EAC5D,CACG,UAAY,GAAI,CACd,EAMX,SAAS,GAAU,EAAQ,EAAM,CAC7B,GAAI,EAAE,aAAkB,aACpB,EAAE,KAAQ,IACV,OAAO,GAAS,UAChB,OAEJ,GAAI,GAAc,IAAI,EAAK,CACvB,OAAO,GAAc,IAAI,EAAK,CAClC,IAAM,EAAiB,EAAK,QAAQ,aAAc,GAAG,CAC/C,EAAW,IAAS,EACpB,EAAU,GAAa,SAAS,EAAe,CACrD,GAEA,EAAE,KAAmB,EAAW,SAAW,gBAAgB,YACvD,EAAE,GAAW,GAAY,SAAS,EAAe,EACjD,OAEJ,IAAM,EAAS,eAAgB,EAAW,GAAG,EAAM,CAE/C,IAAM,EAAK,KAAK,YAAY,EAAW,EAAU,YAAc,WAAW,CACtEC,EAAS,EAAG,MAQhB,OAPI,IACA,EAASA,EAAO,MAAM,EAAK,OAAO,CAAC,GAM/B,MAAM,QAAQ,IAAI,CACtBA,EAAO,GAAgB,GAAG,EAAK,CAC/B,GAAW,EAAG,KACjB,CAAC,EAAE,IAGR,OADA,GAAc,IAAI,EAAM,EAAO,CACxB,EAwDX,SAAS,GAAyB,EAAU,CAExC,OADkB,EAAS,cAAc,EAC+B,OAAU,UA4JtF,SAAS,GAAc,EAAK,EAAW,CACnC,GAAI,CACA,EAAI,UAAU,aAAa,EAAU,OAElC,EAAG,CACN,GAAO,MAAM,aAAa,EAAU,KAAK,uCAAuCC,EAAI,OAAQ,EAAE,EAiBtG,SAAS,GAAmB,EAAW,CACnC,IAAM,EAAgB,EAAU,KAChC,GAAI,GAAY,IAAI,EAAc,CAE9B,OADA,GAAO,MAAM,sDAAsD,EAAc,GAAG,CAC7E,GAEX,GAAY,IAAI,EAAe,EAAU,CAEzC,IAAK,IAAMA,KAAO,GAAM,QAAQ,CAC5B,GAAcA,EAAK,EAAU,CAEjC,MAAO,GAWX,SAAS,GAAa,EAAK,EAAM,CAC7B,IAAM,EAAsBA,EAAI,UAC3B,YAAY,YAAY,CACxB,aAAa,CAAE,SAAU,GAAM,CAAC,CAIrC,OAHI,GACK,EAAoB,kBAAkB,CAExCA,EAAI,UAAU,YAAY,EAAK,CAgJ1C,SAAS,GAAc,EAAU,EAAY,EAAE,CAAE,CAC7C,IAAI,EAAU,EACV,OAAO,GAAc,WAErB,EAAY,CAAE,KADD,EACO,EAExB,IAAM,EAAS,OAAO,OAAO,CAAE,KAAM,GAAoB,+BAAgC,GAAO,CAAE,EAAU,CACtG,EAAO,EAAO,KACpB,GAAI,OAAO,GAAS,UAAY,CAAC,EAC7B,MAAM,GAAc,OAAO,eAA4C,CACnE,QAAS,OAAO,EAAK,CACxB,CAAC,CAGN,GADA,AAAY,IAAU,IAAqB,CACvC,CAAC,EACD,MAAM,GAAc,OAAO,aAAuC,CAEtE,IAAM,EAAc,GAAM,IAAI,EAAK,CACnC,GAAI,EAEA,IAAI,GAAU,EAAS,EAAY,QAAQ,EACvC,GAAU,EAAQ,EAAY,OAAO,CACrC,OAAO,EAGP,MAAM,GAAc,OAAO,gBAA8C,CAAE,QAAS,EAAM,CAAC,CAGnG,IAAM,EAAY,IAAI,GAAmB,EAAK,CAC9C,IAAK,IAAM,KAAa,GAAY,QAAQ,CACxC,EAAU,aAAa,EAAU,CAErC,IAAM,EAAS,IAAI,GAAgB,EAAS,EAAQ,EAAU,CAE9D,OADA,GAAM,IAAI,EAAM,EAAO,CAChB,EA+BX,SAAS,GAAO,EAAO,GAAoB,CACvC,IAAMA,EAAM,GAAM,IAAI,EAAK,CAC3B,GAAI,CAACA,GAAO,IAAS,GACjB,OAAO,IAAe,CAE1B,GAAI,CAACA,EACD,MAAM,GAAc,OAAO,SAAgC,CAAE,QAAS,EAAM,CAAC,CAEjF,OAAOA,EA4CX,SAAS,GAAgB,EAAkB,EAAS,EAAS,CAIzD,IAAI,EAAgB,GAAoB,IAAoD,EACxF,IACA,GAAW,IAAI,KAEnB,IAAM,EAAkB,EAAQ,MAAM,QAAQ,CACxC,EAAkB,EAAQ,MAAM,QAAQ,CAC9C,GAAI,GAAmB,EAAiB,CACpC,IAAM,EAAU,CACZ,+BAA+B,EAAQ,kBAAkB,EAAQ,IACpE,CACG,GACA,EAAQ,KAAK,iBAAiB,EAAQ,mDAAmD,CAEzF,GAAmB,GACnB,EAAQ,KAAK,MAAM,CAEnB,GACA,EAAQ,KAAK,iBAAiB,EAAQ,mDAAmD,CAE7F,GAAO,KAAK,EAAQ,KAAK,IAAI,CAAC,CAC9B,OAEJ,GAAmB,IAAI,GAAU,GAAG,EAAQ,eAAkB,CAAE,UAAS,UAAS,EAAG,UAAsC,CAAC,CAgDhI,SAAS,IAAe,CAoBpB,MAnBA,CACI,KAAY,GAAO,GAAS,GAAY,CACpC,SAAU,EAAI,IAAe,CAMzB,OAAQ,EAAR,CACI,IAAK,GACD,EAAG,kBAAkB,GAAW,GAG/C,CAAC,CAAC,MAAM,GAAK,CACV,MAAM,GAAc,OAAO,WAAoC,CAC3D,qBAAsB,EAAE,QAC3B,CAAC,EACJ,CAEC,GAEX,eAAe,GAA4B,EAAK,CAC5C,GAAI,CAEA,OADW,MAAM,IAAc,EAE1B,YAAY,GAAW,CACvB,YAAY,GAAW,CACvB,IAAI,GAAWA,EAAI,CAAC,OAEtB,EAAG,CACN,GAAI,aAAa,GACb,GAAO,KAAK,EAAE,QAAQ,KAErB,CACD,IAAM,EAAc,GAAc,OAAO,UAAkC,CACvE,qBAAsB,GAAwC,QACjE,CAAC,CACF,GAAO,KAAK,EAAY,QAAQ,GAI5C,eAAe,GAA2B,EAAK,EAAiB,CAC5D,GAAI,CAEA,IAAM,GADK,MAAM,IAAc,EACjB,YAAY,GAAY,YAAY,CAGlD,OADA,MADoB,EAAG,YAAY,GAAW,CAC5B,IAAI,EAAiB,GAAWA,EAAI,CAAC,CAChD,EAAG,WAEP,EAAG,CACN,GAAI,aAAa,GACb,GAAO,KAAK,EAAE,QAAQ,KAErB,CACD,IAAM,EAAc,GAAc,OAAO,UAAoC,CACzE,qBAAsB,GAAwC,QACjE,CAAC,CACF,GAAO,KAAK,EAAY,QAAQ,GAI5C,SAAS,GAAW,EAAK,CACrB,MAAO,GAAGA,EAAI,KAAK,GAAGA,EAAI,QAAQ,QAoHtC,SAAS,IAAmB,CAGxB,OAFc,IAAI,MAAM,CAEX,aAAa,CAAC,UAAU,EAAG,GAAG,CAE/C,SAAS,GAA2B,EAAiB,EAAU,GAAkB,CAG7E,IAAM,EAAmB,EAAE,CAEvB,EAAgB,EAAgB,OAAO,CAC3C,IAAK,IAAM,KAAuB,EAAiB,CAE/C,IAAM,EAAiB,EAAiB,KAAK,GAAM,EAAG,QAAU,EAAoB,MAAM,CAC1F,GAAK,EAiBD,IAHA,EAAe,MAAM,KAAK,EAAoB,KAAK,CAG/C,GAAW,EAAiB,CAAG,EAAS,CACxC,EAAe,MAAM,KAAK,CAC1B,eAjBJ,EAAiB,KAAK,CAClB,MAAO,EAAoB,MAC3B,MAAO,CAAC,EAAoB,KAAK,CACpC,CAAC,CACE,GAAW,EAAiB,CAAG,EAAS,CAGxC,EAAiB,KAAK,CACtB,MAcR,EAAgB,EAAc,MAAM,EAAE,CAE1C,MAAO,CACH,mBACA,gBACH,CAqEL,SAAS,GAAW,EAAiB,CAEjC,OAAO,GAEP,KAAK,UAAU,CAAE,QAAS,EAAG,WAAY,EAAiB,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;AAmBjE,SAAS,GAAuB,EAAS,CACrC,GAAmB,IAAI,GAAU,kBAAmB,GAAa,IAAI,GAA0B,EAAU,CAAE,UAAsC,CAAC,CAClJ,GAAmB,IAAI,GAAU,YAAa,GAAa,IAAI,GAAqB,EAAU,CAAE,UAAsC,CAAC,CAEvI,GAAgB,GAAQ,GAAW,EAAQ,CAE3C,GAAgB,GAAQ,GAAW,UAAU,CAE7C,GAAgB,UAAW,GAAG;;;;;;;;;;;;;;;;;IAx4E5B,GAAsB,SAAU,EAAK,CAEvC,IAAM,EAAM,EAAE,CACVC,EAAI,EACR,IAAK,IAAI,EAAI,EAAG,EAAI,EAAI,OAAQ,IAAK,CACjC,IAAIC,EAAI,EAAI,WAAW,EAAE,CACrBA,EAAI,IACJ,EAAI,KAAOA,EAENA,EAAI,MACT,EAAI,KAAQA,GAAK,EAAK,IACtB,EAAI,KAAQA,EAAI,GAAM,MAEhBA,EAAI,QAAY,OACtB,EAAI,EAAI,EAAI,SACX,EAAI,WAAW,EAAI,EAAE,CAAG,QAAY,OAErC,EAAI,QAAYA,EAAI,OAAW,KAAO,EAAI,WAAW,EAAE,EAAE,CAAG,MAC5D,EAAI,KAAQA,GAAK,GAAM,IACvB,EAAI,KAASA,GAAK,GAAM,GAAM,IAC9B,EAAI,KAASA,GAAK,EAAK,GAAM,IAC7B,EAAI,KAAQA,EAAI,GAAM,MAGtB,EAAI,KAAQA,GAAK,GAAM,IACvB,EAAI,KAASA,GAAK,EAAK,GAAM,IAC7B,EAAI,KAAQA,EAAI,GAAM,KAG9B,OAAO,GAQL,GAAoB,SAAU,EAAO,CAEvC,IAAM,EAAM,EAAE,CACV,EAAM,EAAGA,EAAI,EACjB,KAAO,EAAM,EAAM,QAAQ,CACvB,IAAM,EAAK,EAAM,KACjB,GAAI,EAAK,IACL,EAAI,KAAO,OAAO,aAAa,EAAG,SAE7B,EAAK,KAAO,EAAK,IAAK,CAC3B,IAAM,EAAK,EAAM,KACjB,EAAI,KAAO,OAAO,cAAe,EAAK,KAAO,EAAM,EAAK,GAAI,SAEvD,EAAK,KAAO,EAAK,IAAK,CAE3B,IAAM,EAAK,EAAM,KACX,EAAK,EAAM,KACX,EAAK,EAAM,KACXC,IAAO,EAAK,IAAM,IAAQ,EAAK,KAAO,IAAQ,EAAK,KAAO,EAAM,EAAK,IACvE,MACJ,EAAI,KAAO,OAAO,aAAa,OAAUA,GAAK,IAAI,CAClD,EAAI,KAAO,OAAO,aAAa,OAAUA,EAAI,MAAM,KAElD,CACD,IAAM,EAAK,EAAM,KACX,EAAK,EAAM,KACjB,EAAI,KAAO,OAAO,cAAe,EAAK,KAAO,IAAQ,EAAK,KAAO,EAAM,EAAK,GAAI,EAGxF,OAAO,EAAI,KAAK,GAAG,EAKjB,GAAS,CAIX,eAAgB,KAIhB,eAAgB,KAKhB,sBAAuB,KAKvB,sBAAuB,KAKvB,kBAAmB,iEAInB,IAAI,cAAe,CACf,OAAO,KAAK,kBAAoB,OAKpC,IAAI,sBAAuB,CACvB,OAAO,KAAK,kBAAoB,OASpC,mBAAoB,OAAO,MAAS,WAUpC,gBAAgB,EAAO,EAAS,CAC5B,GAAI,CAAC,MAAM,QAAQ,EAAM,CACrB,MAAM,MAAM,gDAAgD,CAEhE,KAAK,OAAO,CACZ,IAAM,EAAgB,EAChB,KAAK,sBACL,KAAK,eACL,EAAS,EAAE,CACjB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAM,OAAQ,GAAK,EAAG,CACtC,IAAM,EAAQ,EAAM,GACd,EAAY,EAAI,EAAI,EAAM,OAC1B,EAAQ,EAAY,EAAM,EAAI,GAAK,EACnC,EAAY,EAAI,EAAI,EAAM,OAC1B,EAAQ,EAAY,EAAM,EAAI,GAAK,EACnC,EAAW,GAAS,EACpB,GAAa,EAAQ,IAAS,EAAM,GAAS,EAC/C,GAAa,EAAQ,KAAS,EAAM,GAAS,EAC7C,EAAW,EAAQ,GAClB,IACD,EAAW,GACN,IACD,EAAW,KAGnB,EAAO,KAAK,EAAc,GAAW,EAAc,GAAW,EAAc,GAAW,EAAc,GAAU,CAEnH,OAAO,EAAO,KAAK,GAAG,EAU1B,aAAa,EAAO,EAAS,CAMzB,OAHI,KAAK,oBAAsB,CAAC,EACrB,KAAK,EAAM,CAEf,KAAK,gBAAgB,GAAoB,EAAM,CAAE,EAAQ,EAUpE,aAAa,EAAO,EAAS,CAMzB,OAHI,KAAK,oBAAsB,CAAC,EACrB,KAAK,EAAM,CAEf,GAAkB,KAAK,wBAAwB,EAAO,EAAQ,CAAC,EAiB1E,wBAAwB,EAAO,EAAS,CACpC,KAAK,OAAO,CACZ,IAAM,EAAgB,EAChB,KAAK,sBACL,KAAK,eACL,EAAS,EAAE,CACjB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAM,QAAS,CAC/B,IAAM,EAAQ,EAAc,EAAM,OAAO,IAAI,EAEvC,EADY,EAAI,EAAM,OACF,EAAc,EAAM,OAAO,EAAE,EAAI,EAC3D,EAAE,EAEF,IAAM,EADY,EAAI,EAAM,OACF,EAAc,EAAM,OAAO,EAAE,EAAI,GAC3D,EAAE,EAEF,IAAM,EADY,EAAI,EAAM,OACF,EAAc,EAAM,OAAO,EAAE,EAAI,GAE3D,GADA,EAAE,EACE,GAAS,MAAQ,GAAS,MAAQ,GAAS,MAAQ,GAAS,KAC5D,MAAM,OAAO,CAEjB,IAAM,EAAY,GAAS,EAAM,GAAS,EAE1C,GADA,EAAO,KAAK,EAAS,CACjB,IAAU,GAAI,CACd,IAAM,EAAa,GAAS,EAAK,IAAS,GAAS,EAEnD,GADA,EAAO,KAAK,EAAS,CACjB,IAAU,GAAI,CACd,IAAM,EAAa,GAAS,EAAK,IAAQ,EACzC,EAAO,KAAK,EAAS,GAIjC,OAAO,GAOX,OAAQ,CACJ,GAAI,CAAC,KAAK,eAAgB,CACtB,KAAK,eAAiB,EAAE,CACxB,KAAK,eAAiB,EAAE,CACxB,KAAK,sBAAwB,EAAE,CAC/B,KAAK,sBAAwB,EAAE,CAE/B,IAAK,IAAI,EAAI,EAAG,EAAI,KAAK,aAAa,OAAQ,IAC1C,KAAK,eAAe,GAAK,KAAK,aAAa,OAAO,EAAE,CACpD,KAAK,eAAe,KAAK,eAAe,IAAM,EAC9C,KAAK,sBAAsB,GAAK,KAAK,qBAAqB,OAAO,EAAE,CACnE,KAAK,sBAAsB,KAAK,sBAAsB,IAAM,EAExD,GAAK,KAAK,kBAAkB,SAC5B,KAAK,eAAe,KAAK,qBAAqB,OAAO,EAAE,EAAI,EAC3D,KAAK,sBAAsB,KAAK,aAAa,OAAO,EAAE,EAAI,KAK7E,CAIK,GAAe,SAAU,EAAK,CAChC,IAAM,EAAY,GAAoB,EAAI,CAC1C,OAAO,GAAO,gBAAgB,EAAW,GAAK,EAM5C,GAAgC,SAAU,EAAK,CAEjD,OAAO,GAAa,EAAI,CAAC,QAAQ,MAAO,GAAG,EAWzC,GAAe,SAAU,EAAK,CAChC,GAAI,CACA,OAAO,GAAO,aAAa,EAAK,GAAK,OAElC,EAAG,CACN,QAAQ,MAAM,wBAAyB,EAAE,CAE7C,OAAO,MAqDL,OAA8B,IAAW,CAAC,sBAS1C,OAAmC,CACrC,GAAI,OAAO,QAAY,KAAsB,QAAQ,MAAQ,OACzD,OAEJ,IAAM,EAAqB,QAAQ,IAAI,sBACvC,GAAI,EACA,OAAO,KAAK,MAAM,EAAmB,EAGvC,OAA8B,CAChC,GAAI,OAAO,SAAa,IACpB,OAEJ,IAAI,EACJ,GAAI,CACA,EAAQ,SAAS,OAAO,MAAM,gCAAgC,MAExD,CAGN,OAEJ,IAAM,EAAU,GAAS,GAAa,EAAM,GAAG,CAC/C,OAAO,GAAW,KAAK,MAAM,EAAQ,EASnC,OAAoB,CACtB,GAAI,CACA,OAAQ,IAAuB,EAC3B,IAA4B,EAC5B,IAAuB,OAExB,EAAG,CAON,QAAQ,KAAK,+CAA+C,IAAI,CAChE,SAOF,OAAmD,IAAa,EAA0C,OAkB1G,GAAN,KAAe,CACX,aAAc,CACV,KAAK,WAAe,GACpB,KAAK,YAAgB,GACrB,KAAK,QAAU,IAAI,SAAS,EAAS,IAAW,CAC5C,KAAK,QAAU,EACf,KAAK,OAAS,GAChB,CAON,aAAa,EAAU,CACnB,OAAQ,EAAO,IAAU,CACjB,EACA,KAAK,OAAO,EAAM,CAGlB,KAAK,QAAQ,EAAM,CAEnB,OAAO,GAAa,aAGpB,KAAK,QAAQ,UAAY,GAAI,CAGzB,EAAS,SAAW,EACpB,EAAS,EAAM,CAGf,EAAS,EAAO,EAAM,KA6GpC,GAAa,gBAGb,GAAN,MAAM,UAAsB,KAAM,CAC9B,YAEA,EAAM,EAEN,EAAY,CACR,MAAM,EAAQ,CACd,KAAK,KAAO,EACZ,KAAK,WAAa,EAElB,KAAK,KAAO,GAGZ,OAAO,eAAe,KAAM,EAAc,UAAU,CAGhD,MAAM,mBACN,MAAM,kBAAkB,KAAM,GAAa,UAAU,OAAO,GAIlE,GAAN,KAAmB,CACf,YAAY,EAAS,EAAa,EAAQ,CACtC,KAAK,QAAU,EACf,KAAK,YAAc,EACnB,KAAK,OAAS,EAElB,OAAO,EAAM,GAAG,EAAM,CAClB,IAAM,EAAa,EAAK,IAAM,EAAE,CAC1B,EAAW,GAAG,KAAK,QAAQ,GAAG,IAC9B,EAAW,KAAK,OAAO,GACvB,EAAU,EAAW,GAAgB,EAAU,EAAW,CAAG,QAInE,OADc,IAAI,GAAc,EADZ,GAAG,KAAK,YAAY,IAAI,EAAQ,IAAI,EAAS,IACV,EAAW,GAUpE,GAAU,gBAuCV,GAAN,KAAgB,CAOZ,YAAY,EAAM,EAAiB,EAAM,CACrC,KAAK,KAAO,EACZ,KAAK,gBAAkB,EACvB,KAAK,KAAO,EACZ,KAAK,kBAAoB,GAIzB,KAAK,aAAe,EAAE,CACtB,KAAK,kBAAoB,OACzB,KAAK,kBAAoB,KAE7B,qBAAqB,EAAM,CAEvB,MADA,MAAK,kBAAoB,EAClB,KAEX,qBAAqB,EAAmB,CAEpC,MADA,MAAK,kBAAoB,EAClB,KAEX,gBAAgB,EAAO,CAEnB,MADA,MAAK,aAAe,EACb,KAEX,2BAA2B,EAAU,CAEjC,MADA,MAAK,kBAAoB,EAClB,OAoBT,GAAuB,YAsBvB,GAAN,KAAe,CACX,YAAY,EAAM,EAAW,CACzB,KAAK,KAAO,EACZ,KAAK,UAAY,EACjB,KAAK,UAAY,KACjB,KAAK,UAAY,IAAI,IACrB,KAAK,kBAAoB,IAAI,IAC7B,KAAK,iBAAmB,IAAI,IAC5B,KAAK,gBAAkB,IAAI,IAM/B,IAAI,EAAY,CAEZ,IAAM,EAAuB,KAAK,4BAA4B,EAAW,CACzE,GAAI,CAAC,KAAK,kBAAkB,IAAI,EAAqB,CAAE,CACnD,IAAM,EAAW,IAAI,GAErB,GADA,KAAK,kBAAkB,IAAI,EAAsB,EAAS,CACtD,KAAK,cAAc,EAAqB,EACxC,KAAK,sBAAsB,CAE3B,GAAI,CACA,IAAM,EAAW,KAAK,uBAAuB,CACzC,mBAAoB,EACvB,CAAC,CACE,GACA,EAAS,QAAQ,EAAS,MAGxB,GAMlB,OAAO,KAAK,kBAAkB,IAAI,EAAqB,CAAC,QAE5D,aAAa,EAAS,CAGlB,IAAM,EAAuB,KAAK,4BAA4B,GAA0D,WAAW,CAC7H,EAAiB,GAA0D,UAA2C,GAC5H,GAAI,KAAK,cAAc,EAAqB,EACxC,KAAK,sBAAsB,CAC3B,GAAI,CACA,OAAO,KAAK,uBAAuB,CAC/B,mBAAoB,EACvB,CAAC,OAEC,EAAG,CACN,GAAI,EACA,OAAO,KAGP,MAAM,UAMV,EACA,OAAO,UAGP,MAAM,MAAM,WAAW,KAAK,KAAK,mBAAmB,CAIhE,cAAe,CACX,OAAO,KAAK,UAEhB,aAAa,EAAW,CACpB,GAAI,EAAU,OAAS,KAAK,KACxB,MAAM,MAAM,yBAAyB,EAAU,KAAK,gBAAgB,KAAK,KAAK,GAAG,CAErF,GAAI,KAAK,UACL,MAAM,MAAM,iBAAiB,KAAK,KAAK,4BAA4B,CAEvE,QAAK,UAAY,EAEZ,KAAK,sBAAsB,CAIhC,IAAI,GAAiB,EAAU,CAC3B,GAAI,CACA,KAAK,uBAAuB,CAAE,mBAAoB,GAAsB,CAAC,MAEnE,EAUd,IAAK,GAAM,CAAC,EAAoB,KAAqB,KAAK,kBAAkB,SAAS,CAAE,CACnF,IAAM,EAAuB,KAAK,4BAA4B,EAAmB,CACjF,GAAI,CAEA,IAAM,EAAW,KAAK,uBAAuB,CACzC,mBAAoB,EACvB,CAAC,CACF,EAAiB,QAAQ,EAAS,MAE5B,KAMlB,cAAc,EAAa,GAAsB,CAC7C,KAAK,kBAAkB,OAAO,EAAW,CACzC,KAAK,iBAAiB,OAAO,EAAW,CACxC,KAAK,UAAU,OAAO,EAAW,CAIrC,MAAM,QAAS,CACX,IAAM,EAAW,MAAM,KAAK,KAAK,UAAU,QAAQ,CAAC,CACpD,MAAM,QAAQ,IAAI,CACd,GAAG,EACE,OAAO,GAAW,aAAc,EAAQ,CAExC,IAAI,GAAW,EAAQ,SAAS,QAAQ,CAAC,CAC9C,GAAG,EACE,OAAO,GAAW,YAAa,EAAQ,CAEvC,IAAI,GAAW,EAAQ,SAAS,CAAC,CACzC,CAAC,CAEN,gBAAiB,CACb,OAAO,KAAK,WAAa,KAE7B,cAAc,EAAa,GAAsB,CAC7C,OAAO,KAAK,UAAU,IAAI,EAAW,CAEzC,WAAW,EAAa,GAAsB,CAC1C,OAAO,KAAK,iBAAiB,IAAI,EAAW,EAAI,EAAE,CAEtD,WAAW,EAAO,EAAE,CAAE,CAClB,GAAM,CAAE,UAAU,EAAE,EAAK,EACnB,EAAuB,KAAK,4BAA4B,EAAK,mBAAmB,CACtF,GAAI,KAAK,cAAc,EAAqB,CACxC,MAAM,MAAM,GAAG,KAAK,KAAK,GAAG,EAAqB,gCAAgC,CAErF,GAAI,CAAC,KAAK,gBAAgB,CACtB,MAAM,MAAM,aAAa,KAAK,KAAK,8BAA8B,CAErE,IAAM,EAAW,KAAK,uBAAuB,CACzC,mBAAoB,EACpB,UACH,CAAC,CAEF,IAAK,GAAM,CAAC,EAAoB,KAAqB,KAAK,kBAAkB,SAAS,CAE7E,IADiC,KAAK,4BAA4B,EAAmB,EAErF,EAAiB,QAAQ,EAAS,CAG1C,OAAO,EAUX,OAAO,EAAU,EAAY,CAEzB,IAAM,EAAuB,KAAK,4BAA4B,EAAW,CACnE,EAA0B,KAAK,gBAAgB,IAAI,EAAqB,EAAmC,IAAI,IACrH,EAAkB,IAAI,EAAS,CAC/B,KAAK,gBAAgB,IAAI,EAAsB,EAAkB,CACjE,IAAM,EAAmB,KAAK,UAAU,IAAI,EAAqB,CAIjE,OAHI,GACA,EAAS,EAAkB,EAAqB,KAEvC,CACT,EAAkB,OAAO,EAAS,EAO1C,sBAAsB,EAAU,EAAY,CACxC,IAAM,EAAY,KAAK,gBAAgB,IAAI,EAAW,CACjD,KAGL,IAAK,IAAM,KAAY,EACnB,GAAI,CACA,EAAS,EAAU,EAAW,MAEvB,GAKnB,uBAAuB,CAAE,qBAAoB,UAAU,EAAE,EAAI,CACzD,IAAI,EAAW,KAAK,UAAU,IAAI,EAAmB,CACrD,GAAI,CAAC,GAAY,KAAK,YAClB,EAAW,KAAK,UAAU,gBAAgB,KAAK,UAAW,CACtD,mBAAoB,GAA8B,EAAmB,CACrE,UACH,CAAC,CACF,KAAK,UAAU,IAAI,EAAoB,EAAS,CAChD,KAAK,iBAAiB,IAAI,EAAoB,EAAQ,CAMtD,KAAK,sBAAsB,EAAU,EAAmB,CAMpD,KAAK,UAAU,mBACf,GAAI,CACA,KAAK,UAAU,kBAAkB,KAAK,UAAW,EAAoB,EAAS,MAEvE,EAKnB,OAAO,GAAY,KAEvB,4BAA4B,EAAa,GAAsB,CAKvD,OAJA,KAAK,UACE,KAAK,UAAU,kBAAoB,EAAa,GAGhD,EAGf,sBAAuB,CACnB,MAAQ,CAAC,CAAC,KAAK,WACX,KAAK,UAAU,oBAAsB,aA8B3C,GAAN,KAAyB,CACrB,YAAY,EAAM,CACd,KAAK,KAAO,EACZ,KAAK,UAAY,IAAI,IAWzB,aAAa,EAAW,CACpB,IAAM,EAAW,KAAK,YAAY,EAAU,KAAK,CACjD,GAAI,EAAS,gBAAgB,CACzB,MAAU,MAAM,aAAa,EAAU,KAAK,oCAAoC,KAAK,OAAO,CAEhG,EAAS,aAAa,EAAU,CAEpC,wBAAwB,EAAW,CACd,KAAK,YAAY,EAAU,KAAK,CACpC,gBAAgB,EAEzB,KAAK,UAAU,OAAO,EAAU,KAAK,CAEzC,KAAK,aAAa,EAAU,CAShC,YAAY,EAAM,CACd,GAAI,KAAK,UAAU,IAAI,EAAK,CACxB,OAAO,KAAK,UAAU,IAAI,EAAK,CAGnC,IAAM,EAAW,IAAI,GAAS,EAAM,KAAK,CAEzC,OADA,KAAK,UAAU,IAAI,EAAM,EAAS,CAC3B,EAEX,cAAe,CACX,OAAO,MAAM,KAAK,KAAK,UAAU,QAAQ,CAAC,GAuB5C,GAAY,EAAE,EAanB,SAAU,EAAU,CACjB,EAAS,EAAS,MAAW,GAAK,QAClC,EAAS,EAAS,QAAa,GAAK,UACpC,EAAS,EAAS,KAAU,GAAK,OACjC,EAAS,EAAS,KAAU,GAAK,OACjC,EAAS,EAAS,MAAW,GAAK,QAClC,EAAS,EAAS,OAAY,GAAK,WACpC,AAAa,IAAW,EAAE,CAAE,CACzB,GAAoB,CACtB,MAAS,EAAS,MAClB,QAAW,EAAS,QACpB,KAAQ,EAAS,KACjB,KAAQ,EAAS,KACjB,MAAS,EAAS,MAClB,OAAU,EAAS,OACtB,CAIK,GAAkB,EAAS,KAO3B,GAAgB,EACjB,EAAS,OAAQ,OACjB,EAAS,SAAU,OACnB,EAAS,MAAO,QAChB,EAAS,MAAO,QAChB,EAAS,OAAQ,QACrB,CAMK,IAAqB,EAAU,EAAS,GAAG,IAAS,CACtD,GAAI,EAAU,EAAS,SACnB,OAEJ,IAAM,EAAM,IAAI,MAAM,CAAC,aAAa,CAC9B,EAAS,GAAc,GAC7B,GAAI,EACA,QAAQ,GAAQ,IAAI,EAAI,KAAK,EAAS,KAAK,GAAI,GAAG,EAAK,MAGvD,MAAU,MAAM,8DAA8D,EAAQ,GAAG,EAG3F,GAAN,KAAa,CAOT,YAAY,EAAM,CACd,KAAK,KAAO,EAIZ,KAAK,UAAY,GAKjB,KAAK,YAAc,GAInB,KAAK,gBAAkB,KAIvB,GAAU,KAAK,KAAK,CAExB,IAAI,UAAW,CACX,OAAO,KAAK,UAEhB,IAAI,SAAS,EAAK,CACd,GAAI,EAAE,KAAO,GACT,MAAU,UAAU,kBAAkB,EAAI,4BAA4B,CAE1E,KAAK,UAAY,EAGrB,YAAY,EAAK,CACb,KAAK,UAAY,OAAO,GAAQ,SAAW,GAAkB,GAAO,EAExE,IAAI,YAAa,CACb,OAAO,KAAK,YAEhB,IAAI,WAAW,EAAK,CAChB,GAAI,OAAO,GAAQ,WACf,MAAU,UAAU,oDAAoD,CAE5E,KAAK,YAAc,EAEvB,IAAI,gBAAiB,CACjB,OAAO,KAAK,gBAEhB,IAAI,eAAe,EAAK,CACpB,KAAK,gBAAkB,EAK3B,MAAM,GAAG,EAAM,CACX,KAAK,iBAAmB,KAAK,gBAAgB,KAAM,EAAS,MAAO,GAAG,EAAK,CAC3E,KAAK,YAAY,KAAM,EAAS,MAAO,GAAG,EAAK,CAEnD,IAAI,GAAG,EAAM,CACT,KAAK,iBACD,KAAK,gBAAgB,KAAM,EAAS,QAAS,GAAG,EAAK,CACzD,KAAK,YAAY,KAAM,EAAS,QAAS,GAAG,EAAK,CAErD,KAAK,GAAG,EAAM,CACV,KAAK,iBAAmB,KAAK,gBAAgB,KAAM,EAAS,KAAM,GAAG,EAAK,CAC1E,KAAK,YAAY,KAAM,EAAS,KAAM,GAAG,EAAK,CAElD,KAAK,GAAG,EAAM,CACV,KAAK,iBAAmB,KAAK,gBAAgB,KAAM,EAAS,KAAM,GAAG,EAAK,CAC1E,KAAK,YAAY,KAAM,EAAS,KAAM,GAAG,EAAK,CAElD,MAAM,GAAG,EAAM,CACX,KAAK,iBAAmB,KAAK,gBAAgB,KAAM,EAAS,MAAO,GAAG,EAAK,CAC3E,KAAK,YAAY,KAAM,EAAS,MAAO,GAAG,EAAK,GAyDjD,IAAiB,EAAQ,IAAiB,EAAa,KAAM,GAAM,aAAkBD,EAAE,CAwBvF,GAAmB,IAAI,QACvB,GAAqB,IAAI,QACzB,GAA2B,IAAI,QAC/B,GAAiB,IAAI,QACrB,GAAwB,IAAI,QA0D9B,GAAgB,CAChB,IAAI,EAAQ,EAAM,EAAU,CACxB,GAAI,aAAkB,eAAgB,CAElC,GAAI,IAAS,OACT,OAAO,GAAmB,IAAI,EAAO,CAEzC,GAAI,IAAS,mBACT,OAAO,EAAO,kBAAoB,GAAyB,IAAI,EAAO,CAG1E,GAAI,IAAS,QACT,OAAO,EAAS,iBAAiB,GAC3B,IAAA,GACA,EAAS,YAAY,EAAS,iBAAiB,GAAG,CAIhE,OAAO,GAAK,EAAO,GAAM,EAE7B,IAAI,EAAQ,EAAM,EAAO,CAErB,MADA,GAAO,GAAQ,EACR,IAEX,IAAI,EAAQ,EAAM,CAKd,OAJI,aAAkB,iBACjB,IAAS,QAAU,IAAS,SACtB,GAEJ,KAAQ,GAEtB,CAiEK,GAAU,GAAU,GAAsB,IAAI,EAAM,CA8BpD,GAAc,CAAC,MAAO,SAAU,SAAU,aAAc,QAAQ,CAChE,GAAe,CAAC,MAAO,MAAO,SAAU,QAAQ,CAChD,GAAgB,IAAI,IAqC1B,GAAc,IAAc,CACxB,GAAG,EACH,KAAM,EAAQ,EAAM,IAAa,GAAU,EAAQ,EAAK,EAAI,EAAS,IAAI,EAAQ,EAAM,EAAS,CAChG,KAAM,EAAQ,IAAS,CAAC,CAAC,GAAU,EAAQ,EAAK,EAAI,EAAS,IAAI,EAAQ,EAAK,CACjF,EAAE,CAkBG,GAAN,KAAgC,CAC5B,YAAY,EAAW,CACnB,KAAK,UAAY,EAIrB,uBAAwB,CAIpB,OAHkB,KAAK,UAAU,cAAc,CAI1C,IAAI,GAAY,CACjB,GAAI,GAAyB,EAAS,CAAE,CACpC,IAAM,EAAU,EAAS,cAAc,CACvC,MAAO,GAAG,EAAQ,QAAQ,GAAG,EAAQ,eAGrC,OAAO,MAEb,CACG,OAAO,GAAa,EAAU,CAC9B,KAAK,IAAI,GAgBhB,GAAS,4DACT,GAAY,QAkBZ,GAAS,IAAI,GAAO,4DAA4D,CAEhF,GAAS,uBAET,GAAS,6BAET,GAAS,sBAET,GAAS,6BAET,GAAS,sBAET,GAAS,iBAET,GAAS,wBAET,GAAS,qBAET,GAAS,4BAET,GAAS,sBAET,GAAS,6BAET,GAAS,0BAET,GAAS,iCAET,GAAS,sBAET,GAAS,6BAET,GAAS,wBAET,GAAS,+BAET,GAAS,0BAET,GAAS,iCAET,GAAS,oBAET,GAAS,2BAET,GAAS,sBAET,GAAS,6BAET,GAAS,WACT,GAAY,SAuBZ,GAAqB,YACrB,GAAsB,EACvB,IAAS,aACT,IAAS,oBACT,IAAS,kBACT,IAAS,yBACT,IAAS,kBACT,IAAS,yBACT,IAAS,aACT,IAAS,oBACT,IAAS,aACT,IAAS,oBACT,IAAS,WACT,IAAS,kBACT,IAAS,YACT,IAAS,mBACT,IAAS,YACT,IAAS,mBACT,IAAS,aACT,IAAS,oBACT,IAAS,WACT,IAAS,kBACT,IAAS,YACT,IAAS,mBACT,IAAS,YACT,IAAS,kBACV,UAAW,WACV,IAAS,cACb,CAqBK,GAAQ,IAAI,IAOZ,GAAc,IAAI,IA8GlB,GAAgB,IAAI,GAAa,MAAO,WAf/B,CACV,SAAiC,oFAEjC,eAA6C,gCAC7C,gBAA+C,kFAC/C,cAA2C,kDAC3C,aAAyC,0EACzC,uBAA6D,6EAE7D,uBAA6D,wDAC7D,WAAqC,gFACrC,UAAmC,qFACnC,UAAqC,mFACrC,aAAyC,sFAC7C,CACgE,CAkB3D,GAAN,KAAsB,CAClB,YAAY,EAAS,EAAQ,EAAW,CACpC,KAAK,WAAa,GAClB,KAAK,SAAW,OAAO,OAAO,EAAE,CAAE,EAAQ,CAC1C,KAAK,QAAU,OAAO,OAAO,EAAE,CAAE,EAAO,CACxC,KAAK,MAAQ,EAAO,KACpB,KAAK,gCACD,EAAO,+BACX,KAAK,WAAa,EAClB,KAAK,UAAU,aAAa,IAAI,GAAU,UAAa,KAAM,SAAoC,CAAC,CAEtG,IAAI,gCAAiC,CAEjC,OADA,KAAK,gBAAgB,CACd,KAAK,gCAEhB,IAAI,+BAA+B,EAAK,CACpC,KAAK,gBAAgB,CACrB,KAAK,gCAAkC,EAE3C,IAAI,MAAO,CAEP,OADA,KAAK,gBAAgB,CACd,KAAK,MAEhB,IAAI,SAAU,CAEV,OADA,KAAK,gBAAgB,CACd,KAAK,SAEhB,IAAI,QAAS,CAET,OADA,KAAK,gBAAgB,CACd,KAAK,QAEhB,IAAI,WAAY,CACZ,OAAO,KAAK,WAEhB,IAAI,WAAY,CACZ,OAAO,KAAK,WAEhB,IAAI,UAAU,EAAK,CACf,KAAK,WAAa,EAMtB,gBAAiB,CACb,GAAI,KAAK,UACL,MAAM,GAAc,OAAO,cAA0C,CAAE,QAAS,KAAK,MAAO,CAAC,GA0BnG,GAAc,GA4Ld,GAAU,8BACV,GAAa,EACb,GAAa,2BACf,GAAY,KAmFV,GAAmB,KAEnB,GAAwC,IAAU,GAAK,GAAK,IAC5D,GAAN,KAA2B,CACvB,YAAY,EAAW,CACnB,KAAK,UAAY,EAUjB,KAAK,iBAAmB,KAExB,KAAK,SAAW,IAAI,GADR,KAAK,UAAU,YAAY,MAAM,CAAC,cAAc,CACf,CAC7C,KAAK,wBAA0B,KAAK,SAAS,MAAM,CAAC,KAAK,IACrD,KAAK,iBAAmB,EACjB,GACT,CASN,MAAM,kBAAmB,CAMrB,IAAM,EALiB,KAAK,UACvB,YAAY,kBAAkB,CAC9B,cAAc,CAGU,uBAAuB,CAC9C,EAAO,IAAkB,CAC/B,GAAI,KAAK,mBAAqB,OAC1B,KAAK,iBAAmB,MAAM,KAAK,yBAInC,OAAK,iBAAiB,wBAA0B,GAChD,KAAK,iBAAiB,WAAW,KAAK,GAAuB,EAAoB,OAAS,EAAK,EAanG,OARI,KAAK,iBAAiB,WAAW,KAAK,CAAE,OAAM,QAAO,CAAC,CAG1D,KAAK,iBAAiB,WAAa,KAAK,iBAAiB,WAAW,OAAO,GAAuB,CAC9F,IAAM,EAAc,IAAI,KAAK,EAAoB,KAAK,CAAC,SAAS,CAEhE,OADY,KAAK,KAAK,CACT,GAAe,IAC9B,CACK,KAAK,SAAS,UAAU,KAAK,iBAAiB,CASzD,MAAM,qBAAsB,CAKxB,GAJI,KAAK,mBAAqB,MAC1B,MAAM,KAAK,wBAGX,KAAK,mBAAqB,MAC1B,KAAK,iBAAiB,WAAW,SAAW,EAC5C,MAAO,GAEX,IAAM,EAAO,IAAkB,CAEzB,CAAE,mBAAkB,iBAAkB,GAA2B,KAAK,iBAAiB,WAAW,CAClG,EAAe,GAA8B,KAAK,UAAU,CAAE,QAAS,EAAG,WAAY,EAAkB,CAAC,CAAC,CAgBhH,MAdA,MAAK,iBAAiB,sBAAwB,EAC1C,EAAc,OAAS,GAEvB,KAAK,iBAAiB,WAAa,EAInC,MAAM,KAAK,SAAS,UAAU,KAAK,iBAAiB,GAGpD,KAAK,iBAAiB,WAAa,EAAE,CAEhC,KAAK,SAAS,UAAU,KAAK,iBAAiB,EAEhD,IAgDT,GAAN,KAA2B,CACvB,YAAY,EAAK,CACb,KAAK,IAAMF,EACX,KAAK,wBAA0B,KAAK,8BAA8B,CAEtE,MAAM,8BAA+B,CAE7B,OADC,IAAsB,CAIhB,IAA2B,CAC7B,SAAW,GAAK,CAChB,UAAY,GAAM,CALhB,GAWf,MAAM,MAAO,CAGL,OAFoB,MAAM,KAAK,yBAKJ,MAAM,GAA4B,KAAK,IAAI,EAH/D,CAAE,WAAY,EAAE,CAAE,CAQjC,MAAM,UAAU,EAAkB,CAG9B,GADwB,MAAM,KAAK,wBAI9B,CACD,IAAM,EAA2B,MAAM,KAAK,MAAM,CAClD,OAAO,GAA2B,KAAK,IAAK,CACxC,sBAA6B,EAAiB,uBAAwD,EAAyB,sBAC/H,WAAY,EAAiB,WAChC,CAAC,MAPF,OAWR,MAAM,IAAI,EAAkB,CAGxB,GADwB,MAAM,KAAK,wBAI9B,CACD,IAAM,EAA2B,MAAM,KAAK,MAAM,CAClD,OAAO,GAA2B,KAAK,IAAK,CACxC,sBAA6B,EAAiB,uBAAwD,EAAyB,sBAC/H,WAAY,CACR,GAAG,EAAyB,WAC5B,GAAG,EAAiB,WACvB,CACJ,CAAC,MAVF,SA2DZ,GAAuB,GAAG,CAqB1B,GAnBW,WACG,SAkBiB,MAAM,ICv8E+1K,SAAS,GAAE,EAAE,CAAC,OAAO,GAAG,EAAE,UAAU,EAAE,UAAU,EAA8nC,SAAS,IAAG,EAAE,SAAS,GAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAgB,EAAY,GAAV,SAAc,EAAE,MAAM,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAA/B,IAAxB,SAA0E,GAAV,UAAuB,OAAO,EAAE,QAAnB,SAA0B,SAAS,GAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAgB,GAAV,UAAmB,GAAN,MAAqB,GAAZ,WAA+D,SAAS,GAAE,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,UAAU,CAAC,SAAS,GAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,EAAE,UAAU,OAAO,CAAC,IAAI,EAAE,MAAM,UAAU,MAAM,KAAK,UAAU,EAAE,CAAC,OAAO,UAAU,CAAC,IAAII,EAAE,MAAM,UAAU,MAAM,KAAK,UAAU,CAAC,OAAO,MAAM,UAAU,QAAQ,MAAMA,EAAE,EAAE,CAAC,EAAE,MAAM,EAAEA,EAAE,EAAE,OAAO,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,SAAS,UAAU,MAAU,SAAS,UAAU,KAAK,UAAU,CAAC,QAAQ,cAAc,EAA7D,GAA8D,GAAE,IAAG,MAAM,KAAK,UAAU,CAAC,SAAS,GAAE,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,UAAU,MAAM,KAAK,UAAU,EAAE,CAAC,OAAO,UAAU,CAAC,IAAIC,EAAE,EAAE,OAAO,CAAC,OAAOA,EAAE,KAAK,MAAMA,EAAE,UAAU,CAAC,EAAE,MAAM,KAAKA,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,IAAI,EAAE,EAAE,UAAU,YAAY,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,MAAM,UAAU,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU,OAAO,IAAI,EAAE,EAAE,GAAG,UAAU,GAAG,OAAO,EAAE,UAAUD,GAAG,MAAME,EAAE,EAAE,EAAE,SAAS,IAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAge,SAAS,GAAE,EAAE,CAAC,IAAM,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,MAAM,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC,SAAS,GAAE,EAAE,EAAE,CAAC,IAAI,IAAID,EAAE,EAAEA,EAAE,UAAU,OAAO,IAAI,CAAC,IAAM,EAAE,UAAUA,GAAG,GAAG,GAAE,EAAE,CAAC,CAAC,IAAMA,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAOA,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAEA,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,iBAAiB,CAAC,EAA+R,SAAS,GAAE,EAAE,CAAC,MAAM,cAAc,KAAK,EAAE,CAAyH,SAAS,GAAE,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,SAAS,IAAG,CAAC,IAAI,EAAE,EAAE,UAAU,OAAO,AAAI,IAAE,EAAE,WAAW,EAAE,GAAG,SAAS,GAAE,EAAE,CAAC,OAAU,IAAG,CAAC,QAAQ,EAAE,EAAlB,GAAmB,SAAS,GAAE,EAAE,CAAC,OAAO,GAAE,KAAK,EAAE,CAAC,EAAyP,SAAS,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,OAAO,EAAE,EAAE,aAAa,IAAK,GAAiU,SAAS,IAAI,CAAC,OAAO,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,OAAO,OAAO,UAAU,eAAe,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,EAAQ,EAAE,GAAE,OAAO,GAAE,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,GAAE,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,IAAIE,EAAE,EAAK,GAAH,GAAMA,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,EAAEA,IAAI,GAAG,EAAE,EAAEA,IAAI,GAAG,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,EAAE,iBAAiB,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,CAAI,EAAE,GAAG,QAAR,GAAmB,EAAE,GAAG,QAAR,EAAe,MAAM,EAAE,GAAK,EAAE,GAAG,QAAR,EAAe,EAAE,SAAS,EAAE,GAAG,GAAG,CAAI,EAAE,GAAG,QAAR,EAAe,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,EAAE,GAAK,EAAE,GAAG,QAAR,EAAkB,EAAE,GAAG,QAAR,EAAe,EAAE,GAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,SAAY,GAAH,GAAM,MAAO,IAAG,IAAI,CAAyF,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,EAAE,EAAE,KAAK,GAAG,CAAC,KAAK,cAAc,KAAK,EAAE,KAAK,OAAO,KAAK,KAAK,OAAO,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,EAAE,KAAK,IAAI,GAAG,KAAK,QAAQ,KAAK,SAAS,KAAK,OAAO,KAAK,QAAQ,CAAC,EAAE,KAAK,MAAM,KAAK,KAAK,UAAU,EAAE,KAAK,YAAY,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,EAAE,KAAK,EAAE,EAAE,gBAAgB,EAAE,eAAe,OAAO,EAAE,eAAe,GAAG,KAAK,GAAG,KAAK,OAAO,EAAE,QAAQ,EAAE,WAAW,KAAK,EAAE,EAAE,EAAE,EAAE,kBAAkB,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAE,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,OAAU,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,YAAwB,GAAb,YAAe,EAAE,EAAE,YAAwB,GAAZ,aAAgB,EAAE,EAAE,WAAW,KAAK,cAAc,EAAE,GAAG,KAAK,QAAiB,EAAE,UAAX,IAAK,GAAwB,EAAE,MAAZ,EAAE,QAAgB,KAAK,QAAiB,EAAE,UAAX,IAAK,GAAwB,EAAE,MAAZ,EAAE,QAAgB,KAAK,QAAQ,EAAE,SAAS,EAAE,KAAK,QAAQ,EAAE,SAAS,IAAI,KAAK,QAAiB,EAAE,UAAX,IAAK,GAAwB,EAAE,MAAZ,EAAE,QAAgB,KAAK,QAAiB,EAAE,UAAX,IAAK,GAAwB,EAAE,MAAZ,EAAE,QAAgB,KAAK,QAAQ,EAAE,SAAS,EAAE,KAAK,QAAQ,EAAE,SAAS,GAAG,KAAK,OAAO,EAAE,OAAO,KAAK,IAAI,EAAE,KAAK,GAAG,KAAK,QAAQ,EAAE,QAAQ,KAAK,OAAO,EAAE,OAAO,KAAK,SAAS,EAAE,SAAS,KAAK,QAAQ,EAAE,QAAQ,KAAK,UAAU,EAAE,WAAW,EAAE,KAAK,YAAsB,OAAO,EAAE,aAAnB,SAA+B,EAAE,YAAY,GAAG,EAAE,cAAc,GAAG,KAAK,MAAM,EAAE,MAAM,KAAK,EAAE,EAAE,EAAE,kBAAkB,GAAG,EAAE,EAAE,KAAK,KAAK,EAAsN,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,SAAS,EAAE,KAAK,MAAM,KAAK,KAAK,IAAI,EAAE,KAAK,KAAK,EAAE,KAAK,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,KAAK,EAAE,MAAM,KAAK,EAAE,IAAI,KAAK,EAAE,GAAG,KAAK,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,IAAM,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,IAAM,EAAE,EAAE,CAAC,IAAI,IAAM,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,OAAO,EAAsH,SAAS,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,IAAIF,EAAE,EAAEA,EAAE,UAAU,OAAO,IAAI,CAAC,IAAI,IAAK,GAAE,UAAUA,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,IAAIA,EAAE,EAAEA,EAAE,GAAG,OAAO,IAAI,EAAE,GAAGA,GAAG,OAAO,UAAU,eAAe,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,SAAS,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,MAAM,UAAU,OAAO,KAAK,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE,CAAI,EAAE,EAAE,GAAG,QAAV,IAAmB,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,GAAG,EAAE,SAAS,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAA2P,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,KAAK,OAAO,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,QAAQ,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,MAAO,GAAE,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAE,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,qBAAqB,CAAC,IAAIE,EAAE,GAAE,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAEC,EAAE,GAAG,EAAE,CAAC,GAAGA,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,GAAG,EAAEA,EAAE,IAAI,EAAE,EAAE,EAAED,EAAE,EAAE,EAAE,MAAM,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,SAASD,EAAE,EAAE,CAAC,OAAOD,EAAE,KAAKC,EAAE,IAAIA,EAAE,SAASF,EAAE,CAAC,IAAMC,EAAE,GAAG,OAAOC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,iBAAiB,KAAI,EAAEC,GAAY,IAAT,IAAK,KAAQ,EAAE,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,EAAE,eAAe,MAAM,MAAM,oDAAoD,CAAC,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,QAAQ,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,MAAO,GAAE,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAE,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,QAAQ,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,GAAE,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,UAAU,IAAI,EAAE,GAAI,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,GAAG,CAAC,MAAM,UAAU,OAAO,KAAK,EAAE,EAAE,EAAE,CAAI,EAAE,QAAL,IAAc,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,AAAI,IAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,CAAC,GAAa,OAAO,GAAjB,UAAoB,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,YAAY,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAI,EAAE,GAAL,IAAS,EAAE,IAAI,KAAK,EAAE,IAAI,OAAO,GAAG,EAAE,GAAG,SAAS,GAAG,EAAE,CAAC,OAAO,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,SAAS,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,eAAe,GAAG,EAAE,KAA2D,SAAS,GAAG,EAAE,CAAC,OAAkB,OAAO,GAAnB,WAAqB,GAAG,EAAE,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,SAAS,GAAI,CAAC,GAAE,KAAK,KAAK,CAAC,KAAK,EAAE,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,KAAK,EAAE,KAAK,SAAS,EAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAY,OAAO,GAAjB,SAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,aAAa,EAAE,EAAE,OAAO,EAAE,QAAQ,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,IAAIA,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAGA,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAGA,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,IAAIA,EAAE,EAAE,GAAG,GAAGA,GAAG,CAACA,EAAE,IAAIA,EAAE,SAAS,EAAE,CAAC,IAAIC,EAAED,EAAE,SAASE,EAAEF,EAAE,IAAIA,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,EAAEA,EAAE,CAAC,EAAE,CAAC,IAAIC,EAAE,KAAKC,EAAE,EAAE,EAAE,GAAG,OAAO,GAAG,CAAC,EAAE,iBAA6b,SAAS,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,KAAK,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,MAAM,EAAwU,SAAS,GAAG,EAAE,CAAC,EAAE,gBAAgB,CAAC,MAAM,IAAI,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,IAAIH,EAAE,EAAE,QAAQ,QAAQ,IAAK,GAAE,CAAC,GAAG,UAAU,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,AAAU,MAAL,IAAI,CAAI,CAAC,GAAG,GAAG,IAAI,EAAE,EAAE,CAAuI,SAAS,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,OAAOA,EAAE,CAAC,GAAGA,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,EAAG,KAAK,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,AAA4B,EAAE,KAAxB,EAAE,EAAE,aAAa,EAAE,EAAE,CAAK,MAAM,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,GAAe,OAAO,GAAnB,WAAqB,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAe,OAAO,EAAE,aAArB,WAAiC,MAAM,MAAM,4BAA4B,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,MAAO,YAAW,OAAO,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,KAAK,EAAE,CAA8nB,SAAS,GAAG,EAAE,CAAC,GAAE,KAAK,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,CAAmB,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,QAAQ,EAAE,GAAG,IAAI,GAAG,GAAG,EAAE,UAAU,EAAE,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,GAAG,SAASI,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,GAAGJ,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC,MAAM,iBAAiB,EAAE,MAAM,SAAS,EAAE,EAAE,CAAC,GAAG,CAACA,EAAE,EAAE,OAAOD,EAAE,GAAG,CAACA,EAAE,OAAO,KAAK,GAAG,CAAC,IAAID,EAAE,KAAK,MAAMC,EAAE,CAAC,GAAGD,OAAM,EAAE,EAAEE,EAAEF,EAAE,OAAO,IAAI,GAAG,MAAM,QAAQA,EAAEE,GAAG,CAAC,CAAC,IAAIK,EAAEP,EAAEE,GAAG,GAAG,EAAE,EAAEK,EAAE,QAAQ,CAAC,IAAI,EAAEA,EAAE,GAAG,GAAG,MAAM,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,GAAW,GAAR,QAAmB,GAAR,QAAoB,GAAT,QAAW,IAAI,IAAIJ,EAAE,EAAEA,EAAE,EAAE,OAAO,IAAI,EAAEA,GAAG,MAAK,OAAO,GAAGH,EAAE,MAAS,CAAC,OAAOC,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,CAA2O,SAAS,IAAI,CAAC,MAAO,MAAO,IAAI,EAAG,SAAS,GAAG,EAAE,CAAC,EAAE,KAAK,KAAK,GAAG,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,IAAM,EAAE,IAAI,CAAC,EAAG,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,SAASO,GAAG,EAAE,EAAE,CAAC,EAAE,KAAK,KAAK,GAAG,WAAW,EAAE,CAAC,KAAK,KAAK,EAAE,SAASC,EAAG,EAAE,CAAC,IAAM,EAAE,IAAI,CAAC,EAAG,EAAE,IAAID,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,EAAE,KAAK,KAAK,GAAG,GAAG,EAAE,CAAC,KAAK,KAAK,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,GAAe,OAAO,GAAnB,WAAqB,MAAM,MAAM,6CAA6C,CAAC,OAAO,EAAE,YAAY,UAAU,CAAC,GAAG,GAAG,EAAE,CAA8V,SAAS,IAAI,EAAE,SAAS,GAAG,EAAE,CAAC,MAAO,CAAM,EAAE,IAAE,EAAE,GAAG,CAAE,SAAS,IAAI,EAAgE,SAAS,IAAI,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC,SAAS,IAAI,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,IAAK,GAAE,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,SAAS,IAAI,CAAC,KAAK,EAAE,KAAK,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,EAAsJ,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,AAAM,EAAE,IAAE,OAAQ,EAAE,gBAAgB,oCAAoC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC,GAAGN,EAAE,EAAE,GAAG,EAAE,IAAI,IAAIC,EAAE,GAAGC,EAAE,EAAE,MAAM,IAAI,CAACC,EAAE,EAAEA,EAAED,EAAE,OAAO,IAAI,CAAC,IAAIM,EAAEN,EAAEC,GAAG,MAAM,IAAI,CAAC,GAAG,EAAEK,EAAE,OAAO,CAAC,IAAIC,EAAED,EAAE,GAAG,EAAEA,EAAE,GAAG,IAAIE,EAAED,EAAE,MAAM,IAAI,CAAC,EAAE,GAAGC,EAAE,QAAgBA,EAAE,IAAV,OAAaT,GAAGQ,EAAE,KAAKD,EAAE,IAAIP,GAAGQ,EAAE,oBAAoB,EAAE,UAAU,EAAE,EAAE,MAAM,gBAAgBJ,EAAE,cAAc,EAAE,MAAMN,EAAE;EAAKD,EAAE;EAAKG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GAAW,EAAE,GAAT,OAAe,EAAE,GAAL,GAAQ,EAAE,EAAE,GAAI,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAI,GAAH,IAAO,EAAE,EAAE,EAAEM,EAAG,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,wBAAwB,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,EAAEA,EAAG,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,GAAG,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAM,GAAH,GAAS,EAAE,QAAL,GAAa,EAAE,EAAE,IAAI,EAAE,EAAE,EAAEA,EAAG,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,uDAAuD,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EAAEA,EAAG,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,6BAA6B,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ;EAAK,EAAE,CAAC,OAAU,GAAJ,GAAM,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,GAAG,GAAG,EAAE,EAAE,OAAO,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,GAAS,EAAE,GAAR,KAAU,MAAM,MAAM,0BAA0B,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,AAA0B,EAAE,KAAtB,EAAE,aAAa,EAAE,EAAE,CAAK,MAAM,SAAS,GAAG,EAAE,CAAI,EAAE,EAAE,GAAP,GAAU,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,GAAe,OAAO,EAAE,IAArB,YAAyB,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,CAACH,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,GAAM,EAAE,GAAL,IAAS,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,MAAK,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAK,EAAE,GAAL,EAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAS,CAAC,EAAE,KAAK,GAAG,MAAM,QAAQ,EAAE,EAAK,EAAE,QAAL,EAAY,CAAC,IAAI,EAAE,EAAE,GAAM,EAAE,IAAL,KAAW,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAACG,EAAG,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,GAAM,EAAE,GAAL,GAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,MAAS,EAAE,EAAE,GAAG,IAAK,SAAQ,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,GAAE,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC,IAAIC,EAAE,EAAE,GAAG,GAAG,EAAE,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAM,EAAE,GAAL,EAAO,GAAQA,EAAE,IAAP,IAAU,CAAC,EAAE,EAAEA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,IAAMT,EAAES,EAAE,GAAST,GAAN,OAAU,EAAE,GAAGA,EAAE,EAAE,EAAE,KAAK,OAAO,EAAE,GAAG,EAAE,IAAMY,EAAEH,EAAE,GAASG,GAAN,OAAU,EAAE,GAAGA,EAAE,EAAE,EAAE,KAAK,QAAQ,EAAE,GAAG,EAAE,IAAMF,EAAED,EAAE,GAASC,GAAN,MAAmB,OAAOA,GAAjB,UAAoB,EAAEA,IAAI,EAAE,IAAIA,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,gCAAgC,EAAE,EAAE,EAAE,EAAE,IAAMC,EAAE,EAAE,EAAE,GAAGA,EAAE,CAAC,IAAMV,EAAEU,EAAE,EAAEA,EAAE,EAAE,kBAAkB,yBAAyB,CAAC,KAAK,GAAGV,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAOA,EAAE,QAAQ,OAAO,EAArB,IAA2BA,EAAE,QAAQ,OAAO,EAArB,IAA2BA,EAAE,QAAQ,KAAK,EAAnB,KAAsB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,AAAgB,EAAE,KAAZ,GAAG,EAAE,EAAE,EAAE,CAAK,OAAO,GAAG,EAAE,EAAE,CAAC,IAAMA,EAAEU,EAAE,EAAEA,EAAE,EAAE,kBAAkB,oBAAoB,CAAC,KAAK,IAAI,EAAE,GAAGV,EAAE,EAAG,EAAE,EAAE,EAAE,EAAEA,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,kBAAkB,EAAE,EAAE,KAAK,EAAE,IAAIC,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,CAACA,EAAE,EAAE,CAAC,GAAG,EAAE,EAAEA,EAAE,CAAC,IAAIC,EAAED,EAAEE,EAAE,EAAE,EAAE,GAAGD,EAAE,WAAWC,EAAE,CAACD,EAAE,IAAI,GAAGA,EAAE,CAAC,GAAGA,EAAE,EAAE,EAAE,EAAED,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,GAAG,EAAE,MAAaO,EAAE,IAAV,QAAuBA,EAAE,IAAX,SAAe,GAAG,EAAE,EAAE,MAAS,EAAE,GAAL,IAAiBA,EAAE,IAAV,QAAuBA,EAAE,IAAX,QAAsBA,EAAE,IAAV,OAAa,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAASA,EAAE,IAAV,QAAc,EAAE,GAAG,EAAE,EAAE,GAAGA,EAAE,CAAC,EAAE,EAAE,IAAG,IAAI,MAAS,GAAG,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,SAAqB,OAAO,EAAE,SAArB,WAA6B,EAAE,QAAQ,EAAE,IAAK,GAAE,SAAS,GAAE,EAAE,EAAY,OAAO,GAAjB,SAAmB,MAAM,UAAU,QAAQ,KAAK,EAAE,EAAE,IAAK,GAAE,MAAM,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC,GAAGR,EAAE,IAAgB,OAAOA,EAAE,IAArB,WAAwB,OAAOA,EAAE,IAAI,CAAC,GAAG,CAACA,EAAE,GAAe,OAAOA,EAAE,GAArB,WAAuB,CAAC,GAAgB,OAAO,IAApB,KAAyBA,aAAa,IAAI,OAAO,MAAM,KAAKA,EAAE,MAAM,CAAC,CAAC,GAAG,EAAe,OAAO,IAApB,KAAyBA,aAAa,KAAK,CAAC,GAAG,GAAEA,EAAE,EAAY,OAAOA,GAAjB,SAAmB,CAAC,IAAID,EAAE,EAAE,CAAC,EAAEC,EAAE,OAAO,IAAI,IAAIF,EAAE,EAAEA,EAAEE,EAAE,IAAI,EAAE,KAAKF,EAAE,CAAC,OAAOC,EAAW,IAAI,IAAMM,IAAnB,GAAE,EAAE,CAAC,EAAE,EAAiBL,EAAE,EAAE,KAAKK,EAAE,OAAON,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,GAAGC,EAAE,GAAe,OAAOA,EAAE,GAArB,WAAuB,OAAOA,EAAE,GAAG,CAAC,GAAgB,OAAO,IAApB,KAAyBA,aAAa,KAAkB,OAAO,IAApB,KAAyBA,aAAa,IAAI,OAAO,MAAM,KAAKA,EAAE,QAAQ,CAAC,CAAC,GAAa,OAAOA,GAAjB,SAAmB,OAAOA,EAAE,MAAM,GAAG,CAAC,GAAG,GAAEA,EAAE,CAAC,CAAC,IAAI,IAAID,EAAE,EAAE,CAACD,EAAEE,EAAE,OAAOK,EAAE,EAAEA,EAAEP,EAAE,IAAI,EAAE,KAAKE,EAAEK,GAAG,CAAC,OAAON,EAAE,IAAIM,IAAK,GAAE,EAAE,CAAC,EAAE,EAAEL,EAAE,EAAE,KAAKA,EAAEK,GAAG,OAAON,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,IAAK,GAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,CAAo7D,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,KAAK,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,aAAa,GAAG,CAAC,KAAK,EAAW,IAAT,IAAK,GAAQ,EAAE,EAAJ,EAAM,GAAG,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,KAAK,KAAK,EAAE,EAAE,SAAS,GAAG,EAAE,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,AAAM,EAAE,IAAE,EAAE,EAAE,QAAQ,KAAK,GAAG,CAAE,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,MAAM,mBAAmB,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,aAAa,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,CAACC,EAAE,IAAI,GAAGA,EAAE,CAAC,EAAE,EAAE,KAAKA,EAAE,EAAE,SAAS,SAAS,EAAE,EAAE,CAAC,IAAIF,EAAEC,EAAE,aAAa,CAAC,GAAGD,IAAI,GAAG,KAAKC,EAAE,CAAC,GAAG,KAAKD,EAAEE,EAAE,IAAIA,EAAE,EAAE,EAAE,EAAED,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,SAAS,EAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,OAAO,EAAG,EAAE,KAAK,KAAK,MAAM,WAAW,KAAK,QAAQ,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,KAAK,MAAM,WAAW,KAAK,QAAQ,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,QAAQ,OAAO,QAAQ,CAAC,CAAC,mBAAmB,EAAE,CAAC,GAAG,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,OAAgB,OAAO,GAAjB,UAAoB,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,QAAQ,uBAAuB,MAAM,EAAE,GAAG,KAAK,SAAS,GAAG,EAAE,CAAC,MAAM,MAAM,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,SAAS,GAAG,EAAE,GAAG,GAAG,SAAS,GAAG,CAAwgB,SAAS,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,CAAC,GAAGC,EAAE,CAAC,EAAEA,EAAE,MAAM,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,EAAEA,EAAE,OAAO,IAAI,CAAC,IAAI,EAAEA,EAAE,GAAG,QAAQ,IAAI,CAAC,EAAE,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,EAAEA,EAAE,GAAG,UAAU,EAAE,EAAE,CAAC,EAAEA,EAAE,GAAG,UAAU,EAAE,EAAE,MAAM,EAAEA,EAAE,GAAG,EAAE,EAAE,EAAE,mBAAmB,EAAE,QAAQ,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,SAAS,EAAE,EAAE,CAAC,EAAE,IAAI,mBAAmB,EAAE,QAAQ,MAAM,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,GAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,SAAS,GAAG,EAAE,EAAE,CAAC,MAAO,GAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,EAAipC,SAAS,GAAG,EAAE,CAAC,KAAK,EAAE,GAAG,GAAG,AAAoJ,EAApJ,EAAE,4BAA8B,GAAG,EAAE,EAAE,YAAY,iBAAiB,aAAa,EAAE,SAAe,EAAE,GAAG,iBAAX,MAAkC,EAAE,GAAG,iBAAX,MAA8B,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,KAAK,KAAK,EAAE,EAAE,CAAW,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,GAAS,EAAE,GAAR,KAAU,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,GAAS,EAAE,GAAR,MAAe,EAAE,EAAE,OAAR,EAAa,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,IAAM,KAAK,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,GAAE,EAAE,EAAE,CAAC,SAAS,IAAI,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,SAAS,EAAE,EAAE,CAAC,IAAI,EAAEA,EAAE,GAAEA,EAAE,GAAG,EAAE,GAAGA,EAAE,EAAE,EAAE,KAAK,EAAEF,EAAE,IAAI,mBAAmB,EAAE,CAAC,GAAG,OAAOE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,eAAsC,CAACA,GAAG,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,EAAE,QAAQ,KAAK,EAAE,QAAQ,KAAK,EAAE,UAAU,KAAK,EAAE,EAAE,MAAS,GAAG,SAAS,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,IAAI,KAAK,KAAK,EAAE,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,EAAG,KAAK,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAK,GAAE,KAAK,WAAW,GAAG,KAAK,OAAO,EAAE,KAAK,aAAa,KAAK,aAAa,KAAK,SAAS,KAAK,WAAW,GAAG,KAAK,mBAAmB,KAAK,KAAK,EAAE,IAAI,QAAQ,KAAK,EAAE,KAAK,KAAK,EAAE,MAAM,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAyc,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,oBAAoB,EAAE,mBAAmB,KAAK,EAAE,CAAmqE,SAAS,EAAG,EAAE,CAAC,EAAG,KAAK,KAAK,CAAC,KAAK,QAAQ,IAAI,IAAI,KAAK,EAAE,GAAG,KAAK,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,EAAsD,SAAS,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAG,EAAE,WAAW,CAAC,EAAG,EAAE,QAAQ,EAAE,SAAS,GAAG,EAAE,CAAC,GAAG,EAAE,GAAY,KAAT,IAAK,KAAQ,CAAC,EAAE,EAAE,IAAO,GAAG,EAAE,EAAR,GAAa,EAAE,IAAI,EAAT,OAAc,EAAE,GAAM,GAAG,EAAE,EAAR,EAAS,GAAG,EAAE,GAAG,EAAE,EAAE,SAAS,EAAG,EAAE,mBAAmB,CAAI,GAAG,EAAE,EAAR,EAAS,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,IAAME,EAAE,EAAE,IAAI,CAAC,EAAE,OAAOA,EAAP,CAAU,IAAK,KAAI,IAAK,KAAI,IAAK,KAAI,IAAK,KAAI,IAAK,KAAI,IAAK,KAAI,IAAK,MAAK,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAMA,IAAJ,EAAM,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAS,CAAC,IAAI,EAAE,EAAE,KAAK,SAAS,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,EAAG,EAAE,WAAW,CAAC,EAAG,EAAE,UAAU,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,IAAID,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,WAAW,QAAW,CAAC,EAAE,GAAG,EAAE,EAAEA,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,IAAG,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,IAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,GAAG,EAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,mBAAmB,OAAU,IAAI,SAAS,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,UAAU,MAAM,AAA0B,EAAE,KAAtB,EAAE,aAAa,EAAE,EAAE,CAAK,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,KAAK,GAAG,aAAa,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,OAAO,EAAE,EAAT,CAAY,KAAK,GAAG,IAAI,OAAO,OAAO,EAAE,EAAE,aAAa,IAAI,cAAc,GAAG,2BAA2B,EAAE,EAAE,OAAO,EAAE,EAAE,uBAAuB,OAAO,UAAa,CAAC,OAAO,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,OAAO,GAAG,GAAG,SAAS,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,GAAGD,EAAE,GAAG;IAAS,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAW,OAAO,GAAjB,UAA0D,EAAG,EAAE,EAAE,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,uBAAuB,EAAE,sBAAsB,IAAI,EAAE,SAAS,GAAG,EAAE,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,KAAK,GAAG,KAAK,EAAE,EAAE,KAAK,GAAG,GAAG,WAAW,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,GAAG,GAAG,mBAAmB,IAAI,EAAE,CAAC,KAAK,GAAG,GAAG,mBAAmB,IAAI,EAAE,CAAC,KAAK,GAAG,GAAG,2BAA2B,EAAE,EAAE,CAAC,KAAK,GAAG,GAAG,iCAAiC,IAAI,EAAE,CAAC,KAAK,GAAG,GAAG,EAAE,gBAAgB,IAAK,GAAE,KAAK,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,IAAK,GAAE,KAAK,EAAE,GAAG,EAAE,wBAAwB,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,GAAG,EAAE,uBAAuB,CAAC,KAAK,GAAG,IAAI,GAAG,KAAK,EAAE,GAAG,EAAE,eAAe,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,0BAA0B,CAAC,EAAE,KAAK,GAAG,KAAK,IAAI,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,mBAAmB,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,GAAG,KAAK,GAAG,GAAG,EAAE,sBAAsB,CAAC,EAAE,KAAK,GAAG,IAAK,GAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,SAAS,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAI,EAAE,GAAL,EAAO,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,EAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAG,EAAE,MAAM,EAAE,CAAC,EAAG,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,IAAK,GAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,aAAa,EAAE,EAAE,UAAU,WAAW,EAAE,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,QAAQ,IAAK,OAAK,CAAE,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,AAAyB,EAAE,KAArB,GAAG,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAK,MAAM,SAAS,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,AAA0B,EAAE,KAAtB,EAAE,aAAa,EAAE,EAAE,CAAK,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,AAAgD,EAAE,KAAlC,OAAO,EAAE,GAAnB,UAAsB,EAAE,aAAa,EAAE,EAAE,CAAK,MAAM,SAAS,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,SAAS,GAAG,EAAE,EAAE,CAAC,IAAI,EAAI,EAAE,EAAE,EAAE,EAAE,IAAI,IAAM,EAAE,GAAG,EAAE,EAAE,CAAC,EAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAG,EAAE,MAAM,EAAE,CAAC,EAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAQ,EAAE,IAAT,OAAa,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC,KAAK,MAAM,GAAG,EAAE,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,SAAS,EAAE,EAAE,CAAC,EAAG,EAAE,EAAEA,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,EAAG,EAAE,EAAEA,EAAE,GAAG,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,IAAID,EAAE,GAAG,OAAO,CAAC,IAAMC,EAAE,CAAC,SAAS,EAAE,CAAKD,GAAJ,GAAM,EAAE,GAAG,EAAE,EAAE,GAAG,EAAEC,EAAE,KAAK,OAAOD,EAAE,EAAE,EAAE,EAAEC,EAAE,KAAK,OAAOD,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,IAAIE,EAAE,EAAEA,EAAE,EAAE,IAAI,CAAC,IAAIH,EAAE,EAAEG,GAAG,EAAQC,EAAE,EAAED,GAAG,EAAE,GAAG,GAAGF,EAAE,EAAED,EAAE,EAAE,KAAK,IAAI,EAAE,EAAEG,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,GAAGC,EAAEF,EAAE,MAAMF,EAAE,IAAI,MAAS,CAAC,GAAG,EAAEI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAEF,EAAE,KAAK,IAAI,CAAC,MAAM,IAAI,MAAO,GAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,SAAS,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,SAAS,GAAG,EAAE,CAAO,EAAE,GAAR,OAAY,EAAE,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAQ,EAAE,IAAT,OAAa,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAG,EAAE,MAAM,MAAM,CAAC,EAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,CAAC,EAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAG,EAAE,OAAO,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,CAAO,EAAE,GAAR,OAAY,EAAE,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,SAAS,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAM,EAAE,GAAL,MAAU,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAM,GAAH,EAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAG,EAAE,IAAI,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,UAAa,EAAE,EAAE,IAAR,GAAe,GAAH,GAAM,EAAE,EAAE,IAAI,EAAK,GAAH,GAAM,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,GAAGA,EAAE,EAAE,EAAEA,EAAE,EAAE,GAAGA,EAAE,EAAE,EAAE,KAAKA,EAAE,GAAG,EAAE,EAAED,EAAE,EAAE,OAAOC,EAAE,EAAE,CAAC,GAAMA,EAAE,GAAL,GAAWA,EAAE,GAAL,GAAQA,EAAE,IAAIA,EAAE,GAAG,EAAEA,EAAE,MAAM,EAAE,EAAE,GAAG,EAAEA,EAAE,GAAGA,EAAED,EAAE,CAAC,GAAGC,EAAEA,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,MAAM,EAAE,EAAE,EAAK,GAAH,GAAM,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAhD,CAAmD,IAAK,GAAE,GAAG,EAAE,EAAE,CAAC,MAAM,IAAK,GAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAK,GAAE,GAAG,EAAE,EAAE,CAAC,MAAM,QAAQ,GAAG,EAAE,EAAE,GAAE,SAAS,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,MAAM,KAAK,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,cAAc,EAAE,CAAI,GAAH,EAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,uCAAuC,CAAC,EAAE,UAAkB,EAAE,SAAS,UAAnB,QAA6B,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,IAAMF,EAAE,IAAI,GAAG,GAAG,EAAE,MAAM,CAAC,IAAMO,EAAE,IAAI,MAAM,EAAE,OAAO,GAAE,GAAGP,EAAEO,EAAE,wBAAwB,CAAC,EAAEN,EAAE,CAAC,EAAE,QAAQ,GAAE,GAAGD,EAAEO,EAAE,uBAAuB,CAAC,EAAEN,EAAE,CAAC,EAAE,QAAQ,GAAE,GAAGD,EAAEO,EAAE,uBAAuB,CAAC,EAAEN,EAAE,CAAC,EAAE,UAAU,GAAE,GAAGD,EAAEO,EAAE,yBAAyB,CAAC,EAAEN,EAAE,CAAC,EAAE,YAAY,UAAU,CAAC,EAAE,WAAWM,EAAE,WAAW,GAAG,IAAI,CAAC,EAAE,IAAIL,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,EAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,IAAM,EAAE,GAAG,EAAE,EAAE,CAAI,EAAE,QAAL,GAAgB,EAAE,EAAE,QAAP,IAAgB,GAAE,EAAE,GAAG,EAAE,CAAC,GAAE,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,GAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,aAAa,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,IAAK,GAAE,CAAC,GAAO,EAAE,GAAN,GAAQ,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,IAAI,GAAG,KAAK,IAAK,GAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,MAAO,GAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAG,EAAE,EAAE,EAAE,CAAC,EAAG,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,MAAM,MAAM,sDAAsD,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,EAAG,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,SAAS,IAAI,EAAE,SAAS,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,OAAO,GAAG,EAAE,MAAM,MAAM,+CAA+C,CAAC,SAAS,EAAG,EAAE,EAAE,CAAC,EAAG,KAAK,KAAK,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,kBAAkB,KAAK,EAAE,GAAG,EAAE,gBAAgB,KAAK,GAAG,EAAE,+BAA+B,EAAE,EAAE,qBAAqB,aAAa,EAAE,CAAC,oBAAoB,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,oBAAoB,KAAK,GAAG,EAAE,qBAAqB,EAAE,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,CAAC,4BAA4B,EAAE,mBAAmB,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,+BAA+B,EAAE,GAAG,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAE,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,wBAAwB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,GAAG,IAAK,EAAE,qBAAqB,CAAC,GAAE,EAAE,GAAG,KAAK,EAAE,EAAE,GAAU,EAAE,KAAK,KAAf,MAAmB,KAAK,GAAI,KAAK,EAAE,KAAK,IAAI,OAAO,EAAE,IAAK,KAAK,EAAE,IAAI,GAAG,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,GAAG,KAAK,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,IAAM,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,IAAK,IAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAS,IAAP,MAAU,KAAK,EAAE,EAAE,GAAG,IAAK,IAAG,KAAK,KAAK,OAAO,KAAK,KAAK,EAAE,SAAS,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,KAAK,OAAO,EAAE,SAAS,GAAG,EAAE,CAAC,KAAK,EAAE,EAA0pN,SAAS,IAAI,CAAC,OAAO,GAAG,SAA0C,SAAS,EAAG,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,UAAU,EAAE,MAAM,CAAC,IAAM,EAAE,EAAE,IAAI,GAAG,CAAC,GAAG,MAAM,cAAc,GAAG,KAAK,IAAI,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,UAAU,EAAE,MAAM,CAAC,IAAM,EAAE,EAAE,IAAI,GAAG,CAAC,GAAG,MAAM,cAAc,GAAG,KAAK,IAAI,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,UAAU,EAAE,KAAK,CAAC,IAAM,EAAE,EAAE,IAAI,GAAG,CAAC,GAAG,KAAK,cAAc,GAAG,KAAK,IAAI,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,CAAC,GAAa,OAAO,GAAjB,SAAmB,OAAO,EAAE,GAAG,CAAC,MAAO,GAAE,EAAE,KAAK,UAAU,EAAE,MAAS,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAG,EAAE,mBAAmB,CAAC,IAAM,EAAE,cAAc,GAAG,+BAA+B,EAAE,MAAM,GAAG,EAAE,CAAK,MAAM,EAAE,CAAC,SAAS,EAAG,EAAE,EAAE,CAAC,GAAG,GAAI,CAA0B,SAAS,EAAG,EAAE,EAAE,CAAC,OAAO,EAAy6I,SAAS,GAAG,EAAE,CAAC,IAAM,EAAe,OAAO,KAApB,MAA2B,KAAK,QAAQ,KAAK,UAAU,EAAE,IAAI,WAAW,EAAE,CAAC,GAAG,GAAe,OAAO,EAAE,iBAArB,WAAqC,EAAE,gBAAgB,EAAE,MAAM,IAAI,IAAID,EAAE,EAAEA,EAAE,EAAE,IAAI,EAAEA,GAAG,KAAK,MAAM,IAAI,KAAK,QAAQ,CAAC,CAAC,OAAO,EAAqQ,SAAS,EAAG,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAEC,EAAE,EAAE,GAAG,EAAE,CAAi1L,SAAS,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,aAAa,CAAC,QAAQ,EAAE,EAAE,aAAa,CAAC,YAAY,EAAwD,OAAO,IAAI,GAA/D,EAAG,cAAoB,IAAN,IAAQ,IAAI,EAAG,EAAE,EAAE,EAAE,CAAC,IAAI,EAAG,EAAE,EAAE,CAAC,CAAiB,EAAG,OAAO,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,OAAO,IAAI,GAAG,EAAE,SAAS,EAAE,IAAI,GAAG,CAA6L,SAAS,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,UAAU,EAAE,SAAS,CAAC,OAAW,IAAJ,GAAS,EAAE,EAAG,WAAW,EAAE,YAAY,EAAE,YAAY,CAAK,IAAJ,EAAQ,EAAG,EAAE,eAAe,EAAE,eAAe,CAAvC,GAAtD,EAAyZ,eAAe,GAAG,EAAE,CAAC,GAAG,EAAE,OAAO,EAAG,qBAAqB,EAAE,UAAU,GAAG,MAAM,EAAE,EAAG,aAAa,kCAAkC,CAA+iL,SAAS,GAAG,EAAE,CAAC,OAAoC,EAAE,OAAhC,4BAA+0J,SAAS,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,IAAM,KAAK,EAAE,OAAO,UAAU,eAAe,KAAK,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,IAAI,IAAM,KAAK,EAAE,OAAO,UAAU,eAAe,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,IAAI,IAAM,KAAK,EAAE,GAAG,OAAO,UAAU,eAAe,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC,OAAa,GAAN,KAAQ,SAAS,GAAG,EAAE,CAAC,OAAW,IAAJ,GAAO,EAAE,GAAG,KAAK,SAAS,GAAG,EAAE,CAAC,OAAgB,OAAO,GAAjB,UAAoB,OAAO,UAAU,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,YAA4B,GAAG,WAA05B,SAAS,GAAG,EAAE,CAAC,GAAG,EAAG,CAAC,CAAC,EAAE,CAAW,OAAO,GAAjB,SAAmB,CAAC,IAAI,EAAE,EAAQ,EAAE,GAAG,KAAK,EAAE,CAAC,GAAG,EAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAIA,EAAE,EAAE,GAAG,GAAGA,EAAE,aAAa,OAAO,EAAE,EAAE,CAAC,EAAE,OAAOA,EAAE,CAAC,IAAM,EAAE,IAAI,KAAK,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAG,EAAE,QAAQ,CAAC,MAAM,EAAG,EAAE,MAAM,CAAC,CAAC,SAAS,EAAG,EAAE,CAAC,OAAgB,OAAO,GAAjB,SAAmB,EAAY,OAAO,GAAjB,SAAmB,OAAO,EAAE,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC,OAAgB,OAAO,GAAjB,SAAmB,EAAG,iBAAiB,EAAE,CAAC,EAAG,eAAe,EAAE,CAAC,SAAS,GAAG,EAAE,CAAS,OAAwD,GAAW,UAA+B,QAAS,EAAE,EAAE,UAA+B,cAAxI,mBAAqJ,SAAS,GAAG,EAAE,CAAC,IAAM,EAAE,EAAE,SAAS,OAAO,mBAAmB,OAAO,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC,IAAM,EAAE,GAAG,EAAE,SAAS,OAAO,qBAAqB,eAAe,CAAC,OAAO,IAAI,EAAG,EAAE,QAAQ,EAAE,MAAM,CAA6F,SAAS,GAAG,EAAE,CAAC,MAAM,cAAc,EAAE,EAAE,iBAAiB,EAAE,EAAE,iBAAiB,GAAG,gBAAgB,EAAE,EAAE,mBAAmB,EAAE,EAAE,gBAAgB,EAAE,EAAE,eAAe,EAAE,EAAE,mBAAmB,EAAE,EAAE,kBAAkB,EAAE,EAAE,eAAe,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,iBAAiB,GAAG,GAAI,CAAC,SAAS,EAAG,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,IAAM,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAP,CAAU,IAAK,GAAE,IAAK,kBAAiB,MAAM,CAAC,EAAE,IAAK,GAAE,OAAO,EAAE,eAAe,EAAE,aAAa,IAAK,GAAE,OAAO,GAAG,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,IAAK,GAAE,OAAO,SAAS,EAAE,EAAE,CAAC,GAAa,OAAOA,EAAE,gBAAnB,UAA6C,OAAOD,EAAE,gBAAnB,UAAmCC,EAAE,eAAe,SAASD,EAAE,eAAe,OAAO,OAAOC,EAAE,iBAAiBD,EAAE,eAAe,IAAMD,EAAE,GAAGE,EAAE,eAAe,CAAC,EAAE,GAAGD,EAAE,eAAe,CAAC,OAAOD,EAAE,UAAU,EAAE,SAASA,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,IAAK,GAAE,OAAO,EAAE,cAAc,EAAE,YAAY,IAAK,GAAE,OAAO,SAAS,EAAE,EAAE,CAAC,OAAO,GAAGE,EAAE,WAAW,CAAC,QAAQ,GAAGD,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,IAAK,GAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,IAAK,GAAE,OAAO,SAAS,EAAE,EAAE,CAAC,OAAO,EAAGC,EAAE,cAAc,SAAS,GAAG,EAAGD,EAAE,cAAc,SAAS,EAAE,EAAGC,EAAE,cAAc,UAAU,GAAG,EAAGD,EAAE,cAAc,UAAU,EAAE,EAAE,EAAE,CAAC,IAAK,GAAE,OAAO,SAAS,EAAE,EAAE,CAAC,GAAG,iBAAiBC,GAAG,iBAAiBD,EAAE,OAAO,EAAGC,EAAE,aAAa,GAAG,EAAGD,EAAE,aAAa,CAAC,GAAG,gBAAgBC,GAAG,gBAAgBD,EAAE,CAAC,IAAMD,EAAE,EAAGE,EAAE,YAAY,CAAC,EAAE,EAAGD,EAAE,YAAY,CAAC,OAAOD,IAAI,EAAE,GAAGA,EAAE,GAAG,GAAG,EAAE,CAAC,MAAMA,EAAE,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,IAAK,GAAE,OAAO,GAAG,EAAE,WAAW,QAAQ,EAAE,CAAC,EAAE,WAAW,QAAQ,EAAE,CAAC,EAAG,CAAC,IAAK,IAAG,OAAO,SAAS,EAAE,EAAE,CAAC,IAAMA,EAAEE,EAAE,SAAS,QAAQ,EAAE,CAAC,EAAED,EAAE,SAAS,QAAQ,EAAE,CAAC,GAAG,GAAGD,EAAE,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,IAAME,KAAKF,EAAE,GAAGA,EAAE,eAAeE,EAAE,GAAY,EAAEA,KAAX,IAAK,IAAU,CAAC,EAAGF,EAAEE,GAAG,EAAEA,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,OAAO,GAAI,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,OAAiB,EAAE,QAAQ,EAAE,EAAE,MAAM,GAAG,EAAGA,EAAE,EAAE,EAAE,GAA1C,IAAK,GAAsC,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,MAAO,GAAE,IAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAG,EAAE,EAAE,CAAC,OAAO,EAAP,CAAU,IAAK,GAAE,IAAK,kBAAiB,MAAO,GAAE,IAAK,GAAE,OAAO,EAAG,EAAE,aAAa,EAAE,aAAa,CAAC,IAAK,GAAE,OAAO,SAAS,EAAE,EAAE,CAAC,IAAMF,EAAE,EAAGE,EAAE,cAAcA,EAAE,YAAY,CAACK,EAAE,EAAGN,EAAE,cAAcA,EAAE,YAAY,CAAC,OAAOD,EAAEO,EAAE,GAAGP,EAAEO,EAAE,EAAEP,IAAIO,EAAE,EAAE,MAAMP,EAAE,CAAC,MAAMO,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,IAAK,GAAE,OAAO,GAAG,EAAE,eAAe,EAAE,eAAe,CAAC,IAAK,GAAE,OAAO,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,IAAK,GAAE,OAAO,EAAG,EAAE,YAAY,EAAE,YAAY,CAAC,IAAK,GAAE,OAAO,SAAS,EAAE,EAAE,CAAC,IAAMP,EAAE,GAAGE,EAAE,CAACK,EAAE,GAAGN,EAAE,CAAC,OAAOD,EAAE,UAAUO,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,IAAK,GAAE,OAAO,SAAS,EAAE,EAAE,CAAC,IAAMP,EAAEE,EAAE,MAAM,IAAI,CAACK,EAAEN,EAAE,MAAM,IAAI,CAAC,IAAI,IAAIC,EAAE,EAAEA,EAAEF,EAAE,QAAQE,EAAEK,EAAE,OAAO,IAAI,CAAC,IAAMN,EAAE,EAAGD,EAAEE,GAAGK,EAAEL,GAAG,CAAC,GAAOD,IAAJ,EAAM,OAAOA,EAAE,OAAO,EAAGD,EAAE,OAAOO,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,eAAe,CAAC,IAAK,GAAE,OAAO,SAAS,EAAE,EAAE,CAAC,IAAMP,EAAE,EAAG,EAAGE,EAAE,SAAS,CAAC,EAAGD,EAAE,SAAS,CAAC,CAAC,OAAWD,IAAJ,EAAQ,EAAG,EAAGE,EAAE,UAAU,CAAC,EAAGD,EAAE,UAAU,CAAC,CAArCD,GAAuC,EAAE,cAAc,EAAE,cAAc,CAAC,IAAK,GAAE,OAAO,SAAS,EAAE,EAAE,CAAC,IAAMA,EAAEE,EAAE,QAAQ,EAAE,CAACK,EAAEN,EAAE,QAAQ,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAEA,EAAEF,EAAE,QAAQE,EAAEK,EAAE,OAAO,EAAEL,EAAE,CAAC,IAAMD,EAAE,GAAGD,EAAEE,GAAGK,EAAEL,GAAG,CAAC,GAAGD,EAAE,OAAOA,EAAE,OAAO,EAAGD,EAAE,OAAOO,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,IAAK,IAAG,OAAO,SAAS,EAAE,EAAE,CAAC,GAAGL,IAAI,GAAG,UAAUD,IAAI,GAAG,SAAS,MAAO,GAAE,GAAGC,IAAI,GAAG,SAAS,MAAO,GAAE,GAAGD,IAAI,GAAG,SAAS,MAAM,GAAG,IAAMD,EAAEE,EAAE,QAAQ,EAAE,CAACK,EAAE,OAAO,KAAKP,EAAE,CAAC,EAAEC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,IAAIC,EAAE,EAAEA,EAAEK,EAAE,QAAQL,EAAE,EAAE,OAAO,EAAEA,EAAE,CAAC,IAAMD,EAAE,EAAGM,EAAEL,GAAG,EAAEA,GAAG,CAAC,GAAOD,IAAJ,EAAM,OAAOA,EAAE,IAAME,EAAE,GAAGH,EAAEO,EAAEL,IAAI,EAAE,EAAEA,IAAI,CAAC,GAAOC,IAAJ,EAAM,OAAOA,EAAE,OAAO,EAAGI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,QAAQ,MAAM,GAAI,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,GAAa,OAAO,GAAjB,UAA8B,OAAO,GAAjB,UAAoB,EAAE,SAAS,EAAE,OAAO,OAAO,EAAG,EAAE,EAAE,CAAC,IAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAW,IAAJ,EAAQ,EAAG,EAAE,MAAM,EAAE,MAAM,CAArB,EAAsB,SAAS,GAAG,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,MAAM,cAAc,EAAE,OAAO,iBAAiB,EAAE,GAAG,EAAE,aAAa,iBAAiB,EAAE,GAAG,EAAE,aAAa,gBAAgB,EAAE,GAAG,EAAE,YAAY,mBAAmB,EAAE,SAAS,EAAE,CAAC,IAAMN,EAAE,GAAGC,EAAE,CAAC,MAAM,QAAQD,EAAE,QAAQ,GAAGA,EAAE,MAAM,IAAI,EAAE,eAAe,CAAC,gBAAgB,EAAE,EAAE,YAAY,eAAe,EAAE,GAAG,EAAE,WAAW,CAAC,UAAU,CAAC,mBAAmB,GAAG,EAAE,EAAE,eAAe,EAAG,SAAS,EAAE,CAAC,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAAE,EAAE,eAAe,SAAS,GAAG,EAAE,UAAU,GAAG,eAAe,EAAE,SAAS,EAAE,CAAC,IAAIA,EAAE,IAAID,EAAE,CAAC,EAAE,IAAI,IAAM,KAAKE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC,OAAOD,EAAE,KAAK,EAAE,WAAW,CAAC,aAAa,EAAE,SAAS,EAAE,CAAC,IAAMA,EAAE,OAAO,KAAKC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAKF,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,IAAM,KAAKC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,IAAI,GAAG,GAAG,EAAE,GAAG,GAAGC,EAAE,OAAO,GAAG,GAAG,OAAOF,EAAE,KAAK,EAAE,SAAS,CAAC,GAAI,KAAK,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,YAAY,EAAE,UAAU,aAAa,EAAE,SAAS,aAAa,EAAE,KAAK,iBAAiB,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,iBAAiB,EAAE,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,eAAe,EAAE,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,cAAc,EAAE,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,gBAAgB,GAAG,MAAM,OAAO,EAAE,YAAY,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,aAAa,EAAE,SAAS,GAAG,EAAE,CAAC,GAAG,EAAE,cAAc,MAAM,CAAC,cAAc,OAAO,OAAO,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,EAAE,gBAA0B,OAAO,EAAE,gBAAnB,SAAkC,MAAM,CAAC,eAAe,OAAO,OAAO,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,IAAM,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,SAAS,SAAS,EAAE,IAAI,EAAE,SAAS,OAAOE,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,IAAM,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE,WAAW,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,OAAO,GAAG,GAAG,EAAE,WAAW,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,OAAO,OAAO,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,SAAqB,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,EAAE,cAAzD,UAAyvC,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,OAAO,IAAI,CAAC,IAAM,EAAE,EAAE,GAAGC,EAAE,EAAE,SAAS,GAAG,GAAG,EAAE,EAAE,MAAM,YAAY,CAAC,EAAG,WAAW,EAAG,SAASA,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,GAAGA,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,CAAC,CAAU,EAAE,MAAX,SAAiB,GAAG,IAAQ,IAAJ,EAAM,MAAM,OAAO,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,GAAU,IAAP,KAAS,OAAc,IAAP,KAA8B,GAAX,IAAP,MAAqB,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,SAAS,EAAE,SAAS,OAAO,MAAM,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,OAAO,IAAI,GAAG,CAAC,EAAG,EAAE,SAAS,GAAG,EAAE,SAAS,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAqjD,SAAS,GAAG,EAAE,CAAC,OAAc,EAAE,KAAV,MAA8C,SAAS,GAAG,EAAE,CAAC,OAAO,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,IAAI,IAAM,KAAK,EAAE,QAAQ,GAAG,aAAa,EAAG,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC,GAAG,aAAa,EAAG,OAAO,EAAE,MAAM,iBAAiB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,GAAG,GAAGD,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,IAAM,EAAE,EAAE,QAAQ,KAAK,GAAG,GAAGA,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC,OAAO,aAAa,EAAG,SAAS,EAAE,EAAE,CAAC,OAAOD,aAAa,GAAIC,EAAE,KAAKD,EAAE,IAAIC,EAAE,MAAM,QAAQD,EAAE,MAAM,EAAE,EAAGC,EAAE,MAAMD,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,aAAa,EAAG,SAAS,EAAE,EAAE,CAAC,OAAOA,aAAa,GAAIC,EAAE,KAAKD,EAAE,IAAIC,EAAE,QAAQ,SAASD,EAAE,QAAQ,QAAQC,EAAE,QAAQ,SAAS,EAAE,EAAE,IAAIA,GAAG,GAAG,EAAED,EAAE,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,GAAI,CAAuE,SAAS,GAAG,EAAE,CAAC,OAAO,aAAa,EAAG,SAAS,EAAE,CAAC,MAAM,GAAGC,EAAE,MAAM,iBAAiB,CAAC,GAAGA,EAAE,GAAG,GAAG,GAAGA,EAAE,MAAM,IAAI,EAAE,CAAC,aAAa,EAAG,SAAS,EAAE,CAAC,OAAOA,EAAE,GAAG,UAAU,CAAC,KAAKA,EAAE,YAAY,CAAC,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,SAAqc,SAAS,GAAG,EAAE,EAAE,CAAO,OAAkB,EAAE,YAAiC,QAAS,EAAE,EAAE,KAAK,GAAG,EAAG,SAASA,EAAE,eAAe,EAAE,CAAwwB,SAAS,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,EAAE,MAAM,CAA6mQ,SAAS,GAAG,EAAE,CAAC,IAAM,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,IAAM,EAAE,IAAI,EAAG,CAACA,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,IAAMA,EAAE,GAAG,EAAE,SAAS,CAAC,OAAO,GAAOA,EAAE,SAAN,EAAa,EAAE,KAAK,EAAE,MAAM,IAAI,IAAMF,KAAKE,EAAE,EAAE,KAAK,EAAE,MAAMF,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,CAA2oE,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAEG,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,GAAU,EAAE,KAAT,KAAY,CAAC,IAAID,EAAE,EAAE,KAAK,iBAAiB,CAAQ,EAAE,kBAAT,OAA2B,GAAG,OAAO,EAAE,iBAAiB,GAAG,MAAM,GAAG,EAAE,QAAQ,KAAK,GAAG,GAAGA,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,OAAO,GAAG,EAAE,QAAQ,KAAK,GAAG,SAAS,EAAE,CAAC,OAAOA,EAAE,MAAM,iBAAiB,CAACA,EAAE,KAAKA,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,GAAG,EAAE,QAAQ,UAAU,KAAK,KAAK,GAAG,EAAE,QAAQ,SAAS,KAAK,GAAG,GAAGA,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE,QAAQ,GAAG,OAAO,GAAG,EAAE,MAAM,UAAU,KAAK,KAAK,GAAG,EAAE,MAAM,SAAS,KAAK,GAAG,GAAGA,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE,GAAGA,EAAE,OAAO,EAAE,GAAG,SAAS,GAAG,EAAE,EAAE,CAA+B,GAA3B,EAAE,QAAQ,EAAE,OAAkB,EAAE,QAAQ,SAAS,EAAE,QAAQ,OAAO,MAAM,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,QAAQ,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,QAAQ,GAAG,EAAE,QAAQ,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,QAAQ,SAAS,EAAE,QAAQ,OAAO,MAAM,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,QAAQ,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,QAAQ,GAAG,EAAE,QAAQ,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,CAAC,CAAC,EAAE,KAAK,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC,OAAO,EAAG,cAAc,EAAE,KAAK,EAAS,EAAE,kBAAT,MAA8B,EAAE,QAAQ,SAAd,EAA60C,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAEC,EAAEC,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,OAAW,EAAE,QAAQ,SAAd,GAA6B,EAAE,QAAT,MAAsB,EAAE,SAAR,MAAuB,EAAE,OAAR,OAAoB,EAAE,gBAAgB,SAAtB,GAAkC,EAAE,gBAAgB,SAAtB,GAA8B,EAAE,gBAAgB,GAAG,MAAM,YAAY,EAAE,SAAS,GAAG,EAAE,CAAC,OAAO,EAAE,gBAAgB,OAAO,EAAE,EAAE,gBAAgB,GAAG,MAAM,KAAK,SAAS,GAAG,EAAE,CAAC,IAAI,IAAM,KAAK,EAAE,QAAQ,CAAC,IAAMF,EAAE,EAAE,yBAAyB,CAAC,GAAUA,IAAP,KAAS,OAAOA,EAAE,OAAO,KAAK,SAAS,GAAG,EAAE,CAAC,OAAc,EAAE,kBAAT,KAAyB,SAAS,GAAG,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,GAAU,EAAE,KAAT,KAAY,CAAC,EAAE,GAAG,EAAE,CAAC,IAAMA,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAUA,IAAP,MAAiB,IAAP,KAAS,EAAE,YAAY,EAAE,EAAE,GAAG,KAAK,IAAI,GAAGA,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,EAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAIA,EAAE,CAAC,EAAE,IAAI,IAAMF,KAAK,EAAE,gBAAgB,EAAE,GAAG,KAAKA,EAAE,CAACA,EAAE,MAAM,YAAY,GAAG,EAAE,CAAC,GAAG,GAAG,CAACE,EAAE,CAAC,IAAMA,EAAE,EAAE,gBAAgB,OAAO,EAAE,EAAE,gBAAgB,EAAE,gBAAgB,OAAO,GAAG,IAAI,MAAM,EAAE,GAAG,KAAK,IAAI,GAAG,EAAG,UAAU,CAACA,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,SAAS,GAAG,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,GAAS,EAAE,YAAR,IAAkB,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,gBAAgB,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC,IAAMA,EAAE,EAAE,CAAC,IAAI,IAAMF,KAAK,GAAG,EAAE,CAAC,CAAC,IAAMC,EAAWD,EAAE,MAAX,OAAe,MAAM,OAAO,EAAE,KAAK,IAAI,GAAGA,EAAE,MAAMC,EAAE,CAAC,CAAC,IAAM,EAAE,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,SAAS,EAAE,MAAM,UAAU,CAAC,KAAK,EAAE,EAAE,QAAQ,IAAI,GAAG,EAAE,QAAQ,SAAS,EAAE,QAAQ,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,gBAAgBC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,SAAS,GAAG,EAAE,EAAE,CAAC,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,IAAM,EAAE,EAAE,QAAQ,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,IAAI,GAAG,EAAE,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,OAAO,IAAI,GAAG,EAAE,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,OAAO,CAAC,EAAE,QAAQ,OAAO,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,UAAU,SAAS,GAAG,EAAE,CAAC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,YAAY,SAAS,GAAG,EAAE,CAAC,MAAM,gBAAgB,SAAS,EAAE,CAAC,IAAI,EAAEA,EAAE,KAAK,iBAAiB,CAAC,OAAcA,EAAE,kBAAT,OAA2B,GAAG,oBAAoBA,EAAE,iBAAiBA,EAAE,QAAQ,OAAO,IAAI,GAAG,eAAeA,EAAE,QAAQ,KAAK,GAAG,GAAGA,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,GAAGA,EAAE,MAAM,GAAG,GAAG,YAAYA,EAAE,OAAOA,EAAE,QAAQ,OAAO,IAAI,GAAG,eAAeA,EAAE,QAAQ,KAAK,GAAG,SAAS,EAAE,CAAC,MAAM,GAAGA,EAAE,MAAM,iBAAiB,CAAC,IAAIA,EAAE,IAAI,IAAIA,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAIA,EAAE,UAAU,GAAG,cAAc,GAAGA,EAAE,QAAQ,UAAU,KAAK,KAAK,GAAGA,EAAE,QAAQ,SAAS,KAAK,GAAG,GAAGA,EAAE,EAAE,CAAC,KAAK,IAAI,EAAEA,EAAE,QAAQ,GAAG,YAAY,GAAGA,EAAE,MAAM,UAAU,KAAK,KAAK,GAAGA,EAAE,MAAM,SAAS,KAAK,GAAG,GAAGA,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,cAAc,EAAE,UAAU,GAAG,SAAS,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,CAAC,IAAM,EAAED,EAAE,IAAI,KAAK,OAAcC,EAAE,kBAAT,KAAwF,EAAG,cAAcA,EAAE,KAAK,CAACA,EAAE,KAAK,QAAQ,EAAE,CAACA,EAAE,KAAK,oBAAoB,EAAE,CAAvID,EAAE,IAAI,gBAAgBC,EAAE,gBAAgB,EAAEA,EAAE,KAAK,WAAW,EAAE,EAA2E,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,IAAI,IAAM,KAAK,GAAGA,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,YAAY,EAASD,EAAE,KAAK,MAAM,EAAE,MAAM,GAA5B,KAA6B,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,IAAI,IAAM,KAAKC,EAAE,QAAQ,GAAG,CAAC,EAAE,QAAQD,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,EAAEC,EAAE,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,GAAGA,EAAED,EAAE,EAAE,CAAC,OAAOC,EAAE,UAAU,GAAG,EAAE,EAAE,GAAGA,EAAE,QAAQ,GAAGA,EAAE,CAACD,EAAE,GAAG,EAAEC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,GAAGA,EAAED,EAAE,EAAE,CAAC,OAAOC,EAAE,UAAU,GAAG,EAAE,EAAE,GAAGA,EAAE,MAAM,GAAGA,EAAE,CAACD,EAAE,GAAG,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,OAAO,GAAG,EAAE,EAAE,KAAK,aAAa,CAAC,EAAE,KAAK,IAAI,EAAE,KAAK,OAAO,EAAE,EAAE,SAAS,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,IAAM,KAAK,GAAG,EAAE,CAAC,CAAC,IAAMC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAOA,IAAJ,EAAM,OAAOA,EAAE,IAAK,EAAE,MAAM,YAAY,CAAC,MAAO,IAAG,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,MAAM,YAAY,CAAC,EAAG,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,IAAMK,EAAEN,EAAE,KAAK,MAAMC,EAAE,CAAC,EAAEF,EAAE,KAAK,MAAME,EAAE,CAAC,OAAcK,IAAP,MAAiB,IAAP,KAAS,GAAGA,EAAE,EAAE,CAAC,GAAI,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,EAAE,IAAT,CAAc,IAAI,MAAM,OAAO,EAAE,IAAI,OAAO,MAAM,GAAG,EAAE,QAAQ,OAAO,GAAI,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,MAAM,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,YAAY,WAAW,CAAC,GAAG,IAAI,KAAK,MAAM,CAAC,YAAY,YAAY,CAAC,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAuC,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,OAAO,aAAa,GAAG,SAAS,EAAE,EAAE,CAAC,IAAMP,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,mBAAmB,CAAC,qBAAqB,CAAC,eAAe,CAAC,QAAQE,EAAE,QAAQ,MAAMA,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAOD,IAAI,EAAE,OAAO,mBAAmBA,GAAG,CAAC,SAASD,EAAE,EAAE,EAAE,EAAE,CAAC,aAAa,GAAG,GAAG,EAAE,EAAE,CAAC,aAAa,GAAG,GAAG,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAMA,EAAE,GAAGE,EAAED,EAAE,CAAC,EAAE,GAAGD,EAAE,CAAC,GAAGE,EAAE,GAAG,CAAC,OAAO,GAAGF,EAAE,EAAE,GAAGE,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,GAAGA,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,OAAO,aAAa,GAAG,GAAG,EAAE,EAAE,CAAC,aAAa,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,OAAO,aAAa,GAAG,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,CAACA,GAAG,gBAAgBA,GAAG,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,SAAS,EAAmF,SAAS,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,GAAG,EAAE,CAAC,IAAI,IAAMD,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,EAAGC,EAAED,EAAE,EAAE,EAAE,EAAE,KAAKA,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAA6D,SAAS,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,IAAMA,KAAK,EAAE,SAAS,EAAE,EAAE,QAAQ,GAAG,CAAC,EAAGC,EAAED,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAmE,SAAS,GAAG,EAAE,CAAC,OAAO,EAAG,EAAE,cAAc,EAAE,YAAY,CAAC,SAAS,GAAG,EAAE,CAAC,OAAO,GAAG,EAAE,EAAE,EAAE,WAAW,OAAO,EAAE,WAAW,OAAO,OAAO,CAAC,EAAE,CAAqe,SAAS,GAAG,EAAE,EAAE,CAAC,OAAgB,EAAE,aAAX,IAAK,GAA+E,EAAE,SAAX,IAAK,IAAc,EAAE,SAAS,EAAE,iBAAiB,CAAtG,EAAE,iBAAiB,EAAE,EAAE,QAAQ,QAAQ,EAAE,WAAW,CAA6D,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,mBAAmB,GAAO,EAAE,OAAO,SAAb,EAAoB,OAAO,KAAK,GAAU,IAAP,KAAS,OAAO,EAAE,cAAc,CAAC,IAAI,GAAG,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,IAAM,EAAE,EAAE,KAAK,EAAE,EAAG,OAAO,CAAK,EAAE,IAAI,EAAG,EAAG,WAAW,CAAC,IAAI,IAAIC,KAAK,EAAE,OAAO,GAAG,CAAC,EAAE,IAAIA,EAAE,CAAC,CAAC,IAAID,EAAE,EAAE,MAAMC,EAAE,CAAQD,IAAP,MAAUC,EAAE,OAAO,IAAI,EAAEA,EAAE,SAAS,CAAC,EAAE,EAAE,MAAMA,EAAE,EAASD,IAAP,KAAS,EAAE,OAAOC,EAAE,CAAC,EAAE,IAAIA,EAAED,EAAE,CAAC,EAAE,EAAE,IAAIC,EAAE,CAAC,OAAO,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,aAAa,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC,IAAM,EAAEA,EAAE,MAAM,OAAO,CAAC,EAAE,GAAGA,EAAE,gBAAgBD,EAAED,EAAE,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAACC,EAAE,uBAAuBD,EAAE,QAAQ,EAAE,CAAC,0BAA0B,EAAE,EAAE,EAAE,EAAE,CAAC,aAAa,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAGE,EAAE,aAAaD,EAAE,CAAC,OAAO,KAAKA,EAAE,yBAAyBD,EAAE,QAAQ,CAAC,IAAM,EAAE,GAAGE,EAAE,gBAAgBD,EAAED,EAAE,iBAAiB,CAAC,EAAEC,EAAE,KAAK,EAAE,OAAO,GAAGC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAACD,EAAE,uBAAuBD,EAAE,QAAQ,EAAE,CAAC,0BAA0B,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,EAAE,oBAAoBA,EAAE,QAAQ,CAAC,0BAA0B,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,aAAa,GAAG,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAGE,EAAE,aAAaD,EAAE,CAAC,OAAOD,EAAE,IAAM,EAAEE,EAAE,MAAM,OAAO,CAAC,EAAE,GAAGA,EAAE,gBAAgBK,EAAEN,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,CAACA,EAAE,uBAAuBA,EAAE,QAAQ,EAAE,CAAC,sBAAsB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,aAAa,GAAG,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAGC,EAAE,aAAaD,EAAE,CAAC,OAAOD,EAAE,IAAM,EAAE,GAAGE,EAAE,gBAAgBK,EAAEN,EAAE,CAAC,EAAEA,EAAE,KAAK,OAAO,EAAE,OAAO,GAAGC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAACD,EAAE,uBAAuBA,EAAE,QAAQ,EAAE,CAAC,sBAAsB,CAAQD,IAAP,KAAS,KAAKA,EAAE,UAAUE,EAAE,UAAU,OAAO,CAAC,UAAUA,EAAE,gBAAgB,KAAK,GAAGA,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,OAAO,GAAGA,EAAE,aAAaD,EAAE,EAAEA,EAAE,oBAAoBA,EAAE,QAAQ,CAAC,sBAAsB,CAAC,MAAMD,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,IAAM,KAAK,EAAE,gBAAgB,CAAC,IAAME,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,UAAUA,GAAG,KAAK,CAAO,GAAN,OAAiB,IAAP,OAAW,EAAE,EAAG,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAG,KAAK,SAAS,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,IAAI,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,aAAa,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,OAAgBA,IAAT,IAAK,IAAgBD,IAAT,IAAK,IAAO,EAAE,CAACC,GAAG,CAACD,IAAI,GAAGC,EAAED,IAAI,EAAE,IAAI,SAAS,EAAE,EAAE,CAAC,OAAOC,EAAE,MAAM,QAAQD,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,OAAOC,aAAa,IAAID,aAAa,IAAIC,aAAa,IAAID,aAAa,GAAG,GAAGC,EAAE,SAASD,EAAE,SAAS,EAAG,CAACC,aAAa,IAAID,aAAa,GAAG,EAAGC,EAAE,GAAGD,EAAE,GAAG,CAACC,aAAa,IAAID,aAAa,IAAIC,EAAE,UAAUD,EAAE,UAAU,EAAEC,EAAED,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,gBAAgB,GAAO,EAAE,OAAN,EAAW,EAAE,MAAM,QAAQ,EAAE,MAAM,CAAK,EAAE,OAAN,GAAY,EAAE,KAAK,QAAQ,EAAE,KAAK,EAAE,EAAE,UAAU,QAAQ,EAAE,UAAU,EAA4V,SAAS,GAAG,EAAE,CAAC,IAAM,EAAE,IAAI,IAAI,OAAO,EAAE,UAAU,OAAO,SAAS,GAAG,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC,IAAM,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,IAAI,IAAI,EAAG,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC,IAAM,EAAE,EAAE,GAAGE,EAAE,EAAE,UAAUC,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,GAAGD,EAAEC,EAAE,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,IAAI,IAAI,IAAI,IAAM,KAAK,EAAE,CAAC,IAAMF,EAAE,EAAE,UAAU,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,GAAGA,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAA0U,SAAS,GAAG,EAAE,CAAC,OAAO,EAAP,CAAU,QAAQ,OAAO,GAAI,CAAC,KAAK,EAAG,UAAU,KAAK,EAAG,QAAQ,KAAK,EAAG,kBAAkB,KAAK,EAAG,mBAAmB,KAAK,EAAG,SAAS,KAAK,EAAG,YAAY,KAAK,EAAG,gBAAgB,MAAM,CAAC,EAAE,KAAK,EAAG,iBAAiB,KAAK,EAAG,UAAU,KAAK,EAAG,eAAe,KAAK,EAAG,kBAAkB,KAAK,EAAG,oBAAoB,KAAK,EAAG,QAAQ,KAAK,EAAG,aAAa,KAAK,EAAG,cAAc,KAAK,EAAG,UAAU,MAAM,CAAC,GAAG,SAAS,GAAG,EAAE,CAAC,GAAY,IAAT,IAAK,GAAM,OAAO,GAAG,0BAA0B,CAAC,EAAG,QAAQ,OAAO,EAAP,CAAU,KAAK,EAAG,GAAG,OAAO,EAAG,GAAG,KAAK,EAAG,UAAU,OAAO,EAAG,UAAU,KAAK,EAAG,QAAQ,OAAO,EAAG,QAAQ,KAAK,EAAG,kBAAkB,OAAO,EAAG,kBAAkB,KAAK,EAAG,mBAAmB,OAAO,EAAG,mBAAmB,KAAK,EAAG,SAAS,OAAO,EAAG,SAAS,KAAK,EAAG,YAAY,OAAO,EAAG,YAAY,KAAK,EAAG,gBAAgB,OAAO,EAAG,gBAAgB,KAAK,EAAG,iBAAiB,OAAO,EAAG,iBAAiB,KAAK,EAAG,UAAU,OAAO,EAAG,UAAU,KAAK,EAAG,eAAe,OAAO,EAAG,eAAe,KAAK,EAAG,kBAAkB,OAAO,EAAG,kBAAkB,KAAK,EAAG,oBAAoB,OAAO,EAAG,oBAAoB,KAAK,EAAG,QAAQ,OAAO,EAAG,QAAQ,KAAK,EAAG,aAAa,OAAO,EAAG,aAAa,KAAK,EAAG,cAAc,OAAO,EAAG,cAAc,KAAK,EAAG,UAAU,OAAO,EAAG,UAAU,QAAQ,OAAO,GAAI,EAAw8C,SAAS,IAAI,CAAC,OAAO,GAAkC,SAAS,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,IAAM,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,OAAOA,EAAE,EAAE,kBAAkB,EAAE,CAAC,EAAE,SAAS,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,IAAI,IAAI,GAAG,EAAE,UAAU,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAyD,SAAS,EAAG,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,IAAM,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,EAAsB,SAAS,IAAI,CAAC,OAAO,GAAkyH,SAAS,IAAI,CAAC,OAAO,IAAI,EAAG,EAAG,WAAW,CAAC,SAAS,IAAI,CAAC,OAAO,IAAI,EAAG,EAAG,WAAW,CAA+V,SAAS,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,KAAK,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,QAAQ,QAAQ,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,YAAY,EAAE,aAAa,MAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,GAAG,EAAE,QAAQ,MAAM,EAAE,YAAY,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,cAAc,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,EAAE,aAAa,CAAC,CAAC,SAAS,EAAG,EAAE,CAAC,OAAO,EAAG,CAAC,CAAC,EAAE,CAAC,EAAG,cAAc,SAAS,EAAE,CAAC,IAAM,EAAE,GAAGA,EAAE,CAAC,OAAO,IAAI,EAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,OAAO,SAAS,EAAE,CAAC,OAAO,IAAI,EAAG,CAAC,WAAWA,EAAE,UAAU,YAAYA,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,MAAM,YAAY,CAAC,MAAM,EAAE,CAAC,iBAAiB,CAAC,SAAS,GAAG,EAAE,CAAC,IAAM,EAAE,EAAG,WAAW,EAAE,CAAC,OAAO,EAAG,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,UAAU,MAAM,IAAI,EAAG,EAAG,iBAAiB,oDAAoD,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,SAAS,MAAM,IAAI,EAAG,EAAG,iBAAiB,qDAAqD,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,SAAS,CAAC,OAAO,IAAI,EAAG,GAAG,EAAE,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,WAAW,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,IAAM,EAAE,GAAG,EAAE,CAAC,OAAW,EAAE,SAAN,EAAa,EAAG,WAAW,CAAC,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,OAAO,IAAI,EAAG,CAAC,WAAW,EAAE,WAAW,UAAU,YAAY,EAAE,WAAW,SAAS,CAAC,CAAC,iBAAiB,CAAC,SAAS,GAAG,EAAE,CAAC,OAAO,EAAG,EAAE,OAAO,GAAiB,EAAE,IAAI,EAAE,GAAtB,YAAuB,CAAC,EAAE,SAAS,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,SAAS,OAAO,CAAmP,SAAS,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,aAAa,GAAG,EAAE,CAAC,OAAO,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,aAAa,GAAG,EAAE,CAAC,OAAO,GAAG,EAAE,EAAE,IAAI,CAAC,SAAS,aAAa,GAAG,EAAE,CAAC,OAAO,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,IAAI,OAAO,GAAI,CAAC,EAAE,CAAC,OAAO,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,gBAAgB,OAAO,IAAI,EAAE,iBAAiB,EAAE,gBAAgB,KAAK,GAAG,SAAS,EAAE,EAAE,CAAC,IAAMF,EAAEC,EAAE,UAAU,GAAGD,aAAa,GAAG,MAAM,CAAC,UAAUC,EAAE,MAAM,iBAAiB,CAAC,iBAAiB,eAAe,CAAC,GAAGD,aAAa,GAAG,MAAM,CAAC,UAAUC,EAAE,MAAM,iBAAiB,CAAC,sBAAsB,CAAC,OAAOD,EAAE,SAAS,CAAC,CAAC,GAAGA,aAAa,GAAG,MAAM,CAAC,UAAUC,EAAE,MAAM,iBAAiB,CAAC,mBAAmB,CAAC,OAAOD,EAAE,SAAS,CAAC,CAAC,GAAGA,aAAa,GAAG,MAAM,CAAC,UAAUC,EAAE,MAAM,iBAAiB,CAAC,UAAUD,EAAE,GAAG,CAAC,MAAM,GAAI,EAAE,EAAEE,EAAE,EAAE,EAAE,EAAE,aAAa,SAAS,EAAE,gBAAgB,SAAS,EAAE,EAAE,CAAC,OAAgBD,EAAE,aAAX,IAAK,GAA0DA,EAAE,SAAX,IAAK,GAA+B,GAAI,CAAtB,CAAC,OAAOA,EAAE,OAAO,CAAnE,CAAC,WAAW,GAAGC,EAAED,EAAE,WAAW,CAAC,EAA2C,EAAE,EAAE,aAAa,EAAE,EAAghC,SAAS,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,KAAY,EAAE,kBAAT,MAAyH,EAAE,OAAO,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC,EAAE,gBAAgB,KAAK,CAAC,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,GAAjL,EAAE,OAAO,GAAG,EAAE,EAAE,CAAC,EAAE,gBAAgB,KAAK,CAAC,CAAC,aAAa,EAAE,gBAAgB,eAAe,CAAC,EAAE,CAAC,EAAuF,IAAM,EAAE,SAAS,EAAE,CAAC,GAAOC,EAAE,SAAN,EAAa,OAAO,GAAG,EAAG,OAAOA,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,MAAM,GAAG,IAAM,EAAE,SAAS,EAAE,CAAC,GAAOA,EAAE,SAAN,EAAa,OAAOA,EAAE,KAAK,GAAG,SAAS,EAAE,CAAC,MAAM,CAAC,MAAM,GAAGA,EAAE,MAAM,CAAC,UAAU,GAAGA,EAAE,IAAI,CAAC,EAAEA,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,QAAQ,GAAG,IAAMC,EAAE,SAAS,EAAE,EAAE,CAAC,OAAOD,EAAE,IAAI,GAAGD,EAAE,CAACA,EAAE,CAAC,MAAMA,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,IAAIG,EAAE,OAAcD,IAAP,OAAW,EAAE,gBAAgB,MAAMA,GAAG,EAAE,UAAU,EAAE,gBAAgB,QAAQ,CAAC,QAAQ,EAAE,EAAE,SAAS,UAAU,OAAOC,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,gBAAgB,MAAM,SAAS,EAAE,CAAC,MAAM,CAAC,OAAO,CAACF,EAAE,UAAU,OAAOA,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAO,EAAE,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,KAAK,OAAO,EAAM,EAAE,KAAK,GAAG,EAAE,EAAE,CAAC,EAAO,IAAJ,EAAM,CAAC,IAAMA,EAAE,EAAE,KAAK,GAAG,EAAE,eAAe,EAAEA,EAAE,aAAa,EAAE,EAAE,MAAMA,EAAE,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,IAAMD,EAAE,GAAGC,EAAE,CAAC,OAAOD,aAAa,GAAI,GAAGA,EAAE,CAACA,EAAE,YAAY,CAAC,CAACA,EAAE,EAAE,EAAE,MAAM,EAAE,IAAIE,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,QAAQ,KAAK,GAAG,SAAS,EAAE,CAAC,OAAO,IAAI,GAAG,GAAGD,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,OAAOA,EAAP,CAAU,IAAI,YAAY,MAAM,MAAM,IAAI,aAAa,MAAM,OAAO,QAAQ,SAASA,EAAE,UAAU,CAAC,EAAEA,EAAE,EAAE,EAAE,IAAIE,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,IAAIH,EAAE,MAAO,GAAY,OAAOC,GAAjB,SAAmBA,EAAE,MAAMA,EAAE,GAAGD,EAAE,CAAC,KAAKA,GAAG,EAAE,MAAM,EAAE,IAAII,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,IAAMJ,EAAE,CAAC,CAACC,EAAE,OAAsB,OAAO,IAAI,GAAxBA,EAAE,QAAQ,EAAE,CAAiBD,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAIS,EAAE,KAAK,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,IAAMT,EAAE,CAACC,EAAE,OAAsB,OAAO,IAAI,GAAxBA,EAAE,QAAQ,EAAE,CAAiBD,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAEE,EAAE,EAAEC,EAAE,IAAIC,EAAEK,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,OAAgB,EAAE,cAAX,IAAK,GAAid,EAAE,cAAX,IAAK,GAA2e,EAAE,kBAAX,IAAK,GAA8M,GAAI,CAA5L,SAAS,EAAE,CAAC,OAAO,EAAG,OAAOR,EAAE,gBAAgB,QAAQ,KAAK,GAAG,GAAGA,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,OAAOA,EAAP,CAAU,IAAI,MAAM,MAAM,MAAM,IAAI,KAAK,MAAM,KAAK,QAAQ,OAAO,GAAI,GAAGA,EAAE,gBAAgB,GAAG,CAAC,EAAE,EAAE,CAAlqB,SAAS,EAAE,CAAC,OAAO,EAAG,OAAO,GAAGA,EAAE,YAAY,MAAM,CAAC,SAAS,EAAE,CAAC,OAAOA,EAAP,CAAU,IAAI,QAAQ,MAAM,KAAK,IAAI,YAAY,MAAM,KAAK,IAAI,eAAe,MAAM,IAAI,IAAI,wBAAwB,MAAM,KAAK,IAAI,YAAY,MAAM,IAAI,IAAI,qBAAqB,MAAM,KAAK,IAAI,iBAAiB,MAAM,iBAAiB,IAAI,KAAK,MAAM,KAAK,IAAI,SAAS,MAAM,SAAS,IAAI,qBAAqB,MAAM,qBAAqB,QAAQ,OAAO,GAAI,GAAGA,EAAE,YAAY,GAAG,CAACA,EAAE,YAAY,MAAM,EAAE,EAAE,CAA55B,SAAS,EAAE,CAAC,OAAOA,EAAE,YAAY,GAArB,CAAyB,IAAI,SAAS,IAAM,EAAE,GAAGA,EAAE,YAAY,MAAM,CAAC,OAAO,EAAG,OAAO,EAAE,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,UAAU,IAAM,EAAE,GAAGA,EAAE,YAAY,MAAM,CAAC,OAAO,EAAG,OAAO,EAAE,KAAK,CAAC,UAAU,aAAa,CAAC,CAAC,IAAI,aAAa,IAAM,EAAE,GAAGA,EAAE,YAAY,MAAM,CAAC,OAAO,EAAG,OAAO,EAAE,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,cAAc,IAAM,EAAE,GAAGA,EAAE,YAAY,MAAM,CAAC,OAAO,EAAG,OAAO,EAAE,KAAK,CAAC,UAAU,aAAa,CAAC,CAAC,QAAQ,OAAO,GAAI,GAAG,EAAE,CAAgsB,SAAS,GAAG,EAAE,CAAC,OAAO,GAAG,GAAG,SAAS,GAAG,EAAE,CAAC,OAAO,GAAG,GAAG,SAAS,GAAG,EAAE,CAAC,OAAO,GAAG,GAAG,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,OAAO,EAAG,iBAAiB,EAAE,UAAU,CAAC,SAAS,GAAG,EAAE,CAAC,OAAO,aAAa,EAAG,SAAS,EAAE,CAAC,GAAUA,EAAE,KAAT,KAAY,CAAC,GAAG,GAAGA,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,GAAGA,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,GAAGA,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,GAAGA,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC,SAAgBA,EAAE,KAAT,KAAY,CAAC,GAAG,GAAGA,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,GAAGA,EAAE,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,GAAGA,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,GAAGA,EAAE,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,GAAGA,EAAE,MAAM,CAAC,GAAG,GAAGA,EAAE,GAAG,CAAC,MAAMA,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,aAAa,EAAG,SAAS,EAAE,CAAC,IAAM,EAAEA,EAAE,YAAY,CAAC,KAAK,GAAG,GAAGA,EAAE,EAAE,CAAC,OAAW,EAAE,SAAN,EAAa,EAAE,GAAG,CAAC,gBAAgB,CAAC,GAAG,GAAGA,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,GAAI,CAAC,SAAS,GAAG,EAAE,CAAC,IAAM,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,SAAS,GAAG,EAAE,KAAKA,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,OAAO,EAAE,QAAQ,GAAgB,EAAE,IAAI,EAAE,GAArB,YAAqC,EAAE,IAAI,EAAE,GAAtB,YAAmqM,SAAS,GAAG,EAAE,CAAC,IAAM,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,OAAe,EAAE,YAAX,OAAqB,GAAG,EAAE,EAAE,MAAM,IAAI,CAAC,EAAygnE,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,eAAe,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,OAAO,MAAM,EAAE,YAAY,eAAe,qBAAqB,YAAY,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,sBAAsBA,EAAE,CAAC,MAAM,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,cAAc,sBAAsBA,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,IAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAKC,EAAE,GAAI,CAAC,IAAI,IAAMD,KAAK,EAAE,CAAC,EAAE,KAAKA,EAAE,QAAQ,CAAC,IAAI,IAAMD,KAAKC,EAAE,UAAU,EAAEC,EAAE,IAAIF,EAAE,IAAI,CAAC,IAAI,IAAMC,KAAKD,EAAE,CAAC,EAAE,KAAKC,EAAE,QAAQ,CAAC,IAAI,IAAMD,KAAKC,EAAE,UAAU,EAAEC,EAAE,IAAIF,EAAE,IAAI,CAAC,OAAO,EAAE,eAAe,aAAaC,EAAEC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAGD,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,GAAG,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,OAAO,EAAE,YAAY,eAAe,mCAAmC,YAAY,GAAG,EAAE,GAAG,6BAA6BA,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,GAAI,CAAC,EAAE,GAAI,CAAC,OAAO,EAAE,SAAS,GAAG,EAAE,EAAE,IAAIA,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,IAAIK,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,IAAMJ,EAAED,EAAE,IAAIF,EAAE,CAAC,EAAE,iBAAiB,GAAGG,EAAE,iBAAiB,GAAG,EAAE,EAAE,IAAIH,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,QAAQ,QAAQ,EAAG,KAAK,CAAC,EAAE,EAAE,YAAYA,EAAE,EAAE,SAAS,CAAC,EAAEO,EAAE,OAAOP,EAAE,EAAE,EAAE,CAACG,EAAE,iBAAiB,EAAE,EAAE,QAAQ,UAAUA,EAAE,QAAQ,CAAC,GAAO,EAAE,QAAQ,UAAUA,EAAE,QAAQ,GAAlC,GAAoCA,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC,EAAEI,EAAE,OAAOP,EAAE,EAAE,EAAE,EAAG,aAAa,sCAAsCA,EAAE,qBAAqBG,EAAE,QAAQ,kBAAkB,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAGI,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,OAAO,EAAE,YAAY,eAAe,0BAA0B,YAAY,IAAa,IAAT,IAAK,KAAQ,EAAE,IAAI,EAAE,cAAc,iCAAiCL,EAAE,EAAE,GAAG,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,OAAO,EAAE,YAAY,eAAe,kBAAkB,aAAa,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,cAAcA,EAAE,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE,EAAE,EAAG,QAAQ,EAAE,EAAE,EAAE,GAAG,iBAAiBA,EAAE,CAAC,MAAM,IAAI,EAAE,IAAI,GAAG,EAAEW,EAAE,EAAEX,EAAE,sBAAsB,CAAC,EAAE,GAAG,cAAcA,EAAE,EAAE,CAAC,UAAU,GAAG,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,IAAM,EAAE,EAAE,GAAG,IAAIA,EAAE,SAAS,CAAC,OAAc,IAAP,MAAUA,EAAE,gBAAgB,UAAU,EAAE,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,OAAOA,EAAE,SAASA,EAAE,CAAC,EAAE,GAAG,IAAI,EAAEA,EAAE,SAAS,EAAEA,IAAI,CAAC,eAAe,GAAG,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,YAAY,oBAAoB,GAAG,CAAC,GAAG,MAAM,EAAE,YAAY,eAAe,iBAAiB,GAAG,GAAG,EAAE,YAAY,kBAAkB,aAAaA,EAAE,EAAE,EAAE,OAAOA,EAAE,CAAC,GAAG,CAAC,GAAGA,EAAE,CAAC,MAAMA,EAAE,EAAG,aAAa,gDAAgD,EAAE,IAAIA,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAK,EAAE,EAAG,KAAK,CAAC,EAAE,GAAI,CAAC,OAAO,EAAE,YAAY,eAAe,gBAAgB,YAAY,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC,IAAMK,EAAE,EAAGL,EAAE,CAACW,EAAEN,EAAE,GAAG,IAAIP,EAAE,CAAC,OAAgBa,IAAT,IAAK,GAA8BN,EAAE,GAAG,cAAcN,EAAED,EAAE,CAA/C,EAAG,QAAQO,EAAE,GAAG,IAAIM,EAAE,CAAC,EAA0B,EAAEX,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,GAAGD,EAAE,MAAO,GAAEA,EAAE,6BAA6B,EAAE,GAAG,2BAA2BC,EAAED,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,EAAEC,IAAI,GAAG,CAAC,UAAU,EAAE,GAAG,0BAA0BA,EAAE,EAAE,EAAE,EAAE,EAAG,KAAK,CAAC,EAAE,EAAE,GAAI,CAAC,EAAE,CAAC,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,CAACA,EAAE,CAAC,CAAC,UAAUA,EAAE,GAAG,EAAE,GAAG,EAAE,CAAsa,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAG,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC,IAAI,EAAED,EAAE,YAAY,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,CAA2jb,SAAS,IAAI,CAAC,OAAmB,OAAO,SAApB,IAA6B,SAAS,KAAK,SAAS,GAAG,EAAE,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC,EAAE,CAAksR,eAAe,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,IAAM,KAAK,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,eAAe,GAAG,EAAE,CAAC,IAAI,IAAM,KAAK,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAK,EAAE,GAAG,OAAT,IAAgB,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,UAAU,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,uBAAuB,GAAG,EAAE,aAAa,uBAAuB,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,OAAO,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,SAAS,GAAG,EAAE,CAAC,OAAW,EAAG,EAAE,CAAC,GAAG,OAAb,EAAkB,SAAS,GAAG,EAAE,CAAC,EAAE,GAAG,IAAK,GAAE,eAAe,GAAG,EAAE,CAAC,EAAE,GAAG,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,eAAe,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,UAAU,CAAC,eAAe,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,SAAS,CAAC,aAAa,IAAQ,EAAE,QAAN,GAAa,EAAE,MAAM,GAAG,CAAC,MAAM,eAAe,EAAE,EAAE,CAAC,IAAMD,EAAEC,EAAE,MAAM,IAAI,IAAM,KAAKA,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,MAAMC,EAAE,aAAa,aAAa,EAAEF,EAAE,CAACE,EAAE,GAAG,OAAO,EAAE,CAACA,EAAE,GAAG,aAAa,EAAE,GAAG,EAAE,EAAE,OAAOF,EAAE,CAAC,EAAG,cAAc,mCAAmC,EAAE,UAAU,KAAK,IAAI,CAACA,EAAE,CAAC,MAAM,GAAG,EAAEA,EAAE,SAAS,aAAa,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,aAAa,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAMC,EAAE,MAAM,GAAG,EAAE,WAAW,CAAC,EAAE,UAAUA,EAAE,EAAE,GAAG,MAAM,SAAS,EAAE,EAAE,CAAC,IAAMD,EAAEE,EAAE,GAAG,GAAGD,EAAE,CAAC,OAAOD,EAAE,cAAc,UAAU,EAAE,IAAI,CAAC,GAAGA,EAAE,YAAY,qBAAqB,CAAC,EAAE,CAAC,IAAM,EAAEE,EAAE,GAAG,IAAI,EAAE,CAAC,GAAGA,EAAE,GAAG,IAAI,EAAE,EAAE,gBAAgBF,EAAE,YAAYC,EAAE,CAAC,IAAI,CAACD,EAAE,iBAAiB,SAAS,GAAG,CAAC,IAAMA,EAAEE,EAAE,GAAG,IAAID,EAAE,CAAKD,IAAS,EAAE,GAAG,IAAIC,EAAED,EAAE,gBAAgB,EAAG,kBAAkBA,EAAE,gBAAgB,CAAC,CAAC,GAAGE,EAAED,EAAE,CAA+C,GAAGC,EAAzC,IAAI,GAAGF,EAAE,OAAOC,EAAE,EAAED,EAAE,eAAe,CAAQ,IAAG,CAACE,EAAE,aAAa,iBAAiBF,EAAE,EAAE,EAAE,EAAE,OAAOC,EAAE,CAAC,EAAG,cAAc,4BAA4BA,EAAE,CAAC,MAAM,GAAG,EAAEA,EAAE,EAAE,eAAe,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,CAAC,AAAI,QAAM,GAAG,EAAE,WAAW,CAAE,EAAE,WAAW,kBAAkB,SAAS,CAAC,EAAG,cAAc,4BAA4B,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,eAAe,GAAG,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAK,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,EAAE,EAAE,GAAG,CAAC,IAAMC,EAAE,MAAM,GAAG,EAAE,WAAW,EAAE,CAAC,GAAUA,IAAP,KAAS,CAAK,EAAE,GAAG,SAAT,GAAiB,EAAE,IAAI,CAAC,MAAM,EAAEA,EAAE,QAAQ,GAAG,EAAEA,EAAE,OAAOA,EAAE,CAAC,MAAM,GAAG,EAAEA,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,OAAO,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,GAAG,SAAS,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,IAAM,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,SAAS,GAAG,EAAE,CAAC,OAAO,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,IAAM,EAAE,GAAG,EAAE,CAAC,IAAI,IAAM,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,eAAe,GAAG,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,GAAG,OAAO,EAAE,aAAa,qBAAqB,EAAE,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,eAAe,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,MAAM,eAAe,EAAE,EAAE,CAAC,GAAG,GAAG,EAAED,EAAE,KAAK,EAAE,IAAI,EAAG,QAAQ,CAAC,IAAMD,EAAEE,EAAE,GAAG,OAAO,CAAC,GAAGA,EAAE,CAAC,IAAI,CAAC,MAAM,GAAGA,OAAOA,EAAE,aAAa,kBAAkBF,EAAE,QAAQC,EAAE,EAAE,CAAC,MAAM,GAAGC,EAAE,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,eAAe,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,EAAE,WAAW,2BAA2B,CAAC,EAAG,cAAc,uCAAuC,CAAC,IAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,aAAa,uBAAuB,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,eAAe,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,MAAM,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,SAAS,GAAG,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,EAAGA,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,GAAG,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,KAAM,IAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,SAAS,GAAG,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,EAAGA,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,GAAG,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,KAAM,IAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,OAAO,IAAI,EAAG,cAAc,8BAA8B,EAAE,GAAG,OAAO,iBAAiB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,GAAw3B,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,aAAa,GAAG,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,IAAI,EAAG,EAAG,YAAY,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAk3F,eAAe,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,EAAE,EAAE,MAAU,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,IAAI,EAAE,CAAC,GAAG,AAAS,KAAL,EAAE,CAAC,EAAI,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,OAAOA,EAAE,CAAC,IAAMF,EAAE,GAAGE,EAAE,4BAA4B,GAAG,EAAE,MAAM,CAAC,UAAU,CAAa,EAAE,QAAQF,EAAE,CAAxB,OAAyB,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC,EAAE,UAAU,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,eAAe,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,EAAE,EAAE,MAAU,EAAE,CAAC,EAAQ,EAAE,EAAE,QAAQ,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,IAAME,EAAE,EAAE,UAAU,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,OAAOA,EAAE,EAAE,CAAC,EAAM,EAAE,UAAU,SAAhB,GAAwB,GAAG,EAAE,OAAO,EAAE,QAAQ,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAK,EAAE,CAAC,EAAE,IAAI,IAAMA,KAAK,EAAE,CAAC,IAAMD,EAAEC,EAAE,MAAM,EAAE,EAAE,QAAQ,IAAID,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,IAAMA,KAAK,EAAE,UAAU,EAAE,GAAGC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAGA,GAAG,GAAG,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,EAAE,EAAE,QAAQ,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,IAAMA,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,OAAO,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,GAAG,SAAS,GAAG,CAAC,EAAE,MAAM,GAAG,CAA64M,eAAe,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,GAAG,EAAE,CAAK,EAAE,EAAQ,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,kBAAkB,oBAAoB,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,KAAK,CAAC,IAAMA,EAAE,MAAM,GAAG,EAAE,WAAW,GAAG,EAAE,CAAC,CAAC,EAAE,iBAAiB,GAAG,EAAE,YAAYA,EAAE,CAAC,IAAMY,EAAE,EAAE,kBAAkB,oBAAoBZ,EAAE,SAAS,CAAC,EAAEA,EAAE,SAAS,EAAE,MAAM,GAAG,EAAE,EAAE,EAAcY,IAAZ,UAAcZ,EAAE,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,eAAe,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIW,EAAEZ,EAAE,KAAK,GAAGD,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAGE,EAAE,WAAWD,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,UAAUC,KAAKD,EAAE,KAAK,GAAGC,EAAEW,EAAE,EAAE,EAAE,IAAMC,EAAEP,GAAGA,EAAE,cAAc,IAAIN,EAAE,SAAS,CAACE,EAAEF,EAAE,KAAK,aAAaY,EAAEX,EAAE,gBAAgBY,EAAE,CAAC,OAAO,GAAGZ,EAAED,EAAE,SAASE,EAAE,GAAG,CAACA,EAAE,UAAU,EAAEF,EAAED,EAAEO,EAAE,CAAC,IAAM,EAAE,MAAM,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,CAACJ,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,CAACC,EAAED,EAAE,GAAG,EAAE,UAAU,CAACE,EAAE,GAAG,8CAA8C,EAAE,GAAe,EAAE,cAAd,UAA0B,EAAE,CAACK,EAAEP,EAAE,aAAaC,EAAE,EAAE,gBAAgBC,EAAE,CAAC,GAAG,EAAE,EAAEK,EAAE,GAAG,CAAC,IAAMC,EAAE,IAAI,GAAG,EAAE,EAAER,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,EAAEQ,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAACD,EAAE,SAAS,eAAe,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,QAAQ,GAAG,CAAC,GAAGR,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,EAAE,iBAAiB,EAAE,kBAAkB,uBAAuB,EAAE,SAAS,CAAC,EAAE,kBAAkB,oBAAoB,EAAE,SAAS,EAAE,MAAM,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,kBAAkB,gBAAgB,EAAE,SAAS,CAAC,GAAG,EAAE,YAAY,EAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,GAAG,CAAC,MAAM,GAAG,GAAG,GAAG,EAAE,EAAE,SAAS,CAAC,MAAM,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,EAAE,eAAe,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,GAAG,CAAC,IAAMA,EAAE,MAAM,SAAS,EAAE,EAAE,CAAC,IAAMF,EAAE,EAAGE,EAAE,CAAC,EAAED,EAAE,gBAAoB,EAAED,EAAE,GAAG,OAAOA,EAAE,YAAY,eAAe,qBAAqB,qBAAqB,GAAG,CAAC,IAAM,EAAEA,EAAE,GAAG,gBAAgB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,EAAEA,EAAE,GAAG,IAAMG,EAAE,EAAE,CAAC,EAAE,cAAc,UAAU,EAAE,IAAI,CAAC,IAAME,EAAE,EAAE,IAAID,EAAE,CAAC,GAAG,CAACC,EAAE,OAAO,EAAE,KAAKL,EAAE,GAAG,mBAAmBE,EAAEY,EAAE,iBAAiBV,EAAE,CAAC,UAAUJ,EAAE,GAAG,gBAAgBE,EAAEY,EAAE,eAAeV,EAAE,EAAE,CAAC,CAAC,IAAIM,EAAEL,EAAE,mBAAmBH,EAAE,sBAAsB,CAAC,EAAE,iBAAiB,IAAIE,EAAE,CAAC,EAAEM,EAAE,gBAAgB,EAAG,kBAAkB,EAAG,KAAK,CAAC,CAAC,iCAAiC,EAAG,KAAK,CAAC,CAACI,EAAE,YAAY,qBAAqB,CAAC,IAAI,EAAEJ,EAAE,gBAAgBI,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,OAAOV,EAAEM,EAAE,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,OAAWR,EAAE,YAAY,qBAAqB,GAAvC,GAAyCD,EAAE,gBAAgB,gBAAgB,CAACC,EAAE,gBAAgB,gBAAgB,EAAE,KAAKF,EAAE,eAAe,KAAKA,EAAE,kBAAkB,KAAKA,EAAE,iBAAiB,KAAK,GAAGK,EAAEK,EAAEI,EAAE,EAAEX,EAAE,KAAKH,EAAE,GAAG,iBAAiBE,EAAEQ,EAAE,CAAC,GAAG,CAAC,IAAIN,EAAE,IAAI,CAACC,EAAE,GAAI,CAAC,GAAGJ,EAAE,gBAAgB,SAAS,GAAG,CAAC,EAAE,uBAAuB,IAAIM,EAAE,EAAEJ,EAAE,KAAKH,EAAE,YAAY,kBAAkB,oBAAoBE,EAAEK,EAAE,CAAC,GAAG,CAACJ,EAAE,KAAK,GAAGD,EAAE,EAAED,EAAE,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAEC,EAAE,GAAG,EAAEA,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAG,KAAK,CAAC,CAAC,CAAC,IAAMD,EAAED,EAAE,GAAG,6BAA6BE,EAAE,CAAC,MAAM,GAAGF,EAAE,GAAG,mBAAmBE,EAAEA,EAAE,sBAAsB,EAAE,EAAE,CAAC,EAAE,KAAKD,EAAE,CAAC,OAAO,EAAG,QAAQE,EAAE,CAAC,UAAU,EAAE,MAAMD,EAAE,EAAE,CAAC,UAAUF,EAAE,eAAe,wBAAwBE,EAAEE,EAAEC,EAAE,EAAE,CAAC,UAAUD,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,GAAG,EAAEF,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,cAAc,UAAU,EAAE,IAAI,CAAC,IAAM,EAAE,EAAE,GAAG,IAAID,EAAE,CAAC,IAAI,EAAGC,EAAE,eAAe,KAAKA,EAAE,kBAAkB,KAAKA,EAAE,iBAAiB,MAAM,EAAE,CAACA,EAAE,eAAe,KAAK,EAAE,EAAE,GAAG,CAAC,EAAEA,EAAE,kBAAkB,KAAK,EAAE,EAAG,EAAE,GAAG,CAACA,EAAE,iBAAiB,KAAK,IAAI,EAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,EAAEA,EAAE,EAAE,OAAOA,EAAE,CAAC,MAAM,GAAGA,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,GAAG,EAAE,iBAAqB,IAAJ,GAAO,CAAC,EAAE,iBAAqB,IAAJ,EAAM,CAAC,IAAMA,EAAE,EAAE,CAAC,EAAE,GAAG,UAAU,EAAE,IAAI,CAAC,IAAM,EAAEK,EAAE,KAAK,GAAG,EAAE,CAAC,EAAE,UAAUL,EAAE,KAAK,EAAE,SAAS,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,IAAMF,EAAE,EAAGE,EAAE,CAAC,EAAE,YAAYD,EAAE,IAAIM,EAAE,CAAC,EAAE,EAAE,QAAQ,UAAU,EAAE,IAAI,CAAC,IAAI,IAAML,KAAKF,EAAE,UAAU,EAAE,GAAGC,EAAE,GAAG,EAAE,CAAC,KAAK,CAACM,GAAG,GAAGP,EAAE,EAAE,EAAE,aAAa,EAAE,CAACE,EAAE,QAAQ,EAAE,GAAG,GAAGA,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,iBAAiB,EAAE,kBAAkB,eAAe,EAAE,EAAE,eAAe,GAAG,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,EAAE,kBAAkB,iBAAiB,EAAE,WAAW,EAAE,CAAC,IAAM,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC,IAAIA,EAAE,IAAI,EAAG,EAAG,WAAW,CAAC,EAAEA,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,EAAG,KAAK,CAAC,CAAC,CAAC,IAAMF,EAAE,GAAI,CAAC,IAAI,EAAE,CAA2C,MAAM,GAAG,EAAjD,IAAI,GAAG,EAAG,KAAK,CAAC,IAAI,IAAI,IAAI,EAAG,EAAG,CAACE,EAAEF,EAAE,CAAc,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,UAAU,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,eAAe,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,EAAE,EAAE,MAAM,QAAQ,GAAG,CAAC,IAAME,EAAE,MAAM,SAAS,EAAE,EAAE,CAAC,IAAMF,EAAE,EAAGE,EAAE,CAAC,OAAOF,EAAE,YAAY,eAAe,oBAAoB,qBAAqB,GAAG,CAAC,IAAMO,EAAEN,EAAE,MAAM,MAAM,CAAC,EAAED,EAAE,GAAG,gBAAgB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,OAAO,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMa,EAAEb,EAAE,MAAM,EAAEa,EAAE,MAAM,CAAKV,EAAE,EAAG,SAAS,CAAC,OAAO,EAAE,SAAS,GAAG,CAAC,EAAEA,EAAE,UAAUI,EAAE,SAASN,EAAEC,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,IAAMY,EAAEd,EAAE,YAAY,IAAIE,EAAE,CAAC,EAAUY,IAAP,KAAS,CAACb,EAAE,QAAQ,UAAUa,EAAE,CAAC,IAAID,EAAE,sBAAsBZ,EAAED,EAAE,CAACC,EAAE,iBAAiB,GAAGA,EAAE,YAAYD,EAAE,cAAc,CAACO,EAAE,SAASN,EAAE,KAAK,GAAG,CAACE,EAAE,UAAUD,EAAE,cAAc,oBAAoBD,EAAEY,EAAE,EAAE,EAAEb,EAAEE,EAAED,EAAE,EAAE,CAAC,UAAU,EAAE,MAAMC,EAAE,EAAE,CAAC,UAAUF,EAAE,cAAc,wBAAwBE,EAAE,EAAE,CAAC,UAAUF,EAAE,qBAAqB,yBAAyBE,EAAEK,EAAEN,EAAE,MAAM,QAAQ,EAAE,CAAC,UAAUD,EAAE,eAAe,0CAA0CE,EAAE,SAAS,EAAE,CAAC,IAAID,EAAE,GAAI,CAAC,IAAI,IAAID,EAAE,EAAEA,EAAEE,EAAE,gBAAgB,OAAO,EAAEF,EAAE,EAAE,gBAAgBA,GAAG,iBAAiB,OAAO,IAAI,EAAEC,EAAE,IAAIC,EAAE,MAAM,UAAUF,GAAG,IAAI,EAAE,OAAOC,GAAGA,EAAE,CAAC,EAAE,CAAC,UAAUD,EAAE,eAAe,aAAaE,EAAEK,EAAE,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,kBAAkB,oBAAoB,EAAE,eAAe,CAAC,MAAM,GAAG,EAAEL,EAAE,OAAOA,EAAE,CAAC,MAAM,GAAGA,EAAE,EAAE,eAAe,GAAG,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,GAAG,CAAC,IAAMA,EAAE,MAAM,SAAS,EAAE,EAAE,CAAC,IAAMF,EAAE,EAAGE,EAAE,CAAC,OAAOF,EAAE,YAAY,eAAe,eAAe,qBAAqB,GAAG,CAAC,IAAIO,EAAE,OAAOP,EAAE,cAAc,oBAAoBE,EAAED,EAAE,CAAC,MAAM,IAAI,EAAUA,IAAP,KAAS,CAAC,EAAEA,EAAE,MAAM,CAACD,EAAE,cAAc,oBAAoBE,EAAED,EAAE,GAAG,CAAC,UAAUD,EAAE,cAAc,wBAAwBE,EAAE,EAAE,CAAC,UAAUF,EAAE,qBAAqB,yBAAyBE,EAAEK,EAAEN,EAAE,EAAE,CAAC,UAAUD,EAAE,eAAe,0CAA0CE,EAAEK,EAAE,EAAE,CAAC,UAAUP,EAAE,eAAe,aAAaE,EAAEK,EAAE,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,kBAAkB,oBAAoB,EAAE,WAAW,EAAE,CAAC,MAAM,GAAG,EAAEL,EAAE,OAAOF,EAAE,CAAC,MAAM,GAAGA,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAK,EAAE,EAAE,GAAG,EAAE,YAAY,OAAO,EAAE,GAAG,EAAE,CAAC,IAAME,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,EAAEA,EAAE,OAAO,EAAE,CAACA,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,YAAY,OAAO,EAAE,GAAG,SAAS,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,kBAAkB,uBAAuB,EAAE,CAAC,IAAI,IAAM,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,EAAE,iBAAiB,EAAE,GAAG,GAAG,EAAE,CAAC,SAAS,GAAG,CAAC,EAAE,GAAG,YAAYD,EAAE,EAAE,GAAG,EAAEA,EAAE,GAAG,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,iBAAiB,CAAC,CAAC,IAAM,EAAE,EAAE,GAAG,IAAI,EAAE,CAAQ,IAAP,OAAW,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,IAAM,KAAK,EAAE,aAAa,IAAI,EAAE,GAAG,aAAa,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,aAAa,IAAI,EAAG,aAAa,gCAAgC,EAAE,IAAI,CAAC,EAAE,GAAG,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,GAAI,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,iBAAiB,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAG,aAAa,0BAA0B,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,+BAA+B,CAAC,IAAM,EAAE,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,IAAM,EAAE,IAAI,EAAG,EAAG,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,EAAE,CAAC,GAAG,EAAE,YAAY,IAAI,GAAG,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,EAAE,eAAe,GAAG,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAACE,EAAE,EAAE,CAAC,EAAE,GAAG,SAAS,GAAG,EAAE,GAAG,UAAU,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,GAAGC,EAAE,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,IAAIF,GAAG,IAAI,EAAE,iBAAiB,EAAE,kBAAkB,iBAAiBE,EAAE,SAAgBF,GAAW,UAAW,cAAc,UAAU,CAACA,EAAE,CAAC,EAAE,KAAKA,EAAE,CAAC,IAAMD,EAAE,GAAG,GAAGG,EAAE,SAASF,EAAE,CAAC,EAAE,KAAKD,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,QAAQ,IAAIE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,MAAM,eAAe,EAAE,EAAE,CAAC,IAAMH,EAAE,EAAGE,EAAE,CAAC,GAAG,CAAC,MAAMF,EAAE,YAAY,eAAe,yBAAyB,aAAa,GAAG,EAAG,QAAQC,GAAG,GAAG,EAAG,QAAQA,EAAE,IAAI,GAAGD,EAAE,YAAY,kBAAkB,aAAaE,EAAED,EAAE,SAASM,EAAE,EAAE,CAAC,UAAU,EAAG,QAAQN,EAAE,IAAI,GAAGD,EAAE,YAAY,kBAAkB,gBAAgBE,EAAED,EAAE,SAASM,EAAE,EAAE,EAAE,EAAE,EAAE,OAAOL,EAAE,CAAC,GAAG,CAAC,GAAGA,EAAE,CAAC,MAAMA,EAAE,EAAG,aAAa,sCAAsCA,EAAE,CAAC,IAAI,IAAMA,KAAKD,EAAE,CAAC,IAAMA,EAAEC,EAAE,SAAS,GAAG,CAACA,EAAE,UAAU,CAAC,IAAMA,EAAEF,EAAE,GAAG,IAAIC,EAAE,CAACM,EAAEL,EAAE,gBAAgBW,EAAEX,EAAE,iCAAiCK,EAAE,CAAC,EAAE,GAAGP,EAAE,GAAG,OAAOC,EAAEY,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,eAAe,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,GAAG,CAAC,EAAE,YAAY,QAAQ,EAAE,CAAC,CAAC,EAAG,aAAa,yBAAyB,EAAE,OAAO,CAAC,CAAC,IAAMX,EAAE,MAAM,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,GAAG,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,EAAE,OAAO,IAAI,EAAG,EAAG,UAAU,mEAAmE,CAAC,GAAG,GAAG,CAACA,EAAE,GAAG,OAAO,EAAE,EAAE,CAAC,EAAE,kBAAkB,iBAAiB,EAAEA,EAAE,gBAAgBA,EAAE,cAAc,CAAC,MAAM,GAAG,EAAEA,EAAE,GAAG,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,OAAO,GAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAIA,EAAE,GAAI,CAAOK,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,CAACA,EAAE,OAAOL,EAAE,IAAI,IAAMD,KAAKM,EAAE,CAAC,IAAMA,EAAE,EAAE,GAAG,IAAIN,EAAE,CAAC,EAAEC,EAAE,UAAUK,EAAE,KAAK,GAAG,CAAC,OAAOL,GAA+iE,SAAS,GAAG,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,MAAO,GAAE,YAAY,aAAa,iBAAiB,GAAG,KAAK,KAAK,EAAE,CAAC,EAAE,YAAY,aAAa,uBAAuB,GAAG,KAAK,KAAK,EAAE,CAAC,EAAE,YAAY,aAAa,aAAa,GAAG,KAAK,KAAK,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,EAAE,aAAa,CAAC,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,EAAE,aAAa,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,MAAO,GAAE,YAAY,aAAa,qBAAqB,GAAG,KAAK,KAAK,EAAE,CAAC,EAAE,YAAY,aAAa,kBAAkB,GAAG,KAAK,KAAK,EAAE,CAAC,EAA68I,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,EAAG,EAAG,iBAAiB,YAAY,EAAE,oCAAoC,EAAE,GAAG,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,IAAI,EAAG,EAAG,iBAAiB,GAAG,EAAE,OAAO,EAAE,2BAA2B,CAAC,SAAS,GAAG,EAAE,CAAC,GAAG,CAAC,EAAG,cAAc,EAAE,CAAC,MAAM,IAAI,EAAG,EAAG,iBAAiB,6FAA6F,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,GAAG,EAAG,cAAc,EAAE,CAAC,MAAM,IAAI,EAAG,EAAG,iBAAiB,gGAAgG,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,GAAY,IAAT,IAAK,GAAM,MAAM,YAAY,GAAU,IAAP,KAAS,MAAM,OAAO,GAAa,OAAO,GAAjB,SAAmB,OAAO,EAAE,OAAO,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC,GAAa,OAAO,GAAjB,UAA+B,OAAO,GAAlB,UAAoB,MAAM,GAAG,EAAE,GAAa,OAAO,GAAjB,SAAmB,CAAC,GAAG,aAAa,MAAM,MAAM,WAAW,CAAC,IAAM,EAAE,SAAS,EAAE,CAAC,OAAOA,EAAE,YAAYA,EAAE,YAAY,KAAK,MAAM,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,aAAa,OAAkB,OAAO,GAAnB,WAAqB,aAAa,GAAI,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,cAAc,IAAI,EAAE,EAAE,WAAW,EAAE,aAAa,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,KAAK,MAAM,IAAI,EAAG,EAAG,iBAAiB,sGAAsG,CAAC,CAAC,IAAM,EAAE,GAAG,EAAE,CAAC,MAAM,IAAI,EAAG,EAAG,iBAAiB,kBAAkB,EAAE,KAAK,iBAAiB,IAAI,EAAE,OAAO,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,MAAM,IAAI,EAAG,EAAG,iBAAiB,YAAY,EAAE,6CAA6C,EAAE,GAAG,CAA+xF,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAO,IAAM,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,GAAgC,EAAE,OAA/B,4BAAqC,EAAE,OAAO,GAAG,GAAG,qFAAqF,CAAC,EAAE,aAAa,OAAO,OAAO,OAAO,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,IAAID,EAAED,EAAE,GAAa,OAAO,EAAE,eAAnB,SAAiC,EAAE,EAAE,cAAc,EAAE,EAAG,cAAc,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,GAAGE,EAAE,IAAI,MAAU,MAAM,+GAA+G,CAAC,IAAMF,EAAEC,GAAG,eAAeM,EAAEL,EAAE,KAAK,EAAEW,EAAEX,EAAE,KAAKA,EAAE,QAAQ,GAAG,CAACW,EAAE,MAAU,MAAM,uDAAuD,CAAC,IAAMC,EAAE,OAAO,OAAO,CAAC,IAAI,kCAAkCd,IAAI,IAAIA,EAAE,IAAIO,EAAE,IAAIA,EAAE,KAAK,UAAUA,EAAE,IAAIM,EAAE,QAAQA,EAAE,SAAS,CAAC,iBAAiB,SAAS,WAAW,EAAE,CAAC,CAAC,CAACX,EAAE,CAAC,MAAM,CAACG,GAAE,KAAK,UAAU,CAAC,IAAI,OAAO,KAAK,MAAM,CAAC,CAAC,CAACA,GAAE,KAAK,UAAUS,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE,cAAwB,EAAE,MAA2B,QAAQ,UAAU,CAAC,IAAMA,EAAE,EAAE,cAAc,KAAK,EAAE,cAAc,QAAQ,GAAG,CAACA,EAAE,MAAM,IAAI,EAAG,EAAG,iBAAiB,uDAAuD,CAAC,EAAE,IAAI,EAAGA,EAAE,CAAC,EAAE,iBAAiB,IAAI,GAAG,IAAI,GAAGb,EAAED,EAAE,CAAC,EAAm3B,SAAS,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,EAAE,CAAC,GAAG,aAAa,OAAO,EAAE,CAAC,aAAa,GAAG,CAAC,IAAM,EAAE,EAAG,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,aAAa,GAAI,aAAa,IAAI,MAAM,IAAI,EAAG,EAAG,iBAAiB,gHAAgH,CAAC,IAAM,EAAE,EAAE,MAAM,MAAM,EAAG,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,UAAU,KAAK,EAAE,EAA6S,SAAS,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,EAAE,CAAK,UAAU,SAAd,IAAuB,EAAE,GAAG,GAAG,EAAE,GAAG,MAAM,OAAO,EAAE,CAAC,aAAa,GAAG,CAAC,IAAM,EAAE,EAAG,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,IAAI,EAAG,EAAE,KAAK,IAAI,EAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,aAAa,GAAI,aAAa,IAAI,MAAM,IAAI,EAAG,EAAG,iBAAiB,gHAAgH,CAAC,IAAM,EAAE,EAAE,MAAM,MAAM,EAAG,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,IAAI,EAAG,EAAE,UAAU,aAAa,GAAG,EAAE,UAAU,KAAK,IAAI,EAAG,EAAE,CAAC,EAA+rQ,eAAe,GAAG,EAAE,EAAE,CAAC,EAAE,WAAW,2BAA2B,CAAC,EAAG,kBAAkB,wCAAwC,CAAC,IAAM,EAAE,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,6BAA6B,KAAM,IAAG,CAAC,EAAE,QAAQE,EAAE,GAAG,MAAM,GAAG,EAAE,WAAWA,EAAE,CAAC,EAAEA,KAAK,CAAC,EAAE,YAAY,gCAAgC,EAAE,WAAW,EAAE,CAAC,EAAE,kBAAkB,EAAE,eAAe,GAAG,EAAE,EAAE,CAAC,EAAE,WAAW,2BAA2B,CAAC,IAAM,EAAE,MAAM,GAAG,EAAE,CAAC,EAAG,kBAAkB,uCAAuC,CAAC,IAAM,EAAE,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,EAAE,6BAA6B,GAAG,GAAG,EAAE,YAAYA,EAAE,EAAE,CAAC,EAAE,iCAAiC,EAAE,IAAI,GAAG,EAAE,YAAYF,EAAE,EAAE,CAAC,EAAE,iBAAiB,EAAE,eAAe,GAAG,EAAE,CAAC,OAAO,EAAE,oBAAoB,EAAG,kBAAkB,yCAAyC,CAAC,MAAM,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,kBAAkB,eAAe,GAAG,EAAE,CAAC,OAAO,EAAE,mBAAmB,EAAG,kBAAkB,wCAAwC,CAAC,MAAM,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,iBAA+K,SAAS,GAAG,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,MAAM,GAAGE,EAAE,YAAY,CAAoD,eAAe,GAAG,EAAE,CAAC,IAAM,EAAE,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,aAAa,MAAO,GAAE,SAAS,GAAG,KAAK,KAAK,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,KAAK,KAAK,EAAE,WAAW,CAAC,EAAywJ,SAAS,GAAG,EAAE,CAAC,OAAO,SAAS,EAAE,EAAE,CAAC,GAAa,OAAOA,GAAjB,WAA2BA,EAAE,MAAM,CAAC,EAAE,IAAM,EAAEA,EAAE,IAAI,IAAMA,IAAI,CAAC,OAAO,QAAQ,WAAW,CAAC,GAAGA,KAAK,GAAe,OAAO,EAAEA,IAArB,WAAwB,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,CAAiuD,SAAS,GAAG,EAAE,EAAE,CAAC,IAAM,EAAY,OAAO,GAAjB,SAAmB,EAAEK,IAAG,CAAC,EAAY,OAAO,GAAjB,SAAmB,EAAE,GAAG,YAAYJ,EAAEH,GAAE,EAAE,YAAY,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAACG,EAAE,aAAa,CAAC,IAAMD,EAAE,GAAE,YAAY,CAAC,GAAG,GAAGC,EAAE,GAAGD,EAAE,CAAC,OAAOC,EAAE,SAAS,GAAG,EAAE,CAAC,OAAO,EAAE,kBAAkB,GAAG,EAAE,CAAC,EAAE,iBAAiB,qBAAqB,CAAC,EAAE,iBAAiB,SAAS,GAAG,EAAE,CAAO,IAAM,EAAE,EAAE,iBAAiB,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,IAAI,GAAGD,EAAED,EAAED,EAAEO,EAAE,KAAKA,EAAE,IAAIA,EAAE,6BAA6BA,EAAE,kCAAkCA,EAAE,gBAAgB,EAAE,EAAE,YAAuB,EAAE,MAA2B,QAAQ,OAAQ,GAAG,EAAE,gBAAgB,EAAE,CAAC,EAAE,iBAAiB,IAAI,GAAG,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,OAAO,EAAE,CAAkvJ,SAAS,GAAG,EAAE,CAAC,OAAO,EAAP,CAAU,IAAK,GAAE,IAAK,GAAE,IAAK,GAAE,MAAM,CAAC,EAAE,IAAK,GAAE,IAAK,GAAE,MAAM,CAAC,EAAE,QAAQ,MAAM,GAAI,EAA+2C,SAAS,GAAG,EAAE,CAAC,IAAM,EAAE,EAAE,iBAAiB,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,OAAO,IAAI,GAAG,EAAE,YAAY,CAAC,CAAC,EAAE,0BAA0B,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAMJ,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,sCAAsCA,EAAE,EAAE,CAAC,IAAMC,EAAE,GAAG,EAAED,EAAE,CAAKE,EAAEK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,GAAGP,EAAE,UAAU,CAAC,EAAEA,EAAE,wBAAwB,EAAE,YAAY,CAAC,IAAMD,EAAE,EAAE,CAAC,IAAI,IAAMK,KAAK,EAAE,YAAY,CAAC,IAAMM,EAAE,GAAG,EAAEN,EAAE,EAAE,CAAC,GAAG,CAACJ,EAAE,SAASU,EAAE,CAAC,MAAM,IAAI,EAAG,EAAG,iBAAiB,UAAUA,EAAE,qEAAqE,CAAC,GAAGX,EAAEW,EAAE,EAAEX,EAAE,KAAKW,EAAE,CAAC,EAAE,IAAI,GAAGX,EAAE,CAAC,EAAEC,EAAE,gBAAgB,QAAQ,GAAGE,EAAE,OAAOH,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAEC,EAAE,gBAAgB,OAAO,IAAI,GAAG,IAAI,EAAGC,EAAE,CAACC,EAAEK,EAAE,CAAk6D,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,GAAE,EAAE,CAAC,CAAC,OAAO,GAAG,2BAA2B,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,aAAa,GAAG,OAAO,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,GAAGT,EAAE,GAAG,CAAC,MAAMA,EAAE,GAAG,GAAGC,EAAE,YAAY,6CAA6C,CAAC,GAAG,CAACD,EAAE,KAAK,MAAMA,EAAE,GAAG,GAAGC,EAAE,YAAY,6CAA6C,CAAC,IAAM,EAAEA,EAAE,kBAAkBD,EAAE,CAAC,GAAGA,EAAE,gBAAgB,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,GAAY,IAAT,IAAK,IAAO,EAAE,0BAA0B,OAAO,KAAK,GAAG,EAAE,MAAM,EAAE,UAAU,KAAK,EAAE,KAAK,CAAC,aAAa,MAAM,CAAC,GAAG,EAAE,SAAS,IAAQ,EAAE,KAAN,EAAS,MAAM,EAAE,GAAG,kCAAkC,CAAC,OAAO,SAAS,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,CAAK,EAAE,EAAE,IAAI,IAAM,KAAKC,EAAE,CAAC,IAAIA,EAAE,GAAG,EAAED,EAAE,GAAG,EAAE,CAAC,CAAWC,IAAE,CAAC,UAAU,aAAa,CAAE,EAAE,KAAKA,EAAE,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,SAAS,EAAE,EAAE,CAAC,IAAW,EAAE,GAAEA,EAAE,IAAd,KAAgB,MAAM,CAAC,UAAU,aAAa,CAAC,GAAa,OAAOA,GAAjB,SAAmB,OAAO,GAAGD,EAAE,GAAGC,EAAE,CAAC,GAAc,OAAOA,GAAlB,UAAoB,MAAM,CAAC,aAAaA,EAAE,CAAC,GAAa,OAAOA,GAAjB,SAAmB,MAAM,CAAC,YAAYA,EAAE,CAAC,GAAGA,aAAa,KAAK,CAAC,IAAM,EAAE,EAAG,SAASA,EAAE,CAAC,MAAM,CAAC,eAAe,GAAGD,EAAE,GAAG,EAAE,CAAC,CAAC,GAAGC,aAAa,EAAG,CAAC,IAAM,EAAE,IAAI,EAAGA,EAAE,QAAQ,IAAI,KAAK,MAAMA,EAAE,YAAY,IAAI,CAAC,CAAC,MAAM,CAAC,eAAe,GAAGD,EAAE,GAAG,EAAE,CAAC,CAAC,GAAGC,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,SAASA,EAAE,SAAS,UAAUA,EAAE,UAAU,CAAC,CAAC,GAAGA,aAAa,GAAG,MAAM,CAAC,WAAW,GAAGD,EAAE,GAAGC,EAAE,YAAY,CAAC,CAAC,GAAGA,aAAa,EAAG,CAAC,IAAM,EAAED,EAAE,WAAW,EAAEC,EAAE,UAAU,YAAY,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAMD,EAAE,GAAG,sCAAsC,EAAE,UAAU,GAAG,EAAE,SAAS,8BAA8B,EAAE,UAAU,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,eAAe,GAAGC,EAAE,UAAU,aAAaD,EAAE,WAAWC,EAAE,KAAK,KAAK,CAAC,CAAC,MAAMD,EAAE,GAAG,4BAA4B,GAAGC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,OAAO,GAAG,EAAE,UAAU,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,IAAM,EAAE,GAAG,EAAE,EAAE,GAAGA,EAAE,CAAC,CAAO,GAAN,OAAU,EAAEA,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,MAAM,EAAY,OAAO,GAAjB,WAA2B,GAAG,aAAa,OAAO,aAAa,MAAM,aAAa,GAAI,aAAa,IAAI,aAAa,IAAI,aAAa,GAAI,aAAa,IAAI,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,OAAgB,OAAOA,GAAjB,YAA2BA,IAAI,OAAO,eAAeA,EAAE,GAAG,OAAO,WAAkB,OAAO,eAAeA,EAAE,GAA/B,OAAkC,EAAE,CAAC,CAAC,IAAM,EAAE,GAAG,EAAE,CAAC,MAAmB,IAAd,YAAgB,EAAE,GAAG,EAAE,mBAAmB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,GAAE,EAAE,YAAY,GAAG,OAAO,EAAE,cAAc,GAAa,OAAO,GAAjB,SAAmB,OAAO,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,kDAAkD,EAAE,CAAC,EAAE,IAAK,GAAE,EAAE,CAAsC,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,MAAM,GAAG,uBAAuB,EAAE,sDAAsD,EAAE,CAAC,EAAE,IAAK,GAAE,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,GAAG,EAAE,MAAM,IAAI,CAAC,CAAC,mBAAsB,CAAC,MAAM,GAAG,uBAAuB,EAAE,2EAA2E,EAAE,CAAC,EAAE,IAAK,GAAE,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,GAAG,CAAC,EAAE,SAAS,CAACC,EAAW,IAAT,IAAK,GAAUC,EAAE,YAAY,EAAE,6BAA6B,IAAI,GAAG,0BAA0B,GAAG,KAAK,IAAIC,EAAE,GAAG,OAAO,GAAGF,KAAK,GAAG,UAAU,IAAI,GAAG,aAAa,KAAKA,IAAI,GAAG,gBAAgB,KAAK,GAAG,KAAK,IAAI,EAAG,EAAG,iBAAiBC,EAAE,EAAEC,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,GAAGH,EAAE,QAAQ,EAAE,EAAE,CAAisB,SAAS,GAAG,EAAE,EAAE,CAAC,OAAgB,OAAO,GAAjB,SAAmB,GAAG,EAAE,EAAE,CAAC,aAAa,GAAG,EAAE,cAAc,EAAE,UAAU,cAAc,SAAS,GAAG,EAAE,CAAC,GAAS,EAAE,YAAR,KAAuB,EAAE,gBAAgB,SAAtB,EAA6B,MAAM,IAAI,EAAG,EAAG,cAAc,yEAAyE,CAAgC,SAAS,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC,IAAMD,EAAEC,EAAE,QAAQ,GAAGA,aAAa,IAAI,CAAC,OAAOF,EAAEE,EAAE,QAAQ,GAAGA,aAAa,IAAI,CAAC,OAAO,GAAGD,EAAE,GAAGA,EAAE,GAAGD,EAAE,EAAE,MAAM,IAAI,EAAG,EAAG,iBAAiB,+QAA+Q,EAAE,EAAE,CAAC,IAAI,IAAMC,KAAK,EAAE,EAAEA,EAAE,OAAO,EAAE,CAAC,OAAO,EAAg4E,SAAS,GAAG,EAAE,EAAE,MAAM,CAAC,IAAM,EAAE,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,OAAO,GAAG,QAAQ,EAAE,EAAE,CAAkO,SAAS,GAAG,EAAE,CAAC,OAAO,GAAG,QAAQ,EAAE,CAAC,GAAG,QAAQ,QAAQ,EAAE,IAAI,CAA4/F,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,GAAa,OAAO,EAAE,GAAE,EAAE,GAAvB,SAAyB,CAAC,GAAQ,IAAL,GAAO,MAAM,IAAI,EAAG,EAAG,iBAAiB,oHAAoH,CAAC,GAAG,CAAC,GAAG,EAAE,EAAO,EAAE,QAAQ,IAAI,GAAnB,GAAoB,MAAM,IAAI,EAAG,EAAG,iBAAiB,yGAAyG,EAAE,6BAA6B,CAAC,IAAM,EAAE,EAAE,KAAK,MAAM,EAAG,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,EAAG,cAAc,EAAE,CAAC,MAAM,IAAI,EAAG,EAAG,iBAAiB,kIAAkI,EAAE,qDAAqD,EAAE,OAAO,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,EAAG,EAAE,CAAC,CAAC,GAAG,aAAa,EAAG,OAAO,GAAG,EAAE,EAAE,KAAK,CAAC,MAAM,IAAI,EAAG,EAAG,iBAAiB,uHAAuH,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,QAAQ,EAAE,EAAM,EAAE,SAAN,EAAa,MAAM,IAAI,EAAG,EAAG,iBAAiB,qDAAqD,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,IAAI,EAAG,EAAG,iBAAiB,mBAAmB,EAAE,UAAU,CAAC,gEAAgE,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,IAAMD,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,GAAUA,IAAP,MAAU,CAACA,EAAE,QAAQ,EAAE,CAAC,MAAM,IAAI,EAAG,EAAG,iBAAiB,oJAAoJA,EAAE,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,IAAM,EAAE,GAAG,EAAE,CAAQ,IAAP,MAAU,GAAG,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,SAAS,EAAE,EAAE,CAAC,IAAI,IAAMA,KAAKE,EAAE,IAAI,IAAMA,KAAKF,EAAE,qBAAqB,CAAC,GAAGC,EAAE,QAAQC,EAAE,GAAG,EAAE,EAAE,OAAOA,EAAE,GAAG,OAAO,MAAM,EAAE,QAAQ,SAAS,EAAE,CAAC,OAAOA,EAAP,CAAU,IAAI,KAAK,MAAM,CAAC,KAAK,SAAS,CAAC,IAAI,iBAAiB,MAAM,CAAC,iBAAiB,qBAAqB,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,qBAAqB,KAAK,SAAS,CAAC,IAAI,qBAAqB,MAAM,CAAC,iBAAiB,qBAAqB,KAAK,SAAS,CAAC,IAAI,SAAS,MAAM,CAAC,iBAAiB,qBAAqB,KAAK,SAAS,KAAK,CAAC,QAAQ,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAU,IAAP,KAAS,MAAM,IAAI,EAAE,GAAG,IAAI,EAAG,EAAG,iBAAiB,gDAAgD,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,EAAG,EAAG,iBAAiB,kCAAkC,EAAE,GAAG,UAAU,CAAC,kBAAkB,EAAE,UAAU,CAAC,YAAY,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,IAAI,EAAG,EAAG,iBAAiB,qGAAqG,EAAE,UAAU,CAAC,8BAA8B,EAAE,UAAU,CAAC,+EAA+E,EAAE,UAAU,CAAC,YAAY,CAA4jD,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,MAAO,GAAE,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAunF,SAAS,GAAG,EAAE,CAAC,OAAO,EAAP,CAAU,IAAK,GAAE,MAAM,QAAQ,IAAK,GAAE,IAAK,GAAE,MAAM,WAAW,IAAK,GAAE,MAAM,UAAU,QAAQ,OAAO,GAAI,EAAuvF,SAAS,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,GAAG,EAAE,UAAU,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,UAAU,CAAC,SAAS,EAAE,KAAK,EAAS,EAAE,YAAT,KAAmB,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,SAAS,GAAG,EAAE,GAAG,EAAE,CAAW,EAAE,GAAE,EAAE,CAAC,IAAI,EAAE,CAAC,uBAAuB,CAAC,EAAE,CAACC,EAAE,EAAY,OAAO,EAAEA,IAAnB,UAAuB,GAAG,EAAEA,GAAG,GAAG,EAAE,EAAEA,GAAG,KAAK,IAAMC,EAAE,CAAC,uBAAuB,EAAE,uBAAuB,CAAC,GAAG,GAAG,EAAED,GAAG,CAAC,CAAC,IAAMD,EAAE,EAAEC,GAAG,EAAEA,GAAaD,EAAE,MAA2B,KAAKA,EAAE,CAAC,EAAEC,EAAE,GAAaD,EAAE,OAA4B,KAAKA,EAAE,CAAC,EAAEC,EAAE,GAAaD,EAAE,UAA+B,KAAKA,EAAE,CAAC,IAAIG,EAAEK,EAAEC,EAAE,GAAG,aAAa,EAAG,EAAE,GAAG,EAAE,UAAU,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,EAAER,IAAI,EAAEA,GAAG,GAAGO,EAAE,EAAEV,EAAE,CAAC,EAAE,MAAM,EAAEG,EAAE,GAAG,SAAS,EAAEA,EAAE,GAAG,KAAK,CAAC,IAAMH,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAGA,EAAE,UAAU,GAAG,CAAC,EAAEA,EAAE,OAAO,IAAMO,EAAE,IAAI,GAAGG,EAAE,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,EAAEP,IAAI,EAAEA,GAAG,IAAI,GAAGO,EAAEH,EAAEP,EAAEE,EAAE,CAAC,EAAE,MAAM,EAAEC,EAAE,GAAG,SAAS,EAAEA,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMU,EAAE,IAAI,GAAGN,EAAE,CAACO,EAAE,IAAI,GAAGb,EAAEY,EAAEb,EAAE,CAAC,OAAOE,EAAE,WAAW,kBAAkB,SAAS,GAAG,MAAM,GAAGA,EAAE,CAACY,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,CAACZ,EAAE,WAAW,kBAAkB,SAAS,GAAG,MAAM,GAAGA,EAAE,CAACY,EAAE,EAAE,GAAG,GAAGJ,EAAE,CAACC,EAAEP,EAAEC,EAAE,CAA2S,SAAS,GAAG,EAAE,EAAE,CAAC,OAAO,SAAS,EAAE,EAAE,CAAC,IAAM,EAAE,IAAI,GAAG,OAAOH,EAAE,WAAW,kBAAkB,SAAS,eAAe,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,GAAGA,EAAE,CAAC,GAAG,CAAC,IAAMA,EAAE,MAAM,SAAS,EAAE,EAAE,CAAC,IAAMF,EAAE,EAAGE,EAAE,CAACK,EAAE,EAAG,KAAK,CAAC,EAAEN,EAAE,SAAS,EAAE,IAAIC,EAAE,IAAID,EAAE,IAAI,EAAE,GAAI,CAAC,CAAK,EAAEE,EAAE,OAAOH,EAAE,YAAY,eAAe,0BAA0B,aAAa,GAAG,CAAC,IAAII,EAAE,IAAI,CAACC,EAAE,GAAI,CAAC,OAAOL,EAAE,GAAG,WAAWE,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,EAAEA,EAAEE,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,EAAEC,EAAE,IAAIH,EAAE,IAAI,GAAG,CAAC,UAAUF,EAAE,eAAe,sBAAsBE,EAAEE,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,EAAES,EAAE,IAAMV,EAAE,EAAE,CAAC,IAAI,IAAMD,KAAKD,EAAE,CAAC,IAAMA,EAAE,GAAGC,EAAE,EAAE,IAAIA,EAAE,IAAI,CAAC,kBAAkB,CAAOD,GAAN,MAASE,EAAE,KAAK,IAAI,GAAGD,EAAE,IAAID,EAAE,GAAGA,EAAE,MAAM,SAAS,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAOD,EAAE,cAAc,iBAAiBE,EAAEK,EAAEJ,EAAEF,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,EAAEA,EAAE,IAAMM,EAAEN,EAAE,wBAAwB,EAAEI,EAAE,CAAC,OAAOL,EAAE,qBAAqB,aAAaE,EAAED,EAAE,QAAQM,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQJ,EAAE,QAAQ,QAAQ,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,WAAWF,EAAE,CAAC,EAAE,kBAAkB,mBAAmBC,EAAE,QAAQ,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,IAAIK,EAAEL,EAAE,GAAGA,EAAE,YAAY,OAAO,EAAE,AAAI,IAAE,IAAI,EAAG,EAAG,CAAE,EAAEK,EAAE,OAAON,EAAED,EAAE,CAAC,EAAE,GAAGE,EAAE,YAAY,OAAO,EAAEK,GAAG,EAAEL,EAAE,QAAQF,EAAE,CAAC,MAAM,GAAG,EAAEE,EAAE,QAAQ,CAAC,MAAM,GAAG,EAAE,YAAY,OAAOA,EAAE,CAAC,IAAMD,EAAE,GAAGC,EAAE,0BAA0B,CAAC,EAAE,OAAOD,EAAE,GAAG,MAAM,GAAGC,EAAE,CAACD,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,KAAK,IAAI,EAAE,KAAK,CAAa,OAAO,IAAI,GAAG,EAAxB,IAAI,GAAG,EAAE,CAAmB,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,UAAU,ixBAAj3kT,CAAM,GAAE,SAAS,EAAE,CAAC,IAAM,EAAE,EAAE,CAAK,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,MAAa,MAAM,IAAd,OAAkB,EAAE,EAAE,EAAE,SAAgB,MAAM,EAAE,WAAW,EAAE,EAAE,GAA/B,OAAkC,EAAE,QAAQ,KAAK,IAAI,KAAK,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,GAAG,IAAI,EAAE,KAAK,GAAG,GAAG,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,KAAK,GAAG,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,KAAK,OAAO,GAAG,GAAE,CAAC,eAAe,KAAK,eAAe,KAAK,sBAAsB,KAAK,sBAAsB,KAAK,kBAAkB,iEAAiE,IAAI,cAAc,CAAC,OAAO,KAAK,kBAAkB,OAAO,IAAI,sBAAsB,CAAC,OAAO,KAAK,kBAAkB,OAAO,mBAA+B,OAAO,MAAnB,WAAwB,gBAAgB,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,QAAQ,EAAE,CAAC,MAAM,MAAM,gDAAgD,CAAC,KAAK,OAAO,CAAC,IAAM,EAAE,EAAE,KAAK,sBAAsB,KAAK,eAAe,EAAE,EAAE,CAAC,IAAI,IAAIA,EAAE,EAAEA,EAAE,EAAE,OAAO,GAAG,EAAE,CAAC,IAAM,EAAE,EAAEA,GAAG,EAAEA,EAAE,EAAE,EAAE,OAAOE,EAAE,EAAE,EAAEF,EAAE,GAAG,EAAEG,EAAEH,EAAE,EAAE,EAAE,OAAOI,EAAED,EAAE,EAAEH,EAAE,GAAG,EAAES,EAAE,GAAG,EAAEC,GAAG,EAAE,IAAI,EAAER,GAAG,EAAMS,GAAG,GAAGT,IAAI,EAAEE,GAAG,EAAEU,EAAE,GAAGV,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,EAAEK,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEG,GAAG,CAAC,OAAO,EAAE,KAAK,GAAG,EAAE,aAAa,EAAE,EAAE,CAAC,OAAO,KAAK,oBAAoB,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,gBAAgB,GAAE,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,EAAE,CAAC,OAAO,KAAK,oBAAoB,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,CAAC,IAAMd,EAAE,EAAE,CAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAEC,EAAE,QAAQ,CAAC,IAAM,EAAEA,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,KAAK,OAAO,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,IAAM,EAAEA,EAAE,KAAK,EAAE,KAAK,OAAO,cAAc,GAAG,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,IAAM,IAAI,EAAE,IAAI,IAAI,GAAGA,EAAE,OAAO,IAAI,GAAGA,EAAE,OAAO,EAAE,GAAGA,EAAE,MAAM,MAAM,EAAE,KAAK,OAAO,aAAa,OAAO,GAAG,IAAI,CAAC,EAAE,KAAK,OAAO,aAAa,OAAO,KAAK,GAAG,KAAK,CAAC,IAAM,EAAEA,EAAE,KAAKC,EAAED,EAAE,KAAK,EAAE,KAAK,OAAO,cAAc,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,GAAGC,EAAE,EAAE,OAAOF,EAAE,KAAK,GAAG,EAAE,KAAK,wBAAwB,EAAE,EAAE,CAAC,EAAE,wBAAwB,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,IAAM,EAAE,EAAE,KAAK,sBAAsB,KAAK,eAAe,EAAE,EAAE,CAAC,IAAI,IAAIA,EAAE,EAAEA,EAAE,EAAE,QAAQ,CAAC,IAAM,EAAE,EAAE,EAAE,OAAO,IAAI,EAAE,EAAEA,EAAE,EAAE,OAAO,EAAE,EAAE,OAAOA,EAAE,EAAE,EAAE,EAAEA,EAAE,IAAME,EAAEF,EAAE,EAAE,OAAO,EAAE,EAAE,OAAOA,EAAE,EAAE,GAAG,EAAEA,EAAE,IAAMG,EAAEH,EAAE,EAAE,OAAO,EAAE,EAAE,OAAOA,EAAE,EAAE,GAAG,GAAG,EAAEA,EAAQ,GAAN,MAAe,GAAN,MAAeE,GAAN,MAAeC,GAAN,KAAQ,MAAM,OAAO,CAAC,IAAMC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAKA,EAAE,CAAMF,IAAL,GAAO,CAAC,IAAMD,EAAE,GAAG,EAAE,IAAIC,GAAG,EAAE,GAAG,EAAE,KAAKD,EAAE,CAAME,IAAL,GAAO,CAAC,IAAMF,EAAEC,GAAG,EAAE,IAAIC,EAAE,EAAE,KAAKF,EAAE,GAAG,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,eAAe,CAAC,KAAK,eAAe,EAAE,CAAC,KAAK,eAAe,EAAE,CAAC,KAAK,sBAAsB,EAAE,CAAC,KAAK,sBAAsB,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,KAAK,aAAa,OAAO,IAAI,KAAK,eAAe,GAAG,KAAK,aAAa,OAAO,EAAE,CAAC,KAAK,eAAe,KAAK,eAAe,IAAI,EAAE,KAAK,sBAAsB,GAAG,KAAK,qBAAqB,OAAO,EAAE,CAAC,KAAK,sBAAsB,KAAK,sBAAsB,IAAI,EAAE,GAAG,KAAK,kBAAkB,SAAS,KAAK,eAAe,KAAK,qBAAqB,OAAO,EAAE,EAAE,EAAE,KAAK,sBAAsB,KAAK,aAAa,OAAO,EAAE,EAAE,KAAK,CAACG,GAAE,SAAS,EAAE,CAAC,OAAO,SAAS,EAAE,CAAC,IAAM,EAAE,GAAEH,EAAE,CAAC,OAAO,GAAE,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,MAAM,GAAG,EAAQ,OAAM,UAAU,CAAC,GAAgB,OAAO,KAApB,IAAyB,OAAO,KAAK,GAAuB,IAApB,OAA2B,OAAO,EAAO,GAAuB,IAApB,OAA2B,OAAO,EAAO,MAAU,MAAM,kCAAkC,GAAG,CAAC,sBAAsB,OAAM,CAAC,GAAgB,OAAO,SAApB,IAA6B,OAAO,IAAI,EAAE,GAAG,CAAC,EAAE,SAAS,OAAO,MAAM,gCAAgC,MAAS,CAAC,OAAO,IAAM,EAAE,GAAG,SAAS,EAAE,CAAC,GAAG,CAAC,OAAO,GAAE,aAAaA,EAAE,CAAC,EAAE,OAAOA,EAAE,CAAC,QAAQ,MAAM,wBAAwBA,EAAE,CAAC,OAAO,MAAM,EAAE,GAAG,CAAC,OAAO,GAAG,KAAK,MAAM,EAAE,EAAE,OAAM,CAAC,GAAG,CAAC,OAAO,IAAG,OAAO,CAAC,GAAgB,OAAO,QAApB,KAAsC,QAAQ,MAAjB,IAAK,GAAgB,OAAO,IAAM,EAAE,QAAQ,IAAI,sBAAsB,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC,IAAK,MAAK,EAAE,IAAG,OAAO,EAAE,CAAa,QAAQ,KAAK,+CAA+C,IAAI,CAA5E,SAA+E,GAAE,GAAG,CAAC,IAAM,GAAG,GAAuC,IAAG,EAAuB,gBAAoCA,IAAK,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,IAAM,EAAE,EAAE,YAAY,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,OAAO,MAAU,MAAM,gBAAgB,EAAE,sCAAsC,CAAC,IAAM,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC,OAAY,EAAE,KAAR,IAAW,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAA8b,GAAN,MAAM,UAAU,KAAK,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,KAAK,EAAE,KAAK,WAAW,EAAE,KAAK,KAAK,gBAAgB,OAAO,eAAe,KAAK,EAAE,UAAU,CAAC,MAAM,mBAAmB,MAAM,kBAAkB,KAAKc,GAAE,UAAU,OAAO,GAAQA,GAAN,KAAO,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,KAAK,QAAQ,GAAG,IAAI,EAAE,KAAK,OAAO,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,OAAOd,EAAE,QAAQ,KAAI,EAAE,IAAI,CAAC,IAAMK,EAAEN,EAAED,GAAG,OAAaO,GAAN,KAAkB,IAAIP,EAAE,IAAhB,OAAOO,EAAE,GAAa,EAAE,EAAE,EAAE,CAAC,QAA8C,OAAO,IAAI,GAAE,EAAjD,GAAG,KAAK,YAAY,IAAI,EAAE,IAAI,EAAE,IAAqB,EAAE,GAAQ,GAAE,gBAAoX,GAAN,KAAO,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,KAAK,gBAAgB,EAAE,KAAK,KAAK,EAAE,KAAK,kBAAkB,CAAC,EAAE,KAAK,aAAa,EAAE,CAAC,KAAK,kBAAkB,OAAO,KAAK,kBAAkB,KAAK,qBAAqB,EAAE,CAAC,MAAO,MAAK,kBAAkB,EAAE,KAAK,qBAAqB,EAAE,CAAC,MAAO,MAAK,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,CAAC,MAAO,MAAK,aAAa,EAAE,KAAK,2BAA2B,EAAE,CAAC,MAAO,MAAK,kBAAkB,EAAE,QAAa,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,EAAE,EAAE,QAAQ,GAAG,UAAU,EAAE,EAAE,KAAK,GAAG,OAAO,EAAE,EAAE,KAAK,GAAG,OAAO,EAAE,EAAE,MAAM,GAAG,QAAQ,EAAE,EAAE,OAAO,GAAG,WAAU,AAAI,IAAE,EAAE,CAAE,CAAO,GAAE,CAAC,MAAM,EAAE,MAAM,QAAQ,EAAE,QAAQ,KAAK,EAAE,KAAK,KAAK,EAAE,KAAK,MAAM,EAAE,MAAM,OAAO,EAAE,OAAO,CAAC,GAAE,EAAE,KAAK,GAAE,EAAE,EAAE,OAAO,OAAO,EAAE,SAAS,OAAO,EAAE,MAAM,QAAQ,EAAE,MAAM,QAAQ,EAAE,OAAO,QAAQ,CAAC,IAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,OAAO,IAAM,EAAG,IAAI,MAAI,CAAE,aAAa,CAAC,EAAE,GAAE,GAAG,GAAG,CAAC,EAAE,MAAU,MAAM,8DAA8D,EAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,GAAG,EAAE,EAAQ,GAAe,OAAO,WAApB,IAA+B,WAA+B,IAApB,OAAsD,IAApB,OAA+C,OAAO,KAApB,IAAyB,KAAK,EAAE,CAAvC,EAAlC,EAA0E,KAAK,EAAE,CAAC,EAAE,IAAG,KAA0O,IAAgB,IAAI,KAAK,QAAQ,GAAG,GAAm5B,GAAE,UAAU,EAAE,CAAC,EAAE,GAAE,UAAU,GAAG,UAAU,CAAO,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,GAA2E,GAAE,UAAU,EAAE,UAAU,CAAC,GAAG,KAAK,EAAE,KAAK,KAAK,EAAE,QAAQ,KAAK,EAAE,OAAO,EAAE,EAAQ,GAAE,MAAM,UAAU,QAAQ,SAAS,EAAE,EAAE,CAAC,OAAO,MAAM,UAAU,QAAQ,KAAK,EAAE,EAAE,IAAK,GAAE,EAAE,SAAS,EAAE,EAAE,CAAC,GAAa,OAAO,GAAjB,SAAmB,OAAgB,OAAO,GAAjB,UAAuB,EAAE,QAAL,EAAY,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,GAAG,KAAK,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,IAAuW,EAAE,UAAU,EAAE,UAAU,CAAC,KAAK,iBAAiB,CAAC,GAAO,GAAE,UAAU,CAAC,GAAG,CAAC,EAAE,kBAAkB,CAAC,OAAO,eAAe,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,OAAO,eAAe,EAAE,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,iBAAiB,OAAO,GAAE,EAAE,CAAC,EAAE,oBAAoB,OAAO,GAAE,EAAE,MAAS,EAAE,OAAO,IAAI,CAA+C,GAAE,OAAO,UAAU,KAAK,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,MAAM,iCAAiC,KAAK,EAAE,CAAC,IAAgL,GAAE,KAAK,GAAW,GAAG,GAAE,QAAQ,CAAC,GAAG,GAAE,UAAU,EAAE,GAAE,OAAO,CAAC,GAAG,GAAE,OAAO,CAAC,GAAG,IAAI,GAAG,GAAG,GAAE,QAAQ,EAAE,EAAM,IAAG,CAAC,aAAa,CAAC,QAAQ,SAAS,EAAvC,IAAyC,CAAC,GAAE,OAAO,GAAG,EAAE,GAAE,UAAU,EAAE,GAAE,OAAO,GAAG,CAAC,GAAE,OAAO,CAAC,GAAO,IAAG,CAAC,aAAa,CAAC,QAAQ,SAAS,EAAvC,IAAyC,CAAC,GAAE,OAAO,CAA+D,EAAE,CAA6M,GAAxM,GAAG,GAAG,IAAI,GAAG,IAAG,CAAC,GAAG,qBAAqB,KAAK,GAAG,CAAC,GAAG,kBAAkB,KAAK,GAAG,CAAC,GAAG,mCAAmC,KAAK,GAAG,CAAC,GAAG,gBAAgB,KAAK,GAAG,CAAC,GAAG,yBAAyB,KAAK,GAAG,CAAC,IAAK,IAAM,KAAK,GAAG,GAAG,GAAG,GAAG,IAAI,KAAQ,GAAG,IAAI,CAAU,IAAN,MAAU,GAAG,WAAW,GAAG,EAAC,CAAC,GAAE,OAAO,GAAG,CAAC,MAAM,EAAG,GAAE,GAAU,GAAG,EAAE,CAA0iB,AAAoE,GAAjE,EAAE,UAAU,KAAW,IAAI,EAAS,SAAS,GAAE,GAAG,GAAkB,IAAK,GAAM,GAAG,GAAitC,EAAE,GAAG,EAAE,CAAK,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,UAAU,EAAE,UAAU,CAAC,GAAG,EAAE,EAAE,KAAK,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,eAAe,EAAE,gBAAgB,CAAC,EAAE,YAAY,CAAC,GAAO,GAAG,uBAAuB,IAAI,KAAK,QAAQ,CAAC,GAAG,GAAG,EAAgV,GAAG,gGAAgG,MAAM,IAAI,CAA8gB,GAAG,UAAU,IAAI,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,KAAK,IAAIJ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,GAAGA,GAAG,EAAE,EAAEA,GAAG,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,GAAO,GAAG,eAAe,IAAI,KAAK,QAAQ,CAAC,GAAG,GAAG,EAAE,CAAmzD,GAAG,wBAAwB,IAAI,KAAK,QAAQ,GAAG,GAA0wB,EAAE,EAAG,GAAE,CAAC,EAAG,UAAU,IAAI,CAAC,EAAE,EAAG,UAAU,oBAAoB,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,UAAU,EAAE,UAAU,CAAC,GAAG,EAAG,EAAE,EAAE,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,KAAK,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,KAAK,EAAE,MAAM,EAAG,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,IAAI,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAG,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,IAAI,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAM,GAAG,EAAE,KAAK,UAAkH,GAAG,IAAI,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,IAAI,EAAE,MAAO,GAAE,KAAK,GAAG,KAAK,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,MAAM,EAAE,KAAK,GAAG,CAAC,SAAS,IAAI,KAAK,GAAG,EAAE,OAAO,EAAE,CAAO,GAAN,KAAQ,CAAC,aAAa,CAAC,KAAK,KAAK,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,KAAK,KAAK,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,KAAK,EAAE,OAAmL,GAAG,CAAC,EAAE,GAAG,IAAI,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC,IAAM,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAA0lB,EAAE,GAAG,EAAG,CAAC,CAAC,EAAE,GAAG,WAAW,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,AAAqC,KAAK,KAAjC,KAAK,EAAE,aAAa,KAAK,EAAE,CAAQ,MAAM,EAAG,KAAK,OAAO,CAAC,KAAK,KAAK,GAAG,KAAK,CAAC,KAAK,OAAO,KAAK,EAAE,MAAM,UAAU,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,KAAK,EAAE,KAAK,EAAE,WAAW,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,GAAG,EAAE,EAAE,UAAU,CAAC,GAAG,EAAE,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,KAAK,GAAS,GAAN,cAAiB,EAAC,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE,aAAa,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,QAAsD,EAAE,GAAG,GAAE,CAAK,GAAG,EAAE,CAA4qB,GAAG,UAAU,EAAE,UAAU,CAAC,GAAG,EAAE,EAAE,KAAK,KAAK,CAACG,GAAG,KAAK,EAAE,GAAG,UAAU,YAAY,UAAU,CAAC,MAAM,MAAM,2CAA2C,EAAE,GAAG,UAAU,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,GAAG,GAAG,UAAU,KAAK,UAAU,GAAO,GAAG,EAAE,CAAC,GAAG,KAA8Z,GAAG,GAAG,qBAAqB,EAAE,GAAG,EAAE,CAAC,GAAG,WAAW,YAAY,EAAEE,GAAG,EAAE,CAAC,GAAG,GAAG,cAAc,EAAE,GAAG,EAAE,CAAK,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,mBAAmB,QAAQ,UAAU,GAAG,kBAAkB,GAAG,WAAW,GAAG,mBAAmB,GAAG,iBAAiB,CAAsE,GAAG,UAAU,EAAE,KAAY,GAAG,CAAC,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAA2c,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,UAAU,EAAE,UAAU,CAAC,OAAO,IAAI,gBAAgB,GAAG,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,GAAO,GAAG,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE,CAAgtI,CAAC,EAAE,GAAG,WAAW,WAAW,SAAS,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,OAAO,IAAM,EAAE,KAAK,EAAE,GAAM,GAAG,EAAE,EAAR,EAAS,EAAE,GAAG,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,EAAE,EAAE,CAAC,IAAMG,EAAE,GAAG,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAa,GAAZ,KAAK,EAAE,IAAI,CAAI,EAAE,EAAEA,KAAQA,GAAH,GAAM,IAAI,KAAK,IAAI,KAAK,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,CAAC,KAAK,GAAMA,GAAH,GAAS,GAAH,GAAM,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,OAAO,EAAK,GAAG,KAAK,EAAE,EAAb,EAAc,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,GAAgB,OAAO,YAApB,IAAgC,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,IAAIR,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,EAAO,GAAL,IAAO,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC,MAAM,iBAAiBI,EAAE,eAAeM,EAAE,MAAMZ,EAAE;EAAKD,EAAE;EAAKc,EAAE,IAAIX,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAEQ,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAIP,EAAEC,EAAE,KAAK,EAAE,IAAI,EAAEA,EAAE,EAAEA,EAAE,EAAE,kBAAkB,0BAA0B,CAAC,OAAO,CAAC,GAAED,EAAE,CAAC,CAAC,IAAIM,EAAEN,EAAE,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,EAAEM,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAED,EAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,yDAAyD,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,KAAK,GAAG,GAAG,KAAKE,EAAER,EAAE,CAAC,IAAI,KAAK,GAAMQ,GAAH,IAAO,GAAG,KAAK,EAAE,KAAK,EAAE,OAAO,KAAK,GAAG,CAAC,KAAK,EAAE,OAAO,IAAI,GAAG,KAAK,EAAE,KAAK,EAAER,EAAE,KAAK,CAAC,GAAG,KAAKA,EAAE,EAAKQ,GAAH,GAAM,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,KAAK,IAAOA,GAAH,EAAK,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,QAAa,GAAL,KAAQ,EAAER,EAAE,QAAQ,cAAc,EAAE,KAAK,EAAE,EAAEM,EAAG,GAAG,GAAG,KAAK,EAAE,EAAEA,EAAG,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,KAAK,QAAW,IAAI,EAAE,GAAG,UAAU,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,KAAK,GAAM,GAAH,GAAM,GAAG,KAAK,IAAI,EAAE,OAAO,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,KAAK,IAAM,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,KAAK,GAAG,SAAS,EAAE,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC,MAAM,YAAY,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAI,KAAK,GAAR,IAAY,IAAI,CAACA,EAAG,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,KAAK,EAAE,EAAE,EAAM,GAAG,OAAO,oIAAoI,CAAo4C,GAAG,UAAU,SAAS,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,GAAW,GAAR,UAAa,EAAE,KAAK,KAAK,EAAE,EAAE,KAAK,IAAI,EAAE,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,mBAAmB,OAAO,EAAE,CAAC,CAAC,QAAQ,uBAAuB,MAAM,CAAC,EAAQ,EAAE,KAAK,IAAd,MAAkB,EAAE,KAAK,IAAI,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,KAAK,GAAQ,EAAE,OAAO,EAAE,EAAhB,KAAkB,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,GAAG,EAAO,EAAE,OAAO,EAAE,EAAhB,IAAiB,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,EAAM,GAAG,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,KAAsrB,CAAC,EAAE,GAAG,WAAW,IAAI,SAAS,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,GAAG,EAAE,MAAM,EAAE,QAAQ,SAAS,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,EAAE,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC,EAAE,KAAK,EAAET,EAAE,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,EAAE,GAAG,UAAU,CAAC,GAAG,KAAK,CAAC,IAAM,EAAE,MAAM,KAAK,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,KAAK,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC,IAAM,EAAE,EAAE,GAAG,IAAI,IAAIE,EAAE,EAAEA,EAAE,EAAE,OAAO,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,GAAa,OAAO,GAAjB,SAAmB,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,OAAO,KAAK,EAAE,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,KAAK,EAAE,QAAQ,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,GAAG,EAAE,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,QAAQ,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,MAAM,EAAE,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,SAAS,UAAU,CAAC,GAAG,KAAK,EAAE,OAAO,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAM,EAAE,EAAE,CAAC,EAAE,MAAM,KAAK,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,IAAM,EAAE,mBAAmB,OAAO,EAAE,CAAC,CAACC,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAEA,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE,EAAOA,EAAE,KAAP,KAAY,GAAG,IAAI,mBAAmB,OAAOA,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,MAAO,MAAK,EAAE,EAAE,KAAK,IAAI,EAA8S,GAAG,GAAyjC,GAAG,UAAU,OAAO,UAAU,CAAC,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,aAAa,KAAK,GAAO,KAAK,EAAE,OAAX,EAAgB,CAAC,IAAI,IAAM,KAAK,KAAK,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,UAAU,UAAU,SAAS,EAAE,CAAC,OAAO,EAAE,KAAK,UAAU,EAAE,IAAK,GAAE,EAAE,GAAG,UAAU,MAAM,SAAS,EAAE,CAAC,OAAO,EAAE,KAAK,MAAM,EAAE,IAAK,GAAE,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,UAAU,EAAE,UAAU,CAAC,OAAO,IAAI,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,CAAC,OAAO,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAG,CAAK,GAAG,EAAoM,CAAC,EAAE,GAAG,WAAW,KAAK,SAAS,EAAE,EAAE,CAAC,GAAG,KAAK,YAAY,GAAG,MAAM,KAAK,OAAO,CAAC,MAAM,+BAA+B,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,WAAW,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,CAAC,GAAM,KAAK,YAAR,EAAmB,MAAM,KAAK,OAAO,CAAC,MAAM,8BAA8B,CAAC,KAAK,EAAE,CAAC,EAAE,IAAM,EAAE,CAAC,QAAQ,KAAK,EAAE,OAAO,KAAK,EAAE,YAAY,KAAK,EAAE,MAAM,IAAK,GAAE,CAAC,IAAI,EAAE,KAAK,IAAI,KAAK,GAAG,GAAG,MAAM,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,GAAG,KAAK,KAAK,CAAC,KAAK,GAAG,KAAK,KAAK,CAAC,EAAE,EAAE,MAAM,UAAU,CAAC,KAAK,SAAS,KAAK,aAAa,GAAG,KAAK,EAAE,IAAI,QAAQ,KAAK,OAAO,EAAE,KAAK,GAAG,KAAK,EAAE,OAAO,uBAAuB,CAAC,WAAW,IAAI,CAAC,GAAG,KAAK,YAAY,KAAK,GAAM,KAAK,YAAR,IAAqB,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,WAAW,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC,GAAG,KAAK,IAAI,KAAK,EAAE,EAAE,KAAK,IAAI,KAAK,OAAO,KAAK,EAAE,OAAO,KAAK,WAAW,KAAK,EAAE,WAAW,KAAK,EAAE,EAAE,QAAQ,KAAK,WAAW,EAAE,GAAG,KAAK,EAAE,KAAK,IAAI,KAAK,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,IAAI,GAAmB,KAAK,eAArB,cAAkC,EAAE,aAAa,CAAC,KAAK,KAAK,GAAG,KAAK,KAAK,CAAC,KAAK,GAAG,KAAK,KAAK,CAAC,SAAkB,EAAE,iBAAX,IAAK,IAAsB,SAAS,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,KAAK,aAAa,MAAM,MAAM,sEAAsE,CAAC,KAAK,SAAS,EAAE,MAAM,KAAK,SAAS,KAAK,aAAa,GAAG,KAAK,EAAE,IAAI,YAAY,GAAG,KAAK,MAAM,EAAE,MAAM,CAAC,KAAK,KAAK,GAAG,KAAK,KAAK,CAAC,KAAK,GAAG,KAAK,KAAK,CAAC,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,EAAE,MAAM,KAAK,SAAS,KAAK,EAAE,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,IAAI,YAAe,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,KAAK,SAAS,KAAK,cAAc,GAAG,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,KAAK,CAAI,KAAK,YAAR,GAAoB,GAAG,KAAK,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,KAAK,IAAI,KAAK,SAAS,KAAK,aAAa,EAAE,GAAG,KAAK,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,KAAK,IAAI,KAAK,SAAS,EAAE,GAAG,KAAK,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,GAAG,GAAG,KAAK,EAAE,EAAE,iBAAiB,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,kBAAkB,SAAS,EAAE,CAAC,OAAO,KAAK,GAAG,KAAK,EAAE,IAAI,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE,sBAAsB,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAM,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK;EAAO,EAAE,OAAO,eAAe,GAAG,UAAU,kBAAkB,CAAC,IAAI,UAAU,CAAC,OAAkB,KAAK,IAAjB,WAAoB,IAAI,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,UAAU,eAAe,CAAC,CAAK,GAAG,EAAE,KAAK,MAAgN,EAAE,EAAG,EAAG,CAAK,GAAG,GAAG,GAAG,YAAY,GAAG,CAAC,OAAO,MAAM,CAAuvO,CAAC,EAAE,EAAG,WAAW,GAAG,SAAS,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,MAAM,MAAM,0DAA0D,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,MAAM,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQD,EAAE,CAAa,GAAG,KAAKA,EAAE,CAAtB,OAAuB,GAAG,EAAE,GAAG,GAAG,EAAE,IAAI,IAAI,KAAK,QAAQ,CAAC,EAAE,GAAG,OAAO,eAAe,EAAE,GAAG,OAAO,UAAU,IAAI,IAAI,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,KAAK,CAAC,GAAe,OAAO,EAAE,MAArB,YAAuC,OAAO,EAAE,KAArB,WAAyB,MAAM,MAAM,uCAAuC,OAAO,EAAE,CAAC,CAAC,IAAI,IAAMA,KAAK,EAAE,MAAM,CAAC,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,GAAmBA,EAAE,aAAa,EAA/B,gBAAiC,CAAC,EAAE,EAAE,UAAU,aAAa,EAAE,SAAS,EAAE,GAAG,GAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI,eAAe,kDAAkD,CAAC,IAAI,GAAK,CAACA,EAAED,KAAK,EAAE,KAAK,EAAE,iBAAiBC,EAAED,EAAE,CAAC,KAAK,IAAI,KAAK,EAAE,aAAa,KAAK,GAAG,oBAAoB,KAAK,GAAG,KAAK,EAAE,kBAAkB,KAAK,IAAI,KAAK,EAAE,gBAAgB,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,KAAK,KAAK,KAAK,EAAE,SAAS,EAAE,CAAC,OAAO,IAAI,IAAI,EAAY,OAAOC,EAAE,SAAnB,UAAqCA,EAAE,YAAX,IAAK,IAAiB,KAAK,EAAE,GAAG,KAAK,EAAE,QAAQ,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQA,EAAE,CAAC,GAAG,KAAKA,EAAE,GAAG,EAAE,GAAG,UAAU,CAAU,KAAT,IAAK,IAAO,KAAK,IAAI,KAAK,EAAE,mBAAmB,KAAK,EAAE,eAAe,KAAK,EAAE,EAAE,EAAG,KAAK,UAAU,CAAC,KAAK,MAAM,EAAE,GAAG,EAAE,MAAM,SAAS,EAAE,CAAC,KAAK,GAAG,KAAK,IAAI,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAG,KAAK,WAAW,CAAC,EAAG,KAAK,QAAQ,CAAC,GAAG,KAAK,GAAG,EAAE,EAAE,UAAU,CAAC,KAAK,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,EAAE,EAAG,EAAE,EAAE,KAAK,KAAK,EAAE,EAAE,GAAG,UAAU,CAAC,KAAK,IAAI,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,IAAI,GAAG,EAAE,GAAG,UAAU,CAAC,GAAG,KAAK,EAAE,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,MAAO,GAAE,GAAG,KAAK,CAAC,KAAK,EAAE,OAAO,QAAW,CAAC,MAAM,KAAK,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,QAAW,CAAC,MAAM,KAAK,EAAE,GAAG,SAAS,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,OAAO,GAAM,EAAE,QAAQ,EAAE,EAAf,IAAkB,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,KAAK,GAAG,EAAE,GAAG,UAAU,CAAC,OAAgB,OAAO,KAAK,GAAtB,SAAwB,KAAK,EAAE,OAAO,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,WAAW,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,KAAQ,KAAK,GAAR,MAAc,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,IAAI,KAAK,QAAQ,CAAC,CAAC,EAAE,KAAK,IAAI,IAAM,EAAE,IAAI,GAAG,KAAK,KAAK,EAAE,EAAE,IAAK,GAAE,CAAK,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,GAAU,KAAK,IAAZ,MAAe,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,KAAK,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,IAAa,EAAE,aAAa,EAAE,GAAa,OAAO,EAAE,EAAE,EAAE,WAAvB,SAAiC,EAAE,OAAO,IAAK,MAA7E,IAAK,GAA2E,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAU,IAAP,MAAU,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC,EAAG,EAAE,GAAG,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,EAAG,EAAE,OAAO,GAAG,CAAC,KAAK,GAAG,EAAG,EAAE,oBAAoB,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,EAAE,WAAW,mBAAmB,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,EAAG,EAAE,OAAO,OAAO,CAAC,KAAK,GAAG,EAAG,EAAE,OAAO,EAAE,CAAC,EAAG,EAAE,MAAM,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,QAAW,KAAK,GAAR,IAAY,EAAE,GAAG,KAAK,EAAE,CAAI,KAAK,EAAE,QAAV,GAAkB,GAAG,KAAK,EAAE,EAAE,GAAG,KAAK,GAAG,EAAE,GAAG,UAAU,CAAC,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,EAAE,KAAK,GAAS,KAAK,GAAX,MAAc,GAAG,KAAK,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,+BAA+B,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,GAAG,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,IAAI,KAAK,EAAE,KAAK,KAAK,EAAE,KAAK,gCAAgC,CAAC,KAAK,EAAE,KAAK,uDAAuD,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAEO,EAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE,GAAG,UAAU,CAAO,KAAK,GAAX,OAAe,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,KAAK,CAACA,EAAG,GAAG,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,GAAG,KAAK,EAAE,KAAK,iCAAiC,CAACA,EAAG,EAAE,GAAG,KAAK,EAAE,KAAK,4BAA4B,CAACA,EAAG,EAAE,GAAG,CAAC,EAAE,GAAG,WAAW,GAAG,UAAU,GAAG,EAAE,GAAG,UAAU,GAAG,EAAE,GAAG,UAAU,GAAG,EAAE,GAAG,UAAU,GAAG,EAAE,GAAG,UAAU,GAAG,GAAG,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,IAAI,EAAG,EAAE,EAAE,EAAE,EAAE,EAAG,EAAG,CAAC,EAAG,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,GAAG,IAAK,GAAE,EAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAG,UAAU,MAAM,UAAU,CAAC,GAAG,KAAK,EAAE,EAAE,EAAG,UAAU,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,GAAa,OAAO,GAAjB,SAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,IAAI,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,EAAEP,EAAE,KAAK,EAAED,IAAI,EAAE,KAAK,EAAE,CAAC,CAAI,EAAE,GAAL,GAAQ,GAAG,EAAE,EAAE,EAAG,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,EAAE,KAAK,OAAO,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,OAAO,KAAK,EAAE,EAAG,EAAE,EAAE,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,UAAU,GAAG,UAAU,CAAC,EAAG,KAAK,EAAE,IAAI,EAAE,GAAG,UAAU,GAAG,SAAS,EAAE,CAAC,EAAG,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,UAAU,GAAG,SAAS,EAAE,CAAC,EAAG,KAAK,EAAE,IAAI,GAAG,EAAE,GAAG,UAAU,GAAG,UAAU,CAAC,EAAG,KAAK,EAAE,IAAI,EAAE,GAAG,UAAU,iBAAiB,GAAG,UAAU,EAAE,EAAG,UAAU,KAAK,EAAG,UAAU,EAAE,EAAG,UAAU,KAAK,EAAG,UAAU,EAAE,EAAG,UAAU,MAAM,EAAG,UAAU,MAAM,GAAG,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,WAAW,EAAE,GAAG,SAAS,WAAW,GAAG,UAAU,GAAG,GAAG,KAAK,IAAI,GAAG,MAAM,IAAI,GAAG,MAAM,IAAI,GAAG,QAAQ,IAAI,EAAG,UAAU,OAAO,EAAG,UAAU,EAAE,EAAG,UAAU,WAAW,EAAG,UAAU,EAAE,EAAG,UAAU,aAAa,EAAG,UAAU,GAAG,EAAG,UAAU,iBAAiB,EAAG,UAAU,GAAG,EAAG,UAAU,UAAU,EAAG,UAAU,GAAG,EAAG,UAAU,gBAAgB,EAAG,UAAU,GAAG,EAAG,UAAU,gBAAgB,EAAG,UAAU,GAAG,EAAG,UAAU,KAAK,EAAG,UAAU,GAAG,EAAG,UAAU,mBAAmB,EAAG,UAAU,GAAO,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAS,GAAG,sBAA4B,EAAN,KAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,IAAI,EAAE,iBAAiB,CAAC,OAAa,KAAK,KAAX,KAAe,OAAO,CAAC,OAAO,KAAK,iBAAiB,CAAC,OAAO,KAAK,IAAI,iBAAiB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAK,EAAG,gBAAgB,IAAI,EAAG,KAAK,CAAC,EAAG,mBAAmB,IAAI,EAAG,yBAAyB,CAAC,EAAG,YAAY,IAAI,EAAG,kBAAkB,CAAC,EAAG,UAAU,IAAI,EAAG,YAAY,CAAK,GAAG,SAAe,GAAG,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC,KAAK,KAAK,EAAE,KAAK,UAAU,GAAE,KAAK,YAAY,GAAE,KAAK,gBAAgB,KAAK,IAAI,UAAU,CAAC,OAAO,KAAK,UAAU,IAAI,SAAS,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG,MAAU,UAAU,kBAAkB,EAAE,4BAA4B,CAAC,KAAK,UAAU,EAAE,YAAY,EAAE,CAAC,KAAK,UAAoB,OAAO,GAAjB,SAAmB,GAAE,GAAG,EAAE,IAAI,YAAY,CAAC,OAAO,KAAK,YAAY,IAAI,WAAW,EAAE,CAAC,GAAe,OAAO,GAAnB,WAAqB,MAAU,UAAU,oDAAoD,CAAC,KAAK,YAAY,EAAE,IAAI,gBAAgB,CAAC,OAAO,KAAK,gBAAgB,IAAI,eAAe,EAAE,CAAC,KAAK,gBAAgB,EAAE,MAAM,GAAG,EAAE,CAAC,KAAK,iBAAiB,KAAK,gBAAgB,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,KAAK,YAAY,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,KAAK,iBAAiB,KAAK,gBAAgB,KAAK,EAAE,QAAQ,GAAG,EAAE,CAAC,KAAK,YAAY,KAAK,EAAE,QAAQ,GAAG,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,iBAAiB,KAAK,gBAAgB,KAAK,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,YAAY,KAAK,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,iBAAiB,KAAK,gBAAgB,KAAK,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,YAAY,KAAK,EAAE,KAAK,GAAG,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,KAAK,iBAAiB,KAAK,gBAAgB,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,KAAK,YAAY,KAAK,EAAE,MAAM,GAAG,EAAE,GAAG,sBAAsB,CAA0qB,EAAG,CAAC,GAAG,KAAK,UAAU,YAAY,QAAQ,UAAU,iBAAiB,mBAAmB,kBAAkB,oBAAoB,UAAU,YAAY,eAAe,iBAAiB,kBAAkB,oBAAoB,gBAAgB,kBAAkB,mBAAmB,qBAAqB,oBAAoB,sBAAsB,QAAQ,UAAU,aAAa,eAAe,cAAc,gBAAgB,SAAS,WAAW,YAAY,cAAc,UAAU,YAAY,CAAO,EAAN,cAAiB,EAAC,CAAC,YAAY,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,GAAG,KAAK,KAAK,UAAU,KAAK,KAAK,KAAK,KAAK,YAAiB,GAAN,KAAQ,CAAC,aAAa,CAAC,KAAK,QAAQ,IAAI,UAAU,EAAE,IAAI,CAAC,KAAK,QAAQ,EAAE,KAAK,OAAO,IAAI,GAAQ,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,KAAK,KAAK,QAAQ,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,IAAI,gBAAgB,UAAU,IAAI,GAAQ,GAAN,KAAQ,CAAC,UAAU,CAAC,OAAO,QAAQ,QAAQ,KAAK,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,sBAAsB,EAAE,EAAG,gBAAgB,EAAE,CAAC,UAAU,IAAS,GAAN,KAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,MAAM,EAAE,KAAK,eAAe,KAAK,UAAU,CAAC,OAAO,QAAQ,QAAQ,KAAK,MAAM,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,eAAe,EAAE,EAAE,sBAAsB,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,UAAU,CAAC,KAAK,eAAe,OAAY,GAAN,KAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,YAAY,EAAG,gBAAgB,KAAK,EAAE,EAAE,KAAK,aAAa,CAAC,EAAE,KAAK,KAAK,KAAK,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAQ,EAAE,GAAG,KAAK,IAAI,EAAkB,QAAQ,SAAS,EAAhC,EAAE,KAAK,EAAE,EAAEC,EAAE,EAAwB,EAAE,IAAI,GAAG,KAAK,MAAM,CAAC,KAAK,IAAI,KAAK,YAAY,KAAK,GAAG,CAAC,EAAE,SAAS,CAAC,EAAE,IAAI,GAAG,EAAE,sBAAsB,EAAE,KAAK,YAAY,EAAE,EAAE,IAAM,MAAM,CAAC,IAAMD,EAAE,EAAE,EAAE,kBAAkB,SAAS,CAAC,MAAMA,EAAE,QAAQ,MAAM,EAAE,KAAK,YAAY,GAAG,EAAEE,EAAE,GAAG,CAAC,EAAG,kCAAkC,gBAAgB,CAAC,KAAK,KAAKD,EAAE,KAAK,KAAK,qBAAqB,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,GAAGC,EAAED,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAMA,EAAE,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAEC,EAAED,EAAE,EAAE,EAAG,kCAAkC,wBAAwB,CAAC,EAAE,SAAS,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAM,EAAE,KAAK,EAAE,EAAE,KAAK,aAAa,MAAO,MAAK,aAAa,CAAC,EAAE,KAAK,KAAK,KAAK,KAAK,SAAS,EAAE,CAAC,MAAM,GAAG,KAAK,IAAI,EAAkGD,GAAG,EAAa,OAAOA,EAAE,aAAnB,SAA+B,CAAC,IAAI,GAAGA,EAAE,YAAY,KAAK,YAAY,EAAE,MAA7K,EAAG,kCAAkC,wCAAwC,CAAC,KAAK,UAAU,GAAsF,CAAC,QAAQ,QAAQ,KAAK,CAAC,iBAAiB,CAAC,KAAK,aAAa,CAAC,EAAE,UAAU,CAAC,KAAK,MAAM,KAAK,KAAK,wBAAwB,KAAK,EAAE,CAAC,GAAG,CAAC,IAAM,EAAE,KAAK,MAAM,KAAK,KAAK,QAAQ,CAAC,OAAO,EAAU,IAAP,MAAoB,OAAO,GAAjB,SAAmB,CAAC,IAAI,EAAG,EAAE,GAAQ,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,KAAK,aAAa,KAAK,KAAK,EAAG,YAAY,KAAK,EAAE,IAAI,IAAI,GAAG,CAAC,OAAO,KAAK,EAAE,KAAK,GAAG,EAAE,EAAG,EAAY,OAAO,KAAK,GAAtB,UAAgC,KAAK,IAAZ,MAAe,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,iCAAiC,CAAC,KAAK,EAAE,KAAK,gCAAgC,EAAE,CAAC,EAAE,IAAI,SAAS,CAAC,KAAK,EAAE,IAAI,kBAAkB,KAAK,EAAE,CAAC,IAAM,EAAE,KAAK,GAAG,CAAC,OAAO,GAAG,KAAK,EAAE,IAAI,gBAAgB,EAAE,CAAC,KAAK,GAAG,KAAK,EAAE,IAAI,iCAAiC,KAAK,EAAE,CAAC,KAAK,IAAS,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,UAAU,CAAC,OAAO,QAAQ,QAAQ,IAAI,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,sBAAsB,EAAE,EAAG,YAAY,EAAE,CAAC,UAAU,EAAE,iBAAiB,IAAS,GAAN,KAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,MAAM,EAAE,KAAK,KAAK,WAAW,KAAK,QAAQ,IAAI,IAAI,GAAG,EAAE,OAAO,GAAG,KAAK,QAAQ,IAAI,sBAAsB,KAAK,MAAM,GAAQ,GAAN,KAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,aAAa,CAAC,EAAE,KAAK,SAAS,KAAK,KAAK,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC,IAAM,EAAE,GAAG,CAAOC,EAAE,OAAR,MAAe,EAAG,gCAAgC,0EAA0EA,EAAE,MAAM,UAAU,CAAC,IAAMF,EAAEE,EAAE,QAAQ,KAAK,EAAE,MAAO,MAAK,EAAEA,EAAE,MAAM,EAAG,gCAAgC,YAAYF,EAAE,MAAM,WAAW,SAAS,CAACA,EAAE,EAAEE,EAAE,MAAM,CAAC,QAAQ,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,sBAAsB,EAAED,EAAE,EAAE,EAAE,IAAM,EAAE,GAAG,CAAC,EAAG,gCAAgC,oBAAoB,CAAC,KAAK,SAASC,EAAE,KAAK,SAAS,iBAAiB,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,GAAG,EAAEA,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,IAAMA,EAAE,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,EAAEA,EAAE,CAAC,EAAG,gCAAgC,4BAA4B,IAAI,EAAE,CAAC,UAAU,CAAC,IAAM,EAAE,KAAK,aAAa,MAAO,MAAK,aAAa,CAAC,EAAE,KAAK,SAAS,KAAK,SAAS,SAAS,EAAE,CAAC,MAAM,GAAGA,GAAG,EAAa,OAAOA,EAAE,OAAnB,SAAyB,CAAC,KAAK,EAAEA,EAAE,MAAM,IAAI,GAAGA,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,QAAQ,KAAK,CAAC,iBAAiB,CAAC,KAAK,aAAa,CAAC,EAAE,UAAU,CAAC,KAAK,UAAU,KAAK,SAAS,oBAAoB,KAAK,EAAE,GAAkV,GAAN,KAAQ,CAAC,OAAO,GAAG,CAAC,IAAiH,EAAE,GAAG,KAAK,EAAE,OAAO,IAAI,CAAC,IAAM,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,IAAI,EAAE,GAAG,MAAI,GAAG,iEAAE,OAAO,EAAE,GAAG,GAAS,EAAE,OAAO,IAAwJ,EAAN,MAAM,CAAE,CAAC,YAAY,EAAE,EAAE,CAAqH,GAAjH,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,EAAE,GAAgF,GAAG,IAAI,MAAM,IAAI,EAAG,EAAG,iBAAiB,uCAAuC,EAAE,CAA0F,GAAtF,EAAE,cAAuF,GAAG,aAAa,MAAM,IAAI,EAAG,EAAG,iBAAiB,mCAAmC,EAAE,CAAC,OAAO,KAAK,CAAC,OAAO,EAAG,WAAW,KAAK,KAAK,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC,OAAO,EAAG,WAAW,EAAE,SAAS,CAAC,CAAC,OAAO,WAAW,EAAE,CAAC,IAAM,EAAE,KAAK,MAAM,EAAE,IAAI,CAA6B,OAAO,IAAI,EAAG,EAAxC,KAAK,MAAM,KAAK,EAAE,IAAI,GAAG,CAAmB,CAAC,QAAQ,CAAC,OAAO,IAAI,KAAK,KAAK,UAAU,CAAC,CAAC,UAAU,CAAC,MAAO,KAAI,KAAK,QAAQ,KAAK,YAAY,IAAI,WAAW,EAAE,CAAC,OAAO,KAAK,UAAU,EAAE,QAAQ,EAAG,KAAK,YAAY,EAAE,YAAY,CAAC,EAAG,KAAK,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,SAAS,EAAE,cAAc,KAAK,YAAY,UAAU,CAAC,MAAM,qBAAqB,KAAK,QAAQ,iBAAiB,KAAK,YAAY,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,YAAY,KAAK,YAAY,CAAC,SAAS,CAAC,IAAM,EAAE,KAAK,QAAS,cAAa,OAAO,OAAO,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,OAAO,KAAK,YAAY,CAAC,SAAS,EAAE,IAAI,GAAQ,EAAN,MAAM,CAAE,CAAC,YAAY,EAAE,CAAC,KAAK,UAAU,EAAE,OAAO,cAAc,EAAE,CAAC,OAAO,IAAI,EAAG,EAAE,CAAC,OAAO,KAAK,CAAC,OAAO,IAAI,EAAG,IAAI,EAAG,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,CAAC,OAAO,IAAI,EAAG,IAAI,EAAG,aAAa,UAAU,CAAC,CAAC,UAAU,EAAE,CAAC,OAAO,KAAK,UAAU,WAAW,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,KAAK,UAAU,QAAQ,EAAE,UAAU,CAAC,gBAAgB,CAAC,MAAO,KAAI,KAAK,UAAU,QAAQ,KAAK,UAAU,YAAY,IAAI,UAAU,CAAC,MAAM,mBAAmB,KAAK,UAAU,UAAU,CAAC,IAAI,aAAa,CAAC,OAAO,KAAK,YAAiB,GAAN,MAAM,CAAE,CAAC,YAAY,EAAE,EAAE,EAAE,CAAU,IAAT,IAAK,GAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,GAAI,CAAU,IAAT,IAAK,GAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,GAAG,GAAI,CAAC,KAAK,SAAS,EAAE,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,QAAQ,EAAE,CAAC,OAAW,EAAG,WAAW,KAAK,EAAE,GAAzB,EAA0B,MAAM,EAAE,CAAC,IAAM,EAAE,KAAK,SAAS,MAAM,KAAK,OAAO,KAAK,OAAO,CAAC,CAAC,OAAO,aAAa,EAAG,EAAE,SAAS,GAAG,CAAC,EAAE,KAAKA,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,UAAU,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,KAAK,OAAO,SAAS,EAAE,CAAC,MAAO,GAAW,IAAT,IAAK,GAAM,EAAE,EAAE,KAAK,UAAU,KAAK,SAAS,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC,SAAS,CAAC,OAAO,KAAK,UAAU,KAAK,SAAS,KAAK,OAAO,KAAK,OAAO,EAAE,CAAC,cAAc,CAAC,OAAO,KAAK,SAAS,KAAK,QAAQ,aAAa,CAAC,OAAO,KAAK,IAAI,KAAK,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,KAAK,SAAS,KAAK,OAAO,GAAG,SAAS,CAAC,OAAW,KAAK,SAAT,EAAgB,WAAW,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,MAAM,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,oBAAoB,EAAE,CAAC,GAAG,KAAK,OAAO,IAAI,EAAE,OAAO,MAAM,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,IAAI,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,SAAS,GAAG,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS,MAAM,KAAK,OAAO,KAAK,OAAO,CAAC,CAAC,OAAO,WAAW,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAMF,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,GAAGA,EAAE,EAAE,MAAM,GAAG,GAAGA,EAAE,EAAE,MAAO,GAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAS,EAAN,MAAM,UAAW,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC,OAAO,IAAI,EAAG,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,KAAK,SAAS,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,OAAO,KAAK,iBAAiB,CAAC,OAAO,WAAW,GAAG,EAAE,CAAC,IAAM,EAAE,EAAE,CAAC,IAAI,IAAM,KAAK,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,EAAE,EAAE,MAAM,IAAI,EAAG,EAAG,iBAAiB,oBAAoB,EAAE,uCAAuC,CAAC,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,CAAC,QAAQ,GAAGE,EAAE,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,EAAG,EAAE,CAAC,OAAO,WAAW,CAAC,OAAO,IAAI,EAAG,EAAE,CAAC,GAAQ,GAAG,2BAAiC,EAAN,MAAM,UAAW,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC,OAAO,IAAI,EAAG,EAAE,EAAE,EAAE,CAAC,OAAO,kBAAkB,EAAE,CAAC,OAAO,GAAG,KAAK,EAAE,CAAC,iBAAiB,CAAC,OAAO,KAAK,SAAS,CAAC,KAAK,IAAI,EAAE,EAAE,QAAQ,MAAM,OAAO,CAAC,QAAQ,KAAK,MAAM,CAAC,EAAG,kBAAkB,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,OAAO,KAAK,iBAAiB,CAAC,YAAY,CAAC,OAAW,KAAK,SAAT,GAA8B,KAAK,IAAI,EAAE,GAAxB,WAAyB,OAAO,UAAU,CAAC,OAAO,IAAI,EAAG,CAAC,WAAW,CAAC,CAAC,OAAO,iBAAiB,EAAE,CAAC,IAAM,EAAE,EAAE,CAAK,EAAE,GAAG,EAAE,EAAQ,MAAM,CAAC,GAAO,EAAE,SAAN,EAAa,MAAM,IAAI,EAAG,EAAG,iBAAiB,uBAAuB,EAAE,2EAA2E,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,IAAMD,EAAE,EAAE,GAAG,GAAUA,IAAP,KAAS,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,MAAM,IAAI,EAAG,EAAG,iBAAiB,uCAAuC,EAAE,CAAC,IAAMA,EAAE,EAAE,EAAE,GAAG,GAAUA,IAAP,MAAgBA,IAAN,KAAeA,IAAN,IAAQ,MAAM,IAAI,EAAG,EAAG,iBAAiB,qCAAqC,EAAE,CAAC,GAAGA,EAAE,GAAG,OAAYA,IAAN,KAAS,EAAE,CAAC,EAAE,KAAWA,IAAN,KAAS,GAAG,GAAGA,EAAE,MAAM,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE,MAAM,IAAI,EAAG,EAAG,iBAAiB,2BAA2B,EAAE,CAAC,OAAO,IAAI,EAAG,EAAE,CAAC,OAAO,WAAW,CAAC,OAAO,IAAI,EAAG,EAAE,CAAC,GAAQ,EAAN,MAAM,CAAE,CAAC,YAAY,EAAE,CAAC,KAAK,KAAK,EAAE,OAAO,SAAS,EAAE,CAAC,OAAO,IAAI,EAAG,EAAG,WAAW,EAAE,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC,OAAO,IAAI,EAAG,EAAG,WAAW,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,OAAO,CAAC,OAAO,IAAI,EAAG,EAAG,WAAW,CAAC,CAAC,IAAI,iBAAiB,CAAC,OAAO,KAAK,KAAK,SAAS,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,KAAK,IAAI,KAAK,KAAK,OAAO,EAAE,GAAG,EAAE,oBAAoB,CAAC,OAAO,KAAK,KAAK,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC,mBAAmB,CAAC,OAAO,KAAK,KAAK,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAc,IAAP,MAAc,EAAG,WAAW,KAAK,KAAK,EAAE,KAAK,GAAnC,EAAoC,UAAU,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC,OAAO,WAAW,EAAE,EAAE,CAAC,OAAO,EAAG,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,EAAE,OAAO,aAAa,EAAE,CAAC,OAAO,IAAI,EAAG,IAAI,EAAG,EAAE,OAAO,CAAC,CAAC,GAAQ,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,QAAQ,EAAE,KAAK,gBAAgB,EAAE,KAAK,OAAO,EAAE,KAAK,WAAW,IAAuV,GAAG,WAAW,GAAie,GAAN,MAAM,CAAE,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,OAAO,KAAK,CAAC,OAAO,IAAI,EAAG,EAAG,KAAK,CAAC,EAAG,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,OAAO,IAAI,EAAG,EAAG,KAAK,CAAC,EAAG,OAAO,CAAC,GAAG,GAA4K,GAAG,4HAAkI,GAAN,KAAQ,CAAC,aAAa,CAAC,KAAK,qBAAqB,EAAE,CAAC,uBAAuB,EAAE,CAAC,KAAK,qBAAqB,KAAK,EAAE,CAAC,uBAAuB,CAAC,KAAK,qBAAqB,SAAS,GAAG,GAAG,EAAE,GAA2I,EAAN,MAAM,CAAE,CAAC,YAAY,EAAE,CAAC,KAAK,aAAa,KAAK,KAAK,cAAc,KAAK,KAAK,OAAO,IAAK,GAAE,KAAK,MAAM,IAAK,GAAE,KAAK,OAAO,CAAC,EAAE,KAAK,iBAAiB,CAAC,EAAE,GAAG,GAAG,CAAC,KAAK,OAAO,CAAC,EAAE,KAAK,OAAOC,EAAE,KAAK,cAAc,KAAK,aAAaA,EAAE,IAAI,GAAG,CAAC,KAAK,OAAO,CAAC,EAAE,KAAK,MAAMA,EAAE,KAAK,eAAe,KAAK,cAAcA,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,KAAK,KAAK,IAAK,GAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,kBAAkB,GAAI,CAAC,KAAK,iBAAiB,CAAC,EAAE,KAAK,OAAO,KAAK,MAAM,KAAK,YAAY,EAAE,KAAK,MAAM,CAAC,KAAK,YAAY,EAAE,KAAK,OAAO,CAAC,IAAI,IAAK,EAAE,IAAI,CAAC,KAAK,aAAa,GAAG,CAAC,KAAK,YAAY,EAAED,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,cAAc,GAAG,CAAC,KAAK,YAAY,EAAEC,EAAE,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,UAAU,EAAE,IAAI,CAAC,KAAK,KAAK,EAAE,EAAE,GAAG,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC,IAAM,EAAE,GAAG,CAAC,OAAO,aAAa,EAAG,EAAE,EAAG,QAAQ,EAAE,OAAOA,EAAE,CAAC,OAAO,EAAG,OAAOA,EAAE,EAAE,YAAY,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,sBAAsB,EAAE,EAAE,EAAE,CAAC,EAAG,QAAQ,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,sBAAsB,EAAE,EAAE,EAAE,CAAC,EAAG,OAAO,EAAE,CAAC,OAAO,QAAQ,EAAE,CAAC,OAAO,IAAI,IAAK,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,OAAO,EAAE,CAAC,OAAO,IAAI,IAAK,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,QAAQ,EAAE,CAAC,OAAO,IAAI,IAAK,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,GAAG,CAAC,EAAE,EAAEA,EAAE,UAAU,CAAC,EAAE,EAAE,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAEA,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,IAAI,EAAE,EAAG,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAM,KAAK,EAAE,EAAE,EAAE,MAAM,GAAGA,EAAE,EAAG,QAAQA,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,OAAO,QAAQ,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,KAAKA,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC,OAAO,SAAS,EAAE,EAAE,CAAC,OAAO,IAAI,IAAK,EAAE,IAAI,CAAC,IAAM,EAAE,EAAE,OAAO,EAAM,MAAM,EAAE,CAAKC,EAAE,EAAE,IAAI,IAAIC,EAAE,EAAEA,EAAE,EAAE,IAAI,CAAC,IAAMC,EAAED,EAAE,EAAE,EAAEC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAEA,GAAGH,EAAE,EAAEC,EAAEA,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,EAAED,EAAE,EAAE,IAAI,CAAC,OAAO,QAAQ,EAAE,EAAE,CAAC,OAAO,IAAI,IAAK,EAAE,IAAI,CAAC,IAAM,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,GAA8kQ,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,cAAc,EAAE,IAAI,EAAE,sBAAsB,GAAG,KAAK,GAAGA,EAAE,CAAC,KAAK,GAAG,GAAG,EAAE,oBAAoBA,EAAE,EAAE,GAAG,EAAE,CAAC,MAAO,MAAK,cAAc,KAAK,IAAI,EAAE,KAAK,cAAc,CAAC,KAAK,cAAc,MAAM,CAAC,IAAM,EAAE,EAAE,KAAK,cAAc,OAAO,KAAK,IAAI,KAAK,GAAG,EAAE,CAAC,IAAG,GAAG,GAAG,GAAS,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,WAAW,EAAE,KAAK,MAAM,EAAE,KAAK,eAAe,EAAE,KAAK,KAAK,EAAE,KAAK,IAAI,EAAE,KAAK,iBAAiB,EAAE,KAAK,sBAAsBC,EAAE,KAAK,gBAAgBC,IAAS,GAAN,MAAM,CAAE,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,UAAU,EAAE,KAAK,SAAS,GAAG,YAAY,OAAO,OAAO,CAAC,OAAO,IAAI,EAAG,GAAG,GAAG,CAAC,IAAI,mBAAmB,CAAC,OAAoB,KAAK,WAAnB,YAA4B,QAAQ,EAAE,CAAC,OAAO,aAAa,GAAI,EAAE,YAAY,KAAK,WAAW,EAAE,WAAW,KAAK,WAAqhB,EAAN,MAAM,CAAE,CAAC,YAAY,EAAE,CAAC,KAAK,aAAa,EAAE,OAAO,iBAAiB,EAAE,CAAiB,OAAO,IAAI,EAAnB,KAAK,EAAE,CAAiB,CAAC,OAAO,eAAe,EAAE,CAAmG,OAAO,IAAI,EAArG,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,EAAEF,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,aAAaA,EAAE,GAAG,CAAC,OAAO,GAAG,EAAE,CAAiB,CAAC,CAAC,OAAO,WAAW,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,aAAa,OAAO,CAAC,MAAM,KAAK,aAAa,WAAW,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,IAAK,GAAE,KAAK,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,MAAO,GAAE,KAAK,aAAa,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,OAAO,SAAS,EAAE,CAAC,IAAM,EAAE,IAAI,WAAW,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,OAAO,GAAG,KAAK,aAAa,CAAC,qBAAqB,CAAC,MAAO,GAAE,KAAK,aAAa,OAAO,UAAU,EAAE,CAAC,OAAO,EAAG,KAAK,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,OAAO,KAAK,eAAe,EAAE,eAAc,EAAG,kBAAkB,IAAI,EAAG,GAAG,CAAO,GAAG,IAAI,OAAO,gDAAgD,CAAgyB,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,UAAU,CAAC,CAAC,CAAC,CAA8xM,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,SAAS,EAAE,KAAK,UAAU,IAAqe,GAAN,KAAQ,GAAQ,EAAN,MAAM,UAAW,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,MAAM,EAAE,OAAO,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,YAAY,CAAQ,IAAP,MAAqB,IAAX,SAAa,KAAK,uBAAuB,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,CAAoB,IAAnB,iBAAqB,IAAI,GAAG,EAAE,EAAE,CAAQ,IAAP,KAAS,IAAI,GAAG,EAAE,EAAE,CAAY,IAAX,SAAa,IAAI,GAAG,EAAE,EAAE,CAAwB,IAAvB,qBAAyB,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,EAAG,EAAE,EAAE,EAAE,CAAC,OAAO,uBAAuB,EAAE,EAAE,EAAE,CAAC,OAAa,IAAP,KAAS,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAM,EAAE,EAAE,KAAK,MAAM,KAAK,MAAM,CAAC,OAAa,KAAK,KAAZ,KAAsB,IAAP,MAAU,KAAK,kBAAkB,GAAG,EAAE,KAAK,MAAM,CAAC,CAAQ,IAAP,MAAU,GAAG,KAAK,MAAM,GAAG,GAAG,EAAE,EAAE,KAAK,kBAAkB,GAAG,EAAE,KAAK,MAAM,CAAC,CAAC,kBAAkB,EAAE,CAAC,OAAO,KAAK,GAAZ,CAAgB,IAAI,IAAI,OAAO,EAAE,EAAE,IAAI,KAAK,OAAO,GAAG,EAAE,IAAI,KAAK,OAAW,IAAJ,EAAM,IAAI,KAAK,OAAW,IAAJ,EAAM,IAAI,IAAI,OAAO,EAAE,EAAE,IAAI,KAAK,OAAO,GAAG,EAAE,QAAQ,OAAO,GAAI,EAAE,cAAc,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,KAAK,KAAK,SAAS,CAAC,QAAQ,KAAK,GAAG,EAAE,EAAE,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,OAAO,KAAK,cAAc,CAAC,KAAK,MAAM,OAAY,EAAN,MAAM,UAAW,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,KAAK,OAAO,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,EAAG,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,GAAG,KAAK,CAAU,KAAK,QAAQ,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,GAA9C,IAAK,GAAmD,KAAK,QAAQ,MAAM,GAAG,EAAE,QAAQ,EAAE,EAAE,GAA7C,IAAK,GAAyC,qBAAqB,CAAC,OAAc,KAAK,KAAZ,OAAiB,KAAK,GAAG,KAAK,QAAQ,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,qBAAqB,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG,YAAY,CAAC,OAAO,OAAO,OAAO,EAAE,CAAC,KAAK,QAAQ,CAAC,yBAAyB,CAAC,IAAM,EAAE,KAAK,IAAI,GAAGA,EAAE,cAAc,EAAE,CAAC,OAAc,IAAP,KAAiB,KAAR,EAAE,MAAW,GAAG,EAAE,CAAC,IAAI,IAAM,KAAK,KAAK,qBAAqB,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,OAAs/B,GAAN,cAAiB,CAAE,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,IAAI,EAAG,SAAS,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,IAAM,EAAE,EAAG,WAAW,EAAE,IAAI,KAAK,IAAI,CAAC,OAAO,KAAK,kBAAkB,EAAE,GAAQ,GAAN,cAAiB,CAAE,CAAC,YAAY,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,KAAK,KAAK,MAAM,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAQ,GAAN,cAAiB,CAAE,CAAC,YAAY,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,KAAK,KAAK,GAAG,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAyI,GAAN,cAAiB,CAAE,CAAC,YAAY,EAAE,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAM,EAAE,EAAE,KAAK,MAAM,KAAK,MAAM,CAAC,OAAO,GAAG,EAAE,EAAE,GAAG,EAAE,WAAW,KAAK,MAAM,GAAQ,GAAN,cAAiB,CAAE,CAAC,YAAY,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAM,EAAE,EAAE,KAAK,MAAM,KAAK,MAAM,CAAC,OAAc,IAAP,MAAU,GAAG,KAAK,MAAM,WAAW,EAAE,GAAQ,GAAN,cAAiB,CAAE,CAAC,YAAY,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,KAAK,MAAM,WAAW,CAAC,UAAU,aAAa,CAAC,CAAC,MAAM,CAAC,EAAE,IAAM,EAAE,EAAE,KAAK,MAAM,KAAK,MAAM,CAAC,OAAc,IAAP,MAAU,CAAC,GAAG,KAAK,MAAM,WAAW,EAAE,GAAQ,GAAN,cAAiB,CAAE,CAAC,YAAY,EAAE,EAAE,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAM,EAAE,EAAE,KAAK,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,WAAW,SAAS,EAAE,WAAW,OAAO,MAAM,GAAG,GAAG,KAAK,MAAM,WAAWA,EAAE,EAAE,GAAQ,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,KAAK,MAAM,EAAE,KAAK,IAAI,IAAyE,EAAN,MAAM,CAAE,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,WAAW,EAAE,KAAK,KAAK,GAAG,GAAG,MAAM,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,EAAG,KAAK,WAAW,KAAK,KAAK,OAAO,EAAE,EAAE,KAAK,WAAW,CAAC,KAAK,KAAK,KAAK,GAAG,MAAM,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,IAAI,EAAG,KAAK,WAAW,KAAK,KAAK,OAAO,EAAE,KAAK,WAAW,CAAC,KAAK,KAAK,KAAK,GAAG,MAAM,KAAK,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,IAAM,EAAE,KAAK,WAAW,EAAE,EAAE,IAAI,CAAC,GAAO,IAAJ,EAAM,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,KAAK,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,IAAM,EAAE,KAAK,WAAW,EAAE,EAAE,IAAI,CAAC,GAAO,IAAJ,EAAM,OAAO,EAAE,EAAE,KAAK,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,EAAE,KAAK,KAAK,EAAE,EAAE,EAAE,OAAO,MAAM,GAAG,SAAS,CAAC,OAAO,KAAK,KAAK,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,KAAK,QAAQ,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,QAAQ,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,iBAAiB,EAAE,CAAC,OAAO,KAAK,KAAK,iBAAiB,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,mBAAmB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAM,EAAE,EAAE,CAAC,OAAO,KAAK,mBAAmB,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,iBAAiB,EAAE,CAAC,OAAO,KAAK,KAAK,iBAAiB,EAAE,CAAC,aAAa,CAAC,OAAO,IAAI,GAAG,KAAK,KAAK,KAAK,KAAK,WAAW,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,OAAO,IAAI,GAAG,KAAK,KAAK,EAAE,KAAK,WAAW,CAAC,EAAE,CAAC,oBAAoB,CAAC,OAAO,IAAI,GAAG,KAAK,KAAK,KAAK,KAAK,WAAW,CAAC,EAAE,CAAC,uBAAuB,EAAE,CAAC,OAAO,IAAI,GAAG,KAAK,KAAK,EAAE,KAAK,WAAW,CAAC,EAAE,GAAQ,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE,EAAE,KAAK,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,GAAO,IAAJ,EAAM,CAAC,KAAK,UAAU,KAAK,EAAE,CAAC,MAAM,KAAK,UAAU,KAAK,EAAE,CAAC,EAAE,KAAK,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,UAAU,KAAK,CAAO,EAAE,CAAC,IAAI,EAAE,IAAI,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,UAAU,IAAI,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,UAAU,KAAK,EAAE,CAAC,EAAE,EAAE,WAAW,IAAI,EAAE,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,UAAU,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,OAAO,EAAE,SAAS,CAAC,OAAO,KAAK,UAAU,OAAO,EAAE,MAAM,CAAC,GAAO,KAAK,UAAU,SAAnB,EAA0B,OAAO,KAAK,IAAM,EAAE,KAAK,UAAU,KAAK,UAAU,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,EAAE,MAAM,GAAQ,GAAN,MAAM,CAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,KAAK,MAAY,GAAI,EAAG,IAAI,KAAK,KAAW,GAAI,EAAG,MAAM,KAAK,MAAY,GAAI,EAAG,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,MAAM,KAAK,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,IAAI,EAAS,GAAI,KAAK,IAAU,GAAI,KAAK,MAAY,GAAI,KAAK,MAAY,GAAI,KAAK,KAAW,GAAI,KAAK,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC,OAAO,KAAK,KAAK,iBAAiB,EAAE,EAAE,EAAE,KAAK,IAAI,KAAK,MAAM,EAAE,KAAK,MAAM,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,OAAO,KAAK,MAAM,iBAAiB,EAAE,EAAE,EAAE,KAAK,IAAI,KAAK,MAAM,EAAE,KAAK,KAAK,iBAAiB,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,SAAS,CAAC,KAAK,KAAK,KAAK,KAAK,CAAC,QAAQ,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,SAAS,CAAC,KAAK,IAAI,KAAK,MAAM,QAAQ,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,KAAW,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,MAAO,GAAE,EAAE,EAAE,EAAE,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,OAAO,EAAE,EAAE,EAAE,CAAC,KAAK,CAAK,IAAJ,EAAM,EAAE,KAAK,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC,EAAE,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,MAAM,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,KAAK,KAAK,SAAS,CAAC,OAAO,EAAG,MAAM,IAAI,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,EAAE,KAAK,KAAK,OAAO,GAAG,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,SAAS,EAAE,EAAE,KAAK,OAAO,EAAE,EAAE,KAAK,KAAK,OAAO,GAAG,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,OAAO,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,GAAG,EAAE,KAAK,OAAO,GAAG,EAAE,EAAE,aAAa,EAAE,EAAE,MAAM,SAAS,EAAE,EAAE,MAAM,OAAO,EAAE,EAAE,MAAM,KAAK,OAAO,GAAG,EAAE,EAAE,cAAc,EAAM,EAAE,EAAE,EAAE,IAAI,GAAd,EAAe,CAAC,GAAG,EAAE,MAAM,SAAS,CAAC,OAAO,EAAG,MAAM,EAAE,EAAE,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,KAAK,KAAK,EAAE,MAAM,WAAW,CAAC,CAAC,EAAE,EAAE,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,MAAM,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,KAAK,MAAM,OAAO,CAAC,IAAI,EAAE,KAAK,OAAO,EAAE,MAAM,OAAO,EAAE,CAAC,EAAE,KAAK,OAAO,GAAG,EAAE,EAAE,YAAY,EAAE,EAAE,KAAK,OAAO,EAAE,EAAE,KAAK,KAAK,OAAO,GAAG,EAAE,EAAE,aAAa,EAAE,EAAE,KAAK,OAAO,EAAE,EAAE,MAAM,OAAO,GAAG,EAAE,EAAE,WAAW,EAAE,EAAE,aAAa,CAAC,IAAI,EAAE,KAAK,WAAW,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,GAAG,EAAE,EAAE,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,cAAc,CAAC,IAAI,EAAE,KAAK,WAAW,CAAC,OAAO,EAAE,KAAK,KAAK,OAAO,GAAG,EAAE,EAAE,aAAa,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,YAAY,CAAC,IAAM,EAAE,KAAK,KAAK,KAAK,KAAK,EAAG,IAAI,KAAK,KAAK,MAAM,KAAK,CAAC,OAAO,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,IAAM,EAAE,KAAK,KAAK,KAAK,KAAK,EAAG,IAAI,KAAK,KAAK,MAAM,KAAK,CAAC,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,EAAE,CAAC,WAAW,CAAC,IAAM,EAAE,KAAK,KAAK,KAAK,KAAK,KAAK,CAAC,KAAK,KAAK,MAAM,KAAK,KAAK,CAAC,EAAE,KAAK,MAAM,KAAK,KAAK,KAAK,CAAC,KAAK,MAAM,MAAM,KAAK,KAAK,CAAC,OAAO,KAAK,KAAK,KAAK,KAAK,CAAC,KAAK,MAAM,EAAE,EAAE,CAAC,eAAe,CAAsB,MAAgB,IAA7B,KAAK,OAAO,EAAuB,KAAK,KAAK,EAAE,OAAO,CAA+C,GAA3C,KAAK,OAAO,EAAE,KAAK,KAAK,OAAO,EAAe,KAAK,MAAM,OAAO,CAAC,MAAM,GAAI,CAAC,IAAM,EAAE,KAAK,KAAK,OAAO,CAAC,GAAG,IAAI,KAAK,MAAM,OAAO,CAAC,MAAM,GAAI,CAAC,OAAO,GAAG,KAAK,OAAO,CAAC,EAAE,KAAI,GAAG,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,GAAI,CAAC,IAAI,OAAO,CAAC,MAAM,GAAI,CAAC,IAAI,OAAO,CAAC,MAAM,GAAI,CAAC,IAAI,MAAM,CAAC,MAAM,GAAI,CAAC,IAAI,OAAO,CAAC,MAAM,GAAI,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,IAAI,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,SAAS,CAAC,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAO,KAAU,EAAN,MAAM,CAAE,CAAC,YAAY,EAAE,CAAC,KAAK,WAAW,EAAE,KAAK,KAAK,IAAI,EAAG,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC,OAAc,KAAK,KAAK,IAAI,EAAE,GAAvB,KAAwB,OAAO,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,KAAK,QAAQ,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,KAAK,mBAAmB,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,KAAK,gBAAgB,EAAE,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,IAAM,EAAE,EAAE,SAAS,CAAC,GAAG,KAAK,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAW,IAAT,IAAK,GAAmC,KAAK,KAAK,aAAa,CAApD,KAAK,KAAK,gBAAgB,EAAE,CAAyB,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,kBAAkB,EAAE,CAAC,IAAM,EAAE,KAAK,KAAK,gBAAgB,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,OAAO,IAAI,GAAG,KAAK,KAAK,aAAa,CAAC,CAAC,gBAAgB,EAAE,CAAC,OAAO,IAAI,GAAG,KAAK,KAAK,gBAAgB,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,KAAK,KAAK,KAAK,KAAK,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,OAAO,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,OAAO,KAAK,KAAK,SAAS,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,GAAG,CAAC,EAAE,EAAE,IAAIA,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAgC,GAA5B,EAAE,aAAa,IAAgB,KAAK,OAAO,EAAE,KAAK,MAAM,CAAC,EAAE,IAAM,EAAE,KAAK,KAAK,aAAa,CAAC,EAAE,EAAE,KAAK,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,IAAMA,EAAE,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,IAAI,GAAO,KAAK,WAAWA,EAAE,EAAE,GAAxB,EAAyB,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,IAAM,EAAE,EAAE,CAAC,OAAO,KAAK,SAAS,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,UAAU,CAAC,IAAM,EAAE,EAAE,CAAC,OAAO,KAAK,SAAS,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC,IAAI,KAAK,EAAE,CAAC,IAAM,EAAE,IAAI,EAAG,KAAK,WAAW,CAAC,MAAO,GAAE,KAAK,EAAE,IAAS,GAAN,KAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,KAAK,EAAE,SAAS,CAAC,OAAO,KAAK,KAAK,SAAS,CAAC,IAAI,SAAS,CAAC,OAAO,KAAK,KAAK,SAAS,GAA6D,GAAN,MAAM,CAAE,CAAC,YAAY,EAAE,CAAC,KAAK,OAAO,EAAE,EAAE,KAAK,EAAG,WAAW,CAAC,OAAO,OAAO,CAAC,OAAO,IAAI,EAAG,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAG,EAAG,WAAW,CAAC,IAAI,IAAMA,KAAK,KAAK,OAAO,EAAE,EAAE,IAAIA,EAAE,CAAC,IAAI,IAAM,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,IAAI,EAAG,EAAE,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,IAAM,KAAK,KAAK,OAAO,GAAG,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,GAAG,KAAK,OAAO,EAAE,SAAS,EAAE,IAAIA,EAAE,QAAQ,EAAE,EAAE,GAAQ,EAAN,MAAM,CAAE,CAAC,YAAY,EAAE,CAAC,KAAK,MAAM,EAAE,OAAO,OAAO,CAAC,OAAO,IAAI,EAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,OAAO,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,MAAM,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,SAAS,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,KAAK,MAAO,IAAG,EAAE,SAAS,QAAQ,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,EAAE,EAAE,CAAC,KAAK,aAAa,EAAE,SAAS,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAG,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,oBAAoBW,EAAE,CAAC,CAAC,IAAMX,EAAE,KAAK,aAAa,EAAE,CAAC,KAAK,aAAaA,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAEW,EAAE,SAAS,CAAC,EAAE,EAAEA,EAAE,aAAa,EAAE,GAAGX,EAAE,CAAC,EAAE,KAAKW,EAAE,aAAa,CAAC,GAAG,CAAC,IAAM,EAAE,KAAK,aAAa,EAAE,CAAC,KAAK,aAAa,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,IAAM,EAAE,KAAK,MAAM,EAAE,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,SAAS,QAAQ,OAAO,EAAE,SAAS,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAG,KAAK,MAAM,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE,SAAS,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,SAAS,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,SAAS,OAAO,aAAa,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,EAAEZ,GAAGD,GAAG,CAAC,IAAI,IAAMC,KAAK,EAAE,OAAO,EAAEA,GAAG,OAAO,CAAC,OAAO,IAAI,EAAG,GAAG,KAAK,MAAM,CAAC,GAAyN,GAAN,MAAM,CAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,KAAK,EAAE,KAAK,cAAcE,EAAE,OAAO,mBAAmB,EAAE,CAAC,OAAO,IAAI,EAAG,EAAE,EAAE,EAAG,KAAK,CAAC,EAAG,KAAK,CAAC,EAAG,KAAK,CAAC,EAAG,OAAO,CAAC,EAAE,CAAC,OAAO,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,IAAI,EAAG,EAAE,EAAE,EAAE,EAAG,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,cAAc,EAAE,EAAE,CAAC,OAAO,IAAI,EAAG,EAAE,EAAE,EAAE,EAAG,KAAK,CAAC,EAAG,KAAK,CAAC,EAAG,OAAO,CAAC,EAAE,CAAC,OAAO,mBAAmB,EAAE,EAAE,CAAC,OAAO,IAAI,EAAG,EAAE,EAAE,EAAE,EAAG,KAAK,CAAC,EAAG,KAAK,CAAC,EAAG,OAAO,CAAC,EAAE,CAAC,uBAAuB,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,WAAW,QAAQ,EAAG,KAAK,CAAC,EAAM,KAAK,eAAT,GAA2B,KAAK,eAAT,IAAwB,KAAK,WAAW,GAAG,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,KAAK,EAAE,KAAK,cAAc,EAAE,KAAK,oBAAoB,EAAE,CAAC,MAAO,MAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,KAAK,EAAG,OAAO,CAAC,KAAK,cAAc,EAAE,KAAK,yBAAyB,EAAE,CAAC,MAAO,MAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,KAAK,EAAG,OAAO,CAAC,KAAK,cAAc,EAAE,KAAK,0BAA0B,CAAC,MAAO,MAAK,cAAc,EAAE,KAAK,sBAAsB,CAAC,MAAO,MAAK,cAAc,EAAE,KAAK,QAAQ,EAAG,KAAK,CAAC,KAAK,YAAY,EAAE,CAAC,MAAO,MAAK,SAAS,EAAE,KAAK,IAAI,mBAAmB,CAAC,OAAW,KAAK,gBAAT,EAAuB,IAAI,uBAAuB,CAAC,OAAW,KAAK,gBAAT,EAAuB,IAAI,kBAAkB,CAAC,OAAO,KAAK,mBAAmB,KAAK,sBAAsB,iBAAiB,CAAC,OAAW,KAAK,eAAT,EAAsB,iBAAiB,CAAC,OAAW,KAAK,eAAT,EAAsB,cAAc,CAAC,OAAW,KAAK,eAAT,EAAsB,mBAAmB,CAAC,OAAW,KAAK,eAAT,EAAsB,QAAQ,EAAE,CAAC,OAAO,aAAa,GAAI,KAAK,IAAI,QAAQ,EAAE,IAAI,EAAE,KAAK,QAAQ,QAAQ,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,cAAc,KAAK,gBAAgB,EAAE,eAAe,KAAK,KAAK,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,IAAI,EAAG,KAAK,IAAI,KAAK,aAAa,KAAK,QAAQ,KAAK,SAAS,KAAK,WAAW,KAAK,KAAK,OAAO,CAAC,KAAK,cAAc,CAAC,UAAU,CAAC,MAAM,YAAY,KAAK,IAAI,IAAI,KAAK,QAAQ,IAAI,KAAK,UAAU,KAAK,KAAK,MAAM,CAAC,iBAAiB,KAAK,WAAW,qBAAqB,KAAK,aAAa,sBAAsB,KAAK,cAAc,MAAW,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,EAAE,KAAK,gBAAgB,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,KAAK,MAAMA,EAAE,KAAK,GAAG,OAAmrE,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,KAAK,QAAQ,EAAE,KAAK,MAAM,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQA,EAAE,KAAK,MAAMC,EAAE,KAAK,GAAG,KAAK,KAAK,GAAG,KAAK,KAAK,QAAQ,KAAK,QAAy1H,GAAN,KAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,IAAK,KAA8lB,GAAN,cAAiB,EAAE,GAAQ,GAAN,cAAiB,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,SAAS,IAAgI,GAAN,cAAiB,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,SAAS,IAAwH,GAAN,cAAiB,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,KAAK,GAAG,IAA0M,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,QAAQ,EAAE,KAAK,iBAAiB,IAAS,GAAN,MAAM,CAAE,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,OAAO,MAAM,CAAC,OAAO,IAAI,EAAG,OAAO,OAAO,EAAE,CAAC,OAAO,IAAI,EAAG,IAAK,GAAE,EAAE,CAAC,OAAO,WAAW,EAAE,CAAC,OAAO,IAAI,EAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,OAAgB,KAAK,aAAd,IAAK,IAA8B,KAAK,SAAd,IAAK,GAAgB,QAAQ,EAAE,CAAC,OAAO,KAAK,SAAS,EAAE,SAAS,KAAK,WAAW,CAAC,CAAC,EAAE,YAAY,KAAK,WAAW,QAAQ,EAAE,WAAW,CAAC,CAAC,EAAE,cAAwK,GAAN,KAAQ,GAAm5E,GAAN,cAAiB,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,KAAK,gBAAgB,EAAE,KAAK,KAAK,EAAE,cAAc,CAAC,OAAO,OAAY,GAAN,cAAiB,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,gBAAgB,EAAE,KAAK,KAAK,EAAE,cAAc,CAAC,OAAO,KAAK,YAAmc,GAAN,cAAiB,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,aAAa,EAAE,KAAK,KAAK,EAAE,KAAK,gBAAgB,EAAE,CAAC,cAAc,CAAC,OAAO,OAAY,GAAN,cAAiB,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,aAAa,EAAE,KAAK,KAAK,EAAE,KAAK,gBAAgB,EAAE,CAAC,cAAc,CAAC,OAAO,OAAY,GAAN,KAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,MAAM,IAA4vC,CAAC,EAAG,AAAK,IAAG,EAAE,EAAG,EAAG,GAAG,GAAG,KAAK,EAAG,EAAG,UAAU,GAAG,YAAY,EAAG,EAAG,QAAQ,GAAG,UAAU,EAAG,EAAG,iBAAiB,GAAG,mBAAmB,EAAG,EAAG,kBAAkB,GAAG,oBAAoB,EAAG,EAAG,UAAU,GAAG,YAAY,EAAG,EAAG,eAAe,GAAG,iBAAiB,EAAG,EAAG,kBAAkB,GAAG,oBAAoB,EAAG,EAAG,gBAAgB,IAAI,kBAAkB,EAAG,EAAG,mBAAmB,GAAG,qBAAqB,EAAG,EAAG,oBAAoB,GAAG,sBAAsB,EAAG,EAAG,QAAQ,IAAI,UAAU,EAAG,EAAG,aAAa,IAAI,eAAe,EAAG,EAAG,cAAc,IAAI,gBAAgB,EAAG,EAAG,SAAS,IAAI,WAAW,EAAG,EAAG,YAAY,IAAI,cAAc,EAAG,EAAG,UAAU,IAAI,YAAkB,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,MAAM,EAAE,CAAC,KAAK,UAAU,EAAE,IAAI,EAAE,CAAC,IAAM,EAAE,KAAK,SAAS,EAAE,CAAC,EAAE,KAAK,MAAM,GAAG,GAAY,IAAT,IAAK,QAAU,GAAK,CAACH,EAAE,KAAK,EAAE,GAAG,KAAK,SAASA,EAAE,EAAE,CAAC,OAAO,GAAE,IAAI,EAAE,CAAC,OAAgB,KAAK,IAAI,EAAE,GAApB,IAAK,GAAgB,IAAI,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,SAAS,EAAE,CAAC,EAAE,KAAK,MAAM,GAAG,GAAY,IAAT,IAAK,GAAM,MAAO,MAAK,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAK,MAAK,YAAY,IAAI,IAAID,EAAE,EAAEA,EAAE,EAAE,OAAO,IAAI,GAAG,KAAK,SAAS,EAAEA,GAAG,GAAG,EAAE,CAAC,OAAO,KAAK,EAAEA,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,OAAO,EAAE,CAAC,IAAM,EAAE,KAAK,SAAS,EAAE,CAAC,EAAE,KAAK,MAAM,GAAG,GAAY,IAAT,IAAK,GAAM,MAAM,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,GAAG,KAAK,SAAS,EAAE,GAAG,GAAG,EAAE,CAAC,OAAW,EAAE,SAAN,EAAa,OAAO,KAAK,MAAM,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,YAAY,CAAC,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,KAAK,QAAQ,EAAE,IAAI,CAAC,IAAI,GAAK,CAACC,EAAE,KAAK,EAAE,EAAEA,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,KAAK,YAAiB,GAAG,IAAI,EAAG,EAAG,WAAW,CAA+B,GAAG,IAAI,EAAG,EAAG,WAAW,CAAgS,GAAG,IAAI,EAAG,EAAG,WAAW,CAAC,GAAG,IAAI,EAAG,EAAG,WAAW,CAAuE,GAAG,IAAI,EAAG,EAAG,CAA+B,GAAN,MAAM,CAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,OAAO,6CAA6C,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,IAAI,IAAI,OAAO,EAAE,IAAI,EAAE,GAAG,8CAA8C,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAG,EAAG,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAI,CAAC,GAAQ,GAAN,MAAM,CAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,KAAK,eAAe,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,OAAO,8CAA8C,EAAE,EAAE,EAAE,CAAC,OAAO,IAAI,EAAG,EAAE,EAAE,GAAI,CAAC,GAAI,CAAC,GAAI,CAAC,GAAQ,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,KAAK,iBAAiB,EAAE,KAAK,IAAI,EAAE,KAAK,GAAG,IAAS,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,SAAS,EAAE,KAAK,GAAG,IAAS,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,EAAG,kBAAkB,EAAE,KAAK,CAAC,KAAK,MAAM,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,KAAK,MAAM,IAAS,GAAN,KAAQ,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAG,kBAAkB,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,SAAS,CAAC,OAAO,KAAK,GAAG,IAAI,aAAa,CAAC,OAAO,KAAK,GAAG,IAAI,IAAI,CAAC,OAAW,KAAK,KAAT,EAAY,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,GAAG,EAAE,CAAC,EAAE,qBAAqB,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,GAAI,CAAC,EAAE,GAAI,CAAC,EAAE,GAAI,CAAC,OAAO,KAAK,GAAG,UAAU,EAAE,IAAI,CAAC,OAAO,EAAP,CAAU,IAAK,GAAE,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,IAAK,GAAE,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,IAAK,GAAE,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,QAAQ,GAAI,IAAI,CAAC,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,IAAI,CAAC,OAAK,GAAM,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,IAAS,GAAN,KAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,EAAG,EAAG,CAAC,GAAG,EAAE,CAAC,IAAI,IAAM,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,iBAAiB,CAAC,KAAK,GAAG,EAAE,EAAE,GAAG,CAAC,KAAK,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,IAAM,KAAK,EAAE,iBAAiB,KAAK,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,cAAc,GAAG,GAAG,CAAC,IAAM,EAAE,KAAK,GAAG,EAAE,CAAC,OAAO,EAAE,MAAT,CAAgB,IAAK,GAAE,KAAK,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,YAAY,CAAC,MAAM,IAAK,GAAE,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,MAAM,IAAK,GAAE,EAAE,IAAI,CAAC,EAAE,IAAI,KAAK,aAAa,EAAE,CAAC,MAAM,IAAK,GAAE,KAAK,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,IAAK,GAAE,KAAK,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,QAAQ,GAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE,UAAU,OAAO,EAAE,EAAE,UAAU,QAAQ,EAAE,CAAC,KAAK,GAAG,UAAU,EAAE,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,IAAM,EAAE,EAAE,SAAS,EAAE,EAAE,GAAG,MAAM,EAAE,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAMC,EAAE,EAAE,OAAO,GAAG,GAAGA,EAAE,CAAC,GAAO,IAAJ,EAAM,CAAC,IAAMF,EAAE,IAAI,EAAGE,EAAE,KAAK,CAAC,KAAK,GAAG,EAAEF,EAAE,GAAG,cAAcA,EAAE,EAAG,KAAK,CAAC,CAAC,MAAM,EAAO,IAAJ,EAAM,MAAM,KAAK,GAAG,EAAE,GAAG,IAAI,KAAK,GAAG,EAAE,CAAC,KAAK,GAAG,KAAK,GAAG,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC,IAAM,EAAE,IAAI,IAAI,KAAK,GAAG,UAAU,EAAE,IAAI,CAAC,IAAM,EAAE,KAAK,GAAGO,EAAE,CAAC,GAAG,EAAE,CAAC,GAAGP,EAAE,SAAS,GAAG,EAAE,OAAO,CAAC,CAAC,IAAMC,EAAE,IAAI,EAAG,EAAE,OAAO,KAAK,CAAQ,KAAK,GAAG,IAAIA,EAAE,GAArB,MAAuB,KAAK,GAAGM,EAAEN,EAAE,EAAE,KAAK,GAAGM,EAAEN,EAAE,GAAG,cAAcA,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAIM,EAAEP,EAAE,IAAI,CAAC,CAACA,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,GAAI,CAAC,KAAK,GAAG,UAAU,EAAE,IAAI,CAAC,IAAIO,EAAE,CAAC,EAAE,EAAE,cAAc,GAAG,CAAC,IAAMN,EAAE,KAAK,GAAGC,EAAE,CAAC,MAAM,CAACD,GAAOA,EAAE,UAAN,IAAgB,EAAE,CAAC,EAAE,CAAC,KAAK,CAACM,IAAI,EAAE,EAAE,IAAIL,EAAE,IAAI,CAAC,KAAK,GAAG,UAAU,EAAE,IAAIF,EAAE,YAAY,EAAE,EAAE,CAAC,IAAM,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,GAAG,KAAK,GAAG,EAAE,CAAC,MAAO,MAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,EAAG,EAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,OAAO,IAAM,EAAE,KAAK,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,KAAK,GAAG,KAAK,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,KAAK,GAAG,KAAK,GAAG,OAAO,EAAE,IAAI,KAAK,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,OAAO,IAAM,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,GAAG,KAAK,GAAG,OAAO,EAAE,KAAK,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,KAAK,GAAG,KAAK,GAAG,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,KAAK,GAAG,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,IAAM,EAAE,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,GAAG,uBAAuB,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,EAAE,iBAAiB,KAAK,GAAG,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,IAAI,EAAG,EAAG,CAAC,KAAK,GAAG,KAAK,GAAG,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,IAAM,EAAS,KAAK,GAAG,EAAE,GAAjB,KAAkB,OAAO,GAAG,EAAG,wBAAwB,2BAA2B,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,IAAM,EAAE,KAAK,GAAG,IAAI,EAAE,CAAC,OAAO,GAAG,EAAE,GAAG,KAAK,KAAK,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,KAAK,GAAG,uBAAuB,EAAE,CAAC,SAAS,GAAG,CAAC,KAAK,GAAG,EAAE,EAAE,KAAK,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,uBAAuB,EAAE,CAAC,IAAI,EAAE,GAA8F,GAAG,CAAC,IAAI,YAAY,KAAK,aAAa,CAAC,GAAG,CAAC,IAAI,YAAY,KAAK,qBAAqB,IAAI,eAAe,KAAK,wBAAwB,KAAK,QAAQ,KAAK,YAAY,iBAAiB,iBAAiB,GAAG,KAAK,SAAS,SAAS,qBAAqB,qBAAqB,CAAC,GAAG,CAAC,IAAI,MAAM,GAAG,KAAK,CAAO,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,WAAW,EAAE,KAAK,GAAG,IAAyuR,GAAG,CAAC,iBAAiB,YAAY,oBAAoB,kBAAkB,UAAU,QAAQ,eAAe,kBAAkB,iBAAiB,uBAAuB,oBAAoB,UAAU,eAAe,CAAI,CAAC,GAAG,GAAsB,CAAC,GAAG,CAAC,iBAAiB,YAAY,oBAAoB,qBAAqB,UAAU,QAAQ,eAAe,kBAAkB,iBAAiB,uBAAuB,oBAAoB,UAAU,eAAe,mBAAmB,CAAC,GAAG,GAAM,CAAC,GAAG,GAAoD,CAA+I,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,QAAQ,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,sBAAsB,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,gBAAgB,IAAI,IAAIC,EAAE,EAAEA,EAAE,KAAK,UAAU,OAAO,IAAI,CAAC,IAAM,EAAE,KAAK,UAAUA,GAAG,EAAE,IAAI,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAEA,GAAG,EAAE,iBAAiB,EAAE,EAAE,CAAC,IAAI,IAAM,KAAK,KAAK,cAAc,EAAE,IAAI,QAAQ,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,eAAe,EAAE,IAAI,IAAM,KAAK,KAAK,UAAU,EAAE,IAAI,QAAQ,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,eAAe,EAAE,OAAO,EAAE,wBAAwB,EAAE,EAAE,CAAC,IAAM,EAAE,IAAI,CAAC,OAAO,KAAK,UAAU,SAAS,GAAG,CAAC,IAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,kBAAsBE,EAAE,KAAK,iBAAiB,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAKA,EAAE,IAAMC,EAAE,GAAG,EAAED,EAAE,CAAQC,IAAP,MAAU,EAAE,IAAI,EAAE,IAAIA,EAAE,CAAC,EAAE,iBAAiB,EAAE,EAAE,oBAAoB,EAAG,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,OAAO,KAAK,UAAU,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,KAAK,UAAU,EAAE,SAAS,GAAG,KAAK,UAAU,EAAE,YAAY,EAAE,IAAI,GAAGF,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,cAAc,EAAE,gBAAgB,EAAE,IAAI,GAAGA,EAAE,EAAE,EAAE,GAAQ,GAAN,MAAM,CAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,MAAM,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,OAAO,KAAK,EAAE,EAAE,EAAE,CAAC,EAAG,EAAE,UAAU,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,GAAS,EAAE,EAAE,UAAU,IAAI,IAAIA,EAAE,EAAEA,EAAE,EAAE,OAAO,IAAI,EAAE,EAAE,OAAO,EAAEA,GAAG,IAAI,EAAEA,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAG,EAAE,EAAE,EAAE,EAAE,GAAQ,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,QAAQ,CAAC,OAAO,KAAK,SAAS,IAAI,QAAQ,EAAE,CAAC,OAAc,IAAP,MAAU,KAAK,WAAW,EAAE,SAAS,UAAU,CAAC,MAAM,mCAAmC,KAAK,eAAe,qBAAqB,KAAK,SAAS,UAAU,CAAC,WAAgB,GAAN,MAAM,CAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,KAAK,CAAC,EAAE,EAAG,KAAK,CAAC,EAAE,EAAG,kBAAkB,CAAC,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,KAAK,6BAA6B,EAAE,KAAK,YAAYC,EAAE,mBAAmB,EAAE,CAAC,OAAO,IAAI,EAAG,KAAK,OAAO,KAAK,SAAS,KAAK,QAAQ,EAAE,KAAK,gBAAgB,KAAK,6BAA6B,KAAK,YAAY,CAAC,gBAAgB,EAAE,EAAE,CAAC,OAAO,IAAI,EAAG,KAAK,OAAO,KAAK,SAAS,KAAK,QAAQ,KAAK,eAAe,EAAE,KAAK,6BAA6B,EAAE,CAAC,iCAAiC,EAAE,CAAC,OAAO,IAAI,EAAG,KAAK,OAAO,KAAK,SAAS,KAAK,QAAQ,KAAK,eAAe,KAAK,gBAAgB,EAAE,KAAK,YAAY,GAAQ,GAAN,KAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,GAAG,IAAijJ,GAAN,KAAQ,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,cAAc,EAAE,KAAK,GAAG,EAAE,EAAE,SAAS,iBAAiB,EAAE,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,SAAS,iBAAiB,EAAE,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAG,EAAE,aAAa,CAAC,SAAS,gBAAgB,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,UAAU,mBAAmB,EAAE,CAAC,IAAM,EAAE,EAAE,eAAe,KAAK,GAAG,EAAE,GAAG,CAAW,OAAO,GAAjB,SAAmB,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,SAAS,KAAK,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,gBAAgB,EAAE,KAAK,GAAG,EAAE,YAAY,EAAE,CAAC,KAAK,GAAG,EAAE,SAAS,eAAe,EAAE,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,WAAW,CAAC,CAAC,KAAK,GAAG,EAAE,SAAS,mBAAmB,EAAE,KAAK,GAAG,EAAE,eAAe,EAAE,SAAS,kBAAkB,EAAE,CAAC,IAAM,EAAE,EAAE,cAAc,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,MAAK,aAAa,EAAE,GAAG,EAAE,CAAC,KAAK,GAAG,UAA0B,EAAE,KAAK,GAAG,EAAE,SAAS,EAAE,CAAC,KAAK,GAAG,EAAE,EAAE,eAAe,GAAG,KAAK,GAAG,EAAE,WAAW,EAAE,CAAC,KAAK,GAAG,EAAE,EAAE,GAAI,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,KAAK,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,IAAI,IAAMD,KAAK,OAAO,KAAK,EAAE,CAAC,KAAK,GAAGA,EAAE,EAAE,CAAC,KAAK,GAAG,EAAEA,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,IAAI,IAAMA,KAAK,EAAE,KAAK,GAAGA,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,EAAG,SAAS,EAAE,CAAC,KAAK,SAAS,GAAG,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,KAAK,GAAGA,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAA+P,GAAG,GAAG,IAAI,GAAq7L,GAAN,KAAQ,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,GAAG,2BAA2B,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,IAAI,EAAE,CAAC,EAAG,SAAS,CAAC,qBAAqB,EAAE,EAAE,CAAC,OAAO,EAAG,QAAQ,KAAK,GAAG,WAAW,EAAE,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,OAAO,EAAG,SAAS,CAAC,iBAAiB,EAAE,EAAE,CAAC,OAAO,EAAG,SAAS,CAAC,2BAA2B,EAAE,EAAE,CAAC,OAAO,EAAG,QAAQ,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,OAAO,EAAG,QAAQ,EAAE,CAAC,gBAAgB,EAAE,EAAE,CAAC,OAAO,EAAG,QAAQ,EAAE,CAAC,CAAC,+BAA+B,EAAE,CAAC,OAAO,EAAG,QAAQ,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,OAAO,EAAG,QAAQ,GAAG,KAAK,CAAC,CAAC,gCAAgC,EAAE,EAAE,CAAC,OAAO,EAAG,QAAQ,GAAG,KAAK,CAAC,CAAC,sBAAsB,EAAE,EAAE,EAAE,CAAC,OAAO,EAAG,SAAS,CAAC,mBAAmB,EAAE,EAAE,CAAC,OAAO,EAAG,SAAS,GAAQ,GAAN,KAAQ,CAAC,aAAa,CAAC,KAAK,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,IAAM,EAAE,EAAE,aAAa,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,KAAK,MAAM,IAAI,IAAI,EAAG,EAAG,WAAW,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,MAAO,MAAK,MAAM,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,IAAM,EAAE,EAAE,aAAa,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,KAAK,MAAM,GAAG,OAAO,GAAG,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,KAAK,MAAM,IAAI,IAAI,EAAG,EAAG,WAAW,EAAE,SAAS,GAAW,IAAI,WAAosR,GAAN,MAAM,CAAE,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,KAAK,6BAA6B,EAAE,KAAK,oBAAoB,EAAE,KAAK,gCAAgC,EAAE,OAAO,cAAc,EAAE,CAAC,OAAO,IAAI,EAAG,EAAE,EAAG,8BAA8B,EAAG,wCAAwC,GAA6hB,GAAG,8BAA8B,GAAG,GAAG,wCAAwC,IAAI,GAAG,QAAQ,IAAI,GAAG,SAAS,GAAG,8BAA8B,GAAG,wCAAwC,CAAC,GAAG,SAAS,IAAI,GAAG,GAAG,EAAE,EAAE,CAAskI,GAAN,MAAM,CAAE,CAAC,YAAY,EAAE,CAAC,KAAK,GAAG,EAAE,MAAM,CAAC,MAAO,MAAK,IAAI,EAAE,KAAK,GAAG,OAAO,IAAI,CAAC,OAAO,IAAI,EAAG,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,IAAI,EAAG,GAAG,GAAuwO,GAAN,KAAQ,CAAC,aAAa,CAAC,KAAK,QAAQ,IAAI,IAAI,GAAG,EAAE,UAAU,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAK,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,kBAAkB,CAAC,KAAK,QAAQ,IAAI,EAAE,IAAI,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,kBAAkB,CAAC,KAAK,QAAQ,IAAI,EAAE,GAAG,mBAAmB,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,kBAAkB,CAAC,IAAM,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,OAAgB,IAAT,IAAK,GAAoB,KAAK,aAAa,EAAE,EAAE,CAApC,EAAG,QAAQ,EAAE,CAAwB,WAAW,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO,KAAK,kBAAkB,CAAC,KAAK,eAAe,CAAC,EAAE,KAAK,aAAa,EAAE,CAAC,kBAAkB,IAA+sJ,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,kBAAkB,EAAE,KAAK,cAAc,IAAS,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,oBAAoB,EAAE,KAAK,cAAc,EAAE,KAAK,qBAAqB,EAAE,KAAK,aAAa,EAAE,YAAY,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,OAAO,KAAK,qBAAqB,WAAW,EAAE,EAAE,CAAC,MAAM,IAAI,EAAE,EAAE,KAAK,oBAAoB,SAAS,EAAE,EAAE,GAAG,CAAC,MAAM,IAAW,IAAP,MAAU,GAAG,EAAE,SAASA,EAAE,GAAG,OAAO,CAAC,EAAG,KAAK,CAAC,CAACA,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,OAAO,KAAK,oBAAoB,WAAW,EAAE,EAAE,CAAC,MAAM,GAAG,KAAK,wBAAwB,EAAED,EAAE,GAAI,CAAC,CAAC,UAAUA,GAAG,EAAE,CAAC,wBAAwB,EAAE,EAAE,EAAE,GAAI,CAAC,CAAC,IAAM,EAAE,IAAI,CAAC,OAAO,KAAK,iBAAiB,EAAE,EAAE,EAAE,CAAC,UAAU,KAAK,aAAa,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,IAAIA,EAAE,IAAI,CAAC,OAAOC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAED,EAAE,OAAOC,EAAEF,EAAE,kBAAkB,GAAG,CAACC,IAAI,EAAE,CAAC,sBAAsB,EAAE,EAAE,CAAC,IAAM,EAAE,IAAI,CAAC,OAAO,KAAK,iBAAiB,EAAE,EAAE,EAAE,CAAC,UAAU,KAAK,aAAa,EAAE,EAAE,EAAE,GAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,CAAC,OAAO,EAAE,SAAS,GAAG,CAAC,EAAE,IAAIC,EAAE,EAAE,EAAE,KAAKA,EAAE,GAAG,CAAC,KAAK,qBAAqB,YAAY,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,IAAIA,EAAEF,EAAE,GAAG,GAAG,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,CAAO,EAAE,IAAI,CAACG,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,IAAMA,EAAE,EAAE,IAAIF,EAAE,IAAI,CAAC,EAAE,IAAIA,EAAE,IAAI,GAAYE,IAAT,IAAK,IAAOA,EAAE,oBAAoB,IAAI,EAAE,EAAE,OAAOF,EAAE,IAAIA,EAAE,CAAUE,IAAT,IAAK,GAAmG,EAAE,IAAIF,EAAE,IAAI,GAAG,OAAO,CAAC,EAAnH,EAAE,IAAIA,EAAE,IAAIE,EAAE,SAAS,cAAc,CAAC,CAAC,GAAGA,EAAE,SAASF,EAAEE,EAAE,SAAS,cAAc,CAAC,EAAG,KAAK,CAAC,IAA4B,CAAC,KAAK,2BAA2B,EAAE,EAAE,CAAC,MAAM,IAAID,EAAE,UAAU,EAAE,IAAI,EAAE,IAAIA,EAAED,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,IAAkBE,EAAE,IAAID,EAAE,IAAI,GAAGD,EAAY,EAAE,IAAIC,EAAE,EAAgB,KAAK,CAAC,EAAG,CAACC,IAAI,CAAC,2BAA2B,EAAE,EAAE,CAAC,IAAM,EAAE,IAAI,CAAK,EAAE,IAAI,IAAK,EAAE,IAAID,EAAED,GAAG,CAAC,EAAE,GAAI,CAAC,OAAO,KAAK,cAAc,2CAA2C,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,IAAMY,KAAKX,EAAE,EAAE,MAAM,CAAC,SAAS,GAAG,CAAC,IAAM,EAAE,EAAE,IAAIA,EAAE,CAAC,GAAU,IAAP,KAAS,OAAO,IAAIC,EAAE,EAAE,IAAID,EAAE,EAAE,GAAG,OAAO,CAAC,EAAEW,EAAE,iBAAiB,EAAEV,EAAE,CAAC,EAAE,IAAID,EAAEC,EAAE,CAAC,IAAMC,GAAG,EAAE,IAAIS,EAAE,QAAQ,EAAE,GAAI,EAAE,IAAIX,EAAE,CAAC,EAAE,EAAE,OAAOW,EAAE,QAAQT,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,IAAM,EAAE,EAAE,CAACD,EAAE,EAAE,oBAAoB,CAAC,KAAKA,EAAE,SAAS,EAAE,CAAC,IAAMI,EAAEJ,EAAE,SAAS,CAACC,EAAEG,EAAE,IAAIF,EAAEE,EAAE,MAAMG,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,CAAC,GAAG,CAAC,EAAE,IAAIR,EAAE,CAAC,CAAC,IAAMK,EAAE,GAAG,EAAE,IAAIL,EAAE,CAAC,EAAE,IAAIA,EAAE,CAAC,CAAQK,IAAP,MAAUG,EAAE,IAAIR,EAAEK,EAAE,CAAC,EAAE,EAAE,IAAIL,EAAE,IAAI,CAAC,EAAE,KAAK,KAAK,qBAAqB,aAAa,EAAEE,EAAEM,EAAE,CAAC,CAAC,OAAO,EAAG,QAAQ,EAAE,GAAG,CAAC,UAAU,GAAG,CAAC,0CAA0C,EAAE,EAAE,CAAC,OAAO,KAAK,oBAAoB,WAAW,EAAE,EAAE,CAAC,MAAM,GAAG,KAAK,2BAA2B,EAAET,EAAE,EAAE,CAAC,0BAA0B,EAAE,EAAE,EAAE,CAAC,OAAO,SAAS,EAAE,CAAC,OAAO,EAAG,cAAcC,EAAE,KAAK,EAASA,EAAE,kBAAT,MAA8BA,EAAE,QAAQ,SAAd,GAAsB,EAAE,CAAC,KAAK,kCAAkC,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,yCAAyC,EAAE,EAAE,EAAE,CAAC,KAAK,oCAAoC,EAAE,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,oBAAoB,0BAA0B,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,IAAM,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,qBAAqB,8BAA8B,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,KAAK,CAAC,EAAG,QAAQ,IAAI,CAAC,CAAKC,EAAE,GAAGC,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,EAAG,QAAQH,IAAI,EAAE,KAAKE,EAAEH,EAAE,iBAAiB,EAAEA,EAAE,gBAAgB,EAAE,IAAIC,EAAE,CAAC,EAAG,SAAS,CAAC,KAAK,oBAAoB,SAAS,EAAEA,EAAE,CAAC,MAAM,GAAG,CAAC,EAAEG,EAAE,OAAOH,EAAEC,EAAE,GAAG,GAAG,CAAC,UAAU,KAAK,iBAAiB,EAAED,EAAE,EAAE,EAAE,CAAC,UAAU,KAAK,aAAa,EAAEG,EAAEH,EAAE,GAAI,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,QAAQE,EAAE,QAAQ,GAAGD,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,kCAAkC,EAAE,EAAE,CAAC,OAAO,KAAK,YAAY,EAAE,IAAI,EAAG,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,IAAID,EAAE,IAAI,CAAC,OAAOC,EAAE,iBAAiB,GAAG,EAAED,EAAE,OAAOC,EAAE,IAAIA,EAAE,EAAED,IAAI,CAAC,yCAAyC,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,gBAAoB,EAAE,IAAI,CAAC,OAAO,KAAK,aAAa,qBAAqB,EAAE,EAAE,CAAC,MAAM,GAAG,EAAG,QAAQ,GAAG,GAAG,CAAC,IAAME,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,IAAI,GAAGF,EAAE,KAAKC,EAAE,gBAAgB,OAAO,CAACA,EAAE,QAAQ,OAAO,CAACA,EAAE,MAAMA,EAAE,UAAUA,EAAE,QAAQA,EAAE,MAAM,EAAE,EAAEY,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,KAAK,oCAAoC,EAAEX,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,OAAOD,EAAED,EAAE,GAAG,GAAG,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC,oCAAoC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,qBAAqB,yBAAyB,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,MAAM,IAAI,EAAE,EAAE,KAAK,oBAAoB,0BAA0B,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,IAAMM,EAAEP,EAAE,QAAQ,CAAQE,EAAE,IAAIK,EAAE,GAAf,OAAkB,EAAEL,EAAE,OAAOK,EAAE,GAAG,mBAAmBA,EAAE,CAAC,IAAI,CAAC,IAAIP,EAAE,IAAI,CAAC,OAAOE,EAAE,UAAU,EAAE,IAAI,CAAC,IAAM,EAAE,EAAE,IAAIA,EAAE,CAAU,IAAT,IAAK,IAAO,GAAG,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,EAAG,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,EAAEF,EAAE,OAAOE,EAAE,EAAE,IAAI,CAACF,IAAI,GAAQ,GAAN,KAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,kBAAkB,EAAE,EAAE,CAAC,OAAO,EAAG,QAAQ,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC,mBAAmB,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,GAAG,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,QAAQ,EAAE,QAAQ,WAAW,EAAG,EAAE,WAAW,CAAC,CAAC,CAAC,EAAG,SAAS,CAAC,cAAc,EAAE,EAAE,CAAC,OAAO,EAAG,QAAQ,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC,MAAM,CAAC,KAAKE,EAAE,KAAK,MAAM,GAAGA,EAAE,aAAa,CAAC,SAAS,EAAGA,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,EAAG,SAAS,GAAQ,GAAN,KAAQ,CAAC,aAAa,CAAC,KAAK,SAAS,IAAI,EAAG,EAAG,WAAW,CAAC,KAAK,GAAG,IAAI,IAAI,WAAW,EAAE,EAAE,CAAC,OAAO,EAAG,QAAQ,KAAK,SAAS,IAAI,EAAE,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,IAAM,EAAE,IAAI,CAAC,OAAO,EAAG,QAAQ,GAAG,GAAG,KAAK,WAAW,EAAED,EAAE,CAAC,MAAM,GAAG,CAAQC,IAAP,MAAU,EAAE,IAAID,EAAEC,EAAE,GAAG,EAAE,CAAC,UAAU,GAAG,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAG,SAAS,CAAC,yBAAyB,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,GAAG,IAAI,EAAE,CAAC,OAAgB,IAAT,IAAK,KAAQ,EAAE,SAAS,GAAG,KAAK,SAAS,KAAK,SAAS,OAAOA,EAAE,EAAE,CAAC,KAAK,GAAG,OAAO,EAAE,EAAE,EAAG,SAAS,CAAC,yBAAyB,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAG,EAAE,MAAM,GAAG,CAAC,CAACC,EAAE,KAAK,SAAS,gBAAgB,EAAE,CAAC,KAAKA,EAAE,SAAS,EAAE,CAAC,IAAMD,EAAEC,EAAE,SAAS,CAAC,MAAMW,EAAEZ,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,WAAWY,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,SAAS,GAAGZ,EAAE,eAAe,GAAG,EAAE,IAAIA,EAAE,QAAQ,CAACA,EAAE,CAAC,OAAO,EAAG,QAAQ,EAAE,CAAC,8BAA8B,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,IAAK,EAAE,IAAIA,EAAED,GAAG,CAAO,EAAE,KAAK,SAAS,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,IAAMC,EAAE,EAAE,SAAS,CAAC,MAAM,GAAGA,EAAE,QAAQ,CAAC,oBAAoB,GAAG,GAAGA,EAAE,eAAe,EAAE,CAAC,IAAID,EAAE,EAAE,IAAIC,EAAE,eAAe,CAAQD,IAAP,OAAW,EAAE,IAAI,CAAC,EAAE,EAAE,OAAOC,EAAE,eAAeD,EAAE,EAAEA,EAAE,IAAIC,EAAE,QAAQ,CAACA,EAAE,EAAE,IAAMC,EAAE,IAAI,CAACC,EAAE,EAAE,aAAa,CAAC,KAAKA,EAAE,SAAS,GAAGA,EAAE,SAAS,CAAC,MAAM,UAAU,EAAE,IAAID,EAAE,IAAID,EAAED,EAAE,EAAE,CAAC,EAAEE,EAAE,MAAM,EAAE,MAAM,OAAO,EAAG,QAAQA,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,SAAS,IAAI,EAAE,IAAI,CAAC,GAAU,IAAP,KAAS,CAAC,IAAMD,EAAE,KAAK,GAAG,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,eAAeA,EAAE,CAAC,KAAK,SAAS,KAAK,SAAS,OAAO,EAAE,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,CAAU,IAAT,IAAK,KAAQ,EAAE,GAAI,CAAC,KAAK,GAAG,IAAI,EAAE,EAAE,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAQ,GAAN,KAAQ,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,EAAG,EAAG,GAAG,CAAC,KAAK,GAAG,IAAI,EAAG,EAAG,GAAG,CAAC,SAAS,CAAC,OAAO,KAAK,GAAG,SAAS,CAAC,aAAa,EAAE,EAAE,CAAC,IAAM,EAAE,IAAI,EAAG,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,GAAG,IAAI,EAAE,CAAC,KAAK,GAAG,KAAK,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,SAAS,GAAG,KAAK,aAAaA,EAAE,EAAE,EAAE,CAAC,gBAAgB,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,EAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,SAAS,GAAG,KAAK,gBAAgBA,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,IAAM,EAAE,IAAI,EAAG,IAAI,EAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAG,EAAE,EAAE,CAAC,EAAE,IAAI,EAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,eAAe,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,KAAK,GAAGA,EAAE,CAAC,EAAE,KAAKA,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC,KAAK,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,IAAM,EAAE,IAAI,EAAG,IAAI,EAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAG,EAAE,EAAE,CAAC,EAAE,IAAI,EAAG,EAAE,EAAE,EAAE,CAAK,EAAE,GAAI,CAAC,OAAO,KAAK,GAAG,eAAe,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAIA,EAAE,IAAI,GAAG,CAAC,EAAE,YAAY,EAAE,CAAC,IAAM,EAAE,IAAI,EAAG,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG,kBAAkB,EAAE,CAAC,OAAc,IAAP,MAAU,EAAE,QAAQ,EAAE,IAAI,GAAQ,EAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,KAAK,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,CAAC,OAAO,EAAG,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAG,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,GAAG,EAAE,EAAE,CAAC,OAAO,EAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAG,WAAW,EAAE,IAAI,EAAE,IAAI,GAAQ,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,cAAc,EAAE,CAAC,KAAK,GAAG,EAAE,KAAK,GAAG,IAAI,EAAG,EAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,EAAG,QAAY,KAAK,cAAc,SAAvB,EAA8B,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,GAAG,KAAK,KAAK,KAAK,cAAc,OAAO,GAAG,KAAK,cAAc,KAAK,cAAc,OAAO,GAAG,IAAM,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,cAAc,KAAK,EAAE,CAAC,IAAI,IAAMD,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,IAAI,EAAGA,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,aAAa,2BAA2B,EAAEA,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,OAAO,EAAG,QAAQ,EAAE,CAAC,oBAAoB,EAAE,EAAE,CAAC,OAAO,EAAG,QAAQ,KAAK,GAAG,EAAE,CAAC,CAAC,iCAAiC,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAG,QAAQ,KAAK,cAAc,OAAO,EAAE,KAAK,cAAc,GAAG,KAAK,CAAC,iCAAiC,CAAC,OAAO,EAAG,QAAY,KAAK,cAAc,SAAvB,EAA8B,GAAG,KAAK,GAAG,EAAE,CAAC,sBAAsB,EAAE,CAAC,OAAO,EAAG,QAAQ,KAAK,cAAc,OAAO,CAAC,CAAC,0CAA0C,EAAE,EAAE,CAAC,IAAM,EAAE,IAAI,EAAG,EAAE,EAAE,CAAC,EAAE,IAAI,EAAG,EAAE,IAAyB,CAAC,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,eAAe,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,IAAMA,EAAE,KAAK,GAAGC,EAAE,GAAG,CAAC,EAAE,KAAKD,EAAE,GAAG,CAAC,EAAG,QAAQ,EAAE,CAAC,2CAA2C,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAG,EAAG,CAAC,OAAO,EAAE,SAAS,GAAG,CAAC,IAAMA,EAAE,IAAI,EAAGC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAGA,EAAE,IAAyB,CAAC,KAAK,GAAG,eAAe,CAACD,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAIC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAG,QAAQ,KAAK,GAAG,EAAE,CAAC,CAAC,oCAAoC,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAM,EAAE,EAAE,EAAG,cAAc,EAAE,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,IAAM,EAAE,IAAI,EAAG,IAAI,EAAG,EAAE,CAAC,EAAE,CAAKC,EAAE,IAAI,EAAG,EAAG,CAAC,OAAO,KAAK,GAAG,cAAc,GAAG,CAAC,IAAMF,EAAEC,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,EAAE,WAAWD,EAAE,GAAGA,EAAE,SAAS,IAAI,EAAEE,EAAE,IAAID,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,EAAG,QAAQ,KAAK,GAAGC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,IAAM,EAAE,EAAE,CAAC,OAAO,EAAE,SAAS,GAAG,CAAC,IAAM,EAAE,KAAK,GAAGD,EAAE,CAAQ,IAAP,MAAU,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,oBAAoB,EAAE,EAAE,CAAC,EAAO,KAAK,GAAG,EAAE,QAAQ,UAAU,GAAhC,EAAiC,CAAC,KAAK,cAAc,OAAO,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,EAAG,QAAQ,EAAE,WAAW,GAAG,CAAC,IAAM,EAAE,IAAI,EAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAO,GAAE,EAAE,OAAO,EAAE,CAAC,KAAK,kBAAkB,wBAAwB,EAAE,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,EAAE,CAAC,IAAM,EAAE,IAAI,EAAG,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG,kBAAkB,EAAE,CAAC,OAAO,EAAG,QAAQ,EAAE,QAAQ,GAAG,EAAE,IAAI,CAAC,CAAC,wBAAwB,EAAE,CAAC,OAAO,KAAK,cAAc,OAAO,EAAG,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,OAAW,KAAK,cAAc,SAAvB,EAA8B,EAAE,EAAE,KAAK,cAAc,GAAG,QAAQ,GAAG,EAAE,CAAC,IAAM,EAAE,KAAK,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,KAAK,cAAc,OAAO,KAAK,KAAK,cAAc,KAAU,GAAN,KAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,GAAG,EAAE,KAAK,KAAK,IAAI,EAAG,EAAG,WAAW,CAAC,KAAK,KAAK,EAAE,gBAAgB,EAAE,CAAC,KAAK,aAAa,EAAE,SAAS,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,MAAO,MAAK,KAAK,KAAK,KAAK,OAAO,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,MAAM,EAAE,EAAE,KAAK,aAAa,2BAA2B,EAAE,EAAE,KAAK,SAAS,CAAC,CAAC,YAAY,EAAE,CAAC,IAAM,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,KAAK,KAAK,OAAO,EAAE,CAAC,KAAK,MAAM,EAAE,MAAM,SAAS,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC,OAAO,EAAG,QAAQ,EAAE,EAAE,SAAS,aAAa,CAAC,GAAG,mBAAmB,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,CAAC,IAAMD,EAAE,KAAK,KAAK,IAAIC,EAAE,CAAC,EAAE,EAAE,OAAOA,EAAED,EAAEA,EAAE,SAAS,aAAa,CAAC,GAAG,mBAAmBC,EAAE,CAAC,GAAG,CAAC,EAAG,QAAQ,EAAE,CAAC,0BAA0B,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,CAAO,EAAE,EAAE,KAAKC,EAAE,IAAI,EAAG,EAAE,MAAM,GAAG,CAAC,CAACC,EAAE,KAAK,KAAK,gBAAgBD,EAAE,CAAC,KAAKC,EAAE,SAAS,EAAE,CAAC,GAAK,CAAC,IAAIF,EAAE,MAAM,CAAC,SAASC,IAAIC,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,WAAWF,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,OAAO,EAAE,OAAO,GAAG,GAAG,GAAGC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAIA,EAAE,IAAI,EAAE,GAAG,EAAEA,EAAE,IAAI,EAAE,EAAE,OAAOA,EAAE,IAAIA,EAAE,aAAa,CAAC,EAAE,OAAO,EAAG,QAAQ,EAAE,CAAC,0BAA0B,EAAE,EAAE,EAAE,EAAE,CAAC,GAAI,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,EAAG,QAAQ,KAAK,MAAM,GAAG,EAAED,EAAE,EAAE,CAAC,gBAAgB,EAAE,CAAC,OAAO,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAG,QAAQ,KAAK,KAAK,GAAQ,GAAN,cAAiB,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,aAAa,EAAE,CAAC,IAAM,EAAE,EAAE,CAAC,OAAO,KAAK,QAAQ,UAAU,EAAE,IAAI,CAAC,EAAE,iBAAiB,CAAC,EAAE,KAAK,KAAK,GAAG,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,YAAY,EAAE,GAAG,CAAC,EAAG,QAAQ,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,SAAS,EAAE,EAAE,CAAC,gBAAgB,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,WAAW,EAAE,EAAE,GAAQ,GAAN,KAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,YAAY,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,GAAGA,EAAE,EAAE,GAAG,CAAC,KAAK,0BAA0B,EAAG,KAAK,CAAC,KAAK,gBAAgB,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,YAAY,EAAE,KAAK,GAAG,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAG,SAAS,CAAC,6BAA6B,EAAE,CAAC,OAAO,EAAG,QAAQ,KAAK,0BAA0B,CAAC,yBAAyB,EAAE,CAAC,OAAO,EAAG,QAAQ,KAAK,GAAG,CAAC,iBAAiB,EAAE,CAAC,MAAO,MAAK,gBAAgB,KAAK,GAAG,MAAM,CAAC,EAAG,QAAQ,KAAK,gBAAgB,CAAC,mBAAmB,EAAE,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,0BAA0B,GAAG,EAAE,KAAK,KAAK,KAAK,GAAG,GAAG,EAAG,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,IAAM,EAAE,EAAE,SAAS,EAAE,KAAK,kBAAkB,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC,KAAK,gBAAgB,GAAG,EAAE,eAAe,KAAK,KAAK,KAAK,GAAG,EAAE,gBAAgB,cAAc,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC,KAAK,aAAa,EAAE,EAAG,SAAS,CAAC,iBAAiB,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC,EAAG,SAAS,CAAC,iBAAiB,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,OAAO,EAAE,OAAO,CAAC,KAAK,GAAG,GAAG,EAAE,SAAS,CAAC,OAAK,YAAe,EAAG,SAAS,CAAC,cAAc,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAQ,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,UAAU,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAU,EAAE,IAAIC,EAAE,SAAS,GAAxB,OAA2B,KAAK,GAAG,OAAO,EAAE,CAAC,EAAE,KAAK,KAAK,8BAA8B,EAAEA,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,EAAG,QAAQ,EAAE,CAAC,UAAU,GAAG,CAAC,eAAe,EAAE,CAAC,OAAO,EAAG,QAAQ,KAAK,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,KAAK,OAAO,EAAG,QAAQ,EAAE,CAAC,gBAAgB,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,GAAG,EAAE,EAAE,CAAC,EAAG,SAAS,CAAC,mBAAmB,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,YAAY,kBAAkB,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,SAAS,GAAG,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAEF,EAAE,CAAC,GAAG,CAAC,EAAG,QAAQ,EAAE,CAAC,8BAA8B,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,GAAG,EAAE,CAAC,EAAG,SAAS,CAAC,2BAA2B,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,GAAG,GAAG,EAAE,CAAC,OAAO,EAAG,QAAQ,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,EAAG,QAAQ,KAAK,GAAG,YAAY,EAAE,CAAC,GAAQ,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,kBAAkB,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC,KAAK,aAAa,IAAI,GAAG,KAAK,oBAAoB,SAAS,EAAE,CAAC,OAAO,IAAI,GAAGC,EAAE,GAAG,GAAG,KAAK,kBAAkB,GAAGA,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,CAAC,OAAO,CAAC,OAAO,QAAQ,SAAS,CAAC,UAAU,CAAC,MAAO,MAAK,GAAG,CAAC,EAAE,QAAQ,SAAS,CAAC,IAAI,SAAS,CAAC,OAAO,KAAK,GAAG,4BAA4B,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,CAAC,OAAO,KAAK,aAAa,wBAAwB,EAAE,CAAC,IAAI,EAAE,KAAK,SAAS,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,IAAI,GAAG,KAAK,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,IAAI,GAAG,EAAE,KAAK,kBAAkB,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,gBAAgB,CAAC,OAAO,KAAK,GAAG,wBAAwB,CAAC,OAAO,KAAK,oBAAoB,gBAAgB,CAAC,OAAO,KAAK,GAAG,eAAe,EAAE,EAAE,EAAE,CAAC,EAAG,oBAAoB,wBAAwB,EAAE,CAAC,IAAM,EAAE,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC,OAAO,KAAK,kBAAkB,IAAI,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,KAAK,kBAAkB,GAAG,EAAE,CAAC,UAAUA,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,uBAAuB,CAACA,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,EAAG,GAAG,OAAO,OAAO,KAAK,GAAG,CAAC,KAAK,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,GAAQ,GAAN,cAAiB,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,sBAAsB,IAAS,GAAN,MAAM,CAAE,CAAC,YAAY,EAAE,CAAC,KAAK,YAAY,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,OAAO,GAAG,EAAE,CAAC,OAAO,IAAI,EAAG,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,OAAO,KAAK,GAAG,MAAM,GAAI,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,aAAa,EAAE,EAAE,CAAC,KAAK,GAAG,OAAO,EAAE,UAAU,CAAC,CAAC,EAAG,SAAS,CAAC,gBAAgB,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,gBAAgB,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,EAAG,SAAS,CAAC,wBAAwB,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,EAAG,SAAS,CAAC,aAAa,EAAE,EAAE,CAAC,KAAK,GAAG,GAAG,EAAE,SAAS,CAAC,SAAS,GAAG,KAAK,GAAG,IAAIA,EAAE,UAAU,CAAC,EAAE,CAAC,IAAM,EAAE,KAAK,YAAY,gBAAgB,CAAC,OAAO,EAAE,2BAA2B,EAAE,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,IAAIA,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,UAAU,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,IAAM,EAAE,KAAK,YAAY,wBAAwB,CAAC,iBAAiB,CAAC,OAAO,EAAG,QAAQ,KAAK,IAAI,GAAG,CAAC,IAAM,EAAE,EAAG,SAAS,EAAE,CAAC,OAAO,KAAK,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,YAAY,EAAE,EAAG,KAAK,CAAC,GAAG,GAAG,CAAC,WAAW,KAAK,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,oBAAoB,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,EAAE,UAAU,CAAC,CAAC,KAAK,GAAG,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAO,GAAE,GAAG,EAAE,EAAE,CAAC,OAAO,EAAG,GAAG,KAAK,EAAG,QAAQ,KAAK,GAAG,YAAY,EAAE,CAAC,KAAK,KAAK,YAAY,gBAAgB,CAAC,YAAY,EAAE,EAAE,KAAK,KAAK,YAAY,GAAG,EAAE,EAAE,CAAC,CAAC,GAA4ja,GAAN,MAAM,CAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,GAAI,CAAC,EAAE,GAAI,CAAC,IAAI,IAAMA,KAAK,EAAE,WAAW,OAAOA,EAAE,KAAT,CAAe,IAAK,GAAE,EAAE,EAAE,IAAIA,EAAE,IAAI,IAAI,CAAC,MAAM,IAAK,GAAE,EAAE,EAAE,IAAIA,EAAE,IAAI,IAAI,CAAC,OAAO,IAAI,EAAG,EAAE,EAAE,UAAU,EAAE,EAAE,GAAQ,GAAN,KAAQ,CAAC,aAAa,CAAC,KAAK,GAAG,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,KAAK,aAAa,EAAE,KAAK,GAAG,CAAC,EAAE,0BAA0B,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,GAAG,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,GAAGF,GAAG,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,OAAO,EAAG,QAAQ,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,KAAK,aAAa,aAAa,EAAE,EAAE,CAAC,MAAM,GAAO,IAAJ,EAAM,MAAa,EAAE,QAAT,MAAoB,IAAJ,IAAQ,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,aAAa,2BAA2B,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,IAAM,EAAE,EAAG,GAAGO,EAAE,CAAC,OAAO,KAAK,GAAG,aAAa,EAAE,EAAE,CAAC,MAAM,GAAG,KAAK,aAAa,aAAa,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,IAAM,EAAE,KAAK,GAAG,EAAEA,EAAE,CAAC,OAAO,KAAK,GAAG,EAAE,EAAE,EAAEP,EAAE,SAAS,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,CAAC,KAAK,GAAG,EAAE,EAAE,EAAEA,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAG,KAAK,CAAC,CAAC,KAAK,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,aAAa,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,IAAM,EAAE,KAAK,GAAG,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAG,cAAc,wDAAwD,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAG,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAU,EAAE,QAAT,KAAe,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,MAAM,CAAC,EAAE,IAAM,EAAQ,EAAE,YAAR,IAAkB,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,kBAAkB,EAAE,QAAQ,UAAU,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,EAAG,cAAc,+CAA+C,GAAG,EAAE,CAAC,CAAC,KAAK,GAAG,0BAA0B,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,0BAA0B,EAAE,EAAE,EAAE,CAAC,MAAM,IAAI,EAAE,SAAS,GAAG,CAAC,EAAEE,EAAE,OAAOD,EAAE,IAAIA,EAAE,GAAG,CAACC,IAAI,GAAQ,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,YAAY,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,IAAI,EAAG,EAAG,CAAC,KAAK,GAAG,IAAI,IAAI,GAAG,GAAGA,EAAE,EAAE,GAAG,CAAC,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,wBAAwB,CAAC,KAAK,GAAG,EAAE,gBAAgB,CAAC,KAAK,GAAG,EAAE,gBAAgB,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,qBAAqB,KAAK,YAAY,wBAAwB,EAAE,CAAC,KAAK,aAAa,KAAK,YAAY,gBAAgB,EAAE,CAAC,KAAK,cAAc,KAAK,YAAY,iBAAiB,EAAE,KAAK,aAAa,CAAC,KAAK,eAAe,IAAI,GAAG,KAAK,GAAG,KAAK,cAAc,KAAK,qBAAqB,KAAK,aAAa,CAAC,KAAK,GAAG,gBAAgB,KAAK,aAAa,CAAC,KAAK,GAAG,WAAW,KAAK,eAAe,KAAK,aAAa,CAAC,eAAe,EAAE,CAAC,OAAO,KAAK,YAAY,eAAe,kBAAkB,qBAAqB,GAAG,EAAE,QAAQ,EAAE,KAAK,GAAG,EAAE,GAA84L,GAAN,KAAQ,CAAC,aAAa,CAAC,KAAK,gBAAgB,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,gBAAgB,KAAK,gBAAgB,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,gBAAgB,KAAK,gBAAgB,OAAO,EAAE,CAAC,IAAI,CAAC,IAAM,EAAE,CAAC,gBAAgB,KAAK,gBAAgB,SAAS,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,OAAO,KAAK,UAAU,EAAE,GAAqoK,GAAN,KAAQ,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC,KAAK,mBAAmB,KAAK,KAAK,sBAAsB,KAAK,mBAAmB,EAAE,EAAE,oBAAoB,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE,CAAC,OAAO,KAAK,GAAG,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,cAAc,iBAAiB,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,GAAG,EAAE,uBAAuB,EAAE,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC,OAAO,KAAK,GAAG,gBAAgB,IAAI,EAAE,CAAC,gBAAgB,EAAE,CAAC,OAAO,KAAK,GAAG,GAAG,0BAA0B,CAAC,OAAO,KAAK,GAAG,gBAAgB,oBAAoB,EAAE,CAAC,OAAO,KAAK,GAAG,gBAAgB,IAAI,EAAE,CAAC,OAAO,CAAC,MAAO,MAAK,GAAG,IAAI,GAAG,QAAQ,SAAS,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,UAAU,EAAE,oBAAoB,EAAE,EAAE,mBAAmB,EAAE,IAAS,GAAN,KAAQ,CAAC,GAAG,EAAE,EAAE,UAAU,IAAS,GAAN,KAAQ,CAAC,aAAa,CAAC,KAAK,OAAO,KAAK,IAAI,CAAC,KAAK,OAAO,KAAK,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,UAAU,CAAC,EAAO,oBAAoB,SAAS,KAAK,GAAG,CAAC,EAAO,oBAAoB,UAAU,KAAK,GAAG,CAAC,IAAI,CAAC,EAAO,iBAAiB,SAAS,KAAK,GAAG,CAAC,EAAO,iBAAiB,UAAU,KAAK,GAAG,CAAC,IAAI,CAAC,EAAG,sBAAsB,0CAA0C,CAAC,IAAI,IAAM,KAAK,KAAK,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAG,sBAAsB,4CAA4C,CAAC,IAAI,IAAM,KAAK,KAAK,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,OAA0B,IAApB,QAAqC,EAAO,mBAAhB,IAAK,IAAsC,EAAO,sBAAhB,IAAK,KAAsC,GAAG,CAAC,kBAAkB,WAAW,OAAO,SAAS,SAAS,WAAW,oBAAoB,sBAAsB,CAAO,GAAN,KAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,GAAG,EAAE,UAAU,EAAE,CAAC,KAAK,GAAG,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,EAAE,GAAQ,GAAN,cAAiB,KAAK,CAAC,YAAY,EAAE,CAAC,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,WAAwC,KAAK,IAA1B,EAAE,IAAI,QAAQ,QAAiB,MAAM,EAAE,KAAK,KAAK,GAAG,YAAY,KAAK,WAAW,UAAU,cAAc,KAAK,WAAW,SAAS,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,GAAG,EAAE,EAAE,CAAC,EAAG,iBAAiB,YAAY,EAAE,EAAE,CAAC,IAAMC,EAAE,EAAE,CAAC,OAAO,KAAK,GAAGA,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,EAAEA,EAAE,EAAE,CAAC,MAAM,IAAI,EAAG,iBAAiB,aAAaD,EAAE,CAACA,KAAK,GAAG,CAAC,MAAM,GAAG,iBAAiB,GAAG,EAAE,sBAAsBD,EAAE,QAAQ,EAAE,WAAW,EAAE,CAACA,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,qBAAqB,eAAe,GAAG,EAAE,gBAAgB,aAAa,KAAK,aAAa,QAAQ,EAAE,oBAAoB,KAAK,aAAa,OAAO,GAAG,EAAE,QAAQ,UAAU,EAAE,IAAI,EAAED,GAAGC,GAAG,CAAC,GAAG,EAAE,QAAQ,UAAU,EAAE,IAAI,EAAED,GAAGC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,GAAG,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,iBAAiB,EAAE,iBAAiB,KAAK,sBAAsB,EAAE,sBAAsB,KAAK,gBAAgB,EAAE,gBAAgB,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,IAAI,UAAU,EAAE,IAAI,CAAC,IAAME,EAAE,IAAI,GAAG,EAAE,mBAAmB,CAAC,EAAE,CAACA,EAAE,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,OAAOA,EAAE,kBAAkB,CAA3B,CAA6B,KAAK,GAAG,SAAS,IAAMF,EAAEE,EAAE,iBAAiB,CAAC,EAAG,aAAa,gBAAgB,KAAK,UAAUF,EAAE,CAAC,CAAC,EAAEA,EAAE,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAG,aAAa,QAAQ,EAAE,cAAc,CAAC,EAAE,IAAI,EAAG,EAAG,kBAAkB,mBAAmB,CAAC,CAAC,MAAM,KAAK,GAAG,WAAW,IAAMD,EAAEG,EAAE,WAAW,CAAC,GAAG,EAAG,aAAa,QAAQ,EAAE,wBAAwBH,EAAE,iBAAiBG,EAAE,iBAAiB,CAAC,CAACH,EAAE,EAAE,CAAC,IAAIE,EAAEC,EAAE,iBAAiB,CAAC,MAAM,QAAQD,EAAE,GAAG,EAAEA,EAAE,IAAI,IAAMD,EAAQC,GAAW,MAASD,GAAGA,EAAE,QAAQA,EAAE,QAAsI,EAAE,IAAI,EAA3H,SAAS,EAAE,CAAC,IAAMA,EAAEC,EAAE,aAAa,CAAC,QAAQ,KAAK,IAAI,CAAC,OAAO,OAAO,OAAO,EAAG,CAAC,QAAQD,EAAE,EAAE,EAAEA,EAAE,EAAG,SAASA,EAAE,OAAO,CAAYA,EAAE,QAAQ,CAAC,CAAM,EAAE,IAAI,EAAG,EAAG,QAAQ,gCAAgCE,EAAE,WAAW,CAAC,CAAC,MAAM,EAAE,IAAI,EAAG,EAAG,YAAY,qBAAqB,CAAC,CAAC,MAAM,QAAQ,GAAI,SAAS,CAAC,EAAG,aAAa,QAAQ,EAAE,eAAe,IAAI,CAAC,IAAMC,EAAE,KAAK,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,OAAOA,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,CAAC,KAAK,GAAG,IAAI,gCAAgC,IAAI,EAAE,WAAW,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,CAACD,EAAE,CAAC,mBAAmB,aAAa,mBAAmB,EAAE,CAAC,iBAAiB,CAAC,SAAS,YAAY,KAAK,WAAW,UAAU,aAAa,KAAK,WAAW,WAAW,CAAC,YAAY,CAAC,EAAE,uBAAuB,CAAC,EAAE,sBAAsB,CAAC,+BAA+B,IAAI,CAAC,iBAAiB,KAAK,iBAAiB,qBAAqB,KAAK,sBAAsB,CAAC,KAAK,kBAAkB,EAAE,eAAe,IAAI,GAAG,EAAE,CAAC,EAAE,KAAK,GAAGA,EAAE,mBAAmB,EAAE,EAAE,CAAC,EAAE,yBAAyB,CAAC,EAAE,IAAMC,EAAE,EAAE,KAAK,GAAG,CAAC,EAAG,aAAa,wBAAwBA,EAAED,EAAE,CAAC,IAAME,EAAE,EAAE,iBAAiBD,EAAED,EAAE,CAAKO,EAAE,CAAC,EAAEC,EAAE,CAAC,EAAQC,EAAE,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,EAAG,aAAa,4CAA4CV,EAAE,EAAEQ,AAA8D,KAA1D,EAAG,aAAa,gCAAgC,CAACL,EAAE,MAAM,CAAG,CAAC,GAAG,EAAG,aAAa,sBAAsBH,EAAE,CAACG,EAAE,KAAKH,EAAE,GAAG,OAAOG,EAAE,OAAO,CAAC,CAAC,CAACU,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE,OAAOd,GAAG,GAAG,CAAC,GAAG,CAAC,EAAEC,EAAE,OAAOA,EAAE,CAAC,gBAAgB,CAAC,MAAMA,IAAI,EAAE,IAAI,EAAE,OAAOa,EAAEV,EAAE,GAAG,UAAU,UAAU,CAAC,GAAG,EAAG,aAAa,+BAA+B,GAAG,CAACU,EAAEV,EAAE,GAAG,UAAU,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,EAAG,aAAa,8BAA8B,CAACO,EAAE,IAAI,IAAI,CAACG,EAAEV,EAAE,GAAG,UAAU,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,aAAa,gCAAgCH,EAAE,CAACU,EAAE,GAAG,IAAI,EAAG,EAAG,YAAY,uCAAuC,CAAC,IAAI,CAACG,EAAEV,EAAE,GAAG,UAAU,SAAS,GAAG,CAAO,GAAG,CAACM,EAAE,CAAC,IAAMX,EAAEE,EAAE,KAAK,GAAG,EAAG,CAAC,CAACF,EAAE,CAAC,IAAMO,EAAEP,EAAEa,EAAEN,EAAE,OAAkBA,EAAE,IAAyB,MAAO,GAAGM,EAAE,CAAC,EAAG,aAAa,6BAA6BA,EAAE,CAAC,IAAMX,EAAEW,EAAE,OAAWZ,EAAE,SAAS,EAAE,CAAC,IAAMA,EAAE,EAAGC,GAAG,GAAYD,IAAT,IAAK,GAAM,OAAO,GAAGA,EAAE,EAAEC,EAAE,CAACF,EAAEa,EAAE,QAAiBZ,IAAT,IAAK,KAAQ,EAAE,EAAG,SAAS,EAAE,yBAAyBC,EAAE,iBAAiBW,EAAE,SAAS,EAAE,CAAC,EAAED,EAAE,GAAG,IAAI,EAAGX,EAAED,EAAE,CAAC,CAACK,EAAE,OAAO,MAAM,EAAG,aAAa,uBAAuBL,EAAE,CAACY,EAAE,GAAGZ,EAAE,IAAI,CAACe,EAAE,EAAE,GAAG,YAAY,GAAG,CAAC,EAAE,OAAO,GAAG,EAAG,aAAa,2BAA2B,CAACb,EAAE,OAAO,IAAI,EAAG,aAAa,8BAA8B,GAAG,CAAC,gBAAgB,CAAC,EAAE,IAAI,GAAG,EAAE,CAACU,IAAsK,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,EAAE,KAAK,QAAQ,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,KAAK,KAAK,GAAG,KAAK,KAAK,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,IAAM,EAAE,KAAK,MAAM,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,KAAK,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAG,qBAAqB,mBAAmB,EAAE,mBAAmB,KAAK,GAAG,0BAA0B,EAAE,qBAAqB,EAAE,UAAU,CAAC,KAAK,GAAG,KAAK,GAAG,kBAAkB,KAAK,QAAQ,QAAQ,KAAK,GAAG,KAAK,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,IAAI,KAAK,GAAG,KAAK,GAAG,KAAK,KAAK,KAAK,GAAG,KAAK,IAAI,KAAK,GAAG,KAAK,KAAK,KAAK,GAAG,KAAK,IAAI,IAAI,CAAQ,KAAK,KAAZ,OAAiB,KAAK,GAAG,WAAW,CAAC,KAAK,GAAG,MAAM,QAAQ,CAAQ,KAAK,KAAZ,OAAiB,KAAK,GAAG,QAAQ,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAI,KAAK,KAAU,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,WAAW,EAAE,KAAK,wBAAwB,EAAE,KAAK,4BAA4BT,EAAE,KAAK,SAASC,EAAE,KAAK,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,KAAK,KAAK,GAAG,KAAK,KAAK,OAAO,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,OAAW,KAAK,QAAT,GAAoB,KAAK,QAAT,GAAgB,KAAK,IAAI,CAAC,IAAI,CAAC,OAAW,KAAK,QAAT,GAAoB,KAAK,QAAT,EAAe,OAAO,CAAK,KAAK,QAAT,EAA2B,KAAK,IAAI,CAArB,KAAK,MAAM,CAAW,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAS,KAAK,KAAZ,OAAiB,KAAK,GAAG,KAAK,GAAG,kBAAkB,KAAK,GAAG,SAAS,KAAK,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,OAAO,KAAK,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC,IAAI,CAAC,AAA2B,KAAK,MAAtB,KAAK,GAAG,QAAQ,CAAS,MAAM,IAAI,CAAC,AAA2B,KAAK,MAAtB,KAAK,GAAG,QAAQ,CAAS,MAAM,MAAM,MAAM,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,KAAS,IAAJ,EAAsB,GAAG,EAAE,OAAO,EAAG,oBAAoB,GAAG,EAAE,UAAU,CAAC,CAAC,GAAG,kEAAkE,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,OAAO,EAAG,iBAAqB,KAAK,QAAT,IAAiB,KAAK,wBAAwB,iBAAiB,CAAC,KAAK,4BAA4B,iBAAiB,EAA1S,KAAK,GAAG,OAAO,CAAoS,KAAK,SAAZ,OAAqB,KAAK,IAAI,CAAC,KAAK,OAAO,OAAO,CAAC,KAAK,OAAO,MAAM,KAAK,MAAM,EAAE,MAAM,KAAK,SAAS,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,EAAE,IAAM,EAAE,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,IAAI,CAAC,KAAK,wBAAwB,UAAU,CAAC,KAAK,4BAA4B,UAAU,CAAC,CAAC,CAAC,OAAO,CAACF,EAAE,KAAK,CAAC,KAAK,KAAK,GAAG,KAAK,GAAGA,EAAE,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,IAAMA,EAAE,IAAI,EAAG,EAAG,QAAQ,+BAA+BD,EAAE,QAAQ,CAAC,OAAO,KAAK,GAAGC,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,GAAG,KAAK,GAAG,CAAC,KAAK,OAAO,KAAK,GAAG,EAAE,EAAE,CAAC,KAAK,OAAO,QAAQ,CAAC,QAAQ,KAAK,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,kBAAkB,KAAK,GAAG,UAAU,KAAK,IAAI,GAAG,KAAK,MAAM,GAAG,QAAQ,SAAS,GAAG,CAAC,KAAK,SAAS,IAAI,GAAG,GAAG,CAAC,KAAK,OAAO,IAAI,GAAG,CAAC,OAAO,KAAK,GAAGA,EAAE,EAAE,GAAG,CAAC,KAAK,OAAO,WAAW,GAAG,CAAC,OAAO,KAAK,UAAUA,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,KAAK,GAAG,IAAI,SAAS,CAAC,KAAK,MAAM,EAAE,KAAK,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,EAAG,mBAAmB,qBAAqB,IAAI,CAAC,KAAK,OAAO,KAAK,KAAK,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,MAAO,IAAG,CAAC,KAAK,GAAG,sBAAsB,KAAK,KAAK,EAAE,GAAG,EAAE,EAAG,mBAAmB,wDAAwD,CAAC,QAAQ,SAAS,GAAG,IAAS,GAAN,cAAiB,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,mCAAmC,qBAAqB,uBAAuB,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,KAAK,WAAW,GAAG,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,KAAK,GAAG,OAAO,CAAC,IAAM,EAAE,SAAS,EAAE,EAAE,CAAC,IAAIF,EAAE,GAAG,iBAAiBC,EAAE,CAAC,EAAE,aAAa,IAAM,EAAE,SAAS,EAAE,CAAC,OAAoBC,IAAd,YAAgB,EAAUA,IAAR,MAAU,EAAaA,IAAX,SAAa,EAAcA,IAAZ,UAAc,EAAYA,IAAV,QAAY,EAAE,GAAI,EAAED,EAAE,aAAa,kBAAkB,YAAY,CAAC,EAAEA,EAAE,aAAa,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,OAAOC,EAAE,IAAI,EAAYD,IAAT,IAAK,IAAiB,OAAOA,GAAjB,SAAmB,CAAC,EAAG,iBAAiBA,GAAG,GAAG,GAAG,EAAYA,IAAT,IAAK,IAAOA,aAAa,WAAW,CAAC,EAAG,eAAeA,GAAG,IAAI,WAAW,GAAGC,EAAED,EAAE,aAAa,YAAY,CAACE,EAAEF,EAAE,aAAa,MAAwG,EAAE,IAAI,GAAG,EAAE,EAAE,EAA7GE,GAAG,SAAS,EAAE,CAA+C,OAAO,IAAI,EAAxCD,EAAE,OAAX,IAAK,GAAW,EAAG,QAAQ,GAAGA,EAAE,KAAK,CAAiBA,EAAE,SAAS,GAAG,EAAEC,EAAE,EAAmB,KAAK,SAAS,mBAAmBF,EAAE,CAAC,EAAE,eAAe,IAAM,EAAEA,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,KAAK,EAAE,SAAS,WAAW,IAAM,EAAE,GAAGC,EAAE,EAAE,SAAS,KAAK,CAAC,EAAE,EAAG,EAAE,SAAS,WAAW,CAACC,EAAE,EAAE,SAAS,WAAW,EAAG,EAAE,SAAS,WAAW,CAAC,EAAG,KAAK,CAACC,EAAE,IAAI,EAAG,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,OAAO,CAAC,CAAC,CAACC,EAAE,GAAG,iBAAiB,EAAE,EAAEF,EAAEC,EAAE,CAA4C,EAAE,IAAI,GAA/C,EAAE,WAAW,EAAE,CAAG,EAAE,kBAAkB,EAAE,CAAcC,EAAE,IAAIA,EAAE,SAAS,mBAAmBJ,EAAE,CAAC,EAAE,eAAe,IAAM,EAAEA,EAAE,eAAe,EAAE,SAAS,IAAM,EAAE,GAAGC,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAG,EAAE,SAAS,CAAC,EAAG,KAAK,CAACC,EAAE,GAAG,cAAc,EAAE,EAAE,CAA0B,EAAE,IAAI,GAAG,EAAE,CAAlC,EAAE,kBAAkB,EAAE,CAAeA,EAAE,IAAIA,EAAE,SAAS,mBAAmBF,EAAE,CAAC,EAAE,eAAe,IAAM,EAAEA,EAAE,eAAe,EAAE,SAAS,IAAM,EAAE,GAAGC,EAAE,EAAE,SAAS,CAA0B,EAAE,IAAI,GAAG,EAAE,CAAlC,EAAE,kBAAkB,EAAE,CAAe,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,WAAWD,GAAG,OAAO,GAAI,CAAC,CAAC,EAAE,OAAO,IAAMC,EAAED,EAAE,OAAO,EAAE,SAAS,IAAmB,EAAE,IAAI,GAAjBC,EAAE,OAAO,EAAa,CAAC,EAAEA,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,OAAOF,GAAG,KAAK,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,iBAAiBE,GAAG,OAAO,EAAG,KAAK,CAAC,IAAMD,EAAEC,EAAE,aAAa,OAAOD,EAAE,WAAWA,EAAE,UAAU,OAAO,EAAG,KAAK,CAACA,EAAE,SAAS,EAAGA,EAAE,SAAS,CAAC,EAAG,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,IAAM,EAAE,EAAE,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,CAAC,EAAE,UAAU,SAAS,EAAE,EAAE,CAAC,IAAID,EAAQ,EAAEC,EAAE,OAAO,MAAO,GAAE,GAAG,EAAE,CAAC,CAAC,UAAU,GAAGC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAGA,EAAE,EAAE,CAAC,CAAC,EAAE,SAASD,EAAE,SAASA,EAAE,YAAY,qBAAqB,CAAC,EAAE,EAAE,YAAY,GAAGC,EAAED,EAAE,YAAY,CAACA,EAAE,gBAAgB,UAAU,EAAG,KAAK,CAAC,CAAC,IAAI,EAAE,SAAS,GAAGC,EAAED,EAAE,gBAAgB,aAAa,CAAC,EAAED,GAAG,KAAK,GAAG,EAAE,CAAC,IAAM,EAAE,SAAS,EAAE,EAAE,CAAC,IAAMA,EAAE,SAAS,EAAE,EAAE,CAAC,OAAOC,EAAP,CAAU,IAAK,GAAE,OAAO,KAAK,IAAK,GAAE,MAAM,4BAA4B,IAAK,GAAE,MAAM,iBAAiB,QAAQ,OAAO,GAAI,GAAG,EAAEA,EAAE,QAAQ,CAAC,OAAaD,GAAN,KAAQ,KAAK,CAAC,mBAAmBA,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAM,EAAE,EAAE,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,CAAC,EAAE,aAAa,EAAE,KAAK,GAAG,EAAE,GAAQ,GAAN,cAAiB,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,kCAAkC,oBAAoB,uBAAuB,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,gBAAgB,IAAK,GAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,KAAK,WAAW,GAAG,QAAQ,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,EAAG,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,gBAAgB,EAAE,YAAY,KAAK,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,IAAM,EAAE,SAAS,EAAE,EAAE,CAAC,OAAOE,GAAGA,EAAE,OAAO,GAAG,EAAYD,IAAT,IAAK,GAAM,CAACC,EAAE,KAAK,GAAG,SAAS,EAAE,EAAE,CAAC,IAAIF,EAAEE,EAAE,WAAW,EAAGA,EAAE,WAAW,CAAC,EAAGD,EAAE,CAAC,OAAOD,EAAE,QAAQ,EAAG,KAAK,CAAC,GAAG,EAAE,EAAGC,EAAE,EAAE,IAAI,GAAGD,EAAEE,EAAE,kBAAkB,EAAE,CAAC,EAAEA,EAAED,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,EAAG,EAAE,WAAW,CAAC,OAAO,KAAK,SAAS,GAAG,EAAE,EAAE,CAAC,OAAO,EAAG,CAAC,EAAE,cAAkB,EAAE,aAAa,SAAnB,EAA0B,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,IAAM,EAAE,EAAE,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAM,EAAE,CAAC,YAAY,KAAK,gBAAgB,OAAO,EAAE,KAAK,GAAG,GAAG,KAAK,GAAGC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,GAAQ,GAAN,cAAiB,KAAK,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,KAAK,WAAW,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,KAAK,GAAG,MAAM,IAAI,EAAG,EAAG,oBAAoB,0CAA0C,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,gBAAgB,UAAU,CAAC,KAAK,oBAAoB,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,WAAW,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,MAAuBA,EAAE,OAApB,iBAA0BA,EAAE,OAAO,EAAG,kBAAkB,KAAK,gBAAgB,iBAAiB,CAAC,KAAK,oBAAoB,iBAAiB,EAAEA,GAAG,IAAI,EAAG,EAAG,QAAQA,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,gBAAgB,UAAU,CAAC,KAAK,oBAAoB,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,WAAW,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,MAAuBA,EAAE,OAApB,iBAA0BA,EAAE,OAAO,EAAG,kBAAkB,KAAK,gBAAgB,iBAAiB,CAAC,KAAK,oBAAoB,iBAAiB,EAAEA,GAAG,IAAI,EAAG,EAAG,QAAQA,EAAE,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC,IAAS,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,WAAW,EAAE,KAAK,mBAAmB,EAAE,KAAK,MAAM,UAAU,KAAK,GAAG,EAAE,KAAK,GAAG,KAAK,KAAK,GAAG,CAAC,EAAE,IAAI,CAAK,KAAK,KAAT,IAAc,KAAK,GAAG,UAAU,CAAC,KAAK,GAAG,KAAK,WAAW,kBAAkB,uBAAuB,UAAU,KAAK,GAAG,KAAK,KAAK,GAAG,4CAA4C,CAAC,KAAK,GAAG,UAAU,CAAC,QAAQ,SAAS,GAAG,EAAE,GAAG,EAAE,CAAY,KAAK,QAAhB,SAAsB,KAAK,GAAG,UAAU,EAAE,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,CAAC,KAAK,GAAG,iDAAiD,EAAE,UAAU,GAAG,CAAC,KAAK,GAAG,UAAU,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,EAAa,IAAX,WAAe,KAAK,GAAG,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,KAAK,QAAQ,KAAK,MAAM,EAAE,KAAK,mBAAmB,EAAE,EAAE,GAAG,EAAE,CAAC,IAAM,EAAE,4CAA4C,EAAE,yMAAyM,KAAK,IAAI,GAAG,EAAE,CAAC,KAAK,GAAG,CAAC,GAAG,EAAG,qBAAqB,EAAE,CAAC,IAAI,CAAQ,KAAK,KAAZ,OAAiB,KAAK,GAAG,QAAQ,CAAC,KAAK,GAAG,QAAa,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC,KAAK,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,CAAC,EAAE,kBAAkB,SAAS,CAAC,GAAG,KAAK,GAAG,EAAG,cAAc,sDAAsD,CAAC,MAAM,eAAe,EAAE,CAAC,IAAMD,EAAE,EAAGC,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,MAAM,GAAGD,EAAE,CAACA,EAAE,GAAG,IAAI,UAAU,CAACA,EAAE,GAAG,OAAO,EAAE,CAAC,MAAM,GAAGA,EAAE,EAAE,KAAK,IAAI,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,EAAE,GAAonI,GAAN,MAAM,CAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,GAAG,EAAE,KAAK,gBAAgB,EAAE,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,KAAK,SAAS,QAAQ,KAAK,KAAK,KAAK,SAAS,QAAQ,CAAC,KAAK,SAAS,QAAQ,OAAO,GAAG,IAAI,CAAC,OAAO,kBAAkB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAqBE,EAAE,IAAI,EAAG,EAAE,EAAxB,KAAK,KAAK,CAAC,EAAiB,EAAE,EAAE,CAAC,OAAOA,EAAE,MAAM,EAAE,CAACA,EAAE,MAAM,EAAE,CAAC,KAAK,YAAY,gBAAgB,KAAK,oBAAoB,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,KAAK,oBAAoB,CAAC,OAAO,EAAE,CAAQ,KAAK,cAAZ,OAA0B,KAAK,cAAc,CAAC,KAAK,SAAS,OAAO,IAAI,EAAG,EAAG,UAAU,uBAAuB,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,oBAAoB,CAAC,KAAK,WAAW,sBAA6B,KAAK,cAAZ,KAA4F,QAAQ,SAAS,EAApF,KAAK,cAAc,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,KAAK,SAAS,QAAQ,EAAE,EAAE,GAAqB,CAAC,cAAc,CAAQ,KAAK,cAAZ,OAA0B,KAAK,gBAAgB,KAAK,CAAC,aAAa,KAAK,YAAY,CAAC,KAAK,YAAY,QAAwH,GAAN,MAAM,CAAE,CAAC,YAAY,EAAE,CAAC,KAAK,WAAW,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAG,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAG,WAAWD,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,UAAU,IAAI,EAAG,KAAK,WAAW,CAAC,OAAO,SAAS,EAAE,CAAC,OAAO,IAAI,EAAG,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,OAAa,KAAK,SAAS,IAAI,EAAE,EAA1B,KAA2B,IAAI,EAAE,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,UAAU,QAAQ,CAAC,MAAM,CAAC,OAAO,KAAK,UAAU,QAAQ,CAAC,SAAS,CAAC,OAAO,KAAK,UAAU,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAM,EAAE,KAAK,SAAS,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,UAAU,QAAQ,EAAE,CAAC,GAAG,IAAI,MAAM,CAAC,OAAO,KAAK,UAAU,KAAK,QAAQ,EAAE,CAAC,KAAK,UAAU,mBAAmB,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAM,EAAE,KAAK,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,IAAM,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,KAAK,KAAK,SAAS,OAAO,EAAE,CAAC,KAAK,UAAU,OAAO,EAAE,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAgC,GAA5B,EAAE,aAAa,IAAgB,KAAK,OAAO,EAAE,KAAK,MAAM,CAAC,EAAE,IAAM,EAAE,KAAK,UAAU,aAAa,CAAC,EAAE,EAAE,UAAU,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,IAAMA,EAAE,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,IAAI,GAAG,CAACA,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,IAAM,EAAE,EAAE,CAAC,OAAO,KAAK,SAAS,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAK,EAAE,SAAN,EAAa,iBAAiB;IAAoB,EAAE,KAAK;EAAO,CAAC;GAAM,KAAK,EAAE,EAAE,CAAC,IAAM,EAAE,IAAI,EAAG,MAAO,GAAE,WAAW,KAAK,WAAW,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAS,GAAN,KAAQ,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,EAAG,EAAG,WAAW,CAAC,MAAM,EAAE,CAAC,IAAM,EAAE,EAAE,IAAI,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,CAAC,EAAM,EAAE,OAAN,GAAgB,EAAE,OAAN,EAAW,KAAK,GAAG,KAAK,GAAG,OAAO,EAAE,EAAE,CAAK,EAAE,OAAN,GAAgB,EAAE,OAAN,EAAW,KAAK,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,IAAI,CAAC,CAAK,EAAE,OAAN,GAAgB,EAAE,OAAN,EAAW,KAAK,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAK,EAAE,OAAN,GAAgB,EAAE,OAAN,EAAW,KAAK,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAK,EAAE,OAAN,GAAgB,EAAE,OAAN,EAAW,KAAK,GAAG,KAAK,GAAG,OAAO,EAAE,CAAK,EAAE,OAAN,GAAgB,EAAE,OAAN,EAAW,KAAK,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAK,EAAE,OAAN,GAAgB,EAAE,OAAN,EAAW,KAAK,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,GAAI,CAAC,KAAK,GAAG,KAAK,GAAG,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,IAAM,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,mBAAmB,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,IAAS,GAAN,MAAM,CAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,KAAK,iBAAiBC,EAAE,KAAK,wBAAwBC,EAAE,KAAK,iBAAiBC,EAAE,OAAO,qBAAqB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,CAAC,OAAO,EAAE,SAAS,GAAG,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,IAAIH,EAAE,CAAC,GAAG,CAAC,IAAI,EAAG,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAK,YAAY,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,YAAY,EAAE,WAAW,KAAK,mBAAmB,EAAE,kBAAkB,KAAK,mBAAmB,EAAE,kBAAkB,KAAK,YAAY,QAAQ,EAAE,YAAY,EAAE,GAAG,KAAK,MAAM,EAAE,MAAM,EAAE,KAAK,KAAK,QAAQ,EAAE,KAAK,EAAE,KAAK,QAAQ,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,IAAM,EAAE,KAAK,WAAW,EAAE,EAAE,WAAW,GAAG,EAAE,SAAS,EAAE,OAAO,MAAM,CAAC,EAAE,IAAI,IAAIA,EAAE,EAAEA,EAAE,EAAE,OAAO,IAAI,GAAG,EAAEA,GAAG,OAAO,EAAEA,GAAG,MAAM,CAAC,EAAEA,GAAG,IAAI,QAAQ,EAAEA,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,IAAS,GAAN,KAAQ,CAAC,aAAa,CAAC,KAAK,GAAG,IAAK,GAAE,KAAK,UAAU,EAAE,GAAQ,GAAN,KAAQ,CAAC,aAAa,CAAC,KAAK,QAAQ,IAAI,IAAI,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC,KAAK,YAAY,UAAU,KAAK,GAAG,IAAI,MAAg2B,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,KAAK,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,KAAK,YAAY,UAAU,KAAK,QAAQ,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,QAAQ,uBAAuB,CAAC,IAAMD,EAAE,EAAE,CAAC,IAAI,IAAM,KAAK,EAAE,WAAe,EAAE,OAAN,GAAYA,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQA,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,CAAC,EAAE,EAAE,iBAAiB,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,KAAK,GAAG,KAAK,GAAG,EAAE,GAAG,KAAK,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,EAAE,KAAK,YAAY,GAAG,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,GAAG,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC,KAAK,IAAI,KAAK,GAAG,KAAK,GAAG,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,UAAU,MAAM,CAAC,EAAE,IAAM,EAAc,IAAZ,UAAc,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,EAAE,EAAE,kBAA8B,IAAZ,WAAe,GAAG,EAAE,CAAC,GAAG,EAAE,WAAW,OAAO,EAAE,MAAM,CAAC,EAAE,IAAM,EAAE,KAAK,IAAI,KAAK,GAAG,mBAAmB,EAAE,iBAAiB,MAAM,EAAE,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,uBAAuB,GAAG,EAAE,CAAC,EAAE,GAAG,qBAAqB,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,GAAotE,GAAN,KAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,IAAI,IAAS,GAAN,KAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,IAAI,IAAS,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,KAAK,KAAK,iBAAiB,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,KAAK,GAAG,GAAI,CAAC,KAAK,YAAY,GAAI,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,GAAG,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,EAAE,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,KAAK,GAAO,EAAE,EAAE,EAAE,YAAY,KAAK,YAAY,EAAE,EAAEE,EAAE,CAAC,EAAQC,EAAQ,KAAK,MAAM,YAAjB,KAA4B,EAAE,OAAO,KAAK,MAAM,MAAM,EAAE,MAAM,CAAC,KAAKC,EAAQ,KAAK,MAAM,YAAjB,KAA4B,EAAE,OAAO,KAAK,MAAM,MAAM,EAAE,OAAO,CAAC,KAAK,GAAG,EAAE,mBAAmB,EAAE,IAAI,CAAC,IAAMK,EAAE,EAAE,IAAIR,EAAE,CAACS,EAAE,GAAG,KAAK,MAAMV,EAAE,CAACA,EAAE,KAAKW,EAAE,CAAC,CAACF,GAAG,KAAK,YAAY,IAAIA,EAAE,IAAI,CAACK,EAAE,CAAC,CAACJ,IAAIA,EAAE,mBAAmB,KAAK,YAAY,IAAIA,EAAE,IAAI,EAAEA,EAAE,uBAA2B,GAAE,CAAC,EAAE,GAAGA,EAAED,EAAE,KAAK,QAAQC,EAAE,KAAK,CAACC,IAAIG,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,IAAIJ,EAAE,CAAC,CAAC,GAAE,CAAC,GAAG,KAAK,GAAGD,EAAEC,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,IAAIA,EAAE,CAAC,CAAC,GAAE,CAAC,GAAGP,GAAG,KAAK,GAAGO,EAAEP,EAAE,CAAC,GAAGC,GAAG,KAAK,GAAGM,EAAEN,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,CAACK,GAAGC,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,IAAIA,EAAE,CAAC,CAAC,GAAE,CAAC,GAAGD,GAAG,CAACC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,IAAID,EAAE,CAAC,CAAC,GAAE,CAAC,GAAGN,GAAGC,KAAK,EAAE,CAAC,IAAI,KAAIM,GAAG,EAAE,EAAE,IAAIA,EAAE,CAAC,EAAEI,EAAE,EAAE,IAAIb,EAAE,CAAC,EAAE,OAAOA,EAAE,GAAG,EAAE,EAAE,OAAOA,EAAE,CAAC,EAAE,EAAE,OAAOA,EAAE,KAAK,CAAQ,KAAK,MAAM,QAAlB,KAAwB,KAAK,EAAE,KAAK,KAAK,MAAM,OAAO,CAAC,IAAMA,EAAQ,KAAK,MAAM,YAAjB,IAA2B,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,OAAOA,EAAE,IAAI,CAAC,EAAE,EAAE,OAAOA,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,IAAIA,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAGC,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,CAAC,EAAE,kBAAkB,aAAa,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,GAAG,KAAK,GAAG,EAAE,GAAG,KAAK,YAAY,EAAE,YAAY,IAAM,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,SAAS,EAAE,EAAE,CAAC,IAAMH,EAAE,GAAG,CAAC,OAAOE,EAAP,CAAU,IAAK,GAAE,MAAO,GAAE,IAAK,GAAE,IAAK,GAAE,MAAO,GAAE,IAAK,GAAE,MAAO,GAAE,QAAQ,OAAO,GAAI,GAAG,OAAOF,EAAEE,EAAE,CAACF,EAAEC,EAAE,EAAEC,EAAE,KAAKD,EAAE,KAAK,EAAE,KAAK,GAAGC,EAAE,IAAID,EAAE,IAAI,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,IAAM,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE,CAACE,EAAM,KAAK,GAAG,OAAZ,GAAkB,KAAK,QAAQ,EAAE,EAAEC,EAAED,IAAI,KAAK,GAAG,MAAO,MAAK,GAAGA,EAAM,EAAE,SAAN,GAAcC,EAAE,CAAC,SAAS,IAAI,GAAG,KAAK,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,YAAgBD,IAAJ,EAAMC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,YAAY,qBAAqB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,KAAK,SAAqB,IAAZ,WAAe,KAAK,QAAQ,CAAC,EAAE,KAAK,aAAa,CAAC,GAAG,KAAK,GAAG,GAAG,IAAI,GAAG,YAAY,KAAK,YAAY,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,kBAAkB,GAAG,EAAE,CAAC,IAAI,EAAE,eAAe,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,IAAIF,EAAE,EAAE,CAAC,EAAE,kBAAkB,SAAS,GAAG,IAAI,CAAC,EAAE,iBAAiB,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,OAAOA,EAAE,EAAE,CAAC,KAAK,QAAQ,EAAE,SAAS,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,MAAM,EAAE,CAAC,IAAM,EAAE,KAAK,GAAG,KAAK,GAAG,GAAI,CAAC,KAAK,GAAG,SAAS,GAAG,CAAC,KAAK,GAAGA,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAIA,EAAE,IAAI,IAAI,CAAC,IAAM,EAAE,EAAE,CAAC,OAAO,EAAE,SAAS,GAAG,CAAC,KAAK,GAAG,IAAIA,EAAE,EAAE,EAAE,KAAK,IAAI,GAAGA,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,GAAG,EAAE,GAAG,KAAK,GAAG,GAAI,CAAC,IAAM,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,qBAAqB,KAAK,MAAM,KAAK,GAAG,KAAK,YAAgB,KAAK,KAAT,EAAY,KAAK,iBAAiB,GAAQ,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,KAAK,MAAM,EAAE,KAAK,SAAS,EAAE,KAAK,KAAK,IAAS,GAAN,KAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,IAAI,EAAE,KAAK,GAAG,CAAC,IAAS,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,YAAY,EAAE,KAAK,8BAA8B,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,IAAI,GAAG,GAAGA,EAAE,EAAE,GAAG,CAAC,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,EAAG,EAAG,WAAW,CAAC,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,YAAY,UAAU,KAAK,GAAG,IAAK,GAAE,IAAI,iBAAiB,CAAC,MAAM,CAAC,IAAI,KAAK,KAAyhW,GAAN,KAAQ,CAAC,aAAa,CAAC,KAAK,gBAAgB,CAAC,EAAE,MAAM,WAAW,EAAE,CAAC,KAAK,GAAG,GAAG,EAAE,aAAa,WAAW,CAAC,KAAK,kBAAkB,KAAK,GAAG,EAAE,CAAC,KAAK,YAAY,KAAK,GAAG,EAAE,CAAC,MAAM,KAAK,YAAY,OAAO,CAAC,KAAK,WAAW,KAAK,GAAG,EAAE,CAAC,KAAK,YAAY,KAAK,GAAG,EAAE,KAAK,WAAW,CAAC,KAAK,yBAAyB,KAAK,GAAG,EAAE,KAAK,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC,OAAO,GAAG,KAAK,YAAY,IAAI,GAAG,EAAE,YAAY,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,IAAI,GAAG,GAAG,GAAG,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,IAAI,GAAG,MAAM,WAAW,CAAC,KAAK,aAAa,KAAK,YAAY,MAAM,CAAC,MAAM,KAAK,kBAAkB,UAAU,CAAC,MAAM,KAAK,YAAY,UAAU,GAAykF,GAAN,KAAQ,CAAC,MAAM,WAAW,EAAE,EAAE,CAAC,KAAK,aAAa,KAAK,WAAW,EAAE,WAAW,KAAK,kBAAkB,EAAE,kBAAkB,KAAK,UAAU,KAAK,gBAAgB,EAAE,CAAC,KAAK,YAAY,KAAK,kBAAkB,EAAE,CAAC,KAAK,aAAa,KAAK,mBAAmB,EAAE,CAAC,KAAK,WAAW,KAAK,iBAAiB,EAAE,CAAC,EAAE,gBAAgB,CAAC,KAAK,kBAAkB,mBAAmB,GAAG,GAAG,KAAK,WAAWA,EAAE,EAAE,CAAC,KAAK,YAAY,aAAa,uBAAuB,GAAG,KAAK,KAAK,KAAK,WAAW,CAAC,MAAM,GAAG,KAAK,YAAY,KAAK,WAAW,gBAAgB,EAAE,mBAAmB,EAAE,CAAC,OAAO,IAAI,GAAG,gBAAgB,EAAE,CAAC,IAAM,EAAE,GAAG,EAAE,aAAa,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,IAAI,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,IAAI,GAAGA,EAAED,EAAED,EAAEO,EAAE,EAAE,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,EAAE,CAAC,kBAAkB,EAAE,CAAC,MAAO,GAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,EAAE,WAAW,EAAE,GAAG,GAAG,KAAK,WAAWL,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,CAAC,OAAO,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAME,EAAE,IAAI,GAAGF,EAAED,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAOE,IAAI,EAAE,GAAG,CAAC,GAAGC,GAAG,KAAK,WAAW,KAAK,YAAY,KAAK,aAAa,KAAK,kBAAkB,EAAE,YAAY,EAAE,8BAA8B,EAAE,CAAC,WAAW,CAAC,OAAO,eAAe,EAAE,CAAC,IAAM,EAAE,EAAG,EAAE,CAAC,EAAG,cAAc,6BAA6B,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,KAAK,YAAY,GAA6+C,GAAG,IAAI,IAAU,GAAN,KAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,GAAY,EAAE,OAAX,IAAK,GAAW,CAAC,GAAY,EAAE,MAAX,IAAK,GAAU,MAAM,IAAI,EAAG,EAAG,iBAAiB,qDAAqD,CAAC,KAAK,KAAK,2BAA2B,KAAK,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,KAAK,KAAK,KAAY,EAAE,EAAE,MAAZ,MAA8B,EAAE,GAAG,KAAK,YAAY,EAAE,YAAY,KAAK,0BAA0B,CAAC,CAAC,EAAE,0BAAmC,EAAE,iBAAX,IAAK,GAAqB,KAAK,eAAe,aAAa,CAAC,GAAQ,EAAE,iBAAP,IAAuB,EAAE,eAAe,QAAQ,MAAM,IAAI,EAAG,EAAG,iBAAiB,0CAA0C,CAAC,KAAK,eAAe,EAAE,eAAe,KAAK,6BAA6B,CAAC,CAAC,EAAE,6BAA6B,KAAK,kCAAkC,CAAC,CAAC,EAAE,kCAAkC,KAAK,gBAAgB,CAAC,CAAC,EAAE,gBAAgB,GAAG,+BAA+B,EAAE,6BAA6B,oCAAoC,EAAE,kCAAkC,CAAC,QAAQ,EAAE,CAAC,OAAO,KAAK,OAAO,EAAE,MAAM,KAAK,MAAM,EAAE,KAAK,KAAK,cAAc,EAAE,aAAa,KAAK,iBAAiB,EAAE,gBAAgB,KAAK,+BAA+B,EAAE,8BAA8B,KAAK,oCAAoC,EAAE,mCAAmC,KAAK,4BAA4B,EAAE,2BAA2B,KAAK,kBAAkB,EAAE,kBAAuB,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,KAAK,YAAY,EAAE,KAAK,KAAK,EAAE,KAAK,KAAK,iBAAiB,KAAK,gBAAgB,SAAS,KAAK,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC,KAAK,gBAAgB,CAAC,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,IAAI,EAAG,EAAG,oBAAoB,+EAA+E,CAAC,OAAO,KAAK,KAAK,IAAI,cAAc,CAAC,OAAO,KAAK,gBAAgB,IAAI,aAAa,CAAC,OAAgB,KAAK,iBAAd,IAAK,GAAwB,aAAa,EAAE,CAAC,GAAG,KAAK,gBAAgB,MAAM,IAAI,EAAG,EAAG,oBAAoB,qKAAqK,CAAC,KAAK,UAAU,IAAI,GAAG,EAAE,CAAU,EAAE,cAAX,IAAK,KAAoB,KAAK,iBAAiB,SAAS,EAAE,CAAC,GAAG,CAACF,EAAE,OAAO,IAAI,GAAG,OAAOA,EAAE,KAAT,CAAe,IAAI,OAAO,IAAM,EAAEA,EAAE,OAAO,OAAO,IAAI,GAAG,EAAEA,EAAE,cAAc,IAAIA,EAAE,UAAU,KAAKA,EAAE,kBAAkB,KAAK,CAAC,IAAI,WAAW,OAAOA,EAAE,OAAO,QAAQ,MAAM,IAAI,EAAG,EAAG,iBAAiB,oEAAoE,GAAG,EAAE,YAAY,EAAE,cAAc,CAAC,OAAO,KAAK,UAAU,iBAAiB,CAAC,MAAO,MAAK,gBAAgB,CAAC,EAAE,KAAK,UAAU,SAAS,CAAC,MAAO,CAAsB,KAAK,iBAAe,KAAK,YAAY,CAAE,KAAK,eAAe,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,WAAW,KAAK,YAAY,SAAS,KAAK,UAAU,CAAC,YAAY,CAAC,OAAO,SAAS,EAAE,CAAC,IAAM,EAAE,GAAG,IAAI,EAAE,CAAC,IAAI,EAAG,oBAAoB,qBAAqB,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC,QAAQ,SAAS,GAAyrC,EAAN,MAAM,CAAE,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,KAAK,UAAU,EAAE,KAAK,KAAK,EAAE,KAAK,KAAK,WAAW,KAAK,UAAU,EAAE,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,KAAK,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,KAAK,iBAAiB,CAAC,IAAI,QAAQ,CAAC,OAAO,IAAI,GAAG,KAAK,UAAU,KAAK,UAAU,KAAK,KAAK,KAAK,SAAS,CAAC,CAAC,cAAc,EAAE,CAAC,OAAO,IAAI,EAAG,KAAK,UAAU,EAAE,KAAK,KAAK,GAAQ,GAAN,MAAM,CAAE,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,KAAK,UAAU,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,QAAQ,KAAK,UAAU,EAAE,cAAc,EAAE,CAAC,OAAO,IAAI,EAAG,KAAK,UAAU,EAAE,KAAK,OAAO,GAAQ,GAAN,MAAM,UAAW,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,MAAM,EAAE,KAAK,KAAK,aAAa,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,KAAK,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,KAAK,iBAAiB,CAAC,IAAI,QAAQ,CAAC,IAAM,EAAE,KAAK,MAAM,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,IAAI,EAAG,KAAK,UAAU,KAAK,IAAI,EAAG,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,OAAO,IAAI,EAAG,KAAK,UAAU,EAAE,KAAK,MAAM,GAAosD,GAAN,KAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,SAAS,EAAE,KAAK,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,SAAS,MAAM,KAAK,GAAG,KAAK,SAAS,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,SAAS,MAAM,KAAK,GAAG,KAAK,SAAS,MAAM,EAAE,CAAC,GAAG,uCAAuC,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,OAAO,gBAAgB,CAAC,KAAK,OAAO,EAAE,EAAE,GAAG,EAAE,GAA45L,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,KAAK,EAAG,gBAAgB,KAAK,SAAS,GAAG,GAAG,CAAC,KAAK,2BAA2B,QAAQ,SAAS,CAAC,KAAK,+BAA+B,QAAQ,SAAS,CAAC,KAAK,gBAAgB,MAAM,GAAG,KAAM,IAAG,CAAC,EAAG,kBAAkB,iBAAiBA,EAAE,IAAI,CAAC,MAAM,KAAK,uBAAuBA,EAAE,CAAC,KAAK,KAAKA,IAAI,CAAC,KAAK,oBAAoB,MAAM,GAAG,IAAI,EAAG,kBAAkB,gCAAgCA,EAAE,CAAC,KAAK,2BAA2BA,EAAE,KAAK,KAAK,GAAG,CAAC,MAAM,kBAAkB,CAAC,MAAM,CAAC,WAAW,KAAK,WAAW,aAAa,KAAK,aAAa,SAAS,KAAK,SAAS,gBAAgB,KAAK,gBAAgB,oBAAoB,KAAK,oBAAoB,YAAY,KAAK,KAAK,8BAA8B,IAAI,CAAC,4BAA4B,EAAE,CAAC,KAAK,uBAAuB,EAAE,+BAA+B,EAAE,CAAC,KAAK,2BAA2B,EAAE,qBAAqB,CAAC,GAAG,KAAK,WAAW,eAAe,MAAM,IAAI,EAAG,EAAG,oBAAoB,0CAA0C,CAAC,WAAW,CAAC,KAAK,WAAW,qBAAqB,CAAC,IAAM,EAAE,IAAI,GAAG,OAAO,KAAK,WAAW,qCAAqC,SAAS,CAAC,GAAG,CAAC,KAAK,kBAAkB,MAAM,KAAK,iBAAiB,WAAW,CAAC,KAAK,mBAAmB,MAAM,KAAK,kBAAkB,WAAW,CAAC,KAAK,gBAAgB,UAAU,CAAC,KAAK,oBAAoB,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC,IAAM,EAAE,GAAG,EAAE,iCAAiC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,UAA4qI,GAAN,KAAQ,CAAC,aAAa,CAAC,KAAK,GAAG,QAAQ,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,GAAG,KAAK,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,GAAG,KAAK,oBAAoB,CAAC,KAAK,OAAO,CAAC,IAAMA,EAAE,IAAI,CAAC,GAAG,EAAG,aAAa,+BAA+BA,EAAE,gBAAgB,CAAC,KAAK,GAAG,IAAI,EAAE,IAAM,EAAE,IAAI,CAAC,GAAe,OAAO,EAAE,kBAArB,YAAuC,EAAE,iBAAiB,mBAAmB,KAAK,GAAG,CAAC,IAAI,gBAAgB,CAAC,OAAO,KAAK,GAAG,iBAAiB,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC,oCAAoC,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,EAAE,IAAM,EAAE,IAAI,CAAC,GAAe,OAAO,EAAE,qBAArB,YAA0C,EAAE,oBAAoB,mBAAmB,KAAK,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,GAAG,OAAO,IAAI,aAAa,IAAI,CAAC,IAAM,EAAE,IAAI,GAAG,OAAO,KAAK,QAAQ,KAAK,IAAI,KAAK,GAAG,QAAQ,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,iBAAiB,EAAE,CAAC,KAAK,uBAAuB,KAAK,GAAG,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAO,KAAK,GAAG,SAAZ,EAAmB,CAAC,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAG,aAAa,0CAA0C,EAAE,CAAC,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,KAAK,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,IAAM,EAAE,KAAK,GAAG,WAAW,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAmJ,KAAlJ,MAAK,GAAGA,EAAE,KAAK,GAAG,CAAC,EAAqI,GAAG,6BAA9H,SAAS,EAAE,CAAC,IAAID,EAAEC,EAAE,SAAS,GAAG,OAAOA,EAAE,QAAQ,EAAEA,EAAE,MAAM,SAASA,EAAE,QAAQ,CAACA,EAAE,MAAMA,EAAE,QAAQ;EAAKA,EAAE,OAAOD,GAAGC,EAAE,CAAyC,CAACA,IAAI,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,EAAEA,IAAI,GAAG,CAAC,MAAO,MAAK,GAAG,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,IAAM,EAAE,GAAG,kBAAkB,KAAK,EAAE,EAAE,GAAG,GAAG,KAAK,GAAGA,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,IAAI,GAAI,CAAC,2BAA2B,EAAE,MAAM,IAAI,CAAC,IAAI,EAAE,EAAG,GAAE,KAAK,GAAG,MAAM,QAAQ,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC,IAAI,IAAM,KAAK,KAAK,GAAG,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,OAAO,EAAE,IAAIA,EAAE,aAAa,EAAE,cAAc,CAAC,IAAI,IAAM,KAAK,KAAK,GAAG,GAAG,EAAE,WAAW,CAAS,IAAR,OAAW,EAAE,UAAU,EAAE,MAAM,OAAO,KAAK,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,IAAM,EAAE,KAAK,GAAG,QAAQ,EAAE,CAAC,KAAK,GAAG,OAAO,EAAE,EAAE,GAA0iC,GAAN,cAAiB,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,KAAK,YAAY,KAAK,OAAO,IAAI,GAAG,KAAK,gBAAuB,GAAW,MAAO,YAAY,YAAY,CAAC,OAAO,KAAK,kBAAkB,GAAG,KAAK,CAAC,KAAK,iBAAiB,WAAW,GAA2xI,GAAN,MAAM,CAAE,CAAC,YAAY,EAAE,CAAC,KAAK,YAAY,EAAE,OAAO,iBAAiB,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,EAAG,EAAG,iBAAiB,EAAE,CAAC,OAAOA,EAAE,CAAC,MAAM,IAAI,EAAG,EAAG,iBAAiB,gDAAgDA,EAAE,EAAE,OAAO,eAAe,EAAE,CAAC,OAAO,IAAI,EAAG,EAAG,eAAe,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,KAAK,YAAY,UAAU,CAAC,cAAc,CAAC,OAAO,KAAK,YAAY,cAAc,CAAC,UAAU,CAAC,MAAM,iBAAiB,KAAK,UAAU,CAAC,IAAI,QAAQ,EAAE,CAAC,OAAO,KAAK,YAAY,QAAQ,EAAE,YAAY,GAAQ,GAAN,KAAQ,CAAC,YAAY,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,GAAO,EAAE,GAAG,SAAT,EAAgB,MAAM,IAAI,EAAG,EAAG,iBAAiB,0EAA0E,CAAC,KAAK,cAAc,IAAI,EAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,KAAK,cAAc,QAAQ,EAAE,cAAc,GAAgD,GAAN,KAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,YAAY,IAAS,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,EAAG,EAAG,iBAAiB,0DAA0D,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,MAAM,IAAI,EAAG,EAAG,iBAAiB,6DAA6D,EAAE,CAAC,KAAK,KAAK,EAAE,KAAK,MAAM,EAAE,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,IAAI,WAAW,CAAC,OAAO,KAAK,MAAM,QAAQ,EAAE,CAAC,OAAO,KAAK,OAAO,EAAE,MAAM,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,SAAS,KAAK,KAAK,UAAU,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,EAAG,KAAK,KAAK,EAAE,KAAK,EAAE,EAAG,KAAK,MAAM,EAAE,MAAM,GAAQ,GAAG,WAAiB,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAE,WAAW,EAAE,EAAE,CAAC,OAAc,KAAK,YAAZ,KAAgF,IAAI,GAAG,EAAE,KAAK,KAAK,EAAE,KAAK,gBAAgB,CAApG,IAAI,GAAG,EAAE,KAAK,KAAK,KAAK,UAAU,EAAE,KAAK,gBAAgB,GAAuT,GAAN,MAAM,CAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,GAAG,EAAE,KAAK,0BAA0B,EAAW,IAAT,IAAK,IAAO,KAAK,IAAI,CAAC,KAAK,gBAAgB,GAAG,EAAE,CAAC,KAAK,UAAU,GAAG,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,GAAG,GAAG,EAAE,CAAC,OAAO,IAAI,EAAG,OAAO,OAAO,OAAO,OAAO,EAAE,CAAC,KAAK,SAAS,CAAC,EAAE,CAAC,KAAK,WAAW,KAAK,GAAG,KAAK,0BAA0B,KAAK,gBAAgB,KAAK,UAAU,CAAC,GAAG,EAAE,CAAO,IAAM,EAAY,KAAK,MAA2B,MAAM,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAO,IAAM,EAAY,KAAK,MAA2B,MAAM,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,KAAK,GAAG,CAAC,KAAK,IAAK,GAAE,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,GAAG,EAAE,KAAK,SAAS,WAAW,KAAK,SAAS,IAAI,CAAC,EAAE,KAAK,KAAK,KAAK,SAAS,GAAG,CAAC,SAAS,EAAE,CAAC,OAAgB,KAAK,UAAU,MAAM,GAAG,EAAE,WAAW,EAAE,EAAE,GAAlD,IAAK,IAAwD,KAAK,gBAAgB,MAAM,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,GAA9D,IAAK,GAA0D,IAAI,CAAC,GAAG,KAAK,KAAK,IAAI,IAAI,EAAE,EAAE,EAAE,KAAK,KAAK,OAAO,IAAI,KAAK,GAAG,KAAK,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAO,EAAE,SAAN,EAAa,MAAM,KAAK,GAAG,oCAAoC,CAAC,GAAG,GAAG,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,MAAM,KAAK,GAAG,iDAAiD,GAAQ,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,KAAK,WAAW,EAAE,KAAK,0BAA0B,EAAE,KAAK,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAG,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,WAAW,KAAK,GAAG,KAAK,0BAA0B,GAAo8J,GAAO,OAAO,gBAAgB,CAAupB,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,KAAK,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,IAAI,EAAG,KAAK,WAAW,KAAK,WAAW,KAAK,KAAK,CAAC,QAAQ,CAAC,OAAc,KAAK,YAAZ,KAAsB,MAAM,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,KAAK,WAAW,CAAC,IAAM,EAAE,IAAI,GAAG,KAAK,WAAW,KAAK,gBAAgB,KAAK,KAAK,KAAK,UAAU,KAAK,CAAC,OAAO,KAAK,WAAW,cAAc,EAAE,CAAC,OAAO,KAAK,gBAAgB,aAAa,KAAK,UAAU,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,UAAU,CAAC,IAAM,EAAE,KAAK,UAAU,KAAK,MAAM,GAAG,uBAAuB,EAAE,CAAC,CAAC,GAAU,IAAP,KAAS,OAAO,KAAK,gBAAgB,aAAa,EAAE,IAAS,GAAN,cAAiB,EAAE,CAAC,MAAM,CAAC,OAAO,MAAM,MAAM,GAA8R,GAAN,KAAQ,GAAQ,GAAN,cAAiB,EAAE,GAAgiB,GAAN,MAAM,UAAW,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,QAAQ,OAAO,QAAQ,EAAE,EAAE,EAAE,CAAC,OAAO,IAAI,EAAG,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,IAAM,EAAE,KAAK,OAAO,EAAE,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,CAAC,IAAI,GAAG,EAAE,UAAU,EAAE,UAAU,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,IAAM,EAAE,GAAG,EAAE,UAAU,CAA8gB,OAA3gB,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIE,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,GAAsB,IAAnB,kBAA6C,IAAvB,qBAAyB,MAAM,IAAI,EAAG,EAAG,iBAAiB,qCAAqC,EAAE,4BAA4B,CAAC,GAAU,IAAP,MAAqB,IAAX,SAAa,CAAC,GAAGD,EAAE,EAAE,CAAC,IAAMF,EAAE,EAAE,CAAC,IAAI,IAAMD,KAAKG,EAAE,EAAE,KAAK,GAAG,EAAED,EAAEF,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,OAAOC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAEC,EAAEC,EAAE,MAAY,IAAP,MAAqB,IAAX,UAAqC,IAAvB,sBAA0B,GAAGA,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQA,EAAS,IAAP,MAAqB,IAAX,SAAa,CAAC,OAAO,EAAG,OAAO,EAAE,EAAEC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,YAAY,KAAK,OAAO,KAAK,IAAI,KAAK,OAAO,GAAuF,GAAN,MAAM,UAAW,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE,KAAK,kBAAkB,EAAE,OAAO,QAAQ,EAAE,EAAE,CAAC,OAAO,IAAI,EAAG,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,IAAM,EAAE,KAAK,kBAAkB,KAAK,GAAGH,EAAE,OAAO,EAAE,EAAE,CAAC,QAAQ,GAAGC,EAAE,YAAY,CAAC,OAAO,GAAG,CAAC,OAAW,EAAE,SAAN,EAAa,EAAE,GAAG,EAAG,OAAO,EAAE,KAAK,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,IAAM,EAAE,KAAK,OAAO,EAAE,CAAC,OAAW,EAAE,YAAY,CAAC,SAAnB,EAA0B,GAAG,SAAS,EAAE,EAAE,CAAC,IAAI,EAAEA,EAAQ,EAAED,EAAE,qBAAqB,CAAC,IAAI,IAAMC,KAAK,EAAE,GAAG,EAAEA,EAAE,CAAC,EAAE,GAAG,EAAEA,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,IAAI,GAAG,EAAE,UAAU,EAAE,UAAU,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,sBAAsB,CAAC,OAAO,KAAK,kBAAkB,cAAc,CAAC,OAAc,KAAK,OAAb,MAAkB,MAAM,OAA4J,GAAN,MAAM,UAAW,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,KAAK,UAAU,OAAO,QAAQ,EAAE,EAAE,CAAC,OAAO,IAAI,EAAG,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,IAAM,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,GAAUA,EAAE,UAAT,KAAiB,MAAM,IAAI,EAAG,EAAG,iBAAiB,uFAAuF,CAAC,GAAUA,EAAE,QAAT,KAAe,MAAM,IAAI,EAAG,EAAG,iBAAiB,oFAAoF,CAAC,IAAM,EAAE,IAAI,GAAGD,EAAE,EAAE,CAAC,OAAO,SAAS,EAAE,EAAE,CAAC,GAAU,GAAGC,EAAE,GAAZ,KAAa,CAAC,IAAMF,EAAE,GAAGE,EAAE,CAAQF,IAAP,MAAU,GAAGE,EAAEF,EAAEC,EAAE,MAAM,GAAGC,EAAE,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,KAAK,WAAW,CAAC,OAAO,IAAI,GAAG,EAAE,UAAU,EAAE,UAAU,SAAS,EAAE,EAAE,CAAC,IAAM,EAAEA,EAAE,gBAAgB,OAAO,CAACD,EAAE,CAAC,CAAC,OAAO,IAAI,GAAGC,EAAE,KAAKA,EAAE,gBAAgB,EAAEA,EAAE,QAAQ,OAAO,CAACA,EAAE,MAAMA,EAAE,UAAUA,EAAE,QAAQA,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,GAAkF,GAAN,MAAM,UAAW,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,QAAQ,EAAE,EAAE,EAAE,CAAC,OAAO,IAAI,EAAG,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,IAAI,GAAG,EAAE,UAAU,EAAE,UAAU,GAAG,EAAE,OAAO,KAAK,OAAO,KAAK,WAAW,CAAC,GAAq3L,GAAN,KAAQ,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,OAAO,GAAG,EAAE,CAAZ,CAAc,IAAK,GAAE,OAAO,KAAK,IAAK,GAAE,OAAO,EAAE,aAAa,IAAK,GAAE,OAAO,EAAG,EAAE,cAAc,EAAE,YAAY,CAAC,IAAK,GAAE,OAAO,KAAK,iBAAiB,EAAE,eAAe,CAAC,IAAK,GAAE,OAAO,KAAK,uBAAuB,EAAE,EAAE,CAAC,IAAK,GAAE,OAAO,EAAE,YAAY,IAAK,GAAE,OAAO,KAAK,aAAa,GAAG,EAAE,WAAW,CAAC,CAAC,IAAK,GAAE,OAAO,KAAK,iBAAiB,EAAE,eAAe,CAAC,IAAK,GAAE,OAAO,KAAK,gBAAgB,EAAE,cAAc,CAAC,IAAK,GAAE,OAAO,KAAK,aAAa,EAAE,WAAW,EAAE,CAAC,IAAK,IAAG,OAAO,KAAK,cAAc,EAAE,SAAS,EAAE,CAAC,QAAQ,MAAM,GAAI,EAAE,cAAc,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,EAAEA,GAAG,KAAK,aAAa,EAAE,EAAE,GAAG,CAAC,EAAE,gBAAgB,EAAE,CAAC,OAAO,IAAI,GAAG,EAAG,EAAE,SAAS,CAAC,EAAG,EAAE,UAAU,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,KAAK,GAAG,KAAK,aAAaA,EAAE,EAAE,EAAE,CAAC,uBAAuB,EAAE,EAAE,CAAC,OAAO,EAAP,CAAU,IAAI,WAAW,IAAM,EAAE,GAAG,EAAE,CAAC,OAAa,GAAN,KAAQ,KAAK,KAAK,aAAa,EAAE,EAAE,CAAC,IAAI,WAAW,OAAO,KAAK,iBAAiB,GAAG,EAAE,CAAC,CAAC,QAAQ,OAAO,MAAM,iBAAiB,EAAE,CAAC,IAAM,EAAE,GAAG,EAAE,CAAC,OAAO,IAAI,EAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,mBAAmB,EAAE,EAAE,CAAC,IAAM,EAAE,EAAG,WAAW,EAAE,CAAC,EAAG,GAAG,EAAE,CAAC,CAAC,IAAM,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAG,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,GAAG,YAAY,EAAE,8DAA8D,EAAE,UAAU,GAAG,EAAE,SAAS,uFAAuF,EAAE,UAAU,GAAG,EAAE,SAAS,YAAY,CAAC,IAAsU,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,iBAAiB,EAAE,KAAK,UAAU,EAAE,QAAQ,EAAE,CAAC,OAAO,KAAK,mBAAmB,EAAE,kBAAkB,KAAK,YAAY,EAAE,YAAiB,GAAN,cAAiB,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,QAAQ,CAAC,OAAO,MAAM,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,KAAK,WAAW,CAAC,IAAM,EAAE,IAAI,GAAG,KAAK,WAAW,KAAK,gBAAgB,KAAK,KAAK,KAAK,UAAU,KAAK,SAAS,KAAK,CAAC,OAAO,KAAK,WAAW,cAAc,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,aAAa,KAAK,UAAU,KAAK,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,UAAU,CAAC,IAAM,EAAE,KAAK,UAAU,KAAK,MAAM,GAAG,uBAAuB,EAAE,CAAC,CAAC,GAAU,IAAP,KAAS,OAAO,KAAK,gBAAgB,aAAa,EAAE,EAAE,iBAAiB,IAAS,GAAN,cAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,MAAM,KAAK,EAAE,GAAQ,GAAN,KAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,IAAI,GAAG,EAAE,iBAAiB,EAAE,UAAU,CAAC,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,IAAM,EAAE,EAAE,CAAC,OAAO,KAAK,SAAS,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,IAAI,MAAM,CAAC,OAAO,KAAK,UAAU,KAAK,KAAK,IAAI,OAAO,CAAC,OAAW,KAAK,OAAT,EAAc,QAAQ,EAAE,EAAE,CAAC,KAAK,UAAU,KAAK,SAAS,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,KAAK,WAAW,KAAK,gBAAgB,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,UAAU,YAAY,IAAI,EAAE,IAAI,CAAC,KAAK,UAAU,UAAU,CAAC,KAAK,MAAM,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAM,EAAE,CAAC,CAAC,EAAE,uBAAuB,GAAG,GAAG,KAAK,UAAU,wBAAwB,MAAM,IAAI,EAAG,EAAG,iBAAiB,8HAA8H,CAAC,OAAO,KAAK,gBAAgB,KAAK,uCAAuC,IAAI,KAAK,eAAe,SAAS,EAAE,EAAE,CAAC,GAAGA,EAAE,UAAU,QAAQ,SAAS,CAAC,CAAC,IAAID,EAAE,EAAE,OAAOC,EAAE,UAAU,WAAW,KAAK,GAAG,CAAC,IAAM,EAAE,IAAI,GAAGA,EAAE,WAAWA,EAAE,gBAAgB,EAAE,IAAI,IAAI,EAAE,IAAI,IAAI,GAAGA,EAAE,UAAU,YAAY,IAAI,EAAE,IAAI,IAAI,CAACA,EAAE,UAAU,UAAU,CAACA,EAAE,MAAM,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,QAAQ,IAAI,EAAE,SAAS,GAAG,SAAS,IAAI,GAAG,CAAC,CAAC,IAAI,EAAEA,EAAE,UAAU,QAAQ,OAAOA,EAAE,UAAU,WAAW,QAAQ,GAAGD,GAAOC,EAAE,OAAN,GAAY,CAAC,KAAK,GAAG,CAAC,IAAM,EAAE,IAAI,GAAGA,EAAE,WAAWA,EAAE,gBAAgBD,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAI,GAAGC,EAAE,UAAU,YAAY,IAAID,EAAE,IAAI,IAAI,CAACC,EAAE,UAAU,UAAU,CAACA,EAAE,MAAM,UAAU,CAAK,EAAE,GAAG,EAAE,GAAG,OAAWD,EAAE,OAAN,IAAa,EAAE,EAAE,QAAQA,EAAE,IAAI,IAAI,CAAC,EAAE,EAAE,OAAOA,EAAE,IAAI,IAAI,EAAMA,EAAE,OAAN,IAAa,EAAE,EAAE,IAAIA,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQA,EAAE,IAAI,IAAI,EAAE,CAAC,KAAK,GAAGA,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,GAAG,KAAK,EAAE,CAAC,KAAK,qCAAqC,GAAG,KAAK,iBAA0lB,GAAN,cAAiB,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,UAAU,EAAE,aAAa,EAAE,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC,IAAM,EAAE,KAAK,mBAAmB,EAAE,KAAK,UAAU,YAAY,CAAC,OAAO,IAAI,EAAG,KAAK,UAAU,KAAK,EAAE,IAAijT,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,GAAGa,GAAEZ,GAAE,IAAI,GAAE,cAAc,EAAE,CAAC,mBAAmB,EAAE,QAAQF,KAAK,CAAC,IAAM,EAAE,EAAE,YAAY,MAAM,CAAC,cAAc,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,YAAY,gBAAgB,CAAC,CAAC,IAAI,GAAG,EAAE,YAAY,qBAAqB,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,UAAU,eAAe,MAAME,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,MAAM,IAAI,EAAG,EAAG,iBAAiB,sDAAsD,CAAC,OAAO,IAAI,GAAGA,EAAE,QAAQ,UAAUD,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAO,GAAE,OAAO,OAAO,CAAC,gBAAgB,EAAE,CAACD,EAAE,CAAC,EAAE,aAAaA,EAAE,CAAC,IAAI,SAAS,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAACC,GAAE,GAAG,QAAQ,EAAE,CAACA,GAAE,GAAG,QAAQ,UAAU,IAAG,ICGh2vT,SAAwB,GAAa,EAAM,CAAC,GAAK,CAAC,EAAS,GAAagB,EAAS,EAAE,CAAC,CAIrD,OAJsD,MAAc,CACxL,GAAG,CAACC,GAAG,OACwE,IAAM,EAAYC,GAAzFC,GAAMC,GAAWH,GAAG,WAAW,CAACI,GAAQ,YAAY,OAAO,CAACC,GAAM,GAAG,CAAC,CAAgC,GAAU,CAE9D,EAFiF,EAAS,KAAK,IAAI,IAAM,CAAC,GAAG,EAAI,GAAG,KAAK,EAAI,MAAM,CAAC,KAC1L,IAAI,KAAK,MAAM,KAAK,QAAQ,CAAC,GAAG,CAAC,GAAG,IACpC,SAAS,KAAK,QAAQ,CAAC,GAAG,GAAG,MAAM,KAAK,QAAQ,CAAC,EAAE,EAAE,CAAyB,EAAG,CAAC,UAAU,GAAa,EAAG,EAAE,CAAC,CAAqB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,SAAS,WAAW,SAAS,SAAS,cAAc,OAAO,CAAC,SAAS,EAAS,IAAI,GAAmB,EAAK,GAAY,CAAM,OAAK,CAAC,EAAK,GAAG,CAAC,CAAC,CAAC,CAAE,SAAS,GAAY,CAAC,QAAM,CAAC,OAAoB,EAAK,EAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,OAAO,IAAS,SAAS,EAAK,SAAS,KAAK,SAAS,MAAM,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,IAAI,EAAK,IAAI,WAAW,SAAS,SAAS,OAAO,WAAW,IAAI,MAAM,2BAA2B,WAAW,oBAAoB,WAAW,4BAA4B,OAAO,EAAE,CAAC,SAAS,EAAK,KAAK,CAAC,4BAPxrB,IAAsC,IAAkC,KAC9B,KAAoI,CACnNC,GAAe,CAAC,OAAO,0CAA0C,WAAW,8BAA8B,UAAU,cAAc,cAAc,kCAAkC,kBAAkB,eAAe,MAAM,4CAA4C,cAAc,eAAe,CACzR,GAAG,CAAC,GAAI,GAAcA,GAAe,CAAC,GAAGC,GAAaC,GAAI,MAAU,yBEKhF,SAAwB,GAAM,CAAC,OAAK,MAAI,OAAK,OAAK,SAAO,SAAO,QAAM,EAAE,EAAE,CAA4M,OAAxM,IAAO,OAAO,EAAyB,EAAK,GAAS,CAAK,MAAS,OAAY,SAAc,SAAa,QAAM,CAAC,CAAK,IAAO,QAAQ,EAA0B,EAAK,GAAU,CAAM,OAAW,QAAM,CAAC,CAAsB,EAAK,GAAa,CAAO,QAAM,CAAC,CAA0uB,SAAS,GAAa,CAAC,SAAO,CAAC,OAAoB,EAAK,MAAM,CAAC,MAAM,CAAC,UAAU,GAAa,EAAM,CAAC,GAAG,GAAgB,SAAS,SAAS,GAAG,EAAM,CAAC,SAAsB,EAAK,MAAM,CAAC,MAAM,GAAgB,SAAS,mEAAmE,CAAC,CAAC,CAAC,CAAE,SAAS,GAAS,CAAC,MAAI,OAAK,SAAO,SAAO,SAAO,CAAC,IAAM,EAAc,CAAC,EAAM,OAC55C,cAAc,KAAK,EAAI,GAAE,EAAI,WAAW,GAAK,IAAM,EAAS,IAAe,CAE1E,CAAC,EAAM,GAAUC,EAAS,EAAS,IAAA,GAAU,GAAM,CAG4gC,OAH3gC,MAAc,CAEvE,GAAG,CAAC,EAAS,OACb,IAAI,EAAa,GAAK,EAAS,IAAA,GAAU,CAAC,eAAe,GAAM,CAAC,IAAM,EAAS,MAAM,MAAM,yDAAyD,mBAAmB,EAAI,CAAC,CAAC,GAAG,EAAS,QAAQ,IAAI,CAAC,GAAK,CAAC,aAAW,MAAM,EAAS,MAAM,CAAI,GAAc,EAAS,EAAU,KAAO,CAAC,IAAM,EAAQ,MAAM,EAAS,MAAM,CAAC,QAAQ,MAAM,EAAQ,CAAsD,EAArC,MAAM,8BAA8B,CAAgB,EAAgE,OAA7D,GAAM,CAAC,MAAM,GAAO,CAAC,QAAQ,MAAM,EAAM,CAAC,EAAS,EAAM,EAAG,KAAW,CAAC,EAAa,KAAU,CAAC,EAAI,CAAC,CAAI,GAAU,EAAmC,EAAK,GAAa,CAAC,QAAQ,yCAA+C,QAAM,CAAC,CAAM,EAAI,WAAW,WAAW,CAA2F,IAAQ,IAAA,GAA+B,EAAK,GAAiB,EAAE,CAAC,CAAK,aAAiB,MAA2B,EAAK,GAAa,CAAC,QAAQ,EAAM,QAAc,QAAM,CAAC,CAAK,IAAQ,GAAiG,EAAK,GAAa,CAAC,QAAhG,eAAe,EAAI,sCAAmG,QAAM,CAAC,CAAsB,EAAK,SAAS,CAAC,IAAI,EAAI,MAAM,CAAC,GAAG,GAAY,GAAG,EAAM,GAAG,EAAY,OAAK,aAAa,EAAO,gBAAgB,aAAa,CAAC,QAAQ,OAC5tC,cAAc,EAAS,MAAM,OAAO,eAAe,cAAc,QAAQ,GAAW,EAAS,CAAC,gBAAgB,GAAK,MAAM,qHAAqH,CAAC,CADyc,EAAK,GAAa,CAAC,QAAQ,wBAA8B,QAAM,CAAC,CAC1c,SAAS,GAAW,EAAS,CAAC,IAAM,EAAO,CAAC,oBAAoB,gBAAgB,CAAmR,OAA9Q,GAAU,EAAO,KAAK,kBAAkB,cAAc,eAAe,yBAAyB,qBAAqB,eAAe,iCAAiC,qBAAqB,0CAA0C,0CAA0C,CAAS,EAAO,KAAK,IAAI,CAAE,SAAS,GAAU,CAAC,OAAK,GAAG,GAAO,CAA4C,GAA3B,EAAK,SAAS,aAAY,CAAc,CAAC,IAAM,EAAgB,EAAK,SAAS,mBAAmB,CAAO,EAAW,EAAK,SAAS,+BAA+B,CAAsG,OAAjD,EAAjD,GAAiB,EAAqC,GAAqE,GAAhD,CAAM,OAAK,GAAG,EAAM,CAAC,CAAwE,OAAoB,EAAK,GAAwB,CAAM,OAAK,GAAG,EAAM,CAAC,CAAE,SAAS,GAAsB,CAAC,OAAK,SAAO,CAAC,IAAM,EAAIC,GAAQ,CAAM,CAAC,EAAa,GAAiBD,EAAS,EAAE,CAChuC,MAAc,CAAC,IAAM,EAAa,EAAI,SAAS,cAAc,SAAS,EAAc,EAAM,CAAC,GAAG,EAAM,SAAS,EAAa,OAAO,IAAM,EAAK,EAAM,KAAK,GAAG,OAAO,GAAO,WAAU,EAAY,OAAO,IAAM,EAAO,EAAK,YAAe,OAAO,GAAS,UAAgB,EAAgB,EAAO,CAE7O,OAF+O,EAAO,iBAAiB,UAAU,EAAc,CAE/U,GAAc,YAAY,iBAAiB,IAAI,KAAW,CAAC,EAAO,oBAAoB,UAAU,EAAc,GAAK,EAAE,CAAC,CAGtH,IAAM,EAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAoCH,EAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BP,EAAa,CAAC,GAAG,GAAY,GAAG,EAAM,CAA4F,OAAtE,EAAM,SAAyB,EAAa,OAAO,EAAa,MAA0B,EAAK,SAAS,CAAK,MAAI,MAAM,EAAoB,SAAO,CAAC,CAAE,SAAS,GAAqB,CAAC,OAAK,SAAO,CAAC,IAAM,EAAIC,GAAQ,CAAoI,OAAnI,MAAc,CAAC,IAAM,EAAI,EAAI,QAAY,KAAkD,MAAvC,GAAI,UAAU,EAAK,GAAe,EAAI,KAAW,CAAC,EAAI,UAAU,KAAO,CAAC,EAAK,CAAC,CAAqB,EAAK,MAAM,CAAK,MAAI,MAAM,CAAC,GAAG,GAAU,GAAG,EAAM,CAAC,CAAC,CAAE,SAAS,GAAwB,CAAC,OAAK,SAAO,CAAC,OAAoB,EAAK,MAAM,CAAC,MAAM,CAAC,GAAG,GAAU,GAAG,EAAM,CAAC,wBAAwB,CAAC,OAAO,EAAK,CAAC,CAAC,CAExnB,SAAS,GAAe,EAAK,CAAC,GAAG,aAAgB,SAAS,EAAK,UAAU,SAAS,CAAC,IAAM,EAAO,SAAS,cAAc,SAAS,CAAC,EAAO,KAAK,EAAK,UAAU,IAAI,GAAK,CAAC,OAAK,WAAS,EAAK,WAAY,EAAO,aAAa,EAAK,EAAM,CAAE,EAAK,cAAc,aAAa,EAAO,EAAK,MAAO,IAAI,IAAM,KAAS,EAAK,WAAY,GAAe,EAAM,CAClV,SAAS,IAAkB,CAAC,OAAoB,EAAK,MAAM,CAAC,UAAU,wCAAwC,MAAM,CAAC,GAAG,GAAgB,SAAS,SAAS,CAAC,SAAsB,EAAK,MAAM,CAAC,MAAM,GAAgB,SAAS,WAAW,CAAC,CAAC,CAAC,CAAE,SAAS,GAAa,CAAC,UAAQ,SAAO,CAAC,OAAoB,EAAK,MAAM,CAAC,UAAU,oCAAoC,MAAM,CAAC,UAAU,GAAa,EAAM,CAAC,GAAG,GAAgB,SAAS,SAAS,GAAG,EAAM,CAAC,SAAsB,EAAK,MAAM,CAAC,MAAM,GAAgB,SAAS,EAAQ,CAAC,CAAC,CAAC,CACjgB,SAAS,GAAa,EAAM,CAAmC,GAAd,CAAC,EAAM,OAAwB,MAAO,oCA1F5C,IAA6C,KAAoD,KAAwG,CAQ2F,GAAoB,GAAM,CAAC,KAAK,CAAC,KAAK,GAAY,KAAK,aAAa,MAAM,wBAAwB,GAAK,QAAQ,CAAC,MAAM,OAAO,CAAC,aAAa,CAAC,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,MAAM,KAAK,GAAY,OAAO,YAAY,yCAAyC,OAAO,EAAM,CAAC,OAAO,EAAM,OAAO,OAAQ,CAAC,KAAK,CAAC,MAAM,OAAO,KAAK,GAAY,OAAO,gBAAgB,GAAK,OAAO,EAAM,CAAC,OAAO,EAAM,OAAO,QAAS,CAAC,OAAO,CAAC,MAAM,SAAS,KAAK,GAAY,OAAO,SAAS,GAAK,OAAO,EAAM,CAAC,OAAO,EAAM,OAAO,OAAQ,CAAC,OAAO,CAAC,KAAK,GAAY,aAAa,MAAM,SAAS,OAAO,EAAM,CAAC,OAAO,EAAM,OAAO,OAAQ,CAAC,KAAK,CAAC,MAAM,OAAO,aAAa,EAAE,KAAK,GAAY,OAAO,OAAO,EAAM,CAAC,OAAO,EAAM,OAAO,OAAQ,IAAI,GAAG,IAAI,EAAE,KAAK,GAAG,eAAe,GAAK,CAAC,CAAC,CAO/zB,GAAY,CAAC,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,CAuEmV,GAAU,CAAC,MAAM,OAAO,OAAO,OAAO,QAAQ,OAAO,cAAc,SAAS,eAAe,SAAS,WAAW,SAAS,CAG/O,GAAgB,CAAC,UAAU,SAAS,SAAS,IAAI,ICvFre,SAAwB,IAAW,CAAC,GAAK,CAAC,EAAM,GAAUC,EAAS,GAAG,CAAM,CAAC,EAAQ,GAAYA,EAAS,GAAM,CACb,OAAoB,EAAM,OAAO,CAAC,SADD,KAAM,IAAG,CAAC,KAAE,gBAAgB,CAAI,GAAC,EAAM,MAAM,EAAE,CAAC,IAAU,GAAW,GAAK,CAAC,GAAG,CACvS,MAAMC,GAAOC,GAAW,GAAG,WAAW,CAAC,CAAC,KAAK,EAAM,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,EAAS,GAAG,OAAQ,EAAM,CAAC,QAAQ,MAAM,gBAAgB,EAAM,CAAC,MAAM,kBAAkB,CAAE,EAAW,GAAM,GAA2D,MAAM,CAAC,QAAQ,OAAO,IAAI,OAAO,QAAQ,OAAO,cAAc,OAAO,CAAC,SAAS,CAAc,EAAK,QAAQ,CAAC,KAAK,OAAO,MAAM,EAAM,SAAS,GAAG,EAAS,EAAE,OAAO,MAAM,CAAC,YAAY,2BAA2B,MAAM,CAAC,QAAQ,YAAY,aAAa,OAAO,OAAO,kCAAkC,WAAW,kBAAkB,MAAM,QAAQ,QAAQ,OAAO,MAAM,QAAQ,CAAC,CAAC,CAAc,EAAK,SAAS,CAAC,KAAK,SAAS,SAAS,EAAQ,MAAM,CAAC,QAAQ,YAAY,aAAa,OAAO,OAAO,OAAO,WAAW,EAAQ,OAAO,UAAU,MAAM,QAAQ,OAAO,UAAU,WAAW,OAAO,CAAC,SAAS,EAAQ,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,4BAHzxB,IAA4B,KAAqF,KAA4G,CAChR,GAAe,CAAC,OAAO,0CAA0C,WAAW,8BAA8B,UAAU,cAAc,cAAc,kCAAkC,kBAAkB,eAAe,MAAM,4CAA4C,cAAc,eAAe,CACzR,GAAG,CAAC,GAAI,GAAc,GAAe,CAAC,GAAGC,GAAa,GAAI,MAAU"}