tango-app-ui-auth 3.3.1-beta.11 → 3.3.1-beta.12
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/esm2022/lib/components/tango-auth-signup/step/step1/step1.component.mjs +13 -4
- package/esm2022/lib/components/tango-auth-signup/tango-auth-signup.component.mjs +25 -10
- package/esm2022/lib/services/auth.service.mjs +2 -2
- package/fesm2022/tango-app-ui-auth.mjs +30 -7
- package/fesm2022/tango-app-ui-auth.mjs.map +1 -1
- package/lib/components/tango-auth-signup/tango-auth-signup.component.d.ts +6 -2
- package/lib/services/auth.service.d.ts +1 -1
- package/package.json +1 -1
@@ -191,7 +191,10 @@ export class Step1Component {
|
|
191
191
|
}));
|
192
192
|
}
|
193
193
|
onClientNameBlur() {
|
194
|
-
|
194
|
+
const data = {
|
195
|
+
clientName: this.aboutForm?.get('clientName')?.value
|
196
|
+
};
|
197
|
+
this.subscriptions.push(this.authService.isClientnameTaken(data).subscribe({
|
195
198
|
next: (res) => {
|
196
199
|
this.isClientNameTaken = res.data.isExists;
|
197
200
|
this.cd.detectChanges();
|
@@ -199,7 +202,10 @@ export class Step1Component {
|
|
199
202
|
}));
|
200
203
|
}
|
201
204
|
onEmailBlur() {
|
202
|
-
|
205
|
+
const data = {
|
206
|
+
corporateEmail: this.aboutForm?.get('corporateEmail')?.value
|
207
|
+
};
|
208
|
+
this.subscriptions.push(this.authService.isClientnameTaken(data).subscribe({
|
203
209
|
next: (res) => {
|
204
210
|
this.isEmailTaken = res.data.isExists;
|
205
211
|
this.cd.detectChanges();
|
@@ -207,7 +213,10 @@ export class Step1Component {
|
|
207
213
|
}));
|
208
214
|
}
|
209
215
|
onMobileNumberBlur() {
|
210
|
-
|
216
|
+
const data = {
|
217
|
+
mobileNumber: this.aboutForm?.get('mobileNumber')?.value
|
218
|
+
};
|
219
|
+
this.subscriptions.push(this.authService.isClientnameTaken(data).subscribe({
|
211
220
|
next: (res) => {
|
212
221
|
this.isMobileTaken = res.data.isExists;
|
213
222
|
this.cd.detectChanges();
|
@@ -237,4 +246,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
237
246
|
type: Component,
|
238
247
|
args: [{ selector: 'lib-step1', template: "<div class=\"card mt-10 mx-15\">\r\n <div class=\"h-100 px-10 mx-5 my-7\">\r\n <!-- <div>\r\n <img class=\"bubble\" src=\"../../../../../../../assets/Icons/Signup-bubble-icon.svg\"\r\n alt=\"\" srcset=\"\"> -->\r\n <div class=\"mobileshow\">\r\n <h3 class=\"title1 pt-4\">AI co-pilot to boost your sales conversion</h3>\r\n <p class=\"subtext pb-4\">Join the leading global brands in understanding footfall and shopper behavior to\r\n boost\r\n sales.</p>\r\n\r\n\r\n <div class=\"d-flex justify-content-between\">\r\n <div>\r\n <img class=\"imgsrc\" src=\"./assets/tango/Icons/Lenskart-logo.svg\" alt=\"\">\r\n </div>\r\n <div>\r\n <img class=\"imgsrc\" src=\"./assets/tango/Icons/nykaa-logo.svg\" alt=\"\">\r\n </div>\r\n <div>\r\n <img class=\"imgsrc\" src=\"./assets/tango/Icons/giva-logo3.svg\" alt=\"\">\r\n </div>\r\n <div>\r\n <img class=\"imgsrc\" src=\"./assets/tango/Icons/Duroflex-logo.svg\" alt=\"\">\r\n </div>\r\n <div>\r\n <img class=\"imgsrc\" src=\"./assets/tango/Icons/loccitone-logo.svg\" alt=\"\">\r\n </div>\r\n <div class=\"me-20\">\r\n <h4 class=\"icon-more\">30 +</h4>\r\n </div>\r\n\r\n </div>\r\n <div class=\"mt-12 card-title\">\r\n <h6 class=\"card-label mb-7\">Create an Account</h6>\r\n <form [formGroup]=\"aboutForm\" novalidate=\"novalidate\">\r\n <div class=\"row px-0\">\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-7\">\r\n <label for=\"Brand\" class=\"form-label\">Brand Name <span class=\"alert-required\">*</span></label>\r\n <input (blur)=\"onClientNameBlur()\" (input)=\"isClientNameTaken = 0\" formControlName=\"clientName\" type=\"type\" class=\"form-control\" id=\"Brand\" \r\n [ngClass]=\"{ 'is-invalid': aboutForm.get('clientName')?.touched && aboutForm.get('clientName')?.hasError('required') }\" autocomplete=\"off\" >\r\n \r\n \r\n <small \r\n *ngIf=\"aboutForm.get('clientName')?.touched && aboutForm.get('clientName')?.hasError('minlength')\">\r\n Brand name must be minimum of 3 letters\r\n </small>\r\n <small \r\n *ngIf=\"aboutForm.get('clientName')?.touched && aboutForm.get('clientName')?.hasError('maxlength')\">\r\n Brand name must be maximum of 100 letters\r\n </small>\r\n <small \r\n *ngIf=\"aboutForm.get('clientName')?.touched && aboutForm.get('clientName')?.hasError('required')\">\r\n Brand name is required\r\n </small>\r\n <small \r\n *ngIf=\"isClientNameTaken\">\r\n Brand Name already exists\r\n </small>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-7\">\r\n <label for=\"website\" class=\"form-label\">Brand Website URL</label>\r\n <input formControlName=\"websiteUrl\" type=\"text\" class=\"form-control\" id=\"website\" \r\n [ngClass]=\"{ 'is-invalid': aboutForm.get('websiteUrl')?.touched && aboutForm.get('websiteUrl')?.hasError('pattern') }\" autocomplete=\"off\" >\r\n <small \r\n *ngIf=\"aboutForm.get('websiteUrl')?.touched && aboutForm.get('websiteUrl')?.hasError('pattern')\">\r\n Enter valid website url\r\n </small>\r\n </div>\r\n </div>\r\n <div class=\"row px-0\">\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-7\">\r\n <label for=\"firstname\" class=\"form-label\">First Name <span class=\"alert-required\">*</span></label>\r\n <input formControlName=\"firstName\" type=\"type\" class=\"form-control\" id=\"firstname\" autocomplete=\"off\"\r\n [ngClass]=\"{ 'is-invalid': aboutForm.get('firstName')?.touched && aboutForm.get('firstName')?.hasError('required') }\">\r\n <small \r\n *ngIf=\"aboutForm.get('firstName')?.touched && aboutForm.get('firstName')?.hasError('minlength')\">\r\n First name must be minimum of 3 letters\r\n </small>\r\n <small \r\n *ngIf=\"aboutForm.get('firstName')?.touched && aboutForm.get('firstName')?.hasError('maxlength')\">\r\n First name must be maximum of 50 letters\r\n </small>\r\n <small \r\n *ngIf=\"aboutForm.get('firstName')?.touched && aboutForm.get('firstName')?.hasError('required')\">\r\n First name is required\r\n </small>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-7\">\r\n <label for=\"lastname\" class=\"form-label\">Last Name</label>\r\n <input formControlName=\"lastName\" type=\"type\" class=\"form-control\" id=\"lastname\" autocomplete=\"off\">\r\n <small \r\n *ngIf=\"aboutForm.get('lastName')?.touched && aboutForm.get('lastName')?.hasError('minlength')\">\r\n Last name must be minimum of 3 letters\r\n </small>\r\n <small \r\n *ngIf=\"aboutForm.get('lastName')?.touched && aboutForm.get('lastName')?.hasError('maxlength')\">\r\n Last name must be maximum of 50 letters\r\n </small>\r\n <small \r\n *ngIf=\"aboutForm.get('lastName')?.touched && aboutForm.get('lastName')?.hasError('required')\">\r\n Last name is required\r\n </small>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-7\">\r\n <label for=\"email\" class=\"form-label\">Corporate Email <span class=\"alert-required\">*</span></label>\r\n <input (blur)=\"onEmailBlur()\" (input)=\"isEmailTaken = 0\" formControlName=\"corporateEmail\" type=\"email\" class=\"form-control\" id=\"email\" [ngClass]=\"{ 'is-invalid': aboutForm.get('corporateEmail')?.touched && aboutForm.get('corporateEmail')?.hasError('required') }\"\r\n autocomplete=\"off\">\r\n <small \r\n *ngIf=\"aboutForm.get('corporateEmail')?.touched && aboutForm.get('corporateEmail')?.hasError('minlength')\">\r\n Enter a valid email\r\n </small>\r\n <small \r\n *ngIf=\"aboutForm.get('corporateEmail')?.touched && aboutForm.get('corporateEmail')?.hasError('maxlength')\">\r\n Enter a valid email\r\n </small>\r\n <small \r\n *ngIf=\"aboutForm.get('corporateEmail')?.touched && aboutForm.get('corporateEmail')?.hasError('required')\">\r\n Enter a valid email\r\n </small>\r\n <small \r\n *ngIf=\"aboutForm.get('corporateEmail')?.touched && aboutForm.get('corporateEmail')?.hasError('pattern')\">\r\n Enter valid email ID\r\n </small>\r\n <small \r\n *ngIf=\"isEmailTaken\">\r\n Email already exists\r\n </small>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-7\">\r\n\r\n <label for=\"phonenumber\" class=\"form-label\">Phone number <span class=\"alert-required\">*</span></label>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-4 col-xl-4\">\r\n <!-- <div class=\"input-group mb-3\">\r\n <div class=\"input-group-append\"> -->\r\n <!-- <select\r\n class=\"form-select form-select-solid select2-hidden-accessible form-label text-dark fs-4\"\r\n name=\"dialCode\" #dialCode=\"ngModel\"\r\n [ngModelOptions]=\"{standalone: true}\" matNativeControl required\r\n [(ngModel)]=\"countryCodes\" (click)=\"chooseCountry(countryCodes)\">\r\n <option [value]=\"country.dial_code\" *ngFor=\"let country of countryCodeList\"><span\r\n class=\"fw-bolder text-dark ps-3\">\r\n {{ country.name }}</span><span class=\"text-muted\">({{ country.dial_code\r\n }})</span>\r\n </option>\r\n </select> -->\r\n <select formControlName=\"countryCode\" class=\"form-select ps-3 pe-8\" \r\n id=\"inputGroupSelect01\">\r\n <option *ngFor=\"let country of countryList\" class=\"mx-2\" [value]=\"country.phonecode\">{{country.name}}<span class=\"text-muted\">({{ country.phonecode\r\n }})</span></option>\r\n </select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-8 col-xl-8\">\r\n <!-- <input [value]=\"aboutForm.get('countryCode')?.value\" type=\"text\" [ngClass]=\"{ 'code-is-invalid': aboutForm.get('mobileNumber')?.touched && aboutForm.get('mobileNumber')?.hasError('required') }\"\r\n class=\"form-control border-disabled\" readonly> -->\r\n <input (blur)=\"onMobileNumberBlur()\" (input)=\"isMobileTaken = 0\" formControlName=\"mobileNumber\" type=\"text\" class=\"form-control\" (keypress)=\"omit_special_char($event)\" [ngClass]=\"{ ' is-invalid': aboutForm.get('mobileNumber')?.touched && aboutForm.get('mobileNumber')?.hasError('required') }\"\r\n id=\"phonenumber\" autocomplete=\"off\" minlength=\"7\" maxlength=\"15\">\r\n </div>\r\n </div>\r\n <small \r\n *ngIf=\"aboutForm.get('mobileNumber')?.touched && aboutForm.get('mobileNumber')?.hasError('required')\">\r\n Phone number is required\r\n </small>\r\n <small *ngIf=\"aboutForm.get('mobileNumber')?.touched && aboutForm.get('mobileNumber')?.hasError('pattern')\">\r\n Enter a valid phone number\r\n </small>\r\n <small\r\n *ngIf=\"aboutForm.get('mobileNumber')?.touched && aboutForm.get('mobileNumber')?.hasError('min')\">\r\n Enter a valid phone number\r\n </small>\r\n <small\r\n *ngIf=\"aboutForm.get('mobileNumber')?.touched && aboutForm.get('mobileNumber')?.hasError('max')\">\r\n Enter a valid phone number\r\n </small>\r\n <small \r\n *ngIf=\"isMobileTaken\">\r\n Phone Number already exists\r\n </small>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-7\">\r\n <label for=\"password\" class=\"form-label\">Password <span class=\"alert-required\">*</span></label>\r\n <div class=\"position-relative mb-3\">\r\n <input (input)=\"onPasswordChange($event)\" formControlName=\"password\" [type]=\"passwordShow ? 'text' : 'password'\" [ngClass]=\"{ 'is-invalid': aboutForm.get('password')?.touched && aboutForm.get('password')?.hasError('required') }\"\r\n class=\"form-control\" id=\"password\" autocomplete=\"new-password\">\r\n <span (click)=\"showPassword()\"\r\n class=\"btn btn-sm btn-icon position-absolute translate-middle top-50 end-0\"\r\n data-kt-password-meter-control=\"visibility\">\r\n <i *ngIf=\"passwordShow\" class=\"fa fa-eye\" aria-hidden=\"true\"></i>\r\n <i *ngIf=\"!passwordShow\" class=\"fa fa-eye-slash\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n <div class=\"progressbar-wrapper mt-2\">\r\n <span [style.width]=\"passwordStrength\"\r\n [ngStyle]=\"{'background-color': passwordStrength === '0%' ? '' : (passwordStrength === '25%' ? 'red' : (passwordStrength === '50%' ? 'orange': (passwordStrength === '75%' ? 'yellow' : (passwordStrength === '100%' ? 'green' : '')))) }\"\r\n class=\"progressbar-inner\"></span>\r\n </div>\r\n <div class=\"password-note mt-2\">The password must contain atleast one capital letter, one special charecter, number and the strength should be more than 7 charecters.</div>\r\n <div>\r\n <small *ngIf=\"aboutForm.get('password')?.hasError('required') && aboutForm.get('password')?.touched\">Password is required</small>\r\n </div>\r\n <div >\r\n <small *ngIf=\"aboutForm.get('password')?.hasError('noSpaces') && aboutForm.get('password')?.touched\">Password cannot contain spaces.</small> \r\n </div>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-7\">\r\n <label for=\"confirm\" class=\"form-label\">Confirm Password <span class=\"alert-required\">*</span></label>\r\n <div class=\"position-relative mb-3\">\r\n <input (input)=\"onConfirmPasswordChange($event)\" formControlName=\"confirmPassword\" [type]=\"confirmPasswordShow ? 'text' : 'password'\" class=\"form-control\" [ngClass]=\"{ 'is-invalid': aboutForm.get('confirmPassword')?.touched && aboutForm.get('confirmPassword')?.hasError('required') }\"\r\n id=\"confirm\" autocomplete=\"off\">\r\n <span (click)=\"showConfirmPassword()\"\r\n class=\"btn btn-sm btn-icon position-absolute translate-middle top-50 end-0\"\r\n data-kt-password-meter-control=\"visibility\">\r\n <i *ngIf=\"confirmPasswordShow\" class=\"fa fa-eye\" aria-hidden=\"true\"></i>\r\n <i *ngIf=\"!confirmPasswordShow\" class=\"fa fa-eye-slash\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n <div class=\"progressbar-wrapper mt-2\">\r\n <span [style.width]=\"confirmPasswordStrength\"\r\n [ngStyle]=\"{'background-color': confirmPasswordStrength === '0%' ? '' : (confirmPasswordStrength === '25%' ? 'red' : (confirmPasswordStrength === '50%' ? 'orange': (confirmPasswordStrength === '75%' ? 'yellow' : (confirmPasswordStrength === '100%' ? 'green' : '')))) }\"\r\n class=\"progressbar-inner\"></span>\r\n </div>\r\n <div class=\"password-note mt-2\">The password must contain atleast one capital letter, one special charecter, number and the strength should be more than 7 charecters</div>\r\n <div>\r\n <small *ngIf=\"aboutForm.get('confirmPassword')?.hasError('required') && aboutForm.get('confirmPassword')?.touched\">Confirm password is required</small>\r\n <small \r\n *ngIf=\"aboutForm.get('confirmPassword')?.touched && aboutForm.get('confirmPassword')?.hasError('NotEqual') && !aboutForm.get('confirmPassword')?.hasError('required')\">Password\r\n does not match</small>\r\n <small *ngIf=\"aboutForm.get('confirmPassword')?.hasError('noSpaces') && !aboutForm.get('confirmPassword')?.hasError('NotEqual') && aboutForm.get('confirmPassword')?.touched\">Password cannot contain spaces.</small> \r\n\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n <!-- <ng-container *ngIf=\"currentStep$.value == 1\"> -->\r\n <div class=\"text-end\">\r\n <button [disabled]=\"aboutForm.invalid || isMobileTaken || isEmailTaken || isClientNameTaken\" type=\"button\" class=\"btn btn-lg btn-primary\" (click)=\"nextStep()\">\r\n <span class=\"indicator-label px-5\">\r\n <ng-container>\r\n Next <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path d=\"M7.5 15L12.5 10L7.5 5\" stroke=\"white\" stroke-width=\"1.67\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </ng-container>\r\n\r\n </span>\r\n </button>\r\n </div>\r\n <!-- </ng-container> -->\r\n </div>\r\n\r\n </div>\r\n <!-- </div> -->\r\n </div>\r\n <div class=\"mb-3 d-flex flex-column flex-md-row flex-md-stack pt-3 container-fluid\">\r\n <div class=\"text-gray-900 order-2 order-md-1 ms-10\">\r\n <span class=\"me-1 copy\">\u00A9 {{currentDateStr}} </span>\r\n <a target=\"_blank\" href=\"https://tangoeye.ai\" class=\"footer\">Tango IT Solutions India Pvt Ltd</a>\r\n </div>\r\n <ul class=\"menu menu-gray-600 menu-hover-primary fw-semibold order-1 me-7\">\r\n <li class=\"menu-item footer\"><a target=\"_blank\" href=\"https://tangoeye.ai/#aboutus\" class=\"menu-link px-5\">About us</a></li>\r\n <li class=\"menu-item footer\"><a target=\"_blank\" href=\"https://tangoeye.ai/#contact\" class=\"menu-link px-5\">Contact us</a></li>\r\n <li class=\"menu-item footer\"><a target=\"_blank\" href=\"https://tangoeye.ai/privacy-policy-2/\" class=\"menu-link px-5\">Privacy & policy</a></li>\r\n </ul>\r\n </div>\r\n</div>", styles: [".logo{width:16%;height:73px!important;margin-top:150px;margin-left:44%}.heading{margin-left:41%}.title1{color:var(--Gray-700, #344054)!important;font-size:24px!important;font-weight:600!important;line-height:32px}.subtext{color:var(--Gray-400, #98A2B3)!important;font-size:18px!important;font-weight:500!important;line-height:28px}.submit{padding-bottom:2%}.point{background:#ddd;border-radius:2px;display:inline-block;height:5px;width:85px}.form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1rem;font-weight:500;line-height:1}input,button,select,optgroup,textarea{margin:5px 0}.form-control{display:block;color:var(--Gray-500, #667085);font-size:16px;font-weight:400;line-height:24px;-webkit-appearance:none;appearance:none;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-select{font-size:1.1rem;font-weight:600;line-height:24px;height:45px;padding:.5rem 1rem;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important}.form-label{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.card-label{font-weight:600;font-size:20px}.me-n2{margin-right:3.5rem!important}.font{font-family:Inter!important}.phone{flex:0 0 auto;width:62.666667%}@media (min-width: 1024px) and (max-width: 1299px){.title1{text-shadow:1px 1px 1px #096dd7;font-weight:600;font-size:21px!important;line-height:34px;text-align:center;color:#464e5f}.subtext{font-family:Inter;font-size:18px;font-weight:600;line-height:37px;letter-spacing:0em;text-align:center;color:#7e8299}.imgsrc{width:100px}}@media (min-width: 1300px) and (max-width: 1400px){.title1{text-shadow:1px 1px 1px #096dd7;font-weight:600;font-size:21px!important;line-height:34px;text-align:center;color:#464e5f}.subtext{font-family:Inter;font-size:18px;font-weight:600;line-height:37px;letter-spacing:0em;text-align:center;color:#7e8299}.imgsrc{width:100px}}small{color:var(--Gray-500, #667085)!important;font-size:10px!important;font-style:normal;font-weight:400!important;line-height:normal}.border-new{border-radius:0 8px 8px 0!important;border-left:none!important}.border-disabled{padding:5px 0;min-width:auto;max-width:14.5%;border-radius:0!important;border-right:none!important;border-left:none!important}.select-radius{padding:5px 0 5px 15px;border-radius:8px 0 0 8px!important;border-right:none!important}.progressbar-wrapper{height:4px;width:100%;background-color:#f2f4f7;border-radius:4px;position:relative}.progressbar-inner{height:100%;position:absolute;border-radius:4px}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}.alert-required{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:500!important;line-height:20px}.mobile-is-invalid{border-radius:0 8px 8px 0!important;border-left:none!important}.code-is-invalid{padding:5px 0;max-width:14.5%;border-radius:0!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;border-right:none!important;border-left:none!important}.country-is-invalid{padding:5px 0 5px 15px;border-radius:8px 0 0 8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;border-right:none!important}.icon-more{font-size:24px;font-weight:600;line-height:32px;color:#7e8299}.copy{color:#7e8299!important;font-size:16px!important;font-weight:500!important}.password-note{color:var(--Gray-500, #667085);font-size:10px;font-weight:400;line-height:normal}.footer{color:#7e8299!important;font-size:16px!important;font-weight:500!important}.footer:hover{color:#1b84ff!important}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.translate-middle{transform:translate(-65%,-50%)!important}input::-ms-reveal,input::-ms-clear{display:none}\n"] }]
|
239
248
|
}], ctorParameters: () => [{ type: i1.ConversionService }, { type: i2.FormBuilder }, { type: i3.AuthService }, { type: i0.ChangeDetectorRef }] });
|
240
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcDEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXV0aC9zcmMvbGliL2NvbXBvbmVudHMvdGFuZ28tYXV0aC1zaWdudXAvc3RlcC9zdGVwMS9zdGVwMS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hdXRoL3NyYy9saWIvY29tcG9uZW50cy90YW5nby1hdXRoLXNpZ251cC9zdGVwL3N0ZXAxL3N0ZXAxLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXhFLE9BQU8sRUFBMkMsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQVFyRixNQUFNLE9BQU8sY0FBYztJQVdMO0lBQTBDO0lBQXlCO0lBQWlDO0lBVnhILFNBQVMsQ0FBVztJQUNwQixnQkFBZ0IsR0FBVyxJQUFJLENBQUE7SUFDL0IsdUJBQXVCLEdBQVcsSUFBSSxDQUFBO0lBQ3RDLGlCQUFpQixDQUFNO0lBQ3ZCLFlBQVksQ0FBTTtJQUNsQixhQUFhLENBQU07SUFDbkIsYUFBYSxHQUFrQixFQUFFLENBQUE7SUFDakMsV0FBVyxDQUFNO0lBQ2pCLFlBQVksR0FBVSxLQUFLLENBQUM7SUFDNUIsbUJBQW1CLEdBQVUsS0FBSyxDQUFDO0lBQ25DLFlBQW9CLGFBQWdDLEVBQVUsRUFBZSxFQUFVLFdBQXVCLEVBQVUsRUFBb0I7UUFBeEgsa0JBQWEsR0FBYixhQUFhLENBQW1CO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBa0I7UUFDMUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxD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QUMsWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQyxDQUFDO0lBQ0QsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsaUJBQWlCLENBQUMsS0FBVTtRQUMxQixJQUFJLENBQUMsQ0FBQztRQUNOLENBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsaURBQWlEO1FBQ3JFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUNELGNBQWMsR0FBVyxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO3dHQWpQaEQsY0FBYzs0RkFBZCxjQUFjLGlEQ1YzQiwwdW9CQTBRTTs7NEZEaFFPLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0UsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb252ZXJzaW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbnZlcnNpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItc3RlcDEnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zdGVwMS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3N0ZXAxLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RlcDFDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIGFib3V0Rm9ybTogRm9ybUdyb3VwXHJcbiAgcGFzc3dvcmRTdHJlbmd0aDpzdHJpbmcgID0gJzAlJ1xyXG4gIGNvbmZpcm1QYXNzd29yZFN0cmVuZ3RoOnN0cmluZyAgPSAnMCUnXHJcbiAgaXNDbGllbnROYW1lVGFrZW46IGFueTtcclxuICBpc0VtYWlsVGFrZW46IGFueTtcclxuICBpc01vYmlsZVRha2VuOiBhbnk7XHJcbiAgc3Vic2NyaXB0aW9uczpTdWJzY3JpcHRpb25bXSA9IFtdXHJcbiAgY291bnRyeUxpc3Q6IGFueTtcclxuICBwYXNzd29yZFNob3c6IGJvb2xlYW49ZmFsc2U7XHJcbiAgY29uZmlybVBhc3N3b3JkU2hvdzogYm9vbGVhbj1mYWxzZTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNldHRlcnNlcnZpY2U6IENvbnZlcnNpb25TZXJ2aWNlLCBwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBhdXRoU2VydmljZTpBdXRoU2VydmljZSwgcHJpdmF0ZSBjZDpDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgdGhpcy5pbml0Rm9ybSgpXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLmF1dGhTZXJ2aWNlLmFib3V0Rm9ybURhdGEuc3Vic2NyaWJlKChkYXRhKT0+e2lmKGRhdGEpeyAgXHJcbiAgICAgIHRoaXMuYWJvdXRGb3JtLnBhdGNoVmFsdWUoe1xyXG4gICAgICAgIGNsaWVudE5hbWU6ZGF0YS5jbGllbnROYW1lLFxyXG4gICAgICAgIGZpcnN0TmFtZTpkYXRhLmZpcnN0TmFtZSxcclxuICAgICAgICBsYXN0TmFtZTpkYXRhLmxhc3ROYW1lLFxyXG4gICAgICAgIGNvcnBvcmF0ZUVtYWlsOmRhdGEuY29ycG9yYXRlRW1haWwsXHJcbiAgICAgICAgY291bnRyeUNvZGU6ZGF0YS5jb3VudHJ5Q29kZSxcclxuICAgICAgICBtb2JpbGVOdW1iZXI6ZGF0YS5tb2JpbGVOdW1iZXIsXHJcbiAgICAgICAgcGFzc3dvcmQ6ZGF0YS5wYXNzd29yZCxcclxuICAgICAgICBjb25maXJtUGFzc3dvcmQ6ZGF0YS5jb25maXJtUGFzc3dvcmQsXHJcbiAgICAgICAgd2Vic2l0ZVVybDogZGF0YS53ZWJzaXRlVXJsXHJcbiAgICAgIH0pXHJcbiAgICAgIHRoaXMucmVpbml0aWFsaXplUGFzc3dvcmRWYWxpZGF0aW9uKGRhdGEucGFzc3dvcmQsIGRhdGEuY29uZmlybVBhc3N3b3JkKVxyXG4gICAgfX0pKVxyXG4gICAgdGhpcy5nZXRDb3VudHJ5Q29kZXMoKVxyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzdWJzY3JpcHRpb24pPT57c3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCl9KVxyXG4gIH1cclxuXHJcbiAgaW5pdEZvcm0oKSB7XHJcbiAgICB0aGlzLmFib3V0Rm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBjbGllbnROYW1lOiBbJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXHJcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcclxuICAgICAgICBWYWxpZGF0b3JzLm1pbkxlbmd0aCgzKSxcclxuICAgICAgICBWYWxpZGF0b3JzLm1heExlbmd0aCgxMDApLFxyXG4gICAgICBdKSxcclxuICAgIF0sXHJcbiAgICAgIGZpcnN0TmFtZTogWycnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xyXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXHJcbiAgICAgICAgVmFsaWRhdG9ycy5taW5MZW5ndGgoMyksXHJcbiAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoNTApLFxyXG4gICAgICBdKSxcclxuICAgICAgXSxcclxuICAgICAgbGFzdE5hbWU6IFsnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcclxuICAgICAgICAvLyBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICAgIC8vIFZhbGlkYXRvcnMubWluTGVuZ3RoKDMpLFxyXG4gICAgICAgIC8vIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDUwKSxcclxuICAgICAgXSksXHJcbiAgICAgIF0sXHJcbiAgICAgIHdlYnNpdGVVcmw6IFsnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcclxuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oL14oaHR0cHM/OlxcL1xcLyk/KFtcXGRhLXouLV0rKVxcLihbYS16Ll17Miw2fSkoWy9cXHcgLi1dKikqXFwvPyQvKVxyXG4gICAgICAgIC8vIFZhbGlkYXRvcnMucmVxdWlyZWQsXHJcbiAgICAgICAgLy8gVmFsaWRhdG9ycy5taW5MZW5ndGgoMyksXHJcbiAgICAgICAgLy8gVmFsaWRhdG9ycy5tYXhMZW5ndGgoNTApLFxyXG4gICAgICBdKSxcclxuICAgICAgXSxcclxuICAgICAgY29ycG9yYXRlRW1haWw6IFsnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcclxuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICAgIFZhbGlkYXRvcnMucGF0dGVybihcIl5bYS16QS1aMC05XSsoWy4tX10/W2EtekEtWjAtOV0rKSpAW2EtekEtWjAtOV0rKFsuLV9dP1thLXpBLVpdKykqWy5dezF9W2EtekEtWl17Mix9JFwiKSxcclxuICAgICAgICBWYWxpZGF0b3JzLm1pbkxlbmd0aCgzKSxcclxuICAgICAgICBWYWxpZGF0b3JzLm1heExlbmd0aCgxMDApLFxyXG4gICAgICBdKSxcclxuICAgICAgXSxcclxuICAgICAgY291bnRyeUNvZGU6IFsnOTEnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xyXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWRcclxuICAgICAgXSksXHJcbiAgICAgIF0sXHJcbiAgICAgIG1vYmlsZU51bWJlcjogWycnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xyXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXHJcbiAgICAgICAgVmFsaWRhdG9ycy5taW4oOTk5KSxcclxuICAgICAgICBWYWxpZGF0b3JzLm1heCg5OTk5OTk5OTk5OTkpLFxyXG4gICAgICBdKSxcclxuICAgICAgXSxcclxuICAgICAgcGFzc3dvcmQ6IFsnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcclxuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICAgIFZhbGlkYXRvcnMubWluTGVuZ3RoKDgpLFxyXG4gICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMyMCksXHJcbiAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKC9eKD89LipbQS1aXSkoPz0uKlxcZCkuezgsfSQvKSx0aGlzLm5vU3BhY2VWYWxpZGF0b3JcclxuICAgICAgXSksXHJcbiAgICAgIF0sXHJcbiAgICAgIGNvbmZpcm1QYXNzd29yZDogWycnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xyXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXHJcbiAgICAgICAgVmFsaWRhdG9ycy5taW5MZW5ndGgoOCksXHJcbiAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzIwKSxcclxuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oL14oPz0uKltBLVpdKSg/PS4qXFxkKS57OCx9JC8pLHRoaXMubm9TcGFjZVZhbGlkYXRvcixcclxuICAgICAgICB0aGlzLnZhbGlkYXRlQXJlRXF1YWwuYmluZCh0aGlzKSxcclxuICAgICAgXSksXHJcbiAgICAgICAgLFxyXG4gICAgICBdLFxyXG5cclxuXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmFib3V0Rm9ybS5nZXQoJ3Bhc3N3b3JkJyk/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLmFib3V0Rm9ybS5nZXQoJ2NvbmZpcm1QYXNzd29yZCcpPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgbm9TcGFjZVZhbGlkYXRvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgbnVsbCB7XHJcbiAgICBpZiAoY29udHJvbC52YWx1ZSAmJiBjb250cm9sLnZhbHVlLmluZGV4T2YoJyAnKSA+PSAwKSB7XHJcbiAgICAgIHJldHVybiB7ICdub1NwYWNlcyc6IHRydWUgfTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuICB2YWxpZGF0ZUFyZUVxdWFsKGZpZWxkQ29udHJvbDogQWJzdHJhY3RDb250cm9sPGFueT4pIHtcclxuICAgIHJldHVybiBmaWVsZENvbnRyb2w/LnZhbHVlID09PSB0aGlzLmFib3V0Rm9ybT8uZ2V0KCdwYXNzd29yZCcpIS52YWx1ZSA/IG51bGwgOiB7XHJcbiAgICAgIE5vdEVxdWFsOiB0cnVlLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gYXN5bmMgY2hlY2tQYXNzd29yZFN0cmVuZ3RoKHZhbDpzdHJpbmcpeyAgXHJcbiAgICBjb25zdCBudW1iZXJzID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCk9PntcclxuICAgICAgaWYoL1swLTldL2cudGVzdCh2YWwpKXtcclxuICAgICAgICByZXNvbHZlKHttZXNhZ2U6J251bWJlcnMgcGFzc2VkJ30pXHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHJlamVjdCh7bWVzYWdlOidudW1iZXJzIGZhaWxlZCd9KVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgY29uc3QgY2FwaXRhbCA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpPT57XHJcbiAgICAgIGlmKC9bYS16XS9nLnRlc3QodmFsKSl7XHJcbiAgICAgICAgcmVzb2x2ZSh7bWVzYWdlOidjYXBpdGFsIHBhc3NlZCd9KVxyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICByZWplY3Qoe21lc2FnZTonY2FwaXRhbCBmYWlsZWQnfSlcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIGNvbnN0IHNtYWxsID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCk9PntcclxuICAgICAgaWYoL1tBLVpdL2cudGVzdCh2YWwpKXtcclxuICAgICAgICByZXNvbHZlKHttZXNhZ2U6J3NtYWxsIHBhc3NlZCd9KVxyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICByZWplY3Qoe21lc2FnZTonc21hbGwgZmFpbGVkJ30pXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICBjb25zdCBsZW5ndGggPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KT0+e1xyXG4gICAgICBpZih2YWwubGVuZ3RoID4gNyl7XHJcbiAgICAgICAgcmVzb2x2ZSh7bWVzYWdlOidsZW5ndGggcGFzc2VkJ30pXHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHJlamVjdCh7bWVzYWdlOidsZW5ndGggZmFpbGVkJ30pXHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG4gICAgXHJcbiAgY29uc3QgcGVyY2VudGFnZSA9ICBhd2FpdCAoUHJvbWlzZSBhcyBhbnkpLmFsbFNldHRsZWQoW251bWJlcnMsIGNhcGl0YWwsIHNtYWxsLCBsZW5ndGhdKVxyXG4gICAgLnRoZW4oKHJlczphbnkpPT57XHJcbiAgICAgIHZhciBwZXJjZW50YWdlID0gMFxyXG4gICAgICByZXMuZm9yRWFjaCgoZWxlbWVudDphbnkpID0+IHtcclxuICAgICAgICBpZihlbGVtZW50LnN0YXR1cyA9PT0gJ2Z1bGZpbGxlZCcpe1xyXG4gICAgICAgICAgcGVyY2VudGFnZSs9MjVcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gcGVyY2VudGFnZVxyXG4gICAgfSkgICAgXHJcblxyXG4gICAgcmV0dXJuIHBlcmNlbnRhZ2UgKyAnJSdcclxuICB9XHJcblxyXG4gYXN5bmMgb25QYXNzd29yZENoYW5nZShldmVudDphbnkpe1xyXG4gICB0aGlzLnBhc3N3b3JkU3RyZW5ndGggPSBhd2FpdCB0aGlzLmNoZWNrUGFzc3dvcmRTdHJlbmd0aChldmVudC50YXJnZXQudmFsdWUpXHJcbiAgfVxyXG5cclxuICBhc3luYyBvbkNvbmZpcm1QYXNzd29yZENoYW5nZShldmVudDphbnkpe1xyXG4gICAgdGhpcy5jb25maXJtUGFzc3dvcmRTdHJlbmd0aCA9IGF3YWl0IHRoaXMuY2hlY2tQYXNzd29yZFN0cmVuZ3RoKGV2ZW50LnRhcmdldC52YWx1ZSlcclxuICAgfVxyXG5cclxuIGFzeW5jIHJlaW5pdGlhbGl6ZVBhc3N3b3JkVmFsaWRhdGlvbihwYXNzd29yZDpzdHJpbmcsIGNvbmZpcm1QYXNzd29yZDpzdHJpbmcpe1xyXG4gIHRoaXMucGFzc3dvcmRTdHJlbmd0aCA9IGF3YWl0IHRoaXMuY2hlY2tQYXNzd29yZFN0cmVuZ3RoKHBhc3N3b3JkKVxyXG4gIHRoaXMuY29uZmlybVBhc3N3b3JkU3RyZW5ndGggPSBhd2FpdCB0aGlzLmNoZWNrUGFzc3dvcmRTdHJlbmd0aChjb25maXJtUGFzc3dvcmQpXHJcbiAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICB9XHJcblxyXG4gIGdldENvdW50cnlDb2Rlcygpe1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBbGxDb3VudHJpZXMoKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OihyZXMpPT57XHJcbiAgICAgICAgdGhpcy5jb3VudHJ5TGlzdCA9IHJlcy5kYXRhXHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6KGVycik9PntcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIFxyXG4gICAgICB9XHJcbiAgICB9KSBcclxuICAgIClcclxuICAgIFxyXG4gIH1cclxuXHJcbiAgIG9uQ2xpZW50TmFtZUJsdXIoKXtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgIHRoaXMuYXV0aFNlcnZpY2UuaXNDbGllbnRuYW1lVGFrZW4odGhpcy5hYm91dEZvcm0/LmdldCgnY2xpZW50TmFtZScpPy52YWx1ZSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDoocmVzKT0+e1xyXG4gICAgICAgIHRoaXMuaXNDbGllbnROYW1lVGFrZW4gPSByZXMuZGF0YS5pc0V4aXN0c1xyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgIH1cclxuICAgIH0pIFxyXG4gICAgKVxyXG4gICAgXHJcbiAgIH1cclxuXHJcbiAgIG9uRW1haWxCbHVyKCl7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICB0aGlzLmF1dGhTZXJ2aWNlLmlzRW1haWxUYWtlbih0aGlzLmFib3V0Rm9ybT8uZ2V0KCdjb3Jwb3JhdGVFbWFpbCcpPy52YWx1ZSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDoocmVzKT0+e1xyXG4gICAgICAgIHRoaXMuaXNFbWFpbFRha2VuID0gcmVzLmRhdGEuaXNFeGlzdHNcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICB9XHJcbiAgICB9KSBcclxuICAgIClcclxuICAgIFxyXG4gICB9XHJcblxyXG4gICBvbk1vYmlsZU51bWJlckJsdXIoKXtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgIHRoaXMuYXV0aFNlcnZpY2UuaXNNb2JpbGVUYWtlbih0aGlzLmFib3V0Rm9ybT8uZ2V0KCdtb2JpbGVOdW1iZXInKT8udmFsdWUpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6KHJlcyk9PntcclxuICAgICAgICB0aGlzLmlzTW9iaWxlVGFrZW4gPSByZXMuZGF0YS5pc0V4aXN0c1xyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgIH1cclxuICAgIH0pIFxyXG4gICAgKVxyXG4gICAgXHJcbiAgIH1cclxuXHJcblxyXG5cclxuICBuZXh0U3RlcCgpIHtcclxuICAgIHRoaXMuYXV0aFNlcnZpY2UuYWJvdXRGb3JtRGF0YS5uZXh0KHRoaXMuYWJvdXRGb3JtLnZhbHVlKVxyXG4gICAgdGhpcy5zZXR0ZXJzZXJ2aWNlLmNvbXBsZXRlU3RlcHBlcih7IHN0ZXA6IDIgfSk7XHJcbiAgfVxyXG4gIHNob3dQYXNzd29yZCgpIHtcclxuICAgIHRoaXMucGFzc3dvcmRTaG93ID0gIXRoaXMucGFzc3dvcmRTaG93O1xyXG59XHJcbnNob3dDb25maXJtUGFzc3dvcmQoKXtcclxuICB0aGlzLmNvbmZpcm1QYXNzd29yZFNob3cgPSAhdGhpcy5jb25maXJtUGFzc3dvcmRTaG93O1xyXG59XHJcbm9taXRfc3BlY2lhbF9jaGFyKGV2ZW50OiBhbnkpIHtcclxuICB2YXIgaztcclxuICBrID0gZXZlbnQuY2hhckNvZGU7IC8vICAgICAgICAgayA9IGV2ZW50LmtleUNvZGU7ICAoQm90aCBjYW4gYmUgdXNlZClcclxuICByZXR1cm4gayA9PSA4IHx8IGsgPT0gMzIgfHwgKGsgPj0gNDggJiYgayA8PSA1Nyk7XHJcbn1cclxuY3VycmVudERhdGVTdHI6IHN0cmluZyA9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKS50b1N0cmluZygpO1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkIG10LTEwIG14LTE1XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaC0xMDAgcHgtMTAgbXgtNSAgbXktN1wiPlxyXG4gICAgICAgIDwhLS0gPGRpdj5cclxuICAgICAgICA8aW1nIGNsYXNzPVwiYnViYmxlXCIgc3JjPVwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vYXNzZXRzL0ljb25zL1NpZ251cC1idWJibGUtaWNvbi5zdmdcIlxyXG4gICAgICAgICAgICAgYWx0PVwiXCIgc3Jjc2V0PVwiXCI+IC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2JpbGVzaG93XCI+XHJcbiAgICAgICAgICAgIDxoMyBjbGFzcz1cInRpdGxlMSBwdC00XCI+QUkgY28tcGlsb3QgdG8gYm9vc3QgeW91ciBzYWxlcyBjb252ZXJzaW9uPC9oMz5cclxuICAgICAgICAgICAgPHAgY2xhc3M9XCJzdWJ0ZXh0IHBiLTRcIj5Kb2luIHRoZSBsZWFkaW5nIGdsb2JhbCBicmFuZHMgaW4gdW5kZXJzdGFuZGluZyBmb290ZmFsbCBhbmQgc2hvcHBlciBiZWhhdmlvciB0b1xyXG4gICAgICAgICAgICAgICAgYm9vc3RcclxuICAgICAgICAgICAgICAgIHNhbGVzLjwvcD5cclxuXHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWdzcmNcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9MZW5za2FydC1sb2dvLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWdzcmNcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9ueWthYS1sb2dvLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWdzcmNcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9naXZhLWxvZ28zLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWdzcmNcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9EdXJvZmxleC1sb2dvLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWdzcmNcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9sb2NjaXRvbmUtbG9nby5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lLTIwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPVwiaWNvbi1tb3JlXCI+MzAgKzwvaDQ+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMTIgY2FyZC10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgPGg2IGNsYXNzPVwiY2FyZC1sYWJlbCBtYi03XCI+Q3JlYXRlIGFuIEFjY291bnQ8L2g2PlxyXG4gICAgICAgICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJhYm91dEZvcm1cIiBub3ZhbGlkYXRlPVwibm92YWxpZGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcHgtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiQnJhbmRcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5CcmFuZCBOYW1lIDxzcGFuIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj4qPC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgKGJsdXIpPVwib25DbGllbnROYW1lQmx1cigpXCIgKGlucHV0KT1cImlzQ2xpZW50TmFtZVRha2VuID0gMFwiIGZvcm1Db250cm9sTmFtZT1cImNsaWVudE5hbWVcIiB0eXBlPVwidHlwZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJCcmFuZFwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IGFib3V0Rm9ybS5nZXQoJ2NsaWVudE5hbWUnKT8udG91Y2hlZCAmJiBhYm91dEZvcm0uZ2V0KCdjbGllbnROYW1lJyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpIH1cIiBhdXRvY29tcGxldGU9XCJvZmZcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhYm91dEZvcm0uZ2V0KCdjbGllbnROYW1lJyk/LnRvdWNoZWQgJiYgYWJvdXRGb3JtLmdldCgnY2xpZW50TmFtZScpPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCcmFuZCBuYW1lIG11c3QgYmUgbWluaW11bSBvZiAzIGxldHRlcnNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc21hbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhYm91dEZvcm0uZ2V0KCdjbGllbnROYW1lJyk/LnRvdWNoZWQgJiYgYWJvdXRGb3JtLmdldCgnY2xpZW50TmFtZScpPy5oYXNFcnJvcignbWF4bGVuZ3RoJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCcmFuZCBuYW1lIG11c3QgYmUgbWF4aW11bSBvZiAxMDAgbGV0dGVyc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImFib3V0Rm9ybS5nZXQoJ2NsaWVudE5hbWUnKT8udG91Y2hlZCAmJiBhYm91dEZvcm0uZ2V0KCdjbGllbnROYW1lJyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJhbmQgbmFtZSBpcyByZXF1aXJlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzQ2xpZW50TmFtZVRha2VuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJhbmQgTmFtZSBhbHJlYWR5IGV4aXN0c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3ZWJzaXRlXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+QnJhbmQgV2Vic2l0ZSBVUkw8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cIndlYnNpdGVVcmxcIiB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJ3ZWJzaXRlXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzogYWJvdXRGb3JtLmdldCgnd2Vic2l0ZVVybCcpPy50b3VjaGVkICYmIGFib3V0Rm9ybS5nZXQoJ3dlYnNpdGVVcmwnKT8uaGFzRXJyb3IoJ3BhdHRlcm4nKSB9XCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYWJvdXRGb3JtLmdldCgnd2Vic2l0ZVVybCcpPy50b3VjaGVkICYmIGFib3V0Rm9ybS5nZXQoJ3dlYnNpdGVVcmwnKT8uaGFzRXJyb3IoJ3BhdHRlcm4nKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVyIHZhbGlkIHdlYnNpdGUgdXJsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHB4LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItN1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZpcnN0bmFtZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkZpcnN0IE5hbWUgIDxzcGFuIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj4qPC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiZmlyc3ROYW1lXCIgdHlwZT1cInR5cGVcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiZmlyc3RuYW1lXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBhYm91dEZvcm0uZ2V0KCdmaXJzdE5hbWUnKT8udG91Y2hlZCAmJiBhYm91dEZvcm0uZ2V0KCdmaXJzdE5hbWUnKT8uaGFzRXJyb3IoJ3JlcXVpcmVkJykgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYWJvdXRGb3JtLmdldCgnZmlyc3ROYW1lJyk/LnRvdWNoZWQgJiYgYWJvdXRGb3JtLmdldCgnZmlyc3ROYW1lJyk/Lmhhc0Vycm9yKCdtaW5sZW5ndGgnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpcnN0IG5hbWUgbXVzdCBiZSBtaW5pbXVtIG9mIDMgbGV0dGVyc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImFib3V0Rm9ybS5nZXQoJ2ZpcnN0TmFtZScpPy50b3VjaGVkICYmIGFib3V0Rm9ybS5nZXQoJ2ZpcnN0TmFtZScpPy5oYXNFcnJvcignbWF4bGVuZ3RoJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaXJzdCBuYW1lIG11c3QgYmUgbWF4aW11bSBvZiA1MCBsZXR0ZXJzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYWJvdXRGb3JtLmdldCgnZmlyc3ROYW1lJyk/LnRvdWNoZWQgJiYgYWJvdXRGb3JtLmdldCgnZmlyc3ROYW1lJyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlyc3QgbmFtZSBpcyByZXF1aXJlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJsYXN0bmFtZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkxhc3QgTmFtZTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwibGFzdE5hbWVcIiB0eXBlPVwidHlwZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJsYXN0bmFtZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYWJvdXRGb3JtLmdldCgnbGFzdE5hbWUnKT8udG91Y2hlZCAmJiBhYm91dEZvcm0uZ2V0KCdsYXN0TmFtZScpPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYXN0IG5hbWUgbXVzdCBiZSBtaW5pbXVtIG9mIDMgbGV0dGVyc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImFib3V0Rm9ybS5nZXQoJ2xhc3ROYW1lJyk/LnRvdWNoZWQgJiYgYWJvdXRGb3JtLmdldCgnbGFzdE5hbWUnKT8uaGFzRXJyb3IoJ21heGxlbmd0aCcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGFzdCBuYW1lIG11c3QgYmUgbWF4aW11bSBvZiA1MCBsZXR0ZXJzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYWJvdXRGb3JtLmdldCgnbGFzdE5hbWUnKT8udG91Y2hlZCAmJiBhYm91dEZvcm0uZ2V0KCdsYXN0TmFtZScpPy5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExhc3QgbmFtZSBpcyByZXF1aXJlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJlbWFpbFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkNvcnBvcmF0ZSBFbWFpbCAgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPio8L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCAoYmx1cik9XCJvbkVtYWlsQmx1cigpXCIgKGlucHV0KT1cImlzRW1haWxUYWtlbiA9IDBcIiBmb3JtQ29udHJvbE5hbWU9XCJjb3Jwb3JhdGVFbWFpbFwiIHR5cGU9XCJlbWFpbFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJlbWFpbFwiIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBhYm91dEZvcm0uZ2V0KCdjb3Jwb3JhdGVFbWFpbCcpPy50b3VjaGVkICYmIGFib3V0Rm9ybS5nZXQoJ2NvcnBvcmF0ZUVtYWlsJyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImFib3V0Rm9ybS5nZXQoJ2NvcnBvcmF0ZUVtYWlsJyk/LnRvdWNoZWQgJiYgYWJvdXRGb3JtLmdldCgnY29ycG9yYXRlRW1haWwnKT8uaGFzRXJyb3IoJ21pbmxlbmd0aCcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW50ZXIgYSB2YWxpZCBlbWFpbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImFib3V0Rm9ybS5nZXQoJ2NvcnBvcmF0ZUVtYWlsJyk/LnRvdWNoZWQgJiYgYWJvdXRGb3JtLmdldCgnY29ycG9yYXRlRW1haWwnKT8uaGFzRXJyb3IoJ21heGxlbmd0aCcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW50ZXIgYSB2YWxpZCBlbWFpbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImFib3V0Rm9ybS5nZXQoJ2NvcnBvcmF0ZUVtYWlsJyk/LnRvdWNoZWQgJiYgYWJvdXRGb3JtLmdldCgnY29ycG9yYXRlRW1haWwnKT8uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbnRlciBhIHZhbGlkIGVtYWlsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYWJvdXRGb3JtLmdldCgnY29ycG9yYXRlRW1haWwnKT8udG91Y2hlZCAmJiBhYm91dEZvcm0uZ2V0KCdjb3Jwb3JhdGVFbWFpbCcpPy5oYXNFcnJvcigncGF0dGVybicpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW50ZXIgdmFsaWQgZW1haWwgSURcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc21hbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpc0VtYWlsVGFrZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbWFpbCBhbHJlYWR5IGV4aXN0c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTdcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGhvbmVudW1iZXJcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5QaG9uZSBudW1iZXIgIDxzcGFuIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj4qPC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNCBjb2wteGwtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHNlbGVjdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tc2VsZWN0IGZvcm0tc2VsZWN0LXNvbGlkIHNlbGVjdDItaGlkZGVuLWFjY2Vzc2libGUgZm9ybS1sYWJlbCB0ZXh0LWRhcmsgZnMtNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJkaWFsQ29kZVwiICNkaWFsQ29kZT1cIm5nTW9kZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCIgbWF0TmF0aXZlQ29udHJvbCByZXF1aXJlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvdW50cnlDb2Rlc1wiIChjbGljayk9XCJjaG9vc2VDb3VudHJ5KGNvdW50cnlDb2RlcylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwiY291bnRyeS5kaWFsX2NvZGVcIiAqbmdGb3I9XCJsZXQgY291bnRyeSBvZiBjb3VudHJ5Q29kZUxpc3RcIj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZnctYm9sZGVyIHRleHQtZGFyayAgcHMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNvdW50cnkubmFtZSB9fTwvc3Bhbj48c3BhbiBjbGFzcz1cInRleHQtbXV0ZWRcIj4oe3sgY291bnRyeS5kaWFsX2NvZGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fSk8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJjb3VudHJ5Q29kZVwiIGNsYXNzPVwiZm9ybS1zZWxlY3QgcHMtMyBwZS04XCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImlucHV0R3JvdXBTZWxlY3QwMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgY291bnRyeSBvZiBjb3VudHJ5TGlzdFwiIGNsYXNzPVwibXgtMlwiIFt2YWx1ZV09XCJjb3VudHJ5LnBob25lY29kZVwiPnt7Y291bnRyeS5uYW1lfX08c3BhbiBjbGFzcz1cInRleHQtbXV0ZWRcIj4oe3sgY291bnRyeS5waG9uZWNvZGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19KTwvc3Bhbj48L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctOCBjb2wteGwtOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGlucHV0IFt2YWx1ZV09XCJhYm91dEZvcm0uZ2V0KCdjb3VudHJ5Q29kZScpPy52YWx1ZVwiIHR5cGU9XCJ0ZXh0XCIgIFtuZ0NsYXNzXT1cInsgJ2NvZGUtaXMtaW52YWxpZCc6IGFib3V0Rm9ybS5nZXQoJ21vYmlsZU51bWJlcicpPy50b3VjaGVkICYmIGFib3V0Rm9ybS5nZXQoJ21vYmlsZU51bWJlcicpPy5oYXNFcnJvcigncmVxdWlyZWQnKSB9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYm9yZGVyLWRpc2FibGVkXCIgcmVhZG9ubHk+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCAoYmx1cik9XCJvbk1vYmlsZU51bWJlckJsdXIoKVwiIChpbnB1dCk9XCJpc01vYmlsZVRha2VuID0gMFwiIGZvcm1Db250cm9sTmFtZT1cIm1vYmlsZU51bWJlclwiIHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiIFtuZ0NsYXNzXT1cInsgJyBpcy1pbnZhbGlkJzogYWJvdXRGb3JtLmdldCgnbW9iaWxlTnVtYmVyJyk/LnRvdWNoZWQgJiYgYWJvdXRGb3JtLmdldCgnbW9iaWxlTnVtYmVyJyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInBob25lbnVtYmVyXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgbWlubGVuZ3RoPVwiN1wiIG1heGxlbmd0aD1cIjE1XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhYm91dEZvcm0uZ2V0KCdtb2JpbGVOdW1iZXInKT8udG91Y2hlZCAmJiBhYm91dEZvcm0uZ2V0KCdtb2JpbGVOdW1iZXInKT8uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQaG9uZSBudW1iZXIgaXMgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc21hbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgKm5nSWY9XCJhYm91dEZvcm0uZ2V0KCdtb2JpbGVOdW1iZXInKT8udG91Y2hlZCAmJiBhYm91dEZvcm0uZ2V0KCdtb2JpbGVOdW1iZXInKT8uaGFzRXJyb3IoJ3BhdHRlcm4nKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVyIGEgdmFsaWQgcGhvbmUgbnVtYmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImFib3V0Rm9ybS5nZXQoJ21vYmlsZU51bWJlcicpPy50b3VjaGVkICYmIGFib3V0Rm9ybS5nZXQoJ21vYmlsZU51bWJlcicpPy5oYXNFcnJvcignbWluJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVyIGEgdmFsaWQgcGhvbmUgbnVtYmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc21hbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhYm91dEZvcm0uZ2V0KCdtb2JpbGVOdW1iZXInKT8udG91Y2hlZCAmJiBhYm91dEZvcm0uZ2V0KCdtb2JpbGVOdW1iZXInKT8uaGFzRXJyb3IoJ21heCcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbnRlciBhIHZhbGlkIHBob25lIG51bWJlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNNb2JpbGVUYWtlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBob25lIE51bWJlciBhbHJlYWR5IGV4aXN0c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXNzd29yZFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlBhc3N3b3JkICA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+Kjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCAoaW5wdXQpPVwib25QYXNzd29yZENoYW5nZSgkZXZlbnQpXCIgZm9ybUNvbnRyb2xOYW1lPVwicGFzc3dvcmRcIiBbdHlwZV09XCJwYXNzd29yZFNob3cgPyAndGV4dCcgOiAncGFzc3dvcmQnXCIgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBhYm91dEZvcm0uZ2V0KCdwYXNzd29yZCcpPy50b3VjaGVkICYmIGFib3V0Rm9ybS5nZXQoJ3Bhc3N3b3JkJyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJwYXNzd29yZFwiIGF1dG9jb21wbGV0ZT1cIm5ldy1wYXNzd29yZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIChjbGljayk9XCJzaG93UGFzc3dvcmQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1pY29uIHBvc2l0aW9uLWFic29sdXRlIHRyYW5zbGF0ZS1taWRkbGUgdG9wLTUwIGVuZC0wXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWt0LXBhc3N3b3JkLW1ldGVyLWNvbnRyb2w9XCJ2aXNpYmlsaXR5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJwYXNzd29yZFNob3dcIiBjbGFzcz1cImZhIGZhLWV5ZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIiFwYXNzd29yZFNob3dcIiBjbGFzcz1cImZhIGZhLWV5ZS1zbGFzaFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJwcm9ncmVzc2Jhci13cmFwcGVyIG10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbc3R5bGUud2lkdGhdPVwicGFzc3dvcmRTdHJlbmd0aFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZC1jb2xvcic6IHBhc3N3b3JkU3RyZW5ndGggPT09ICcwJScgPyAnJyA6IChwYXNzd29yZFN0cmVuZ3RoID09PSAnMjUlJyA/ICdyZWQnIDogKHBhc3N3b3JkU3RyZW5ndGggPT09ICc1MCUnID8gJ29yYW5nZSc6IChwYXNzd29yZFN0cmVuZ3RoID09PSAnNzUlJyA/ICd5ZWxsb3cnIDogKHBhc3N3b3JkU3RyZW5ndGggPT09ICcxMDAlJyA/ICdncmVlbicgOiAnJykpKSkgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicHJvZ3Jlc3NiYXItaW5uZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXNzd29yZC1ub3RlIG10LTJcIj5UaGUgcGFzc3dvcmQgbXVzdCBjb250YWluIGF0bGVhc3Qgb25lIGNhcGl0YWwgbGV0dGVyLCBvbmUgc3BlY2lhbCBjaGFyZWN0ZXIsIG51bWJlciBhbmQgdGhlIHN0cmVuZ3RoIHNob3VsZCBiZSBtb3JlIHRoYW4gNyBjaGFyZWN0ZXJzLjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgKm5nSWY9XCJhYm91dEZvcm0uZ2V0KCdwYXNzd29yZCcpPy5oYXNFcnJvcigncmVxdWlyZWQnKSAmJiBhYm91dEZvcm0uZ2V0KCdwYXNzd29yZCcpPy50b3VjaGVkXCI+UGFzc3dvcmQgaXMgcmVxdWlyZWQ8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgKm5nSWY9XCJhYm91dEZvcm0uZ2V0KCdwYXNzd29yZCcpPy5oYXNFcnJvcignbm9TcGFjZXMnKSAmJiBhYm91dEZvcm0uZ2V0KCdwYXNzd29yZCcpPy50b3VjaGVkXCI+UGFzc3dvcmQgY2Fubm90IGNvbnRhaW4gc3BhY2VzLjwvc21hbGw+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJjb25maXJtXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+Q29uZmlybSBQYXNzd29yZCAgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPio8L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZSBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgKGlucHV0KT1cIm9uQ29uZmlybVBhc3N3b3JkQ2hhbmdlKCRldmVudClcIiBmb3JtQ29udHJvbE5hbWU9XCJjb25maXJtUGFzc3dvcmRcIiBbdHlwZV09XCJjb25maXJtUGFzc3dvcmRTaG93ID8gJ3RleHQnIDogJ3Bhc3N3b3JkJ1wiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IGFib3V0Rm9ybS5nZXQoJ2NvbmZpcm1QYXNzd29yZCcpPy50b3VjaGVkICYmIGFib3V0Rm9ybS5nZXQoJ2NvbmZpcm1QYXNzd29yZCcpPy5oYXNFcnJvcigncmVxdWlyZWQnKSB9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImNvbmZpcm1cIiBhdXRvY29tcGxldGU9XCJvZmZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAoY2xpY2spPVwic2hvd0NvbmZpcm1QYXNzd29yZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc20gYnRuLWljb24gcG9zaXRpb24tYWJzb2x1dGUgdHJhbnNsYXRlLW1pZGRsZSB0b3AtNTAgZW5kLTBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEta3QtcGFzc3dvcmQtbWV0ZXItY29udHJvbD1cInZpc2liaWxpdHlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImNvbmZpcm1QYXNzd29yZFNob3dcIiBjbGFzcz1cImZhIGZhLWV5ZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIiFjb25maXJtUGFzc3dvcmRTaG93XCIgY2xhc3M9XCJmYSBmYS1leWUtc2xhc2hcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzc2Jhci13cmFwcGVyIG10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbc3R5bGUud2lkdGhdPVwiY29uZmlybVBhc3N3b3JkU3RyZW5ndGhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQtY29sb3InOiBjb25maXJtUGFzc3dvcmRTdHJlbmd0aCA9PT0gJzAlJyA/ICcnIDogKGNvbmZpcm1QYXNzd29yZFN0cmVuZ3RoID09PSAnMjUlJyA/ICdyZWQnIDogKGNvbmZpcm1QYXNzd29yZFN0cmVuZ3RoID09PSAnNTAlJyA/ICdvcmFuZ2UnOiAoY29uZmlybVBhc3N3b3JkU3RyZW5ndGggPT09ICc3NSUnID8gJ3llbGxvdycgOiAoY29uZmlybVBhc3N3b3JkU3RyZW5ndGggPT09ICcxMDAlJyA/ICdncmVlbicgOiAnJykpKSkgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicHJvZ3Jlc3NiYXItaW5uZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXNzd29yZC1ub3RlIG10LTJcIj5UaGUgcGFzc3dvcmQgbXVzdCBjb250YWluIGF0bGVhc3Qgb25lIGNhcGl0YWwgbGV0dGVyLCBvbmUgc3BlY2lhbCBjaGFyZWN0ZXIsIG51bWJlciBhbmQgdGhlIHN0cmVuZ3RoIHNob3VsZCBiZSBtb3JlIHRoYW4gNyBjaGFyZWN0ZXJzPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCAqbmdJZj1cImFib3V0Rm9ybS5nZXQoJ2NvbmZpcm1QYXNzd29yZCcpPy5oYXNFcnJvcigncmVxdWlyZWQnKSAmJiBhYm91dEZvcm0uZ2V0KCdjb25maXJtUGFzc3dvcmQnKT8udG91Y2hlZFwiPkNvbmZpcm0gcGFzc3dvcmQgaXMgcmVxdWlyZWQ8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhYm91dEZvcm0uZ2V0KCdjb25maXJtUGFzc3dvcmQnKT8udG91Y2hlZCAmJiBhYm91dEZvcm0uZ2V0KCdjb25maXJtUGFzc3dvcmQnKT8uaGFzRXJyb3IoJ05vdEVxdWFsJykgJiYgIWFib3V0Rm9ybS5nZXQoJ2NvbmZpcm1QYXNzd29yZCcpPy5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlBhc3N3b3JkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvZXMgbm90IG1hdGNoPC9zbWFsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgKm5nSWY9XCJhYm91dEZvcm0uZ2V0KCdjb25maXJtUGFzc3dvcmQnKT8uaGFzRXJyb3IoJ25vU3BhY2VzJykgJiYgIWFib3V0Rm9ybS5nZXQoJ2NvbmZpcm1QYXNzd29yZCcpPy5oYXNFcnJvcignTm90RXF1YWwnKSAmJiBhYm91dEZvcm0uZ2V0KCdjb25maXJtUGFzc3dvcmQnKT8udG91Y2hlZFwiPlBhc3N3b3JkIGNhbm5vdCBjb250YWluIHNwYWNlcy48L3NtYWxsPiBcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXJyZW50U3RlcCQudmFsdWUgPT0gMVwiPiAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cImFib3V0Rm9ybS5pbnZhbGlkIHx8IGlzTW9iaWxlVGFrZW4gfHwgaXNFbWFpbFRha2VuIHx8IGlzQ2xpZW50TmFtZVRha2VuXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1sZyBidG4tcHJpbWFyeVwiIChjbGljayk9XCJuZXh0U3RlcCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5kaWNhdG9yLWxhYmVsIHB4LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV4dCA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk03LjUgMTVMMTIuNSAxMEw3LjUgNVwiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0gPC9uZy1jb250YWluZXI+IC0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLSA8L2Rpdj4gLS0+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgIGNsYXNzPVwibWItMyBkLWZsZXggZmxleC1jb2x1bW4gZmxleC1tZC1yb3cgIGZsZXgtbWQtc3RhY2sgcHQtMyBjb250YWluZXItZmx1aWRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTkwMCBvcmRlci0yIG9yZGVyLW1kLTEgbXMtMTBcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZS0xIGNvcHlcIj7CqSB7e2N1cnJlbnREYXRlU3RyfX0gPC9zcGFuPlxyXG4gICAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly90YW5nb2V5ZS5haVwiIGNsYXNzPVwiZm9vdGVyXCI+VGFuZ28gSVQgU29sdXRpb25zIEluZGlhIFB2dCBMdGQ8L2E+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHVsIGNsYXNzPVwibWVudSBtZW51LWdyYXktNjAwIG1lbnUtaG92ZXItcHJpbWFyeSBmdy1zZW1pYm9sZCBvcmRlci0xIG1lLTdcIj5cclxuICAgICAgICAgICAgPGxpIGNsYXNzPVwibWVudS1pdGVtIGZvb3RlclwiPjxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL3RhbmdvZXllLmFpLyNhYm91dHVzXCIgY2xhc3M9XCJtZW51LWxpbmsgcHgtNVwiPkFib3V0IHVzPC9hPjwvbGk+XHJcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cIm1lbnUtaXRlbSBmb290ZXJcIj48YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly90YW5nb2V5ZS5haS8jY29udGFjdFwiICBjbGFzcz1cIm1lbnUtbGluayBweC01XCI+Q29udGFjdCB1czwvYT48L2xpPlxyXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJtZW51LWl0ZW0gZm9vdGVyXCI+PGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vdGFuZ29leWUuYWkvcHJpdmFjeS1wb2xpY3ktMi9cIiBjbGFzcz1cIm1lbnUtbGluayBweC01XCI+UHJpdmFjeSAmIHBvbGljeTwvYT48L2xpPlxyXG4gICAgICAgIDwvdWw+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
249
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcDEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXV0aC9zcmMvbGliL2NvbXBvbmVudHMvdGFuZ28tYXV0aC1zaWdudXAvc3RlcC9zdGVwMS9zdGVwMS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hdXRoL3NyYy9saWIvY29tcG9uZW50cy90YW5nby1hdXRoLXNpZ251cC9zdGVwL3N0ZXAxL3N0ZXAxLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXhFLE9BQU8sRUFBMkMsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQVFyRixNQUFNLE9BQU8sY0FBYztJQVdMO0lBQTBDO0lBQXlCO0lBQWlDO0lBVnhILFNBQVMsQ0FBVztJQUNwQixnQkFBZ0IsR0FBVyxJQUFJLENBQUE7SUFDL0IsdUJBQXVCLEdBQVcsSUFBSSxDQUFBO0lBQ3RDLGlCQUFpQixDQUFNO0lBQ3ZCLFlBQVksQ0FBTTtJQUNsQixhQUFhLENBQU07SUFDbkIsYUFBYSxHQUFrQixFQUFFLENBQUE7SUFDakMsV0FBVyxDQUFNO0lBQ2pCLFlBQVksR0FBVSxLQUFLLENBQUM7SUFDNUIsbUJBQW1CLEdBQVUsS0FBSyxDQUFDO0lBQ25DLFlBQW9CLGFBQWdDLEVBQVUsRUFBZSxFQUFVLFdBQXVCLEVBQVUsRUFBb0I7UUFBeEgsa0JBQWEsR0FBYixhQUFhLENBQW1CO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBa0I7UUFDMUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxD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QWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN6RCxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0MsQ0FBQztJQUNELG1CQUFtQjtRQUNqQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDdkQsQ0FBQztJQUNELGlCQUFpQixDQUFDLEtBQVU7UUFDMUIsSUFBSSxDQUFDLENBQUM7UUFDTixDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLGlEQUFpRDtRQUNyRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFDRCxjQUFjLEdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQzt3R0EzUGhELGNBQWM7NEZBQWQsY0FBYyxpRENWM0IsMHVvQkEwUU07OzRGRGhRTyxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udmVyc2lvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb252ZXJzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXN0ZXAxJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3RlcDEuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9zdGVwMS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0ZXAxQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBhYm91dEZvcm06IEZvcm1Hcm91cFxyXG4gIHBhc3N3b3JkU3RyZW5ndGg6c3RyaW5nICA9ICcwJSdcclxuICBjb25maXJtUGFzc3dvcmRTdHJlbmd0aDpzdHJpbmcgID0gJzAlJ1xyXG4gIGlzQ2xpZW50TmFtZVRha2VuOiBhbnk7XHJcbiAgaXNFbWFpbFRha2VuOiBhbnk7XHJcbiAgaXNNb2JpbGVUYWtlbjogYW55O1xyXG4gIHN1YnNjcmlwdGlvbnM6U3Vic2NyaXB0aW9uW10gPSBbXVxyXG4gIGNvdW50cnlMaXN0OiBhbnk7XHJcbiAgcGFzc3dvcmRTaG93OiBib29sZWFuPWZhbHNlO1xyXG4gIGNvbmZpcm1QYXNzd29yZFNob3c6IGJvb2xlYW49ZmFsc2U7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXR0ZXJzZXJ2aWNlOiBDb252ZXJzaW9uU2VydmljZSwgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgYXV0aFNlcnZpY2U6QXV0aFNlcnZpY2UsIHByaXZhdGUgY2Q6Q2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgIHRoaXMuaW5pdEZvcm0oKVxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5hdXRoU2VydmljZS5hYm91dEZvcm1EYXRhLnN1YnNjcmliZSgoZGF0YSk9PntpZihkYXRhKXsgIFxyXG4gICAgICB0aGlzLmFib3V0Rm9ybS5wYXRjaFZhbHVlKHtcclxuICAgICAgICBjbGllbnROYW1lOmRhdGEuY2xpZW50TmFtZSxcclxuICAgICAgICBmaXJzdE5hbWU6ZGF0YS5maXJzdE5hbWUsXHJcbiAgICAgICAgbGFzdE5hbWU6ZGF0YS5sYXN0TmFtZSxcclxuICAgICAgICBjb3Jwb3JhdGVFbWFpbDpkYXRhLmNvcnBvcmF0ZUVtYWlsLFxyXG4gICAgICAgIGNvdW50cnlDb2RlOmRhdGEuY291bnRyeUNvZGUsXHJcbiAgICAgICAgbW9iaWxlTnVtYmVyOmRhdGEubW9iaWxlTnVtYmVyLFxyXG4gICAgICAgIHBhc3N3b3JkOmRhdGEucGFzc3dvcmQsXHJcbiAgICAgICAgY29uZmlybVBhc3N3b3JkOmRhdGEuY29uZmlybVBhc3N3b3JkLFxyXG4gICAgICAgIHdlYnNpdGVVcmw6IGRhdGEud2Vic2l0ZVVybFxyXG4gICAgICB9KVxyXG4gICAgICB0aGlzLnJlaW5pdGlhbGl6ZVBhc3N3b3JkVmFsaWRhdGlvbihkYXRhLnBhc3N3b3JkLCBkYXRhLmNvbmZpcm1QYXNzd29yZClcclxuICAgIH19KSlcclxuICAgIHRoaXMuZ2V0Q291bnRyeUNvZGVzKClcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgoc3Vic2NyaXB0aW9uKT0+e3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfSlcclxuICB9XHJcblxyXG4gIGluaXRGb3JtKCkge1xyXG4gICAgdGhpcy5hYm91dEZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgY2xpZW50TmFtZTogWycnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xyXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXHJcbiAgICAgICAgVmFsaWRhdG9ycy5taW5MZW5ndGgoMyksXHJcbiAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTAwKSxcclxuICAgICAgXSksXHJcbiAgICBdLFxyXG4gICAgICBmaXJzdE5hbWU6IFsnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcclxuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICAgIFZhbGlkYXRvcnMubWluTGVuZ3RoKDMpLFxyXG4gICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDUwKSxcclxuICAgICAgXSksXHJcbiAgICAgIF0sXHJcbiAgICAgIGxhc3ROYW1lOiBbJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXHJcbiAgICAgICAgLy8gVmFsaWRhdG9ycy5yZXF1aXJlZCxcclxuICAgICAgICAvLyBWYWxpZGF0b3JzLm1pbkxlbmd0aCgzKSxcclxuICAgICAgICAvLyBWYWxpZGF0b3JzLm1heExlbmd0aCg1MCksXHJcbiAgICAgIF0pLFxyXG4gICAgICBdLFxyXG4gICAgICB3ZWJzaXRlVXJsOiBbJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXHJcbiAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKC9eKGh0dHBzPzpcXC9cXC8pPyhbXFxkYS16Li1dKylcXC4oW2Etei5dezIsNn0pKFsvXFx3IC4tXSopKlxcLz8kLylcclxuICAgICAgICAvLyBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICAgIC8vIFZhbGlkYXRvcnMubWluTGVuZ3RoKDMpLFxyXG4gICAgICAgIC8vIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDUwKSxcclxuICAgICAgXSksXHJcbiAgICAgIF0sXHJcbiAgICAgIGNvcnBvcmF0ZUVtYWlsOiBbJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXHJcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcclxuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oXCJeW2EtekEtWjAtOV0rKFsuLV9dP1thLXpBLVowLTldKykqQFthLXpBLVowLTldKyhbLi1fXT9bYS16QS1aXSspKlsuXXsxfVthLXpBLVpdezIsfSRcIiksXHJcbiAgICAgICAgVmFsaWRhdG9ycy5taW5MZW5ndGgoMyksXHJcbiAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTAwKSxcclxuICAgICAgXSksXHJcbiAgICAgIF0sXHJcbiAgICAgIGNvdW50cnlDb2RlOiBbJzkxJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcclxuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXHJcbiAgICAgIF0pLFxyXG4gICAgICBdLFxyXG4gICAgICBtb2JpbGVOdW1iZXI6IFsnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcclxuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICAgIFZhbGlkYXRvcnMubWluKDk5OSksXHJcbiAgICAgICAgVmFsaWRhdG9ycy5tYXgoOTk5OTk5OTk5OTk5KSxcclxuICAgICAgXSksXHJcbiAgICAgIF0sXHJcbiAgICAgIHBhc3N3b3JkOiBbJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXHJcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcclxuICAgICAgICBWYWxpZGF0b3JzLm1pbkxlbmd0aCg4KSxcclxuICAgICAgICBWYWxpZGF0b3JzLm1heExlbmd0aCgzMjApLFxyXG4gICAgICAgIFZhbGlkYXRvcnMucGF0dGVybigvXig/PS4qW0EtWl0pKD89LipcXGQpLns4LH0kLyksdGhpcy5ub1NwYWNlVmFsaWRhdG9yXHJcbiAgICAgIF0pLFxyXG4gICAgICBdLFxyXG4gICAgICBjb25maXJtUGFzc3dvcmQ6IFsnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcclxuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICAgIFZhbGlkYXRvcnMubWluTGVuZ3RoKDgpLFxyXG4gICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMyMCksXHJcbiAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKC9eKD89LipbQS1aXSkoPz0uKlxcZCkuezgsfSQvKSx0aGlzLm5vU3BhY2VWYWxpZGF0b3IsXHJcbiAgICAgICAgdGhpcy52YWxpZGF0ZUFyZUVxdWFsLmJpbmQodGhpcyksXHJcbiAgICAgIF0pLFxyXG4gICAgICAgICxcclxuICAgICAgXSxcclxuXHJcblxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5hYm91dEZvcm0uZ2V0KCdwYXNzd29yZCcpPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5hYm91dEZvcm0uZ2V0KCdjb25maXJtUGFzc3dvcmQnKT8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5vU3BhY2VWYWxpZGF0b3IoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IG51bGwge1xyXG4gICAgaWYgKGNvbnRyb2wudmFsdWUgJiYgY29udHJvbC52YWx1ZS5pbmRleE9mKCcgJykgPj0gMCkge1xyXG4gICAgICByZXR1cm4geyAnbm9TcGFjZXMnOiB0cnVlIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgdmFsaWRhdGVBcmVFcXVhbChmaWVsZENvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxhbnk+KSB7XHJcbiAgICByZXR1cm4gZmllbGRDb250cm9sPy52YWx1ZSA9PT0gdGhpcy5hYm91dEZvcm0/LmdldCgncGFzc3dvcmQnKSEudmFsdWUgPyBudWxsIDoge1xyXG4gICAgICBOb3RFcXVhbDogdHJ1ZSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuIGFzeW5jIGNoZWNrUGFzc3dvcmRTdHJlbmd0aCh2YWw6c3RyaW5nKXsgIFxyXG4gICAgY29uc3QgbnVtYmVycyA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpPT57XHJcbiAgICAgIGlmKC9bMC05XS9nLnRlc3QodmFsKSl7XHJcbiAgICAgICAgcmVzb2x2ZSh7bWVzYWdlOidudW1iZXJzIHBhc3NlZCd9KVxyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICByZWplY3Qoe21lc2FnZTonbnVtYmVycyBmYWlsZWQnfSlcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIGNvbnN0IGNhcGl0YWwgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KT0+e1xyXG4gICAgICBpZigvW2Etel0vZy50ZXN0KHZhbCkpe1xyXG4gICAgICAgIHJlc29sdmUoe21lc2FnZTonY2FwaXRhbCBwYXNzZWQnfSlcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgcmVqZWN0KHttZXNhZ2U6J2NhcGl0YWwgZmFpbGVkJ30pXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICBjb25zdCBzbWFsbCA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpPT57XHJcbiAgICAgIGlmKC9bQS1aXS9nLnRlc3QodmFsKSl7XHJcbiAgICAgICAgcmVzb2x2ZSh7bWVzYWdlOidzbWFsbCBwYXNzZWQnfSlcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgcmVqZWN0KHttZXNhZ2U6J3NtYWxsIGZhaWxlZCd9KVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgY29uc3QgbGVuZ3RoID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCk9PntcclxuICAgICAgaWYodmFsLmxlbmd0aCA+IDcpe1xyXG4gICAgICAgIHJlc29sdmUoe21lc2FnZTonbGVuZ3RoIHBhc3NlZCd9KVxyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICByZWplY3Qoe21lc2FnZTonbGVuZ3RoIGZhaWxlZCd9KVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG5cclxuICAgIFxyXG4gIGNvbnN0IHBlcmNlbnRhZ2UgPSAgYXdhaXQgKFByb21pc2UgYXMgYW55KS5hbGxTZXR0bGVkKFtudW1iZXJzLCBjYXBpdGFsLCBzbWFsbCwgbGVuZ3RoXSlcclxuICAgIC50aGVuKChyZXM6YW55KT0+e1xyXG4gICAgICB2YXIgcGVyY2VudGFnZSA9IDBcclxuICAgICAgcmVzLmZvckVhY2goKGVsZW1lbnQ6YW55KSA9PiB7XHJcbiAgICAgICAgaWYoZWxlbWVudC5zdGF0dXMgPT09ICdmdWxmaWxsZWQnKXtcclxuICAgICAgICAgIHBlcmNlbnRhZ2UrPTI1XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHBlcmNlbnRhZ2VcclxuICAgIH0pICAgIFxyXG5cclxuICAgIHJldHVybiBwZXJjZW50YWdlICsgJyUnXHJcbiAgfVxyXG5cclxuIGFzeW5jIG9uUGFzc3dvcmRDaGFuZ2UoZXZlbnQ6YW55KXtcclxuICAgdGhpcy5wYXNzd29yZFN0cmVuZ3RoID0gYXdhaXQgdGhpcy5jaGVja1Bhc3N3b3JkU3RyZW5ndGgoZXZlbnQudGFyZ2V0LnZhbHVlKVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgb25Db25maXJtUGFzc3dvcmRDaGFuZ2UoZXZlbnQ6YW55KXtcclxuICAgIHRoaXMuY29uZmlybVBhc3N3b3JkU3RyZW5ndGggPSBhd2FpdCB0aGlzLmNoZWNrUGFzc3dvcmRTdHJlbmd0aChldmVudC50YXJnZXQudmFsdWUpXHJcbiAgIH1cclxuXHJcbiBhc3luYyByZWluaXRpYWxpemVQYXNzd29yZFZhbGlkYXRpb24ocGFzc3dvcmQ6c3RyaW5nLCBjb25maXJtUGFzc3dvcmQ6c3RyaW5nKXtcclxuICB0aGlzLnBhc3N3b3JkU3RyZW5ndGggPSBhd2FpdCB0aGlzLmNoZWNrUGFzc3dvcmRTdHJlbmd0aChwYXNzd29yZClcclxuICB0aGlzLmNvbmZpcm1QYXNzd29yZFN0cmVuZ3RoID0gYXdhaXQgdGhpcy5jaGVja1Bhc3N3b3JkU3RyZW5ndGgoY29uZmlybVBhc3N3b3JkKVxyXG4gIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgfVxyXG5cclxuICBnZXRDb3VudHJ5Q29kZXMoKXtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QWxsQ291bnRyaWVzKCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDoocmVzKT0+e1xyXG4gICAgICAgIHRoaXMuY291bnRyeUxpc3QgPSByZXMuZGF0YVxyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOihlcnIpPT57XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICBcclxuICAgICAgfVxyXG4gICAgfSkgXHJcbiAgICApXHJcbiAgICBcclxuICB9XHJcblxyXG4gICBvbkNsaWVudE5hbWVCbHVyKCl7XHJcbiAgICBjb25zdCBkYXRhID0ge1xyXG4gICAgICBjbGllbnROYW1lOiB0aGlzLmFib3V0Rm9ybT8uZ2V0KCdjbGllbnROYW1lJyk/LnZhbHVlXHJcbiAgICB9XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgXHJcbiAgICAgdGhpcy5hdXRoU2VydmljZS5pc0NsaWVudG5hbWVUYWtlbihkYXRhKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OihyZXMpPT57XHJcbiAgICAgICAgdGhpcy5pc0NsaWVudE5hbWVUYWtlbiA9IHJlcy5kYXRhLmlzRXhpc3RzXHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgfVxyXG4gICAgfSkgXHJcbiAgICApXHJcbiAgICBcclxuICAgfVxyXG5cclxuICAgb25FbWFpbEJsdXIoKXtcclxuICAgIGNvbnN0IGRhdGEgPSB7XHJcbiAgICAgIGNvcnBvcmF0ZUVtYWlsOiB0aGlzLmFib3V0Rm9ybT8uZ2V0KCdjb3Jwb3JhdGVFbWFpbCcpPy52YWx1ZVxyXG4gICAgfVxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgdGhpcy5hdXRoU2VydmljZS5pc0NsaWVudG5hbWVUYWtlbihkYXRhKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OihyZXMpPT57XHJcbiAgICAgICAgdGhpcy5pc0VtYWlsVGFrZW4gPSByZXMuZGF0YS5pc0V4aXN0c1xyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgIH1cclxuICAgIH0pIFxyXG4gICAgKVxyXG4gICAgXHJcbiAgIH1cclxuXHJcbiAgIG9uTW9iaWxlTnVtYmVyQmx1cigpe1xyXG4gICAgY29uc3QgZGF0YSA9IHtcclxuICAgICAgbW9iaWxlTnVtYmVyOiB0aGlzLmFib3V0Rm9ybT8uZ2V0KCdtb2JpbGVOdW1iZXInKT8udmFsdWVcclxuICAgIH1cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgIHRoaXMuYXV0aFNlcnZpY2UuaXNDbGllbnRuYW1lVGFrZW4oZGF0YSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDoocmVzKT0+e1xyXG4gICAgICAgIHRoaXMuaXNNb2JpbGVUYWtlbiA9IHJlcy5kYXRhLmlzRXhpc3RzXHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgfVxyXG4gICAgfSkgXHJcbiAgICApXHJcbiAgICBcclxuICAgfVxyXG5cclxuXHJcblxyXG4gIG5leHRTdGVwKCkge1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5hYm91dEZvcm1EYXRhLm5leHQodGhpcy5hYm91dEZvcm0udmFsdWUpXHJcbiAgICB0aGlzLnNldHRlcnNlcnZpY2UuY29tcGxldGVTdGVwcGVyKHsgc3RlcDogMiB9KTtcclxuICB9XHJcbiAgc2hvd1Bhc3N3b3JkKCkge1xyXG4gICAgdGhpcy5wYXNzd29yZFNob3cgPSAhdGhpcy5wYXNzd29yZFNob3c7XHJcbn1cclxuc2hvd0NvbmZpcm1QYXNzd29yZCgpe1xyXG4gIHRoaXMuY29uZmlybVBhc3N3b3JkU2hvdyA9ICF0aGlzLmNvbmZpcm1QYXNzd29yZFNob3c7XHJcbn1cclxub21pdF9zcGVjaWFsX2NoYXIoZXZlbnQ6IGFueSkge1xyXG4gIHZhciBrO1xyXG4gIGsgPSBldmVudC5jaGFyQ29kZTsgLy8gICAgICAgICBrID0gZXZlbnQua2V5Q29kZTsgIChCb3RoIGNhbiBiZSB1c2VkKVxyXG4gIHJldHVybiBrID09IDggfHwgayA9PSAzMiB8fCAoayA+PSA0OCAmJiBrIDw9IDU3KTtcclxufVxyXG5jdXJyZW50RGF0ZVN0cjogc3RyaW5nID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKCk7XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhcmQgbXQtMTAgbXgtMTVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJoLTEwMCBweC0xMCBteC01ICBteS03XCI+XHJcbiAgICAgICAgPCEtLSA8ZGl2PlxyXG4gICAgICAgIDxpbWcgY2xhc3M9XCJidWJibGVcIiBzcmM9XCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9hc3NldHMvSWNvbnMvU2lnbnVwLWJ1YmJsZS1pY29uLnN2Z1wiXHJcbiAgICAgICAgICAgICBhbHQ9XCJcIiBzcmNzZXQ9XCJcIj4gLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vYmlsZXNob3dcIj5cclxuICAgICAgICAgICAgPGgzIGNsYXNzPVwidGl0bGUxIHB0LTRcIj5BSSBjby1waWxvdCB0byBib29zdCB5b3VyIHNhbGVzIGNvbnZlcnNpb248L2gzPlxyXG4gICAgICAgICAgICA8cCBjbGFzcz1cInN1YnRleHQgcGItNFwiPkpvaW4gdGhlIGxlYWRpbmcgZ2xvYmFsIGJyYW5kcyBpbiB1bmRlcnN0YW5kaW5nIGZvb3RmYWxsIGFuZCBzaG9wcGVyIGJlaGF2aW9yIHRvXHJcbiAgICAgICAgICAgICAgICBib29zdFxyXG4gICAgICAgICAgICAgICAgc2FsZXMuPC9wPlxyXG5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZ3NyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL0xlbnNrYXJ0LWxvZ28uc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZ3NyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL255a2FhLWxvZ28uc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZ3NyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL2dpdmEtbG9nbzMuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZ3NyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL0R1cm9mbGV4LWxvZ28uc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZ3NyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL2xvY2NpdG9uZS1sb2dvLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWUtMjBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJpY29uLW1vcmVcIj4zMCArPC9oND5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0xMiBjYXJkLXRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICA8aDYgY2xhc3M9XCJjYXJkLWxhYmVsIG1iLTdcIj5DcmVhdGUgYW4gQWNjb3VudDwvaDY+XHJcbiAgICAgICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImFib3V0Rm9ybVwiIG5vdmFsaWRhdGU9XCJub3ZhbGlkYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBweC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJCcmFuZFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkJyYW5kIE5hbWUgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPio8L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCAoYmx1cik9XCJvbkNsaWVudE5hbWVCbHVyKClcIiAoaW5wdXQpPVwiaXNDbGllbnROYW1lVGFrZW4gPSAwXCIgZm9ybUNvbnRyb2xOYW1lPVwiY2xpZW50TmFtZVwiIHR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cIkJyYW5kXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzogYWJvdXRGb3JtLmdldCgnY2xpZW50TmFtZScpPy50b3VjaGVkICYmIGFib3V0Rm9ybS5nZXQoJ2NsaWVudE5hbWUnKT8uaGFzRXJyb3IoJ3JlcXVpcmVkJykgfVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImFib3V0Rm9ybS5nZXQoJ2NsaWVudE5hbWUnKT8udG91Y2hlZCAmJiBhYm91dEZvcm0uZ2V0KCdjbGllbnROYW1lJyk/Lmhhc0Vycm9yKCdtaW5sZW5ndGgnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJyYW5kIG5hbWUgbXVzdCBiZSBtaW5pbXVtIG9mIDMgbGV0dGVyc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImFib3V0Rm9ybS5nZXQoJ2NsaWVudE5hbWUnKT8udG91Y2hlZCAmJiBhYm91dEZvcm0uZ2V0KCdjbGllbnROYW1lJyk/Lmhhc0Vycm9yKCdtYXhsZW5ndGgnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJyYW5kIG5hbWUgbXVzdCBiZSBtYXhpbXVtIG9mIDEwMCBsZXR0ZXJzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYWJvdXRGb3JtLmdldCgnY2xpZW50TmFtZScpPy50b3VjaGVkICYmIGFib3V0Rm9ybS5nZXQoJ2NsaWVudE5hbWUnKT8uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCcmFuZCBuYW1lIGlzIHJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNDbGllbnROYW1lVGFrZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCcmFuZCBOYW1lIGFscmVhZHkgZXhpc3RzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItN1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndlYnNpdGVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5CcmFuZCBXZWJzaXRlIFVSTDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwid2Vic2l0ZVVybFwiIHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cIndlYnNpdGVcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBhYm91dEZvcm0uZ2V0KCd3ZWJzaXRlVXJsJyk/LnRvdWNoZWQgJiYgYWJvdXRGb3JtLmdldCgnd2Vic2l0ZVVybCcpPy5oYXNFcnJvcigncGF0dGVybicpIH1cIiBhdXRvY29tcGxldGU9XCJvZmZcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhYm91dEZvcm0uZ2V0KCd3ZWJzaXRlVXJsJyk/LnRvdWNoZWQgJiYgYWJvdXRGb3JtLmdldCgnd2Vic2l0ZVVybCcpPy5oYXNFcnJvcigncGF0dGVybicpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW50ZXIgdmFsaWQgd2Vic2l0ZSB1cmxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc21hbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcHgtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmlyc3RuYW1lXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+Rmlyc3QgTmFtZSAgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPio8L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJmaXJzdE5hbWVcIiB0eXBlPVwidHlwZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJmaXJzdG5hbWVcIiBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IGFib3V0Rm9ybS5nZXQoJ2ZpcnN0TmFtZScpPy50b3VjaGVkICYmIGFib3V0Rm9ybS5nZXQoJ2ZpcnN0TmFtZScpPy5oYXNFcnJvcigncmVxdWlyZWQnKSB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhYm91dEZvcm0uZ2V0KCdmaXJzdE5hbWUnKT8udG91Y2hlZCAmJiBhYm91dEZvcm0uZ2V0KCdmaXJzdE5hbWUnKT8uaGFzRXJyb3IoJ21pbmxlbmd0aCcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlyc3QgbmFtZSBtdXN0IGJlIG1pbmltdW0gb2YgMyBsZXR0ZXJzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYWJvdXRGb3JtLmdldCgnZmlyc3ROYW1lJyk/LnRvdWNoZWQgJiYgYWJvdXRGb3JtLmdldCgnZmlyc3ROYW1lJyk/Lmhhc0Vycm9yKCdtYXhsZW5ndGgnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpcnN0IG5hbWUgbXVzdCBiZSBtYXhpbXVtIG9mIDUwIGxldHRlcnNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc21hbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhYm91dEZvcm0uZ2V0KCdmaXJzdE5hbWUnKT8udG91Y2hlZCAmJiBhYm91dEZvcm0uZ2V0KCdmaXJzdE5hbWUnKT8uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaXJzdCBuYW1lIGlzIHJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItN1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImxhc3RuYW1lXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+TGFzdCBOYW1lPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJsYXN0TmFtZVwiIHR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImxhc3RuYW1lXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhYm91dEZvcm0uZ2V0KCdsYXN0TmFtZScpPy50b3VjaGVkICYmIGFib3V0Rm9ybS5nZXQoJ2xhc3ROYW1lJyk/Lmhhc0Vycm9yKCdtaW5sZW5ndGgnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExhc3QgbmFtZSBtdXN0IGJlIG1pbmltdW0gb2YgMyBsZXR0ZXJzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYWJvdXRGb3JtLmdldCgnbGFzdE5hbWUnKT8udG91Y2hlZCAmJiBhYm91dEZvcm0uZ2V0KCdsYXN0TmFtZScpPy5oYXNFcnJvcignbWF4bGVuZ3RoJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYXN0IG5hbWUgbXVzdCBiZSBtYXhpbXVtIG9mIDUwIGxldHRlcnNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc21hbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhYm91dEZvcm0uZ2V0KCdsYXN0TmFtZScpPy50b3VjaGVkICYmIGFib3V0Rm9ybS5nZXQoJ2xhc3ROYW1lJyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGFzdCBuYW1lIGlzIHJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItN1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImVtYWlsXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+Q29ycG9yYXRlIEVtYWlsICA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+Kjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IChibHVyKT1cIm9uRW1haWxCbHVyKClcIiAoaW5wdXQpPVwiaXNFbWFpbFRha2VuID0gMFwiIGZvcm1Db250cm9sTmFtZT1cImNvcnBvcmF0ZUVtYWlsXCIgdHlwZT1cImVtYWlsXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImVtYWlsXCIgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IGFib3V0Rm9ybS5nZXQoJ2NvcnBvcmF0ZUVtYWlsJyk/LnRvdWNoZWQgJiYgYWJvdXRGb3JtLmdldCgnY29ycG9yYXRlRW1haWwnKT8uaGFzRXJyb3IoJ3JlcXVpcmVkJykgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYWJvdXRGb3JtLmdldCgnY29ycG9yYXRlRW1haWwnKT8udG91Y2hlZCAmJiBhYm91dEZvcm0uZ2V0KCdjb3Jwb3JhdGVFbWFpbCcpPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbnRlciBhIHZhbGlkIGVtYWlsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYWJvdXRGb3JtLmdldCgnY29ycG9yYXRlRW1haWwnKT8udG91Y2hlZCAmJiBhYm91dEZvcm0uZ2V0KCdjb3Jwb3JhdGVFbWFpbCcpPy5oYXNFcnJvcignbWF4bGVuZ3RoJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbnRlciBhIHZhbGlkIGVtYWlsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYWJvdXRGb3JtLmdldCgnY29ycG9yYXRlRW1haWwnKT8udG91Y2hlZCAmJiBhYm91dEZvcm0uZ2V0KCdjb3Jwb3JhdGVFbWFpbCcpPy5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVyIGEgdmFsaWQgZW1haWxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc21hbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhYm91dEZvcm0uZ2V0KCdjb3Jwb3JhdGVFbWFpbCcpPy50b3VjaGVkICYmIGFib3V0Rm9ybS5nZXQoJ2NvcnBvcmF0ZUVtYWlsJyk/Lmhhc0Vycm9yKCdwYXR0ZXJuJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbnRlciB2YWxpZCBlbWFpbCBJRFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzRW1haWxUYWtlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVtYWlsIGFscmVhZHkgZXhpc3RzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItN1wiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwaG9uZW51bWJlclwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlBob25lIG51bWJlciAgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPio8L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy00IGNvbC14bC00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cCBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8c2VsZWN0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1zZWxlY3Qtc29saWQgc2VsZWN0Mi1oaWRkZW4tYWNjZXNzaWJsZSBmb3JtLWxhYmVsIHRleHQtZGFyayBmcy00XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImRpYWxDb2RlXCIgI2RpYWxDb2RlPVwibmdNb2RlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIiBtYXROYXRpdmVDb250cm9sIHJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY291bnRyeUNvZGVzXCIgKGNsaWNrKT1cImNob29zZUNvdW50cnkoY291bnRyeUNvZGVzKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFt2YWx1ZV09XCJjb3VudHJ5LmRpYWxfY29kZVwiICpuZ0Zvcj1cImxldCBjb3VudHJ5IG9mIGNvdW50cnlDb2RlTGlzdFwiPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmdy1ib2xkZXIgdGV4dC1kYXJrICBwcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgY291bnRyeS5uYW1lIH19PC9zcGFuPjxzcGFuIGNsYXNzPVwidGV4dC1tdXRlZFwiPih7eyBjb3VudHJ5LmRpYWxfY29kZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19KTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImNvdW50cnlDb2RlXCIgY2xhc3M9XCJmb3JtLXNlbGVjdCBwcy0zIHBlLThcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiaW5wdXRHcm91cFNlbGVjdDAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBjb3VudHJ5IG9mIGNvdW50cnlMaXN0XCIgY2xhc3M9XCJteC0yXCIgW3ZhbHVlXT1cImNvdW50cnkucGhvbmVjb2RlXCI+e3tjb3VudHJ5Lm5hbWV9fTxzcGFuIGNsYXNzPVwidGV4dC1tdXRlZFwiPih7eyBjb3VudHJ5LnBob25lY29kZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX0pPC9zcGFuPjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy04IGNvbC14bC04XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8aW5wdXQgW3ZhbHVlXT1cImFib3V0Rm9ybS5nZXQoJ2NvdW50cnlDb2RlJyk/LnZhbHVlXCIgdHlwZT1cInRleHRcIiAgW25nQ2xhc3NdPVwieyAnY29kZS1pcy1pbnZhbGlkJzogYWJvdXRGb3JtLmdldCgnbW9iaWxlTnVtYmVyJyk/LnRvdWNoZWQgJiYgYWJvdXRGb3JtLmdldCgnbW9iaWxlTnVtYmVyJyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBib3JkZXItZGlzYWJsZWRcIiByZWFkb25seT4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IChibHVyKT1cIm9uTW9iaWxlTnVtYmVyQmx1cigpXCIgKGlucHV0KT1cImlzTW9iaWxlVGFrZW4gPSAwXCIgZm9ybUNvbnRyb2xOYW1lPVwibW9iaWxlTnVtYmVyXCIgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIChrZXlwcmVzcyk9XCJvbWl0X3NwZWNpYWxfY2hhcigkZXZlbnQpXCIgW25nQ2xhc3NdPVwieyAnIGlzLWludmFsaWQnOiBhYm91dEZvcm0uZ2V0KCdtb2JpbGVOdW1iZXInKT8udG91Y2hlZCAmJiBhYm91dEZvcm0uZ2V0KCdtb2JpbGVOdW1iZXInKT8uaGFzRXJyb3IoJ3JlcXVpcmVkJykgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwicGhvbmVudW1iZXJcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBtaW5sZW5ndGg9XCI3XCIgbWF4bGVuZ3RoPVwiMTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImFib3V0Rm9ybS5nZXQoJ21vYmlsZU51bWJlcicpPy50b3VjaGVkICYmIGFib3V0Rm9ybS5nZXQoJ21vYmlsZU51bWJlcicpPy5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBob25lIG51bWJlciBpcyByZXF1aXJlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCAqbmdJZj1cImFib3V0Rm9ybS5nZXQoJ21vYmlsZU51bWJlcicpPy50b3VjaGVkICYmIGFib3V0Rm9ybS5nZXQoJ21vYmlsZU51bWJlcicpPy5oYXNFcnJvcigncGF0dGVybicpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW50ZXIgYSB2YWxpZCBwaG9uZSBudW1iZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc21hbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYWJvdXRGb3JtLmdldCgnbW9iaWxlTnVtYmVyJyk/LnRvdWNoZWQgJiYgYWJvdXRGb3JtLmdldCgnbW9iaWxlTnVtYmVyJyk/Lmhhc0Vycm9yKCdtaW4nKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgRW50ZXIgYSB2YWxpZCBwaG9uZSBudW1iZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImFib3V0Rm9ybS5nZXQoJ21vYmlsZU51bWJlcicpPy50b3VjaGVkICYmIGFib3V0Rm9ybS5nZXQoJ21vYmlsZU51bWJlcicpPy5oYXNFcnJvcignbWF4JylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVyIGEgdmFsaWQgcGhvbmUgbnVtYmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc21hbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpc01vYmlsZVRha2VuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGhvbmUgTnVtYmVyIGFscmVhZHkgZXhpc3RzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItN1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBhc3N3b3JkXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+UGFzc3dvcmQgIDxzcGFuIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj4qPC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmUgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IChpbnB1dCk9XCJvblBhc3N3b3JkQ2hhbmdlKCRldmVudClcIiBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiIFt0eXBlXT1cInBhc3N3b3JkU2hvdyA/ICd0ZXh0JyA6ICdwYXNzd29yZCdcIiAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IGFib3V0Rm9ybS5nZXQoJ3Bhc3N3b3JkJyk/LnRvdWNoZWQgJiYgYWJvdXRGb3JtLmdldCgncGFzc3dvcmQnKT8uaGFzRXJyb3IoJ3JlcXVpcmVkJykgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cInBhc3N3b3JkXCIgYXV0b2NvbXBsZXRlPVwibmV3LXBhc3N3b3JkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKGNsaWNrKT1cInNob3dQYXNzd29yZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc20gYnRuLWljb24gcG9zaXRpb24tYWJzb2x1dGUgdHJhbnNsYXRlLW1pZGRsZSB0b3AtNTAgZW5kLTBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEta3QtcGFzc3dvcmQtbWV0ZXItY29udHJvbD1cInZpc2liaWxpdHlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cInBhc3N3b3JkU2hvd1wiIGNsYXNzPVwiZmEgZmEtZXllXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiIXBhc3N3b3JkU2hvd1wiIGNsYXNzPVwiZmEgZmEtZXllLXNsYXNoXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICBjbGFzcz1cInByb2dyZXNzYmFyLXdyYXBwZXIgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFtzdHlsZS53aWR0aF09XCJwYXNzd29yZFN0cmVuZ3RoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWNvbG9yJzogcGFzc3dvcmRTdHJlbmd0aCA9PT0gJzAlJyA/ICcnIDogKHBhc3N3b3JkU3RyZW5ndGggPT09ICcyNSUnID8gJ3JlZCcgOiAocGFzc3dvcmRTdHJlbmd0aCA9PT0gJzUwJScgPyAnb3JhbmdlJzogKHBhc3N3b3JkU3RyZW5ndGggPT09ICc3NSUnID8gJ3llbGxvdycgOiAocGFzc3dvcmRTdHJlbmd0aCA9PT0gJzEwMCUnID8gJ2dyZWVuJyA6ICcnKSkpKSB9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwcm9ncmVzc2Jhci1pbm5lclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhc3N3b3JkLW5vdGUgbXQtMlwiPlRoZSBwYXNzd29yZCBtdXN0IGNvbnRhaW4gYXRsZWFzdCBvbmUgY2FwaXRhbCBsZXR0ZXIsIG9uZSBzcGVjaWFsIGNoYXJlY3RlciwgbnVtYmVyIGFuZCB0aGUgc3RyZW5ndGggc2hvdWxkIGJlIG1vcmUgdGhhbiA3IGNoYXJlY3RlcnMuPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCAqbmdJZj1cImFib3V0Rm9ybS5nZXQoJ3Bhc3N3b3JkJyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpICYmIGFib3V0Rm9ybS5nZXQoJ3Bhc3N3b3JkJyk/LnRvdWNoZWRcIj5QYXNzd29yZCBpcyByZXF1aXJlZDwvc21hbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCAqbmdJZj1cImFib3V0Rm9ybS5nZXQoJ3Bhc3N3b3JkJyk/Lmhhc0Vycm9yKCdub1NwYWNlcycpICYmIGFib3V0Rm9ybS5nZXQoJ3Bhc3N3b3JkJyk/LnRvdWNoZWRcIj5QYXNzd29yZCBjYW5ub3QgY29udGFpbiBzcGFjZXMuPC9zbWFsbD4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItN1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImNvbmZpcm1cIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5Db25maXJtIFBhc3N3b3JkICA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+Kjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCAoaW5wdXQpPVwib25Db25maXJtUGFzc3dvcmRDaGFuZ2UoJGV2ZW50KVwiIGZvcm1Db250cm9sTmFtZT1cImNvbmZpcm1QYXNzd29yZFwiIFt0eXBlXT1cImNvbmZpcm1QYXNzd29yZFNob3cgPyAndGV4dCcgOiAncGFzc3dvcmQnXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzogYWJvdXRGb3JtLmdldCgnY29uZmlybVBhc3N3b3JkJyk/LnRvdWNoZWQgJiYgYWJvdXRGb3JtLmdldCgnY29uZmlybVBhc3N3b3JkJyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiY29uZmlybVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIChjbGljayk9XCJzaG93Q29uZmlybVBhc3N3b3JkKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4taWNvbiBwb3NpdGlvbi1hYnNvbHV0ZSB0cmFuc2xhdGUtbWlkZGxlIHRvcC01MCBlbmQtMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1rdC1wYXNzd29yZC1tZXRlci1jb250cm9sPVwidmlzaWJpbGl0eVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiY29uZmlybVBhc3N3b3JkU2hvd1wiIGNsYXNzPVwiZmEgZmEtZXllXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiIWNvbmZpcm1QYXNzd29yZFNob3dcIiBjbGFzcz1cImZhIGZhLWV5ZS1zbGFzaFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzYmFyLXdyYXBwZXIgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFtzdHlsZS53aWR0aF09XCJjb25maXJtUGFzc3dvcmRTdHJlbmd0aFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZC1jb2xvcic6IGNvbmZpcm1QYXNzd29yZFN0cmVuZ3RoID09PSAnMCUnID8gJycgOiAoY29uZmlybVBhc3N3b3JkU3RyZW5ndGggPT09ICcyNSUnID8gJ3JlZCcgOiAoY29uZmlybVBhc3N3b3JkU3RyZW5ndGggPT09ICc1MCUnID8gJ29yYW5nZSc6IChjb25maXJtUGFzc3dvcmRTdHJlbmd0aCA9PT0gJzc1JScgPyAneWVsbG93JyA6IChjb25maXJtUGFzc3dvcmRTdHJlbmd0aCA9PT0gJzEwMCUnID8gJ2dyZWVuJyA6ICcnKSkpKSB9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwcm9ncmVzc2Jhci1pbm5lclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhc3N3b3JkLW5vdGUgbXQtMlwiPlRoZSBwYXNzd29yZCBtdXN0IGNvbnRhaW4gYXRsZWFzdCBvbmUgY2FwaXRhbCBsZXR0ZXIsIG9uZSBzcGVjaWFsIGNoYXJlY3RlciwgbnVtYmVyIGFuZCB0aGUgc3RyZW5ndGggc2hvdWxkIGJlIG1vcmUgdGhhbiA3IGNoYXJlY3RlcnM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsICpuZ0lmPVwiYWJvdXRGb3JtLmdldCgnY29uZmlybVBhc3N3b3JkJyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpICYmIGFib3V0Rm9ybS5nZXQoJ2NvbmZpcm1QYXNzd29yZCcpPy50b3VjaGVkXCI+Q29uZmlybSBwYXNzd29yZCBpcyByZXF1aXJlZDwvc21hbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImFib3V0Rm9ybS5nZXQoJ2NvbmZpcm1QYXNzd29yZCcpPy50b3VjaGVkICYmIGFib3V0Rm9ybS5nZXQoJ2NvbmZpcm1QYXNzd29yZCcpPy5oYXNFcnJvcignTm90RXF1YWwnKSAmJiAhYWJvdXRGb3JtLmdldCgnY29uZmlybVBhc3N3b3JkJyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+UGFzc3dvcmRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9lcyBub3QgbWF0Y2g8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCAqbmdJZj1cImFib3V0Rm9ybS5nZXQoJ2NvbmZpcm1QYXNzd29yZCcpPy5oYXNFcnJvcignbm9TcGFjZXMnKSAmJiAhYWJvdXRGb3JtLmdldCgnY29uZmlybVBhc3N3b3JkJyk/Lmhhc0Vycm9yKCdOb3RFcXVhbCcpICYmIGFib3V0Rm9ybS5nZXQoJ2NvbmZpcm1QYXNzd29yZCcpPy50b3VjaGVkXCI+UGFzc3dvcmQgY2Fubm90IGNvbnRhaW4gc3BhY2VzLjwvc21hbGw+IFxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRTdGVwJC52YWx1ZSA9PSAxXCI+IC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiYWJvdXRGb3JtLmludmFsaWQgfHwgaXNNb2JpbGVUYWtlbiB8fCBpc0VtYWlsVGFrZW4gfHwgaXNDbGllbnROYW1lVGFrZW5cIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxnIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cIm5leHRTdGVwKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbmRpY2F0b3ItbGFiZWwgcHgtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXh0IDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTcuNSAxNUwxMi41IDEwTDcuNSA1XCIgc3Ryb2tlPVwid2hpdGVcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8L25nLWNvbnRhaW5lcj4gLS0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tIDwvZGl2PiAtLT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAgY2xhc3M9XCJtYi0zIGQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LW1kLXJvdyAgZmxleC1tZC1zdGFjayBwdC0zIGNvbnRhaW5lci1mbHVpZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktOTAwIG9yZGVyLTIgb3JkZXItbWQtMSBtcy0xMFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lLTEgY29weVwiPsKpIHt7Y3VycmVudERhdGVTdHJ9fSA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL3RhbmdvZXllLmFpXCIgY2xhc3M9XCJmb290ZXJcIj5UYW5nbyBJVCBTb2x1dGlvbnMgSW5kaWEgUHZ0IEx0ZDwvYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8dWwgY2xhc3M9XCJtZW51IG1lbnUtZ3JheS02MDAgbWVudS1ob3Zlci1wcmltYXJ5IGZ3LXNlbWlib2xkIG9yZGVyLTEgbWUtN1wiPlxyXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJtZW51LWl0ZW0gZm9vdGVyXCI+PGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vdGFuZ29leWUuYWkvI2Fib3V0dXNcIiBjbGFzcz1cIm1lbnUtbGluayBweC01XCI+QWJvdXQgdXM8L2E+PC9saT5cclxuICAgICAgICAgICAgPGxpIGNsYXNzPVwibWVudS1pdGVtIGZvb3RlclwiPjxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL3RhbmdvZXllLmFpLyNjb250YWN0XCIgIGNsYXNzPVwibWVudS1saW5rIHB4LTVcIj5Db250YWN0IHVzPC9hPjwvbGk+XHJcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cIm1lbnUtaXRlbSBmb290ZXJcIj48YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly90YW5nb2V5ZS5haS9wcml2YWN5LXBvbGljeS0yL1wiIGNsYXNzPVwibWVudS1saW5rIHB4LTVcIj5Qcml2YWN5ICYgcG9saWN5PC9hPjwvbGk+XHJcbiAgICAgICAgPC91bD5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
@@ -3,23 +3,35 @@ import { BehaviorSubject } from 'rxjs';
|
|
3
3
|
import * as i0 from "@angular/core";
|
4
4
|
import * as i1 from "./step/services/conversion.service";
|
5
5
|
import * as i2 from "tango-app-ui-global";
|
6
|
-
import * as i3 from "@angular/
|
7
|
-
import * as i4 from "
|
8
|
-
import * as i5 from "./step/
|
9
|
-
import * as i6 from "./step/
|
10
|
-
import * as i7 from "./
|
6
|
+
import * as i3 from "@angular/router";
|
7
|
+
import * as i4 from "@angular/common";
|
8
|
+
import * as i5 from "./step/step1/step1.component";
|
9
|
+
import * as i6 from "./step/step2/step2.component";
|
10
|
+
import * as i7 from "./step/step3/step3.component";
|
11
|
+
import * as i8 from "./vertical/vertical.component";
|
11
12
|
export class TangoAuthSignupComponent {
|
12
13
|
setterService;
|
13
14
|
pageInfo;
|
15
|
+
gs;
|
16
|
+
router;
|
14
17
|
formsCount = 3;
|
15
18
|
account$ = new BehaviorSubject('');
|
16
19
|
currentStep$ = new BehaviorSubject(1);
|
17
20
|
isCurrentFormValid$ = new BehaviorSubject(false);
|
18
21
|
prevStepdata;
|
19
22
|
subscriptions = [];
|
20
|
-
|
23
|
+
authlocalStorageToken;
|
24
|
+
constructor(setterService, pageInfo, gs, router) {
|
21
25
|
this.setterService = setterService;
|
22
26
|
this.pageInfo = pageInfo;
|
27
|
+
this.gs = gs;
|
28
|
+
this.router = router;
|
29
|
+
this.subscriptions.push(this.gs.environment.subscribe((env) => {
|
30
|
+
if (env) {
|
31
|
+
this.authlocalStorageToken = `${env.appVersion}-${env.USERDATA_KEY}`;
|
32
|
+
this.authlocalStorageToken = localStorage.getItem(this.authlocalStorageToken);
|
33
|
+
}
|
34
|
+
}));
|
23
35
|
}
|
24
36
|
ngOnDestroy() {
|
25
37
|
this.subscriptions.forEach((subscription) => {
|
@@ -27,6 +39,9 @@ export class TangoAuthSignupComponent {
|
|
27
39
|
});
|
28
40
|
}
|
29
41
|
ngOnInit() {
|
42
|
+
if (this.authlocalStorageToken) {
|
43
|
+
this.router.navigate(['/manage']);
|
44
|
+
}
|
30
45
|
this.subscriptions.push(this.setterService.$stepper.subscribe((data) => {
|
31
46
|
if (data?.prev) {
|
32
47
|
this.prevStep();
|
@@ -57,11 +72,11 @@ export class TangoAuthSignupComponent {
|
|
57
72
|
}
|
58
73
|
this.currentStep$.next(prevStep);
|
59
74
|
}
|
60
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoAuthSignupComponent, deps: [{ token: i1.ConversionService }, { token: i2.PageInfoService }], target: i0.ɵɵFactoryTarget.Component });
|
61
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TangoAuthSignupComponent, selector: "lib-tango-auth-signup", ngImport: i0, template: "<div class=\"row me-0\">\r\n <lib-vertical class=\"col-lg-4 col-xl-3 col-xxl-3 p-0\"></lib-vertical>\r\n\r\n <!--begin::Content-->\r\n <div class=\" col-lg-8 col-xl-9 col-xxl-9 mb-10\">\r\n <div class=\"current\">\r\n <ng-container *ngIf=\"currentStep$.value === 1\">\r\n <lib-step1 class=\"w-100 \" [prevStepdata]='prevStepdata' [updateParentModel]=\"updateAccount\" [defaultValues]=\"account$.value\"></lib-step1>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"currentStep$.value === 2\">\r\n <lib-step2 class=\"w-100 \" [updateParentModel]=\"updateAccount\" [defaultValues]=\"account$.value\"></lib-step2>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"currentStep$.value === 3\">\r\n <lib-step3 class=\"w-100 \"></lib-step3>\r\n </ng-container>\r\n </div>\r\n\r\n <!-- <div class=\"d-flex flex-stack py-2\">\r\n <div class=\"mr-2\">\r\n <ng-container *ngIf=\"currentStep$.value == 2\">\r\n <button type=\"button\" class=\"btn btn-lg btn-light-primary me-5\" (click)=\"prevStep()\">\r\n Previous\r\n </button>\r\n </ng-container>\r\n \r\n </div>\r\n\r\n </div> -->\r\n <!-- <div *ngIf=\"currentStep$.value !== 3\" class=\"my-5 d-flex flex-column flex-md-row flex-md-stack pt-3 container-fluid\">\r\n <div class=\"text-gray-900 order-2 order-md-1 ms-10\">\r\n <span class=\"text-muted fw-semibold me-1\">\u00A9 2024 </span>\r\n <a target=\"_blank\" class=\"text-gray-800 text-hover-primary\">Tango IT solutions</a>\r\n </div>\r\n <ul class=\"menu menu-gray-600 menu-hover-primary fw-semibold order-1 me-10\">\r\n <li class=\"menu-item\"><a target=\"_blank\" href=\"https://tangoeye.ai/#aboutus\" class=\"menu-link px-5\">About us</a></li>\r\n <li class=\"menu-item\"><a target=\"_blank\" href=\"https://tangoeye.ai/#contact\" class=\"menu-link px-5\">Contact Us</a></li>\r\n <li class=\"menu-item\"><a target=\"_blank\" href=\"https://tangoeye.ai/privacy-policy-2/\" class=\"menu-link px-5\">Privacy & policy</a></li>\r\n </ul>\r\n </div> -->\r\n </div>\r\n <!-- </div> -->\r\n </div>\r\n <!--end::Content-->\r\n<!-- </div> -->", styles: [""], dependencies: [{ kind: "directive", type:
|
75
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoAuthSignupComponent, deps: [{ token: i1.ConversionService }, { token: i2.PageInfoService }, { token: i2.GlobalStateService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component });
|
76
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TangoAuthSignupComponent, selector: "lib-tango-auth-signup", ngImport: i0, template: "<div class=\"row me-0\">\r\n <lib-vertical class=\"col-lg-4 col-xl-3 col-xxl-3 p-0\"></lib-vertical>\r\n\r\n <!--begin::Content-->\r\n <div class=\" col-lg-8 col-xl-9 col-xxl-9 mb-10\">\r\n <div class=\"current\">\r\n <ng-container *ngIf=\"currentStep$.value === 1\">\r\n <lib-step1 class=\"w-100 \" [prevStepdata]='prevStepdata' [updateParentModel]=\"updateAccount\" [defaultValues]=\"account$.value\"></lib-step1>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"currentStep$.value === 2\">\r\n <lib-step2 class=\"w-100 \" [updateParentModel]=\"updateAccount\" [defaultValues]=\"account$.value\"></lib-step2>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"currentStep$.value === 3\">\r\n <lib-step3 class=\"w-100 \"></lib-step3>\r\n </ng-container>\r\n </div>\r\n\r\n <!-- <div class=\"d-flex flex-stack py-2\">\r\n <div class=\"mr-2\">\r\n <ng-container *ngIf=\"currentStep$.value == 2\">\r\n <button type=\"button\" class=\"btn btn-lg btn-light-primary me-5\" (click)=\"prevStep()\">\r\n Previous\r\n </button>\r\n </ng-container>\r\n \r\n </div>\r\n\r\n </div> -->\r\n <!-- <div *ngIf=\"currentStep$.value !== 3\" class=\"my-5 d-flex flex-column flex-md-row flex-md-stack pt-3 container-fluid\">\r\n <div class=\"text-gray-900 order-2 order-md-1 ms-10\">\r\n <span class=\"text-muted fw-semibold me-1\">\u00A9 2024 </span>\r\n <a target=\"_blank\" class=\"text-gray-800 text-hover-primary\">Tango IT solutions</a>\r\n </div>\r\n <ul class=\"menu menu-gray-600 menu-hover-primary fw-semibold order-1 me-10\">\r\n <li class=\"menu-item\"><a target=\"_blank\" href=\"https://tangoeye.ai/#aboutus\" class=\"menu-link px-5\">About us</a></li>\r\n <li class=\"menu-item\"><a target=\"_blank\" href=\"https://tangoeye.ai/#contact\" class=\"menu-link px-5\">Contact Us</a></li>\r\n <li class=\"menu-item\"><a target=\"_blank\" href=\"https://tangoeye.ai/privacy-policy-2/\" class=\"menu-link px-5\">Privacy & policy</a></li>\r\n </ul>\r\n </div> -->\r\n </div>\r\n <!-- </div> -->\r\n </div>\r\n <!--end::Content-->\r\n<!-- </div> -->", styles: [""], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.Step1Component, selector: "lib-step1" }, { kind: "component", type: i6.Step2Component, selector: "lib-step2" }, { kind: "component", type: i7.Step3Component, selector: "lib-step3" }, { kind: "component", type: i8.VerticalComponent, selector: "lib-vertical" }] });
|
62
77
|
}
|
63
78
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoAuthSignupComponent, decorators: [{
|
64
79
|
type: Component,
|
65
80
|
args: [{ selector: 'lib-tango-auth-signup', template: "<div class=\"row me-0\">\r\n <lib-vertical class=\"col-lg-4 col-xl-3 col-xxl-3 p-0\"></lib-vertical>\r\n\r\n <!--begin::Content-->\r\n <div class=\" col-lg-8 col-xl-9 col-xxl-9 mb-10\">\r\n <div class=\"current\">\r\n <ng-container *ngIf=\"currentStep$.value === 1\">\r\n <lib-step1 class=\"w-100 \" [prevStepdata]='prevStepdata' [updateParentModel]=\"updateAccount\" [defaultValues]=\"account$.value\"></lib-step1>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"currentStep$.value === 2\">\r\n <lib-step2 class=\"w-100 \" [updateParentModel]=\"updateAccount\" [defaultValues]=\"account$.value\"></lib-step2>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"currentStep$.value === 3\">\r\n <lib-step3 class=\"w-100 \"></lib-step3>\r\n </ng-container>\r\n </div>\r\n\r\n <!-- <div class=\"d-flex flex-stack py-2\">\r\n <div class=\"mr-2\">\r\n <ng-container *ngIf=\"currentStep$.value == 2\">\r\n <button type=\"button\" class=\"btn btn-lg btn-light-primary me-5\" (click)=\"prevStep()\">\r\n Previous\r\n </button>\r\n </ng-container>\r\n \r\n </div>\r\n\r\n </div> -->\r\n <!-- <div *ngIf=\"currentStep$.value !== 3\" class=\"my-5 d-flex flex-column flex-md-row flex-md-stack pt-3 container-fluid\">\r\n <div class=\"text-gray-900 order-2 order-md-1 ms-10\">\r\n <span class=\"text-muted fw-semibold me-1\">\u00A9 2024 </span>\r\n <a target=\"_blank\" class=\"text-gray-800 text-hover-primary\">Tango IT solutions</a>\r\n </div>\r\n <ul class=\"menu menu-gray-600 menu-hover-primary fw-semibold order-1 me-10\">\r\n <li class=\"menu-item\"><a target=\"_blank\" href=\"https://tangoeye.ai/#aboutus\" class=\"menu-link px-5\">About us</a></li>\r\n <li class=\"menu-item\"><a target=\"_blank\" href=\"https://tangoeye.ai/#contact\" class=\"menu-link px-5\">Contact Us</a></li>\r\n <li class=\"menu-item\"><a target=\"_blank\" href=\"https://tangoeye.ai/privacy-policy-2/\" class=\"menu-link px-5\">Privacy & policy</a></li>\r\n </ul>\r\n </div> -->\r\n </div>\r\n <!-- </div> -->\r\n </div>\r\n <!--end::Content-->\r\n<!-- </div> -->" }]
|
66
|
-
}], ctorParameters: () => [{ type: i1.ConversionService }, { type: i2.PageInfoService }] });
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuZ28tYXV0aC1zaWdudXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXV0aC9zcmMvbGliL2NvbXBvbmVudHMvdGFuZ28tYXV0aC1zaWdudXAvdGFuZ28tYXV0aC1zaWdudXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXV0aC9zcmMvbGliL2NvbXBvbmVudHMvdGFuZ28tYXV0aC1zaWdudXAvdGFuZ28tYXV0aC1zaWdudXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQVFyRCxNQUFNLE9BQU8sd0JBQXdCO0lBWXpCO0lBQXlDO0lBVm5ELFVBQVUsR0FBRyxDQUFDLENBQUM7SUFDZixRQUFRLEdBQ04sSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7SUFDL0IsWUFBWSxHQUE0QixJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvRCxtQkFBbUIsR0FBNkIsSUFBSSxlQUFlLENBQ2pFLEtBQUssQ0FDTixDQUFDO0lBQ0YsWUFBWSxDQUFNO0lBQ2xCLGFBQWEsR0FBa0IsRUFBRSxDQUFBO0lBQ2pDLFlBQ1UsYUFBZ0MsRUFBUyxRQUF3QjtRQUFqRSxrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFnQjtJQUFFLENBQUM7SUFFOUUsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxFQUFDLEVBQUU7WUFDekMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQzVCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDbkQsSUFBSSxJQUFJLEVBQUUsSUFBSSxFQUFDO2dCQUNiLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFBO2FBQzVCOztnQkFDSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQ0QsQ0FBQTtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBRWxDLENBQUM7SUFDRCxhQUFhLEdBQUcsQ0FBQyxJQUFrQixFQUFFLFdBQW9CLEVBQUUsRUFBRTtRQUMzRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUMzQyxNQUFNLGNBQWMsR0FBRyxFQUFFLEdBQUcsY0FBYyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDdEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM3QyxDQUFDLENBQUM7SUFHRixRQUFRO1FBQ04sTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDOUIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDN0MsSUFBSSxRQUFRLEtBQUssQ0FBQyxFQUFFO1lBQ2xCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25DLENBQUM7d0dBdkRVLHdCQUF3Qjs0RkFBeEIsd0JBQXdCLDZEQ1ZyQyxxaUZBNkNlOzs0RkRuQ0Ysd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udmVyc2lvblNlcnZpY2UgfSBmcm9tICcuL3N0ZXAvc2VydmljZXMvY29udmVyc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUGFnZUluZm9TZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10YW5nby1hdXRoLXNpZ251cCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhbmdvLWF1dGgtc2lnbnVwLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdGFuZ28tYXV0aC1zaWdudXAuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYW5nb0F1dGhTaWdudXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIGZvcm1zQ291bnQgPSAzO1xyXG4gIGFjY291bnQkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9XHJcbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oJycpO1xyXG4gIGN1cnJlbnRTdGVwJDogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KDEpO1xyXG4gIGlzQ3VycmVudEZvcm1WYWxpZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oXHJcbiAgICBmYWxzZVxyXG4gICk7XHJcbiAgcHJldlN0ZXBkYXRhOiBhbnk7XHJcbiAgc3Vic2NyaXB0aW9uczpTdWJzY3JpcHRpb25bXSA9IFtdXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNldHRlclNlcnZpY2U6IENvbnZlcnNpb25TZXJ2aWNlLHByaXZhdGUgcGFnZUluZm86UGFnZUluZm9TZXJ2aWNlKXt9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHN1YnNjcmlwdGlvbik9PntcclxuICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgIHRoaXMuc2V0dGVyU2VydmljZS4kc3RlcHBlci5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoZGF0YT8ucHJldil7IFxyXG4gICAgICAgIHRoaXMucHJldlN0ZXAoKTtcclxuICAgICAgdGhpcy5wcmV2U3RlcGRhdGEgPSBkYXRhLmRhdGFcclxuICAgICAgfSBcclxuICAgICAgZWxzZSB0aGlzLm5leHRTdGVwKCk7XHJcbiAgICB9KSAgXHJcbiAgICApXHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldFRpdGxlKCdTaWdudXAnKVxyXG4gICBcclxuICB9XHJcbiAgdXBkYXRlQWNjb3VudCA9IChwYXJ0OiBQYXJ0aWFsPGFueT4sIGlzRm9ybVZhbGlkOiBib29sZWFuKSA9PiB7XHJcbiAgICBjb25zdCBjdXJyZW50QWNjb3VudCA9IHRoaXMuYWNjb3VudCQudmFsdWU7XHJcbiAgICBjb25zdCB1cGRhdGVkQWNjb3VudCA9IHsgLi4uY3VycmVudEFjY291bnQsIC4uLnBhcnQgfTtcclxuICAgIHRoaXMuYWNjb3VudCQubmV4dCh1cGRhdGVkQWNjb3VudCk7XHJcbiAgICB0aGlzLmlzQ3VycmVudEZvcm1WYWxpZCQubmV4dChpc0Zvcm1WYWxpZCk7XHJcbiAgfTtcclxuIFxyXG5cclxuICBuZXh0U3RlcCgpIHtcclxuICAgIGNvbnN0IG5leHRTdGVwID0gdGhpcy5jdXJyZW50U3RlcCQudmFsdWUgKyAxO1xyXG4gICAgaWYgKG5leHRTdGVwID4gdGhpcy5mb3Jtc0NvdW50KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuY3VycmVudFN0ZXAkLm5leHQobmV4dFN0ZXApO1xyXG4gIH1cclxuXHJcbiAgcHJldlN0ZXAoKSB7XHJcbiAgICBjb25zdCBwcmV2U3RlcCA9IHRoaXMuY3VycmVudFN0ZXAkLnZhbHVlIC0gMTtcclxuICAgIGlmIChwcmV2U3RlcCA9PT0gMCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmN1cnJlbnRTdGVwJC5uZXh0KHByZXZTdGVwKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJyb3cgbWUtMFwiPlxyXG4gICAgPGxpYi12ZXJ0aWNhbCBjbGFzcz1cImNvbC1sZy00IGNvbC14bC0zIGNvbC14eGwtMyBwLTBcIj48L2xpYi12ZXJ0aWNhbD5cclxuXHJcbiAgICA8IS0tYmVnaW46OkNvbnRlbnQtLT5cclxuICAgIDxkaXYgY2xhc3M9XCIgY29sLWxnLTggY29sLXhsLTkgY29sLXh4bC05IG1iLTEwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXJyZW50XCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudFN0ZXAkLnZhbHVlID09PSAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpYi1zdGVwMSBjbGFzcz1cInctMTAwIFwiIFtwcmV2U3RlcGRhdGFdPSdwcmV2U3RlcGRhdGEnIFt1cGRhdGVQYXJlbnRNb2RlbF09XCJ1cGRhdGVBY2NvdW50XCIgW2RlZmF1bHRWYWx1ZXNdPVwiYWNjb3VudCQudmFsdWVcIj48L2xpYi1zdGVwMT5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXJyZW50U3RlcCQudmFsdWUgPT09IDJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGliLXN0ZXAyIGNsYXNzPVwidy0xMDAgXCIgW3VwZGF0ZVBhcmVudE1vZGVsXT1cInVwZGF0ZUFjY291bnRcIiBbZGVmYXVsdFZhbHVlc109XCJhY2NvdW50JC52YWx1ZVwiPjwvbGliLXN0ZXAyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRTdGVwJC52YWx1ZSA9PT0gM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaWItc3RlcDMgY2xhc3M9XCJ3LTEwMCBcIj48L2xpYi1zdGVwMz5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXN0YWNrIHB5LTJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtci0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRTdGVwJC52YWx1ZSA9PSAyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1sZyBidG4tbGlnaHQtcHJpbWFyeSBtZS01XCIgKGNsaWNrKT1cInByZXZTdGVwKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByZXZpb3VzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgIDwhLS0gPGRpdiAqbmdJZj1cImN1cnJlbnRTdGVwJC52YWx1ZSAhPT0gM1wiIGNsYXNzPVwibXktNSBkLWZsZXggZmxleC1jb2x1bW4gZmxleC1tZC1yb3cgIGZsZXgtbWQtc3RhY2sgcHQtMyBjb250YWluZXItZmx1aWRcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktOTAwIG9yZGVyLTIgb3JkZXItbWQtMSBtcy0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1tdXRlZCBmdy1zZW1pYm9sZCBtZS0xXCI+wqkgMjAyNCA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgY2xhc3M9XCJ0ZXh0LWdyYXktODAwIHRleHQtaG92ZXItcHJpbWFyeVwiPlRhbmdvIElUIHNvbHV0aW9uczwvYT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwibWVudSBtZW51LWdyYXktNjAwIG1lbnUtaG92ZXItcHJpbWFyeSBmdy1zZW1pYm9sZCBvcmRlci0xIG1lLTEwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibWVudS1pdGVtXCI+PGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vdGFuZ29leWUuYWkvI2Fib3V0dXNcIiBjbGFzcz1cIm1lbnUtbGluayBweC01XCI+QWJvdXQgdXM8L2E+PC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJtZW51LWl0ZW1cIj48YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly90YW5nb2V5ZS5haS8jY29udGFjdFwiIGNsYXNzPVwibWVudS1saW5rIHB4LTVcIj5Db250YWN0IFVzPC9hPjwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibWVudS1pdGVtXCI+PGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vdGFuZ29leWUuYWkvcHJpdmFjeS1wb2xpY3ktMi9cIiBjbGFzcz1cIm1lbnUtbGluayBweC01XCI+UHJpdmFjeSAmIHBvbGljeTwvYT48L2xpPlxyXG4gICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLSA8L2Rpdj4gLS0+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS1lbmQ6OkNvbnRlbnQtLT5cclxuPCEtLSA8L2Rpdj4gLS0+Il19
|
81
|
+
}], ctorParameters: () => [{ type: i1.ConversionService }, { type: i2.PageInfoService }, { type: i2.GlobalStateService }, { type: i3.Router }] });
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuZ28tYXV0aC1zaWdudXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXV0aC9zcmMvbGliL2NvbXBvbmVudHMvdGFuZ28tYXV0aC1zaWdudXAvdGFuZ28tYXV0aC1zaWdudXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXV0aC9zcmMvbGliL2NvbXBvbmVudHMvdGFuZ28tYXV0aC1zaWdudXAvdGFuZ28tYXV0aC1zaWdudXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFVckQsTUFBTSxPQUFPLHdCQUF3QjtJQWF6QjtJQUF5QztJQUFrQztJQUErQjtJQVhwSCxVQUFVLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsUUFBUSxHQUNOLElBQUksZUFBZSxDQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLFlBQVksR0FBNEIsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0QsbUJBQW1CLEdBQTZCLElBQUksZUFBZSxDQUNqRSxLQUFLLENBQ04sQ0FBQztJQUNGLFlBQVksQ0FBTTtJQUNsQixhQUFhLEdBQWtCLEVBQUUsQ0FBQTtJQUNqQyxxQkFBcUIsQ0FBTTtJQUMzQixZQUNVLGFBQWdDLEVBQVMsUUFBd0IsRUFBVSxFQUFxQixFQUFVLE1BQWE7UUFBdkgsa0JBQWEsR0FBYixhQUFhLENBQW1CO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQU87UUFDN0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3JCLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3BDLElBQUksR0FBRyxFQUFFO2dCQUNQLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxVQUFVLElBQUksR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNyRSxJQUFJLENBQUMscUJBQXFCLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQTthQUM5RTtRQUNILENBQUMsQ0FBQyxDQUNILENBQUE7SUFFSCxDQUFDO0lBRUgsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxFQUFDLEVBQUU7WUFDekMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQzVCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELFFBQVE7UUFDTixJQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDbkM7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDbkQsSUFBSSxJQUFJLEVBQUUsSUFBSSxFQUFDO2dCQUNiLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFBO2FBQzVCOztnQkFDSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQ0QsQ0FBQTtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBRWxDLENBQUM7SUFDRCxhQUFhLEdBQUcsQ0FBQyxJQUFrQixFQUFFLFdBQW9CLEVBQUUsRUFBRTtRQUMzRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUMzQyxNQUFNLGNBQWMsR0FBRyxFQUFFLEdBQUcsY0FBYyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDdEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM3QyxDQUFDLENBQUM7SUFHRixRQUFRO1FBQ04sTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDOUIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDN0MsSUFBSSxRQUFRLEtBQUssQ0FBQyxFQUFFO1lBQ2xCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25DLENBQUM7d0dBckVVLHdCQUF3Qjs0RkFBeEIsd0JBQXdCLDZEQ1pyQyxxaUZBNkNlOzs0RkRqQ0Ysd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udmVyc2lvblNlcnZpY2UgfSBmcm9tICcuL3N0ZXAvc2VydmljZXMvY29udmVyc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlLCBQYWdlSW5mb1NlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10YW5nby1hdXRoLXNpZ251cCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhbmdvLWF1dGgtc2lnbnVwLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdGFuZ28tYXV0aC1zaWdudXAuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYW5nb0F1dGhTaWdudXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIGZvcm1zQ291bnQgPSAzO1xyXG4gIGFjY291bnQkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9XHJcbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oJycpO1xyXG4gIGN1cnJlbnRTdGVwJDogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KDEpO1xyXG4gIGlzQ3VycmVudEZvcm1WYWxpZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oXHJcbiAgICBmYWxzZVxyXG4gICk7XHJcbiAgcHJldlN0ZXBkYXRhOiBhbnk7XHJcbiAgc3Vic2NyaXB0aW9uczpTdWJzY3JpcHRpb25bXSA9IFtdXHJcbiAgYXV0aGxvY2FsU3RvcmFnZVRva2VuOiBhbnk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNldHRlclNlcnZpY2U6IENvbnZlcnNpb25TZXJ2aWNlLHByaXZhdGUgcGFnZUluZm86UGFnZUluZm9TZXJ2aWNlLCBwcml2YXRlIGdzOkdsb2JhbFN0YXRlU2VydmljZSwgcHJpdmF0ZSByb3V0ZXI6Um91dGVyKXtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgICAgdGhpcy5ncy5lbnZpcm9ubWVudC5zdWJzY3JpYmUoKGVudikgPT4ge1xyXG4gICAgICAgICAgaWYgKGVudikge1xyXG4gICAgICAgICAgICB0aGlzLmF1dGhsb2NhbFN0b3JhZ2VUb2tlbiA9IGAke2Vudi5hcHBWZXJzaW9ufS0ke2Vudi5VU0VSREFUQV9LRVl9YDtcclxuICAgICAgICAgICAgdGhpcy5hdXRobG9jYWxTdG9yYWdlVG9rZW4gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmF1dGhsb2NhbFN0b3JhZ2VUb2tlbilcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICAgIFxyXG4gICAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzdWJzY3JpcHRpb24pPT57XHJcbiAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZih0aGlzLmF1dGhsb2NhbFN0b3JhZ2VUb2tlbikge1xyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9tYW5hZ2UnXSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICB0aGlzLnNldHRlclNlcnZpY2UuJHN0ZXBwZXIuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgaWYgKGRhdGE/LnByZXYpeyBcclxuICAgICAgICB0aGlzLnByZXZTdGVwKCk7XHJcbiAgICAgIHRoaXMucHJldlN0ZXBkYXRhID0gZGF0YS5kYXRhXHJcbiAgICAgIH0gXHJcbiAgICAgIGVsc2UgdGhpcy5uZXh0U3RlcCgpO1xyXG4gICAgfSkgIFxyXG4gICAgKVxyXG4gICAgdGhpcy5wYWdlSW5mby5zZXRUaXRsZSgnU2lnbnVwJylcclxuICAgXHJcbiAgfVxyXG4gIHVwZGF0ZUFjY291bnQgPSAocGFydDogUGFydGlhbDxhbnk+LCBpc0Zvcm1WYWxpZDogYm9vbGVhbikgPT4ge1xyXG4gICAgY29uc3QgY3VycmVudEFjY291bnQgPSB0aGlzLmFjY291bnQkLnZhbHVlO1xyXG4gICAgY29uc3QgdXBkYXRlZEFjY291bnQgPSB7IC4uLmN1cnJlbnRBY2NvdW50LCAuLi5wYXJ0IH07XHJcbiAgICB0aGlzLmFjY291bnQkLm5leHQodXBkYXRlZEFjY291bnQpO1xyXG4gICAgdGhpcy5pc0N1cnJlbnRGb3JtVmFsaWQkLm5leHQoaXNGb3JtVmFsaWQpO1xyXG4gIH07XHJcbiBcclxuXHJcbiAgbmV4dFN0ZXAoKSB7XHJcbiAgICBjb25zdCBuZXh0U3RlcCA9IHRoaXMuY3VycmVudFN0ZXAkLnZhbHVlICsgMTtcclxuICAgIGlmIChuZXh0U3RlcCA+IHRoaXMuZm9ybXNDb3VudCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmN1cnJlbnRTdGVwJC5uZXh0KG5leHRTdGVwKTtcclxuICB9XHJcblxyXG4gIHByZXZTdGVwKCkge1xyXG4gICAgY29uc3QgcHJldlN0ZXAgPSB0aGlzLmN1cnJlbnRTdGVwJC52YWx1ZSAtIDE7XHJcbiAgICBpZiAocHJldlN0ZXAgPT09IDApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jdXJyZW50U3RlcCQubmV4dChwcmV2U3RlcCk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicm93IG1lLTBcIj5cclxuICAgIDxsaWItdmVydGljYWwgY2xhc3M9XCJjb2wtbGctNCBjb2wteGwtMyBjb2wteHhsLTMgcC0wXCI+PC9saWItdmVydGljYWw+XHJcblxyXG4gICAgPCEtLWJlZ2luOjpDb250ZW50LS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiIGNvbC1sZy04IGNvbC14bC05IGNvbC14eGwtOSBtYi0xMFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VycmVudFwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRTdGVwJC52YWx1ZSA9PT0gMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaWItc3RlcDEgY2xhc3M9XCJ3LTEwMCBcIiBbcHJldlN0ZXBkYXRhXT0ncHJldlN0ZXBkYXRhJyBbdXBkYXRlUGFyZW50TW9kZWxdPVwidXBkYXRlQWNjb3VudFwiIFtkZWZhdWx0VmFsdWVzXT1cImFjY291bnQkLnZhbHVlXCI+PC9saWItc3RlcDE+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudFN0ZXAkLnZhbHVlID09PSAyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpYi1zdGVwMiBjbGFzcz1cInctMTAwIFwiIFt1cGRhdGVQYXJlbnRNb2RlbF09XCJ1cGRhdGVBY2NvdW50XCIgW2RlZmF1bHRWYWx1ZXNdPVwiYWNjb3VudCQudmFsdWVcIj48L2xpYi1zdGVwMj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXJyZW50U3RlcCQudmFsdWUgPT09IDNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGliLXN0ZXAzIGNsYXNzPVwidy0xMDAgXCI+PC9saWItc3RlcDM+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1zdGFjayBweS0yXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXJyZW50U3RlcCQudmFsdWUgPT0gMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tbGcgYnRuLWxpZ2h0LXByaW1hcnkgbWUtNVwiIChjbGljayk9XCJwcmV2U3RlcCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmV2aW91c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICA8IS0tIDxkaXYgKm5nSWY9XCJjdXJyZW50U3RlcCQudmFsdWUgIT09IDNcIiBjbGFzcz1cIm15LTUgZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtbWQtcm93ICBmbGV4LW1kLXN0YWNrIHB0LTMgY29udGFpbmVyLWZsdWlkXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTkwMCBvcmRlci0yIG9yZGVyLW1kLTEgbXMtMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtbXV0ZWQgZnctc2VtaWJvbGQgbWUtMVwiPsKpIDIwMjQgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGNsYXNzPVwidGV4dC1ncmF5LTgwMCB0ZXh0LWhvdmVyLXByaW1hcnlcIj5UYW5nbyBJVCBzb2x1dGlvbnM8L2E+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cIm1lbnUgbWVudS1ncmF5LTYwMCBtZW51LWhvdmVyLXByaW1hcnkgZnctc2VtaWJvbGQgb3JkZXItMSBtZS0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm1lbnUtaXRlbVwiPjxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL3RhbmdvZXllLmFpLyNhYm91dHVzXCIgY2xhc3M9XCJtZW51LWxpbmsgcHgtNVwiPkFib3V0IHVzPC9hPjwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibWVudS1pdGVtXCI+PGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vdGFuZ29leWUuYWkvI2NvbnRhY3RcIiBjbGFzcz1cIm1lbnUtbGluayBweC01XCI+Q29udGFjdCBVczwvYT48L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm1lbnUtaXRlbVwiPjxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL3RhbmdvZXllLmFpL3ByaXZhY3ktcG9saWN5LTIvXCIgY2xhc3M9XCJtZW51LWxpbmsgcHgtNVwiPlByaXZhY3kgJiBwb2xpY3k8L2E+PC9saT5cclxuICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS0gPC9kaXY+IC0tPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tZW5kOjpDb250ZW50LS0+XHJcbjwhLS0gPC9kaXY+IC0tPiJdfQ==
|
@@ -57,7 +57,7 @@ export class AuthService {
|
|
57
57
|
return this.http.post(`${this.middlewareApiUrl}/request-callback`, data);
|
58
58
|
}
|
59
59
|
isClientnameTaken(data) {
|
60
|
-
return this.http.
|
60
|
+
return this.http.post(`${this.leadApiUrl}/isClientExist`, data);
|
61
61
|
}
|
62
62
|
isEmailTaken(data) {
|
63
63
|
return this.http.get(`${this.leadApiUrl}/isExists?corporateEmail=${data}`);
|
@@ -110,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
110
110
|
providedIn: "root",
|
111
111
|
}]
|
112
112
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.HttpClient }, { type: i3.GlobalStateService }] });
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXV0aC9zcmMvbGliL3NlcnZpY2VzL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFDTCxlQUFlLEVBRWYsVUFBVSxFQUNWLEdBQUcsRUFDSCxFQUFFLEVBQ0YsVUFBVSxHQUNYLE1BQU0sTUFBTSxDQUFDOzs7OztBQU1kLE1BQU0sT0FBTyxXQUFXO0lBYVo7SUFDQTtJQUNBO0lBZFYsYUFBYSxHQUFHLElBQUksZUFBZSxDQUFNLElBQUksQ0FBQyxDQUFDO0lBQy9DLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztJQUNqRCxrQkFBa0IsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztJQUNwRCxVQUFVLEdBQVcsRUFBRSxDQUFDO0lBQ3hCLGdCQUFnQixHQUFXLEVBQUUsQ0FBQztJQUM5QixVQUFVLEdBQVcsRUFBRSxDQUFDO0lBQ3hCLHFCQUFxQixDQUFTO0lBQzlCLHlCQUF5QixDQUFTO0lBQ2xDLElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQztJQUN2QyxDQUFDO0lBQ0QsWUFDVSxNQUFjLEVBQ2QsSUFBZ0IsRUFDaEIsRUFBc0I7UUFGdEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFFOUIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDcEMsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDO2dCQUNq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SUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUseUJBQXlCLEVBQUUsSUFBSSxDQUFFO2FBQ3hELElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUNoQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUM3QixDQUFDO0lBQ0osQ0FBQzt3R0E1SFUsV0FBVzs0R0FBWCxXQUFXLGNBRlYsTUFBTTs7NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7XHJcbiAgQmVoYXZpb3JTdWJqZWN0LFxyXG4gIE9ic2VydmFibGUsXHJcbiAgY2F0Y2hFcnJvcixcclxuICBtYXAsXHJcbiAgb2YsXHJcbiAgdGhyb3dFcnJvcixcclxufSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tIFwidGFuZ28tYXBwLXVpLWdsb2JhbFwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xyXG4gIGFib3V0Rm9ybURhdGEgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XHJcbiAgcHJpY2luZ0Zvcm1EYXRhID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xyXG4gIGN1cnJlbnRVc2VyU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcclxuICBsZWFkQXBpVXJsOiBzdHJpbmcgPSBcIlwiO1xyXG4gIG1pZGRsZXdhcmVBcGlVcmw6IHN0cmluZyA9IFwiXCI7XHJcbiAgdXNlckFwaVVybDogc3RyaW5nID0gXCJcIjtcclxuICBhdXRobG9jYWxTdG9yYWdlVG9rZW46IHN0cmluZztcclxuICBwYXltZW50U3Vic2NyaXB0aW9uQXBpVXJsOiBzdHJpbmc7XHJcbiAgZ2V0IGN1cnJlbnRVc2VyVmFsdWUoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLmN1cnJlbnRVc2VyU3ViamVjdC52YWx1ZTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBnczogR2xvYmFsU3RhdGVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLmdzLmVudmlyb25tZW50LnN1YnNjcmliZSgoZW52KSA9PiB7XHJcbiAgICAgIGlmIChlbnYpIHtcclxuICAgICAgICB0aGlzLmxlYWRBcGlVcmwgPSBlbnYubGVhZEFwaVVybDtcclxuICAgICAgICB0aGlzLm1pZGRsZXdhcmVBcGlVcmwgPSBlbnYubWlkZGxld2FyZUFwaVVybDtcclxuICAgICAgICB0aGlzLnBheW1lbnRTdWJzY3JpcHRpb25BcGlVcmwgPSBlbnYucGF5bWVudFN1YnNjcmlwdGlvbkFwaVVybDtcclxuICAgICAgICAodGhpcy51c2VyQXBpVXJsID0gZW52LnVzZXJBcGlVcmwpLFxyXG4gICAgICAgICAgKHRoaXMuYXV0aGxvY2FsU3RvcmFnZVRva2VuID0gYCR7ZW52LmFwcFZlcnNpb259LSR7ZW52LlVTRVJEQVRBX0tFWX1gKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRIZWFkZXJzKCkge1xyXG4gICAgY29uc3QgdXNlcjogYW55ID0gSlNPTi5wYXJzZShcclxuICAgICAgbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5hdXRobG9jYWxTdG9yYWdlVG9rZW4pIHx8IFwie31cIlxyXG4gICAgKTtcclxuICAgIGNvbnNvbGUubG9nKHVzZXIpXHJcbiAgICBjb25zdCBoZWFkZXJzID0ge1xyXG4gICAgICBBdXRob3JpemF0aW9uOiBcIkJlYXJlciBcIiArIHVzZXIuYXV0aGVudGljYXRpb25Ub2tlbixcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIGhlYWRlcnM7XHJcbiAgfVxyXG5cclxuICBsb2dvdXQoKSB7XHJcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLmF1dGhsb2NhbFN0b3JhZ2VUb2tlbik7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCIvYXV0aC9sb2dpblwiXSwge1xyXG4gICAgICBxdWVyeVBhcmFtczoge30sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNlbmRTaWdudXBPdHAoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLm1pZGRsZXdhcmVBcGlVcmx9L3NpZ251cC1vdHBgLCBkYXRhKTtcclxuICB9XHJcblxyXG4gIHNpZ251cChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMubGVhZEFwaVVybH0vc2lnbnVwYCwgZGF0YSk7XHJcbiAgfVxyXG5cclxuICByZXF1ZXN0Q2FsbGJhY2soZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLm1pZGRsZXdhcmVBcGlVcmx9L3JlcXVlc3QtY2FsbGJhY2tgLCBkYXRhKTtcclxuICB9XHJcblxyXG4gIGlzQ2xpZW50bmFtZVRha2VuKGRhdGE6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmxlYWRBcGlVcmx9L2lzRXhpc3RzP2NsaWVudE5hbWU9JHtkYXRhfWApO1xyXG4gIH1cclxuXHJcbiAgaXNFbWFpbFRha2VuKGRhdGE6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmxlYWRBcGlVcmx9L2lzRXhpc3RzP2NvcnBvcmF0ZUVtYWlsPSR7ZGF0YX1gKTtcclxuICB9XHJcblxyXG4gIGlzTW9iaWxlVGFrZW4oZGF0YTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMubGVhZEFwaVVybH0vaXNFeGlzdHM/bW9iaWxlTnVtYmVyPSR7ZGF0YX1gKTtcclxuICB9XHJcblxyXG4gIGdldENvdW50cnlDb2RlcygpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5taWRkbGV3YXJlQXBpVXJsfS9jb3VudHJ5LWNvZGVgKTtcclxuICB9XHJcblxyXG4gIGxvZ2luKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy51c2VyQXBpVXJsfS9sb2dpbmAsIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgdXNlclByb2ZpbGVEZXQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVzZXI6IGFueSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidXNlci1pbmZvXCIpO1xyXG4gICAgaWYgKHVzZXIpIHJldHVybiBvZihKU09OLnBhcnNlKHVzZXIpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmdldChgJHt0aGlzLnVzZXJBcGlVcmx9L3Byb2ZpbGVWMmAsIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcInVzZXItaW5mb1wiLCBKU09OLnN0cmluZ2lmeShyZXNwb25zZS5kYXRhKSk7XHJcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsQ291bnRyaWVzKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLm1pZGRsZXdhcmVBcGlVcmx9L2dldC1jb3VudHJpZXNgKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUVycm9yKHJlczogYW55KSB7XHJcbiAgICByZXR1cm4gdGhyb3dFcnJvcihyZXMuZXJyb3IpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJpY2luZyhkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxyXG4gICAgICBgJHt0aGlzLnBheW1lbnRTdWJzY3JpcHRpb25BcGlVcmx9L2Jhc2VQcmljaW5nYCxcclxuICAgICAgZGF0YVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGZvcmdvdFBhc3N3b3JkVHJpZ2dlcihwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5nZXQoYCR7dGhpcy51c2VyQXBpVXJsfS9mb3Jnb3QtcGFzc3dvcmQtZW1haWxgLCB7IHBhcmFtczogcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIGZvcmdvdFBhc3N3b3JkKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAucG9zdChgJHt0aGlzLnVzZXJBcGlVcmx9L2ZvcmdvdC1wYXNzd29yZC11cGRhdGVgLCBkYXRhIClcclxuICAgIC5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXV0aC9zcmMvbGliL3NlcnZpY2VzL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFDTCxlQUFlLEVBRWYsVUFBVSxFQUNWLEdBQUcsRUFDSCxFQUFFLEVBQ0YsVUFBVSxHQUNYLE1BQU0sTUFBTSxDQUFDOzs7OztBQU1kLE1BQU0sT0FBTyxXQUFXO0lBYVo7SUFDQTtJQUNBO0lBZFYsYUFBYSxHQUFHLElBQUksZUFBZSxDQUFNLElBQUksQ0FBQyxDQUFDO0lBQy9DLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztJQUNqRCxrQkFBa0IsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztJQUNwRCxVQUFVLEdBQVcsRUFBRSxDQUFDO0lBQ3hCLGdCQUFnQixHQUFXLEVBQUUsQ0FBQztJQUM5QixVQUFVLEdBQVcsRUFBRSxDQUFDO0lBQ3hCLHFCQUFxQixDQUFTO0lBQzlCLHlCQUF5QixDQUFTO0lBQ2xDLElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQztJQUN2QyxDQUFDO0lBQ0QsWUFDVSxNQUFjLEVBQ2QsSUFBZ0IsRUFDaEIsRUFBc0I7UUFGdEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFFOUIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDcEMsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDO2dCQUNq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SUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUseUJBQXlCLEVBQUUsSUFBSSxDQUFFO2FBQ3hELElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUNoQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUM3QixDQUFDO0lBQ0osQ0FBQzt3R0E1SFUsV0FBVzs0R0FBWCxXQUFXLGNBRlYsTUFBTTs7NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7XHJcbiAgQmVoYXZpb3JTdWJqZWN0LFxyXG4gIE9ic2VydmFibGUsXHJcbiAgY2F0Y2hFcnJvcixcclxuICBtYXAsXHJcbiAgb2YsXHJcbiAgdGhyb3dFcnJvcixcclxufSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tIFwidGFuZ28tYXBwLXVpLWdsb2JhbFwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xyXG4gIGFib3V0Rm9ybURhdGEgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XHJcbiAgcHJpY2luZ0Zvcm1EYXRhID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xyXG4gIGN1cnJlbnRVc2VyU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcclxuICBsZWFkQXBpVXJsOiBzdHJpbmcgPSBcIlwiO1xyXG4gIG1pZGRsZXdhcmVBcGlVcmw6IHN0cmluZyA9IFwiXCI7XHJcbiAgdXNlckFwaVVybDogc3RyaW5nID0gXCJcIjtcclxuICBhdXRobG9jYWxTdG9yYWdlVG9rZW46IHN0cmluZztcclxuICBwYXltZW50U3Vic2NyaXB0aW9uQXBpVXJsOiBzdHJpbmc7XHJcbiAgZ2V0IGN1cnJlbnRVc2VyVmFsdWUoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLmN1cnJlbnRVc2VyU3ViamVjdC52YWx1ZTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBnczogR2xvYmFsU3RhdGVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLmdzLmVudmlyb25tZW50LnN1YnNjcmliZSgoZW52KSA9PiB7XHJcbiAgICAgIGlmIChlbnYpIHtcclxuICAgICAgICB0aGlzLmxlYWRBcGlVcmwgPSBlbnYubGVhZEFwaVVybDtcclxuICAgICAgICB0aGlzLm1pZGRsZXdhcmVBcGlVcmwgPSBlbnYubWlkZGxld2FyZUFwaVVybDtcclxuICAgICAgICB0aGlzLnBheW1lbnRTdWJzY3JpcHRpb25BcGlVcmwgPSBlbnYucGF5bWVudFN1YnNjcmlwdGlvbkFwaVVybDtcclxuICAgICAgICAodGhpcy51c2VyQXBpVXJsID0gZW52LnVzZXJBcGlVcmwpLFxyXG4gICAgICAgICAgKHRoaXMuYXV0aGxvY2FsU3RvcmFnZVRva2VuID0gYCR7ZW52LmFwcFZlcnNpb259LSR7ZW52LlVTRVJEQVRBX0tFWX1gKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRIZWFkZXJzKCkge1xyXG4gICAgY29uc3QgdXNlcjogYW55ID0gSlNPTi5wYXJzZShcclxuICAgICAgbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5hdXRobG9jYWxTdG9yYWdlVG9rZW4pIHx8IFwie31cIlxyXG4gICAgKTtcclxuICAgIGNvbnNvbGUubG9nKHVzZXIpXHJcbiAgICBjb25zdCBoZWFkZXJzID0ge1xyXG4gICAgICBBdXRob3JpemF0aW9uOiBcIkJlYXJlciBcIiArIHVzZXIuYXV0aGVudGljYXRpb25Ub2tlbixcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIGhlYWRlcnM7XHJcbiAgfVxyXG5cclxuICBsb2dvdXQoKSB7XHJcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLmF1dGhsb2NhbFN0b3JhZ2VUb2tlbik7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCIvYXV0aC9sb2dpblwiXSwge1xyXG4gICAgICBxdWVyeVBhcmFtczoge30sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNlbmRTaWdudXBPdHAoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLm1pZGRsZXdhcmVBcGlVcmx9L3NpZ251cC1vdHBgLCBkYXRhKTtcclxuICB9XHJcblxyXG4gIHNpZ251cChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMubGVhZEFwaVVybH0vc2lnbnVwYCwgZGF0YSk7XHJcbiAgfVxyXG5cclxuICByZXF1ZXN0Q2FsbGJhY2soZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLm1pZGRsZXdhcmVBcGlVcmx9L3JlcXVlc3QtY2FsbGJhY2tgLCBkYXRhKTtcclxuICB9XHJcblxyXG4gIGlzQ2xpZW50bmFtZVRha2VuKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5sZWFkQXBpVXJsfS9pc0NsaWVudEV4aXN0YCwgZGF0YSk7XHJcbiAgfVxyXG5cclxuICBpc0VtYWlsVGFrZW4oZGF0YTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMubGVhZEFwaVVybH0vaXNFeGlzdHM/Y29ycG9yYXRlRW1haWw9JHtkYXRhfWApO1xyXG4gIH1cclxuXHJcbiAgaXNNb2JpbGVUYWtlbihkYXRhOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5sZWFkQXBpVXJsfS9pc0V4aXN0cz9tb2JpbGVOdW1iZXI9JHtkYXRhfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q291bnRyeUNvZGVzKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLm1pZGRsZXdhcmVBcGlVcmx9L2NvdW50cnktY29kZWApO1xyXG4gIH1cclxuXHJcbiAgbG9naW4oZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnVzZXJBcGlVcmx9L2xvZ2luYCwgZGF0YSk7XHJcbiAgfVxyXG5cclxuICB1c2VyUHJvZmlsZURldCgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXNlcjogYW55ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ1c2VyLWluZm9cIik7XHJcbiAgICBpZiAodXNlcikgcmV0dXJuIG9mKEpTT04ucGFyc2UodXNlcikpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAuZ2V0KGAke3RoaXMudXNlckFwaVVybH0vcHJvZmlsZVYyYCwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSB9KVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwidXNlci1pbmZvXCIsIEpTT04uc3RyaW5naWZ5KHJlc3BvbnNlLmRhdGEpKTtcclxuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRBbGxDb3VudHJpZXMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMubWlkZGxld2FyZUFwaVVybH0vZ2V0LWNvdW50cmllc2ApO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlRXJyb3IocmVzOiBhbnkpIHtcclxuICAgIHJldHVybiB0aHJvd0Vycm9yKHJlcy5lcnJvcik7XHJcbiAgfVxyXG5cclxuICBnZXRQcmljaW5nKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXHJcbiAgICAgIGAke3RoaXMucGF5bWVudFN1YnNjcmlwdGlvbkFwaVVybH0vYmFzZVByaWNpbmdgLFxyXG4gICAgICBkYXRhXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZm9yZ290UGFzc3dvcmRUcmlnZ2VyKHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmdldChgJHt0aGlzLnVzZXJBcGlVcmx9L2ZvcmdvdC1wYXNzd29yZC1lbWFpbGAsIHsgcGFyYW1zOiBwYXJhbXMgfSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgZm9yZ290UGFzc3dvcmQoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgIC5wb3N0KGAke3RoaXMudXNlckFwaVVybH0vZm9yZ290LXBhc3N3b3JkLXVwZGF0ZWAsIGRhdGEgKVxyXG4gICAgLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
|