tnx-shared 5.2.28 → 5.2.29
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/assets/docker/docker-entrypoint.sh +1 -1
- package/classes/base/list-component-base.d.ts +19 -5
- package/classes/base/list-component-base.d.ts.map +1 -1
- package/classes/environment-schema.d.ts +23 -20
- package/classes/environment-schema.d.ts.map +1 -1
- package/classes/public-function.d.ts +1 -0
- package/classes/public-function.d.ts.map +1 -1
- package/components/chat/chat-box/chat-box.component.d.ts.map +1 -1
- package/components/common-app-component/common-app-component.d.ts +1 -3
- package/components/common-app-component/common-app-component.d.ts.map +1 -1
- package/components/crud/advance-search/advance-search.component.d.ts +6 -6
- package/components/crud/advance-search/advance-search.component.d.ts.map +1 -1
- package/components/crud/crud-form/crud-form.component.d.ts +6 -0
- package/components/crud/crud-form/crud-form.component.d.ts.map +1 -1
- package/components/dropdown/dropdown.component.d.ts +5 -3
- package/components/dropdown/dropdown.component.d.ts.map +1 -1
- package/components/file-explorer/file-manager/file-manager.component.d.ts.map +1 -1
- package/components/query-builders/query-builder-rule/query-builder-rule.component.d.ts +3 -0
- package/components/query-builders/query-builder-rule/query-builder-rule.component.d.ts.map +1 -1
- package/components/tn-custom-scrollbar/tn-custom-scrollbar.component.d.ts.map +1 -1
- package/components/tn-tinymce/tn-tinymce.component.d.ts +2 -0
- package/components/tn-tinymce/tn-tinymce.component.d.ts.map +1 -1
- package/congviec/congviec/congviec-form/congviec-form.component.d.ts +1 -0
- package/congviec/congviec/congviec-form/congviec-form.component.d.ts.map +1 -1
- package/directives/primeng/tn-table.directive.d.ts +7 -6
- package/directives/primeng/tn-table.directive.d.ts.map +1 -1
- package/esm2020/classes/base/list-component-base.mjs +56 -32
- package/esm2020/classes/environment-schema.mjs +10 -1
- package/esm2020/classes/public-function.mjs +3 -1
- package/esm2020/components/add-news/add-news.component.mjs +3 -3
- package/esm2020/components/autocomplete-picker/autocomplete-picker.component.mjs +2 -2
- package/esm2020/components/chat/chat-box/chat-box.component.mjs +3 -4
- package/esm2020/components/chat/chat-send-message-box/chat-send-message-box.component.mjs +2 -2
- package/esm2020/components/common-app-component/common-app-component.mjs +57 -57
- package/esm2020/components/common-dashboard/common-dashboard.component.mjs +3 -3
- package/esm2020/components/crud/advance-search/advance-search.component.mjs +28 -19
- package/esm2020/components/crud/crud-form/crud-form.component.mjs +12 -4
- package/esm2020/components/crud/crud-list/crud-list.component.mjs +3 -3
- package/esm2020/components/crud/tree-table/tree-table.component.mjs +3 -3
- package/esm2020/components/dropdown/dropdown.component.mjs +29 -24
- package/esm2020/components/entity-permission/entity-permission.component.mjs +3 -3
- package/esm2020/components/entity-picker/entity-picker-box/entity-picker-box.component.mjs +3 -3
- package/esm2020/components/entity-picker/entity-picker-dialog/entity-picker-dialog.component.mjs +3 -3
- package/esm2020/components/file-explorer/file-manager/file-manager.component.mjs +3 -3
- package/esm2020/components/main-list/main-list.component.mjs +3 -3
- package/esm2020/components/query-builders/query-builder-rule/query-builder-rule.component.mjs +8 -3
- package/esm2020/components/radio-button-list/radio-button-list.component.mjs +3 -3
- package/esm2020/components/report-queue/report-queue.component.mjs +2 -2
- package/esm2020/components/settings/settings.component.mjs +3 -3
- package/esm2020/components/tn-app-help/tn-app-help.component.mjs +3 -3
- package/esm2020/components/tn-app-notification/tn-app-notification.component.mjs +3 -3
- package/esm2020/components/tn-custom-scrollbar/tn-custom-scrollbar.component.mjs +5 -4
- package/esm2020/components/tn-tinymce/tn-tinymce.component.mjs +7 -3
- package/esm2020/components/user-picker/user-picker-box/user-picker-box.component.mjs +3 -3
- package/esm2020/components/user-picker/user-picker.component.mjs +2 -2
- package/esm2020/components/workflow/workflow-picker/workflow-picker.component.mjs +3 -3
- package/esm2020/congviec/congviec/congviec-dinhkem/congviec-dinhkem.component.mjs +3 -3
- package/esm2020/congviec/congviec/congviec-form/congviec-form.component.mjs +6 -3
- package/esm2020/congviec/congviec/congviec.component.mjs +3 -3
- package/esm2020/directives/primeng/tn-table.directive.mjs +28 -13
- package/esm2020/services/common.service.mjs +11 -3
- package/esm2020/services/environment.service.mjs +48 -7
- package/esm2020/services/permission.service.mjs +12 -15
- package/esm2020/services/position.service.mjs +2 -2
- package/esm2020/services/signalr.service.mjs +3 -3
- package/esm2020/services/tn-client.service.mjs +30 -25
- package/esm2020/tnx-shared.module.mjs +14 -8
- package/fesm2015/tnx-shared.mjs +587 -445
- package/fesm2015/tnx-shared.mjs.map +1 -1
- package/fesm2020/tnx-shared.mjs +587 -445
- package/fesm2020/tnx-shared.mjs.map +1 -1
- package/package.json +2 -2
- package/services/common.service.d.ts +6 -0
- package/services/common.service.d.ts.map +1 -1
- package/services/environment.service.d.ts +32 -23
- package/services/environment.service.d.ts.map +1 -1
- package/services/permission.service.d.ts +5 -0
- package/services/permission.service.d.ts.map +1 -1
- package/services/position.service.d.ts.map +1 -1
- package/services/signalr.service.d.ts +1 -1
- package/services/signalr.service.d.ts.map +1 -1
- package/services/tn-client.service.d.ts +3 -1
- package/services/tn-client.service.d.ts.map +1 -1
- package/tnx-shared.module.d.ts +12 -11
- package/tnx-shared.module.d.ts.map +1 -1
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
export class ObjectApp {
|
|
2
|
+
}
|
|
3
|
+
ObjectApp.KeysNeedReCheck = ['useLocal', 'defaultRedirect', 'localEndpoint', 'longTitle', 'allowAnonymous'];
|
|
1
4
|
export const isLiteralObject = (obj) => {
|
|
2
5
|
return (obj instanceof Object)
|
|
3
6
|
&& !isArray(obj)
|
|
@@ -161,6 +164,12 @@ export const getEnvironmentDataNew = (personalName, scopeName, customPath = '')
|
|
|
161
164
|
}
|
|
162
165
|
}
|
|
163
166
|
}
|
|
167
|
+
// Lấy value từ envỉonment variable, overwrite các config khác nếu có
|
|
168
|
+
const anyWindow = window;
|
|
169
|
+
Object.keys(anyWindow).filter(x => x.startsWith('tnxArg_')).forEach(key => {
|
|
170
|
+
const keyWithoutPrefix = key.replace('tnxArg_', '');
|
|
171
|
+
op[keyWithoutPrefix] = anyWindow[key];
|
|
172
|
+
});
|
|
164
173
|
return op;
|
|
165
174
|
};
|
|
166
175
|
export const mergeJSONOld = (target, sourceRaw) => {
|
|
@@ -195,4 +204,4 @@ export const cloneOld = (obj) => {
|
|
|
195
204
|
return JSON.parse(JSON.stringify(obj));
|
|
196
205
|
return null;
|
|
197
206
|
};
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQtc2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvY2xhc3Nlcy9lbnZpcm9ubWVudC1zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0xBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQ25DLE9BQU8sQ0FBQyxHQUFHLFlBQVksTUFBTSxDQUFDO1dBQ3ZCLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztXQUNiLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztXQUNkLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztXQUNaLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztXQUNoQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7V0FDZixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7V0FDZixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMxQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUM1QixPQUFPLEdBQUcsWUFBWSxNQUFNLENBQUM7QUFDakMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDMUIsT0FBTyxHQUFHLFlBQVksSUFBSSxDQUFDO0FBQy9CLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQzlCLE9BQU8sR0FBRyxZQUFZLFFBQVEsQ0FBQztBQUNuQyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUM3QixPQUFPLEdBQUcsWUFBWSxPQUFPLENBQUM7QUFDbEMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDNUIsT0FBTyxHQUFHLFlBQVksTUFBTSxDQUFDO0FBQ2pDLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQzdCLE9BQU8sR0FBRyxZQUFZLE1BQU0sQ0FBQztBQUNqQyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUMzQixPQUFPLEdBQUcsWUFBWSxLQUFLLENBQUM7QUFDaEMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDaEMsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLE9BQU8sQ0FBQyxJQUFJLFFBQVEsSUFBSSxDQUFDLElBQUksU0FBUyxJQUFJLENBQUMsSUFBSSxRQUFRLElBQUksQ0FBQyxJQUFJLFFBQVEsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDO0FBQzlGLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFO0lBQ2hDLE9BQU8sSUFBSSxZQUFZLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztBQUMxRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRTtJQUNoQyxPQUFPLElBQUksWUFBWSxJQUFJLElBQUksb0NBQW9DLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDeEgsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDekIsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7S0FDMUM7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNyQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUU7SUFDeEMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsQixNQUFNLEdBQUcsRUFBRSxDQUFDO1NBQ2Y7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDVixLQUFLLE1BQU0sSUFBSSxJQUFJLE1BQU0sRUFBRTtZQUN2QixJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFO2dCQUNuQixNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQzthQUMxQztpQkFDSTtnQkFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQzVCO1lBQ0QsQ0FBQyxFQUFFLENBQUM7U0FDUDtRQUNELE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0tBQ3JCO1NBQ0ksSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDOUIsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7WUFDakMsT0FBTyxNQUFNLENBQUM7U0FDakI7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQztZQUFFLE1BQU0sR0FBRyxFQUFFLENBQUM7O1lBQ3JDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFNUIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2YsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDdEQsQ0FBQyxDQUFDLENBQUM7U0FDTjthQUNJO1lBQ0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNmLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxDQUFDO1NBQ047S0FDSjtTQUNJO1FBQ0QsTUFBTSxHQUFHLE1BQU0sQ0FBQztLQUNuQjtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQzVCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQixNQUFNLFNBQVMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFO1FBQ3JCLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ2IsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDakI7YUFDSSxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUMxQixLQUFLLE1BQU0sR0FBRyxJQUFJLEVBQUUsRUFBRTtnQkFDbEIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUNoQztTQUNKO2FBQ0k7WUFDRCxFQUFFLEdBQUcsSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUMsQ0FBQztJQUNGLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzdCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsT0FBZSxFQUFFLFNBQWlCLEVBQUUsYUFBcUIsRUFBRSxFQUFFLEVBQUU7SUFDaEcsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztJQUNwQyxJQUFJLFVBQVUsRUFBRTtRQUNaLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0QyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLCtCQUErQixDQUFDLENBQUM7S0FDN0U7U0FDSTtRQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLHVCQUF1QixTQUFTLElBQUksT0FBTyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFBRSwrQkFBK0IsQ0FBQyxDQUFDO0tBQzdFO0lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQixPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUM7QUFDL0IsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxhQUF1QixFQUFFLFNBQWlCLEVBQUUsYUFBcUIsRUFBRSxFQUFFLEVBQUU7SUFDdEcsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO0lBQ2YsS0FBSyxNQUFNLE9BQU8sSUFBSSxhQUFhLEVBQUU7UUFDakMsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7S0FDbEU7SUFFRCxJQUFJLEVBQUUsR0FBMkIsRUFBRSxDQUFDO0lBQ3BDLE9BQU8sR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDbkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN2QyxFQUFFLEdBQUcsU0FBUyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztLQUM5QjtJQUNELE9BQU8sRUFBRSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxZQUFvQixFQUFFLFNBQWlCLEVBQUUsYUFBcUIsRUFBRSxFQUFFLEVBQUU7SUFDdEcsTUFBTSxtQkFBbUIsR0FBSSxNQUFjLENBQUMsbUJBQW1CLENBQUM7SUFDaEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztJQUNwQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLG1CQUFtQixrQ0FBa0MsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNwRixvSEFBb0g7SUFDcEgsNkVBQTZFO0lBQzdFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEIsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUM1QyxJQUFJLEVBQUUsR0FBc0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDN0QscURBQXFEO0lBQ3JELElBQUksWUFBWSxJQUFJLE1BQU0sRUFBRTtRQUN4QixNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDZixHQUFHLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNwRSxPQUFPLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ25CLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDdkMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDOUI7UUFDRCxJQUFJLEVBQUUsRUFBRTtZQUNKLElBQUksRUFBRSxDQUFDLElBQUksRUFBRTtnQkFDVCxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ25DLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbEQsQ0FBQyxDQUFDLENBQUM7YUFDTjtZQUNELElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtnQkFDYixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ3ZDLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDdEQsQ0FBQyxDQUFDLENBQUM7YUFDTjtTQUNKO0tBQ0o7SUFDRCxPQUFPLEVBQUUsQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRTtJQUM5QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkMsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDckIsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLEVBQUU7WUFDdEIsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7b0JBQzNCLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQzdCO3FCQUNJO29CQUNELFlBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQzFDO2FBQ0o7aUJBQ0k7Z0JBQ0QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM3QjtTQUNKO0tBQ0o7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUMvQixJQUFJLENBQUMsR0FBRztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQ3ZCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFBRSxPQUFPLElBQUksQ0FBQztJQUN4QyxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUM1QixJQUFJLEdBQUc7UUFBRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2hELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudW1UeXBlU3BsYXNoIH0gZnJvbSAnLi4vY29tcG9uZW50cy9zcGxhc2gtY29tcG9uZW50L21vZGVscy9lbnVtcyc7XHJcbmltcG9ydCB7IEN1c3RvbWl6ZVVpTW9kZWwgfSBmcm9tICcuLi9zZXJ2aWNlcy9jdXN0b21pemUtdWkuc2VydmljZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVudmlyb25tZW50U2NoZW1hIHtcclxuICAgIHByb2R1Y3Rpb246IGJvb2xlYW47XHJcbiAgICBhcGlWZXJzaW9uOiBzdHJpbmc7XHJcbiAgICBobXI6IGJvb2xlYW47XHJcbiAgICBhcHBNZXRhZGF0YToge1xyXG4gICAgICAgIG1haW46IHtcclxuICAgICAgICAgICAgZGVmYXVsdEZlbWFsZUF2YXRhcjogc3RyaW5nO1xyXG4gICAgICAgICAgICBkZWZhdWx0TWFsZUF2YXRhcjogc3RyaW5nO1xyXG4gICAgICAgICAgICBkaWFDaGlOZ2F5VGhhbmc6IHN0cmluZztcclxuICAgICAgICAgICAgZmF2aWNvbjogc3RyaW5nO1xyXG4gICAgICAgICAgICBsb2dvOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIG93bmVyOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIHNob3dEZWZhdWx0U2V0dGluZzogYm9vbGVhbjtcclxuICAgICAgICAgICAgdGVuVHJ1b25nOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIG9wZW5OZXdUYWI6IGJvb2xlYW47XHJcbiAgICAgICAgfTtcclxuICAgICAgICBiYXNlSHJlZjogYW55O1xyXG4gICAgICAgIGdhdGV3YXk6IHN0cmluZztcclxuICAgICAgICBnYXRld2F5T2xkOiBzdHJpbmc7XHJcbiAgICAgICAgZ2F0ZXdheVN1YnBhdGg6IHN0cmluZztcclxuICAgICAgICBhcHBHYXRld2F5OiBzdHJpbmc7XHJcbiAgICAgICAgZG9jdW1lbnRTZXJ2ZXI6IHN0cmluZztcclxuICAgIH07XHJcbiAgICBtYWpvckFwaVZlcnNpb246IHN0cmluZztcclxuICAgIHZlcnNpb25pbmdUYWJsZTogc3RyaW5nO1xyXG4gICAgc2VydmljZXM6IHtcclxuICAgICAgICBba2V5OiBzdHJpbmddOiB7XHJcbiAgICAgICAgICAgIGNvZGU6IHN0cmluZztcclxuICAgICAgICAgICAgdXNlTG9jYWw6IGJvb2xlYW47XHJcbiAgICAgICAgICAgIHVzZU9sZFZlcnNpb246IGJvb2xlYW47XHJcbiAgICAgICAgICAgIGFwaVZlcnNpb246IHN0cmluZztcclxuICAgICAgICAgICAgbG9jYWxHcnBjRW5kcG9pbnQ6IHN0cmluZztcclxuICAgICAgICAgICAgbG9jYWxIdHRwRW5kcG9pbnQ6IHN0cmluZztcclxuICAgICAgICAgICAgbG9jYWxIdHRwRW5kcG9pbnRPbGQ6IHN0cmluZztcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgYXBwczoge1xyXG4gICAgICAgIFtrZXk6IHN0cmluZ106IHtcclxuICAgICAgICAgICAgY29kZTogc3RyaW5nO1xyXG4gICAgICAgICAgICBjb2x1bW46IG51bWJlcjtcclxuICAgICAgICAgICAgZGVmYXVsdFJlZGlyZWN0OiBzdHJpbmc7XHJcbiAgICAgICAgICAgIHVybDogc3RyaW5nO1xyXG4gICAgICAgICAgICBpY29uOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIHVzZUxvY2FsOiBib29sZWFuO1xyXG4gICAgICAgICAgICBsb2NhbEVuZHBvaW50OiBzdHJpbmc7XHJcbiAgICAgICAgICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIGxvbmdUaXRsZTogc3RyaW5nO1xyXG4gICAgICAgICAgICB2aXNpYmlsZTogYm9vbGVhbjtcclxuICAgICAgICAgICAgYWxsb3dBbm9ueW1vdXM6IGJvb2xlYW47XHJcbiAgICAgICAgICAgIHNob3dkZWZhdWx0c2V0dGluZzogYm9vbGVhbjtcclxuICAgICAgICAgICAgY29uZmlnZGVmYXVsdHNldHRpbmc6IHtcclxuICAgICAgICAgICAgICAgIGNvbHVtbjoge1xyXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBzdHJpbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGJvb2xlYW47XHJcbiAgICAgICAgICAgICAgICB9W107XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgZHluYW1pY0NvbXBvbmVudE1hbmlmZXN0OiBhbnk7XHJcbiAgICBhcGlEb21haW46IGFueTtcclxuICAgIGNsaWVudERvbWFpbjoge1xyXG4gICAgICAgIGFwcERvbWFpbjogc3RyaW5nO1xyXG4gICAgICAgIHB1YmxpY0NsaWVudERvbWFpbjogc3RyaW5nO1xyXG4gICAgICAgIGRlZmF1bHRSZWRpcmVjdDogc3RyaW5nO1xyXG4gICAgICAgIGNvbmdWaWVjRG9tYWluOiBzdHJpbmc7XHJcbiAgICB9O1xyXG5cclxuICAgIGNsaWVudFRlbXBsYXRlUGFyYW06IHtcclxuICAgICAgICB0cmluaEt5OiBzdHJpbmc7XHJcbiAgICB9O1xyXG5cclxuICAgIGF1dGhlbnRpY2F0aW9uU2V0dGluZ3M6IHtcclxuICAgICAgICBhdXRoZW5UeXBlOiBzdHJpbmdbXTtcclxuICAgICAgICBjbGllbnRJZDogc3RyaW5nO1xyXG4gICAgICAgIGlzc3Vlcjogc3RyaW5nO1xyXG4gICAgICAgIHNjb3BlOiBzdHJpbmc7XHJcbiAgICAgICAgcmVxdWlyZUh0dHBzOiBib29sZWFuO1xyXG4gICAgICAgIGN1c3RvbVJlZGlyZWN0VXJpOiBzdHJpbmc7XHJcbiAgICAgICAgbG9nb3V0T25VbmF1dGhvcml6ZWQ6IGJvb2xlYW47XHJcbiAgICAgICAgaXNGb3JjZUxvZ291dElmNDAxOiBib29sZWFuO1xyXG4gICAgICAgIGRpc2FibGVkOiBib29sZWFuO1xyXG4gICAgfTtcclxuXHJcbiAgICBzeXN0ZW1Mb2dTZXR0aW5nOiB7XHJcbiAgICAgICAgZW5hYmxlZDogYm9vbGVhblxyXG4gICAgfTtcclxuXHJcbiAgICBzaWduYWxyOiB7XHJcbiAgICAgICAgY2xpZW50S2V5OiBzdHJpbmc7XHJcbiAgICAgICAgZW5kcG9pbnQ6IHN0cmluZztcclxuICAgICAgICBlbmRwb2ludFNTTDogc3RyaW5nO1xyXG4gICAgICAgIHVzZVNTTDogYm9vbGVhbjtcclxuICAgICAgICBzaG93TG9nOiBib29sZWFuO1xyXG4gICAgICAgIGxpbmtEb3dubG9hZENsaWVudEFwcDogc3RyaW5nO1xyXG4gICAgICAgIHZlcnNpb246IHN0cmluZztcclxuICAgICAgICBlbmRwb2ludFVwZGF0ZTogc3RyaW5nO1xyXG4gICAgfTtcclxuXHJcbiAgICBzaWduYWxSQ29uZmlnOiB7XHJcbiAgICAgICAgdG9waWM6IGFueSxcclxuICAgICAgICBhY3Rpb246IHtcclxuICAgICAgICAgICAgbm90aWZpY2F0aW9uQ3JlYXRlZDogc3RyaW5nLFxyXG4gICAgICAgICAgICB2aWV3VXBkYXRlZDogc3RyaW5nXHJcbiAgICAgICAgfSxcclxuICAgICAgICBlbmFibGVIdWJzOiB7XHJcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGJvb2xlYW47XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICB3b3JrZmxvdzoge1xyXG4gICAgICAgIGRlZmF1bHRXb3JrZmxvdzoge1xyXG4gICAgICAgICAgICB0YXNrOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIHZlcnNpb246IHN0cmluZztcclxuICAgICAgICB9LFxyXG4gICAgICAgIHRhc2tDYXRlZ29yeVdvcmtmbG93TWFwcGluZ3M6IGFueTtcclxuICAgIH07XHJcblxyXG4gICAgc3VmZml4U2VydmljZUNvZGU6IHN0cmluZztcclxuICAgIG1vbml0b3Jpbmc6IHtcclxuICAgICAgICBkZXBsb3k6IHN0cmluZztcclxuICAgICAgICBtb25pdG9yOiBzdHJpbmc7XHJcbiAgICB9O1xyXG5cclxuICAgIGhlbHBDb25maWc6IHtcclxuICAgICAgICBleHBlcnROYW1lOiBzdHJpbmc7XHJcbiAgICAgICAgZXhwZXJ0UGhvbmVOdW1tYmVyOiBzdHJpbmc7XHJcbiAgICAgICAgZXhwZXJ0RW1haWw6IHN0cmluZztcclxuICAgICAgICBsb2dvQ29tcGFueTogc3RyaW5nO1xyXG4gICAgICAgIGRvY3VtZW50czpcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIHRodW1ibmFpbFR5cGU6IHN0cmluZztcclxuICAgICAgICAgICAgaWNvbjogc3RyaW5nO1xyXG4gICAgICAgICAgICBocmVmOiBzdHJpbmc7XHJcbiAgICAgICAgfVtdXHJcbiAgICB9XHJcblxyXG4gICAgZGVmYXVsdFZhbHVlOiB7XHJcbiAgICAgICAgbGlua0RvY3VtZW50U2VydmVyOiBzdHJpbmc7XHJcbiAgICAgICAga3lTb1NpbToge1xyXG4gICAgICAgICAgICB0c2FVcmw6IHN0cmluZztcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgZmllbGRzSW5EZWZhdWx0U2V0dGluZzoge1xyXG4gICAgICAgIGZpZWxkOiBzdHJpbmc7XHJcbiAgICAgICAgbGFiZWw6IHN0cmluZztcclxuICAgIH1bXTtcclxuICAgIGVuYWJsZUJhc2VIcmVmOiBib29sZWFuO1xyXG4gICAgYmFzZUhyZWY6IHN0cmluZztcclxuICAgIHBvcnRhbENvbmZpZzogYW55O1xyXG4gICAgd29ya2Zsb3dTZXR0aW5nOiBhbnk7XHJcbiAgICB2YmNjQ29uZmlnOiB7XHJcbiAgICAgICAgcHJlZml4VGVtcGxhdGU6IHN0cmluZ1tdXHJcbiAgICB9O1xyXG4gICAga2V5UHJlc3NQZXJtaXNzaW9uVXRpbHM6IHN0cmluZztcclxuICAgIHN0b3JhZ2U6IHN0cmluZztcclxuICAgIGN1c3RvbWl6ZVVpOiBDdXN0b21pemVVaU1vZGVsO1xyXG4gICAgc2hvd0Vycm9yTWVzc2FnZUluVG9hc3Q6IGJvb2xlYW47XHJcbiAgICBzaG93V2FybmluZ01lc3NhZ2VJblRvYXN0OiBib29sZWFuO1xyXG4gICAgaXNJZ25vcmVBZG1pbjogYm9vbGVhbjtcclxuICAgIGVuYWJsZVRuQ2xpZW50OiBib29sZWFuO1xyXG4gICAgZW5hYmxlUG9wdWxhdGVMb2c6IGJvb2xlYW47XHJcbiAgICBkaXNhYmxlTm90aWZpY2F0aW9uOiBib29sZWFuO1xyXG4gICAgc3BsYXNoU2NyZWVuOiBFbnVtVHlwZVNwbGFzaDtcclxuICAgIHVuZGVyY29uc3RydWN0aW9uOiBib29sZWFuO1xyXG4gICAgaW50ZXJuYWxGaWxlRW5kcG9pbnQ6IHN0cmluZztcclxuICAgIGJ1dHRvblBlcm1pc3Npb25zOiBzdHJpbmdbXTtcclxuICAgIGN1c3RvbUNvbmZpZzoge1xyXG4gICAgICAgIFtrZXk6IHN0cmluZ106IHN0cmluZ1xyXG4gICAgfVxyXG4gICAgdXNlckhhc1Blcm1pc3Npb25SZXNldFBhc3N3b3JkOiBzdHJpbmc7XHJcbiAgICB1c2VyU2V0dGluZ0NvbmZpZzogYW55O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgaXNMaXRlcmFsT2JqZWN0ID0gKG9iaikgPT4ge1xyXG4gICAgcmV0dXJuIChvYmogaW5zdGFuY2VvZiBPYmplY3QpXHJcbiAgICAgICAgJiYgIWlzQXJyYXkob2JqKVxyXG4gICAgICAgICYmICFpc051bWJlcihvYmopXHJcbiAgICAgICAgJiYgIWlzRGF0ZShvYmopXHJcbiAgICAgICAgJiYgIWlzRnVuY3Rpb24ob2JqKVxyXG4gICAgICAgICYmICFpc0Jvb2xlYW4ob2JqKVxyXG4gICAgICAgICYmICFpc1JlZ3VsYXIob2JqKVxyXG4gICAgICAgICYmICFpc1N0cmluZyhvYmopO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGlzTnVtYmVyID0gKG9iaikgPT4ge1xyXG4gICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIE51bWJlcjtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpc0RhdGUgPSAob2JqKSA9PiB7XHJcbiAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRGF0ZTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpc0Z1bmN0aW9uID0gKG9iaikgPT4ge1xyXG4gICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEZ1bmN0aW9uO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGlzQm9vbGVhbiA9IChvYmopID0+IHtcclxuICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBCb29sZWFuO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGlzU3RyaW5nID0gKG9iaikgPT4ge1xyXG4gICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIFN0cmluZztcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpc1JlZ3VsYXIgPSAob2JqKSA9PiB7XHJcbiAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgUmVnRXhwO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGlzQXJyYXkgPSAob2JqKSA9PiB7XHJcbiAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgQXJyYXk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgaXNTaW1wbGVUeXBlID0gKG9iaikgPT4ge1xyXG4gICAgY29uc3QgdCA9IHR5cGVvZiAob2JqKTtcclxuICAgIHJldHVybiB0ID09ICdudW1iZXInIHx8IHQgPT0gJ2Jvb2xlYW4nIHx8IHQgPT0gJ3N0cmluZycgfHwgdCA9PSAnc3ltYm9sJyB8fCB0ID09ICdiaWdpbnQnO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGlzVmFsaWREYXRlID0gKGRhdGUpID0+IHtcclxuICAgIHJldHVybiBkYXRlIGluc3RhbmNlb2YgRGF0ZSAmJiAhaXNOYU4oZGF0ZS5nZXRUaW1lKCkpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGlzVmFsaWRUaW1lID0gKGRhdGUpID0+IHtcclxuICAgIHJldHVybiBkYXRlIGluc3RhbmNlb2YgRGF0ZSAmJiAvXihbMC0xXVswLTldfDJbMC0zXSk6KFswLTVdWzAtOV0pJC8udGVzdChgJHtkYXRlLmdldEhvdXJzKCl9OiR7ZGF0ZS5nZXRNaW51dGVzKCl9YCk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgY2xvbmUgPSAob2JqKSA9PiB7XHJcbiAgICBpZiAob2JqICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShvYmopKTtcclxuICAgIH1cclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgbWVyZ2VKU09OID0gKHRhcmdldCwgc291cmNlKSA9PiB7XHJcbiAgICBpZiAoaXNBcnJheShzb3VyY2UpKSB7XHJcbiAgICAgICAgaWYgKCFpc0FycmF5KHRhcmdldCkpIHtcclxuICAgICAgICAgICAgdGFyZ2V0ID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBpID0gMDtcclxuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2Ygc291cmNlKSB7XHJcbiAgICAgICAgICAgIGlmIChpIDwgdGFyZ2V0Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0W2ldID0gbWVyZ2VKU09OKHRhcmdldFtpXSwgaXRlbSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQucHVzaChjbG9uZShpdGVtKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaSsrO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0YXJnZXQubGVuZ3RoID0gaTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlzTGl0ZXJhbE9iamVjdChzb3VyY2UpKSB7XHJcbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKHNvdXJjZSkubGVuZ3RoID09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRhcmdldDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFpc0xpdGVyYWxPYmplY3QodGFyZ2V0KSkgdGFyZ2V0ID0ge307XHJcbiAgICAgICAgZWxzZSB0YXJnZXQgPSBjbG9uZSh0YXJnZXQpO1xyXG5cclxuICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoc291cmNlKTtcclxuICAgICAgICBpZiAoa2V5cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGtleXMuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0W2tleV0gPSBtZXJnZUpTT04odGFyZ2V0W2tleV0sIHNvdXJjZVtrZXldKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXModGFyZ2V0KTtcclxuICAgICAgICAgICAga2V5cy5mb3JFYWNoKGtleSA9PiB7XHJcbiAgICAgICAgICAgICAgICBkZWxldGUgdGFyZ2V0W2tleV07XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICAgIHRhcmdldCA9IHNvdXJjZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGFyZ2V0O1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGNsZWFyQWxsID0gKG9iaikgPT4ge1xyXG4gICAgY29uc3QgbmV3T2JqID0gY2xvbmUob2JqKTtcclxuICAgIGNvbnN0IHJlY3Vyc2l2ZSA9IChvYikgPT4ge1xyXG4gICAgICAgIGlmIChpc0FycmF5KG9iKSkge1xyXG4gICAgICAgICAgICBvYi5sZW5ndGggPSAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpc0xpdGVyYWxPYmplY3Qob2IpKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIG9iKSB7XHJcbiAgICAgICAgICAgICAgICBvYltrZXldID0gcmVjdXJzaXZlKG9iW2tleV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBvYiA9IG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gb2I7XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHJlY3Vyc2l2ZShuZXdPYmopO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldEVudmlyb25tZW50QnlOYW1lID0gKGVudk5hbWU6IHN0cmluZywgc2NvcGVOYW1lOiBzdHJpbmcsIGN1c3RvbVBhdGg6IHN0cmluZyA9ICcnKSA9PiB7XHJcbiAgICBjb25zdCBhcHBYaHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcclxuICAgIGlmIChjdXN0b21QYXRoKSB7XHJcbiAgICAgICAgYXBwWGhyLm9wZW4oJ0dFVCcsIGN1c3RvbVBhdGgsIGZhbHNlKTtcclxuICAgICAgICBhcHBYaHIuc2V0UmVxdWVzdEhlYWRlcignQ2FjaGUtQ29udHJvbCcsICduby1jYWNoZSwgbm8tc3RvcmUsIG1heC1hZ2U9MCcpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgICAgYXBwWGhyLm9wZW4oJ0dFVCcsIGBhc3NldHMvZW52aXJvbm1lbnRzLyR7c2NvcGVOYW1lfS8ke2Vudk5hbWV9Lmpzb25gLCBmYWxzZSk7XHJcbiAgICAgICAgYXBwWGhyLnNldFJlcXVlc3RIZWFkZXIoJ0NhY2hlLUNvbnRyb2wnLCAnbm8tY2FjaGUsIG5vLXN0b3JlLCBtYXgtYWdlPTAnKTtcclxuICAgIH1cclxuICAgIGFwcFhoci5zZW5kKG51bGwpO1xyXG4gICAgcmV0dXJuIGFwcFhoci5yZXNwb25zZVRleHQ7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0RW52aXJvbm1lbnREYXRhID0gKGxpc3RPZkVudk5hbWU6IHN0cmluZ1tdLCBzY29wZU5hbWU6IHN0cmluZywgY3VzdG9tUGF0aDogc3RyaW5nID0gJycpID0+IHtcclxuICAgIGNvbnN0IHJlcyA9IFtdO1xyXG4gICAgZm9yIChjb25zdCBlbnZOYW1lIG9mIGxpc3RPZkVudk5hbWUpIHtcclxuICAgICAgICByZXMucHVzaChnZXRFbnZpcm9ubWVudEJ5TmFtZShlbnZOYW1lLCBzY29wZU5hbWUsIGN1c3RvbVBhdGgpKTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgb3A6IEVudmlyb25tZW50U2NoZW1hID0gPGFueT57fTtcclxuICAgIHdoaWxlIChyZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGNvbnN0IHNvdXJjZSA9IEpTT04ucGFyc2UocmVzLnNoaWZ0KCkpO1xyXG4gICAgICAgIG9wID0gbWVyZ2VKU09OKG9wLCBzb3VyY2UpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG9wO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldEVudmlyb25tZW50RGF0YU5ldyA9IChwZXJzb25hbE5hbWU6IHN0cmluZywgc2NvcGVOYW1lOiBzdHJpbmcsIGN1c3RvbVBhdGg6IHN0cmluZyA9ICcnKSA9PiB7XHJcbiAgICBjb25zdCBjb21tb25NYXN0ZXJEYXRhQXBpID0gKHdpbmRvdyBhcyBhbnkpLmNvbW1vbk1hc3RlckRhdGFBcGk7XHJcbiAgICBjb25zdCBhcHBYaHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcclxuICAgIGFwcFhoci5vcGVuKCdHRVQnLCBgJHtjb21tb25NYXN0ZXJEYXRhQXBpfXY1L0NvbmZpZ0FuZFNldHRpbmcvR2V0QXBwQ29uZmlnYCwgZmFsc2UpO1xyXG4gICAgLy8gR+G7jWkgYXBpIGPhu6dhIG3DrG5oIHRow6wga28gY+G6p24gbG9naWMgY2FjaGUgbsOgeSwgbG9naWMgbsOgeSBkbyBwaMOtYSBhcGkgcXV54bq/dCDEkeG7i25oIHhlbSBjw7MgY2FjaGUga2jDtG5nIHbDoCBjYWNoZSBiYW8gbMOidVxyXG4gICAgLy8gYXBwWGhyLnNldFJlcXVlc3RIZWFkZXIoJ0NhY2hlLUNvbnRyb2wnLCAnbm8tY2FjaGUsIG5vLXN0b3JlLCBtYXgtYWdlPTAnKTtcclxuICAgIGFwcFhoci5zZW5kKG51bGwpO1xyXG4gICAgY29uc3QgcmVzR2V0QXBwQ29uZmlnID0gYXBwWGhyLnJlc3BvbnNlVGV4dDtcclxuICAgIGxldCBvcDogRW52aXJvbm1lbnRTY2hlbWEgPSBKU09OLnBhcnNlKHJlc0dldEFwcENvbmZpZykuZGF0YTtcclxuICAgIC8vIE7hur91IGzDoCBwcm9kIHRow6wga2jDtG5nIGPhuqduIMSR4buNYyBj4bqldSBow6xuaCB04burIGpzb24gbuG7r2FcclxuICAgIGlmIChwZXJzb25hbE5hbWUgIT0gJ3Byb2QnKSB7XHJcbiAgICAgICAgY29uc3QgcmVzID0gW107XHJcbiAgICAgICAgcmVzLnB1c2goZ2V0RW52aXJvbm1lbnRCeU5hbWUocGVyc29uYWxOYW1lLCBzY29wZU5hbWUsIGN1c3RvbVBhdGgpKTtcclxuICAgICAgICB3aGlsZSAocmVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgY29uc3Qgc291cmNlID0gSlNPTi5wYXJzZShyZXMuc2hpZnQoKSk7XHJcbiAgICAgICAgICAgIG9wID0gbWVyZ2VKU09OKG9wLCBzb3VyY2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAob3ApIHtcclxuICAgICAgICAgICAgaWYgKG9wLmFwcHMpIHtcclxuICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKG9wLmFwcHMpLmZvckVhY2goYXBwQ29kZSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3AuYXBwc1thcHBDb2RlXS5jb2RlID0gYXBwQ29kZS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKG9wLnNlcnZpY2VzKSB7XHJcbiAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhvcC5zZXJ2aWNlcykuZm9yRWFjaChhcHBDb2RlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBvcC5zZXJ2aWNlc1thcHBDb2RlXS5jb2RlID0gYXBwQ29kZS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb3A7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgbWVyZ2VKU09OT2xkID0gKHRhcmdldCwgc291cmNlUmF3KSA9PiB7XHJcbiAgICBjb25zdCBzb3VyY2UgPSBjbG9uZU9sZChzb3VyY2VSYXcpO1xyXG4gICAgaWYgKGlzT2JqZWN0T2xkKHNvdXJjZSkpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBzb3VyY2UpIHtcclxuICAgICAgICAgICAgaWYgKGlzT2JqZWN0T2xkKHNvdXJjZVtrZXldKSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFpc09iamVjdE9sZCh0YXJnZXRba2V5XSkpIHtcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWVyZ2VKU09OT2xkKHRhcmdldFtrZXldLCBzb3VyY2Vba2V5XSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRhcmdldDtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpc09iamVjdE9sZCA9IChvYmopID0+IHtcclxuICAgIGlmICghb2JqKSByZXR1cm4gZmFsc2U7XHJcbiAgICBjb25zdCBzID0gSlNPTi5zdHJpbmdpZnkob2JqKTtcclxuICAgIGlmIChzICYmIHMuc3RhcnRzV2l0aCgneycpKSByZXR1cm4gdHJ1ZTtcclxuICAgIHJldHVybiBmYWxzZTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBjbG9uZU9sZCA9IChvYmopID0+IHtcclxuICAgIGlmIChvYmopIHJldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG9iaikpO1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbn07XHJcbiJdfQ==
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQtc2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvY2xhc3Nlcy9lbnZpcm9ubWVudC1zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLFNBQVM7O0FBQ0YseUJBQWUsR0FBRyxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixDQUFDLENBQUM7QUFpTHRILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQ25DLE9BQU8sQ0FBQyxHQUFHLFlBQVksTUFBTSxDQUFDO1dBQ3ZCLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztXQUNiLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztXQUNkLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztXQUNaLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztXQUNoQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7V0FDZixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7V0FDZixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMxQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUM1QixPQUFPLEdBQUcsWUFBWSxNQUFNLENBQUM7QUFDakMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDMUIsT0FBTyxHQUFHLFlBQVksSUFBSSxDQUFDO0FBQy9CLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQzlCLE9BQU8sR0FBRyxZQUFZLFFBQVEsQ0FBQztBQUNuQyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUM3QixPQUFPLEdBQUcsWUFBWSxPQUFPLENBQUM7QUFDbEMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDNUIsT0FBTyxHQUFHLFlBQVksTUFBTSxDQUFDO0FBQ2pDLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQzdCLE9BQU8sR0FBRyxZQUFZLE1BQU0sQ0FBQztBQUNqQyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUMzQixPQUFPLEdBQUcsWUFBWSxLQUFLLENBQUM7QUFDaEMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDaEMsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLE9BQU8sQ0FBQyxJQUFJLFFBQVEsSUFBSSxDQUFDLElBQUksU0FBUyxJQUFJLENBQUMsSUFBSSxRQUFRLElBQUksQ0FBQyxJQUFJLFFBQVEsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDO0FBQzlGLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFO0lBQ2hDLE9BQU8sSUFBSSxZQUFZLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztBQUMxRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRTtJQUNoQyxPQUFPLElBQUksWUFBWSxJQUFJLElBQUksb0NBQW9DLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDeEgsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDekIsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7S0FDMUM7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNyQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUU7SUFDeEMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsQixNQUFNLEdBQUcsRUFBRSxDQUFDO1NBQ2Y7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDVixLQUFLLE1BQU0sSUFBSSxJQUFJLE1BQU0sRUFBRTtZQUN2QixJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFO2dCQUNuQixNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQzthQUMxQztpQkFDSTtnQkFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQzVCO1lBQ0QsQ0FBQyxFQUFFLENBQUM7U0FDUDtRQUNELE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0tBQ3JCO1NBQ0ksSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDOUIsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7WUFDakMsT0FBTyxNQUFNLENBQUM7U0FDakI7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQztZQUFFLE1BQU0sR0FBRyxFQUFFLENBQUM7O1lBQ3JDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFNUIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2YsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDdEQsQ0FBQyxDQUFDLENBQUM7U0FDTjthQUNJO1lBQ0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNmLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxDQUFDO1NBQ047S0FDSjtTQUNJO1FBQ0QsTUFBTSxHQUFHLE1BQU0sQ0FBQztLQUNuQjtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQzVCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQixNQUFNLFNBQVMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFO1FBQ3JCLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ2IsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDakI7YUFDSSxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUMxQixLQUFLLE1BQU0sR0FBRyxJQUFJLEVBQUUsRUFBRTtnQkFDbEIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUNoQztTQUNKO2FBQ0k7WUFDRCxFQUFFLEdBQUcsSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUMsQ0FBQztJQUNGLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzdCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsT0FBZSxFQUFFLFNBQWlCLEVBQUUsYUFBcUIsRUFBRSxFQUFFLEVBQUU7SUFDaEcsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztJQUNwQyxJQUFJLFVBQVUsRUFBRTtRQUNaLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0QyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLCtCQUErQixDQUFDLENBQUM7S0FDN0U7U0FDSTtRQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLHVCQUF1QixTQUFTLElBQUksT0FBTyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFBRSwrQkFBK0IsQ0FBQyxDQUFDO0tBQzdFO0lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQixPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUM7QUFDL0IsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxhQUF1QixFQUFFLFNBQWlCLEVBQUUsYUFBcUIsRUFBRSxFQUFFLEVBQUU7SUFDdEcsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO0lBQ2YsS0FBSyxNQUFNLE9BQU8sSUFBSSxhQUFhLEVBQUU7UUFDakMsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7S0FDbEU7SUFFRCxJQUFJLEVBQUUsR0FBMkIsRUFBRSxDQUFDO0lBQ3BDLE9BQU8sR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDbkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN2QyxFQUFFLEdBQUcsU0FBUyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztLQUM5QjtJQUNELE9BQU8sRUFBRSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxZQUFvQixFQUFFLFNBQWlCLEVBQUUsYUFBcUIsRUFBRSxFQUFFLEVBQUU7SUFDdEcsTUFBTSxtQkFBbUIsR0FBSSxNQUFjLENBQUMsbUJBQW1CLENBQUM7SUFDaEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztJQUNwQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLG1CQUFtQixrQ0FBa0MsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNwRixvSEFBb0g7SUFDcEgsNkVBQTZFO0lBQzdFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEIsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUM1QyxJQUFJLEVBQUUsR0FBc0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDN0QscURBQXFEO0lBQ3JELElBQUksWUFBWSxJQUFJLE1BQU0sRUFBRTtRQUN4QixNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDZixHQUFHLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNwRSxPQUFPLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ25CLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDdkMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDOUI7UUFDRCxJQUFJLEVBQUUsRUFBRTtZQUNKLElBQUksRUFBRSxDQUFDLElBQUksRUFBRTtnQkFDVCxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ25DLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbEQsQ0FBQyxDQUFDLENBQUM7YUFDTjtZQUNELElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtnQkFDYixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ3ZDLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDdEQsQ0FBQyxDQUFDLENBQUM7YUFDTjtTQUNKO0tBQ0o7SUFFRCxxRUFBcUU7SUFDckUsTUFBTSxTQUFTLEdBQUcsTUFBYSxDQUFDO0lBQ2hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN0RSxNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQyxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sRUFBRSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFO0lBQzlDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuQyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUNyQixLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sRUFBRTtZQUN0QixJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtvQkFDM0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDN0I7cUJBQ0k7b0JBQ0QsWUFBWSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztpQkFDMUM7YUFDSjtpQkFDSTtnQkFDRCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQzdCO1NBQ0o7S0FDSjtJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQy9CLElBQUksQ0FBQyxHQUFHO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDdkIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQ3hDLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQzVCLElBQUksR0FBRztRQUFFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDaEQsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW51bVR5cGVTcGxhc2ggfSBmcm9tICcuLi9jb21wb25lbnRzL3NwbGFzaC1jb21wb25lbnQvbW9kZWxzL2VudW1zJztcclxuaW1wb3J0IHsgQ3VzdG9taXplVWlNb2RlbCB9IGZyb20gJy4uL3NlcnZpY2VzL2N1c3RvbWl6ZS11aS5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBPYmplY3RBcHAge1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IEtleXNOZWVkUmVDaGVjayA9IFsndXNlTG9jYWwnLCAnZGVmYXVsdFJlZGlyZWN0JywgJ2xvY2FsRW5kcG9pbnQnLCAnbG9uZ1RpdGxlJywgJ2FsbG93QW5vbnltb3VzJ107XHJcbiAgICBjb2RlOiBzdHJpbmc7XHJcbiAgICBjb2x1bW46IG51bWJlcjtcclxuICAgIGRlZmF1bHRSZWRpcmVjdDogc3RyaW5nO1xyXG4gICAgdXJsOiBzdHJpbmc7XHJcbiAgICBpY29uOiBzdHJpbmc7XHJcbiAgICB1c2VMb2NhbDogYm9vbGVhbjtcclxuICAgIGxvY2FsRW5kcG9pbnQ6IHN0cmluZztcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICBsb25nVGl0bGU6IHN0cmluZztcclxuICAgIHZpc2liaWxlOiBib29sZWFuO1xyXG4gICAgYWxsb3dBbm9ueW1vdXM6IGJvb2xlYW47XHJcbiAgICBzaG93ZGVmYXVsdHNldHRpbmc6IGJvb2xlYW47XHJcbiAgICBjb25maWdkZWZhdWx0c2V0dGluZzoge1xyXG4gICAgICAgIGNvbHVtbjoge1xyXG4gICAgICAgICAgICBmaWVsZDogc3RyaW5nO1xyXG4gICAgICAgICAgICByZXF1aXJlZDogYm9vbGVhbjtcclxuICAgICAgICB9W107XHJcbiAgICB9O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRW52aXJvbm1lbnRTY2hlbWEge1xyXG4gICAgcHJvZHVjdGlvbjogYm9vbGVhbjtcclxuICAgIGFwaVZlcnNpb246IHN0cmluZztcclxuICAgIGF1dGhvcml6YXRpb25Qcml2YXRlS2V5OiBzdHJpbmc7XHJcbiAgICBobXI6IGJvb2xlYW47XHJcbiAgICBhcHBNZXRhZGF0YToge1xyXG4gICAgICAgIG1haW46IHtcclxuICAgICAgICAgICAgZGVmYXVsdEZlbWFsZUF2YXRhcjogc3RyaW5nO1xyXG4gICAgICAgICAgICBkZWZhdWx0TWFsZUF2YXRhcjogc3RyaW5nO1xyXG4gICAgICAgICAgICBkaWFDaGlOZ2F5VGhhbmc6IHN0cmluZztcclxuICAgICAgICAgICAgZmF2aWNvbjogc3RyaW5nO1xyXG4gICAgICAgICAgICBsb2dvOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIG93bmVyOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIHNob3dEZWZhdWx0U2V0dGluZzogYm9vbGVhbjtcclxuICAgICAgICAgICAgdGVuVHJ1b25nOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIG9wZW5OZXdUYWI6IGJvb2xlYW47XHJcbiAgICAgICAgfTtcclxuICAgICAgICBiYXNlSHJlZjogYW55O1xyXG4gICAgICAgIGdhdGV3YXk6IHN0cmluZztcclxuICAgICAgICBnYXRld2F5T2xkOiBzdHJpbmc7XHJcbiAgICAgICAgZ2F0ZXdheVN1YnBhdGg6IHN0cmluZztcclxuICAgICAgICBhcHBHYXRld2F5OiBzdHJpbmc7XHJcbiAgICAgICAgZG9jdW1lbnRTZXJ2ZXI6IHN0cmluZztcclxuICAgIH07XHJcbiAgICBtYWpvckFwaVZlcnNpb246IHN0cmluZztcclxuICAgIHZlcnNpb25pbmdUYWJsZTogc3RyaW5nO1xyXG4gICAgc2VydmljZXM6IHtcclxuICAgICAgICBba2V5OiBzdHJpbmddOiB7XHJcbiAgICAgICAgICAgIGNvZGU6IHN0cmluZztcclxuICAgICAgICAgICAgdXNlTG9jYWw6IGJvb2xlYW47XHJcbiAgICAgICAgICAgIHVzZU9sZFZlcnNpb246IGJvb2xlYW47XHJcbiAgICAgICAgICAgIGFwaVZlcnNpb246IHN0cmluZztcclxuICAgICAgICAgICAgbG9jYWxHcnBjRW5kcG9pbnQ6IHN0cmluZztcclxuICAgICAgICAgICAgbG9jYWxIdHRwRW5kcG9pbnQ6IHN0cmluZztcclxuICAgICAgICAgICAgbG9jYWxIdHRwRW5kcG9pbnRPbGQ6IHN0cmluZztcclxuICAgICAgICB9O1xyXG4gICAgfTtcclxuICAgIGFwcHM6IHtcclxuICAgICAgICBba2V5OiBzdHJpbmddOiBPYmplY3RBcHA7XHJcbiAgICB9O1xyXG4gICAgZHluYW1pY0NvbXBvbmVudE1hbmlmZXN0OiBhbnk7XHJcbiAgICBhcGlEb21haW46IGFueTtcclxuICAgIGNsaWVudERvbWFpbjoge1xyXG4gICAgICAgIGFwcERvbWFpbjogc3RyaW5nO1xyXG4gICAgICAgIHB1YmxpY0NsaWVudERvbWFpbjogc3RyaW5nO1xyXG4gICAgICAgIGRlZmF1bHRSZWRpcmVjdDogc3RyaW5nO1xyXG4gICAgICAgIGNvbmdWaWVjRG9tYWluOiBzdHJpbmc7XHJcbiAgICB9O1xyXG5cclxuICAgIGNsaWVudFRlbXBsYXRlUGFyYW06IHtcclxuICAgICAgICB0cmluaEt5OiBzdHJpbmc7XHJcbiAgICB9O1xyXG5cclxuICAgIGF1dGhlbnRpY2F0aW9uU2V0dGluZ3M6IHtcclxuICAgICAgICBhdXRoZW5UeXBlOiBzdHJpbmdbXTtcclxuICAgICAgICBjbGllbnRJZDogc3RyaW5nO1xyXG4gICAgICAgIGlzc3Vlcjogc3RyaW5nO1xyXG4gICAgICAgIHNjb3BlOiBzdHJpbmc7XHJcbiAgICAgICAgcmVxdWlyZUh0dHBzOiBib29sZWFuO1xyXG4gICAgICAgIGN1c3RvbVJlZGlyZWN0VXJpOiBzdHJpbmc7XHJcbiAgICAgICAgbG9nb3V0T25VbmF1dGhvcml6ZWQ6IGJvb2xlYW47XHJcbiAgICAgICAgaXNGb3JjZUxvZ291dElmNDAxOiBib29sZWFuO1xyXG4gICAgICAgIGRpc2FibGVkOiBib29sZWFuO1xyXG4gICAgfTtcclxuXHJcbiAgICBzeXN0ZW1Mb2dTZXR0aW5nOiB7XHJcbiAgICAgICAgZW5hYmxlZDogYm9vbGVhbjtcclxuICAgIH07XHJcblxyXG4gICAgc2lnbmFscjoge1xyXG4gICAgICAgIGNsaWVudEtleTogc3RyaW5nO1xyXG4gICAgICAgIGVuZHBvaW50OiBzdHJpbmc7XHJcbiAgICAgICAgZW5kcG9pbnRTU0w6IHN0cmluZztcclxuICAgICAgICB1c2VTU0w6IGJvb2xlYW47XHJcbiAgICAgICAgc2hvd0xvZzogYm9vbGVhbjtcclxuICAgICAgICBsaW5rRG93bmxvYWRDbGllbnRBcHA6IHN0cmluZztcclxuICAgICAgICB2ZXJzaW9uOiBzdHJpbmc7XHJcbiAgICAgICAgZW5kcG9pbnRVcGRhdGU6IHN0cmluZztcclxuICAgIH07XHJcblxyXG4gICAgc2lnbmFsUkNvbmZpZzoge1xyXG4gICAgICAgIHRvcGljOiBhbnksXHJcbiAgICAgICAgYWN0aW9uOiB7XHJcbiAgICAgICAgICAgIG5vdGlmaWNhdGlvbkNyZWF0ZWQ6IHN0cmluZyxcclxuICAgICAgICAgICAgdmlld1VwZGF0ZWQ6IHN0cmluZztcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVuYWJsZUh1YnM6IHtcclxuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYm9vbGVhbjtcclxuICAgICAgICB9O1xyXG4gICAgfTtcclxuXHJcbiAgICB3b3JrZmxvdzoge1xyXG4gICAgICAgIGRlZmF1bHRXb3JrZmxvdzoge1xyXG4gICAgICAgICAgICB0YXNrOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIHZlcnNpb246IHN0cmluZztcclxuICAgICAgICB9LFxyXG4gICAgICAgIHRhc2tDYXRlZ29yeVdvcmtmbG93TWFwcGluZ3M6IGFueTtcclxuICAgIH07XHJcblxyXG4gICAgc3VmZml4U2VydmljZUNvZGU6IHN0cmluZztcclxuICAgIG1vbml0b3Jpbmc6IHtcclxuICAgICAgICBkZXBsb3k6IHN0cmluZztcclxuICAgICAgICBtb25pdG9yOiBzdHJpbmc7XHJcbiAgICB9O1xyXG5cclxuICAgIGhlbHBDb25maWc6IHtcclxuICAgICAgICBleHBlcnROYW1lOiBzdHJpbmc7XHJcbiAgICAgICAgZXhwZXJ0UGhvbmVOdW1tYmVyOiBzdHJpbmc7XHJcbiAgICAgICAgZXhwZXJ0RW1haWw6IHN0cmluZztcclxuICAgICAgICBsb2dvQ29tcGFueTogc3RyaW5nO1xyXG4gICAgICAgIGRvY3VtZW50czpcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIHRodW1ibmFpbFR5cGU6IHN0cmluZztcclxuICAgICAgICAgICAgaWNvbjogc3RyaW5nO1xyXG4gICAgICAgICAgICBocmVmOiBzdHJpbmc7XHJcbiAgICAgICAgfVtdO1xyXG4gICAgfTtcclxuXHJcbiAgICBkZWZhdWx0VmFsdWU6IHtcclxuICAgICAgICBsaW5rRG9jdW1lbnRTZXJ2ZXI6IHN0cmluZztcclxuICAgICAgICBreVNvU2ltOiB7XHJcbiAgICAgICAgICAgIHRzYVVybDogc3RyaW5nO1xyXG4gICAgICAgIH07XHJcbiAgICB9O1xyXG4gICAgZmllbGRzSW5EZWZhdWx0U2V0dGluZzoge1xyXG4gICAgICAgIGZpZWxkOiBzdHJpbmc7XHJcbiAgICAgICAgbGFiZWw6IHN0cmluZztcclxuICAgIH1bXTtcclxuICAgIGVuYWJsZUJhc2VIcmVmOiBib29sZWFuO1xyXG4gICAgYmFzZUhyZWY6IHN0cmluZztcclxuICAgIHBvcnRhbENvbmZpZzogYW55O1xyXG4gICAgd29ya2Zsb3dTZXR0aW5nOiBhbnk7XHJcbiAgICB2YmNjQ29uZmlnOiB7XHJcbiAgICAgICAgcHJlZml4VGVtcGxhdGU6IHN0cmluZ1tdO1xyXG4gICAgfTtcclxuICAgIGtleVByZXNzUGVybWlzc2lvblV0aWxzOiBzdHJpbmc7XHJcbiAgICBzdG9yYWdlOiBzdHJpbmc7XHJcbiAgICBjdXN0b21pemVVaTogQ3VzdG9taXplVWlNb2RlbDtcclxuICAgIHNob3dFcnJvck1lc3NhZ2VJblRvYXN0OiBib29sZWFuO1xyXG4gICAgc2hvd1dhcm5pbmdNZXNzYWdlSW5Ub2FzdDogYm9vbGVhbjtcclxuICAgIGlzSWdub3JlQWRtaW46IGJvb2xlYW47XHJcbiAgICBlbmFibGVUbkNsaWVudDogYm9vbGVhbjtcclxuICAgIGVuYWJsZVBvcHVsYXRlTG9nOiBib29sZWFuO1xyXG4gICAgZGlzYWJsZU5vdGlmaWNhdGlvbjogYm9vbGVhbjtcclxuICAgIHNwbGFzaFNjcmVlbjogRW51bVR5cGVTcGxhc2g7XHJcbiAgICB1bmRlcmNvbnN0cnVjdGlvbjogYm9vbGVhbjtcclxuICAgIGludGVybmFsRmlsZUVuZHBvaW50OiBzdHJpbmc7XHJcbiAgICBidXR0b25QZXJtaXNzaW9uczogc3RyaW5nW107XHJcbiAgICBjdXN0b21Db25maWc6IHtcclxuICAgICAgICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XHJcbiAgICB9O1xyXG4gICAgdXNlckhhc1Blcm1pc3Npb25SZXNldFBhc3N3b3JkOiBzdHJpbmc7XHJcbiAgICB1c2VyU2V0dGluZ0NvbmZpZzogYW55O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgaXNMaXRlcmFsT2JqZWN0ID0gKG9iaikgPT4ge1xyXG4gICAgcmV0dXJuIChvYmogaW5zdGFuY2VvZiBPYmplY3QpXHJcbiAgICAgICAgJiYgIWlzQXJyYXkob2JqKVxyXG4gICAgICAgICYmICFpc051bWJlcihvYmopXHJcbiAgICAgICAgJiYgIWlzRGF0ZShvYmopXHJcbiAgICAgICAgJiYgIWlzRnVuY3Rpb24ob2JqKVxyXG4gICAgICAgICYmICFpc0Jvb2xlYW4ob2JqKVxyXG4gICAgICAgICYmICFpc1JlZ3VsYXIob2JqKVxyXG4gICAgICAgICYmICFpc1N0cmluZyhvYmopO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGlzTnVtYmVyID0gKG9iaikgPT4ge1xyXG4gICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIE51bWJlcjtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpc0RhdGUgPSAob2JqKSA9PiB7XHJcbiAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRGF0ZTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpc0Z1bmN0aW9uID0gKG9iaikgPT4ge1xyXG4gICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEZ1bmN0aW9uO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGlzQm9vbGVhbiA9IChvYmopID0+IHtcclxuICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBCb29sZWFuO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGlzU3RyaW5nID0gKG9iaikgPT4ge1xyXG4gICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIFN0cmluZztcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpc1JlZ3VsYXIgPSAob2JqKSA9PiB7XHJcbiAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgUmVnRXhwO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGlzQXJyYXkgPSAob2JqKSA9PiB7XHJcbiAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgQXJyYXk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgaXNTaW1wbGVUeXBlID0gKG9iaikgPT4ge1xyXG4gICAgY29uc3QgdCA9IHR5cGVvZiAob2JqKTtcclxuICAgIHJldHVybiB0ID09ICdudW1iZXInIHx8IHQgPT0gJ2Jvb2xlYW4nIHx8IHQgPT0gJ3N0cmluZycgfHwgdCA9PSAnc3ltYm9sJyB8fCB0ID09ICdiaWdpbnQnO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGlzVmFsaWREYXRlID0gKGRhdGUpID0+IHtcclxuICAgIHJldHVybiBkYXRlIGluc3RhbmNlb2YgRGF0ZSAmJiAhaXNOYU4oZGF0ZS5nZXRUaW1lKCkpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGlzVmFsaWRUaW1lID0gKGRhdGUpID0+IHtcclxuICAgIHJldHVybiBkYXRlIGluc3RhbmNlb2YgRGF0ZSAmJiAvXihbMC0xXVswLTldfDJbMC0zXSk6KFswLTVdWzAtOV0pJC8udGVzdChgJHtkYXRlLmdldEhvdXJzKCl9OiR7ZGF0ZS5nZXRNaW51dGVzKCl9YCk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgY2xvbmUgPSAob2JqKSA9PiB7XHJcbiAgICBpZiAob2JqICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShvYmopKTtcclxuICAgIH1cclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgbWVyZ2VKU09OID0gKHRhcmdldCwgc291cmNlKSA9PiB7XHJcbiAgICBpZiAoaXNBcnJheShzb3VyY2UpKSB7XHJcbiAgICAgICAgaWYgKCFpc0FycmF5KHRhcmdldCkpIHtcclxuICAgICAgICAgICAgdGFyZ2V0ID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBpID0gMDtcclxuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2Ygc291cmNlKSB7XHJcbiAgICAgICAgICAgIGlmIChpIDwgdGFyZ2V0Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0W2ldID0gbWVyZ2VKU09OKHRhcmdldFtpXSwgaXRlbSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQucHVzaChjbG9uZShpdGVtKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaSsrO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0YXJnZXQubGVuZ3RoID0gaTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlzTGl0ZXJhbE9iamVjdChzb3VyY2UpKSB7XHJcbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKHNvdXJjZSkubGVuZ3RoID09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRhcmdldDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFpc0xpdGVyYWxPYmplY3QodGFyZ2V0KSkgdGFyZ2V0ID0ge307XHJcbiAgICAgICAgZWxzZSB0YXJnZXQgPSBjbG9uZSh0YXJnZXQpO1xyXG5cclxuICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoc291cmNlKTtcclxuICAgICAgICBpZiAoa2V5cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGtleXMuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0W2tleV0gPSBtZXJnZUpTT04odGFyZ2V0W2tleV0sIHNvdXJjZVtrZXldKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXModGFyZ2V0KTtcclxuICAgICAgICAgICAga2V5cy5mb3JFYWNoKGtleSA9PiB7XHJcbiAgICAgICAgICAgICAgICBkZWxldGUgdGFyZ2V0W2tleV07XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICAgIHRhcmdldCA9IHNvdXJjZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGFyZ2V0O1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGNsZWFyQWxsID0gKG9iaikgPT4ge1xyXG4gICAgY29uc3QgbmV3T2JqID0gY2xvbmUob2JqKTtcclxuICAgIGNvbnN0IHJlY3Vyc2l2ZSA9IChvYikgPT4ge1xyXG4gICAgICAgIGlmIChpc0FycmF5KG9iKSkge1xyXG4gICAgICAgICAgICBvYi5sZW5ndGggPSAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpc0xpdGVyYWxPYmplY3Qob2IpKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIG9iKSB7XHJcbiAgICAgICAgICAgICAgICBvYltrZXldID0gcmVjdXJzaXZlKG9iW2tleV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBvYiA9IG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gb2I7XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHJlY3Vyc2l2ZShuZXdPYmopO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldEVudmlyb25tZW50QnlOYW1lID0gKGVudk5hbWU6IHN0cmluZywgc2NvcGVOYW1lOiBzdHJpbmcsIGN1c3RvbVBhdGg6IHN0cmluZyA9ICcnKSA9PiB7XHJcbiAgICBjb25zdCBhcHBYaHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcclxuICAgIGlmIChjdXN0b21QYXRoKSB7XHJcbiAgICAgICAgYXBwWGhyLm9wZW4oJ0dFVCcsIGN1c3RvbVBhdGgsIGZhbHNlKTtcclxuICAgICAgICBhcHBYaHIuc2V0UmVxdWVzdEhlYWRlcignQ2FjaGUtQ29udHJvbCcsICduby1jYWNoZSwgbm8tc3RvcmUsIG1heC1hZ2U9MCcpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgICAgYXBwWGhyLm9wZW4oJ0dFVCcsIGBhc3NldHMvZW52aXJvbm1lbnRzLyR7c2NvcGVOYW1lfS8ke2Vudk5hbWV9Lmpzb25gLCBmYWxzZSk7XHJcbiAgICAgICAgYXBwWGhyLnNldFJlcXVlc3RIZWFkZXIoJ0NhY2hlLUNvbnRyb2wnLCAnbm8tY2FjaGUsIG5vLXN0b3JlLCBtYXgtYWdlPTAnKTtcclxuICAgIH1cclxuICAgIGFwcFhoci5zZW5kKG51bGwpO1xyXG4gICAgcmV0dXJuIGFwcFhoci5yZXNwb25zZVRleHQ7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0RW52aXJvbm1lbnREYXRhID0gKGxpc3RPZkVudk5hbWU6IHN0cmluZ1tdLCBzY29wZU5hbWU6IHN0cmluZywgY3VzdG9tUGF0aDogc3RyaW5nID0gJycpID0+IHtcclxuICAgIGNvbnN0IHJlcyA9IFtdO1xyXG4gICAgZm9yIChjb25zdCBlbnZOYW1lIG9mIGxpc3RPZkVudk5hbWUpIHtcclxuICAgICAgICByZXMucHVzaChnZXRFbnZpcm9ubWVudEJ5TmFtZShlbnZOYW1lLCBzY29wZU5hbWUsIGN1c3RvbVBhdGgpKTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgb3A6IEVudmlyb25tZW50U2NoZW1hID0gPGFueT57fTtcclxuICAgIHdoaWxlIChyZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGNvbnN0IHNvdXJjZSA9IEpTT04ucGFyc2UocmVzLnNoaWZ0KCkpO1xyXG4gICAgICAgIG9wID0gbWVyZ2VKU09OKG9wLCBzb3VyY2UpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG9wO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldEVudmlyb25tZW50RGF0YU5ldyA9IChwZXJzb25hbE5hbWU6IHN0cmluZywgc2NvcGVOYW1lOiBzdHJpbmcsIGN1c3RvbVBhdGg6IHN0cmluZyA9ICcnKSA9PiB7XHJcbiAgICBjb25zdCBjb21tb25NYXN0ZXJEYXRhQXBpID0gKHdpbmRvdyBhcyBhbnkpLmNvbW1vbk1hc3RlckRhdGFBcGk7XHJcbiAgICBjb25zdCBhcHBYaHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcclxuICAgIGFwcFhoci5vcGVuKCdHRVQnLCBgJHtjb21tb25NYXN0ZXJEYXRhQXBpfXY1L0NvbmZpZ0FuZFNldHRpbmcvR2V0QXBwQ29uZmlnYCwgZmFsc2UpO1xyXG4gICAgLy8gR+G7jWkgYXBpIGPhu6dhIG3DrG5oIHRow6wga28gY+G6p24gbG9naWMgY2FjaGUgbsOgeSwgbG9naWMgbsOgeSBkbyBwaMOtYSBhcGkgcXV54bq/dCDEkeG7i25oIHhlbSBjw7MgY2FjaGUga2jDtG5nIHbDoCBjYWNoZSBiYW8gbMOidVxyXG4gICAgLy8gYXBwWGhyLnNldFJlcXVlc3RIZWFkZXIoJ0NhY2hlLUNvbnRyb2wnLCAnbm8tY2FjaGUsIG5vLXN0b3JlLCBtYXgtYWdlPTAnKTtcclxuICAgIGFwcFhoci5zZW5kKG51bGwpO1xyXG4gICAgY29uc3QgcmVzR2V0QXBwQ29uZmlnID0gYXBwWGhyLnJlc3BvbnNlVGV4dDtcclxuICAgIGxldCBvcDogRW52aXJvbm1lbnRTY2hlbWEgPSBKU09OLnBhcnNlKHJlc0dldEFwcENvbmZpZykuZGF0YTtcclxuICAgIC8vIE7hur91IGzDoCBwcm9kIHRow6wga2jDtG5nIGPhuqduIMSR4buNYyBj4bqldSBow6xuaCB04burIGpzb24gbuG7r2FcclxuICAgIGlmIChwZXJzb25hbE5hbWUgIT0gJ3Byb2QnKSB7XHJcbiAgICAgICAgY29uc3QgcmVzID0gW107XHJcbiAgICAgICAgcmVzLnB1c2goZ2V0RW52aXJvbm1lbnRCeU5hbWUocGVyc29uYWxOYW1lLCBzY29wZU5hbWUsIGN1c3RvbVBhdGgpKTtcclxuICAgICAgICB3aGlsZSAocmVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgY29uc3Qgc291cmNlID0gSlNPTi5wYXJzZShyZXMuc2hpZnQoKSk7XHJcbiAgICAgICAgICAgIG9wID0gbWVyZ2VKU09OKG9wLCBzb3VyY2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAob3ApIHtcclxuICAgICAgICAgICAgaWYgKG9wLmFwcHMpIHtcclxuICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKG9wLmFwcHMpLmZvckVhY2goYXBwQ29kZSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3AuYXBwc1thcHBDb2RlXS5jb2RlID0gYXBwQ29kZS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKG9wLnNlcnZpY2VzKSB7XHJcbiAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhvcC5zZXJ2aWNlcykuZm9yRWFjaChhcHBDb2RlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBvcC5zZXJ2aWNlc1thcHBDb2RlXS5jb2RlID0gYXBwQ29kZS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gTOG6pXkgdmFsdWUgdOG7qyBlbnbhu4lvbm1lbnQgdmFyaWFibGUsIG92ZXJ3cml0ZSBjw6FjIGNvbmZpZyBraMOhYyBu4bq/dSBjw7NcclxuICAgIGNvbnN0IGFueVdpbmRvdyA9IHdpbmRvdyBhcyBhbnk7XHJcbiAgICBPYmplY3Qua2V5cyhhbnlXaW5kb3cpLmZpbHRlcih4ID0+IHguc3RhcnRzV2l0aCgndG54QXJnXycpKS5mb3JFYWNoKGtleSA9PiB7XHJcbiAgICAgICAgY29uc3Qga2V5V2l0aG91dFByZWZpeCA9IGtleS5yZXBsYWNlKCd0bnhBcmdfJywgJycpO1xyXG4gICAgICAgIG9wW2tleVdpdGhvdXRQcmVmaXhdID0gYW55V2luZG93W2tleV07XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gb3A7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgbWVyZ2VKU09OT2xkID0gKHRhcmdldCwgc291cmNlUmF3KSA9PiB7XHJcbiAgICBjb25zdCBzb3VyY2UgPSBjbG9uZU9sZChzb3VyY2VSYXcpO1xyXG4gICAgaWYgKGlzT2JqZWN0T2xkKHNvdXJjZSkpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBzb3VyY2UpIHtcclxuICAgICAgICAgICAgaWYgKGlzT2JqZWN0T2xkKHNvdXJjZVtrZXldKSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFpc09iamVjdE9sZCh0YXJnZXRba2V5XSkpIHtcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWVyZ2VKU09OT2xkKHRhcmdldFtrZXldLCBzb3VyY2Vba2V5XSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRhcmdldDtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpc09iamVjdE9sZCA9IChvYmopID0+IHtcclxuICAgIGlmICghb2JqKSByZXR1cm4gZmFsc2U7XHJcbiAgICBjb25zdCBzID0gSlNPTi5zdHJpbmdpZnkob2JqKTtcclxuICAgIGlmIChzICYmIHMuc3RhcnRzV2l0aCgneycpKSByZXR1cm4gdHJ1ZTtcclxuICAgIHJldHVybiBmYWxzZTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBjbG9uZU9sZCA9IChvYmopID0+IHtcclxuICAgIGlmIChvYmopIHJldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG9iaikpO1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbn07XHJcbiJdfQ==
|
|
@@ -34,6 +34,8 @@ import { NotifierService } from '../services/notifier.service';
|
|
|
34
34
|
// import { BrowserFavicons, BROWSER_FAVICONS_CONFIG, Favicons } from './favicon';
|
|
35
35
|
import { MultiTranslateHttpLoader } from './multi-translate-http-loader';
|
|
36
36
|
export class PublicFunction {
|
|
37
|
+
static getSignalRConfig() {
|
|
38
|
+
}
|
|
37
39
|
static initRoute(routes) {
|
|
38
40
|
return [
|
|
39
41
|
...PublicFunction.commonRoutes(),
|
|
@@ -147,4 +149,4 @@ export class PublicFunction {
|
|
|
147
149
|
];
|
|
148
150
|
}
|
|
149
151
|
}
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvY2xhc3Nlcy9wdWJsaWMtZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkYsT0FBTyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQ2hILE9BQU8s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QjtZQUN2QixjQUFjO1lBQ2QsZUFBZTtZQUNmLFdBQVc7WUFDWCxnQkFBZ0I7WUFDaEIsNEJBQTRCO1lBQzVCLDRCQUE0QjtZQUM1Qix1QkFBdUI7U0FDMUIsQ0FBQztJQUNOLENBQUM7Q0FHSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVQaXBlLCBEZWNpbWFsUGlwZSwgcmVnaXN0ZXJMb2NhbGVEYXRhIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cENsaWVudE1vZHVsZSwgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCBsb2NhbGVWaSBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy92aSc7XHJcbmltcG9ydCB7IExPQ0FMRV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZUxvYWRlciwgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IE9BdXRoTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XHJcbmltcG9ydCB7IEltZ0ZhbGxiYWNrTW9kdWxlIH0gZnJvbSAnbmd4LWltZy1mYWxsYmFjayc7XHJcbmltcG9ydCB7IE5neE1hc2tNb2R1bGUgfSBmcm9tICduZ3gtbWFzayc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAndG4tY3VzdG9tLXByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgQWNjZXNzRGVuaWVkQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9hY2Nlc3MtZGVuaWVkLWNvbXBvbmVudC9hY2Nlc3MtZGVuaWVkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vbkRhc2hib2FyZENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvY29tbW9uLWRhc2hib2FyZC9jb21tb24tZGFzaGJvYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVudGl0eVBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9lbnRpdHktcGVybWlzc2lvbi9zZXJ2aWNlcy5jcy9lbnRpdHktcGVybWlzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTm90Rm91bmRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL25vdC1mb3VuZC9ub3QtZm91bmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3BsYXNoQ29tcG9uZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9zcGxhc2gtY29tcG9uZW50L3NwbGFzaC1jb21wb25lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVW5pdmVyc2FsTGlua1Byb2Nlc3NvckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvdW5pdmVyc2FsLWxpbmstcHJvY2Vzc29yL3VuaXZlcnNhbC1saW5rLXByb2Nlc3Nvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFbnRpdHlXb3JrZmxvd0hpc3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi4vY29tcG9uZW50cy93b3JrZmxvdy9zZXJ2aWNlcy9lbnRpdHktd29ya2Zsb3ctaGlzdG9yeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRW50aXR5V29ya2Zsb3dTZXR0aW5nU2VydmljZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvd29ya2Zsb3cvc2VydmljZXMvZW50aXR5LXdvcmtmbG93LXNldHRpbmcuc2VydmljZSc7XHJcbmltcG9ydCB7IExvZ0ludGVyY2VwdG9yIH0gZnJvbSAnLi4vaW50ZXJjZXB0ZXJzL2xvZy5pbnRlcmNlcHRvcic7XHJcbmltcG9ydCB7IFBlcm1pc3Npb25VdGlsc0ludGVyY2VwdG9yIH0gZnJvbSAnLi4vaW50ZXJjZXB0ZXJzL3Blcm1pc3Npb24tdXRpbHMuaW50ZXJjZXB0b3InO1xyXG5pbXBvcnQgeyBTZW5kQWNjZXNzVG9rZW5JbnRlcmNlcHRvciB9IGZyb20gJy4uL2ludGVyY2VwdGVycy9zZW5kLWFjY2Vzcy10b2tlbi5pbnRlcmNlcHRvcic7XHJcbmltcG9ydCB7IFRyYWNlSW50ZXJjZXB0b3IgfSBmcm9tICcuLi9pbnRlcmNlcHRlcnMvdHJhY2UuaW50ZXJjZXB0b3InO1xyXG5pbXBvcnQgeyBIdG1sRm9ybWF0UGlwZSB9IGZyb20gJy4uL3BpcGVzL2h0bWwtZm9ybWF0LnBpcGUnO1xyXG5pbXBvcnQgeyBNYXN0ZXJEYXRhUGlwZSB9IGZyb20gJy4uL3BpcGVzL21hc3RlckRhdGEucGlwZSc7XHJcbmltcG9ydCB7IE9yZ2FuaXphdGlvbkZvcm1hdFBpcGUgfSBmcm9tICcuLi9waXBlcy9vcmdhbml6YXRpb24tZm9ybWF0LnBpcGUnO1xyXG5pbXBvcnQgeyBPcmdhbml6YXRpb25zRm9ybWF0UGlwZSB9IGZyb20gJy4uL3BpcGVzL29yZ2FuaXphdGlvbnMtZm9ybWF0LnBpcGUnO1xyXG5pbXBvcnQgeyBTYWZlSHRtbFBpcGUgfSBmcm9tICcuLi9waXBlcy9zYWZlLWh0bWwucGlwZSc7XHJcbmltcG9ydCB7IFVzZXJGb3JtYXRQaXBlIH0gZnJvbSAnLi4vcGlwZXMvdXNlci1mb3JtYXQucGlwZSc7XHJcbmltcG9ydCB7IFVzZXJzRm9ybWF0UGlwZSB9IGZyb20gJy4uL3BpcGVzL3VzZXJzLWZvcm1hdC5waXBlJztcclxuaW1wb3J0IHsgTm90aWZpZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbm90aWZpZXIuc2VydmljZSc7XHJcbi8vIFRPRE86IFVwZ3JhZGUgc2F1XHJcbi8vIGltcG9ydCB7IEJyb3dzZXJGYXZpY29ucywgQlJPV1NFUl9GQVZJQ09OU19DT05GSUcsIEZhdmljb25zIH0gZnJvbSAnLi9mYXZpY29uJztcclxuaW1wb3J0IHsgTXVsdGlUcmFuc2xhdGVIdHRwTG9hZGVyIH0gZnJvbSAnLi9tdWx0aS10cmFuc2xhdGUtaHR0cC1sb2FkZXInO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBQdWJsaWNGdW5jdGlvbiB7XHJcblxyXG4gICAgc3RhdGljIGluaXRSb3V0ZShyb3V0ZXM6IGFueVtdKSB7XHJcbiAgICAgICAgcmV0dXJuIFtcclxuICAgICAgICAgICAgLi4uUHVibGljRnVuY3Rpb24uY29tbW9uUm91dGVzKCksXHJcbiAgICAgICAgICAgIC4uLnJvdXRlcyxcclxuICAgICAgICAgICAgLi4uUHVibGljRnVuY3Rpb24uZGVmYXVsdFJvdXRlcygpLFxyXG4gICAgICAgIF07XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGNvbW1vblJvdXRlcygpIHtcclxuICAgICAgICByZXR1cm4gW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwYXRoOiAnJyxcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogU3BsYXNoQ29tcG9uZW50Q29tcG9uZW50LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwYXRoOiAnZGFzaGJvYXJkJyxcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogQ29tbW9uRGFzaGJvYXJkQ29tcG9uZW50LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwYXRoOiAnYWNjZXNzLWRlbmllZCcsXHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IEFjY2Vzc0RlbmllZENvbXBvbmVudCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgcGF0aDogJ3VuaXZlcnNhbC1saW5rJyxcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogVW5pdmVyc2FsTGlua1Byb2Nlc3NvckNvbXBvbmVudCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICBdO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBkZWZhdWx0Um91dGVzKCkge1xyXG4gICAgICAgIHJldHVybiBbXHJcbiAgICAgICAgICAgIHsgcGF0aDogJyoqJywgY29tcG9uZW50OiBOb3RGb3VuZENvbXBvbmVudCB9LFxyXG4gICAgICAgIF07XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGNyZWF0ZVRyYW5zbGF0ZUxvYWRlcihodHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNdWx0aVRyYW5zbGF0ZUh0dHBMb2FkZXIoaHR0cCxcclxuICAgICAgICAgICAgW1xyXG4gICAgICAgICAgICAgICAgeyBwcmVmaXg6ICdhc3NldHMvaTE4bi8nLCBzdWZmaXg6ICcuanNvbicgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJlZml4OiAnYXNzZXRzL2kxOG4vc2hhcmVkLycsIHN1ZmZpeDogJy5qc29uJyB9LFxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHJlZ2lzdGVyTG9jYWxlRGF0YShsb2NhbGU/LCBsYW5ndWFnZT8pIHtcclxuICAgICAgICBpZiAoIWxvY2FsZSkge1xyXG4gICAgICAgICAgICBsb2NhbGUgPSBsb2NhbGVWaTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFsYW5ndWFnZSkge1xyXG4gICAgICAgICAgICBsYW5ndWFnZSA9ICd2aSc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZWdpc3RlckxvY2FsZURhdGEobG9jYWxlLCBsYW5ndWFnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGltcG9ydFJvb3RNb2R1bGUoZW52aXJvbm1lbnQpIHtcclxuICAgICAgICByZXR1cm4gW1xyXG4gICAgICAgICAgICBCcm93c2VyTW9kdWxlLFxyXG4gICAgICAgICAgICBGb3Jtc01vZHVsZSxcclxuICAgICAgICAgICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgICAgICAgICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXHJcbiAgICAgICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JSb290KHtcclxuICAgICAgICAgICAgICAgIGxvYWRlcjoge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IFRyYW5zbGF0ZUxvYWRlcixcclxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiBQdWJsaWNGdW5jdGlvbi5jcmVhdGVUcmFuc2xhdGVMb2FkZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW0h0dHBDbGllbnRdLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIE5neE1hc2tNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgICAgICAgICBPQXV0aE1vZHVsZS5mb3JSb290KHtcclxuICAgICAgICAgICAgICAgIHJlc291cmNlU2VydmVyOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFVybHM6IFtlbnZpcm9ubWVudC5hcHBNZXRhZGF0YS5hcHBHYXRld2F5XSxcclxuICAgICAgICAgICAgICAgICAgICBzZW5kQWNjZXNzVG9rZW46IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIEltZ0ZhbGxiYWNrTW9kdWxlLFxyXG4gICAgICAgIF07XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHVzZVJvb3RQcm92aWRlcihlbnZpcm9tbWVudCkge1xyXG4gICAgICAgIHJldHVybiBbXHJcbiAgICAgICAgICAgIHsgcHJvdmlkZTogTE9DQUxFX0lELCB1c2VWYWx1ZTogJ3ZpLVZOJyB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUyxcclxuICAgICAgICAgICAgICAgIHVzZUNsYXNzOiBTZW5kQWNjZXNzVG9rZW5JbnRlcmNlcHRvcixcclxuICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUyxcclxuICAgICAgICAgICAgICAgIHVzZUNsYXNzOiBMb2dJbnRlcmNlcHRvcixcclxuICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUyxcclxuICAgICAgICAgICAgICAgIHVzZUNsYXNzOiBQZXJtaXNzaW9uVXRpbHNJbnRlcmNlcHRvcixcclxuICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUyxcclxuICAgICAgICAgICAgICAgIHVzZUNsYXNzOiBUcmFjZUludGVyY2VwdG9yLFxyXG4gICAgICAgICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgICAgICAgICBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgICAgICBEYXRlUGlwZSxcclxuICAgICAgICAgICAgVXNlckZvcm1hdFBpcGUsXHJcbiAgICAgICAgICAgIFVzZXJzRm9ybWF0UGlwZSxcclxuICAgICAgICAgICAgSHRtbEZvcm1hdFBpcGUsXHJcbiAgICAgICAgICAgIFNhZmVIdG1sUGlwZSxcclxuICAgICAgICAgICAgT3JnYW5pemF0aW9uRm9ybWF0UGlwZSxcclxuICAgICAgICAgICAgT3JnYW5pemF0aW9uc0Zvcm1hdFBpcGUsXHJcbiAgICAgICAgICAgIE1hc3RlckRhdGFQaXBlLFxyXG4gICAgICAgICAgICBOb3RpZmllclNlcnZpY2UsXHJcbiAgICAgICAgICAgIERlY2ltYWxQaXBlLFxyXG4gICAgICAgICAgICBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgICAgICAgICBFbnRpdHlXb3JrZmxvd1NldHRpbmdTZXJ2aWNlLFxyXG4gICAgICAgICAgICBFbnRpdHlXb3JrZmxvd0hpc3RvcnlTZXJ2aWNlLFxyXG4gICAgICAgICAgICBFbnRpdHlQZXJtaXNzaW9uU2VydmljZSxcclxuICAgICAgICBdO1xyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuIl19
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvY2xhc3Nlcy9wdWJsaWMtZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkYsT0FBTyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQ2hILE9BQU8s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WUFDZCxZQUFZO1lBQ1osc0JBQXNCO1lBQ3RCLHVCQUF1QjtZQUN2QixjQUFjO1lBQ2QsZUFBZTtZQUNmLFdBQVc7WUFDWCxnQkFBZ0I7WUFDaEIsNEJBQTRCO1lBQzVCLDRCQUE0QjtZQUM1Qix1QkFBdUI7U0FDMUIsQ0FBQztJQUNOLENBQUM7Q0FHSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVQaXBlLCBEZWNpbWFsUGlwZSwgcmVnaXN0ZXJMb2NhbGVEYXRhIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cENsaWVudE1vZHVsZSwgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCBsb2NhbGVWaSBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy92aSc7XHJcbmltcG9ydCB7IExPQ0FMRV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZUxvYWRlciwgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IE9BdXRoTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XHJcbmltcG9ydCB7IEltZ0ZhbGxiYWNrTW9kdWxlIH0gZnJvbSAnbmd4LWltZy1mYWxsYmFjayc7XHJcbmltcG9ydCB7IE5neE1hc2tNb2R1bGUgfSBmcm9tICduZ3gtbWFzayc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAndG4tY3VzdG9tLXByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgQWNjZXNzRGVuaWVkQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9hY2Nlc3MtZGVuaWVkLWNvbXBvbmVudC9hY2Nlc3MtZGVuaWVkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vbkRhc2hib2FyZENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvY29tbW9uLWRhc2hib2FyZC9jb21tb24tZGFzaGJvYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVudGl0eVBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9lbnRpdHktcGVybWlzc2lvbi9zZXJ2aWNlcy5jcy9lbnRpdHktcGVybWlzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTm90Rm91bmRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL25vdC1mb3VuZC9ub3QtZm91bmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3BsYXNoQ29tcG9uZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9zcGxhc2gtY29tcG9uZW50L3NwbGFzaC1jb21wb25lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVW5pdmVyc2FsTGlua1Byb2Nlc3NvckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvdW5pdmVyc2FsLWxpbmstcHJvY2Vzc29yL3VuaXZlcnNhbC1saW5rLXByb2Nlc3Nvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFbnRpdHlXb3JrZmxvd0hpc3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi4vY29tcG9uZW50cy93b3JrZmxvdy9zZXJ2aWNlcy9lbnRpdHktd29ya2Zsb3ctaGlzdG9yeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRW50aXR5V29ya2Zsb3dTZXR0aW5nU2VydmljZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvd29ya2Zsb3cvc2VydmljZXMvZW50aXR5LXdvcmtmbG93LXNldHRpbmcuc2VydmljZSc7XHJcbmltcG9ydCB7IExvZ0ludGVyY2VwdG9yIH0gZnJvbSAnLi4vaW50ZXJjZXB0ZXJzL2xvZy5pbnRlcmNlcHRvcic7XHJcbmltcG9ydCB7IFBlcm1pc3Npb25VdGlsc0ludGVyY2VwdG9yIH0gZnJvbSAnLi4vaW50ZXJjZXB0ZXJzL3Blcm1pc3Npb24tdXRpbHMuaW50ZXJjZXB0b3InO1xyXG5pbXBvcnQgeyBTZW5kQWNjZXNzVG9rZW5JbnRlcmNlcHRvciB9IGZyb20gJy4uL2ludGVyY2VwdGVycy9zZW5kLWFjY2Vzcy10b2tlbi5pbnRlcmNlcHRvcic7XHJcbmltcG9ydCB7IFRyYWNlSW50ZXJjZXB0b3IgfSBmcm9tICcuLi9pbnRlcmNlcHRlcnMvdHJhY2UuaW50ZXJjZXB0b3InO1xyXG5pbXBvcnQgeyBIdG1sRm9ybWF0UGlwZSB9IGZyb20gJy4uL3BpcGVzL2h0bWwtZm9ybWF0LnBpcGUnO1xyXG5pbXBvcnQgeyBNYXN0ZXJEYXRhUGlwZSB9IGZyb20gJy4uL3BpcGVzL21hc3RlckRhdGEucGlwZSc7XHJcbmltcG9ydCB7IE9yZ2FuaXphdGlvbkZvcm1hdFBpcGUgfSBmcm9tICcuLi9waXBlcy9vcmdhbml6YXRpb24tZm9ybWF0LnBpcGUnO1xyXG5pbXBvcnQgeyBPcmdhbml6YXRpb25zRm9ybWF0UGlwZSB9IGZyb20gJy4uL3BpcGVzL29yZ2FuaXphdGlvbnMtZm9ybWF0LnBpcGUnO1xyXG5pbXBvcnQgeyBTYWZlSHRtbFBpcGUgfSBmcm9tICcuLi9waXBlcy9zYWZlLWh0bWwucGlwZSc7XHJcbmltcG9ydCB7IFVzZXJGb3JtYXRQaXBlIH0gZnJvbSAnLi4vcGlwZXMvdXNlci1mb3JtYXQucGlwZSc7XHJcbmltcG9ydCB7IFVzZXJzRm9ybWF0UGlwZSB9IGZyb20gJy4uL3BpcGVzL3VzZXJzLWZvcm1hdC5waXBlJztcclxuaW1wb3J0IHsgTm90aWZpZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbm90aWZpZXIuc2VydmljZSc7XHJcbi8vIFRPRE86IFVwZ3JhZGUgc2F1XHJcbi8vIGltcG9ydCB7IEJyb3dzZXJGYXZpY29ucywgQlJPV1NFUl9GQVZJQ09OU19DT05GSUcsIEZhdmljb25zIH0gZnJvbSAnLi9mYXZpY29uJztcclxuaW1wb3J0IHsgTXVsdGlUcmFuc2xhdGVIdHRwTG9hZGVyIH0gZnJvbSAnLi9tdWx0aS10cmFuc2xhdGUtaHR0cC1sb2FkZXInO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBQdWJsaWNGdW5jdGlvbiB7XHJcbiAgICBzdGF0aWMgZ2V0U2lnbmFsUkNvbmZpZygpIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGluaXRSb3V0ZShyb3V0ZXM6IGFueVtdKSB7XHJcbiAgICAgICAgcmV0dXJuIFtcclxuICAgICAgICAgICAgLi4uUHVibGljRnVuY3Rpb24uY29tbW9uUm91dGVzKCksXHJcbiAgICAgICAgICAgIC4uLnJvdXRlcyxcclxuICAgICAgICAgICAgLi4uUHVibGljRnVuY3Rpb24uZGVmYXVsdFJvdXRlcygpLFxyXG4gICAgICAgIF07XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGNvbW1vblJvdXRlcygpIHtcclxuICAgICAgICByZXR1cm4gW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwYXRoOiAnJyxcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogU3BsYXNoQ29tcG9uZW50Q29tcG9uZW50LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwYXRoOiAnZGFzaGJvYXJkJyxcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogQ29tbW9uRGFzaGJvYXJkQ29tcG9uZW50LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwYXRoOiAnYWNjZXNzLWRlbmllZCcsXHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IEFjY2Vzc0RlbmllZENvbXBvbmVudCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgcGF0aDogJ3VuaXZlcnNhbC1saW5rJyxcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogVW5pdmVyc2FsTGlua1Byb2Nlc3NvckNvbXBvbmVudCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICBdO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBkZWZhdWx0Um91dGVzKCkge1xyXG4gICAgICAgIHJldHVybiBbXHJcbiAgICAgICAgICAgIHsgcGF0aDogJyoqJywgY29tcG9uZW50OiBOb3RGb3VuZENvbXBvbmVudCB9LFxyXG4gICAgICAgIF07XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGNyZWF0ZVRyYW5zbGF0ZUxvYWRlcihodHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNdWx0aVRyYW5zbGF0ZUh0dHBMb2FkZXIoaHR0cCxcclxuICAgICAgICAgICAgW1xyXG4gICAgICAgICAgICAgICAgeyBwcmVmaXg6ICdhc3NldHMvaTE4bi8nLCBzdWZmaXg6ICcuanNvbicgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJlZml4OiAnYXNzZXRzL2kxOG4vc2hhcmVkLycsIHN1ZmZpeDogJy5qc29uJyB9LFxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHJlZ2lzdGVyTG9jYWxlRGF0YShsb2NhbGU/LCBsYW5ndWFnZT8pIHtcclxuICAgICAgICBpZiAoIWxvY2FsZSkge1xyXG4gICAgICAgICAgICBsb2NhbGUgPSBsb2NhbGVWaTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFsYW5ndWFnZSkge1xyXG4gICAgICAgICAgICBsYW5ndWFnZSA9ICd2aSc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZWdpc3RlckxvY2FsZURhdGEobG9jYWxlLCBsYW5ndWFnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGltcG9ydFJvb3RNb2R1bGUoZW52aXJvbm1lbnQpIHtcclxuICAgICAgICByZXR1cm4gW1xyXG4gICAgICAgICAgICBCcm93c2VyTW9kdWxlLFxyXG4gICAgICAgICAgICBGb3Jtc01vZHVsZSxcclxuICAgICAgICAgICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgICAgICAgICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXHJcbiAgICAgICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JSb290KHtcclxuICAgICAgICAgICAgICAgIGxvYWRlcjoge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IFRyYW5zbGF0ZUxvYWRlcixcclxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiBQdWJsaWNGdW5jdGlvbi5jcmVhdGVUcmFuc2xhdGVMb2FkZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW0h0dHBDbGllbnRdLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIE5neE1hc2tNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgICAgICAgICBPQXV0aE1vZHVsZS5mb3JSb290KHtcclxuICAgICAgICAgICAgICAgIHJlc291cmNlU2VydmVyOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFVybHM6IFtlbnZpcm9ubWVudC5hcHBNZXRhZGF0YS5hcHBHYXRld2F5XSxcclxuICAgICAgICAgICAgICAgICAgICBzZW5kQWNjZXNzVG9rZW46IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIEltZ0ZhbGxiYWNrTW9kdWxlLFxyXG4gICAgICAgIF07XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHVzZVJvb3RQcm92aWRlcihlbnZpcm9tbWVudCkge1xyXG4gICAgICAgIHJldHVybiBbXHJcbiAgICAgICAgICAgIHsgcHJvdmlkZTogTE9DQUxFX0lELCB1c2VWYWx1ZTogJ3ZpLVZOJyB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUyxcclxuICAgICAgICAgICAgICAgIHVzZUNsYXNzOiBTZW5kQWNjZXNzVG9rZW5JbnRlcmNlcHRvcixcclxuICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUyxcclxuICAgICAgICAgICAgICAgIHVzZUNsYXNzOiBMb2dJbnRlcmNlcHRvcixcclxuICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUyxcclxuICAgICAgICAgICAgICAgIHVzZUNsYXNzOiBQZXJtaXNzaW9uVXRpbHNJbnRlcmNlcHRvcixcclxuICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUyxcclxuICAgICAgICAgICAgICAgIHVzZUNsYXNzOiBUcmFjZUludGVyY2VwdG9yLFxyXG4gICAgICAgICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgICAgICAgICBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgICAgICBEYXRlUGlwZSxcclxuICAgICAgICAgICAgVXNlckZvcm1hdFBpcGUsXHJcbiAgICAgICAgICAgIFVzZXJzRm9ybWF0UGlwZSxcclxuICAgICAgICAgICAgSHRtbEZvcm1hdFBpcGUsXHJcbiAgICAgICAgICAgIFNhZmVIdG1sUGlwZSxcclxuICAgICAgICAgICAgT3JnYW5pemF0aW9uRm9ybWF0UGlwZSxcclxuICAgICAgICAgICAgT3JnYW5pemF0aW9uc0Zvcm1hdFBpcGUsXHJcbiAgICAgICAgICAgIE1hc3RlckRhdGFQaXBlLFxyXG4gICAgICAgICAgICBOb3RpZmllclNlcnZpY2UsXHJcbiAgICAgICAgICAgIERlY2ltYWxQaXBlLFxyXG4gICAgICAgICAgICBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgICAgICAgICBFbnRpdHlXb3JrZmxvd1NldHRpbmdTZXJ2aWNlLFxyXG4gICAgICAgICAgICBFbnRpdHlXb3JrZmxvd0hpc3RvcnlTZXJ2aWNlLFxyXG4gICAgICAgICAgICBFbnRpdHlQZXJtaXNzaW9uU2VydmljZSxcclxuICAgICAgICBdO1xyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuIl19
|
|
@@ -177,10 +177,10 @@ export class AddNewsComponent extends DataListBase {
|
|
|
177
177
|
}
|
|
178
178
|
}
|
|
179
179
|
AddNewsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: AddNewsComponent, deps: [{ token: i0.Injector }, { token: i1.ArticleService }, { token: i2.NewsCategoryService }], target: i0.ɵɵFactoryTarget.Component });
|
|
180
|
-
AddNewsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: AddNewsComponent, selector: "add-news", inputs: { isShow: "isShow", languageCode: "languageCode" }, outputs: { showChange: "showChange" }, providers: [ComponentContextService], viewQueries: [{ propertyName: "contextMenu", first: true, predicate: ContextMenu, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"custom-list\">\r\n <crud-list #crudList [model]=\"model\" [setting]=\"setting\" [dataSource]=\"model.dataSource\"\r\n (onReload)=\"_triggerProcessData($event)\" (onAdd)=\"_add($event)\" (onEdit)=\"_edit($event)\"\r\n (onView)=\"_view($event)\" (onDelete)=\"_delete($event)\" (onDeleteMultiple)=\"_deleteMultiple($event)\"\r\n (onReloaded)=\"_unmarkLoading()\" [hiddenAdd]=\"true\" [hiddenDelete]=\"true\">\r\n <ng-template #toolbar>\r\n <div class=\"ui-g
|
|
180
|
+
AddNewsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: AddNewsComponent, selector: "add-news", inputs: { isShow: "isShow", languageCode: "languageCode" }, outputs: { showChange: "showChange" }, providers: [ComponentContextService], viewQueries: [{ propertyName: "contextMenu", first: true, predicate: ContextMenu, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"custom-list\">\r\n <crud-list #crudList [model]=\"model\" [setting]=\"setting\" [dataSource]=\"model.dataSource\"\r\n (onReload)=\"_triggerProcessData($event)\" (onAdd)=\"_add($event)\" (onEdit)=\"_edit($event)\"\r\n (onView)=\"_view($event)\" (onDelete)=\"_delete($event)\" (onDeleteMultiple)=\"_deleteMultiple($event)\"\r\n (onReloaded)=\"_unmarkLoading()\" [hiddenAdd]=\"true\" [hiddenDelete]=\"true\">\r\n <ng-template #toolbar>\r\n <div class=\"ui-g grid\">\r\n <div class=\" p-g-12 md:col-3\">\r\n <button (click)=\"addMultiple($event)\" pButton type=\"button\"\r\n label=\"Th\u00EAm ({{model.selectedItems.length}})\" icon=\"pi pi-plus\" iconPos=\"left\"\r\n class=\"p-button-rounded p-button-text p-button-info\"></button>\r\n </div>\r\n <div class=\" p-g-12 md:col-3 p-offset-6\">\r\n <p-dropdown [placeholder]=\"'Ch\u1ECDn lo\u1EA1i tin'\" [options]=\"optionArr\" [(ngModel)]=\"articleType\"\r\n (onChange)=\"onSelect($event)\">\r\n </p-dropdown>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #function let-rowData=\"rowData\" let-crudList=\"crudList\">\r\n <button (click)=\"addRow(rowData)\" icon=\"pi pi-plus\" pTooltip=\"{{'Th\u00EAm' | translate}}\" tooltipPosition=\"top\"\r\n pButton type=\"button\" label=\"Th\u00EAm\"\r\n class=\"p-button-rounded p-button-text p-button-primary link-or-action\"></button>\r\n </ng-template>\r\n </crud-list>\r\n</div>", styles: ["::ng-deep .custom-list .custom-card{min-height:calc(100vh - 328px)}::ng-deep .custom-list .p-dropdown.p-component{width:100%}\n"], dependencies: [{ kind: "directive", type: i3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i5.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "maxItemDisplay", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "autofocusSelectedItem", "modifyOptionsWhenFilter", "delayFilter", "disabled", "itemSize", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.CrudListComponent, selector: "crud-list" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
|
|
181
181
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: AddNewsComponent, decorators: [{
|
|
182
182
|
type: Component,
|
|
183
|
-
args: [{ selector: 'add-news', providers: [ComponentContextService], template: "<div class=\"custom-list\">\r\n <crud-list #crudList [model]=\"model\" [setting]=\"setting\" [dataSource]=\"model.dataSource\"\r\n (onReload)=\"_triggerProcessData($event)\" (onAdd)=\"_add($event)\" (onEdit)=\"_edit($event)\"\r\n (onView)=\"_view($event)\" (onDelete)=\"_delete($event)\" (onDeleteMultiple)=\"_deleteMultiple($event)\"\r\n (onReloaded)=\"_unmarkLoading()\" [hiddenAdd]=\"true\" [hiddenDelete]=\"true\">\r\n <ng-template #toolbar>\r\n <div class=\"ui-g
|
|
183
|
+
args: [{ selector: 'add-news', providers: [ComponentContextService], template: "<div class=\"custom-list\">\r\n <crud-list #crudList [model]=\"model\" [setting]=\"setting\" [dataSource]=\"model.dataSource\"\r\n (onReload)=\"_triggerProcessData($event)\" (onAdd)=\"_add($event)\" (onEdit)=\"_edit($event)\"\r\n (onView)=\"_view($event)\" (onDelete)=\"_delete($event)\" (onDeleteMultiple)=\"_deleteMultiple($event)\"\r\n (onReloaded)=\"_unmarkLoading()\" [hiddenAdd]=\"true\" [hiddenDelete]=\"true\">\r\n <ng-template #toolbar>\r\n <div class=\"ui-g grid\">\r\n <div class=\" p-g-12 md:col-3\">\r\n <button (click)=\"addMultiple($event)\" pButton type=\"button\"\r\n label=\"Th\u00EAm ({{model.selectedItems.length}})\" icon=\"pi pi-plus\" iconPos=\"left\"\r\n class=\"p-button-rounded p-button-text p-button-info\"></button>\r\n </div>\r\n <div class=\" p-g-12 md:col-3 p-offset-6\">\r\n <p-dropdown [placeholder]=\"'Ch\u1ECDn lo\u1EA1i tin'\" [options]=\"optionArr\" [(ngModel)]=\"articleType\"\r\n (onChange)=\"onSelect($event)\">\r\n </p-dropdown>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #function let-rowData=\"rowData\" let-crudList=\"crudList\">\r\n <button (click)=\"addRow(rowData)\" icon=\"pi pi-plus\" pTooltip=\"{{'Th\u00EAm' | translate}}\" tooltipPosition=\"top\"\r\n pButton type=\"button\" label=\"Th\u00EAm\"\r\n class=\"p-button-rounded p-button-text p-button-primary link-or-action\"></button>\r\n </ng-template>\r\n </crud-list>\r\n</div>", styles: ["::ng-deep .custom-list .custom-card{min-height:calc(100vh - 328px)}::ng-deep .custom-list .p-dropdown.p-component{width:100%}\n"] }]
|
|
184
184
|
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.ArticleService }, { type: i2.NewsCategoryService }]; }, propDecorators: { contextMenu: [{
|
|
185
185
|
type: ViewChild,
|
|
186
186
|
args: [ContextMenu, { static: false }]
|
|
@@ -191,4 +191,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImpor
|
|
|
191
191
|
}], languageCode: [{
|
|
192
192
|
type: Input
|
|
193
193
|
}] } });
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW5ld3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGQtbmV3cy9hZGQtbmV3cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL2FkZC1uZXdzL2FkZC1uZXdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFlBQVksRUFBWSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7O0FBVTdELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxZQUFZO0lBWTlDLFlBQ0ksU0FBbUIsRUFDVCxlQUErQixFQUMvQixvQkFBeUM7UUFFbkQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBSFAsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQy9CLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7UUFiN0MsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFdEMsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFH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QUssRUFBRTtnQkFDL0IsVUFBVTtzQkFBbkIsTUFBTTtnQkFDRSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udGV4dE1lbnUgfSBmcm9tICd0bi1jdXN0b20tcHJpbWVuZy9jb250ZXh0bWVudSc7XHJcbmltcG9ydCB7IENvbXBvbmVudENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBwLWNvbnRleHQvY29tcG9uZW50LWNvbnRleHQuc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFMaXN0QmFzZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvYmFzZS9kYXRhLWxpc3QtYmFzZSc7XHJcbmltcG9ydCB7IENvbHVtblNjaGVtYUJhc2UsIE1vZGVsU2NoZW1hIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9mb3JtLXNjaGVtYSc7XHJcbmltcG9ydCB7IE9wZXJhdG9yIH0gZnJvbSAnLi4vLi4vZW51bXMvY29tbW9uJztcclxuaW1wb3J0IHsgR3JpZEluZm8gfSBmcm9tICcuLi8uLi9tb2RlbHMvZ3JpZC1pbmZvJztcclxuaW1wb3J0IHsgSXRlbVN0YXR1cyB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtLXN0YXR1cy5lbnVtJztcclxuaW1wb3J0IHsgQXJ0aWNsZUNvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9uZXdzLWNvbnRhbnQnO1xyXG5pbXBvcnQgeyBBcnRpY2xlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FydGljbGUuc2VydmljZSc7XHJcbmltcG9ydCB7IE5ld3NDYXRlZ29yeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9uZXdzY2F0ZWdvcnkuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYWRkLW5ld3MnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FkZC1uZXdzLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2FkZC1uZXdzLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFtDb21wb25lbnRDb250ZXh0U2VydmljZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGROZXdzQ29tcG9uZW50IGV4dGVuZHMgRGF0YUxpc3RCYXNlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICAgIEBWaWV3Q2hpbGQoQ29udGV4dE1lbnUsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250ZXh0TWVudTogQ29udGV4dE1lbnU7XHJcbiAgICBAT3V0cHV0KCkgc2hvd0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgQElucHV0KCkgaXNTaG93OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgbGFuZ3VhZ2VDb2RlID0gJ3ZpJztcclxuXHJcbiAgICBhcGlVcGxvYWRVcmw6IGFueTtcclxuICAgIG9wdGlvbkFyciA9IEFydGljbGVDb25zdGFudHMuYXJ0aWNsZVR5cGVTb3VyY2U7XHJcbiAgICBhcnRpY2xlVHlwZTogYW55O1xyXG4gICAga2V5d29yZDogYW55O1xyXG4gICAgX21vZHVsZUNvbmZpZzogYW55O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIF9pbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9hcnRpY2xlU2VydmljZTogQXJ0aWNsZVNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9uZXdzQ2F0ZWdvcnlTZXJ2aWNlOiBOZXdzQ2F0ZWdvcnlTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihfaW5qZWN0b3IpO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5iYXNlU2VydmljZSA9IHRoaXMuX2FydGljbGVTZXJ2aWNlO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5oaWRkZW5QYWdlVGl0bGUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5tb2RlbFNjaGVtYXMgPSBbXHJcbiAgICAgICAgICAgIG5ldyBNb2RlbFNjaGVtYSh7XHJcbiAgICAgICAgICAgICAgICBmaWVsZDogJ25hbWUnLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJ1TDqm4nLFxyXG4gICAgICAgICAgICAgICAgZnVsbE5hbWU6ICdUw6puJyxcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVMOqbicsXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBuZXcgTW9kZWxTY2hlbWEoe1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6ICd0eXBlJyxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdMb+G6oWkgdGluIHThu6ljJyxcclxuICAgICAgICAgICAgICAgIGZ1bGxOYW1lOiAnTG/huqFpIHRpbiB04bupYycsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0xv4bqhaSB0aW4gdOG7qWMnLFxyXG4gICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgbmV3IE1vZGVsU2NoZW1hKHtcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAnbmV3c0NhdGVnb3J5SWQnLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJ0NodXnDqm4gdGluJyxcclxuICAgICAgICAgICAgICAgIGZ1bGxOYW1lOiAnQ2h1ecOqbiB0aW4nLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdDaHV5w6puIHRpbicsXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBuZXcgTW9kZWxTY2hlbWEoe1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdhcnRpY2xlVHlwZScsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnTG/huqFpIHRpbiBiw6BpJyxcclxuICAgICAgICAgICAgICAgIGZ1bGxOYW1lOiAnTG/huqFpIHRpbiBiw6BpJyxcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnTG/huqFpIHRpbiBiw6BpJyxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBNb2RlbFNjaGVtYSh7XHJcbiAgICAgICAgICAgICAgICBmaWVsZDogJ3JlbGVhc2VEYXRlJyxcclxuICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAnZGF0ZXRpbWUnLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJ05nw6B5IHh14bqldCBi4bqjbicsXHJcbiAgICAgICAgICAgICAgICBmdWxsTmFtZTogJ05nw6B5IHh14bqldCBi4bqjbicsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ05nw6B5IHh14bqldCBi4bqjbicsXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBuZXcgTW9kZWxTY2hlbWEoe1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdzdW1tYXJ5JyxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdUw7NtIHThuq90JyxcclxuICAgICAgICAgICAgICAgIGZ1bGxOYW1lOiAnVMOzbSB04bqvdCcsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1TDs20gdOG6r3QnLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgbmV3IE1vZGVsU2NoZW1hKHtcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAndGFnJyxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdOaMOjbicsXHJcbiAgICAgICAgICAgICAgICBmdWxsTmFtZTogJ05ow6NuJyxcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnTmjDo24nLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgbmV3IE1vZGVsU2NoZW1hKHtcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAnc291cmNlJyxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdOZ3Xhu5NuIHRpbicsXHJcbiAgICAgICAgICAgICAgICBmdWxsTmFtZTogJ05ndeG7k24gdGluJyxcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnTmd14buTbiB0aW4nLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgbmV3IE1vZGVsU2NoZW1hKHtcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAnc3RhdHVzVmlldycsXHJcbiAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ2ludCcsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnVHLhuqFuZyB0aMOhaSB0aW4gYsOgaScsXHJcbiAgICAgICAgICAgICAgICBmdWxsTmFtZTogJ1Ry4bqhbmcgdGjDoWkgdGluIGLDoGknLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdUcuG6oW5nIHRow6FpIHRpbiBiw6BpJyxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBNb2RlbFNjaGVtYSh7XHJcbiAgICAgICAgICAgICAgICBmaWVsZDogJ2NyZWF0ZWQnLFxyXG4gICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdkYXRldGltZScsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnTmfDoHkgdOG6oW8nLFxyXG4gICAgICAgICAgICAgICAgZnVsbE5hbWU6ICdOZ8OgeSB04bqhbycsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ05nw6B5IHThuqFvJyxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBNb2RlbFNjaGVtYSh7XHJcbiAgICAgICAgICAgICAgICBmaWVsZDogJ21vZGlmaWVkJyxcclxuICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAnZGF0ZXRpbWUnLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJ05nw6B5IGR1eeG7h3QgeHXhuqV0IGLhuqNuJyxcclxuICAgICAgICAgICAgICAgIGZ1bGxOYW1lOiAnTmfDoHkgZHV54buHdCB4deG6pXQgYuG6o24nLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdOZ8OgeSBkdXnhu4d0IHh14bqldCBi4bqjbicsXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBuZXcgTW9kZWxTY2hlbWEoe1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdudW1iZXJWaWV3JyxcclxuICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAnaW50JyxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdMxrDhu6N0IHhlbScsXHJcbiAgICAgICAgICAgICAgICBmdWxsTmFtZTogJ0zGsOG7o3QgeGVtJyxcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnTMaw4bujdCB4ZW0nLFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIF07XHJcblxyXG4gICAgICAgIHRoaXMuc2V0dGluZy5jb2xzID0gW1xyXG4gICAgICAgICAgICBuZXcgQ29sdW1uU2NoZW1hQmFzZSh7IGZpZWxkOiAnbmFtZScgfSksXHJcbiAgICAgICAgICAgIG5ldyBDb2x1bW5TY2hlbWFCYXNlKHtcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAnbmV3c0NhdGVnb3J5SWQnLFxyXG4gICAgICAgICAgICAgICAgYmFzZVNlcnZpY2U6IHRoaXMuX25ld3NDYXRlZ29yeVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5RmllbGQ6ICduYW1lJyxcclxuICAgICAgICAgICAgICAgIGRlZmF1bHRGaWx0ZXJzOiBbdGhpcy5uZXdGaWx0ZXIoJ3R5cGUnLCBPcGVyYXRvci5lcXVhbCwgJ05FV1MnKV0sXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJzIwJSdcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBDb2x1bW5TY2hlbWFCYXNlKHtcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAnYXJ0aWNsZVR5cGUnLFxyXG4gICAgICAgICAgICAgICAgdmFsdWVGaWVsZDogJ3ZhbHVlJyxcclxuICAgICAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogJ2xhYmVsJyxcclxuICAgICAgICAgICAgICAgIGRhdGFTb3VyY2U6IEFydGljbGVDb25zdGFudHMuYXJ0aWNsZVR5cGVTb3VyY2UsXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJzE1JSdcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBDb2x1bW5TY2hlbWFCYXNlKHsgZmllbGQ6ICdyZWxlYXNlRGF0ZScsIHdpZHRoOiAnMTUlJyB9KSxcclxuICAgICAgICBdO1xyXG5cclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIG1vZGlmeUdyaWRJbmZvKGdyaWRJbmZvPzogR3JpZEluZm8pIHtcclxuICAgICAgICBncmlkSW5mby5maWx0ZXJzLnNwbGljZSgwLCAwLCB0aGlzLm5ld0ZpbHRlcigndHlwZScsIE9wZXJhdG9yLmVxdWFsLCAnTkVXUycpKTtcclxuICAgICAgICBncmlkSW5mby5maWx0ZXJzLnNwbGljZSgwLCAwLCB0aGlzLm5ld0ZpbHRlcignc3RhdHVzVmlldycsIE9wZXJhdG9yLmVxdWFsLCBJdGVtU3RhdHVzLkRhWHVhdEJhbikpO1xyXG4gICAgICAgIGdyaWRJbmZvLmZpbHRlcnMuc3BsaWNlKDAsIDAsIHRoaXMubmV3RmlsdGVyKCdyZWxlYXNlRGF0ZScsIE9wZXJhdG9yLmxvd2VyVGhhbkVxdWFsLCBuZXcgRGF0ZSgpKSk7XHJcbiAgICAgICAgaWYgKHRoaXMua2V5d29yZCkge1xyXG4gICAgICAgICAgICBncmlkSW5mby5maWx0ZXJzLnNwbGljZSgwLCAwLCB0aGlzLm5ld0ZpbHRlcigndGl0bGUnLCBPcGVyYXRvci5jb250YWluLCB0aGlzLmtleXdvcmQpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuYXJ0aWNsZVR5cGUpIHtcclxuICAgICAgICAgICAgZ3JpZEluZm8uZmlsdGVycy5zcGxpY2UoMCwgMCwgdGhpcy5uZXdGaWx0ZXIoJ2FydGljbGVUeXBlJywgT3BlcmF0b3IuZXF1YWwsIHRoaXMuYXJ0aWNsZVR5cGUpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYWRkUm93KHJvd0RhdGE6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGxldCByZXN1bHQgPSAnJztcclxuICAgICAgICByZXN1bHQgPSB0aGlzLnJlbmRlckh0bWwocm93RGF0YSk7XHJcbiAgICAgICAgdGhpcy5hZGRDb250ZW50KHJlc3VsdCk7XHJcbiAgICAgICAgdGhpcy5pc1Nob3cgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNob3dDaGFuZ2UuZW1pdCh7IGlzU2hvdzogdGhpcy5pc1Nob3csIGNvbnRlbnQ6IHJlc3VsdCB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhZGRDb250ZW50KHJlc3VsdDogYW55KSB7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0cyA9IHtcclxuICAgICAgICAgICAgY29udGVudDogcmVzdWx0XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlckh0bWwoZWxlbWVudDogYW55KTogc3RyaW5nIHtcclxuICAgICAgICBsZXQgcmVzdWx0ID0gJyc7XHJcbiAgICAgICAgbGV0IGh0bWwgPSAnPGRpdiBzdHlsZT1cIndpZHRoOjEwMCU7IG1hcmdpbi1ib3R0b206IDE1cHhcIj4nO1xyXG4gICAgICAgIGlmICh0aGlzLmxhbmd1YWdlQ29kZSA9PSAnZW4nKSB7XHJcbiAgICAgICAgICAgIHZhciBocmVmID0gJzxhIGhyZWY9XCIvbmV3cy1kZXRhaWwvJyArIGVsZW1lbnQuYWxpYXNOYW1lICsgJy0nICsgZWxlbWVudC5wZXJzaXN0ZWRJZCArICcuaHRtbFwiPic7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdmFyIGhyZWYgPSAnPGEgaHJlZj1cIi9jaGktdGlldC8nICsgZWxlbWVudC5hbGlhc05hbWUgKyAnLScgKyBlbGVtZW50LnBlcnNpc3RlZElkICsgJy5odG1sXCI+JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzdWx0ID0gaHRtbCArIGhyZWYgKyAnPC9hPicgKyBocmVmICsgZWxlbWVudC5uYW1lICsgJzwvYT48L2Rpdj4nO1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgc2VhcmNoaW5nRGF0YShldnQpIHtcclxuICAgIH1cclxuXHJcbiAgICBvblNlbGVjdChldnQpIHtcclxuICAgICAgICB0aGlzLl90cmlnZ2VyUHJvY2Vzc0RhdGEoKTtcclxuICAgIH1cclxuXHJcbiAgICBhZGRNdWx0aXBsZShldnQpIHtcclxuICAgICAgICBsZXQgcmVzdWx0ID0gJyc7XHJcbiAgICAgICAgZm9yIChsZXQgaXRlbSBvZiB0aGlzLm1vZGVsLnNlbGVjdGVkSXRlbXMpIHtcclxuICAgICAgICAgICAgcmVzdWx0ICs9IHRoaXMucmVuZGVySHRtbChpdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5hZGRDb250ZW50KHJlc3VsdCk7XHJcbiAgICAgICAgdGhpcy5zaG93Q2hhbmdlLmVtaXQocmVzdWx0KTtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY3VzdG9tLWxpc3RcIj5cclxuICAgIDxjcnVkLWxpc3QgI2NydWRMaXN0IFttb2RlbF09XCJtb2RlbFwiIFtzZXR0aW5nXT1cInNldHRpbmdcIiBbZGF0YVNvdXJjZV09XCJtb2RlbC5kYXRhU291cmNlXCJcclxuICAgICAgICAob25SZWxvYWQpPVwiX3RyaWdnZXJQcm9jZXNzRGF0YSgkZXZlbnQpXCIgKG9uQWRkKT1cIl9hZGQoJGV2ZW50KVwiIChvbkVkaXQpPVwiX2VkaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgKG9uVmlldyk9XCJfdmlldygkZXZlbnQpXCIgKG9uRGVsZXRlKT1cIl9kZWxldGUoJGV2ZW50KVwiIChvbkRlbGV0ZU11bHRpcGxlKT1cIl9kZWxldGVNdWx0aXBsZSgkZXZlbnQpXCJcclxuICAgICAgICAob25SZWxvYWRlZCk9XCJfdW5tYXJrTG9hZGluZygpXCIgW2hpZGRlbkFkZF09XCJ0cnVlXCIgW2hpZGRlbkRlbGV0ZV09XCJ0cnVlXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICN0b29sYmFyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidWktZyBwLWdyaWRcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIgcC1nLTEyIHAtbWQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImFkZE11bHRpcGxlKCRldmVudClcIiBwQnV0dG9uIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD1cIlRow6ptICh7e21vZGVsLnNlbGVjdGVkSXRlbXMubGVuZ3RofX0pXCIgaWNvbj1cInBpIHBpLXBsdXNcIiBpY29uUG9zPVwibGVmdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi10ZXh0IHAtYnV0dG9uLWluZm9cIj48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIiBwLWctMTIgcC1tZC0zIHAtb2Zmc2V0LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cC1kcm9wZG93biBbcGxhY2Vob2xkZXJdPVwiJ0No4buNbiBsb+G6oWkgdGluJ1wiIFtvcHRpb25zXT1cIm9wdGlvbkFyclwiIFsobmdNb2RlbCldPVwiYXJ0aWNsZVR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAob25DaGFuZ2UpPVwib25TZWxlY3QoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2Z1bmN0aW9uIGxldC1yb3dEYXRhPVwicm93RGF0YVwiIGxldC1jcnVkTGlzdD1cImNydWRMaXN0XCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImFkZFJvdyhyb3dEYXRhKVwiIGljb249XCJwaSBwaS1wbHVzXCIgcFRvb2x0aXA9XCJ7eydUaMOqbScgfCB0cmFuc2xhdGV9fVwiIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXHJcbiAgICAgICAgICAgICAgICBwQnV0dG9uIHR5cGU9XCJidXR0b25cIiBsYWJlbD1cIlRow6ptXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwicC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi10ZXh0IHAtYnV0dG9uLXByaW1hcnkgbGluay1vci1hY3Rpb25cIj48L2J1dHRvbj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9jcnVkLWxpc3Q+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW5ld3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGQtbmV3cy9hZGQtbmV3cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL2FkZC1uZXdzL2FkZC1uZXdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFlBQVksRUFBWSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7O0FBVTdELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxZQUFZO0lBWTlDLFlBQ0ksU0FBbUIsRUFDVCxlQUErQixFQUMvQixvQkFBeUM7UUFFbkQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBSFAsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQy9CLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7UUFiN0MsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFdEMsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFH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QUssRUFBRTtnQkFDL0IsVUFBVTtzQkFBbkIsTUFBTTtnQkFDRSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udGV4dE1lbnUgfSBmcm9tICd0bi1jdXN0b20tcHJpbWVuZy9jb250ZXh0bWVudSc7XHJcbmltcG9ydCB7IENvbXBvbmVudENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBwLWNvbnRleHQvY29tcG9uZW50LWNvbnRleHQuc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFMaXN0QmFzZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvYmFzZS9kYXRhLWxpc3QtYmFzZSc7XHJcbmltcG9ydCB7IENvbHVtblNjaGVtYUJhc2UsIE1vZGVsU2NoZW1hIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9mb3JtLXNjaGVtYSc7XHJcbmltcG9ydCB7IE9wZXJhdG9yIH0gZnJvbSAnLi4vLi4vZW51bXMvY29tbW9uJztcclxuaW1wb3J0IHsgR3JpZEluZm8gfSBmcm9tICcuLi8uLi9tb2RlbHMvZ3JpZC1pbmZvJztcclxuaW1wb3J0IHsgSXRlbVN0YXR1cyB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtLXN0YXR1cy5lbnVtJztcclxuaW1wb3J0IHsgQXJ0aWNsZUNvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9uZXdzLWNvbnRhbnQnO1xyXG5pbXBvcnQgeyBBcnRpY2xlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FydGljbGUuc2VydmljZSc7XHJcbmltcG9ydCB7IE5ld3NDYXRlZ29yeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9uZXdzY2F0ZWdvcnkuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYWRkLW5ld3MnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FkZC1uZXdzLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2FkZC1uZXdzLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFtDb21wb25lbnRDb250ZXh0U2VydmljZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGROZXdzQ29tcG9uZW50IGV4dGVuZHMgRGF0YUxpc3RCYXNlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICAgIEBWaWV3Q2hpbGQoQ29udGV4dE1lbnUsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250ZXh0TWVudTogQ29udGV4dE1lbnU7XHJcbiAgICBAT3V0cHV0KCkgc2hvd0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgQElucHV0KCkgaXNTaG93OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgbGFuZ3VhZ2VDb2RlID0gJ3ZpJztcclxuXHJcbiAgICBhcGlVcGxvYWRVcmw6IGFueTtcclxuICAgIG9wdGlvbkFyciA9IEFydGljbGVDb25zdGFudHMuYXJ0aWNsZVR5cGVTb3VyY2U7XHJcbiAgICBhcnRpY2xlVHlwZTogYW55O1xyXG4gICAga2V5d29yZDogYW55O1xyXG4gICAgX21vZHVsZUNvbmZpZzogYW55O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIF9pbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9hcnRpY2xlU2VydmljZTogQXJ0aWNsZVNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9uZXdzQ2F0ZWdvcnlTZXJ2aWNlOiBOZXdzQ2F0ZWdvcnlTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihfaW5qZWN0b3IpO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5iYXNlU2VydmljZSA9IHRoaXMuX2FydGljbGVTZXJ2aWNlO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5oaWRkZW5QYWdlVGl0bGUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5tb2RlbFNjaGVtYXMgPSBbXHJcbiAgICAgICAgICAgIG5ldyBNb2RlbFNjaGVtYSh7XHJcbiAgICAgICAgICAgICAgICBmaWVsZDogJ25hbWUnLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJ1TDqm4nLFxyXG4gICAgICAgICAgICAgICAgZnVsbE5hbWU6ICdUw6puJyxcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVMOqbicsXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBuZXcgTW9kZWxTY2hlbWEoe1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6ICd0eXBlJyxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdMb+G6oWkgdGluIHThu6ljJyxcclxuICAgICAgICAgICAgICAgIGZ1bGxOYW1lOiAnTG/huqFpIHRpbiB04bupYycsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0xv4bqhaSB0aW4gdOG7qWMnLFxyXG4gICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgbmV3IE1vZGVsU2NoZW1hKHtcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAnbmV3c0NhdGVnb3J5SWQnLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJ0NodXnDqm4gdGluJyxcclxuICAgICAgICAgICAgICAgIGZ1bGxOYW1lOiAnQ2h1ecOqbiB0aW4nLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdDaHV5w6puIHRpbicsXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBuZXcgTW9kZWxTY2hlbWEoe1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdhcnRpY2xlVHlwZScsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnTG/huqFpIHRpbiBiw6BpJyxcclxuICAgICAgICAgICAgICAgIGZ1bGxOYW1lOiAnTG/huqFpIHRpbiBiw6BpJyxcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnTG/huqFpIHRpbiBiw6BpJyxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBNb2RlbFNjaGVtYSh7XHJcbiAgICAgICAgICAgICAgICBmaWVsZDogJ3JlbGVhc2VEYXRlJyxcclxuICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAnZGF0ZXRpbWUnLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJ05nw6B5IHh14bqldCBi4bqjbicsXHJcbiAgICAgICAgICAgICAgICBmdWxsTmFtZTogJ05nw6B5IHh14bqldCBi4bqjbicsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ05nw6B5IHh14bqldCBi4bqjbicsXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBuZXcgTW9kZWxTY2hlbWEoe1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdzdW1tYXJ5JyxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdUw7NtIHThuq90JyxcclxuICAgICAgICAgICAgICAgIGZ1bGxOYW1lOiAnVMOzbSB04bqvdCcsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1TDs20gdOG6r3QnLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgbmV3IE1vZGVsU2NoZW1hKHtcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAndGFnJyxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdOaMOjbicsXHJcbiAgICAgICAgICAgICAgICBmdWxsTmFtZTogJ05ow6NuJyxcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnTmjDo24nLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgbmV3IE1vZGVsU2NoZW1hKHtcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAnc291cmNlJyxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdOZ3Xhu5NuIHRpbicsXHJcbiAgICAgICAgICAgICAgICBmdWxsTmFtZTogJ05ndeG7k24gdGluJyxcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnTmd14buTbiB0aW4nLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgbmV3IE1vZGVsU2NoZW1hKHtcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAnc3RhdHVzVmlldycsXHJcbiAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ2ludCcsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnVHLhuqFuZyB0aMOhaSB0aW4gYsOgaScsXHJcbiAgICAgICAgICAgICAgICBmdWxsTmFtZTogJ1Ry4bqhbmcgdGjDoWkgdGluIGLDoGknLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdUcuG6oW5nIHRow6FpIHRpbiBiw6BpJyxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBNb2RlbFNjaGVtYSh7XHJcbiAgICAgICAgICAgICAgICBmaWVsZDogJ2NyZWF0ZWQnLFxyXG4gICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdkYXRldGltZScsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnTmfDoHkgdOG6oW8nLFxyXG4gICAgICAgICAgICAgICAgZnVsbE5hbWU6ICdOZ8OgeSB04bqhbycsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ05nw6B5IHThuqFvJyxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBNb2RlbFNjaGVtYSh7XHJcbiAgICAgICAgICAgICAgICBmaWVsZDogJ21vZGlmaWVkJyxcclxuICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAnZGF0ZXRpbWUnLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJ05nw6B5IGR1eeG7h3QgeHXhuqV0IGLhuqNuJyxcclxuICAgICAgICAgICAgICAgIGZ1bGxOYW1lOiAnTmfDoHkgZHV54buHdCB4deG6pXQgYuG6o24nLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdOZ8OgeSBkdXnhu4d0IHh14bqldCBi4bqjbicsXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBuZXcgTW9kZWxTY2hlbWEoe1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdudW1iZXJWaWV3JyxcclxuICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAnaW50JyxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdMxrDhu6N0IHhlbScsXHJcbiAgICAgICAgICAgICAgICBmdWxsTmFtZTogJ0zGsOG7o3QgeGVtJyxcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnTMaw4bujdCB4ZW0nLFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIF07XHJcblxyXG4gICAgICAgIHRoaXMuc2V0dGluZy5jb2xzID0gW1xyXG4gICAgICAgICAgICBuZXcgQ29sdW1uU2NoZW1hQmFzZSh7IGZpZWxkOiAnbmFtZScgfSksXHJcbiAgICAgICAgICAgIG5ldyBDb2x1bW5TY2hlbWFCYXNlKHtcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAnbmV3c0NhdGVnb3J5SWQnLFxyXG4gICAgICAgICAgICAgICAgYmFzZVNlcnZpY2U6IHRoaXMuX25ld3NDYXRlZ29yeVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5RmllbGQ6ICduYW1lJyxcclxuICAgICAgICAgICAgICAgIGRlZmF1bHRGaWx0ZXJzOiBbdGhpcy5uZXdGaWx0ZXIoJ3R5cGUnLCBPcGVyYXRvci5lcXVhbCwgJ05FV1MnKV0sXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJzIwJSdcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBDb2x1bW5TY2hlbWFCYXNlKHtcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAnYXJ0aWNsZVR5cGUnLFxyXG4gICAgICAgICAgICAgICAgdmFsdWVGaWVsZDogJ3ZhbHVlJyxcclxuICAgICAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogJ2xhYmVsJyxcclxuICAgICAgICAgICAgICAgIGRhdGFTb3VyY2U6IEFydGljbGVDb25zdGFudHMuYXJ0aWNsZVR5cGVTb3VyY2UsXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJzE1JSdcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBDb2x1bW5TY2hlbWFCYXNlKHsgZmllbGQ6ICdyZWxlYXNlRGF0ZScsIHdpZHRoOiAnMTUlJyB9KSxcclxuICAgICAgICBdO1xyXG5cclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIG1vZGlmeUdyaWRJbmZvKGdyaWRJbmZvPzogR3JpZEluZm8pIHtcclxuICAgICAgICBncmlkSW5mby5maWx0ZXJzLnNwbGljZSgwLCAwLCB0aGlzLm5ld0ZpbHRlcigndHlwZScsIE9wZXJhdG9yLmVxdWFsLCAnTkVXUycpKTtcclxuICAgICAgICBncmlkSW5mby5maWx0ZXJzLnNwbGljZSgwLCAwLCB0aGlzLm5ld0ZpbHRlcignc3RhdHVzVmlldycsIE9wZXJhdG9yLmVxdWFsLCBJdGVtU3RhdHVzLkRhWHVhdEJhbikpO1xyXG4gICAgICAgIGdyaWRJbmZvLmZpbHRlcnMuc3BsaWNlKDAsIDAsIHRoaXMubmV3RmlsdGVyKCdyZWxlYXNlRGF0ZScsIE9wZXJhdG9yLmxvd2VyVGhhbkVxdWFsLCBuZXcgRGF0ZSgpKSk7XHJcbiAgICAgICAgaWYgKHRoaXMua2V5d29yZCkge1xyXG4gICAgICAgICAgICBncmlkSW5mby5maWx0ZXJzLnNwbGljZSgwLCAwLCB0aGlzLm5ld0ZpbHRlcigndGl0bGUnLCBPcGVyYXRvci5jb250YWluLCB0aGlzLmtleXdvcmQpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuYXJ0aWNsZVR5cGUpIHtcclxuICAgICAgICAgICAgZ3JpZEluZm8uZmlsdGVycy5zcGxpY2UoMCwgMCwgdGhpcy5uZXdGaWx0ZXIoJ2FydGljbGVUeXBlJywgT3BlcmF0b3IuZXF1YWwsIHRoaXMuYXJ0aWNsZVR5cGUpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYWRkUm93KHJvd0RhdGE6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGxldCByZXN1bHQgPSAnJztcclxuICAgICAgICByZXN1bHQgPSB0aGlzLnJlbmRlckh0bWwocm93RGF0YSk7XHJcbiAgICAgICAgdGhpcy5hZGRDb250ZW50KHJlc3VsdCk7XHJcbiAgICAgICAgdGhpcy5pc1Nob3cgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNob3dDaGFuZ2UuZW1pdCh7IGlzU2hvdzogdGhpcy5pc1Nob3csIGNvbnRlbnQ6IHJlc3VsdCB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhZGRDb250ZW50KHJlc3VsdDogYW55KSB7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0cyA9IHtcclxuICAgICAgICAgICAgY29udGVudDogcmVzdWx0XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlckh0bWwoZWxlbWVudDogYW55KTogc3RyaW5nIHtcclxuICAgICAgICBsZXQgcmVzdWx0ID0gJyc7XHJcbiAgICAgICAgbGV0IGh0bWwgPSAnPGRpdiBzdHlsZT1cIndpZHRoOjEwMCU7IG1hcmdpbi1ib3R0b206IDE1cHhcIj4nO1xyXG4gICAgICAgIGlmICh0aGlzLmxhbmd1YWdlQ29kZSA9PSAnZW4nKSB7XHJcbiAgICAgICAgICAgIHZhciBocmVmID0gJzxhIGhyZWY9XCIvbmV3cy1kZXRhaWwvJyArIGVsZW1lbnQuYWxpYXNOYW1lICsgJy0nICsgZWxlbWVudC5wZXJzaXN0ZWRJZCArICcuaHRtbFwiPic7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdmFyIGhyZWYgPSAnPGEgaHJlZj1cIi9jaGktdGlldC8nICsgZWxlbWVudC5hbGlhc05hbWUgKyAnLScgKyBlbGVtZW50LnBlcnNpc3RlZElkICsgJy5odG1sXCI+JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzdWx0ID0gaHRtbCArIGhyZWYgKyAnPC9hPicgKyBocmVmICsgZWxlbWVudC5uYW1lICsgJzwvYT48L2Rpdj4nO1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgc2VhcmNoaW5nRGF0YShldnQpIHtcclxuICAgIH1cclxuXHJcbiAgICBvblNlbGVjdChldnQpIHtcclxuICAgICAgICB0aGlzLl90cmlnZ2VyUHJvY2Vzc0RhdGEoKTtcclxuICAgIH1cclxuXHJcbiAgICBhZGRNdWx0aXBsZShldnQpIHtcclxuICAgICAgICBsZXQgcmVzdWx0ID0gJyc7XHJcbiAgICAgICAgZm9yIChsZXQgaXRlbSBvZiB0aGlzLm1vZGVsLnNlbGVjdGVkSXRlbXMpIHtcclxuICAgICAgICAgICAgcmVzdWx0ICs9IHRoaXMucmVuZGVySHRtbChpdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5hZGRDb250ZW50KHJlc3VsdCk7XHJcbiAgICAgICAgdGhpcy5zaG93Q2hhbmdlLmVtaXQocmVzdWx0KTtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY3VzdG9tLWxpc3RcIj5cclxuICAgIDxjcnVkLWxpc3QgI2NydWRMaXN0IFttb2RlbF09XCJtb2RlbFwiIFtzZXR0aW5nXT1cInNldHRpbmdcIiBbZGF0YVNvdXJjZV09XCJtb2RlbC5kYXRhU291cmNlXCJcclxuICAgICAgICAob25SZWxvYWQpPVwiX3RyaWdnZXJQcm9jZXNzRGF0YSgkZXZlbnQpXCIgKG9uQWRkKT1cIl9hZGQoJGV2ZW50KVwiIChvbkVkaXQpPVwiX2VkaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgKG9uVmlldyk9XCJfdmlldygkZXZlbnQpXCIgKG9uRGVsZXRlKT1cIl9kZWxldGUoJGV2ZW50KVwiIChvbkRlbGV0ZU11bHRpcGxlKT1cIl9kZWxldGVNdWx0aXBsZSgkZXZlbnQpXCJcclxuICAgICAgICAob25SZWxvYWRlZCk9XCJfdW5tYXJrTG9hZGluZygpXCIgW2hpZGRlbkFkZF09XCJ0cnVlXCIgW2hpZGRlbkRlbGV0ZV09XCJ0cnVlXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICN0b29sYmFyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidWktZyBncmlkXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIHAtZy0xMiBtZDpjb2wtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImFkZE11bHRpcGxlKCRldmVudClcIiBwQnV0dG9uIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD1cIlRow6ptICh7e21vZGVsLnNlbGVjdGVkSXRlbXMubGVuZ3RofX0pXCIgaWNvbj1cInBpIHBpLXBsdXNcIiBpY29uUG9zPVwibGVmdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi10ZXh0IHAtYnV0dG9uLWluZm9cIj48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIiBwLWctMTIgbWQ6Y29sLTMgcC1vZmZzZXQtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtwbGFjZWhvbGRlcl09XCInQ2jhu41uIGxv4bqhaSB0aW4nXCIgW29wdGlvbnNdPVwib3B0aW9uQXJyXCIgWyhuZ01vZGVsKV09XCJhcnRpY2xlVHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChvbkNoYW5nZSk9XCJvblNlbGVjdCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9wLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZnVuY3Rpb24gbGV0LXJvd0RhdGE9XCJyb3dEYXRhXCIgbGV0LWNydWRMaXN0PVwiY3J1ZExpc3RcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiYWRkUm93KHJvd0RhdGEpXCIgaWNvbj1cInBpIHBpLXBsdXNcIiBwVG9vbHRpcD1cInt7J1Row6ptJyB8IHRyYW5zbGF0ZX19XCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuICAgICAgICAgICAgICAgIHBCdXR0b24gdHlwZT1cImJ1dHRvblwiIGxhYmVsPVwiVGjDqm1cIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLXRleHQgcC1idXR0b24tcHJpbWFyeSBsaW5rLW9yLWFjdGlvblwiPjwvYnV0dG9uPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2NydWQtbGlzdD5cclxuPC9kaXY+Il19
|
|
@@ -530,7 +530,7 @@ AutoCompletePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.
|
|
|
530
530
|
},
|
|
531
531
|
ComponentContextService,
|
|
532
532
|
EntityMetadataService
|
|
533
|
-
], viewQueries: [{ propertyName: "entityPickerBoxComponent", first: true, predicate: ["entityPickerBox"], descendants: true, static: true }, { propertyName: "autoComplete", first: true, predicate: ["autoComplete"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"p-inputgroup autocomplete-picker\" *ngIf=\"control\" [class.has-value]=\"hasValue\"\r\n [class.multiple]=\"control.multiple\" [class.disabled]=\"control.disabled\">\r\n <div style=\"width: calc(100% - 28px)\" [pTooltip]=\"tooltip\" tooltipPosition=\"top\">\r\n <p-autoComplete #autoComplete emptyMessage=\"Kh\u00F4ng c\u00F3 k\u1EBFt qu\u1EA3 n\u00E0o\" [ngClass]=\"'custom-autocomplete'\"\r\n [disabled]=\"disabled\" [placeholder]=\"control.placeholder\" [appendTo]=\"control.appendTo\"\r\n [suggestions]=\"results\" field=\"label\" [styleClass]=\"control.validators && control.required ? 'rq' : ''\"\r\n [multiple]=\"control.multiple\" [minLength]=\"2\" [(ngModel)]=\"selectedValueObject\"\r\n (onFocus)=\"handleFocus($event)\" (onBlur)=\"handleBlur($event)\" (completeMethod)=\"search($event)\"\r\n (onKeyUp)=\"handleKeyUp($event)\" (onSelect)=\"handleSelect($event)\" (onUnselect)=\"handleUnSelect($event)\">\r\n </p-autoComplete>\r\n </div>\r\n <span *ngIf=\"!control.multiple && !disabled && hasValue\" class=\"icon-clear\" (click)=\"clearValue()\"><i\r\n class=\"fas fa-times\"></i></span>\r\n <button class=\"custom-autocomplete-button\" [disabled]=\"disabled\" tabindex=\"-1\" (click)=\"showPickForm()\" pButton\r\n [pTooltip]=\"control.title\" icon=\"fas fa-external-link-alt\" type=\"button\"></button>\r\n</div>\r\n<tn-dialog #dialog *ngIf=\"showFormPicker\" styleClass=\"entity-picker-box-dialog no-padding\" [useDefaultScrollBar]=\"true\"\r\n [header]=\"control.title | translate\" [popupSize]=\"popupSize\" (onHide)=\"handleHide($event)\">\r\n <entity-picker-box #entityPickerBox [currentNode]=\"currentNode\" [control]=\"control\" [parentSetting]=\"setting\"\r\n [advanceData]=\"advanceData\" [readOnlyValues]=\"readOnlyValues\" [selectedValue]=\"selectedValue\"\r\n (onContentLeftInit)=\"handleContentLeftInit($event)\" (onContentRightInit)=\"handleContentRightInit($event)\"\r\n (onChanged)=\"handleChangeEntity($event)\" (onSelect)=\"handleSelectEntity($event)\"\r\n (onUnSelect)=\"handleUnSelectEntity($event)\" (onDone)=\"handleHide($event)\"\r\n (onRowSelect)=\"handleRowSelect($event)\">\r\n </entity-picker-box>\r\n <ng-template #footer>\r\n <button type=\" button\" pButton class=\"p-button-text\" (click)=\"onClickSubmitButton($event, entityPickerBox)\"\r\n [label]=\"'Ho\u00E0n th\u00E0nh' | translate\" icon=\"pi pi-check\"></button>\r\n </ng-template>\r\n</tn-dialog>", styles: [".autocomplete-picker{position:relative}.autocomplete-picker .icon-clear{position:absolute;right:36px;top:50%;transform:translateY(-50%);font-size:11px;color:#555;padding:3px;cursor:pointer}::ng-deep .autocomplete-picker.has-value:not(.multiple):not(.disabled) p-autocomplete .p-inputtext{padding-right:34px}::ng-deep .autocomplete-picker .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container .p-autocomplete-input-token{padding:.143rem 0}::ng-deep .autocomplete-picker .p-autocomplete .p-autocomplete-multiple-container,::ng-deep .autocomplete-picker .p-autocomplete .p-autocomplete-input{border-radius:4px 0 0 4px}@media (max-width: 640px){::ng-deep autocomplete-picker .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container .p-autocomplete-input-token{padding:0 0 3px}::ng-deep autocomplete-picker .p-autocomplete-input-token>input{height:21.5px!important}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "itemSize", "suggestions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "component", type: i7.EntityPickerBoxComponent, selector: "entity-picker-box", inputs: ["parentSetting", "advanceData", "control", "width", "height", "readOnlyValues", "selectedValue", "currentNode"], outputs: ["onContentLeftInit", "onContentRightInit", "onRowSelect", "onChanged", "onSelect", "onUnSelect", "onDone"] }, { kind: "component", type: i8.TnDialogComponent, selector: "tn-dialog", inputs: ["maskClass", "styleClass", "scrollBarStyleClass", "useDefaultScrollBar", "visible", "disabledButton", "modal", "header", "popupSize", "closeOnEscape", "showFooter", "positionTop", "minY", "hiddenSave", "maximizable"], outputs: ["onSave", "onCancel", "onShow", "onHide"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
533
|
+
], viewQueries: [{ propertyName: "entityPickerBoxComponent", first: true, predicate: ["entityPickerBox"], descendants: true, static: true }, { propertyName: "autoComplete", first: true, predicate: ["autoComplete"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"p-inputgroup autocomplete-picker\" *ngIf=\"control\" [class.has-value]=\"hasValue\"\r\n [class.multiple]=\"control.multiple\" [class.disabled]=\"control.disabled\">\r\n <div style=\"width: calc(100% - 28px)\" [pTooltip]=\"tooltip\" tooltipPosition=\"top\">\r\n <p-autoComplete #autoComplete emptyMessage=\"Kh\u00F4ng c\u00F3 k\u1EBFt qu\u1EA3 n\u00E0o\" [ngClass]=\"'custom-autocomplete'\"\r\n [disabled]=\"disabled\" [placeholder]=\"control.placeholder\" [appendTo]=\"control.appendTo\"\r\n [suggestions]=\"results\" field=\"label\" [styleClass]=\"control.validators && control.required ? 'rq' : ''\"\r\n [multiple]=\"control.multiple\" [minLength]=\"2\" [(ngModel)]=\"selectedValueObject\"\r\n (onFocus)=\"handleFocus($event)\" (onBlur)=\"handleBlur($event)\" (completeMethod)=\"search($event)\"\r\n (onKeyUp)=\"handleKeyUp($event)\" (onSelect)=\"handleSelect($event)\" (onUnselect)=\"handleUnSelect($event)\">\r\n </p-autoComplete>\r\n </div>\r\n <span *ngIf=\"!control.multiple && !disabled && hasValue\" class=\"icon-clear\" (click)=\"clearValue()\"><i\r\n class=\"fas fa-times\"></i></span>\r\n <button class=\"custom-autocomplete-button\" [disabled]=\"disabled\" tabindex=\"-1\" (click)=\"showPickForm()\" pButton\r\n [pTooltip]=\"control.title\" icon=\"fas fa-external-link-alt\" type=\"button\"></button>\r\n</div>\r\n<tn-dialog #dialog *ngIf=\"showFormPicker\" styleClass=\"entity-picker-box-dialog no-padding\" [useDefaultScrollBar]=\"true\"\r\n [header]=\"control.title | translate\" [popupSize]=\"popupSize\" (onHide)=\"handleHide($event)\">\r\n <entity-picker-box #entityPickerBox [currentNode]=\"currentNode\" [control]=\"control\" [parentSetting]=\"setting\"\r\n [advanceData]=\"advanceData\" [readOnlyValues]=\"readOnlyValues\" [selectedValue]=\"selectedValue\"\r\n (onContentLeftInit)=\"handleContentLeftInit($event)\" (onContentRightInit)=\"handleContentRightInit($event)\"\r\n (onChanged)=\"handleChangeEntity($event)\" (onSelect)=\"handleSelectEntity($event)\"\r\n (onUnSelect)=\"handleUnSelectEntity($event)\" (onDone)=\"handleHide($event)\"\r\n (onRowSelect)=\"handleRowSelect($event)\">\r\n </entity-picker-box>\r\n <ng-template #footer>\r\n <button type=\" button\" pButton class=\"p-button-text\" (click)=\"onClickSubmitButton($event, entityPickerBox)\"\r\n [label]=\"'Ho\u00E0n th\u00E0nh' | translate\" icon=\"pi pi-check\"></button>\r\n </ng-template>\r\n</tn-dialog>", styles: [".autocomplete-picker{position:relative}.autocomplete-picker .icon-clear{position:absolute;right:36px;top:50%;transform:translateY(-50%);font-size:11px;color:#555;padding:3px;cursor:pointer}::ng-deep .autocomplete-picker.has-value:not(.multiple):not(.disabled) p-autocomplete .p-inputtext{padding-right:34px}::ng-deep .autocomplete-picker .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container .p-autocomplete-input-token{padding:.143rem 0}::ng-deep .autocomplete-picker .p-autocomplete.p-component.p-autocomplete-multiple{width:100%}::ng-deep .autocomplete-picker .p-autocomplete .p-autocomplete-multiple-container,::ng-deep .autocomplete-picker .p-autocomplete .p-autocomplete-input{border-radius:4px 0 0 4px}@media (max-width: 640px){::ng-deep autocomplete-picker .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container .p-autocomplete-input-token{padding:0 0 3px}::ng-deep autocomplete-picker .p-autocomplete-input-token>input{height:21.5px!important}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "itemSize", "suggestions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "component", type: i7.EntityPickerBoxComponent, selector: "entity-picker-box", inputs: ["parentSetting", "advanceData", "control", "width", "height", "readOnlyValues", "selectedValue", "currentNode"], outputs: ["onContentLeftInit", "onContentRightInit", "onRowSelect", "onChanged", "onSelect", "onUnSelect", "onDone"] }, { kind: "component", type: i8.TnDialogComponent, selector: "tn-dialog", inputs: ["maskClass", "styleClass", "scrollBarStyleClass", "useDefaultScrollBar", "visible", "disabledButton", "modal", "header", "popupSize", "closeOnEscape", "showFooter", "positionTop", "minY", "hiddenSave", "maximizable"], outputs: ["onSave", "onCancel", "onShow", "onHide"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
534
534
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: AutoCompletePickerComponent, decorators: [{
|
|
535
535
|
type: Component,
|
|
536
536
|
args: [{ selector: 'autocomplete-picker', providers: [
|
|
@@ -541,7 +541,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImpor
|
|
|
541
541
|
},
|
|
542
542
|
ComponentContextService,
|
|
543
543
|
EntityMetadataService
|
|
544
|
-
], template: "<div class=\"p-inputgroup autocomplete-picker\" *ngIf=\"control\" [class.has-value]=\"hasValue\"\r\n [class.multiple]=\"control.multiple\" [class.disabled]=\"control.disabled\">\r\n <div style=\"width: calc(100% - 28px)\" [pTooltip]=\"tooltip\" tooltipPosition=\"top\">\r\n <p-autoComplete #autoComplete emptyMessage=\"Kh\u00F4ng c\u00F3 k\u1EBFt qu\u1EA3 n\u00E0o\" [ngClass]=\"'custom-autocomplete'\"\r\n [disabled]=\"disabled\" [placeholder]=\"control.placeholder\" [appendTo]=\"control.appendTo\"\r\n [suggestions]=\"results\" field=\"label\" [styleClass]=\"control.validators && control.required ? 'rq' : ''\"\r\n [multiple]=\"control.multiple\" [minLength]=\"2\" [(ngModel)]=\"selectedValueObject\"\r\n (onFocus)=\"handleFocus($event)\" (onBlur)=\"handleBlur($event)\" (completeMethod)=\"search($event)\"\r\n (onKeyUp)=\"handleKeyUp($event)\" (onSelect)=\"handleSelect($event)\" (onUnselect)=\"handleUnSelect($event)\">\r\n </p-autoComplete>\r\n </div>\r\n <span *ngIf=\"!control.multiple && !disabled && hasValue\" class=\"icon-clear\" (click)=\"clearValue()\"><i\r\n class=\"fas fa-times\"></i></span>\r\n <button class=\"custom-autocomplete-button\" [disabled]=\"disabled\" tabindex=\"-1\" (click)=\"showPickForm()\" pButton\r\n [pTooltip]=\"control.title\" icon=\"fas fa-external-link-alt\" type=\"button\"></button>\r\n</div>\r\n<tn-dialog #dialog *ngIf=\"showFormPicker\" styleClass=\"entity-picker-box-dialog no-padding\" [useDefaultScrollBar]=\"true\"\r\n [header]=\"control.title | translate\" [popupSize]=\"popupSize\" (onHide)=\"handleHide($event)\">\r\n <entity-picker-box #entityPickerBox [currentNode]=\"currentNode\" [control]=\"control\" [parentSetting]=\"setting\"\r\n [advanceData]=\"advanceData\" [readOnlyValues]=\"readOnlyValues\" [selectedValue]=\"selectedValue\"\r\n (onContentLeftInit)=\"handleContentLeftInit($event)\" (onContentRightInit)=\"handleContentRightInit($event)\"\r\n (onChanged)=\"handleChangeEntity($event)\" (onSelect)=\"handleSelectEntity($event)\"\r\n (onUnSelect)=\"handleUnSelectEntity($event)\" (onDone)=\"handleHide($event)\"\r\n (onRowSelect)=\"handleRowSelect($event)\">\r\n </entity-picker-box>\r\n <ng-template #footer>\r\n <button type=\" button\" pButton class=\"p-button-text\" (click)=\"onClickSubmitButton($event, entityPickerBox)\"\r\n [label]=\"'Ho\u00E0n th\u00E0nh' | translate\" icon=\"pi pi-check\"></button>\r\n </ng-template>\r\n</tn-dialog>", styles: [".autocomplete-picker{position:relative}.autocomplete-picker .icon-clear{position:absolute;right:36px;top:50%;transform:translateY(-50%);font-size:11px;color:#555;padding:3px;cursor:pointer}::ng-deep .autocomplete-picker.has-value:not(.multiple):not(.disabled) p-autocomplete .p-inputtext{padding-right:34px}::ng-deep .autocomplete-picker .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container .p-autocomplete-input-token{padding:.143rem 0}::ng-deep .autocomplete-picker .p-autocomplete .p-autocomplete-multiple-container,::ng-deep .autocomplete-picker .p-autocomplete .p-autocomplete-input{border-radius:4px 0 0 4px}@media (max-width: 640px){::ng-deep autocomplete-picker .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container .p-autocomplete-input-token{padding:0 0 3px}::ng-deep autocomplete-picker .p-autocomplete-input-token>input{height:21.5px!important}}\n"] }]
|
|
544
|
+
], template: "<div class=\"p-inputgroup autocomplete-picker\" *ngIf=\"control\" [class.has-value]=\"hasValue\"\r\n [class.multiple]=\"control.multiple\" [class.disabled]=\"control.disabled\">\r\n <div style=\"width: calc(100% - 28px)\" [pTooltip]=\"tooltip\" tooltipPosition=\"top\">\r\n <p-autoComplete #autoComplete emptyMessage=\"Kh\u00F4ng c\u00F3 k\u1EBFt qu\u1EA3 n\u00E0o\" [ngClass]=\"'custom-autocomplete'\"\r\n [disabled]=\"disabled\" [placeholder]=\"control.placeholder\" [appendTo]=\"control.appendTo\"\r\n [suggestions]=\"results\" field=\"label\" [styleClass]=\"control.validators && control.required ? 'rq' : ''\"\r\n [multiple]=\"control.multiple\" [minLength]=\"2\" [(ngModel)]=\"selectedValueObject\"\r\n (onFocus)=\"handleFocus($event)\" (onBlur)=\"handleBlur($event)\" (completeMethod)=\"search($event)\"\r\n (onKeyUp)=\"handleKeyUp($event)\" (onSelect)=\"handleSelect($event)\" (onUnselect)=\"handleUnSelect($event)\">\r\n </p-autoComplete>\r\n </div>\r\n <span *ngIf=\"!control.multiple && !disabled && hasValue\" class=\"icon-clear\" (click)=\"clearValue()\"><i\r\n class=\"fas fa-times\"></i></span>\r\n <button class=\"custom-autocomplete-button\" [disabled]=\"disabled\" tabindex=\"-1\" (click)=\"showPickForm()\" pButton\r\n [pTooltip]=\"control.title\" icon=\"fas fa-external-link-alt\" type=\"button\"></button>\r\n</div>\r\n<tn-dialog #dialog *ngIf=\"showFormPicker\" styleClass=\"entity-picker-box-dialog no-padding\" [useDefaultScrollBar]=\"true\"\r\n [header]=\"control.title | translate\" [popupSize]=\"popupSize\" (onHide)=\"handleHide($event)\">\r\n <entity-picker-box #entityPickerBox [currentNode]=\"currentNode\" [control]=\"control\" [parentSetting]=\"setting\"\r\n [advanceData]=\"advanceData\" [readOnlyValues]=\"readOnlyValues\" [selectedValue]=\"selectedValue\"\r\n (onContentLeftInit)=\"handleContentLeftInit($event)\" (onContentRightInit)=\"handleContentRightInit($event)\"\r\n (onChanged)=\"handleChangeEntity($event)\" (onSelect)=\"handleSelectEntity($event)\"\r\n (onUnSelect)=\"handleUnSelectEntity($event)\" (onDone)=\"handleHide($event)\"\r\n (onRowSelect)=\"handleRowSelect($event)\">\r\n </entity-picker-box>\r\n <ng-template #footer>\r\n <button type=\" button\" pButton class=\"p-button-text\" (click)=\"onClickSubmitButton($event, entityPickerBox)\"\r\n [label]=\"'Ho\u00E0n th\u00E0nh' | translate\" icon=\"pi pi-check\"></button>\r\n </ng-template>\r\n</tn-dialog>", styles: [".autocomplete-picker{position:relative}.autocomplete-picker .icon-clear{position:absolute;right:36px;top:50%;transform:translateY(-50%);font-size:11px;color:#555;padding:3px;cursor:pointer}::ng-deep .autocomplete-picker.has-value:not(.multiple):not(.disabled) p-autocomplete .p-inputtext{padding-right:34px}::ng-deep .autocomplete-picker .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container .p-autocomplete-input-token{padding:.143rem 0}::ng-deep .autocomplete-picker .p-autocomplete.p-component.p-autocomplete-multiple{width:100%}::ng-deep .autocomplete-picker .p-autocomplete .p-autocomplete-multiple-container,::ng-deep .autocomplete-picker .p-autocomplete .p-autocomplete-input{border-radius:4px 0 0 4px}@media (max-width: 640px){::ng-deep autocomplete-picker .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container .p-autocomplete-input-token{padding:0 0 3px}::ng-deep autocomplete-picker .p-autocomplete-input-token>input{height:21.5px!important}}\n"] }]
|
|
545
545
|
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.TranslateService }]; }, propDecorators: { entityPickerBoxComponent: [{
|
|
546
546
|
type: ViewChild,
|
|
547
547
|
args: ['entityPickerBox', { static: true }]
|