@hmcts/rpx-xui-common-lib 2.0.5 → 2.0.6

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.
@@ -734,4 +734,4 @@ AccessibilityComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Acce
734
734
  type: Component,
735
735
  args: [{ selector: 'xuilib-accessibility', template: "<h1 class=\"govuk-heading-xl\" id=\"Accessibility-statement-for-Expert-UI\">{{'Accessibility statement for MyHMCTS' |\n rpxTranslate }}\n {{isEndpointMC ? 'Manage Cases' : 'Manage Organisation' | rpxTranslate}}</h1>\n\n<p class=\"govuk-body\">{{'MyHMCTS' |rpxTranslate}} {{isEndpointMC ? 'Manage Cases' : 'Manage Organisation' |\n rpxTranslate}} {{'is used across several services. Please use links to find contact information for each service.' |\n rpxTranslate}}</p>\n\n<ul class=\"govuk-list\">\n <li><a href=\"accessibility#immigration\">{{'Immigration and Asylum' | rpxTranslate}}</a></li>\n <li><a href=\"accessibility#family\">{{'Family Public Law' | rpxTranslate}} </a></li>\n</ul>\n\n<p class=\"govuk-body\">{{'This website is run by HM Courts & Tribunals Service. We want as many people as possible to be\n able to use this website. For example, you should be able to:' | rpxTranslate}}</p>\n\n<ul class=\"govuk-list govuk-list--bullet\">\n <li>{{'change colours, contrast levels and fonts' | rpxTranslate}}</li>\n <li *ngIf=\"isEndpointMC\">{{'zoom in up to 300% without the text spilling off the screen' | rpxTranslate}}</li>\n <li>{{'navigate most of the website using just a keyboard' | rpxTranslate}}</li>\n <li>{{'navigate most of the website using speech recognition software' | rpxTranslate}}</li>\n <li>{{'listen to most of the website using a screen reader (including the most recent versions of JAWS, NVDA and\n VoiceOver)' | rpxTranslate}}\n </li>\n</ul>\n\n<p class=\"govuk-body\">{{'We\\\u2019ve also made the website text as simple as possible to understand.' | rpxTranslate}}</p>\n\n<p class=\"govuk-body\"><a rel=\"noopener noreferrer\" target=\"_blank\" href=\"https://mcmw.abilitynet.org.uk/\">{{'AbilityNet'\n | rpxTranslate}}</a>\n {{'has advice on making your device easier to use if you have a disability.' | rpxTranslate}}</p>\n\n<h2 class=\"govuk-heading-l\" id=\"How-accessible-this-website-is\">{{'How accessible this website is' | rpxTranslate}}</h2>\n\n<p class=\"govuk-body\">{{'We know some parts of the website are not fully accessible:' | rpxTranslate}}</p>\n\n<ul class=\"govuk-list govuk-list--bullet\">\n <li>{{'some pages can\\'t be zoomed in to 400% without content overlapping' | rpxTranslate}}</li>\n <li>{{'some page titles aren\\'t page specific' | rpxTranslate}}</li>\n <li *ngIf=\"!isEndpointMC\">{{'some pages do not follow a logical tabbing order' | rpxTranslate}}</li>\n <li *ngIf=\"!isEndpointMC\">{{'some headings levels are skipped' | rpxTranslate}}</li>\n <li *ngIf=\"!isEndpointMC\">{{'some links do not work' | rpxTranslate}}</li>\n <li *ngIf=\"isEndpointMC\">{{'it may be difficult to navigate between pages' | rpxTranslate}}</li>\n <li *ngIf=\"isEndpointMC\">{{'some headings and labels aren\\'t specific enough' | rpxTranslate}}</li>\n <li>{{'some PDFs may not be fully accessible to a screen reader' | rpxTranslate}}</li>\n <li *ngIf=\"isEndpointMC\">{{'some buttons may not communicate collapsed status on mobile' | rpxTranslate}}</li>\n</ul>\n\n<h2 class=\"govuk-heading-l\" id=\"What-to-do-if-you-cannot-access-parts-of-this-website\">{{'Feedback and contact\n information' | rpxTranslate}}</h2>\n\n<p class=\"govuk-body\">{{'If you\\'re a legal professional and need information on this website in a different format like\n accessible PDF, large print, easy read, audio recording or braille, you can:' | rpxTranslate}}</p>\n\n<ul class=\"govuk-list govuk-list--bullet\">\n <li>{{'email:' | rpxTranslate}} <a href=\"mailto:HMCTSforms@justice.gov.uk\"> HMCTSforms@justice.gov.uk</a></li>\n <li>{{'call the service you require, as listed below.' | rpxTranslate}}</li>\n</ul>\n\n\n<h2 class=\"govuk-heading-l\" id=\"Adoption\">{{'Adoption' | rpxTranslate}}</h2>\n<ul class=\"govuk-list govuk-list--bullet\">\n <li>{{'call: 01634 887900' | rpxTranslate}}</li>\n</ul>\n\n<h2 class=\"govuk-heading-l\" id=\"Divorce-and-financial-remedy\">{{'Divorce and Financial Remedy' | rpxTranslate}}</h2>\n<ul class=\"govuk-list govuk-list--bullet\">\n <li>{{'call: 0300 123 1372' | rpxTranslate}}</li>\n</ul>\n\n<h2 class=\"govuk-heading-l\" id=\"Civil-damages-service\">{{'Civil Damages Service' | rpxTranslate}}</h2>\n<ul class=\"govuk-list govuk-list--bullet\">\n <li>{{'call: 0300 123 1372' | rpxTranslate}}</li>\n</ul>\n\n<h2 class=\"govuk-heading-l\" id=\"Family-public-law\">{{'Family Public Law' | rpxTranslate}}</h2>\n<ul class=\"govuk-list govuk-list--bullet\">\n <li>{{'call: 0330 808 4424' | rpxTranslate}}</li>\n</ul>\n\n<h2 class=\"govuk-heading-l\" id=\"Immigration-and-asylum-chamber\">{{'Immigration and Asylum Chamber' | rpxTranslate}}</h2>\n<ul class=\"govuk-list govuk-list--bullet\">\n <li>{{'call: 0300 123 1711' | rpxTranslate}}</li>\n</ul>\n\n<h2 class=\"govuk-heading-l\" id=\"Online-civil-money-claims\">{{'Online Civil Money Claims' | rpxTranslate}}</h2>\n<ul class=\"govuk-list govuk-list--bullet\">\n <li>{{'call: 0300 123 7050' | rpxTranslate}}</li>\n</ul>\n\n<h2 class=\"govuk-heading-l\" id=\"Private-law\">{{'Private Law' | rpxTranslate}}</h2>\n<ul class=\"govuk-list govuk-list--bullet\">\n <li>{{'call: 0300 323 0185' | rpxTranslate}}</li>\n</ul>\n\n<h2 class=\"govuk-heading-l\" id=\"Probate\">{{'Probate' | rpxTranslate}}</h2>\n<ul class=\"govuk-list govuk-list--bullet\">\n <li>{{'call: 0300 303 0648' | rpxTranslate}}</li>\n</ul>\n\n<h2 class=\"govuk-heading-l\" id=\"Social-security-and-child-support\">{{'Social Security and Child Support' |\n rpxTranslate}}</h2>\n<ul class=\"govuk-list govuk-list--bullet\">\n <li>{{'call: 0300 123 1142' | rpxTranslate}}</li>\n</ul>\n\n<p class=\"govuk-body\">{{'We\\'ll consider your request and get back to you in 10 working days.' | rpxTranslate}}</p>\n<p class=\"govuk-body\">{{'If you a member of HMCTS staff or the Judiciary speak to your line manager or equivalent in the\n first instance.' | rpxTranslate}}</p>\n\n<h2 class=\"govuk-heading-l\" id=\"Reporting-accessibility-problems-with-this-website\">{{'Reporting accessibility problems\n with this website' | rpxTranslate}}</h2>\n\n<p class=\"govuk-body\">{{'We\\'re always looking to improve the accessibility of this website. If you\\'re a legal professional and find any problems not listed on this page or think we\\'re not meeting accessibility requirements, contact:' | rpxTranslate}}</p>\n\n<ul class=\"govuk-list govuk-list--bullet\">\n <li>{{'email:' | rpxTranslate}} <a href=\"mailto:MCTSforms@justice.gov.uk\"> HMCTSforms@justice.gov.uk</a></li>\n <li *ngIf=\"isEndpointMC\"><a href=\"mailto:customer.service@justice.gov.uk\">customer.service@justice.gov.uk</a></li>\n <li>call the service you require as listed above.</li>\n</ul>\n\n<p class=\"govuk-body\">{{'If you a member of HMCTS staff or the Judiciary speak to your line manager or equivalent in the\n first instance.' | rpxTranslate}}</p>\n\n\n<h2 class=\"govuk-heading-l\" id=\"Enforcement-procedure \">{{'Enforcement procedure' | rpxTranslate}}</h2>\n\n<p class=\"govuk-body\">{{'The Equality and Human Rights Commission (EHRC) is responsible for enforcing the Public Sector\n Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018 (the \\\u2018accessibility\n regulations\\\u2019).' | rpxTranslate}} </p>\n\n<p class=\"govuk-body\">{{'If you\\\u2019re not happy with how we respond to your complaint,' | rpxTranslate}} <a\n rel=\"noopener noreferrer\" target=\"_blank\" href=\"https://www.equalityadvisoryservice.com/\">{{'contact\n the Equality Advisory and Support Service (EASS).' | rpxTranslate}}</a></p>\n\n<h1 class=\"govuk-heading-l\" id=\"Contacting-us-by-phone-or-visiting-us-in-person\">{{'Contacting us by phone or visiting\n us\n in person' | rpxTranslate}}</h1>\n\n<p class=\"govuk-body\">{{'We provide a text relay service for people who are D/deaf, hearing impaired or have a speech\n impediment.' | rpxTranslate}}</p>\n\n<p class=\"govuk-body\">{{'Our offices and tribunal venues have audio induction loops, or if you contact us before your\n visit\n we can arrange a British Sign Language (BSL) interpreter. You can also request step-free access or a foreign language\n interpreter.' | rpxTranslate}}</p>\n\n<p class=\"govuk-body\">{{'Find out how to contact us using the contact details above or ' | rpxTranslate}} <a\n target=\"_blank\" href=\"https://courttribunalfinder.service.gov.uk/search/\">{{'find\n the contact details for court and tribunal venues' | rpxTranslate}}</a>. </p>\n\n\n<h2 class=\"govuk-heading-l\" id=\"Technical-information-about-this-website-accessibility\">{{'Technical information about\n this website\\\u2019s accessibility' | rpxTranslate}}</h2>\n\n<p class=\"govuk-body\">{{'HMCTS is committed to making its website accessible, in accordance with the Public Sector\n Bodies (Websites and Mobile Applications) (No.2)\n Accessibility Regulations 2018.' | rpxTranslate}}</p>\n\n\n<h2 class=\"govuk-heading-l\" id=\"Compliance-status\">{{'Compliance Status' | rpxTranslate}}</h2>\n\n<p class=\"govuk-body\">{{'This website is partially compliant with the ' | rpxTranslate}}<a target=\"_blank\"\n href=\"https://www.w3.org/TR/WCAG21/\">\n {{'Web Content Accessibility Guidelines version 2.1 ' | rpxTranslate}}</a>\n {{'due to the non-compliances listed below.' | rpxTranslate}}\n</p>\n<h2 class=\"govuk-heading-l\" id=\"Non-accessible-content\">{{'Non-accessible content' | rpxTranslate}}</h2>\n\n<p class=\"govuk-body\">{{'The content listed below is non-compliant for the following reasons.' | rpxTranslate}}</p>\n\n\n<h2 class=\"govuk-heading-l\" id=\"Non-compliance-with-the-accessibility-regulations\">{{'Non-compliance with the\n accessibility\n regulations' | rpxTranslate}}</h2>\n\n<p class=\"govuk-body\">{{'When zoomed in 200%, content overlaps and does not reflow, so some people will have difficulty\n viewing pages.\n This fails WCAG 2.1 success criterion 1.4.10: Reflow (Level AA).' | rpxTranslate}}</p>\n\n<p class=\"govuk-body\">{{'Some page titles are not unique to the screens, so screenreader users may struggle to know\n which page they are on.\n This fails WCAG 2.1 success criterion 2.4.2: Page Titled (Level A)' | rpxTranslate}}</p>\n\n<p *ngIf=\"isEndpointMC\" class=\"govuk-body\">{{'It is difficult to understand how some pages are related to one another,\n and where they are in\n the context of the whole site.\n This fails WCAG 2.1 success criterion 2.4.5: Multiple Ways (Level AA)' | rpxTranslate}}</p>\n\n<p *ngIf=\"!isEndpointMC\" class=\"govuk-body\">{{'Some users may struggle with keyboard order when tabbing after an error\n is presented. This fails WCAG 2.1 success criterion 2.4.3: Focus Order (Level A).' | rpxTranslate}}</p>\n<p *ngIf=\"!isEndpointMC\" class=\"govuk-body\">{{'Some headings are skipped, so some users may struggle to navigate with\n screen reader via headings. This fails WCAG 2.1 success criterion 2.4.6: Headings and labels (Level AA).' |\n rpxTranslate}}</p>\n<p *ngIf=\"!isEndpointMC\" class=\"govuk-body\">{{'Some error links do not take the user to the specific error field, so\n some people may struggle with interacting with the links. This fails WCAG 2.1 success criterion 3.2.1: On Focus (Level\n A).' | rpxTranslate}}</p>\n<p *ngIf=\"isEndpointMC\" class=\"govuk-body\">{{'The heading \\'Filter\\' together with the non-unique \\'Case List\\' headings\n heavily imply that a user is filtering one \\'Case List\\' table, to which they have access, according to the filters they select. However, this is\n not the case. Some users may struggle with heading filters as it is not clear which ones correspond to the table data.\n This fails WCAG 2.1 success criterion 2.4.6: Headings and labels (Level AA)' | rpxTranslate}}</p>\n\n<p *ngIf=\"isEndpointMC\" class=\"govuk-body\">{{'Some users may struggle on mobile where a screen reader doesn\\'t indicate\n that buttons are collapsible. This fails WCAG 2.1 success criterion 4.1.2: Name, Role, Value (Level A)' | rpxTranslate}}</p>\n\n<h2 *ngIf=\"!isEndpointMC\" class=\"govuk-heading-m\" id=\"Disproportionate-burden\">{{'Disproportionate burden' | rpxTranslate}} </h2>\n\n<p *ngIf=\"!isEndpointMC\" class=\"govuk-body\">{{'We\\'re considering if fixing some issues would be a' | rpxTranslate}} <a\n target=\"_blank\" href=\"https://www.legislation.gov.uk/uksi/2018/952/regulation/7/made/\">{{'disproportionate burden' |\n rpxTranslate}}</a> {{'within the meaning of\n the accessibility regulations. These issues are:' | rpxTranslate}}</p>\n\n<ul *ngIf=\"!isEndpointMC\" class=\"govuk-list govuk-list--bullet\">\n <li>{{'Screen readers not picking up how pages are related to one another, and where they are in the context of the\n whole site' | rpxTranslate}}</li>\n <li>{{'Screen readers not picking up on non-unique table headings on the same page' | rpxTranslate}}</li>\n <li>{{'Some labels, fields, error messages and other content not being clearly identified by screen readers and voice\n activation software on mobile devices.' | rpxTranslate}}</li>\n</ul>\n\n<p *ngIf=\"!isEndpointMC\" class=\"govuk-body\">{{'When this assessment is complete, we will update this accessibility\n statement, to cover whether or not disproportionate burden is being claimed.' | rpxTranslate}}</p>\n\n<h2 class=\"govuk-heading-m\" id=\"Content-that\u2019s-not-within-the-scope-of-the-accessibility-regulations\">{{'Content that\\\u2019s\n not\n within the scope of the accessibility regulations' | rpxTranslate}} </h2>\n\n<p class=\"govuk-body\">{{'PDFs, documents and attachments to email notifications published before 23 September 2018 may\n not\n meet accessibility standards. For example, they may not be structured so they\\\u2019re accessible to a screen reader.' |\n rpxTranslate}}</p>\n\n<p class=\"govuk-body\">{{'Any new PDFs or Word documents we publish will meet accessibility standards.' | rpxTranslate}}\n</p>\n\n<h2 class=\"govuk-heading-l\" id=\"what-to-improve-accessibility\">{{'What we\\\u2019re doing to improve accessibility' |\n rpxTranslate}}</h2>\n\n<p class=\"govuk-body\">{{'We\\\u2019re committed to ensuring our services are accessible to all our users and that they comply\n with\n level AA of the Web Content Accessibility Guidelines \u2013 WCAG 2.1.' | rpxTranslate}}</p>\n\n<p class=\"govuk-body\">{{'We\\\u2019re actively working to improve the identified issues and aiming to make them AA-compliant\n by December 2024.' | rpxTranslate}}</p>\n<p class=\"govuk-body\">{{'We\\\u2019re currently preparing for an external audit carried out by the ' | rpxTranslate}}\n <a target=\"_blank\" href=\"https://digitalaccessibilitycentre.org/\"> {{'Digital Accessibility Centre (DAC).' |\n rpxTranslate}} </a>\n</p>\n\n<h2 class=\"govuk-heading-l\" id=\"preparation-of-this-accessibility-statement\">{{'Preparation of this accessibility\n statement' | rpxTranslate}}</h2>\n\n<p class=\"govuk-body\">{{'This statement was prepared on 16 September 2019. It was last reviewed in Spring/Summer 2023.'\n | rpxTranslate}}</p>\n\n<p class=\"govuk-body\">{{'This website was last tested on 19 May 2020. The service will be tested by' | rpxTranslate}} <a\n target=\"_blank\" href=\"https://digitalaccessibilitycentre.org/\">{{'Digital\n Accessibility Centre (DAC)' | rpxTranslate}}</a> {{'on 20 November 2023.' | rpxTranslate}}</p>", styles: [".govuk-list--alpha{padding-left:20px;list-style-type:lower-alpha}\n"] }]
736
736
  }], function () { return []; }, null); })();
737
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzaWJpbGl0eS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7OztJQ2tCaEQsMEJBQXlCO0lBQUEsWUFBZ0Y7O0lBQUEsaUJBQUs7O0lBQXJGLGVBQWdGO0lBQWhGLHlHQUFnRjs7O0lBcUJ6RywwQkFBMEI7SUFBQSxZQUFxRTs7SUFBQSxpQkFBSzs7SUFBMUUsZUFBcUU7SUFBckUsOEZBQXFFOzs7SUFDL0YsMEJBQTBCO0lBQUEsWUFBcUQ7O0lBQUEsaUJBQUs7O0lBQTFELGVBQXFEO0lBQXJELDhFQUFxRDs7O0lBQy9FLDBCQUEwQjtJQUFBLFlBQTJDOztJQUFBLGlCQUFLOztJQUFoRCxlQUEyQztJQUEzQyxvRUFBMkM7OztJQUNyRSwwQkFBeUI7SUFBQSxZQUFrRTs7SUFBQSxpQkFBSzs7SUFBdkUsZUFBa0U7SUFBbEUsMkZBQWtFOzs7SUFDM0YsMEJBQXlCO0lBQUEsWUFBcUU7O0lBQUEsaUJBQUs7O0lBQTFFLGVBQXFFO0lBQXJFLDZGQUFxRTs7O0lBRTlGLDBCQUF5QjtJQUFBLFlBQWdGOztJQUFBLGlCQUFLOztJQUFyRixlQUFnRjtJQUFoRix5R0FBZ0Y7OztJQXdFekcsMEJBQXlCLFlBQUE7SUFBaUQsK0NBQStCO0lBQUEsaUJBQUksRUFBQTs7O0lBbUUvRyw0QkFBMkM7SUFBQSxZQUc4Qzs7SUFBQSxpQkFBSTs7SUFIbEQs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O1FBQW5CLHdDQUFtQjtRQUduQixlQUFrQjtRQUFsQix1Q0FBa0I7UUFLbEIsZUFBa0I7UUFBbEIsdUNBQWtCO1FBR2pCLGVBQW1CO1FBQW5CLHdDQUFtQjtRQUVwQixlQUFtQjtRQUFuQix3Q0FBbUI7UUFLbEIsZUFBbUI7UUFBbkIsd0NBQW1CO1FBUXBCLGVBQW1CO1FBQW5CLHdDQUFtQjtRQUcrRSxlQUVoQztRQUZnQyxxSUFFaEM7UUFFaEQsZUFHTjtRQUhNLHdRQUdOO1FBRU0sZUFDdEI7UUFEc0IseUlBQ3RCO1FBRStELGVBQy9DO1FBRCtDLGdHQUMvQztRQUVNLGVBRThEO1FBRjlELCtOQUU4RDtRQUU5RCxlQUNlO1FBRGYscUtBQ2U7UUFDZixlQUNwQjtRQURvQixvSUFDcEI7UUFBbUUsZUFDbEQ7UUFEa0QsZ0dBQ2xEO1FBRzBELGVBQ2hEO1FBRGdELDZGQUNoRDtRQUVQLGVBQ0o7UUFESSwrSUFDSjtRQUVJLGVBQWdHO1FBQWhHLHNJQUFnRztRQUNuRCxlQUNuQjtRQURtQixvRkFDbkI7UUFBSyxlQUF5QztRQUF6QyxnRkFBeUM7O3VGRHpQakYsc0JBQXNCO2NBTmxDLFNBQVM7MkJBQ0Usc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneHVpbGliLWFjY2Vzc2liaWxpdHknLFxuICB0ZW1wbGF0ZVVybDogJy4vYWNjZXNzaWJpbGl0eS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjY2Vzc2liaWxpdHkuY29tcG9uZW50LnNjc3MnXVxufSlcblxuZXhwb3J0IGNsYXNzIEFjY2Vzc2liaWxpdHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgaXNFbmRwb2ludE1DOiBib29sZWFuO1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCB1cmxSZWYgPSB3aW5kb3cubG9jYXRpb24uaHJlZjtcbiAgICAvLyBwb2ludGluZyB0byBNQyAmIHByZXZpZXcuIE1heSBuZWVkIHRvIHJlZmFjdG9yIHRoaXMgaWZcbiAgICAvLyBtb3JlIGFwcGxpY2F0aW9ucyBhZGRlZCB0aGFuIE1PICYgTUNcbiAgICBpZiAodXJsUmVmLmluY2x1ZGVzKCdtYW5hZ2UtY2FzZScpXG4gICAgICB8fCB1cmxSZWYuaW5jbHVkZXMoJ3h1aS13ZWJhcHAnKVxuICAgICAgJiYgIXVybFJlZi5pbmNsdWRlcygneHVpLW1vLXdlYmFwcCcpKSB7XG4gICAgICB0aGlzLmlzRW5kcG9pbnRNQyA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNFbmRwb2ludE1DID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iLCI8aDEgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLXhsXCIgaWQ9XCJBY2Nlc3NpYmlsaXR5LXN0YXRlbWVudC1mb3ItRXhwZXJ0LVVJXCI+e3snQWNjZXNzaWJpbGl0eSBzdGF0ZW1lbnQgZm9yIE15SE1DVFMnIHxcbiAgcnB4VHJhbnNsYXRlIH19XG4gIHt7aXNFbmRwb2ludE1DID8gJ01hbmFnZSBDYXNlcycgOiAnTWFuYWdlIE9yZ2FuaXNhdGlvbicgfCBycHhUcmFuc2xhdGV9fTwvaDE+XG5cbjxwIGNsYXNzPVwiZ292dWstYm9keVwiPnt7J015SE1DVFMnIHxycHhUcmFuc2xhdGV9fSB7e2lzRW5kcG9pbnRNQyA/ICdNYW5hZ2UgQ2FzZXMnIDogJ01hbmFnZSBPcmdhbmlzYXRpb24nIHxcbiAgcnB4VHJhbnNsYXRlfX0ge3snaXMgdXNlZCBhY3Jvc3Mgc2V2ZXJhbCBzZXJ2aWNlcy4gUGxlYXNlIHVzZSBsaW5rcyB0byBmaW5kIGNvbnRhY3QgaW5mb3JtYXRpb24gZm9yIGVhY2ggc2VydmljZS4nIHxcbiAgcnB4VHJhbnNsYXRlfX08L3A+XG5cbjx1bCBjbGFzcz1cImdvdnVrLWxpc3RcIj5cbiAgPGxpPjxhIGhyZWY9XCJhY2Nlc3NpYmlsaXR5I2ltbWlncmF0aW9uXCI+e3snSW1taWdyYXRpb24gYW5kIEFzeWx1bScgfCBycHhUcmFuc2xhdGV9fTwvYT48L2xpPlxuICA8bGk+PGEgaHJlZj1cImFjY2Vzc2liaWxpdHkjZmFtaWx5XCI+e3snRmFtaWx5IFB1YmxpYyBMYXcnIHwgcnB4VHJhbnNsYXRlfX0gPC9hPjwvbGk+XG48L3VsPlxuXG48cCBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydUaGlzIHdlYnNpdGUgaXMgcnVuIGJ5IEhNIENvdXJ0cyAmIFRyaWJ1bmFscyBTZXJ2aWNlLiBXZSB3YW50IGFzIG1hbnkgcGVvcGxlIGFzIHBvc3NpYmxlIHRvIGJlXG4gIGFibGUgdG8gdXNlIHRoaXMgd2Vic2l0ZS4gRm9yIGV4YW1wbGUsIHlvdSBzaG91bGQgYmUgYWJsZSB0bzonIHwgcnB4VHJhbnNsYXRlfX08L3A+XG5cbjx1bCBjbGFzcz1cImdvdnVrLWxpc3QgZ292dWstbGlzdC0tYnVsbGV0XCI+XG4gIDxsaT57eydjaGFuZ2UgY29sb3VycywgY29udHJhc3QgbGV2ZWxzIGFuZCBmb250cycgfCBycHhUcmFuc2xhdGV9fTwvbGk+XG4gIDxsaSAqbmdJZj1cImlzRW5kcG9pbnRNQ1wiPnt7J3pvb20gaW4gdXAgdG8gMzAwJSB3aXRob3V0IHRoZSB0ZXh0IHNwaWxsaW5nIG9mZiB0aGUgc2NyZWVuJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbiAgPGxpPnt7J25hdmlnYXRlIG1vc3Qgb2YgdGhlIHdlYnNpdGUgdXNpbmcganVzdCBhIGtleWJvYXJkJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbiAgPGxpPnt7J25hdmlnYXRlIG1vc3Qgb2YgdGhlIHdlYnNpdGUgdXNpbmcgc3BlZWNoIHJlY29nbml0aW9uIHNvZnR3YXJlJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbiAgPGxpPnt7J2xpc3RlbiB0byBtb3N0IG9mIHRoZSB3ZWJzaXRlIHVzaW5nIGEgc2NyZWVuIHJlYWRlciAoaW5jbHVkaW5nIHRoZSBtb3N0IHJlY2VudCB2ZXJzaW9ucyBvZiBKQVdTLCBOVkRBIGFuZFxuICAgIFZvaWNlT3ZlciknIHwgcnB4VHJhbnNsYXRlfX1cbiAgPC9saT5cbjwvdWw+XG5cbjxwIGNsYXNzPVwiZ292dWstYm9keVwiPnt7J1dlXFzigJl2ZSBhbHNvIG1hZGUgdGhlIHdlYnNpdGUgdGV4dCBhcyBzaW1wbGUgYXMgcG9zc2libGUgdG8gdW5kZXJzdGFuZC4nIHwgcnB4VHJhbnNsYXRlfX08L3A+XG5cbjxwIGNsYXNzPVwiZ292dWstYm9keVwiPjxhIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly9tY213LmFiaWxpdHluZXQub3JnLnVrL1wiPnt7J0FiaWxpdHlOZXQnXG4gICAgfCBycHhUcmFuc2xhdGV9fTwvYT5cbiAge3snaGFzIGFkdmljZSBvbiBtYWtpbmcgeW91ciBkZXZpY2UgZWFzaWVyIHRvIHVzZSBpZiB5b3UgaGF2ZSBhIGRpc2FiaWxpdHkuJyB8IHJweFRyYW5zbGF0ZX19PC9wPlxuXG48aDIgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIiBpZD1cIkhvdy1hY2Nlc3NpYmxlLXRoaXMtd2Vic2l0ZS1pc1wiPnt7J0hvdyBhY2Nlc3NpYmxlIHRoaXMgd2Vic2l0ZSBpcycgfCBycHhUcmFuc2xhdGV9fTwvaDI+XG5cbjxwIGNsYXNzPVwiZ292dWstYm9keVwiPnt7J1dlIGtub3cgc29tZSBwYXJ0cyBvZiB0aGUgd2Vic2l0ZSBhcmUgbm90IGZ1bGx5IGFjY2Vzc2libGU6JyB8IHJweFRyYW5zbGF0ZX19PC9wPlxuXG48dWwgY2xhc3M9XCJnb3Z1ay1saXN0IGdvdnVrLWxpc3QtLWJ1bGxldFwiPlxuICA8bGk+e3snc29tZSBwYWdlcyBjYW5cXCd0IGJlIHpvb21lZCBpbiB0byA0MDAlIHdpdGhvdXQgY29udGVudCBvdmVybGFwcGluZycgfCBycHhUcmFuc2xhdGV9fTwvbGk+XG4gIDxsaT57eydzb21lIHBhZ2UgdGl0bGVzIGFyZW5cXCd0IHBhZ2Ugc3BlY2lmaWMnIHwgcnB4VHJhbnNsYXRlfX08L2xpPlxuICA8bGkgKm5nSWY9XCIhaXNFbmRwb2ludE1DXCI+e3snc29tZSBwYWdlcyBkbyBub3QgZm9sbG93IGEgbG9naWNhbCB0YWJiaW5nIG9yZGVyJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbiAgPGxpICpuZ0lmPVwiIWlzRW5kcG9pbnRNQ1wiPnt7J3NvbWUgaGVhZGluZ3MgbGV2ZWxzIGFyZSBza2lwcGVkJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbiAgPGxpICpuZ0lmPVwiIWlzRW5kcG9pbnRNQ1wiPnt7J3NvbWUgbGlua3MgZG8gbm90IHdvcmsnIHwgcnB4VHJhbnNsYXRlfX08L2xpPlxuICA8bGkgKm5nSWY9XCJpc0VuZHBvaW50TUNcIj57eydpdCBtYXkgYmUgZGlmZmljdWx0IHRvIG5hdmlnYXRlIGJldHdlZW4gcGFnZXMnIHwgcnB4VHJhbnNsYXRlfX08L2xpPlxuICA8bGkgKm5nSWY9XCJpc0VuZHBvaW50TUNcIj57eydzb21lIGhlYWRpbmdzIGFuZCBsYWJlbHMgYXJlblxcJ3Qgc3BlY2lmaWMgZW5vdWdoJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbiAgPGxpPnt7J3NvbWUgUERGcyBtYXkgbm90IGJlIGZ1bGx5IGFjY2Vzc2libGUgdG8gYSBzY3JlZW4gcmVhZGVyJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbiAgPGxpICpuZ0lmPVwiaXNFbmRwb2ludE1DXCI+e3snc29tZSBidXR0b25zIG1heSBub3QgY29tbXVuaWNhdGUgY29sbGFwc2VkIHN0YXR1cyBvbiBtb2JpbGUnIHwgcnB4VHJhbnNsYXRlfX08L2xpPlxuPC91bD5cblxuPGgyIGNsYXNzPVwiZ292dWstaGVhZGluZy1sXCIgaWQ9XCJXaGF0LXRvLWRvLWlmLXlvdS1jYW5ub3QtYWNjZXNzLXBhcnRzLW9mLXRoaXMtd2Vic2l0ZVwiPnt7J0ZlZWRiYWNrIGFuZCBjb250YWN0XG4gIGluZm9ybWF0aW9uJyB8IHJweFRyYW5zbGF0ZX19PC9oMj5cblxuPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+e3snSWYgeW91XFwncmUgYSBsZWdhbCBwcm9mZXNzaW9uYWwgYW5kIG5lZWQgaW5mb3JtYXRpb24gb24gdGhpcyB3ZWJzaXRlIGluIGEgZGlmZmVyZW50IGZvcm1hdCBsaWtlXG4gIGFjY2Vzc2libGUgUERGLCBsYXJnZSBwcmludCwgZWFzeSByZWFkLCBhdWRpbyByZWNvcmRpbmcgb3IgYnJhaWxsZSwgeW91IGNhbjonIHwgcnB4VHJhbnNsYXRlfX08L3A+XG5cbjx1bCBjbGFzcz1cImdvdnVrLWxpc3QgZ292dWstbGlzdC0tYnVsbGV0XCI+XG4gIDxsaT57eydlbWFpbDonIHwgcnB4VHJhbnNsYXRlfX0gPGEgaHJlZj1cIm1haWx0bzpITUNUU2Zvcm1zQGp1c3RpY2UuZ292LnVrXCI+IEhNQ1RTZm9ybXNAanVzdGljZS5nb3YudWs8L2E+PC9saT5cbiAgPGxpPnt7J2NhbGwgdGhlIHNlcnZpY2UgeW91IHJlcXVpcmUsIGFzIGxpc3RlZCBiZWxvdy4nIHwgcnB4VHJhbnNsYXRlfX08L2xpPlxuPC91bD5cblxuXG48aDIgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIiBpZD1cIkFkb3B0aW9uXCI+e3snQWRvcHRpb24nIHwgcnB4VHJhbnNsYXRlfX08L2gyPlxuPHVsIGNsYXNzPVwiZ292dWstbGlzdCBnb3Z1ay1saXN0LS1idWxsZXRcIj5cbiAgPGxpPnt7J2NhbGw6IDAxNjM0IDg4NzkwMCcgfCBycHhUcmFuc2xhdGV9fTwvbGk+XG48L3VsPlxuXG48aDIgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIiBpZD1cIkRpdm9yY2UtYW5kLWZpbmFuY2lhbC1yZW1lZHlcIj57eydEaXZvcmNlIGFuZCBGaW5hbmNpYWwgUmVtZWR5JyB8IHJweFRyYW5zbGF0ZX19PC9oMj5cbjx1bCBjbGFzcz1cImdvdnVrLWxpc3QgZ292dWstbGlzdC0tYnVsbGV0XCI+XG4gIDxsaT57eydjYWxsOiAwMzAwIDEyMyAxMzcyJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbjwvdWw+XG5cbjxoMiBjbGFzcz1cImdvdnVrLWhlYWRpbmctbFwiIGlkPVwiQ2l2aWwtZGFtYWdlcy1zZXJ2aWNlXCI+e3snQ2l2aWwgRGFtYWdlcyBTZXJ2aWNlJyB8IHJweFRyYW5zbGF0ZX19PC9oMj5cbjx1bCBjbGFzcz1cImdvdnVrLWxpc3QgZ292dWstbGlzdC0tYnVsbGV0XCI+XG4gIDxsaT57eydjYWxsOiAwMzAwIDEyMyAxMzcyJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbjwvdWw+XG5cbjxoMiBjbGFzcz1cImdvdnVrLWhlYWRpbmctbFwiIGlkPVwiRmFtaWx5LXB1YmxpYy1sYXdcIj57eydGYW1pbHkgUHVibGljIExhdycgfCBycHhUcmFuc2xhdGV9fTwvaDI+XG48dWwgY2xhc3M9XCJnb3Z1ay1saXN0IGdvdnVrLWxpc3QtLWJ1bGxldFwiPlxuICA8bGk+e3snY2FsbDogMDMzMCA4MDggNDQyNCcgfCBycHhUcmFuc2xhdGV9fTwvbGk+XG48L3VsPlxuXG48aDIgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIiBpZD1cIkltbWlncmF0aW9uLWFuZC1hc3lsdW0tY2hhbWJlclwiPnt7J0ltbWlncmF0aW9uIGFuZCBBc3lsdW0gQ2hhbWJlcicgfCBycHhUcmFuc2xhdGV9fTwvaDI+XG48dWwgY2xhc3M9XCJnb3Z1ay1saXN0IGdvdnVrLWxpc3QtLWJ1bGxldFwiPlxuICA8bGk+e3snY2FsbDogMDMwMCAxMjMgMTcxMScgfCBycHhUcmFuc2xhdGV9fTwvbGk+XG48L3VsPlxuXG48aDIgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIiBpZD1cIk9ubGluZS1jaXZpbC1tb25leS1jbGFpbXNcIj57eydPbmxpbmUgQ2l2aWwgTW9uZXkgQ2xhaW1zJyB8IHJweFRyYW5zbGF0ZX19PC9oMj5cbjx1bCBjbGFzcz1cImdvdnVrLWxpc3QgZ292dWstbGlzdC0tYnVsbGV0XCI+XG4gIDxsaT57eydjYWxsOiAwMzAwIDEyMyA3MDUwJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbjwvdWw+XG5cbjxoMiBjbGFzcz1cImdvdnVrLWhlYWRpbmctbFwiIGlkPVwiUHJpdmF0ZS1sYXdcIj57eydQcml2YXRlIExhdycgfCBycHhUcmFuc2xhdGV9fTwvaDI+XG48dWwgY2xhc3M9XCJnb3Z1ay1saXN0IGdvdnVrLWxpc3QtLWJ1bGxldFwiPlxuICA8bGk+e3snY2FsbDogMDMwMCAzMjMgMDE4NScgfCBycHhUcmFuc2xhdGV9fTwvbGk+XG48L3VsPlxuXG48aDIgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIiBpZD1cIlByb2JhdGVcIj57eydQcm9iYXRlJyB8IHJweFRyYW5zbGF0ZX19PC9oMj5cbjx1bCBjbGFzcz1cImdvdnVrLWxpc3QgZ292dWstbGlzdC0tYnVsbGV0XCI+XG4gIDxsaT57eydjYWxsOiAwMzAwIDMwMyAwNjQ4JyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbjwvdWw+XG5cbjxoMiBjbGFzcz1cImdvdnVrLWhlYWRpbmctbFwiIGlkPVwiU29jaWFsLXNlY3VyaXR5LWFuZC1jaGlsZC1zdXBwb3J0XCI+e3snU29jaWFsIFNlY3VyaXR5IGFuZCBDaGlsZCBTdXBwb3J0JyB8XG4gIHJweFRyYW5zbGF0ZX19PC9oMj5cbjx1bCBjbGFzcz1cImdvdnVrLWxpc3QgZ292dWstbGlzdC0tYnVsbGV0XCI+XG4gIDxsaT57eydjYWxsOiAwMzAwIDEyMyAxMTQyJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbjwvdWw+XG5cbjxwIGNsYXNzPVwiZ292dWstYm9keVwiPnt7J1dlXFwnbGwgY29uc2lkZXIgeW91ciByZXF1ZXN0IGFuZCBnZXQgYmFjayB0byB5b3UgaW4gMTAgd29ya2luZyBkYXlzLicgfCBycHhUcmFuc2xhdGV9fTwvcD5cbjxwIGNsYXNzPVwiZ292dWstYm9keVwiPnt7J0lmIHlvdSBhIG1lbWJlciBvZiBITUNUUyBzdGFmZiBvciB0aGUgSnVkaWNpYXJ5IHNwZWFrIHRvIHlvdXIgbGluZSBtYW5hZ2VyIG9yIGVxdWl2YWxlbnQgaW4gdGhlXG4gIGZpcnN0IGluc3RhbmNlLicgfCBycHhUcmFuc2xhdGV9fTwvcD5cblxuPGgyIGNsYXNzPVwiZ292dWstaGVhZGluZy1sXCIgaWQ9XCJSZXBvcnRpbmctYWNjZXNzaWJpbGl0eS1wcm9ibGVtcy13aXRoLXRoaXMtd2Vic2l0ZVwiPnt7J1JlcG9ydGluZyBhY2Nlc3NpYmlsaXR5IHByb2JsZW1zXG4gIHdpdGggdGhpcyB3ZWJzaXRlJyB8IHJweFRyYW5zbGF0ZX19PC9oMj5cblxuPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+e3snV2VcXCdyZSBhbHdheXMgbG9va2luZyB0byBpbXByb3ZlIHRoZSBhY2Nlc3NpYmlsaXR5IG9mIHRoaXMgd2Vic2l0ZS4gSWYgeW91XFwncmUgYSBsZWdhbCBwcm9mZXNzaW9uYWwgYW5kIGZpbmQgYW55IHByb2JsZW1zIG5vdCBsaXN0ZWQgb24gdGhpcyBwYWdlIG9yIHRoaW5rIHdlXFwncmUgbm90IG1lZXRpbmcgYWNjZXNzaWJpbGl0eSByZXF1aXJlbWVudHMsIGNvbnRhY3Q6JyB8IHJweFRyYW5zbGF0ZX19PC9wPlxuXG48dWwgY2xhc3M9XCJnb3Z1ay1saXN0IGdvdnVrLWxpc3QtLWJ1bGxldFwiPlxuICA8bGk+e3snZW1haWw6JyB8IHJweFRyYW5zbGF0ZX19IDxhIGhyZWY9XCJtYWlsdG86TUNUU2Zvcm1zQGp1c3RpY2UuZ292LnVrXCI+IEhNQ1RTZm9ybXNAanVzdGljZS5nb3YudWs8L2E+PC9saT5cbiAgPGxpICpuZ0lmPVwiaXNFbmRwb2ludE1DXCI+PGEgaHJlZj1cIm1haWx0bzpjdXN0b21lci5zZXJ2aWNlQGp1c3RpY2UuZ292LnVrXCI+Y3VzdG9tZXIuc2VydmljZUBqdXN0aWNlLmdvdi51azwvYT48L2xpPlxuICA8bGk+Y2FsbCB0aGUgc2VydmljZSB5b3UgcmVxdWlyZSBhcyBsaXN0ZWQgYWJvdmUuPC9saT5cbjwvdWw+XG5cbjxwIGNsYXNzPVwiZ292dWstYm9keVwiPnt7J0lmIHlvdSBhIG1lbWJlciBvZiBITUNUUyBzdGFmZiBvciB0aGUgSnVkaWNpYXJ5IHNwZWFrIHRvIHlvdXIgbGluZSBtYW5hZ2VyIG9yIGVxdWl2YWxlbnQgaW4gdGhlXG4gIGZpcnN0IGluc3RhbmNlLicgfCBycHhUcmFuc2xhdGV9fTwvcD5cblxuXG48aDIgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIiBpZD1cIkVuZm9yY2VtZW50LXByb2NlZHVyZSBcIj57eydFbmZvcmNlbWVudCBwcm9jZWR1cmUnIHwgcnB4VHJhbnNsYXRlfX08L2gyPlxuXG48cCBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydUaGUgRXF1YWxpdHkgYW5kIEh1bWFuIFJpZ2h0cyBDb21taXNzaW9uIChFSFJDKSBpcyByZXNwb25zaWJsZSBmb3IgZW5mb3JjaW5nIHRoZSBQdWJsaWMgU2VjdG9yXG4gIEJvZGllcyAoV2Vic2l0ZXMgYW5kIE1vYmlsZSBBcHBsaWNhdGlvbnMpIChOby4gMikgQWNjZXNzaWJpbGl0eSBSZWd1bGF0aW9ucyAyMDE4ICh0aGUgXFzigJhhY2Nlc3NpYmlsaXR5XG4gIHJlZ3VsYXRpb25zXFzigJkpLicgfCBycHhUcmFuc2xhdGV9fSA8L3A+XG5cbjxwIGNsYXNzPVwiZ292dWstYm9keVwiPnt7J0lmIHlvdVxc4oCZcmUgbm90IGhhcHB5IHdpdGggaG93IHdlIHJlc3BvbmQgdG8geW91ciBjb21wbGFpbnQsJyB8IHJweFRyYW5zbGF0ZX19IDxhXG4gICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL3d3dy5lcXVhbGl0eWFkdmlzb3J5c2VydmljZS5jb20vXCI+e3snY29udGFjdFxuICAgIHRoZSBFcXVhbGl0eSBBZHZpc29yeSBhbmQgU3VwcG9ydCBTZXJ2aWNlIChFQVNTKS4nIHwgcnB4VHJhbnNsYXRlfX08L2E+PC9wPlxuXG48aDEgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIiBpZD1cIkNvbnRhY3RpbmctdXMtYnktcGhvbmUtb3ItdmlzaXRpbmctdXMtaW4tcGVyc29uXCI+e3snQ29udGFjdGluZyB1cyBieSBwaG9uZSBvciB2aXNpdGluZ1xuICB1c1xuICBpbiBwZXJzb24nIHwgcnB4VHJhbnNsYXRlfX08L2gxPlxuXG48cCBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydXZSBwcm92aWRlIGEgdGV4dCByZWxheSBzZXJ2aWNlIGZvciBwZW9wbGUgd2hvIGFyZSBEL2RlYWYsIGhlYXJpbmcgaW1wYWlyZWQgb3IgaGF2ZSBhIHNwZWVjaFxuICBpbXBlZGltZW50LicgfCBycHhUcmFuc2xhdGV9fTwvcD5cblxuPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+e3snT3VyIG9mZmljZXMgYW5kIHRyaWJ1bmFsIHZlbnVlcyBoYXZlIGF1ZGlvIGluZHVjdGlvbiBsb29wcywgb3IgaWYgeW91IGNvbnRhY3QgdXMgYmVmb3JlIHlvdXJcbiAgdmlzaXRcbiAgd2UgY2FuIGFycmFuZ2UgYSBCcml0aXNoIFNpZ24gTGFuZ3VhZ2UgKEJTTCkgaW50ZXJwcmV0ZXIuIFlvdSBjYW4gYWxzbyByZXF1ZXN0IHN0ZXAtZnJlZSBhY2Nlc3Mgb3IgYSBmb3JlaWduIGxhbmd1YWdlXG4gIGludGVycHJldGVyLicgfCBycHhUcmFuc2xhdGV9fTwvcD5cblxuPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+e3snRmluZCBvdXQgaG93IHRvIGNvbnRhY3QgdXMgdXNpbmcgdGhlIGNvbnRhY3QgZGV0YWlscyBhYm92ZSBvciAnIHwgcnB4VHJhbnNsYXRlfX0gPGFcbiAgICB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly9jb3VydHRyaWJ1bmFsZmluZGVyLnNlcnZpY2UuZ292LnVrL3NlYXJjaC9cIj57eydmaW5kXG4gICAgdGhlIGNvbnRhY3QgZGV0YWlscyBmb3IgY291cnQgYW5kIHRyaWJ1bmFsIHZlbnVlcycgfCBycHhUcmFuc2xhdGV9fTwvYT4uIDwvcD5cblxuXG48aDIgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIiBpZD1cIlRlY2huaWNhbC1pbmZvcm1hdGlvbi1hYm91dC10aGlzLXdlYnNpdGUtYWNjZXNzaWJpbGl0eVwiPnt7J1RlY2huaWNhbCBpbmZvcm1hdGlvbiBhYm91dFxuICB0aGlzIHdlYnNpdGVcXOKAmXMgYWNjZXNzaWJpbGl0eScgfCBycHhUcmFuc2xhdGV9fTwvaDI+XG5cbjxwIGNsYXNzPVwiZ292dWstYm9keVwiPnt7J0hNQ1RTIGlzIGNvbW1pdHRlZCB0byBtYWtpbmcgaXRzIHdlYnNpdGUgYWNjZXNzaWJsZSwgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBQdWJsaWMgU2VjdG9yXG4gIEJvZGllcyAoV2Vic2l0ZXMgYW5kIE1vYmlsZSBBcHBsaWNhdGlvbnMpIChOby4yKVxuICBBY2Nlc3NpYmlsaXR5IFJlZ3VsYXRpb25zIDIwMTguJyB8IHJweFRyYW5zbGF0ZX19PC9wPlxuXG5cbjxoMiBjbGFzcz1cImdvdnVrLWhlYWRpbmctbFwiIGlkPVwiQ29tcGxpYW5jZS1zdGF0dXNcIj57eydDb21wbGlhbmNlIFN0YXR1cycgfCBycHhUcmFuc2xhdGV9fTwvaDI+XG5cbjxwIGNsYXNzPVwiZ292dWstYm9keVwiPnt7J1RoaXMgd2Vic2l0ZSBpcyBwYXJ0aWFsbHkgY29tcGxpYW50IHdpdGggdGhlICcgfCBycHhUcmFuc2xhdGV9fTxhIHRhcmdldD1cIl9ibGFua1wiXG4gICAgaHJlZj1cImh0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FHMjEvXCI+XG4gICAge3snV2ViIENvbnRlbnQgQWNjZXNzaWJpbGl0eSBHdWlkZWxpbmVzIHZlcnNpb24gMi4xICcgfCBycHhUcmFuc2xhdGV9fTwvYT5cbiAge3snZHVlIHRvIHRoZSBub24tY29tcGxpYW5jZXMgbGlzdGVkIGJlbG93LicgfCBycHhUcmFuc2xhdGV9fVxuPC9wPlxuPGgyIGNsYXNzPVwiZ292dWstaGVhZGluZy1sXCIgaWQ9XCJOb24tYWNjZXNzaWJsZS1jb250ZW50XCI+e3snTm9uLWFjY2Vzc2libGUgY29udGVudCcgfCBycHhUcmFuc2xhdGV9fTwvaDI+XG5cbjxwIGNsYXNzPVwiZ292dWstYm9keVwiPnt7J1RoZSBjb250ZW50IGxpc3RlZCBiZWxvdyBpcyBub24tY29tcGxpYW50IGZvciB0aGUgZm9sbG93aW5nIHJlYXNvbnMuJyB8IHJweFRyYW5zbGF0ZX19PC9wPlxuXG5cbjxoMiBjbGFzcz1cImdvdnVrLWhlYWRpbmctbFwiIGlkPVwiTm9uLWNvbXBsaWFuY2Utd2l0aC10aGUtYWNjZXNzaWJpbGl0eS1yZWd1bGF0aW9uc1wiPnt7J05vbi1jb21wbGlhbmNlIHdpdGggdGhlXG4gIGFjY2Vzc2liaWxpdHlcbiAgcmVndWxhdGlvbnMnIHwgcnB4VHJhbnNsYXRlfX08L2gyPlxuXG48cCBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydXaGVuIHpvb21lZCBpbiAyMDAlLCBjb250ZW50IG92ZXJsYXBzIGFuZCBkb2VzIG5vdCByZWZsb3csIHNvIHNvbWUgcGVvcGxlIHdpbGwgaGF2ZSBkaWZmaWN1bHR5XG4gIHZpZXdpbmcgcGFnZXMuXG4gIFRoaXMgZmFpbHMgV0NBRyAyLjEgc3VjY2VzcyBjcml0ZXJpb24gMS40LjEwOiBSZWZsb3cgKExldmVsIEFBKS4nIHwgcnB4VHJhbnNsYXRlfX08L3A+XG5cbjxwIGNsYXNzPVwiZ292dWstYm9keVwiPnt7J1NvbWUgcGFnZSB0aXRsZXMgYXJlIG5vdCB1bmlxdWUgdG8gdGhlIHNjcmVlbnMsIHNvIHNjcmVlbnJlYWRlciB1c2VycyBtYXkgc3RydWdnbGUgdG8ga25vd1xuICB3aGljaCBwYWdlIHRoZXkgYXJlIG9uLlxuICBUaGlzIGZhaWxzIFdDQUcgMi4xIHN1Y2Nlc3MgY3JpdGVyaW9uIDIuNC4yOiBQYWdlIFRpdGxlZCAoTGV2ZWwgQSknIHwgcnB4VHJhbnNsYXRlfX08L3A+XG5cbjxwICpuZ0lmPVwiaXNFbmRwb2ludE1DXCIgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+e3snSXQgaXMgZGlmZmljdWx0IHRvIHVuZGVyc3RhbmQgaG93IHNvbWUgcGFnZXMgYXJlIHJlbGF0ZWQgdG8gb25lIGFub3RoZXIsXG4gIGFuZCB3aGVyZSB0aGV5IGFyZSBpblxuICB0aGUgY29udGV4dCBvZiB0aGUgd2hvbGUgc2l0ZS5cbiAgVGhpcyBmYWlscyBXQ0FHIDIuMSBzdWNjZXNzIGNyaXRlcmlvbiAyLjQuNTogTXVsdGlwbGUgV2F5cyAoTGV2ZWwgQUEpJyB8IHJweFRyYW5zbGF0ZX19PC9wPlxuXG48cCAqbmdJZj1cIiFpc0VuZHBvaW50TUNcIiBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydTb21lIHVzZXJzIG1heSBzdHJ1Z2dsZSB3aXRoIGtleWJvYXJkIG9yZGVyIHdoZW4gdGFiYmluZyBhZnRlciBhbiBlcnJvclxuICBpcyBwcmVzZW50ZWQuIFRoaXMgZmFpbHMgV0NBRyAyLjEgc3VjY2VzcyBjcml0ZXJpb24gMi40LjM6IEZvY3VzIE9yZGVyIChMZXZlbCBBKS4nIHwgcnB4VHJhbnNsYXRlfX08L3A+XG48cCAqbmdJZj1cIiFpc0VuZHBvaW50TUNcIiBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydTb21lIGhlYWRpbmdzIGFyZSBza2lwcGVkLCBzbyBzb21lIHVzZXJzIG1heSBzdHJ1Z2dsZSB0byBuYXZpZ2F0ZSB3aXRoXG4gIHNjcmVlbiByZWFkZXIgdmlhIGhlYWRpbmdzLiBUaGlzIGZhaWxzIFdDQUcgMi4xIHN1Y2Nlc3MgY3JpdGVyaW9uIDIuNC42OiBIZWFkaW5ncyBhbmQgbGFiZWxzIChMZXZlbCBBQSkuJyB8XG4gIHJweFRyYW5zbGF0ZX19PC9wPlxuPHAgKm5nSWY9XCIhaXNFbmRwb2ludE1DXCIgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+e3snU29tZSBlcnJvciBsaW5rcyBkbyBub3QgdGFrZSB0aGUgdXNlciB0byB0aGUgc3BlY2lmaWMgZXJyb3IgZmllbGQsIHNvXG4gIHNvbWUgcGVvcGxlIG1heSBzdHJ1Z2dsZSB3aXRoIGludGVyYWN0aW5nIHdpdGggdGhlIGxpbmtzLiBUaGlzIGZhaWxzIFdDQUcgMi4xIHN1Y2Nlc3MgY3JpdGVyaW9uIDMuMi4xOiBPbiBGb2N1cyAoTGV2ZWxcbiAgQSkuJyB8IHJweFRyYW5zbGF0ZX19PC9wPlxuPHAgKm5nSWY9XCJpc0VuZHBvaW50TUNcIiBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydUaGUgaGVhZGluZyBcXCdGaWx0ZXJcXCcgdG9nZXRoZXIgd2l0aCB0aGUgbm9uLXVuaXF1ZSBcXCdDYXNlIExpc3RcXCcgaGVhZGluZ3NcbiAgaGVhdmlseSBpbXBseSB0aGF0IGEgdXNlciBpcyBmaWx0ZXJpbmcgb25lIFxcJ0Nhc2UgTGlzdFxcJyB0YWJsZSwgdG8gd2hpY2ggdGhleSBoYXZlIGFjY2VzcywgYWNjb3JkaW5nIHRvIHRoZSBmaWx0ZXJzIHRoZXkgc2VsZWN0LiBIb3dldmVyLCB0aGlzIGlzXG4gIG5vdCB0aGUgY2FzZS4gU29tZSB1c2VycyBtYXkgc3RydWdnbGUgd2l0aCBoZWFkaW5nIGZpbHRlcnMgYXMgaXQgaXMgbm90IGNsZWFyIHdoaWNoIG9uZXMgY29ycmVzcG9uZCB0byB0aGUgdGFibGUgZGF0YS5cbiAgVGhpcyBmYWlscyBXQ0FHIDIuMSBzdWNjZXNzIGNyaXRlcmlvbiAyLjQuNjogSGVhZGluZ3MgYW5kIGxhYmVscyAoTGV2ZWwgQUEpJyB8IHJweFRyYW5zbGF0ZX19PC9wPlxuXG48cCAqbmdJZj1cImlzRW5kcG9pbnRNQ1wiIGNsYXNzPVwiZ292dWstYm9keVwiPnt7J1NvbWUgdXNlcnMgbWF5IHN0cnVnZ2xlIG9uIG1vYmlsZSB3aGVyZSBhIHNjcmVlbiByZWFkZXIgZG9lc25cXCd0IGluZGljYXRlXG4gIHRoYXQgYnV0dG9ucyBhcmUgY29sbGFwc2libGUuIFRoaXMgZmFpbHMgV0NBRyAyLjEgc3VjY2VzcyBjcml0ZXJpb24gNC4xLjI6IE5hbWUsIFJvbGUsIFZhbHVlIChMZXZlbCBBKScgfCBycHhUcmFuc2xhdGV9fTwvcD5cblxuPGgyICpuZ0lmPVwiIWlzRW5kcG9pbnRNQ1wiIGNsYXNzPVwiZ292dWstaGVhZGluZy1tXCIgaWQ9XCJEaXNwcm9wb3J0aW9uYXRlLWJ1cmRlblwiPnt7J0Rpc3Byb3BvcnRpb25hdGUgYnVyZGVuJyB8IHJweFRyYW5zbGF0ZX19IDwvaDI+XG5cbjxwICpuZ0lmPVwiIWlzRW5kcG9pbnRNQ1wiIGNsYXNzPVwiZ292dWstYm9keVwiPnt7J1dlXFwncmUgY29uc2lkZXJpbmcgaWYgZml4aW5nIHNvbWUgaXNzdWVzIHdvdWxkIGJlIGEnIHwgcnB4VHJhbnNsYXRlfX0gPGFcbiAgICB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly93d3cubGVnaXNsYXRpb24uZ292LnVrL3Vrc2kvMjAxOC85NTIvcmVndWxhdGlvbi83L21hZGUvXCI+e3snZGlzcHJvcG9ydGlvbmF0ZSBidXJkZW4nIHxcbiAgICBycHhUcmFuc2xhdGV9fTwvYT4ge3snd2l0aGluIHRoZSBtZWFuaW5nIG9mXG4gIHRoZSBhY2Nlc3NpYmlsaXR5IHJlZ3VsYXRpb25zLiBUaGVzZSBpc3N1ZXMgYXJlOicgfCBycHhUcmFuc2xhdGV9fTwvcD5cblxuPHVsICpuZ0lmPVwiIWlzRW5kcG9pbnRNQ1wiIGNsYXNzPVwiZ292dWstbGlzdCBnb3Z1ay1saXN0LS1idWxsZXRcIj5cbiAgPGxpPnt7J1NjcmVlbiByZWFkZXJzIG5vdCBwaWNraW5nIHVwIGhvdyBwYWdlcyBhcmUgcmVsYXRlZCB0byBvbmUgYW5vdGhlciwgYW5kIHdoZXJlIHRoZXkgYXJlIGluIHRoZSBjb250ZXh0IG9mIHRoZVxuICAgIHdob2xlIHNpdGUnIHwgcnB4VHJhbnNsYXRlfX08L2xpPlxuICA8bGk+e3snU2NyZWVuIHJlYWRlcnMgbm90IHBpY2tpbmcgdXAgb24gbm9uLXVuaXF1ZSB0YWJsZSBoZWFkaW5ncyBvbiB0aGUgc2FtZSBwYWdlJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbiAgPGxpPnt7J1NvbWUgbGFiZWxzLCBmaWVsZHMsIGVycm9yIG1lc3NhZ2VzIGFuZCBvdGhlciBjb250ZW50IG5vdCBiZWluZyBjbGVhcmx5IGlkZW50aWZpZWQgYnkgc2NyZWVuIHJlYWRlcnMgYW5kIHZvaWNlXG4gICAgYWN0aXZhdGlvbiBzb2Z0d2FyZSBvbiBtb2JpbGUgZGV2aWNlcy4nIHwgcnB4VHJhbnNsYXRlfX08L2xpPlxuPC91bD5cblxuPHAgKm5nSWY9XCIhaXNFbmRwb2ludE1DXCIgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+e3snV2hlbiB0aGlzIGFzc2Vzc21lbnQgaXMgY29tcGxldGUsIHdlIHdpbGwgdXBkYXRlIHRoaXMgYWNjZXNzaWJpbGl0eVxuICBzdGF0ZW1lbnQsIHRvIGNvdmVyIHdoZXRoZXIgb3Igbm90IGRpc3Byb3BvcnRpb25hdGUgYnVyZGVuIGlzIGJlaW5nIGNsYWltZWQuJyB8IHJweFRyYW5zbGF0ZX19PC9wPlxuXG48aDIgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLW1cIiBpZD1cIkNvbnRlbnQtdGhhdOKAmXMtbm90LXdpdGhpbi10aGUtc2NvcGUtb2YtdGhlLWFjY2Vzc2liaWxpdHktcmVndWxhdGlvbnNcIj57eydDb250ZW50IHRoYXRcXOKAmXNcbiAgbm90XG4gIHdpdGhpbiB0aGUgc2NvcGUgb2YgdGhlIGFjY2Vzc2liaWxpdHkgcmVndWxhdGlvbnMnIHwgcnB4VHJhbnNsYXRlfX0gPC9oMj5cblxuPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+e3snUERGcywgZG9jdW1lbnRzIGFuZCBhdHRhY2htZW50cyB0byBlbWFpbCBub3RpZmljYXRpb25zIHB1Ymxpc2hlZCBiZWZvcmUgMjMgU2VwdGVtYmVyIDIwMTggbWF5XG4gIG5vdFxuICBtZWV0IGFjY2Vzc2liaWxpdHkgc3RhbmRhcmRzLiBGb3IgZXhhbXBsZSwgdGhleSBtYXkgbm90IGJlIHN0cnVjdHVyZWQgc28gdGhleVxc4oCZcmUgYWNjZXNzaWJsZSB0byBhIHNjcmVlbiByZWFkZXIuJyB8XG4gIHJweFRyYW5zbGF0ZX19PC9wPlxuXG48cCBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydBbnkgbmV3IFBERnMgb3IgV29yZCBkb2N1bWVudHMgd2UgcHVibGlzaCB3aWxsIG1lZXQgYWNjZXNzaWJpbGl0eSBzdGFuZGFyZHMuJyB8IHJweFRyYW5zbGF0ZX19XG48L3A+XG5cbjxoMiBjbGFzcz1cImdvdnVrLWhlYWRpbmctbFwiIGlkPVwid2hhdC10by1pbXByb3ZlLWFjY2Vzc2liaWxpdHlcIj57eydXaGF0IHdlXFzigJlyZSBkb2luZyB0byBpbXByb3ZlIGFjY2Vzc2liaWxpdHknIHxcbiAgcnB4VHJhbnNsYXRlfX08L2gyPlxuXG48cCBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydXZVxc4oCZcmUgY29tbWl0dGVkIHRvIGVuc3VyaW5nIG91ciBzZXJ2aWNlcyBhcmUgYWNjZXNzaWJsZSB0byBhbGwgb3VyIHVzZXJzIGFuZCB0aGF0IHRoZXkgY29tcGx5XG4gIHdpdGhcbiAgbGV2ZWwgQUEgb2YgdGhlIFdlYiBDb250ZW50IEFjY2Vzc2liaWxpdHkgR3VpZGVsaW5lcyDigJMgV0NBRyAyLjEuJyB8IHJweFRyYW5zbGF0ZX19PC9wPlxuXG48cCBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydXZVxc4oCZcmUgYWN0aXZlbHkgd29ya2luZyB0byBpbXByb3ZlIHRoZSBpZGVudGlmaWVkIGlzc3VlcyBhbmQgYWltaW5nIHRvIG1ha2UgdGhlbSBBQS1jb21wbGlhbnRcbiAgYnkgRGVjZW1iZXIgMjAyNC4nIHwgcnB4VHJhbnNsYXRlfX08L3A+XG48cCBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydXZVxc4oCZcmUgY3VycmVudGx5IHByZXBhcmluZyBmb3IgYW4gZXh0ZXJuYWwgYXVkaXQgY2FycmllZCBvdXQgYnkgdGhlICcgfCBycHhUcmFuc2xhdGV9fVxuICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly9kaWdpdGFsYWNjZXNzaWJpbGl0eWNlbnRyZS5vcmcvXCI+IHt7J0RpZ2l0YWwgQWNjZXNzaWJpbGl0eSBDZW50cmUgKERBQykuJyB8XG4gICAgcnB4VHJhbnNsYXRlfX0gPC9hPlxuPC9wPlxuXG48aDIgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIiBpZD1cInByZXBhcmF0aW9uLW9mLXRoaXMtYWNjZXNzaWJpbGl0eS1zdGF0ZW1lbnRcIj57eydQcmVwYXJhdGlvbiBvZiB0aGlzIGFjY2Vzc2liaWxpdHlcbiAgc3RhdGVtZW50JyB8IHJweFRyYW5zbGF0ZX19PC9oMj5cblxuPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+e3snVGhpcyBzdGF0ZW1lbnQgd2FzIHByZXBhcmVkIG9uIDE2IFNlcHRlbWJlciAyMDE5LiBJdCB3YXMgbGFzdCByZXZpZXdlZCBpbiBTcHJpbmcvU3VtbWVyIDIwMjMuJ1xuICB8IHJweFRyYW5zbGF0ZX19PC9wPlxuXG48cCBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydUaGlzIHdlYnNpdGUgd2FzIGxhc3QgdGVzdGVkIG9uIDE5IE1heSAyMDIwLiBUaGUgc2VydmljZSB3aWxsIGJlIHRlc3RlZCBieScgfCBycHhUcmFuc2xhdGV9fSA8YVxuICAgIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL2RpZ2l0YWxhY2Nlc3NpYmlsaXR5Y2VudHJlLm9yZy9cIj57eydEaWdpdGFsXG4gICAgQWNjZXNzaWJpbGl0eSBDZW50cmUgKERBQyknIHwgcnB4VHJhbnNsYXRlfX08L2E+IHt7J29uIDIwIE5vdmVtYmVyIDIwMjMuJyB8IHJweFRyYW5zbGF0ZX19PC9wPiJdfQ==
737
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzaWJpbGl0eS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7OztJQ2tCaEQsMEJBQXlCO0lBQUEsWUFBZ0Y7O0lBQUEsaUJBQUs7O0lBQXJGLGVBQWdGO0lBQWhGLHlHQUFnRjs7O0lBcUJ6RywwQkFBMEI7SUFBQSxZQUFxRTs7SUFBQSxpQkFBSzs7SUFBMUUsZUFBcUU7SUFBckUsOEZBQXFFOzs7SUFDL0YsMEJBQTBCO0lBQUEsWUFBcUQ7O0lBQUEsaUJBQUs7O0lBQTFELGVBQXFEO0lBQXJELDhFQUFxRDs7O0lBQy9FLDBCQUEwQjtJQUFBLFlBQTJDOztJQUFBLGlCQUFLOztJQUFoRCxlQUEyQztJQUEzQyxvRUFBMkM7OztJQUNyRSwwQkFBeUI7SUFBQSxZQUFrRTs7SUFBQSxpQkFBSzs7SUFBdkUsZUFBa0U7SUFBbEUsMkZBQWtFOzs7SUFDM0YsMEJBQXlCO0lBQUEsWUFBcUU7O0lBQUEsaUJBQUs7O0lBQTFFLGVBQXFFO0lBQXJFLDZGQUFxRTs7O0lBRTlGLDBCQUF5QjtJQUFBLFlBQWdGOztJQUFBLGlCQUFLOztJQUFyRixlQUFnRjtJQUFoRix5R0FBZ0Y7OztJQXdFekcsMEJBQXlCLFlBQUE7SUFBaUQsK0NBQStCO0lBQUEsaUJBQUksRUFBQTs7O0lBbUUvRyw0QkFBMkM7SUFBQSxZQUc4Qzs7SUFBQSxpQkFBSTs7SUFIbEQs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O1FBQW5CLHdDQUFtQjtRQUduQixlQUFrQjtRQUFsQix1Q0FBa0I7UUFLbEIsZUFBa0I7UUFBbEIsdUNBQWtCO1FBR2pCLGVBQW1CO1FBQW5CLHdDQUFtQjtRQUVwQixlQUFtQjtRQUFuQix3Q0FBbUI7UUFLbEIsZUFBbUI7UUFBbkIsd0NBQW1CO1FBUXBCLGVBQW1CO1FBQW5CLHdDQUFtQjtRQUcrRSxlQUVoQztRQUZnQyxxSUFFaEM7UUFFaEQsZUFHTjtRQUhNLHdRQUdOO1FBRU0sZUFDdEI7UUFEc0IseUlBQ3RCO1FBRStELGVBQy9DO1FBRCtDLGdHQUMvQztRQUVNLGVBRThEO1FBRjlELCtOQUU4RDtRQUU5RCxlQUNlO1FBRGYscUtBQ2U7UUFDZixlQUNwQjtRQURvQixvSUFDcEI7UUFBbUUsZUFDbEQ7UUFEa0QsZ0dBQ2xEO1FBRzBELGVBQ2hEO1FBRGdELDZGQUNoRDtRQUVQLGVBQ0o7UUFESSwrSUFDSjtRQUVJLGVBQWdHO1FBQWhHLHNJQUFnRztRQUNuRCxlQUNuQjtRQURtQixvRkFDbkI7UUFBSyxlQUF5QztRQUF6QyxnRkFBeUM7O3VGRHpQakYsc0JBQXNCO2NBTmxDLFNBQVM7MkJBQ0Usc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneHVpbGliLWFjY2Vzc2liaWxpdHknLFxuICB0ZW1wbGF0ZVVybDogJy4vYWNjZXNzaWJpbGl0eS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjY2Vzc2liaWxpdHkuY29tcG9uZW50LnNjc3MnXVxufSlcblxuZXhwb3J0IGNsYXNzIEFjY2Vzc2liaWxpdHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgaXNFbmRwb2ludE1DOiBib29sZWFuO1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCB1cmxSZWYgPSB3aW5kb3cubG9jYXRpb24uaHJlZjtcbiAgICAvLyBwb2ludGluZyB0byBNQyAmIHByZXZpZXcuIE1heSBuZWVkIHRvIHJlZmFjdG9yIHRoaXMgaWZcbiAgICAvLyBtb3JlIGFwcGxpY2F0aW9ucyBhZGRlZCB0aGFuIE1PICYgTUNcbiAgICBpZiAodXJsUmVmLmluY2x1ZGVzKCdtYW5hZ2UtY2FzZScpXG4gICAgICB8fCB1cmxSZWYuaW5jbHVkZXMoJ3h1aS13ZWJhcHAnKVxuICAgICAgJiYgIXVybFJlZi5pbmNsdWRlcygneHVpLW1vLXdlYmFwcCcpKSB7XG4gICAgICB0aGlzLmlzRW5kcG9pbnRNQyA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNFbmRwb2ludE1DID0gZmFsc2U7XG4gICAgfVxuICB9XG59IiwiPGgxIGNsYXNzPVwiZ292dWstaGVhZGluZy14bFwiIGlkPVwiQWNjZXNzaWJpbGl0eS1zdGF0ZW1lbnQtZm9yLUV4cGVydC1VSVwiPnt7J0FjY2Vzc2liaWxpdHkgc3RhdGVtZW50IGZvciBNeUhNQ1RTJyB8XG4gIHJweFRyYW5zbGF0ZSB9fVxuICB7e2lzRW5kcG9pbnRNQyA/ICdNYW5hZ2UgQ2FzZXMnIDogJ01hbmFnZSBPcmdhbmlzYXRpb24nIHwgcnB4VHJhbnNsYXRlfX08L2gxPlxuXG48cCBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydNeUhNQ1RTJyB8cnB4VHJhbnNsYXRlfX0ge3tpc0VuZHBvaW50TUMgPyAnTWFuYWdlIENhc2VzJyA6ICdNYW5hZ2UgT3JnYW5pc2F0aW9uJyB8XG4gIHJweFRyYW5zbGF0ZX19IHt7J2lzIHVzZWQgYWNyb3NzIHNldmVyYWwgc2VydmljZXMuIFBsZWFzZSB1c2UgbGlua3MgdG8gZmluZCBjb250YWN0IGluZm9ybWF0aW9uIGZvciBlYWNoIHNlcnZpY2UuJyB8XG4gIHJweFRyYW5zbGF0ZX19PC9wPlxuXG48dWwgY2xhc3M9XCJnb3Z1ay1saXN0XCI+XG4gIDxsaT48YSBocmVmPVwiYWNjZXNzaWJpbGl0eSNpbW1pZ3JhdGlvblwiPnt7J0ltbWlncmF0aW9uIGFuZCBBc3lsdW0nIHwgcnB4VHJhbnNsYXRlfX08L2E+PC9saT5cbiAgPGxpPjxhIGhyZWY9XCJhY2Nlc3NpYmlsaXR5I2ZhbWlseVwiPnt7J0ZhbWlseSBQdWJsaWMgTGF3JyB8IHJweFRyYW5zbGF0ZX19IDwvYT48L2xpPlxuPC91bD5cblxuPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+e3snVGhpcyB3ZWJzaXRlIGlzIHJ1biBieSBITSBDb3VydHMgJiBUcmlidW5hbHMgU2VydmljZS4gV2Ugd2FudCBhcyBtYW55IHBlb3BsZSBhcyBwb3NzaWJsZSB0byBiZVxuICBhYmxlIHRvIHVzZSB0aGlzIHdlYnNpdGUuIEZvciBleGFtcGxlLCB5b3Ugc2hvdWxkIGJlIGFibGUgdG86JyB8IHJweFRyYW5zbGF0ZX19PC9wPlxuXG48dWwgY2xhc3M9XCJnb3Z1ay1saXN0IGdvdnVrLWxpc3QtLWJ1bGxldFwiPlxuICA8bGk+e3snY2hhbmdlIGNvbG91cnMsIGNvbnRyYXN0IGxldmVscyBhbmQgZm9udHMnIHwgcnB4VHJhbnNsYXRlfX08L2xpPlxuICA8bGkgKm5nSWY9XCJpc0VuZHBvaW50TUNcIj57eyd6b29tIGluIHVwIHRvIDMwMCUgd2l0aG91dCB0aGUgdGV4dCBzcGlsbGluZyBvZmYgdGhlIHNjcmVlbicgfCBycHhUcmFuc2xhdGV9fTwvbGk+XG4gIDxsaT57eyduYXZpZ2F0ZSBtb3N0IG9mIHRoZSB3ZWJzaXRlIHVzaW5nIGp1c3QgYSBrZXlib2FyZCcgfCBycHhUcmFuc2xhdGV9fTwvbGk+XG4gIDxsaT57eyduYXZpZ2F0ZSBtb3N0IG9mIHRoZSB3ZWJzaXRlIHVzaW5nIHNwZWVjaCByZWNvZ25pdGlvbiBzb2Z0d2FyZScgfCBycHhUcmFuc2xhdGV9fTwvbGk+XG4gIDxsaT57eydsaXN0ZW4gdG8gbW9zdCBvZiB0aGUgd2Vic2l0ZSB1c2luZyBhIHNjcmVlbiByZWFkZXIgKGluY2x1ZGluZyB0aGUgbW9zdCByZWNlbnQgdmVyc2lvbnMgb2YgSkFXUywgTlZEQSBhbmRcbiAgICBWb2ljZU92ZXIpJyB8IHJweFRyYW5zbGF0ZX19XG4gIDwvbGk+XG48L3VsPlxuXG48cCBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydXZVxc4oCZdmUgYWxzbyBtYWRlIHRoZSB3ZWJzaXRlIHRleHQgYXMgc2ltcGxlIGFzIHBvc3NpYmxlIHRvIHVuZGVyc3RhbmQuJyB8IHJweFRyYW5zbGF0ZX19PC9wPlxuXG48cCBjbGFzcz1cImdvdnVrLWJvZHlcIj48YSByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vbWNtdy5hYmlsaXR5bmV0Lm9yZy51ay9cIj57eydBYmlsaXR5TmV0J1xuICAgIHwgcnB4VHJhbnNsYXRlfX08L2E+XG4gIHt7J2hhcyBhZHZpY2Ugb24gbWFraW5nIHlvdXIgZGV2aWNlIGVhc2llciB0byB1c2UgaWYgeW91IGhhdmUgYSBkaXNhYmlsaXR5LicgfCBycHhUcmFuc2xhdGV9fTwvcD5cblxuPGgyIGNsYXNzPVwiZ292dWstaGVhZGluZy1sXCIgaWQ9XCJIb3ctYWNjZXNzaWJsZS10aGlzLXdlYnNpdGUtaXNcIj57eydIb3cgYWNjZXNzaWJsZSB0aGlzIHdlYnNpdGUgaXMnIHwgcnB4VHJhbnNsYXRlfX08L2gyPlxuXG48cCBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydXZSBrbm93IHNvbWUgcGFydHMgb2YgdGhlIHdlYnNpdGUgYXJlIG5vdCBmdWxseSBhY2Nlc3NpYmxlOicgfCBycHhUcmFuc2xhdGV9fTwvcD5cblxuPHVsIGNsYXNzPVwiZ292dWstbGlzdCBnb3Z1ay1saXN0LS1idWxsZXRcIj5cbiAgPGxpPnt7J3NvbWUgcGFnZXMgY2FuXFwndCBiZSB6b29tZWQgaW4gdG8gNDAwJSB3aXRob3V0IGNvbnRlbnQgb3ZlcmxhcHBpbmcnIHwgcnB4VHJhbnNsYXRlfX08L2xpPlxuICA8bGk+e3snc29tZSBwYWdlIHRpdGxlcyBhcmVuXFwndCBwYWdlIHNwZWNpZmljJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbiAgPGxpICpuZ0lmPVwiIWlzRW5kcG9pbnRNQ1wiPnt7J3NvbWUgcGFnZXMgZG8gbm90IGZvbGxvdyBhIGxvZ2ljYWwgdGFiYmluZyBvcmRlcicgfCBycHhUcmFuc2xhdGV9fTwvbGk+XG4gIDxsaSAqbmdJZj1cIiFpc0VuZHBvaW50TUNcIj57eydzb21lIGhlYWRpbmdzIGxldmVscyBhcmUgc2tpcHBlZCcgfCBycHhUcmFuc2xhdGV9fTwvbGk+XG4gIDxsaSAqbmdJZj1cIiFpc0VuZHBvaW50TUNcIj57eydzb21lIGxpbmtzIGRvIG5vdCB3b3JrJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbiAgPGxpICpuZ0lmPVwiaXNFbmRwb2ludE1DXCI+e3snaXQgbWF5IGJlIGRpZmZpY3VsdCB0byBuYXZpZ2F0ZSBiZXR3ZWVuIHBhZ2VzJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbiAgPGxpICpuZ0lmPVwiaXNFbmRwb2ludE1DXCI+e3snc29tZSBoZWFkaW5ncyBhbmQgbGFiZWxzIGFyZW5cXCd0IHNwZWNpZmljIGVub3VnaCcgfCBycHhUcmFuc2xhdGV9fTwvbGk+XG4gIDxsaT57eydzb21lIFBERnMgbWF5IG5vdCBiZSBmdWxseSBhY2Nlc3NpYmxlIHRvIGEgc2NyZWVuIHJlYWRlcicgfCBycHhUcmFuc2xhdGV9fTwvbGk+XG4gIDxsaSAqbmdJZj1cImlzRW5kcG9pbnRNQ1wiPnt7J3NvbWUgYnV0dG9ucyBtYXkgbm90IGNvbW11bmljYXRlIGNvbGxhcHNlZCBzdGF0dXMgb24gbW9iaWxlJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbjwvdWw+XG5cbjxoMiBjbGFzcz1cImdvdnVrLWhlYWRpbmctbFwiIGlkPVwiV2hhdC10by1kby1pZi15b3UtY2Fubm90LWFjY2Vzcy1wYXJ0cy1vZi10aGlzLXdlYnNpdGVcIj57eydGZWVkYmFjayBhbmQgY29udGFjdFxuICBpbmZvcm1hdGlvbicgfCBycHhUcmFuc2xhdGV9fTwvaDI+XG5cbjxwIGNsYXNzPVwiZ292dWstYm9keVwiPnt7J0lmIHlvdVxcJ3JlIGEgbGVnYWwgcHJvZmVzc2lvbmFsIGFuZCBuZWVkIGluZm9ybWF0aW9uIG9uIHRoaXMgd2Vic2l0ZSBpbiBhIGRpZmZlcmVudCBmb3JtYXQgbGlrZVxuICBhY2Nlc3NpYmxlIFBERiwgbGFyZ2UgcHJpbnQsIGVhc3kgcmVhZCwgYXVkaW8gcmVjb3JkaW5nIG9yIGJyYWlsbGUsIHlvdSBjYW46JyB8IHJweFRyYW5zbGF0ZX19PC9wPlxuXG48dWwgY2xhc3M9XCJnb3Z1ay1saXN0IGdvdnVrLWxpc3QtLWJ1bGxldFwiPlxuICA8bGk+e3snZW1haWw6JyB8IHJweFRyYW5zbGF0ZX19IDxhIGhyZWY9XCJtYWlsdG86SE1DVFNmb3Jtc0BqdXN0aWNlLmdvdi51a1wiPiBITUNUU2Zvcm1zQGp1c3RpY2UuZ292LnVrPC9hPjwvbGk+XG4gIDxsaT57eydjYWxsIHRoZSBzZXJ2aWNlIHlvdSByZXF1aXJlLCBhcyBsaXN0ZWQgYmVsb3cuJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbjwvdWw+XG5cblxuPGgyIGNsYXNzPVwiZ292dWstaGVhZGluZy1sXCIgaWQ9XCJBZG9wdGlvblwiPnt7J0Fkb3B0aW9uJyB8IHJweFRyYW5zbGF0ZX19PC9oMj5cbjx1bCBjbGFzcz1cImdvdnVrLWxpc3QgZ292dWstbGlzdC0tYnVsbGV0XCI+XG4gIDxsaT57eydjYWxsOiAwMTYzNCA4ODc5MDAnIHwgcnB4VHJhbnNsYXRlfX08L2xpPlxuPC91bD5cblxuPGgyIGNsYXNzPVwiZ292dWstaGVhZGluZy1sXCIgaWQ9XCJEaXZvcmNlLWFuZC1maW5hbmNpYWwtcmVtZWR5XCI+e3snRGl2b3JjZSBhbmQgRmluYW5jaWFsIFJlbWVkeScgfCBycHhUcmFuc2xhdGV9fTwvaDI+XG48dWwgY2xhc3M9XCJnb3Z1ay1saXN0IGdvdnVrLWxpc3QtLWJ1bGxldFwiPlxuICA8bGk+e3snY2FsbDogMDMwMCAxMjMgMTM3MicgfCBycHhUcmFuc2xhdGV9fTwvbGk+XG48L3VsPlxuXG48aDIgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIiBpZD1cIkNpdmlsLWRhbWFnZXMtc2VydmljZVwiPnt7J0NpdmlsIERhbWFnZXMgU2VydmljZScgfCBycHhUcmFuc2xhdGV9fTwvaDI+XG48dWwgY2xhc3M9XCJnb3Z1ay1saXN0IGdvdnVrLWxpc3QtLWJ1bGxldFwiPlxuICA8bGk+e3snY2FsbDogMDMwMCAxMjMgMTM3MicgfCBycHhUcmFuc2xhdGV9fTwvbGk+XG48L3VsPlxuXG48aDIgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIiBpZD1cIkZhbWlseS1wdWJsaWMtbGF3XCI+e3snRmFtaWx5IFB1YmxpYyBMYXcnIHwgcnB4VHJhbnNsYXRlfX08L2gyPlxuPHVsIGNsYXNzPVwiZ292dWstbGlzdCBnb3Z1ay1saXN0LS1idWxsZXRcIj5cbiAgPGxpPnt7J2NhbGw6IDAzMzAgODA4IDQ0MjQnIHwgcnB4VHJhbnNsYXRlfX08L2xpPlxuPC91bD5cblxuPGgyIGNsYXNzPVwiZ292dWstaGVhZGluZy1sXCIgaWQ9XCJJbW1pZ3JhdGlvbi1hbmQtYXN5bHVtLWNoYW1iZXJcIj57eydJbW1pZ3JhdGlvbiBhbmQgQXN5bHVtIENoYW1iZXInIHwgcnB4VHJhbnNsYXRlfX08L2gyPlxuPHVsIGNsYXNzPVwiZ292dWstbGlzdCBnb3Z1ay1saXN0LS1idWxsZXRcIj5cbiAgPGxpPnt7J2NhbGw6IDAzMDAgMTIzIDE3MTEnIHwgcnB4VHJhbnNsYXRlfX08L2xpPlxuPC91bD5cblxuPGgyIGNsYXNzPVwiZ292dWstaGVhZGluZy1sXCIgaWQ9XCJPbmxpbmUtY2l2aWwtbW9uZXktY2xhaW1zXCI+e3snT25saW5lIENpdmlsIE1vbmV5IENsYWltcycgfCBycHhUcmFuc2xhdGV9fTwvaDI+XG48dWwgY2xhc3M9XCJnb3Z1ay1saXN0IGdvdnVrLWxpc3QtLWJ1bGxldFwiPlxuICA8bGk+e3snY2FsbDogMDMwMCAxMjMgNzA1MCcgfCBycHhUcmFuc2xhdGV9fTwvbGk+XG48L3VsPlxuXG48aDIgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIiBpZD1cIlByaXZhdGUtbGF3XCI+e3snUHJpdmF0ZSBMYXcnIHwgcnB4VHJhbnNsYXRlfX08L2gyPlxuPHVsIGNsYXNzPVwiZ292dWstbGlzdCBnb3Z1ay1saXN0LS1idWxsZXRcIj5cbiAgPGxpPnt7J2NhbGw6IDAzMDAgMzIzIDAxODUnIHwgcnB4VHJhbnNsYXRlfX08L2xpPlxuPC91bD5cblxuPGgyIGNsYXNzPVwiZ292dWstaGVhZGluZy1sXCIgaWQ9XCJQcm9iYXRlXCI+e3snUHJvYmF0ZScgfCBycHhUcmFuc2xhdGV9fTwvaDI+XG48dWwgY2xhc3M9XCJnb3Z1ay1saXN0IGdvdnVrLWxpc3QtLWJ1bGxldFwiPlxuICA8bGk+e3snY2FsbDogMDMwMCAzMDMgMDY0OCcgfCBycHhUcmFuc2xhdGV9fTwvbGk+XG48L3VsPlxuXG48aDIgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIiBpZD1cIlNvY2lhbC1zZWN1cml0eS1hbmQtY2hpbGQtc3VwcG9ydFwiPnt7J1NvY2lhbCBTZWN1cml0eSBhbmQgQ2hpbGQgU3VwcG9ydCcgfFxuICBycHhUcmFuc2xhdGV9fTwvaDI+XG48dWwgY2xhc3M9XCJnb3Z1ay1saXN0IGdvdnVrLWxpc3QtLWJ1bGxldFwiPlxuICA8bGk+e3snY2FsbDogMDMwMCAxMjMgMTE0MicgfCBycHhUcmFuc2xhdGV9fTwvbGk+XG48L3VsPlxuXG48cCBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydXZVxcJ2xsIGNvbnNpZGVyIHlvdXIgcmVxdWVzdCBhbmQgZ2V0IGJhY2sgdG8geW91IGluIDEwIHdvcmtpbmcgZGF5cy4nIHwgcnB4VHJhbnNsYXRlfX08L3A+XG48cCBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydJZiB5b3UgYSBtZW1iZXIgb2YgSE1DVFMgc3RhZmYgb3IgdGhlIEp1ZGljaWFyeSBzcGVhayB0byB5b3VyIGxpbmUgbWFuYWdlciBvciBlcXVpdmFsZW50IGluIHRoZVxuICBmaXJzdCBpbnN0YW5jZS4nIHwgcnB4VHJhbnNsYXRlfX08L3A+XG5cbjxoMiBjbGFzcz1cImdvdnVrLWhlYWRpbmctbFwiIGlkPVwiUmVwb3J0aW5nLWFjY2Vzc2liaWxpdHktcHJvYmxlbXMtd2l0aC10aGlzLXdlYnNpdGVcIj57eydSZXBvcnRpbmcgYWNjZXNzaWJpbGl0eSBwcm9ibGVtc1xuICB3aXRoIHRoaXMgd2Vic2l0ZScgfCBycHhUcmFuc2xhdGV9fTwvaDI+XG5cbjxwIGNsYXNzPVwiZ292dWstYm9keVwiPnt7J1dlXFwncmUgYWx3YXlzIGxvb2tpbmcgdG8gaW1wcm92ZSB0aGUgYWNjZXNzaWJpbGl0eSBvZiB0aGlzIHdlYnNpdGUuIElmIHlvdVxcJ3JlIGEgbGVnYWwgcHJvZmVzc2lvbmFsIGFuZCBmaW5kIGFueSBwcm9ibGVtcyBub3QgbGlzdGVkIG9uIHRoaXMgcGFnZSBvciB0aGluayB3ZVxcJ3JlIG5vdCBtZWV0aW5nIGFjY2Vzc2liaWxpdHkgcmVxdWlyZW1lbnRzLCBjb250YWN0OicgfCBycHhUcmFuc2xhdGV9fTwvcD5cblxuPHVsIGNsYXNzPVwiZ292dWstbGlzdCBnb3Z1ay1saXN0LS1idWxsZXRcIj5cbiAgPGxpPnt7J2VtYWlsOicgfCBycHhUcmFuc2xhdGV9fSA8YSBocmVmPVwibWFpbHRvOk1DVFNmb3Jtc0BqdXN0aWNlLmdvdi51a1wiPiBITUNUU2Zvcm1zQGp1c3RpY2UuZ292LnVrPC9hPjwvbGk+XG4gIDxsaSAqbmdJZj1cImlzRW5kcG9pbnRNQ1wiPjxhIGhyZWY9XCJtYWlsdG86Y3VzdG9tZXIuc2VydmljZUBqdXN0aWNlLmdvdi51a1wiPmN1c3RvbWVyLnNlcnZpY2VAanVzdGljZS5nb3YudWs8L2E+PC9saT5cbiAgPGxpPmNhbGwgdGhlIHNlcnZpY2UgeW91IHJlcXVpcmUgYXMgbGlzdGVkIGFib3ZlLjwvbGk+XG48L3VsPlxuXG48cCBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydJZiB5b3UgYSBtZW1iZXIgb2YgSE1DVFMgc3RhZmYgb3IgdGhlIEp1ZGljaWFyeSBzcGVhayB0byB5b3VyIGxpbmUgbWFuYWdlciBvciBlcXVpdmFsZW50IGluIHRoZVxuICBmaXJzdCBpbnN0YW5jZS4nIHwgcnB4VHJhbnNsYXRlfX08L3A+XG5cblxuPGgyIGNsYXNzPVwiZ292dWstaGVhZGluZy1sXCIgaWQ9XCJFbmZvcmNlbWVudC1wcm9jZWR1cmUgXCI+e3snRW5mb3JjZW1lbnQgcHJvY2VkdXJlJyB8IHJweFRyYW5zbGF0ZX19PC9oMj5cblxuPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+e3snVGhlIEVxdWFsaXR5IGFuZCBIdW1hbiBSaWdodHMgQ29tbWlzc2lvbiAoRUhSQykgaXMgcmVzcG9uc2libGUgZm9yIGVuZm9yY2luZyB0aGUgUHVibGljIFNlY3RvclxuICBCb2RpZXMgKFdlYnNpdGVzIGFuZCBNb2JpbGUgQXBwbGljYXRpb25zKSAoTm8uIDIpIEFjY2Vzc2liaWxpdHkgUmVndWxhdGlvbnMgMjAxOCAodGhlIFxc4oCYYWNjZXNzaWJpbGl0eVxuICByZWd1bGF0aW9uc1xc4oCZKS4nIHwgcnB4VHJhbnNsYXRlfX0gPC9wPlxuXG48cCBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydJZiB5b3VcXOKAmXJlIG5vdCBoYXBweSB3aXRoIGhvdyB3ZSByZXNwb25kIHRvIHlvdXIgY29tcGxhaW50LCcgfCBycHhUcmFuc2xhdGV9fSA8YVxuICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly93d3cuZXF1YWxpdHlhZHZpc29yeXNlcnZpY2UuY29tL1wiPnt7J2NvbnRhY3RcbiAgICB0aGUgRXF1YWxpdHkgQWR2aXNvcnkgYW5kIFN1cHBvcnQgU2VydmljZSAoRUFTUykuJyB8IHJweFRyYW5zbGF0ZX19PC9hPjwvcD5cblxuPGgxIGNsYXNzPVwiZ292dWstaGVhZGluZy1sXCIgaWQ9XCJDb250YWN0aW5nLXVzLWJ5LXBob25lLW9yLXZpc2l0aW5nLXVzLWluLXBlcnNvblwiPnt7J0NvbnRhY3RpbmcgdXMgYnkgcGhvbmUgb3IgdmlzaXRpbmdcbiAgdXNcbiAgaW4gcGVyc29uJyB8IHJweFRyYW5zbGF0ZX19PC9oMT5cblxuPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+e3snV2UgcHJvdmlkZSBhIHRleHQgcmVsYXkgc2VydmljZSBmb3IgcGVvcGxlIHdobyBhcmUgRC9kZWFmLCBoZWFyaW5nIGltcGFpcmVkIG9yIGhhdmUgYSBzcGVlY2hcbiAgaW1wZWRpbWVudC4nIHwgcnB4VHJhbnNsYXRlfX08L3A+XG5cbjxwIGNsYXNzPVwiZ292dWstYm9keVwiPnt7J091ciBvZmZpY2VzIGFuZCB0cmlidW5hbCB2ZW51ZXMgaGF2ZSBhdWRpbyBpbmR1Y3Rpb24gbG9vcHMsIG9yIGlmIHlvdSBjb250YWN0IHVzIGJlZm9yZSB5b3VyXG4gIHZpc2l0XG4gIHdlIGNhbiBhcnJhbmdlIGEgQnJpdGlzaCBTaWduIExhbmd1YWdlIChCU0wpIGludGVycHJldGVyLiBZb3UgY2FuIGFsc28gcmVxdWVzdCBzdGVwLWZyZWUgYWNjZXNzIG9yIGEgZm9yZWlnbiBsYW5ndWFnZVxuICBpbnRlcnByZXRlci4nIHwgcnB4VHJhbnNsYXRlfX08L3A+XG5cbjxwIGNsYXNzPVwiZ292dWstYm9keVwiPnt7J0ZpbmQgb3V0IGhvdyB0byBjb250YWN0IHVzIHVzaW5nIHRoZSBjb250YWN0IGRldGFpbHMgYWJvdmUgb3IgJyB8IHJweFRyYW5zbGF0ZX19IDxhXG4gICAgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vY291cnR0cmlidW5hbGZpbmRlci5zZXJ2aWNlLmdvdi51ay9zZWFyY2gvXCI+e3snZmluZFxuICAgIHRoZSBjb250YWN0IGRldGFpbHMgZm9yIGNvdXJ0IGFuZCB0cmlidW5hbCB2ZW51ZXMnIHwgcnB4VHJhbnNsYXRlfX08L2E+LiA8L3A+XG5cblxuPGgyIGNsYXNzPVwiZ292dWstaGVhZGluZy1sXCIgaWQ9XCJUZWNobmljYWwtaW5mb3JtYXRpb24tYWJvdXQtdGhpcy13ZWJzaXRlLWFjY2Vzc2liaWxpdHlcIj57eydUZWNobmljYWwgaW5mb3JtYXRpb24gYWJvdXRcbiAgdGhpcyB3ZWJzaXRlXFzigJlzIGFjY2Vzc2liaWxpdHknIHwgcnB4VHJhbnNsYXRlfX08L2gyPlxuXG48cCBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydITUNUUyBpcyBjb21taXR0ZWQgdG8gbWFraW5nIGl0cyB3ZWJzaXRlIGFjY2Vzc2libGUsIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgUHVibGljIFNlY3RvclxuICBCb2RpZXMgKFdlYnNpdGVzIGFuZCBNb2JpbGUgQXBwbGljYXRpb25zKSAoTm8uMilcbiAgQWNjZXNzaWJpbGl0eSBSZWd1bGF0aW9ucyAyMDE4LicgfCBycHhUcmFuc2xhdGV9fTwvcD5cblxuXG48aDIgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIiBpZD1cIkNvbXBsaWFuY2Utc3RhdHVzXCI+e3snQ29tcGxpYW5jZSBTdGF0dXMnIHwgcnB4VHJhbnNsYXRlfX08L2gyPlxuXG48cCBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydUaGlzIHdlYnNpdGUgaXMgcGFydGlhbGx5IGNvbXBsaWFudCB3aXRoIHRoZSAnIHwgcnB4VHJhbnNsYXRlfX08YSB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgIGhyZWY9XCJodHRwczovL3d3dy53My5vcmcvVFIvV0NBRzIxL1wiPlxuICAgIHt7J1dlYiBDb250ZW50IEFjY2Vzc2liaWxpdHkgR3VpZGVsaW5lcyB2ZXJzaW9uIDIuMSAnIHwgcnB4VHJhbnNsYXRlfX08L2E+XG4gIHt7J2R1ZSB0byB0aGUgbm9uLWNvbXBsaWFuY2VzIGxpc3RlZCBiZWxvdy4nIHwgcnB4VHJhbnNsYXRlfX1cbjwvcD5cbjxoMiBjbGFzcz1cImdvdnVrLWhlYWRpbmctbFwiIGlkPVwiTm9uLWFjY2Vzc2libGUtY29udGVudFwiPnt7J05vbi1hY2Nlc3NpYmxlIGNvbnRlbnQnIHwgcnB4VHJhbnNsYXRlfX08L2gyPlxuXG48cCBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydUaGUgY29udGVudCBsaXN0ZWQgYmVsb3cgaXMgbm9uLWNvbXBsaWFudCBmb3IgdGhlIGZvbGxvd2luZyByZWFzb25zLicgfCBycHhUcmFuc2xhdGV9fTwvcD5cblxuXG48aDIgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIiBpZD1cIk5vbi1jb21wbGlhbmNlLXdpdGgtdGhlLWFjY2Vzc2liaWxpdHktcmVndWxhdGlvbnNcIj57eydOb24tY29tcGxpYW5jZSB3aXRoIHRoZVxuICBhY2Nlc3NpYmlsaXR5XG4gIHJlZ3VsYXRpb25zJyB8IHJweFRyYW5zbGF0ZX19PC9oMj5cblxuPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+e3snV2hlbiB6b29tZWQgaW4gMjAwJSwgY29udGVudCBvdmVybGFwcyBhbmQgZG9lcyBub3QgcmVmbG93LCBzbyBzb21lIHBlb3BsZSB3aWxsIGhhdmUgZGlmZmljdWx0eVxuICB2aWV3aW5nIHBhZ2VzLlxuICBUaGlzIGZhaWxzIFdDQUcgMi4xIHN1Y2Nlc3MgY3JpdGVyaW9uIDEuNC4xMDogUmVmbG93IChMZXZlbCBBQSkuJyB8IHJweFRyYW5zbGF0ZX19PC9wPlxuXG48cCBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydTb21lIHBhZ2UgdGl0bGVzIGFyZSBub3QgdW5pcXVlIHRvIHRoZSBzY3JlZW5zLCBzbyBzY3JlZW5yZWFkZXIgdXNlcnMgbWF5IHN0cnVnZ2xlIHRvIGtub3dcbiAgd2hpY2ggcGFnZSB0aGV5IGFyZSBvbi5cbiAgVGhpcyBmYWlscyBXQ0FHIDIuMSBzdWNjZXNzIGNyaXRlcmlvbiAyLjQuMjogUGFnZSBUaXRsZWQgKExldmVsIEEpJyB8IHJweFRyYW5zbGF0ZX19PC9wPlxuXG48cCAqbmdJZj1cImlzRW5kcG9pbnRNQ1wiIGNsYXNzPVwiZ292dWstYm9keVwiPnt7J0l0IGlzIGRpZmZpY3VsdCB0byB1bmRlcnN0YW5kIGhvdyBzb21lIHBhZ2VzIGFyZSByZWxhdGVkIHRvIG9uZSBhbm90aGVyLFxuICBhbmQgd2hlcmUgdGhleSBhcmUgaW5cbiAgdGhlIGNvbnRleHQgb2YgdGhlIHdob2xlIHNpdGUuXG4gIFRoaXMgZmFpbHMgV0NBRyAyLjEgc3VjY2VzcyBjcml0ZXJpb24gMi40LjU6IE11bHRpcGxlIFdheXMgKExldmVsIEFBKScgfCBycHhUcmFuc2xhdGV9fTwvcD5cblxuPHAgKm5nSWY9XCIhaXNFbmRwb2ludE1DXCIgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+e3snU29tZSB1c2VycyBtYXkgc3RydWdnbGUgd2l0aCBrZXlib2FyZCBvcmRlciB3aGVuIHRhYmJpbmcgYWZ0ZXIgYW4gZXJyb3JcbiAgaXMgcHJlc2VudGVkLiBUaGlzIGZhaWxzIFdDQUcgMi4xIHN1Y2Nlc3MgY3JpdGVyaW9uIDIuNC4zOiBGb2N1cyBPcmRlciAoTGV2ZWwgQSkuJyB8IHJweFRyYW5zbGF0ZX19PC9wPlxuPHAgKm5nSWY9XCIhaXNFbmRwb2ludE1DXCIgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+e3snU29tZSBoZWFkaW5ncyBhcmUgc2tpcHBlZCwgc28gc29tZSB1c2VycyBtYXkgc3RydWdnbGUgdG8gbmF2aWdhdGUgd2l0aFxuICBzY3JlZW4gcmVhZGVyIHZpYSBoZWFkaW5ncy4gVGhpcyBmYWlscyBXQ0FHIDIuMSBzdWNjZXNzIGNyaXRlcmlvbiAyLjQuNjogSGVhZGluZ3MgYW5kIGxhYmVscyAoTGV2ZWwgQUEpLicgfFxuICBycHhUcmFuc2xhdGV9fTwvcD5cbjxwICpuZ0lmPVwiIWlzRW5kcG9pbnRNQ1wiIGNsYXNzPVwiZ292dWstYm9keVwiPnt7J1NvbWUgZXJyb3IgbGlua3MgZG8gbm90IHRha2UgdGhlIHVzZXIgdG8gdGhlIHNwZWNpZmljIGVycm9yIGZpZWxkLCBzb1xuICBzb21lIHBlb3BsZSBtYXkgc3RydWdnbGUgd2l0aCBpbnRlcmFjdGluZyB3aXRoIHRoZSBsaW5rcy4gVGhpcyBmYWlscyBXQ0FHIDIuMSBzdWNjZXNzIGNyaXRlcmlvbiAzLjIuMTogT24gRm9jdXMgKExldmVsXG4gIEEpLicgfCBycHhUcmFuc2xhdGV9fTwvcD5cbjxwICpuZ0lmPVwiaXNFbmRwb2ludE1DXCIgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+e3snVGhlIGhlYWRpbmcgXFwnRmlsdGVyXFwnIHRvZ2V0aGVyIHdpdGggdGhlIG5vbi11bmlxdWUgXFwnQ2FzZSBMaXN0XFwnIGhlYWRpbmdzXG4gIGhlYXZpbHkgaW1wbHkgdGhhdCBhIHVzZXIgaXMgZmlsdGVyaW5nIG9uZSBcXCdDYXNlIExpc3RcXCcgdGFibGUsIHRvIHdoaWNoIHRoZXkgaGF2ZSBhY2Nlc3MsIGFjY29yZGluZyB0byB0aGUgZmlsdGVycyB0aGV5IHNlbGVjdC4gSG93ZXZlciwgdGhpcyBpc1xuICBub3QgdGhlIGNhc2UuIFNvbWUgdXNlcnMgbWF5IHN0cnVnZ2xlIHdpdGggaGVhZGluZyBmaWx0ZXJzIGFzIGl0IGlzIG5vdCBjbGVhciB3aGljaCBvbmVzIGNvcnJlc3BvbmQgdG8gdGhlIHRhYmxlIGRhdGEuXG4gIFRoaXMgZmFpbHMgV0NBRyAyLjEgc3VjY2VzcyBjcml0ZXJpb24gMi40LjY6IEhlYWRpbmdzIGFuZCBsYWJlbHMgKExldmVsIEFBKScgfCBycHhUcmFuc2xhdGV9fTwvcD5cblxuPHAgKm5nSWY9XCJpc0VuZHBvaW50TUNcIiBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydTb21lIHVzZXJzIG1heSBzdHJ1Z2dsZSBvbiBtb2JpbGUgd2hlcmUgYSBzY3JlZW4gcmVhZGVyIGRvZXNuXFwndCBpbmRpY2F0ZVxuICB0aGF0IGJ1dHRvbnMgYXJlIGNvbGxhcHNpYmxlLiBUaGlzIGZhaWxzIFdDQUcgMi4xIHN1Y2Nlc3MgY3JpdGVyaW9uIDQuMS4yOiBOYW1lLCBSb2xlLCBWYWx1ZSAoTGV2ZWwgQSknIHwgcnB4VHJhbnNsYXRlfX08L3A+XG5cbjxoMiAqbmdJZj1cIiFpc0VuZHBvaW50TUNcIiBjbGFzcz1cImdvdnVrLWhlYWRpbmctbVwiIGlkPVwiRGlzcHJvcG9ydGlvbmF0ZS1idXJkZW5cIj57eydEaXNwcm9wb3J0aW9uYXRlIGJ1cmRlbicgfCBycHhUcmFuc2xhdGV9fSA8L2gyPlxuXG48cCAqbmdJZj1cIiFpc0VuZHBvaW50TUNcIiBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydXZVxcJ3JlIGNvbnNpZGVyaW5nIGlmIGZpeGluZyBzb21lIGlzc3VlcyB3b3VsZCBiZSBhJyB8IHJweFRyYW5zbGF0ZX19IDxhXG4gICAgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vd3d3LmxlZ2lzbGF0aW9uLmdvdi51ay91a3NpLzIwMTgvOTUyL3JlZ3VsYXRpb24vNy9tYWRlL1wiPnt7J2Rpc3Byb3BvcnRpb25hdGUgYnVyZGVuJyB8XG4gICAgcnB4VHJhbnNsYXRlfX08L2E+IHt7J3dpdGhpbiB0aGUgbWVhbmluZyBvZlxuICB0aGUgYWNjZXNzaWJpbGl0eSByZWd1bGF0aW9ucy4gVGhlc2UgaXNzdWVzIGFyZTonIHwgcnB4VHJhbnNsYXRlfX08L3A+XG5cbjx1bCAqbmdJZj1cIiFpc0VuZHBvaW50TUNcIiBjbGFzcz1cImdvdnVrLWxpc3QgZ292dWstbGlzdC0tYnVsbGV0XCI+XG4gIDxsaT57eydTY3JlZW4gcmVhZGVycyBub3QgcGlja2luZyB1cCBob3cgcGFnZXMgYXJlIHJlbGF0ZWQgdG8gb25lIGFub3RoZXIsIGFuZCB3aGVyZSB0aGV5IGFyZSBpbiB0aGUgY29udGV4dCBvZiB0aGVcbiAgICB3aG9sZSBzaXRlJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbiAgPGxpPnt7J1NjcmVlbiByZWFkZXJzIG5vdCBwaWNraW5nIHVwIG9uIG5vbi11bmlxdWUgdGFibGUgaGVhZGluZ3Mgb24gdGhlIHNhbWUgcGFnZScgfCBycHhUcmFuc2xhdGV9fTwvbGk+XG4gIDxsaT57eydTb21lIGxhYmVscywgZmllbGRzLCBlcnJvciBtZXNzYWdlcyBhbmQgb3RoZXIgY29udGVudCBub3QgYmVpbmcgY2xlYXJseSBpZGVudGlmaWVkIGJ5IHNjcmVlbiByZWFkZXJzIGFuZCB2b2ljZVxuICAgIGFjdGl2YXRpb24gc29mdHdhcmUgb24gbW9iaWxlIGRldmljZXMuJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbjwvdWw+XG5cbjxwICpuZ0lmPVwiIWlzRW5kcG9pbnRNQ1wiIGNsYXNzPVwiZ292dWstYm9keVwiPnt7J1doZW4gdGhpcyBhc3Nlc3NtZW50IGlzIGNvbXBsZXRlLCB3ZSB3aWxsIHVwZGF0ZSB0aGlzIGFjY2Vzc2liaWxpdHlcbiAgc3RhdGVtZW50LCB0byBjb3ZlciB3aGV0aGVyIG9yIG5vdCBkaXNwcm9wb3J0aW9uYXRlIGJ1cmRlbiBpcyBiZWluZyBjbGFpbWVkLicgfCBycHhUcmFuc2xhdGV9fTwvcD5cblxuPGgyIGNsYXNzPVwiZ292dWstaGVhZGluZy1tXCIgaWQ9XCJDb250ZW50LXRoYXTigJlzLW5vdC13aXRoaW4tdGhlLXNjb3BlLW9mLXRoZS1hY2Nlc3NpYmlsaXR5LXJlZ3VsYXRpb25zXCI+e3snQ29udGVudCB0aGF0XFzigJlzXG4gIG5vdFxuICB3aXRoaW4gdGhlIHNjb3BlIG9mIHRoZSBhY2Nlc3NpYmlsaXR5IHJlZ3VsYXRpb25zJyB8IHJweFRyYW5zbGF0ZX19IDwvaDI+XG5cbjxwIGNsYXNzPVwiZ292dWstYm9keVwiPnt7J1BERnMsIGRvY3VtZW50cyBhbmQgYXR0YWNobWVudHMgdG8gZW1haWwgbm90aWZpY2F0aW9ucyBwdWJsaXNoZWQgYmVmb3JlIDIzIFNlcHRlbWJlciAyMDE4IG1heVxuICBub3RcbiAgbWVldCBhY2Nlc3NpYmlsaXR5IHN0YW5kYXJkcy4gRm9yIGV4YW1wbGUsIHRoZXkgbWF5IG5vdCBiZSBzdHJ1Y3R1cmVkIHNvIHRoZXlcXOKAmXJlIGFjY2Vzc2libGUgdG8gYSBzY3JlZW4gcmVhZGVyLicgfFxuICBycHhUcmFuc2xhdGV9fTwvcD5cblxuPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+e3snQW55IG5ldyBQREZzIG9yIFdvcmQgZG9jdW1lbnRzIHdlIHB1Ymxpc2ggd2lsbCBtZWV0IGFjY2Vzc2liaWxpdHkgc3RhbmRhcmRzLicgfCBycHhUcmFuc2xhdGV9fVxuPC9wPlxuXG48aDIgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIiBpZD1cIndoYXQtdG8taW1wcm92ZS1hY2Nlc3NpYmlsaXR5XCI+e3snV2hhdCB3ZVxc4oCZcmUgZG9pbmcgdG8gaW1wcm92ZSBhY2Nlc3NpYmlsaXR5JyB8XG4gIHJweFRyYW5zbGF0ZX19PC9oMj5cblxuPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+e3snV2VcXOKAmXJlIGNvbW1pdHRlZCB0byBlbnN1cmluZyBvdXIgc2VydmljZXMgYXJlIGFjY2Vzc2libGUgdG8gYWxsIG91ciB1c2VycyBhbmQgdGhhdCB0aGV5IGNvbXBseVxuICB3aXRoXG4gIGxldmVsIEFBIG9mIHRoZSBXZWIgQ29udGVudCBBY2Nlc3NpYmlsaXR5IEd1aWRlbGluZXMg4oCTIFdDQUcgMi4xLicgfCBycHhUcmFuc2xhdGV9fTwvcD5cblxuPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+e3snV2VcXOKAmXJlIGFjdGl2ZWx5IHdvcmtpbmcgdG8gaW1wcm92ZSB0aGUgaWRlbnRpZmllZCBpc3N1ZXMgYW5kIGFpbWluZyB0byBtYWtlIHRoZW0gQUEtY29tcGxpYW50XG4gIGJ5IERlY2VtYmVyIDIwMjQuJyB8IHJweFRyYW5zbGF0ZX19PC9wPlxuPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+e3snV2VcXOKAmXJlIGN1cnJlbnRseSBwcmVwYXJpbmcgZm9yIGFuIGV4dGVybmFsIGF1ZGl0IGNhcnJpZWQgb3V0IGJ5IHRoZSAnIHwgcnB4VHJhbnNsYXRlfX1cbiAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vZGlnaXRhbGFjY2Vzc2liaWxpdHljZW50cmUub3JnL1wiPiB7eydEaWdpdGFsIEFjY2Vzc2liaWxpdHkgQ2VudHJlIChEQUMpLicgfFxuICAgIHJweFRyYW5zbGF0ZX19IDwvYT5cbjwvcD5cblxuPGgyIGNsYXNzPVwiZ292dWstaGVhZGluZy1sXCIgaWQ9XCJwcmVwYXJhdGlvbi1vZi10aGlzLWFjY2Vzc2liaWxpdHktc3RhdGVtZW50XCI+e3snUHJlcGFyYXRpb24gb2YgdGhpcyBhY2Nlc3NpYmlsaXR5XG4gIHN0YXRlbWVudCcgfCBycHhUcmFuc2xhdGV9fTwvaDI+XG5cbjxwIGNsYXNzPVwiZ292dWstYm9keVwiPnt7J1RoaXMgc3RhdGVtZW50IHdhcyBwcmVwYXJlZCBvbiAxNiBTZXB0ZW1iZXIgMjAxOS4gSXQgd2FzIGxhc3QgcmV2aWV3ZWQgaW4gU3ByaW5nL1N1bW1lciAyMDIzLidcbiAgfCBycHhUcmFuc2xhdGV9fTwvcD5cblxuPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+e3snVGhpcyB3ZWJzaXRlIHdhcyBsYXN0IHRlc3RlZCBvbiAxOSBNYXkgMjAyMC4gVGhlIHNlcnZpY2Ugd2lsbCBiZSB0ZXN0ZWQgYnknIHwgcnB4VHJhbnNsYXRlfX0gPGFcbiAgICB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly9kaWdpdGFsYWNjZXNzaWJpbGl0eWNlbnRyZS5vcmcvXCI+e3snRGlnaXRhbFxuICAgIEFjY2Vzc2liaWxpdHkgQ2VudHJlIChEQUMpJyB8IHJweFRyYW5zbGF0ZX19PC9hPiB7eydvbiAyMCBOb3ZlbWJlciAyMDIzLicgfCBycHhUcmFuc2xhdGV9fTwvcD4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { FormControl, FormGroup, Validators } from '@angular/forms';
2
+ import { FormControl, FormGroup } from '@angular/forms';
3
3
  import { iif, of } from 'rxjs';
4
4
  import { debounceTime, map, switchMap, tap } from 'rxjs/operators';
5
5
  import { BookingCheckType } from '../../models';
@@ -80,12 +80,11 @@ export class SearchLocationComponent {
80
80
  this.locationSelected = new EventEmitter();
81
81
  this.locationTermSearchInputChanged = new EventEmitter();
82
82
  this.searchLocationChanged = new EventEmitter();
83
- this.searchTermFormControl = new FormControl('', Validators.pattern('/[^a-zA-Z]/'));
83
+ this.searchTermFormControl = new FormControl('');
84
84
  this.minSearchCharacters = 3;
85
85
  this.term = '';
86
86
  this.pReset = true;
87
87
  this.debounceTimeInput = 300;
88
- this.binaryValue = '';
89
88
  }
90
89
  ngOnInit() {
91
90
  const searchInputChanges$ = this.searchTermFormControl.valueChanges
@@ -150,22 +149,12 @@ export class SearchLocationComponent {
150
149
  }
151
150
  return locations.filter(location => !selectedLocations.map(selectedLocation => selectedLocation.epimms_id).includes(location.epimms_id) && location[this.propertyNameFilter]);
152
151
  }
153
- RemoveInvalidString(formInputValue) {
154
- const element = formInputValue.target;
155
- const newInputValue = element.value;
156
- if (/[^a-zA-Z]/.test(newInputValue)) {
157
- element.value = this.binaryValue;
158
- }
159
- else {
160
- this.binaryValue = newInputValue;
161
- }
162
- }
163
152
  }
164
153
  SearchLocationComponent.allLocationAPI = `api/locations/getLocations`;
165
154
  SearchLocationComponent.ɵfac = function SearchLocationComponent_Factory(t) { return new (t || SearchLocationComponent)(i0.ɵɵdirectiveInject(i1.LocationService), i0.ɵɵdirectiveInject(i2.SessionStorageService), i0.ɵɵdirectiveInject(i3.RefDataService)); };
166
- SearchLocationComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchLocationComponent, selectors: [["exui-search-location"]], inputs: { form: "form", field: "field", disabled: "disabled", singleMode: "singleMode", locationType: "locationType", serviceIds: "serviceIds", submitted: "submitted", bookingCheck: "bookingCheck", selectedLocations: "selectedLocations", propertyNameFilter: "propertyNameFilter", delay: "delay", reset: "reset" }, outputs: { locationSelected: "locationSelected", locationTermSearchInputChanged: "locationTermSearchInputChanged", searchLocationChanged: "searchLocationChanged" }, decls: 6, vars: 6, consts: [[1, "auto-complete-container"], ["id", "inputLocationSearch", 1, "govuk-input", 3, "formControl", "matAutocomplete", "keyup", "input"], ["autoActiveFirstOption", "", 1, "mat-autocomplete-panel-extend"], ["autoSearchLocation", "matAutocomplete"], [4, "ngIf"], [3, "onSelectionChange", 4, "ngFor", "ngForOf"], [3, "onSelectionChange"]], template: function SearchLocationComponent_Template(rf, ctx) { if (rf & 1) {
155
+ SearchLocationComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchLocationComponent, selectors: [["exui-search-location"]], inputs: { form: "form", field: "field", disabled: "disabled", singleMode: "singleMode", locationType: "locationType", serviceIds: "serviceIds", submitted: "submitted", bookingCheck: "bookingCheck", selectedLocations: "selectedLocations", propertyNameFilter: "propertyNameFilter", delay: "delay", reset: "reset" }, outputs: { locationSelected: "locationSelected", locationTermSearchInputChanged: "locationTermSearchInputChanged", searchLocationChanged: "searchLocationChanged" }, decls: 6, vars: 6, consts: [[1, "auto-complete-container"], ["id", "inputLocationSearch", 1, "govuk-input", 3, "formControl", "matAutocomplete", "input"], ["autoActiveFirstOption", "", 1, "mat-autocomplete-panel-extend"], ["autoSearchLocation", "matAutocomplete"], [4, "ngIf"], [3, "onSelectionChange", 4, "ngFor", "ngForOf"], [3, "onSelectionChange"]], template: function SearchLocationComponent_Template(rf, ctx) { if (rf & 1) {
167
156
  i0.ɵɵelementStart(0, "div", 0)(1, "input", 1);
168
- i0.ɵɵlistener("keyup", function SearchLocationComponent_Template_input_keyup_1_listener($event) { return ctx.RemoveInvalidString($event); })("input", function SearchLocationComponent_Template_input_input_1_listener() { return ctx.onInput(); });
157
+ i0.ɵɵlistener("input", function SearchLocationComponent_Template_input_input_1_listener() { return ctx.onInput(); });
169
158
  i0.ɵɵelementEnd();
170
159
  i0.ɵɵelementStart(2, "mat-autocomplete", 2, 3);
171
160
  i0.ɵɵtemplate(4, SearchLocationComponent_ng_container_4_Template, 2, 1, "ng-container", 4);
@@ -181,7 +170,7 @@ SearchLocationComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sea
181
170
  } }, dependencies: [i4.NgForOf, i4.NgIf, i5.DefaultValueAccessor, i5.NgControlStatus, i5.FormControlDirective, i6.MatLegacyAutocomplete, i6.MatLegacyAutocompleteTrigger, i7.MatLegacyOption, i4.AsyncPipe, i8.RpxTranslatePipe], styles: [".autocomplete__input--show-all-values[_ngcontent-%COMP%]{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down[_ngcontent-%COMP%]{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu[_ngcontent-%COMP%]{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:calc(100% - 4px)}.autocomplete__menu--visible[_ngcontent-%COMP%]{display:block}.autocomplete__menu--hidden[_ngcontent-%COMP%]{display:none}.autocomplete__menu--overlay[_ngcontent-%COMP%]{box-shadow:#00000042 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline[_ngcontent-%COMP%]{position:relative}.autocomplete__option[_ngcontent-%COMP%]{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{pointer-events:none}.autocomplete__option[_ngcontent-%COMP%]:first-of-type{border-top-width:0}.autocomplete__option[_ngcontent-%COMP%]:last-of-type{border-bottom-width:0}.autocomplete__option--odd[_ngcontent-%COMP%]{background-color:#fafafa}.autocomplete__option--focused[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results[_ngcontent-%COMP%]{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__input[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{font-size:13px;line-height:1.25}.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{padding:5px}@media (min-width: 641px){.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__input[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{font-size:13px;line-height:1.31579}}.div-action[_ngcontent-%COMP%]{display:inline-block}.add-location[_ngcontent-%COMP%]{display:inline}.remove-location-button[_ngcontent-%COMP%]{margin:5px}.hide-autocomplete[_ngcontent-%COMP%]{display:none}.auto-complete-container[_ngcontent-%COMP%]{display:inline-block;margin-right:4px;width:calc(100% - 4px)}.autocomplete__input[_ngcontent-%COMP%]{line-height:24px;font-size:19px}"] });
182
171
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchLocationComponent, [{
183
172
  type: Component,
184
- args: [{ selector: 'exui-search-location', template: "<div class=\"auto-complete-container\">\n <input\n id=\"inputLocationSearch\"\n (keyup)=\"RemoveInvalidString($event)\"\n (input)=\"onInput()\"\n [formControl]=\"searchTermFormControl\"\n [matAutocomplete]=\"autoSearchLocation\"\n class=\"govuk-input\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchLocation=\"matAutocomplete\">\n <ng-container *ngIf=\"filteredList$ | async as filteredList\">\n <ng-container *ngIf=\"filteredList && filteredList.length >= 0\">\n <mat-option *ngFor=\"let location of filteredList\" (onSelectionChange)=\"onSelectedLocation(location)\">\n {{ location[propertyNameFilter] }}\n </mat-option>\n <mat-option *ngIf=\"filteredList.length === 0\">{{'No results found' | rpxTranslate}}</mat-option>\n </ng-container>\n </ng-container>\n </mat-autocomplete>\n</div>\n", styles: [".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:#00000042 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width: 641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{display:inline-block;margin-right:4px;width:calc(100% - 4px)}.autocomplete__input{line-height:24px;font-size:19px}\n"] }]
173
+ args: [{ selector: 'exui-search-location', template: "<div class=\"auto-complete-container\">\n <input\n id=\"inputLocationSearch\"\n (input)=\"onInput()\"\n [formControl]=\"searchTermFormControl\"\n [matAutocomplete]=\"autoSearchLocation\"\n class=\"govuk-input\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchLocation=\"matAutocomplete\">\n <ng-container *ngIf=\"filteredList$ | async as filteredList\">\n <ng-container *ngIf=\"filteredList && filteredList.length >= 0\">\n <mat-option *ngFor=\"let location of filteredList\" (onSelectionChange)=\"onSelectedLocation(location)\">\n {{ location[propertyNameFilter] }}\n </mat-option>\n <mat-option *ngIf=\"filteredList.length === 0\">{{'No results found' | rpxTranslate}}</mat-option>\n </ng-container>\n </ng-container>\n </mat-autocomplete>\n</div>\n", styles: [".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:#00000042 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width: 641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{display:inline-block;margin-right:4px;width:calc(100% - 4px)}.autocomplete__input{line-height:24px;font-size:19px}\n"] }]
185
174
  }], function () { return [{ type: i1.LocationService }, { type: i2.SessionStorageService }, { type: i3.RefDataService }]; }, { form: [{
186
175
  type: Input
187
176
  }], field: [{
@@ -213,4 +202,4 @@ SearchLocationComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sea
213
202
  }], reset: [{
214
203
  type: Input
215
204
  }] }); })();
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoLWxvY2F0aW9uL3NlYXJjaC1sb2NhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC1sb2NhdGlvbi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUNMLGdCQUFnQixFQUlqQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDOzs7Ozs7Ozs7Ozs7SUNBL0YscUNBQXFHO0lBQW5ELHFTQUFxQixlQUFBLHNDQUE0QixDQUFBLElBQUM7SUFDbEcsWUFDRjtJQUFBLGlCQUFhOzs7O0lBRFgsZUFDRjtJQURFLHVFQUNGOzs7SUFDQSxrQ0FBOEM7SUFBQSxZQUFxQzs7SUFBQSxpQkFBYTs7SUFBbEQsZUFBcUM7SUFBckMsOERBQXFDOzs7SUFKckYsNkJBQStEO0lBQzdELG9IQUVhO0lBQ2Isb0hBQWdHO0lBQ2xHLDBCQUFlOzs7SUFKb0IsZUFBZTtJQUFmLHlDQUFlO0lBR25DLGVBQStCO0lBQS9CLG1EQUErQjs7O0lBTGhELDZCQUE0RDtJQUMxRCx5R0FLZTtJQUNqQiwwQkFBZTs7O0lBTkUsZUFBOEM7SUFBOUMscUVBQThDOztBRFFuRSxNQUFNLE9BQU8sdUJBQXVCO0lBd0JsQyxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQ1csS0FBSyxDQUFDLEtBQWM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxZQUE2QixlQUFnQyxFQUMxQyxxQkFBNEMsRUFDNUMsY0FBOEI7UUFGcEIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQzFDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBaENqQyxhQUFRLEdBQVksSUFBSSxDQUFDO1FBQ3pCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDMUIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixjQUFTLEdBQWEsSUFBSSxDQUFDO1FBRTNCLHNCQUFpQixHQUE0QixFQUFFLENBQUM7UUFDaEQsdUJBQWtCLEdBQWdDLFdBQVcsQ0FBQztRQUM5RCxVQUFLLEdBQVksR0FBRyxDQUFDO1FBQ3BCLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO1FBQzdELG1DQUE4QixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ2xGLDBCQUFxQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQy9FLDBCQUFxQixHQUFHLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDdEUsd0JBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDakIsV0FBTSxHQUFZLElBQUksQ0FBQztRQUVkLHNCQUFpQixHQUFHLEdBQUcsQ0FBQztRQUNqQyxnQkFBVyxHQUFHLEVBQUUsQ0FBQztJQWVyQixDQUFDO0lBRUUsUUFBUTtRQUNiLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFlBQVk7YUFDaEUsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUM5RCxDQUFDO1FBRUosZ0ZBQWdGO1FBQ2hGLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRTtZQUMxQyxJQUFJLENBQUMsYUFBYSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FDM0MsU0FBUyxDQUFDLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxHQUFHO1lBQzdCLDZFQUE2RTtZQUM3RSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsRUFDbEMsSUFBSSxDQUFDLGNBQWMsQ0FBQywwQkFBMEIsQ0FDNUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQThCLENBQUEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FDdkcsQ0FBQyxJQUFJO1lBQ0oseUVBQXlFO1lBQ3pFLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUztpQkFDekIsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDdEcsaURBQWlEO1lBQ2pELEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3RHLHlEQUF5RDtZQUN6RCxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQzdELEtBQUssS0FBSyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssUUFBUSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQ3pHLENBQUMsQ0FDSDtZQUNELHlHQUF5RztZQUN6RyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQ1YsQ0FBQyxDQUNILENBQUM7U0FDSDthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJO1lBQzNDLDJEQUEyRDtZQUMzRCxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQ3BDLFNBQVMsQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsR0FBRyxDQUM3QixHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsRUFDekQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQzFCLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQ3ZHLEVBQ0QsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUNWLENBQUMsQ0FDSCxDQUFDO1NBQ0g7UUFFRCxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDeEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUNoSDtJQUNILENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxRQUErQjtRQUN2RCxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDL0csSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ00sT0FBTztRQUNaLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU0sWUFBWSxDQUFDLElBQVk7UUFDOUIsSUFBSSxhQUFhLENBQUM7UUFDbEIsc0NBQXNDO1FBQ3RDLHlFQUF5RTtRQUN6RSx3RUFBd0U7UUFDeEUsMkVBQTJFO1FBQzNFLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxnQkFBZ0IsQ0FBQyxpQkFBaUIsRUFBRTtZQUM1RCxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUF5QixDQUFDO1NBQ3pHO2FBQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLGdCQUFnQixDQUFDLGlCQUFpQixFQUFFO1lBQ25FLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztZQUNuSixhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQXlCLENBQUM7U0FDakg7UUFDRCxvRUFBb0U7UUFDcEUsZ0NBQWdDO1FBQ2hDLG9FQUFvRTtRQUNwRSx5REFBeUQ7UUFDekQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQztJQUMvSSxDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTyx5QkFBeUIsQ0FDL0IsU0FBa0MsRUFDbEMsaUJBQTBDLEVBQzFDLFVBQW1CO1FBRW5CLElBQUksVUFBVSxFQUFFO1lBQ2QsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQ3JCLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUNySixDQUFDO0lBQ0osQ0FBQztJQUVNLG1CQUFtQixDQUFDLGNBQW1CO1FBQzVDLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxNQUEwQixDQUFDO1FBQzFELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDcEMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ25DLE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUNsQzthQUFNO1lBQ0wsSUFBSSxDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUM7U0FDbEM7SUFDSCxDQUFDOztBQTNJdUIsc0NBQWMsR0FBRyw0QkFBNEIsQ0FBQzs4RkFEM0QsdUJBQXVCOzBFQUF2Qix1QkFBdUI7UUNuQnBDLDhCQUFxQyxlQUFBO1FBR2pDLHlHQUFTLCtCQUEyQixJQUFDLHNGQUM1QixhQUFTLElBRG1CO1FBRnZDLGlCQU82QjtRQUM3Qiw4Q0FBb0g7UUFDbEgsMEZBT2U7O1FBQ2pCLGlCQUFtQixFQUFBOzs7UUFiakIsZUFBcUM7UUFBckMsdURBQXFDLHdCQUFBO1FBR3JDLHdDQUEwQjtRQUVYLGVBQTRCO1FBQTVCLDhEQUE0Qjs7dUZEU2xDLHVCQUF1QjtjQUxuQyxTQUFTOzJCQUNFLHNCQUFzQjttSUFNaEIsSUFBSTtrQkFBbkIsS0FBSztZQUNVLEtBQUs7a0JBQXBCLEtBQUs7WUFDVSxRQUFRO2tCQUF2QixLQUFLO1lBQ1UsVUFBVTtrQkFBekIsS0FBSztZQUNVLFlBQVk7a0JBQTNCLEtBQUs7WUFDVSxVQUFVO2tCQUF6QixLQUFLO1lBQ1UsU0FBUztrQkFBeEIsS0FBSztZQUNVLFlBQVk7a0JBQTNCLEtBQUs7WUFDVSxpQkFBaUI7a0JBQWhDLEtBQUs7WUFDVSxrQkFBa0I7a0JBQWpDLEtBQUs7WUFDVSxLQUFLO2tCQUFwQixLQUFLO1lBQ1csZ0JBQWdCO2tCQUFoQyxNQUFNO1lBQ1UsOEJBQThCO2tCQUE5QyxNQUFNO1lBQ1UscUJBQXFCO2tCQUFyQyxNQUFNO1lBY0ksS0FBSztrQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGlpZiwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWFwLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIEJvb2tpbmdDaGVja1R5cGUsIEZpbHRlckNvbmZpZ09wdGlvbixcbiAgRmlsdGVyRmllbGRDb25maWcsXG4gIExvY2F0aW9uQnlFUElNTVNNb2RlbCxcbiAgTG9jYXRpb25zQnlTZXJ2aWNlXG59IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBMb2NhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2NhdGlvbnMvbG9jYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBSZWZEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3JlZi1kYXRhJztcbmltcG9ydCB7IFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0b3JhZ2Uvc2Vzc2lvbi1zdG9yYWdlL3Nlc3Npb24tc3RvcmFnZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXh1aS1zZWFyY2gtbG9jYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoTG9jYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBhbGxMb2NhdGlvbkFQSSA9IGBhcGkvbG9jYXRpb25zL2dldExvY2F0aW9uc2A7XG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHB1YmxpYyBmaWVsZDogRmlsdGVyRmllbGRDb25maWc7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiA9IG51bGw7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaW5nbGVNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBsb2NhdGlvblR5cGU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgc2VydmljZUlkczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzdWJtaXR0ZWQ/OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIGJvb2tpbmdDaGVjazogQm9va2luZ0NoZWNrVHlwZTtcbiAgQElucHV0KCkgcHVibGljIHNlbGVjdGVkTG9jYXRpb25zOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXSA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgcHJvcGVydHlOYW1lRmlsdGVyOiBrZXlvZiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWwgPSAnc2l0ZV9uYW1lJztcbiAgQElucHV0KCkgcHVibGljIGRlbGF5PzogbnVtYmVyID0gNTAwO1xuICBAT3V0cHV0KCkgcHVibGljIGxvY2F0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPExvY2F0aW9uQnlFUElNTVNNb2RlbD4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBsb2NhdGlvblRlcm1TZWFyY2hJbnB1dENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgc2VhcmNoTG9jYXRpb25DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIHB1YmxpYyBzZWFyY2hUZXJtRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucGF0dGVybignL1teYS16QS1aXS8nKSk7XG4gIHB1YmxpYyByZWFkb25seSBtaW5TZWFyY2hDaGFyYWN0ZXJzID0gMztcbiAgcHVibGljIHRlcm06IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIHBSZXNldDogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBmaWx0ZXJlZExpc3QkOiBPYnNlcnZhYmxlPExvY2F0aW9uQnlFUElNTVNNb2RlbFtdIHwgYm9vbGVhbj47XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVib3VuY2VUaW1lSW5wdXQgPSAzMDA7XG4gIHByaXZhdGUgYmluYXJ5VmFsdWUgPSAnJztcblxuICBwdWJsaWMgZ2V0IHJlc2V0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBSZXNldDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcmVzZXQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnBSZXNldCA9IHZhbHVlO1xuICAgIHRoaXMucmVzZXRTZWFyY2hUZXJtKCk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGxvY2F0aW9uU2VydmljZTogTG9jYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByZWZEYXRhU2VydmljZTogUmVmRGF0YVNlcnZpY2VcbiAgKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3Qgc2VhcmNoSW5wdXRDaGFuZ2VzJCA9IHRoaXMuc2VhcmNoVGVybUZvcm1Db250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgodGVybSkgPT4gdGhpcy5sb2NhdGlvblRlcm1TZWFyY2hJbnB1dENoYW5nZWQuZW1pdCh0ZXJtKSlcbiAgICAgICk7XG5cbiAgICAvLyBpZiBzZXJ2aWNlc0ZpZWxkIGV4aXN0cywgdGhlbiB3ZSBzaG91bGQgZmlsdGVyIGxvY2F0aW9ucyBieSB0aGUgc2VydmljZSBjb2Rlc1xuICAgIGlmICh0aGlzLmZpZWxkICYmIHRoaXMuZmllbGQuc2VydmljZXNGaWVsZCkge1xuICAgICAgdGhpcy5maWx0ZXJlZExpc3QkID0gc2VhcmNoSW5wdXRDaGFuZ2VzJC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHRlcm06IHN0cmluZykgPT4gaWlmKFxuICAgICAgICAgIC8vIFNlZW1zIG1vcmUgcmVzcG9uc2l2ZSB0byBkbyBsZW5ndGggMCBpZiBsb2NhdGlvbnNCeVNlcnZpY2VDb2RlcyBhcmUgY2FjaGVkXG4gICAgICAgICAgKCkgPT4gKCEhdGVybSAmJiB0ZXJtLmxlbmd0aCA+PSAwKSxcbiAgICAgICAgICB0aGlzLnJlZkRhdGFTZXJ2aWNlLmdldExvY2F0aW9uc0J5U2VydmljZUNvZGVzKFxuICAgICAgICAgICAgKHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5zZXJ2aWNlc0ZpZWxkKT8udmFsdWUgYXMgRmlsdGVyQ29uZmlnT3B0aW9uW10pLm1hcCgoc2VydmljZSkgPT4gc2VydmljZS5rZXkpXG4gICAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgLy8gRmlsdGVyIGxvY2F0aW9ucyBieSB0aGUgc2VhcmNoIGlucHV0IHRlcm0gYW5kIHRoZSBjaG9zZW4gcHJvcGVydHkgbmFtZVxuICAgICAgICAgICAgbWFwKChsb2NhdGlvbnMpID0+IGxvY2F0aW9uc1xuICAgICAgICAgICAgICAuZmlsdGVyKChsb2NhdGlvbikgPT4gbG9jYXRpb25bdGhpcy5wcm9wZXJ0eU5hbWVGaWx0ZXJdLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGVybS50b0xvd2VyQ2FzZSgpKSkpLFxuICAgICAgICAgICAgLy8gRmlsdGVyIG91dCBsb2NhdGlvbnMgdGhhdCBhcmUgYWxyZWFkeSBzZWxlY3RlZFxuICAgICAgICAgICAgbWFwKChsb2NhdGlvbnMpID0+IHRoaXMuZmlsdGVyVW5zZWxlY3RlZExvY2F0aW9ucyhsb2NhdGlvbnMsIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbnMsIHRoaXMuc2luZ2xlTW9kZSkpLFxuICAgICAgICAgICAgLy8gRmlsdGVyIG91dCBkdXBsaWNhdGUgbG9jYXRpb25zIChieSBwcm9wZXJ0eU5hbWVGaWx0ZXIpXG4gICAgICAgICAgICBtYXAoKGxvY2F0aW9ucykgPT4gbG9jYXRpb25zLmZpbHRlcigobG9jYXRpb24sIGluZGV4LCBhcnJheSkgPT5cbiAgICAgICAgICAgICAgaW5kZXggPT09IGFycmF5LmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbVt0aGlzLnByb3BlcnR5TmFtZUZpbHRlcl0gPT09IGxvY2F0aW9uW3RoaXMucHJvcGVydHlOYW1lRmlsdGVyXSlcbiAgICAgICAgICAgICkpLFxuICAgICAgICAgICksXG4gICAgICAgICAgLy8gUmV0dXJucyBmYWxzZSBpZiB0aGUgc2VhcmNoIHRlcm0gaXMgZW1wdHkgdG8gbm90IHNob3cgdGhlIGF1dG9jb21wbGV0ZSBmaWVsZCBpLmUuIG5nSWYgc2hvdWxkIGJlIGZhbHNlXG4gICAgICAgICAgb2YoZmFsc2UpXG4gICAgICAgICkpLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWx0ZXJlZExpc3QkID0gc2VhcmNoSW5wdXRDaGFuZ2VzJC5waXBlKFxuICAgICAgICAvLyBEZWJvdW5jZSBuZWVkZWQgdG8gcHJldmVudCBtdWx0aXBsZSBBUEkgY2FsbHMgYmVpbmcgbWFkZVxuICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZVRpbWVJbnB1dCksXG4gICAgICAgIHN3aXRjaE1hcCgodGVybTogc3RyaW5nKSA9PiBpaWYoXG4gICAgICAgICAgKCkgPT4gKCEhdGVybSAmJiB0ZXJtLmxlbmd0aCA+PSB0aGlzLm1pblNlYXJjaENoYXJhY3RlcnMpLFxuICAgICAgICAgIHRoaXMuZ2V0TG9jYXRpb25zKHRlcm0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGxvY2F0aW9ucykgPT4gdGhpcy5maWx0ZXJVbnNlbGVjdGVkTG9jYXRpb25zKGxvY2F0aW9ucywgdGhpcy5zZWxlY3RlZExvY2F0aW9ucywgdGhpcy5zaW5nbGVNb2RlKSksXG4gICAgICAgICAgKSxcbiAgICAgICAgICBvZihmYWxzZSlcbiAgICAgICAgKSksXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNpbmdsZU1vZGUgJiYgdGhpcy5zZWxlY3RlZExvY2F0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBsb2NhdGlvbiA9IHRoaXMuc2VsZWN0ZWRMb2NhdGlvbnNbMF07XG4gICAgICB0aGlzLnNlYXJjaFRlcm1Gb3JtQ29udHJvbC5wYXRjaFZhbHVlKGxvY2F0aW9uW3RoaXMucHJvcGVydHlOYW1lRmlsdGVyXSwgeyBlbWl0RXZlbnQ6IGZhbHNlLCBvbmx5U2VsZjogdHJ1ZSB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3RlZExvY2F0aW9uKGxvY2F0aW9uOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWwpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFRlcm1Gb3JtQ29udHJvbC5wYXRjaFZhbHVlKGxvY2F0aW9uW3RoaXMucHJvcGVydHlOYW1lRmlsdGVyXSwgeyBlbWl0RXZlbnQ6IGZhbHNlLCBvbmx5U2VsZjogdHJ1ZSB9KTtcbiAgICB0aGlzLmxvY2F0aW9uU2VsZWN0ZWQuZW1pdChsb2NhdGlvbik7XG4gIH1cbiAgcHVibGljIG9uSW5wdXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hMb2NhdGlvbkNoYW5nZWQuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIGdldExvY2F0aW9ucyh0ZXJtOiBzdHJpbmcpOiBPYnNlcnZhYmxlPExvY2F0aW9uQnlFUElNTVNNb2RlbFtdPiB7XG4gICAgbGV0IHVzZXJMb2NhdGlvbnM7XG4gICAgLy8gQm9va2luZyB0eXBlIGluZm8gLSBjYW4gY3JlYXRlIG1vcmVcbiAgICAvLyBOT19DSEVDSyAtIEFsbCB3b3JrIC0gRG8gbm90IGZpbHRlciBvdXQgbG9jYXRpb25zIC0gRGVmYXVsdCBhc3N1bXB0aW9uXG4gICAgLy8gQk9PS0lOR1NfQU5EX0JBU0UgLSBNeSB3b3JrIC0gVHJ5IHRvIG9ubHkgc2hvdyBiYXNlIGxvY2F0aW9ucy9yZWdpb25zXG4gICAgLy8gUE9TU0lCTEVfQk9PS0lOR1MgLSBDcmVhdGUgYm9va2luZyBzY3JlZW4gLSBTaG93IG9ubHkgcG90ZW50aWFsIGJvb2tpbmdzXG4gICAgaWYgKHRoaXMuYm9va2luZ0NoZWNrID09PSBCb29raW5nQ2hlY2tUeXBlLkJPT0tJTkdTX0FORF9CQVNFKSB7XG4gICAgICB1c2VyTG9jYXRpb25zID0gSlNPTi5wYXJzZSh0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCd1c2VyTG9jYXRpb25zJykpIGFzIExvY2F0aW9uc0J5U2VydmljZVtdO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ib29raW5nQ2hlY2sgPT09IEJvb2tpbmdDaGVja1R5cGUuUE9TU0lCTEVfQk9PS0lOR1MpIHtcbiAgICAgIHRoaXMuc2VydmljZUlkcyA9IHRoaXMuc2VydmljZUlkcyAmJiB0aGlzLnNlcnZpY2VJZHMubGVuZ3RoID8gdGhpcy5zZXJ2aWNlSWRzIDogSlNPTi5wYXJzZSh0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCdib29rYWJsZVNlcnZpY2VzJykpO1xuICAgICAgdXNlckxvY2F0aW9ucyA9IEpTT04ucGFyc2UodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnYm9va2FibGVVc2VyTG9jYXRpb25zJykpIGFzIExvY2F0aW9uc0J5U2VydmljZVtdO1xuICAgIH1cbiAgICAvLyBnZXQgYWxsIGxvY2F0aW9ucyB3aWxsIHJlc29sdmUgZmlsdGVyIHNldHRpbmcgdXNpbmcgb2JqZWN0cyBhYm92ZVxuICAgIC8vIGlmIG5vIHVzZXJMb2NhdGlvbnMsIE5PX0NIRUNLXG4gICAgLy8gaWYganVzdCBnZXR0aW5nIGFsbCBzdWJzdGFudGl2ZSB1c2VyIGxvY2F0aW9ucywgQk9PS0lOR1NfQU5EX0JBU0VcbiAgICAvLyBmZWUgcGFpZCB1c2VyIGxvY2F0aW9ucyBhcmUgdXNlZCBmb3IgUE9TU0lCTEVfQk9PS0lOR1NcbiAgICByZXR1cm4gdGhpcy5sb2NhdGlvblNlcnZpY2UuZ2V0QWxsTG9jYXRpb25zKFNlYXJjaExvY2F0aW9uQ29tcG9uZW50LmFsbExvY2F0aW9uQVBJLCB0aGlzLnNlcnZpY2VJZHMsIHRoaXMubG9jYXRpb25UeXBlLCB0ZXJtLCB1c2VyTG9jYXRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldFNlYXJjaFRlcm0oKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hUZXJtRm9ybUNvbnRyb2wuc2V0VmFsdWUoJycpO1xuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJVbnNlbGVjdGVkTG9jYXRpb25zKFxuICAgIGxvY2F0aW9uczogTG9jYXRpb25CeUVQSU1NU01vZGVsW10sXG4gICAgc2VsZWN0ZWRMb2NhdGlvbnM6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdLFxuICAgIHNpbmdsZU1vZGU6IGJvb2xlYW5cbiAgKTogTG9jYXRpb25CeUVQSU1NU01vZGVsW10ge1xuICAgIGlmIChzaW5nbGVNb2RlKSB7XG4gICAgICByZXR1cm4gbG9jYXRpb25zO1xuICAgIH1cbiAgICByZXR1cm4gbG9jYXRpb25zLmZpbHRlcihcbiAgICAgIGxvY2F0aW9uID0+ICFzZWxlY3RlZExvY2F0aW9ucy5tYXAoc2VsZWN0ZWRMb2NhdGlvbiA9PiBzZWxlY3RlZExvY2F0aW9uLmVwaW1tc19pZCkuaW5jbHVkZXMobG9jYXRpb24uZXBpbW1zX2lkKSAmJiBsb2NhdGlvblt0aGlzLnByb3BlcnR5TmFtZUZpbHRlcl1cbiAgICApO1xuICB9XG5cbiAgcHVibGljIFJlbW92ZUludmFsaWRTdHJpbmcoZm9ybUlucHV0VmFsdWU6IGFueSkge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBmb3JtSW5wdXRWYWx1ZS50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICBjb25zdCBuZXdJbnB1dFZhbHVlID0gZWxlbWVudC52YWx1ZTtcbiAgICBpZiAoL1teYS16QS1aXS8udGVzdChuZXdJbnB1dFZhbHVlKSkge1xuICAgICAgZWxlbWVudC52YWx1ZSA9IHRoaXMuYmluYXJ5VmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYmluYXJ5VmFsdWUgPSBuZXdJbnB1dFZhbHVlO1xuICAgIH1cbiAgfVxuXG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJhdXRvLWNvbXBsZXRlLWNvbnRhaW5lclwiPlxuICA8aW5wdXRcbiAgICBpZD1cImlucHV0TG9jYXRpb25TZWFyY2hcIlxuICAgIChrZXl1cCk9XCJSZW1vdmVJbnZhbGlkU3RyaW5nKCRldmVudClcIlxuICAgIChpbnB1dCk9XCJvbklucHV0KClcIlxuICAgIFtmb3JtQ29udHJvbF09XCJzZWFyY2hUZXJtRm9ybUNvbnRyb2xcIlxuICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1NlYXJjaExvY2F0aW9uXCJcbiAgICBjbGFzcz1cImdvdnVrLWlucHV0XCJcbiAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICA8bWF0LWF1dG9jb21wbGV0ZSBjbGFzcz1cIm1hdC1hdXRvY29tcGxldGUtcGFuZWwtZXh0ZW5kXCIgYXV0b0FjdGl2ZUZpcnN0T3B0aW9uICNhdXRvU2VhcmNoTG9jYXRpb249XCJtYXRBdXRvY29tcGxldGVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsdGVyZWRMaXN0JCB8IGFzeW5jIGFzIGZpbHRlcmVkTGlzdFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlcmVkTGlzdCAmJiBmaWx0ZXJlZExpc3QubGVuZ3RoID49IDBcIj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGxvY2F0aW9uIG9mIGZpbHRlcmVkTGlzdFwiIChvblNlbGVjdGlvbkNoYW5nZSk9XCJvblNlbGVjdGVkTG9jYXRpb24obG9jYXRpb24pXCI+XG4gICAgICAgICAge3sgbG9jYXRpb25bcHJvcGVydHlOYW1lRmlsdGVyXSB9fVxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiZmlsdGVyZWRMaXN0Lmxlbmd0aCA9PT0gMFwiPnt7J05vIHJlc3VsdHMgZm91bmQnIHwgcnB4VHJhbnNsYXRlfX08L21hdC1vcHRpb24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuPC9kaXY+XG4iXX0=
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoLWxvY2F0aW9uL3NlYXJjaC1sb2NhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC1sb2NhdGlvbi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRSxPQUFPLEVBQ0wsZ0JBQWdCLEVBSWpCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7Ozs7Ozs7Ozs7OztJQ0QvRixxQ0FBcUc7SUFBbkQscVNBQXFCLGVBQUEsc0NBQTRCLENBQUEsSUFBQztJQUNsRyxZQUNGO0lBQUEsaUJBQWE7Ozs7SUFEWCxlQUNGO0lBREUsdUVBQ0Y7OztJQUNBLGtDQUE4QztJQUFBLFlBQXFDOztJQUFBLGlCQUFhOztJQUFsRCxlQUFxQztJQUFyQyw4REFBcUM7OztJQUpyRiw2QkFBK0Q7SUFDN0Qsb0hBRWE7SUFDYixvSEFBZ0c7SUFDbEcsMEJBQWU7OztJQUpvQixlQUFlO0lBQWYseUNBQWU7SUFHbkMsZUFBK0I7SUFBL0IsbURBQStCOzs7SUFMaEQsNkJBQTREO0lBQzFELHlHQUtlO0lBQ2pCLDBCQUFlOzs7SUFORSxlQUE4QztJQUE5QyxxRUFBOEM7O0FEU25FLE1BQU0sT0FBTyx1QkFBdUI7SUF1QmxDLElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFDVyxLQUFLLENBQUMsS0FBYztRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFlBQTZCLGVBQWdDLEVBQ2hDLHFCQUE0QyxFQUM1QyxjQUE4QjtRQUY5QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUEvQjNDLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFDekIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUMxQixlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLGNBQVMsR0FBYSxJQUFJLENBQUM7UUFFM0Isc0JBQWlCLEdBQTRCLEVBQUUsQ0FBQztRQUNoRCx1QkFBa0IsR0FBZ0MsV0FBVyxDQUFDO1FBQzlELFVBQUssR0FBWSxHQUFHLENBQUM7UUFDcEIscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFDN0QsbUNBQThCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDbEYsMEJBQXFCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDL0UsMEJBQXFCLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkMsd0JBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDakIsV0FBTSxHQUFZLElBQUksQ0FBQztRQUVkLHNCQUFpQixHQUFHLEdBQUcsQ0FBQztJQWV0QyxDQUFDO0lBRUcsUUFBUTtRQUNiLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFlBQVk7YUFDaEUsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUM5RCxDQUFDO1FBRUosZ0ZBQWdGO1FBQ2hGLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRTtZQUMxQyxJQUFJLENBQUMsYUFBYSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FDM0MsU0FBUyxDQUFDLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxHQUFHO1lBQzdCLDZFQUE2RTtZQUM3RSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsRUFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQywwQkFBMEIsQ0FDNUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQThCLENBQUEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FDdkcsQ0FBQyxJQUFJO1lBQ0oseUVBQXlFO1lBQ3pFLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUztpQkFDekIsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDdEcsaURBQWlEO1lBQ2pELEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3RHLHlEQUF5RDtZQUN6RCxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQzdELEtBQUssS0FBSyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssUUFBUSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQ3pHLENBQUMsQ0FDSDtZQUNELHlHQUF5RztZQUN6RyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQ1osQ0FBQyxDQUNILENBQUM7U0FDSDthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJO1lBQzNDLDJEQUEyRDtZQUMzRCxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQ3BDLFNBQVMsQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsR0FBRyxDQUM3QixHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsRUFDekQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQzFCLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQ3ZHLEVBQ0QsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUNWLENBQUMsQ0FDSCxDQUFDO1NBQ0g7UUFFRCxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDeEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztTQUM5RztJQUNILENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxRQUErQjtRQUN2RCxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFDN0csSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ00sT0FBTztRQUNaLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU0sWUFBWSxDQUFDLElBQVk7UUFDOUIsSUFBSSxhQUFhLENBQUM7UUFDbEIsc0NBQXNDO1FBQ3RDLHlFQUF5RTtRQUN6RSx3RUFBd0U7UUFDeEUsMkVBQTJFO1FBQzNFLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxnQkFBZ0IsQ0FBQyxpQkFBaUIsRUFBRTtZQUM1RCxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUF5QixDQUFDO1NBQ3pHO2FBQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLGdCQUFnQixDQUFDLGlCQUFpQixFQUFFO1lBQ25FLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztZQUNuSixhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQXlCLENBQUM7U0FDakg7UUFDRCxvRUFBb0U7UUFDcEUsZ0NBQWdDO1FBQ2hDLG9FQUFvRTtRQUNwRSx5REFBeUQ7UUFDekQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQztJQUMvSSxDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTyx5QkFBeUIsQ0FDL0IsU0FBa0MsRUFDbEMsaUJBQTBDLEVBQzFDLFVBQW1CO1FBRW5CLElBQUksVUFBVSxFQUFFO1lBQ2QsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQ3JCLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUNySixDQUFDO0lBQ0osQ0FBQzs7QUFoSXVCLHNDQUFjLEdBQUcsNEJBQTRCLENBQUM7OEZBRDNELHVCQUF1QjswRUFBdkIsdUJBQXVCO1FDbkJwQyw4QkFBcUMsZUFBQTtRQUdqQyxtR0FBUyxhQUFTLElBQUM7UUFGckIsaUJBTTZCO1FBQzdCLDhDQUFvSDtRQUNsSCwwRkFPZTs7UUFDakIsaUJBQW1CLEVBQUE7OztRQWJqQixlQUFxQztRQUFyQyx1REFBcUMsd0JBQUE7UUFHckMsd0NBQTBCO1FBRVgsZUFBNEI7UUFBNUIsOERBQTRCOzt1RkRVbEMsdUJBQXVCO2NBTG5DLFNBQVM7MkJBQ0Usc0JBQXNCO21JQU1oQixJQUFJO2tCQUFuQixLQUFLO1lBQ1UsS0FBSztrQkFBcEIsS0FBSztZQUNVLFFBQVE7a0JBQXZCLEtBQUs7WUFDVSxVQUFVO2tCQUF6QixLQUFLO1lBQ1UsWUFBWTtrQkFBM0IsS0FBSztZQUNVLFVBQVU7a0JBQXpCLEtBQUs7WUFDVSxTQUFTO2tCQUF4QixLQUFLO1lBQ1UsWUFBWTtrQkFBM0IsS0FBSztZQUNVLGlCQUFpQjtrQkFBaEMsS0FBSztZQUNVLGtCQUFrQjtrQkFBakMsS0FBSztZQUNVLEtBQUs7a0JBQXBCLEtBQUs7WUFDVyxnQkFBZ0I7a0JBQWhDLE1BQU07WUFDVSw4QkFBOEI7a0JBQTlDLE1BQU07WUFDVSxxQkFBcUI7a0JBQXJDLE1BQU07WUFhSSxLQUFLO2tCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgaWlmLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQm9va2luZ0NoZWNrVHlwZSwgRmlsdGVyQ29uZmlnT3B0aW9uLFxuICBGaWx0ZXJGaWVsZENvbmZpZyxcbiAgTG9jYXRpb25CeUVQSU1NU01vZGVsLFxuICBMb2NhdGlvbnNCeVNlcnZpY2Vcbn0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IExvY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvY2F0aW9ucy9sb2NhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFJlZkRhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVmLWRhdGEnO1xuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3RvcmFnZS9zZXNzaW9uLXN0b3JhZ2Uvc2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdleHVpLXNlYXJjaC1sb2NhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hMb2NhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IGFsbExvY2F0aW9uQVBJID0gYGFwaS9sb2NhdGlvbnMvZ2V0TG9jYXRpb25zYDtcbiAgQElucHV0KCkgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIGZpZWxkOiBGaWx0ZXJGaWVsZENvbmZpZztcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gbnVsbDtcbiAgQElucHV0KCkgcHVibGljIHNpbmdsZU1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGxvY2F0aW9uVHlwZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXJ2aWNlSWRzOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHN1Ym1pdHRlZD86IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgYm9va2luZ0NoZWNrOiBCb29raW5nQ2hlY2tUeXBlO1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0ZWRMb2NhdGlvbnM6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdID0gW107XG4gIEBJbnB1dCgpIHB1YmxpYyBwcm9wZXJ0eU5hbWVGaWx0ZXI6IGtleW9mIExvY2F0aW9uQnlFUElNTVNNb2RlbCA9ICdzaXRlX25hbWUnO1xuICBASW5wdXQoKSBwdWJsaWMgZGVsYXk/OiBudW1iZXIgPSA1MDA7XG4gIEBPdXRwdXQoKSBwdWJsaWMgbG9jYXRpb25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TG9jYXRpb25CeUVQSU1NU01vZGVsPigpO1xuICBAT3V0cHV0KCkgcHVibGljIGxvY2F0aW9uVGVybVNlYXJjaElucHV0Q2hhbmdlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBzZWFyY2hMb2NhdGlvbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgcHVibGljIHNlYXJjaFRlcm1Gb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG4gIHB1YmxpYyByZWFkb25seSBtaW5TZWFyY2hDaGFyYWN0ZXJzID0gMztcbiAgcHVibGljIHRlcm06IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIHBSZXNldDogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBmaWx0ZXJlZExpc3QkOiBPYnNlcnZhYmxlPExvY2F0aW9uQnlFUElNTVNNb2RlbFtdIHwgYm9vbGVhbj47XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVib3VuY2VUaW1lSW5wdXQgPSAzMDA7XG5cbiAgcHVibGljIGdldCByZXNldCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wUmVzZXQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHJlc2V0KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5wUmVzZXQgPSB2YWx1ZTtcbiAgICB0aGlzLnJlc2V0U2VhcmNoVGVybSgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBsb2NhdGlvblNlcnZpY2U6IExvY2F0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzZXNzaW9uU3RvcmFnZVNlcnZpY2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSByZWZEYXRhU2VydmljZTogUmVmRGF0YVNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBzZWFyY2hJbnB1dENoYW5nZXMkID0gdGhpcy5zZWFyY2hUZXJtRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCh0ZXJtKSA9PiB0aGlzLmxvY2F0aW9uVGVybVNlYXJjaElucHV0Q2hhbmdlZC5lbWl0KHRlcm0pKVxuICAgICAgKTtcblxuICAgIC8vIGlmIHNlcnZpY2VzRmllbGQgZXhpc3RzLCB0aGVuIHdlIHNob3VsZCBmaWx0ZXIgbG9jYXRpb25zIGJ5IHRoZSBzZXJ2aWNlIGNvZGVzXG4gICAgaWYgKHRoaXMuZmllbGQgJiYgdGhpcy5maWVsZC5zZXJ2aWNlc0ZpZWxkKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkTGlzdCQgPSBzZWFyY2hJbnB1dENoYW5nZXMkLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgodGVybTogc3RyaW5nKSA9PiBpaWYoXG4gICAgICAgICAgLy8gU2VlbXMgbW9yZSByZXNwb25zaXZlIHRvIGRvIGxlbmd0aCAwIGlmIGxvY2F0aW9uc0J5U2VydmljZUNvZGVzIGFyZSBjYWNoZWRcbiAgICAgICAgICAoKSA9PiAoISF0ZXJtICYmIHRlcm0ubGVuZ3RoID49IDApLFxuICAgICAgICAgICAgdGhpcy5yZWZEYXRhU2VydmljZS5nZXRMb2NhdGlvbnNCeVNlcnZpY2VDb2RlcyhcbiAgICAgICAgICAgICAgKHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5zZXJ2aWNlc0ZpZWxkKT8udmFsdWUgYXMgRmlsdGVyQ29uZmlnT3B0aW9uW10pLm1hcCgoc2VydmljZSkgPT4gc2VydmljZS5rZXkpXG4gICAgICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICAgIC8vIEZpbHRlciBsb2NhdGlvbnMgYnkgdGhlIHNlYXJjaCBpbnB1dCB0ZXJtIGFuZCB0aGUgY2hvc2VuIHByb3BlcnR5IG5hbWVcbiAgICAgICAgICAgICAgbWFwKChsb2NhdGlvbnMpID0+IGxvY2F0aW9uc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoKGxvY2F0aW9uKSA9PiBsb2NhdGlvblt0aGlzLnByb3BlcnR5TmFtZUZpbHRlcl0udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXJtLnRvTG93ZXJDYXNlKCkpKSksXG4gICAgICAgICAgICAgIC8vIEZpbHRlciBvdXQgbG9jYXRpb25zIHRoYXQgYXJlIGFscmVhZHkgc2VsZWN0ZWRcbiAgICAgICAgICAgICAgbWFwKChsb2NhdGlvbnMpID0+IHRoaXMuZmlsdGVyVW5zZWxlY3RlZExvY2F0aW9ucyhsb2NhdGlvbnMsIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbnMsIHRoaXMuc2luZ2xlTW9kZSkpLFxuICAgICAgICAgICAgICAvLyBGaWx0ZXIgb3V0IGR1cGxpY2F0ZSBsb2NhdGlvbnMgKGJ5IHByb3BlcnR5TmFtZUZpbHRlcilcbiAgICAgICAgICAgICAgbWFwKChsb2NhdGlvbnMpID0+IGxvY2F0aW9ucy5maWx0ZXIoKGxvY2F0aW9uLCBpbmRleCwgYXJyYXkpID0+XG4gICAgICAgICAgICAgICAgaW5kZXggPT09IGFycmF5LmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbVt0aGlzLnByb3BlcnR5TmFtZUZpbHRlcl0gPT09IGxvY2F0aW9uW3RoaXMucHJvcGVydHlOYW1lRmlsdGVyXSlcbiAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgLy8gUmV0dXJucyBmYWxzZSBpZiB0aGUgc2VhcmNoIHRlcm0gaXMgZW1wdHkgdG8gbm90IHNob3cgdGhlIGF1dG9jb21wbGV0ZSBmaWVsZCBpLmUuIG5nSWYgc2hvdWxkIGJlIGZhbHNlXG4gICAgICAgICAgICBvZihmYWxzZSlcbiAgICAgICAgKSksXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbHRlcmVkTGlzdCQgPSBzZWFyY2hJbnB1dENoYW5nZXMkLnBpcGUoXG4gICAgICAgIC8vIERlYm91bmNlIG5lZWRlZCB0byBwcmV2ZW50IG11bHRpcGxlIEFQSSBjYWxscyBiZWluZyBtYWRlXG4gICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlVGltZUlucHV0KSxcbiAgICAgICAgc3dpdGNoTWFwKCh0ZXJtOiBzdHJpbmcpID0+IGlpZihcbiAgICAgICAgICAoKSA9PiAoISF0ZXJtICYmIHRlcm0ubGVuZ3RoID49IHRoaXMubWluU2VhcmNoQ2hhcmFjdGVycyksXG4gICAgICAgICAgdGhpcy5nZXRMb2NhdGlvbnModGVybSkucGlwZShcbiAgICAgICAgICAgIG1hcCgobG9jYXRpb25zKSA9PiB0aGlzLmZpbHRlclVuc2VsZWN0ZWRMb2NhdGlvbnMobG9jYXRpb25zLCB0aGlzLnNlbGVjdGVkTG9jYXRpb25zLCB0aGlzLnNpbmdsZU1vZGUpKSxcbiAgICAgICAgICApLFxuICAgICAgICAgIG9mKGZhbHNlKVxuICAgICAgICApKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2luZ2xlTW9kZSAmJiB0aGlzLnNlbGVjdGVkTG9jYXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGxvY2F0aW9uID0gdGhpcy5zZWxlY3RlZExvY2F0aW9uc1swXTtcbiAgICAgIHRoaXMuc2VhcmNoVGVybUZvcm1Db250cm9sLnBhdGNoVmFsdWUobG9jYXRpb25bdGhpcy5wcm9wZXJ0eU5hbWVGaWx0ZXJdLCB7ZW1pdEV2ZW50OiBmYWxzZSwgb25seVNlbGY6IHRydWV9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3RlZExvY2F0aW9uKGxvY2F0aW9uOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWwpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFRlcm1Gb3JtQ29udHJvbC5wYXRjaFZhbHVlKGxvY2F0aW9uW3RoaXMucHJvcGVydHlOYW1lRmlsdGVyXSwge2VtaXRFdmVudDogZmFsc2UsIG9ubHlTZWxmOiB0cnVlfSk7XG4gICAgdGhpcy5sb2NhdGlvblNlbGVjdGVkLmVtaXQobG9jYXRpb24pO1xuICB9XG4gIHB1YmxpYyBvbklucHV0KCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoTG9jYXRpb25DaGFuZ2VkLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMb2NhdGlvbnModGVybTogc3RyaW5nKTogT2JzZXJ2YWJsZTxMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXT4ge1xuICAgIGxldCB1c2VyTG9jYXRpb25zO1xuICAgIC8vIEJvb2tpbmcgdHlwZSBpbmZvIC0gY2FuIGNyZWF0ZSBtb3JlXG4gICAgLy8gTk9fQ0hFQ0sgLSBBbGwgd29yayAtIERvIG5vdCBmaWx0ZXIgb3V0IGxvY2F0aW9ucyAtIERlZmF1bHQgYXNzdW1wdGlvblxuICAgIC8vIEJPT0tJTkdTX0FORF9CQVNFIC0gTXkgd29yayAtIFRyeSB0byBvbmx5IHNob3cgYmFzZSBsb2NhdGlvbnMvcmVnaW9uc1xuICAgIC8vIFBPU1NJQkxFX0JPT0tJTkdTIC0gQ3JlYXRlIGJvb2tpbmcgc2NyZWVuIC0gU2hvdyBvbmx5IHBvdGVudGlhbCBib29raW5nc1xuICAgIGlmICh0aGlzLmJvb2tpbmdDaGVjayA9PT0gQm9va2luZ0NoZWNrVHlwZS5CT09LSU5HU19BTkRfQkFTRSkge1xuICAgICAgdXNlckxvY2F0aW9ucyA9IEpTT04ucGFyc2UodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgndXNlckxvY2F0aW9ucycpKSBhcyBMb2NhdGlvbnNCeVNlcnZpY2VbXTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuYm9va2luZ0NoZWNrID09PSBCb29raW5nQ2hlY2tUeXBlLlBPU1NJQkxFX0JPT0tJTkdTKSB7XG4gICAgICB0aGlzLnNlcnZpY2VJZHMgPSB0aGlzLnNlcnZpY2VJZHMgJiYgdGhpcy5zZXJ2aWNlSWRzLmxlbmd0aCA/IHRoaXMuc2VydmljZUlkcyA6IEpTT04ucGFyc2UodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnYm9va2FibGVTZXJ2aWNlcycpKTtcbiAgICAgIHVzZXJMb2NhdGlvbnMgPSBKU09OLnBhcnNlKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ2Jvb2thYmxlVXNlckxvY2F0aW9ucycpKSBhcyBMb2NhdGlvbnNCeVNlcnZpY2VbXTtcbiAgICB9XG4gICAgLy8gZ2V0IGFsbCBsb2NhdGlvbnMgd2lsbCByZXNvbHZlIGZpbHRlciBzZXR0aW5nIHVzaW5nIG9iamVjdHMgYWJvdmVcbiAgICAvLyBpZiBubyB1c2VyTG9jYXRpb25zLCBOT19DSEVDS1xuICAgIC8vIGlmIGp1c3QgZ2V0dGluZyBhbGwgc3Vic3RhbnRpdmUgdXNlciBsb2NhdGlvbnMsIEJPT0tJTkdTX0FORF9CQVNFXG4gICAgLy8gZmVlIHBhaWQgdXNlciBsb2NhdGlvbnMgYXJlIHVzZWQgZm9yIFBPU1NJQkxFX0JPT0tJTkdTXG4gICAgcmV0dXJuIHRoaXMubG9jYXRpb25TZXJ2aWNlLmdldEFsbExvY2F0aW9ucyhTZWFyY2hMb2NhdGlvbkNvbXBvbmVudC5hbGxMb2NhdGlvbkFQSSwgdGhpcy5zZXJ2aWNlSWRzLCB0aGlzLmxvY2F0aW9uVHlwZSwgdGVybSwgdXNlckxvY2F0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXRTZWFyY2hUZXJtKCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoVGVybUZvcm1Db250cm9sLnNldFZhbHVlKCcnKTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyVW5zZWxlY3RlZExvY2F0aW9ucyhcbiAgICBsb2NhdGlvbnM6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdLFxuICAgIHNlbGVjdGVkTG9jYXRpb25zOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXSxcbiAgICBzaW5nbGVNb2RlOiBib29sZWFuXG4gICk6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdIHtcbiAgICBpZiAoc2luZ2xlTW9kZSkge1xuICAgICAgcmV0dXJuIGxvY2F0aW9ucztcbiAgICB9XG4gICAgcmV0dXJuIGxvY2F0aW9ucy5maWx0ZXIoXG4gICAgICBsb2NhdGlvbiA9PiAhc2VsZWN0ZWRMb2NhdGlvbnMubWFwKHNlbGVjdGVkTG9jYXRpb24gPT4gc2VsZWN0ZWRMb2NhdGlvbi5lcGltbXNfaWQpLmluY2x1ZGVzKGxvY2F0aW9uLmVwaW1tc19pZCkgJiYgbG9jYXRpb25bdGhpcy5wcm9wZXJ0eU5hbWVGaWx0ZXJdXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF1dG8tY29tcGxldGUtY29udGFpbmVyXCI+XG4gIDxpbnB1dFxuICAgIGlkPVwiaW5wdXRMb2NhdGlvblNlYXJjaFwiXG4gICAgKGlucHV0KT1cIm9uSW5wdXQoKVwiXG4gICAgW2Zvcm1Db250cm9sXT1cInNlYXJjaFRlcm1Gb3JtQ29udHJvbFwiXG4gICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvU2VhcmNoTG9jYXRpb25cIlxuICAgIGNsYXNzPVwiZ292dWstaW5wdXRcIlxuICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gIDxtYXQtYXV0b2NvbXBsZXRlIGNsYXNzPVwibWF0LWF1dG9jb21wbGV0ZS1wYW5lbC1leHRlbmRcIiBhdXRvQWN0aXZlRmlyc3RPcHRpb24gI2F1dG9TZWFyY2hMb2NhdGlvbj1cIm1hdEF1dG9jb21wbGV0ZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWx0ZXJlZExpc3QkIHwgYXN5bmMgYXMgZmlsdGVyZWRMaXN0XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsdGVyZWRMaXN0ICYmIGZpbHRlcmVkTGlzdC5sZW5ndGggPj0gMFwiPlxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgbG9jYXRpb24gb2YgZmlsdGVyZWRMaXN0XCIgKG9uU2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0ZWRMb2NhdGlvbihsb2NhdGlvbilcIj5cbiAgICAgICAgICB7eyBsb2NhdGlvbltwcm9wZXJ0eU5hbWVGaWx0ZXJdIH19XG4gICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nSWY9XCJmaWx0ZXJlZExpc3QubGVuZ3RoID09PSAwXCI+e3snTm8gcmVzdWx0cyBmb3VuZCcgfCBycHhUcmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L21hdC1hdXRvY29tcGxldGU+XG48L2Rpdj5cbiJdfQ==
@@ -2781,12 +2781,11 @@ class SearchLocationComponent {
2781
2781
  this.locationSelected = new EventEmitter();
2782
2782
  this.locationTermSearchInputChanged = new EventEmitter();
2783
2783
  this.searchLocationChanged = new EventEmitter();
2784
- this.searchTermFormControl = new FormControl('', Validators.pattern('/[^a-zA-Z]/'));
2784
+ this.searchTermFormControl = new FormControl('');
2785
2785
  this.minSearchCharacters = 3;
2786
2786
  this.term = '';
2787
2787
  this.pReset = true;
2788
2788
  this.debounceTimeInput = 300;
2789
- this.binaryValue = '';
2790
2789
  }
2791
2790
  ngOnInit() {
2792
2791
  const searchInputChanges$ = this.searchTermFormControl.valueChanges
@@ -2854,23 +2853,13 @@ class SearchLocationComponent {
2854
2853
  }
2855
2854
  return locations.filter(location => !selectedLocations.map(selectedLocation => selectedLocation.epimms_id).includes(location.epimms_id) && location[this.propertyNameFilter]);
2856
2855
  }
2857
- RemoveInvalidString(formInputValue) {
2858
- const element = formInputValue.target;
2859
- const newInputValue = element.value;
2860
- if (/[^a-zA-Z]/.test(newInputValue)) {
2861
- element.value = this.binaryValue;
2862
- }
2863
- else {
2864
- this.binaryValue = newInputValue;
2865
- }
2866
- }
2867
2856
  }
2868
2857
  SearchLocationComponent.allLocationAPI = `api/locations/getLocations`;
2869
2858
  SearchLocationComponent.ɵfac = function SearchLocationComponent_Factory(t) { return new (t || SearchLocationComponent)(i0.ɵɵdirectiveInject(LocationService), i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(RefDataService)); };
2870
- SearchLocationComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchLocationComponent, selectors: [["exui-search-location"]], inputs: { form: "form", field: "field", disabled: "disabled", singleMode: "singleMode", locationType: "locationType", serviceIds: "serviceIds", submitted: "submitted", bookingCheck: "bookingCheck", selectedLocations: "selectedLocations", propertyNameFilter: "propertyNameFilter", delay: "delay", reset: "reset" }, outputs: { locationSelected: "locationSelected", locationTermSearchInputChanged: "locationTermSearchInputChanged", searchLocationChanged: "searchLocationChanged" }, decls: 6, vars: 6, consts: [[1, "auto-complete-container"], ["id", "inputLocationSearch", 1, "govuk-input", 3, "formControl", "matAutocomplete", "keyup", "input"], ["autoActiveFirstOption", "", 1, "mat-autocomplete-panel-extend"], ["autoSearchLocation", "matAutocomplete"], [4, "ngIf"], [3, "onSelectionChange", 4, "ngFor", "ngForOf"], [3, "onSelectionChange"]], template: function SearchLocationComponent_Template(rf, ctx) {
2859
+ SearchLocationComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchLocationComponent, selectors: [["exui-search-location"]], inputs: { form: "form", field: "field", disabled: "disabled", singleMode: "singleMode", locationType: "locationType", serviceIds: "serviceIds", submitted: "submitted", bookingCheck: "bookingCheck", selectedLocations: "selectedLocations", propertyNameFilter: "propertyNameFilter", delay: "delay", reset: "reset" }, outputs: { locationSelected: "locationSelected", locationTermSearchInputChanged: "locationTermSearchInputChanged", searchLocationChanged: "searchLocationChanged" }, decls: 6, vars: 6, consts: [[1, "auto-complete-container"], ["id", "inputLocationSearch", 1, "govuk-input", 3, "formControl", "matAutocomplete", "input"], ["autoActiveFirstOption", "", 1, "mat-autocomplete-panel-extend"], ["autoSearchLocation", "matAutocomplete"], [4, "ngIf"], [3, "onSelectionChange", 4, "ngFor", "ngForOf"], [3, "onSelectionChange"]], template: function SearchLocationComponent_Template(rf, ctx) {
2871
2860
  if (rf & 1) {
2872
2861
  i0.ɵɵelementStart(0, "div", 0)(1, "input", 1);
2873
- i0.ɵɵlistener("keyup", function SearchLocationComponent_Template_input_keyup_1_listener($event) { return ctx.RemoveInvalidString($event); })("input", function SearchLocationComponent_Template_input_input_1_listener() { return ctx.onInput(); });
2862
+ i0.ɵɵlistener("input", function SearchLocationComponent_Template_input_input_1_listener() { return ctx.onInput(); });
2874
2863
  i0.ɵɵelementEnd();
2875
2864
  i0.ɵɵelementStart(2, "mat-autocomplete", 2, 3);
2876
2865
  i0.ɵɵtemplate(4, SearchLocationComponent_ng_container_4_Template, 2, 1, "ng-container", 4);
@@ -2889,7 +2878,7 @@ SearchLocationComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sea
2889
2878
  (function () {
2890
2879
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchLocationComponent, [{
2891
2880
  type: Component,
2892
- args: [{ selector: 'exui-search-location', template: "<div class=\"auto-complete-container\">\n <input\n id=\"inputLocationSearch\"\n (keyup)=\"RemoveInvalidString($event)\"\n (input)=\"onInput()\"\n [formControl]=\"searchTermFormControl\"\n [matAutocomplete]=\"autoSearchLocation\"\n class=\"govuk-input\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchLocation=\"matAutocomplete\">\n <ng-container *ngIf=\"filteredList$ | async as filteredList\">\n <ng-container *ngIf=\"filteredList && filteredList.length >= 0\">\n <mat-option *ngFor=\"let location of filteredList\" (onSelectionChange)=\"onSelectedLocation(location)\">\n {{ location[propertyNameFilter] }}\n </mat-option>\n <mat-option *ngIf=\"filteredList.length === 0\">{{'No results found' | rpxTranslate}}</mat-option>\n </ng-container>\n </ng-container>\n </mat-autocomplete>\n</div>\n", styles: [".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:#00000042 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width: 641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{display:inline-block;margin-right:4px;width:calc(100% - 4px)}.autocomplete__input{line-height:24px;font-size:19px}\n"] }]
2881
+ args: [{ selector: 'exui-search-location', template: "<div class=\"auto-complete-container\">\n <input\n id=\"inputLocationSearch\"\n (input)=\"onInput()\"\n [formControl]=\"searchTermFormControl\"\n [matAutocomplete]=\"autoSearchLocation\"\n class=\"govuk-input\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchLocation=\"matAutocomplete\">\n <ng-container *ngIf=\"filteredList$ | async as filteredList\">\n <ng-container *ngIf=\"filteredList && filteredList.length >= 0\">\n <mat-option *ngFor=\"let location of filteredList\" (onSelectionChange)=\"onSelectedLocation(location)\">\n {{ location[propertyNameFilter] }}\n </mat-option>\n <mat-option *ngIf=\"filteredList.length === 0\">{{'No results found' | rpxTranslate}}</mat-option>\n </ng-container>\n </ng-container>\n </mat-autocomplete>\n</div>\n", styles: [".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:#00000042 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width: 641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{display:inline-block;margin-right:4px;width:calc(100% - 4px)}.autocomplete__input{line-height:24px;font-size:19px}\n"] }]
2893
2882
  }], function () { return [{ type: LocationService }, { type: SessionStorageService }, { type: RefDataService }]; }, { form: [{
2894
2883
  type: Input
2895
2884
  }], field: [{