@colijnit/transaction 12.1.6 → 12.1.7
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/app/app.component.scss +39 -0
- package/app/component/checkout/checkout/checkout.component.d.ts +2 -0
- package/app/component/checkout/checkout/checkout.component.scss +137 -0
- package/app/component/checkout/checkout-login/checkout-login.component.scss +35 -0
- package/app/component/checkout/checkout-overview/checkout-overview.component.scss +0 -0
- package/app/component/checkout/checkout-overview-block/checkout-overview-block.component.scss +0 -0
- package/app/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.scss +0 -0
- package/app/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.scss +3 -0
- package/app/component/checkout/checkout-overview-relation-address/checkout-overview-relation-address.component.d.ts +1 -0
- package/app/component/checkout/checkout-overview-relation-address/style/_layout.scss +19 -0
- package/app/component/checkout/checkout-overview-relation-address/style/_material-definition.scss +0 -0
- package/app/component/checkout/checkout-overview-relation-address/style/_theme.scss +7 -0
- package/app/component/checkout/checkout-overview-relation-address/style/material.scss +4 -0
- package/app/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.d.ts +1 -2
- package/app/component/checkout/checkout-overview-relation-edit/style/_layout.scss +92 -0
- package/app/component/checkout/checkout-overview-relation-edit/style/_material-definition.scss +15 -0
- package/app/component/checkout/checkout-overview-relation-edit/style/_theme.scss +9 -0
- package/app/component/checkout/checkout-overview-relation-edit/style/material.scss +5 -0
- package/app/component/checkout/checkout-relation-suggestions-list/checkout-relation-suggestions-list.component.d.ts +2 -3
- package/app/component/checkout/checkout-relation-suggestions-list/style/_layout.scss +7 -0
- package/app/component/checkout/checkout-relation-suggestions-list/style/_material-definition.scss +0 -0
- package/app/component/checkout/checkout-relation-suggestions-list/style/_theme.scss +6 -0
- package/app/component/checkout/checkout-relation-suggestions-list/style/material.scss +5 -0
- package/app/component/checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component.d.ts +5 -9
- package/app/component/checkout/checkout-relation-suggestions-list-item/style/_layout.scss +34 -0
- package/app/component/checkout/checkout-relation-suggestions-list-item/style/_material-definition.scss +8 -0
- package/app/component/checkout/checkout-relation-suggestions-list-item/style/_theme.scss +6 -0
- package/app/component/checkout/checkout-relation-suggestions-list-item/style/material.scss +4 -0
- package/app/component/checkout/checkout-transaction/checkout-transaction.component.d.ts +3 -0
- package/app/component/checkout/checkout-transaction/checkout-transaction.component.scss +11 -0
- package/app/component/checkout/ione-checkout.component.d.ts +3 -1
- package/app/component/core/base/default-ok-cancel-buttons.component.d.ts +2 -2
- package/app/component/core/base/style/_layout.scss +7 -0
- package/app/component/core/base/style/_material-definition.scss +0 -0
- package/app/component/core/base/style/_theme.scss +6 -0
- package/app/component/core/base/style/material.scss +4 -0
- package/app/component/core/characteristic-answer/characteristic-answer.component.scss +18 -0
- package/app/component/core/icon/icon.component.scss +85 -0
- package/app/component/core/image-display/image-display.component.d.ts +1 -0
- package/app/component/core/image-display/style/_layout.scss +39 -0
- package/app/component/core/image-display/style/_material-definition.scss +0 -0
- package/app/component/core/image-display/style/_theme.scss +6 -0
- package/app/component/core/image-display/style/material.scss +4 -0
- package/app/component/core/no-image-display/no-image-display.component.scss +0 -0
- package/app/component/core/relation/customer-groups.component.d.ts +13 -0
- package/app/component/core/stock-status-indicator/stock-status-indicator.component.scss +45 -0
- package/app/component/service-order/service-order.component.scss +152 -0
- package/app/component/service-order/summary/transaction-delivery-summary.component.scss +20 -0
- package/app/component/service-order/summary/transaction-summary-block.component.scss +107 -0
- package/app/component/service-order/transaction-article-text/transaction-article-text.component.scss +6 -0
- package/app/component/service-order/transaction-article-text-overview/transaction-article-text-overview.component.scss +0 -0
- package/app/component/service-order/transaction-edit-article-text/transaction-edit-article-text.component.scss +0 -0
- package/app/component/service-order/transaction-header-block/transaction-header-block.component.scss +65 -0
- package/app/component/service-order/transaction-manager/transaction-manager.component.scss +52 -0
- package/app/component/service-order/transaction-order-line-view/transaction-order-line-view.component.scss +88 -0
- package/app/component/service-order/transaction-order-lines/transaction-order-lines.component.scss +83 -0
- package/app/component/service-order/transaction-order-totals/transaction-order-totals.component.scss +24 -0
- package/app/component/service-order/transaction-relation/transaction-relation-edit.component.scss +24 -0
- package/app/component/service-order/transaction-sidebar/transaction-line-accordion.component.scss +0 -0
- package/app/component/service-order/transaction-sidebar/transaction-sidebar-right.component.scss +17 -0
- package/app/component/service-order/warehouse/warehouse.component.scss +52 -0
- package/app/component/shopping-cart/shopping-cart/shopping-cart.component.scss +79 -0
- package/app/component/shopping-cart/shopping-cart-line/shopping-cart-line.component.scss +107 -0
- package/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.scss +52 -0
- package/app/service/ione-connector-adapter.service.d.ts +5 -2
- package/app/service/options.service.d.ts +2 -3
- package/app/service/transaction.service.d.ts +3 -1
- package/bundles/colijnit-transaction.umd.js +282 -187
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.d.ts +42 -41
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/app/component/checkout/checkout/checkout.component.js +13 -5
- package/esm2015/app/component/checkout/checkout-overview/checkout-overview.component.js +4 -4
- package/esm2015/app/component/checkout/checkout-overview-block/checkout-overview-block.component.js +1 -1
- package/esm2015/app/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.js +1 -1
- package/esm2015/app/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +4 -4
- package/esm2015/app/component/checkout/checkout-overview-relation-address/checkout-overview-relation-address.component.js +37 -49
- package/esm2015/app/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +140 -159
- package/esm2015/app/component/checkout/checkout-relation-suggestions-list/checkout-relation-suggestions-list.component.js +16 -19
- package/esm2015/app/component/checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component.js +17 -39
- package/esm2015/app/component/checkout/checkout-transaction/checkout-transaction.component.js +7 -5
- package/esm2015/app/component/checkout/ione-checkout.component.js +6 -4
- package/esm2015/app/component/checkout/ione-checkout.module.js +7 -7
- package/esm2015/app/component/core/base/default-ok-cancel-buttons.component.js +13 -11
- package/esm2015/app/component/core/characteristic-answer/characteristic-answer.component.js +1 -1
- package/esm2015/app/component/core/core.module.js +9 -4
- package/esm2015/app/component/core/icon/icon.component.js +1 -1
- package/esm2015/app/component/core/image-display/image-display.component.js +9 -5
- package/esm2015/app/component/core/relation/customer-groups.component.js +40 -0
- package/esm2015/app/component/core/stock-status-indicator/stock-status-indicator.component.js +1 -1
- package/esm2015/app/component/service-order/service-order.component.js +1 -1
- package/esm2015/app/component/service-order/summary/transaction-delivery-summary.component.js +1 -1
- package/esm2015/app/component/service-order/summary/transaction-summary-block.component.js +3 -3
- package/esm2015/app/component/service-order/transaction-header-block/transaction-header-block.component.js +1 -1
- package/esm2015/app/component/service-order/transaction-manager/transaction-manager.component.js +1 -1
- package/esm2015/app/component/service-order/transaction-order-line-view/transaction-order-line-view.component.js +3 -3
- package/esm2015/app/component/service-order/transaction-order-lines/transaction-order-lines.component.js +1 -1
- package/esm2015/app/component/service-order/transaction-order-totals/transaction-order-totals.component.js +1 -1
- package/esm2015/app/component/service-order/transaction-relation/transaction-relation-edit.component.js +3 -3
- package/esm2015/app/component/service-order/warehouse/warehouse.component.js +1 -1
- package/esm2015/app/component/shopping-cart/shopping-cart/shopping-cart.component.js +1 -1
- package/esm2015/app/component/shopping-cart/shopping-cart-line/shopping-cart-line.component.js +3 -3
- package/esm2015/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.js +1 -1
- package/esm2015/app/service/ione-connector-adapter.service.js +16 -2
- package/esm2015/app/service/options.service.js +2 -3
- package/esm2015/app/service/transaction.service.js +25 -13
- package/esm2015/colijnit-transaction.js +43 -42
- package/fesm2015/colijnit-transaction.js +358 -338
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/package.json +3 -4
- package/style/_mixin.scss +9 -0
- package/style/_variables.scss +75 -0
- package/style/styles.scss +367 -0
- package/styles.scss +11 -0
- package/app/enum/direction.enum.d.ts +0 -6
- package/css/styles.css +0 -38
- package/esm2015/app/enum/direction.enum.js +0 -9
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import { ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewChild } from "@angular/core";
|
|
2
|
+
import { ChangeDetectorRef, Component, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation } from "@angular/core";
|
|
3
3
|
import { NULL_RELATION_OBJECT } from "@colijnit/transactionapi/build/model/nul-relation-object";
|
|
4
4
|
import { CommunicationType } from "@colijnit/transactionapi/build/enum/communication-type.enum";
|
|
5
5
|
import { ContactOption } from "@colijnit/transactionapi/build/model/contact-option.bo";
|
|
@@ -12,8 +12,8 @@ import { BusinessObjectUtils } from "@colijnit/transactionapi/build/utils/busine
|
|
|
12
12
|
import { FormComponent } from "@colijnit/corecomponents_v12";
|
|
13
13
|
import { FunctionUtils } from "@colijnit/transactionapi/build/utils/function-utils";
|
|
14
14
|
import { ObjectUtils } from "@colijnit/transactionapi/build/utils/object-utils";
|
|
15
|
-
import { CoSidebarComponent } from "@colijnit/corecomponents_v12";
|
|
16
15
|
import { Address } from "@colijnit/transactionapi/build/model/address.bo";
|
|
16
|
+
import { animate, state, style, transition, trigger } from "@angular/animations";
|
|
17
17
|
export class CheckoutOverviewRelationEditComponent {
|
|
18
18
|
constructor(_changeDetector, _transactionService) {
|
|
19
19
|
this._changeDetector = _changeDetector;
|
|
@@ -44,6 +44,9 @@ export class CheckoutOverviewRelationEditComponent {
|
|
|
44
44
|
this.preparePrimaryEmail();
|
|
45
45
|
this.preparePrimaryPhone();
|
|
46
46
|
}
|
|
47
|
+
showClass() {
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
47
50
|
get relation() {
|
|
48
51
|
return this._relation;
|
|
49
52
|
}
|
|
@@ -172,16 +175,10 @@ export class CheckoutOverviewRelationEditComponent {
|
|
|
172
175
|
showSidebar() {
|
|
173
176
|
this.showRelationSidebar = true;
|
|
174
177
|
this._changeDetector.detectChanges();
|
|
175
|
-
if (this.relationSidebar) {
|
|
176
|
-
this.relationSidebar.show();
|
|
177
|
-
}
|
|
178
178
|
}
|
|
179
179
|
hideSidebar() {
|
|
180
180
|
this.showRelationSidebar = false;
|
|
181
181
|
this._changeDetector.detectChanges();
|
|
182
|
-
if (this.relationSidebar) {
|
|
183
|
-
this.relationSidebar.hide();
|
|
184
|
-
}
|
|
185
182
|
}
|
|
186
183
|
// load suggestions
|
|
187
184
|
_relationNameChangedHandlerFn() {
|
|
@@ -190,6 +187,7 @@ export class CheckoutOverviewRelationEditComponent {
|
|
|
190
187
|
const secondName = ObjectUtils.ValueOrDefault(this._relation.familyName);
|
|
191
188
|
if (!firstName && !secondName) {
|
|
192
189
|
this.relationSuggestions = [];
|
|
190
|
+
this.hideSidebar();
|
|
193
191
|
return;
|
|
194
192
|
}
|
|
195
193
|
const relationRequest = {};
|
|
@@ -207,178 +205,161 @@ export class CheckoutOverviewRelationEditComponent {
|
|
|
207
205
|
}
|
|
208
206
|
CheckoutOverviewRelationEditComponent.decorators = [
|
|
209
207
|
{ type: Component, args: [{
|
|
210
|
-
selector: "checkout-overview-relation-edit",
|
|
208
|
+
selector: "co-checkout-overview-relation-edit",
|
|
211
209
|
template: `
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
</div>
|
|
218
|
-
<div>
|
|
219
|
-
<label [textContent]="'PERSONAL_DATA' | localize"
|
|
220
|
-
class="checkout-label-h3"
|
|
221
|
-
></label>
|
|
222
|
-
</div>
|
|
223
|
-
<div>
|
|
224
|
-
<div>
|
|
225
|
-
<label [textContent]="'ORDER_TYPE' | localize "
|
|
226
|
-
class="checkout-label-h3"
|
|
227
|
-
></label>
|
|
228
|
-
</div>
|
|
229
|
-
<div>
|
|
230
|
-
<co-input-radio-button [name]="'type'"
|
|
231
|
-
[label]="'PRIVATE_PERSON' | localize"
|
|
232
|
-
[value]="relType.Private"
|
|
233
|
-
[checked]="relation.type === relType.Private"
|
|
234
|
-
(modelChange)="changeRelationType(relType.Private)"
|
|
235
|
-
></co-input-radio-button>
|
|
236
|
-
<co-input-radio-button [name]="'type'"
|
|
237
|
-
[label]="'COMPANY' | localize"
|
|
238
|
-
[value]="relType.Company"
|
|
239
|
-
[(model)]="relation.type"
|
|
240
|
-
[checked]="relation.type === relType.Company"
|
|
241
|
-
(modelChange)="changeRelationType(relType.Company)"
|
|
242
|
-
></co-input-radio-button>
|
|
243
|
-
</div>
|
|
210
|
+
<co-form (validSubmit)="validSubmit.emit()" (invalidSubmit)="invalidSubmit.emit()">
|
|
211
|
+
<div class="checkout-form-wrapper">
|
|
212
|
+
<div class="checkout-label-column">
|
|
213
|
+
<span>01</span>
|
|
214
|
+
<span class="label" [textContent]="'PERSONAL_DATA' | localize"></span>
|
|
244
215
|
</div>
|
|
245
|
-
<div
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
216
|
+
<div class="checkout-data-column">
|
|
217
|
+
<div class="checkout-data-row">
|
|
218
|
+
<co-input-radio-button class="default-width"
|
|
219
|
+
[name]="'type'"
|
|
220
|
+
[label]="'PRIVATE_PERSON' | localize"
|
|
221
|
+
[value]="relType.Private"
|
|
222
|
+
[checked]="relation.type === relType.Private"
|
|
223
|
+
(modelChange)="changeRelationType(relType.Private)"
|
|
224
|
+
></co-input-radio-button>
|
|
225
|
+
<co-input-radio-button class="default-width"
|
|
226
|
+
[name]="'type'"
|
|
227
|
+
[label]="'COMPANY' | localize"
|
|
228
|
+
[value]="relType.Company"
|
|
229
|
+
[(model)]="relation.type"
|
|
230
|
+
[checked]="relation.type === relType.Company"
|
|
231
|
+
(modelChange)="changeRelationType(relType.Company)"
|
|
232
|
+
></co-input-radio-button>
|
|
233
|
+
</div>
|
|
234
|
+
<relation-customer-groups [(model)]="relation.customerGroup" required></relation-customer-groups>
|
|
235
|
+
<div *ngIf="relation.type === relType.Private" class="collapseable" @showHidePrivateRelationFields>
|
|
236
|
+
<div class="checkout-data-row">
|
|
237
|
+
<co-input-text
|
|
238
|
+
class="checkout-first-name"
|
|
239
|
+
[(model)]="relation.firstName"
|
|
240
|
+
[placeholder]="'FIRST_NAME' | localize"
|
|
241
|
+
(modelChange)="firstNameChange($event)"
|
|
242
|
+
required
|
|
243
|
+
></co-input-text>
|
|
244
|
+
<co-input-text
|
|
245
|
+
class="checkout-prefix-name"
|
|
246
|
+
[(model)]="relation.prefix"
|
|
247
|
+
[placeholder]="'PREFIX' | localize"
|
|
248
|
+
></co-input-text>
|
|
249
|
+
<co-input-text
|
|
250
|
+
class="checkout-last-name"
|
|
251
|
+
[(model)]="relation.familyName"
|
|
252
|
+
[placeholder]="'LAST_NAME' | localize"
|
|
253
|
+
(modelChange)="familyNameChange($event)"
|
|
254
|
+
required></co-input-text>
|
|
268
255
|
</div>
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
<co-input-text
|
|
292
|
-
[(model)]="relation.familyName"
|
|
293
|
-
[placeholder]="'LAST_NAME' | localize"
|
|
294
|
-
(modelChange)="familyNameChange($event)"
|
|
295
|
-
required></co-input-text>
|
|
296
|
-
</div>
|
|
297
|
-
</div>
|
|
256
|
+
<div class="checkout-data-row">
|
|
257
|
+
<co-input-radio-button class="default-width"
|
|
258
|
+
[name]="'gender'"
|
|
259
|
+
[label]="'MALE' | localize"
|
|
260
|
+
[value]="genderType.Male"
|
|
261
|
+
[checked]="relation.gender === genderType.Male"
|
|
262
|
+
(modelChange)="changeGenderType(genderType.Male)"
|
|
263
|
+
></co-input-radio-button>
|
|
264
|
+
<co-input-radio-button class="default-width"
|
|
265
|
+
[name]="'gender'"
|
|
266
|
+
[label]="'FEMALE' | localize "
|
|
267
|
+
[value]="genderType.Female"
|
|
268
|
+
[checked]="relation.gender === genderType.Female"
|
|
269
|
+
(modelChange)="changeGenderType(genderType.Female)"
|
|
270
|
+
></co-input-radio-button>
|
|
271
|
+
<co-input-radio-button class="default-width"
|
|
272
|
+
[name]="'gender'"
|
|
273
|
+
[label]="'UNKNOWN' | localize"
|
|
274
|
+
[value]="genderType.Unspecified"
|
|
275
|
+
[checked]="relation.gender === genderType.Unspecified"
|
|
276
|
+
(modelChange)="changeGenderType(genderType.Unspecified)"
|
|
277
|
+
></co-input-radio-button>
|
|
298
278
|
</div>
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
></
|
|
305
|
-
|
|
279
|
+
<div class="default-flex-row">
|
|
280
|
+
<div class="default-flex-column">
|
|
281
|
+
<co-input-date [placeholder]="'DATE_OF_BIRTH' | localize " [(model)]="dateOfBirth" required></co-input-date>
|
|
282
|
+
</div>
|
|
283
|
+
<div class="default-flex-column">
|
|
284
|
+
<co-input-text [(model)]="phoneNumber.value" [placeholder]="'PHONE_NO' | localize " required></co-input-text>
|
|
285
|
+
</div>
|
|
306
286
|
</div>
|
|
307
|
-
</div>
|
|
308
|
-
|
|
309
|
-
<div>
|
|
310
|
-
<checkout-overview-relation-address
|
|
311
|
-
label="DELIVERY_ADDRESS" [address]="editFirstAddress"
|
|
312
|
-
></checkout-overview-relation-address>
|
|
313
|
-
</div>
|
|
314
|
-
|
|
315
|
-
<div class="default-flex-row">
|
|
316
|
-
<div class="default-flex-column">
|
|
317
|
-
<co-input-date [placeholder]="'DATE_OF_BIRTH' | localize " [(model)]="dateOfBirth" required></co-input-date>
|
|
318
287
|
</div>
|
|
319
|
-
<div class="default-flex-column">
|
|
320
|
-
<co-input-text [(model)]="
|
|
288
|
+
<div *ngIf="relation?.type === relType.Company" class="default-flex-column collapseable" @showHideCompanyRelationFields>
|
|
289
|
+
<co-input-text [(model)]="relation.familyName" [placeholder]="'COMPANY_NAME' | localize" required></co-input-text>
|
|
321
290
|
</div>
|
|
322
291
|
</div>
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
class="checkout-label-h3"
|
|
327
|
-
></label>
|
|
292
|
+
<div class="checkout-label-column">
|
|
293
|
+
<span>02</span>
|
|
294
|
+
<span class="label" [textContent]="'DELIVERY_ADDRESS' | localize"></span>
|
|
328
295
|
</div>
|
|
329
|
-
<div>
|
|
330
|
-
<
|
|
296
|
+
<div class="checkout-data-column">
|
|
297
|
+
<co-checkout-overview-relation-address [address]="editFirstAddress"></co-checkout-overview-relation-address>
|
|
331
298
|
</div>
|
|
332
|
-
<div class="
|
|
333
|
-
<
|
|
334
|
-
|
|
335
|
-
|
|
299
|
+
<div class="checkout-label-column">
|
|
300
|
+
<span>03</span>
|
|
301
|
+
<span class="label" [textContent]="'LOGIN_DETAILS' | localize"></span>
|
|
302
|
+
<span class="label-description" [textContent]="'ACCOUNT_EXPLANATION' | localize"></span>
|
|
336
303
|
</div>
|
|
337
|
-
|
|
338
|
-
|
|
304
|
+
<div class="checkout-data-column">
|
|
305
|
+
<co-input-text [(model)]="emailAddress.value" [placeholder]="'EMAIL_ADDRESS' | localize " [type]="'email'" required></co-input-text>
|
|
339
306
|
<div *ngIf="!applicationUser" class="default-flex-column">
|
|
340
|
-
|
|
307
|
+
<co-input-text [(model)]="accountPassword" [placeholder]="'PASSWORD' | localize " [type]="'password'" required></co-input-text>
|
|
341
308
|
</div>
|
|
342
309
|
<div *ngIf="applicationUser" class="default-flex-column">
|
|
343
310
|
<co-input-checkbox [label]="'INVITE_TO_ACCOUNT' | localize" [(model)]="inviteToAccount"></co-input-checkbox>
|
|
344
311
|
</div>
|
|
345
312
|
</div>
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
class="checkout-label-h3"
|
|
350
|
-
></label>
|
|
313
|
+
<div class="checkout-label-column">
|
|
314
|
+
<span>04</span>
|
|
315
|
+
<span class="label" [textContent]="'PRIVACY_PREFERENCES' | localize"></span>
|
|
351
316
|
</div>
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
<
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
</div>
|
|
364
|
-
</div>
|
|
317
|
+
<div class="checkout-data-column">
|
|
318
|
+
<div class="two-column-grid">
|
|
319
|
+
<ng-container *ngFor="let privacySetting of privacySettings">
|
|
320
|
+
<co-input-checkbox class="first-column"
|
|
321
|
+
[label]="privacySetting.description"
|
|
322
|
+
[model]="isShared(privacySetting)"
|
|
323
|
+
(modelChange)="changePrivacySetting(privacySetting, $event)"
|
|
324
|
+
></co-input-checkbox>
|
|
325
|
+
<span class="second-column" [textContent]="privacySetting.explanation"></span>
|
|
326
|
+
</ng-container>
|
|
327
|
+
</div>
|
|
365
328
|
</div>
|
|
329
|
+
</div>
|
|
366
330
|
</co-form>
|
|
367
331
|
|
|
368
|
-
<
|
|
332
|
+
<div class="suggestions-sidebar" isOpen="false" *ngIf="showRelationSidebar" @showHideSidebar>
|
|
369
333
|
<div class="relation-sidebar-header">
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
</div>
|
|
374
|
-
<checkout-relation-suggestions-list
|
|
334
|
+
<label class="checkout-label-h3" [textContent]="'SUGGESTIONS' | localize"></label>
|
|
335
|
+
</div>
|
|
336
|
+
<co-checkout-relation-suggestions-list
|
|
375
337
|
[suggestions]="relationSuggestions"
|
|
376
|
-
(
|
|
377
|
-
></checkout-relation-suggestions-list>
|
|
378
|
-
</
|
|
338
|
+
(suggestionSelected)="onRelationSuggestionClick($event)"
|
|
339
|
+
></co-checkout-relation-suggestions-list>
|
|
340
|
+
</div>
|
|
379
341
|
|
|
380
|
-
|
|
381
|
-
|
|
342
|
+
`,
|
|
343
|
+
animations: [
|
|
344
|
+
trigger("showHidePrivateRelationFields", [
|
|
345
|
+
state("void", style({ height: 0 })),
|
|
346
|
+
state("*", style({ height: "*" })),
|
|
347
|
+
transition("void => *", animate("200ms ease-in-out")),
|
|
348
|
+
transition("* => void", animate("200ms ease-out"))
|
|
349
|
+
]),
|
|
350
|
+
trigger("showHideCompanyRelationFields", [
|
|
351
|
+
state("void", style({ height: 0 })),
|
|
352
|
+
state("*", style({ height: "*" })),
|
|
353
|
+
transition("void => *", animate("200ms ease-in-out")),
|
|
354
|
+
transition("* => void", animate("200ms ease-out"))
|
|
355
|
+
]),
|
|
356
|
+
trigger("showHideSidebar", [
|
|
357
|
+
state("void", style({ transform: "translateX(100%)" })),
|
|
358
|
+
state("*", style({ transform: "translateX(0)" })),
|
|
359
|
+
transition("void <=> *", animate("200ms ease-in-out"))
|
|
360
|
+
])
|
|
361
|
+
],
|
|
362
|
+
encapsulation: ViewEncapsulation.None
|
|
382
363
|
},] }
|
|
383
364
|
];
|
|
384
365
|
CheckoutOverviewRelationEditComponent.ctorParameters = () => [
|
|
@@ -387,10 +368,10 @@ CheckoutOverviewRelationEditComponent.ctorParameters = () => [
|
|
|
387
368
|
];
|
|
388
369
|
CheckoutOverviewRelationEditComponent.propDecorators = {
|
|
389
370
|
relationForm: [{ type: ViewChild, args: [FormComponent, { static: true },] }],
|
|
390
|
-
relationSidebar: [{ type: ViewChild, args: [CoSidebarComponent, { static: false },] }],
|
|
391
371
|
relation: [{ type: Input }],
|
|
392
372
|
transaction: [{ type: Input }],
|
|
393
373
|
validSubmit: [{ type: Output }],
|
|
394
|
-
invalidSubmit: [{ type: Output }]
|
|
374
|
+
invalidSubmit: [{ type: Output }],
|
|
375
|
+
showClass: [{ type: HostBinding, args: ["class.co-checkout-overview-relation-edit",] }]
|
|
395
376
|
};
|
|
396
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tZWRpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudC9jaGVja291dC9jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1lZGl0L2NoZWNrb3V0LW92ZXJ2aWV3LXJlbGF0aW9uLWVkaXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWdCLGlCQUFpQixFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQVUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFOUksT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMERBQTBELENBQUM7QUFHOUYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNkRBQTZELENBQUM7QUFDOUYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUN0RixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw2REFBNkQsQ0FBQztBQUM3RixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdURBQXVELENBQUM7QUFFbEYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQy9GLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0scURBQXFELENBQUM7QUFDbEYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBRzlFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4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QyxtQkFBbUIsQ0FBQyxzQkFBc0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNwRyxDQUFDO0tBQUE7OztZQXJaRixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGlDQUFpQztnQkFDM0MsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBeUtUOzthQUtKOzs7WUF0TXNCLGlCQUFpQjtZQVloQyxrQkFBa0I7OzsyQkE0THZCLFNBQVMsU0FBQyxhQUFhLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDOzhCQUd2QyxTQUFTLFNBQUMsa0JBQWtCLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO3VCQUc3QyxLQUFLOzBCQVFMLEtBQUs7MEJBR0wsTUFBTTs0QkFHTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1JlbGF0aW9uQW55VHlwZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1hbnktdHlwZVwiO1xuaW1wb3J0IHtOVUxMX1JFTEFUSU9OX09CSkVDVH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9udWwtcmVsYXRpb24tb2JqZWN0XCI7XG5pbXBvcnQge1RyYW5zYWN0aW9uSW5mb30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLmJvXCI7XG5pbXBvcnQge0N1c3RvbWVyRnVsbE9iamVjdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jdXN0b21lci1mdWxsLW9iamVjdC5ib1wiO1xuaW1wb3J0IHtDb21tdW5pY2F0aW9uVHlwZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL2NvbW11bmljYXRpb24tdHlwZS5lbnVtXCI7XG5pbXBvcnQge0NvbnRhY3RPcHRpb259IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY29udGFjdC1vcHRpb24uYm9cIjtcbmltcG9ydCB7aXNOaWxsfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL3V0aWxzL2Z1bmN0aW9uL2lzLW5pbGwuZnVuY3Rpb25cIjtcbmltcG9ydCB7UmVsYXRpb25OYW1lS2luZH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3JlbGF0aW9uLW5hbWUta2luZC5lbnVtXCI7XG5pbXBvcnQge0FkZHJlc3NUeXBlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vYWRkcmVzcy10eXBlLmVudW1cIjtcbmltcG9ydCB7UmVsYXRpb25Qcml2YWN5U2V0dGluZ30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1wcml2YWN5LXNldHRpbmcuYm9cIjtcbmltcG9ydCB7R2VuZGVyVHlwZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL2dlbmRlci10eXBlLmVudW1cIjtcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XG5pbXBvcnQge0J1c2luZXNzT2JqZWN0VXRpbHN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvdXRpbHMvYnVzaW5lc3Mtb2JqZWN0LXV0aWxzXCI7XG5pbXBvcnQge0Zvcm1Db21wb25lbnR9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XG5pbXBvcnQge0Z1bmN0aW9uVXRpbHN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvdXRpbHMvZnVuY3Rpb24tdXRpbHNcIjtcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvdXRpbHMvb2JqZWN0LXV0aWxzXCI7XG5pbXBvcnQge1JlbGF0aW9uTGlzdE9iamVjdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1saXN0LW9iamVjdC5ib1wiO1xuaW1wb3J0IHtSZWxhdGlvblJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tcmVxdWVzdFwiO1xuaW1wb3J0IHtDb1NpZGViYXJDb21wb25lbnR9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XG5pbXBvcnQge0FkZHJlc3N9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvYWRkcmVzcy5ib1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJjaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1lZGl0XCIsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgIDxjby1mb3JtICh2YWxpZFN1Ym1pdCk9XCJ2YWxpZFN1Ym1pdC5lbWl0KClcIiAoaW52YWxpZFN1Ym1pdCk9XCJpbnZhbGlkU3VibWl0LmVtaXQoKVwiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGxhYmVsIFt0ZXh0Q29udGVudF09XCInQUNDT1VOVF9ERVRBSUxTJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNoZWNrb3V0LWxhYmVsLWgyXCJcbiAgICAgICAgICAgID48L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxsYWJlbCBbdGV4dENvbnRlbnRdPVwiJ1BFUlNPTkFMX0RBVEEnIHwgbG9jYWxpemVcIlxuICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tvdXQtbGFiZWwtaDNcIlxuICAgICAgICAgICAgPjwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidPUkRFUl9UWVBFJyB8IGxvY2FsaXplIFwiXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tvdXQtbGFiZWwtaDNcIlxuICAgICAgICAgICAgICAgID48L2xhYmVsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC1yYWRpby1idXR0b24gW25hbWVdPVwiJ3R5cGUnXCJcbiAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1BSSVZBVEVfUEVSU09OJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwicmVsVHlwZS5Qcml2YXRlXCJcbiAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJyZWxhdGlvbi50eXBlID09PSByZWxUeXBlLlByaXZhdGVcIlxuICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJjaGFuZ2VSZWxhdGlvblR5cGUocmVsVHlwZS5Qcml2YXRlKVwiXG4gICAgICAgICAgICAgICAgICAgID48L2NvLWlucHV0LXJhZGlvLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8Y28taW5wdXQtcmFkaW8tYnV0dG9uIFtuYW1lXT1cIid0eXBlJ1wiXG4gICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidDT01QQU5ZJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwicmVsVHlwZS5Db21wYW55XCJcbiAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJyZWxhdGlvbi50eXBlXCJcbiAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJyZWxhdGlvbi50eXBlID09PSByZWxUeXBlLkNvbXBhbnlcIlxuICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJjaGFuZ2VSZWxhdGlvblR5cGUocmVsVHlwZS5Db21wYW55KVwiXG4gICAgICAgICAgICAgICAgPjwvY28taW5wdXQtcmFkaW8tYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwicmVsYXRpb24udHlwZSA9PT0gcmVsVHlwZS5Qcml2YXRlXCI+XG4gICAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidTQUxVVEFUSU9OJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNoZWNrb3V0LWxhYmVsLWgzXCJcbiAgICAgICAgICAgID48L2xhYmVsPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8Y28taW5wdXQtcmFkaW8tYnV0dG9uIFtuYW1lXT1cIidnZW5kZXInXCJcbiAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ01BTEUnIHwgbG9jYWxpemVcIlxuICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJnZW5kZXJUeXBlLk1hbGVcIlxuICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInJlbGF0aW9uLmdlbmRlciA9PT0gZ2VuZGVyVHlwZS5NYWxlXCJcbiAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiY2hhbmdlR2VuZGVyVHlwZShnZW5kZXJUeXBlLk1hbGUpXCJcbiAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC1yYWRpby1idXR0b24+XG4gICAgICAgICAgICAgICAgPGNvLWlucHV0LXJhZGlvLWJ1dHRvbiBbbmFtZV09XCInZ2VuZGVyJ1wiXG4gICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidGRU1BTEUnIHwgbG9jYWxpemUgXCJcbiAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZ2VuZGVyVHlwZS5GZW1hbGVcIlxuICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInJlbGF0aW9uLmdlbmRlciA9PT0gZ2VuZGVyVHlwZS5GZW1hbGVcIlxuICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJjaGFuZ2VHZW5kZXJUeXBlKGdlbmRlclR5cGUuRmVtYWxlKVwiXG4gICAgICAgICAgICAgICAgPjwvY28taW5wdXQtcmFkaW8tYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC1yYWRpby1idXR0b24gW25hbWVdPVwiJ2dlbmRlcidcIlxuICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInVU5LTk9XTicgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImdlbmRlclR5cGUuVW5zcGVjaWZpZWRcIlxuICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInJlbGF0aW9uLmdlbmRlciA9PT0gZ2VuZGVyVHlwZS5VbnNwZWNpZmllZFwiXG4gICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImNoYW5nZUdlbmRlclR5cGUoZ2VuZGVyVHlwZS5VbnNwZWNpZmllZClcIlxuICAgICAgICAgICAgICAgID48L2NvLWlucHV0LXJhZGlvLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInJlbGF0aW9uLnR5cGUgPT09IHJlbFR5cGUuUHJpdmF0ZVwiPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidOQU1FJyB8IGxvY2FsaXplIFwiXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tvdXQtbGFiZWwtaDNcIlxuICAgICAgICAgICAgICAgID48L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWZhdWx0LWZsZXgtcm93XCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1mbGV4LWNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dFxuICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInJlbGF0aW9uLmZpcnN0TmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidGSVJTVF9OQU1FJyB8IGxvY2FsaXplIFwiXG4gICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImZpcnN0TmFtZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1mbGV4LWNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dFxuICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInJlbGF0aW9uLnByZWZpeFwiXG4gICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidQUkVGSVgnIHwgbG9jYWxpemUgXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlZmF1bHQtZmxleC1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHRcbiAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJyZWxhdGlvbi5mYW1pbHlOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0xBU1RfTkFNRScgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImZhbWlseU5hbWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInJlbGF0aW9uPy50eXBlID09PSByZWxUeXBlLkNvbXBhbnlcIiBjbGFzcz1cImRlZmF1bHQtZmxleC1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidDT01QQU5ZX05BTUUnIHwgbG9jYWxpemUgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja291dC1sYWJlbC1oM1wiXG4gICAgICAgICAgICAgICAgPjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwicmVsYXRpb24uZmFtaWx5TmFtZVwiIFtsYWJlbF09XCInQ09NUEFOWV9OQU1FJ1wiIHJlcXVpcmVkPjwvY28taW5wdXQtdGV4dD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxjaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1hZGRyZXNzXG4gICAgICAgICAgICAgICAgICBsYWJlbD1cIkRFTElWRVJZX0FERFJFU1NcIiBbYWRkcmVzc109XCJlZGl0Rmlyc3RBZGRyZXNzXCJcbiAgICAgICAgICA+PC9jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1hZGRyZXNzPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1mbGV4LXJvd1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWZhdWx0LWZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICA8Y28taW5wdXQtZGF0ZSBbcGxhY2Vob2xkZXJdPVwiJ0RBVEVfT0ZfQklSVEgnIHwgbG9jYWxpemUgXCIgWyhtb2RlbCldPVwiZGF0ZU9mQmlydGhcIiByZXF1aXJlZD48L2NvLWlucHV0LWRhdGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRlZmF1bHQtZmxleC1jb2x1bW5cIj5cbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInBob25lTnVtYmVyLnZhbHVlXCIgW3BsYWNlaG9sZGVyXT1cIidQSE9ORV9OTycgfCBsb2NhbGl6ZSBcIiByZXF1aXJlZD48L2NvLWlucHV0LXRleHQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidMT0dJTl9ERVRBSUxTJyB8IGxvY2FsaXplIFwiXG4gICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja291dC1sYWJlbC1oM1wiXG4gICAgICAgICAgICA+PC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPHA+e3sgJ0FDQ09VTlRfRVhQTEFOQVRJT04nIHwgbG9jYWxpemUgfX08L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1mbGV4LXJvd1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWZhdWx0LWZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cImVtYWlsQWRkcmVzcy52YWx1ZVwiIFtwbGFjZWhvbGRlcl09XCInRU1BSUxfQUREUkVTUycgfCBsb2NhbGl6ZSBcIiBbdHlwZV09XCInZW1haWwnXCIgcmVxdWlyZWQ+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1mbGV4LXJvd1wiPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCIhYXBwbGljYXRpb25Vc2VyXCIgY2xhc3M9XCJkZWZhdWx0LWZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cImFjY291bnRQYXNzd29yZFwiIFtwbGFjZWhvbGRlcl09XCInUEFTU1dPUkQnIHwgbG9jYWxpemUgXCIgW3R5cGVdPVwiJ3Bhc3N3b3JkJ1wiIHJlcXVpcmVkPjwvY28taW5wdXQtdGV4dD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiYXBwbGljYXRpb25Vc2VyXCIgY2xhc3M9XCJkZWZhdWx0LWZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3ggW2xhYmVsXT1cIidJTlZJVEVfVE9fQUNDT1VOVCcgfCBsb2NhbGl6ZVwiIFsobW9kZWwpXT1cImludml0ZVRvQWNjb3VudFwiPjwvY28taW5wdXQtY2hlY2tib3g+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidQUklWQUNZX1BSRUZFUkVOQ0VTJyB8IGxvY2FsaXplIFwiXG4gICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja291dC1sYWJlbC1oM1wiXG4gICAgICAgICAgICA+PC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcHJpdmFjeVNldHRpbmcgb2YgcHJpdmFjeVNldHRpbmdzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpdmFjeS1yb3dcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpdmFjeS1jb2x1bW4tbGVmdFwiPlxuICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3ggW2xhYmVsXT1cInByaXZhY3lTZXR0aW5nLmRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJpc1NoYXJlZChwcml2YWN5U2V0dGluZylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImNoYW5nZVByaXZhY3lTZXR0aW5nKHByaXZhY3lTZXR0aW5nLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaXZhY3ktY29sdW1uLXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IHByaXZhY3lTZXR0aW5nLmV4cGxhbmF0aW9uIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9jby1mb3JtPlxuXG4gICAgPGNvLXNpZGViYXIgI3JlbGF0aW9uU2lkZWJhciBpc09wZW49XCJmYWxzZVwiICpuZ0lmPVwic2hvd1JlbGF0aW9uU2lkZWJhclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aW9uLXNpZGViYXItaGVhZGVyXCI+XG4gICAgICAgICAgPGxhYmVsIFt0ZXh0Q29udGVudF09XCInU1VHR0VTVElPTlMnIHwgbG9jYWxpemUgXCJcbiAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja291dC1sYWJlbC1oM1wiXG4gICAgICAgICAgPjwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPGNoZWNrb3V0LXJlbGF0aW9uLXN1Z2dlc3Rpb25zLWxpc3RcbiAgICAgICAgW3N1Z2dlc3Rpb25zXT1cInJlbGF0aW9uU3VnZ2VzdGlvbnNcIlxuICAgICAgICAoc3VnZ2VzdGlvbkJ1dHRvbkNsaWNrKT1cIm9uUmVsYXRpb25TdWdnZXN0aW9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICA+PC9jaGVja291dC1yZWxhdGlvbi1zdWdnZXN0aW9ucy1saXN0PlxuICAgIDwvY28tc2lkZWJhcj5cblxuICAgIGAsXG4gICAgc3R5bGVVcmxzOiBbXG4gICAgICBcIi4vLi4vY2hlY2tvdXQvY2hlY2tvdXQuY29tcG9uZW50LnNjc3NcIixcbiAgICAgIFwiLi9jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1lZGl0LmNvbXBvbmVudC5zY3NzXCJcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrb3V0T3ZlcnZpZXdSZWxhdGlvbkVkaXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBAVmlld0NoaWxkKEZvcm1Db21wb25lbnQsIHtzdGF0aWM6IHRydWV9KVxuICBwdWJsaWMgcmVsYXRpb25Gb3JtOiBGb3JtQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoQ29TaWRlYmFyQ29tcG9uZW50LCB7c3RhdGljOiBmYWxzZX0pXG4gIHB1YmxpYyByZWxhdGlvblNpZGViYXI6IENvU2lkZWJhckNvbXBvbmVudDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHJlbGF0aW9uKHZhbHVlOiBSZWxhdGlvbkFueVR5cGUpIHtcbiAgICB0aGlzLl9yZWxhdGlvbiA9IHZhbHVlO1xuXG4gICAgdGhpcy5wcmVwYXJlUHJpbWFyeUVtYWlsKCk7XG4gICAgdGhpcy5wcmVwYXJlUHJpbWFyeVBob25lKCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uSW5mbztcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHZhbGlkU3VibWl0OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBpbnZhbGlkU3VibWl0OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHVibGljIHRlc3RqZTogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgZGF0ZU9mQmlydGg6IERhdGUgPSBuZXcgRGF0ZSgpO1xuICBwdWJsaWMgYWNjb3VudFBhc3N3b3JkOiBzdHJpbmcgPSBcIlwiO1xuICBwdWJsaWMgaGlkZTogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBnZW5kZXI6IEdlbmRlclR5cGUgPSBHZW5kZXJUeXBlLlVuc3BlY2lmaWVkO1xuICBwdWJsaWMgZW1haWxBZGRyZXNzOiBDb250YWN0T3B0aW9uID0gbmV3IENvbnRhY3RPcHRpb24oKTtcbiAgcHVibGljIHBob25lTnVtYmVyOiBDb250YWN0T3B0aW9uID0gbmV3IENvbnRhY3RPcHRpb24oKTtcbiAgcHVibGljIHByaXZhY3lTZXR0aW5nczogUmVsYXRpb25Qcml2YWN5U2V0dGluZ1tdO1xuICBwdWJsaWMgcmVsYXRpb25TdWdnZXN0aW9uczogUmVsYXRpb25MaXN0T2JqZWN0W10gPSBbXTtcbiAgcHVibGljIHNob3dSZWxhdGlvblNpZGViYXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGludml0ZVRvQWNjb3VudDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyByZWFkb25seSByZWxUeXBlOiB0eXBlb2YgUmVsYXRpb25OYW1lS2luZCA9IFJlbGF0aW9uTmFtZUtpbmQ7XG4gIHB1YmxpYyByZWFkb25seSBnZW5kZXJUeXBlOiB0eXBlb2YgR2VuZGVyVHlwZSA9IEdlbmRlclR5cGU7XG5cbiAgcHVibGljIGdldCByZWxhdGlvbigpOiBSZWxhdGlvbkFueVR5cGUge1xuICAgIHJldHVybiB0aGlzLl9yZWxhdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVsYXRpb25Bc0N1c3RvbWVyKCk6IEN1c3RvbWVyRnVsbE9iamVjdCB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbGF0aW9uICYmIHRoaXMuX3JlbGF0aW9uIGFzIEN1c3RvbWVyRnVsbE9iamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZWRpdEZpcnN0QWRkcmVzcygpOiBBZGRyZXNzIHtcbiAgICBpZiAodGhpcy5maXJzdEFkZHJlc3MpIHtcbiAgICAgIHJldHVybiB0aGlzLmZpcnN0QWRkcmVzcztcbiAgICB9IGVsc2UgaWYgKHRoaXMuX3JlbGF0aW9uKSB7XG4gICAgICBjb25zdCBhZGRyZXNzOiBBZGRyZXNzID0gbmV3IEFkZHJlc3MoKTtcbiAgICAgIGFkZHJlc3MuYWRkcmVzc1R5cGUgPSBBZGRyZXNzVHlwZS5EZWxpdmVyeUFkZHJlc3M7XG4gICAgICBhZGRyZXNzLnN0YXJ0RGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICBhZGRyZXNzLnNlcXVlbmNlID0gdGhpcy5fcmVsYXRpb24uZ2V0TmV4dEFkZHJlc3NTZXF1ZW5jZSgpO1xuICAgICAgdGhpcy5fcmVsYXRpb24uYWRkcmVzc2VzLnB1c2goYWRkcmVzcyk7XG4gICAgICByZXR1cm4gYWRkcmVzcztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpcnN0QWRkcmVzcygpOiBBZGRyZXNzIHtcbiAgICBpZiAoIXRoaXMucmVsYXRpb24gfHwgIXRoaXMuX3JlbGF0aW9uLmFkZHJlc3Nlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fcmVsYXRpb24uZ2V0Rmlyc3RBdmFpbGFibGVBZGRyZXNzKFtcbiAgICAgIEFkZHJlc3NUeXBlLkRlbGl2ZXJ5QWRkcmVzcyxcbiAgICAgIEFkZHJlc3NUeXBlLkJpbGxpbmdBZGRyZXNzLFxuICAgICAgQWRkcmVzc1R5cGUuVmlzaXRpbmdBZGRyZXNzLFxuICAgICAgQWRkcmVzc1R5cGUuTWFpbGluZ0FkZHJlc3MsXG4gICAgICBBZGRyZXNzVHlwZS5OdXJzaW5nQWRkcmVzc1xuICAgIF0pO1xuICB9XG5cbiAgcHVibGljIGdldCBhcHBsaWNhdGlvblVzZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5hcHBsaWNhdGlvblVzZXI7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLl9yZWxhdGlvbi50eXBlID0gdGhpcy5yZWxUeXBlLlByaXZhdGU7XG4gICAgdGhpcy5fcmVsYXRpb24uZ2VuZGVyID0gdGhpcy5nZW5kZXI7XG4gICAgYXdhaXQgdGhpcy5sb2FkUHJpdmFjeVNldHRpbmdzKCk7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbGF0aW9uOiBSZWxhdGlvbkFueVR5cGUgPSBOVUxMX1JFTEFUSU9OX09CSkVDVDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXG4gICkge1xuICB9XG5cbiAgcHVibGljIHN1Ym1pdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yZWxhdGlvbkZvcm0uc3VibWl0KCk7XG4gIH1cblxuICBwdWJsaWMgcHJlcGFyZVByaW1hcnlFbWFpbCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcmVsYXRpb24pIHtcbiAgICAgIHRoaXMuZW1haWxBZGRyZXNzID0gdGhpcy5fcmVsYXRpb24uZ2V0TG93ZXN0U2VxdWVuY2VPZkNvbnRhY3RPcHRpb25zV2l0aFR5cGUoQ29tbXVuaWNhdGlvblR5cGUuRW1haWwpO1xuICAgICAgaWYgKGlzTmlsbCh0aGlzLmVtYWlsQWRkcmVzcykpIHtcbiAgICAgICAgdGhpcy5lbWFpbEFkZHJlc3MgPSBuZXcgQ29udGFjdE9wdGlvbigpO1xuICAgICAgICB0aGlzLmVtYWlsQWRkcmVzcy50eXBlID0gQ29tbXVuaWNhdGlvblR5cGUuRW1haWw7XG4gICAgICAgIHRoaXMuZW1haWxBZGRyZXNzLnNlcXVlbmNlID0gMDtcbiAgICAgICAgdGhpcy5fcmVsYXRpb24uYWRkQ29udGFjdE9wdGlvbih0aGlzLmVtYWlsQWRkcmVzcyk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmVtYWlsQWRkcmVzcykge1xuICAgICAgICB0aGlzLmVtYWlsQWRkcmVzcy52YWx1ZSA9IHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5lbWFpbEFkZHJlc3M7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHByZXBhcmVQcmltYXJ5UGhvbmUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3JlbGF0aW9uKSB7XG4gICAgICB0aGlzLnBob25lTnVtYmVyID0gdGhpcy5fcmVsYXRpb24uZ2V0TG93ZXN0U2VxdWVuY2VPZkNvbnRhY3RPcHRpb25zV2l0aFR5cGUoQ29tbXVuaWNhdGlvblR5cGUuVGVsZXBob25lKTtcbiAgICAgIGlmIChpc05pbGwodGhpcy5waG9uZU51bWJlcikpIHtcbiAgICAgICAgdGhpcy5waG9uZU51bWJlciA9IG5ldyBDb250YWN0T3B0aW9uKCk7XG4gICAgICAgIHRoaXMucGhvbmVOdW1iZXIudHlwZSA9IENvbW11bmljYXRpb25UeXBlLlRlbGVwaG9uZTtcbiAgICAgICAgdGhpcy5waG9uZU51bWJlci5zZXF1ZW5jZSA9IDA7XG4gICAgICAgIHRoaXMuX3JlbGF0aW9uLmFkZENvbnRhY3RPcHRpb24odGhpcy5waG9uZU51bWJlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGxvYWRQcml2YWN5U2V0dGluZ3MoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5wcml2YWN5U2V0dGluZ3MgPSBhd2FpdCB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuZ2V0UmVsYXRpb25Qcml2YWN5U2V0dGluZ3MoKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBsb2FkTWFya2V0aW5nKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5nZXRNYXJrZXRpbmdDb2RlcygpO1xuICB9XG5cbiAgcHVibGljIGlzU2hhcmVkKHJlbGF0aW9uUHJpdmFjeVNldHRpbmc6IFJlbGF0aW9uUHJpdmFjeVNldHRpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBvd25TZXR0aW5nOiBSZWxhdGlvblByaXZhY3lTZXR0aW5nID0gQnVzaW5lc3NPYmplY3RVdGlscy5GaW5kSXRlbUJ5SWQodGhpcy5yZWxhdGlvbkFzQ3VzdG9tZXIucmVsYXRpb25Qcml2YWN5U2V0dGluZ3MsIHJlbGF0aW9uUHJpdmFjeVNldHRpbmcuZ2V0SWQoKSk7XG4gICAgaWYgKG93blNldHRpbmcpIHtcbiAgICAgIHJldHVybiBvd25TZXR0aW5nLmFsbG93VG9TaGFyZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGNoYW5nZVJlbGF0aW9uVHlwZSh2YWx1ZTogUmVsYXRpb25OYW1lS2luZCk6IHZvaWQge1xuICAgIHRoaXMucmVsYXRpb24udHlwZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGNoYW5nZUdlbmRlclR5cGUodmFsdWU6IEdlbmRlclR5cGUpOiB2b2lkIHtcbiAgICB0aGlzLnJlbGF0aW9uLmdlbmRlciA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGZpcnN0TmFtZUNoYW5nZShmaXJzdE5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9yZWxhdGlvbikge1xuICAgICAgdGhpcy5fcmVsYXRpb24uZmlyc3ROYW1lID0gZmlyc3ROYW1lO1xuICAgIH1cbiAgICB0aGlzLl9yZWxhdGlvbk5hbWVDaGFuZ2VIYW5kbGVyLmNhbGwodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgZmFtaWx5TmFtZUNoYW5nZShmYW1pbHlOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcmVsYXRpb24pIHtcbiAgICAgIHRoaXMuX3JlbGF0aW9uLmZhbWlseU5hbWUgPSBmYW1pbHlOYW1lO1xuICAgIH1cbiAgICB0aGlzLl9yZWxhdGlvbk5hbWVDaGFuZ2VIYW5kbGVyLmNhbGwodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgb25SZWxhdGlvblN1Z2dlc3Rpb25DbGljayhyZWxhdGlvblN1Z2dlc3RlZDogUmVsYXRpb25MaXN0T2JqZWN0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHJlbGF0aW9uU3VnZ2VzdGVkKSB7XG4gICAgICB0aGlzLmhpZGVTaWRlYmFyKCk7XG4gICAgICBhd2FpdCB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuYWRkUmVsYXRpb25Ub1RyYW5zYWN0aW9uKHJlbGF0aW9uU3VnZ2VzdGVkLnJlbGF0aW9uSWQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VQcml2YWN5U2V0dGluZyhyZWxhdGlvblByaXZhY3lTZXR0aW5nOiBSZWxhdGlvblByaXZhY3lTZXR0aW5nLCB2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIGNvbnN0IG93blNldHRpbmc6IFJlbGF0aW9uUHJpdmFjeVNldHRpbmcgPSBCdXNpbmVzc09iamVjdFV0aWxzLkZpbmRJdGVtQnlJZCh0aGlzLnJlbGF0aW9uQXNDdXN0b21lci5yZWxhdGlvblByaXZhY3lTZXR0aW5ncywgcmVsYXRpb25Qcml2YWN5U2V0dGluZy5nZXRJZCgpKTtcbiAgICBpZiAob3duU2V0dGluZykge1xuICAgICAgb3duU2V0dGluZy5hbGxvd1RvU2hhcmUgPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZWxhdGlvbkFzQ3VzdG9tZXIucmVsYXRpb25Qcml2YWN5U2V0dGluZ3MucHVzaChyZWxhdGlvblByaXZhY3lTZXR0aW5nKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2hvd1NpZGViYXIoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93UmVsYXRpb25TaWRlYmFyID0gdHJ1ZTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICBpZiAodGhpcy5yZWxhdGlvblNpZGViYXIpIHtcbiAgICAgIHRoaXMucmVsYXRpb25TaWRlYmFyLnNob3coKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGlkZVNpZGViYXIoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93UmVsYXRpb25TaWRlYmFyID0gZmFsc2U7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgaWYgKHRoaXMucmVsYXRpb25TaWRlYmFyKSB7XG4gICAgICB0aGlzLnJlbGF0aW9uU2lkZWJhci5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gZmV0Y2hlcyByZWxhdGlvbiBzdWdnZXN0aW9uc1xuICBwcml2YXRlIF9yZWxhdGlvbk5hbWVDaGFuZ2VIYW5kbGVyOiBGdW5jdGlvbiA9IEZ1bmN0aW9uVXRpbHMuVGhyb3R0bGUoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLl9yZWxhdGlvbk5hbWVDaGFuZ2VkSGFuZGxlckZuKCk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW1hZ2ljLW51bWJlcnNcbiAgfSwgNjAwKTtcblxuICAvLyBsb2FkIHN1Z2dlc3Rpb25zXG4gIHByaXZhdGUgYXN5bmMgX3JlbGF0aW9uTmFtZUNoYW5nZWRIYW5kbGVyRm4oKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCBmaXJzdE5hbWU6IHN0cmluZyA9IE9iamVjdFV0aWxzLlZhbHVlT3JEZWZhdWx0KHRoaXMuX3JlbGF0aW9uLmZpcnN0TmFtZSk7XG4gICAgY29uc3Qgc2Vjb25kTmFtZTogc3RyaW5nID0gT2JqZWN0VXRpbHMuVmFsdWVPckRlZmF1bHQodGhpcy5fcmVsYXRpb24uZmFtaWx5TmFtZSk7XG5cbiAgICBpZiAoIWZpcnN0TmFtZSAmJiAhc2Vjb25kTmFtZSkge1xuICAgICAgdGhpcy5yZWxhdGlvblN1Z2dlc3Rpb25zID0gW107XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVsYXRpb25SZXF1ZXN0OiBSZWxhdGlvblJlcXVlc3QgPSB7fTtcbiAgICByZWxhdGlvblJlcXVlc3QucmVsYXRpb25UeXBlID0gdGhpcy5fcmVsYXRpb24ucmVsYXRpb25UeXBlO1xuICAgIGlmIChmaXJzdE5hbWUpIHtcbiAgICAgIHJlbGF0aW9uUmVxdWVzdC5maXJzdE5hbWUgPSBmaXJzdE5hbWU7XG4gICAgfVxuXG4gICAgaWYgKHNlY29uZE5hbWUpIHtcbiAgICAgIHJlbGF0aW9uUmVxdWVzdC5mYW1pbHlOYW1lID0gc2Vjb25kTmFtZTtcbiAgICB9XG5cbiAgICB0aGlzLnNob3dTaWRlYmFyKCk7XG4gICAgdGhpcy5yZWxhdGlvblN1Z2dlc3Rpb25zID0gYXdhaXQgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmdldFJlbGF0aW9uTGlzdE9iamVjdHMocmVsYXRpb25SZXF1ZXN0KTtcbiAgfVxufVxuIl19
|
|
377
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tZWRpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudC9jaGVja291dC9jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1lZGl0L2NoZWNrb3V0LW92ZXJ2aWV3LXJlbGF0aW9uLWVkaXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWdCLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTFKLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBRzlGLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDZEQUE2RCxDQUFDO0FBQzlGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUNyRixPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFDdEYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sNkRBQTZELENBQUM7QUFDN0YsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBRWxGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNoRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUMvRixPQUFPLEVBQXFCLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQy9FLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUNsRixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFHOUUsT0FBTyxFQUFD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QyxTQUFTLEVBQUUsa0JBQWtCLEVBQUMsQ0FBQyxDQUFDO3dCQUNyRCxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDO3dCQUMvQyxVQUFVLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO3FCQUN2RCxDQUFDO2lCQUNIO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFsTHNCLGlCQUFpQjtZQVloQyxrQkFBa0I7OzsyQkF3S3ZCLFNBQVMsU0FBQyxhQUFhLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO3VCQUd2QyxLQUFLOzBCQVFMLEtBQUs7MEJBR0wsTUFBTTs0QkFHTixNQUFNO3dCQUdOLFdBQVcsU0FBQywwQ0FBMEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7UmVsYXRpb25BbnlUeXBlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLWFueS10eXBlXCI7XG5pbXBvcnQge05VTExfUkVMQVRJT05fT0JKRUNUfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL251bC1yZWxhdGlvbi1vYmplY3RcIjtcbmltcG9ydCB7VHJhbnNhY3Rpb25JbmZvfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWluZm8uYm9cIjtcbmltcG9ydCB7Q3VzdG9tZXJGdWxsT2JqZWN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2N1c3RvbWVyLWZ1bGwtb2JqZWN0LmJvXCI7XG5pbXBvcnQge0NvbW11bmljYXRpb25UeXBlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vY29tbXVuaWNhdGlvbi10eXBlLmVudW1cIjtcbmltcG9ydCB7Q29udGFjdE9wdGlvbn0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jb250YWN0LW9wdGlvbi5ib1wiO1xuaW1wb3J0IHtpc05pbGx9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvdXRpbHMvZnVuY3Rpb24vaXMtbmlsbC5mdW5jdGlvblwiO1xuaW1wb3J0IHtSZWxhdGlvbk5hbWVLaW5kfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vcmVsYXRpb24tbmFtZS1raW5kLmVudW1cIjtcbmltcG9ydCB7QWRkcmVzc1R5cGV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9hZGRyZXNzLXR5cGUuZW51bVwiO1xuaW1wb3J0IHtSZWxhdGlvblByaXZhY3lTZXR0aW5nfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLXByaXZhY3ktc2V0dGluZy5ib1wiO1xuaW1wb3J0IHtHZW5kZXJUeXBlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vZ2VuZGVyLXR5cGUuZW51bVwiO1xuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2VcIjtcbmltcG9ydCB7QnVzaW5lc3NPYmplY3RVdGlsc30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC91dGlscy9idXNpbmVzcy1vYmplY3QtdXRpbHNcIjtcbmltcG9ydCB7Q29TaWRlYmFyQ29tcG9uZW50LCBGb3JtQ29tcG9uZW50fSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xuaW1wb3J0IHtGdW5jdGlvblV0aWxzfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL3V0aWxzL2Z1bmN0aW9uLXV0aWxzXCI7XG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL3V0aWxzL29iamVjdC11dGlsc1wiO1xuaW1wb3J0IHtSZWxhdGlvbkxpc3RPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tbGlzdC1vYmplY3QuYm9cIjtcbmltcG9ydCB7UmVsYXRpb25SZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLXJlcXVlc3RcIjtcbmltcG9ydCB7QWRkcmVzc30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9hZGRyZXNzLmJvXCI7XG5pbXBvcnQge2FuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSBcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImNvLWNoZWNrb3V0LW92ZXJ2aWV3LXJlbGF0aW9uLWVkaXRcIixcbiAgdGVtcGxhdGU6IGBcbiAgICA8Y28tZm9ybSAodmFsaWRTdWJtaXQpPVwidmFsaWRTdWJtaXQuZW1pdCgpXCIgKGludmFsaWRTdWJtaXQpPVwiaW52YWxpZFN1Ym1pdC5lbWl0KClcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1mb3JtLXdyYXBwZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWxhYmVsLWNvbHVtblwiPlxuICAgICAgICAgIDxzcGFuPjAxPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ1BFUlNPTkFMX0RBVEEnIHwgbG9jYWxpemVcIj48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1jb2x1bW5cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgIDxjby1pbnB1dC1yYWRpby1idXR0b24gY2xhc3M9XCJkZWZhdWx0LXdpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwiJ3R5cGUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidQUklWQVRFX1BFUlNPTicgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJyZWxUeXBlLlByaXZhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJyZWxhdGlvbi50eXBlID09PSByZWxUeXBlLlByaXZhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiY2hhbmdlUmVsYXRpb25UeXBlKHJlbFR5cGUuUHJpdmF0ZSlcIlxuICAgICAgICAgICAgPjwvY28taW5wdXQtcmFkaW8tYnV0dG9uPlxuICAgICAgICAgICAgPGNvLWlucHV0LXJhZGlvLWJ1dHRvbiBjbGFzcz1cImRlZmF1bHQtd2lkdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCIndHlwZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0NPTVBBTlknIHwgbG9jYWxpemVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwicmVsVHlwZS5Db21wYW55XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwicmVsYXRpb24udHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInJlbGF0aW9uLnR5cGUgPT09IHJlbFR5cGUuQ29tcGFueVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJjaGFuZ2VSZWxhdGlvblR5cGUocmVsVHlwZS5Db21wYW55KVwiXG4gICAgICAgICAgICA+PC9jby1pbnB1dC1yYWRpby1idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHJlbGF0aW9uLWN1c3RvbWVyLWdyb3VwcyBbKG1vZGVsKV09XCJyZWxhdGlvbi5jdXN0b21lckdyb3VwXCIgcmVxdWlyZWQ+PC9yZWxhdGlvbi1jdXN0b21lci1ncm91cHM+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cInJlbGF0aW9uLnR5cGUgPT09IHJlbFR5cGUuUHJpdmF0ZVwiIGNsYXNzPVwiY29sbGFwc2VhYmxlXCIgQHNob3dIaWRlUHJpdmF0ZVJlbGF0aW9uRmllbGRzPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja291dC1maXJzdC1uYW1lXCJcbiAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJyZWxhdGlvbi5maXJzdE5hbWVcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInRklSU1RfTkFNRScgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImZpcnN0TmFtZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tvdXQtcHJlZml4LW5hbWVcIlxuICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInJlbGF0aW9uLnByZWZpeFwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidQUkVGSVgnIHwgbG9jYWxpemVcIlxuICAgICAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tvdXQtbGFzdC1uYW1lXCJcbiAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJyZWxhdGlvbi5mYW1pbHlOYW1lXCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0xBU1RfTkFNRScgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImZhbWlseU5hbWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgICAgPGNvLWlucHV0LXJhZGlvLWJ1dHRvbiBjbGFzcz1cImRlZmF1bHQtd2lkdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIidnZW5kZXInXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ01BTEUnIHwgbG9jYWxpemVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJnZW5kZXJUeXBlLk1hbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInJlbGF0aW9uLmdlbmRlciA9PT0gZ2VuZGVyVHlwZS5NYWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiY2hhbmdlR2VuZGVyVHlwZShnZW5kZXJUeXBlLk1hbGUpXCJcbiAgICAgICAgICAgICAgPjwvY28taW5wdXQtcmFkaW8tYnV0dG9uPlxuICAgICAgICAgICAgICA8Y28taW5wdXQtcmFkaW8tYnV0dG9uIGNsYXNzPVwiZGVmYXVsdC13aWR0aFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwiJ2dlbmRlcidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInRkVNQUxFJyB8IGxvY2FsaXplIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImdlbmRlclR5cGUuRmVtYWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJyZWxhdGlvbi5nZW5kZXIgPT09IGdlbmRlclR5cGUuRmVtYWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiY2hhbmdlR2VuZGVyVHlwZShnZW5kZXJUeXBlLkZlbWFsZSlcIlxuICAgICAgICAgICAgICA+PC9jby1pbnB1dC1yYWRpby1idXR0b24+XG4gICAgICAgICAgICAgIDxjby1pbnB1dC1yYWRpby1idXR0b24gY2xhc3M9XCJkZWZhdWx0LXdpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCInZ2VuZGVyJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidVTktOT1dOJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZ2VuZGVyVHlwZS5VbnNwZWNpZmllZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwicmVsYXRpb24uZ2VuZGVyID09PSBnZW5kZXJUeXBlLlVuc3BlY2lmaWVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiY2hhbmdlR2VuZGVyVHlwZShnZW5kZXJUeXBlLlVuc3BlY2lmaWVkKVwiXG4gICAgICAgICAgICAgID48L2NvLWlucHV0LXJhZGlvLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlZmF1bHQtZmxleC1yb3dcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlZmF1bHQtZmxleC1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgICA8Y28taW5wdXQtZGF0ZSBbcGxhY2Vob2xkZXJdPVwiJ0RBVEVfT0ZfQklSVEgnIHwgbG9jYWxpemUgXCIgWyhtb2RlbCldPVwiZGF0ZU9mQmlydGhcIiByZXF1aXJlZD48L2NvLWlucHV0LWRhdGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1mbGV4LWNvbHVtblwiPlxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInBob25lTnVtYmVyLnZhbHVlXCIgW3BsYWNlaG9sZGVyXT1cIidQSE9ORV9OTycgfCBsb2NhbGl6ZSBcIiByZXF1aXJlZD48L2NvLWlucHV0LXRleHQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cInJlbGF0aW9uPy50eXBlID09PSByZWxUeXBlLkNvbXBhbnlcIiBjbGFzcz1cImRlZmF1bHQtZmxleC1jb2x1bW4gY29sbGFwc2VhYmxlXCIgQHNob3dIaWRlQ29tcGFueVJlbGF0aW9uRmllbGRzPlxuICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwicmVsYXRpb24uZmFtaWx5TmFtZVwiIFtwbGFjZWhvbGRlcl09XCInQ09NUEFOWV9OQU1FJyB8IGxvY2FsaXplXCIgcmVxdWlyZWQ+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWxhYmVsLWNvbHVtblwiPlxuICAgICAgICAgIDxzcGFuPjAyPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ0RFTElWRVJZX0FERFJFU1MnIHwgbG9jYWxpemVcIj48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1jb2x1bW5cIj5cbiAgICAgICAgICA8Y28tY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tYWRkcmVzcyBbYWRkcmVzc109XCJlZGl0Rmlyc3RBZGRyZXNzXCI+PC9jby1jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1hZGRyZXNzPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWxhYmVsLWNvbHVtblwiPlxuICAgICAgICAgIDxzcGFuPjAzPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ0xPR0lOX0RFVEFJTFMnIHwgbG9jYWxpemVcIj48L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbC1kZXNjcmlwdGlvblwiIFt0ZXh0Q29udGVudF09XCInQUNDT1VOVF9FWFBMQU5BVElPTicgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLWNvbHVtblwiPlxuICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cImVtYWlsQWRkcmVzcy52YWx1ZVwiIFtwbGFjZWhvbGRlcl09XCInRU1BSUxfQUREUkVTUycgfCBsb2NhbGl6ZSBcIiBbdHlwZV09XCInZW1haWwnXCIgcmVxdWlyZWQ+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCIhYXBwbGljYXRpb25Vc2VyXCIgY2xhc3M9XCJkZWZhdWx0LWZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJhY2NvdW50UGFzc3dvcmRcIiBbcGxhY2Vob2xkZXJdPVwiJ1BBU1NXT1JEJyB8IGxvY2FsaXplIFwiIFt0eXBlXT1cIidwYXNzd29yZCdcIiByZXF1aXJlZD48L2NvLWlucHV0LXRleHQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImFwcGxpY2F0aW9uVXNlclwiIGNsYXNzPVwiZGVmYXVsdC1mbGV4LWNvbHVtblwiPlxuICAgICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94IFtsYWJlbF09XCInSU5WSVRFX1RPX0FDQ09VTlQnIHwgbG9jYWxpemVcIiBbKG1vZGVsKV09XCJpbnZpdGVUb0FjY291bnRcIj48L2NvLWlucHV0LWNoZWNrYm94PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWxhYmVsLWNvbHVtblwiPlxuICAgICAgICAgIDxzcGFuPjA0PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ1BSSVZBQ1lfUFJFRkVSRU5DRVMnIHwgbG9jYWxpemVcIj48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1jb2x1bW5cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidHdvLWNvbHVtbi1ncmlkXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBwcml2YWN5U2V0dGluZyBvZiBwcml2YWN5U2V0dGluZ3NcIj5cbiAgICAgICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94IGNsYXNzPVwiZmlyc3QtY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJwcml2YWN5U2V0dGluZy5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwiaXNTaGFyZWQocHJpdmFjeVNldHRpbmcpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJjaGFuZ2VQcml2YWN5U2V0dGluZyhwcml2YWN5U2V0dGluZywgJGV2ZW50KVwiXG4gICAgICAgICAgICAgID48L2NvLWlucHV0LWNoZWNrYm94PlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNlY29uZC1jb2x1bW5cIiBbdGV4dENvbnRlbnRdPVwicHJpdmFjeVNldHRpbmcuZXhwbGFuYXRpb25cIj48L3NwYW4+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2NvLWZvcm0+XG5cbiAgICA8ZGl2IGNsYXNzPVwic3VnZ2VzdGlvbnMtc2lkZWJhclwiIGlzT3Blbj1cImZhbHNlXCIgKm5nSWY9XCJzaG93UmVsYXRpb25TaWRlYmFyXCIgQHNob3dIaWRlU2lkZWJhcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyZWxhdGlvbi1zaWRlYmFyLWhlYWRlclwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJjaGVja291dC1sYWJlbC1oM1wiIFt0ZXh0Q29udGVudF09XCInU1VHR0VTVElPTlMnIHwgbG9jYWxpemVcIj48L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgICA8Y28tY2hlY2tvdXQtcmVsYXRpb24tc3VnZ2VzdGlvbnMtbGlzdFxuICAgICAgICBbc3VnZ2VzdGlvbnNdPVwicmVsYXRpb25TdWdnZXN0aW9uc1wiXG4gICAgICAgIChzdWdnZXN0aW9uU2VsZWN0ZWQpPVwib25SZWxhdGlvblN1Z2dlc3Rpb25DbGljaygkZXZlbnQpXCJcbiAgICAgID48L2NvLWNoZWNrb3V0LXJlbGF0aW9uLXN1Z2dlc3Rpb25zLWxpc3Q+XG4gICAgPC9kaXY+XG5cbiAgYCxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoXCJzaG93SGlkZVByaXZhdGVSZWxhdGlvbkZpZWxkc1wiLCBbXG4gICAgICBzdGF0ZShcInZvaWRcIiwgc3R5bGUoe2hlaWdodDogMH0pKSxcbiAgICAgIHN0YXRlKFwiKlwiLCBzdHlsZSh7aGVpZ2h0OiBcIipcIn0pKSxcbiAgICAgIHRyYW5zaXRpb24oXCJ2b2lkID0+ICpcIiwgYW5pbWF0ZShcIjIwMG1zIGVhc2UtaW4tb3V0XCIpKSxcbiAgICAgIHRyYW5zaXRpb24oXCIqID0+IHZvaWRcIiwgYW5pbWF0ZShcIjIwMG1zIGVhc2Utb3V0XCIpKVxuICAgIF0pLFxuICAgIHRyaWdnZXIoXCJzaG93SGlkZUNvbXBhbnlSZWxhdGlvbkZpZWxkc1wiLCBbXG4gICAgICBzdGF0ZShcInZvaWRcIiwgc3R5bGUoe2hlaWdodDogMH0pKSxcbiAgICAgIHN0YXRlKFwiKlwiLCBzdHlsZSh7aGVpZ2h0OiBcIipcIn0pKSxcbiAgICAgIHRyYW5zaXRpb24oXCJ2b2lkID0+ICpcIiwgYW5pbWF0ZShcIjIwMG1zIGVhc2UtaW4tb3V0XCIpKSxcbiAgICAgIHRyYW5zaXRpb24oXCIqID0+IHZvaWRcIiwgYW5pbWF0ZShcIjIwMG1zIGVhc2Utb3V0XCIpKVxuICAgIF0pLFxuICAgIHRyaWdnZXIoXCJzaG93SGlkZVNpZGViYXJcIiwgW1xuICAgICAgc3RhdGUoXCJ2b2lkXCIsIHN0eWxlKHt0cmFuc2Zvcm06IFwidHJhbnNsYXRlWCgxMDAlKVwifSkpLFxuICAgICAgc3RhdGUoXCIqXCIsIHN0eWxlKHt0cmFuc2Zvcm06IFwidHJhbnNsYXRlWCgwKVwifSkpLFxuICAgICAgdHJhbnNpdGlvbihcInZvaWQgPD0+ICpcIiwgYW5pbWF0ZShcIjIwMG1zIGVhc2UtaW4tb3V0XCIpKVxuICAgIF0pXG4gIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tvdXRPdmVydmlld1JlbGF0aW9uRWRpdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoRm9ybUNvbXBvbmVudCwge3N0YXRpYzogdHJ1ZX0pXG4gIHB1YmxpYyByZWxhdGlvbkZvcm06IEZvcm1Db21wb25lbnQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCByZWxhdGlvbih2YWx1ZTogUmVsYXRpb25BbnlUeXBlKSB7XG4gICAgdGhpcy5fcmVsYXRpb24gPSB2YWx1ZTtcblxuICAgIHRoaXMucHJlcGFyZVByaW1hcnlFbWFpbCgpO1xuICAgIHRoaXMucHJlcGFyZVByaW1hcnlQaG9uZSgpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbkluZm87XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyB2YWxpZFN1Ym1pdDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgaW52YWxpZFN1Ym1pdDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWNoZWNrb3V0LW92ZXJ2aWV3LXJlbGF0aW9uLWVkaXRcIilcbiAgcHVibGljIHNob3dDbGFzcygpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyB0ZXN0amU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGRhdGVPZkJpcnRoOiBEYXRlID0gbmV3IERhdGUoKTtcbiAgcHVibGljIGFjY291bnRQYXNzd29yZDogc3RyaW5nID0gXCJcIjtcbiAgcHVibGljIGhpZGU6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgZ2VuZGVyOiBHZW5kZXJUeXBlID0gR2VuZGVyVHlwZS5VbnNwZWNpZmllZDtcbiAgcHVibGljIGVtYWlsQWRkcmVzczogQ29udGFjdE9wdGlvbiA9IG5ldyBDb250YWN0T3B0aW9uKCk7XG4gIHB1YmxpYyBwaG9uZU51bWJlcjogQ29udGFjdE9wdGlvbiA9IG5ldyBDb250YWN0T3B0aW9uKCk7XG4gIHB1YmxpYyBwcml2YWN5U2V0dGluZ3M6IFJlbGF0aW9uUHJpdmFjeVNldHRpbmdbXTtcbiAgcHVibGljIHJlbGF0aW9uU3VnZ2VzdGlvbnM6IFJlbGF0aW9uTGlzdE9iamVjdFtdID0gW107XG4gIHB1YmxpYyBzaG93UmVsYXRpb25TaWRlYmFyOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBpbnZpdGVUb0FjY291bnQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgcmVhZG9ubHkgcmVsVHlwZTogdHlwZW9mIFJlbGF0aW9uTmFtZUtpbmQgPSBSZWxhdGlvbk5hbWVLaW5kO1xuICBwdWJsaWMgcmVhZG9ubHkgZ2VuZGVyVHlwZTogdHlwZW9mIEdlbmRlclR5cGUgPSBHZW5kZXJUeXBlO1xuXG4gIHB1YmxpYyBnZXQgcmVsYXRpb24oKTogUmVsYXRpb25BbnlUeXBlIHtcbiAgICByZXR1cm4gdGhpcy5fcmVsYXRpb247XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlbGF0aW9uQXNDdXN0b21lcigpOiBDdXN0b21lckZ1bGxPYmplY3Qge1xuICAgIHJldHVybiB0aGlzLl9yZWxhdGlvbiAmJiB0aGlzLl9yZWxhdGlvbiBhcyBDdXN0b21lckZ1bGxPYmplY3Q7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVkaXRGaXJzdEFkZHJlc3MoKTogQWRkcmVzcyB7XG4gICAgaWYgKHRoaXMuZmlyc3RBZGRyZXNzKSB7XG4gICAgICByZXR1cm4gdGhpcy5maXJzdEFkZHJlc3M7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9yZWxhdGlvbikge1xuICAgICAgY29uc3QgYWRkcmVzczogQWRkcmVzcyA9IG5ldyBBZGRyZXNzKCk7XG4gICAgICBhZGRyZXNzLmFkZHJlc3NUeXBlID0gQWRkcmVzc1R5cGUuRGVsaXZlcnlBZGRyZXNzO1xuICAgICAgYWRkcmVzcy5zdGFydERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgYWRkcmVzcy5zZXF1ZW5jZSA9IHRoaXMuX3JlbGF0aW9uLmdldE5leHRBZGRyZXNzU2VxdWVuY2UoKTtcbiAgICAgIHRoaXMuX3JlbGF0aW9uLmFkZHJlc3Nlcy5wdXNoKGFkZHJlc3MpO1xuICAgICAgcmV0dXJuIGFkZHJlc3M7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBmaXJzdEFkZHJlc3MoKTogQWRkcmVzcyB7XG4gICAgaWYgKCF0aGlzLnJlbGF0aW9uIHx8ICF0aGlzLl9yZWxhdGlvbi5hZGRyZXNzZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3JlbGF0aW9uLmdldEZpcnN0QXZhaWxhYmxlQWRkcmVzcyhbXG4gICAgICBBZGRyZXNzVHlwZS5EZWxpdmVyeUFkZHJlc3MsXG4gICAgICBBZGRyZXNzVHlwZS5CaWxsaW5nQWRkcmVzcyxcbiAgICAgIEFkZHJlc3NUeXBlLlZpc2l0aW5nQWRkcmVzcyxcbiAgICAgIEFkZHJlc3NUeXBlLk1haWxpbmdBZGRyZXNzLFxuICAgICAgQWRkcmVzc1R5cGUuTnVyc2luZ0FkZHJlc3NcbiAgICBdKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXBwbGljYXRpb25Vc2VyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuYXBwbGljYXRpb25Vc2VyO1xuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5fcmVsYXRpb24udHlwZSA9IHRoaXMucmVsVHlwZS5Qcml2YXRlO1xuICAgIHRoaXMuX3JlbGF0aW9uLmdlbmRlciA9IHRoaXMuZ2VuZGVyO1xuICAgIGF3YWl0IHRoaXMubG9hZFByaXZhY3lTZXR0aW5ncygpO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIF9yZWxhdGlvbjogUmVsYXRpb25BbnlUeXBlID0gTlVMTF9SRUxBVElPTl9PQkpFQ1Q7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBzdWJtaXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucmVsYXRpb25Gb3JtLnN1Ym1pdCgpO1xuICB9XG5cbiAgcHVibGljIHByZXBhcmVQcmltYXJ5RW1haWwoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3JlbGF0aW9uKSB7XG4gICAgICB0aGlzLmVtYWlsQWRkcmVzcyA9IHRoaXMuX3JlbGF0aW9uLmdldExvd2VzdFNlcXVlbmNlT2ZDb250YWN0T3B0aW9uc1dpdGhUeXBlKENvbW11bmljYXRpb25UeXBlLkVtYWlsKTtcbiAgICAgIGlmIChpc05pbGwodGhpcy5lbWFpbEFkZHJlc3MpKSB7XG4gICAgICAgIHRoaXMuZW1haWxBZGRyZXNzID0gbmV3IENvbnRhY3RPcHRpb24oKTtcbiAgICAgICAgdGhpcy5lbWFpbEFkZHJlc3MudHlwZSA9IENvbW11bmljYXRpb25UeXBlLkVtYWlsO1xuICAgICAgICB0aGlzLmVtYWlsQWRkcmVzcy5zZXF1ZW5jZSA9IDA7XG4gICAgICAgIHRoaXMuX3JlbGF0aW9uLmFkZENvbnRhY3RPcHRpb24odGhpcy5lbWFpbEFkZHJlc3MpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5lbWFpbEFkZHJlc3MpIHtcbiAgICAgICAgdGhpcy5lbWFpbEFkZHJlc3MudmFsdWUgPSB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuZW1haWxBZGRyZXNzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBwcmVwYXJlUHJpbWFyeVBob25lKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9yZWxhdGlvbikge1xuICAgICAgdGhpcy5waG9uZU51bWJlciA9IHRoaXMuX3JlbGF0aW9uLmdldExvd2VzdFNlcXVlbmNlT2ZDb250YWN0T3B0aW9uc1dpdGhUeXBlKENvbW11bmljYXRpb25UeXBlLlRlbGVwaG9uZSk7XG4gICAgICBpZiAoaXNOaWxsKHRoaXMucGhvbmVOdW1iZXIpKSB7XG4gICAgICAgIHRoaXMucGhvbmVOdW1iZXIgPSBuZXcgQ29udGFjdE9wdGlvbigpO1xuICAgICAgICB0aGlzLnBob25lTnVtYmVyLnR5cGUgPSBDb21tdW5pY2F0aW9uVHlwZS5UZWxlcGhvbmU7XG4gICAgICAgIHRoaXMucGhvbmVOdW1iZXIuc2VxdWVuY2UgPSAwO1xuICAgICAgICB0aGlzLl9yZWxhdGlvbi5hZGRDb250YWN0T3B0aW9uKHRoaXMucGhvbmVOdW1iZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBsb2FkUHJpdmFjeVNldHRpbmdzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMucHJpdmFjeVNldHRpbmdzID0gYXdhaXQgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmdldFJlbGF0aW9uUHJpdmFjeVNldHRpbmdzKCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbG9hZE1hcmtldGluZygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuZ2V0TWFya2V0aW5nQ29kZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1NoYXJlZChyZWxhdGlvblByaXZhY3lTZXR0aW5nOiBSZWxhdGlvblByaXZhY3lTZXR0aW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgb3duU2V0dGluZzogUmVsYXRpb25Qcml2YWN5U2V0dGluZyA9IEJ1c2luZXNzT2JqZWN0VXRpbHMuRmluZEl0ZW1CeUlkKHRoaXMucmVsYXRpb25Bc0N1c3RvbWVyLnJlbGF0aW9uUHJpdmFjeVNldHRpbmdzLCByZWxhdGlvblByaXZhY3lTZXR0aW5nLmdldElkKCkpO1xuICAgIGlmIChvd25TZXR0aW5nKSB7XG4gICAgICByZXR1cm4gb3duU2V0dGluZy5hbGxvd1RvU2hhcmU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VSZWxhdGlvblR5cGUodmFsdWU6IFJlbGF0aW9uTmFtZUtpbmQpOiB2b2lkIHtcbiAgICB0aGlzLnJlbGF0aW9uLnR5cGUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VHZW5kZXJUeXBlKHZhbHVlOiBHZW5kZXJUeXBlKTogdm9pZCB7XG4gICAgdGhpcy5yZWxhdGlvbi5nZW5kZXIgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBmaXJzdE5hbWVDaGFuZ2UoZmlyc3ROYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcmVsYXRpb24pIHtcbiAgICAgIHRoaXMuX3JlbGF0aW9uLmZpcnN0TmFtZSA9IGZpcnN0TmFtZTtcbiAgICB9XG4gICAgdGhpcy5fcmVsYXRpb25OYW1lQ2hhbmdlSGFuZGxlci5jYWxsKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIGZhbWlseU5hbWVDaGFuZ2UoZmFtaWx5TmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3JlbGF0aW9uKSB7XG4gICAgICB0aGlzLl9yZWxhdGlvbi5mYW1pbHlOYW1lID0gZmFtaWx5TmFtZTtcbiAgICB9XG4gICAgdGhpcy5fcmVsYXRpb25OYW1lQ2hhbmdlSGFuZGxlci5jYWxsKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIG9uUmVsYXRpb25TdWdnZXN0aW9uQ2xpY2socmVsYXRpb25TdWdnZXN0ZWQ6IFJlbGF0aW9uTGlzdE9iamVjdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChyZWxhdGlvblN1Z2dlc3RlZCkge1xuICAgICAgdGhpcy5oaWRlU2lkZWJhcigpO1xuICAgICAgYXdhaXQgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmFkZFJlbGF0aW9uVG9UcmFuc2FjdGlvbihyZWxhdGlvblN1Z2dlc3RlZC5yZWxhdGlvbklkKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlUHJpdmFjeVNldHRpbmcocmVsYXRpb25Qcml2YWN5U2V0dGluZzogUmVsYXRpb25Qcml2YWN5U2V0dGluZywgdmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCBvd25TZXR0aW5nOiBSZWxhdGlvblByaXZhY3lTZXR0aW5nID0gQnVzaW5lc3NPYmplY3RVdGlscy5GaW5kSXRlbUJ5SWQodGhpcy5yZWxhdGlvbkFzQ3VzdG9tZXIucmVsYXRpb25Qcml2YWN5U2V0dGluZ3MsIHJlbGF0aW9uUHJpdmFjeVNldHRpbmcuZ2V0SWQoKSk7XG4gICAgaWYgKG93blNldHRpbmcpIHtcbiAgICAgIG93blNldHRpbmcuYWxsb3dUb1NoYXJlID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVsYXRpb25Bc0N1c3RvbWVyLnJlbGF0aW9uUHJpdmFjeVNldHRpbmdzLnB1c2gocmVsYXRpb25Qcml2YWN5U2V0dGluZyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNob3dTaWRlYmFyKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd1JlbGF0aW9uU2lkZWJhciA9IHRydWU7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHVibGljIGhpZGVTaWRlYmFyKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd1JlbGF0aW9uU2lkZWJhciA9IGZhbHNlO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIC8vIGZldGNoZXMgcmVsYXRpb24gc3VnZ2VzdGlvbnNcbiAgcHJpdmF0ZSBfcmVsYXRpb25OYW1lQ2hhbmdlSGFuZGxlcjogRnVuY3Rpb24gPSBGdW5jdGlvblV0aWxzLlRocm90dGxlKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5fcmVsYXRpb25OYW1lQ2hhbmdlZEhhbmRsZXJGbigpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1tYWdpYy1udW1iZXJzXG4gIH0sIDYwMCk7XG5cbiAgLy8gbG9hZCBzdWdnZXN0aW9uc1xuICBwcml2YXRlIGFzeW5jIF9yZWxhdGlvbk5hbWVDaGFuZ2VkSGFuZGxlckZuKCk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgZmlyc3ROYW1lOiBzdHJpbmcgPSBPYmplY3RVdGlscy5WYWx1ZU9yRGVmYXVsdCh0aGlzLl9yZWxhdGlvbi5maXJzdE5hbWUpO1xuICAgIGNvbnN0IHNlY29uZE5hbWU6IHN0cmluZyA9IE9iamVjdFV0aWxzLlZhbHVlT3JEZWZhdWx0KHRoaXMuX3JlbGF0aW9uLmZhbWlseU5hbWUpO1xuXG4gICAgaWYgKCFmaXJzdE5hbWUgJiYgIXNlY29uZE5hbWUpIHtcbiAgICAgIHRoaXMucmVsYXRpb25TdWdnZXN0aW9ucyA9IFtdO1xuICAgICAgdGhpcy5oaWRlU2lkZWJhcigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHJlbGF0aW9uUmVxdWVzdDogUmVsYXRpb25SZXF1ZXN0ID0ge307XG4gICAgcmVsYXRpb25SZXF1ZXN0LnJlbGF0aW9uVHlwZSA9IHRoaXMuX3JlbGF0aW9uLnJlbGF0aW9uVHlwZTtcbiAgICBpZiAoZmlyc3ROYW1lKSB7XG4gICAgICByZWxhdGlvblJlcXVlc3QuZmlyc3ROYW1lID0gZmlyc3ROYW1lO1xuICAgIH1cblxuICAgIGlmIChzZWNvbmROYW1lKSB7XG4gICAgICByZWxhdGlvblJlcXVlc3QuZmFtaWx5TmFtZSA9IHNlY29uZE5hbWU7XG4gICAgfVxuXG4gICAgdGhpcy5zaG93U2lkZWJhcigpO1xuICAgIHRoaXMucmVsYXRpb25TdWdnZXN0aW9ucyA9IGF3YWl0IHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5nZXRSZWxhdGlvbkxpc3RPYmplY3RzKHJlbGF0aW9uUmVxdWVzdCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,33 +1,30 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from "@angular/core";
|
|
2
|
-
import { Direction } from "../../../enum/direction.enum";
|
|
1
|
+
import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
|
|
3
2
|
export class CheckOutRelationSuggestionsListComponent {
|
|
4
3
|
constructor() {
|
|
5
4
|
this.suggestions = [];
|
|
6
|
-
this.arrowDirection = Direction.Left;
|
|
7
5
|
// Emits the clicked relation list object.
|
|
8
|
-
this.
|
|
6
|
+
this.suggestionSelected = new EventEmitter();
|
|
7
|
+
}
|
|
8
|
+
showClass() {
|
|
9
|
+
return true;
|
|
9
10
|
}
|
|
10
11
|
}
|
|
11
12
|
CheckOutRelationSuggestionsListComponent.decorators = [
|
|
12
13
|
{ type: Component, args: [{
|
|
13
|
-
selector: "checkout-relation-suggestions-list",
|
|
14
|
+
selector: "co-checkout-relation-suggestions-list",
|
|
14
15
|
template: `
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
host: {
|
|
23
|
-
"class": "narrow-scrollbar"
|
|
24
|
-
},
|
|
25
|
-
styles: [""]
|
|
16
|
+
<div class="flex-column items-wrapper">
|
|
17
|
+
<co-checkout-relation-suggestions-list-item *ngFor="let suggestion of suggestions" [suggestion]="suggestion"
|
|
18
|
+
(selectionSelected)="suggestionSelected.emit(suggestion)"></co-checkout-relation-suggestions-list-item>
|
|
19
|
+
<span *ngIf="suggestions?.length === 0" class="no-results" localize="NO_RESULTS_FOUND"></span>
|
|
20
|
+
</div>
|
|
21
|
+
`,
|
|
22
|
+
encapsulation: ViewEncapsulation.None
|
|
26
23
|
},] }
|
|
27
24
|
];
|
|
28
25
|
CheckOutRelationSuggestionsListComponent.propDecorators = {
|
|
29
26
|
suggestions: [{ type: Input }],
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
suggestionSelected: [{ type: Output }],
|
|
28
|
+
showClass: [{ type: HostBinding, args: ['class.co-checkout-relation-suggestions-list',] }]
|
|
32
29
|
};
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtcmVsYXRpb24tc3VnZ2VzdGlvbnMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudC9jaGVja291dC9jaGVja291dC1yZWxhdGlvbi1zdWdnZXN0aW9ucy1saXN0L2NoZWNrb3V0LXJlbGF0aW9uLXN1Z2dlc3Rpb25zLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBY3JHLE1BQU0sT0FBTyx3Q0FBd0M7SUFYckQ7UUFhUyxnQkFBVyxHQUF5QixFQUFFLENBQUM7UUFFOUMsMENBQTBDO1FBRW5DLHVCQUFrQixHQUFxQyxJQUFJLFlBQVksRUFBc0IsQ0FBQztJQU12RyxDQUFDO0lBSFEsU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7O1lBdEJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsdUNBQXVDO2dCQUNqRCxRQUFRLEVBQUU7Ozs7OztHQU1UO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7MEJBRUUsS0FBSztpQ0FJTCxNQUFNO3dCQUdOLFdBQVcsU0FBQyw2Q0FBNkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1JlbGF0aW9uTGlzdE9iamVjdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1saXN0LW9iamVjdC5ib1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiY28tY2hlY2tvdXQtcmVsYXRpb24tc3VnZ2VzdGlvbnMtbGlzdFwiLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJmbGV4LWNvbHVtbiBpdGVtcy13cmFwcGVyXCI+XG4gICAgICA8Y28tY2hlY2tvdXQtcmVsYXRpb24tc3VnZ2VzdGlvbnMtbGlzdC1pdGVtICpuZ0Zvcj1cImxldCBzdWdnZXN0aW9uIG9mIHN1Z2dlc3Rpb25zXCIgW3N1Z2dlc3Rpb25dPVwic3VnZ2VzdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3Rpb25TZWxlY3RlZCk9XCJzdWdnZXN0aW9uU2VsZWN0ZWQuZW1pdChzdWdnZXN0aW9uKVwiPjwvY28tY2hlY2tvdXQtcmVsYXRpb24tc3VnZ2VzdGlvbnMtbGlzdC1pdGVtPlxuICAgICAgPHNwYW4gKm5nSWY9XCJzdWdnZXN0aW9ucz8ubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJuby1yZXN1bHRzXCIgbG9jYWxpemU9XCJOT19SRVNVTFRTX0ZPVU5EXCI+PC9zcGFuPlxuICAgIDwvZGl2PlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrT3V0UmVsYXRpb25TdWdnZXN0aW9uc0xpc3RDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBwdWJsaWMgc3VnZ2VzdGlvbnM6IFJlbGF0aW9uTGlzdE9iamVjdFtdID0gW107XG5cbiAgLy8gRW1pdHMgdGhlIGNsaWNrZWQgcmVsYXRpb24gbGlzdCBvYmplY3QuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc3VnZ2VzdGlvblNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8UmVsYXRpb25MaXN0T2JqZWN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVsYXRpb25MaXN0T2JqZWN0PigpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tY2hlY2tvdXQtcmVsYXRpb24tc3VnZ2VzdGlvbnMtbGlzdCcpXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
|