@vendure/admin-ui 3.0.4 → 3.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/common/version.d.ts +1 -1
- package/esm2022/catalog/components/collection-data-table/collection-data-table.component.mjs +1 -1
- package/esm2022/catalog/components/collection-list/collection-list.component.mjs +1 -1
- package/esm2022/catalog/components/facet-list/facet-list.component.mjs +11 -11
- package/esm2022/catalog/components/product-list/product-list.component.mjs +1 -1
- package/esm2022/core/common/base-list.component.mjs +1 -1
- package/esm2022/core/common/version.mjs +2 -2
- package/esm2022/core/components/theme-switcher/theme-switcher.component.mjs +1 -1
- package/esm2022/core/data/providers/base-data.service.mjs +1 -1
- package/esm2022/core/data/providers/collection-data.service.mjs +1 -1
- package/esm2022/core/data/providers/data.service.mjs +1 -1
- package/esm2022/core/data/providers/product-data.service.mjs +1 -1
- package/esm2022/core/data/query-result.mjs +5 -3
- package/esm2022/core/data/utils/add-custom-fields.mjs +1 -1
- package/esm2022/core/providers/alerts/alerts.service.mjs +1 -1
- package/esm2022/core/providers/auth/auth.service.mjs +1 -1
- package/esm2022/core/providers/data-table/data-table-config.service.mjs +1 -1
- package/esm2022/core/shared/components/data-table-2/data-table2.component.mjs +1 -1
- package/esm2022/core/shared/components/data-table-filter-presets/filter-preset.service.mjs +1 -1
- package/esm2022/customer/components/customer-group-list/customer-group-list.component.mjs +11 -11
- package/esm2022/customer/components/customer-list/customer-list.component.mjs +24 -24
- package/esm2022/marketing/components/promotion-list/promotion-list.component.mjs +11 -11
- package/esm2022/order/components/order-data-table/order-data-table.component.mjs +1 -1
- package/esm2022/order/components/order-list/order-list.component.mjs +1 -1
- package/esm2022/settings/components/administrator-list/administrator-list.component.mjs +30 -30
- package/esm2022/settings/components/channel-list/channel-list.component.mjs +11 -11
- package/esm2022/settings/components/country-list/country-list.component.mjs +19 -19
- package/esm2022/settings/components/payment-method-list/payment-method-list.component.mjs +19 -19
- package/esm2022/settings/components/role-list/role-list.component.mjs +11 -11
- package/esm2022/settings/components/seller-list/seller-list.component.mjs +16 -16
- package/esm2022/settings/components/shipping-method-list/shipping-method-list.component.mjs +19 -19
- package/esm2022/settings/components/stock-location-list/stock-location-list.component.mjs +17 -17
- package/esm2022/settings/components/tax-category-list/tax-category-list.component.mjs +11 -11
- package/esm2022/settings/components/tax-rate-list/tax-rate-list.component.mjs +11 -11
- package/esm2022/settings/components/zone-list/zone-list.component.mjs +16 -16
- package/fesm2022/vendure-admin-ui-catalog.mjs +10 -10
- package/fesm2022/vendure-admin-ui-catalog.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-core.mjs +5 -3
- package/fesm2022/vendure-admin-ui-core.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-customer.mjs +33 -33
- package/fesm2022/vendure-admin-ui-customer.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-marketing.mjs +10 -10
- package/fesm2022/vendure-admin-ui-marketing.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-order.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-settings.mjs +169 -169
- package/fesm2022/vendure-admin-ui-settings.mjs.map +1 -1
- package/package.json +13 -13
|
@@ -99,4 +99,4 @@ function isFragmentDefinition(value) {
|
|
|
99
99
|
function isFieldNode(value) {
|
|
100
100
|
return value.kind === Kind.FIELD;
|
|
101
101
|
}
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWN1c3RvbS1maWVsZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvdXRpbHMvYWRkLWN1c3RvbS1maWVsZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUtILElBQUksR0FFUCxNQUFNLFNBQVMsQ0FBQztBQVNqQjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUMzQixZQUEwQixFQUMxQixZQUE4QyxFQUM5QyxtQkFBOEI7SUFFOUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFpQixDQUFDO0lBQ3ZFLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFcEUsS0FBSyxNQUFNLFdBQVcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNyQyxJQUFJLFVBQVUsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUcvQyxDQUFDO1FBRUYsSUFBSSxVQUFVLEtBQU0sY0FBc0IsRUFBRSxDQUFDO1lBQ3pDLHFGQUFxRjtZQUNyRiw2QkFBNkI7WUFDN0IsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUMzQixDQUFDO1FBRUQsSUFBSSxVQUFVLEtBQU0sU0FBaUIsRUFBRSxDQUFDO1lBQ3BDLGdDQUFnQztZQUNoQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1FBQzFCLENBQUM7UUFFRCxNQUFNLG1CQUFtQixHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekQsSUFBSSxtQkFBbUIsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwRCxpRUFBaUU7WUFDakUsdUJBQXVCO1lBQ3ZCLE1BQU0seUJBQXlCLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxD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Q0FBQyxHQUFHLENBQzNCLFdBQVcsQ0FBQyxFQUFFLENBQ1YsQ0FBQzs0QkFDRyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUs7NEJBQ2hCLElBQUksRUFBRTtnQ0FDRixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0NBQ2YsS0FBSyxFQUFFLFdBQVcsQ0FBQyxJQUFJOzZCQUMxQjt5QkFDSixDQUFjLENBQ3RCO3FCQUNKO2lCQUNKLENBQUMsQ0FBQztZQUNQLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUFDLEtBQXFCO0lBQy9DLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsbUJBQW1CLENBQUM7QUFDbkQsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLEtBQW9CO0lBQ3JDLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDO0FBQ3JDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgRGVmaW5pdGlvbk5vZGUsXHJcbiAgICBEb2N1bWVudE5vZGUsXHJcbiAgICBGaWVsZE5vZGUsXHJcbiAgICBGcmFnbWVudERlZmluaXRpb25Ob2RlLFxyXG4gICAgS2luZCxcclxuICAgIFNlbGVjdGlvbk5vZGUsXHJcbn0gZnJvbSAnZ3JhcGhxbCc7XHJcblxyXG5pbXBvcnQge1xyXG4gICAgQ3VzdG9tRmllbGRDb25maWcsXHJcbiAgICBDdXN0b21GaWVsZHMsXHJcbiAgICBFbnRpdHlDdXN0b21GaWVsZHMsXHJcbiAgICBSZWxhdGlvbkN1c3RvbUZpZWxkRnJhZ21lbnQsXHJcbn0gZnJvbSAnLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcblxyXG4vKipcclxuICogR2l2ZW4gYSBHcmFwaFFMIEFTVCAoRG9jdW1lbnROb2RlKSwgdGhpcyBmdW5jdGlvbiBsb29rcyBmb3IgZnJhZ21lbnQgZGVmaW5pdGlvbnMgYW5kIGFkZHMgYW5kIGNvbmZpZ3VyZWRcclxuICogY3VzdG9tIGZpZWxkcyB0byB0aG9zZSBmcmFnbWVudHMuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gYWRkQ3VzdG9tRmllbGRzKFxyXG4gICAgZG9jdW1lbnROb2RlOiBEb2N1bWVudE5vZGUsXHJcbiAgICBjdXN0b21GaWVsZHM6IE1hcDxzdHJpbmcsIEN1c3RvbUZpZWxkQ29uZmlnW10+LFxyXG4gICAgaW5jbHVkZUN1c3RvbUZpZWxkcz86IHN0cmluZ1tdLFxyXG4pOiBEb2N1bWVudE5vZGUge1xyXG4gICAgY29uc3QgY2xvbmUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGRvY3VtZW50Tm9kZSkpIGFzIERvY3VtZW50Tm9kZTtcclxuICAgIGNvbnN0IGZyYWdtZW50RGVmcyA9IGNsb25lLmRlZmluaXRpb25zLmZpbHRlcihpc0ZyYWdtZW50RGVmaW5pdGlvbik7XHJcblxyXG4gICAgZm9yIChjb25zdCBmcmFnbWVudERlZiBvZiBmcmFnbWVudERlZnMpIHtcclxuICAgICAgICBsZXQgZW50aXR5VHlwZSA9IGZyYWdtZW50RGVmLnR5cGVDb25kaXRpb24ubmFtZS52YWx1ZSBhcyBrZXlvZiBQaWNrPFxyXG4gICAgICAgICAgICBDdXN0b21GaWVsZHMsXHJcbiAgICAgICAgICAgIEV4Y2x1ZGU8a2V5b2YgQ3VzdG9tRmllbGRzLCAnX190eXBlbmFtZSc+XHJcbiAgICAgICAgPjtcclxuXHJcbiAgICAgICAgaWYgKGVudGl0eVR5cGUgPT09ICgnT3JkZXJBZGRyZXNzJyBhcyBhbnkpKSB7XHJcbiAgICAgICAgICAgIC8vIE9yZGVyQWRkcmVzcyBpcyBhIHNwZWNpYWwgY2FzZSBvZiB0aGUgQWRkcmVzcyBlbnRpdHksIGFuZCBzaGFyZXMgaXRzIGN1c3RvbSBmaWVsZHNcclxuICAgICAgICAgICAgLy8gc28gd2UgdHJlYXQgaXQgYXMgYW4gYWxpYXNcclxuICAgICAgICAgICAgZW50aXR5VHlwZSA9ICdBZGRyZXNzJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChlbnRpdHlUeXBlID09PSAoJ0NvdW50cnknIGFzIGFueSkpIHtcclxuICAgICAgICAgICAgLy8gQ291bnRyeSBpcyBhbiBhbGlhcyBvZiBSZWdpb25cclxuICAgICAgICAgICAgZW50aXR5VHlwZSA9ICdSZWdpb24nO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgY3VzdG9tRmllbGRzRm9yVHlwZSA9IGN1c3RvbUZpZWxkcy5nZXQoZW50aXR5VHlwZSk7XHJcbiAgICAgICAgaWYgKGN1c3RvbUZpZWxkc0ZvclR5cGUgJiYgY3VzdG9tRmllbGRzRm9yVHlwZS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlcmUgaXMgYWxyZWFkeSBhIGN1c3RvbUZpZWxkcyBmaWVsZCBpbiB0aGUgZnJhZ21lbnRcclxuICAgICAgICAgICAgLy8gdG8gYXZvaWQgZHVwbGljYXRpb25cclxuICAgICAgICAgICAgY29uc3QgZXhpc3RpbmdDdXN0b21GaWVsZHNGaWVsZCA9IGZyYWdtZW50RGVmLnNlbGVjdGlvblNldC5zZWxlY3Rpb25zLmZpbmQoXHJcbiAgICAgICAgICAgICAgICBzZWxlY3Rpb24gPT4gaXNGaWVsZE5vZGUoc2VsZWN0aW9uKSAmJiBzZWxlY3Rpb24ubmFtZS52YWx1ZSA9PT0gJ2N1c3RvbUZpZWxkcycsXHJcbiAgICAgICAgICAgICkgYXMgRmllbGROb2RlIHwgdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICBjb25zdCBzZWxlY3Rpb25Ob2RlczogU2VsZWN0aW9uTm9kZVtdID0gY3VzdG9tRmllbGRzRm9yVHlwZVxyXG4gICAgICAgICAgICAgICAgLmZpbHRlcihmaWVsZCA9PiAhaW5jbHVkZUN1c3RvbUZpZWxkcyB8fCBpbmNsdWRlQ3VzdG9tRmllbGRzLmluY2x1ZGVzKGZpZWxkLm5hbWUpKVxyXG4gICAgICAgICAgICAgICAgLm1hcChcclxuICAgICAgICAgICAgICAgICAgICBjdXN0b21GaWVsZCA9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2luZDogS2luZC5GSUVMRCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBraW5kOiBLaW5kLk5BTUUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGN1c3RvbUZpZWxkLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRm9yIFwicmVsYXRpb25cIiBjdXN0b20gZmllbGRzLCB3ZSBuZWVkIHRvIGFsc28gc2VsZWN0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhbGwgdGhlIHNjYWxhciBmaWVsZHMgb2YgdGhlIHJlbGF0ZWQgdHlwZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uKGN1c3RvbUZpZWxkLnR5cGUgPT09ICdyZWxhdGlvbidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25TZXQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2luZDogS2luZC5TRUxFQ1RJT05fU0VULFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25zOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21GaWVsZCBhcyBSZWxhdGlvbkN1c3RvbUZpZWxkRnJhZ21lbnRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKS5zY2FsYXJGaWVsZHMubWFwKGYgPT4gKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ6IEtpbmQuRklFTEQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiB7IGtpbmQ6IEtpbmQuTkFNRSwgdmFsdWU6IGYgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB7fSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pIGFzIEZpZWxkTm9kZSxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGlmICghZXhpc3RpbmdDdXN0b21GaWVsZHNGaWVsZCkge1xyXG4gICAgICAgICAgICAgICAgLy8gSWYgbm8gY3VzdG9tRmllbGRzIGZpZWxkIGV4aXN0cywgYWRkIG9uZVxyXG4gICAgICAgICAgICAgICAgKGZyYWdtZW50RGVmLnNlbGVjdGlvblNldC5zZWxlY3Rpb25zIGFzIFNlbGVjdGlvbk5vZGVbXSkucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAga2luZDogS2luZC5GSUVMRCxcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ6IEtpbmQuTkFNRSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdjdXN0b21GaWVsZHMnLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uU2V0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ6IEtpbmQuU0VMRUNUSU9OX1NFVCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uczogc2VsZWN0aW9uTm9kZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gSWYgYSBjdXN0b21GaWVsZHMgZmllbGQgYWxyZWFkeSBleGlzdHMsIGFkZCB0aGUgY3VzdG9tIGZpZWxkc1xyXG4gICAgICAgICAgICAgICAgLy8gdG8gdGhlIGV4aXN0aW5nIHNlbGVjdGlvbiBzZXRcclxuICAgICAgICAgICAgICAgIChleGlzdGluZ0N1c3RvbUZpZWxkc0ZpZWxkLnNlbGVjdGlvblNldCBhcyBhbnkpID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGtpbmQ6IEtpbmQuU0VMRUNUSU9OX1NFVCxcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25zOiBzZWxlY3Rpb25Ob2RlcyxcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGNvbnN0IGxvY2FsaXplZEZpZWxkcyA9IGN1c3RvbUZpZWxkc0ZvclR5cGUuZmlsdGVyKFxyXG4gICAgICAgICAgICAgICAgZmllbGQgPT4gZmllbGQudHlwZSA9PT0gJ2xvY2FsZVN0cmluZycgfHwgZmllbGQudHlwZSA9PT0gJ2xvY2FsZVRleHQnLFxyXG4gICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRpb25zRmllbGQgPSBmcmFnbWVudERlZi5zZWxlY3Rpb25TZXQuc2VsZWN0aW9uc1xyXG4gICAgICAgICAgICAgICAgLmZpbHRlcihpc0ZpZWxkTm9kZSlcclxuICAgICAgICAgICAgICAgIC5maW5kKGZpZWxkID0+IGZpZWxkLm5hbWUudmFsdWUgPT09ICd0cmFuc2xhdGlvbnMnKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChsb2NhbGl6ZWRGaWVsZHMubGVuZ3RoICYmIHRyYW5zbGF0aW9uc0ZpZWxkICYmIHRyYW5zbGF0aW9uc0ZpZWxkLnNlbGVjdGlvblNldCkge1xyXG4gICAgICAgICAgICAgICAgKHRyYW5zbGF0aW9uc0ZpZWxkLnNlbGVjdGlvblNldC5zZWxlY3Rpb25zIGFzIFNlbGVjdGlvbk5vZGVbXSkucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBraW5kOiBLaW5kLk5BTUUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnY3VzdG9tRmllbGRzJyxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIGtpbmQ6IEtpbmQuRklFTEQsXHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uU2V0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ6IEtpbmQuU0VMRUNUSU9OX1NFVCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uczogbG9jYWxpemVkRmllbGRzLm1hcChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbUZpZWxkID0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2luZDogS2luZC5GSUVMRCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2luZDogS2luZC5OQU1FLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGN1c3RvbUZpZWxkLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgYXMgRmllbGROb2RlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY2xvbmU7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGlzRnJhZ21lbnREZWZpbml0aW9uKHZhbHVlOiBEZWZpbml0aW9uTm9kZSk6IHZhbHVlIGlzIEZyYWdtZW50RGVmaW5pdGlvbk5vZGUge1xyXG4gICAgcmV0dXJuIHZhbHVlLmtpbmQgPT09IEtpbmQuRlJBR01FTlRfREVGSU5JVElPTjtcclxufVxyXG5cclxuZnVuY3Rpb24gaXNGaWVsZE5vZGUodmFsdWU6IFNlbGVjdGlvbk5vZGUpOiB2YWx1ZSBpcyBGaWVsZE5vZGUge1xyXG4gICAgcmV0dXJuIHZhbHVlLmtpbmQgPT09IEtpbmQuRklFTEQ7XHJcbn1cclxuIl19
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWN1c3RvbS1maWVsZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvdXRpbHMvYWRkLWN1c3RvbS1maWVsZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUtILElBQUksR0FFUCxNQUFNLFNBQVMsQ0FBQztBQVNqQjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUMzQixZQUEwQixFQUMxQixZQUE4QyxFQUM5QyxtQkFBOEI7SUFFOUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFpQixDQUFDO0lBQ3ZFLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFcEUsS0FBSyxNQUFNLFdBQVcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNyQyxJQUFJLFVBQVUsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUcvQyxDQUFDO1FBRUYsSUFBSSxVQUFVLEtBQU0sY0FBc0IsRUFBRSxDQUFDO1lBQ3pDLHFGQUFxRjtZQUNyRiw2QkFBNkI7WUFDN0IsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUMzQixDQUFDO1FBRUQsSUFBSSxVQUFVLEtBQU0sU0FBaUIsRUFBRSxDQUFDO1lBQ3BDLGdDQUFnQztZQUNoQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1FBQzFCLENBQUM7UUFFRCxNQUFNLG1CQUFtQixHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekQsSUFBSSxtQkFBbUIsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwRCxpRUFBaUU7WUFDakUsdUJBQXVCO1lBQ3ZCLE1BQU0seUJBQXlCLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxD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Q0FBQyxHQUFHLENBQzNCLFdBQVcsQ0FBQyxFQUFFLENBQ1YsQ0FBQzs0QkFDRyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUs7NEJBQ2hCLElBQUksRUFBRTtnQ0FDRixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0NBQ2YsS0FBSyxFQUFFLFdBQVcsQ0FBQyxJQUFJOzZCQUMxQjt5QkFDSixDQUFjLENBQ3RCO3FCQUNKO2lCQUNKLENBQUMsQ0FBQztZQUNQLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUFDLEtBQXFCO0lBQy9DLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsbUJBQW1CLENBQUM7QUFDbkQsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLEtBQW9CO0lBQ3JDLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDO0FBQ3JDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERlZmluaXRpb25Ob2RlLFxuICAgIERvY3VtZW50Tm9kZSxcbiAgICBGaWVsZE5vZGUsXG4gICAgRnJhZ21lbnREZWZpbml0aW9uTm9kZSxcbiAgICBLaW5kLFxuICAgIFNlbGVjdGlvbk5vZGUsXG59IGZyb20gJ2dyYXBocWwnO1xuXG5pbXBvcnQge1xuICAgIEN1c3RvbUZpZWxkQ29uZmlnLFxuICAgIEN1c3RvbUZpZWxkcyxcbiAgICBFbnRpdHlDdXN0b21GaWVsZHMsXG4gICAgUmVsYXRpb25DdXN0b21GaWVsZEZyYWdtZW50LFxufSBmcm9tICcuLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcblxuLyoqXG4gKiBHaXZlbiBhIEdyYXBoUUwgQVNUIChEb2N1bWVudE5vZGUpLCB0aGlzIGZ1bmN0aW9uIGxvb2tzIGZvciBmcmFnbWVudCBkZWZpbml0aW9ucyBhbmQgYWRkcyBhbmQgY29uZmlndXJlZFxuICogY3VzdG9tIGZpZWxkcyB0byB0aG9zZSBmcmFnbWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRDdXN0b21GaWVsZHMoXG4gICAgZG9jdW1lbnROb2RlOiBEb2N1bWVudE5vZGUsXG4gICAgY3VzdG9tRmllbGRzOiBNYXA8c3RyaW5nLCBDdXN0b21GaWVsZENvbmZpZ1tdPixcbiAgICBpbmNsdWRlQ3VzdG9tRmllbGRzPzogc3RyaW5nW10sXG4pOiBEb2N1bWVudE5vZGUge1xuICAgIGNvbnN0IGNsb25lID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkb2N1bWVudE5vZGUpKSBhcyBEb2N1bWVudE5vZGU7XG4gICAgY29uc3QgZnJhZ21lbnREZWZzID0gY2xvbmUuZGVmaW5pdGlvbnMuZmlsdGVyKGlzRnJhZ21lbnREZWZpbml0aW9uKTtcblxuICAgIGZvciAoY29uc3QgZnJhZ21lbnREZWYgb2YgZnJhZ21lbnREZWZzKSB7XG4gICAgICAgIGxldCBlbnRpdHlUeXBlID0gZnJhZ21lbnREZWYudHlwZUNvbmRpdGlvbi5uYW1lLnZhbHVlIGFzIGtleW9mIFBpY2s8XG4gICAgICAgICAgICBDdXN0b21GaWVsZHMsXG4gICAgICAgICAgICBFeGNsdWRlPGtleW9mIEN1c3RvbUZpZWxkcywgJ19fdHlwZW5hbWUnPlxuICAgICAgICA+O1xuXG4gICAgICAgIGlmIChlbnRpdHlUeXBlID09PSAoJ09yZGVyQWRkcmVzcycgYXMgYW55KSkge1xuICAgICAgICAgICAgLy8gT3JkZXJBZGRyZXNzIGlzIGEgc3BlY2lhbCBjYXNlIG9mIHRoZSBBZGRyZXNzIGVudGl0eSwgYW5kIHNoYXJlcyBpdHMgY3VzdG9tIGZpZWxkc1xuICAgICAgICAgICAgLy8gc28gd2UgdHJlYXQgaXQgYXMgYW4gYWxpYXNcbiAgICAgICAgICAgIGVudGl0eVR5cGUgPSAnQWRkcmVzcyc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZW50aXR5VHlwZSA9PT0gKCdDb3VudHJ5JyBhcyBhbnkpKSB7XG4gICAgICAgICAgICAvLyBDb3VudHJ5IGlzIGFuIGFsaWFzIG9mIFJlZ2lvblxuICAgICAgICAgICAgZW50aXR5VHlwZSA9ICdSZWdpb24nO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY3VzdG9tRmllbGRzRm9yVHlwZSA9IGN1c3RvbUZpZWxkcy5nZXQoZW50aXR5VHlwZSk7XG4gICAgICAgIGlmIChjdXN0b21GaWVsZHNGb3JUeXBlICYmIGN1c3RvbUZpZWxkc0ZvclR5cGUubGVuZ3RoKSB7XG4gICAgICAgICAgICAvLyBDaGVjayBpZiB0aGVyZSBpcyBhbHJlYWR5IGEgY3VzdG9tRmllbGRzIGZpZWxkIGluIHRoZSBmcmFnbWVudFxuICAgICAgICAgICAgLy8gdG8gYXZvaWQgZHVwbGljYXRpb25cbiAgICAgICAgICAgIGNvbnN0IGV4aXN0aW5nQ3VzdG9tRmllbGRzRmllbGQgPSBmcmFnbWVudERlZi5zZWxlY3Rpb25TZXQuc2VsZWN0aW9ucy5maW5kKFxuICAgICAgICAgICAgICAgIHNlbGVjdGlvbiA9PiBpc0ZpZWxkTm9kZShzZWxlY3Rpb24pICYmIHNlbGVjdGlvbi5uYW1lLnZhbHVlID09PSAnY3VzdG9tRmllbGRzJyxcbiAgICAgICAgICAgICkgYXMgRmllbGROb2RlIHwgdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0aW9uTm9kZXM6IFNlbGVjdGlvbk5vZGVbXSA9IGN1c3RvbUZpZWxkc0ZvclR5cGVcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGZpZWxkID0+ICFpbmNsdWRlQ3VzdG9tRmllbGRzIHx8IGluY2x1ZGVDdXN0b21GaWVsZHMuaW5jbHVkZXMoZmllbGQubmFtZSkpXG4gICAgICAgICAgICAgICAgLm1hcChcbiAgICAgICAgICAgICAgICAgICAgY3VzdG9tRmllbGQgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2luZDogS2luZC5GSUVMRCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ6IEtpbmQuTkFNRSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGN1c3RvbUZpZWxkLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGb3IgXCJyZWxhdGlvblwiIGN1c3RvbSBmaWVsZHMsIHdlIG5lZWQgdG8gYWxzbyBzZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhbGwgdGhlIHNjYWxhciBmaWVsZHMgb2YgdGhlIHJlbGF0ZWQgdHlwZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLihjdXN0b21GaWVsZC50eXBlID09PSAncmVsYXRpb24nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25TZXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ6IEtpbmQuU0VMRUNUSU9OX1NFVCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbnM6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21GaWVsZCBhcyBSZWxhdGlvbkN1c3RvbUZpZWxkRnJhZ21lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkuc2NhbGFyRmllbGRzLm1hcChmID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2luZDogS2luZC5GSUVMRCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiB7IGtpbmQ6IEtpbmQuTkFNRSwgdmFsdWU6IGYgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoge30pLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSkgYXMgRmllbGROb2RlLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoIWV4aXN0aW5nQ3VzdG9tRmllbGRzRmllbGQpIHtcbiAgICAgICAgICAgICAgICAvLyBJZiBubyBjdXN0b21GaWVsZHMgZmllbGQgZXhpc3RzLCBhZGQgb25lXG4gICAgICAgICAgICAgICAgKGZyYWdtZW50RGVmLnNlbGVjdGlvblNldC5zZWxlY3Rpb25zIGFzIFNlbGVjdGlvbk5vZGVbXSkucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIGtpbmQ6IEtpbmQuRklFTEQsXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ6IEtpbmQuTkFNRSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnY3VzdG9tRmllbGRzJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uU2V0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBraW5kOiBLaW5kLlNFTEVDVElPTl9TRVQsXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25zOiBzZWxlY3Rpb25Ob2RlcyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gSWYgYSBjdXN0b21GaWVsZHMgZmllbGQgYWxyZWFkeSBleGlzdHMsIGFkZCB0aGUgY3VzdG9tIGZpZWxkc1xuICAgICAgICAgICAgICAgIC8vIHRvIHRoZSBleGlzdGluZyBzZWxlY3Rpb24gc2V0XG4gICAgICAgICAgICAgICAgKGV4aXN0aW5nQ3VzdG9tRmllbGRzRmllbGQuc2VsZWN0aW9uU2V0IGFzIGFueSkgPSB7XG4gICAgICAgICAgICAgICAgICAgIGtpbmQ6IEtpbmQuU0VMRUNUSU9OX1NFVCxcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uczogc2VsZWN0aW9uTm9kZXMsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgbG9jYWxpemVkRmllbGRzID0gY3VzdG9tRmllbGRzRm9yVHlwZS5maWx0ZXIoXG4gICAgICAgICAgICAgICAgZmllbGQgPT4gZmllbGQudHlwZSA9PT0gJ2xvY2FsZVN0cmluZycgfHwgZmllbGQudHlwZSA9PT0gJ2xvY2FsZVRleHQnLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRpb25zRmllbGQgPSBmcmFnbWVudERlZi5zZWxlY3Rpb25TZXQuc2VsZWN0aW9uc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoaXNGaWVsZE5vZGUpXG4gICAgICAgICAgICAgICAgLmZpbmQoZmllbGQgPT4gZmllbGQubmFtZS52YWx1ZSA9PT0gJ3RyYW5zbGF0aW9ucycpO1xuXG4gICAgICAgICAgICBpZiAobG9jYWxpemVkRmllbGRzLmxlbmd0aCAmJiB0cmFuc2xhdGlvbnNGaWVsZCAmJiB0cmFuc2xhdGlvbnNGaWVsZC5zZWxlY3Rpb25TZXQpIHtcbiAgICAgICAgICAgICAgICAodHJhbnNsYXRpb25zRmllbGQuc2VsZWN0aW9uU2V0LnNlbGVjdGlvbnMgYXMgU2VsZWN0aW9uTm9kZVtdKS5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZToge1xuICAgICAgICAgICAgICAgICAgICAgICAga2luZDogS2luZC5OQU1FLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdjdXN0b21GaWVsZHMnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBraW5kOiBLaW5kLkZJRUxELFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25TZXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ6IEtpbmQuU0VMRUNUSU9OX1NFVCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbnM6IGxvY2FsaXplZEZpZWxkcy5tYXAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VzdG9tRmllbGQgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ6IEtpbmQuRklFTEQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2luZDogS2luZC5OQU1FLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBjdXN0b21GaWVsZC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgYXMgRmllbGROb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjbG9uZTtcbn1cblxuZnVuY3Rpb24gaXNGcmFnbWVudERlZmluaXRpb24odmFsdWU6IERlZmluaXRpb25Ob2RlKTogdmFsdWUgaXMgRnJhZ21lbnREZWZpbml0aW9uTm9kZSB7XG4gICAgcmV0dXJuIHZhbHVlLmtpbmQgPT09IEtpbmQuRlJBR01FTlRfREVGSU5JVElPTjtcbn1cblxuZnVuY3Rpb24gaXNGaWVsZE5vZGUodmFsdWU6IFNlbGVjdGlvbk5vZGUpOiB2YWx1ZSBpcyBGaWVsZE5vZGUge1xuICAgIHJldHVybiB2YWx1ZS5raW5kID09PSBLaW5kLkZJRUxEO1xufVxuIl19
|
|
@@ -121,4 +121,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
121
121
|
providedIn: 'root',
|
|
122
122
|
}]
|
|
123
123
|
}], ctorParameters: () => [{ type: i1.PermissionsService }, { type: i0.Injector }, { type: i2.DataService }, { type: i3.NotificationService }, { type: i4.ModalService }] });
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3Byb3ZpZGVycy9hbGVydHMvYWxlcnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQ0gsZUFBZSxFQUNmLGFBQWEsRUFDYixLQUFLLEVBQ0wsWUFBWSxFQUVaLEVBQUUsRUFDRixPQUFPLEVBRVAsU0FBUyxHQUNaLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFzSDlELE1BQU0sT0FBTyxLQUFLO0lBS2QsWUFDWSxNQUFzQixFQUN0QixPQUFxQjtRQURyQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixZQUFPLEdBQVAsT0FBTyxDQUFjO1FBTHpCLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxVQUFLLEdBQUcsSUFBSSxlQUFlLENBQWdCLFNBQVMsQ0FBQyxDQUFDO1FBTTFELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDM0YsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FB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QUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgbm90TnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdXRpbHMnO1xyXG5pbXBvcnQge1xyXG4gICAgQmVoYXZpb3JTdWJqZWN0LFxyXG4gICAgY29tYmluZUxhdGVzdCxcclxuICAgIGZpcnN0LFxyXG4gICAgaXNPYnNlcnZhYmxlLFxyXG4gICAgT2JzZXJ2YWJsZSxcclxuICAgIG9mLFxyXG4gICAgU3ViamVjdCxcclxuICAgIFN1YnNjcmlwdGlvbixcclxuICAgIHN3aXRjaE1hcCxcclxufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHN0YXJ0V2l0aCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgUGVybWlzc2lvbiB9IGZyb20gJy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vZGFsU2VydmljZSB9IGZyb20gJy4uL21vZGFsL21vZGFsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGVybWlzc2lvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vcGVybWlzc2lvbnMvcGVybWlzc2lvbnMuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIFRoZSBjb250ZXh0IG9iamVjdCB3aGljaCBpcyBwYXNzZWQgdG8gdGhlIGBjaGVja2AsIGBpc0FsZXJ0YCwgYGxhYmVsYCBhbmQgYGFjdGlvbmAgZnVuY3Rpb25zIG9mIGFuXHJcbiAqIHtAbGluayBBbGVydENvbmZpZ30gb2JqZWN0LlxyXG4gKlxyXG4gKiBAc2luY2UgMi4yLjBcclxuICogQGRvY3NDYXRlZ29yeSBhbGVydHNcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQWxlcnRDb250ZXh0IHtcclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBUaGUgQW5ndWxhciBbSW5qZWN0b3JdKGh0dHBzOi8vYW5ndWxhci5kZXYvYXBpL2NvcmUvSW5qZWN0b3IpIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGdldCBpbnN0YW5jZXNcclxuICAgICAqIG9mIHNlcnZpY2VzIGFuZCBvdGhlciBwcm92aWRlcnMgYXZhaWxhYmxlIGluIHRoZSBhcHBsaWNhdGlvbi5cclxuICAgICAqL1xyXG4gICAgaW5qZWN0b3I6IEluamVjdG9yO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFRoZSBbRGF0YVNlcnZpY2VdKC9yZWZlcmVuY2UvYWRtaW4tdWktYXBpL3NlcnZpY2VzL2RhdGEtc2VydmljZSksIHdoaWNoIHByb3ZpZGVzIG1ldGhvZHMgZm9yIHF1ZXJ5aW5nIHRoZVxyXG4gICAgICogc2VydmVyLXNpZGUgZGF0YS5cclxuICAgICAqL1xyXG4gICAgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFRoZSBbTm90aWZpY2F0aW9uU2VydmljZV0oL3JlZmVyZW5jZS9hZG1pbi11aS1hcGkvc2VydmljZXMvbm90aWZpY2F0aW9uLXNlcnZpY2UpLCB3aGljaCBwcm92aWRlcyBtZXRob2RzIGZvclxyXG4gICAgICogZGlzcGxheWluZyBub3RpZmljYXRpb25zIHRvIHRoZSB1c2VyLlxyXG4gICAgICovXHJcbiAgICBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFRoZSBbTW9kYWxTZXJ2aWNlXSgvcmVmZXJlbmNlL2FkbWluLXVpLWFwaS9zZXJ2aWNlcy9tb2RhbC1zZXJ2aWNlKSwgd2hpY2ggcHJvdmlkZXMgbWV0aG9kcyBmb3JcclxuICAgICAqIG9wZW5pbmcgbW9kYWwgZGlhbG9ncy5cclxuICAgICAqL1xyXG4gICAgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2U7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogQSBjb25maWd1cmF0aW9uIG9iamVjdCBmb3IgYW4gQWRtaW4gVUkgYWxlcnQuXHJcbiAqXHJcbiAqIEBzaW5jZSAyLjIuMFxyXG4gKiBAZG9jc0NhdGVnb3J5IGFsZXJ0c1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBBbGVydENvbmZpZzxUID0gYW55PiB7XHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogQSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGFsZXJ0LlxyXG4gICAgICovXHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIEEgZnVuY3Rpb24gd2hpY2ggaXMgZ2V0cyB0aGUgZGF0YSB1c2VkIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZSBhbGVydCBzaG91bGQgYmUgc2hvd24uXHJcbiAgICAgKiBUeXBpY2FsbHksIHRoaXMgZnVuY3Rpb24gd2lsbCBxdWVyeSB0aGUgc2VydmVyIG9yIHNvbWUgb3RoZXIgcmVtb3RlIGRhdGEgc291cmNlLlxyXG4gICAgICpcclxuICAgICAqIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgb25jZSB3aGVuIHRoZSBBZG1pbiBVSSBhcHAgYm9vdHN0cmFwcywgYW5kIGNhbiBiZSBhbHNvXHJcbiAgICAgKiBzZXQgdG8gcnVuIGF0IHJlZ3VsYXIgaW50ZXJ2YWxzIGJ5IHNldHRpbmcgdGhlIGByZWNoZWNrSW50ZXJ2YWxNc2AgcHJvcGVydHkuXHJcbiAgICAgKi9cclxuICAgIGNoZWNrOiAoY29udGV4dDogQWxlcnRDb250ZXh0KSA9PiBUIHwgUHJvbWlzZTxUPiB8IE9ic2VydmFibGU8VD47XHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogQSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFuIE9ic2VydmFibGUgd2hpY2ggaXMgdXNlZCB0byBkZXRlcm1pbmUgd2hlbiB0byByZS1ydW4gdGhlIGBjaGVja2BcclxuICAgICAqIGZ1bmN0aW9uLiBXaGVuZXZlciB0aGUgb2JzZXJ2YWJsZSBlbWl0cywgdGhlIGBjaGVja2AgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgYWdhaW4uXHJcbiAgICAgKlxyXG4gICAgICogQSBiYXNpYyB0aW1lLWludGVydmFsLWJhc2VkIHJlY2hlY2sgY2FuIGJlIGFjaGlldmVkIGJ5IHVzaW5nIHRoZSBgaW50ZXJ2YWxgIGZ1bmN0aW9uIGZyb20gUnhKUy5cclxuICAgICAqXHJcbiAgICAgKiBAZXhhbXBsZVxyXG4gICAgICogYGBgdHNcclxuICAgICAqIGltcG9ydCB7IGludGVydmFsIH0gZnJvbSAncnhqcyc7XHJcbiAgICAgKlxyXG4gICAgICogLy8gLi4uXHJcbiAgICAgKiByZWNoZWNrOiAoKSA9PiBpbnRlcnZhbCg2MF8wMDApXHJcbiAgICAgKiBgYGBcclxuICAgICAqXHJcbiAgICAgKiBJZiB0aGlzIGlzIG5vdCBzZXQsIHRoZSBgY2hlY2tgIGZ1bmN0aW9uIHdpbGwgb25seSBiZSBjYWxsZWQgb25jZSB3aGVuIHRoZSBBZG1pbiBVSSBhcHAgYm9vdHN0cmFwcy5cclxuICAgICAqXHJcbiAgICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcclxuICAgICAqL1xyXG4gICAgcmVjaGVjaz86IChjb250ZXh0OiBBbGVydENvbnRleHQpID0+IE9ic2VydmFibGU8YW55PjtcclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBBIGZ1bmN0aW9uIHdoaWNoIGRldGVybWluZXMgd2hldGhlciB0aGUgYWxlcnQgc2hvdWxkIGJlIHNob3duIGJhc2VkIG9uIHRoZSBkYXRhIHJldHVybmVkIGJ5IHRoZSBgY2hlY2tgXHJcbiAgICAgKiBmdW5jdGlvbi5cclxuICAgICAqL1xyXG4gICAgaXNBbGVydDogKGRhdGE6IFQsIGNvbnRleHQ6IEFsZXJ0Q29udGV4dCkgPT4gYm9vbGVhbjtcclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBBIGZ1bmN0aW9uIHdoaWNoIGlzIGNhbGxlZCB3aGVuIHRoZSBhbGVydCBpcyBjbGlja2VkIGluIHRoZSBBZG1pbiBVSS5cclxuICAgICAqL1xyXG4gICAgYWN0aW9uOiAoZGF0YTogVCwgY29udGV4dDogQWxlcnRDb250ZXh0KSA9PiB2b2lkO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIEEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyB0aGUgdGV4dCB1c2VkIGluIHRoZSBVSSB0byBkZXNjcmliZSB0aGUgYWxlcnQuXHJcbiAgICAgKi9cclxuICAgIGxhYmVsOiAoXHJcbiAgICAgICAgZGF0YTogVCxcclxuICAgICAgICBjb250ZXh0OiBBbGVydENvbnRleHQsXHJcbiAgICApID0+IHsgdGV4dDogc3RyaW5nOyB0cmFuc2xhdGlvblZhcnM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB9IH07XHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogQSBsaXN0IG9mIHBlcm1pc3Npb25zIHdoaWNoIHRoZSBjdXJyZW50IEFkbWluaXN0cmF0b3IgbXVzdCBoYXZlIGluIG9yZGVyLiBJZiB0aGUgY3VycmVudFxyXG4gICAgICogQWRtaW5pc3RyYXRvciBkb2VzIG5vdCBoYXZlIHRoZXNlIHBlcm1pc3Npb25zLCBub25lIG9mIHRoZSBvdGhlciBhbGVydCBmdW5jdGlvbnMgd2lsbCBiZSBjYWxsZWQuXHJcbiAgICAgKi9cclxuICAgIHJlcXVpcmVkUGVybWlzc2lvbnM/OiBQZXJtaXNzaW9uW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZlQWxlcnQge1xyXG4gICAgaWQ6IHN0cmluZztcclxuICAgIHJ1bkFjdGlvbjogKCkgPT4gdm9pZDtcclxuICAgIGhhc1J1bjogYm9vbGVhbjtcclxuICAgIGxhYmVsOiB7IHRleHQ6IHN0cmluZzsgdHJhbnNsYXRpb25WYXJzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfSB9O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQWxlcnQ8VD4ge1xyXG4gICAgYWN0aXZlQWxlcnQkOiBPYnNlcnZhYmxlPEFjdGl2ZUFsZXJ0IHwgdW5kZWZpbmVkPjtcclxuICAgIHByaXZhdGUgaGFzUnVuJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG4gICAgcHJpdmF0ZSBkYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VCB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGNvbmZpZzogQWxlcnRDb25maWc8VD4sXHJcbiAgICAgICAgcHJpdmF0ZSBjb250ZXh0OiBBbGVydENvbnRleHQsXHJcbiAgICApIHtcclxuICAgICAgICBpZiAodGhpcy5jb25maWcucmVjaGVjaykge1xyXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuY29uZmlnLnJlY2hlY2sodGhpcy5jb250ZXh0KS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5ydW5DaGVjaygpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5hY3RpdmVBbGVydCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmRhdGEkLCB0aGlzLmhhc1J1biRdKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAoKFtkYXRhLCBoYXNSdW5dKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIWRhdGEpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb25zdCBpc0FsZXJ0ID0gdGhpcy5jb25maWcuaXNBbGVydChkYXRhLCB0aGlzLmNvbnRleHQpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFpc0FsZXJ0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICBpZDogdGhpcy5jb25maWcuaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgcnVuQWN0aW9uOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaGFzUnVuKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5hY3Rpb24oZGF0YSwgdGhpcy5jb250ZXh0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGFzUnVuJC5uZXh0KHRydWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICBoYXNSdW4sXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuY29uZmlnLmxhYmVsKGRhdGEsIHRoaXMuY29udGV4dCksXHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG4gICAgZ2V0IGlkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5pZDtcclxuICAgIH1cclxuICAgIHJ1bkNoZWNrKCkge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuY29uZmlnLmNoZWNrKHRoaXMuY29udGV4dCk7XHJcbiAgICAgICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpIHtcclxuICAgICAgICAgICAgcmVzdWx0LnRoZW4oZGF0YSA9PiB0aGlzLmRhdGEkLm5leHQoZGF0YSkpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaXNPYnNlcnZhYmxlKHJlc3VsdCkpIHtcclxuICAgICAgICAgICAgcmVzdWx0LnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKGRhdGEgPT4gdGhpcy5kYXRhJC5uZXh0KGRhdGEpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmRhdGEkLm5leHQocmVzdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5oYXNSdW4kLm5leHQoZmFsc2UpO1xyXG4gICAgfVxyXG5cclxuICAgIGRlc3Ryb3koKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbGVydHNTZXJ2aWNlIHtcclxuICAgIGFjdGl2ZUFsZXJ0cyQ6IE9ic2VydmFibGU8QWN0aXZlQWxlcnRbXT47XHJcbiAgICBwcml2YXRlIGFsZXJ0c01hcCA9IG5ldyBNYXA8c3RyaW5nLCBBbGVydDxhbnk+PigpO1xyXG4gICAgcHJpdmF0ZSBjb25maWdVcGRhdGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHBlcm1pc3Npb25zU2VydmljZTogUGVybWlzc2lvbnNTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlLFxyXG4gICAgKSB7XHJcbiAgICAgICAgY29uc3QgYWxlcnRzJCA9IHRoaXMuY29uZmlnVXBkYXRlZC5waXBlKFxyXG4gICAgICAgICAgICBtYXAoKCkgPT4gWy4uLnRoaXMuYWxlcnRzTWFwLnZhbHVlcygpXSksXHJcbiAgICAgICAgICAgIHN0YXJ0V2l0aChbLi4udGhpcy5hbGVydHNNYXAudmFsdWVzKCldKSxcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICB0aGlzLmFjdGl2ZUFsZXJ0cyQgPSBhbGVydHMkLnBpcGUoXHJcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBhbGVydHMgPSBbLi4udGhpcy5hbGVydHNNYXAudmFsdWVzKCldO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaXNBbGVydFN0cmVhbXMgPSBhbGVydHMubWFwKGFsZXJ0ID0+IGFsZXJ0LmFjdGl2ZUFsZXJ0JCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChpc0FsZXJ0U3RyZWFtcyk7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBtYXAoYWxlcnRTdGF0ZXMgPT4gYWxlcnRTdGF0ZXMuZmlsdGVyKG5vdE51bGxPclVuZGVmaW5lZCkpLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uZmlndXJlQWxlcnQ8VD4oY29uZmlnOiBBbGVydENvbmZpZzxUPikge1xyXG4gICAgICAgIHRoaXMuaGFzU3VmZmljaWVudFBlcm1pc3Npb25zKGNvbmZpZy5yZXF1aXJlZFBlcm1pc3Npb25zKVxyXG4gICAgICAgICAgICAucGlwZShmaXJzdCgpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGhhc1Blcm1pc3Npb25zID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChoYXNQZXJtaXNzaW9ucykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxlcnRzTWFwLnNldChjb25maWcuaWQsIG5ldyBBbGVydChjb25maWcsIHRoaXMuY3JlYXRlQ29udGV4dCgpKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWdVcGRhdGVkLm5leHQoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaGFzU3VmZmljaWVudFBlcm1pc3Npb25zKHBlcm1pc3Npb25zPzogUGVybWlzc2lvbltdKSB7XHJcbiAgICAgICAgaWYgKCFwZXJtaXNzaW9ucyB8fCBwZXJtaXNzaW9ucy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5wZXJtaXNzaW9uc1NlcnZpY2UuY3VycmVudFVzZXJQZXJtaXNzaW9ucyQucGlwZShcclxuICAgICAgICAgICAgZmlsdGVyKHBlcm1pc3Npb25zID0+IHBlcm1pc3Npb25zLmxlbmd0aCA+IDApLFxyXG4gICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5wZXJtaXNzaW9uc1NlcnZpY2UudXNlckhhc1Blcm1pc3Npb25zKHBlcm1pc3Npb25zKSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICByZWZyZXNoKGlkPzogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKGlkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWxlcnRzTWFwLmdldChpZCk/LnJ1bkNoZWNrKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5hbGVydHNNYXAuZm9yRWFjaChjb25maWcgPT4gY29uZmlnLnJ1bkNoZWNrKCkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjbGVhckFsZXJ0cygpIHtcclxuICAgICAgICB0aGlzLmFsZXJ0c01hcC5mb3JFYWNoKGFsZXJ0ID0+IGFsZXJ0LmRlc3Ryb3koKSk7XHJcbiAgICAgICAgdGhpcy5hbGVydHNNYXAuY2xlYXIoKTtcclxuICAgICAgICB0aGlzLmNvbmZpZ1VwZGF0ZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBjcmVhdGVDb250ZXh0KCk6IEFsZXJ0Q29udGV4dCB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IsXHJcbiAgICAgICAgICAgIGRhdGFTZXJ2aWNlOiB0aGlzLmRhdGFTZXJ2aWNlLFxyXG4gICAgICAgICAgICBub3RpZmljYXRpb25TZXJ2aWNlOiB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UsXHJcbiAgICAgICAgICAgIG1vZGFsU2VydmljZTogdGhpcy5tb2RhbFNlcnZpY2UsXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3Byb3ZpZGVycy9hbGVydHMvYWxlcnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQ0gsZUFBZSxFQUNmLGFBQWEsRUFDYixLQUFLLEVBQ0wsWUFBWSxFQUVaLEVBQUUsRUFDRixPQUFPLEVBRVAsU0FBUyxHQUNaLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFzSDlELE1BQU0sT0FBTyxLQUFLO0lBS2QsWUFDWSxNQUFzQixFQUN0QixPQUFxQjtRQURyQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixZQUFPLEdBQVAsT0FBTyxDQUFjO1FBTHpCLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxVQUFLLEdBQUcsSUFBSSxlQUFlLENBQWdCLFNBQVMsQ0FBQyxDQUFDO1FBTTFELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDM0YsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FB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QUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG5vdE51bGxPclVuZGVmaW5lZCB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXV0aWxzJztcbmltcG9ydCB7XG4gICAgQmVoYXZpb3JTdWJqZWN0LFxuICAgIGNvbWJpbmVMYXRlc3QsXG4gICAgZmlyc3QsXG4gICAgaXNPYnNlcnZhYmxlLFxuICAgIE9ic2VydmFibGUsXG4gICAgb2YsXG4gICAgU3ViamVjdCxcbiAgICBTdWJzY3JpcHRpb24sXG4gICAgc3dpdGNoTWFwLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBzdGFydFdpdGgsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uIH0gZnJvbSAnLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi9tb2RhbC9tb2RhbC5zZXJ2aWNlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGVybWlzc2lvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vcGVybWlzc2lvbnMvcGVybWlzc2lvbnMuc2VydmljZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBUaGUgY29udGV4dCBvYmplY3Qgd2hpY2ggaXMgcGFzc2VkIHRvIHRoZSBgY2hlY2tgLCBgaXNBbGVydGAsIGBsYWJlbGAgYW5kIGBhY3Rpb25gIGZ1bmN0aW9ucyBvZiBhblxuICoge0BsaW5rIEFsZXJ0Q29uZmlnfSBvYmplY3QuXG4gKlxuICogQHNpbmNlIDIuMi4wXG4gKiBAZG9jc0NhdGVnb3J5IGFsZXJ0c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFsZXJ0Q29udGV4dCB7XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogVGhlIEFuZ3VsYXIgW0luamVjdG9yXShodHRwczovL2FuZ3VsYXIuZGV2L2FwaS9jb3JlL0luamVjdG9yKSB3aGljaCBjYW4gYmUgdXNlZCB0byBnZXQgaW5zdGFuY2VzXG4gICAgICogb2Ygc2VydmljZXMgYW5kIG90aGVyIHByb3ZpZGVycyBhdmFpbGFibGUgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICAgICAqL1xuICAgIGluamVjdG9yOiBJbmplY3RvcjtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBUaGUgW0RhdGFTZXJ2aWNlXSgvcmVmZXJlbmNlL2FkbWluLXVpLWFwaS9zZXJ2aWNlcy9kYXRhLXNlcnZpY2UpLCB3aGljaCBwcm92aWRlcyBtZXRob2RzIGZvciBxdWVyeWluZyB0aGVcbiAgICAgKiBzZXJ2ZXItc2lkZSBkYXRhLlxuICAgICAqL1xuICAgIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZTtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBUaGUgW05vdGlmaWNhdGlvblNlcnZpY2VdKC9yZWZlcmVuY2UvYWRtaW4tdWktYXBpL3NlcnZpY2VzL25vdGlmaWNhdGlvbi1zZXJ2aWNlKSwgd2hpY2ggcHJvdmlkZXMgbWV0aG9kcyBmb3JcbiAgICAgKiBkaXNwbGF5aW5nIG5vdGlmaWNhdGlvbnMgdG8gdGhlIHVzZXIuXG4gICAgICovXG4gICAgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZTtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBUaGUgW01vZGFsU2VydmljZV0oL3JlZmVyZW5jZS9hZG1pbi11aS1hcGkvc2VydmljZXMvbW9kYWwtc2VydmljZSksIHdoaWNoIHByb3ZpZGVzIG1ldGhvZHMgZm9yXG4gICAgICogb3BlbmluZyBtb2RhbCBkaWFsb2dzLlxuICAgICAqL1xuICAgIG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogQSBjb25maWd1cmF0aW9uIG9iamVjdCBmb3IgYW4gQWRtaW4gVUkgYWxlcnQuXG4gKlxuICogQHNpbmNlIDIuMi4wXG4gKiBAZG9jc0NhdGVnb3J5IGFsZXJ0c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFsZXJ0Q29uZmlnPFQgPSBhbnk+IHtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBBIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgYWxlcnQuXG4gICAgICovXG4gICAgaWQ6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBBIGZ1bmN0aW9uIHdoaWNoIGlzIGdldHMgdGhlIGRhdGEgdXNlZCB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUgYWxlcnQgc2hvdWxkIGJlIHNob3duLlxuICAgICAqIFR5cGljYWxseSwgdGhpcyBmdW5jdGlvbiB3aWxsIHF1ZXJ5IHRoZSBzZXJ2ZXIgb3Igc29tZSBvdGhlciByZW1vdGUgZGF0YSBzb3VyY2UuXG4gICAgICpcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIG9uY2Ugd2hlbiB0aGUgQWRtaW4gVUkgYXBwIGJvb3RzdHJhcHMsIGFuZCBjYW4gYmUgYWxzb1xuICAgICAqIHNldCB0byBydW4gYXQgcmVndWxhciBpbnRlcnZhbHMgYnkgc2V0dGluZyB0aGUgYHJlY2hlY2tJbnRlcnZhbE1zYCBwcm9wZXJ0eS5cbiAgICAgKi9cbiAgICBjaGVjazogKGNvbnRleHQ6IEFsZXJ0Q29udGV4dCkgPT4gVCB8IFByb21pc2U8VD4gfCBPYnNlcnZhYmxlPFQ+O1xuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIEEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBhbiBPYnNlcnZhYmxlIHdoaWNoIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHdoZW4gdG8gcmUtcnVuIHRoZSBgY2hlY2tgXG4gICAgICogZnVuY3Rpb24uIFdoZW5ldmVyIHRoZSBvYnNlcnZhYmxlIGVtaXRzLCB0aGUgYGNoZWNrYCBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZCBhZ2Fpbi5cbiAgICAgKlxuICAgICAqIEEgYmFzaWMgdGltZS1pbnRlcnZhbC1iYXNlZCByZWNoZWNrIGNhbiBiZSBhY2hpZXZlZCBieSB1c2luZyB0aGUgYGludGVydmFsYCBmdW5jdGlvbiBmcm9tIFJ4SlMuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYHRzXG4gICAgICogaW1wb3J0IHsgaW50ZXJ2YWwgfSBmcm9tICdyeGpzJztcbiAgICAgKlxuICAgICAqIC8vIC4uLlxuICAgICAqIHJlY2hlY2s6ICgpID0+IGludGVydmFsKDYwXzAwMClcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIElmIHRoaXMgaXMgbm90IHNldCwgdGhlIGBjaGVja2AgZnVuY3Rpb24gd2lsbCBvbmx5IGJlIGNhbGxlZCBvbmNlIHdoZW4gdGhlIEFkbWluIFVJIGFwcCBib290c3RyYXBzLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAgICovXG4gICAgcmVjaGVjaz86IChjb250ZXh0OiBBbGVydENvbnRleHQpID0+IE9ic2VydmFibGU8YW55PjtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBBIGZ1bmN0aW9uIHdoaWNoIGRldGVybWluZXMgd2hldGhlciB0aGUgYWxlcnQgc2hvdWxkIGJlIHNob3duIGJhc2VkIG9uIHRoZSBkYXRhIHJldHVybmVkIGJ5IHRoZSBgY2hlY2tgXG4gICAgICogZnVuY3Rpb24uXG4gICAgICovXG4gICAgaXNBbGVydDogKGRhdGE6IFQsIGNvbnRleHQ6IEFsZXJ0Q29udGV4dCkgPT4gYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBBIGZ1bmN0aW9uIHdoaWNoIGlzIGNhbGxlZCB3aGVuIHRoZSBhbGVydCBpcyBjbGlja2VkIGluIHRoZSBBZG1pbiBVSS5cbiAgICAgKi9cbiAgICBhY3Rpb246IChkYXRhOiBULCBjb250ZXh0OiBBbGVydENvbnRleHQpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogQSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIHRoZSB0ZXh0IHVzZWQgaW4gdGhlIFVJIHRvIGRlc2NyaWJlIHRoZSBhbGVydC5cbiAgICAgKi9cbiAgICBsYWJlbDogKFxuICAgICAgICBkYXRhOiBULFxuICAgICAgICBjb250ZXh0OiBBbGVydENvbnRleHQsXG4gICAgKSA9PiB7IHRleHQ6IHN0cmluZzsgdHJhbnNsYXRpb25WYXJzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfSB9O1xuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIEEgbGlzdCBvZiBwZXJtaXNzaW9ucyB3aGljaCB0aGUgY3VycmVudCBBZG1pbmlzdHJhdG9yIG11c3QgaGF2ZSBpbiBvcmRlci4gSWYgdGhlIGN1cnJlbnRcbiAgICAgKiBBZG1pbmlzdHJhdG9yIGRvZXMgbm90IGhhdmUgdGhlc2UgcGVybWlzc2lvbnMsIG5vbmUgb2YgdGhlIG90aGVyIGFsZXJ0IGZ1bmN0aW9ucyB3aWxsIGJlIGNhbGxlZC5cbiAgICAgKi9cbiAgICByZXF1aXJlZFBlcm1pc3Npb25zPzogUGVybWlzc2lvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2ZUFsZXJ0IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHJ1bkFjdGlvbjogKCkgPT4gdm9pZDtcbiAgICBoYXNSdW46IGJvb2xlYW47XG4gICAgbGFiZWw6IHsgdGV4dDogc3RyaW5nOyB0cmFuc2xhdGlvblZhcnM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB9IH07XG59XG5cbmV4cG9ydCBjbGFzcyBBbGVydDxUPiB7XG4gICAgYWN0aXZlQWxlcnQkOiBPYnNlcnZhYmxlPEFjdGl2ZUFsZXJ0IHwgdW5kZWZpbmVkPjtcbiAgICBwcml2YXRlIGhhc1J1biQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgICBwcml2YXRlIGRhdGEkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY29uZmlnOiBBbGVydENvbmZpZzxUPixcbiAgICAgICAgcHJpdmF0ZSBjb250ZXh0OiBBbGVydENvbnRleHQsXG4gICAgKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5yZWNoZWNrKSB7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuY29uZmlnLnJlY2hlY2sodGhpcy5jb250ZXh0KS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5ydW5DaGVjaygpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFjdGl2ZUFsZXJ0JCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuZGF0YSQsIHRoaXMuaGFzUnVuJF0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFtkYXRhLCBoYXNSdW5dKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgaXNBbGVydCA9IHRoaXMuY29uZmlnLmlzQWxlcnQoZGF0YSwgdGhpcy5jb250ZXh0KTtcbiAgICAgICAgICAgICAgICBpZiAoIWlzQWxlcnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBpZDogdGhpcy5jb25maWcuaWQsXG4gICAgICAgICAgICAgICAgICAgIHJ1bkFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFoYXNSdW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5hY3Rpb24oZGF0YSwgdGhpcy5jb250ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhhc1J1biQubmV4dCh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgaGFzUnVuLFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy5jb25maWcubGFiZWwoZGF0YSwgdGhpcy5jb250ZXh0KSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuICAgIGdldCBpZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLmlkO1xuICAgIH1cbiAgICBydW5DaGVjaygpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5jb25maWcuY2hlY2sodGhpcy5jb250ZXh0KTtcbiAgICAgICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgICAgICAgIHJlc3VsdC50aGVuKGRhdGEgPT4gdGhpcy5kYXRhJC5uZXh0KGRhdGEpKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc09ic2VydmFibGUocmVzdWx0KSkge1xuICAgICAgICAgICAgcmVzdWx0LnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKGRhdGEgPT4gdGhpcy5kYXRhJC5uZXh0KGRhdGEpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YSQubmV4dChyZXN1bHQpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaGFzUnVuJC5uZXh0KGZhbHNlKTtcbiAgICB9XG5cbiAgICBkZXN0cm95KCkge1xuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFsZXJ0c1NlcnZpY2Uge1xuICAgIGFjdGl2ZUFsZXJ0cyQ6IE9ic2VydmFibGU8QWN0aXZlQWxlcnRbXT47XG4gICAgcHJpdmF0ZSBhbGVydHNNYXAgPSBuZXcgTWFwPHN0cmluZywgQWxlcnQ8YW55Pj4oKTtcbiAgICBwcml2YXRlIGNvbmZpZ1VwZGF0ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcGVybWlzc2lvbnNTZXJ2aWNlOiBQZXJtaXNzaW9uc1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBjb25zdCBhbGVydHMkID0gdGhpcy5jb25maWdVcGRhdGVkLnBpcGUoXG4gICAgICAgICAgICBtYXAoKCkgPT4gWy4uLnRoaXMuYWxlcnRzTWFwLnZhbHVlcygpXSksXG4gICAgICAgICAgICBzdGFydFdpdGgoWy4uLnRoaXMuYWxlcnRzTWFwLnZhbHVlcygpXSksXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5hY3RpdmVBbGVydHMkID0gYWxlcnRzJC5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBhbGVydHMgPSBbLi4udGhpcy5hbGVydHNNYXAudmFsdWVzKCldO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzQWxlcnRTdHJlYW1zID0gYWxlcnRzLm1hcChhbGVydCA9PiBhbGVydC5hY3RpdmVBbGVydCQpO1xuICAgICAgICAgICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KGlzQWxlcnRTdHJlYW1zKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbWFwKGFsZXJ0U3RhdGVzID0+IGFsZXJ0U3RhdGVzLmZpbHRlcihub3ROdWxsT3JVbmRlZmluZWQpKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25maWd1cmVBbGVydDxUPihjb25maWc6IEFsZXJ0Q29uZmlnPFQ+KSB7XG4gICAgICAgIHRoaXMuaGFzU3VmZmljaWVudFBlcm1pc3Npb25zKGNvbmZpZy5yZXF1aXJlZFBlcm1pc3Npb25zKVxuICAgICAgICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoaGFzUGVybWlzc2lvbnMgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChoYXNQZXJtaXNzaW9ucykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0c01hcC5zZXQoY29uZmlnLmlkLCBuZXcgQWxlcnQoY29uZmlnLCB0aGlzLmNyZWF0ZUNvbnRleHQoKSkpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZ1VwZGF0ZWQubmV4dCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGhhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucyhwZXJtaXNzaW9ucz86IFBlcm1pc3Npb25bXSkge1xuICAgICAgICBpZiAoIXBlcm1pc3Npb25zIHx8IHBlcm1pc3Npb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnBlcm1pc3Npb25zU2VydmljZS5jdXJyZW50VXNlclBlcm1pc3Npb25zJC5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKHBlcm1pc3Npb25zID0+IHBlcm1pc3Npb25zLmxlbmd0aCA+IDApLFxuICAgICAgICAgICAgbWFwKCgpID0+IHRoaXMucGVybWlzc2lvbnNTZXJ2aWNlLnVzZXJIYXNQZXJtaXNzaW9ucyhwZXJtaXNzaW9ucykpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJlZnJlc2goaWQ/OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKGlkKSB7XG4gICAgICAgICAgICB0aGlzLmFsZXJ0c01hcC5nZXQoaWQpPy5ydW5DaGVjaygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hbGVydHNNYXAuZm9yRWFjaChjb25maWcgPT4gY29uZmlnLnJ1bkNoZWNrKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xlYXJBbGVydHMoKSB7XG4gICAgICAgIHRoaXMuYWxlcnRzTWFwLmZvckVhY2goYWxlcnQgPT4gYWxlcnQuZGVzdHJveSgpKTtcbiAgICAgICAgdGhpcy5hbGVydHNNYXAuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5jb25maWdVcGRhdGVkLm5leHQoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQ29udGV4dCgpOiBBbGVydENvbnRleHQge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IsXG4gICAgICAgICAgICBkYXRhU2VydmljZTogdGhpcy5kYXRhU2VydmljZSxcbiAgICAgICAgICAgIG5vdGlmaWNhdGlvblNlcnZpY2U6IHRoaXMubm90aWZpY2F0aW9uU2VydmljZSxcbiAgICAgICAgICAgIG1vZGFsU2VydmljZTogdGhpcy5tb2RhbFNlcnZpY2UsXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
|
|
@@ -125,4 +125,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
125
125
|
providedIn: 'root',
|
|
126
126
|
}]
|
|
127
127
|
}], ctorParameters: () => [{ type: i1.LocalStorageService }, { type: i2.DataService }, { type: i3.ServerConfigService }, { type: i4.PermissionsService }, { type: i5.AlertsService }] });
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9wcm92aWRlcnMvYXV0aC9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RSxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFTM0U7O0dBRUc7QUFJSCxNQUFNLE9BQU8sV0FBVztJQUNwQixZQUNZLG1CQUF3QyxFQUN4QyxXQUF3QixFQUN4QixtQkFBd0MsRUFDeEMsa0JBQXNDLEVBQ3RDLFlBQTJCO1FBSjNCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGlCQUFZLEdBQVosWUFBWSxDQUFlO0lBQ3BDLENBQUM7SUFFSjs7O09BR0c7SUFDSCxLQUFLLENBQ0QsUUFBZ0IsRUFDaEIsUUFBZ0IsRUFDaEIsVUFBbUI7UUFFbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQzFFLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNqQixJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxLQUFLLGFBQWEsRUFBRSxDQUFDO2dCQUM5QyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbEQsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakYsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2QsSUFBSSxLQUFLLENBQUMsVUFBVSxLQUFLLGFBQWEsRUFBRSxDQUFDO2dCQUNyQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1RCxJQUFJLENBQUMsa0JBQWtCLENBQUMseUJBQXlCLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUM3RSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLHNCQUFzQixFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDdkUsU0FBUyxDQUFDLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxFQUFFLEVBQUU7b0JBQ2xDLElBQUksbUJBQW1CLEVBQUUsQ0FBQzt3QkFDdEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU07NkJBQ3pCLFlBQVksQ0FDVCxtQkFBbUIsQ0FBQyxFQUFFLEVBQ3RCLEdBQUcsbUJBQW1CLENBQUMsU0FBUyxJQUFJLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxFQUNsRSxhQUFhLENBQUMsRUFBRSxFQUNoQixLQUFLLENBQUMsUUFBUSxDQUNqQjs2QkFDQSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7b0JBQ2hDLENBQUM7eUJBQU0sQ0FBQzt3QkFDSixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDckIsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FDTCxDQUFDO1lBQ04sQ0FBQztZQUNELE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNO1FBQ0YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNwRCxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDZixJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQy9CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNO3FCQUN6QixNQUFNLEVBQUU7cUJBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDOUQsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE9BQU8sRUFBRSxDQUFDO1lBQ2QsQ0FBQztRQUNMLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FDbEIsQ0FBQztJQUNOLENBQUM7SUFFRDs7O09BR0c7SUFDSCx3QkFBd0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNwRCxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDOUIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNwQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEIsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsaUJBQWlCO1FBQ2IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNuRCxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7WUFDaEIsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNOLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBUSxDQUFDO1lBQzVCLENBQUM7WUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyx5QkFBeUIsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDN0UsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3ZFLFNBQVMsQ0FBQyxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxFQUFFO2dCQUNsQyxJQUFJLG1CQUFtQixFQUFFLENBQUM7b0JBQ3RCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNO3lCQUN6QixZQUFZLENBQ1QsbUJBQW1CLENBQUMsRUFBRSxFQUN0QixHQUFHLG1CQUFtQixDQUFDLFNBQVMsSUFBSSxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsRUFDbEUsYUFBYSxDQUFDLEVBQUUsRUFDaEIsRUFBRSxDQUFDLFFBQVEsQ0FDZDt5QkFDQSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQy9CLENBQUM7cUJBQU0sQ0FBQztvQkFDSixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckIsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUNMLENBQUM7UUFDTixDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQ2YsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQy9CLENBQUM7SUFDTixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsWUFBNkM7UUFDbEUsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDbEYsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO1lBQ3pCLE1BQU0saUJBQWlCLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssc0JBQXNCLENBQUMsQ0FBQztZQUNyRixJQUFJLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3BCLE9BQU8saUJBQWlCLENBQUM7WUFDN0IsQ0FBQztRQUNMLENBQUM7UUFDRCxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxvQkFBb0IsQ0FBQyxDQUFDO1FBQy9FLE9BQU8sY0FBYyxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU8sZUFBZSxDQUFDLFlBQTZDO1FBQ2pFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xHLENBQUM7K0dBeklRLFdBQVc7bUhBQVgsV0FBVyxjQUZSLE1BQU07OzRGQUVULFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBERUZBVUxUX0NIQU5ORUxfQ09ERSB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLWNvbnN0YW50cyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgbWVyZ2VNYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQXR0ZW1wdExvZ2luTXV0YXRpb24sIEN1cnJlbnRVc2VyRnJhZ21lbnQgfSBmcm9tICcuLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXJ2ZXJDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZGF0YS9zZXJ2ZXItY29uZmlnJztcclxuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL2xvY2FsLXN0b3JhZ2UvbG9jYWwtc3RvcmFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGVybWlzc2lvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vcGVybWlzc2lvbnMvcGVybWlzc2lvbnMuc2VydmljZSc7XHJcbmltcG9ydCB7IEFsZXJ0c1NlcnZpY2UgfSBmcm9tICcuLi9hbGVydHMvYWxlcnRzLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIFRoaXMgc2VydmljZSBoYW5kbGVzIGxvZ2ljIHJlbGF0aW5nIHRvIGF1dGhlbnRpY2F0aW9uIG9mIHRoZSBjdXJyZW50IHVzZXIuXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZSB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGxvY2FsU3RvcmFnZVNlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBzZXJ2ZXJDb25maWdTZXJ2aWNlOiBTZXJ2ZXJDb25maWdTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcGVybWlzc2lvbnNTZXJ2aWNlOiBQZXJtaXNzaW9uc1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0c1NlcnZpY2UsXHJcbiAgICApIHt9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBdHRlbXB0cyB0byBsb2cgaW4gdmlhIHRoZSBSRVNUIGxvZ2luIGVuZHBvaW50IGFuZCB1cGRhdGVzIHRoZSBhcHBcclxuICAgICAqIHN0YXRlIG9uIHN1Y2Nlc3MuXHJcbiAgICAgKi9cclxuICAgIGxvZ0luKFxyXG4gICAgICAgIHVzZXJuYW1lOiBzdHJpbmcsXHJcbiAgICAgICAgcGFzc3dvcmQ6IHN0cmluZyxcclxuICAgICAgICByZW1lbWJlck1lOiBib29sZWFuLFxyXG4gICAgKTogT2JzZXJ2YWJsZTxBdHRlbXB0TG9naW5NdXRhdGlvblsnbG9naW4nXT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLmF1dGguYXR0ZW1wdExvZ2luKHVzZXJuYW1lLCBwYXNzd29yZCwgcmVtZW1iZXJNZSkucGlwZShcclxuICAgICAgICAgICAgc3dpdGNoTWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5sb2dpbi5fX3R5cGVuYW1lID09PSAnQ3VycmVudFVzZXInKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRDaGFubmVsVG9rZW4ocmVzcG9uc2UubG9naW4uY2hhbm5lbHMpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2VydmVyQ29uZmlnU2VydmljZS5nZXRTZXJ2ZXJDb25maWcoKS50aGVuKCgpID0+IHJlc3BvbnNlLmxvZ2luKTtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIHN3aXRjaE1hcChsb2dpbiA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAobG9naW4uX190eXBlbmFtZSA9PT0gJ0N1cnJlbnRVc2VyJykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZUNoYW5uZWwgPSB0aGlzLmdldEFjdGl2ZUNoYW5uZWwobG9naW4uY2hhbm5lbHMpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbnNTZXJ2aWNlLnNldEN1cnJlbnRVc2VyUGVybWlzc2lvbnMoYWN0aXZlQ2hhbm5lbC5wZXJtaXNzaW9ucyk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UuYWRtaW5pc3RyYXRvci5nZXRBY3RpdmVBZG1pbmlzdHJhdG9yKCkuc2luZ2xlJC5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHsgYWN0aXZlQWRtaW5pc3RyYXRvciB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYWN0aXZlQWRtaW5pc3RyYXRvcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubG9naW5TdWNjZXNzKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlQWRtaW5pc3RyYXRvci5pZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke2FjdGl2ZUFkbWluaXN0cmF0b3IuZmlyc3ROYW1lfSAke2FjdGl2ZUFkbWluaXN0cmF0b3IubGFzdE5hbWV9YCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZUNoYW5uZWwuaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dpbi5jaGFubmVscyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucGlwZShtYXAoKCkgPT4gbG9naW4pKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGxvZ2luKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiBvZihsb2dpbik7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVcGRhdGUgdGhlIHVzZXIgc3RhdHVzIHRvIGJlaW5nIGxvZ2dlZCBvdXQuXHJcbiAgICAgKi9cclxuICAgIGxvZ091dCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kYXRhU2VydmljZS5jbGllbnQudXNlclN0YXR1cygpLnNpbmdsZSQucGlwZShcclxuICAgICAgICAgICAgc3dpdGNoTWFwKHN0YXR1cyA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoc3RhdHVzLnVzZXJTdGF0dXMuaXNMb2dnZWRJbikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAubG9nT3V0KClcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUobWVyZ2VNYXAoKCkgPT4gdGhpcy5kYXRhU2VydmljZS5hdXRoLmxvZ091dCgpKSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5jbGVhckFsZXJ0cygpO1xyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgbWFwKCgpID0+IHRydWUpLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDaGVja3MgdGhlIGFwcCBzdGF0ZSB0byBzZWUgaWYgdGhlIHVzZXIgaXMgYWxyZWFkeSBsb2dnZWQgaW4sXHJcbiAgICAgKiBhbmQgaWYgbm90LCBhdHRlbXB0cyB0byB2YWxpZGF0ZSBhbnkgYXV0aCB0b2tlbiBmb3VuZC5cclxuICAgICAqL1xyXG4gICAgY2hlY2tBdXRoZW50aWNhdGVkU3RhdHVzKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudC51c2VyU3RhdHVzKCkuc2luZ2xlJC5waXBlKFxyXG4gICAgICAgICAgICBtZXJnZU1hcChkYXRhID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICghZGF0YS51c2VyU3RhdHVzLmlzTG9nZ2VkSW4pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUF1dGhUb2tlbigpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDaGVja3MgZm9yIGFuIGF1dGggdG9rZW4gYW5kIGlmIGZvdW5kLCBhdHRlbXB0cyB0byB2YWxpZGF0ZVxyXG4gICAgICogdGhhdCB0b2tlbiBhZ2FpbnN0IHRoZSBBUEkuXHJcbiAgICAgKi9cclxuICAgIHZhbGlkYXRlQXV0aFRva2VuKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLmF1dGguY3VycmVudFVzZXIoKS5zaW5nbGUkLnBpcGUoXHJcbiAgICAgICAgICAgIG1lcmdlTWFwKCh7IG1lIH0pID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICghbWUpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpIGFzIGFueTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0Q2hhbm5lbFRva2VuKG1lLmNoYW5uZWxzKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZUNoYW5uZWwgPSB0aGlzLmdldEFjdGl2ZUNoYW5uZWwobWUuY2hhbm5lbHMpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9uc1NlcnZpY2Uuc2V0Q3VycmVudFVzZXJQZXJtaXNzaW9ucyhhY3RpdmVDaGFubmVsLnBlcm1pc3Npb25zKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLmFkbWluaXN0cmF0b3IuZ2V0QWN0aXZlQWRtaW5pc3RyYXRvcigpLnNpbmdsZSQucGlwZShcclxuICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHsgYWN0aXZlQWRtaW5pc3RyYXRvciB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhY3RpdmVBZG1pbmlzdHJhdG9yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRhU2VydmljZS5jbGllbnRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubG9naW5TdWNjZXNzKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVBZG1pbmlzdHJhdG9yLmlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHthY3RpdmVBZG1pbmlzdHJhdG9yLmZpcnN0TmFtZX0gJHthY3RpdmVBZG1pbmlzdHJhdG9yLmxhc3ROYW1lfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZUNoYW5uZWwuaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lLmNoYW5uZWxzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucGlwZShtYXAoKCkgPT4gdHJ1ZSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG1hcCgoKSA9PiB0cnVlKSxcclxuICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4gb2YoZmFsc2UpKSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0QWN0aXZlQ2hhbm5lbCh1c2VyQ2hhbm5lbHM6IEN1cnJlbnRVc2VyRnJhZ21lbnRbJ2NoYW5uZWxzJ10pIHtcclxuICAgICAgICBjb25zdCBsYXN0QWN0aXZlQ2hhbm5lbFRva2VuID0gdGhpcy5sb2NhbFN0b3JhZ2VTZXJ2aWNlLmdldCgnYWN0aXZlQ2hhbm5lbFRva2VuJyk7XHJcbiAgICAgICAgaWYgKGxhc3RBY3RpdmVDaGFubmVsVG9rZW4pIHtcclxuICAgICAgICAgICAgY29uc3QgbGFzdEFjdGl2ZUNoYW5uZWwgPSB1c2VyQ2hhbm5lbHMuZmluZChjID0+IGMudG9rZW4gPT09IGxhc3RBY3RpdmVDaGFubmVsVG9rZW4pO1xyXG4gICAgICAgICAgICBpZiAobGFzdEFjdGl2ZUNoYW5uZWwpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBsYXN0QWN0aXZlQ2hhbm5lbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBkZWZhdWx0Q2hhbm5lbCA9IHVzZXJDaGFubmVscy5maW5kKGMgPT4gYy5jb2RlID09PSBERUZBVUxUX0NIQU5ORUxfQ09ERSk7XHJcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRDaGFubmVsIHx8IHVzZXJDaGFubmVsc1swXTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldENoYW5uZWxUb2tlbih1c2VyQ2hhbm5lbHM6IEN1cnJlbnRVc2VyRnJhZ21lbnRbJ2NoYW5uZWxzJ10pIHtcclxuICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZVNlcnZpY2Uuc2V0KCdhY3RpdmVDaGFubmVsVG9rZW4nLCB0aGlzLmdldEFjdGl2ZUNoYW5uZWwodXNlckNoYW5uZWxzKS50b2tlbik7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9wcm92aWRlcnMvYXV0aC9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RSxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFTM0U7O0dBRUc7QUFJSCxNQUFNLE9BQU8sV0FBVztJQUNwQixZQUNZLG1CQUF3QyxFQUN4QyxXQUF3QixFQUN4QixtQkFBd0MsRUFDeEMsa0JBQXNDLEVBQ3RDLFlBQTJCO1FBSjNCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGlCQUFZLEdBQVosWUFBWSxDQUFlO0lBQ3BDLENBQUM7SUFFSjs7O09BR0c7SUFDSCxLQUFLLENBQ0QsUUFBZ0IsRUFDaEIsUUFBZ0IsRUFDaEIsVUFBbUI7UUFFbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQzFFLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNqQixJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxLQUFLLGFBQWEsRUFBRSxDQUFDO2dCQUM5QyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FB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SSxDQUFDLEVBQ2YsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQy9CLENBQUM7SUFDTixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsWUFBNkM7UUFDbEUsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDbEYsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO1lBQ3pCLE1BQU0saUJBQWlCLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssc0JBQXNCLENBQUMsQ0FBQztZQUNyRixJQUFJLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3BCLE9BQU8saUJBQWlCLENBQUM7WUFDN0IsQ0FBQztRQUNMLENBQUM7UUFDRCxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxvQkFBb0IsQ0FBQyxDQUFDO1FBQy9FLE9BQU8sY0FBYyxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU8sZUFBZSxDQUFDLFlBQTZDO1FBQ2pFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xHLENBQUM7K0dBeklRLFdBQVc7bUhBQVgsV0FBVyxjQUZSLE1BQU07OzRGQUVULFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgREVGQVVMVF9DSEFOTkVMX0NPREUgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC1jb25zdGFudHMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgbWVyZ2VNYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBBdHRlbXB0TG9naW5NdXRhdGlvbiwgQ3VycmVudFVzZXJGcmFnbWVudCB9IGZyb20gJy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VydmVyQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL2RhdGEvc2VydmVyLWNvbmZpZyc7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vbG9jYWwtc3RvcmFnZS9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGVybWlzc2lvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vcGVybWlzc2lvbnMvcGVybWlzc2lvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBBbGVydHNTZXJ2aWNlIH0gZnJvbSAnLi4vYWxlcnRzL2FsZXJ0cy5zZXJ2aWNlJztcblxuLyoqXG4gKiBUaGlzIHNlcnZpY2UgaGFuZGxlcyBsb2dpYyByZWxhdGluZyB0byBhdXRoZW50aWNhdGlvbiBvZiB0aGUgY3VycmVudCB1c2VyLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgbG9jYWxTdG9yYWdlU2VydmljZTogTG9jYWxTdG9yYWdlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgc2VydmVyQ29uZmlnU2VydmljZTogU2VydmVyQ29uZmlnU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBwZXJtaXNzaW9uc1NlcnZpY2U6IFBlcm1pc3Npb25zU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0c1NlcnZpY2UsXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICogQXR0ZW1wdHMgdG8gbG9nIGluIHZpYSB0aGUgUkVTVCBsb2dpbiBlbmRwb2ludCBhbmQgdXBkYXRlcyB0aGUgYXBwXG4gICAgICogc3RhdGUgb24gc3VjY2Vzcy5cbiAgICAgKi9cbiAgICBsb2dJbihcbiAgICAgICAgdXNlcm5hbWU6IHN0cmluZyxcbiAgICAgICAgcGFzc3dvcmQ6IHN0cmluZyxcbiAgICAgICAgcmVtZW1iZXJNZTogYm9vbGVhbixcbiAgICApOiBPYnNlcnZhYmxlPEF0dGVtcHRMb2dpbk11dGF0aW9uWydsb2dpbiddPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLmF1dGguYXR0ZW1wdExvZ2luKHVzZXJuYW1lLCBwYXNzd29yZCwgcmVtZW1iZXJNZSkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcChyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmxvZ2luLl9fdHlwZW5hbWUgPT09ICdDdXJyZW50VXNlcicpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRDaGFubmVsVG9rZW4ocmVzcG9uc2UubG9naW4uY2hhbm5lbHMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZXJ2ZXJDb25maWdTZXJ2aWNlLmdldFNlcnZlckNvbmZpZygpLnRoZW4oKCkgPT4gcmVzcG9uc2UubG9naW4pO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBzd2l0Y2hNYXAobG9naW4gPT4ge1xuICAgICAgICAgICAgICAgIGlmIChsb2dpbi5fX3R5cGVuYW1lID09PSAnQ3VycmVudFVzZXInKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZUNoYW5uZWwgPSB0aGlzLmdldEFjdGl2ZUNoYW5uZWwobG9naW4uY2hhbm5lbHMpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBlcm1pc3Npb25zU2VydmljZS5zZXRDdXJyZW50VXNlclBlcm1pc3Npb25zKGFjdGl2ZUNoYW5uZWwucGVybWlzc2lvbnMpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRhU2VydmljZS5hZG1pbmlzdHJhdG9yLmdldEFjdGl2ZUFkbWluaXN0cmF0b3IoKS5zaW5nbGUkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHsgYWN0aXZlQWRtaW5pc3RyYXRvciB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFjdGl2ZUFkbWluaXN0cmF0b3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubG9naW5TdWNjZXNzKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZUFkbWluaXN0cmF0b3IuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7YWN0aXZlQWRtaW5pc3RyYXRvci5maXJzdE5hbWV9ICR7YWN0aXZlQWRtaW5pc3RyYXRvci5sYXN0TmFtZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZUNoYW5uZWwuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9naW4uY2hhbm5lbHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucGlwZShtYXAoKCkgPT4gbG9naW4pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YobG9naW4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2YobG9naW4pO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlIHRoZSB1c2VyIHN0YXR1cyB0byBiZWluZyBsb2dnZWQgb3V0LlxuICAgICAqL1xuICAgIGxvZ091dCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50LnVzZXJTdGF0dXMoKS5zaW5nbGUkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoc3RhdHVzID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoc3RhdHVzLnVzZXJTdGF0dXMuaXNMb2dnZWRJbikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRhU2VydmljZS5jbGllbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIC5sb2dPdXQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUobWVyZ2VNYXAoKCkgPT4gdGhpcy5kYXRhU2VydmljZS5hdXRoLmxvZ091dCgpKSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5jbGVhckFsZXJ0cygpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYXAoKCkgPT4gdHJ1ZSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIHRoZSBhcHAgc3RhdGUgdG8gc2VlIGlmIHRoZSB1c2VyIGlzIGFscmVhZHkgbG9nZ2VkIGluLFxuICAgICAqIGFuZCBpZiBub3QsIGF0dGVtcHRzIHRvIHZhbGlkYXRlIGFueSBhdXRoIHRva2VuIGZvdW5kLlxuICAgICAqL1xuICAgIGNoZWNrQXV0aGVudGljYXRlZFN0YXR1cygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50LnVzZXJTdGF0dXMoKS5zaW5nbGUkLnBpcGUoXG4gICAgICAgICAgICBtZXJnZU1hcChkYXRhID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWRhdGEudXNlclN0YXR1cy5pc0xvZ2dlZEluKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlQXV0aFRva2VuKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBmb3IgYW4gYXV0aCB0b2tlbiBhbmQgaWYgZm91bmQsIGF0dGVtcHRzIHRvIHZhbGlkYXRlXG4gICAgICogdGhhdCB0b2tlbiBhZ2FpbnN0IHRoZSBBUEkuXG4gICAgICovXG4gICAgdmFsaWRhdGVBdXRoVG9rZW4oKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLmF1dGguY3VycmVudFVzZXIoKS5zaW5nbGUkLnBpcGUoXG4gICAgICAgICAgICBtZXJnZU1hcCgoeyBtZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFtZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpIGFzIGFueTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRDaGFubmVsVG9rZW4obWUuY2hhbm5lbHMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZUNoYW5uZWwgPSB0aGlzLmdldEFjdGl2ZUNoYW5uZWwobWUuY2hhbm5lbHMpO1xuICAgICAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbnNTZXJ2aWNlLnNldEN1cnJlbnRVc2VyUGVybWlzc2lvbnMoYWN0aXZlQ2hhbm5lbC5wZXJtaXNzaW9ucyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UuYWRtaW5pc3RyYXRvci5nZXRBY3RpdmVBZG1pbmlzdHJhdG9yKCkuc2luZ2xlJC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHsgYWN0aXZlQWRtaW5pc3RyYXRvciB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYWN0aXZlQWRtaW5pc3RyYXRvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubG9naW5TdWNjZXNzKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlQWRtaW5pc3RyYXRvci5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke2FjdGl2ZUFkbWluaXN0cmF0b3IuZmlyc3ROYW1lfSAke2FjdGl2ZUFkbWluaXN0cmF0b3IubGFzdE5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZUNoYW5uZWwuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZS5jaGFubmVscyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucGlwZShtYXAoKCkgPT4gdHJ1ZSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYXAoKCkgPT4gdHJ1ZSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKGVyciA9PiBvZihmYWxzZSkpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QWN0aXZlQ2hhbm5lbCh1c2VyQ2hhbm5lbHM6IEN1cnJlbnRVc2VyRnJhZ21lbnRbJ2NoYW5uZWxzJ10pIHtcbiAgICAgICAgY29uc3QgbGFzdEFjdGl2ZUNoYW5uZWxUb2tlbiA9IHRoaXMubG9jYWxTdG9yYWdlU2VydmljZS5nZXQoJ2FjdGl2ZUNoYW5uZWxUb2tlbicpO1xuICAgICAgICBpZiAobGFzdEFjdGl2ZUNoYW5uZWxUb2tlbikge1xuICAgICAgICAgICAgY29uc3QgbGFzdEFjdGl2ZUNoYW5uZWwgPSB1c2VyQ2hhbm5lbHMuZmluZChjID0+IGMudG9rZW4gPT09IGxhc3RBY3RpdmVDaGFubmVsVG9rZW4pO1xuICAgICAgICAgICAgaWYgKGxhc3RBY3RpdmVDaGFubmVsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGxhc3RBY3RpdmVDaGFubmVsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRlZmF1bHRDaGFubmVsID0gdXNlckNoYW5uZWxzLmZpbmQoYyA9PiBjLmNvZGUgPT09IERFRkFVTFRfQ0hBTk5FTF9DT0RFKTtcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRDaGFubmVsIHx8IHVzZXJDaGFubmVsc1swXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldENoYW5uZWxUb2tlbih1c2VyQ2hhbm5lbHM6IEN1cnJlbnRVc2VyRnJhZ21lbnRbJ2NoYW5uZWxzJ10pIHtcbiAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2VTZXJ2aWNlLnNldCgnYWN0aXZlQ2hhbm5lbFRva2VuJywgdGhpcy5nZXRBY3RpdmVDaGFubmVsKHVzZXJDaGFubmVscykudG9rZW4pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -40,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
40
40
|
providedIn: 'root',
|
|
41
41
|
}]
|
|
42
42
|
}], ctorParameters: () => [{ type: i1.LocalStorageService }] });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvcHJvdmlkZXJzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLHNCQUFzQjtJQUMvQixZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtJQUFHLENBQUM7SUFJaEUsU0FBUyxDQUFDLFdBQW9CO1FBQzFCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDOUUsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNkLE9BQU8sQ0FDSCxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUk7Z0JBQzVCLFVBQVUsRUFBRSxFQUFFO2dCQUNkLEtBQUssRUFBRSxFQUFFO2dCQUNULG1CQUFtQixFQUFFLEtBQUs7Z0JBQzFCLGFBQWEsRUFBRSxFQUFFO2FBQ3BCLENBQ0osQ0FBQztRQUNOLENBQUM7UUFDRCxPQUFPLGVBQWUsQ0FBQztJQUMzQixDQUFDO0lBSUQsU0FBUyxDQUFDLFVBQW9DLEVBQUUsV0FBcUM7UUFDakYsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3ZDLElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDakMsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDZCxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFO29CQUM1QyxHQUFHLGFBQWE7b0JBQ2hCLENBQUMsVUFBVSxDQUFDLEVBQUUsV0FBVztpQkFDNUIsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLEdBQUcsYUFBYSxFQUFFLEdBQUcsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUN6RixDQUFDO0lBQ0wsQ0FBQzsrR0FsQ1Esc0JBQXNCO21IQUF0QixzQkFBc0IsY0FGbkIsTUFBTTs7NEZBRVQsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFUYWJsZUNvbmZpZywgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL2xvY2FsLXN0b3JhZ2UvbG9jYWwtc3RvcmFnZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YVRhYmxlQ29uZmlnU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2NhbFN0b3JhZ2VTZXJ2aWNlOiBMb2NhbFN0b3JhZ2VTZXJ2aWNlKSB7fVxuXG4gICAgZ2V0Q29uZmlnKCk6IERhdGFUYWJsZUNvbmZpZztcbiAgICBnZXRDb25maWcoZGF0YVRhYmxlSWQ6IHN0cmluZyk6IERhdGFUYWJsZUNvbmZpZ1tzdHJpbmddO1xuICAgIGdldENvbmZpZyhkYXRhVGFibGVJZD86IHN0cmluZyk6IERhdGFUYWJsZUNvbmZpZ1tzdHJpbmddIHwgRGF0YVRhYmxlQ29uZmlnIHtcbiAgICAgICAgY29uc3QgZGF0YVRhYmxlQ29uZmlnID0gdGhpcy5sb2NhbFN0b3JhZ2VTZXJ2aWNlLmdldCgnZGF0YVRhYmxlQ29uZmlnJykgPz8ge307XG4gICAgICAgIGlmIChkYXRhVGFibGVJZCkge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICBkYXRhVGFibGVDb25maWdbZGF0YVRhYmxlSWRdID8/IHtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogW10sXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiB7fSxcbiAgICAgICAgICAgICAgICAgICAgc2hvd1NlYXJjaEZpbHRlclJvdzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlclByZXNldHM6IFtdLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRhdGFUYWJsZUNvbmZpZztcbiAgICB9XG5cbiAgICBzZXRDb25maWcoZGF0YVRhYmxlSWQ6IHN0cmluZywgY29uZmlnOiBEYXRhVGFibGVDb25maWdbc3RyaW5nXSk6IHZvaWQ7XG4gICAgc2V0Q29uZmlnKGRhdGFUYWJsZUNvbmZpZzogRGF0YVRhYmxlQ29uZmlnKTogdm9pZDtcbiAgICBzZXRDb25maWcoaWRPckNvbmZpZzogc3RyaW5nIHwgRGF0YVRhYmxlQ29uZmlnLCBtYXliZUNvbmZpZz86IERhdGFUYWJsZUNvbmZpZ1tzdHJpbmddKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRDb25maWcgPSB0aGlzLmdldENvbmZpZygpO1xuICAgICAgICBpZiAodHlwZW9mIGlkT3JDb25maWcgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBpZiAobWF5YmVDb25maWcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZVNlcnZpY2Uuc2V0KCdkYXRhVGFibGVDb25maWcnLCB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmN1cnJlbnRDb25maWcsXG4gICAgICAgICAgICAgICAgICAgIFtpZE9yQ29uZmlnXTogbWF5YmVDb25maWcsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZVNlcnZpY2Uuc2V0KCdkYXRhVGFibGVDb25maWcnLCB7IC4uLmN1cnJlbnRDb25maWcsIC4uLmlkT3JDb25maWcgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -297,4 +297,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
297
297
|
type: ContentChildren,
|
|
298
298
|
args: [TemplateRef]
|
|
299
299
|
}] } });
|
|
300
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZTIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvY29tcG9uZW50cy9kYXRhLXRhYmxlLTIvZGF0YS10YWJsZTIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvY29tcG9uZW50cy9kYXRhLXRhYmxlLTIvZGF0YS10YWJsZTIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBR0wsTUFBTSxFQUdOLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBRWpHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRXpGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFFLE9BQU8sRUFFSCwrQkFBK0IsR0FFbEMsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNqRyxPQUFPLEVBQUUs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QW5CLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFFcUMsT0FBTztzQkFBbEQsZUFBZTt1QkFBQyx5QkFBeUI7Z0JBRTFDLGtCQUFrQjtzQkFEakIsZUFBZTt1QkFBQyxtQ0FBbUM7Z0JBRVgsZUFBZTtzQkFBdkQsWUFBWTt1QkFBQyx5QkFBeUI7Z0JBQ0EsdUJBQXVCO3NCQUE3RCxZQUFZO3VCQUFDLHVCQUF1QjtnQkFDRCxvQkFBb0I7c0JBQXZELFlBQVk7dUJBQUMsb0JBQW9CO2dCQUNKLFlBQVk7c0JBQXpDLGVBQWU7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBBZnRlckNvbnRlbnRJbml0LFxyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIENvbXBvbmVudCxcclxuICAgIENvbnRlbnRDaGlsZCxcclxuICAgIENvbnRlbnRDaGlsZHJlbixcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIGluamVjdCxcclxuICAgIEluamVjdG9yLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkNoYW5nZXMsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPdXRwdXQsXHJcbiAgICBRdWVyeUxpc3QsXHJcbiAgICBTaW1wbGVDaGFuZ2VzLFxyXG4gICAgVGVtcGxhdGVSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgUGFnaW5hdGlvblNlcnZpY2UgfSBmcm9tICduZ3gtcGFnaW5hdGlvbic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBMYW5ndWFnZUNvZGUgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEYXRhVGFibGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFUYWJsZUZpbHRlckNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLWZpbHRlci1jb2xsZWN0aW9uJztcclxuaW1wb3J0IHsgQnVsa0FjdGlvbk1lbnVDb21wb25lbnQgfSBmcm9tICcuLi9idWxrLWFjdGlvbi1tZW51L2J1bGstYWN0aW9uLW1lbnUuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IEZpbHRlclByZXNldFNlcnZpY2UgfSBmcm9tICcuLi9kYXRhLXRhYmxlLWZpbHRlci1wcmVzZXRzL2ZpbHRlci1wcmVzZXQuc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFUYWJsZTJDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL2RhdGEtdGFibGUtY29sdW1uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBEYXRhVGFibGVDb21wb25lbnRDb25maWcsXHJcbiAgICBEYXRhVGFibGVDdXN0b21Db21wb25lbnRTZXJ2aWNlLFxyXG4gICAgRGF0YVRhYmxlTG9jYXRpb25JZCxcclxufSBmcm9tICcuL2RhdGEtdGFibGUtY3VzdG9tLWNvbXBvbmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGF0YVRhYmxlQ3VzdG9tRmllbGRDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL2RhdGEtdGFibGUtY3VzdG9tLWZpZWxkLWNvbHVtbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRhVGFibGUyU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXRhYmxlLXNlYXJjaC5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBBIHRhYmxlIGZvciBkaXNwbGF5aW5nIFBhZ2luYXRlZExpc3QgcmVzdWx0cy4gSXQgaXMgZGVzaWduZWQgdG8gYmUgdXNlZCBpbnNpZGUgY29tcG9uZW50cyB3aGljaFxyXG4gKiBleHRlbmQgdGhlIHtAbGluayBCYXNlTGlzdENvbXBvbmVudH0gb3Ige0BsaW5rIFR5cGVkQmFzZUxpc3RDb21wb25lbnR9IGNsYXNzLlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGBodG1sXHJcbiAqIDx2ZHItZGF0YS10YWJsZS0yXHJcbiAqICAgICBpZD1cInByb2R1Y3QtcmV2aWV3LWxpc3RcIlxyXG4gKiAgICAgW2l0ZW1zXT1cIml0ZW1zJCB8IGFzeW5jXCJcclxuICogICAgIFtpdGVtc1BlclBhZ2VdPVwiaXRlbXNQZXJQYWdlJCB8IGFzeW5jXCJcclxuICogICAgIFt0b3RhbEl0ZW1zXT1cInRvdGFsSXRlbXMkIHwgYXN5bmNcIlxyXG4gKiAgICAgW2N1cnJlbnRQYWdlXT1cImN1cnJlbnRQYWdlJCB8IGFzeW5jXCJcclxuICogICAgIFtmaWx0ZXJzXT1cImZpbHRlcnNcIlxyXG4gKiAgICAgKHBhZ2VDaGFuZ2UpPVwic2V0UGFnZU51bWJlcigkZXZlbnQpXCJcclxuICogICAgIChpdGVtc1BlclBhZ2VDaGFuZ2UpPVwic2V0SXRlbXNQZXJQYWdlKCRldmVudClcIlxyXG4gKiA+XHJcbiAqICAgICA8dmRyLWJ1bGstYWN0aW9uLW1lbnVcclxuICogICAgICAgICBsb2NhdGlvbklkPVwicHJvZHVjdC1yZXZpZXctbGlzdFwiXHJcbiAqICAgICAgICAgW2hvc3RDb21wb25lbnRdPVwidGhpc1wiXHJcbiAqICAgICAgICAgW3NlbGVjdGlvbk1hbmFnZXJdPVwic2VsZWN0aW9uTWFuYWdlclwiXHJcbiAqICAgICAvPlxyXG4gKiAgICAgPHZkci1kdDItc2VhcmNoXHJcbiAqICAgICAgICAgW3NlYXJjaFRlcm1Db250cm9sXT1cInNlYXJjaFRlcm1Db250cm9sXCJcclxuICogICAgICAgICBzZWFyY2hUZXJtUGxhY2Vob2xkZXI9XCJGaWx0ZXIgYnkgdGl0bGVcIlxyXG4gKiAgICAgLz5cclxuICogICAgIDx2ZHItZHQyLWNvbHVtbiBbaGVhZGluZ109XCInY29tbW9uLmlkJyB8IHRyYW5zbGF0ZVwiIFtoaWRkZW5CeURlZmF1bHRdPVwidHJ1ZVwiPlxyXG4gKiAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcmV2aWV3PVwiaXRlbVwiPlxyXG4gKiAgICAgICAgICAgICB7eyByZXZpZXcuaWQgfX1cclxuICogICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gKiAgICAgPC92ZHItZHQyLWNvbHVtbj5cclxuICogICAgIDx2ZHItZHQyLWNvbHVtblxyXG4gKiAgICAgICAgIFtoZWFkaW5nXT1cIidjb21tb24uY3JlYXRlZC1hdCcgfCB0cmFuc2xhdGVcIlxyXG4gKiAgICAgICAgIFtoaWRkZW5CeURlZmF1bHRdPVwidHJ1ZVwiXHJcbiAqICAgICAgICAgW3NvcnRdPVwic29ydHMuZ2V0KCdjcmVhdGVkQXQnKVwiXHJcbiAqICAgICA+XHJcbiAqICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yZXZpZXc9XCJpdGVtXCI+XHJcbiAqICAgICAgICAgICAgIHt7IHJldmlldy5jcmVhdGVkQXQgfCBsb2NhbGVEYXRlIDogJ3Nob3J0JyB9fVxyXG4gKiAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAqICAgICA8L3Zkci1kdDItY29sdW1uPlxyXG4gKiAgICAgPHZkci1kdDItY29sdW1uXHJcbiAqICAgICAgICAgW2hlYWRpbmddPVwiJ2NvbW1vbi51cGRhdGVkLWF0JyB8IHRyYW5zbGF0ZVwiXHJcbiAqICAgICAgICAgW2hpZGRlbkJ5RGVmYXVsdF09XCJ0cnVlXCJcclxuICogICAgICAgICBbc29ydF09XCJzb3J0cy5nZXQoJ3VwZGF0ZWRBdCcpXCJcclxuICogICAgID5cclxuICogICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJldmlldz1cIml0ZW1cIj5cclxuICogICAgICAgICAgICAge3sgcmV2aWV3LnVwZGF0ZWRBdCB8IGxvY2FsZURhdGUgOiAnc2hvcnQnIH19XHJcbiAqICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICogICAgIDwvdmRyLWR0Mi1jb2x1bW4+XHJcbiAqICAgICA8dmRyLWR0Mi1jb2x1bW4gW2hlYWRpbmddPVwiJ2NvbW1vbi5uYW1lJyB8IHRyYW5zbGF0ZVwiIFtvcHRpb25hbF09XCJmYWxzZVwiIFtzb3J0XT1cInNvcnRzLmdldCgnbmFtZScpXCI+XHJcbiAqICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yZXZpZXc9XCJpdGVtXCI+XHJcbiAqICAgICAgICAgICAgIDxhIGNsYXNzPVwiYnV0dG9uLWdob3N0XCIgW3JvdXRlckxpbmtdPVwiWycuLycsIHJldmlldy5pZF1cIlxyXG4gKiAgICAgICAgICAgICAgICAgPjxzcGFuPnt7IHJldmlldy5uYW1lIH19PC9zcGFuPlxyXG4gKiAgICAgICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwiYXJyb3cgcmlnaHRcIj48L2Nsci1pY29uPlxyXG4gKiAgICAgICAgICAgICA8L2E+XHJcbiAqICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICogICAgIDwvdmRyLWR0Mi1jb2x1bW4+XHJcbiAqIDwvdmRyLWRhdGEtdGFibGUtMj5cclxuICogYGBgXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgY29tcG9uZW50c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1kYXRhLXRhYmxlLTInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICdkYXRhLXRhYmxlMi5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnZGF0YS10YWJsZTIuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgcHJvdmlkZXJzOiBbUGFnaW5hdGlvblNlcnZpY2UsIEZpbHRlclByZXNldFNlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0YVRhYmxlMkNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICAgIEBJbnB1dCgpIGlkOiBEYXRhVGFibGVMb2NhdGlvbklkO1xyXG4gICAgQElucHV0KCkgaXRlbXM6IFRbXTtcclxuICAgIEBJbnB1dCgpIGl0ZW1zUGVyUGFnZTogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgY3VycmVudFBhZ2U6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIHRvdGFsSXRlbXM6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIGVtcHR5U3RhdGVMYWJlbDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgZmlsdGVyczogRGF0YVRhYmxlRmlsdGVyQ29sbGVjdGlvbjtcclxuICAgIEBJbnB1dCgpIGFjdGl2ZUluZGV4ID0gLTE7XHJcbiAgICBAT3V0cHV0KCkgcGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gICAgQE91dHB1dCgpIGl0ZW1zUGVyUGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gICAgQE91dHB1dCgpIHZpc2libGVDb2x1bW5zQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxBcnJheTxEYXRhVGFibGUyQ29sdW1uQ29tcG9uZW50PFQ+Pj4oKTtcclxuXHJcbiAgICBAQ29udGVudENoaWxkcmVuKERhdGFUYWJsZTJDb2x1bW5Db21wb25lbnQpIGNvbHVtbnM6IFF1ZXJ5TGlzdDxEYXRhVGFibGUyQ29sdW1uQ29tcG9uZW50PFQ+PjtcclxuICAgIEBDb250ZW50Q2hpbGRyZW4oRGF0YVRhYmxlQ3VzdG9tRmllbGRDb2x1bW5Db21wb25lbnQpXHJcbiAgICBjdXN0b21GaWVsZENvbHVtbnM6IFF1ZXJ5TGlzdDxEYXRhVGFibGVDdXN0b21GaWVsZENvbHVtbkNvbXBvbmVudDxUPj47XHJcbiAgICBAQ29udGVudENoaWxkKERhdGFUYWJsZTJTZWFyY2hDb21wb25lbnQpIHNlYXJjaENvbXBvbmVudDogRGF0YVRhYmxlMlNlYXJjaENvbXBvbmVudDtcclxuICAgIEBDb250ZW50Q2hpbGQoQnVsa0FjdGlvbk1lbnVDb21wb25lbnQpIGJ1bGtBY3Rpb25NZW51Q29tcG9uZW50OiBCdWxrQWN0aW9uTWVudUNvbXBvbmVudDtcclxuICAgIEBDb250ZW50Q2hpbGQoJ3ZkckR0MkN1c3RvbVNlYXJjaCcpIGN1c3RvbVNlYXJjaFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gICAgQENvbnRlbnRDaGlsZHJlbihUZW1wbGF0ZVJlZikgdGVtcGxhdGVSZWZzOiBRdWVyeUxpc3Q8VGVtcGxhdGVSZWY8YW55Pj47XHJcblxyXG4gICAgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xyXG4gICAgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xyXG4gICAgZmlsdGVyUHJlc2V0U2VydmljZSA9IGluamVjdChGaWx0ZXJQcmVzZXRTZXJ2aWNlKTtcclxuICAgIGRhdGFUYWJsZUN1c3RvbUNvbXBvbmVudFNlcnZpY2UgPSBpbmplY3QoRGF0YVRhYmxlQ3VzdG9tQ29tcG9uZW50U2VydmljZSk7XHJcbiAgICBkYXRhVGFibGVDb25maWdTZXJ2aWNlID0gaW5qZWN0KERhdGFUYWJsZUNvbmZpZ1NlcnZpY2UpO1xyXG4gICAgcHJvdGVjdGVkIGN1c3RvbUNvbXBvbmVudHMgPSBuZXcgTWFwPHN0cmluZywgeyBjb25maWc6IERhdGFUYWJsZUNvbXBvbmVudENvbmZpZzsgaW5qZWN0b3I6IEluamVjdG9yIH0+KCk7XHJcblxyXG4gICAgcm93VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgICBjdXJyZW50U3RhcnQ6IG51bWJlcjtcclxuICAgIGN1cnJlbnRFbmQ6IG51bWJlcjtcclxuICAgIC8vIFRoaXMgaXMgdXNlZCB0byBhcHBseSBhIGB1c2VyLXNlbGVjdDogbm9uZWAgQ1NTIHJ1bGUgdG8gdGhlIHRhYmxlLFxyXG4gICAgLy8gd2hpY2ggYWxsb3dzIHNoaWZ0LWNsaWNrIG11bHRpLXJvdyBzZWxlY3Rpb25cclxuICAgIGRpc2FibGVTZWxlY3QgPSBmYWxzZTtcclxuICAgIHNob3dTZWFyY2hGaWx0ZXJSb3cgPSBmYWxzZTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgdWlMYW5ndWFnZSQ6IE9ic2VydmFibGU8TGFuZ3VhZ2VDb2RlPjtcclxuICAgIHByb3RlY3RlZCBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBwcm90ZWN0ZWQgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy51aUxhbmd1YWdlJCA9IHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50XHJcbiAgICAgICAgICAgIC51aVN0YXRlKClcclxuICAgICAgICAgICAgLnN0cmVhbSQucGlwZShtYXAoKHsgdWlTdGF0ZSB9KSA9PiB1aVN0YXRlLmxhbmd1YWdlKSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHNlbGVjdGlvbk1hbmFnZXIoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVsa0FjdGlvbk1lbnVDb21wb25lbnQ/LnNlbGVjdGlvbk1hbmFnZXI7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGFsbENvbHVtbnMoKSB7XHJcbiAgICAgICAgcmV0dXJuIFsuLi4odGhpcy5jb2x1bW5zID8/IFtdKSwgLi4uKHRoaXMuY3VzdG9tRmllbGRDb2x1bW5zID8/IFtdKV07XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHZpc2libGVTb3J0ZWRDb2x1bW5zKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNvcnRlZENvbHVtbnMuZmlsdGVyKGMgPT4gYy52aXNpYmxlKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgc29ydGVkQ29sdW1ucygpIHtcclxuICAgICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5hbGxDb2x1bW5zO1xyXG4gICAgICAgIGNvbnN0IGRhdGFUYWJsZUNvbmZpZyA9IHRoaXMuZGF0YVRhYmxlQ29uZmlnU2VydmljZS5nZXRDb25maWcodGhpcy5pZCk7XHJcbiAgICAgICAgZm9yIChjb25zdCBbaWQsIGluZGV4XSBvZiBPYmplY3QuZW50cmllcyhkYXRhVGFibGVDb25maWcub3JkZXIpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbHVtbiA9IGNvbHVtbnMuZmluZChjID0+IGMuaWQgPT09IGlkKTtcclxuICAgICAgICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gY29sdW1ucy5maW5kSW5kZXgoYyA9PiBjLmlkID09PSBpZCk7XHJcbiAgICAgICAgICAgIGlmIChjdXJyZW50SW5kZXggIT09IC0xICYmIGNvbHVtbikge1xyXG4gICAgICAgICAgICAgICAgY29sdW1ucy5zcGxpY2UoY3VycmVudEluZGV4LCAxKTtcclxuICAgICAgICAgICAgICAgIGNvbHVtbnMuc3BsaWNlKGluZGV4LCAwLCBjb2x1bW4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBjb2x1bW5zO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2hpZnREb3duSGFuZGxlciA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xyXG4gICAgICAgIGlmIChldmVudC5zaGlmdEtleSAmJiAhdGhpcy5kaXNhYmxlU2VsZWN0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZVNlbGVjdCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBwcml2YXRlIHNoaWZ0VXBIYW5kbGVyID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZVNlbGVjdCkge1xyXG4gICAgICAgICAgICB0aGlzLmRpc2FibGVTZWxlY3QgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBpZiAoY2hhbmdlcy5pdGVtcykge1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTdGFydCA9IHRoaXMuaXRlbXNQZXJQYWdlICogKHRoaXMuY3VycmVudFBhZ2UgLSAxKTtcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50RW5kID0gdGhpcy5jdXJyZW50U3RhcnQgKyBjaGFuZ2VzLml0ZW1zLmN1cnJlbnRWYWx1ZT8ubGVuZ3RoO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbk1hbmFnZXI/LnNldEN1cnJlbnRJdGVtcyh0aGlzLml0ZW1zKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGlvbk1hbmFnZXIpIHtcclxuICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuc2hpZnREb3duSGFuZGxlcik7XHJcbiAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleXVwJywgdGhpcy5zaGlmdFVwSGFuZGxlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnJvd1RlbXBsYXRlID0gdGhpcy50ZW1wbGF0ZVJlZnMubGFzdDtcclxuICAgICAgICBjb25zdCBkYXRhVGFibGVDb25maWcgPSB0aGlzLmRhdGFUYWJsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKHRoaXMuaWQpO1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMuaWQpIHtcclxuICAgICAgICAgICAgY29uc29sZS53YXJuKGBObyBpZCB3YXMgYXNzaWduZWQgdG8gdGhlIGRhdGEgdGFibGUgY29tcG9uZW50YCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHVwZGF0ZUNvbHVtblZpc2liaWxpdHkgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIGRhdGFUYWJsZUNvbmZpZy52aXNpYmlsaXR5ID0gdGhpcy5hbGxDb2x1bW5zXHJcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGMgPT4gKGMudmlzaWJsZSAmJiBjLmhpZGRlbkJ5RGVmYXVsdCkgfHwgKCFjLnZpc2libGUgJiYgIWMuaGlkZGVuQnlEZWZhdWx0KSlcclxuICAgICAgICAgICAgICAgIC5tYXAoYyA9PiBjLmlkKTtcclxuICAgICAgICAgICAgdGhpcy5kYXRhVGFibGVDb25maWdTZXJ2aWNlLnNldENvbmZpZyh0aGlzLmlkLCBkYXRhVGFibGVDb25maWcpO1xyXG4gICAgICAgICAgICB0aGlzLnZpc2libGVDb2x1bW5zQ2hhbmdlLmVtaXQodGhpcy52aXNpYmxlU29ydGVkQ29sdW1ucyk7XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5hbGxDb2x1bW5zLmZvckVhY2goY29sdW1uID0+IHtcclxuICAgICAgICAgICAgaWYgKGRhdGFUYWJsZUNvbmZpZz8udmlzaWJpbGl0eS5pbmNsdWRlcyhjb2x1bW4uaWQpKSB7XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4uc2V0VmlzaWJpbGl0eShjb2x1bW4uaGlkZGVuQnlEZWZhdWx0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb2x1bW4ub25Db2x1bW5DaGFuZ2UodXBkYXRlQ29sdW1uVmlzaWJpbGl0eSk7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuZGF0YVRhYmxlQ3VzdG9tQ29tcG9uZW50U2VydmljZS5nZXRDdXN0b21Db21wb25lbnRzRm9yKHRoaXMuaWQsIGNvbHVtbi5pZCk7XHJcbiAgICAgICAgICAgIGlmIChjb25maWcpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcclxuICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZXJzOiBjb25maWcucHJvdmlkZXJzID8/IFtdLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmN1c3RvbUNvbXBvbmVudHMuc2V0KGNvbHVtbi5pZCwgeyBjb25maWcsIGluamVjdG9yIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy52aXNpYmxlQ29sdW1uc0NoYW5nZS5lbWl0KHRoaXMudmlzaWJsZVNvcnRlZENvbHVtbnMpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb25NYW5hZ2VyKSB7XHJcbiAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLnNoaWZ0RG93bkhhbmRsZXIsIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5dXAnLCB0aGlzLnNoaWZ0VXBIYW5kbGVyLCB7IHBhc3NpdmU6IHRydWUgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuYnVsa0FjdGlvbk1lbnVDb21wb25lbnQub25DbGVhclNlbGVjdGlvbigoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25NYW5hZ2VyLnNldEN1cnJlbnRJdGVtcyh0aGlzLml0ZW1zKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zaG93U2VhcmNoRmlsdGVyUm93ID1cclxuICAgICAgICAgICAgISF0aGlzLmZpbHRlcnM/LmFjdGl2ZUZpbHRlcnMubGVuZ3RoIHx8IChkYXRhVGFibGVDb25maWc/LnNob3dTZWFyY2hGaWx0ZXJSb3cgPz8gZmFsc2UpO1xyXG4gICAgICAgIHRoaXMuY29sdW1ucy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuc2VsZWN0aW9uTWFuYWdlcj8uc2VsZWN0aW9uQ2hhbmdlcyRcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb25NYW5hZ2VyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50XHJcbiAgICAgICAgICAgICAgICAudXNlclN0YXR1cygpXHJcbiAgICAgICAgICAgICAgICAubWFwU3RyZWFtKCh7IHVzZXJTdGF0dXMgfSkgPT4gdXNlclN0YXR1cy5hY3RpdmVDaGFubmVsSWQpXHJcbiAgICAgICAgICAgICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbk1hbmFnZXI/LmNsZWFyU2VsZWN0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25Db2x1bW5SZW9yZGVyKGV2ZW50OiB7IGNvbHVtbjogRGF0YVRhYmxlMkNvbHVtbkNvbXBvbmVudDxhbnk+OyBuZXdJbmRleDogbnVtYmVyIH0pIHtcclxuICAgICAgICBjb25zdCBuYXR1cmFsSW5kZXggPSB0aGlzLmFsbENvbHVtbnMuZmluZEluZGV4KGMgPT4gYy5pZCA9PT0gZXZlbnQuY29sdW1uLmlkKTtcclxuICAgICAgICBjb25zdCBkYXRhVGFibGVDb25maWcgPSB0aGlzLmRhdGFUYWJsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKHRoaXMuaWQpO1xyXG4gICAgICAgIGlmIChuYXR1cmFsSW5kZXggPT09IGV2ZW50Lm5ld0luZGV4KSB7XHJcbiAgICAgICAgICAgIGRlbGV0ZSBkYXRhVGFibGVDb25maWcub3JkZXJbZXZlbnQuY29sdW1uLmlkXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBkYXRhVGFibGVDb25maWcub3JkZXJbZXZlbnQuY29sdW1uLmlkXSA9IGV2ZW50Lm5ld0luZGV4O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmRhdGFUYWJsZUNvbmZpZ1NlcnZpY2Uuc2V0Q29uZmlnKHRoaXMuaWQsIGRhdGFUYWJsZUNvbmZpZyk7XHJcbiAgICB9XHJcblxyXG4gICAgb25Db2x1bW5zUmVzZXQoKSB7XHJcbiAgICAgICAgY29uc3QgZGF0YVRhYmxlQ29uZmlnID0gdGhpcy5kYXRhVGFibGVDb25maWdTZXJ2aWNlLmdldENvbmZpZyh0aGlzLmlkKTtcclxuICAgICAgICBkYXRhVGFibGVDb25maWcub3JkZXIgPSB7fTtcclxuICAgICAgICBkYXRhVGFibGVDb25maWcudmlzaWJpbGl0eSA9IFtdO1xyXG4gICAgICAgIHRoaXMuZGF0YVRhYmxlQ29uZmlnU2VydmljZS5zZXRDb25maWcodGhpcy5pZCwgZGF0YVRhYmxlQ29uZmlnKTtcclxuICAgIH1cclxuXHJcbiAgICB0b2dnbGVTZWFyY2hGaWx0ZXJSb3coKSB7XHJcbiAgICAgICAgdGhpcy5zaG93U2VhcmNoRmlsdGVyUm93ID0gIXRoaXMuc2hvd1NlYXJjaEZpbHRlclJvdztcclxuICAgICAgICBjb25zdCBkYXRhVGFibGVDb25maWcgPSB0aGlzLmRhdGFUYWJsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKHRoaXMuaWQpO1xyXG4gICAgICAgIGRhdGFUYWJsZUNvbmZpZy5zaG93U2VhcmNoRmlsdGVyUm93ID0gdGhpcy5zaG93U2VhcmNoRmlsdGVyUm93O1xyXG4gICAgICAgIHRoaXMuZGF0YVRhYmxlQ29uZmlnU2VydmljZS5zZXRDb25maWcodGhpcy5pZCwgZGF0YVRhYmxlQ29uZmlnKTtcclxuICAgIH1cclxuXHJcbiAgICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogYW55KSB7XHJcbiAgICAgICAgaWYgKChpdGVtIGFzIGFueSkuaWQgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICByZXR1cm4gKGl0ZW0gYXMgYW55KS5pZDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gaW5kZXg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uVG9nZ2xlQWxsQ2xpY2soKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25NYW5hZ2VyPy50b2dnbGVTZWxlY3RBbGwoKTtcclxuICAgIH1cclxuXHJcbiAgICBvblJvd0NsaWNrKGl0ZW06IFQsIGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25NYW5hZ2VyPy50b2dnbGVTZWxlY3Rpb24oaXRlbSwgZXZlbnQpO1xyXG4gICAgfVxyXG59XHJcbiIsIjx2ZHItZGF0YS10YWJsZS1maWx0ZXItcHJlc2V0c1xyXG4gICAgKm5nSWY9XCJmaWx0ZXJzXCJcclxuICAgIFtmaWx0ZXJzXT1cImZpbHRlcnNcIlxyXG4gICAgW2RhdGFUYWJsZUlkXT1cImlkXCJcclxuPjwvdmRyLWRhdGEtdGFibGUtZmlsdGVyLXByZXNldHM+XHJcbjxkaXYgY2xhc3M9XCJ0YWJsZS13cmFwcGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYnVsay1hY3Rpb25zXCI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidmRyLWJ1bGstYWN0aW9uLW1lbnVcIj48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDx0YWJsZSBjbGFzcz1cIlwiIFtjbGFzcy5uby1zZWxlY3RdPVwiZGlzYWJsZVNlbGVjdFwiPlxyXG4gICAgICAgIDx0aGVhZCBbY2xhc3MuaXRlbXMtc2VsZWN0ZWRdPVwic2VsZWN0aW9uTWFuYWdlcj8uc2VsZWN0aW9uLmxlbmd0aFwiPlxyXG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJoZWFkaW5nLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwic2VsZWN0aW9uTWFuYWdlclwiIGNsYXNzPVwic2VsZWN0aW9uLWNvbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbHJDaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3Rpb25NYW5hZ2VyPy5hcmVBbGxDdXJyZW50SXRlbXNTZWxlY3RlZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvblRvZ2dsZUFsbENsaWNrKClcIlxyXG4gICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRoXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiB2aXNpYmxlU29ydGVkQ29sdW1uczsgbGFzdCBhcyBpc0xhc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5leHBhbmRdPVwiY29sdW1uLmV4cGFuZFwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbGwtY29udGVudFwiIFtuZ0NsYXNzXT1cImNvbHVtbi5hbGlnblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dmRyLXVpLWV4dGVuc2lvbi1wb2ludFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvY2F0aW9uSWRdPVwiaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21ldGFkYXRhXT1cImNvbHVtbi5pZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcGk9XCJkYXRhVGFibGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RvcFB4XT1cIi02XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsZWZ0UHhdPVwiLTI0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk9XCJibG9ja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGNvbHVtbi5oZWFkaW5nIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3Zkci11aS1leHRlbnNpb24tcG9pbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4uc29ydCBhcyBzb3J0XCIgY2xhc3M9XCJzb3J0LXRvZ2dsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic29ydC50b2dnbGVTb3J0T3JkZXIoKVwiIFtjbGFzcy5hY3RpdmVdPVwic29ydC5zb3J0T3JkZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xyLWljb24gKm5nSWY9XCIhc29ydC5zb3J0T3JkZXJcIiBzaGFwZT1cInR3by13YXktYXJyb3dzIGxlZnRcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiAqbmdJZj1cInNvcnQuc29ydE9yZGVyID09PSAnQVNDJ1wiIHNoYXBlPVwiYXJyb3cgdXBcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiAqbmdJZj1cInNvcnQuc29ydE9yZGVyID09PSAnREVTQydcIiBzaGFwZT1cImFycm93IGRvd25cIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic29ydC1sYWJlbFwiICpuZ0lmPVwic29ydC5zb3J0T3JkZXJcIj57eyBzb3J0LnNvcnRPcmRlciB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbi1waWNrZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHZkci1kYXRhLXRhYmxlLWNvbHVtLXBpY2tlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VpTGFuZ3VhZ2VdPVwidWlMYW5ndWFnZSQgfCBhc3luY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sdW1uc109XCJzb3J0ZWRDb2x1bW5zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZW9yZGVyKT1cIm9uQ29sdW1uUmVvcmRlcigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZXNldENvbHVtbnMpPVwib25Db2x1bW5zUmVzZXQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3Zkci1kYXRhLXRhYmxlLWNvbHVtLXBpY2tlcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDx0ciAqbmdJZj1cInNlYXJjaENvbXBvbmVudCB8fCBjdXN0b21TZWFyY2hUZW1wbGF0ZSB8fCBmaWx0ZXJzPy5sZW5ndGhcIj5cclxuICAgICAgICAgICAgICAgIDx0aFxyXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmNvbHNwYW5dPVwidmlzaWJsZVNvcnRlZENvbHVtbnMubGVuZ3RoICsgKHNlbGVjdGlvbk1hbmFnZXIgPyAyIDogMSlcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmlsdGVyLXJvd1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJzaG93U2VhcmNoRmlsdGVyUm93XCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uLWdob3N0IHRvZ2dsZS1zZWFyY2gtZmlsdGVyLXJvd1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwic2hvd1NlYXJjaEZpbHRlclJvd1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVTZWFyY2hGaWx0ZXJSb3coKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInY29tbW9uLnNlYXJjaC1hbmQtZmlsdGVyLWxpc3QnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cInNlYXJjaFwiPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1yb3ctd3JhcHBlclwiIFtjbGFzcy5oaWRkZW5dPVwiIXNob3dTZWFyY2hGaWx0ZXJSb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlYXJjaENvbXBvbmVudD8udGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImN1c3RvbVNlYXJjaFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWx0ZXJzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItZGF0YS10YWJsZS1maWx0ZXJzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBhY3RpdmVGaWx0ZXIgb2YgZmlsdGVycy5hY3RpdmVGaWx0ZXJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbHRlcldpdGhWYWx1ZV09XCJhY3RpdmVGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsdGVyc109XCJmaWx0ZXJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtdC0xXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC92ZHItZGF0YS10YWJsZS1maWx0ZXJzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItZGF0YS10YWJsZS1maWx0ZXJzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZmlsdGVycy5sZW5ndGhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsdGVyc109XCJmaWx0ZXJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtdC0xXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC92ZHItZGF0YS10YWJsZS1maWx0ZXJzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItYWRkLWZpbHRlci1wcmVzZXQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWx0ZXJzXT1cImZpbHRlcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YVRhYmxlSWRdPVwiaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3Zkci1hZGQtZmlsdGVyLXByZXNldC1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICA8dHJcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cIlxyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtIG9mIGl0ZW1zXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgcGFnaW5hdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXNQZXJQYWdlOiBpdGVtc1BlclBhZ2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50UGFnZTogY3VycmVudFBhZ2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbEl0ZW1zOiB0b3RhbEl0ZW1zXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgaW5kZXggYXMgaTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFja0J5OiB0cmFja0J5Rm5cclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInNlbGVjdGlvbk1hbmFnZXJcIiBjbGFzcz1cInNlbGVjdGlvbi1jb2xcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZUluZGV4ID09PSBpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsckNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInNlbGVjdGlvbk1hbmFnZXI/LmlzU2VsZWN0ZWQoaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Sb3dDbGljayhpdGVtLCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIHZpc2libGVTb3J0ZWRDb2x1bW5zXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVJbmRleCA9PT0gaVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsLWNvbnRlbnRcIiBbbmdDbGFzc109XCJjb2x1bW4uYWxpZ25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjdXN0b21Db21wb25lbnRzLmdldChjb2x1bW4uaWQpIGFzIGNvbXBvbmVudENvbmZpZzsgZWxzZSBkZWZhdWx0Q29tcG9uZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0NvbXBvbmVudE91dGxldD1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRDb25maWcuY29uZmlnLmNvbXBvbmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRzOiB7IHJvd0l0ZW06IGl0ZW0gfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5qZWN0b3I6IGNvbXBvbmVudENvbmZpZy5pbmplY3RvclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRDb21wb25lbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb2x1bW4udGVtcGxhdGU7IGNvbnRleHQ6IHsgaXRlbTogaXRlbSwgaW5kZXg6IGkgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlSW5kZXggPT09IGlcIj48IS0tIGNvbHVtbiBzZWxlY3QgLS0+PC90ZD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDx0ciAqbmdJZj1cIiFpdGVtcz8ubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkIFthdHRyLmNvbHNwYW5dPVwidmlzaWJsZVNvcnRlZENvbHVtbnMubGVuZ3RoICsgKHNlbGVjdGlvbk1hbmFnZXIgPyAyIDogMSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHZkci1lbXB0eS1wbGFjZWhvbGRlciBbZW1wdHlTdGF0ZUxhYmVsXT1cImVtcHR5U3RhdGVMYWJlbFwiPjwvdmRyLWVtcHR5LXBsYWNlaG9sZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L3Rib2R5PlxyXG4gICAgPC90YWJsZT5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJ0YWJsZS1mb290ZXJcIj5cclxuICAgIDx2ZHItaXRlbXMtcGVyLXBhZ2UtY29udHJvbHNcclxuICAgICAgICAqbmdJZj1cInRvdGFsSXRlbXNcIlxyXG4gICAgICAgIFtpdGVtc1BlclBhZ2VdPVwiaXRlbXNQZXJQYWdlXCJcclxuICAgICAgICAoaXRlbXNQZXJQYWdlQ2hhbmdlKT1cIml0ZW1zUGVyUGFnZUNoYW5nZS5lbWl0KCRldmVudClcIlxyXG4gICAgPjwvdmRyLWl0ZW1zLXBlci1wYWdlLWNvbnRyb2xzPlxyXG4gICAgPGRpdiAqbmdJZj1cInRvdGFsSXRlbXNcIiBjbGFzcz1cInRvdGFsLWl0ZW1zLWNvdW50XCI+XHJcbiAgICAgICAge3sgJ2NvbW1vbi50b3RhbC1pdGVtcycgfCB0cmFuc2xhdGUgOiB7IGN1cnJlbnRTdGFydCwgY3VycmVudEVuZCwgdG90YWxJdGVtcyB9IH19XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8dmRyLXBhZ2luYXRpb24tY29udHJvbHNcclxuICAgICAgICAqbmdJZj1cInRvdGFsSXRlbXNcIlxyXG4gICAgICAgIFtpZF09XCJpZFwiXHJcbiAgICAgICAgW2N1cnJlbnRQYWdlXT1cImN1cnJlbnRQYWdlXCJcclxuICAgICAgICBbaXRlbXNQZXJQYWdlXT1cIml0ZW1zUGVyUGFnZVwiXHJcbiAgICAgICAgW3RvdGFsSXRlbXNdPVwidG90YWxJdGVtc1wiXHJcbiAgICAgICAgKHBhZ2VDaGFuZ2UpPVwicGFnZUNoYW5nZS5lbWl0KCRldmVudClcIlxyXG4gICAgPjwvdmRyLXBhZ2luYXRpb24tY29udHJvbHM+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
300
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZTIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvY29tcG9uZW50cy9kYXRhLXRhYmxlLTIvZGF0YS10YWJsZTIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvY29tcG9uZW50cy9kYXRhLXRhYmxlLTIvZGF0YS10YWJsZTIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBR0wsTUFBTSxFQUdOLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBRWpHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRXpGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFFLE9BQU8sRUFFSCwrQkFBK0IsR0FFbEMsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNqRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQUUxRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZERztBQVFILE1BQU0sT0FBTyxtQkFBbUI7SUF1QzVCLFlBQ2MsaUJBQW9DLEVBQ3BDLFdBQXdCO1FBRHhCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFqQzdCLGdCQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDaEIsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDeEMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNoRCx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBdUMsQ0FBQztRQVV6RixhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLFVBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDL0Isd0JBQW1CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDbEQsb0NBQStCLEdBQUcsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDMUUsMkJBQXNCLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDOUMscUJBQWdCLEdBQUcsSUFBSSxHQUFHLEVBQW9FLENBQUM7UUFLekcscUVBQXFFO1FBQ3JFLCtDQUErQztRQUMvQyxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0Qix3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFHbEIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFxQ2pDLHFCQUFnQixHQUFHLENBQUMsS0FBb0IsRUFBRSxFQUFFO1lBQ2hELElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBRU0sbUJBQWMsR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtZQUM5QyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBM0NFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNO2FBQ3JDLE9BQU8sRUFBRTthQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixFQUFFLGdCQUFnQixDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDVixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFJLG9CQUFvQjtRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDYixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ2hDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLEtBQUssTUFBTSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzlELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzlDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3pELElBQUksWUFBWSxLQUFLLENBQUMsQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNoQyxPQUFPLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDaEMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3JDLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQWdCRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDO1lBQ3pFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hCLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDL0QsUUFBUSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDL0QsQ0FBQztJQUNMLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO1FBQzFDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXZFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDWCxPQUFPLENBQUMsSUFBSSxDQUFDLGdEQUFnRCxDQUFDLENBQUM7UUFDbkUsQ0FBQztRQUNELE1BQU0sc0JBQXNCLEdBQUcsR0FBRyxFQUFFO1lBQ2hDLGVBQWUsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVU7aUJBQ3ZDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUM7aUJBQ25GLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsZUFBZSxDQUFDLENBQUM7WUFDaEUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM3QixJQUFJLGVBQWUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUNsRCxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNqRCxDQUFDO1lBQ0QsTUFBTSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1lBQzlDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMvRixJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNULE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7b0JBQzdCLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUTtvQkFDckIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTLElBQUksRUFBRTtpQkFDcEMsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQy9ELENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFMUQsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUN4QixRQUFRLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQy9FLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzNFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUU7Z0JBQy9DLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxQyxDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFDRCxJQUFJLENBQUMsbUJBQW1CO1lBQ3BCLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsbUJBQW1CLElBQUksS0FBSyxDQUFDLENBQUM7UUFDNUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNoQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCO2FBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUU1RCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTTtpQkFDbEIsVUFBVSxFQUFFO2lCQUNaLFNBQVMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUM7aUJBQ3pELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQ3RELFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxDQUFDO1lBQzVDLENBQUMsQ0FBQyxDQUFDO1FBQ1gsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBbUU7UUFDL0UsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUUsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkUsSUFBSSxZQUFZLEtBQUssS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xDLE9BQU8sZUFBZSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELENBQUM7YUFBTSxDQUFDO1lBQ0osZUFBZSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDNUQsQ0FBQztRQUNELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsY0FBYztRQUNWLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLGVBQWUsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQzNCLGVBQWUsQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztRQUNyRCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2RSxlQUFlLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQy9ELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWEsRUFBRSxJQUFTO1FBQzlCLElBQUssSUFBWSxDQUFDLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUMzQixPQUFRLElBQVksQ0FBQyxFQUFFLENBQUM7UUFDNUIsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQjtRQUNaLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQU8sRUFBRSxLQUFpQjtRQUNqQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4RCxDQUFDOytHQTVNUSxtQkFBbUI7bUdBQW5CLG1CQUFtQix3WEFGakIsQ0FBQyxpQkFBaUIsRUFBRSxtQkFBbUIsQ0FBQyx1RUFrQnJDLHlCQUF5QiwwRkFDekIsdUJBQXVCLDBLQUpwQix5QkFBeUIscURBQ3pCLG1DQUFtQywrQ0FLbkMsV0FBVyxrREM5SGhDLHMvUUEwS0E7OzRGRC9EYSxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0ksa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxpQkFBaUIsRUFBRSxtQkFBbUIsQ0FBQztnSEFHMUMsRUFBRTtzQkFBVixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFFcUMsT0FBTztzQkFBbEQsZUFBZTt1QkFBQyx5QkFBeUI7Z0JBRTFDLGtCQUFrQjtzQkFEakIsZUFBZTt1QkFBQyxtQ0FBbUM7Z0JBRVgsZUFBZTtzQkFBdkQsWUFBWTt1QkFBQyx5QkFBeUI7Z0JBQ0EsdUJBQXVCO3NCQUE3RCxZQUFZO3VCQUFDLHVCQUF1QjtnQkFDRCxvQkFBb0I7c0JBQXZELFlBQVk7dUJBQUMsb0JBQW9CO2dCQUNKLFlBQVk7c0JBQXpDLGVBQWU7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFBhZ2luYXRpb25TZXJ2aWNlIH0gZnJvbSAnbmd4LXBhZ2luYXRpb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VDb2RlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBEYXRhVGFibGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBEYXRhVGFibGVGaWx0ZXJDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1maWx0ZXItY29sbGVjdGlvbic7XG5pbXBvcnQgeyBCdWxrQWN0aW9uTWVudUNvbXBvbmVudCB9IGZyb20gJy4uL2J1bGstYWN0aW9uLW1lbnUvYnVsay1hY3Rpb24tbWVudS5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBGaWx0ZXJQcmVzZXRTZXJ2aWNlIH0gZnJvbSAnLi4vZGF0YS10YWJsZS1maWx0ZXItcHJlc2V0cy9maWx0ZXItcHJlc2V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRGF0YVRhYmxlMkNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vZGF0YS10YWJsZS1jb2x1bW4uY29tcG9uZW50JztcbmltcG9ydCB7XG4gICAgRGF0YVRhYmxlQ29tcG9uZW50Q29uZmlnLFxuICAgIERhdGFUYWJsZUN1c3RvbUNvbXBvbmVudFNlcnZpY2UsXG4gICAgRGF0YVRhYmxlTG9jYXRpb25JZCxcbn0gZnJvbSAnLi9kYXRhLXRhYmxlLWN1c3RvbS1jb21wb25lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBEYXRhVGFibGVDdXN0b21GaWVsZENvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vZGF0YS10YWJsZS1jdXN0b20tZmllbGQtY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRhVGFibGUyU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXRhYmxlLXNlYXJjaC5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogQSB0YWJsZSBmb3IgZGlzcGxheWluZyBQYWdpbmF0ZWRMaXN0IHJlc3VsdHMuIEl0IGlzIGRlc2lnbmVkIHRvIGJlIHVzZWQgaW5zaWRlIGNvbXBvbmVudHMgd2hpY2hcbiAqIGV4dGVuZCB0aGUge0BsaW5rIEJhc2VMaXN0Q29tcG9uZW50fSBvciB7QGxpbmsgVHlwZWRCYXNlTGlzdENvbXBvbmVudH0gY2xhc3MuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDx2ZHItZGF0YS10YWJsZS0yXG4gKiAgICAgaWQ9XCJwcm9kdWN0LXJldmlldy1saXN0XCJcbiAqICAgICBbaXRlbXNdPVwiaXRlbXMkIHwgYXN5bmNcIlxuICogICAgIFtpdGVtc1BlclBhZ2VdPVwiaXRlbXNQZXJQYWdlJCB8IGFzeW5jXCJcbiAqICAgICBbdG90YWxJdGVtc109XCJ0b3RhbEl0ZW1zJCB8IGFzeW5jXCJcbiAqICAgICBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2UkIHwgYXN5bmNcIlxuICogICAgIFtmaWx0ZXJzXT1cImZpbHRlcnNcIlxuICogICAgIChwYWdlQ2hhbmdlKT1cInNldFBhZ2VOdW1iZXIoJGV2ZW50KVwiXG4gKiAgICAgKGl0ZW1zUGVyUGFnZUNoYW5nZSk9XCJzZXRJdGVtc1BlclBhZ2UoJGV2ZW50KVwiXG4gKiA+XG4gKiAgICAgPHZkci1idWxrLWFjdGlvbi1tZW51XG4gKiAgICAgICAgIGxvY2F0aW9uSWQ9XCJwcm9kdWN0LXJldmlldy1saXN0XCJcbiAqICAgICAgICAgW2hvc3RDb21wb25lbnRdPVwidGhpc1wiXG4gKiAgICAgICAgIFtzZWxlY3Rpb25NYW5hZ2VyXT1cInNlbGVjdGlvbk1hbmFnZXJcIlxuICogICAgIC8+XG4gKiAgICAgPHZkci1kdDItc2VhcmNoXG4gKiAgICAgICAgIFtzZWFyY2hUZXJtQ29udHJvbF09XCJzZWFyY2hUZXJtQ29udHJvbFwiXG4gKiAgICAgICAgIHNlYXJjaFRlcm1QbGFjZWhvbGRlcj1cIkZpbHRlciBieSB0aXRsZVwiXG4gKiAgICAgLz5cbiAqICAgICA8dmRyLWR0Mi1jb2x1bW4gW2hlYWRpbmddPVwiJ2NvbW1vbi5pZCcgfCB0cmFuc2xhdGVcIiBbaGlkZGVuQnlEZWZhdWx0XT1cInRydWVcIj5cbiAqICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yZXZpZXc9XCJpdGVtXCI+XG4gKiAgICAgICAgICAgICB7eyByZXZpZXcuaWQgfX1cbiAqICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAqICAgICA8L3Zkci1kdDItY29sdW1uPlxuICogICAgIDx2ZHItZHQyLWNvbHVtblxuICogICAgICAgICBbaGVhZGluZ109XCInY29tbW9uLmNyZWF0ZWQtYXQnIHwgdHJhbnNsYXRlXCJcbiAqICAgICAgICAgW2hpZGRlbkJ5RGVmYXVsdF09XCJ0cnVlXCJcbiAqICAgICAgICAgW3NvcnRdPVwic29ydHMuZ2V0KCdjcmVhdGVkQXQnKVwiXG4gKiAgICAgPlxuICogICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJldmlldz1cIml0ZW1cIj5cbiAqICAgICAgICAgICAgIHt7IHJldmlldy5jcmVhdGVkQXQgfCBsb2NhbGVEYXRlIDogJ3Nob3J0JyB9fVxuICogICAgICAgICA8L25nLXRlbXBsYXRlPlxuICogICAgIDwvdmRyLWR0Mi1jb2x1bW4+XG4gKiAgICAgPHZkci1kdDItY29sdW1uXG4gKiAgICAgICAgIFtoZWFkaW5nXT1cIidjb21tb24udXBkYXRlZC1hdCcgfCB0cmFuc2xhdGVcIlxuICogICAgICAgICBbaGlkZGVuQnlEZWZhdWx0XT1cInRydWVcIlxuICogICAgICAgICBbc29ydF09XCJzb3J0cy5nZXQoJ3VwZGF0ZWRBdCcpXCJcbiAqICAgICA+XG4gKiAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcmV2aWV3PVwiaXRlbVwiPlxuICogICAgICAgICAgICAge3sgcmV2aWV3LnVwZGF0ZWRBdCB8IGxvY2FsZURhdGUgOiAnc2hvcnQnIH19XG4gKiAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gKiAgICAgPC92ZHItZHQyLWNvbHVtbj5cbiAqICAgICA8dmRyLWR0Mi1jb2x1bW4gW2hlYWRpbmddPVwiJ2NvbW1vbi5uYW1lJyB8IHRyYW5zbGF0ZVwiIFtvcHRpb25hbF09XCJmYWxzZVwiIFtzb3J0XT1cInNvcnRzLmdldCgnbmFtZScpXCI+XG4gKiAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcmV2aWV3PVwiaXRlbVwiPlxuICogICAgICAgICAgICAgPGEgY2xhc3M9XCJidXR0b24tZ2hvc3RcIiBbcm91dGVyTGlua109XCJbJy4vJywgcmV2aWV3LmlkXVwiXG4gKiAgICAgICAgICAgICAgICAgPjxzcGFuPnt7IHJldmlldy5uYW1lIH19PC9zcGFuPlxuICogICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cImFycm93IHJpZ2h0XCI+PC9jbHItaWNvbj5cbiAqICAgICAgICAgICAgIDwvYT5cbiAqICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAqICAgICA8L3Zkci1kdDItY29sdW1uPlxuICogPC92ZHItZGF0YS10YWJsZS0yPlxuICogYGBgXG4gKlxuICogQGRvY3NDYXRlZ29yeSBjb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndmRyLWRhdGEtdGFibGUtMicsXG4gICAgdGVtcGxhdGVVcmw6ICdkYXRhLXRhYmxlMi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ2RhdGEtdGFibGUyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbUGFnaW5hdGlvblNlcnZpY2UsIEZpbHRlclByZXNldFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhVGFibGUyQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGlkOiBEYXRhVGFibGVMb2NhdGlvbklkO1xuICAgIEBJbnB1dCgpIGl0ZW1zOiBUW107XG4gICAgQElucHV0KCkgaXRlbXNQZXJQYWdlOiBudW1iZXI7XG4gICAgQElucHV0KCkgY3VycmVudFBhZ2U6IG51bWJlcjtcbiAgICBASW5wdXQoKSB0b3RhbEl0ZW1zOiBudW1iZXI7XG4gICAgQElucHV0KCkgZW1wdHlTdGF0ZUxhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZmlsdGVyczogRGF0YVRhYmxlRmlsdGVyQ29sbGVjdGlvbjtcbiAgICBASW5wdXQoKSBhY3RpdmVJbmRleCA9IC0xO1xuICAgIEBPdXRwdXQoKSBwYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gICAgQE91dHB1dCgpIGl0ZW1zUGVyUGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICAgIEBPdXRwdXQoKSB2aXNpYmxlQ29sdW1uc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8RGF0YVRhYmxlMkNvbHVtbkNvbXBvbmVudDxUPj4+KCk7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKERhdGFUYWJsZTJDb2x1bW5Db21wb25lbnQpIGNvbHVtbnM6IFF1ZXJ5TGlzdDxEYXRhVGFibGUyQ29sdW1uQ29tcG9uZW50PFQ+PjtcbiAgICBAQ29udGVudENoaWxkcmVuKERhdGFUYWJsZUN1c3RvbUZpZWxkQ29sdW1uQ29tcG9uZW50KVxuICAgIGN1c3RvbUZpZWxkQ29sdW1uczogUXVlcnlMaXN0PERhdGFUYWJsZUN1c3RvbUZpZWxkQ29sdW1uQ29tcG9uZW50PFQ+PjtcbiAgICBAQ29udGVudENoaWxkKERhdGFUYWJsZTJTZWFyY2hDb21wb25lbnQpIHNlYXJjaENvbXBvbmVudDogRGF0YVRhYmxlMlNlYXJjaENvbXBvbmVudDtcbiAgICBAQ29udGVudENoaWxkKEJ1bGtBY3Rpb25NZW51Q29tcG9uZW50KSBidWxrQWN0aW9uTWVudUNvbXBvbmVudDogQnVsa0FjdGlvbk1lbnVDb21wb25lbnQ7XG4gICAgQENvbnRlbnRDaGlsZCgndmRyRHQyQ3VzdG9tU2VhcmNoJykgY3VzdG9tU2VhcmNoVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQENvbnRlbnRDaGlsZHJlbihUZW1wbGF0ZVJlZikgdGVtcGxhdGVSZWZzOiBRdWVyeUxpc3Q8VGVtcGxhdGVSZWY8YW55Pj47XG5cbiAgICBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gICAgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICAgIGZpbHRlclByZXNldFNlcnZpY2UgPSBpbmplY3QoRmlsdGVyUHJlc2V0U2VydmljZSk7XG4gICAgZGF0YVRhYmxlQ3VzdG9tQ29tcG9uZW50U2VydmljZSA9IGluamVjdChEYXRhVGFibGVDdXN0b21Db21wb25lbnRTZXJ2aWNlKTtcbiAgICBkYXRhVGFibGVDb25maWdTZXJ2aWNlID0gaW5qZWN0KERhdGFUYWJsZUNvbmZpZ1NlcnZpY2UpO1xuICAgIHByb3RlY3RlZCBjdXN0b21Db21wb25lbnRzID0gbmV3IE1hcDxzdHJpbmcsIHsgY29uZmlnOiBEYXRhVGFibGVDb21wb25lbnRDb25maWc7IGluamVjdG9yOiBJbmplY3RvciB9PigpO1xuXG4gICAgcm93VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgY3VycmVudFN0YXJ0OiBudW1iZXI7XG4gICAgY3VycmVudEVuZDogbnVtYmVyO1xuICAgIC8vIFRoaXMgaXMgdXNlZCB0byBhcHBseSBhIGB1c2VyLXNlbGVjdDogbm9uZWAgQ1NTIHJ1bGUgdG8gdGhlIHRhYmxlLFxuICAgIC8vIHdoaWNoIGFsbG93cyBzaGlmdC1jbGljayBtdWx0aS1yb3cgc2VsZWN0aW9uXG4gICAgZGlzYWJsZVNlbGVjdCA9IGZhbHNlO1xuICAgIHNob3dTZWFyY2hGaWx0ZXJSb3cgPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCB1aUxhbmd1YWdlJDogT2JzZXJ2YWJsZTxMYW5ndWFnZUNvZGU+O1xuICAgIHByb3RlY3RlZCBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJvdGVjdGVkIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgdGhpcy51aUxhbmd1YWdlJCA9IHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50XG4gICAgICAgICAgICAudWlTdGF0ZSgpXG4gICAgICAgICAgICAuc3RyZWFtJC5waXBlKG1hcCgoeyB1aVN0YXRlIH0pID0+IHVpU3RhdGUubGFuZ3VhZ2UpKTtcbiAgICB9XG5cbiAgICBnZXQgc2VsZWN0aW9uTWFuYWdlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVsa0FjdGlvbk1lbnVDb21wb25lbnQ/LnNlbGVjdGlvbk1hbmFnZXI7XG4gICAgfVxuXG4gICAgZ2V0IGFsbENvbHVtbnMoKSB7XG4gICAgICAgIHJldHVybiBbLi4uKHRoaXMuY29sdW1ucyA/PyBbXSksIC4uLih0aGlzLmN1c3RvbUZpZWxkQ29sdW1ucyA/PyBbXSldO1xuICAgIH1cblxuICAgIGdldCB2aXNpYmxlU29ydGVkQ29sdW1ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc29ydGVkQ29sdW1ucy5maWx0ZXIoYyA9PiBjLnZpc2libGUpO1xuICAgIH1cblxuICAgIGdldCBzb3J0ZWRDb2x1bW5zKCkge1xuICAgICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5hbGxDb2x1bW5zO1xuICAgICAgICBjb25zdCBkYXRhVGFibGVDb25maWcgPSB0aGlzLmRhdGFUYWJsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKHRoaXMuaWQpO1xuICAgICAgICBmb3IgKGNvbnN0IFtpZCwgaW5kZXhdIG9mIE9iamVjdC5lbnRyaWVzKGRhdGFUYWJsZUNvbmZpZy5vcmRlcikpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbHVtbiA9IGNvbHVtbnMuZmluZChjID0+IGMuaWQgPT09IGlkKTtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IGNvbHVtbnMuZmluZEluZGV4KGMgPT4gYy5pZCA9PT0gaWQpO1xuICAgICAgICAgICAgaWYgKGN1cnJlbnRJbmRleCAhPT0gLTEgJiYgY29sdW1uKSB7XG4gICAgICAgICAgICAgICAgY29sdW1ucy5zcGxpY2UoY3VycmVudEluZGV4LCAxKTtcbiAgICAgICAgICAgICAgICBjb2x1bW5zLnNwbGljZShpbmRleCwgMCwgY29sdW1uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29sdW1ucztcbiAgICB9XG5cbiAgICBwcml2YXRlIHNoaWZ0RG93bkhhbmRsZXIgPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5ICYmICF0aGlzLmRpc2FibGVTZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZVNlbGVjdCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIHByaXZhdGUgc2hpZnRVcEhhbmRsZXIgPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZVNlbGVjdCkge1xuICAgICAgICAgICAgdGhpcy5kaXNhYmxlU2VsZWN0ID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuaXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFN0YXJ0ID0gdGhpcy5pdGVtc1BlclBhZ2UgKiAodGhpcy5jdXJyZW50UGFnZSAtIDEpO1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50RW5kID0gdGhpcy5jdXJyZW50U3RhcnQgKyBjaGFuZ2VzLml0ZW1zLmN1cnJlbnRWYWx1ZT8ubGVuZ3RoO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25NYW5hZ2VyPy5zZXRDdXJyZW50SXRlbXModGhpcy5pdGVtcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0aW9uTWFuYWdlcikge1xuICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuc2hpZnREb3duSGFuZGxlcik7XG4gICAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXl1cCcsIHRoaXMuc2hpZnRVcEhhbmRsZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJvd1RlbXBsYXRlID0gdGhpcy50ZW1wbGF0ZVJlZnMubGFzdDtcbiAgICAgICAgY29uc3QgZGF0YVRhYmxlQ29uZmlnID0gdGhpcy5kYXRhVGFibGVDb25maWdTZXJ2aWNlLmdldENvbmZpZyh0aGlzLmlkKTtcblxuICAgICAgICBpZiAoIXRoaXMuaWQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgTm8gaWQgd2FzIGFzc2lnbmVkIHRvIHRoZSBkYXRhIHRhYmxlIGNvbXBvbmVudGApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHVwZGF0ZUNvbHVtblZpc2liaWxpdHkgPSAoKSA9PiB7XG4gICAgICAgICAgICBkYXRhVGFibGVDb25maWcudmlzaWJpbGl0eSA9IHRoaXMuYWxsQ29sdW1uc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoYyA9PiAoYy52aXNpYmxlICYmIGMuaGlkZGVuQnlEZWZhdWx0KSB8fCAoIWMudmlzaWJsZSAmJiAhYy5oaWRkZW5CeURlZmF1bHQpKVxuICAgICAgICAgICAgICAgIC5tYXAoYyA9PiBjLmlkKTtcbiAgICAgICAgICAgIHRoaXMuZGF0YVRhYmxlQ29uZmlnU2VydmljZS5zZXRDb25maWcodGhpcy5pZCwgZGF0YVRhYmxlQ29uZmlnKTtcbiAgICAgICAgICAgIHRoaXMudmlzaWJsZUNvbHVtbnNDaGFuZ2UuZW1pdCh0aGlzLnZpc2libGVTb3J0ZWRDb2x1bW5zKTtcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmFsbENvbHVtbnMuZm9yRWFjaChjb2x1bW4gPT4ge1xuICAgICAgICAgICAgaWYgKGRhdGFUYWJsZUNvbmZpZz8udmlzaWJpbGl0eS5pbmNsdWRlcyhjb2x1bW4uaWQpKSB7XG4gICAgICAgICAgICAgICAgY29sdW1uLnNldFZpc2liaWxpdHkoY29sdW1uLmhpZGRlbkJ5RGVmYXVsdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb2x1bW4ub25Db2x1bW5DaGFuZ2UodXBkYXRlQ29sdW1uVmlzaWJpbGl0eSk7XG4gICAgICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLmRhdGFUYWJsZUN1c3RvbUNvbXBvbmVudFNlcnZpY2UuZ2V0Q3VzdG9tQ29tcG9uZW50c0Zvcih0aGlzLmlkLCBjb2x1bW4uaWQpO1xuICAgICAgICAgICAgaWYgKGNvbmZpZykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yLFxuICAgICAgICAgICAgICAgICAgICBwcm92aWRlcnM6IGNvbmZpZy5wcm92aWRlcnMgPz8gW10sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXN0b21Db21wb25lbnRzLnNldChjb2x1bW4uaWQsIHsgY29uZmlnLCBpbmplY3RvciB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudmlzaWJsZUNvbHVtbnNDaGFuZ2UuZW1pdCh0aGlzLnZpc2libGVTb3J0ZWRDb2x1bW5zKTtcblxuICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb25NYW5hZ2VyKSB7XG4gICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5zaGlmdERvd25IYW5kbGVyLCB7IHBhc3NpdmU6IHRydWUgfSk7XG4gICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIHRoaXMuc2hpZnRVcEhhbmRsZXIsIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcbiAgICAgICAgICAgIHRoaXMuYnVsa0FjdGlvbk1lbnVDb21wb25lbnQub25DbGVhclNlbGVjdGlvbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25NYW5hZ2VyLnNldEN1cnJlbnRJdGVtcyh0aGlzLml0ZW1zKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNob3dTZWFyY2hGaWx0ZXJSb3cgPVxuICAgICAgICAgICAgISF0aGlzLmZpbHRlcnM/LmFjdGl2ZUZpbHRlcnMubGVuZ3RoIHx8IChkYXRhVGFibGVDb25maWc/LnNob3dTZWFyY2hGaWx0ZXJSb3cgPz8gZmFsc2UpO1xuICAgICAgICB0aGlzLmNvbHVtbnMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5zZWxlY3Rpb25NYW5hZ2VyPy5zZWxlY3Rpb25DaGFuZ2VzJFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKTtcblxuICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb25NYW5hZ2VyKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudFxuICAgICAgICAgICAgICAgIC51c2VyU3RhdHVzKClcbiAgICAgICAgICAgICAgICAubWFwU3RyZWFtKCh7IHVzZXJTdGF0dXMgfSkgPT4gdXNlclN0YXR1cy5hY3RpdmVDaGFubmVsSWQpXG4gICAgICAgICAgICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbk1hbmFnZXI/LmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNvbHVtblJlb3JkZXIoZXZlbnQ6IHsgY29sdW1uOiBEYXRhVGFibGUyQ29sdW1uQ29tcG9uZW50PGFueT47IG5ld0luZGV4OiBudW1iZXIgfSkge1xuICAgICAgICBjb25zdCBuYXR1cmFsSW5kZXggPSB0aGlzLmFsbENvbHVtbnMuZmluZEluZGV4KGMgPT4gYy5pZCA9PT0gZXZlbnQuY29sdW1uLmlkKTtcbiAgICAgICAgY29uc3QgZGF0YVRhYmxlQ29uZmlnID0gdGhpcy5kYXRhVGFibGVDb25maWdTZXJ2aWNlLmdldENvbmZpZyh0aGlzLmlkKTtcbiAgICAgICAgaWYgKG5hdHVyYWxJbmRleCA9PT0gZXZlbnQubmV3SW5kZXgpIHtcbiAgICAgICAgICAgIGRlbGV0ZSBkYXRhVGFibGVDb25maWcub3JkZXJbZXZlbnQuY29sdW1uLmlkXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRhdGFUYWJsZUNvbmZpZy5vcmRlcltldmVudC5jb2x1bW4uaWRdID0gZXZlbnQubmV3SW5kZXg7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kYXRhVGFibGVDb25maWdTZXJ2aWNlLnNldENvbmZpZyh0aGlzLmlkLCBkYXRhVGFibGVDb25maWcpO1xuICAgIH1cblxuICAgIG9uQ29sdW1uc1Jlc2V0KCkge1xuICAgICAgICBjb25zdCBkYXRhVGFibGVDb25maWcgPSB0aGlzLmRhdGFUYWJsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKHRoaXMuaWQpO1xuICAgICAgICBkYXRhVGFibGVDb25maWcub3JkZXIgPSB7fTtcbiAgICAgICAgZGF0YVRhYmxlQ29uZmlnLnZpc2liaWxpdHkgPSBbXTtcbiAgICAgICAgdGhpcy5kYXRhVGFibGVDb25maWdTZXJ2aWNlLnNldENvbmZpZyh0aGlzLmlkLCBkYXRhVGFibGVDb25maWcpO1xuICAgIH1cblxuICAgIHRvZ2dsZVNlYXJjaEZpbHRlclJvdygpIHtcbiAgICAgICAgdGhpcy5zaG93U2VhcmNoRmlsdGVyUm93ID0gIXRoaXMuc2hvd1NlYXJjaEZpbHRlclJvdztcbiAgICAgICAgY29uc3QgZGF0YVRhYmxlQ29uZmlnID0gdGhpcy5kYXRhVGFibGVDb25maWdTZXJ2aWNlLmdldENvbmZpZyh0aGlzLmlkKTtcbiAgICAgICAgZGF0YVRhYmxlQ29uZmlnLnNob3dTZWFyY2hGaWx0ZXJSb3cgPSB0aGlzLnNob3dTZWFyY2hGaWx0ZXJSb3c7XG4gICAgICAgIHRoaXMuZGF0YVRhYmxlQ29uZmlnU2VydmljZS5zZXRDb25maWcodGhpcy5pZCwgZGF0YVRhYmxlQ29uZmlnKTtcbiAgICB9XG5cbiAgICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogYW55KSB7XG4gICAgICAgIGlmICgoaXRlbSBhcyBhbnkpLmlkICE9IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiAoaXRlbSBhcyBhbnkpLmlkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Ub2dnbGVBbGxDbGljaygpIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25NYW5hZ2VyPy50b2dnbGVTZWxlY3RBbGwoKTtcbiAgICB9XG5cbiAgICBvblJvd0NsaWNrKGl0ZW06IFQsIGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uTWFuYWdlcj8udG9nZ2xlU2VsZWN0aW9uKGl0ZW0sIGV2ZW50KTtcbiAgICB9XG59XG4iLCI8dmRyLWRhdGEtdGFibGUtZmlsdGVyLXByZXNldHNcclxuICAgICpuZ0lmPVwiZmlsdGVyc1wiXHJcbiAgICBbZmlsdGVyc109XCJmaWx0ZXJzXCJcclxuICAgIFtkYXRhVGFibGVJZF09XCJpZFwiXHJcbj48L3Zkci1kYXRhLXRhYmxlLWZpbHRlci1wcmVzZXRzPlxyXG48ZGl2IGNsYXNzPVwidGFibGUtd3JhcHBlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImJ1bGstYWN0aW9uc1wiPlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInZkci1idWxrLWFjdGlvbi1tZW51XCI+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8dGFibGUgY2xhc3M9XCJcIiBbY2xhc3Mubm8tc2VsZWN0XT1cImRpc2FibGVTZWxlY3RcIj5cclxuICAgICAgICA8dGhlYWQgW2NsYXNzLml0ZW1zLXNlbGVjdGVkXT1cInNlbGVjdGlvbk1hbmFnZXI/LnNlbGVjdGlvbi5sZW5ndGhcIj5cclxuICAgICAgICAgICAgPHRyIGNsYXNzPVwiaGVhZGluZy1yb3dcIj5cclxuICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cInNlbGVjdGlvbk1hbmFnZXJcIiBjbGFzcz1cInNlbGVjdGlvbi1jb2xcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xyQ2hlY2tib3hcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0aW9uTWFuYWdlcj8uYXJlQWxsQ3VycmVudEl0ZW1zU2VsZWN0ZWQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25Ub2dnbGVBbGxDbGljaygpXCJcclxuICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgIDx0aFxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgdmlzaWJsZVNvcnRlZENvbHVtbnM7IGxhc3QgYXMgaXNMYXN0XCJcclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZXhwYW5kXT1cImNvbHVtbi5leHBhbmRcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsLWNvbnRlbnRcIiBbbmdDbGFzc109XCJjb2x1bW4uYWxpZ25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHZkci11aS1leHRlbnNpb24tcG9pbnRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb2NhdGlvbklkXT1cImlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttZXRhZGF0YV09XCJjb2x1bW4uaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBpPVwiZGF0YVRhYmxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b3BQeF09XCItNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGVmdFB4XT1cIi0yNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5PVwiYmxvY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBjb2x1bW4uaGVhZGluZyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC92ZHItdWktZXh0ZW5zaW9uLXBvaW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sdW1uLnNvcnQgYXMgc29ydFwiIGNsYXNzPVwic29ydC10b2dnbGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInNvcnQudG9nZ2xlU29ydE9yZGVyKClcIiBbY2xhc3MuYWN0aXZlXT1cInNvcnQuc29ydE9yZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsci1pY29uICpuZ0lmPVwiIXNvcnQuc29ydE9yZGVyXCIgc2hhcGU9XCJ0d28td2F5LWFycm93cyBsZWZ0XCI+PC9jbHItaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xyLWljb24gKm5nSWY9XCJzb3J0LnNvcnRPcmRlciA9PT0gJ0FTQydcIiBzaGFwZT1cImFycm93IHVwXCI+PC9jbHItaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xyLWljb24gKm5nSWY9XCJzb3J0LnNvcnRPcmRlciA9PT0gJ0RFU0MnXCIgc2hhcGU9XCJhcnJvdyBkb3duXCI+PC9jbHItaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNvcnQtbGFiZWxcIiAqbmdJZj1cInNvcnQuc29ydE9yZGVyXCI+e3sgc29ydC5zb3J0T3JkZXIgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRoPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4tcGlja2VyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItZGF0YS10YWJsZS1jb2x1bS1waWNrZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1aUxhbmd1YWdlXT1cInVpTGFuZ3VhZ2UkIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbHVtbnNdPVwic29ydGVkQ29sdW1uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVvcmRlcik9XCJvbkNvbHVtblJlb3JkZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVzZXRDb2x1bW5zKT1cIm9uQ29sdW1uc1Jlc2V0KClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC92ZHItZGF0YS10YWJsZS1jb2x1bS1waWNrZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8dHIgKm5nSWY9XCJzZWFyY2hDb21wb25lbnQgfHwgY3VzdG9tU2VhcmNoVGVtcGxhdGUgfHwgZmlsdGVycz8ubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgICAgICA8dGhcclxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5jb2xzcGFuXT1cInZpc2libGVTb3J0ZWRDb2x1bW5zLmxlbmd0aCArIChzZWxlY3Rpb25NYW5hZ2VyID8gMiA6IDEpXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZpbHRlci1yb3dcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwic2hvd1NlYXJjaEZpbHRlclJvd1wiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ1dHRvbi1naG9zdCB0b2dnbGUtc2VhcmNoLWZpbHRlci1yb3dcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInNob3dTZWFyY2hGaWx0ZXJSb3dcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlU2VhcmNoRmlsdGVyUm93KClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ2NvbW1vbi5zZWFyY2gtYW5kLWZpbHRlci1saXN0JyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJzZWFyY2hcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItcm93LXdyYXBwZXJcIiBbY2xhc3MuaGlkZGVuXT1cIiFzaG93U2VhcmNoRmlsdGVyUm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWFyY2hDb21wb25lbnQ/LnRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21TZWFyY2hUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsdGVyc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmRyLWRhdGEtdGFibGUtZmlsdGVyc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgYWN0aXZlRmlsdGVyIG9mIGZpbHRlcnMuYWN0aXZlRmlsdGVyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWx0ZXJXaXRoVmFsdWVdPVwiYWN0aXZlRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbHRlcnNdPVwiZmlsdGVyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXQtMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdmRyLWRhdGEtdGFibGUtZmlsdGVycz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmRyLWRhdGEtdGFibGUtZmlsdGVyc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImZpbHRlcnMubGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbHRlcnNdPVwiZmlsdGVyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXQtMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdmRyLWRhdGEtdGFibGUtZmlsdGVycz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmRyLWFkZC1maWx0ZXItcHJlc2V0LWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsdGVyc109XCJmaWx0ZXJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFUYWJsZUlkXT1cImlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC92ZHItYWRkLWZpbHRlci1wcmVzZXQtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgPHRyXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbSBvZiBpdGVtc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB8IHBhZ2luYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBpZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zUGVyUGFnZTogaXRlbXNQZXJQYWdlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFBhZ2U6IGN1cnJlbnRQYWdlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxJdGVtczogdG90YWxJdGVtc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgIGluZGV4IGFzIGk7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhY2tCeTogdHJhY2tCeUZuXHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJzZWxlY3Rpb25NYW5hZ2VyXCIgY2xhc3M9XCJzZWxlY3Rpb24tY29sXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVJbmRleCA9PT0gaVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbHJDaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3Rpb25NYW5hZ2VyPy5pc1NlbGVjdGVkKGl0ZW0pXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uUm93Q2xpY2soaXRlbSwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiB2aXNpYmxlU29ydGVkQ29sdW1uc1wiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlSW5kZXggPT09IGlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2VsbC1jb250ZW50XCIgW25nQ2xhc3NdPVwiY29sdW1uLmFsaWduXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY3VzdG9tQ29tcG9uZW50cy5nZXQoY29sdW1uLmlkKSBhcyBjb21wb25lbnRDb25maWc7IGVsc2UgZGVmYXVsdENvbXBvbmVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdDb21wb25lbnRPdXRsZXQ9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50Q29uZmlnLmNvbmZpZy5jb21wb25lbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0czogeyByb3dJdGVtOiBpdGVtIH07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluamVjdG9yOiBjb21wb25lbnRDb25maWcuaW5qZWN0b3JcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q29tcG9uZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29sdW1uLnRlbXBsYXRlOyBjb250ZXh0OiB7IGl0ZW06IGl0ZW0sIGluZGV4OiBpIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZCBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZUluZGV4ID09PSBpXCI+PCEtLSBjb2x1bW4gc2VsZWN0IC0tPjwvdGQ+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8dHIgKm5nSWY9XCIhaXRlbXM/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZCBbYXR0ci5jb2xzcGFuXT1cInZpc2libGVTb3J0ZWRDb2x1bW5zLmxlbmd0aCArIChzZWxlY3Rpb25NYW5hZ2VyID8gMiA6IDEpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItZW1wdHktcGxhY2Vob2xkZXIgW2VtcHR5U3RhdGVMYWJlbF09XCJlbXB0eVN0YXRlTGFiZWxcIj48L3Zkci1lbXB0eS1wbGFjZWhvbGRlcj5cclxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC90Ym9keT5cclxuICAgIDwvdGFibGU+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwidGFibGUtZm9vdGVyXCI+XHJcbiAgICA8dmRyLWl0ZW1zLXBlci1wYWdlLWNvbnRyb2xzXHJcbiAgICAgICAgKm5nSWY9XCJ0b3RhbEl0ZW1zXCJcclxuICAgICAgICBbaXRlbXNQZXJQYWdlXT1cIml0ZW1zUGVyUGFnZVwiXHJcbiAgICAgICAgKGl0ZW1zUGVyUGFnZUNoYW5nZSk9XCJpdGVtc1BlclBhZ2VDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgID48L3Zkci1pdGVtcy1wZXItcGFnZS1jb250cm9scz5cclxuICAgIDxkaXYgKm5nSWY9XCJ0b3RhbEl0ZW1zXCIgY2xhc3M9XCJ0b3RhbC1pdGVtcy1jb3VudFwiPlxyXG4gICAgICAgIHt7ICdjb21tb24udG90YWwtaXRlbXMnIHwgdHJhbnNsYXRlIDogeyBjdXJyZW50U3RhcnQsIGN1cnJlbnRFbmQsIHRvdGFsSXRlbXMgfSB9fVxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPHZkci1wYWdpbmF0aW9uLWNvbnRyb2xzXHJcbiAgICAgICAgKm5nSWY9XCJ0b3RhbEl0ZW1zXCJcclxuICAgICAgICBbaWRdPVwiaWRcIlxyXG4gICAgICAgIFtjdXJyZW50UGFnZV09XCJjdXJyZW50UGFnZVwiXHJcbiAgICAgICAgW2l0ZW1zUGVyUGFnZV09XCJpdGVtc1BlclBhZ2VcIlxyXG4gICAgICAgIFt0b3RhbEl0ZW1zXT1cInRvdGFsSXRlbXNcIlxyXG4gICAgICAgIChwYWdlQ2hhbmdlKT1cInBhZ2VDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgID48L3Zkci1wYWdpbmF0aW9uLWNvbnRyb2xzPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -64,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
64
64
|
providedIn: 'root',
|
|
65
65
|
}]
|
|
66
66
|
}], ctorParameters: () => [{ type: i1.DataTableConfigService }] });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXByZXNldC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvY29tcG9uZW50cy9kYXRhLXRhYmxlLWZpbHRlci1wcmVzZXRzL2ZpbHRlci1wcmVzZXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLG1CQUFtQjtJQUk1QixZQUFvQixzQkFBOEM7UUFBOUMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUYxRCxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUEwQyxDQUFDO1FBRzNFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsV0FBbUI7UUFDaEMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzRSxPQUFPLGVBQWUsQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUE0RDtRQUN6RSxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsRixNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQztRQUMxRCxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMs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QGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXRhVGFibGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1jb25maWcuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlclByZXNldFNlcnZpY2Uge1xuICAgIHByZXNldENoYW5nZXMkOiBPYnNlcnZhYmxlPEFycmF5PHsgbmFtZTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+PjtcbiAgICBwcml2YXRlIF9wcmVzZXRDaGFuZ2VzID0gbmV3IFN1YmplY3Q8QXJyYXk8eyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfT4+KCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGFUYWJsZUNvbmZpZ1NlcnZpY2U6IERhdGFUYWJsZUNvbmZpZ1NlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5wcmVzZXRDaGFuZ2VzJCA9IHRoaXMuX3ByZXNldENoYW5nZXMuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgZ2V0RmlsdGVyUHJlc2V0cyhkYXRhVGFibGVJZDogc3RyaW5nKTogQXJyYXk8eyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfT4ge1xuICAgICAgICBjb25zdCBkYXRhVGFibGVDb25maWcgPSB0aGlzLmRhdGFUYWJsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKGRhdGFUYWJsZUlkKTtcbiAgICAgICAgcmV0dXJuIGRhdGFUYWJsZUNvbmZpZy5maWx0ZXJQcmVzZXRzID8/IFtdO1xuICAgIH1cblxuICAgIHNhdmVGaWx0ZXJQcmVzZXQoY29uZmlnOiB7IGRhdGFUYWJsZUlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9KSB7XG4gICAgICAgIGNvbnN0IGRhdGFUYWJsZUNvbmZpZyA9IHRoaXMuZGF0YVRhYmxlQ29uZmlnU2VydmljZS5nZXRDb25maWcoY29uZmlnLmRhdGFUYWJsZUlkKTtcbiAgICAgICAgY29uc3QgZmlsdGVyUHJlc2V0cyA9IGRhdGFUYWJsZUNvbmZpZy5maWx0ZXJQcmVzZXRzID8/IFtdO1xuICAgICAgICBjb25zdCBleGlzdGluZ05hbWUgPSBmaWx0ZXJQcmVzZXRzLmZpbmQocCA9PiBwLm5hbWUgPT09IGNvbmZpZy5uYW1lKTtcbiAgICAgICAgaWYgKGV4aXN0aW5nTmFtZSkge1xuICAgICAgICAgICAgZXhpc3RpbmdOYW1lLnZhbHVlID0gY29uZmlnLnZhbHVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZmlsdGVyUHJlc2V0cy5wdXNoKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBjb25maWcubmFtZSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogY29uZmlnLnZhbHVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZGF0YVRhYmxlQ29uZmlnLmZpbHRlclByZXNldHMgPSBmaWx0ZXJQcmVzZXRzO1xuICAgICAgICB0aGlzLmRhdGFUYWJsZUNvbmZpZ1NlcnZpY2Uuc2V0Q29uZmlnKGNvbmZpZy5kYXRhVGFibGVJZCwgZGF0YVRhYmxlQ29uZmlnKTtcbiAgICAgICAgdGhpcy5fcHJlc2V0Q2hhbmdlcy5uZXh0KGZpbHRlclByZXNldHMpO1xuICAgIH1cblxuICAgIGRlbGV0ZUZpbHRlclByZXNldChjb25maWc6IHsgZGF0YVRhYmxlSWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nIH0pIHtcbiAgICAgICAgY29uc3QgZGF0YVRhYmxlQ29uZmlnID0gdGhpcy5kYXRhVGFibGVDb25maWdTZXJ2aWNlLmdldENvbmZpZyhjb25maWcuZGF0YVRhYmxlSWQpO1xuICAgICAgICBkYXRhVGFibGVDb25maWcuZmlsdGVyUHJlc2V0cyA9IGRhdGFUYWJsZUNvbmZpZy5maWx0ZXJQcmVzZXRzLmZpbHRlcihwID0+IHAubmFtZSAhPT0gY29uZmlnLm5hbWUpO1xuICAgICAgICB0aGlzLmRhdGFUYWJsZUNvbmZpZ1NlcnZpY2Uuc2V0Q29uZmlnKGNvbmZpZy5kYXRhVGFibGVJZCwgZGF0YVRhYmxlQ29uZmlnKTtcbiAgICAgICAgdGhpcy5fcHJlc2V0Q2hhbmdlcy5uZXh0KGRhdGFUYWJsZUNvbmZpZy5maWx0ZXJQcmVzZXRzKTtcbiAgICB9XG5cbiAgICByZW9yZGVyUHJlc2V0cyhkYXRhVGFibGVJZDogc3RyaW5nLCBmcm9tSW5kZXg6IG51bWJlciwgdG9JbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IHByZXNldHMgPSB0aGlzLmdldEZpbHRlclByZXNldHMoZGF0YVRhYmxlSWQpO1xuICAgICAgICBtb3ZlSXRlbUluQXJyYXkocHJlc2V0cywgZnJvbUluZGV4LCB0b0luZGV4KTtcbiAgICAgICAgY29uc3QgZGF0YVRhYmxlQ29uZmlnID0gdGhpcy5kYXRhVGFibGVDb25maWdTZXJ2aWNlLmdldENvbmZpZyhkYXRhVGFibGVJZCk7XG4gICAgICAgIGRhdGFUYWJsZUNvbmZpZy5maWx0ZXJQcmVzZXRzID0gcHJlc2V0cztcbiAgICAgICAgdGhpcy5kYXRhVGFibGVDb25maWdTZXJ2aWNlLnNldENvbmZpZyhkYXRhVGFibGVJZCwgZGF0YVRhYmxlQ29uZmlnKTtcbiAgICAgICAgdGhpcy5fcHJlc2V0Q2hhbmdlcy5uZXh0KHByZXNldHMpO1xuICAgIH1cblxuICAgIHJlbmFtZUZpbHRlclByZXNldChjb25maWc6IHsgZGF0YVRhYmxlSWQ6IHN0cmluZzsgb2xkTmFtZTogc3RyaW5nOyBuZXdOYW1lOiBzdHJpbmcgfSkge1xuICAgICAgICBjb25zdCBkYXRhVGFibGVDb25maWcgPSB0aGlzLmRhdGFUYWJsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKGNvbmZpZy5kYXRhVGFibGVJZCk7XG4gICAgICAgIGNvbnN0IGZpbHRlclByZXNldHMgPSBkYXRhVGFibGVDb25maWcuZmlsdGVyUHJlc2V0cyA/PyBbXTtcbiAgICAgICAgY29uc3QgZXhpc3RpbmdOYW1lID0gZmlsdGVyUHJlc2V0cy5maW5kKHAgPT4gcC5uYW1lID09PSBjb25maWcub2xkTmFtZSk7XG4gICAgICAgIGlmIChleGlzdGluZ05hbWUpIHtcbiAgICAgICAgICAgIGV4aXN0aW5nTmFtZS5uYW1lID0gY29uZmlnLm5ld05hbWU7XG4gICAgICAgICAgICBkYXRhVGFibGVDb25maWcuZmlsdGVyUHJlc2V0cyA9IGZpbHRlclByZXNldHM7XG4gICAgICAgICAgICB0aGlzLmRhdGFUYWJsZUNvbmZpZ1NlcnZpY2Uuc2V0Q29uZmlnKGNvbmZpZy5kYXRhVGFibGVJZCwgZGF0YVRhYmxlQ29uZmlnKTtcbiAgICAgICAgICAgIHRoaXMuX3ByZXNldENoYW5nZXMubmV4dChmaWx0ZXJQcmVzZXRzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|