{"version":3,"file":"hive.i1dZgCjI.mjs","sources":["../../../@hive/sdk/dist/_chunks/errors-CNH_pZDT.mjs"],"sourcesContent":["import { z } from \"zod\";\n\n//#region src/errors/lib/auth.ts\nvar MissingCredentialsError = class extends Error {\n\tstatic name = \"MissingCredentialsError\";\n\tconstructor(msg) {\n\t\tsuper(msg ?? \"Credentials are required to access the requested Resource.\");\n\t\tthis.name = \"MissingCredentialsError\";\n\t}\n};\nvar InvalidCredentialsError = class extends Error {\n\tstatic name = \"InvalidCredentialsError\";\n\tconstructor(msg) {\n\t\tsuper(msg ?? \"Provided credentials do not have access to the requested resource.\");\n\t\tthis.name = \"InvalidCredentialsError\";\n\t}\n};\nvar ExpiredCredentialsError = class extends Error {\n\tstatic name = \"ExpiredCredentialsError\";\n\tconstructor(msg) {\n\t\tsuper(msg ?? \"Provided credentials have expired.\");\n\t\tthis.name = \"ExpiredCredentialsError\";\n\t}\n};\n\n//#endregion\n//#region src/errors/lib/feature.ts\nvar FeatureNotImplementedError = class extends Error {\n\tstatic name = \"FeatureNotImplementedError\";\n\tconstructor(msg) {\n\t\tsuper(msg ?? \"Feature has not yet been implemented.\");\n\t\tthis.name = \"FeatureNotImplementedError\";\n\t}\n};\n\n//#endregion\n//#region src/errors/lib/network.ts\nvar NetworkError = class extends Error {\n\tstatic name = \"NetworkError\";\n\tconstructor(msg) {\n\t\tsuper(msg ?? \"An unknown network error occurred.\");\n\t\tthis.name = \"NetworkError\";\n\t}\n};\n\n//#endregion\n//#region src/errors/lib/request.ts\nvar BadRequestError = class extends Error {\n\tstatic name = \"BadRequestError\";\n\tconstructor(msg) {\n\t\tsuper(msg ?? \"Bad Request.\");\n\t\tthis.name = \"BadRequestError\";\n\t}\n};\n\n//#endregion\n//#region src/errors/lib/resource.ts\nvar ResourceNotFoundError = class extends Error {\n\tstatic name = \"ResourceNotFoundError\";\n\tresource;\n\tconstructor(resource) {\n\t\tsuper(`${resource?.name ?? \"Resource\"} was not found.`);\n\t\tthis.name = \"ResourceNotFoundError\";\n\t\tthis.resource = resource;\n\t}\n};\nvar ResourceExistsError = class extends Error {\n\tstatic name = \"ResourceExistsError\";\n\tresource;\n\tconstructor(resource) {\n\t\tsuper(`${resource?.name ?? \"Resource\"} already exists.`);\n\t\tthis.name = \"ResourceExistsError\";\n\t\tthis.resource = resource;\n\t}\n};\nvar ResourceNotAccessibleError = class extends Error {\n\tstatic name = \"ResourceNotAccessibleError\";\n\tresource;\n\tconstructor(resource) {\n\t\tsuper(`${resource?.name ?? \"Resource\"} is not accessible.`);\n\t\tthis.name = \"ResourceNotAccessibleError\";\n\t\tthis.resource = resource;\n\t}\n};\nvar ResourceNotInitializedError = class extends Error {\n\tstatic name = \"ResourceNotInitializedError\";\n\tresource;\n\tconstructor(resource) {\n\t\tsuper(`${resource?.name ?? \"Resource\"} is not initialized. Initialize it by passing it to either \\`hive.create()\\` or \\`hive.get()\\`.`);\n\t\tthis.name = \"ResourceNotInitializedError\";\n\t\tthis.resource = resource;\n\t}\n};\n\n//#endregion\n//#region src/errors/lib/selector.ts\nvar InvalidSelectorError = class extends Error {\n\tstatic name = \"InvalidSelectorError\";\n\tconstructor(selector) {\n\t\tsuper(`Selector ${selector?.type ? `(${selector.type})` : \"\"} can not be used for this operation.`);\n\t\tthis.name = \"InvalidSelectorError\";\n\t}\n};\nvar InvalidSelectorKeyError = class extends Error {\n\tstatic name = \"InvalidSelectorKeyError\";\n\tconstructor(key) {\n\t\tsuper(`Invalid key \\`${key}\\` provided to Selector.`);\n\t}\n};\n\n//#endregion\n//#region src/errors/lib/sqlite.ts\nvar InvalidBinaryContentsError = class extends Error {\n\tstatic name = \"InvalidBinaryContentsError\";\n\tconstructor(msg) {\n\t\tsuper(msg ?? \"Invalid binary contents provided.\");\n\t\tthis.name = \"InvalidBinaryContentsError\";\n\t}\n};\n\n//#endregion\n//#region src/errors/lib/transaction.ts\nvar StatementPreparationError = class extends Error {\n\tstatic name = \"StatementPreparationError\";\n\tstatement;\n\tconstructor(msg, statement) {\n\t\tsuper(msg);\n\t\tthis.name = \"StatementPreparationError\";\n\t\tthis.statement = statement;\n\t}\n};\nvar StatementExecutionError = class extends Error {\n\tstatic name = \"StatementExecutionError\";\n\tstatement;\n\tconstructor(msg, statement) {\n\t\tsuper(msg);\n\t\tthis.name = \"StatementExecutionError\";\n\t\tthis.statement = statement;\n\t}\n};\n\n//#endregion\n//#region src/selector.ts\nconst RESOURCE_TYPES = [\n\t{\n\t\tname: \"namespace\",\n\t\tabbreviation: \"ns\",\n\t\tpath: \"namespaces\"\n\t},\n\t{\n\t\tname: \"database\",\n\t\tabbreviation: \"db\",\n\t\tpath: \"databases\"\n\t},\n\t{\n\t\tname: \"snapshot\",\n\t\tabbreviation: \"sn\",\n\t\tpath: \"snapshots\"\n\t},\n\t{\n\t\tname: \"branch\",\n\t\tabbreviation: \"br\",\n\t\tpath: \"branches\"\n\t}\n];\n/**\n* Regular expression used to validate the legitimacy of a key provided to a\n* `Selector` constructor.\n*\n* It validates if a key is both in the correct format and shape as well as the\n* following hierarchy:\n*\n* a) Only Namespaces and Databases can exist on the root level.\n* b) Namespaces can only have other Namespaces or Databases as children.\n* c) Databases can only have Snapshots or Branches as children.\n* d) Snapshots and Branches can both neither have any children.\n*\n* @example\n* ```\n* const key = 'ns:my-namespace/ns:child-namespace/db:main/sn:snapshot-1';\n* ```\n*\n* @example\n* ```\n* const key = 'ns:my-namespace/db:main/sn:snapshot-1';\n* ```\n*\n* @example\n* ```\n* const key = 'db:main/br:branch-1';\n* ```\n*/\nconst SELECTOR_KEY_REGEX = /^(?:ns:[^/]+(?:\\/ns:[^/]+)*(?:\\/db:[^/]+(?:\\/(?:sn|br):[^/]+)?)?|db:[^/]+(?:\\/(?:sn|br):[^/]+)?)$/;\n/**\n* Regular expression used to extract the key of the parent of the Resource\n* addressed with the provided key.\n*\n* @example\n* ```\n* const key = 'ns:my-namespace';\n*\n* // parent: null\n* ```\n*\n* @example\n* ```\n* const key = 'ns:my-namespace/db:main';\n*\n* // parent: 'ns:my-namespace'\n* ```\n*\n* @example\n* ```\n* const key = 'ns:my-namespace/db:main/sn:snapshot-1';\n*\n* // parent: 'ns:my-namespace/db:main'\n* ```\n*/\nconst SELECTOR_PARENT_KEY_REGEX = /^(?<parent>.+)\\/(?:ns|db|sn|br):[^/]+$/;\n/**\n* Regular expression to extract the `type` and `id` of the Resource addressed\n* with the provided key.\n*\n* @example\n* ```\n* const key = 'ns:my-namespace';\n*\n* // type = 'ns'\n* // id = 'my-namespace'\n* ```\n*\n* @example\n* ```\n* const key = 'ns:my-namespace/db:main';\n*\n* // type = 'db'\n* // id = 'main'\n* ```\n*\n* @example\n* ```\n* const key = 'ns:my-namespace/db:main/sn:snapshot-1';\n*\n* // type = 'sn'\n* // id = 'snapshot-1'\n* ```\n*\n*/\nconst SELECTOR_DETAILS_REGEX = /^(?:.*\\/)?(?<type>ns|db|sn|br):(?<id>[^/]+)$/;\nconst TYPE_TO_ABBREVIATION = new Map(RESOURCE_TYPES.map((type) => [type.name, type.abbreviation]));\nconst ABBREVIATION_TO_TYPE = new Map(RESOURCE_TYPES.map((type) => [type.abbreviation, type.name]));\nconst PATH_SEGMENTS = new Map(RESOURCE_TYPES.map((type) => [type.name, type.path]));\nconst serializeMetadata = (metadata) => ({\n\t...metadata,\n\tindexedAt: metadata.indexedAt.toISOString(),\n\tcreatedAt: metadata.createdAt?.toISOString() ?? null,\n\tmodifiedAt: metadata.modifiedAt?.toISOString() ?? null\n});\nconst deserializeMetadata = (metadata) => {\n\treturn {\n\t\t...metadata,\n\t\tindexedAt: new Date(metadata.indexedAt),\n\t\tcreatedAt: metadata.createdAt ? new Date(metadata.createdAt) : null,\n\t\tmodifiedAt: metadata.modifiedAt ? new Date(metadata.modifiedAt) : null\n\t};\n};\nvar Selector = class Selector {\n\t/**\n\t* Key of the Resource, containing its type, id and the key of a\n\t* potential parent Resource.\n\t*\n\t* @example\n\t* ```\n\t* const db = new Selector({ type: 'database', id: 'main' });\n\t* // => db:main\n\t*\n\t* const snapshot = new Selector({ type: 'snapshot', id: 'snapshot-1', parent: db });\n\t* // => db:main/sn:snapshot-1\n\t*\n\t* new Selector({ type: 'snapshot', id: 'nested-snapshot-1', parent: snapshot });\n\t* // => db:main/sn:snapshot-1/sn:nested-snapshot-1\n\t*\n\t* const branch = new Selector({ type: 'branch', id: 'branch-1', parent: db });\n\t* // => db:main/br:branch-1\n\t*\n\t* new Selector({ type: 'branch', id: 'nested-branch-1', parent: branch });\n\t* // => db:main/br:branch-1/br:nested-branch-1\n\t* ```\n\t*/\n\tkey;\n\tcached;\n\tconstructor(input) {\n\t\tthis.key = typeof input === \"string\" ? input : `${input.parent ? typeof input.parent === \"string\" ? `${input.parent}/` : `${input.parent.key}/` : \"\"}${TYPE_TO_ABBREVIATION.get(input.type)}:${encodeURIComponent(input.id)}`;\n\t\tthis.cached = {\n\t\t\tid: null,\n\t\t\ttype: null,\n\t\t\tparent: null,\n\t\t\tname: null,\n\t\t\tpath: null\n\t\t};\n\t\tif (!SELECTOR_KEY_REGEX.test(this.key)) throw new InvalidSelectorKeyError(this.key);\n\t}\n\tget id() {\n\t\tthis.cached.id ??= this.key.match(SELECTOR_DETAILS_REGEX)?.groups?.id ?? \"\";\n\t\treturn this.cached.id;\n\t}\n\tget type() {\n\t\tthis.cached.type ??= ABBREVIATION_TO_TYPE.get(this.key.match(SELECTOR_DETAILS_REGEX)?.groups?.type);\n\t\treturn this.cached.type;\n\t}\n\tget parent() {\n\t\tconst match = this.key.match(SELECTOR_PARENT_KEY_REGEX)?.groups?.parent ?? null;\n\t\tthis.cached.parent ??= match ? new Selector(match) : null;\n\t\treturn this.cached.parent;\n\t}\n\tget name() {\n\t\tthis.cached.name ??= `${this.type.charAt(0).toUpperCase() + this.type.slice(1)} \\`${this.id}\\`${this.parent ? ` of ${this.parent.name}` : \"\"}`;\n\t\treturn this.cached.name;\n\t}\n\tget path() {\n\t\tthis.cached.path ??= `${this.parent ? `${this.parent.path}/` : \"\"}${PATH_SEGMENTS.get(this.type)}/${encodeURIComponent(this.id)}`;\n\t\treturn this.cached.path;\n\t}\n};\n\n//#endregion\n//#region src/errors/index.ts\nconst SerializedErrorSchema = z.object({\n\tname: z.string(),\n\tmessage: z.string(),\n\tprops: z.record(z.string(), z.any()).optional()\n});\nconst KNOWN_ERRORS = new Map([\n\t[MissingCredentialsError.name, MissingCredentialsError],\n\t[InvalidCredentialsError.name, InvalidCredentialsError],\n\t[ExpiredCredentialsError.name, ExpiredCredentialsError],\n\t[FeatureNotImplementedError.name, FeatureNotImplementedError],\n\t[NetworkError.name, NetworkError],\n\t[BadRequestError.name, BadRequestError],\n\t[StatementPreparationError.name, StatementPreparationError],\n\t[StatementExecutionError.name, StatementExecutionError],\n\t[ResourceNotFoundError.name, ResourceNotFoundError],\n\t[ResourceExistsError.name, ResourceExistsError],\n\t[ResourceNotAccessibleError.name, ResourceNotAccessibleError],\n\t[InvalidSelectorError.name, InvalidSelectorError],\n\t[InvalidSelectorKeyError.name, InvalidSelectorKeyError],\n\t[InvalidBinaryContentsError.name, InvalidBinaryContentsError]\n]);\n/**\n* Utility for serializing an `Error`-like object into a JSON object,\n* allowing for it to be transferred across process boundaries.\n*\n* For security reasons, the `stack` property is not included in the\n* serialized error object.\n*\n* @param error `Error`-like object to serialize.\n*\n* @returns JSON-compatible `SerializedError` object.\n*/\nconst serializeError = (error) => {\n\tconst props = Object.fromEntries(Object.entries(error).filter(([key]) => key !== \"name\" && key !== \"message\" && key !== \"stack\" && key !== \"originalColumn\" && key !== \"originalLine\"));\n\tif (\"resource\" in error && error.resource instanceof Selector) props.resource = error.resource.key;\n\treturn {\n\t\tname: error.name,\n\t\tmessage: error.message,\n\t\tprops\n\t};\n};\n/**\n* Utility for deserializing a `SerializedError` object into an actual\n* error instance.\n*\n* @param serialized `SerializedError` object to deserialize.\n* @param constructors Map of error constructors.\n*\n* @returns Deserialized error instance.\n*/\nconst deserializeError = (serialized, constructors) => {\n\tconst Constructor = constructors.get(serialized.name) ?? Error;\n\tconst error = new Constructor();\n\terror.message = serialized.message;\n\tif (serialized.props && \"resource\" in serialized.props) try {\n\t\tserialized.props.resource = new Selector(serialized.props.resource);\n\t} catch (_err) {\n\t\tserialized.props.resource = null;\n\t}\n\tObject.assign(error, serialized.props);\n\treturn error;\n};\n\n//#endregion\nexport { BadRequestError, ExpiredCredentialsError, FeatureNotImplementedError, InvalidBinaryContentsError, InvalidCredentialsError, InvalidSelectorError, InvalidSelectorKeyError, KNOWN_ERRORS, MissingCredentialsError, NetworkError, RESOURCE_TYPES, ResourceExistsError, ResourceNotAccessibleError, ResourceNotFoundError, ResourceNotInitializedError, SELECTOR_DETAILS_REGEX, SELECTOR_KEY_REGEX, SELECTOR_PARENT_KEY_REGEX, Selector, SerializedErrorSchema, StatementExecutionError, StatementPreparationError, deserializeError, deserializeMetadata, serializeError, serializeMetadata };"],"names":["Selector"],"mappings":";;AAGA,IAAI,uBAAA,GAA0B,cAAc,KAAA,CAAM;AAAA,EACjD,OAAO,IAAA,GAAO,yBAAA;AAAA,EACd,YAAY,GAAA,EAAK;AAChB,IAAA,KAAA,CAAM,OAAO,4DAA4D,CAAA;AACzE,IAAA,IAAA,CAAK,IAAA,GAAO,yBAAA;AAAA,EACb;AACD;AACA,IAAI,uBAAA,GAA0B,cAAc,KAAA,CAAM;AAAA,EACjD,OAAO,IAAA,GAAO,yBAAA;AAAA,EACd,YAAY,GAAA,EAAK;AAChB,IAAA,KAAA,CAAM,OAAO,oEAAoE,CAAA;AACjF,IAAA,IAAA,CAAK,IAAA,GAAO,yBAAA;AAAA,EACb;AACD;AACA,IAAI,uBAAA,GAA0B,cAAc,KAAA,CAAM;AAAA,EACjD,OAAO,IAAA,GAAO,yBAAA;AAAA,EACd,YAAY,GAAA,EAAK;AAChB,IAAA,KAAA,CAAM,OAAO,oCAAoC,CAAA;AACjD,IAAA,IAAA,CAAK,IAAA,GAAO,yBAAA;AAAA,EACb;AACD;AAIA,IAAI,0BAAA,GAA6B,cAAc,KAAA,CAAM;AAAA,EACpD,OAAO,IAAA,GAAO,4BAAA;AAAA,EACd,YAAY,GAAA,EAAK;AAChB,IAAA,KAAA,CAAM,OAAO,uCAAuC,CAAA;AACpD,IAAA,IAAA,CAAK,IAAA,GAAO,4BAAA;AAAA,EACb;AACD;AAIA,IAAI,YAAA,GAAe,cAAc,KAAA,CAAM;AAAA,EACtC,OAAO,IAAA,GAAO,cAAA;AAAA,EACd,YAAY,GAAA,EAAK;AAChB,IAAA,KAAA,CAAM,OAAO,oCAAoC,CAAA;AACjD,IAAA,IAAA,CAAK,IAAA,GAAO,cAAA;AAAA,EACb;AACD;AAIA,IAAI,eAAA,GAAkB,cAAc,KAAA,CAAM;AAAA,EACzC,OAAO,IAAA,GAAO,iBAAA;AAAA,EACd,YAAY,GAAA,EAAK;AAChB,IAAA,KAAA,CAAM,OAAO,cAAc,CAAA;AAC3B,IAAA,IAAA,CAAK,IAAA,GAAO,iBAAA;AAAA,EACb;AACD;AAIA,IAAI,qBAAA,GAAwB,cAAc,KAAA,CAAM;AAAA,EAC/C,OAAO,IAAA,GAAO,uBAAA;AAAA,EACd,QAAA;AAAA,EACA,YAAY,QAAA,EAAU;AACrB,IAAA,KAAA,CAAM,CAAA,EAAG,QAAA,EAAU,IAAA,IAAQ,UAAU,CAAA,eAAA,CAAiB,CAAA;AACtD,IAAA,IAAA,CAAK,IAAA,GAAO,uBAAA;AACZ,IAAA,IAAA,CAAK,QAAA,GAAW,QAAA;AAAA,EACjB;AACD;AACA,IAAI,mBAAA,GAAsB,cAAc,KAAA,CAAM;AAAA,EAC7C,OAAO,IAAA,GAAO,qBAAA;AAAA,EACd,QAAA;AAAA,EACA,YAAY,QAAA,EAAU;AACrB,IAAA,KAAA,CAAM,CAAA,EAAG,QAAA,EAAU,IAAA,IAAQ,UAAU,CAAA,gBAAA,CAAkB,CAAA;AACvD,IAAA,IAAA,CAAK,IAAA,GAAO,qBAAA;AACZ,IAAA,IAAA,CAAK,QAAA,GAAW,QAAA;AAAA,EACjB;AACD;AACA,IAAI,0BAAA,GAA6B,cAAc,KAAA,CAAM;AAAA,EACpD,OAAO,IAAA,GAAO,4BAAA;AAAA,EACd,QAAA;AAAA,EACA,YAAY,QAAA,EAAU;AACrB,IAAA,KAAA,CAAM,CAAA,EAAG,QAAA,EAAU,IAAA,IAAQ,UAAU,CAAA,mBAAA,CAAqB,CAAA;AAC1D,IAAA,IAAA,CAAK,IAAA,GAAO,4BAAA;AACZ,IAAA,IAAA,CAAK,QAAA,GAAW,QAAA;AAAA,EACjB;AACD;AACA,IAAI,2BAAA,GAA8B,cAAc,KAAA,CAAM;AAAA,EACrD,OAAO,IAAA,GAAO,6BAAA;AAAA,EACd,QAAA;AAAA,EACA,YAAY,QAAA,EAAU;AACrB,IAAA,KAAA,CAAM,CAAA,EAAG,QAAA,EAAU,IAAA,IAAQ,UAAU,CAAA,+FAAA,CAAiG,CAAA;AACtI,IAAA,IAAA,CAAK,IAAA,GAAO,6BAAA;AACZ,IAAA,IAAA,CAAK,QAAA,GAAW,QAAA;AAAA,EACjB;AACD;AAIA,IAAI,oBAAA,GAAuB,cAAc,KAAA,CAAM;AAAA,EAC9C,OAAO,IAAA,GAAO,sBAAA;AAAA,EACd,YAAY,QAAA,EAAU;AACrB,IAAA,KAAA,CAAM,CAAA,SAAA,EAAY,UAAU,IAAA,GAAO,CAAA,CAAA,EAAI,SAAS,IAAI,CAAA,CAAA,CAAA,GAAM,EAAE,CAAA,oCAAA,CAAsC,CAAA;AAClG,IAAA,IAAA,CAAK,IAAA,GAAO,sBAAA;AAAA,EACb;AACD;AACA,IAAI,uBAAA,GAA0B,cAAc,KAAA,CAAM;AAAA,EACjD,OAAO,IAAA,GAAO,yBAAA;AAAA,EACd,YAAY,GAAA,EAAK;AAChB,IAAA,KAAA,CAAM,CAAA,cAAA,EAAiB,GAAG,CAAA,wBAAA,CAA0B,CAAA;AAAA,EACrD;AACD;AAIA,IAAI,0BAAA,GAA6B,cAAc,KAAA,CAAM;AAAA,EACpD,OAAO,IAAA,GAAO,4BAAA;AAAA,EACd,YAAY,GAAA,EAAK;AAChB,IAAA,KAAA,CAAM,OAAO,mCAAmC,CAAA;AAChD,IAAA,IAAA,CAAK,IAAA,GAAO,4BAAA;AAAA,EACb;AACD;AAIA,IAAI,yBAAA,GAA4B,cAAc,KAAA,CAAM;AAAA,EACnD,OAAO,IAAA,GAAO,2BAAA;AAAA,EACd,SAAA;AAAA,EACA,WAAA,CAAY,KAAK,SAAA,EAAW;AAC3B,IAAA,KAAA,CAAM,GAAG,CAAA;AACT,IAAA,IAAA,CAAK,IAAA,GAAO,2BAAA;AACZ,IAAA,IAAA,CAAK,SAAA,GAAY,SAAA;AAAA,EAClB;AACD;AACA,IAAI,uBAAA,GAA0B,cAAc,KAAA,CAAM;AAAA,EACjD,OAAO,IAAA,GAAO,yBAAA;AAAA,EACd,SAAA;AAAA,EACA,WAAA,CAAY,KAAK,SAAA,EAAW;AAC3B,IAAA,KAAA,CAAM,GAAG,CAAA;AACT,IAAA,IAAA,CAAK,IAAA,GAAO,yBAAA;AACZ,IAAA,IAAA,CAAK,SAAA,GAAY,SAAA;AAAA,EAClB;AACD;AAIA,MAAM,cAAA,GAAiB;AAAA,EACtB;AAAA,IACC,IAAA,EAAM,WAAA;AAAA,IACN,YAAA,EAAc,IAAA;AAAA,IACd,IAAA,EAAM;AAAA,GACP;AAAA,EACA;AAAA,IACC,IAAA,EAAM,UAAA;AAAA,IACN,YAAA,EAAc,IAAA;AAAA,IACd,IAAA,EAAM;AAAA,GACP;AAAA,EACA;AAAA,IACC,IAAA,EAAM,UAAA;AAAA,IACN,YAAA,EAAc,IAAA;AAAA,IACd,IAAA,EAAM;AAAA,GACP;AAAA,EACA;AAAA,IACC,IAAA,EAAM,QAAA;AAAA,IACN,YAAA,EAAc,IAAA;AAAA,IACd,IAAA,EAAM;AAAA;AAER;AA4BA,MAAM,kBAAA,GAAqB;AA0B3B,MAAM,yBAAA,GAA4B;AA8BlC,MAAM,sBAAA,GAAyB;AAC/B,MAAM,oBAAA,GAAuB,IAAI,GAAA,CAAI,cAAA,CAAe,GAAA,CAAI,CAAC,IAAA,KAAS,CAAC,IAAA,CAAK,IAAA,EAAM,IAAA,CAAK,YAAY,CAAC,CAAC,CAAA;AACjG,MAAM,oBAAA,GAAuB,IAAI,GAAA,CAAI,cAAA,CAAe,GAAA,CAAI,CAAC,IAAA,KAAS,CAAC,IAAA,CAAK,YAAA,EAAc,IAAA,CAAK,IAAI,CAAC,CAAC,CAAA;AACjG,MAAM,aAAA,GAAgB,IAAI,GAAA,CAAI,cAAA,CAAe,GAAA,CAAI,CAAC,IAAA,KAAS,CAAC,IAAA,CAAK,IAAA,EAAM,IAAA,CAAK,IAAI,CAAC,CAAC,CAAA;AAClF,MAAM,iBAAA,GAAoB,CAAC,QAAA,MAAc;AAAA,EACxC,GAAG,QAAA;AAAA,EACH,SAAA,EAAW,QAAA,CAAS,SAAA,CAAU,WAAA,EAAY;AAAA,EAC1C,SAAA,EAAW,QAAA,CAAS,SAAA,EAAW,WAAA,EAAY,IAAK,IAAA;AAAA,EAChD,UAAA,EAAY,QAAA,CAAS,UAAA,EAAY,WAAA,EAAY,IAAK;AACnD,CAAA;AACA,MAAM,mBAAA,GAAsB,CAAC,QAAA,KAAa;AACzC,EAAA,OAAO;AAAA,IACN,GAAG,QAAA;AAAA,IACH,SAAA,EAAW,IAAI,IAAA,CAAK,QAAA,CAAS,SAAS,CAAA;AAAA,IACtC,WAAW,QAAA,CAAS,SAAA,GAAY,IAAI,IAAA,CAAK,QAAA,CAAS,SAAS,CAAA,GAAI,IAAA;AAAA,IAC/D,YAAY,QAAA,CAAS,UAAA,GAAa,IAAI,IAAA,CAAK,QAAA,CAAS,UAAU,CAAA,GAAI;AAAA,GACnE;AACD;AACA,IAAI,QAAA,GAAW,MAAMA,SAAAA,CAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAuB7B,GAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAY,KAAA,EAAO;AAClB,IAAA,IAAA,CAAK,GAAA,GAAM,OAAO,KAAA,KAAU,QAAA,GAAW,QAAQ,CAAA,EAAG,KAAA,CAAM,MAAA,GAAS,OAAO,KAAA,CAAM,MAAA,KAAW,QAAA,GAAW,CAAA,EAAG,MAAM,MAAM,CAAA,CAAA,CAAA,GAAM,CAAA,EAAG,KAAA,CAAM,MAAA,CAAO,GAAG,CAAA,CAAA,CAAA,GAAM,EAAE,GAAG,oBAAA,CAAqB,GAAA,CAAI,KAAA,CAAM,IAAI,CAAC,CAAA,CAAA,EAAI,kBAAA,CAAmB,KAAA,CAAM,EAAE,CAAC,CAAA,CAAA;AAC3N,IAAA,IAAA,CAAK,MAAA,GAAS;AAAA,MACb,EAAA,EAAI,IAAA;AAAA,MACJ,IAAA,EAAM,IAAA;AAAA,MACN,MAAA,EAAQ,IAAA;AAAA,MACR,IAAA,EAAM,IAAA;AAAA,MACN,IAAA,EAAM;AAAA,KACP;AACA,IAAA,IAAI,CAAC,kBAAA,CAAmB,IAAA,CAAK,IAAA,CAAK,GAAG,GAAG,MAAM,IAAI,uBAAA,CAAwB,IAAA,CAAK,GAAG,CAAA;AAAA,EACnF;AAAA,EACA,IAAI,EAAA,GAAK;AACR,IAAA,IAAA,CAAK,MAAA,CAAO,OAAO,IAAA,CAAK,GAAA,CAAI,MAAM,sBAAsB,CAAA,EAAG,QAAQ,EAAA,IAAM,EAAA;AACzE,IAAA,OAAO,KAAK,MAAA,CAAO,EAAA;AAAA,EACpB;AAAA,EACA,IAAI,IAAA,GAAO;AACV,IAAA,IAAA,CAAK,MAAA,CAAO,IAAA,KAAS,oBAAA,CAAqB,GAAA,CAAI,IAAA,CAAK,IAAI,KAAA,CAAM,sBAAsB,CAAA,EAAG,MAAA,EAAQ,IAAI,CAAA;AAClG,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA;AAAA,EACpB;AAAA,EACA,IAAI,MAAA,GAAS;AACZ,IAAA,MAAM,QAAQ,IAAA,CAAK,GAAA,CAAI,MAAM,yBAAyB,CAAA,EAAG,QAAQ,MAAA,IAAU,IAAA;AAC3E,IAAA,IAAA,CAAK,OAAO,MAAA,KAAW,KAAA,GAAQ,IAAIA,SAAAA,CAAS,KAAK,CAAA,GAAI,IAAA;AACrD,IAAA,OAAO,KAAK,MAAA,CAAO,MAAA;AAAA,EACpB;AAAA,EACA,IAAI,IAAA,GAAO;AACV,IAAA,IAAA,CAAK,MAAA,CAAO,IAAA,KAAS,CAAA,EAAG,IAAA,CAAK,IAAA,CAAK,MAAA,CAAO,CAAC,CAAA,CAAE,WAAA,EAAY,GAAI,IAAA,CAAK,IAAA,CAAK,KAAA,CAAM,CAAC,CAAC,CAAA,GAAA,EAAM,IAAA,CAAK,EAAE,CAAA,EAAA,EAAK,IAAA,CAAK,MAAA,GAAS,CAAA,IAAA,EAAO,IAAA,CAAK,MAAA,CAAO,IAAI,CAAA,CAAA,GAAK,EAAE,CAAA,CAAA;AAC5I,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA;AAAA,EACpB;AAAA,EACA,IAAI,IAAA,GAAO;AACV,IAAA,IAAA,CAAK,MAAA,CAAO,SAAS,CAAA,EAAG,IAAA,CAAK,SAAS,CAAA,EAAG,IAAA,CAAK,OAAO,IAAI,CAAA,CAAA,CAAA,GAAM,EAAE,CAAA,EAAG,aAAA,CAAc,IAAI,IAAA,CAAK,IAAI,CAAC,CAAA,CAAA,EAAI,kBAAA,CAAmB,IAAA,CAAK,EAAE,CAAC,CAAA,CAAA;AAC/H,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA;AAAA,EACpB;AACD;AAIA,MAAM,qBAAA,GAAwB,EAAE,MAAA,CAAO;AAAA,EACtC,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,EACf,OAAA,EAAS,EAAE,MAAA,EAAO;AAAA,EAClB,KAAA,EAAO,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,GAAA,EAAK,CAAA,CAAE,QAAA;AACtC,CAAC;AACD,MAAM,YAAA,uBAAmB,GAAA,CAAI;AAAA,EAC5B,CAAC,uBAAA,CAAwB,IAAA,EAAM,uBAAuB,CAAA;AAAA,EACtD,CAAC,uBAAA,CAAwB,IAAA,EAAM,uBAAuB,CAAA;AAAA,EACtD,CAAC,uBAAA,CAAwB,IAAA,EAAM,uBAAuB,CAAA;AAAA,EACtD,CAAC,0BAAA,CAA2B,IAAA,EAAM,0BAA0B,CAAA;AAAA,EAC5D,CAAC,YAAA,CAAa,IAAA,EAAM,YAAY,CAAA;AAAA,EAChC,CAAC,eAAA,CAAgB,IAAA,EAAM,eAAe,CAAA;AAAA,EACtC,CAAC,yBAAA,CAA0B,IAAA,EAAM,yBAAyB,CAAA;AAAA,EAC1D,CAAC,uBAAA,CAAwB,IAAA,EAAM,uBAAuB,CAAA;AAAA,EACtD,CAAC,qBAAA,CAAsB,IAAA,EAAM,qBAAqB,CAAA;AAAA,EAClD,CAAC,mBAAA,CAAoB,IAAA,EAAM,mBAAmB,CAAA;AAAA,EAC9C,CAAC,0BAAA,CAA2B,IAAA,EAAM,0BAA0B,CAAA;AAAA,EAC5D,CAAC,oBAAA,CAAqB,IAAA,EAAM,oBAAoB,CAAA;AAAA,EAChD,CAAC,uBAAA,CAAwB,IAAA,EAAM,uBAAuB,CAAA;AAAA,EACtD,CAAC,0BAAA,CAA2B,IAAA,EAAM,0BAA0B;AAC7D,CAAC;AAYD,MAAM,cAAA,GAAiB,CAAC,KAAA,KAAU;AACjC,EAAA,MAAM,KAAA,GAAQ,OAAO,WAAA,CAAY,MAAA,CAAO,QAAQ,KAAK,CAAA,CAAE,MAAA,CAAO,CAAC,CAAC,GAAG,MAAM,GAAA,KAAQ,MAAA,IAAU,QAAQ,SAAA,IAAa,GAAA,KAAQ,WAAW,GAAA,KAAQ,gBAAA,IAAoB,GAAA,KAAQ,cAAc,CAAC,CAAA;AACtL,EAAA,IAAI,UAAA,IAAc,SAAS,KAAA,CAAM,QAAA,YAAoB,UAAU,KAAA,CAAM,QAAA,GAAW,MAAM,QAAA,CAAS,GAAA;AAC/F,EAAA,OAAO;AAAA,IACN,MAAM,KAAA,CAAM,IAAA;AAAA,IACZ,SAAS,KAAA,CAAM,OAAA;AAAA,IACf;AAAA,GACD;AACD;AAUA,MAAM,gBAAA,GAAmB,CAAC,UAAA,EAAY,YAAA,KAAiB;AACtD,EAAA,MAAM,WAAA,GAAc,YAAA,CAAa,GAAA,CAAI,UAAA,CAAW,IAAI,CAAA,IAAK,KAAA;AACzD,EAAA,MAAM,KAAA,GAAQ,IAAI,WAAA,EAAY;AAC9B,EAAA,KAAA,CAAM,UAAU,UAAA,CAAW,OAAA;AAC3B,EAAA,IAAI,UAAA,CAAW,KAAA,IAAS,UAAA,IAAc,UAAA,CAAW,OAAO,IAAI;AAC3D,IAAA,UAAA,CAAW,MAAM,QAAA,GAAW,IAAI,QAAA,CAAS,UAAA,CAAW,MAAM,QAAQ,CAAA;AAAA,EACnE,SAAS,IAAA,EAAM;AACd,IAAA,UAAA,CAAW,MAAM,QAAA,GAAW,IAAA;AAAA,EAC7B;AACA,EAAA,MAAA,CAAO,MAAA,CAAO,KAAA,EAAO,UAAA,CAAW,KAAK,CAAA;AACrC,EAAA,OAAO,KAAA;AACR;;;;"}