@cartanova/qgrid-cli 2.4.2 → 2.4.4
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/bundle/dist/application/qgrid/qgrid.frame.js +13 -17
- package/bundle/dist/application/qgrid/token-subscriber.js +23 -9
- package/bundle/dist/application/qgrid/token-trigger-setup.js +4 -4
- package/bundle/dist/application/qgrid/tool-emulation.js +1 -1
- package/bundle/dist/application/sonamu.generated.js +5 -3
- package/bundle/dist/application/sonamu.generated.sso.js +3 -2
- package/bundle/dist/application/token/token.model.js +8 -3
- package/bundle/dist/application/token/token.types.js +8 -3
- package/bundle/dist/i18n/sd.generated.js +2 -1
- package/bundle/dist/index.js +3 -6
- package/bundle/dist/migrations/20260521134025_alter_request_log_steps_alter1.js +3 -9
- package/bundle/dist/migrations/20260706120000_alter_request_logs_add_image_cost.js +1 -1
- package/bundle/dist/migrations/20260710090000_alter_tokens_add_weight.js +41 -0
- package/bundle/dist/server-bootstrap.js +17 -0
- package/bundle/dist/sonamu.config.js +2 -10
- package/bundle/dist/startup-migrations.js +21 -0
- package/bundle/dist/testing/global.js +93 -5
- package/bundle/dist/testing/test-database-name.js +22 -0
- package/bundle/dist/utils/providers/anthropic/anthropic-dispatcher.js +24 -27
- package/bundle/dist/utils/providers/common/model-cost.js +22 -1
- package/bundle/dist/utils/providers/common/smooth-weighted-round-robin.js +43 -0
- package/bundle/dist/utils/providers/openai/codex-worker.js +19 -2
- package/bundle/dist/utils/providers/openai/openai-dispatcher.js +53 -40
- package/bundle/src/application/qgrid/qgrid.frame.test.ts +36 -14
- package/bundle/src/application/qgrid/qgrid.frame.ts +22 -25
- package/bundle/src/application/qgrid/token-subscriber.test.ts +102 -0
- package/bundle/src/application/qgrid/token-subscriber.ts +37 -6
- package/bundle/src/application/qgrid/token-trigger-setup.test.ts +9 -0
- package/bundle/src/application/qgrid/token-trigger-setup.ts +2 -2
- package/bundle/src/application/qgrid/token-weight-migration.test.ts +42 -0
- package/bundle/src/application/qgrid/tool-emulation.ts +6 -1
- package/bundle/src/application/sonamu.generated.http +4 -2
- package/bundle/src/application/sonamu.generated.sso.ts +1 -0
- package/bundle/src/application/sonamu.generated.ts +10 -1
- package/bundle/src/application/token/token.entity.json +17 -1
- package/bundle/src/application/token/token.model.test.ts +43 -0
- package/bundle/src/application/token/token.model.ts +18 -2
- package/bundle/src/application/token/token.types.test.ts +11 -0
- package/bundle/src/application/token/token.types.ts +3 -0
- package/bundle/src/i18n/sd.generated.ts +1 -0
- package/bundle/src/index.ts +2 -5
- package/bundle/src/migrations/20260521134025_alter_request_log_steps_alter1.ts +4 -8
- package/bundle/src/migrations/20260706120000_alter_request_logs_add_image_cost.ts +1 -1
- package/bundle/src/migrations/20260710090000_alter_tokens_add_weight.ts +38 -0
- package/bundle/src/server-bootstrap.test.ts +39 -0
- package/bundle/src/server-bootstrap.ts +21 -0
- package/bundle/src/sonamu.config.ts +3 -12
- package/bundle/src/startup-migrations.test.ts +25 -0
- package/bundle/src/startup-migrations.ts +20 -0
- package/bundle/src/testing/global.test.ts +130 -0
- package/bundle/src/testing/global.ts +143 -13
- package/bundle/src/testing/test-database-name.test.ts +38 -0
- package/bundle/src/testing/test-database-name.ts +21 -0
- package/bundle/src/utils/providers/anthropic/anthropic-dispatcher.test.ts +75 -45
- package/bundle/src/utils/providers/anthropic/anthropic-dispatcher.ts +23 -29
- package/bundle/src/utils/providers/common/model-cost.test.ts +54 -0
- package/bundle/src/utils/providers/common/model-cost.ts +31 -0
- package/bundle/src/utils/providers/common/provider-dispatcher.ts +1 -1
- package/bundle/src/utils/providers/common/smooth-weighted-round-robin.test.ts +73 -0
- package/bundle/src/utils/providers/common/smooth-weighted-round-robin.ts +48 -0
- package/bundle/src/utils/providers/openai/codex-worker.test.ts +70 -1
- package/bundle/src/utils/providers/openai/codex-worker.ts +18 -6
- package/bundle/src/utils/providers/openai/openai-dispatcher.test.ts +109 -6
- package/bundle/src/utils/providers/openai/openai-dispatcher.ts +72 -55
- package/bundle/web-dist/client/assets/{index-CN7eSKO4.js → index-D1ExP77_.js} +3 -3
- package/bundle/web-dist/client/assets/{logs-NubdF_C_.js → logs-vuI-Zgnq.js} +1 -1
- package/bundle/web-dist/client/assets/routes-0Fki0JEi.js +5 -0
- package/bundle/web-dist/client/assets/{sd.generated-BrUnRt0B.js → sd.generated-WA5SGJYZ.js} +1 -1
- package/bundle/web-dist/client/assets/{services.generated-AsEvHbJ7.js → services.generated-DzZLnb7S.js} +1 -1
- package/bundle/web-dist/client/assets/{show-BvDjIZCX.js → show-BreAgaFH.js} +1 -1
- package/bundle/web-dist/client/assets/tokens-4VgHQtXd.js +1 -0
- package/bundle/web-dist/client/assets/use-update-token-mutation-BV6msjuy.js +1 -0
- package/bundle/web-dist/client/index.html +2 -2
- package/bundle/web-dist/server/assets/{lazyRouteComponent-BswulcOx.js → lazyRouteComponent-BrPAFtBA.js} +1 -1
- package/bundle/web-dist/server/assets/{logs-Bk9C0ELo.js → logs-CKM6W3W6.js} +3 -3
- package/bundle/web-dist/server/assets/{routes-D9OiKoqa.js → routes-DhIpPgXz.js} +130 -7
- package/bundle/web-dist/server/assets/{sd.generated-DRuQSIKo.js → sd.generated-Cwg2f53z.js} +1 -0
- package/bundle/web-dist/server/assets/{services.generated-Dp0uKgpV.js → services.generated-CsotZP44.js} +5 -5
- package/bundle/web-dist/server/assets/{show-3GokIDEJ.js → show-CV2UFjaH.js} +3 -3
- package/bundle/web-dist/server/assets/{tokens-Cjw6cQxZ.js → tokens-DfGj1y2v.js} +5 -5
- package/bundle/web-dist/server/assets/use-update-token-mutation-BL96w-Pg.js +7 -0
- package/bundle/web-dist/server/entry-server.generated.js +7 -7
- package/package.json +1 -1
- package/skills/qgrid/SKILL.md +1 -1
- package/skills/qgrid/references/anthropic-claude-code-runtime.md +2 -2
- package/skills/qgrid/references/cli-env-and-server-boot.md +9 -9
- package/skills/qgrid/references/decision-rationale.md +23 -0
- package/skills/qgrid/references/openai-codex-runtime.md +4 -3
- package/skills/qgrid/references/prompt-cache-and-usage.md +2 -0
- package/skills/qgrid/references/provider-runtime-differences.md +2 -1
- package/skills/qgrid/references/repo-map.md +2 -0
- package/skills/qgrid/references/token-auth-quota-lifecycle.md +8 -3
- package/skills/qgrid/references/verification-and-debugging.md +3 -0
- package/bundle/web-dist/client/assets/routes-NKxXqHvs.js +0 -5
- package/bundle/web-dist/client/assets/tokens-XAhJyLqj.js +0 -1
|
@@ -128,7 +128,8 @@ const TokenBaseSchema = z.object({
|
|
|
128
128
|
name: z.string(),
|
|
129
129
|
active: z.boolean(),
|
|
130
130
|
ord: z.int(),
|
|
131
|
-
quota_threshold: z.int().nullable()
|
|
131
|
+
quota_threshold: z.int().nullable(),
|
|
132
|
+
weight: z.int()
|
|
132
133
|
});
|
|
133
134
|
const RequestLogBaseListParams = z.object({
|
|
134
135
|
num: z.number().int().nonnegative(),
|
|
@@ -268,10 +269,11 @@ const TokenSubsetA = z.object({
|
|
|
268
269
|
name: z.string(),
|
|
269
270
|
active: z.boolean(),
|
|
270
271
|
ord: z.int(),
|
|
271
|
-
quota_threshold: z.int().nullable()
|
|
272
|
+
quota_threshold: z.int().nullable(),
|
|
273
|
+
weight: z.int()
|
|
272
274
|
});
|
|
273
275
|
const TokenSubsetKey = z.enum(["A"]);
|
|
274
276
|
//#endregion
|
|
275
277
|
export { RequestLogBaseListParams, RequestLogBaseSchema, RequestLogOrderBy, RequestLogOrderByLabel, RequestLogSearchField, RequestLogSearchFieldLabel, RequestLogStatus, RequestLogStatusLabel, RequestLogStepBaseListParams, RequestLogStepBaseSchema, RequestLogStepOrderBy, RequestLogStepOrderByLabel, RequestLogStepSearchField, RequestLogStepSearchFieldLabel, RequestLogStepSubsetA, RequestLogStepSubsetI, RequestLogStepSubsetKey, RequestLogStepSubsetT, RequestLogStepType, RequestLogStepTypeLabel, RequestLogSubsetA, RequestLogSubsetKey, RequestLogSubsetP, TokenBaseListParams, TokenBaseSchema, TokenOrderBy, TokenOrderByLabel, TokenSearchField, TokenSearchFieldLabel, TokenSubsetA, TokenSubsetKey };
|
|
276
278
|
|
|
277
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29uYW11LmdlbmVyYXRlZC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBwbGljYXRpb24vc29uYW11LmdlbmVyYXRlZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBnZW5lcmF0ZWRcbiAqIOyngeygkSDsiJjsoJXtlZjsp4Ag66eI7IS47JqULlxuICovXG5cbi8qIG94bGludC1kaXNhYmxlICovXG5cbmltcG9ydCB7IHpBcnJheWFibGUsIFNvbmFtdVF1ZXJ5TW9kZSwgQXBwbHlTb25hbXVGaWx0ZXIgfSBmcm9tIFwic29uYW11XCI7XG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xuXG4vLyBDdXN0b21TY2FsYXI6IEhpc3RvcnlJdGVtc1xuY29uc3QgSGlzdG9yeUl0ZW1zID0gei5hcnJheShcbiAgei5vYmplY3Qoe1xuICAgIHR5cGU6IHouc3RyaW5nKCksXG4gICAgcm9sZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGNvbnRlbnQ6IHoudW5rbm93bigpLm9wdGlvbmFsKCksXG4gICAgbmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGFyZ3VtZW50czogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGNhbGxfaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBvdXRwdXQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgfSksXG4pO1xudHlwZSBIaXN0b3J5SXRlbXMgPSB6LmluZmVyPHR5cGVvZiBIaXN0b3J5SXRlbXM+O1xuXG4vLyBDdXN0b21TY2FsYXI6IFRva2VuQ3JlZGVudGlhbHNcbmNvbnN0IFRva2VuQ3JlZGVudGlhbHMgPSB6LnVuaW9uKFtcbiAgei5vYmplY3Qoe1xuICAgIGFjY2Vzc1Rva2VuOiB6LnN0cmluZygpLFxuICAgIHJlZnJlc2hUb2tlbjogei5zdHJpbmcoKSxcbiAgICBleHBpcmVzQXQ6IHoubnVtYmVyKCksXG4gICAgYWNjb3VudFV1aWQ6IHouc3RyaW5nKCksXG4gIH0pLFxuICB6Lm9iamVjdCh7XG4gICAgYWNjZXNzVG9rZW46IHouc3RyaW5nKCksXG4gICAgcmVmcmVzaFRva2VuOiB6LnN0cmluZygpLFxuICAgIGlkVG9rZW46IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBhY2Nlc3NUb2tlbkV4cGlyZXNBdDogei5udW1iZXIoKSxcbiAgICBpZFRva2VuRXhwaXJlc0F0OiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gICAgYWNjb3VudElkOiB6LnN0cmluZygpLFxuICAgIHBsYW5UeXBlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIH0pLFxuXSk7XG50eXBlIFRva2VuQ3JlZGVudGlhbHMgPSB6LmluZmVyPHR5cGVvZiBUb2tlbkNyZWRlbnRpYWxzPjtcblxuLy8gRW51bXM6IFJlcXVlc3RMb2dcbmV4cG9ydCBjb25zdCBSZXF1ZXN0TG9nT3JkZXJCeSA9IHouZW51bShbXCJpZC1kZXNjXCJdKS5kZXNjcmliZShcIlJlcXVlc3RMb2dPcmRlckJ5XCIpO1xuZXhwb3J0IHR5cGUgUmVxdWVzdExvZ09yZGVyQnkgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nT3JkZXJCeT47XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ09yZGVyQnlMYWJlbCA9IHsgXCJpZC1kZXNjXCI6IFwiSUTstZzsi6DsiJxcIiB9O1xuZXhwb3J0IGNvbnN0IFJlcXVlc3RMb2dTZWFyY2hGaWVsZCA9IHpcbiAgLmVudW0oW1wiaWRcIiwgXCJ0b2tlbl9uYW1lXCIsIFwidXNlcl9wcm9tcHRcIl0pXG4gIC5kZXNjcmliZShcIlJlcXVlc3RMb2dTZWFyY2hGaWVsZFwiKTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTZWFyY2hGaWVsZCA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dTZWFyY2hGaWVsZD47XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1NlYXJjaEZpZWxkTGFiZWwgPSB7XG4gIGlkOiBcIklEXCIsXG4gIHRva2VuX25hbWU6IFwi7Yag7YGw7J2066aEXCIsXG4gIHVzZXJfcHJvbXB0OiBcIuyCrOyaqeyekCDtlITroaztlITtirhcIixcbn07XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N0YXR1cyA9IHpcbiAgLmVudW0oW1wicnVubmluZ1wiLCBcInN1Y2NlZWRlZFwiLCBcImVycm9yXCIsIFwiYWJvcnRlZFwiXSlcbiAgLmRlc2NyaWJlKFwiUmVxdWVzdExvZ1N0YXR1c1wiKTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdGF0dXMgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nU3RhdHVzPjtcbmV4cG9ydCBjb25zdCBSZXF1ZXN0TG9nU3RhdHVzTGFiZWwgPSB7XG4gIHJ1bm5pbmc6IFwi7Iuk7ZaJIOykkVwiLFxuICBzdWNjZWVkZWQ6IFwi7ISx6rO1XCIsXG4gIGVycm9yOiBcIuyXkOufrFwiLFxuICBhYm9ydGVkOiBcIuykkeuLqFwiLFxufTtcblxuLy8gRW51bXM6IFJlcXVlc3RMb2dTdGVwXG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N0ZXBUeXBlID0gei5lbnVtKFtcImdlbmVyYXRlXCIsIFwidG9vbF9jYWxsXCJdKS5kZXNjcmliZShcIlJlcXVlc3RMb2dTdGVwVHlwZVwiKTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdGVwVHlwZSA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dTdGVwVHlwZT47XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N0ZXBUeXBlTGFiZWwgPSB7IGdlbmVyYXRlOiBcIkxMTSDsg53shLFcIiwgdG9vbF9jYWxsOiBcIlRvb2wg7Zi47LacXCIgfTtcbmV4cG9ydCBjb25zdCBSZXF1ZXN0TG9nU3RlcE9yZGVyQnkgPSB6LmVudW0oW1wiaWQtYXNjXCJdKS5kZXNjcmliZShcIlJlcXVlc3RMb2dTdGVwT3JkZXJCeVwiKTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdGVwT3JkZXJCeSA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dTdGVwT3JkZXJCeT47XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N0ZXBPcmRlckJ5TGFiZWwgPSB7IFwiaWQtYXNjXCI6IFwiSUTsiJxcIiB9O1xuZXhwb3J0IGNvbnN0IFJlcXVlc3RMb2dTdGVwU2VhcmNoRmllbGQgPSB6LmVudW0oW1wiaWRcIl0pLmRlc2NyaWJlKFwiUmVxdWVzdExvZ1N0ZXBTZWFyY2hGaWVsZFwiKTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdGVwU2VhcmNoRmllbGQgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nU3RlcFNlYXJjaEZpZWxkPjtcbmV4cG9ydCBjb25zdCBSZXF1ZXN0TG9nU3RlcFNlYXJjaEZpZWxkTGFiZWwgPSB7IGlkOiBcIklEXCIgfTtcblxuLy8gRW51bXM6IFRva2VuXG5leHBvcnQgY29uc3QgVG9rZW5PcmRlckJ5ID0gei5lbnVtKFtcImlkLWRlc2NcIiwgXCJvcmQtYXNjXCJdKS5kZXNjcmliZShcIlRva2VuT3JkZXJCeVwiKTtcbmV4cG9ydCB0eXBlIFRva2VuT3JkZXJCeSA9IHouaW5mZXI8dHlwZW9mIFRva2VuT3JkZXJCeT47XG5leHBvcnQgY29uc3QgVG9rZW5PcmRlckJ5TGFiZWwgPSB7IFwiaWQtZGVzY1wiOiBcIklE7LWc7Iug7IicXCIsIFwib3JkLWFzY1wiOiBcIuyInOyEnOyInFwiIH07XG5leHBvcnQgY29uc3QgVG9rZW5TZWFyY2hGaWVsZCA9IHouZW51bShbXCJpZFwiLCBcIm5hbWVcIl0pLmRlc2NyaWJlKFwiVG9rZW5TZWFyY2hGaWVsZFwiKTtcbmV4cG9ydCB0eXBlIFRva2VuU2VhcmNoRmllbGQgPSB6LmluZmVyPHR5cGVvZiBUb2tlblNlYXJjaEZpZWxkPjtcbmV4cG9ydCBjb25zdCBUb2tlblNlYXJjaEZpZWxkTGFiZWwgPSB7IGlkOiBcIklEXCIsIG5hbWU6IFwi7J2066aEXCIgfTtcblxuLy8gQmFzZVNjaGVtYTogUmVxdWVzdExvZ1xuZXhwb3J0IGNvbnN0IFJlcXVlc3RMb2dCYXNlU2NoZW1hID0gei5vYmplY3Qoe1xuICBpZDogei5pbnQoKSxcbiAgY3JlYXRlZF9hdDogei5kYXRlKCksXG4gIHRva2VuX25hbWU6IHouc3RyaW5nKCkubWF4KDEwMCkubnVsbGFibGUoKSxcbiAgcHJvamVjdF9uYW1lOiB6LnN0cmluZygpLm1heCg1MCkubnVsbGFibGUoKSxcbiAgbW9kZWxfbmFtZTogei5zdHJpbmcoKS5tYXgoNTApLm51bGxhYmxlKCksXG4gIHVzZXJfcHJvbXB0OiB6LnN0cmluZygpLm51bGxhYmxlKCksXG4gIHN5c3RlbV9wcm9tcHQ6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgcmVzcG9uc2U6IHouc3RyaW5nKCksXG4gIGlucHV0X3Rva2Vuczogei5pbnQoKSxcbiAgb3V0cHV0X3Rva2Vuczogei5pbnQoKSxcbiAgY2FjaGVfcmVhZF90b2tlbnM6IHouaW50KCksXG4gIGNhY2hlX2NyZWF0aW9uX3Rva2Vuczogei5pbnQoKSxcbiAgZHVyYXRpb25fbXM6IHouaW50KCksXG4gIHR0ZnRfbXM6IHouaW50KCksXG4gIGNvc3RfdXNkOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGltYWdlX2Nvc3RfdXNkOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGltYWdlX2Nvc3RfbWV0aG9kOiB6LnN0cmluZygpLm1heCgxMDApLm51bGxhYmxlKCksXG4gIGVmZm9ydDogei5zdHJpbmcoKS5tYXgoMTApLm51bGxhYmxlKCksXG4gIGhpc3Rvcnk6IEhpc3RvcnlJdGVtcy5udWxsYWJsZSgpLFxuICBzdGF0dXM6IFJlcXVlc3RMb2dTdGF0dXMsXG4gIGVycm9yX21lc3NhZ2U6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgdG9vbF9jYWxsX2NvdW50OiB6LmludCgpLFxuICBpc19pbWFnZV9nZW5lcmF0aW9uOiB6LmJvb2xlYW4oKSxcbn0pO1xuZXhwb3J0IHR5cGUgUmVxdWVzdExvZ0Jhc2VTY2hlbWEgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nQmFzZVNjaGVtYT4gJiB7XG4gIHJlYWRvbmx5IF9faGFzRGVmYXVsdF9fOiByZWFkb25seSBbXG4gICAgXCJjcmVhdGVkX2F0XCIsXG4gICAgXCJ0b2tlbl9uYW1lXCIsXG4gICAgXCJwcm9qZWN0X25hbWVcIixcbiAgICBcIm1vZGVsX25hbWVcIixcbiAgICBcInVzZXJfcHJvbXB0XCIsXG4gICAgXCJzeXN0ZW1fcHJvbXB0XCIsXG4gICAgXCJyZXNwb25zZVwiLFxuICAgIFwiaW5wdXRfdG9rZW5zXCIsXG4gICAgXCJvdXRwdXRfdG9rZW5zXCIsXG4gICAgXCJjYWNoZV9yZWFkX3Rva2Vuc1wiLFxuICAgIFwiY2FjaGVfY3JlYXRpb25fdG9rZW5zXCIsXG4gICAgXCJkdXJhdGlvbl9tc1wiLFxuICAgIFwidHRmdF9tc1wiLFxuICAgIFwiY29zdF91c2RcIixcbiAgICBcImltYWdlX2Nvc3RfdXNkXCIsXG4gICAgXCJpbWFnZV9jb3N0X21ldGhvZFwiLFxuICAgIFwiZWZmb3J0XCIsXG4gICAgXCJoaXN0b3J5XCIsXG4gICAgXCJzdGF0dXNcIixcbiAgICBcImVycm9yX21lc3NhZ2VcIixcbiAgICBcInRvb2xfY2FsbF9jb3VudFwiLFxuICAgIFwiaXNfaW1hZ2VfZ2VuZXJhdGlvblwiLFxuICAgIFwiaWRcIixcbiAgXTtcbn07XG5cbi8vIEJhc2VTY2hlbWE6IFJlcXVlc3RMb2dTdGVwXG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N0ZXBCYXNlU2NoZW1hID0gei5vYmplY3Qoe1xuICBpZDogei5pbnQoKSxcbiAgY3JlYXRlZF9hdDogei5kYXRlKCksXG4gIHJlcXVlc3RfbG9nX2lkOiB6LmludCgpLFxuICBzdGVwX2luZGV4OiB6LmludCgpLFxuICB0eXBlOiBSZXF1ZXN0TG9nU3RlcFR5cGUsXG4gIGlucHV0X3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBvdXRwdXRfdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNhY2hlX3JlYWRfdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNhY2hlX2NyZWF0aW9uX3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBkdXJhdGlvbl9tczogei5pbnQoKS5udWxsYWJsZSgpLFxuICB0dGZ0X21zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGZpbmlzaF9yZWFzb246IHouc3RyaW5nKCkubWF4KDIwKS5udWxsYWJsZSgpLFxuICByZWFzb25pbmdfdGV4dDogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxuICByZWFzb25pbmdfdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIHRvb2xfY2FsbF9pbmRleDogei5pbnQoKS5udWxsYWJsZSgpLFxuICB0b29sX2NhbGxfaWQ6IHouc3RyaW5nKCkubWF4KDEwMCkubnVsbGFibGUoKSxcbiAgdG9vbF9uYW1lOiB6LnN0cmluZygpLm1heCgxMDApLm51bGxhYmxlKCksXG4gIHRvb2xfYXJnczogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxuICB0b29sX3Jlc3VsdDogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxuICB0b29sX2R1cmF0aW9uX21zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGVycm9yOiB6LnN0cmluZygpLm51bGxhYmxlKCksXG59KTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdGVwQmFzZVNjaGVtYSA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dTdGVwQmFzZVNjaGVtYT4gJiB7XG4gIHJlYWRvbmx5IF9faGFzRGVmYXVsdF9fOiByZWFkb25seSBbXG4gICAgXCJjcmVhdGVkX2F0XCIsXG4gICAgXCJpbnB1dF90b2tlbnNcIixcbiAgICBcIm91dHB1dF90b2tlbnNcIixcbiAgICBcImNhY2hlX3JlYWRfdG9rZW5zXCIsXG4gICAgXCJjYWNoZV9jcmVhdGlvbl90b2tlbnNcIixcbiAgICBcImR1cmF0aW9uX21zXCIsXG4gICAgXCJ0dGZ0X21zXCIsXG4gICAgXCJmaW5pc2hfcmVhc29uXCIsXG4gICAgXCJyZWFzb25pbmdfdGV4dFwiLFxuICAgIFwicmVhc29uaW5nX3Rva2Vuc1wiLFxuICAgIFwidG9vbF9jYWxsX2luZGV4XCIsXG4gICAgXCJ0b29sX2NhbGxfaWRcIixcbiAgICBcInRvb2xfbmFtZVwiLFxuICAgIFwidG9vbF9hcmdzXCIsXG4gICAgXCJ0b29sX3Jlc3VsdFwiLFxuICAgIFwidG9vbF9kdXJhdGlvbl9tc1wiLFxuICAgIFwiZXJyb3JcIixcbiAgICBcImlkXCIsXG4gIF07XG59O1xuXG4vLyBCYXNlU2NoZW1hOiBUb2tlblxuZXhwb3J0IGNvbnN0IFRva2VuQmFzZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgaWQ6IHouaW50KCksXG4gIGNyZWF0ZWRfYXQ6IHouZGF0ZSgpLFxuICBwcm92aWRlcjogei5zdHJpbmcoKS5tYXgoMjApLFxuICBjcmVkZW50aWFsczogVG9rZW5DcmVkZW50aWFscyxcbiAgbmFtZTogei5zdHJpbmcoKSxcbiAgYWN0aXZlOiB6LmJvb2xlYW4oKSxcbiAgb3JkOiB6LmludCgpLFxuICBxdW90YV90aHJlc2hvbGQ6IHouaW50KCkubnVsbGFibGUoKSxcbn0pO1xuZXhwb3J0IHR5cGUgVG9rZW5CYXNlU2NoZW1hID0gei5pbmZlcjx0eXBlb2YgVG9rZW5CYXNlU2NoZW1hPiAmIHtcbiAgcmVhZG9ubHkgX19oYXNEZWZhdWx0X186IHJlYWRvbmx5IFtcImNyZWF0ZWRfYXRcIiwgXCJhY3RpdmVcIiwgXCJvcmRcIiwgXCJxdW90YV90aHJlc2hvbGRcIiwgXCJpZFwiXTtcbn07XG5cbi8vIEJhc2VMaXN0UGFyYW1zOiBSZXF1ZXN0TG9nXG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ0Jhc2VMaXN0UGFyYW1zID0gelxuICAub2JqZWN0KHtcbiAgICBudW06IHoubnVtYmVyKCkuaW50KCkubm9ubmVnYXRpdmUoKSxcbiAgICBwYWdlOiB6Lm51bWJlcigpLmludCgpLm1pbigxKSxcbiAgICBzZWFyY2g6IFJlcXVlc3RMb2dTZWFyY2hGaWVsZCxcbiAgICBrZXl3b3JkOiB6LnN0cmluZygpLFxuICAgIG9yZGVyQnk6IFJlcXVlc3RMb2dPcmRlckJ5LFxuICAgIHF1ZXJ5TW9kZTogU29uYW11UXVlcnlNb2RlLFxuICAgIGlkOiB6QXJyYXlhYmxlKHoubnVtYmVyKCkuaW50KCkucG9zaXRpdmUoKSksXG4gICAgc29uYW11RmlsdGVyOiB6LmN1c3RvbTxBcHBseVNvbmFtdUZpbHRlcjxSZXF1ZXN0TG9nQmFzZVNjaGVtYSwgbmV2ZXIsIG5ldmVyPj4oKSxcbiAgICB0b2tlbl9uYW1lOiB6LnN0cmluZygpLm1heCgxMDApLm51bGxhYmxlKCksXG4gICAgcHJvamVjdF9uYW1lOiB6LnN0cmluZygpLm1heCg1MCkubnVsbGFibGUoKSxcbiAgICBtb2RlbF9uYW1lOiB6LnN0cmluZygpLm1heCg1MCkubnVsbGFibGUoKSxcbiAgfSlcbiAgLnBhcnRpYWwoKTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dCYXNlTGlzdFBhcmFtcyA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dCYXNlTGlzdFBhcmFtcz47XG5cbi8vIEJhc2VMaXN0UGFyYW1zOiBSZXF1ZXN0TG9nU3RlcFxuZXhwb3J0IGNvbnN0IFJlcXVlc3RMb2dTdGVwQmFzZUxpc3RQYXJhbXMgPSB6XG4gIC5vYmplY3Qoe1xuICAgIG51bTogei5udW1iZXIoKS5pbnQoKS5ub25uZWdhdGl2ZSgpLFxuICAgIHBhZ2U6IHoubnVtYmVyKCkuaW50KCkubWluKDEpLFxuICAgIHNlYXJjaDogUmVxdWVzdExvZ1N0ZXBTZWFyY2hGaWVsZCxcbiAgICBrZXl3b3JkOiB6LnN0cmluZygpLFxuICAgIG9yZGVyQnk6IFJlcXVlc3RMb2dTdGVwT3JkZXJCeSxcbiAgICBxdWVyeU1vZGU6IFNvbmFtdVF1ZXJ5TW9kZSxcbiAgICBpZDogekFycmF5YWJsZSh6Lm51bWJlcigpLmludCgpLnBvc2l0aXZlKCkpLFxuICAgIHNvbmFtdUZpbHRlcjogei5jdXN0b208QXBwbHlTb25hbXVGaWx0ZXI8UmVxdWVzdExvZ1N0ZXBCYXNlU2NoZW1hLCBuZXZlciwgbmV2ZXI+PigpLFxuICAgIHJlcXVlc3RfbG9nX2lkOiB6LmludCgpLFxuICB9KVxuICAucGFydGlhbCgpO1xuZXhwb3J0IHR5cGUgUmVxdWVzdExvZ1N0ZXBCYXNlTGlzdFBhcmFtcyA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dTdGVwQmFzZUxpc3RQYXJhbXM+O1xuXG4vLyBCYXNlTGlzdFBhcmFtczogVG9rZW5cbmV4cG9ydCBjb25zdCBUb2tlbkJhc2VMaXN0UGFyYW1zID0gelxuICAub2JqZWN0KHtcbiAgICBudW06IHoubnVtYmVyKCkuaW50KCkubm9ubmVnYXRpdmUoKSxcbiAgICBwYWdlOiB6Lm51bWJlcigpLmludCgpLm1pbigxKSxcbiAgICBzZWFyY2g6IFRva2VuU2VhcmNoRmllbGQsXG4gICAga2V5d29yZDogei5zdHJpbmcoKSxcbiAgICBvcmRlckJ5OiBUb2tlbk9yZGVyQnksXG4gICAgcXVlcnlNb2RlOiBTb25hbXVRdWVyeU1vZGUsXG4gICAgaWQ6IHpBcnJheWFibGUoei5udW1iZXIoKS5pbnQoKS5wb3NpdGl2ZSgpKSxcbiAgICBzb25hbXVGaWx0ZXI6IHouY3VzdG9tPEFwcGx5U29uYW11RmlsdGVyPFRva2VuQmFzZVNjaGVtYSwgbmV2ZXIsIG5ldmVyPj4oKSxcbiAgfSlcbiAgLnBhcnRpYWwoKTtcbmV4cG9ydCB0eXBlIFRva2VuQmFzZUxpc3RQYXJhbXMgPSB6LmluZmVyPHR5cGVvZiBUb2tlbkJhc2VMaXN0UGFyYW1zPjtcblxuLy8gU3Vic2V0czogUmVxdWVzdExvZ1xuZXhwb3J0IGNvbnN0IFJlcXVlc3RMb2dTdWJzZXRBID0gei5vYmplY3Qoe1xuICBpZDogei5pbnQoKSxcbiAgY3JlYXRlZF9hdDogei5kYXRlKCksXG4gIHRva2VuX25hbWU6IHouc3RyaW5nKCkubWF4KDEwMCkubnVsbGFibGUoKSxcbiAgcHJvamVjdF9uYW1lOiB6LnN0cmluZygpLm1heCg1MCkubnVsbGFibGUoKSxcbiAgbW9kZWxfbmFtZTogei5zdHJpbmcoKS5tYXgoNTApLm51bGxhYmxlKCksXG4gIHVzZXJfcHJvbXB0OiB6LnN0cmluZygpLm51bGxhYmxlKCksXG4gIHN5c3RlbV9wcm9tcHQ6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgcmVzcG9uc2U6IHouc3RyaW5nKCksXG4gIGlucHV0X3Rva2Vuczogei5pbnQoKSxcbiAgb3V0cHV0X3Rva2Vuczogei5pbnQoKSxcbiAgY2FjaGVfcmVhZF90b2tlbnM6IHouaW50KCksXG4gIGNhY2hlX2NyZWF0aW9uX3Rva2Vuczogei5pbnQoKSxcbiAgZHVyYXRpb25fbXM6IHouaW50KCksXG4gIHR0ZnRfbXM6IHouaW50KCksXG4gIGNvc3RfdXNkOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGltYWdlX2Nvc3RfdXNkOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGltYWdlX2Nvc3RfbWV0aG9kOiB6LnN0cmluZygpLm1heCgxMDApLm51bGxhYmxlKCksXG4gIGVmZm9ydDogei5zdHJpbmcoKS5tYXgoMTApLm51bGxhYmxlKCksXG4gIGhpc3Rvcnk6IEhpc3RvcnlJdGVtcy5udWxsYWJsZSgpLFxuICBzdGF0dXM6IFJlcXVlc3RMb2dTdGF0dXMsXG4gIGVycm9yX21lc3NhZ2U6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgdG9vbF9jYWxsX2NvdW50OiB6LmludCgpLFxuICBpc19pbWFnZV9nZW5lcmF0aW9uOiB6LmJvb2xlYW4oKSxcbn0pO1xuZXhwb3J0IHR5cGUgUmVxdWVzdExvZ1N1YnNldEEgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nU3Vic2V0QT47XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N1YnNldFAgPSB6Lm9iamVjdCh7XG4gIGlkOiB6LmludCgpLFxuICBjcmVhdGVkX2F0OiB6LmRhdGUoKSxcbiAgdG9rZW5fbmFtZTogei5zdHJpbmcoKS5tYXgoMTAwKS5udWxsYWJsZSgpLFxuICBwcm9qZWN0X25hbWU6IHouc3RyaW5nKCkubWF4KDUwKS5udWxsYWJsZSgpLFxuICBtb2RlbF9uYW1lOiB6LnN0cmluZygpLm1heCg1MCkubnVsbGFibGUoKSxcbiAgaW5wdXRfdG9rZW5zOiB6LmludCgpLFxuICBvdXRwdXRfdG9rZW5zOiB6LmludCgpLFxuICBjYWNoZV9yZWFkX3Rva2Vuczogei5pbnQoKSxcbiAgY2FjaGVfY3JlYXRpb25fdG9rZW5zOiB6LmludCgpLFxuICBkdXJhdGlvbl9tczogei5pbnQoKSxcbiAgdHRmdF9tczogei5pbnQoKSxcbiAgY29zdF91c2Q6IHouaW50KCkubnVsbGFibGUoKSxcbiAgaW1hZ2VfY29zdF91c2Q6IHouaW50KCkubnVsbGFibGUoKSxcbiAgaW1hZ2VfY29zdF9tZXRob2Q6IHouc3RyaW5nKCkubWF4KDEwMCkubnVsbGFibGUoKSxcbiAgZWZmb3J0OiB6LnN0cmluZygpLm1heCgxMCkubnVsbGFibGUoKSxcbiAgc3RhdHVzOiBSZXF1ZXN0TG9nU3RhdHVzLFxuICB0b29sX2NhbGxfY291bnQ6IHouaW50KCksXG4gIGlzX2ltYWdlX2dlbmVyYXRpb246IHouYm9vbGVhbigpLFxufSk7XG5leHBvcnQgdHlwZSBSZXF1ZXN0TG9nU3Vic2V0UCA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dTdWJzZXRQPjtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdWJzZXRNYXBwaW5nID0ge1xuICBBOiBSZXF1ZXN0TG9nU3Vic2V0QTtcbiAgUDogUmVxdWVzdExvZ1N1YnNldFA7XG59O1xuZXhwb3J0IGNvbnN0IFJlcXVlc3RMb2dTdWJzZXRLZXkgPSB6LmVudW0oW1wiQVwiLCBcIlBcIl0pO1xuZXhwb3J0IHR5cGUgUmVxdWVzdExvZ1N1YnNldEtleSA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dTdWJzZXRLZXk+O1xuXG4vLyBTdWJzZXRzOiBSZXF1ZXN0TG9nU3RlcFxuZXhwb3J0IGNvbnN0IFJlcXVlc3RMb2dTdGVwU3Vic2V0QSA9IHoub2JqZWN0KHtcbiAgaWQ6IHouaW50KCksXG4gIGNyZWF0ZWRfYXQ6IHouZGF0ZSgpLFxuICBzdGVwX2luZGV4OiB6LmludCgpLFxuICB0eXBlOiBSZXF1ZXN0TG9nU3RlcFR5cGUsXG4gIGlucHV0X3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBvdXRwdXRfdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNhY2hlX3JlYWRfdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNhY2hlX2NyZWF0aW9uX3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBkdXJhdGlvbl9tczogei5pbnQoKS5udWxsYWJsZSgpLFxuICB0dGZ0X21zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGZpbmlzaF9yZWFzb246IHouc3RyaW5nKCkubWF4KDIwKS5udWxsYWJsZSgpLFxuICByZWFzb25pbmdfdGV4dDogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxuICByZWFzb25pbmdfdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIHRvb2xfY2FsbF9pbmRleDogei5pbnQoKS5udWxsYWJsZSgpLFxuICB0b29sX2NhbGxfaWQ6IHouc3RyaW5nKCkubWF4KDEwMCkubnVsbGFibGUoKSxcbiAgdG9vbF9uYW1lOiB6LnN0cmluZygpLm1heCgxMDApLm51bGxhYmxlKCksXG4gIHRvb2xfYXJnczogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxuICB0b29sX3Jlc3VsdDogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxuICB0b29sX2R1cmF0aW9uX21zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGVycm9yOiB6LnN0cmluZygpLm51bGxhYmxlKCksXG59KTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdGVwU3Vic2V0QSA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dTdGVwU3Vic2V0QT47XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N0ZXBTdWJzZXRUID0gei5vYmplY3Qoe1xuICBpZDogei5pbnQoKSxcbiAgY3JlYXRlZF9hdDogei5kYXRlKCksXG4gIHN0ZXBfaW5kZXg6IHouaW50KCksXG4gIHR5cGU6IFJlcXVlc3RMb2dTdGVwVHlwZSxcbiAgaW5wdXRfdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIG91dHB1dF90b2tlbnM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgY2FjaGVfcmVhZF90b2tlbnM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgY2FjaGVfY3JlYXRpb25fdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGR1cmF0aW9uX21zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIHR0ZnRfbXM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgZmluaXNoX3JlYXNvbjogei5zdHJpbmcoKS5tYXgoMjApLm51bGxhYmxlKCksXG4gIHJlYXNvbmluZ190b2tlbnM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgdG9vbF9jYWxsX2luZGV4OiB6LmludCgpLm51bGxhYmxlKCksXG4gIHRvb2xfY2FsbF9pZDogei5zdHJpbmcoKS5tYXgoMTAwKS5udWxsYWJsZSgpLFxuICB0b29sX25hbWU6IHouc3RyaW5nKCkubWF4KDEwMCkubnVsbGFibGUoKSxcbiAgdG9vbF9kdXJhdGlvbl9tczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBlcnJvcjogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxufSk7XG5leHBvcnQgdHlwZSBSZXF1ZXN0TG9nU3RlcFN1YnNldFQgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nU3RlcFN1YnNldFQ+O1xuZXhwb3J0IGNvbnN0IFJlcXVlc3RMb2dTdGVwU3Vic2V0SSA9IHoub2JqZWN0KHtcbiAgaWQ6IHouaW50KCksXG4gIHRvb2xfYXJnczogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxufSk7XG5leHBvcnQgdHlwZSBSZXF1ZXN0TG9nU3RlcFN1YnNldEkgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nU3RlcFN1YnNldEk+O1xuZXhwb3J0IHR5cGUgUmVxdWVzdExvZ1N0ZXBTdWJzZXRNYXBwaW5nID0ge1xuICBBOiBSZXF1ZXN0TG9nU3RlcFN1YnNldEE7XG4gIFQ6IFJlcXVlc3RMb2dTdGVwU3Vic2V0VDtcbiAgSTogUmVxdWVzdExvZ1N0ZXBTdWJzZXRJO1xufTtcbmV4cG9ydCBjb25zdCBSZXF1ZXN0TG9nU3RlcFN1YnNldEtleSA9IHouZW51bShbXCJBXCIsIFwiVFwiLCBcIklcIl0pO1xuZXhwb3J0IHR5cGUgUmVxdWVzdExvZ1N0ZXBTdWJzZXRLZXkgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nU3RlcFN1YnNldEtleT47XG5cbi8vIFN1YnNldHM6IFRva2VuXG5leHBvcnQgY29uc3QgVG9rZW5TdWJzZXRBID0gei5vYmplY3Qoe1xuICBpZDogei5pbnQoKSxcbiAgY3JlYXRlZF9hdDogei5kYXRlKCksXG4gIHByb3ZpZGVyOiB6LnN0cmluZygpLm1heCgyMCksXG4gIGNyZWRlbnRpYWxzOiBUb2tlbkNyZWRlbnRpYWxzLFxuICBuYW1lOiB6LnN0cmluZygpLFxuICBhY3RpdmU6IHouYm9vbGVhbigpLFxuICBvcmQ6IHouaW50KCksXG4gIHF1b3RhX3RocmVzaG9sZDogei5pbnQoKS5udWxsYWJsZSgpLFxufSk7XG5leHBvcnQgdHlwZSBUb2tlblN1YnNldEEgPSB6LmluZmVyPHR5cGVvZiBUb2tlblN1YnNldEE+O1xuZXhwb3J0IHR5cGUgVG9rZW5TdWJzZXRNYXBwaW5nID0ge1xuICBBOiBUb2tlblN1YnNldEE7XG59O1xuZXhwb3J0IGNvbnN0IFRva2VuU3Vic2V0S2V5ID0gei5lbnVtKFtcIkFcIl0pO1xuZXhwb3J0IHR5cGUgVG9rZW5TdWJzZXRLZXkgPSB6LmluZmVyPHR5cGVvZiBUb2tlblN1YnNldEtleT47XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBV0EsTUFBTSxlQUFlLEVBQUUsTUFDckIsRUFBRSxPQUFPO0NBQ1AsTUFBTSxFQUFFLFFBQVE7Q0FDaEIsTUFBTSxFQUFFLFFBQVEsQ0FBQyxVQUFVO0NBQzNCLFNBQVMsRUFBRSxTQUFTLENBQUMsVUFBVTtDQUMvQixNQUFNLEVBQUUsUUFBUSxDQUFDLFVBQVU7Q0FDM0IsV0FBVyxFQUFFLFFBQVEsQ0FBQyxVQUFVO0NBQ2hDLFNBQVMsRUFBRSxRQUFRLENBQUMsVUFBVTtDQUM5QixRQUFRLEVBQUUsUUFBUSxDQUFDLFVBQVU7Q0FDOUIsQ0FBQyxDQUNIO0FBSUQsTUFBTSxtQkFBbUIsRUFBRSxNQUFNLENBQy9CLEVBQUUsT0FBTztDQUNQLGFBQWEsRUFBRSxRQUFRO0NBQ3ZCLGNBQWMsRUFBRSxRQUFRO0NBQ3hCLFdBQVcsRUFBRSxRQUFRO0NBQ3JCLGFBQWEsRUFBRSxRQUFRO0NBQ3hCLENBQUMsRUFDRixFQUFFLE9BQU87Q0FDUCxhQUFhLEVBQUUsUUFBUTtDQUN2QixjQUFjLEVBQUUsUUFBUTtDQUN4QixTQUFTLEVBQUUsUUFBUSxDQUFDLFVBQVU7Q0FDOUIsc0JBQXNCLEVBQUUsUUFBUTtDQUNoQyxrQkFBa0IsRUFBRSxRQUFRLENBQUMsVUFBVTtDQUN2QyxXQUFXLEVBQUUsUUFBUTtDQUNyQixVQUFVLEVBQUUsUUFBUSxDQUFDLFVBQVU7Q0FDaEMsQ0FBQyxDQUNILENBQUM7QUFJRixNQUFhLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLG9CQUFvQjtBQUVsRixNQUFhLHlCQUF5QixFQUFFLFdBQVcsU0FBUztBQUM1RCxNQUFhLHdCQUF3QixFQUNsQyxLQUFLO0NBQUM7Q0FBTTtDQUFjO0NBQWMsQ0FBQyxDQUN6QyxTQUFTLHdCQUF3QjtBQUVwQyxNQUFhLDZCQUE2QjtDQUN4QyxJQUFJO0NBQ0osWUFBWTtDQUNaLGFBQWE7Q0FDZDtBQUNELE1BQWEsbUJBQW1CLEVBQzdCLEtBQUs7Q0FBQztDQUFXO0NBQWE7Q0FBUztDQUFVLENBQUMsQ0FDbEQsU0FBUyxtQkFBbUI7QUFFL0IsTUFBYSx3QkFBd0I7Q0FDbkMsU0FBUztDQUNULFdBQVc7Q0FDWCxPQUFPO0NBQ1AsU0FBUztDQUNWO0FBR0QsTUFBYSxxQkFBcUIsRUFBRSxLQUFLLENBQUMsWUFBWSxZQUFZLENBQUMsQ0FBQyxTQUFTLHFCQUFxQjtBQUVsRyxNQUFhLDBCQUEwQjtDQUFFLFVBQVU7Q0FBVSxXQUFXO0NBQVc7QUFDbkYsTUFBYSx3QkFBd0IsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyx3QkFBd0I7QUFFekYsTUFBYSw2QkFBNkIsRUFBRSxVQUFVLE9BQU87QUFDN0QsTUFBYSw0QkFBNEIsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyw0QkFBNEI7QUFFN0YsTUFBYSxpQ0FBaUMsRUFBRSxJQUFJLE1BQU07QUFHMUQsTUFBYSxlQUFlLEVBQUUsS0FBSyxDQUFDLFdBQVcsVUFBVSxDQUFDLENBQUMsU0FBUyxlQUFlO0FBRW5GLE1BQWEsb0JBQW9CO0NBQUUsV0FBVztDQUFTLFdBQVc7Q0FBTztBQUN6RSxNQUFhLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxNQUFNLE9BQU8sQ0FBQyxDQUFDLFNBQVMsbUJBQW1CO0FBRW5GLE1BQWEsd0JBQXdCO0NBQUUsSUFBSTtDQUFNLE1BQU07Q0FBTTtBQUc3RCxNQUFhLHVCQUF1QixFQUFFLE9BQU87Q0FDM0MsSUFBSSxFQUFFLEtBQUs7Q0FDWCxZQUFZLEVBQUUsTUFBTTtDQUNwQixZQUFZLEVBQUUsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVU7Q0FDMUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxVQUFVO0NBQzNDLFlBQVksRUFBRSxRQUFRLENBQUMsSUFBSSxHQUFHLENBQUMsVUFBVTtDQUN6QyxhQUFhLEVBQUUsUUFBUSxDQUFDLFVBQVU7Q0FDbEMsZUFBZSxFQUFFLFFBQVEsQ0FBQyxVQUFVO0NBQ3BDLFVBQVUsRUFBRSxRQUFRO0NBQ3BCLGNBQWMsRUFBRSxLQUFLO0NBQ3JCLGVBQWUsRUFBRSxLQUFLO0NBQ3RCLG1CQUFtQixFQUFFLEtBQUs7Q0FDMUIsdUJBQXVCLEVBQUUsS0FBSztDQUM5QixhQUFhLEVBQUUsS0FBSztDQUNwQixTQUFTLEVBQUUsS0FBSztDQUNoQixVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7Q0FDNUIsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLFVBQVU7Q0FDbEMsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVU7Q0FDakQsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxVQUFVO0NBQ3JDLFNBQVMsYUFBYSxVQUFVO0NBQ2hDLFFBQVE7Q0FDUixlQUFlLEVBQUUsUUFBUSxDQUFDLFVBQVU7Q0FDcEMsaUJBQWlCLEVBQUUsS0FBSztDQUN4QixxQkFBcUIsRUFBRSxTQUFTO0NBQ2pDLENBQUM7QUE4QkYsTUFBYSwyQkFBMkIsRUFBRSxPQUFPO0NBQy9DLElBQUksRUFBRSxLQUFLO0NBQ1gsWUFBWSxFQUFFLE1BQU07Q0FDcEIsZ0JBQWdCLEVBQUUsS0FBSztDQUN2QixZQUFZLEVBQUUsS0FBSztDQUNuQixNQUFNO0NBQ04sY0FBYyxFQUFFLEtBQUssQ0FBQyxVQUFVO0NBQ2hDLGVBQWUsRUFBRSxLQUFLLENBQUMsVUFBVTtDQUNqQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsVUFBVTtDQUNyQyx1QkFBdUIsRUFBRSxLQUFLLENBQUMsVUFBVTtDQUN6QyxhQUFhLEVBQUUsS0FBSyxDQUFDLFVBQVU7Q0FDL0IsU0FBUyxFQUFFLEtBQUssQ0FBQyxVQUFVO0NBQzNCLGVBQWUsRUFBRSxRQUFRLENBQUMsSUFBSSxHQUFHLENBQUMsVUFBVTtDQUM1QyxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsVUFBVTtDQUNyQyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsVUFBVTtDQUNwQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsVUFBVTtDQUNuQyxjQUFjLEVBQUUsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVU7Q0FDNUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVO0NBQ3pDLFdBQVcsRUFBRSxRQUFRLENBQUMsVUFBVTtDQUNoQyxhQUFhLEVBQUUsUUFBUSxDQUFDLFVBQVU7Q0FDbEMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLFVBQVU7Q0FDcEMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxVQUFVO0NBQzdCLENBQUM7QUF5QkYsTUFBYSxrQkFBa0IsRUFBRSxPQUFPO0NBQ3RDLElBQUksRUFBRSxLQUFLO0NBQ1gsWUFBWSxFQUFFLE1BQU07Q0FDcEIsVUFBVSxFQUFFLFFBQVEsQ0FBQyxJQUFJLEdBQUc7Q0FDNUIsYUFBYTtDQUNiLE1BQU0sRUFBRSxRQUFRO0NBQ2hCLFFBQVEsRUFBRSxTQUFTO0NBQ25CLEtBQUssRUFBRSxLQUFLO0NBQ1osaUJBQWlCLEVBQUUsS0FBSyxDQUFDLFVBQVU7Q0FDcEMsQ0FBQztBQU1GLE1BQWEsMkJBQTJCLEVBQ3JDLE9BQU87Q0FDTixLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhO0NBQ25DLE1BQU0sRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRTtDQUM3QixRQUFRO0NBQ1IsU0FBUyxFQUFFLFFBQVE7Q0FDbkIsU0FBUztDQUNULFdBQVc7Q0FDWCxJQUFJLFdBQVcsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztDQUMzQyxjQUFjLEVBQUUsUUFBK0Q7Q0FDL0UsWUFBWSxFQUFFLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVO0NBQzFDLGNBQWMsRUFBRSxRQUFRLENBQUMsSUFBSSxHQUFHLENBQUMsVUFBVTtDQUMzQyxZQUFZLEVBQUUsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLFVBQVU7Q0FDMUMsQ0FBQyxDQUNELFNBQVM7QUFJWixNQUFhLCtCQUErQixFQUN6QyxPQUFPO0NBQ04sS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYTtDQUNuQyxNQUFNLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7Q0FDN0IsUUFBUTtDQUNSLFNBQVMsRUFBRSxRQUFRO0NBQ25CLFNBQVM7Q0FDVCxXQUFXO0NBQ1gsSUFBSSxXQUFXLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7Q0FDM0MsY0FBYyxFQUFFLFFBQW1FO0NBQ25GLGdCQUFnQixFQUFFLEtBQUs7Q0FDeEIsQ0FBQyxDQUNELFNBQVM7QUFJWixNQUFhLHNCQUFzQixFQUNoQyxPQUFPO0NBQ04sS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYTtDQUNuQyxNQUFNLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7Q0FDN0IsUUFBUTtDQUNSLFNBQVMsRUFBRSxRQUFRO0NBQ25CLFNBQVM7Q0FDVCxXQUFXO0NBQ1gsSUFBSSxXQUFXLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7Q0FDM0MsY0FBYyxFQUFFLFFBQTBEO0NBQzNFLENBQUMsQ0FDRCxTQUFTO0FBSVosTUFBYSxvQkFBb0IsRUFBRSxPQUFPO0NBQ3hDLElBQUksRUFBRSxLQUFLO0NBQ1gsWUFBWSxFQUFFLE1BQU07Q0FDcEIsWUFBWSxFQUFFLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVO0NBQzFDLGNBQWMsRUFBRSxRQUFRLENBQUMsSUFBSSxHQUFHLENBQUMsVUFBVTtDQUMzQyxZQUFZLEVBQUUsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLFVBQVU7Q0FDekMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxVQUFVO0NBQ2xDLGVBQWUsRUFBRSxRQUFRLENBQUMsVUFBVTtDQUNwQyxVQUFVLEVBQUUsUUFBUTtDQUNwQixjQUFjLEVBQUUsS0FBSztDQUNyQixlQUFlLEVBQUUsS0FBSztDQUN0QixtQkFBbUIsRUFBRSxLQUFLO0NBQzFCLHVCQUF1QixFQUFFLEtBQUs7Q0FDOUIsYUFBYSxFQUFFLEtBQUs7Q0FDcEIsU0FBUyxFQUFFLEtBQUs7Q0FDaEIsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO0NBQzVCLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxVQUFVO0NBQ2xDLG1CQUFtQixFQUFFLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVO0NBQ2pELFFBQVEsRUFBRSxRQUFRLENBQUMsSUFBSSxHQUFHLENBQUMsVUFBVTtDQUNyQyxTQUFTLGFBQWEsVUFBVTtDQUNoQyxRQUFRO0NBQ1IsZUFBZSxFQUFFLFFBQVEsQ0FBQyxVQUFVO0NBQ3BDLGlCQUFpQixFQUFFLEtBQUs7Q0FDeEIscUJBQXFCLEVBQUUsU0FBUztDQUNqQyxDQUFDO0FBRUYsTUFBYSxvQkFBb0IsRUFBRSxPQUFPO0NBQ3hDLElBQUksRUFBRSxLQUFLO0NBQ1gsWUFBWSxFQUFFLE1BQU07Q0FDcEIsWUFBWSxFQUFFLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVO0NBQzFDLGNBQWMsRUFBRSxRQUFRLENBQUMsSUFBSSxHQUFHLENBQUMsVUFBVTtDQUMzQyxZQUFZLEVBQUUsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLFVBQVU7Q0FDekMsY0FBYyxFQUFFLEtBQUs7Q0FDckIsZUFBZSxFQUFFLEtBQUs7Q0FDdEIsbUJBQW1CLEVBQUUsS0FBSztDQUMxQix1QkFBdUIsRUFBRSxLQUFLO0NBQzlCLGFBQWEsRUFBRSxLQUFLO0NBQ3BCLFNBQVMsRUFBRSxLQUFLO0NBQ2hCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtDQUM1QixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsVUFBVTtDQUNsQyxtQkFBbUIsRUFBRSxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVTtDQUNqRCxRQUFRLEVBQUUsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLFVBQVU7Q0FDckMsUUFBUTtDQUNSLGlCQUFpQixFQUFFLEtBQUs7Q0FDeEIscUJBQXFCLEVBQUUsU0FBUztDQUNqQyxDQUFDO0FBTUYsTUFBYSxzQkFBc0IsRUFBRSxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUM7QUFJckQsTUFBYSx3QkFBd0IsRUFBRSxPQUFPO0NBQzVDLElBQUksRUFBRSxLQUFLO0NBQ1gsWUFBWSxFQUFFLE1BQU07Q0FDcEIsWUFBWSxFQUFFLEtBQUs7Q0FDbkIsTUFBTTtDQUNOLGNBQWMsRUFBRSxLQUFLLENBQUMsVUFBVTtDQUNoQyxlQUFlLEVBQUUsS0FBSyxDQUFDLFVBQVU7Q0FDakMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLFVBQVU7Q0FDckMsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLFVBQVU7Q0FDekMsYUFBYSxFQUFFLEtBQUssQ0FBQyxVQUFVO0NBQy9CLFNBQVMsRUFBRSxLQUFLLENBQUMsVUFBVTtDQUMzQixlQUFlLEVBQUUsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLFVBQVU7Q0FDNUMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLFVBQVU7Q0FDckMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLFVBQVU7Q0FDcEMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLFVBQVU7Q0FDbkMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVO0NBQzVDLFdBQVcsRUFBRSxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVTtDQUN6QyxXQUFXLEVBQUUsUUFBUSxDQUFDLFVBQVU7Q0FDaEMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxVQUFVO0NBQ2xDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxVQUFVO0NBQ3BDLE9BQU8sRUFBRSxRQUFRLENBQUMsVUFBVTtDQUM3QixDQUFDO0FBRUYsTUFBYSx3QkFBd0IsRUFBRSxPQUFPO0NBQzVDLElBQUksRUFBRSxLQUFLO0NBQ1gsWUFBWSxFQUFFLE1BQU07Q0FDcEIsWUFBWSxFQUFFLEtBQUs7Q0FDbkIsTUFBTTtDQUNOLGNBQWMsRUFBRSxLQUFLLENBQUMsVUFBVTtDQUNoQyxlQUFlLEVBQUUsS0FBSyxDQUFDLFVBQVU7Q0FDakMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLFVBQVU7Q0FDckMsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLFVBQVU7Q0FDekMsYUFBYSxFQUFFLEtBQUssQ0FBQyxVQUFVO0NBQy9CLFNBQVMsRUFBRSxLQUFLLENBQUMsVUFBVTtDQUMzQixlQUFlLEVBQUUsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLFVBQVU7Q0FDNUMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLFVBQVU7Q0FDcEMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLFVBQVU7Q0FDbkMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVO0NBQzVDLFdBQVcsRUFBRSxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVTtDQUN6QyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsVUFBVTtDQUNwQyxPQUFPLEVBQUUsUUFBUSxDQUFDLFVBQVU7Q0FDN0IsQ0FBQztBQUVGLE1BQWEsd0JBQXdCLEVBQUUsT0FBTztDQUM1QyxJQUFJLEVBQUUsS0FBSztDQUNYLFdBQVcsRUFBRSxRQUFRLENBQUMsVUFBVTtDQUNqQyxDQUFDO0FBT0YsTUFBYSwwQkFBMEIsRUFBRSxLQUFLO0NBQUM7Q0FBSztDQUFLO0NBQUksQ0FBQztBQUk5RCxNQUFhLGVBQWUsRUFBRSxPQUFPO0NBQ25DLElBQUksRUFBRSxLQUFLO0NBQ1gsWUFBWSxFQUFFLE1BQU07Q0FDcEIsVUFBVSxFQUFFLFFBQVEsQ0FBQyxJQUFJLEdBQUc7Q0FDNUIsYUFBYTtDQUNiLE1BQU0sRUFBRSxRQUFRO0NBQ2hCLFFBQVEsRUFBRSxTQUFTO0NBQ25CLEtBQUssRUFBRSxLQUFLO0NBQ1osaUJBQWlCLEVBQUUsS0FBSyxDQUFDLFVBQVU7Q0FDcEMsQ0FBQztBQUtGLE1BQWEsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyJ9
|
|
279
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29uYW11LmdlbmVyYXRlZC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBwbGljYXRpb24vc29uYW11LmdlbmVyYXRlZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBnZW5lcmF0ZWRcbiAqIOyngeygkSDsiJjsoJXtlZjsp4Ag66eI7IS47JqULlxuICovXG5cbi8qIG94bGludC1kaXNhYmxlICovXG5cbmltcG9ydCB7IHpBcnJheWFibGUsIFNvbmFtdVF1ZXJ5TW9kZSwgQXBwbHlTb25hbXVGaWx0ZXIgfSBmcm9tIFwic29uYW11XCI7XG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xuXG4vLyBDdXN0b21TY2FsYXI6IEhpc3RvcnlJdGVtc1xuY29uc3QgSGlzdG9yeUl0ZW1zID0gei5hcnJheShcbiAgei5vYmplY3Qoe1xuICAgIHR5cGU6IHouc3RyaW5nKCksXG4gICAgcm9sZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGNvbnRlbnQ6IHoudW5rbm93bigpLm9wdGlvbmFsKCksXG4gICAgbmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGFyZ3VtZW50czogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGNhbGxfaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBvdXRwdXQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgfSksXG4pO1xudHlwZSBIaXN0b3J5SXRlbXMgPSB6LmluZmVyPHR5cGVvZiBIaXN0b3J5SXRlbXM+O1xuXG4vLyBDdXN0b21TY2FsYXI6IFRva2VuQ3JlZGVudGlhbHNcbmNvbnN0IFRva2VuQ3JlZGVudGlhbHMgPSB6LnVuaW9uKFtcbiAgei5vYmplY3Qoe1xuICAgIGFjY2Vzc1Rva2VuOiB6LnN0cmluZygpLFxuICAgIHJlZnJlc2hUb2tlbjogei5zdHJpbmcoKSxcbiAgICBleHBpcmVzQXQ6IHoubnVtYmVyKCksXG4gICAgYWNjb3VudFV1aWQ6IHouc3RyaW5nKCksXG4gIH0pLFxuICB6Lm9iamVjdCh7XG4gICAgYWNjZXNzVG9rZW46IHouc3RyaW5nKCksXG4gICAgcmVmcmVzaFRva2VuOiB6LnN0cmluZygpLFxuICAgIGlkVG9rZW46IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBhY2Nlc3NUb2tlbkV4cGlyZXNBdDogei5udW1iZXIoKSxcbiAgICBpZFRva2VuRXhwaXJlc0F0OiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gICAgYWNjb3VudElkOiB6LnN0cmluZygpLFxuICAgIHBsYW5UeXBlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIH0pLFxuXSk7XG50eXBlIFRva2VuQ3JlZGVudGlhbHMgPSB6LmluZmVyPHR5cGVvZiBUb2tlbkNyZWRlbnRpYWxzPjtcblxuLy8gRW51bXM6IFJlcXVlc3RMb2dcbmV4cG9ydCBjb25zdCBSZXF1ZXN0TG9nT3JkZXJCeSA9IHouZW51bShbXCJpZC1kZXNjXCJdKS5kZXNjcmliZShcIlJlcXVlc3RMb2dPcmRlckJ5XCIpO1xuZXhwb3J0IHR5cGUgUmVxdWVzdExvZ09yZGVyQnkgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nT3JkZXJCeT47XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ09yZGVyQnlMYWJlbCA9IHsgXCJpZC1kZXNjXCI6IFwiSUTstZzsi6DsiJxcIiB9O1xuZXhwb3J0IGNvbnN0IFJlcXVlc3RMb2dTZWFyY2hGaWVsZCA9IHpcbiAgLmVudW0oW1wiaWRcIiwgXCJ0b2tlbl9uYW1lXCIsIFwidXNlcl9wcm9tcHRcIl0pXG4gIC5kZXNjcmliZShcIlJlcXVlc3RMb2dTZWFyY2hGaWVsZFwiKTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTZWFyY2hGaWVsZCA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dTZWFyY2hGaWVsZD47XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1NlYXJjaEZpZWxkTGFiZWwgPSB7XG4gIGlkOiBcIklEXCIsXG4gIHRva2VuX25hbWU6IFwi7Yag7YGw7J2066aEXCIsXG4gIHVzZXJfcHJvbXB0OiBcIuyCrOyaqeyekCDtlITroaztlITtirhcIixcbn07XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N0YXR1cyA9IHpcbiAgLmVudW0oW1wicnVubmluZ1wiLCBcInN1Y2NlZWRlZFwiLCBcImVycm9yXCIsIFwiYWJvcnRlZFwiXSlcbiAgLmRlc2NyaWJlKFwiUmVxdWVzdExvZ1N0YXR1c1wiKTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdGF0dXMgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nU3RhdHVzPjtcbmV4cG9ydCBjb25zdCBSZXF1ZXN0TG9nU3RhdHVzTGFiZWwgPSB7XG4gIHJ1bm5pbmc6IFwi7Iuk7ZaJIOykkVwiLFxuICBzdWNjZWVkZWQ6IFwi7ISx6rO1XCIsXG4gIGVycm9yOiBcIuyXkOufrFwiLFxuICBhYm9ydGVkOiBcIuykkeuLqFwiLFxufTtcblxuLy8gRW51bXM6IFJlcXVlc3RMb2dTdGVwXG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N0ZXBUeXBlID0gei5lbnVtKFtcImdlbmVyYXRlXCIsIFwidG9vbF9jYWxsXCJdKS5kZXNjcmliZShcIlJlcXVlc3RMb2dTdGVwVHlwZVwiKTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdGVwVHlwZSA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dTdGVwVHlwZT47XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N0ZXBUeXBlTGFiZWwgPSB7IGdlbmVyYXRlOiBcIkxMTSDsg53shLFcIiwgdG9vbF9jYWxsOiBcIlRvb2wg7Zi47LacXCIgfTtcbmV4cG9ydCBjb25zdCBSZXF1ZXN0TG9nU3RlcE9yZGVyQnkgPSB6LmVudW0oW1wiaWQtYXNjXCJdKS5kZXNjcmliZShcIlJlcXVlc3RMb2dTdGVwT3JkZXJCeVwiKTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdGVwT3JkZXJCeSA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dTdGVwT3JkZXJCeT47XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N0ZXBPcmRlckJ5TGFiZWwgPSB7IFwiaWQtYXNjXCI6IFwiSUTsiJxcIiB9O1xuZXhwb3J0IGNvbnN0IFJlcXVlc3RMb2dTdGVwU2VhcmNoRmllbGQgPSB6LmVudW0oW1wiaWRcIl0pLmRlc2NyaWJlKFwiUmVxdWVzdExvZ1N0ZXBTZWFyY2hGaWVsZFwiKTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdGVwU2VhcmNoRmllbGQgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nU3RlcFNlYXJjaEZpZWxkPjtcbmV4cG9ydCBjb25zdCBSZXF1ZXN0TG9nU3RlcFNlYXJjaEZpZWxkTGFiZWwgPSB7IGlkOiBcIklEXCIgfTtcblxuLy8gRW51bXM6IFRva2VuXG5leHBvcnQgY29uc3QgVG9rZW5PcmRlckJ5ID0gei5lbnVtKFtcImlkLWRlc2NcIiwgXCJvcmQtYXNjXCJdKS5kZXNjcmliZShcIlRva2VuT3JkZXJCeVwiKTtcbmV4cG9ydCB0eXBlIFRva2VuT3JkZXJCeSA9IHouaW5mZXI8dHlwZW9mIFRva2VuT3JkZXJCeT47XG5leHBvcnQgY29uc3QgVG9rZW5PcmRlckJ5TGFiZWwgPSB7IFwiaWQtZGVzY1wiOiBcIklE7LWc7Iug7IicXCIsIFwib3JkLWFzY1wiOiBcIuyInOyEnOyInFwiIH07XG5leHBvcnQgY29uc3QgVG9rZW5TZWFyY2hGaWVsZCA9IHouZW51bShbXCJpZFwiLCBcIm5hbWVcIl0pLmRlc2NyaWJlKFwiVG9rZW5TZWFyY2hGaWVsZFwiKTtcbmV4cG9ydCB0eXBlIFRva2VuU2VhcmNoRmllbGQgPSB6LmluZmVyPHR5cGVvZiBUb2tlblNlYXJjaEZpZWxkPjtcbmV4cG9ydCBjb25zdCBUb2tlblNlYXJjaEZpZWxkTGFiZWwgPSB7IGlkOiBcIklEXCIsIG5hbWU6IFwi7J2066aEXCIgfTtcblxuLy8gQmFzZVNjaGVtYTogUmVxdWVzdExvZ1xuZXhwb3J0IGNvbnN0IFJlcXVlc3RMb2dCYXNlU2NoZW1hID0gei5vYmplY3Qoe1xuICBpZDogei5pbnQoKSxcbiAgY3JlYXRlZF9hdDogei5kYXRlKCksXG4gIHRva2VuX25hbWU6IHouc3RyaW5nKCkubWF4KDEwMCkubnVsbGFibGUoKSxcbiAgcHJvamVjdF9uYW1lOiB6LnN0cmluZygpLm1heCg1MCkubnVsbGFibGUoKSxcbiAgbW9kZWxfbmFtZTogei5zdHJpbmcoKS5tYXgoNTApLm51bGxhYmxlKCksXG4gIHVzZXJfcHJvbXB0OiB6LnN0cmluZygpLm51bGxhYmxlKCksXG4gIHN5c3RlbV9wcm9tcHQ6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgcmVzcG9uc2U6IHouc3RyaW5nKCksXG4gIGlucHV0X3Rva2Vuczogei5pbnQoKSxcbiAgb3V0cHV0X3Rva2Vuczogei5pbnQoKSxcbiAgY2FjaGVfcmVhZF90b2tlbnM6IHouaW50KCksXG4gIGNhY2hlX2NyZWF0aW9uX3Rva2Vuczogei5pbnQoKSxcbiAgZHVyYXRpb25fbXM6IHouaW50KCksXG4gIHR0ZnRfbXM6IHouaW50KCksXG4gIGNvc3RfdXNkOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGltYWdlX2Nvc3RfdXNkOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGltYWdlX2Nvc3RfbWV0aG9kOiB6LnN0cmluZygpLm1heCgxMDApLm51bGxhYmxlKCksXG4gIGVmZm9ydDogei5zdHJpbmcoKS5tYXgoMTApLm51bGxhYmxlKCksXG4gIGhpc3Rvcnk6IEhpc3RvcnlJdGVtcy5udWxsYWJsZSgpLFxuICBzdGF0dXM6IFJlcXVlc3RMb2dTdGF0dXMsXG4gIGVycm9yX21lc3NhZ2U6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgdG9vbF9jYWxsX2NvdW50OiB6LmludCgpLFxuICBpc19pbWFnZV9nZW5lcmF0aW9uOiB6LmJvb2xlYW4oKSxcbn0pO1xuZXhwb3J0IHR5cGUgUmVxdWVzdExvZ0Jhc2VTY2hlbWEgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nQmFzZVNjaGVtYT4gJiB7XG4gIHJlYWRvbmx5IF9faGFzRGVmYXVsdF9fOiByZWFkb25seSBbXG4gICAgXCJjcmVhdGVkX2F0XCIsXG4gICAgXCJ0b2tlbl9uYW1lXCIsXG4gICAgXCJwcm9qZWN0X25hbWVcIixcbiAgICBcIm1vZGVsX25hbWVcIixcbiAgICBcInVzZXJfcHJvbXB0XCIsXG4gICAgXCJzeXN0ZW1fcHJvbXB0XCIsXG4gICAgXCJyZXNwb25zZVwiLFxuICAgIFwiaW5wdXRfdG9rZW5zXCIsXG4gICAgXCJvdXRwdXRfdG9rZW5zXCIsXG4gICAgXCJjYWNoZV9yZWFkX3Rva2Vuc1wiLFxuICAgIFwiY2FjaGVfY3JlYXRpb25fdG9rZW5zXCIsXG4gICAgXCJkdXJhdGlvbl9tc1wiLFxuICAgIFwidHRmdF9tc1wiLFxuICAgIFwiY29zdF91c2RcIixcbiAgICBcImltYWdlX2Nvc3RfdXNkXCIsXG4gICAgXCJpbWFnZV9jb3N0X21ldGhvZFwiLFxuICAgIFwiZWZmb3J0XCIsXG4gICAgXCJoaXN0b3J5XCIsXG4gICAgXCJzdGF0dXNcIixcbiAgICBcImVycm9yX21lc3NhZ2VcIixcbiAgICBcInRvb2xfY2FsbF9jb3VudFwiLFxuICAgIFwiaXNfaW1hZ2VfZ2VuZXJhdGlvblwiLFxuICAgIFwiaWRcIixcbiAgXTtcbn07XG5cbi8vIEJhc2VTY2hlbWE6IFJlcXVlc3RMb2dTdGVwXG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N0ZXBCYXNlU2NoZW1hID0gei5vYmplY3Qoe1xuICBpZDogei5pbnQoKSxcbiAgY3JlYXRlZF9hdDogei5kYXRlKCksXG4gIHJlcXVlc3RfbG9nX2lkOiB6LmludCgpLFxuICBzdGVwX2luZGV4OiB6LmludCgpLFxuICB0eXBlOiBSZXF1ZXN0TG9nU3RlcFR5cGUsXG4gIGlucHV0X3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBvdXRwdXRfdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNhY2hlX3JlYWRfdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNhY2hlX2NyZWF0aW9uX3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBkdXJhdGlvbl9tczogei5pbnQoKS5udWxsYWJsZSgpLFxuICB0dGZ0X21zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGZpbmlzaF9yZWFzb246IHouc3RyaW5nKCkubWF4KDIwKS5udWxsYWJsZSgpLFxuICByZWFzb25pbmdfdGV4dDogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxuICByZWFzb25pbmdfdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIHRvb2xfY2FsbF9pbmRleDogei5pbnQoKS5udWxsYWJsZSgpLFxuICB0b29sX2NhbGxfaWQ6IHouc3RyaW5nKCkubWF4KDEwMCkubnVsbGFibGUoKSxcbiAgdG9vbF9uYW1lOiB6LnN0cmluZygpLm1heCgxMDApLm51bGxhYmxlKCksXG4gIHRvb2xfYXJnczogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxuICB0b29sX3Jlc3VsdDogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxuICB0b29sX2R1cmF0aW9uX21zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGVycm9yOiB6LnN0cmluZygpLm51bGxhYmxlKCksXG59KTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdGVwQmFzZVNjaGVtYSA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dTdGVwQmFzZVNjaGVtYT4gJiB7XG4gIHJlYWRvbmx5IF9faGFzRGVmYXVsdF9fOiByZWFkb25seSBbXG4gICAgXCJjcmVhdGVkX2F0XCIsXG4gICAgXCJpbnB1dF90b2tlbnNcIixcbiAgICBcIm91dHB1dF90b2tlbnNcIixcbiAgICBcImNhY2hlX3JlYWRfdG9rZW5zXCIsXG4gICAgXCJjYWNoZV9jcmVhdGlvbl90b2tlbnNcIixcbiAgICBcImR1cmF0aW9uX21zXCIsXG4gICAgXCJ0dGZ0X21zXCIsXG4gICAgXCJmaW5pc2hfcmVhc29uXCIsXG4gICAgXCJyZWFzb25pbmdfdGV4dFwiLFxuICAgIFwicmVhc29uaW5nX3Rva2Vuc1wiLFxuICAgIFwidG9vbF9jYWxsX2luZGV4XCIsXG4gICAgXCJ0b29sX2NhbGxfaWRcIixcbiAgICBcInRvb2xfbmFtZVwiLFxuICAgIFwidG9vbF9hcmdzXCIsXG4gICAgXCJ0b29sX3Jlc3VsdFwiLFxuICAgIFwidG9vbF9kdXJhdGlvbl9tc1wiLFxuICAgIFwiZXJyb3JcIixcbiAgICBcImlkXCIsXG4gIF07XG59O1xuXG4vLyBCYXNlU2NoZW1hOiBUb2tlblxuZXhwb3J0IGNvbnN0IFRva2VuQmFzZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgaWQ6IHouaW50KCksXG4gIGNyZWF0ZWRfYXQ6IHouZGF0ZSgpLFxuICBwcm92aWRlcjogei5zdHJpbmcoKS5tYXgoMjApLFxuICBjcmVkZW50aWFsczogVG9rZW5DcmVkZW50aWFscyxcbiAgbmFtZTogei5zdHJpbmcoKSxcbiAgYWN0aXZlOiB6LmJvb2xlYW4oKSxcbiAgb3JkOiB6LmludCgpLFxuICBxdW90YV90aHJlc2hvbGQ6IHouaW50KCkubnVsbGFibGUoKSxcbiAgd2VpZ2h0OiB6LmludCgpLFxufSk7XG5leHBvcnQgdHlwZSBUb2tlbkJhc2VTY2hlbWEgPSB6LmluZmVyPHR5cGVvZiBUb2tlbkJhc2VTY2hlbWE+ICYge1xuICByZWFkb25seSBfX2hhc0RlZmF1bHRfXzogcmVhZG9ubHkgW1xuICAgIFwiY3JlYXRlZF9hdFwiLFxuICAgIFwiYWN0aXZlXCIsXG4gICAgXCJvcmRcIixcbiAgICBcInF1b3RhX3RocmVzaG9sZFwiLFxuICAgIFwid2VpZ2h0XCIsXG4gICAgXCJpZFwiLFxuICBdO1xufTtcblxuLy8gQmFzZUxpc3RQYXJhbXM6IFJlcXVlc3RMb2dcbmV4cG9ydCBjb25zdCBSZXF1ZXN0TG9nQmFzZUxpc3RQYXJhbXMgPSB6XG4gIC5vYmplY3Qoe1xuICAgIG51bTogei5udW1iZXIoKS5pbnQoKS5ub25uZWdhdGl2ZSgpLFxuICAgIHBhZ2U6IHoubnVtYmVyKCkuaW50KCkubWluKDEpLFxuICAgIHNlYXJjaDogUmVxdWVzdExvZ1NlYXJjaEZpZWxkLFxuICAgIGtleXdvcmQ6IHouc3RyaW5nKCksXG4gICAgb3JkZXJCeTogUmVxdWVzdExvZ09yZGVyQnksXG4gICAgcXVlcnlNb2RlOiBTb25hbXVRdWVyeU1vZGUsXG4gICAgaWQ6IHpBcnJheWFibGUoei5udW1iZXIoKS5pbnQoKS5wb3NpdGl2ZSgpKSxcbiAgICBzb25hbXVGaWx0ZXI6IHouY3VzdG9tPEFwcGx5U29uYW11RmlsdGVyPFJlcXVlc3RMb2dCYXNlU2NoZW1hLCBuZXZlciwgbmV2ZXI+PigpLFxuICAgIHRva2VuX25hbWU6IHouc3RyaW5nKCkubWF4KDEwMCkubnVsbGFibGUoKSxcbiAgICBwcm9qZWN0X25hbWU6IHouc3RyaW5nKCkubWF4KDUwKS5udWxsYWJsZSgpLFxuICAgIG1vZGVsX25hbWU6IHouc3RyaW5nKCkubWF4KDUwKS5udWxsYWJsZSgpLFxuICB9KVxuICAucGFydGlhbCgpO1xuZXhwb3J0IHR5cGUgUmVxdWVzdExvZ0Jhc2VMaXN0UGFyYW1zID0gei5pbmZlcjx0eXBlb2YgUmVxdWVzdExvZ0Jhc2VMaXN0UGFyYW1zPjtcblxuLy8gQmFzZUxpc3RQYXJhbXM6IFJlcXVlc3RMb2dTdGVwXG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N0ZXBCYXNlTGlzdFBhcmFtcyA9IHpcbiAgLm9iamVjdCh7XG4gICAgbnVtOiB6Lm51bWJlcigpLmludCgpLm5vbm5lZ2F0aXZlKCksXG4gICAgcGFnZTogei5udW1iZXIoKS5pbnQoKS5taW4oMSksXG4gICAgc2VhcmNoOiBSZXF1ZXN0TG9nU3RlcFNlYXJjaEZpZWxkLFxuICAgIGtleXdvcmQ6IHouc3RyaW5nKCksXG4gICAgb3JkZXJCeTogUmVxdWVzdExvZ1N0ZXBPcmRlckJ5LFxuICAgIHF1ZXJ5TW9kZTogU29uYW11UXVlcnlNb2RlLFxuICAgIGlkOiB6QXJyYXlhYmxlKHoubnVtYmVyKCkuaW50KCkucG9zaXRpdmUoKSksXG4gICAgc29uYW11RmlsdGVyOiB6LmN1c3RvbTxBcHBseVNvbmFtdUZpbHRlcjxSZXF1ZXN0TG9nU3RlcEJhc2VTY2hlbWEsIG5ldmVyLCBuZXZlcj4+KCksXG4gICAgcmVxdWVzdF9sb2dfaWQ6IHouaW50KCksXG4gIH0pXG4gIC5wYXJ0aWFsKCk7XG5leHBvcnQgdHlwZSBSZXF1ZXN0TG9nU3RlcEJhc2VMaXN0UGFyYW1zID0gei5pbmZlcjx0eXBlb2YgUmVxdWVzdExvZ1N0ZXBCYXNlTGlzdFBhcmFtcz47XG5cbi8vIEJhc2VMaXN0UGFyYW1zOiBUb2tlblxuZXhwb3J0IGNvbnN0IFRva2VuQmFzZUxpc3RQYXJhbXMgPSB6XG4gIC5vYmplY3Qoe1xuICAgIG51bTogei5udW1iZXIoKS5pbnQoKS5ub25uZWdhdGl2ZSgpLFxuICAgIHBhZ2U6IHoubnVtYmVyKCkuaW50KCkubWluKDEpLFxuICAgIHNlYXJjaDogVG9rZW5TZWFyY2hGaWVsZCxcbiAgICBrZXl3b3JkOiB6LnN0cmluZygpLFxuICAgIG9yZGVyQnk6IFRva2VuT3JkZXJCeSxcbiAgICBxdWVyeU1vZGU6IFNvbmFtdVF1ZXJ5TW9kZSxcbiAgICBpZDogekFycmF5YWJsZSh6Lm51bWJlcigpLmludCgpLnBvc2l0aXZlKCkpLFxuICAgIHNvbmFtdUZpbHRlcjogei5jdXN0b208QXBwbHlTb25hbXVGaWx0ZXI8VG9rZW5CYXNlU2NoZW1hLCBuZXZlciwgbmV2ZXI+PigpLFxuICB9KVxuICAucGFydGlhbCgpO1xuZXhwb3J0IHR5cGUgVG9rZW5CYXNlTGlzdFBhcmFtcyA9IHouaW5mZXI8dHlwZW9mIFRva2VuQmFzZUxpc3RQYXJhbXM+O1xuXG4vLyBTdWJzZXRzOiBSZXF1ZXN0TG9nXG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N1YnNldEEgPSB6Lm9iamVjdCh7XG4gIGlkOiB6LmludCgpLFxuICBjcmVhdGVkX2F0OiB6LmRhdGUoKSxcbiAgdG9rZW5fbmFtZTogei5zdHJpbmcoKS5tYXgoMTAwKS5udWxsYWJsZSgpLFxuICBwcm9qZWN0X25hbWU6IHouc3RyaW5nKCkubWF4KDUwKS5udWxsYWJsZSgpLFxuICBtb2RlbF9uYW1lOiB6LnN0cmluZygpLm1heCg1MCkubnVsbGFibGUoKSxcbiAgdXNlcl9wcm9tcHQ6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgc3lzdGVtX3Byb21wdDogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxuICByZXNwb25zZTogei5zdHJpbmcoKSxcbiAgaW5wdXRfdG9rZW5zOiB6LmludCgpLFxuICBvdXRwdXRfdG9rZW5zOiB6LmludCgpLFxuICBjYWNoZV9yZWFkX3Rva2Vuczogei5pbnQoKSxcbiAgY2FjaGVfY3JlYXRpb25fdG9rZW5zOiB6LmludCgpLFxuICBkdXJhdGlvbl9tczogei5pbnQoKSxcbiAgdHRmdF9tczogei5pbnQoKSxcbiAgY29zdF91c2Q6IHouaW50KCkubnVsbGFibGUoKSxcbiAgaW1hZ2VfY29zdF91c2Q6IHouaW50KCkubnVsbGFibGUoKSxcbiAgaW1hZ2VfY29zdF9tZXRob2Q6IHouc3RyaW5nKCkubWF4KDEwMCkubnVsbGFibGUoKSxcbiAgZWZmb3J0OiB6LnN0cmluZygpLm1heCgxMCkubnVsbGFibGUoKSxcbiAgaGlzdG9yeTogSGlzdG9yeUl0ZW1zLm51bGxhYmxlKCksXG4gIHN0YXR1czogUmVxdWVzdExvZ1N0YXR1cyxcbiAgZXJyb3JfbWVzc2FnZTogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxuICB0b29sX2NhbGxfY291bnQ6IHouaW50KCksXG4gIGlzX2ltYWdlX2dlbmVyYXRpb246IHouYm9vbGVhbigpLFxufSk7XG5leHBvcnQgdHlwZSBSZXF1ZXN0TG9nU3Vic2V0QSA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dTdWJzZXRBPjtcbmV4cG9ydCBjb25zdCBSZXF1ZXN0TG9nU3Vic2V0UCA9IHoub2JqZWN0KHtcbiAgaWQ6IHouaW50KCksXG4gIGNyZWF0ZWRfYXQ6IHouZGF0ZSgpLFxuICB0b2tlbl9uYW1lOiB6LnN0cmluZygpLm1heCgxMDApLm51bGxhYmxlKCksXG4gIHByb2plY3RfbmFtZTogei5zdHJpbmcoKS5tYXgoNTApLm51bGxhYmxlKCksXG4gIG1vZGVsX25hbWU6IHouc3RyaW5nKCkubWF4KDUwKS5udWxsYWJsZSgpLFxuICBpbnB1dF90b2tlbnM6IHouaW50KCksXG4gIG91dHB1dF90b2tlbnM6IHouaW50KCksXG4gIGNhY2hlX3JlYWRfdG9rZW5zOiB6LmludCgpLFxuICBjYWNoZV9jcmVhdGlvbl90b2tlbnM6IHouaW50KCksXG4gIGR1cmF0aW9uX21zOiB6LmludCgpLFxuICB0dGZ0X21zOiB6LmludCgpLFxuICBjb3N0X3VzZDogei5pbnQoKS5udWxsYWJsZSgpLFxuICBpbWFnZV9jb3N0X3VzZDogei5pbnQoKS5udWxsYWJsZSgpLFxuICBpbWFnZV9jb3N0X21ldGhvZDogei5zdHJpbmcoKS5tYXgoMTAwKS5udWxsYWJsZSgpLFxuICBlZmZvcnQ6IHouc3RyaW5nKCkubWF4KDEwKS5udWxsYWJsZSgpLFxuICBzdGF0dXM6IFJlcXVlc3RMb2dTdGF0dXMsXG4gIHRvb2xfY2FsbF9jb3VudDogei5pbnQoKSxcbiAgaXNfaW1hZ2VfZ2VuZXJhdGlvbjogei5ib29sZWFuKCksXG59KTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdWJzZXRQID0gei5pbmZlcjx0eXBlb2YgUmVxdWVzdExvZ1N1YnNldFA+O1xuZXhwb3J0IHR5cGUgUmVxdWVzdExvZ1N1YnNldE1hcHBpbmcgPSB7XG4gIEE6IFJlcXVlc3RMb2dTdWJzZXRBO1xuICBQOiBSZXF1ZXN0TG9nU3Vic2V0UDtcbn07XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N1YnNldEtleSA9IHouZW51bShbXCJBXCIsIFwiUFwiXSk7XG5leHBvcnQgdHlwZSBSZXF1ZXN0TG9nU3Vic2V0S2V5ID0gei5pbmZlcjx0eXBlb2YgUmVxdWVzdExvZ1N1YnNldEtleT47XG5cbi8vIFN1YnNldHM6IFJlcXVlc3RMb2dTdGVwXG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N0ZXBTdWJzZXRBID0gei5vYmplY3Qoe1xuICBpZDogei5pbnQoKSxcbiAgY3JlYXRlZF9hdDogei5kYXRlKCksXG4gIHN0ZXBfaW5kZXg6IHouaW50KCksXG4gIHR5cGU6IFJlcXVlc3RMb2dTdGVwVHlwZSxcbiAgaW5wdXRfdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIG91dHB1dF90b2tlbnM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgY2FjaGVfcmVhZF90b2tlbnM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgY2FjaGVfY3JlYXRpb25fdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGR1cmF0aW9uX21zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIHR0ZnRfbXM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgZmluaXNoX3JlYXNvbjogei5zdHJpbmcoKS5tYXgoMjApLm51bGxhYmxlKCksXG4gIHJlYXNvbmluZ190ZXh0OiB6LnN0cmluZygpLm51bGxhYmxlKCksXG4gIHJlYXNvbmluZ190b2tlbnM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgdG9vbF9jYWxsX2luZGV4OiB6LmludCgpLm51bGxhYmxlKCksXG4gIHRvb2xfY2FsbF9pZDogei5zdHJpbmcoKS5tYXgoMTAwKS5udWxsYWJsZSgpLFxuICB0b29sX25hbWU6IHouc3RyaW5nKCkubWF4KDEwMCkubnVsbGFibGUoKSxcbiAgdG9vbF9hcmdzOiB6LnN0cmluZygpLm51bGxhYmxlKCksXG4gIHRvb2xfcmVzdWx0OiB6LnN0cmluZygpLm51bGxhYmxlKCksXG4gIHRvb2xfZHVyYXRpb25fbXM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgZXJyb3I6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbn0pO1xuZXhwb3J0IHR5cGUgUmVxdWVzdExvZ1N0ZXBTdWJzZXRBID0gei5pbmZlcjx0eXBlb2YgUmVxdWVzdExvZ1N0ZXBTdWJzZXRBPjtcbmV4cG9ydCBjb25zdCBSZXF1ZXN0TG9nU3RlcFN1YnNldFQgPSB6Lm9iamVjdCh7XG4gIGlkOiB6LmludCgpLFxuICBjcmVhdGVkX2F0OiB6LmRhdGUoKSxcbiAgc3RlcF9pbmRleDogei5pbnQoKSxcbiAgdHlwZTogUmVxdWVzdExvZ1N0ZXBUeXBlLFxuICBpbnB1dF90b2tlbnM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgb3V0cHV0X3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBjYWNoZV9yZWFkX3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBjYWNoZV9jcmVhdGlvbl90b2tlbnM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgZHVyYXRpb25fbXM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgdHRmdF9tczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBmaW5pc2hfcmVhc29uOiB6LnN0cmluZygpLm1heCgyMCkubnVsbGFibGUoKSxcbiAgcmVhc29uaW5nX3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICB0b29sX2NhbGxfaW5kZXg6IHouaW50KCkubnVsbGFibGUoKSxcbiAgdG9vbF9jYWxsX2lkOiB6LnN0cmluZygpLm1heCgxMDApLm51bGxhYmxlKCksXG4gIHRvb2xfbmFtZTogei5zdHJpbmcoKS5tYXgoMTAwKS5udWxsYWJsZSgpLFxuICB0b29sX2R1cmF0aW9uX21zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGVycm9yOiB6LnN0cmluZygpLm51bGxhYmxlKCksXG59KTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdGVwU3Vic2V0VCA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dTdGVwU3Vic2V0VD47XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N0ZXBTdWJzZXRJID0gei5vYmplY3Qoe1xuICBpZDogei5pbnQoKSxcbiAgdG9vbF9hcmdzOiB6LnN0cmluZygpLm51bGxhYmxlKCksXG59KTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdGVwU3Vic2V0SSA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dTdGVwU3Vic2V0ST47XG5leHBvcnQgdHlwZSBSZXF1ZXN0TG9nU3RlcFN1YnNldE1hcHBpbmcgPSB7XG4gIEE6IFJlcXVlc3RMb2dTdGVwU3Vic2V0QTtcbiAgVDogUmVxdWVzdExvZ1N0ZXBTdWJzZXRUO1xuICBJOiBSZXF1ZXN0TG9nU3RlcFN1YnNldEk7XG59O1xuZXhwb3J0IGNvbnN0IFJlcXVlc3RMb2dTdGVwU3Vic2V0S2V5ID0gei5lbnVtKFtcIkFcIiwgXCJUXCIsIFwiSVwiXSk7XG5leHBvcnQgdHlwZSBSZXF1ZXN0TG9nU3RlcFN1YnNldEtleSA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dTdGVwU3Vic2V0S2V5PjtcblxuLy8gU3Vic2V0czogVG9rZW5cbmV4cG9ydCBjb25zdCBUb2tlblN1YnNldEEgPSB6Lm9iamVjdCh7XG4gIGlkOiB6LmludCgpLFxuICBjcmVhdGVkX2F0OiB6LmRhdGUoKSxcbiAgcHJvdmlkZXI6IHouc3RyaW5nKCkubWF4KDIwKSxcbiAgY3JlZGVudGlhbHM6IFRva2VuQ3JlZGVudGlhbHMsXG4gIG5hbWU6IHouc3RyaW5nKCksXG4gIGFjdGl2ZTogei5ib29sZWFuKCksXG4gIG9yZDogei5pbnQoKSxcbiAgcXVvdGFfdGhyZXNob2xkOiB6LmludCgpLm51bGxhYmxlKCksXG4gIHdlaWdodDogei5pbnQoKSxcbn0pO1xuZXhwb3J0IHR5cGUgVG9rZW5TdWJzZXRBID0gei5pbmZlcjx0eXBlb2YgVG9rZW5TdWJzZXRBPjtcbmV4cG9ydCB0eXBlIFRva2VuU3Vic2V0TWFwcGluZyA9IHtcbiAgQTogVG9rZW5TdWJzZXRBO1xufTtcbmV4cG9ydCBjb25zdCBUb2tlblN1YnNldEtleSA9IHouZW51bShbXCJBXCJdKTtcbmV4cG9ydCB0eXBlIFRva2VuU3Vic2V0S2V5ID0gei5pbmZlcjx0eXBlb2YgVG9rZW5TdWJzZXRLZXk+O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQVdBLE1BQU0sZUFBZSxFQUFFLE1BQ3JCLEVBQUUsT0FBTztDQUNQLE1BQU0sRUFBRSxRQUFRO0NBQ2hCLE1BQU0sRUFBRSxRQUFRLENBQUMsVUFBVTtDQUMzQixTQUFTLEVBQUUsU0FBUyxDQUFDLFVBQVU7Q0FDL0IsTUFBTSxFQUFFLFFBQVEsQ0FBQyxVQUFVO0NBQzNCLFdBQVcsRUFBRSxRQUFRLENBQUMsVUFBVTtDQUNoQyxTQUFTLEVBQUUsUUFBUSxDQUFDLFVBQVU7Q0FDOUIsUUFBUSxFQUFFLFFBQVEsQ0FB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
|
|
@@ -122,11 +122,12 @@ const tokenSubsetQueries = { A: (qbWrapper) => {
|
|
|
122
122
|
name: "tokens.name",
|
|
123
123
|
active: "tokens.active",
|
|
124
124
|
ord: "tokens.ord",
|
|
125
|
-
quota_threshold: "tokens.quota_threshold"
|
|
125
|
+
quota_threshold: "tokens.quota_threshold",
|
|
126
|
+
weight: "tokens.weight"
|
|
126
127
|
});
|
|
127
128
|
} };
|
|
128
129
|
const tokenLoaderQueries = { A: [] };
|
|
129
130
|
//#endregion
|
|
130
131
|
export { requestLogLoaderQueries, requestLogStepLoaderQueries, requestLogStepSubsetQueries, requestLogSubsetQueries, tokenLoaderQueries, tokenSubsetQueries };
|
|
131
132
|
|
|
132
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29uYW11LmdlbmVyYXRlZC5zc28uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwcGxpY2F0aW9uL3NvbmFtdS5nZW5lcmF0ZWQuc3NvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGdlbmVyYXRlZFxuICog7KeB7KCRIOyImOygle2VmOyngCDrp4jshLjsmpQuXG4gKi9cblxuaW1wb3J0IHsgdHlwZSBQdXJpV3JhcHBlciwgdHlwZSBEYXRhYmFzZVNjaGVtYUV4dGVuZCwgdHlwZSBQdXJpTG9hZGVyUXVlcmllcyB9IGZyb20gXCJzb25hbXVcIjtcblxuaW1wb3J0IHtcbiAgdHlwZSBSZXF1ZXN0TG9nU3Vic2V0S2V5LFxuICB0eXBlIFJlcXVlc3RMb2dTdGVwU3Vic2V0S2V5LFxuICB0eXBlIFRva2VuU3Vic2V0S2V5LFxuICB0eXBlIFJlcXVlc3RMb2dCYXNlU2NoZW1hLFxuICB0eXBlIFJlcXVlc3RMb2dTdGVwQmFzZVNjaGVtYSxcbiAgdHlwZSBUb2tlbkJhc2VTY2hlbWEsXG59IGZyb20gXCIuL3NvbmFtdS5nZW5lcmF0ZWRcIjtcblxuLy8gU3Vic2V0UXVlcnk6IFJlcXVlc3RMb2dcbmV4cG9ydCBjb25zdCByZXF1ZXN0TG9nU3Vic2V0UXVlcmllcyA9IHtcbiAgQTogKHFiV3JhcHBlcjogUHVyaVdyYXBwZXI8RGF0YWJhc2VTY2hlbWFFeHRlbmQ+KSA9PiB7XG4gICAgcmV0dXJuIHFiV3JhcHBlci5mcm9tKFwicmVxdWVzdF9sb2dzXCIpLnNlbGVjdCh7XG4gICAgICBpZDogXCJyZXF1ZXN0X2xvZ3MuaWRcIixcbiAgICAgIGNyZWF0ZWRfYXQ6IFwicmVxdWVzdF9sb2dzLmNyZWF0ZWRfYXRcIixcbiAgICAgIHRva2VuX25hbWU6IFwicmVxdWVzdF9sb2dzLnRva2VuX25hbWVcIixcbiAgICAgIHByb2plY3RfbmFtZTogXCJyZXF1ZXN0X2xvZ3MucHJvamVjdF9uYW1lXCIsXG4gICAgICBtb2RlbF9uYW1lOiBcInJlcXVlc3RfbG9ncy5tb2RlbF9uYW1lXCIsXG4gICAgICB1c2VyX3Byb21wdDogXCJyZXF1ZXN0X2xvZ3MudXNlcl9wcm9tcHRcIixcbiAgICAgIHN5c3RlbV9wcm9tcHQ6IFwicmVxdWVzdF9sb2dzLnN5c3RlbV9wcm9tcHRcIixcbiAgICAgIHJlc3BvbnNlOiBcInJlcXVlc3RfbG9ncy5yZXNwb25zZVwiLFxuICAgICAgaW5wdXRfdG9rZW5zOiBcInJlcXVlc3RfbG9ncy5pbnB1dF90b2tlbnNcIixcbiAgICAgIG91dHB1dF90b2tlbnM6IFwicmVxdWVzdF9sb2dzLm91dHB1dF90b2tlbnNcIixcbiAgICAgIGNhY2hlX3JlYWRfdG9rZW5zOiBcInJlcXVlc3RfbG9ncy5jYWNoZV9yZWFkX3Rva2Vuc1wiLFxuICAgICAgY2FjaGVfY3JlYXRpb25fdG9rZW5zOiBcInJlcXVlc3RfbG9ncy5jYWNoZV9jcmVhdGlvbl90b2tlbnNcIixcbiAgICAgIGR1cmF0aW9uX21zOiBcInJlcXVlc3RfbG9ncy5kdXJhdGlvbl9tc1wiLFxuICAgICAgdHRmdF9tczogXCJyZXF1ZXN0X2xvZ3MudHRmdF9tc1wiLFxuICAgICAgY29zdF91c2Q6IFwicmVxdWVzdF9sb2dzLmNvc3RfdXNkXCIsXG4gICAgICBpbWFnZV9jb3N0X3VzZDogXCJyZXF1ZXN0X2xvZ3MuaW1hZ2VfY29zdF91c2RcIixcbiAgICAgIGltYWdlX2Nvc3RfbWV0aG9kOiBcInJlcXVlc3RfbG9ncy5pbWFnZV9jb3N0X21ldGhvZFwiLFxuICAgICAgZWZmb3J0OiBcInJlcXVlc3RfbG9ncy5lZmZvcnRcIixcbiAgICAgIGhpc3Rvcnk6IFwicmVxdWVzdF9sb2dzLmhpc3RvcnlcIixcbiAgICAgIHN0YXR1czogXCJyZXF1ZXN0X2xvZ3Muc3RhdHVzXCIsXG4gICAgICBlcnJvcl9tZXNzYWdlOiBcInJlcXVlc3RfbG9ncy5lcnJvcl9tZXNzYWdlXCIsXG4gICAgICB0b29sX2NhbGxfY291bnQ6IFwicmVxdWVzdF9sb2dzLnRvb2xfY2FsbF9jb3VudFwiLFxuICAgICAgaXNfaW1hZ2VfZ2VuZXJhdGlvbjogXCJyZXF1ZXN0X2xvZ3MuaXNfaW1hZ2VfZ2VuZXJhdGlvblwiLFxuICAgIH0pO1xuICB9LFxuICBQOiAocWJXcmFwcGVyOiBQdXJpV3JhcHBlcjxEYXRhYmFzZVNjaGVtYUV4dGVuZD4pID0+IHtcbiAgICByZXR1cm4gcWJXcmFwcGVyLmZyb20oXCJyZXF1ZXN0X2xvZ3NcIikuc2VsZWN0KHtcbiAgICAgIGlkOiBcInJlcXVlc3RfbG9ncy5pZFwiLFxuICAgICAgY3JlYXRlZF9hdDogXCJyZXF1ZXN0X2xvZ3MuY3JlYXRlZF9hdFwiLFxuICAgICAgdG9rZW5fbmFtZTogXCJyZXF1ZXN0X2xvZ3MudG9rZW5fbmFtZVwiLFxuICAgICAgcHJvamVjdF9uYW1lOiBcInJlcXVlc3RfbG9ncy5wcm9qZWN0X25hbWVcIixcbiAgICAgIG1vZGVsX25hbWU6IFwicmVxdWVzdF9sb2dzLm1vZGVsX25hbWVcIixcbiAgICAgIGlucHV0X3Rva2VuczogXCJyZXF1ZXN0X2xvZ3MuaW5wdXRfdG9rZW5zXCIsXG4gICAgICBvdXRwdXRfdG9rZW5zOiBcInJlcXVlc3RfbG9ncy5vdXRwdXRfdG9rZW5zXCIsXG4gICAgICBjYWNoZV9yZWFkX3Rva2VuczogXCJyZXF1ZXN0X2xvZ3MuY2FjaGVfcmVhZF90b2tlbnNcIixcbiAgICAgIGNhY2hlX2NyZWF0aW9uX3Rva2VuczogXCJyZXF1ZXN0X2xvZ3MuY2FjaGVfY3JlYXRpb25fdG9rZW5zXCIsXG4gICAgICBkdXJhdGlvbl9tczogXCJyZXF1ZXN0X2xvZ3MuZHVyYXRpb25fbXNcIixcbiAgICAgIHR0ZnRfbXM6IFwicmVxdWVzdF9sb2dzLnR0ZnRfbXNcIixcbiAgICAgIGNvc3RfdXNkOiBcInJlcXVlc3RfbG9ncy5jb3N0X3VzZFwiLFxuICAgICAgaW1hZ2VfY29zdF91c2Q6IFwicmVxdWVzdF9sb2dzLmltYWdlX2Nvc3RfdXNkXCIsXG4gICAgICBpbWFnZV9jb3N0X21ldGhvZDogXCJyZXF1ZXN0X2xvZ3MuaW1hZ2VfY29zdF9tZXRob2RcIixcbiAgICAgIGVmZm9ydDogXCJyZXF1ZXN0X2xvZ3MuZWZmb3J0XCIsXG4gICAgICBzdGF0dXM6IFwicmVxdWVzdF9sb2dzLnN0YXR1c1wiLFxuICAgICAgdG9vbF9jYWxsX2NvdW50OiBcInJlcXVlc3RfbG9ncy50b29sX2NhbGxfY291bnRcIixcbiAgICAgIGlzX2ltYWdlX2dlbmVyYXRpb246IFwicmVxdWVzdF9sb2dzLmlzX2ltYWdlX2dlbmVyYXRpb25cIixcbiAgICB9KTtcbiAgfSxcbn07XG5cbi8vIExvYWRlclF1ZXJ5OiBSZXF1ZXN0TG9nXG5leHBvcnQgY29uc3QgcmVxdWVzdExvZ0xvYWRlclF1ZXJpZXMgPSB7XG4gIEE6IFtdLFxuICBQOiBbXSxcbn0gYXMgY29uc3Qgc2F0aXNmaWVzIFB1cmlMb2FkZXJRdWVyaWVzPFJlcXVlc3RMb2dTdWJzZXRLZXk+O1xuXG4vLyBTdWJzZXRRdWVyeTogUmVxdWVzdExvZ1N0ZXBcbmV4cG9ydCBjb25zdCByZXF1ZXN0TG9nU3RlcFN1YnNldFF1ZXJpZXMgPSB7XG4gIEE6IChxYldyYXBwZXI6IFB1cmlXcmFwcGVyPERhdGFiYXNlU2NoZW1hRXh0ZW5kPikgPT4ge1xuICAgIHJldHVybiBxYldyYXBwZXIuZnJvbShcInJlcXVlc3RfbG9nX3N0ZXBzXCIpLnNlbGVjdCh7XG4gICAgICBpZDogXCJyZXF1ZXN0X2xvZ19zdGVwcy5pZFwiLFxuICAgICAgY3JlYXRlZF9hdDogXCJyZXF1ZXN0X2xvZ19zdGVwcy5jcmVhdGVkX2F0XCIsXG4gICAgICBzdGVwX2luZGV4OiBcInJlcXVlc3RfbG9nX3N0ZXBzLnN0ZXBfaW5kZXhcIixcbiAgICAgIHR5cGU6IFwicmVxdWVzdF9sb2dfc3RlcHMudHlwZVwiLFxuICAgICAgaW5wdXRfdG9rZW5zOiBcInJlcXVlc3RfbG9nX3N0ZXBzLmlucHV0X3Rva2Vuc1wiLFxuICAgICAgb3V0cHV0X3Rva2VuczogXCJyZXF1ZXN0X2xvZ19zdGVwcy5vdXRwdXRfdG9rZW5zXCIsXG4gICAgICBjYWNoZV9yZWFkX3Rva2VuczogXCJyZXF1ZXN0X2xvZ19zdGVwcy5jYWNoZV9yZWFkX3Rva2Vuc1wiLFxuICAgICAgY2FjaGVfY3JlYXRpb25fdG9rZW5zOiBcInJlcXVlc3RfbG9nX3N0ZXBzLmNhY2hlX2NyZWF0aW9uX3Rva2Vuc1wiLFxuICAgICAgZHVyYXRpb25fbXM6IFwicmVxdWVzdF9sb2dfc3RlcHMuZHVyYXRpb25fbXNcIixcbiAgICAgIHR0ZnRfbXM6IFwicmVxdWVzdF9sb2dfc3RlcHMudHRmdF9tc1wiLFxuICAgICAgZmluaXNoX3JlYXNvbjogXCJyZXF1ZXN0X2xvZ19zdGVwcy5maW5pc2hfcmVhc29uXCIsXG4gICAgICByZWFzb25pbmdfdGV4dDogXCJyZXF1ZXN0X2xvZ19zdGVwcy5yZWFzb25pbmdfdGV4dFwiLFxuICAgICAgcmVhc29uaW5nX3Rva2VuczogXCJyZXF1ZXN0X2xvZ19zdGVwcy5yZWFzb25pbmdfdG9rZW5zXCIsXG4gICAgICB0b29sX2NhbGxfaW5kZXg6IFwicmVxdWVzdF9sb2dfc3RlcHMudG9vbF9jYWxsX2luZGV4XCIsXG4gICAgICB0b29sX2NhbGxfaWQ6IFwicmVxdWVzdF9sb2dfc3RlcHMudG9vbF9jYWxsX2lkXCIsXG4gICAgICB0b29sX25hbWU6IFwicmVxdWVzdF9sb2dfc3RlcHMudG9vbF9uYW1lXCIsXG4gICAgICB0b29sX2FyZ3M6IFwicmVxdWVzdF9sb2dfc3RlcHMudG9vbF9hcmdzXCIsXG4gICAgICB0b29sX3Jlc3VsdDogXCJyZXF1ZXN0X2xvZ19zdGVwcy50b29sX3Jlc3VsdFwiLFxuICAgICAgdG9vbF9kdXJhdGlvbl9tczogXCJyZXF1ZXN0X2xvZ19zdGVwcy50b29sX2R1cmF0aW9uX21zXCIsXG4gICAgICBlcnJvcjogXCJyZXF1ZXN0X2xvZ19zdGVwcy5lcnJvclwiLFxuICAgIH0pO1xuICB9LFxuICBUOiAocWJXcmFwcGVyOiBQdXJpV3JhcHBlcjxEYXRhYmFzZVNjaGVtYUV4dGVuZD4pID0+IHtcbiAgICByZXR1cm4gcWJXcmFwcGVyLmZyb20oXCJyZXF1ZXN0X2xvZ19zdGVwc1wiKS5zZWxlY3Qoe1xuICAgICAgaWQ6IFwicmVxdWVzdF9sb2dfc3RlcHMuaWRcIixcbiAgICAgIGNyZWF0ZWRfYXQ6IFwicmVxdWVzdF9sb2dfc3RlcHMuY3JlYXRlZF9hdFwiLFxuICAgICAgc3RlcF9pbmRleDogXCJyZXF1ZXN0X2xvZ19zdGVwcy5zdGVwX2luZGV4XCIsXG4gICAgICB0eXBlOiBcInJlcXVlc3RfbG9nX3N0ZXBzLnR5cGVcIixcbiAgICAgIGlucHV0X3Rva2VuczogXCJyZXF1ZXN0X2xvZ19zdGVwcy5pbnB1dF90b2tlbnNcIixcbiAgICAgIG91dHB1dF90b2tlbnM6IFwicmVxdWVzdF9sb2dfc3RlcHMub3V0cHV0X3Rva2Vuc1wiLFxuICAgICAgY2FjaGVfcmVhZF90b2tlbnM6IFwicmVxdWVzdF9sb2dfc3RlcHMuY2FjaGVfcmVhZF90b2tlbnNcIixcbiAgICAgIGNhY2hlX2NyZWF0aW9uX3Rva2VuczogXCJyZXF1ZXN0X2xvZ19zdGVwcy5jYWNoZV9jcmVhdGlvbl90b2tlbnNcIixcbiAgICAgIGR1cmF0aW9uX21zOiBcInJlcXVlc3RfbG9nX3N0ZXBzLmR1cmF0aW9uX21zXCIsXG4gICAgICB0dGZ0X21zOiBcInJlcXVlc3RfbG9nX3N0ZXBzLnR0ZnRfbXNcIixcbiAgICAgIGZpbmlzaF9yZWFzb246IFwicmVxdWVzdF9sb2dfc3RlcHMuZmluaXNoX3JlYXNvblwiLFxuICAgICAgcmVhc29uaW5nX3Rva2VuczogXCJyZXF1ZXN0X2xvZ19zdGVwcy5yZWFzb25pbmdfdG9rZW5zXCIsXG4gICAgICB0b29sX2NhbGxfaW5kZXg6IFwicmVxdWVzdF9sb2dfc3RlcHMudG9vbF9jYWxsX2luZGV4XCIsXG4gICAgICB0b29sX2NhbGxfaWQ6IFwicmVxdWVzdF9sb2dfc3RlcHMudG9vbF9jYWxsX2lkXCIsXG4gICAgICB0b29sX25hbWU6IFwicmVxdWVzdF9sb2dfc3RlcHMudG9vbF9uYW1lXCIsXG4gICAgICB0b29sX2R1cmF0aW9uX21zOiBcInJlcXVlc3RfbG9nX3N0ZXBzLnRvb2xfZHVyYXRpb25fbXNcIixcbiAgICAgIGVycm9yOiBcInJlcXVlc3RfbG9nX3N0ZXBzLmVycm9yXCIsXG4gICAgfSk7XG4gIH0sXG4gIEk6IChxYldyYXBwZXI6IFB1cmlXcmFwcGVyPERhdGFiYXNlU2NoZW1hRXh0ZW5kPikgPT4ge1xuICAgIHJldHVybiBxYldyYXBwZXIuZnJvbShcInJlcXVlc3RfbG9nX3N0ZXBzXCIpLnNlbGVjdCh7XG4gICAgICBpZDogXCJyZXF1ZXN0X2xvZ19zdGVwcy5pZFwiLFxuICAgICAgdG9vbF9hcmdzOiBcInJlcXVlc3RfbG9nX3N0ZXBzLnRvb2xfYXJnc1wiLFxuICAgIH0pO1xuICB9LFxufTtcblxuLy8gTG9hZGVyUXVlcnk6IFJlcXVlc3RMb2dTdGVwXG5leHBvcnQgY29uc3QgcmVxdWVzdExvZ1N0ZXBMb2FkZXJRdWVyaWVzID0ge1xuICBBOiBbXSxcbiAgVDogW10sXG4gIEk6IFtdLFxufSBhcyBjb25zdCBzYXRpc2ZpZXMgUHVyaUxvYWRlclF1ZXJpZXM8UmVxdWVzdExvZ1N0ZXBTdWJzZXRLZXk+O1xuXG4vLyBTdWJzZXRRdWVyeTogVG9rZW5cbmV4cG9ydCBjb25zdCB0b2tlblN1YnNldFF1ZXJpZXMgPSB7XG4gIEE6IChxYldyYXBwZXI6IFB1cmlXcmFwcGVyPERhdGFiYXNlU2NoZW1hRXh0ZW5kPikgPT4ge1xuICAgIHJldHVybiBxYldyYXBwZXIuZnJvbShcInRva2Vuc1wiKS5zZWxlY3Qoe1xuICAgICAgaWQ6IFwidG9rZW5zLmlkXCIsXG4gICAgICBjcmVhdGVkX2F0OiBcInRva2Vucy5jcmVhdGVkX2F0XCIsXG4gICAgICBwcm92aWRlcjogXCJ0b2tlbnMucHJvdmlkZXJcIixcbiAgICAgIGNyZWRlbnRpYWxzOiBcInRva2Vucy5jcmVkZW50aWFsc1wiLFxuICAgICAgbmFtZTogXCJ0b2tlbnMubmFtZVwiLFxuICAgICAgYWN0aXZlOiBcInRva2Vucy5hY3RpdmVcIixcbiAgICAgIG9yZDogXCJ0b2tlbnMub3JkXCIsXG4gICAgICBxdW90YV90aHJlc2hvbGQ6IFwidG9rZW5zLnF1b3RhX3RocmVzaG9sZFwiLFxuICAgIH0pO1xuICB9LFxufTtcblxuLy8gTG9hZGVyUXVlcnk6IFRva2VuXG5leHBvcnQgY29uc3QgdG9rZW5Mb2FkZXJRdWVyaWVzID0ge1xuICBBOiBbXSxcbn0gYXMgY29uc3Qgc2F0aXNmaWVzIFB1cmlMb2FkZXJRdWVyaWVzPFRva2VuU3Vic2V0S2V5PjtcblxuLy8gRm9yZWlnbktleSBUeXBlc1xuZXhwb3J0IHR5cGUgUmVxdWVzdExvZ1N0ZXBGb3JlaWduS2V5cyA9IFwicmVxdWVzdF9sb2dfaWRcIjtcblxuLy8gRGF0YWJhc2VTY2hlbWFcbmRlY2xhcmUgbW9kdWxlIFwic29uYW11XCIge1xuICBleHBvcnQgaW50ZXJmYWNlIERhdGFiYXNlU2NoZW1hRXh0ZW5kIHtcbiAgICByZXF1ZXN0X2xvZ3M6IFJlcXVlc3RMb2dCYXNlU2NoZW1hO1xuICAgIHJlcXVlc3RfbG9nX3N0ZXBzOiBSZXF1ZXN0TG9nU3RlcEJhc2VTY2hlbWE7XG4gICAgdG9rZW5zOiBUb2tlbkJhc2VTY2hlbWE7XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIERhdGFiYXNlRm9yZWlnbktleXMge1xuICAgIHJlcXVlc3RfbG9nX3N0ZXBzOiBSZXF1ZXN0TG9nU3RlcEZvcmVpZ25LZXlzO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7O0FBaUJBLE1BQWEsMEJBQTBCO0NBQ3JDLElBQUksY0FBaUQ7QUFDbkQsU0FBTyxVQUFVLEtBQUssZUFBZSxDQUFDLE9BQU87R0FDM0MsSUFBSTtHQUNKLFlBQVk7R0FDWixZQUFZO0dBQ1osY0FBYztHQUNkLFlBQVk7R0FDWixhQUFhO0dBQ2IsZUFBZTtHQUNmLFVBQVU7R0FDVixjQUFjO0dBQ2QsZUFBZTtHQUNmLG1CQUFtQjtHQUNuQix1QkFBdUI7R0FDdkIsYUFBYTtHQUNiLFNBQVM7R0FDVCxVQUFVO0dBQ1YsZ0JBQWdCO0dBQ2hCLG1CQUFtQjtHQUNuQixRQUFRO0dBQ1IsU0FBUztHQUNULFFBQVE7R0FDUixlQUFlO0dBQ2YsaUJBQWlCO0dBQ2pCLHFCQUFxQjtHQUN0QixDQUFDOztDQUVKLElBQUksY0FBaUQ7QUFDbkQsU0FBTyxVQUFVLEtBQUssZUFBZSxDQUFDLE9BQU87R0FDM0MsSUFBSTtHQUNKLFlBQVk7R0FDWixZQUFZO0dBQ1osY0FBYztHQUNkLFlBQVk7R0FDWixjQUFjO0dBQ2QsZUFBZTtHQUNmLG1CQUFtQjtHQUNuQix1QkFBdUI7R0FDdkIsYUFBYTtHQUNiLFNBQVM7R0FDVCxVQUFVO0dBQ1YsZ0JBQWdCO0dBQ2hCLG1CQUFtQjtHQUNuQixRQUFRO0dBQ1IsUUFBUTtHQUNSLGlCQUFpQjtHQUNqQixxQkFBcUI7R0FDdEIsQ0FBQzs7Q0FFTDtBQUdELE1BQWEsMEJBQTBCO0NBQ3JDLEdBQUcsRUFBRTtDQUNMLEdBQUcsRUFBRTtDQUNOO0FBR0QsTUFBYSw4QkFBOEI7Q0FDekMsSUFBSSxjQUFpRDtBQUNuRCxTQUFPLFVBQVUsS0FBSyxvQkFBb0IsQ0FBQyxPQUFPO0dBQ2hELElBQUk7R0FDSixZQUFZO0dBQ1osWUFBWTtHQUNaLE1BQU07R0FDTixjQUFjO0dBQ2QsZUFBZTtHQUNmLG1CQUFtQjtHQUNuQix1QkFBdUI7R0FDdkIsYUFBYTtHQUNiLFNBQVM7R0FDVCxlQUFlO0dBQ2YsZ0JBQWdCO0dBQ2hCLGtCQUFrQjtHQUNsQixpQkFBaUI7R0FDakIsY0FBYztHQUNkLFdBQVc7R0FDWCxXQUFXO0dBQ1gsYUFBYTtHQUNiLGtCQUFrQjtHQUNsQixPQUFPO0dBQ1IsQ0FBQzs7Q0FFSixJQUFJLGNBQWlEO0FBQ25ELFNBQU8sVUFBVSxLQUFLLG9CQUFvQixDQUFDLE9BQU87R0FDaEQsSUFBSTtHQUNKLFlBQVk7R0FDWixZQUFZO0dBQ1osTUFBTTtHQUNOLGNBQWM7R0FDZCxlQUFlO0dBQ2YsbUJBQW1CO0dBQ25CLHVCQUF1QjtHQUN2QixhQUFhO0dBQ2IsU0FBUztHQUNULGVBQWU7R0FDZixrQkFBa0I7R0FDbEIsaUJBQWlCO0dBQ2pCLGNBQWM7R0FDZCxXQUFXO0dBQ1gsa0JBQWtCO0dBQ2xCLE9BQU87R0FDUixDQUFDOztDQUVKLElBQUksY0FBaUQ7QUFDbkQsU0FBTyxVQUFVLEtBQUssb0JBQW9CLENBQUMsT0FBTztHQUNoRCxJQUFJO0dBQ0osV0FBVztHQUNaLENBQUM7O0NBRUw7QUFHRCxNQUFhLDhCQUE4QjtDQUN6QyxHQUFHLEVBQUU7Q0FDTCxHQUFHLEVBQUU7Q0FDTCxHQUFHLEVBQUU7Q0FDTjtBQUdELE1BQWEscUJBQXFCLEVBQ2hDLElBQUksY0FBaUQ7QUFDbkQsUUFBTyxVQUFVLEtBQUssU0FBUyxDQUFDLE9BQU87RUFDckMsSUFBSTtFQUNKLFlBQVk7RUFDWixVQUFVO0VBQ1YsYUFBYTtFQUNiLE1BQU07RUFDTixRQUFRO0VBQ1IsS0FBSztFQUNMLGlCQUFpQjtFQUNsQixDQUFDO0dBRUw7QUFHRCxNQUFhLHFCQUFxQixFQUNoQyxHQUFHLEVBQUUsRUFDTiJ9
|
|
133
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29uYW11LmdlbmVyYXRlZC5zc28uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwcGxpY2F0aW9uL3NvbmFtdS5nZW5lcmF0ZWQuc3NvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGdlbmVyYXRlZFxuICog7KeB7KCRIOyImOygle2VmOyngCDrp4jshLjsmpQuXG4gKi9cblxuaW1wb3J0IHsgdHlwZSBQdXJpV3JhcHBlciwgdHlwZSBEYXRhYmFzZVNjaGVtYUV4dGVuZCwgdHlwZSBQdXJpTG9hZGVyUXVlcmllcyB9IGZyb20gXCJzb25hbXVcIjtcblxuaW1wb3J0IHtcbiAgdHlwZSBSZXF1ZXN0TG9nU3Vic2V0S2V5LFxuICB0eXBlIFJlcXVlc3RMb2dTdGVwU3Vic2V0S2V5LFxuICB0eXBlIFRva2VuU3Vic2V0S2V5LFxuICB0eXBlIFJlcXVlc3RMb2dCYXNlU2NoZW1hLFxuICB0eXBlIFJlcXVlc3RMb2dTdGVwQmFzZVNjaGVtYSxcbiAgdHlwZSBUb2tlbkJhc2VTY2hlbWEsXG59IGZyb20gXCIuL3NvbmFtdS5nZW5lcmF0ZWRcIjtcblxuLy8gU3Vic2V0UXVlcnk6IFJlcXVlc3RMb2dcbmV4cG9ydCBjb25zdCByZXF1ZXN0TG9nU3Vic2V0UXVlcmllcyA9IHtcbiAgQTogKHFiV3JhcHBlcjogUHVyaVdyYXBwZXI8RGF0YWJhc2VTY2hlbWFFeHRlbmQ+KSA9PiB7XG4gICAgcmV0dXJuIHFiV3JhcHBlci5mcm9tKFwicmVxdWVzdF9sb2dzXCIpLnNlbGVjdCh7XG4gICAgICBpZDogXCJyZXF1ZXN0X2xvZ3MuaWRcIixcbiAgICAgIGNyZWF0ZWRfYXQ6IFwicmVxdWVzdF9sb2dzLmNyZWF0ZWRfYXRcIixcbiAgICAgIHRva2VuX25hbWU6IFwicmVxdWVzdF9sb2dzLnRva2VuX25hbWVcIixcbiAgICAgIHByb2plY3RfbmFtZTogXCJyZXF1ZXN0X2xvZ3MucHJvamVjdF9uYW1lXCIsXG4gICAgICBtb2RlbF9uYW1lOiBcInJlcXVlc3RfbG9ncy5tb2RlbF9uYW1lXCIsXG4gICAgICB1c2VyX3Byb21wdDogXCJyZXF1ZXN0X2xvZ3MudXNlcl9wcm9tcHRcIixcbiAgICAgIHN5c3RlbV9wcm9tcHQ6IFwicmVxdWVzdF9sb2dzLnN5c3RlbV9wcm9tcHRcIixcbiAgICAgIHJlc3BvbnNlOiBcInJlcXVlc3RfbG9ncy5yZXNwb25zZVwiLFxuICAgICAgaW5wdXRfdG9rZW5zOiBcInJlcXVlc3RfbG9ncy5pbnB1dF90b2tlbnNcIixcbiAgICAgIG91dHB1dF90b2tlbnM6IFwicmVxdWVzdF9sb2dzLm91dHB1dF90b2tlbnNcIixcbiAgICAgIGNhY2hlX3JlYWRfdG9rZW5zOiBcInJlcXVlc3RfbG9ncy5jYWNoZV9yZWFkX3Rva2Vuc1wiLFxuICAgICAgY2FjaGVfY3JlYXRpb25fdG9rZW5zOiBcInJlcXVlc3RfbG9ncy5jYWNoZV9jcmVhdGlvbl90b2tlbnNcIixcbiAgICAgIGR1cmF0aW9uX21zOiBcInJlcXVlc3RfbG9ncy5kdXJhdGlvbl9tc1wiLFxuICAgICAgdHRmdF9tczogXCJyZXF1ZXN0X2xvZ3MudHRmdF9tc1wiLFxuICAgICAgY29zdF91c2Q6IFwicmVxdWVzdF9sb2dzLmNvc3RfdXNkXCIsXG4gICAgICBpbWFnZV9jb3N0X3VzZDogXCJyZXF1ZXN0X2xvZ3MuaW1hZ2VfY29zdF91c2RcIixcbiAgICAgIGltYWdlX2Nvc3RfbWV0aG9kOiBcInJlcXVlc3RfbG9ncy5pbWFnZV9jb3N0X21ldGhvZFwiLFxuICAgICAgZWZmb3J0OiBcInJlcXVlc3RfbG9ncy5lZmZvcnRcIixcbiAgICAgIGhpc3Rvcnk6IFwicmVxdWVzdF9sb2dzLmhpc3RvcnlcIixcbiAgICAgIHN0YXR1czogXCJyZXF1ZXN0X2xvZ3Muc3RhdHVzXCIsXG4gICAgICBlcnJvcl9tZXNzYWdlOiBcInJlcXVlc3RfbG9ncy5lcnJvcl9tZXNzYWdlXCIsXG4gICAgICB0b29sX2NhbGxfY291bnQ6IFwicmVxdWVzdF9sb2dzLnRvb2xfY2FsbF9jb3VudFwiLFxuICAgICAgaXNfaW1hZ2VfZ2VuZXJhdGlvbjogXCJyZXF1ZXN0X2xvZ3MuaXNfaW1hZ2VfZ2VuZXJhdGlvblwiLFxuICAgIH0pO1xuICB9LFxuICBQOiAocWJXcmFwcGVyOiBQdXJpV3JhcHBlcjxEYXRhYmFzZVNjaGVtYUV4dGVuZD4pID0+IHtcbiAgICByZXR1cm4gcWJXcmFwcGVyLmZyb20oXCJyZXF1ZXN0X2xvZ3NcIikuc2VsZWN0KHtcbiAgICAgIGlkOiBcInJlcXVlc3RfbG9ncy5pZFwiLFxuICAgICAgY3JlYXRlZF9hdDogXCJyZXF1ZXN0X2xvZ3MuY3JlYXRlZF9hdFwiLFxuICAgICAgdG9rZW5fbmFtZTogXCJyZXF1ZXN0X2xvZ3MudG9rZW5fbmFtZVwiLFxuICAgICAgcHJvamVjdF9uYW1lOiBcInJlcXVlc3RfbG9ncy5wcm9qZWN0X25hbWVcIixcbiAgICAgIG1vZGVsX25hbWU6IFwicmVxdWVzdF9sb2dzLm1vZGVsX25hbWVcIixcbiAgICAgIGlucHV0X3Rva2VuczogXCJyZXF1ZXN0X2xvZ3MuaW5wdXRfdG9rZW5zXCIsXG4gICAgICBvdXRwdXRfdG9rZW5zOiBcInJlcXVlc3RfbG9ncy5vdXRwdXRfdG9rZW5zXCIsXG4gICAgICBjYWNoZV9yZWFkX3Rva2VuczogXCJyZXF1ZXN0X2xvZ3MuY2FjaGVfcmVhZF90b2tlbnNcIixcbiAgICAgIGNhY2hlX2NyZWF0aW9uX3Rva2VuczogXCJyZXF1ZXN0X2xvZ3MuY2FjaGVfY3JlYXRpb25fdG9rZW5zXCIsXG4gICAgICBkdXJhdGlvbl9tczogXCJyZXF1ZXN0X2xvZ3MuZHVyYXRpb25fbXNcIixcbiAgICAgIHR0ZnRfbXM6IFwicmVxdWVzdF9sb2dzLnR0ZnRfbXNcIixcbiAgICAgIGNvc3RfdXNkOiBcInJlcXVlc3RfbG9ncy5jb3N0X3VzZFwiLFxuICAgICAgaW1hZ2VfY29zdF91c2Q6IFwicmVxdWVzdF9sb2dzLmltYWdlX2Nvc3RfdXNkXCIsXG4gICAgICBpbWFnZV9jb3N0X21ldGhvZDogXCJyZXF1ZXN0X2xvZ3MuaW1hZ2VfY29zdF9tZXRob2RcIixcbiAgICAgIGVmZm9ydDogXCJyZXF1ZXN0X2xvZ3MuZWZmb3J0XCIsXG4gICAgICBzdGF0dXM6IFwicmVxdWVzdF9sb2dzLnN0YXR1c1wiLFxuICAgICAgdG9vbF9jYWxsX2NvdW50OiBcInJlcXVlc3RfbG9ncy50b29sX2NhbGxfY291bnRcIixcbiAgICAgIGlzX2ltYWdlX2dlbmVyYXRpb246IFwicmVxdWVzdF9sb2dzLmlzX2ltYWdlX2dlbmVyYXRpb25cIixcbiAgICB9KTtcbiAgfSxcbn07XG5cbi8vIExvYWRlclF1ZXJ5OiBSZXF1ZXN0TG9nXG5leHBvcnQgY29uc3QgcmVxdWVzdExvZ0xvYWRlclF1ZXJpZXMgPSB7XG4gIEE6IFtdLFxuICBQOiBbXSxcbn0gYXMgY29uc3Qgc2F0aXNmaWVzIFB1cmlMb2FkZXJRdWVyaWVzPFJlcXVlc3RMb2dTdWJzZXRLZXk+O1xuXG4vLyBTdWJzZXRRdWVyeTogUmVxdWVzdExvZ1N0ZXBcbmV4cG9ydCBjb25zdCByZXF1ZXN0TG9nU3RlcFN1YnNldFF1ZXJpZXMgPSB7XG4gIEE6IChxYldyYXBwZXI6IFB1cmlXcmFwcGVyPERhdGFiYXNlU2NoZW1hRXh0ZW5kPikgPT4ge1xuICAgIHJldHVybiBxYldyYXBwZXIuZnJvbShcInJlcXVlc3RfbG9nX3N0ZXBzXCIpLnNlbGVjdCh7XG4gICAgICBpZDogXCJyZXF1ZXN0X2xvZ19zdGVwcy5pZFwiLFxuICAgICAgY3JlYXRlZF9hdDogXCJyZXF1ZXN0X2xvZ19zdGVwcy5jcmVhdGVkX2F0XCIsXG4gICAgICBzdGVwX2luZGV4OiBcInJlcXVlc3RfbG9nX3N0ZXBzLnN0ZXBfaW5kZXhcIixcbiAgICAgIHR5cGU6IFwicmVxdWVzdF9sb2dfc3RlcHMudHlwZVwiLFxuICAgICAgaW5wdXRfdG9rZW5zOiBcInJlcXVlc3RfbG9nX3N0ZXBzLmlucHV0X3Rva2Vuc1wiLFxuICAgICAgb3V0cHV0X3Rva2VuczogXCJyZXF1ZXN0X2xvZ19zdGVwcy5vdXRwdXRfdG9rZW5zXCIsXG4gICAgICBjYWNoZV9yZWFkX3Rva2VuczogXCJyZXF1ZXN0X2xvZ19zdGVwcy5jYWNoZV9yZWFkX3Rva2Vuc1wiLFxuICAgICAgY2FjaGVfY3JlYXRpb25fdG9rZW5zOiBcInJlcXVlc3RfbG9nX3N0ZXBzLmNhY2hlX2NyZWF0aW9uX3Rva2Vuc1wiLFxuICAgICAgZHVyYXRpb25fbXM6IFwicmVxdWVzdF9sb2dfc3RlcHMuZHVyYXRpb25fbXNcIixcbiAgICAgIHR0ZnRfbXM6IFwicmVxdWVzdF9sb2dfc3RlcHMudHRmdF9tc1wiLFxuICAgICAgZmluaXNoX3JlYXNvbjogXCJyZXF1ZXN0X2xvZ19zdGVwcy5maW5pc2hfcmVhc29uXCIsXG4gICAgICByZWFzb25pbmdfdGV4dDogXCJyZXF1ZXN0X2xvZ19zdGVwcy5yZWFzb25pbmdfdGV4dFwiLFxuICAgICAgcmVhc29uaW5nX3Rva2VuczogXCJyZXF1ZXN0X2xvZ19zdGVwcy5yZWFzb25pbmdfdG9rZW5zXCIsXG4gICAgICB0b29sX2NhbGxfaW5kZXg6IFwicmVxdWVzdF9sb2dfc3RlcHMudG9vbF9jYWxsX2luZGV4XCIsXG4gICAgICB0b29sX2NhbGxfaWQ6IFwicmVxdWVzdF9sb2dfc3RlcHMudG9vbF9jYWxsX2lkXCIsXG4gICAgICB0b29sX25hbWU6IFwicmVxdWVzdF9sb2dfc3RlcHMudG9vbF9uYW1lXCIsXG4gICAgICB0b29sX2FyZ3M6IFwicmVxdWVzdF9sb2dfc3RlcHMudG9vbF9hcmdzXCIsXG4gICAgICB0b29sX3Jlc3VsdDogXCJyZXF1ZXN0X2xvZ19zdGVwcy50b29sX3Jlc3VsdFwiLFxuICAgICAgdG9vbF9kdXJhdGlvbl9tczogXCJyZXF1ZXN0X2xvZ19zdGVwcy50b29sX2R1cmF0aW9uX21zXCIsXG4gICAgICBlcnJvcjogXCJyZXF1ZXN0X2xvZ19zdGVwcy5lcnJvclwiLFxuICAgIH0pO1xuICB9LFxuICBUOiAocWJXcmFwcGVyOiBQdXJpV3JhcHBlcjxEYXRhYmFzZVNjaGVtYUV4dGVuZD4pID0+IHtcbiAgICByZXR1cm4gcWJXcmFwcGVyLmZyb20oXCJyZXF1ZXN0X2xvZ19zdGVwc1wiKS5zZWxlY3Qoe1xuICAgICAgaWQ6IFwicmVxdWVzdF9sb2dfc3RlcHMuaWRcIixcbiAgICAgIGNyZWF0ZWRfYXQ6IFwicmVxdWVzdF9sb2dfc3RlcHMuY3JlYXRlZF9hdFwiLFxuICAgICAgc3RlcF9pbmRleDogXCJyZXF1ZXN0X2xvZ19zdGVwcy5zdGVwX2luZGV4XCIsXG4gICAgICB0eXBlOiBcInJlcXVlc3RfbG9nX3N0ZXBzLnR5cGVcIixcbiAgICAgIGlucHV0X3Rva2VuczogXCJyZXF1ZXN0X2xvZ19zdGVwcy5pbnB1dF90b2tlbnNcIixcbiAgICAgIG91dHB1dF90b2tlbnM6IFwicmVxdWVzdF9sb2dfc3RlcHMub3V0cHV0X3Rva2Vuc1wiLFxuICAgICAgY2FjaGVfcmVhZF90b2tlbnM6IFwicmVxdWVzdF9sb2dfc3RlcHMuY2FjaGVfcmVhZF90b2tlbnNcIixcbiAgICAgIGNhY2hlX2NyZWF0aW9uX3Rva2VuczogXCJyZXF1ZXN0X2xvZ19zdGVwcy5jYWNoZV9jcmVhdGlvbl90b2tlbnNcIixcbiAgICAgIGR1cmF0aW9uX21zOiBcInJlcXVlc3RfbG9nX3N0ZXBzLmR1cmF0aW9uX21zXCIsXG4gICAgICB0dGZ0X21zOiBcInJlcXVlc3RfbG9nX3N0ZXBzLnR0ZnRfbXNcIixcbiAgICAgIGZpbmlzaF9yZWFzb246IFwicmVxdWVzdF9sb2dfc3RlcHMuZmluaXNoX3JlYXNvblwiLFxuICAgICAgcmVhc29uaW5nX3Rva2VuczogXCJyZXF1ZXN0X2xvZ19zdGVwcy5yZWFzb25pbmdfdG9rZW5zXCIsXG4gICAgICB0b29sX2NhbGxfaW5kZXg6IFwicmVxdWVzdF9sb2dfc3RlcHMudG9vbF9jYWxsX2luZGV4XCIsXG4gICAgICB0b29sX2NhbGxfaWQ6IFwicmVxdWVzdF9sb2dfc3RlcHMudG9vbF9jYWxsX2lkXCIsXG4gICAgICB0b29sX25hbWU6IFwicmVxdWVzdF9sb2dfc3RlcHMudG9vbF9uYW1lXCIsXG4gICAgICB0b29sX2R1cmF0aW9uX21zOiBcInJlcXVlc3RfbG9nX3N0ZXBzLnRvb2xfZHVyYXRpb25fbXNcIixcbiAgICAgIGVycm9yOiBcInJlcXVlc3RfbG9nX3N0ZXBzLmVycm9yXCIsXG4gICAgfSk7XG4gIH0sXG4gIEk6IChxYldyYXBwZXI6IFB1cmlXcmFwcGVyPERhdGFiYXNlU2NoZW1hRXh0ZW5kPikgPT4ge1xuICAgIHJldHVybiBxYldyYXBwZXIuZnJvbShcInJlcXVlc3RfbG9nX3N0ZXBzXCIpLnNlbGVjdCh7XG4gICAgICBpZDogXCJyZXF1ZXN0X2xvZ19zdGVwcy5pZFwiLFxuICAgICAgdG9vbF9hcmdzOiBcInJlcXVlc3RfbG9nX3N0ZXBzLnRvb2xfYXJnc1wiLFxuICAgIH0pO1xuICB9LFxufTtcblxuLy8gTG9hZGVyUXVlcnk6IFJlcXVlc3RMb2dTdGVwXG5leHBvcnQgY29uc3QgcmVxdWVzdExvZ1N0ZXBMb2FkZXJRdWVyaWVzID0ge1xuICBBOiBbXSxcbiAgVDogW10sXG4gIEk6IFtdLFxufSBhcyBjb25zdCBzYXRpc2ZpZXMgUHVyaUxvYWRlclF1ZXJpZXM8UmVxdWVzdExvZ1N0ZXBTdWJzZXRLZXk+O1xuXG4vLyBTdWJzZXRRdWVyeTogVG9rZW5cbmV4cG9ydCBjb25zdCB0b2tlblN1YnNldFF1ZXJpZXMgPSB7XG4gIEE6IChxYldyYXBwZXI6IFB1cmlXcmFwcGVyPERhdGFiYXNlU2NoZW1hRXh0ZW5kPikgPT4ge1xuICAgIHJldHVybiBxYldyYXBwZXIuZnJvbShcInRva2Vuc1wiKS5zZWxlY3Qoe1xuICAgICAgaWQ6IFwidG9rZW5zLmlkXCIsXG4gICAgICBjcmVhdGVkX2F0OiBcInRva2Vucy5jcmVhdGVkX2F0XCIsXG4gICAgICBwcm92aWRlcjogXCJ0b2tlbnMucHJvdmlkZXJcIixcbiAgICAgIGNyZWRlbnRpYWxzOiBcInRva2Vucy5jcmVkZW50aWFsc1wiLFxuICAgICAgbmFtZTogXCJ0b2tlbnMubmFtZVwiLFxuICAgICAgYWN0aXZlOiBcInRva2Vucy5hY3RpdmVcIixcbiAgICAgIG9yZDogXCJ0b2tlbnMub3JkXCIsXG4gICAgICBxdW90YV90aHJlc2hvbGQ6IFwidG9rZW5zLnF1b3RhX3RocmVzaG9sZFwiLFxuICAgICAgd2VpZ2h0OiBcInRva2Vucy53ZWlnaHRcIixcbiAgICB9KTtcbiAgfSxcbn07XG5cbi8vIExvYWRlclF1ZXJ5OiBUb2tlblxuZXhwb3J0IGNvbnN0IHRva2VuTG9hZGVyUXVlcmllcyA9IHtcbiAgQTogW10sXG59IGFzIGNvbnN0IHNhdGlzZmllcyBQdXJpTG9hZGVyUXVlcmllczxUb2tlblN1YnNldEtleT47XG5cbi8vIEZvcmVpZ25LZXkgVHlwZXNcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdGVwRm9yZWlnbktleXMgPSBcInJlcXVlc3RfbG9nX2lkXCI7XG5cbi8vIERhdGFiYXNlU2NoZW1hXG5kZWNsYXJlIG1vZHVsZSBcInNvbmFtdVwiIHtcbiAgZXhwb3J0IGludGVyZmFjZSBEYXRhYmFzZVNjaGVtYUV4dGVuZCB7XG4gICAgcmVxdWVzdF9sb2dzOiBSZXF1ZXN0TG9nQmFzZVNjaGVtYTtcbiAgICByZXF1ZXN0X2xvZ19zdGVwczogUmVxdWVzdExvZ1N0ZXBCYXNlU2NoZW1hO1xuICAgIHRva2VuczogVG9rZW5CYXNlU2NoZW1hO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBEYXRhYmFzZUZvcmVpZ25LZXlzIHtcbiAgICByZXF1ZXN0X2xvZ19zdGVwczogUmVxdWVzdExvZ1N0ZXBGb3JlaWduS2V5cztcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOztBQWlCQSxNQUFhLDBCQUEwQjtDQUNyQyxJQUFJLGNBQWlEO0FBQ25ELFNBQU8sVUFBVSxLQUFLLGVBQWUsQ0FBQyxPQUFPO0dBQzNDLElBQUk7R0FDSixZQUFZO0dBQ1osWUFBWTtHQUNaLGNBQWM7R0FDZCxZQUFZO0dBQ1osYUFBYTtHQUNiLGVBQWU7R0FDZixVQUFVO0dBQ1YsY0FBYztHQUNkLGVBQWU7R0FDZixtQkFBbUI7R0FDbkIsdUJBQXVCO0dBQ3ZCLGFBQWE7R0FDYixTQUFTO0dBQ1QsVUFBVTtHQUNWLGdCQUFnQjtHQUNoQixtQkFBbUI7R0FDbkIsUUFBUTtHQUNSLFNBQVM7R0FDVCxRQUFRO0dBQ1IsZUFBZTtHQUNmLGlCQUFpQjtHQUNqQixxQkFBcUI7R0FDdEIsQ0FBQzs7Q0FFSixJQUFJLGNBQWlEO0FBQ25ELFNBQU8sVUFBVSxLQUFLLGVBQWUsQ0FBQyxPQUFPO0dBQzNDLElBQUk7R0FDSixZQUFZO0dBQ1osWUFBWTtHQUNaLGNBQWM7R0FDZCxZQUFZO0dBQ1osY0FBYztHQUNkLGVBQWU7R0FDZixtQkFBbUI7R0FDbkIsdUJBQXVCO0dBQ3ZCLGFBQWE7R0FDYixTQUFTO0dBQ1QsVUFBVTtHQUNWLGdCQUFnQjtHQUNoQixtQkFBbUI7R0FDbkIsUUFBUTtHQUNSLFFBQVE7R0FDUixpQkFBaUI7R0FDakIscUJBQXFCO0dBQ3RCLENBQUM7O0NBRUw7QUFHRCxNQUFhLDBCQUEwQjtDQUNyQyxHQUFHLEVBQUU7Q0FDTCxHQUFHLEVBQUU7Q0FDTjtBQUdELE1BQWEsOEJBQThCO0NBQ3pDLElBQUksY0FBaUQ7QUFDbkQsU0FBTyxVQUFVLEtBQUssb0JBQW9CLENBQUMsT0FBTztHQUNoRCxJQUFJO0dBQ0osWUFBWTtHQUNaLFlBQVk7R0FDWixNQUFNO0dBQ04sY0FBYztHQUNkLGVBQWU7R0FDZixtQkFBbUI7R0FDbkIsdUJBQXVCO0dBQ3ZCLGFBQWE7R0FDYixTQUFTO0dBQ1QsZUFBZTtHQUNmLGdCQUFnQjtHQUNoQixrQkFBa0I7R0FDbEIsaUJBQWlCO0dBQ2pCLGNBQWM7R0FDZCxXQUFXO0dBQ1gsV0FBVztHQUNYLGFBQWE7R0FDYixrQkFBa0I7R0FDbEIsT0FBTztHQUNSLENBQUM7O0NBRUosSUFBSSxjQUFpRDtBQUNuRCxTQUFPLFVBQVUsS0FBSyxvQkFBb0IsQ0FBQyxPQUFPO0dBQ2hELElBQUk7R0FDSixZQUFZO0dBQ1osWUFBWTtHQUNaLE1BQU07R0FDTixjQUFjO0dBQ2QsZUFBZTtHQUNmLG1CQUFtQjtHQUNuQix1QkFBdUI7R0FDdkIsYUFBYTtHQUNiLFNBQVM7R0FDVCxlQUFlO0dBQ2Ysa0JBQWtCO0dBQ2xCLGlCQUFpQjtHQUNqQixjQUFjO0dBQ2QsV0FBVztHQUNYLGtCQUFrQjtHQUNsQixPQUFPO0dBQ1IsQ0FBQzs7Q0FFSixJQUFJLGNBQWlEO0FBQ25ELFNBQU8sVUFBVSxLQUFLLG9CQUFvQixDQUFDLE9BQU87R0FDaEQsSUFBSTtHQUNKLFdBQVc7R0FDWixDQUFDOztDQUVMO0FBR0QsTUFBYSw4QkFBOEI7Q0FDekMsR0FBRyxFQUFFO0NBQ0wsR0FBRyxFQUFFO0NBQ0wsR0FBRyxFQUFFO0NBQ047QUFHRCxNQUFhLHFCQUFxQixFQUNoQyxJQUFJLGNBQWlEO0FBQ25ELFFBQU8sVUFBVSxLQUFLLFNBQVMsQ0FBQyxPQUFPO0VBQ3JDLElBQUk7RUFDSixZQUFZO0VBQ1osVUFBVTtFQUNWLGFBQWE7RUFDYixNQUFNO0VBQ04sUUFBUTtFQUNSLEtBQUs7RUFDTCxpQkFBaUI7RUFDakIsUUFBUTtFQUNULENBQUM7R0FFTDtBQUdELE1BQWEscUJBQXFCLEVBQ2hDLEdBQUcsRUFBRSxFQUNOIn0=
|
|
@@ -6,11 +6,13 @@ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.122.0/helpers
|
|
|
6
6
|
import { BadRequestException, BaseModelClass, NotFoundException, api, asArray, exhaustive } from "sonamu";
|
|
7
7
|
//#region src/application/token/token.model.ts
|
|
8
8
|
const DEFAULT_QUOTA_THRESHOLD = 80;
|
|
9
|
+
const DEFAULT_WEIGHT = 1;
|
|
9
10
|
function applyCreateDefaults(sp) {
|
|
10
|
-
if (sp.id !== void 0
|
|
11
|
+
if (sp.id !== void 0) return sp;
|
|
11
12
|
return {
|
|
12
13
|
...sp,
|
|
13
|
-
quota_threshold: DEFAULT_QUOTA_THRESHOLD
|
|
14
|
+
...sp.quota_threshold === void 0 ? { quota_threshold: DEFAULT_QUOTA_THRESHOLD } : {},
|
|
15
|
+
...sp.weight === void 0 ? { weight: DEFAULT_WEIGHT } : {}
|
|
14
16
|
};
|
|
15
17
|
}
|
|
16
18
|
var TokenModelClass = class extends BaseModelClass {
|
|
@@ -118,6 +120,9 @@ var TokenModelClass = class extends BaseModelClass {
|
|
|
118
120
|
return trx.ubUpsert("tokens");
|
|
119
121
|
});
|
|
120
122
|
}
|
|
123
|
+
async updateFields(id, fields) {
|
|
124
|
+
return this.getPuri("w").transaction((trx) => trx.table("tokens").where("id", id).update(fields));
|
|
125
|
+
}
|
|
121
126
|
async reorder(ids) {
|
|
122
127
|
await this.getPuri("w").transaction(async (trx) => {
|
|
123
128
|
for (let i = 0; i < ids.length; i++) await trx.table("tokens").where("id", ids[i]).update({ ord: i });
|
|
@@ -182,4 +187,4 @@ const TokenModel = new TokenModelClass();
|
|
|
182
187
|
//#endregion
|
|
183
188
|
export { TokenModel };
|
|
184
189
|
|
|
185
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4ubW9kZWwuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcGxpY2F0aW9uL3Rva2VuL3Rva2VuLm1vZGVsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFwaSxcbiAgYXNBcnJheSxcbiAgQmFkUmVxdWVzdEV4Y2VwdGlvbixcbiAgQmFzZU1vZGVsQ2xhc3MsXG4gIGV4aGF1c3RpdmUsXG4gIHR5cGUgTGlzdFJlc3VsdCxcbiAgTm90Rm91bmRFeGNlcHRpb24sXG59IGZyb20gXCJzb25hbXVcIjtcblxuaW1wb3J0IHsgU0QgfSBmcm9tIFwiLi4vLi4vaTE4bi9zZC5nZW5lcmF0ZWRcIjtcbmltcG9ydCB7IHR5cGUgVG9rZW5TdWJzZXRLZXksIHR5cGUgVG9rZW5TdWJzZXRNYXBwaW5nIH0gZnJvbSBcIi4uL3NvbmFtdS5nZW5lcmF0ZWRcIjtcbmltcG9ydCB7IHRva2VuTG9hZGVyUXVlcmllcywgdG9rZW5TdWJzZXRRdWVyaWVzIH0gZnJvbSBcIi4uL3NvbmFtdS5nZW5lcmF0ZWQuc3NvXCI7XG5pbXBvcnQgeyB0eXBlIFRva2VuTGlzdFBhcmFtcywgdHlwZSBUb2tlblNhdmVQYXJhbXMgfSBmcm9tIFwiLi90b2tlbi50eXBlc1wiO1xuXG5jb25zdCBERUZBVUxUX1FVT1RBX1RIUkVTSE9MRCA9IDgwO1xuXG5mdW5jdGlvbiBhcHBseUNyZWF0ZURlZmF1bHRzKHNwOiBUb2tlblNhdmVQYXJhbXMpOiBUb2tlblNhdmVQYXJhbXMge1xuICBpZiAoc3AuaWQgIT09IHVuZGVmaW5lZCB8fCBzcC5xdW90YV90aHJlc2hvbGQgIT09IHVuZGVmaW5lZCkgcmV0dXJuIHNwO1xuICByZXR1cm4geyAuLi5zcCwgcXVvdGFfdGhyZXNob2xkOiBERUZBVUxUX1FVT1RBX1RIUkVTSE9MRCB9O1xufVxuXG5jbGFzcyBUb2tlbk1vZGVsQ2xhc3MgZXh0ZW5kcyBCYXNlTW9kZWxDbGFzczxcbiAgVG9rZW5TdWJzZXRLZXksXG4gIFRva2VuU3Vic2V0TWFwcGluZyxcbiAgdHlwZW9mIHRva2VuU3Vic2V0UXVlcmllcyxcbiAgdHlwZW9mIHRva2VuTG9hZGVyUXVlcmllc1xuPiB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFwiVG9rZW5cIiwgdG9rZW5TdWJzZXRRdWVyaWVzLCB0b2tlbkxvYWRlclF1ZXJpZXMpO1xuICB9XG5cbiAgQGFwaSh7IGh0dHBNZXRob2Q6IFwiR0VUXCIsIGNsaWVudHM6IFtcImF4aW9zXCIsIFwidGFuc3RhY2stcXVlcnlcIl0sIHJlc291cmNlTmFtZTogXCJUb2tlblwiIH0pXG4gIGFzeW5jIGZpbmRCeUlkPFQgZXh0ZW5kcyBUb2tlblN1YnNldEtleT4oc3Vic2V0OiBULCBpZDogbnVtYmVyKTogUHJvbWlzZTxUb2tlblN1YnNldE1hcHBpbmdbVF0+IHtcbiAgICBjb25zdCB7IHJvd3MgfSA9IGF3YWl0IHRoaXMuZmluZE1hbnkoc3Vic2V0LCB7IGlkLCBudW06IDEsIHBhZ2U6IDEgfSk7XG4gICAgaWYgKCFyb3dzWzBdKSB7XG4gICAgICB0aHJvdyBuZXcgTm90Rm91bmRFeGNlcHRpb24oU0QoXCJlcnJvci5lbnRpdHlOb3RGb3VuZFwiKShcIlRva2VuXCIsIGlkKSk7XG4gICAgfVxuICAgIHJldHVybiByb3dzWzBdO1xuICB9XG5cbiAgYXN5bmMgZmluZE9uZTxUIGV4dGVuZHMgVG9rZW5TdWJzZXRLZXk+KFxuICAgIHN1YnNldDogVCxcbiAgICBsaXN0UGFyYW1zOiBUb2tlbkxpc3RQYXJhbXMsXG4gICk6IFByb21pc2U8VG9rZW5TdWJzZXRNYXBwaW5nW1RdIHwgbnVsbD4ge1xuICAgIGNvbnN0IHsgcm93cyB9ID0gYXdhaXQgdGhpcy5maW5kTWFueShzdWJzZXQsIHsgLi4ubGlzdFBhcmFtcywgbnVtOiAxLCBwYWdlOiAxIH0pO1xuICAgIHJldHVybiByb3dzWzBdID8/IG51bGw7XG4gIH1cblxuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJHRVRcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1xdWVyeVwiXSwgcmVzb3VyY2VOYW1lOiBcIlRva2Vuc1wiIH0pXG4gIGFzeW5jIGZpbmRNYW55PFQgZXh0ZW5kcyBUb2tlblN1YnNldEtleSwgTFAgZXh0ZW5kcyBUb2tlbkxpc3RQYXJhbXM+KFxuICAgIHN1YnNldDogVCxcbiAgICByYXdQYXJhbXM/OiBMUCxcbiAgKTogUHJvbWlzZTxMaXN0UmVzdWx0PExQLCBUb2tlblN1YnNldE1hcHBpbmdbVF0+PiB7XG4gICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgbnVtOiAyNCxcbiAgICAgIHBhZ2U6IDEsXG4gICAgICBzZWFyY2g6IFwiaWRcIiBhcyBjb25zdCxcbiAgICAgIG9yZGVyQnk6IFwib3JkLWFzY1wiIGFzIGNvbnN0LFxuICAgICAgLi4ucmF3UGFyYW1zLFxuICAgIH0gc2F0aXNmaWVzIFRva2VuTGlzdFBhcmFtcztcblxuICAgIGNvbnN0IHsgcWIsIG9uU3Vic2V0OiBfIH0gPSB0aGlzLmdldFN1YnNldFF1ZXJpZXMoc3Vic2V0KTtcblxuICAgIGlmIChwYXJhbXMuaWQpIHtcbiAgICAgIHFiLndoZXJlSW4oXCJ0b2tlbnMuaWRcIiwgYXNBcnJheShwYXJhbXMuaWQpKTtcbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLnNlYXJjaCAmJiBwYXJhbXMua2V5d29yZCAmJiBwYXJhbXMua2V5d29yZC5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAocGFyYW1zLnNlYXJjaCA9PT0gXCJpZFwiKSB7XG4gICAgICAgIHFiLndoZXJlKFwidG9rZW5zLmlkXCIsIE51bWJlcihwYXJhbXMua2V5d29yZCkpO1xuICAgICAgfSBlbHNlIGlmIChwYXJhbXMuc2VhcmNoID09PSBcIm5hbWVcIikge1xuICAgICAgICBxYi53aGVyZShcInRva2Vucy5uYW1lXCIsIFwibGlrZVwiLCBgJSR7cGFyYW1zLmtleXdvcmR9JWApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEJhZFJlcXVlc3RFeGNlcHRpb24oU0QoXCJlcnJvci51bmtub3duU2VhcmNoRmllbGRcIikocGFyYW1zLnNlYXJjaCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwYXJhbXMub3JkZXJCeSkge1xuICAgICAgaWYgKHBhcmFtcy5vcmRlckJ5ID09PSBcImlkLWRlc2NcIikge1xuICAgICAgICBxYi5vcmRlckJ5KFwidG9rZW5zLmlkXCIsIFwiZGVzY1wiKTtcbiAgICAgIH0gZWxzZSBpZiAocGFyYW1zLm9yZGVyQnkgPT09IFwib3JkLWFzY1wiKSB7XG4gICAgICAgIHFiLm9yZGVyQnkoXCJ0b2tlbnMub3JkXCIsIFwiYXNjXCIpO1xuICAgICAgICBxYi5vcmRlckJ5KFwidG9rZW5zLmlkXCIsIFwiYXNjXCIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXhoYXVzdGl2ZShwYXJhbXMub3JkZXJCeSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZW5oYW5jZXJzID0gdGhpcy5jcmVhdGVFbmhhbmNlcnMoe1xuICAgICAgQTogKHJvdykgPT4gKHsgLi4ucm93IH0pLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuZXhlY3V0ZVN1YnNldFF1ZXJ5KHsgc3Vic2V0LCBxYiwgcGFyYW1zLCBlbmhhbmNlcnMsIGRlYnVnOiBmYWxzZSB9KTtcbiAgfVxuXG4gIGFzeW5jIGZpbmRCeUFjY291bnRJZGVudGlmaWVyPFQgZXh0ZW5kcyBUb2tlblN1YnNldEtleT4oXG4gICAgc3Vic2V0OiBULFxuICAgIHByb3ZpZGVyOiBzdHJpbmcsXG4gICAgYWNjb3VudElkOiBzdHJpbmcsXG4gICk6IFByb21pc2U8VG9rZW5TdWJzZXRNYXBwaW5nW1RdW10+IHtcbiAgICBjb25zdCB7IHFiIH0gPSB0aGlzLmdldFN1YnNldFF1ZXJpZXMoc3Vic2V0KTtcbiAgICBxYi53aGVyZShcInRva2Vucy5wcm92aWRlclwiLCBwcm92aWRlcik7XG4gICAgY29uc3QganNvbktleSA9IHByb3ZpZGVyID09PSBcImFudGhyb3BpY1wiID8gXCJhY2NvdW50VXVpZFwiIDogXCJhY2NvdW50SWRcIjtcbiAgICBxYi53aGVyZVJhdyhgdG9rZW5zLmNyZWRlbnRpYWxzLT4+JyR7anNvbktleX0nID0gP2AsIFthY2NvdW50SWRdKTtcbiAgICBjb25zdCBlbmhhbmNlcnMgPSB0aGlzLmNyZWF0ZUVuaGFuY2Vycyh7IEE6IChyb3cpID0+ICh7IC4uLnJvdyB9KSB9KTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmV4ZWN1dGVTdWJzZXRRdWVyeSh7XG4gICAgICBzdWJzZXQsXG4gICAgICBxYixcbiAgICAgIHBhcmFtczogeyBudW06IDEwMCwgcGFnZTogMSB9LFxuICAgICAgZW5oYW5jZXJzLFxuICAgICAgZGVidWc6IGZhbHNlLFxuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQucm93cztcbiAgfVxuXG4gIGFzeW5jIGZpbmRBY3RpdmVCeVByb3ZpZGVyPFQgZXh0ZW5kcyBUb2tlblN1YnNldEtleT4oXG4gICAgc3Vic2V0OiBULFxuICAgIHByb3ZpZGVyOiBzdHJpbmcsXG4gICk6IFByb21pc2U8VG9rZW5TdWJzZXRNYXBwaW5nW1RdW10+IHtcbiAgICBjb25zdCB7IHFiIH0gPSB0aGlzLmdldFN1YnNldFF1ZXJpZXMoc3Vic2V0KTtcbiAgICBxYi53aGVyZShcInRva2Vucy5hY3RpdmVcIiwgdHJ1ZSk7XG4gICAgcWIud2hlcmUoXCJ0b2tlbnMucHJvdmlkZXJcIiwgcHJvdmlkZXIpO1xuICAgIGNvbnN0IGVuaGFuY2VycyA9IHRoaXMuY3JlYXRlRW5oYW5jZXJzKHsgQTogKHJvdykgPT4gKHsgLi4ucm93IH0pIH0pO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuZXhlY3V0ZVN1YnNldFF1ZXJ5KHtcbiAgICAgIHN1YnNldCxcbiAgICAgIHFiLFxuICAgICAgcGFyYW1zOiB7IG51bTogMTAwLCBwYWdlOiAxIH0sXG4gICAgICBlbmhhbmNlcnMsXG4gICAgICBkZWJ1ZzogZmFsc2UsXG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdC5yb3dzO1xuICB9XG5cbiAgYXN5bmMgZmluZEFjdGl2ZTxUIGV4dGVuZHMgVG9rZW5TdWJzZXRLZXk+KHN1YnNldDogVCk6IFByb21pc2U8VG9rZW5TdWJzZXRNYXBwaW5nW1RdW10+IHtcbiAgICBjb25zdCB7IHFiIH0gPSB0aGlzLmdldFN1YnNldFF1ZXJpZXMoc3Vic2V0KTtcbiAgICBxYi53aGVyZShcInRva2Vucy5hY3RpdmVcIiwgdHJ1ZSk7XG4gICAgY29uc3QgZW5oYW5jZXJzID0gdGhpcy5jcmVhdGVFbmhhbmNlcnMoeyBBOiAocm93KSA9PiAoeyAuLi5yb3cgfSkgfSk7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5leGVjdXRlU3Vic2V0UXVlcnkoe1xuICAgICAgc3Vic2V0LFxuICAgICAgcWIsXG4gICAgICBwYXJhbXM6IHsgbnVtOiAxMDAsIHBhZ2U6IDEgfSxcbiAgICAgIGVuaGFuY2VycyxcbiAgICAgIGRlYnVnOiBmYWxzZSxcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0LnJvd3M7XG4gIH1cblxuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJQT1NUXCIsIGNsaWVudHM6IFtcImF4aW9zXCIsIFwidGFuc3RhY2stbXV0YXRpb25cIl0gfSlcbiAgYXN5bmMgc2F2ZShzcGE6IFRva2VuU2F2ZVBhcmFtc1tdKTogUHJvbWlzZTxudW1iZXJbXT4ge1xuICAgIGNvbnN0IHdkYiA9IHRoaXMuZ2V0UHVyaShcIndcIik7XG4gICAgc3BhLmZvckVhY2goKHNwKSA9PiB7XG4gICAgICB3ZGIudWJSZWdpc3RlcihcInRva2Vuc1wiLCBhcHBseUNyZWF0ZURlZmF1bHRzKHNwKSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHdkYi50cmFuc2FjdGlvbihhc3luYyAodHJ4KSA9PiB7XG4gICAgICByZXR1cm4gdHJ4LnViVXBzZXJ0KFwidG9rZW5zXCIpO1xuICAgIH0pO1xuICB9XG5cbiAgQGFwaSh7IGh0dHBNZXRob2Q6IFwiUE9TVFwiLCBjbGllbnRzOiBbXCJheGlvc1wiLCBcInRhbnN0YWNrLW11dGF0aW9uXCJdIH0pXG4gIGFzeW5jIHJlb3JkZXIoaWRzOiBudW1iZXJbXSk6IFByb21pc2U8eyBkb25lOiBib29sZWFuIH0+IHtcbiAgICBjb25zdCB3ZGIgPSB0aGlzLmdldFB1cmkoXCJ3XCIpO1xuICAgIGF3YWl0IHdkYi50cmFuc2FjdGlvbihhc3luYyAodHJ4KSA9PiB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGlkcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBhd2FpdCB0cngudGFibGUoXCJ0b2tlbnNcIikud2hlcmUoXCJpZFwiLCBpZHNbaV0hKS51cGRhdGUoeyBvcmQ6IGkgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHsgZG9uZTogdHJ1ZSB9O1xuICB9XG5cbiAgQGFwaSh7IGh0dHBNZXRob2Q6IFwiUE9TVFwiLCBjbGllbnRzOiBbXCJheGlvc1wiLCBcInRhbnN0YWNrLW11dGF0aW9uXCJdIH0pXG4gIGFzeW5jIGRlbChpZHM6IG51bWJlcltdKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICBjb25zdCB3ZGIgPSB0aGlzLmdldFB1cmkoXCJ3XCIpO1xuICAgIGF3YWl0IHdkYi50cmFuc2FjdGlvbihhc3luYyAodHJ4KSA9PiB7XG4gICAgICByZXR1cm4gdHJ4LnRhYmxlKFwidG9rZW5zXCIpLndoZXJlSW4oXCJ0b2tlbnMuaWRcIiwgaWRzKS5kZWxldGUoKTtcbiAgICB9KTtcbiAgICByZXR1cm4gaWRzLmxlbmd0aDtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgVG9rZW5Nb2RlbCA9IG5ldyBUb2tlbk1vZGVsQ2xhc3MoKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQWVBLE1BQU0sMEJBQTBCO0FBRWhDLFNBQVMsb0JBQW9CLElBQXNDO0FBQ2pFLEtBQUksR0FBRyxPQUFPLFVBQWEsR0FBRyxvQkFBb0IsT0FBVyxRQUFPO0FBQ3BFLFFBQU87RUFBRSxHQUFHO0VBQUksaUJBQWlCO0VBQXlCOztBQUc1RCxJQUFNLGtCQUFOLGNBQThCLGVBSzVCO0NBQ0EsY0FB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
|
|
190
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4ubW9kZWwuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcGxpY2F0aW9uL3Rva2VuL3Rva2VuLm1vZGVsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFwaSxcbiAgYXNBcnJheSxcbiAgQmFkUmVxdWVzdEV4Y2VwdGlvbixcbiAgQmFzZU1vZGVsQ2xhc3MsXG4gIGV4aGF1c3RpdmUsXG4gIHR5cGUgTGlzdFJlc3VsdCxcbiAgTm90Rm91bmRFeGNlcHRpb24sXG59IGZyb20gXCJzb25hbXVcIjtcblxuaW1wb3J0IHsgU0QgfSBmcm9tIFwiLi4vLi4vaTE4bi9zZC5nZW5lcmF0ZWRcIjtcbmltcG9ydCB7IHR5cGUgVG9rZW5TdWJzZXRLZXksIHR5cGUgVG9rZW5TdWJzZXRNYXBwaW5nIH0gZnJvbSBcIi4uL3NvbmFtdS5nZW5lcmF0ZWRcIjtcbmltcG9ydCB7IHRva2VuTG9hZGVyUXVlcmllcywgdG9rZW5TdWJzZXRRdWVyaWVzIH0gZnJvbSBcIi4uL3NvbmFtdS5nZW5lcmF0ZWQuc3NvXCI7XG5pbXBvcnQgeyB0eXBlIFRva2VuTGlzdFBhcmFtcywgdHlwZSBUb2tlblNhdmVQYXJhbXMgfSBmcm9tIFwiLi90b2tlbi50eXBlc1wiO1xuXG5jb25zdCBERUZBVUxUX1FVT1RBX1RIUkVTSE9MRCA9IDgwO1xuY29uc3QgREVGQVVMVF9XRUlHSFQgPSAxO1xuXG5leHBvcnQgdHlwZSBUb2tlblVwZGF0ZUZpZWxkcyA9IHtcbiAgbmFtZT86IHN0cmluZztcbiAgcXVvdGFfdGhyZXNob2xkPzogbnVtYmVyIHwgbnVsbDtcbiAgd2VpZ2h0PzogbnVtYmVyO1xufTtcblxuZnVuY3Rpb24gYXBwbHlDcmVhdGVEZWZhdWx0cyhzcDogVG9rZW5TYXZlUGFyYW1zKTogVG9rZW5TYXZlUGFyYW1zIHtcbiAgaWYgKHNwLmlkICE9PSB1bmRlZmluZWQpIHJldHVybiBzcDtcbiAgcmV0dXJuIHtcbiAgICAuLi5zcCxcbiAgICAuLi4oc3AucXVvdGFfdGhyZXNob2xkID09PSB1bmRlZmluZWQgPyB7IHF1b3RhX3RocmVzaG9sZDogREVGQVVMVF9RVU9UQV9USFJFU0hPTEQgfSA6IHt9KSxcbiAgICAuLi4oc3Aud2VpZ2h0ID09PSB1bmRlZmluZWQgPyB7IHdlaWdodDogREVGQVVMVF9XRUlHSFQgfSA6IHt9KSxcbiAgfTtcbn1cblxuY2xhc3MgVG9rZW5Nb2RlbENsYXNzIGV4dGVuZHMgQmFzZU1vZGVsQ2xhc3M8XG4gIFRva2VuU3Vic2V0S2V5LFxuICBUb2tlblN1YnNldE1hcHBpbmcsXG4gIHR5cGVvZiB0b2tlblN1YnNldFF1ZXJpZXMsXG4gIHR5cGVvZiB0b2tlbkxvYWRlclF1ZXJpZXNcbj4ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihcIlRva2VuXCIsIHRva2VuU3Vic2V0UXVlcmllcywgdG9rZW5Mb2FkZXJRdWVyaWVzKTtcbiAgfVxuXG4gIEBhcGkoeyBodHRwTWV0aG9kOiBcIkdFVFwiLCBjbGllbnRzOiBbXCJheGlvc1wiLCBcInRhbnN0YWNrLXF1ZXJ5XCJdLCByZXNvdXJjZU5hbWU6IFwiVG9rZW5cIiB9KVxuICBhc3luYyBmaW5kQnlJZDxUIGV4dGVuZHMgVG9rZW5TdWJzZXRLZXk+KHN1YnNldDogVCwgaWQ6IG51bWJlcik6IFByb21pc2U8VG9rZW5TdWJzZXRNYXBwaW5nW1RdPiB7XG4gICAgY29uc3QgeyByb3dzIH0gPSBhd2FpdCB0aGlzLmZpbmRNYW55KHN1YnNldCwgeyBpZCwgbnVtOiAxLCBwYWdlOiAxIH0pO1xuICAgIGlmICghcm93c1swXSkge1xuICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXhjZXB0aW9uKFNEKFwiZXJyb3IuZW50aXR5Tm90Rm91bmRcIikoXCJUb2tlblwiLCBpZCkpO1xuICAgIH1cbiAgICByZXR1cm4gcm93c1swXTtcbiAgfVxuXG4gIGFzeW5jIGZpbmRPbmU8VCBleHRlbmRzIFRva2VuU3Vic2V0S2V5PihcbiAgICBzdWJzZXQ6IFQsXG4gICAgbGlzdFBhcmFtczogVG9rZW5MaXN0UGFyYW1zLFxuICApOiBQcm9taXNlPFRva2VuU3Vic2V0TWFwcGluZ1tUXSB8IG51bGw+IHtcbiAgICBjb25zdCB7IHJvd3MgfSA9IGF3YWl0IHRoaXMuZmluZE1hbnkoc3Vic2V0LCB7IC4uLmxpc3RQYXJhbXMsIG51bTogMSwgcGFnZTogMSB9KTtcbiAgICByZXR1cm4gcm93c1swXSA/PyBudWxsO1xuICB9XG5cbiAgQGFwaSh7IGh0dHBNZXRob2Q6IFwiR0VUXCIsIGNsaWVudHM6IFtcImF4aW9zXCIsIFwidGFuc3RhY2stcXVlcnlcIl0sIHJlc291cmNlTmFtZTogXCJUb2tlbnNcIiB9KVxuICBhc3luYyBmaW5kTWFueTxUIGV4dGVuZHMgVG9rZW5TdWJzZXRLZXksIExQIGV4dGVuZHMgVG9rZW5MaXN0UGFyYW1zPihcbiAgICBzdWJzZXQ6IFQsXG4gICAgcmF3UGFyYW1zPzogTFAsXG4gICk6IFByb21pc2U8TGlzdFJlc3VsdDxMUCwgVG9rZW5TdWJzZXRNYXBwaW5nW1RdPj4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgIG51bTogMjQsXG4gICAgICBwYWdlOiAxLFxuICAgICAgc2VhcmNoOiBcImlkXCIgYXMgY29uc3QsXG4gICAgICBvcmRlckJ5OiBcIm9yZC1hc2NcIiBhcyBjb25zdCxcbiAgICAgIC4uLnJhd1BhcmFtcyxcbiAgICB9IHNhdGlzZmllcyBUb2tlbkxpc3RQYXJhbXM7XG5cbiAgICBjb25zdCB7IHFiLCBvblN1YnNldDogXyB9ID0gdGhpcy5nZXRTdWJzZXRRdWVyaWVzKHN1YnNldCk7XG5cbiAgICBpZiAocGFyYW1zLmlkKSB7XG4gICAgICBxYi53aGVyZUluKFwidG9rZW5zLmlkXCIsIGFzQXJyYXkocGFyYW1zLmlkKSk7XG4gICAgfVxuXG4gICAgaWYgKHBhcmFtcy5zZWFyY2ggJiYgcGFyYW1zLmtleXdvcmQgJiYgcGFyYW1zLmtleXdvcmQubGVuZ3RoID4gMCkge1xuICAgICAgaWYgKHBhcmFtcy5zZWFyY2ggPT09IFwiaWRcIikge1xuICAgICAgICBxYi53aGVyZShcInRva2Vucy5pZFwiLCBOdW1iZXIocGFyYW1zLmtleXdvcmQpKTtcbiAgICAgIH0gZWxzZSBpZiAocGFyYW1zLnNlYXJjaCA9PT0gXCJuYW1lXCIpIHtcbiAgICAgICAgcWIud2hlcmUoXCJ0b2tlbnMubmFtZVwiLCBcImxpa2VcIiwgYCUke3BhcmFtcy5rZXl3b3JkfSVgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBCYWRSZXF1ZXN0RXhjZXB0aW9uKFNEKFwiZXJyb3IudW5rbm93blNlYXJjaEZpZWxkXCIpKHBhcmFtcy5zZWFyY2gpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLm9yZGVyQnkpIHtcbiAgICAgIGlmIChwYXJhbXMub3JkZXJCeSA9PT0gXCJpZC1kZXNjXCIpIHtcbiAgICAgICAgcWIub3JkZXJCeShcInRva2Vucy5pZFwiLCBcImRlc2NcIik7XG4gICAgICB9IGVsc2UgaWYgKHBhcmFtcy5vcmRlckJ5ID09PSBcIm9yZC1hc2NcIikge1xuICAgICAgICBxYi5vcmRlckJ5KFwidG9rZW5zLm9yZFwiLCBcImFzY1wiKTtcbiAgICAgICAgcWIub3JkZXJCeShcInRva2Vucy5pZFwiLCBcImFzY1wiKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGV4aGF1c3RpdmUocGFyYW1zLm9yZGVyQnkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGVuaGFuY2VycyA9IHRoaXMuY3JlYXRlRW5oYW5jZXJzKHtcbiAgICAgIEE6IChyb3cpID0+ICh7IC4uLnJvdyB9KSxcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLmV4ZWN1dGVTdWJzZXRRdWVyeSh7IHN1YnNldCwgcWIsIHBhcmFtcywgZW5oYW5jZXJzLCBkZWJ1ZzogZmFsc2UgfSk7XG4gIH1cblxuICBhc3luYyBmaW5kQnlBY2NvdW50SWRlbnRpZmllcjxUIGV4dGVuZHMgVG9rZW5TdWJzZXRLZXk+KFxuICAgIHN1YnNldDogVCxcbiAgICBwcm92aWRlcjogc3RyaW5nLFxuICAgIGFjY291bnRJZDogc3RyaW5nLFxuICApOiBQcm9taXNlPFRva2VuU3Vic2V0TWFwcGluZ1tUXVtdPiB7XG4gICAgY29uc3QgeyBxYiB9ID0gdGhpcy5nZXRTdWJzZXRRdWVyaWVzKHN1YnNldCk7XG4gICAgcWIud2hlcmUoXCJ0b2tlbnMucHJvdmlkZXJcIiwgcHJvdmlkZXIpO1xuICAgIGNvbnN0IGpzb25LZXkgPSBwcm92aWRlciA9PT0gXCJhbnRocm9waWNcIiA/IFwiYWNjb3VudFV1aWRcIiA6IFwiYWNjb3VudElkXCI7XG4gICAgcWIud2hlcmVSYXcoYHRva2Vucy5jcmVkZW50aWFscy0+Picke2pzb25LZXl9JyA9ID9gLCBbYWNjb3VudElkXSk7XG4gICAgY29uc3QgZW5oYW5jZXJzID0gdGhpcy5jcmVhdGVFbmhhbmNlcnMoeyBBOiAocm93KSA9PiAoeyAuLi5yb3cgfSkgfSk7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5leGVjdXRlU3Vic2V0UXVlcnkoe1xuICAgICAgc3Vic2V0LFxuICAgICAgcWIsXG4gICAgICBwYXJhbXM6IHsgbnVtOiAxMDAsIHBhZ2U6IDEgfSxcbiAgICAgIGVuaGFuY2VycyxcbiAgICAgIGRlYnVnOiBmYWxzZSxcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0LnJvd3M7XG4gIH1cblxuICBhc3luYyBmaW5kQWN0aXZlQnlQcm92aWRlcjxUIGV4dGVuZHMgVG9rZW5TdWJzZXRLZXk+KFxuICAgIHN1YnNldDogVCxcbiAgICBwcm92aWRlcjogc3RyaW5nLFxuICApOiBQcm9taXNlPFRva2VuU3Vic2V0TWFwcGluZ1tUXVtdPiB7XG4gICAgY29uc3QgeyBxYiB9ID0gdGhpcy5nZXRTdWJzZXRRdWVyaWVzKHN1YnNldCk7XG4gICAgcWIud2hlcmUoXCJ0b2tlbnMuYWN0aXZlXCIsIHRydWUpO1xuICAgIHFiLndoZXJlKFwidG9rZW5zLnByb3ZpZGVyXCIsIHByb3ZpZGVyKTtcbiAgICBjb25zdCBlbmhhbmNlcnMgPSB0aGlzLmNyZWF0ZUVuaGFuY2Vycyh7IEE6IChyb3cpID0+ICh7IC4uLnJvdyB9KSB9KTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmV4ZWN1dGVTdWJzZXRRdWVyeSh7XG4gICAgICBzdWJzZXQsXG4gICAgICBxYixcbiAgICAgIHBhcmFtczogeyBudW06IDEwMCwgcGFnZTogMSB9LFxuICAgICAgZW5oYW5jZXJzLFxuICAgICAgZGVidWc6IGZhbHNlLFxuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQucm93cztcbiAgfVxuXG4gIGFzeW5jIGZpbmRBY3RpdmU8VCBleHRlbmRzIFRva2VuU3Vic2V0S2V5PihzdWJzZXQ6IFQpOiBQcm9taXNlPFRva2VuU3Vic2V0TWFwcGluZ1tUXVtdPiB7XG4gICAgY29uc3QgeyBxYiB9ID0gdGhpcy5nZXRTdWJzZXRRdWVyaWVzKHN1YnNldCk7XG4gICAgcWIud2hlcmUoXCJ0b2tlbnMuYWN0aXZlXCIsIHRydWUpO1xuICAgIGNvbnN0IGVuaGFuY2VycyA9IHRoaXMuY3JlYXRlRW5oYW5jZXJzKHsgQTogKHJvdykgPT4gKHsgLi4ucm93IH0pIH0pO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuZXhlY3V0ZVN1YnNldFF1ZXJ5KHtcbiAgICAgIHN1YnNldCxcbiAgICAgIHFiLFxuICAgICAgcGFyYW1zOiB7IG51bTogMTAwLCBwYWdlOiAxIH0sXG4gICAgICBlbmhhbmNlcnMsXG4gICAgICBkZWJ1ZzogZmFsc2UsXG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdC5yb3dzO1xuICB9XG5cbiAgQGFwaSh7IGh0dHBNZXRob2Q6IFwiUE9TVFwiLCBjbGllbnRzOiBbXCJheGlvc1wiLCBcInRhbnN0YWNrLW11dGF0aW9uXCJdIH0pXG4gIGFzeW5jIHNhdmUoc3BhOiBUb2tlblNhdmVQYXJhbXNbXSk6IFByb21pc2U8bnVtYmVyW10+IHtcbiAgICBjb25zdCB3ZGIgPSB0aGlzLmdldFB1cmkoXCJ3XCIpO1xuICAgIHNwYS5mb3JFYWNoKChzcCkgPT4ge1xuICAgICAgd2RiLnViUmVnaXN0ZXIoXCJ0b2tlbnNcIiwgYXBwbHlDcmVhdGVEZWZhdWx0cyhzcCkpO1xuICAgIH0pO1xuICAgIHJldHVybiB3ZGIudHJhbnNhY3Rpb24oYXN5bmMgKHRyeCkgPT4ge1xuICAgICAgcmV0dXJuIHRyeC51YlVwc2VydChcInRva2Vuc1wiKTtcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZUZpZWxkcyhpZDogbnVtYmVyLCBmaWVsZHM6IFRva2VuVXBkYXRlRmllbGRzKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICBjb25zdCB3ZGIgPSB0aGlzLmdldFB1cmkoXCJ3XCIpO1xuICAgIHJldHVybiB3ZGIudHJhbnNhY3Rpb24oKHRyeCkgPT4gdHJ4LnRhYmxlKFwidG9rZW5zXCIpLndoZXJlKFwiaWRcIiwgaWQpLnVwZGF0ZShmaWVsZHMpKTtcbiAgfVxuXG4gIEBhcGkoeyBodHRwTWV0aG9kOiBcIlBPU1RcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1tdXRhdGlvblwiXSB9KVxuICBhc3luYyByZW9yZGVyKGlkczogbnVtYmVyW10pOiBQcm9taXNlPHsgZG9uZTogYm9vbGVhbiB9PiB7XG4gICAgY29uc3Qgd2RiID0gdGhpcy5nZXRQdXJpKFwid1wiKTtcbiAgICBhd2FpdCB3ZGIudHJhbnNhY3Rpb24oYXN5bmMgKHRyeCkgPT4ge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpZHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgYXdhaXQgdHJ4LnRhYmxlKFwidG9rZW5zXCIpLndoZXJlKFwiaWRcIiwgaWRzW2ldISkudXBkYXRlKHsgb3JkOiBpIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB7IGRvbmU6IHRydWUgfTtcbiAgfVxuXG4gIEBhcGkoeyBodHRwTWV0aG9kOiBcIlBPU1RcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1tdXRhdGlvblwiXSB9KVxuICBhc3luYyBkZWwoaWRzOiBudW1iZXJbXSk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgY29uc3Qgd2RiID0gdGhpcy5nZXRQdXJpKFwid1wiKTtcbiAgICBhd2FpdCB3ZGIudHJhbnNhY3Rpb24oYXN5bmMgKHRyeCkgPT4ge1xuICAgICAgcmV0dXJuIHRyeC50YWJsZShcInRva2Vuc1wiKS53aGVyZUluKFwidG9rZW5zLmlkXCIsIGlkcykuZGVsZXRlKCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGlkcy5sZW5ndGg7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IFRva2VuTW9kZWwgPSBuZXcgVG9rZW5Nb2RlbENsYXNzKCk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFlQSxNQUFNLDBCQUEwQjtBQUNoQyxNQUFNLGlCQUFpQjtBQVF2QixTQUFTLG9CQUFvQixJQUFzQztBQUNqRSxLQUFJLEdBQUcsT0FBTyxPQUFXLFFBQU87QUFDaEMsUUFBTztFQUNMLEdBQUc7RUFDSCxHQUFJLEdBQUcsb0JBQW9CLFNBQVksRUFBRSxpQkFBaUIseUJBQXlCLEdBQUcsRUFBRTtFQUN4RixHQUFJLEdBQUcsV0FBVyxTQUFZLEVBQUUsUUFBUSxnQkFBZ0IsR0FBRyxFQUFFO0VBQzlEOztBQUdILElBQU0sa0JBQU4sY0FBOEIsZUFLNUI7Q0FDQSxjQUFjO0FBQ1osUUFBTSxTQUFTLG9CQUFvQixtQkFBbUI7O0NBR3hELE1BQ00sU0FBbUMsUUFBVyxJQUE0QztFQUM5RixNQUFNLEVBQUUsU0FBUyxNQUFNLEtBQUssU0FBUyxRQUFRO0dBQUU7R0FBSSxLQUFLO0dBQUcsTUFBTTtHQUFHLENBQUM7QUFDckUsTUFBSSxDQUFDLEtBQUssR0FDUixPQUFNLElBQUksa0JBQWtCLEdBQUcsdUJBQXVCLENBQUMsU0FBUyxHQUFHLENBQUM7QUFFdEUsU0FBTyxLQUFLOztDQUdkLE1BQU0sUUFDSixRQUNBLFlBQ3VDO0VBQ3ZDLE1BQU0sRUFBRSxTQUFTLE1BQU0sS0FBSyxTQUFTLFFBQVE7R0FBRSxHQUFHO0dBQVksS0FBSztHQUFHLE1BQU07R0FBRyxDQUFDO0FBQ2hGLFNBQU8s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
|
|
@@ -20,14 +20,19 @@ const OpenAICredentials = z.object({
|
|
|
20
20
|
const TokenCredentials = z.union([AnthropicCredentials, OpenAICredentials]);
|
|
21
21
|
const TokenListParams = TokenBaseListParams;
|
|
22
22
|
const TokenQuotaThreshold = z.int().min(1).max(100).nullable();
|
|
23
|
+
const TokenWeight = z.int().min(1).max(100);
|
|
23
24
|
const TokenSaveParams = TokenBaseSchema.partial({
|
|
24
25
|
id: true,
|
|
25
26
|
created_at: true,
|
|
26
27
|
active: true,
|
|
27
28
|
ord: true,
|
|
28
|
-
quota_threshold: true
|
|
29
|
-
|
|
29
|
+
quota_threshold: true,
|
|
30
|
+
weight: true
|
|
31
|
+
}).extend({
|
|
32
|
+
quota_threshold: TokenQuotaThreshold.optional(),
|
|
33
|
+
weight: TokenWeight.optional()
|
|
34
|
+
});
|
|
30
35
|
//#endregion
|
|
31
36
|
export { AnthropicCredentials, OpenAICredentials, TokenCredentials, TokenListParams, TokenSaveParams };
|
|
32
37
|
|
|
33
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4udHlwZXMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcGxpY2F0aW9uL3Rva2VuL3Rva2VuLnR5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHogfSBmcm9tIFwiem9kXCI7XG5cbmltcG9ydCB7IFRva2VuQmFzZUxpc3RQYXJhbXMsIFRva2VuQmFzZVNjaGVtYSB9IGZyb20gXCIuLi9zb25hbXUuZ2VuZXJhdGVkXCI7XG5cbi8vIOKUgOKUgCBDcmVkZW50aWFscyBKU09OQiBzY2hlbWEgKFNvbmFtdSBqc29uIHByb3Ag7J2YIGlkOiBcIlRva2VuQ3JlZGVudGlhbHNcIiDqsIAg7LC47KGwKSDilIDilIBcblxuZXhwb3J0IGNvbnN0IEFudGhyb3BpY0NyZWRlbnRpYWxzID0gei5vYmplY3Qoe1xuICBhY2Nlc3NUb2tlbjogei5zdHJpbmcoKSxcbiAgcmVmcmVzaFRva2VuOiB6LnN0cmluZygpLFxuICBleHBpcmVzQXQ6IHoubnVtYmVyKCksXG4gIGFjY291bnRVdWlkOiB6LnN0cmluZygpLFxufSk7XG5leHBvcnQgdHlwZSBBbnRocm9waWNDcmVkZW50aWFscyA9IHouaW5mZXI8dHlwZW9mIEFudGhyb3BpY0NyZWRlbnRpYWxzPjtcblxuZXhwb3J0IGNvbnN0IE9wZW5BSUNyZWRlbnRpYWxzID0gei5vYmplY3Qoe1xuICBhY2Nlc3NUb2tlbjogei5zdHJpbmcoKSxcbiAgcmVmcmVzaFRva2VuOiB6LnN0cmluZygpLFxuICBpZFRva2VuOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGFjY2Vzc1Rva2VuRXhwaXJlc0F0OiB6Lm51bWJlcigpLFxuICBpZFRva2VuRXhwaXJlc0F0OiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGFjY291bnRJZDogei5zdHJpbmcoKSxcbiAgcGxhblR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuZXhwb3J0IHR5cGUgT3BlbkFJQ3JlZGVudGlhbHMgPSB6LmluZmVyPHR5cGVvZiBPcGVuQUlDcmVkZW50aWFscz47XG5cbmV4cG9ydCBjb25zdCBUb2tlbkNyZWRlbnRpYWxzID0gei51bmlvbihbQW50aHJvcGljQ3JlZGVudGlhbHMsIE9wZW5BSUNyZWRlbnRpYWxzXSk7XG5leHBvcnQgdHlwZSBUb2tlbkNyZWRlbnRpYWxzID0gei5pbmZlcjx0eXBlb2YgVG9rZW5DcmVkZW50aWFscz47XG5cbi8vIFRva2VuIC0gTGlzdFBhcmFtc1xuZXhwb3J0IGNvbnN0IFRva2VuTGlzdFBhcmFtcyA9IFRva2VuQmFzZUxpc3RQYXJhbXM7XG5leHBvcnQgdHlwZSBUb2tlbkxpc3RQYXJhbXMgPSB6LmluZmVyPHR5cGVvZiBUb2tlbkxpc3RQYXJhbXM+
|
|
38
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4udHlwZXMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcGxpY2F0aW9uL3Rva2VuL3Rva2VuLnR5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHogfSBmcm9tIFwiem9kXCI7XG5cbmltcG9ydCB7IFRva2VuQmFzZUxpc3RQYXJhbXMsIFRva2VuQmFzZVNjaGVtYSB9IGZyb20gXCIuLi9zb25hbXUuZ2VuZXJhdGVkXCI7XG5cbi8vIOKUgOKUgCBDcmVkZW50aWFscyBKU09OQiBzY2hlbWEgKFNvbmFtdSBqc29uIHByb3Ag7J2YIGlkOiBcIlRva2VuQ3JlZGVudGlhbHNcIiDqsIAg7LC47KGwKSDilIDilIBcblxuZXhwb3J0IGNvbnN0IEFudGhyb3BpY0NyZWRlbnRpYWxzID0gei5vYmplY3Qoe1xuICBhY2Nlc3NUb2tlbjogei5zdHJpbmcoKSxcbiAgcmVmcmVzaFRva2VuOiB6LnN0cmluZygpLFxuICBleHBpcmVzQXQ6IHoubnVtYmVyKCksXG4gIGFjY291bnRVdWlkOiB6LnN0cmluZygpLFxufSk7XG5leHBvcnQgdHlwZSBBbnRocm9waWNDcmVkZW50aWFscyA9IHouaW5mZXI8dHlwZW9mIEFudGhyb3BpY0NyZWRlbnRpYWxzPjtcblxuZXhwb3J0IGNvbnN0IE9wZW5BSUNyZWRlbnRpYWxzID0gei5vYmplY3Qoe1xuICBhY2Nlc3NUb2tlbjogei5zdHJpbmcoKSxcbiAgcmVmcmVzaFRva2VuOiB6LnN0cmluZygpLFxuICBpZFRva2VuOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGFjY2Vzc1Rva2VuRXhwaXJlc0F0OiB6Lm51bWJlcigpLFxuICBpZFRva2VuRXhwaXJlc0F0OiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGFjY291bnRJZDogei5zdHJpbmcoKSxcbiAgcGxhblR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuZXhwb3J0IHR5cGUgT3BlbkFJQ3JlZGVudGlhbHMgPSB6LmluZmVyPHR5cGVvZiBPcGVuQUlDcmVkZW50aWFscz47XG5cbmV4cG9ydCBjb25zdCBUb2tlbkNyZWRlbnRpYWxzID0gei51bmlvbihbQW50aHJvcGljQ3JlZGVudGlhbHMsIE9wZW5BSUNyZWRlbnRpYWxzXSk7XG5leHBvcnQgdHlwZSBUb2tlbkNyZWRlbnRpYWxzID0gei5pbmZlcjx0eXBlb2YgVG9rZW5DcmVkZW50aWFscz47XG5cbi8vIFRva2VuIC0gTGlzdFBhcmFtc1xuZXhwb3J0IGNvbnN0IFRva2VuTGlzdFBhcmFtcyA9IFRva2VuQmFzZUxpc3RQYXJhbXM7XG5leHBvcnQgdHlwZSBUb2tlbkxpc3RQYXJhbXMgPSB6LmluZmVyPHR5cGVvZiBUb2tlbkxpc3RQYXJhbXM+O1xuXG5jb25zdCBUb2tlblF1b3RhVGhyZXNob2xkID0gei5pbnQoKS5taW4oMSkubWF4KDEwMCkubnVsbGFibGUoKTtcbmNvbnN0IFRva2VuV2VpZ2h0ID0gei5pbnQoKS5taW4oMSkubWF4KDEwMCk7XG5cbi8vIFRva2VuIC0gU2F2ZVBhcmFtc1xuZXhwb3J0IGNvbnN0IFRva2VuU2F2ZVBhcmFtcyA9IFRva2VuQmFzZVNjaGVtYS5wYXJ0aWFsKHtcbiAgaWQ6IHRydWUsXG4gIGNyZWF0ZWRfYXQ6IHRydWUsXG4gIGFjdGl2ZTogdHJ1ZSxcbiAgb3JkOiB0cnVlLFxuICBxdW90YV90aHJlc2hvbGQ6IHRydWUsXG4gIHdlaWdodDogdHJ1ZSxcbn0pLmV4dGVuZCh7XG4gIHF1b3RhX3RocmVzaG9sZDogVG9rZW5RdW90YVRocmVzaG9sZC5vcHRpb25hbCgpLFxuICB3ZWlnaHQ6IFRva2VuV2VpZ2h0Lm9wdGlvbmFsKCksXG59KTtcbmV4cG9ydCB0eXBlIFRva2VuU2F2ZVBhcmFtcyA9IHouaW5mZXI8dHlwZW9mIFRva2VuU2F2ZVBhcmFtcz47XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFNQSxNQUFhLHVCQUF1QixFQUFFLE9BQU87Q0FDM0MsYUFBYSxFQUFFLFFBQVE7Q0FDdkIsY0FBYyxFQUFFLFFBQVE7Q0FDeEIsV0FBVyxFQUFFLFFBQVE7Q0FDckIsYUFBYSxFQUFFLFFBQVE7Q0FDeEIsQ0FBQztBQUdGLE1BQWEsb0JBQW9CLEVBQUUsT0FBTztDQUN4QyxhQUFhLEVBQUUsUUFBUTtDQUN2QixjQUFjLEVBQUUsUUFBUTtDQUN4QixTQUFTLEVBQUUsUUFBUSxDQUFDLFVBQVU7Q0FDOUIsc0JBQXNCLEVBQUUsUUFBUTtDQUNoQyxrQkFBa0IsRUFBRSxRQUFRLENBQUMsVUFBVTtDQUN2QyxXQUFXLEVBQUUsUUFBUTtDQUNyQixVQUFVLEVBQUUsUUFBUSxDQUFDLFVBQVU7Q0FDaEMsQ0FBQztBQUdGLE1BQWEsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLHNCQUFzQixrQkFBa0IsQ0FBQztBQUlsRixNQUFhLGtCQUFrQjtBQUcvQixNQUFNLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVO0FBQzlELE1BQU0sY0FBYyxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLElBQUk7QUFHM0MsTUFBYSxrQkFBa0IsZ0JBQWdCLFFBQVE7Q0FDckQsSUFBSTtDQUNKLFlBQVk7Q0FDWixRQUFRO0NBQ1IsS0FBSztDQUNMLGlCQUFpQjtDQUNqQixRQUFRO0NBQ1QsQ0FBQyxDQUFDLE9BQU87Q0FDUixpQkFBaUIsb0JBQW9CLFVBQVU7Q0FDL0MsUUFBUSxZQUFZLFVBQVU7Q0FDL0IsQ0FBQyJ9
|
|
@@ -224,6 +224,7 @@ const entityLabels = {
|
|
|
224
224
|
"entity.Token.active": "활성 여부",
|
|
225
225
|
"entity.Token.ord": "정렬 순서",
|
|
226
226
|
"entity.Token.quota_threshold": "quota 사용률 임계치(%). null이면 미설정",
|
|
227
|
+
"entity.Token.weight": "가중 라운드로빈 라우팅 가중치 (1..100)",
|
|
227
228
|
"enum.TokenOrderBy.id-desc": "ID최신순",
|
|
228
229
|
"enum.TokenOrderBy.ord-asc": "순서순",
|
|
229
230
|
"enum.TokenSearchField.id": "ID",
|
|
@@ -313,4 +314,4 @@ SD.enumLabels = (enumName) => {
|
|
|
313
314
|
//#endregion
|
|
314
315
|
export { SD, defineLocale, localizedColumn };
|
|
315
316
|
|
|
316
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2QuZ2VuZXJhdGVkLmpzIiwibmFtZXMiOlsia28iLCJlbiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pMThuL3NkLmdlbmVyYXRlZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBnZW5lcmF0ZWRcbiAqIOyngeygkSDsiJjsoJXtlZjsp4Ag66eI7IS47JqULlxuICovXG5cbmltcG9ydCB7IFNvbmFtdSB9IGZyb20gXCJzb25hbXVcIjtcblxuY29uc3QgREVGQVVMVF9MT0NBTEUgPSBcImtvXCIgYXMgY29uc3Q7XG5jb25zdCBTVVBQT1JURURfTE9DQUxFUyA9IFtcImtvXCIsIFwiZW5cIl0gYXMgY29uc3Q7XG5mdW5jdGlvbiBnZXRDdXJyZW50TG9jYWxlKCk6ICh0eXBlb2YgU1VQUE9SVEVEX0xPQ0FMRVMpW251bWJlcl0ge1xuICB0cnkge1xuICAgIGNvbnN0IGN0eCA9IFNvbmFtdS5nZXRDb250ZXh0KCk7XG4gICAgcmV0dXJuIChjdHgubG9jYWxlIGFzICh0eXBlb2YgU1VQUE9SVEVEX0xPQ0FMRVMpW251bWJlcl0pID8/IERFRkFVTFRfTE9DQUxFO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gREVGQVVMVF9MT0NBTEU7XG4gIH1cbn1cblxuaW1wb3J0IGVuIGZyb20gXCIuL2VuXCI7XG5pbXBvcnQga28gZnJvbSBcIi4va29cIjtcblxuLy8gcmVhY3QtY29tcG9uZW50cyBpMThuIGtleXNcbmNvbnN0IHJjS2V5c0tvID0ge1xuICAvLyBBc3luY1NlbGVjdCBDb21wb25lbnRcbiAgXCJyYy5hc3luY1NlbGVjdC5sb2FkaW5nXCI6IFwi66Gc65SpIOykkS4uLlwiLFxuICBcInJjLmFzeW5jU2VsZWN0Lm5vT3B0aW9uc1wiOiBcIuyYteyFmOydtCDsl4bsirXri4jri6RcIixcbiAgXCJyYy5hc3luY1NlbGVjdC5ub1Jlc3VsdHNcIjogXCLqsoDsg4kg6rKw6rO86rCAIOyXhuyKteuLiOuLpFwiLFxuICBcInJjLmFzeW5jU2VsZWN0LnNlbGVjdFBsYWNlaG9sZGVyXCI6IFwi7ISg7YOd7ZWY7IS47JqULi4uXCIsXG5cbiAgLy8gQ29tYm9ib3ggQ29tcG9uZW50XG4gIFwicmMuY29tYm9ib3gubm9SZXN1bHRzXCI6IFwi6rKA7IOJIOqysOqzvOqwgCDsl4bsirXri4jri6RcIixcbiAgXCJyYy5jb21ib2JveC5zZWxlY3RQbGFjZWhvbGRlclwiOiBcIuyEoO2Dne2VmOyEuOyalC4uLlwiLFxuXG4gIC8vIERhdGVQaWNrZXIgQ29tcG9uZW50XG4gIFwicmMuZGF0ZVBpY2tlci5waWNrRGF0ZVwiOiBcIuuCoOynnCDshKDtg51cIixcbiAgXCJyYy5kYXRlUGlja2VyLnBsYWNlaG9sZGVyXCI6IFwi64Kg7KecIOyEoO2DnVwiLFxuICBcInJjLmRhdGVQaWNrZXIuc2VsZWN0RGF0ZVwiOiBcIuuCoOynnCDshKDtg51cIixcblxuICAvLyBEYXRlU2VsZWN0b3JNdWx0aXBsZSBDb21wb25lbnRcbiAgXCJyYy5kYXRlU2VsZWN0b3JNdWx0aXBsZS5hZGREYXRlXCI6IFwi64Kg7KecIOy2lOqwgFwiLFxuICBcInJjLmRhdGVTZWxlY3Rvck11bHRpcGxlLmRhdGVSYW5nZVwiOiBcIuq4sOqwhFwiLFxuICBcInJjLmRhdGVTZWxlY3Rvck11bHRpcGxlLnBsYWNlaG9sZGVyXCI6IFwi64Kg7KecIOyEoO2DnVwiLFxuICBcInJjLmRhdGVTZWxlY3Rvck11bHRpcGxlLnNpbmdsZURhdGVcIjogXCLri6jsnbxcIixcblxuICAvLyBGaWxlSW5wdXQgQ29tcG9uZW50XG4gIFwicmMuZmlsZUlucHV0LmJyb3dzZUZpbGVzXCI6IFwi7YyM7J28IOywvuq4sFwiLFxuICBcInJjLmZpbGVJbnB1dC5kcm9wWm9uZVwiOiBcIu2MjOydvOydhCDrk5zrnpjqt7jtlZjqsbDrgpgg7YG066at7ZWY7JesIOyXheuhnOuTnFwiLFxuICBcInJjLmZpbGVJbnB1dC5maWxlUGxhY2Vob2xkZXJcIjogXCLtjIzsnbxcIixcbiAgXCJyYy5maWxlSW5wdXQuaW1hZ2VQbGFjZWhvbGRlclwiOiBcIuydtOuvuOyngFwiLFxuICBcInJjLmZpbGVJbnB1dC5tYXhGaWxlc0V4Y2VlZGVkXCI6IChtYXhGaWxlczogbnVtYmVyKSA9PlxuICAgIGDstZzrjIAgJHttYXhGaWxlc33qsJwg7YyM7J2866eMIOyXheuhnOuTnCDqsIDriqXtlanri4jri6RgLFxuICBcInJjLmZpbGVJbnB1dC5wZW5kaW5nXCI6IFwi64yA6riwIOykkVwiLFxuICBcInJjLmZpbGVJbnB1dC5yZW1vdmVcIjogXCLsoJzqsbBcIixcbiAgXCJyYy5maWxlSW5wdXQudXBsb2FkRmFpbGVkXCI6IFwi7JeF66Gc65OcIOyLpO2MqFwiLFxuICBcInJjLmZpbGVJbnB1dC51cGxvYWRpbmdcIjogXCLsl4XroZzrk5wg7KSRLi4uXCIsXG5cbiAgLy8gTW9udGhQaWNrZXJNdWx0aXBsZSBDb21wb25lbnRcbiAgXCJyYy5tb250aFBpY2tlck11bHRpcGxlLmFkZE1vbnRoXCI6IFwi7JuUIOy2lOqwgFwiLFxuICBcInJjLm1vbnRoUGlja2VyTXVsdGlwbGUuZGF0ZVJhbmdlXCI6IFwi6riw6rCEXCIsXG4gIFwicmMubW9udGhQaWNrZXJNdWx0aXBsZS5lbmREYXRlXCI6IFwi7KKF66OM7J28XCIsXG4gIFwicmMubW9udGhQaWNrZXJNdWx0aXBsZS5wbGFjZWhvbGRlclwiOiBcIuyblCDshKDtg51cIixcbiAgXCJyYy5tb250aFBpY2tlck11bHRpcGxlLnNpbmdsZURhdGVcIjogXCLri6jsnbxcIixcbiAgXCJyYy5tb250aFBpY2tlck11bHRpcGxlLnN0YXJ0RGF0ZVwiOiBcIuyLnOyekeydvFwiLFxuXG4gIC8vIE11bHRpU2VsZWN0IENvbXBvbmVudFxuICBcInJjLm11bHRpU2VsZWN0LmNsZWFyXCI6IFwi7KCE7LK0IO2VtOygnFwiLFxuICBcInJjLm11bHRpU2VsZWN0LmNsb3NlXCI6IFwi64ur6riwXCIsXG4gIFwicmMubXVsdGlTZWxlY3QubW9yZUl0ZW1zXCI6IChjb3VudDogbnVtYmVyKSA9PiBgKyR7Y291bnR96rCcIOuNlOuztOq4sGAsXG4gIFwicmMubXVsdGlTZWxlY3Qubm9PcHRpb25zXCI6IFwi7Ji17IWY7J20IOyXhuyKteuLiOuLpFwiLFxuICBcInJjLm11bHRpU2VsZWN0Lm5vT3B0aW9uc1NlbGVjdGVkXCI6IFwi7ISg7YOd65CcIOyYteyFmOydtCDsl4bsirXri4jri6RcIixcbiAgXCJyYy5tdWx0aVNlbGVjdC5ub1Jlc3VsdHNcIjogXCLqsoDsg4kg6rKw6rO86rCAIOyXhuyKteuLiOuLpFwiLFxuICBcInJjLm11bHRpU2VsZWN0Lm9wdGlvbnNDb3VudFwiOiAoY291bnQ6IG51bWJlcikgPT4gYCR7Y291bnR96rCcIOyYteyFmGAsXG4gIFwicmMubXVsdGlTZWxlY3Quc2VsZWN0QWxsXCI6IFwi7KCE7LK0IOyEoO2DnVwiLFxuICBcInJjLm11bHRpU2VsZWN0LnNlbGVjdFBsYWNlaG9sZGVyXCI6IFwi7ISg7YOd7ZWY7IS47JqULi4uXCIsXG5cbiAgLy8gUGFnaW5hdGlvbiBDb21wb25lbnRcbiAgXCJyYy5wYWdpbmF0aW9uLm5leHRcIjogXCLri6TsnYxcIixcbiAgXCJyYy5wYWdpbmF0aW9uLnByZXZpb3VzXCI6IFwi7J207KCEXCIsXG4gIFwicmMucGFnaW5hdGlvbi5zaG93aW5nXCI6IChzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlciwgdG90YWw6IG51bWJlcikgPT5cbiAgICBgJHt0b3RhbH3qsJwg7KSRICR7c3RhcnR9LSR7ZW5kfWAsXG5cbiAgLy8gQ2FsZW5kYXIgQ29tcG9uZW50XG4gIFwicmMuY2FsZW5kYXIubW9udGguMFwiOiBcIjHsm5RcIixcbiAgXCJyYy5jYWxlbmRhci5tb250aC4xXCI6IFwiMuyblFwiLFxuICBcInJjLmNhbGVuZGFyLm1vbnRoLjJcIjogXCIz7JuUXCIsXG4gIFwicmMuY2FsZW5kYXIubW9udGguM1wiOiBcIjTsm5RcIixcbiAgXCJyYy5jYWxlbmRhci5tb250aC40XCI6IFwiNeyblFwiLFxuICBcInJjLmNhbGVuZGFyLm1vbnRoLjVcIjogXCI27JuUXCIsXG4gIFwicmMuY2FsZW5kYXIubW9udGguNlwiOiBcIjfsm5RcIixcbiAgXCJyYy5jYWxlbmRhci5tb250aC43XCI6IFwiOOyblFwiLFxuICBcInJjLmNhbGVuZGFyLm1vbnRoLjhcIjogXCI57JuUXCIsXG4gIFwicmMuY2FsZW5kYXIubW9udGguOVwiOiBcIjEw7JuUXCIsXG4gIFwicmMuY2FsZW5kYXIubW9udGguMTBcIjogXCIxMeyblFwiLFxuICBcInJjLmNhbGVuZGFyLm1vbnRoLjExXCI6IFwiMTLsm5RcIixcblxuICAvLyBTb25hbXUgRmlsdGVyIENvbXBvbmVudFxuICBcInJjLnNvbmFtdUZpbHRlci50aXRsZVwiOiBcIuyGjOuCmOustCDtlYTthLBcIixcbiAgXCJyYy5zb25hbXVGaWx0ZXIuYXBwbHlcIjogXCLsoIHsmqlcIixcbiAgXCJyYy5zb25hbXVGaWx0ZXIucmVzZXRcIjogXCLstIjquLDtmZRcIixcbiAgXCJyYy5zb25hbXVGaWx0ZXIuYWRkUnVsZVwiOiBcIuq3nOy5mSDstpTqsIBcIixcbiAgXCJyYy5zb25hbXVGaWx0ZXIubm9SdWxlc1lldFwiOiAn7JWE7KeBIOq3nOy5meydtCDsl4bsirXri4jri6QuIFwiKyDqt5zsuZkg7LaU6rCAXCLrpbwg7YG066at7ZWY7JesIOyLnOyeke2VmOyEuOyalC4nLFxuICBcInJjLnNvbmFtdUZpbHRlci5zZWxlY3RGaWVsZFwiOiBcIu2VhOuTnCDshKDtg51cIixcbiAgXCJyYy5zb25hbXVGaWx0ZXIuc2VsZWN0T3BlcmF0b3JcIjogXCLsl7DsgrDsnpAg7ISg7YOdXCIsXG4gIFwicmMuc29uYW11RmlsdGVyLnNlbGVjdE9wZXJhdG9yRmlyc3RcIjogXCLrqLzsoIAg7Jew7IKw7J6Q66W8IOyEoO2Dne2VmOyEuOyalFwiLFxuICBcInJjLnNvbmFtdUZpbHRlci5lbnRlclZhbHVlXCI6IFwi6rCSIOyeheugpVwiLFxuICBcInJjLnNvbmFtdUZpbHRlci5lbnRlck51bWJlclwiOiBcIuyIq+yekCDsnoXroKVcIixcbiAgXCJyYy5zb25hbXVGaWx0ZXIubm90U3VwcG9ydGVkXCI6IFwi7KeA7JuQ7ZWY7KeAIOyViuydjFwiLFxuICBcInJjLnNvbmFtdUZpbHRlci5zdGFydERhdGVcIjogXCLsi5zsnpHsnbxcIixcbiAgXCJyYy5zb25hbXVGaWx0ZXIuZW5kRGF0ZVwiOiBcIuyiheujjOydvFwiLFxuICBcInJjLnNvbmFtdUZpbHRlci5hcHBsaWVkRmlsdGVyc1wiOiBcIvCfjLIg7KCB7Jqp65CcIOyGjOuCmOustCDtlYTthLBcIixcblxuICAvLyBDb21tb25cbiAgXCJyYy5jb21tb24uY2FuY2VsXCI6IFwi7Leo7IaMXCIsXG4gIFwicmMuY29tbW9uLnNhdmVcIjogXCLsoIDsnqVcIixcbn07XG5cbmNvbnN0IHJjS2V5c0VuID0ge1xuICAvLyBBc3luY1NlbGVjdCBDb21wb25lbnRcbiAgXCJyYy5hc3luY1NlbGVjdC5sb2FkaW5nXCI6IFwiTG9hZGluZy4uLlwiLFxuICBcInJjLmFzeW5jU2VsZWN0Lm5vT3B0aW9uc1wiOiBcIk5vIG9wdGlvbnNcIixcbiAgXCJyYy5hc3luY1NlbGVjdC5ub1Jlc3VsdHNcIjogXCJObyByZXN1bHRzXCIsXG4gIFwicmMuYXN5bmNTZWxlY3Quc2VsZWN0UGxhY2Vob2xkZXJcIjogXCJTZWxlY3QuLi5cIixcblxuICAvLyBDb21ib2JveCBDb21wb25lbnRcbiAgXCJyYy5jb21ib2JveC5ub1Jlc3VsdHNcIjogXCJObyByZXN1bHRzXCIsXG4gIFwicmMuY29tYm9ib3guc2VsZWN0UGxhY2Vob2xkZXJcIjogXCJTZWxlY3QuLi5cIixcblxuICAvLyBEYXRlUGlja2VyIENvbXBvbmVudFxuICBcInJjLmRhdGVQaWNrZXIucGlja0RhdGVcIjogXCJQaWNrIGRhdGVcIixcbiAgXCJyYy5kYXRlUGlja2VyLnBsYWNlaG9sZGVyXCI6IFwiUGljayBkYXRlXCIsXG4gIFwicmMuZGF0ZVBpY2tlci5zZWxlY3REYXRlXCI6IFwiU2VsZWN0IGRhdGVcIixcblxuICAvLyBEYXRlU2VsZWN0b3JNdWx0aXBsZSBDb21wb25lbnRcbiAgXCJyYy5kYXRlU2VsZWN0b3JNdWx0aXBsZS5hZGREYXRlXCI6IFwiQWRkIGRhdGVcIixcbiAgXCJyYy5kYXRlU2VsZWN0b3JNdWx0aXBsZS5kYXRlUmFuZ2VcIjogXCJSYW5nZVwiLFxuICBcInJjLmRhdGVTZWxlY3Rvck11bHRpcGxlLnBsYWNlaG9sZGVyXCI6IFwiUGljayBkYXRlXCIsXG4gIFwicmMuZGF0ZVNlbGVjdG9yTXVsdGlwbGUuc2luZ2xlRGF0ZVwiOiBcIlNpbmdsZVwiLFxuXG4gIC8vIEZpbGVJbnB1dCBDb21wb25lbnRcbiAgXCJyYy5maWxlSW5wdXQuYnJvd3NlRmlsZXNcIjogXCJCcm93c2UgZmlsZXNcIixcbiAgXCJyYy5maWxlSW5wdXQuZHJvcFpvbmVcIjogXCJEcmFnIGZpbGVzIGhlcmUgb3IgY2xpY2sgdG8gdXBsb2FkXCIsXG4gIFwicmMuZmlsZUlucHV0LmZpbGVQbGFjZWhvbGRlclwiOiBcIkZpbGVcIixcbiAgXCJyYy5maWxlSW5wdXQuaW1hZ2VQbGFjZWhvbGRlclwiOiBcIkltYWdlXCIsXG4gIFwicmMuZmlsZUlucHV0Lm1heEZpbGVzRXhjZWVkZWRcIjogKG1heEZpbGVzOiBudW1iZXIpID0+IGBNYXhpbXVtICR7bWF4RmlsZXN9IGZpbGVzIGFsbG93ZWRgLFxuICBcInJjLmZpbGVJbnB1dC5wZW5kaW5nXCI6IFwiUGVuZGluZ1wiLFxuICBcInJjLmZpbGVJbnB1dC5yZW1vdmVcIjogXCJSZW1vdmVcIixcbiAgXCJyYy5maWxlSW5wdXQudXBsb2FkRmFpbGVkXCI6IFwiVXBsb2FkIGZhaWxlZFwiLFxuICBcInJjLmZpbGVJbnB1dC51cGxvYWRpbmdcIjogXCJVcGxvYWRpbmcuLi5cIixcblxuICAvLyBNb250aFBpY2tlck11bHRpcGxlIENvbXBvbmVudFxuICBcInJjLm1vbnRoUGlja2VyTXVsdGlwbGUuYWRkTW9udGhcIjogXCJBZGQgbW9udGhcIixcbiAgXCJyYy5tb250aFBpY2tlck11bHRpcGxlLmRhdGVSYW5nZVwiOiBcIlJhbmdlXCIsXG4gIFwicmMubW9udGhQaWNrZXJNdWx0aXBsZS5lbmREYXRlXCI6IFwiRW5kIGRhdGVcIixcbiAgXCJyYy5tb250aFBpY2tlck11bHRpcGxlLnBsYWNlaG9sZGVyXCI6IFwiUGljayBtb250aFwiLFxuICBcInJjLm1vbnRoUGlja2VyTXVsdGlwbGUuc2luZ2xlRGF0ZVwiOiBcIlNpbmdsZVwiLFxuICBcInJjLm1vbnRoUGlja2VyTXVsdGlwbGUuc3RhcnREYXRlXCI6IFwiU3RhcnQgZGF0ZVwiLFxuXG4gIC8vIE11bHRpU2VsZWN0IENvbXBvbmVudFxuICBcInJjLm11bHRpU2VsZWN0LmNsZWFyXCI6IFwiQ2xlYXIgYWxsXCIsXG4gIFwicmMubXVsdGlTZWxlY3QuY2xvc2VcIjogXCJDbG9zZVwiLFxuICBcInJjLm11bHRpU2VsZWN0Lm1vcmVJdGVtc1wiOiAoY291bnQ6IG51bWJlcikgPT4gYCske2NvdW50fSBtb3JlYCxcbiAgXCJyYy5tdWx0aVNlbGVjdC5ub09wdGlvbnNcIjogXCJObyBvcHRpb25zXCIsXG4gIFwicmMubXVsdGlTZWxlY3Qubm9PcHRpb25zU2VsZWN0ZWRcIjogXCJObyBvcHRpb25zIHNlbGVjdGVkXCIsXG4gIFwicmMubXVsdGlTZWxlY3Qubm9SZXN1bHRzXCI6IFwiTm8gcmVzdWx0c1wiLFxuICBcInJjLm11bHRpU2VsZWN0Lm9wdGlvbnNDb3VudFwiOiAoY291bnQ6IG51bWJlcikgPT4gYCR7Y291bnR9IG9wdGlvbnNgLFxuICBcInJjLm11bHRpU2VsZWN0LnNlbGVjdEFsbFwiOiBcIlNlbGVjdCBhbGxcIixcbiAgXCJyYy5tdWx0aVNlbGVjdC5zZWxlY3RQbGFjZWhvbGRlclwiOiBcIlNlbGVjdC4uLlwiLFxuXG4gIC8vIFBhZ2luYXRpb24gQ29tcG9uZW50XG4gIFwicmMucGFnaW5hdGlvbi5uZXh0XCI6IFwiTmV4dFwiLFxuICBcInJjLnBhZ2luYXRpb24ucHJldmlvdXNcIjogXCJQcmV2aW91c1wiLFxuICBcInJjLnBhZ2luYXRpb24uc2hvd2luZ1wiOiAoc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIsIHRvdGFsOiBudW1iZXIpID0+XG4gICAgYFNob3dpbmcgJHtzdGFydH0tJHtlbmR9IG9mICR7dG90YWx9YCxcblxuICAvLyBDYWxlbmRhciBDb21wb25lbnRcbiAgXCJyYy5jYWxlbmRhci5tb250aC4wXCI6IFwiSmFudWFyeVwiLFxuICBcInJjLmNhbGVuZGFyLm1vbnRoLjFcIjogXCJGZWJydWFyeVwiLFxuICBcInJjLmNhbGVuZGFyLm1vbnRoLjJcIjogXCJNYXJjaFwiLFxuICBcInJjLmNhbGVuZGFyLm1vbnRoLjNcIjogXCJBcHJpbFwiLFxuICBcInJjLmNhbGVuZGFyLm1vbnRoLjRcIjogXCJNYXlcIixcbiAgXCJyYy5jYWxlbmRhci5tb250aC41XCI6IFwiSnVuZVwiLFxuICBcInJjLmNhbGVuZGFyLm1vbnRoLjZcIjogXCJKdWx5XCIsXG4gIFwicmMuY2FsZW5kYXIubW9udGguN1wiOiBcIkF1Z3VzdFwiLFxuICBcInJjLmNhbGVuZGFyLm1vbnRoLjhcIjogXCJTZXB0ZW1iZXJcIixcbiAgXCJyYy5jYWxlbmRhci5tb250aC45XCI6IFwiT2N0b2JlclwiLFxuICBcInJjLmNhbGVuZGFyLm1vbnRoLjEwXCI6IFwiTm92ZW1iZXJcIixcbiAgXCJyYy5jYWxlbmRhci5tb250aC4xMVwiOiBcIkRlY2VtYmVyXCIsXG5cbiAgLy8gU29uYW11IEZpbHRlciBDb21wb25lbnRcbiAgXCJyYy5zb25hbXVGaWx0ZXIudGl0bGVcIjogXCJTb25hbXUgRmlsdGVyXCIsXG4gIFwicmMuc29uYW11RmlsdGVyLmFwcGx5XCI6IFwiQXBwbHlcIixcbiAgXCJyYy5zb25hbXVGaWx0ZXIucmVzZXRcIjogXCJSZXNldFwiLFxuICBcInJjLnNvbmFtdUZpbHRlci5hZGRSdWxlXCI6IFwiQWRkIFJ1bGVcIixcbiAgXCJyYy5zb25hbXVGaWx0ZXIubm9SdWxlc1lldFwiOiAnTm8gcnVsZXMgeWV0LiBDbGljayBcIisgQWRkIFJ1bGVcIiB0byBzdGFydC4nLFxuICBcInJjLnNvbmFtdUZpbHRlci5zZWxlY3RGaWVsZFwiOiBcIlNlbGVjdCBmaWVsZFwiLFxuICBcInJjLnNvbmFtdUZpbHRlci5zZWxlY3RPcGVyYXRvclwiOiBcIk9wZXJhdG9yXCIsXG4gIFwicmMuc29uYW11RmlsdGVyLnNlbGVjdE9wZXJhdG9yRmlyc3RcIjogXCJTZWxlY3Qgb3BlcmF0b3IgZmlyc3RcIixcbiAgXCJyYy5zb25hbXVGaWx0ZXIuZW50ZXJWYWx1ZVwiOiBcIkVudGVyIHZhbHVlXCIsXG4gIFwicmMuc29uYW11RmlsdGVyLmVudGVyTnVtYmVyXCI6IFwiRW50ZXIgbnVtYmVyXCIsXG4gIFwicmMuc29uYW11RmlsdGVyLm5vdFN1cHBvcnRlZFwiOiBcIk5vdCBzdXBwb3J0ZWRcIixcbiAgXCJyYy5zb25hbXVGaWx0ZXIuc3RhcnREYXRlXCI6IFwiU3RhcnQgZGF0ZVwiLFxuICBcInJjLnNvbmFtdUZpbHRlci5lbmREYXRlXCI6IFwiRW5kIGRhdGVcIixcbiAgXCJyYy5zb25hbXVGaWx0ZXIuYXBwbGllZEZpbHRlcnNcIjogXCLwn4yyIEFwcGxpZWQgU29uYW11RmlsdGVyc1wiLFxuXG4gIC8vIENvbW1vblxuICBcInJjLmNvbW1vbi5jYW5jZWxcIjogXCJDYW5jZWxcIixcbiAgXCJyYy5jb21tb24uc2F2ZVwiOiBcIlNhdmVcIixcbn0gYXMgY29uc3Q7XG5cbi8vIGVudGl0eS5qc29u7JeQ7IScIOy2lOy2nO2VnCBlbnRpdHkgbGFiZWxzIChkZWZhdWx0TG9jYWxlIOyghOyaqSlcbmNvbnN0IGVudGl0eUxhYmVscyA9IHtcbiAgXCJlbnRpdHkuUmVxdWVzdExvZ1wiOiBcIlJlcXVlc3RMb2dcIixcbiAgXCJlbnRpdHkuUmVxdWVzdExvZy5pZFwiOiBcIklEXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2cuY3JlYXRlZF9hdFwiOiBcIuuTseuhneydvOyLnFwiLFxuICBcImVudGl0eS5SZXF1ZXN0TG9nLnRva2VuX25hbWVcIjogXCLthqDtgbAg7J2066aEXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2cucHJvamVjdF9uYW1lXCI6IFwi7ZSE66Gc7KCd7Yq4IOydtOumhFwiLFxuICBcImVudGl0eS5SZXF1ZXN0TG9nLm1vZGVsX25hbWVcIjogXCLrqqjrjbgg7J2066aEXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2cudXNlcl9wcm9tcHRcIjogXCLsgqzsmqnsnpAg7ZSE66Gs7ZSE7Yq4XCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2cuc3lzdGVtX3Byb21wdFwiOiBcIuyLnOyKpO2FnCDtlITroaztlITtirhcIixcbiAgXCJlbnRpdHkuUmVxdWVzdExvZy5yZXNwb25zZVwiOiBcImxsbSDsnZHri7Ug7KCE66y4XCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2cuaW5wdXRfdG9rZW5zXCI6IFwi7J6F66ClIO2GoO2BsFwiLFxuICBcImVudGl0eS5SZXF1ZXN0TG9nLm91dHB1dF90b2tlbnNcIjogXCLstpzroKUg7Yag7YGwXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2cuY2FjaGVfcmVhZF90b2tlbnNcIjogXCLsupDsi5wg7J296riwIO2GoO2BsFwiLFxuICBcImVudGl0eS5SZXF1ZXN0TG9nLmNhY2hlX2NyZWF0aW9uX3Rva2Vuc1wiOiBcIuy6kOyLnCDsg53shLEg7Yag7YGwXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2cuZHVyYXRpb25fbXNcIjogXCLsnZHri7Ug7IaM7JqU7Iuc6rCEKG1zKVwiLFxuICBcImVudGl0eS5SZXF1ZXN0TG9nLnR0ZnRfbXNcIjogXCJmaXJzdCBnZW4gVFRGVChtcylcIixcbiAgXCJlbnRpdHkuUmVxdWVzdExvZy5jb3N0X3VzZFwiOiBcIkFQSSDruYTsmqlcIixcbiAgXCJlbnRpdHkuUmVxdWVzdExvZy5pbWFnZV9jb3N0X3VzZFwiOiBcIuydtOuvuOyngCDsg53shLEg7LaU7KCVIOu5hOyaqVwiLFxuICBcImVudGl0eS5SZXF1ZXN0TG9nLmltYWdlX2Nvc3RfbWV0aG9kXCI6IFwi7J2066+47KeAIOu5hOyaqSDstpTsoJUg67Cp7IudXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2cuZWZmb3J0XCI6IFwiZWZmb3J0IGxldmVsXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2cuaGlzdG9yeVwiOiBcImluamVjdF9pdGVtcyDtnojsiqTthqDrpqxcIixcbiAgXCJlbnRpdHkuUmVxdWVzdExvZy5zdGF0dXNcIjogXCLsi6Ttlokg7IOB7YOcXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2cuZXJyb3JfbWVzc2FnZVwiOiBcIuyXkOufrCDrqZTsi5zsp4BcIixcbiAgXCJlbnRpdHkuUmVxdWVzdExvZy50b29sX2NhbGxfY291bnRcIjogXCJ0b29sIGNhbGwg7Zqf7IiYXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2cuaXNfaW1hZ2VfZ2VuZXJhdGlvblwiOiBcIuydtOuvuOyngCDsg53shLEgdHVybiDsl6zrtoAgKHF1b3RhIOq3gOyGjeyaqSlcIixcbiAgXCJlbnVtLlJlcXVlc3RMb2dPcmRlckJ5LmlkLWRlc2NcIjogXCJJROy1nOyLoOyInFwiLFxuICBcImVudW0uUmVxdWVzdExvZ1NlYXJjaEZpZWxkLmlkXCI6IFwiSURcIixcbiAgXCJlbnVtLlJlcXVlc3RMb2dTZWFyY2hGaWVsZC50b2tlbl9uYW1lXCI6IFwi7Yag7YGw7J2066aEXCIsXG4gIFwiZW51bS5SZXF1ZXN0TG9nU2VhcmNoRmllbGQudXNlcl9wcm9tcHRcIjogXCLsgqzsmqnsnpAg7ZSE66Gs7ZSE7Yq4XCIsXG4gIFwiZW51bS5SZXF1ZXN0TG9nU3RhdHVzLnJ1bm5pbmdcIjogXCLsi6Ttlokg7KSRXCIsXG4gIFwiZW51bS5SZXF1ZXN0TG9nU3RhdHVzLnN1Y2NlZWRlZFwiOiBcIuyEseqztVwiLFxuICBcImVudW0uUmVxdWVzdExvZ1N0YXR1cy5lcnJvclwiOiBcIuyXkOufrFwiLFxuICBcImVudW0uUmVxdWVzdExvZ1N0YXR1cy5hYm9ydGVkXCI6IFwi7KSR64uoXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2dTdGVwXCI6IFwiUmVxdWVzdExvZ1N0ZXBcIixcbiAgXCJlbnRpdHkuUmVxdWVzdExvZ1N0ZXAuaWRcIjogXCJJRFwiLFxuICBcImVudGl0eS5SZXF1ZXN0TG9nU3RlcC5jcmVhdGVkX2F0XCI6IFwi65Ox66Gd7J287IucXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2dTdGVwLnJlcXVlc3RfbG9nXCI6IFwi67aA66qoIHJlcXVlc3QgbG9nIElEXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2dTdGVwLnN0ZXBfaW5kZXhcIjogXCJhaS1zZGsgc3RlcCBudW1iZXIgKDAtYmFzZWQpXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2dTdGVwLnR5cGVcIjogXCJzdGVwIO2DgOyehVwiLFxuICBcImVudGl0eS5SZXF1ZXN0TG9nU3RlcC5pbnB1dF90b2tlbnNcIjogXCLsnoXroKUg7Yag7YGwIChnZW5lcmF0ZSlcIixcbiAgXCJlbnRpdHkuUmVxdWVzdExvZ1N0ZXAub3V0cHV0X3Rva2Vuc1wiOiBcIuy2nOugpSDthqDtgbAgKGdlbmVyYXRlKVwiLFxuICBcImVudGl0eS5SZXF1ZXN0TG9nU3RlcC5jYWNoZV9yZWFkX3Rva2Vuc1wiOiBcIuy6kOyLnCDsnb3quLAg7Yag7YGwXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2dTdGVwLmNhY2hlX2NyZWF0aW9uX3Rva2Vuc1wiOiBcIuy6kOyLnCDsg53shLEg7Yag7YGwXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2dTdGVwLmR1cmF0aW9uX21zXCI6IFwi7IaM7JqU7Iuc6rCEKG1zKVwiLFxuICBcImVudGl0eS5SZXF1ZXN0TG9nU3RlcC50dGZ0X21zXCI6IFwiR2VuIFRURlQobXMpXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2dTdGVwLmZpbmlzaF9yZWFzb25cIjogXCLsmYTro4wg7IKs7JygXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2dTdGVwLnJlYXNvbmluZ190ZXh0XCI6IFwicmVhc29uaW5nIO2FjeyKpO2KuFwiLFxuICBcImVudGl0eS5SZXF1ZXN0TG9nU3RlcC5yZWFzb25pbmdfdG9rZW5zXCI6IFwicmVhc29uaW5nIO2GoO2BsCDsiJhcIixcbiAgXCJlbnRpdHkuUmVxdWVzdExvZ1N0ZXAudG9vbF9jYWxsX2luZGV4XCI6IFwi6rCZ7J2AIHN0ZXAg64K0IHRvb2wgY2FsbCDsiJzshJxcIixcbiAgXCJlbnRpdHkuUmVxdWVzdExvZ1N0ZXAudG9vbF9jYWxsX2lkXCI6IFwidG9vbCBjYWxsIElEXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2dTdGVwLnRvb2xfbmFtZVwiOiBcInRvb2wg7J2066aEXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2dTdGVwLnRvb2xfYXJnc1wiOiBcInRvb2wg7J247J6QIChKU09OIHN0cmluZylcIixcbiAgXCJlbnRpdHkuUmVxdWVzdExvZ1N0ZXAudG9vbF9yZXN1bHRcIjogXCJ0b29sIOqysOqzvCAoSlNPTiBzdHJpbmcpXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2dTdGVwLnRvb2xfZHVyYXRpb25fbXNcIjogXCJ0b29sIOyLpO2WiSDshozsmpTsi5zqsIQobXMpXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2dTdGVwLmVycm9yXCI6IFwic3RlcCDsl5Drn6wg66mU7Iuc7KeAXCIsXG4gIFwiZW51bS5SZXF1ZXN0TG9nU3RlcFR5cGUuZ2VuZXJhdGVcIjogXCJMTE0g7IOd7ISxXCIsXG4gIFwiZW51bS5SZXF1ZXN0TG9nU3RlcFR5cGUudG9vbF9jYWxsXCI6IFwiVG9vbCDtmLjstpxcIixcbiAgXCJlbnVtLlJlcXVlc3RMb2dTdGVwT3JkZXJCeS5pZC1hc2NcIjogXCJJROyInFwiLFxuICBcImVudW0uUmVxdWVzdExvZ1N0ZXBTZWFyY2hGaWVsZC5pZFwiOiBcIklEXCIsXG4gIFwiZW50aXR5LlRva2VuXCI6IFwiVG9rZW5cIixcbiAgXCJlbnRpdHkuVG9rZW4uaWRcIjogXCJJRFwiLFxuICBcImVudGl0eS5Ub2tlbi5jcmVhdGVkX2F0XCI6IFwi65Ox66Gd7J287IucXCIsXG4gIFwiZW50aXR5LlRva2VuLnByb3ZpZGVyXCI6IFwi7ZSE66Gc67CU7J20642UXCIsXG4gIFwiZW50aXR5LlRva2VuLmNyZWRlbnRpYWxzXCI6IFwi7J247KadIOygleuztCAoSlNPTkIpXCIsXG4gIFwiZW50aXR5LlRva2VuLm5hbWVcIjogXCLthqDtgbAg7J2066aEXCIsXG4gIFwiZW50aXR5LlRva2VuLmFjdGl2ZVwiOiBcIu2ZnOyEsSDsl6zrtoBcIixcbiAgXCJlbnRpdHkuVG9rZW4ub3JkXCI6IFwi7KCV66CsIOyInOyEnFwiLFxuICBcImVudGl0eS5Ub2tlbi5xdW90YV90aHJlc2hvbGRcIjogXCJxdW90YSDsgqzsmqnrpaAg7J6E6rOE7LmYKCUpLiBudWxs7J2066m0IOuvuOyEpOyglVwiLFxuICBcImVudW0uVG9rZW5PcmRlckJ5LmlkLWRlc2NcIjogXCJJROy1nOyLoOyInFwiLFxuICBcImVudW0uVG9rZW5PcmRlckJ5Lm9yZC1hc2NcIjogXCLsiJzshJzsiJxcIixcbiAgXCJlbnVtLlRva2VuU2VhcmNoRmllbGQuaWRcIjogXCJJRFwiLFxuICBcImVudW0uVG9rZW5TZWFyY2hGaWVsZC5uYW1lXCI6IFwi7J2066aEXCIsXG59IGFzIGNvbnN0O1xuXG4vLyBkZWZhdWx0TG9jYWxl7J2YIGRpY3Rpb25hcnnrpbwg6riw7KSA7Jy866GcIO2CpCDstpTstpxcbnR5cGUgUkNLZXlzID0gdHlwZW9mIHJjS2V5c0tvO1xudHlwZSBQcm9qZWN0RGljdGlvbmFyeSA9IHR5cGVvZiBrbztcbnR5cGUgRW50aXR5TGFiZWxzID0gdHlwZW9mIGVudGl0eUxhYmVscztcbnR5cGUgUmF3TWVyZ2VkRGljdGlvbmFyeSA9IFJDS2V5cyAmXG4gIE9taXQ8RW50aXR5TGFiZWxzLCBrZXlvZiAoUkNLZXlzICYgUHJvamVjdERpY3Rpb25hcnkpPiAmXG4gIFByb2plY3REaWN0aW9uYXJ5O1xuXG4vLyDtgqTripQg7Jyg7KeA7ZWY65CYLCDqsJIg7YOA7J6F7J2AIHN0cmluZyDrmJDripQg7ZWo7IiY66GcIOydvOuwmO2ZlCAo64uk66W4IGxvY2FsZeydmCDrpqzthLDrn7Qg7YOA7J6FIOy2qeuPjCDrsKnsp4ApXG5leHBvcnQgdHlwZSBNZXJnZWREaWN0aW9uYXJ5ID0ge1xuICBbSyBpbiBrZXlvZiBSYXdNZXJnZWREaWN0aW9uYXJ5XTogUmF3TWVyZ2VkRGljdGlvbmFyeVtLXSBleHRlbmRzICguLi5hcmdzOiBpbmZlciBQKSA9PiBzdHJpbmdcbiAgICA/ICguLi5hcmdzOiBQKSA9PiBzdHJpbmdcbiAgICA6IHN0cmluZztcbn07XG5leHBvcnQgdHlwZSBEaWN0S2V5ID0ga2V5b2YgTWVyZ2VkRGljdGlvbmFyeTtcbmV4cG9ydCB0eXBlIExvY2FsaXplZFN0cmluZyA9IHN0cmluZyAmIHsgX19icmFuZDogXCJMb2NhbGl6ZWRTdHJpbmdcIiB9O1xuXG5leHBvcnQgZnVuY3Rpb24gZGVmaW5lTG9jYWxlKGRpY3Q6IFBhcnRpYWw8TWVyZ2VkRGljdGlvbmFyeT4pIHtcbiAgcmV0dXJuIGRpY3Q7XG59XG5cbi8vIOqwgSBsb2NhbGXrs4TroZwgcmMta2V5cyArIGVudGl0eSBsYWJlbHMgKyDtlITroZzsoJ3tirggZGljdCDtlansuahcbmNvbnN0IGRpY3Rpb25hcmllczogUmVjb3JkPHN0cmluZywgUGFydGlhbDxNZXJnZWREaWN0aW9uYXJ5Pj4gPSB7XG4gIGtvOiB7IC4uLnJjS2V5c0tvLCAuLi5lbnRpdHlMYWJlbHMsIC4uLmtvIH0sXG4gIGVuOiB7IC4uLnJjS2V5c0VuLCAuLi5lbiB9LFxufTtcblxudHlwZSBTRFJldHVyblR5cGU8SyBleHRlbmRzIERpY3RLZXk+ID0gTWVyZ2VkRGljdGlvbmFyeVtLXSBleHRlbmRzICguLi5hcmdzOiBpbmZlciBQKSA9PiBzdHJpbmdcbiAgPyAoLi4uYXJnczogUCkgPT4gTG9jYWxpemVkU3RyaW5nXG4gIDogTG9jYWxpemVkU3RyaW5nO1xuXG5mdW5jdGlvbiBnZXREaWN0VmFsdWU8SyBleHRlbmRzIERpY3RLZXk+KGtleTogSywgbG9jYWxlOiBzdHJpbmcpOiBTRFJldHVyblR5cGU8Sz4ge1xuICAvLyAxLiDsp4DsoJXrkJwgbG9jYWxl7JeQ7IScIOyhsO2ajFxuICBjb25zdCBkaWN0ID0gZGljdGlvbmFyaWVzW2xvY2FsZV07XG4gIGlmIChkaWN0Py5ba2V5XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGRpY3Rba2V5XSBhcyB1bmtub3duIGFzIFNEUmV0dXJuVHlwZTxLPjtcbiAgfVxuXG4gIC8vIDIuIGRlZmF1bHQgbG9jYWxl7JeQ7IScIOyhsO2ajFxuICBpZiAobG9jYWxlICE9PSBERUZBVUxUX0xPQ0FMRSAmJiBkaWN0aW9uYXJpZXNbREVGQVVMVF9MT0NBTEVdPy5ba2V5XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGRpY3Rpb25hcmllc1tERUZBVUxUX0xPQ0FMRV1ba2V5XSBhcyB1bmtub3duIGFzIFNEUmV0dXJuVHlwZTxLPjtcbiAgfVxuXG4gIC8vIDMuIHN1cHBvcnRlZCBsb2NhbGVzIOyInO2ajFxuICBmb3IgKGNvbnN0IHN1cHBvcnRlZExvY2FsZSBvZiBTVVBQT1JURURfTE9DQUxFUykge1xuICAgIGlmIChzdXBwb3J0ZWRMb2NhbGUgIT09IGxvY2FsZSAmJiBzdXBwb3J0ZWRMb2NhbGUgIT09IERFRkFVTFRfTE9DQUxFKSB7XG4gICAgICBpZiAoZGljdGlvbmFyaWVzW3N1cHBvcnRlZExvY2FsZV0/LltrZXldICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIGRpY3Rpb25hcmllc1tzdXBwb3J0ZWRMb2NhbGVdW2tleV0gYXMgdW5rbm93biBhcyBTRFJldHVyblR5cGU8Sz47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gNC4g66qo65GQIOyLpO2MqCDsi5wga2V5IOuwmO2ZmFxuICByZXR1cm4ga2V5IGFzIHVua25vd24gYXMgU0RSZXR1cm5UeXBlPEs+O1xufVxuXG4vKipcbiAqIFNvbmFtdSBEaWN0aW9uYXJ5IO2VqOyImFxuICogbG9jYWxl7JeQIOunnuuKlCDrsojsl60g7YWN7Iqk7Yq466W8IOuwmO2ZmO2VqeuLiOuLpC5cbiAqXG4gKiBAZXhhbXBsZVxuICogU0QoXCJjb21tb24uc2F2ZVwiKSAgLy8g4oaSIFwi7KCA7J6lXCIgKExvY2FsaXplZFN0cmluZylcbiAqIFNEKFwidXNlci5ub3RGb3VuZFwiKSgxKSAgLy8g4oaSIFwi7KG07J6s7ZWY7KeAIOyViuuKlCBVc2VyIElEIDFcIiAoTG9jYWxpemVkU3RyaW5nKVxuICovXG5leHBvcnQgZnVuY3Rpb24gU0Q8SyBleHRlbmRzIERpY3RLZXk+KGtleTogSyk6IFNEUmV0dXJuVHlwZTxLPiB7XG4gIGNvbnN0IGxvY2FsZSA9IGdldEN1cnJlbnRMb2NhbGUoKTtcbiAgcmV0dXJuIGdldERpY3RWYWx1ZShrZXksIGxvY2FsZSk7XG59XG5cbi8qKlxuICog7Yq57KCVIGxvY2FsZeydmCDrsojsl60g7YWN7Iqk7Yq466W8IOuwmO2ZmO2VmOuKlCDtlajsiJjrpbwg7IOd7ISx7ZWp64uI64ukLlxuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBFTiA9IFNELmxvY2FsZShcImVuXCIpO1xuICogRU4oXCJjb21tb24uc2F2ZVwiKSAgLy8g4oaSIFwiU2F2ZVwiXG4gKi9cblNELmxvY2FsZSA9XG4gIChsb2NhbGU6ICh0eXBlb2YgU1VQUE9SVEVEX0xPQ0FMRVMpW251bWJlcl0pID0+XG4gIDxLIGV4dGVuZHMgRGljdEtleT4oa2V5OiBLKTogU0RSZXR1cm5UeXBlPEs+ID0+IHtcbiAgICByZXR1cm4gZ2V0RGljdFZhbHVlKGtleSwgbG9jYWxlKTtcbiAgfTtcblxuLy8gTG9jYWxpemVkIOqwgOuKpe2VnCBDb2x1bW4g7YOA7J6FIOqzhOyCsFxudHlwZSBMb2NhbGl6ZWRCYXNlQ29sdW1uPFQ+ID0ge1xuICBbSyBpbiBrZXlvZiBUICYgc3RyaW5nXTogSyBleHRlbmRzIGAke2luZmVyIEJhc2V9XyR7KHR5cGVvZiBTVVBQT1JURURfTE9DQUxFUylbbnVtYmVyXX1gXG4gICAgPyBCYXNlXG4gICAgOiBLO1xufVtrZXlvZiBUICYgc3RyaW5nXTtcblxuLyoqXG4gKiBsb2NhbGXsl5Ag65Sw6528IOyggeygiO2VnCDsu6zrn7wg6rCS7J2EIOuwmO2ZmO2VqeuLiOuLpC5cbiAqIERC7JeQIG5hbWUsIG5hbWVfa28sIG5hbWVfZW7sspjrn7wgbG9jYWxpemVkIGNvbHVtbuydtCDsnojsnYQg65WMIOyCrOyaqe2VqeuLiOuLpC5cbiAqXG4gKiDsmrDshKDsiJzsnIQgKOyngOybkCDroZzsvIDsnbzsnYAga28vanAvZW7snbTqs6AsIOyEnOu5hOyKpOydmCDquLDrs7gg66Gc7LyA7J287J2AIGtvLCDsgqzsmqnsnpDsnZgg66Gc7LyA7J287J2AIGpw7J28IOuVjCk6IGNvbHVtbl9qcCDihpIgY29sdW1uIOKGkiBjb2x1bW5fa28g4oaSIGNvbHVtbl9lblxuICog7Jqw7ISg7Iic7JyEICjsp4Dsm5Ag66Gc7LyA7J287J2AIGtvL2pwL2Vu7J206rOgLCDshJzruYTsiqTsnZgg6riw67O4IOuhnOy8gOydvOydgCBlbiwg7IKs7Jqp7J6Q7J2YIOuhnOy8gOydvOydgCBrb+ydvCDrlYwpOiBjb2x1bW5fa28g4oaSIGNvbHVtbiDihpIgY29sdW1uX2VuIOKGkiBjb2x1bW5fanBcbiAqXG4gKiBAZXhhbXBsZVxuICogbG9jYWxpemVkQ29sdW1uKHRhZywgXCJuYW1lXCIpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb2NhbGl6ZWRDb2x1bW48XG4gIFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgSyBleHRlbmRzIExvY2FsaXplZEJhc2VDb2x1bW48VD4sXG4+KHJvdzogVCwgY29sdW1uOiBLKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgbG9jYWxlID0gZ2V0Q3VycmVudExvY2FsZSgpO1xuICBjb25zdCBvdGhlckxvY2FsZXMgPSBTVVBQT1JURURfTE9DQUxFUy5maWx0ZXIoXG4gICAgKGw6IHN0cmluZykgPT4gbCAhPT0gbG9jYWxlICYmIGwgIT09IERFRkFVTFRfTE9DQUxFLFxuICApO1xuICBjb25zdCBsb2NhbGl6ZWRLZXkgPSAoY29sdW1uOiBLLCBsb2NhbGU6ICh0eXBlb2YgU1VQUE9SVEVEX0xPQ0FMRVMpW251bWJlcl0pID0+XG4gICAgYCR7Y29sdW1ufV8ke2xvY2FsZX1gO1xuICBjb25zdCBrZXlzID0gW1xuICAgIGxvY2FsaXplZEtleShjb2x1bW4sIGxvY2FsZSksXG4gICAgY29sdW1uLFxuICAgIGxvY2FsaXplZEtleShjb2x1bW4sIERFRkFVTFRfTE9DQUxFKSxcbiAgICAuLi5vdGhlckxvY2FsZXMubWFwKChsKSA9PiBsb2NhbGl6ZWRLZXkoY29sdW1uLCBsKSksXG4gIF07XG5cbiAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgIGlmICghKGtleSBpbiByb3cpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAocm93W2tleV0gIT09IG51bGwgJiYgcm93W2tleV0gIT09IHVuZGVmaW5lZCAmJiByb3dba2V5XSAhPT0gXCJcIikge1xuICAgICAgcmV0dXJuIFN0cmluZyhyb3dba2V5XSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBFbnVt7J2YIGxvY2FsaXplZCBsYWJlbHPrpbwgUHJveHnroZwg67CY7ZmY7ZWp64uI64ukLlxuICogU2VsZWN0IOy7tO2PrOuEjO2KuCDrk7Hsl5DshJwgRW51bUxhYmVsW2tleV0g64yA7IugIOyCrOyaqe2VqeuLiOuLpC5cbiAqXG4gKiBAZXhhbXBsZVxuICogU0QuZW51bUxhYmVscyhcIlRhZ09yZGVyQnlcIilba2V5XSAgLy8g4oaSIO2YhOyerCBsb2NhbGXsnZgg652867KoXG4gKi9cblNELmVudW1MYWJlbHMgPSAoZW51bU5hbWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIExvY2FsaXplZFN0cmluZz4gPT4ge1xuICByZXR1cm4gbmV3IFByb3h5KHt9IGFzIFJlY29yZDxzdHJpbmcsIExvY2FsaXplZFN0cmluZz4sIHtcbiAgICBnZXQoXywga2V5OiBzdHJpbmcpIHtcbiAgICAgIGNvbnN0IGRpY3RLZXkgPSBgZW51bS4ke2VudW1OYW1lfS4ke2tleX1gIGFzIERpY3RLZXk7XG4gICAgICByZXR1cm4gZ2V0RGljdFZhbHVlKGRpY3RLZXksIGdldEN1cnJlbnRMb2NhbGUoKSk7XG4gICAgfSxcbiAgfSk7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
|
|
317
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2QuZ2VuZXJhdGVkLmpzIiwibmFtZXMiOlsia28iLCJlbiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pMThuL3NkLmdlbmVyYXRlZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBnZW5lcmF0ZWRcbiAqIOyngeygkSDsiJjsoJXtlZjsp4Ag66eI7IS47JqULlxuICovXG5cbmltcG9ydCB7IFNvbmFtdSB9IGZyb20gXCJzb25hbXVcIjtcblxuY29uc3QgREVGQVVMVF9MT0NBTEUgPSBcImtvXCIgYXMgY29uc3Q7XG5jb25zdCBTVVBQT1JURURfTE9DQUxFUyA9IFtcImtvXCIsIFwiZW5cIl0gYXMgY29uc3Q7XG5mdW5jdGlvbiBnZXRDdXJyZW50TG9jYWxlKCk6ICh0eXBlb2YgU1VQUE9SVEVEX0xPQ0FMRVMpW251bWJlcl0ge1xuICB0cnkge1xuICAgIGNvbnN0IGN0eCA9IFNvbmFtdS5nZXRDb250ZXh0KCk7XG4gICAgcmV0dXJuIChjdHgubG9jYWxlIGFzICh0eXBlb2YgU1VQUE9SVEVEX0xPQ0FMRVMpW251bWJlcl0pID8/IERFRkFVTFRfTE9DQUxFO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gREVGQVVMVF9MT0NBTEU7XG4gIH1cbn1cblxuaW1wb3J0IGVuIGZyb20gXCIuL2VuXCI7XG5pbXBvcnQga28gZnJvbSBcIi4va29cIjtcblxuLy8gcmVhY3QtY29tcG9uZW50cyBpMThuIGtleXNcbmNvbnN0IHJjS2V5c0tvID0ge1xuICAvLyBBc3luY1NlbGVjdCBDb21wb25lbnRcbiAgXCJyYy5hc3luY1NlbGVjdC5sb2FkaW5nXCI6IFwi66Gc65SpIOykkS4uLlwiLFxuICBcInJjLmFzeW5jU2VsZWN0Lm5vT3B0aW9uc1wiOiBcIuyYteyFmOydtCDsl4bsirXri4jri6RcIixcbiAgXCJyYy5hc3luY1NlbGVjdC5ub1Jlc3VsdHNcIjogXCLqsoDsg4kg6rKw6rO86rCAIOyXhuyKteuLiOuLpFwiLFxuICBcInJjLmFzeW5jU2VsZWN0LnNlbGVjdFBsYWNlaG9sZGVyXCI6IFwi7ISg7YOd7ZWY7IS47JqULi4uXCIsXG5cbiAgLy8gQ29tYm9ib3ggQ29tcG9uZW50XG4gIFwicmMuY29tYm9ib3gubm9SZXN1bHRzXCI6IFwi6rKA7IOJIOqysOqzvOqwgCDsl4bsirXri4jri6RcIixcbiAgXCJyYy5jb21ib2JveC5zZWxlY3RQbGFjZWhvbGRlclwiOiBcIuyEoO2Dne2VmOyEuOyalC4uLlwiLFxuXG4gIC8vIERhdGVQaWNrZXIgQ29tcG9uZW50XG4gIFwicmMuZGF0ZVBpY2tlci5waWNrRGF0ZVwiOiBcIuuCoOynnCDshKDtg51cIixcbiAgXCJyYy5kYXRlUGlja2VyLnBsYWNlaG9sZGVyXCI6IFwi64Kg7KecIOyEoO2DnVwiLFxuICBcInJjLmRhdGVQaWNrZXIuc2VsZWN0RGF0ZVwiOiBcIuuCoOynnCDshKDtg51cIixcblxuICAvLyBEYXRlU2VsZWN0b3JNdWx0aXBsZSBDb21wb25lbnRcbiAgXCJyYy5kYXRlU2VsZWN0b3JNdWx0aXBsZS5hZGREYXRlXCI6IFwi64Kg7KecIOy2lOqwgFwiLFxuICBcInJjLmRhdGVTZWxlY3Rvck11bHRpcGxlLmRhdGVSYW5nZVwiOiBcIuq4sOqwhFwiLFxuICBcInJjLmRhdGVTZWxlY3Rvck11bHRpcGxlLnBsYWNlaG9sZGVyXCI6IFwi64Kg7KecIOyEoO2DnVwiLFxuICBcInJjLmRhdGVTZWxlY3Rvck11bHRpcGxlLnNpbmdsZURhdGVcIjogXCLri6jsnbxcIixcblxuICAvLyBGaWxlSW5wdXQgQ29tcG9uZW50XG4gIFwicmMuZmlsZUlucHV0LmJyb3dzZUZpbGVzXCI6IFwi7YyM7J28IOywvuq4sFwiLFxuICBcInJjLmZpbGVJbnB1dC5kcm9wWm9uZVwiOiBcIu2MjOydvOydhCDrk5zrnpjqt7jtlZjqsbDrgpgg7YG066at7ZWY7JesIOyXheuhnOuTnFwiLFxuICBcInJjLmZpbGVJbnB1dC5maWxlUGxhY2Vob2xkZXJcIjogXCLtjIzsnbxcIixcbiAgXCJyYy5maWxlSW5wdXQuaW1hZ2VQbGFjZWhvbGRlclwiOiBcIuydtOuvuOyngFwiLFxuICBcInJjLmZpbGVJbnB1dC5tYXhGaWxlc0V4Y2VlZGVkXCI6IChtYXhGaWxlczogbnVtYmVyKSA9PlxuICAgIGDstZzrjIAgJHttYXhGaWxlc33qsJwg7YyM7J2866eMIOyXheuhnOuTnCDqsIDriqXtlanri4jri6RgLFxuICBcInJjLmZpbGVJbnB1dC5wZW5kaW5nXCI6IFwi64yA6riwIOykkVwiLFxuICBcInJjLmZpbGVJbnB1dC5yZW1vdmVcIjogXCLsoJzqsbBcIixcbiAgXCJyYy5maWxlSW5wdXQudXBsb2FkRmFpbGVkXCI6IFwi7JeF66Gc65OcIOyLpO2MqFwiLFxuICBcInJjLmZpbGVJbnB1dC51cGxvYWRpbmdcIjogXCLsl4XroZzrk5wg7KSRLi4uXCIsXG5cbiAgLy8gTW9udGhQaWNrZXJNdWx0aXBsZSBDb21wb25lbnRcbiAgXCJyYy5tb250aFBpY2tlck11bHRpcGxlLmFkZE1vbnRoXCI6IFwi7JuUIOy2lOqwgFwiLFxuICBcInJjLm1vbnRoUGlja2VyTXVsdGlwbGUuZGF0ZVJhbmdlXCI6IFwi6riw6rCEXCIsXG4gIFwicmMubW9udGhQaWNrZXJNdWx0aXBsZS5lbmREYXRlXCI6IFwi7KKF66OM7J28XCIsXG4gIFwicmMubW9udGhQaWNrZXJNdWx0aXBsZS5wbGFjZWhvbGRlclwiOiBcIuyblCDshKDtg51cIixcbiAgXCJyYy5tb250aFBpY2tlck11bHRpcGxlLnNpbmdsZURhdGVcIjogXCLri6jsnbxcIixcbiAgXCJyYy5tb250aFBpY2tlck11bHRpcGxlLnN0YXJ0RGF0ZVwiOiBcIuyLnOyekeydvFwiLFxuXG4gIC8vIE11bHRpU2VsZWN0IENvbXBvbmVudFxuICBcInJjLm11bHRpU2VsZWN0LmNsZWFyXCI6IFwi7KCE7LK0IO2VtOygnFwiLFxuICBcInJjLm11bHRpU2VsZWN0LmNsb3NlXCI6IFwi64ur6riwXCIsXG4gIFwicmMubXVsdGlTZWxlY3QubW9yZUl0ZW1zXCI6IChjb3VudDogbnVtYmVyKSA9PiBgKyR7Y291bnR96rCcIOuNlOuztOq4sGAsXG4gIFwicmMubXVsdGlTZWxlY3Qubm9PcHRpb25zXCI6IFwi7Ji17IWY7J20IOyXhuyKteuLiOuLpFwiLFxuICBcInJjLm11bHRpU2VsZWN0Lm5vT3B0aW9uc1NlbGVjdGVkXCI6IFwi7ISg7YOd65CcIOyYteyFmOydtCDsl4bsirXri4jri6RcIixcbiAgXCJyYy5tdWx0aVNlbGVjdC5ub1Jlc3VsdHNcIjogXCLqsoDsg4kg6rKw6rO86rCAIOyXhuyKteuLiOuLpFwiLFxuICBcInJjLm11bHRpU2VsZWN0Lm9wdGlvbnNDb3VudFwiOiAoY291bnQ6IG51bWJlcikgPT4gYCR7Y291bnR96rCcIOyYteyFmGAsXG4gIFwicmMubXVsdGlTZWxlY3Quc2VsZWN0QWxsXCI6IFwi7KCE7LK0IOyEoO2DnVwiLFxuICBcInJjLm11bHRpU2VsZWN0LnNlbGVjdFBsYWNlaG9sZGVyXCI6IFwi7ISg7YOd7ZWY7IS47JqULi4uXCIsXG5cbiAgLy8gUGFnaW5hdGlvbiBDb21wb25lbnRcbiAgXCJyYy5wYWdpbmF0aW9uLm5leHRcIjogXCLri6TsnYxcIixcbiAgXCJyYy5wYWdpbmF0aW9uLnByZXZpb3VzXCI6IFwi7J207KCEXCIsXG4gIFwicmMucGFnaW5hdGlvbi5zaG93aW5nXCI6IChzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlciwgdG90YWw6IG51bWJlcikgPT5cbiAgICBgJHt0b3RhbH3qsJwg7KSRICR7c3RhcnR9LSR7ZW5kfWAsXG5cbiAgLy8gQ2FsZW5kYXIgQ29tcG9uZW50XG4gIFwicmMuY2FsZW5kYXIubW9udGguMFwiOiBcIjHsm5RcIixcbiAgXCJyYy5jYWxlbmRhci5tb250aC4xXCI6IFwiMuyblFwiLFxuICBcInJjLmNhbGVuZGFyLm1vbnRoLjJcIjogXCIz7JuUXCIsXG4gIFwicmMuY2FsZW5kYXIubW9udGguM1wiOiBcIjTsm5RcIixcbiAgXCJyYy5jYWxlbmRhci5tb250aC40XCI6IFwiNeyblFwiLFxuICBcInJjLmNhbGVuZGFyLm1vbnRoLjVcIjogXCI27JuUXCIsXG4gIFwicmMuY2FsZW5kYXIubW9udGguNlwiOiBcIjfsm5RcIixcbiAgXCJyYy5jYWxlbmRhci5tb250aC43XCI6IFwiOOyblFwiLFxuICBcInJjLmNhbGVuZGFyLm1vbnRoLjhcIjogXCI57JuUXCIsXG4gIFwicmMuY2FsZW5kYXIubW9udGguOVwiOiBcIjEw7JuUXCIsXG4gIFwicmMuY2FsZW5kYXIubW9udGguMTBcIjogXCIxMeyblFwiLFxuICBcInJjLmNhbGVuZGFyLm1vbnRoLjExXCI6IFwiMTLsm5RcIixcblxuICAvLyBTb25hbXUgRmlsdGVyIENvbXBvbmVudFxuICBcInJjLnNvbmFtdUZpbHRlci50aXRsZVwiOiBcIuyGjOuCmOustCDtlYTthLBcIixcbiAgXCJyYy5zb25hbXVGaWx0ZXIuYXBwbHlcIjogXCLsoIHsmqlcIixcbiAgXCJyYy5zb25hbXVGaWx0ZXIucmVzZXRcIjogXCLstIjquLDtmZRcIixcbiAgXCJyYy5zb25hbXVGaWx0ZXIuYWRkUnVsZVwiOiBcIuq3nOy5mSDstpTqsIBcIixcbiAgXCJyYy5zb25hbXVGaWx0ZXIubm9SdWxlc1lldFwiOiAn7JWE7KeBIOq3nOy5meydtCDsl4bsirXri4jri6QuIFwiKyDqt5zsuZkg7LaU6rCAXCLrpbwg7YG066at7ZWY7JesIOyLnOyeke2VmOyEuOyalC4nLFxuICBcInJjLnNvbmFtdUZpbHRlci5zZWxlY3RGaWVsZFwiOiBcIu2VhOuTnCDshKDtg51cIixcbiAgXCJyYy5zb25hbXVGaWx0ZXIuc2VsZWN0T3BlcmF0b3JcIjogXCLsl7DsgrDsnpAg7ISg7YOdXCIsXG4gIFwicmMuc29uYW11RmlsdGVyLnNlbGVjdE9wZXJhdG9yRmlyc3RcIjogXCLrqLzsoIAg7Jew7IKw7J6Q66W8IOyEoO2Dne2VmOyEuOyalFwiLFxuICBcInJjLnNvbmFtdUZpbHRlci5lbnRlclZhbHVlXCI6IFwi6rCSIOyeheugpVwiLFxuICBcInJjLnNvbmFtdUZpbHRlci5lbnRlck51bWJlclwiOiBcIuyIq+yekCDsnoXroKVcIixcbiAgXCJyYy5zb25hbXVGaWx0ZXIubm90U3VwcG9ydGVkXCI6IFwi7KeA7JuQ7ZWY7KeAIOyViuydjFwiLFxuICBcInJjLnNvbmFtdUZpbHRlci5zdGFydERhdGVcIjogXCLsi5zsnpHsnbxcIixcbiAgXCJyYy5zb25hbXVGaWx0ZXIuZW5kRGF0ZVwiOiBcIuyiheujjOydvFwiLFxuICBcInJjLnNvbmFtdUZpbHRlci5hcHBsaWVkRmlsdGVyc1wiOiBcIvCfjLIg7KCB7Jqp65CcIOyGjOuCmOustCDtlYTthLBcIixcblxuICAvLyBDb21tb25cbiAgXCJyYy5jb21tb24uY2FuY2VsXCI6IFwi7Leo7IaMXCIsXG4gIFwicmMuY29tbW9uLnNhdmVcIjogXCLsoIDsnqVcIixcbn07XG5cbmNvbnN0IHJjS2V5c0VuID0ge1xuICAvLyBBc3luY1NlbGVjdCBDb21wb25lbnRcbiAgXCJyYy5hc3luY1NlbGVjdC5sb2FkaW5nXCI6IFwiTG9hZGluZy4uLlwiLFxuICBcInJjLmFzeW5jU2VsZWN0Lm5vT3B0aW9uc1wiOiBcIk5vIG9wdGlvbnNcIixcbiAgXCJyYy5hc3luY1NlbGVjdC5ub1Jlc3VsdHNcIjogXCJObyByZXN1bHRzXCIsXG4gIFwicmMuYXN5bmNTZWxlY3Quc2VsZWN0UGxhY2Vob2xkZXJcIjogXCJTZWxlY3QuLi5cIixcblxuICAvLyBDb21ib2JveCBDb21wb25lbnRcbiAgXCJyYy5jb21ib2JveC5ub1Jlc3VsdHNcIjogXCJObyByZXN1bHRzXCIsXG4gIFwicmMuY29tYm9ib3guc2VsZWN0UGxhY2Vob2xkZXJcIjogXCJTZWxlY3QuLi5cIixcblxuICAvLyBEYXRlUGlja2VyIENvbXBvbmVudFxuICBcInJjLmRhdGVQaWNrZXIucGlja0RhdGVcIjogXCJQaWNrIGRhdGVcIixcbiAgXCJyYy5kYXRlUGlja2VyLnBsYWNlaG9sZGVyXCI6IFwiUGljayBkYXRlXCIsXG4gIFwicmMuZGF0ZVBpY2tlci5zZWxlY3REYXRlXCI6IFwiU2VsZWN0IGRhdGVcIixcblxuICAvLyBEYXRlU2VsZWN0b3JNdWx0aXBsZSBDb21wb25lbnRcbiAgXCJyYy5kYXRlU2VsZWN0b3JNdWx0aXBsZS5hZGREYXRlXCI6IFwiQWRkIGRhdGVcIixcbiAgXCJyYy5kYXRlU2VsZWN0b3JNdWx0aXBsZS5kYXRlUmFuZ2VcIjogXCJSYW5nZVwiLFxuICBcInJjLmRhdGVTZWxlY3Rvck11bHRpcGxlLnBsYWNlaG9sZGVyXCI6IFwiUGljayBkYXRlXCIsXG4gIFwicmMuZGF0ZVNlbGVjdG9yTXVsdGlwbGUuc2luZ2xlRGF0ZVwiOiBcIlNpbmdsZVwiLFxuXG4gIC8vIEZpbGVJbnB1dCBDb21wb25lbnRcbiAgXCJyYy5maWxlSW5wdXQuYnJvd3NlRmlsZXNcIjogXCJCcm93c2UgZmlsZXNcIixcbiAgXCJyYy5maWxlSW5wdXQuZHJvcFpvbmVcIjogXCJEcmFnIGZpbGVzIGhlcmUgb3IgY2xpY2sgdG8gdXBsb2FkXCIsXG4gIFwicmMuZmlsZUlucHV0LmZpbGVQbGFjZWhvbGRlclwiOiBcIkZpbGVcIixcbiAgXCJyYy5maWxlSW5wdXQuaW1hZ2VQbGFjZWhvbGRlclwiOiBcIkltYWdlXCIsXG4gIFwicmMuZmlsZUlucHV0Lm1heEZpbGVzRXhjZWVkZWRcIjogKG1heEZpbGVzOiBudW1iZXIpID0+IGBNYXhpbXVtICR7bWF4RmlsZXN9IGZpbGVzIGFsbG93ZWRgLFxuICBcInJjLmZpbGVJbnB1dC5wZW5kaW5nXCI6IFwiUGVuZGluZ1wiLFxuICBcInJjLmZpbGVJbnB1dC5yZW1vdmVcIjogXCJSZW1vdmVcIixcbiAgXCJyYy5maWxlSW5wdXQudXBsb2FkRmFpbGVkXCI6IFwiVXBsb2FkIGZhaWxlZFwiLFxuICBcInJjLmZpbGVJbnB1dC51cGxvYWRpbmdcIjogXCJVcGxvYWRpbmcuLi5cIixcblxuICAvLyBNb250aFBpY2tlck11bHRpcGxlIENvbXBvbmVudFxuICBcInJjLm1vbnRoUGlja2VyTXVsdGlwbGUuYWRkTW9udGhcIjogXCJBZGQgbW9udGhcIixcbiAgXCJyYy5tb250aFBpY2tlck11bHRpcGxlLmRhdGVSYW5nZVwiOiBcIlJhbmdlXCIsXG4gIFwicmMubW9udGhQaWNrZXJNdWx0aXBsZS5lbmREYXRlXCI6IFwiRW5kIGRhdGVcIixcbiAgXCJyYy5tb250aFBpY2tlck11bHRpcGxlLnBsYWNlaG9sZGVyXCI6IFwiUGljayBtb250aFwiLFxuICBcInJjLm1vbnRoUGlja2VyTXVsdGlwbGUuc2luZ2xlRGF0ZVwiOiBcIlNpbmdsZVwiLFxuICBcInJjLm1vbnRoUGlja2VyTXVsdGlwbGUuc3RhcnREYXRlXCI6IFwiU3RhcnQgZGF0ZVwiLFxuXG4gIC8vIE11bHRpU2VsZWN0IENvbXBvbmVudFxuICBcInJjLm11bHRpU2VsZWN0LmNsZWFyXCI6IFwiQ2xlYXIgYWxsXCIsXG4gIFwicmMubXVsdGlTZWxlY3QuY2xvc2VcIjogXCJDbG9zZVwiLFxuICBcInJjLm11bHRpU2VsZWN0Lm1vcmVJdGVtc1wiOiAoY291bnQ6IG51bWJlcikgPT4gYCske2NvdW50fSBtb3JlYCxcbiAgXCJyYy5tdWx0aVNlbGVjdC5ub09wdGlvbnNcIjogXCJObyBvcHRpb25zXCIsXG4gIFwicmMubXVsdGlTZWxlY3Qubm9PcHRpb25zU2VsZWN0ZWRcIjogXCJObyBvcHRpb25zIHNlbGVjdGVkXCIsXG4gIFwicmMubXVsdGlTZWxlY3Qubm9SZXN1bHRzXCI6IFwiTm8gcmVzdWx0c1wiLFxuICBcInJjLm11bHRpU2VsZWN0Lm9wdGlvbnNDb3VudFwiOiAoY291bnQ6IG51bWJlcikgPT4gYCR7Y291bnR9IG9wdGlvbnNgLFxuICBcInJjLm11bHRpU2VsZWN0LnNlbGVjdEFsbFwiOiBcIlNlbGVjdCBhbGxcIixcbiAgXCJyYy5tdWx0aVNlbGVjdC5zZWxlY3RQbGFjZWhvbGRlclwiOiBcIlNlbGVjdC4uLlwiLFxuXG4gIC8vIFBhZ2luYXRpb24gQ29tcG9uZW50XG4gIFwicmMucGFnaW5hdGlvbi5uZXh0XCI6IFwiTmV4dFwiLFxuICBcInJjLnBhZ2luYXRpb24ucHJldmlvdXNcIjogXCJQcmV2aW91c1wiLFxuICBcInJjLnBhZ2luYXRpb24uc2hvd2luZ1wiOiAoc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIsIHRvdGFsOiBudW1iZXIpID0+XG4gICAgYFNob3dpbmcgJHtzdGFydH0tJHtlbmR9IG9mICR7dG90YWx9YCxcblxuICAvLyBDYWxlbmRhciBDb21wb25lbnRcbiAgXCJyYy5jYWxlbmRhci5tb250aC4wXCI6IFwiSmFudWFyeVwiLFxuICBcInJjLmNhbGVuZGFyLm1vbnRoLjFcIjogXCJGZWJydWFyeVwiLFxuICBcInJjLmNhbGVuZGFyLm1vbnRoLjJcIjogXCJNYXJjaFwiLFxuICBcInJjLmNhbGVuZGFyLm1vbnRoLjNcIjogXCJBcHJpbFwiLFxuICBcInJjLmNhbGVuZGFyLm1vbnRoLjRcIjogXCJNYXlcIixcbiAgXCJyYy5jYWxlbmRhci5tb250aC41XCI6IFwiSnVuZVwiLFxuICBcInJjLmNhbGVuZGFyLm1vbnRoLjZcIjogXCJKdWx5XCIsXG4gIFwicmMuY2FsZW5kYXIubW9udGguN1wiOiBcIkF1Z3VzdFwiLFxuICBcInJjLmNhbGVuZGFyLm1vbnRoLjhcIjogXCJTZXB0ZW1iZXJcIixcbiAgXCJyYy5jYWxlbmRhci5tb250aC45XCI6IFwiT2N0b2JlclwiLFxuICBcInJjLmNhbGVuZGFyLm1vbnRoLjEwXCI6IFwiTm92ZW1iZXJcIixcbiAgXCJyYy5jYWxlbmRhci5tb250aC4xMVwiOiBcIkRlY2VtYmVyXCIsXG5cbiAgLy8gU29uYW11IEZpbHRlciBDb21wb25lbnRcbiAgXCJyYy5zb25hbXVGaWx0ZXIudGl0bGVcIjogXCJTb25hbXUgRmlsdGVyXCIsXG4gIFwicmMuc29uYW11RmlsdGVyLmFwcGx5XCI6IFwiQXBwbHlcIixcbiAgXCJyYy5zb25hbXVGaWx0ZXIucmVzZXRcIjogXCJSZXNldFwiLFxuICBcInJjLnNvbmFtdUZpbHRlci5hZGRSdWxlXCI6IFwiQWRkIFJ1bGVcIixcbiAgXCJyYy5zb25hbXVGaWx0ZXIubm9SdWxlc1lldFwiOiAnTm8gcnVsZXMgeWV0LiBDbGljayBcIisgQWRkIFJ1bGVcIiB0byBzdGFydC4nLFxuICBcInJjLnNvbmFtdUZpbHRlci5zZWxlY3RGaWVsZFwiOiBcIlNlbGVjdCBmaWVsZFwiLFxuICBcInJjLnNvbmFtdUZpbHRlci5zZWxlY3RPcGVyYXRvclwiOiBcIk9wZXJhdG9yXCIsXG4gIFwicmMuc29uYW11RmlsdGVyLnNlbGVjdE9wZXJhdG9yRmlyc3RcIjogXCJTZWxlY3Qgb3BlcmF0b3IgZmlyc3RcIixcbiAgXCJyYy5zb25hbXVGaWx0ZXIuZW50ZXJWYWx1ZVwiOiBcIkVudGVyIHZhbHVlXCIsXG4gIFwicmMuc29uYW11RmlsdGVyLmVudGVyTnVtYmVyXCI6IFwiRW50ZXIgbnVtYmVyXCIsXG4gIFwicmMuc29uYW11RmlsdGVyLm5vdFN1cHBvcnRlZFwiOiBcIk5vdCBzdXBwb3J0ZWRcIixcbiAgXCJyYy5zb25hbXVGaWx0ZXIuc3RhcnREYXRlXCI6IFwiU3RhcnQgZGF0ZVwiLFxuICBcInJjLnNvbmFtdUZpbHRlci5lbmREYXRlXCI6IFwiRW5kIGRhdGVcIixcbiAgXCJyYy5zb25hbXVGaWx0ZXIuYXBwbGllZEZpbHRlcnNcIjogXCLwn4yyIEFwcGxpZWQgU29uYW11RmlsdGVyc1wiLFxuXG4gIC8vIENvbW1vblxuICBcInJjLmNvbW1vbi5jYW5jZWxcIjogXCJDYW5jZWxcIixcbiAgXCJyYy5jb21tb24uc2F2ZVwiOiBcIlNhdmVcIixcbn0gYXMgY29uc3Q7XG5cbi8vIGVudGl0eS5qc29u7JeQ7IScIOy2lOy2nO2VnCBlbnRpdHkgbGFiZWxzIChkZWZhdWx0TG9jYWxlIOyghOyaqSlcbmNvbnN0IGVudGl0eUxhYmVscyA9IHtcbiAgXCJlbnRpdHkuUmVxdWVzdExvZ1wiOiBcIlJlcXVlc3RMb2dcIixcbiAgXCJlbnRpdHkuUmVxdWVzdExvZy5pZFwiOiBcIklEXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2cuY3JlYXRlZF9hdFwiOiBcIuuTseuhneydvOyLnFwiLFxuICBcImVudGl0eS5SZXF1ZXN0TG9nLnRva2VuX25hbWVcIjogXCLthqDtgbAg7J2066aEXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2cucHJvamVjdF9uYW1lXCI6IFwi7ZSE66Gc7KCd7Yq4IOydtOumhFwiLFxuICBcImVudGl0eS5SZXF1ZXN0TG9nLm1vZGVsX25hbWVcIjogXCLrqqjrjbgg7J2066aEXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2cudXNlcl9wcm9tcHRcIjogXCLsgqzsmqnsnpAg7ZSE66Gs7ZSE7Yq4XCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2cuc3lzdGVtX3Byb21wdFwiOiBcIuyLnOyKpO2FnCDtlITroaztlITtirhcIixcbiAgXCJlbnRpdHkuUmVxdWVzdExvZy5yZXNwb25zZVwiOiBcImxsbSDsnZHri7Ug7KCE66y4XCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2cuaW5wdXRfdG9rZW5zXCI6IFwi7J6F66ClIO2GoO2BsFwiLFxuICBcImVudGl0eS5SZXF1ZXN0TG9nLm91dHB1dF90b2tlbnNcIjogXCLstpzroKUg7Yag7YGwXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2cuY2FjaGVfcmVhZF90b2tlbnNcIjogXCLsupDsi5wg7J296riwIO2GoO2BsFwiLFxuICBcImVudGl0eS5SZXF1ZXN0TG9nLmNhY2hlX2NyZWF0aW9uX3Rva2Vuc1wiOiBcIuy6kOyLnCDsg53shLEg7Yag7YGwXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2cuZHVyYXRpb25fbXNcIjogXCLsnZHri7Ug7IaM7JqU7Iuc6rCEKG1zKVwiLFxuICBcImVudGl0eS5SZXF1ZXN0TG9nLnR0ZnRfbXNcIjogXCJmaXJzdCBnZW4gVFRGVChtcylcIixcbiAgXCJlbnRpdHkuUmVxdWVzdExvZy5jb3N0X3VzZFwiOiBcIkFQSSDruYTsmqlcIixcbiAgXCJlbnRpdHkuUmVxdWVzdExvZy5pbWFnZV9jb3N0X3VzZFwiOiBcIuydtOuvuOyngCDsg53shLEg7LaU7KCVIOu5hOyaqVwiLFxuICBcImVudGl0eS5SZXF1ZXN0TG9nLmltYWdlX2Nvc3RfbWV0aG9kXCI6IFwi7J2066+47KeAIOu5hOyaqSDstpTsoJUg67Cp7IudXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2cuZWZmb3J0XCI6IFwiZWZmb3J0IGxldmVsXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2cuaGlzdG9yeVwiOiBcImluamVjdF9pdGVtcyDtnojsiqTthqDrpqxcIixcbiAgXCJlbnRpdHkuUmVxdWVzdExvZy5zdGF0dXNcIjogXCLsi6Ttlokg7IOB7YOcXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2cuZXJyb3JfbWVzc2FnZVwiOiBcIuyXkOufrCDrqZTsi5zsp4BcIixcbiAgXCJlbnRpdHkuUmVxdWVzdExvZy50b29sX2NhbGxfY291bnRcIjogXCJ0b29sIGNhbGwg7Zqf7IiYXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2cuaXNfaW1hZ2VfZ2VuZXJhdGlvblwiOiBcIuydtOuvuOyngCDsg53shLEgdHVybiDsl6zrtoAgKHF1b3RhIOq3gOyGjeyaqSlcIixcbiAgXCJlbnVtLlJlcXVlc3RMb2dPcmRlckJ5LmlkLWRlc2NcIjogXCJJROy1nOyLoOyInFwiLFxuICBcImVudW0uUmVxdWVzdExvZ1NlYXJjaEZpZWxkLmlkXCI6IFwiSURcIixcbiAgXCJlbnVtLlJlcXVlc3RMb2dTZWFyY2hGaWVsZC50b2tlbl9uYW1lXCI6IFwi7Yag7YGw7J2066aEXCIsXG4gIFwiZW51bS5SZXF1ZXN0TG9nU2VhcmNoRmllbGQudXNlcl9wcm9tcHRcIjogXCLsgqzsmqnsnpAg7ZSE66Gs7ZSE7Yq4XCIsXG4gIFwiZW51bS5SZXF1ZXN0TG9nU3RhdHVzLnJ1bm5pbmdcIjogXCLsi6Ttlokg7KSRXCIsXG4gIFwiZW51bS5SZXF1ZXN0TG9nU3RhdHVzLnN1Y2NlZWRlZFwiOiBcIuyEseqztVwiLFxuICBcImVudW0uUmVxdWVzdExvZ1N0YXR1cy5lcnJvclwiOiBcIuyXkOufrFwiLFxuICBcImVudW0uUmVxdWVzdExvZ1N0YXR1cy5hYm9ydGVkXCI6IFwi7KSR64uoXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2dTdGVwXCI6IFwiUmVxdWVzdExvZ1N0ZXBcIixcbiAgXCJlbnRpdHkuUmVxdWVzdExvZ1N0ZXAuaWRcIjogXCJJRFwiLFxuICBcImVudGl0eS5SZXF1ZXN0TG9nU3RlcC5jcmVhdGVkX2F0XCI6IFwi65Ox66Gd7J287IucXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2dTdGVwLnJlcXVlc3RfbG9nXCI6IFwi67aA66qoIHJlcXVlc3QgbG9nIElEXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2dTdGVwLnN0ZXBfaW5kZXhcIjogXCJhaS1zZGsgc3RlcCBudW1iZXIgKDAtYmFzZWQpXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2dTdGVwLnR5cGVcIjogXCJzdGVwIO2DgOyehVwiLFxuICBcImVudGl0eS5SZXF1ZXN0TG9nU3RlcC5pbnB1dF90b2tlbnNcIjogXCLsnoXroKUg7Yag7YGwIChnZW5lcmF0ZSlcIixcbiAgXCJlbnRpdHkuUmVxdWVzdExvZ1N0ZXAub3V0cHV0X3Rva2Vuc1wiOiBcIuy2nOugpSDthqDtgbAgKGdlbmVyYXRlKVwiLFxuICBcImVudGl0eS5SZXF1ZXN0TG9nU3RlcC5jYWNoZV9yZWFkX3Rva2Vuc1wiOiBcIuy6kOyLnCDsnb3quLAg7Yag7YGwXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2dTdGVwLmNhY2hlX2NyZWF0aW9uX3Rva2Vuc1wiOiBcIuy6kOyLnCDsg53shLEg7Yag7YGwXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2dTdGVwLmR1cmF0aW9uX21zXCI6IFwi7IaM7JqU7Iuc6rCEKG1zKVwiLFxuICBcImVudGl0eS5SZXF1ZXN0TG9nU3RlcC50dGZ0X21zXCI6IFwiR2VuIFRURlQobXMpXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2dTdGVwLmZpbmlzaF9yZWFzb25cIjogXCLsmYTro4wg7IKs7JygXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2dTdGVwLnJlYXNvbmluZ190ZXh0XCI6IFwicmVhc29uaW5nIO2FjeyKpO2KuFwiLFxuICBcImVudGl0eS5SZXF1ZXN0TG9nU3RlcC5yZWFzb25pbmdfdG9rZW5zXCI6IFwicmVhc29uaW5nIO2GoO2BsCDsiJhcIixcbiAgXCJlbnRpdHkuUmVxdWVzdExvZ1N0ZXAudG9vbF9jYWxsX2luZGV4XCI6IFwi6rCZ7J2AIHN0ZXAg64K0IHRvb2wgY2FsbCDsiJzshJxcIixcbiAgXCJlbnRpdHkuUmVxdWVzdExvZ1N0ZXAudG9vbF9jYWxsX2lkXCI6IFwidG9vbCBjYWxsIElEXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2dTdGVwLnRvb2xfbmFtZVwiOiBcInRvb2wg7J2066aEXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2dTdGVwLnRvb2xfYXJnc1wiOiBcInRvb2wg7J247J6QIChKU09OIHN0cmluZylcIixcbiAgXCJlbnRpdHkuUmVxdWVzdExvZ1N0ZXAudG9vbF9yZXN1bHRcIjogXCJ0b29sIOqysOqzvCAoSlNPTiBzdHJpbmcpXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2dTdGVwLnRvb2xfZHVyYXRpb25fbXNcIjogXCJ0b29sIOyLpO2WiSDshozsmpTsi5zqsIQobXMpXCIsXG4gIFwiZW50aXR5LlJlcXVlc3RMb2dTdGVwLmVycm9yXCI6IFwic3RlcCDsl5Drn6wg66mU7Iuc7KeAXCIsXG4gIFwiZW51bS5SZXF1ZXN0TG9nU3RlcFR5cGUuZ2VuZXJhdGVcIjogXCJMTE0g7IOd7ISxXCIsXG4gIFwiZW51bS5SZXF1ZXN0TG9nU3RlcFR5cGUudG9vbF9jYWxsXCI6IFwiVG9vbCDtmLjstpxcIixcbiAgXCJlbnVtLlJlcXVlc3RMb2dTdGVwT3JkZXJCeS5pZC1hc2NcIjogXCJJROyInFwiLFxuICBcImVudW0uUmVxdWVzdExvZ1N0ZXBTZWFyY2hGaWVsZC5pZFwiOiBcIklEXCIsXG4gIFwiZW50aXR5LlRva2VuXCI6IFwiVG9rZW5cIixcbiAgXCJlbnRpdHkuVG9rZW4uaWRcIjogXCJJRFwiLFxuICBcImVudGl0eS5Ub2tlbi5jcmVhdGVkX2F0XCI6IFwi65Ox66Gd7J287IucXCIsXG4gIFwiZW50aXR5LlRva2VuLnByb3ZpZGVyXCI6IFwi7ZSE66Gc67CU7J20642UXCIsXG4gIFwiZW50aXR5LlRva2VuLmNyZWRlbnRpYWxzXCI6IFwi7J247KadIOygleuztCAoSlNPTkIpXCIsXG4gIFwiZW50aXR5LlRva2VuLm5hbWVcIjogXCLthqDtgbAg7J2066aEXCIsXG4gIFwiZW50aXR5LlRva2VuLmFjdGl2ZVwiOiBcIu2ZnOyEsSDsl6zrtoBcIixcbiAgXCJlbnRpdHkuVG9rZW4ub3JkXCI6IFwi7KCV66CsIOyInOyEnFwiLFxuICBcImVudGl0eS5Ub2tlbi5xdW90YV90aHJlc2hvbGRcIjogXCJxdW90YSDsgqzsmqnrpaAg7J6E6rOE7LmYKCUpLiBudWxs7J2066m0IOuvuOyEpOyglVwiLFxuICBcImVudGl0eS5Ub2tlbi53ZWlnaHRcIjogXCLqsIDspJEg65287Jq065Oc66Gc67mIIOudvOyasO2MhSDqsIDspJHsuZggKDEuLjEwMClcIixcbiAgXCJlbnVtLlRva2VuT3JkZXJCeS5pZC1kZXNjXCI6IFwiSUTstZzsi6DsiJxcIixcbiAgXCJlbnVtLlRva2VuT3JkZXJCeS5vcmQtYXNjXCI6IFwi7Iic7ISc7IicXCIsXG4gIFwiZW51bS5Ub2tlblNlYXJjaEZpZWxkLmlkXCI6IFwiSURcIixcbiAgXCJlbnVtLlRva2VuU2VhcmNoRmllbGQubmFtZVwiOiBcIuydtOumhFwiLFxufSBhcyBjb25zdDtcblxuLy8gZGVmYXVsdExvY2FsZeydmCBkaWN0aW9uYXJ566W8IOq4sOykgOycvOuhnCDtgqQg7LaU7LacXG50eXBlIFJDS2V5cyA9IHR5cGVvZiByY0tleXNLbztcbnR5cGUgUHJvamVjdERpY3Rpb25hcnkgPSB0eXBlb2Yga287XG50eXBlIEVudGl0eUxhYmVscyA9IHR5cGVvZiBlbnRpdHlMYWJlbHM7XG50eXBlIFJhd01lcmdlZERpY3Rpb25hcnkgPSBSQ0tleXMgJlxuICBPbWl0PEVudGl0eUxhYmVscywga2V5b2YgKFJDS2V5cyAmIFByb2plY3REaWN0aW9uYXJ5KT4gJlxuICBQcm9qZWN0RGljdGlvbmFyeTtcblxuLy8g7YKk64qUIOycoOyngO2VmOuQmCwg6rCSIO2DgOyeheydgCBzdHJpbmcg65iQ64qUIO2VqOyImOuhnCDsnbzrsJjtmZQgKOuLpOuluCBsb2NhbGXsnZgg66as7YSw65+0IO2DgOyehSDstqnrj4wg67Cp7KeAKVxuZXhwb3J0IHR5cGUgTWVyZ2VkRGljdGlvbmFyeSA9IHtcbiAgW0sgaW4ga2V5b2YgUmF3TWVyZ2VkRGljdGlvbmFyeV06IFJhd01lcmdlZERpY3Rpb25hcnlbS10gZXh0ZW5kcyAoLi4uYXJnczogaW5mZXIgUCkgPT4gc3RyaW5nXG4gICAgPyAoLi4uYXJnczogUCkgPT4gc3RyaW5nXG4gICAgOiBzdHJpbmc7XG59O1xuZXhwb3J0IHR5cGUgRGljdEtleSA9IGtleW9mIE1lcmdlZERpY3Rpb25hcnk7XG5leHBvcnQgdHlwZSBMb2NhbGl6ZWRTdHJpbmcgPSBzdHJpbmcgJiB7IF9fYnJhbmQ6IFwiTG9jYWxpemVkU3RyaW5nXCIgfTtcblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmluZUxvY2FsZShkaWN0OiBQYXJ0aWFsPE1lcmdlZERpY3Rpb25hcnk+KSB7XG4gIHJldHVybiBkaWN0O1xufVxuXG4vLyDqsIEgbG9jYWxl67OE66GcIHJjLWtleXMgKyBlbnRpdHkgbGFiZWxzICsg7ZSE66Gc7KCd7Yq4IGRpY3Qg7ZWp7LmoXG5jb25zdCBkaWN0aW9uYXJpZXM6IFJlY29yZDxzdHJpbmcsIFBhcnRpYWw8TWVyZ2VkRGljdGlvbmFyeT4+ID0ge1xuICBrbzogeyAuLi5yY0tleXNLbywgLi4uZW50aXR5TGFiZWxzLCAuLi5rbyB9LFxuICBlbjogeyAuLi5yY0tleXNFbiwgLi4uZW4gfSxcbn07XG5cbnR5cGUgU0RSZXR1cm5UeXBlPEsgZXh0ZW5kcyBEaWN0S2V5PiA9IE1lcmdlZERpY3Rpb25hcnlbS10gZXh0ZW5kcyAoLi4uYXJnczogaW5mZXIgUCkgPT4gc3RyaW5nXG4gID8gKC4uLmFyZ3M6IFApID0+IExvY2FsaXplZFN0cmluZ1xuICA6IExvY2FsaXplZFN0cmluZztcblxuZnVuY3Rpb24gZ2V0RGljdFZhbHVlPEsgZXh0ZW5kcyBEaWN0S2V5PihrZXk6IEssIGxvY2FsZTogc3RyaW5nKTogU0RSZXR1cm5UeXBlPEs+IHtcbiAgLy8gMS4g7KeA7KCV65CcIGxvY2FsZeyXkOyEnCDsobDtmoxcbiAgY29uc3QgZGljdCA9IGRpY3Rpb25hcmllc1tsb2NhbGVdO1xuICBpZiAoZGljdD8uW2tleV0gIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBkaWN0W2tleV0gYXMgdW5rbm93biBhcyBTRFJldHVyblR5cGU8Sz47XG4gIH1cblxuICAvLyAyLiBkZWZhdWx0IGxvY2FsZeyXkOyEnCDsobDtmoxcbiAgaWYgKGxvY2FsZSAhPT0gREVGQVVMVF9MT0NBTEUgJiYgZGljdGlvbmFyaWVzW0RFRkFVTFRfTE9DQUxFXT8uW2tleV0gIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBkaWN0aW9uYXJpZXNbREVGQVVMVF9MT0NBTEVdW2tleV0gYXMgdW5rbm93biBhcyBTRFJldHVyblR5cGU8Sz47XG4gIH1cblxuICAvLyAzLiBzdXBwb3J0ZWQgbG9jYWxlcyDsiJztmoxcbiAgZm9yIChjb25zdCBzdXBwb3J0ZWRMb2NhbGUgb2YgU1VQUE9SVEVEX0xPQ0FMRVMpIHtcbiAgICBpZiAoc3VwcG9ydGVkTG9jYWxlICE9PSBsb2NhbGUgJiYgc3VwcG9ydGVkTG9jYWxlICE9PSBERUZBVUxUX0xPQ0FMRSkge1xuICAgICAgaWYgKGRpY3Rpb25hcmllc1tzdXBwb3J0ZWRMb2NhbGVdPy5ba2V5XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBkaWN0aW9uYXJpZXNbc3VwcG9ydGVkTG9jYWxlXVtrZXldIGFzIHVua25vd24gYXMgU0RSZXR1cm5UeXBlPEs+O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIDQuIOuqqOuRkCDsi6TtjKgg7IucIGtleSDrsJjtmZhcbiAgcmV0dXJuIGtleSBhcyB1bmtub3duIGFzIFNEUmV0dXJuVHlwZTxLPjtcbn1cblxuLyoqXG4gKiBTb25hbXUgRGljdGlvbmFyeSDtlajsiJhcbiAqIGxvY2FsZeyXkCDrp57ripQg67KI7JetIO2FjeyKpO2KuOulvCDrsJjtmZjtlanri4jri6QuXG4gKlxuICogQGV4YW1wbGVcbiAqIFNEKFwiY29tbW9uLnNhdmVcIikgIC8vIOKGkiBcIuyggOyepVwiIChMb2NhbGl6ZWRTdHJpbmcpXG4gKiBTRChcInVzZXIubm90Rm91bmRcIikoMSkgIC8vIOKGkiBcIuyhtOyerO2VmOyngCDslYrripQgVXNlciBJRCAxXCIgKExvY2FsaXplZFN0cmluZylcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFNEPEsgZXh0ZW5kcyBEaWN0S2V5PihrZXk6IEspOiBTRFJldHVyblR5cGU8Sz4ge1xuICBjb25zdCBsb2NhbGUgPSBnZXRDdXJyZW50TG9jYWxlKCk7XG4gIHJldHVybiBnZXREaWN0VmFsdWUoa2V5LCBsb2NhbGUpO1xufVxuXG4vKipcbiAqIO2KueyglSBsb2NhbGXsnZgg67KI7JetIO2FjeyKpO2KuOulvCDrsJjtmZjtlZjripQg7ZWo7IiY66W8IOyDneyEse2VqeuLiOuLpC5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgRU4gPSBTRC5sb2NhbGUoXCJlblwiKTtcbiAqIEVOKFwiY29tbW9uLnNhdmVcIikgIC8vIOKGkiBcIlNhdmVcIlxuICovXG5TRC5sb2NhbGUgPVxuICAobG9jYWxlOiAodHlwZW9mIFNVUFBPUlRFRF9MT0NBTEVTKVtudW1iZXJdKSA9PlxuICA8SyBleHRlbmRzIERpY3RLZXk+KGtleTogSyk6IFNEUmV0dXJuVHlwZTxLPiA9PiB7XG4gICAgcmV0dXJuIGdldERpY3RWYWx1ZShrZXksIGxvY2FsZSk7XG4gIH07XG5cbi8vIExvY2FsaXplZCDqsIDriqXtlZwgQ29sdW1uIO2DgOyehSDqs4TsgrBcbnR5cGUgTG9jYWxpemVkQmFzZUNvbHVtbjxUPiA9IHtcbiAgW0sgaW4ga2V5b2YgVCAmIHN0cmluZ106IEsgZXh0ZW5kcyBgJHtpbmZlciBCYXNlfV8keyh0eXBlb2YgU1VQUE9SVEVEX0xPQ0FMRVMpW251bWJlcl19YFxuICAgID8gQmFzZVxuICAgIDogSztcbn1ba2V5b2YgVCAmIHN0cmluZ107XG5cbi8qKlxuICogbG9jYWxl7JeQIOuUsOudvCDsoIHsoIjtlZwg7Lus65+8IOqwkuydhCDrsJjtmZjtlanri4jri6QuXG4gKiBEQuyXkCBuYW1lLCBuYW1lX2tvLCBuYW1lX2Vu7LKY65+8IGxvY2FsaXplZCBjb2x1bW7snbQg7J6I7J2EIOuVjCDsgqzsmqntlanri4jri6QuXG4gKlxuICog7Jqw7ISg7Iic7JyEICjsp4Dsm5Ag66Gc7LyA7J287J2AIGtvL2pwL2Vu7J206rOgLCDshJzruYTsiqTsnZgg6riw67O4IOuhnOy8gOydvOydgCBrbywg7IKs7Jqp7J6Q7J2YIOuhnOy8gOydvOydgCBqcOydvCDrlYwpOiBjb2x1bW5fanAg4oaSIGNvbHVtbiDihpIgY29sdW1uX2tvIOKGkiBjb2x1bW5fZW5cbiAqIOyasOyEoOyInOychCAo7KeA7JuQIOuhnOy8gOydvOydgCBrby9qcC9lbuydtOqzoCwg7ISc67mE7Iqk7J2YIOq4sOuzuCDroZzsvIDsnbzsnYAgZW4sIOyCrOyaqeyekOydmCDroZzsvIDsnbzsnYAga2/snbwg65WMKTogY29sdW1uX2tvIOKGkiBjb2x1bW4g4oaSIGNvbHVtbl9lbiDihpIgY29sdW1uX2pwXG4gKlxuICogQGV4YW1wbGVcbiAqIGxvY2FsaXplZENvbHVtbih0YWcsIFwibmFtZVwiKVxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9jYWxpemVkQ29sdW1uPFxuICBUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIEsgZXh0ZW5kcyBMb2NhbGl6ZWRCYXNlQ29sdW1uPFQ+LFxuPihyb3c6IFQsIGNvbHVtbjogSyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGxvY2FsZSA9IGdldEN1cnJlbnRMb2NhbGUoKTtcbiAgY29uc3Qgb3RoZXJMb2NhbGVzID0gU1VQUE9SVEVEX0xPQ0FMRVMuZmlsdGVyKFxuICAgIChsOiBzdHJpbmcpID0+IGwgIT09IGxvY2FsZSAmJiBsICE9PSBERUZBVUxUX0xPQ0FMRSxcbiAgKTtcbiAgY29uc3QgbG9jYWxpemVkS2V5ID0gKGNvbHVtbjogSywgbG9jYWxlOiAodHlwZW9mIFNVUFBPUlRFRF9MT0NBTEVTKVtudW1iZXJdKSA9PlxuICAgIGAke2NvbHVtbn1fJHtsb2NhbGV9YDtcbiAgY29uc3Qga2V5cyA9IFtcbiAgICBsb2NhbGl6ZWRLZXkoY29sdW1uLCBsb2NhbGUpLFxuICAgIGNvbHVtbixcbiAgICBsb2NhbGl6ZWRLZXkoY29sdW1uLCBERUZBVUxUX0xPQ0FMRSksXG4gICAgLi4ub3RoZXJMb2NhbGVzLm1hcCgobCkgPT4gbG9jYWxpemVkS2V5KGNvbHVtbiwgbCkpLFxuICBdO1xuXG4gIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICBpZiAoIShrZXkgaW4gcm93KSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKHJvd1trZXldICE9PSBudWxsICYmIHJvd1trZXldICE9PSB1bmRlZmluZWQgJiYgcm93W2tleV0gIT09IFwiXCIpIHtcbiAgICAgIHJldHVybiBTdHJpbmcocm93W2tleV0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogRW51beydmCBsb2NhbGl6ZWQgbGFiZWxz66W8IFByb3h566GcIOuwmO2ZmO2VqeuLiOuLpC5cbiAqIFNlbGVjdCDsu7Ttj6zrhIztirgg65Ox7JeQ7IScIEVudW1MYWJlbFtrZXldIOuMgOyLoCDsgqzsmqntlanri4jri6QuXG4gKlxuICogQGV4YW1wbGVcbiAqIFNELmVudW1MYWJlbHMoXCJUYWdPcmRlckJ5XCIpW2tleV0gIC8vIOKGkiDtmITsnqwgbG9jYWxl7J2YIOudvOuyqFxuICovXG5TRC5lbnVtTGFiZWxzID0gKGVudW1OYW1lOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBMb2NhbGl6ZWRTdHJpbmc+ID0+IHtcbiAgcmV0dXJuIG5ldyBQcm94eSh7fSBhcyBSZWNvcmQ8c3RyaW5nLCBMb2NhbGl6ZWRTdHJpbmc+LCB7XG4gICAgZ2V0KF8sIGtleTogc3RyaW5nKSB7XG4gICAgICBjb25zdCBkaWN0S2V5ID0gYGVudW0uJHtlbnVtTmFtZX0uJHtrZXl9YCBhcyBEaWN0S2V5O1xuICAgICAgcmV0dXJuIGdldERpY3RWYWx1ZShkaWN0S2V5LCBnZXRDdXJyZW50TG9jYWxlKCkpO1xuICAgIH0sXG4gIH0pO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBT0EsTUFBTSxpQkFBaUI7QUFDdkIsTUFBTSxvQkFBb0IsQ0FBQyxNQUFNLEtBQUs7QUFDdEMsU0FBUyxtQkFBdUQ7QUFDOUQsS0FBSTtBQUVGLFNBRFksT0FBTyxZQUFZLENBQ25CLFVBQWlEO1NBQ3ZEO0FBQ04sU0FBTzs7O0FBUVgsTUFBTSxXQUFXO0NBRWYsMEJBQTBCO0NBQzFCLDRCQUE0QjtDQUM1Qiw0QkFBNEI7Q0FDNUIsb0NBQW9DO0NBR3BDLHlCQUF5QjtDQUN6QixpQ0FBaUM7Q0FHakMsMEJBQTBCO0NBQzFCLDZCQUE2QjtDQUM3Qiw0QkFBNEI7Q0FHNUIsbUNBQW1DO0NBQ25DLHFDQUFxQztDQUNyQyx1Q0FBdUM7Q0FDdkMsc0NBQXNDO0NBR3RDLDRCQUE0QjtDQUM1Qix5QkFBeUI7Q0FDekIsZ0NBQWdDO0NBQ2hDLGlDQUFpQztDQUNqQyxrQ0FBa0MsYUFDaEMsTUFBTSxTQUFTO0NBQ2pCLHdCQUF3QjtDQUN4Qix1QkFBdUI7Q0FDdkIsNkJBQTZCO0NBQzdCLDBCQUEwQjtDQUcxQixtQ0FBbUM7Q0FDbkMsb0NBQW9DO0NBQ3BDLGtDQUFrQztDQUNsQyxzQ0FBc0M7Q0FDdEMscUNBQXFDO0NBQ3JDLG9DQUFvQztDQUdwQyx3QkFBd0I7Q0FDeEIsd0JBQXdCO0NBQ3hCLDZCQUE2QixVQUFrQixJQUFJLE1BQU07Q0FDekQsNEJBQTRCO0NBQzVCLG9DQUFvQztDQUNwQyw0QkFBNEI7Q0FDNUIsZ0NBQWdDLFVBQWtCLEdBQUcsTUFBTTtDQUMzRCw0QkFBNEI7Q0FDNUIsb0NBQW9DO0NBR3BDLHNCQUFzQjtDQUN0QiwwQkFBMEI7Q0FDMUIsMEJBQTBCLE9BQWUsS0FBYSxVQUNwRCxHQUFHLE1BQU0sTUFBTSxNQUFNLEdBQUc7Q0FHMUIsdUJBQXVCO0NBQ3ZCLHVCQUF1QjtDQUN2Qix1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
|
package/bundle/dist/index.js
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import "./_virtual/_rolldown/runtime.js";
|
|
2
|
-
import {
|
|
2
|
+
import { bootstrapServer } from "./server-bootstrap.js";
|
|
3
3
|
//#region src/index.ts
|
|
4
|
-
|
|
5
|
-
await Sonamu.createServer();
|
|
6
|
-
}
|
|
7
|
-
bootstrap();
|
|
4
|
+
bootstrapServer();
|
|
8
5
|
//#endregion
|
|
9
6
|
export {};
|
|
10
7
|
|
|
11
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJvb3RzdHJhcFNlcnZlciB9IGZyb20gXCIuL3NlcnZlci1ib290c3RyYXBcIjtcblxudm9pZCBib290c3RyYXBTZXJ2ZXIoKTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBRUssaUJBQWlCIn0=
|
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
import "../_virtual/_rolldown/runtime.js";
|
|
2
2
|
//#region src/migrations/20260521134025_alter_request_log_steps_alter1.ts
|
|
3
|
-
async function up(
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
async function down(knex) {
|
|
7
|
-
await knex.schema.alterTable("request_log_steps", (table) => {
|
|
8
|
-
table.dropIndex(["request_log_id"], "request_log_steps_request_log_id_index");
|
|
9
|
-
});
|
|
10
|
-
}
|
|
3
|
+
async function up(_knex) {}
|
|
4
|
+
async function down(_knex) {}
|
|
11
5
|
//#endregion
|
|
12
6
|
export { down, up };
|
|
13
7
|
|
|
14
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjAyNjA1MjExMzQwMjVfYWx0ZXJfcmVxdWVzdF9sb2dfc3RlcHNfYWx0ZXIxLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taWdyYXRpb25zLzIwMjYwNTIxMTM0MDI1X2FsdGVyX3JlcXVlc3RfbG9nX3N0ZXBzX2FsdGVyMS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEtuZXggfSBmcm9tIFwia25leFwiO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdXAoX2tuZXg6IEtuZXgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgLy8gVGhlIHByZWNlZGluZyBjcmVhdGUtdGFibGUgbWlncmF0aW9uIGFscmVhZHkgY3JlYXRlcyB0aGlzIGluZGV4LlxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZG93bihfa25leDogS25leCk6IFByb21pc2U8dm9pZD4ge1xuICAvLyBLZWVwIHRoZSBpbmRleCBvd25lZCBieSB0aGUgcHJlY2VkaW5nIGNyZWF0ZS10YWJsZSBtaWdyYXRpb24uXG59XG4iXSwibWFwcGluZ3MiOiI7O0FBRUEsZUFBc0IsR0FBRyxPQUE0QjtBQUlyRCxlQUFzQixLQUFLLE9BQTRCIn0=
|
|
@@ -14,4 +14,4 @@ async function down(knex) {
|
|
|
14
14
|
//#endregion
|
|
15
15
|
export { down, up };
|
|
16
16
|
|
|
17
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjAyNjA3MDYxMjAwMDBfYWx0ZXJfcmVxdWVzdF9sb2dzX2FkZF9pbWFnZV9jb3N0LmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taWdyYXRpb25zLzIwMjYwNzA2MTIwMDAwX2FsdGVyX3JlcXVlc3RfbG9nc19hZGRfaW1hZ2VfY29zdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEtuZXggfSBmcm9tIFwia25leFwiO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdXAoa25leDogS25leCk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBrbmV4LnNjaGVtYS5hbHRlclRhYmxlKFwicmVxdWVzdF9sb2dzXCIsICh0YWJsZSkgPT4ge1xuICAgIHRhYmxlLmludGVnZXIoXCJpbWFnZV9jb3N0X3VzZFwiKS5udWxsYWJsZSgpO1xuICAgIHRhYmxlLnN0cmluZyhcImltYWdlX2Nvc3RfbWV0aG9kXCIsIDEwMCkubnVsbGFibGUoKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkb3duKGtuZXg6IEtuZXgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQga25leC5zY2hlbWEuYWx0ZXJUYWJsZShcInJlcXVlc3RfbG9nc1wiLCAodGFibGUpID0+IHtcbiAgICB0YWJsZS5kcm9wQ29sdW1ucyhcImltYWdlX2Nvc3RfdXNkXCIsIFwiaW1hZ2VfY29zdF9tZXRob2RcIik7XG4gIH0pO1xufVxuIl0sIm1hcHBpbmdzIjoiOztBQUVBLGVBQXNCLEdBQUcsTUFBMkI7QUFDbEQsT0FBTSxLQUFLLE9BQU8sV0FBVyxpQkFBaUIsVUFBVTtBQUN0RCxRQUFNLFFBQVEsaUJBQWlCLENBQUMsVUFBVTtBQUMxQyxRQUFNLE9BQU8scUJBQXFCLElBQUksQ0FBQyxVQUFVO0dBQ2pEOztBQUdKLGVBQXNCLEtBQUssTUFBMkI7QUFDcEQsT0FBTSxLQUFLLE9BQU8sV0FBVyxpQkFBaUIsVUFBVTtBQUN0RCxRQUFNLFlBQVksa0JBQWtCLG9CQUFvQjtHQUN4RCJ9
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import "../_virtual/_rolldown/runtime.js";
|
|
2
|
+
//#region src/migrations/20260710090000_alter_tokens_add_weight.ts
|
|
3
|
+
async function up(knex) {
|
|
4
|
+
await knex.schema.alterTable("tokens", (table) => {
|
|
5
|
+
table.integer("weight").notNullable().defaultTo(1);
|
|
6
|
+
});
|
|
7
|
+
await knex.raw(`
|
|
8
|
+
CREATE OR REPLACE FUNCTION public.tokens_weight_notify() RETURNS trigger
|
|
9
|
+
LANGUAGE plpgsql
|
|
10
|
+
SET search_path = pg_catalog, public
|
|
11
|
+
AS $func$
|
|
12
|
+
BEGIN
|
|
13
|
+
PERFORM pg_notify('tokens_changed', json_build_object(
|
|
14
|
+
'op', TG_OP,
|
|
15
|
+
'id', NEW.id
|
|
16
|
+
)::text);
|
|
17
|
+
RETURN NEW;
|
|
18
|
+
END;
|
|
19
|
+
$func$;
|
|
20
|
+
|
|
21
|
+
DROP TRIGGER IF EXISTS tokens_weight_changed_upd ON public.tokens;
|
|
22
|
+
CREATE TRIGGER tokens_weight_changed_upd
|
|
23
|
+
AFTER UPDATE OF weight ON public.tokens
|
|
24
|
+
FOR EACH ROW
|
|
25
|
+
WHEN (OLD.weight IS DISTINCT FROM NEW.weight)
|
|
26
|
+
EXECUTE FUNCTION public.tokens_weight_notify();
|
|
27
|
+
`);
|
|
28
|
+
}
|
|
29
|
+
async function down(knex) {
|
|
30
|
+
await knex.raw(`
|
|
31
|
+
DROP TRIGGER IF EXISTS tokens_weight_changed_upd ON public.tokens;
|
|
32
|
+
DROP FUNCTION IF EXISTS public.tokens_weight_notify();
|
|
33
|
+
`);
|
|
34
|
+
await knex.schema.alterTable("tokens", (table) => {
|
|
35
|
+
table.dropColumns("weight");
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
//#endregion
|
|
39
|
+
export { down, up };
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjAyNjA3MTAwOTAwMDBfYWx0ZXJfdG9rZW5zX2FkZF93ZWlnaHQuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21pZ3JhdGlvbnMvMjAyNjA3MTAwOTAwMDBfYWx0ZXJfdG9rZW5zX2FkZF93ZWlnaHQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBLbmV4IH0gZnJvbSBcImtuZXhcIjtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHVwKGtuZXg6IEtuZXgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQga25leC5zY2hlbWEuYWx0ZXJUYWJsZShcInRva2Vuc1wiLCAodGFibGUpID0+IHtcbiAgICB0YWJsZS5pbnRlZ2VyKFwid2VpZ2h0XCIpLm5vdE51bGxhYmxlKCkuZGVmYXVsdFRvKDEpO1xuICB9KTtcbiAgYXdhaXQga25leC5yYXcoYFxuICAgIENSRUFURSBPUiBSRVBMQUNFIEZVTkNUSU9OIHB1YmxpYy50b2tlbnNfd2VpZ2h0X25vdGlmeSgpIFJFVFVSTlMgdHJpZ2dlclxuICAgIExBTkdVQUdFIHBscGdzcWxcbiAgICBTRVQgc2VhcmNoX3BhdGggPSBwZ19jYXRhbG9nLCBwdWJsaWNcbiAgICBBUyAkZnVuYyRcbiAgICBCRUdJTlxuICAgICAgUEVSRk9STSBwZ19ub3RpZnkoJ3Rva2Vuc19jaGFuZ2VkJywganNvbl9idWlsZF9vYmplY3QoXG4gICAgICAgICdvcCcsIFRHX09QLFxuICAgICAgICAnaWQnLCBORVcuaWRcbiAgICAgICk6OnRleHQpO1xuICAgICAgUkVUVVJOIE5FVztcbiAgICBFTkQ7XG4gICAgJGZ1bmMkO1xuXG4gICAgRFJPUCBUUklHR0VSIElGIEVYSVNUUyB0b2tlbnNfd2VpZ2h0X2NoYW5nZWRfdXBkIE9OIHB1YmxpYy50b2tlbnM7XG4gICAgQ1JFQVRFIFRSSUdHRVIgdG9rZW5zX3dlaWdodF9jaGFuZ2VkX3VwZFxuICAgIEFGVEVSIFVQREFURSBPRiB3ZWlnaHQgT04gcHVibGljLnRva2Vuc1xuICAgIEZPUiBFQUNIIFJPV1xuICAgIFdIRU4gKE9MRC53ZWlnaHQgSVMgRElTVElOQ1QgRlJPTSBORVcud2VpZ2h0KVxuICAgIEVYRUNVVEUgRlVOQ1RJT04gcHVibGljLnRva2Vuc193ZWlnaHRfbm90aWZ5KCk7XG4gIGApO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZG93bihrbmV4OiBLbmV4KTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGtuZXgucmF3KGBcbiAgICBEUk9QIFRSSUdHRVIgSUYgRVhJU1RTIHRva2Vuc193ZWlnaHRfY2hhbmdlZF91cGQgT04gcHVibGljLnRva2VucztcbiAgICBEUk9QIEZVTkNUSU9OIElGIEVYSVNUUyBwdWJsaWMudG9rZW5zX3dlaWdodF9ub3RpZnkoKTtcbiAgYCk7XG4gIGF3YWl0IGtuZXguc2NoZW1hLmFsdGVyVGFibGUoXCJ0b2tlbnNcIiwgKHRhYmxlKSA9PiB7XG4gICAgdGFibGUuZHJvcENvbHVtbnMoXCJ3ZWlnaHRcIik7XG4gIH0pO1xufVxuIl0sIm1hcHBpbmdzIjoiOztBQUVBLGVBQXNCLEdBQUcsTUFBMkI7QUFDbEQsT0FBTSxLQUFLLE9BQU8sV0FBVyxXQUFXLFVBQVU7QUFDaEQsUUFBTSxRQUFRLFNBQVMsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFO0dBQ2xEO0FBQ0YsT0FBTSxLQUFLLElBQUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBb0JiOztBQUdKLGVBQXNCLEtBQUssTUFBMkI7QUFDcEQsT0FBTSxLQUFLLElBQUk7OztJQUdiO0FBQ0YsT0FBTSxLQUFLLE9BQU8sV0FBVyxXQUFXLFVBQVU7QUFDaEQsUUFBTSxZQUFZLFNBQVM7R0FDM0IifQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import "./_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { runRequiredMigrations } from "./startup-migrations.js";
|
|
3
|
+
import { Sonamu } from "sonamu";
|
|
4
|
+
//#region src/server-bootstrap.ts
|
|
5
|
+
async function bootstrapServer(steps = {
|
|
6
|
+
init: () => Sonamu.init(),
|
|
7
|
+
migrate: runRequiredMigrations,
|
|
8
|
+
listen: () => Sonamu.createServer()
|
|
9
|
+
}) {
|
|
10
|
+
await steps.init();
|
|
11
|
+
await steps.migrate();
|
|
12
|
+
await steps.listen();
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { bootstrapServer };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLWJvb3RzdHJhcC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvc2VydmVyLWJvb3RzdHJhcC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTb25hbXUgfSBmcm9tIFwic29uYW11XCI7XG5cbmltcG9ydCB7IHJ1blJlcXVpcmVkTWlncmF0aW9ucyB9IGZyb20gXCIuL3N0YXJ0dXAtbWlncmF0aW9uc1wiO1xuXG50eXBlIEJvb3RzdHJhcFN0ZXBzID0ge1xuICBpbml0OiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICBtaWdyYXRlOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICBsaXN0ZW46ICgpID0+IFByb21pc2U8dW5rbm93bj47XG59O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYm9vdHN0cmFwU2VydmVyKFxuICBzdGVwczogQm9vdHN0cmFwU3RlcHMgPSB7XG4gICAgaW5pdDogKCkgPT4gU29uYW11LmluaXQoKSxcbiAgICBtaWdyYXRlOiBydW5SZXF1aXJlZE1pZ3JhdGlvbnMsXG4gICAgbGlzdGVuOiAoKSA9PiBTb25hbXUuY3JlYXRlU2VydmVyKCksXG4gIH0sXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgc3RlcHMuaW5pdCgpO1xuICBhd2FpdCBzdGVwcy5taWdyYXRlKCk7XG4gIGF3YWl0IHN0ZXBzLmxpc3RlbigpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBVUEsZUFBc0IsZ0JBQ3BCLFFBQXdCO0NBQ3RCLFlBQVksT0FBTyxNQUFNO0NBQ3pCLFNBQVM7Q0FDVCxjQUFjLE9BQU8sY0FBYztDQUNwQyxFQUNjO0FBQ2YsT0FBTSxNQUFNLE1BQU07QUFDbEIsT0FBTSxNQUFNLFNBQVM7QUFDckIsT0FBTSxNQUFNLFFBQVEifQ==
|