sonamu 0.7.53 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/config.d.ts +9 -1
- package/dist/api/config.d.ts.map +1 -1
- package/dist/api/config.js +1 -1
- package/dist/api/sonamu.d.ts +21 -1
- package/dist/api/sonamu.d.ts.map +1 -1
- package/dist/api/sonamu.js +159 -65
- package/dist/auth/plugins/entity-definitions/anonymous.d.ts +10 -0
- package/dist/auth/plugins/entity-definitions/anonymous.d.ts.map +1 -0
- package/dist/auth/plugins/entity-definitions/anonymous.js +23 -0
- package/dist/auth/plugins/entity-definitions/api-key.d.ts +9 -0
- package/dist/auth/plugins/entity-definitions/api-key.d.ts.map +1 -0
- package/dist/auth/plugins/entity-definitions/api-key.js +199 -0
- package/dist/auth/plugins/entity-definitions/index.d.ts +6 -0
- package/dist/auth/plugins/entity-definitions/index.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/index.js +20 -2
- package/dist/auth/plugins/entity-definitions/jwt.d.ts +9 -0
- package/dist/auth/plugins/entity-definitions/jwt.d.ts.map +1 -0
- package/dist/auth/plugins/entity-definitions/jwt.js +67 -0
- package/dist/auth/plugins/entity-definitions/organization.d.ts +9 -0
- package/dist/auth/plugins/entity-definitions/organization.d.ts.map +1 -0
- package/dist/auth/plugins/entity-definitions/organization.js +424 -0
- package/dist/auth/plugins/entity-definitions/passkey.d.ts +10 -0
- package/dist/auth/plugins/entity-definitions/passkey.d.ts.map +1 -0
- package/dist/auth/plugins/entity-definitions/passkey.js +129 -0
- package/dist/auth/plugins/entity-definitions/sso.d.ts +10 -0
- package/dist/auth/plugins/entity-definitions/sso.d.ts.map +1 -0
- package/dist/auth/plugins/entity-definitions/sso.js +110 -0
- package/dist/auth/plugins/entity-definitions/types.d.ts +1 -1
- package/dist/auth/plugins/entity-definitions/types.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/types.js +1 -1
- package/dist/auth/plugins/wrappers/admin.d.ts.map +1 -1
- package/dist/auth/plugins/wrappers/admin.js +2 -4
- package/dist/auth/plugins/wrappers/anonymous.d.ts +18 -0
- package/dist/auth/plugins/wrappers/anonymous.d.ts.map +1 -0
- package/dist/auth/plugins/wrappers/anonymous.js +26 -0
- package/dist/auth/plugins/wrappers/api-key.d.ts +18 -0
- package/dist/auth/plugins/wrappers/api-key.d.ts.map +1 -0
- package/dist/auth/plugins/wrappers/api-key.js +38 -0
- package/dist/auth/plugins/wrappers/index.d.ts +6 -0
- package/dist/auth/plugins/wrappers/index.d.ts.map +1 -1
- package/dist/auth/plugins/wrappers/index.js +7 -1
- package/dist/auth/plugins/wrappers/jwt.d.ts +18 -0
- package/dist/auth/plugins/wrappers/jwt.d.ts.map +1 -0
- package/dist/auth/plugins/wrappers/jwt.js +30 -0
- package/dist/auth/plugins/wrappers/organization.d.ts +18 -0
- package/dist/auth/plugins/wrappers/organization.d.ts.map +1 -0
- package/dist/auth/plugins/wrappers/organization.js +67 -0
- package/dist/auth/plugins/wrappers/passkey.d.ts +18 -0
- package/dist/auth/plugins/wrappers/passkey.d.ts.map +1 -0
- package/dist/auth/plugins/wrappers/passkey.js +32 -0
- package/dist/auth/plugins/wrappers/phone-number.d.ts.map +1 -1
- package/dist/auth/plugins/wrappers/phone-number.js +2 -4
- package/dist/auth/plugins/wrappers/sso.d.ts +853 -0
- package/dist/auth/plugins/wrappers/sso.d.ts.map +1 -0
- package/dist/auth/plugins/wrappers/sso.js +36 -0
- package/dist/auth/plugins/wrappers/two-factor.d.ts.map +1 -1
- package/dist/auth/plugins/wrappers/two-factor.js +2 -4
- package/dist/auth/plugins/wrappers/username.d.ts.map +1 -1
- package/dist/auth/plugins/wrappers/username.js +2 -4
- package/dist/bin/build-config.d.ts +2 -2
- package/dist/bin/build-config.js +6 -7
- package/dist/bin/cli.js +417 -32
- package/dist/bin/fixture.d.ts +27 -0
- package/dist/bin/fixture.d.ts.map +1 -0
- package/dist/bin/fixture.js +245 -0
- package/dist/cache/decorator.d.ts +4 -3
- package/dist/cache/decorator.d.ts.map +1 -1
- package/dist/cache/decorator.js +5 -4
- package/dist/cone/cone-generator.d.ts +33 -0
- package/dist/cone/cone-generator.d.ts.map +1 -0
- package/dist/cone/cone-generator.js +286 -0
- package/dist/database/_batch_update.d.ts.map +1 -1
- package/dist/database/_batch_update.js +16 -2
- package/dist/database/puri-subset.test-d.js +1 -1
- package/dist/database/puri-subset.types.d.ts +1 -1
- package/dist/database/puri-subset.types.d.ts.map +1 -1
- package/dist/database/puri-subset.types.js +1 -1
- package/dist/database/puri.d.ts +4 -0
- package/dist/database/puri.d.ts.map +1 -1
- package/dist/database/puri.js +20 -2
- package/dist/database/upsert-builder.d.ts.map +1 -1
- package/dist/database/upsert-builder.js +19 -3
- package/dist/dict/en.d.ts +15 -0
- package/dist/dict/en.d.ts.map +1 -1
- package/dist/dict/en.js +2 -1
- package/dist/dict/ko.d.ts +15 -0
- package/dist/dict/ko.d.ts.map +1 -1
- package/dist/dict/ko.js +2 -1
- package/dist/dict/rc-keys.d.ts +28 -0
- package/dist/dict/rc-keys.d.ts.map +1 -1
- package/dist/dict/rc-keys.js +31 -1
- package/dist/dict/sd.d.ts.map +1 -1
- package/dist/dict/sd.js +20 -4
- package/dist/entity/entity-manager.d.ts +298 -2
- package/dist/entity/entity-manager.d.ts.map +1 -1
- package/dist/entity/entity-manager.js +4 -1
- package/dist/entity/entity-template-cone.d.ts +14 -0
- package/dist/entity/entity-template-cone.d.ts.map +1 -0
- package/dist/entity/entity-template-cone.js +222 -0
- package/dist/entity/entity.d.ts +47 -2
- package/dist/entity/entity.d.ts.map +1 -1
- package/dist/entity/entity.js +161 -14
- package/dist/ssr/renderer.js +3 -3
- package/dist/syncer/api-parser.js +12 -1
- package/dist/syncer/checksum.d.ts +0 -14
- package/dist/syncer/checksum.d.ts.map +1 -1
- package/dist/syncer/checksum.js +1 -23
- package/dist/syncer/syncer-actions.d.ts.map +1 -1
- package/dist/syncer/syncer-actions.js +8 -2
- package/dist/syncer/syncer.d.ts +1 -1
- package/dist/syncer/syncer.d.ts.map +1 -1
- package/dist/syncer/syncer.js +17 -10
- package/dist/tasks/workflow-manager.d.ts +13 -1
- package/dist/tasks/workflow-manager.d.ts.map +1 -1
- package/dist/tasks/workflow-manager.js +18 -1
- package/dist/template/entity-converter.js +4 -4
- package/dist/template/helpers.d.ts +10 -0
- package/dist/template/helpers.d.ts.map +1 -1
- package/dist/template/helpers.js +48 -1
- package/dist/template/implementations/entry-server.template.d.ts +1 -1
- package/dist/template/implementations/entry-server.template.js +7 -2
- package/dist/template/implementations/generated.template.d.ts.map +1 -1
- package/dist/template/implementations/generated.template.js +5 -1
- package/dist/template/implementations/generated_http.template.d.ts +1 -0
- package/dist/template/implementations/generated_http.template.d.ts.map +1 -1
- package/dist/template/implementations/generated_http.template.js +6 -2
- package/dist/template/implementations/generated_sso.template.d.ts.map +1 -1
- package/dist/template/implementations/generated_sso.template.js +29 -8
- package/dist/template/implementations/queries.template.d.ts.map +1 -1
- package/dist/template/implementations/queries.template.js +9 -1
- package/dist/template/implementations/sd.template.d.ts +1 -1
- package/dist/template/implementations/sd.template.d.ts.map +1 -1
- package/dist/template/implementations/sd.template.js +28 -4
- package/dist/template/implementations/services.template.d.ts.map +1 -1
- package/dist/template/implementations/services.template.js +12 -12
- package/dist/template/implementations/view_form.template.d.ts +11 -7
- package/dist/template/implementations/view_form.template.d.ts.map +1 -1
- package/dist/template/implementations/view_form.template.js +97 -87
- package/dist/template/implementations/view_list.template.d.ts +3 -3
- package/dist/template/implementations/view_list.template.d.ts.map +1 -1
- package/dist/template/implementations/view_list.template.js +115 -109
- package/dist/template/implementations/view_search_input.template.d.ts.map +1 -1
- package/dist/template/implementations/view_search_input.template.js +18 -14
- package/dist/template/zod-converter.d.ts.map +1 -1
- package/dist/template/zod-converter.js +95 -7
- package/dist/testing/_relation-graph.js +1 -1
- package/dist/testing/data-explorer.d.ts +61 -0
- package/dist/testing/data-explorer.d.ts.map +1 -0
- package/dist/testing/data-explorer.js +274 -0
- package/dist/testing/faker-mappings.d.ts +20 -0
- package/dist/testing/faker-mappings.d.ts.map +1 -0
- package/dist/testing/faker-mappings.js +421 -0
- package/dist/testing/fixture-generator.d.ts +161 -0
- package/dist/testing/fixture-generator.d.ts.map +1 -0
- package/dist/testing/fixture-generator.js +954 -0
- package/dist/testing/fixture-manager.d.ts +6 -1
- package/dist/testing/fixture-manager.d.ts.map +1 -1
- package/dist/testing/fixture-manager.js +72 -4
- package/dist/testing/index.d.ts +3 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +4 -1
- package/dist/types/types.d.ts +1520 -26
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/types.js +136 -22
- package/dist/ui/ai-client.d.ts.map +1 -1
- package/dist/ui/ai-client.js +9 -4
- package/dist/ui/api.d.ts.map +1 -1
- package/dist/ui/api.js +303 -24
- package/dist/ui-web/assets/index-CsUr-_pV.js +254 -0
- package/dist/ui-web/assets/index-T42zzs1K.css +1 -0
- package/dist/ui-web/index.html +2 -2
- package/dist/utils/fs-utils.d.ts +2 -1
- package/dist/utils/fs-utils.d.ts.map +1 -1
- package/dist/utils/fs-utils.js +14 -3
- package/package.json +19 -11
- package/src/api/config.ts +12 -1
- package/src/api/sonamu.ts +179 -65
- package/src/auth/plugins/entity-definitions/anonymous.ts +17 -0
- package/src/auth/plugins/entity-definitions/api-key.ts +93 -0
- package/src/auth/plugins/entity-definitions/index.ts +18 -0
- package/src/auth/plugins/entity-definitions/jwt.ts +35 -0
- package/src/auth/plugins/entity-definitions/organization.ts +215 -0
- package/src/auth/plugins/entity-definitions/passkey.ts +64 -0
- package/src/auth/plugins/entity-definitions/sso.ts +62 -0
- package/src/auth/plugins/entity-definitions/types.ts +11 -1
- package/src/auth/plugins/wrappers/admin.ts +1 -3
- package/src/auth/plugins/wrappers/anonymous.ts +30 -0
- package/src/auth/plugins/wrappers/api-key.ts +42 -0
- package/src/auth/plugins/wrappers/index.ts +6 -0
- package/src/auth/plugins/wrappers/jwt.ts +34 -0
- package/src/auth/plugins/wrappers/organization.ts +73 -0
- package/src/auth/plugins/wrappers/passkey.ts +36 -0
- package/src/auth/plugins/wrappers/phone-number.ts +1 -3
- package/src/auth/plugins/wrappers/sso.ts +40 -0
- package/src/auth/plugins/wrappers/two-factor.ts +1 -3
- package/src/auth/plugins/wrappers/username.ts +1 -3
- package/src/bin/build-config.ts +6 -6
- package/src/bin/cli.ts +452 -31
- package/src/bin/fixture.ts +302 -0
- package/src/cache/decorator.ts +4 -3
- package/src/cone/cone-generator.ts +363 -0
- package/src/database/_batch_update.ts +11 -0
- package/src/database/puri-subset.test-d.ts +13 -13
- package/src/database/puri-subset.types.ts +1 -1
- package/src/database/puri.ts +43 -1
- package/src/database/upsert-builder.ts +16 -2
- package/src/dict/en.ts +1 -0
- package/src/dict/ko.ts +1 -0
- package/src/dict/rc-keys.ts +32 -0
- package/src/dict/sd.ts +23 -3
- package/src/entity/entity-manager.ts +4 -0
- package/src/entity/entity-template-cone.ts +298 -0
- package/src/entity/entity.ts +189 -13
- package/src/shared/app.shared.ts.txt +5 -0
- package/src/shared/web.shared.ts.txt +9 -5
- package/src/skills/project/README.md +21 -0
- package/src/skills/project/architecture.md +373 -0
- package/src/skills/project/business-logic.md +270 -0
- package/src/skills/project/requirements.md +160 -0
- package/src/skills/sonamu/SKILL.md +168 -3
- package/src/skills/sonamu/api.md +102 -0
- package/src/skills/sonamu/database.md +220 -1
- package/src/skills/sonamu/entity-relations.md +89 -1
- package/src/skills/sonamu/fixture-cli.md +501 -0
- package/src/skills/sonamu/frontend.md +214 -0
- package/src/skills/sonamu/i18n.md +95 -0
- package/src/skills/sonamu/model.md +153 -0
- package/src/skills/sonamu/project-init.md +178 -8
- package/src/skills/sonamu/scaffolding.md +112 -0
- package/src/skills/sonamu/subset.md +9 -3
- package/src/skills/sonamu/testing.md +287 -2
- package/src/skills/sonamu/workflow.md +70 -5
- package/src/ssr/renderer.ts +2 -2
- package/src/syncer/api-parser.ts +12 -0
- package/src/syncer/checksum.ts +0 -38
- package/src/syncer/syncer-actions.ts +7 -1
- package/src/syncer/syncer.ts +16 -5
- package/src/tasks/workflow-manager.ts +29 -8
- package/src/template/entity-converter.ts +3 -3
- package/src/template/helpers.ts +49 -0
- package/src/template/implementations/entry-server.template.ts +1 -1
- package/src/template/implementations/generated.template.ts +4 -0
- package/src/template/implementations/generated_http.template.ts +1 -0
- package/src/template/implementations/generated_sso.template.ts +40 -11
- package/src/template/implementations/queries.template.ts +8 -0
- package/src/template/implementations/sd.template.ts +22 -3
- package/src/template/implementations/services.template.ts +11 -10
- package/src/template/implementations/view_form.template.ts +111 -101
- package/src/template/implementations/view_list.template.ts +120 -119
- package/src/template/implementations/view_search_input.template.ts +17 -13
- package/src/template/zod-converter.ts +103 -6
- package/src/testing/_relation-graph.ts +1 -1
- package/src/testing/data-explorer.ts +427 -0
- package/src/testing/faker-mappings.ts +434 -0
- package/src/testing/fixture-generator.ts +1166 -0
- package/src/testing/fixture-manager.ts +91 -6
- package/src/testing/index.ts +3 -0
- package/src/types/types.ts +222 -26
- package/src/ui/ai-client.ts +9 -1
- package/src/ui/api.ts +429 -23
- package/src/utils/fs-utils.ts +14 -1
- package/dist/template/implementations/view_enums_select.template.d.ts +0 -17
- package/dist/template/implementations/view_enums_select.template.d.ts.map +0 -1
- package/dist/template/implementations/view_enums_select.template.js +0 -62
- package/dist/template/implementations/view_id_async_select.template.d.ts +0 -17
- package/dist/template/implementations/view_id_async_select.template.d.ts.map +0 -1
- package/dist/template/implementations/view_id_async_select.template.js +0 -125
- package/dist/ui-web/assets/index-Bd_2AkLb.css +0 -1
- package/dist/ui-web/assets/index-BpSbhQWo.js +0 -225
- package/src/template/implementations/view_enums_select.template.ts +0 -65
- package/src/template/implementations/view_id_async_select.template.ts +0 -139
package/dist/ssr/renderer.js
CHANGED
|
@@ -40,8 +40,8 @@ export async function renderSSR(url, route, params, request, reply, config, vite
|
|
|
40
40
|
} else {
|
|
41
41
|
// Prod: 빌드된 파일
|
|
42
42
|
const fs = await import("node:fs");
|
|
43
|
-
const webDistPath = path.join(Sonamu.apiRootPath, "
|
|
44
|
-
const ssrPath = path.join(Sonamu.apiRootPath, "dist", "
|
|
43
|
+
const webDistPath = path.join(Sonamu.apiRootPath, "web-dist", "client");
|
|
44
|
+
const ssrPath = path.join(Sonamu.apiRootPath, "web-dist", "server");
|
|
45
45
|
// 빌드된 index.html에서 스크립트 추출
|
|
46
46
|
const builtHtml = fs.readFileSync(path.join(webDistPath, "index.html"), "utf-8");
|
|
47
47
|
viteScripts = extractScriptTags(builtHtml);
|
|
@@ -95,4 +95,4 @@ export async function renderSSR(url, route, params, request, reply, config, vite
|
|
|
95
95
|
return matches.join("\n");
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zc3IvcmVuZGVyZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBGYXN0aWZ5UmVwbHksIEZhc3RpZnlSZXF1ZXN0IH0gZnJvbSBcImZhc3RpZnlcIjtcbmltcG9ydCB0eXBlIHsgVml0ZURldlNlcnZlciB9IGZyb20gXCJ2aXRlXCI7XG5pbXBvcnQgeyBhcHBseUNhY2hlSGVhZGVycyB9IGZyb20gXCIuLi9jYWNoZS1jb250cm9sL2NhY2hlLWNvbnRyb2xcIjtcbmltcG9ydCB0eXBlIHsgQ2FjaGVDb250cm9sUmVxdWVzdCB9IGZyb20gXCIuLi9jYWNoZS1jb250cm9sL3R5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IFNvbmFtdUZhc3RpZnlDb25maWcgfSBmcm9tIFwiLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgUHJlbG9hZGVkRGF0YSwgU1NSUm91dGUgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVuZGVyU1NSKFxuICB1cmw6IHN0cmluZyxcbiAgcm91dGU6IFNTUlJvdXRlLFxuICBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gIHJlcXVlc3Q6IEZhc3RpZnlSZXF1ZXN0LFxuICByZXBseTogRmFzdGlmeVJlcGx5LFxuICBjb25maWc6IFNvbmFtdUZhc3RpZnlDb25maWcsXG4gIHZpdGU/OiBWaXRlRGV2U2VydmVyLFxuKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgeyBTb25hbXUgfSA9IGF3YWl0IGltcG9ydChcIi4uL2FwaS9zb25hbXVcIik7XG5cbiAgLy8gMS4gcHJlbG9hZCDsi6Ttlokg4oaSIFNTUlF1ZXJ5W10g7ZqN65OdIChkZXYvcHJvZCDqs7XthrUpXG4gIGNvbnN0IHByZWxvYWRDb25maWcgPSByb3V0ZS5wcmVsb2FkID8gcm91dGUucHJlbG9hZChwYXJhbXMpIDogW107XG4gIGNvbnN0IHByZWxvYWRlZERhdGE6IFByZWxvYWRlZERhdGFbXSA9IFtdO1xuXG4gIGZvciAoY29uc3QgeyBtb2RlbE5hbWUsIG1ldGhvZE5hbWUsIHBhcmFtczogYXBpUGFyYW1zLCBzZXJ2aWNlS2V5IH0gb2YgcHJlbG9hZENvbmZpZykge1xuICAgIGNvbnN0IGFwaSA9IFNvbmFtdS5zeW5jZXIuYXBpcy5maW5kKFxuICAgICAgKGEpID0+IGEubW9kZWxOYW1lID09PSBtb2RlbE5hbWUgJiYgYS5tZXRob2ROYW1lID09PSBtZXRob2ROYW1lLFxuICAgICk7XG5cbiAgICBpZiAoIWFwaSkge1xuICAgICAgY29uc29sZS53YXJuKGBBUEkgbm90IGZvdW5kOiAke21vZGVsTmFtZX0uJHttZXRob2ROYW1lfWApO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFNvbmFtdS5pbnZva2VBcGlGb3JTU1IoYXBpLCBhcGlQYXJhbXMsIGNvbmZpZywgcmVxdWVzdCwgcmVwbHkpO1xuICAgICAgcHJlbG9hZGVkRGF0YS5wdXNoKHtcbiAgICAgICAgcXVlcnlLZXk6IFsuLi5zZXJ2aWNlS2V5LCAuLi5hcGlQYXJhbXNdLFxuICAgICAgICBkYXRhOiByZXN1bHQsXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gcHJlbG9hZCAke21vZGVsTmFtZX0uJHttZXRob2ROYW1lfTpgLCBlKTtcbiAgICB9XG4gIH1cblxuICAvLyAyLiBEZXYvUHJvZCDsiqTtgazrpr3tirgg7LaU7LacXG4gIGxldCB2aXRlU2NyaXB0czogc3RyaW5nO1xuICBsZXQgcmVuZGVyOiAoXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgcHJlbG9hZGVkRGF0YTogUHJlbG9hZGVkRGF0YVtdLFxuICApID0+IFByb21pc2U8eyBodG1sOiBzdHJpbmc7IGRlaHlkcmF0ZWRTdGF0ZTogdW5rbm93biB9PjtcblxuICBpZiAodml0ZSkge1xuICAgIC8vIERldjogVml0ZSBEZXYgU2VydmVyXG4gICAgY29uc3QgZnMgPSBhd2FpdCBpbXBvcnQoXCJub2RlOmZzL3Byb21pc2VzXCIpO1xuICAgIGNvbnN0IGluZGV4SHRtbFBhdGggPSBwYXRoLmpvaW4odml0ZS5jb25maWcucm9vdCwgXCJpbmRleC5odG1sXCIpO1xuICAgIGNvbnN0IG9yaWdpbmFsSHRtbCA9IGF3YWl0IGZzLnJlYWRGaWxlKGluZGV4SHRtbFBhdGgsIFwidXRmLThcIik7XG4gICAgY29uc3QgdHJhbnNmb3JtZWRIdG1sID0gYXdhaXQgdml0ZS50cmFuc2Zvcm1JbmRleEh0bWwodXJsLCBvcmlnaW5hbEh0bWwpO1xuXG4gICAgLy8gVml0ZeqwgCDso7zsnoXtlZwg7Iqk7YGs66a97Yq4IOy2lOy2nFxuICAgIHZpdGVTY3JpcHRzID0gZXh0cmFjdFNjcmlwdFRhZ3ModHJhbnNmb3JtZWRIdG1sKTtcblxuICAgIGNvbnN0IGVudHJ5TW9kdWxlID0gYXdhaXQgdml0ZS5zc3JMb2FkTW9kdWxlKFwiL3NyYy9lbnRyeS1zZXJ2ZXIuZ2VuZXJhdGVkLnRzeFwiKTtcbiAgICByZW5kZXIgPSBlbnRyeU1vZHVsZS5yZW5kZXI7XG4gIH0gZWxzZSB7XG4gICAgLy8gUHJvZDog67mM65Oc65CcIO2MjOydvFxuICAgIGNvbnN0IGZzID0gYXdhaXQgaW1wb3J0KFwibm9kZTpmc1wiKTtcbiAgICBjb25zdCB3ZWJEaXN0UGF0aCA9IHBhdGguam9pbihTb25hbXUuYXBpUm9vdFBhdGgsIFwicHVibGljXCIsIFwid2ViXCIpO1xuICAgIGNvbnN0IHNzclBhdGggPSBwYXRoLmpvaW4oU29uYW11LmFwaVJvb3RQYXRoLCBcImRpc3RcIiwgXCJzc3JcIik7XG5cbiAgICAvLyDruYzrk5zrkJwgaW5kZXguaHRtbOyXkOyEnCDsiqTtgazrpr3tirgg7LaU7LacXG4gICAgY29uc3QgYnVpbHRIdG1sID0gZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbih3ZWJEaXN0UGF0aCwgXCJpbmRleC5odG1sXCIpLCBcInV0Zi04XCIpO1xuICAgIHZpdGVTY3JpcHRzID0gZXh0cmFjdFNjcmlwdFRhZ3MoYnVpbHRIdG1sKTtcblxuICAgIGNvbnN0IGVudHJ5TW9kdWxlID0gYXdhaXQgaW1wb3J0KHBhdGguam9pbihzc3JQYXRoLCBcImVudHJ5LXNlcnZlci5nZW5lcmF0ZWQuanNcIikpO1xuICAgIHJlbmRlciA9IGVudHJ5TW9kdWxlLnJlbmRlcjtcbiAgfVxuXG4gIC8vIDMuIFJvdXRlclByb3ZpZGVyIOugjOuNlOungSAoZnVsbCBkb2N1bWVudClcbiAgY29uc3QgeyBodG1sOiBmdWxsRG9jSHRtbCwgZGVoeWRyYXRlZFN0YXRlIH0gPSBhd2FpdCByZW5kZXIodXJsLCBwcmVsb2FkZWREYXRhKTtcblxuICAvLyA0LiBTU1Ig642w7J207YSwIOyKpO2BrOumve2KuCDsg53shLFcbiAgY29uc3Qgc3NyRGF0YVNjcmlwdCA9IGRlaHlkcmF0ZWRTdGF0ZVxuICAgID8gYDxzY3JpcHQ+d2luZG93Ll9fU09OQU1VX1NTUl9fID0gJHtKU09OLnN0cmluZ2lmeShkZWh5ZHJhdGVkU3RhdGUpLnJlcGxhY2UoLzwvZywgXCJcXFxcdTAwM2NcIil9Ozwvc2NyaXB0PmBcbiAgICA6IFwiXCI7XG5cbiAgLy8gNS4gU1NSIENvbmZpZyDsiqTtgazrpr3tirgg7IOd7ISxIChkaXNhYmxlSHlkcmF0ZSlcbiAgY29uc3Qgc3NyQ29uZmlnU2NyaXB0ID0gcm91dGUuZGlzYWJsZUh5ZHJhdGVcbiAgICA/IGA8c2NyaXB0PndpbmRvdy5fX1NPTkFNVV9TU1JfQ09ORklHX18gPSAke0pTT04uc3RyaW5naWZ5KHsgZGlzYWJsZUh5ZHJhdGU6IHRydWUgfSl9Ozwvc2NyaXB0PmBcbiAgICA6IFwiXCI7XG5cbiAgLy8gNi4gVml0ZSDsiqTtgazrpr3tirjsmYAgU1NSIOuNsOydtO2EsOulvCA8L2JvZHk+IOyngeyghOyXkCDso7zsnoVcbiAgY29uc3QgZmluYWxIdG1sID0gZnVsbERvY0h0bWwucmVwbGFjZShcbiAgICBcIjwvYm9keT5cIixcbiAgICBgJHtzc3JDb25maWdTY3JpcHR9XFxuJHtzc3JEYXRhU2NyaXB0fVxcbiR7dml0ZVNjcmlwdHN9XFxuPC9ib2R5PmAsXG4gICk7XG5cbiAgLy8gNy4gQ2FjaGUtQ29udHJvbCDtl6TrjZQg7ISk7KCVXG4gIGNvbnN0IHNzckNhY2hlQ29uZmlnID0gZ2V0U1NSQ2FjaGVDb250cm9sKHVybCwgcm91dGUsIHJlcXVlc3QsIGNvbmZpZyk7XG4gIGlmIChzc3JDYWNoZUNvbmZpZykge1xuICAgIGFwcGx5Q2FjaGVIZWFkZXJzKHJlcGx5LCBzc3JDYWNoZUNvbmZpZyk7XG4gIH1cblxuICByZXR1cm4gZmluYWxIdG1sO1xufVxuXG4vKipcbiAqIFNTUiDsnZHri7Xsl5Ag7KCB7Jqp7ZWgIENhY2hlLUNvbnRyb2wg7ISk7KCV7J2EIOqysOygle2VqeuLiOuLpC5cbiAqIOyasOyEoOyInOychDog6rCc67OEIOyngOyglSA+IGNhY2hlQ29udHJvbEhhbmRsZXJcbiAqL1xuZnVuY3Rpb24gZ2V0U1NSQ2FjaGVDb250cm9sKFxuICB1cmw6IHN0cmluZyxcbiAgcm91dGU6IFNTUlJvdXRlLFxuICByZXF1ZXN0OiBGYXN0aWZ5UmVxdWVzdCxcbiAgY29uZmlnOiBTb25hbXVGYXN0aWZ5Q29uZmlnLFxuKSB7XG4gIC8vIOqwnOuzhCDsp4DsoJUgKHJlZ2lzdGVyU1NSLmNhY2hlQ29udHJvbClcbiAgaWYgKHJvdXRlLmNhY2hlQ29udHJvbCkge1xuICAgIHJldHVybiByb3V0ZS5jYWNoZUNvbnRyb2w7XG4gIH1cblxuICAvLyDsoITsl60g7ZW465Ok65+sXG4gIGlmIChjb25maWcuY2FjaGVDb250cm9sSGFuZGxlcikge1xuICAgIGNvbnN0IGNhY2hlUmVxOiBDYWNoZUNvbnRyb2xSZXF1ZXN0ID0ge1xuICAgICAgdHlwZTogXCJzc3JcIixcbiAgICAgIHVybDogcmVxdWVzdC51cmwsXG4gICAgICBwYXRoOiB1cmwuc3BsaXQoXCI/XCIpWzBdLFxuICAgICAgbWV0aG9kOiByZXF1ZXN0Lm1ldGhvZCxcbiAgICAgIHJvdXRlLFxuICAgIH07XG4gICAgY29uc3QgcmVzdWx0ID0gY29uZmlnLmNhY2hlQ29udHJvbEhhbmRsZXIoY2FjaGVSZXEpO1xuICAgIGlmIChyZXN1bHQpIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuLyoqXG4gKiBIVE1M7JeQ7IScIDxzY3JpcHQ+LCA8bGluaz4g7YOc6re466W8IOy2lOy2nFxuICovXG5mdW5jdGlvbiBleHRyYWN0U2NyaXB0VGFncyhodG1sOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBzY3JpcHRSZWdleCA9IC88c2NyaXB0W14+XSo+W1xcc1xcU10qPzxcXC9zY3JpcHQ+fDxsaW5rW14+XSo+L2dpO1xuICBjb25zdCBtYXRjaGVzID0gaHRtbC5tYXRjaChzY3JpcHRSZWdleCkgfHwgW107XG4gIHJldHVybiBtYXRjaGVzLmpvaW4oXCJcXG5cIik7XG59XG4iXSwibmFtZXMiOlsicGF0aCIsImFwcGx5Q2FjaGVIZWFkZXJzIiwicmVuZGVyU1NSIiwidXJsIiwicm91dGUiLCJwYXJhbXMiLCJyZXF1ZXN0IiwicmVwbHkiLCJjb25maWciLCJ2aXRlIiwiU29uYW11IiwicHJlbG9hZENvbmZpZyIsInByZWxvYWQiLCJwcmVsb2FkZWREYXRhIiwibW9kZWxOYW1lIiwibWV0aG9kTmFtZSIsImFwaVBhcmFtcyIsInNlcnZpY2VLZXkiLCJhcGkiLCJzeW5jZXIiLCJhcGlzIiwiZmluZCIsImEiLCJjb25zb2xlIiwid2FybiIsInJlc3VsdCIsImludm9rZUFwaUZvclNTUiIsInB1c2giLCJxdWVyeUtleSIsImRhdGEiLCJlIiwiZXJyb3IiLCJ2aXRlU2NyaXB0cyIsInJlbmRlciIsImZzIiwiaW5kZXhIdG1sUGF0aCIsImpvaW4iLCJyb290Iiwib3JpZ2luYWxIdG1sIiwicmVhZEZpbGUiLCJ0cmFuc2Zvcm1lZEh0bWwiLCJ0cmFuc2Zvcm1JbmRleEh0bWwiLCJleHRyYWN0U2NyaXB0VGFncyIsImVudHJ5TW9kdWxlIiwic3NyTG9hZE1vZHVsZSIsIndlYkRpc3RQYXRoIiwiYXBpUm9vdFBhdGgiLCJzc3JQYXRoIiwiYnVpbHRIdG1sIiwicmVhZEZpbGVTeW5jIiwiaHRtbCIsImZ1bGxEb2NIdG1sIiwiZGVoeWRyYXRlZFN0YXRlIiwic3NyRGF0YVNjcmlwdCIsIkpTT04iLCJzdHJpbmdpZnkiLCJyZXBsYWNlIiwic3NyQ29uZmlnU2NyaXB0IiwiZGlzYWJsZUh5ZHJhdGUiLCJmaW5hbEh0bWwiLCJzc3JDYWNoZUNvbmZpZyIsImdldFNTUkNhY2hlQ29udHJvbCIsImNhY2hlQ29udHJvbCIsImNhY2hlQ29udHJvbEhhbmRsZXIiLCJjYWNoZVJlcSIsInR5cGUiLCJzcGxpdCIsIm1ldGhvZCIsInNjcmlwdFJlZ2V4IiwibWF0Y2hlcyIsIm1hdGNoIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxVQUFVLFlBQVk7QUFHN0IsU0FBU0MsaUJBQWlCLFFBQVEsb0NBQWlDO0FBS25FLE9BQU8sZUFBZUMsVUFDcEJDLEdBQVcsRUFDWEMsS0FBZSxFQUNmQyxNQUE4QixFQUM5QkMsT0FBdUIsRUFDdkJDLEtBQW1CLEVBQ25CQyxNQUEyQixFQUMzQkMsSUFBb0I7SUFFcEIsTUFBTSxFQUFFQyxNQUFNLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQztJQUVoQyw4Q0FBOEM7SUFDOUMsTUFBTUMsZ0JBQWdCUCxNQUFNUSxPQUFPLEdBQUdSLE1BQU1RLE9BQU8sQ0FBQ1AsVUFBVSxFQUFFO0lBQ2hFLE1BQU1RLGdCQUFpQyxFQUFFO0lBRXpDLEtBQUssTUFBTSxFQUFFQyxTQUFTLEVBQUVDLFVBQVUsRUFBRVYsUUFBUVcsU0FBUyxFQUFFQyxVQUFVLEVBQUUsSUFBSU4sY0FBZTtRQUNwRixNQUFNTyxNQUFNUixPQUFPUyxNQUFNLENBQUNDLElBQUksQ0FBQ0MsSUFBSSxDQUNqQyxDQUFDQyxJQUFNQSxFQUFFUixTQUFTLEtBQUtBLGFBQWFRLEVBQUVQLFVBQVUsS0FBS0E7UUFHdkQsSUFBSSxDQUFDRyxLQUFLO1lBQ1JLLFFBQVFDLElBQUks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
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zc3IvcmVuZGVyZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBGYXN0aWZ5UmVwbHksIEZhc3RpZnlSZXF1ZXN0IH0gZnJvbSBcImZhc3RpZnlcIjtcbmltcG9ydCB0eXBlIHsgVml0ZURldlNlcnZlciB9IGZyb20gXCJ2aXRlXCI7XG5pbXBvcnQgeyBhcHBseUNhY2hlSGVhZGVycyB9IGZyb20gXCIuLi9jYWNoZS1jb250cm9sL2NhY2hlLWNvbnRyb2xcIjtcbmltcG9ydCB0eXBlIHsgQ2FjaGVDb250cm9sUmVxdWVzdCB9IGZyb20gXCIuLi9jYWNoZS1jb250cm9sL3R5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IFNvbmFtdUZhc3RpZnlDb25maWcgfSBmcm9tIFwiLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgUHJlbG9hZGVkRGF0YSwgU1NSUm91dGUgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVuZGVyU1NSKFxuICB1cmw6IHN0cmluZyxcbiAgcm91dGU6IFNTUlJvdXRlLFxuICBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gIHJlcXVlc3Q6IEZhc3RpZnlSZXF1ZXN0LFxuICByZXBseTogRmFzdGlmeVJlcGx5LFxuICBjb25maWc6IFNvbmFtdUZhc3RpZnlDb25maWcsXG4gIHZpdGU/OiBWaXRlRGV2U2VydmVyLFxuKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgeyBTb25hbXUgfSA9IGF3YWl0IGltcG9ydChcIi4uL2FwaS9zb25hbXVcIik7XG5cbiAgLy8gMS4gcHJlbG9hZCDsi6Ttlokg4oaSIFNTUlF1ZXJ5W10g7ZqN65OdIChkZXYvcHJvZCDqs7XthrUpXG4gIGNvbnN0IHByZWxvYWRDb25maWcgPSByb3V0ZS5wcmVsb2FkID8gcm91dGUucHJlbG9hZChwYXJhbXMpIDogW107XG4gIGNvbnN0IHByZWxvYWRlZERhdGE6IFByZWxvYWRlZERhdGFbXSA9IFtdO1xuXG4gIGZvciAoY29uc3QgeyBtb2RlbE5hbWUsIG1ldGhvZE5hbWUsIHBhcmFtczogYXBpUGFyYW1zLCBzZXJ2aWNlS2V5IH0gb2YgcHJlbG9hZENvbmZpZykge1xuICAgIGNvbnN0IGFwaSA9IFNvbmFtdS5zeW5jZXIuYXBpcy5maW5kKFxuICAgICAgKGEpID0+IGEubW9kZWxOYW1lID09PSBtb2RlbE5hbWUgJiYgYS5tZXRob2ROYW1lID09PSBtZXRob2ROYW1lLFxuICAgICk7XG5cbiAgICBpZiAoIWFwaSkge1xuICAgICAgY29uc29sZS53YXJuKGBBUEkgbm90IGZvdW5kOiAke21vZGVsTmFtZX0uJHttZXRob2ROYW1lfWApO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFNvbmFtdS5pbnZva2VBcGlGb3JTU1IoYXBpLCBhcGlQYXJhbXMsIGNvbmZpZywgcmVxdWVzdCwgcmVwbHkpO1xuICAgICAgcHJlbG9hZGVkRGF0YS5wdXNoKHtcbiAgICAgICAgcXVlcnlLZXk6IFsuLi5zZXJ2aWNlS2V5LCAuLi5hcGlQYXJhbXNdLFxuICAgICAgICBkYXRhOiByZXN1bHQsXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gcHJlbG9hZCAke21vZGVsTmFtZX0uJHttZXRob2ROYW1lfTpgLCBlKTtcbiAgICB9XG4gIH1cblxuICAvLyAyLiBEZXYvUHJvZCDsiqTtgazrpr3tirgg7LaU7LacXG4gIGxldCB2aXRlU2NyaXB0czogc3RyaW5nO1xuICBsZXQgcmVuZGVyOiAoXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgcHJlbG9hZGVkRGF0YTogUHJlbG9hZGVkRGF0YVtdLFxuICApID0+IFByb21pc2U8eyBodG1sOiBzdHJpbmc7IGRlaHlkcmF0ZWRTdGF0ZTogdW5rbm93biB9PjtcblxuICBpZiAodml0ZSkge1xuICAgIC8vIERldjogVml0ZSBEZXYgU2VydmVyXG4gICAgY29uc3QgZnMgPSBhd2FpdCBpbXBvcnQoXCJub2RlOmZzL3Byb21pc2VzXCIpO1xuICAgIGNvbnN0IGluZGV4SHRtbFBhdGggPSBwYXRoLmpvaW4odml0ZS5jb25maWcucm9vdCwgXCJpbmRleC5odG1sXCIpO1xuICAgIGNvbnN0IG9yaWdpbmFsSHRtbCA9IGF3YWl0IGZzLnJlYWRGaWxlKGluZGV4SHRtbFBhdGgsIFwidXRmLThcIik7XG4gICAgY29uc3QgdHJhbnNmb3JtZWRIdG1sID0gYXdhaXQgdml0ZS50cmFuc2Zvcm1JbmRleEh0bWwodXJsLCBvcmlnaW5hbEh0bWwpO1xuXG4gICAgLy8gVml0ZeqwgCDso7zsnoXtlZwg7Iqk7YGs66a97Yq4IOy2lOy2nFxuICAgIHZpdGVTY3JpcHRzID0gZXh0cmFjdFNjcmlwdFRhZ3ModHJhbnNmb3JtZWRIdG1sKTtcblxuICAgIGNvbnN0IGVudHJ5TW9kdWxlID0gYXdhaXQgdml0ZS5zc3JMb2FkTW9kdWxlKFwiL3NyYy9lbnRyeS1zZXJ2ZXIuZ2VuZXJhdGVkLnRzeFwiKTtcbiAgICByZW5kZXIgPSBlbnRyeU1vZHVsZS5yZW5kZXI7XG4gIH0gZWxzZSB7XG4gICAgLy8gUHJvZDog67mM65Oc65CcIO2MjOydvFxuICAgIGNvbnN0IGZzID0gYXdhaXQgaW1wb3J0KFwibm9kZTpmc1wiKTtcbiAgICBjb25zdCB3ZWJEaXN0UGF0aCA9IHBhdGguam9pbihTb25hbXUuYXBpUm9vdFBhdGgsIFwid2ViLWRpc3RcIiwgXCJjbGllbnRcIik7XG4gICAgY29uc3Qgc3NyUGF0aCA9IHBhdGguam9pbihTb25hbXUuYXBpUm9vdFBhdGgsIFwid2ViLWRpc3RcIiwgXCJzZXJ2ZXJcIik7XG5cbiAgICAvLyDruYzrk5zrkJwgaW5kZXguaHRtbOyXkOyEnCDsiqTtgazrpr3tirgg7LaU7LacXG4gICAgY29uc3QgYnVpbHRIdG1sID0gZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbih3ZWJEaXN0UGF0aCwgXCJpbmRleC5odG1sXCIpLCBcInV0Zi04XCIpO1xuICAgIHZpdGVTY3JpcHRzID0gZXh0cmFjdFNjcmlwdFRhZ3MoYnVpbHRIdG1sKTtcblxuICAgIGNvbnN0IGVudHJ5TW9kdWxlID0gYXdhaXQgaW1wb3J0KHBhdGguam9pbihzc3JQYXRoLCBcImVudHJ5LXNlcnZlci5nZW5lcmF0ZWQuanNcIikpO1xuICAgIHJlbmRlciA9IGVudHJ5TW9kdWxlLnJlbmRlcjtcbiAgfVxuXG4gIC8vIDMuIFJvdXRlclByb3ZpZGVyIOugjOuNlOungSAoZnVsbCBkb2N1bWVudClcbiAgY29uc3QgeyBodG1sOiBmdWxsRG9jSHRtbCwgZGVoeWRyYXRlZFN0YXRlIH0gPSBhd2FpdCByZW5kZXIodXJsLCBwcmVsb2FkZWREYXRhKTtcblxuICAvLyA0LiBTU1Ig642w7J207YSwIOyKpO2BrOumve2KuCDsg53shLFcbiAgY29uc3Qgc3NyRGF0YVNjcmlwdCA9IGRlaHlkcmF0ZWRTdGF0ZVxuICAgID8gYDxzY3JpcHQ+d2luZG93Ll9fU09OQU1VX1NTUl9fID0gJHtKU09OLnN0cmluZ2lmeShkZWh5ZHJhdGVkU3RhdGUpLnJlcGxhY2UoLzwvZywgXCJcXFxcdTAwM2NcIil9Ozwvc2NyaXB0PmBcbiAgICA6IFwiXCI7XG5cbiAgLy8gNS4gU1NSIENvbmZpZyDsiqTtgazrpr3tirgg7IOd7ISxIChkaXNhYmxlSHlkcmF0ZSlcbiAgY29uc3Qgc3NyQ29uZmlnU2NyaXB0ID0gcm91dGUuZGlzYWJsZUh5ZHJhdGVcbiAgICA/IGA8c2NyaXB0PndpbmRvdy5fX1NPTkFNVV9TU1JfQ09ORklHX18gPSAke0pTT04uc3RyaW5naWZ5KHsgZGlzYWJsZUh5ZHJhdGU6IHRydWUgfSl9Ozwvc2NyaXB0PmBcbiAgICA6IFwiXCI7XG5cbiAgLy8gNi4gVml0ZSDsiqTtgazrpr3tirjsmYAgU1NSIOuNsOydtO2EsOulvCA8L2JvZHk+IOyngeyghOyXkCDso7zsnoVcbiAgY29uc3QgZmluYWxIdG1sID0gZnVsbERvY0h0bWwucmVwbGFjZShcbiAgICBcIjwvYm9keT5cIixcbiAgICBgJHtzc3JDb25maWdTY3JpcHR9XFxuJHtzc3JEYXRhU2NyaXB0fVxcbiR7dml0ZVNjcmlwdHN9XFxuPC9ib2R5PmAsXG4gICk7XG5cbiAgLy8gNy4gQ2FjaGUtQ29udHJvbCDtl6TrjZQg7ISk7KCVXG4gIGNvbnN0IHNzckNhY2hlQ29uZmlnID0gZ2V0U1NSQ2FjaGVDb250cm9sKHVybCwgcm91dGUsIHJlcXVlc3QsIGNvbmZpZyk7XG4gIGlmIChzc3JDYWNoZUNvbmZpZykge1xuICAgIGFwcGx5Q2FjaGVIZWFkZXJzKHJlcGx5LCBzc3JDYWNoZUNvbmZpZyk7XG4gIH1cblxuICByZXR1cm4gZmluYWxIdG1sO1xufVxuXG4vKipcbiAqIFNTUiDsnZHri7Xsl5Ag7KCB7Jqp7ZWgIENhY2hlLUNvbnRyb2wg7ISk7KCV7J2EIOqysOygle2VqeuLiOuLpC5cbiAqIOyasOyEoOyInOychDog6rCc67OEIOyngOyglSA+IGNhY2hlQ29udHJvbEhhbmRsZXJcbiAqL1xuZnVuY3Rpb24gZ2V0U1NSQ2FjaGVDb250cm9sKFxuICB1cmw6IHN0cmluZyxcbiAgcm91dGU6IFNTUlJvdXRlLFxuICByZXF1ZXN0OiBGYXN0aWZ5UmVxdWVzdCxcbiAgY29uZmlnOiBTb25hbXVGYXN0aWZ5Q29uZmlnLFxuKSB7XG4gIC8vIOqwnOuzhCDsp4DsoJUgKHJlZ2lzdGVyU1NSLmNhY2hlQ29udHJvbClcbiAgaWYgKHJvdXRlLmNhY2hlQ29udHJvbCkge1xuICAgIHJldHVybiByb3V0ZS5jYWNoZUNvbnRyb2w7XG4gIH1cblxuICAvLyDsoITsl60g7ZW465Ok65+sXG4gIGlmIChjb25maWcuY2FjaGVDb250cm9sSGFuZGxlcikge1xuICAgIGNvbnN0IGNhY2hlUmVxOiBDYWNoZUNvbnRyb2xSZXF1ZXN0ID0ge1xuICAgICAgdHlwZTogXCJzc3JcIixcbiAgICAgIHVybDogcmVxdWVzdC51cmwsXG4gICAgICBwYXRoOiB1cmwuc3BsaXQoXCI/XCIpWzBdLFxuICAgICAgbWV0aG9kOiByZXF1ZXN0Lm1ldGhvZCxcbiAgICAgIHJvdXRlLFxuICAgIH07XG4gICAgY29uc3QgcmVzdWx0ID0gY29uZmlnLmNhY2hlQ29udHJvbEhhbmRsZXIoY2FjaGVSZXEpO1xuICAgIGlmIChyZXN1bHQpIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuLyoqXG4gKiBIVE1M7JeQ7IScIDxzY3JpcHQ+LCA8bGluaz4g7YOc6re466W8IOy2lOy2nFxuICovXG5mdW5jdGlvbiBleHRyYWN0U2NyaXB0VGFncyhodG1sOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBzY3JpcHRSZWdleCA9IC88c2NyaXB0W14+XSo+W1xcc1xcU10qPzxcXC9zY3JpcHQ+fDxsaW5rW14+XSo+L2dpO1xuICBjb25zdCBtYXRjaGVzID0gaHRtbC5tYXRjaChzY3JpcHRSZWdleCkgfHwgW107XG4gIHJldHVybiBtYXRjaGVzLmpvaW4oXCJcXG5cIik7XG59XG4iXSwibmFtZXMiOlsicGF0aCIsImFwcGx5Q2FjaGVIZWFkZXJzIiwicmVuZGVyU1NSIiwidXJsIiwicm91dGUiLCJwYXJhbXMiLCJyZXF1ZXN0IiwicmVwbHkiLCJjb25maWciLCJ2aXRlIiwiU29uYW11IiwicHJlbG9hZENvbmZpZyIsInByZWxvYWQiLCJwcmVsb2FkZWREYXRhIiwibW9kZWxOYW1lIiwibWV0aG9kTmFtZSIsImFwaVBhcmFtcyIsInNlcnZpY2VLZXkiLCJhcGkiLCJzeW5jZXIiLCJhcGlzIiwiZmluZCIsImEiLCJjb25zb2xlIiwid2FybiIsInJlc3VsdCIsImludm9rZUFwaUZvclNTUiIsInB1c2giLCJxdWVyeUtleSIsImRhdGEiLCJlIiwiZXJyb3IiLCJ2aXRlU2NyaXB0cyIsInJlbmRlciIsImZzIiwiaW5kZXhIdG1sUGF0aCIsImpvaW4iLCJyb290Iiwib3JpZ2luYWxIdG1sIiwicmVhZEZpbGUiLCJ0cmFuc2Zvcm1lZEh0bWwiLCJ0cmFuc2Zvcm1JbmRleEh0bWwiLCJleHRyYWN0U2NyaXB0VGFncyIsImVudHJ5TW9kdWxlIiwic3NyTG9hZE1vZHVsZSIsIndlYkRpc3RQYXRoIiwiYXBpUm9vdFBhdGgiLCJzc3JQYXRoIiwiYnVpbHRIdG1sIiwicmVhZEZpbGVTeW5jIiwiaHRtbCIsImZ1bGxEb2NIdG1sIiwiZGVoeWRyYXRlZFN0YXRlIiwic3NyRGF0YVNjcmlwdCIsIkpTT04iLCJzdHJpbmdpZnkiLCJyZXBsYWNlIiwic3NyQ29uZmlnU2NyaXB0IiwiZGlzYWJsZUh5ZHJhdGUiLCJmaW5hbEh0bWwiLCJzc3JDYWNoZUNvbmZpZyIsImdldFNTUkNhY2hlQ29udHJvbCIsImNhY2hlQ29udHJvbCIsImNhY2hlQ29udHJvbEhhbmRsZXIiLCJjYWNoZVJlcSIsInR5cGUiLCJzcGxpdCIsIm1ldGhvZCIsInNjcmlwdFJlZ2V4IiwibWF0Y2hlcyIsIm1hdGNoIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxVQUFVLFlBQVk7QUFHN0IsU0FBU0MsaUJBQWlCLFFBQVEsb0NBQWlDO0FBS25FLE9BQU8sZUFBZUMsVUFDcEJDLEdBQVcsRUFDWEMsS0FBZSxFQUNmQyxNQUE4QixFQUM5QkMsT0FBdUIsRUFDdkJDLEtBQW1CLEVBQ25CQyxNQUEyQixFQUMzQkMsSUFBb0I7SUFFcEIsTUFBTSxFQUFFQyxNQUFNLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQztJQUVoQyw4Q0FBOEM7SUFDOUMsTUFBTUMsZ0JBQWdCUCxNQUFNUSxPQUFPLEdBQUdSLE1BQU1RLE9BQU8sQ0FBQ1AsVUFBVSxFQUFFO0lBQ2hFLE1BQU1RLGdCQUFpQyxFQUFFO0lBRXpDLEtBQUssTUFBTSxFQUFFQyxTQUFTLEVBQUVDLFVBQVUsRUFBRVYsUUFBUVcsU0FBUyxFQUFFQyxVQUFVLEVBQUUsSUFBSU4sY0FBZTtRQUNwRixNQUFNTyxNQUFNUixPQUFPUyxNQUFNLENBQUNDLElBQUksQ0FBQ0MsSUFBSSxDQUNqQyxDQUFDQyxJQUFNQSxFQUFFUixTQUFTLEtBQUtBLGFBQWFRLEVBQUVQLFVBQVUsS0FBS0E7UUFHdkQsSUFBSSxDQUFDRyxLQUFLO1lBQ1JL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
|
|
@@ -204,6 +204,17 @@ function resolveTypeNode(typeNode) {
|
|
|
204
204
|
// 괄호로 묶인 타입 (예: (A & B)[] 에서 (A & B))
|
|
205
205
|
// 내부 타입을 재귀적으로 resolve
|
|
206
206
|
return resolveTypeNode(typeNode.type);
|
|
207
|
+
case ts.SyntaxKind.FunctionType:
|
|
208
|
+
return {
|
|
209
|
+
t: "function",
|
|
210
|
+
parameters: typeNode.parameters.map((param)=>({
|
|
211
|
+
name: param.name.getText(),
|
|
212
|
+
type: param.type ? resolveTypeNode(param.type) : "unknown",
|
|
213
|
+
optional: param.questionToken !== undefined,
|
|
214
|
+
defaultDef: undefined
|
|
215
|
+
})),
|
|
216
|
+
returnType: resolveTypeNode(typeNode.type)
|
|
217
|
+
};
|
|
207
218
|
case undefined:
|
|
208
219
|
throw new Error(`typeNode undefined`);
|
|
209
220
|
}
|
|
@@ -242,4 +253,4 @@ function printNode(node, sourceFile) {
|
|
|
242
253
|
return printer.printNode(ts.EmitHint.Unspecified, node, sourceFile);
|
|
243
254
|
}
|
|
244
255
|
|
|
245
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zeW5jZXIvYXBpLXBhcnNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIjtcbmltcG9ydCB7IHJlYWRGaWxlIH0gZnJvbSBcImZzL3Byb21pc2VzXCI7XG5pbXBvcnQgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiO1xuaW1wb3J0IHRzIGZyb20gXCJ0eXBlc2NyaXB0XCI7XG5pbXBvcnQgeyB0eXBlIEV4dGVuZGVkQXBpLCByZWdpc3RlcmVkQXBpcyB9IGZyb20gXCIuLi9hcGkvZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgdmFsaWRhdGVNZXRob2ROYW1lIH0gZnJvbSBcIi4uL2FwaS92YWxpZGF0b3JcIjtcbmltcG9ydCB0eXBlIHsgQXBpUGFyYW0sIEFwaVBhcmFtVHlwZSB9IGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBBYnNvbHV0ZVBhdGggfSBmcm9tIFwiLi4vdXRpbHMvcGF0aC11dGlsc1wiO1xuXG4vKipcbiAqIFR5cGVTY3JpcHQg7YyM7J287J2EIO2MjOyLse2VmOyXrCBBUEkg66mU7IaM65OcIOygleuztOulvCDstpTstpztlanri4jri6QuXG4gKiBAYXBpIOuNsOy9lOugiOydtO2EsOqwgCDrtpnsnYAg66mU7IaM65Oc65Ok7J2YIO2DgOyehSDsoJXrs7Trpbwg67aE7ISd7ZWp64uI64ukLlxuICogQHBhcmFtIGZpbGVQYXRoIC0g7YyM7Iux7ZWgIFR5cGVTY3JpcHQg7YyM7J287J2YIOygiOuMgCDqsr3roZxcbiAqIEByZXR1cm5zIEFQSSDrqZTshozrk5wg7KCV67O0IOuwsOyXtCAo7YOA7J6FIO2MjOudvOuvuO2EsCwg7YyM652866+47YSwLCDrpqzthLQg7YOA7J6FIOuTsSlcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRBcGlzRnJvbUZpbGUoZmlsZVBhdGg6IEFic29sdXRlUGF0aCk6IFByb21pc2U8RXh0ZW5kZWRBcGlbXT4ge1xuICBpZiAoIWZpbGVQYXRoLmVuZHNXaXRoKFwiLnRzXCIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYCR7ZmlsZVBhdGh9IGRvZXMgbm90IHNlZW0gdG8gYmUgYSBUeXBlU2NyaXB0IGZpbGUuIFBsZWFzZSBjaGVjayB0aGUgZmlsZSBwYXRoLiBXZSBvbmx5IHN1cHBvcnQgcGFyc2luZyBUeXBlU2NyaXB0IGZpbGVzLmAsXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHNvdXJjZUZpbGUgPSB0cy5jcmVhdGVTb3VyY2VGaWxlKFxuICAgIGZpbGVQYXRoLFxuICAgIChhd2FpdCByZWFkRmlsZShmaWxlUGF0aCkpLnRvU3RyaW5nKCksXG4gICAgdHMuU2NyaXB0VGFyZ2V0LkxhdGVzdCxcbiAgKTtcblxuICBjb25zdCBtZXRob2RzOiBPbWl0PEV4dGVuZGVkQXBpLCBcInBhdGhcIiB8IFwib3B0aW9uc1wiPltdID0gW107XG4gIGxldCBtb2RlbE5hbWU6IHN0cmluZyA9IFwiVW5rbm93bk1vZGVsXCI7XG4gIGxldCBtZXRob2ROYW1lOiBzdHJpbmcgPSBcInVua25vd25NZXRob2RcIjtcbiAgY29uc3QgdmlzaXRvciA9IChub2RlOiB0cy5Ob2RlKSA9PiB7XG4gICAgaWYgKHRzLmlzQ2xhc3NEZWNsYXJhdGlvbihub2RlKSkge1xuICAgICAgaWYgKG5vZGUubmFtZSAmJiB0cy5pc0lkZW50aWZpZXIobm9kZS5uYW1lKSkge1xuICAgICAgICBtb2RlbE5hbWUgPSBub2RlLm5hbWUuZXNjYXBlZFRleHQudG9TdHJpbmcoKS5yZXBsYWNlKC9DbGFzcyQvLCBcIlwiKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRzLmlzTWV0aG9kRGVjbGFyYXRpb24obm9kZSkpIHtcbiAgICAgIGlmICh0cy5pc0lkZW50aWZpZXIobm9kZS5uYW1lKSkge1xuICAgICAgICBtZXRob2ROYW1lID0gbm9kZS5uYW1lLmVzY2FwZWRUZXh0LnRvU3RyaW5nKCk7XG4gICAgICAgIHZhbGlkYXRlTWV0aG9kTmFtZShtZXRob2ROYW1lKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdHlwZVBhcmFtZXRlcnM6IEFwaVBhcmFtVHlwZS5UeXBlUGFyYW1bXSA9IChub2RlLnR5cGVQYXJhbWV0ZXJzID8/IFtdKS5tYXAoXG4gICAgICAgICh0eXBlUGFyYW0pID0+IHtcbiAgICAgICAgICBjb25zdCB0cCA9IHR5cGVQYXJhbSBhcyB0cy5UeXBlUGFyYW1ldGVyRGVjbGFyYXRpb247XG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdDogXCJ0eXBlLXBhcmFtXCIsXG4gICAgICAgICAgICBpZDogdHAubmFtZS5lc2NhcGVkVGV4dC50b1N0cmluZygpLFxuICAgICAgICAgICAgY29uc3RyYWludDogdHAuY29uc3RyYWludCA/IHJlc29sdmVUeXBlTm9kZSh0cC5jb25zdHJhaW50KSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgICAgKTtcbiAgICAgIGNvbnN0IHBhcmFtZXRlcnM6IEFwaVBhcmFtW10gPSBub2RlLnBhcmFtZXRlcnMubWFwKChwYXJhbURlYywgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3QgZGVmYXVsdERlZiA9IHByaW50Tm9kZShwYXJhbURlYy5pbml0aWFsaXplciwgc291cmNlRmlsZSk7XG5cbiAgICAgICAgLy8g6riw67O46rCS7J20IOyeiOuKlCDqsr3smrAgcGFyYW1EZWMudHlwZeqwgCB1bmRlZmluZWTroZwg64KY7Ji0XG5cbiAgICAgICAgcmV0dXJuIHJlc29sdmVQYXJhbURlYyhcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBwYXJhbURlYy5uYW1lLFxuICAgICAgICAgICAgdHlwZTogcGFyYW1EZWMudHlwZSBhcyB0cy5UeXBlTm9kZSxcbiAgICAgICAgICAgIG9wdGlvbmFsOiBwYXJhbURlYy5xdWVzdGlvblRva2VuICE9PSB1bmRlZmluZWQgfHwgcGFyYW1EZWMuaW5pdGlhbGl6ZXIgIT09IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGRlZmF1bHREZWYsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBpbmRleCxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgICAgaWYgKG5vZGUudHlwZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihg66as7YS0IO2DgOyeheydtCDquLDsnqzrkJjsp4Ag7JWK7J2AIOuplOyGjOuTnCAke21vZGVsTmFtZX0uJHttZXRob2ROYW1lfWApO1xuICAgICAgfVxuICAgICAgY29uc3QgcmV0dXJuVHlwZSA9IHJlc29sdmVUeXBlTm9kZShub2RlLnR5cGUpO1xuXG4gICAgICBtZXRob2RzLnB1c2goe1xuICAgICAgICBtb2RlbE5hbWUsXG4gICAgICAgIG1ldGhvZE5hbWUsXG4gICAgICAgIHR5cGVQYXJhbWV0ZXJzLFxuICAgICAgICBwYXJhbWV0ZXJzLFxuICAgICAgICByZXR1cm5UeXBlLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRzLmZvckVhY2hDaGlsZChub2RlLCB2aXNpdG9yKTtcbiAgfTtcbiAgdmlzaXRvcihzb3VyY2VGaWxlKTtcblxuICBpZiAobWV0aG9kcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvLyDtmITsnqwg7YyM7J287J2YIOuTseuhneuQnCBBUEkg7ZWE7YSwXG4gIGNvbnN0IGN1cnJlbnRNb2RlbEFwaXMgPSByZWdpc3RlcmVkQXBpcy5maWx0ZXIoKGFwaSkgPT4ge1xuICAgIHJldHVybiBtZXRob2RzLmZpbmQoXG4gICAgICAobWV0aG9kKSA9PiBtZXRob2QubW9kZWxOYW1lID09PSBhcGkubW9kZWxOYW1lICYmIG1ldGhvZC5tZXRob2ROYW1lID09PSBhcGkubWV0aG9kTmFtZSxcbiAgICApO1xuICB9KTtcbiAgaWYgKGN1cnJlbnRNb2RlbEFwaXMubGVuZ3RoID09PSAwKSB7XG4gICAgLy8gY29uc3QgcCA9IHBhdGguam9pbih0bXBkaXIoKSwgXCJzb25hbXUtc3luY2VyLWVycm9yLmpzb25cIik7XG4gICAgLy8gd3JpdGVGaWxlU3luYyhwLCBKU09OLnN0cmluZ2lmeShyZWdpc3RlcmVkQXBpcywgbnVsbCwgMikpO1xuICAgIC8vIGV4ZWNTeW5jKGBvcGVuICR7cH1gKTtcbiAgICAvLyB0aHJvdyBuZXcgRXJyb3IoYO2YhOyerCDtjIzsnbzsl5Ag7IKs7KCEIOuTseuhneuQnCBBUEnqsIAg7JeG7Iq164uI64ukLiAke2ZpbGVQYXRofWApO1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIC8vIOuTseuhneuQnCBBUEnsl5Ag7ZiE7J6sIOuplOyGjOuTnCDtg4DsnoUg7KCV67O0IO2ZleyepVxuICBjb25zdCBleHRlbmRlZEFwaXMgPSBjdXJyZW50TW9kZWxBcGlzLm1hcCgoYXBpKSA9PiB7XG4gICAgY29uc3QgZm91bmRNZXRob2QgPSBtZXRob2RzLmZpbmQoXG4gICAgICAobWV0aG9kKSA9PiBtZXRob2QubW9kZWxOYW1lID09PSBhcGkubW9kZWxOYW1lICYmIG1ldGhvZC5tZXRob2ROYW1lID09PSBhcGkubWV0aG9kTmFtZSxcbiAgICApO1xuICAgIGlmICghZm91bmRNZXRob2QpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQVBJICR7YXBpLm1vZGVsTmFtZX0uJHthcGkubWV0aG9kTmFtZX0gbm90IGZvdW5kIGluICR7ZmlsZVBhdGh9YCk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAuLi5hcGksXG4gICAgICB0eXBlUGFyYW1ldGVyczogZm91bmRNZXRob2Q/LnR5cGVQYXJhbWV0ZXJzLFxuICAgICAgcGFyYW1ldGVyczogZm91bmRNZXRob2Q/LnBhcmFtZXRlcnMsXG4gICAgICByZXR1cm5UeXBlOiBmb3VuZE1ldGhvZD8ucmV0dXJuVHlwZSxcbiAgICB9O1xuICB9KTtcbiAgcmV0dXJuIGV4dGVuZGVkQXBpcztcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZVR5cGVOb2RlKHR5cGVOb2RlOiB0cy5UeXBlTm9kZSk6IEFwaVBhcmFtVHlwZSB7XG4gIHN3aXRjaCAodHlwZU5vZGU/LmtpbmQpIHtcbiAgICBjYXNlIHRzLlN5bnRheEtpbmQuQW55S2V5d29yZDpcbiAgICAgIHJldHVybiBcImFueVwiO1xuICAgIGNhc2UgdHMuU3ludGF4S2luZC5Vbmtub3duS2V5d29yZDpcbiAgICAgIHJldHVybiBcInVua25vd25cIjtcbiAgICBjYXNlIHRzLlN5bnRheEtpbmQuU3RyaW5nS2V5d29yZDpcbiAgICAgIHJldHVybiBcInN0cmluZ1wiO1xuICAgIGNhc2UgdHMuU3ludGF4S2luZC5OdW1iZXJLZXl3b3JkOlxuICAgICAgcmV0dXJuIFwibnVtYmVyXCI7XG4gICAgY2FzZSB0cy5TeW50YXhLaW5kLkJvb2xlYW5LZXl3b3JkOlxuICAgICAgcmV0dXJuIFwiYm9vbGVhblwiO1xuICAgIGNhc2UgdHMuU3ludGF4S2luZC5VbmRlZmluZWRLZXl3b3JkOlxuICAgICAgcmV0dXJuIFwidW5kZWZpbmVkXCI7XG4gICAgY2FzZSB0cy5TeW50YXhLaW5kLk51bGxLZXl3b3JkOlxuICAgICAgcmV0dXJuIFwibnVsbFwiO1xuICAgIGNhc2UgdHMuU3ludGF4S2luZC5Wb2lkS2V5d29yZDpcbiAgICAgIHJldHVybiBcInZvaWRcIjtcbiAgICBjYXNlIHRzLlN5bnRheEtpbmQuTGl0ZXJhbFR5cGU6IHtcbiAgICAgIGNvbnN0IGxpdGVyYWwgPSAodHlwZU5vZGUgYXMgdHMuTGl0ZXJhbFR5cGVOb2RlKS5saXRlcmFsO1xuICAgICAgaWYgKHRzLmlzU3RyaW5nTGl0ZXJhbChsaXRlcmFsKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHQ6IFwic3RyaW5nLWxpdGVyYWxcIixcbiAgICAgICAgICB2YWx1ZTogbGl0ZXJhbC50ZXh0LFxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIGlmICh0cy5pc051bWVyaWNMaXRlcmFsKGxpdGVyYWwpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdDogXCJudW1lcmljLWxpdGVyYWxcIixcbiAgICAgICAgICB2YWx1ZTogTnVtYmVyKGxpdGVyYWwudGV4dCksXG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAobGl0ZXJhbC5raW5kID09PSB0cy5TeW50YXhLaW5kLk51bGxLZXl3b3JkKSB7XG4gICAgICAgICAgcmV0dXJuIFwibnVsbFwiO1xuICAgICAgICB9IGVsc2UgaWYgKGxpdGVyYWwua2luZCA9PT0gdHMuU3ludGF4S2luZC5VbmRlZmluZWRLZXl3b3JkKSB7XG4gICAgICAgICAgcmV0dXJuIFwidW5kZWZpbmVkXCI7XG4gICAgICAgIH0gZWxzZSBpZiAobGl0ZXJhbC5raW5kID09PSB0cy5TeW50YXhLaW5kLlRydWVLZXl3b3JkKSB7XG4gICAgICAgICAgcmV0dXJuIFwidHJ1ZVwiO1xuICAgICAgICB9IGVsc2UgaWYgKGxpdGVyYWwua2luZCA9PT0gdHMuU3ludGF4S2luZC5GYWxzZUtleXdvcmQpIHtcbiAgICAgICAgICByZXR1cm4gXCJmYWxzZVwiO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIuyVjCDsiJgg7JeG64qUIOumrO2EsOuftFwiKTtcbiAgICAgIH1cbiAgICB9XG4gICAgY2FzZSB0cy5TeW50YXhLaW5kLkFycmF5VHlwZToge1xuICAgICAgY29uc3QgYXJyTm9kZSA9IHR5cGVOb2RlIGFzIHRzLkFycmF5VHlwZU5vZGU7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0OiBcImFycmF5XCIsXG4gICAgICAgIGVsZW1lbnRzVHlwZTogcmVzb2x2ZVR5cGVOb2RlKGFyck5vZGUuZWxlbWVudFR5cGUpLFxuICAgICAgfTtcbiAgICB9XG4gICAgY2FzZSB0cy5TeW50YXhLaW5kLlR5cGVMaXRlcmFsOiB7XG4gICAgICBjb25zdCBsaXRlcmFsTm9kZSA9IHR5cGVOb2RlIGFzIHRzLlR5cGVMaXRlcmFsTm9kZTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHQ6IFwib2JqZWN0XCIsXG4gICAgICAgIHByb3BzOiBsaXRlcmFsTm9kZS5tZW1iZXJzLm1hcCgobWVtYmVyKSA9PiB7XG4gICAgICAgICAgaWYgKHRzLmlzSW5kZXhTaWduYXR1cmVEZWNsYXJhdGlvbihtZW1iZXIpKSB7XG4gICAgICAgICAgICBhc3NlcnQobWVtYmVyLnBhcmFtZXRlcnNbMF0pO1xuICAgICAgICAgICAgY29uc3QgcmVzID0gcmVzb2x2ZVBhcmFtRGVjKHtcbiAgICAgICAgICAgICAgbmFtZTogbWVtYmVyLnBhcmFtZXRlcnNbMF0ubmFtZSBhcyB0cy5JZGVudGlmaWVyLFxuICAgICAgICAgICAgICB0eXBlOiBtZW1iZXIucGFyYW1ldGVyc1swXS50eXBlIGFzIHRzLlR5cGVOb2RlLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiByZXNvbHZlUGFyYW1EZWMoe1xuICAgICAgICAgICAgICBuYW1lOiB7XG4gICAgICAgICAgICAgICAgZXNjYXBlZFRleHQ6IGBbJHtyZXMubmFtZX0ke3Jlcy5vcHRpb25hbCA/IFwiP1wiIDogXCJcIn06ICR7cmVzLnR5cGV9XWAsXG4gICAgICAgICAgICAgIH0gYXMgdHMuSWRlbnRpZmllcixcbiAgICAgICAgICAgICAgdHlwZTogbWVtYmVyLnR5cGUgYXMgdHMuVHlwZU5vZGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVQYXJhbURlYyh7XG4gICAgICAgICAgICAgIG5hbWU6IChtZW1iZXIgYXMgdHMuUHJvcGVydHlTaWduYXR1cmUpLm5hbWUgYXMgdHMuSWRlbnRpZmllcixcbiAgICAgICAgICAgICAgdHlwZTogKG1lbWJlciBhcyB0cy5Qcm9wZXJ0eVNpZ25hdHVyZSkudHlwZSBhcyB0cy5UeXBlTm9kZSxcbiAgICAgICAgICAgICAgb3B0aW9uYWw6IChtZW1iZXIgYXMgdHMuUHJvcGVydHlTaWduYXR1cmUpLnF1ZXN0aW9uVG9rZW4gIT09IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICB9O1xuICAgIH1cbiAgICBjYXNlIHRzLlN5bnRheEtpbmQuVHlwZVJlZmVyZW5jZTpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHQ6IFwicmVmXCIsXG4gICAgICAgIGlkOiAoKHR5cGVOb2RlIGFzIHRzLlR5cGVSZWZlcmVuY2VOb2RlKS50eXBlTmFtZSBhcyB0cy5JZGVudGlmaWVyKS5lc2NhcGVkVGV4dC50b1N0cmluZygpLFxuICAgICAgICBhcmdzOiAodHlwZU5vZGUgYXMgdHMuVHlwZVJlZmVyZW5jZU5vZGUpLnR5cGVBcmd1bWVudHM/Lm1hcCgodHlwZUFyZykgPT5cbiAgICAgICAgICByZXNvbHZlVHlwZU5vZGUodHlwZUFyZyksXG4gICAgICAgICksXG4gICAgICB9O1xuICAgIGNhc2UgdHMuU3ludGF4S2luZC5VbmlvblR5cGU6XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0OiBcInVuaW9uXCIsXG4gICAgICAgIHR5cGVzOiAodHlwZU5vZGUgYXMgdHMuVW5pb25UeXBlTm9kZSkudHlwZXMubWFwKCh0eXBlKSA9PiByZXNvbHZlVHlwZU5vZGUodHlwZSkpLFxuICAgICAgfTtcbiAgICBjYXNlIHRzLlN5bnRheEtpbmQuSW50ZXJzZWN0aW9uVHlwZTpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHQ6IFwiaW50ZXJzZWN0aW9uXCIsXG4gICAgICAgIHR5cGVzOiAodHlwZU5vZGUgYXMgdHMuSW50ZXJzZWN0aW9uVHlwZU5vZGUpLnR5cGVzLm1hcCgodHlwZSkgPT4gcmVzb2x2ZVR5cGVOb2RlKHR5cGUpKSxcbiAgICAgIH07XG4gICAgY2FzZSB0cy5TeW50YXhLaW5kLkluZGV4ZWRBY2Nlc3NUeXBlOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdDogXCJpbmRleGVkLWFjY2Vzc1wiLFxuICAgICAgICBvYmplY3Q6IHJlc29sdmVUeXBlTm9kZSgodHlwZU5vZGUgYXMgdHMuSW5kZXhlZEFjY2Vzc1R5cGVOb2RlKS5vYmplY3RUeXBlKSxcbiAgICAgICAgaW5kZXg6IHJlc29sdmVUeXBlTm9kZSgodHlwZU5vZGUgYXMgdHMuSW5kZXhlZEFjY2Vzc1R5cGVOb2RlKS5pbmRleFR5cGUpLFxuICAgICAgfTtcbiAgICBjYXNlIHRzLlN5bnRheEtpbmQuVHVwbGVUeXBlOlxuICAgICAgaWYgKHRzLmlzVHVwbGVUeXBlTm9kZSh0eXBlTm9kZSkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0OiBcInR1cGxlLXR5cGVcIixcbiAgICAgICAgICBlbGVtZW50czogdHlwZU5vZGUuZWxlbWVudHMubWFwKChlbGVtKSA9PiByZXNvbHZlVHlwZU5vZGUoZWxlbSkpLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSB0cy5TeW50YXhLaW5kLlBhcmVudGhlc2l6ZWRUeXBlOlxuICAgICAgLy8g6rSE7Zi466GcIOustuyduCDtg4DsnoUgKOyYiDogKEEgJiBCKVtdIOyXkOyEnCAoQSAmIEIpKVxuICAgICAgLy8g64K067aAIO2DgOyeheydhCDsnqzqt4DsoIHsnLzroZwgcmVzb2x2ZVxuICAgICAgcmV0dXJuIHJlc29sdmVUeXBlTm9kZSgodHlwZU5vZGUgYXMgdHMuUGFyZW50aGVzaXplZFR5cGVOb2RlKS50eXBlKTtcbiAgICBjYXNlIHVuZGVmaW5lZDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdHlwZU5vZGUgdW5kZWZpbmVkYCk7XG4gIH1cblxuICBjb25zb2xlLmRlYnVnKHR5cGVOb2RlKTtcbiAgdGhyb3cgbmV3IEVycm9yKGDslYwg7IiYIOyXhuuKlCBTeW50YXhLaW5kICR7dHlwZU5vZGUua2luZH1gKTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZVBhcmFtRGVjKFxuICBwYXJhbURlYzoge1xuICAgIG5hbWU6IHRzLkJpbmRpbmdOYW1lO1xuICAgIHR5cGU6IHRzLlR5cGVOb2RlO1xuICAgIG9wdGlvbmFsPzogYm9vbGVhbjtcbiAgICBkZWZhdWx0RGVmPzogc3RyaW5nO1xuICB9LFxuICBpbmRleDogbnVtYmVyID0gMCxcbik6IEFwaVBhcmFtIHtcbiAgY29uc3QgbmFtZSA9IHBhcmFtRGVjLm5hbWUgYXMgdHMuSWRlbnRpZmllcjtcbiAgY29uc3QgdHlwZSA9IHJlc29sdmVUeXBlTm9kZShwYXJhbURlYy50eXBlKTtcblxuICBpZiAobmFtZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY29uc29sZS5kZWJ1Zyh7IG5hbWUsIHR5cGUsIHBhcmFtRGVjIH0pO1xuICB9XG5cbiAgY29uc3QgcmVzdWx0OiBBcGlQYXJhbSA9IHtcbiAgICBuYW1lOiBuYW1lLmVzY2FwZWRUZXh0ID8gbmFtZS5lc2NhcGVkVGV4dC50b1N0cmluZygpIDogYG5vbmFtZUF0JHtpbmRleH1gLFxuICAgIHR5cGUsXG4gICAgb3B0aW9uYWw6IHBhcmFtRGVjLm9wdGlvbmFsID09PSB0cnVlLFxuICAgIGRlZmF1bHREZWY6IHBhcmFtRGVjPy5kZWZhdWx0RGVmLFxuICB9O1xuXG4gIC8vIOq1rOyhsOu2hO2VtO2VoOuLueydmCDqsr3smrAg7YOA7J6F7J2066aEIOyCrOyaqVxuICBpZiAoXG4gICAgdHMuaXNPYmplY3RCaW5kaW5nUGF0dGVybihuYW1lKSAmJlxuICAgIHRzLmlzVHlwZVJlZmVyZW5jZU5vZGUocGFyYW1EZWMudHlwZSkgJiZcbiAgICB0cy5pc0lkZW50aWZpZXIocGFyYW1EZWMudHlwZS50eXBlTmFtZSlcbiAgKSB7XG4gICAgcmVzdWx0Lm5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKHBhcmFtRGVjLnR5cGUudHlwZU5hbWUudGV4dCwgdHJ1ZSk7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBwcmludE5vZGUobm9kZTogdHMuTm9kZSB8IHVuZGVmaW5lZCwgc291cmNlRmlsZTogdHMuU291cmNlRmlsZSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmIChub2RlID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgcHJpbnRlciA9IHRzLmNyZWF0ZVByaW50ZXIoeyBuZXdMaW5lOiB0cy5OZXdMaW5lS2luZC5MaW5lRmVlZCB9KTtcbiAgcmV0dXJuIHByaW50ZXIucHJpbnROb2RlKHRzLkVtaXRIaW50LlVuc3BlY2lmaWVkLCBub2RlLCBzb3VyY2VGaWxlKTtcbn1cbiJdLCJuYW1lcyI6WyJhc3NlcnQiLCJyZWFkRmlsZSIsImluZmxlY3Rpb24iLCJ0cyIsInJlZ2lzdGVyZWRBcGlzIiwidmFsaWRhdGVNZXRob2ROYW1lIiwicmVhZEFwaXNGcm9tRmlsZSIsImZpbGVQYXRoIiwiZW5kc1dpdGgiLCJFcnJvciIsInNvdXJjZUZpbGUiLCJjcmVhdGVTb3VyY2VGaWxlIiwidG9TdHJpbmciLCJTY3JpcHRUYXJnZXQiLCJMYXRlc3QiLCJtZXRob2RzIiwibW9kZWxOYW1lIiwibWV0aG9kTmFtZSIsInZpc2l0b3IiLCJub2RlIiwiaXNDbGFzc0RlY2xhcmF0aW9uIiwibmFtZSIsImlzSWRlbnRpZmllciIsImVzY2FwZWRUZXh0IiwicmVwbGFjZSIsImlzTWV0aG9kRGVjbGFyYXRpb24iLCJ0eXBlUGFyYW1ldGVycyIsIm1hcCIsInR5cGVQYXJhbSIsInRwIiwidCIsImlkIiwiY29uc3RyYWludCIsInJlc29sdmVUeXBlTm9kZSIsInVuZGVmaW5lZCIsInBhcmFtZXRlcnMiLCJwYXJhbURlYyIsImluZGV4IiwiZGVmYXVsdERlZiIsInByaW50Tm9kZSIsImluaXRpYWxpemVyIiwicmVzb2x2ZVBhcmFtRGVjIiwidHlwZSIsIm9wdGlvbmFsIiwicXVlc3Rpb25Ub2tlbiIsInJldHVyblR5cGUiLCJwdXNoIiwiZm9yRWFjaENoaWxkIiwibGVuZ3RoIiwiY3VycmVudE1vZGVsQXBpcyIsImZpbHRlciIsImFwaSIsImZpbmQiLCJtZXRob2QiLCJleHRlbmRlZEFwaXMiLCJmb3VuZE1ldGhvZCIsInR5cGVOb2RlIiwia2luZCIsIlN5bnRheEtpbmQiLCJBbnlLZXl3b3JkIiwiVW5rbm93bktleXdvcmQiLCJTdHJpbmdLZXl3b3JkIiwiTnVtYmVyS2V5d29yZCIsIkJvb2xlYW5LZXl3b3JkIiwiVW5kZWZpbmVkS2V5d29yZCIsIk51bGxLZXl3b3JkIiwiVm9pZEtleXdvcmQiLCJMaXRlcmFsVHlwZSIsImxpdGVyYWwiLCJpc1N0cmluZ0xpdGVyYWwiLCJ2YWx1ZSIsInRleHQiLCJpc051bWVyaWNMaXRlcmFsIiwiTnVtYmVyIiwiVHJ1ZUtleXdvcmQiLCJGYWxzZUtleXdvcmQiLCJBcnJheVR5cGUiLCJhcnJOb2RlIiwiZWxlbWVudHNUeXBlIiwiZWxlbWVudFR5cGUiLCJUeXBlTGl0ZXJhbCIsImxpdGVyYWxOb2RlIiwicHJvcHMiLCJtZW1iZXJzIiwibWVtYmVyIiwiaXNJbmRleFNpZ25hdHVyZURlY2xhcmF0aW9uIiwicmVzIiwiVHlwZVJlZmVyZW5jZSIsInR5cGVOYW1lIiwiYXJncyIsInR5cGVBcmd1bWVudHMiLCJ0eXBlQXJnIiwiVW5pb25UeXBlIiwidHlwZXMiLCJJbnRlcnNlY3Rpb25UeXBlIiwiSW5kZXhlZEFjY2Vzc1R5cGUiLCJvYmplY3QiLCJvYmplY3RUeXBlIiwiaW5kZXhUeXBlIiwiVHVwbGVUeXBlIiwiaXNUdXBsZVR5cGVOb2RlIiwiZWxlbWVudHMiLCJlbGVtIiwiUGFyZW50aGVzaXplZFR5cGUiLCJjb25zb2xlIiwiZGVidWciLCJyZXN1bHQiLCJpc09iamVjdEJpbmRpbmdQYXR0ZXJuIiwiaXNUeXBlUmVmZXJlbmNlTm9kZSIsImNhbWVsaXplIiwicHJpbnRlciIsImNyZWF0ZVByaW50ZXIiLCJuZXdMaW5lIiwiTmV3TGluZUtpbmQiLCJMaW5lRmVlZCIsIkVtaXRIaW50IiwiVW5zcGVjaWZpZWQiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFlBQVksU0FBUztBQUM1QixTQUFTQyxRQUFRLFFBQVEsbUJBQWM7QUFDdkMsT0FBT0MsZ0JBQWdCLGFBQWE7QUFDcEMsT0FBT0MsUUFBUSxhQUFhO0FBQzVCLFNBQTJCQyxjQUFjLFFBQVEsdUJBQW9CO0FBQ3JFLFNBQVNDLGtCQUFrQixRQUFRLHNCQUFtQjtBQUl0RDs7Ozs7Q0FLQyxHQUNELE9BQU8sZUFBZUMsaUJBQWlCQyxRQUFzQjtJQUMz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
|
|
256
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zeW5jZXIvYXBpLXBhcnNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIjtcbmltcG9ydCB7IHJlYWRGaWxlIH0gZnJvbSBcImZzL3Byb21pc2VzXCI7XG5pbXBvcnQgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiO1xuaW1wb3J0IHRzIGZyb20gXCJ0eXBlc2NyaXB0XCI7XG5pbXBvcnQgeyB0eXBlIEV4dGVuZGVkQXBpLCByZWdpc3RlcmVkQXBpcyB9IGZyb20gXCIuLi9hcGkvZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgdmFsaWRhdGVNZXRob2ROYW1lIH0gZnJvbSBcIi4uL2FwaS92YWxpZGF0b3JcIjtcbmltcG9ydCB0eXBlIHsgQXBpUGFyYW0sIEFwaVBhcmFtVHlwZSB9IGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBBYnNvbHV0ZVBhdGggfSBmcm9tIFwiLi4vdXRpbHMvcGF0aC11dGlsc1wiO1xuXG4vKipcbiAqIFR5cGVTY3JpcHQg7YyM7J287J2EIO2MjOyLse2VmOyXrCBBUEkg66mU7IaM65OcIOygleuztOulvCDstpTstpztlanri4jri6QuXG4gKiBAYXBpIOuNsOy9lOugiOydtO2EsOqwgCDrtpnsnYAg66mU7IaM65Oc65Ok7J2YIO2DgOyehSDsoJXrs7Trpbwg67aE7ISd7ZWp64uI64ukLlxuICogQHBhcmFtIGZpbGVQYXRoIC0g7YyM7Iux7ZWgIFR5cGVTY3JpcHQg7YyM7J287J2YIOygiOuMgCDqsr3roZxcbiAqIEByZXR1cm5zIEFQSSDrqZTshozrk5wg7KCV67O0IOuwsOyXtCAo7YOA7J6FIO2MjOudvOuvuO2EsCwg7YyM652866+47YSwLCDrpqzthLQg7YOA7J6FIOuTsSlcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRBcGlzRnJvbUZpbGUoZmlsZVBhdGg6IEFic29sdXRlUGF0aCk6IFByb21pc2U8RXh0ZW5kZWRBcGlbXT4ge1xuICBpZiAoIWZpbGVQYXRoLmVuZHNXaXRoKFwiLnRzXCIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYCR7ZmlsZVBhdGh9IGRvZXMgbm90IHNlZW0gdG8gYmUgYSBUeXBlU2NyaXB0IGZpbGUuIFBsZWFzZSBjaGVjayB0aGUgZmlsZSBwYXRoLiBXZSBvbmx5IHN1cHBvcnQgcGFyc2luZyBUeXBlU2NyaXB0IGZpbGVzLmAsXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHNvdXJjZUZpbGUgPSB0cy5jcmVhdGVTb3VyY2VGaWxlKFxuICAgIGZpbGVQYXRoLFxuICAgIChhd2FpdCByZWFkRmlsZShmaWxlUGF0aCkpLnRvU3RyaW5nKCksXG4gICAgdHMuU2NyaXB0VGFyZ2V0LkxhdGVzdCxcbiAgKTtcblxuICBjb25zdCBtZXRob2RzOiBPbWl0PEV4dGVuZGVkQXBpLCBcInBhdGhcIiB8IFwib3B0aW9uc1wiPltdID0gW107XG4gIGxldCBtb2RlbE5hbWU6IHN0cmluZyA9IFwiVW5rbm93bk1vZGVsXCI7XG4gIGxldCBtZXRob2ROYW1lOiBzdHJpbmcgPSBcInVua25vd25NZXRob2RcIjtcbiAgY29uc3QgdmlzaXRvciA9IChub2RlOiB0cy5Ob2RlKSA9PiB7XG4gICAgaWYgKHRzLmlzQ2xhc3NEZWNsYXJhdGlvbihub2RlKSkge1xuICAgICAgaWYgKG5vZGUubmFtZSAmJiB0cy5pc0lkZW50aWZpZXIobm9kZS5uYW1lKSkge1xuICAgICAgICBtb2RlbE5hbWUgPSBub2RlLm5hbWUuZXNjYXBlZFRleHQudG9TdHJpbmcoKS5yZXBsYWNlKC9DbGFzcyQvLCBcIlwiKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRzLmlzTWV0aG9kRGVjbGFyYXRpb24obm9kZSkpIHtcbiAgICAgIGlmICh0cy5pc0lkZW50aWZpZXIobm9kZS5uYW1lKSkge1xuICAgICAgICBtZXRob2ROYW1lID0gbm9kZS5uYW1lLmVzY2FwZWRUZXh0LnRvU3RyaW5nKCk7XG4gICAgICAgIHZhbGlkYXRlTWV0aG9kTmFtZShtZXRob2ROYW1lKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdHlwZVBhcmFtZXRlcnM6IEFwaVBhcmFtVHlwZS5UeXBlUGFyYW1bXSA9IChub2RlLnR5cGVQYXJhbWV0ZXJzID8/IFtdKS5tYXAoXG4gICAgICAgICh0eXBlUGFyYW0pID0+IHtcbiAgICAgICAgICBjb25zdCB0cCA9IHR5cGVQYXJhbSBhcyB0cy5UeXBlUGFyYW1ldGVyRGVjbGFyYXRpb247XG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdDogXCJ0eXBlLXBhcmFtXCIsXG4gICAgICAgICAgICBpZDogdHAubmFtZS5lc2NhcGVkVGV4dC50b1N0cmluZygpLFxuICAgICAgICAgICAgY29uc3RyYWludDogdHAuY29uc3RyYWludCA/IHJlc29sdmVUeXBlTm9kZSh0cC5jb25zdHJhaW50KSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgICAgKTtcbiAgICAgIGNvbnN0IHBhcmFtZXRlcnM6IEFwaVBhcmFtW10gPSBub2RlLnBhcmFtZXRlcnMubWFwKChwYXJhbURlYywgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3QgZGVmYXVsdERlZiA9IHByaW50Tm9kZShwYXJhbURlYy5pbml0aWFsaXplciwgc291cmNlRmlsZSk7XG5cbiAgICAgICAgLy8g6riw67O46rCS7J20IOyeiOuKlCDqsr3smrAgcGFyYW1EZWMudHlwZeqwgCB1bmRlZmluZWTroZwg64KY7Ji0XG5cbiAgICAgICAgcmV0dXJuIHJlc29sdmVQYXJhbURlYyhcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBwYXJhbURlYy5uYW1lLFxuICAgICAgICAgICAgdHlwZTogcGFyYW1EZWMudHlwZSBhcyB0cy5UeXBlTm9kZSxcbiAgICAgICAgICAgIG9wdGlvbmFsOiBwYXJhbURlYy5xdWVzdGlvblRva2VuICE9PSB1bmRlZmluZWQgfHwgcGFyYW1EZWMuaW5pdGlhbGl6ZXIgIT09IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGRlZmF1bHREZWYsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBpbmRleCxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgICAgaWYgKG5vZGUudHlwZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihg66as7YS0IO2DgOyeheydtCDquLDsnqzrkJjsp4Ag7JWK7J2AIOuplOyGjOuTnCAke21vZGVsTmFtZX0uJHttZXRob2ROYW1lfWApO1xuICAgICAgfVxuICAgICAgY29uc3QgcmV0dXJuVHlwZSA9IHJlc29sdmVUeXBlTm9kZShub2RlLnR5cGUpO1xuXG4gICAgICBtZXRob2RzLnB1c2goe1xuICAgICAgICBtb2RlbE5hbWUsXG4gICAgICAgIG1ldGhvZE5hbWUsXG4gICAgICAgIHR5cGVQYXJhbWV0ZXJzLFxuICAgICAgICBwYXJhbWV0ZXJzLFxuICAgICAgICByZXR1cm5UeXBlLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRzLmZvckVhY2hDaGlsZChub2RlLCB2aXNpdG9yKTtcbiAgfTtcbiAgdmlzaXRvcihzb3VyY2VGaWxlKTtcblxuICBpZiAobWV0aG9kcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvLyDtmITsnqwg7YyM7J287J2YIOuTseuhneuQnCBBUEkg7ZWE7YSwXG4gIGNvbnN0IGN1cnJlbnRNb2RlbEFwaXMgPSByZWdpc3RlcmVkQXBpcy5maWx0ZXIoKGFwaSkgPT4ge1xuICAgIHJldHVybiBtZXRob2RzLmZpbmQoXG4gICAgICAobWV0aG9kKSA9PiBtZXRob2QubW9kZWxOYW1lID09PSBhcGkubW9kZWxOYW1lICYmIG1ldGhvZC5tZXRob2ROYW1lID09PSBhcGkubWV0aG9kTmFtZSxcbiAgICApO1xuICB9KTtcbiAgaWYgKGN1cnJlbnRNb2RlbEFwaXMubGVuZ3RoID09PSAwKSB7XG4gICAgLy8gY29uc3QgcCA9IHBhdGguam9pbih0bXBkaXIoKSwgXCJzb25hbXUtc3luY2VyLWVycm9yLmpzb25cIik7XG4gICAgLy8gd3JpdGVGaWxlU3luYyhwLCBKU09OLnN0cmluZ2lmeShyZWdpc3RlcmVkQXBpcywgbnVsbCwgMikpO1xuICAgIC8vIGV4ZWNTeW5jKGBvcGVuICR7cH1gKTtcbiAgICAvLyB0aHJvdyBuZXcgRXJyb3IoYO2YhOyerCDtjIzsnbzsl5Ag7IKs7KCEIOuTseuhneuQnCBBUEnqsIAg7JeG7Iq164uI64ukLiAke2ZpbGVQYXRofWApO1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIC8vIOuTseuhneuQnCBBUEnsl5Ag7ZiE7J6sIOuplOyGjOuTnCDtg4DsnoUg7KCV67O0IO2ZleyepVxuICBjb25zdCBleHRlbmRlZEFwaXMgPSBjdXJyZW50TW9kZWxBcGlzLm1hcCgoYXBpKSA9PiB7XG4gICAgY29uc3QgZm91bmRNZXRob2QgPSBtZXRob2RzLmZpbmQoXG4gICAgICAobWV0aG9kKSA9PiBtZXRob2QubW9kZWxOYW1lID09PSBhcGkubW9kZWxOYW1lICYmIG1ldGhvZC5tZXRob2ROYW1lID09PSBhcGkubWV0aG9kTmFtZSxcbiAgICApO1xuICAgIGlmICghZm91bmRNZXRob2QpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQVBJICR7YXBpLm1vZGVsTmFtZX0uJHthcGkubWV0aG9kTmFtZX0gbm90IGZvdW5kIGluICR7ZmlsZVBhdGh9YCk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAuLi5hcGksXG4gICAgICB0eXBlUGFyYW1ldGVyczogZm91bmRNZXRob2Q/LnR5cGVQYXJhbWV0ZXJzLFxuICAgICAgcGFyYW1ldGVyczogZm91bmRNZXRob2Q/LnBhcmFtZXRlcnMsXG4gICAgICByZXR1cm5UeXBlOiBmb3VuZE1ldGhvZD8ucmV0dXJuVHlwZSxcbiAgICB9O1xuICB9KTtcbiAgcmV0dXJuIGV4dGVuZGVkQXBpcztcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZVR5cGVOb2RlKHR5cGVOb2RlOiB0cy5UeXBlTm9kZSk6IEFwaVBhcmFtVHlwZSB7XG4gIHN3aXRjaCAodHlwZU5vZGU/LmtpbmQpIHtcbiAgICBjYXNlIHRzLlN5bnRheEtpbmQuQW55S2V5d29yZDpcbiAgICAgIHJldHVybiBcImFueVwiO1xuICAgIGNhc2UgdHMuU3ludGF4S2luZC5Vbmtub3duS2V5d29yZDpcbiAgICAgIHJldHVybiBcInVua25vd25cIjtcbiAgICBjYXNlIHRzLlN5bnRheEtpbmQuU3RyaW5nS2V5d29yZDpcbiAgICAgIHJldHVybiBcInN0cmluZ1wiO1xuICAgIGNhc2UgdHMuU3ludGF4S2luZC5OdW1iZXJLZXl3b3JkOlxuICAgICAgcmV0dXJuIFwibnVtYmVyXCI7XG4gICAgY2FzZSB0cy5TeW50YXhLaW5kLkJvb2xlYW5LZXl3b3JkOlxuICAgICAgcmV0dXJuIFwiYm9vbGVhblwiO1xuICAgIGNhc2UgdHMuU3ludGF4S2luZC5VbmRlZmluZWRLZXl3b3JkOlxuICAgICAgcmV0dXJuIFwidW5kZWZpbmVkXCI7XG4gICAgY2FzZSB0cy5TeW50YXhLaW5kLk51bGxLZXl3b3JkOlxuICAgICAgcmV0dXJuIFwibnVsbFwiO1xuICAgIGNhc2UgdHMuU3ludGF4S2luZC5Wb2lkS2V5d29yZDpcbiAgICAgIHJldHVybiBcInZvaWRcIjtcbiAgICBjYXNlIHRzLlN5bnRheEtpbmQuTGl0ZXJhbFR5cGU6IHtcbiAgICAgIGNvbnN0IGxpdGVyYWwgPSAodHlwZU5vZGUgYXMgdHMuTGl0ZXJhbFR5cGVOb2RlKS5saXRlcmFsO1xuICAgICAgaWYgKHRzLmlzU3RyaW5nTGl0ZXJhbChsaXRlcmFsKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHQ6IFwic3RyaW5nLWxpdGVyYWxcIixcbiAgICAgICAgICB2YWx1ZTogbGl0ZXJhbC50ZXh0LFxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIGlmICh0cy5pc051bWVyaWNMaXRlcmFsKGxpdGVyYWwpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdDogXCJudW1lcmljLWxpdGVyYWxcIixcbiAgICAgICAgICB2YWx1ZTogTnVtYmVyKGxpdGVyYWwudGV4dCksXG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAobGl0ZXJhbC5raW5kID09PSB0cy5TeW50YXhLaW5kLk51bGxLZXl3b3JkKSB7XG4gICAgICAgICAgcmV0dXJuIFwibnVsbFwiO1xuICAgICAgICB9IGVsc2UgaWYgKGxpdGVyYWwua2luZCA9PT0gdHMuU3ludGF4S2luZC5VbmRlZmluZWRLZXl3b3JkKSB7XG4gICAgICAgICAgcmV0dXJuIFwidW5kZWZpbmVkXCI7XG4gICAgICAgIH0gZWxzZSBpZiAobGl0ZXJhbC5raW5kID09PSB0cy5TeW50YXhLaW5kLlRydWVLZXl3b3JkKSB7XG4gICAgICAgICAgcmV0dXJuIFwidHJ1ZVwiO1xuICAgICAgICB9IGVsc2UgaWYgKGxpdGVyYWwua2luZCA9PT0gdHMuU3ludGF4S2luZC5GYWxzZUtleXdvcmQpIHtcbiAgICAgICAgICByZXR1cm4gXCJmYWxzZVwiO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIuyVjCDsiJgg7JeG64qUIOumrO2EsOuftFwiKTtcbiAgICAgIH1cbiAgICB9XG4gICAgY2FzZSB0cy5TeW50YXhLaW5kLkFycmF5VHlwZToge1xuICAgICAgY29uc3QgYXJyTm9kZSA9IHR5cGVOb2RlIGFzIHRzLkFycmF5VHlwZU5vZGU7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0OiBcImFycmF5XCIsXG4gICAgICAgIGVsZW1lbnRzVHlwZTogcmVzb2x2ZVR5cGVOb2RlKGFyck5vZGUuZWxlbWVudFR5cGUpLFxuICAgICAgfTtcbiAgICB9XG4gICAgY2FzZSB0cy5TeW50YXhLaW5kLlR5cGVMaXRlcmFsOiB7XG4gICAgICBjb25zdCBsaXRlcmFsTm9kZSA9IHR5cGVOb2RlIGFzIHRzLlR5cGVMaXRlcmFsTm9kZTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHQ6IFwib2JqZWN0XCIsXG4gICAgICAgIHByb3BzOiBsaXRlcmFsTm9kZS5tZW1iZXJzLm1hcCgobWVtYmVyKSA9PiB7XG4gICAgICAgICAgaWYgKHRzLmlzSW5kZXhTaWduYXR1cmVEZWNsYXJhdGlvbihtZW1iZXIpKSB7XG4gICAgICAgICAgICBhc3NlcnQobWVtYmVyLnBhcmFtZXRlcnNbMF0pO1xuICAgICAgICAgICAgY29uc3QgcmVzID0gcmVzb2x2ZVBhcmFtRGVjKHtcbiAgICAgICAgICAgICAgbmFtZTogbWVtYmVyLnBhcmFtZXRlcnNbMF0ubmFtZSBhcyB0cy5JZGVudGlmaWVyLFxuICAgICAgICAgICAgICB0eXBlOiBtZW1iZXIucGFyYW1ldGVyc1swXS50eXBlIGFzIHRzLlR5cGVOb2RlLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiByZXNvbHZlUGFyYW1EZWMoe1xuICAgICAgICAgICAgICBuYW1lOiB7XG4gICAgICAgICAgICAgICAgZXNjYXBlZFRleHQ6IGBbJHtyZXMubmFtZX0ke3Jlcy5vcHRpb25hbCA/IFwiP1wiIDogXCJcIn06ICR7cmVzLnR5cGV9XWAsXG4gICAgICAgICAgICAgIH0gYXMgdHMuSWRlbnRpZmllcixcbiAgICAgICAgICAgICAgdHlwZTogbWVtYmVyLnR5cGUgYXMgdHMuVHlwZU5vZGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVQYXJhbURlYyh7XG4gICAgICAgICAgICAgIG5hbWU6IChtZW1iZXIgYXMgdHMuUHJvcGVydHlTaWduYXR1cmUpLm5hbWUgYXMgdHMuSWRlbnRpZmllcixcbiAgICAgICAgICAgICAgdHlwZTogKG1lbWJlciBhcyB0cy5Qcm9wZXJ0eVNpZ25hdHVyZSkudHlwZSBhcyB0cy5UeXBlTm9kZSxcbiAgICAgICAgICAgICAgb3B0aW9uYWw6IChtZW1iZXIgYXMgdHMuUHJvcGVydHlTaWduYXR1cmUpLnF1ZXN0aW9uVG9rZW4gIT09IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICB9O1xuICAgIH1cbiAgICBjYXNlIHRzLlN5bnRheEtpbmQuVHlwZVJlZmVyZW5jZTpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHQ6IFwicmVmXCIsXG4gICAgICAgIGlkOiAoKHR5cGVOb2RlIGFzIHRzLlR5cGVSZWZlcmVuY2VOb2RlKS50eXBlTmFtZSBhcyB0cy5JZGVudGlmaWVyKS5lc2NhcGVkVGV4dC50b1N0cmluZygpLFxuICAgICAgICBhcmdzOiAodHlwZU5vZGUgYXMgdHMuVHlwZVJlZmVyZW5jZU5vZGUpLnR5cGVBcmd1bWVudHM/Lm1hcCgodHlwZUFyZykgPT5cbiAgICAgICAgICByZXNvbHZlVHlwZU5vZGUodHlwZUFyZyksXG4gICAgICAgICksXG4gICAgICB9O1xuICAgIGNhc2UgdHMuU3ludGF4S2luZC5VbmlvblR5cGU6XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0OiBcInVuaW9uXCIsXG4gICAgICAgIHR5cGVzOiAodHlwZU5vZGUgYXMgdHMuVW5pb25UeXBlTm9kZSkudHlwZXMubWFwKCh0eXBlKSA9PiByZXNvbHZlVHlwZU5vZGUodHlwZSkpLFxuICAgICAgfTtcbiAgICBjYXNlIHRzLlN5bnRheEtpbmQuSW50ZXJzZWN0aW9uVHlwZTpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHQ6IFwiaW50ZXJzZWN0aW9uXCIsXG4gICAgICAgIHR5cGVzOiAodHlwZU5vZGUgYXMgdHMuSW50ZXJzZWN0aW9uVHlwZU5vZGUpLnR5cGVzLm1hcCgodHlwZSkgPT4gcmVzb2x2ZVR5cGVOb2RlKHR5cGUpKSxcbiAgICAgIH07XG4gICAgY2FzZSB0cy5TeW50YXhLaW5kLkluZGV4ZWRBY2Nlc3NUeXBlOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdDogXCJpbmRleGVkLWFjY2Vzc1wiLFxuICAgICAgICBvYmplY3Q6IHJlc29sdmVUeXBlTm9kZSgodHlwZU5vZGUgYXMgdHMuSW5kZXhlZEFjY2Vzc1R5cGVOb2RlKS5vYmplY3RUeXBlKSxcbiAgICAgICAgaW5kZXg6IHJlc29sdmVUeXBlTm9kZSgodHlwZU5vZGUgYXMgdHMuSW5kZXhlZEFjY2Vzc1R5cGVOb2RlKS5pbmRleFR5cGUpLFxuICAgICAgfTtcbiAgICBjYXNlIHRzLlN5bnRheEtpbmQuVHVwbGVUeXBlOlxuICAgICAgaWYgKHRzLmlzVHVwbGVUeXBlTm9kZSh0eXBlTm9kZSkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0OiBcInR1cGxlLXR5cGVcIixcbiAgICAgICAgICBlbGVtZW50czogdHlwZU5vZGUuZWxlbWVudHMubWFwKChlbGVtKSA9PiByZXNvbHZlVHlwZU5vZGUoZWxlbSkpLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSB0cy5TeW50YXhLaW5kLlBhcmVudGhlc2l6ZWRUeXBlOlxuICAgICAgLy8g6rSE7Zi466GcIOustuyduCDtg4DsnoUgKOyYiDogKEEgJiBCKVtdIOyXkOyEnCAoQSAmIEIpKVxuICAgICAgLy8g64K067aAIO2DgOyeheydhCDsnqzqt4DsoIHsnLzroZwgcmVzb2x2ZVxuICAgICAgcmV0dXJuIHJlc29sdmVUeXBlTm9kZSgodHlwZU5vZGUgYXMgdHMuUGFyZW50aGVzaXplZFR5cGVOb2RlKS50eXBlKTtcblxuICAgIGNhc2UgdHMuU3ludGF4S2luZC5GdW5jdGlvblR5cGU6XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0OiBcImZ1bmN0aW9uXCIsXG4gICAgICAgIHBhcmFtZXRlcnM6ICh0eXBlTm9kZSBhcyB0cy5GdW5jdGlvblR5cGVOb2RlKS5wYXJhbWV0ZXJzLm1hcCgocGFyYW0pID0+ICh7XG4gICAgICAgICAgbmFtZTogcGFyYW0ubmFtZS5nZXRUZXh0KCksXG4gICAgICAgICAgdHlwZTogcGFyYW0udHlwZSA/IHJlc29sdmVUeXBlTm9kZShwYXJhbS50eXBlKSA6IFwidW5rbm93blwiLFxuICAgICAgICAgIG9wdGlvbmFsOiBwYXJhbS5xdWVzdGlvblRva2VuICE9PSB1bmRlZmluZWQsXG4gICAgICAgICAgZGVmYXVsdERlZjogdW5kZWZpbmVkLFxuICAgICAgICB9KSksXG4gICAgICAgIHJldHVyblR5cGU6IHJlc29sdmVUeXBlTm9kZSgodHlwZU5vZGUgYXMgdHMuRnVuY3Rpb25UeXBlTm9kZSkudHlwZSksXG4gICAgICB9O1xuICAgIGNhc2UgdW5kZWZpbmVkOlxuICAgICAgdGhyb3cgbmV3IEVycm9yKGB0eXBlTm9kZSB1bmRlZmluZWRgKTtcbiAgfVxuXG4gIGNvbnNvbGUuZGVidWcodHlwZU5vZGUpO1xuICB0aHJvdyBuZXcgRXJyb3IoYOyVjCDsiJgg7JeG64qUIFN5bnRheEtpbmQgJHt0eXBlTm9kZS5raW5kfWApO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlUGFyYW1EZWMoXG4gIHBhcmFtRGVjOiB7XG4gICAgbmFtZTogdHMuQmluZGluZ05hbWU7XG4gICAgdHlwZTogdHMuVHlwZU5vZGU7XG4gICAgb3B0aW9uYWw/OiBib29sZWFuO1xuICAgIGRlZmF1bHREZWY/OiBzdHJpbmc7XG4gIH0sXG4gIGluZGV4OiBudW1iZXIgPSAwLFxuKTogQXBpUGFyYW0ge1xuICBjb25zdCBuYW1lID0gcGFyYW1EZWMubmFtZSBhcyB0cy5JZGVudGlmaWVyO1xuICBjb25zdCB0eXBlID0gcmVzb2x2ZVR5cGVOb2RlKHBhcmFtRGVjLnR5cGUpO1xuXG4gIGlmIChuYW1lID09PSB1bmRlZmluZWQpIHtcbiAgICBjb25zb2xlLmRlYnVnKHsgbmFtZSwgdHlwZSwgcGFyYW1EZWMgfSk7XG4gIH1cblxuICBjb25zdCByZXN1bHQ6IEFwaVBhcmFtID0ge1xuICAgIG5hbWU6IG5hbWUuZXNjYXBlZFRleHQgPyBuYW1lLmVzY2FwZWRUZXh0LnRvU3RyaW5nKCkgOiBgbm9uYW1lQXQke2luZGV4fWAsXG4gICAgdHlwZSxcbiAgICBvcHRpb25hbDogcGFyYW1EZWMub3B0aW9uYWwgPT09IHRydWUsXG4gICAgZGVmYXVsdERlZjogcGFyYW1EZWM/LmRlZmF1bHREZWYsXG4gIH07XG5cbiAgLy8g6rWs7KGw67aE7ZW07ZWg64u57J2YIOqyveyasCDtg4DsnoXsnbTrpoQg7IKs7JqpXG4gIGlmIChcbiAgICB0cy5pc09iamVjdEJpbmRpbmdQYXR0ZXJuKG5hbWUpICYmXG4gICAgdHMuaXNUeXBlUmVmZXJlbmNlTm9kZShwYXJhbURlYy50eXBlKSAmJlxuICAgIHRzLmlzSWRlbnRpZmllcihwYXJhbURlYy50eXBlLnR5cGVOYW1lKVxuICApIHtcbiAgICByZXN1bHQubmFtZSA9IGluZmxlY3Rpb24uY2FtZWxpemUocGFyYW1EZWMudHlwZS50eXBlTmFtZS50ZXh0LCB0cnVlKTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIHByaW50Tm9kZShub2RlOiB0cy5Ob2RlIHwgdW5kZWZpbmVkLCBzb3VyY2VGaWxlOiB0cy5Tb3VyY2VGaWxlKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgaWYgKG5vZGUgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCBwcmludGVyID0gdHMuY3JlYXRlUHJpbnRlcih7IG5ld0xpbmU6IHRzLk5ld0xpbmVLaW5kLkxpbmVGZWVkIH0pO1xuICByZXR1cm4gcHJpbnRlci5wcmludE5vZGUodHMuRW1pdEhpbnQuVW5zcGVjaWZpZWQsIG5vZGUsIHNvdXJjZUZpbGUpO1xufVxuIl0sIm5hbWVzIjpbImFzc2VydCIsInJlYWRGaWxlIiwiaW5mbGVjdGlvbiIsInRzIiwicmVnaXN0ZXJlZEFwaXMiLCJ2YWxpZGF0ZU1ldGhvZE5hbWUiLCJyZWFkQXBpc0Zyb21GaWxlIiwiZmlsZVBhdGgiLCJlbmRzV2l0aCIsIkVycm9yIiwic291cmNlRmlsZSIsImNyZWF0ZVNvdXJjZUZpbGUiLCJ0b1N0cmluZyIsIlNjcmlwdFRhcmdldCIsIkxhdGVzdCIsIm1ldGhvZHMiLCJtb2RlbE5hbWUiLCJtZXRob2ROYW1lIiwidmlzaXRvciIsIm5vZGUiLCJpc0NsYXNzRGVjbGFyYXRpb24iLCJuYW1lIiwiaXNJZGVudGlmaWVyIiwiZXNjYXBlZFRleHQiLCJyZXBsYWNlIiwiaXNNZXRob2REZWNsYXJhdGlvbiIsInR5cGVQYXJhbWV0ZXJzIiwibWFwIiwidHlwZVBhcmFtIiwidHAiLCJ0IiwiaWQiLCJjb25zdHJhaW50IiwicmVzb2x2ZVR5cGVOb2RlIiwidW5kZWZpbmVkIiwicGFyYW1ldGVycyIsInBhcmFtRGVjIiwiaW5kZXgiLCJkZWZhdWx0RGVmIiwicHJpbnROb2RlIiwiaW5pdGlhbGl6ZXIiLCJyZXNvbHZlUGFyYW1EZWMiLCJ0eXBlIiwib3B0aW9uYWwiLCJxdWVzdGlvblRva2VuIiwicmV0dXJuVHlwZSIsInB1c2giLCJmb3JFYWNoQ2hpbGQiLCJsZW5ndGgiLCJjdXJyZW50TW9kZWxBcGlzIiwiZmlsdGVyIiwiYXBpIiwiZmluZCIsIm1ldGhvZCIsImV4dGVuZGVkQXBpcyIsImZvdW5kTWV0aG9kIiwidHlwZU5vZGUiLCJraW5kIiwiU3ludGF4S2luZCIsIkFueUtleXdvcmQiLCJVbmtub3duS2V5d29yZCIsIlN0cmluZ0tleXdvcmQiLCJOdW1iZXJLZXl3b3JkIiwiQm9vbGVhbktleXdvcmQiLCJVbmRlZmluZWRLZXl3b3JkIiwiTnVsbEtleXdvcmQiLCJWb2lkS2V5d29yZCIsIkxpdGVyYWxUeXBlIiwibGl0ZXJhbCIsImlzU3RyaW5nTGl0ZXJhbCIsInZhbHVlIiwidGV4dCIsImlzTnVtZXJpY0xpdGVyYWwiLCJOdW1iZXIiLCJUcnVlS2V5d29yZCIsIkZhbHNlS2V5d29yZCIsIkFycmF5VHlwZSIsImFyck5vZGUiLCJlbGVtZW50c1R5cGUiLCJlbGVtZW50VHlwZSIsIlR5cGVMaXRlcmFsIiwibGl0ZXJhbE5vZGUiLCJwcm9wcyIsIm1lbWJlcnMiLCJtZW1iZXIiLCJpc0luZGV4U2lnbmF0dXJlRGVjbGFyYXRpb24iLCJyZXMiLCJUeXBlUmVmZXJlbmNlIiwidHlwZU5hbWUiLCJhcmdzIiwidHlwZUFyZ3VtZW50cyIsInR5cGVBcmciLCJVbmlvblR5cGUiLCJ0eXBlcyIsIkludGVyc2VjdGlvblR5cGUiLCJJbmRleGVkQWNjZXNzVHlwZSIsIm9iamVjdCIsIm9iamVjdFR5cGUiLCJpbmRleFR5cGUiLCJUdXBsZVR5cGUiLCJpc1R1cGxlVHlwZU5vZGUiLCJlbGVtZW50cyIsImVsZW0iLCJQYXJlbnRoZXNpemVkVHlwZSIsIkZ1bmN0aW9uVHlwZSIsInBhcmFtIiwiZ2V0VGV4dCIsImNvbnNvbGUiLCJkZWJ1ZyIsInJlc3VsdCIsImlzT2JqZWN0QmluZGluZ1BhdHRlcm4iLCJpc1R5cGVSZWZlcmVuY2VOb2RlIiwiY2FtZWxpemUiLCJwcmludGVyIiwiY3JlYXRlUHJpbnRlciIsIm5ld0xpbmUiLCJOZXdMaW5lS2luZCIsIkxpbmVGZWVkIiwiRW1pdEhpbnQiLCJVbnNwZWNpZmllZCJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsWUFBWSxTQUFTO0FBQzVCLFNBQVNDLFFBQVEsUUFBUSxtQkFBYztBQUN2QyxPQUFPQyxnQkFBZ0IsYUFBYTtBQUNwQyxPQUFPQyxRQUFRLGFBQWE7QUFDNUIsU0FBMkJDLGNBQWMsUUFBUSx1QkFBb0I7QUFDckUsU0FBU0Msa0JBQWtCLFFBQVEsc0JBQW1CO0FBSXREOzs7OztDQUtDLEdBQ0QsT0FBTyxlQUFlQyxpQkFBaUJDLFFBQXNCO0lBQzNELElBQUksQ0FBQ0EsU0FBU0MsUUFBUSxDQUFDLFFBQVE7UUFDN0IsTUFBTSxJQUFJQyxNQUNSLEdBQUdGLFNBQVMsNkdBQTZHLENBQUM7SUFFOUg7SUFFQSxNQUFNRyxhQUFhUCxHQUFHUSxnQkFBZ0IsQ0FDcENKLFVBQ0EsQUFBQyxDQUFBLE1BQU1OLFNBQVNNLFNBQVEsRUFBR0ssUUFBUSxJQUNuQ1QsR0FBR1UsWUFBWSxDQUFDQyxNQUFNO0lBR3hCLE1BQU1DLFVBQW1ELEVBQUU7SUFDM0QsSUFBSUMsWUFBb0I7SUFDeEIsSUFBSUMsYUFBcUI7SUFDekIsTUFBTUMsVUFBVSxDQUFDQztRQUNmLElBQUloQixHQUFHaUIsa0JBQWtCLENBQUNELE9BQU87WUFDL0IsSUFBSUEsS0FBS0UsSUFBSSxJQUFJbEIsR0FBR21CLFlBQVksQ0FBQ0gsS0FBS0UsSUFBSSxHQUFHO2dCQUMzQ0wsWUFBWUcsS0FBS0Us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
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { type PathLike } from "fs";
|
|
2
1
|
import type { AbsolutePath } from "../utils/path-utils";
|
|
3
2
|
/**
|
|
4
3
|
* 체크섬 파일에 저장된 내용과 현재 실제 파일의 체크섬을 비교하여 변경된 파일을 찾습니다.
|
|
@@ -10,17 +9,4 @@ export declare function findChangedFilesUsingChecksums(): Promise<AbsolutePath[]
|
|
|
10
9
|
* 현재 파일들의 체크섬을 계산해서 구한 다음, 체크섬 파일에 저장된 내용과 다르면 체크섬 파일을 갱신합니다.
|
|
11
10
|
*/
|
|
12
11
|
export declare function renewChecksums(): Promise<void>;
|
|
13
|
-
export type FileOrData = {
|
|
14
|
-
path: PathLike;
|
|
15
|
-
} | {
|
|
16
|
-
data: string;
|
|
17
|
-
};
|
|
18
|
-
/**
|
|
19
|
-
* 두 파일의 내용이 같은지 체크섬으로 비교합니다.
|
|
20
|
-
* 만약 파일이 둘 중 하나라도 없다면 비교 불가로 false 반환합니다.
|
|
21
|
-
* @param one 파일 경로 혹은 데이터
|
|
22
|
-
* @param two 파일 경로 혹은 데이터
|
|
23
|
-
* @returns boolean
|
|
24
|
-
*/
|
|
25
|
-
export declare function areFilesSame(...files: FileOrData[]): Promise<boolean>;
|
|
26
12
|
//# sourceMappingURL=checksum.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checksum.d.ts","sourceRoot":"","sources":["../../src/syncer/checksum.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"checksum.d.ts","sourceRoot":"","sources":["../../src/syncer/checksum.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAmB,MAAM,qBAAqB,CAAC;AASzE;;;GAGG;AACH,wBAAsB,8BAA8B,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAU9E;AAED;;;GAGG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAUpD"}
|
package/dist/syncer/checksum.js
CHANGED
|
@@ -33,23 +33,6 @@ import { getChecksumPatternGroupInAbsolutePath } from "./file-patterns.js";
|
|
|
33
33
|
}
|
|
34
34
|
await saveChecksums(calculatedChecksums);
|
|
35
35
|
}
|
|
36
|
-
/**
|
|
37
|
-
* 두 파일의 내용이 같은지 체크섬으로 비교합니다.
|
|
38
|
-
* 만약 파일이 둘 중 하나라도 없다면 비교 불가로 false 반환합니다.
|
|
39
|
-
* @param one 파일 경로 혹은 데이터
|
|
40
|
-
* @param two 파일 경로 혹은 데이터
|
|
41
|
-
* @returns boolean
|
|
42
|
-
*/ export async function areFilesSame(...files) {
|
|
43
|
-
const checksums = [];
|
|
44
|
-
for (const file of files){
|
|
45
|
-
if ("path" in file && !await exists(file.path)) {
|
|
46
|
-
return false;
|
|
47
|
-
}
|
|
48
|
-
checksums.push("path" in file ? await getChecksumOfFile(file.path) : getChecksumOfData(file.data));
|
|
49
|
-
}
|
|
50
|
-
// 모든 체크섬이 첫 번째 체크섬과 같은지 확인
|
|
51
|
-
return checksums.every((checksum)=>checksum === checksums[0]);
|
|
52
|
-
}
|
|
53
36
|
async function getCurrentChecksums() {
|
|
54
37
|
const filePaths = (await Promise.all(Object.entries(getChecksumPatternGroupInAbsolutePath()).map(async ([_fileType, pattern])=>{
|
|
55
38
|
return globAsync(pattern);
|
|
@@ -89,11 +72,6 @@ async function saveChecksums(checksums) {
|
|
|
89
72
|
checksum: r.checksum
|
|
90
73
|
})), null, 2), "utf-8");
|
|
91
74
|
}
|
|
92
|
-
function getChecksumOfData(data) {
|
|
93
|
-
const hash = crypto.createHash("sha1");
|
|
94
|
-
hash.update(data);
|
|
95
|
-
return hash.digest("hex");
|
|
96
|
-
}
|
|
97
75
|
async function getChecksumOfFile(filePath) {
|
|
98
76
|
return new Promise((resolve, reject)=>{
|
|
99
77
|
const hash = crypto.createHash("sha1");
|
|
@@ -108,4 +86,4 @@ async function getChecksumOfFile(filePath) {
|
|
|
108
86
|
});
|
|
109
87
|
}
|
|
110
88
|
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zeW5jZXIvY2hlY2tzdW0udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNyeXB0bywgeyB0eXBlIEJpbmFyeUxpa2UgfSBmcm9tIFwiY3J5cHRvXCI7XG5pbXBvcnQgZXF1YWwgZnJvbSBcImZhc3QtZGVlcC1lcXVhbFwiO1xuaW1wb3J0IHsgY3JlYXRlUmVhZFN0cmVhbSwgdHlwZSBQYXRoTGlrZSB9IGZyb20gXCJmc1wiO1xuaW1wb3J0IHsgcmVhZEZpbGUsIHdyaXRlRmlsZSB9IGZyb20gXCJmcy9wcm9taXNlc1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tIFwicmFkYXNoaVwiO1xuaW1wb3J0IHsgU29uYW11IH0gZnJvbSBcIi4uL2FwaS9zb25hbXVcIjtcbmltcG9ydCB7IGdsb2JBc3luYyB9IGZyb20gXCIuLi91dGlscy9hc3luYy11dGlsc1wiO1xuaW1wb3J0IHsgZXhpc3RzIH0gZnJvbSBcIi4uL3V0aWxzL2ZzLXV0aWxzXCI7XG5pbXBvcnQgdHlwZSB7IEFic29sdXRlUGF0aCwgQXBpUmVsYXRpdmVQYXRoIH0gZnJvbSBcIi4uL3V0aWxzL3BhdGgtdXRpbHNcIjtcbmltcG9ydCB7IGRpZmZlcmVuY2VXaXRoIH0gZnJvbSBcIi4uL3V0aWxzL3V0aWxzXCI7XG5pbXBvcnQgeyBnZXRDaGVja3N1bVBhdHRlcm5Hcm91cEluQWJzb2x1dGVQYXRoIH0gZnJvbSBcIi4vZmlsZS1wYXR0ZXJuc1wiO1xuXG50eXBlIFBhdGhBbmRDaGVja3N1bSA9IHtcbiAgcGF0aDogQWJzb2x1dGVQYXRoO1xuICBjaGVja3N1bTogc3RyaW5nO1xufTtcblxuLyoqXG4gKiDssrTtgazshKwg7YyM7J287JeQIOyggOyepeuQnCDrgrTsmqnqs7wg7ZiE7J6sIOyLpOygnCDtjIzsnbzsnZgg7LK07YGs7ISs7J2EIOu5hOq1kO2VmOyXrCDrs4Dqsr3rkJwg7YyM7J287J2EIOywvuyKteuLiOuLpC5cbiAqIEByZXR1cm5zIOuzgOqyveuQnCDtjIzsnbwg6rK966GcIOuwsOyXtC4g7ZSE66Gc7KCd7Yq4IOujqO2KuOu2gO2EsCDsiqzrnpjsi5zroZwg7Iuc7J6R7ZWp64uI64ukLiDsmIjsi5w6IFwiL3NyYy9hcHBsaWNhdGlvbi91c2VyL3VzZXIubW9kZWwudHNcIlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmluZENoYW5nZWRGaWxlc1VzaW5nQ2hlY2tzdW1zKCk6IFByb21pc2U8QWJzb2x1dGVQYXRoW10+IHtcbiAgY29uc3QgY2FsY3VsYXRlZENoZWNrc3VtcyA9IGF3YWl0IGdldEN1cnJlbnRDaGVja3N1bXMoKTtcbiAgY29uc3Qgc2F2ZWRDaGVja3N1bXMgPSBhd2FpdCBnZXRQcmV2aW91c0NoZWNrc3VtcygpO1xuXG4gIGNvbnN0IGlzU2FtZSA9IGVxdWFsKGNhbGN1bGF0ZWRDaGVja3N1bXMsIHNhdmVkQ2hlY2tzdW1zKTtcbiAgaWYgKGlzU2FtZSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHJldHVybiBkaWZmZXJlbmNlV2l0aChjYWxjdWxhdGVkQ2hlY2tzdW1zLCBzYXZlZENoZWNrc3VtcywgaXNFcXVhbCkubWFwKChyKSA9PiByLnBhdGgpO1xufVxuXG4vKipcbiAqIOyytO2BrOyErOydhCDqsLHsi6Dtlanri4jri6QuXG4gKiDtmITsnqwg7YyM7J2865Ok7J2YIOyytO2BrOyErOydhCDqs4TsgrDtlbTshJwg6rWs7ZWcIOuLpOydjCwg7LK07YGs7ISsIO2MjOydvOyXkCDsoIDsnqXrkJwg64K07Jqp6rO8IOuLpOultOuptCDssrTtgazshKwg7YyM7J287J2EIOqwseyLoO2VqeuLiOuLpC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlbmV3Q2hlY2tzdW1zKCk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBjYWxjdWxhdGVkQ2hlY2tzdW1zID0gYXdhaXQgZ2V0Q3VycmVudENoZWNrc3VtcygpO1xuICBjb25zdCBzYXZlZENoZWNrc3VtcyA9IGF3YWl0IGdldFByZXZpb3VzQ2hlY2tzdW1zKCk7XG5cbiAgY29uc3QgaXNTYW1lID0gZXF1YWwoY2FsY3VsYXRlZENoZWNrc3Vtcywgc2F2ZWRDaGVja3N1bXMpO1xuICBpZiAoaXNTYW1lKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgYXdhaXQgc2F2ZUNoZWNrc3VtcyhjYWxjdWxhdGVkQ2hlY2tzdW1zKTtcbn1cblxuZXhwb3J0IHR5cGUgRmlsZU9yRGF0YSA9XG4gIHwge1xuICAgICAgcGF0aDogUGF0aExpa2U7XG4gICAgfVxuICB8IHtcbiAgICAgIGRhdGE6IHN0cmluZztcbiAgICB9O1xuXG4vKipcbiAqIOuRkCDtjIzsnbzsnZgg64K07Jqp7J20IOqwmeydgOyngCDssrTtgazshKzsnLzroZwg67mE6rWQ7ZWp64uI64ukLlxuICog66eM7JW9IO2MjOydvOydtCDrkZgg7KSRIO2VmOuCmOudvOuPhCDsl4bri6TrqbQg67mE6rWQIOu2iOqwgOuhnCBmYWxzZSDrsJjtmZjtlanri4jri6QuXG4gKiBAcGFyYW0gb25lIO2MjOydvCDqsr3roZwg7Zi57J2AIOuNsOydtO2EsFxuICogQHBhcmFtIHR3byDtjIzsnbwg6rK966GcIO2YueydgCDrjbDsnbTthLBcbiAqIEByZXR1cm5zIGJvb2xlYW5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFyZUZpbGVzU2FtZSguLi5maWxlczogRmlsZU9yRGF0YVtdKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGNvbnN0IGNoZWNrc3Vtczogc3RyaW5nW10gPSBbXTtcblxuICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICBpZiAoXCJwYXRoXCIgaW4gZmlsZSAmJiAhKGF3YWl0IGV4aXN0cyhmaWxlLnBhdGgpKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNoZWNrc3Vtcy5wdXNoKFxuICAgICAgXCJwYXRoXCIgaW4gZmlsZSA/IGF3YWl0IGdldENoZWNrc3VtT2ZGaWxlKGZpbGUucGF0aCkgOiBnZXRDaGVja3N1bU9mRGF0YShmaWxlLmRhdGEpLFxuICAgICk7XG4gIH1cblxuICAvLyDrqqjrk6Ag7LK07YGs7ISs7J20IOyyqyDrsojsp7gg7LK07YGs7ISs6rO8IOqwmeydgOyngCDtmZXsnbhcbiAgcmV0dXJuIGNoZWNrc3Vtcy5ldmVyeSgoY2hlY2tzdW0pID0+IGNoZWNrc3VtID09PSBjaGVja3N1bXNbMF0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRDdXJyZW50Q2hlY2tzdW1zKCk6IFByb21pc2U8UGF0aEFuZENoZWNrc3VtW10+IHtcbiAgY29uc3QgZmlsZVBhdGhzID0gKFxuICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgT2JqZWN0LmVudHJpZXMoZ2V0Q2hlY2tzdW1QYXR0ZXJuR3JvdXBJbkFic29sdXRlUGF0aCgpKS5tYXAoYXN5bmMgKFtfZmlsZVR5cGUsIHBhdHRlcm5dKSA9PiB7XG4gICAgICAgIHJldHVybiBnbG9iQXN5bmMocGF0dGVybikgYXMgUHJvbWlzZTxBYnNvbHV0ZVBhdGhbXT47XG4gICAgICB9KSxcbiAgICApXG4gIClcbiAgICAuZmxhdCgpXG4gICAgLnNvcnQoKTtcblxuICBjb25zdCBmaWxlQ2hlY2tzdW1zID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgZmlsZVBhdGhzLm1hcChhc3luYyAoZmlsZVBhdGgpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBhdGg6IGZpbGVQYXRoLFxuICAgICAgICBjaGVja3N1bTogYXdhaXQgZ2V0Q2hlY2tzdW1PZkZpbGUoZmlsZVBhdGgpLFxuICAgICAgfTtcbiAgICB9KSxcbiAgKTtcblxuICByZXR1cm4gZmlsZUNoZWNrc3Vtcztcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0UHJldmlvdXNDaGVja3N1bXMoKTogUHJvbWlzZTxQYXRoQW5kQ2hlY2tzdW1bXT4ge1xuICBjb25zdCBjaGVja3N1bUZpbGVQYXRoID0gZ2V0Q2hlY2tzdW1GaWxlUGF0aCgpO1xuICBpZiAoIShhd2FpdCBleGlzdHMoY2hlY2tzdW1GaWxlUGF0aCkpKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBwcmV2aW91c0NoZWNrc3VtcyA9IEpTT04ucGFyc2UoYXdhaXQgcmVhZEZpbGUoY2hlY2tzdW1GaWxlUGF0aCwgXCJ1dGYtOFwiKSkubWFwKFxuICAgICAgKHI6IHsgcGF0aDogQXBpUmVsYXRpdmVQYXRoOyBjaGVja3N1bTogc3RyaW5nIH0pID0+ICh7XG4gICAgICAgIHBhdGg6IHBhdGguam9pbihTb25hbXUuYXBpUm9vdFBhdGgsIHIucGF0aCksIC8vIOyytO2BrOyErCDtjIzsnbzsl5DshJwg7J297J2EIOuVjDogQVBJIOyDgeuMgCDqsr3roZwg4oaSIOygiOuMgCDqsr3roZxcbiAgICAgICAgY2hlY2tzdW06IHIuY2hlY2tzdW0sXG4gICAgICB9KSxcbiAgICApIGFzIFBhdGhBbmRDaGVja3N1bVtdO1xuICAgIHJldHVybiBwcmV2aW91c0NoZWNrc3VtcztcbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIOyytO2BrOyErCDtjIzsnbzsnbQg7IaQ7IOB65CcIOqyveyasCDruYgg67Cw7Je0IOuwmO2ZmCAo7KCE7LK0IOyerOuPmeq4sO2ZlCDsnKDrj4QpXG4gICAgY29uc29sZS53YXJuKFxuICAgICAgYOyytO2BrOyErCDtjIzsnbwoJHtjaGVja3N1bUZpbGVQYXRofSnsnYQg7YyM7Iux7ZWY64qUIOuNsCDsi6TtjKjtlojsirXri4jri6QuIOyghOyytCDsnqzrj5nquLDtmZTrpbwg7KeE7ZaJ7ZWp64uI64ukLmAsXG4gICAgICBlLFxuICAgICk7XG4gICAgcmV0dXJuIFtdO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldENoZWNrc3VtRmlsZVBhdGgoKTogQWJzb2x1dGVQYXRoIHtcbiAgcmV0dXJuIHBhdGguam9pbihTb25hbXUuYXBpUm9vdFBhdGgsIFwic29uYW11LmxvY2tcIikgYXMgQWJzb2x1dGVQYXRoO1xufVxuXG5hc3luYyBmdW5jdGlvbiBzYXZlQ2hlY2tzdW1zKGNoZWNrc3VtczogUGF0aEFuZENoZWNrc3VtW10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgY2hlY2tzdW1GaWxlUGF0aCA9IGdldENoZWNrc3VtRmlsZVBhdGgoKTtcbiAgYXdhaXQgd3JpdGVGaWxlKFxuICAgIGNoZWNrc3VtRmlsZVBhdGgsXG4gICAgSlNPTi5zdHJpbmdpZnkoXG4gICAgICBjaGVja3N1bXMubWFwKChyKSA9PiAoe1xuICAgICAgICBwYXRoOiBwYXRoLnJlbGF0aXZlKFNvbmFtdS5hcGlSb290UGF0aCwgci5wYXRoKSwgLy8g7LK07YGs7ISsIO2MjOydvOyXkCDsoIDsnqXtlaAg65WMOiDsoIjrjIAg6rK966GcIOKGkiBBUEkg7IOB64yAIOqyveuhnFxuICAgICAgICBjaGVja3N1bTogci5jaGVja3N1bSxcbiAgICAgIH0pKSxcbiAgICAgIG51bGwsXG4gICAgICAyLFxuICAgICksXG4gICAgXCJ1dGYtOFwiLFxuICApO1xufVxuXG5mdW5jdGlvbiBnZXRDaGVja3N1bU9mRGF0YShkYXRhOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBoYXNoID0gY3J5cHRvLmNyZWF0ZUhhc2goXCJzaGExXCIpO1xuICBoYXNoLnVwZGF0ZShkYXRhKTtcbiAgcmV0dXJuIGhhc2guZGlnZXN0KFwiaGV4XCIpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRDaGVja3N1bU9mRmlsZShmaWxlUGF0aDogUGF0aExpa2UpOiBQcm9taXNlPHN0cmluZz4ge1xuICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgaGFzaCA9IGNyeXB0by5jcmVhdGVIYXNoKFwic2hhMVwiKTtcbiAgICBjb25zdCBpbnB1dCA9IGNyZWF0ZVJlYWRTdHJlYW0oZmlsZVBhdGgpO1xuICAgIGlucHV0Lm9uKFwiZXJyb3JcIiwgcmVqZWN0KTtcbiAgICBpbnB1dC5vbihcImRhdGFcIiwgKGNodW5rOiBCaW5hcnlMaWtlKSA9PiB7XG4gICAgICBoYXNoLnVwZGF0ZShjaHVuayk7XG4gICAgfSk7XG4gICAgaW5wdXQub24oXCJjbG9zZVwiLCAoKSA9PiB7XG4gICAgICByZXNvbHZlKGhhc2guZGlnZXN0KFwiaGV4XCIpKTtcbiAgICB9KTtcbiAgfSk7XG59XG4iXSwibmFtZXMiOlsiY3J5cHRvIiwiZXF1YWwiLCJjcmVhdGVSZWFkU3RyZWFtIiwicmVhZEZpbGUiLCJ3cml0ZUZpbGUiLCJwYXRoIiwiaXNFcXVhbCIsIlNvbmFtdSIsImdsb2JBc3luYyIsImV4aXN0cyIsImRpZmZlcmVuY2VXaXRoIiwiZ2V0Q2hlY2tzdW1QYXR0ZXJuR3JvdXBJbkFic29sdXRlUGF0aCIsImZpbmRDaGFuZ2VkRmlsZXNVc2luZ0NoZWNrc3VtcyIsImNhbGN1bGF0ZWRDaGVja3N1bXMiLCJnZXRDdXJyZW50Q2hlY2tzdW1zIiwic2F2ZWRDaGVja3N1bXMiLCJnZXRQcmV2aW91c0NoZWNrc3VtcyIsImlzU2FtZSIsIm1hcCIsInIiLCJyZW5ld0NoZWNrc3VtcyIsInNhdmVDaGVja3N1bXMiLCJhcmVGaWxlc1NhbWUiLCJmaWxlcyIsImNoZWNrc3VtcyIsImZpbGUiLCJwdXNoIiwiZ2V0Q2hlY2tzdW1PZkZpbGUiLCJnZXRDaGVja3N1bU9mRGF0YSIsImRhdGEiLCJldmVyeSIsImNoZWNrc3VtIiwiZmlsZVBhdGhzIiwiUHJvbWlzZSIsImFsbCIsIk9iamVjdCIsImVudHJpZXMiLCJfZmlsZVR5cGUiLCJwYXR0ZXJuIiwiZmxhdCIsInNvcnQiLCJmaWxlQ2hlY2tzdW1zIiwiZmlsZVBhdGgiLCJjaGVja3N1bUZpbGVQYXRoIiwiZ2V0Q2hlY2tzdW1GaWxlUGF0aCIsInByZXZpb3VzQ2hlY2tzdW1zIiwiSlNPTiIsInBhcnNlIiwiam9pbiIsImFwaVJvb3RQYXRoIiwiZSIsImNvbnNvbGUiLCJ3YXJuIiwic3RyaW5naWZ5IiwicmVsYXRpdmUiLCJoYXNoIiwiY3JlYXRlSGFzaCIsInVwZGF0ZSIsImRpZ2VzdCIsInJlc29sdmUiLCJyZWplY3QiLCJpbnB1dCIsIm9uIiwiY2h1bmsiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFlB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
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zeW5jZXIvY2hlY2tzdW0udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNyeXB0bywgeyB0eXBlIEJpbmFyeUxpa2UgfSBmcm9tIFwiY3J5cHRvXCI7XG5pbXBvcnQgZXF1YWwgZnJvbSBcImZhc3QtZGVlcC1lcXVhbFwiO1xuaW1wb3J0IHsgY3JlYXRlUmVhZFN0cmVhbSwgdHlwZSBQYXRoTGlrZSB9IGZyb20gXCJmc1wiO1xuaW1wb3J0IHsgcmVhZEZpbGUsIHdyaXRlRmlsZSB9IGZyb20gXCJmcy9wcm9taXNlc1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tIFwicmFkYXNoaVwiO1xuaW1wb3J0IHsgU29uYW11IH0gZnJvbSBcIi4uL2FwaS9zb25hbXVcIjtcbmltcG9ydCB7IGdsb2JBc3luYyB9IGZyb20gXCIuLi91dGlscy9hc3luYy11dGlsc1wiO1xuaW1wb3J0IHsgZXhpc3RzIH0gZnJvbSBcIi4uL3V0aWxzL2ZzLXV0aWxzXCI7XG5pbXBvcnQgdHlwZSB7IEFic29sdXRlUGF0aCwgQXBpUmVsYXRpdmVQYXRoIH0gZnJvbSBcIi4uL3V0aWxzL3BhdGgtdXRpbHNcIjtcbmltcG9ydCB7IGRpZmZlcmVuY2VXaXRoIH0gZnJvbSBcIi4uL3V0aWxzL3V0aWxzXCI7XG5pbXBvcnQgeyBnZXRDaGVja3N1bVBhdHRlcm5Hcm91cEluQWJzb2x1dGVQYXRoIH0gZnJvbSBcIi4vZmlsZS1wYXR0ZXJuc1wiO1xuXG50eXBlIFBhdGhBbmRDaGVja3N1bSA9IHtcbiAgcGF0aDogQWJzb2x1dGVQYXRoO1xuICBjaGVja3N1bTogc3RyaW5nO1xufTtcblxuLyoqXG4gKiDssrTtgazshKwg7YyM7J287JeQIOyggOyepeuQnCDrgrTsmqnqs7wg7ZiE7J6sIOyLpOygnCDtjIzsnbzsnZgg7LK07YGs7ISs7J2EIOu5hOq1kO2VmOyXrCDrs4Dqsr3rkJwg7YyM7J287J2EIOywvuyKteuLiOuLpC5cbiAqIEByZXR1cm5zIOuzgOqyveuQnCDtjIzsnbwg6rK966GcIOuwsOyXtC4g7ZSE66Gc7KCd7Yq4IOujqO2KuOu2gO2EsCDsiqzrnpjsi5zroZwg7Iuc7J6R7ZWp64uI64ukLiDsmIjsi5w6IFwiL3NyYy9hcHBsaWNhdGlvbi91c2VyL3VzZXIubW9kZWwudHNcIlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmluZENoYW5nZWRGaWxlc1VzaW5nQ2hlY2tzdW1zKCk6IFByb21pc2U8QWJzb2x1dGVQYXRoW10+IHtcbiAgY29uc3QgY2FsY3VsYXRlZENoZWNrc3VtcyA9IGF3YWl0IGdldEN1cnJlbnRDaGVja3N1bXMoKTtcbiAgY29uc3Qgc2F2ZWRDaGVja3N1bXMgPSBhd2FpdCBnZXRQcmV2aW91c0NoZWNrc3VtcygpO1xuXG4gIGNvbnN0IGlzU2FtZSA9IGVxdWFsKGNhbGN1bGF0ZWRDaGVja3N1bXMsIHNhdmVkQ2hlY2tzdW1zKTtcbiAgaWYgKGlzU2FtZSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHJldHVybiBkaWZmZXJlbmNlV2l0aChjYWxjdWxhdGVkQ2hlY2tzdW1zLCBzYXZlZENoZWNrc3VtcywgaXNFcXVhbCkubWFwKChyKSA9PiByLnBhdGgpO1xufVxuXG4vKipcbiAqIOyytO2BrOyErOydhCDqsLHsi6Dtlanri4jri6QuXG4gKiDtmITsnqwg7YyM7J2865Ok7J2YIOyytO2BrOyErOydhCDqs4TsgrDtlbTshJwg6rWs7ZWcIOuLpOydjCwg7LK07YGs7ISsIO2MjOydvOyXkCDsoIDsnqXrkJwg64K07Jqp6rO8IOuLpOultOuptCDssrTtgazshKwg7YyM7J287J2EIOqwseyLoO2VqeuLiOuLpC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlbmV3Q2hlY2tzdW1zKCk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBjYWxjdWxhdGVkQ2hlY2tzdW1zID0gYXdhaXQgZ2V0Q3VycmVudENoZWNrc3VtcygpO1xuICBjb25zdCBzYXZlZENoZWNrc3VtcyA9IGF3YWl0IGdldFByZXZpb3VzQ2hlY2tzdW1zKCk7XG5cbiAgY29uc3QgaXNTYW1lID0gZXF1YWwoY2FsY3VsYXRlZENoZWNrc3Vtcywgc2F2ZWRDaGVja3N1bXMpO1xuICBpZiAoaXNTYW1lKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgYXdhaXQgc2F2ZUNoZWNrc3VtcyhjYWxjdWxhdGVkQ2hlY2tzdW1zKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0Q3VycmVudENoZWNrc3VtcygpOiBQcm9taXNlPFBhdGhBbmRDaGVja3N1bVtdPiB7XG4gIGNvbnN0IGZpbGVQYXRocyA9IChcbiAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIE9iamVjdC5lbnRyaWVzKGdldENoZWNrc3VtUGF0dGVybkdyb3VwSW5BYnNvbHV0ZVBhdGgoKSkubWFwKGFzeW5jIChbX2ZpbGVUeXBlLCBwYXR0ZXJuXSkgPT4ge1xuICAgICAgICByZXR1cm4gZ2xvYkFzeW5jKHBhdHRlcm4pIGFzIFByb21pc2U8QWJzb2x1dGVQYXRoW10+O1xuICAgICAgfSksXG4gICAgKVxuICApXG4gICAgLmZsYXQoKVxuICAgIC5zb3J0KCk7XG5cbiAgY29uc3QgZmlsZUNoZWNrc3VtcyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgIGZpbGVQYXRocy5tYXAoYXN5bmMgKGZpbGVQYXRoKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwYXRoOiBmaWxlUGF0aCxcbiAgICAgICAgY2hlY2tzdW06IGF3YWl0IGdldENoZWNrc3VtT2ZGaWxlKGZpbGVQYXRoKSxcbiAgICAgIH07XG4gICAgfSksXG4gICk7XG5cbiAgcmV0dXJuIGZpbGVDaGVja3N1bXM7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldFByZXZpb3VzQ2hlY2tzdW1zKCk6IFByb21pc2U8UGF0aEFuZENoZWNrc3VtW10+IHtcbiAgY29uc3QgY2hlY2tzdW1GaWxlUGF0aCA9IGdldENoZWNrc3VtRmlsZVBhdGgoKTtcbiAgaWYgKCEoYXdhaXQgZXhpc3RzKGNoZWNrc3VtRmlsZVBhdGgpKSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgY29uc3QgcHJldmlvdXNDaGVja3N1bXMgPSBKU09OLnBhcnNlKGF3YWl0IHJlYWRGaWxlKGNoZWNrc3VtRmlsZVBhdGgsIFwidXRmLThcIikpLm1hcChcbiAgICAgIChyOiB7IHBhdGg6IEFwaVJlbGF0aXZlUGF0aDsgY2hlY2tzdW06IHN0cmluZyB9KSA9PiAoe1xuICAgICAgICBwYXRoOiBwYXRoLmpvaW4oU29uYW11LmFwaVJvb3RQYXRoLCByLnBhdGgpLCAvLyDssrTtgazshKwg7YyM7J287JeQ7IScIOydveydhCDrlYw6IEFQSSDsg4HrjIAg6rK966GcIOKGkiDsoIjrjIAg6rK966GcXG4gICAgICAgIGNoZWNrc3VtOiByLmNoZWNrc3VtLFxuICAgICAgfSksXG4gICAgKSBhcyBQYXRoQW5kQ2hlY2tzdW1bXTtcbiAgICByZXR1cm4gcHJldmlvdXNDaGVja3N1bXM7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyDssrTtgazshKwg7YyM7J287J20IOyGkOyDgeuQnCDqsr3smrAg67mIIOuwsOyXtCDrsJjtmZggKOyghOyytCDsnqzrj5nquLDtmZQg7Jyg64+EKVxuICAgIGNvbnNvbGUud2FybihcbiAgICAgIGDssrTtgazshKwg7YyM7J28KCR7Y2hlY2tzdW1GaWxlUGF0aH0p7J2EIO2MjOyLse2VmOuKlCDrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukLiDsoITssrQg7J6s64+Z6riw7ZmU66W8IOynhO2Wie2VqeuLiOuLpC5gLFxuICAgICAgZSxcbiAgICApO1xuICAgIHJldHVybiBbXTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRDaGVja3N1bUZpbGVQYXRoKCk6IEFic29sdXRlUGF0aCB7XG4gIHJldHVybiBwYXRoLmpvaW4oU29uYW11LmFwaVJvb3RQYXRoLCBcInNvbmFtdS5sb2NrXCIpIGFzIEFic29sdXRlUGF0aDtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc2F2ZUNoZWNrc3VtcyhjaGVja3N1bXM6IFBhdGhBbmRDaGVja3N1bVtdKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGNoZWNrc3VtRmlsZVBhdGggPSBnZXRDaGVja3N1bUZpbGVQYXRoKCk7XG4gIGF3YWl0IHdyaXRlRmlsZShcbiAgICBjaGVja3N1bUZpbGVQYXRoLFxuICAgIEpTT04uc3RyaW5naWZ5KFxuICAgICAgY2hlY2tzdW1zLm1hcCgocikgPT4gKHtcbiAgICAgICAgcGF0aDogcGF0aC5yZWxhdGl2ZShTb25hbXUuYXBpUm9vdFBhdGgsIHIucGF0aCksIC8vIOyytO2BrOyErCDtjIzsnbzsl5Ag7KCA7J6l7ZWgIOuVjDog7KCI64yAIOqyveuhnCDihpIgQVBJIOyDgeuMgCDqsr3roZxcbiAgICAgICAgY2hlY2tzdW06IHIuY2hlY2tzdW0sXG4gICAgICB9KSksXG4gICAgICBudWxsLFxuICAgICAgMixcbiAgICApLFxuICAgIFwidXRmLThcIixcbiAgKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0Q2hlY2tzdW1PZkZpbGUoZmlsZVBhdGg6IFBhdGhMaWtlKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IGhhc2ggPSBjcnlwdG8uY3JlYXRlSGFzaChcInNoYTFcIik7XG4gICAgY29uc3QgaW5wdXQgPSBjcmVhdGVSZWFkU3RyZWFtKGZpbGVQYXRoKTtcbiAgICBpbnB1dC5vbihcImVycm9yXCIsIHJlamVjdCk7XG4gICAgaW5wdXQub24oXCJkYXRhXCIsIChjaHVuazogQmluYXJ5TGlrZSkgPT4ge1xuICAgICAgaGFzaC51cGRhdGUoY2h1bmspO1xuICAgIH0pO1xuICAgIGlucHV0Lm9uKFwiY2xvc2VcIiwgKCkgPT4ge1xuICAgICAgcmVzb2x2ZShoYXNoLmRpZ2VzdChcImhleFwiKSk7XG4gICAgfSk7XG4gIH0pO1xufVxuIl0sIm5hbWVzIjpbImNyeXB0byIsImVxdWFsIiwiY3JlYXRlUmVhZFN0cmVhbSIsInJlYWRGaWxlIiwid3JpdGVGaWxlIiwicGF0aCIsImlzRXF1YWwiLCJTb25hbXUiLCJnbG9iQXN5bmMiLCJleGlzdHMiLCJkaWZmZXJlbmNlV2l0aCIsImdldENoZWNrc3VtUGF0dGVybkdyb3VwSW5BYnNvbHV0ZVBhdGgiLCJmaW5kQ2hhbmdlZEZpbGVzVXNpbmdDaGVja3N1bXMiLCJjYWxjdWxhdGVkQ2hlY2tzdW1zIiwiZ2V0Q3VycmVudENoZWNrc3VtcyIsInNhdmVkQ2hlY2tzdW1zIiwiZ2V0UHJldmlvdXNDaGVja3N1bXMiLCJpc1NhbWUiLCJtYXAiLCJyIiwicmVuZXdDaGVja3N1bXMiLCJzYXZlQ2hlY2tzdW1zIiwiZmlsZVBhdGhzIiwiUHJvbWlzZSIsImFsbCIsIk9iamVjdCIsImVudHJpZXMiLCJfZmlsZVR5cGUiLCJwYXR0ZXJuIiwiZmxhdCIsInNvcnQiLCJmaWxlQ2hlY2tzdW1zIiwiZmlsZVBhdGgiLCJjaGVja3N1bSIsImdldENoZWNrc3VtT2ZGaWxlIiwiY2hlY2tzdW1GaWxlUGF0aCIsImdldENoZWNrc3VtRmlsZVBhdGgiLCJwcmV2aW91c0NoZWNrc3VtcyIsIkpTT04iLCJwYXJzZSIsImpvaW4iLCJhcGlSb290UGF0aCIsImUiLCJjb25zb2xlIiwid2FybiIsImNoZWNrc3VtcyIsInN0cmluZ2lmeSIsInJlbGF0aXZlIiwicmVzb2x2ZSIsInJlamVjdCIsImhhc2giLCJjcmVhdGVIYXNoIiwiaW5wdXQiLCJvbiIsImNodW5rIiwidXBkYXRlIiwiZGlnZXN0Il0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxZQUFpQyxTQUFTO0FBQ2pELE9BQU9DLFdBQVcsa0JBQWtCO0FBQ3BDLFNBQVNDLGdCQUFnQixRQUF1QixLQUFLO0FBQ3JELFNBQVNDLFFBQVEsRUFBRUMsU0FBUyxRQUFRLG1CQUFjO0FBQ2xELE9BQU9DLFVBQVUsT0FBTztBQUN4QixTQUFTQyxPQUFPLFFBQVEsVUFBVTtBQUNsQyxTQUFTQyxNQUFNLFFBQVEsbUJBQWdCO0FBQ3ZDLFNBQVNDLFNBQVMsUUFBUSwwQkFBdUI7QUFDakQsU0FBU0MsTUFBTSxRQUFRLHVCQUFvQjtBQUUzQyxTQUFTQyxjQUFjLFFBQVEsb0JBQWlCO0FBQ2hELFNBQVNDLHFDQUFxQyxRQUFRLHFCQUFrQjtBQU94RTs7O0NBR0MsR0FDRCxPQUFPLGVBQWVDO0lBQ3BCLE1BQU1DLHNCQUFzQixNQUFNQztJQUNsQyxNQUFNQyxpQkFBaUIsTUFBTUM7SUFFN0IsTUFBTUMsU0FBU2hCLE1BQU1ZLHFCQUFxQkU7SUFDMUMsSUFBSUUsUUFBUTtRQUNWLE9BQU8sRUFBRTtJQUNYO0lBRUEsT0FBT1AsZUFBZUcscUJBQXFCRSxnQkFBZ0JULFNBQVNZLEdBQUcsQ0FBQyxDQUFDQyxJQUFNQSxFQUFFZCxJQUFJO0FBQ3ZGO0FBRUE7OztDQUdDLEdBQ0QsT0FBTyxlQUFlZTtJQUNwQixNQUFNUCxzQkFBc0IsTUFBTUM7SUFDbEMsTUFBTUMsaUJBQWlCLE1BQU1DO0lBRTdCLE1BQU1DLFNBQVNoQixNQUFNWSxxQkFBcUJFO0lBQzFDLElBQUlFLFFBQVE7UUFDVjtJQUNGO0lBRUEsTUFBTUksY0FBY1I7QUFDdEI7QUFFQSxlQUFlQztJQUNiLE1BQU1RLFlBQVksQUFDaEIsQ0FBQSxNQUFNQyxRQUFRQyxHQUFHLENBQ2ZDLE9BQU9DLE9BQU8sQ0FBQ2YseUNBQXlDTyxHQUFHLENBQUMsT0FBTyxDQUFDUyxXQUFXQyxRQUFRO1FBQ3JGLE9BQU9wQixVQUFVb0I7SUFDbkIsR0FDRixFQUVDQyxJQUFJLEdBQ0pDLElBQUk7SUFFUCxNQUFNQyxnQkFBZ0IsTUFBTVIsUUFBUUMsR0FBRyxDQUNyQ0YsVUFBVUosR0FBRyxDQUFDLE9BQU9jO1FBQ25CLE9BQU87WUFDTDNCLE1BQU0yQjtZQUNOQyxVQUFVLE1BQU1DLGtCQUFrQkY7UUFDcEM7SUFDRjtJQUdGLE9BQU9EO0FBQ1Q7QUFFQSxlQUFlZjtJQUNiLE1BQU1tQixtQkFBbUJDO0lBQ3pCLElBQUksQ0FBRSxNQUFNM0IsT0FBTzBCLG1CQUFvQjtRQUNyQyxPQUFPLEVBQUU7SUFDWDtJQUVBLElBQUk7UUFDRixNQUFNRSxvQkFBb0JDLEtBQUtDLEtBQUssQ0FBQyxNQUFNcEMsU0FBU2dDLGtCQUFrQixVQUFVakIsR0FBRyxDQUNqRixDQUFDQyxJQUFvRCxDQUFBO2dCQUNuRGQsTUFBTUEsS0FBS21DLElBQUksQ0FBQ2pDLE9BQU9rQyxXQUFXLEVBQUV0QixFQUFFZCxJQUFJO2dCQUMxQzRCLFVBQVVkLEVBQUVjLFFBQVE7WUFDdEIsQ0FBQTtRQUVGLE9BQU9JO0lBQ1QsRUFBRSxPQUFPSyxHQUFHO1FBQ1Ysc0NBQXNDO1FBQ3RDQyxRQUFRQyxJQUFJLENBQ1YsQ0FBQyxPQUFPLEVBQUVULGlCQUFpQixpQ0FBaUMsQ0FBQyxFQUM3RE87UUFFRixPQUFPLEVBQUU7SUFDWDtBQUNGO0FBRUEsU0FBU047SUFDUCxPQUFPL0IsS0FBS21DLElBQUksQ0FBQ2pDLE9BQU9rQyxXQUFXLEVBQUU7QUFDdkM7QUFFQSxlQUFlcEIsY0FBY3dCLFNBQTRCO0lBQ3ZELE1BQU1WLG1CQUFtQkM7SUFDekIsTUFBTWhDLFVBQ0orQixrQkFDQUcsS0FBS1EsU0FBUyxDQUNaRCxVQUFVM0IsR0FBRyxDQUFDLENBQUNDLElBQU8sQ0FBQTtZQUNwQmQsTUFBTUEsS0FBSzBDLFFBQVEsQ0FBQ3hDLE9BQU9rQyxXQUFXLEVBQUV0QixFQUFFZCxJQUFJO1lBQzlDNEIsVUFBVWQsRUFBRWMsUUFBUTtRQUN0QixDQUFBLElBQ0EsTUFDQSxJQUVGO0FBRUo7QUFFQSxlQUFlQyxrQkFBa0JGLFFBQWtCO0lBQ2pELE9BQU8sSUFBSVQsUUFBZ0IsQ0FBQ3lCLFNBQVNDO1FBQ25DLE1BQU1DLE9BQU9sRCxPQUFPbUQsVUFBVSxDQUFDO1FBQy9CLE1BQU1DLFFBQVFsRCxpQkFBaUI4QjtRQUMvQm9CLE1BQU1DLEVBQUUsQ0FBQyxTQUFTSjtRQUNsQkcsTUFBTUMsRUFBRSxDQUFDLFFBQVEsQ0FBQ0M7WUFDaEJKLEtBQUtLLE1BQU0sQ0FBQ0Q7UUFDZDtRQUNBRixNQUFNQyxFQUFFLENBQUMsU0FBUztZQUNoQkwsUUFBUUUsS0FBS00sTUFBTSxDQUFDO1FBQ3RCO0lBQ0Y7QUFDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncer-actions.d.ts","sourceRoot":"","sources":["../../src/syncer/syncer-actions.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAIlE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIxD,wBAAsB,gBAAgB,kBAWrC;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE;IACX,WAAW,EAAE,iBAAiB,CAAC;CAChC,EAAE,GACF,OAAO,CAAC,MAAM,EAAE,CAAC,CAanB;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAOrE;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,YAAY,CAAC,CAQjE;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAOjE;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"syncer-actions.d.ts","sourceRoot":"","sources":["../../src/syncer/syncer-actions.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAIlE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIxD,wBAAsB,gBAAgB,kBAWrC;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE;IACX,WAAW,EAAE,iBAAiB,CAAC;CAChC,EAAE,GACF,OAAO,CAAC,MAAM,EAAE,CAAC,CAanB;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAOrE;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,YAAY,CAAC,CAQjE;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAOjE;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAiCzF"}
|
|
@@ -91,9 +91,15 @@ export async function actionSyncConfig() {
|
|
|
91
91
|
});
|
|
92
92
|
}
|
|
93
93
|
!isTest() && console.log(chalk.bold("Copied: ") + chalk.blue(dst.replace(`${Sonamu.appRootPath}/`, "")));
|
|
94
|
-
|
|
94
|
+
const syncHeader = [
|
|
95
|
+
"/**",
|
|
96
|
+
" * @generated",
|
|
97
|
+
" * API에서 동기화된 파일입니다. 직접 수정하지 마세요.",
|
|
98
|
+
" */"
|
|
99
|
+
].join("\n");
|
|
100
|
+
await copyFileWithReplaceCoreToShared(realSrc, dst, syncHeader);
|
|
95
101
|
return dst;
|
|
96
102
|
}))))).flat();
|
|
97
103
|
}
|
|
98
104
|
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zeW5jZXIvc3luY2VyLWFjdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tIFwiYXNzZXJ0XCI7XG5pbXBvcnQgY2hhbGsgZnJvbSBcImNoYWxrXCI7XG5pbXBvcnQgeyBta2Rpciwgd3JpdGVGaWxlIH0gZnJvbSBcImZzL3Byb21pc2VzXCI7XG5pbXBvcnQgcGF0aCwgeyBkaXJuYW1lIH0gZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IFNvbmFtdSB9IGZyb20gXCIuLi9hcGkvc29uYW11XCI7XG5pbXBvcnQgdHlwZSB7IEVudGl0eU5hbWVzUmVjb3JkIH0gZnJvbSBcIi4uL2VudGl0eS9lbnRpdHktbWFuYWdlclwiO1xuaW1wb3J0IHsgTmFpdGUgfSBmcm9tIFwiLi4vbmFpdGUvbmFpdGVcIjtcbmltcG9ydCB7IGlzVGVzdCB9IGZyb20gXCIuLi91dGlscy9jb250cm9sbGVyXCI7XG5pbXBvcnQgeyBjb3B5RmlsZVdpdGhSZXBsYWNlQ29yZVRvU2hhcmVkLCBleGlzdHMgfSBmcm9tIFwiLi4vdXRpbHMvZnMtdXRpbHNcIjtcbmltcG9ydCB0eXBlIHsgQWJzb2x1dGVQYXRoIH0gZnJvbSBcIi4uL3V0aWxzL3BhdGgtdXRpbHNcIjtcbmltcG9ydCB7IGdlbmVyYXRlVGVtcGxhdGUgfSBmcm9tIFwiLi9jb2RlLWdlbmVyYXRvclwiO1xuXG4vLyB3ZWIvLnNvbmFtdS5lbnYg7JeQIO2YhOyerCDshKTsoJXqsJIg7KCA7J6lXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWN0aW9uU3luY0NvbmZpZygpIHtcbiAgY29uc3QgeyBob3N0LCBwb3J0IH0gPSBTb25hbXUuY29uZmlnLnNlcnZlci5saXN0ZW4gPz8ge307XG4gIGNvbnN0IGNvbnRlbnQgPSBgQVBJX0hPU1Q9JHtob3N0ID8/IFwibG9jYWxob3N0XCJ9XFxuQVBJX1BPUlQ9JHtwb3J0ID8/IDMwMDB9YDtcblxuICBOYWl0ZS50KFwiYWN0aW9uU3luY0NvbmZpZ1wiLCB7IGNvbnRlbnQgfSk7XG4gIGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAuLi5Tb25hbXUuY29uZmlnLnN5bmMudGFyZ2V0cy5tYXAoYXN5bmMgKHRhcmdldCkgPT4ge1xuICAgICAgYXdhaXQgd3JpdGVGaWxlKHBhdGguam9pbihTb25hbXUuYXBwUm9vdFBhdGgsIHRhcmdldCwgXCIuc29uYW11LmVudlwiKSwgY29udGVudCk7XG4gICAgfSksXG4gICAgZ2VuZXJhdGVUZW1wbGF0ZShcImdlbmVyYXRlZF9zc29cIiwge30sIHsgb3ZlcndyaXRlOiB0cnVlIH0pLFxuICBdKTtcbn1cblxuLyoqXG4gKiBzZXJ2aWNlcy5nZW5lcmF0ZWQudHPrpbwg7IOd7ISx7ZWp64uI64ukLlxuICogQHBhcmFtIHBhcmFtc0FycmF5XG4gKiBAcmV0dXJucyDsg53shLHrkJwg7YyM7J28IOqyveuhnCDrsLDsl7QuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhY3Rpb25HZW5lcmF0ZVNlcnZpY2VzKFxuICBwYXJhbXNBcnJheToge1xuICAgIG5hbWVzUmVjb3JkOiBFbnRpdHlOYW1lc1JlY29yZDtcbiAgfVtdLFxuKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICBOYWl0ZS50KFwiYWN0aW9uR2VuZXJhdGVTZXJ2aWNlc1wiLCBwYXJhbXNBcnJheSk7XG5cbiAgLy8gc2VydmljZXMuZ2VuZXJhdGVkLnRzIO2Gte2VqSDtjIzsnbwg7IOd7ISxXG4gIGNvbnN0IHNlcnZpY2VzRmlsZSA9IGF3YWl0IGdlbmVyYXRlVGVtcGxhdGUoXG4gICAgXCJzZXJ2aWNlc1wiLFxuICAgIHt9LFxuICAgIHtcbiAgICAgIG92ZXJ3cml0ZTogdHJ1ZSxcbiAgICB9LFxuICApO1xuXG4gIHJldHVybiBbLi4uc2VydmljZXNGaWxlXTtcbn1cblxuLyoqXG4gKiBzb25hbXUuZ2VuZXJhdGVkLnRz7JmAIHNvbmFtdS5nZW5lcmF0ZWQuc3NvLnRz66W8IOyDneyEse2VqeuLiOuLpC5cbiAqIEByZXR1cm5zIOyDneyEseuQnCDtjIzsnbwg6rK966GcIOuwsOyXtC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFjdGlvbkdlbmVyYXRlU2NoZW1hcygpOiBQcm9taXNlPEFic29sdXRlUGF0aFtdPiB7XG4gIHJldHVybiAoXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgZ2VuZXJhdGVUZW1wbGF0ZShcImdlbmVyYXRlZF9zc29cIiwge30sIHsgb3ZlcndyaXRlOiB0cnVlIH0pLFxuICAgICAgZ2VuZXJhdGVUZW1wbGF0ZShcImdlbmVyYXRlZFwiLCB7fSwgeyBvdmVyd3JpdGU6IHRydWUgfSksXG4gICAgXSlcbiAgKS5mbGF0KCk7XG59XG5cbi8qKlxuICogc29uYW11LmdlbmVyYXRlZC5odHRw66W8IOyDneyEse2VqeuLiOuLpC5cbiAqIEByZXR1cm5zIOyDneyEseuQnCDtjIzsnbwg6rK966GcLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWN0aW9uR2VuZXJhdGVIdHRwcygpOiBQcm9taXNlPEFic29sdXRlUGF0aD4ge1xuICBjb25zdCBbcmVzXSA9IGF3YWl0IGdlbmVyYXRlVGVtcGxhdGUoXG4gICAgXCJnZW5lcmF0ZWRfaHR0cFwiLFxuICAgIHsgZW50aXR5SWQ6IFwiZHVtbXlcIiB9LFxuICAgIHsgb3ZlcndyaXRlOiB0cnVlIH0sXG4gICk7XG4gIGFzc2VydChyZXMpO1xuICByZXR1cm4gcmVzO1xufVxuXG4vKipcbiAqIHF1ZXJpZXMuZ2VuZXJhdGVkLnRzIOuwjyBlbnRyeS1zZXJ2ZXIuZ2VuZXJhdGVkLnRzeCDsnqzsg53shLHtlanri4jri6QuXG4gKiBAcmV0dXJucyDsg53shLHrkJwg7YyM7J28IOqyveuhnCDrsLDsl7QuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhY3Rpb25HZW5lcmF0ZVNzcigpOiBQcm9taXNlPEFic29sdXRlUGF0aFtdPiB7XG4gIHJldHVybiAoXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgZ2VuZXJhdGVUZW1wbGF0ZShcImVudHJ5X3NlcnZlclwiLCB7fSwgeyBvdmVyd3JpdGU6IHRydWUgfSksXG4gICAgICBnZW5lcmF0ZVRlbXBsYXRlKFwicXVlcmllc1wiLCB7fSwgeyBvdmVyd3JpdGU6IHRydWUgfSksXG4gICAgXSlcbiAgKS5mbGF0KCk7XG59XG5cbi8qKlxuICogKi50eXBlcy50cywgKi5mdW5jdGlvbnMudHMsICouZ2VuZXJhdGVkLnRz66W8IO2DgOqynyDrlJTroInthqDrpqzsl5Ag67O17IKs7ZWp64uI64ukLlxuICogQHBhcmFtIHRzUGF0aHNcbiAqIEByZXR1cm5zIOuzteyCrOuQnCDtjIzsnbwg6rK966GcIOuwsOyXtC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFjdGlvblN5bmNGaWxlc1RvVGFyZ2V0cyh0c1BhdGhzOiBBYnNvbHV0ZVBhdGhbXSk6IFByb21pc2U8c3RyaW5nW10+
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zeW5jZXIvc3luY2VyLWFjdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tIFwiYXNzZXJ0XCI7XG5pbXBvcnQgY2hhbGsgZnJvbSBcImNoYWxrXCI7XG5pbXBvcnQgeyBta2Rpciwgd3JpdGVGaWxlIH0gZnJvbSBcImZzL3Byb21pc2VzXCI7XG5pbXBvcnQgcGF0aCwgeyBkaXJuYW1lIH0gZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IFNvbmFtdSB9IGZyb20gXCIuLi9hcGkvc29uYW11XCI7XG5pbXBvcnQgdHlwZSB7IEVudGl0eU5hbWVzUmVjb3JkIH0gZnJvbSBcIi4uL2VudGl0eS9lbnRpdHktbWFuYWdlclwiO1xuaW1wb3J0IHsgTmFpdGUgfSBmcm9tIFwiLi4vbmFpdGUvbmFpdGVcIjtcbmltcG9ydCB7IGlzVGVzdCB9IGZyb20gXCIuLi91dGlscy9jb250cm9sbGVyXCI7XG5pbXBvcnQgeyBjb3B5RmlsZVdpdGhSZXBsYWNlQ29yZVRvU2hhcmVkLCBleGlzdHMgfSBmcm9tIFwiLi4vdXRpbHMvZnMtdXRpbHNcIjtcbmltcG9ydCB0eXBlIHsgQWJzb2x1dGVQYXRoIH0gZnJvbSBcIi4uL3V0aWxzL3BhdGgtdXRpbHNcIjtcbmltcG9ydCB7IGdlbmVyYXRlVGVtcGxhdGUgfSBmcm9tIFwiLi9jb2RlLWdlbmVyYXRvclwiO1xuXG4vLyB3ZWIvLnNvbmFtdS5lbnYg7JeQIO2YhOyerCDshKTsoJXqsJIg7KCA7J6lXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWN0aW9uU3luY0NvbmZpZygpIHtcbiAgY29uc3QgeyBob3N0LCBwb3J0IH0gPSBTb25hbXUuY29uZmlnLnNlcnZlci5saXN0ZW4gPz8ge307XG4gIGNvbnN0IGNvbnRlbnQgPSBgQVBJX0hPU1Q9JHtob3N0ID8/IFwibG9jYWxob3N0XCJ9XFxuQVBJX1BPUlQ9JHtwb3J0ID8/IDMwMDB9YDtcblxuICBOYWl0ZS50KFwiYWN0aW9uU3luY0NvbmZpZ1wiLCB7IGNvbnRlbnQgfSk7XG4gIGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAuLi5Tb25hbXUuY29uZmlnLnN5bmMudGFyZ2V0cy5tYXAoYXN5bmMgKHRhcmdldCkgPT4ge1xuICAgICAgYXdhaXQgd3JpdGVGaWxlKHBhdGguam9pbihTb25hbXUuYXBwUm9vdFBhdGgsIHRhcmdldCwgXCIuc29uYW11LmVudlwiKSwgY29udGVudCk7XG4gICAgfSksXG4gICAgZ2VuZXJhdGVUZW1wbGF0ZShcImdlbmVyYXRlZF9zc29cIiwge30sIHsgb3ZlcndyaXRlOiB0cnVlIH0pLFxuICBdKTtcbn1cblxuLyoqXG4gKiBzZXJ2aWNlcy5nZW5lcmF0ZWQudHPrpbwg7IOd7ISx7ZWp64uI64ukLlxuICogQHBhcmFtIHBhcmFtc0FycmF5XG4gKiBAcmV0dXJucyDsg53shLHrkJwg7YyM7J28IOqyveuhnCDrsLDsl7QuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhY3Rpb25HZW5lcmF0ZVNlcnZpY2VzKFxuICBwYXJhbXNBcnJheToge1xuICAgIG5hbWVzUmVjb3JkOiBFbnRpdHlOYW1lc1JlY29yZDtcbiAgfVtdLFxuKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICBOYWl0ZS50KFwiYWN0aW9uR2VuZXJhdGVTZXJ2aWNlc1wiLCBwYXJhbXNBcnJheSk7XG5cbiAgLy8gc2VydmljZXMuZ2VuZXJhdGVkLnRzIO2Gte2VqSDtjIzsnbwg7IOd7ISxXG4gIGNvbnN0IHNlcnZpY2VzRmlsZSA9IGF3YWl0IGdlbmVyYXRlVGVtcGxhdGUoXG4gICAgXCJzZXJ2aWNlc1wiLFxuICAgIHt9LFxuICAgIHtcbiAgICAgIG92ZXJ3cml0ZTogdHJ1ZSxcbiAgICB9LFxuICApO1xuXG4gIHJldHVybiBbLi4uc2VydmljZXNGaWxlXTtcbn1cblxuLyoqXG4gKiBzb25hbXUuZ2VuZXJhdGVkLnRz7JmAIHNvbmFtdS5nZW5lcmF0ZWQuc3NvLnRz66W8IOyDneyEse2VqeuLiOuLpC5cbiAqIEByZXR1cm5zIOyDneyEseuQnCDtjIzsnbwg6rK966GcIOuwsOyXtC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFjdGlvbkdlbmVyYXRlU2NoZW1hcygpOiBQcm9taXNlPEFic29sdXRlUGF0aFtdPiB7XG4gIHJldHVybiAoXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgZ2VuZXJhdGVUZW1wbGF0ZShcImdlbmVyYXRlZF9zc29cIiwge30sIHsgb3ZlcndyaXRlOiB0cnVlIH0pLFxuICAgICAgZ2VuZXJhdGVUZW1wbGF0ZShcImdlbmVyYXRlZFwiLCB7fSwgeyBvdmVyd3JpdGU6IHRydWUgfSksXG4gICAgXSlcbiAgKS5mbGF0KCk7XG59XG5cbi8qKlxuICogc29uYW11LmdlbmVyYXRlZC5odHRw66W8IOyDneyEse2VqeuLiOuLpC5cbiAqIEByZXR1cm5zIOyDneyEseuQnCDtjIzsnbwg6rK966GcLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWN0aW9uR2VuZXJhdGVIdHRwcygpOiBQcm9taXNlPEFic29sdXRlUGF0aD4ge1xuICBjb25zdCBbcmVzXSA9IGF3YWl0IGdlbmVyYXRlVGVtcGxhdGUoXG4gICAgXCJnZW5lcmF0ZWRfaHR0cFwiLFxuICAgIHsgZW50aXR5SWQ6IFwiZHVtbXlcIiB9LFxuICAgIHsgb3ZlcndyaXRlOiB0cnVlIH0sXG4gICk7XG4gIGFzc2VydChyZXMpO1xuICByZXR1cm4gcmVzO1xufVxuXG4vKipcbiAqIHF1ZXJpZXMuZ2VuZXJhdGVkLnRzIOuwjyBlbnRyeS1zZXJ2ZXIuZ2VuZXJhdGVkLnRzeCDsnqzsg53shLHtlanri4jri6QuXG4gKiBAcmV0dXJucyDsg53shLHrkJwg7YyM7J28IOqyveuhnCDrsLDsl7QuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhY3Rpb25HZW5lcmF0ZVNzcigpOiBQcm9taXNlPEFic29sdXRlUGF0aFtdPiB7XG4gIHJldHVybiAoXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgZ2VuZXJhdGVUZW1wbGF0ZShcImVudHJ5X3NlcnZlclwiLCB7fSwgeyBvdmVyd3JpdGU6IHRydWUgfSksXG4gICAgICBnZW5lcmF0ZVRlbXBsYXRlKFwicXVlcmllc1wiLCB7fSwgeyBvdmVyd3JpdGU6IHRydWUgfSksXG4gICAgXSlcbiAgKS5mbGF0KCk7XG59XG5cbi8qKlxuICogKi50eXBlcy50cywgKi5mdW5jdGlvbnMudHMsICouZ2VuZXJhdGVkLnRz66W8IO2DgOqynyDrlJTroInthqDrpqzsl5Ag67O17IKs7ZWp64uI64ukLlxuICogQHBhcmFtIHRzUGF0aHNcbiAqIEByZXR1cm5zIOuzteyCrOuQnCDtjIzsnbwg6rK966GcIOuwsOyXtC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFjdGlvblN5bmNGaWxlc1RvVGFyZ2V0cyh0c1BhdGhzOiBBYnNvbHV0ZVBhdGhbXSk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgY29uc3QgeyB0YXJnZXRzIH0gPSBTb25hbXUuY29uZmlnLnN5bmM7XG4gIGNvbnN0IHsgZGlyOiBhcGlEaXIgfSA9IFNvbmFtdS5jb25maWcuYXBpO1xuXG4gIHJldHVybiAoXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICB0YXJnZXRzLm1hcChhc3luYyAodGFyZ2V0KSA9PlxuICAgICAgICBQcm9taXNlLmFsbChcbiAgICAgICAgICB0c1BhdGhzLm1hcChhc3luYyAocmVhbFNyYykgPT4ge1xuICAgICAgICAgICAgY29uc3QgZHN0ID0gcmVhbFNyY1xuICAgICAgICAgICAgICAucmVwbGFjZShgLyR7YXBpRGlyfS9gLCBgLyR7dGFyZ2V0fS9gKVxuICAgICAgICAgICAgICAucmVwbGFjZShcIi9hcHBsaWNhdGlvbi9cIiwgXCIvc2VydmljZXMvXCIpO1xuICAgICAgICAgICAgY29uc3QgZGlyID0gZGlybmFtZShkc3QpO1xuICAgICAgICAgICAgaWYgKCEoYXdhaXQgZXhpc3RzKGRpcikpKSB7XG4gICAgICAgICAgICAgIGF3YWl0IG1rZGlyKGRpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAhaXNUZXN0KCkgJiZcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgICAgICAgY2hhbGsuYm9sZChcIkNvcGllZDogXCIpICsgY2hhbGsuYmx1ZShkc3QucmVwbGFjZShgJHtTb25hbXUuYXBwUm9vdFBhdGh9L2AsIFwiXCIpKSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IHN5bmNIZWFkZXIgPSBbXG4gICAgICAgICAgICAgIFwiLyoqXCIsXG4gICAgICAgICAgICAgIFwiICogQGdlbmVyYXRlZFwiLFxuICAgICAgICAgICAgICBcIiAqIEFQSeyXkOyEnCDrj5nquLDtmZTrkJwg7YyM7J287J6F64uI64ukLiDsp4HsoJEg7IiY7KCV7ZWY7KeAIOuniOyEuOyalC5cIixcbiAgICAgICAgICAgICAgXCIgKi9cIixcbiAgICAgICAgICAgIF0uam9pbihcIlxcblwiKTtcbiAgICAgICAgICAgIGF3YWl0IGNvcHlGaWxlV2l0aFJlcGxhY2VDb3JlVG9TaGFyZWQocmVhbFNyYywgZHN0LCBzeW5jSGVhZGVyKTtcbiAgICAgICAgICAgIHJldHVybiBkc3Q7XG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgIClcbiAgKS5mbGF0KCk7XG59XG4iXSwibmFtZXMiOlsiYXNzZXJ0IiwiY2hhbGsiLCJta2RpciIsIndyaXRlRmlsZSIsInBhdGgiLCJkaXJuYW1lIiwiU29uYW11IiwiTmFpdGUiLCJpc1Rlc3QiLCJjb3B5RmlsZVdpdGhSZXBsYWNlQ29yZVRvU2hhcmVkIiwiZXhpc3RzIiwiZ2VuZXJhdGVUZW1wbGF0ZSIsImFjdGlvblN5bmNDb25maWciLCJob3N0IiwicG9ydCIsImNvbmZpZyIsInNlcnZlciIsImxpc3RlbiIsImNvbnRlbnQiLCJ0IiwiUHJvbWlzZSIsImFsbCIsInN5bmMiLCJ0YXJnZXRzIiwibWFwIiwidGFyZ2V0Iiwiam9pbiIsImFwcFJvb3RQYXRoIiwib3ZlcndyaXRlIiwiYWN0aW9uR2VuZXJhdGVTZXJ2aWNlcyIsInBhcmFtc0FycmF5Iiwic2VydmljZXNGaWxlIiwiYWN0aW9uR2VuZXJhdGVTY2hlbWFzIiwiZmxhdCIsImFjdGlvbkdlbmVyYXRlSHR0cHMiLCJyZXMiLCJlbnRpdHlJZCIsImFjdGlvbkdlbmVyYXRlU3NyIiwiYWN0aW9uU3luY0ZpbGVzVG9UYXJnZXRzIiwidHNQYXRocyIsImRpciIsImFwaURpciIsImFwaSIsInJlYWxTcmMiLCJkc3QiLCJyZXBsYWNlIiwicmVjdXJzaXZlIiwiY29uc29sZSIsImxvZyIsImJvbGQiLCJibHVlIiwic3luY0hlYWRlciJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsWUFBWSxTQUFTO0FBQzVCLE9BQU9DLFdBQVcsUUFBUTtBQUMxQixTQUFTQyxLQUFLLEVBQUVDLFNBQVMsUUFBUSxtQkFBYztBQUMvQyxPQUFPQyxRQUFRQyxPQUFPLFFBQVEsT0FBTztBQUNyQyxTQUFTQyxNQUFNLFFBQVEsbUJBQWdCO0FBRXZDLFNBQVNDLEtBQUssUUFBUSxvQkFBaUI7QUFDdkMsU0FBU0MsTUFBTSxRQUFRLHlCQUFzQjtBQUM3QyxTQUFTQywrQkFBK0IsRUFBRUMsTUFBTSxRQUFRLHVCQUFvQjtBQUU1RSxTQUFTQyxnQkFBZ0IsUUFBUSxzQkFBbUI7QUFFcEQsOEJBQThCO0FBQzlCLE9BQU8sZUFBZUM7SUFDcEIsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLElBQUksRUFBRSxHQUFHUixPQUFPUyxNQUFNLENBQUNDLE1BQU0sQ0FBQ0MsTUFBTSxJQUFJLENBQUM7SUFDdkQsTUFBTUMsVUFBVSxDQUFDLFNBQVMsRUFBRUwsUUFBUSxZQUFZLFdBQVcsRUFBRUMsUUFBUSxNQUFNO0lBRTNFUCxNQUFNWSxDQUFDLENBQUMsb0JBQW9CO1FBQUVEO0lBQVE7SUFDdEMsTUFBTUUsUUFBUUMsR0FBRyxDQUFDO1dBQ2JmLE9BQU9TLE1BQU0sQ0FBQ08sSUFBSSxDQUFDQyxPQUFPLENBQUNDLEdBQUcsQ0FBQyxPQUFPQztZQUN2QyxNQUFNdEIsVUFBVUMsS0FBS3NCLElB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
|
package/dist/syncer/syncer.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncer.d.ts","sourceRoot":"","sources":["../../src/syncer/syncer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAMtC,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMnD,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAKnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKxD,OAAO,EAEL,KAAK,QAAQ,EAEd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,WAAW,EAKjB,MAAM,iBAAiB,CAAC;AAGzB,KAAK,UAAU,GAAG;KACf,GAAG,IAAI,QAAQ,GAAG,YAAY,EAAE;CAClC,CAAC;AAEF,qBAAa,MAAM;IACjB,IAAI,EAAE,UAAU,CAAM;IACtB,KAAK,EAAE,WAAW,CAAM;IACxB,MAAM,EAAE,YAAY,CAAM;IAC1B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAa;IACvD,YAAY,EAAE,YAAY,CAAsB;IAEhD;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAuC3B;;;;;OAKG;IACG,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAsE/E,+BAA+B,CAC7B,eAAe,EAAE,YAAY,GAC5B,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,EAAE;IAc9B,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"syncer.d.ts","sourceRoot":"","sources":["../../src/syncer/syncer.ts"],"names":[],"mappings":"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"}
|