@decaf-ts/integrations 0.3.4 → 0.3.5
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/integrations.cjs +3 -3
- package/dist/integrations.js +3 -3
- package/lib/cjs/graph/execution/CodeSandboxEvaluator.cjs +4 -0
- package/lib/cjs/graph/execution/GraphExecutionEngine.cjs +3 -2
- package/lib/cjs/graph/execution/SwitchGraphNodeExecutor.cjs +95 -0
- package/lib/cjs/graph/execution/index.cjs +4 -2
- package/lib/cjs/graph/index.cjs +7 -2
- package/lib/cjs/graph/loops/ConditionExpressionEvaluator.cjs +87 -0
- package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs +25 -3
- package/lib/cjs/graph/loops/index.cjs +3 -2
- package/lib/cjs/graph/nodes/agent.cjs +110 -0
- package/lib/cjs/graph/nodes/category-styles.cjs +38 -0
- package/lib/cjs/graph/nodes/flow-control.cjs +436 -0
- package/lib/cjs/graph/nodes/index.cjs +34 -0
- package/lib/cjs/graph/nodes/triggers.cjs +250 -0
- package/lib/cjs/graph/types.cjs +2 -2
- package/lib/cjs/index.cjs +3 -3
- package/lib/cjs/keycloak/services/KeycloakAuthService.cjs +5 -4
- package/lib/cjs/keycloak/services/KeycloakClientService.cjs +5 -4
- package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs +5 -4
- package/lib/cjs/keycloak/services/KeycloakRealmService.cjs +8 -7
- package/lib/cjs/keycloak/services/KeycloakRoleService.cjs +5 -4
- package/lib/cjs/keycloak/services/KeycloakService.cjs +5 -3
- package/lib/cjs/keycloak/services/KeycloakUserService.cjs +5 -4
- package/lib/cjs/keycloak/services/runtime.cjs +20 -0
- package/lib/cjs/kibana/services/KibanaAuthService.cjs +6 -5
- package/lib/cjs/kibana/services/KibanaDashboardService.cjs +9 -8
- package/lib/cjs/kibana/services/KibanaDataViewService.cjs +7 -6
- package/lib/cjs/kibana/services/KibanaRoleService.cjs +5 -4
- package/lib/cjs/kibana/services/KibanaService.cjs +4 -2
- package/lib/cjs/kibana/services/KibanaSpaceService.cjs +5 -4
- package/lib/cjs/kibana/services/KibanaUserService.cjs +5 -4
- package/lib/cjs/kibana/services/runtime.cjs +20 -0
- package/lib/esm/graph/execution/CodeSandboxEvaluator.js +18 -0
- package/lib/esm/graph/execution/GraphExecutionEngine.js +2 -1
- package/lib/esm/graph/execution/SwitchGraphNodeExecutor.js +90 -0
- package/lib/esm/graph/execution/index.js +3 -1
- package/lib/esm/graph/index.js +6 -1
- package/lib/esm/graph/loops/ConditionExpressionEvaluator.js +82 -0
- package/lib/esm/graph/loops/GraphConditionEvaluator.js +24 -2
- package/lib/esm/graph/loops/index.js +2 -1
- package/lib/esm/graph/nodes/agent.js +101 -0
- package/lib/esm/graph/nodes/category-styles.js +34 -0
- package/lib/esm/graph/nodes/flow-control.js +427 -0
- package/lib/esm/graph/nodes/index.js +17 -0
- package/lib/esm/graph/nodes/triggers.js +241 -0
- package/lib/esm/graph/types.js +1 -1
- package/lib/esm/index.js +3 -3
- package/lib/esm/keycloak/services/KeycloakAuthService.js +4 -3
- package/lib/esm/keycloak/services/KeycloakClientService.js +4 -3
- package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js +4 -3
- package/lib/esm/keycloak/services/KeycloakRealmService.js +4 -3
- package/lib/esm/keycloak/services/KeycloakRoleService.js +4 -3
- package/lib/esm/keycloak/services/KeycloakService.js +4 -2
- package/lib/esm/keycloak/services/KeycloakUserService.js +4 -3
- package/lib/esm/keycloak/services/runtime.js +15 -0
- package/lib/esm/kibana/services/KibanaAuthService.js +5 -4
- package/lib/esm/kibana/services/KibanaDashboardService.js +5 -4
- package/lib/esm/kibana/services/KibanaDataViewService.js +4 -3
- package/lib/esm/kibana/services/KibanaRoleService.js +4 -3
- package/lib/esm/kibana/services/KibanaService.js +3 -1
- package/lib/esm/kibana/services/KibanaSpaceService.js +4 -3
- package/lib/esm/kibana/services/KibanaUserService.js +4 -3
- package/lib/esm/kibana/services/runtime.js +15 -0
- package/lib/types/graph/execution/CodeSandboxEvaluator.d.cts +53 -0
- package/lib/types/graph/execution/CodeSandboxEvaluator.d.mts +53 -0
- package/lib/types/graph/execution/GraphExecutionEngine.d.cts +10 -0
- package/lib/types/graph/execution/GraphExecutionEngine.d.mts +10 -0
- package/lib/types/graph/execution/SwitchGraphNodeExecutor.d.cts +42 -0
- package/lib/types/graph/execution/SwitchGraphNodeExecutor.d.mts +42 -0
- package/lib/types/graph/execution/index.d.cts +2 -0
- package/lib/types/graph/execution/index.d.mts +2 -0
- package/lib/types/graph/index.d.cts +4 -0
- package/lib/types/graph/index.d.mts +4 -0
- package/lib/types/graph/loops/ConditionExpressionEvaluator.d.cts +36 -0
- package/lib/types/graph/loops/ConditionExpressionEvaluator.d.mts +36 -0
- package/lib/types/graph/loops/GraphConditionEvaluator.d.cts +20 -4
- package/lib/types/graph/loops/GraphConditionEvaluator.d.mts +20 -4
- package/lib/types/graph/loops/index.d.cts +1 -0
- package/lib/types/graph/loops/index.d.mts +1 -0
- package/lib/types/graph/nodes/agent.d.cts +44 -0
- package/lib/types/graph/nodes/agent.d.mts +44 -0
- package/lib/types/graph/nodes/category-styles.d.cts +8 -0
- package/lib/types/graph/nodes/category-styles.d.mts +8 -0
- package/lib/types/graph/nodes/flow-control.d.cts +104 -0
- package/lib/types/graph/nodes/flow-control.d.mts +104 -0
- package/lib/types/graph/nodes/index.d.cts +16 -0
- package/lib/types/graph/nodes/index.d.mts +16 -0
- package/lib/types/graph/nodes/triggers.d.cts +53 -0
- package/lib/types/graph/nodes/triggers.d.mts +53 -0
- package/lib/types/graph/types.d.cts +102 -0
- package/lib/types/graph/types.d.mts +102 -0
- package/lib/types/index.d.cts +2 -2
- package/lib/types/index.d.mts +2 -2
- package/lib/types/keycloak/services/runtime.d.cts +6 -0
- package/lib/types/keycloak/services/runtime.d.mts +6 -0
- package/lib/types/kibana/services/runtime.d.cts +6 -0
- package/lib/types/kibana/services/runtime.d.mts +6 -0
- package/package.json +1 -1
|
@@ -55,8 +55,9 @@ const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
|
55
55
|
const core_1 = require("@decaf-ts/core");
|
|
56
56
|
const axios_1 = __importDefault(require("axios"));
|
|
57
57
|
const https = __importStar(require("node:https"));
|
|
58
|
+
const runtime_js_1 = require("./runtime.cjs");
|
|
58
59
|
const KibanaAuthService_js_1 = require("./KibanaAuthService.cjs");
|
|
59
|
-
const
|
|
60
|
+
const runtime_js_2 = require("./../../shared/runtime.cjs");
|
|
60
61
|
class KibanaDataViewService extends core_1.ClientBasedService {
|
|
61
62
|
async initialize(...args) {
|
|
62
63
|
const { ctxArgs } = (await this.logCtx(args, "initialize", true)).for(this.initialize);
|
|
@@ -106,7 +107,7 @@ class KibanaDataViewService extends core_1.ClientBasedService {
|
|
|
106
107
|
if (statusResp.status !== 200 || !dvId) {
|
|
107
108
|
return;
|
|
108
109
|
}
|
|
109
|
-
const statusData = (0,
|
|
110
|
+
const statusData = (0, runtime_js_2.parseJsonBody)(statusResp.data);
|
|
110
111
|
const kibanaVersion = statusData?.version?.number ?? statusData?.kibana?.version;
|
|
111
112
|
if (!kibanaVersion)
|
|
112
113
|
return;
|
|
@@ -121,7 +122,7 @@ class KibanaDataViewService extends core_1.ClientBasedService {
|
|
|
121
122
|
baseURL: `${config.protocol}://${config.host}`,
|
|
122
123
|
validateStatus: () => true,
|
|
123
124
|
httpsAgent: new https.Agent({
|
|
124
|
-
rejectUnauthorized: (this.config
|
|
125
|
+
rejectUnauthorized: ((0, runtime_js_1.resolveKibanaIsProduction)(this.config)),
|
|
125
126
|
}),
|
|
126
127
|
});
|
|
127
128
|
}
|
|
@@ -189,7 +190,7 @@ class KibanaDataViewService extends core_1.ClientBasedService {
|
|
|
189
190
|
: undefined,
|
|
190
191
|
validateStatus: () => true,
|
|
191
192
|
httpsAgent: new https.Agent({
|
|
192
|
-
rejectUnauthorized: (this.config
|
|
193
|
+
rejectUnauthorized: ((0, runtime_js_1.resolveKibanaIsProduction)(this.config)),
|
|
193
194
|
}),
|
|
194
195
|
...extra,
|
|
195
196
|
});
|
|
@@ -200,5 +201,5 @@ __decorate([
|
|
|
200
201
|
(0, core_1.service)(),
|
|
201
202
|
__metadata("design:type", KibanaAuthService_js_1.KibanaAuthService)
|
|
202
203
|
], KibanaDataViewService.prototype, "authService", void 0);
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2liYW5hRGF0YVZpZXdTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2tpYmFuYS9zZXJ2aWNlcy9LaWJhbmFEYXRhVmlld1NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsYUFBYSxFQUNiLGFBQWEsR0FDZCxNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU03RCxPQUFPLEtBQXdCLE1BQU0sT0FBTyxDQUFDO0FBQzdDLE9BQU8sS0FBSyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSwrQkFBNEI7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxrQ0FBNkI7QUFFckQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGtCQUcxQztJQUlDLEtBQUssQ0FBQyxVQUFVLENBQ2QsR0FBRyxJQUE2QjtRQUVoQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FDbEIsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQzVDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2QixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFzQixDQUFDO1FBQy9DLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYyxDQUNsQixTQUFpQixF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QU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDekIsTUFBTTtZQUNOLEdBQUc7WUFDSCxJQUFJLEVBQ0YsT0FBTyxLQUFLLFNBQVM7Z0JBQ25CLENBQUMsQ0FBQyxTQUFTO2dCQUNYLENBQUMsQ0FBQyxPQUFPLE9BQU8sS0FBSyxRQUFRO29CQUMzQixDQUFDLENBQUMsT0FBTztvQkFDVCxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDL0IsSUFBSSxFQUFFLE9BQU87Z0JBQ1gsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUU7Z0JBQzVELENBQUMsQ0FBQyxTQUFTO1lBQ2IsY0FBYyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUk7WUFDMUIsVUFBVSxFQUFFLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQztnQkFDMUIsa0JBQWtCLEVBQUUsQ0FBRSxJQUFJLENBQUMsTUFBYyxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQzFELENBQUM7WUFDRixHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFyT1c7SUFEVCxPQUFPLEVBQUU7OEJBQ2MsaUJBQWlCOzBEQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFkUmVxdWVzdEVycm9yLFxuICBDb25mbGljdEVycm9yLFxuICBJbnRlcm5hbEVycm9yLFxuICBOb3RGb3VuZEVycm9yLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IENvbnRleHR1YWxBcmdzLCBNYXliZUNvbnRleHR1YWxBcmcgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IENsaWVudEJhc2VkU2VydmljZSwgc2VydmljZSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHR5cGUge1xuICBLaWJhbmFEYXRhVmlld0NvbmZpZyxcbiAgS2liYW5hU2V0dXBDb25maWcsXG4gIEtpYmFuYVVzZXIsXG59IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IEF4aW9zLCB7IEF4aW9zSW5zdGFuY2UgfSBmcm9tIFwiYXhpb3NcIjtcbmltcG9ydCAqIGFzIGh0dHBzIGZyb20gXCJub2RlOmh0dHBzXCI7XG5pbXBvcnQgeyBLaWJhbmFBdXRoU2VydmljZSB9IGZyb20gXCIuL0tpYmFuYUF1dGhTZXJ2aWNlXCI7XG5pbXBvcnQgeyBwYXJzZUpzb25Cb2R5IH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9ydW50aW1lXCI7XG5cbmV4cG9ydCBjbGFzcyBLaWJhbmFEYXRhVmlld1NlcnZpY2UgZXh0ZW5kcyBDbGllbnRCYXNlZFNlcnZpY2U8XG4gIEF4aW9zSW5zdGFuY2UsXG4gIEtpYmFuYVNldHVwQ29uZmlnXG4+IHtcbiAgQHNlcnZpY2UoKVxuICBwcm90ZWN0ZWQgYXV0aFNlcnZpY2UhOiBLaWJhbmFBdXRoU2VydmljZTtcblxuICBhc3luYyBpbml0aWFsaXplKFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8eyBjb25maWc6IEtpYmFuYVNldHVwQ29uZmlnOyBjbGllbnQ6IEF4aW9zSW5zdGFuY2UgfT4ge1xuICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKFxuICAgICAgYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJpbml0aWFsaXplXCIsIHRydWUpXG4gICAgKS5mb3IodGhpcy5pbml0aWFsaXplKTtcbiAgICBjb25zdCBjb25maWcgPSBjdHhBcmdzWzBdIGFzIEtpYmFuYVNldHVwQ29uZmlnO1xuICAgIHRoaXMuX2NvbmZpZyA9IGNvbmZpZztcbiAgICBjb25zdCBjbGllbnQgPSB0aGlzLmNyZWF0ZUh0dHBDbGllbnQoY29uZmlnKTtcbiAgICB0aGlzLl9jbGllbnQgPSBjbGllbnQ7XG4gICAgcmV0dXJuIHsgY29uZmlnLCBjbGllbnQgfTtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZURhdGFWaWV3KFxuICAgIHJlYWxtTmFtZTogc3RyaW5nLFxuICAgIHNwZWM6IEtpYmFuYURhdGFWaWV3Q29uZmlnLFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKFxuICAgICAgYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJjcmVhdGVEYXRhVmlld1wiLCB0cnVlKVxuICAgICkuZm9yKHRoaXMuY3JlYXRlRGF0YVZpZXcpO1xuICAgIGNvbnN0IHBheWxvYWQgPSB0aGlzLm5vcm1hbGl6ZURhdGFWaWV3Q29uZmlnKHJlYWxtTmFtZSwgc3BlYyk7XG4gICAgY29uc3QgY3JlYXRlUmVzcCA9IGF3YWl0IHRoaXMucmVxdWVzdChcbiAgICAgIFwiUE9TVFwiLFxuICAgICAgYC9zLyR7cmVhbG1OYW1lfS9hcGkvZGF0YV92aWV3cy9kYXRhX3ZpZXdgLFxuICAgICAgeyBkYXRhX3ZpZXc6IHBheWxvYWQgfSxcbiAgICAgIHRoaXMuY29uZmlnLmFkbWluQXBpVXNlcixcbiAgICAgIHsgaGVhZGVyczogeyBcImtibi14c3JmXCI6IFwidHJ1ZVwiLCBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9IH0sXG4gICAgICAyMDAsXG4gICAgICAuLi5jdHhBcmdzXG4gICAgKTtcblxuICAgIGlmIChjcmVhdGVSZXNwLnN0YXR1cyA9PT0gMjAwIHx8IGNyZWF0ZVJlc3Auc3RhdHVzID09PSAyMDEpIHJldHVybjtcbiAgICBpZiAoY3JlYXRlUmVzcC5zdGF0dXMgIT09IDQwOSAmJiBjcmVhdGVSZXNwLnN0YXR1cyAhPT0gNDAwKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFVuYWJsZSB0byBjcmVhdGUgZGF0YSB2aWV3ICR7cGF5bG9hZC5pZH06ICR7Y3JlYXRlUmVzcC5zdGF0dXNUZXh0fWA7XG4gICAgICB0aHJvdyBuZXcgQmFkUmVxdWVzdEVycm9yKG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMudXBkYXRlRGF0YVZpZXcocmVhbG1OYW1lLCBwYXlsb2FkLCAuLi5jdHhBcmdzKTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZURhdGFWaWV3KFxuICAgIHJlYWxtTmFtZTogc3RyaW5nLFxuICAgIHNwZWM6IEtpYmFuYURhdGFWaWV3Q29uZmlnLFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKFxuICAgICAgYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJ1cGRhdGVEYXRhVmlld1wiLCB0cnVlKVxuICAgICkuZm9yKHRoaXMudXBkYXRlRGF0YVZpZXcpO1xuICAgIGNvbnN0IHBheWxvYWQgPSB0aGlzLm5vcm1hbGl6ZURhdGFWaWV3Q29uZmlnKHJlYWxtTmFtZSwgc3BlYyk7XG4gICAgY29uc3QgeyBpZCwgLi4udXBkYXRlUGF5bG9hZCB9ID0gcGF5bG9hZDtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMucmVxdWVzdChcbiAgICAgIFwiUE9TVFwiLFxuICAgICAgYC9zLyR7cmVhbG1OYW1lfS9hcGkvZGF0YV92aWV3cy9kYXRhX3ZpZXcvJHtlbmNvZGVVUklDb21wb25lbnQoaWQpfWAsXG4gICAgICB7IGRhdGFfdmlldzogdXBkYXRlUGF5bG9hZCB9LFxuICAgICAgdGhpcy5jb25maWcuYWRtaW5BcGlVc2VyLFxuICAgICAgeyBoZWFkZXJzOiB7IFwia2JuLXhzcmZcIjogXCJ0cnVlXCIsIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0gfSxcbiAgICAgIDIwMCxcbiAgICAgIC4uLmN0eEFyZ3NcbiAgICApO1xuICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPj0gMzAwKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFVuYWJsZSB0byB1cGRhdGUgZGF0YSB2aWV3ICR7cGF5bG9hZC5pZH06ICR7cmVzcG9uc2Uuc3RhdHVzVGV4dH1gO1xuICAgICAgdGhyb3cgbmV3IEJhZFJlcXVlc3RFcnJvcihtZXNzYWdlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjcmVhdGVEYXRhVmlld3MoXG4gICAgcmVhbG1OYW1lOiBzdHJpbmcsXG4gICAgZGF0YVZpZXdzOiBLaWJhbmFEYXRhVmlld0NvbmZpZ1tdIHwgdW5kZWZpbmVkLFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKFxuICAgICAgYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJjcmVhdGVEYXRhVmlld3NcIiwgdHJ1ZSlcbiAgICApLmZvcih0aGlzLmNyZWF0ZURhdGFWaWV3cyk7XG4gICAgY29uc3Qgc3BlY3MgPVxuICAgICAgZGF0YVZpZXdzICYmIGRhdGFWaWV3cy5sZW5ndGggPiAwXG4gICAgICAgID8gZGF0YVZpZXdzXG4gICAgICAgIDogdGhpcy5kZWZhdWx0RGF0YVZpZXdDb25maWdzKHJlYWxtTmFtZSk7XG4gICAgZm9yIChjb25zdCBzcGVjIG9mIHNwZWNzKSB7XG4gICAgICBhd2FpdCB0aGlzLmNyZWF0ZURhdGFWaWV3KHJlYWxtTmFtZSwgc3BlYywgLi4uY3R4QXJncyk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2V0RGVmYXVsdERhdGFWaWV3KFxuICAgIHJlYWxtTmFtZTogc3RyaW5nLFxuICAgIGRhdGFWaWV3SWQ6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwic2V0RGVmYXVsdERhdGFWaWV3XCIsIHRydWUpXG4gICAgKS5mb3IodGhpcy5zZXREZWZhdWx0RGF0YVZpZXcpO1xuICAgIGNvbnN0IGR2SWQgPVxuICAgICAgZGF0YVZpZXdJZCA/P1xuICAgICAgdGhpcy5jb25maWcuZGF0YVZpZXdzPy5bMF0/LmlkID8/XG4gICAgICB0aGlzLmRlZmF1bHREYXRhVmlld0NvbmZpZ3MocmVhbG1OYW1lKVswXT8uaWQ7XG4gICAgY29uc3Qgc3RhdHVzUmVzcCA9IGF3YWl0IHRoaXMucmVxdWVzdChcbiAgICAgIFwiR0VUXCIsXG4gICAgICBgL2FwaS9zdGF0dXNgLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgeyBoZWFkZXJzOiB7IFwia2JuLXhzcmZcIjogXCJ0cnVlXCIgfSB9LFxuICAgICAgMjAwLFxuICAgICAgLi4uY3R4QXJnc1xuICAgICk7XG4gICAgaWYgKHN0YXR1c1Jlc3Auc3RhdHVzICE9PSAyMDAgfHwgIWR2SWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgc3RhdHVzRGF0YSA9IHBhcnNlSnNvbkJvZHk8YW55PihzdGF0dXNSZXNwLmRhdGEpO1xuICAgIGNvbnN0IGtpYmFuYVZlcnNpb24gPVxuICAgICAgc3RhdHVzRGF0YT8udmVyc2lvbj8ubnVtYmVyID8/IHN0YXR1c0RhdGE/LmtpYmFuYT8udmVyc2lvbjtcbiAgICBpZiAoIWtpYmFuYVZlcnNpb24pIHJldHVybjtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMucmVxdWVzdChcbiAgICAgIFwiUE9TVFwiLFxuICAgICAgYC9zLyR7cmVhbG1OYW1lfS9hcGkvc2F2ZWRfb2JqZWN0cy9jb25maWcvJHtraWJhbmFWZXJzaW9ufT9vdmVyd3JpdGU9dHJ1ZWAsXG4gICAgICB7IGF0dHJpYnV0ZXM6IHsgZGVmYXVsdEluZGV4OiBkdklkIH0gfSxcbiAgICAgIHRoaXMuY29uZmlnLmFkbWluQXBpVXNlcixcbiAgICAgIHsgaGVhZGVyczogeyBcImtibi14c3JmXCI6IFwidHJ1ZVwiLCBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9IH0sXG4gICAgICAyMDAsXG4gICAgICAuLi5jdHhBcmdzXG4gICAgKTtcbiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID49IDMwMCkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBVbmFibGUgdG8gc2V0IGRlZmF1bHQgZGF0YSB2aWV3IGZvciAke3JlYWxtTmFtZX06ICR7cmVzcG9uc2Uuc3RhdHVzVGV4dH1gO1xuICAgICAgdGhyb3cgbmV3IEJhZFJlcXVlc3RFcnJvcihtZXNzYWdlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUh0dHBDbGllbnQoY29uZmlnOiBLaWJhbmFTZXR1cENvbmZpZyk6IEF4aW9zSW5zdGFuY2Uge1xuICAgIHJldHVybiBBeGlvcy5jcmVhdGUoe1xuICAgICAgYmFzZVVSTDogYCR7Y29uZmlnLnByb3RvY29sfTovLyR7Y29uZmlnLmhvc3R9YCxcbiAgICAgIHZhbGlkYXRlU3RhdHVzOiAoKSA9PiB0cnVlLFxuICAgICAgaHR0cHNBZ2VudDogbmV3IGh0dHBzLkFnZW50KHtcbiAgICAgICAgcmVqZWN0VW5hdXRob3JpemVkOiAoKHRoaXMuY29uZmlnIGFzIGFueSkuaXNQcm9kdWN0aW9uKCkpLFxuICAgICAgfSksXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcGFyc2VFcnJvcihlcnJvcjogRXJyb3IpOiBFcnJvciB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGVycm9yLm1lc3NhZ2UgfHwgZXJyb3IubmFtZSB8fCBcIlVua25vd24gZXJyb3JcIjtcbiAgICBjb25zdCBsb3dlck1lc3NhZ2UgPSBtZXNzYWdlLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwibm90IGZvdW5kXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwNFwiKSkge1xuICAgICAgcmV0dXJuIG5ldyBOb3RGb3VuZEVycm9yKG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJhbHJlYWR5IGV4aXN0c1wiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJjb25mbGljdFwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDlcIikpIHtcbiAgICAgIHJldHVybiBuZXcgQ29uZmxpY3RFcnJvcihtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiaW52YWxpZFwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJiYWQgcmVxdWVzdFwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDBcIikpIHtcbiAgICAgIHJldHVybiBuZXcgQmFkUmVxdWVzdEVycm9yKG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJ1bmF1dGhvcml6ZWRcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDAxXCIpKSB7XG4gICAgICByZXR1cm4gbmV3IE5vdEZvdW5kRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgaWYgKGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcImZvcmJpZGRlblwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDNcIikpIHtcbiAgICAgIHJldHVybiBuZXcgTm90Rm91bmRFcnJvcihtZXNzYWdlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEludGVybmFsRXJyb3IobWVzc2FnZSk7XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZURhdGFWaWV3Q29uZmlnKFxuICAgIHJlYWxtTmFtZTogc3RyaW5nLFxuICAgIHNwZWM6IEtpYmFuYURhdGFWaWV3Q29uZmlnXG4gICk6IEtpYmFuYURhdGFWaWV3Q29uZmlnIHtcbiAgICBjb25zdCBzdWZmaXggPSByZWFsbU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3BlYyxcbiAgICAgIG5hbWU6IHNwZWMubmFtZSA/PyBzcGVjLmlkLFxuICAgICAgdGl0bGU6XG4gICAgICAgIHNwZWMudGl0bGUgPz9cbiAgICAgICAgKHNwZWMuaWQuaW5jbHVkZXMoXCJmaWxlYmVhdFwiKVxuICAgICAgICAgID8gYGZpbGViZWF0LXBsYS0ke3N1ZmZpeH0tKmBcbiAgICAgICAgICA6IGBtZXRyaWNiZWF0LXBsYS0ke3N1ZmZpeH0tKmApLFxuICAgICAgdGltZUZpZWxkTmFtZTogc3BlYy50aW1lRmllbGROYW1lID8/IFwiQHRpbWVzdGFtcFwiLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGRlZmF1bHREYXRhVmlld0NvbmZpZ3MocmVhbG1OYW1lOiBzdHJpbmcpOiBLaWJhbmFEYXRhVmlld0NvbmZpZ1tdIHtcbiAgICBjb25zdCBzdWZmaXggPSByZWFsbU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBpZDogYGZpbGViZWF0X3BsYV8ke3N1ZmZpeH1gLFxuICAgICAgICBuYW1lOiBgUExBIEZpbGViZWF0IExvZ3MgKCR7cmVhbG1OYW1lfSlgLFxuICAgICAgICB0aXRsZTogYGZpbGViZWF0LXBsYS0ke3N1ZmZpeH0tKmAsXG4gICAgICAgIHRpbWVGaWVsZE5hbWU6IFwiQHRpbWVzdGFtcFwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6IGBsb2dzX3BsYV8ke3N1ZmZpeH1gLFxuICAgICAgICBuYW1lOiBgUExBIE1ldHJpY2JlYXQgTG9ncyAoJHtyZWFsbU5hbWV9KWAsXG4gICAgICAgIHRpdGxlOiBgbWV0cmljYmVhdC1wbGEtJHtzdWZmaXh9LSpgLFxuICAgICAgICB0aW1lRmllbGROYW1lOiBcIkB0aW1lc3RhbXBcIixcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVxdWVzdChcbiAgICBtZXRob2Q6IFwiR0VUXCIgfCBcIlBPU1RcIiB8IFwiUFVUXCIgfCBcIkRFTEVURVwiLFxuICAgIHVybDogc3RyaW5nLFxuICAgIHBheWxvYWQ6IHVua25vd24sXG4gICAgYXBpVXNlcjogS2liYW5hVXNlciB8IHVuZGVmaW5lZCxcbiAgICBleHRyYTogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICBzdWNjZXNzQ29kZTogbnVtYmVyLFxuICAgIC4uLmFyZ3M6IENvbnRleHR1YWxBcmdzPGFueT5cbiAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICB0aGlzLmxvZ0N0eChhcmdzLCB0aGlzLnJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmNsaWVudC5yZXF1ZXN0KHtcbiAgICAgIG1ldGhvZCxcbiAgICAgIHVybCxcbiAgICAgIGRhdGE6XG4gICAgICAgIHBheWxvYWQgPT09IHVuZGVmaW5lZFxuICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgOiB0eXBlb2YgcGF5bG9hZCA9PT0gXCJzdHJpbmdcIlxuICAgICAgICAgICAgPyBwYXlsb2FkXG4gICAgICAgICAgICA6IEpTT04uc3RyaW5naWZ5KHBheWxvYWQpLFxuICAgICAgYXV0aDogYXBpVXNlclxuICAgICAgICA/IHsgdXNlcm5hbWU6IGFwaVVzZXIudXNlcm5hbWUsIHBhc3N3b3JkOiBhcGlVc2VyLnBhc3N3b3JkIH1cbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICB2YWxpZGF0ZVN0YXR1czogKCkgPT4gdHJ1ZSxcbiAgICAgIGh0dHBzQWdlbnQ6IG5ldyBodHRwcy5BZ2VudCh7XG4gICAgICAgIHJlamVjdFVuYXV0aG9yaXplZDogKCh0aGlzLmNvbmZpZyBhcyBhbnkpLmlzUHJvZHVjdGlvbigpKSxcbiAgICAgIH0pLFxuICAgICAgLi4uZXh0cmEsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2liYW5hRGF0YVZpZXdTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiS2liYW5hRGF0YVZpZXdTZXJ2aWNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDakYsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3SCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVTtRQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDOztRQUMxSCxLQUFLLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFF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QUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUN2QixNQUFNO1lBQ04sR0FBRztZQUNILElBQUksRUFBRSxPQUFPLEtBQUssU0FBUztnQkFDdkIsQ0FBQyxDQUFDLFNBQVM7Z0JBQ1gsQ0FBQyxDQUFDLE9BQU8sT0FBTyxLQUFLLFFBQVE7b0JBQ3pCLENBQUMsQ0FBQyxPQUFPO29CQUNULENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUNqQyxJQUFJLEVBQUUsT0FBTztnQkFDVCxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRTtnQkFDNUQsQ0FBQyxDQUFDLFNBQVM7WUFDZixjQUFjLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSTtZQUMxQixVQUFVLEVBQUUsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDO2dCQUN4QixrQkFBa0IsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7YUFDbkQsQ0FBQztZQUNGLEdBQUcsS0FBSztTQUNYLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSjtBQXpJRCxzREF5SUM7QUFDRCxVQUFVLENBQUM7SUFDUCxJQUFBLGNBQU8sR0FBRTtJQUNULFVBQVUsQ0FBQyxhQUFhLEVBQUUsd0NBQWlCLENBQUM7Q0FDL0MsRUFBRSxxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDM0QsOHFuQkFBOHFuQiIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX2RlY29yYXRlID0gKHRoaXMgJiYgdGhpcy5fX2RlY29yYXRlKSB8fCBmdW5jdGlvbiAoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xufTtcbnZhciBfX21ldGFkYXRhID0gKHRoaXMgJiYgdGhpcy5fX21ldGFkYXRhKSB8fCBmdW5jdGlvbiAoaywgdikge1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShrLCB2KTtcbn07XG5pbXBvcnQgeyBCYWRSZXF1ZXN0RXJyb3IsIENvbmZsaWN0RXJyb3IsIEludGVybmFsRXJyb3IsIE5vdEZvdW5kRXJyb3IsIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBDbGllbnRCYXNlZFNlcnZpY2UsIHNlcnZpY2UgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCBBeGlvcyBmcm9tIFwiYXhpb3NcIjtcbmltcG9ydCAqIGFzIGh0dHBzIGZyb20gXCJub2RlOmh0dHBzXCI7XG5pbXBvcnQgeyBLaWJhbmFBdXRoU2VydmljZSB9IGZyb20gXCIuL0tpYmFuYUF1dGhTZXJ2aWNlLmpzXCI7XG5pbXBvcnQgeyBwYXJzZUpzb25Cb2R5IH0gZnJvbSBcIi4vLi4vLi4vc2hhcmVkL3J1bnRpbWUuanNcIjtcbmV4cG9ydCBjbGFzcyBLaWJhbmFEYXRhVmlld1NlcnZpY2UgZXh0ZW5kcyBDbGllbnRCYXNlZFNlcnZpY2Uge1xuICAgIGFzeW5jIGluaXRpYWxpemUoLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImluaXRpYWxpemVcIiwgdHJ1ZSkpLmZvcih0aGlzLmluaXRpYWxpemUpO1xuICAgICAgICBjb25zdCBjb25maWcgPSBjdHhBcmdzWzBdO1xuICAgICAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XG4gICAgICAgIGNvbnN0IGNsaWVudCA9IHRoaXMuY3JlYXRlSHR0cENsaWVudChjb25maWcpO1xuICAgICAgICB0aGlzLl9jbGllbnQgPSBjbGllbnQ7XG4gICAgICAgIHJldHVybiB7IGNvbmZpZywgY2xpZW50IH07XG4gICAgfVxuICAgIGFzeW5jIGNyZWF0ZURhdGFWaWV3KHJlYWxtTmFtZSwgc3BlYywgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImNyZWF0ZURhdGFWaWV3XCIsIHRydWUpKS5mb3IodGhpcy5jcmVhdGVEYXRhVmlldyk7XG4gICAgICAgIGNvbnN0IHBheWxvYWQgPSB0aGlzLm5vcm1hbGl6ZURhdGFWaWV3Q29uZmlnKHJlYWxtTmFtZSwgc3BlYyk7XG4gICAgICAgIGNvbnN0IGNyZWF0ZVJlc3AgPSBhd2FpdCB0aGlzLnJlcXVlc3QoXCJQT1NUXCIsIGAvcy8ke3JlYWxtTmFtZX0vYXBpL2RhdGFfdmlld3MvZGF0YV92aWV3YCwgeyBkYXRhX3ZpZXc6IHBheWxvYWQgfSwgdGhpcy5jb25maWcuYWRtaW5BcGlVc2VyLCB7IGhlYWRlcnM6IHsgXCJrYm4teHNyZlwiOiBcInRydWVcIiwgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSB9LCAyMDAsIC4uLmN0eEFyZ3MpO1xuICAgICAgICBpZiAoY3JlYXRlUmVzcC5zdGF0dXMgPT09IDIwMCB8fCBjcmVhdGVSZXNwLnN0YXR1cyA9PT0gMjAxKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAoY3JlYXRlUmVzcC5zdGF0dXMgIT09IDQwOSAmJiBjcmVhdGVSZXNwLnN0YXR1cyAhPT0gNDAwKSB7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYFVuYWJsZSB0byBjcmVhdGUgZGF0YSB2aWV3ICR7cGF5bG9hZC5pZH06ICR7Y3JlYXRlUmVzcC5zdGF0dXNUZXh0fWA7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQmFkUmVxdWVzdEVycm9yKG1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIGF3YWl0IHRoaXMudXBkYXRlRGF0YVZpZXcocmVhbG1OYW1lLCBwYXlsb2FkLCAuLi5jdHhBcmdzKTtcbiAgICB9XG4gICAgYXN5bmMgdXBkYXRlRGF0YVZpZXcocmVhbG1OYW1lLCBzcGVjLCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwidXBkYXRlRGF0YVZpZXdcIiwgdHJ1ZSkpLmZvcih0aGlzLnVwZGF0ZURhdGFWaWV3KTtcbiAgICAgICAgY29uc3QgcGF5bG9hZCA9IHRoaXMubm9ybWFsaXplRGF0YVZpZXdDb25maWcocmVhbG1OYW1lLCBzcGVjKTtcbiAgICAgICAgY29uc3QgeyBpZCwgLi4udXBkYXRlUGF5bG9hZCB9ID0gcGF5bG9hZDtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3QoXCJQT1NUXCIsIGAvcy8ke3JlYWxtTmFtZX0vYXBpL2RhdGFfdmlld3MvZGF0YV92aWV3LyR7ZW5jb2RlVVJJQ29tcG9uZW50KGlkKX1gLCB7IGRhdGFfdmlldzogdXBkYXRlUGF5bG9hZCB9LCB0aGlzLmNvbmZpZy5hZG1pbkFwaVVzZXIsIHsgaGVhZGVyczogeyBcImtibi14c3JmXCI6IFwidHJ1ZVwiLCBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9IH0sIDIwMCwgLi4uY3R4QXJncyk7XG4gICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPj0gMzAwKSB7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYFVuYWJsZSB0byB1cGRhdGUgZGF0YSB2aWV3ICR7cGF5bG9hZC5pZH06ICR7cmVzcG9uc2Uuc3RhdHVzVGV4dH1gO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEJhZFJlcXVlc3RFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhc3luYyBjcmVhdGVEYXRhVmlld3MocmVhbG1OYW1lLCBkYXRhVmlld3MsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJjcmVhdGVEYXRhVmlld3NcIiwgdHJ1ZSkpLmZvcih0aGlzLmNyZWF0ZURhdGFWaWV3cyk7XG4gICAgICAgIGNvbnN0IHNwZWNzID0gZGF0YVZpZXdzICYmIGRhdGFWaWV3cy5sZW5ndGggPiAwXG4gICAgICAgICAgICA/IGRhdGFWaWV3c1xuICAgICAgICAgICAgOiB0aGlzLmRlZmF1bHREYXRhVmlld0NvbmZpZ3MocmVhbG1OYW1lKTtcbiAgICAgICAgZm9yIChjb25zdCBzcGVjIG9mIHNwZWNzKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmNyZWF0ZURhdGFWaWV3KHJlYWxtTmFtZSwgc3BlYywgLi4uY3R4QXJncyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgc2V0RGVmYXVsdERhdGFWaWV3KHJlYWxtTmFtZSwgZGF0YVZpZXdJZCwgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInNldERlZmF1bHREYXRhVmlld1wiLCB0cnVlKSkuZm9yKHRoaXMuc2V0RGVmYXVsdERhdGFWaWV3KTtcbiAgICAgICAgY29uc3QgZHZJZCA9IGRhdGFWaWV3SWQgPz9cbiAgICAgICAgICAgIHRoaXMuY29uZmlnLmRhdGFWaWV3cz8uWzBdPy5pZCA/P1xuICAgICAgICAgICAgdGhpcy5kZWZhdWx0RGF0YVZpZXdDb25maWdzKHJlYWxtTmFtZSlbMF0/LmlkO1xuICAgICAgICBjb25zdCBzdGF0dXNSZXNwID0gYXdhaXQgdGhpcy5yZXF1ZXN0KFwiR0VUXCIsIGAvYXBpL3N0YXR1c2AsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB7IGhlYWRlcnM6IHsgXCJrYm4teHNyZlwiOiBcInRydWVcIiB9IH0sIDIwMCwgLi4uY3R4QXJncyk7XG4gICAgICAgIGlmIChzdGF0dXNSZXNwLnN0YXR1cyAhPT0gMjAwIHx8ICFkdklkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3RhdHVzRGF0YSA9IHBhcnNlSnNvbkJvZHkoc3RhdHVzUmVzcC5kYXRhKTtcbiAgICAgICAgY29uc3Qga2liYW5hVmVyc2lvbiA9IHN0YXR1c0RhdGE/LnZlcnNpb24/Lm51bWJlciA/PyBzdGF0dXNEYXRhPy5raWJhbmE/LnZlcnNpb247XG4gICAgICAgIGlmICgha2liYW5hVmVyc2lvbilcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3QoXCJQT1NUXCIsIGAvcy8ke3JlYWxtTmFtZX0vYXBpL3NhdmVkX29iamVjdHMvY29uZmlnLyR7a2liYW5hVmVyc2lvbn0/b3ZlcndyaXRlPXRydWVgLCB7IGF0dHJpYnV0ZXM6IHsgZGVmYXVsdEluZGV4OiBkdklkIH0gfSwgdGhpcy5jb25maWcuYWRtaW5BcGlVc2VyLCB7IGhlYWRlcnM6IHsgXCJrYm4teHNyZlwiOiBcInRydWVcIiwgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSB9LCAyMDAsIC4uLmN0eEFyZ3MpO1xuICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID49IDMwMCkge1xuICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBVbmFibGUgdG8gc2V0IGRlZmF1bHQgZGF0YSB2aWV3IGZvciAke3JlYWxtTmFtZX06ICR7cmVzcG9uc2Uuc3RhdHVzVGV4dH1gO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEJhZFJlcXVlc3RFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjcmVhdGVIdHRwQ2xpZW50KGNvbmZpZykge1xuICAgICAgICByZXR1cm4gQXhpb3MuY3JlYXRlKHtcbiAgICAgICAgICAgIGJhc2VVUkw6IGAke2NvbmZpZy5wcm90b2NvbH06Ly8ke2NvbmZpZy5ob3N0fWAsXG4gICAgICAgICAgICB2YWxpZGF0ZVN0YXR1czogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICAgIGh0dHBzQWdlbnQ6IG5ldyBodHRwcy5BZ2VudCh7XG4gICAgICAgICAgICAgICAgcmVqZWN0VW5hdXRob3JpemVkOiAodGhpcy5jb25maWcuaXNQcm9kdWN0aW9uKCkpLFxuICAgICAgICAgICAgfSksXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBwYXJzZUVycm9yKGVycm9yKSB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlIHx8IGVycm9yLm5hbWUgfHwgXCJVbmtub3duIGVycm9yXCI7XG4gICAgICAgIGNvbnN0IGxvd2VyTWVzc2FnZSA9IG1lc3NhZ2UudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgaWYgKGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIm5vdCBmb3VuZFwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDRcIikpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTm90Rm91bmRFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiYWxyZWFkeSBleGlzdHNcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiY29uZmxpY3RcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDA5XCIpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IENvbmZsaWN0RXJyb3IobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcImludmFsaWRcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiYmFkIHJlcXVlc3RcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDAwXCIpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEJhZFJlcXVlc3RFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwidW5hdXRob3JpemVkXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwMVwiKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBOb3RGb3VuZEVycm9yKG1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJmb3JiaWRkZW5cIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDAzXCIpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IE5vdEZvdW5kRXJyb3IobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBJbnRlcm5hbEVycm9yKG1lc3NhZ2UpO1xuICAgIH1cbiAgICBub3JtYWxpemVEYXRhVmlld0NvbmZpZyhyZWFsbU5hbWUsIHNwZWMpIHtcbiAgICAgICAgY29uc3Qgc3VmZml4ID0gcmVhbG1OYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5zcGVjLFxuICAgICAgICAgICAgbmFtZTogc3BlYy5uYW1lID8/IHNwZWMuaWQsXG4gICAgICAgICAgICB0aXRsZTogc3BlYy50aXRsZSA/P1xuICAgICAgICAgICAgICAgIChzcGVjLmlkLmluY2x1ZGVzKFwiZmlsZWJlYXRcIilcbiAgICAgICAgICAgICAgICAgICAgPyBgZmlsZWJlYXQtcGxhLSR7c3VmZml4fS0qYFxuICAgICAgICAgICAgICAgICAgICA6IGBtZXRyaWNiZWF0LXBsYS0ke3N1ZmZpeH0tKmApLFxuICAgICAgICAgICAgdGltZUZpZWxkTmFtZTogc3BlYy50aW1lRmllbGROYW1lID8/IFwiQHRpbWVzdGFtcFwiLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBkZWZhdWx0RGF0YVZpZXdDb25maWdzKHJlYWxtTmFtZSkge1xuICAgICAgICBjb25zdCBzdWZmaXggPSByZWFsbU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogYGZpbGViZWF0X3BsYV8ke3N1ZmZpeH1gLFxuICAgICAgICAgICAgICAgIG5hbWU6IGBQTEEgRmlsZWJlYXQgTG9ncyAoJHtyZWFsbU5hbWV9KWAsXG4gICAgICAgICAgICAgICAgdGl0bGU6IGBmaWxlYmVhdC1wbGEtJHtzdWZmaXh9LSpgLFxuICAgICAgICAgICAgICAgIHRpbWVGaWVsZE5hbWU6IFwiQHRpbWVzdGFtcFwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogYGxvZ3NfcGxhXyR7c3VmZml4fWAsXG4gICAgICAgICAgICAgICAgbmFtZTogYFBMQSBNZXRyaWNiZWF0IExvZ3MgKCR7cmVhbG1OYW1lfSlgLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBgbWV0cmljYmVhdC1wbGEtJHtzdWZmaXh9LSpgLFxuICAgICAgICAgICAgICAgIHRpbWVGaWVsZE5hbWU6IFwiQHRpbWVzdGFtcFwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICB9XG4gICAgYXN5bmMgcmVxdWVzdChtZXRob2QsIHVybCwgcGF5bG9hZCwgYXBpVXNlciwgZXh0cmEsIHN1Y2Nlc3NDb2RlLCAuLi5hcmdzKSB7XG4gICAgICAgIHRoaXMubG9nQ3R4KGFyZ3MsIHRoaXMucmVxdWVzdCk7XG4gICAgICAgIHJldHVybiB0aGlzLmNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgICAgIG1ldGhvZCxcbiAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgIGRhdGE6IHBheWxvYWQgPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgOiB0eXBlb2YgcGF5bG9hZCA9PT0gXCJzdHJpbmdcIlxuICAgICAgICAgICAgICAgICAgICA/IHBheWxvYWRcbiAgICAgICAgICAgICAgICAgICAgOiBKU09OLnN0cmluZ2lmeShwYXlsb2FkKSxcbiAgICAgICAgICAgIGF1dGg6IGFwaVVzZXJcbiAgICAgICAgICAgICAgICA/IHsgdXNlcm5hbWU6IGFwaVVzZXIudXNlcm5hbWUsIHBhc3N3b3JkOiBhcGlVc2VyLnBhc3N3b3JkIH1cbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHZhbGlkYXRlU3RhdHVzOiAoKSA9PiB0cnVlLFxuICAgICAgICAgICAgaHR0cHNBZ2VudDogbmV3IGh0dHBzLkFnZW50KHtcbiAgICAgICAgICAgICAgICByZWplY3RVbmF1dGhvcml6ZWQ6ICh0aGlzLmNvbmZpZy5pc1Byb2R1Y3Rpb24oKSksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIC4uLmV4dHJhLFxuICAgICAgICB9KTtcbiAgICB9XG59XG5fX2RlY29yYXRlKFtcbiAgICBzZXJ2aWNlKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEtpYmFuYUF1dGhTZXJ2aWNlKVxuXSwgS2liYW5hRGF0YVZpZXdTZXJ2aWNlLnByb3RvdHlwZSwgXCJhdXRoU2VydmljZVwiLCB2b2lkIDApO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pUzJsaVlXNWhSR0YwWVZacFpYZFRaWEoyYVdObExtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpTGk0dkxpNHZMaTR2TGk0dmMzSmpMMnRwWW1GdVlTOXpaWEoyYVdObGN5OUxhV0poYm1GRVlYUmhWbWxsZDFObGNuWnBZMlV1ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWpzN096czdPenM3TzBGQlFVRXNUMEZCVHl4RlFVTk1MR1ZCUVdVc1JVRkRaaXhoUVVGaExFVkJRMklzWVVGQllTeEZRVU5pTEdGQlFXRXNSMEZEWkN4TlFVRk5MSGxDUVVGNVFpeERRVUZETzBGQlJXcERMRTlCUVU4c1JVRkJSU3hyUWtGQmEwSXNSVUZCUlN4UFFVRlBMRVZCUVVVc1RVRkJUU3huUWtGQlowSXNRMEZCUXp0QlFVMDNSQ3hQUVVGUExFdEJRWGRDTEUxQlFVMHNUMEZCVHl4RFFVRkRPMEZCUXpkRExFOUJRVThzUzBGQlN5eExRVUZMTEUxQlFVMHNXVUZCV1N4RFFVRkRPMEZCUTNCRExFOUJRVThzUlVGQlJTeHBRa0ZCYVVJc1JVRkJSU3dyUWtGQk5FSTdRVUZEZUVRc1QwRkJUeXhGUVVGRkxHRkJRV0VzUlVGQlJTeHJRMEZCTmtJN1FVRkZja1FzVFVGQlRTeFBRVUZQTEhGQ1FVRnpRaXhUUVVGUkxHdENRVWN4UXp0SlFVbERMRXRCUVVzc1EwRkJReXhWUVVGVkxFTkJRMlFzUjBGQlJ5eEpRVUUyUWp0UlFVVm9ReXhOUVVGTkxFVkJRVVVzVDBGQlR5eEZRVUZGTEVkQlFVY3NRMEZEYkVJc1RVRkJUU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NSVUZCUlN4WlFVRlpMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRelZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF6dFJRVU4yUWl4TlFVRk5MRTFCUVUwc1IwRkJSeXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZ6UWl4RFFVRkRPMUZCUXk5RExFbEJRVWtzUTBGQlF5eFBRVUZQTEVkQlFVY3NUVUZCVFN4RFFVRkRPMUZCUTNSQ0xFMUJRVTBzVFVGQlRTeEhRVUZITEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0UlFVTTNReXhKUVVGSkxFTkJRVU1zVDBGQlR5eEhRVUZITEUxQlFVMHNRMEZCUXp0UlFVTjBRaXhQUVVGUExFVkJRVVVzVFVGQlRTeEZRVUZGTEUxQlFVMHNSVUZCUlN4RFFVRkRPMGxCUXpWQ0xFTkJRVU03U1VGRlJDeExRVUZMTEVOQlFVTXNZMEZCWXl4RFFVTnNRaXhUUVVGcFFpeEZRVU5xUWl4SlFVRXdRaXhGUVVNeFFpeEhRVUZITEVsQlFUWkNPMUZCUldoRExFMUJRVTBzUlVGQlJTeFBRVUZQTEVWQlFVVXNSMEZCUnl4RFFVTnNRaXhOUVVGTkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RlFVRkZMR2RDUVVGblFpeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVTm9SQ3hEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRU5CUVVNN1VVRkRNMElzVFVGQlRTeFBRVUZQTEVkQlFVY3NTVUZCU1N4RFFVRkRMSFZDUVVGMVFpeERRVUZETEZOQlFWTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJRenRSUVVNNVJDeE5RVUZOTEZWQlFWVXNSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRMjVETEUxQlFVMHNSVUZEVGl4TlFVRk5MRk5CUVZNc01rSkJRVEpDTEVWQlF6RkRMRVZCUVVVc1UwRkJVeXhGUVVGRkxFOUJRVThzUlVGQlJTeEZRVU4wUWl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExGbEJRVmtzUlVGRGVFSXNSVUZCUlN4UFFVRlBMRVZCUVVVc1JVRkJSU3hWUVVGVkxFVkJRVVVzVFVGQlRTeEZRVUZGTEdOQlFXTXNSVUZCUlN4clFrRkJhMElzUlVGQlJTeEZRVUZGTEVWQlEzWkZMRWRCUVVjc1JVRkRTQ3hIUVVGSExFOUJRVThzUTBGRFdDeERRVUZETzFGQlJVWXNTVUZCU1N4VlFVRlZMRU5CUVVNc1RVRkJUU3hMUVVGTExFZEJRVWNzU1VGQlNTeFZRVUZWTEVOQlFVTXNUVUZCVFN4TFFVRkxMRWRCUVVjN1dVRkJSU3hQUVVGUE8xRkJRMjVGTEVsQlFVa3NWVUZCVlN4RFFVRkRMRTFCUVUwc1MwRkJTeXhIUVVGSExFbEJRVWtzVlVGQlZTeERRVUZETEUxQlFVMHNTMEZCU3l4SFFVRkhMRVZCUVVVc1EwRkJRenRaUVVNelJDeE5RVUZOTEU5QlFVOHNSMEZCUnl3NFFrRkJPRUlzVDBGQlR5eERRVUZETEVWQlFVVXNTMEZCU3l4VlFVRlZMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFTkJRVU03V1VGRGNrWXNUVUZCVFN4SlFVRkpMR1ZCUVdVc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dFJRVU55UXl4RFFVRkRPMUZCUlVRc1RVRkJUU3hKUVVGSkxFTkJRVU1zWTBGQll5eERRVUZETEZOQlFWTXNSVUZCUlN4UFFVRlBMRVZCUVVVc1IwRkJSeXhQUVVGUExFTkJRVU1zUTBGQlF6dEpRVU0xUkN4RFFVRkRPMGxCUlVRc1MwRkJTeXhEUVVGRExHTkJRV01zUTBGRGJFSXNVMEZCYVVJc1JVRkRha0lzU1VGQk1FSXNSVUZETVVJc1IwRkJSeXhKUVVFMlFqdFJRVVZvUXl4TlFVRk5MRVZCUVVVc1QwRkJUeXhGUVVGRkxFZEJRVWNzUTBGRGJFSXNUVUZCVFN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUlVGQlJTeG5Ra0ZCWjBJc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGRGFFUXNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExHTkJRV01zUTBGQlF5eERRVUZETzFGQlF6TkNMRTFCUVUwc1QwRkJUeXhIUVVGSExFbEJRVWtzUTBGQlF5eDFRa0ZCZFVJc1EwRkJReXhUUVVGVExFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTTdVVUZET1VRc1RVRkJUU3hGUVVGRkxFVkJRVVVzUlVGQlJTeEhRVUZITEdGQlFXRXNSVUZCUlN4SFFVRkhMRTlCUVU4c1EwRkJRenRSUVVONlF5eE5RVUZOTEZGQlFWRXNSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRMnBETEUxQlFVMHNSVUZEVGl4TlFVRk5MRk5CUVZNc05rSkJRVFpDTEd0Q1FVRnJRaXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlEzQkZMRVZCUVVVc1UwRkJVeXhGUVVGRkxHRkJRV0VzUlVGQlJTeEZRVU0xUWl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExGbEJRVmtzUlVGRGVFSXNSVUZCUlN4UFFVRlBMRVZCUVVVc1JVRkJSU3hWUVVGVkxFVkJRVVVzVFVGQlRTeEZRVUZGTEdOQlFXTXNSVUZCUlN4clFrRkJhMElzUlVGQlJTeEZRVUZGTEVWQlEzWkZMRWRCUVVjc1JVRkRTQ3hIUVVGSExFOUJRVThzUTBGRFdDeERRVUZETzFGQlEwWXNTVUZCU1N4UlFVRlJMRU5CUVVNc1RVRkJUU3hKUVVGSkxFZEJRVWNzUlVGQlJTeERRVUZETzFsQlF6TkNMRTFCUVUwc1QwRkJUeXhIUVVGSExEaENRVUU0UWl4UFFVRlBMRU5CUVVNc1JVRkJSU3hMUVVGTExGRkJRVkVzUTBGQlF5eFZRVUZWTEVWQlFVVXNRMEZCUXp0WlFVTnVSaXhOUVVGTkxFbEJRVWtzWlVGQlpTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRPMUZCUTNKRExFTkJRVU03U1VGRFNDeERRVUZETzBsQlJVUXNTMEZCU3l4RFFVRkRMR1ZCUVdVc1EwRkRia0lzVTBGQmFVSXNSVUZEYWtJc1UwRkJOa01zUlVGRE4wTXNSMEZCUnl4SlFVRTJRanRSUVVWb1F5eE5RVUZOTEVWQlFVVXNUMEZCVHl4RlFVRkZMRWRCUVVjc1EwRkRiRUlzVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1JVRkJSU3hwUWtGQmFVSXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkRha1FzUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMR1ZCUVdVc1EwRkJReXhEUVVGRE8xRkJRelZDTEUxQlFVMHNTMEZCU3l4SFFVTlVMRk5CUVZNc1NVRkJTU3hUUVVGVExFTkJRVU1zVFVGQlRTeEhRVUZITEVOQlFVTTdXVUZETDBJc1EwRkJReXhEUVVGRExGTkJRVk03V1VGRFdDeERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMSE5DUVVGelFpeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRPMUZCUXpkRExFdEJRVXNzVFVGQlRTeEpRVUZKTEVsQlFVa3NTMEZCU3l4RlFVRkZMRU5CUVVNN1dVRkRla0lzVFVGQlRTeEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRk5CUVZNc1JVRkJSU3hKUVVGSkxFVkJRVVVzUjBGQlJ5eFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVTjZSQ3hEUVVGRE8wbEJRMGdzUTBGQlF6dEpRVVZFTEV0QlFVc3NRMEZCUXl4clFrRkJhMElzUTBGRGRFSXNVMEZCYVVJc1JVRkRha0lzVlVGQk9FSXNSVUZET1VJc1IwRkJSeXhKUVVFMlFqdFJRVVZvUXl4TlFVRk5MRVZCUVVVc1QwRkJUeXhGUVVGRkxFZEJRVWNzUTBGRGJFSXNUVUZCVFN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUlVGQlJTeHZRa0ZCYjBJc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGRGNFUXNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RFFVRkRMRU5CUVVNN1VVRkRMMElzVFVGQlRTeEpRVUZKTEVkQlExSXNWVUZCVlR0WlFVTldMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zVTBGQlV5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVNNVFpeEpRVUZKTEVOQlFVTXNjMEpCUVhOQ0xFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRE8xRkJRMmhFTEUxQlFVMHNWVUZCVlN4SFFVRkhMRTFCUVUwc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGRGJrTXNTMEZCU3l4RlFVTk1MR0ZCUVdFc1JVRkRZaXhUUVVGVExFVkJRMVFzVTBGQlV5eEZRVU5VTEVWQlFVVXNUMEZCVHl4RlFVRkZMRVZCUVVVc1ZVRkJWU3hGUVVGRkxFMUJRVTBzUlVGQlJTeEZRVUZGTEVWQlEyNURMRWRCUVVjc1JVRkRTQ3hIUVVGSExFOUJRVThzUTBGRFdDeERRVUZETzFGQlEwWXNTVUZCU1N4VlFVRlZMRU5CUVVNc1RVRkJUU3hMUVVGTExFZEJRVWNzU1VGQlNTeERRVUZETEVsQlFVa3NSVUZCUlN4RFFVRkRPMWxCUTNaRExFOUJRVTg3VVVGRFZDeERRVUZETzFGQlEwUXNUVUZCVFN4VlFVRlZMRWRCUVVjc1lVRkJZU3hEUVVGTkxGVkJRVlVzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0UlFVTjJSQ3hOUVVGTkxHRkJRV0VzUjBGRGFrSXNWVUZCVlN4RlFVRkZMRTlCUVU4c1JVRkJSU3hOUVVGTkxFbEJRVWtzVlVGQlZTeEZRVUZGTEUxQlFVMHNSVUZCUlN4UFFVRlBMRU5CUVVNN1VVRkROMFFzU1VGQlNTeERRVUZETEdGQlFXRTdXVUZCUlN4UFFVRlBPMUZCUXpOQ0xFMUJRVTBzVVVGQlVTeEhRVUZITEUxQlFVMHNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkRha01zVFVGQlRTeEZRVU5PTEUxQlFVMHNVMEZCVXl3MlFrRkJOa0lzWVVGQllTeHBRa0ZCYVVJc1JVRkRNVVVzUlVGQlJTeFZRVUZWTEVWQlFVVXNSVUZCUlN4WlFVRlpMRVZCUVVVc1NVRkJTU3hGUVVGRkxFVkJRVVVzUlVGRGRFTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhaUVVGWkxFVkJRM2hDTEVWQlFVVXNUMEZCVHl4RlFVRkZMRVZCUVVVc1ZVRkJWU3hGUVVGRkxFMUJRVTBzUlVGQlJTeGpRVUZqTEVWQlFVVXNhMEpCUVd0Q0xFVkJRVVVzUlVGQlJTeEZRVU4yUlN4SFFVRkhMRVZCUTBnc1IwRkJSeXhQUVVGUExFTkJRMWdzUTBGQlF6dFJRVU5HTEVsQlFVa3NVVUZCVVN4RFFVRkRMRTFCUVUwc1NVRkJTU3hIUVVGSExFVkJRVVVzUTBGQlF6dFpRVU16UWl4TlFVRk5MRTlCUVU4c1IwRkJSeXgxUTBGQmRVTXNVMEZCVXl4TFFVRkxMRkZCUVZFc1EwRkJReXhWUVVGVkxFVkJRVVVzUTBGQlF6dFpRVU16Uml4TlFVRk5MRWxCUVVrc1pVRkJaU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzFGQlEzSkRMRU5CUVVNN1NVRkRTQ3hEUVVGRE8wbEJSVThzWjBKQlFXZENMRU5CUVVNc1RVRkJlVUk3VVVGRGFFUXNUMEZCVHl4TFFVRkxMRU5CUVVNc1RVRkJUU3hEUVVGRE8xbEJRMnhDTEU5QlFVOHNSVUZCUlN4SFFVRkhMRTFCUVUwc1EwRkJReXhSUVVGUkxFMUJRVTBzVFVGQlRTeERRVUZETEVsQlFVa3NSVUZCUlR0WlFVTTVReXhqUVVGakxFVkJRVVVzUjBGQlJ5eEZRVUZGTEVOQlFVTXNTVUZCU1R0WlFVTXhRaXhWUVVGVkxFVkJRVVVzU1VGQlNTeExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRPMmRDUVVNeFFpeHJRa0ZCYTBJc1JVRkJSU3hEUVVGRkxFbEJRVWtzUTBGQlF5eE5RVUZqTEVOQlFVTXNXVUZCV1N4RlFVRkZMRU5CUVVNN1lVRkRNVVFzUTBGQlF6dFRRVU5JTEVOQlFVTXNRMEZCUXp0SlFVTk1MRU5CUVVNN1NVRkZVeXhWUVVGVkxFTkJRVU1zUzBGQldUdFJRVU12UWl4TlFVRk5MRTlCUVU4c1IwRkJSeXhMUVVGTExFTkJRVU1zVDBGQlR5eEpRVUZKTEV0QlFVc3NRMEZCUXl4SlFVRkpMRWxCUVVrc1pVRkJaU3hEUVVGRE8xRkJReTlFTEUxQlFVMHNXVUZCV1N4SFFVRkhMRTlCUVU4c1EwRkJReXhYUVVGWExFVkJRVVVzUTBGQlF6dFJRVVV6UXl4SlFVRkpMRmxCUVZrc1EwRkJReXhSUVVGUkxFTkJRVU1zVjBGQlZ5eERRVUZETEVsQlFVa3NXVUZCV1N4RFFVRkRMRkZCUVZFc1EwRkJReXhMUVVGTExFTkJRVU1zUlVGQlJTeERRVUZETzFsQlEzWkZMRTlCUVU4c1NVRkJTU3hoUVVGaExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdVVUZEY0VNc1EwRkJRenRSUVVWRUxFbEJRVWtzV1VGQldTeERRVUZETEZGQlFWRXNRMEZCUXl4blFrRkJaMElzUTBGQlF5eEpRVUZKTEZsQlFWa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1ZVRkJWU3hEUVVGRExFbEJRVWtzV1VGQldTeERRVUZETEZGQlFWRXNRMEZCUXl4TFFVRkxMRU5CUVVNc1JVRkJSU3hEUVVGRE8xbEJRMnBJTEU5QlFVOHNTVUZCU1N4aFFVRmhMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03VVVGRGNFTXNRMEZCUXp0UlFVVkVMRWxCUVVrc1dVRkJXU3hEUVVGRExGRkJRVkVzUTBGQlF5eFRRVUZUTEVOQlFVTXNTVUZCU1N4WlFVRlpMRU5CUVVNc1VVRkJVU3hEUVVGRExHRkJRV0VzUTBGQlF5eEpRVUZKTEZsQlFWa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1MwRkJTeXhEUVVGRExFVkJRVVVzUTBGQlF6dFpRVU0zUnl4UFFVRlBMRWxCUVVrc1pVRkJaU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzFGQlEzUkRMRU5CUVVNN1VVRkZSQ3hKUVVGSkxGbEJRVmtzUTBGQlF5eFJRVUZSTEVOQlFVTXNZMEZCWXl4RFFVRkRMRWxCUVVrc1dVRkJXU3hEUVVGRExGRkJRVkVzUTBGQlF5eExRVUZMTEVOQlFVTXNSVUZCUlN4RFFVRkRPMWxCUXpGRkxFOUJRVThzU1VGQlNTeGhRVUZoTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNN1VVRkRjRU1zUTBGQlF6dFJRVVZFTEVsQlFVa3NXVUZCV1N4RFFVRkRMRkZCUVZFc1EwRkJReXhYUVVGWExFTkJRVU1zU1VGQlNTeFpRVUZaTEVOQlFVTXNVVUZCVVN4RFFVRkRMRXRCUVVzc1EwRkJReXhGUVVGRkxFTkJRVU03V1VGRGRrVXNUMEZCVHl4SlFVRkpMR0ZCUVdFc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dFJRVU53UXl4RFFVRkRPMUZCUlVRc1QwRkJUeXhKUVVGSkxHRkJRV0VzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0SlFVTndReXhEUVVGRE8wbEJSVThzZFVKQlFYVkNMRU5CUXpkQ0xGTkJRV2xDTEVWQlEycENMRWxCUVRCQ08xRkJSVEZDTEUxQlFVMHNUVUZCVFN4SFFVRkhMRk5CUVZNc1EwRkJReXhYUVVGWExFVkJRVVVzUTBGQlF6dFJRVU4yUXl4UFFVRlBPMWxCUTB3c1IwRkJSeXhKUVVGSk8xbEJRMUFzU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4SlFVRkpMRWxCUVVrc1NVRkJTU3hEUVVGRExFVkJRVVU3V1VGRE1VSXNTMEZCU3l4RlFVTklMRWxCUVVrc1EwRkJReXhMUVVGTE8yZENRVU5XTEVOQlFVTXNTVUZCU1N4RFFVRkRMRVZCUVVVc1EwRkJReXhSUVVGUkxFTkJRVU1zVlVGQlZTeERRVUZETzI5Q1FVTXpRaXhEUVVGRExFTkJRVU1zWjBKQlFXZENMRTFCUVUwc1NVRkJTVHR2UWtGRE5VSXNRMEZCUXl4RFFVRkRMR3RDUVVGclFpeE5RVUZOTEVsQlFVa3NRMEZCUXp0WlFVTnVReXhoUVVGaExFVkJRVVVzU1VGQlNTeERRVUZETEdGQlFXRXNTVUZCU1N4WlFVRlpPMU5CUTJ4RUxFTkJRVU03U1VGRFNpeERRVUZETzBsQlJVOHNjMEpCUVhOQ0xFTkJRVU1zVTBGQmFVSTdVVUZET1VNc1RVRkJUU3hOUVVGTkxFZEJRVWNzVTBGQlV5eERRVUZETEZkQlFWY3NSVUZCUlN4RFFVRkRPMUZCUTNaRExFOUJRVTg3V1VGRFREdG5Ra0ZEUlN4RlFVRkZMRVZCUVVVc1owSkJRV2RDTEUxQlFVMHNSVUZCUlR0blFrRkROVUlzU1VGQlNTeEZRVUZGTEhOQ1FVRnpRaXhUUVVGVExFZEJRVWM3WjBKQlEzaERMRXRCUVVzc1JVRkJSU3huUWtGQlowSXNUVUZCVFN4SlFVRkpPMmRDUVVOcVF5eGhRVUZoTEVWQlFVVXNXVUZCV1R0aFFVTTFRanRaUVVORU8yZENRVU5GTEVWQlFVVXNSVUZCUlN4WlFVRlpMRTFCUVUwc1JVRkJSVHRuUWtGRGVFSXNTVUZCU1N4RlFVRkZMSGRDUVVGM1FpeFRRVUZUTEVkQlFVYzdaMEpCUXpGRExFdEJRVXNzUlVGQlJTeHJRa0ZCYTBJc1RVRkJUU3hKUVVGSk8yZENRVU51UXl4aFFVRmhMRVZCUVVVc1dVRkJXVHRoUVVNMVFqdFRRVU5HTEVOQlFVTTdTVUZEU2l4RFFVRkRPMGxCUlU4c1MwRkJTeXhEUVVGRExFOUJRVThzUTBGRGJrSXNUVUZCZVVNc1JVRkRla01zUjBGQlZ5eEZRVU5ZTEU5QlFXZENMRVZCUTJoQ0xFOUJRU3RDTEVWQlF5OUNMRXRCUVRCQ0xFVkJRekZDTEZkQlFXMUNMRVZCUTI1Q0xFZEJRVWNzU1VGQmVVSTdVVUZGTlVJc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVWQlFVVXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRE8xRkJRMmhETEU5QlFVOHNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhQUVVGUExFTkJRVU03V1VGRGVrSXNUVUZCVFR0WlFVTk9MRWRCUVVjN1dVRkRTQ3hKUVVGSkxFVkJRMFlzVDBGQlR5eExRVUZMTEZOQlFWTTdaMEpCUTI1Q0xFTkJRVU1zUTBGQlF5eFRRVUZUTzJkQ1FVTllMRU5CUVVNc1EwRkJReXhQUVVGUExFOUJRVThzUzBGQlN5eFJRVUZSTzI5Q1FVTXpRaXhEUVVGRExFTkJRVU1zVDBGQlR6dHZRa0ZEVkN4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eFBRVUZQTEVOQlFVTTdXVUZETDBJc1NVRkJTU3hGUVVGRkxFOUJRVTg3WjBKQlExZ3NRMEZCUXl4RFFVRkRMRVZCUVVVc1VVRkJVU3hGUVVGRkxFOUJRVThzUTBGQlF5eFJRVUZSTEVWQlFVVXNVVUZCVVN4RlFVRkZMRTlCUVU4c1EwRkJReXhSUVVGUkxFVkJRVVU3WjBKQlF6VkVMRU5CUVVNc1EwRkJReXhUUVVGVE8xbEJRMklzWTBGQll5eEZRVUZGTEVkQlFVY3NSVUZCUlN4RFFVRkRMRWxCUVVrN1dVRkRNVUlzVlVGQlZTeEZRVUZGTEVsQlFVa3NTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJRenRuUWtGRE1VSXNhMEpCUVd0Q0xFVkJRVVVzUTBGQlJTeEpRVUZKTEVOQlFVTXNUVUZCWXl4RFFVRkRMRmxCUVZrc1JVRkJSU3hEUVVGRE8yRkJRekZFTEVOQlFVTTdXVUZEUml4SFFVRkhMRXRCUVVzN1UwRkRWQ3hEUVVGRExFTkJRVU03U1VGRFRDeERRVUZETzBOQlEwWTdRVUZ5VDFjN1NVRkVWQ3hQUVVGUExFVkJRVVU3T0VKQlEyTXNhVUpCUVdsQ096QkVRVUZESWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUh0Y2JpQWdRbUZrVW1WeGRXVnpkRVZ5Y205eUxGeHVJQ0JEYjI1bWJHbGpkRVZ5Y205eUxGeHVJQ0JKYm5SbGNtNWhiRVZ5Y205eUxGeHVJQ0JPYjNSR2IzVnVaRVZ5Y205eUxGeHVmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlJpTFdSbFkyOXlZWFJ2Y25OY0lqdGNibWx0Y0c5eWRDQjdJRU52Ym5SbGVIUjFZV3hCY21kekxDQk5ZWGxpWlVOdmJuUmxlSFIxWVd4QmNtY2dmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMk52Y21WY0lqdGNibWx0Y0c5eWRDQjdJRU5zYVdWdWRFSmhjMlZrVTJWeWRtbGpaU3dnYzJWeWRtbGpaU0I5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12WTI5eVpWd2lPMXh1YVcxd2IzSjBJSFI1Y0dVZ2UxeHVJQ0JMYVdKaGJtRkVZWFJoVm1sbGQwTnZibVpwWnl4Y2JpQWdTMmxpWVc1aFUyVjBkWEJEYjI1bWFXY3NYRzRnSUV0cFltRnVZVlZ6WlhJc1hHNTlJR1p5YjIwZ1hDSXVMaTkwZVhCbGMxd2lPMXh1YVcxd2IzSjBJRUY0YVc5ekxDQjdJRUY0YVc5elNXNXpkR0Z1WTJVZ2ZTQm1jbTl0SUZ3aVlYaHBiM05jSWp0Y2JtbHRjRzl5ZENBcUlHRnpJR2gwZEhCeklHWnliMjBnWENKdWIyUmxPbWgwZEhCelhDSTdYRzVwYlhCdmNuUWdleUJMYVdKaGJtRkJkWFJvVTJWeWRtbGpaU0I5SUdaeWIyMGdYQ0l1TDB0cFltRnVZVUYxZEdoVFpYSjJhV05sWENJN1hHNXBiWEJ2Y25RZ2V5QndZWEp6WlVwemIyNUNiMlI1SUgwZ1puSnZiU0JjSWk0dUx5NHVMM05vWVhKbFpDOXlkVzUwYVcxbFhDSTdYRzVjYm1WNGNHOXlkQ0JqYkdGemN5QkxhV0poYm1GRVlYUmhWbWxsZDFObGNuWnBZMlVnWlhoMFpXNWtjeUJEYkdsbGJuUkNZWE5sWkZObGNuWnBZMlU4WEc0Z0lFRjRhVzl6U1c1emRHRnVZMlVzWEc0Z0lFdHBZbUZ1WVZObGRIVndRMjl1Wm1sblhHNCtJSHRjYmlBZ1FITmxjblpwWTJVb0tWeHVJQ0J3Y205MFpXTjBaV1FnWVhWMGFGTmxjblpwWTJVaE9pQkxhV0poYm1GQmRYUm9VMlZ5ZG1salpUdGNibHh1SUNCaGMzbHVZeUJwYm1sMGFXRnNhWHBsS0Z4dUlDQWdJQzR1TG1GeVozTTZJRTFoZVdKbFEyOXVkR1Y0ZEhWaGJFRnlaenhoYm5rK1hHNGdJQ2s2SUZCeWIyMXBjMlU4ZXlCamIyNW1hV2M2SUV0cFltRnVZVk5sZEhWd1EyOXVabWxuT3lCamJHbGxiblE2SUVGNGFXOXpTVzV6ZEdGdVkyVWdmVDRnZTF4dUlDQWdJR052Ym5OMElIc2dZM1I0UVhKbmN5QjlJRDBnS0Z4dUlDQWdJQ0FnWVhkaGFYUWdkR2hwY3k1c2IyZERkSGdvWVhKbmN5d2dYQ0pwYm1sMGFXRnNhWHBsWENJc0lIUnlkV1VwWEc0Z0lDQWdLUzVtYjNJb2RHaHBjeTVwYm1sMGFXRnNhWHBsS1R0Y2JpQWdJQ0JqYjI1emRDQmpiMjVtYVdjZ1BTQmpkSGhCY21keld6QmRJR0Z6SUV0cFltRnVZVk5sZEhWd1EyOXVabWxuTzF4dUlDQWdJSFJvYVhNdVgyTnZibVpwWnlBOUlHTnZibVpwWnp0Y2JpQWdJQ0JqYjI1emRDQmpiR2xsYm5RZ1BTQjBhR2x6TG1OeVpXRjBaVWgwZEhCRGJHbGxiblFvWTI5dVptbG5LVHRjYmlBZ0lDQjBhR2x6TGw5amJHbGxiblFnUFNCamJHbGxiblE3WEc0Z0lDQWdjbVYwZFhKdUlIc2dZMjl1Wm1sbkxDQmpiR2xsYm5RZ2ZUdGNiaUFnZlZ4dVhHNGdJR0Z6ZVc1aklHTnlaV0YwWlVSaGRHRldhV1YzS0Z4dUlDQWdJSEpsWVd4dFRtRnRaVG9nYzNSeWFXNW5MRnh1SUNBZ0lITndaV002SUV0cFltRnVZVVJoZEdGV2FXVjNRMjl1Wm1sbkxGeHVJQ0FnSUM0dUxtRnlaM002SUUxaGVXSmxRMjl1ZEdWNGRIVmhiRUZ5Wnp4aGJuaytYRzRnSUNrNklGQnliMjFwYzJVOGRtOXBaRDRnZTF4dUlDQWdJR052Ym5OMElIc2dZM1I0UVhKbmN5QjlJRDBnS0Z4dUlDQWdJQ0FnWVhkaGFYUWdkR2hwY3k1c2IyZERkSGdvWVhKbmN5d2dYQ0pqY21WaGRHVkVZWFJoVm1sbGQxd2lMQ0IwY25WbEtWeHVJQ0FnSUNrdVptOXlLSFJvYVhNdVkzSmxZWFJsUkdGMFlWWnBaWGNwTzF4dUlDQWdJR052Ym5OMElIQmhlV3h2WVdRZ1BTQjBhR2x6TG01dmNtMWhiR2w2WlVSaGRHRldhV1YzUTI5dVptbG5LSEpsWVd4dFRtRnRaU3dnYzNCbFl5azdYRzRnSUNBZ1kyOXVjM1FnWTNKbFlYUmxVbVZ6Y0NBOUlHRjNZV2wwSUhSb2FYTXVjbVZ4ZFdWemRDaGNiaUFnSUNBZ0lGd2lVRTlUVkZ3aUxGeHVJQ0FnSUNBZ1lDOXpMeVI3Y21WaGJHMU9ZVzFsZlM5aGNHa3ZaR0YwWVY5MmFXVjNjeTlrWVhSaFgzWnBaWGRnTEZ4dUlDQWdJQ0FnZXlCa1lYUmhYM1pwWlhjNklIQmhlV3h2WVdRZ2ZTeGNiaUFnSUNBZ0lIUm9hWE11WTI5dVptbG5MbUZrYldsdVFYQnBWWE5sY2l4Y2JpQWdJQ0FnSUhzZ2FHVmhaR1Z5Y3pvZ2V5QmNJbXRpYmkxNGMzSm1YQ0k2SUZ3aWRISjFaVndpTENCY0lrTnZiblJsYm5RdFZIbHdaVndpT2lCY0ltRndjR3hwWTJGMGFXOXVMMnB6YjI1Y0lpQjlJSDBzWEc0Z0lDQWdJQ0F5TURBc1hHNGdJQ0FnSUNBdUxpNWpkSGhCY21kelhHNGdJQ0FnS1R0Y2JseHVJQ0FnSUdsbUlDaGpjbVZoZEdWU1pYTndMbk4wWVhSMWN5QTlQVDBnTWpBd0lIeDhJR055WldGMFpWSmxjM0F1YzNSaGRIVnpJRDA5UFNBeU1ERXBJSEpsZEhWeWJqdGNiaUFnSUNCcFppQW9ZM0psWVhSbFVtVnpjQzV6ZEdGMGRYTWdJVDA5SURRd09TQW1KaUJqY21WaGRHVlNaWE53TG5OMFlYUjFjeUFoUFQwZ05EQXdLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQnRaWE56WVdkbElEMGdZRlZ1WVdKc1pTQjBieUJqY21WaGRHVWdaR0YwWVNCMmFXVjNJQ1I3Y0dGNWJHOWhaQzVwWkgwNklDUjdZM0psWVhSbFVtVnpjQzV6ZEdGMGRYTlVaWGgwZldBN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1FtRmtVbVZ4ZFdWemRFVnljbTl5S0cxbGMzTmhaMlVwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR0YzWVdsMElIUm9hWE11ZFhCa1lYUmxSR0YwWVZacFpYY29jbVZoYkcxT1lXMWxMQ0J3WVhsc2IyRmtMQ0F1TGk1amRIaEJjbWR6S1R0Y2JpQWdmVnh1WEc0Z0lHRnplVzVqSUhWd1pHRjBaVVJoZEdGV2FXVjNLRnh1SUNBZ0lISmxZV3h0VG1GdFpUb2djM1J5YVc1bkxGeHVJQ0FnSUhOd1pXTTZJRXRwWW1GdVlVUmhkR0ZXYVdWM1EyOXVabWxuTEZ4dUlDQWdJQzR1TG1GeVozTTZJRTFoZVdKbFEyOXVkR1Y0ZEhWaGJFRnlaenhoYm5rK1hHNGdJQ2s2SUZCeWIyMXBjMlU4ZG05cFpENGdlMXh1SUNBZ0lHTnZibk4wSUhzZ1kzUjRRWEpuY3lCOUlEMGdLRnh1SUNBZ0lDQWdZWGRoYVhRZ2RHaHBjeTVzYjJkRGRIZ29ZWEpuY3l3Z1hDSjFjR1JoZEdWRVlYUmhWbWxsZDF3aUxDQjBjblZsS1Z4dUlDQWdJQ2t1Wm05eUtIUm9hWE11ZFhCa1lYUmxSR0YwWVZacFpYY3BPMXh1SUNBZ0lHTnZibk4wSUhCaGVXeHZZV1FnUFNCMGFHbHpMbTV2Y20xaGJHbDZaVVJoZEdGV2FXVjNRMjl1Wm1sbktISmxZV3h0VG1GdFpTd2djM0JsWXlrN1hHNGdJQ0FnWTI5dWMzUWdleUJwWkN3Z0xpNHVkWEJrWVhSbFVHRjViRzloWkNCOUlEMGdjR0Y1Ykc5aFpEdGNiaUFnSUNCamIyNXpkQ0J5WlhOd2IyNXpaU0E5SUdGM1lXbDBJSFJvYVhNdWNtVnhkV1Z6ZENoY2JpQWdJQ0FnSUZ3aVVFOVRWRndpTEZ4dUlDQWdJQ0FnWUM5ekx5UjdjbVZoYkcxT1lXMWxmUzloY0drdlpHRjBZVjkyYVdWM2N5OWtZWFJoWDNacFpYY3ZKSHRsYm1OdlpHVlZVa2xEYjIxd2IyNWxiblFvYVdRcGZXQXNYRzRnSUNBZ0lDQjdJR1JoZEdGZmRtbGxkem9nZFhCa1lYUmxVR0Y1Ykc5aFpDQjlMRnh1SUNBZ0lDQWdkR2hwY3k1amIyNW1hV2N1WVdSdGFXNUJjR2xWYzJWeUxGeHVJQ0FnSUNBZ2V5Qm9aV0ZrWlhKek9pQjdJRndpYTJKdUxYaHpjbVpjSWpvZ1hDSjBjblZsWENJc0lGd2lRMjl1ZEdWdWRDMVVlWEJsWENJNklGd2lZWEJ3YkdsallYUnBiMjR2YW5OdmJsd2lJSDBnZlN4Y2JpQWdJQ0FnSURJd01DeGNiaUFnSUNBZ0lDNHVMbU4wZUVGeVozTmNiaUFnSUNBcE8xeHVJQ0FnSUdsbUlDaHlaWE53YjI1elpTNXpkR0YwZFhNZ1BqMGdNekF3S1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0J0WlhOellXZGxJRDBnWUZWdVlXSnNaU0IwYnlCMWNHUmhkR1VnWkdGMFlTQjJhV1YzSUNSN2NHRjViRzloWkM1cFpIMDZJQ1I3Y21WemNHOXVjMlV1YzNSaGRIVnpWR1Y0ZEgxZ08xeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFSmhaRkpsY1hWbGMzUkZjbkp2Y2lodFpYTnpZV2RsS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCaGMzbHVZeUJqY21WaGRHVkVZWFJoVm1sbGQzTW9YRzRnSUNBZ2NtVmhiRzFPWVcxbE9pQnpkSEpwYm1jc1hHNGdJQ0FnWkdGMFlWWnBaWGR6T2lCTGFXSmhibUZFWVhSaFZtbGxkME52Ym1acFoxdGRJSHdnZFc1a1pXWnBibVZrTEZ4dUlDQWdJQzR1TG1GeVozTTZJRTFoZVdKbFEyOXVkR1Y0ZEhWaGJFRnlaenhoYm5rK1hHNGdJQ2s2SUZCeWIyMXBjMlU4ZG05cFpENGdlMXh1SUNBZ0lHTnZibk4wSUhzZ1kzUjRRWEpuY3lCOUlEMGdLRnh1SUNBZ0lDQWdZWGRoYVhRZ2RHaHBjeTVzYjJkRGRIZ29ZWEpuY3l3Z1hDSmpjbVZoZEdWRVlYUmhWbWxsZDNOY0lpd2dkSEoxWlNsY2JpQWdJQ0FwTG1admNpaDBhR2x6TG1OeVpXRjBaVVJoZEdGV2FXVjNjeWs3WEc0Z0lDQWdZMjl1YzNRZ2MzQmxZM01nUFZ4dUlDQWdJQ0FnWkdGMFlWWnBaWGR6SUNZbUlHUmhkR0ZXYVdWM2N5NXNaVzVuZEdnZ1BpQXdYRzRnSUNBZ0lDQWdJRDhnWkdGMFlWWnBaWGR6WEc0Z0lDQWdJQ0FnSURvZ2RHaHBjeTVrWldaaGRXeDBSR0YwWVZacFpYZERiMjVtYVdkektISmxZV3h0VG1GdFpTazdYRzRnSUNBZ1ptOXlJQ2hqYjI1emRDQnpjR1ZqSUc5bUlITndaV056S1NCN1hHNGdJQ0FnSUNCaGQyRnBkQ0IwYUdsekxtTnlaV0YwWlVSaGRHRldhV1YzS0hKbFlXeHRUbUZ0WlN3Z2MzQmxZeXdnTGk0dVkzUjRRWEpuY3lrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ1lYTjVibU1nYzJWMFJHVm1ZWFZzZEVSaGRHRldhV1YzS0Z4dUlDQWdJSEpsWVd4dFRtRnRaVG9nYzNSeWFXNW5MRnh1SUNBZ0lHUmhkR0ZXYVdWM1NXUTZJSE4wY21sdVp5QjhJSFZ1WkdWbWFXNWxaQ3hjYmlBZ0lDQXVMaTVoY21kek9pQk5ZWGxpWlVOdmJuUmxlSFIxWVd4QmNtYzhZVzU1UGx4dUlDQXBPaUJRY205dGFYTmxQSFp2YVdRK0lIdGNiaUFnSUNCamIyNXpkQ0I3SUdOMGVFRnlaM01nZlNBOUlDaGNiaUFnSUNBZ0lHRjNZV2wwSUhSb2FYTXViRzluUTNSNEtHRnlaM01zSUZ3aWMyVjBSR1ZtWVhWc2RFUmhkR0ZXYVdWM1hDSXNJSFJ5ZFdVcFhHNGdJQ0FnS1M1bWIzSW9kR2hwY3k1elpYUkVaV1poZFd4MFJHRjBZVlpwWlhjcE8xeHVJQ0FnSUdOdmJuTjBJR1IyU1dRZ1BWeHVJQ0FnSUNBZ1pHRjBZVlpwWlhkSlpDQS9QMXh1SUNBZ0lDQWdkR2hwY3k1amIyNW1hV2N1WkdGMFlWWnBaWGR6UHk1Yk1GMC9MbWxrSUQ4L1hHNGdJQ0FnSUNCMGFHbHpMbVJsWm1GMWJIUkVZWFJoVm1sbGQwTnZibVpwWjNNb2NtVmhiRzFPWVcxbEtWc3dYVDh1YVdRN1hHNGdJQ0FnWTI5dWMzUWdjM1JoZEhWelVtVnpjQ0E5SUdGM1lXbDBJSFJvYVhNdWNtVnhkV1Z6ZENoY2JpQWdJQ0FnSUZ3aVIwVlVYQ0lzWEc0Z0lDQWdJQ0JnTDJGd2FTOXpkR0YwZFhOZ0xGeHVJQ0FnSUNBZ2RXNWtaV1pwYm1Wa0xGeHVJQ0FnSUNBZ2RXNWtaV1pwYm1Wa0xGeHVJQ0FnSUNBZ2V5Qm9aV0ZrWlhKek9pQjdJRndpYTJKdUxYaHpjbVpjSWpvZ1hDSjBjblZsWENJZ2ZTQjlMRnh1SUNBZ0lDQWdNakF3TEZ4dUlDQWdJQ0FnTGk0dVkzUjRRWEpuYzF4dUlDQWdJQ2s3WEc0Z0lDQWdhV1lnS0hOMFlYUjFjMUpsYzNBdWMzUmhkSFZ6SUNFOVBTQXlNREFnZkh3Z0lXUjJTV1FwSUh0Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzRnSUNBZ1kyOXVjM1FnYzNSaGRIVnpSR0YwWVNBOUlIQmhjbk5sU25OdmJrSnZaSGs4WVc1NVBpaHpkR0YwZFhOU1pYTndMbVJoZEdFcE8xeHVJQ0FnSUdOdmJuTjBJR3RwWW1GdVlWWmxjbk5wYjI0Z1BWeHVJQ0FnSUNBZ2MzUmhkSFZ6UkdGMFlUOHVkbVZ5YzJsdmJqOHViblZ0WW1WeUlEOC9JSE4wWVhSMWMwUmhkR0UvTG10cFltRnVZVDh1ZG1WeWMybHZianRjYmlBZ0lDQnBaaUFvSVd0cFltRnVZVlpsY25OcGIyNHBJSEpsZEhWeWJqdGNiaUFnSUNCamIyNXpkQ0J5WlhOd2IyNXpaU0E5SUdGM1lXbDBJSFJvYVhNdWNtVnhkV1Z6ZENoY2JpQWdJQ0FnSUZ3aVVFOVRWRndpTEZ4dUlDQWdJQ0FnWUM5ekx5UjdjbVZoYkcxT1lXMWxmUzloY0drdmMyRjJaV1JmYjJKcVpXTjBjeTlqYjI1bWFXY3ZKSHRyYVdKaGJtRldaWEp6YVc5dWZUOXZkbVZ5ZDNKcGRHVTlkSEoxWldBc1hHNGdJQ0FnSUNCN0lHRjBkSEpwWW5WMFpYTTZJSHNnWkdWbVlYVnNkRWx1WkdWNE9pQmtka2xrSUgwZ2ZTeGNiaUFnSUNBZ0lIUm9hWE11WTI5dVptbG5MbUZrYldsdVFYQnBWWE5sY2l4Y2JpQWdJQ0FnSUhzZ2FHVmhaR1Z5Y3pvZ2V5QmNJbXRpYmkxNGMzSm1YQ0k2SUZ3aWRISjFaVndpTENCY0lrTnZiblJsYm5RdFZIbHdaVndpT2lCY0ltRndjR3hwWTJGMGFXOXVMMnB6YjI1Y0lpQjlJSDBzWEc0Z0lDQWdJQ0F5TURBc1hHNGdJQ0FnSUNBdUxpNWpkSGhCY21kelhHNGdJQ0FnS1R0Y2JpQWdJQ0JwWmlBb2NtVnpjRzl1YzJVdWMzUmhkSFZ6SUQ0OUlETXdNQ2tnZTF4dUlDQWdJQ0FnWTI5dWMzUWdiV1Z6YzJGblpTQTlJR0JWYm1GaWJHVWdkRzhnYzJWMElHUmxabUYxYkhRZ1pHRjBZU0IyYVdWM0lHWnZjaUFrZTNKbFlXeHRUbUZ0WlgwNklDUjdjbVZ6Y0c5dWMyVXVjM1JoZEhWelZHVjRkSDFnTzF4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUVKaFpGSmxjWFZsYzNSRmNuSnZjaWh0WlhOellXZGxLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJR055WldGMFpVaDBkSEJEYkdsbGJuUW9ZMjl1Wm1sbk9pQkxhV0poYm1GVFpYUjFjRU52Ym1acFp5azZJRUY0YVc5elNXNXpkR0Z1WTJVZ2UxeHVJQ0FnSUhKbGRIVnliaUJCZUdsdmN5NWpjbVZoZEdVb2UxeHVJQ0FnSUNBZ1ltRnpaVlZTVERvZ1lDUjdZMjl1Wm1sbkxuQnliM1J2WTI5c2ZUb3ZMeVI3WTI5dVptbG5MbWh2YzNSOVlDeGNiaUFnSUNBZ0lIWmhiR2xrWVhSbFUzUmhkSFZ6T2lBb0tTQTlQaUIwY25WbExGeHVJQ0FnSUNBZ2FIUjBjSE5CWjJWdWREb2dibVYzSUdoMGRIQnpMa0ZuWlc1MEtIdGNiaUFnSUNBZ0lDQWdjbVZxWldOMFZXNWhkWFJvYjNKcGVtVmtPaUFvS0hSb2FYTXVZMjl1Wm1sbklHRnpJR0Z1ZVNrdWFYTlFjbTlrZFdOMGFXOXVLQ2twTEZ4dUlDQWdJQ0FnZlNrc1hHNGdJQ0FnZlNrN1hHNGdJSDFjYmx4dUlDQndjbTkwWldOMFpXUWdjR0Z5YzJWRmNuSnZjaWhsY25KdmNqb2dSWEp5YjNJcE9pQkZjbkp2Y2lCN1hHNGdJQ0FnWTI5dWMzUWdiV1Z6YzJGblpTQTlJR1Z5Y205eUxtMWxjM05oWjJVZ2ZId2daWEp5YjNJdWJtRnRaU0I4ZkNCY0lsVnVhMjV2ZDI0Z1pYSnliM0pjSWp0Y2JpQWdJQ0JqYjI1emRDQnNiM2RsY2sxbGMzTmhaMlVnUFNCdFpYTnpZV2RsTG5SdlRHOTNaWEpEWVhObEtDazdYRzVjYmlBZ0lDQnBaaUFvYkc5M1pYSk5aWE56WVdkbExtbHVZMngxWkdWektGd2libTkwSUdadmRXNWtYQ0lwSUh4OElHeHZkMlZ5VFdWemMyRm5aUzVwYm1Oc2RXUmxjeWhjSWpRd05Gd2lLU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzVsZHlCT2IzUkdiM1Z1WkVWeWNtOXlLRzFsYzNOaFoyVXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hzYjNkbGNrMWxjM05oWjJVdWFXNWpiSFZrWlhNb1hDSmhiSEpsWVdSNUlHVjRhWE4wYzF3aUtTQjhmQ0JzYjNkbGNrMWxjM05oWjJVdWFXNWpiSFZrWlhNb1hDSmpiMjVtYkdsamRGd2lLU0I4ZkNCc2IzZGxjazFsYzNOaFoyVXVhVzVqYkhWa1pYTW9YQ0kwTURsY0lpa3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnUTI5dVpteHBZM1JGY25KdmNpaHRaWE56WVdkbEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9iRzkzWlhKTlpYTnpZV2RsTG1sdVkyeDFaR1Z6S0Z3aWFXNTJZV3hwWkZ3aUtTQjhmQ0JzYjNkbGNrMWxjM05oWjJVdWFXNWpiSFZrWlhNb1hDSmlZV1FnY21WeGRXVnpkRndpS1NCOGZDQnNiM2RsY2sxbGMzTmhaMlV1YVc1amJIVmtaWE1vWENJME1EQmNJaWtwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ1FtRmtVbVZ4ZFdWemRFVnljbTl5S0cxbGMzTmhaMlVwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoc2IzZGxjazFsYzNOaFoyVXVhVzVqYkhWa1pYTW9YQ0oxYm1GMWRHaHZjbWw2WldSY0lpa2dmSHdnYkc5M1pYSk5aWE56WVdkbExtbHVZMngxWkdWektGd2lOREF4WENJcEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JtVjNJRTV2ZEVadmRXNWtSWEp5YjNJb2JXVnpjMkZuWlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHeHZkMlZ5VFdWemMyRm5aUzVwYm1Oc2RXUmxjeWhjSW1admNtSnBaR1JsYmx3aUtTQjhmQ0JzYjNkbGNrMWxjM05oWjJVdWFXNWpiSFZrWlhNb1hDSTBNRE5jSWlrcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdVpYY2dUbTkwUm05MWJtUkZjbkp2Y2lodFpYTnpZV2RsS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdibVYzSUVsdWRHVnlibUZzUlhKeWIzSW9iV1Z6YzJGblpTazdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJRzV2Y20xaGJHbDZaVVJoZEdGV2FXVjNRMjl1Wm1sbktGeHVJQ0FnSUhKbFlXeHRUbUZ0WlRvZ2MzUnlhVzVuTEZ4dUlDQWdJSE53WldNNklFdHBZbUZ1WVVSaGRHRldhV1YzUTI5dVptbG5YRzRnSUNrNklFdHBZbUZ1WVVSaGRHRldhV1YzUTI5dVptbG5JSHRjYmlBZ0lDQmpiMjV6ZENCemRXWm1hWGdnUFNCeVpXRnNiVTVoYldVdWRHOU1iM2RsY2tOaGMyVW9LVHRjYmlBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0xpNHVjM0JsWXl4Y2JpQWdJQ0FnSUc1aGJXVTZJSE53WldNdWJtRnRaU0EvUHlCemNHVmpMbWxrTEZ4dUlDQWdJQ0FnZEdsMGJHVTZYRzRnSUNBZ0lDQWdJSE53WldNdWRHbDBiR1VnUHo5Y2JpQWdJQ0FnSUNBZ0tITndaV011YVdRdWFXNWpiSFZrWlhNb1hDSm1hV3hsWW1WaGRGd2lLVnh1SUNBZ0lDQWdJQ0FnSUQ4Z1lHWnBiR1ZpWldGMExYQnNZUzBrZTNOMVptWnBlSDB0S21CY2JpQWdJQ0FnSUNBZ0lDQTZJR0J0WlhSeWFXTmlaV0YwTFhCc1lTMGtlM04xWm1acGVIMHRLbUFwTEZ4dUlDQWdJQ0FnZEdsdFpVWnBaV3hrVG1GdFpUb2djM0JsWXk1MGFXMWxSbWxsYkdST1lXMWxJRDgvSUZ3aVFIUnBiV1Z6ZEdGdGNGd2lMRnh1SUNBZ0lIMDdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJR1JsWm1GMWJIUkVZWFJoVm1sbGQwTnZibVpwWjNNb2NtVmhiRzFPWVcxbE9pQnpkSEpwYm1jcE9pQkxhV0poYm1GRVlYUmhWbWxsZDBOdmJtWnBaMXRkSUh0Y2JpQWdJQ0JqYjI1emRDQnpkV1ptYVhnZ1BTQnlaV0ZzYlU1aGJXVXVkRzlNYjNkbGNrTmhjMlVvS1R0Y2JpQWdJQ0J5WlhSMWNtNGdXMXh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0JwWkRvZ1lHWnBiR1ZpWldGMFgzQnNZVjhrZTNOMVptWnBlSDFnTEZ4dUlDQWdJQ0FnSUNCdVlXMWxPaUJnVUV4QklFWnBiR1ZpWldGMElFeHZaM01nS0NSN2NtVmhiRzFPWVcxbGZTbGdMRnh1SUNBZ0lDQWdJQ0IwYVhSc1pUb2dZR1pwYkdWaVpXRjBMWEJzWVMwa2UzTjFabVpwZUgwdEttQXNYRzRnSUNBZ0lDQWdJSFJwYldWR2FXVnNaRTVoYldVNklGd2lRSFJwYldWemRHRnRjRndpTEZ4dUlDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ2FXUTZJR0JzYjJkelgzQnNZVjhrZTNOMVptWnBlSDFnTEZ4dUlDQWdJQ0FnSUNCdVlXMWxPaUJnVUV4QklFMWxkSEpwWTJKbFlYUWdURzluY3lBb0pIdHlaV0ZzYlU1aGJXVjlLV0FzWEc0Z0lDQWdJQ0FnSUhScGRHeGxPaUJnYldWMGNtbGpZbVZoZEMxd2JHRXRKSHR6ZFdabWFYaDlMU3BnTEZ4dUlDQWdJQ0FnSUNCMGFXMWxSbWxsYkdST1lXMWxPaUJjSWtCMGFXMWxjM1JoYlhCY0lpeGNiaUFnSUNBZ0lIMHNYRzRnSUNBZ1hUdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdZWE41Ym1NZ2NtVnhkV1Z6ZENoY2JpQWdJQ0J0WlhSb2IyUTZJRndpUjBWVVhDSWdmQ0JjSWxCUFUxUmNJaUI4SUZ3aVVGVlVYQ0lnZkNCY0lrUkZURVZVUlZ3aUxGeHVJQ0FnSUhWeWJEb2djM1J5YVc1bkxGeHVJQ0FnSUhCaGVXeHZZV1E2SUhWdWEyNXZkMjRzWEc0Z0lDQWdZWEJwVlhObGNqb2dTMmxpWVc1aFZYTmxjaUI4SUhWdVpHVm1hVzVsWkN4Y2JpQWdJQ0JsZUhSeVlUb2dVbVZqYjNKa1BITjBjbWx1Wnl3Z1lXNTVQaXhjYmlBZ0lDQnpkV05qWlhOelEyOWtaVG9nYm5WdFltVnlMRnh1SUNBZ0lDNHVMbUZ5WjNNNklFTnZiblJsZUhSMVlXeEJjbWR6UEdGdWVUNWNiaUFnS1RvZ1VISnZiV2x6WlR4aGJuaytJSHRjYmlBZ0lDQjBhR2x6TG14dlowTjBlQ2hoY21kekxDQjBhR2x6TG5KbGNYVmxjM1FwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2FXVnVkQzV5WlhGMVpYTjBLSHRjYmlBZ0lDQWdJRzFsZEdodlpDeGNiaUFnSUNBZ0lIVnliQ3hjYmlBZ0lDQWdJR1JoZEdFNlhHNGdJQ0FnSUNBZ0lIQmhlV3h2WVdRZ1BUMDlJSFZ1WkdWbWFXNWxaRnh1SUNBZ0lDQWdJQ0FnSUQ4Z2RXNWtaV1pwYm1Wa1hHNGdJQ0FnSUNBZ0lDQWdPaUIwZVhCbGIyWWdjR0Y1Ykc5aFpDQTlQVDBnWENKemRISnBibWRjSWx4dUlDQWdJQ0FnSUNBZ0lDQWdQeUJ3WVhsc2IyRmtYRzRnSUNBZ0lDQWdJQ0FnSUNBNklFcFRUMDR1YzNSeWFXNW5hV1o1S0hCaGVXeHZZV1FwTEZ4dUlDQWdJQ0FnWVhWMGFEb2dZWEJwVlhObGNseHVJQ0FnSUNBZ0lDQS9JSHNnZFhObGNtNWhiV1U2SUdGd2FWVnpaWEl1ZFhObGNtNWhiV1VzSUhCaGMzTjNiM0prT2lCaGNHbFZjMlZ5TG5CaGMzTjNiM0prSUgxY2JpQWdJQ0FnSUNBZ09pQjFibVJsWm1sdVpXUXNYRzRnSUNBZ0lDQjJZV3hwWkdGMFpWTjBZWFIxY3pvZ0tDa2dQVDRnZEhKMVpTeGNiaUFnSUNBZ0lHaDBkSEJ6UVdkbGJuUTZJRzVsZHlCb2RIUndjeTVCWjJWdWRDaDdYRzRnSUNBZ0lDQWdJSEpsYW1WamRGVnVZWFYwYUc5eWFYcGxaRG9nS0NoMGFHbHpMbU52Ym1acFp5QmhjeUJoYm5rcExtbHpVSEp2WkhWamRHbHZiaWdwS1N4Y2JpQWdJQ0FnSUgwcExGeHVJQ0FnSUNBZ0xpNHVaWGgwY21Fc1hHNGdJQ0FnZlNrN1hHNGdJSDFjYm4xY2JpSmRmUT09Il19
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2liYW5hRGF0YVZpZXdTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2tpYmFuYS9zZXJ2aWNlcy9LaWJhbmFEYXRhVmlld1NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsYUFBYSxFQUNiLGFBQWEsR0FDZCxNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU03RCxPQUFPLEtBQXdCLE1BQU0sT0FBTyxDQUFDO0FBQzdDLE9BQU8sS0FBSyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxxQkFBa0I7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLCtCQUE0QjtBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLGtDQUE2QjtBQUVyRCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsa0JBRzFDO0lBSUMsS0FBSyxDQUFDLFVBQVUsQ0FDZCxHQUFHLElBQTZCO1FBRWhDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUNsQixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FDNUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQXNCLENBQUM7UUFDL0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDNUIsQ0FB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QixFQUNuQixHQUFHLElBQXlCO1FBRTVCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ3pCLE1BQU07WUFDTixHQUFHO1lBQ0gsSUFBSSxFQUNGLE9BQU8sS0FBSyxTQUFTO2dCQUNuQixDQUFDLENBQUMsU0FBUztnQkFDWCxDQUFDLENBQUMsT0FBTyxPQUFPLEtBQUssUUFBUTtvQkFDM0IsQ0FBQyxDQUFDLE9BQU87b0JBQ1QsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQy9CLElBQUksRUFBRSxPQUFPO2dCQUNYLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFO2dCQUM1RCxDQUFDLENBQUMsU0FBUztZQUNiLGNBQWMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJO1lBQzFCLFVBQVUsRUFBRSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUM7Z0JBQzFCLGtCQUFrQixFQUFFLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLE1BQWEsQ0FBQyxDQUFDO2FBQ3BFLENBQUM7WUFDRixHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFyT1c7SUFEVCxPQUFPLEVBQUU7OEJBQ2MsaUJBQWlCOzBEQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFkUmVxdWVzdEVycm9yLFxuICBDb25mbGljdEVycm9yLFxuICBJbnRlcm5hbEVycm9yLFxuICBOb3RGb3VuZEVycm9yLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IENvbnRleHR1YWxBcmdzLCBNYXliZUNvbnRleHR1YWxBcmcgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IENsaWVudEJhc2VkU2VydmljZSwgc2VydmljZSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHR5cGUge1xuICBLaWJhbmFEYXRhVmlld0NvbmZpZyxcbiAgS2liYW5hU2V0dXBDb25maWcsXG4gIEtpYmFuYVVzZXIsXG59IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IEF4aW9zLCB7IEF4aW9zSW5zdGFuY2UgfSBmcm9tIFwiYXhpb3NcIjtcbmltcG9ydCAqIGFzIGh0dHBzIGZyb20gXCJub2RlOmh0dHBzXCI7XG5pbXBvcnQgeyByZXNvbHZlS2liYW5hSXNQcm9kdWN0aW9uIH0gZnJvbSBcIi4vcnVudGltZVwiO1xuaW1wb3J0IHsgS2liYW5hQXV0aFNlcnZpY2UgfSBmcm9tIFwiLi9LaWJhbmFBdXRoU2VydmljZVwiO1xuaW1wb3J0IHsgcGFyc2VKc29uQm9keSB9IGZyb20gXCIuLi8uLi9zaGFyZWQvcnVudGltZVwiO1xuXG5leHBvcnQgY2xhc3MgS2liYW5hRGF0YVZpZXdTZXJ2aWNlIGV4dGVuZHMgQ2xpZW50QmFzZWRTZXJ2aWNlPFxuICBBeGlvc0luc3RhbmNlLFxuICBLaWJhbmFTZXR1cENvbmZpZ1xuPiB7XG4gIEBzZXJ2aWNlKClcbiAgcHJvdGVjdGVkIGF1dGhTZXJ2aWNlITogS2liYW5hQXV0aFNlcnZpY2U7XG5cbiAgYXN5bmMgaW5pdGlhbGl6ZShcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHsgY29uZmlnOiBLaWJhbmFTZXR1cENvbmZpZzsgY2xpZW50OiBBeGlvc0luc3RhbmNlIH0+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiaW5pdGlhbGl6ZVwiLCB0cnVlKVxuICAgICkuZm9yKHRoaXMuaW5pdGlhbGl6ZSk7XG4gICAgY29uc3QgY29uZmlnID0gY3R4QXJnc1swXSBhcyBLaWJhbmFTZXR1cENvbmZpZztcbiAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XG4gICAgY29uc3QgY2xpZW50ID0gdGhpcy5jcmVhdGVIdHRwQ2xpZW50KGNvbmZpZyk7XG4gICAgdGhpcy5fY2xpZW50ID0gY2xpZW50O1xuICAgIHJldHVybiB7IGNvbmZpZywgY2xpZW50IH07XG4gIH1cblxuICBhc3luYyBjcmVhdGVEYXRhVmlldyhcbiAgICByZWFsbU5hbWU6IHN0cmluZyxcbiAgICBzcGVjOiBLaWJhbmFEYXRhVmlld0NvbmZpZyxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiY3JlYXRlRGF0YVZpZXdcIiwgdHJ1ZSlcbiAgICApLmZvcih0aGlzLmNyZWF0ZURhdGFWaWV3KTtcbiAgICBjb25zdCBwYXlsb2FkID0gdGhpcy5ub3JtYWxpemVEYXRhVmlld0NvbmZpZyhyZWFsbU5hbWUsIHNwZWMpO1xuICAgIGNvbnN0IGNyZWF0ZVJlc3AgPSBhd2FpdCB0aGlzLnJlcXVlc3QoXG4gICAgICBcIlBPU1RcIixcbiAgICAgIGAvcy8ke3JlYWxtTmFtZX0vYXBpL2RhdGFfdmlld3MvZGF0YV92aWV3YCxcbiAgICAgIHsgZGF0YV92aWV3OiBwYXlsb2FkIH0sXG4gICAgICB0aGlzLmNvbmZpZy5hZG1pbkFwaVVzZXIsXG4gICAgICB7IGhlYWRlcnM6IHsgXCJrYm4teHNyZlwiOiBcInRydWVcIiwgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSB9LFxuICAgICAgMjAwLFxuICAgICAgLi4uY3R4QXJnc1xuICAgICk7XG5cbiAgICBpZiAoY3JlYXRlUmVzcC5zdGF0dXMgPT09IDIwMCB8fCBjcmVhdGVSZXNwLnN0YXR1cyA9PT0gMjAxKSByZXR1cm47XG4gICAgaWYgKGNyZWF0ZVJlc3Auc3RhdHVzICE9PSA0MDkgJiYgY3JlYXRlUmVzcC5zdGF0dXMgIT09IDQwMCkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBVbmFibGUgdG8gY3JlYXRlIGRhdGEgdmlldyAke3BheWxvYWQuaWR9OiAke2NyZWF0ZVJlc3Auc3RhdHVzVGV4dH1gO1xuICAgICAgdGhyb3cgbmV3IEJhZFJlcXVlc3RFcnJvcihtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBhd2FpdCB0aGlzLnVwZGF0ZURhdGFWaWV3KHJlYWxtTmFtZSwgcGF5bG9hZCwgLi4uY3R4QXJncyk7XG4gIH1cblxuICBhc3luYyB1cGRhdGVEYXRhVmlldyhcbiAgICByZWFsbU5hbWU6IHN0cmluZyxcbiAgICBzcGVjOiBLaWJhbmFEYXRhVmlld0NvbmZpZyxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwidXBkYXRlRGF0YVZpZXdcIiwgdHJ1ZSlcbiAgICApLmZvcih0aGlzLnVwZGF0ZURhdGFWaWV3KTtcbiAgICBjb25zdCBwYXlsb2FkID0gdGhpcy5ub3JtYWxpemVEYXRhVmlld0NvbmZpZyhyZWFsbU5hbWUsIHNwZWMpO1xuICAgIGNvbnN0IHsgaWQsIC4uLnVwZGF0ZVBheWxvYWQgfSA9IHBheWxvYWQ7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3QoXG4gICAgICBcIlBPU1RcIixcbiAgICAgIGAvcy8ke3JlYWxtTmFtZX0vYXBpL2RhdGFfdmlld3MvZGF0YV92aWV3LyR7ZW5jb2RlVVJJQ29tcG9uZW50KGlkKX1gLFxuICAgICAgeyBkYXRhX3ZpZXc6IHVwZGF0ZVBheWxvYWQgfSxcbiAgICAgIHRoaXMuY29uZmlnLmFkbWluQXBpVXNlcixcbiAgICAgIHsgaGVhZGVyczogeyBcImtibi14c3JmXCI6IFwidHJ1ZVwiLCBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9IH0sXG4gICAgICAyMDAsXG4gICAgICAuLi5jdHhBcmdzXG4gICAgKTtcbiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID49IDMwMCkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBVbmFibGUgdG8gdXBkYXRlIGRhdGEgdmlldyAke3BheWxvYWQuaWR9OiAke3Jlc3BvbnNlLnN0YXR1c1RleHR9YDtcbiAgICAgIHRocm93IG5ldyBCYWRSZXF1ZXN0RXJyb3IobWVzc2FnZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgY3JlYXRlRGF0YVZpZXdzKFxuICAgIHJlYWxtTmFtZTogc3RyaW5nLFxuICAgIGRhdGFWaWV3czogS2liYW5hRGF0YVZpZXdDb25maWdbXSB8IHVuZGVmaW5lZCxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiY3JlYXRlRGF0YVZpZXdzXCIsIHRydWUpXG4gICAgKS5mb3IodGhpcy5jcmVhdGVEYXRhVmlld3MpO1xuICAgIGNvbnN0IHNwZWNzID1cbiAgICAgIGRhdGFWaWV3cyAmJiBkYXRhVmlld3MubGVuZ3RoID4gMFxuICAgICAgICA/IGRhdGFWaWV3c1xuICAgICAgICA6IHRoaXMuZGVmYXVsdERhdGFWaWV3Q29uZmlncyhyZWFsbU5hbWUpO1xuICAgIGZvciAoY29uc3Qgc3BlYyBvZiBzcGVjcykge1xuICAgICAgYXdhaXQgdGhpcy5jcmVhdGVEYXRhVmlldyhyZWFsbU5hbWUsIHNwZWMsIC4uLmN0eEFyZ3MpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHNldERlZmF1bHREYXRhVmlldyhcbiAgICByZWFsbU5hbWU6IHN0cmluZyxcbiAgICBkYXRhVmlld0lkOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoXG4gICAgICBhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInNldERlZmF1bHREYXRhVmlld1wiLCB0cnVlKVxuICAgICkuZm9yKHRoaXMuc2V0RGVmYXVsdERhdGFWaWV3KTtcbiAgICBjb25zdCBkdklkID1cbiAgICAgIGRhdGFWaWV3SWQgPz9cbiAgICAgIHRoaXMuY29uZmlnLmRhdGFWaWV3cz8uWzBdPy5pZCA/P1xuICAgICAgdGhpcy5kZWZhdWx0RGF0YVZpZXdDb25maWdzKHJlYWxtTmFtZSlbMF0/LmlkO1xuICAgIGNvbnN0IHN0YXR1c1Jlc3AgPSBhd2FpdCB0aGlzLnJlcXVlc3QoXG4gICAgICBcIkdFVFwiLFxuICAgICAgYC9hcGkvc3RhdHVzYCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHsgaGVhZGVyczogeyBcImtibi14c3JmXCI6IFwidHJ1ZVwiIH0gfSxcbiAgICAgIDIwMCxcbiAgICAgIC4uLmN0eEFyZ3NcbiAgICApO1xuICAgIGlmIChzdGF0dXNSZXNwLnN0YXR1cyAhPT0gMjAwIHx8ICFkdklkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHN0YXR1c0RhdGEgPSBwYXJzZUpzb25Cb2R5PGFueT4oc3RhdHVzUmVzcC5kYXRhKTtcbiAgICBjb25zdCBraWJhbmFWZXJzaW9uID1cbiAgICAgIHN0YXR1c0RhdGE/LnZlcnNpb24/Lm51bWJlciA/PyBzdGF0dXNEYXRhPy5raWJhbmE/LnZlcnNpb247XG4gICAgaWYgKCFraWJhbmFWZXJzaW9uKSByZXR1cm47XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3QoXG4gICAgICBcIlBPU1RcIixcbiAgICAgIGAvcy8ke3JlYWxtTmFtZX0vYXBpL3NhdmVkX29iamVjdHMvY29uZmlnLyR7a2liYW5hVmVyc2lvbn0/b3ZlcndyaXRlPXRydWVgLFxuICAgICAgeyBhdHRyaWJ1dGVzOiB7IGRlZmF1bHRJbmRleDogZHZJZCB9IH0sXG4gICAgICB0aGlzLmNvbmZpZy5hZG1pbkFwaVVzZXIsXG4gICAgICB7IGhlYWRlcnM6IHsgXCJrYm4teHNyZlwiOiBcInRydWVcIiwgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSB9LFxuICAgICAgMjAwLFxuICAgICAgLi4uY3R4QXJnc1xuICAgICk7XG4gICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA+PSAzMDApIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgVW5hYmxlIHRvIHNldCBkZWZhdWx0IGRhdGEgdmlldyBmb3IgJHtyZWFsbU5hbWV9OiAke3Jlc3BvbnNlLnN0YXR1c1RleHR9YDtcbiAgICAgIHRocm93IG5ldyBCYWRSZXF1ZXN0RXJyb3IobWVzc2FnZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVIdHRwQ2xpZW50KGNvbmZpZzogS2liYW5hU2V0dXBDb25maWcpOiBBeGlvc0luc3RhbmNlIHtcbiAgICByZXR1cm4gQXhpb3MuY3JlYXRlKHtcbiAgICAgIGJhc2VVUkw6IGAke2NvbmZpZy5wcm90b2NvbH06Ly8ke2NvbmZpZy5ob3N0fWAsXG4gICAgICB2YWxpZGF0ZVN0YXR1czogKCkgPT4gdHJ1ZSxcbiAgICAgIGh0dHBzQWdlbnQ6IG5ldyBodHRwcy5BZ2VudCh7XG4gICAgICAgIHJlamVjdFVuYXV0aG9yaXplZDogKHJlc29sdmVLaWJhbmFJc1Byb2R1Y3Rpb24odGhpcy5jb25maWcgYXMgYW55KSksXG4gICAgICB9KSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwYXJzZUVycm9yKGVycm9yOiBFcnJvcik6IEVycm9yIHtcbiAgICBjb25zdCBtZXNzYWdlID0gZXJyb3IubWVzc2FnZSB8fCBlcnJvci5uYW1lIHx8IFwiVW5rbm93biBlcnJvclwiO1xuICAgIGNvbnN0IGxvd2VyTWVzc2FnZSA9IG1lc3NhZ2UudG9Mb3dlckNhc2UoKTtcblxuICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJub3QgZm91bmRcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDA0XCIpKSB7XG4gICAgICByZXR1cm4gbmV3IE5vdEZvdW5kRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgaWYgKGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcImFscmVhZHkgZXhpc3RzXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcImNvbmZsaWN0XCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwOVwiKSkge1xuICAgICAgcmV0dXJuIG5ldyBDb25mbGljdEVycm9yKG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJpbnZhbGlkXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcImJhZCByZXF1ZXN0XCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwMFwiKSkge1xuICAgICAgcmV0dXJuIG5ldyBCYWRSZXF1ZXN0RXJyb3IobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgaWYgKGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcInVuYXV0aG9yaXplZFwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDFcIikpIHtcbiAgICAgIHJldHVybiBuZXcgTm90Rm91bmRFcnJvcihtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiZm9yYmlkZGVuXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwM1wiKSkge1xuICAgICAgcmV0dXJuIG5ldyBOb3RGb3VuZEVycm9yKG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW50ZXJuYWxFcnJvcihtZXNzYWdlKTtcbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplRGF0YVZpZXdDb25maWcoXG4gICAgcmVhbG1OYW1lOiBzdHJpbmcsXG4gICAgc3BlYzogS2liYW5hRGF0YVZpZXdDb25maWdcbiAgKTogS2liYW5hRGF0YVZpZXdDb25maWcge1xuICAgIGNvbnN0IHN1ZmZpeCA9IHJlYWxtTmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zcGVjLFxuICAgICAgbmFtZTogc3BlYy5uYW1lID8/IHNwZWMuaWQsXG4gICAgICB0aXRsZTpcbiAgICAgICAgc3BlYy50aXRsZSA/P1xuICAgICAgICAoc3BlYy5pZC5pbmNsdWRlcyhcImZpbGViZWF0XCIpXG4gICAgICAgICAgPyBgZmlsZWJlYXQtcGxhLSR7c3VmZml4fS0qYFxuICAgICAgICAgIDogYG1ldHJpY2JlYXQtcGxhLSR7c3VmZml4fS0qYCksXG4gICAgICB0aW1lRmllbGROYW1lOiBzcGVjLnRpbWVGaWVsZE5hbWUgPz8gXCJAdGltZXN0YW1wXCIsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZGVmYXVsdERhdGFWaWV3Q29uZmlncyhyZWFsbU5hbWU6IHN0cmluZyk6IEtpYmFuYURhdGFWaWV3Q29uZmlnW10ge1xuICAgIGNvbnN0IHN1ZmZpeCA9IHJlYWxtTmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIGlkOiBgZmlsZWJlYXRfcGxhXyR7c3VmZml4fWAsXG4gICAgICAgIG5hbWU6IGBQTEEgRmlsZWJlYXQgTG9ncyAoJHtyZWFsbU5hbWV9KWAsXG4gICAgICAgIHRpdGxlOiBgZmlsZWJlYXQtcGxhLSR7c3VmZml4fS0qYCxcbiAgICAgICAgdGltZUZpZWxkTmFtZTogXCJAdGltZXN0YW1wXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogYGxvZ3NfcGxhXyR7c3VmZml4fWAsXG4gICAgICAgIG5hbWU6IGBQTEEgTWV0cmljYmVhdCBMb2dzICgke3JlYWxtTmFtZX0pYCxcbiAgICAgICAgdGl0bGU6IGBtZXRyaWNiZWF0LXBsYS0ke3N1ZmZpeH0tKmAsXG4gICAgICAgIHRpbWVGaWVsZE5hbWU6IFwiQHRpbWVzdGFtcFwiLFxuICAgICAgfSxcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZXF1ZXN0KFxuICAgIG1ldGhvZDogXCJHRVRcIiB8IFwiUE9TVFwiIHwgXCJQVVRcIiB8IFwiREVMRVRFXCIsXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgcGF5bG9hZDogdW5rbm93bixcbiAgICBhcGlVc2VyOiBLaWJhbmFVc2VyIHwgdW5kZWZpbmVkLFxuICAgIGV4dHJhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIHN1Y2Nlc3NDb2RlOiBudW1iZXIsXG4gICAgLi4uYXJnczogQ29udGV4dHVhbEFyZ3M8YW55PlxuICApOiBQcm9taXNlPGFueT4ge1xuICAgIHRoaXMubG9nQ3R4KGFyZ3MsIHRoaXMucmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgbWV0aG9kLFxuICAgICAgdXJsLFxuICAgICAgZGF0YTpcbiAgICAgICAgcGF5bG9hZCA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgICA6IHR5cGVvZiBwYXlsb2FkID09PSBcInN0cmluZ1wiXG4gICAgICAgICAgICA/IHBheWxvYWRcbiAgICAgICAgICAgIDogSlNPTi5zdHJpbmdpZnkocGF5bG9hZCksXG4gICAgICBhdXRoOiBhcGlVc2VyXG4gICAgICAgID8geyB1c2VybmFtZTogYXBpVXNlci51c2VybmFtZSwgcGFzc3dvcmQ6IGFwaVVzZXIucGFzc3dvcmQgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIHZhbGlkYXRlU3RhdHVzOiAoKSA9PiB0cnVlLFxuICAgICAgaHR0cHNBZ2VudDogbmV3IGh0dHBzLkFnZW50KHtcbiAgICAgICAgcmVqZWN0VW5hdXRob3JpemVkOiAocmVzb2x2ZUtpYmFuYUlzUHJvZHVjdGlvbih0aGlzLmNvbmZpZyBhcyBhbnkpKSxcbiAgICAgIH0pLFxuICAgICAgLi4uZXh0cmEsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2liYW5hRGF0YVZpZXdTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiS2liYW5hRGF0YVZpZXdTZXJ2aWNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDakYsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3SCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVTtRQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDOztRQUMxSCxLQUFLLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFF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RyxJQUFJO1FBQ3BFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ3ZCLE1BQU07WUFDTixHQUFHO1lBQ0gsSUFBSSxFQUFFLE9BQU8sS0FBSyxTQUFTO2dCQUN2QixDQUFDLENBQUMsU0FBUztnQkFDWCxDQUFDLENBQUMsT0FBTyxPQUFPLEtBQUssUUFBUTtvQkFDekIsQ0FBQyxDQUFDLE9BQU87b0JBQ1QsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQ2pDLElBQUksRUFBRSxPQUFPO2dCQUNULENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFO2dCQUM1RCxDQUFDLENBQUMsU0FBUztZQUNmLGNBQWMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJO1lBQzFCLFVBQVUsRUFBRSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUM7Z0JBQ3hCLGtCQUFrQixFQUFFLENBQUMsSUFBQSxzQ0FBeUIsRUFBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDL0QsQ0FBQztZQUNGLEdBQUcsS0FBSztTQUNYLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSjtBQXpJRCxzREF5SUM7QUFDRCxVQUFVLENBQUM7SUFDUCxJQUFBLGNBQU8sR0FBRTtJQUNULFVBQVUsQ0FBQyxhQUFhLEVBQUUsd0NBQWlCLENBQUM7Q0FDL0MsRUFBRSxxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDM0QsMDBuQkFBMDBuQiIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX2RlY29yYXRlID0gKHRoaXMgJiYgdGhpcy5fX2RlY29yYXRlKSB8fCBmdW5jdGlvbiAoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xufTtcbnZhciBfX21ldGFkYXRhID0gKHRoaXMgJiYgdGhpcy5fX21ldGFkYXRhKSB8fCBmdW5jdGlvbiAoaywgdikge1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShrLCB2KTtcbn07XG5pbXBvcnQgeyBCYWRSZXF1ZXN0RXJyb3IsIENvbmZsaWN0RXJyb3IsIEludGVybmFsRXJyb3IsIE5vdEZvdW5kRXJyb3IsIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBDbGllbnRCYXNlZFNlcnZpY2UsIHNlcnZpY2UgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCBBeGlvcyBmcm9tIFwiYXhpb3NcIjtcbmltcG9ydCAqIGFzIGh0dHBzIGZyb20gXCJub2RlOmh0dHBzXCI7XG5pbXBvcnQgeyByZXNvbHZlS2liYW5hSXNQcm9kdWN0aW9uIH0gZnJvbSBcIi4vcnVudGltZS5qc1wiO1xuaW1wb3J0IHsgS2liYW5hQXV0aFNlcnZpY2UgfSBmcm9tIFwiLi9LaWJhbmFBdXRoU2VydmljZS5qc1wiO1xuaW1wb3J0IHsgcGFyc2VKc29uQm9keSB9IGZyb20gXCIuLy4uLy4uL3NoYXJlZC9ydW50aW1lLmpzXCI7XG5leHBvcnQgY2xhc3MgS2liYW5hRGF0YVZpZXdTZXJ2aWNlIGV4dGVuZHMgQ2xpZW50QmFzZWRTZXJ2aWNlIHtcbiAgICBhc3luYyBpbml0aWFsaXplKC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJpbml0aWFsaXplXCIsIHRydWUpKS5mb3IodGhpcy5pbml0aWFsaXplKTtcbiAgICAgICAgY29uc3QgY29uZmlnID0gY3R4QXJnc1swXTtcbiAgICAgICAgdGhpcy5fY29uZmlnID0gY29uZmlnO1xuICAgICAgICBjb25zdCBjbGllbnQgPSB0aGlzLmNyZWF0ZUh0dHBDbGllbnQoY29uZmlnKTtcbiAgICAgICAgdGhpcy5fY2xpZW50ID0gY2xpZW50O1xuICAgICAgICByZXR1cm4geyBjb25maWcsIGNsaWVudCB9O1xuICAgIH1cbiAgICBhc3luYyBjcmVhdGVEYXRhVmlldyhyZWFsbU5hbWUsIHNwZWMsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJjcmVhdGVEYXRhVmlld1wiLCB0cnVlKSkuZm9yKHRoaXMuY3JlYXRlRGF0YVZpZXcpO1xuICAgICAgICBjb25zdCBwYXlsb2FkID0gdGhpcy5ub3JtYWxpemVEYXRhVmlld0NvbmZpZyhyZWFsbU5hbWUsIHNwZWMpO1xuICAgICAgICBjb25zdCBjcmVhdGVSZXNwID0gYXdhaXQgdGhpcy5yZXF1ZXN0KFwiUE9TVFwiLCBgL3MvJHtyZWFsbU5hbWV9L2FwaS9kYXRhX3ZpZXdzL2RhdGFfdmlld2AsIHsgZGF0YV92aWV3OiBwYXlsb2FkIH0sIHRoaXMuY29uZmlnLmFkbWluQXBpVXNlciwgeyBoZWFkZXJzOiB7IFwia2JuLXhzcmZcIjogXCJ0cnVlXCIsIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0gfSwgMjAwLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgaWYgKGNyZWF0ZVJlc3Auc3RhdHVzID09PSAyMDAgfHwgY3JlYXRlUmVzcC5zdGF0dXMgPT09IDIwMSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKGNyZWF0ZVJlc3Auc3RhdHVzICE9PSA0MDkgJiYgY3JlYXRlUmVzcC5zdGF0dXMgIT09IDQwMCkge1xuICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBVbmFibGUgdG8gY3JlYXRlIGRhdGEgdmlldyAke3BheWxvYWQuaWR9OiAke2NyZWF0ZVJlc3Auc3RhdHVzVGV4dH1gO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEJhZFJlcXVlc3RFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICBhd2FpdCB0aGlzLnVwZGF0ZURhdGFWaWV3KHJlYWxtTmFtZSwgcGF5bG9hZCwgLi4uY3R4QXJncyk7XG4gICAgfVxuICAgIGFzeW5jIHVwZGF0ZURhdGFWaWV3KHJlYWxtTmFtZSwgc3BlYywgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInVwZGF0ZURhdGFWaWV3XCIsIHRydWUpKS5mb3IodGhpcy51cGRhdGVEYXRhVmlldyk7XG4gICAgICAgIGNvbnN0IHBheWxvYWQgPSB0aGlzLm5vcm1hbGl6ZURhdGFWaWV3Q29uZmlnKHJlYWxtTmFtZSwgc3BlYyk7XG4gICAgICAgIGNvbnN0IHsgaWQsIC4uLnVwZGF0ZVBheWxvYWQgfSA9IHBheWxvYWQ7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5yZXF1ZXN0KFwiUE9TVFwiLCBgL3MvJHtyZWFsbU5hbWV9L2FwaS9kYXRhX3ZpZXdzL2RhdGFfdmlldy8ke2VuY29kZVVSSUNvbXBvbmVudChpZCl9YCwgeyBkYXRhX3ZpZXc6IHVwZGF0ZVBheWxvYWQgfSwgdGhpcy5jb25maWcuYWRtaW5BcGlVc2VyLCB7IGhlYWRlcnM6IHsgXCJrYm4teHNyZlwiOiBcInRydWVcIiwgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSB9LCAyMDAsIC4uLmN0eEFyZ3MpO1xuICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID49IDMwMCkge1xuICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBVbmFibGUgdG8gdXBkYXRlIGRhdGEgdmlldyAke3BheWxvYWQuaWR9OiAke3Jlc3BvbnNlLnN0YXR1c1RleHR9YDtcbiAgICAgICAgICAgIHRocm93IG5ldyBCYWRSZXF1ZXN0RXJyb3IobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgY3JlYXRlRGF0YVZpZXdzKHJlYWxtTmFtZSwgZGF0YVZpZXdzLCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiY3JlYXRlRGF0YVZpZXdzXCIsIHRydWUpKS5mb3IodGhpcy5jcmVhdGVEYXRhVmlld3MpO1xuICAgICAgICBjb25zdCBzcGVjcyA9IGRhdGFWaWV3cyAmJiBkYXRhVmlld3MubGVuZ3RoID4gMFxuICAgICAgICAgICAgPyBkYXRhVmlld3NcbiAgICAgICAgICAgIDogdGhpcy5kZWZhdWx0RGF0YVZpZXdDb25maWdzKHJlYWxtTmFtZSk7XG4gICAgICAgIGZvciAoY29uc3Qgc3BlYyBvZiBzcGVjcykge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5jcmVhdGVEYXRhVmlldyhyZWFsbU5hbWUsIHNwZWMsIC4uLmN0eEFyZ3MpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGFzeW5jIHNldERlZmF1bHREYXRhVmlldyhyZWFsbU5hbWUsIGRhdGFWaWV3SWQsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJzZXREZWZhdWx0RGF0YVZpZXdcIiwgdHJ1ZSkpLmZvcih0aGlzLnNldERlZmF1bHREYXRhVmlldyk7XG4gICAgICAgIGNvbnN0IGR2SWQgPSBkYXRhVmlld0lkID8/XG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5kYXRhVmlld3M/LlswXT8uaWQgPz9cbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdERhdGFWaWV3Q29uZmlncyhyZWFsbU5hbWUpWzBdPy5pZDtcbiAgICAgICAgY29uc3Qgc3RhdHVzUmVzcCA9IGF3YWl0IHRoaXMucmVxdWVzdChcIkdFVFwiLCBgL2FwaS9zdGF0dXNgLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgeyBoZWFkZXJzOiB7IFwia2JuLXhzcmZcIjogXCJ0cnVlXCIgfSB9LCAyMDAsIC4uLmN0eEFyZ3MpO1xuICAgICAgICBpZiAoc3RhdHVzUmVzcC5zdGF0dXMgIT09IDIwMCB8fCAhZHZJZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXR1c0RhdGEgPSBwYXJzZUpzb25Cb2R5KHN0YXR1c1Jlc3AuZGF0YSk7XG4gICAgICAgIGNvbnN0IGtpYmFuYVZlcnNpb24gPSBzdGF0dXNEYXRhPy52ZXJzaW9uPy5udW1iZXIgPz8gc3RhdHVzRGF0YT8ua2liYW5hPy52ZXJzaW9uO1xuICAgICAgICBpZiAoIWtpYmFuYVZlcnNpb24pXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5yZXF1ZXN0KFwiUE9TVFwiLCBgL3MvJHtyZWFsbU5hbWV9L2FwaS9zYXZlZF9vYmplY3RzL2NvbmZpZy8ke2tpYmFuYVZlcnNpb259P292ZXJ3cml0ZT10cnVlYCwgeyBhdHRyaWJ1dGVzOiB7IGRlZmF1bHRJbmRleDogZHZJZCB9IH0sIHRoaXMuY29uZmlnLmFkbWluQXBpVXNlciwgeyBoZWFkZXJzOiB7IFwia2JuLXhzcmZcIjogXCJ0cnVlXCIsIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0gfSwgMjAwLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA+PSAzMDApIHtcbiAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgVW5hYmxlIHRvIHNldCBkZWZhdWx0IGRhdGEgdmlldyBmb3IgJHtyZWFsbU5hbWV9OiAke3Jlc3BvbnNlLnN0YXR1c1RleHR9YDtcbiAgICAgICAgICAgIHRocm93IG5ldyBCYWRSZXF1ZXN0RXJyb3IobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY3JlYXRlSHR0cENsaWVudChjb25maWcpIHtcbiAgICAgICAgcmV0dXJuIEF4aW9zLmNyZWF0ZSh7XG4gICAgICAgICAgICBiYXNlVVJMOiBgJHtjb25maWcucHJvdG9jb2x9Oi8vJHtjb25maWcuaG9zdH1gLFxuICAgICAgICAgICAgdmFsaWRhdGVTdGF0dXM6ICgpID0+IHRydWUsXG4gICAgICAgICAgICBodHRwc0FnZW50OiBuZXcgaHR0cHMuQWdlbnQoe1xuICAgICAgICAgICAgICAgIHJlamVjdFVuYXV0aG9yaXplZDogKHJlc29sdmVLaWJhbmFJc1Byb2R1Y3Rpb24odGhpcy5jb25maWcpKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcGFyc2VFcnJvcihlcnJvcikge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gZXJyb3IubWVzc2FnZSB8fCBlcnJvci5uYW1lIHx8IFwiVW5rbm93biBlcnJvclwiO1xuICAgICAgICBjb25zdCBsb3dlck1lc3NhZ2UgPSBtZXNzYWdlLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJub3QgZm91bmRcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDA0XCIpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IE5vdEZvdW5kRXJyb3IobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcImFscmVhZHkgZXhpc3RzXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcImNvbmZsaWN0XCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwOVwiKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBDb25mbGljdEVycm9yKG1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJpbnZhbGlkXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcImJhZCByZXF1ZXN0XCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwMFwiKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBCYWRSZXF1ZXN0RXJyb3IobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcInVuYXV0aG9yaXplZFwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDFcIikpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTm90Rm91bmRFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiZm9yYmlkZGVuXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwM1wiKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBOb3RGb3VuZEVycm9yKG1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgSW50ZXJuYWxFcnJvcihtZXNzYWdlKTtcbiAgICB9XG4gICAgbm9ybWFsaXplRGF0YVZpZXdDb25maWcocmVhbG1OYW1lLCBzcGVjKSB7XG4gICAgICAgIGNvbnN0IHN1ZmZpeCA9IHJlYWxtTmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uc3BlYyxcbiAgICAgICAgICAgIG5hbWU6IHNwZWMubmFtZSA/PyBzcGVjLmlkLFxuICAgICAgICAgICAgdGl0bGU6IHNwZWMudGl0bGUgPz9cbiAgICAgICAgICAgICAgICAoc3BlYy5pZC5pbmNsdWRlcyhcImZpbGViZWF0XCIpXG4gICAgICAgICAgICAgICAgICAgID8gYGZpbGViZWF0LXBsYS0ke3N1ZmZpeH0tKmBcbiAgICAgICAgICAgICAgICAgICAgOiBgbWV0cmljYmVhdC1wbGEtJHtzdWZmaXh9LSpgKSxcbiAgICAgICAgICAgIHRpbWVGaWVsZE5hbWU6IHNwZWMudGltZUZpZWxkTmFtZSA/PyBcIkB0aW1lc3RhbXBcIixcbiAgICAgICAgfTtcbiAgICB9XG4gICAgZGVmYXVsdERhdGFWaWV3Q29uZmlncyhyZWFsbU5hbWUpIHtcbiAgICAgICAgY29uc3Qgc3VmZml4ID0gcmVhbG1OYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IGBmaWxlYmVhdF9wbGFfJHtzdWZmaXh9YCxcbiAgICAgICAgICAgICAgICBuYW1lOiBgUExBIEZpbGViZWF0IExvZ3MgKCR7cmVhbG1OYW1lfSlgLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBgZmlsZWJlYXQtcGxhLSR7c3VmZml4fS0qYCxcbiAgICAgICAgICAgICAgICB0aW1lRmllbGROYW1lOiBcIkB0aW1lc3RhbXBcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IGBsb2dzX3BsYV8ke3N1ZmZpeH1gLFxuICAgICAgICAgICAgICAgIG5hbWU6IGBQTEEgTWV0cmljYmVhdCBMb2dzICgke3JlYWxtTmFtZX0pYCxcbiAgICAgICAgICAgICAgICB0aXRsZTogYG1ldHJpY2JlYXQtcGxhLSR7c3VmZml4fS0qYCxcbiAgICAgICAgICAgICAgICB0aW1lRmllbGROYW1lOiBcIkB0aW1lc3RhbXBcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgfVxuICAgIGFzeW5jIHJlcXVlc3QobWV0aG9kLCB1cmwsIHBheWxvYWQsIGFwaVVzZXIsIGV4dHJhLCBzdWNjZXNzQ29kZSwgLi4uYXJncykge1xuICAgICAgICB0aGlzLmxvZ0N0eChhcmdzLCB0aGlzLnJlcXVlc3QpO1xuICAgICAgICByZXR1cm4gdGhpcy5jbGllbnQucmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgICB1cmwsXG4gICAgICAgICAgICBkYXRhOiBwYXlsb2FkID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICA/IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIDogdHlwZW9mIHBheWxvYWQgPT09IFwic3RyaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgPyBwYXlsb2FkXG4gICAgICAgICAgICAgICAgICAgIDogSlNPTi5zdHJpbmdpZnkocGF5bG9hZCksXG4gICAgICAgICAgICBhdXRoOiBhcGlVc2VyXG4gICAgICAgICAgICAgICAgPyB7IHVzZXJuYW1lOiBhcGlVc2VyLnVzZXJuYW1lLCBwYXNzd29yZDogYXBpVXNlci5wYXNzd29yZCB9XG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICB2YWxpZGF0ZVN0YXR1czogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICAgIGh0dHBzQWdlbnQ6IG5ldyBodHRwcy5BZ2VudCh7XG4gICAgICAgICAgICAgICAgcmVqZWN0VW5hdXRob3JpemVkOiAocmVzb2x2ZUtpYmFuYUlzUHJvZHVjdGlvbih0aGlzLmNvbmZpZykpLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAuLi5leHRyYSxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuX19kZWNvcmF0ZShbXG4gICAgc2VydmljZSgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBLaWJhbmFBdXRoU2VydmljZSlcbl0sIEtpYmFuYURhdGFWaWV3U2VydmljZS5wcm90b3R5cGUsIFwiYXV0aFNlcnZpY2VcIiwgdm9pZCAwKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVMybGlZVzVoUkdGMFlWWnBaWGRUWlhKMmFXTmxMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaUxpNHZMaTR2TGk0dkxpNHZjM0pqTDJ0cFltRnVZUzl6WlhKMmFXTmxjeTlMYVdKaGJtRkVZWFJoVm1sbGQxTmxjblpwWTJVdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklqczdPenM3T3pzN08wRkJRVUVzVDBGQlR5eEZRVU5NTEdWQlFXVXNSVUZEWml4aFFVRmhMRVZCUTJJc1lVRkJZU3hGUVVOaUxHRkJRV0VzUjBGRFpDeE5RVUZOTEhsQ1FVRjVRaXhEUVVGRE8wRkJSV3BETEU5QlFVOHNSVUZCUlN4clFrRkJhMElzUlVGQlJTeFBRVUZQTEVWQlFVVXNUVUZCVFN4blFrRkJaMElzUTBGQlF6dEJRVTAzUkN4UFFVRlBMRXRCUVhkQ0xFMUJRVTBzVDBGQlR5eERRVUZETzBGQlF6ZERMRTlCUVU4c1MwRkJTeXhMUVVGTExFMUJRVTBzV1VGQldTeERRVUZETzBGQlEzQkRMRTlCUVU4c1JVRkJSU3g1UWtGQmVVSXNSVUZCUlN4eFFrRkJhMEk3UVVGRGRFUXNUMEZCVHl4RlFVRkZMR2xDUVVGcFFpeEZRVUZGTEN0Q1FVRTBRanRCUVVONFJDeFBRVUZQTEVWQlFVVXNZVUZCWVN4RlFVRkZMR3REUVVFMlFqdEJRVVZ5UkN4TlFVRk5MRTlCUVU4c2NVSkJRWE5DTEZOQlFWRXNhMEpCUnpGRE8wbEJTVU1zUzBGQlN5eERRVUZETEZWQlFWVXNRMEZEWkN4SFFVRkhMRWxCUVRaQ08xRkJSV2hETEUxQlFVMHNSVUZCUlN4UFFVRlBMRVZCUVVVc1IwRkJSeXhEUVVOc1FpeE5RVUZOTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1NVRkJTU3hGUVVGRkxGbEJRVmtzUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZETlVNc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRPMUZCUTNaQ0xFMUJRVTBzVFVGQlRTeEhRVUZITEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVhOQ0xFTkJRVU03VVVGREwwTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1IwRkJSeXhOUVVGTkxFTkJRVU03VVVGRGRFSXNUVUZCVFN4TlFVRk5MRWRCUVVjc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8xRkJRemRETEVsQlFVa3NRMEZCUXl4UFFVRlBMRWRCUVVjc1RVRkJUU3hEUVVGRE8xRkJRM1JDTEU5QlFVOHNSVUZCUlN4TlFVRk5MRVZCUVVVc1RVRkJUU3hGUVVGRkxFTkJRVU03U1VGRE5VSXNRMEZCUXp0SlFVVkVMRXRCUVVzc1EwRkJReXhqUVVGakxFTkJRMnhDTEZOQlFXbENMRVZCUTJwQ0xFbEJRVEJDTEVWQlF6RkNMRWRCUVVjc1NVRkJOa0k3VVVGRmFFTXNUVUZCVFN4RlFVRkZMRTlCUVU4c1JVRkJSU3hIUVVGSExFTkJRMnhDTEUxQlFVMHNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhKUVVGSkxFVkJRVVVzWjBKQlFXZENMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRMmhFTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhqUVVGakxFTkJRVU1zUTBGQlF6dFJRVU16UWl4TlFVRk5MRTlCUVU4c1IwRkJSeXhKUVVGSkxFTkJRVU1zZFVKQlFYVkNMRU5CUVVNc1UwRkJVeXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzFGQlF6bEVMRTFCUVUwc1ZVRkJWU3hIUVVGSExFMUJRVTBzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZEYmtNc1RVRkJUU3hGUVVOT0xFMUJRVTBzVTBGQlV5d3lRa0ZCTWtJc1JVRkRNVU1zUlVGQlJTeFRRVUZUTEVWQlFVVXNUMEZCVHl4RlFVRkZMRVZCUTNSQ0xFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNXVUZCV1N4RlFVTjRRaXhGUVVGRkxFOUJRVThzUlVGQlJTeEZRVUZGTEZWQlFWVXNSVUZCUlN4TlFVRk5MRVZCUVVVc1kwRkJZeXhGUVVGRkxHdENRVUZyUWl4RlFVRkZMRVZCUVVVc1JVRkRka1VzUjBGQlJ5eEZRVU5JTEVkQlFVY3NUMEZCVHl4RFFVTllMRU5CUVVNN1VVRkZSaXhKUVVGSkxGVkJRVlVzUTBGQlF5eE5RVUZOTEV0QlFVc3NSMEZCUnl4SlFVRkpMRlZCUVZVc1EwRkJReXhOUVVGTkxFdEJRVXNzUjBGQlJ6dFpRVUZGTEU5QlFVODdVVUZEYmtVc1NVRkJTU3hWUVVGVkxFTkJRVU1zVFVGQlRTeExRVUZMTEVkQlFVY3NTVUZCU1N4VlFVRlZMRU5CUVVNc1RVRkJUU3hMUVVGTExFZEJRVWNzUlVGQlJTeERRVUZETzFsQlF6TkVMRTFCUVUwc1QwRkJUeXhIUVVGSExEaENRVUU0UWl4UFFVRlBMRU5CUVVNc1JVRkJSU3hMUVVGTExGVkJRVlVzUTBGQlF5eFZRVUZWTEVWQlFVVXNRMEZCUXp0WlFVTnlSaXhOUVVGTkxFbEJRVWtzWlVGQlpTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRPMUZCUTNKRExFTkJRVU03VVVGRlJDeE5RVUZOTEVsQlFVa3NRMEZCUXl4alFVRmpMRU5CUVVNc1UwRkJVeXhGUVVGRkxFOUJRVThzUlVGQlJTeEhRVUZITEU5QlFVOHNRMEZCUXl4RFFVRkRPMGxCUXpWRUxFTkJRVU03U1VGRlJDeExRVUZMTEVOQlFVTXNZMEZCWXl4RFFVTnNRaXhUUVVGcFFpeEZRVU5xUWl4SlFVRXdRaXhGUVVNeFFpeEhRVUZITEVsQlFUWkNPMUZCUldoRExFMUJRVTBzUlVGQlJTeFBRVUZQTEVWQlFVVXNSMEZCUnl4RFFVTnNRaXhOUVVGTkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RlFVRkZMR2RDUVVGblFpeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVTm9SQ3hEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRU5CUVVNN1VVRkRNMElzVFVGQlRTeFBRVUZQTEVkQlFVY3NTVUZCU1N4RFFVRkRMSFZDUVVGMVFpeERRVUZETEZOQlFWTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJRenRSUVVNNVJDeE5RVUZOTEVWQlFVVXNSVUZCUlN4RlFVRkZMRWRCUVVjc1lVRkJZU3hGUVVGRkxFZEJRVWNzVDBGQlR5eERRVUZETzFGQlEzcERMRTFCUVUwc1VVRkJVU3hIUVVGSExFMUJRVTBzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZEYWtNc1RVRkJUU3hGUVVOT0xFMUJRVTBzVTBGQlV5dzJRa0ZCTmtJc2EwSkJRV3RDTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkRjRVVzUlVGQlJTeFRRVUZUTEVWQlFVVXNZVUZCWVN4RlFVRkZMRVZCUXpWQ0xFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNXVUZCV1N4RlFVTjRRaXhGUVVGRkxFOUJRVThzUlVGQlJTeEZRVUZGTEZWQlFWVXNSVUZCUlN4TlFVRk5MRVZCUVVVc1kwRkJZeXhGUVVGRkxHdENRVUZyUWl4RlFVRkZMRVZCUVVVc1JVRkRka1VzUjBGQlJ5eEZRVU5JTEVkQlFVY3NUMEZCVHl4RFFVTllMRU5CUVVNN1VVRkRSaXhKUVVGSkxGRkJRVkVzUTBGQlF5eE5RVUZOTEVsQlFVa3NSMEZCUnl4RlFVRkZMRU5CUVVNN1dVRkRNMElzVFVGQlRTeFBRVUZQTEVkQlFVY3NPRUpCUVRoQ0xFOUJRVThzUTBGQlF5eEZRVUZGTEV0QlFVc3NVVUZCVVN4RFFVRkRMRlZCUVZVc1JVRkJSU3hEUVVGRE8xbEJRMjVHTEUxQlFVMHNTVUZCU1N4bFFVRmxMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03VVVGRGNrTXNRMEZCUXp0SlFVTklMRU5CUVVNN1NVRkZSQ3hMUVVGTExFTkJRVU1zWlVGQlpTeERRVU51UWl4VFFVRnBRaXhGUVVOcVFpeFRRVUUyUXl4RlFVTTNReXhIUVVGSExFbEJRVFpDTzFGQlJXaERMRTFCUVUwc1JVRkJSU3hQUVVGUExFVkJRVVVzUjBGQlJ5eERRVU5zUWl4TlFVRk5MRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeEZRVUZGTEdsQ1FVRnBRaXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVU5xUkN4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zWlVGQlpTeERRVUZETEVOQlFVTTdVVUZETlVJc1RVRkJUU3hMUVVGTExFZEJRMVFzVTBGQlV5eEpRVUZKTEZOQlFWTXNRMEZCUXl4TlFVRk5MRWRCUVVjc1EwRkJRenRaUVVNdlFpeERRVUZETEVOQlFVTXNVMEZCVXp0WlFVTllMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zYzBKQlFYTkNMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU03VVVGRE4wTXNTMEZCU3l4TlFVRk5MRWxCUVVrc1NVRkJTU3hMUVVGTExFVkJRVVVzUTBGQlF6dFpRVU42UWl4TlFVRk5MRWxCUVVrc1EwRkJReXhqUVVGakxFTkJRVU1zVTBGQlV5eEZRVUZGTEVsQlFVa3NSVUZCUlN4SFFVRkhMRTlCUVU4c1EwRkJReXhEUVVGRE8xRkJRM3BFTEVOQlFVTTdTVUZEU0N4RFFVRkRPMGxCUlVRc1MwRkJTeXhEUVVGRExHdENRVUZyUWl4RFFVTjBRaXhUUVVGcFFpeEZRVU5xUWl4VlFVRTRRaXhGUVVNNVFpeEhRVUZITEVsQlFUWkNPMUZCUldoRExFMUJRVTBzUlVGQlJTeFBRVUZQTEVWQlFVVXNSMEZCUnl4RFFVTnNRaXhOUVVGTkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RlFVRkZMRzlDUVVGdlFpeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVTndSQ3hEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zUTBGQlF6dFJRVU12UWl4TlFVRk5MRWxCUVVrc1IwRkRVaXhWUVVGVk8xbEJRMVlzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTzFsQlF6bENMRWxCUVVrc1EwRkJReXh6UWtGQmMwSXNRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTTdVVUZEYUVRc1RVRkJUU3hWUVVGVkxFZEJRVWNzVFVGQlRTeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVTnVReXhMUVVGTExFVkJRMHdzWVVGQllTeEZRVU5pTEZOQlFWTXNSVUZEVkN4VFFVRlRMRVZCUTFRc1JVRkJSU3hQUVVGUExFVkJRVVVzUlVGQlJTeFZRVUZWTEVWQlFVVXNUVUZCVFN4RlFVRkZMRVZCUVVVc1JVRkRia01zUjBGQlJ5eEZRVU5JTEVkQlFVY3NUMEZCVHl4RFFVTllMRU5CUVVNN1VVRkRSaXhKUVVGSkxGVkJRVlVzUTBGQlF5eE5RVUZOTEV0QlFVc3NSMEZCUnl4SlFVRkpMRU5CUVVNc1NVRkJTU3hGUVVGRkxFTkJRVU03V1VGRGRrTXNUMEZCVHp0UlFVTlVMRU5CUVVNN1VVRkRSQ3hOUVVGTkxGVkJRVlVzUjBGQlJ5eGhRVUZoTEVOQlFVMHNWVUZCVlN4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJRM1pFTEUxQlFVMHNZVUZCWVN4SFFVTnFRaXhWUVVGVkxFVkJRVVVzVDBGQlR5eEZRVUZGTEUxQlFVMHNTVUZCU1N4VlFVRlZMRVZCUVVVc1RVRkJUU3hGUVVGRkxFOUJRVThzUTBGQlF6dFJRVU0zUkN4SlFVRkpMRU5CUVVNc1lVRkJZVHRaUVVGRkxFOUJRVTg3VVVGRE0wSXNUVUZCVFN4UlFVRlJMRWRCUVVjc1RVRkJUU3hKUVVGSkxFTkJRVU1zVDBGQlR5eERRVU5xUXl4TlFVRk5MRVZCUTA0c1RVRkJUU3hUUVVGVExEWkNRVUUyUWl4aFFVRmhMR2xDUVVGcFFpeEZRVU14UlN4RlFVRkZMRlZCUVZVc1JVRkJSU3hGUVVGRkxGbEJRVmtzUlVGQlJTeEpRVUZKTEVWQlFVVXNSVUZCUlN4RlFVTjBReXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEZsQlFWa3NSVUZEZUVJc1JVRkJSU3hQUVVGUExFVkJRVVVzUlVGQlJTeFZRVUZWTEVWQlFVVXNUVUZCVFN4RlFVRkZMR05CUVdNc1JVRkJSU3hyUWtGQmEwSXNSVUZCUlN4RlFVRkZMRVZCUTNaRkxFZEJRVWNzUlVGRFNDeEhRVUZITEU5QlFVOHNRMEZEV0N4RFFVRkRPMUZCUTBZc1NVRkJTU3hSUVVGUkxFTkJRVU1zVFVGQlRTeEpRVUZKTEVkQlFVY3NSVUZCUlN4RFFVRkRPMWxCUXpOQ0xFMUJRVTBzVDBGQlR5eEhRVUZITEhWRFFVRjFReXhUUVVGVExFdEJRVXNzVVVGQlVTeERRVUZETEZWQlFWVXNSVUZCUlN4RFFVRkRPMWxCUXpOR0xFMUJRVTBzU1VGQlNTeGxRVUZsTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNN1VVRkRja01zUTBGQlF6dEpRVU5JTEVOQlFVTTdTVUZGVHl4blFrRkJaMElzUTBGQlF5eE5RVUY1UWp0UlFVTm9SQ3hQUVVGUExFdEJRVXNzUTBGQlF5eE5RVUZOTEVOQlFVTTdXVUZEYkVJc1QwRkJUeXhGUVVGRkxFZEJRVWNzVFVGQlRTeERRVUZETEZGQlFWRXNUVUZCVFN4TlFVRk5MRU5CUVVNc1NVRkJTU3hGUVVGRk8xbEJRemxETEdOQlFXTXNSVUZCUlN4SFFVRkhMRVZCUVVVc1EwRkJReXhKUVVGSk8xbEJRekZDTEZWQlFWVXNSVUZCUlN4SlFVRkpMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU03WjBKQlF6RkNMR3RDUVVGclFpeEZRVUZGTEVOQlFVTXNlVUpCUVhsQ0xFTkJRVU1zU1VGQlNTeERRVUZETEUxQlFXRXNRMEZCUXl4RFFVRkRPMkZCUTNCRkxFTkJRVU03VTBGRFNDeERRVUZETEVOQlFVTTdTVUZEVEN4RFFVRkRPMGxCUlZNc1ZVRkJWU3hEUVVGRExFdEJRVms3VVVGREwwSXNUVUZCVFN4UFFVRlBMRWRCUVVjc1MwRkJTeXhEUVVGRExFOUJRVThzU1VGQlNTeExRVUZMTEVOQlFVTXNTVUZCU1N4SlFVRkpMR1ZCUVdVc1EwRkJRenRSUVVNdlJDeE5RVUZOTEZsQlFWa3NSMEZCUnl4UFFVRlBMRU5CUVVNc1YwRkJWeXhGUVVGRkxFTkJRVU03VVVGRk0wTXNTVUZCU1N4WlFVRlpMRU5CUVVNc1VVRkJVU3hEUVVGRExGZEJRVmNzUTBGQlF5eEpRVUZKTEZsQlFWa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1MwRkJTeXhEUVVGRExFVkJRVVVzUTBGQlF6dFpRVU4yUlN4UFFVRlBMRWxCUVVrc1lVRkJZU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzFGQlEzQkRMRU5CUVVNN1VVRkZSQ3hKUVVGSkxGbEJRVmtzUTBGQlF5eFJRVUZSTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zU1VGQlNTeFpRVUZaTEVOQlFVTXNVVUZCVVN4RFFVRkRMRlZCUVZVc1EwRkJReXhKUVVGSkxGbEJRVmtzUTBGQlF5eFJRVUZSTEVOQlFVTXNTMEZCU3l4RFFVRkRMRVZCUVVVc1EwRkJRenRaUVVOcVNDeFBRVUZQTEVsQlFVa3NZVUZCWVN4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRE8xRkJRM0JETEVOQlFVTTdVVUZGUkN4SlFVRkpMRmxCUVZrc1EwRkJReXhSUVVGUkxFTkJRVU1zVTBGQlV5eERRVUZETEVsQlFVa3NXVUZCV1N4RFFVRkRMRkZCUVZFc1EwRkJReXhoUVVGaExFTkJRVU1zU1VGQlNTeFpRVUZaTEVOQlFVTXNVVUZCVVN4RFFVRkRMRXRCUVVzc1EwRkJReXhGUVVGRkxFTkJRVU03V1VGRE4wY3NUMEZCVHl4SlFVRkpMR1ZCUVdVc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dFJRVU4wUXl4RFFVRkRPMUZCUlVRc1NVRkJTU3haUVVGWkxFTkJRVU1zVVVGQlVTeERRVUZETEdOQlFXTXNRMEZCUXl4SlFVRkpMRmxCUVZrc1EwRkJReXhSUVVGUkxFTkJRVU1zUzBGQlN5eERRVUZETEVWQlFVVXNRMEZCUXp0WlFVTXhSU3hQUVVGUExFbEJRVWtzWVVGQllTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRPMUZCUTNCRExFTkJRVU03VVVGRlJDeEpRVUZKTEZsQlFWa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1YwRkJWeXhEUVVGRExFbEJRVWtzV1VGQldTeERRVUZETEZGQlFWRXNRMEZCUXl4TFFVRkxMRU5CUVVNc1JVRkJSU3hEUVVGRE8xbEJRM1pGTEU5QlFVOHNTVUZCU1N4aFFVRmhMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03VVVGRGNFTXNRMEZCUXp0UlFVVkVMRTlCUVU4c1NVRkJTU3hoUVVGaExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdTVUZEY0VNc1EwRkJRenRKUVVWUExIVkNRVUYxUWl4RFFVTTNRaXhUUVVGcFFpeEZRVU5xUWl4SlFVRXdRanRSUVVVeFFpeE5RVUZOTEUxQlFVMHNSMEZCUnl4VFFVRlRMRU5CUVVNc1YwRkJWeXhGUVVGRkxFTkJRVU03VVVGRGRrTXNUMEZCVHp0WlFVTk1MRWRCUVVjc1NVRkJTVHRaUVVOUUxFbEJRVWtzUlVGQlJTeEpRVUZKTEVOQlFVTXNTVUZCU1N4SlFVRkpMRWxCUVVrc1EwRkJReXhGUVVGRk8xbEJRekZDTEV0QlFVc3NSVUZEU0N4SlFVRkpMRU5CUVVNc1MwRkJTenRuUWtGRFZpeERRVUZETEVsQlFVa3NRMEZCUXl4RlFVRkZMRU5CUVVNc1VVRkJVU3hEUVVGRExGVkJRVlVzUTBGQlF6dHZRa0ZETTBJc1EwRkJReXhEUVVGRExHZENRVUZuUWl4TlFVRk5MRWxCUVVrN2IwSkJRelZDTEVOQlFVTXNRMEZCUXl4clFrRkJhMElzVFVGQlRTeEpRVUZKTEVOQlFVTTdXVUZEYmtNc1lVRkJZU3hGUVVGRkxFbEJRVWtzUTBGQlF5eGhRVUZoTEVsQlFVa3NXVUZCV1R0VFFVTnNSQ3hEUVVGRE8wbEJRMG9zUTBGQlF6dEpRVVZQTEhOQ1FVRnpRaXhEUVVGRExGTkJRV2xDTzFGQlF6bERMRTFCUVUwc1RVRkJUU3hIUVVGSExGTkJRVk1zUTBGQlF5eFhRVUZYTEVWQlFVVXNRMEZCUXp0UlFVTjJReXhQUVVGUE8xbEJRMHc3WjBKQlEwVXNSVUZCUlN4RlFVRkZMR2RDUVVGblFpeE5RVUZOTEVWQlFVVTdaMEpCUXpWQ0xFbEJRVWtzUlVGQlJTeHpRa0ZCYzBJc1UwRkJVeXhIUVVGSE8yZENRVU40UXl4TFFVRkxMRVZCUVVVc1owSkJRV2RDTEUxQlFVMHNTVUZCU1R0blFrRkRha01zWVVGQllTeEZRVUZGTEZsQlFWazdZVUZETlVJN1dVRkRSRHRuUWtGRFJTeEZRVUZGTEVWQlFVVXNXVUZCV1N4TlFVRk5MRVZCUVVVN1owSkJRM2hDTEVsQlFVa3NSVUZCUlN4M1FrRkJkMElzVTBGQlV5eEhRVUZITzJkQ1FVTXhReXhMUVVGTExFVkJRVVVzYTBKQlFXdENMRTFCUVUwc1NVRkJTVHRuUWtGRGJrTXNZVUZCWVN4RlFVRkZMRmxCUVZrN1lVRkROVUk3VTBGRFJpeERRVUZETzBsQlEwb3NRMEZCUXp0SlFVVlBMRXRCUVVzc1EwRkJReXhQUVVGUExFTkJRMjVDTEUxQlFYbERMRVZCUTNwRExFZEJRVmNzUlVGRFdDeFBRVUZuUWl4RlFVTm9RaXhQUVVFclFpeEZRVU12UWl4TFFVRXdRaXhGUVVNeFFpeFhRVUZ0UWl4RlFVTnVRaXhIUVVGSExFbEJRWGxDTzFGQlJUVkNMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRSUVVOb1F5eFBRVUZQTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1QwRkJUeXhEUVVGRE8xbEJRM3BDTEUxQlFVMDdXVUZEVGl4SFFVRkhPMWxCUTBnc1NVRkJTU3hGUVVOR0xFOUJRVThzUzBGQlN5eFRRVUZUTzJkQ1FVTnVRaXhEUVVGRExFTkJRVU1zVTBGQlV6dG5Ra0ZEV0N4RFFVRkRMRU5CUVVNc1QwRkJUeXhQUVVGUExFdEJRVXNzVVVGQlVUdHZRa0ZETTBJc1EwRkJReXhEUVVGRExFOUJRVTg3YjBKQlExUXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zVDBGQlR5eERRVUZETzFsQlF5OUNMRWxCUVVrc1JVRkJSU3hQUVVGUE8yZENRVU5ZTEVOQlFVTXNRMEZCUXl4RlFVRkZMRkZCUVZFc1JVRkJSU3hQUVVGUExFTkJRVU1zVVVGQlVTeEZRVUZGTEZGQlFWRXNSVUZCUlN4UFFVRlBMRU5CUVVNc1VVRkJVU3hGUVVGRk8yZENRVU0xUkN4RFFVRkRMRU5CUVVNc1UwRkJVenRaUVVOaUxHTkJRV01zUlVGQlJTeEhRVUZITEVWQlFVVXNRMEZCUXl4SlFVRkpPMWxCUXpGQ0xGVkJRVlVzUlVGQlJTeEpRVUZKTEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNN1owSkJRekZDTEd0Q1FVRnJRaXhGUVVGRkxFTkJRVU1zZVVKQlFYbENMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRV0VzUTBGQlF5eERRVUZETzJGQlEzQkZMRU5CUVVNN1dVRkRSaXhIUVVGSExFdEJRVXM3VTBGRFZDeERRVUZETEVOQlFVTTdTVUZEVEN4RFFVRkRPME5CUTBZN1FVRnlUMWM3U1VGRVZDeFBRVUZQTEVWQlFVVTdPRUpCUTJNc2FVSkJRV2xDT3pCRVFVRkRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHRjYmlBZ1FtRmtVbVZ4ZFdWemRFVnljbTl5TEZ4dUlDQkRiMjVtYkdsamRFVnljbTl5TEZ4dUlDQkpiblJsY201aGJFVnljbTl5TEZ4dUlDQk9iM1JHYjNWdVpFVnljbTl5TEZ4dWZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwyUmlMV1JsWTI5eVlYUnZjbk5jSWp0Y2JtbHRjRzl5ZENCN0lFTnZiblJsZUhSMVlXeEJjbWR6TENCTllYbGlaVU52Ym5SbGVIUjFZV3hCY21jZ2ZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwyTnZjbVZjSWp0Y2JtbHRjRzl5ZENCN0lFTnNhV1Z1ZEVKaGMyVmtVMlZ5ZG1salpTd2djMlZ5ZG1salpTQjlJR1p5YjIwZ1hDSkFaR1ZqWVdZdGRITXZZMjl5WlZ3aU8xeHVhVzF3YjNKMElIUjVjR1VnZTF4dUlDQkxhV0poYm1GRVlYUmhWbWxsZDBOdmJtWnBaeXhjYmlBZ1MybGlZVzVoVTJWMGRYQkRiMjVtYVdjc1hHNGdJRXRwWW1GdVlWVnpaWElzWEc1OUlHWnliMjBnWENJdUxpOTBlWEJsYzF3aU8xeHVhVzF3YjNKMElFRjRhVzl6TENCN0lFRjRhVzl6U1c1emRHRnVZMlVnZlNCbWNtOXRJRndpWVhocGIzTmNJanRjYm1sdGNHOXlkQ0FxSUdGeklHaDBkSEJ6SUdaeWIyMGdYQ0p1YjJSbE9taDBkSEJ6WENJN1hHNXBiWEJ2Y25RZ2V5QnlaWE52YkhabFMybGlZVzVoU1hOUWNtOWtkV04wYVc5dUlIMGdabkp2YlNCY0lpNHZjblZ1ZEdsdFpWd2lPMXh1YVcxd2IzSjBJSHNnUzJsaVlXNWhRWFYwYUZObGNuWnBZMlVnZlNCbWNtOXRJRndpTGk5TGFXSmhibUZCZFhSb1UyVnlkbWxqWlZ3aU8xeHVhVzF3YjNKMElIc2djR0Z5YzJWS2MyOXVRbTlrZVNCOUlHWnliMjBnWENJdUxpOHVMaTl6YUdGeVpXUXZjblZ1ZEdsdFpWd2lPMXh1WEc1bGVIQnZjblFnWTJ4aGMzTWdTMmxpWVc1aFJHRjBZVlpwWlhkVFpYSjJhV05sSUdWNGRHVnVaSE1nUTJ4cFpXNTBRbUZ6WldSVFpYSjJhV05sUEZ4dUlDQkJlR2x2YzBsdWMzUmhibU5sTEZ4dUlDQkxhV0poYm1GVFpYUjFjRU52Ym1acFoxeHVQaUI3WEc0Z0lFQnpaWEoyYVdObEtDbGNiaUFnY0hKdmRHVmpkR1ZrSUdGMWRHaFRaWEoyYVdObElUb2dTMmxpWVc1aFFYVjBhRk5sY25acFkyVTdYRzVjYmlBZ1lYTjVibU1nYVc1cGRHbGhiR2w2WlNoY2JpQWdJQ0F1TGk1aGNtZHpPaUJOWVhsaVpVTnZiblJsZUhSMVlXeEJjbWM4WVc1NVBseHVJQ0FwT2lCUWNtOXRhWE5sUEhzZ1kyOXVabWxuT2lCTGFXSmhibUZUWlhSMWNFTnZibVpwWnpzZ1kyeHBaVzUwT2lCQmVHbHZjMGx1YzNSaGJtTmxJSDArSUh0Y2JpQWdJQ0JqYjI1emRDQjdJR04wZUVGeVozTWdmU0E5SUNoY2JpQWdJQ0FnSUdGM1lXbDBJSFJvYVhNdWJHOW5RM1I0S0dGeVozTXNJRndpYVc1cGRHbGhiR2w2WlZ3aUxDQjBjblZsS1Z4dUlDQWdJQ2t1Wm05eUtIUm9hWE11YVc1cGRHbGhiR2w2WlNrN1hHNGdJQ0FnWTI5dWMzUWdZMjl1Wm1sbklEMGdZM1I0UVhKbmMxc3dYU0JoY3lCTGFXSmhibUZUWlhSMWNFTnZibVpwWnp0Y2JpQWdJQ0IwYUdsekxsOWpiMjVtYVdjZ1BTQmpiMjVtYVdjN1hHNGdJQ0FnWTI5dWMzUWdZMnhwWlc1MElEMGdkR2hwY3k1amNtVmhkR1ZJZEhSd1EyeHBaVzUwS0dOdmJtWnBaeWs3WEc0Z0lDQWdkR2hwY3k1ZlkyeHBaVzUwSUQwZ1kyeHBaVzUwTzF4dUlDQWdJSEpsZEhWeWJpQjdJR052Ym1acFp5d2dZMnhwWlc1MElIMDdYRzRnSUgxY2JseHVJQ0JoYzNsdVl5QmpjbVZoZEdWRVlYUmhWbWxsZHloY2JpQWdJQ0J5WldGc2JVNWhiV1U2SUhOMGNtbHVaeXhjYmlBZ0lDQnpjR1ZqT2lCTGFXSmhibUZFWVhSaFZtbGxkME52Ym1acFp5eGNiaUFnSUNBdUxpNWhjbWR6T2lCTllYbGlaVU52Ym5SbGVIUjFZV3hCY21jOFlXNTVQbHh1SUNBcE9pQlFjbTl0YVhObFBIWnZhV1ErSUh0Y2JpQWdJQ0JqYjI1emRDQjdJR04wZUVGeVozTWdmU0E5SUNoY2JpQWdJQ0FnSUdGM1lXbDBJSFJvYVhNdWJHOW5RM1I0S0dGeVozTXNJRndpWTNKbFlYUmxSR0YwWVZacFpYZGNJaXdnZEhKMVpTbGNiaUFnSUNBcExtWnZjaWgwYUdsekxtTnlaV0YwWlVSaGRHRldhV1YzS1R0Y2JpQWdJQ0JqYjI1emRDQndZWGxzYjJGa0lEMGdkR2hwY3k1dWIzSnRZV3hwZW1WRVlYUmhWbWxsZDBOdmJtWnBaeWh5WldGc2JVNWhiV1VzSUhOd1pXTXBPMXh1SUNBZ0lHTnZibk4wSUdOeVpXRjBaVkpsYzNBZ1BTQmhkMkZwZENCMGFHbHpMbkpsY1hWbGMzUW9YRzRnSUNBZ0lDQmNJbEJQVTFSY0lpeGNiaUFnSUNBZ0lHQXZjeThrZTNKbFlXeHRUbUZ0WlgwdllYQnBMMlJoZEdGZmRtbGxkM012WkdGMFlWOTJhV1YzWUN4Y2JpQWdJQ0FnSUhzZ1pHRjBZVjkyYVdWM09pQndZWGxzYjJGa0lIMHNYRzRnSUNBZ0lDQjBhR2x6TG1OdmJtWnBaeTVoWkcxcGJrRndhVlZ6WlhJc1hHNGdJQ0FnSUNCN0lHaGxZV1JsY25NNklIc2dYQ0pyWW00dGVITnlabHdpT2lCY0luUnlkV1ZjSWl3Z1hDSkRiMjUwWlc1MExWUjVjR1ZjSWpvZ1hDSmhjSEJzYVdOaGRHbHZiaTlxYzI5dVhDSWdmU0I5TEZ4dUlDQWdJQ0FnTWpBd0xGeHVJQ0FnSUNBZ0xpNHVZM1I0UVhKbmMxeHVJQ0FnSUNrN1hHNWNiaUFnSUNCcFppQW9ZM0psWVhSbFVtVnpjQzV6ZEdGMGRYTWdQVDA5SURJd01DQjhmQ0JqY21WaGRHVlNaWE53TG5OMFlYUjFjeUE5UFQwZ01qQXhLU0J5WlhSMWNtNDdYRzRnSUNBZ2FXWWdLR055WldGMFpWSmxjM0F1YzNSaGRIVnpJQ0U5UFNBME1Ea2dKaVlnWTNKbFlYUmxVbVZ6Y0M1emRHRjBkWE1nSVQwOUlEUXdNQ2tnZTF4dUlDQWdJQ0FnWTI5dWMzUWdiV1Z6YzJGblpTQTlJR0JWYm1GaWJHVWdkRzhnWTNKbFlYUmxJR1JoZEdFZ2RtbGxkeUFrZTNCaGVXeHZZV1F1YVdSOU9pQWtlMk55WldGMFpWSmxjM0F1YzNSaGRIVnpWR1Y0ZEgxZ08xeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFSmhaRkpsY1hWbGMzUkZjbkp2Y2lodFpYTnpZV2RsS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JoZDJGcGRDQjBhR2x6TG5Wd1pHRjBaVVJoZEdGV2FXVjNLSEpsWVd4dFRtRnRaU3dnY0dGNWJHOWhaQ3dnTGk0dVkzUjRRWEpuY3lrN1hHNGdJSDFjYmx4dUlDQmhjM2x1WXlCMWNHUmhkR1ZFWVhSaFZtbGxkeWhjYmlBZ0lDQnlaV0ZzYlU1aGJXVTZJSE4wY21sdVp5eGNiaUFnSUNCemNHVmpPaUJMYVdKaGJtRkVZWFJoVm1sbGQwTnZibVpwWnl4Y2JpQWdJQ0F1TGk1aGNtZHpPaUJOWVhsaVpVTnZiblJsZUhSMVlXeEJjbWM4WVc1NVBseHVJQ0FwT2lCUWNtOXRhWE5sUEhadmFXUStJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHTjBlRUZ5WjNNZ2ZTQTlJQ2hjYmlBZ0lDQWdJR0YzWVdsMElIUm9hWE11Ykc5blEzUjRLR0Z5WjNNc0lGd2lkWEJrWVhSbFJHRjBZVlpwWlhkY0lpd2dkSEoxWlNsY2JpQWdJQ0FwTG1admNpaDBhR2x6TG5Wd1pHRjBaVVJoZEdGV2FXVjNLVHRjYmlBZ0lDQmpiMjV6ZENCd1lYbHNiMkZrSUQwZ2RHaHBjeTV1YjNKdFlXeHBlbVZFWVhSaFZtbGxkME52Ym1acFp5aHlaV0ZzYlU1aGJXVXNJSE53WldNcE8xeHVJQ0FnSUdOdmJuTjBJSHNnYVdRc0lDNHVMblZ3WkdGMFpWQmhlV3h2WVdRZ2ZTQTlJSEJoZVd4dllXUTdYRzRnSUNBZ1kyOXVjM1FnY21WemNHOXVjMlVnUFNCaGQyRnBkQ0IwYUdsekxuSmxjWFZsYzNRb1hHNGdJQ0FnSUNCY0lsQlBVMVJjSWl4Y2JpQWdJQ0FnSUdBdmN5OGtlM0psWVd4dFRtRnRaWDB2WVhCcEwyUmhkR0ZmZG1sbGQzTXZaR0YwWVY5MmFXVjNMeVI3Wlc1amIyUmxWVkpKUTI5dGNHOXVaVzUwS0dsa0tYMWdMRnh1SUNBZ0lDQWdleUJrWVhSaFgzWnBaWGM2SUhWd1pHRjBaVkJoZVd4dllXUWdmU3hjYmlBZ0lDQWdJSFJvYVhNdVkyOXVabWxuTG1Ga2JXbHVRWEJwVlhObGNpeGNiaUFnSUNBZ0lIc2dhR1ZoWkdWeWN6b2dleUJjSW10aWJpMTRjM0ptWENJNklGd2lkSEoxWlZ3aUxDQmNJa052Ym5SbGJuUXRWSGx3WlZ3aU9pQmNJbUZ3Y0d4cFkyRjBhVzl1TDJwemIyNWNJaUI5SUgwc1hHNGdJQ0FnSUNBeU1EQXNYRzRnSUNBZ0lDQXVMaTVqZEhoQmNtZHpYRzRnSUNBZ0tUdGNiaUFnSUNCcFppQW9jbVZ6Y0c5dWMyVXVjM1JoZEhWeklENDlJRE13TUNrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnYldWemMyRm5aU0E5SUdCVmJtRmliR1VnZEc4Z2RYQmtZWFJsSUdSaGRHRWdkbWxsZHlBa2UzQmhlV3h2WVdRdWFXUjlPaUFrZTNKbGMzQnZibk5sTG5OMFlYUjFjMVJsZUhSOVlEdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkNZV1JTWlhGMVpYTjBSWEp5YjNJb2JXVnpjMkZuWlNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ1lYTjVibU1nWTNKbFlYUmxSR0YwWVZacFpYZHpLRnh1SUNBZ0lISmxZV3h0VG1GdFpUb2djM1J5YVc1bkxGeHVJQ0FnSUdSaGRHRldhV1YzY3pvZ1MybGlZVzVoUkdGMFlWWnBaWGREYjI1bWFXZGJYU0I4SUhWdVpHVm1hVzVsWkN4Y2JpQWdJQ0F1TGk1aGNtZHpPaUJOWVhsaVpVTnZiblJsZUhSMVlXeEJjbWM4WVc1NVBseHVJQ0FwT2lCUWNtOXRhWE5sUEhadmFXUStJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHTjBlRUZ5WjNNZ2ZTQTlJQ2hjYmlBZ0lDQWdJR0YzWVdsMElIUm9hWE11Ykc5blEzUjRLR0Z5WjNNc0lGd2lZM0psWVhSbFJHRjBZVlpwWlhkelhDSXNJSFJ5ZFdVcFhHNGdJQ0FnS1M1bWIzSW9kR2hwY3k1amNtVmhkR1ZFWVhSaFZtbGxkM01wTzF4dUlDQWdJR052Ym5OMElITndaV056SUQxY2JpQWdJQ0FnSUdSaGRHRldhV1YzY3lBbUppQmtZWFJoVm1sbGQzTXViR1Z1WjNSb0lENGdNRnh1SUNBZ0lDQWdJQ0EvSUdSaGRHRldhV1YzYzF4dUlDQWdJQ0FnSUNBNklIUm9hWE11WkdWbVlYVnNkRVJoZEdGV2FXVjNRMjl1Wm1sbmN5aHlaV0ZzYlU1aGJXVXBPMXh1SUNBZ0lHWnZjaUFvWTI5dWMzUWdjM0JsWXlCdlppQnpjR1ZqY3lrZ2UxeHVJQ0FnSUNBZ1lYZGhhWFFnZEdocGN5NWpjbVZoZEdWRVlYUmhWbWxsZHloeVpXRnNiVTVoYldVc0lITndaV01zSUM0dUxtTjBlRUZ5WjNNcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHRnplVzVqSUhObGRFUmxabUYxYkhSRVlYUmhWbWxsZHloY2JpQWdJQ0J5WldGc2JVNWhiV1U2SUhOMGNtbHVaeXhjYmlBZ0lDQmtZWFJoVm1sbGQwbGtPaUJ6ZEhKcGJtY2dmQ0IxYm1SbFptbHVaV1FzWEc0Z0lDQWdMaTR1WVhKbmN6b2dUV0Y1WW1WRGIyNTBaWGgwZFdGc1FYSm5QR0Z1ZVQ1Y2JpQWdLVG9nVUhKdmJXbHpaVHgyYjJsa1BpQjdYRzRnSUNBZ1kyOXVjM1FnZXlCamRIaEJjbWR6SUgwZ1BTQW9YRzRnSUNBZ0lDQmhkMkZwZENCMGFHbHpMbXh2WjBOMGVDaGhjbWR6TENCY0luTmxkRVJsWm1GMWJIUkVZWFJoVm1sbGQxd2lMQ0IwY25WbEtWeHVJQ0FnSUNrdVptOXlLSFJvYVhNdWMyVjBSR1ZtWVhWc2RFUmhkR0ZXYVdWM0tUdGNiaUFnSUNCamIyNXpkQ0JrZGtsa0lEMWNiaUFnSUNBZ0lHUmhkR0ZXYVdWM1NXUWdQejljYmlBZ0lDQWdJSFJvYVhNdVkyOXVabWxuTG1SaGRHRldhV1YzY3o4dVd6QmRQeTVwWkNBL1AxeHVJQ0FnSUNBZ2RHaHBjeTVrWldaaGRXeDBSR0YwWVZacFpYZERiMjVtYVdkektISmxZV3h0VG1GdFpTbGJNRjAvTG1sa08xeHVJQ0FnSUdOdmJuTjBJSE4wWVhSMWMxSmxjM0FnUFNCaGQyRnBkQ0IwYUdsekxuSmxjWFZsYzNRb1hHNGdJQ0FnSUNCY0lrZEZWRndpTEZ4dUlDQWdJQ0FnWUM5aGNHa3ZjM1JoZEhWellDeGNiaUFnSUNBZ0lIVnVaR1ZtYVc1bFpDeGNiaUFnSUNBZ0lIVnVaR1ZtYVc1bFpDeGNiaUFnSUNBZ0lIc2dhR1ZoWkdWeWN6b2dleUJjSW10aWJpMTRjM0ptWENJNklGd2lkSEoxWlZ3aUlIMGdmU3hjYmlBZ0lDQWdJREl3TUN4Y2JpQWdJQ0FnSUM0dUxtTjBlRUZ5WjNOY2JpQWdJQ0FwTzF4dUlDQWdJR2xtSUNoemRHRjBkWE5TWlhOd0xuTjBZWFIxY3lBaFBUMGdNakF3SUh4OElDRmtka2xrS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1SUNBZ0lHTnZibk4wSUhOMFlYUjFjMFJoZEdFZ1BTQndZWEp6WlVwemIyNUNiMlI1UEdGdWVUNG9jM1JoZEhWelVtVnpjQzVrWVhSaEtUdGNiaUFnSUNCamIyNXpkQ0JyYVdKaGJtRldaWEp6YVc5dUlEMWNiaUFnSUNBZ0lITjBZWFIxYzBSaGRHRS9MblpsY25OcGIyNC9MbTUxYldKbGNpQS9QeUJ6ZEdGMGRYTkVZWFJoUHk1cmFXSmhibUUvTG5abGNuTnBiMjQ3WEc0Z0lDQWdhV1lnS0NGcmFXSmhibUZXWlhKemFXOXVLU0J5WlhSMWNtNDdYRzRnSUNBZ1kyOXVjM1FnY21WemNHOXVjMlVnUFNCaGQyRnBkQ0IwYUdsekxuSmxjWFZsYzNRb1hHNGdJQ0FnSUNCY0lsQlBVMVJjSWl4Y2JpQWdJQ0FnSUdBdmN5OGtlM0psWVd4dFRtRnRaWDB2WVhCcEwzTmhkbVZrWDI5aWFtVmpkSE12WTI5dVptbG5MeVI3YTJsaVlXNWhWbVZ5YzJsdmJuMC9iM1psY25keWFYUmxQWFJ5ZFdWZ0xGeHVJQ0FnSUNBZ2V5QmhkSFJ5YVdKMWRHVnpPaUI3SUdSbFptRjFiSFJKYm1SbGVEb2daSFpKWkNCOUlIMHNYRzRnSUNBZ0lDQjBhR2x6TG1OdmJtWnBaeTVoWkcxcGJrRndhVlZ6WlhJc1hHNGdJQ0FnSUNCN0lHaGxZV1JsY25NNklIc2dYQ0pyWW00dGVITnlabHdpT2lCY0luUnlkV1ZjSWl3Z1hDSkRiMjUwWlc1MExWUjVjR1ZjSWpvZ1hDSmhjSEJzYVdOaGRHbHZiaTlxYzI5dVhDSWdmU0I5TEZ4dUlDQWdJQ0FnTWpBd0xGeHVJQ0FnSUNBZ0xpNHVZM1I0UVhKbmMxeHVJQ0FnSUNrN1hHNGdJQ0FnYVdZZ0tISmxjM0J2Ym5ObExuTjBZWFIxY3lBK1BTQXpNREFwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJRzFsYzNOaFoyVWdQU0JnVlc1aFlteGxJSFJ2SUhObGRDQmtaV1poZFd4MElHUmhkR0VnZG1sbGR5Qm1iM0lnSkh0eVpXRnNiVTVoYldWOU9pQWtlM0psYzNCdmJuTmxMbk4wWVhSMWMxUmxlSFI5WUR0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCQ1lXUlNaWEYxWlhOMFJYSnliM0lvYldWemMyRm5aU2s3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0JqY21WaGRHVklkSFJ3UTJ4cFpXNTBLR052Ym1acFp6b2dTMmxpWVc1aFUyVjBkWEJEYjI1bWFXY3BPaUJCZUdsdmMwbHVjM1JoYm1ObElIdGNiaUFnSUNCeVpYUjFjbTRnUVhocGIzTXVZM0psWVhSbEtIdGNiaUFnSUNBZ0lHSmhjMlZWVWt3NklHQWtlMk52Ym1acFp5NXdjbTkwYjJOdmJIMDZMeThrZTJOdmJtWnBaeTVvYjNOMGZXQXNYRzRnSUNBZ0lDQjJZV3hwWkdGMFpWTjBZWFIxY3pvZ0tDa2dQVDRnZEhKMVpTeGNiaUFnSUNBZ0lHaDBkSEJ6UVdkbGJuUTZJRzVsZHlCb2RIUndjeTVCWjJWdWRDaDdYRzRnSUNBZ0lDQWdJSEpsYW1WamRGVnVZWFYwYUc5eWFYcGxaRG9nS0hKbGMyOXNkbVZMYVdKaGJtRkpjMUJ5YjJSMVkzUnBiMjRvZEdocGN5NWpiMjVtYVdjZ1lYTWdZVzU1S1Nrc1hHNGdJQ0FnSUNCOUtTeGNiaUFnSUNCOUtUdGNiaUFnZlZ4dVhHNGdJSEJ5YjNSbFkzUmxaQ0J3WVhKelpVVnljbTl5S0dWeWNtOXlPaUJGY25KdmNpazZJRVZ5Y205eUlIdGNiaUFnSUNCamIyNXpkQ0J0WlhOellXZGxJRDBnWlhKeWIzSXViV1Z6YzJGblpTQjhmQ0JsY25KdmNpNXVZVzFsSUh4OElGd2lWVzVyYm05M2JpQmxjbkp2Y2x3aU8xeHVJQ0FnSUdOdmJuTjBJR3h2ZDJWeVRXVnpjMkZuWlNBOUlHMWxjM05oWjJVdWRHOU1iM2RsY2tOaGMyVW9LVHRjYmx4dUlDQWdJR2xtSUNoc2IzZGxjazFsYzNOaFoyVXVhVzVqYkhWa1pYTW9YQ0p1YjNRZ1ptOTFibVJjSWlrZ2ZId2diRzkzWlhKTlpYTnpZV2RsTG1sdVkyeDFaR1Z6S0Z3aU5EQTBYQ0lwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm1WM0lFNXZkRVp2ZFc1a1JYSnliM0lvYldWemMyRm5aU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0d4dmQyVnlUV1Z6YzJGblpTNXBibU5zZFdSbGN5aGNJbUZzY21WaFpIa2daWGhwYzNSelhDSXBJSHg4SUd4dmQyVnlUV1Z6YzJGblpTNXBibU5zZFdSbGN5aGNJbU52Ym1ac2FXTjBYQ0lwSUh4OElHeHZkMlZ5VFdWemMyRm5aUzVwYm1Oc2RXUmxjeWhjSWpRd09Wd2lLU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzVsZHlCRGIyNW1iR2xqZEVWeWNtOXlLRzFsYzNOaFoyVXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hzYjNkbGNrMWxjM05oWjJVdWFXNWpiSFZrWlhNb1hDSnBiblpoYkdsa1hDSXBJSHg4SUd4dmQyVnlUV1Z6YzJGblpTNXBibU5zZFdSbGN5aGNJbUpoWkNCeVpYRjFaWE4wWENJcElIeDhJR3h2ZDJWeVRXVnpjMkZuWlM1cGJtTnNkV1JsY3loY0lqUXdNRndpS1NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1bGR5QkNZV1JTWlhGMVpYTjBSWEp5YjNJb2JXVnpjMkZuWlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHeHZkMlZ5VFdWemMyRm5aUzVwYm1Oc2RXUmxjeWhjSW5WdVlYVjBhRzl5YVhwbFpGd2lLU0I4ZkNCc2IzZGxjazFsYzNOaFoyVXVhVzVqYkhWa1pYTW9YQ0kwTURGY0lpa3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnVG05MFJtOTFibVJGY25KdmNpaHRaWE56WVdkbEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9iRzkzWlhKTlpYTnpZV2RsTG1sdVkyeDFaR1Z6S0Z3aVptOXlZbWxrWkdWdVhDSXBJSHg4SUd4dmQyVnlUV1Z6YzJGblpTNXBibU5zZFdSbGN5aGNJalF3TTF3aUtTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJPYjNSR2IzVnVaRVZ5Y205eUtHMWxjM05oWjJVcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ1WlhjZ1NXNTBaWEp1WVd4RmNuSnZjaWh0WlhOellXZGxLVHRjYmlBZ2ZWeHVYRzRnSUhCeWFYWmhkR1VnYm05eWJXRnNhWHBsUkdGMFlWWnBaWGREYjI1bWFXY29YRzRnSUNBZ2NtVmhiRzFPWVcxbE9pQnpkSEpwYm1jc1hHNGdJQ0FnYzNCbFl6b2dTMmxpWVc1aFJHRjBZVlpwWlhkRGIyNW1hV2RjYmlBZ0tUb2dTMmxpWVc1aFJHRjBZVlpwWlhkRGIyNW1hV2NnZTF4dUlDQWdJR052Ym5OMElITjFabVpwZUNBOUlISmxZV3h0VG1GdFpTNTBiMHh2ZDJWeVEyRnpaU2dwTzF4dUlDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQXVMaTV6Y0dWakxGeHVJQ0FnSUNBZ2JtRnRaVG9nYzNCbFl5NXVZVzFsSUQ4L0lITndaV011YVdRc1hHNGdJQ0FnSUNCMGFYUnNaVHBjYmlBZ0lDQWdJQ0FnYzNCbFl5NTBhWFJzWlNBL1AxeHVJQ0FnSUNBZ0lDQW9jM0JsWXk1cFpDNXBibU5zZFdSbGN5aGNJbVpwYkdWaVpXRjBYQ0lwWEc0Z0lDQWdJQ0FnSUNBZ1B5QmdabWxzWldKbFlYUXRjR3hoTFNSN2MzVm1abWw0ZlMwcVlGeHVJQ0FnSUNBZ0lDQWdJRG9nWUcxbGRISnBZMkpsWVhRdGNHeGhMU1I3YzNWbVptbDRmUzBxWUNrc1hHNGdJQ0FnSUNCMGFXMWxSbWxsYkdST1lXMWxPaUJ6Y0dWakxuUnBiV1ZHYVdWc1pFNWhiV1VnUHo4Z1hDSkFkR2x0WlhOMFlXMXdYQ0lzWEc0Z0lDQWdmVHRjYmlBZ2ZWeHVYRzRnSUhCeWFYWmhkR1VnWkdWbVlYVnNkRVJoZEdGV2FXVjNRMjl1Wm1sbmN5aHlaV0ZzYlU1aGJXVTZJSE4wY21sdVp5azZJRXRwWW1GdVlVUmhkR0ZXYVdWM1EyOXVabWxuVzEwZ2UxeHVJQ0FnSUdOdmJuTjBJSE4xWm1acGVDQTlJSEpsWVd4dFRtRnRaUzUwYjB4dmQyVnlRMkZ6WlNncE8xeHVJQ0FnSUhKbGRIVnliaUJiWEc0Z0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUdsa09pQmdabWxzWldKbFlYUmZjR3hoWHlSN2MzVm1abWw0ZldBc1hHNGdJQ0FnSUNBZ0lHNWhiV1U2SUdCUVRFRWdSbWxzWldKbFlYUWdURzluY3lBb0pIdHlaV0ZzYlU1aGJXVjlLV0FzWEc0Z0lDQWdJQ0FnSUhScGRHeGxPaUJnWm1sc1pXSmxZWFF0Y0d4aExTUjdjM1ZtWm1sNGZTMHFZQ3hjYmlBZ0lDQWdJQ0FnZEdsdFpVWnBaV3hrVG1GdFpUb2dYQ0pBZEdsdFpYTjBZVzF3WENJc1hHNGdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQnBaRG9nWUd4dlozTmZjR3hoWHlSN2MzVm1abWw0ZldBc1hHNGdJQ0FnSUNBZ0lHNWhiV1U2SUdCUVRFRWdUV1YwY21salltVmhkQ0JNYjJkeklDZ2tlM0psWVd4dFRtRnRaWDBwWUN4Y2JpQWdJQ0FnSUNBZ2RHbDBiR1U2SUdCdFpYUnlhV05pWldGMExYQnNZUzBrZTNOMVptWnBlSDB0S21Bc1hHNGdJQ0FnSUNBZ0lIUnBiV1ZHYVdWc1pFNWhiV1U2SUZ3aVFIUnBiV1Z6ZEdGdGNGd2lMRnh1SUNBZ0lDQWdmU3hjYmlBZ0lDQmRPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0JoYzNsdVl5QnlaWEYxWlhOMEtGeHVJQ0FnSUcxbGRHaHZaRG9nWENKSFJWUmNJaUI4SUZ3aVVFOVRWRndpSUh3Z1hDSlFWVlJjSWlCOElGd2lSRVZNUlZSRlhDSXNYRzRnSUNBZ2RYSnNPaUJ6ZEhKcGJtY3NYRzRnSUNBZ2NHRjViRzloWkRvZ2RXNXJibTkzYml4Y2JpQWdJQ0JoY0dsVmMyVnlPaUJMYVdKaGJtRlZjMlZ5SUh3Z2RXNWtaV1pwYm1Wa0xGeHVJQ0FnSUdWNGRISmhPaUJTWldOdmNtUThjM1J5YVc1bkxDQmhibmsrTEZ4dUlDQWdJSE4xWTJObGMzTkRiMlJsT2lCdWRXMWlaWElzWEc0Z0lDQWdMaTR1WVhKbmN6b2dRMjl1ZEdWNGRIVmhiRUZ5WjNNOFlXNTVQbHh1SUNBcE9pQlFjbTl0YVhObFBHRnVlVDRnZTF4dUlDQWdJSFJvYVhNdWJHOW5RM1I0S0dGeVozTXNJSFJvYVhNdWNtVnhkV1Z6ZENrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHBaVzUwTG5KbGNYVmxjM1FvZTF4dUlDQWdJQ0FnYldWMGFHOWtMRnh1SUNBZ0lDQWdkWEpzTEZ4dUlDQWdJQ0FnWkdGMFlUcGNiaUFnSUNBZ0lDQWdjR0Y1Ykc5aFpDQTlQVDBnZFc1a1pXWnBibVZrWEc0Z0lDQWdJQ0FnSUNBZ1B5QjFibVJsWm1sdVpXUmNiaUFnSUNBZ0lDQWdJQ0E2SUhSNWNHVnZaaUJ3WVhsc2IyRmtJRDA5UFNCY0luTjBjbWx1WjF3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0EvSUhCaGVXeHZZV1JjYmlBZ0lDQWdJQ0FnSUNBZ0lEb2dTbE5QVGk1emRISnBibWRwWm5rb2NHRjViRzloWkNrc1hHNGdJQ0FnSUNCaGRYUm9PaUJoY0dsVmMyVnlYRzRnSUNBZ0lDQWdJRDhnZXlCMWMyVnlibUZ0WlRvZ1lYQnBWWE5sY2k1MWMyVnlibUZ0WlN3Z2NHRnpjM2R2Y21RNklHRndhVlZ6WlhJdWNHRnpjM2R2Y21RZ2ZWeHVJQ0FnSUNBZ0lDQTZJSFZ1WkdWbWFXNWxaQ3hjYmlBZ0lDQWdJSFpoYkdsa1lYUmxVM1JoZEhWek9pQW9LU0E5UGlCMGNuVmxMRnh1SUNBZ0lDQWdhSFIwY0hOQloyVnVkRG9nYm1WM0lHaDBkSEJ6TGtGblpXNTBLSHRjYmlBZ0lDQWdJQ0FnY21WcVpXTjBWVzVoZFhSb2IzSnBlbVZrT2lBb2NtVnpiMngyWlV0cFltRnVZVWx6VUhKdlpIVmpkR2x2YmloMGFHbHpMbU52Ym1acFp5QmhjeUJoYm5rcEtTeGNiaUFnSUNBZ0lIMHBMRnh1SUNBZ0lDQWdMaTR1WlhoMGNtRXNYRzRnSUNBZ2ZTazdYRzRnSUgxY2JuMWNiaUpkZlE9PSJdfQ==
|