@senior-gestao-empresarial/angular-components 7.4.0 → 7.5.0

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.
Files changed (29) hide show
  1. package/bundles/senior-gestao-empresarial-angular-components.umd.js +155 -1
  2. package/bundles/senior-gestao-empresarial-angular-components.umd.js.map +1 -1
  3. package/bundles/senior-gestao-empresarial-angular-components.umd.min.js +1 -1
  4. package/bundles/senior-gestao-empresarial-angular-components.umd.min.js.map +1 -1
  5. package/components/lookups/entities/origem-destino-lookup.d.ts +10 -0
  6. package/components/lookups/index.d.ts +1 -0
  7. package/core/enums/enum-difal-contribuinte.d.ts +9 -0
  8. package/core/enums/enum-difal-nao-contribuinte.d.ts +4 -0
  9. package/esm2015/components/lookups/entities/origem-destino-lookup.js +123 -0
  10. package/esm2015/components/lookups/erp-lookups.js +4 -1
  11. package/esm2015/components/lookups/erp-lookups.module.js +4 -2
  12. package/esm2015/components/lookups/index.js +2 -1
  13. package/esm2015/core/enums/enum-difal-contribuinte.js +11 -0
  14. package/esm2015/core/enums/enum-difal-nao-contribuinte.js +6 -0
  15. package/esm2015/utils/utils.js +9 -0
  16. package/esm5/components/lookups/entities/origem-destino-lookup.js +133 -0
  17. package/esm5/components/lookups/erp-lookups.js +4 -1
  18. package/esm5/components/lookups/erp-lookups.module.js +4 -2
  19. package/esm5/components/lookups/index.js +2 -1
  20. package/esm5/core/enums/enum-difal-contribuinte.js +11 -0
  21. package/esm5/core/enums/enum-difal-nao-contribuinte.js +6 -0
  22. package/esm5/utils/utils.js +9 -0
  23. package/fesm2015/senior-gestao-empresarial-angular-components.js +143 -2
  24. package/fesm2015/senior-gestao-empresarial-angular-components.js.map +1 -1
  25. package/fesm5/senior-gestao-empresarial-angular-components.js +153 -2
  26. package/fesm5/senior-gestao-empresarial-angular-components.js.map +1 -1
  27. package/package.json +1 -1
  28. package/senior-gestao-empresarial-angular-components.metadata.json +1 -1
  29. package/utils/utils.d.ts +5 -0
@@ -115,5 +115,6 @@ export * from "./entities/composicao-base-calculo-lookup";
115
115
  export * from "./entities/lei-complementar-1162003-lookup";
116
116
  export * from "./entities/nbs-lookup";
117
117
  export * from "./entities/caracteristica-fiscal-lookup";
118
+ export * from "./entities/origem-destino-lookup";
118
119
  export * from "./erp-lookups.module";
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2xvb2t1cHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNw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LDZCQUE2QixDQUFBO0FBQzNDLGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYyw2QkFBNkIsQ0FBQTtBQUMzQyxjQUFjLDJDQUEyQyxDQUFBO0FBQ3pELGNBQWMsNENBQTRDLENBQUE7QUFDMUQsY0FBYyx1QkFBdUIsQ0FBQTtBQUNyQyxjQUFjLHlDQUF5QyxDQUFBO0FBRXZELGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9lcnAtbG9va3Vwc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvbGlnYWNhby1pdGVtLWZvcm5lY2Vkb3ItbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9wcm9kdXRvU2Vydmljby1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDQ0LWNjdS1maW4tcmF0LWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wOTktdXN1LWNvbS1nZXItbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAwNy11ZnMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAwNi1wYWktbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAwOC1jZXAtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAwOC1yYWktbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAyMC1zbmYtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAyMS1tb3QtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAyMy1jcnAtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAyOC1jcGctbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAzMS1tb2UtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAzNS1vY3ItbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAzNi1pbnMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAzOS1wb3ItbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA0Ny1udGctbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA0NS1wbGEtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA3MC1lbXAtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA3MC1maWwtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA3My1wZXMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA3My12ZWktbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA3NS1kZXItbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA4MC1zZXItbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA4MS10YWItbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA4NS1wZXMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA5MC1wZXMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA5MC1ocnAtY29tLWdlci1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDAxLXBlcy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDAxLXRucy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDAxLXRucy1zdXAtZXN0LWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wMTItZmFtLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wMTUtbWVkLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wMjQtbXNnLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wMzItZWRjLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wODItdHByLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0yMDAtbG90LWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0yMDAtc2VyLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0yMTAtZHhwLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wMDItdHB0LWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wMjctZXFpLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wMjctc3RyLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wNjYtZnBnLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wOTUtcGVzLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS00MDMtZnByLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS00MjAtb2NwLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS00MjAtaWNwLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS00MjAtaXBjLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS02MDAtY2NvLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wMzAtYmFuLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wMzAtYWdlLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0yMDUtZGVwLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0xNDAtbmZzLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0xNDAtaW5zLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wNjctZmluLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wOTEtcGxmLWZpbi1yYXQtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTIxMC1keHAtZS0wNzUtZGVyLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wMDEtZW5kLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wNzAtZW50LWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0zMDEtdGNyLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvbmNtLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVxdWlzaWNhby1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3VuaWRhZGUtbWVkaWRhLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcXRkLWRpc3Bvbml2ZWwtZGVtYW5kYS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtNjQwLWxvdC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDQ2LWhwZC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTAwMS1wZXMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wMjAtc25mLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDcwLWVtcC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTA3MC1maWwtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wMDEtZW5kLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDA3LXVmcy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTAwOC1yYWktbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wMzItZWRjLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDE1LW1lZC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTAwMS10bnMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wNzUtZGVyLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDgwLXNlci1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1uY20tbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtbmF0dXJlemEtcmVjZWl0YS1waXMtY29maW5zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtbmYtc2FpZGEtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtbmYtZW50cmFkYS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTA2Ni1mcGctbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wMjgtY3BnLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDUxLWRpcy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTAyNC1tc2ctbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA1MS1kaXMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA0NC1jY3UtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9uYXR1cmV6YS1yZWNlaXRhLXBpcy1jb2ZpbnMubG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA0OC1mY3QtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lcXVpcG1lbnQtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA0OC1zZmMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy93aXphcmQtZW50aXRpZXMvY291bnRyeS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3dpemFyZC1lbnRpdGllcy9jdXJyZW5jeS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3dpemFyZC1lbnRpdGllcy9iYW5rLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvYXB1cmFjYW8tZm91bmRhdGlvbi90eXBlLXRheGVzLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvYXB1cmFjYW8tZm91bmRhdGlvbi9wYXJhbWV0ZXJzLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvYmVuZWZpY2lvLWZpc2NhbC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2RvY3VtZW50by1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDk5LXVzdS1zdXAtY3ByLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wNjktZ3JlLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS01MDEtdGNwLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvYWdyZWVtZW50LWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvbm90YS1maXNjYWwtZW50cmFkYS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3NlZ21lbnRvLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMveHQtaW50ZWdyYXRpb24vZW50aXR5LXBlcnNvbi1wcm9kdWN0LWxvb2t1cFwiXG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9jb250YS1pbnRlcm5hLWZpbGlhbC1sb29rdXBcIlxuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wODktZG9jLWxvb2t1cFwiXG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA0My1tcGMtbG9va3VwXCJcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDQzLXBjbS1sb29rdXBcIlxuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wMzQtdGNjLWxvb2t1cFwiXG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9vcGVyYWNvZXMtbG9va3VwXCJcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2NvbXBvc2ljYW8tYmFzZS1jYWxjdWxvLWxvb2t1cFwiXG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9sZWktY29tcGxlbWVudGFyLTExNjIwMDMtbG9va3VwXCJcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL25icy1sb29rdXBcIlxuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvY2FyYWN0ZXJpc3RpY2EtZmlzY2FsLWxvb2t1cFwiXG5cbmV4cG9ydCAqIGZyb20gXCIuL2VycC1sb29rdXBzLm1vZHVsZVwiO1xuIl19
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2xvb2t1cHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNw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LDZCQUE2QixDQUFBO0FBQzNDLGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYyw2QkFBNkIsQ0FBQTtBQUMzQyxjQUFjLDJDQUEyQyxDQUFBO0FBQ3pELGNBQWMsNENBQTRDLENBQUE7QUFDMUQsY0FBYyx1QkFBdUIsQ0FBQTtBQUNyQyxjQUFjLHlDQUF5QyxDQUFBO0FBQ3ZELGNBQWMsa0NBQWtDLENBQUE7QUFFaEQsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2VycC1sb29rdXBzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9saWdhY2FvLWl0ZW0tZm9ybmVjZWRvci1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3Byb2R1dG9TZXJ2aWNvLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wNDQtY2N1LWZpbi1yYXQtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA5OS11c3UtY29tLWdlci1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDA3LXVmcy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDA2LXBhaS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDA4LWNlcC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDA4LXJhaS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDIwLXNuZi1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDIxLW1vdC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDIzLWNycC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDI4LWNwZy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDMxLW1vZS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDM1LW9jci1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDM2LWlucy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDM5LXBvci1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDQ3LW50Zy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDQ1LXBsYS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDcwLWVtcC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDcwLWZpbC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDczLXBlcy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDczLXZlaS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDc1LWRlci1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDgwLXNlci1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDgxLXRhYi1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDg1LXBlcy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDkwLXBlcy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDkwLWhycC1jb20tZ2VyLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wMDEtcGVzLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wMDEtdG5zLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wMDEtdG5zLXN1cC1lc3QtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAxMi1mYW0tbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAxNS1tZWQtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAyNC1tc2ctbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAzMi1lZGMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA4Mi10cHItbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTIwMC1sb3QtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTIwMC1zZXItbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTIxMC1keHAtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAwMi10cHQtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAyNy1lcWktbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAyNy1zdHItbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA2Ni1mcGctbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA5NS1wZXMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTQwMy1mcHItbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTQyMC1vY3AtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTQyMC1pY3AtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTQyMC1pcGMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTYwMC1jY28tbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAzMC1iYW4tbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAzMC1hZ2UtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTIwNS1kZXAtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTE0MC1uZnMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTE0MC1pbnMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA2Ny1maW4tbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA5MS1wbGYtZmluLXJhdC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMjEwLWR4cC1lLTA3NS1kZXItbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAwMS1lbmQtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA3MC1lbnQtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTMwMS10Y3ItbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9uY20tbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXF1aXNpY2FvLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvdW5pZGFkZS1tZWRpZGEtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9xdGQtZGlzcG9uaXZlbC1kZW1hbmRhLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS02NDAtbG90LWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wNDYtaHBkLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDAxLXBlcy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTAyMC1zbmYtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wNzAtZW1wLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDcwLWZpbC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTAwMS1lbmQtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wMDctdWZzLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDA4LXJhaS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTAzMi1lZGMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wMTUtbWVkLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDAxLXRucy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTA3NS1kZXItbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wODAtc2VyLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLW5jbS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1uYXR1cmV6YS1yZWNlaXRhLXBpcy1jb2ZpbnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1uZi1zYWlkYS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1uZi1lbnRyYWRhLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDY2LWZwZy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTAyOC1jcGctbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wNTEtZGlzLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDI0LW1zZy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDUxLWRpcy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDQ0LWNjdS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL25hdHVyZXphLXJlY2VpdGEtcGlzLWNvZmlucy5sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDQ4LWZjdC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2VxdWlwbWVudC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDQ4LXNmYy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3dpemFyZC1lbnRpdGllcy9jb3VudHJ5LWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvd2l6YXJkLWVudGl0aWVzL2N1cnJlbmN5LWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvd2l6YXJkLWVudGl0aWVzL2JhbmstbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9hcHVyYWNhby1mb3VuZGF0aW9uL3R5cGUtdGF4ZXMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9hcHVyYWNhby1mb3VuZGF0aW9uL3BhcmFtZXRlcnMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9iZW5lZmljaW8tZmlzY2FsLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZG9jdW1lbnRvLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wOTktdXN1LXN1cC1jcHItbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA2OS1ncmUtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTUwMS10Y3AtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9hZ3JlZW1lbnQtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9ub3RhLWZpc2NhbC1lbnRyYWRhLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvc2VnbWVudG8tbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy94dC1pbnRlZ3JhdGlvbi9lbnRpdHktcGVyc29uLXByb2R1Y3QtbG9va3VwXCJcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2NvbnRhLWludGVybmEtZmlsaWFsLWxvb2t1cFwiXG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA4OS1kb2MtbG9va3VwXCJcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDQzLW1wYy1sb29rdXBcIlxuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wNDMtcGNtLWxvb2t1cFwiXG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAzNC10Y2MtbG9va3VwXCJcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL29wZXJhY29lcy1sb29rdXBcIlxuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvY29tcG9zaWNhby1iYXNlLWNhbGN1bG8tbG9va3VwXCJcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2xlaS1jb21wbGVtZW50YXItMTE2MjAwMy1sb29rdXBcIlxuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvbmJzLWxvb2t1cFwiXG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9jYXJhY3RlcmlzdGljYS1maXNjYWwtbG9va3VwXCJcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL29yaWdlbS1kZXN0aW5vLWxvb2t1cFwiXG5cbmV4cG9ydCAqIGZyb20gXCIuL2VycC1sb29rdXBzLm1vZHVsZVwiO1xuIl19
@@ -0,0 +1,11 @@
1
+ export var EnumDifalContribuinte;
2
+ (function (EnumDifalContribuinte) {
3
+ EnumDifalContribuinte["BASE_DUPLA"] = "BASE_DUPLA";
4
+ EnumDifalContribuinte["BASE_DUPLA_DIF_PERC_PER_DESTINO"] = "BASE_DUPLA_DIF_PERC_PER_DESTINO";
5
+ EnumDifalContribuinte["BASE_DUPLA_DIF_PERCENTUAL"] = "BASE_DUPLA_DIF_PERCENTUAL";
6
+ EnumDifalContribuinte["BASE_DUPLA_DIF_VALOR"] = "BASE_DUPLA_DIF_VALOR";
7
+ EnumDifalContribuinte["BASE_UNICA"] = "BASE_UNICA";
8
+ EnumDifalContribuinte["BASE_UNICA_DIF_PERCENTUAL"] = "BASE_UNICA_DIF_PERCENTUAL";
9
+ EnumDifalContribuinte["NAO_SE_APLICA"] = "NAO_SE_APLICA";
10
+ })(EnumDifalContribuinte || (EnumDifalContribuinte = {}));
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS1kaWZhbC1jb250cmlidWludGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb3JlL2VudW1zL2VudW0tZGlmYWwtY29udHJpYnVpbnRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLHFCQVFYO0FBUkQsV0FBWSxxQkFBcUI7SUFDN0Isa0RBQXlCLENBQUE7SUFDekIsNEZBQW1FLENBQUE7SUFDbkUsZ0ZBQXVELENBQUE7SUFDdkQsc0VBQTZDLENBQUE7SUFDN0Msa0RBQXlCLENBQUE7SUFDekIsZ0ZBQXVELENBQUE7SUFDdkQsd0RBQStCLENBQUE7QUFDbkMsQ0FBQyxFQVJXLHFCQUFxQixLQUFyQixxQkFBcUIsUUFRaEMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBFbnVtRGlmYWxDb250cmlidWludGUge1xyXG4gICAgQkFTRV9EVVBMQSA9IFwiQkFTRV9EVVBMQVwiLFxyXG4gICAgQkFTRV9EVVBMQV9ESUZfUEVSQ19QRVJfREVTVElOTyA9IFwiQkFTRV9EVVBMQV9ESUZfUEVSQ19QRVJfREVTVElOT1wiLFxyXG4gICAgQkFTRV9EVVBMQV9ESUZfUEVSQ0VOVFVBTCA9IFwiQkFTRV9EVVBMQV9ESUZfUEVSQ0VOVFVBTFwiLFxyXG4gICAgQkFTRV9EVVBMQV9ESUZfVkFMT1IgPSBcIkJBU0VfRFVQTEFfRElGX1ZBTE9SXCIsXHJcbiAgICBCQVNFX1VOSUNBID0gXCJCQVNFX1VOSUNBXCIsXHJcbiAgICBCQVNFX1VOSUNBX0RJRl9QRVJDRU5UVUFMID0gXCJCQVNFX1VOSUNBX0RJRl9QRVJDRU5UVUFMXCIsXHJcbiAgICBOQU9fU0VfQVBMSUNBID0gXCJOQU9fU0VfQVBMSUNBXCIsXHJcbn1cclxuIl19
@@ -0,0 +1,6 @@
1
+ export var EnumDifalNaoContribuinte;
2
+ (function (EnumDifalNaoContribuinte) {
3
+ EnumDifalNaoContribuinte["BASE_UNICA"] = "BASE_UNICA";
4
+ EnumDifalNaoContribuinte["NAO_SE_APLICA"] = "NAO_SE_APLICA";
5
+ })(EnumDifalNaoContribuinte || (EnumDifalNaoContribuinte = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS1kaWZhbC1uYW8tY29udHJpYnVpbnRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tZW1wcmVzYXJpYWwvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29yZS9lbnVtcy9lbnVtLWRpZmFsLW5hby1jb250cmlidWludGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksd0JBR1g7QUFIRCxXQUFZLHdCQUF3QjtJQUNoQyxxREFBeUIsQ0FBQTtJQUN6QiwyREFBK0IsQ0FBQTtBQUNuQyxDQUFDLEVBSFcsd0JBQXdCLEtBQXhCLHdCQUF3QixRQUduQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEVudW1EaWZhbE5hb0NvbnRyaWJ1aW50ZSB7XHJcbiAgICBCQVNFX1VOSUNBID0gXCJCQVNFX1VOSUNBXCIsXHJcbiAgICBOQU9fU0VfQVBMSUNBID0gXCJOQU9fU0VfQVBMSUNBXCIsXHJcbn1cclxuIl19
@@ -0,0 +1,9 @@
1
+ export const getOptionsFromEnum = (translateService, enumPrefix, enumValues) => {
2
+ return enumValues
3
+ .map((value) => ({
4
+ label: translateService.instant(`${enumPrefix}${value.toLowerCase()}`),
5
+ value,
6
+ }))
7
+ .sort((a, b) => (a.label > b.label ? 1 : -1));
8
+ };
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJ1dGlscy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUM5QixnQkFBa0MsRUFDbEMsVUFBa0IsRUFDbEIsVUFBb0IsRUFJcEIsRUFBRTtJQUNGLE9BQU8sVUFBVTtTQUNaLEdBQUcsQ0FBQyxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNyQixLQUFLLEVBQUUsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEdBQUcsVUFBVSxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1FBQ3RFLEtBQUs7S0FDUixDQUFDLENBQUM7U0FDRixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0T3B0aW9uc0Zyb21FbnVtID0gKFxyXG4gICAgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIGVudW1QcmVmaXg6IHN0cmluZyxcclxuICAgIGVudW1WYWx1ZXM6IHN0cmluZ1tdXHJcbik6IHtcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICB2YWx1ZTogYW55O1xyXG59W10gPT4ge1xyXG4gICAgcmV0dXJuIGVudW1WYWx1ZXNcclxuICAgICAgICAubWFwKCh2YWx1ZTogc3RyaW5nKSA9PiAoe1xyXG4gICAgICAgICAgICBsYWJlbDogdHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGAke2VudW1QcmVmaXh9JHt2YWx1ZS50b0xvd2VyQ2FzZSgpfWApLFxyXG4gICAgICAgICAgICB2YWx1ZSxcclxuICAgICAgICB9KSlcclxuICAgICAgICAuc29ydCgoYSwgYikgPT4gKGEubGFiZWwgPiBiLmxhYmVsID8gMSA6IC0xKSk7XHJcbn07XHJcbiJdfQ==
@@ -0,0 +1,133 @@
1
+ import { __assign, __decorate, __extends, __read, __spread } from "tslib";
2
+ import { FieldType, FormField } from "@seniorsistemas/angular-components";
3
+ import { ErpLookupsService } from "../erp-lookups.service";
4
+ import { TranslateService } from "@ngx-translate/core";
5
+ import { Injectable } from "@angular/core";
6
+ import { EnumLogicalOperator, ErpLookups } from "../erp-lookups";
7
+ import { EnumDifalNaoContribuinte } from "../../../core/enums/enum-difal-nao-contribuinte";
8
+ import { EnumDifalContribuinte } from "../../../core/enums/enum-difal-contribuinte";
9
+ import { getOptionsFromEnum } from "../../../utils/utils";
10
+ import { E007UfsLookup } from "./e-007-ufs-lookup";
11
+ var getEnumDifalNaoContribuinteOptions = function (_a) {
12
+ var translateService = _a.translateService;
13
+ return getOptionsFromEnum(translateService, "erpx_cpl_imp.icms.enum_difal_nao_contribuinte_", [
14
+ EnumDifalNaoContribuinte.BASE_UNICA,
15
+ EnumDifalNaoContribuinte.NAO_SE_APLICA,
16
+ ]);
17
+ };
18
+ var ɵ0 = getEnumDifalNaoContribuinteOptions;
19
+ var getEnumDifalContribuinteOptions = function (_a) {
20
+ var translateService = _a.translateService;
21
+ return getOptionsFromEnum(translateService, "erpx_cpl_imp.icms.enum_difal_contribuinte_", [
22
+ EnumDifalContribuinte.BASE_DUPLA,
23
+ EnumDifalContribuinte.BASE_DUPLA_DIF_PERCENTUAL,
24
+ EnumDifalContribuinte.BASE_DUPLA_DIF_PERC_PER_DESTINO,
25
+ EnumDifalContribuinte.BASE_DUPLA_DIF_VALOR,
26
+ EnumDifalContribuinte.BASE_UNICA,
27
+ EnumDifalContribuinte.NAO_SE_APLICA,
28
+ ]);
29
+ };
30
+ var ɵ1 = getEnumDifalContribuinteOptions;
31
+ var getFields = function (_a) {
32
+ var translateService = _a.translateService;
33
+ return [
34
+ {
35
+ name: "aliquota",
36
+ type: FieldType.Number,
37
+ },
38
+ {
39
+ name: "difalNaoContribuinte",
40
+ type: FieldType.Enum,
41
+ options: getEnumDifalNaoContribuinteOptions({ translateService: translateService }),
42
+ },
43
+ {
44
+ name: "difalContribuinte",
45
+ type: FieldType.Enum,
46
+ options: getEnumDifalContribuinteOptions({ translateService: translateService }),
47
+ },
48
+ {
49
+ name: "percentualImportado",
50
+ type: FieldType.Number,
51
+ },
52
+ {
53
+ name: "percentualFcp",
54
+ type: FieldType.Number,
55
+ },
56
+ {
57
+ name: "vigenciaInicial",
58
+ type: FieldType.Date,
59
+ appendTo: "body",
60
+ },
61
+ {
62
+ name: "vigenciaFinal",
63
+ type: FieldType.Date,
64
+ appendTo: "body",
65
+ },
66
+ ];
67
+ };
68
+ var ɵ2 = getFields;
69
+ var OrigemDestinoLookup = /** @class */ (function (_super) {
70
+ __extends(OrigemDestinoLookup, _super);
71
+ function OrigemDestinoLookup(lookupService, translateService, e007UfsLookup) {
72
+ var _this = _super.call(this, lookupService, translateService, "origemDestino", [
73
+ {
74
+ name: "e007ufsOrigem.sigUfs",
75
+ type: FieldType.String,
76
+ },
77
+ {
78
+ name: "e007ufsDestino.sigUfs",
79
+ type: FieldType.String,
80
+ },
81
+ ], __spread([
82
+ new FormField(__assign(__assign({}, e007UfsLookup.mountOptions({
83
+ multiple: false,
84
+ defaultFilter: [{ field: "excluido", operator: EnumLogicalOperator.Eq, values: ["false"] }],
85
+ })), { name: "e007ufsOrigem", size: { sm: 12, md: 12, lg: 12, xl: 12 } })),
86
+ new FormField(__assign(__assign({}, e007UfsLookup.mountOptions({
87
+ multiple: false,
88
+ defaultFilter: [{ field: "excluido", operator: EnumLogicalOperator.Eq, values: ["false"] }],
89
+ })), { name: "e007ufsDestino", size: { sm: 12, md: 12, lg: 12, xl: 12 } }))
90
+ ], getFields({ translateService: translateService })), __spread([
91
+ {
92
+ name: "e007ufsOrigem.sigUfs",
93
+ type: FieldType.String,
94
+ },
95
+ {
96
+ name: "e007ufsOrigem.nomUfs",
97
+ type: FieldType.String,
98
+ },
99
+ {
100
+ name: "e007ufsOrigem.e006pai.nomPai",
101
+ type: FieldType.String,
102
+ },
103
+ {
104
+ name: "e007ufsDestino.sigUfs",
105
+ type: FieldType.String,
106
+ },
107
+ {
108
+ name: "e007ufsDestino.nomUfs",
109
+ type: FieldType.String,
110
+ },
111
+ {
112
+ name: "e007ufsDestino.e006pai.nomPai",
113
+ type: FieldType.String,
114
+ }
115
+ ], getFields({ translateService: translateService })), "erpx_cpl_imp", "icms") || this;
116
+ _this.lookupService = lookupService;
117
+ _this.translateService = translateService;
118
+ _this.e007UfsLookup = e007UfsLookup;
119
+ return _this;
120
+ }
121
+ OrigemDestinoLookup.ctorParameters = function () { return [
122
+ { type: ErpLookupsService },
123
+ { type: TranslateService },
124
+ { type: E007UfsLookup }
125
+ ]; };
126
+ OrigemDestinoLookup = __decorate([
127
+ Injectable()
128
+ ], OrigemDestinoLookup);
129
+ return OrigemDestinoLookup;
130
+ }(ErpLookups));
131
+ export { OrigemDestinoLookup };
132
+ export { ɵ0, ɵ1, ɵ2 };
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JpZ2VtLWRlc3Rpbm8tbG9va3VwLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tZW1wcmVzYXJpYWwvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9sb29rdXBzL2VudGl0aWVzL29yaWdlbS1kZXN0aW5vLWxvb2t1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMzRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNwRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbkQsSUFBTSxrQ0FBa0MsR0FBRyxVQUFDLEVBQTREO1FBQTFELHNDQUFnQjtJQUMxRCxPQUFBLGtCQUFrQixDQUFDLGdCQUFnQixFQUFFLGdEQUFnRCxFQUFFO1FBQ25GLHdCQUF3QixDQUFDLFVBQVU7UUFDbkMsd0JBQXdCLENBQUMsYUFBYTtLQUN6QyxDQUFDO0FBSEYsQ0FHRSxDQUFDOztBQUVQLElBQU0sK0JBQStCLEdBQUcsVUFBQyxFQUE0RDtRQUExRCxzQ0FBZ0I7SUFDdkQsT0FBQSxrQkFBa0IsQ0FBQyxnQkFBZ0IsRUFBRSw0Q0FBNEMsRUFBRTtRQUMvRSxxQkFBcUIsQ0FBQyxV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LENBQUMsTUFBTTthQUN6QjtZQUNEO2dCQUNJLElBQUksRUFBRSxzQkFBc0I7Z0JBQzVCLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTTthQUN6QjtZQUNEO2dCQUNJLElBQUksRUFBRSw4QkFBOEI7Z0JBQ3BDLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTTthQUN6QjtZQUNEO2dCQUNJLElBQUksRUFBRSx1QkFBdUI7Z0JBQzdCLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTTthQUN6QjtZQUNEO2dCQUNJLElBQUksRUFBRSx1QkFBdUI7Z0JBQzdCLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTTthQUN6QjtZQUNEO2dCQUNJLElBQUksRUFBRSwrQkFBK0I7Z0JBQ3JDLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTTthQUN6QjtXQUNFLFNBQVMsQ0FBQyxFQUFFLGdCQUFnQixrQkFBQSxFQUFFLENBQUMsR0FFdEMsY0FBYyxFQUNkLE1BQU0sQ0FDVCxTQUNKO1FBbkVzQixtQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFDaEMsc0JBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNwQyxtQkFBYSxHQUFiLGFBQWEsQ0FBZTs7SUFpRWpELENBQUM7O2dCQW5FcUMsaUJBQWlCO2dCQUNkLGdCQUFnQjtnQkFDckIsYUFBYTs7SUFKeEMsbUJBQW1CO1FBRC9CLFVBQVUsRUFBRTtPQUNBLG1CQUFtQixDQXNFL0I7SUFBRCwwQkFBQztDQUFBLEFBdEVELENBQXlDLFVBQVUsR0FzRWxEO1NBdEVZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkVHlwZSwgRm9ybUZpZWxkIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHNcIjtcclxuaW1wb3J0IHsgRXJwTG9va3Vwc1NlcnZpY2UgfSBmcm9tIFwiLi4vZXJwLWxvb2t1cHMuc2VydmljZVwiO1xyXG5cclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBFbnVtTG9naWNhbE9wZXJhdG9yLCBFcnBMb29rdXBzIH0gZnJvbSBcIi4uL2VycC1sb29rdXBzXCI7XHJcbmltcG9ydCB7IEVudW1EaWZhbE5hb0NvbnRyaWJ1aW50ZSB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2VudW1zL2VudW0tZGlmYWwtbmFvLWNvbnRyaWJ1aW50ZVwiO1xyXG5pbXBvcnQgeyBFbnVtRGlmYWxDb250cmlidWludGUgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9lbnVtcy9lbnVtLWRpZmFsLWNvbnRyaWJ1aW50ZVwiO1xyXG5pbXBvcnQgeyBnZXRPcHRpb25zRnJvbUVudW0gfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvdXRpbHNcIjtcclxuaW1wb3J0IHsgRTAwN1Vmc0xvb2t1cCB9IGZyb20gXCIuL2UtMDA3LXVmcy1sb29rdXBcIjtcclxuXHJcbmNvbnN0IGdldEVudW1EaWZhbE5hb0NvbnRyaWJ1aW50ZU9wdGlvbnMgPSAoeyB0cmFuc2xhdGVTZXJ2aWNlIH06IHsgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSB9KSA9PlxyXG4gICAgZ2V0T3B0aW9uc0Zyb21FbnVtKHRyYW5zbGF0ZVNlcnZpY2UsIFwiZXJweF9jcGxfaW1wLmljbXMuZW51bV9kaWZhbF9uYW9fY29udHJpYnVpbnRlX1wiLCBbXHJcbiAgICAgICAgRW51bURpZmFsTmFvQ29udHJpYnVpbnRlLkJBU0VfVU5JQ0EsXHJcbiAgICAgICAgRW51bURpZmFsTmFvQ29udHJpYnVpbnRlLk5BT19TRV9BUExJQ0EsXHJcbiAgICBdKTtcclxuXHJcbmNvbnN0IGdldEVudW1EaWZhbENvbnRyaWJ1aW50ZU9wdGlvbnMgPSAoeyB0cmFuc2xhdGVTZXJ2aWNlIH06IHsgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSB9KSA9PlxyXG4gICAgZ2V0T3B0aW9uc0Zyb21FbnVtKHRyYW5zbGF0ZVNlcnZpY2UsIFwiZXJweF9jcGxfaW1wLmljbXMuZW51bV9kaWZhbF9jb250cmlidWludGVfXCIsIFtcclxuICAgICAgICBFbnVtRGlmYWxDb250cmlidWludGUuQkFTRV9EVVBMQSxcclxuICAgICAgICBFbnVtRGlmYWxDb250cmlidWludGUuQkFTRV9EVVBMQV9ESUZfUEVSQ0VOVFVBTCxcclxuICAgICAgICBFbnVtRGlmYWxDb250cmlidWludGUuQkFTRV9EVVBMQV9ESUZfUEVSQ19QRVJfREVTVElOTyxcclxuICAgICAgICBFbnVtRGlmYWxDb250cmlidWludGUuQkFTRV9EVVBMQV9ESUZfVkFMT1IsXHJcbiAgICAgICAgRW51bURpZmFsQ29udHJpYnVpbnRlLkJBU0VfVU5JQ0EsXHJcbiAgICAgICAgRW51bURpZmFsQ29udHJpYnVpbnRlLk5BT19TRV9BUExJQ0EsXHJcbiAgICBdKTtcclxuXHJcbmNvbnN0IGdldEZpZWxkcyA9ICh7IHRyYW5zbGF0ZVNlcnZpY2UgfTogeyB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlIH0pID0+IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiBcImFsaXF1b3RhXCIsXHJcbiAgICAgICAgdHlwZTogRmllbGRUeXBlLk51bWJlcixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogXCJkaWZhbE5hb0NvbnRyaWJ1aW50ZVwiLFxyXG4gICAgICAgIHR5cGU6IEZpZWxkVHlwZS5FbnVtLFxyXG4gICAgICAgIG9wdGlvbnM6IGdldEVudW1EaWZhbE5hb0NvbnRyaWJ1aW50ZU9wdGlvbnMoeyB0cmFuc2xhdGVTZXJ2aWNlIH0pLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBuYW1lOiBcImRpZmFsQ29udHJpYnVpbnRlXCIsXHJcbiAgICAgICAgdHlwZTogRmllbGRUeXBlLkVudW0sXHJcbiAgICAgICAgb3B0aW9uczogZ2V0RW51bURpZmFsQ29udHJpYnVpbnRlT3B0aW9ucyh7IHRyYW5zbGF0ZVNlcnZpY2UgfSksXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIG5hbWU6IFwicGVyY2VudHVhbEltcG9ydGFkb1wiLFxyXG4gICAgICAgIHR5cGU6IEZpZWxkVHlwZS5OdW1iZXIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIG5hbWU6IFwicGVyY2VudHVhbEZjcFwiLFxyXG4gICAgICAgIHR5cGU6IEZpZWxkVHlwZS5OdW1iZXIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIG5hbWU6IFwidmlnZW5jaWFJbmljaWFsXCIsXHJcbiAgICAgICAgdHlwZTogRmllbGRUeXBlLkRhdGUsXHJcbiAgICAgICAgYXBwZW5kVG86IFwiYm9keVwiLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBuYW1lOiBcInZpZ2VuY2lhRmluYWxcIixcclxuICAgICAgICB0eXBlOiBGaWVsZFR5cGUuRGF0ZSxcclxuICAgICAgICBhcHBlbmRUbzogXCJib2R5XCIsXHJcbiAgICB9LFxyXG5dO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgT3JpZ2VtRGVzdGlub0xvb2t1cCBleHRlbmRzIEVycExvb2t1cHMge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IGxvb2t1cFNlcnZpY2U6IEVycExvb2t1cHNTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZTAwN1Vmc0xvb2t1cDogRTAwN1Vmc0xvb2t1cFxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoXHJcbiAgICAgICAgICAgIGxvb2t1cFNlcnZpY2UsXHJcbiAgICAgICAgICAgIHRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgICAgIFwib3JpZ2VtRGVzdGlub1wiLFxyXG4gICAgICAgICAgICBbXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJlMDA3dWZzT3JpZ2VtLnNpZ1Vmc1wiLFxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmcsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiZTAwN3Vmc0Rlc3Rpbm8uc2lnVWZzXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZyxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIFtcclxuICAgICAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xyXG4gICAgICAgICAgICAgICAgICAgIC4uLmUwMDdVZnNMb29rdXAubW91bnRPcHRpb25zKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGU6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmlsdGVyOiBbeyBmaWVsZDogXCJleGNsdWlkb1wiLCBvcGVyYXRvcjogRW51bUxvZ2ljYWxPcGVyYXRvci5FcSwgdmFsdWVzOiBbXCJmYWxzZVwiXSB9XSxcclxuICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBcImUwMDd1ZnNPcmlnZW1cIixcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiB7IHNtOiAxMiwgbWQ6IDEyLCBsZzogMTIsIHhsOiAxMiB9LFxyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICBuZXcgRm9ybUZpZWxkKHtcclxuICAgICAgICAgICAgICAgICAgICAuLi5lMDA3VWZzTG9va3VwLm1vdW50T3B0aW9ucyh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpcGxlOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdEZpbHRlcjogW3sgZmllbGQ6IFwiZXhjbHVpZG9cIiwgb3BlcmF0b3I6IEVudW1Mb2dpY2FsT3BlcmF0b3IuRXEsIHZhbHVlczogW1wiZmFsc2VcIl0gfV0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJlMDA3dWZzRGVzdGlub1wiLFxyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IHsgc206IDEyLCBtZDogMTIsIGxnOiAxMiwgeGw6IDEyIH0sXHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgIC4uLmdldEZpZWxkcyh7IHRyYW5zbGF0ZVNlcnZpY2UgfSksXHJcbiAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIFtcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBcImUwMDd1ZnNPcmlnZW0uc2lnVWZzXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZyxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJlMDA3dWZzT3JpZ2VtLm5vbVVmc1wiLFxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmcsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiZTAwN3Vmc09yaWdlbS5lMDA2cGFpLm5vbVBhaVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmcsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiZTAwN3Vmc0Rlc3Rpbm8uc2lnVWZzXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZyxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJlMDA3dWZzRGVzdGluby5ub21VZnNcIixcclxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuU3RyaW5nLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBcImUwMDd1ZnNEZXN0aW5vLmUwMDZwYWkubm9tUGFpXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZyxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAuLi5nZXRGaWVsZHMoeyB0cmFuc2xhdGVTZXJ2aWNlIH0pLFxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICBcImVycHhfY3BsX2ltcFwiLFxyXG4gICAgICAgICAgICBcImljbXNcIlxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -275,6 +275,8 @@ var ErpLookups = /** @class */ (function () {
275
275
  return _this.mountEnumFilter(name, value, multiple);
276
276
  else if (type == FieldType.String)
277
277
  return "(containing(lower(" + name + "), lower('" + value + "')))";
278
+ else if (type === FieldType.Lookup)
279
+ return "(" + name + " eq '" + value.id + "')";
278
280
  else
279
281
  return name + " eq '" + value + "'";
280
282
  })
@@ -301,6 +303,7 @@ var ErpLookups = /** @class */ (function () {
301
303
  if (dynamicFilterQuery)
302
304
  filterQuery ? filterQuery += " and (" + dynamicFilterQuery + ")" : filterQuery = "(" + dynamicFilterQuery + ")";
303
305
  var displayFields = lookupDisplayFields.concat((options.searchGridFields || this.searchGridFields)
306
+ .concat(options.searchGridFields || [])
304
307
  .map(function (_a) {
305
308
  var name = _a.name;
306
309
  return name;
@@ -351,4 +354,4 @@ var ErpLookups = /** @class */ (function () {
351
354
  return ErpLookups;
352
355
  }());
353
356
  export { ErpLookups };
354
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJwLWxvb2t1cHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2xvb2t1cHMvZXJwLWxvb2t1cHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsSUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDO0FBZ0N2QixrRkFBa0Y7QUFDbEYsTUFBTSxDQUFOLElBQVksbUJBeUJYO0FBekJELFdBQVksbUJBQW1CO0lBQzNCLCtEQUErRDtJQUMvRCxnQ0FBUyxDQUFBO0lBQ1Qsa0VBQWtFO0lBQ2xFLGdDQUFTLENBQUE7SUFDVCx1REFBdUQ7SUFDdkQsZ0NBQVMsQ0FBQTtJQUNULGdFQUFnRTtJQUNoRSxnQ0FBUyxDQUFBO0lBQ1QsbURBQW1EO0lBQ25ELGdDQUFTLENBQUE7SUFDVCw2REFBNkQ7SUFDN0QsZ0NBQVMsQ0FBQTtJQUNULHdFQUF3RTtJQUN4RSxrQ0FBVyxDQUFBO0lBQ1gscUVBQXFFO0lBQ3JFLGdDQUFTLENBQUE7SUFDVCwrRUFBK0U7SUFDL0Usa0NBQVcsQ0FBQTtJQUNYLG1EQUFtRDtJQUNuRCxnQ0FBUyxDQUFBO0lBQ1QsbUVBQW1FO0lBQ25FLHVDQUFnQixDQUFB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Z0JBdFQ0QixpQkFBaUI7Z0JBQ3JCLGdCQUFnQjs7Ozs7Ozs7SUFYaEMsVUFBVTtRQU50QixVQUFVLEVBQUU7UUFFYjs7O1VBR0U7T0FDVyxVQUFVLENBaVV0QjtJQUFELGlCQUFDO0NBQUEsQUFqVUQsSUFpVUM7U0FqVVksVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSBcIm1vbWVudFwiO1xuaW1wb3J0IHsgRm9ybUZpZWxkLCBGaWVsZFR5cGUgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgRXJwTG9va3Vwc1NlcnZpY2UgfSBmcm9tIFwiLi9lcnAtbG9va3Vwcy5zZXJ2aWNlXCI7XG7igItcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgdGFrZVVudGlsLCBtYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG7igItcbmNvbnN0IG1vbWVudCA9IG1vbWVudF87XG5cbi8qKiBFbnRpZGFkZXMgZGUgcXVlIGRlcGVuZGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5RGVwZW5kZW5jeSB7XG4gICAgLyoqIE5vbWUgZGEgZW50aWRhZGUgcXVlIGRlcGVuZGUgKHBhaSkgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLyoqIENhbXBvIGRhIGVudGlkYWRlIHBhaSBxdWUgc2Vyw6EgY29tcGFyYWRvICovXG4gICAgZmllbGQ/OiBzdHJpbmc7XG4gICAgLyoqIFZhbG9yIGRhIGVudGlkYWRlIHBhaSAqL1xuICAgIHZhbHVlOiBGdW5jdGlvbjtcbn1cbuKAi1xuLyoqIEZpbHRybyBwYWRyw6NvIGFwbGljYWRvIGVtIHRvZGFzIHJlcXVpc2nDp8O1ZXMgZGEgZW50aWRhZGUuIFBvciBwYWRyw6NvIGZpbHRyYSByZWdpc3Ryb3MgbsOjbyBleGNsdWlkb3MgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVmYXVsdEZpbHRlciB7XG4gICAgLyoqIENhbXBvIHF1ZSBzZXLDoSBmaWx0cmFkbyAqL1xuICAgIGZpZWxkOiBzdHJpbmcgfCBEZWZhdWx0RmlsdGVyO1xuICAgIC8qKiBDb21wYXJhw6fDo28gcXVlIHNlcsOhIGFwbGljYWRhIG5hIGNvbnN1bHRhICovXG4gICAgb3BlcmF0b3I6IEVudW1Mb2dpY2FsT3BlcmF0b3I7XG4gICAgLyoqIFZhbG9yZXMgcXVlIHNlcsOjbyBidXNjYWRvcyAqL1xuICAgIHZhbHVlczogc3RyaW5nW107XG59XG5cbi8qKiBGaWx0cm8gZGluYW1pY28gcGFyYSBjb25zdWx0YXMgbWFpcyBjb21wbGV4YXMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY0ZpbHRlciB7XG4gICAgLyoqIENhbXBvIHF1ZSBzZXLDoSBmaWx0cmFkbyAqL1xuICAgIGZpZWxkOiBGdW5jdGlvblxuICAgIC8qKiBDb21wYXJhw6fDo28gcXVlIHNlcsOhIGFwbGljYWRhIG5hIGNvbnN1bHRhICovXG4gICAgb3BlcmF0b3I6IEVudW1Mb2dpY2FsT3BlcmF0b3I7XG4gICAgLyoqIFZhbG9yZXMgcXVlIHNlcsOjbyBidXNjYWRvcyAqL1xuICAgIHZhbHVlOiBGdW5jdGlvbjtcbn1cblxuLyoqIEZpbHRlciBTeXN0ZW0gUXVlcnkgT3B0aW9uIC0gT3BlcmF0b3JzIHN1cHBvcnRlZCBpbiB0aGUgZXhwcmVzc2lvbiBsYW5ndWFnZSAqL1xuZXhwb3J0IGVudW0gRW51bUxvZ2ljYWxPcGVyYXRvciB7XG4gICAgLyoqIEVxdWFsIChFeDogL1N1cHBsaWVycz8kZmlsdGVyPUFkZHJlc3MvQ2l0eSBlcSAnUmVkbW9uZCcpICovXG4gICAgRXEgPSBcImVxXCIsXG4gICAgLyoqIE5vdCBlcXVhbCAoRXg6IC9TdXBwbGllcnM/JGZpbHRlcj1BZGRyZXNzL0NpdHkgbmUgJ0xvbmRvbicpICovXG4gICAgTmUgPSBcIm5lXCIsXG4gICAgLyoqIEdyZWF0ZXIgdGhhbiAoRXg6IC9Qcm9kdWN0cz8kZmlsdGVyPVByaWNlIGd0IDIwKSAqL1xuICAgIEd0ID0gXCJndFwiLFxuICAgIC8qKiBHcmVhdGVyIHRoYW4gb3IgZXF1YWwgKEV4OiAvUHJvZHVjdHM/JGZpbHRlcj1QcmljZSBnZSAxMCkgKi9cbiAgICBHZSA9IFwiZ2VcIixcbiAgICAvKiogTGVzcyB0aGFuIChFeDogL1Byb2R1Y3RzPyRmaWx0ZXI9UHJpY2UgbHQgMjApKi9cbiAgICBMdCA9IFwibHRcIixcbiAgICAvKiogTGVzcyB0aGFuIG9yIGVxdWFsIChFeDogL1Byb2R1Y3RzPyRmaWx0ZXI9UHJpY2UgbGUgMTAwKSovXG4gICAgTGUgPSBcImxlXCIsXG4gICAgLyoqIExvZ2ljYWwgYW5kXHQgKEV4OiAvUHJvZHVjdHM/JGZpbHRlcj1QcmljZSBsZSAyMDAgYW5kIFByaWNlIGd0IDMuNSkqL1xuICAgIEFuZCA9IFwiYW5kXCIsXG4gICAgLyoqIExvZ2ljYWwgb3IgKEV4OiAvUHJvZHVjdHM/JGZpbHRlcj1QcmljZSBsZSAzLjUgb3IgUHJpY2UgZ3QgMjAwKSovXG4gICAgT3IgPSBcIm9yXCIsXG4gICAgLyoqIExvZ2ljYWwgbmVnYXRpb24gKEV4OiAvUHJvZHVjdHM/JGZpbHRlcj1ub3QgZW5kc3dpdGgoRGVzY3JpcHRpb24sJ21pbGsnKSkqL1xuICAgIE5vdCA9IFwibm90XCIsXG4gICAgLyoqIExvZ2ljYWwgaXMgKEV4OiAvUHJvZHVjdHM/JGZpbHRlcj1pZCBpcyBudWxsICovXG4gICAgSXMgPSBcImlzXCIsXG4gICAgLyoqIE5lZ2F0aW9uIG9mIGxvZ2ljYWwgaXMgKEV4OiAvUHJvZHVjdHM/JGZpbHRlcj1pZCBpcyBub3QgbnVsbCAqL1xuICAgIElzTm90ID0gXCJpcyBub3RcIixcbiAgICAvKiogQ29udGFpbnMgc3RyaW5nIHZhbHVlIChFeDogL1Byb2R1Y3RzPyRmaWx0ZXI9Y29udGFpbmluZyhsb3dlcihuYW1lKSwgbG93ZXIoJ215IG5hbWUnKSkpICovXG4gICAgQ29udGFpbnMgPSBcImNvbnRhaW5pbmdcIlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRPcHRpb25zIHtcbiAgICBmaWVsZDogc3RyaW5nO1xuICAgIG9yZGVyOiBudW1iZXI7XG59XG5cbi8qKiBQYXLDom1ldHJvcyBwYXJhIGN1c3RvbWl6YcOnw7VlcyBkbyBsb29rdXAgKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9va3VwT3B0aW9ucyB7XG4gICAgLyoqIE5vbWUgZGEgZW50aWRhZGUgKi9cbiAgICBlbnRpdHk/OiBzdHJpbmc7XG4gICAgLyoqIE5vbWUgZG8gZm9ybUdyb3VwICovXG4gICAgZm9ybUdyb3VwPzogc3RyaW5nO1xuICAgIC8qKiBGaWx0cm8gcGFkcsOjbyAqL1xuICAgIGRlZmF1bHRGaWx0ZXI/OiBEZWZhdWx0RmlsdGVyW107XG4gICAgLyoqIEZpbHRybyBkaW7Dom1pY28gKi9cbiAgICBkeW5hbWljRmlsdGVyPzogRHluYW1pY0ZpbHRlcltdO1xuICAgIC8qKiBDYW1wb3MgZG8gbG9va3VwIChhdXRvY29tcGxldGUpICovXG4gICAgbG9va3VwRmllbGRzPzogRm9ybUZpZWxkW107XG4gICAgLyoqIENhbXBvcyBxdWUgc2Vyw6NvIHNvbGljaXRhZG9zIG5hIGNvbnN1bHRhICovXG4gICAgcXVlcnlGaWVsZHM/OiBzdHJpbmdbXTtcbiAgICAvKiogQ2FtcG9zIGV4aWJpZG9zIG5vIGZpbHRybyBkYSBtb2RhbCBkZSBsaXN0YWdlbSAqL1xuICAgIHNlYXJjaEZpZWxkcz86IEZvcm1GaWVsZFtdO1xuICAgIC8qKiBDYW1wb3MgZXhpYmlkb3MgbmEgZ3JpZCBkYSBtb2RhbCBkZSBsaXN0YWdlbSAqL1xuICAgIHNlYXJjaEdyaWRGaWVsZHM/OiBGb3JtRmllbGRbXTtcbiAgICAvKiogRGVmaW5lIHNlIG8gbG9va3VwIHBlcm1pdGlyw6EgbXVsdGkgc2VsZcOnw6NvICovXG4gICAgbXVsdGlwbGU/OiBib29sZWFuO1xuICAgIC8qKiBFbnRpZGFkZXMgZGUgcXVlIGRlcGVuZGUgKi9cbiAgICBlbnRpdHlEZXBlbmRlbmN5PzogRW50aXR5RGVwZW5kZW5jeVtdO1xuICAgIC8qKiBQcmVmaXhvIHV0aWxpemFkbyBwYXJhIG1vbnRhciBvcyBsYWJlbHMgKHBvciBwYWRyw6NvIHV0aWxpemEgZG9tw61uaW8gZSBzZXJ2acOnbykgKi9cbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgLyoqIFN1Zml4byB1dGlsaXphZG8gcGFyYSBtb250YXIgb3MgbGFiZWxzIChwb3IgcGFkcsOjbyDDqSB2YXppbykgKi9cbiAgICBzdWZmaXg/OiBzdHJpbmc7XG4gICAgLyoqIERvbcOtbmlvICovXG4gICAgZG9tYWluPzogc3RyaW5nO1xuICAgIC8qKiBTZXJ2acOnbyAqL1xuICAgIHNlcnZpY2U/OiBzdHJpbmc7XG4gICAgLyoqIERhdGEga2V5ICovXG4gICAgZGF0YUtleT86IHN0cmluZztcbiAgICAvKiogQ2FtcG9zIHBhcmEgb3JkZW5hw6fDo28gZG8gbG9va3VwIChhdXRvY29tcGxldGUpKi9cbiAgICBsb29rdXBTb3J0PzogU29ydE9wdGlvbnNbXTtcbiAgICAvKiogQ2FtcG9zIHBhcmEgYSBvcmRlbmHDp8OjbyBhbyBhYnJpciBhIG1vZGFsIGRlIGxpc3RhZ2VtICovXG4gICAgc2VhcmNoU29ydD86IFNvcnRPcHRpb25zW107XG59XG5cbkBJbmplY3RhYmxlKClcbuKAi1xuLyoqXG4gKiBFcnAgTG9va3Vwc1xuICogQGNsYXNzIEVycExvb2t1cHNcbiovXG5leHBvcnQgY2xhc3MgRXJwTG9va3VwcyB7XG4gICAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcbiAgICAvKipcbiAgICAgKiBDcmlhw6fDo28gZGUgdW0gbG9va3VwLlxuICAgICAqIEBwYXJhbSBlbnRpdHkgTm9tZSBkYSBlbnRpZGFkZS5cbiAgICAgKiBAcGFyYW0gbG9va3VwRmllbGRzIENhbXBvcyBleGliaWRvcyBubyBhdXRvY29tcGxldGUuXG4gICAgICogQHBhcmFtIHNlYXJjaEZpZWxkcyBDYW1wb3MgZXhpYmlkb3Mgbm8gZmlsdHJvIGRlbnRybyBkYSBtb2RhbC5cbiAgICAgKiBAcGFyYW0gc2VhcmNoR3JpZEZpZWxkcyBDYW1wb3MgZXhpYmlkb3MgbmEgdGFiZWxhIGRlbnRybyBkYSBtb2RhbC5cbiAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgbG9va3VwU2VydmljZTogRXJwTG9va3Vwc1NlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBlbnRpdHk6IHN0cmluZyxcbiAgICAgICAgcHJvdGVjdGVkIGxvb2t1cEZpZWxkczogRm9ybUZpZWxkW10sXG4gICAgICAgIHB1YmxpYyBzZWFyY2hGaWVsZHM6IEZvcm1GaWVsZFtdLFxuICAgICAgICBwdWJsaWMgc2VhcmNoR3JpZEZpZWxkczogRm9ybUZpZWxkW10sXG4gICAgICAgIHByb3RlY3RlZCBkb21haW46IHN0cmluZyxcbiAgICAgICAgcHJvdGVjdGVkIHNlcnZpY2U6IHN0cmluZyxcbiAgICApIHtcbiAgICAgICAgdGhpcy5lbnRpdHkgPSBlbnRpdHk7XG4gICAgICAgIHRoaXMuZG9tYWluID0gZG9tYWluO1xuICAgICAgICB0aGlzLnNlcnZpY2UgPSBzZXJ2aWNlO1xuICAgICAgICB0aGlzLmxvb2t1cEZpZWxkcyA9IGxvb2t1cEZpZWxkcyB8fCBbXTtcbiAgICAgICAgdGhpcy5zZWFyY2hGaWVsZHMgPSBzZWFyY2hGaWVsZHMgfHwgW107XG4gICAgICAgIHRoaXMuc2VhcmNoR3JpZEZpZWxkcyA9IHNlYXJjaEdyaWRGaWVsZHMgfHwgW107XG4gICAgfVxuXG4gICAgcHVibGljIGxvb2t1cFN1Z2dlc3Rpb25zT2JzZXJ2YWJsZSA9IG5ldyBTdWJqZWN0KCk7XG4gICAgcHVibGljIGxvb2t1cFNlYXJjaE9ic2VydmFibGUgPSBuZXcgU3ViamVjdCgpO1xu4oCLXG4gICAgcHVibGljIHRvU25ha2VDYXNlKHZhbHVlOiBzdHJpbmcgPSBcIlwiKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoLyg/Ol58XFwuPykoW0EtWl0pL2csIGZ1bmN0aW9uICh4LCB5KSB7cmV0dXJuIFwiX1wiICsgeS50b0xvd2VyQ2FzZSgpOyB9KS5yZXBsYWNlKC9eXy8sIFwiXCIpO1xuICAgIH1cbuKAi1xuICAgIHB1YmxpYyBtb3VudEZvcm1GaWVsZChmaWVsZHM6IGFueSwgcHJlZml4OiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkcy5tYXAoKGZpZWxkOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGxldCB0cmFuc2xhdGlvbktleSA9IGAke3ByZWZpeH0ubG9va3VwXyR7dGhpcy50b1NuYWtlQ2FzZSh0aGlzLmVudGl0eSl9XyR7dGhpcy50b1NuYWtlQ2FzZShmaWVsZC5uYW1lKX1gO1xuICAgICAgICAgICAgbGV0IGxhYmVsID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0cmFuc2xhdGlvbktleSk7XG4gICAgICAgICAgICBpZiAobGFiZWwgPT09IHRyYW5zbGF0aW9uS2V5KSB7XG4gICAgICAgICAgICAgICAgLy8gTWFudGVyIGNvbXBhdGliaWxpZGFkZSBjb20gb3MgbG9va3VwcyBhdHVhaXMgYXTDqSB0b2RvcyBhanVzdGFyZW1cbiAgICAgICAgICAgICAgICBjb25zdCBmaWVsZE5hbWUgPSBmaWVsZC5uYW1lLnNwbGl0KCcuJykuam9pbignXycpO1xuICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9uS2V5ID0gYCR7cHJlZml4fS5sb29rdXBfJHt0aGlzLnRvU25ha2VDYXNlKHRoaXMuZW50aXR5KX1fJHt0aGlzLnRvU25ha2VDYXNlKGZpZWxkTmFtZSl9YDtcbiAgICAgICAgICAgICAgICBsYWJlbCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQodHJhbnNsYXRpb25LZXkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gbmV3IEZvcm1GaWVsZCh7XG4gICAgICAgICAgICAgICAgLi4uZmllbGQsXG4gICAgICAgICAgICAgICAgbGFiZWxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG7igItcbiAgICBwdWJsaWMgbW91bnREZWZhdWx0RmlsdGVyKGRlZmF1bHRGaWx0ZXI6IERlZmF1bHRGaWx0ZXJbXSA9IFt7ZmllbGQ6IFwiZXhjbHVpZG9cIiwgb3BlcmF0b3I6IEVudW1Mb2dpY2FsT3BlcmF0b3IuRXEsIHZhbHVlczogW1wiZmFsc2VcIl19XSkge1xuICAgICAgICByZXR1cm4gZGVmYXVsdEZpbHRlci5tYXAoZmlsdGVyID0+IHtcbiAgICAgICAgICAgIHJldHVybiBcIihcIiArIGZpbHRlci52YWx1ZXMubWFwKHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVyLm9wZXJhdG9yID09IEVudW1Mb2dpY2FsT3BlcmF0b3IuQ29udGFpbnMpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgY29udGFpbmluZyhsb3dlcigke2ZpbHRlci5maWVsZH0pLCBsb3dlcignJHt2YWx1ZX0nKSlgO1xuXG4gICAgICAgICAgICAgICAgaWYgKChmaWx0ZXIub3BlcmF0b3IgPT0gRW51bUxvZ2ljYWxPcGVyYXRvci5Jc05vdCB8fCBmaWx0ZXIub3BlcmF0b3IgPT0gRW51bUxvZ2ljYWxPcGVyYXRvci5JcykgJiYgIXZhbHVlKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7ZmlsdGVyLmZpZWxkfSAke2ZpbHRlci5vcGVyYXRvcn0gbnVsbGA7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke2ZpbHRlci5maWVsZH0gJHtmaWx0ZXIub3BlcmF0b3J9ICcke3ZhbHVlfSdgO1xuICAgICAgICAgICAgfSkuam9pbihcIiBvciBcIikgKyBcIilcIjtcbiAgICAgICAgfSkuam9pbihcIiBhbmQgXCIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBtb3VudER5bmFtaWNGaWx0ZXIoZHluYW1pY0ZpbHRlcjogRHluYW1pY0ZpbHRlcltdKSB7XG4gICAgICAgIGlmIChkeW5hbWljRmlsdGVyKSB7XG4gICAgICAgICAgICByZXR1cm4gZHluYW1pY0ZpbHRlci5tYXAoZmlsdGVyID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgdmFsdWVzID0gZmlsdGVyLnZhbHVlKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGQgPSBmaWx0ZXIuZmllbGQoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBvcGVyYXRvciA9IGZpbHRlci5vcGVyYXRvcjtcblxuICAgICAgICAgICAgICAgIGlmICghKHZhbHVlcyBpbnN0YW5jZW9mIEFycmF5KSkge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZXMgPSBbdmFsdWVzXTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gXCIoXCIgKyB2YWx1ZXMubWFwKCh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcGVyYXRvciA9PSBFbnVtTG9naWNhbE9wZXJhdG9yLkNvbnRhaW5zKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGBjb250YWluaW5nKGxvd2VyKCR7ZmllbGR9KSwgbG93ZXIoJyR7dmFsdWV9JykpYDtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoKG9wZXJhdG9yID09IEVudW1Mb2dpY2FsT3BlcmF0b3IuSXNOb3QgfHwgb3BlcmF0b3IgPT0gRW51bUxvZ2ljYWxPcGVyYXRvci5JcykgJiYgIXZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke2ZpZWxkfSAke29wZXJhdG9yfSBudWxsYDtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7ZmllbGR9ICR7b3BlcmF0b3J9ICcke3ZhbHVlfSdgO1xuICAgICAgICAgICAgICAgIH0pLmpvaW4oXCIgb3IgXCIpICsgXCIpXCI7XG4gICAgICAgICAgICB9KS5qb2luKFwiIGFuZCBcIik7XG4gICAgICAgIH1cbiAgICB9XG7igItcbiAgICBwdWJsaWMgbW91bnRGaWx0ZXJRdWVyeSh2YWx1ZTogc3RyaW5nLCBsb29rdXBGaWVsZHM6IEZvcm1GaWVsZFtdLCBkZWZhdWx0RmlsdGVyPzogRGVmYXVsdEZpbHRlcltdLCBkeW5hbWljRmlsdGVyPzogRHluYW1pY0ZpbHRlcltdKSB7XG4gICAgICAgIGxldCBmaWx0ZXJRdWVyeTogc3RyaW5nO1xuICAgICAgICBpZiAoTnVtYmVyLmlzSW50ZWdlcihOdW1iZXIodmFsdWUpKSkge1xuICAgICAgICAgICAgZmlsdGVyUXVlcnkgPSBsb29rdXBGaWVsZHMubWFwKChmaWVsZDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09IEZpZWxkVHlwZS5TdHJpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAoY29udGFpbmluZyhsb3dlcigke2ZpZWxkLm5hbWV9KSwgbG93ZXIoJyR7dmFsdWV9JykpKWA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChmaWVsZC50eXBlID09PSBGaWVsZFR5cGUuSW50ZWdlcikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzYW5pdGl6ZWRWYWx1ZSA9IHZhbHVlLnRvU3RyaW5nKCkucmVwbGFjZSgvXFxEL2csIFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXNhbml0aXplZFZhbHVlKSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAoJHtmaWVsZC5uYW1lfSBlcSAnJHtzYW5pdGl6ZWRWYWx1ZX0nKWA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAoJHtmaWVsZC5uYW1lfSBlcSAnJHt2YWx1ZX0nKWA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5maWx0ZXIoZmlsdGVyID0+ICEhZmlsdGVyKVxuICAgICAgICAgICAgLmpvaW4oXCIgb3IgXCIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZmlsdGVyUXVlcnkgPSBsb29rdXBGaWVsZHNcbiAgICAgICAgICAgICAgICAuZmlsdGVyKChmaWVsZDogYW55KSA9PiBmaWVsZC50eXBlID09PSBGaWVsZFR5cGUuU3RyaW5nKVxuICAgICAgICAgICAgICAgIC5tYXAoKGZpZWxkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAoY29udGFpbmluZyhsb3dlcigke2ZpZWxkLm5hbWV9KSwgbG93ZXIoJyR7dmFsdWUucmVwbGFjZSgvXFxcXC9nLCBcIlwiKS5yZXBsYWNlKC8nL2csIFwiXFxcXCdcIil9JykpKWA7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuam9pbihcIiBvciBcIik7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkZWZhdWx0RmlsdGVyUXVlcnkgPSB0aGlzLm1vdW50RGVmYXVsdEZpbHRlcihkZWZhdWx0RmlsdGVyKTtcbiAgICAgICAgaWYgKGRlZmF1bHRGaWx0ZXJRdWVyeSlcbiAgICAgICAgICAgIGZpbHRlclF1ZXJ5ID0gYCgoJHtkZWZhdWx0RmlsdGVyUXVlcnl9KSBhbmQgKCR7ZmlsdGVyUXVlcnl9KSlgO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICBmaWx0ZXJRdWVyeSA9IFwiKFwiICsgZmlsdGVyUXVlcnkgKyBcIilcIjtcbuKAi1xuICAgICAgICBjb25zdCBkeW5hbWljRmlsdGVyUXVlcnkgPSB0aGlzLm1vdW50RHluYW1pY0ZpbHRlcihkeW5hbWljRmlsdGVyKTtcbiAgICAgICAgaWYgKGR5bmFtaWNGaWx0ZXJRdWVyeSlcbiAgICAgICAgICAgIGZpbHRlclF1ZXJ5ID0gYCgoJHtkeW5hbWljRmlsdGVyUXVlcnl9KSBhbmQgKCR7ZmlsdGVyUXVlcnl9KSlgO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICBmaWx0ZXJRdWVyeSA9IFwiKFwiICsgZmlsdGVyUXVlcnkgKyBcIilcIjtcblxuICAgICAgICByZXR1cm4gZmlsdGVyUXVlcnk7XG4gICAgfVxu4oCLXG4gICAgcHVibGljIG1vdW50RW51bUZpbHRlcihuYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnksIG11bHRpcGxlOiBib29sZWFuKSB7XG4gICAgICAgIHJldHVybiBtdWx0aXBsZSA/IGAoJHt2YWx1ZS5tYXAoKHNlbGVjdGVkOiBhbnkpID0+IGAke25hbWV9IGVxICcke3NlbGVjdGVkfSdgKS5qb2luKFwiIG9yIFwiKX0pYCA6IGAoJHtuYW1lfSBlcSAnJHt2YWx1ZX0nKWA7XG4gICAgfVxu4oCLXG4gICAgLyoqIE3DqXRvZG8gcmVzcG9uc8OhdmVsIHBvciBtb250YXIgYXMgb3DDp8O1ZXMgcGFkcsO1ZXMgcGFyYSBvIGxvb2t1cCBkbyBEeW5hbWljIEZvcm0gKi9cbiAgICBwdWJsaWMgbW91bnRPcHRpb25zKG9wdGlvbnM6IExvb2t1cE9wdGlvbnMgPSB7fSkge1xuICAgICAgICBjb25zdCBwcmVmaXggPSBvcHRpb25zLnByZWZpeFxuICAgICAgICAgICAgPyBvcHRpb25zLnByZWZpeFxuICAgICAgICAgICAgOiAob3B0aW9ucy5kb21haW4gJiYgb3B0aW9ucy5zZXJ2aWNlKVxuICAgICAgICAgICAgICAgID8gYCR7b3B0aW9ucy5kb21haW59LiR7b3B0aW9ucy5zZXJ2aWNlfWBcbiAgICAgICAgICAgICAgICA6IGAke3RoaXMuZG9tYWlufS4ke3RoaXMuc2VydmljZX1gO1xuXG4gICAgICAgIGNvbnN0IHN1ZmZpeCA9IG9wdGlvbnMuc3VmZml4ID8gYF8ke29wdGlvbnMuc3VmZml4fWAgOiBcIlwiO1xuXG5cbiAgICAgICAgb3B0aW9ucy5sb29rdXBGaWVsZHMgPSBvcHRpb25zLmxvb2t1cEZpZWxkcyAmJiBvcHRpb25zLmxvb2t1cEZpZWxkcy5sZW5ndGhcbiAgICAgICAgICAgID8gb3B0aW9ucy5sb29rdXBGaWVsZHNcbiAgICAgICAgICAgIDogdGhpcy5sb29rdXBGaWVsZHM7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5hbWU6IG9wdGlvbnMuZm9ybUdyb3VwIHx8IHRoaXMuZW50aXR5LFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7cHJlZml4fS5sb29rdXBfJHt0aGlzLnRvU25ha2VDYXNlKG9wdGlvbnMuZW50aXR5KSB8fCB0aGlzLnRvU25ha2VDYXNlKHRoaXMuZW50aXR5KX0ke3N1ZmZpeH1gKSxcbiAgICAgICAgICAgIHNlYXJjaFRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3ByZWZpeH0ubG9va3VwXyR7dGhpcy50b1NuYWtlQ2FzZShvcHRpb25zLmVudGl0eSkgfHxcbiAgICAgICAgICAgICAgICB0aGlzLnRvU25ha2VDYXNlKHRoaXMuZW50aXR5KX1fc2VhcmNoX3RpdGxlYCksXG4gICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuTG9va3VwLFxuICAgICAgICAgICAgbXVsdGlwbGU6IG9wdGlvbnMubXVsdGlwbGUgPT09IGZhbHNlID8gZmFsc2UgOiB0cnVlLFxuICAgICAgICAgICAgZGF0YUtleTogb3B0aW9ucy5kYXRhS2V5IHx8IFwiaWRcIixcbiAgICAgICAgICAgIGxvb2t1cERpc3BsYXlGaWVsZDogXCJsYWJlbFwiLFxuICAgICAgICAgICAgc2VhcmNoRW1wdHlUaXRsZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHtwcmVmaXh9Lm5vdGhpbmdfZm91bmRgKSxcbiAgICAgICAgICAgIGZpbHRlckxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3ByZWZpeH0uZmlsdGVyYCksXG4gICAgICAgICAgICBjbGVhckxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3ByZWZpeH0uY2xlYXJgKSxcbiAgICAgICAgICAgIGNhbmNlbExhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3ByZWZpeH0uY2FuY2VsYCksXG4gICAgICAgICAgICBzZWxlY3RMYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHtwcmVmaXh9LnNlbGVjdGApLFxuICAgICAgICAgICAgc2VhcmNoRmllbGRzOiBvcHRpb25zLnNlYXJjaEZpZWxkcyA/IHRoaXMubW91bnRGb3JtRmllbGQob3B0aW9ucy5zZWFyY2hGaWVsZHMsIHByZWZpeCkgOlxuICAgICAgICAgICAgICAgIHRoaXMubW91bnRGb3JtRmllbGQodGhpcy5zZWFyY2hGaWVsZHMsIHByZWZpeCksXG4gICAgICAgICAgICBzZWFyY2hHcmlkRmllbGRzOiBvcHRpb25zLnNlYXJjaEdyaWRGaWVsZHMgPyB0aGlzLm1vdW50Rm9ybUZpZWxkKG9wdGlvbnMuc2VhcmNoR3JpZEZpZWxkcywgcHJlZml4KSA6XG4gICAgICAgICAgICAgICAgdGhpcy5tb3VudEZvcm1GaWVsZCh0aGlzLnNlYXJjaEdyaWRGaWVsZHMsIHByZWZpeCksXG4gICAgICAgICAgICBzdWdnZXN0aW9uc09ic2VydmFibGU6IHRoaXMubG9va3VwU3VnZ2VzdGlvbnNPYnNlcnZhYmxlLFxuICAgICAgICAgICAgc2VhcmNoT2JzZXJ2YWJsZTogdGhpcy5sb29rdXBTZWFyY2hPYnNlcnZhYmxlLFxuICAgICAgICAgICAgb25Mb29rdXBSZXF1ZXN0OiAodmFsdWU6IHN0cmluZykgPT4gdGhpcy5vbkxvb2t1cFJlcXVlc3QodmFsdWUsIHByZWZpeCwgb3B0aW9ucyksXG4gICAgICAgICAgICBvblNlYXJjaFJlcXVlc3Q6IChldmVudDogYW55KSA9PiB0aGlzLm9uU2VhcmNoUmVxdWVzdChldmVudCwgcHJlZml4LCBvcHRpb25zKVxuICAgICAgICB9O1xuICAgIH1cbuKAi1xuICAgIHB1YmxpYyBnZXRQcm9wKG9iajogYW55LCBwYXRoOiBhbnksIHByZWZpeDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBwYXRoLnNwbGl0KFwiLlwiKS5yZWR1Y2UoKHJlc3VsdDogYW55LCBwcm9wOiBhbnkpID0+IChyZXN1bHRbcHJvcF0gPT09IHVuZGVmaW5lZCB8fCByZXN1bHRbcHJvcF0gPT09IG51bGxcbiAgICAgICAgICAgID8gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHtwcmVmaXh9LmVtcHR5X2xhYmVsYClcbiAgICAgICAgICAgIDogcmVzdWx0W3Byb3BdKSwgb2JqKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzVmFsdWUodmFsdWU6IGFueSkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgIXZhbHVlLmxlbmd0aClcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgcmV0dXJuICEhdmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIG1vdW50RW50aXR5RmlsdGVyKGVudGl0eTogRW50aXR5RGVwZW5kZW5jeSwgdmFsdWU6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBlbnRpdHkuZmllbGRcbiAgICAgICAgICAgID8gYCgke2VudGl0eS5uYW1lfS4ke2VudGl0eS5maWVsZH0gZXEgJyR7dmFsdWVbZW50aXR5LmZpZWxkXX0nKWBcbiAgICAgICAgICAgIDogYCgke2VudGl0eS5uYW1lfSBlcSAnJHt2YWx1ZVtlbnRpdHkubmFtZV19JylgO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkxvb2t1cFJlcXVlc3QodmFsdWU6IHN0cmluZywgcHJlZml4OiBzdHJpbmcsIG9wdGlvbnM/OiBMb29rdXBPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHNvcnQgPSBvcHRpb25zLmxvb2t1cFNvcnQ7XG4gICAgICAgIGNvbnN0IGxvb2t1cERpc3BsYXlGaWVsZHMgPSBvcHRpb25zLmxvb2t1cEZpZWxkcy5tYXAoZmllbGQgPT4gZmllbGQubmFtZSk7XG4gICAgICAgIGxldCBmaWx0ZXJRdWVyeSA9IHRoaXMubW91bnRGaWx0ZXJRdWVyeSh2YWx1ZSwgb3B0aW9ucy5sb29rdXBGaWVsZHMsIG9wdGlvbnMuZGVmYXVsdEZpbHRlciwgb3B0aW9ucy5keW5hbWljRmlsdGVyKTtcblxuICAgICAgICBsZXQgZGlzcGxheUZpZWxkcyA9IGxvb2t1cERpc3BsYXlGaWVsZHMuY29uY2F0KCAob3B0aW9ucy5zZWFyY2hHcmlkRmllbGRzIHx8IHRoaXMuc2VhcmNoR3JpZEZpZWxkcylcbiAgICAgICAgICAgIC5tYXAoKHsgbmFtZSB9KSA9PiBuYW1lKSB8fCBbXSk7XG4gICAgICAgIGlmIChvcHRpb25zLnF1ZXJ5RmllbGRzKVxuICAgICAgICAgICAgZGlzcGxheUZpZWxkcyA9IGRpc3BsYXlGaWVsZHMuY29uY2F0KG9wdGlvbnMucXVlcnlGaWVsZHMpO1xuICAgICAgICBkaXNwbGF5RmllbGRzID0gZGlzcGxheUZpZWxkcy5maWx0ZXIoKHYsIGkpID0+IGRpc3BsYXlGaWVsZHMuaW5kZXhPZih2KSA9PT0gaSk7XG5cbiAgICAgICAgaWYgKG9wdGlvbnMuZW50aXR5RGVwZW5kZW5jeSkge1xuICAgICAgICAgICAgY29uc3QgZW50aXR5RmlsdGVyID0gb3B0aW9ucy5lbnRpdHlEZXBlbmRlbmN5Lm1hcCgoZW50aXR5OiBFbnRpdHlEZXBlbmRlbmN5KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBlbnRpdHkudmFsdWUoKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaGFzVmFsdWUobmV3VmFsdWUpKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShuZXdWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAoJHtuZXdWYWx1ZS5tYXAoKHZhbDogYW55KSA9PiB0aGlzLm1vdW50RW50aXR5RmlsdGVyKGVudGl0eSwgdmFsKSkuam9pbihcIiBvciBcIil9KWA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAoJHt0aGlzLm1vdW50RW50aXR5RmlsdGVyKGVudGl0eSwgbmV3VmFsdWUpfSlgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLmZpbHRlcihmaWx0ZXIgPT4gISFmaWx0ZXIpLmpvaW4gKFwiIGFuZCBcIik7XG4gICAgICAgICAgICBpZiAoZW50aXR5RmlsdGVyKVxuICAgICAgICAgICAgICAgIGZpbHRlclF1ZXJ5ID8gZmlsdGVyUXVlcnkgKz0gYCBhbmQgKCR7ZW50aXR5RmlsdGVyfSlgIDogZmlsdGVyUXVlcnkgPSBlbnRpdHlGaWx0ZXI7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sb29rdXBTZXJ2aWNlXG4gICAgICAgICAgICAubGlzdCh7XG4gICAgICAgICAgICAgICAgc29ydCxcbiAgICAgICAgICAgICAgICBmaWx0ZXJRdWVyeSxcbiAgICAgICAgICAgICAgICBkaXNwbGF5RmllbGRzXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGhpcy5lbnRpdHksXG4gICAgICAgICAgICBvcHRpb25zLmRvbWFpbiB8fCB0aGlzLmRvbWFpbixcbiAgICAgICAgICAgIG9wdGlvbnMuc2VydmljZSB8fCB0aGlzLnNlcnZpY2UpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgobGlzdDogYW55KSA9PlxuICAgICAgICAgICAgICAgICAgICBsaXN0LmNvbnRlbnRzLm1hcCgoaXRlbTogYW55KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmdldEl0ZW1MYWJlbChpdGVtLCBwcmVmaXgsIGxvb2t1cERpc3BsYXlGaWVsZHMpXG4gICAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9va3VwU3VnZ2VzdGlvbnNPYnNlcnZhYmxlLm5leHQoZGF0YSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG7igItcbiAgICBwdWJsaWMgb25TZWFyY2hSZXF1ZXN0KGV2ZW50OiBhbnksIHByZWZpeDogc3RyaW5nLCBvcHRpb25zPzogTG9va3VwT3B0aW9ucykge1xuICAgICAgICBjb25zdCB7IGZpcnN0LCByb3dzLCBtdWx0aVNvcnRNZXRhLCBmaWx0ZXJEYXRhIH0gPSBldmVudDtcbiAgICAgICAgY29uc3QgcGFnZSA9IGZpcnN0IC8gcm93cztcbiAgICAgICAgY29uc3Qgc29ydCA9IG11bHRpU29ydE1ldGEgPyBtdWx0aVNvcnRNZXRhIDogb3B0aW9ucy5zZWFyY2hTb3J0O1xuICAgICAgICBjb25zdCBsb29rdXBEaXNwbGF5RmllbGRzID0gb3B0aW9ucy5sb29rdXBGaWVsZHMubWFwKGZpZWxkID0+IGZpZWxkLm5hbWUpO1xuXG4gICAgICAgIGxldCBmaWx0ZXJRdWVyeSA9IChvcHRpb25zLnNlYXJjaEZpZWxkcyB8fCB0aGlzLnNlYXJjaEZpZWxkcylcbiAgICAgICAgICAgIC5maWx0ZXIoKHsgbmFtZSB9KSA9PiBmaWx0ZXJEYXRhW25hbWVdICE9IHVuZGVmaW5lZCAmJiBmaWx0ZXJEYXRhW25hbWVdICE9IFwiXCIpXG4gICAgICAgICAgICAubWFwKCh7IG5hbWUsIHR5cGUsIG11bHRpcGxlIH0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGZpbHRlckRhdGFbbmFtZV07XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PSBcIm51bWJlclwiKSByZXR1cm4gYCR7bmFtZX0gZXEgJHt2YWx1ZX1gO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHR5cGUgPT0gRmllbGRUeXBlLkRhdGUpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHttb21lbnQodmFsdWUpLmZvcm1hdChcIllZWVktTU0tRERcIil9J2A7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAodHlwZSA9PSBGaWVsZFR5cGUuVGltZSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke21vbWVudCh2YWx1ZSkuZm9ybWF0KFwiSEg6bW06c3NcIil9J2A7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAodHlwZSA9PSBGaWVsZFR5cGUuRGF0ZVRpbWUpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHttb21lbnQodmFsdWUpLmZvcm1hdCgpfSdgO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHR5cGUgPT0gRmllbGRUeXBlLkVudW0pXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm1vdW50RW51bUZpbHRlcihuYW1lLCB2YWx1ZSwgbXVsdGlwbGUpO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHR5cGUgPT0gRmllbGRUeXBlLlN0cmluZylcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAoY29udGFpbmluZyhsb3dlcigke25hbWV9KSwgbG93ZXIoJyR7dmFsdWV9JykpKWA7XG4gICAgICAgICAgICAgICAgZWxzZSByZXR1cm4gYCR7bmFtZX0gZXEgJyR7dmFsdWV9J2A7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmpvaW4oXCIgYW5kIFwiKTtcbuKAi1xuICAgICAgICBpZiAob3B0aW9ucy5lbnRpdHlEZXBlbmRlbmN5KSB7XG4gICAgICAgICAgICBjb25zdCBlbnRpdHlGaWx0ZXIgPSBvcHRpb25zLmVudGl0eURlcGVuZGVuY3kubWFwKChlbnRpdHk6IEVudGl0eURlcGVuZGVuY3kpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGVudGl0eS52YWx1ZSgpO1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5oYXNWYWx1ZSh2YWx1ZSkpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAoJHt2YWx1ZS5tYXAoKHZhbDogYW55KSA9PiB0aGlzLm1vdW50RW50aXR5RmlsdGVyKGVudGl0eSwgdmFsKSkuam9pbihcIiBvciBcIil9KWA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAoJHt0aGlzLm1vdW50RW50aXR5RmlsdGVyKGVudGl0eSwgdmFsdWUpfSlgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLmZpbHRlcihmaWx0ZXIgPT4gISFmaWx0ZXIpLmpvaW4gKFwiIGFuZCBcIik7XG4gICAgICAgICAgICBpZiAoZW50aXR5RmlsdGVyKVxuICAgICAgICAgICAgICAgIGZpbHRlclF1ZXJ5ID8gZmlsdGVyUXVlcnkgKz0gYCBhbmQgKCR7ZW50aXR5RmlsdGVyfSlgIDogZmlsdGVyUXVlcnkgPSBlbnRpdHlGaWx0ZXI7XG4gICAgICAgIH1cbuKAi1xuICAgICAgICBjb25zdCBkZWZhdWx0RmlsdGVyUXVlcnkgPSB0aGlzLm1vdW50RGVmYXVsdEZpbHRlcihvcHRpb25zLmRlZmF1bHRGaWx0ZXIpO1xuICAgICAgICBpZiAoZGVmYXVsdEZpbHRlclF1ZXJ5KVxuICAgICAgICAgICAgZmlsdGVyUXVlcnkgPyBmaWx0ZXJRdWVyeSArPSBgIGFuZCAoJHtkZWZhdWx0RmlsdGVyUXVlcnl9KWAgOiBmaWx0ZXJRdWVyeSA9IGAoJHtkZWZhdWx0RmlsdGVyUXVlcnl9KWA7XG5cbiAgICAgICAgY29uc3QgZHluYW1pY0ZpbHRlclF1ZXJ5ID0gdGhpcy5tb3VudER5bmFtaWNGaWx0ZXIob3B0aW9ucy5keW5hbWljRmlsdGVyKTtcbiAgICAgICAgaWYgKGR5bmFtaWNGaWx0ZXJRdWVyeSlcbiAgICAgICAgICAgIGZpbHRlclF1ZXJ5ID8gZmlsdGVyUXVlcnkgKz0gYCBhbmQgKCR7ZHluYW1pY0ZpbHRlclF1ZXJ5fSlgIDogZmlsdGVyUXVlcnkgPSBgKCR7ZHluYW1pY0ZpbHRlclF1ZXJ5fSlgO1xuXG4gICAgICAgIGxldCBkaXNwbGF5RmllbGRzID0gbG9va3VwRGlzcGxheUZpZWxkcy5jb25jYXQoIChvcHRpb25zLnNlYXJjaEdyaWRGaWVsZHMgfHwgdGhpcy5zZWFyY2hHcmlkRmllbGRzKVxuICAgICAgICAgICAgLm1hcCgoeyBuYW1lIH0pID0+IG5hbWUpIHx8IFtdKTtcbiAgICAgICAgaWYgKG9wdGlvbnMucXVlcnlGaWVsZHMpXG4gICAgICAgICAgICBkaXNwbGF5RmllbGRzID0gZGlzcGxheUZpZWxkcy5jb25jYXQob3B0aW9ucy5xdWVyeUZpZWxkcyk7XG4gICAgICAgIGRpc3BsYXlGaWVsZHMgPSBkaXNwbGF5RmllbGRzLmZpbHRlcigodiwgaSkgPT4gZGlzcGxheUZpZWxkcy5pbmRleE9mKHYpID09PSBpKTtcblxuICAgICAgICB0aGlzLmxvb2t1cFNlcnZpY2VcbiAgICAgICAgICAgIC5saXN0KHsgcGFnZSwgc29ydCwgZmlsdGVyUXVlcnksIGRpc3BsYXlGaWVsZHMgfSwgdGhpcy5lbnRpdHksIG9wdGlvbnMuZG9tYWluIHx8IHRoaXMuZG9tYWluLCBvcHRpb25zLnNlcnZpY2UgfHwgdGhpcy5zZXJ2aWNlKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGxpc3Q6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZERhdGE6IGxpc3QuY29udGVudHMubWFwKChpdGVtOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuZ2V0SXRlbUxhYmVsKGl0ZW0sIHByZWZpeCwgbG9va3VwRGlzcGxheUZpZWxkcylcbiAgICAgICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICAgICAgICB0b3RhbFJlY29yZHM6IGxpc3QudG90YWxFbGVtZW50c1xuICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb29rdXBTZWFyY2hPYnNlcnZhYmxlLm5leHQoZGF0YSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRJdGVtTGFiZWwoaXRlbTogYW55LCBwcmVmaXg6IHN0cmluZywgbG9va3VwRGlzcGxheUZpZWxkczogc3RyaW5nW10pIHtcbiAgICAgICAgcmV0dXJuIGxvb2t1cERpc3BsYXlGaWVsZHNcbiAgICAgICAgICAgIC5tYXAoKGZpZWxkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZmllbGQuaW5kZXhPZihcIi5cIikgPiAwKSByZXR1cm4gdGhpcy5nZXRQcm9wKGl0ZW0sIGZpZWxkLCBwcmVmaXgpO1xuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtW2ZpZWxkXSAhPT0gdW5kZWZpbmVkICYmIGl0ZW1bZmllbGRdICE9PSBudWxsXG4gICAgICAgICAgICAgICAgICAgID8gaXRlbVtmaWVsZF1cbiAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3ByZWZpeH0uZW1wdHlfbGFiZWxgKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuam9pbihcIiAtIFwiKTtcbiAgICB9XG59XG4iXX0=
357
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJwLWxvb2t1cHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2xvb2t1cHMvZXJwLWxvb2t1cHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsSUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDO0FBZ0N2QixrRkFBa0Y7QUFDbEYsTUFBTSxDQUFOLElBQVksbUJBeUJYO0FBekJELFdBQVksbUJBQW1CO0lBQzNCLCtEQUErRDtJQUMvRCxnQ0FBUyxDQUFBO0lBQ1Qsa0VBQWtFO0lBQ2xFLGdDQUFTLENBQUE7SUFDVCx1REFBdUQ7SUFDdkQsZ0NBQVMsQ0FBQTtJQUNULGdFQUFnRTtJQUNoRSxnQ0FBUyxDQUFBO0lBQ1QsbURBQW1EO0lBQ25ELGdDQUFTLENBQUE7SUFDVCw2REFBNkQ7SUFDN0QsZ0NBQVMsQ0FBQTtJQUNULHdFQUF3RTtJQUN4RSxrQ0FBVyxDQUFBO0lBQ1gscUVBQXFFO0lBQ3JFLGdDQUFTLENBQUE7SUFDVCwrRUFBK0U7SUFDL0Usa0NBQVcsQ0FBQTtJQUNYLG1EQUFtRDtJQUNuRCxnQ0FBUyxDQUFBO0lBQ1QsbUVBQW1FO0lBQ25FLHVDQUFnQixDQUFBO0lBQ2hCLDhGQUE4RjtJQUM5Riw4Q0FBdUIsQ0FBQTtBQUMzQixDQUFDLEVBekJXLG1CQUFtQixLQUFuQixtQkFBbUIsUUF5QjlCO0FBbUREO0lBRUk7Ozs7OztNQU1FO0lBQ0Ysb0JBQ2MsYUFBZ0MsRUFDaEMsU0FBMkIsRUFDM0IsTUFBYyxFQUNkLFlBQXlCLEVBQzVCLFlBQXlCLEVBQ3pCLGdCQUE2QixFQUMxQixNQUFjLEVBQ2QsT0FBZTtRQVBmLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUNoQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDNUIsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDekIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFhO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBaEJyQixrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUEwQi9CLGdDQUEyQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDNUMsMkJBQXNCLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQVQxQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksSUFBSSxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLElBQUksRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUtNLGdDQUFXLEdBQWxCLFVBQW1CLEtBQWtCO1FBQWxCLHNCQUFBLEVBQUEsVUFBa0I7UUFDakMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBRyxPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2xILENBQUM7SUFFTSxtQ0FBYyxHQUFyQixVQUFzQixNQUFXLEVBQUUsTUFBYztRQUFqRCxpQkFnQkM7UUFmRyxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBQyxLQUFVO1lBQ3pCLElBQUksY0FBYyxHQUFNLE1BQU0sZ0JBQVcsS0FBSSxDQUFDLFdBQVcsQ0FBQyxLQUFJLENBQUMsTUFBTSxDQUFDLFNBQUksS0FBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFHLENBQUM7WUFDekcsSUFBSSxLQUFLLEdBQUcsS0FBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDbkQsSUFBSSxLQUFLLEtBQUssY0FBYyxFQUFFO2dCQUMxQixtRUFBbUU7Z0JBQ25FLElBQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDbEQsY0FBYyxHQUFNLE1BQU0sZ0JBQVcsS0FBSSxDQUFDLFdBQVcsQ0FBQyxLQUFJLENBQUMsTUFBTSxDQUFDLFNBQUksS0FBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUcsQ0FBQztnQkFDcEcsS0FBSyxHQUFHLEtBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ2xEO1lBRUQsT0FBTyxJQUFJLFNBQVMsdUJBQ2IsS0FBSyxLQUNSLEtBQUssT0FBQSxJQUNQLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSx1Q0FBa0IsR0FBekIsVUFBMEIsYUFBMkc7UUFBM0csOEJBQUEsRUFBQSxpQkFBa0MsRUFBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQztRQUNqSSxPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsVUFBQSxNQUFNO1lBQzNCLE9BQU8sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQUEsS0FBSztnQkFDaEMsSUFBSSxNQUFNLENBQUMsUUFBUSxJQUFJLG1CQUFtQixDQUFDLFFBQVE7b0JBQy9DLE9BQU8sc0JBQW9CLE1BQU0sQ0FBQyxLQUFLLGtCQUFhLEtBQUssUUFBSyxDQUFDO2dCQUVuRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLFFBQVEsSUFBSSxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUs7b0JBQ3JHLE9BQVUsTUFBTSxDQUFDLEtBQUssU0FBSSxNQUFNLENBQUMsUUFBUSxVQUFPLENBQUM7Z0JBQ3JELE9BQVUsTUFBTSxDQUFDLEtBQUssU0FBSSxNQUFNLENBQUMsUUFBUSxVQUFLLEtBQUssTUFBRyxDQUFDO1lBQzNELENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFTSx1Q0FBa0IsR0FBekIsVUFBMEIsYUFBOEI7UUFDcEQsSUFBSSxhQUFhLEVBQUU7WUFDZixPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsVUFBQSxNQUFNO2dCQUMzQixJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzVCLElBQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDN0IsSUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztnQkFFakMsSUFBSSxDQUFDLENBQUMsTUFBTSxZQUFZLEtBQUssQ0FBQyxFQUFFO29CQUM1QixNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDckI7Z0JBRUQsT0FBTyxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFDLEtBQVU7b0JBQy9CLElBQUksUUFBUSxJQUFJLG1CQUFtQixDQUFDLFFBQVE7d0JBQ3hDLE9BQU8sc0JBQW9CLEtBQUssa0JBQWEsS0FBSyxRQUFLLENBQUM7b0JBRTVELElBQUksQ0FBQyxRQUFRLElBQUksbUJBQW1CLENBQUMsS0FBSyxJQUFJLFFBQVEsSUFBSSxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUs7d0JBQ3ZGLE9BQVUsS0FBSyxTQUFJLFFBQVEsVUFBTyxDQUFDO29CQUV2QyxPQUFVLEtBQUssU0FBSSxRQUFRLFVBQUssS0FBSyxNQUFHLENBQUM7Z0JBQzdDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3BCO0lBQ0wsQ0FBQztJQUVNLHFDQUFnQixHQUF2QixVQUF3QixLQUFhLEVBQUUsWUFBeUIsRUFBRSxhQUErQixFQUFFLGFBQStCO1FBQzlILElBQUksV0FBbUIsQ0FBQztRQUN4QixJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDakMsV0FBVyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBQyxLQUFVO2dCQUN0QyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLE1BQU0sRUFBRTtvQkFDakMsT0FBTyx1QkFBcUIsS0FBSyxDQUFDLElBQUksa0JBQWEsS0FBSyxTQUFNLENBQUM7aUJBQ2xFO3FCQUFNLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsT0FBTyxFQUFFO29CQUN6QyxJQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDM0QsSUFBSSxDQUFDLGNBQWM7d0JBQUUsT0FBTyxJQUFJLENBQUM7b0JBQ2pDLE9BQU8sTUFBSSxLQUFLLENBQUMsSUFBSSxhQUFRLGNBQWMsT0FBSSxDQUFDO2lCQUNuRDtxQkFBTTtvQkFDSCxPQUFPLE1BQUksS0FBSyxDQUFDLElBQUksYUFBUSxLQUFLLE9BQUksQ0FBQztpQkFDMUM7WUFDTCxDQUFDLENBQUM7aUJBQ0QsTUFBTSxDQUFDLFVBQUEsTUFBTSxJQUFJLE9BQUEsQ0FBQyxDQUFDLE1BQU0sRUFBUixDQUFRLENBQUM7aUJBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNqQjthQUFNO1lBQ0gsV0FBVyxHQUFHLFlBQVk7aUJBQ3JCLE1BQU0sQ0FBQyxVQUFDLEtBQVUsSUFBSyxPQUFBLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLE1BQU0sRUFBL0IsQ0FBK0IsQ0FBQztpQkFDdkQsR0FBRyxDQUFDLFVBQUMsS0FBVTtnQkFDWixPQUFPLHVCQUFxQixLQUFLLENBQUMsSUFBSSxrQkFBYSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxTQUFNLENBQUM7WUFDM0csQ0FBQyxDQUFDO2lCQUNELElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNyQjtRQUVELElBQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2xFLElBQUksa0JBQWtCO1lBQ2xCLFdBQVcsR0FBRyxPQUFLLGtCQUFrQixlQUFVLFdBQVcsT0FBSSxDQUFDOztZQUUvRCxXQUFXLEdBQUcsR0FBRyxHQUFHLFdBQVcsR0FBRyxHQUFHLENBQUM7UUFFMUMsSUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbEUsSUFBSSxrQkFBa0I7WUFDbEIsV0FBVyxHQUFHLE9BQUssa0JBQWtCLGVBQVUsV0FBVyxPQUFJLENBQUM7O1lBRS9ELFdBQVcsR0FBRyxHQUFHLEdBQUcsV0FBVyxHQUFHLEdBQUcsQ0FBQztRQUUxQyxPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDO0lBRU0sb0NBQWUsR0FBdEIsVUFBdUIsSUFBWSxFQUFFLEtBQVUsRUFBRSxRQUFpQjtRQUM5RCxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQUMsUUFBYSxJQUFLLE9BQUcsSUFBSSxhQUFRLFFBQVEsTUFBRyxFQUExQixDQUEwQixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFHLENBQUMsQ0FBQyxDQUFDLE1BQUksSUFBSSxhQUFRLEtBQUssT0FBSSxDQUFDO0lBQy9ILENBQUM7SUFFRCxvRkFBb0Y7SUFDN0UsaUNBQVksR0FBbkIsVUFBb0IsT0FBMkI7UUFBL0MsaUJBcUNDO1FBckNtQix3QkFBQSxFQUFBLFlBQTJCO1FBQzNDLElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNO1lBQ3pCLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUNoQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUM7Z0JBQ2pDLENBQUMsQ0FBSSxPQUFPLENBQUMsTUFBTSxTQUFJLE9BQU8sQ0FBQyxPQUFTO2dCQUN4QyxDQUFDLENBQUksSUFBSSxDQUFDLE1BQU0sU0FBSSxJQUFJLENBQUMsT0FBUyxDQUFDO1FBRTNDLElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQUksT0FBTyxDQUFDLE1BQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRzFELE9BQU8sQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU07WUFDdEUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZO1lBQ3RCLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBRXhCLE9BQU87WUFDSCxJQUFJLEVBQUUsT0FBTyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsTUFBTTtZQUN0QyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUksTUFBTSxpQkFBVyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBRyxNQUFRLENBQUM7WUFDL0gsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFJLE1BQU0saUJBQVcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO2dCQUNwRixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQWUsQ0FBQztZQUNqRCxJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU07WUFDdEIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDbkQsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSTtZQUNoQyxrQkFBa0IsRUFBRSxPQUFPO1lBQzNCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFJLE1BQU0sbUJBQWdCLENBQUM7WUFDbkUsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFJLE1BQU0sWUFBUyxDQUFDO1lBQ3ZELFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBSSxNQUFNLFdBQVEsQ0FBQztZQUNyRCxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUksTUFBTSxZQUFTLENBQUM7WUFDdkQsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFJLE1BQU0sWUFBUyxDQUFDO1lBQ3ZELFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDcEYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQztZQUNsRCxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ2hHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQztZQUN0RCxxQkFBcUIsRUFBRSxJQUFJLENBQUMsMkJBQTJCO1lBQ3ZELGdCQUFnQixFQUFFLElBQUksQ0FBQyxzQkFBc0I7WUFDN0MsZUFBZSxFQUFFLFVBQUMsS0FBYSxJQUFLLE9BQUEsS0FBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxFQUE1QyxDQUE0QztZQUNoRixlQUFlLEVBQUUsVUFBQyxLQUFVLElBQUssT0FBQSxLQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQTVDLENBQTRDO1NBQ2hGLENBQUM7SUFDTixDQUFDO0lBRU0sNEJBQU8sR0FBZCxVQUFlLEdBQVEsRUFBRSxJQUFTLEVBQUUsTUFBYztRQUFsRCxpQkFJQztRQUhHLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBQyxNQUFXLEVBQUUsSUFBUyxJQUFLLE9BQUEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJO1lBQzFHLENBQUMsQ0FBQyxLQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBSSxNQUFNLGlCQUFjLENBQUM7WUFDakQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUZ1QyxDQUV2QyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSw2QkFBUSxHQUFmLFVBQWdCLEtBQVU7UUFDdEIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU07WUFDckMsT0FBTyxLQUFLLENBQUM7UUFDakIsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ25CLENBQUM7SUFFTSxzQ0FBaUIsR0FBeEIsVUFBeUIsTUFBd0IsRUFBRSxLQUFVO1FBQ3pELE9BQU8sTUFBTSxDQUFDLEtBQUs7WUFDZixDQUFDLENBQUMsTUFBSSxNQUFNLENBQUMsSUFBSSxTQUFJLE1BQU0sQ0FBQyxLQUFLLGFBQVEsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBSTtZQUNoRSxDQUFDLENBQUMsTUFBSSxNQUFNLENBQUMsSUFBSSxhQUFRLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQUksQ0FBQztJQUN4RCxDQUFDO0lBRU0sb0NBQWUsR0FBdEIsVUFBdUIsS0FBYSxFQUFFLE1BQWMsRUFBRSxPQUF1QjtRQUE3RSxpQkErQ0M7UUE5Q0csSUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUNoQyxJQUFNLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsS0FBSyxDQUFDLElBQUksRUFBVixDQUFVLENBQUMsQ0FBQztRQUMxRSxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFbkgsSUFBSSxhQUFhLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxDQUFFLENBQUMsT0FBTyxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQzthQUM5RixHQUFHLENBQUMsVUFBQyxFQUFRO2dCQUFOLGNBQUk7WUFBTyxPQUFBLElBQUk7UUFBSixDQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNwQyxJQUFJLE9BQU8sQ0FBQyxXQUFXO1lBQ25CLGFBQWEsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM5RCxhQUFhLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFDLENBQUMsRUFBRSxDQUFDLElBQUssT0FBQSxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBOUIsQ0FBOEIsQ0FBQyxDQUFDO1FBRS9FLElBQUksT0FBTyxDQUFDLGdCQUFnQixFQUFFO1lBQzFCLElBQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsVUFBQyxNQUF3QjtnQkFDdkUsSUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsS0FBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7b0JBQ3hCLE9BQU87Z0JBRVgsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUN6QixPQUFPLE1BQUksUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFDLEdBQVEsSUFBSyxPQUFBLEtBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQW5DLENBQW1DLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQUcsQ0FBQztpQkFDOUY7cUJBQU07b0JBQ0gsT0FBTyxNQUFJLEtBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQUcsQ0FBQztpQkFDMUQ7WUFDTCxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBQSxNQUFNLElBQUksT0FBQSxDQUFDLENBQUMsTUFBTSxFQUFSLENBQVEsQ0FBQyxDQUFDLElBQUksQ0FBRSxPQUFPLENBQUMsQ0FBQztZQUM3QyxJQUFJLFlBQVk7Z0JBQ1osV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLElBQUksV0FBUyxZQUFZLE1BQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQztTQUMxRjtRQUNELElBQUksQ0FBQyxhQUFhO2FBQ2IsSUFBSSxDQUFDO1lBQ0YsSUFBSSxNQUFBO1lBQ0osV0FBVyxhQUFBO1lBQ1gsYUFBYSxlQUFBO1NBQ2hCLEVBQ0QsSUFBSSxDQUFDLE1BQU0sRUFDWCxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQzdCLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUNuQyxJQUFJLENBQ0QsR0FBRyxDQUFDLFVBQUMsSUFBUztZQUNWLE9BQUEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBQyxJQUFTLElBQUssT0FBQSx1QkFDMUIsSUFBSSxLQUNQLEtBQUssRUFBRSxLQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsbUJBQW1CLENBQUMsSUFDN0QsRUFIK0IsQ0FHL0IsQ0FBQztRQUhILENBR0csQ0FDTixDQUNKO2FBQ0EsU0FBUyxDQUFDLFVBQUMsSUFBUztZQUNqQixLQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVNLG9DQUFlLEdBQXRCLFVBQXVCLEtBQVUsRUFBRSxNQUFjLEVBQUUsT0FBdUI7UUFBMUUsaUJBNEVDO1FBM0VXLElBQUEsbUJBQUssRUFBRSxpQkFBSSxFQUFFLG1DQUFhLEVBQUUsNkJBQVUsQ0FBVztRQUN6RCxJQUFNLElBQUksR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQU0sSUFBSSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQ2hFLElBQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxLQUFLLENBQUMsSUFBSSxFQUFWLENBQVUsQ0FBQyxDQUFDO1FBRTFFLElBQUksV0FBVyxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQ3hELE1BQU0sQ0FBQyxVQUFDLEVBQVE7Z0JBQU4sY0FBSTtZQUFPLE9BQUEsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtRQUF2RCxDQUF1RCxDQUFDO2FBQzdFLEdBQUcsQ0FBQyxVQUFDLEVBQXdCO2dCQUF0QixjQUFJLEVBQUUsY0FBSSxFQUFFLHNCQUFRO1lBQ3hCLElBQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvQixJQUFJLE9BQU8sS0FBSyxJQUFJLFFBQVE7Z0JBQUUsT0FBVSxJQUFJLFlBQU8sS0FBTyxDQUFDO2lCQUN0RCxJQUFJLElBQUksSUFBSSxTQUFTLENBQUMsSUFBSTtnQkFDM0IsT0FBVSxJQUFJLGFBQVEsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBRyxDQUFDO2lCQUMzRCxJQUFJLElBQUksSUFBSSxTQUFTLENBQUMsSUFBSTtnQkFDM0IsT0FBVSxJQUFJLGFBQVEsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBRyxDQUFDO2lCQUN6RCxJQUFJLElBQUksSUFBSSxTQUFTLENBQUMsUUFBUTtnQkFDL0IsT0FBVSxJQUFJLGFBQVEsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFHLENBQUM7aUJBQy9DLElBQUksSUFBSSxJQUFJLFNBQVMsQ0FBQyxJQUFJO2dCQUMzQixPQUFPLEtBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztpQkFDbEQsSUFBSSxJQUFJLElBQUksU0FBUyxDQUFDLE1BQU07Z0JBQzdCLE9BQU8sdUJBQXFCLElBQUksa0JBQWEsS0FBSyxTQUFNLENBQUM7aUJBQ3hELElBQUksSUFBSSxLQUFLLFNBQVMsQ0FBQyxNQUFNO2dCQUM5QixPQUFPLE1BQUksSUFBSSxhQUFRLEtBQUssQ0FBQyxFQUFFLE9BQUksQ0FBQzs7Z0JBQ25DLE9BQVUsSUFBSSxhQUFRLEtBQUssTUFBRyxDQUFDO1FBQ3hDLENBQUMsQ0FBQzthQUNELElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVuQixJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRTtZQUMxQixJQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFVBQUMsTUFBd0I7Z0JBQ3ZFLElBQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLEtBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO29CQUNyQixPQUFPO2dCQUNYLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDdEIsT0FBTyxNQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBQyxHQUFRLElBQUssT0FBQSxLQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUFuQyxDQUFtQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFHLENBQUM7aUJBQzNGO3FCQUFNO29CQUNILE9BQU8sTUFBSSxLQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFHLENBQUM7aUJBQ3ZEO1lBQ0wsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQUEsTUFBTSxJQUFJLE9BQUEsQ0FBQyxDQUFDLE1BQU0sRUFBUixDQUFRLENBQUMsQ0FBQyxJQUFJLENBQUUsT0FBTyxDQUFDLENBQUM7WUFDN0MsSUFBSSxZQUFZO2dCQUNaLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxJQUFJLFdBQVMsWUFBWSxNQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUM7U0FDMUY7UUFFRCxJQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFMUUsSUFBSSxrQkFBa0I7WUFDbEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLElBQUksV0FBUyxrQkFBa0IsTUFBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsTUFBSSxrQkFBa0IsTUFBRyxDQUFDO1FBRTFHLElBQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUUxRSxJQUFJLGtCQUFrQjtZQUNsQixXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsSUFBSSxXQUFTLGtCQUFrQixNQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxNQUFJLGtCQUFrQixNQUFHLENBQUM7UUFFMUcsSUFBSSxhQUFhLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQzthQUN6RixNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQzthQUN0QyxHQUFHLENBQUMsVUFBQyxFQUFRO2dCQUFOLGNBQUk7WUFBTyxPQUFBLElBQUk7UUFBSixDQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUV4QyxJQUFJLE9BQU8sQ0FBQyxXQUFXO1lBQ25CLGFBQWEsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU5RCxhQUFhLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFDLENBQUMsRUFBRSxDQUFDLElBQUssT0FBQSxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBOUIsQ0FBOEIsQ0FBQyxDQUFDO1FBRS9FLElBQUksQ0FBQyxhQUFhO2FBQ2IsSUFBSSxDQUFDLEVBQUUsSUFBSSxNQUFBLEVBQUUsSUFBSSxNQUFBLEVBQUUsV0FBVyxhQUFBLEVBQUUsYUFBYSxlQUFBLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUM7YUFDN0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDbkMsSUFBSSxDQUNELEdBQUcsQ0FBQyxVQUFDLElBQVMsSUFBSyxPQUFBLENBQUM7WUFDaEIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQUMsSUFBUyxJQUFLLE9BQUEsdUJBQ3BDLElBQUksS0FDUCxLQUFLLEVBQUUsS0FBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixDQUFDLElBQzdELEVBSHlDLENBR3pDLENBQUM7WUFDSCxZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWE7U0FDbkMsQ0FBQyxFQU5pQixDQU1qQixDQUFDLENBQ047YUFDQSxTQUFTLENBQUMsVUFBQyxJQUFTO1lBQ2pCLEtBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsaUNBQVksR0FBWixVQUFhLElBQVMsRUFBRSxNQUFjLEVBQUUsbUJBQTZCO1FBQXJFLGlCQVNDO1FBUkcsT0FBTyxtQkFBbUI7YUFDckIsR0FBRyxDQUFDLFVBQUMsS0FBVTtZQUNaLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO2dCQUFFLE9BQU8sS0FBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3JFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSTtnQkFDcEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBQ2IsQ0FBQyxDQUFDLEtBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFJLE1BQU0saUJBQWMsQ0FBQyxDQUFDO1FBQzFELENBQUMsQ0FBQzthQUNELElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDOztnQkE3VDRCLGlCQUFpQjtnQkFDckIsZ0JBQWdCOzs7Ozs7OztJQVhoQyxVQUFVO1FBTnRCLFVBQVUsRUFBRTtRQUViOzs7VUFHRTtPQUNXLFVBQVUsQ0F3VXRCO0lBQUQsaUJBQUM7Q0FBQSxBQXhVRCxJQXdVQztTQXhVWSxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tIFwibW9tZW50XCI7XG5pbXBvcnQgeyBGb3JtRmllbGQsIEZpZWxkVHlwZSB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBFcnBMb29rdXBzU2VydmljZSB9IGZyb20gXCIuL2VycC1sb29rdXBzLnNlcnZpY2VcIjtcbuKAi1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyB0YWtlVW50aWwsIG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbuKAi1xuY29uc3QgbW9tZW50ID0gbW9tZW50XztcblxuLyoqIEVudGlkYWRlcyBkZSBxdWUgZGVwZW5kZSAqL1xuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlEZXBlbmRlbmN5IHtcbiAgICAvKiogTm9tZSBkYSBlbnRpZGFkZSBxdWUgZGVwZW5kZSAocGFpKSAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKiogQ2FtcG8gZGEgZW50aWRhZGUgcGFpIHF1ZSBzZXLDoSBjb21wYXJhZG8gKi9cbiAgICBmaWVsZD86IHN0cmluZztcbiAgICAvKiogVmFsb3IgZGEgZW50aWRhZGUgcGFpICovXG4gICAgdmFsdWU6IEZ1bmN0aW9uO1xufVxu4oCLXG4vKiogRmlsdHJvIHBhZHLDo28gYXBsaWNhZG8gZW0gdG9kYXMgcmVxdWlzacOnw7VlcyBkYSBlbnRpZGFkZS4gUG9yIHBhZHLDo28gZmlsdHJhIHJlZ2lzdHJvcyBuw6NvIGV4Y2x1aWRvcyAqL1xuZXhwb3J0IGludGVyZmFjZSBEZWZhdWx0RmlsdGVyIHtcbiAgICAvKiogQ2FtcG8gcXVlIHNlcsOhIGZpbHRyYWRvICovXG4gICAgZmllbGQ6IHN0cmluZyB8IERlZmF1bHRGaWx0ZXI7XG4gICAgLyoqIENvbXBhcmHDp8OjbyBxdWUgc2Vyw6EgYXBsaWNhZGEgbmEgY29uc3VsdGEgKi9cbiAgICBvcGVyYXRvcjogRW51bUxvZ2ljYWxPcGVyYXRvcjtcbiAgICAvKiogVmFsb3JlcyBxdWUgc2Vyw6NvIGJ1c2NhZG9zICovXG4gICAgdmFsdWVzOiBzdHJpbmdbXTtcbn1cblxuLyoqIEZpbHRybyBkaW5hbWljbyBwYXJhIGNvbnN1bHRhcyBtYWlzIGNvbXBsZXhhcyAqL1xuZXhwb3J0IGludGVyZmFjZSBEeW5hbWljRmlsdGVyIHtcbiAgICAvKiogQ2FtcG8gcXVlIHNlcsOhIGZpbHRyYWRvICovXG4gICAgZmllbGQ6IEZ1bmN0aW9uXG4gICAgLyoqIENvbXBhcmHDp8OjbyBxdWUgc2Vyw6EgYXBsaWNhZGEgbmEgY29uc3VsdGEgKi9cbiAgICBvcGVyYXRvcjogRW51bUxvZ2ljYWxPcGVyYXRvcjtcbiAgICAvKiogVmFsb3JlcyBxdWUgc2Vyw6NvIGJ1c2NhZG9zICovXG4gICAgdmFsdWU6IEZ1bmN0aW9uO1xufVxuXG4vKiogRmlsdGVyIFN5c3RlbSBRdWVyeSBPcHRpb24gLSBPcGVyYXRvcnMgc3VwcG9ydGVkIGluIHRoZSBleHByZXNzaW9uIGxhbmd1YWdlICovXG5leHBvcnQgZW51bSBFbnVtTG9naWNhbE9wZXJhdG9yIHtcbiAgICAvKiogRXF1YWwgKEV4OiAvU3VwcGxpZXJzPyRmaWx0ZXI9QWRkcmVzcy9DaXR5IGVxICdSZWRtb25kJykgKi9cbiAgICBFcSA9IFwiZXFcIixcbiAgICAvKiogTm90IGVxdWFsIChFeDogL1N1cHBsaWVycz8kZmlsdGVyPUFkZHJlc3MvQ2l0eSBuZSAnTG9uZG9uJykgKi9cbiAgICBOZSA9IFwibmVcIixcbiAgICAvKiogR3JlYXRlciB0aGFuIChFeDogL1Byb2R1Y3RzPyRmaWx0ZXI9UHJpY2UgZ3QgMjApICovXG4gICAgR3QgPSBcImd0XCIsXG4gICAgLyoqIEdyZWF0ZXIgdGhhbiBvciBlcXVhbCAoRXg6IC9Qcm9kdWN0cz8kZmlsdGVyPVByaWNlIGdlIDEwKSAqL1xuICAgIEdlID0gXCJnZVwiLFxuICAgIC8qKiBMZXNzIHRoYW4gKEV4OiAvUHJvZHVjdHM/JGZpbHRlcj1QcmljZSBsdCAyMCkqL1xuICAgIEx0ID0gXCJsdFwiLFxuICAgIC8qKiBMZXNzIHRoYW4gb3IgZXF1YWwgKEV4OiAvUHJvZHVjdHM/JGZpbHRlcj1QcmljZSBsZSAxMDApKi9cbiAgICBMZSA9IFwibGVcIixcbiAgICAvKiogTG9naWNhbCBhbmRcdCAoRXg6IC9Qcm9kdWN0cz8kZmlsdGVyPVByaWNlIGxlIDIwMCBhbmQgUHJpY2UgZ3QgMy41KSovXG4gICAgQW5kID0gXCJhbmRcIixcbiAgICAvKiogTG9naWNhbCBvciAoRXg6IC9Qcm9kdWN0cz8kZmlsdGVyPVByaWNlIGxlIDMuNSBvciBQcmljZSBndCAyMDApKi9cbiAgICBPciA9IFwib3JcIixcbiAgICAvKiogTG9naWNhbCBuZWdhdGlvbiAoRXg6IC9Qcm9kdWN0cz8kZmlsdGVyPW5vdCBlbmRzd2l0aChEZXNjcmlwdGlvbiwnbWlsaycpKSovXG4gICAgTm90ID0gXCJub3RcIixcbiAgICAvKiogTG9naWNhbCBpcyAoRXg6IC9Qcm9kdWN0cz8kZmlsdGVyPWlkIGlzIG51bGwgKi9cbiAgICBJcyA9IFwiaXNcIixcbiAgICAvKiogTmVnYXRpb24gb2YgbG9naWNhbCBpcyAoRXg6IC9Qcm9kdWN0cz8kZmlsdGVyPWlkIGlzIG5vdCBudWxsICovXG4gICAgSXNOb3QgPSBcImlzIG5vdFwiLFxuICAgIC8qKiBDb250YWlucyBzdHJpbmcgdmFsdWUgKEV4OiAvUHJvZHVjdHM/JGZpbHRlcj1jb250YWluaW5nKGxvd2VyKG5hbWUpLCBsb3dlcignbXkgbmFtZScpKSkgKi9cbiAgICBDb250YWlucyA9IFwiY29udGFpbmluZ1wiXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydE9wdGlvbnMge1xuICAgIGZpZWxkOiBzdHJpbmc7XG4gICAgb3JkZXI6IG51bWJlcjtcbn1cblxuLyoqIFBhcsOibWV0cm9zIHBhcmEgY3VzdG9taXphw6fDtWVzIGRvIGxvb2t1cCAqL1xuZXhwb3J0IGludGVyZmFjZSBMb29rdXBPcHRpb25zIHtcbiAgICAvKiogTm9tZSBkYSBlbnRpZGFkZSAqL1xuICAgIGVudGl0eT86IHN0cmluZztcbiAgICAvKiogTm9tZSBkbyBmb3JtR3JvdXAgKi9cbiAgICBmb3JtR3JvdXA/OiBzdHJpbmc7XG4gICAgLyoqIEZpbHRybyBwYWRyw6NvICovXG4gICAgZGVmYXVsdEZpbHRlcj86IERlZmF1bHRGaWx0ZXJbXTtcbiAgICAvKiogRmlsdHJvIGRpbsOibWljbyAqL1xuICAgIGR5bmFtaWNGaWx0ZXI/OiBEeW5hbWljRmlsdGVyW107XG4gICAgLyoqIENhbXBvcyBkbyBsb29rdXAgKGF1dG9jb21wbGV0ZSkgKi9cbiAgICBsb29rdXBGaWVsZHM/OiBGb3JtRmllbGRbXTtcbiAgICAvKiogQ2FtcG9zIHF1ZSBzZXLDo28gc29saWNpdGFkb3MgbmEgY29uc3VsdGEgKi9cbiAgICBxdWVyeUZpZWxkcz86IHN0cmluZ1tdO1xuICAgIC8qKiBDYW1wb3MgZXhpYmlkb3Mgbm8gZmlsdHJvIGRhIG1vZGFsIGRlIGxpc3RhZ2VtICovXG4gICAgc2VhcmNoRmllbGRzPzogRm9ybUZpZWxkW107XG4gICAgLyoqIENhbXBvcyBleGliaWRvcyBuYSBncmlkIGRhIG1vZGFsIGRlIGxpc3RhZ2VtICovXG4gICAgc2VhcmNoR3JpZEZpZWxkcz86IEZvcm1GaWVsZFtdO1xuICAgIC8qKiBEZWZpbmUgc2UgbyBsb29rdXAgcGVybWl0aXLDoSBtdWx0aSBzZWxlw6fDo28gKi9cbiAgICBtdWx0aXBsZT86IGJvb2xlYW47XG4gICAgLyoqIEVudGlkYWRlcyBkZSBxdWUgZGVwZW5kZSAqL1xuICAgIGVudGl0eURlcGVuZGVuY3k/OiBFbnRpdHlEZXBlbmRlbmN5W107XG4gICAgLyoqIFByZWZpeG8gdXRpbGl6YWRvIHBhcmEgbW9udGFyIG9zIGxhYmVscyAocG9yIHBhZHLDo28gdXRpbGl6YSBkb23DrW5pbyBlIHNlcnZpw6dvKSAqL1xuICAgIHByZWZpeD86IHN0cmluZztcbiAgICAvKiogU3VmaXhvIHV0aWxpemFkbyBwYXJhIG1vbnRhciBvcyBsYWJlbHMgKHBvciBwYWRyw6NvIMOpIHZhemlvKSAqL1xuICAgIHN1ZmZpeD86IHN0cmluZztcbiAgICAvKiogRG9tw61uaW8gKi9cbiAgICBkb21haW4/OiBzdHJpbmc7XG4gICAgLyoqIFNlcnZpw6dvICovXG4gICAgc2VydmljZT86IHN0cmluZztcbiAgICAvKiogRGF0YSBrZXkgKi9cbiAgICBkYXRhS2V5Pzogc3RyaW5nO1xuICAgIC8qKiBDYW1wb3MgcGFyYSBvcmRlbmHDp8OjbyBkbyBsb29rdXAgKGF1dG9jb21wbGV0ZSkqL1xuICAgIGxvb2t1cFNvcnQ/OiBTb3J0T3B0aW9uc1tdO1xuICAgIC8qKiBDYW1wb3MgcGFyYSBhIG9yZGVuYcOnw6NvIGFvIGFicmlyIGEgbW9kYWwgZGUgbGlzdGFnZW0gKi9cbiAgICBzZWFyY2hTb3J0PzogU29ydE9wdGlvbnNbXTtcbn1cblxuQEluamVjdGFibGUoKVxu4oCLXG4vKipcbiAqIEVycCBMb29rdXBzXG4gKiBAY2xhc3MgRXJwTG9va3Vwc1xuKi9cbmV4cG9ydCBjbGFzcyBFcnBMb29rdXBzIHtcbiAgICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuICAgIC8qKlxuICAgICAqIENyaWHDp8OjbyBkZSB1bSBsb29rdXAuXG4gICAgICogQHBhcmFtIGVudGl0eSBOb21lIGRhIGVudGlkYWRlLlxuICAgICAqIEBwYXJhbSBsb29rdXBGaWVsZHMgQ2FtcG9zIGV4aWJpZG9zIG5vIGF1dG9jb21wbGV0ZS5cbiAgICAgKiBAcGFyYW0gc2VhcmNoRmllbGRzIENhbXBvcyBleGliaWRvcyBubyBmaWx0cm8gZGVudHJvIGRhIG1vZGFsLlxuICAgICAqIEBwYXJhbSBzZWFyY2hHcmlkRmllbGRzIENhbXBvcyBleGliaWRvcyBuYSB0YWJlbGEgZGVudHJvIGRhIG1vZGFsLlxuICAgICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBsb29rdXBTZXJ2aWNlOiBFcnBMb29rdXBzU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIGVudGl0eTogc3RyaW5nLFxuICAgICAgICBwcm90ZWN0ZWQgbG9va3VwRmllbGRzOiBGb3JtRmllbGRbXSxcbiAgICAgICAgcHVibGljIHNlYXJjaEZpZWxkczogRm9ybUZpZWxkW10sXG4gICAgICAgIHB1YmxpYyBzZWFyY2hHcmlkRmllbGRzOiBGb3JtRmllbGRbXSxcbiAgICAgICAgcHJvdGVjdGVkIGRvbWFpbjogc3RyaW5nLFxuICAgICAgICBwcm90ZWN0ZWQgc2VydmljZTogc3RyaW5nLFxuICAgICkge1xuICAgICAgICB0aGlzLmVudGl0eSA9IGVudGl0eTtcbiAgICAgICAgdGhpcy5kb21haW4gPSBkb21haW47XG4gICAgICAgIHRoaXMuc2VydmljZSA9IHNlcnZpY2U7XG4gICAgICAgIHRoaXMubG9va3VwRmllbGRzID0gbG9va3VwRmllbGRzIHx8IFtdO1xuICAgICAgICB0aGlzLnNlYXJjaEZpZWxkcyA9IHNlYXJjaEZpZWxkcyB8fCBbXTtcbiAgICAgICAgdGhpcy5zZWFyY2hHcmlkRmllbGRzID0gc2VhcmNoR3JpZEZpZWxkcyB8fCBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbG9va3VwU3VnZ2VzdGlvbnNPYnNlcnZhYmxlID0gbmV3IFN1YmplY3QoKTtcbiAgICBwdWJsaWMgbG9va3VwU2VhcmNoT2JzZXJ2YWJsZSA9IG5ldyBTdWJqZWN0KCk7XG7igItcbiAgICBwdWJsaWMgdG9TbmFrZUNhc2UodmFsdWU6IHN0cmluZyA9IFwiXCIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgvKD86XnxcXC4/KShbQS1aXSkvZywgZnVuY3Rpb24gKHgsIHkpIHtyZXR1cm4gXCJfXCIgKyB5LnRvTG93ZXJDYXNlKCk7IH0pLnJlcGxhY2UoL15fLywgXCJcIik7XG4gICAgfVxu4oCLXG4gICAgcHVibGljIG1vdW50Rm9ybUZpZWxkKGZpZWxkczogYW55LCBwcmVmaXg6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gZmllbGRzLm1hcCgoZmllbGQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgbGV0IHRyYW5zbGF0aW9uS2V5ID0gYCR7cHJlZml4fS5sb29rdXBfJHt0aGlzLnRvU25ha2VDYXNlKHRoaXMuZW50aXR5KX1fJHt0aGlzLnRvU25ha2VDYXNlKGZpZWxkLm5hbWUpfWA7XG4gICAgICAgICAgICBsZXQgbGFiZWwgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHRyYW5zbGF0aW9uS2V5KTtcbiAgICAgICAgICAgIGlmIChsYWJlbCA9PT0gdHJhbnNsYXRpb25LZXkpIHtcbiAgICAgICAgICAgICAgICAvLyBNYW50ZXIgY29tcGF0aWJpbGlkYWRlIGNvbSBvcyBsb29rdXBzIGF0dWFpcyBhdMOpIHRvZG9zIGFqdXN0YXJlbVxuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkLm5hbWUuc3BsaXQoJy4nKS5qb2luKCdfJyk7XG4gICAgICAgICAgICAgICAgdHJhbnNsYXRpb25LZXkgPSBgJHtwcmVmaXh9Lmxvb2t1cF8ke3RoaXMudG9TbmFrZUNhc2UodGhpcy5lbnRpdHkpfV8ke3RoaXMudG9TbmFrZUNhc2UoZmllbGROYW1lKX1gO1xuICAgICAgICAgICAgICAgIGxhYmVsID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0cmFuc2xhdGlvbktleSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBuZXcgRm9ybUZpZWxkKHtcbiAgICAgICAgICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgICAgICAgICBsYWJlbFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbuKAi1xuICAgIHB1YmxpYyBtb3VudERlZmF1bHRGaWx0ZXIoZGVmYXVsdEZpbHRlcjogRGVmYXVsdEZpbHRlcltdID0gW3tmaWVsZDogXCJleGNsdWlkb1wiLCBvcGVyYXRvcjogRW51bUxvZ2ljYWxPcGVyYXRvci5FcSwgdmFsdWVzOiBbXCJmYWxzZVwiXX1dKSB7XG4gICAgICAgIHJldHVybiBkZWZhdWx0RmlsdGVyLm1hcChmaWx0ZXIgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIFwiKFwiICsgZmlsdGVyLnZhbHVlcy5tYXAodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmaWx0ZXIub3BlcmF0b3IgPT0gRW51bUxvZ2ljYWxPcGVyYXRvci5Db250YWlucylcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGBjb250YWluaW5nKGxvd2VyKCR7ZmlsdGVyLmZpZWxkfSksIGxvd2VyKCcke3ZhbHVlfScpKWA7XG5cbiAgICAgICAgICAgICAgICBpZiAoKGZpbHRlci5vcGVyYXRvciA9PSBFbnVtTG9naWNhbE9wZXJhdG9yLklzTm90IHx8IGZpbHRlci5vcGVyYXRvciA9PSBFbnVtTG9naWNhbE9wZXJhdG9yLklzKSAmJiAhdmFsdWUpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmaWx0ZXIuZmllbGR9ICR7ZmlsdGVyLm9wZXJhdG9yfSBudWxsYDtcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7ZmlsdGVyLmZpZWxkfSAke2ZpbHRlci5vcGVyYXRvcn0gJyR7dmFsdWV9J2A7XG4gICAgICAgICAgICB9KS5qb2luKFwiIG9yIFwiKSArIFwiKVwiO1xuICAgICAgICB9KS5qb2luKFwiIGFuZCBcIik7XG4gICAgfVxuXG4gICAgcHVibGljIG1vdW50RHluYW1pY0ZpbHRlcihkeW5hbWljRmlsdGVyOiBEeW5hbWljRmlsdGVyW10pIHtcbiAgICAgICAgaWYgKGR5bmFtaWNGaWx0ZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBkeW5hbWljRmlsdGVyLm1hcChmaWx0ZXIgPT4ge1xuICAgICAgICAgICAgICAgIGxldCB2YWx1ZXMgPSBmaWx0ZXIudmFsdWUoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWVsZCA9IGZpbHRlci5maWVsZCgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG9wZXJhdG9yID0gZmlsdGVyLm9wZXJhdG9yO1xuXG4gICAgICAgICAgICAgICAgaWYgKCEodmFsdWVzIGluc3RhbmNlb2YgQXJyYXkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlcyA9IFt2YWx1ZXNdO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBcIihcIiArIHZhbHVlcy5tYXAoKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wZXJhdG9yID09IEVudW1Mb2dpY2FsT3BlcmF0b3IuQ29udGFpbnMpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYGNvbnRhaW5pbmcobG93ZXIoJHtmaWVsZH0pLCBsb3dlcignJHt2YWx1ZX0nKSlgO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICgob3BlcmF0b3IgPT0gRW51bUxvZ2ljYWxPcGVyYXRvci5Jc05vdCB8fCBvcGVyYXRvciA9PSBFbnVtTG9naWNhbE9wZXJhdG9yLklzKSAmJiAhdmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7ZmllbGR9ICR7b3BlcmF0b3J9IG51bGxgO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmaWVsZH0gJHtvcGVyYXRvcn0gJyR7dmFsdWV9J2A7XG4gICAgICAgICAgICAgICAgfSkuam9pbihcIiBvciBcIikgKyBcIilcIjtcbiAgICAgICAgICAgIH0pLmpvaW4oXCIgYW5kIFwiKTtcbiAgICAgICAgfVxuICAgIH1cbuKAi1xuICAgIHB1YmxpYyBtb3VudEZpbHRlclF1ZXJ5KHZhbHVlOiBzdHJpbmcsIGxvb2t1cEZpZWxkczogRm9ybUZpZWxkW10sIGRlZmF1bHRGaWx0ZXI/OiBEZWZhdWx0RmlsdGVyW10sIGR5bmFtaWNGaWx0ZXI/OiBEeW5hbWljRmlsdGVyW10pIHtcbiAgICAgICAgbGV0IGZpbHRlclF1ZXJ5OiBzdHJpbmc7XG4gICAgICAgIGlmIChOdW1iZXIuaXNJbnRlZ2VyKE51bWJlcih2YWx1ZSkpKSB7XG4gICAgICAgICAgICBmaWx0ZXJRdWVyeSA9IGxvb2t1cEZpZWxkcy5tYXAoKGZpZWxkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gRmllbGRUeXBlLlN0cmluZykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYChjb250YWluaW5nKGxvd2VyKCR7ZmllbGQubmFtZX0pLCBsb3dlcignJHt2YWx1ZX0nKSkpYDtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGZpZWxkLnR5cGUgPT09IEZpZWxkVHlwZS5JbnRlZ2VyKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNhbml0aXplZFZhbHVlID0gdmFsdWUudG9TdHJpbmcoKS5yZXBsYWNlKC9cXEQvZywgXCJcIik7XG4gICAgICAgICAgICAgICAgICAgIGlmICghc2FuaXRpemVkVmFsdWUpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCgke2ZpZWxkLm5hbWV9IGVxICcke3Nhbml0aXplZFZhbHVlfScpYDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCgke2ZpZWxkLm5hbWV9IGVxICcke3ZhbHVlfScpYDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmZpbHRlcihmaWx0ZXIgPT4gISFmaWx0ZXIpXG4gICAgICAgICAgICAuam9pbihcIiBvciBcIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmaWx0ZXJRdWVyeSA9IGxvb2t1cEZpZWxkc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoKGZpZWxkOiBhbnkpID0+IGZpZWxkLnR5cGUgPT09IEZpZWxkVHlwZS5TdHJpbmcpXG4gICAgICAgICAgICAgICAgLm1hcCgoZmllbGQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYChjb250YWluaW5nKGxvd2VyKCR7ZmllbGQubmFtZX0pLCBsb3dlcignJHt2YWx1ZS5yZXBsYWNlKC9cXFxcL2csIFwiXCIpLnJlcGxhY2UoLycvZywgXCJcXFxcJ1wiKX0nKSkpYDtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5qb2luKFwiIG9yIFwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRlZmF1bHRGaWx0ZXJRdWVyeSA9IHRoaXMubW91bnREZWZhdWx0RmlsdGVyKGRlZmF1bHRGaWx0ZXIpO1xuICAgICAgICBpZiAoZGVmYXVsdEZpbHRlclF1ZXJ5KVxuICAgICAgICAgICAgZmlsdGVyUXVlcnkgPSBgKCgke2RlZmF1bHRGaWx0ZXJRdWVyeX0pIGFuZCAoJHtmaWx0ZXJRdWVyeX0pKWA7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIGZpbHRlclF1ZXJ5ID0gXCIoXCIgKyBmaWx0ZXJRdWVyeSArIFwiKVwiO1xu4oCLXG4gICAgICAgIGNvbnN0IGR5bmFtaWNGaWx0ZXJRdWVyeSA9IHRoaXMubW91bnREeW5hbWljRmlsdGVyKGR5bmFtaWNGaWx0ZXIpO1xuICAgICAgICBpZiAoZHluYW1pY0ZpbHRlclF1ZXJ5KVxuICAgICAgICAgICAgZmlsdGVyUXVlcnkgPSBgKCgke2R5bmFtaWNGaWx0ZXJRdWVyeX0pIGFuZCAoJHtmaWx0ZXJRdWVyeX0pKWA7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIGZpbHRlclF1ZXJ5ID0gXCIoXCIgKyBmaWx0ZXJRdWVyeSArIFwiKVwiO1xuXG4gICAgICAgIHJldHVybiBmaWx0ZXJRdWVyeTtcbiAgICB9XG7igItcbiAgICBwdWJsaWMgbW91bnRFbnVtRmlsdGVyKG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSwgbXVsdGlwbGU6IGJvb2xlYW4pIHtcbiAgICAgICAgcmV0dXJuIG11bHRpcGxlID8gYCgke3ZhbHVlLm1hcCgoc2VsZWN0ZWQ6IGFueSkgPT4gYCR7bmFtZX0gZXEgJyR7c2VsZWN0ZWR9J2ApLmpvaW4oXCIgb3IgXCIpfSlgIDogYCgke25hbWV9IGVxICcke3ZhbHVlfScpYDtcbiAgICB9XG7igItcbiAgICAvKiogTcOpdG9kbyByZXNwb25zw6F2ZWwgcG9yIG1vbnRhciBhcyBvcMOnw7VlcyBwYWRyw7VlcyBwYXJhIG8gbG9va3VwIGRvIER5bmFtaWMgRm9ybSAqL1xuICAgIHB1YmxpYyBtb3VudE9wdGlvbnMob3B0aW9uczogTG9va3VwT3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IG9wdGlvbnMucHJlZml4XG4gICAgICAgICAgICA/IG9wdGlvbnMucHJlZml4XG4gICAgICAgICAgICA6IChvcHRpb25zLmRvbWFpbiAmJiBvcHRpb25zLnNlcnZpY2UpXG4gICAgICAgICAgICAgICAgPyBgJHtvcHRpb25zLmRvbWFpbn0uJHtvcHRpb25zLnNlcnZpY2V9YFxuICAgICAgICAgICAgICAgIDogYCR7dGhpcy5kb21haW59LiR7dGhpcy5zZXJ2aWNlfWA7XG5cbiAgICAgICAgY29uc3Qgc3VmZml4ID0gb3B0aW9ucy5zdWZmaXggPyBgXyR7b3B0aW9ucy5zdWZmaXh9YCA6IFwiXCI7XG5cblxuICAgICAgICBvcHRpb25zLmxvb2t1cEZpZWxkcyA9IG9wdGlvbnMubG9va3VwRmllbGRzICYmIG9wdGlvbnMubG9va3VwRmllbGRzLmxlbmd0aFxuICAgICAgICAgICAgPyBvcHRpb25zLmxvb2t1cEZpZWxkc1xuICAgICAgICAgICAgOiB0aGlzLmxvb2t1cEZpZWxkcztcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmFtZTogb3B0aW9ucy5mb3JtR3JvdXAgfHwgdGhpcy5lbnRpdHksXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHtwcmVmaXh9Lmxvb2t1cF8ke3RoaXMudG9TbmFrZUNhc2Uob3B0aW9ucy5lbnRpdHkpIHx8IHRoaXMudG9TbmFrZUNhc2UodGhpcy5lbnRpdHkpfSR7c3VmZml4fWApLFxuICAgICAgICAgICAgc2VhcmNoVGl0bGU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7cHJlZml4fS5sb29rdXBfJHt0aGlzLnRvU25ha2VDYXNlKG9wdGlvbnMuZW50aXR5KSB8fFxuICAgICAgICAgICAgICAgIHRoaXMudG9TbmFrZUNhc2UodGhpcy5lbnRpdHkpfV9zZWFyY2hfdGl0bGVgKSxcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5Mb29rdXAsXG4gICAgICAgICAgICBtdWx0aXBsZTogb3B0aW9ucy5tdWx0aXBsZSA9PT0gZmFsc2UgPyBmYWxzZSA6IHRydWUsXG4gICAgICAgICAgICBkYXRhS2V5OiBvcHRpb25zLmRhdGFLZXkgfHwgXCJpZFwiLFxuICAgICAgICAgICAgbG9va3VwRGlzcGxheUZpZWxkOiBcImxhYmVsXCIsXG4gICAgICAgICAgICBzZWFyY2hFbXB0eVRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3ByZWZpeH0ubm90aGluZ19mb3VuZGApLFxuICAgICAgICAgICAgZmlsdGVyTGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7cHJlZml4fS5maWx0ZXJgKSxcbiAgICAgICAgICAgIGNsZWFyTGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7cHJlZml4fS5jbGVhcmApLFxuICAgICAgICAgICAgY2FuY2VsTGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7cHJlZml4fS5jYW5jZWxgKSxcbiAgICAgICAgICAgIHNlbGVjdExhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3ByZWZpeH0uc2VsZWN0YCksXG4gICAgICAgICAgICBzZWFyY2hGaWVsZHM6IG9wdGlvbnMuc2VhcmNoRmllbGRzID8gdGhpcy5tb3VudEZvcm1GaWVsZChvcHRpb25zLnNlYXJjaEZpZWxkcywgcHJlZml4KSA6XG4gICAgICAgICAgICAgICAgdGhpcy5tb3VudEZvcm1GaWVsZCh0aGlzLnNlYXJjaEZpZWxkcywgcHJlZml4KSxcbiAgICAgICAgICAgIHNlYXJjaEdyaWRGaWVsZHM6IG9wdGlvbnMuc2VhcmNoR3JpZEZpZWxkcyA/IHRoaXMubW91bnRGb3JtRmllbGQob3B0aW9ucy5zZWFyY2hHcmlkRmllbGRzLCBwcmVmaXgpIDpcbiAgICAgICAgICAgICAgICB0aGlzLm1vdW50Rm9ybUZpZWxkKHRoaXMuc2VhcmNoR3JpZEZpZWxkcywgcHJlZml4KSxcbiAgICAgICAgICAgIHN1Z2dlc3Rpb25zT2JzZXJ2YWJsZTogdGhpcy5sb29rdXBTdWdnZXN0aW9uc09ic2VydmFibGUsXG4gICAgICAgICAgICBzZWFyY2hPYnNlcnZhYmxlOiB0aGlzLmxvb2t1cFNlYXJjaE9ic2VydmFibGUsXG4gICAgICAgICAgICBvbkxvb2t1cFJlcXVlc3Q6ICh2YWx1ZTogc3RyaW5nKSA9PiB0aGlzLm9uTG9va3VwUmVxdWVzdCh2YWx1ZSwgcHJlZml4LCBvcHRpb25zKSxcbiAgICAgICAgICAgIG9uU2VhcmNoUmVxdWVzdDogKGV2ZW50OiBhbnkpID0+IHRoaXMub25TZWFyY2hSZXF1ZXN0KGV2ZW50LCBwcmVmaXgsIG9wdGlvbnMpXG4gICAgICAgIH07XG4gICAgfVxu4oCLXG4gICAgcHVibGljIGdldFByb3Aob2JqOiBhbnksIHBhdGg6IGFueSwgcHJlZml4OiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHBhdGguc3BsaXQoXCIuXCIpLnJlZHVjZSgocmVzdWx0OiBhbnksIHByb3A6IGFueSkgPT4gKHJlc3VsdFtwcm9wXSA9PT0gdW5kZWZpbmVkIHx8IHJlc3VsdFtwcm9wXSA9PT0gbnVsbFxuICAgICAgICAgICAgPyB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3ByZWZpeH0uZW1wdHlfbGFiZWxgKVxuICAgICAgICAgICAgOiByZXN1bHRbcHJvcF0pLCBvYmopO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYXNWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiAhdmFsdWUubGVuZ3RoKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICByZXR1cm4gISF2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbW91bnRFbnRpdHlGaWx0ZXIoZW50aXR5OiBFbnRpdHlEZXBlbmRlbmN5LCB2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGVudGl0eS5maWVsZFxuICAgICAgICAgICAgPyBgKCR7ZW50aXR5Lm5hbWV9LiR7ZW50aXR5LmZpZWxkfSBlcSAnJHt2YWx1ZVtlbnRpdHkuZmllbGRdfScpYFxuICAgICAgICAgICAgOiBgKCR7ZW50aXR5Lm5hbWV9IGVxICcke3ZhbHVlW2VudGl0eS5uYW1lXX0nKWA7XG4gICAgfVxuXG4gICAgcHVibGljIG9uTG9va3VwUmVxdWVzdCh2YWx1ZTogc3RyaW5nLCBwcmVmaXg6IHN0cmluZywgb3B0aW9ucz86IExvb2t1cE9wdGlvbnMpIHtcbiAgICAgICAgY29uc3Qgc29ydCA9IG9wdGlvbnMubG9va3VwU29ydDtcbiAgICAgICAgY29uc3QgbG9va3VwRGlzcGxheUZpZWxkcyA9IG9wdGlvbnMubG9va3VwRmllbGRzLm1hcChmaWVsZCA9PiBmaWVsZC5uYW1lKTtcbiAgICAgICAgbGV0IGZpbHRlclF1ZXJ5ID0gdGhpcy5tb3VudEZpbHRlclF1ZXJ5KHZhbHVlLCBvcHRpb25zLmxvb2t1cEZpZWxkcywgb3B0aW9ucy5kZWZhdWx0RmlsdGVyLCBvcHRpb25zLmR5bmFtaWNGaWx0ZXIpO1xuXG4gICAgICAgIGxldCBkaXNwbGF5RmllbGRzID0gbG9va3VwRGlzcGxheUZpZWxkcy5jb25jYXQoIChvcHRpb25zLnNlYXJjaEdyaWRGaWVsZHMgfHwgdGhpcy5zZWFyY2hHcmlkRmllbGRzKVxuICAgICAgICAgICAgLm1hcCgoeyBuYW1lIH0pID0+IG5hbWUpIHx8IFtdKTtcbiAgICAgICAgaWYgKG9wdGlvbnMucXVlcnlGaWVsZHMpXG4gICAgICAgICAgICBkaXNwbGF5RmllbGRzID0gZGlzcGxheUZpZWxkcy5jb25jYXQob3B0aW9ucy5xdWVyeUZpZWxkcyk7XG4gICAgICAgIGRpc3BsYXlGaWVsZHMgPSBkaXNwbGF5RmllbGRzLmZpbHRlcigodiwgaSkgPT4gZGlzcGxheUZpZWxkcy5pbmRleE9mKHYpID09PSBpKTtcblxuICAgICAgICBpZiAob3B0aW9ucy5lbnRpdHlEZXBlbmRlbmN5KSB7XG4gICAgICAgICAgICBjb25zdCBlbnRpdHlGaWx0ZXIgPSBvcHRpb25zLmVudGl0eURlcGVuZGVuY3kubWFwKChlbnRpdHk6IEVudGl0eURlcGVuZGVuY3kpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGVudGl0eS52YWx1ZSgpO1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5oYXNWYWx1ZShuZXdWYWx1ZSkpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcblxuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG5ld1ZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCgke25ld1ZhbHVlLm1hcCgodmFsOiBhbnkpID0+IHRoaXMubW91bnRFbnRpdHlGaWx0ZXIoZW50aXR5LCB2YWwpKS5qb2luKFwiIG9yIFwiKX0pYDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCgke3RoaXMubW91bnRFbnRpdHlGaWx0ZXIoZW50aXR5LCBuZXdWYWx1ZSl9KWA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkuZmlsdGVyKGZpbHRlciA9PiAhIWZpbHRlcikuam9pbiAoXCIgYW5kIFwiKTtcbiAgICAgICAgICAgIGlmIChlbnRpdHlGaWx0ZXIpXG4gICAgICAgICAgICAgICAgZmlsdGVyUXVlcnkgPyBmaWx0ZXJRdWVyeSArPSBgIGFuZCAoJHtlbnRpdHlGaWx0ZXJ9KWAgOiBmaWx0ZXJRdWVyeSA9IGVudGl0eUZpbHRlcjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvb2t1cFNlcnZpY2VcbiAgICAgICAgICAgIC5saXN0KHtcbiAgICAgICAgICAgICAgICBzb3J0LFxuICAgICAgICAgICAgICAgIGZpbHRlclF1ZXJ5LFxuICAgICAgICAgICAgICAgIGRpc3BsYXlGaWVsZHNcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0aGlzLmVudGl0eSxcbiAgICAgICAgICAgIG9wdGlvbnMuZG9tYWluIHx8IHRoaXMuZG9tYWluLFxuICAgICAgICAgICAgb3B0aW9ucy5zZXJ2aWNlIHx8IHRoaXMuc2VydmljZSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChsaXN0OiBhbnkpID0+XG4gICAgICAgICAgICAgICAgICAgIGxpc3QuY29udGVudHMubWFwKChpdGVtOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuZ2V0SXRlbUxhYmVsKGl0ZW0sIHByZWZpeCwgbG9va3VwRGlzcGxheUZpZWxkcylcbiAgICAgICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb29rdXBTdWdnZXN0aW9uc09ic2VydmFibGUubmV4dChkYXRhKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbuKAi1xuICAgIHB1YmxpYyBvblNlYXJjaFJlcXVlc3QoZXZlbnQ6IGFueSwgcHJlZml4OiBzdHJpbmcsIG9wdGlvbnM/OiBMb29rdXBPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHsgZmlyc3QsIHJvd3MsIG11bHRpU29ydE1ldGEsIGZpbHRlckRhdGEgfSA9IGV2ZW50O1xuICAgICAgICBjb25zdCBwYWdlID0gZmlyc3QgLyByb3dzO1xuICAgICAgICBjb25zdCBzb3J0ID0gbXVsdGlTb3J0TWV0YSA/IG11bHRpU29ydE1ldGEgOiBvcHRpb25zLnNlYXJjaFNvcnQ7XG4gICAgICAgIGNvbnN0IGxvb2t1cERpc3BsYXlGaWVsZHMgPSBvcHRpb25zLmxvb2t1cEZpZWxkcy5tYXAoZmllbGQgPT4gZmllbGQubmFtZSk7XG5cbiAgICAgICAgbGV0IGZpbHRlclF1ZXJ5ID0gKG9wdGlvbnMuc2VhcmNoRmllbGRzIHx8IHRoaXMuc2VhcmNoRmllbGRzKVxuICAgICAgICAgICAgLmZpbHRlcigoeyBuYW1lIH0pID0+IGZpbHRlckRhdGFbbmFtZV0gIT0gdW5kZWZpbmVkICYmIGZpbHRlckRhdGFbbmFtZV0gIT0gXCJcIilcbiAgICAgICAgICAgIC5tYXAoKHsgbmFtZSwgdHlwZSwgbXVsdGlwbGUgfSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gZmlsdGVyRGF0YVtuYW1lXTtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09IFwibnVtYmVyXCIpIHJldHVybiBgJHtuYW1lfSBlcSAke3ZhbHVlfWA7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAodHlwZSA9PSBGaWVsZFR5cGUuRGF0ZSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke21vbWVudCh2YWx1ZSkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKX0nYDtcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh0eXBlID09IEZpZWxkVHlwZS5UaW1lKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7bW9tZW50KHZhbHVlKS5mb3JtYXQoXCJISDptbTpzc1wiKX0nYDtcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh0eXBlID09IEZpZWxkVHlwZS5EYXRlVGltZSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke21vbWVudCh2YWx1ZSkuZm9ybWF0KCl9J2A7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAodHlwZSA9PSBGaWVsZFR5cGUuRW51bSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubW91bnRFbnVtRmlsdGVyKG5hbWUsIHZhbHVlLCBtdWx0aXBsZSk7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAodHlwZSA9PSBGaWVsZFR5cGUuU3RyaW5nKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYChjb250YWluaW5nKGxvd2VyKCR7bmFtZX0pLCBsb3dlcignJHt2YWx1ZX0nKSkpYDtcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh0eXBlID09PSBGaWVsZFR5cGUuTG9va3VwKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCgke25hbWV9IGVxICcke3ZhbHVlLmlkfScpYDtcbiAgICAgICAgICAgICAgICBlbHNlIHJldHVybiBgJHtuYW1lfSBlcSAnJHt2YWx1ZX0nYDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuam9pbihcIiBhbmQgXCIpO1xu4oCLXG4gICAgICAgIGlmIChvcHRpb25zLmVudGl0eURlcGVuZGVuY3kpIHtcbiAgICAgICAgICAgIGNvbnN0IGVudGl0eUZpbHRlciA9IG9wdGlvbnMuZW50aXR5RGVwZW5kZW5jeS5tYXAoKGVudGl0eTogRW50aXR5RGVwZW5kZW5jeSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gZW50aXR5LnZhbHVlKCk7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmhhc1ZhbHVlKHZhbHVlKSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCgke3ZhbHVlLm1hcCgodmFsOiBhbnkpID0+IHRoaXMubW91bnRFbnRpdHlGaWx0ZXIoZW50aXR5LCB2YWwpKS5qb2luKFwiIG9yIFwiKX0pYDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCgke3RoaXMubW91bnRFbnRpdHlGaWx0ZXIoZW50aXR5LCB2YWx1ZSl9KWA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkuZmlsdGVyKGZpbHRlciA9PiAhIWZpbHRlcikuam9pbiAoXCIgYW5kIFwiKTtcbiAgICAgICAgICAgIGlmIChlbnRpdHlGaWx0ZXIpXG4gICAgICAgICAgICAgICAgZmlsdGVyUXVlcnkgPyBmaWx0ZXJRdWVyeSArPSBgIGFuZCAoJHtlbnRpdHlGaWx0ZXJ9KWAgOiBmaWx0ZXJRdWVyeSA9IGVudGl0eUZpbHRlcjtcbiAgICAgICAgfVxu4oCLXG4gICAgICAgIGNvbnN0IGRlZmF1bHRGaWx0ZXJRdWVyeSA9IHRoaXMubW91bnREZWZhdWx0RmlsdGVyKG9wdGlvbnMuZGVmYXVsdEZpbHRlcik7XG5cbiAgICAgICAgaWYgKGRlZmF1bHRGaWx0ZXJRdWVyeSlcbiAgICAgICAgICAgIGZpbHRlclF1ZXJ5ID8gZmlsdGVyUXVlcnkgKz0gYCBhbmQgKCR7ZGVmYXVsdEZpbHRlclF1ZXJ5fSlgIDogZmlsdGVyUXVlcnkgPSBgKCR7ZGVmYXVsdEZpbHRlclF1ZXJ5fSlgO1xuXG4gICAgICAgIGNvbnN0IGR5bmFtaWNGaWx0ZXJRdWVyeSA9IHRoaXMubW91bnREeW5hbWljRmlsdGVyKG9wdGlvbnMuZHluYW1pY0ZpbHRlcik7XG5cbiAgICAgICAgaWYgKGR5bmFtaWNGaWx0ZXJRdWVyeSlcbiAgICAgICAgICAgIGZpbHRlclF1ZXJ5ID8gZmlsdGVyUXVlcnkgKz0gYCBhbmQgKCR7ZHluYW1pY0ZpbHRlclF1ZXJ5fSlgIDogZmlsdGVyUXVlcnkgPSBgKCR7ZHluYW1pY0ZpbHRlclF1ZXJ5fSlgO1xuXG4gICAgICAgIGxldCBkaXNwbGF5RmllbGRzID0gbG9va3VwRGlzcGxheUZpZWxkcy5jb25jYXQoKG9wdGlvbnMuc2VhcmNoR3JpZEZpZWxkcyB8fCB0aGlzLnNlYXJjaEdyaWRGaWVsZHMpXG4gICAgICAgICAgICAgICAgLmNvbmNhdChvcHRpb25zLnNlYXJjaEdyaWRGaWVsZHMgfHwgW10pXG4gICAgICAgICAgICAgICAgLm1hcCgoeyBuYW1lIH0pID0+IG5hbWUpIHx8IFtdKTtcblxuICAgICAgICBpZiAob3B0aW9ucy5xdWVyeUZpZWxkcylcbiAgICAgICAgICAgIGRpc3BsYXlGaWVsZHMgPSBkaXNwbGF5RmllbGRzLmNvbmNhdChvcHRpb25zLnF1ZXJ5RmllbGRzKTtcblxuICAgICAgICBkaXNwbGF5RmllbGRzID0gZGlzcGxheUZpZWxkcy5maWx0ZXIoKHYsIGkpID0+IGRpc3BsYXlGaWVsZHMuaW5kZXhPZih2KSA9PT0gaSk7XG5cbiAgICAgICAgdGhpcy5sb29rdXBTZXJ2aWNlXG4gICAgICAgICAgICAubGlzdCh7IHBhZ2UsIHNvcnQsIGZpbHRlclF1ZXJ5LCBkaXNwbGF5RmllbGRzIH0sIHRoaXMuZW50aXR5LCBvcHRpb25zLmRvbWFpbiB8fCB0aGlzLmRvbWFpbiwgb3B0aW9ucy5zZXJ2aWNlIHx8IHRoaXMuc2VydmljZSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChsaXN0OiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIGdyaWREYXRhOiBsaXN0LmNvbnRlbnRzLm1hcCgoaXRlbTogYW55KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmdldEl0ZW1MYWJlbChpdGVtLCBwcmVmaXgsIGxvb2t1cERpc3BsYXlGaWVsZHMpXG4gICAgICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgICAgICAgdG90YWxSZWNvcmRzOiBsaXN0LnRvdGFsRWxlbWVudHNcbiAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9va3VwU2VhcmNoT2JzZXJ2YWJsZS5uZXh0KGRhdGEpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0SXRlbUxhYmVsKGl0ZW06IGFueSwgcHJlZml4OiBzdHJpbmcsIGxvb2t1cERpc3BsYXlGaWVsZHM6IHN0cmluZ1tdKSB7XG4gICAgICAgIHJldHVybiBsb29rdXBEaXNwbGF5RmllbGRzXG4gICAgICAgICAgICAubWFwKChmaWVsZDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZpZWxkLmluZGV4T2YoXCIuXCIpID4gMCkgcmV0dXJuIHRoaXMuZ2V0UHJvcChpdGVtLCBmaWVsZCwgcHJlZml4KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbVtmaWVsZF0gIT09IHVuZGVmaW5lZCAmJiBpdGVtW2ZpZWxkXSAhPT0gbnVsbFxuICAgICAgICAgICAgICAgICAgICA/IGl0ZW1bZmllbGRdXG4gICAgICAgICAgICAgICAgICAgIDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHtwcmVmaXh9LmVtcHR5X2xhYmVsYCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmpvaW4oXCIgLSBcIik7XG4gICAgfVxufVxuIl19