@colijnit/transaction 12.1.134 → 12.1.136
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/bundles/colijnit-transaction.umd.js +551 -625
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.d.ts +463 -468
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/colijnit-transaction.js +464 -469
- package/esm2015/lib/component/core/base/components/transaction-header-block/transaction-header-block.component.js +7 -3
- package/esm2015/lib/component/transaction/transaction.component.js +96 -89
- package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.component.js +31 -19
- package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.module.js +4 -2
- package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.js +36 -16
- package/esm2015/lib/component/transaction-header/transaction-header-order/transaction-header-order.component.js +30 -21
- package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +48 -18
- package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.js +19 -9
- package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.module.js +6 -3
- package/esm2015/lib/component/transaction-header-fields/transaction-header-payment-button/transaction-header-payment-button.component.js +2 -2
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.component.js +34 -41
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.component.js +98 -112
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.component.js +94 -120
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.js +17 -18
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.component.js +22 -15
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.js +13 -13
- package/esm2015/lib/enum/icon.enum.js +2 -1
- package/esm2015/lib/model/Settings.js +4 -0
- package/esm2015/lib/model/icon-svg.js +2 -1
- package/esm2015/lib/res/dictionary/dictionaries.js +3 -3
- package/esm2015/lib/service/options.service.js +8 -31
- package/esm2015/lib/service/relation-connector.service.js +4 -2
- package/esm2015/lib/service/transaction-base.service.js +2 -2
- package/esm2015/lib/service/transaction-connector-adapter.service.js +3 -3
- package/esm2015/lib/service/transaction-connector.service.js +3 -3
- package/esm2015/lib/transaction-version.js +3 -3
- package/esm2015/public_api.js +6 -1
- package/fesm2015/colijnit-transaction.js +541 -505
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/lib/component/core/base/components/transaction-header-block/style/_layout.scss +27 -0
- package/lib/component/core/base/components/transaction-header-block/style/_material-definition.scss +12 -3
- package/lib/component/core/base/components/transaction-header-block/transaction-header-block.component.d.ts +1 -0
- package/lib/component/transaction/transaction.component.d.ts +3 -2
- package/lib/component/transaction-button-bar/style/_material-definition.scss +1 -1
- package/lib/component/transaction-document-button/style/_layout.scss +59 -0
- package/lib/component/transaction-document-button/style/_material-definition.scss +9 -0
- package/lib/component/transaction-document-button/style/_theme.scss +5 -0
- package/lib/component/transaction-document-button/style/material.scss +4 -0
- package/lib/component/transaction-header/style/_layout.scss +1 -1
- package/lib/component/transaction-header/style/_material-definition.scss +1 -1
- package/lib/component/transaction-header/transaction-header/style/_layout.scss +35 -1
- package/lib/component/transaction-header/transaction-header/style/_material-definition.scss +11 -2
- package/lib/component/transaction-header/transaction-header/transaction-header.component.d.ts +5 -0
- package/lib/component/transaction-header/transaction-header-delivery/style/_layout.scss +57 -11
- package/lib/component/transaction-header/transaction-header-delivery/style/_material-definition.scss +22 -2
- package/lib/component/transaction-header/transaction-header-delivery/style/_theme.scss +6 -2
- package/lib/component/transaction-header/transaction-header-order/style/_layout.scss +11 -5
- package/lib/component/transaction-header/transaction-header-order/style/_material-definition.scss +8 -4
- package/lib/component/transaction-header/transaction-header-order/style/_theme.scss +1 -0
- package/lib/component/transaction-header/transaction-header-payment/style/_layout.scss +46 -0
- package/lib/component/transaction-header/transaction-header-payment/style/_material-definition.scss +17 -0
- package/lib/component/transaction-header/transaction-header-popup/style/_material-definition.scss +15 -0
- package/lib/component/transaction-header/transaction-header-relation/style/_layout.scss +47 -0
- package/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-deliverydate-definitive-button/style/_layout.scss +19 -3
- package/lib/component/transaction-header-fields/transaction-header-deliverydate-definitive-button/style/_material-definition.scss +8 -3
- package/lib/component/transaction-header-fields/transaction-header-payment-button/style/_material-definition.scss +1 -1
- package/lib/component/transaction-header-fields/transaction-header-payment-button/style/_theme.scss +1 -1
- package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.component.d.ts +2 -1
- package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.component.d.ts +6 -2
- package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.component.d.ts +2 -1
- package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.d.ts +6 -6
- package/lib/enum/icon.enum.d.ts +1 -0
- package/lib/model/Settings.d.ts +3 -0
- package/lib/res/dictionary/dictionaries.d.ts +4 -0
- package/lib/service/options.service.d.ts +2 -2
- package/lib/service/transaction-connector-adapter.service.d.ts +10 -10
- package/lib/service/transaction-connector.service.d.ts +7 -7
- package/lib/style/_variables.scss +4 -1
- package/package.json +4 -4
- package/public_api.d.ts +5 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Component, HostBinding } from "@angular/core";
|
|
2
2
|
import { ArticleExtendedRequest } from "@colijnit/articleapi/build/model/article-extended-request";
|
|
3
|
+
import { FilterItemMode } from "@colijnit/corecomponents_v12";
|
|
3
4
|
import { FilterViewmodel } from "@colijnit/corecomponents_v12";
|
|
4
5
|
import { TransactionService } from "../../../../../service/transaction.service";
|
|
5
6
|
import { TransactionFilterContentBaseComponent } from "../../../../core/base/transaction-filter-content-base.component";
|
|
@@ -15,6 +16,7 @@ export class TransactionPurchaseOrderFilterContentArticleComponent extends Trans
|
|
|
15
16
|
this.filterRequestService = filterRequestService;
|
|
16
17
|
this.transactionService = transactionService;
|
|
17
18
|
this._relationService = _relationService;
|
|
19
|
+
this.modes = FilterItemMode;
|
|
18
20
|
this.exceedanceCodeFields = { text: "description", value: "code" };
|
|
19
21
|
this.turnoverGroupFields = { text: "description", value: "turnovergroupNr" };
|
|
20
22
|
this.mainArticleFields = { text: "description", value: "articlenumber" };
|
|
@@ -63,68 +65,59 @@ TransactionPurchaseOrderFilterContentArticleComponent.decorators = [
|
|
|
63
65
|
{ type: Component, args: [{
|
|
64
66
|
selector: 'co-transaction-purchase-order-filter-content-article',
|
|
65
67
|
template: `
|
|
66
|
-
<div class="transaction-filter-content-article-wrapper transaction-filter-content-wrapper"
|
|
68
|
+
<div class="transaction-filter-content-article-wrapper transaction-filter-content-wrapper">
|
|
67
69
|
|
|
68
70
|
<!--Artikelnummer-->
|
|
69
|
-
<div class="filter-item-wrapper"
|
|
70
|
-
<co-transaction-filter-item
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
[collectionLoadFn]="getArticles"
|
|
76
|
-
(collectionChange)="filterRequestService.handleCollectionChangeForSingleSelect($event, 'articleNr')">
|
|
71
|
+
<div class="filter-item-wrapper">
|
|
72
|
+
<co-transaction-filter-item [placeholder]="'ARTICLE_NR'"
|
|
73
|
+
[minSearchCharsToLoadCollection]="3"
|
|
74
|
+
[collectionLoadFn]="getArticles"
|
|
75
|
+
[mode]="modes.SingleSelectList"
|
|
76
|
+
[model]="searchService.searchRequest.articleNr">
|
|
77
77
|
</co-transaction-filter-item>
|
|
78
78
|
</div>
|
|
79
79
|
|
|
80
80
|
<!--Omzetgroep-->
|
|
81
|
-
<div class="filter-item-wrapper"
|
|
82
|
-
<co-transaction-filter-item
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
(collectionChange)="filterRequestService.handleCollectionChangeForRange($event, 'rangeTurnoverGroup')">
|
|
81
|
+
<div class="filter-item-wrapper">
|
|
82
|
+
<co-transaction-filter-item [placeholder]="'TURNOVER_GROUP'"
|
|
83
|
+
[collection]="turnoverGroups"
|
|
84
|
+
[(model)]="searchService.searchRequest.rangeTurnoverGroup"
|
|
85
|
+
[mode]="modes.Filterlist">
|
|
87
86
|
</co-transaction-filter-item>
|
|
88
87
|
</div>
|
|
89
88
|
|
|
90
89
|
<!--Uitloopcode -->
|
|
91
|
-
<div class="filter-item-wrapper"
|
|
92
|
-
<co-transaction-filter-item
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
(collectionChange)="filterRequestService.handleCollectionChangeForArray($event, 'exceedanceCodes')"
|
|
97
|
-
>
|
|
90
|
+
<div class="filter-item-wrapper">
|
|
91
|
+
<co-transaction-filter-item [placeholder]="'EXCEEDENCE_CODE'"
|
|
92
|
+
[collection]="exceedanceCodes"
|
|
93
|
+
[(model)]="searchService.searchRequest.exceedanceCodes"
|
|
94
|
+
[mode]="modes.SelectListWithStringCollectionOutput">
|
|
98
95
|
</co-transaction-filter-item>
|
|
99
96
|
</div>
|
|
100
97
|
|
|
101
98
|
<!--Serienummer -->
|
|
102
|
-
<div class="filter-item-wrapper"
|
|
103
|
-
<co-transaction-filter-item
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
<co-input-text [(model)]="searchRequest.serialNumber"
|
|
107
|
-
[placeholder]="searchPlaceholder.SerialNumber | localize"></co-input-text>
|
|
99
|
+
<div class="filter-item-wrapper">
|
|
100
|
+
<co-transaction-filter-item [placeholder]="'SERIAL_NUMBER'"
|
|
101
|
+
[(model)]="searchService.searchRequest.serialNumber"
|
|
102
|
+
[mode]="modes.TextField">
|
|
108
103
|
</co-transaction-filter-item>
|
|
109
104
|
</div>
|
|
110
105
|
|
|
111
106
|
<!--Batchnummer -->
|
|
112
|
-
<div class="filter-item-wrapper"
|
|
113
|
-
<co-transaction-filter-item
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
[placeholder]="searchPlaceholder.BatchNumber | localize"></co-input-text>
|
|
107
|
+
<div class="filter-item-wrapper">
|
|
108
|
+
<co-transaction-filter-item [placeholder]="'BATCH_NUMBER'"
|
|
109
|
+
[(model)]="searchService.searchRequest.batchNumber"
|
|
110
|
+
[mode]="modes.TextField"
|
|
111
|
+
>
|
|
118
112
|
</co-transaction-filter-item>
|
|
119
113
|
</div>
|
|
120
114
|
|
|
121
115
|
<!--Leverancier-->
|
|
122
|
-
<div class="filter-item-wrapper"
|
|
123
|
-
<co-transaction-filter-item
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
(collectionChange)="filterRequestService.handleCollectionChangeForRange($event, 'rangeSupplier')">
|
|
116
|
+
<div class="filter-item-wrapper">
|
|
117
|
+
<co-transaction-filter-item [placeholder]="'SUPPLIER'"
|
|
118
|
+
[collection]="suppliers"
|
|
119
|
+
[(model)]="searchService.searchRequest.rangeSupplier"
|
|
120
|
+
[mode]="modes.Filterlist">
|
|
128
121
|
</co-transaction-filter-item>
|
|
129
122
|
</div>
|
|
130
123
|
</div>
|
|
@@ -140,4 +133,4 @@ TransactionPurchaseOrderFilterContentArticleComponent.ctorParameters = () => [
|
|
|
140
133
|
TransactionPurchaseOrderFilterContentArticleComponent.propDecorators = {
|
|
141
134
|
showClass: [{ type: HostBinding, args: ["class.co-transaction-search-filter-content",] }]
|
|
142
135
|
};
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItZmlsdGVyLWNvbnRlbnQtYXJ0aWNsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1zZWFyY2gvdHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQvcHVyY2hhc2Utb3JkZXItZmlsdGVyLWNvbnRlbnQvdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItZmlsdGVyLWNvbnRlbnQtYXJ0aWNsZS90cmFuc2FjdGlvbi1wdXJjaGFzZS1vcmRlci1maWx0ZXItY29udGVudC1hcnRpY2xlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUtqRyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDOUUsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDdEgsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDN0UsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFFckYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ25GLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUNoRixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUF3RXhFLE1BQU0sT0FBTyxxREFBc0QsU0FBUSxxQ0FBcUM7SUFtQjlHLFlBQ1MsYUFBdUMsRUFDdkMsb0JBQTBDLEVBQzFDLGtCQUFzQyxFQUNyQyxnQkFBaUM7UUFFekMsS0FBSyxDQUFDLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO1FBTHZELGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUN2Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDckMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQWZwQyx5QkFBb0IsR0FBb0IsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsQ0FBQztRQUc3RSx3QkFBbUIsR0FBb0IsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBQyxDQUFDO1FBR3ZGLHNCQUFpQixHQUFvQixFQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBQyxDQUFDO1FBR25GLG1CQUFjLEdBQW9CLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFDLENBQUM7UUFrQjdFLGdCQUFXLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRTtZQUNwQyxNQUFNLE9BQU8sR0FBMkIsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO1lBQ3JFLE9BQU8sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1lBQzdCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUF3QixFQUFFLEVBQUU7Z0JBQ3BGLE9BQU8sSUFBSSxlQUFlLENBQUMsUUFBUSxFQUFFLEVBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7WUFDcEcsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUE7SUFmRCxDQUFDO0lBdkJNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUF1Qk0sUUFBUTtRQUNiLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBVU8sbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxlQUFnQyxFQUFFLEVBQUU7WUFDekYsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ3JHLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUFvQyxFQUFFLEVBQUU7WUFDeEYsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ2xHLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBdUIsRUFBRSxFQUFFO1lBQ3pFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxlQUFlLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUN4RixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxhQUFhO1FBQ25CLE1BQU0sT0FBTyxHQUFvQixJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQ3ZELE9BQU8sQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztRQUM3QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsbUJBQW1CLEVBQUUsRUFBRTtZQUNqRixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksZUFBZSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDN0YsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDOzs7WUF6SUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxzREFBc0Q7Z0JBQ2hFLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0VUO2FBQ0Y7OztZQTNFTyx3QkFBd0I7WUFEeEIsb0JBQW9CO1lBRnBCLGtCQUFrQjtZQU9sQixlQUFlOzs7d0JBMEVwQixXQUFXLFNBQUMsNENBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEhvc3RCaW5kaW5nfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0FydGljbGVFeHRlbmRlZFJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWV4dGVuZGVkLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtBcnRpY2xlTGlnaHR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWxpZ2h0LmJvXCI7XHJcbmltcG9ydCB7TWFpbkFydGljbGV9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9tYWluLWFydGljbGUuYm9cIjtcclxuaW1wb3J0IHtUdXJub3Zlckdyb3VwSW1hZ2V9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC90dXJub3Zlci1ncm91cC1pbWFnZS5ib1wiO1xyXG5pbXBvcnQge0ZpbHRlckl0ZW1WaWV3bW9kZWx9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7RmlsdGVyVmlld21vZGVsfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRmlsdGVyQ29udGVudEJhc2VDb21wb25lbnR9IGZyb20gXCIuLi8uLi8uLi8uLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtGaWx0ZXJSZXF1ZXN0U2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvZmlsdGVyLXJlcXVlc3Quc2VydmljZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VhcmNoU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2VhcmNoLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtDb0RvbWFpblZhbHVlfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9tYWluLXZhbHVlLmJvXCI7XHJcbmltcG9ydCB7UmVsYXRpb25SZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtSZWxhdGlvbktpbmR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9lbnVtL3JlbGF0aW9uLWtpbmQuZW51bVwiO1xyXG5pbXBvcnQge1JlbGF0aW9uU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL3NlcnZpY2UvcmVsYXRpb24uc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby10cmFuc2FjdGlvbi1wdXJjaGFzZS1vcmRlci1maWx0ZXItY29udGVudC1hcnRpY2xlJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50LWFydGljbGUtd3JhcHBlciB0cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC13cmFwcGVyXCIgbGF6eVJlbmRlck1hc3Rlcj5cclxuXHJcbiAgICAgIDwhLS1BcnRpa2VsbnVtbWVyLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCIgbGF6eVJlbmRlciAjbGF6eVJlbmRlckFydGljbGVOcj1cImxhenlSZW5kZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gKm5nSWY9XCJsYXp5UmVuZGVyQXJ0aWNsZU5yLmlzU2hvd2luZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQVJUSUNMRV9OUidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoQ29sbGVjdGlvblBsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyLkFydGljbGVOclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzaW5nbGVTZWxlY3RdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttaW5TZWFyY2hDaGFyc1RvTG9hZENvbGxlY3Rpb25dPVwiM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uTG9hZEZuXT1cImdldEFydGljbGVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvclNpbmdsZVNlbGVjdCgkZXZlbnQsICdhcnRpY2xlTnInKVwiPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLU9temV0Z3JvZXAtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIiBsYXp5UmVuZGVyICNsYXp5UmVuZGVyVHVybm92ZXJHcm91cD1cImxhenlSZW5kZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gKm5nSWY9XCJsYXp5UmVuZGVyVHVybm92ZXJHcm91cC5pc1Nob3dpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1RVUk5PVkVSX0dST1VQJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hDb2xsZWN0aW9uUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIuVHVybm92ZXJHcm91cFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cInR1cm5vdmVyR3JvdXBzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvclJhbmdlKCRldmVudCwgJ3JhbmdlVHVybm92ZXJHcm91cCcpXCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tVWl0bG9vcGNvZGUgLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCIgbGF6eVJlbmRlciAjbGF6eVJlbmRlckV4Y2VlZGFuY2VDb2Rlcz1cImxhenlSZW5kZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gKm5nSWY9XCJsYXp5UmVuZGVyRXhjZWVkYW5jZUNvZGVzLmlzU2hvd2luZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInRVhDRUVERU5DRV9DT0RFJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hDb2xsZWN0aW9uUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIuRXhjZWVkZW5jZUNvZGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJleGNlZWRhbmNlQ29kZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJmaWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDb2xsZWN0aW9uQ2hhbmdlRm9yQXJyYXkoJGV2ZW50LCAnZXhjZWVkYW5jZUNvZGVzJylcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1TZXJpZW51bW1lciAtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIiBsYXp5UmVuZGVyICNsYXp5UmVuZGVyU2VyaWFsTnVtYmVyPVwibGF6eVJlbmRlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSAqbmdJZj1cImxhenlSZW5kZXJTZXJpYWxOdW1iZXIuaXNTaG93aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTRVJJQUxfTlVNQkVSJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIj5cclxuICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInNlYXJjaFJlcXVlc3Quc2VyaWFsTnVtYmVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlci5TZXJpYWxOdW1iZXIgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1CYXRjaG51bW1lciAtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIiBsYXp5UmVuZGVyICNsYXp5UmVuZGVyQmF0Y2hOcj1cImxhenlSZW5kZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gKm5nSWY9XCJsYXp5UmVuZGVyQmF0Y2hOci5pc1Nob3dpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0JBVENIX05VTUJFUidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY3VzdG9tQ29udGVudF09XCJ0cnVlXCI+XHJcbiAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LmJhdGNoTnVtYmVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlci5CYXRjaE51bWJlciB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLUxldmVyYW5jaWVyLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCIgbGF6eVJlbmRlciAjbGF6eVJlbmRlclN1cHBsaWVyPVwibGF6eVJlbmRlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSAqbmdJZj1cImxhenlSZW5kZXJTdXBwbGllci5pc1Nob3dpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NVUFBMSUVSJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hDb2xsZWN0aW9uUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIuU3VwcGxpZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJzdXBwbGllcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJmaWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDb2xsZWN0aW9uQ2hhbmdlRm9yUmFuZ2UoJGV2ZW50LCAncmFuZ2VTdXBwbGllcicpXCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICBgXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvblB1cmNoYXNlT3JkZXJGaWx0ZXJDb250ZW50QXJ0aWNsZUNvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uRmlsdGVyQ29udGVudEJhc2VDb21wb25lbnQge1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10cmFuc2FjdGlvbi1zZWFyY2gtZmlsdGVyLWNvbnRlbnRcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZXhjZWVkYW5jZUNvZGVzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIGV4Y2VlZGFuY2VDb2RlRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJjb2RlXCJ9O1xyXG5cclxuICBwdWJsaWMgdHVybm92ZXJHcm91cHM6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgdHVybm92ZXJHcm91cEZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwidHVybm92ZXJncm91cE5yXCJ9O1xyXG5cclxuICBwdWJsaWMgbWFpbkFydGljbGVzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIG1haW5BcnRpY2xlRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJhcnRpY2xlbnVtYmVyXCJ9O1xyXG5cclxuICBwdWJsaWMgc3VwcGxpZXJzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIHN1cHBsaWVyRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkaXNwbGF5TmFtZVwiLCB2YWx1ZTogXCJyZWxhdGlvbklkXCJ9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzZWFyY2hTZXJ2aWNlOiBUcmFuc2FjdGlvblNlYXJjaFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZmlsdGVyUmVxdWVzdFNlcnZpY2U6IEZpbHRlclJlcXVlc3RTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcmVsYXRpb25TZXJ2aWNlOiBSZWxhdGlvblNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKHNlYXJjaFNlcnZpY2UsIGZpbHRlclJlcXVlc3RTZXJ2aWNlLCB0cmFuc2FjdGlvblNlcnZpY2UpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zZXRFeGNlZWRhbmNlQ29kZXMoKTtcclxuICAgIHRoaXMuX3NldFN1cHBsaWVycygpO1xyXG4gICAgdGhpcy5fc2V0VHVybm92ZXJHcm91cHMoKTtcclxuICAgIHRoaXMuX3NldE1haW5BcnRpY2xlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEFydGljbGVzID0gKHRleHQ6IHN0cmluZykgPT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdDogQXJ0aWNsZUV4dGVuZGVkUmVxdWVzdCA9IG5ldyBBcnRpY2xlRXh0ZW5kZWRSZXF1ZXN0KCk7XHJcbiAgICByZXF1ZXN0LmFydGljbGVOdW1iZXIgPSB0ZXh0O1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldEFydGljbGVzKHJlcXVlc3QpLnRoZW4oKGFydGljbGVzOiBBcnRpY2xlTGlnaHRbXSkgPT4ge1xyXG4gICAgICByZXR1cm4gbmV3IEZpbHRlclZpZXdtb2RlbChhcnRpY2xlcywge3RleHQ6ICdhcnRpY2xlTnVtYmVyJywgdmFsdWU6ICdhcnRpY2xlTnVtYmVyJ30pLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRFeGNlZWRhbmNlQ29kZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRJbk91dENvbGxlY3Rpb24oXCJOTFwiKS50aGVuKChleGNlZWRhbmNlQ29kZXM6IENvRG9tYWluVmFsdWVbXSkgPT4ge1xyXG4gICAgICB0aGlzLmV4Y2VlZGFuY2VDb2RlcyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwoZXhjZWVkYW5jZUNvZGVzLCB0aGlzLmV4Y2VlZGFuY2VDb2RlRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0VHVybm92ZXJHcm91cHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRUdXJub3Zlckdyb3VwcygpLnRoZW4oKHR1cm5vdmVyR3JvdXBzOiBUdXJub3Zlckdyb3VwSW1hZ2VbXSkgPT4ge1xyXG4gICAgICB0aGlzLnR1cm5vdmVyR3JvdXBzID0gbmV3IEZpbHRlclZpZXdtb2RlbCh0dXJub3Zlckdyb3VwcywgdGhpcy50dXJub3Zlckdyb3VwRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0TWFpbkFydGljbGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0TWFpbkFydGljbGVzKCkudGhlbigoYXJ0aWNsZXM6IE1haW5BcnRpY2xlW10pID0+IHtcclxuICAgICAgdGhpcy5tYWluQXJ0aWNsZXMgPSBuZXcgRmlsdGVyVmlld21vZGVsKGFydGljbGVzLCB0aGlzLm1haW5BcnRpY2xlRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0U3VwcGxpZXJzKCk6IHZvaWQge1xyXG4gICAgY29uc3QgcmVxdWVzdDogUmVsYXRpb25SZXF1ZXN0ID0gbmV3IFJlbGF0aW9uUmVxdWVzdCgpO1xyXG4gICAgcmVxdWVzdC5yZWxhdGlvblR5cGUgPSBSZWxhdGlvbktpbmQuU3VwcGxpZXI7XHJcbiAgICB0aGlzLl9yZWxhdGlvblNlcnZpY2UuZ2V0UmVsYXRpb25MaXN0T2JqZWN0cyhyZXF1ZXN0KS50aGVuKChyZWxhdGlvbkxpc3RPYmplY3RzKSA9PiB7XHJcbiAgICAgIHRoaXMuc3VwcGxpZXJzID0gbmV3IEZpbHRlclZpZXdtb2RlbChyZWxhdGlvbkxpc3RPYmplY3RzLCB0aGlzLnN1cHBsaWVyRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItZmlsdGVyLWNvbnRlbnQtYXJ0aWNsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1zZWFyY2gvdHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQvcHVyY2hhc2Utb3JkZXItZmlsdGVyLWNvbnRlbnQvdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItZmlsdGVyLWNvbnRlbnQtYXJ0aWNsZS90cmFuc2FjdGlvbi1wdXJjaGFzZS1vcmRlci1maWx0ZXItY29udGVudC1hcnRpY2xlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUlqRyxPQUFPLEVBQUMsY0FBYyxFQUFzQixNQUFNLDhCQUE4QixDQUFDO0FBQ2pGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUM5RSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUN0SCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUVyRixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDbkYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQStEeEUsTUFBTSxPQUFP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Q0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztRQUM3QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsbUJBQW1CLEVBQUUsRUFBRTtZQUNqRixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksZUFBZSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDN0YsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDOzs7WUFqSUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxzREFBc0Q7Z0JBQ2hFLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeURUO2FBQ0Y7OztZQWxFTyx3QkFBd0I7WUFEeEIsb0JBQW9CO1lBRnBCLGtCQUFrQjtZQU9sQixlQUFlOzs7d0JBa0VwQixXQUFXLFNBQUMsNENBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEhvc3RCaW5kaW5nfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0FydGljbGVFeHRlbmRlZFJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWV4dGVuZGVkLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtBcnRpY2xlTGlnaHR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWxpZ2h0LmJvXCI7XHJcbmltcG9ydCB7TWFpbkFydGljbGV9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9tYWluLWFydGljbGUuYm9cIjtcclxuaW1wb3J0IHtUdXJub3Zlckdyb3VwSW1hZ2V9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC90dXJub3Zlci1ncm91cC1pbWFnZS5ib1wiO1xyXG5pbXBvcnQge0ZpbHRlckl0ZW1Nb2RlLCBGaWx0ZXJJdGVtVmlld21vZGVsfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge0ZpbHRlclZpZXdtb2RlbH0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkZpbHRlckNvbnRlbnRCYXNlQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vLi4vLi4vY29yZS9iYXNlL3RyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50LWJhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7RmlsdGVyUmVxdWVzdFNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL2ZpbHRlci1yZXF1ZXN0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlYXJjaFNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNlYXJjaC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Q29Eb21haW5WYWx1ZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvbWFpbi12YWx1ZS5ib1wiO1xyXG5pbXBvcnQge1JlbGF0aW9uUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7UmVsYXRpb25LaW5kfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvZW51bS9yZWxhdGlvbi1raW5kLmVudW1cIjtcclxuaW1wb3J0IHtSZWxhdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlL3JlbGF0aW9uLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItZmlsdGVyLWNvbnRlbnQtYXJ0aWNsZScsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC1hcnRpY2xlLXdyYXBwZXIgdHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtd3JhcHBlclwiPlxyXG5cclxuICAgICAgPCEtLUFydGlrZWxudW1tZXItLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gW3BsYWNlaG9sZGVyXT1cIidBUlRJQ0xFX05SJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttaW5TZWFyY2hDaGFyc1RvTG9hZENvbGxlY3Rpb25dPVwiM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uTG9hZEZuXT1cImdldEFydGljbGVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuU2luZ2xlU2VsZWN0TGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJzZWFyY2hTZXJ2aWNlLnNlYXJjaFJlcXVlc3QuYXJ0aWNsZU5yXCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tT216ZXRncm9lcC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ1RVUk5PVkVSX0dST1VQJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cInR1cm5vdmVyR3JvdXBzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoU2VydmljZS5zZWFyY2hSZXF1ZXN0LnJhbmdlVHVybm92ZXJHcm91cFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLkZpbHRlcmxpc3RcIj5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1VaXRsb29wY29kZSAtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gW3BsYWNlaG9sZGVyXT1cIidFWENFRURFTkNFX0NPREUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwiZXhjZWVkYW5jZUNvZGVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoU2VydmljZS5zZWFyY2hSZXF1ZXN0LmV4Y2VlZGFuY2VDb2Rlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLlNlbGVjdExpc3RXaXRoU3RyaW5nQ29sbGVjdGlvbk91dHB1dFwiPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLVNlcmllbnVtbWVyIC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ1NFUklBTF9OVU1CRVInXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoU2VydmljZS5zZWFyY2hSZXF1ZXN0LnNlcmlhbE51bWJlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLlRleHRGaWVsZFwiPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLUJhdGNobnVtbWVyIC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ0JBVENIX05VTUJFUidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hTZXJ2aWNlLnNlYXJjaFJlcXVlc3QuYmF0Y2hOdW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5UZXh0RmllbGRcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1MZXZlcmFuY2llci0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ1NVUFBMSUVSJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cInN1cHBsaWVyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFNlcnZpY2Uuc2VhcmNoUmVxdWVzdC5yYW5nZVN1cHBsaWVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuRmlsdGVybGlzdFwiPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgYFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25QdXJjaGFzZU9yZGVyRmlsdGVyQ29udGVudEFydGljbGVDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkZpbHRlckNvbnRlbnRCYXNlQ29tcG9uZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgbW9kZXM6IHR5cGVvZiBGaWx0ZXJJdGVtTW9kZSA9IEZpbHRlckl0ZW1Nb2RlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10cmFuc2FjdGlvbi1zZWFyY2gtZmlsdGVyLWNvbnRlbnRcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZXhjZWVkYW5jZUNvZGVzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIGV4Y2VlZGFuY2VDb2RlRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJjb2RlXCJ9O1xyXG5cclxuICBwdWJsaWMgdHVybm92ZXJHcm91cHM6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgdHVybm92ZXJHcm91cEZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwidHVybm92ZXJncm91cE5yXCJ9O1xyXG5cclxuICBwdWJsaWMgbWFpbkFydGljbGVzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIG1haW5BcnRpY2xlRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJhcnRpY2xlbnVtYmVyXCJ9O1xyXG5cclxuICBwdWJsaWMgc3VwcGxpZXJzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIHN1cHBsaWVyRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkaXNwbGF5TmFtZVwiLCB2YWx1ZTogXCJyZWxhdGlvbklkXCJ9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzZWFyY2hTZXJ2aWNlOiBUcmFuc2FjdGlvblNlYXJjaFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZmlsdGVyUmVxdWVzdFNlcnZpY2U6IEZpbHRlclJlcXVlc3RTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcmVsYXRpb25TZXJ2aWNlOiBSZWxhdGlvblNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKHNlYXJjaFNlcnZpY2UsIGZpbHRlclJlcXVlc3RTZXJ2aWNlLCB0cmFuc2FjdGlvblNlcnZpY2UpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zZXRFeGNlZWRhbmNlQ29kZXMoKTtcclxuICAgIHRoaXMuX3NldFN1cHBsaWVycygpO1xyXG4gICAgdGhpcy5fc2V0VHVybm92ZXJHcm91cHMoKTtcclxuICAgIHRoaXMuX3NldE1haW5BcnRpY2xlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEFydGljbGVzID0gKHRleHQ6IHN0cmluZykgPT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdDogQXJ0aWNsZUV4dGVuZGVkUmVxdWVzdCA9IG5ldyBBcnRpY2xlRXh0ZW5kZWRSZXF1ZXN0KCk7XHJcbiAgICByZXF1ZXN0LmFydGljbGVOdW1iZXIgPSB0ZXh0O1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldEFydGljbGVzKHJlcXVlc3QpLnRoZW4oKGFydGljbGVzOiBBcnRpY2xlTGlnaHRbXSkgPT4ge1xyXG4gICAgICByZXR1cm4gbmV3IEZpbHRlclZpZXdtb2RlbChhcnRpY2xlcywge3RleHQ6ICdhcnRpY2xlTnVtYmVyJywgdmFsdWU6ICdhcnRpY2xlTnVtYmVyJ30pLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRFeGNlZWRhbmNlQ29kZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRJbk91dENvbGxlY3Rpb24oXCJOTFwiKS50aGVuKChleGNlZWRhbmNlQ29kZXM6IENvRG9tYWluVmFsdWVbXSkgPT4ge1xyXG4gICAgICB0aGlzLmV4Y2VlZGFuY2VDb2RlcyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwoZXhjZWVkYW5jZUNvZGVzLCB0aGlzLmV4Y2VlZGFuY2VDb2RlRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0VHVybm92ZXJHcm91cHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRUdXJub3Zlckdyb3VwcygpLnRoZW4oKHR1cm5vdmVyR3JvdXBzOiBUdXJub3Zlckdyb3VwSW1hZ2VbXSkgPT4ge1xyXG4gICAgICB0aGlzLnR1cm5vdmVyR3JvdXBzID0gbmV3IEZpbHRlclZpZXdtb2RlbCh0dXJub3Zlckdyb3VwcywgdGhpcy50dXJub3Zlckdyb3VwRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0TWFpbkFydGljbGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0TWFpbkFydGljbGVzKCkudGhlbigoYXJ0aWNsZXM6IE1haW5BcnRpY2xlW10pID0+IHtcclxuICAgICAgdGhpcy5tYWluQXJ0aWNsZXMgPSBuZXcgRmlsdGVyVmlld21vZGVsKGFydGljbGVzLCB0aGlzLm1haW5BcnRpY2xlRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0U3VwcGxpZXJzKCk6IHZvaWQge1xyXG4gICAgY29uc3QgcmVxdWVzdDogUmVsYXRpb25SZXF1ZXN0ID0gbmV3IFJlbGF0aW9uUmVxdWVzdCgpO1xyXG4gICAgcmVxdWVzdC5yZWxhdGlvblR5cGUgPSBSZWxhdGlvbktpbmQuU3VwcGxpZXI7XHJcbiAgICB0aGlzLl9yZWxhdGlvblNlcnZpY2UuZ2V0UmVsYXRpb25MaXN0T2JqZWN0cyhyZXF1ZXN0KS50aGVuKChyZWxhdGlvbkxpc3RPYmplY3RzKSA9PiB7XHJcbiAgICAgIHRoaXMuc3VwcGxpZXJzID0gbmV3IEZpbHRlclZpZXdtb2RlbChyZWxhdGlvbkxpc3RPYmplY3RzLCB0aGlzLnN1cHBsaWVyRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import { Component, HostBinding } from '@angular/core';
|
|
2
|
-
import { FilterViewmodel } from '@colijnit/corecomponents_v12';
|
|
1
|
+
import { ChangeDetectorRef, Component, HostBinding } from '@angular/core';
|
|
2
|
+
import { FilterItemMode, FilterViewmodel } from '@colijnit/corecomponents_v12';
|
|
3
3
|
import { TransactionService } from '../../../../../service/transaction.service';
|
|
4
4
|
import { TransactionFilterContentBaseComponent } from '../../../../core/base/transaction-filter-content-base.component';
|
|
5
5
|
import { FilterRequestService } from '../../../service/filter-request.service';
|
|
6
6
|
import { TransactionSearchService } from '../../../service/transaction-search.service';
|
|
7
7
|
export class TransactionPurchaseOrderFilterContentLogisticsComponent extends TransactionFilterContentBaseComponent {
|
|
8
|
-
constructor(searchService, filterRequestService, transactionService) {
|
|
8
|
+
constructor(searchService, filterRequestService, transactionService, _changeDet) {
|
|
9
9
|
super(searchService, filterRequestService, transactionService);
|
|
10
10
|
this.searchService = searchService;
|
|
11
11
|
this.filterRequestService = filterRequestService;
|
|
12
12
|
this.transactionService = transactionService;
|
|
13
|
+
this._changeDet = _changeDet;
|
|
14
|
+
this.modes = FilterItemMode;
|
|
13
15
|
this.deliveryMethods = [];
|
|
14
16
|
this.deliveryMethodFields = { text: "description", value: "code" };
|
|
15
17
|
this.warehouseFields = { text: "description", value: "warehouseNo" };
|
|
@@ -24,6 +26,9 @@ export class TransactionPurchaseOrderFilterContentLogisticsComponent extends Tra
|
|
|
24
26
|
this._setWarehouses();
|
|
25
27
|
this._setSourceWarehouses();
|
|
26
28
|
}
|
|
29
|
+
modelChange(any) {
|
|
30
|
+
this._changeDet.detectChanges();
|
|
31
|
+
}
|
|
27
32
|
_setRangeDates() {
|
|
28
33
|
this.confirmedDeliveryStartDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.confirmedDeliveryDateRange, 0);
|
|
29
34
|
this.confirmedDeliveryEndDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.confirmedDeliveryDateRange, 1);
|
|
@@ -53,168 +58,148 @@ TransactionPurchaseOrderFilterContentLogisticsComponent.decorators = [
|
|
|
53
58
|
{ type: Component, args: [{
|
|
54
59
|
selector: 'co-transaction-purchase-order-filter-content-logistics',
|
|
55
60
|
template: `
|
|
56
|
-
<div class="transaction-filter-content-logistics-wrapper transaction-filter-content-wrapper"
|
|
61
|
+
<div class="transaction-filter-content-logistics-wrapper transaction-filter-content-wrapper">
|
|
57
62
|
|
|
58
63
|
<!--Bevestigde leverdatum-->
|
|
59
|
-
<div class="filter-item-wrapper"
|
|
60
|
-
<co-transaction-filter-item
|
|
61
|
-
[
|
|
62
|
-
[
|
|
63
|
-
<co-input-date-range
|
|
64
|
-
[model]="[confirmedDeliveryStartDate, confirmedDeliveryEndDate]"
|
|
65
|
-
(modelChange)="onDateRangeChange($event, 'confirmedDeliveryDateRange')"
|
|
66
|
-
(cleared)="onClearedDateRangeChange('confirmedDeliveryDateRange')"
|
|
67
|
-
[placeholder]="'SELECT_DATE' | localize">
|
|
68
|
-
</co-input-date-range>
|
|
64
|
+
<div class="filter-item-wrapper">
|
|
65
|
+
<co-transaction-filter-item [placeholder]="'CONFIRMED_DELIVERY_DATE'"
|
|
66
|
+
[(model)]="searchService.searchRequest.confirmedDeliveryDateRange"
|
|
67
|
+
[mode]="modes.DateRangeField">
|
|
69
68
|
</co-transaction-filter-item>
|
|
70
69
|
</div>
|
|
71
70
|
|
|
72
|
-
<!--Serienummer-->
|
|
73
|
-
<div class="filter-item-wrapper"
|
|
74
|
-
<co-transaction-filter-item
|
|
75
|
-
[
|
|
76
|
-
[
|
|
77
|
-
|
|
78
|
-
[placeholder]="searchPlaceholder.SerialNumber | localize"></co-input-text>
|
|
71
|
+
<!--Serienummer -->
|
|
72
|
+
<div class="filter-item-wrapper">
|
|
73
|
+
<co-transaction-filter-item [placeholder]="'SERIAL_NUMBER'"
|
|
74
|
+
[(model)]="searchService.searchRequest.serialNumber"
|
|
75
|
+
[mode]="modes.TextField"
|
|
76
|
+
>
|
|
79
77
|
</co-transaction-filter-item>
|
|
80
78
|
</div>
|
|
81
79
|
|
|
82
|
-
<!--Batchnummer-->
|
|
83
|
-
<div class="filter-item-wrapper"
|
|
84
|
-
<co-transaction-filter-item
|
|
85
|
-
[
|
|
86
|
-
[
|
|
87
|
-
|
|
88
|
-
[placeholder]="searchPlaceholder.BatchNumber | localize"></co-input-text>
|
|
80
|
+
<!--Batchnummer -->
|
|
81
|
+
<div class="filter-item-wrapper">
|
|
82
|
+
<co-transaction-filter-item [placeholder]="'BATCH_NUMBER'"
|
|
83
|
+
[(model)]="searchService.searchRequest.batchNumber"
|
|
84
|
+
[mode]="modes.TextField"
|
|
85
|
+
>
|
|
89
86
|
</co-transaction-filter-item>
|
|
90
87
|
</div>
|
|
91
88
|
|
|
92
89
|
<!--Geleverd-->
|
|
93
|
-
<div class="filter-item-wrapper"
|
|
94
|
-
<co-transaction-filter-historic-state
|
|
95
|
-
[
|
|
96
|
-
|
|
97
|
-
|
|
90
|
+
<div class="filter-item-wrapper">
|
|
91
|
+
<co-transaction-filter-historic-state [label]="'DELIVERED'"
|
|
92
|
+
[(model)]="searchService.searchRequest.quantityDelivered"
|
|
93
|
+
[mode]="modes.SelectListWithStringCollectionOutput">
|
|
94
|
+
>
|
|
95
|
+
</co-transaction-filter-historic-state>
|
|
98
96
|
</div>
|
|
99
97
|
|
|
100
98
|
<!--Gefactureerd-->
|
|
101
|
-
<div class="filter-item-wrapper"
|
|
102
|
-
<co-transaction-filter-historic-state
|
|
103
|
-
[
|
|
104
|
-
|
|
105
|
-
|
|
99
|
+
<div class="filter-item-wrapper">
|
|
100
|
+
<co-transaction-filter-historic-state [label]="'INVOICED'"
|
|
101
|
+
[(model)]="searchService.searchRequest.quantityInvoiced"
|
|
102
|
+
[mode]="modes.SelectListWithStringCollectionOutput">
|
|
103
|
+
>
|
|
104
|
+
</co-transaction-filter-historic-state>
|
|
106
105
|
</div>
|
|
107
106
|
|
|
108
107
|
<!--Binnengemeld / Geleverd -->
|
|
109
|
-
<div class="filter-item-wrapper"
|
|
110
|
-
<co-transaction-filter-historic-state
|
|
111
|
-
[
|
|
112
|
-
|
|
113
|
-
|
|
108
|
+
<div class="filter-item-wrapper">
|
|
109
|
+
<co-transaction-filter-historic-state [label]="'RECEIVED_DELIVERED'"
|
|
110
|
+
[(model)]="searchService.searchRequest.quantityReceived"
|
|
111
|
+
[mode]="modes.SelectListWithStringCollectionOutput">
|
|
112
|
+
>
|
|
113
|
+
</co-transaction-filter-historic-state>
|
|
114
114
|
</div>
|
|
115
115
|
|
|
116
116
|
<!--Bevestigd-->
|
|
117
|
-
<div class="filter-item-wrapper"
|
|
118
|
-
<co-transaction-filter-historic-state
|
|
119
|
-
[
|
|
120
|
-
|
|
121
|
-
|
|
117
|
+
<div class="filter-item-wrapper">
|
|
118
|
+
<co-transaction-filter-historic-state [label]="'CONFIRMED'"
|
|
119
|
+
[(model)]="searchService.searchRequest.quantityConfirmed"
|
|
120
|
+
[mode]="modes.SelectListWithStringCollectionOutput">
|
|
121
|
+
>
|
|
122
|
+
</co-transaction-filter-historic-state>
|
|
122
123
|
</div>
|
|
123
124
|
|
|
124
125
|
<!--Aankomstdatum-->
|
|
125
|
-
<div class="filter-item-wrapper"
|
|
126
|
-
<co-transaction-filter-item
|
|
127
|
-
[
|
|
128
|
-
[
|
|
129
|
-
<co-input-date-range
|
|
130
|
-
[model]="[arrivalStartDate, arrivalEndDate]"
|
|
131
|
-
(modelChange)="onDateRangeChange($event, 'arrivalDateRange')"
|
|
132
|
-
(cleared)="onClearedDateRangeChange('arrivalDateRange')"
|
|
133
|
-
[placeholder]="'SELECT_DATE' | localize">
|
|
134
|
-
</co-input-date-range>
|
|
126
|
+
<div class="filter-item-wrapper">
|
|
127
|
+
<co-transaction-filter-item [placeholder]="'ARRIVAL_DATE'"
|
|
128
|
+
[(model)]="searchService.searchRequest.arrivalDateRange"
|
|
129
|
+
[mode]="modes.DateRangeField">
|
|
135
130
|
</co-transaction-filter-item>
|
|
136
131
|
</div>
|
|
137
132
|
|
|
138
133
|
<!--Toegewezen-->
|
|
139
|
-
<div class="filter-item-wrapper"
|
|
140
|
-
<co-transaction-filter-historic-state
|
|
141
|
-
[
|
|
142
|
-
|
|
143
|
-
|
|
134
|
+
<div class="filter-item-wrapper">
|
|
135
|
+
<co-transaction-filter-historic-state [label]="'ALLOCATED'"
|
|
136
|
+
[(model)]="searchService.searchRequest.quantityAllocated"
|
|
137
|
+
[mode]="modes.SelectListWithStringCollectionOutput">
|
|
138
|
+
>
|
|
139
|
+
</co-transaction-filter-historic-state>
|
|
144
140
|
</div>
|
|
145
141
|
|
|
146
142
|
<!--Te picken-->
|
|
147
|
-
<div class="filter-item-wrapper"
|
|
148
|
-
<co-transaction-filter-historic-state
|
|
149
|
-
[
|
|
150
|
-
|
|
151
|
-
|
|
143
|
+
<div class="filter-item-wrapper">
|
|
144
|
+
<co-transaction-filter-historic-state [label]="'TO_BE_PICKED'"
|
|
145
|
+
[(model)]="searchService.searchRequest.quantityToBePicked"
|
|
146
|
+
[mode]="modes.SelectListWithStringCollectionOutput">
|
|
147
|
+
>
|
|
148
|
+
</co-transaction-filter-historic-state>
|
|
152
149
|
</div>
|
|
153
150
|
|
|
154
151
|
<!--Gepicked-->
|
|
155
|
-
<div class="filter-item-wrapper"
|
|
156
|
-
<co-transaction-filter-historic-state
|
|
157
|
-
[
|
|
158
|
-
|
|
159
|
-
|
|
152
|
+
<div class="filter-item-wrapper">
|
|
153
|
+
<co-transaction-filter-historic-state [label]="'PICKED'"
|
|
154
|
+
[(model)]="searchService.searchRequest.quantityPicked"
|
|
155
|
+
[mode]="modes.SelectListWithStringCollectionOutput">
|
|
156
|
+
>
|
|
157
|
+
</co-transaction-filter-historic-state>
|
|
160
158
|
</div>
|
|
161
159
|
|
|
162
160
|
<!--Deellevering-->
|
|
163
|
-
<div class="filter-item-wrapper"
|
|
164
|
-
<co-filter-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
<co-input-checkbox
|
|
170
|
-
[model]="searchRequest.partialDelivery === 'J'"
|
|
171
|
-
(modelChange)="filterRequestService.handleCheckboxValueChangeForString($event, 'partialDelivery')"
|
|
172
|
-
[label]="'PART_DELIVERY' | localize">
|
|
173
|
-
</co-input-checkbox>
|
|
174
|
-
</co-filter-item>
|
|
161
|
+
<div class="filter-item-wrapper">
|
|
162
|
+
<co-transaction-filter-historic-state [label]="'PART_DELIVERY'"
|
|
163
|
+
[(model)]="searchService.searchRequest.partialDelivery"
|
|
164
|
+
[mode]="modes.CheckboxToText">
|
|
165
|
+
>
|
|
166
|
+
</co-transaction-filter-historic-state>
|
|
175
167
|
</div>
|
|
176
168
|
|
|
177
169
|
<!--Magazijn-->
|
|
178
|
-
<div class="filter-item-wrapper"
|
|
179
|
-
<co-transaction-filter-item
|
|
180
|
-
[placeholder]="'WAREHOUSE'"
|
|
181
|
-
[searchCollectionPlaceholder]="searchPlaceholder.Warehouse"
|
|
182
|
-
[singleSelect]="true"
|
|
170
|
+
<div class="filter-item-wrapper">
|
|
171
|
+
<co-transaction-filter-item [placeholder]="'WAREHOUSE'"
|
|
183
172
|
[collection]="warehouses"
|
|
184
|
-
(
|
|
173
|
+
[(model)]="searchService.searchRequest.warehouse"
|
|
174
|
+
[mode]="modes.SingleSelectList">
|
|
185
175
|
</co-transaction-filter-item>
|
|
186
176
|
</div>
|
|
187
177
|
|
|
188
178
|
<!--Bron magazijn-->
|
|
189
|
-
<div class="filter-item-wrapper"
|
|
190
|
-
<co-transaction-filter-item
|
|
191
|
-
[
|
|
192
|
-
[
|
|
193
|
-
[singleSelect]="true"
|
|
179
|
+
<div class="filter-item-wrapper">
|
|
180
|
+
<co-transaction-filter-item [placeholder]="'SOURCE_WAREHOUSE'"
|
|
181
|
+
[(model)]="searchService.searchRequest.sourceWarehouse"
|
|
182
|
+
[mode]="modes.SingleSelectList"
|
|
194
183
|
[collection]="sourceWarehouses"
|
|
195
|
-
(
|
|
184
|
+
(modelChange)="modelChange($event)">
|
|
196
185
|
</co-transaction-filter-item>
|
|
197
186
|
</div>
|
|
198
187
|
|
|
199
188
|
<!--Levermethode-->
|
|
200
|
-
<div class="filter-item-wrapper"
|
|
201
|
-
<co-transaction-filter-item
|
|
202
|
-
[placeholder]="'DELIVERY_METHOD'"
|
|
203
|
-
[searchCollectionPlaceholder]="searchPlaceholder.DeliveryMethod"
|
|
189
|
+
<div class="filter-item-wrapper">
|
|
190
|
+
<co-transaction-filter-item [placeholder]="'DELIVERY_METHOD'"
|
|
204
191
|
[collection]="deliveryMethods"
|
|
205
|
-
(
|
|
192
|
+
[(model)]="searchService.searchRequest.rangeDeliveryMethod"
|
|
193
|
+
[mode]="modes.Filterlist"
|
|
194
|
+
>
|
|
206
195
|
</co-transaction-filter-item>
|
|
207
196
|
</div>
|
|
208
197
|
|
|
209
198
|
<!--Leverdatum definitief-->
|
|
210
|
-
<div class="filter-item-wrapper"
|
|
211
|
-
<co-transaction-filter-item
|
|
212
|
-
[
|
|
213
|
-
[
|
|
214
|
-
<co-input-checkbox
|
|
215
|
-
[model]="searchRequest.deliveryDateDefinitive === 'J'"
|
|
216
|
-
(modelChange)="filterRequestService.handleCheckboxValueChangeForString($event, 'deliveryDateDefinitive')"
|
|
217
|
-
[label]="'DELIVERY_DATE_FINAL' | localize"></co-input-checkbox>
|
|
199
|
+
<div class="filter-item-wrapper">
|
|
200
|
+
<co-transaction-filter-item [placeholder]="'DELIVERY_DATE_FINAL'"
|
|
201
|
+
[(model)]="searchService.searchRequest.deliveryDateDefinitive"
|
|
202
|
+
[mode]="modes.CheckboxToText">
|
|
218
203
|
</co-transaction-filter-item>
|
|
219
204
|
</div>
|
|
220
205
|
|
|
@@ -226,9 +211,10 @@ TransactionPurchaseOrderFilterContentLogisticsComponent.decorators = [
|
|
|
226
211
|
TransactionPurchaseOrderFilterContentLogisticsComponent.ctorParameters = () => [
|
|
227
212
|
{ type: TransactionSearchService },
|
|
228
213
|
{ type: FilterRequestService },
|
|
229
|
-
{ type: TransactionService }
|
|
214
|
+
{ type: TransactionService },
|
|
215
|
+
{ type: ChangeDetectorRef }
|
|
230
216
|
];
|
|
231
217
|
TransactionPurchaseOrderFilterContentLogisticsComponent.propDecorators = {
|
|
232
218
|
showClass: [{ type: HostBinding, args: ["class.co-transaction-search-filter-content",] }]
|
|
233
219
|
};
|
|
234
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItZmlsdGVyLWNvbnRlbnQtbG9naXN0aWNzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC9wdXJjaGFzZS1vcmRlci1maWx0ZXItY29udGVudC90cmFuc2FjdGlvbi1wdXJjaGFzZS1vcmRlci1maWx0ZXItY29udGVudC1sb2dpc3RpY3MvdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItZmlsdGVyLWNvbnRlbnQtbG9naXN0aWNzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUdyRCxPQUFPLEVBQXNCLGVBQWUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2xGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQ3RILE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzdFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBOEtyRixNQUFNLE9BQU8sdURBQXdELFNBQVEscUNBQXFDO0lBc0JoSCxZQUNTLGFBQXVDLEVBQ3ZDLG9CQUEwQyxFQUMxQyxrQkFBc0M7UUFFN0MsS0FBSyxDQUFDLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO1FBSnZELGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUN2Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7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b0I7WUFGcEIsa0JBQWtCOzs7d0JBbUx2QixXQUFXLFNBQUMsNENBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEhvc3RCaW5kaW5nfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtEZWxpdmVyeU1ldGhvZH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2RlbGl2ZXJ5LW1ldGhvZC5ibyc7XHJcbmltcG9ydCB7V2FyZWhvdXNlfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvd2FyZWhvdXNlLmJvJztcclxuaW1wb3J0IHtGaWx0ZXJJdGVtVmlld21vZGVsLCBGaWx0ZXJWaWV3bW9kZWx9IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTInO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkZpbHRlckNvbnRlbnRCYXNlQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0ZpbHRlclJlcXVlc3RTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2ZpbHRlci1yZXF1ZXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VhcmNoU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1zZWFyY2guc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLXRyYW5zYWN0aW9uLXB1cmNoYXNlLW9yZGVyLWZpbHRlci1jb250ZW50LWxvZ2lzdGljcycsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC1sb2dpc3RpY3Mtd3JhcHBlciB0cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC13cmFwcGVyXCIgbGF6eVJlbmRlck1hc3Rlcj5cclxuXHJcbiAgICAgIDwhLS1CZXZlc3RpZ2RlIGxldmVyZGF0dW0tLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIiBsYXp5UmVuZGVyICNsYXp5UmVuZGVyQ29uZmlybWVkRGVsaXZlcnlEYXRlPVwibGF6eVJlbmRlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSAqbmdJZj1cImxhenlSZW5kZXJDb25maXJtZWREZWxpdmVyeURhdGUuaXNTaG93aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidDT05GSVJNRURfREVMSVZFUllfREFURSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY3VzdG9tQ29udGVudF09XCJ0cnVlXCI+XHJcbiAgICAgICAgICA8Y28taW5wdXQtZGF0ZS1yYW5nZVxyXG4gICAgICAgICAgICBbbW9kZWxdPVwiW2NvbmZpcm1lZERlbGl2ZXJ5U3RhcnREYXRlLCBjb25maXJtZWREZWxpdmVyeUVuZERhdGVdXCJcclxuICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cIm9uRGF0ZVJhbmdlQ2hhbmdlKCRldmVudCwgJ2NvbmZpcm1lZERlbGl2ZXJ5RGF0ZVJhbmdlJylcIlxyXG4gICAgICAgICAgICAoY2xlYXJlZCk9XCJvbkNsZWFyZWREYXRlUmFuZ2VDaGFuZ2UoJ2NvbmZpcm1lZERlbGl2ZXJ5RGF0ZVJhbmdlJylcIlxyXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NFTEVDVF9EQVRFJyB8IGxvY2FsaXplXCI+XHJcbiAgICAgICAgICA8L2NvLWlucHV0LWRhdGUtcmFuZ2U+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tU2VyaWVudW1tZXItLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIiBsYXp5UmVuZGVyICNsYXp5UmVuZGVyU2VyaWFsTnVtYmVyPVwibGF6eVJlbmRlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSAqbmdJZj1cImxhenlSZW5kZXJTZXJpYWxOdW1iZXIuaXNTaG93aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTRVJJQUxfTlVNQkVSJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIj5cclxuICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInNlYXJjaFJlcXVlc3Quc2VyaWFsTnVtYmVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlci5TZXJpYWxOdW1iZXIgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1CYXRjaG51bW1lci0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiIGxhenlSZW5kZXIgI2xhenlSZW5kZXJCYXRjaE51bWJlcj1cImxhenlSZW5kZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gKm5nSWY9XCJsYXp5UmVuZGVyQmF0Y2hOdW1iZXIuaXNTaG93aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidCQVRDSF9OVU1CRVInXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2N1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5iYXRjaE51bWJlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIuQmF0Y2hOdW1iZXIgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1HZWxldmVyZC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiIGxhenlSZW5kZXIgI2xhenlSZW5kZXJEZWxpdmVyZWQ9XCJsYXp5UmVuZGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1oaXN0b3JpYy1zdGF0ZSAqbmdJZj1cImxhenlSZW5kZXJEZWxpdmVyZWQuaXNTaG93aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInREVMSVZFUkVEJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJmaWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDb2xsZWN0aW9uQ2hhbmdlRm9yQXJyYXkoJGV2ZW50LCAncXVhbnRpdHlEZWxpdmVyZWQnKVwiXHJcbiAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1HZWZhY3R1cmVlcmQtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIiBsYXp5UmVuZGVyICNsYXp5UmVuZGVySW52b2ljZWQ9XCJsYXp5UmVuZGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1oaXN0b3JpYy1zdGF0ZSAqbmdJZj1cImxhenlSZW5kZXJJbnZvaWNlZC5pc1Nob3dpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidJTlZPSUNFRCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvckFycmF5KCRldmVudCwgJ3F1YW50aXR5SW52b2ljZWQnKVwiXHJcbiAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1CaW5uZW5nZW1lbGQgLyBHZWxldmVyZCAtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIiBsYXp5UmVuZGVyICNsYXp5UmVuZGVyUmVjZWl2ZWQ9XCJsYXp5UmVuZGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1oaXN0b3JpYy1zdGF0ZSAqbmdJZj1cImxhenlSZW5kZXJSZWNlaXZlZC5pc1Nob3dpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidSRUNFSVZFRF9ERUxJVkVSRUQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb2xsZWN0aW9uQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNvbGxlY3Rpb25DaGFuZ2VGb3JBcnJheSgkZXZlbnQsICdxdWFudGl0eVJlY2VpdmVkJylcIlxyXG4gICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1oaXN0b3JpYy1zdGF0ZT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tQmV2ZXN0aWdkLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCIgbGF6eVJlbmRlciAjbGF6eVJlbmRlckNvbmZpcm1lZD1cImxhenlSZW5kZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlICpuZ0lmPVwibGF6eVJlbmRlckNvbmZpcm1lZC5pc1Nob3dpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidDT05GSVJNRUQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb2xsZWN0aW9uQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNvbGxlY3Rpb25DaGFuZ2VGb3JBcnJheSgkZXZlbnQsICdxdWFudGl0eUNvbmZpcm1lZCcpXCJcclxuICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1maWx0ZXItaGlzdG9yaWMtc3RhdGU+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLUFhbmtvbXN0ZGF0dW0tLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIiBsYXp5UmVuZGVyICNsYXp5UmVuZGVyQXJyaXZhbERhdGU9XCJsYXp5UmVuZGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtICpuZ0lmPVwibGF6eVJlbmRlckFycml2YWxEYXRlLmlzU2hvd2luZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQVJSSVZBTF9EQVRFJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIj5cclxuICAgICAgICAgIDxjby1pbnB1dC1kYXRlLXJhbmdlXHJcbiAgICAgICAgICAgIFttb2RlbF09XCJbYXJyaXZhbFN0YXJ0RGF0ZSwgYXJyaXZhbEVuZERhdGVdXCJcclxuICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cIm9uRGF0ZVJhbmdlQ2hhbmdlKCRldmVudCwgJ2Fycml2YWxEYXRlUmFuZ2UnKVwiXHJcbiAgICAgICAgICAgIChjbGVhcmVkKT1cIm9uQ2xlYXJlZERhdGVSYW5nZUNoYW5nZSgnYXJyaXZhbERhdGVSYW5nZScpXCJcclxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTRUxFQ1RfREFURScgfCBsb2NhbGl6ZVwiPlxyXG4gICAgICAgICAgPC9jby1pbnB1dC1kYXRlLXJhbmdlPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLVRvZWdld2V6ZW4tLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIiBsYXp5UmVuZGVyICNsYXp5UmVuZGVyQWxsb2NhdGVkPVwibGF6eVJlbmRlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaGlzdG9yaWMtc3RhdGUgKm5nSWY9XCJsYXp5UmVuZGVyQWxsb2NhdGVkLmlzU2hvd2luZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0FMTE9DQVRFRCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvckFycmF5KCRldmVudCwgJ3F1YW50aXR5QWxsb2NhdGVkJylcIlxyXG4gICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1oaXN0b3JpYy1zdGF0ZT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tVGUgcGlja2VuLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCIgbGF6eVJlbmRlciAjbGF6eVJlbmRlclRvQmVQaWNrZWQ9XCJsYXp5UmVuZGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1oaXN0b3JpYy1zdGF0ZSAqbmdJZj1cImxhenlSZW5kZXJUb0JlUGlja2VkLmlzU2hvd2luZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1RPX0JFX1BJQ0tFRCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvckFycmF5KCRldmVudCwgJ3F1YW50aXR5VG9CZVBpY2tlZCcpXCJcclxuICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1maWx0ZXItaGlzdG9yaWMtc3RhdGU+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLUdlcGlja2VkLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCIgbGF6eVJlbmRlciAjbGF6eVJlbmRlclBpY2tlZD1cImxhenlSZW5kZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlICpuZ0lmPVwibGF6eVJlbmRlclBpY2tlZC5pc1Nob3dpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidQSUNLRUQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb2xsZWN0aW9uQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNvbGxlY3Rpb25DaGFuZ2VGb3JBcnJheSgkZXZlbnQsICdxdWFudGl0eVBpY2tlZCcpXCJcclxuICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1maWx0ZXItaGlzdG9yaWMtc3RhdGU+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLURlZWxsZXZlcmluZy0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiIGxhenlSZW5kZXIgI2xhenlSZW5kZXJQYXJ0aWFsRGVsaXZlcnk9XCJsYXp5UmVuZGVyXCI+XHJcbiAgICAgICAgPGNvLWZpbHRlci1pdGVtICpuZ0lmPVwibGF6eVJlbmRlclBhcnRpYWxEZWxpdmVyeS5pc1Nob3dpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1BBUlRfREVMSVZFUlknIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY3VzdG9tQ29udGVudF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbHRlckJ1dHRvbkxhYmVsXT1cImZpbHRlckJ1dHRvbkxhYmVsIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZXhwYW5kZWRdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94XHJcbiAgICAgICAgICAgIFttb2RlbF09XCJzZWFyY2hSZXF1ZXN0LnBhcnRpYWxEZWxpdmVyeSA9PT0gJ0onXCJcclxuICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNoZWNrYm94VmFsdWVDaGFuZ2VGb3JTdHJpbmcoJGV2ZW50LCAncGFydGlhbERlbGl2ZXJ5JylcIlxyXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ1BBUlRfREVMSVZFUlknIHwgbG9jYWxpemVcIj5cclxuICAgICAgICAgIDwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgICAgPC9jby1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tTWFnYXppam4tLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIiBsYXp5UmVuZGVyICNsYXp5UmVuZGVyV2FyZWhvdXNlPVwibGF6eVJlbmRlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSAqbmdJZj1cImxhenlSZW5kZXJXYXJlaG91c2UuaXNTaG93aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidXQVJFSE9VU0UnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaENvbGxlY3Rpb25QbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlci5XYXJlaG91c2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2luZ2xlU2VsZWN0XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJ3YXJlaG91c2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvclNpbmdsZVNlbGVjdCgkZXZlbnQsICd3YXJlaG91c2UnKVwiPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLUJyb24gbWFnYXppam4tLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIiBsYXp5UmVuZGVyICNsYXp5UmVuZGVyU291cmNlV2FyZWhvdXNlPVwibGF6eVJlbmRlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSAqbmdJZj1cImxhenlSZW5kZXJTb3VyY2VXYXJlaG91c2UuaXNTaG93aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTT1VSQ0VfV0FSRUhPVVNFJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hDb2xsZWN0aW9uUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIuU291cmNlV2FyZWhvdXNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NpbmdsZVNlbGVjdF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwic291cmNlV2FyZWhvdXNlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb2xsZWN0aW9uQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNvbGxlY3Rpb25DaGFuZ2VGb3JTaW5nbGVTZWxlY3QoJGV2ZW50LCAnc291cmNlV2FyZWhvdXNlJylcIj5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1MZXZlcm1ldGhvZGUtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIiBsYXp5UmVuZGVyICNsYXp5UmVuZGVyRGVsaXZlcnlNZXRob2Q9XCJsYXp5UmVuZGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtICpuZ0lmPVwibGF6eVJlbmRlckRlbGl2ZXJ5TWV0aG9kLmlzU2hvd2luZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInREVMSVZFUllfTUVUSE9EJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hDb2xsZWN0aW9uUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIuRGVsaXZlcnlNZXRob2RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJkZWxpdmVyeU1ldGhvZHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJmaWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDb2xsZWN0aW9uQ2hhbmdlRm9yUmFuZ2UoJGV2ZW50LCAncmFuZ2VEZWxpdmVyeU1ldGhvZCcpXCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tTGV2ZXJkYXR1bSBkZWZpbml0aWVmLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCIgbGF6eVJlbmRlciAjbGF6eVJlbmRlckRlbGl2ZXJ5RGF0ZURlZmluaXRpdmU9XCJsYXp5UmVuZGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtICpuZ0lmPVwibGF6eVJlbmRlckRlbGl2ZXJ5RGF0ZURlZmluaXRpdmUuaXNTaG93aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidERUxJVkVSWV9EQVRFX0ZJTkFMJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIj5cclxuICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICBbbW9kZWxdPVwic2VhcmNoUmVxdWVzdC5kZWxpdmVyeURhdGVEZWZpbml0aXZlID09PSAnSidcIlxyXG4gICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ2hlY2tib3hWYWx1ZUNoYW5nZUZvclN0cmluZygkZXZlbnQsICdkZWxpdmVyeURhdGVEZWZpbml0aXZlJylcIlxyXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ0RFTElWRVJZX0RBVEVfRklOQUwnIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLVVpdHZvZXJiYWFyOiB0b2RvOiB2cmFhZyBzdGFhdCB1aXQgd2F0IGhpZXJtZWUgYmVkb2VsZCB3b3JkdC4gRGFhcm5hIGhpZXIgYWFudnVsbGVuIC0tPlxyXG4gICAgPC9kaXY+XHJcbiAgYFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25QdXJjaGFzZU9yZGVyRmlsdGVyQ29udGVudExvZ2lzdGljc0NvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uRmlsdGVyQ29udGVudEJhc2VDb21wb25lbnQge1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10cmFuc2FjdGlvbi1zZWFyY2gtZmlsdGVyLWNvbnRlbnRcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGVsaXZlcnlNZXRob2RzID0gW107XHJcbiAgcHVibGljIGRlbGl2ZXJ5TWV0aG9kRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJjb2RlXCJ9O1xyXG5cclxuICBwdWJsaWMgd2FyZWhvdXNlczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyB3YXJlaG91c2VGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcIndhcmVob3VzZU5vXCJ9O1xyXG5cclxuICBwdWJsaWMgc291cmNlV2FyZWhvdXNlczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyBzb3VyY2VXYXJlaG91c2VGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcIndhcmVob3VzZU5vXCJ9O1xyXG5cclxuICBwdWJsaWMgY29uZmlybWVkRGVsaXZlcnlTdGFydERhdGU6IERhdGU7XHJcbiAgcHVibGljIGNvbmZpcm1lZERlbGl2ZXJ5RW5kRGF0ZTogRGF0ZTtcclxuXHJcbiAgcHVibGljIGFycml2YWxTdGFydERhdGU6IERhdGU7XHJcbiAgcHVibGljIGFycml2YWxFbmREYXRlOiBEYXRlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzZWFyY2hTZXJ2aWNlOiBUcmFuc2FjdGlvblNlYXJjaFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZmlsdGVyUmVxdWVzdFNlcnZpY2U6IEZpbHRlclJlcXVlc3RTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgc3VwZXIoc2VhcmNoU2VydmljZSwgZmlsdGVyUmVxdWVzdFNlcnZpY2UsIHRyYW5zYWN0aW9uU2VydmljZSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NldFJhbmdlRGF0ZXMoKTtcclxuICAgIHRoaXMuX3NldERlbGl2ZXJ5TWV0aG9kcygpO1xyXG4gICAgdGhpcy5fc2V0V2FyZWhvdXNlcygpO1xyXG4gICAgdGhpcy5fc2V0U291cmNlV2FyZWhvdXNlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0UmFuZ2VEYXRlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuY29uZmlybWVkRGVsaXZlcnlTdGFydERhdGUgPSB0aGlzLmZpbHRlclJlcXVlc3RTZXJ2aWNlLmdldERhdGVGcm9tRmlsdGVyUmVxdWVzdFJhbmdlKHRoaXMuc2VhcmNoUmVxdWVzdC5jb25maXJtZWREZWxpdmVyeURhdGVSYW5nZSwgMCk7XHJcbiAgICB0aGlzLmNvbmZpcm1lZERlbGl2ZXJ5RW5kRGF0ZSA9IHRoaXMuZmlsdGVyUmVxdWVzdFNlcnZpY2UuZ2V0RGF0ZUZyb21GaWx0ZXJSZXF1ZXN0UmFuZ2UodGhpcy5zZWFyY2hSZXF1ZXN0LmNvbmZpcm1lZERlbGl2ZXJ5RGF0ZVJhbmdlLCAxKTtcclxuICAgIHRoaXMuYXJyaXZhbFN0YXJ0RGF0ZSA9IHRoaXMuZmlsdGVyUmVxdWVzdFNlcnZpY2UuZ2V0RGF0ZUZyb21GaWx0ZXJSZXF1ZXN0UmFuZ2UodGhpcy5zZWFyY2hSZXF1ZXN0LmFycml2YWxEYXRlUmFuZ2UsIDApO1xyXG4gICAgdGhpcy5hcnJpdmFsRW5kRGF0ZSA9IHRoaXMuZmlsdGVyUmVxdWVzdFNlcnZpY2UuZ2V0RGF0ZUZyb21GaWx0ZXJSZXF1ZXN0UmFuZ2UodGhpcy5zZWFyY2hSZXF1ZXN0LmFycml2YWxEYXRlUmFuZ2UsIDEpO1xyXG4gIH1cclxuXHJcbiAgLy9EZWxpdmVyeSBNZXRob2RzXHJcbiAgcHJpdmF0ZSBfc2V0RGVsaXZlcnlNZXRob2RzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0RGVsaXZlcnlNZXRob2RzKCkudGhlbigoZGVsaXZlcnlNZXRob2RzOiBEZWxpdmVyeU1ldGhvZFtdKSA9PiB7XHJcbiAgICAgIHRoaXMuZGVsaXZlcnlNZXRob2RzID0gbmV3IEZpbHRlclZpZXdtb2RlbChkZWxpdmVyeU1ldGhvZHMsIHRoaXMuZGVsaXZlcnlNZXRob2RGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL1dhcmVob3VzZXNcclxuICBwcml2YXRlIF9zZXRXYXJlaG91c2VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0V2FyZWhvdXNlcygpLnRoZW4oKHdhcmVob3VzZXM6IFdhcmVob3VzZVtdKSA9PiB7XHJcbiAgICAgIHRoaXMud2FyZWhvdXNlcyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwod2FyZWhvdXNlcywgdGhpcy53YXJlaG91c2VGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL1NvdXJjZSBXYXJlaG91c2VzXHJcbiAgcHJpdmF0ZSBfc2V0U291cmNlV2FyZWhvdXNlcygpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldFdhcmVob3VzZXMoKS50aGVuKCh3YXJlaG91c2VzOiBXYXJlaG91c2VbXSkgPT4ge1xyXG4gICAgICB0aGlzLnNvdXJjZVdhcmVob3VzZXMgPSBuZXcgRmlsdGVyVmlld21vZGVsKHdhcmVob3VzZXMsIHRoaXMuc291cmNlV2FyZWhvdXNlRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
220
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItZmlsdGVyLWNvbnRlbnQtbG9naXN0aWNzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC9wdXJjaGFzZS1vcmRlci1maWx0ZXItY29udGVudC90cmFuc2FjdGlvbi1wdXJjaGFzZS1vcmRlci1maWx0ZXItY29udGVudC1sb2dpc3RpY3MvdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItZmlsdGVyLWNvbnRlbnQtbG9naXN0aWNzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd4RSxPQUFPLEVBQUMsY0FBYyxFQUF1QixlQUFlLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUM5RSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUN0SCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQTBKckYsTUFBTSxPQUFPLHVEQUF3RCxTQUFRLHFDQUFxQztJQXVCaEgsWUFDUyxhQUF1QyxFQUN2QyxvQkFBMEMsRUFDMUMsa0JBQXNDLEVBQ3JDLFVBQTZCO1FBRXJDLEtBQUssQ0FBQyxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtRQUx2RCxrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUFDdkMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3JDLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBMUJ2QixVQUFLLEdBQTBCLGNBQWMsQ0FBQztRQU92RCxvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUNyQix5QkFBb0IsR0FBb0IsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsQ0FBQztRQUc3RSxvQkFBZSxHQUFvQixFQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBQyxDQUFDO1FBRy9FLDBCQUFxQixHQUFvQixFQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBQyxDQUFDO0lBZTVGLENBQUM7SUExQk0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQTBCTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU0sV0FBVyxDQUFDLEdBQVE7UUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsMEJBQTBCLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDNUksSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLDBCQUEwQixFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFJLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4SCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hILENBQUM7SUFFRCxrQkFBa0I7SUFDVixtQkFBbUI7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsZUFBaUMsRUFBRSxFQUFFO1lBQ3RGLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNyRyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZO0lBQ0osY0FBYztRQUNwQixJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBdUIsRUFBRSxFQUFFO1lBQ3ZFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxlQUFlLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDdEYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsbUJBQW1CO0lBQ1gsb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUF1QixFQUFFLEVBQUU7WUFDdkUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksZUFBZSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDbEcsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUE3TkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx3REFBd0Q7Z0JBQ2xFLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9KVDthQUNGOzs7WUF6Sk8sd0JBQXdCO1lBRHhCLG9CQUFvQjtZQUZwQixrQkFBa0I7WUFKbEIsaUJBQWlCOzs7d0JBb0t0QixXQUFXLFNBQUMsNENBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBIb3N0QmluZGluZ30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7RGVsaXZlcnlNZXRob2R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9kZWxpdmVyeS1tZXRob2QuYm8nO1xyXG5pbXBvcnQge1dhcmVob3VzZX0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3dhcmVob3VzZS5ibyc7XHJcbmltcG9ydCB7RmlsdGVySXRlbU1vZGUsIEZpbHRlckl0ZW1WaWV3bW9kZWwsIEZpbHRlclZpZXdtb2RlbH0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRmlsdGVyQ29udGVudEJhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvYmFzZS90cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RmlsdGVyUmVxdWVzdFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvZmlsdGVyLXJlcXVlc3Quc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZWFyY2hTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNlYXJjaC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItZmlsdGVyLWNvbnRlbnQtbG9naXN0aWNzJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50LWxvZ2lzdGljcy13cmFwcGVyIHRyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50LXdyYXBwZXJcIj5cclxuXHJcbiAgICAgIDwhLS1CZXZlc3RpZ2RlIGxldmVyZGF0dW0tLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gW3BsYWNlaG9sZGVyXT1cIidDT05GSVJNRURfREVMSVZFUllfREFURSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hTZXJ2aWNlLnNlYXJjaFJlcXVlc3QuY29uZmlybWVkRGVsaXZlcnlEYXRlUmFuZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5EYXRlUmFuZ2VGaWVsZFwiPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLVNlcmllbnVtbWVyIC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ1NFUklBTF9OVU1CRVInXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoU2VydmljZS5zZWFyY2hSZXF1ZXN0LnNlcmlhbE51bWJlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLlRleHRGaWVsZFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLUJhdGNobnVtbWVyIC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ0JBVENIX05VTUJFUidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hTZXJ2aWNlLnNlYXJjaFJlcXVlc3QuYmF0Y2hOdW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5UZXh0RmllbGRcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1HZWxldmVyZC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaGlzdG9yaWMtc3RhdGUgW2xhYmVsXT1cIidERUxJVkVSRUQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFNlcnZpY2Uuc2VhcmNoUmVxdWVzdC5xdWFudGl0eURlbGl2ZXJlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5TZWxlY3RMaXN0V2l0aFN0cmluZ0NvbGxlY3Rpb25PdXRwdXRcIj5cclxuICAgICAgICAgID5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1oaXN0b3JpYy1zdGF0ZT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tR2VmYWN0dXJlZXJkLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1oaXN0b3JpYy1zdGF0ZSBbbGFiZWxdPVwiJ0lOVk9JQ0VEJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hTZXJ2aWNlLnNlYXJjaFJlcXVlc3QucXVhbnRpdHlJbnZvaWNlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5TZWxlY3RMaXN0V2l0aFN0cmluZ0NvbGxlY3Rpb25PdXRwdXRcIj5cclxuICAgICAgICAgID5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1oaXN0b3JpYy1zdGF0ZT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tQmlubmVuZ2VtZWxkIC8gR2VsZXZlcmQgLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1oaXN0b3JpYy1zdGF0ZSBbbGFiZWxdPVwiJ1JFQ0VJVkVEX0RFTElWRVJFRCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoU2VydmljZS5zZWFyY2hSZXF1ZXN0LnF1YW50aXR5UmVjZWl2ZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuU2VsZWN0TGlzdFdpdGhTdHJpbmdDb2xsZWN0aW9uT3V0cHV0XCI+XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaGlzdG9yaWMtc3RhdGU+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLUJldmVzdGlnZC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaGlzdG9yaWMtc3RhdGUgW2xhYmVsXT1cIidDT05GSVJNRUQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFNlcnZpY2Uuc2VhcmNoUmVxdWVzdC5xdWFudGl0eUNvbmZpcm1lZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5TZWxlY3RMaXN0V2l0aFN0cmluZ0NvbGxlY3Rpb25PdXRwdXRcIj5cclxuICAgICAgICAgID5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1oaXN0b3JpYy1zdGF0ZT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tQWFua29tc3RkYXR1bS0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ0FSUklWQUxfREFURSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hTZXJ2aWNlLnNlYXJjaFJlcXVlc3QuYXJyaXZhbERhdGVSYW5nZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLkRhdGVSYW5nZUZpZWxkXCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tVG9lZ2V3ZXplbi0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaGlzdG9yaWMtc3RhdGUgW2xhYmVsXT1cIidBTExPQ0FURUQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFNlcnZpY2Uuc2VhcmNoUmVxdWVzdC5xdWFudGl0eUFsbG9jYXRlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5TZWxlY3RMaXN0V2l0aFN0cmluZ0NvbGxlY3Rpb25PdXRwdXRcIj5cclxuICAgICAgICAgID5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1oaXN0b3JpYy1zdGF0ZT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tVGUgcGlja2VuLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1oaXN0b3JpYy1zdGF0ZSBbbGFiZWxdPVwiJ1RPX0JFX1BJQ0tFRCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoU2VydmljZS5zZWFyY2hSZXF1ZXN0LnF1YW50aXR5VG9CZVBpY2tlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5TZWxlY3RMaXN0V2l0aFN0cmluZ0NvbGxlY3Rpb25PdXRwdXRcIj5cclxuICAgICAgICAgID5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1oaXN0b3JpYy1zdGF0ZT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tR2VwaWNrZWQtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlIFtsYWJlbF09XCInUElDS0VEJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hTZXJ2aWNlLnNlYXJjaFJlcXVlc3QucXVhbnRpdHlQaWNrZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuU2VsZWN0TGlzdFdpdGhTdHJpbmdDb2xsZWN0aW9uT3V0cHV0XCI+XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaGlzdG9yaWMtc3RhdGU+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLURlZWxsZXZlcmluZy0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaGlzdG9yaWMtc3RhdGUgW2xhYmVsXT1cIidQQVJUX0RFTElWRVJZJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hTZXJ2aWNlLnNlYXJjaFJlcXVlc3QucGFydGlhbERlbGl2ZXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLkNoZWNrYm94VG9UZXh0XCI+XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaGlzdG9yaWMtc3RhdGU+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLU1hZ2F6aWpuLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInV0FSRUhPVVNFJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cIndhcmVob3VzZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hTZXJ2aWNlLnNlYXJjaFJlcXVlc3Qud2FyZWhvdXNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuU2luZ2xlU2VsZWN0TGlzdFwiPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLUJyb24gbWFnYXppam4tLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gW3BsYWNlaG9sZGVyXT1cIidTT1VSQ0VfV0FSRUhPVVNFJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFNlcnZpY2Uuc2VhcmNoUmVxdWVzdC5zb3VyY2VXYXJlaG91c2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5TaW5nbGVTZWxlY3RMaXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwic291cmNlV2FyZWhvdXNlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJtb2RlbENoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tTGV2ZXJtZXRob2RlLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInREVMSVZFUllfTUVUSE9EJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cImRlbGl2ZXJ5TWV0aG9kc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFNlcnZpY2Uuc2VhcmNoUmVxdWVzdC5yYW5nZURlbGl2ZXJ5TWV0aG9kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuRmlsdGVybGlzdFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLUxldmVyZGF0dW0gZGVmaW5pdGllZi0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ0RFTElWRVJZX0RBVEVfRklOQUwnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoU2VydmljZS5zZWFyY2hSZXF1ZXN0LmRlbGl2ZXJ5RGF0ZURlZmluaXRpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5DaGVja2JveFRvVGV4dFwiPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLVVpdHZvZXJiYWFyOiB0b2RvOiB2cmFhZyBzdGFhdCB1aXQgd2F0IGhpZXJtZWUgYmVkb2VsZCB3b3JkdC4gRGFhcm5hIGhpZXIgYWFudnVsbGVuIC0tPlxyXG4gICAgPC9kaXY+XHJcbiAgYFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25QdXJjaGFzZU9yZGVyRmlsdGVyQ29udGVudExvZ2lzdGljc0NvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uRmlsdGVyQ29udGVudEJhc2VDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBtb2RlczogdHlwZW9mIEZpbHRlckl0ZW1Nb2RlID0gRmlsdGVySXRlbU1vZGU7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLXNlYXJjaC1maWx0ZXItY29udGVudFwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkZWxpdmVyeU1ldGhvZHMgPSBbXTtcclxuICBwdWJsaWMgZGVsaXZlcnlNZXRob2RGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcImNvZGVcIn07XHJcblxyXG4gIHB1YmxpYyB3YXJlaG91c2VzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIHdhcmVob3VzZUZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwid2FyZWhvdXNlTm9cIn07XHJcblxyXG4gIHB1YmxpYyBzb3VyY2VXYXJlaG91c2VzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIHNvdXJjZVdhcmVob3VzZUZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwid2FyZWhvdXNlTm9cIn07XHJcblxyXG4gIHB1YmxpYyBjb25maXJtZWREZWxpdmVyeVN0YXJ0RGF0ZTogRGF0ZTtcclxuICBwdWJsaWMgY29uZmlybWVkRGVsaXZlcnlFbmREYXRlOiBEYXRlO1xyXG5cclxuICBwdWJsaWMgYXJyaXZhbFN0YXJ0RGF0ZTogRGF0ZTtcclxuICBwdWJsaWMgYXJyaXZhbEVuZERhdGU6IERhdGU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHNlYXJjaFNlcnZpY2U6IFRyYW5zYWN0aW9uU2VhcmNoU2VydmljZSxcclxuICAgIHB1YmxpYyBmaWx0ZXJSZXF1ZXN0U2VydmljZTogRmlsdGVyUmVxdWVzdFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXQ6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7XHJcbiAgICBzdXBlcihzZWFyY2hTZXJ2aWNlLCBmaWx0ZXJSZXF1ZXN0U2VydmljZSwgdHJhbnNhY3Rpb25TZXJ2aWNlKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc2V0UmFuZ2VEYXRlcygpO1xyXG4gICAgdGhpcy5fc2V0RGVsaXZlcnlNZXRob2RzKCk7XHJcbiAgICB0aGlzLl9zZXRXYXJlaG91c2VzKCk7XHJcbiAgICB0aGlzLl9zZXRTb3VyY2VXYXJlaG91c2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbW9kZWxDaGFuZ2UoYW55OiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuX2NoYW5nZURldC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRSYW5nZURhdGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb25maXJtZWREZWxpdmVyeVN0YXJ0RGF0ZSA9IHRoaXMuZmlsdGVyUmVxdWVzdFNlcnZpY2UuZ2V0RGF0ZUZyb21GaWx0ZXJSZXF1ZXN0UmFuZ2UodGhpcy5zZWFyY2hSZXF1ZXN0LmNvbmZpcm1lZERlbGl2ZXJ5RGF0ZVJhbmdlLCAwKTtcclxuICAgIHRoaXMuY29uZmlybWVkRGVsaXZlcnlFbmREYXRlID0gdGhpcy5maWx0ZXJSZXF1ZXN0U2VydmljZS5nZXREYXRlRnJvbUZpbHRlclJlcXVlc3RSYW5nZSh0aGlzLnNlYXJjaFJlcXVlc3QuY29uZmlybWVkRGVsaXZlcnlEYXRlUmFuZ2UsIDEpO1xyXG4gICAgdGhpcy5hcnJpdmFsU3RhcnREYXRlID0gdGhpcy5maWx0ZXJSZXF1ZXN0U2VydmljZS5nZXREYXRlRnJvbUZpbHRlclJlcXVlc3RSYW5nZSh0aGlzLnNlYXJjaFJlcXVlc3QuYXJyaXZhbERhdGVSYW5nZSwgMCk7XHJcbiAgICB0aGlzLmFycml2YWxFbmREYXRlID0gdGhpcy5maWx0ZXJSZXF1ZXN0U2VydmljZS5nZXREYXRlRnJvbUZpbHRlclJlcXVlc3RSYW5nZSh0aGlzLnNlYXJjaFJlcXVlc3QuYXJyaXZhbERhdGVSYW5nZSwgMSk7XHJcbiAgfVxyXG5cclxuICAvL0RlbGl2ZXJ5IE1ldGhvZHNcclxuICBwcml2YXRlIF9zZXREZWxpdmVyeU1ldGhvZHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXREZWxpdmVyeU1ldGhvZHMoKS50aGVuKChkZWxpdmVyeU1ldGhvZHM6IERlbGl2ZXJ5TWV0aG9kW10pID0+IHtcclxuICAgICAgdGhpcy5kZWxpdmVyeU1ldGhvZHMgPSBuZXcgRmlsdGVyVmlld21vZGVsKGRlbGl2ZXJ5TWV0aG9kcywgdGhpcy5kZWxpdmVyeU1ldGhvZEZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vV2FyZWhvdXNlc1xyXG4gIHByaXZhdGUgX3NldFdhcmVob3VzZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRXYXJlaG91c2VzKCkudGhlbigod2FyZWhvdXNlczogV2FyZWhvdXNlW10pID0+IHtcclxuICAgICAgdGhpcy53YXJlaG91c2VzID0gbmV3IEZpbHRlclZpZXdtb2RlbCh3YXJlaG91c2VzLCB0aGlzLndhcmVob3VzZUZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vU291cmNlIFdhcmVob3VzZXNcclxuICBwcml2YXRlIF9zZXRTb3VyY2VXYXJlaG91c2VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0V2FyZWhvdXNlcygpLnRoZW4oKHdhcmVob3VzZXM6IFdhcmVob3VzZVtdKSA9PiB7XHJcbiAgICAgIHRoaXMuc291cmNlV2FyZWhvdXNlcyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwod2FyZWhvdXNlcywgdGhpcy5zb3VyY2VXYXJlaG91c2VGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|