@idos-network/issuer 1.0.0-rc.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +19 -0
- package/dist/index.d.ts +205 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21274 -0
- package/dist/index.js.map +1 -0
- package/package.json +62 -0
- package/src/assets/add-user.drawio.svg +558 -0
- package/src/assets/country-codes.xml +271 -0
- package/src/assets/ed25519-signature-2020-v1.json +93 -0
- package/src/assets/idos-credential-subject-v1.json +32 -0
- package/src/assets/idos-credentials-v1.json +9 -0
- package/src/assets/v1.json +273 -0
- package/src/index.ts +155 -0
- package/src/services/credential.service.ts +207 -0
- package/src/services/credentials-builder.service.ts +203 -0
- package/src/services/credentials-builder.test.ts +100 -0
- package/src/services/grant.service.ts +59 -0
- package/src/services/user.service.ts +75 -0
- package/src/types.d.ts +4 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["encode","s","decode","v1","SHA256","w","d","h","encode","s","decode","min","ALPHABET","encode","decode","__extends","d","b","Coder","s","v1","v3","encode","URLSafeCoder","EncodeBuffer","DecodeBuffer","d","b","ErrorSchema","key","BorshSerializer","keys_1","key","BorshDeserializer","key","validate","data: Uint8Array","data: string","message: Uint8Array","recipientEncryptionPublicKey: Uint8Array","senderEncryptionSecretKey: Uint8Array","nonce: Uint8Array","senderEncryptionPublicKey: Uint8Array","recipientEncryptionSecretKey: Uint8Array","keyPair: nacl.BoxKeyPair","secret: string","b64FullMessage: string","b64SenderPublicKey: string","kwilClient: KwilActionClient","id: string","content_hash: string","params: EditCredentialAsIssuerParams","params: CreateCredentialByDelegatedWriteGrantParams","kwilClient: KwilActionClient","params: CreateAccessGrantByDAGParams","kwilClient: KwilActionClient","address: string","params: CreateUserReqParams","kwilClient: KwilActionClient","params: UpsertWalletParams","bind","wrap","bind","isBuffer","isString","prototype","isFunction","key","descriptors","TypedArray","utils","buildURL","url","serialize","key","utils","InterceptorManager","forEach","h","utils","normalizeHeaderName","utils","AxiosError","utils","toFormData","key","AxiosError","settle","utils","path","isAbsoluteURL","url","combineURLs","buildFullPath","utils","parseHeaders","key","utils","url","isURLSameOrigin","AxiosError","utils","CanceledError","parseProtocol","url","utils","settle","buildURL","buildFullPath","transitionalDefaults","AxiosError","CanceledError","key","parse","env","destroy","key","hash","debug","self","extend","formatArgs","save","load","useColors","m","tty","min","sign","version","util","supportsColor","key","useColors","debug","debug","url","http","https","self","wrap","exports","parseUrl","base","key","utils","buildFullPath","buildURL","http","https","VERSION","transitionalDefaults","AxiosError","CanceledError","resolve","reject","trim","s","Stream","util","DelayedStream","util","Stream","CombinedStream","stream","self","mime","charset","path","extension","defer","async","abort","state","key","async","abort","iterate","state","key","initState","terminator","iterate","initState","terminator","state","serialOrdered","state","isNaN","sign","$gOPD","$defineProperty","hasSymbols","$Object","max","concatty","slicy","bind","Empty","bind","$apply","$call","bind","$TypeError","$call","$Object","getProto","bind","undefined","$TypeError","$defineProperty","hasSymbols","doEval","bind","hasOwn","stringToPath","getBaseIntrinsic","GetIntrinsic","desc","setToStringTag","FormData","contentType","defaults","utils","AxiosError","defaults","contentType","isFileList","utils","defaults","transformData","isCancel","utils","defaults","CanceledError","dispatchRequest","utils","mergeConfig","merge","validators","validator","version","desc","utils","mergeConfig","Axios","url","wrap","utils","__importDefault","exports","Long","toString","add","fromBigInt","key","objects_1","__importDefault","long_1","strings_1","objects_1","base64_1","stringToBytes","str","VarType","AttributeType","IndexType","EncodingType","PayloadType","SerializationType","BytesEncodingStatus","EnvironmentType","AuthenticationMode","BroadcastSyncType","AuthErrorCodes","AccountStatus","AccountKeyType","AccessModifier","JSONRPCMethod","base64_1","serial_1","enums_1","db","objects_1","Promisy","objects_1","isNamedParams","key","objects_1","serial_1","SignatureType","signature_1","strings_1","enums_1","Txn","n","r","t","e","i","o","u","f","s","w","a","h","c","v","A","E","d","y","m","K","l","b","S","__importDefault","__importDefault","validate_js_1","validate_js_1","crypto_1","rng_js_1","stringify_js_1","_state","state","parse_js_1","stringify_js_1","v1Bytes","crypto_1","parse_js_1","stringify_js_1","version","hash","v35_js_1","v35_js_2","crypto_1","rng_js_1","stringify_js_1","crypto_1","stringify_js_1","v1_js_1","v1ToV6_js_1","parse_js_1","stringify_js_1","v1Bytes","stringify_js_1","state","validate_js_1","uuid_1","base64_1","bytes_1","serial_1","uuid_1","enums_1","isArray","intern_1","enums_1","signature_1","base64_1","crypto_1","objects_1","serial_1","kwilEncoding_1","enums_1","payloadTx_1","serial_1","version","url","enums_1","base64_1","kwilEncoding_1","key","base","auth_1","objects_1","signature_1","serial_1","action_1","crypto_1","kwilEncoding_1","parameterEncoding_1","version","signature_1","Msg","objects_1","serial_1","msg","action_1","enums_1","payloadTx_1","parameterEncoding_1","serial_1","serial_1","enums_1","__importDefault","client_1","enums_1","action_1","dbid_1","serial_1","hash","kwil_1","NodeKwil","WebKwil","DataType","KwilSigner","Utils","DataType: typeof Utils.DataType","Utils","actionSchema: Record<string, ActionSchemaElem[]>","client: NodeKwil | WebKwil","actionName: string","params: Record<string, unknown>","params: KwilCallActionRequestParams","signer: KwilSigner | undefined","action: CallBody","#createActionInputs","#actionTypes","params: KwilExecuteActionRequestParams","action: ActionBody","Cls: new (opts: Config) => NodeKwil | WebKwil","createNodeKwilClient: (params: CreateKwilClientParams) => Promise<KwilActionClient>","NodeKwil","createWebKwilClient: (params: CreateKwilClientParams) => Promise<KwilActionClient>","WebKwil","publicKey: string","recipient: string","keyPair: KeyPair","messageBytes: Uint8Array","object: unknown","signer: KwilSignerType","KwilSigner","msg: Uint8Array","_: never","#kwilClient","#signingKeyPair","#encryptionSecretKey","kwilClient: KwilActionClient","signingKeyPair: nacl.SignKeyPair","encryptionSecretKey: Uint8Array","entity: T","credentialParams: DelegatedWriteGrantBaseParams","delegatedWriteGrant: DelegatedWriteGrantParams","consumerEncryptionPublicKey?: Uint8Array","#ensureEntityId","#buildInsertableIDOSCredential","payload: CreateCredentialByDelegatedWriteGrantParams","publicNotesId: string","publicNotes: string","contentHash: string","id: string","file: Buffer","str: string","fields: K","prefix?: string","acc: Record<string, unknown>","key","v1","idosCredentialsV1","idosCredentialSubjectV1","ed25519Signature2020V1","fields: CredentialFields","subject: CredentialSubject","issuer: CredentialsIssuerConfig","#kwilClient","#encryptionSecretKey","kwilClient: KwilActionClient","encryptionSecretKey: Uint8Array","params: CreateAccessGrantFromDAGParams","getCredentialIdByContentHash: (contentHash: string) => Promise<string | null>","getSharedCredential: (id: string) => Promise<idOSCredential | null>","#kwilClient","kwilClient: KwilActionClient","entity: T","userAddress: string","params: CreateProfileReqParams","#ensureEntityId","params: UpsertWalletReqParams","user: CreateProfileReqParams","wallet: CreateWalletReqParams","#credentialService","#grantService","#userService","#credentialsBuilderService","params: CreateIssuerParams","credentialService: CredentialService","grantService: GrantService","userService: UserService","credentialsBuilderService: CredentialsBuilderService","userAddress: string","params: CreateProfileReqParams","params: UpsertWalletReqParams","user: CreateProfileReqParams","wallet: CreateWalletReqParams","credentialParams: DelegatedWriteGrantBaseParams","delegatedWriteGrant: DelegatedWriteGrantParams","consumerEncryptionPublicKey?: Uint8Array","publicNotesId: string","publicNotes: string","contentHash: string","id: string","params: CreateAccessGrantFromDAGParams","fields: CredentialFields","subject: CredentialSubject","issuer: CredentialsIssuerConfig"],"sources":["../../../node_modules/.pnpm/@stablelib+hex@1.0.1/node_modules/@stablelib/hex/lib/hex.js","../../../node_modules/.pnpm/@stablelib+int@1.0.1/node_modules/@stablelib/int/lib/int.js","../../../node_modules/.pnpm/@stablelib+binary@1.0.1/node_modules/@stablelib/binary/lib/binary.js","../../../node_modules/.pnpm/@stablelib+wipe@1.0.1/node_modules/@stablelib/wipe/lib/wipe.js","../../../node_modules/.pnpm/@stablelib+sha256@1.0.1/node_modules/@stablelib/sha256/lib/sha256.js","../../../node_modules/.pnpm/@stablelib+utf8@1.0.2/node_modules/@stablelib/utf8/lib/utf8.js","../../../node_modules/.pnpm/base-x@5.0.0/node_modules/base-x/src/esm/index.js","../../../node_modules/.pnpm/bs58@6.0.0/node_modules/bs58/src/esm/index.js","../../../node_modules/.pnpm/@stablelib+base64@1.0.1/node_modules/@stablelib/base64/lib/base64.js","../../../node_modules/.pnpm/@stablelib+bytes@1.0.1/node_modules/@stablelib/bytes/lib/bytes.js","../../../node_modules/.pnpm/borsh@1.0.0/node_modules/borsh/lib/esm/types.js","../../../node_modules/.pnpm/borsh@1.0.0/node_modules/borsh/lib/esm/buffer.js","../../../node_modules/.pnpm/borsh@1.0.0/node_modules/borsh/lib/esm/utils.js","../../../node_modules/.pnpm/borsh@1.0.0/node_modules/borsh/lib/esm/serialize.js","../../../node_modules/.pnpm/borsh@1.0.0/node_modules/borsh/lib/esm/deserialize.js","../../../node_modules/.pnpm/borsh@1.0.0/node_modules/borsh/lib/esm/index.js","../../@core/src/codecs/index.ts","../../@core/src/cryptography/index.ts","../../@core/src/kwil-actions/credentials.ts","../../@core/src/kwil-actions/grants.ts","../../@core/src/kwil-actions/user.ts","../../@core/src/kwil-actions/wallets.ts","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/utils/base64.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/bind.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/buildURL.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/InterceptorManager.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/normalizeHeaderName.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/AxiosError.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/transitional.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/toFormData.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/settle.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/cookies.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isAbsoluteURL.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/combineURLs.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/buildFullPath.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/parseHeaders.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isURLSameOrigin.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CanceledError.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/parseProtocol.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/adapters/xhr.js","../../../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js","../../../node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/common.js","../../../node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/browser.js","../../../node_modules/.pnpm/has-flag@4.0.0/node_modules/has-flag/index.js","../../../node_modules/.pnpm/supports-color@7.2.0/node_modules/supports-color/index.js","../../../node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/node.js","../../../node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/index.js","../../../node_modules/.pnpm/follow-redirects@1.15.9_debug@4.4.0/node_modules/follow-redirects/debug.js","../../../node_modules/.pnpm/follow-redirects@1.15.9_debug@4.4.0/node_modules/follow-redirects/index.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/env/data.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/adapters/http.js","../../../node_modules/.pnpm/delayed-stream@1.0.0/node_modules/delayed-stream/lib/delayed_stream.js","../../../node_modules/.pnpm/combined-stream@1.0.8/node_modules/combined-stream/lib/combined_stream.js","../../../node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/db.json","../../../node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/index.js","../../../node_modules/.pnpm/mime-types@2.1.35/node_modules/mime-types/index.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/defer.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/async.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/abort.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/iterate.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/state.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/terminator.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/parallel.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/serialOrdered.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/serial.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/index.js","../../../node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/index.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js","../../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js","../../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js","../../../node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js","../../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js","../../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js","../../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js","../../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js","../../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js","../../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js","../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js","../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js","../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js","../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js","../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js","../../../node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js","../../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js","../../../node_modules/.pnpm/hasown@2.0.2/node_modules/hasown/index.js","../../../node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js","../../../node_modules/.pnpm/has-tostringtag@1.0.2/node_modules/has-tostringtag/shams.js","../../../node_modules/.pnpm/es-set-tostringtag@2.1.0/node_modules/es-set-tostringtag/index.js","../../../node_modules/.pnpm/form-data@4.0.2/node_modules/form-data/lib/populate.js","../../../node_modules/.pnpm/form-data@4.0.2/node_modules/form-data/lib/form_data.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/env/FormData.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/index.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/transformData.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/isCancel.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/dispatchRequest.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/mergeConfig.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/validator.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/Axios.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CancelToken.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/spread.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isAxiosError.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/axios.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/index.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/api_client/api.js","../../../node_modules/.pnpm/long@5.3.0/node_modules/long/umd/index.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/utils/objects.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/utils/strings.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/utils/serial.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/core/enums.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/core/jsonrpc.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/api_client/client.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/utils/types.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/core/action.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/client/intern.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/core/signature.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/core/tx.js","../../../node_modules/.pnpm/jssha@3.3.1/node_modules/jssha/dist/sha.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/utils/crypto.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/utils/bytes.js","../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/cjs/max.js","../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/cjs/nil.js","../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/cjs/regex.js","../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/cjs/validate.js","../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/cjs/parse.js","../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/cjs/stringify.js","../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/cjs/rng.js","../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/cjs/v1.js","../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/cjs/v1ToV6.js","../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/cjs/md5.js","../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/cjs/v35.js","../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/cjs/v3.js","../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/cjs/native.js","../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/cjs/v4.js","../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/cjs/sha1.js","../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/cjs/v5.js","../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/cjs/v6.js","../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/cjs/v6ToV1.js","../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/cjs/v7.js","../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/cjs/version.js","../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/cjs/index.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/utils/uuid.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/utils/kwilEncoding.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/transaction/payloadTx.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/funder/funder.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/core/auth.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/utils/parameterEncoding.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/auth/auth.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/core/message.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/message/payloadMsg.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/transaction/action.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/utils/dbid.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/utils/namespace.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/utils/keys.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/client/kwil.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/client/node/nodeKwil.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/client/web/webKwil.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/core/database.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/core/kwilSigner.js","../../../node_modules/.pnpm/@kwilteam+kwil-js@0.9.4_bufferutil@4.0.9_utf-8-validate@6.0.5/node_modules/@kwilteam/kwil-js/dist/index.js","../../@core/src/kwil-actions/schema.ts","../../@core/src/kwil-infra/create-kwil-client.ts","../../@core/src/kwil-nep413-signer/index.ts","../../@core/src/kwil-infra/create-kwil-signer.ts","../src/services/credential.service.ts","../src/assets/ed25519-signature-2020-v1.json","../src/assets/idos-credential-subject-v1.json","../src/assets/idos-credentials-v1.json","../src/assets/v1.json","../src/services/credentials-builder.service.ts","../src/services/grant.service.ts","../src/services/user.service.ts","../src/index.ts"],"sourcesContent":["\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package hex implements hex encoder and decoder.\n */\n// 0123456789 ABCDEF | abcdef\n// Index: 0 - 9 10-15 | 10-15\n// ASCII: 48 - 57 65-70 | 97-102\nfunction encodeNibble(b) {\n // b >= 0\n var result = b + 48;\n // b > 9\n result += ((9 - b) >>> 8) & (-48 + 65 - 10);\n return String.fromCharCode(result);\n}\nfunction encodeNibbleLower(b) {\n // b >= 0\n var result = b + 48;\n // b > 9\n result += ((9 - b) >>> 8) & (-48 + 97 - 10);\n return String.fromCharCode(result);\n}\n// Invalid character used in decoding to indicate\n// that the character to decode is out of range of\n// hex alphabet and cannot be decoded.\nvar INVALID_HEX_NIBBLE = 256;\nfunction decodeNibble(c) {\n var result = INVALID_HEX_NIBBLE;\n // 0-9: c > 47 and c < 58\n result += (((47 - c) & (c - 58)) >> 8) & (-INVALID_HEX_NIBBLE + c - 48);\n // A-F: c > 64 and c < 71\n result += (((64 - c) & (c - 71)) >> 8) & (-INVALID_HEX_NIBBLE + c - 65 + 10);\n // a-f: c > 96 and c < 103\n result += (((96 - c) & (c - 103)) >> 8) & (-INVALID_HEX_NIBBLE + c - 97 + 10);\n return result;\n}\n/**\n * Returns string with hex-encoded data.\n */\nfunction encode(data, lowerCase) {\n if (lowerCase === void 0) { lowerCase = false; }\n var enc = lowerCase ? encodeNibbleLower : encodeNibble;\n var s = \"\";\n for (var i = 0; i < data.length; i++) {\n s += enc(data[i] >>> 4);\n s += enc(data[i] & 0x0f);\n }\n return s;\n}\nexports.encode = encode;\n/**\n * Returns Uint8Array with data decoded from hex string.\n *\n * Throws error if hex string length is not divisible by 2 or has non-hex\n * characters.\n */\nfunction decode(hex) {\n if (hex.length === 0) {\n return new Uint8Array(0);\n }\n if (hex.length % 2 !== 0) {\n throw new Error(\"hex: input string must be divisible by two\");\n }\n var result = new Uint8Array(hex.length / 2);\n var haveBad = 0;\n for (var i = 0; i < hex.length; i += 2) {\n var v0 = decodeNibble(hex.charCodeAt(i));\n var v1 = decodeNibble(hex.charCodeAt(i + 1));\n result[i / 2] = v0 << 4 | v1;\n haveBad |= v0 & INVALID_HEX_NIBBLE;\n haveBad |= v1 & INVALID_HEX_NIBBLE;\n }\n if (haveBad !== 0) {\n throw new Error(\"hex: incorrect characters for decoding\");\n }\n return result;\n}\nexports.decode = decode;\n//# sourceMappingURL=hex.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package int provides helper functions for integerss.\n */\n// Shim using 16-bit pieces.\nfunction imulShim(a, b) {\n var ah = (a >>> 16) & 0xffff, al = a & 0xffff;\n var bh = (b >>> 16) & 0xffff, bl = b & 0xffff;\n return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0) | 0);\n}\n/** 32-bit integer multiplication. */\n// Use system Math.imul if available, otherwise use our shim.\nexports.mul = Math.imul || imulShim;\n/** 32-bit integer addition. */\nfunction add(a, b) {\n return (a + b) | 0;\n}\nexports.add = add;\n/** 32-bit integer subtraction. */\nfunction sub(a, b) {\n return (a - b) | 0;\n}\nexports.sub = sub;\n/** 32-bit integer left rotation */\nfunction rotl(x, n) {\n return x << n | x >>> (32 - n);\n}\nexports.rotl = rotl;\n/** 32-bit integer left rotation */\nfunction rotr(x, n) {\n return x << (32 - n) | x >>> n;\n}\nexports.rotr = rotr;\nfunction isIntegerShim(n) {\n return typeof n === \"number\" && isFinite(n) && Math.floor(n) === n;\n}\n/**\n * Returns true if the argument is an integer number.\n *\n * In ES2015, Number.isInteger.\n */\nexports.isInteger = Number.isInteger || isIntegerShim;\n/**\n * Math.pow(2, 53) - 1\n *\n * In ES2015 Number.MAX_SAFE_INTEGER.\n */\nexports.MAX_SAFE_INTEGER = 9007199254740991;\n/**\n * Returns true if the argument is a safe integer number\n * (-MIN_SAFE_INTEGER < number <= MAX_SAFE_INTEGER)\n *\n * In ES2015, Number.isSafeInteger.\n */\nexports.isSafeInteger = function (n) {\n return exports.isInteger(n) && (n >= -exports.MAX_SAFE_INTEGER && n <= exports.MAX_SAFE_INTEGER);\n};\n//# sourceMappingURL=int.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package binary provides functions for encoding and decoding numbers in byte arrays.\n */\nvar int_1 = require(\"@stablelib/int\");\n// TODO(dchest): add asserts for correct value ranges and array offsets.\n/**\n * Reads 2 bytes from array starting at offset as big-endian\n * signed 16-bit integer and returns it.\n */\nfunction readInt16BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return (((array[offset + 0] << 8) | array[offset + 1]) << 16) >> 16;\n}\nexports.readInt16BE = readInt16BE;\n/**\n * Reads 2 bytes from array starting at offset as big-endian\n * unsigned 16-bit integer and returns it.\n */\nfunction readUint16BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return ((array[offset + 0] << 8) | array[offset + 1]) >>> 0;\n}\nexports.readUint16BE = readUint16BE;\n/**\n * Reads 2 bytes from array starting at offset as little-endian\n * signed 16-bit integer and returns it.\n */\nfunction readInt16LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return (((array[offset + 1] << 8) | array[offset]) << 16) >> 16;\n}\nexports.readInt16LE = readInt16LE;\n/**\n * Reads 2 bytes from array starting at offset as little-endian\n * unsigned 16-bit integer and returns it.\n */\nfunction readUint16LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return ((array[offset + 1] << 8) | array[offset]) >>> 0;\n}\nexports.readUint16LE = readUint16LE;\n/**\n * Writes 2-byte big-endian representation of 16-bit unsigned\n * value to byte array starting at offset.\n *\n * If byte array is not given, creates a new 2-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint16BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(2); }\n if (offset === void 0) { offset = 0; }\n out[offset + 0] = value >>> 8;\n out[offset + 1] = value >>> 0;\n return out;\n}\nexports.writeUint16BE = writeUint16BE;\nexports.writeInt16BE = writeUint16BE;\n/**\n * Writes 2-byte little-endian representation of 16-bit unsigned\n * value to array starting at offset.\n *\n * If byte array is not given, creates a new 2-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint16LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(2); }\n if (offset === void 0) { offset = 0; }\n out[offset + 0] = value >>> 0;\n out[offset + 1] = value >>> 8;\n return out;\n}\nexports.writeUint16LE = writeUint16LE;\nexports.writeInt16LE = writeUint16LE;\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * signed 32-bit integer and returns it.\n */\nfunction readInt32BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return (array[offset] << 24) |\n (array[offset + 1] << 16) |\n (array[offset + 2] << 8) |\n array[offset + 3];\n}\nexports.readInt32BE = readInt32BE;\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * unsigned 32-bit integer and returns it.\n */\nfunction readUint32BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return ((array[offset] << 24) |\n (array[offset + 1] << 16) |\n (array[offset + 2] << 8) |\n array[offset + 3]) >>> 0;\n}\nexports.readUint32BE = readUint32BE;\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * signed 32-bit integer and returns it.\n */\nfunction readInt32LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return (array[offset + 3] << 24) |\n (array[offset + 2] << 16) |\n (array[offset + 1] << 8) |\n array[offset];\n}\nexports.readInt32LE = readInt32LE;\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * unsigned 32-bit integer and returns it.\n */\nfunction readUint32LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return ((array[offset + 3] << 24) |\n (array[offset + 2] << 16) |\n (array[offset + 1] << 8) |\n array[offset]) >>> 0;\n}\nexports.readUint32LE = readUint32LE;\n/**\n * Writes 4-byte big-endian representation of 32-bit unsigned\n * value to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint32BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(4); }\n if (offset === void 0) { offset = 0; }\n out[offset + 0] = value >>> 24;\n out[offset + 1] = value >>> 16;\n out[offset + 2] = value >>> 8;\n out[offset + 3] = value >>> 0;\n return out;\n}\nexports.writeUint32BE = writeUint32BE;\nexports.writeInt32BE = writeUint32BE;\n/**\n * Writes 4-byte little-endian representation of 32-bit unsigned\n * value to array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint32LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(4); }\n if (offset === void 0) { offset = 0; }\n out[offset + 0] = value >>> 0;\n out[offset + 1] = value >>> 8;\n out[offset + 2] = value >>> 16;\n out[offset + 3] = value >>> 24;\n return out;\n}\nexports.writeUint32LE = writeUint32LE;\nexports.writeInt32LE = writeUint32LE;\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * signed 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports exact\n * numbers in range -9007199254740991 to 9007199254740991.\n * If the number stored in the byte array is outside this range,\n * the result is not exact.\n */\nfunction readInt64BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var hi = readInt32BE(array, offset);\n var lo = readInt32BE(array, offset + 4);\n return hi * 0x100000000 + lo - ((lo >> 31) * 0x100000000);\n}\nexports.readInt64BE = readInt64BE;\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * unsigned 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports values up to 2^53-1.\n */\nfunction readUint64BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var hi = readUint32BE(array, offset);\n var lo = readUint32BE(array, offset + 4);\n return hi * 0x100000000 + lo;\n}\nexports.readUint64BE = readUint64BE;\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * signed 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports exact\n * numbers in range -9007199254740991 to 9007199254740991.\n * If the number stored in the byte array is outside this range,\n * the result is not exact.\n */\nfunction readInt64LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var lo = readInt32LE(array, offset);\n var hi = readInt32LE(array, offset + 4);\n return hi * 0x100000000 + lo - ((lo >> 31) * 0x100000000);\n}\nexports.readInt64LE = readInt64LE;\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * unsigned 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports values up to 2^53-1.\n */\nfunction readUint64LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var lo = readUint32LE(array, offset);\n var hi = readUint32LE(array, offset + 4);\n return hi * 0x100000000 + lo;\n}\nexports.readUint64LE = readUint64LE;\n/**\n * Writes 8-byte big-endian representation of 64-bit unsigned\n * value to byte array starting at offset.\n *\n * Due to JavaScript limitation, supports values up to 2^53-1.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint64BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(8); }\n if (offset === void 0) { offset = 0; }\n writeUint32BE(value / 0x100000000 >>> 0, out, offset);\n writeUint32BE(value >>> 0, out, offset + 4);\n return out;\n}\nexports.writeUint64BE = writeUint64BE;\nexports.writeInt64BE = writeUint64BE;\n/**\n * Writes 8-byte little-endian representation of 64-bit unsigned\n * value to byte array starting at offset.\n *\n * Due to JavaScript limitation, supports values up to 2^53-1.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint64LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(8); }\n if (offset === void 0) { offset = 0; }\n writeUint32LE(value >>> 0, out, offset);\n writeUint32LE(value / 0x100000000 >>> 0, out, offset + 4);\n return out;\n}\nexports.writeUint64LE = writeUint64LE;\nexports.writeInt64LE = writeUint64LE;\n/**\n * Reads bytes from array starting at offset as big-endian\n * unsigned bitLen-bit integer and returns it.\n *\n * Supports bit lengths divisible by 8, up to 48.\n */\nfunction readUintBE(bitLength, array, offset) {\n if (offset === void 0) { offset = 0; }\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"readUintBE supports only bitLengths divisible by 8\");\n }\n if (bitLength / 8 > array.length - offset) {\n throw new Error(\"readUintBE: array is too short for the given bitLength\");\n }\n var result = 0;\n var mul = 1;\n for (var i = bitLength / 8 + offset - 1; i >= offset; i--) {\n result += array[i] * mul;\n mul *= 256;\n }\n return result;\n}\nexports.readUintBE = readUintBE;\n/**\n * Reads bytes from array starting at offset as little-endian\n * unsigned bitLen-bit integer and returns it.\n *\n * Supports bit lengths divisible by 8, up to 48.\n */\nfunction readUintLE(bitLength, array, offset) {\n if (offset === void 0) { offset = 0; }\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"readUintLE supports only bitLengths divisible by 8\");\n }\n if (bitLength / 8 > array.length - offset) {\n throw new Error(\"readUintLE: array is too short for the given bitLength\");\n }\n var result = 0;\n var mul = 1;\n for (var i = offset; i < offset + bitLength / 8; i++) {\n result += array[i] * mul;\n mul *= 256;\n }\n return result;\n}\nexports.readUintLE = readUintLE;\n/**\n * Writes a big-endian representation of bitLen-bit unsigned\n * value to array starting at offset.\n *\n * Supports bit lengths divisible by 8, up to 48.\n *\n * If byte array is not given, creates a new one.\n *\n * Returns the output byte array.\n */\nfunction writeUintBE(bitLength, value, out, offset) {\n if (out === void 0) { out = new Uint8Array(bitLength / 8); }\n if (offset === void 0) { offset = 0; }\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"writeUintBE supports only bitLengths divisible by 8\");\n }\n if (!int_1.isSafeInteger(value)) {\n throw new Error(\"writeUintBE value must be an integer\");\n }\n var div = 1;\n for (var i = bitLength / 8 + offset - 1; i >= offset; i--) {\n out[i] = (value / div) & 0xff;\n div *= 256;\n }\n return out;\n}\nexports.writeUintBE = writeUintBE;\n/**\n * Writes a little-endian representation of bitLen-bit unsigned\n * value to array starting at offset.\n *\n * Supports bit lengths divisible by 8, up to 48.\n *\n * If byte array is not given, creates a new one.\n *\n * Returns the output byte array.\n */\nfunction writeUintLE(bitLength, value, out, offset) {\n if (out === void 0) { out = new Uint8Array(bitLength / 8); }\n if (offset === void 0) { offset = 0; }\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"writeUintLE supports only bitLengths divisible by 8\");\n }\n if (!int_1.isSafeInteger(value)) {\n throw new Error(\"writeUintLE value must be an integer\");\n }\n var div = 1;\n for (var i = offset; i < offset + bitLength / 8; i++) {\n out[i] = (value / div) & 0xff;\n div *= 256;\n }\n return out;\n}\nexports.writeUintLE = writeUintLE;\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * 32-bit floating-point number and returns it.\n */\nfunction readFloat32BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat32(offset);\n}\nexports.readFloat32BE = readFloat32BE;\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * 32-bit floating-point number and returns it.\n */\nfunction readFloat32LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat32(offset, true);\n}\nexports.readFloat32LE = readFloat32LE;\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * 64-bit floating-point number (\"double\") and returns it.\n */\nfunction readFloat64BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat64(offset);\n}\nexports.readFloat64BE = readFloat64BE;\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * 64-bit floating-point number (\"double\") and returns it.\n */\nfunction readFloat64LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat64(offset, true);\n}\nexports.readFloat64LE = readFloat64LE;\n/**\n * Writes 4-byte big-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeFloat32BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(4); }\n if (offset === void 0) { offset = 0; }\n var view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat32(offset, value);\n return out;\n}\nexports.writeFloat32BE = writeFloat32BE;\n/**\n * Writes 4-byte little-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeFloat32LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(4); }\n if (offset === void 0) { offset = 0; }\n var view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat32(offset, value, true);\n return out;\n}\nexports.writeFloat32LE = writeFloat32LE;\n/**\n * Writes 8-byte big-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeFloat64BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(8); }\n if (offset === void 0) { offset = 0; }\n var view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat64(offset, value);\n return out;\n}\nexports.writeFloat64BE = writeFloat64BE;\n/**\n * Writes 8-byte little-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeFloat64LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(8); }\n if (offset === void 0) { offset = 0; }\n var view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat64(offset, value, true);\n return out;\n}\nexports.writeFloat64LE = writeFloat64LE;\n//# sourceMappingURL=binary.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Sets all values in the given array to zero and returns it.\n *\n * The fact that it sets bytes to zero can be relied on.\n *\n * There is no guarantee that this function makes data disappear from memory,\n * as runtime implementation can, for example, have copying garbage collector\n * that will make copies of sensitive data before we wipe it. Or that an\n * operating system will write our data to swap or sleep image. Another thing\n * is that an optimizing compiler can remove calls to this function or make it\n * no-op. There's nothing we can do with it, so we just do our best and hope\n * that everything will be okay and good will triumph over evil.\n */\nfunction wipe(array) {\n // Right now it's similar to array.fill(0). If it turns\n // out that runtimes optimize this call away, maybe\n // we can try something else.\n for (var i = 0; i < array.length; i++) {\n array[i] = 0;\n }\n return array;\n}\nexports.wipe = wipe;\n//# sourceMappingURL=wipe.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar binary_1 = require(\"@stablelib/binary\");\nvar wipe_1 = require(\"@stablelib/wipe\");\nexports.DIGEST_LENGTH = 32;\nexports.BLOCK_SIZE = 64;\n/**\n * SHA2-256 cryptographic hash algorithm.\n */\nvar SHA256 = /** @class */ (function () {\n function SHA256() {\n /** Length of hash output */\n this.digestLength = exports.DIGEST_LENGTH;\n /** Block size */\n this.blockSize = exports.BLOCK_SIZE;\n // Note: Int32Array is used instead of Uint32Array for performance reasons.\n this._state = new Int32Array(8); // hash state\n this._temp = new Int32Array(64); // temporary state\n this._buffer = new Uint8Array(128); // buffer for data to hash\n this._bufferLength = 0; // number of bytes in buffer\n this._bytesHashed = 0; // number of total bytes hashed\n this._finished = false; // indicates whether the hash was finalized\n this.reset();\n }\n SHA256.prototype._initState = function () {\n this._state[0] = 0x6a09e667;\n this._state[1] = 0xbb67ae85;\n this._state[2] = 0x3c6ef372;\n this._state[3] = 0xa54ff53a;\n this._state[4] = 0x510e527f;\n this._state[5] = 0x9b05688c;\n this._state[6] = 0x1f83d9ab;\n this._state[7] = 0x5be0cd19;\n };\n /**\n * Resets hash state making it possible\n * to re-use this instance to hash other data.\n */\n SHA256.prototype.reset = function () {\n this._initState();\n this._bufferLength = 0;\n this._bytesHashed = 0;\n this._finished = false;\n return this;\n };\n /**\n * Cleans internal buffers and resets hash state.\n */\n SHA256.prototype.clean = function () {\n wipe_1.wipe(this._buffer);\n wipe_1.wipe(this._temp);\n this.reset();\n };\n /**\n * Updates hash state with the given data.\n *\n * Throws error when trying to update already finalized hash:\n * instance must be reset to update it again.\n */\n SHA256.prototype.update = function (data, dataLength) {\n if (dataLength === void 0) { dataLength = data.length; }\n if (this._finished) {\n throw new Error(\"SHA256: can't update because hash was finished.\");\n }\n var dataPos = 0;\n this._bytesHashed += dataLength;\n if (this._bufferLength > 0) {\n while (this._bufferLength < this.blockSize && dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n if (this._bufferLength === this.blockSize) {\n hashBlocks(this._temp, this._state, this._buffer, 0, this.blockSize);\n this._bufferLength = 0;\n }\n }\n if (dataLength >= this.blockSize) {\n dataPos = hashBlocks(this._temp, this._state, data, dataPos, dataLength);\n dataLength %= this.blockSize;\n }\n while (dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n return this;\n };\n /**\n * Finalizes hash state and puts hash into out.\n * If hash was already finalized, puts the same value.\n */\n SHA256.prototype.finish = function (out) {\n if (!this._finished) {\n var bytesHashed = this._bytesHashed;\n var left = this._bufferLength;\n var bitLenHi = (bytesHashed / 0x20000000) | 0;\n var bitLenLo = bytesHashed << 3;\n var padLength = (bytesHashed % 64 < 56) ? 64 : 128;\n this._buffer[left] = 0x80;\n for (var i = left + 1; i < padLength - 8; i++) {\n this._buffer[i] = 0;\n }\n binary_1.writeUint32BE(bitLenHi, this._buffer, padLength - 8);\n binary_1.writeUint32BE(bitLenLo, this._buffer, padLength - 4);\n hashBlocks(this._temp, this._state, this._buffer, 0, padLength);\n this._finished = true;\n }\n for (var i = 0; i < this.digestLength / 4; i++) {\n binary_1.writeUint32BE(this._state[i], out, i * 4);\n }\n return this;\n };\n /**\n * Returns the final hash digest.\n */\n SHA256.prototype.digest = function () {\n var out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n };\n /**\n * Function useful for HMAC/PBKDF2 optimization.\n * Returns hash state to be used with restoreState().\n * Only chain value is saved, not buffers or other\n * state variables.\n */\n SHA256.prototype.saveState = function () {\n if (this._finished) {\n throw new Error(\"SHA256: cannot save finished state\");\n }\n return {\n state: new Int32Array(this._state),\n buffer: this._bufferLength > 0 ? new Uint8Array(this._buffer) : undefined,\n bufferLength: this._bufferLength,\n bytesHashed: this._bytesHashed\n };\n };\n /**\n * Function useful for HMAC/PBKDF2 optimization.\n * Restores state saved by saveState() and sets bytesHashed\n * to the given value.\n */\n SHA256.prototype.restoreState = function (savedState) {\n this._state.set(savedState.state);\n this._bufferLength = savedState.bufferLength;\n if (savedState.buffer) {\n this._buffer.set(savedState.buffer);\n }\n this._bytesHashed = savedState.bytesHashed;\n this._finished = false;\n return this;\n };\n /**\n * Cleans state returned by saveState().\n */\n SHA256.prototype.cleanSavedState = function (savedState) {\n wipe_1.wipe(savedState.state);\n if (savedState.buffer) {\n wipe_1.wipe(savedState.buffer);\n }\n savedState.bufferLength = 0;\n savedState.bytesHashed = 0;\n };\n return SHA256;\n}());\nexports.SHA256 = SHA256;\n// Constants\nvar K = new Int32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b,\n 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01,\n 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7,\n 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152,\n 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,\n 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc,\n 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819,\n 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08,\n 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f,\n 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\nfunction hashBlocks(w, v, p, pos, len) {\n while (len >= 64) {\n var a = v[0];\n var b = v[1];\n var c = v[2];\n var d = v[3];\n var e = v[4];\n var f = v[5];\n var g = v[6];\n var h = v[7];\n for (var i = 0; i < 16; i++) {\n var j = pos + i * 4;\n w[i] = binary_1.readUint32BE(p, j);\n }\n for (var i = 16; i < 64; i++) {\n var u = w[i - 2];\n var t1 = (u >>> 17 | u << (32 - 17)) ^ (u >>> 19 | u << (32 - 19)) ^ (u >>> 10);\n u = w[i - 15];\n var t2 = (u >>> 7 | u << (32 - 7)) ^ (u >>> 18 | u << (32 - 18)) ^ (u >>> 3);\n w[i] = (t1 + w[i - 7] | 0) + (t2 + w[i - 16] | 0);\n }\n for (var i = 0; i < 64; i++) {\n var t1 = (((((e >>> 6 | e << (32 - 6)) ^ (e >>> 11 | e << (32 - 11)) ^\n (e >>> 25 | e << (32 - 25))) + ((e & f) ^ (~e & g))) | 0) +\n ((h + ((K[i] + w[i]) | 0)) | 0)) | 0;\n var t2 = (((a >>> 2 | a << (32 - 2)) ^ (a >>> 13 | a << (32 - 13)) ^\n (a >>> 22 | a << (32 - 22))) + ((a & b) ^ (a & c) ^ (b & c))) | 0;\n h = g;\n g = f;\n f = e;\n e = (d + t1) | 0;\n d = c;\n c = b;\n b = a;\n a = (t1 + t2) | 0;\n }\n v[0] += a;\n v[1] += b;\n v[2] += c;\n v[3] += d;\n v[4] += e;\n v[5] += f;\n v[6] += g;\n v[7] += h;\n pos += 64;\n len -= 64;\n }\n return pos;\n}\nfunction hash(data) {\n var h = new SHA256();\n h.update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.hash = hash;\n//# sourceMappingURL=sha256.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decode = exports.encodedLength = exports.encode = void 0;\n/**\n * Package utf8 implements UTF-8 encoding and decoding.\n */\nconst INVALID_UTF16 = \"utf8: invalid string\";\nconst INVALID_UTF8 = \"utf8: invalid source encoding\";\n/**\n * Encodes the given string into UTF-8 byte array.\n * Throws if the source string has invalid UTF-16 encoding.\n */\nfunction encode(s) {\n // Calculate result length and allocate output array.\n // encodedLength() validates string and throws errors,\n // so we don't need repeat validation here.\n const arr = new Uint8Array(encodedLength(s));\n let pos = 0;\n for (let i = 0; i < s.length; i++) {\n let c = s.charCodeAt(i);\n if (c >= 0xd800 && c <= 0xdbff) {\n c = ((c - 0xd800) << 10) + (s.charCodeAt(++i) - 0xdc00) + 0x10000;\n }\n if (c < 0x80) {\n arr[pos++] = c;\n }\n else if (c < 0x800) {\n arr[pos++] = 0xc0 | (c >> 6);\n arr[pos++] = 0x80 | (c & 0x3f);\n }\n else if (c < 0x10000) {\n arr[pos++] = 0xe0 | (c >> 12);\n arr[pos++] = 0x80 | ((c >> 6) & 0x3f);\n arr[pos++] = 0x80 | (c & 0x3f);\n }\n else {\n arr[pos++] = 0xf0 | (c >> 18);\n arr[pos++] = 0x80 | ((c >> 12) & 0x3f);\n arr[pos++] = 0x80 | ((c >> 6) & 0x3f);\n arr[pos++] = 0x80 | (c & 0x3f);\n }\n }\n return arr;\n}\nexports.encode = encode;\n/**\n * Returns the number of bytes required to encode the given string into UTF-8.\n * Throws if the source string has invalid UTF-16 encoding.\n */\nfunction encodedLength(s) {\n let result = 0;\n for (let i = 0; i < s.length; i++) {\n let c = s.charCodeAt(i);\n if (c >= 0xd800 && c <= 0xdbff) {\n // surrogate pair\n if (i === s.length - 1) {\n throw new Error(INVALID_UTF16);\n }\n i++;\n const c2 = s.charCodeAt(i);\n if (c2 < 0xdc00 || c2 > 0xdfff) {\n throw new Error(INVALID_UTF16);\n }\n c = ((c - 0xd800) << 10) + (c2 - 0xdc00) + 0x10000;\n }\n if (c < 0x80) {\n result += 1;\n }\n else if (c < 0x800) {\n result += 2;\n }\n else if (c < 0x10000) {\n result += 3;\n }\n else {\n result += 4;\n }\n }\n return result;\n}\nexports.encodedLength = encodedLength;\n/**\n * Decodes the given byte array from UTF-8 into a string.\n * Throws if encoding is invalid.\n */\nfunction decode(arr) {\n const chars = [];\n for (let i = 0; i < arr.length; i++) {\n let b = arr[i];\n if (b & 0x80) {\n let min;\n if (b < 0xe0) {\n // Need 1 more byte.\n if (i >= arr.length) {\n throw new Error(INVALID_UTF8);\n }\n const n1 = arr[++i];\n if ((n1 & 0xc0) !== 0x80) {\n throw new Error(INVALID_UTF8);\n }\n b = (b & 0x1f) << 6 | (n1 & 0x3f);\n min = 0x80;\n }\n else if (b < 0xf0) {\n // Need 2 more bytes.\n if (i >= arr.length - 1) {\n throw new Error(INVALID_UTF8);\n }\n const n1 = arr[++i];\n const n2 = arr[++i];\n if ((n1 & 0xc0) !== 0x80 || (n2 & 0xc0) !== 0x80) {\n throw new Error(INVALID_UTF8);\n }\n b = (b & 0x0f) << 12 | (n1 & 0x3f) << 6 | (n2 & 0x3f);\n min = 0x800;\n }\n else if (b < 0xf8) {\n // Need 3 more bytes.\n if (i >= arr.length - 2) {\n throw new Error(INVALID_UTF8);\n }\n const n1 = arr[++i];\n const n2 = arr[++i];\n const n3 = arr[++i];\n if ((n1 & 0xc0) !== 0x80 || (n2 & 0xc0) !== 0x80 || (n3 & 0xc0) !== 0x80) {\n throw new Error(INVALID_UTF8);\n }\n b = (b & 0x0f) << 18 | (n1 & 0x3f) << 12 | (n2 & 0x3f) << 6 | (n3 & 0x3f);\n min = 0x10000;\n }\n else {\n throw new Error(INVALID_UTF8);\n }\n if (b < min || (b >= 0xd800 && b <= 0xdfff)) {\n throw new Error(INVALID_UTF8);\n }\n if (b >= 0x10000) {\n // Surrogate pair.\n if (b > 0x10ffff) {\n throw new Error(INVALID_UTF8);\n }\n b -= 0x10000;\n chars.push(String.fromCharCode(0xd800 | (b >> 10)));\n b = 0xdc00 | (b & 0x3ff);\n }\n }\n chars.push(String.fromCharCode(b));\n }\n return chars.join(\"\");\n}\nexports.decode = decode;\n//# sourceMappingURL=utf8.js.map","// base-x encoding / decoding\n// Copyright (c) 2018 base-x contributors\n// Copyright (c) 2014-2018 The Bitcoin Core developers (base58.cpp)\n// Distributed under the MIT software license, see the accompanying\n// file LICENSE or http://www.opensource.org/licenses/mit-license.php.\nfunction base (ALPHABET) {\n if (ALPHABET.length >= 255) { throw new TypeError('Alphabet too long') }\n const BASE_MAP = new Uint8Array(256)\n for (let j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255\n }\n for (let i = 0; i < ALPHABET.length; i++) {\n const x = ALPHABET.charAt(i)\n const xc = x.charCodeAt(0)\n if (BASE_MAP[xc] !== 255) { throw new TypeError(x + ' is ambiguous') }\n BASE_MAP[xc] = i\n }\n const BASE = ALPHABET.length\n const LEADER = ALPHABET.charAt(0)\n const FACTOR = Math.log(BASE) / Math.log(256) // log(BASE) / log(256), rounded up\n const iFACTOR = Math.log(256) / Math.log(BASE) // log(256) / log(BASE), rounded up\n function encode (source) {\n // eslint-disable-next-line no-empty\n if (source instanceof Uint8Array) { } else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength)\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source)\n }\n if (!(source instanceof Uint8Array)) { throw new TypeError('Expected Uint8Array') }\n if (source.length === 0) { return '' }\n // Skip & count leading zeroes.\n let zeroes = 0\n let length = 0\n let pbegin = 0\n const pend = source.length\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++\n zeroes++\n }\n // Allocate enough space in big-endian base58 representation.\n const size = ((pend - pbegin) * iFACTOR + 1) >>> 0\n const b58 = new Uint8Array(size)\n // Process the bytes.\n while (pbegin !== pend) {\n let carry = source[pbegin]\n // Apply \"b58 = b58 * 256 + ch\".\n let i = 0\n for (let it1 = size - 1; (carry !== 0 || i < length) && (it1 !== -1); it1--, i++) {\n carry += (256 * b58[it1]) >>> 0\n b58[it1] = (carry % BASE) >>> 0\n carry = (carry / BASE) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n pbegin++\n }\n // Skip leading zeroes in base58 result.\n let it2 = size - length\n while (it2 !== size && b58[it2] === 0) {\n it2++\n }\n // Translate the result into a string.\n let str = LEADER.repeat(zeroes)\n for (; it2 < size; ++it2) { str += ALPHABET.charAt(b58[it2]) }\n return str\n }\n function decodeUnsafe (source) {\n if (typeof source !== 'string') { throw new TypeError('Expected String') }\n if (source.length === 0) { return new Uint8Array() }\n let psz = 0\n // Skip and count leading '1's.\n let zeroes = 0\n let length = 0\n while (source[psz] === LEADER) {\n zeroes++\n psz++\n }\n // Allocate enough space in big-endian base256 representation.\n const size = (((source.length - psz) * FACTOR) + 1) >>> 0 // log(58) / log(256), rounded up.\n const b256 = new Uint8Array(size)\n // Process the characters.\n while (source[psz]) {\n // Decode character\n let carry = BASE_MAP[source.charCodeAt(psz)]\n // Invalid character\n if (carry === 255) { return }\n let i = 0\n for (let it3 = size - 1; (carry !== 0 || i < length) && (it3 !== -1); it3--, i++) {\n carry += (BASE * b256[it3]) >>> 0\n b256[it3] = (carry % 256) >>> 0\n carry = (carry / 256) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n psz++\n }\n // Skip leading zeroes in b256.\n let it4 = size - length\n while (it4 !== size && b256[it4] === 0) {\n it4++\n }\n const vch = new Uint8Array(zeroes + (size - it4))\n let j = zeroes\n while (it4 !== size) {\n vch[j++] = b256[it4++]\n }\n return vch\n }\n function decode (string) {\n const buffer = decodeUnsafe(string)\n if (buffer) { return buffer }\n throw new Error('Non-base' + BASE + ' character')\n }\n return {\n encode,\n decodeUnsafe,\n decode\n }\n}\nexport default base\n","import basex from 'base-x';\nvar ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';\nexport default basex(ALPHABET);\n","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package base64 implements Base64 encoding and decoding.\n */\n// Invalid character used in decoding to indicate\n// that the character to decode is out of range of\n// alphabet and cannot be decoded.\nvar INVALID_BYTE = 256;\n/**\n * Implements standard Base64 encoding.\n *\n * Operates in constant time.\n */\nvar Coder = /** @class */ (function () {\n // TODO(dchest): methods to encode chunk-by-chunk.\n function Coder(_paddingCharacter) {\n if (_paddingCharacter === void 0) { _paddingCharacter = \"=\"; }\n this._paddingCharacter = _paddingCharacter;\n }\n Coder.prototype.encodedLength = function (length) {\n if (!this._paddingCharacter) {\n return (length * 8 + 5) / 6 | 0;\n }\n return (length + 2) / 3 * 4 | 0;\n };\n Coder.prototype.encode = function (data) {\n var out = \"\";\n var i = 0;\n for (; i < data.length - 2; i += 3) {\n var c = (data[i] << 16) | (data[i + 1] << 8) | (data[i + 2]);\n out += this._encodeByte((c >>> 3 * 6) & 63);\n out += this._encodeByte((c >>> 2 * 6) & 63);\n out += this._encodeByte((c >>> 1 * 6) & 63);\n out += this._encodeByte((c >>> 0 * 6) & 63);\n }\n var left = data.length - i;\n if (left > 0) {\n var c = (data[i] << 16) | (left === 2 ? data[i + 1] << 8 : 0);\n out += this._encodeByte((c >>> 3 * 6) & 63);\n out += this._encodeByte((c >>> 2 * 6) & 63);\n if (left === 2) {\n out += this._encodeByte((c >>> 1 * 6) & 63);\n }\n else {\n out += this._paddingCharacter || \"\";\n }\n out += this._paddingCharacter || \"\";\n }\n return out;\n };\n Coder.prototype.maxDecodedLength = function (length) {\n if (!this._paddingCharacter) {\n return (length * 6 + 7) / 8 | 0;\n }\n return length / 4 * 3 | 0;\n };\n Coder.prototype.decodedLength = function (s) {\n return this.maxDecodedLength(s.length - this._getPaddingLength(s));\n };\n Coder.prototype.decode = function (s) {\n if (s.length === 0) {\n return new Uint8Array(0);\n }\n var paddingLength = this._getPaddingLength(s);\n var length = s.length - paddingLength;\n var out = new Uint8Array(this.maxDecodedLength(length));\n var op = 0;\n var i = 0;\n var haveBad = 0;\n var v0 = 0, v1 = 0, v2 = 0, v3 = 0;\n for (; i < length - 4; i += 4) {\n v0 = this._decodeChar(s.charCodeAt(i + 0));\n v1 = this._decodeChar(s.charCodeAt(i + 1));\n v2 = this._decodeChar(s.charCodeAt(i + 2));\n v3 = this._decodeChar(s.charCodeAt(i + 3));\n out[op++] = (v0 << 2) | (v1 >>> 4);\n out[op++] = (v1 << 4) | (v2 >>> 2);\n out[op++] = (v2 << 6) | v3;\n haveBad |= v0 & INVALID_BYTE;\n haveBad |= v1 & INVALID_BYTE;\n haveBad |= v2 & INVALID_BYTE;\n haveBad |= v3 & INVALID_BYTE;\n }\n if (i < length - 1) {\n v0 = this._decodeChar(s.charCodeAt(i));\n v1 = this._decodeChar(s.charCodeAt(i + 1));\n out[op++] = (v0 << 2) | (v1 >>> 4);\n haveBad |= v0 & INVALID_BYTE;\n haveBad |= v1 & INVALID_BYTE;\n }\n if (i < length - 2) {\n v2 = this._decodeChar(s.charCodeAt(i + 2));\n out[op++] = (v1 << 4) | (v2 >>> 2);\n haveBad |= v2 & INVALID_BYTE;\n }\n if (i < length - 3) {\n v3 = this._decodeChar(s.charCodeAt(i + 3));\n out[op++] = (v2 << 6) | v3;\n haveBad |= v3 & INVALID_BYTE;\n }\n if (haveBad !== 0) {\n throw new Error(\"Base64Coder: incorrect characters for decoding\");\n }\n return out;\n };\n // Standard encoding have the following encoded/decoded ranges,\n // which we need to convert between.\n //\n // ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 + /\n // Index: 0 - 25 26 - 51 52 - 61 62 63\n // ASCII: 65 - 90 97 - 122 48 - 57 43 47\n //\n // Encode 6 bits in b into a new character.\n Coder.prototype._encodeByte = function (b) {\n // Encoding uses constant time operations as follows:\n //\n // 1. Define comparison of A with B using (A - B) >>> 8:\n // if A > B, then result is positive integer\n // if A <= B, then result is 0\n //\n // 2. Define selection of C or 0 using bitwise AND: X & C:\n // if X == 0, then result is 0\n // if X != 0, then result is C\n //\n // 3. Start with the smallest comparison (b >= 0), which is always\n // true, so set the result to the starting ASCII value (65).\n //\n // 4. Continue comparing b to higher ASCII values, and selecting\n // zero if comparison isn't true, otherwise selecting a value\n // to add to result, which:\n //\n // a) undoes the previous addition\n // b) provides new value to add\n //\n var result = b;\n // b >= 0\n result += 65;\n // b > 25\n result += ((25 - b) >>> 8) & ((0 - 65) - 26 + 97);\n // b > 51\n result += ((51 - b) >>> 8) & ((26 - 97) - 52 + 48);\n // b > 61\n result += ((61 - b) >>> 8) & ((52 - 48) - 62 + 43);\n // b > 62\n result += ((62 - b) >>> 8) & ((62 - 43) - 63 + 47);\n return String.fromCharCode(result);\n };\n // Decode a character code into a byte.\n // Must return 256 if character is out of alphabet range.\n Coder.prototype._decodeChar = function (c) {\n // Decoding works similar to encoding: using the same comparison\n // function, but now it works on ranges: result is always incremented\n // by value, but this value becomes zero if the range is not\n // satisfied.\n //\n // Decoding starts with invalid value, 256, which is then\n // subtracted when the range is satisfied. If none of the ranges\n // apply, the function returns 256, which is then checked by\n // the caller to throw error.\n var result = INVALID_BYTE; // start with invalid character\n // c == 43 (c > 42 and c < 44)\n result += (((42 - c) & (c - 44)) >>> 8) & (-INVALID_BYTE + c - 43 + 62);\n // c == 47 (c > 46 and c < 48)\n result += (((46 - c) & (c - 48)) >>> 8) & (-INVALID_BYTE + c - 47 + 63);\n // c > 47 and c < 58\n result += (((47 - c) & (c - 58)) >>> 8) & (-INVALID_BYTE + c - 48 + 52);\n // c > 64 and c < 91\n result += (((64 - c) & (c - 91)) >>> 8) & (-INVALID_BYTE + c - 65 + 0);\n // c > 96 and c < 123\n result += (((96 - c) & (c - 123)) >>> 8) & (-INVALID_BYTE + c - 97 + 26);\n return result;\n };\n Coder.prototype._getPaddingLength = function (s) {\n var paddingLength = 0;\n if (this._paddingCharacter) {\n for (var i = s.length - 1; i >= 0; i--) {\n if (s[i] !== this._paddingCharacter) {\n break;\n }\n paddingLength++;\n }\n if (s.length < 4 || paddingLength > 2) {\n throw new Error(\"Base64Coder: incorrect padding\");\n }\n }\n return paddingLength;\n };\n return Coder;\n}());\nexports.Coder = Coder;\nvar stdCoder = new Coder();\nfunction encode(data) {\n return stdCoder.encode(data);\n}\nexports.encode = encode;\nfunction decode(s) {\n return stdCoder.decode(s);\n}\nexports.decode = decode;\n/**\n * Implements URL-safe Base64 encoding.\n * (Same as Base64, but '+' is replaced with '-', and '/' with '_').\n *\n * Operates in constant time.\n */\nvar URLSafeCoder = /** @class */ (function (_super) {\n __extends(URLSafeCoder, _super);\n function URLSafeCoder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n // URL-safe encoding have the following encoded/decoded ranges:\n //\n // ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 - _\n // Index: 0 - 25 26 - 51 52 - 61 62 63\n // ASCII: 65 - 90 97 - 122 48 - 57 45 95\n //\n URLSafeCoder.prototype._encodeByte = function (b) {\n var result = b;\n // b >= 0\n result += 65;\n // b > 25\n result += ((25 - b) >>> 8) & ((0 - 65) - 26 + 97);\n // b > 51\n result += ((51 - b) >>> 8) & ((26 - 97) - 52 + 48);\n // b > 61\n result += ((61 - b) >>> 8) & ((52 - 48) - 62 + 45);\n // b > 62\n result += ((62 - b) >>> 8) & ((62 - 45) - 63 + 95);\n return String.fromCharCode(result);\n };\n URLSafeCoder.prototype._decodeChar = function (c) {\n var result = INVALID_BYTE;\n // c == 45 (c > 44 and c < 46)\n result += (((44 - c) & (c - 46)) >>> 8) & (-INVALID_BYTE + c - 45 + 62);\n // c == 95 (c > 94 and c < 96)\n result += (((94 - c) & (c - 96)) >>> 8) & (-INVALID_BYTE + c - 95 + 63);\n // c > 47 and c < 58\n result += (((47 - c) & (c - 58)) >>> 8) & (-INVALID_BYTE + c - 48 + 52);\n // c > 64 and c < 91\n result += (((64 - c) & (c - 91)) >>> 8) & (-INVALID_BYTE + c - 65 + 0);\n // c > 96 and c < 123\n result += (((96 - c) & (c - 123)) >>> 8) & (-INVALID_BYTE + c - 97 + 26);\n return result;\n };\n return URLSafeCoder;\n}(Coder));\nexports.URLSafeCoder = URLSafeCoder;\nvar urlSafeCoder = new URLSafeCoder();\nfunction encodeURLSafe(data) {\n return urlSafeCoder.encode(data);\n}\nexports.encodeURLSafe = encodeURLSafe;\nfunction decodeURLSafe(s) {\n return urlSafeCoder.decode(s);\n}\nexports.decodeURLSafe = decodeURLSafe;\nexports.encodedLength = function (length) {\n return stdCoder.encodedLength(length);\n};\nexports.maxDecodedLength = function (length) {\n return stdCoder.maxDecodedLength(length);\n};\nexports.decodedLength = function (s) {\n return stdCoder.decodedLength(s);\n};\n//# sourceMappingURL=base64.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction concat() {\n // Calculate sum of lengths of all arrays.\n var totalLength = 0;\n for (var i = 0; i < arguments.length; i++) {\n totalLength += arguments[i].length;\n }\n // Allocate new array of calculated length.\n var result = new Uint8Array(totalLength);\n // Copy all arrays into result.\n var offset = 0;\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n result.set(arg, offset);\n offset += arg.length;\n }\n return result;\n}\nexports.concat = concat;\n//# sourceMappingURL=bytes.js.map","export var integers = ['u8', 'u16', 'u32', 'u64', 'u128', 'i8', 'i16', 'i32', 'i64', 'i128', 'f32', 'f64'];\n","var EncodeBuffer = /** @class */ (function () {\n function EncodeBuffer() {\n this.offset = 0;\n this.buffer_size = 256;\n this.buffer = new ArrayBuffer(this.buffer_size);\n this.view = new DataView(this.buffer);\n }\n EncodeBuffer.prototype.resize_if_necessary = function (needed_space) {\n if (this.buffer_size - this.offset < needed_space) {\n this.buffer_size = Math.max(this.buffer_size * 2, this.buffer_size + needed_space);\n var new_buffer = new ArrayBuffer(this.buffer_size);\n new Uint8Array(new_buffer).set(new Uint8Array(this.buffer));\n this.buffer = new_buffer;\n this.view = new DataView(new_buffer);\n }\n };\n EncodeBuffer.prototype.get_used_buffer = function () {\n return new Uint8Array(this.buffer).slice(0, this.offset);\n };\n EncodeBuffer.prototype.store_value = function (value, type) {\n var bSize = type.substring(1);\n var size = parseInt(bSize) / 8;\n this.resize_if_necessary(size);\n var toCall = type[0] === 'f' ? \"setFloat\".concat(bSize) : type[0] === 'i' ? \"setInt\".concat(bSize) : \"setUint\".concat(bSize);\n this.view[toCall](this.offset, value, true);\n this.offset += size;\n };\n EncodeBuffer.prototype.store_bytes = function (from) {\n this.resize_if_necessary(from.length);\n new Uint8Array(this.buffer).set(new Uint8Array(from), this.offset);\n this.offset += from.length;\n };\n return EncodeBuffer;\n}());\nexport { EncodeBuffer };\nvar DecodeBuffer = /** @class */ (function () {\n function DecodeBuffer(buf) {\n this.offset = 0;\n this.buffer_size = buf.length;\n this.buffer = new ArrayBuffer(buf.length);\n new Uint8Array(this.buffer).set(buf);\n this.view = new DataView(this.buffer);\n }\n DecodeBuffer.prototype.assert_enough_buffer = function (size) {\n if (this.offset + size > this.buffer.byteLength) {\n throw new Error('Error in schema, the buffer is smaller than expected');\n }\n };\n DecodeBuffer.prototype.consume_value = function (type) {\n var bSize = type.substring(1);\n var size = parseInt(bSize) / 8;\n this.assert_enough_buffer(size);\n var toCall = type[0] === 'f' ? \"getFloat\".concat(bSize) : type[0] === 'i' ? \"getInt\".concat(bSize) : \"getUint\".concat(bSize);\n var ret = this.view[toCall](this.offset, true);\n this.offset += size;\n return ret;\n };\n DecodeBuffer.prototype.consume_bytes = function (size) {\n this.assert_enough_buffer(size);\n var ret = this.buffer.slice(this.offset, this.offset + size);\n this.offset += size;\n return ret;\n };\n return DecodeBuffer;\n}());\nexport { DecodeBuffer };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { integers } from './types.js';\nexport function isArrayLike(value) {\n // source: https://stackoverflow.com/questions/24048547/checking-if-an-object-is-array-like\n return (Array.isArray(value) ||\n (!!value &&\n typeof value === 'object' &&\n 'length' in value &&\n typeof (value.length) === 'number' &&\n (value.length === 0 ||\n (value.length > 0 &&\n (value.length - 1) in value))));\n}\nexport function expect_type(value, type, fieldPath) {\n if (typeof (value) !== type) {\n throw new Error(\"Expected \".concat(type, \" not \").concat(typeof (value), \"(\").concat(value, \") at \").concat(fieldPath.join('.')));\n }\n}\nexport function expect_bigint(value, fieldPath) {\n var basicType = ['number', 'string', 'bigint', 'boolean'].includes(typeof (value));\n var strObject = typeof (value) === 'object' && value !== null && 'toString' in value;\n if (!basicType && !strObject) {\n throw new Error(\"Expected bigint, number, boolean or string not \".concat(typeof (value), \"(\").concat(value, \") at \").concat(fieldPath.join('.')));\n }\n}\nexport function expect_same_size(length, expected, fieldPath) {\n if (length !== expected) {\n throw new Error(\"Array length \".concat(length, \" does not match schema length \").concat(expected, \" at \").concat(fieldPath.join('.')));\n }\n}\nexport function expect_enum(value, fieldPath) {\n if (typeof (value) !== 'object' || value === null) {\n throw new Error(\"Expected object not \".concat(typeof (value), \"(\").concat(value, \") at \").concat(fieldPath.join('.')));\n }\n}\n// Validate Schema\nvar VALID_STRING_TYPES = integers.concat(['bool', 'string']);\nvar VALID_OBJECT_KEYS = ['option', 'enum', 'array', 'set', 'map', 'struct'];\nvar ErrorSchema = /** @class */ (function (_super) {\n __extends(ErrorSchema, _super);\n function ErrorSchema(schema, expected) {\n var message = \"Invalid schema: \".concat(JSON.stringify(schema), \" expected \").concat(expected);\n return _super.call(this, message) || this;\n }\n return ErrorSchema;\n}(Error));\nexport { ErrorSchema };\nexport function validate_schema(schema) {\n if (typeof (schema) === 'string' && VALID_STRING_TYPES.includes(schema)) {\n return;\n }\n if (schema && typeof (schema) === 'object') {\n var keys = Object.keys(schema);\n if (keys.length === 1 && VALID_OBJECT_KEYS.includes(keys[0])) {\n var key = keys[0];\n if (key === 'option')\n return validate_schema(schema[key]);\n if (key === 'enum')\n return validate_enum_schema(schema[key]);\n if (key === 'array')\n return validate_array_schema(schema[key]);\n if (key === 'set')\n return validate_schema(schema[key]);\n if (key === 'map')\n return validate_map_schema(schema[key]);\n if (key === 'struct')\n return validate_struct_schema(schema[key]);\n }\n }\n throw new ErrorSchema(schema, VALID_OBJECT_KEYS.join(', ') + ' or ' + VALID_STRING_TYPES.join(', '));\n}\nfunction validate_enum_schema(schema) {\n if (!Array.isArray(schema))\n throw new ErrorSchema(schema, 'Array');\n for (var _i = 0, schema_1 = schema; _i < schema_1.length; _i++) {\n var sch = schema_1[_i];\n if (typeof sch !== 'object' || !('struct' in sch)) {\n throw new Error('Missing \"struct\" key in enum schema');\n }\n if (typeof sch.struct !== 'object' || Object.keys(sch.struct).length !== 1) {\n throw new Error('The \"struct\" in each enum must have a single key');\n }\n validate_schema({ struct: sch.struct });\n }\n}\nfunction validate_array_schema(schema) {\n if (typeof schema !== 'object')\n throw new ErrorSchema(schema, '{ type, len? }');\n if (schema.len && typeof schema.len !== 'number') {\n throw new Error(\"Invalid schema: \".concat(schema));\n }\n if ('type' in schema)\n return validate_schema(schema.type);\n throw new ErrorSchema(schema, '{ type, len? }');\n}\nfunction validate_map_schema(schema) {\n if (typeof schema === 'object' && 'key' in schema && 'value' in schema) {\n validate_schema(schema.key);\n validate_schema(schema.value);\n }\n else {\n throw new ErrorSchema(schema, '{ key, value }');\n }\n}\nfunction validate_struct_schema(schema) {\n if (typeof schema !== 'object')\n throw new ErrorSchema(schema, 'object');\n for (var key in schema) {\n validate_schema(schema[key]);\n }\n}\n","import { integers } from './types.js';\nimport { EncodeBuffer } from './buffer.js';\nimport * as utils from './utils.js';\nvar BorshSerializer = /** @class */ (function () {\n function BorshSerializer(checkTypes) {\n this.encoded = new EncodeBuffer();\n this.fieldPath = ['value'];\n this.checkTypes = checkTypes;\n }\n BorshSerializer.prototype.encode = function (value, schema) {\n this.encode_value(value, schema);\n return this.encoded.get_used_buffer();\n };\n BorshSerializer.prototype.encode_value = function (value, schema) {\n if (typeof schema === 'string') {\n if (integers.includes(schema))\n return this.encode_integer(value, schema);\n if (schema === 'string')\n return this.encode_string(value);\n if (schema === 'bool')\n return this.encode_boolean(value);\n }\n if (typeof schema === 'object') {\n if ('option' in schema)\n return this.encode_option(value, schema);\n if ('enum' in schema)\n return this.encode_enum(value, schema);\n if ('array' in schema)\n return this.encode_array(value, schema);\n if ('set' in schema)\n return this.encode_set(value, schema);\n if ('map' in schema)\n return this.encode_map(value, schema);\n if ('struct' in schema)\n return this.encode_struct(value, schema);\n }\n };\n BorshSerializer.prototype.encode_integer = function (value, schema) {\n var size = parseInt(schema.substring(1));\n if (size <= 32 || schema == 'f64') {\n this.checkTypes && utils.expect_type(value, 'number', this.fieldPath);\n this.encoded.store_value(value, schema);\n }\n else {\n this.checkTypes && utils.expect_bigint(value, this.fieldPath);\n this.encode_bigint(BigInt(value), size);\n }\n };\n BorshSerializer.prototype.encode_bigint = function (value, size) {\n var buffer_len = size / 8;\n var buffer = new Uint8Array(buffer_len);\n for (var i = 0; i < buffer_len; i++) {\n buffer[i] = Number(value & BigInt(0xff));\n value = value >> BigInt(8);\n }\n this.encoded.store_bytes(new Uint8Array(buffer));\n };\n BorshSerializer.prototype.encode_string = function (value) {\n this.checkTypes && utils.expect_type(value, 'string', this.fieldPath);\n var _value = value;\n // 4 bytes for length\n this.encoded.store_value(_value.length, 'u32');\n // string bytes\n for (var i = 0; i < _value.length; i++) {\n this.encoded.store_value(_value.charCodeAt(i), 'u8');\n }\n };\n BorshSerializer.prototype.encode_boolean = function (value) {\n this.checkTypes && utils.expect_type(value, 'boolean', this.fieldPath);\n this.encoded.store_value(value ? 1 : 0, 'u8');\n };\n BorshSerializer.prototype.encode_option = function (value, schema) {\n if (value === null || value === undefined) {\n this.encoded.store_value(0, 'u8');\n }\n else {\n this.encoded.store_value(1, 'u8');\n this.encode_value(value, schema.option);\n }\n };\n BorshSerializer.prototype.encode_enum = function (value, schema) {\n this.checkTypes && utils.expect_enum(value, this.fieldPath);\n var valueKey = Object.keys(value)[0];\n for (var i = 0; i < schema[\"enum\"].length; i++) {\n var valueSchema = schema[\"enum\"][i];\n if (valueKey === Object.keys(valueSchema.struct)[0]) {\n this.encoded.store_value(i, 'u8');\n return this.encode_struct(value, valueSchema);\n }\n }\n throw new Error(\"Enum key (\".concat(valueKey, \") not found in enum schema: \").concat(JSON.stringify(schema), \" at \").concat(this.fieldPath.join('.')));\n };\n BorshSerializer.prototype.encode_array = function (value, schema) {\n if (utils.isArrayLike(value))\n return this.encode_arraylike(value, schema);\n if (value instanceof ArrayBuffer)\n return this.encode_buffer(value, schema);\n throw new Error(\"Expected Array-like not \".concat(typeof (value), \"(\").concat(value, \") at \").concat(this.fieldPath.join('.')));\n };\n BorshSerializer.prototype.encode_arraylike = function (value, schema) {\n if (schema.array.len) {\n utils.expect_same_size(value.length, schema.array.len, this.fieldPath);\n }\n else {\n // 4 bytes for length\n this.encoded.store_value(value.length, 'u32');\n }\n // array values\n for (var i = 0; i < value.length; i++) {\n this.encode_value(value[i], schema.array.type);\n }\n };\n BorshSerializer.prototype.encode_buffer = function (value, schema) {\n if (schema.array.len) {\n utils.expect_same_size(value.byteLength, schema.array.len, this.fieldPath);\n }\n else {\n // 4 bytes for length\n this.encoded.store_value(value.byteLength, 'u32');\n }\n // array values\n this.encoded.store_bytes(new Uint8Array(value));\n };\n BorshSerializer.prototype.encode_set = function (value, schema) {\n this.checkTypes && utils.expect_type(value, 'object', this.fieldPath);\n var isSet = value instanceof Set;\n var values = isSet ? Array.from(value.values()) : Object.values(value);\n // 4 bytes for length\n this.encoded.store_value(values.length, 'u32');\n // set values\n for (var _i = 0, values_1 = values; _i < values_1.length; _i++) {\n var value_1 = values_1[_i];\n this.encode_value(value_1, schema.set);\n }\n };\n BorshSerializer.prototype.encode_map = function (value, schema) {\n this.checkTypes && utils.expect_type(value, 'object', this.fieldPath);\n var isMap = value instanceof Map;\n var keys = isMap ? Array.from(value.keys()) : Object.keys(value);\n // 4 bytes for length\n this.encoded.store_value(keys.length, 'u32');\n // store key/values\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var key = keys_1[_i];\n this.encode_value(key, schema.map.key);\n this.encode_value(isMap ? value.get(key) : value[key], schema.map.value);\n }\n };\n BorshSerializer.prototype.encode_struct = function (value, schema) {\n this.checkTypes && utils.expect_type(value, 'object', this.fieldPath);\n for (var _i = 0, _a = Object.keys(schema.struct); _i < _a.length; _i++) {\n var key = _a[_i];\n this.fieldPath.push(key);\n this.encode_value(value[key], schema.struct[key]);\n this.fieldPath.pop();\n }\n };\n return BorshSerializer;\n}());\nexport { BorshSerializer };\n","import { integers } from './types.js';\nimport { DecodeBuffer } from './buffer.js';\nvar BorshDeserializer = /** @class */ (function () {\n function BorshDeserializer(bufferArray) {\n this.buffer = new DecodeBuffer(bufferArray);\n }\n BorshDeserializer.prototype.decode = function (schema) {\n return this.decode_value(schema);\n };\n BorshDeserializer.prototype.decode_value = function (schema) {\n if (typeof schema === 'string') {\n if (integers.includes(schema))\n return this.decode_integer(schema);\n if (schema === 'string')\n return this.decode_string();\n if (schema === 'bool')\n return this.decode_boolean();\n }\n if (typeof schema === 'object') {\n if ('option' in schema)\n return this.decode_option(schema);\n if ('enum' in schema)\n return this.decode_enum(schema);\n if ('array' in schema)\n return this.decode_array(schema);\n if ('set' in schema)\n return this.decode_set(schema);\n if ('map' in schema)\n return this.decode_map(schema);\n if ('struct' in schema)\n return this.decode_struct(schema);\n }\n throw new Error(\"Unsupported type: \".concat(schema));\n };\n BorshDeserializer.prototype.decode_integer = function (schema) {\n var size = parseInt(schema.substring(1));\n if (size <= 32 || schema == 'f64') {\n return this.buffer.consume_value(schema);\n }\n return this.decode_bigint(size, schema.startsWith('i'));\n };\n BorshDeserializer.prototype.decode_bigint = function (size, signed) {\n if (signed === void 0) { signed = false; }\n var buffer_len = size / 8;\n var buffer = new Uint8Array(this.buffer.consume_bytes(buffer_len));\n var bits = buffer.reduceRight(function (r, x) { return r + x.toString(16).padStart(2, '0'); }, '');\n if (signed && buffer[buffer_len - 1]) {\n return BigInt.asIntN(size, BigInt(\"0x\".concat(bits)));\n }\n return BigInt(\"0x\".concat(bits));\n };\n BorshDeserializer.prototype.decode_string = function () {\n var len = this.decode_integer('u32');\n var buffer = new Uint8Array(this.buffer.consume_bytes(len));\n return String.fromCharCode.apply(null, buffer);\n };\n BorshDeserializer.prototype.decode_boolean = function () {\n return this.buffer.consume_value('u8') > 0;\n };\n BorshDeserializer.prototype.decode_option = function (schema) {\n var option = this.buffer.consume_value('u8');\n if (option === 1) {\n return this.decode_value(schema.option);\n }\n if (option !== 0) {\n throw new Error(\"Invalid option \".concat(option));\n }\n return null;\n };\n BorshDeserializer.prototype.decode_enum = function (schema) {\n var _a;\n var valueIndex = this.buffer.consume_value('u8');\n if (valueIndex > schema[\"enum\"].length) {\n throw new Error(\"Enum option \".concat(valueIndex, \" is not available\"));\n }\n var struct = schema[\"enum\"][valueIndex].struct;\n var key = Object.keys(struct)[0];\n return _a = {}, _a[key] = this.decode_value(struct[key]), _a;\n };\n BorshDeserializer.prototype.decode_array = function (schema) {\n var result = [];\n var len = schema.array.len ? schema.array.len : this.decode_integer('u32');\n for (var i = 0; i < len; ++i) {\n result.push(this.decode_value(schema.array.type));\n }\n return result;\n };\n BorshDeserializer.prototype.decode_set = function (schema) {\n var len = this.decode_integer('u32');\n var result = new Set();\n for (var i = 0; i < len; ++i) {\n result.add(this.decode_value(schema.set));\n }\n return result;\n };\n BorshDeserializer.prototype.decode_map = function (schema) {\n var len = this.decode_integer('u32');\n var result = new Map();\n for (var i = 0; i < len; ++i) {\n var key = this.decode_value(schema.map.key);\n var value = this.decode_value(schema.map.value);\n result.set(key, value);\n }\n return result;\n };\n BorshDeserializer.prototype.decode_struct = function (schema) {\n var result = {};\n for (var key in schema.struct) {\n result[key] = this.decode_value(schema.struct[key]);\n }\n return result;\n };\n return BorshDeserializer;\n}());\nexport { BorshDeserializer };\n","import { BorshSerializer } from './serialize.js';\nimport { BorshDeserializer } from './deserialize.js';\nimport * as utils from './utils.js';\nexport function serialize(schema, value, validate) {\n if (validate === void 0) { validate = true; }\n if (validate)\n utils.validate_schema(schema);\n var serializer = new BorshSerializer(validate);\n return serializer.encode(value, schema);\n}\nexport function deserialize(schema, buffer, validate) {\n if (validate === void 0) { validate = true; }\n if (validate)\n utils.validate_schema(schema);\n var deserializer = new BorshDeserializer(buffer);\n return deserializer.decode(schema);\n}\n","import { encode as hexEncode } from \"@stablelib/hex\";\nimport { hash as sha256Hash } from \"@stablelib/sha256\";\nimport { encode as utf8Encode } from \"@stablelib/utf8\";\nimport bs58 from \"bs58\";\n\nexport { decode as base64Decode, encode as base64Encode } from \"@stablelib/base64\";\nexport { writeUint16BE as binaryWriteUint16BE } from \"@stablelib/binary\";\nexport { concat as bytesConcat } from \"@stablelib/bytes\";\nexport { decode as hexDecode } from \"@stablelib/hex\";\nexport { decode as utf8Decode, encode as utf8Encode } from \"@stablelib/utf8\";\nexport { serialize as borshSerialize } from \"borsh\";\n\nexport { hexEncode, sha256Hash };\n\nexport function hexEncodeSha256Hash(data: Uint8Array): string {\n return hexEncode(sha256Hash(data), true);\n}\n\nexport function bs58Encode(data: Uint8Array): string {\n return bs58.encode(data);\n}\n\nexport function bs58Decode(data: string): Uint8Array {\n return bs58.decode(data);\n}\n\nexport function toBytes(obj: Parameters<typeof JSON.stringify>[0]): Uint8Array {\n return utf8Encode(JSON.stringify(obj));\n}\n","import nacl from \"tweetnacl\";\nimport { base64Decode, base64Encode, utf8Decode } from \"../codecs\";\n\n/**\n * Encrypts a message using the recipient's public key and the sender's secret key.\n */\nexport function encryptContent(\n message: Uint8Array,\n recipientEncryptionPublicKey: Uint8Array,\n senderEncryptionSecretKey: Uint8Array,\n): Uint8Array {\n const nonce = nacl.randomBytes(nacl.box.nonceLength);\n const encrypted = nacl.box(\n message,\n nonce,\n recipientEncryptionPublicKey,\n senderEncryptionSecretKey,\n );\n\n if (encrypted === null)\n throw Error(\n `Couldn't encrypt the provided message. ${JSON.stringify(\n {\n message: base64Encode(message),\n nonce: base64Encode(nonce),\n recipientEncryptionPublicKey: base64Encode(recipientEncryptionPublicKey),\n },\n null,\n 2,\n )}`,\n );\n\n const fullMessage = new Uint8Array(nonce.length + encrypted.length);\n fullMessage.set(nonce, 0);\n fullMessage.set(encrypted, nonce.length);\n\n return fullMessage;\n}\n\n/**\n * Decrypts a message using the sender's public key and the recipient's secret key.\n */\nfunction decryptContent(\n message: Uint8Array,\n nonce: Uint8Array,\n senderEncryptionPublicKey: Uint8Array,\n recipientEncryptionSecretKey: Uint8Array,\n): Uint8Array {\n const decrypted = nacl.box.open(\n message,\n nonce,\n senderEncryptionPublicKey,\n recipientEncryptionSecretKey,\n );\n\n if (decrypted === null) {\n throw Error(\n `Couldn't decrypt the provided message. ${JSON.stringify(\n {\n message: base64Encode(message),\n nonce: base64Encode(nonce),\n senderEncryptionPublicKey: base64Encode(senderEncryptionPublicKey),\n recipientEncryptionSecretKey: base64Encode(recipientEncryptionSecretKey),\n },\n null,\n 2,\n )}`,\n );\n }\n\n return decrypted;\n}\n\nexport class NoncedBox {\n readonly keyPair: nacl.BoxKeyPair;\n\n constructor(keyPair: nacl.BoxKeyPair) {\n this.keyPair = keyPair;\n }\n\n static nonceFromBase64SecretKey(secret: string): NoncedBox {\n return new NoncedBox(nacl.box.keyPair.fromSecretKey(base64Decode(secret)));\n }\n\n async decrypt(b64FullMessage: string, b64SenderPublicKey: string): Promise<string> {\n const decodedMessage = base64Decode(b64FullMessage);\n const senderEncryptionPublicKey = base64Decode(b64SenderPublicKey);\n const message = decodedMessage.slice(nacl.box.nonceLength, decodedMessage.length);\n const nonce = decodedMessage.slice(0, nacl.box.nonceLength);\n const content = decryptContent(\n message,\n nonce,\n senderEncryptionPublicKey,\n this.keyPair.secretKey,\n );\n\n return utf8Decode(content);\n }\n}\n","import type { KwilActionClient } from \"../kwil-infra\";\nimport type { idOSCredential, idOSGrant } from \"../types\";\n\n/**\n * Returns the shared idOS Credential for the given `dataId`.\n */\nexport async function getSharedCredential(\n kwilClient: KwilActionClient,\n id: string,\n): Promise<idOSCredential | undefined> {\n const [credential] = await kwilClient.call<idOSCredential[]>({\n name: \"get_credential_shared\",\n inputs: { id },\n });\n\n return credential;\n}\n\n/**\n * Returns the owned idOS Credential for the given `id`.\n */\nexport async function getCredentialOwned(\n kwilClient: KwilActionClient,\n id: string,\n): Promise<idOSCredential | undefined> {\n const [credential] = await kwilClient.call<idOSCredential[]>({\n name: \"get_credential_owned\",\n inputs: { id },\n });\n\n return credential;\n}\n\n/**\n * Returns the idOSCredential `id` which content hash matches the given `contentHash`.\n */\nexport async function getCredentialIdByContentHash(\n kwilClient: KwilActionClient,\n content_hash: string,\n): Promise<string | null> {\n const response = await kwilClient.call<[{ id: string }]>({\n name: \"get_sibling_credential_id\",\n inputs: { content_hash },\n });\n\n return response[0]?.id ?? null;\n}\n\nexport interface GetAccessGrantByCredentialIdParams {\n credential_id: string;\n}\n\n/**\n * Returns a list of matching idOSGrants that associated with the given `credentialId`.\n */\nexport async function getAccessGrantsForCredential(\n kwilClient: KwilActionClient,\n params: GetAccessGrantByCredentialIdParams,\n): Promise<idOSGrant[]> {\n return kwilClient.call<idOSGrant[]>({\n name: \"get_access_grants_for_credential\",\n inputs: params,\n });\n}\n\nexport interface EditCredentialAsIssuerParams {\n public_notes_id: string;\n public_notes: string;\n}\n\n/**\n * Edits the public notes of an idOSCredential if the signer is a permissioned issuer.\n * This is how a credential is edited (modified) by a permissioned issuer.\n */\nexport async function editCredentialAsIssuer(\n kwilClient: KwilActionClient,\n params: EditCredentialAsIssuerParams,\n): Promise<EditCredentialAsIssuerParams> {\n await kwilClient.execute({\n name: \"edit_public_notes_as_issuer\",\n description: \"Edit a credential in your idOS profile\",\n inputs: params,\n });\n\n return params;\n}\n\n/**\n * Returns a list of idOSCredentials that have been shared with the given `userId`.\n */\nexport async function getCredentialsSharedByUser(\n kwilClient: KwilActionClient,\n userId: string,\n): Promise<idOSCredential[]> {\n return kwilClient.call<idOSCredential[]>({\n name: \"get_credentials_shared_by_user\",\n inputs: { user_id: userId, issuer_auth_public_key: null },\n });\n}\n\n/**\n * Returns all idOSCredentials\n */\nexport async function getAllCredentials(kwilClient: KwilActionClient): Promise<idOSCredential[]> {\n return kwilClient.call<idOSCredential[]>({\n name: \"get_credentials\",\n inputs: {},\n });\n}\n\nexport interface CreateCredentialByDelegatedWriteGrantParams {\n issuer_auth_public_key: string;\n original_encryptor_public_key: string;\n original_credential_id: string;\n original_content: string;\n original_public_notes: string;\n original_public_notes_signature: string;\n original_broader_signature: string;\n copy_encryptor_public_key: string;\n copy_credential_id: string;\n copy_content: string;\n copy_public_notes_signature: string;\n copy_broader_signature: string;\n content_hash: string;\n dwg_owner: string;\n dwg_grantee: string;\n dwg_issuer_public_key: string;\n dwg_id: string;\n dwg_access_grant_timelock: string;\n dwg_not_before: string;\n dwg_not_after: string;\n dwg_signature: string;\n}\n\n/**\n * Creates a new credential from a delegated write grant.\n */\nexport async function createCredentialByDelegatedWriteGrant(\n kwilClient: KwilActionClient,\n params: CreateCredentialByDelegatedWriteGrantParams,\n): Promise<CreateCredentialByDelegatedWriteGrantParams> {\n await kwilClient.execute({\n name: \"create_credentials_by_dwg\",\n description: \"Create a new credential in your idOS profile\",\n inputs: params,\n });\n\n return params;\n}\n\n/**\n * Removes an idOSCredential by the given `id`.\n */\nexport async function removeCredential(\n kwilClient: KwilActionClient,\n id: string,\n): Promise<{ id: string }> {\n await kwilClient.execute({\n name: \"remove_credential\",\n description: \"Remove a credential from your idOS profile\",\n inputs: { id },\n });\n\n return { id };\n}\n\n/**\n * Returns an idOSCredential by the given `id`.\n */\nexport async function getCredentialById(\n kwilClient: KwilActionClient,\n id: string,\n): Promise<idOSCredential | undefined> {\n const response = await kwilClient.call<idOSCredential[]>({\n name: \"get_credential_owned\",\n inputs: { id },\n });\n\n return response.find((r) => r.id === id);\n}\n\nexport type ShareableCredential = {\n id: string;\n original_credential_id: string;\n public_notes: string;\n public_notes_signature: string;\n broader_signature: string;\n content: string;\n encryptor_public_key: string;\n issuer_auth_public_key: string;\n grantee_wallet_identifier: string;\n locked_until: number;\n};\n/**\n * Shares an idOSCredential to the given `userId`.\n */\nexport async function shareCredential(\n kwilClient: KwilActionClient,\n credential: ShareableCredential,\n): Promise<ShareableCredential> {\n await kwilClient.execute({\n name: \"share_credential\",\n description: \"Share a credential with another user on idOS\",\n inputs: credential,\n });\n\n return credential;\n}\n\nexport type CreateCredentialCopyParams = {\n id: string;\n original_credential_id: string;\n public_notes: string;\n public_notes_signature: string;\n broader_signature: string;\n content: string;\n encryptor_public_key: string;\n issuer_auth_public_key: string;\n};\n\n/**\n * Creates a new idOSCredential as a copy of the given `originalCredentialId` without creating an Access Grant\n * Used only for passporting flows\n */\nexport async function createCredentialCopy(\n kwilClient: KwilActionClient,\n params: CreateCredentialCopyParams,\n): Promise<CreateCredentialCopyParams> {\n await kwilClient.execute({\n name: \"create_credential_copy\",\n description: \"Share a credential with another user on idOS\",\n inputs: params,\n });\n\n return params;\n}\n","import type { KwilActionClient } from \"../kwil-infra\";\nimport type { DelegatedWriteGrant, idOSGrant } from \"../types\";\n\n/**\n * Returns the amount of Access Grants that have been granted for the given `signer`.\n */\nexport async function getGrantsCount(\n kwilClient: KwilActionClient,\n params: { user_id: string | null } = { user_id: null },\n): Promise<number> {\n const [{ count }] = await kwilClient.call<[{ count: number }]>({\n name: \"get_access_grants_granted_count\",\n inputs: params,\n });\n return count;\n}\n\n/**\n * Returns the Access Grants for the given `signer` in a paginated manner.\n */\n\nexport interface GetGrantsParams {\n page?: number;\n size?: number;\n user_id?: string | null;\n}\n\nexport const GET_GRANTS_DEFAULT_RECORDS_PER_PAGE = 10;\n\nexport async function getGrants(\n kwilClient: KwilActionClient,\n params: GetGrantsParams = { page: 1, size: GET_GRANTS_DEFAULT_RECORDS_PER_PAGE, user_id: null },\n): Promise<idOSGrant[]> {\n //@todo: add pagination values to the response\n return kwilClient.call<idOSGrant[]>({\n name: \"get_access_grants_granted\",\n inputs: {\n page: params.page ?? 1,\n size: params.size ?? 10,\n user_id: params.user_id ?? null,\n },\n });\n}\nexport interface CreateAccessGrantByDAGParams {\n dag_data_id: string;\n dag_owner_wallet_identifier: string;\n dag_grantee_wallet_identifier: string;\n dag_signature: string;\n dag_locked_until: number;\n dag_content_hash: string;\n}\n\n/**\n * Creates a new Access Grant from the given Delegated Access Grant payload.\n */\nexport async function createAccessGrantByDag(\n kwilClient: KwilActionClient,\n params: CreateAccessGrantByDAGParams,\n): Promise<CreateAccessGrantByDAGParams> {\n await kwilClient.execute({\n name: \"create_ag_by_dag_for_copy\",\n description: \"Create an Access Grant in idOS\",\n inputs: params,\n });\n\n return params;\n}\n\n/**\n * Revokes an Access Grant for the given `id`.\n */\nexport async function revokeAccessGrant(\n kwilClient: KwilActionClient,\n id: string,\n): Promise<{ id: string }> {\n await kwilClient.execute({\n name: \"revoke_access_grant\",\n description: \"Revoke an Access Grant from idOS\",\n inputs: { id },\n });\n\n return { id };\n}\n\n/**\n * Returns all the Access Grants that have been granted by the given `signer`.\n */\nexport async function getAccessGrantsOwned(kwilClient: KwilActionClient): Promise<idOSGrant[]> {\n return kwilClient.call<idOSGrant[]>({\n name: \"get_access_grants_owned\",\n inputs: {},\n });\n}\n\nexport interface idOSDAGSignatureParams {\n dag_owner_wallet_identifier: string;\n dag_grantee_wallet_identifier: string;\n dag_data_id: string;\n dag_locked_until: number;\n dag_content_hash: string;\n}\n\n/**\n * Request a signature for a Delegated Access Grant\n */\nexport async function requestDAGMessage(\n kwilClient: KwilActionClient,\n params: idOSDAGSignatureParams,\n): Promise<string> {\n const [{ message }] = await kwilClient.call<[{ message: string }]>({\n name: \"dag_message\",\n inputs: params,\n });\n\n return message;\n}\n\n/**\n * Request a signature for a delegated write grant.\n */\nexport async function requestDWGMessage(\n kwilClient: KwilActionClient,\n params: DelegatedWriteGrant,\n): Promise<string> {\n const [{ message }] = await kwilClient.call<[{ message: string }]>({\n name: \"dwg_message\",\n inputs: params,\n });\n\n return message;\n}\n","import type { KwilActionClient } from \"../kwil-infra\";\nimport type { idOSUser } from \"../types\";\n\n/**\n * Checks if the user has a profile in the idOS associated with its wallet address.\n */\nexport async function hasProfile(kwilClient: KwilActionClient, address: string): Promise<boolean> {\n const [{ has_profile }] = await kwilClient.call<[{ has_profile: boolean }]>(\n {\n name: \"has_profile\",\n inputs: {\n address,\n },\n },\n undefined, // Don't use the signer to avoid causing an unnecessary signature.\n );\n\n return has_profile;\n}\n\nexport interface CreateUserReqParams {\n id: string;\n recipient_encryption_public_key: string;\n}\n/**\n * Creates a user profile in the idOS.\n */\nexport async function createUser(\n kwilClient: KwilActionClient,\n params: CreateUserReqParams,\n): Promise<CreateUserReqParams> {\n await kwilClient.execute({\n name: \"add_user_as_inserter\",\n description: \"Create a user profile in idOS\",\n inputs: params,\n });\n\n return params;\n}\n\n/**\n * Get the profile of the current user.\n */\nexport async function getUserProfile(kwilClient: KwilActionClient): Promise<idOSUser> {\n const [user] = await kwilClient.call<[idOSUser]>({\n name: \"get_user\",\n inputs: {},\n });\n\n return user;\n}\n","import type { KwilActionClient } from \"../kwil-infra\";\nimport type { idOSWallet } from \"../types\";\n\nexport interface UpsertWalletParams {\n id: string;\n user_id: string;\n address: string;\n wallet_type: string;\n message: string;\n public_key: string;\n signature: string;\n}\n\n/**\n * Upserts a wallet as an `inserter`.\n */\nexport async function upsertWalletAsInserter(\n kwilClient: KwilActionClient,\n params: UpsertWalletParams,\n): Promise<UpsertWalletParams> {\n await kwilClient.execute({\n name: \"upsert_wallet_as_inserter\",\n description: \"Add a wallet to idOS\",\n inputs: params,\n });\n\n return params;\n}\n\nexport interface AddWalletParams {\n id: string;\n address: string;\n public_key: string | null;\n message: string;\n signature: string;\n}\n\nexport async function addWallet(\n kwilClient: KwilActionClient,\n params: AddWalletParams,\n): Promise<AddWalletParams> {\n await kwilClient.execute({\n name: \"add_wallet\",\n description: \"Add a wallet to idOS\",\n inputs: params,\n });\n\n return params;\n}\n\nexport async function addWallets(\n kwilClient: KwilActionClient,\n params: AddWalletParams[],\n): Promise<AddWalletParams[]> {\n await Promise.all(\n params.map((param) =>\n kwilClient.execute({\n name: \"add_wallet\",\n description: \"Add a wallet to idOS\",\n inputs: param,\n }),\n ),\n );\n\n return params;\n}\n\nexport async function getWallets(kwilClient: KwilActionClient): Promise<idOSWallet[]> {\n return kwilClient.call<idOSWallet[]>({\n name: \"get_wallets\",\n inputs: {},\n });\n}\n\nexport async function removeWallet(\n kwilClient: KwilActionClient,\n id: string,\n): Promise<{ id: string }> {\n await kwilClient.execute({\n name: \"remove_wallet\",\n description: \"Remove a wallet from idOS\",\n inputs: { id },\n });\n\n return { id };\n}\n\nexport async function removeWallets(\n kwilClient: KwilActionClient,\n ids: string[],\n): Promise<string[]> {\n await Promise.all(\n ids.map((id) =>\n kwilClient.execute({\n name: \"remove_wallet\",\n description: \"Remove a wallet from idOS\",\n inputs: { id },\n }),\n ),\n );\n\n return ids;\n}\n","\"use strict\";\n/*\nMIT License\nCopyright (c) 2020 Egor Nepomnyaschih\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.base64ToBytes = exports.bytesToBase64 = void 0;\n/*\n// This constant can also be computed with the following algorithm:\nconst base64abc = [],\n A = \"A\".charCodeAt(0),\n a = \"a\".charCodeAt(0),\n n = \"0\".charCodeAt(0);\nfor (let i = 0; i < 26; ++i) {\n base64abc.push(String.fromCharCode(A + i));\n}\nfor (let i = 0; i < 26; ++i) {\n base64abc.push(String.fromCharCode(a + i));\n}\nfor (let i = 0; i < 10; ++i) {\n base64abc.push(String.fromCharCode(n + i));\n}\nbase64abc.push(\"+\");\nbase64abc.push(\"/\");\n*/\nconst base64abc = [\n \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\",\n \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\",\n \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\",\n \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\",\n \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"+\", \"/\"\n];\n/*\n// This constant can also be computed with the following algorithm:\nconst l = 256, base64codes = new Uint8Array(l);\nfor (let i = 0; i < l; ++i) {\n base64codes[i] = 255; // invalid character\n}\nbase64abc.forEach((char, index) => {\n base64codes[char.charCodeAt(0)] = index;\n});\nbase64codes[\"=\".charCodeAt(0)] = 0; // ignored anyway, so we just need to prevent an error\n*/\nconst base64codes = [\n 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,\n 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,\n 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 62, 255, 255, 255, 63,\n 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 255, 255, 255, 0, 255, 255,\n 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,\n 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 255, 255, 255, 255, 255,\n 255, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,\n 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51\n];\nfunction getBase64Code(charCode) {\n if (charCode >= base64codes.length) {\n throw new Error(\"Unable to parse base64 string.\");\n }\n const code = base64codes[charCode];\n if (code === 255) {\n throw new Error(\"Unable to parse base64 string.\");\n }\n return code;\n}\nfunction bytesToBase64(bytes) {\n let result = '', i, l = bytes.length;\n for (i = 2; i < l; i += 3) {\n result += base64abc[bytes[i - 2] >> 2];\n result += base64abc[((bytes[i - 2] & 0x03) << 4) | (bytes[i - 1] >> 4)];\n result += base64abc[((bytes[i - 1] & 0x0F) << 2) | (bytes[i] >> 6)];\n result += base64abc[bytes[i] & 0x3F];\n }\n if (i === l + 1) { // 1 octet yet to write\n result += base64abc[bytes[i - 2] >> 2];\n result += base64abc[(bytes[i - 2] & 0x03) << 4];\n result += \"==\";\n }\n if (i === l) { // 2 octets yet to write\n result += base64abc[bytes[i - 2] >> 2];\n result += base64abc[((bytes[i - 2] & 0x03) << 4) | (bytes[i - 1] >> 4)];\n result += base64abc[(bytes[i - 1] & 0x0F) << 2];\n result += \"=\";\n }\n return result;\n}\nexports.bytesToBase64 = bytesToBase64;\nfunction base64ToBytes(str) {\n if (str.length % 4 !== 0) {\n throw new Error(\"Unable to parse base64 string.\");\n }\n const index = str.indexOf(\"=\");\n if (index !== -1 && index < str.length - 2) {\n throw new Error(\"Unable to parse base64 string.\");\n }\n let missingOctets = str.endsWith(\"==\") ? 2 : str.endsWith(\"=\") ? 1 : 0, n = str.length, result = new Uint8Array(3 * (n / 4)), buffer;\n for (let i = 0, j = 0; i < n; i += 4, j += 3) {\n buffer =\n getBase64Code(str.charCodeAt(i)) << 18 |\n getBase64Code(str.charCodeAt(i + 1)) << 12 |\n getBase64Code(str.charCodeAt(i + 2)) << 6 |\n getBase64Code(str.charCodeAt(i + 3));\n result[j] = buffer >> 16;\n result[j + 1] = (buffer >> 8) & 0xFF;\n result[j + 2] = buffer & 0xFF;\n }\n return result.subarray(0, result.length - missingOctets);\n}\nexports.base64ToBytes = base64ToBytes;\n//# sourceMappingURL=base64.js.map","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function} [filter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter) {\n var props;\n var i;\n var prop;\n var merged = {};\n\n destObj = destObj || {};\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (!merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object\n * @param {*} [thing]\n * @returns {Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n var i = thing.length;\n if (isUndefined(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n","'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Convert a data object to FormData\n * @param {Object} obj\n * @param {?Object} [formData]\n * @returns {Object}\n **/\n\nfunction toFormData(obj, formData) {\n // eslint-disable-next-line no-param-reassign\n formData = formData || new FormData();\n\n var stack = [];\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n function build(data, parentKey) {\n if (utils.isPlainObject(data) || utils.isArray(data)) {\n if (stack.indexOf(data) !== -1) {\n throw Error('Circular reference detected in ' + parentKey);\n }\n\n stack.push(data);\n\n utils.forEach(data, function each(value, key) {\n if (utils.isUndefined(value)) return;\n var fullKey = parentKey ? parentKey + '.' + key : key;\n var arr;\n\n if (value && !parentKey && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (utils.endsWith(key, '[]') && (arr = utils.toArray(value))) {\n // eslint-disable-next-line func-names\n arr.forEach(function(el) {\n !utils.isUndefined(el) && formData.append(fullKey, convertValue(el));\n });\n return;\n }\n }\n\n build(value, fullKey);\n });\n\n stack.pop();\n } else {\n formData.append(parentKey, convertValue(data));\n }\n }\n\n build(obj);\n\n return formData;\n}\n\nmodule.exports = toFormData;\n","'use strict';\n\nvar AxiosError = require('./AxiosError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar AxiosError = require('../core/AxiosError');\nvar utils = require('../utils');\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction CanceledError(message) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nmodule.exports = CanceledError;\n","'use strict';\n\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\nvar parseProtocol = require('../helpers/parseProtocol');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n var protocol = parseProtocol(fullPath);\n\n if (protocol && [ 'http', 'https', 'file' ].indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData);\n });\n};\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '')\n\t\t\t.trim()\n\t\t\t.replace(' ', ',')\n\t\t\t.split(',')\n\t\t\t.filter(Boolean);\n\n\t\tfor (const ns of split) {\n\t\t\tif (ns[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(ns.slice(1));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(ns);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the given string matches a namespace template, honoring\n\t * asterisks as wildcards.\n\t *\n\t * @param {String} search\n\t * @param {String} template\n\t * @return {Boolean}\n\t */\n\tfunction matchesTemplate(search, template) {\n\t\tlet searchIndex = 0;\n\t\tlet templateIndex = 0;\n\t\tlet starIndex = -1;\n\t\tlet matchIndex = 0;\n\n\t\twhile (searchIndex < search.length) {\n\t\t\tif (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {\n\t\t\t\t// Match character or proceed with wildcard\n\t\t\t\tif (template[templateIndex] === '*') {\n\t\t\t\t\tstarIndex = templateIndex;\n\t\t\t\t\tmatchIndex = searchIndex;\n\t\t\t\t\ttemplateIndex++; // Skip the '*'\n\t\t\t\t} else {\n\t\t\t\t\tsearchIndex++;\n\t\t\t\t\ttemplateIndex++;\n\t\t\t\t}\n\t\t\t} else if (starIndex !== -1) { // eslint-disable-line no-negated-condition\n\t\t\t\t// Backtrack to the last '*' and try to match more characters\n\t\t\t\ttemplateIndex = starIndex + 1;\n\t\t\t\tmatchIndex++;\n\t\t\t\tsearchIndex = matchIndex;\n\t\t\t} else {\n\t\t\t\treturn false; // No match\n\t\t\t}\n\t\t}\n\n\t\t// Handle trailing '*' in template\n\t\twhile (templateIndex < template.length && template[templateIndex] === '*') {\n\t\t\ttemplateIndex++;\n\t\t}\n\n\t\treturn templateIndex === template.length;\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names,\n\t\t\t...createDebug.skips.map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tfor (const skip of createDebug.skips) {\n\t\t\tif (matchesTemplate(name, skip)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (const ns of createDebug.names) {\n\t\t\tif (matchesTemplate(name, ns)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\t// eslint-disable-next-line no-return-assign\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","'use strict';\n\nmodule.exports = (flag, argv = process.argv) => {\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst position = argv.indexOf(prefix + flag);\n\tconst terminatorPosition = argv.indexOf('--');\n\treturn position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);\n};\n","'use strict';\nconst os = require('os');\nconst tty = require('tty');\nconst hasFlag = require('has-flag');\n\nconst {env} = process;\n\nlet forceColor;\nif (hasFlag('no-color') ||\n\thasFlag('no-colors') ||\n\thasFlag('color=false') ||\n\thasFlag('color=never')) {\n\tforceColor = 0;\n} else if (hasFlag('color') ||\n\thasFlag('colors') ||\n\thasFlag('color=true') ||\n\thasFlag('color=always')) {\n\tforceColor = 1;\n}\n\nif ('FORCE_COLOR' in env) {\n\tif (env.FORCE_COLOR === 'true') {\n\t\tforceColor = 1;\n\t} else if (env.FORCE_COLOR === 'false') {\n\t\tforceColor = 0;\n\t} else {\n\t\tforceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);\n\t}\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n}\n\nfunction supportsColor(haveStream, streamIsTTY) {\n\tif (forceColor === 0) {\n\t\treturn 0;\n\t}\n\n\tif (hasFlag('color=16m') ||\n\t\thasFlag('color=full') ||\n\t\thasFlag('color=truecolor')) {\n\t\treturn 3;\n\t}\n\n\tif (hasFlag('color=256')) {\n\t\treturn 2;\n\t}\n\n\tif (haveStream && !streamIsTTY && forceColor === undefined) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor || 0;\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Windows 10 build 10586 is the first Windows release that supports 256 colors.\n\t\t// Windows 10 build 14931 is the first release that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\treturn min;\n}\n\nfunction getSupportLevel(stream) {\n\tconst level = supportsColor(stream, stream && stream.isTTY);\n\treturn translateLevel(level);\n}\n\nmodule.exports = {\n\tsupportsColor: getSupportLevel,\n\tstdout: translateLevel(supportsColor(true, tty.isatty(1))),\n\tstderr: translateLevel(supportsColor(true, tty.isatty(2)))\n};\n","/**\n * Module dependencies.\n */\n\nconst tty = require('tty');\nconst util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n */\n\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.destroy = util.deprecate(\n\t() => {},\n\t'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'\n);\n\n/**\n * Colors.\n */\n\nexports.colors = [6, 2, 3, 4, 5, 1];\n\ntry {\n\t// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)\n\t// eslint-disable-next-line import/no-extraneous-dependencies\n\tconst supportsColor = require('supports-color');\n\n\tif (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {\n\t\texports.colors = [\n\t\t\t20,\n\t\t\t21,\n\t\t\t26,\n\t\t\t27,\n\t\t\t32,\n\t\t\t33,\n\t\t\t38,\n\t\t\t39,\n\t\t\t40,\n\t\t\t41,\n\t\t\t42,\n\t\t\t43,\n\t\t\t44,\n\t\t\t45,\n\t\t\t56,\n\t\t\t57,\n\t\t\t62,\n\t\t\t63,\n\t\t\t68,\n\t\t\t69,\n\t\t\t74,\n\t\t\t75,\n\t\t\t76,\n\t\t\t77,\n\t\t\t78,\n\t\t\t79,\n\t\t\t80,\n\t\t\t81,\n\t\t\t92,\n\t\t\t93,\n\t\t\t98,\n\t\t\t99,\n\t\t\t112,\n\t\t\t113,\n\t\t\t128,\n\t\t\t129,\n\t\t\t134,\n\t\t\t135,\n\t\t\t148,\n\t\t\t149,\n\t\t\t160,\n\t\t\t161,\n\t\t\t162,\n\t\t\t163,\n\t\t\t164,\n\t\t\t165,\n\t\t\t166,\n\t\t\t167,\n\t\t\t168,\n\t\t\t169,\n\t\t\t170,\n\t\t\t171,\n\t\t\t172,\n\t\t\t173,\n\t\t\t178,\n\t\t\t179,\n\t\t\t184,\n\t\t\t185,\n\t\t\t196,\n\t\t\t197,\n\t\t\t198,\n\t\t\t199,\n\t\t\t200,\n\t\t\t201,\n\t\t\t202,\n\t\t\t203,\n\t\t\t204,\n\t\t\t205,\n\t\t\t206,\n\t\t\t207,\n\t\t\t208,\n\t\t\t209,\n\t\t\t214,\n\t\t\t215,\n\t\t\t220,\n\t\t\t221\n\t\t];\n\t}\n} catch (error) {\n\t// Swallow - we only care if `supports-color` is available; it doesn't have to be.\n}\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(key => {\n\treturn /^debug_/i.test(key);\n}).reduce((obj, key) => {\n\t// Camel-case\n\tconst prop = key\n\t\t.substring(6)\n\t\t.toLowerCase()\n\t\t.replace(/_([a-z])/g, (_, k) => {\n\t\t\treturn k.toUpperCase();\n\t\t});\n\n\t// Coerce string value into JS value\n\tlet val = process.env[key];\n\tif (/^(yes|on|true|enabled)$/i.test(val)) {\n\t\tval = true;\n\t} else if (/^(no|off|false|disabled)$/i.test(val)) {\n\t\tval = false;\n\t} else if (val === 'null') {\n\t\tval = null;\n\t} else {\n\t\tval = Number(val);\n\t}\n\n\tobj[prop] = val;\n\treturn obj;\n}, {});\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n\treturn 'colors' in exports.inspectOpts ?\n\t\tBoolean(exports.inspectOpts.colors) :\n\t\ttty.isatty(process.stderr.fd);\n}\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\tconst {namespace: name, useColors} = this;\n\n\tif (useColors) {\n\t\tconst c = this.color;\n\t\tconst colorCode = '\\u001B[3' + (c < 8 ? c : '8;5;' + c);\n\t\tconst prefix = ` ${colorCode};1m${name} \\u001B[0m`;\n\n\t\targs[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n\t\targs.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\\u001B[0m');\n\t} else {\n\t\targs[0] = getDate() + name + ' ' + args[0];\n\t}\n}\n\nfunction getDate() {\n\tif (exports.inspectOpts.hideDate) {\n\t\treturn '';\n\t}\n\treturn new Date().toISOString() + ' ';\n}\n\n/**\n * Invokes `util.formatWithOptions()` with the specified arguments and writes to stderr.\n */\n\nfunction log(...args) {\n\treturn process.stderr.write(util.formatWithOptions(exports.inspectOpts, ...args) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\tif (namespaces) {\n\t\tprocess.env.DEBUG = namespaces;\n\t} else {\n\t\t// If you set a process.env field to null or undefined, it gets cast to the\n\t\t// string 'null' or 'undefined'. Just delete instead.\n\t\tdelete process.env.DEBUG;\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n\treturn process.env.DEBUG;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init(debug) {\n\tdebug.inspectOpts = {};\n\n\tconst keys = Object.keys(exports.inspectOpts);\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tdebug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nformatters.o = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts)\n\t\t.split('\\n')\n\t\t.map(str => str.trim())\n\t\t.join(' ');\n};\n\n/**\n * Map %O to `util.inspect()`, allowing multiple lines if needed.\n */\n\nformatters.O = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts);\n};\n","/**\n * Detect Electron renderer / nwjs process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {\n\tmodule.exports = require('./browser.js');\n} else {\n\tmodule.exports = require('./node.js');\n}\n","var debug;\n\nmodule.exports = function () {\n if (!debug) {\n try {\n /* eslint global-require: off */\n debug = require(\"debug\")(\"follow-redirects\");\n }\n catch (error) { /* */ }\n if (typeof debug !== \"function\") {\n debug = function () { /* */ };\n }\n }\n debug.apply(null, arguments);\n};\n","var url = require(\"url\");\nvar URL = url.URL;\nvar http = require(\"http\");\nvar https = require(\"https\");\nvar Writable = require(\"stream\").Writable;\nvar assert = require(\"assert\");\nvar debug = require(\"./debug\");\n\n// Preventive platform detection\n// istanbul ignore next\n(function detectUnsupportedEnvironment() {\n var looksLikeNode = typeof process !== \"undefined\";\n var looksLikeBrowser = typeof window !== \"undefined\" && typeof document !== \"undefined\";\n var looksLikeV8 = isFunction(Error.captureStackTrace);\n if (!looksLikeNode && (looksLikeBrowser || !looksLikeV8)) {\n console.warn(\"The follow-redirects package should be excluded from browser builds.\");\n }\n}());\n\n// Whether to use the native URL object or the legacy url module\nvar useNativeURL = false;\ntry {\n assert(new URL(\"\"));\n}\ncatch (error) {\n useNativeURL = error.code === \"ERR_INVALID_URL\";\n}\n\n// URL fields to preserve in copy operations\nvar preservedUrlFields = [\n \"auth\",\n \"host\",\n \"hostname\",\n \"href\",\n \"path\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"query\",\n \"search\",\n \"hash\",\n];\n\n// Create handlers that pass events from native requests\nvar events = [\"abort\", \"aborted\", \"connect\", \"error\", \"socket\", \"timeout\"];\nvar eventHandlers = Object.create(null);\nevents.forEach(function (event) {\n eventHandlers[event] = function (arg1, arg2, arg3) {\n this._redirectable.emit(event, arg1, arg2, arg3);\n };\n});\n\n// Error types with codes\nvar InvalidUrlError = createErrorType(\n \"ERR_INVALID_URL\",\n \"Invalid URL\",\n TypeError\n);\nvar RedirectionError = createErrorType(\n \"ERR_FR_REDIRECTION_FAILURE\",\n \"Redirected request failed\"\n);\nvar TooManyRedirectsError = createErrorType(\n \"ERR_FR_TOO_MANY_REDIRECTS\",\n \"Maximum number of redirects exceeded\",\n RedirectionError\n);\nvar MaxBodyLengthExceededError = createErrorType(\n \"ERR_FR_MAX_BODY_LENGTH_EXCEEDED\",\n \"Request body larger than maxBodyLength limit\"\n);\nvar WriteAfterEndError = createErrorType(\n \"ERR_STREAM_WRITE_AFTER_END\",\n \"write after end\"\n);\n\n// istanbul ignore next\nvar destroy = Writable.prototype.destroy || noop;\n\n// An HTTP(S) request that can be redirected\nfunction RedirectableRequest(options, responseCallback) {\n // Initialize the request\n Writable.call(this);\n this._sanitizeOptions(options);\n this._options = options;\n this._ended = false;\n this._ending = false;\n this._redirectCount = 0;\n this._redirects = [];\n this._requestBodyLength = 0;\n this._requestBodyBuffers = [];\n\n // Attach a callback if passed\n if (responseCallback) {\n this.on(\"response\", responseCallback);\n }\n\n // React to responses of native requests\n var self = this;\n this._onNativeResponse = function (response) {\n try {\n self._processResponse(response);\n }\n catch (cause) {\n self.emit(\"error\", cause instanceof RedirectionError ?\n cause : new RedirectionError({ cause: cause }));\n }\n };\n\n // Perform the first request\n this._performRequest();\n}\nRedirectableRequest.prototype = Object.create(Writable.prototype);\n\nRedirectableRequest.prototype.abort = function () {\n destroyRequest(this._currentRequest);\n this._currentRequest.abort();\n this.emit(\"abort\");\n};\n\nRedirectableRequest.prototype.destroy = function (error) {\n destroyRequest(this._currentRequest, error);\n destroy.call(this, error);\n return this;\n};\n\n// Writes buffered data to the current native request\nRedirectableRequest.prototype.write = function (data, encoding, callback) {\n // Writing is not allowed if end has been called\n if (this._ending) {\n throw new WriteAfterEndError();\n }\n\n // Validate input and shift parameters if necessary\n if (!isString(data) && !isBuffer(data)) {\n throw new TypeError(\"data should be a string, Buffer or Uint8Array\");\n }\n if (isFunction(encoding)) {\n callback = encoding;\n encoding = null;\n }\n\n // Ignore empty buffers, since writing them doesn't invoke the callback\n // https://github.com/nodejs/node/issues/22066\n if (data.length === 0) {\n if (callback) {\n callback();\n }\n return;\n }\n // Only write when we don't exceed the maximum body length\n if (this._requestBodyLength + data.length <= this._options.maxBodyLength) {\n this._requestBodyLength += data.length;\n this._requestBodyBuffers.push({ data: data, encoding: encoding });\n this._currentRequest.write(data, encoding, callback);\n }\n // Error when we exceed the maximum body length\n else {\n this.emit(\"error\", new MaxBodyLengthExceededError());\n this.abort();\n }\n};\n\n// Ends the current native request\nRedirectableRequest.prototype.end = function (data, encoding, callback) {\n // Shift parameters if necessary\n if (isFunction(data)) {\n callback = data;\n data = encoding = null;\n }\n else if (isFunction(encoding)) {\n callback = encoding;\n encoding = null;\n }\n\n // Write data if needed and end\n if (!data) {\n this._ended = this._ending = true;\n this._currentRequest.end(null, null, callback);\n }\n else {\n var self = this;\n var currentRequest = this._currentRequest;\n this.write(data, encoding, function () {\n self._ended = true;\n currentRequest.end(null, null, callback);\n });\n this._ending = true;\n }\n};\n\n// Sets a header value on the current native request\nRedirectableRequest.prototype.setHeader = function (name, value) {\n this._options.headers[name] = value;\n this._currentRequest.setHeader(name, value);\n};\n\n// Clears a header value on the current native request\nRedirectableRequest.prototype.removeHeader = function (name) {\n delete this._options.headers[name];\n this._currentRequest.removeHeader(name);\n};\n\n// Global timeout for all underlying requests\nRedirectableRequest.prototype.setTimeout = function (msecs, callback) {\n var self = this;\n\n // Destroys the socket on timeout\n function destroyOnTimeout(socket) {\n socket.setTimeout(msecs);\n socket.removeListener(\"timeout\", socket.destroy);\n socket.addListener(\"timeout\", socket.destroy);\n }\n\n // Sets up a timer to trigger a timeout event\n function startTimer(socket) {\n if (self._timeout) {\n clearTimeout(self._timeout);\n }\n self._timeout = setTimeout(function () {\n self.emit(\"timeout\");\n clearTimer();\n }, msecs);\n destroyOnTimeout(socket);\n }\n\n // Stops a timeout from triggering\n function clearTimer() {\n // Clear the timeout\n if (self._timeout) {\n clearTimeout(self._timeout);\n self._timeout = null;\n }\n\n // Clean up all attached listeners\n self.removeListener(\"abort\", clearTimer);\n self.removeListener(\"error\", clearTimer);\n self.removeListener(\"response\", clearTimer);\n self.removeListener(\"close\", clearTimer);\n if (callback) {\n self.removeListener(\"timeout\", callback);\n }\n if (!self.socket) {\n self._currentRequest.removeListener(\"socket\", startTimer);\n }\n }\n\n // Attach callback if passed\n if (callback) {\n this.on(\"timeout\", callback);\n }\n\n // Start the timer if or when the socket is opened\n if (this.socket) {\n startTimer(this.socket);\n }\n else {\n this._currentRequest.once(\"socket\", startTimer);\n }\n\n // Clean up on events\n this.on(\"socket\", destroyOnTimeout);\n this.on(\"abort\", clearTimer);\n this.on(\"error\", clearTimer);\n this.on(\"response\", clearTimer);\n this.on(\"close\", clearTimer);\n\n return this;\n};\n\n// Proxy all other public ClientRequest methods\n[\n \"flushHeaders\", \"getHeader\",\n \"setNoDelay\", \"setSocketKeepAlive\",\n].forEach(function (method) {\n RedirectableRequest.prototype[method] = function (a, b) {\n return this._currentRequest[method](a, b);\n };\n});\n\n// Proxy all public ClientRequest properties\n[\"aborted\", \"connection\", \"socket\"].forEach(function (property) {\n Object.defineProperty(RedirectableRequest.prototype, property, {\n get: function () { return this._currentRequest[property]; },\n });\n});\n\nRedirectableRequest.prototype._sanitizeOptions = function (options) {\n // Ensure headers are always present\n if (!options.headers) {\n options.headers = {};\n }\n\n // Since http.request treats host as an alias of hostname,\n // but the url module interprets host as hostname plus port,\n // eliminate the host property to avoid confusion.\n if (options.host) {\n // Use hostname if set, because it has precedence\n if (!options.hostname) {\n options.hostname = options.host;\n }\n delete options.host;\n }\n\n // Complete the URL object when necessary\n if (!options.pathname && options.path) {\n var searchPos = options.path.indexOf(\"?\");\n if (searchPos < 0) {\n options.pathname = options.path;\n }\n else {\n options.pathname = options.path.substring(0, searchPos);\n options.search = options.path.substring(searchPos);\n }\n }\n};\n\n\n// Executes the next native request (initial or redirect)\nRedirectableRequest.prototype._performRequest = function () {\n // Load the native protocol\n var protocol = this._options.protocol;\n var nativeProtocol = this._options.nativeProtocols[protocol];\n if (!nativeProtocol) {\n throw new TypeError(\"Unsupported protocol \" + protocol);\n }\n\n // If specified, use the agent corresponding to the protocol\n // (HTTP and HTTPS use different types of agents)\n if (this._options.agents) {\n var scheme = protocol.slice(0, -1);\n this._options.agent = this._options.agents[scheme];\n }\n\n // Create the native request and set up its event handlers\n var request = this._currentRequest =\n nativeProtocol.request(this._options, this._onNativeResponse);\n request._redirectable = this;\n for (var event of events) {\n request.on(event, eventHandlers[event]);\n }\n\n // RFC7230§5.3.1: When making a request directly to an origin server, […]\n // a client MUST send only the absolute path […] as the request-target.\n this._currentUrl = /^\\//.test(this._options.path) ?\n url.format(this._options) :\n // When making a request to a proxy, […]\n // a client MUST send the target URI in absolute-form […].\n this._options.path;\n\n // End a redirected request\n // (The first request must be ended explicitly with RedirectableRequest#end)\n if (this._isRedirect) {\n // Write the request entity and end\n var i = 0;\n var self = this;\n var buffers = this._requestBodyBuffers;\n (function writeNext(error) {\n // Only write if this request has not been redirected yet\n // istanbul ignore else\n if (request === self._currentRequest) {\n // Report any write errors\n // istanbul ignore if\n if (error) {\n self.emit(\"error\", error);\n }\n // Write the next buffer if there are still left\n else if (i < buffers.length) {\n var buffer = buffers[i++];\n // istanbul ignore else\n if (!request.finished) {\n request.write(buffer.data, buffer.encoding, writeNext);\n }\n }\n // End the request if `end` has been called on us\n else if (self._ended) {\n request.end();\n }\n }\n }());\n }\n};\n\n// Processes a response from the current native request\nRedirectableRequest.prototype._processResponse = function (response) {\n // Store the redirected response\n var statusCode = response.statusCode;\n if (this._options.trackRedirects) {\n this._redirects.push({\n url: this._currentUrl,\n headers: response.headers,\n statusCode: statusCode,\n });\n }\n\n // RFC7231§6.4: The 3xx (Redirection) class of status code indicates\n // that further action needs to be taken by the user agent in order to\n // fulfill the request. If a Location header field is provided,\n // the user agent MAY automatically redirect its request to the URI\n // referenced by the Location field value,\n // even if the specific status code is not understood.\n\n // If the response is not a redirect; return it as-is\n var location = response.headers.location;\n if (!location || this._options.followRedirects === false ||\n statusCode < 300 || statusCode >= 400) {\n response.responseUrl = this._currentUrl;\n response.redirects = this._redirects;\n this.emit(\"response\", response);\n\n // Clean up\n this._requestBodyBuffers = [];\n return;\n }\n\n // The response is a redirect, so abort the current request\n destroyRequest(this._currentRequest);\n // Discard the remainder of the response to avoid waiting for data\n response.destroy();\n\n // RFC7231§6.4: A client SHOULD detect and intervene\n // in cyclical redirections (i.e., \"infinite\" redirection loops).\n if (++this._redirectCount > this._options.maxRedirects) {\n throw new TooManyRedirectsError();\n }\n\n // Store the request headers if applicable\n var requestHeaders;\n var beforeRedirect = this._options.beforeRedirect;\n if (beforeRedirect) {\n requestHeaders = Object.assign({\n // The Host header was set by nativeProtocol.request\n Host: response.req.getHeader(\"host\"),\n }, this._options.headers);\n }\n\n // RFC7231§6.4: Automatic redirection needs to done with\n // care for methods not known to be safe, […]\n // RFC7231§6.4.2–3: For historical reasons, a user agent MAY change\n // the request method from POST to GET for the subsequent request.\n var method = this._options.method;\n if ((statusCode === 301 || statusCode === 302) && this._options.method === \"POST\" ||\n // RFC7231§6.4.4: The 303 (See Other) status code indicates that\n // the server is redirecting the user agent to a different resource […]\n // A user agent can perform a retrieval request targeting that URI\n // (a GET or HEAD request if using HTTP) […]\n (statusCode === 303) && !/^(?:GET|HEAD)$/.test(this._options.method)) {\n this._options.method = \"GET\";\n // Drop a possible entity and headers related to it\n this._requestBodyBuffers = [];\n removeMatchingHeaders(/^content-/i, this._options.headers);\n }\n\n // Drop the Host header, as the redirect might lead to a different host\n var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers);\n\n // If the redirect is relative, carry over the host of the last request\n var currentUrlParts = parseUrl(this._currentUrl);\n var currentHost = currentHostHeader || currentUrlParts.host;\n var currentUrl = /^\\w+:/.test(location) ? this._currentUrl :\n url.format(Object.assign(currentUrlParts, { host: currentHost }));\n\n // Create the redirected request\n var redirectUrl = resolveUrl(location, currentUrl);\n debug(\"redirecting to\", redirectUrl.href);\n this._isRedirect = true;\n spreadUrlObject(redirectUrl, this._options);\n\n // Drop confidential headers when redirecting to a less secure protocol\n // or to a different domain that is not a superdomain\n if (redirectUrl.protocol !== currentUrlParts.protocol &&\n redirectUrl.protocol !== \"https:\" ||\n redirectUrl.host !== currentHost &&\n !isSubdomain(redirectUrl.host, currentHost)) {\n removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers);\n }\n\n // Evaluate the beforeRedirect callback\n if (isFunction(beforeRedirect)) {\n var responseDetails = {\n headers: response.headers,\n statusCode: statusCode,\n };\n var requestDetails = {\n url: currentUrl,\n method: method,\n headers: requestHeaders,\n };\n beforeRedirect(this._options, responseDetails, requestDetails);\n this._sanitizeOptions(this._options);\n }\n\n // Perform the redirected request\n this._performRequest();\n};\n\n// Wraps the key/value object of protocols with redirect functionality\nfunction wrap(protocols) {\n // Default settings\n var exports = {\n maxRedirects: 21,\n maxBodyLength: 10 * 1024 * 1024,\n };\n\n // Wrap each protocol\n var nativeProtocols = {};\n Object.keys(protocols).forEach(function (scheme) {\n var protocol = scheme + \":\";\n var nativeProtocol = nativeProtocols[protocol] = protocols[scheme];\n var wrappedProtocol = exports[scheme] = Object.create(nativeProtocol);\n\n // Executes a request, following redirects\n function request(input, options, callback) {\n // Parse parameters, ensuring that input is an object\n if (isURL(input)) {\n input = spreadUrlObject(input);\n }\n else if (isString(input)) {\n input = spreadUrlObject(parseUrl(input));\n }\n else {\n callback = options;\n options = validateUrl(input);\n input = { protocol: protocol };\n }\n if (isFunction(options)) {\n callback = options;\n options = null;\n }\n\n // Set defaults\n options = Object.assign({\n maxRedirects: exports.maxRedirects,\n maxBodyLength: exports.maxBodyLength,\n }, input, options);\n options.nativeProtocols = nativeProtocols;\n if (!isString(options.host) && !isString(options.hostname)) {\n options.hostname = \"::1\";\n }\n\n assert.equal(options.protocol, protocol, \"protocol mismatch\");\n debug(\"options\", options);\n return new RedirectableRequest(options, callback);\n }\n\n // Executes a GET request, following redirects\n function get(input, options, callback) {\n var wrappedRequest = wrappedProtocol.request(input, options, callback);\n wrappedRequest.end();\n return wrappedRequest;\n }\n\n // Expose the properties on the wrapped protocol\n Object.defineProperties(wrappedProtocol, {\n request: { value: request, configurable: true, enumerable: true, writable: true },\n get: { value: get, configurable: true, enumerable: true, writable: true },\n });\n });\n return exports;\n}\n\nfunction noop() { /* empty */ }\n\nfunction parseUrl(input) {\n var parsed;\n // istanbul ignore else\n if (useNativeURL) {\n parsed = new URL(input);\n }\n else {\n // Ensure the URL is valid and absolute\n parsed = validateUrl(url.parse(input));\n if (!isString(parsed.protocol)) {\n throw new InvalidUrlError({ input });\n }\n }\n return parsed;\n}\n\nfunction resolveUrl(relative, base) {\n // istanbul ignore next\n return useNativeURL ? new URL(relative, base) : parseUrl(url.resolve(base, relative));\n}\n\nfunction validateUrl(input) {\n if (/^\\[/.test(input.hostname) && !/^\\[[:0-9a-f]+\\]$/i.test(input.hostname)) {\n throw new InvalidUrlError({ input: input.href || input });\n }\n if (/^\\[/.test(input.host) && !/^\\[[:0-9a-f]+\\](:\\d+)?$/i.test(input.host)) {\n throw new InvalidUrlError({ input: input.href || input });\n }\n return input;\n}\n\nfunction spreadUrlObject(urlObject, target) {\n var spread = target || {};\n for (var key of preservedUrlFields) {\n spread[key] = urlObject[key];\n }\n\n // Fix IPv6 hostname\n if (spread.hostname.startsWith(\"[\")) {\n spread.hostname = spread.hostname.slice(1, -1);\n }\n // Ensure port is a number\n if (spread.port !== \"\") {\n spread.port = Number(spread.port);\n }\n // Concatenate path\n spread.path = spread.search ? spread.pathname + spread.search : spread.pathname;\n\n return spread;\n}\n\nfunction removeMatchingHeaders(regex, headers) {\n var lastValue;\n for (var header in headers) {\n if (regex.test(header)) {\n lastValue = headers[header];\n delete headers[header];\n }\n }\n return (lastValue === null || typeof lastValue === \"undefined\") ?\n undefined : String(lastValue).trim();\n}\n\nfunction createErrorType(code, message, baseClass) {\n // Create constructor\n function CustomError(properties) {\n // istanbul ignore else\n if (isFunction(Error.captureStackTrace)) {\n Error.captureStackTrace(this, this.constructor);\n }\n Object.assign(this, properties || {});\n this.code = code;\n this.message = this.cause ? message + \": \" + this.cause.message : message;\n }\n\n // Attach constructor and set default properties\n CustomError.prototype = new (baseClass || Error)();\n Object.defineProperties(CustomError.prototype, {\n constructor: {\n value: CustomError,\n enumerable: false,\n },\n name: {\n value: \"Error [\" + code + \"]\",\n enumerable: false,\n },\n });\n return CustomError;\n}\n\nfunction destroyRequest(request, error) {\n for (var event of events) {\n request.removeListener(event, eventHandlers[event]);\n }\n request.on(\"error\", noop);\n request.destroy(error);\n}\n\nfunction isSubdomain(subdomain, domain) {\n assert(isString(subdomain) && isString(domain));\n var dot = subdomain.length - domain.length - 1;\n return dot > 0 && subdomain[dot] === \".\" && subdomain.endsWith(domain);\n}\n\nfunction isString(value) {\n return typeof value === \"string\" || value instanceof String;\n}\n\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n\nfunction isBuffer(value) {\n return typeof value === \"object\" && (\"length\" in value);\n}\n\nfunction isURL(value) {\n return URL && value instanceof URL;\n}\n\n// Exports\nmodule.exports = wrap({ http: http, https: https });\nmodule.exports.wrap = wrap;\n","module.exports = {\n \"version\": \"0.27.2\"\n};","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildFullPath = require('../core/buildFullPath');\nvar buildURL = require('./../helpers/buildURL');\nvar http = require('http');\nvar https = require('https');\nvar httpFollow = require('follow-redirects').http;\nvar httpsFollow = require('follow-redirects').https;\nvar url = require('url');\nvar zlib = require('zlib');\nvar VERSION = require('./../env/data').version;\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\n\nvar isHttps = /https:?/;\n\nvar supportedProtocols = [ 'http:', 'https:', 'file:' ];\n\n/**\n *\n * @param {http.ClientRequestArgs} options\n * @param {AxiosProxyConfig} proxy\n * @param {string} location\n */\nfunction setProxy(options, proxy, location) {\n options.hostname = proxy.host;\n options.host = proxy.host;\n options.port = proxy.port;\n options.path = location;\n\n // Basic proxy authorization\n if (proxy.auth) {\n var base64 = Buffer.from(proxy.auth.username + ':' + proxy.auth.password, 'utf8').toString('base64');\n options.headers['Proxy-Authorization'] = 'Basic ' + base64;\n }\n\n // If a proxy is used, any redirects must also pass through the proxy\n options.beforeRedirect = function beforeRedirect(redirection) {\n redirection.headers.host = redirection.host;\n setProxy(redirection, proxy, redirection.href);\n };\n}\n\n/*eslint consistent-return:0*/\nmodule.exports = function httpAdapter(config) {\n return new Promise(function dispatchHttpRequest(resolvePromise, rejectPromise) {\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n var resolve = function resolve(value) {\n done();\n resolvePromise(value);\n };\n var rejected = false;\n var reject = function reject(value) {\n done();\n rejected = true;\n rejectPromise(value);\n };\n var data = config.data;\n var headers = config.headers;\n var headerNames = {};\n\n Object.keys(headers).forEach(function storeLowerName(name) {\n headerNames[name.toLowerCase()] = name;\n });\n\n // Set User-Agent (required by some servers)\n // See https://github.com/axios/axios/issues/69\n if ('user-agent' in headerNames) {\n // User-Agent is specified; handle case where no UA header is desired\n if (!headers[headerNames['user-agent']]) {\n delete headers[headerNames['user-agent']];\n }\n // Otherwise, use specified value\n } else {\n // Only set header if it hasn't been set in config\n headers['User-Agent'] = 'axios/' + VERSION;\n }\n\n // support for https://www.npmjs.com/package/form-data api\n if (utils.isFormData(data) && utils.isFunction(data.getHeaders)) {\n Object.assign(headers, data.getHeaders());\n } else if (data && !utils.isStream(data)) {\n if (Buffer.isBuffer(data)) {\n // Nothing to do...\n } else if (utils.isArrayBuffer(data)) {\n data = Buffer.from(new Uint8Array(data));\n } else if (utils.isString(data)) {\n data = Buffer.from(data, 'utf-8');\n } else {\n return reject(new AxiosError(\n 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream',\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n\n if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) {\n return reject(new AxiosError(\n 'Request body larger than maxBodyLength limit',\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n\n // Add Content-Length header if data exists\n if (!headerNames['content-length']) {\n headers['Content-Length'] = data.length;\n }\n }\n\n // HTTP basic authentication\n var auth = undefined;\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n auth = username + ':' + password;\n }\n\n // Parse url\n var fullPath = buildFullPath(config.baseURL, config.url);\n var parsed = url.parse(fullPath);\n var protocol = parsed.protocol || supportedProtocols[0];\n\n if (supportedProtocols.indexOf(protocol) === -1) {\n return reject(new AxiosError(\n 'Unsupported protocol ' + protocol,\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n\n if (!auth && parsed.auth) {\n var urlAuth = parsed.auth.split(':');\n var urlUsername = urlAuth[0] || '';\n var urlPassword = urlAuth[1] || '';\n auth = urlUsername + ':' + urlPassword;\n }\n\n if (auth && headerNames.authorization) {\n delete headers[headerNames.authorization];\n }\n\n var isHttpsRequest = isHttps.test(protocol);\n var agent = isHttpsRequest ? config.httpsAgent : config.httpAgent;\n\n try {\n buildURL(parsed.path, config.params, config.paramsSerializer).replace(/^\\?/, '');\n } catch (err) {\n var customErr = new Error(err.message);\n customErr.config = config;\n customErr.url = config.url;\n customErr.exists = true;\n reject(customErr);\n }\n\n var options = {\n path: buildURL(parsed.path, config.params, config.paramsSerializer).replace(/^\\?/, ''),\n method: config.method.toUpperCase(),\n headers: headers,\n agent: agent,\n agents: { http: config.httpAgent, https: config.httpsAgent },\n auth: auth\n };\n\n if (config.socketPath) {\n options.socketPath = config.socketPath;\n } else {\n options.hostname = parsed.hostname;\n options.port = parsed.port;\n }\n\n var proxy = config.proxy;\n if (!proxy && proxy !== false) {\n var proxyEnv = protocol.slice(0, -1) + '_proxy';\n var proxyUrl = process.env[proxyEnv] || process.env[proxyEnv.toUpperCase()];\n if (proxyUrl) {\n var parsedProxyUrl = url.parse(proxyUrl);\n var noProxyEnv = process.env.no_proxy || process.env.NO_PROXY;\n var shouldProxy = true;\n\n if (noProxyEnv) {\n var noProxy = noProxyEnv.split(',').map(function trim(s) {\n return s.trim();\n });\n\n shouldProxy = !noProxy.some(function proxyMatch(proxyElement) {\n if (!proxyElement) {\n return false;\n }\n if (proxyElement === '*') {\n return true;\n }\n if (proxyElement[0] === '.' &&\n parsed.hostname.substr(parsed.hostname.length - proxyElement.length) === proxyElement) {\n return true;\n }\n\n return parsed.hostname === proxyElement;\n });\n }\n\n if (shouldProxy) {\n proxy = {\n host: parsedProxyUrl.hostname,\n port: parsedProxyUrl.port,\n protocol: parsedProxyUrl.protocol\n };\n\n if (parsedProxyUrl.auth) {\n var proxyUrlAuth = parsedProxyUrl.auth.split(':');\n proxy.auth = {\n username: proxyUrlAuth[0],\n password: proxyUrlAuth[1]\n };\n }\n }\n }\n }\n\n if (proxy) {\n options.headers.host = parsed.hostname + (parsed.port ? ':' + parsed.port : '');\n setProxy(options, proxy, protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path);\n }\n\n var transport;\n var isHttpsProxy = isHttpsRequest && (proxy ? isHttps.test(proxy.protocol) : true);\n if (config.transport) {\n transport = config.transport;\n } else if (config.maxRedirects === 0) {\n transport = isHttpsProxy ? https : http;\n } else {\n if (config.maxRedirects) {\n options.maxRedirects = config.maxRedirects;\n }\n if (config.beforeRedirect) {\n options.beforeRedirect = config.beforeRedirect;\n }\n transport = isHttpsProxy ? httpsFollow : httpFollow;\n }\n\n if (config.maxBodyLength > -1) {\n options.maxBodyLength = config.maxBodyLength;\n }\n\n if (config.insecureHTTPParser) {\n options.insecureHTTPParser = config.insecureHTTPParser;\n }\n\n // Create the request\n var req = transport.request(options, function handleResponse(res) {\n if (req.aborted) return;\n\n // uncompress the response body transparently if required\n var stream = res;\n\n // return the last request in case of redirects\n var lastRequest = res.req || req;\n\n\n // if no content, is HEAD request or decompress disabled we should not decompress\n if (res.statusCode !== 204 && lastRequest.method !== 'HEAD' && config.decompress !== false) {\n switch (res.headers['content-encoding']) {\n /*eslint default-case:0*/\n case 'gzip':\n case 'compress':\n case 'deflate':\n // add the unzipper to the body stream processing pipeline\n stream = stream.pipe(zlib.createUnzip());\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n }\n }\n\n var response = {\n status: res.statusCode,\n statusText: res.statusMessage,\n headers: res.headers,\n config: config,\n request: lastRequest\n };\n\n if (config.responseType === 'stream') {\n response.data = stream;\n settle(resolve, reject, response);\n } else {\n var responseBuffer = [];\n var totalResponseBytes = 0;\n stream.on('data', function handleStreamData(chunk) {\n responseBuffer.push(chunk);\n totalResponseBytes += chunk.length;\n\n // make sure the content length is not over the maxContentLength if specified\n if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) {\n // stream.destoy() emit aborted event before calling reject() on Node.js v16\n rejected = true;\n stream.destroy();\n reject(new AxiosError('maxContentLength size of ' + config.maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE, config, lastRequest));\n }\n });\n\n stream.on('aborted', function handlerStreamAborted() {\n if (rejected) {\n return;\n }\n stream.destroy();\n reject(new AxiosError(\n 'maxContentLength size of ' + config.maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE,\n config,\n lastRequest\n ));\n });\n\n stream.on('error', function handleStreamError(err) {\n if (req.aborted) return;\n reject(AxiosError.from(err, null, config, lastRequest));\n });\n\n stream.on('end', function handleStreamEnd() {\n try {\n var responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer);\n if (config.responseType !== 'arraybuffer') {\n responseData = responseData.toString(config.responseEncoding);\n if (!config.responseEncoding || config.responseEncoding === 'utf8') {\n responseData = utils.stripBOM(responseData);\n }\n }\n response.data = responseData;\n } catch (err) {\n reject(AxiosError.from(err, null, config, response.request, response));\n }\n settle(resolve, reject, response);\n });\n }\n });\n\n // Handle errors\n req.on('error', function handleRequestError(err) {\n // @todo remove\n // if (req.aborted && err.code !== AxiosError.ERR_FR_TOO_MANY_REDIRECTS) return;\n reject(AxiosError.from(err, null, config, req));\n });\n\n // set tcp keep alive to prevent drop connection by peer\n req.on('socket', function handleRequestSocket(socket) {\n // default interval of sending ack packet is 1 minute\n socket.setKeepAlive(true, 1000 * 60);\n });\n\n // Handle request timeout\n if (config.timeout) {\n // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types.\n var timeout = parseInt(config.timeout, 10);\n\n if (isNaN(timeout)) {\n reject(new AxiosError(\n 'error trying to parse `config.timeout` to int',\n AxiosError.ERR_BAD_OPTION_VALUE,\n config,\n req\n ));\n\n return;\n }\n\n // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system.\n // And timer callback will be fired, and abort() will be invoked before connection, then get \"socket hang up\" and code ECONNRESET.\n // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up.\n // And then these socket which be hang up will devoring CPU little by little.\n // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect.\n req.setTimeout(timeout, function handleRequestTimeout() {\n req.abort();\n var transitional = config.transitional || transitionalDefaults;\n reject(new AxiosError(\n 'timeout of ' + timeout + 'ms exceeded',\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n req\n ));\n });\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (req.aborted) return;\n\n req.abort();\n reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel);\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n\n // Send the request\n if (utils.isStream(data)) {\n data.on('error', function handleStreamError(err) {\n reject(AxiosError.from(err, config, null, req));\n }).pipe(req);\n } else {\n req.end(data);\n }\n });\n};\n","var Stream = require('stream').Stream;\nvar util = require('util');\n\nmodule.exports = DelayedStream;\nfunction DelayedStream() {\n this.source = null;\n this.dataSize = 0;\n this.maxDataSize = 1024 * 1024;\n this.pauseStream = true;\n\n this._maxDataSizeExceeded = false;\n this._released = false;\n this._bufferedEvents = [];\n}\nutil.inherits(DelayedStream, Stream);\n\nDelayedStream.create = function(source, options) {\n var delayedStream = new this();\n\n options = options || {};\n for (var option in options) {\n delayedStream[option] = options[option];\n }\n\n delayedStream.source = source;\n\n var realEmit = source.emit;\n source.emit = function() {\n delayedStream._handleEmit(arguments);\n return realEmit.apply(source, arguments);\n };\n\n source.on('error', function() {});\n if (delayedStream.pauseStream) {\n source.pause();\n }\n\n return delayedStream;\n};\n\nObject.defineProperty(DelayedStream.prototype, 'readable', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this.source.readable;\n }\n});\n\nDelayedStream.prototype.setEncoding = function() {\n return this.source.setEncoding.apply(this.source, arguments);\n};\n\nDelayedStream.prototype.resume = function() {\n if (!this._released) {\n this.release();\n }\n\n this.source.resume();\n};\n\nDelayedStream.prototype.pause = function() {\n this.source.pause();\n};\n\nDelayedStream.prototype.release = function() {\n this._released = true;\n\n this._bufferedEvents.forEach(function(args) {\n this.emit.apply(this, args);\n }.bind(this));\n this._bufferedEvents = [];\n};\n\nDelayedStream.prototype.pipe = function() {\n var r = Stream.prototype.pipe.apply(this, arguments);\n this.resume();\n return r;\n};\n\nDelayedStream.prototype._handleEmit = function(args) {\n if (this._released) {\n this.emit.apply(this, args);\n return;\n }\n\n if (args[0] === 'data') {\n this.dataSize += args[1].length;\n this._checkIfMaxDataSizeExceeded();\n }\n\n this._bufferedEvents.push(args);\n};\n\nDelayedStream.prototype._checkIfMaxDataSizeExceeded = function() {\n if (this._maxDataSizeExceeded) {\n return;\n }\n\n if (this.dataSize <= this.maxDataSize) {\n return;\n }\n\n this._maxDataSizeExceeded = true;\n var message =\n 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.'\n this.emit('error', new Error(message));\n};\n","var util = require('util');\nvar Stream = require('stream').Stream;\nvar DelayedStream = require('delayed-stream');\n\nmodule.exports = CombinedStream;\nfunction CombinedStream() {\n this.writable = false;\n this.readable = true;\n this.dataSize = 0;\n this.maxDataSize = 2 * 1024 * 1024;\n this.pauseStreams = true;\n\n this._released = false;\n this._streams = [];\n this._currentStream = null;\n this._insideLoop = false;\n this._pendingNext = false;\n}\nutil.inherits(CombinedStream, Stream);\n\nCombinedStream.create = function(options) {\n var combinedStream = new this();\n\n options = options || {};\n for (var option in options) {\n combinedStream[option] = options[option];\n }\n\n return combinedStream;\n};\n\nCombinedStream.isStreamLike = function(stream) {\n return (typeof stream !== 'function')\n && (typeof stream !== 'string')\n && (typeof stream !== 'boolean')\n && (typeof stream !== 'number')\n && (!Buffer.isBuffer(stream));\n};\n\nCombinedStream.prototype.append = function(stream) {\n var isStreamLike = CombinedStream.isStreamLike(stream);\n\n if (isStreamLike) {\n if (!(stream instanceof DelayedStream)) {\n var newStream = DelayedStream.create(stream, {\n maxDataSize: Infinity,\n pauseStream: this.pauseStreams,\n });\n stream.on('data', this._checkDataSize.bind(this));\n stream = newStream;\n }\n\n this._handleErrors(stream);\n\n if (this.pauseStreams) {\n stream.pause();\n }\n }\n\n this._streams.push(stream);\n return this;\n};\n\nCombinedStream.prototype.pipe = function(dest, options) {\n Stream.prototype.pipe.call(this, dest, options);\n this.resume();\n return dest;\n};\n\nCombinedStream.prototype._getNext = function() {\n this._currentStream = null;\n\n if (this._insideLoop) {\n this._pendingNext = true;\n return; // defer call\n }\n\n this._insideLoop = true;\n try {\n do {\n this._pendingNext = false;\n this._realGetNext();\n } while (this._pendingNext);\n } finally {\n this._insideLoop = false;\n }\n};\n\nCombinedStream.prototype._realGetNext = function() {\n var stream = this._streams.shift();\n\n\n if (typeof stream == 'undefined') {\n this.end();\n return;\n }\n\n if (typeof stream !== 'function') {\n this._pipeNext(stream);\n return;\n }\n\n var getStream = stream;\n getStream(function(stream) {\n var isStreamLike = CombinedStream.isStreamLike(stream);\n if (isStreamLike) {\n stream.on('data', this._checkDataSize.bind(this));\n this._handleErrors(stream);\n }\n\n this._pipeNext(stream);\n }.bind(this));\n};\n\nCombinedStream.prototype._pipeNext = function(stream) {\n this._currentStream = stream;\n\n var isStreamLike = CombinedStream.isStreamLike(stream);\n if (isStreamLike) {\n stream.on('end', this._getNext.bind(this));\n stream.pipe(this, {end: false});\n return;\n }\n\n var value = stream;\n this.write(value);\n this._getNext();\n};\n\nCombinedStream.prototype._handleErrors = function(stream) {\n var self = this;\n stream.on('error', function(err) {\n self._emitError(err);\n });\n};\n\nCombinedStream.prototype.write = function(data) {\n this.emit('data', data);\n};\n\nCombinedStream.prototype.pause = function() {\n if (!this.pauseStreams) {\n return;\n }\n\n if(this.pauseStreams && this._currentStream && typeof(this._currentStream.pause) == 'function') this._currentStream.pause();\n this.emit('pause');\n};\n\nCombinedStream.prototype.resume = function() {\n if (!this._released) {\n this._released = true;\n this.writable = true;\n this._getNext();\n }\n\n if(this.pauseStreams && this._currentStream && typeof(this._currentStream.resume) == 'function') this._currentStream.resume();\n this.emit('resume');\n};\n\nCombinedStream.prototype.end = function() {\n this._reset();\n this.emit('end');\n};\n\nCombinedStream.prototype.destroy = function() {\n this._reset();\n this.emit('close');\n};\n\nCombinedStream.prototype._reset = function() {\n this.writable = false;\n this._streams = [];\n this._currentStream = null;\n};\n\nCombinedStream.prototype._checkDataSize = function() {\n this._updateDataSize();\n if (this.dataSize <= this.maxDataSize) {\n return;\n }\n\n var message =\n 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.';\n this._emitError(new Error(message));\n};\n\nCombinedStream.prototype._updateDataSize = function() {\n this.dataSize = 0;\n\n var self = this;\n this._streams.forEach(function(stream) {\n if (!stream.dataSize) {\n return;\n }\n\n self.dataSize += stream.dataSize;\n });\n\n if (this._currentStream && this._currentStream.dataSize) {\n this.dataSize += this._currentStream.dataSize;\n }\n};\n\nCombinedStream.prototype._emitError = function(err) {\n this._reset();\n this.emit('error', err);\n};\n","{\n \"application/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"application/3gpdash-qoe-report+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/3gpp-ims+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/3gpphal+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/3gpphalforms+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/a2l\": {\n \"source\": \"iana\"\n },\n \"application/ace+cbor\": {\n \"source\": \"iana\"\n },\n \"application/activemessage\": {\n \"source\": \"iana\"\n },\n \"application/activity+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-costmap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-costmapfilter+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-directory+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointcost+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointcostparams+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointprop+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointpropparams+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-error+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-networkmap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-networkmapfilter+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-updatestreamcontrol+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-updatestreamparams+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/aml\": {\n \"source\": \"iana\"\n },\n \"application/andrew-inset\": {\n \"source\": \"iana\",\n \"extensions\": [\"ez\"]\n },\n \"application/applefile\": {\n \"source\": \"iana\"\n },\n \"application/applixware\": {\n \"source\": \"apache\",\n \"extensions\": [\"aw\"]\n },\n \"application/at+jwt\": {\n \"source\": \"iana\"\n },\n \"application/atf\": {\n \"source\": \"iana\"\n },\n \"application/atfx\": {\n \"source\": \"iana\"\n },\n \"application/atom+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"atom\"]\n },\n \"application/atomcat+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"atomcat\"]\n },\n \"application/atomdeleted+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"atomdeleted\"]\n },\n \"application/atomicmail\": {\n \"source\": \"iana\"\n },\n \"application/atomsvc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"atomsvc\"]\n },\n \"application/atsc-dwd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dwd\"]\n },\n \"application/atsc-dynamic-event-message\": {\n \"source\": \"iana\"\n },\n \"application/atsc-held+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"held\"]\n },\n \"application/atsc-rdt+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/atsc-rsat+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rsat\"]\n },\n \"application/atxml\": {\n \"source\": \"iana\"\n },\n \"application/auth-policy+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/bacnet-xdd+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/batch-smtp\": {\n \"source\": \"iana\"\n },\n \"application/bdoc\": {\n \"compressible\": false,\n \"extensions\": [\"bdoc\"]\n },\n \"application/beep+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/calendar+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/calendar+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xcs\"]\n },\n \"application/call-completion\": {\n \"source\": \"iana\"\n },\n \"application/cals-1840\": {\n \"source\": \"iana\"\n },\n \"application/captive+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cbor\": {\n \"source\": \"iana\"\n },\n \"application/cbor-seq\": {\n \"source\": \"iana\"\n },\n \"application/cccex\": {\n \"source\": \"iana\"\n },\n \"application/ccmp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/ccxml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ccxml\"]\n },\n \"application/cdfx+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"cdfx\"]\n },\n \"application/cdmi-capability\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmia\"]\n },\n \"application/cdmi-container\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmic\"]\n },\n \"application/cdmi-domain\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmid\"]\n },\n \"application/cdmi-object\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmio\"]\n },\n \"application/cdmi-queue\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmiq\"]\n },\n \"application/cdni\": {\n \"source\": \"iana\"\n },\n \"application/cea\": {\n \"source\": \"iana\"\n },\n \"application/cea-2018+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cellml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cfw\": {\n \"source\": \"iana\"\n },\n \"application/city+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/clr\": {\n \"source\": \"iana\"\n },\n \"application/clue+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/clue_info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cms\": {\n \"source\": \"iana\"\n },\n \"application/cnrp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/coap-group+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/coap-payload\": {\n \"source\": \"iana\"\n },\n \"application/commonground\": {\n \"source\": \"iana\"\n },\n \"application/conference-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cose\": {\n \"source\": \"iana\"\n },\n \"application/cose-key\": {\n \"source\": \"iana\"\n },\n \"application/cose-key-set\": {\n \"source\": \"iana\"\n },\n \"application/cpl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"cpl\"]\n },\n \"application/csrattrs\": {\n \"source\": \"iana\"\n },\n \"application/csta+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cstadata+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/csvm+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cu-seeme\": {\n \"source\": \"apache\",\n \"extensions\": [\"cu\"]\n },\n \"application/cwt\": {\n \"source\": \"iana\"\n },\n \"application/cybercash\": {\n \"source\": \"iana\"\n },\n \"application/dart\": {\n \"compressible\": true\n },\n \"application/dash+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mpd\"]\n },\n \"application/dash-patch+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mpp\"]\n },\n \"application/dashdelta\": {\n \"source\": \"iana\"\n },\n \"application/davmount+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"davmount\"]\n },\n \"application/dca-rft\": {\n \"source\": \"iana\"\n },\n \"application/dcd\": {\n \"source\": \"iana\"\n },\n \"application/dec-dx\": {\n \"source\": \"iana\"\n },\n \"application/dialog-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dicom\": {\n \"source\": \"iana\"\n },\n \"application/dicom+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dicom+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dii\": {\n \"source\": \"iana\"\n },\n \"application/dit\": {\n \"source\": \"iana\"\n },\n \"application/dns\": {\n \"source\": \"iana\"\n },\n \"application/dns+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dns-message\": {\n \"source\": \"iana\"\n },\n \"application/docbook+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"dbk\"]\n },\n \"application/dots+cbor\": {\n \"source\": \"iana\"\n },\n \"application/dskpp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dssc+der\": {\n \"source\": \"iana\",\n \"extensions\": [\"dssc\"]\n },\n \"application/dssc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xdssc\"]\n },\n \"application/dvcs\": {\n \"source\": \"iana\"\n },\n \"application/ecmascript\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"es\",\"ecma\"]\n },\n \"application/edi-consent\": {\n \"source\": \"iana\"\n },\n \"application/edi-x12\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/edifact\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/efi\": {\n \"source\": \"iana\"\n },\n \"application/elm+json\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/elm+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.cap+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/emergencycalldata.comment+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.control+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.deviceinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.ecall.msd\": {\n \"source\": \"iana\"\n },\n \"application/emergencycalldata.providerinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.serviceinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.subscriberinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.veds+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emma+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"emma\"]\n },\n \"application/emotionml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"emotionml\"]\n },\n \"application/encaprtp\": {\n \"source\": \"iana\"\n },\n \"application/epp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/epub+zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"epub\"]\n },\n \"application/eshop\": {\n \"source\": \"iana\"\n },\n \"application/exi\": {\n \"source\": \"iana\",\n \"extensions\": [\"exi\"]\n },\n \"application/expect-ct-report+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/express\": {\n \"source\": \"iana\",\n \"extensions\": [\"exp\"]\n },\n \"application/fastinfoset\": {\n \"source\": \"iana\"\n },\n \"application/fastsoap\": {\n \"source\": \"iana\"\n },\n \"application/fdt+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"fdt\"]\n },\n \"application/fhir+json\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/fhir+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/fido.trusted-apps+json\": {\n \"compressible\": true\n },\n \"application/fits\": {\n \"source\": \"iana\"\n },\n \"application/flexfec\": {\n \"source\": \"iana\"\n },\n \"application/font-sfnt\": {\n \"source\": \"iana\"\n },\n \"application/font-tdpfr\": {\n \"source\": \"iana\",\n \"extensions\": [\"pfr\"]\n },\n \"application/font-woff\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/framework-attributes+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/geo+json\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"geojson\"]\n },\n \"application/geo+json-seq\": {\n \"source\": \"iana\"\n },\n \"application/geopackage+sqlite3\": {\n \"source\": \"iana\"\n },\n \"application/geoxacml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/gltf-buffer\": {\n \"source\": \"iana\"\n },\n \"application/gml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"gml\"]\n },\n \"application/gpx+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"gpx\"]\n },\n \"application/gxf\": {\n \"source\": \"apache\",\n \"extensions\": [\"gxf\"]\n },\n \"application/gzip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"gz\"]\n },\n \"application/h224\": {\n \"source\": \"iana\"\n },\n \"application/held+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/hjson\": {\n \"extensions\": [\"hjson\"]\n },\n \"application/http\": {\n \"source\": \"iana\"\n },\n \"application/hyperstudio\": {\n \"source\": \"iana\",\n \"extensions\": [\"stk\"]\n },\n \"application/ibe-key-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/ibe-pkg-reply+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/ibe-pp-data\": {\n \"source\": \"iana\"\n },\n \"application/iges\": {\n \"source\": \"iana\"\n },\n \"application/im-iscomposing+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/index\": {\n \"source\": \"iana\"\n },\n \"application/index.cmd\": {\n \"source\": \"iana\"\n },\n \"application/index.obj\": {\n \"source\": \"iana\"\n },\n \"application/index.response\": {\n \"source\": \"iana\"\n },\n \"application/index.vnd\": {\n \"source\": \"iana\"\n },\n \"application/inkml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ink\",\"inkml\"]\n },\n \"application/iotp\": {\n \"source\": \"iana\"\n },\n \"application/ipfix\": {\n \"source\": \"iana\",\n \"extensions\": [\"ipfix\"]\n },\n \"application/ipp\": {\n \"source\": \"iana\"\n },\n \"application/isup\": {\n \"source\": \"iana\"\n },\n \"application/its+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"its\"]\n },\n \"application/java-archive\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"jar\",\"war\",\"ear\"]\n },\n \"application/java-serialized-object\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"ser\"]\n },\n \"application/java-vm\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"class\"]\n },\n \"application/javascript\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"js\",\"mjs\"]\n },\n \"application/jf2feed+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jose\": {\n \"source\": \"iana\"\n },\n \"application/jose+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jrd+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jscalendar+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/json\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"json\",\"map\"]\n },\n \"application/json-patch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/json-seq\": {\n \"source\": \"iana\"\n },\n \"application/json5\": {\n \"extensions\": [\"json5\"]\n },\n \"application/jsonml+json\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"jsonml\"]\n },\n \"application/jwk+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jwk-set+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jwt\": {\n \"source\": \"iana\"\n },\n \"application/kpml-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/kpml-response+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/ld+json\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"jsonld\"]\n },\n \"application/lgr+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"lgr\"]\n },\n \"application/link-format\": {\n \"source\": \"iana\"\n },\n \"application/load-control+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/lost+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"lostxml\"]\n },\n \"application/lostsync+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/lpf+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/lxf\": {\n \"source\": \"iana\"\n },\n \"application/mac-binhex40\": {\n \"source\": \"iana\",\n \"extensions\": [\"hqx\"]\n },\n \"application/mac-compactpro\": {\n \"source\": \"apache\",\n \"extensions\": [\"cpt\"]\n },\n \"application/macwriteii\": {\n \"source\": \"iana\"\n },\n \"application/mads+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mads\"]\n },\n \"application/manifest+json\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"webmanifest\"]\n },\n \"application/marc\": {\n \"source\": \"iana\",\n \"extensions\": [\"mrc\"]\n },\n \"application/marcxml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mrcx\"]\n },\n \"application/mathematica\": {\n \"source\": \"iana\",\n \"extensions\": [\"ma\",\"nb\",\"mb\"]\n },\n \"application/mathml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mathml\"]\n },\n \"application/mathml-content+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mathml-presentation+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-associated-procedure-description+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-deregister+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-envelope+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-msk+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-msk-response+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-protection-description+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-reception-report+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-register+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-register-response+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-schedule+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-user-service-description+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbox\": {\n \"source\": \"iana\",\n \"extensions\": [\"mbox\"]\n },\n \"application/media-policy-dataset+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mpf\"]\n },\n \"application/media_control+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mediaservercontrol+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mscml\"]\n },\n \"application/merge-patch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/metalink+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"metalink\"]\n },\n \"application/metalink4+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"meta4\"]\n },\n \"application/mets+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mets\"]\n },\n \"application/mf4\": {\n \"source\": \"iana\"\n },\n \"application/mikey\": {\n \"source\": \"iana\"\n },\n \"application/mipc\": {\n \"source\": \"iana\"\n },\n \"application/missing-blocks+cbor-seq\": {\n \"source\": \"iana\"\n },\n \"application/mmt-aei+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"maei\"]\n },\n \"application/mmt-usd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"musd\"]\n },\n \"application/mods+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mods\"]\n },\n \"application/moss-keys\": {\n \"source\": \"iana\"\n },\n \"application/moss-signature\": {\n \"source\": \"iana\"\n },\n \"application/mosskey-data\": {\n \"source\": \"iana\"\n },\n \"application/mosskey-request\": {\n \"source\": \"iana\"\n },\n \"application/mp21\": {\n \"source\": \"iana\",\n \"extensions\": [\"m21\",\"mp21\"]\n },\n \"application/mp4\": {\n \"source\": \"iana\",\n \"extensions\": [\"mp4s\",\"m4p\"]\n },\n \"application/mpeg4-generic\": {\n \"source\": \"iana\"\n },\n \"application/mpeg4-iod\": {\n \"source\": \"iana\"\n },\n \"application/mpeg4-iod-xmt\": {\n \"source\": \"iana\"\n },\n \"application/mrb-consumer+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mrb-publish+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/msc-ivr+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/msc-mixer+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/msword\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"doc\",\"dot\"]\n },\n \"application/mud+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/multipart-core\": {\n \"source\": \"iana\"\n },\n \"application/mxf\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxf\"]\n },\n \"application/n-quads\": {\n \"source\": \"iana\",\n \"extensions\": [\"nq\"]\n },\n \"application/n-triples\": {\n \"source\": \"iana\",\n \"extensions\": [\"nt\"]\n },\n \"application/nasdata\": {\n \"source\": \"iana\"\n },\n \"application/news-checkgroups\": {\n \"source\": \"iana\",\n \"charset\": \"US-ASCII\"\n },\n \"application/news-groupinfo\": {\n \"source\": \"iana\",\n \"charset\": \"US-ASCII\"\n },\n \"application/news-transmission\": {\n \"source\": \"iana\"\n },\n \"application/nlsml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/node\": {\n \"source\": \"iana\",\n \"extensions\": [\"cjs\"]\n },\n \"application/nss\": {\n \"source\": \"iana\"\n },\n \"application/oauth-authz-req+jwt\": {\n \"source\": \"iana\"\n },\n \"application/oblivious-dns-message\": {\n \"source\": \"iana\"\n },\n \"application/ocsp-request\": {\n \"source\": \"iana\"\n },\n \"application/ocsp-response\": {\n \"source\": \"iana\"\n },\n \"application/octet-stream\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"bin\",\"dms\",\"lrf\",\"mar\",\"so\",\"dist\",\"distz\",\"pkg\",\"bpk\",\"dump\",\"elc\",\"deploy\",\"exe\",\"dll\",\"deb\",\"dmg\",\"iso\",\"img\",\"msi\",\"msp\",\"msm\",\"buffer\"]\n },\n \"application/oda\": {\n \"source\": \"iana\",\n \"extensions\": [\"oda\"]\n },\n \"application/odm+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/odx\": {\n \"source\": \"iana\"\n },\n \"application/oebps-package+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"opf\"]\n },\n \"application/ogg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ogx\"]\n },\n \"application/omdoc+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"omdoc\"]\n },\n \"application/onenote\": {\n \"source\": \"apache\",\n \"extensions\": [\"onetoc\",\"onetoc2\",\"onetmp\",\"onepkg\"]\n },\n \"application/opc-nodeset+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/oscore\": {\n \"source\": \"iana\"\n },\n \"application/oxps\": {\n \"source\": \"iana\",\n \"extensions\": [\"oxps\"]\n },\n \"application/p21\": {\n \"source\": \"iana\"\n },\n \"application/p21+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/p2p-overlay+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"relo\"]\n },\n \"application/parityfec\": {\n \"source\": \"iana\"\n },\n \"application/passport\": {\n \"source\": \"iana\"\n },\n \"application/patch-ops-error+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xer\"]\n },\n \"application/pdf\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"pdf\"]\n },\n \"application/pdx\": {\n \"source\": \"iana\"\n },\n \"application/pem-certificate-chain\": {\n \"source\": \"iana\"\n },\n \"application/pgp-encrypted\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"pgp\"]\n },\n \"application/pgp-keys\": {\n \"source\": \"iana\",\n \"extensions\": [\"asc\"]\n },\n \"application/pgp-signature\": {\n \"source\": \"iana\",\n \"extensions\": [\"asc\",\"sig\"]\n },\n \"application/pics-rules\": {\n \"source\": \"apache\",\n \"extensions\": [\"prf\"]\n },\n \"application/pidf+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/pidf-diff+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/pkcs10\": {\n \"source\": \"iana\",\n \"extensions\": [\"p10\"]\n },\n \"application/pkcs12\": {\n \"source\": \"iana\"\n },\n \"application/pkcs7-mime\": {\n \"source\": \"iana\",\n \"extensions\": [\"p7m\",\"p7c\"]\n },\n \"application/pkcs7-signature\": {\n \"source\": \"iana\",\n \"extensions\": [\"p7s\"]\n },\n \"application/pkcs8\": {\n \"source\": \"iana\",\n \"extensions\": [\"p8\"]\n },\n \"application/pkcs8-encrypted\": {\n \"source\": \"iana\"\n },\n \"application/pkix-attr-cert\": {\n \"source\": \"iana\",\n \"extensions\": [\"ac\"]\n },\n \"application/pkix-cert\": {\n \"source\": \"iana\",\n \"extensions\": [\"cer\"]\n },\n \"application/pkix-crl\": {\n \"source\": \"iana\",\n \"extensions\": [\"crl\"]\n },\n \"application/pkix-pkipath\": {\n \"source\": \"iana\",\n \"extensions\": [\"pkipath\"]\n },\n \"application/pkixcmp\": {\n \"source\": \"iana\",\n \"extensions\": [\"pki\"]\n },\n \"application/pls+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"pls\"]\n },\n \"application/poc-settings+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/postscript\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ai\",\"eps\",\"ps\"]\n },\n \"application/ppsp-tracker+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/problem+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/problem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/provenance+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"provx\"]\n },\n \"application/prs.alvestrand.titrax-sheet\": {\n \"source\": \"iana\"\n },\n \"application/prs.cww\": {\n \"source\": \"iana\",\n \"extensions\": [\"cww\"]\n },\n \"application/prs.cyn\": {\n \"source\": \"iana\",\n \"charset\": \"7-BIT\"\n },\n \"application/prs.hpub+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/prs.nprend\": {\n \"source\": \"iana\"\n },\n \"application/prs.plucker\": {\n \"source\": \"iana\"\n },\n \"application/prs.rdf-xml-crypt\": {\n \"source\": \"iana\"\n },\n \"application/prs.xsf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/pskc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"pskcxml\"]\n },\n \"application/pvd+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/qsig\": {\n \"source\": \"iana\"\n },\n \"application/raml+yaml\": {\n \"compressible\": true,\n \"extensions\": [\"raml\"]\n },\n \"application/raptorfec\": {\n \"source\": \"iana\"\n },\n \"application/rdap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/rdf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rdf\",\"owl\"]\n },\n \"application/reginfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rif\"]\n },\n \"application/relax-ng-compact-syntax\": {\n \"source\": \"iana\",\n \"extensions\": [\"rnc\"]\n },\n \"application/remote-printing\": {\n \"source\": \"iana\"\n },\n \"application/reputon+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/resource-lists+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rl\"]\n },\n \"application/resource-lists-diff+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rld\"]\n },\n \"application/rfc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/riscos\": {\n \"source\": \"iana\"\n },\n \"application/rlmi+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/rls-services+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rs\"]\n },\n \"application/route-apd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rapd\"]\n },\n \"application/route-s-tsid+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sls\"]\n },\n \"application/route-usd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rusd\"]\n },\n \"application/rpki-ghostbusters\": {\n \"source\": \"iana\",\n \"extensions\": [\"gbr\"]\n },\n \"application/rpki-manifest\": {\n \"source\": \"iana\",\n \"extensions\": [\"mft\"]\n },\n \"application/rpki-publication\": {\n \"source\": \"iana\"\n },\n \"application/rpki-roa\": {\n \"source\": \"iana\",\n \"extensions\": [\"roa\"]\n },\n \"application/rpki-updown\": {\n \"source\": \"iana\"\n },\n \"application/rsd+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"rsd\"]\n },\n \"application/rss+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"rss\"]\n },\n \"application/rtf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rtf\"]\n },\n \"application/rtploopback\": {\n \"source\": \"iana\"\n },\n \"application/rtx\": {\n \"source\": \"iana\"\n },\n \"application/samlassertion+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/samlmetadata+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sarif+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sarif-external-properties+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sbe\": {\n \"source\": \"iana\"\n },\n \"application/sbml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sbml\"]\n },\n \"application/scaip+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/scim+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/scvp-cv-request\": {\n \"source\": \"iana\",\n \"extensions\": [\"scq\"]\n },\n \"application/scvp-cv-response\": {\n \"source\": \"iana\",\n \"extensions\": [\"scs\"]\n },\n \"application/scvp-vp-request\": {\n \"source\": \"iana\",\n \"extensions\": [\"spq\"]\n },\n \"application/scvp-vp-response\": {\n \"source\": \"iana\",\n \"extensions\": [\"spp\"]\n },\n \"application/sdp\": {\n \"source\": \"iana\",\n \"extensions\": [\"sdp\"]\n },\n \"application/secevent+jwt\": {\n \"source\": \"iana\"\n },\n \"application/senml+cbor\": {\n \"source\": \"iana\"\n },\n \"application/senml+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/senml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"senmlx\"]\n },\n \"application/senml-etch+cbor\": {\n \"source\": \"iana\"\n },\n \"application/senml-etch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/senml-exi\": {\n \"source\": \"iana\"\n },\n \"application/sensml+cbor\": {\n \"source\": \"iana\"\n },\n \"application/sensml+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sensml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sensmlx\"]\n },\n \"application/sensml-exi\": {\n \"source\": \"iana\"\n },\n \"application/sep+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sep-exi\": {\n \"source\": \"iana\"\n },\n \"application/session-info\": {\n \"source\": \"iana\"\n },\n \"application/set-payment\": {\n \"source\": \"iana\"\n },\n \"application/set-payment-initiation\": {\n \"source\": \"iana\",\n \"extensions\": [\"setpay\"]\n },\n \"application/set-registration\": {\n \"source\": \"iana\"\n },\n \"application/set-registration-initiation\": {\n \"source\": \"iana\",\n \"extensions\": [\"setreg\"]\n },\n \"application/sgml\": {\n \"source\": \"iana\"\n },\n \"application/sgml-open-catalog\": {\n \"source\": \"iana\"\n },\n \"application/shf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"shf\"]\n },\n \"application/sieve\": {\n \"source\": \"iana\",\n \"extensions\": [\"siv\",\"sieve\"]\n },\n \"application/simple-filter+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/simple-message-summary\": {\n \"source\": \"iana\"\n },\n \"application/simplesymbolcontainer\": {\n \"source\": \"iana\"\n },\n \"application/sipc\": {\n \"source\": \"iana\"\n },\n \"application/slate\": {\n \"source\": \"iana\"\n },\n \"application/smil\": {\n \"source\": \"iana\"\n },\n \"application/smil+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"smi\",\"smil\"]\n },\n \"application/smpte336m\": {\n \"source\": \"iana\"\n },\n \"application/soap+fastinfoset\": {\n \"source\": \"iana\"\n },\n \"application/soap+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sparql-query\": {\n \"source\": \"iana\",\n \"extensions\": [\"rq\"]\n },\n \"application/sparql-results+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"srx\"]\n },\n \"application/spdx+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/spirits-event+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sql\": {\n \"source\": \"iana\"\n },\n \"application/srgs\": {\n \"source\": \"iana\",\n \"extensions\": [\"gram\"]\n },\n \"application/srgs+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"grxml\"]\n },\n \"application/sru+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sru\"]\n },\n \"application/ssdl+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"ssdl\"]\n },\n \"application/ssml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ssml\"]\n },\n \"application/stix+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/swid+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"swidtag\"]\n },\n \"application/tamp-apex-update\": {\n \"source\": \"iana\"\n },\n \"application/tamp-apex-update-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tamp-community-update\": {\n \"source\": \"iana\"\n },\n \"application/tamp-community-update-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tamp-error\": {\n \"source\": \"iana\"\n },\n \"application/tamp-sequence-adjust\": {\n \"source\": \"iana\"\n },\n \"application/tamp-sequence-adjust-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tamp-status-query\": {\n \"source\": \"iana\"\n },\n \"application/tamp-status-response\": {\n \"source\": \"iana\"\n },\n \"application/tamp-update\": {\n \"source\": \"iana\"\n },\n \"application/tamp-update-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tar\": {\n \"compressible\": true\n },\n \"application/taxii+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/td+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/tei+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"tei\",\"teicorpus\"]\n },\n \"application/tetra_isi\": {\n \"source\": \"iana\"\n },\n \"application/thraud+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"tfi\"]\n },\n \"application/timestamp-query\": {\n \"source\": \"iana\"\n },\n \"application/timestamp-reply\": {\n \"source\": \"iana\"\n },\n \"application/timestamped-data\": {\n \"source\": \"iana\",\n \"extensions\": [\"tsd\"]\n },\n \"application/tlsrpt+gzip\": {\n \"source\": \"iana\"\n },\n \"application/tlsrpt+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/tnauthlist\": {\n \"source\": \"iana\"\n },\n \"application/token-introspection+jwt\": {\n \"source\": \"iana\"\n },\n \"application/toml\": {\n \"compressible\": true,\n \"extensions\": [\"toml\"]\n },\n \"application/trickle-ice-sdpfrag\": {\n \"source\": \"iana\"\n },\n \"application/trig\": {\n \"source\": \"iana\",\n \"extensions\": [\"trig\"]\n },\n \"application/ttml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ttml\"]\n },\n \"application/tve-trigger\": {\n \"source\": \"iana\"\n },\n \"application/tzif\": {\n \"source\": \"iana\"\n },\n \"application/tzif-leap\": {\n \"source\": \"iana\"\n },\n \"application/ubjson\": {\n \"compressible\": false,\n \"extensions\": [\"ubj\"]\n },\n \"application/ulpfec\": {\n \"source\": \"iana\"\n },\n \"application/urc-grpsheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/urc-ressheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rsheet\"]\n },\n \"application/urc-targetdesc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"td\"]\n },\n \"application/urc-uisocketdesc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vcard+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vcard+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vemmi\": {\n \"source\": \"iana\"\n },\n \"application/vividence.scriptfile\": {\n \"source\": \"apache\"\n },\n \"application/vnd.1000minds.decision-model+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"1km\"]\n },\n \"application/vnd.3gpp-prose+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp-prose-pc3ch+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp-v2x-local-service-information\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.5gnas\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.access-transfer-events+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.bsf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.gmop+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.gtpc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.interworking-data\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.lpp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.mc-signalling-ear\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.mcdata-affiliation-command+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcdata-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcdata-payload\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.mcdata-service-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcdata-signalling\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.mcdata-ue-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcdata-user-profile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-affiliation-command+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-floor-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-location-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-mbms-usage-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-service-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-signed+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-ue-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-ue-init-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-user-profile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-affiliation-command+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-affiliation-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-location-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-mbms-usage-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-service-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-transmission-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-ue-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-user-profile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mid-call+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.ngap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.pfcp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.pic-bw-large\": {\n \"source\": \"iana\",\n \"extensions\": [\"plb\"]\n },\n \"application/vnd.3gpp.pic-bw-small\": {\n \"source\": \"iana\",\n \"extensions\": [\"psb\"]\n },\n \"application/vnd.3gpp.pic-bw-var\": {\n \"source\": \"iana\",\n \"extensions\": [\"pvb\"]\n },\n \"application/vnd.3gpp.s1ap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.sms\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.sms+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.srvcc-ext+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.srvcc-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.state-and-event-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.ussd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp2.bcmcsinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp2.sms\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp2.tcap\": {\n \"source\": \"iana\",\n \"extensions\": [\"tcap\"]\n },\n \"application/vnd.3lightssoftware.imagescal\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3m.post-it-notes\": {\n \"source\": \"iana\",\n \"extensions\": [\"pwn\"]\n },\n \"application/vnd.accpac.simply.aso\": {\n \"source\": \"iana\",\n \"extensions\": [\"aso\"]\n },\n \"application/vnd.accpac.simply.imp\": {\n \"source\": \"iana\",\n \"extensions\": [\"imp\"]\n },\n \"application/vnd.acucobol\": {\n \"source\": \"iana\",\n \"extensions\": [\"acu\"]\n },\n \"application/vnd.acucorp\": {\n \"source\": \"iana\",\n \"extensions\": [\"atc\",\"acutc\"]\n },\n \"application/vnd.adobe.air-application-installer-package+zip\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"air\"]\n },\n \"application/vnd.adobe.flash.movie\": {\n \"source\": \"iana\"\n },\n \"application/vnd.adobe.formscentral.fcdt\": {\n \"source\": \"iana\",\n \"extensions\": [\"fcdt\"]\n },\n \"application/vnd.adobe.fxp\": {\n \"source\": \"iana\",\n \"extensions\": [\"fxp\",\"fxpl\"]\n },\n \"application/vnd.adobe.partial-upload\": {\n \"source\": \"iana\"\n },\n \"application/vnd.adobe.xdp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xdp\"]\n },\n \"application/vnd.adobe.xfdf\": {\n \"source\": \"iana\",\n \"extensions\": [\"xfdf\"]\n },\n \"application/vnd.aether.imp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.afplinedata\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.afplinedata-pagedef\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.cmoca-cmresource\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.foca-charset\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.foca-codedfont\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.foca-codepage\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-cmtable\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-formdef\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-mediummap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-objectcontainer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-overlay\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-pagesegment\": {\n \"source\": \"iana\"\n },\n \"application/vnd.age\": {\n \"source\": \"iana\",\n \"extensions\": [\"age\"]\n },\n \"application/vnd.ah-barcode\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ahead.space\": {\n \"source\": \"iana\",\n \"extensions\": [\"ahead\"]\n },\n \"application/vnd.airzip.filesecure.azf\": {\n \"source\": \"iana\",\n \"extensions\": [\"azf\"]\n },\n \"application/vnd.airzip.filesecure.azs\": {\n \"source\": \"iana\",\n \"extensions\": [\"azs\"]\n },\n \"application/vnd.amadeus+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.amazon.ebook\": {\n \"source\": \"apache\",\n \"extensions\": [\"azw\"]\n },\n \"application/vnd.amazon.mobi8-ebook\": {\n \"source\": \"iana\"\n },\n \"application/vnd.americandynamics.acc\": {\n \"source\": \"iana\",\n \"extensions\": [\"acc\"]\n },\n \"application/vnd.amiga.ami\": {\n \"source\": \"iana\",\n \"extensions\": [\"ami\"]\n },\n \"application/vnd.amundsen.maze+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.android.ota\": {\n \"source\": \"iana\"\n },\n \"application/vnd.android.package-archive\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"apk\"]\n },\n \"application/vnd.anki\": {\n \"source\": \"iana\"\n },\n \"application/vnd.anser-web-certificate-issue-initiation\": {\n \"source\": \"iana\",\n \"extensions\": [\"cii\"]\n },\n \"application/vnd.anser-web-funds-transfer-initiation\": {\n \"source\": \"apache\",\n \"extensions\": [\"fti\"]\n },\n \"application/vnd.antix.game-component\": {\n \"source\": \"iana\",\n \"extensions\": [\"atx\"]\n },\n \"application/vnd.apache.arrow.file\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.arrow.stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.thrift.binary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.thrift.compact\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.thrift.json\": {\n \"source\": \"iana\"\n },\n \"application/vnd.api+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.aplextor.warrp+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.apothekende.reservation+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.apple.installer+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mpkg\"]\n },\n \"application/vnd.apple.keynote\": {\n \"source\": \"iana\",\n \"extensions\": [\"key\"]\n },\n \"application/vnd.apple.mpegurl\": {\n \"source\": \"iana\",\n \"extensions\": [\"m3u8\"]\n },\n \"application/vnd.apple.numbers\": {\n \"source\": \"iana\",\n \"extensions\": [\"numbers\"]\n },\n \"application/vnd.apple.pages\": {\n \"source\": \"iana\",\n \"extensions\": [\"pages\"]\n },\n \"application/vnd.apple.pkpass\": {\n \"compressible\": false,\n \"extensions\": [\"pkpass\"]\n },\n \"application/vnd.arastra.swi\": {\n \"source\": \"iana\"\n },\n \"application/vnd.aristanetworks.swi\": {\n \"source\": \"iana\",\n \"extensions\": [\"swi\"]\n },\n \"application/vnd.artisan+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.artsquare\": {\n \"source\": \"iana\"\n },\n \"application/vnd.astraea-software.iota\": {\n \"source\": \"iana\",\n \"extensions\": [\"iota\"]\n },\n \"application/vnd.audiograph\": {\n \"source\": \"iana\",\n \"extensions\": [\"aep\"]\n },\n \"application/vnd.autopackage\": {\n \"source\": \"iana\"\n },\n \"application/vnd.avalon+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.avistar+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.balsamiq.bmml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"bmml\"]\n },\n \"application/vnd.balsamiq.bmpr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.banana-accounting\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bbf.usp.error\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bbf.usp.msg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bbf.usp.msg+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.bekitzur-stech+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.bint.med-content\": {\n \"source\": \"iana\"\n },\n \"application/vnd.biopax.rdf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.blink-idb-value-wrapper\": {\n \"source\": \"iana\"\n },\n \"application/vnd.blueice.multipass\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpm\"]\n },\n \"application/vnd.bluetooth.ep.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bluetooth.le.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bmi\": {\n \"source\": \"iana\",\n \"extensions\": [\"bmi\"]\n },\n \"application/vnd.bpf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bpf3\": {\n \"source\": \"iana\"\n },\n \"application/vnd.businessobjects\": {\n \"source\": \"iana\",\n \"extensions\": [\"rep\"]\n },\n \"application/vnd.byu.uapi+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cab-jscript\": {\n \"source\": \"iana\"\n },\n \"application/vnd.canon-cpdl\": {\n \"source\": \"iana\"\n },\n \"application/vnd.canon-lips\": {\n \"source\": \"iana\"\n },\n \"application/vnd.capasystems-pg+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cendio.thinlinc.clientconf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.century-systems.tcp_stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.chemdraw+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"cdxml\"]\n },\n \"application/vnd.chess-pgn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.chipnuts.karaoke-mmd\": {\n \"source\": \"iana\",\n \"extensions\": [\"mmd\"]\n },\n \"application/vnd.ciedi\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cinderella\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdy\"]\n },\n \"application/vnd.cirpack.isdn-ext\": {\n \"source\": \"iana\"\n },\n \"application/vnd.citationstyles.style+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"csl\"]\n },\n \"application/vnd.claymore\": {\n \"source\": \"iana\",\n \"extensions\": [\"cla\"]\n },\n \"application/vnd.cloanto.rp9\": {\n \"source\": \"iana\",\n \"extensions\": [\"rp9\"]\n },\n \"application/vnd.clonk.c4group\": {\n \"source\": \"iana\",\n \"extensions\": [\"c4g\",\"c4d\",\"c4f\",\"c4p\",\"c4u\"]\n },\n \"application/vnd.cluetrust.cartomobile-config\": {\n \"source\": \"iana\",\n \"extensions\": [\"c11amc\"]\n },\n \"application/vnd.cluetrust.cartomobile-config-pkg\": {\n \"source\": \"iana\",\n \"extensions\": [\"c11amz\"]\n },\n \"application/vnd.coffeescript\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.document\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.document-template\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.presentation\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.presentation-template\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.spreadsheet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.spreadsheet-template\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collection+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.collection.doc+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.collection.next+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.comicbook+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.comicbook-rar\": {\n \"source\": \"iana\"\n },\n \"application/vnd.commerce-battelle\": {\n \"source\": \"iana\"\n },\n \"application/vnd.commonspace\": {\n \"source\": \"iana\",\n \"extensions\": [\"csp\"]\n },\n \"application/vnd.contact.cmsg\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdbcmsg\"]\n },\n \"application/vnd.coreos.ignition+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cosmocaller\": {\n \"source\": \"iana\",\n \"extensions\": [\"cmc\"]\n },\n \"application/vnd.crick.clicker\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkx\"]\n },\n \"application/vnd.crick.clicker.keyboard\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkk\"]\n },\n \"application/vnd.crick.clicker.palette\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkp\"]\n },\n \"application/vnd.crick.clicker.template\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkt\"]\n },\n \"application/vnd.crick.clicker.wordbank\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkw\"]\n },\n \"application/vnd.criticaltools.wbs+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wbs\"]\n },\n \"application/vnd.cryptii.pipe+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.crypto-shade-file\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cryptomator.encrypted\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cryptomator.vault\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ctc-posml\": {\n \"source\": \"iana\",\n \"extensions\": [\"pml\"]\n },\n \"application/vnd.ctct.ws+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cups-pdf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cups-postscript\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cups-ppd\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppd\"]\n },\n \"application/vnd.cups-raster\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cups-raw\": {\n \"source\": \"iana\"\n },\n \"application/vnd.curl\": {\n \"source\": \"iana\"\n },\n \"application/vnd.curl.car\": {\n \"source\": \"apache\",\n \"extensions\": [\"car\"]\n },\n \"application/vnd.curl.pcurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"pcurl\"]\n },\n \"application/vnd.cyan.dean.root+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cybank\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cyclonedx+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cyclonedx+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.d2l.coursepackage1p0+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.d3m-dataset\": {\n \"source\": \"iana\"\n },\n \"application/vnd.d3m-problem\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dart\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dart\"]\n },\n \"application/vnd.data-vision.rdz\": {\n \"source\": \"iana\",\n \"extensions\": [\"rdz\"]\n },\n \"application/vnd.datapackage+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dataresource+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dbf\": {\n \"source\": \"iana\",\n \"extensions\": [\"dbf\"]\n },\n \"application/vnd.debian.binary-package\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dece.data\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvf\",\"uvvf\",\"uvd\",\"uvvd\"]\n },\n \"application/vnd.dece.ttml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"uvt\",\"uvvt\"]\n },\n \"application/vnd.dece.unspecified\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvx\",\"uvvx\"]\n },\n \"application/vnd.dece.zip\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvz\",\"uvvz\"]\n },\n \"application/vnd.denovo.fcselayout-link\": {\n \"source\": \"iana\",\n \"extensions\": [\"fe_launch\"]\n },\n \"application/vnd.desmume.movie\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dir-bi.plate-dl-nosuffix\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dm.delegation+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dna\": {\n \"source\": \"iana\",\n \"extensions\": [\"dna\"]\n },\n \"application/vnd.document+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dolby.mlp\": {\n \"source\": \"apache\",\n \"extensions\": [\"mlp\"]\n },\n \"application/vnd.dolby.mobile.1\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dolby.mobile.2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.doremir.scorecloud-binary-document\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dpgraph\": {\n \"source\": \"iana\",\n \"extensions\": [\"dpg\"]\n },\n \"application/vnd.dreamfactory\": {\n \"source\": \"iana\",\n \"extensions\": [\"dfac\"]\n },\n \"application/vnd.drive+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ds-keypoint\": {\n \"source\": \"apache\",\n \"extensions\": [\"kpxx\"]\n },\n \"application/vnd.dtg.local\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dtg.local.flash\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dtg.local.html\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ait\": {\n \"source\": \"iana\",\n \"extensions\": [\"ait\"]\n },\n \"application/vnd.dvb.dvbisl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.dvbj\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.esgcontainer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcdftnotifaccess\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcesgaccess\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcesgaccess2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcesgpdd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcroaming\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.iptv.alfec-base\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.iptv.alfec-enhancement\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.notif-aggregate-root+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-container+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-generic+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-ia-msglist+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-ia-registration-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-ia-registration-response+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-init+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.pfr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.service\": {\n \"source\": \"iana\",\n \"extensions\": [\"svc\"]\n },\n \"application/vnd.dxr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dynageo\": {\n \"source\": \"iana\",\n \"extensions\": [\"geo\"]\n },\n \"application/vnd.dzr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.easykaraoke.cdgdownload\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecdis-update\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecip.rlp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.eclipse.ditto+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ecowin.chart\": {\n \"source\": \"iana\",\n \"extensions\": [\"mag\"]\n },\n \"application/vnd.ecowin.filerequest\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.fileupdate\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.series\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.seriesrequest\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.seriesupdate\": {\n \"source\": \"iana\"\n },\n \"application/vnd.efi.img\": {\n \"source\": \"iana\"\n },\n \"application/vnd.efi.iso\": {\n \"source\": \"iana\"\n },\n \"application/vnd.emclient.accessrequest+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.enliven\": {\n \"source\": \"iana\",\n \"extensions\": [\"nml\"]\n },\n \"application/vnd.enphase.envoy\": {\n \"source\": \"iana\"\n },\n \"application/vnd.eprints.data+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.epson.esf\": {\n \"source\": \"iana\",\n \"extensions\": [\"esf\"]\n },\n \"application/vnd.epson.msf\": {\n \"source\": \"iana\",\n \"extensions\": [\"msf\"]\n },\n \"application/vnd.epson.quickanime\": {\n \"source\": \"iana\",\n \"extensions\": [\"qam\"]\n },\n \"application/vnd.epson.salt\": {\n \"source\": \"iana\",\n \"extensions\": [\"slt\"]\n },\n \"application/vnd.epson.ssf\": {\n \"source\": \"iana\",\n \"extensions\": [\"ssf\"]\n },\n \"application/vnd.ericsson.quickcall\": {\n \"source\": \"iana\"\n },\n \"application/vnd.espass-espass+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.eszigno3+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"es3\",\"et3\"]\n },\n \"application/vnd.etsi.aoc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.asic-e+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.etsi.asic-s+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.etsi.cug+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvcommand+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvdiscovery+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvprofile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvsad-bc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvsad-cod+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvsad-npvr+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvservice+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvsync+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvueprofile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.mcid+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.mheg5\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.overload-control-policy-dataset+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.pstn+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.sci+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.simservs+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.timestamp-token\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.tsl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.tsl.der\": {\n \"source\": \"iana\"\n },\n \"application/vnd.eu.kasparian.car+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.eudora.data\": {\n \"source\": \"iana\"\n },\n \"application/vnd.evolv.ecig.profile\": {\n \"source\": \"iana\"\n },\n \"application/vnd.evolv.ecig.settings\": {\n \"source\": \"iana\"\n },\n \"application/vnd.evolv.ecig.theme\": {\n \"source\": \"iana\"\n },\n \"application/vnd.exstream-empower+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.exstream-package\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ezpix-album\": {\n \"source\": \"iana\",\n \"extensions\": [\"ez2\"]\n },\n \"application/vnd.ezpix-package\": {\n \"source\": \"iana\",\n \"extensions\": [\"ez3\"]\n },\n \"application/vnd.f-secure.mobile\": {\n \"source\": \"iana\"\n },\n \"application/vnd.familysearch.gedcom+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.fastcopy-disk-image\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fdf\": {\n \"source\": \"iana\",\n \"extensions\": [\"fdf\"]\n },\n \"application/vnd.fdsn.mseed\": {\n \"source\": \"iana\",\n \"extensions\": [\"mseed\"]\n },\n \"application/vnd.fdsn.seed\": {\n \"source\": \"iana\",\n \"extensions\": [\"seed\",\"dataless\"]\n },\n \"application/vnd.ffsns\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ficlab.flb+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.filmit.zfc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fints\": {\n \"source\": \"iana\"\n },\n \"application/vnd.firemonkeys.cloudcell\": {\n \"source\": \"iana\"\n },\n \"application/vnd.flographit\": {\n \"source\": \"iana\",\n \"extensions\": [\"gph\"]\n },\n \"application/vnd.fluxtime.clip\": {\n \"source\": \"iana\",\n \"extensions\": [\"ftc\"]\n },\n \"application/vnd.font-fontforge-sfd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.framemaker\": {\n \"source\": \"iana\",\n \"extensions\": [\"fm\",\"frame\",\"maker\",\"book\"]\n },\n \"application/vnd.frogans.fnc\": {\n \"source\": \"iana\",\n \"extensions\": [\"fnc\"]\n },\n \"application/vnd.frogans.ltf\": {\n \"source\": \"iana\",\n \"extensions\": [\"ltf\"]\n },\n \"application/vnd.fsc.weblaunch\": {\n \"source\": \"iana\",\n \"extensions\": [\"fsc\"]\n },\n \"application/vnd.fujifilm.fb.docuworks\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujifilm.fb.docuworks.binder\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujifilm.fb.docuworks.container\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujifilm.fb.jfi+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.fujitsu.oasys\": {\n \"source\": \"iana\",\n \"extensions\": [\"oas\"]\n },\n \"application/vnd.fujitsu.oasys2\": {\n \"source\": \"iana\",\n \"extensions\": [\"oa2\"]\n },\n \"application/vnd.fujitsu.oasys3\": {\n \"source\": \"iana\",\n \"extensions\": [\"oa3\"]\n },\n \"application/vnd.fujitsu.oasysgp\": {\n \"source\": \"iana\",\n \"extensions\": [\"fg5\"]\n },\n \"application/vnd.fujitsu.oasysprs\": {\n \"source\": \"iana\",\n \"extensions\": [\"bh2\"]\n },\n \"application/vnd.fujixerox.art-ex\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujixerox.art4\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujixerox.ddd\": {\n \"source\": \"iana\",\n \"extensions\": [\"ddd\"]\n },\n \"application/vnd.fujixerox.docuworks\": {\n \"source\": \"iana\",\n \"extensions\": [\"xdw\"]\n },\n \"application/vnd.fujixerox.docuworks.binder\": {\n \"source\": \"iana\",\n \"extensions\": [\"xbd\"]\n },\n \"application/vnd.fujixerox.docuworks.container\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujixerox.hbpl\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fut-misnet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.futoin+cbor\": {\n \"source\": \"iana\"\n },\n \"application/vnd.futoin+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.fuzzysheet\": {\n \"source\": \"iana\",\n \"extensions\": [\"fzs\"]\n },\n \"application/vnd.genomatix.tuxedo\": {\n \"source\": \"iana\",\n \"extensions\": [\"txd\"]\n },\n \"application/vnd.gentics.grd+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.geo+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.geocube+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.geogebra.file\": {\n \"source\": \"iana\",\n \"extensions\": [\"ggb\"]\n },\n \"application/vnd.geogebra.slides\": {\n \"source\": \"iana\"\n },\n \"application/vnd.geogebra.tool\": {\n \"source\": \"iana\",\n \"extensions\": [\"ggt\"]\n },\n \"application/vnd.geometry-explorer\": {\n \"source\": \"iana\",\n \"extensions\": [\"gex\",\"gre\"]\n },\n \"application/vnd.geonext\": {\n \"source\": \"iana\",\n \"extensions\": [\"gxt\"]\n },\n \"application/vnd.geoplan\": {\n \"source\": \"iana\",\n \"extensions\": [\"g2w\"]\n },\n \"application/vnd.geospace\": {\n \"source\": \"iana\",\n \"extensions\": [\"g3w\"]\n },\n \"application/vnd.gerber\": {\n \"source\": \"iana\"\n },\n \"application/vnd.globalplatform.card-content-mgt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.globalplatform.card-content-mgt-response\": {\n \"source\": \"iana\"\n },\n \"application/vnd.gmx\": {\n \"source\": \"iana\",\n \"extensions\": [\"gmx\"]\n },\n \"application/vnd.google-apps.document\": {\n \"compressible\": false,\n \"extensions\": [\"gdoc\"]\n },\n \"application/vnd.google-apps.presentation\": {\n \"compressible\": false,\n \"extensions\": [\"gslides\"]\n },\n \"application/vnd.google-apps.spreadsheet\": {\n \"compressible\": false,\n \"extensions\": [\"gsheet\"]\n },\n \"application/vnd.google-earth.kml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"kml\"]\n },\n \"application/vnd.google-earth.kmz\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"kmz\"]\n },\n \"application/vnd.gov.sk.e-form+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.gov.sk.e-form+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.gov.sk.xmldatacontainer+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.grafeq\": {\n \"source\": \"iana\",\n \"extensions\": [\"gqf\",\"gqs\"]\n },\n \"application/vnd.gridmp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.groove-account\": {\n \"source\": \"iana\",\n \"extensions\": [\"gac\"]\n },\n \"application/vnd.groove-help\": {\n \"source\": \"iana\",\n \"extensions\": [\"ghf\"]\n },\n \"application/vnd.groove-identity-message\": {\n \"source\": \"iana\",\n \"extensions\": [\"gim\"]\n },\n \"application/vnd.groove-injector\": {\n \"source\": \"iana\",\n \"extensions\": [\"grv\"]\n },\n \"application/vnd.groove-tool-message\": {\n \"source\": \"iana\",\n \"extensions\": [\"gtm\"]\n },\n \"application/vnd.groove-tool-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"tpl\"]\n },\n \"application/vnd.groove-vcard\": {\n \"source\": \"iana\",\n \"extensions\": [\"vcg\"]\n },\n \"application/vnd.hal+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hal+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"hal\"]\n },\n \"application/vnd.handheld-entertainment+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"zmm\"]\n },\n \"application/vnd.hbci\": {\n \"source\": \"iana\",\n \"extensions\": [\"hbci\"]\n },\n \"application/vnd.hc+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hcl-bireports\": {\n \"source\": \"iana\"\n },\n \"application/vnd.hdt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.heroku+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hhe.lesson-player\": {\n \"source\": \"iana\",\n \"extensions\": [\"les\"]\n },\n \"application/vnd.hl7cda+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.hl7v2+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.hp-hpgl\": {\n \"source\": \"iana\",\n \"extensions\": [\"hpgl\"]\n },\n \"application/vnd.hp-hpid\": {\n \"source\": \"iana\",\n \"extensions\": [\"hpid\"]\n },\n \"application/vnd.hp-hps\": {\n \"source\": \"iana\",\n \"extensions\": [\"hps\"]\n },\n \"application/vnd.hp-jlyt\": {\n \"source\": \"iana\",\n \"extensions\": [\"jlt\"]\n },\n \"application/vnd.hp-pcl\": {\n \"source\": \"iana\",\n \"extensions\": [\"pcl\"]\n },\n \"application/vnd.hp-pclxl\": {\n \"source\": \"iana\",\n \"extensions\": [\"pclxl\"]\n },\n \"application/vnd.httphone\": {\n \"source\": \"iana\"\n },\n \"application/vnd.hydrostatix.sof-data\": {\n \"source\": \"iana\",\n \"extensions\": [\"sfd-hdstx\"]\n },\n \"application/vnd.hyper+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hyper-item+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hyperdrive+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hzn-3d-crossword\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ibm.afplinedata\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ibm.electronic-media\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ibm.minipay\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpy\"]\n },\n \"application/vnd.ibm.modcap\": {\n \"source\": \"iana\",\n \"extensions\": [\"afp\",\"listafp\",\"list3820\"]\n },\n \"application/vnd.ibm.rights-management\": {\n \"source\": \"iana\",\n \"extensions\": [\"irm\"]\n },\n \"application/vnd.ibm.secure-container\": {\n \"source\": \"iana\",\n \"extensions\": [\"sc\"]\n },\n \"application/vnd.iccprofile\": {\n \"source\": \"iana\",\n \"extensions\": [\"icc\",\"icm\"]\n },\n \"application/vnd.ieee.1905\": {\n \"source\": \"iana\"\n },\n \"application/vnd.igloader\": {\n \"source\": \"iana\",\n \"extensions\": [\"igl\"]\n },\n \"application/vnd.imagemeter.folder+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.imagemeter.image+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.immervision-ivp\": {\n \"source\": \"iana\",\n \"extensions\": [\"ivp\"]\n },\n \"application/vnd.immervision-ivu\": {\n \"source\": \"iana\",\n \"extensions\": [\"ivu\"]\n },\n \"application/vnd.ims.imsccv1p1\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ims.imsccv1p2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ims.imsccv1p3\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ims.lis.v2.result+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolconsumerprofile+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolproxy+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolproxy.id+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolsettings+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolsettings.simple+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.informedcontrol.rms+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.informix-visionary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.infotech.project\": {\n \"source\": \"iana\"\n },\n \"application/vnd.infotech.project+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.innopath.wamp.notification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.insors.igm\": {\n \"source\": \"iana\",\n \"extensions\": [\"igm\"]\n },\n \"application/vnd.intercon.formnet\": {\n \"source\": \"iana\",\n \"extensions\": [\"xpw\",\"xpx\"]\n },\n \"application/vnd.intergeo\": {\n \"source\": \"iana\",\n \"extensions\": [\"i2g\"]\n },\n \"application/vnd.intertrust.digibox\": {\n \"source\": \"iana\"\n },\n \"application/vnd.intertrust.nncp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.intu.qbo\": {\n \"source\": \"iana\",\n \"extensions\": [\"qbo\"]\n },\n \"application/vnd.intu.qfx\": {\n \"source\": \"iana\",\n \"extensions\": [\"qfx\"]\n },\n \"application/vnd.iptc.g2.catalogitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.conceptitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.knowledgeitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.newsitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.newsmessage+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.packageitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.planningitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ipunplugged.rcprofile\": {\n \"source\": \"iana\",\n \"extensions\": [\"rcprofile\"]\n },\n \"application/vnd.irepository.package+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"irp\"]\n },\n \"application/vnd.is-xpr\": {\n \"source\": \"iana\",\n \"extensions\": [\"xpr\"]\n },\n \"application/vnd.isac.fcs\": {\n \"source\": \"iana\",\n \"extensions\": [\"fcs\"]\n },\n \"application/vnd.iso11783-10+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.jam\": {\n \"source\": \"iana\",\n \"extensions\": [\"jam\"]\n },\n \"application/vnd.japannet-directory-service\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-jpnstore-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-payment-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-registration\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-registration-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-setstore-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-verification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-verification-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.jcp.javame.midlet-rms\": {\n \"source\": \"iana\",\n \"extensions\": [\"rms\"]\n },\n \"application/vnd.jisp\": {\n \"source\": \"iana\",\n \"extensions\": [\"jisp\"]\n },\n \"application/vnd.joost.joda-archive\": {\n \"source\": \"iana\",\n \"extensions\": [\"joda\"]\n },\n \"application/vnd.jsk.isdn-ngn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.kahootz\": {\n \"source\": \"iana\",\n \"extensions\": [\"ktz\",\"ktr\"]\n },\n \"application/vnd.kde.karbon\": {\n \"source\": \"iana\",\n \"extensions\": [\"karbon\"]\n },\n \"application/vnd.kde.kchart\": {\n \"source\": \"iana\",\n \"extensions\": [\"chrt\"]\n },\n \"application/vnd.kde.kformula\": {\n \"source\": \"iana\",\n \"extensions\": [\"kfo\"]\n },\n \"application/vnd.kde.kivio\": {\n \"source\": \"iana\",\n \"extensions\": [\"flw\"]\n },\n \"application/vnd.kde.kontour\": {\n \"source\": \"iana\",\n \"extensions\": [\"kon\"]\n },\n \"application/vnd.kde.kpresenter\": {\n \"source\": \"iana\",\n \"extensions\": [\"kpr\",\"kpt\"]\n },\n \"application/vnd.kde.kspread\": {\n \"source\": \"iana\",\n \"extensions\": [\"ksp\"]\n },\n \"application/vnd.kde.kword\": {\n \"source\": \"iana\",\n \"extensions\": [\"kwd\",\"kwt\"]\n },\n \"application/vnd.kenameaapp\": {\n \"source\": \"iana\",\n \"extensions\": [\"htke\"]\n },\n \"application/vnd.kidspiration\": {\n \"source\": \"iana\",\n \"extensions\": [\"kia\"]\n },\n \"application/vnd.kinar\": {\n \"source\": \"iana\",\n \"extensions\": [\"kne\",\"knp\"]\n },\n \"application/vnd.koan\": {\n \"source\": \"iana\",\n \"extensions\": [\"skp\",\"skd\",\"skt\",\"skm\"]\n },\n \"application/vnd.kodak-descriptor\": {\n \"source\": \"iana\",\n \"extensions\": [\"sse\"]\n },\n \"application/vnd.las\": {\n \"source\": \"iana\"\n },\n \"application/vnd.las.las+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.las.las+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"lasxml\"]\n },\n \"application/vnd.laszip\": {\n \"source\": \"iana\"\n },\n \"application/vnd.leap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.liberty-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.llamagraphics.life-balance.desktop\": {\n \"source\": \"iana\",\n \"extensions\": [\"lbd\"]\n },\n \"application/vnd.llamagraphics.life-balance.exchange+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"lbe\"]\n },\n \"application/vnd.logipipe.circuit+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.loom\": {\n \"source\": \"iana\"\n },\n \"application/vnd.lotus-1-2-3\": {\n \"source\": \"iana\",\n \"extensions\": [\"123\"]\n },\n \"application/vnd.lotus-approach\": {\n \"source\": \"iana\",\n \"extensions\": [\"apr\"]\n },\n \"application/vnd.lotus-freelance\": {\n \"source\": \"iana\",\n \"extensions\": [\"pre\"]\n },\n \"application/vnd.lotus-notes\": {\n \"source\": \"iana\",\n \"extensions\": [\"nsf\"]\n },\n \"application/vnd.lotus-organizer\": {\n \"source\": \"iana\",\n \"extensions\": [\"org\"]\n },\n \"application/vnd.lotus-screencam\": {\n \"source\": \"iana\",\n \"extensions\": [\"scm\"]\n },\n \"application/vnd.lotus-wordpro\": {\n \"source\": \"iana\",\n \"extensions\": [\"lwp\"]\n },\n \"application/vnd.macports.portpkg\": {\n \"source\": \"iana\",\n \"extensions\": [\"portpkg\"]\n },\n \"application/vnd.mapbox-vector-tile\": {\n \"source\": \"iana\",\n \"extensions\": [\"mvt\"]\n },\n \"application/vnd.marlin.drm.actiontoken+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.marlin.drm.conftoken+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.marlin.drm.license+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.marlin.drm.mdcf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mason+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.maxar.archive.3tz+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.maxmind.maxmind-db\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mcd\": {\n \"source\": \"iana\",\n \"extensions\": [\"mcd\"]\n },\n \"application/vnd.medcalcdata\": {\n \"source\": \"iana\",\n \"extensions\": [\"mc1\"]\n },\n \"application/vnd.mediastation.cdkey\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdkey\"]\n },\n \"application/vnd.meridian-slingshot\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mfer\": {\n \"source\": \"iana\",\n \"extensions\": [\"mwf\"]\n },\n \"application/vnd.mfmp\": {\n \"source\": \"iana\",\n \"extensions\": [\"mfm\"]\n },\n \"application/vnd.micro+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.micrografx.flo\": {\n \"source\": \"iana\",\n \"extensions\": [\"flo\"]\n },\n \"application/vnd.micrografx.igx\": {\n \"source\": \"iana\",\n \"extensions\": [\"igx\"]\n },\n \"application/vnd.microsoft.portable-executable\": {\n \"source\": \"iana\"\n },\n \"application/vnd.microsoft.windows.thumbnail-cache\": {\n \"source\": \"iana\"\n },\n \"application/vnd.miele+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.mif\": {\n \"source\": \"iana\",\n \"extensions\": [\"mif\"]\n },\n \"application/vnd.minisoft-hp3000-save\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mitsubishi.misty-guard.trustweb\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mobius.daf\": {\n \"source\": \"iana\",\n \"extensions\": [\"daf\"]\n },\n \"application/vnd.mobius.dis\": {\n \"source\": \"iana\",\n \"extensions\": [\"dis\"]\n },\n \"application/vnd.mobius.mbk\": {\n \"source\": \"iana\",\n \"extensions\": [\"mbk\"]\n },\n \"application/vnd.mobius.mqy\": {\n \"source\": \"iana\",\n \"extensions\": [\"mqy\"]\n },\n \"application/vnd.mobius.msl\": {\n \"source\": \"iana\",\n \"extensions\": [\"msl\"]\n },\n \"application/vnd.mobius.plc\": {\n \"source\": \"iana\",\n \"extensions\": [\"plc\"]\n },\n \"application/vnd.mobius.txf\": {\n \"source\": \"iana\",\n \"extensions\": [\"txf\"]\n },\n \"application/vnd.mophun.application\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpn\"]\n },\n \"application/vnd.mophun.certificate\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpc\"]\n },\n \"application/vnd.motorola.flexsuite\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.adsi\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.fis\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.gotap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.kmr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.ttc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.wem\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.iprm\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mozilla.xul+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xul\"]\n },\n \"application/vnd.ms-3mfdocument\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-artgalry\": {\n \"source\": \"iana\",\n \"extensions\": [\"cil\"]\n },\n \"application/vnd.ms-asf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-cab-compressed\": {\n \"source\": \"iana\",\n \"extensions\": [\"cab\"]\n },\n \"application/vnd.ms-color.iccprofile\": {\n \"source\": \"apache\"\n },\n \"application/vnd.ms-excel\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"xls\",\"xlm\",\"xla\",\"xlc\",\"xlt\",\"xlw\"]\n },\n \"application/vnd.ms-excel.addin.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xlam\"]\n },\n \"application/vnd.ms-excel.sheet.binary.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xlsb\"]\n },\n \"application/vnd.ms-excel.sheet.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xlsm\"]\n },\n \"application/vnd.ms-excel.template.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xltm\"]\n },\n \"application/vnd.ms-fontobject\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"eot\"]\n },\n \"application/vnd.ms-htmlhelp\": {\n \"source\": \"iana\",\n \"extensions\": [\"chm\"]\n },\n \"application/vnd.ms-ims\": {\n \"source\": \"iana\",\n \"extensions\": [\"ims\"]\n },\n \"application/vnd.ms-lrm\": {\n \"source\": \"iana\",\n \"extensions\": [\"lrm\"]\n },\n \"application/vnd.ms-office.activex+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ms-officetheme\": {\n \"source\": \"iana\",\n \"extensions\": [\"thmx\"]\n },\n \"application/vnd.ms-opentype\": {\n \"source\": \"apache\",\n \"compressible\": true\n },\n \"application/vnd.ms-outlook\": {\n \"compressible\": false,\n \"extensions\": [\"msg\"]\n },\n \"application/vnd.ms-package.obfuscated-opentype\": {\n \"source\": \"apache\"\n },\n \"application/vnd.ms-pki.seccat\": {\n \"source\": \"apache\",\n \"extensions\": [\"cat\"]\n },\n \"application/vnd.ms-pki.stl\": {\n \"source\": \"apache\",\n \"extensions\": [\"stl\"]\n },\n \"application/vnd.ms-playready.initiator+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ms-powerpoint\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ppt\",\"pps\",\"pot\"]\n },\n \"application/vnd.ms-powerpoint.addin.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppam\"]\n },\n \"application/vnd.ms-powerpoint.presentation.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"pptm\"]\n },\n \"application/vnd.ms-powerpoint.slide.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"sldm\"]\n },\n \"application/vnd.ms-powerpoint.slideshow.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppsm\"]\n },\n \"application/vnd.ms-powerpoint.template.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"potm\"]\n },\n \"application/vnd.ms-printdevicecapabilities+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ms-printing.printticket+xml\": {\n \"source\": \"apache\",\n \"compressible\": true\n },\n \"application/vnd.ms-printschematicket+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ms-project\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpp\",\"mpt\"]\n },\n \"application/vnd.ms-tnef\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.devicepairing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.nwprinting.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.printerpairing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.wsd.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.lic-chlg-req\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.lic-resp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.meter-chlg-req\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.meter-resp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-word.document.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"docm\"]\n },\n \"application/vnd.ms-word.template.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"dotm\"]\n },\n \"application/vnd.ms-works\": {\n \"source\": \"iana\",\n \"extensions\": [\"wps\",\"wks\",\"wcm\",\"wdb\"]\n },\n \"application/vnd.ms-wpl\": {\n \"source\": \"iana\",\n \"extensions\": [\"wpl\"]\n },\n \"application/vnd.ms-xpsdocument\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"xps\"]\n },\n \"application/vnd.msa-disk-image\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mseq\": {\n \"source\": \"iana\",\n \"extensions\": [\"mseq\"]\n },\n \"application/vnd.msign\": {\n \"source\": \"iana\"\n },\n \"application/vnd.multiad.creator\": {\n \"source\": \"iana\"\n },\n \"application/vnd.multiad.creator.cif\": {\n \"source\": \"iana\"\n },\n \"application/vnd.music-niff\": {\n \"source\": \"iana\"\n },\n \"application/vnd.musician\": {\n \"source\": \"iana\",\n \"extensions\": [\"mus\"]\n },\n \"application/vnd.muvee.style\": {\n \"source\": \"iana\",\n \"extensions\": [\"msty\"]\n },\n \"application/vnd.mynfc\": {\n \"source\": \"iana\",\n \"extensions\": [\"taglet\"]\n },\n \"application/vnd.nacamar.ybrid+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ncd.control\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ncd.reference\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nearst.inv+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nebumind.line\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nervana\": {\n \"source\": \"iana\"\n },\n \"application/vnd.netfpx\": {\n \"source\": \"iana\"\n },\n \"application/vnd.neurolanguage.nlu\": {\n \"source\": \"iana\",\n \"extensions\": [\"nlu\"]\n },\n \"application/vnd.nimn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nintendo.nitro.rom\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nintendo.snes.rom\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nitf\": {\n \"source\": \"iana\",\n \"extensions\": [\"ntf\",\"nitf\"]\n },\n \"application/vnd.noblenet-directory\": {\n \"source\": \"iana\",\n \"extensions\": [\"nnd\"]\n },\n \"application/vnd.noblenet-sealer\": {\n \"source\": \"iana\",\n \"extensions\": [\"nns\"]\n },\n \"application/vnd.noblenet-web\": {\n \"source\": \"iana\",\n \"extensions\": [\"nnw\"]\n },\n \"application/vnd.nokia.catalogs\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.conml+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.conml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.iptv.config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.isds-radio-presets\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.landmark+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.landmark+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.landmarkcollection+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.n-gage.ac+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ac\"]\n },\n \"application/vnd.nokia.n-gage.data\": {\n \"source\": \"iana\",\n \"extensions\": [\"ngdat\"]\n },\n \"application/vnd.nokia.n-gage.symbian.install\": {\n \"source\": \"iana\",\n \"extensions\": [\"n-gage\"]\n },\n \"application/vnd.nokia.ncd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.pcd+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.pcd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.radio-preset\": {\n \"source\": \"iana\",\n \"extensions\": [\"rpst\"]\n },\n \"application/vnd.nokia.radio-presets\": {\n \"source\": \"iana\",\n \"extensions\": [\"rpss\"]\n },\n \"application/vnd.novadigm.edm\": {\n \"source\": \"iana\",\n \"extensions\": [\"edm\"]\n },\n \"application/vnd.novadigm.edx\": {\n \"source\": \"iana\",\n \"extensions\": [\"edx\"]\n },\n \"application/vnd.novadigm.ext\": {\n \"source\": \"iana\",\n \"extensions\": [\"ext\"]\n },\n \"application/vnd.ntt-local.content-share\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.file-transfer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.ogw_remote-access\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.sip-ta_remote\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.sip-ta_tcp_stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oasis.opendocument.chart\": {\n \"source\": \"iana\",\n \"extensions\": [\"odc\"]\n },\n \"application/vnd.oasis.opendocument.chart-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"otc\"]\n },\n \"application/vnd.oasis.opendocument.database\": {\n \"source\": \"iana\",\n \"extensions\": [\"odb\"]\n },\n \"application/vnd.oasis.opendocument.formula\": {\n \"source\": \"iana\",\n \"extensions\": [\"odf\"]\n },\n \"application/vnd.oasis.opendocument.formula-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"odft\"]\n },\n \"application/vnd.oasis.opendocument.graphics\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"odg\"]\n },\n \"application/vnd.oasis.opendocument.graphics-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"otg\"]\n },\n \"application/vnd.oasis.opendocument.image\": {\n \"source\": \"iana\",\n \"extensions\": [\"odi\"]\n },\n \"application/vnd.oasis.opendocument.image-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"oti\"]\n },\n \"application/vnd.oasis.opendocument.presentation\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"odp\"]\n },\n \"application/vnd.oasis.opendocument.presentation-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"otp\"]\n },\n \"application/vnd.oasis.opendocument.spreadsheet\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ods\"]\n },\n \"application/vnd.oasis.opendocument.spreadsheet-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"ots\"]\n },\n \"application/vnd.oasis.opendocument.text\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"odt\"]\n },\n \"application/vnd.oasis.opendocument.text-master\": {\n \"source\": \"iana\",\n \"extensions\": [\"odm\"]\n },\n \"application/vnd.oasis.opendocument.text-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"ott\"]\n },\n \"application/vnd.oasis.opendocument.text-web\": {\n \"source\": \"iana\",\n \"extensions\": [\"oth\"]\n },\n \"application/vnd.obn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ocf+cbor\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oci.image.manifest.v1+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oftn.l10n+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.contentaccessdownload+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.contentaccessstreaming+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.cspg-hexbinary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.dae.svg+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.dae.xhtml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.mippvcontrolmessage+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.pae.gem\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.spdiscovery+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.spdlist+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.ueprofile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.userprofile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.olpc-sugar\": {\n \"source\": \"iana\",\n \"extensions\": [\"xo\"]\n },\n \"application/vnd.oma-scws-config\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma-scws-http-request\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma-scws-http-response\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.associated-procedure-parameter+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.drm-trigger+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.imd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.ltkm\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.notification+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.provisioningtrigger\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.sgboot\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.sgdd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.sgdu\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.simple-symbol-container\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.smartcard-trigger+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.sprov+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.stkm\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.cab-address-book+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.cab-feature-handler+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.cab-pcc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.cab-subs-invite+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.cab-user-prefs+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.dcd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.dcdc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.dd2+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dd2\"]\n },\n \"application/vnd.oma.drm.risd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.group-usage-list+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.lwm2m+cbor\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.lwm2m+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.lwm2m+tlv\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.pal+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.detailed-progress-report+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.final-report+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.groups+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.invocation-descriptor+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.optimized-progress-report+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.push\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.scidm.messages+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.xcap-directory+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.omads-email+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.omads-file+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.omads-folder+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.omaloc-supl-init\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepager\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertamp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertamx\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertat\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertatp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertatx\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openblox.game+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"obgx\"]\n },\n \"application/vnd.openblox.game-binary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openeye.oeb\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openofficeorg.extension\": {\n \"source\": \"apache\",\n \"extensions\": [\"oxt\"]\n },\n \"application/vnd.openstreetmap.data+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"osm\"]\n },\n \"application/vnd.opentimestamps.ots\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.custom-properties+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.customxmlproperties+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawing+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.extended-properties+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.comments+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"pptx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slide\": {\n \"source\": \"iana\",\n \"extensions\": [\"sldx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slide+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slideshow\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppsx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.tags+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.template\": {\n \"source\": \"iana\",\n \"extensions\": [\"potx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"xlsx\"]\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.template\": {\n \"source\": \"iana\",\n \"extensions\": [\"xltx\"]\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.theme+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.themeoverride+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.vmldrawing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"docx\"]\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.template\": {\n \"source\": \"iana\",\n \"extensions\": [\"dotx\"]\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-package.core-properties+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-package.relationships+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oracle.resource+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.orange.indata\": {\n \"source\": \"iana\"\n },\n \"application/vnd.osa.netdeploy\": {\n \"source\": \"iana\"\n },\n \"application/vnd.osgeo.mapguide.package\": {\n \"source\": \"iana\",\n \"extensions\": [\"mgp\"]\n },\n \"application/vnd.osgi.bundle\": {\n \"source\": \"iana\"\n },\n \"application/vnd.osgi.dp\": {\n \"source\": \"iana\",\n \"extensions\": [\"dp\"]\n },\n \"application/vnd.osgi.subsystem\": {\n \"source\": \"iana\",\n \"extensions\": [\"esa\"]\n },\n \"application/vnd.otps.ct-kip+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oxli.countgraph\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pagerduty+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.palm\": {\n \"source\": \"iana\",\n \"extensions\": [\"pdb\",\"pqa\",\"oprc\"]\n },\n \"application/vnd.panoply\": {\n \"source\": \"iana\"\n },\n \"application/vnd.paos.xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.patentdive\": {\n \"source\": \"iana\"\n },\n \"application/vnd.patientecommsdoc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pawaafile\": {\n \"source\": \"iana\",\n \"extensions\": [\"paw\"]\n },\n \"application/vnd.pcos\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pg.format\": {\n \"source\": \"iana\",\n \"extensions\": [\"str\"]\n },\n \"application/vnd.pg.osasli\": {\n \"source\": \"iana\",\n \"extensions\": [\"ei6\"]\n },\n \"application/vnd.piaccess.application-licence\": {\n \"source\": \"iana\"\n },\n \"application/vnd.picsel\": {\n \"source\": \"iana\",\n \"extensions\": [\"efif\"]\n },\n \"application/vnd.pmi.widget\": {\n \"source\": \"iana\",\n \"extensions\": [\"wg\"]\n },\n \"application/vnd.poc.group-advertisement+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.pocketlearn\": {\n \"source\": \"iana\",\n \"extensions\": [\"plf\"]\n },\n \"application/vnd.powerbuilder6\": {\n \"source\": \"iana\",\n \"extensions\": [\"pbd\"]\n },\n \"application/vnd.powerbuilder6-s\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder7\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder7-s\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder75\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder75-s\": {\n \"source\": \"iana\"\n },\n \"application/vnd.preminet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.previewsystems.box\": {\n \"source\": \"iana\",\n \"extensions\": [\"box\"]\n },\n \"application/vnd.proteus.magazine\": {\n \"source\": \"iana\",\n \"extensions\": [\"mgz\"]\n },\n \"application/vnd.psfs\": {\n \"source\": \"iana\"\n },\n \"application/vnd.publishare-delta-tree\": {\n \"source\": \"iana\",\n \"extensions\": [\"qps\"]\n },\n \"application/vnd.pvi.ptid1\": {\n \"source\": \"iana\",\n \"extensions\": [\"ptid\"]\n },\n \"application/vnd.pwg-multiplexed\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pwg-xhtml-print+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.qualcomm.brew-app-res\": {\n \"source\": \"iana\"\n },\n \"application/vnd.quarantainenet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.quark.quarkxpress\": {\n \"source\": \"iana\",\n \"extensions\": [\"qxd\",\"qxt\",\"qwd\",\"qwt\",\"qxl\",\"qxb\"]\n },\n \"application/vnd.quobject-quoxdocument\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.moml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit-conf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit-conn+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit-dialog+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit-stream+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-conf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-base+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-fax-detect+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-fax-sendrecv+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-group+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-speech+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-transform+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.rainstor.data\": {\n \"source\": \"iana\"\n },\n \"application/vnd.rapid\": {\n \"source\": \"iana\"\n },\n \"application/vnd.rar\": {\n \"source\": \"iana\",\n \"extensions\": [\"rar\"]\n },\n \"application/vnd.realvnc.bed\": {\n \"source\": \"iana\",\n \"extensions\": [\"bed\"]\n },\n \"application/vnd.recordare.musicxml\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxl\"]\n },\n \"application/vnd.recordare.musicxml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"musicxml\"]\n },\n \"application/vnd.renlearn.rlprint\": {\n \"source\": \"iana\"\n },\n \"application/vnd.resilient.logic\": {\n \"source\": \"iana\"\n },\n \"application/vnd.restful+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.rig.cryptonote\": {\n \"source\": \"iana\",\n \"extensions\": [\"cryptonote\"]\n },\n \"application/vnd.rim.cod\": {\n \"source\": \"apache\",\n \"extensions\": [\"cod\"]\n },\n \"application/vnd.rn-realmedia\": {\n \"source\": \"apache\",\n \"extensions\": [\"rm\"]\n },\n \"application/vnd.rn-realmedia-vbr\": {\n \"source\": \"apache\",\n \"extensions\": [\"rmvb\"]\n },\n \"application/vnd.route66.link66+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"link66\"]\n },\n \"application/vnd.rs-274x\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ruckus.download\": {\n \"source\": \"iana\"\n },\n \"application/vnd.s3sms\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sailingtracker.track\": {\n \"source\": \"iana\",\n \"extensions\": [\"st\"]\n },\n \"application/vnd.sar\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sbm.cid\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sbm.mid2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.scribus\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.3df\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.csf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.doc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.eml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.mht\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.net\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.ppt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.tiff\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.xls\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealedmedia.softseal.html\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealedmedia.softseal.pdf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.seemail\": {\n \"source\": \"iana\",\n \"extensions\": [\"see\"]\n },\n \"application/vnd.seis+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.sema\": {\n \"source\": \"iana\",\n \"extensions\": [\"sema\"]\n },\n \"application/vnd.semd\": {\n \"source\": \"iana\",\n \"extensions\": [\"semd\"]\n },\n \"application/vnd.semf\": {\n \"source\": \"iana\",\n \"extensions\": [\"semf\"]\n },\n \"application/vnd.shade-save-file\": {\n \"source\": \"iana\"\n },\n \"application/vnd.shana.informed.formdata\": {\n \"source\": \"iana\",\n \"extensions\": [\"ifm\"]\n },\n \"application/vnd.shana.informed.formtemplate\": {\n \"source\": \"iana\",\n \"extensions\": [\"itp\"]\n },\n \"application/vnd.shana.informed.interchange\": {\n \"source\": \"iana\",\n \"extensions\": [\"iif\"]\n },\n \"application/vnd.shana.informed.package\": {\n \"source\": \"iana\",\n \"extensions\": [\"ipk\"]\n },\n \"application/vnd.shootproof+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.shopkick+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.shp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.shx\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sigrok.session\": {\n \"source\": \"iana\"\n },\n \"application/vnd.simtech-mindmapper\": {\n \"source\": \"iana\",\n \"extensions\": [\"twd\",\"twds\"]\n },\n \"application/vnd.siren+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.smaf\": {\n \"source\": \"iana\",\n \"extensions\": [\"mmf\"]\n },\n \"application/vnd.smart.notebook\": {\n \"source\": \"iana\"\n },\n \"application/vnd.smart.teacher\": {\n \"source\": \"iana\",\n \"extensions\": [\"teacher\"]\n },\n \"application/vnd.snesdev-page-table\": {\n \"source\": \"iana\"\n },\n \"application/vnd.software602.filler.form+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"fo\"]\n },\n \"application/vnd.software602.filler.form-xml-zip\": {\n \"source\": \"iana\"\n },\n \"application/vnd.solent.sdkm+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sdkm\",\"sdkd\"]\n },\n \"application/vnd.spotfire.dxp\": {\n \"source\": \"iana\",\n \"extensions\": [\"dxp\"]\n },\n \"application/vnd.spotfire.sfs\": {\n \"source\": \"iana\",\n \"extensions\": [\"sfs\"]\n },\n \"application/vnd.sqlite3\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sss-cod\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sss-dtf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sss-ntf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.stardivision.calc\": {\n \"source\": \"apache\",\n \"extensions\": [\"sdc\"]\n },\n \"application/vnd.stardivision.draw\": {\n \"source\": \"apache\",\n \"extensions\": [\"sda\"]\n },\n \"application/vnd.stardivision.impress\": {\n \"source\": \"apache\",\n \"extensions\": [\"sdd\"]\n },\n \"application/vnd.stardivision.math\": {\n \"source\": \"apache\",\n \"extensions\": [\"smf\"]\n },\n \"application/vnd.stardivision.writer\": {\n \"source\": \"apache\",\n \"extensions\": [\"sdw\",\"vor\"]\n },\n \"application/vnd.stardivision.writer-global\": {\n \"source\": \"apache\",\n \"extensions\": [\"sgl\"]\n },\n \"application/vnd.stepmania.package\": {\n \"source\": \"iana\",\n \"extensions\": [\"smzip\"]\n },\n \"application/vnd.stepmania.stepchart\": {\n \"source\": \"iana\",\n \"extensions\": [\"sm\"]\n },\n \"application/vnd.street-stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sun.wadl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wadl\"]\n },\n \"application/vnd.sun.xml.calc\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxc\"]\n },\n \"application/vnd.sun.xml.calc.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"stc\"]\n },\n \"application/vnd.sun.xml.draw\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxd\"]\n },\n \"application/vnd.sun.xml.draw.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"std\"]\n },\n \"application/vnd.sun.xml.impress\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxi\"]\n },\n \"application/vnd.sun.xml.impress.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"sti\"]\n },\n \"application/vnd.sun.xml.math\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxm\"]\n },\n \"application/vnd.sun.xml.writer\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxw\"]\n },\n \"application/vnd.sun.xml.writer.global\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxg\"]\n },\n \"application/vnd.sun.xml.writer.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"stw\"]\n },\n \"application/vnd.sus-calendar\": {\n \"source\": \"iana\",\n \"extensions\": [\"sus\",\"susp\"]\n },\n \"application/vnd.svd\": {\n \"source\": \"iana\",\n \"extensions\": [\"svd\"]\n },\n \"application/vnd.swiftview-ics\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sycle+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.syft+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.symbian.install\": {\n \"source\": \"apache\",\n \"extensions\": [\"sis\",\"sisx\"]\n },\n \"application/vnd.syncml+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"xsm\"]\n },\n \"application/vnd.syncml.dm+wbxml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"extensions\": [\"bdm\"]\n },\n \"application/vnd.syncml.dm+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"xdm\"]\n },\n \"application/vnd.syncml.dm.notification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.dmddf+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.dmddf+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"ddf\"]\n },\n \"application/vnd.syncml.dmtnds+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.dmtnds+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.syncml.ds.notification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.tableschema+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.tao.intent-module-archive\": {\n \"source\": \"iana\",\n \"extensions\": [\"tao\"]\n },\n \"application/vnd.tcpdump.pcap\": {\n \"source\": \"iana\",\n \"extensions\": [\"pcap\",\"cap\",\"dmp\"]\n },\n \"application/vnd.think-cell.ppttc+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.tmd.mediaflex.api+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.tml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.tmobile-livetv\": {\n \"source\": \"iana\",\n \"extensions\": [\"tmo\"]\n },\n \"application/vnd.tri.onesource\": {\n \"source\": \"iana\"\n },\n \"application/vnd.trid.tpt\": {\n \"source\": \"iana\",\n \"extensions\": [\"tpt\"]\n },\n \"application/vnd.triscape.mxs\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxs\"]\n },\n \"application/vnd.trueapp\": {\n \"source\": \"iana\",\n \"extensions\": [\"tra\"]\n },\n \"application/vnd.truedoc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ubisoft.webplayer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ufdl\": {\n \"source\": \"iana\",\n \"extensions\": [\"ufd\",\"ufdl\"]\n },\n \"application/vnd.uiq.theme\": {\n \"source\": \"iana\",\n \"extensions\": [\"utz\"]\n },\n \"application/vnd.umajin\": {\n \"source\": \"iana\",\n \"extensions\": [\"umj\"]\n },\n \"application/vnd.unity\": {\n \"source\": \"iana\",\n \"extensions\": [\"unityweb\"]\n },\n \"application/vnd.uoml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"uoml\"]\n },\n \"application/vnd.uplanet.alert\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.alert-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.bearer-choice\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.bearer-choice-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.cacheop\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.cacheop-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.channel\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.channel-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.list\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.list-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.listcmd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.listcmd-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.signal\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uri-map\": {\n \"source\": \"iana\"\n },\n \"application/vnd.valve.source.material\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vcx\": {\n \"source\": \"iana\",\n \"extensions\": [\"vcx\"]\n },\n \"application/vnd.vd-study\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vectorworks\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vel+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.verimatrix.vcas\": {\n \"source\": \"iana\"\n },\n \"application/vnd.veritone.aion+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.veryant.thin\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ves.encrypted\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vidsoft.vidconference\": {\n \"source\": \"iana\"\n },\n \"application/vnd.visio\": {\n \"source\": \"iana\",\n \"extensions\": [\"vsd\",\"vst\",\"vss\",\"vsw\"]\n },\n \"application/vnd.visionary\": {\n \"source\": \"iana\",\n \"extensions\": [\"vis\"]\n },\n \"application/vnd.vividence.scriptfile\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vsf\": {\n \"source\": \"iana\",\n \"extensions\": [\"vsf\"]\n },\n \"application/vnd.wap.sic\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wap.slc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wap.wbxml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"extensions\": [\"wbxml\"]\n },\n \"application/vnd.wap.wmlc\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmlc\"]\n },\n \"application/vnd.wap.wmlscriptc\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmlsc\"]\n },\n \"application/vnd.webturbo\": {\n \"source\": \"iana\",\n \"extensions\": [\"wtb\"]\n },\n \"application/vnd.wfa.dpp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wfa.p2p\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wfa.wsc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.windows.devicepairing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wmc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wmf.bootstrap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wolfram.mathematica\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wolfram.mathematica.package\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wolfram.player\": {\n \"source\": \"iana\",\n \"extensions\": [\"nbp\"]\n },\n \"application/vnd.wordperfect\": {\n \"source\": \"iana\",\n \"extensions\": [\"wpd\"]\n },\n \"application/vnd.wqd\": {\n \"source\": \"iana\",\n \"extensions\": [\"wqd\"]\n },\n \"application/vnd.wrq-hp3000-labelled\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wt.stf\": {\n \"source\": \"iana\",\n \"extensions\": [\"stf\"]\n },\n \"application/vnd.wv.csp+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wv.csp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.wv.ssp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.xacml+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.xara\": {\n \"source\": \"iana\",\n \"extensions\": [\"xar\"]\n },\n \"application/vnd.xfdl\": {\n \"source\": \"iana\",\n \"extensions\": [\"xfdl\"]\n },\n \"application/vnd.xfdl.webform\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmi+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.xmpie.cpkg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.dpkg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.plan\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.ppkg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.xlim\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yamaha.hv-dic\": {\n \"source\": \"iana\",\n \"extensions\": [\"hvd\"]\n },\n \"application/vnd.yamaha.hv-script\": {\n \"source\": \"iana\",\n \"extensions\": [\"hvs\"]\n },\n \"application/vnd.yamaha.hv-voice\": {\n \"source\": \"iana\",\n \"extensions\": [\"hvp\"]\n },\n \"application/vnd.yamaha.openscoreformat\": {\n \"source\": \"iana\",\n \"extensions\": [\"osf\"]\n },\n \"application/vnd.yamaha.openscoreformat.osfpvg+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"osfpvg\"]\n },\n \"application/vnd.yamaha.remote-setup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yamaha.smaf-audio\": {\n \"source\": \"iana\",\n \"extensions\": [\"saf\"]\n },\n \"application/vnd.yamaha.smaf-phrase\": {\n \"source\": \"iana\",\n \"extensions\": [\"spf\"]\n },\n \"application/vnd.yamaha.through-ngn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yamaha.tunnel-udpencap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yaoweme\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yellowriver-custom-menu\": {\n \"source\": \"iana\",\n \"extensions\": [\"cmp\"]\n },\n \"application/vnd.youtube.yt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.zul\": {\n \"source\": \"iana\",\n \"extensions\": [\"zir\",\"zirz\"]\n },\n \"application/vnd.zzazz.deck+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"zaz\"]\n },\n \"application/voicexml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"vxml\"]\n },\n \"application/voucher-cms+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vq-rtcpxr\": {\n \"source\": \"iana\"\n },\n \"application/wasm\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wasm\"]\n },\n \"application/watcherinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wif\"]\n },\n \"application/webpush-options+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/whoispp-query\": {\n \"source\": \"iana\"\n },\n \"application/whoispp-response\": {\n \"source\": \"iana\"\n },\n \"application/widget\": {\n \"source\": \"iana\",\n \"extensions\": [\"wgt\"]\n },\n \"application/winhlp\": {\n \"source\": \"apache\",\n \"extensions\": [\"hlp\"]\n },\n \"application/wita\": {\n \"source\": \"iana\"\n },\n \"application/wordperfect5.1\": {\n \"source\": \"iana\"\n },\n \"application/wsdl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wsdl\"]\n },\n \"application/wspolicy+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wspolicy\"]\n },\n \"application/x-7z-compressed\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"7z\"]\n },\n \"application/x-abiword\": {\n \"source\": \"apache\",\n \"extensions\": [\"abw\"]\n },\n \"application/x-ace-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"ace\"]\n },\n \"application/x-amf\": {\n \"source\": \"apache\"\n },\n \"application/x-apple-diskimage\": {\n \"source\": \"apache\",\n \"extensions\": [\"dmg\"]\n },\n \"application/x-arj\": {\n \"compressible\": false,\n \"extensions\": [\"arj\"]\n },\n \"application/x-authorware-bin\": {\n \"source\": \"apache\",\n \"extensions\": [\"aab\",\"x32\",\"u32\",\"vox\"]\n },\n \"application/x-authorware-map\": {\n \"source\": \"apache\",\n \"extensions\": [\"aam\"]\n },\n \"application/x-authorware-seg\": {\n \"source\": \"apache\",\n \"extensions\": [\"aas\"]\n },\n \"application/x-bcpio\": {\n \"source\": \"apache\",\n \"extensions\": [\"bcpio\"]\n },\n \"application/x-bdoc\": {\n \"compressible\": false,\n \"extensions\": [\"bdoc\"]\n },\n \"application/x-bittorrent\": {\n \"source\": \"apache\",\n \"extensions\": [\"torrent\"]\n },\n \"application/x-blorb\": {\n \"source\": \"apache\",\n \"extensions\": [\"blb\",\"blorb\"]\n },\n \"application/x-bzip\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"bz\"]\n },\n \"application/x-bzip2\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"bz2\",\"boz\"]\n },\n \"application/x-cbr\": {\n \"source\": \"apache\",\n \"extensions\": [\"cbr\",\"cba\",\"cbt\",\"cbz\",\"cb7\"]\n },\n \"application/x-cdlink\": {\n \"source\": \"apache\",\n \"extensions\": [\"vcd\"]\n },\n \"application/x-cfs-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"cfs\"]\n },\n \"application/x-chat\": {\n \"source\": \"apache\",\n \"extensions\": [\"chat\"]\n },\n \"application/x-chess-pgn\": {\n \"source\": \"apache\",\n \"extensions\": [\"pgn\"]\n },\n \"application/x-chrome-extension\": {\n \"extensions\": [\"crx\"]\n },\n \"application/x-cocoa\": {\n \"source\": \"nginx\",\n \"extensions\": [\"cco\"]\n },\n \"application/x-compress\": {\n \"source\": \"apache\"\n },\n \"application/x-conference\": {\n \"source\": \"apache\",\n \"extensions\": [\"nsc\"]\n },\n \"application/x-cpio\": {\n \"source\": \"apache\",\n \"extensions\": [\"cpio\"]\n },\n \"application/x-csh\": {\n \"source\": \"apache\",\n \"extensions\": [\"csh\"]\n },\n \"application/x-deb\": {\n \"compressible\": false\n },\n \"application/x-debian-package\": {\n \"source\": \"apache\",\n \"extensions\": [\"deb\",\"udeb\"]\n },\n \"application/x-dgc-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"dgc\"]\n },\n \"application/x-director\": {\n \"source\": \"apache\",\n \"extensions\": [\"dir\",\"dcr\",\"dxr\",\"cst\",\"cct\",\"cxt\",\"w3d\",\"fgd\",\"swa\"]\n },\n \"application/x-doom\": {\n \"source\": \"apache\",\n \"extensions\": [\"wad\"]\n },\n \"application/x-dtbncx+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"ncx\"]\n },\n \"application/x-dtbook+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"dtb\"]\n },\n \"application/x-dtbresource+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"res\"]\n },\n \"application/x-dvi\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"dvi\"]\n },\n \"application/x-envoy\": {\n \"source\": \"apache\",\n \"extensions\": [\"evy\"]\n },\n \"application/x-eva\": {\n \"source\": \"apache\",\n \"extensions\": [\"eva\"]\n },\n \"application/x-font-bdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"bdf\"]\n },\n \"application/x-font-dos\": {\n \"source\": \"apache\"\n },\n \"application/x-font-framemaker\": {\n \"source\": \"apache\"\n },\n \"application/x-font-ghostscript\": {\n \"source\": \"apache\",\n \"extensions\": [\"gsf\"]\n },\n \"application/x-font-libgrx\": {\n \"source\": \"apache\"\n },\n \"application/x-font-linux-psf\": {\n \"source\": \"apache\",\n \"extensions\": [\"psf\"]\n },\n \"application/x-font-pcf\": {\n \"source\": \"apache\",\n \"extensions\": [\"pcf\"]\n },\n \"application/x-font-snf\": {\n \"source\": \"apache\",\n \"extensions\": [\"snf\"]\n },\n \"application/x-font-speedo\": {\n \"source\": \"apache\"\n },\n \"application/x-font-sunos-news\": {\n \"source\": \"apache\"\n },\n \"application/x-font-type1\": {\n \"source\": \"apache\",\n \"extensions\": [\"pfa\",\"pfb\",\"pfm\",\"afm\"]\n },\n \"application/x-font-vfont\": {\n \"source\": \"apache\"\n },\n \"application/x-freearc\": {\n \"source\": \"apache\",\n \"extensions\": [\"arc\"]\n },\n \"application/x-futuresplash\": {\n \"source\": \"apache\",\n \"extensions\": [\"spl\"]\n },\n \"application/x-gca-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"gca\"]\n },\n \"application/x-glulx\": {\n \"source\": \"apache\",\n \"extensions\": [\"ulx\"]\n },\n \"application/x-gnumeric\": {\n \"source\": \"apache\",\n \"extensions\": [\"gnumeric\"]\n },\n \"application/x-gramps-xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"gramps\"]\n },\n \"application/x-gtar\": {\n \"source\": \"apache\",\n \"extensions\": [\"gtar\"]\n },\n \"application/x-gzip\": {\n \"source\": \"apache\"\n },\n \"application/x-hdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"hdf\"]\n },\n \"application/x-httpd-php\": {\n \"compressible\": true,\n \"extensions\": [\"php\"]\n },\n \"application/x-install-instructions\": {\n \"source\": \"apache\",\n \"extensions\": [\"install\"]\n },\n \"application/x-iso9660-image\": {\n \"source\": \"apache\",\n \"extensions\": [\"iso\"]\n },\n \"application/x-iwork-keynote-sffkey\": {\n \"extensions\": [\"key\"]\n },\n \"application/x-iwork-numbers-sffnumbers\": {\n \"extensions\": [\"numbers\"]\n },\n \"application/x-iwork-pages-sffpages\": {\n \"extensions\": [\"pages\"]\n },\n \"application/x-java-archive-diff\": {\n \"source\": \"nginx\",\n \"extensions\": [\"jardiff\"]\n },\n \"application/x-java-jnlp-file\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"jnlp\"]\n },\n \"application/x-javascript\": {\n \"compressible\": true\n },\n \"application/x-keepass2\": {\n \"extensions\": [\"kdbx\"]\n },\n \"application/x-latex\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"latex\"]\n },\n \"application/x-lua-bytecode\": {\n \"extensions\": [\"luac\"]\n },\n \"application/x-lzh-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"lzh\",\"lha\"]\n },\n \"application/x-makeself\": {\n \"source\": \"nginx\",\n \"extensions\": [\"run\"]\n },\n \"application/x-mie\": {\n \"source\": \"apache\",\n \"extensions\": [\"mie\"]\n },\n \"application/x-mobipocket-ebook\": {\n \"source\": \"apache\",\n \"extensions\": [\"prc\",\"mobi\"]\n },\n \"application/x-mpegurl\": {\n \"compressible\": false\n },\n \"application/x-ms-application\": {\n \"source\": \"apache\",\n \"extensions\": [\"application\"]\n },\n \"application/x-ms-shortcut\": {\n \"source\": \"apache\",\n \"extensions\": [\"lnk\"]\n },\n \"application/x-ms-wmd\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmd\"]\n },\n \"application/x-ms-wmz\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmz\"]\n },\n \"application/x-ms-xbap\": {\n \"source\": \"apache\",\n \"extensions\": [\"xbap\"]\n },\n \"application/x-msaccess\": {\n \"source\": \"apache\",\n \"extensions\": [\"mdb\"]\n },\n \"application/x-msbinder\": {\n \"source\": \"apache\",\n \"extensions\": [\"obd\"]\n },\n \"application/x-mscardfile\": {\n \"source\": \"apache\",\n \"extensions\": [\"crd\"]\n },\n \"application/x-msclip\": {\n \"source\": \"apache\",\n \"extensions\": [\"clp\"]\n },\n \"application/x-msdos-program\": {\n \"extensions\": [\"exe\"]\n },\n \"application/x-msdownload\": {\n \"source\": \"apache\",\n \"extensions\": [\"exe\",\"dll\",\"com\",\"bat\",\"msi\"]\n },\n \"application/x-msmediaview\": {\n \"source\": \"apache\",\n \"extensions\": [\"mvb\",\"m13\",\"m14\"]\n },\n \"application/x-msmetafile\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmf\",\"wmz\",\"emf\",\"emz\"]\n },\n \"application/x-msmoney\": {\n \"source\": \"apache\",\n \"extensions\": [\"mny\"]\n },\n \"application/x-mspublisher\": {\n \"source\": \"apache\",\n \"extensions\": [\"pub\"]\n },\n \"application/x-msschedule\": {\n \"source\": \"apache\",\n \"extensions\": [\"scd\"]\n },\n \"application/x-msterminal\": {\n \"source\": \"apache\",\n \"extensions\": [\"trm\"]\n },\n \"application/x-mswrite\": {\n \"source\": \"apache\",\n \"extensions\": [\"wri\"]\n },\n \"application/x-netcdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"nc\",\"cdf\"]\n },\n \"application/x-ns-proxy-autoconfig\": {\n \"compressible\": true,\n \"extensions\": [\"pac\"]\n },\n \"application/x-nzb\": {\n \"source\": \"apache\",\n \"extensions\": [\"nzb\"]\n },\n \"application/x-perl\": {\n \"source\": \"nginx\",\n \"extensions\": [\"pl\",\"pm\"]\n },\n \"application/x-pilot\": {\n \"source\": \"nginx\",\n \"extensions\": [\"prc\",\"pdb\"]\n },\n \"application/x-pkcs12\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"p12\",\"pfx\"]\n },\n \"application/x-pkcs7-certificates\": {\n \"source\": \"apache\",\n \"extensions\": [\"p7b\",\"spc\"]\n },\n \"application/x-pkcs7-certreqresp\": {\n \"source\": \"apache\",\n \"extensions\": [\"p7r\"]\n },\n \"application/x-pki-message\": {\n \"source\": \"iana\"\n },\n \"application/x-rar-compressed\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"rar\"]\n },\n \"application/x-redhat-package-manager\": {\n \"source\": \"nginx\",\n \"extensions\": [\"rpm\"]\n },\n \"application/x-research-info-systems\": {\n \"source\": \"apache\",\n \"extensions\": [\"ris\"]\n },\n \"application/x-sea\": {\n \"source\": \"nginx\",\n \"extensions\": [\"sea\"]\n },\n \"application/x-sh\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"sh\"]\n },\n \"application/x-shar\": {\n \"source\": \"apache\",\n \"extensions\": [\"shar\"]\n },\n \"application/x-shockwave-flash\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"swf\"]\n },\n \"application/x-silverlight-app\": {\n \"source\": \"apache\",\n \"extensions\": [\"xap\"]\n },\n \"application/x-sql\": {\n \"source\": \"apache\",\n \"extensions\": [\"sql\"]\n },\n \"application/x-stuffit\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"sit\"]\n },\n \"application/x-stuffitx\": {\n \"source\": \"apache\",\n \"extensions\": [\"sitx\"]\n },\n \"application/x-subrip\": {\n \"source\": \"apache\",\n \"extensions\": [\"srt\"]\n },\n \"application/x-sv4cpio\": {\n \"source\": \"apache\",\n \"extensions\": [\"sv4cpio\"]\n },\n \"application/x-sv4crc\": {\n \"source\": \"apache\",\n \"extensions\": [\"sv4crc\"]\n },\n \"application/x-t3vm-image\": {\n \"source\": \"apache\",\n \"extensions\": [\"t3\"]\n },\n \"application/x-tads\": {\n \"source\": \"apache\",\n \"extensions\": [\"gam\"]\n },\n \"application/x-tar\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"tar\"]\n },\n \"application/x-tcl\": {\n \"source\": \"apache\",\n \"extensions\": [\"tcl\",\"tk\"]\n },\n \"application/x-tex\": {\n \"source\": \"apache\",\n \"extensions\": [\"tex\"]\n },\n \"application/x-tex-tfm\": {\n \"source\": \"apache\",\n \"extensions\": [\"tfm\"]\n },\n \"application/x-texinfo\": {\n \"source\": \"apache\",\n \"extensions\": [\"texinfo\",\"texi\"]\n },\n \"application/x-tgif\": {\n \"source\": \"apache\",\n \"extensions\": [\"obj\"]\n },\n \"application/x-ustar\": {\n \"source\": \"apache\",\n \"extensions\": [\"ustar\"]\n },\n \"application/x-virtualbox-hdd\": {\n \"compressible\": true,\n \"extensions\": [\"hdd\"]\n },\n \"application/x-virtualbox-ova\": {\n \"compressible\": true,\n \"extensions\": [\"ova\"]\n },\n \"application/x-virtualbox-ovf\": {\n \"compressible\": true,\n \"extensions\": [\"ovf\"]\n },\n \"application/x-virtualbox-vbox\": {\n \"compressible\": true,\n \"extensions\": [\"vbox\"]\n },\n \"application/x-virtualbox-vbox-extpack\": {\n \"compressible\": false,\n \"extensions\": [\"vbox-extpack\"]\n },\n \"application/x-virtualbox-vdi\": {\n \"compressible\": true,\n \"extensions\": [\"vdi\"]\n },\n \"application/x-virtualbox-vhd\": {\n \"compressible\": true,\n \"extensions\": [\"vhd\"]\n },\n \"application/x-virtualbox-vmdk\": {\n \"compressible\": true,\n \"extensions\": [\"vmdk\"]\n },\n \"application/x-wais-source\": {\n \"source\": \"apache\",\n \"extensions\": [\"src\"]\n },\n \"application/x-web-app-manifest+json\": {\n \"compressible\": true,\n \"extensions\": [\"webapp\"]\n },\n \"application/x-www-form-urlencoded\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/x-x509-ca-cert\": {\n \"source\": \"iana\",\n \"extensions\": [\"der\",\"crt\",\"pem\"]\n },\n \"application/x-x509-ca-ra-cert\": {\n \"source\": \"iana\"\n },\n \"application/x-x509-next-ca-cert\": {\n \"source\": \"iana\"\n },\n \"application/x-xfig\": {\n \"source\": \"apache\",\n \"extensions\": [\"fig\"]\n },\n \"application/x-xliff+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"xlf\"]\n },\n \"application/x-xpinstall\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"xpi\"]\n },\n \"application/x-xz\": {\n \"source\": \"apache\",\n \"extensions\": [\"xz\"]\n },\n \"application/x-zmachine\": {\n \"source\": \"apache\",\n \"extensions\": [\"z1\",\"z2\",\"z3\",\"z4\",\"z5\",\"z6\",\"z7\",\"z8\"]\n },\n \"application/x400-bp\": {\n \"source\": \"iana\"\n },\n \"application/xacml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xaml+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"xaml\"]\n },\n \"application/xcap-att+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xav\"]\n },\n \"application/xcap-caps+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xca\"]\n },\n \"application/xcap-diff+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xdf\"]\n },\n \"application/xcap-el+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xel\"]\n },\n \"application/xcap-error+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xcap-ns+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xns\"]\n },\n \"application/xcon-conference-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xcon-conference-info-diff+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xenc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xenc\"]\n },\n \"application/xhtml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xhtml\",\"xht\"]\n },\n \"application/xhtml-voice+xml\": {\n \"source\": \"apache\",\n \"compressible\": true\n },\n \"application/xliff+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xlf\"]\n },\n \"application/xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xml\",\"xsl\",\"xsd\",\"rng\"]\n },\n \"application/xml-dtd\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dtd\"]\n },\n \"application/xml-external-parsed-entity\": {\n \"source\": \"iana\"\n },\n \"application/xml-patch+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xmpp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xop+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xop\"]\n },\n \"application/xproc+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"xpl\"]\n },\n \"application/xslt+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xsl\",\"xslt\"]\n },\n \"application/xspf+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"xspf\"]\n },\n \"application/xv+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mxml\",\"xhvml\",\"xvml\",\"xvm\"]\n },\n \"application/yang\": {\n \"source\": \"iana\",\n \"extensions\": [\"yang\"]\n },\n \"application/yang-data+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/yang-data+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/yang-patch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/yang-patch+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/yin+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"yin\"]\n },\n \"application/zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"zip\"]\n },\n \"application/zlib\": {\n \"source\": \"iana\"\n },\n \"application/zstd\": {\n \"source\": \"iana\"\n },\n \"audio/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"audio/32kadpcm\": {\n \"source\": \"iana\"\n },\n \"audio/3gpp\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"3gpp\"]\n },\n \"audio/3gpp2\": {\n \"source\": \"iana\"\n },\n \"audio/aac\": {\n \"source\": \"iana\"\n },\n \"audio/ac3\": {\n \"source\": \"iana\"\n },\n \"audio/adpcm\": {\n \"source\": \"apache\",\n \"extensions\": [\"adp\"]\n },\n \"audio/amr\": {\n \"source\": \"iana\",\n \"extensions\": [\"amr\"]\n },\n \"audio/amr-wb\": {\n \"source\": \"iana\"\n },\n \"audio/amr-wb+\": {\n \"source\": \"iana\"\n },\n \"audio/aptx\": {\n \"source\": \"iana\"\n },\n \"audio/asc\": {\n \"source\": \"iana\"\n },\n \"audio/atrac-advanced-lossless\": {\n \"source\": \"iana\"\n },\n \"audio/atrac-x\": {\n \"source\": \"iana\"\n },\n \"audio/atrac3\": {\n \"source\": \"iana\"\n },\n \"audio/basic\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"au\",\"snd\"]\n },\n \"audio/bv16\": {\n \"source\": \"iana\"\n },\n \"audio/bv32\": {\n \"source\": \"iana\"\n },\n \"audio/clearmode\": {\n \"source\": \"iana\"\n },\n \"audio/cn\": {\n \"source\": \"iana\"\n },\n \"audio/dat12\": {\n \"source\": \"iana\"\n },\n \"audio/dls\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es201108\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es202050\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es202211\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es202212\": {\n \"source\": \"iana\"\n },\n \"audio/dv\": {\n \"source\": \"iana\"\n },\n \"audio/dvi4\": {\n \"source\": \"iana\"\n },\n \"audio/eac3\": {\n \"source\": \"iana\"\n },\n \"audio/encaprtp\": {\n \"source\": \"iana\"\n },\n \"audio/evrc\": {\n \"source\": \"iana\"\n },\n \"audio/evrc-qcp\": {\n \"source\": \"iana\"\n },\n \"audio/evrc0\": {\n \"source\": \"iana\"\n },\n \"audio/evrc1\": {\n \"source\": \"iana\"\n },\n \"audio/evrcb\": {\n \"source\": \"iana\"\n },\n \"audio/evrcb0\": {\n \"source\": \"iana\"\n },\n \"audio/evrcb1\": {\n \"source\": \"iana\"\n },\n \"audio/evrcnw\": {\n \"source\": \"iana\"\n },\n \"audio/evrcnw0\": {\n \"source\": \"iana\"\n },\n \"audio/evrcnw1\": {\n \"source\": \"iana\"\n },\n \"audio/evrcwb\": {\n \"source\": \"iana\"\n },\n \"audio/evrcwb0\": {\n \"source\": \"iana\"\n },\n \"audio/evrcwb1\": {\n \"source\": \"iana\"\n },\n \"audio/evs\": {\n \"source\": \"iana\"\n },\n \"audio/flexfec\": {\n \"source\": \"iana\"\n },\n \"audio/fwdred\": {\n \"source\": \"iana\"\n },\n \"audio/g711-0\": {\n \"source\": \"iana\"\n },\n \"audio/g719\": {\n \"source\": \"iana\"\n },\n \"audio/g722\": {\n \"source\": \"iana\"\n },\n \"audio/g7221\": {\n \"source\": \"iana\"\n },\n \"audio/g723\": {\n \"source\": \"iana\"\n },\n \"audio/g726-16\": {\n \"source\": \"iana\"\n },\n \"audio/g726-24\": {\n \"source\": \"iana\"\n },\n \"audio/g726-32\": {\n \"source\": \"iana\"\n },\n \"audio/g726-40\": {\n \"source\": \"iana\"\n },\n \"audio/g728\": {\n \"source\": \"iana\"\n },\n \"audio/g729\": {\n \"source\": \"iana\"\n },\n \"audio/g7291\": {\n \"source\": \"iana\"\n },\n \"audio/g729d\": {\n \"source\": \"iana\"\n },\n \"audio/g729e\": {\n \"source\": \"iana\"\n },\n \"audio/gsm\": {\n \"source\": \"iana\"\n },\n \"audio/gsm-efr\": {\n \"source\": \"iana\"\n },\n \"audio/gsm-hr-08\": {\n \"source\": \"iana\"\n },\n \"audio/ilbc\": {\n \"source\": \"iana\"\n },\n \"audio/ip-mr_v2.5\": {\n \"source\": \"iana\"\n },\n \"audio/isac\": {\n \"source\": \"apache\"\n },\n \"audio/l16\": {\n \"source\": \"iana\"\n },\n \"audio/l20\": {\n \"source\": \"iana\"\n },\n \"audio/l24\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"audio/l8\": {\n \"source\": \"iana\"\n },\n \"audio/lpc\": {\n \"source\": \"iana\"\n },\n \"audio/melp\": {\n \"source\": \"iana\"\n },\n \"audio/melp1200\": {\n \"source\": \"iana\"\n },\n \"audio/melp2400\": {\n \"source\": \"iana\"\n },\n \"audio/melp600\": {\n \"source\": \"iana\"\n },\n \"audio/mhas\": {\n \"source\": \"iana\"\n },\n \"audio/midi\": {\n \"source\": \"apache\",\n \"extensions\": [\"mid\",\"midi\",\"kar\",\"rmi\"]\n },\n \"audio/mobile-xmf\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxmf\"]\n },\n \"audio/mp3\": {\n \"compressible\": false,\n \"extensions\": [\"mp3\"]\n },\n \"audio/mp4\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"m4a\",\"mp4a\"]\n },\n \"audio/mp4a-latm\": {\n \"source\": \"iana\"\n },\n \"audio/mpa\": {\n \"source\": \"iana\"\n },\n \"audio/mpa-robust\": {\n \"source\": \"iana\"\n },\n \"audio/mpeg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"mpga\",\"mp2\",\"mp2a\",\"mp3\",\"m2a\",\"m3a\"]\n },\n \"audio/mpeg4-generic\": {\n \"source\": \"iana\"\n },\n \"audio/musepack\": {\n \"source\": \"apache\"\n },\n \"audio/ogg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"oga\",\"ogg\",\"spx\",\"opus\"]\n },\n \"audio/opus\": {\n \"source\": \"iana\"\n },\n \"audio/parityfec\": {\n \"source\": \"iana\"\n },\n \"audio/pcma\": {\n \"source\": \"iana\"\n },\n \"audio/pcma-wb\": {\n \"source\": \"iana\"\n },\n \"audio/pcmu\": {\n \"source\": \"iana\"\n },\n \"audio/pcmu-wb\": {\n \"source\": \"iana\"\n },\n \"audio/prs.sid\": {\n \"source\": \"iana\"\n },\n \"audio/qcelp\": {\n \"source\": \"iana\"\n },\n \"audio/raptorfec\": {\n \"source\": \"iana\"\n },\n \"audio/red\": {\n \"source\": \"iana\"\n },\n \"audio/rtp-enc-aescm128\": {\n \"source\": \"iana\"\n },\n \"audio/rtp-midi\": {\n \"source\": \"iana\"\n },\n \"audio/rtploopback\": {\n \"source\": \"iana\"\n },\n \"audio/rtx\": {\n \"source\": \"iana\"\n },\n \"audio/s3m\": {\n \"source\": \"apache\",\n \"extensions\": [\"s3m\"]\n },\n \"audio/scip\": {\n \"source\": \"iana\"\n },\n \"audio/silk\": {\n \"source\": \"apache\",\n \"extensions\": [\"sil\"]\n },\n \"audio/smv\": {\n \"source\": \"iana\"\n },\n \"audio/smv-qcp\": {\n \"source\": \"iana\"\n },\n \"audio/smv0\": {\n \"source\": \"iana\"\n },\n \"audio/sofa\": {\n \"source\": \"iana\"\n },\n \"audio/sp-midi\": {\n \"source\": \"iana\"\n },\n \"audio/speex\": {\n \"source\": \"iana\"\n },\n \"audio/t140c\": {\n \"source\": \"iana\"\n },\n \"audio/t38\": {\n \"source\": \"iana\"\n },\n \"audio/telephone-event\": {\n \"source\": \"iana\"\n },\n \"audio/tetra_acelp\": {\n \"source\": \"iana\"\n },\n \"audio/tetra_acelp_bb\": {\n \"source\": \"iana\"\n },\n \"audio/tone\": {\n \"source\": \"iana\"\n },\n \"audio/tsvcis\": {\n \"source\": \"iana\"\n },\n \"audio/uemclip\": {\n \"source\": \"iana\"\n },\n \"audio/ulpfec\": {\n \"source\": \"iana\"\n },\n \"audio/usac\": {\n \"source\": \"iana\"\n },\n \"audio/vdvi\": {\n \"source\": \"iana\"\n },\n \"audio/vmr-wb\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.3gpp.iufp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.4sb\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.audiokoz\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.celp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cisco.nse\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cmles.radio-events\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cns.anp1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cns.inf1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dece.audio\": {\n \"source\": \"iana\",\n \"extensions\": [\"uva\",\"uvva\"]\n },\n \"audio/vnd.digital-winds\": {\n \"source\": \"iana\",\n \"extensions\": [\"eol\"]\n },\n \"audio/vnd.dlna.adts\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.heaac.1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.heaac.2\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.mlp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.mps\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pl2\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pl2x\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pl2z\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pulse.1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dra\": {\n \"source\": \"iana\",\n \"extensions\": [\"dra\"]\n },\n \"audio/vnd.dts\": {\n \"source\": \"iana\",\n \"extensions\": [\"dts\"]\n },\n \"audio/vnd.dts.hd\": {\n \"source\": \"iana\",\n \"extensions\": [\"dtshd\"]\n },\n \"audio/vnd.dts.uhd\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dvb.file\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.everad.plj\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.hns.audio\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.lucent.voice\": {\n \"source\": \"iana\",\n \"extensions\": [\"lvp\"]\n },\n \"audio/vnd.ms-playready.media.pya\": {\n \"source\": \"iana\",\n \"extensions\": [\"pya\"]\n },\n \"audio/vnd.nokia.mobile-xmf\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.nortel.vbk\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.nuera.ecelp4800\": {\n \"source\": \"iana\",\n \"extensions\": [\"ecelp4800\"]\n },\n \"audio/vnd.nuera.ecelp7470\": {\n \"source\": \"iana\",\n \"extensions\": [\"ecelp7470\"]\n },\n \"audio/vnd.nuera.ecelp9600\": {\n \"source\": \"iana\",\n \"extensions\": [\"ecelp9600\"]\n },\n \"audio/vnd.octel.sbc\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.presonus.multitrack\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.qcelp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.rhetorex.32kadpcm\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.rip\": {\n \"source\": \"iana\",\n \"extensions\": [\"rip\"]\n },\n \"audio/vnd.rn-realaudio\": {\n \"compressible\": false\n },\n \"audio/vnd.sealedmedia.softseal.mpeg\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.vmx.cvsd\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.wave\": {\n \"compressible\": false\n },\n \"audio/vorbis\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"audio/vorbis-config\": {\n \"source\": \"iana\"\n },\n \"audio/wav\": {\n \"compressible\": false,\n \"extensions\": [\"wav\"]\n },\n \"audio/wave\": {\n \"compressible\": false,\n \"extensions\": [\"wav\"]\n },\n \"audio/webm\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"weba\"]\n },\n \"audio/x-aac\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"aac\"]\n },\n \"audio/x-aiff\": {\n \"source\": \"apache\",\n \"extensions\": [\"aif\",\"aiff\",\"aifc\"]\n },\n \"audio/x-caf\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"caf\"]\n },\n \"audio/x-flac\": {\n \"source\": \"apache\",\n \"extensions\": [\"flac\"]\n },\n \"audio/x-m4a\": {\n \"source\": \"nginx\",\n \"extensions\": [\"m4a\"]\n },\n \"audio/x-matroska\": {\n \"source\": \"apache\",\n \"extensions\": [\"mka\"]\n },\n \"audio/x-mpegurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"m3u\"]\n },\n \"audio/x-ms-wax\": {\n \"source\": \"apache\",\n \"extensions\": [\"wax\"]\n },\n \"audio/x-ms-wma\": {\n \"source\": \"apache\",\n \"extensions\": [\"wma\"]\n },\n \"audio/x-pn-realaudio\": {\n \"source\": \"apache\",\n \"extensions\": [\"ram\",\"ra\"]\n },\n \"audio/x-pn-realaudio-plugin\": {\n \"source\": \"apache\",\n \"extensions\": [\"rmp\"]\n },\n \"audio/x-realaudio\": {\n \"source\": \"nginx\",\n \"extensions\": [\"ra\"]\n },\n \"audio/x-tta\": {\n \"source\": \"apache\"\n },\n \"audio/x-wav\": {\n \"source\": \"apache\",\n \"extensions\": [\"wav\"]\n },\n \"audio/xm\": {\n \"source\": \"apache\",\n \"extensions\": [\"xm\"]\n },\n \"chemical/x-cdx\": {\n \"source\": \"apache\",\n \"extensions\": [\"cdx\"]\n },\n \"chemical/x-cif\": {\n \"source\": \"apache\",\n \"extensions\": [\"cif\"]\n },\n \"chemical/x-cmdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"cmdf\"]\n },\n \"chemical/x-cml\": {\n \"source\": \"apache\",\n \"extensions\": [\"cml\"]\n },\n \"chemical/x-csml\": {\n \"source\": \"apache\",\n \"extensions\": [\"csml\"]\n },\n \"chemical/x-pdb\": {\n \"source\": \"apache\"\n },\n \"chemical/x-xyz\": {\n \"source\": \"apache\",\n \"extensions\": [\"xyz\"]\n },\n \"font/collection\": {\n \"source\": \"iana\",\n \"extensions\": [\"ttc\"]\n },\n \"font/otf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"otf\"]\n },\n \"font/sfnt\": {\n \"source\": \"iana\"\n },\n \"font/ttf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ttf\"]\n },\n \"font/woff\": {\n \"source\": \"iana\",\n \"extensions\": [\"woff\"]\n },\n \"font/woff2\": {\n \"source\": \"iana\",\n \"extensions\": [\"woff2\"]\n },\n \"image/aces\": {\n \"source\": \"iana\",\n \"extensions\": [\"exr\"]\n },\n \"image/apng\": {\n \"compressible\": false,\n \"extensions\": [\"apng\"]\n },\n \"image/avci\": {\n \"source\": \"iana\",\n \"extensions\": [\"avci\"]\n },\n \"image/avcs\": {\n \"source\": \"iana\",\n \"extensions\": [\"avcs\"]\n },\n \"image/avif\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"avif\"]\n },\n \"image/bmp\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"bmp\"]\n },\n \"image/cgm\": {\n \"source\": \"iana\",\n \"extensions\": [\"cgm\"]\n },\n \"image/dicom-rle\": {\n \"source\": \"iana\",\n \"extensions\": [\"drle\"]\n },\n \"image/emf\": {\n \"source\": \"iana\",\n \"extensions\": [\"emf\"]\n },\n \"image/fits\": {\n \"source\": \"iana\",\n \"extensions\": [\"fits\"]\n },\n \"image/g3fax\": {\n \"source\": \"iana\",\n \"extensions\": [\"g3\"]\n },\n \"image/gif\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"gif\"]\n },\n \"image/heic\": {\n \"source\": \"iana\",\n \"extensions\": [\"heic\"]\n },\n \"image/heic-sequence\": {\n \"source\": \"iana\",\n \"extensions\": [\"heics\"]\n },\n \"image/heif\": {\n \"source\": \"iana\",\n \"extensions\": [\"heif\"]\n },\n \"image/heif-sequence\": {\n \"source\": \"iana\",\n \"extensions\": [\"heifs\"]\n },\n \"image/hej2k\": {\n \"source\": \"iana\",\n \"extensions\": [\"hej2\"]\n },\n \"image/hsj2\": {\n \"source\": \"iana\",\n \"extensions\": [\"hsj2\"]\n },\n \"image/ief\": {\n \"source\": \"iana\",\n \"extensions\": [\"ief\"]\n },\n \"image/jls\": {\n \"source\": \"iana\",\n \"extensions\": [\"jls\"]\n },\n \"image/jp2\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"jp2\",\"jpg2\"]\n },\n \"image/jpeg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"jpeg\",\"jpg\",\"jpe\"]\n },\n \"image/jph\": {\n \"source\": \"iana\",\n \"extensions\": [\"jph\"]\n },\n \"image/jphc\": {\n \"source\": \"iana\",\n \"extensions\": [\"jhc\"]\n },\n \"image/jpm\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"jpm\"]\n },\n \"image/jpx\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"jpx\",\"jpf\"]\n },\n \"image/jxr\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxr\"]\n },\n \"image/jxra\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxra\"]\n },\n \"image/jxrs\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxrs\"]\n },\n \"image/jxs\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxs\"]\n },\n \"image/jxsc\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxsc\"]\n },\n \"image/jxsi\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxsi\"]\n },\n \"image/jxss\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxss\"]\n },\n \"image/ktx\": {\n \"source\": \"iana\",\n \"extensions\": [\"ktx\"]\n },\n \"image/ktx2\": {\n \"source\": \"iana\",\n \"extensions\": [\"ktx2\"]\n },\n \"image/naplps\": {\n \"source\": \"iana\"\n },\n \"image/pjpeg\": {\n \"compressible\": false\n },\n \"image/png\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"png\"]\n },\n \"image/prs.btif\": {\n \"source\": \"iana\",\n \"extensions\": [\"btif\"]\n },\n \"image/prs.pti\": {\n \"source\": \"iana\",\n \"extensions\": [\"pti\"]\n },\n \"image/pwg-raster\": {\n \"source\": \"iana\"\n },\n \"image/sgi\": {\n \"source\": \"apache\",\n \"extensions\": [\"sgi\"]\n },\n \"image/svg+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"svg\",\"svgz\"]\n },\n \"image/t38\": {\n \"source\": \"iana\",\n \"extensions\": [\"t38\"]\n },\n \"image/tiff\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"tif\",\"tiff\"]\n },\n \"image/tiff-fx\": {\n \"source\": \"iana\",\n \"extensions\": [\"tfx\"]\n },\n \"image/vnd.adobe.photoshop\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"psd\"]\n },\n \"image/vnd.airzip.accelerator.azv\": {\n \"source\": \"iana\",\n \"extensions\": [\"azv\"]\n },\n \"image/vnd.cns.inf2\": {\n \"source\": \"iana\"\n },\n \"image/vnd.dece.graphic\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvi\",\"uvvi\",\"uvg\",\"uvvg\"]\n },\n \"image/vnd.djvu\": {\n \"source\": \"iana\",\n \"extensions\": [\"djvu\",\"djv\"]\n },\n \"image/vnd.dvb.subtitle\": {\n \"source\": \"iana\",\n \"extensions\": [\"sub\"]\n },\n \"image/vnd.dwg\": {\n \"source\": \"iana\",\n \"extensions\": [\"dwg\"]\n },\n \"image/vnd.dxf\": {\n \"source\": \"iana\",\n \"extensions\": [\"dxf\"]\n },\n \"image/vnd.fastbidsheet\": {\n \"source\": \"iana\",\n \"extensions\": [\"fbs\"]\n },\n \"image/vnd.fpx\": {\n \"source\": \"iana\",\n \"extensions\": [\"fpx\"]\n },\n \"image/vnd.fst\": {\n \"source\": \"iana\",\n \"extensions\": [\"fst\"]\n },\n \"image/vnd.fujixerox.edmics-mmr\": {\n \"source\": \"iana\",\n \"extensions\": [\"mmr\"]\n },\n \"image/vnd.fujixerox.edmics-rlc\": {\n \"source\": \"iana\",\n \"extensions\": [\"rlc\"]\n },\n \"image/vnd.globalgraphics.pgb\": {\n \"source\": \"iana\"\n },\n \"image/vnd.microsoft.icon\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ico\"]\n },\n \"image/vnd.mix\": {\n \"source\": \"iana\"\n },\n \"image/vnd.mozilla.apng\": {\n \"source\": \"iana\"\n },\n \"image/vnd.ms-dds\": {\n \"compressible\": true,\n \"extensions\": [\"dds\"]\n },\n \"image/vnd.ms-modi\": {\n \"source\": \"iana\",\n \"extensions\": [\"mdi\"]\n },\n \"image/vnd.ms-photo\": {\n \"source\": \"apache\",\n \"extensions\": [\"wdp\"]\n },\n \"image/vnd.net-fpx\": {\n \"source\": \"iana\",\n \"extensions\": [\"npx\"]\n },\n \"image/vnd.pco.b16\": {\n \"source\": \"iana\",\n \"extensions\": [\"b16\"]\n },\n \"image/vnd.radiance\": {\n \"source\": \"iana\"\n },\n \"image/vnd.sealed.png\": {\n \"source\": \"iana\"\n },\n \"image/vnd.sealedmedia.softseal.gif\": {\n \"source\": \"iana\"\n },\n \"image/vnd.sealedmedia.softseal.jpg\": {\n \"source\": \"iana\"\n },\n \"image/vnd.svf\": {\n \"source\": \"iana\"\n },\n \"image/vnd.tencent.tap\": {\n \"source\": \"iana\",\n \"extensions\": [\"tap\"]\n },\n \"image/vnd.valve.source.texture\": {\n \"source\": \"iana\",\n \"extensions\": [\"vtf\"]\n },\n \"image/vnd.wap.wbmp\": {\n \"source\": \"iana\",\n \"extensions\": [\"wbmp\"]\n },\n \"image/vnd.xiff\": {\n \"source\": \"iana\",\n \"extensions\": [\"xif\"]\n },\n \"image/vnd.zbrush.pcx\": {\n \"source\": \"iana\",\n \"extensions\": [\"pcx\"]\n },\n \"image/webp\": {\n \"source\": \"apache\",\n \"extensions\": [\"webp\"]\n },\n \"image/wmf\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmf\"]\n },\n \"image/x-3ds\": {\n \"source\": \"apache\",\n \"extensions\": [\"3ds\"]\n },\n \"image/x-cmu-raster\": {\n \"source\": \"apache\",\n \"extensions\": [\"ras\"]\n },\n \"image/x-cmx\": {\n \"source\": \"apache\",\n \"extensions\": [\"cmx\"]\n },\n \"image/x-freehand\": {\n \"source\": \"apache\",\n \"extensions\": [\"fh\",\"fhc\",\"fh4\",\"fh5\",\"fh7\"]\n },\n \"image/x-icon\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"ico\"]\n },\n \"image/x-jng\": {\n \"source\": \"nginx\",\n \"extensions\": [\"jng\"]\n },\n \"image/x-mrsid-image\": {\n \"source\": \"apache\",\n \"extensions\": [\"sid\"]\n },\n \"image/x-ms-bmp\": {\n \"source\": \"nginx\",\n \"compressible\": true,\n \"extensions\": [\"bmp\"]\n },\n \"image/x-pcx\": {\n \"source\": \"apache\",\n \"extensions\": [\"pcx\"]\n },\n \"image/x-pict\": {\n \"source\": \"apache\",\n \"extensions\": [\"pic\",\"pct\"]\n },\n \"image/x-portable-anymap\": {\n \"source\": \"apache\",\n \"extensions\": [\"pnm\"]\n },\n \"image/x-portable-bitmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"pbm\"]\n },\n \"image/x-portable-graymap\": {\n \"source\": \"apache\",\n \"extensions\": [\"pgm\"]\n },\n \"image/x-portable-pixmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"ppm\"]\n },\n \"image/x-rgb\": {\n \"source\": \"apache\",\n \"extensions\": [\"rgb\"]\n },\n \"image/x-tga\": {\n \"source\": \"apache\",\n \"extensions\": [\"tga\"]\n },\n \"image/x-xbitmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"xbm\"]\n },\n \"image/x-xcf\": {\n \"compressible\": false\n },\n \"image/x-xpixmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"xpm\"]\n },\n \"image/x-xwindowdump\": {\n \"source\": \"apache\",\n \"extensions\": [\"xwd\"]\n },\n \"message/cpim\": {\n \"source\": \"iana\"\n },\n \"message/delivery-status\": {\n \"source\": \"iana\"\n },\n \"message/disposition-notification\": {\n \"source\": \"iana\",\n \"extensions\": [\n \"disposition-notification\"\n ]\n },\n \"message/external-body\": {\n \"source\": \"iana\"\n },\n \"message/feedback-report\": {\n \"source\": \"iana\"\n },\n \"message/global\": {\n \"source\": \"iana\",\n \"extensions\": [\"u8msg\"]\n },\n \"message/global-delivery-status\": {\n \"source\": \"iana\",\n \"extensions\": [\"u8dsn\"]\n },\n \"message/global-disposition-notification\": {\n \"source\": \"iana\",\n \"extensions\": [\"u8mdn\"]\n },\n \"message/global-headers\": {\n \"source\": \"iana\",\n \"extensions\": [\"u8hdr\"]\n },\n \"message/http\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"message/imdn+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"message/news\": {\n \"source\": \"iana\"\n },\n \"message/partial\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"message/rfc822\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"eml\",\"mime\"]\n },\n \"message/s-http\": {\n \"source\": \"iana\"\n },\n \"message/sip\": {\n \"source\": \"iana\"\n },\n \"message/sipfrag\": {\n \"source\": \"iana\"\n },\n \"message/tracking-status\": {\n \"source\": \"iana\"\n },\n \"message/vnd.si.simp\": {\n \"source\": \"iana\"\n },\n \"message/vnd.wfa.wsc\": {\n \"source\": \"iana\",\n \"extensions\": [\"wsc\"]\n },\n \"model/3mf\": {\n \"source\": \"iana\",\n \"extensions\": [\"3mf\"]\n },\n \"model/e57\": {\n \"source\": \"iana\"\n },\n \"model/gltf+json\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"gltf\"]\n },\n \"model/gltf-binary\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"glb\"]\n },\n \"model/iges\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"igs\",\"iges\"]\n },\n \"model/mesh\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"msh\",\"mesh\",\"silo\"]\n },\n \"model/mtl\": {\n \"source\": \"iana\",\n \"extensions\": [\"mtl\"]\n },\n \"model/obj\": {\n \"source\": \"iana\",\n \"extensions\": [\"obj\"]\n },\n \"model/step\": {\n \"source\": \"iana\"\n },\n \"model/step+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"stpx\"]\n },\n \"model/step+zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"stpz\"]\n },\n \"model/step-xml+zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"stpxz\"]\n },\n \"model/stl\": {\n \"source\": \"iana\",\n \"extensions\": [\"stl\"]\n },\n \"model/vnd.collada+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dae\"]\n },\n \"model/vnd.dwf\": {\n \"source\": \"iana\",\n \"extensions\": [\"dwf\"]\n },\n \"model/vnd.flatland.3dml\": {\n \"source\": \"iana\"\n },\n \"model/vnd.gdl\": {\n \"source\": \"iana\",\n \"extensions\": [\"gdl\"]\n },\n \"model/vnd.gs-gdl\": {\n \"source\": \"apache\"\n },\n \"model/vnd.gs.gdl\": {\n \"source\": \"iana\"\n },\n \"model/vnd.gtw\": {\n \"source\": \"iana\",\n \"extensions\": [\"gtw\"]\n },\n \"model/vnd.moml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"model/vnd.mts\": {\n \"source\": \"iana\",\n \"extensions\": [\"mts\"]\n },\n \"model/vnd.opengex\": {\n \"source\": \"iana\",\n \"extensions\": [\"ogex\"]\n },\n \"model/vnd.parasolid.transmit.binary\": {\n \"source\": \"iana\",\n \"extensions\": [\"x_b\"]\n },\n \"model/vnd.parasolid.transmit.text\": {\n \"source\": \"iana\",\n \"extensions\": [\"x_t\"]\n },\n \"model/vnd.pytha.pyox\": {\n \"source\": \"iana\"\n },\n \"model/vnd.rosette.annotated-data-model\": {\n \"source\": \"iana\"\n },\n \"model/vnd.sap.vds\": {\n \"source\": \"iana\",\n \"extensions\": [\"vds\"]\n },\n \"model/vnd.usdz+zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"usdz\"]\n },\n \"model/vnd.valve.source.compiled-map\": {\n \"source\": \"iana\",\n \"extensions\": [\"bsp\"]\n },\n \"model/vnd.vtu\": {\n \"source\": \"iana\",\n \"extensions\": [\"vtu\"]\n },\n \"model/vrml\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"wrl\",\"vrml\"]\n },\n \"model/x3d+binary\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"x3db\",\"x3dbz\"]\n },\n \"model/x3d+fastinfoset\": {\n \"source\": \"iana\",\n \"extensions\": [\"x3db\"]\n },\n \"model/x3d+vrml\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"x3dv\",\"x3dvz\"]\n },\n \"model/x3d+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"x3d\",\"x3dz\"]\n },\n \"model/x3d-vrml\": {\n \"source\": \"iana\",\n \"extensions\": [\"x3dv\"]\n },\n \"multipart/alternative\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/appledouble\": {\n \"source\": \"iana\"\n },\n \"multipart/byteranges\": {\n \"source\": \"iana\"\n },\n \"multipart/digest\": {\n \"source\": \"iana\"\n },\n \"multipart/encrypted\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/form-data\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/header-set\": {\n \"source\": \"iana\"\n },\n \"multipart/mixed\": {\n \"source\": \"iana\"\n },\n \"multipart/multilingual\": {\n \"source\": \"iana\"\n },\n \"multipart/parallel\": {\n \"source\": \"iana\"\n },\n \"multipart/related\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/report\": {\n \"source\": \"iana\"\n },\n \"multipart/signed\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/vnd.bint.med-plus\": {\n \"source\": \"iana\"\n },\n \"multipart/voice-message\": {\n \"source\": \"iana\"\n },\n \"multipart/x-mixed-replace\": {\n \"source\": \"iana\"\n },\n \"text/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"text/cache-manifest\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"appcache\",\"manifest\"]\n },\n \"text/calendar\": {\n \"source\": \"iana\",\n \"extensions\": [\"ics\",\"ifb\"]\n },\n \"text/calender\": {\n \"compressible\": true\n },\n \"text/cmd\": {\n \"compressible\": true\n },\n \"text/coffeescript\": {\n \"extensions\": [\"coffee\",\"litcoffee\"]\n },\n \"text/cql\": {\n \"source\": \"iana\"\n },\n \"text/cql-expression\": {\n \"source\": \"iana\"\n },\n \"text/cql-identifier\": {\n \"source\": \"iana\"\n },\n \"text/css\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"css\"]\n },\n \"text/csv\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"csv\"]\n },\n \"text/csv-schema\": {\n \"source\": \"iana\"\n },\n \"text/directory\": {\n \"source\": \"iana\"\n },\n \"text/dns\": {\n \"source\": \"iana\"\n },\n \"text/ecmascript\": {\n \"source\": \"iana\"\n },\n \"text/encaprtp\": {\n \"source\": \"iana\"\n },\n \"text/enriched\": {\n \"source\": \"iana\"\n },\n \"text/fhirpath\": {\n \"source\": \"iana\"\n },\n \"text/flexfec\": {\n \"source\": \"iana\"\n },\n \"text/fwdred\": {\n \"source\": \"iana\"\n },\n \"text/gff3\": {\n \"source\": \"iana\"\n },\n \"text/grammar-ref-list\": {\n \"source\": \"iana\"\n },\n \"text/html\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"html\",\"htm\",\"shtml\"]\n },\n \"text/jade\": {\n \"extensions\": [\"jade\"]\n },\n \"text/javascript\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"text/jcr-cnd\": {\n \"source\": \"iana\"\n },\n \"text/jsx\": {\n \"compressible\": true,\n \"extensions\": [\"jsx\"]\n },\n \"text/less\": {\n \"compressible\": true,\n \"extensions\": [\"less\"]\n },\n \"text/markdown\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"markdown\",\"md\"]\n },\n \"text/mathml\": {\n \"source\": \"nginx\",\n \"extensions\": [\"mml\"]\n },\n \"text/mdx\": {\n \"compressible\": true,\n \"extensions\": [\"mdx\"]\n },\n \"text/mizar\": {\n \"source\": \"iana\"\n },\n \"text/n3\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"n3\"]\n },\n \"text/parameters\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/parityfec\": {\n \"source\": \"iana\"\n },\n \"text/plain\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"txt\",\"text\",\"conf\",\"def\",\"list\",\"log\",\"in\",\"ini\"]\n },\n \"text/provenance-notation\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/prs.fallenstein.rst\": {\n \"source\": \"iana\"\n },\n \"text/prs.lines.tag\": {\n \"source\": \"iana\",\n \"extensions\": [\"dsc\"]\n },\n \"text/prs.prop.logic\": {\n \"source\": \"iana\"\n },\n \"text/raptorfec\": {\n \"source\": \"iana\"\n },\n \"text/red\": {\n \"source\": \"iana\"\n },\n \"text/rfc822-headers\": {\n \"source\": \"iana\"\n },\n \"text/richtext\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rtx\"]\n },\n \"text/rtf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rtf\"]\n },\n \"text/rtp-enc-aescm128\": {\n \"source\": \"iana\"\n },\n \"text/rtploopback\": {\n \"source\": \"iana\"\n },\n \"text/rtx\": {\n \"source\": \"iana\"\n },\n \"text/sgml\": {\n \"source\": \"iana\",\n \"extensions\": [\"sgml\",\"sgm\"]\n },\n \"text/shaclc\": {\n \"source\": \"iana\"\n },\n \"text/shex\": {\n \"source\": \"iana\",\n \"extensions\": [\"shex\"]\n },\n \"text/slim\": {\n \"extensions\": [\"slim\",\"slm\"]\n },\n \"text/spdx\": {\n \"source\": \"iana\",\n \"extensions\": [\"spdx\"]\n },\n \"text/strings\": {\n \"source\": \"iana\"\n },\n \"text/stylus\": {\n \"extensions\": [\"stylus\",\"styl\"]\n },\n \"text/t140\": {\n \"source\": \"iana\"\n },\n \"text/tab-separated-values\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"tsv\"]\n },\n \"text/troff\": {\n \"source\": \"iana\",\n \"extensions\": [\"t\",\"tr\",\"roff\",\"man\",\"me\",\"ms\"]\n },\n \"text/turtle\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"extensions\": [\"ttl\"]\n },\n \"text/ulpfec\": {\n \"source\": \"iana\"\n },\n \"text/uri-list\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"uri\",\"uris\",\"urls\"]\n },\n \"text/vcard\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"vcard\"]\n },\n \"text/vnd.a\": {\n \"source\": \"iana\"\n },\n \"text/vnd.abc\": {\n \"source\": \"iana\"\n },\n \"text/vnd.ascii-art\": {\n \"source\": \"iana\"\n },\n \"text/vnd.curl\": {\n \"source\": \"iana\",\n \"extensions\": [\"curl\"]\n },\n \"text/vnd.curl.dcurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"dcurl\"]\n },\n \"text/vnd.curl.mcurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"mcurl\"]\n },\n \"text/vnd.curl.scurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"scurl\"]\n },\n \"text/vnd.debian.copyright\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/vnd.dmclientscript\": {\n \"source\": \"iana\"\n },\n \"text/vnd.dvb.subtitle\": {\n \"source\": \"iana\",\n \"extensions\": [\"sub\"]\n },\n \"text/vnd.esmertec.theme-descriptor\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/vnd.familysearch.gedcom\": {\n \"source\": \"iana\",\n \"extensions\": [\"ged\"]\n },\n \"text/vnd.ficlab.flt\": {\n \"source\": \"iana\"\n },\n \"text/vnd.fly\": {\n \"source\": \"iana\",\n \"extensions\": [\"fly\"]\n },\n \"text/vnd.fmi.flexstor\": {\n \"source\": \"iana\",\n \"extensions\": [\"flx\"]\n },\n \"text/vnd.gml\": {\n \"source\": \"iana\"\n },\n \"text/vnd.graphviz\": {\n \"source\": \"iana\",\n \"extensions\": [\"gv\"]\n },\n \"text/vnd.hans\": {\n \"source\": \"iana\"\n },\n \"text/vnd.hgl\": {\n \"source\": \"iana\"\n },\n \"text/vnd.in3d.3dml\": {\n \"source\": \"iana\",\n \"extensions\": [\"3dml\"]\n },\n \"text/vnd.in3d.spot\": {\n \"source\": \"iana\",\n \"extensions\": [\"spot\"]\n },\n \"text/vnd.iptc.newsml\": {\n \"source\": \"iana\"\n },\n \"text/vnd.iptc.nitf\": {\n \"source\": \"iana\"\n },\n \"text/vnd.latex-z\": {\n \"source\": \"iana\"\n },\n \"text/vnd.motorola.reflex\": {\n \"source\": \"iana\"\n },\n \"text/vnd.ms-mediapackage\": {\n \"source\": \"iana\"\n },\n \"text/vnd.net2phone.commcenter.command\": {\n \"source\": \"iana\"\n },\n \"text/vnd.radisys.msml-basic-layout\": {\n \"source\": \"iana\"\n },\n \"text/vnd.senx.warpscript\": {\n \"source\": \"iana\"\n },\n \"text/vnd.si.uricatalogue\": {\n \"source\": \"iana\"\n },\n \"text/vnd.sosi\": {\n \"source\": \"iana\"\n },\n \"text/vnd.sun.j2me.app-descriptor\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"extensions\": [\"jad\"]\n },\n \"text/vnd.trolltech.linguist\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/vnd.wap.si\": {\n \"source\": \"iana\"\n },\n \"text/vnd.wap.sl\": {\n \"source\": \"iana\"\n },\n \"text/vnd.wap.wml\": {\n \"source\": \"iana\",\n \"extensions\": [\"wml\"]\n },\n \"text/vnd.wap.wmlscript\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmls\"]\n },\n \"text/vtt\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"vtt\"]\n },\n \"text/x-asm\": {\n \"source\": \"apache\",\n \"extensions\": [\"s\",\"asm\"]\n },\n \"text/x-c\": {\n \"source\": \"apache\",\n \"extensions\": [\"c\",\"cc\",\"cxx\",\"cpp\",\"h\",\"hh\",\"dic\"]\n },\n \"text/x-component\": {\n \"source\": \"nginx\",\n \"extensions\": [\"htc\"]\n },\n \"text/x-fortran\": {\n \"source\": \"apache\",\n \"extensions\": [\"f\",\"for\",\"f77\",\"f90\"]\n },\n \"text/x-gwt-rpc\": {\n \"compressible\": true\n },\n \"text/x-handlebars-template\": {\n \"extensions\": [\"hbs\"]\n },\n \"text/x-java-source\": {\n \"source\": \"apache\",\n \"extensions\": [\"java\"]\n },\n \"text/x-jquery-tmpl\": {\n \"compressible\": true\n },\n \"text/x-lua\": {\n \"extensions\": [\"lua\"]\n },\n \"text/x-markdown\": {\n \"compressible\": true,\n \"extensions\": [\"mkd\"]\n },\n \"text/x-nfo\": {\n \"source\": \"apache\",\n \"extensions\": [\"nfo\"]\n },\n \"text/x-opml\": {\n \"source\": \"apache\",\n \"extensions\": [\"opml\"]\n },\n \"text/x-org\": {\n \"compressible\": true,\n \"extensions\": [\"org\"]\n },\n \"text/x-pascal\": {\n \"source\": \"apache\",\n \"extensions\": [\"p\",\"pas\"]\n },\n \"text/x-processing\": {\n \"compressible\": true,\n \"extensions\": [\"pde\"]\n },\n \"text/x-sass\": {\n \"extensions\": [\"sass\"]\n },\n \"text/x-scss\": {\n \"extensions\": [\"scss\"]\n },\n \"text/x-setext\": {\n \"source\": \"apache\",\n \"extensions\": [\"etx\"]\n },\n \"text/x-sfv\": {\n \"source\": \"apache\",\n \"extensions\": [\"sfv\"]\n },\n \"text/x-suse-ymp\": {\n \"compressible\": true,\n \"extensions\": [\"ymp\"]\n },\n \"text/x-uuencode\": {\n \"source\": \"apache\",\n \"extensions\": [\"uu\"]\n },\n \"text/x-vcalendar\": {\n \"source\": \"apache\",\n \"extensions\": [\"vcs\"]\n },\n \"text/x-vcard\": {\n \"source\": \"apache\",\n \"extensions\": [\"vcf\"]\n },\n \"text/xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xml\"]\n },\n \"text/xml-external-parsed-entity\": {\n \"source\": \"iana\"\n },\n \"text/yaml\": {\n \"compressible\": true,\n \"extensions\": [\"yaml\",\"yml\"]\n },\n \"video/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"video/3gpp\": {\n \"source\": \"iana\",\n \"extensions\": [\"3gp\",\"3gpp\"]\n },\n \"video/3gpp-tt\": {\n \"source\": \"iana\"\n },\n \"video/3gpp2\": {\n \"source\": \"iana\",\n \"extensions\": [\"3g2\"]\n },\n \"video/av1\": {\n \"source\": \"iana\"\n },\n \"video/bmpeg\": {\n \"source\": \"iana\"\n },\n \"video/bt656\": {\n \"source\": \"iana\"\n },\n \"video/celb\": {\n \"source\": \"iana\"\n },\n \"video/dv\": {\n \"source\": \"iana\"\n },\n \"video/encaprtp\": {\n \"source\": \"iana\"\n },\n \"video/ffv1\": {\n \"source\": \"iana\"\n },\n \"video/flexfec\": {\n \"source\": \"iana\"\n },\n \"video/h261\": {\n \"source\": \"iana\",\n \"extensions\": [\"h261\"]\n },\n \"video/h263\": {\n \"source\": \"iana\",\n \"extensions\": [\"h263\"]\n },\n \"video/h263-1998\": {\n \"source\": \"iana\"\n },\n \"video/h263-2000\": {\n \"source\": \"iana\"\n },\n \"video/h264\": {\n \"source\": \"iana\",\n \"extensions\": [\"h264\"]\n },\n \"video/h264-rcdo\": {\n \"source\": \"iana\"\n },\n \"video/h264-svc\": {\n \"source\": \"iana\"\n },\n \"video/h265\": {\n \"source\": \"iana\"\n },\n \"video/iso.segment\": {\n \"source\": \"iana\",\n \"extensions\": [\"m4s\"]\n },\n \"video/jpeg\": {\n \"source\": \"iana\",\n \"extensions\": [\"jpgv\"]\n },\n \"video/jpeg2000\": {\n \"source\": \"iana\"\n },\n \"video/jpm\": {\n \"source\": \"apache\",\n \"extensions\": [\"jpm\",\"jpgm\"]\n },\n \"video/jxsv\": {\n \"source\": \"iana\"\n },\n \"video/mj2\": {\n \"source\": \"iana\",\n \"extensions\": [\"mj2\",\"mjp2\"]\n },\n \"video/mp1s\": {\n \"source\": \"iana\"\n },\n \"video/mp2p\": {\n \"source\": \"iana\"\n },\n \"video/mp2t\": {\n \"source\": \"iana\",\n \"extensions\": [\"ts\"]\n },\n \"video/mp4\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"mp4\",\"mp4v\",\"mpg4\"]\n },\n \"video/mp4v-es\": {\n \"source\": \"iana\"\n },\n \"video/mpeg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"mpeg\",\"mpg\",\"mpe\",\"m1v\",\"m2v\"]\n },\n \"video/mpeg4-generic\": {\n \"source\": \"iana\"\n },\n \"video/mpv\": {\n \"source\": \"iana\"\n },\n \"video/nv\": {\n \"source\": \"iana\"\n },\n \"video/ogg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ogv\"]\n },\n \"video/parityfec\": {\n \"source\": \"iana\"\n },\n \"video/pointer\": {\n \"source\": \"iana\"\n },\n \"video/quicktime\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"qt\",\"mov\"]\n },\n \"video/raptorfec\": {\n \"source\": \"iana\"\n },\n \"video/raw\": {\n \"source\": \"iana\"\n },\n \"video/rtp-enc-aescm128\": {\n \"source\": \"iana\"\n },\n \"video/rtploopback\": {\n \"source\": \"iana\"\n },\n \"video/rtx\": {\n \"source\": \"iana\"\n },\n \"video/scip\": {\n \"source\": \"iana\"\n },\n \"video/smpte291\": {\n \"source\": \"iana\"\n },\n \"video/smpte292m\": {\n \"source\": \"iana\"\n },\n \"video/ulpfec\": {\n \"source\": \"iana\"\n },\n \"video/vc1\": {\n \"source\": \"iana\"\n },\n \"video/vc2\": {\n \"source\": \"iana\"\n },\n \"video/vnd.cctv\": {\n \"source\": \"iana\"\n },\n \"video/vnd.dece.hd\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvh\",\"uvvh\"]\n },\n \"video/vnd.dece.mobile\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvm\",\"uvvm\"]\n },\n \"video/vnd.dece.mp4\": {\n \"source\": \"iana\"\n },\n \"video/vnd.dece.pd\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvp\",\"uvvp\"]\n },\n \"video/vnd.dece.sd\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvs\",\"uvvs\"]\n },\n \"video/vnd.dece.video\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvv\",\"uvvv\"]\n },\n \"video/vnd.directv.mpeg\": {\n \"source\": \"iana\"\n },\n \"video/vnd.directv.mpeg-tts\": {\n \"source\": \"iana\"\n },\n \"video/vnd.dlna.mpeg-tts\": {\n \"source\": \"iana\"\n },\n \"video/vnd.dvb.file\": {\n \"source\": \"iana\",\n \"extensions\": [\"dvb\"]\n },\n \"video/vnd.fvt\": {\n \"source\": \"iana\",\n \"extensions\": [\"fvt\"]\n },\n \"video/vnd.hns.video\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.1dparityfec-1010\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.1dparityfec-2005\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.2dparityfec-1010\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.2dparityfec-2005\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.ttsavc\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.ttsmpeg2\": {\n \"source\": \"iana\"\n },\n \"video/vnd.motorola.video\": {\n \"source\": \"iana\"\n },\n \"video/vnd.motorola.videop\": {\n \"source\": \"iana\"\n },\n \"video/vnd.mpegurl\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxu\",\"m4u\"]\n },\n \"video/vnd.ms-playready.media.pyv\": {\n \"source\": \"iana\",\n \"extensions\": [\"pyv\"]\n },\n \"video/vnd.nokia.interleaved-multimedia\": {\n \"source\": \"iana\"\n },\n \"video/vnd.nokia.mp4vr\": {\n \"source\": \"iana\"\n },\n \"video/vnd.nokia.videovoip\": {\n \"source\": \"iana\"\n },\n \"video/vnd.objectvideo\": {\n \"source\": \"iana\"\n },\n \"video/vnd.radgamettools.bink\": {\n \"source\": \"iana\"\n },\n \"video/vnd.radgamettools.smacker\": {\n \"source\": \"iana\"\n },\n \"video/vnd.sealed.mpeg1\": {\n \"source\": \"iana\"\n },\n \"video/vnd.sealed.mpeg4\": {\n \"source\": \"iana\"\n },\n \"video/vnd.sealed.swf\": {\n \"source\": \"iana\"\n },\n \"video/vnd.sealedmedia.softseal.mov\": {\n \"source\": \"iana\"\n },\n \"video/vnd.uvvu.mp4\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvu\",\"uvvu\"]\n },\n \"video/vnd.vivo\": {\n \"source\": \"iana\",\n \"extensions\": [\"viv\"]\n },\n \"video/vnd.youtube.yt\": {\n \"source\": \"iana\"\n },\n \"video/vp8\": {\n \"source\": \"iana\"\n },\n \"video/vp9\": {\n \"source\": \"iana\"\n },\n \"video/webm\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"webm\"]\n },\n \"video/x-f4v\": {\n \"source\": \"apache\",\n \"extensions\": [\"f4v\"]\n },\n \"video/x-fli\": {\n \"source\": \"apache\",\n \"extensions\": [\"fli\"]\n },\n \"video/x-flv\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"flv\"]\n },\n \"video/x-m4v\": {\n \"source\": \"apache\",\n \"extensions\": [\"m4v\"]\n },\n \"video/x-matroska\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"mkv\",\"mk3d\",\"mks\"]\n },\n \"video/x-mng\": {\n \"source\": \"apache\",\n \"extensions\": [\"mng\"]\n },\n \"video/x-ms-asf\": {\n \"source\": \"apache\",\n \"extensions\": [\"asf\",\"asx\"]\n },\n \"video/x-ms-vob\": {\n \"source\": \"apache\",\n \"extensions\": [\"vob\"]\n },\n \"video/x-ms-wm\": {\n \"source\": \"apache\",\n \"extensions\": [\"wm\"]\n },\n \"video/x-ms-wmv\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"wmv\"]\n },\n \"video/x-ms-wmx\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmx\"]\n },\n \"video/x-ms-wvx\": {\n \"source\": \"apache\",\n \"extensions\": [\"wvx\"]\n },\n \"video/x-msvideo\": {\n \"source\": \"apache\",\n \"extensions\": [\"avi\"]\n },\n \"video/x-sgi-movie\": {\n \"source\": \"apache\",\n \"extensions\": [\"movie\"]\n },\n \"video/x-smv\": {\n \"source\": \"apache\",\n \"extensions\": [\"smv\"]\n },\n \"x-conference/x-cooltalk\": {\n \"source\": \"apache\",\n \"extensions\": [\"ice\"]\n },\n \"x-shader/x-fragment\": {\n \"compressible\": true\n },\n \"x-shader/x-vertex\": {\n \"compressible\": true\n }\n}\n","/*!\n * mime-db\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015-2022 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n/**\n * Module exports.\n */\n\nmodule.exports = require('./db.json')\n","/*!\n * mime-types\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * Module dependencies.\n * @private\n */\n\nvar db = require('mime-db')\nvar extname = require('path').extname\n\n/**\n * Module variables.\n * @private\n */\n\nvar EXTRACT_TYPE_REGEXP = /^\\s*([^;\\s]*)(?:;|\\s|$)/\nvar TEXT_TYPE_REGEXP = /^text\\//i\n\n/**\n * Module exports.\n * @public\n */\n\nexports.charset = charset\nexports.charsets = { lookup: charset }\nexports.contentType = contentType\nexports.extension = extension\nexports.extensions = Object.create(null)\nexports.lookup = lookup\nexports.types = Object.create(null)\n\n// Populate the extensions/types maps\npopulateMaps(exports.extensions, exports.types)\n\n/**\n * Get the default charset for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction charset (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n var mime = match && db[match[1].toLowerCase()]\n\n if (mime && mime.charset) {\n return mime.charset\n }\n\n // default text/* to utf-8\n if (match && TEXT_TYPE_REGEXP.test(match[1])) {\n return 'UTF-8'\n }\n\n return false\n}\n\n/**\n * Create a full Content-Type header given a MIME type or extension.\n *\n * @param {string} str\n * @return {boolean|string}\n */\n\nfunction contentType (str) {\n // TODO: should this even be in this module?\n if (!str || typeof str !== 'string') {\n return false\n }\n\n var mime = str.indexOf('/') === -1\n ? exports.lookup(str)\n : str\n\n if (!mime) {\n return false\n }\n\n // TODO: use content-type or other module\n if (mime.indexOf('charset') === -1) {\n var charset = exports.charset(mime)\n if (charset) mime += '; charset=' + charset.toLowerCase()\n }\n\n return mime\n}\n\n/**\n * Get the default extension for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction extension (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n\n // get extensions\n var exts = match && exports.extensions[match[1].toLowerCase()]\n\n if (!exts || !exts.length) {\n return false\n }\n\n return exts[0]\n}\n\n/**\n * Lookup the MIME type for a file path/extension.\n *\n * @param {string} path\n * @return {boolean|string}\n */\n\nfunction lookup (path) {\n if (!path || typeof path !== 'string') {\n return false\n }\n\n // get the extension (\"ext\" or \".ext\" or full path)\n var extension = extname('x.' + path)\n .toLowerCase()\n .substr(1)\n\n if (!extension) {\n return false\n }\n\n return exports.types[extension] || false\n}\n\n/**\n * Populate the extensions and types maps.\n * @private\n */\n\nfunction populateMaps (extensions, types) {\n // source preference (least -> most)\n var preference = ['nginx', 'apache', undefined, 'iana']\n\n Object.keys(db).forEach(function forEachMimeType (type) {\n var mime = db[type]\n var exts = mime.extensions\n\n if (!exts || !exts.length) {\n return\n }\n\n // mime -> extensions\n extensions[type] = exts\n\n // extension -> mime\n for (var i = 0; i < exts.length; i++) {\n var extension = exts[i]\n\n if (types[extension]) {\n var from = preference.indexOf(db[types[extension]].source)\n var to = preference.indexOf(mime.source)\n\n if (types[extension] !== 'application/octet-stream' &&\n (from > to || (from === to && types[extension].substr(0, 12) === 'application/'))) {\n // skip the remapping\n continue\n }\n }\n\n // set the extension -> mime\n types[extension] = type\n }\n })\n}\n","module.exports = defer;\n\n/**\n * Runs provided function on next iteration of the event loop\n *\n * @param {function} fn - function to run\n */\nfunction defer(fn)\n{\n var nextTick = typeof setImmediate == 'function'\n ? setImmediate\n : (\n typeof process == 'object' && typeof process.nextTick == 'function'\n ? process.nextTick\n : null\n );\n\n if (nextTick)\n {\n nextTick(fn);\n }\n else\n {\n setTimeout(fn, 0);\n }\n}\n","var defer = require('./defer.js');\n\n// API\nmodule.exports = async;\n\n/**\n * Runs provided callback asynchronously\n * even if callback itself is not\n *\n * @param {function} callback - callback to invoke\n * @returns {function} - augmented callback\n */\nfunction async(callback)\n{\n var isAsync = false;\n\n // check if async happened\n defer(function() { isAsync = true; });\n\n return function async_callback(err, result)\n {\n if (isAsync)\n {\n callback(err, result);\n }\n else\n {\n defer(function nextTick_callback()\n {\n callback(err, result);\n });\n }\n };\n}\n","// API\nmodule.exports = abort;\n\n/**\n * Aborts leftover active jobs\n *\n * @param {object} state - current state object\n */\nfunction abort(state)\n{\n Object.keys(state.jobs).forEach(clean.bind(state));\n\n // reset leftover jobs\n state.jobs = {};\n}\n\n/**\n * Cleans up leftover job by invoking abort function for the provided job id\n *\n * @this state\n * @param {string|number} key - job id to abort\n */\nfunction clean(key)\n{\n if (typeof this.jobs[key] == 'function')\n {\n this.jobs[key]();\n }\n}\n","var async = require('./async.js')\n , abort = require('./abort.js')\n ;\n\n// API\nmodule.exports = iterate;\n\n/**\n * Iterates over each job object\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {object} state - current job status\n * @param {function} callback - invoked when all elements processed\n */\nfunction iterate(list, iterator, state, callback)\n{\n // store current index\n var key = state['keyedList'] ? state['keyedList'][state.index] : state.index;\n\n state.jobs[key] = runJob(iterator, key, list[key], function(error, output)\n {\n // don't repeat yourself\n // skip secondary callbacks\n if (!(key in state.jobs))\n {\n return;\n }\n\n // clean up jobs\n delete state.jobs[key];\n\n if (error)\n {\n // don't process rest of the results\n // stop still active jobs\n // and reset the list\n abort(state);\n }\n else\n {\n state.results[key] = output;\n }\n\n // return salvaged results\n callback(error, state.results);\n });\n}\n\n/**\n * Runs iterator over provided job element\n *\n * @param {function} iterator - iterator to invoke\n * @param {string|number} key - key/index of the element in the list of jobs\n * @param {mixed} item - job description\n * @param {function} callback - invoked after iterator is done with the job\n * @returns {function|mixed} - job abort function or something else\n */\nfunction runJob(iterator, key, item, callback)\n{\n var aborter;\n\n // allow shortcut if iterator expects only two arguments\n if (iterator.length == 2)\n {\n aborter = iterator(item, async(callback));\n }\n // otherwise go with full three arguments\n else\n {\n aborter = iterator(item, key, async(callback));\n }\n\n return aborter;\n}\n","// API\nmodule.exports = state;\n\n/**\n * Creates initial state object\n * for iteration over list\n *\n * @param {array|object} list - list to iterate over\n * @param {function|null} sortMethod - function to use for keys sort,\n * or `null` to keep them as is\n * @returns {object} - initial state object\n */\nfunction state(list, sortMethod)\n{\n var isNamedList = !Array.isArray(list)\n , initState =\n {\n index : 0,\n keyedList: isNamedList || sortMethod ? Object.keys(list) : null,\n jobs : {},\n results : isNamedList ? {} : [],\n size : isNamedList ? Object.keys(list).length : list.length\n }\n ;\n\n if (sortMethod)\n {\n // sort array keys based on it's values\n // sort object's keys just on own merit\n initState.keyedList.sort(isNamedList ? sortMethod : function(a, b)\n {\n return sortMethod(list[a], list[b]);\n });\n }\n\n return initState;\n}\n","var abort = require('./abort.js')\n , async = require('./async.js')\n ;\n\n// API\nmodule.exports = terminator;\n\n/**\n * Terminates jobs in the attached state context\n *\n * @this AsyncKitState#\n * @param {function} callback - final callback to invoke after termination\n */\nfunction terminator(callback)\n{\n if (!Object.keys(this.jobs).length)\n {\n return;\n }\n\n // fast forward iteration index\n this.index = this.size;\n\n // abort jobs\n abort(this);\n\n // send back results we have so far\n async(callback)(null, this.results);\n}\n","var iterate = require('./lib/iterate.js')\n , initState = require('./lib/state.js')\n , terminator = require('./lib/terminator.js')\n ;\n\n// Public API\nmodule.exports = parallel;\n\n/**\n * Runs iterator over provided array elements in parallel\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction parallel(list, iterator, callback)\n{\n var state = initState(list);\n\n while (state.index < (state['keyedList'] || list).length)\n {\n iterate(list, iterator, state, function(error, result)\n {\n if (error)\n {\n callback(error, result);\n return;\n }\n\n // looks like it's the last one\n if (Object.keys(state.jobs).length === 0)\n {\n callback(null, state.results);\n return;\n }\n });\n\n state.index++;\n }\n\n return terminator.bind(state, callback);\n}\n","var iterate = require('./lib/iterate.js')\n , initState = require('./lib/state.js')\n , terminator = require('./lib/terminator.js')\n ;\n\n// Public API\nmodule.exports = serialOrdered;\n// sorting helpers\nmodule.exports.ascending = ascending;\nmodule.exports.descending = descending;\n\n/**\n * Runs iterator over provided sorted array elements in series\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} sortMethod - custom sort function\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction serialOrdered(list, iterator, sortMethod, callback)\n{\n var state = initState(list, sortMethod);\n\n iterate(list, iterator, state, function iteratorHandler(error, result)\n {\n if (error)\n {\n callback(error, result);\n return;\n }\n\n state.index++;\n\n // are we there yet?\n if (state.index < (state['keyedList'] || list).length)\n {\n iterate(list, iterator, state, iteratorHandler);\n return;\n }\n\n // done here\n callback(null, state.results);\n });\n\n return terminator.bind(state, callback);\n}\n\n/*\n * -- Sort methods\n */\n\n/**\n * sort helper to sort array elements in ascending order\n *\n * @param {mixed} a - an item to compare\n * @param {mixed} b - an item to compare\n * @returns {number} - comparison result\n */\nfunction ascending(a, b)\n{\n return a < b ? -1 : a > b ? 1 : 0;\n}\n\n/**\n * sort helper to sort array elements in descending order\n *\n * @param {mixed} a - an item to compare\n * @param {mixed} b - an item to compare\n * @returns {number} - comparison result\n */\nfunction descending(a, b)\n{\n return -1 * ascending(a, b);\n}\n","var serialOrdered = require('./serialOrdered.js');\n\n// Public API\nmodule.exports = serial;\n\n/**\n * Runs iterator over provided array elements in series\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction serial(list, iterator, callback)\n{\n return serialOrdered(list, iterator, null, callback);\n}\n","module.exports =\n{\n parallel : require('./parallel.js'),\n serial : require('./serial.js'),\n serialOrdered : require('./serialOrdered.js')\n};\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Object;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\n/** @type {import('./abs')} */\nmodule.exports = Math.abs;\n","'use strict';\n\n/** @type {import('./floor')} */\nmodule.exports = Math.floor;\n","'use strict';\n\n/** @type {import('./max')} */\nmodule.exports = Math.max;\n","'use strict';\n\n/** @type {import('./min')} */\nmodule.exports = Math.min;\n","'use strict';\n\n/** @type {import('./pow')} */\nmodule.exports = Math.pow;\n","'use strict';\n\n/** @type {import('./round')} */\nmodule.exports = Math.round;\n","'use strict';\n\n/** @type {import('./isNaN')} */\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","'use strict';\n\nvar $isNaN = require('./isNaN');\n\n/** @type {import('./sign')} */\nmodule.exports = function sign(number) {\n\tif ($isNaN(number) || number === 0) {\n\t\treturn number;\n\t}\n\treturn number < 0 ? -1 : +1;\n};\n","'use strict';\n\n/** @type {import('./gOPD')} */\nmodule.exports = Object.getOwnPropertyDescriptor;\n","'use strict';\n\n/** @type {import('.')} */\nvar $gOPD = require('./gOPD');\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\n/** @type {import('.')} */\nvar $defineProperty = Object.defineProperty || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./shams')} */\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\t/** @type {{ [k in symbol]?: unknown }} */\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (var _ in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {PropertyDescriptor} */ (Object.getOwnPropertyDescriptor(obj, sym));\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/** @type {import('./Reflect.getPrototypeOf')} */\nmodule.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;\n","'use strict';\n\nvar $Object = require('es-object-atoms');\n\n/** @type {import('./Object.getPrototypeOf')} */\nmodule.exports = $Object.getPrototypeOf || null;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n","'use strict';\n\n/** @type {import('./functionApply')} */\nmodule.exports = Function.prototype.apply;\n","'use strict';\n\n/** @type {import('./reflectApply')} */\nmodule.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;\n","'use strict';\n\nvar bind = require('function-bind');\n\nvar $apply = require('./functionApply');\nvar $call = require('./functionCall');\nvar $reflectApply = require('./reflectApply');\n\n/** @type {import('./actualApply')} */\nmodule.exports = $reflectApply || bind.call($call, $apply);\n","'use strict';\n\nvar bind = require('function-bind');\nvar $TypeError = require('es-errors/type');\n\nvar $call = require('./functionCall');\nvar $actualApply = require('./actualApply');\n\n/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */\nmodule.exports = function callBindBasic(args) {\n\tif (args.length < 1 || typeof args[0] !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\treturn $actualApply(bind, $call, args);\n};\n","'use strict';\n\nvar callBind = require('call-bind-apply-helpers');\nvar gOPD = require('gopd');\n\nvar hasProtoAccessor;\ntry {\n\t// eslint-disable-next-line no-extra-parens, no-proto\n\thasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype;\n} catch (e) {\n\tif (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') {\n\t\tthrow e;\n\t}\n}\n\n// eslint-disable-next-line no-extra-parens\nvar desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__'));\n\nvar $Object = Object;\nvar $getPrototypeOf = $Object.getPrototypeOf;\n\n/** @type {import('./get')} */\nmodule.exports = desc && typeof desc.get === 'function'\n\t? callBind([desc.get])\n\t: typeof $getPrototypeOf === 'function'\n\t\t? /** @type {import('./get')} */ function getDunder(value) {\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\treturn $getPrototypeOf(value == null ? value : $Object(value));\n\t\t}\n\t\t: false;\n","'use strict';\n\nvar reflectGetProto = require('./Reflect.getPrototypeOf');\nvar originalGetProto = require('./Object.getPrototypeOf');\n\nvar getDunderProto = require('dunder-proto/get');\n\n/** @type {import('.')} */\nmodule.exports = reflectGetProto\n\t? function getProto(O) {\n\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\treturn reflectGetProto(O);\n\t}\n\t: originalGetProto\n\t\t? function getProto(O) {\n\t\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\t\tthrow new TypeError('getProto: not an object');\n\t\t\t}\n\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\treturn originalGetProto(O);\n\t\t}\n\t\t: getDunderProto\n\t\t\t? function getProto(O) {\n\t\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\t\treturn getDunderProto(O);\n\t\t\t}\n\t\t\t: null;\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","'use strict';\n\nvar undefined;\n\nvar $Object = require('es-object-atoms');\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar abs = require('math-intrinsics/abs');\nvar floor = require('math-intrinsics/floor');\nvar max = require('math-intrinsics/max');\nvar min = require('math-intrinsics/min');\nvar pow = require('math-intrinsics/pow');\nvar round = require('math-intrinsics/round');\nvar sign = require('math-intrinsics/sign');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = require('gopd');\nvar $defineProperty = require('es-define-property');\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = require('get-proto');\nvar $ObjectGPO = require('get-proto/Object.getPrototypeOf');\nvar $ReflectGPO = require('get-proto/Reflect.getPrototypeOf');\n\nvar $apply = require('call-bind-apply-helpers/functionApply');\nvar $call = require('call-bind-apply-helpers/functionCall');\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': $Object,\n\t'%Object.getOwnPropertyDescriptor%': $gOPD,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\n\t'%Function.prototype.call%': $call,\n\t'%Function.prototype.apply%': $apply,\n\t'%Object.defineProperty%': $defineProperty,\n\t'%Object.getPrototypeOf%': $ObjectGPO,\n\t'%Math.abs%': abs,\n\t'%Math.floor%': floor,\n\t'%Math.max%': max,\n\t'%Math.min%': min,\n\t'%Math.pow%': pow,\n\t'%Math.round%': round,\n\t'%Math.sign%': sign,\n\t'%Reflect.getPrototypeOf%': $ReflectGPO\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call($call, Array.prototype.concat);\nvar $spliceApply = bind.call($apply, Array.prototype.splice);\nvar $replace = bind.call($call, String.prototype.replace);\nvar $strSlice = bind.call($call, String.prototype.slice);\nvar $exec = bind.call($call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar hasOwn = require('hasown');\nvar $TypeError = require('es-errors/type');\n\nvar toStringTag = hasToStringTag ? Symbol.toStringTag : null;\n\n/** @type {import('.')} */\nmodule.exports = function setToStringTag(object, value) {\n\tvar overrideIfSet = arguments.length > 2 && !!arguments[2] && arguments[2].force;\n\tvar nonConfigurable = arguments.length > 2 && !!arguments[2] && arguments[2].nonConfigurable;\n\tif (\n\t\t(typeof overrideIfSet !== 'undefined' && typeof overrideIfSet !== 'boolean')\n\t\t|| (typeof nonConfigurable !== 'undefined' && typeof nonConfigurable !== 'boolean')\n\t) {\n\t\tthrow new $TypeError('if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans');\n\t}\n\tif (toStringTag && (overrideIfSet || !hasOwn(object, toStringTag))) {\n\t\tif ($defineProperty) {\n\t\t\t$defineProperty(object, toStringTag, {\n\t\t\t\tconfigurable: !nonConfigurable,\n\t\t\t\tenumerable: false,\n\t\t\t\tvalue: value,\n\t\t\t\twritable: false\n\t\t\t});\n\t\t} else {\n\t\t\tobject[toStringTag] = value; // eslint-disable-line no-param-reassign\n\t\t}\n\t}\n};\n","// populates missing values\nmodule.exports = function(dst, src) {\n\n Object.keys(src).forEach(function(prop)\n {\n dst[prop] = dst[prop] || src[prop];\n });\n\n return dst;\n};\n","var CombinedStream = require('combined-stream');\nvar util = require('util');\nvar path = require('path');\nvar http = require('http');\nvar https = require('https');\nvar parseUrl = require('url').parse;\nvar fs = require('fs');\nvar Stream = require('stream').Stream;\nvar mime = require('mime-types');\nvar asynckit = require('asynckit');\nvar setToStringTag = require('es-set-tostringtag');\nvar populate = require('./populate.js');\n\n// Public API\nmodule.exports = FormData;\n\n// make it a Stream\nutil.inherits(FormData, CombinedStream);\n\n/**\n * Create readable \"multipart/form-data\" streams.\n * Can be used to submit forms\n * and file uploads to other web applications.\n *\n * @constructor\n * @param {Object} options - Properties to be added/overriden for FormData and CombinedStream\n */\nfunction FormData(options) {\n if (!(this instanceof FormData)) {\n return new FormData(options);\n }\n\n this._overheadLength = 0;\n this._valueLength = 0;\n this._valuesToMeasure = [];\n\n CombinedStream.call(this);\n\n options = options || {};\n for (var option in options) {\n this[option] = options[option];\n }\n}\n\nFormData.LINE_BREAK = '\\r\\n';\nFormData.DEFAULT_CONTENT_TYPE = 'application/octet-stream';\n\nFormData.prototype.append = function(field, value, options) {\n\n options = options || {};\n\n // allow filename as single option\n if (typeof options == 'string') {\n options = {filename: options};\n }\n\n var append = CombinedStream.prototype.append.bind(this);\n\n // all that streamy business can't handle numbers\n if (typeof value == 'number') {\n value = '' + value;\n }\n\n // https://github.com/felixge/node-form-data/issues/38\n if (Array.isArray(value)) {\n // Please convert your array into string\n // the way web server expects it\n this._error(new Error('Arrays are not supported.'));\n return;\n }\n\n var header = this._multiPartHeader(field, value, options);\n var footer = this._multiPartFooter();\n\n append(header);\n append(value);\n append(footer);\n\n // pass along options.knownLength\n this._trackLength(header, value, options);\n};\n\nFormData.prototype._trackLength = function(header, value, options) {\n var valueLength = 0;\n\n // used w/ getLengthSync(), when length is known.\n // e.g. for streaming directly from a remote server,\n // w/ a known file a size, and not wanting to wait for\n // incoming file to finish to get its size.\n if (options.knownLength != null) {\n valueLength += +options.knownLength;\n } else if (Buffer.isBuffer(value)) {\n valueLength = value.length;\n } else if (typeof value === 'string') {\n valueLength = Buffer.byteLength(value);\n }\n\n this._valueLength += valueLength;\n\n // @check why add CRLF? does this account for custom/multiple CRLFs?\n this._overheadLength +=\n Buffer.byteLength(header) +\n FormData.LINE_BREAK.length;\n\n // empty or either doesn't have path or not an http response or not a stream\n if (!value || ( !value.path && !(value.readable && Object.prototype.hasOwnProperty.call(value, 'httpVersion')) && !(value instanceof Stream))) {\n return;\n }\n\n // no need to bother with the length\n if (!options.knownLength) {\n this._valuesToMeasure.push(value);\n }\n};\n\nFormData.prototype._lengthRetriever = function(value, callback) {\n if (Object.prototype.hasOwnProperty.call(value, 'fd')) {\n\n // take read range into a account\n // `end` = Infinity –> read file till the end\n //\n // TODO: Looks like there is bug in Node fs.createReadStream\n // it doesn't respect `end` options without `start` options\n // Fix it when node fixes it.\n // https://github.com/joyent/node/issues/7819\n if (value.end != undefined && value.end != Infinity && value.start != undefined) {\n\n // when end specified\n // no need to calculate range\n // inclusive, starts with 0\n callback(null, value.end + 1 - (value.start ? value.start : 0));\n\n // not that fast snoopy\n } else {\n // still need to fetch file size from fs\n fs.stat(value.path, function(err, stat) {\n\n var fileSize;\n\n if (err) {\n callback(err);\n return;\n }\n\n // update final size based on the range options\n fileSize = stat.size - (value.start ? value.start : 0);\n callback(null, fileSize);\n });\n }\n\n // or http response\n } else if (Object.prototype.hasOwnProperty.call(value, 'httpVersion')) {\n callback(null, +value.headers['content-length']);\n\n // or request stream http://github.com/mikeal/request\n } else if (Object.prototype.hasOwnProperty.call(value, 'httpModule')) {\n // wait till response come back\n value.on('response', function(response) {\n value.pause();\n callback(null, +response.headers['content-length']);\n });\n value.resume();\n\n // something else\n } else {\n callback('Unknown stream');\n }\n};\n\nFormData.prototype._multiPartHeader = function(field, value, options) {\n // custom header specified (as string)?\n // it becomes responsible for boundary\n // (e.g. to handle extra CRLFs on .NET servers)\n if (typeof options.header == 'string') {\n return options.header;\n }\n\n var contentDisposition = this._getContentDisposition(value, options);\n var contentType = this._getContentType(value, options);\n\n var contents = '';\n var headers = {\n // add custom disposition as third element or keep it two elements if not\n 'Content-Disposition': ['form-data', 'name=\"' + field + '\"'].concat(contentDisposition || []),\n // if no content type. allow it to be empty array\n 'Content-Type': [].concat(contentType || [])\n };\n\n // allow custom headers.\n if (typeof options.header == 'object') {\n populate(headers, options.header);\n }\n\n var header;\n for (var prop in headers) {\n if (Object.prototype.hasOwnProperty.call(headers, prop)) {\n header = headers[prop];\n\n // skip nullish headers.\n if (header == null) {\n continue;\n }\n\n // convert all headers to arrays.\n if (!Array.isArray(header)) {\n header = [header];\n }\n\n // add non-empty headers.\n if (header.length) {\n contents += prop + ': ' + header.join('; ') + FormData.LINE_BREAK;\n }\n }\n }\n\n return '--' + this.getBoundary() + FormData.LINE_BREAK + contents + FormData.LINE_BREAK;\n};\n\nFormData.prototype._getContentDisposition = function(value, options) {\n\n var filename\n , contentDisposition\n ;\n\n if (typeof options.filepath === 'string') {\n // custom filepath for relative paths\n filename = path.normalize(options.filepath).replace(/\\\\/g, '/');\n } else if (options.filename || value.name || value.path) {\n // custom filename take precedence\n // formidable and the browser add a name property\n // fs- and request- streams have path property\n filename = path.basename(options.filename || value.name || value.path);\n } else if (value.readable && Object.prototype.hasOwnProperty.call(value, 'httpVersion')) {\n // or try http response\n filename = path.basename(value.client._httpMessage.path || '');\n }\n\n if (filename) {\n contentDisposition = 'filename=\"' + filename + '\"';\n }\n\n return contentDisposition;\n};\n\nFormData.prototype._getContentType = function(value, options) {\n\n // use custom content-type above all\n var contentType = options.contentType;\n\n // or try `name` from formidable, browser\n if (!contentType && value.name) {\n contentType = mime.lookup(value.name);\n }\n\n // or try `path` from fs-, request- streams\n if (!contentType && value.path) {\n contentType = mime.lookup(value.path);\n }\n\n // or if it's http-reponse\n if (!contentType && value.readable && Object.prototype.hasOwnProperty.call(value, 'httpVersion')) {\n contentType = value.headers['content-type'];\n }\n\n // or guess it from the filepath or filename\n if (!contentType && (options.filepath || options.filename)) {\n contentType = mime.lookup(options.filepath || options.filename);\n }\n\n // fallback to the default content type if `value` is not simple value\n if (!contentType && typeof value == 'object') {\n contentType = FormData.DEFAULT_CONTENT_TYPE;\n }\n\n return contentType;\n};\n\nFormData.prototype._multiPartFooter = function() {\n return function(next) {\n var footer = FormData.LINE_BREAK;\n\n var lastPart = (this._streams.length === 0);\n if (lastPart) {\n footer += this._lastBoundary();\n }\n\n next(footer);\n }.bind(this);\n};\n\nFormData.prototype._lastBoundary = function() {\n return '--' + this.getBoundary() + '--' + FormData.LINE_BREAK;\n};\n\nFormData.prototype.getHeaders = function(userHeaders) {\n var header;\n var formHeaders = {\n 'content-type': 'multipart/form-data; boundary=' + this.getBoundary()\n };\n\n for (header in userHeaders) {\n if (Object.prototype.hasOwnProperty.call(userHeaders, header)) {\n formHeaders[header.toLowerCase()] = userHeaders[header];\n }\n }\n\n return formHeaders;\n};\n\nFormData.prototype.setBoundary = function(boundary) {\n this._boundary = boundary;\n};\n\nFormData.prototype.getBoundary = function() {\n if (!this._boundary) {\n this._generateBoundary();\n }\n\n return this._boundary;\n};\n\nFormData.prototype.getBuffer = function() {\n var dataBuffer = new Buffer.alloc(0);\n var boundary = this.getBoundary();\n\n // Create the form content. Add Line breaks to the end of data.\n for (var i = 0, len = this._streams.length; i < len; i++) {\n if (typeof this._streams[i] !== 'function') {\n\n // Add content to the buffer.\n if(Buffer.isBuffer(this._streams[i])) {\n dataBuffer = Buffer.concat( [dataBuffer, this._streams[i]]);\n }else {\n dataBuffer = Buffer.concat( [dataBuffer, Buffer.from(this._streams[i])]);\n }\n\n // Add break after content.\n if (typeof this._streams[i] !== 'string' || this._streams[i].substring( 2, boundary.length + 2 ) !== boundary) {\n dataBuffer = Buffer.concat( [dataBuffer, Buffer.from(FormData.LINE_BREAK)] );\n }\n }\n }\n\n // Add the footer and return the Buffer object.\n return Buffer.concat( [dataBuffer, Buffer.from(this._lastBoundary())] );\n};\n\nFormData.prototype._generateBoundary = function() {\n // This generates a 50 character boundary similar to those used by Firefox.\n // They are optimized for boyer-moore parsing.\n var boundary = '--------------------------';\n for (var i = 0; i < 24; i++) {\n boundary += Math.floor(Math.random() * 10).toString(16);\n }\n\n this._boundary = boundary;\n};\n\n// Note: getLengthSync DOESN'T calculate streams length\n// As workaround one can calculate file size manually\n// and add it as knownLength option\nFormData.prototype.getLengthSync = function() {\n var knownLength = this._overheadLength + this._valueLength;\n\n // Don't get confused, there are 3 \"internal\" streams for each keyval pair\n // so it basically checks if there is any value added to the form\n if (this._streams.length) {\n knownLength += this._lastBoundary().length;\n }\n\n // https://github.com/form-data/form-data/issues/40\n if (!this.hasKnownLength()) {\n // Some async length retrievers are present\n // therefore synchronous length calculation is false.\n // Please use getLength(callback) to get proper length\n this._error(new Error('Cannot calculate proper length in synchronous way.'));\n }\n\n return knownLength;\n};\n\n// Public API to check if length of added values is known\n// https://github.com/form-data/form-data/issues/196\n// https://github.com/form-data/form-data/issues/262\nFormData.prototype.hasKnownLength = function() {\n var hasKnownLength = true;\n\n if (this._valuesToMeasure.length) {\n hasKnownLength = false;\n }\n\n return hasKnownLength;\n};\n\nFormData.prototype.getLength = function(cb) {\n var knownLength = this._overheadLength + this._valueLength;\n\n if (this._streams.length) {\n knownLength += this._lastBoundary().length;\n }\n\n if (!this._valuesToMeasure.length) {\n process.nextTick(cb.bind(this, null, knownLength));\n return;\n }\n\n asynckit.parallel(this._valuesToMeasure, this._lengthRetriever, function(err, values) {\n if (err) {\n cb(err);\n return;\n }\n\n values.forEach(function(length) {\n knownLength += length;\n });\n\n cb(null, knownLength);\n });\n};\n\nFormData.prototype.submit = function(params, cb) {\n var request\n , options\n , defaults = {method: 'post'}\n ;\n\n // parse provided url if it's string\n // or treat it as options object\n if (typeof params == 'string') {\n\n params = parseUrl(params);\n options = populate({\n port: params.port,\n path: params.pathname,\n host: params.hostname,\n protocol: params.protocol\n }, defaults);\n\n // use custom params\n } else {\n\n options = populate(params, defaults);\n // if no port provided use default one\n if (!options.port) {\n options.port = options.protocol == 'https:' ? 443 : 80;\n }\n }\n\n // put that good code in getHeaders to some use\n options.headers = this.getHeaders(params.headers);\n\n // https if specified, fallback to http in any other case\n if (options.protocol == 'https:') {\n request = https.request(options);\n } else {\n request = http.request(options);\n }\n\n // get content length and fire away\n this.getLength(function(err, length) {\n if (err && err !== 'Unknown stream') {\n this._error(err);\n return;\n }\n\n // add content length\n if (length) {\n request.setHeader('Content-Length', length);\n }\n\n this.pipe(request);\n if (cb) {\n var onResponse;\n\n var callback = function (error, responce) {\n request.removeListener('error', callback);\n request.removeListener('response', onResponse);\n\n return cb.call(this, error, responce);\n };\n\n onResponse = callback.bind(this, null);\n\n request.on('error', callback);\n request.on('response', onResponse);\n }\n }.bind(this));\n\n return request;\n};\n\nFormData.prototype._error = function(err) {\n if (!this.error) {\n this.error = err;\n this.pause();\n this.emit('error', err);\n }\n};\n\nFormData.prototype.toString = function () {\n return '[object FormData]';\n};\nsetToStringTag(FormData, 'FormData');\n","// eslint-disable-next-line strict\nmodule.exports = require('form-data');\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar AxiosError = require('../core/AxiosError');\nvar transitionalDefaults = require('./transitional');\nvar toFormData = require('../helpers/toFormData');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('../adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('../adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n var isObjectPayload = utils.isObject(data);\n var contentType = headers && headers['Content-Type'];\n\n var isFileList;\n\n if ((isFileList = utils.isFileList(data)) || (isObjectPayload && contentType === 'multipart/form-data')) {\n var _FormData = this.env && this.env.FormData;\n return toFormData(isFileList ? {'files[]': data} : data, _FormData && new _FormData());\n } else if (isObjectPayload || contentType === 'application/json') {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: require('./env/FormData')\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar CanceledError = require('../cancel/CanceledError');\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar VERSION = require('../env/data').version;\nvar AxiosError = require('../core/AxiosError');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar buildFullPath = require('./buildFullPath');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar CanceledError = require('./CanceledError');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = require('./cancel/CanceledError');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\naxios.toFormData = require('./helpers/toFormData');\n\n// Expose AxiosError class\naxios.AxiosError = require('../lib/core/AxiosError');\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","module.exports = require('./lib/axios');","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Api = void 0;\nconst axios_1 = __importDefault(require(\"axios\"));\n/*\n Based off https://github.com/ArweaveTeam/arweave-js/blob/189beeba86eb58605be42cfe9d9bd53e35e3ea11/src/common/lib/api.ts#L3\n Since the Arweave SDK has a great typescript API, I've based this off of that.\n\n Copyright 2020 The Arweave Team Copyright 2020 Minimum Spanning Technologies Limited\n Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\nclass Api {\n constructor(opts) {\n this.config = this.mergeDefaults(opts);\n }\n mergeDefaults(opts) {\n if (!opts.kwilProvider) {\n throw new Error('No Kwil provider URL provided in configuration');\n }\n return {\n kwilProvider: opts.kwilProvider,\n timeout: opts.timeout || 10000,\n logging: opts.logging || false,\n logger: opts.logger || console.log,\n cache: opts.cache || 10 * 60,\n };\n }\n async get(endpoint, config) {\n try {\n return await this.request().get(endpoint, config);\n }\n catch (error) {\n if (error.response && error.response.status) {\n return error.response;\n }\n throw error;\n }\n }\n async post(endpoint, body, config) {\n try {\n return await this.request().post(endpoint, body, config);\n }\n catch (error) {\n if (error.response && error.response.status) {\n return error.response;\n }\n throw error;\n }\n }\n /**\n * Get an AxiosInstance with the base configuration setup to fire off\n * a request to the network.\n */\n request() {\n let headers = {};\n if (this.cookie) {\n headers.Cookie = this.cookie;\n }\n let instance = axios_1.default.create({\n baseURL: this.config.kwilProvider,\n timeout: this.config.timeout,\n maxContentLength: 1024 * 1024 * 512,\n withCredentials: true,\n headers,\n });\n if (this.config.logging) {\n instance.interceptors.request.use((request) => {\n this.config.logger(`Requesting: ${request.baseURL}${request.url}`);\n return request;\n });\n instance.interceptors.response.use((response) => {\n this.config.logger(`Response: ${response.config.url} - ${response.status}`);\n return response;\n });\n }\n return instance;\n }\n}\nexports.Api = Api;\n//# sourceMappingURL=api.js.map","// GENERATED FILE. DO NOT EDIT.\nvar Long = (function(exports) {\n \"use strict\";\n \n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n /**\n * @license\n * Copyright 2009 The Closure Library Authors\n * Copyright 2020 Daniel Wirtz / The long.js Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n \n // WebAssembly optimizations to do native i64 multiplication and divide\n var wasm = null;\n try {\n wasm = new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([\n // \\0asm\n 0, 97, 115, 109,\n // version 1\n 1, 0, 0, 0,\n // section \"type\"\n 1, 13, 2,\n // 0, () => i32\n 96, 0, 1, 127,\n // 1, (i32, i32, i32, i32) => i32\n 96, 4, 127, 127, 127, 127, 1, 127,\n // section \"function\"\n 3, 7, 6,\n // 0, type 0\n 0,\n // 1, type 1\n 1,\n // 2, type 1\n 1,\n // 3, type 1\n 1,\n // 4, type 1\n 1,\n // 5, type 1\n 1,\n // section \"global\"\n 6, 6, 1,\n // 0, \"high\", mutable i32\n 127, 1, 65, 0, 11,\n // section \"export\"\n 7, 50, 6,\n // 0, \"mul\"\n 3, 109, 117, 108, 0, 1,\n // 1, \"div_s\"\n 5, 100, 105, 118, 95, 115, 0, 2,\n // 2, \"div_u\"\n 5, 100, 105, 118, 95, 117, 0, 3,\n // 3, \"rem_s\"\n 5, 114, 101, 109, 95, 115, 0, 4,\n // 4, \"rem_u\"\n 5, 114, 101, 109, 95, 117, 0, 5,\n // 5, \"get_high\"\n 8, 103, 101, 116, 95, 104, 105, 103, 104, 0, 0,\n // section \"code\"\n 10, 191, 1, 6,\n // 0, \"get_high\"\n 4, 0, 35, 0, 11,\n // 1, \"mul\"\n 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 126, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11,\n // 2, \"div_s\"\n 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 127, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11,\n // 3, \"div_u\"\n 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 128, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11,\n // 4, \"rem_s\"\n 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 129, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11,\n // 5, \"rem_u\"\n 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 130, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11])), {}).exports;\n } catch {\n // no wasm support :(\n }\n \n /**\n * Constructs a 64 bit two's-complement integer, given its low and high 32 bit values as *signed* integers.\n * See the from* functions below for more convenient ways of constructing Longs.\n * @exports Long\n * @class A Long class for representing a 64 bit two's-complement integer value.\n * @param {number} low The low (signed) 32 bits of the long\n * @param {number} high The high (signed) 32 bits of the long\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @constructor\n */\n function Long(low, high, unsigned) {\n /**\n * The low 32 bits as a signed value.\n * @type {number}\n */\n this.low = low | 0;\n \n /**\n * The high 32 bits as a signed value.\n * @type {number}\n */\n this.high = high | 0;\n \n /**\n * Whether unsigned or not.\n * @type {boolean}\n */\n this.unsigned = !!unsigned;\n }\n \n // The internal representation of a long is the two given signed, 32-bit values.\n // We use 32-bit pieces because these are the size of integers on which\n // Javascript performs bit-operations. For operations like addition and\n // multiplication, we split each number into 16 bit pieces, which can easily be\n // multiplied within Javascript's floating-point representation without overflow\n // or change in sign.\n //\n // In the algorithms below, we frequently reduce the negative case to the\n // positive case by negating the input(s) and then post-processing the result.\n // Note that we must ALWAYS check specially whether those values are MIN_VALUE\n // (-2^63) because -MIN_VALUE == MIN_VALUE (since 2^63 cannot be represented as\n // a positive number, it overflows back into a negative). Not handling this\n // case would often result in infinite recursion.\n //\n // Common constant values ZERO, ONE, NEG_ONE, etc. are defined below the from*\n // methods on which they depend.\n \n /**\n * An indicator used to reliably determine if an object is a Long or not.\n * @type {boolean}\n * @const\n * @private\n */\n Long.prototype.__isLong__;\n Object.defineProperty(Long.prototype, \"__isLong__\", {\n value: true\n });\n \n /**\n * @function\n * @param {*} obj Object\n * @returns {boolean}\n * @inner\n */\n function isLong(obj) {\n return (obj && obj[\"__isLong__\"]) === true;\n }\n \n /**\n * @function\n * @param {*} value number\n * @returns {number}\n * @inner\n */\n function ctz32(value) {\n var c = Math.clz32(value & -value);\n return value ? 31 - c : c;\n }\n \n /**\n * Tests if the specified object is a Long.\n * @function\n * @param {*} obj Object\n * @returns {boolean}\n */\n Long.isLong = isLong;\n \n /**\n * A cache of the Long representations of small integer values.\n * @type {!Object}\n * @inner\n */\n var INT_CACHE = {};\n \n /**\n * A cache of the Long representations of small unsigned integer values.\n * @type {!Object}\n * @inner\n */\n var UINT_CACHE = {};\n \n /**\n * @param {number} value\n * @param {boolean=} unsigned\n * @returns {!Long}\n * @inner\n */\n function fromInt(value, unsigned) {\n var obj, cachedObj, cache;\n if (unsigned) {\n value >>>= 0;\n if (cache = 0 <= value && value < 256) {\n cachedObj = UINT_CACHE[value];\n if (cachedObj) return cachedObj;\n }\n obj = fromBits(value, 0, true);\n if (cache) UINT_CACHE[value] = obj;\n return obj;\n } else {\n value |= 0;\n if (cache = -128 <= value && value < 128) {\n cachedObj = INT_CACHE[value];\n if (cachedObj) return cachedObj;\n }\n obj = fromBits(value, value < 0 ? -1 : 0, false);\n if (cache) INT_CACHE[value] = obj;\n return obj;\n }\n }\n \n /**\n * Returns a Long representing the given 32 bit integer value.\n * @function\n * @param {number} value The 32 bit integer in question\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @returns {!Long} The corresponding Long value\n */\n Long.fromInt = fromInt;\n \n /**\n * @param {number} value\n * @param {boolean=} unsigned\n * @returns {!Long}\n * @inner\n */\n function fromNumber(value, unsigned) {\n if (isNaN(value)) return unsigned ? UZERO : ZERO;\n if (unsigned) {\n if (value < 0) return UZERO;\n if (value >= TWO_PWR_64_DBL) return MAX_UNSIGNED_VALUE;\n } else {\n if (value <= -TWO_PWR_63_DBL) return MIN_VALUE;\n if (value + 1 >= TWO_PWR_63_DBL) return MAX_VALUE;\n }\n if (value < 0) return fromNumber(-value, unsigned).neg();\n return fromBits(value % TWO_PWR_32_DBL | 0, value / TWO_PWR_32_DBL | 0, unsigned);\n }\n \n /**\n * Returns a Long representing the given value, provided that it is a finite number. Otherwise, zero is returned.\n * @function\n * @param {number} value The number in question\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @returns {!Long} The corresponding Long value\n */\n Long.fromNumber = fromNumber;\n \n /**\n * @param {number} lowBits\n * @param {number} highBits\n * @param {boolean=} unsigned\n * @returns {!Long}\n * @inner\n */\n function fromBits(lowBits, highBits, unsigned) {\n return new Long(lowBits, highBits, unsigned);\n }\n \n /**\n * Returns a Long representing the 64 bit integer that comes by concatenating the given low and high bits. Each is\n * assumed to use 32 bits.\n * @function\n * @param {number} lowBits The low 32 bits\n * @param {number} highBits The high 32 bits\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @returns {!Long} The corresponding Long value\n */\n Long.fromBits = fromBits;\n \n /**\n * @function\n * @param {number} base\n * @param {number} exponent\n * @returns {number}\n * @inner\n */\n var pow_dbl = Math.pow; // Used 4 times (4*8 to 15+4)\n \n /**\n * @param {string} str\n * @param {(boolean|number)=} unsigned\n * @param {number=} radix\n * @returns {!Long}\n * @inner\n */\n function fromString(str, unsigned, radix) {\n if (str.length === 0) throw Error('empty string');\n if (typeof unsigned === 'number') {\n // For goog.math.long compatibility\n radix = unsigned;\n unsigned = false;\n } else {\n unsigned = !!unsigned;\n }\n if (str === \"NaN\" || str === \"Infinity\" || str === \"+Infinity\" || str === \"-Infinity\") return unsigned ? UZERO : ZERO;\n radix = radix || 10;\n if (radix < 2 || 36 < radix) throw RangeError('radix');\n var p;\n if ((p = str.indexOf('-')) > 0) throw Error('interior hyphen');else if (p === 0) {\n return fromString(str.substring(1), unsigned, radix).neg();\n }\n \n // Do several (8) digits each time through the loop, so as to\n // minimize the calls to the very expensive emulated div.\n var radixToPower = fromNumber(pow_dbl(radix, 8));\n var result = ZERO;\n for (var i = 0; i < str.length; i += 8) {\n var size = Math.min(8, str.length - i),\n value = parseInt(str.substring(i, i + size), radix);\n if (size < 8) {\n var power = fromNumber(pow_dbl(radix, size));\n result = result.mul(power).add(fromNumber(value));\n } else {\n result = result.mul(radixToPower);\n result = result.add(fromNumber(value));\n }\n }\n result.unsigned = unsigned;\n return result;\n }\n \n /**\n * Returns a Long representation of the given string, written using the specified radix.\n * @function\n * @param {string} str The textual representation of the Long\n * @param {(boolean|number)=} unsigned Whether unsigned or not, defaults to signed\n * @param {number=} radix The radix in which the text is written (2-36), defaults to 10\n * @returns {!Long} The corresponding Long value\n */\n Long.fromString = fromString;\n \n /**\n * @function\n * @param {!Long|number|string|!{low: number, high: number, unsigned: boolean}} val\n * @param {boolean=} unsigned\n * @returns {!Long}\n * @inner\n */\n function fromValue(val, unsigned) {\n if (typeof val === 'number') return fromNumber(val, unsigned);\n if (typeof val === 'string') return fromString(val, unsigned);\n // Throws for non-objects, converts non-instanceof Long:\n return fromBits(val.low, val.high, typeof unsigned === 'boolean' ? unsigned : val.unsigned);\n }\n \n /**\n * Converts the specified value to a Long using the appropriate from* function for its type.\n * @function\n * @param {!Long|number|bigint|string|!{low: number, high: number, unsigned: boolean}} val Value\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @returns {!Long}\n */\n Long.fromValue = fromValue;\n \n // NOTE: the compiler should inline these constant values below and then remove these variables, so there should be\n // no runtime penalty for these.\n \n /**\n * @type {number}\n * @const\n * @inner\n */\n var TWO_PWR_16_DBL = 1 << 16;\n \n /**\n * @type {number}\n * @const\n * @inner\n */\n var TWO_PWR_24_DBL = 1 << 24;\n \n /**\n * @type {number}\n * @const\n * @inner\n */\n var TWO_PWR_32_DBL = TWO_PWR_16_DBL * TWO_PWR_16_DBL;\n \n /**\n * @type {number}\n * @const\n * @inner\n */\n var TWO_PWR_64_DBL = TWO_PWR_32_DBL * TWO_PWR_32_DBL;\n \n /**\n * @type {number}\n * @const\n * @inner\n */\n var TWO_PWR_63_DBL = TWO_PWR_64_DBL / 2;\n \n /**\n * @type {!Long}\n * @const\n * @inner\n */\n var TWO_PWR_24 = fromInt(TWO_PWR_24_DBL);\n \n /**\n * @type {!Long}\n * @inner\n */\n var ZERO = fromInt(0);\n \n /**\n * Signed zero.\n * @type {!Long}\n */\n Long.ZERO = ZERO;\n \n /**\n * @type {!Long}\n * @inner\n */\n var UZERO = fromInt(0, true);\n \n /**\n * Unsigned zero.\n * @type {!Long}\n */\n Long.UZERO = UZERO;\n \n /**\n * @type {!Long}\n * @inner\n */\n var ONE = fromInt(1);\n \n /**\n * Signed one.\n * @type {!Long}\n */\n Long.ONE = ONE;\n \n /**\n * @type {!Long}\n * @inner\n */\n var UONE = fromInt(1, true);\n \n /**\n * Unsigned one.\n * @type {!Long}\n */\n Long.UONE = UONE;\n \n /**\n * @type {!Long}\n * @inner\n */\n var NEG_ONE = fromInt(-1);\n \n /**\n * Signed negative one.\n * @type {!Long}\n */\n Long.NEG_ONE = NEG_ONE;\n \n /**\n * @type {!Long}\n * @inner\n */\n var MAX_VALUE = fromBits(0xFFFFFFFF | 0, 0x7FFFFFFF | 0, false);\n \n /**\n * Maximum signed value.\n * @type {!Long}\n */\n Long.MAX_VALUE = MAX_VALUE;\n \n /**\n * @type {!Long}\n * @inner\n */\n var MAX_UNSIGNED_VALUE = fromBits(0xFFFFFFFF | 0, 0xFFFFFFFF | 0, true);\n \n /**\n * Maximum unsigned value.\n * @type {!Long}\n */\n Long.MAX_UNSIGNED_VALUE = MAX_UNSIGNED_VALUE;\n \n /**\n * @type {!Long}\n * @inner\n */\n var MIN_VALUE = fromBits(0, 0x80000000 | 0, false);\n \n /**\n * Minimum signed value.\n * @type {!Long}\n */\n Long.MIN_VALUE = MIN_VALUE;\n \n /**\n * @alias Long.prototype\n * @inner\n */\n var LongPrototype = Long.prototype;\n \n /**\n * Converts the Long to a 32 bit integer, assuming it is a 32 bit integer.\n * @this {!Long}\n * @returns {number}\n */\n LongPrototype.toInt = function toInt() {\n return this.unsigned ? this.low >>> 0 : this.low;\n };\n \n /**\n * Converts the Long to a the nearest floating-point representation of this value (double, 53 bit mantissa).\n * @this {!Long}\n * @returns {number}\n */\n LongPrototype.toNumber = function toNumber() {\n if (this.unsigned) return (this.high >>> 0) * TWO_PWR_32_DBL + (this.low >>> 0);\n return this.high * TWO_PWR_32_DBL + (this.low >>> 0);\n };\n \n /**\n * Converts the Long to a string written in the specified radix.\n * @this {!Long}\n * @param {number=} radix Radix (2-36), defaults to 10\n * @returns {string}\n * @override\n * @throws {RangeError} If `radix` is out of range\n */\n LongPrototype.toString = function toString(radix) {\n radix = radix || 10;\n if (radix < 2 || 36 < radix) throw RangeError('radix');\n if (this.isZero()) return '0';\n if (this.isNegative()) {\n // Unsigned Longs are never negative\n if (this.eq(MIN_VALUE)) {\n // We need to change the Long value before it can be negated, so we remove\n // the bottom-most digit in this base and then recurse to do the rest.\n var radixLong = fromNumber(radix),\n div = this.div(radixLong),\n rem1 = div.mul(radixLong).sub(this);\n return div.toString(radix) + rem1.toInt().toString(radix);\n } else return '-' + this.neg().toString(radix);\n }\n \n // Do several (6) digits each time through the loop, so as to\n // minimize the calls to the very expensive emulated div.\n var radixToPower = fromNumber(pow_dbl(radix, 6), this.unsigned),\n rem = this;\n var result = '';\n while (true) {\n var remDiv = rem.div(radixToPower),\n intval = rem.sub(remDiv.mul(radixToPower)).toInt() >>> 0,\n digits = intval.toString(radix);\n rem = remDiv;\n if (rem.isZero()) return digits + result;else {\n while (digits.length < 6) digits = '0' + digits;\n result = '' + digits + result;\n }\n }\n };\n \n /**\n * Gets the high 32 bits as a signed integer.\n * @this {!Long}\n * @returns {number} Signed high bits\n */\n LongPrototype.getHighBits = function getHighBits() {\n return this.high;\n };\n \n /**\n * Gets the high 32 bits as an unsigned integer.\n * @this {!Long}\n * @returns {number} Unsigned high bits\n */\n LongPrototype.getHighBitsUnsigned = function getHighBitsUnsigned() {\n return this.high >>> 0;\n };\n \n /**\n * Gets the low 32 bits as a signed integer.\n * @this {!Long}\n * @returns {number} Signed low bits\n */\n LongPrototype.getLowBits = function getLowBits() {\n return this.low;\n };\n \n /**\n * Gets the low 32 bits as an unsigned integer.\n * @this {!Long}\n * @returns {number} Unsigned low bits\n */\n LongPrototype.getLowBitsUnsigned = function getLowBitsUnsigned() {\n return this.low >>> 0;\n };\n \n /**\n * Gets the number of bits needed to represent the absolute value of this Long.\n * @this {!Long}\n * @returns {number}\n */\n LongPrototype.getNumBitsAbs = function getNumBitsAbs() {\n if (this.isNegative())\n // Unsigned Longs are never negative\n return this.eq(MIN_VALUE) ? 64 : this.neg().getNumBitsAbs();\n var val = this.high != 0 ? this.high : this.low;\n for (var bit = 31; bit > 0; bit--) if ((val & 1 << bit) != 0) break;\n return this.high != 0 ? bit + 33 : bit + 1;\n };\n \n /**\n * Tests if this Long can be safely represented as a JavaScript number.\n * @this {!Long}\n * @returns {boolean}\n */\n LongPrototype.isSafeInteger = function isSafeInteger() {\n // 2^53-1 is the maximum safe value\n var top11Bits = this.high >> 21;\n // [0, 2^53-1]\n if (!top11Bits) return true;\n // > 2^53-1\n if (this.unsigned) return false;\n // [-2^53, -1] except -2^53\n return top11Bits === -1 && !(this.low === 0 && this.high === -0x200000);\n };\n \n /**\n * Tests if this Long's value equals zero.\n * @this {!Long}\n * @returns {boolean}\n */\n LongPrototype.isZero = function isZero() {\n return this.high === 0 && this.low === 0;\n };\n \n /**\n * Tests if this Long's value equals zero. This is an alias of {@link Long#isZero}.\n * @returns {boolean}\n */\n LongPrototype.eqz = LongPrototype.isZero;\n \n /**\n * Tests if this Long's value is negative.\n * @this {!Long}\n * @returns {boolean}\n */\n LongPrototype.isNegative = function isNegative() {\n return !this.unsigned && this.high < 0;\n };\n \n /**\n * Tests if this Long's value is positive or zero.\n * @this {!Long}\n * @returns {boolean}\n */\n LongPrototype.isPositive = function isPositive() {\n return this.unsigned || this.high >= 0;\n };\n \n /**\n * Tests if this Long's value is odd.\n * @this {!Long}\n * @returns {boolean}\n */\n LongPrototype.isOdd = function isOdd() {\n return (this.low & 1) === 1;\n };\n \n /**\n * Tests if this Long's value is even.\n * @this {!Long}\n * @returns {boolean}\n */\n LongPrototype.isEven = function isEven() {\n return (this.low & 1) === 0;\n };\n \n /**\n * Tests if this Long's value equals the specified's.\n * @this {!Long}\n * @param {!Long|number|bigint|string} other Other value\n * @returns {boolean}\n */\n LongPrototype.equals = function equals(other) {\n if (!isLong(other)) other = fromValue(other);\n if (this.unsigned !== other.unsigned && this.high >>> 31 === 1 && other.high >>> 31 === 1) return false;\n return this.high === other.high && this.low === other.low;\n };\n \n /**\n * Tests if this Long's value equals the specified's. This is an alias of {@link Long#equals}.\n * @function\n * @param {!Long|number|bigint|string} other Other value\n * @returns {boolean}\n */\n LongPrototype.eq = LongPrototype.equals;\n \n /**\n * Tests if this Long's value differs from the specified's.\n * @this {!Long}\n * @param {!Long|number|bigint|string} other Other value\n * @returns {boolean}\n */\n LongPrototype.notEquals = function notEquals(other) {\n return !this.eq(/* validates */other);\n };\n \n /**\n * Tests if this Long's value differs from the specified's. This is an alias of {@link Long#notEquals}.\n * @function\n * @param {!Long|number|bigint|string} other Other value\n * @returns {boolean}\n */\n LongPrototype.neq = LongPrototype.notEquals;\n \n /**\n * Tests if this Long's value differs from the specified's. This is an alias of {@link Long#notEquals}.\n * @function\n * @param {!Long|number|bigint|string} other Other value\n * @returns {boolean}\n */\n LongPrototype.ne = LongPrototype.notEquals;\n \n /**\n * Tests if this Long's value is less than the specified's.\n * @this {!Long}\n * @param {!Long|number|bigint|string} other Other value\n * @returns {boolean}\n */\n LongPrototype.lessThan = function lessThan(other) {\n return this.comp(/* validates */other) < 0;\n };\n \n /**\n * Tests if this Long's value is less than the specified's. This is an alias of {@link Long#lessThan}.\n * @function\n * @param {!Long|number|bigint|string} other Other value\n * @returns {boolean}\n */\n LongPrototype.lt = LongPrototype.lessThan;\n \n /**\n * Tests if this Long's value is less than or equal the specified's.\n * @this {!Long}\n * @param {!Long|number|bigint|string} other Other value\n * @returns {boolean}\n */\n LongPrototype.lessThanOrEqual = function lessThanOrEqual(other) {\n return this.comp(/* validates */other) <= 0;\n };\n \n /**\n * Tests if this Long's value is less than or equal the specified's. This is an alias of {@link Long#lessThanOrEqual}.\n * @function\n * @param {!Long|number|bigint|string} other Other value\n * @returns {boolean}\n */\n LongPrototype.lte = LongPrototype.lessThanOrEqual;\n \n /**\n * Tests if this Long's value is less than or equal the specified's. This is an alias of {@link Long#lessThanOrEqual}.\n * @function\n * @param {!Long|number|bigint|string} other Other value\n * @returns {boolean}\n */\n LongPrototype.le = LongPrototype.lessThanOrEqual;\n \n /**\n * Tests if this Long's value is greater than the specified's.\n * @this {!Long}\n * @param {!Long|number|bigint|string} other Other value\n * @returns {boolean}\n */\n LongPrototype.greaterThan = function greaterThan(other) {\n return this.comp(/* validates */other) > 0;\n };\n \n /**\n * Tests if this Long's value is greater than the specified's. This is an alias of {@link Long#greaterThan}.\n * @function\n * @param {!Long|number|bigint|string} other Other value\n * @returns {boolean}\n */\n LongPrototype.gt = LongPrototype.greaterThan;\n \n /**\n * Tests if this Long's value is greater than or equal the specified's.\n * @this {!Long}\n * @param {!Long|number|bigint|string} other Other value\n * @returns {boolean}\n */\n LongPrototype.greaterThanOrEqual = function greaterThanOrEqual(other) {\n return this.comp(/* validates */other) >= 0;\n };\n \n /**\n * Tests if this Long's value is greater than or equal the specified's. This is an alias of {@link Long#greaterThanOrEqual}.\n * @function\n * @param {!Long|number|bigint|string} other Other value\n * @returns {boolean}\n */\n LongPrototype.gte = LongPrototype.greaterThanOrEqual;\n \n /**\n * Tests if this Long's value is greater than or equal the specified's. This is an alias of {@link Long#greaterThanOrEqual}.\n * @function\n * @param {!Long|number|bigint|string} other Other value\n * @returns {boolean}\n */\n LongPrototype.ge = LongPrototype.greaterThanOrEqual;\n \n /**\n * Compares this Long's value with the specified's.\n * @this {!Long}\n * @param {!Long|number|bigint|string} other Other value\n * @returns {number} 0 if they are the same, 1 if the this is greater and -1\n * if the given one is greater\n */\n LongPrototype.compare = function compare(other) {\n if (!isLong(other)) other = fromValue(other);\n if (this.eq(other)) return 0;\n var thisNeg = this.isNegative(),\n otherNeg = other.isNegative();\n if (thisNeg && !otherNeg) return -1;\n if (!thisNeg && otherNeg) return 1;\n // At this point the sign bits are the same\n if (!this.unsigned) return this.sub(other).isNegative() ? -1 : 1;\n // Both are positive if at least one is unsigned\n return other.high >>> 0 > this.high >>> 0 || other.high === this.high && other.low >>> 0 > this.low >>> 0 ? -1 : 1;\n };\n \n /**\n * Compares this Long's value with the specified's. This is an alias of {@link Long#compare}.\n * @function\n * @param {!Long|number|bigint|string} other Other value\n * @returns {number} 0 if they are the same, 1 if the this is greater and -1\n * if the given one is greater\n */\n LongPrototype.comp = LongPrototype.compare;\n \n /**\n * Negates this Long's value.\n * @this {!Long}\n * @returns {!Long} Negated Long\n */\n LongPrototype.negate = function negate() {\n if (!this.unsigned && this.eq(MIN_VALUE)) return MIN_VALUE;\n return this.not().add(ONE);\n };\n \n /**\n * Negates this Long's value. This is an alias of {@link Long#negate}.\n * @function\n * @returns {!Long} Negated Long\n */\n LongPrototype.neg = LongPrototype.negate;\n \n /**\n * Returns the sum of this and the specified Long.\n * @this {!Long}\n * @param {!Long|number|bigint|string} addend Addend\n * @returns {!Long} Sum\n */\n LongPrototype.add = function add(addend) {\n if (!isLong(addend)) addend = fromValue(addend);\n \n // Divide each number into 4 chunks of 16 bits, and then sum the chunks.\n \n var a48 = this.high >>> 16;\n var a32 = this.high & 0xFFFF;\n var a16 = this.low >>> 16;\n var a00 = this.low & 0xFFFF;\n var b48 = addend.high >>> 16;\n var b32 = addend.high & 0xFFFF;\n var b16 = addend.low >>> 16;\n var b00 = addend.low & 0xFFFF;\n var c48 = 0,\n c32 = 0,\n c16 = 0,\n c00 = 0;\n c00 += a00 + b00;\n c16 += c00 >>> 16;\n c00 &= 0xFFFF;\n c16 += a16 + b16;\n c32 += c16 >>> 16;\n c16 &= 0xFFFF;\n c32 += a32 + b32;\n c48 += c32 >>> 16;\n c32 &= 0xFFFF;\n c48 += a48 + b48;\n c48 &= 0xFFFF;\n return fromBits(c16 << 16 | c00, c48 << 16 | c32, this.unsigned);\n };\n \n /**\n * Returns the difference of this and the specified Long.\n * @this {!Long}\n * @param {!Long|number|bigint|string} subtrahend Subtrahend\n * @returns {!Long} Difference\n */\n LongPrototype.subtract = function subtract(subtrahend) {\n if (!isLong(subtrahend)) subtrahend = fromValue(subtrahend);\n return this.add(subtrahend.neg());\n };\n \n /**\n * Returns the difference of this and the specified Long. This is an alias of {@link Long#subtract}.\n * @function\n * @param {!Long|number|bigint|string} subtrahend Subtrahend\n * @returns {!Long} Difference\n */\n LongPrototype.sub = LongPrototype.subtract;\n \n /**\n * Returns the product of this and the specified Long.\n * @this {!Long}\n * @param {!Long|number|bigint|string} multiplier Multiplier\n * @returns {!Long} Product\n */\n LongPrototype.multiply = function multiply(multiplier) {\n if (this.isZero()) return this;\n if (!isLong(multiplier)) multiplier = fromValue(multiplier);\n \n // use wasm support if present\n if (wasm) {\n var low = wasm[\"mul\"](this.low, this.high, multiplier.low, multiplier.high);\n return fromBits(low, wasm[\"get_high\"](), this.unsigned);\n }\n if (multiplier.isZero()) return this.unsigned ? UZERO : ZERO;\n if (this.eq(MIN_VALUE)) return multiplier.isOdd() ? MIN_VALUE : ZERO;\n if (multiplier.eq(MIN_VALUE)) return this.isOdd() ? MIN_VALUE : ZERO;\n if (this.isNegative()) {\n if (multiplier.isNegative()) return this.neg().mul(multiplier.neg());else return this.neg().mul(multiplier).neg();\n } else if (multiplier.isNegative()) return this.mul(multiplier.neg()).neg();\n \n // If both longs are small, use float multiplication\n if (this.lt(TWO_PWR_24) && multiplier.lt(TWO_PWR_24)) return fromNumber(this.toNumber() * multiplier.toNumber(), this.unsigned);\n \n // Divide each long into 4 chunks of 16 bits, and then add up 4x4 products.\n // We can skip products that would overflow.\n \n var a48 = this.high >>> 16;\n var a32 = this.high & 0xFFFF;\n var a16 = this.low >>> 16;\n var a00 = this.low & 0xFFFF;\n var b48 = multiplier.high >>> 16;\n var b32 = multiplier.high & 0xFFFF;\n var b16 = multiplier.low >>> 16;\n var b00 = multiplier.low & 0xFFFF;\n var c48 = 0,\n c32 = 0,\n c16 = 0,\n c00 = 0;\n c00 += a00 * b00;\n c16 += c00 >>> 16;\n c00 &= 0xFFFF;\n c16 += a16 * b00;\n c32 += c16 >>> 16;\n c16 &= 0xFFFF;\n c16 += a00 * b16;\n c32 += c16 >>> 16;\n c16 &= 0xFFFF;\n c32 += a32 * b00;\n c48 += c32 >>> 16;\n c32 &= 0xFFFF;\n c32 += a16 * b16;\n c48 += c32 >>> 16;\n c32 &= 0xFFFF;\n c32 += a00 * b32;\n c48 += c32 >>> 16;\n c32 &= 0xFFFF;\n c48 += a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48;\n c48 &= 0xFFFF;\n return fromBits(c16 << 16 | c00, c48 << 16 | c32, this.unsigned);\n };\n \n /**\n * Returns the product of this and the specified Long. This is an alias of {@link Long#multiply}.\n * @function\n * @param {!Long|number|bigint|string} multiplier Multiplier\n * @returns {!Long} Product\n */\n LongPrototype.mul = LongPrototype.multiply;\n \n /**\n * Returns this Long divided by the specified. The result is signed if this Long is signed or\n * unsigned if this Long is unsigned.\n * @this {!Long}\n * @param {!Long|number|bigint|string} divisor Divisor\n * @returns {!Long} Quotient\n */\n LongPrototype.divide = function divide(divisor) {\n if (!isLong(divisor)) divisor = fromValue(divisor);\n if (divisor.isZero()) throw Error('division by zero');\n \n // use wasm support if present\n if (wasm) {\n // guard against signed division overflow: the largest\n // negative number / -1 would be 1 larger than the largest\n // positive number, due to two's complement.\n if (!this.unsigned && this.high === -0x80000000 && divisor.low === -1 && divisor.high === -1) {\n // be consistent with non-wasm code path\n return this;\n }\n var low = (this.unsigned ? wasm[\"div_u\"] : wasm[\"div_s\"])(this.low, this.high, divisor.low, divisor.high);\n return fromBits(low, wasm[\"get_high\"](), this.unsigned);\n }\n if (this.isZero()) return this.unsigned ? UZERO : ZERO;\n var approx, rem, res;\n if (!this.unsigned) {\n // This section is only relevant for signed longs and is derived from the\n // closure library as a whole.\n if (this.eq(MIN_VALUE)) {\n if (divisor.eq(ONE) || divisor.eq(NEG_ONE)) return MIN_VALUE; // recall that -MIN_VALUE == MIN_VALUE\n else if (divisor.eq(MIN_VALUE)) return ONE;else {\n // At this point, we have |other| >= 2, so |this/other| < |MIN_VALUE|.\n var halfThis = this.shr(1);\n approx = halfThis.div(divisor).shl(1);\n if (approx.eq(ZERO)) {\n return divisor.isNegative() ? ONE : NEG_ONE;\n } else {\n rem = this.sub(divisor.mul(approx));\n res = approx.add(rem.div(divisor));\n return res;\n }\n }\n } else if (divisor.eq(MIN_VALUE)) return this.unsigned ? UZERO : ZERO;\n if (this.isNegative()) {\n if (divisor.isNegative()) return this.neg().div(divisor.neg());\n return this.neg().div(divisor).neg();\n } else if (divisor.isNegative()) return this.div(divisor.neg()).neg();\n res = ZERO;\n } else {\n // The algorithm below has not been made for unsigned longs. It's therefore\n // required to take special care of the MSB prior to running it.\n if (!divisor.unsigned) divisor = divisor.toUnsigned();\n if (divisor.gt(this)) return UZERO;\n if (divisor.gt(this.shru(1)))\n // 15 >>> 1 = 7 ; with divisor = 8 ; true\n return UONE;\n res = UZERO;\n }\n \n // Repeat the following until the remainder is less than other: find a\n // floating-point that approximates remainder / other *from below*, add this\n // into the result, and subtract it from the remainder. It is critical that\n // the approximate value is less than or equal to the real value so that the\n // remainder never becomes negative.\n rem = this;\n while (rem.gte(divisor)) {\n // Approximate the result of division. This may be a little greater or\n // smaller than the actual value.\n approx = Math.max(1, Math.floor(rem.toNumber() / divisor.toNumber()));\n \n // We will tweak the approximate result by changing it in the 48-th digit or\n // the smallest non-fractional digit, whichever is larger.\n var log2 = Math.ceil(Math.log(approx) / Math.LN2),\n delta = log2 <= 48 ? 1 : pow_dbl(2, log2 - 48),\n // Decrease the approximation until it is smaller than the remainder. Note\n // that if it is too large, the product overflows and is negative.\n approxRes = fromNumber(approx),\n approxRem = approxRes.mul(divisor);\n while (approxRem.isNegative() || approxRem.gt(rem)) {\n approx -= delta;\n approxRes = fromNumber(approx, this.unsigned);\n approxRem = approxRes.mul(divisor);\n }\n \n // We know the answer can't be zero... and actually, zero would cause\n // infinite recursion since we would make no progress.\n if (approxRes.isZero()) approxRes = ONE;\n res = res.add(approxRes);\n rem = rem.sub(approxRem);\n }\n return res;\n };\n \n /**\n * Returns this Long divided by the specified. This is an alias of {@link Long#divide}.\n * @function\n * @param {!Long|number|bigint|string} divisor Divisor\n * @returns {!Long} Quotient\n */\n LongPrototype.div = LongPrototype.divide;\n \n /**\n * Returns this Long modulo the specified.\n * @this {!Long}\n * @param {!Long|number|bigint|string} divisor Divisor\n * @returns {!Long} Remainder\n */\n LongPrototype.modulo = function modulo(divisor) {\n if (!isLong(divisor)) divisor = fromValue(divisor);\n \n // use wasm support if present\n if (wasm) {\n var low = (this.unsigned ? wasm[\"rem_u\"] : wasm[\"rem_s\"])(this.low, this.high, divisor.low, divisor.high);\n return fromBits(low, wasm[\"get_high\"](), this.unsigned);\n }\n return this.sub(this.div(divisor).mul(divisor));\n };\n \n /**\n * Returns this Long modulo the specified. This is an alias of {@link Long#modulo}.\n * @function\n * @param {!Long|number|bigint|string} divisor Divisor\n * @returns {!Long} Remainder\n */\n LongPrototype.mod = LongPrototype.modulo;\n \n /**\n * Returns this Long modulo the specified. This is an alias of {@link Long#modulo}.\n * @function\n * @param {!Long|number|bigint|string} divisor Divisor\n * @returns {!Long} Remainder\n */\n LongPrototype.rem = LongPrototype.modulo;\n \n /**\n * Returns the bitwise NOT of this Long.\n * @this {!Long}\n * @returns {!Long}\n */\n LongPrototype.not = function not() {\n return fromBits(~this.low, ~this.high, this.unsigned);\n };\n \n /**\n * Returns count leading zeros of this Long.\n * @this {!Long}\n * @returns {!number}\n */\n LongPrototype.countLeadingZeros = function countLeadingZeros() {\n return this.high ? Math.clz32(this.high) : Math.clz32(this.low) + 32;\n };\n \n /**\n * Returns count leading zeros. This is an alias of {@link Long#countLeadingZeros}.\n * @function\n * @param {!Long}\n * @returns {!number}\n */\n LongPrototype.clz = LongPrototype.countLeadingZeros;\n \n /**\n * Returns count trailing zeros of this Long.\n * @this {!Long}\n * @returns {!number}\n */\n LongPrototype.countTrailingZeros = function countTrailingZeros() {\n return this.low ? ctz32(this.low) : ctz32(this.high) + 32;\n };\n \n /**\n * Returns count trailing zeros. This is an alias of {@link Long#countTrailingZeros}.\n * @function\n * @param {!Long}\n * @returns {!number}\n */\n LongPrototype.ctz = LongPrototype.countTrailingZeros;\n \n /**\n * Returns the bitwise AND of this Long and the specified.\n * @this {!Long}\n * @param {!Long|number|bigint|string} other Other Long\n * @returns {!Long}\n */\n LongPrototype.and = function and(other) {\n if (!isLong(other)) other = fromValue(other);\n return fromBits(this.low & other.low, this.high & other.high, this.unsigned);\n };\n \n /**\n * Returns the bitwise OR of this Long and the specified.\n * @this {!Long}\n * @param {!Long|number|bigint|string} other Other Long\n * @returns {!Long}\n */\n LongPrototype.or = function or(other) {\n if (!isLong(other)) other = fromValue(other);\n return fromBits(this.low | other.low, this.high | other.high, this.unsigned);\n };\n \n /**\n * Returns the bitwise XOR of this Long and the given one.\n * @this {!Long}\n * @param {!Long|number|bigint|string} other Other Long\n * @returns {!Long}\n */\n LongPrototype.xor = function xor(other) {\n if (!isLong(other)) other = fromValue(other);\n return fromBits(this.low ^ other.low, this.high ^ other.high, this.unsigned);\n };\n \n /**\n * Returns this Long with bits shifted to the left by the given amount.\n * @this {!Long}\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\n LongPrototype.shiftLeft = function shiftLeft(numBits) {\n if (isLong(numBits)) numBits = numBits.toInt();\n if ((numBits &= 63) === 0) return this;else if (numBits < 32) return fromBits(this.low << numBits, this.high << numBits | this.low >>> 32 - numBits, this.unsigned);else return fromBits(0, this.low << numBits - 32, this.unsigned);\n };\n \n /**\n * Returns this Long with bits shifted to the left by the given amount. This is an alias of {@link Long#shiftLeft}.\n * @function\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\n LongPrototype.shl = LongPrototype.shiftLeft;\n \n /**\n * Returns this Long with bits arithmetically shifted to the right by the given amount.\n * @this {!Long}\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\n LongPrototype.shiftRight = function shiftRight(numBits) {\n if (isLong(numBits)) numBits = numBits.toInt();\n if ((numBits &= 63) === 0) return this;else if (numBits < 32) return fromBits(this.low >>> numBits | this.high << 32 - numBits, this.high >> numBits, this.unsigned);else return fromBits(this.high >> numBits - 32, this.high >= 0 ? 0 : -1, this.unsigned);\n };\n \n /**\n * Returns this Long with bits arithmetically shifted to the right by the given amount. This is an alias of {@link Long#shiftRight}.\n * @function\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\n LongPrototype.shr = LongPrototype.shiftRight;\n \n /**\n * Returns this Long with bits logically shifted to the right by the given amount.\n * @this {!Long}\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\n LongPrototype.shiftRightUnsigned = function shiftRightUnsigned(numBits) {\n if (isLong(numBits)) numBits = numBits.toInt();\n if ((numBits &= 63) === 0) return this;\n if (numBits < 32) return fromBits(this.low >>> numBits | this.high << 32 - numBits, this.high >>> numBits, this.unsigned);\n if (numBits === 32) return fromBits(this.high, 0, this.unsigned);\n return fromBits(this.high >>> numBits - 32, 0, this.unsigned);\n };\n \n /**\n * Returns this Long with bits logically shifted to the right by the given amount. This is an alias of {@link Long#shiftRightUnsigned}.\n * @function\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\n LongPrototype.shru = LongPrototype.shiftRightUnsigned;\n \n /**\n * Returns this Long with bits logically shifted to the right by the given amount. This is an alias of {@link Long#shiftRightUnsigned}.\n * @function\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\n LongPrototype.shr_u = LongPrototype.shiftRightUnsigned;\n \n /**\n * Returns this Long with bits rotated to the left by the given amount.\n * @this {!Long}\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Rotated Long\n */\n LongPrototype.rotateLeft = function rotateLeft(numBits) {\n var b;\n if (isLong(numBits)) numBits = numBits.toInt();\n if ((numBits &= 63) === 0) return this;\n if (numBits === 32) return fromBits(this.high, this.low, this.unsigned);\n if (numBits < 32) {\n b = 32 - numBits;\n return fromBits(this.low << numBits | this.high >>> b, this.high << numBits | this.low >>> b, this.unsigned);\n }\n numBits -= 32;\n b = 32 - numBits;\n return fromBits(this.high << numBits | this.low >>> b, this.low << numBits | this.high >>> b, this.unsigned);\n };\n /**\n * Returns this Long with bits rotated to the left by the given amount. This is an alias of {@link Long#rotateLeft}.\n * @function\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Rotated Long\n */\n LongPrototype.rotl = LongPrototype.rotateLeft;\n \n /**\n * Returns this Long with bits rotated to the right by the given amount.\n * @this {!Long}\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Rotated Long\n */\n LongPrototype.rotateRight = function rotateRight(numBits) {\n var b;\n if (isLong(numBits)) numBits = numBits.toInt();\n if ((numBits &= 63) === 0) return this;\n if (numBits === 32) return fromBits(this.high, this.low, this.unsigned);\n if (numBits < 32) {\n b = 32 - numBits;\n return fromBits(this.high << b | this.low >>> numBits, this.low << b | this.high >>> numBits, this.unsigned);\n }\n numBits -= 32;\n b = 32 - numBits;\n return fromBits(this.low << b | this.high >>> numBits, this.high << b | this.low >>> numBits, this.unsigned);\n };\n /**\n * Returns this Long with bits rotated to the right by the given amount. This is an alias of {@link Long#rotateRight}.\n * @function\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Rotated Long\n */\n LongPrototype.rotr = LongPrototype.rotateRight;\n \n /**\n * Converts this Long to signed.\n * @this {!Long}\n * @returns {!Long} Signed long\n */\n LongPrototype.toSigned = function toSigned() {\n if (!this.unsigned) return this;\n return fromBits(this.low, this.high, false);\n };\n \n /**\n * Converts this Long to unsigned.\n * @this {!Long}\n * @returns {!Long} Unsigned long\n */\n LongPrototype.toUnsigned = function toUnsigned() {\n if (this.unsigned) return this;\n return fromBits(this.low, this.high, true);\n };\n \n /**\n * Converts this Long to its byte representation.\n * @param {boolean=} le Whether little or big endian, defaults to big endian\n * @this {!Long}\n * @returns {!Array.<number>} Byte representation\n */\n LongPrototype.toBytes = function toBytes(le) {\n return le ? this.toBytesLE() : this.toBytesBE();\n };\n \n /**\n * Converts this Long to its little endian byte representation.\n * @this {!Long}\n * @returns {!Array.<number>} Little endian byte representation\n */\n LongPrototype.toBytesLE = function toBytesLE() {\n var hi = this.high,\n lo = this.low;\n return [lo & 0xff, lo >>> 8 & 0xff, lo >>> 16 & 0xff, lo >>> 24, hi & 0xff, hi >>> 8 & 0xff, hi >>> 16 & 0xff, hi >>> 24];\n };\n \n /**\n * Converts this Long to its big endian byte representation.\n * @this {!Long}\n * @returns {!Array.<number>} Big endian byte representation\n */\n LongPrototype.toBytesBE = function toBytesBE() {\n var hi = this.high,\n lo = this.low;\n return [hi >>> 24, hi >>> 16 & 0xff, hi >>> 8 & 0xff, hi & 0xff, lo >>> 24, lo >>> 16 & 0xff, lo >>> 8 & 0xff, lo & 0xff];\n };\n \n /**\n * Creates a Long from its byte representation.\n * @param {!Array.<number>} bytes Byte representation\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @param {boolean=} le Whether little or big endian, defaults to big endian\n * @returns {Long} The corresponding Long value\n */\n Long.fromBytes = function fromBytes(bytes, unsigned, le) {\n return le ? Long.fromBytesLE(bytes, unsigned) : Long.fromBytesBE(bytes, unsigned);\n };\n \n /**\n * Creates a Long from its little endian byte representation.\n * @param {!Array.<number>} bytes Little endian byte representation\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @returns {Long} The corresponding Long value\n */\n Long.fromBytesLE = function fromBytesLE(bytes, unsigned) {\n return new Long(bytes[0] | bytes[1] << 8 | bytes[2] << 16 | bytes[3] << 24, bytes[4] | bytes[5] << 8 | bytes[6] << 16 | bytes[7] << 24, unsigned);\n };\n \n /**\n * Creates a Long from its big endian byte representation.\n * @param {!Array.<number>} bytes Big endian byte representation\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @returns {Long} The corresponding Long value\n */\n Long.fromBytesBE = function fromBytesBE(bytes, unsigned) {\n return new Long(bytes[4] << 24 | bytes[5] << 16 | bytes[6] << 8 | bytes[7], bytes[0] << 24 | bytes[1] << 16 | bytes[2] << 8 | bytes[3], unsigned);\n };\n \n // Support conversion to/from BigInt where available\n if (typeof BigInt === \"function\") {\n /**\n * Returns a Long representing the given big integer.\n * @function\n * @param {number} value The big integer value\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @returns {!Long} The corresponding Long value\n */\n Long.fromBigInt = function fromBigInt(value, unsigned) {\n var lowBits = Number(BigInt.asIntN(32, value));\n var highBits = Number(BigInt.asIntN(32, value >> BigInt(32)));\n return fromBits(lowBits, highBits, unsigned);\n };\n \n // Override\n Long.fromValue = function fromValueWithBigInt(value, unsigned) {\n if (typeof value === \"bigint\") return fromBigInt(value, unsigned);\n return fromValue(value, unsigned);\n };\n \n /**\n * Converts the Long to its big integer representation.\n * @this {!Long}\n * @returns {bigint}\n */\n LongPrototype.toBigInt = function toBigInt() {\n var lowBigInt = BigInt(this.low >>> 0);\n var highBigInt = BigInt(this.unsigned ? this.high >>> 0 : this.high);\n return highBigInt << BigInt(32) | lowBigInt;\n };\n }\n var _default = exports.default = Long;\n return \"default\" in exports ? exports.default : exports;\n})({});\nif (typeof define === 'function' && define.amd) define([], function() { return Long; });\nelse if (typeof module === 'object' && typeof exports === 'object') module.exports = Long;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.objects = exports.NillableError = void 0;\nconst NillablErrorSymbol = Symbol();\nconst NILL_ERROR_MESSAGE = 'value cannot be null or undefined';\nclass NillableError extends Error {\n constructor(message = NILL_ERROR_MESSAGE) {\n super(message || NILL_ERROR_MESSAGE);\n }\n get [NillablErrorSymbol]() {\n return true;\n }\n}\nexports.NillableError = NillableError;\nexports.objects = {\n isNilError: (error) => {\n return error[NillablErrorSymbol] === true;\n },\n // returns true if the value is null or undefined,\n // else will return false.\n isNil: (value) => {\n return value === null || value === undefined;\n },\n // returns false if the value is null or undefined,\n // else will return true.\n isNotNil: (value) => {\n return !exports.objects.isNil(value);\n },\n /**\n * Helper function to validate required fields with a requireNonNil error.\n * @param values An object containing field names and their corresponding values.\n * @param errorMessageTemplate A function to generate error messages dynamically.\n */\n validateFields: (values, errorMessageTemplate) => {\n for (const key in values) {\n exports.objects.requireNonNil(values[key], errorMessageTemplate(key));\n }\n return values;\n },\n // If value is null or undefined, then an error is thrown, else\n // value is returned.\n requireNonNil: (value, message) => {\n if (!exports.objects.isNil(value)) {\n return value;\n }\n if (typeof message === 'function') {\n throw message(value);\n }\n throw new NillableError(message);\n },\n // If value is null or undefined, then an error is thrown, else\n // value is returned.\n requireNonNilNumber: (value, message) => {\n if (typeof value === 'number') {\n return value;\n }\n if (typeof message === 'function') {\n throw message(value);\n }\n if (!value) {\n throw new NillableError(message);\n }\n throw new Error('value is not a number, it is a ' + typeof value);\n },\n requireMaxLength: (value, maxLength, message) => {\n if (!value) {\n if (typeof message === 'function') {\n throw message(value);\n }\n throw new Error(message || 'value is null or undefined');\n }\n if (typeof value.toString !== 'function') {\n throw new Error('value does not have a toString() method');\n }\n if (value.toString().length > maxLength) {\n if (typeof message === 'function') {\n throw message(value);\n }\n throw new Error(message || `value is longer than ${maxLength} characters`);\n }\n return value;\n },\n /**\n * Validates that optional parameters, if provided, are not null.\n *\n * @param options - The options object containing the parameters to validate.\n * @param fields - An array of field names to validate.\n * @throws Error if any field is explicitly provided but null.\n */\n validateOptionalFields(options, fields) {\n fields.forEach((field) => {\n if (options[field] !== undefined && options[field] === null) {\n throw new Error(`${String(field)} must not be null.`);\n }\n });\n },\n /**\n * Validates required parameters for the class or function, are not null or undefined.\n *\n * @param options - The options object containing the parameters to validate.\n * @param fields - An array of field names to validate.\n * @throws Error if any field is explicitly provided but null.\n */\n validateRequiredFields(options, fields) {\n fields.forEach((field) => {\n if (options[field] === undefined && options[field] === null) {\n throw new Error(`${String(field)} must not be null.`);\n }\n });\n return options;\n },\n};\n//# sourceMappingURL=objects.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.strings = void 0;\nconst objects_1 = require(\"./objects\");\nexports.strings = {\n is: (value) => {\n return typeof value === 'string';\n },\n // If value is null or undefined, then an error is thrown, else\n // value is returned.\n requireNonNil: (value, message) => {\n if (exports.strings.is(value)) {\n return value;\n }\n if (typeof message === 'function') {\n throw message();\n }\n throw new Error(\"value is not a string, it is a \" + (!value ? 'null or undefined' : typeof value));\n },\n // If value is null or undefined, then an error is thrown, else\n // value is returned.\n requireNonNilElse: (value, defaultValue) => {\n if (!objects_1.objects.isNil(value)) {\n // @ts-ignore: Unreachable code error\n return value;\n }\n if (typeof defaultValue === 'function') {\n defaultValue(value);\n }\n if (exports.strings.is(defaultValue)) {\n return defaultValue;\n }\n throw new Error(\"defaultValue is not a string, it is a \" + (!value ? 'null or undefined' : typeof value));\n },\n // NOTE: Will throw an exception if not a string/null/undefined.\n isNilOrEmpty: (value) => {\n if (objects_1.objects.isNil(value)) {\n return true;\n }\n if (exports.strings.is(value)) {\n return value === '';\n }\n throw new Error(\"value is not a string or null, it is a \" + (!value ? 'undefined' : typeof value));\n },\n // NOTE: Will throw an exception if not a string/null/undefined.\n isNilOrWhitespace: (value) => {\n // @ts-ignore: Unreachable code error\n return exports.strings.isNilOrEmpty(value) || value.trim().length === 0;\n },\n};\n//# sourceMappingURL=strings.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bytesToBoolean = exports.booleanToBytes = exports.bytesToInt64 = exports.int64ToBytes = exports.bytesToInt32 = exports.int32ToBytes = exports.bytesToString = exports.hexToBase64 = exports.base64ToHex = exports.hexToBytes = exports.bytesToHex = exports.bytesToEthHex = exports.hexToNumber = exports.numberToHex = exports.numberToEthHex = exports.numberToBytes = exports.hexToString = exports.stringToHex = exports.stringToEthHex = exports.stringToBytes = void 0;\nconst long_1 = __importDefault(require(\"long\"));\nconst strings_1 = require(\"./strings\");\nconst objects_1 = require(\"./objects\");\nconst base64_1 = require(\"./base64\");\n// converts string to bytes using utf-8 encoding\nfunction stringToBytes(str) {\n return new TextEncoder().encode(str);\n}\nexports.stringToBytes = stringToBytes;\nfunction stringToEthHex(str) {\n let hex = '0x';\n hex += stringToHex(str);\n return hex;\n}\nexports.stringToEthHex = stringToEthHex;\nfunction stringToHex(str) {\n return stringToBytes(str).reduce((str, byte) => str + byte.toString(16).padStart(2, '0'), '');\n}\nexports.stringToHex = stringToHex;\nfunction hexToString(hex) {\n strings_1.strings.requireNonNil(hex);\n return bytesToString(hexToBytes(hex));\n}\nexports.hexToString = hexToString;\nfunction numberToBytes(num) {\n const buffer = new ArrayBuffer(8);\n const view = new DataView(buffer);\n if (typeof num === 'number') {\n if (num < 0 || num > 9007199254740991) { // 2^53 - 1\n throw new Error('Number out of bounds for safe integer representation');\n }\n const high = Math.floor(num / 4294967296); // 2^32\n const low = num % 4294967296;\n view.setUint32(0, high); // High 32 bits\n view.setUint32(4, low); // Low 32 bits\n }\n else if (typeof num === 'bigint') {\n if (num < 0n || num > 0xffffffffffffffffn) {\n throw new Error('Number out of bounds for Uint64 representation');\n }\n const high = Number(num >> 32n);\n const low = Number(num & 0xffffffffn);\n view.setUint32(0, high);\n view.setUint32(4, low);\n }\n else {\n throw new Error('Unsupported type for conversion to bytes');\n }\n return new Uint8Array(buffer);\n}\nexports.numberToBytes = numberToBytes;\nfunction numberToEthHex(num) {\n return '0x' + numberToHex(num);\n}\nexports.numberToEthHex = numberToEthHex;\nfunction numberToHex(num) {\n let hex = num.toString(16);\n if (hex.length % 2 !== 0) {\n hex = '0' + hex;\n }\n return hex;\n}\nexports.numberToHex = numberToHex;\nfunction hexToNumber(hex) {\n strings_1.strings.requireNonNil(hex);\n if (hex.length % 2 !== 0) {\n throw new Error(`invalid hex string: ${hex}`);\n }\n // strip 0x prefix\n if (hex.startsWith('0x')) {\n hex = hex.slice(2);\n }\n return parseInt(hex, 16);\n}\nexports.hexToNumber = hexToNumber;\nfunction bytesToEthHex(bytes) {\n return '0x' + bytesToHex(bytes);\n}\nexports.bytesToEthHex = bytesToEthHex;\nfunction bytesToHex(bytes) {\n return bytes.reduce((str, byte) => str + byte.toString(16).padStart(2, '0'), '');\n}\nexports.bytesToHex = bytesToHex;\nfunction hexToBytes(hex) {\n strings_1.strings.requireNonNil(hex);\n if (hex.length % 2 !== 0) {\n throw new Error(`invalid hex string: ${hex}`);\n }\n // strip 0x prefix\n if (hex.startsWith('0x')) {\n hex = hex.slice(2);\n }\n const bytes = new Uint8Array(hex.length / 2);\n for (let i = 0; i < hex.length; i += 2) {\n bytes[i / 2] = parseInt(hex.slice(i, i + 2), 16);\n }\n return bytes;\n}\nexports.hexToBytes = hexToBytes;\nfunction base64ToHex(base64) {\n return bytesToHex((0, base64_1.base64ToBytes)(base64));\n}\nexports.base64ToHex = base64ToHex;\nfunction hexToBase64(hex) {\n return (0, base64_1.bytesToBase64)(hexToBytes(hex));\n}\nexports.hexToBase64 = hexToBase64;\nfunction bytesToString(bytes) {\n return new TextDecoder().decode(bytes);\n}\nexports.bytesToString = bytesToString;\nfunction int32ToBytes(num) {\n objects_1.objects.requireNonNilNumber(num);\n const buffer = new ArrayBuffer(4);\n const view = new DataView(buffer);\n view.setInt32(0, num, true);\n return new Uint8Array(buffer);\n}\nexports.int32ToBytes = int32ToBytes;\nfunction bytesToInt32(bytes) {\n objects_1.objects.requireNonNil(bytes);\n const buffer = new ArrayBuffer(4);\n const view = new DataView(buffer);\n for (let i = 0; i < bytes.length; i++) {\n view.setInt8(i, bytes[i]);\n }\n return view.getInt32(0, true);\n}\nexports.bytesToInt32 = bytesToInt32;\nfunction int64ToBytes(num) {\n objects_1.objects.requireNonNilNumber(num);\n const longNum = long_1.default.fromNumber(num, true);\n const buffer = new ArrayBuffer(8);\n const view = new DataView(buffer);\n view.setInt32(0, longNum.low, true);\n view.setInt32(4, longNum.high, true);\n return new Uint8Array(buffer);\n}\nexports.int64ToBytes = int64ToBytes;\nfunction bytesToInt64(bytes) {\n objects_1.objects.requireNonNil(bytes);\n const buffer = new ArrayBuffer(8);\n const view = new DataView(buffer);\n for (let i = 0; i < bytes.length; i++) {\n view.setInt8(i, bytes[i]);\n }\n return view.getInt32(0, true);\n}\nexports.bytesToInt64 = bytesToInt64;\nfunction booleanToBytes(bool) {\n objects_1.objects.requireNonNil(bool);\n const buffer = new ArrayBuffer(1);\n const view = new DataView(buffer);\n view.setUint8(0, bool ? 1 : 0);\n return new Uint8Array(buffer);\n}\nexports.booleanToBytes = booleanToBytes;\nfunction bytesToBoolean(bytes) {\n objects_1.objects.requireNonNil(bytes);\n const buffer = new ArrayBuffer(1);\n const view = new DataView(buffer);\n for (let i = 0; i < bytes.length; i++) {\n view.setUint8(i, bytes[i]);\n }\n return view.getUint8(0) === 1;\n}\nexports.bytesToBoolean = bytesToBoolean;\n//# sourceMappingURL=serial.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AccessModifier = exports.AccountKeyType = exports.AccountStatus = exports.AuthErrorCodes = exports.BroadcastSyncType = exports.AuthenticationMode = exports.EnvironmentType = exports.BytesEncodingStatus = exports.SerializationType = exports.PayloadType = exports.EncodingType = exports.IndexType = exports.AttributeType = exports.VarType = void 0;\n/**\n * VarType is the type of the data in the database.\n *\n * Although Kwil supports text, int, bool, blob, uuid, uint256, decimal, and null types, kwil-js only supports text, int, bool, decimal, and null. If you need to send blob, uuid, or uint256 types, you should send them as a javascript string.\n *\n */\nvar VarType;\n(function (VarType) {\n VarType[\"UUID\"] = \"uuid\";\n VarType[\"TEXT\"] = \"text\";\n VarType[\"INT8\"] = \"int8\";\n VarType[\"BOOL\"] = \"bool\";\n VarType[\"NUMERIC\"] = \"numeric\";\n VarType[\"NULL\"] = \"null\";\n VarType[\"BYTEA\"] = \"bytea\";\n VarType[\"UNKNOWN\"] = \"unknown\";\n})(VarType || (exports.VarType = VarType = {}));\nvar AttributeType;\n(function (AttributeType) {\n AttributeType[\"INVALID_TYPE\"] = \"\";\n AttributeType[\"PRIMARY_KEY\"] = \"PRIMARY_KEY\";\n AttributeType[\"UNIQUE\"] = \"UNIQUE\";\n AttributeType[\"NOT_NULL\"] = \"NOT_NULL\";\n AttributeType[\"DEFAULT\"] = \"DEFAULT\";\n AttributeType[\"MIN\"] = \"MIN\";\n AttributeType[\"MAX\"] = \"MAX\";\n AttributeType[\"MIN_LENGTH\"] = \"MIN_LENGTH\";\n AttributeType[\"MAX_LENGTH\"] = \"MAX_LENGTH\";\n})(AttributeType || (exports.AttributeType = AttributeType = {}));\nvar IndexType;\n(function (IndexType) {\n IndexType[\"INVALID_INDEX_TYPE\"] = \"\";\n IndexType[\"BTREE\"] = \"BTREE\";\n IndexType[\"UNIQUE_BTREE\"] = \"UNIQUE_BTREE\";\n})(IndexType || (exports.IndexType = IndexType = {}));\nvar EncodingType;\n(function (EncodingType) {\n EncodingType[EncodingType[\"INVALID_ENCODING_TYPE\"] = 0] = \"INVALID_ENCODING_TYPE\";\n EncodingType[EncodingType[\"RLP_ENCODING\"] = 1] = \"RLP_ENCODING\";\n})(EncodingType || (exports.EncodingType = EncodingType = {}));\nvar PayloadType;\n(function (PayloadType) {\n PayloadType[\"INVALID_PAYLOAD_TYPE\"] = \"invalid\";\n PayloadType[\"EXECUTE_ACTION\"] = \"execute\";\n PayloadType[\"CALL_ACTION\"] = \"call_action\";\n PayloadType[\"TRANSFER\"] = \"transfer\";\n PayloadType[\"RAW_STATEMENT\"] = \"raw_statement\";\n})(PayloadType || (exports.PayloadType = PayloadType = {}));\nvar SerializationType;\n(function (SerializationType) {\n SerializationType[\"INVALID_SERIALIZATION_TYPE\"] = \"invalid\";\n SerializationType[\"SIGNED_MSG_CONCAT\"] = \"concat\";\n SerializationType[\"SIGNED_MSG_EIP712\"] = \"eip712\";\n})(SerializationType || (exports.SerializationType = SerializationType = {}));\nvar BytesEncodingStatus;\n(function (BytesEncodingStatus) {\n BytesEncodingStatus[\"INVALID_ENCODING_STATUS\"] = \"invalid\";\n BytesEncodingStatus[\"BASE64_ENCODED\"] = \"base64_encoded\";\n BytesEncodingStatus[\"HEX_ENCODED\"] = \"hex_encoded\";\n BytesEncodingStatus[\"UINT8_ENCODED\"] = \"uint8_encoded\";\n})(BytesEncodingStatus || (exports.BytesEncodingStatus = BytesEncodingStatus = {}));\nvar EnvironmentType;\n(function (EnvironmentType) {\n EnvironmentType[\"BROWSER\"] = \"browser\";\n EnvironmentType[\"NODE\"] = \"node\";\n})(EnvironmentType || (exports.EnvironmentType = EnvironmentType = {}));\nvar AuthenticationMode;\n(function (AuthenticationMode) {\n AuthenticationMode[\"PRIVATE\"] = \"private\";\n AuthenticationMode[\"OPEN\"] = \"open\";\n})(AuthenticationMode || (exports.AuthenticationMode = AuthenticationMode = {}));\nvar BroadcastSyncType;\n(function (BroadcastSyncType) {\n BroadcastSyncType[BroadcastSyncType[\"SYNC\"] = 0] = \"SYNC\";\n BroadcastSyncType[BroadcastSyncType[\"COMMIT\"] = 1] = \"COMMIT\";\n})(BroadcastSyncType || (exports.BroadcastSyncType = BroadcastSyncType = {}));\nvar AuthErrorCodes;\n(function (AuthErrorCodes) {\n AuthErrorCodes[AuthErrorCodes[\"PRIVATE_MODE\"] = -1001] = \"PRIVATE_MODE\";\n AuthErrorCodes[AuthErrorCodes[\"KGW_MODE\"] = -901] = \"KGW_MODE\";\n})(AuthErrorCodes || (exports.AuthErrorCodes = AuthErrorCodes = {}));\n// For checking the unconfirmed nonce\nvar AccountStatus;\n(function (AccountStatus) {\n // returns the latest confirmed nonce\n AccountStatus[AccountStatus[\"LATEST\"] = 0] = \"LATEST\";\n // returns the latest unconfirmed nonce\n AccountStatus[AccountStatus[\"PENDING\"] = 1] = \"PENDING\";\n})(AccountStatus || (exports.AccountStatus = AccountStatus = {}));\nvar AccountKeyType;\n(function (AccountKeyType) {\n // Eth\n AccountKeyType[\"SECP256K1\"] = \"secp256k1\";\n // ED25519\n AccountKeyType[\"ED25519\"] = \"ed25519\";\n})(AccountKeyType || (exports.AccountKeyType = AccountKeyType = {}));\nvar AccessModifier;\n(function (AccessModifier) {\n AccessModifier[\"PUBLIC\"] = \"PUBLIC\";\n AccessModifier[\"PRIVATE\"] = \"PRIVATE\";\n AccessModifier[\"VIEW\"] = \"VIEW\";\n})(AccessModifier || (exports.AccessModifier = AccessModifier = {}));\n//# sourceMappingURL=enums.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.JSONRPCMethod = void 0;\nvar JSONRPCMethod;\n(function (JSONRPCMethod) {\n // TODO: Should we implement version? It hasn't historically existed on Kwil-JS, but i notice it in kwil-db.\n JSONRPCMethod[\"METHOD_HEALTH\"] = \"user.health\";\n JSONRPCMethod[\"METHOD_PING\"] = \"user.ping\";\n JSONRPCMethod[\"METHOD_CHAIN_INFO\"] = \"user.chain_info\";\n JSONRPCMethod[\"METHOD_ACCOUNT\"] = \"user.account\";\n JSONRPCMethod[\"METHOD_BROADCAST\"] = \"user.broadcast\";\n JSONRPCMethod[\"METHOD_CALL\"] = \"user.call\";\n JSONRPCMethod[\"METHOD_DATABASES\"] = \"user.databases\";\n JSONRPCMethod[\"METHOD_PRICE\"] = \"user.estimate_price\";\n JSONRPCMethod[\"METHOD_QUERY\"] = \"user.query\";\n JSONRPCMethod[\"METHOD_TX_QUERY\"] = \"user.tx_query\";\n JSONRPCMethod[\"METHOD_SCHEMA\"] = \"user.schema\";\n JSONRPCMethod[\"METHOD_KGW_PARAM\"] = \"kgw.authn_param\";\n JSONRPCMethod[\"METHOD_KGW_AUTHN\"] = \"kgw.authn\";\n JSONRPCMethod[\"METHOD_KGW_LOGOUT\"] = \"kgw.logout\";\n JSONRPCMethod[\"METHOD_CHALLENGE\"] = \"user.challenge\";\n})(JSONRPCMethod || (exports.JSONRPCMethod = JSONRPCMethod = {}));\n//# sourceMappingURL=jsonrpc.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst base64_1 = require(\"../utils/base64\");\nconst api_1 = require(\"./api\");\nconst serial_1 = require(\"../utils/serial\");\nconst enums_1 = require(\"../core/enums\");\nconst jsonrpc_1 = require(\"../core/jsonrpc\");\nclass Client extends api_1.Api {\n constructor(opts) {\n super(opts);\n this.jsonRpcId = 1;\n this.unconfirmedNonce = opts.unconfirmedNonce || false;\n }\n async getAuthenticateClient() {\n const body = this.buildJsonRpcRequest(jsonrpc_1.JSONRPCMethod.METHOD_KGW_PARAM, {});\n const res = await super.post(`/rpc/v1`, body);\n return checkRes(res, (r) => r.result);\n }\n async postAuthenticateClient(authBody) {\n const body = this.buildJsonRpcRequest(jsonrpc_1.JSONRPCMethod.METHOD_KGW_AUTHN, authBody);\n const res = await super.post(`/rpc/v1`, body);\n if (typeof window === 'undefined') {\n return checkRes(res, (r) => {\n const cookie = res.headers['set-cookie'];\n if (!cookie) {\n throw new Error('No cookie received from gateway. An error occurred with authentication.');\n }\n return {\n ...r.result,\n cookie: cookie[0],\n };\n });\n }\n // if we are in the browser, we don't need to return the cookie\n return checkRes(res, (r) => r.result);\n }\n // TODO: Update once KGW is updated for JSON RPC - DO NOT MERGE WITHOUT RESOLVING\n async logoutClient(identifier) {\n const body = this.buildJsonRpcRequest(jsonrpc_1.JSONRPCMethod.METHOD_KGW_LOGOUT, {\n account: identifier ? (0, serial_1.bytesToHex)(identifier) : '',\n });\n const res = await super.post(`/rpc/v1`, body);\n // if we are in nodejs, we need to return the cookie\n if (typeof window === 'undefined') {\n return checkRes(res, (r) => {\n const cookie = res.headers['set-cookie'];\n if (!cookie) {\n throw new Error('No cookie received from gateway. An error occured with logout.');\n }\n // if the cookie is empty, set the cookie to undefined\n if (cookie[0].startsWith('kgw_session=;')) {\n this.cookie = undefined;\n }\n else {\n // set the cookie\n this.cookie = cookie[0];\n }\n return {\n ...r.result,\n cookie: cookie[0],\n };\n });\n }\n // if we are in the browser, we don't need to return the cookie - the browser will handle it\n return checkRes(res, (r) => r.result);\n }\n async getAccountClient(accountId) {\n const body = this.buildJsonRpcRequest(jsonrpc_1.JSONRPCMethod.METHOD_ACCOUNT, {\n id: accountId,\n status: this.unconfirmedNonce ? enums_1.AccountStatus.PENDING : enums_1.AccountStatus.LATEST,\n });\n const res = await super.post(`/rpc/v1`, body);\n return checkRes(res, (r) => {\n return {\n ...r.result,\n id: r.result.id,\n };\n });\n }\n async listDatabasesClient(owner) {\n const body = this.buildJsonRpcRequest(jsonrpc_1.JSONRPCMethod.METHOD_DATABASES, {\n owner: owner ? (0, serial_1.bytesToHex)(owner) : undefined,\n });\n const res = await super.post(`/rpc/v1`, body);\n return checkRes(res, (r) => {\n if (!r.result.databases) {\n return [];\n }\n return r.result.databases.map((db) => {\n return {\n ...db,\n owner: (0, serial_1.hexToBytes)(db.owner),\n };\n });\n });\n }\n async estimateCostClient(tx) {\n const body = this.buildJsonRpcRequest(jsonrpc_1.JSONRPCMethod.METHOD_PRICE, {\n tx: tx.txData,\n });\n const res = await super.post(`/rpc/v1`, body);\n return checkRes(res, (r) => r.result.price);\n }\n async broadcastClient(tx, broadcastSync) {\n if (!tx.isSigned()) {\n throw new Error('Tx must be signed before broadcasting.');\n }\n const body = this.buildJsonRpcRequest(jsonrpc_1.JSONRPCMethod.METHOD_BROADCAST, {\n tx: tx.txData,\n ...(broadcastSync ? { sync: broadcastSync } : {}),\n });\n const res = await super.post(`/rpc/v1`, body);\n return checkRes(res, (r) => {\n // if r.result.result is included, it means that the user sent the transaction with a sync type of COMMIT\n // if any error occured when submitting the transaction will be included in r.result.result\n // if r.result.result.code is not zero, it means that an error occured when committing the transaction to a block\n if (r.result.result && r.result.result?.code !== 0) {\n throw new Error(JSON.stringify(r.result) || `Transaction failed after broadcast.`);\n }\n return {\n tx_hash: (0, serial_1.base64ToHex)(r.result.tx_hash),\n };\n });\n }\n async pingClient() {\n const body = this.buildJsonRpcRequest(jsonrpc_1.JSONRPCMethod.METHOD_PING, {\n message: 'ping',\n });\n const res = await super.post(`/rpc/v1`, body);\n return checkRes(res, (r) => r.result.message);\n }\n async chainInfoClient() {\n const body = this.buildJsonRpcRequest(jsonrpc_1.JSONRPCMethod.METHOD_CHAIN_INFO, {});\n const res = await super.post(`/rpc/v1`, body);\n return checkRes(res, (r) => {\n return {\n chain_id: r.result.chain_id,\n height: r.result.block_height.toString(),\n hash: r.result.block_hash,\n };\n });\n }\n async healthModeCheckClient() {\n // JsonRPCRequest to Determine mode (KGW or Private)\n const body = this.buildJsonRpcRequest(jsonrpc_1.JSONRPCMethod.METHOD_HEALTH, {});\n const res = await super.post(`/rpc/v1`, body);\n return checkRes(res, (r) => r.result);\n }\n async challengeClient() {\n // JsonRPCRequest to generate a challenge\n const body = this.buildJsonRpcRequest(jsonrpc_1.JSONRPCMethod.METHOD_CHALLENGE, {});\n const res = await super.post(`/rpc/v1`, body);\n return checkRes(res, (r) => r.result.challenge);\n }\n async selectQueryClient(query) {\n const body = this.buildJsonRpcRequest(jsonrpc_1.JSONRPCMethod.METHOD_QUERY, query);\n const res = await super.post(`/rpc/v1`, body);\n return checkRes(res, (r) => this.parseQueryResponse(r.result));\n }\n async txInfoClient(tx_hash) {\n const body = this.buildJsonRpcRequest(jsonrpc_1.JSONRPCMethod.METHOD_TX_QUERY, {\n tx_hash: (0, serial_1.hexToBase64)(tx_hash),\n });\n const res = await super.post(`/rpc/v1`, body);\n return checkRes(res, (r) => {\n return {\n ...r.result,\n tx: {\n ...r.result.tx,\n body: {\n ...r.result.tx.body,\n payload: (0, base64_1.base64ToBytes)(r.result.tx.body.payload),\n fee: BigInt(r.result.tx.body.fee || 0),\n },\n signature: {\n ...r.result.tx.signature,\n sig: (0, base64_1.base64ToBytes)(r.result.tx.signature.sig),\n },\n sender: (0, serial_1.hexToBytes)(r.result.tx.sender || ''),\n },\n };\n });\n }\n async callClient(msg) {\n const body = this.buildJsonRpcRequest(jsonrpc_1.JSONRPCMethod.METHOD_CALL, {\n body: msg.body,\n auth_type: msg.auth_type,\n sender: msg.sender || '',\n signature: msg.signature || '',\n });\n const res = await super.post(`/rpc/v1`, body);\n const errorResponse = this.checkAuthError(res);\n if (errorResponse) {\n return errorResponse;\n }\n return checkRes(res, (r) => {\n return {\n result: this.parseQueryResponse(r.result.query_result)\n };\n });\n }\n buildJsonRpcRequest(method, params) {\n return {\n jsonrpc: '2.0',\n id: this.jsonRpcId++,\n method,\n params,\n };\n }\n // Check for specific error codes and return http status, result of view action, and rpc authError code (if applicable)\n checkAuthError(res) {\n const errorCode = res.data.error?.code;\n if (errorCode === enums_1.AuthErrorCodes.PRIVATE_MODE || errorCode === enums_1.AuthErrorCodes.KGW_MODE) {\n return {\n status: res.status,\n data: undefined,\n authCode: errorCode,\n };\n }\n return null;\n }\n parseQueryResponse(queryResponse) {\n const { column_names, values } = queryResponse;\n if (!values || values.length === 0) {\n return [];\n }\n // Create a mapping function once that will be reused for all rows\n const mapValueToColumn = (rowValues) => {\n const obj = {};\n for (let i = 0; i < column_names.length; i++) {\n obj[column_names[i]] = rowValues[i];\n }\n return obj;\n };\n // Map each row of values to an object using the column mapping\n return values.map(mapValueToColumn);\n }\n}\nexports.default = Client;\nfunction checkRes(res, selector) {\n switch (res.status) {\n case 200:\n break;\n case 401:\n throw new Error(JSON.stringify(res.data) || 'Unauthorized.');\n case 404:\n throw new Error(JSON.stringify(res.data) || 'Not found.');\n case 500:\n throw new Error(JSON.stringify(res.data) || 'Internal server error.');\n default:\n throw new Error(JSON.stringify(res.data) ||\n 'An unknown error has occurred. Please check your network connection.');\n }\n if (!res.data) {\n throw new Error(`failed to parse response: ${res}`);\n }\n if (res.data.error) {\n const data = res.data.error.data ? `, data: ${JSON.stringify(res.data.error.data)}` : '';\n throw new Error(`JSON RPC call error: code: ${res.data.error.code}, message: ${res.data.error.message}` + data);\n }\n if (res.data.jsonrpc !== '2.0') {\n throw new Error(JSON.stringify(res.data) || 'Invalid JSON RPC response.');\n }\n if (!res.data.result) {\n throw new Error(JSON.stringify(res.data) || 'No result in JSON RPC response.');\n }\n return {\n status: res.status,\n data: selector(res.data),\n };\n}\n//# sourceMappingURL=client.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isValueType = exports.Promisy = void 0;\nconst objects_1 = require(\"./objects\");\nvar Promisy;\n(function (Promisy) {\n // If promisy is null or undefined, throws NillableError, else\n // returns value from Promisy.\n async function resolve(promisy) {\n const fov = objects_1.objects.requireNonNil(promisy);\n const awaitable = typeof fov === 'function' ? fov() : fov;\n return await awaitable;\n }\n Promisy.resolve = resolve;\n // If promisy is null or undefined, returns a rejected\n // Promise else returns result of resolve(promisy)\n async function resolveOrReject(promisy, nilError) {\n return objects_1.objects.isNil(promisy)\n ? Promise.reject(new objects_1.NillableError(nilError))\n : resolve(promisy);\n }\n Promisy.resolveOrReject = resolveOrReject;\n})(Promisy || (exports.Promisy = Promisy = {}));\nfunction isValueType(v) {\n if (v === null ||\n v === undefined ||\n typeof v === \"string\" ||\n typeof v === \"number\" ||\n typeof v === \"boolean\" ||\n v instanceof Uint8Array) {\n return true;\n }\n if (Array.isArray(v)) {\n return v.every(isValueType);\n }\n return false;\n}\nexports.isValueType = isValueType;\n//# sourceMappingURL=types.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActionInput = exports.transformPositionalParam = exports.transformActionInput = exports.isNamedParam = exports.isNamedParams = exports.resolveParamTypes = void 0;\nconst objects_1 = require(\"../utils/objects\");\nconst types_1 = require(\"../utils/types\");\nfunction resolveParamTypes(i, types) {\n const paramTypes = [];\n // if no types are provided, return paramtypes with no o property\n if (!types) {\n if (isNamedParam(i)) {\n for (const [k, v] of Object.entries(i)) {\n paramTypes.push({ v });\n }\n }\n else {\n for (let j = 0; j < i.length; j++) {\n paramTypes.push({ v: i[j] });\n }\n }\n return paramTypes;\n }\n // handle named parameters\n if (isNamedParam(i)) {\n // handle named types\n if (types && !Array.isArray(types)) {\n for (const [k, v] of Object.entries(i)) {\n paramTypes.push({ v, o: types[k] });\n }\n }\n else {\n // handle positional types, assume the order of the types matches the order of the parameters\n Object.entries(i).forEach(([k, v], idx) => {\n paramTypes.push({ v, o: types[idx] });\n });\n }\n }\n else {\n // handle positional parameters\n // handle named types\n if (types && !Array.isArray(types)) {\n // assume that the order of the types matches the order of the parameters\n const typeVals = Object.values(types);\n for (let j = 0; j < i.length; j++) {\n paramTypes.push({ v: i[j], o: typeVals[j] });\n }\n }\n else {\n // assume that the order of the types matches the order of the parameters\n for (let j = 0; j < i.length; j++) {\n paramTypes.push({ v: i[j], o: types[j] });\n }\n }\n }\n return paramTypes;\n}\nexports.resolveParamTypes = resolveParamTypes;\nfunction isNamedParams(i) {\n let isNamedParams = false;\n for (const p of i) {\n if (isNamedParam(p)) {\n isNamedParams = true;\n break;\n }\n }\n return isNamedParams;\n}\nexports.isNamedParams = isNamedParams;\nfunction isNamedParam(i) {\n return typeof i === \"object\" && i !== null && !Array.isArray(i);\n}\nexports.isNamedParam = isNamedParam;\n/**\n * Asserts that a key is not null or undefined.\n *\n * @param key - The key to assert.\n * @returns The key if it is not null or undefined.\n * @throws Will throw an error if the key is null or undefined.\n */\nfunction assertKey(key) {\n return objects_1.objects.requireNonNil(key, 'key cannot be nil');\n}\nfunction lowercaseKey(key) {\n return key.toLowerCase();\n}\nexports.transformActionInput = {\n /**\n * Checks if all elements in the given array are instances of ActionInput.\n *\n * @param {unknown} i - The value to be checked.\n * @returns {boolean} - True if `inputs` is an array where every element is an ActionInput, otherwise false.\n */\n isActionInputArray(i) {\n return Array.isArray(i) && i.length > 0 && i.every((item) => item instanceof ActionInput);\n },\n /**\n * Transforms action inputs into entries format required by the API.\n * Used to support legacy ActionInput[] when calling a view action where only one input is required.\n *\n * @param {ActionInput[] | NamedParams[]} inputs - The input array to transform\n * @returns {NamedParams[]} - Array containing a single Entries object\n * @throws {Error} - If inputs array is empty\n */\n toSingleEntry(inputs) {\n if (!inputs.length) {\n return {};\n }\n const firstInput = inputs[0];\n if (firstInput instanceof ActionInput) {\n return firstInput.toEntries();\n }\n return firstInput;\n },\n /**\n * Transforms action inputs into entries format required by the API.\n * Used to support legacy ActionInput[] when calling an execute action where multiple inputs may be required.\n *\n * @param {ActionInput[] | NamedParams[]} inputs - The input array to transform\n * @returns {NamedParams[]} - Array containing entries objects\n * @throws {Error} - If inputs array is not valid\n */\n toNamedParams(inputs) {\n if (!exports.transformActionInput.isActionInputArray(inputs)) {\n throw new Error('Inputs array must be an array of Entries or ActionInput objects');\n }\n const np = [];\n for (const input of inputs) {\n if (input instanceof ActionInput) {\n np.push(input.toEntries());\n }\n }\n return np;\n },\n};\nexports.transformPositionalParam = {\n /**\n * Checks if all elements in a given array are PositionalParams\n * @param {unknown} i - The value to be checked.\n * @returns {boolean} - True if `inputs` is an array where every element is a PositionalParam, otherwise false.\n */\n isPositionalParams(i) {\n return Array.isArray(i) && i.every((p) => (0, types_1.isValueType)(p));\n },\n /**\n * Checks if a given value is a PositionalParam\n * @param {unknown} i - The value to be checked.\n * @returns {boolean} - True if `i` is a PositionalParam, otherwise false.\n */\n isPositionalParam(i) {\n return (0, types_1.isValueType)(i);\n },\n /**\n * Transforms positional parameters into named parameters to be used for validation\n *\n * @param {PositionalParams[]} inputs - The input array to transform\n * @returns {NamedParams[]} - Array containing entries objects\n */\n toNamedParams(inputs) {\n return inputs.map((i) => {\n return exports.transformPositionalParam.toNamedParam(i);\n });\n },\n toNamedParam(i) {\n const np = {};\n i.forEach((v, idx) => {\n np[`$pstn_${idx}`] = v;\n });\n return np;\n }\n};\n/**\n * @deprecated - This class is deprecated and will be removed in the next major release. Please pass action inputs as an array of objects.\n * `ActionInput` class is a utility class for creating action inputs.\n */\nclass ActionInput {\n constructor() {\n this.map = {};\n }\n /**\n * Adds or replaces a value for a single action input.\n *\n * @param key - The action input name.\n * @param value - The value to put for the action input.\n * @returns The current `ActionInput` instance for chaining.\n */\n put(key, value) {\n key = lowercaseKey(key);\n this.map[assertKey(key)] = value;\n return this;\n }\n /**\n * Adds a value for a single action input if the key is not already present.\n *\n * @param key - The action input name.\n * @param value - The value to put for the action input.\n * @returns The current `ActionInput` instance for chaining.\n */\n putIfAbsent(key, value) {\n key = lowercaseKey(key);\n if (!this.containsKey(key)) {\n this.map[key] = value;\n }\n return this;\n }\n /**\n * Replaces a value for a single action input if the key is already present.\n *\n * @param key - The action input name.\n * @param value - The value to replace for the action input.\n * @returns The current `ActionInput` instance for chaining.\n */\n replace(key, value) {\n key = lowercaseKey(key);\n if (this.containsKey(key)) {\n this.map[key] = value;\n }\n return this;\n }\n /**\n * Retrieves an action input value given its key.\n *\n * @param key - The action input name.\n * @returns The value associated with the action input name.\n */\n get(key) {\n key = lowercaseKey(key);\n return this.map[assertKey(key)];\n }\n /**\n * Retrieves a value by its action input name, or a default value if the action input name is not present.\n *\n * @param key - The action input name.\n * @param defaultValue - The default value to return if the key is not present.\n * @returns The value associated with the key, or the default value.\n */\n getOrDefault(key, defaultValue) {\n key = lowercaseKey(key);\n return (this.map[assertKey(key)] ?? defaultValue);\n }\n /**\n * Checks if the map contains a specific action input name.\n *\n * @param key - The action input name.\n * @returns True if the action input name is present, false otherwise.\n */\n containsKey(key) {\n key = lowercaseKey(key);\n return this.map.hasOwnProperty(assertKey(key));\n }\n /**\n * Removes a action input name and its associated value from the map.\n *\n * @param key - The action input name to remove.\n * @returns True if the key was present and is now removed, false otherwise.\n */\n remove(key) {\n key = lowercaseKey(key);\n return delete this.map[key];\n }\n /**\n * Converts the map of action inputs to an array of entries.\n *\n * @param filter - An optional filter function.\n * @returns A read-only array of entries.\n */\n toArray(filter) {\n return Object.entries(this.map).filter(filter ?? (() => true));\n }\n /**\n * Transforms the `ActionInput` to JSON.\n *\n * @returns A read-only map of entries.\n */\n toEntries() {\n return this.map;\n }\n /**\n * Allows `ActionInput` to be iterable.\n *\n * @returns An iterator over the array of entries.\n */\n [Symbol.iterator]() {\n return this.toArray()[Symbol.iterator]();\n }\n /**\n * Adds or replaces values from and object of action name/key-value pairs.\n *\n * @param obj - The object from which to extract action name/key-value pairs.\n * @returns The current `ActionInput` instance for chaining.\n */\n putFromObject(obj) {\n for (let [key, value] of Object.entries(objects_1.objects.requireNonNil(obj))) {\n key = lowercaseKey(key);\n this.map[assertKey(key)] = value;\n }\n return this;\n }\n /**\n * Adds values from and object of action name/key-value pairs if the key is not already present.\n *\n * @param obj - The object from which to extract key-value pairs.\n * @returns The current `ActionInput` instance for chaining.\n */\n putFromObjectIfAbsent(obj) {\n for (let [key, value] of Object.entries(objects_1.objects.requireNonNil(obj))) {\n key = lowercaseKey(key);\n if (!this.containsKey(key)) {\n this.map[assertKey(key)] = value;\n }\n }\n return this;\n }\n /**\n * Replaces values from and object of action name/key-value pairs if the key is already present.\n *\n * @param obj - The object from which to extract key-value pairs.\n * @returns The current `ActionInput` instance for chaining.\n */\n replaceFromObject(obj) {\n for (let [key, value] of Object.entries(objects_1.objects.requireNonNil(obj))) {\n key = lowercaseKey(key);\n if (this.containsKey(key)) {\n this.map[assertKey(key)] = value;\n }\n }\n return this;\n }\n /**\n * Creates multiple `ActionInput` instances from an array of objects.\n *\n * @param objs - An array of objects from which to create `ActionInput` instances.\n * @returns An array of `ActionInput` instances.\n */\n putFromObjects(objs) {\n const actions = [];\n for (const obj of objects_1.objects.requireNonNil(objs)) {\n actions.push(ActionInput.fromObject(obj));\n }\n return actions;\n }\n /**\n * Factory method to create a new instance of `ActionInput`.\n *\n * @returns A new `ActionInput` instance.\n */\n static of() {\n return new ActionInput();\n }\n /**\n * Creates a new `ActionInput` instance from an iterable array of entries.\n *\n * @param entries - The iterable of set of entries. Entries should be formatted as an array of `[inputName, value]`.\n * @returns A new `ActionInput` instance.\n */\n static from(entries) {\n const action = ActionInput.of();\n for (let [key, value] of entries) {\n key = lowercaseKey(key);\n action.map[assertKey(key)] = value;\n }\n return action;\n }\n /**\n * Creates a new `ActionInput` instance from an object.\n *\n * @param obj - The object from which to create the `ActionInput`.\n * @returns A new `ActionInput` instance.\n */\n static fromObject(obj) {\n const action = ActionInput.of();\n for (let [key, value] of Object.entries(objects_1.objects.requireNonNil(obj))) {\n key = lowercaseKey(key);\n action.map[assertKey(key)] = value;\n }\n return action;\n }\n /**\n * Creates multiple `ActionInput` instances from an array of objects.\n *\n * @param objs - An array of objects from which to create `ActionInput` instances.\n * @returns An array of `ActionInput` instances.\n */\n static fromObjects(objs) {\n const actions = [];\n for (const obj of objects_1.objects.requireNonNil(objs)) {\n actions.push(ActionInput.fromObject(obj));\n }\n return actions;\n }\n}\nexports.ActionInput = ActionInput;\n//# sourceMappingURL=action.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.wrap = exports.unwrap = void 0;\nconst objects_1 = require(\"../utils/objects\");\nconst key = Symbol('estimate');\nfunction unwrap(kwil) {\n objects_1.objects.requireNonNil(kwil);\n return objects_1.objects.requireNonNil(kwil[key]);\n}\nexports.unwrap = unwrap;\nfunction wrap(kwil, method) {\n objects_1.objects.requireNonNil(kwil);\n kwil[key] = method;\n}\nexports.wrap = wrap;\n//# sourceMappingURL=intern.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.executeSign = exports.isEthersSigner = exports.getSignatureType = exports.SignatureType = void 0;\nconst serial_1 = require(\"../utils/serial\");\nvar SignatureType;\n(function (SignatureType) {\n SignatureType[\"SIGNATURE_TYPE_INVALID\"] = \"invalid\";\n SignatureType[\"SECP256K1_PERSONAL\"] = \"secp256k1_ep\";\n SignatureType[\"ED25519\"] = \"ed25519\";\n})(SignatureType || (exports.SignatureType = SignatureType = {}));\nfunction getSignatureType(signer) {\n if (isEthersSigner(signer)) {\n return SignatureType.SECP256K1_PERSONAL;\n }\n return SignatureType.SIGNATURE_TYPE_INVALID;\n}\nexports.getSignatureType = getSignatureType;\nasync function ethSign(message, signer) {\n return await signer.signMessage(message);\n}\nfunction isEthersSigner(signer) {\n if (typeof signer === 'object' &&\n signer !== null &&\n 'signMessage' in signer &&\n typeof signer.signMessage === 'function') {\n return true;\n }\n return false;\n}\nexports.isEthersSigner = isEthersSigner;\nasync function executeSign(msg, signer, signatureType) {\n if (isEthersSigner(signer) && signatureType === SignatureType.SECP256K1_PERSONAL) {\n const hexSig = await ethSign(msg, signer);\n let sigBytes = (0, serial_1.hexToBytes)(hexSig);\n return sigBytes;\n }\n if (!isEthersSigner(signer) && signatureType !== SignatureType.SIGNATURE_TYPE_INVALID) {\n if (typeof signer === 'function') {\n const signature = await signer(msg);\n return signature;\n }\n else {\n throw new Error('Something went wrong signing! Make sure your signer is a function that returns a Uint8Array.');\n }\n }\n throw new Error('Could not execute signature. Make sure you pass a signer from EtherJS or a function that returns a Uint8Array.');\n}\nexports.executeSign = executeSign;\n//# sourceMappingURL=signature.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Txn = exports.BaseTransaction = void 0;\nconst signature_1 = require(\"./signature\");\nconst strings_1 = require(\"../utils/strings\");\nconst enums_1 = require(\"./enums\");\n/**\n * `BaseTransaction` is the base class for a payload structure for a a request to the Kwil `broadcast` GRPC endpoint {@link https://github.com/kwilteam/proto/blob/main/kwil/tx/v1/broadcast.proto}.\n * Bytes in the transaction can be typed to be either base64 encoded or Uint8Array. Uint8Array should be used when building the transaction within the SDK, and base64 should be used for the final transaction to be send over GRPC.\n *\n * @template {BytesEncodingStatus.BASE64_ENCODED | BytesEncodingStatus.UINT8_ENCODED} T - The type of bytes in the transaction. Can be either base64 encoded or Uint8Array.\n * @implements {TxnData<T>} - The transaction data interface.\n */\nclass BaseTransaction {\n constructor(data) {\n // create basic template of tx. Null values are used to be compatible with both types in PayloadBytesTypes.\n this.data = data || {\n signature: {\n sig: null,\n type: signature_1.SignatureType.SIGNATURE_TYPE_INVALID\n },\n body: {\n desc: '',\n payload: null,\n type: enums_1.PayloadType.INVALID_PAYLOAD_TYPE,\n fee: null,\n nonce: null,\n chain_id: ''\n },\n sender: null,\n serialization: enums_1.SerializationType.SIGNED_MSG_CONCAT\n };\n }\n get txData() {\n return this.data;\n }\n isSigned() {\n return !strings_1.strings.isNilOrEmpty(this.data.signature.sig);\n }\n get signature() {\n return this.data.signature;\n }\n get sender() {\n return this.data.sender;\n }\n get body() {\n return this.data.body;\n }\n get serialization() {\n return this.data.serialization;\n }\n}\nexports.BaseTransaction = BaseTransaction;\nvar Txn;\n(function (Txn) {\n /**\n * Creates a new instance of the `BaseTransaction` class.\n * Bytes in the transaction can be typed to be either base64 encoded or Uint8Array. Uint8Array should be used when building the transaction within the SDK, and base64 should be used for the final transaction to be send over GRPC.\n *\n * @template {BytesEncodingStatus.BASE64_ENCODED | BytesEncodingStatus.UINT8_ENCODED} T - The type of bytes in the transaction. Can be either base64 encoded or Uint8Array.\n * @param {(tx: TxnData<T>) => void} configure - A function that takes in a `TxnData` object and sets fields on it.\n * @returns {BaseTransaction<T>} - A new instance of the `BaseTransaction` class.\n */\n function create(configure) {\n // create basic template of tx. Null values are used to be compatible with both types in PayloadBytesTypes.\n const tx = {\n signature: {\n sig: null,\n type: signature_1.SignatureType.SECP256K1_PERSONAL\n },\n body: {\n desc: '',\n payload: null,\n type: enums_1.PayloadType.INVALID_PAYLOAD_TYPE,\n fee: null,\n nonce: null,\n chain_id: ''\n },\n sender: null,\n serialization: enums_1.SerializationType.SIGNED_MSG_CONCAT\n };\n // Passes the 'tx' object to the 'configure' function allowing external modification of its properties before instantiation of BaseTransaction.\n configure(tx);\n return new BaseTransaction(tx);\n }\n Txn.create = create;\n /**\n * Copies an existing instance of the `BaseTransaction` class and modifies certain fields.\n *\n * Bytes in the transaction can be typed to be either base64 encoded or Uint8Array. Uint8Array should be used when building the transaction within the SDK, and base64 should be used for the final transaction to be send over GRPC.\n *\n * @template {BytesEncodingStatus.BASE64_ENCODED | BytesEncodingStatus.UINT8_ENCODED} T - The type of bytes in the transaction. Can be either base64 encoded or Uint8Array.\n * @param {BaseTransaction<PayloadBytesTypes>} source - The transaction to copy. It can be using either bytes types.\n * @param {(tx: TxnData<T>) => void} configure - A function that takes in a `TxnData` object and sets fields on it.\n * @returns {BaseTransaction<T>} - A new instance of the `BaseTransaction` class.\n */\n function copy(source, configure) {\n return Txn.create((tx) => {\n // copy all fields from source tx to new tx.\n tx.body = source.body;\n tx.signature = source.signature;\n tx.body = source.body;\n tx.sender = source.sender;\n tx.serialization = source.serialization;\n // Passes the 'tx' object to the 'configure' function allowing external modification of its properties before instantiation of BaseTransaction.\n configure(tx);\n });\n }\n Txn.copy = copy;\n})(Txn || (exports.Txn = Txn = {}));\n//# sourceMappingURL=tx.js.map","/**\n * A JavaScript implementation of the SHA family of hashes - defined in FIPS PUB 180-4, FIPS PUB 202,\n * and SP 800-185 - as well as the corresponding HMAC implementation as defined in FIPS PUB 198-1.\n *\n * Copyright 2008-2023 Brian Turek, 1998-2009 Paul Johnston & Contributors\n * Distributed under the BSD License\n * See http://caligatio.github.com/jsSHA/ for more information\n *\n * Two ECMAScript polyfill functions carry the following license:\n *\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with\n * the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED,\n * INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\n * MERCHANTABLITY OR NON-INFRINGEMENT.\n *\n * See the Apache Version 2.0 License for specific language governing permissions and limitations under the License.\n */\n!function(n,r){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=r():\"function\"==typeof define&&define.amd?define(r):(n=\"undefined\"!=typeof globalThis?globalThis:n||self).jsSHA=r()}(this,(function(){\"use strict\";var n=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",r=\"ARRAYBUFFER not supported by this environment\",t=\"UINT8ARRAY not supported by this environment\";function e(n,r,t,e){var i,o,u,f=r||[0],s=(t=t||0)>>>3,w=-1===e?3:0;for(i=0;i<n.length;i+=1)o=(u=i+s)>>>2,f.length<=o&&f.push(0),f[o]|=n[i]<<8*(w+e*(u%4));return{value:f,binLen:8*n.length+t}}function i(i,o,u){switch(o){case\"UTF8\":case\"UTF16BE\":case\"UTF16LE\":break;default:throw new Error(\"encoding must be UTF8, UTF16BE, or UTF16LE\")}switch(i){case\"HEX\":return function(n,r,t){return function(n,r,t,e){var i,o,u,f;if(0!=n.length%2)throw new Error(\"String of HEX type must be in byte increments\");var s=r||[0],w=(t=t||0)>>>3,a=-1===e?3:0;for(i=0;i<n.length;i+=2){if(o=parseInt(n.substr(i,2),16),isNaN(o))throw new Error(\"String of HEX type contains invalid characters\");for(u=(f=(i>>>1)+w)>>>2;s.length<=u;)s.push(0);s[u]|=o<<8*(a+e*(f%4))}return{value:s,binLen:4*n.length+t}}(n,r,t,u)};case\"TEXT\":return function(n,r,t){return function(n,r,t,e,i){var o,u,f,s,w,a,h,c,v=0,A=t||[0],E=(e=e||0)>>>3;if(\"UTF8\"===r)for(h=-1===i?3:0,f=0;f<n.length;f+=1)for(u=[],128>(o=n.charCodeAt(f))?u.push(o):2048>o?(u.push(192|o>>>6),u.push(128|63&o)):55296>o||57344<=o?u.push(224|o>>>12,128|o>>>6&63,128|63&o):(f+=1,o=65536+((1023&o)<<10|1023&n.charCodeAt(f)),u.push(240|o>>>18,128|o>>>12&63,128|o>>>6&63,128|63&o)),s=0;s<u.length;s+=1){for(w=(a=v+E)>>>2;A.length<=w;)A.push(0);A[w]|=u[s]<<8*(h+i*(a%4)),v+=1}else for(h=-1===i?2:0,c=\"UTF16LE\"===r&&1!==i||\"UTF16LE\"!==r&&1===i,f=0;f<n.length;f+=1){for(o=n.charCodeAt(f),!0===c&&(o=(s=255&o)<<8|o>>>8),w=(a=v+E)>>>2;A.length<=w;)A.push(0);A[w]|=o<<8*(h+i*(a%4)),v+=2}return{value:A,binLen:8*v+e}}(n,o,r,t,u)};case\"B64\":return function(r,t,e){return function(r,t,e,i){var o,u,f,s,w,a,h=0,c=t||[0],v=(e=e||0)>>>3,A=-1===i?3:0,E=r.indexOf(\"=\");if(-1===r.search(/^[a-zA-Z0-9=+/]+$/))throw new Error(\"Invalid character in base-64 string\");if(r=r.replace(/=/g,\"\"),-1!==E&&E<r.length)throw new Error(\"Invalid '=' found in base-64 string\");for(o=0;o<r.length;o+=4){for(s=r.substr(o,4),f=0,u=0;u<s.length;u+=1)f|=n.indexOf(s.charAt(u))<<18-6*u;for(u=0;u<s.length-1;u+=1){for(w=(a=h+v)>>>2;c.length<=w;)c.push(0);c[w]|=(f>>>16-8*u&255)<<8*(A+i*(a%4)),h+=1}}return{value:c,binLen:8*h+e}}(r,t,e,u)};case\"BYTES\":return function(n,r,t){return function(n,r,t,e){var i,o,u,f,s=r||[0],w=(t=t||0)>>>3,a=-1===e?3:0;for(o=0;o<n.length;o+=1)i=n.charCodeAt(o),u=(f=o+w)>>>2,s.length<=u&&s.push(0),s[u]|=i<<8*(a+e*(f%4));return{value:s,binLen:8*n.length+t}}(n,r,t,u)};case\"ARRAYBUFFER\":try{new ArrayBuffer(0)}catch(n){throw new Error(r)}return function(n,r,t){return function(n,r,t,i){return e(new Uint8Array(n),r,t,i)}(n,r,t,u)};case\"UINT8ARRAY\":try{new Uint8Array(0)}catch(n){throw new Error(t)}return function(n,r,t){return e(n,r,t,u)};default:throw new Error(\"format must be HEX, TEXT, B64, BYTES, ARRAYBUFFER, or UINT8ARRAY\")}}function o(e,i,o,u){switch(e){case\"HEX\":return function(n){return function(n,r,t,e){var i,o,u=\"0123456789abcdef\",f=\"\",s=r/8,w=-1===t?3:0;for(i=0;i<s;i+=1)o=n[i>>>2]>>>8*(w+t*(i%4)),f+=u.charAt(o>>>4&15)+u.charAt(15&o);return e.outputUpper?f.toUpperCase():f}(n,i,o,u)};case\"B64\":return function(r){return function(r,t,e,i){var o,u,f,s,w,a=\"\",h=t/8,c=-1===e?3:0;for(o=0;o<h;o+=3)for(s=o+1<h?r[o+1>>>2]:0,w=o+2<h?r[o+2>>>2]:0,f=(r[o>>>2]>>>8*(c+e*(o%4))&255)<<16|(s>>>8*(c+e*((o+1)%4))&255)<<8|w>>>8*(c+e*((o+2)%4))&255,u=0;u<4;u+=1)a+=8*o+6*u<=t?n.charAt(f>>>6*(3-u)&63):i.b64Pad;return a}(r,i,o,u)};case\"BYTES\":return function(n){return function(n,r,t){var e,i,o=\"\",u=r/8,f=-1===t?3:0;for(e=0;e<u;e+=1)i=n[e>>>2]>>>8*(f+t*(e%4))&255,o+=String.fromCharCode(i);return o}(n,i,o)};case\"ARRAYBUFFER\":try{new ArrayBuffer(0)}catch(n){throw new Error(r)}return function(n){return function(n,r,t){var e,i=r/8,o=new ArrayBuffer(i),u=new Uint8Array(o),f=-1===t?3:0;for(e=0;e<i;e+=1)u[e]=n[e>>>2]>>>8*(f+t*(e%4))&255;return o}(n,i,o)};case\"UINT8ARRAY\":try{new Uint8Array(0)}catch(n){throw new Error(t)}return function(n){return function(n,r,t){var e,i=r/8,o=-1===t?3:0,u=new Uint8Array(i);for(e=0;e<i;e+=1)u[e]=n[e>>>2]>>>8*(o+t*(e%4))&255;return u}(n,i,o)};default:throw new Error(\"format must be HEX, B64, BYTES, ARRAYBUFFER, or UINT8ARRAY\")}}var u=4294967296,f=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],s=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428],w=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],a=\"Chosen SHA variant is not supported\",h=\"Cannot set numRounds with MAC\";function c(n,r){var t,e,i=n.binLen>>>3,o=r.binLen>>>3,u=i<<3,f=4-i<<3;if(i%4!=0){for(t=0;t<o;t+=4)e=i+t>>>2,n.value[e]|=r.value[t>>>2]<<u,n.value.push(0),n.value[e+1]|=r.value[t>>>2]>>>f;return(n.value.length<<2)-4>=o+i&&n.value.pop(),{value:n.value,binLen:n.binLen+r.binLen}}return{value:n.value.concat(r.value),binLen:n.binLen+r.binLen}}function v(n){var r={outputUpper:!1,b64Pad:\"=\",outputLen:-1},t=n||{},e=\"Output length must be a multiple of 8\";if(r.outputUpper=t.outputUpper||!1,t.b64Pad&&(r.b64Pad=t.b64Pad),t.outputLen){if(t.outputLen%8!=0)throw new Error(e);r.outputLen=t.outputLen}else if(t.shakeLen){if(t.shakeLen%8!=0)throw new Error(e);r.outputLen=t.shakeLen}if(\"boolean\"!=typeof r.outputUpper)throw new Error(\"Invalid outputUpper formatting option\");if(\"string\"!=typeof r.b64Pad)throw new Error(\"Invalid b64Pad formatting option\");return r}function A(n,r,t,e){var o=n+\" must include a value and format\";if(!r){if(!e)throw new Error(o);return e}if(void 0===r.value||!r.format)throw new Error(o);return i(r.format,r.encoding||\"UTF8\",t)(r.value)}var E=function(){function n(n,r,t){var e=t||{};if(this.t=r,this.i=e.encoding||\"UTF8\",this.numRounds=e.numRounds||1,isNaN(this.numRounds)||this.numRounds!==parseInt(this.numRounds,10)||1>this.numRounds)throw new Error(\"numRounds must a integer >= 1\");this.o=n,this.u=[],this.h=0,this.v=!1,this.A=0,this.l=!1,this.S=[],this.H=[]}return n.prototype.update=function(n){var r,t=0,e=this.p>>>5,i=this.m(n,this.u,this.h),o=i.binLen,u=i.value,f=o>>>5;for(r=0;r<f;r+=e)t+this.p<=o&&(this.U=this.R(u.slice(r,r+e),this.U),t+=this.p);return this.A+=t,this.u=u.slice(t>>>5),this.h=o%this.p,this.v=!0,this},n.prototype.getHash=function(n,r){var t,e,i=this.T,u=v(r);if(this.C){if(-1===u.outputLen)throw new Error(\"Output length must be specified in options\");i=u.outputLen}var f=o(n,i,this.F,u);if(this.l&&this.K)return f(this.K(u));for(e=this.g(this.u.slice(),this.h,this.A,this.L(this.U),i),t=1;t<this.numRounds;t+=1)this.C&&i%32!=0&&(e[e.length-1]&=16777215>>>24-i%32),e=this.g(e,i,0,this.B(this.o),i);return f(e)},n.prototype.setHMACKey=function(n,r,t){if(!this.k)throw new Error(\"Variant does not support HMAC\");if(this.v)throw new Error(\"Cannot set MAC key after calling update\");var e=i(r,(t||{}).encoding||\"UTF8\",this.F);this.Y(e(n))},n.prototype.Y=function(n){var r,t=this.p>>>3,e=t/4-1;if(1!==this.numRounds)throw new Error(h);if(this.l)throw new Error(\"MAC key already set\");for(t<n.binLen/8&&(n.value=this.g(n.value,n.binLen,0,this.B(this.o),this.T));n.value.length<=e;)n.value.push(0);for(r=0;r<=e;r+=1)this.S[r]=909522486^n.value[r],this.H[r]=1549556828^n.value[r];this.U=this.R(this.S,this.U),this.A=this.p,this.l=!0},n.prototype.getHMAC=function(n,r){var t=v(r);return o(n,this.T,this.F,t)(this.N())},n.prototype.N=function(){var n;if(!this.l)throw new Error(\"Cannot call getHMAC without first setting MAC key\");var r=this.g(this.u.slice(),this.h,this.A,this.L(this.U),this.T);return n=this.R(this.H,this.B(this.o)),n=this.g(r,this.T,this.p,n,this.T)},n}(),l=function(n,r){return l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(n[t]=r[t])},l(n,r)};function b(n,r){if(\"function\"!=typeof r&&null!==r)throw new TypeError(\"Class extends value \"+String(r)+\" is not a constructor or null\");function t(){this.constructor=n}l(n,r),n.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t)}function S(n,r){return n<<r|n>>>32-r}function H(n,r){return n>>>r|n<<32-r}function d(n,r){return n>>>r}function p(n,r,t){return n^r^t}function y(n,r,t){return n&r^~n&t}function m(n,r,t){return n&r^n&t^r&t}function U(n){return H(n,2)^H(n,13)^H(n,22)}function R(n,r){var t=(65535&n)+(65535&r);return(65535&(n>>>16)+(r>>>16)+(t>>>16))<<16|65535&t}function T(n,r,t,e){var i=(65535&n)+(65535&r)+(65535&t)+(65535&e);return(65535&(n>>>16)+(r>>>16)+(t>>>16)+(e>>>16)+(i>>>16))<<16|65535&i}function C(n,r,t,e,i){var o=(65535&n)+(65535&r)+(65535&t)+(65535&e)+(65535&i);return(65535&(n>>>16)+(r>>>16)+(t>>>16)+(e>>>16)+(i>>>16)+(o>>>16))<<16|65535&o}function F(n){return H(n,7)^H(n,18)^d(n,3)}function K(n){return H(n,6)^H(n,11)^H(n,25)}function g(n){return[1732584193,4023233417,2562383102,271733878,3285377520]}function L(n,r){var t,e,i,o,u,f,s,w=[];for(t=r[0],e=r[1],i=r[2],o=r[3],u=r[4],s=0;s<80;s+=1)w[s]=s<16?n[s]:S(w[s-3]^w[s-8]^w[s-14]^w[s-16],1),f=s<20?C(S(t,5),y(e,i,o),u,1518500249,w[s]):s<40?C(S(t,5),p(e,i,o),u,1859775393,w[s]):s<60?C(S(t,5),m(e,i,o),u,2400959708,w[s]):C(S(t,5),p(e,i,o),u,3395469782,w[s]),u=o,o=i,i=S(e,30),e=t,t=f;return r[0]=R(t,r[0]),r[1]=R(e,r[1]),r[2]=R(i,r[2]),r[3]=R(o,r[3]),r[4]=R(u,r[4]),r}function B(n,r,t,e){for(var i,o=15+(r+65>>>9<<4),f=r+t;n.length<=o;)n.push(0);for(n[r>>>5]|=128<<24-r%32,n[o]=4294967295&f,n[o-1]=f/u|0,i=0;i<n.length;i+=16)e=L(n.slice(i,i+16),e);return e}\"function\"==typeof SuppressedError&&SuppressedError;var k=function(n){function r(r,t,e){var o=this;if(\"SHA-1\"!==r)throw new Error(a);var u=e||{};return(o=n.call(this,r,t,e)||this).k=!0,o.K=o.N,o.F=-1,o.m=i(o.t,o.i,o.F),o.R=L,o.L=function(n){return n.slice()},o.B=g,o.g=B,o.U=[1732584193,4023233417,2562383102,271733878,3285377520],o.p=512,o.T=160,o.C=!1,u.hmacKey&&o.Y(A(\"hmacKey\",u.hmacKey,o.F)),o}return b(r,n),r}(E);function Y(n){return\"SHA-224\"==n?s.slice():w.slice()}function N(n,r){var t,e,i,o,u,s,w,a,h,c,v,A,E=[];for(t=r[0],e=r[1],i=r[2],o=r[3],u=r[4],s=r[5],w=r[6],a=r[7],v=0;v<64;v+=1)E[v]=v<16?n[v]:T(H(A=E[v-2],17)^H(A,19)^d(A,10),E[v-7],F(E[v-15]),E[v-16]),h=C(a,K(u),y(u,s,w),f[v],E[v]),c=R(U(t),m(t,e,i)),a=w,w=s,s=u,u=R(o,h),o=i,i=e,e=t,t=R(h,c);return r[0]=R(t,r[0]),r[1]=R(e,r[1]),r[2]=R(i,r[2]),r[3]=R(o,r[3]),r[4]=R(u,r[4]),r[5]=R(s,r[5]),r[6]=R(w,r[6]),r[7]=R(a,r[7]),r}var I=function(n){function r(r,t,e){var o=this;if(\"SHA-224\"!==r&&\"SHA-256\"!==r)throw new Error(a);var f=e||{};return(o=n.call(this,r,t,e)||this).K=o.N,o.k=!0,o.F=-1,o.m=i(o.t,o.i,o.F),o.R=N,o.L=function(n){return n.slice()},o.B=Y,o.g=function(n,t,e,i){return function(n,r,t,e,i){for(var o,f=15+(r+65>>>9<<4),s=r+t;n.length<=f;)n.push(0);for(n[r>>>5]|=128<<24-r%32,n[f]=4294967295&s,n[f-1]=s/u|0,o=0;o<n.length;o+=16)e=N(n.slice(o,o+16),e);return\"SHA-224\"===i?[e[0],e[1],e[2],e[3],e[4],e[5],e[6]]:e}(n,t,e,i,r)},o.U=Y(r),o.p=512,o.T=\"SHA-224\"===r?224:256,o.C=!1,f.hmacKey&&o.Y(A(\"hmacKey\",f.hmacKey,o.F)),o}return b(r,n),r}(E),M=function(n,r){this.I=n,this.M=r};function X(n,r){var t;return r>32?(t=64-r,new M(n.M<<r|n.I>>>t,n.I<<r|n.M>>>t)):0!==r?(t=32-r,new M(n.I<<r|n.M>>>t,n.M<<r|n.I>>>t)):n}function z(n,r){var t;return r<32?(t=32-r,new M(n.I>>>r|n.M<<t,n.M>>>r|n.I<<t)):(t=64-r,new M(n.M>>>r|n.I<<t,n.I>>>r|n.M<<t))}function O(n,r){return new M(n.I>>>r,n.M>>>r|n.I<<32-r)}function j(n,r,t){return new M(n.I&r.I^~n.I&t.I,n.M&r.M^~n.M&t.M)}function _(n,r,t){return new M(n.I&r.I^n.I&t.I^r.I&t.I,n.M&r.M^n.M&t.M^r.M&t.M)}function x(n){var r=z(n,28),t=z(n,34),e=z(n,39);return new M(r.I^t.I^e.I,r.M^t.M^e.M)}function P(n,r){var t,e;t=(65535&n.M)+(65535&r.M);var i=(65535&(e=(n.M>>>16)+(r.M>>>16)+(t>>>16)))<<16|65535&t;return t=(65535&n.I)+(65535&r.I)+(e>>>16),e=(n.I>>>16)+(r.I>>>16)+(t>>>16),new M((65535&e)<<16|65535&t,i)}function V(n,r,t,e){var i,o;i=(65535&n.M)+(65535&r.M)+(65535&t.M)+(65535&e.M);var u=(65535&(o=(n.M>>>16)+(r.M>>>16)+(t.M>>>16)+(e.M>>>16)+(i>>>16)))<<16|65535&i;return i=(65535&n.I)+(65535&r.I)+(65535&t.I)+(65535&e.I)+(o>>>16),o=(n.I>>>16)+(r.I>>>16)+(t.I>>>16)+(e.I>>>16)+(i>>>16),new M((65535&o)<<16|65535&i,u)}function Z(n,r,t,e,i){var o,u;o=(65535&n.M)+(65535&r.M)+(65535&t.M)+(65535&e.M)+(65535&i.M);var f=(65535&(u=(n.M>>>16)+(r.M>>>16)+(t.M>>>16)+(e.M>>>16)+(i.M>>>16)+(o>>>16)))<<16|65535&o;return o=(65535&n.I)+(65535&r.I)+(65535&t.I)+(65535&e.I)+(65535&i.I)+(u>>>16),u=(n.I>>>16)+(r.I>>>16)+(t.I>>>16)+(e.I>>>16)+(i.I>>>16)+(o>>>16),new M((65535&u)<<16|65535&o,f)}function q(n,r){return new M(n.I^r.I,n.M^r.M)}function D(n){var r=z(n,1),t=z(n,8),e=O(n,7);return new M(r.I^t.I^e.I,r.M^t.M^e.M)}function G(n){var r=z(n,14),t=z(n,18),e=z(n,41);return new M(r.I^t.I^e.I,r.M^t.M^e.M)}var J=[new M(f[0],3609767458),new M(f[1],602891725),new M(f[2],3964484399),new M(f[3],2173295548),new M(f[4],4081628472),new M(f[5],3053834265),new M(f[6],2937671579),new M(f[7],3664609560),new M(f[8],2734883394),new M(f[9],1164996542),new M(f[10],1323610764),new M(f[11],3590304994),new M(f[12],4068182383),new M(f[13],991336113),new M(f[14],633803317),new M(f[15],3479774868),new M(f[16],2666613458),new M(f[17],944711139),new M(f[18],2341262773),new M(f[19],2007800933),new M(f[20],1495990901),new M(f[21],1856431235),new M(f[22],3175218132),new M(f[23],2198950837),new M(f[24],3999719339),new M(f[25],766784016),new M(f[26],2566594879),new M(f[27],3203337956),new M(f[28],1034457026),new M(f[29],2466948901),new M(f[30],3758326383),new M(f[31],168717936),new M(f[32],1188179964),new M(f[33],1546045734),new M(f[34],1522805485),new M(f[35],2643833823),new M(f[36],2343527390),new M(f[37],1014477480),new M(f[38],1206759142),new M(f[39],344077627),new M(f[40],1290863460),new M(f[41],3158454273),new M(f[42],3505952657),new M(f[43],106217008),new M(f[44],3606008344),new M(f[45],1432725776),new M(f[46],1467031594),new M(f[47],851169720),new M(f[48],3100823752),new M(f[49],1363258195),new M(f[50],3750685593),new M(f[51],3785050280),new M(f[52],3318307427),new M(f[53],3812723403),new M(f[54],2003034995),new M(f[55],3602036899),new M(f[56],1575990012),new M(f[57],1125592928),new M(f[58],2716904306),new M(f[59],442776044),new M(f[60],593698344),new M(f[61],3733110249),new M(f[62],2999351573),new M(f[63],3815920427),new M(3391569614,3928383900),new M(3515267271,566280711),new M(3940187606,3454069534),new M(4118630271,4000239992),new M(116418474,1914138554),new M(174292421,2731055270),new M(289380356,3203993006),new M(460393269,320620315),new M(685471733,587496836),new M(852142971,1086792851),new M(1017036298,365543100),new M(1126000580,2618297676),new M(1288033470,3409855158),new M(1501505948,4234509866),new M(1607167915,987167468),new M(1816402316,1246189591)];function Q(n){return\"SHA-384\"===n?[new M(3418070365,s[0]),new M(1654270250,s[1]),new M(2438529370,s[2]),new M(355462360,s[3]),new M(1731405415,s[4]),new M(41048885895,s[5]),new M(3675008525,s[6]),new M(1203062813,s[7])]:[new M(w[0],4089235720),new M(w[1],2227873595),new M(w[2],4271175723),new M(w[3],1595750129),new M(w[4],2917565137),new M(w[5],725511199),new M(w[6],4215389547),new M(w[7],327033209)]}function W(n,r){var t,e,i,o,u,f,s,w,a,h,c,v,A,E,l,b,S=[];for(t=r[0],e=r[1],i=r[2],o=r[3],u=r[4],f=r[5],s=r[6],w=r[7],c=0;c<80;c+=1)c<16?(v=2*c,S[c]=new M(n[v],n[v+1])):S[c]=V((A=S[c-2],E=void 0,l=void 0,b=void 0,E=z(A,19),l=z(A,61),b=O(A,6),new M(E.I^l.I^b.I,E.M^l.M^b.M)),S[c-7],D(S[c-15]),S[c-16]),a=Z(w,G(u),j(u,f,s),J[c],S[c]),h=P(x(t),_(t,e,i)),w=s,s=f,f=u,u=P(o,a),o=i,i=e,e=t,t=P(a,h);return r[0]=P(t,r[0]),r[1]=P(e,r[1]),r[2]=P(i,r[2]),r[3]=P(o,r[3]),r[4]=P(u,r[4]),r[5]=P(f,r[5]),r[6]=P(s,r[6]),r[7]=P(w,r[7]),r}var $=function(n){function r(r,t,e){var o=this;if(\"SHA-384\"!==r&&\"SHA-512\"!==r)throw new Error(a);var f=e||{};return(o=n.call(this,r,t,e)||this).K=o.N,o.k=!0,o.F=-1,o.m=i(o.t,o.i,o.F),o.R=W,o.L=function(n){return n.slice()},o.B=Q,o.g=function(n,t,e,i){return function(n,r,t,e,i){for(var o,f=31+(r+129>>>10<<5),s=r+t;n.length<=f;)n.push(0);for(n[r>>>5]|=128<<24-r%32,n[f]=4294967295&s,n[f-1]=s/u|0,o=0;o<n.length;o+=32)e=W(n.slice(o,o+32),e);return\"SHA-384\"===i?[e[0].I,e[0].M,e[1].I,e[1].M,e[2].I,e[2].M,e[3].I,e[3].M,e[4].I,e[4].M,e[5].I,e[5].M]:[e[0].I,e[0].M,e[1].I,e[1].M,e[2].I,e[2].M,e[3].I,e[3].M,e[4].I,e[4].M,e[5].I,e[5].M,e[6].I,e[6].M,e[7].I,e[7].M]}(n,t,e,i,r)},o.U=Q(r),o.p=1024,o.T=\"SHA-384\"===r?384:512,o.C=!1,f.hmacKey&&o.Y(A(\"hmacKey\",f.hmacKey,o.F)),o}return b(r,n),r}(E),nn=[new M(0,1),new M(0,32898),new M(2147483648,32906),new M(2147483648,2147516416),new M(0,32907),new M(0,2147483649),new M(2147483648,2147516545),new M(2147483648,32777),new M(0,138),new M(0,136),new M(0,2147516425),new M(0,2147483658),new M(0,2147516555),new M(2147483648,139),new M(2147483648,32905),new M(2147483648,32771),new M(2147483648,32770),new M(2147483648,128),new M(0,32778),new M(2147483648,2147483658),new M(2147483648,2147516545),new M(2147483648,32896),new M(0,2147483649),new M(2147483648,2147516424)],rn=[[0,36,3,41,18],[1,44,10,45,2],[62,6,43,15,61],[28,55,25,21,56],[27,20,39,8,14]];function tn(n){var r,t=[];for(r=0;r<5;r+=1)t[r]=[new M(0,0),new M(0,0),new M(0,0),new M(0,0),new M(0,0)];return t}function en(n){var r,t=[];for(r=0;r<5;r+=1)t[r]=n[r].slice();return t}function on(n,r){var t,e,i,o,u,f,s,w,a,h=[],c=[];if(null!==n)for(e=0;e<n.length;e+=2)r[(e>>>1)%5][(e>>>1)/5|0]=q(r[(e>>>1)%5][(e>>>1)/5|0],new M(n[e+1],n[e]));for(t=0;t<24;t+=1){for(o=tn(),e=0;e<5;e+=1)h[e]=(u=r[e][0],f=r[e][1],s=r[e][2],w=r[e][3],a=r[e][4],new M(u.I^f.I^s.I^w.I^a.I,u.M^f.M^s.M^w.M^a.M));for(e=0;e<5;e+=1)c[e]=q(h[(e+4)%5],X(h[(e+1)%5],1));for(e=0;e<5;e+=1)for(i=0;i<5;i+=1)r[e][i]=q(r[e][i],c[e]);for(e=0;e<5;e+=1)for(i=0;i<5;i+=1)o[i][(2*e+3*i)%5]=X(r[e][i],rn[e][i]);for(e=0;e<5;e+=1)for(i=0;i<5;i+=1)r[e][i]=q(o[e][i],new M(~o[(e+1)%5][i].I&o[(e+2)%5][i].I,~o[(e+1)%5][i].M&o[(e+2)%5][i].M));r[0][0]=q(r[0][0],nn[t])}return r}function un(n){var r,t,e=0,i=[0,0],o=[4294967295&n,n/u&2097151];for(r=6;r>=0;r--)0===(t=o[r>>2]>>>8*r&255)&&0===e||(i[e+1>>2]|=t<<8*(e+1),e+=1);return e=0!==e?e:1,i[0]|=e,{value:e+1>4?i:[i[0]],binLen:8+8*e}}function fn(n){return c(un(n.binLen),n)}function sn(n,r){var t,e=un(r),i=r>>>2,o=(i-(e=c(e,n)).value.length%i)%i;for(t=0;t<o;t++)e.value.push(0);return e.value}var wn=function(n){function r(r,t,e){var o=this,u=6,f=0,s=e||{};if(1!==(o=n.call(this,r,t,e)||this).numRounds){if(s.kmacKey||s.hmacKey)throw new Error(h);if(\"CSHAKE128\"===o.o||\"CSHAKE256\"===o.o)throw new Error(\"Cannot set numRounds for CSHAKE variants\")}switch(o.F=1,o.m=i(o.t,o.i,o.F),o.R=on,o.L=en,o.B=tn,o.U=tn(),o.C=!1,r){case\"SHA3-224\":o.p=f=1152,o.T=224,o.k=!0,o.K=o.N;break;case\"SHA3-256\":o.p=f=1088,o.T=256,o.k=!0,o.K=o.N;break;case\"SHA3-384\":o.p=f=832,o.T=384,o.k=!0,o.K=o.N;break;case\"SHA3-512\":o.p=f=576,o.T=512,o.k=!0,o.K=o.N;break;case\"SHAKE128\":u=31,o.p=f=1344,o.T=-1,o.C=!0,o.k=!1,o.K=null;break;case\"SHAKE256\":u=31,o.p=f=1088,o.T=-1,o.C=!0,o.k=!1,o.K=null;break;case\"KMAC128\":u=4,o.p=f=1344,o.X(e),o.T=-1,o.C=!0,o.k=!1,o.K=o.O;break;case\"KMAC256\":u=4,o.p=f=1088,o.X(e),o.T=-1,o.C=!0,o.k=!1,o.K=o.O;break;case\"CSHAKE128\":o.p=f=1344,u=o.j(e),o.T=-1,o.C=!0,o.k=!1,o.K=null;break;case\"CSHAKE256\":o.p=f=1088,u=o.j(e),o.T=-1,o.C=!0,o.k=!1,o.K=null;break;default:throw new Error(a)}return o.g=function(n,r,t,e,i){return function(n,r,t,e,i,o,u){var f,s,w=0,a=[],h=i>>>5,c=r>>>5;for(f=0;f<c&&r>=i;f+=h)e=on(n.slice(f,f+h),e),r-=i;for(n=n.slice(f),r%=i;n.length<h;)n.push(0);for(n[(f=r>>>3)>>2]^=o<<f%4*8,n[h-1]^=2147483648,e=on(n,e);32*a.length<u&&(s=e[w%5][w/5|0],a.push(s.M),!(32*a.length>=u));)a.push(s.I),0==64*(w+=1)%i&&(on(null,e),w=0);return a}(n,r,0,e,f,u,i)},s.hmacKey&&o.Y(A(\"hmacKey\",s.hmacKey,o.F)),o}return b(r,n),r.prototype.j=function(n,r){var t=function(n){var r=n||{};return{funcName:A(\"funcName\",r.funcName,1,{value:[],binLen:0}),customization:A(\"Customization\",r.customization,1,{value:[],binLen:0})}}(n||{});r&&(t.funcName=r);var e=c(fn(t.funcName),fn(t.customization));if(0!==t.customization.binLen||0!==t.funcName.binLen){for(var i=sn(e,this.p>>>3),o=0;o<i.length;o+=this.p>>>5)this.U=this.R(i.slice(o,o+(this.p>>>5)),this.U),this.A+=this.p;return 4}return 31},r.prototype.X=function(n){var r=function(n){var r=n||{};return{kmacKey:A(\"kmacKey\",r.kmacKey,1),funcName:{value:[1128353099],binLen:32},customization:A(\"Customization\",r.customization,1,{value:[],binLen:0})}}(n||{});this.j(n,r.funcName);for(var t=sn(fn(r.kmacKey),this.p>>>3),e=0;e<t.length;e+=this.p>>>5)this.U=this.R(t.slice(e,e+(this.p>>>5)),this.U),this.A+=this.p;this.l=!0},r.prototype.O=function(n){var r=c({value:this.u.slice(),binLen:this.h},function(n){var r,t,e=0,i=[0,0],o=[4294967295&n,n/u&2097151];for(r=6;r>=0;r--)0==(t=o[r>>2]>>>8*r&255)&&0===e||(i[e>>2]|=t<<8*e,e+=1);return i[(e=0!==e?e:1)>>2]|=e<<8*e,{value:e+1>4?i:[i[0]],binLen:8+8*e}}(n.outputLen));return this.g(r.value,r.binLen,this.A,this.L(this.U),n.outputLen)},r}(E);return function(){function n(n,r,t){if(\"SHA-1\"==n)this._=new k(n,r,t);else if(\"SHA-224\"==n||\"SHA-256\"==n)this._=new I(n,r,t);else if(\"SHA-384\"==n||\"SHA-512\"==n)this._=new $(n,r,t);else{if(\"SHA3-224\"!=n&&\"SHA3-256\"!=n&&\"SHA3-384\"!=n&&\"SHA3-512\"!=n&&\"SHAKE128\"!=n&&\"SHAKE256\"!=n&&\"CSHAKE128\"!=n&&\"CSHAKE256\"!=n&&\"KMAC128\"!=n&&\"KMAC256\"!=n)throw new Error(a);this._=new wn(n,r,t)}}return n.prototype.update=function(n){return this._.update(n),this},n.prototype.getHash=function(n,r){return this._.getHash(n,r)},n.prototype.setHMACKey=function(n,r,t){this._.setHMACKey(n,r,t)},n.prototype.getHMAC=function(n,r){return this._.getHMAC(n,r)},n}()}));\n//# sourceMappingURL=sha.js.map\n","\"use strict\";\n// noinspection JSPotentiallyInvalidConstructorUsage\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sha256BytesToBytes = exports.sha224BytesToString = exports.sha224StringToString = exports.sha384StringToBytes = exports.sha384BytesToBytes = exports.sha384BytesToString = exports.sha384StringToString = void 0;\nconst jssha_1 = __importDefault(require(\"jssha\"));\nfunction sha384StringToString(message) {\n // noinspection JSPotentiallyInvalidConstructorUsage\n const shaObj = new jssha_1.default('SHA-384', 'TEXT');\n shaObj.update(message);\n return shaObj.getHash('HEX');\n}\nexports.sha384StringToString = sha384StringToString;\nfunction sha384BytesToString(message) {\n const shaObj = new jssha_1.default('SHA-384', 'UINT8ARRAY');\n shaObj.update(message);\n return shaObj.getHash('HEX');\n}\nexports.sha384BytesToString = sha384BytesToString;\nfunction sha384BytesToBytes(message) {\n const shaObj = new jssha_1.default('SHA-384', 'UINT8ARRAY');\n shaObj.update(message);\n return shaObj.getHash('UINT8ARRAY');\n}\nexports.sha384BytesToBytes = sha384BytesToBytes;\nfunction sha384StringToBytes(message) {\n const shaObj = new jssha_1.default('SHA-384', 'TEXT');\n shaObj.update(message);\n return shaObj.getHash('UINT8ARRAY');\n}\nexports.sha384StringToBytes = sha384StringToBytes;\nfunction sha224StringToString(message) {\n const shaObj = new jssha_1.default('SHA-224', 'TEXT');\n shaObj.update(message);\n return shaObj.getHash('HEX');\n}\nexports.sha224StringToString = sha224StringToString;\nfunction sha224BytesToString(message) {\n const shaObj = new jssha_1.default('SHA-224', 'UINT8ARRAY');\n shaObj.update(message);\n return shaObj.getHash('HEX');\n}\nexports.sha224BytesToString = sha224BytesToString;\nfunction sha256BytesToBytes(message) {\n const shaObj = new jssha_1.default('SHA-256', 'UINT8ARRAY');\n shaObj.update(message);\n return shaObj.getHash('UINT8ARRAY');\n}\nexports.sha256BytesToBytes = sha256BytesToBytes;\n//# sourceMappingURL=crypto.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.prefixBytesLength = exports.numberToUint32BigEndian = exports.numberToUint16LittleEndian = exports.concatBytes = exports.numberToUint64LittleEndian = exports.uint16BigEndianToNumber = exports.numberToUint16BigEndian = void 0;\n// The GRPC gateway \"bytes\" type requires base64url encoded strings.\nconst long_1 = __importDefault(require(\"long\"));\n// Convert function to Uint16Array\nfunction numberToUint16BigEndian(num) {\n if (num < 0 || num > 65535 || !Number.isInteger(num)) {\n throw new Error('Number is out of range for uint16');\n }\n const buffer = new ArrayBuffer(2);\n const view = new DataView(buffer);\n view.setUint16(0, num, false); // big endian\n return new Uint8Array(buffer);\n}\nexports.numberToUint16BigEndian = numberToUint16BigEndian;\n// Converts a uint8array in uint16 format to a number\nfunction uint16BigEndianToNumber(uint16) {\n if (uint16.length !== 2) {\n throw new Error('uint16 must be 2 bytes');\n }\n const view = new DataView(uint16.buffer);\n return view.getUint16(0, false); // big endian\n}\nexports.uint16BigEndianToNumber = uint16BigEndianToNumber;\nfunction numberToUint64LittleEndian(num) {\n const longNum = long_1.default.fromNumber(num, true);\n const buffer = new ArrayBuffer(8);\n const view = new DataView(buffer);\n view.setUint32(0, longNum.low, true);\n view.setUint32(4, longNum.high, true);\n return new Uint8Array(buffer);\n}\nexports.numberToUint64LittleEndian = numberToUint64LittleEndian;\nfunction concatBytes(...arrays) {\n let totalLength = 0;\n for (const arr of arrays) {\n totalLength += arr.length;\n }\n const result = new Uint8Array(totalLength);\n let offset = 0;\n for (const arr of arrays) {\n result.set(arr, offset);\n offset += arr.length;\n }\n return result;\n}\nexports.concatBytes = concatBytes;\nfunction numberToUint16LittleEndian(number) {\n if (number < 0 || number > 0xffff || !Number.isInteger(number)) {\n throw new RangeError('The number must be an integer between 0 and 65535.');\n }\n const buffer = new ArrayBuffer(2); // Create a buffer of 2 bytes\n const view = new DataView(buffer);\n view.setUint16(0, number, true); // Set the number at byte offset 0 in little-endian\n return new Uint8Array(buffer); // Convert to Uint8Array for easier use\n}\nexports.numberToUint16LittleEndian = numberToUint16LittleEndian;\nfunction numberToUint32LittleEndian(number) {\n if (number < 0 || number > 0xffffffff || !Number.isInteger(number)) {\n throw new RangeError('The number must be an integer between 0 and 4294967295.');\n }\n const buffer = new ArrayBuffer(4); // Create a buffer of 4 bytes\n const view = new DataView(buffer);\n view.setUint32(0, number, true); // Write the number at byte offset 0 in little-endian\n return new Uint8Array(buffer); // Convert to Uint8Array for easier use\n}\nfunction numberToUint32BigEndian(number) {\n if (number < 0 || number > 0xffffffff || !Number.isInteger(number)) {\n throw new RangeError('The number must be an integer between 0 and 4294967295.');\n }\n const buffer = new ArrayBuffer(4); // Create a buffer of 4 bytes\n const view = new DataView(buffer);\n view.setUint32(0, number, false); // Write the number in big-endian format (false)\n return new Uint8Array(buffer); // Convert to Uint8Array for easier use\n}\nexports.numberToUint32BigEndian = numberToUint32BigEndian;\n// prefixBytesLength prefixes a Uint8array with the bytes length (uint32)\nfunction prefixBytesLength(bytes) {\n const lengthBytes = numberToUint32LittleEndian(bytes.length);\n return concatBytes(lengthBytes, bytes);\n}\nexports.prefixBytesLength = prefixBytesLength;\n//# sourceMappingURL=bytes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = 'ffffffff-ffff-ffff-ffff-ffffffffffff';\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = '00000000-0000-0000-0000-000000000000';\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst regex_js_1 = require(\"./regex.js\");\nfunction validate(uuid) {\n return typeof uuid === 'string' && regex_js_1.default.test(uuid);\n}\nexports.default = validate;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst validate_js_1 = require(\"./validate.js\");\nfunction parse(uuid) {\n if (!(0, validate_js_1.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n let v;\n return Uint8Array.of((v = parseInt(uuid.slice(0, 8), 16)) >>> 24, (v >>> 16) & 0xff, (v >>> 8) & 0xff, v & 0xff, (v = parseInt(uuid.slice(9, 13), 16)) >>> 8, v & 0xff, (v = parseInt(uuid.slice(14, 18), 16)) >>> 8, v & 0xff, (v = parseInt(uuid.slice(19, 23), 16)) >>> 8, v & 0xff, ((v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000) & 0xff, (v / 0x100000000) & 0xff, (v >>> 24) & 0xff, (v >>> 16) & 0xff, (v >>> 8) & 0xff, v & 0xff);\n}\nexports.default = parse;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.unsafeStringify = void 0;\nconst validate_js_1 = require(\"./validate.js\");\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nfunction unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nexports.unsafeStringify = unsafeStringify;\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!(0, validate_js_1.default)(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexports.default = stringify;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst crypto_1 = require(\"crypto\");\nconst rnds8Pool = new Uint8Array(256);\nlet poolPtr = rnds8Pool.length;\nfunction rng() {\n if (poolPtr > rnds8Pool.length - 16) {\n (0, crypto_1.randomFillSync)(rnds8Pool);\n poolPtr = 0;\n }\n return rnds8Pool.slice(poolPtr, (poolPtr += 16));\n}\nexports.default = rng;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.updateV1State = void 0;\nconst rng_js_1 = require(\"./rng.js\");\nconst stringify_js_1 = require(\"./stringify.js\");\nconst _state = {};\nfunction v1(options, buf, offset) {\n let bytes;\n const isV6 = options?._v6 ?? false;\n if (options) {\n const optionsKeys = Object.keys(options);\n if (optionsKeys.length === 1 && optionsKeys[0] === '_v6') {\n options = undefined;\n }\n }\n if (options) {\n bytes = v1Bytes(options.random ?? options.rng?.() ?? (0, rng_js_1.default)(), options.msecs, options.nsecs, options.clockseq, options.node, buf, offset);\n }\n else {\n const now = Date.now();\n const rnds = (0, rng_js_1.default)();\n updateV1State(_state, now, rnds);\n bytes = v1Bytes(rnds, _state.msecs, _state.nsecs, isV6 ? undefined : _state.clockseq, isV6 ? undefined : _state.node, buf, offset);\n }\n return buf ?? (0, stringify_js_1.unsafeStringify)(bytes);\n}\nfunction updateV1State(state, now, rnds) {\n state.msecs ??= -Infinity;\n state.nsecs ??= 0;\n if (now === state.msecs) {\n state.nsecs++;\n if (state.nsecs >= 10000) {\n state.node = undefined;\n state.nsecs = 0;\n }\n }\n else if (now > state.msecs) {\n state.nsecs = 0;\n }\n else if (now < state.msecs) {\n state.node = undefined;\n }\n if (!state.node) {\n state.node = rnds.slice(10, 16);\n state.node[0] |= 0x01;\n state.clockseq = ((rnds[8] << 8) | rnds[9]) & 0x3fff;\n }\n state.msecs = now;\n return state;\n}\nexports.updateV1State = updateV1State;\nfunction v1Bytes(rnds, msecs, nsecs, clockseq, node, buf, offset = 0) {\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n if (!buf) {\n buf = new Uint8Array(16);\n offset = 0;\n }\n else {\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n }\n msecs ??= Date.now();\n nsecs ??= 0;\n clockseq ??= ((rnds[8] << 8) | rnds[9]) & 0x3fff;\n node ??= rnds.slice(10, 16);\n msecs += 12219292800000;\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n buf[offset++] = (tl >>> 24) & 0xff;\n buf[offset++] = (tl >>> 16) & 0xff;\n buf[offset++] = (tl >>> 8) & 0xff;\n buf[offset++] = tl & 0xff;\n const tmh = ((msecs / 0x100000000) * 10000) & 0xfffffff;\n buf[offset++] = (tmh >>> 8) & 0xff;\n buf[offset++] = tmh & 0xff;\n buf[offset++] = ((tmh >>> 24) & 0xf) | 0x10;\n buf[offset++] = (tmh >>> 16) & 0xff;\n buf[offset++] = (clockseq >>> 8) | 0x80;\n buf[offset++] = clockseq & 0xff;\n for (let n = 0; n < 6; ++n) {\n buf[offset++] = node[n];\n }\n return buf;\n}\nexports.default = v1;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst parse_js_1 = require(\"./parse.js\");\nconst stringify_js_1 = require(\"./stringify.js\");\nfunction v1ToV6(uuid) {\n const v1Bytes = typeof uuid === 'string' ? (0, parse_js_1.default)(uuid) : uuid;\n const v6Bytes = _v1ToV6(v1Bytes);\n return typeof uuid === 'string' ? (0, stringify_js_1.unsafeStringify)(v6Bytes) : v6Bytes;\n}\nexports.default = v1ToV6;\nfunction _v1ToV6(v1Bytes) {\n return Uint8Array.of(((v1Bytes[6] & 0x0f) << 4) | ((v1Bytes[7] >> 4) & 0x0f), ((v1Bytes[7] & 0x0f) << 4) | ((v1Bytes[4] & 0xf0) >> 4), ((v1Bytes[4] & 0x0f) << 4) | ((v1Bytes[5] & 0xf0) >> 4), ((v1Bytes[5] & 0x0f) << 4) | ((v1Bytes[0] & 0xf0) >> 4), ((v1Bytes[0] & 0x0f) << 4) | ((v1Bytes[1] & 0xf0) >> 4), ((v1Bytes[1] & 0x0f) << 4) | ((v1Bytes[2] & 0xf0) >> 4), 0x60 | (v1Bytes[2] & 0x0f), v1Bytes[3], v1Bytes[8], v1Bytes[9], v1Bytes[10], v1Bytes[11], v1Bytes[12], v1Bytes[13], v1Bytes[14], v1Bytes[15]);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst crypto_1 = require(\"crypto\");\nfunction md5(bytes) {\n if (Array.isArray(bytes)) {\n bytes = Buffer.from(bytes);\n }\n else if (typeof bytes === 'string') {\n bytes = Buffer.from(bytes, 'utf8');\n }\n return (0, crypto_1.createHash)('md5').update(bytes).digest();\n}\nexports.default = md5;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.URL = exports.DNS = exports.stringToBytes = void 0;\nconst parse_js_1 = require(\"./parse.js\");\nconst stringify_js_1 = require(\"./stringify.js\");\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str));\n const bytes = new Uint8Array(str.length);\n for (let i = 0; i < str.length; ++i) {\n bytes[i] = str.charCodeAt(i);\n }\n return bytes;\n}\nexports.stringToBytes = stringToBytes;\nexports.DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexports.URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nfunction v35(version, hash, value, namespace, buf, offset) {\n const valueBytes = typeof value === 'string' ? stringToBytes(value) : value;\n const namespaceBytes = typeof namespace === 'string' ? (0, parse_js_1.default)(namespace) : namespace;\n if (typeof namespace === 'string') {\n namespace = (0, parse_js_1.default)(namespace);\n }\n if (namespace?.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n }\n let bytes = new Uint8Array(16 + valueBytes.length);\n bytes.set(namespaceBytes);\n bytes.set(valueBytes, namespaceBytes.length);\n bytes = hash(bytes);\n bytes[6] = (bytes[6] & 0x0f) | version;\n bytes[8] = (bytes[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n return buf;\n }\n return (0, stringify_js_1.unsafeStringify)(bytes);\n}\nexports.default = v35;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.URL = exports.DNS = void 0;\nconst md5_js_1 = require(\"./md5.js\");\nconst v35_js_1 = require(\"./v35.js\");\nvar v35_js_2 = require(\"./v35.js\");\nObject.defineProperty(exports, \"DNS\", { enumerable: true, get: function () { return v35_js_2.DNS; } });\nObject.defineProperty(exports, \"URL\", { enumerable: true, get: function () { return v35_js_2.URL; } });\nfunction v3(value, namespace, buf, offset) {\n return (0, v35_js_1.default)(0x30, md5_js_1.default, value, namespace, buf, offset);\n}\nv3.DNS = v35_js_1.DNS;\nv3.URL = v35_js_1.URL;\nexports.default = v3;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst crypto_1 = require(\"crypto\");\nexports.default = { randomUUID: crypto_1.randomUUID };\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst native_js_1 = require(\"./native.js\");\nconst rng_js_1 = require(\"./rng.js\");\nconst stringify_js_1 = require(\"./stringify.js\");\nfunction v4(options, buf, offset) {\n if (native_js_1.default.randomUUID && !buf && !options) {\n return native_js_1.default.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? (0, rng_js_1.default)();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return (0, stringify_js_1.unsafeStringify)(rnds);\n}\nexports.default = v4;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst crypto_1 = require(\"crypto\");\nfunction sha1(bytes) {\n if (Array.isArray(bytes)) {\n bytes = Buffer.from(bytes);\n }\n else if (typeof bytes === 'string') {\n bytes = Buffer.from(bytes, 'utf8');\n }\n return (0, crypto_1.createHash)('sha1').update(bytes).digest();\n}\nexports.default = sha1;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.URL = exports.DNS = void 0;\nconst sha1_js_1 = require(\"./sha1.js\");\nconst v35_js_1 = require(\"./v35.js\");\nvar v35_js_2 = require(\"./v35.js\");\nObject.defineProperty(exports, \"DNS\", { enumerable: true, get: function () { return v35_js_2.DNS; } });\nObject.defineProperty(exports, \"URL\", { enumerable: true, get: function () { return v35_js_2.URL; } });\nfunction v5(value, namespace, buf, offset) {\n return (0, v35_js_1.default)(0x50, sha1_js_1.default, value, namespace, buf, offset);\n}\nv5.DNS = v35_js_1.DNS;\nv5.URL = v35_js_1.URL;\nexports.default = v5;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst stringify_js_1 = require(\"./stringify.js\");\nconst v1_js_1 = require(\"./v1.js\");\nconst v1ToV6_js_1 = require(\"./v1ToV6.js\");\nfunction v6(options, buf, offset) {\n options ??= {};\n offset ??= 0;\n let bytes = (0, v1_js_1.default)({ ...options, _v6: true }, new Uint8Array(16));\n bytes = (0, v1ToV6_js_1.default)(bytes);\n if (buf) {\n for (let i = 0; i < 16; i++) {\n buf[offset + i] = bytes[i];\n }\n return buf;\n }\n return (0, stringify_js_1.unsafeStringify)(bytes);\n}\nexports.default = v6;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst parse_js_1 = require(\"./parse.js\");\nconst stringify_js_1 = require(\"./stringify.js\");\nfunction v6ToV1(uuid) {\n const v6Bytes = typeof uuid === 'string' ? (0, parse_js_1.default)(uuid) : uuid;\n const v1Bytes = _v6ToV1(v6Bytes);\n return typeof uuid === 'string' ? (0, stringify_js_1.unsafeStringify)(v1Bytes) : v1Bytes;\n}\nexports.default = v6ToV1;\nfunction _v6ToV1(v6Bytes) {\n return Uint8Array.of(((v6Bytes[3] & 0x0f) << 4) | ((v6Bytes[4] >> 4) & 0x0f), ((v6Bytes[4] & 0x0f) << 4) | ((v6Bytes[5] & 0xf0) >> 4), ((v6Bytes[5] & 0x0f) << 4) | (v6Bytes[6] & 0x0f), v6Bytes[7], ((v6Bytes[1] & 0x0f) << 4) | ((v6Bytes[2] & 0xf0) >> 4), ((v6Bytes[2] & 0x0f) << 4) | ((v6Bytes[3] & 0xf0) >> 4), 0x10 | ((v6Bytes[0] & 0xf0) >> 4), ((v6Bytes[0] & 0x0f) << 4) | ((v6Bytes[1] & 0xf0) >> 4), v6Bytes[8], v6Bytes[9], v6Bytes[10], v6Bytes[11], v6Bytes[12], v6Bytes[13], v6Bytes[14], v6Bytes[15]);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.updateV7State = void 0;\nconst rng_js_1 = require(\"./rng.js\");\nconst stringify_js_1 = require(\"./stringify.js\");\nconst _state = {};\nfunction v7(options, buf, offset) {\n let bytes;\n if (options) {\n bytes = v7Bytes(options.random ?? options.rng?.() ?? (0, rng_js_1.default)(), options.msecs, options.seq, buf, offset);\n }\n else {\n const now = Date.now();\n const rnds = (0, rng_js_1.default)();\n updateV7State(_state, now, rnds);\n bytes = v7Bytes(rnds, _state.msecs, _state.seq, buf, offset);\n }\n return buf ?? (0, stringify_js_1.unsafeStringify)(bytes);\n}\nfunction updateV7State(state, now, rnds) {\n state.msecs ??= -Infinity;\n state.seq ??= 0;\n if (now > state.msecs) {\n state.seq = (rnds[6] << 23) | (rnds[7] << 16) | (rnds[8] << 8) | rnds[9];\n state.msecs = now;\n }\n else {\n state.seq = (state.seq + 1) | 0;\n if (state.seq === 0) {\n state.msecs++;\n }\n }\n return state;\n}\nexports.updateV7State = updateV7State;\nfunction v7Bytes(rnds, msecs, seq, buf, offset = 0) {\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n if (!buf) {\n buf = new Uint8Array(16);\n offset = 0;\n }\n else {\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n }\n msecs ??= Date.now();\n seq ??= ((rnds[6] * 0x7f) << 24) | (rnds[7] << 16) | (rnds[8] << 8) | rnds[9];\n buf[offset++] = (msecs / 0x10000000000) & 0xff;\n buf[offset++] = (msecs / 0x100000000) & 0xff;\n buf[offset++] = (msecs / 0x1000000) & 0xff;\n buf[offset++] = (msecs / 0x10000) & 0xff;\n buf[offset++] = (msecs / 0x100) & 0xff;\n buf[offset++] = msecs & 0xff;\n buf[offset++] = 0x70 | ((seq >>> 28) & 0x0f);\n buf[offset++] = (seq >>> 20) & 0xff;\n buf[offset++] = 0x80 | ((seq >>> 14) & 0x3f);\n buf[offset++] = (seq >>> 6) & 0xff;\n buf[offset++] = ((seq << 2) & 0xff) | (rnds[10] & 0x03);\n buf[offset++] = rnds[11];\n buf[offset++] = rnds[12];\n buf[offset++] = rnds[13];\n buf[offset++] = rnds[14];\n buf[offset++] = rnds[15];\n return buf;\n}\nexports.default = v7;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst validate_js_1 = require(\"./validate.js\");\nfunction version(uuid) {\n if (!(0, validate_js_1.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n return parseInt(uuid.slice(14, 15), 16);\n}\nexports.default = version;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.version = exports.validate = exports.v7 = exports.v6ToV1 = exports.v6 = exports.v5 = exports.v4 = exports.v3 = exports.v1ToV6 = exports.v1 = exports.stringify = exports.parse = exports.NIL = exports.MAX = void 0;\nvar max_js_1 = require(\"./max.js\");\nObject.defineProperty(exports, \"MAX\", { enumerable: true, get: function () { return max_js_1.default; } });\nvar nil_js_1 = require(\"./nil.js\");\nObject.defineProperty(exports, \"NIL\", { enumerable: true, get: function () { return nil_js_1.default; } });\nvar parse_js_1 = require(\"./parse.js\");\nObject.defineProperty(exports, \"parse\", { enumerable: true, get: function () { return parse_js_1.default; } });\nvar stringify_js_1 = require(\"./stringify.js\");\nObject.defineProperty(exports, \"stringify\", { enumerable: true, get: function () { return stringify_js_1.default; } });\nvar v1_js_1 = require(\"./v1.js\");\nObject.defineProperty(exports, \"v1\", { enumerable: true, get: function () { return v1_js_1.default; } });\nvar v1ToV6_js_1 = require(\"./v1ToV6.js\");\nObject.defineProperty(exports, \"v1ToV6\", { enumerable: true, get: function () { return v1ToV6_js_1.default; } });\nvar v3_js_1 = require(\"./v3.js\");\nObject.defineProperty(exports, \"v3\", { enumerable: true, get: function () { return v3_js_1.default; } });\nvar v4_js_1 = require(\"./v4.js\");\nObject.defineProperty(exports, \"v4\", { enumerable: true, get: function () { return v4_js_1.default; } });\nvar v5_js_1 = require(\"./v5.js\");\nObject.defineProperty(exports, \"v5\", { enumerable: true, get: function () { return v5_js_1.default; } });\nvar v6_js_1 = require(\"./v6.js\");\nObject.defineProperty(exports, \"v6\", { enumerable: true, get: function () { return v6_js_1.default; } });\nvar v6ToV1_js_1 = require(\"./v6ToV1.js\");\nObject.defineProperty(exports, \"v6ToV1\", { enumerable: true, get: function () { return v6ToV1_js_1.default; } });\nvar v7_js_1 = require(\"./v7.js\");\nObject.defineProperty(exports, \"v7\", { enumerable: true, get: function () { return v7_js_1.default; } });\nvar validate_js_1 = require(\"./validate.js\");\nObject.defineProperty(exports, \"validate\", { enumerable: true, get: function () { return validate_js_1.default; } });\nvar version_js_1 = require(\"./version.js\");\nObject.defineProperty(exports, \"version\", { enumerable: true, get: function () { return version_js_1.default; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.convertUuidToBytes = exports.isUuid = void 0;\nconst uuid_1 = require(\"uuid\");\nfunction isUuid(value) {\n return (0, uuid_1.validate)(value);\n}\nexports.isUuid = isUuid;\nfunction convertUuidToBytes(uuid) {\n return (0, uuid_1.parse)(uuid);\n}\nexports.convertUuidToBytes = convertUuidToBytes;\n//# sourceMappingURL=uuid.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.encodeValue = exports.encodeTransfer = exports.encodeRawStatement = exports.encodeActionExecution = exports.encodeActionCall = exports.encodeAccountId = void 0;\nconst base64_1 = require(\"./base64\");\nconst bytes_1 = require(\"./bytes\");\nconst serial_1 = require(\"./serial\");\nconst uuid_1 = require(\"./uuid\");\nconst enums_1 = require(\"../core/enums\");\nfunction encodeAccountId(accountId) {\n const encodedId = (0, bytes_1.prefixBytesLength)((0, serial_1.hexToBytes)(accountId.identifier));\n const encodedKeyType = (0, bytes_1.prefixBytesLength)((0, serial_1.stringToBytes)(accountId.key_type));\n return (0, bytes_1.concatBytes)(encodedId, encodedKeyType);\n}\nexports.encodeAccountId = encodeAccountId;\nfunction encodeActionCall(actionCall) {\n // // The version of the action call encoding used by the Kwil DB Engine\n const actionCallVersion = 0;\n const encodedVersion = (0, bytes_1.numberToUint16LittleEndian)(actionCallVersion);\n const encodedDbId = (0, bytes_1.prefixBytesLength)((0, serial_1.stringToBytes)(actionCall.dbid));\n // Action name\n const encodedAction = (0, bytes_1.prefixBytesLength)((0, serial_1.stringToBytes)(actionCall.action));\n const encodedNumArgs = (0, bytes_1.numberToUint16LittleEndian)(actionCall.arguments ? actionCall.arguments.length : 0);\n let actionArguments = new Uint8Array();\n actionCall.arguments?.forEach((a) => {\n const aBytes = encodeEncodedValue(a);\n const prefixedABytes = (0, bytes_1.prefixBytesLength)(aBytes);\n actionArguments = (0, bytes_1.concatBytes)(actionArguments, prefixedABytes);\n });\n const encodedActionArguments = (0, bytes_1.concatBytes)(encodedNumArgs, actionArguments);\n return (0, base64_1.bytesToBase64)((0, bytes_1.concatBytes)(encodedVersion, encodedDbId, encodedAction, encodedActionArguments));\n}\nexports.encodeActionCall = encodeActionCall;\nfunction encodeActionExecution(action) {\n // The version of the action execution encoding used by the Kwil DB Engine\n const actionExecutionVersion = 0;\n const encodedVersion = (0, bytes_1.numberToUint16LittleEndian)(actionExecutionVersion);\n const encodedDbId = (0, bytes_1.prefixBytesLength)((0, serial_1.stringToBytes)(action.dbid));\n // Action name\n const encodedAction = (0, bytes_1.prefixBytesLength)((0, serial_1.stringToBytes)(action.action));\n const encodedNumArgs = (0, bytes_1.numberToUint16LittleEndian)(action.arguments ? action.arguments.length : 0);\n let actionArguments = new Uint8Array();\n action.arguments?.forEach((encodedValues) => {\n const argLength = (0, bytes_1.numberToUint16LittleEndian)(encodedValues.length);\n let argBytes = new Uint8Array();\n encodedValues.forEach((value) => {\n const evBytes = encodeEncodedValue(value);\n const prefixedEvBytes = (0, bytes_1.prefixBytesLength)(evBytes);\n argBytes = (0, bytes_1.concatBytes)(argBytes, prefixedEvBytes);\n });\n actionArguments = (0, bytes_1.concatBytes)(actionArguments, argLength, argBytes);\n });\n const encodedActionArguments = (0, bytes_1.concatBytes)(encodedNumArgs, actionArguments);\n return (0, base64_1.bytesToBase64)((0, bytes_1.concatBytes)(encodedVersion, encodedDbId, encodedAction, encodedActionArguments));\n}\nexports.encodeActionExecution = encodeActionExecution;\nfunction encodeRawStatement(statement) {\n // to encode RawStatement, we need to concat a bytes array of all the required properties.\n // the order of each property on the interfaces is important. If the bytes are concated in an incorrect order, the database engine will not know how to decode them.\n // ~ITEMS TO ENCODE~\n // Item 1. rsVersion\n // rsVersion is a versioning number for the RawStatement interface.\n // This is used in case we different interfaces in the future and want to maintain backwards compatibility.\n const rawStatementVersion = 0;\n // rsVersion should be converted to Uint16 and concactenated with the rest of our bytes\n const encodedVersion = (0, bytes_1.numberToUint16LittleEndian)(rawStatementVersion);\n // Item 2. Rawstatement.statement\n // We first need to convert the string to bytes\n const statementBytes = (0, serial_1.stringToBytes)(statement.statement);\n // then, we need to prefix the byte array with its length. The length must be represented by 4 bytes (uint32)\n const encodedStatement = (0, bytes_1.prefixBytesLength)(statementBytes);\n // Item 3. Rawstatement.parameters\n let encodedParameters;\n // We first need to append the number of parameters with two bytes (uint16)\n encodedParameters = (0, bytes_1.numberToUint16LittleEndian)(statement.parameters ? statement.parameters.length : 0);\n // then, for each parameter..\n for (const param of statement.parameters) {\n // convert the string to bytes\n const nameBytes = (0, serial_1.stringToBytes)(param.name);\n // prefix bytes array with length\n const prefixedNameBytes = (0, bytes_1.prefixBytesLength)(nameBytes);\n // encode each value with the `encodeEncodedValue` function\n const valueBytes = encodeEncodedValue(param.value);\n // prefix value with its length\n const valueBytesPrefix = (0, bytes_1.prefixBytesLength)(valueBytes);\n // concatenate with our paramBytes\n encodedParameters = (0, bytes_1.concatBytes)(encodedParameters, prefixedNameBytes, valueBytesPrefix);\n }\n // concat all bytes IN ORDER they appear on the interface\n return (0, base64_1.bytesToBase64)((0, bytes_1.concatBytes)(encodedVersion, encodedStatement, encodedParameters));\n}\nexports.encodeRawStatement = encodeRawStatement;\nfunction encodeTransfer(transfer) {\n const transferVersion = 0;\n const encodedVersion = (0, bytes_1.numberToUint16LittleEndian)(transferVersion);\n const encodedTo = (0, bytes_1.prefixBytesLength)(encodeAccountId(transfer.to));\n // for BigInt Serialization, add a single byte and then encode it as a string\n const encodedAmount = (0, bytes_1.concatBytes)(new Uint8Array([1]), (0, bytes_1.prefixBytesLength)((0, serial_1.stringToBytes)(transfer.amount.toString())));\n return (0, base64_1.bytesToBase64)((0, bytes_1.concatBytes)(encodedVersion, encodedTo, encodedAmount));\n}\nexports.encodeTransfer = encodeTransfer;\nfunction encodeEncodedValue(ev) {\n // To encode an `EncodedValue` we need to concat a bytes array with all of the necessary elements\n // The order is important.\n // The versioning number for `EncodedValue`\n const evVersion = 0;\n // convert evVersion to Uint16\n const encodedVersion = (0, bytes_1.numberToUint16LittleEndian)(evVersion);\n // EncodedValue.type - the `encodeDataType` function to get the bytes\n const dataTypeBytes = encodeDataType(ev.type);\n const encodedType = (0, bytes_1.prefixBytesLength)(dataTypeBytes);\n // EncodedValue.data - first, prepend 4 bytes (uint32) for the length of bytes\n const dataLength = (0, bytes_1.numberToUint16LittleEndian)(ev.data.length);\n let encodedData = (0, bytes_1.concatBytes)(dataLength);\n // then, for each element in the data array\n for (const data of ev.data) {\n encodedData = (0, bytes_1.concatBytes)(encodedData, (0, bytes_1.prefixBytesLength)(data));\n }\n // Concact bytes together in correct order\n return (0, bytes_1.concatBytes)(encodedVersion, encodedType, encodedData);\n}\nfunction encodeDataType(dt) {\n // I will use less comments here, since the general encoding flow follows the same as previous\n const dtVersion = 0;\n // note that this one uses big endian - I don't think there is a reason, just a kwil-db inconsistency\n const versionBytes = (0, bytes_1.numberToUint16BigEndian)(dtVersion);\n const nameBytes = (0, serial_1.stringToBytes)(dt.name);\n const nameLength = (0, bytes_1.numberToUint32BigEndian)(nameBytes.length);\n const isArray = (0, serial_1.booleanToBytes)(dt.is_array);\n const metadataLength = (0, bytes_1.numberToUint16BigEndian)(dt.metadata?.[0] || 0);\n const precisionLength = (0, bytes_1.numberToUint16BigEndian)(dt.metadata?.[1] || 0);\n return (0, bytes_1.concatBytes)(versionBytes, nameLength, nameBytes, isArray, metadataLength, precisionLength);\n}\nfunction encodeValue(value, o) {\n // handle override case\n if (o) {\n return overrideValue(value, o);\n }\n // handle uuid case\n if (typeof value === 'string' && (0, uuid_1.isUuid)(value)) {\n return encodeNotNull((0, uuid_1.convertUuidToBytes)(value));\n }\n // handle null case\n if (value === null) {\n return encodeNull();\n }\n // handle Uint8Array case\n if (value instanceof Uint8Array) {\n return encodeNotNull(value);\n }\n // handle decimal case\n if (typeof value === 'number' && isDecimal(value)) {\n return encodeNotNull((0, serial_1.stringToBytes)(value.toString()));\n }\n // handle other scalar value cases\n switch (typeof value) {\n case 'string':\n return encodeNotNull((0, serial_1.stringToBytes)(value));\n case 'boolean':\n return encodeNotNull((0, serial_1.booleanToBytes)(value));\n case 'number':\n return encodeNotNull((0, serial_1.numberToBytes)(value));\n case 'undefined':\n return encodeNull();\n case 'bigint':\n throw new Error('bigint not supported. convert to string.');\n default:\n throw new Error('invalid scalar value');\n }\n}\nexports.encodeValue = encodeValue;\nfunction overrideValue(v, o) {\n if (v === null || v === undefined) {\n return encodeNull();\n }\n switch (o) {\n case enums_1.VarType.NULL:\n return encodeNull();\n case enums_1.VarType.TEXT:\n return encodeNotNull((0, serial_1.stringToBytes)(v));\n case enums_1.VarType.INT8:\n return encodeNotNull((0, serial_1.numberToBytes)(v));\n case enums_1.VarType.BOOL:\n return encodeNotNull((0, serial_1.booleanToBytes)(v));\n case enums_1.VarType.NUMERIC:\n return encodeNotNull((0, serial_1.stringToBytes)(v.toString()));\n case enums_1.VarType.UUID:\n return encodeNotNull((0, uuid_1.convertUuidToBytes)(v));\n case enums_1.VarType.BYTEA:\n return encodeNotNull(v);\n default:\n throw new Error('invalid scalar value');\n }\n}\nfunction isDecimal(n) {\n const numStr = Math.abs(n).toString();\n const decimalIdx = numStr.indexOf('.');\n return decimalIdx !== -1;\n}\nfunction encodeNull() {\n return new Uint8Array([0]);\n}\nfunction encodeNotNull(v) {\n const bytes = new Uint8Array(v.length + 1);\n bytes[0] = 1;\n bytes.set(v, 1);\n return bytes;\n}\n//# sourceMappingURL=kwilEncoding.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PayloadTx = void 0;\nconst intern_1 = require(\"../client/intern\");\nconst enums_1 = require(\"../core/enums\");\nconst signature_1 = require(\"../core/signature\");\nconst tx_1 = require(\"../core/tx\");\nconst base64_1 = require(\"../utils/base64\");\nconst crypto_1 = require(\"../utils/crypto\");\nconst objects_1 = require(\"../utils/objects\");\nconst serial_1 = require(\"../utils/serial\");\nconst strings_1 = require(\"../utils/strings\");\nconst kwilEncoding_1 = require(\"../utils/kwilEncoding\");\n/**\n * `Payload` class creates a transaction and call payloads that can be sent over GRPC.\n */\nclass PayloadTx {\n /**\n * Initializes a new `Payload` instance.\n *\n * @param {Kwil} kwil - The Kwil client, used to call higher-level methods on the Kwil class.\n */\n constructor(kwil, options) {\n this.kwil = objects_1.objects.requireNonNil(kwil, 'Client is required for TxnBuilder. Please pass a valid Kwil client. This is an internal error, please create an issue.');\n this.payload = objects_1.objects.requireNonNil(options.payload, 'Payload is required for TxnBuilder. Please pass a valid payload.');\n // Validate optional parameters if passed into Payload Txn Builder\n objects_1.objects.validateOptionalFields(options, [\n 'payloadType',\n 'signer',\n 'identifier',\n 'signatureType',\n 'chainId',\n 'description',\n 'nonce',\n ]);\n this.payloadType = options.payloadType;\n this.signer = options.signer;\n this.identifier = options.identifier;\n this.signatureType = options.signatureType;\n this.chainId = options.chainId;\n this.description = options.description;\n this.nonce = options.nonce;\n }\n /**\n * Static factory method to create a new Payload instance.\n *\n * @param kwil - The Kwil client.\n * @param options - The options to configure the Payload instance.\n */\n static createTx(kwil, options) {\n return new PayloadTx(kwil, options);\n }\n /**\n * Build the payload structure for a transaction.\n */\n async buildTx() {\n // ensure required fields are not null or undefined\n const { signer, payloadType, identifier, signatureType, chainId } = objects_1.objects.validateFields({\n signer: this.signer,\n payloadType: this.payloadType,\n identifier: this.identifier,\n signatureType: this.signatureType,\n chainId: this.chainId,\n }, (fieldName) => `${fieldName} is required to build a transaction.`);\n // create transaction payload for estimating cost. Set the Tx bytes type to base64 encoded because we need to make GRPC estimate cost request.\n const preEstTxn = tx_1.Txn.create((tx) => {\n // Encode the payload depending on the payload type\n tx.body.payload = this.encodePayload(this.payloadType, this.payload);\n tx.body.type = payloadType;\n tx.sender = (0, serial_1.bytesToHex)(identifier);\n });\n // estimate the cost of the transaction with the estimateCost symbol from the client\n const cost = await (0, intern_1.unwrap)(this.kwil)(preEstTxn);\n // retrieve the account for the nonce, if one is provided\n let nonce = this.nonce;\n // if no nonce is provided, retrieve the nonce from the account\n if (!this.nonce) {\n const acct = await this.kwil.getAccount(identifier);\n nonce =\n Number(objects_1.objects.requireNonNil(acct.data?.nonce, 'something went wrong retrieving your account nonce.')) + 1;\n }\n const encodedPayload = objects_1.objects.requireNonNil(preEstTxn.body.payload, 'encoded payload is null. This is likely an internal error, please create an issue.');\n // add the nonce and fee to the transaction. Set the tx bytes back to uint8 so we can do the signature.\n const postEstTxn = tx_1.Txn.copy(preEstTxn, (tx) => {\n tx.body.payload = (0, base64_1.base64ToBytes)(encodedPayload);\n tx.body.fee = BigInt(strings_1.strings.requireNonNil(cost.data, 'something went wrong estimating the cost of your transaction.'));\n tx.body.nonce = objects_1.objects.requireNonNil(nonce, 'something went wrong retrieving your account nonce.');\n tx.body.chain_id = chainId;\n });\n // check that a valid signature is used\n if (this.signatureType === signature_1.SignatureType.SIGNATURE_TYPE_INVALID) {\n throw new Error('Signature type is invalid.');\n }\n // sign the transaction\n return PayloadTx.signTx(postEstTxn, signer, identifier, signatureType, this.description);\n }\n /**\n * Signs the payload of a transaction / request to the broadcast GRPC endpoint.\n *\n * @param {BaseTransaction} tx - The transaction to sign. See {@link BaseTransaction} for more information.\n * @param {SignerSupplier} signer - The signer to be used to sign the transaction.\n * @param {Uint8Array} identifier - The identifier (e.g. wallet address, public key, etc) for the signature, represented as bytes.\n * @param {AnySignatureType} signatureType - The signature type being used. See {@link SignatureType} for more information.\n * @param {string} description - The description to be included in the signature.\n * @returns {BaseTransaction} - A promise that resolves to the signed transaction.\n * @throws {Error} - If the the signer is not an Ethers Signer or a function that accepts and returns a Uint8Array.\n */\n static async signTx(tx, signer, identifier, signatureType, description) {\n // create the digest, which is the first bytes of the sha256 hash of the rlp-encoded payload\n const digest = (0, crypto_1.sha256BytesToBytes)(tx.body.payload).subarray(0, 20);\n /**\n * create the signature message\n * the signature message cannot have any preceding or succeeding white space. Must be exact length as server expects it\n */\n const signatureMessage = `${description}\n\nPayloadType: ${tx.body.type}\nPayloadDigest: ${(0, serial_1.bytesToHex)(digest)}\nFee: ${tx.body.fee}\nNonce: ${tx.body.nonce}\n\nKwil Chain ID: ${tx.body.chain_id}\n`;\n // sign the above message\n const signedMessage = await (0, signature_1.executeSign)((0, serial_1.stringToBytes)(signatureMessage), signer, signatureType);\n const encodedPayload = objects_1.objects.requireNonNil(tx.body.payload, 'encoded payload is null. This is likely an internal error, please create an issue.');\n // copy the transaction and add the signature\n return tx_1.Txn.copy(tx, (newTx) => {\n newTx.signature = {\n // bytes must be base64 encoded for transport over GRPC\n sig: (0, base64_1.bytesToBase64)(signedMessage),\n type: signatureType.toString(),\n };\n newTx.body = {\n desc: description,\n payload: (0, base64_1.bytesToBase64)(encodedPayload),\n type: newTx.body.type,\n fee: newTx.body.fee?.toString() || '',\n nonce: newTx.body.nonce,\n chain_id: newTx.body.chain_id,\n };\n // bytes must be base64 encoded for transport over GRPC\n newTx.sender = (0, serial_1.bytesToHex)(identifier);\n newTx.serialization = enums_1.SerializationType.SIGNED_MSG_CONCAT;\n });\n }\n encodePayload(payloadType, payload) {\n switch (payloadType) {\n case enums_1.PayloadType.EXECUTE_ACTION:\n if (!('action' in payload && 'arguments' in payload)) {\n throw new Error('Invalid payload type for EXECUTE_ACTION');\n }\n return (0, kwilEncoding_1.encodeActionExecution)(payload);\n case enums_1.PayloadType.TRANSFER:\n if (!('to' in payload && 'amount' in payload)) {\n throw new Error('Invalid payload type for TRANSFER');\n }\n return (0, kwilEncoding_1.encodeTransfer)(payload);\n case enums_1.PayloadType.RAW_STATEMENT:\n if (!('statement' in payload && 'parameters' in payload)) {\n throw new Error('Invalid payload type for RAW_STATEMENT');\n }\n return (0, kwilEncoding_1.encodeRawStatement)(payload);\n default:\n throw new Error(`Unsupported payload type: ${payloadType}`);\n }\n }\n}\nexports.PayloadTx = PayloadTx;\n//# sourceMappingURL=payloadTx.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Funder = void 0;\nconst enums_1 = require(\"../core/enums\");\nconst payloadTx_1 = require(\"../transaction/payloadTx\");\nconst serial_1 = require(\"../utils/serial\");\nclass Funder {\n constructor(kwil, funderClient, chainId) {\n this.kwil = kwil;\n this.funderClient = funderClient;\n this.chainId = chainId;\n }\n async transfer(payload, signer, synchronous) {\n if (!payload.keyType) {\n payload.keyType = enums_1.AccountKeyType.SECP256K1;\n }\n if (payload.to instanceof Uint8Array) {\n payload.to = (0, serial_1.bytesToHex)(payload.to);\n }\n const txPayload = {\n to: {\n identifier: payload.to,\n key_type: payload.keyType,\n },\n amount: payload.amount.toString(),\n };\n const transaction = await payloadTx_1.PayloadTx.createTx(this.kwil, {\n chainId: this.chainId,\n description: payload.description || '',\n payload: txPayload,\n payloadType: enums_1.PayloadType.TRANSFER,\n identifier: signer.identifier,\n signer: signer.signer,\n signatureType: signer.signatureType,\n }).buildTx();\n return await this.funderClient.broadcastClient(transaction, synchronous ? enums_1.BroadcastSyncType.COMMIT : enums_1.BroadcastSyncType.SYNC);\n }\n}\nexports.Funder = Funder;\n//# sourceMappingURL=funder.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.verifyAuthProperties = exports.removeTrailingSlash = exports.generateSignatureText = exports.composeAuthMsg = void 0;\nfunction composeAuthMsg(authParam, domain, version, chainId) {\n let msg = '';\n msg += `${domain} wants you to sign in with your account:\\n`;\n msg += `\\n`;\n if (authParam.statement !== '') {\n msg += `${authParam.statement}\\n`;\n }\n msg += '\\n';\n // @Yaiba: Should I trust the URI provided by KGW or should I use the domain / create my own?\n msg += `URI: ${authParam.uri}\\n`;\n msg += `Version: ${version}\\n`;\n msg += `Chain ID: ${chainId}\\n`;\n msg += `Nonce: ${authParam.nonce}\\n`;\n msg += `Issue At: ${authParam.issue_at}\\n`;\n msg += `Expiration Time: ${authParam.expiration_time}\\n`;\n return msg;\n}\nexports.composeAuthMsg = composeAuthMsg;\nfunction generateSignatureText(namespace, action, digest, challenge) {\n let sigText = 'Kwil view call.\\n';\n sigText += '\\n';\n sigText += `Namespace: ${namespace}\\n`;\n sigText += `Method: ${action}\\n`;\n sigText += `Digest: ${digest}\\n`;\n sigText += `Challenge: ${challenge}\\n`;\n return sigText;\n}\nexports.generateSignatureText = generateSignatureText;\nfunction removeTrailingSlash(url) {\n if (url.endsWith('/')) {\n return url.slice(0, -1);\n }\n return url;\n}\nexports.removeTrailingSlash = removeTrailingSlash;\nfunction verifyAuthProperties(authParm, domain, version, chainId) {\n if (authParm.domain && authParm.domain !== domain) {\n throw new Error(`Domain mismatch: ${authParm.domain} !== ${domain}`);\n }\n if (authParm.version && authParm.version !== version) {\n throw new Error(`Version mismatch: ${authParm.version} !== ${version}`);\n }\n if (authParm.chain_id && authParm.chain_id !== chainId) {\n throw new Error(`Chain ID mismatch: ${authParm.chain_id} !== ${chainId}`);\n }\n}\nexports.verifyAuthProperties = verifyAuthProperties;\n//# sourceMappingURL=auth.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveValueType = exports.analyzeNumber = exports.encodeValueType = exports.encodeRawStatementParameters = exports.encodeParameters = void 0;\nconst enums_1 = require(\"../core/enums\");\nconst base64_1 = require(\"./base64\");\nconst kwilEncoding_1 = require(\"./kwilEncoding\");\nconst uuid_1 = require(\"./uuid\");\n// Used by the selectQuery() method\nfunction encodeParameters(params) {\n const encodedParams = {};\n Object.entries(params).forEach(([key, value]) => {\n encodedParams[key] = formatEncodedValueBase64(value);\n });\n return encodedParams;\n}\nexports.encodeParameters = encodeParameters;\n// The selectQuery() method uses base64 encoding for the values here because they are not encoded into a base64 payload string when sent to the server\nfunction formatEncodedValueBase64(val) {\n const base = formatDataType(val);\n // If the value is an array, we need to encode each value in the array\n if (Array.isArray(val)) {\n const encodedValues = [];\n for (const v of val) {\n encodedValues.push((0, base64_1.bytesToBase64)((0, kwilEncoding_1.encodeValue)(v)));\n }\n return {\n type: base.type,\n data: encodedValues,\n };\n }\n return {\n type: base.type,\n data: [(0, base64_1.bytesToBase64)((0, kwilEncoding_1.encodeValue)(base.data))],\n };\n}\n// Used by the executeSql() method\n// The executeSql() method has the entire payload encoded into a base64 string when being sent to the server\n// And the structure of the parameters is different as we have name (of the parameter) and value which is not the same as selectQuery()\nfunction encodeRawStatementParameters(params) {\n return Object.entries(params).map(([key, value]) => {\n const encodedValue = formatEncodedValue(value);\n return {\n name: key,\n value: encodedValue,\n };\n });\n}\nexports.encodeRawStatementParameters = encodeRawStatementParameters;\n// Used by the executeSql() method and the encodeActionInputs() method\nfunction formatEncodedValue(val, o) {\n const base = formatDataType(val, o);\n if (Array.isArray(val)) {\n const encodedValues = [];\n for (const v of val) {\n encodedValues.push((0, kwilEncoding_1.encodeValue)(v, o?.name));\n }\n return {\n type: base.type,\n data: encodedValues,\n };\n }\n return {\n type: base.type,\n data: [(0, kwilEncoding_1.encodeValue)(base.data, o?.name)],\n };\n}\n/**\n * Used when encoding values for an action\n * @param {ValueType[]} values - An array of input values to be executed by an action.\n * @returns formatted values used for an action\n */\nfunction encodeValueType(values) {\n return values.map((val) => formatEncodedValue(val.v, val.o));\n}\nexports.encodeValueType = encodeValueType;\nfunction formatDataType(val, o) {\n // handle override case\n if (o) {\n return {\n type: o,\n data: val,\n };\n }\n const { metadata, varType } = resolveValueType(val);\n const dataType = {\n name: varType,\n is_array: Array.isArray(val),\n metadata,\n };\n return { type: dataType, data: val };\n}\nfunction analyzeNumber(num) {\n // Convert the number to a string and handle potential negative sign\n const numStr = Math.abs(num).toString();\n const decimalIndex = numStr.indexOf('.');\n const hasDecimal = decimalIndex !== -1;\n // Precision represents the total number of digits (excluding the decimal point)\n const precision = hasDecimal ? numStr.length - 1 : numStr.length;\n // Scale represents the number of digits after the decimal point\n const scale = hasDecimal ? numStr.length - decimalIndex - 1 : 0;\n // e.g. 123.456\n // precision = 6\n // scale = 3\n return {\n hasDecimal,\n precision,\n scale,\n };\n}\nexports.analyzeNumber = analyzeNumber;\nfunction resolveValueType(value) {\n if (Array.isArray(value)) {\n // In Kwil, if there is an array of values, each value in the array must be of the same type.\n return resolveValueType(value[0]);\n }\n let metadata = [0, 0];\n // Default to text string\n // Only other types are null or blob. For client-side tooling, everything else can be sent as a string, and Kwil will handle the conversion.\n let varType = enums_1.VarType.TEXT;\n switch (typeof value) {\n case 'string':\n if ((0, uuid_1.isUuid)(value)) {\n varType = enums_1.VarType.UUID;\n }\n break;\n case 'number':\n const numAnalysis = analyzeNumber(value);\n return {\n metadata: [numAnalysis.precision, numAnalysis.scale],\n varType: numAnalysis.hasDecimal ? enums_1.VarType.NUMERIC : enums_1.VarType.INT8,\n };\n case 'boolean':\n varType = enums_1.VarType.BOOL;\n break;\n case 'object':\n if (value instanceof Uint8Array) {\n varType = enums_1.VarType.BYTEA;\n break;\n }\n if (value === null) {\n varType = enums_1.VarType.NULL;\n break;\n }\n case 'undefined':\n varType = enums_1.VarType.NULL;\n break;\n default:\n throw new Error(`Unsupported type: ${typeof value}. If using a uuid, blob, or uint256, please convert to a JavaScript string.`);\n }\n return {\n metadata,\n varType,\n };\n}\nexports.resolveValueType = resolveValueType;\n//# sourceMappingURL=parameterEncoding.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Auth = void 0;\nconst auth_1 = require(\"../core/auth\");\nconst objects_1 = require(\"../utils/objects\");\nconst signature_1 = require(\"../core/signature\");\nconst serial_1 = require(\"../utils/serial\");\nconst base64_1 = require(\"../utils/base64\");\nconst action_1 = require(\"../core/action\");\nconst crypto_1 = require(\"../utils/crypto\");\nconst kwilEncoding_1 = require(\"../utils/kwilEncoding\");\nconst parameterEncoding_1 = require(\"../utils/parameterEncoding\");\nclass Auth {\n constructor(authClient, kwilProvider, chainId) {\n this.authClient = authClient;\n this.kwilProvider = kwilProvider;\n this.chainId = chainId;\n }\n /**\n * Authenticates a user with the Kwil Gateway (KGW). This is required to execute view actions with the `@kgw(authn='true')` annotation.\n *\n * This method should only be used if your Kwil Network is using the Kwil Gateway.\n *\n * @param {KwilSigner} signer - The signer for the authentication.\n * @returns A promise that resolves to the authentication success or failure.\n */\n async authenticateKGW(signer) {\n // KGW rpc call\n const authParam = await this.authClient.getAuthenticateClient();\n const authProperties = objects_1.objects.requireNonNil(authParam.data, 'something went wrong retrieving auth info from KGW');\n const domain = (0, auth_1.removeTrailingSlash)(this.kwilProvider);\n const version = '1';\n (0, auth_1.verifyAuthProperties)(authProperties, domain, version, this.chainId);\n const msg = (0, auth_1.composeAuthMsg)(authProperties, domain, version, this.chainId);\n const signature = await (0, signature_1.executeSign)((0, serial_1.stringToBytes)(msg), signer.signer, signer.signatureType);\n const authBody = {\n nonce: authProperties.nonce,\n sender: (0, serial_1.bytesToHex)(signer.identifier),\n signature: {\n sig: (0, base64_1.bytesToBase64)(signature),\n type: signer.signatureType,\n },\n };\n // KGW rpc call\n const res = await this.authClient.postAuthenticateClient(authBody);\n return res;\n }\n /**\n * Authenticates a user in private mode.\n *\n * This method should only be used if your Kwil Network is in private mode.\n *\n * @param {KwilSigner} signer - The signer for the authentication.\n * @param {CallBody} callBody - The body of the action to send. This should use the `ActionBody` interface.\n * @returns A promise that resolves a privateSignature => privateSignature = {sig: string (Base64), type: AnySignatureType}\n */\n async authenticatePrivateMode(callBody, signer) {\n // get Challenge\n const challenge = await this.authClient.challengeClient();\n let msgChallenge = challenge.data;\n // Check if challenge.data is undefined\n if (!msgChallenge) {\n throw new Error('Challenge data is undefined. Something went wrong.');\n }\n // ActionInput[] is deprecated. So we are converting any ActionInput[] to an Entries[]\n let inputs = {};\n if (callBody.inputs && action_1.transformActionInput.isActionInputArray(callBody.inputs)) {\n // For a call only one entry is allowed, so we only need to convert the first ActionInput\n inputs = action_1.transformActionInput.toSingleEntry(callBody.inputs);\n }\n else if (callBody.inputs && action_1.transformPositionalParam.isPositionalParam(callBody.inputs)) {\n inputs = action_1.transformPositionalParam.toNamedParam(callBody.inputs);\n }\n else if (callBody.inputs) {\n inputs = callBody.inputs;\n }\n const actionValues = callBody?.inputs ? Object.values(inputs) : [];\n const value = (0, action_1.resolveParamTypes)(actionValues, callBody?.types);\n // construct payload. If there are no prepared actions, then the payload is an empty array.\n const payload = {\n dbid: callBody.namespace,\n action: callBody.name,\n arguments: (0, parameterEncoding_1.encodeValueType)(value),\n };\n const encodedPayload = (0, kwilEncoding_1.encodeActionCall)(payload);\n const uInt8ArrayPayload = (0, base64_1.base64ToBytes)(encodedPayload);\n const digest = (0, crypto_1.sha256BytesToBytes)(uInt8ArrayPayload).subarray(0, 20);\n const msg = (0, auth_1.generateSignatureText)(callBody.namespace, callBody.name, (0, serial_1.bytesToHex)(digest), msgChallenge);\n const signature = await (0, signature_1.executeSign)((0, serial_1.stringToBytes)(msg), signer.signer, signer.signatureType);\n const sig = (0, base64_1.bytesToBase64)(signature);\n const byteChallenge = (0, serial_1.hexToBytes)(msgChallenge);\n const base64Challenge = (0, base64_1.bytesToBase64)(byteChallenge); // Challenge needs to be Base64 in the message\n const res = {\n signature: sig,\n challenge: base64Challenge,\n };\n return res;\n }\n async logoutKGW(signer) {\n const identifier = signer?.identifier || undefined;\n return await this.authClient.logoutClient(identifier);\n }\n}\nexports.Auth = Auth;\n//# sourceMappingURL=auth.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Msg = exports.BaseMessage = void 0;\nconst signature_1 = require(\"./signature\");\n/**\n * `BaseMessage` is the bass class for the payload structure for a request to the Kwil `call` GRPC endpoint {@link https://github.com/kwilteam/proto/blob/main/kwil/tx/v1/call.proto}.\n *\n * Bytes in the message can be typed to be either base64 encoded or Uint8Array. Uint8Array should be used when building the message within the SDK, and base64 should be used for the final message to be send over GRPC.\n *\n * @template {BytesEncodingStatus.BASE64_ENCODED | BytesEncodingStatus.UINT8_ENCODED} T - The type of bytes in the message. Can be either base64 encoded or Uint8Array.\n * @implements {MsgData<T>} - The message data interface.\n */\nclass BaseMessage {\n constructor(data) {\n // create a basic template of msg. Null values are used to be compatible with both types in PayloadBytesTypes.\n this.data = data || {\n body: {\n payload: null,\n challenge: '',\n },\n auth_type: signature_1.SignatureType.SECP256K1_PERSONAL,\n sender: null,\n signature: null,\n };\n }\n get body() {\n return this.data.body;\n }\n get auth_type() {\n return this.data.auth_type;\n }\n get sender() {\n return this.data.sender;\n }\n get signature() {\n return this.data.signature;\n }\n}\nexports.BaseMessage = BaseMessage;\nvar Msg;\n(function (Msg) {\n /**\n * Creates a new instance of the `BaseMessage` class.\n *\n * Bytes in the message can be typed to be either base64 encoded or Uint8Array. Uint8Array should be used when building the message within the SDK, and base64 should be used for the final message to be send over GRPC.\n *\n * @template {BytesEncodingStatus.BASE64_ENCODED | BytesEncodingStatus.UINT8_ENCODED} T - The type of bytes in the message. Can be either base64 encoded or Uint8Array.\n * @param {(msg: MsgData<T>) => void} configure - A callback function that takes in a `MsgData` object and sets fields on it.\n * @returns {BaseMessage<T>} - A new instance of the `BaseMessage` class.\n */\n function create(configure) {\n // create a basic template of msg. Null values are used to be compatible with both types in PayloadBytesTypes.\n const msg = {\n body: {\n payload: null,\n challenge: '',\n },\n auth_type: signature_1.SignatureType.SECP256K1_PERSONAL,\n sender: null,\n signature: null,\n };\n // Pass the 'msg' object to the 'configure' function allowing external modification of its propoerties before instantiation of BaseMessage.\n configure(msg);\n return new BaseMessage(msg);\n }\n Msg.create = create;\n /**\n * Copies an existing instance of the `BaseMessage` class and modifies certain fields.\n *\n * Bytes in the message can be typed to be either base64 encoded or Uint8Array. Uint8Array should be used when building the message within the SDK, and base64 should be used for the final message to be send over GRPC.\n *\n * @template {BytesEncodingStatus.BASE64_ENCODED | BytesEncodingStatus.UINT8_ENCODED} T - The type of bytes in the message. Can be either base64 encoded or Uint8Array.\n * @param {BaseMessage<PayloadBytesTypes>} source - The source message to copy from. It can be using either base64 or Uint8Array bytes.\n * @param {(msg: MsgData<T>) => void} configure - A callback function that takes in a `MsgData` object and sets fields on it.\n * @returns {BaseMessage<T>} - A new instance of the `BaseMessage` class.\n */\n function copy(source, configure) {\n return Msg.create((msg) => {\n // copy all fields from source to msg\n msg.body = source.body;\n msg.auth_type = source.auth_type;\n msg.sender = source.sender;\n msg.signature = source.signature;\n // Pass the 'msg' object to the 'configure' function allowing external modification of its propoerties before instantiation of BaseMessage.\n configure(msg);\n });\n }\n Msg.copy = copy;\n})(Msg || (exports.Msg = Msg = {}));\n//# sourceMappingURL=message.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PayloadMsg = void 0;\nconst message_1 = require(\"../core/message\");\nconst objects_1 = require(\"../utils/objects\");\nconst serial_1 = require(\"../utils/serial\");\nconst kwilEncoding_1 = require(\"../utils/kwilEncoding\");\n/**\n * `PayloadMsg` class creates a call message payload that can be sent over GRPC.\n */\nclass PayloadMsg {\n /**\n * Initializes a new `PayloadMsg` instance.\n *\n * @param {PayloadMsgOptions} options - Parameters interface to build a payload message.\n */\n constructor(payload, options) {\n this.payload = objects_1.objects.requireNonNil(payload, 'Payload is required for Payload Msg Builder. Please pass a valid payload.');\n // Validate optional parameters if passed into Payload Txn Builder\n objects_1.objects.validateOptionalFields(options, [\n 'signature',\n 'challenge',\n 'signer',\n 'identifier',\n 'signatureType',\n ]);\n this.signature = options.signature;\n this.challenge = options.challenge;\n this.signer = options.signer;\n this.identifier = options.identifier;\n this.signatureType = options.signatureType;\n }\n /**\n * Static factory method to create a new Payload instance.\n *\n * @param kwil - The Kwil client.\n * @param options - The options to configure the Payload instance.\n */\n static createMsg(payload, options) {\n return new PayloadMsg(payload, options);\n }\n /**\n * Build the payload structure for a message.\n */\n async buildMsg() {\n let msg = message_1.Msg.create((msg) => {\n msg.body.payload = this.payload;\n msg.body.challenge = this.challenge;\n msg.signature = this.signature;\n });\n if (this.signer) {\n // ensure required fields are not null or undefined\n const { identifier, signatureType } = objects_1.objects.validateFields({\n identifier: this.identifier,\n signatureType: this.signatureType,\n }, (fieldName) => `${fieldName} required to build a message.`);\n if (identifier) {\n return await PayloadMsg.authMsg(msg, identifier, signatureType);\n }\n }\n // return the unsigned message, with the payload base64 encoded\n return message_1.Msg.copy(msg, (msg) => {\n msg.body.payload = (0, kwilEncoding_1.encodeActionCall)(this.payload);\n });\n }\n /**\n * Adds the caller's sender address to the message.\n *\n * @param {Message} msg - The message to sign. See {@link Message} for more information.\n * @param {Uint8Array} identifier - The identifier (e.g. wallet address, public key, etc) for the signature, represented as bytes.\n * @param {AnySignatureType} signatureType - The signature type being used. See {@link SignatureType} for more information.\n * @param {string} description - The description to be included in the signature.\n * @returns Message - A promise that resolves to the signed message.\n * @throws {Error} - If the the signer is not an Ethers Signer or a function that accepts and returns a Uint8Array.\n */\n static async authMsg(msg, identifier, signatureType) {\n const unencodedPayload = objects_1.objects.requireNonNil(msg.body.payload, 'Payload is required to sign a message. This is likely an internal error. Please create an issue.');\n // copy the message and add the signature, with bytes set to base64 for transport over GRPC\n return message_1.Msg.copy(msg, (msg) => {\n msg.body.payload = (0, kwilEncoding_1.encodeActionCall)(unencodedPayload);\n msg.auth_type = signatureType;\n // bytes must be base64 encoded for transport over GRPC\n msg.sender = (0, serial_1.bytesToHex)(identifier);\n });\n }\n}\nexports.PayloadMsg = PayloadMsg;\n//# sourceMappingURL=payloadMsg.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Action = void 0;\nconst action_1 = require(\"../core/action\");\nconst enums_1 = require(\"../core/enums\");\nconst payloadTx_1 = require(\"./payloadTx\");\nconst payloadMsg_1 = require(\"../message/payloadMsg\");\nconst objects_1 = require(\"../utils/objects\");\nconst parameterEncoding_1 = require(\"../utils/parameterEncoding\");\nconst TXN_BUILD_IN_PROGRESS = [];\n/**\n * `Action` class creates a transaction to execute database actions on the Kwil network.\n */\nclass Action {\n /**\n * Initializes a new `Action` instance.\n * It helps in building transactions to execute database actions on the Kwil network.\n *\n * @param {Kwil} kwil - The Kwil client, used to call higher-level methods on the Kwil class.\n */\n constructor(kwil, options) {\n this.kwil = objects_1.objects.requireNonNil(kwil, 'Client is required for Action Builder. Please pass a valid Kwil Client.');\n // Validate required parameters passed into Action Builder\n objects_1.objects.validateRequiredFields(options, [\n 'actionName',\n 'namespace',\n 'chainId',\n 'description',\n 'actionInputs',\n ]);\n this.actionName = options.actionName;\n this.namespace = options.namespace;\n this.chainId = options.chainId;\n this.description = options.description;\n this.actionInputs = options.actionInputs;\n // Validate optional parameters if passed into Action Builder\n objects_1.objects.validateOptionalFields(options, [\n 'signer',\n 'identifier',\n 'actionInputs',\n 'signatureType',\n 'nonce',\n 'types',\n ]);\n this.signer = options.signer;\n this.identifier = options.identifier;\n this.signatureType = options.signatureType;\n this.nonce = options.nonce;\n this.challenge = options.challenge;\n this.signature = options.signature;\n this.types = options.types;\n }\n /**\n * Static factory method to create a new Action instance.\n *\n * @param kwil - The Kwil client.\n * @param options - The options to configure the Action instance.\n */\n static createTx(kwil, options) {\n return new Action(kwil, options);\n }\n /**\n * Build the action structure for a transaction.\n */\n async buildTx(privateMode) {\n this.assertNotBuilding();\n // cache the action inputs\n const cachedActionInputs = this.actionInputs;\n // set the actions to a special value to indicate that the transaction is being built\n this.actionInputs = TXN_BUILD_IN_PROGRESS;\n const payload = await this.buildTxPayload(privateMode, cachedActionInputs);\n // throw runtime error if signer is null or undefined\n const { signer, identifier, signatureType } = objects_1.objects.validateFields({\n signer: this.signer,\n identifier: this.identifier,\n signatureType: this.signatureType,\n }, (fieldName) => `${fieldName} is required to build a transaction.`);\n // build the transaction\n return await payloadTx_1.PayloadTx.createTx(this.kwil, {\n payloadType: enums_1.PayloadType.EXECUTE_ACTION,\n payload: payload,\n signer: signer,\n signatureType: signatureType,\n description: this.description,\n chainId: this.chainId,\n identifier: identifier,\n nonce: this.nonce,\n })\n .buildTx()\n .finally(() => (this.actionInputs = cachedActionInputs));\n }\n /**\n * Builds the message structure for view actions. This can be provided to the `kwil.call()` api.\n */\n async buildMsg(privateMode) {\n this.assertNotBuilding();\n // cache the action inputs\n const cachedActionInputs = this.actionInputs;\n // set the actions to a special value to indicate that the message is being built\n this.actionInputs = TXN_BUILD_IN_PROGRESS;\n const payload = await this.buildMsgPayload(privateMode, cachedActionInputs);\n // build message\n let msg = payloadMsg_1.PayloadMsg.createMsg(payload, {\n challenge: this.challenge,\n signature: this.signature,\n });\n /**\n * if a signer is specified, add the signer, signature type, identifier, and description to the message\n * ex => if the @caller contextual variable is present in a kuneiform block for kwil.call()\n */\n if (this.signer) {\n msg.signer = this.signer;\n msg.signatureType = this.signatureType;\n msg.identifier = this.identifier;\n }\n return await msg.buildMsg().finally(() => (this.actionInputs = cachedActionInputs));\n }\n /**\n * Builds the payload for the execute action.\n *\n * @param {boolean} privateMode - Whether the action is being executed in private mode.\n * @param {ActionInput[]} actionInputs - The inputs for the action.\n * @returns {UnencodedActionPayload<PayloadType.EXECUTE_ACTION>} - The payload for the execute action.\n */\n async buildTxPayload(privateMode, actionInputs) {\n const payload = {\n dbid: this.namespace,\n action: this.actionName,\n arguments: [],\n };\n // In private mode, we cannot validate the action inputs as we cannot run the selectQuery to get the schema.\n if (privateMode) {\n for (const actionInput of actionInputs) {\n const value = (0, action_1.resolveParamTypes)(actionInput, this.types);\n payload.arguments.push((0, parameterEncoding_1.encodeValueType)(value));\n }\n return payload;\n }\n // retrieve the schema and run validations\n const { actionName, encodedActionInputs, modifiers } = await this.validatedActionRequest(actionInputs);\n // throw runtime error if action is a view action. view actions require a different payload structure than transactions.\n if (modifiers.length > 0 && modifiers.includes(enums_1.AccessModifier.VIEW)) {\n throw new Error(`Action / Procedure ${actionName} is a 'view' action. Please use kwil.call().`);\n }\n payload.arguments = encodedActionInputs;\n return payload;\n }\n /**\n * Builds the payload for the call action.\n *\n * @param {boolean} privateMode - Whether the action is being executed in private mode.\n * @param {ActionInput[]} actionInputs - The inputs for the action.\n * @returns {UnencodedActionPayload<PayloadType.CALL_ACTION>} - The payload for the call action.\n */\n async buildMsgPayload(privateMode, actionInputs) {\n const payload = {\n dbid: this.namespace,\n action: this.actionName,\n arguments: [],\n };\n // In private mode, we cannot validate the action inputs as we cannot run the selectQuery to get the schema.\n if (privateMode) {\n const actionValues = actionInputs.length > 0 ? Object.values(actionInputs[0]) : [];\n const value = (0, action_1.resolveParamTypes)(actionValues, this.types);\n payload.arguments = (0, parameterEncoding_1.encodeValueType)(value);\n return payload;\n }\n // If we have access to the schema, we can validate the action inputs\n const { actionName, encodedActionInputs, modifiers } = await this.validatedActionRequest(actionInputs);\n // throw a runtime error if more than one set of inputs is trying to be executed. Call does not allow bulk execution.\n if (encodedActionInputs && encodedActionInputs.length > 1) {\n throw new Error('Cannot pass more than one input to the call endpoint. Please pass only one input and try again.');\n }\n // throw runtime error if action is not a view action. transactions require a different payload structure than view actions.\n if (modifiers.length > 0 && modifiers.includes(enums_1.AccessModifier.VIEW) === false) {\n throw new Error(`Action ${actionName} is not a view only action. Please use kwil.execute().`);\n }\n payload.arguments = encodedActionInputs[0];\n return payload;\n }\n /**\n * Checks the action definition and validates the action inputs\n *\n * @param {ActionInput[]} actionInputs - An array of action inputs to be executed.\n * @returns {ValidatedAction} - An object containing the database namespace, action name, modifiers, and encoded action inputs.\n */\n async validatedActionRequest(actionInputs) {\n // if using namedParams, we need to validate that the action inputs and order\n // namedParams look like { $param1: 'value1', $param2: 'value2' }\n // positionalParams look like ['value1', 'value2']\n if ((0, action_1.isNamedParams)(actionInputs)) {\n // retrieve the schema for the database\n const namespaceRequest = await this.kwil.getActions(this.namespace);\n // Check if the request was successful\n if (namespaceRequest.status !== 200) {\n throw new Error(`Failed to retrieve actions for namespace ${this.namespace}. Status: ${namespaceRequest.status}`);\n }\n // Check if namespace has actions\n if (!namespaceRequest.data || namespaceRequest.data.length === 0) {\n throw new Error(`No actions found for the namespace '${this.namespace}'. Please verify the namespace exists and contains the '${this.actionName}' action.`);\n }\n const namespaceActions = namespaceRequest.data;\n // Find the action matching the requested name\n const selectedAction = namespaceActions.find((a) => a.name === this.actionName);\n if (!selectedAction) {\n throw new Error(`Action '${this.actionName}' not found in namespace '${this.namespace}'.`);\n }\n // Validate that the action is public\n if (!selectedAction.access_modifiers.includes(enums_1.AccessModifier.PUBLIC)) {\n throw new Error(`Action '${this.actionName}' is not a public action.`);\n }\n // ensure that no action inputs or values are missing\n if (actionInputs) {\n for (const actionInput of actionInputs) {\n if (!this.validateActionInputs(selectedAction, actionInput)) {\n // Should not reach this point as error is thrown in validateActionInputs\n throw new Error(`Action inputs are invalid for action: ${selectedAction.name}.`);\n }\n }\n }\n const encodedActionInputs = [];\n for (const actionInput of actionInputs) {\n const value = (0, action_1.resolveParamTypes)(actionInput, this.types);\n encodedActionInputs.push((0, parameterEncoding_1.encodeValueType)(value));\n }\n return {\n actionName: selectedAction.name,\n modifiers: selectedAction.access_modifiers,\n encodedActionInputs,\n };\n }\n let encValue = [];\n if (actionInputs.length > 0) {\n for (const a of actionInputs) {\n const value = (0, action_1.resolveParamTypes)(a, this.types);\n encValue.push((0, parameterEncoding_1.encodeValueType)(value));\n }\n }\n return {\n actionName: this.actionName,\n modifiers: [],\n encodedActionInputs: encValue,\n };\n }\n /**\n * Validates that the action is not missing any inputs.\n *\n * @param {NamespaceAction} selectedAction - The schema of the action to be executed.\n * @param {ActionInput} actionInput - The values of the actions to be executed.\n * @returns {boolean} - True if the action inputs are valid, false otherwise.\n */\n validateActionInputs(selectedAction, actionInputEntries) {\n const actionInputKeys = Object.keys(actionInputEntries);\n // if action does not require parameters, return true\n if ((!selectedAction.parameter_names || selectedAction.parameter_names.length === 0) &&\n Object.keys(actionInputEntries).length === 0) {\n return true;\n }\n // throw runtime error if action does not have any parameters but inputs were provided\n if ((!selectedAction.parameter_names || selectedAction.parameter_names.length === 0) &&\n actionInputEntries.length !== 0) {\n throw new Error(`No parameters found for action: ${this.actionName}.`);\n }\n // throw runtime error if no actionInputs were provided but are required\n if (actionInputEntries.length == 0 && selectedAction.parameter_names.length > 0) {\n throw new Error(`No action parameters have been included. Required parameters: ${selectedAction.parameter_names.join(', ')}`);\n }\n // return true if using positional parameters\n if (Object.keys(actionInputEntries).every(key => key.startsWith('$pstn_'))) {\n return true;\n }\n // Check to see if the actionInputs match the expected selectedAction parameters\n const missingParameters = new Set();\n selectedAction.parameter_names.forEach((parameterName) => {\n if (!actionInputKeys.includes(parameterName)) {\n missingParameters.add(parameterName);\n }\n });\n if (missingParameters.size > 0) {\n throw new Error(`Missing parameters: ${Array.from(missingParameters).join(', ')} for action '${selectedAction.name}'`);\n }\n const incorrectParameters = new Set();\n actionInputKeys.forEach((actionInputKey) => {\n if (!selectedAction.parameter_names.some((parameterName) => actionInputKey === parameterName)) {\n incorrectParameters.add(actionInputKey);\n }\n });\n if (incorrectParameters.size > 0) {\n throw new Error(`Incorrect parameters: ${Array.from(incorrectParameters).join(', ')} for action '${selectedAction.name}'`);\n }\n return true;\n }\n assertNotBuilding() {\n if (this.actionInputs === TXN_BUILD_IN_PROGRESS) {\n throw new Error('Cannot modify the builder while a transaction is being built.');\n }\n }\n}\nexports.Action = Action;\n//# sourceMappingURL=action.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateDBID = void 0;\nconst bytes_1 = require(\"./bytes\");\nconst crypto_1 = require(\"./crypto\");\nconst serial_1 = require(\"./serial\");\nfunction generateDBID(owner, name) {\n if (typeof owner === \"string\") {\n owner = (0, serial_1.hexToBytes)(owner);\n }\n return \"x\" + (0, crypto_1.sha224BytesToString)((0, bytes_1.concatBytes)((0, serial_1.stringToBytes)(name.toLowerCase()), owner));\n}\nexports.generateDBID = generateDBID;\n//# sourceMappingURL=dbid.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveNamespace = exports.validateNamespace = void 0;\nconst validateNamespace = (namespace) => {\n // Validate namespace\n if (!namespace || typeof namespace !== 'string') {\n return false;\n }\n // Check for SQL injection attempts in namespace\n if (/[';{}\\\\]/.test(namespace)) {\n return false;\n }\n // validate alphanumeric and underscore\n if (!/^[a-zA-Z0-9_]+$/.test(namespace)) {\n return false;\n }\n return true;\n};\nexports.validateNamespace = validateNamespace;\nconst resolveNamespace = (actionBody) => {\n if (actionBody.namespace) {\n return actionBody.namespace;\n }\n if (actionBody.dbid) {\n console.warn('Warning: The \"dbid\" field is deprecated. Please use \"namespace\" instead.');\n return actionBody.dbid;\n }\n throw new Error('Either \"namespace\" or \"dbid\" must be provided');\n};\nexports.resolveNamespace = resolveNamespace;\n//# sourceMappingURL=namespace.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.inferKeyType = void 0;\nconst serial_1 = require(\"./serial\");\nconst enums_1 = require(\"../core/enums\");\nfunction inferKeyType(owner) {\n if (typeof owner === 'string') {\n owner = (0, serial_1.hexToBytes)(owner);\n }\n if (owner.length === 32) {\n return enums_1.AccountKeyType.ED25519;\n }\n if (owner.length === 20) {\n return enums_1.AccountKeyType.SECP256K1;\n }\n throw new Error('Cannot determine key type from owner.');\n}\nexports.inferKeyType = inferKeyType;\n//# sourceMappingURL=keys.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Kwil = void 0;\nconst client_1 = __importDefault(require(\"../api_client/client\"));\nconst enums_1 = require(\"../core/enums\");\nconst action_1 = require(\"../core/action\");\nconst intern_1 = require(\"./intern\");\nconst funder_1 = require(\"../funder/funder\");\nconst auth_1 = require(\"../auth/auth\");\nconst action_2 = require(\"../transaction/action\");\nconst parameterEncoding_1 = require(\"../utils/parameterEncoding\");\nconst dbid_1 = require(\"../utils/dbid\");\nconst payloadTx_1 = require(\"../transaction/payloadTx\");\nconst namespace_1 = require(\"../utils/namespace\");\nconst keys_1 = require(\"../utils/keys\");\nconst serial_1 = require(\"../utils/serial\");\n/**\n * The main class for interacting with the Kwil network.\n */\nclass Kwil extends client_1.default {\n constructor(opts) {\n super(opts);\n // set chainId\n this.chainId = opts.chainId;\n this.autoAuthenticate = opts.autoAuthenticate ?? true;\n // create funder\n this.funder = new funder_1.Funder(this, {\n broadcastClient: this.broadcastClient.bind(this),\n }, this.chainId);\n // create authenticate\n this.auth = new auth_1.Auth({\n getAuthenticateClient: this.getAuthenticateClient.bind(this),\n postAuthenticateClient: this.postAuthenticateClient.bind(this),\n challengeClient: this.challengeClient.bind(this),\n logoutClient: this.logoutClient.bind(this),\n }, this.config.kwilProvider, this.chainId);\n //create a wrapped symbol of estimateCost method\n (0, intern_1.wrap)(this, this.estimateCostClient.bind(this));\n }\n /**\n * Retrieves the actions in a database given its namespace.\n *\n * @param namespace - The namespace of the actions to retrieve.\n * @returns A promise that resolves to the actions in the database.\n */\n async getActions(namespace) {\n if (!(0, namespace_1.validateNamespace)(namespace)) {\n throw new Error('Please provide a valid namespace');\n }\n return await this.selectQuery('SELECT * FROM info.actions WHERE namespace = $namespace', {\n $namespace: namespace,\n });\n }\n /**\n * Retrieves an account using the owner's Ethereum wallet address.\n *\n * @param owner - The owner's identifier (e.g. Ethereum wallet address or ED25119 keys). Ethereum addresses and ED25519 public keys can be passed as a hex string (0x123...) or as bytes (Uint8Array).\n * @returns A promise that resolves to an Account object. The account object includes the account's id, balance, and nonce.\n */\n async getAccount(owner, keyType) {\n if (!keyType) {\n keyType = (0, keys_1.inferKeyType)(owner);\n }\n if (owner instanceof Uint8Array) {\n owner = (0, serial_1.bytesToHex)(owner);\n }\n return await this.getAccountClient({\n identifier: owner,\n key_type: keyType,\n });\n }\n /**\n * Executes a transaction on a Kwil network. These are mutative actions that must be mined on the Kwil network's blockchain.\n *\n * @param actionBody - The body of the action to send. This should use the `ActionBody` interface.\n * @param kwilSigner - The signer for the action transactions.\n * @param synchronous - (optional) If true, the broadcast will wait for the transaction to be mined before returning. If false, the broadcast will return the transaction hash immediately, regardless of if the transaction is successful. Defaults to false.\n * @returns A promise that resolves to the receipt of the transaction.\n */\n async execute(actionBody, kwilSigner, synchronous) {\n if (!actionBody.name) {\n throw new Error('name is required in actionBody');\n }\n // Ensure auth mode is set\n await this.ensureAuthenticationMode();\n const namespace = (0, namespace_1.resolveNamespace)(actionBody);\n // ActionInput[] has been deprecated.\n // This transforms the ActionInput[] into NamedInput[] to support legacy ActionInput[]\n let inputs = [];\n if (actionBody.inputs && action_1.transformActionInput.isActionInputArray(actionBody.inputs)) {\n inputs = action_1.transformActionInput.toNamedParams(actionBody.inputs);\n }\n else {\n inputs = actionBody.inputs || [];\n }\n // else if (actionBody.inputs && transformPositionalParam.isPositionalParams(actionBody.inputs)) {\n // // handle positional parameters\n // inputs = transformPositionalParam.toNamedParams(actionBody.inputs); \n // } else {\n // // If the inputs are not an ActionInput[] or PositionalParam[], we assume they are NamedParams[]\n // inputs = actionBody.inputs || [];\n // }\n let tx = action_2.Action.createTx(this, {\n namespace,\n actionName: actionBody.name.toLowerCase(),\n description: actionBody.description || '',\n identifier: kwilSigner.identifier,\n chainId: this.chainId,\n signer: kwilSigner.signer,\n signatureType: kwilSigner.signatureType,\n nonce: actionBody.nonce,\n actionInputs: inputs,\n types: actionBody.types,\n });\n const transaction = await tx.buildTx(this.authMode === enums_1.AuthenticationMode.PRIVATE);\n return await this.broadcastClient(transaction, synchronous ? enums_1.BroadcastSyncType.COMMIT : enums_1.BroadcastSyncType.SYNC);\n }\n async selectQuery(query, params) {\n // If params is a string, we're using the legacy method call\n if (typeof params === 'string') {\n return this.legacySelectQuery(query, params);\n }\n const encodedParams = (0, parameterEncoding_1.encodeParameters)(params || {});\n const q = {\n query,\n params: encodedParams,\n };\n return await this.selectQueryClient(q);\n }\n async legacySelectQuery(dbid, query) {\n console.warn('WARNING: selectQuery(dbid, query) is deprecated and will be removed in the next major version. Use selectQuery(query, params?) instead.');\n const q = {\n query: `{${dbid}}${query}`,\n params: {},\n };\n return await this.selectQueryClient(q);\n }\n /**\n * Executes a mutative SQL query (INSERT, UPDATE, DELETE) on a database.\n *\n * @param query - The SQL query to execute, including the database identifier in curly braces.\n * Use parameterized queries with @paramName placeholders for better security (recommended):\n * '{dbname}INSERT INTO users (name) VALUES (@name)'\n *\n * Raw queries are possible but discouraged:\n * '{dbname}INSERT INTO users (name) VALUES ('john')'\n *\n * @param params - Object containing named parameters to bind to the query. Parameters are referenced\n * using @paramName syntax in the query.\n * @param kwilSigner - Required signer for executing mutative queries\n * @param synchronous - (optional) If true, waits for transaction to be mined\n *\n * @example\n * // Insert with parameters\n * await kwil.execSql(\n * '{mydb}INSERT INTO users (name, email) VALUES ($name, $email)',\n * { $name: 'John', $email: 'john@example.com' },\n * signer\n * );\n *\n * // Update with parameters\n * await kwil.execSql(\n * '{mydb}UPDATE users SET status = $status WHERE id = $id',\n * { $status: 'active', $id: 123 },\n * signer\n * );\n *\n * // Delete with parameters\n * await kwil.execSql(\n * '{mydb}DELETE FROM users WHERE id = $id',\n * { $id: 123 },\n * signer\n * );\n *\n * @returns Promise resolving to transaction receipt\n */\n async execSql(query, params, signer, synchronous) {\n const encodedParams = (0, parameterEncoding_1.encodeRawStatementParameters)(params);\n const rawStatementPayload = {\n statement: query,\n parameters: encodedParams,\n };\n const transaction = await payloadTx_1.PayloadTx.createTx(this, {\n chainId: this.chainId,\n description: `Performing a mutative query`,\n payload: rawStatementPayload,\n payloadType: enums_1.PayloadType.RAW_STATEMENT,\n identifier: signer.identifier,\n signer: signer.signer,\n signatureType: signer.signatureType,\n }).buildTx();\n return await this.broadcastClient(transaction, synchronous ? enums_1.BroadcastSyncType.COMMIT : enums_1.BroadcastSyncType.SYNC);\n }\n /**\n * Retrieves information about a transaction given its hash.\n *\n * @param hash - The `tx_hash` of the transaction.\n * @returns A promise that resolves to the transaction info receipt.\n */\n async txInfo(hash) {\n return await this.txInfoClient(hash);\n }\n /**\n * Retrieves the chain id, block height, and latest block hash of the configured network.\n *\n * Will log a warning if the returned chain id does not match the configured chain id.\n *\n * @param {ChainInfoOpts} opts - Options for the chain info request.\n * @returns {ChainInfo} - A promise that resolves to the chain info.\n */\n async chainInfo(opts) {\n const info = await this.chainInfoClient();\n if (!opts?.disableWarning && info.data?.chain_id !== this.chainId) {\n console.warn(`WARNING: Chain ID mismatch. Expected ${info.data?.chain_id}, got ${this.chainId}`);\n }\n return info;\n }\n /**\n * Pings the server and gets a response.\n *\n * @returns A promise that resolves to a string indicating the server's response.\n */\n async ping() {\n return await this.pingClient();\n }\n // DEPRECATED APIS BELOW\n /**\n * Generates a unique database identifier (DBID) from the provided owner's identifier (e.g. wallet address, public key, etc.) and a database name.\n *\n * @param owner - The owner's identifier (e.g wallet address, public key, etc.). Ethereum addresses can be passed as a hex string (0x123...) or as bytes (Uint8Array). NEAR protocol public keys can be passed as the base58 encoded public key (with \"ed25519:\" prefix), a hex string, or bytes (Uint8Array).\n * @param name - The name of the database. This should be a unique name to identify the database.\n * @deprecated DBID's are no longer in use. This method will be removed in the next major version.\n * @returns A string that represents the unique identifier for the database.\n */\n getDBID(owner, name) {\n console.warn('WARNING: `getDBID()` is deprecated and will be removed in the next major version. Please use `kwil.selectQuery(query, params?)` instead.');\n return (0, dbid_1.generateDBID)(owner, name);\n }\n /**\n * Retrieves the schema of a database given its unique identifier (DBID).\n *\n * @param dbid - The unique identifier of the database. The DBID can be generated using the kwil.getDBID method.\n * @deprecated Use `kwil.selectQuery(query, params?)` instead. This method will be removed in the next major version.\n * @returns A promise that resolves to the schema of the database.\n */\n async getSchema(dbid) {\n console.warn('WARNING: `getSchema()` is deprecated and will be removed in the next major version. Please use `kwil.selectQuery()` instead.');\n throw new Error('The `getSchema()` method is no longer supported. Please use `kwil.selectQuery(query, params?)` instead.');\n }\n /**\n * Deploys a database to the Kwil network.\n *\n * @param deployBody - The body of the database to deploy. This should use the `DeployBody` interface.\n * @param kwilSigner - The signer for the database deployment.\n * @param synchronous - (optional) If true, the broadcast will wait for the transaction to be mined before returning. If false, the broadcast will return the transaction hash immediately, regardless of if the transaction is successful. Defaults to false.\n * @deprecated Use `kwil.execSql()` instead. This method will be removed in the next major version.\n * @returns A promise that resolves to the receipt of the transaction.\n */\n async deploy(deployBody, kwilSigner, synchronous) {\n console.warn('WARNING: `deploy()` is deprecated and will be removed in the next major version. Please use `kwil.execSql()` instead.');\n throw new Error('The `deploy()` method is no longer supported. Please use `kwil.execSql()` instead.');\n }\n /**\n * Drops a database from the Kwil network.\n *\n * @param dropBody - The body of the database to drop. This should use the `DropBody` interface.\n * @param kwilSigner - The signer for the database drop.\n * @param synchronous - (optional) If true, the broadcast will wait for the transaction to be mined before returning. If false, the broadcast will return the transaction hash immediately, regardless of if the transaction is successful. Defaults to false.\n * @deprecated Use `kwil.execSql()` instead. This method will be removed in the next major version.\n * @returns A promise that resolves to the receipt of the transaction.\n */\n async drop(dropBody, kwilSigner, synchronous) {\n console.warn('WARNING: `drop()` is deprecated and will be removed in the next major version. Please use `kwil.execSql()` instead.');\n throw new Error('The `drop()` method is no longer supported. Please use `kwil.execSql()` instead.');\n }\n /**\n * Lists all databases owned by a particular owner.\n *\n * @param owner (optional) - Lists the databases on a network. Can pass and owner identifier to see all the databases deployed by a specific account, or leave empty to see al the databases deployed on the network. The owner's public key (Ethereum or NEAR Protocol). Ethereum keys can be passed as a hex string (0x123...) or as bytes (Uint8Array).\n * @deprecated Use `kwil.selectQuery(query, params?)` instead. This method will be removed in the next major version.\n * @returns A promise that resolves to a list of database names.\n */\n async listDatabases(owner) {\n console.warn('WARNING: `listDatabases()` is deprecated and will be removed in the next major version. Please use `kwil.selectQuery(query, params?)` instead.');\n throw new Error('The `listDatabases()` method is no longer supported. Please use `kwil.selectQuery(query, params?)` instead.');\n }\n /**\n * Calls a Kwil node. This can be used to execute read-only ('view') actions on Kwil.\n *\n * @param {CallBody} callBody - The message to send. The message can be built using the buildMsg() method in the Action class.\n * @param {KwilSigner} kwilSigner (optional) - KwilSigner should be passed if the action requires authentication OR if the action uses a `@caller` contextual variable. If `@caller` is used and authentication is not required, the user will not be prompted to authenticate; however, the user's identifier will be passed as the sender.\n * @param {(...args: any) => void} cookieHandlerCallback (optional) - the callback to handle the cookie if in the NODE environment\n * @returns A promise that resolves to the receipt of the message.\n */\n async baseCall(callBody, kwilSigner, cookieHandlerCallback) {\n // Ensure auth mode is set\n await this.ensureAuthenticationMode();\n if (this.authMode === enums_1.AuthenticationMode.OPEN) {\n // if nodeJS user passes a cookie, use it for the call\n if (cookieHandlerCallback) {\n cookieHandlerCallback.setCookie();\n }\n const message = await this.buildMessage(callBody, kwilSigner);\n const response = await this.callClient(message);\n // if nodeJS user passes a cookie, reset it after the call\n if (cookieHandlerCallback) {\n cookieHandlerCallback.resetCookie();\n }\n // if the user is not authenticated, prompt the user to authenticate\n if (response.authCode === enums_1.AuthErrorCodes.KGW_MODE && this.autoAuthenticate) {\n if (!kwilSigner) {\n throw new Error('KGW authentication requires a KwilSigner');\n }\n const res = await this.auth.authenticateKGW(kwilSigner);\n // if cookie was returned with res.data, we are in nodejs and need to set the cookie\n if (res.data && 'cookie' in res.data) {\n this.cookie = res.data.cookie;\n }\n return await this.callClient(message);\n }\n return response;\n }\n if (this.authMode === enums_1.AuthenticationMode.PRIVATE) {\n const authBody = await this.handleAuthenticatePrivate(callBody, kwilSigner);\n const message = await this.buildMessage(callBody, kwilSigner, authBody.challenge, authBody.signature);\n return await this.callClient(message);\n }\n throw new Error('Unexpected authentication mode. If you hit this error, please report it to the Kwil team.');\n }\n /**\n * Check if authMode is already set, if not call healthModeCheckClient()\n * healthModeCheckClient => RPC call to retrieve health of blockchain and kwild mode (PRIVATE or OPEN (PUBLIC))\n *\n */\n async ensureAuthenticationMode() {\n if (!this.authMode) {\n const health = await this.healthModeCheckClient();\n this.authMode = health.data?.mode;\n }\n }\n /**\n * Builds a message with a chainId, namespace, name, and description of the action.\n * NOT INCLUDED => challenge, sender, signature\n *\n * @param callBody - The message to send. The message can be built using the buildMsg() method in the Action class.\n * @param kwilSigner (optional) - KwilSigner should be passed if the action requires authentication OR if the action uses a `@caller` contextual variable. If `@caller` is used and authentication is not required, the user will not be prompted to authenticate; however, the user's identifier will be passed as the sender.\n * @param challenge (optional) - To ensure a challenge is passed into the message before the signer in PRIVATE mode\n * @param signature (optional) - To ensure a signature is passed into the message before the signer in PRIVATE mode\n * @returns A message object that can be sent to the Kwil network.\n * @throws — Will throw an error if the action is being built or if there's an issue with the schema or account retrieval.\n * @throws — Will throw an error if the action is not a view action.\n */\n async buildMessage(callBody, kwilSigner, challenge, signature) {\n if (!callBody.name) {\n throw new Error('name is required in actionBody');\n }\n const namespace = (0, namespace_1.resolveNamespace)(callBody);\n // ActionInput[] is deprecated. So we are converting any ActionInput[] to an Entries[]\n let inputs = [];\n if (callBody.inputs && action_1.transformActionInput.isActionInputArray(callBody.inputs)) {\n // For a call only one entry is allowed, so we only need to convert the first ActionInput\n inputs = [action_1.transformActionInput.toSingleEntry(callBody.inputs)];\n }\n else if (callBody.inputs && (0, action_1.isNamedParam)(callBody.inputs)) {\n inputs = [callBody.inputs];\n }\n else {\n inputs = callBody.inputs ? [callBody.inputs] : [];\n }\n // pre Challenge message\n let msg = action_2.Action.createTx(this, {\n chainId: this.chainId,\n namespace,\n actionName: callBody.name,\n description: '',\n actionInputs: inputs,\n types: callBody.types,\n });\n /**\n * PUBLIC MODE\n * include the sender when the user passes a KwilSigner to kwil.call().\n * This is because the sender is required for queries that use @caller\n *\n */\n if (kwilSigner && this.authMode === enums_1.AuthenticationMode.OPEN) {\n this.addSignerToMessage(msg, kwilSigner);\n }\n /**\n * PRIVATE MODE\n * include the sender when the user passes a KwilSigner to kwil.call().\n * only AFTER a challenge and signature is attached to the message\n *\n */\n if (kwilSigner && this.authMode === enums_1.AuthenticationMode.PRIVATE) {\n if (challenge && signature) {\n // add challenge and signature to the message\n msg.challenge = challenge;\n msg.signature = signature;\n this.addSignerToMessage(msg, kwilSigner);\n }\n }\n return await msg.buildMsg(this.authMode === enums_1.AuthenticationMode.PRIVATE);\n }\n /**\n * Adds a signer to the message\n *\n * @param msgBuilder - The Action class that handles the building of the message\n * @param kwilSigner - KwilSigner should be passed if the action requires authentication OR if the action uses a `@caller` contextual variable. If `@caller` is used and authentication is not required, the user will not be prompted to authenticate; however, the user's identifier will be passed as the sender.\n * @returns the Action class responsible for building the view action message with the sender attached\n *\n */\n addSignerToMessage(msg, kwilSigner) {\n msg.signer = kwilSigner.signer;\n msg.signatureType = kwilSigner.signatureType;\n msg.identifier = kwilSigner.identifier;\n return msg;\n }\n /**\n * Checks authentication errors for PRIVATE mode\n * Signs message and then retries request for successful response\n *\n * @param {CallBodyNode} actionBody - The message to send. The message can be built using the buildMsg() method in the Action class.\n * @param {KwilSigner} kwilSigner (optional) - KwilSigner should be passed if the action requires authentication OR if the action uses a `@caller` contextual variable. If `@caller` is used and authentication is not required, the user will not be prompted to authenticate; however, the user's identifier will be passed as the sender.\n * @returns the authentication body that consists of the challenge and signature required for PRIVATE mode\n */\n async handleAuthenticatePrivate(actionBody, kwilSigner) {\n if (this.autoAuthenticate) {\n try {\n // PRIVATE MODE AUTHENTICATION\n if (this.authMode === enums_1.AuthenticationMode.PRIVATE) {\n if (!kwilSigner) {\n throw new Error('Private mode authentication requires a KwilSigner.');\n }\n return await this.auth.authenticatePrivateMode(actionBody, kwilSigner);\n }\n }\n catch (error) {\n throw new Error(`Authentication failed: ${error}`);\n }\n }\n throw new Error('Authentication process did not complete successfully');\n }\n}\nexports.Kwil = Kwil;\n//# sourceMappingURL=kwil.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NodeKwil = void 0;\nconst kwil_1 = require(\"../kwil\");\nclass NodeKwil extends kwil_1.Kwil {\n constructor(opts) {\n super(opts);\n }\n /**\n * Calls a Kwil node. This can be used to execute read-only ('view') actions on Kwil.\n * If the action requires authentication in the Kwil Gateway, the kwilSigner should be passed. If the user is not authenticated, the user will be prompted to authenticate.\n *\n * @param {CallBodyNode} actionBody - The body of the action to send. This should use the `CallBody` interface.\n * @param {KwilSigner} kwilSigner (optional) - KwilSigner should be passed if the action requires authentication OR if the action uses a `@caller` contextual variable. If `@caller` is used and authentication is not required, the user will not be prompted to authenticate; however, the user's identifier will be passed as the sender.\n * @returns An Object[] with the result of the action\n */\n async call(actionBody, kwilSigner) {\n const setCookie = () => {\n // set the temporary cookie, if the user provided one\n if (actionBody.cookie) {\n this.setTemporaryCookie(actionBody.cookie);\n }\n };\n const resetCookie = () => {\n // after the user makes the request, we need to reset the cookie to what it was before\n // when manually passing cookies, the user is expected to pass the cookie for each request\n // if a user does not pass a cookie for a subsequent request, the cookie will be reset to the original cookie\n if (this.tempCookie) {\n this.resetTempCookie(this.tempCookie);\n }\n };\n const cookieHandler = {\n setCookie,\n resetCookie,\n };\n return await this.baseCall(actionBody, kwilSigner, cookieHandler);\n }\n /**\n * set the temp cookie to reset it after the call\n *\n * @param {string} cookie - The temporary cookie\n * @returns the temporary cookie to handle for Node\n */\n setTemporaryCookie(cookie) {\n this.tempCookie = this.cookie;\n this.cookie = cookie;\n }\n /**\n * Resets the temporary cookie\n *\n * @param {string} tempCookie - the temporary cookie to be reset\n */\n resetTempCookie(tempCookie) {\n this.cookie = tempCookie;\n }\n}\nexports.NodeKwil = NodeKwil;\n//# sourceMappingURL=nodeKwil.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebKwil = void 0;\nconst kwil_1 = require(\"../kwil\");\nclass WebKwil extends kwil_1.Kwil {\n constructor(opts) {\n super(opts);\n }\n /**\n * Calls a Kwil node. This can be used to execute read-only ('view') actions on Kwil.\n * If the action requires authentication in the Kwil Gateway, the kwilSigner should be passed. If the user is not authenticated, the user will be prompted to authenticate.\n *\n * @param {CallBody} actionBody - The body of the action to send. This should use the `CallBody` interface.\n * @param {KwilSigner} kwilSigner (optional) - KwilSigner should be passed if the action requires authentication OR if the action uses a `@caller` contextual variable. If `@caller` is used and authentication is not required, the user will not be prompted to authenticate; however, the user's identifier will be passed as the sender.\n * @returns An Object[] with the result of the action or a MsgReceipt\n */\n async call(actionBody, kwilSigner) {\n return await this.baseCall(actionBody, kwilSigner);\n }\n}\nexports.WebKwil = WebKwil;\n//# sourceMappingURL=webKwil.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DataType = void 0;\nconst enums_1 = require(\"./enums\");\nvar DataType;\n(function (DataType) {\n DataType.Uuid = {\n name: enums_1.VarType.UUID,\n is_array: false,\n metadata: [0, 0]\n };\n DataType.UuidArray = {\n name: enums_1.VarType.UUID,\n is_array: true,\n metadata: [0, 0]\n };\n DataType.Text = {\n name: enums_1.VarType.TEXT,\n is_array: false,\n metadata: [0, 0]\n };\n DataType.TextArray = {\n name: enums_1.VarType.TEXT,\n is_array: true,\n metadata: [0, 0]\n };\n DataType.Int = {\n name: enums_1.VarType.INT8,\n is_array: false,\n metadata: [0, 0]\n };\n DataType.IntArray = {\n name: enums_1.VarType.INT8,\n is_array: true,\n metadata: [0, 0]\n };\n DataType.Boolean = {\n name: enums_1.VarType.BOOL,\n is_array: false,\n metadata: [0, 0]\n };\n DataType.BooleanArray = {\n name: enums_1.VarType.BOOL,\n is_array: true,\n metadata: [0, 0]\n };\n DataType.Numeric = (precision, scale) => ({\n name: enums_1.VarType.NUMERIC,\n is_array: false,\n metadata: [precision, scale],\n });\n DataType.NumericArray = (precision, scale) => ({\n name: enums_1.VarType.NUMERIC,\n is_array: true,\n metadata: [precision, scale],\n });\n DataType.Null = {\n name: enums_1.VarType.NULL,\n is_array: false,\n metadata: [0, 0]\n };\n DataType.NullArray = {\n name: enums_1.VarType.NULL,\n is_array: true,\n metadata: [0, 0]\n };\n DataType.Bytea = {\n name: enums_1.VarType.BYTEA,\n is_array: false,\n metadata: [0, 0]\n };\n DataType.ByteaArray = {\n name: enums_1.VarType.BYTEA,\n is_array: true,\n metadata: [0, 0]\n };\n})(DataType || (exports.DataType = DataType = {}));\n//# sourceMappingURL=database.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.KwilSigner = void 0;\nconst serial_1 = require(\"../utils/serial\");\nconst signature_1 = require(\"./signature\");\n/**\n * The `KwilSigner` class is a utility class for storing a signer and its associated public key. It is used to sign transactions and messages on Kwil.\n */\nclass KwilSigner {\n /**\n * Actual implementation of the KwilSigner constructor.\n *\n * @param {SignerSupplier} signer - Either an instance of EthSigner or CustomSigner.\n * @param {HexString | Uint8Array} identifier - The identifier associated with the signer (e.g. wallet address, public key, etc). Can be a hex string or bytes (Uint8Array).\n * @param {AnySignatureType} signatureType - (Optional) The type of the signature. If not provided,\n * the signature type is determined from the signer.\n */\n constructor(signer, identifier, signatureType) {\n // set signer\n this.signer = signer;\n // set identifier as bytes\n if (typeof identifier === 'string') {\n this.identifier = (0, serial_1.hexToBytes)(identifier);\n }\n else {\n this.identifier = identifier;\n }\n // set signature type, if supplied\n if (signatureType) {\n this.signatureType = signatureType;\n }\n else {\n // infer signature type from signer\n this.signatureType = (0, signature_1.getSignatureType)(signer);\n // throw error if signature type could not be determined\n if (this.signatureType === signature_1.SignatureType.SIGNATURE_TYPE_INVALID) {\n throw new Error('Could not determine signature type from signer. Please pass a signature type to the KwilSigner constructor.');\n }\n }\n }\n}\nexports.KwilSigner = KwilSigner;\n//# sourceMappingURL=kwilSigner.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Client = exports.Utils = exports.KwilSigner = exports.WebKwil = exports.NodeKwil = void 0;\nconst nodeKwil_1 = require(\"./client/node/nodeKwil\");\nObject.defineProperty(exports, \"NodeKwil\", { enumerable: true, get: function () { return nodeKwil_1.NodeKwil; } });\nconst webKwil_1 = require(\"./client/web/webKwil\");\nObject.defineProperty(exports, \"WebKwil\", { enumerable: true, get: function () { return webKwil_1.WebKwil; } });\nconst dbid_1 = require(\"./utils/dbid\");\nconst action_1 = require(\"./core/action\");\nconst database_1 = require(\"./core/database\");\nconst kwilSigner_1 = require(\"./core/kwilSigner\");\nObject.defineProperty(exports, \"KwilSigner\", { enumerable: true, get: function () { return kwilSigner_1.KwilSigner; } });\nconst client_1 = __importDefault(require(\"./api_client/client\"));\nexports.Client = client_1.default;\nvar Utils;\n(function (Utils) {\n /**\n * `ActionInput` class is a utility class for creating action inputs.\n * @deprecated This class is deprecated and will be removed in the next major release. Please use the `params` instead.\n */\n Utils.ActionInput = action_1.ActionInput;\n /**\n * Generates a unique database identifier (DBID) from the provided owner's public key and a database name.\n * @deprecated This function is deprecated and will be removed in the next major release.\n */\n Utils.generateDBID = dbid_1.generateDBID;\n /**\n * `DataType` holds the different data types that can be asserted as action inputs.\n */\n Utils.DataType = database_1.DataType;\n})(Utils || (exports.Utils = Utils = {}));\n//# sourceMappingURL=index.js.map","import { Utils } from \"@kwilteam/kwil-js\";\n\nexport const DataType: typeof Utils.DataType = Utils.DataType;\n\nexport interface ActionSchemaElem {\n name: string;\n type: typeof DataType.Uuid | typeof DataType.Text | typeof DataType.Int;\n}\n\nexport const actionSchema: Record<string, ActionSchemaElem[]> = {\n add_user_as_inserter: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"recipient_encryption_public_key\",\n type: DataType.Text,\n },\n ],\n update_user_pub_key_as_inserter: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"recipient_encryption_public_key\",\n type: DataType.Text,\n },\n ],\n get_user: [],\n get_user_as_inserter: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n upsert_wallet_as_inserter: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"user_id\",\n type: DataType.Uuid,\n },\n {\n name: \"address\",\n type: DataType.Text,\n },\n {\n name: \"public_key\",\n type: DataType.Text,\n },\n {\n name: \"wallet_type\",\n type: DataType.Text,\n },\n {\n name: \"message\",\n type: DataType.Text,\n },\n {\n name: \"signature\",\n type: DataType.Text,\n },\n ],\n add_wallet: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"address\",\n type: DataType.Text,\n },\n {\n name: \"public_key\",\n type: DataType.Text,\n },\n {\n name: \"message\",\n type: DataType.Text,\n },\n {\n name: \"signature\",\n type: DataType.Text,\n },\n ],\n get_wallets: [],\n remove_wallet: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n upsert_credential_as_inserter: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"user_id\",\n type: DataType.Uuid,\n },\n {\n name: \"issuer_auth_public_key\",\n type: DataType.Text,\n },\n {\n name: \"encryptor_public_key\",\n type: DataType.Text,\n },\n {\n name: \"content\",\n type: DataType.Text,\n },\n {\n name: \"public_notes\",\n type: DataType.Text,\n },\n {\n name: \"public_notes_signature\",\n type: DataType.Text,\n },\n {\n name: \"broader_signature\",\n type: DataType.Text,\n },\n ],\n add_credential: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"issuer_auth_public_key\",\n type: DataType.Text,\n },\n {\n name: \"encryptor_public_key\",\n type: DataType.Text,\n },\n {\n name: \"content\",\n type: DataType.Text,\n },\n {\n name: \"public_notes\",\n type: DataType.Text,\n },\n {\n name: \"public_notes_signature\",\n type: DataType.Text,\n },\n {\n name: \"broader_signature\",\n type: DataType.Text,\n },\n ],\n get_credentials: [],\n get_credentials_shared_by_user: [\n {\n name: \"user_id\",\n type: DataType.Uuid,\n },\n {\n name: \"issuer_auth_public_key\",\n type: DataType.Text,\n },\n ],\n edit_public_notes_as_issuer: [\n {\n name: \"public_notes_id\",\n type: DataType.Text,\n },\n {\n name: \"public_notes\",\n type: DataType.Text,\n },\n ],\n remove_credential: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n share_credential: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"original_credential_id\",\n type: DataType.Uuid,\n },\n {\n name: \"public_notes\",\n type: DataType.Text,\n },\n {\n name: \"public_notes_signature\",\n type: DataType.Text,\n },\n {\n name: \"broader_signature\",\n type: DataType.Text,\n },\n {\n name: \"content\",\n type: DataType.Text,\n },\n {\n name: \"content_hash\",\n type: DataType.Text,\n },\n {\n name: \"encryptor_public_key\",\n type: DataType.Text,\n },\n {\n name: \"issuer_auth_public_key\",\n type: DataType.Text,\n },\n {\n name: \"grantee_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"locked_until\",\n type: DataType.Int,\n },\n ],\n create_credential_copy: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"original_credential_id\",\n type: DataType.Uuid,\n },\n {\n name: \"public_notes\",\n type: DataType.Text,\n },\n {\n name: \"public_notes_signature\",\n type: DataType.Text,\n },\n {\n name: \"broader_signature\",\n type: DataType.Text,\n },\n {\n name: \"content\",\n type: DataType.Text,\n },\n {\n name: \"encryptor_public_key\",\n type: DataType.Text,\n },\n {\n name: \"issuer_auth_public_key\",\n type: DataType.Text,\n },\n ],\n share_credential_through_dag: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"user_id\",\n type: DataType.Uuid,\n },\n {\n name: \"issuer_auth_public_key\",\n type: DataType.Text,\n },\n {\n name: \"encryptor_public_key\",\n type: DataType.Text,\n },\n {\n name: \"content\",\n type: DataType.Text,\n },\n {\n name: \"content_hash\",\n type: DataType.Text,\n },\n {\n name: \"public_notes\",\n type: DataType.Text,\n },\n {\n name: \"public_notes_signature\",\n type: DataType.Text,\n },\n {\n name: \"broader_signature\",\n type: DataType.Text,\n },\n {\n name: \"original_credential_id\",\n type: DataType.Uuid,\n },\n {\n name: \"dag_owner_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"dag_grantee_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"dag_locked_until\",\n type: DataType.Int,\n },\n {\n name: \"dag_signature\",\n type: DataType.Text,\n },\n ],\n create_credentials_by_dwg: [\n {\n name: \"issuer_auth_public_key\",\n type: DataType.Text,\n },\n {\n name: \"original_encryptor_public_key\",\n type: DataType.Text,\n },\n {\n name: \"original_credential_id\",\n type: DataType.Uuid,\n },\n {\n name: \"original_content\",\n type: DataType.Text,\n },\n {\n name: \"original_public_notes\",\n type: DataType.Text,\n },\n {\n name: \"original_public_notes_signature\",\n type: DataType.Text,\n },\n {\n name: \"original_broader_signature\",\n type: DataType.Text,\n },\n {\n name: \"copy_encryptor_public_key\",\n type: DataType.Text,\n },\n {\n name: \"copy_credential_id\",\n type: DataType.Uuid,\n },\n {\n name: \"copy_content\",\n type: DataType.Text,\n },\n {\n name: \"copy_public_notes_signature\",\n type: DataType.Text,\n },\n {\n name: \"copy_broader_signature\",\n type: DataType.Text,\n },\n {\n name: \"content_hash\",\n type: DataType.Text,\n },\n {\n name: \"dwg_owner\",\n type: DataType.Text,\n },\n {\n name: \"dwg_grantee\",\n type: DataType.Text,\n },\n {\n name: \"dwg_issuer_public_key\",\n type: DataType.Text,\n },\n {\n name: \"dwg_id\",\n type: DataType.Uuid,\n },\n {\n name: \"dwg_access_grant_timelock\",\n type: DataType.Text,\n },\n {\n name: \"dwg_not_before\",\n type: DataType.Text,\n },\n {\n name: \"dwg_not_after\",\n type: DataType.Text,\n },\n {\n name: \"dwg_signature\",\n type: DataType.Text,\n },\n ],\n get_credential_owned: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n get_credential_shared: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n get_sibling_credential_id: [\n {\n name: \"content_hash\",\n type: DataType.Text,\n },\n ],\n add_attribute: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"attribute_key\",\n type: DataType.Text,\n },\n {\n name: \"value\",\n type: DataType.Text,\n },\n ],\n get_attributes: [],\n edit_attribute: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"attribute_key\",\n type: DataType.Text,\n },\n {\n name: \"value\",\n type: DataType.Text,\n },\n ],\n remove_attribute: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n share_attribute: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"original_attribute_id\",\n type: DataType.Uuid,\n },\n {\n name: \"attribute_key\",\n type: DataType.Text,\n },\n {\n name: \"value\",\n type: DataType.Text,\n },\n ],\n dwg_message: [\n {\n name: \"owner_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"grantee_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"issuer_public_key\",\n type: DataType.Text,\n },\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"access_grant_timelock\",\n type: DataType.Text,\n },\n {\n name: \"not_usable_before\",\n type: DataType.Text,\n },\n {\n name: \"not_usable_after\",\n type: DataType.Text,\n },\n ],\n revoke_access_grant: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n get_access_grants_owned: [],\n get_access_grants_granted: [\n {\n name: \"user_id\",\n type: DataType.Uuid,\n },\n {\n name: \"page\",\n type: DataType.Int,\n },\n {\n name: \"size\",\n type: DataType.Int,\n },\n ],\n get_access_grants_granted_count: [\n {\n name: \"user_id\",\n type: DataType.Uuid,\n },\n ],\n has_locked_access_grants: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n dag_message: [\n {\n name: \"dag_owner_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"dag_grantee_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"dag_data_id\",\n type: DataType.Uuid,\n },\n {\n name: \"dag_locked_until\",\n type: DataType.Int,\n },\n {\n name: \"dag_content_hash\",\n type: DataType.Text,\n },\n ],\n create_ag_by_dag_for_copy: [\n {\n name: \"dag_owner_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"dag_grantee_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"dag_data_id\",\n type: DataType.Uuid,\n },\n {\n name: \"dag_locked_until\",\n type: DataType.Int,\n },\n {\n name: \"dag_content_hash\",\n type: DataType.Text,\n },\n {\n name: \"dag_signature\",\n type: DataType.Text,\n },\n ],\n get_access_grants_for_credential: [\n {\n name: \"credential_id\",\n type: DataType.Uuid,\n },\n ],\n has_profile: [\n {\n name: \"address\",\n type: DataType.Text,\n },\n ],\n} as const;\n","import { type KwilSigner, NodeKwil, WebKwil } from \"@kwilteam/kwil-js\";\nimport type { Config } from \"@kwilteam/kwil-js/dist/api_client/config\";\nimport type { ActionBody, CallBody, PositionalParams } from \"@kwilteam/kwil-js/dist/core/action\";\nimport type { DataInfo } from \"@kwilteam/kwil-js/dist/core/database\";\nimport invariant from \"tiny-invariant\";\nimport type { ActionSchemaElem } from \"../kwil-actions/schema\";\nimport { actionSchema } from \"../kwil-actions/schema\";\n\ntype CreateKwilClientParams = {\n chainId?: string;\n nodeUrl: string;\n};\n\ntype KwilActions = typeof actionSchema;\ntype ActionName = keyof KwilActions;\n\ntype AllKwilCallAction = {\n [Name in ActionName]: {\n name: Name;\n // biome-ignore lint/suspicious/noExplicitAny: This is fine\n inputs: Record<KwilActions[Name][number][\"name\"], any>;\n };\n};\n\ntype KwilCallActionRequestParams = AllKwilCallAction[ActionName];\n\ntype AllKwilExecuteAction = {\n [Name in ActionName]: AllKwilCallAction[Name] & { description: string };\n};\n\ntype KwilExecuteActionRequestParams = AllKwilExecuteAction[ActionName];\n\n/**\n * A client for interacting with kwil with type-safe abstractions for `call` and `execute`.\n * Has utility methods for creating actions and setting a signer.\n */\nexport class KwilActionClient {\n signer?: KwilSigner;\n readonly client: NodeKwil | WebKwil;\n\n constructor(client: NodeKwil | WebKwil) {\n this.client = client;\n }\n\n #createActionInputs(actionName: string, params: Record<string, unknown> = {}): PositionalParams {\n if (!params || !Object.keys(params).length) return [];\n\n const args = (actionSchema as Record<string, readonly ActionSchemaElem[]>)[actionName];\n\n return args.map(({ name }) => {\n const value = params[name];\n // Handle falsy values appropriately\n if (value === \"\" || value === 0) return value;\n return value ?? null;\n }) as PositionalParams;\n }\n\n #actionTypes(actionName: string): DataInfo[] {\n const args = actionSchema[actionName];\n return args.map((arg) => arg.type);\n }\n\n /**\n * Calls an action on the kwil nodes. This similar to `GET` like request.\n */\n async call<T = unknown>(\n params: KwilCallActionRequestParams,\n signer: KwilSigner | undefined = this.signer,\n ): Promise<T> {\n const action: CallBody = {\n name: params.name,\n namespace: \"main\",\n inputs: this.#createActionInputs(params.name, params.inputs),\n types: this.#actionTypes(params.name),\n };\n\n const response = await this.client.call(action as CallBody, signer);\n return response?.data?.result as T;\n }\n\n /**\n * Executes an action on the kwil nodes. This similar to `POST` like request.\n */\n async execute(\n params: KwilExecuteActionRequestParams,\n signer: KwilSigner | undefined = this.signer,\n synchronous = true,\n ): Promise<string | undefined> {\n invariant(signer, \"Signer is not set, you must set it before executing an action\");\n const action: ActionBody = {\n name: params.name,\n namespace: \"main\",\n description: params.description,\n inputs: [this.#createActionInputs(params.name, params.inputs)],\n types: this.#actionTypes(params.name),\n };\n const response = await this.client.execute(action, signer, synchronous);\n return response.data?.tx_hash;\n }\n\n setSigner(signer: KwilSigner | undefined): void {\n this.signer = signer;\n }\n\n /**\n * Creates action inputs from the given parameters that are used in the action body.\n */\n}\n\nconst DEFAULT_TIMEOUT = 30_000;\n\nconst createKwilClient =\n (Cls: new (opts: Config) => NodeKwil | WebKwil) =>\n async ({ nodeUrl: kwilProvider, chainId }: CreateKwilClientParams): Promise<KwilActionClient> => {\n const _kwil = new Cls({ kwilProvider, chainId: \"\" });\n chainId ||= (await _kwil.chainInfo({ disableWarning: true })).data?.chain_id;\n invariant(chainId, \"Can't discover `chainId`. You must pass it explicitly.\");\n\n return new KwilActionClient(new Cls({ kwilProvider, chainId, timeout: DEFAULT_TIMEOUT }));\n };\n\n/**\n * Create a kwil client for node.js environment\n */\nexport const createNodeKwilClient: (params: CreateKwilClientParams) => Promise<KwilActionClient> =\n createKwilClient(NodeKwil);\n\n/**\n * Create a kwil client for browser environment\n */\nexport const createWebKwilClient: (params: CreateKwilClientParams) => Promise<KwilActionClient> =\n createKwilClient(WebKwil);\n","import type { KeyPair } from \"near-api-js\";\nimport {\n binaryWriteUint16BE,\n borshSerialize,\n bs58Decode,\n bytesConcat,\n hexEncode,\n sha256Hash,\n utf8Decode,\n} from \"../codecs\";\n\nexport function implicitAddressFromPublicKey(publicKey: string): string {\n const key_without_prefix = publicKey.replace(/^ed25519:/, \"\");\n const implicitAddress = hexEncode(bs58Decode(key_without_prefix));\n return implicitAddress;\n}\n\nexport function kwilNep413Signer(\n recipient: string,\n): (keyPair: KeyPair) => (messageBytes: Uint8Array) => Promise<Uint8Array> {\n return (keyPair: KeyPair) =>\n async (messageBytes: Uint8Array): Promise<Uint8Array> => {\n const message = utf8Decode(messageBytes);\n const nonceLength = 32;\n const nonce = crypto.getRandomValues(new Uint8Array(nonceLength));\n\n const nep413BorschSchema = {\n struct: {\n message: \"string\",\n nonce: { array: { type: \"u8\", len: nonceLength } },\n recipient: \"string\",\n callbackUrl: { option: \"string\" },\n },\n } as const;\n\n const tag = 2147484061; // 2**31 + 413\n\n const { signature } = keyPair.sign(\n sha256Hash(\n bytesConcat(\n borshSerialize(\"u32\", tag),\n borshSerialize(nep413BorschSchema, { message, nonce, recipient }),\n ),\n ),\n );\n\n const kwilNep413BorschSchema = {\n struct: {\n tag: \"u32\",\n ...nep413BorschSchema.struct,\n },\n };\n\n const kwilNep413BorshParams = {\n tag,\n message,\n nonce,\n recipient,\n };\n\n const kwilNep413BorshPayload = borshSerialize(kwilNep413BorschSchema, kwilNep413BorshParams);\n\n return bytesConcat(\n binaryWriteUint16BE(kwilNep413BorshPayload.length),\n kwilNep413BorshPayload,\n signature,\n );\n };\n}\n","import { KwilSigner } from \"@kwilteam/kwil-js\";\nimport type { Wallet as EthersWallet, JsonRpcSigner } from \"ethers\";\nimport type { KeyPair } from \"near-api-js\";\nimport nacl from \"tweetnacl\";\nimport { bs58Encode } from \"../codecs\";\nimport type { KwilActionClient } from \"../kwil-infra/create-kwil-client\";\nimport { implicitAddressFromPublicKey, kwilNep413Signer } from \"../kwil-nep413-signer\";\nimport type { Store } from \"../store\";\nimport type { Wallet } from \"../types\";\nimport { createNearWalletKwilSigner, looksLikeNearWallet } from \"./create-near-wallet-kwil-signer\";\n\n/**\n * Helper function to check if the given object is a `nacl.SignKeyPair`.\n */\nfunction isNaclSignKeyPair(object: unknown): object is nacl.SignKeyPair {\n return (\n object !== null &&\n typeof object === \"object\" &&\n \"publicKey\" in object &&\n object.publicKey instanceof Uint8Array &&\n object.publicKey.length === nacl.sign.publicKeyLength &&\n \"secretKey\" in object &&\n object.secretKey instanceof Uint8Array &&\n object.secretKey.length === nacl.sign.secretKeyLength\n );\n}\n\n/**\n * Helper function to check if the given object is a NEAR KeyPair.\n */\nfunction isNearKeyPair(object: unknown): object is KeyPair {\n return (\n object !== null &&\n typeof object === \"object\" &&\n \"getPublicKey\" in object &&\n \"sign\" in object &&\n typeof object.getPublicKey === \"function\" &&\n typeof object.sign === \"function\"\n );\n}\n\nexport type KwilSignerType = KeyPair | EthersWallet | nacl.SignKeyPair | JsonRpcSigner;\nexport type SignerAddress = string;\n\n/**\n * Creates a `KwilSigner` and its associated `SignerAddress`.\n *\n * This function is explicitly marked as being for backend use only because it doesn't reset\n * the KGW cookie when logging out and re-logging in with a different wallet.\n */\nexport function createServerKwilSigner(signer: KwilSignerType): [KwilSigner, SignerAddress] {\n if (isNaclSignKeyPair(signer)) {\n return [\n new KwilSigner(\n async (msg: Uint8Array) => nacl.sign.detached(msg, signer.secretKey),\n signer.publicKey,\n \"ed25519\",\n ),\n implicitAddressFromPublicKey(bs58Encode(signer.publicKey)),\n ];\n }\n\n if (isNearKeyPair(signer)) {\n const publicKey = implicitAddressFromPublicKey(signer.getPublicKey().toString());\n return [\n new KwilSigner(kwilNep413Signer(\"idos-issuer\")(signer), publicKey, \"nep413\"),\n publicKey,\n ];\n }\n\n if (\"address\" in signer) {\n return [new KwilSigner(signer, signer.address), signer.address];\n }\n\n // Force the check that `signer` is never.\n // If these lines start complaining, that means we're missing an `if` above.\n return ((_: never) => {\n throw new Error(\"Invalid `signer` type\");\n })(signer);\n}\n\nexport async function createClientKwilSigner(\n store: Store,\n kwilClient: KwilActionClient,\n wallet: Wallet,\n): Promise<[KwilSigner, SignerAddress]> {\n if (\"connect\" in wallet && \"address\" in wallet) {\n //biome-ignore lint/style/noParameterAssign: we're narrowing the type on purpose.\n wallet = wallet as unknown as JsonRpcSigner;\n const currentAddress = await wallet.getAddress();\n\n const storedAddress = store.get(\"signer-address\");\n\n if (storedAddress !== currentAddress) {\n // To avoid re-using the old signer's kgw cookie.\n // When kwil-js supports multi cookies, we can remove this.\n await kwilClient.client.auth.logoutKGW();\n\n store.set(\"signer-address\", currentAddress);\n }\n\n return [new KwilSigner(wallet, currentAddress), currentAddress];\n }\n\n if (looksLikeNearWallet(wallet)) {\n const accountId = (await wallet.getAccounts())[0].accountId;\n\n return [await createNearWalletKwilSigner(wallet, accountId, store, kwilClient), accountId];\n }\n\n // Force the check that `signer` is `never`.\n // If these lines start complaining, that means we're missing an `if` above.\n return ((_: never) => {\n throw new Error(\"Invalid `signer` type\");\n })(wallet);\n}\n","import {\n type KwilActionClient,\n base64Decode,\n base64Encode,\n encryptContent,\n hexEncode,\n hexEncodeSha256Hash,\n utf8Encode,\n} from \"@idos-network/core\";\nimport {\n type CreateCredentialByDelegatedWriteGrantParams,\n type EditCredentialAsIssuerParams,\n createCredentialByDelegatedWriteGrant,\n editCredentialAsIssuer,\n getCredentialIdByContentHash,\n getSharedCredential,\n} from \"@idos-network/core/kwil-actions\";\nimport type { idOSCredential } from \"@idos-network/core/types\";\nimport invariant from \"tiny-invariant\";\nimport nacl from \"tweetnacl\";\n\ntype InsertableIDOSCredential = Omit<idOSCredential, \"id\" | \"original_id\"> & {\n id?: idOSCredential[\"id\"];\n content_hash?: string;\n public_notes_signature: string;\n broader_signature: string;\n};\n\ntype BuildInsertableIDOSCredentialArgs = {\n userId: string;\n publicNotes: string;\n plaintextContent: Uint8Array;\n recipientEncryptionPublicKey: Uint8Array;\n};\n\nexport type BaseCredentialParams = {\n id?: string;\n userId: string;\n publicNotes: string;\n plaintextContent: Uint8Array;\n recipientEncryptionPublicKey: Uint8Array;\n};\n\nexport type DelegatedWriteGrantBaseParams = Omit<BaseCredentialParams, \"userId\">;\n\nexport type DelegatedWriteGrantParams = {\n id: string;\n ownerWalletIdentifier: string;\n consumerWalletIdentifier: string;\n issuerPublicKey: string;\n accessGrantTimelock: string;\n notUsableBefore: string;\n notUsableAfter: string;\n signature: string;\n};\n\nexport class CredentialService {\n readonly #kwilClient: KwilActionClient;\n readonly #signingKeyPair: nacl.SignKeyPair;\n readonly #encryptionSecretKey: Uint8Array;\n\n constructor(\n kwilClient: KwilActionClient,\n signingKeyPair: nacl.SignKeyPair,\n encryptionSecretKey: Uint8Array,\n ) {\n this.#kwilClient = kwilClient;\n this.#signingKeyPair = signingKeyPair;\n this.#encryptionSecretKey = encryptionSecretKey;\n }\n\n #buildInsertableIDOSCredential(args: BuildInsertableIDOSCredentialArgs): InsertableIDOSCredential;\n\n #buildInsertableIDOSCredential(\n args: Omit<BuildInsertableIDOSCredentialArgs, \"userId\">,\n ): Omit<InsertableIDOSCredential, \"user_id\">;\n\n #buildInsertableIDOSCredential({\n userId,\n publicNotes,\n plaintextContent,\n recipientEncryptionPublicKey,\n }: Omit<BuildInsertableIDOSCredentialArgs, \"userId\"> & { userId?: string }):\n | InsertableIDOSCredential\n | Omit<InsertableIDOSCredential, \"user_id\"> {\n const ephemeralKeyPair = nacl.box.keyPair();\n const content = encryptContent(\n plaintextContent,\n recipientEncryptionPublicKey,\n ephemeralKeyPair.secretKey,\n );\n\n const public_notes_signature = base64Encode(\n nacl.sign.detached(utf8Encode(publicNotes), this.#signingKeyPair.secretKey),\n );\n\n return {\n user_id: userId,\n content: base64Encode(content),\n public_notes: publicNotes,\n public_notes_signature,\n\n broader_signature: base64Encode(\n nacl.sign.detached(\n Uint8Array.from([...base64Decode(public_notes_signature), ...content]),\n this.#signingKeyPair.secretKey,\n ),\n ),\n\n issuer_auth_public_key: hexEncode(this.#signingKeyPair.publicKey, true),\n encryptor_public_key: base64Encode(ephemeralKeyPair.publicKey),\n };\n }\n\n #ensureEntityId<T extends { id?: string }>(entity: T): T & { id: string } {\n if (!entity.id) {\n (entity as T & { id: string }).id = crypto.randomUUID();\n }\n return entity as T & { id: string };\n }\n\n async createCredentialByDelegatedWriteGrant(\n credentialParams: DelegatedWriteGrantBaseParams,\n delegatedWriteGrant: DelegatedWriteGrantParams,\n consumerEncryptionPublicKey?: Uint8Array,\n ): Promise<{\n originalCredential: Omit<idOSCredential, \"user_id\">;\n copyCredential: Omit<idOSCredential, \"user_id\">;\n }> {\n let recipientPublicKey = consumerEncryptionPublicKey;\n if (!recipientPublicKey) {\n // If we're not explicitly given a consumer enc pub key, we're assuming that the issuer is creating a copy\n // for themselves. So, we derive the recipient encryption public key from the issuer's encryption secret key.\n recipientPublicKey = nacl.box.keyPair.fromSecretKey(this.#encryptionSecretKey).publicKey;\n }\n\n const originalCredential = this.#ensureEntityId(\n this.#buildInsertableIDOSCredential(credentialParams),\n );\n\n const contentHash = hexEncodeSha256Hash(credentialParams.plaintextContent);\n\n const copyCredential = this.#ensureEntityId(\n this.#buildInsertableIDOSCredential({\n publicNotes: \"\",\n plaintextContent: credentialParams.plaintextContent,\n recipientEncryptionPublicKey: recipientPublicKey,\n }),\n );\n\n const payload: CreateCredentialByDelegatedWriteGrantParams = {\n issuer_auth_public_key: originalCredential.issuer_auth_public_key,\n original_encryptor_public_key: originalCredential.encryptor_public_key,\n original_credential_id: originalCredential.id,\n original_content: originalCredential.content,\n original_public_notes: originalCredential.public_notes,\n original_public_notes_signature: originalCredential.public_notes_signature,\n original_broader_signature: originalCredential.broader_signature,\n copy_encryptor_public_key: copyCredential.encryptor_public_key,\n copy_credential_id: copyCredential.id,\n copy_content: copyCredential.content,\n copy_public_notes_signature: copyCredential.public_notes_signature,\n copy_broader_signature: copyCredential.broader_signature,\n content_hash: contentHash,\n dwg_owner: delegatedWriteGrant.ownerWalletIdentifier,\n dwg_grantee: delegatedWriteGrant.consumerWalletIdentifier,\n dwg_issuer_public_key: delegatedWriteGrant.issuerPublicKey,\n dwg_id: delegatedWriteGrant.id,\n dwg_access_grant_timelock: delegatedWriteGrant.accessGrantTimelock,\n dwg_not_before: delegatedWriteGrant.notUsableBefore,\n dwg_not_after: delegatedWriteGrant.notUsableAfter,\n dwg_signature: delegatedWriteGrant.signature,\n };\n\n await createCredentialByDelegatedWriteGrant(this.#kwilClient, payload);\n\n return { originalCredential, copyCredential };\n }\n\n async editCredentialAsIssuer(\n publicNotesId: string,\n publicNotes: string,\n ): Promise<EditCredentialAsIssuerParams | null> {\n const payload = {\n public_notes_id: publicNotesId,\n public_notes: publicNotes,\n };\n\n const result = await editCredentialAsIssuer(this.#kwilClient, payload);\n\n return result ?? null;\n }\n\n async getCredentialIdByContentHash(contentHash: string): Promise<string | null> {\n const id = await getCredentialIdByContentHash(this.#kwilClient, contentHash);\n\n invariant(id, \"Required `idOSCredential` id not found\");\n\n return id;\n }\n\n async getSharedCredential(id: string): Promise<idOSCredential | null> {\n const result = await getSharedCredential(this.#kwilClient, id);\n\n return result ?? null;\n }\n}\n","{\n \"@context\": {\n \"id\": \"@id\",\n \"type\": \"@type\",\n \"@protected\": true,\n \"proof\": {\n \"@id\": \"https://w3id.org/security#proof\",\n \"@type\": \"@id\",\n \"@container\": \"@graph\"\n },\n \"Ed25519VerificationKey2020\": {\n \"@id\": \"https://w3id.org/security#Ed25519VerificationKey2020\",\n \"@context\": {\n \"@protected\": true,\n \"id\": \"@id\",\n \"type\": \"@type\",\n \"controller\": {\n \"@id\": \"https://w3id.org/security#controller\",\n \"@type\": \"@id\"\n },\n \"revoked\": {\n \"@id\": \"https://w3id.org/security#revoked\",\n \"@type\": \"http://www.w3.org/2001/XMLSchema#dateTime\"\n },\n \"publicKeyMultibase\": {\n \"@id\": \"https://w3id.org/security#publicKeyMultibase\",\n \"@type\": \"https://w3id.org/security#multibase\"\n }\n }\n },\n \"Ed25519Signature2020\": {\n \"@id\": \"https://w3id.org/security#Ed25519Signature2020\",\n \"@context\": {\n \"@protected\": true,\n \"id\": \"@id\",\n \"type\": \"@type\",\n \"challenge\": \"https://w3id.org/security#challenge\",\n \"created\": {\n \"@id\": \"http://purl.org/dc/terms/created\",\n \"@type\": \"http://www.w3.org/2001/XMLSchema#dateTime\"\n },\n \"domain\": \"https://w3id.org/security#domain\",\n \"expires\": {\n \"@id\": \"https://w3id.org/security#expiration\",\n \"@type\": \"http://www.w3.org/2001/XMLSchema#dateTime\"\n },\n \"nonce\": \"https://w3id.org/security#nonce\",\n \"proofPurpose\": {\n \"@id\": \"https://w3id.org/security#proofPurpose\",\n \"@type\": \"@vocab\",\n \"@context\": {\n \"@protected\": true,\n \"id\": \"@id\",\n \"type\": \"@type\",\n \"assertionMethod\": {\n \"@id\": \"https://w3id.org/security#assertionMethod\",\n \"@type\": \"@id\",\n \"@container\": \"@set\"\n },\n \"authentication\": {\n \"@id\": \"https://w3id.org/security#authenticationMethod\",\n \"@type\": \"@id\",\n \"@container\": \"@set\"\n },\n \"capabilityInvocation\": {\n \"@id\": \"https://w3id.org/security#capabilityInvocationMethod\",\n \"@type\": \"@id\",\n \"@container\": \"@set\"\n },\n \"capabilityDelegation\": {\n \"@id\": \"https://w3id.org/security#capabilityDelegationMethod\",\n \"@type\": \"@id\",\n \"@container\": \"@set\"\n },\n \"keyAgreement\": {\n \"@id\": \"https://w3id.org/security#keyAgreementMethod\",\n \"@type\": \"@id\",\n \"@container\": \"@set\"\n }\n }\n },\n \"proofValue\": {\n \"@id\": \"https://w3id.org/security#proofValue\",\n \"@type\": \"https://w3id.org/security#multibase\"\n },\n \"verificationMethod\": {\n \"@id\": \"https://w3id.org/security#verificationMethod\",\n \"@type\": \"@id\"\n }\n }\n }\n }\n}\n","{\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"aux\": \"https://raw.githubusercontent.com/idos-network/idos-sdk-js/168f449a799620123bc7b01fc224423739500f94/packages/issuer-sdk-js/assets/country-codes.xml\",\n \"firstName\": \"xsd:string\",\n \"familyName\": \"xsd:string\",\n \"maidenName\": \"xsd:string\",\n \"governmentId\": \"xsd:string\",\n \"governmentIdType\": \"xsd:string\",\n \"dateOfBirth\": \"aux:date\",\n \"placeOfBirth\": \"xsd:string\",\n \"idDocumentCountry\": \"xsd:string\",\n \"idDocumentNumber\": \"xsd:string\",\n \"idDocumentType\": \"xsd:string\",\n \"idDocumentDateOfIssue\": \"aux:date\",\n \"idDocumentDateOfExpiry\": \"aux:date\",\n \"idDocumentFrontFile\": \"xsd:string\",\n \"idDocumentBackFile\": \"xsd:string\",\n \"selfieFile\": \"xsd:string\",\n \"residentialAddressStreet\": \"xsd:string\",\n \"residentialAddressHouseNumber\": \"xsd:string\",\n \"residentialAddressAdditionalAddressInfo\": \"xsd:string\",\n \"residentialAddressCity\": \"xsd:string\",\n \"residentialAddressPostalCode\": \"xsd:string\",\n \"residentialAddressCountry\": \"aux:ISO_3166-1_alpha-2\",\n \"residentialAddressProofCategory\": \"xsd:string\",\n \"residentialAddressProofDateOfIssue\": \"xsd:date\",\n \"residentialAddressProofFile\": \"xsd:string\"\n }\n}\n","{\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"approvedAt\": \"xsd:date\",\n \"level\": \"xsd:string\"\n }\n}\n","{\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n\n \"id\": \"@id\",\n \"type\": \"@type\",\n\n \"VerifiableCredential\": {\n \"@id\": \"https://www.w3.org/2018/credentials#VerifiableCredential\",\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n\n \"id\": \"@id\",\n \"type\": \"@type\",\n\n \"cred\": \"https://www.w3.org/2018/credentials#\",\n \"sec\": \"https://w3id.org/security#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n\n \"credentialSchema\": {\n \"@id\": \"cred:credentialSchema\",\n \"@type\": \"@id\",\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n\n \"id\": \"@id\",\n \"type\": \"@type\",\n\n \"cred\": \"https://www.w3.org/2018/credentials#\",\n\n \"JsonSchemaValidator2018\": \"cred:JsonSchemaValidator2018\"\n }\n },\n \"credentialStatus\": { \"@id\": \"cred:credentialStatus\", \"@type\": \"@id\" },\n \"credentialSubject\": { \"@id\": \"cred:credentialSubject\", \"@type\": \"@id\" },\n \"evidence\": { \"@id\": \"cred:evidence\", \"@type\": \"@id\" },\n \"expirationDate\": { \"@id\": \"cred:expirationDate\", \"@type\": \"xsd:dateTime\" },\n \"holder\": { \"@id\": \"cred:holder\", \"@type\": \"@id\" },\n \"issued\": { \"@id\": \"cred:issued\", \"@type\": \"xsd:dateTime\" },\n \"issuer\": { \"@id\": \"cred:issuer\", \"@type\": \"@id\" },\n \"issuanceDate\": { \"@id\": \"cred:issuanceDate\", \"@type\": \"xsd:dateTime\" },\n \"proof\": { \"@id\": \"sec:proof\", \"@type\": \"@id\", \"@container\": \"@graph\" },\n \"refreshService\": {\n \"@id\": \"cred:refreshService\",\n \"@type\": \"@id\",\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n\n \"id\": \"@id\",\n \"type\": \"@type\",\n\n \"cred\": \"https://www.w3.org/2018/credentials#\",\n\n \"ManualRefreshService2018\": \"cred:ManualRefreshService2018\"\n }\n },\n \"termsOfUse\": { \"@id\": \"cred:termsOfUse\", \"@type\": \"@id\" },\n \"validFrom\": { \"@id\": \"cred:validFrom\", \"@type\": \"xsd:dateTime\" },\n \"validUntil\": { \"@id\": \"cred:validUntil\", \"@type\": \"xsd:dateTime\" }\n }\n },\n\n \"VerifiablePresentation\": {\n \"@id\": \"https://www.w3.org/2018/credentials#VerifiablePresentation\",\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n\n \"id\": \"@id\",\n \"type\": \"@type\",\n\n \"cred\": \"https://www.w3.org/2018/credentials#\",\n \"sec\": \"https://w3id.org/security#\",\n\n \"holder\": { \"@id\": \"cred:holder\", \"@type\": \"@id\" },\n \"proof\": { \"@id\": \"sec:proof\", \"@type\": \"@id\", \"@container\": \"@graph\" },\n \"verifiableCredential\": {\n \"@id\": \"cred:verifiableCredential\",\n \"@type\": \"@id\",\n \"@container\": \"@graph\"\n }\n }\n },\n\n \"EcdsaSecp256k1Signature2019\": {\n \"@id\": \"https://w3id.org/security#EcdsaSecp256k1Signature2019\",\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n\n \"id\": \"@id\",\n \"type\": \"@type\",\n\n \"sec\": \"https://w3id.org/security#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n\n \"challenge\": \"sec:challenge\",\n \"created\": { \"@id\": \"http://purl.org/dc/terms/created\", \"@type\": \"xsd:dateTime\" },\n \"domain\": \"sec:domain\",\n \"expires\": { \"@id\": \"sec:expiration\", \"@type\": \"xsd:dateTime\" },\n \"jws\": \"sec:jws\",\n \"nonce\": \"sec:nonce\",\n \"proofPurpose\": {\n \"@id\": \"sec:proofPurpose\",\n \"@type\": \"@vocab\",\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n\n \"id\": \"@id\",\n \"type\": \"@type\",\n\n \"sec\": \"https://w3id.org/security#\",\n\n \"assertionMethod\": {\n \"@id\": \"sec:assertionMethod\",\n \"@type\": \"@id\",\n \"@container\": \"@set\"\n },\n \"authentication\": {\n \"@id\": \"sec:authenticationMethod\",\n \"@type\": \"@id\",\n \"@container\": \"@set\"\n }\n }\n },\n \"proofValue\": \"sec:proofValue\",\n \"verificationMethod\": { \"@id\": \"sec:verificationMethod\", \"@type\": \"@id\" }\n }\n },\n\n \"EcdsaSecp256r1Signature2019\": {\n \"@id\": \"https://w3id.org/security#EcdsaSecp256r1Signature2019\",\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n\n \"id\": \"@id\",\n \"type\": \"@type\",\n\n \"sec\": \"https://w3id.org/security#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n\n \"challenge\": \"sec:challenge\",\n \"created\": { \"@id\": \"http://purl.org/dc/terms/created\", \"@type\": \"xsd:dateTime\" },\n \"domain\": \"sec:domain\",\n \"expires\": { \"@id\": \"sec:expiration\", \"@type\": \"xsd:dateTime\" },\n \"jws\": \"sec:jws\",\n \"nonce\": \"sec:nonce\",\n \"proofPurpose\": {\n \"@id\": \"sec:proofPurpose\",\n \"@type\": \"@vocab\",\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n\n \"id\": \"@id\",\n \"type\": \"@type\",\n\n \"sec\": \"https://w3id.org/security#\",\n\n \"assertionMethod\": {\n \"@id\": \"sec:assertionMethod\",\n \"@type\": \"@id\",\n \"@container\": \"@set\"\n },\n \"authentication\": {\n \"@id\": \"sec:authenticationMethod\",\n \"@type\": \"@id\",\n \"@container\": \"@set\"\n }\n }\n },\n \"proofValue\": \"sec:proofValue\",\n \"verificationMethod\": { \"@id\": \"sec:verificationMethod\", \"@type\": \"@id\" }\n }\n },\n\n \"Ed25519Signature2018\": {\n \"@id\": \"https://w3id.org/security#Ed25519Signature2018\",\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n\n \"id\": \"@id\",\n \"type\": \"@type\",\n\n \"sec\": \"https://w3id.org/security#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n\n \"challenge\": \"sec:challenge\",\n \"created\": { \"@id\": \"http://purl.org/dc/terms/created\", \"@type\": \"xsd:dateTime\" },\n \"domain\": \"sec:domain\",\n \"expires\": { \"@id\": \"sec:expiration\", \"@type\": \"xsd:dateTime\" },\n \"jws\": \"sec:jws\",\n \"nonce\": \"sec:nonce\",\n \"proofPurpose\": {\n \"@id\": \"sec:proofPurpose\",\n \"@type\": \"@vocab\",\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n\n \"id\": \"@id\",\n \"type\": \"@type\",\n\n \"sec\": \"https://w3id.org/security#\",\n\n \"assertionMethod\": {\n \"@id\": \"sec:assertionMethod\",\n \"@type\": \"@id\",\n \"@container\": \"@set\"\n },\n \"authentication\": {\n \"@id\": \"sec:authenticationMethod\",\n \"@type\": \"@id\",\n \"@container\": \"@set\"\n }\n }\n },\n \"proofValue\": \"sec:proofValue\",\n \"verificationMethod\": { \"@id\": \"sec:verificationMethod\", \"@type\": \"@id\" }\n }\n },\n\n \"RsaSignature2018\": {\n \"@id\": \"https://w3id.org/security#RsaSignature2018\",\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n\n \"challenge\": \"sec:challenge\",\n \"created\": { \"@id\": \"http://purl.org/dc/terms/created\", \"@type\": \"xsd:dateTime\" },\n \"domain\": \"sec:domain\",\n \"expires\": { \"@id\": \"sec:expiration\", \"@type\": \"xsd:dateTime\" },\n \"jws\": \"sec:jws\",\n \"nonce\": \"sec:nonce\",\n \"proofPurpose\": {\n \"@id\": \"sec:proofPurpose\",\n \"@type\": \"@vocab\",\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n\n \"id\": \"@id\",\n \"type\": \"@type\",\n\n \"sec\": \"https://w3id.org/security#\",\n\n \"assertionMethod\": {\n \"@id\": \"sec:assertionMethod\",\n \"@type\": \"@id\",\n \"@container\": \"@set\"\n },\n \"authentication\": {\n \"@id\": \"sec:authenticationMethod\",\n \"@type\": \"@id\",\n \"@container\": \"@set\"\n }\n }\n },\n \"proofValue\": \"sec:proofValue\",\n \"verificationMethod\": { \"@id\": \"sec:verificationMethod\", \"@type\": \"@id\" }\n }\n },\n\n \"proof\": { \"@id\": \"https://w3id.org/security#proof\", \"@type\": \"@id\", \"@container\": \"@graph\" }\n }\n}\n","import { Ed25519Signature2020 } from \"@digitalbazaar/ed25519-signature-2020\";\nimport { Ed25519VerificationKey2020 } from \"@digitalbazaar/ed25519-verification-key-2020\";\nimport * as vc from \"@digitalbazaar/vc\";\nimport * as base85 from \"base85\";\nimport { JsonLdDocumentLoader } from \"jsonld-document-loader\";\nimport ed25519Signature2020V1 from \"../assets/ed25519-signature-2020-v1.json\";\nimport idosCredentialSubjectV1 from \"../assets/idos-credential-subject-v1.json\";\nimport idosCredentialsV1 from \"../assets/idos-credentials-v1.json\";\nimport v1 from \"../assets/v1.json\";\n\nexport interface CredentialFields {\n id: string;\n\n /* Level of KYC verification performed (e.g., basic, intermediate, advanced). */\n level: string;\n\n /* @default Date.now() */\n issued?: Date;\n\n /* Date the credential was approved. */\n approvedAt?: Date;\n\n /* Date the credential was revoked. */\n expirationDate?: Date;\n}\n\nexport interface CredentialResidentialAddress {\n /* Street address. */\n street: string;\n\n /* House number. */\n houseNumber?: string;\n\n /* Additional address information (e.g., apartment number). */\n additionalAddressInfo?: string;\n\n /* Locality (e.g., city, town). */\n city: string;\n\n /* Postal code. */\n postalCode: string;\n\n /* Country. */\n country: string;\n}\n\nexport interface CredentialSubject {\n /* ID(unique credential)\tUnique identifier for the credential itself. */\n id: string;\n\n /* Given name of the individual. */\n firstName: string;\n\n /* Surname of the individual. */\n familyName: string;\n\n /* Family name at birth (e.g., maiden name). */\n maidenName?: string;\n\n /* Unique identifier issued by a government authority (e.g., SSN, Tax ID). */\n governmentId?: string;\n\n /* Type of government identifier (e.g., Social Security Number, Tax ID, etc.). */\n governmentIdType?: string;\n\n /* Date of birth of the individual. */\n dateOfBirth: Date;\n\n /* City and state/province of birth. */\n placeOfBirth: string;\n\n /* Country that issued the identity document. */\n idDocumentCountry: string;\n\n /* ID Document Number\tUnique number on the identity document. */\n idDocumentNumber: string;\n\n /* ID Document Type\tType of identity document(e.g., Passport, Driver's License, National ID). */\n idDocumentType: string;\n\n /* ID Document Date of Issue\tDate the identity document was issued. */\n idDocumentDateOfIssue: Date;\n\n /* ID Document Date of Expiry\tExpiration date of the identity document - if applicable. */\n idDocumentDateOfExpiry?: Date;\n\n /* ID Document Front File\tFile or URL representing the front of the identity document. */\n idDocumentFrontFile: Buffer;\n\n /* ID Document Back File\tFile or URL representing the back of the identity document - if applicable. */\n idDocumentBackFile?: Buffer;\n\n /* (ID Document) Selfie File\tFile or URL of a selfie with the identity document for verification purposes. */\n selfieFile: Buffer;\n\n /* Residential Address\tFull residential address of the individual - if applicable. */\n residentialAddress?: CredentialResidentialAddress;\n\n /* Residential Address Proof Category\tType of document provided to verify the address(e.g., utility bill, bank statement). */\n residentialAddressProofCategory?: string;\n\n /* Residential Address Proof Date Of Issue\tDate the address proof document was issued. */\n residentialAddressProofDateOfIssue?: Date;\n\n /* Residential Address Proof File\tFile or URL of the document provided as address proof. */\n residentialAddressProofFile?: Buffer;\n}\n\nexport interface CredentialsIssuerConfig {\n /* Issuers id */\n id: string;\n\n /* Issuer of the credential (URL). */\n controller: string;\n\n /* Issuer's private key in multibase format. */\n privateKeyMultibase: string;\n\n /* Issuer's public key in multibase format. */\n publicKeyMultibase: string;\n}\n\nconst CONTEXT_V1 = \"https://www.w3.org/2018/credentials/v1\";\nconst CONTEXT_IDOS_CREDENTIALS_V1 =\n \"https://raw.githubusercontent.com/idos-network/idos-sdk-js/1bc3503f5302a7e42777076445d5b05fec8db429/packages/issuer-sdk-js/assets/idos-credentials-v1.json\";\nconst CONTEXT_IDOS_CREDENTIALS_V1_SUBJECT =\n \"https://raw.githubusercontent.com/idos-network/idos-sdk-js/1bc3503f5302a7e42777076445d5b05fec8db429/packages/issuer-sdk-js/assets/idos-credential-subject-v1.json\";\nconst CONTEXT_ED25519_SIGNATURE_2020_V1 = \"https://w3id.org/security/suites/ed25519-2020/v1\";\n\nexport class CredentialsBuilderService {\n private fileToBase85(file: Buffer) {\n return base85.encode(file, \"ascii85\");\n }\n\n private capitalizeFirstLetter(str: string) {\n return str[0].toUpperCase() + str.slice(1);\n }\n\n private convertValues<\n K extends CredentialFields | CredentialSubject | CredentialResidentialAddress,\n >(fields: K, prefix?: string): Record<string, unknown> {\n const acc: Record<string, unknown> = {};\n\n for (const key in fields) {\n if (Object.hasOwn(fields, key)) {\n const value = fields[key];\n const name = prefix ? `${prefix}${this.capitalizeFirstLetter(key)}` : key;\n if (value instanceof Date) {\n acc[name] = value.toISOString();\n } else if (value instanceof Buffer) {\n // Convert file to base85\n acc[name] = this.fileToBase85(value);\n } else {\n acc[name] = value;\n }\n }\n }\n\n return acc;\n }\n\n // biome-ignore lint/suspicious/noExplicitAny: Using `any` to avoid type errors.\n buildDocumentLoader(): any {\n const loader = new JsonLdDocumentLoader();\n loader.addStatic(CONTEXT_V1, v1);\n loader.addStatic(CONTEXT_IDOS_CREDENTIALS_V1, idosCredentialsV1);\n loader.addStatic(CONTEXT_IDOS_CREDENTIALS_V1_SUBJECT, idosCredentialSubjectV1);\n loader.addStatic(CONTEXT_ED25519_SIGNATURE_2020_V1, ed25519Signature2020V1);\n\n return loader.build();\n }\n\n async buildCredentials(\n fields: CredentialFields,\n subject: CredentialSubject,\n issuer: CredentialsIssuerConfig,\n // biome-ignore lint/suspicious/noExplicitAny: Using `any` to avoid type errors.\n ): Promise<any> {\n const { residentialAddress, ...subjectData } = subject;\n\n // Create credentials container\n const credential = {\n \"@context\": [CONTEXT_V1, CONTEXT_IDOS_CREDENTIALS_V1, CONTEXT_ED25519_SIGNATURE_2020_V1],\n type: [\"VerifiableCredential\"],\n issuer: issuer.controller,\n ...this.convertValues(fields),\n credentialSubject: {\n \"@context\": CONTEXT_IDOS_CREDENTIALS_V1_SUBJECT,\n ...this.convertValues(subjectData),\n ...(residentialAddress ? this.convertValues(residentialAddress, \"residentialAddress\") : {}),\n },\n };\n\n const key = await Ed25519VerificationKey2020.from({\n ...issuer,\n type: \"Ed25519VerificationKey2020\",\n });\n const suite = new Ed25519Signature2020({ key });\n const documentLoader = this.buildDocumentLoader();\n\n return vc.issue({ credential, suite, documentLoader });\n }\n}\n","import {\n type KwilActionClient,\n NoncedBox,\n base64Encode,\n hexEncodeSha256Hash,\n type idOSCredential,\n utf8Encode,\n} from \"@idos-network/core\";\nimport { createAccessGrantByDag as _createAccessGrantByDag } from \"@idos-network/core/kwil-actions\";\nimport invariant from \"tiny-invariant\";\n\nexport type CreateAccessGrantFromDAGParams = {\n dag_data_id: string;\n dag_owner_wallet_identifier: string;\n dag_grantee_wallet_identifier: string;\n dag_signature: string;\n dag_locked_until: number;\n dag_content_hash: string;\n};\n\nexport class GrantService {\n readonly #kwilClient: KwilActionClient;\n readonly #encryptionSecretKey: Uint8Array;\n\n constructor(kwilClient: KwilActionClient, encryptionSecretKey: Uint8Array) {\n this.#kwilClient = kwilClient;\n this.#encryptionSecretKey = encryptionSecretKey;\n }\n\n async createAccessGrantFromDAG(\n params: CreateAccessGrantFromDAGParams,\n getCredentialIdByContentHash: (contentHash: string) => Promise<string | null>,\n getSharedCredential: (id: string) => Promise<idOSCredential | null>,\n ): Promise<CreateAccessGrantFromDAGParams | null> {\n const credentialId = await getCredentialIdByContentHash(params.dag_content_hash);\n\n invariant(credentialId, \"Missing `idOSCredential` id\");\n\n const credential = await getSharedCredential(credentialId);\n\n invariant(credential, \"`idOSCredential` with id `{credentialId}` not found\");\n\n const plaintextContent = await NoncedBox.nonceFromBase64SecretKey(\n base64Encode(this.#encryptionSecretKey),\n ).decrypt(credential.content, credential.encryptor_public_key);\n\n // Get the content hash from the plaintext content\n const contentHash = hexEncodeSha256Hash(utf8Encode(plaintextContent));\n\n // Check if the content hash matches the content hash in the credential\n if (contentHash !== params.dag_content_hash) {\n throw new Error(\"Hash mismatch between `DAG` and `idOSCredential` content\");\n }\n\n const result = await _createAccessGrantByDag(this.#kwilClient, params);\n\n return result ?? null;\n }\n}\n","import type { KwilActionClient } from \"@idos-network/core\";\nimport {\n createUser as _createUser,\n hasProfile as _hasProfile,\n upsertWalletAsInserter as _upsertWalletAsInserter,\n} from \"@idos-network/core/kwil-actions\";\nimport type { idOSUser, idOSWallet } from \"@idos-network/core/types\";\n\nexport type CreateProfileReqParams = Omit<idOSUser, \"id\"> & {\n id?: string;\n};\n\nexport type UpsertWalletReqParams = Omit<idOSWallet, \"id\"> & {\n id?: string;\n};\n\nexport type CreateWalletReqParams = Omit<UpsertWalletReqParams, \"user_id\"> & {\n id?: string;\n};\n\nexport class UserService {\n readonly #kwilClient: KwilActionClient;\n\n constructor(kwilClient: KwilActionClient) {\n this.#kwilClient = kwilClient;\n }\n\n #ensureEntityId<T extends { id?: string }>(entity: T): T & { id: string } {\n if (!entity.id) {\n (entity as T & { id: string }).id = crypto.randomUUID();\n }\n return entity as T & { id: string };\n }\n\n async hasProfile(userAddress: string): Promise<boolean> {\n return _hasProfile(this.#kwilClient, userAddress);\n }\n\n async createUserProfile(params: CreateProfileReqParams): Promise<idOSUser> {\n const payload = this.#ensureEntityId(params);\n await _createUser(this.#kwilClient, payload);\n return payload;\n }\n\n async upsertWalletAsInserter(params: UpsertWalletReqParams): Promise<idOSWallet> {\n const payload = this.#ensureEntityId(params);\n await _upsertWalletAsInserter(this.#kwilClient, payload);\n return payload;\n }\n\n async createUser(\n user: CreateProfileReqParams,\n wallet: CreateWalletReqParams,\n ): Promise<[idOSUser, idOSWallet]> {\n const user_id = user.id ?? crypto.randomUUID();\n const wallet_id = wallet.id ?? crypto.randomUUID();\n\n const userReqParams = {\n ...user,\n id: user_id,\n };\n\n const userResponse = await this.createUserProfile(userReqParams);\n\n const walletReqParams = {\n ...wallet,\n user_id,\n id: wallet_id,\n };\n\n const walletResponse = await this.upsertWalletAsInserter(walletReqParams);\n\n return [userResponse, walletResponse];\n }\n}\n","import {\n type EditCredentialAsIssuerParams,\n createNodeKwilClient,\n createServerKwilSigner,\n} from \"@idos-network/core\";\nimport type {\n idOSCredential,\n idOSGrant,\n idOSUser,\n idOSUserAttribute,\n idOSWallet,\n} from \"@idos-network/core/types\";\nimport type { SignKeyPair } from \"tweetnacl\";\nimport {\n CredentialService,\n type DelegatedWriteGrantBaseParams,\n type DelegatedWriteGrantParams,\n} from \"./services/credential.service\";\nimport {\n type CredentialFields,\n type CredentialSubject,\n CredentialsBuilderService,\n type CredentialsIssuerConfig,\n} from \"./services/credentials-builder.service\";\nimport { type CreateAccessGrantFromDAGParams, GrantService } from \"./services/grant.service\";\nimport {\n type CreateProfileReqParams,\n type CreateWalletReqParams,\n type UpsertWalletReqParams,\n UserService,\n} from \"./services/user.service\";\n\ntype CreateIssuerParams = {\n chainId?: string;\n nodeUrl: string;\n signingKeyPair: SignKeyPair;\n encryptionSecretKey: Uint8Array;\n};\n\nexport class idOSIssuer {\n readonly #credentialService: CredentialService;\n readonly #grantService: GrantService;\n readonly #userService: UserService;\n readonly #credentialsBuilderService: CredentialsBuilderService;\n\n static async init(params: CreateIssuerParams): Promise<idOSIssuer> {\n const kwilClient = await createNodeKwilClient({\n nodeUrl: params.nodeUrl,\n chainId: params.chainId,\n });\n\n const [signer] = createServerKwilSigner(params.signingKeyPair);\n kwilClient.setSigner(signer);\n\n const credentialService = new CredentialService(\n kwilClient,\n params.signingKeyPair,\n params.encryptionSecretKey,\n );\n\n const grantService = new GrantService(kwilClient, params.encryptionSecretKey);\n const userService = new UserService(kwilClient);\n const credentialsBuilderService = new CredentialsBuilderService();\n\n return new idOSIssuer(credentialService, grantService, userService, credentialsBuilderService);\n }\n\n private constructor(\n credentialService: CredentialService,\n grantService: GrantService,\n userService: UserService,\n credentialsBuilderService: CredentialsBuilderService,\n ) {\n this.#credentialService = credentialService;\n this.#grantService = grantService;\n this.#userService = userService;\n this.#credentialsBuilderService = credentialsBuilderService;\n }\n\n // User Service facade methods\n async hasProfile(userAddress: string): Promise<boolean> {\n return this.#userService.hasProfile(userAddress);\n }\n\n async createUserProfile(params: CreateProfileReqParams): Promise<idOSUser> {\n return this.#userService.createUserProfile(params);\n }\n\n async upsertWalletAsInserter(params: UpsertWalletReqParams): Promise<idOSWallet> {\n return this.#userService.upsertWalletAsInserter(params);\n }\n\n async createUser(\n user: CreateProfileReqParams,\n wallet: CreateWalletReqParams,\n ): Promise<[idOSUser, idOSWallet]> {\n return this.#userService.createUser(user, wallet);\n }\n\n async createCredentialByDelegatedWriteGrant(\n credentialParams: DelegatedWriteGrantBaseParams,\n delegatedWriteGrant: DelegatedWriteGrantParams,\n consumerEncryptionPublicKey?: Uint8Array,\n ): Promise<{\n originalCredential: Omit<idOSCredential, \"user_id\">;\n copyCredential: Omit<idOSCredential, \"user_id\">;\n }> {\n return this.#credentialService.createCredentialByDelegatedWriteGrant(\n credentialParams,\n delegatedWriteGrant,\n consumerEncryptionPublicKey,\n );\n }\n\n async editCredentialAsIssuer(\n publicNotesId: string,\n publicNotes: string,\n ): Promise<EditCredentialAsIssuerParams | null> {\n return this.#credentialService.editCredentialAsIssuer(publicNotesId, publicNotes);\n }\n\n async getCredentialIdByContentHash(contentHash: string): Promise<string | null> {\n return this.#credentialService.getCredentialIdByContentHash(contentHash);\n }\n\n async getSharedCredential(id: string): Promise<idOSCredential | null> {\n return this.#credentialService.getSharedCredential(id);\n }\n\n async createAccessGrantFromDAG(\n params: CreateAccessGrantFromDAGParams,\n ): Promise<CreateAccessGrantFromDAGParams | null> {\n return this.#grantService.createAccessGrantFromDAG(\n params,\n (contentHash: string) => this.getCredentialIdByContentHash(contentHash),\n (id: string) => this.getSharedCredential(id),\n );\n }\n\n async buildCredentials(\n fields: CredentialFields,\n subject: CredentialSubject,\n issuer: CredentialsIssuerConfig,\n // biome-ignore lint/suspicious/noExplicitAny: Using `any` to avoid type errors.\n ): Promise<any> {\n return this.#credentialsBuilderService.buildCredentials(fields, subject, issuer);\n }\n\n // biome-ignore lint/suspicious/noExplicitAny: Using `any` to avoid type errors.\n buildDocumentLoader(): any {\n return this.#credentialsBuilderService.buildDocumentLoader();\n }\n}\n\nexport type { idOSCredential, idOSGrant, idOSUser, idOSUserAttribute, idOSWallet };\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173],"mappings":"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rB,UAAU;GACV,gBAAgB;GAChB,cAAc,CAAC,KAAM;EACtB;EACD,mBAAmB;GACjB,UAAU;GACV,gBAAgB;GAChB,cAAc,CAAC,KAAM;EACtB;EACD,oBAAoB,EAClB,UAAU,OACX;EACD,oBAAoB,EAClB,UAAU,OACX;EACD,kCAAkC,EAChC,UAAU,OACX;EACD,kBAAkB,EAChB,UAAU,OACX;EACD,cAAc;GACZ,UAAU;GACV,gBAAgB;GAChB,cAAc,CAAC,MAAO;EACvB;EACD,eAAe,EACb,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,eAAe;GACb,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,aAAa;GACX,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,gBAAgB,EACd,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,iCAAiC,EAC/B,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,gBAAgB,EACd,UAAU,OACX;EACD,eAAe;GACb,UAAU;GACV,gBAAgB;GAChB,cAAc,CAAC,MAAK,KAAM;EAC3B;EACD,cAAc,EACZ,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,mBAAmB,EACjB,UAAU,OACX;EACD,YAAY,EACV,UAAU,OACX;EACD,eAAe,EACb,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,sBAAsB,EACpB,UAAU,OACX;EACD,sBAAsB,EACpB,UAAU,OACX;EACD,sBAAsB,EACpB,UAAU,OACX;EACD,sBAAsB,EACpB,UAAU,OACX;EACD,YAAY,EACV,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,kBAAkB,EAChB,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,kBAAkB,EAChB,UAAU,OACX;EACD,eAAe,EACb,UAAU,OACX;EACD,eAAe,EACb,UAAU,OACX;EACD,eAAe,EACb,UAAU,OACX;EACD,gBAAgB,EACd,UAAU,OACX;EACD,gBAAgB,EACd,UAAU,OACX;EACD,gBAAgB,EACd,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,gBAAgB,EACd,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,gBAAgB,EACd,UAAU,OACX;EACD,gBAAgB,EACd,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,eAAe,EACb,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,eAAe,EACb,UAAU,OACX;EACD,eAAe,EACb,UAAU,OACX;EACD,eAAe,EACb,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,mBAAmB,EACjB,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,oBAAoB,EAClB,UAAU,OACX;EACD,cAAc,EACZ,UAAU,SACX;EACD,aAAa,EACX,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,aAAa;GACX,UAAU;GACV,gBAAgB;EACjB;EACD,YAAY,EACV,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,kBAAkB,EAChB,UAAU,OACX;EACD,kBAAkB,EAChB,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,cAAc;GACZ,UAAU;GACV,cAAc;IAAC;IAAM;IAAO;IAAM;GAAM;EACzC;EACD,oBAAoB;GAClB,UAAU;GACV,cAAc,CAAC,MAAO;EACvB;EACD,aAAa;GACX,gBAAgB;GAChB,cAAc,CAAC,KAAM;EACtB;EACD,aAAa;GACX,UAAU;GACV,gBAAgB;GAChB,cAAc,CAAC,OAAM,MAAO;EAC7B;EACD,mBAAmB,EACjB,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,oBAAoB,EAClB,UAAU,OACX;EACD,cAAc;GACZ,UAAU;GACV,gBAAgB;GAChB,cAAc;IAAC;IAAO;IAAM;IAAO;IAAM;IAAM;GAAM;EACtD;EACD,uBAAuB,EACrB,UAAU,OACX;EACD,kBAAkB,EAChB,UAAU,SACX;EACD,aAAa;GACX,UAAU;GACV,gBAAgB;GAChB,cAAc;IAAC;IAAM;IAAM;IAAM;GAAO;EACzC;EACD,cAAc,EACZ,UAAU,OACX;EACD,mBAAmB,EACjB,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,eAAe,EACb,UAAU,OACX;EACD,mBAAmB,EACjB,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,0BAA0B,EACxB,UAAU,OACX;EACD,kBAAkB,EAChB,UAAU,OACX;EACD,qBAAqB,EACnB,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,aAAa;GACX,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,cAAc,EACZ,UAAU,OACX;EACD,cAAc;GACZ,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,aAAa,EACX,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,eAAe,EACb,UAAU,OACX;EACD,eAAe,EACb,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,yBAAyB,EACvB,UAAU,OACX;EACD,qBAAqB,EACnB,UAAU,OACX;EACD,wBAAwB,EACtB,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,gBAAgB,EACd,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,gBAAgB,EACd,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,gBAAgB,EACd,UAAU,OACX;EACD,uBAAuB,EACrB,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,sBAAsB,EACpB,UAAU,OACX;EACD,kBAAkB,EAChB,UAAU,OACX;EACD,uBAAuB,EACrB,UAAU,OACX;EACD,gCAAgC,EAC9B,UAAU,OACX;EACD,sBAAsB,EACpB,UAAU,OACX;EACD,sBAAsB,EACpB,UAAU,OACX;EACD,wBAAwB;GACtB,UAAU;GACV,cAAc,CAAC,OAAM,MAAO;EAC7B;EACD,2BAA2B;GACzB,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,uBAAuB,EACrB,UAAU,OACX;EACD,2BAA2B,EACzB,UAAU,OACX;EACD,2BAA2B,EACzB,UAAU,OACX;EACD,uBAAuB,EACrB,UAAU,OACX;EACD,uBAAuB,EACrB,UAAU,OACX;EACD,uBAAuB,EACrB,UAAU,OACX;EACD,wBAAwB,EACtB,UAAU,OACX;EACD,wBAAwB,EACtB,UAAU,OACX;EACD,2BAA2B,EACzB,UAAU,OACX;EACD,iBAAiB;GACf,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,iBAAiB;GACf,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,oBAAoB;GAClB,UAAU;GACV,cAAc,CAAC,OAAQ;EACxB;EACD,qBAAqB,EACnB,UAAU,OACX;EACD,sBAAsB,EACpB,UAAU,OACX;EACD,wBAAwB,EACtB,UAAU,OACX;EACD,uBAAuB,EACrB,UAAU,OACX;EACD,0BAA0B;GACxB,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,oCAAoC;GAClC,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,8BAA8B,EAC5B,UAAU,OACX;EACD,wBAAwB,EACtB,UAAU,OACX;EACD,6BAA6B;GAC3B,UAAU;GACV,cAAc,CAAC,WAAY;EAC5B;EACD,6BA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Y,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAW,IAAI,EAAE,EAAE,KAAI;GAAW,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAW,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAW,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAW,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAW,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAW,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAW,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAAY,IAAI,EAAE,EAAE,KAAI;GAA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GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;CACF;CACD,aAAa,CAAE;CACf,eAAe,CACb;EACE,MAAM;EACN,MAAM,SAAS;CAChB,CACF;CACD,+BAA+B;EAC7B;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;CACF;CACD,gBAAgB;EACd;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;CACF;CACD,iBAAiB,CAAE;CACnB,gCAAgC,CAC9B;EACE,MAAM;EACN,MAAM,SAAS;CAChB,GACD;EACE,MAAM;EACN,MAAM,SAAS;CAChB,CACF;CACD,6BAA6B,CAC3B;EACE,MAAM;EACN,MAAM,SAAS;CAChB,GACD;EACE,MAAM;EACN,MAAM,SAAS;CAChB,CACF;CACD,mBAAmB,CACjB;EACE,MAAM;EACN,MAAM,SAAS;CAChB,CACF;CACD,kBAAkB;EAChB;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;CACF;CACD,wBAAwB;EACtB;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;CACF;CACD,8BAA8B;EAC5B;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;CACF;CACD,2BAA2B;EACzB;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;CACF;CACD,sBAAsB,CACpB;EACE,MAAM;EACN,MAAM,SAAS;CAChB,CACF;CACD,uBAAuB,CACrB;EACE,MAAM;EACN,MAAM,SAAS;CAChB,CACF;CACD,2BAA2B,CACzB;EACE,MAAM;EACN,MAAM,SAAS;CAChB,CACF;CACD,eAAe;EACb;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;CACF;CACD,gBAAgB,CAAE;CAClB,gBAAgB;EACd;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;CACF;CACD,kBAAkB,CAChB;EACE,MAAM;EACN,MAAM,SAAS;CAChB,CACF;CACD,iBAAiB;EACf;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;CACF;CACD,aAAa;EACX;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;CACF;CACD,qBAAqB,CACnB;EACE,MAAM;EACN,MAAM,SAAS;CAChB,CACF;CACD,yBAAyB,CAAE;CAC3B,2BAA2B;EACzB;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;CACF;CACD,iCAAiC,CAC/B;EACE,MAAM;EACN,MAAM,SAAS;CAChB,CACF;CACD,0BAA0B,CACxB;EACE,MAAM;EACN,MAAM,SAAS;CAChB,CACF;CACD,aAAa;EACX;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;CACF;CACD,2BAA2B;EACzB;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;CACF;CACD,kCAAkC,CAChC;EACE,MAAM;EACN,MAAM,SAAS;CAChB,CACF;CACD,aAAa,CACX;EACE,MAAM;EACN,MAAM,SAAS;CAChB,CACF;AACF;;;;;;;;;ACzjBD,IAAa,mBAAb,MA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"}
|