@eo-sdk/client 8.16.1 → 9.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/eo-framework/actions/actions/update-resubmission-action/update-resubmission-action.d.ts +1 -2
- package/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.d.ts +4 -2
- package/app/eo-framework/object-details/object-history/object-history.component.d.ts +1 -0
- package/app/eo-framework/result-list/result-list.component.d.ts +2 -0
- package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js +4 -1
- package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js.map +1 -1
- package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js +2 -2
- package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js.map +1 -1
- package/bundles/eo-sdk-client.umd.js +46 -24
- package/bundles/eo-sdk-client.umd.js.map +1 -1
- package/bundles/eo-sdk-client.umd.min.js +1 -1
- package/bundles/eo-sdk-client.umd.min.js.map +1 -1
- package/eo-sdk-client.metadata.json +1 -1
- package/esm2015/app/eo-client/about-state/about-state.component.js +3 -3
- package/esm2015/app/eo-framework/actions/actions/update-resubmission-action/update-resubmission-action.js +2 -3
- package/esm2015/app/eo-framework/app-shell/app-bar/app-bar.component.js +3 -2
- package/esm2015/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.js +9 -3
- package/esm2015/app/eo-framework/media/media.component.js +19 -14
- package/esm2015/app/eo-framework/object-details/object-history/object-history.component.js +4 -4
- package/esm2015/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.js +2 -2
- package/esm2015/app/eo-framework/result-list/result-list.component.js +13 -2
- package/esm2015/projects/eo-sdk/core/lib/service/auth/auth.service.js +2 -2
- package/esm2015/projects/eo-sdk/core/lib/service/search/search-query.model.js +4 -1
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js +4 -1
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js.map +1 -1
- package/fesm2015/eo-sdk-client.js +46 -24
- package/fesm2015/eo-sdk-client.js.map +1 -1
- package/package.json +2 -2
- package/projects/eo-sdk/core/eo-sdk-client-projects-eo-sdk-core.metadata.json +1 -1
- package/projects/eo-sdk/core/lib/service/search/search-query.model.d.ts +1 -0
- package/projects/eo-sdk/core/package.json +1 -1
- package/proxy.config.json +5 -0
- package/scss/_main.scss +1 -0
- package/styles.css +2 -1
- package/assets/_default/api/compare/index.html +0 -1
- package/assets/_default/api/error/index.html +0 -1
- package/assets/_default/api/img/index.html +0 -1
- package/assets/_default/api/mail/index.html +0 -1
- package/assets/_default/api/monaco/index.html +0 -1
- package/assets/_default/api/monaco/monaco-editor/min/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
- package/assets/_default/api/monaco/monaco-editor/min/vs/base/worker/workerMain.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/base/worker/workerMain.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/abap/abap.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/abap/abap.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/apex/apex.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/apex/apex.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/azcli/azcli.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/azcli/azcli.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/bat/bat.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/bat/bat.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/bicep/bicep.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/bicep/bicep.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/cameligo/cameligo.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/cameligo/cameligo.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/clojure/clojure.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/clojure/clojure.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/coffee/coffee.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/coffee/coffee.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/cpp/cpp.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/cpp/cpp.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/csharp/csharp.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/csharp/csharp.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/csp/csp.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/csp/csp.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/css/css.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/css/css.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/dart/dart.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/dart/dart.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/dockerfile/dockerfile.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/dockerfile/dockerfile.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/ecl/ecl.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/ecl/ecl.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/elixir/elixir.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/elixir/elixir.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/flow9/flow9.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/flow9/flow9.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/fsharp/fsharp.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/fsharp/fsharp.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/go/go.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/go/go.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/graphql/graphql.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/graphql/graphql.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/handlebars/handlebars.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/handlebars/handlebars.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/hcl/hcl.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/hcl/hcl.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/html/html.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/html/html.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/ini/ini.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/ini/ini.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/java/java.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/java/java.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/javascript/javascript.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/javascript/javascript.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/julia/julia.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/julia/julia.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/kotlin/kotlin.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/kotlin/kotlin.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/less/less.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/less/less.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/lexon/lexon.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/lexon/lexon.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/liquid/liquid.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/liquid/liquid.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/lua/lua.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/lua/lua.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/m3/m3.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/m3/m3.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/markdown/markdown.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/markdown/markdown.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/mips/mips.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/mips/mips.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/msdax/msdax.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/msdax/msdax.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/mysql/mysql.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/mysql/mysql.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/objective-c/objective-c.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/objective-c/objective-c.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/pascal/pascal.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/pascal/pascal.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/pascaligo/pascaligo.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/pascaligo/pascaligo.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/perl/perl.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/perl/perl.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/pgsql/pgsql.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/pgsql/pgsql.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/php/php.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/php/php.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/postiats/postiats.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/postiats/postiats.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/powerquery/powerquery.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/powerquery/powerquery.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/powershell/powershell.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/powershell/powershell.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/protobuf/protobuf.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/protobuf/protobuf.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/pug/pug.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/pug/pug.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/python/python.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/python/python.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/qsharp/qsharp.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/qsharp/qsharp.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/r/r.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/r/r.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/razor/razor.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/razor/razor.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/redis/redis.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/redis/redis.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/redshift/redshift.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/redshift/redshift.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/restructuredtext/restructuredtext.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/restructuredtext/restructuredtext.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/ruby/ruby.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/ruby/ruby.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/rust/rust.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/rust/rust.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/sb/sb.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/sb/sb.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/scala/scala.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/scala/scala.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/scheme/scheme.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/scheme/scheme.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/scss/scss.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/scss/scss.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/shell/shell.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/shell/shell.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/solidity/solidity.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/solidity/solidity.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/sophia/sophia.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/sophia/sophia.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/sparql/sparql.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/sparql/sparql.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/sql/sql.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/sql/sql.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/st/st.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/st/st.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/swift/swift.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/swift/swift.js.LICENSE.txt +0 -10
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/systemverilog/systemverilog.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/systemverilog/systemverilog.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/tcl/tcl.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/tcl/tcl.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/twig/twig.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/twig/twig.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/typescript/typescript.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/typescript/typescript.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/vb/vb.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/vb/vb.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/xml/xml.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/xml/xml.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/yaml/yaml.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/basic-languages/yaml/yaml.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/editor/editor.main.css +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/editor/editor.main.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/editor/editor.main.js.LICENSE.txt +0 -43
- package/assets/_default/api/monaco/monaco-editor/min/vs/editor/editor.main.nls.de.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/editor/editor.main.nls.de.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/editor/editor.main.nls.es.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/editor/editor.main.nls.es.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/editor/editor.main.nls.fr.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/editor/editor.main.nls.fr.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/editor/editor.main.nls.it.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/editor/editor.main.nls.it.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/editor/editor.main.nls.ja.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/editor/editor.main.nls.ja.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/editor/editor.main.nls.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/editor/editor.main.nls.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/editor/editor.main.nls.ko.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/editor/editor.main.nls.ko.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/editor/editor.main.nls.ru.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/editor/editor.main.nls.ru.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/editor/editor.main.nls.zh-cn.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/editor/editor.main.nls.zh-cn.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/editor/editor.main.nls.zh-tw.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/editor/editor.main.nls.zh-tw.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/language/css/cssMode.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/language/css/cssMode.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/language/css/cssWorker.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/language/css/cssWorker.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/language/html/htmlMode.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/language/html/htmlMode.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/language/html/htmlWorker.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/language/html/htmlWorker.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/language/json/jsonMode.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/language/json/jsonMode.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/language/json/jsonWorker.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/language/json/jsonWorker.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/language/typescript/tsMode.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/language/typescript/tsMode.js.LICENSE.txt +0 -6
- package/assets/_default/api/monaco/monaco-editor/min/vs/language/typescript/tsWorker.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/language/typescript/tsWorker.js.LICENSE.txt +0 -21
- package/assets/_default/api/monaco/monaco-editor/min/vs/loader.js +0 -2
- package/assets/_default/api/monaco/monaco-editor/min/vs/loader.js.LICENSE.txt +0 -6
- package/assets/_default/api/text/index.html +0 -1
- package/assets/_default/api/video/index.html +0 -1
|
@@ -227,7 +227,7 @@ export class AuthService {
|
|
|
227
227
|
'Content-Type': 'application/json'
|
|
228
228
|
});
|
|
229
229
|
return this.http
|
|
230
|
-
.get(`${host || ''}${this.config.getLoginBase()}/auth/info`, { headers })
|
|
230
|
+
.get(`${host || ''}${this.config.getLoginBase()}/auth/info`, { headers, withCredentials: this.coreConfig.withCredentials })
|
|
231
231
|
.pipe(switchMap((info) => {
|
|
232
232
|
this.gatewayInfo = info;
|
|
233
233
|
this.envService.cloudEnvironment = (this.gatewayInfo && this.gatewayInfo.oauth2);
|
|
@@ -373,4 +373,4 @@ AuthService.ctorParameters = () => [
|
|
|
373
373
|
{ type: LocalStorage },
|
|
374
374
|
{ type: LocalStorageService }
|
|
375
375
|
];
|
|
376
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW8tc2RrL2NvcmUvc3JjL2xpYi9zZXJ2aWNlL2F1dGgvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxlQUFlLEVBQUUsVUFBVSxFQUFFLFFBQVEsSUFBSSxrQkFBa0IsRUFDM0QsRUFBRSxJQUFJLFlBQVksRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFDbEQsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzFFLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUMsVUFBVSxFQUFxQixXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFeEMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVB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Qyx5QkFBeUIsRUFBRSxDQUFDO1NBQ2pEO1FBRUQsTUFBTSxJQUFJLEdBQUc7WUFDWCxJQUFJLENBQUMsVUFBVSxDQUFDLHVCQUF1QixFQUFFO1lBQ3pDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDO1NBQ2pELENBQUM7UUFFRixPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDbEMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUNwQixDQUFDO0lBQ0osQ0FBQzs7O1lBeFhGLFVBQVU7OztZQTNCSCxNQUFNO1lBb0JOLFVBQVUsdUJBeUNiLE1BQU0sU0FBQyxXQUFXO1lBOURmLGVBQWU7WUF1QmYsa0JBQWtCO1lBeEJsQixVQUFVO1lBZ0JWLFVBQVU7WUFqQlUsTUFBTTtZQXNCMUIsZ0JBQWdCO1lBVmhCLG1CQUFtQjtZQUpuQixNQUFNO1lBR04sWUFBWTtZQURaLGNBQWM7WUFKZCxjQUFjO1lBRGQsYUFBYTtZQUViLFdBQVc7WUFRWCxZQUFZO1lBSVosbUJBQW1CO1lBTm5CLFlBQVk7WUFDWixtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGZvcmtKb2luIGFzIG9ic2VydmFibGVGb3JrSm9pbixcbiAgb2YgYXMgb2JzZXJ2YWJsZU9mLCBTdWJqZWN0LCB0aHJvd0Vycm9yLCBpbnRlcnZhbFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwLCBjYXRjaEVycm9yfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgTmdab25lfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBIZWFkZXJzfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0FwcENhY2hlU2VydmljZX0gZnJvbSAnLi4vY2FjaGUvYXBwLWNhY2hlLnNlcnZpY2UnO1xuaW1wb3J0IHtDb25maWd9IGZyb20gJy4uL2NvbmZpZy9jb25maWcuc2VydmljZSc7XG5pbXBvcnQge0VvVXNlcn0gZnJvbSAnLi4vLi4vbW9kZWwvZW8tdXNlci5tb2RlbCc7XG5pbXBvcnQge1N5c3RlbVNlcnZpY2V9IGZyb20gJy4uL3N5c3RlbS9zeXN0ZW0uc2VydmljZSc7XG5pbXBvcnQge0JhY2tlbmRTZXJ2aWNlfSBmcm9tICcuLi9iYWNrZW5kL2JhY2tlbmQuc2VydmljZSc7XG5pbXBvcnQge1VzZXJTZXJ2aWNlfSBmcm9tICcuLi91c2VyL3VzZXIuc2VydmljZSc7XG5pbXBvcnQge0xvZ2dlcn0gZnJvbSAnLi4vbG9nZ2VyL2xvZ2dlcic7XG5pbXBvcnQge0F1dGhQcm9maWxlfSBmcm9tICcuL2F1dGgtcHJvZmlsZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtQcmVwYXJlU2VydmljZX0gZnJvbSAnLi4vcHJlcGFyZS9wcmVwYXJlLnNlcnZpY2UnO1xuaW1wb3J0IHtJbmJveFNlcnZpY2V9IGZyb20gJy4uL2luYm94L2luYm94LnNlcnZpY2UnO1xuaW1wb3J0IHtDYXBhYmlsaXRpZXNTZXJ2aWNlfSBmcm9tICcuLi9jYXBhYmlsaXRpZXMvY2FwYWJpbGl0aWVzLnNlcnZpY2UnO1xuaW1wb3J0IHtMb2NhbFN0b3JhZ2V9IGZyb20gJ0BuZ3gtcHdhL2xvY2FsLXN0b3JhZ2UnO1xuaW1wb3J0IHtMb2NhbFN0b3JhZ2VTZXJ2aWNlfSBmcm9tICcuLi9zdG9yYWdlL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQge0V2ZW50U2VydmljZX0gZnJvbSAnLi4vZXZlbnRzL2V2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtFbmFpb0V2ZW50fSBmcm9tICcuLi9ldmVudHMvZXZlbnRzJztcbmltcG9ydCB7QnBtU2VydmljZX0gZnJvbSAnLi4vYnBtL2JwbS5zZXJ2aWNlJztcbmltcG9ydCB7R2F0ZXdheUluZm99IGZyb20gJy4vZ2F0ZXdheS1pbmZvLmludGVyZmFjZSc7XG5pbXBvcnQge1N5c3RlbVN0YXR1c1NlcnZpY2V9IGZyb20gJy4uL3N5c3RlbS1zdGF0dXMvc3lzdGVtLXN0YXR1cy5zZXJ2aWNlJztcbmltcG9ydCB7RW52aXJvbm1lbnRFbmFpb30gZnJvbSAnLi4vLi4vZW52aXJvbm1lbnQuZW5haW8nO1xuaW1wb3J0IHtMb2dpbkRldmljZVJlc3VsdCwgU3RvcmVkVG9rZW59IGZyb20gJy4vYXV0aC5jbG91ZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHtQbGF0Zm9ybUxvY2F0aW9ufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDb3JlQ29uZmlnfSBmcm9tICcuLi8uLi9jb25maWcvY29yZS1jb25maWcnO1xuaW1wb3J0IHtDT1JFX0NPTkZJR30gZnJvbSAnLi4vLi4vY29uZmlnL2NvcmUtaW5pdC50b2tlbnMnO1xuaW1wb3J0IHtFbnZpcm9ubWVudFNlcnZpY2V9IGZyb20gJy4uL2Vudmlyb25tZW50L2Vudmlyb25tZW50LnNlcnZpY2UnO1xuXG4vKipcbiAqIGBBdXRoU2VydmljZWAgaGFuZGxlcyBhdXRoZW50aWNhdGlvbiBhZ2FpbnN0IGFuIHl1dXZpczxzdXA+JnJlZzs8L3N1cD4gUkFEIGJhY2tlbmQuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBUT0tFTl9TVE9SQUdFX0tFWSA9ICdlby5hdXRoLmNsb3VkLmNyZWRlbnRpYWxzJztcbiAgcHJpdmF0ZSB1c2VyUHJvZmlsZVVyaSA9IHRoaXMudXNlclNlcnZpY2UuVVNFUl9GRVRDSF9VUkk7XG4gIHByaXZhdGUgYXV0aFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIGxvZ2dlZEluQ2FjaGVLZXkgPSAnZW8udXNlci5sb2dnZWRJbic7XG5cbiAgLyoqXG4gICAqIE9ic2VydmFibGUgdG8gc3Vic2NyaWJlIHRvIGZvciBnZXR0aW5nIHRoZSBzdGF0ZSBvZiBiZWluZyBhdXRoZW50aWNhdGVkLiBXaWxsIGVtaXQgdHJ1ZSB3aGVuIGEgdXNlciBsb2dnZWQgaW4sXG4gICAqIGZhbHNlIHdoZW4gdGhlIHVzZXIgbG9nZ2VkIG91dCBvciB0aGUgZ2F0ZXdheXMgc2Vzc2lvbiB0aW1lZCBvdXQuXG4gICAqL1xuICBwdWJsaWMgYXV0aGVudGljYXRlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmF1dGhTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHB1YmxpYyBob3N0czogc3RyaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSBnYXRld2F5SW5mbzogR2F0ZXdheUluZm87XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHB1YmxpYyBwcm9maWxlOiBBdXRoUHJvZmlsZSA9IHtcbiAgICBob3N0OiAnJyxcbiAgICB1c2VyOiBudWxsLFxuICAgIGF1dGg6IG51bGwsXG4gICAgYWN0aXZlOiBmYWxzZVxuICB9O1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZzogQ29uZmlnLFxuICAgIEBJbmplY3QoQ09SRV9DT05GSUcpIHB1YmxpYyBjb3JlQ29uZmlnOiBDb3JlQ29uZmlnLFxuICAgIHByaXZhdGUgYXBwQ2FjaGU6IEFwcENhY2hlU2VydmljZSxcbiAgICBwcml2YXRlIGVudlNlcnZpY2U6IEVudmlyb25tZW50U2VydmljZSxcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBicG1TZXJ2aWNlOiBCcG1TZXJ2aWNlLFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBsb2NhdGlvbjogUGxhdGZvcm1Mb2NhdGlvbixcbiAgICBwcml2YXRlIGNhcGFiaWxpdGllc1NlcnZpY2U6IENhcGFiaWxpdGllc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlcixcbiAgICBwcml2YXRlIGluYm94U2VydmljZTogSW5ib3hTZXJ2aWNlLFxuICAgIHByaXZhdGUgcHJlcGFyZVNlcnZpY2U6IFByZXBhcmVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgZXZlbnRTZXJ2aWNlOiBFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW1TdGF0dXNTZXJ2aWNlOiBTeXN0ZW1TdGF0dXNTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBzdG9yYWdlOiBMb2NhbFN0b3JhZ2UsXG4gICAgcHJvdGVjdGVkIGxvY2FsOiBMb2NhbFN0b3JhZ2VTZXJ2aWNlKSB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3N0b3JhZ2UnLCBldnQgPT4ge1xuICAgICAgaWYgKGV2dC5rZXkgPT09IHRoaXMubG9nZ2VkSW5DYWNoZUtleSkge1xuICAgICAgICBjb25zdCBob3N0ID0gSlNPTi5wYXJzZShldnQubmV3VmFsdWUpLmhvc3Q7XG4gICAgICAgIHRoaXMuaW5pdFVzZXIoaG9zdCkuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTG9naW4gYSB1c2VyIHVzaW5nIGZvcm0gYmFzZWQgbG9naW4uXG4gICAqIEBwYXJhbSBob3N0IFRoZSB0YXJnZXQgaG9zdCAoY291bGQgYmUgbnVsbCBpZiB5b3UgYXJlIHJ1bm5pbmcgaW4gd2ViIGVudmlyb25tZW50KVxuICAgKiBAcGFyYW0gdXNlcm5hbWUgVGhlIHVzZXJuYW1lXG4gICAqIEBwYXJhbSBwYXNzd29yZCBUaGUgcGFzc3dvcmRcbiAgICogQHJldHVybnMgUmVzb2x2ZXMgd2l0aCB0aGUgbG9nZ2VkIGluIHVzZXJcbiAgICovXG4gIHB1YmxpYyBsb2dpbihob3N0OiBzdHJpbmcsIHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEVvVXNlcj4ge1xuXG4gICAgaG9zdCA9IGhvc3QgfHwgJyc7XG4gICAgY29uc3QgZmQgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmZC5hcHBlbmQoJ3VzZXJuYW1lJywgZW5jb2RlVVJJQ29tcG9uZW50KHVzZXJuYW1lKSk7XG4gICAgZmQuYXBwZW5kKCdwYXNzd29yZCcsIGVuY29kZVVSSUNvbXBvbmVudChwYXNzd29yZCkpO1xuXG4gICAgY29uc3QgbG9naW5IZWFkZXIgPSBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnXG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGhvc3QgKyB0aGlzLmNvbmZpZy5nZXRMb2dpbkJhc2UoKSArICcvbG9naW4nLFxuICAgICAgYHVzZXJuYW1lPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHVzZXJuYW1lKX0mcGFzc3dvcmQ9JHtlbmNvZGVVUklDb21wb25lbnQocGFzc3dvcmQpfWAsIHtcbiAgICAgIGhlYWRlcnM6IGxvZ2luSGVhZGVyLFxuICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcsXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29yZUNvbmZpZy53aXRoQ3JlZGVudGlhbHNcbiAgICB9KS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuaW5pdFVzZXIoaG9zdCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2cgaW4gdG8gYSBjbG91ZCBiYWNrZW5kIHVzaW5nIGRldmljZSBmbG93LlxuICAgKiBAcGFyYW0gaG9zdCBUaGUgdGFyZ2V0IGhvc3QgKGNvdWxkIGJlIG51bGwgaWYgeW91IGFyZSBydW5uaW5nIGluIHdlYiBlbnZpcm9ubWVudClcbiAgICogQHBhcmFtIHRlbmFudCBUaGUgdGVuYW50XG4gICAqIEByZXR1cm5zIFJlc29sdmVzIHdpdGggdGhlIGxvZ2dlZCBpbiB1c2VyXG4gICAqL1xuICBwdWJsaWMgY2xvdWRMb2dpbihob3N0OiBzdHJpbmcsIHRlbmFudDogc3RyaW5nKTogT2JzZXJ2YWJsZTxFb1VzZXI+IHtcbiAgICByZXR1cm4gT2JzZXJ2YWJsZS5jcmVhdGUobyA9PiB7XG4gICAgICBjb25zdCBzdG9wVHJpZ2dlciQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgICAgLy9jb25zdCB0YXJnZXRIb3N0ID0gdGhpcy5sb2NhdGlvbi5wYXRobmFtZS5zdWJzdHJpbmcoMCwgdGhpcy5sb2NhdGlvbi5wYXRobmFtZS5pbmRleE9mKCcvZW50ZXInKSk7IC8vIGhvc3QgfHwgJyc7XG4gICAgICBjb25zdCB0YXJnZXRIb3N0ID0gaG9zdCB8fCAnJztcbiAgICAgIC8vIHN0YXJ0IGF1dGggZmxvd1xuICAgICAgdGhpcy5odHRwLmdldChgJHt0YXJnZXRIb3N0fS90ZW5hbnQvJHt0ZW5hbnR9L2xvZ2luRGV2aWNlYCkuc3Vic2NyaWJlKChyZXM6IExvZ2luRGV2aWNlUmVzdWx0KSA9PiB7XG5cbiAgICAgICAgLy8gb3BlbiBuZXcgd2luZG93IGZvciB0aGUgYXV0aGVudGljYXRpb24gcHJvY2VzcyAuLi5cbiAgICAgICAgY29uc3QgdGFyZ2V0VXJpID0gYCR7dGFyZ2V0SG9zdH0vb2F1dGgvJHt0ZW5hbnR9P3VzZXJfY29kZT0ke3Jlcy51c2VyX2NvZGV9YDtcbiAgICAgICAgY29uc3Qgd2luID0gd2luZG93Lm9wZW4odGFyZ2V0VXJpLCAnYXV0aCcpO1xuICAgICAgICBpZiAod2luKSB7XG4gICAgICAgICAgLy8gQHNlZTogaHR0cDovL2F0YXNoYmFoYXIuY29tL3Bvc3QvMjAxMC0wNC0yNy1kZXRlY3Qtd2hlbi1hLWphdmFzY3JpcHQtcG9wdXAtd2luZG93LWdldHMtY2xvc2VkXG4gICAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgd2luVGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh3aW4uY2xvc2VkKSB7XG4gICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh3aW5UaW1lcik7XG4gICAgICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgIHN0b3BUcmlnZ2VyJC5uZXh0KCk7XG4gICAgICAgICAgICAgICAgICBzdG9wVHJpZ2dlciQuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgMTAwMCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAuLi4gYW5kIHN0YXJ0IHBvbGxpbmcgZm9yIGF1dGhlbnRpY2F0aW9uIHJlc3VsdHNcbiAgICAgICAgdGhpcy5jbG91ZExvZ2luUG9sbEZvclJlc3VsdChgJHt0YXJnZXRIb3N0fS9hdXRoL2luZm8vc3RhdGU/ZGV2aWNlX2NvZGU9JHtyZXMuZGV2aWNlX2NvZGV9YCwgMTAwMCwgc3RvcFRyaWdnZXIkKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgdGFwKChhY2Nlc3NUb2tlbjogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChhY2Nlc3NUb2tlbikge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvdWRMb2dpblNldEhlYWRlcnMoYWNjZXNzVG9rZW4sIHRlbmFudCk7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3RvcmVUb2tlbjogU3RvcmVkVG9rZW4gPSB7XG4gICAgICAgICAgICAgICAgICB0ZW5hbnQ6IHRlbmFudCxcbiAgICAgICAgICAgICAgICAgIGFjY2Vzc1Rva2VuOiBhY2Nlc3NUb2tlblxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yYWdlLnNldEl0ZW0odGhpcy5UT0tFTl9TVE9SQUdFX0tFWSwgc3RvcmVUb2tlbikuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgc3dpdGNoTWFwKChhdXRoUmVzOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGF1dGhSZXMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5pbml0VXNlcih0YXJnZXRIb3N0KTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aHJvd0Vycm9yKCdub3QgYXV0aGVudGljYXRlZCcpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKHVzZXI6IEVvVXNlcikgPT4ge1xuXG4gICAgICAgICAgICAgIHdpbi5jbG9zZSgpO1xuICAgICAgICAgICAgICBvLm5leHQodXNlcik7XG4gICAgICAgICAgICAgIG8uY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgICAgICAgIHdpbi5jbG9zZSgpO1xuICAgICAgICAgICAgICBvLmVycm9yKGVycik7XG4gICAgICAgICAgICAgIG8uY29tcGxldGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApXG4gICAgICB9LCBlcnIgPT4ge1xuICAgICAgICBvLmVycm9yKCd1bmFibGUgdG8gY2FsbCBkZXZpY2UgZmxvdyBlbmRwb2ludCcsIGVycik7XG4gICAgICAgIG8uY29tcGxldGUoKTtcbiAgICAgIH0pXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU3RhcnRzIHBvbGxpbmcgZm9yIGxvZ2luIHJlc3VsdHMgaW4gY2FzZSBvZiBsb2dnaW5nIGluIHRvIGEgY2xvdWQgYmFja2VuZC5cbiAgICogQHBhcmFtIHVyaSBVUkkgdG8gcG9sbFxuICAgKiBAcGFyYW0gcG9sbGluZ0ludGVydmFsIFBvbGxpbmcgaW50ZXJ2YWxsIGluIG1pbGxpc2Vjb25kc1xuICAgKiBAcGFyYW0gc3RvcFRyaWdnZXIgU3ViamVjdCBhY3RpbmcgYXMgc3RvcCB0cmlnZ2VyXG4gICAqIEByZXR1cm5zIEFjY2VzcyBUb2tlbiBpZiBsb2dnZWQgaW4gc3VjY2Vzc2Z1bGx5IG9yIE5VTEwgb3RoZXJ3aXNlXG4gICAqL1xuICBwcml2YXRlIGNsb3VkTG9naW5Qb2xsRm9yUmVzdWx0KHVyaTogc3RyaW5nLCBwb2xsaW5nSW50ZXJ2YWw6IG51bWJlciwgc3RvcFRyaWdnZXI6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcblxuICAgIHJldHVybiBPYnNlcnZhYmxlLmNyZWF0ZShvID0+IHtcbiAgICAgIGxldCBhY2Nlc3NHcmFudGVkID0gZmFsc2U7XG4gICAgICBsZXQgYWNjZXNzRGVuaWVkID0gZmFsc2U7XG5cbiAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgaW50ZXJ2YWwocG9sbGluZ0ludGVydmFsKS5waXBlKFxuICAgICAgICAgIHRha2VVbnRpbChzdG9wVHJpZ2dlciksXG4gICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuaHR0cC5nZXQodXJpKS5waXBlKFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAvLyBPQXV0aCBzdGFuZGFyZCB3ZSBhcmUgdXNpbmcgaXMgcmV0dXJuaW5nIHdpdGggYSBzdGF0dXMgb2YgNDAwIHdoaWxlIGxvZ2dpbmcgaW4gKG5vIGlkZWEgd2h5Pz8/KVxuICAgICAgICAgICAgICAvLyBzbyB3ZSBnb3QgdG8gZmV0Y2ggdGhhdCB0byBub3QgYnJlYWsgdGhlIHBhcmVudCBwaXBlXG4gICAgICAgICAgICAgIGlmIChlcnIuc3RhdHVzID09PSA0MDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2JzZXJ2YWJsZU9mKGVyci5lcnJvcik7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhyb3dFcnJvcihlcnIpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICkpXG4gICAgICAgICkuc3Vic2NyaWJlKFxuICAgICAgICAgIChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgYWNjZXNzR3JhbnRlZCA9ICEhcmVzLmFjY2Vzc190b2tlbjtcbiAgICAgICAgICAgICAgYWNjZXNzRGVuaWVkID0gcmVzLmVycm9yID09PSAnYWNjZXNzX2RlbmllZCc7XG5cbiAgICAgICAgICAgICAgaWYgKGFjY2Vzc0dyYW50ZWQgfHwgYWNjZXNzRGVuaWVkKSB7XG4gICAgICAgICAgICAgICAgLy8gbG9nZ2VkIGluXG4gICAgICAgICAgICAgICAgc3RvcFRyaWdnZXIubmV4dCgpO1xuICAgICAgICAgICAgICAgIHN0b3BUcmlnZ2VyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgby5uZXh0KGFjY2Vzc0dyYW50ZWQgPyByZXMuYWNjZXNzX3Rva2VuIDogbnVsbCk7XG4gICAgICAgICAgICAgICAgby5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJlcy5lcnJvciA9PT0gJ2V4cGlyZWRfdG9rZW4nKSB7XG4gICAgICAgICAgICAgICAgLy8gZXhwaXJlZCBzbyBza2lwIHBvbGxpbmdcbiAgICAgICAgICAgICAgICB0aHJvd0Vycm9yKCdUb2tlbiBleHBpcmVkJyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICBvLmVycm9yKGVycik7XG4gICAgICAgICAgICAgIG8uY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0sICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgIG8ubmV4dChhY2Nlc3NHcmFudGVkKTtcbiAgICAgICAgICAgICAgby5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2xvdWRMb2dpblNldEhlYWRlcnMoYWNjZXNzVG9rZW46IHN0cmluZywgdGVuYW50OiBzdHJpbmcpIHtcbiAgICB0aGlzLmJhY2tlbmQuc2V0SGVhZGVyKCdBdXRob3JpemF0aW9uJywgJ2JlYXJlciAnICsgYWNjZXNzVG9rZW4pO1xuICAgIHRoaXMuYmFja2VuZC5zZXRIZWFkZXIoJ1gtSUQtVEVOQU5ULU5BTUUnLCB0ZW5hbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgY2FsbGVkIHdoaWxlIGFwcCBpbml0XG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGluaXRVc2VyKGhvc3Q/OiBzdHJpbmcpIHtcblxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldChgJHtob3N0IHx8ICcnfSR7dGhpcy5jb25maWcuZ2V0TG9naW5CYXNlKCl9L2F1dGgvaW5mb2AsIHtoZWFkZXJzfSlcbiAgICAgIC5waXBlKHN3aXRjaE1hcCgoaW5mbzogR2F0ZXdheUluZm8pID0+IHtcbiAgICAgICAgdGhpcy5nYXRld2F5SW5mbyA9IGluZm87XG5cbiAgICAgICAgdGhpcy5lbnZTZXJ2aWNlLmNsb3VkRW52aXJvbm1lbnQgPSAodGhpcy5nYXRld2F5SW5mbyAmJiB0aGlzLmdhdGV3YXlJbmZvLm9hdXRoMik7XG4gICAgICAgIGlmICh0aGlzLmlzQ2xvdWRFbnZpcm9ubWVudCgpKSB7XG4gICAgICAgICAgLy8gaW4gY2FzZSBvZiBydW5uaW5nIGFnYWluc3QgY2xvdWQgYmFja2VuZCwgd2UgdHJ5IHRvIGZldGNoXG4gICAgICAgICAgLy8gYWNjZXNzIHRva2VuIGFuZCB0ZW5hbnQgZnJvbSBsb2NhbCBzdG9yYWdlXG4gICAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmFnZS5nZXRJdGVtKHRoaXMuVE9LRU5fU1RPUkFHRV9LRVkpLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3VkTG9naW5TZXRIZWFkZXJzKHJlcy5hY2Nlc3NUb2tlbiwgcmVzLnRlbmFudCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hVc2VyKGluZm8sIGhvc3QpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hVc2VyKGluZm8sIGhvc3QpXG4gICAgICAgIH1cbiAgICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gZ2F0ZXdheUluZm9cbiAgICogQHBhcmFtIGhvc3RcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxFb1VzZXI+XG4gICAqL1xuICBwcml2YXRlIGZldGNoVXNlcihnYXRld2F5SW5mbzogYW55LCBob3N0Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTxFb1VzZXI+IHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KGAke2hvc3QgfHwgJyd9JHt0aGlzLmNvbmZpZy5nZXRVcmkoJ3NlcnZpY2VCYXNlJyl9JHt0aGlzLnVzZXJQcm9maWxlVXJpfWAsIHtoZWFkZXJzfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHVzZXI6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMucHJvZmlsZSA9IHtcbiAgICAgICAgICAgIGhvc3Q6IGhvc3QgfHwgJycsXG4gICAgICAgICAgICB1c2VyOiB1c2VyLnVzZXIubmFtZSxcbiAgICAgICAgICAgIGF1dGg6IG51bGwsXG4gICAgICAgICAgICBhY3RpdmU6IHRydWVcbiAgICAgICAgICB9O1xuICAgICAgICAgIGlmIChob3N0KSB7XG4gICAgICAgICAgICB0aGlzLmFkZEhvc3RDb25maWcoaG9zdCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmxvZ2dlZEluQ2FjaGVLZXksIEpTT04uc3RyaW5naWZ5KHt1c2VySWQ6IHVzZXIudXNlci5pZCwgaG9zdDogaG9zdH0pKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5pbml0QXBwKHVzZXIsIGdhdGV3YXlJbmZvLm50bG0pO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuYXV0aFNvdXJjZS5uZXh0KHRoaXMuaXNMb2dnZWRJbigpKSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTG9ncyBvdXQgdGhlIGN1cnJlbnQgdXNlci5cbiAgICogQHBhcmFtIGdhdGV3YXlMb2dvdXQgRmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgb3Igbm90IHRvIHBlcmZvcm0gYSBnYXRld2F5IGxvZ291dCBhcyB3ZWxsXG4gICAqL1xuICBwdWJsaWMgbG9nb3V0KGdhdGV3YXlMb2dvdXQ/OiBib29sZWFuKSB7XG5cbiAgICB0aGlzLmF1dGhTb3VyY2UubmV4dChmYWxzZSk7XG4gICAgdGhpcy5zeXN0ZW1TdGF0dXNTZXJ2aWNlLnN0b3AoKTtcblxuICAgIHRoaXMucHJvZmlsZSA9IHtcbiAgICAgIGhvc3Q6ICcnLFxuICAgICAgdXNlcjogbnVsbCxcbiAgICAgIGF1dGg6IG51bGwsXG4gICAgICBhY3RpdmU6IGZhbHNlXG4gICAgfTtcblxuICAgIGlmICh0aGlzLmlzQ2xvdWRFbnZpcm9ubWVudCgpKSB7XG4gICAgICAvLyByZW1vdmUgc3RvcmVkIGFjY2VzcyBkYXRhXG4gICAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLlRPS0VOX1NUT1JBR0VfS0VZKS5zdWJzY3JpYmUoKTtcbiAgICAgIGlmICh0aGlzLmNvcmVDb25maWcuZW52aXJvbm1lbnQucHJvZHVjdGlvbiAmJiBFbnZpcm9ubWVudEVuYWlvLmlzV2ViRW52aXJvbm1lbnQoKSkge1xuICAgICAgICAod2luZG93IGFzIGFueSkubG9jYXRpb24uaHJlZiA9IHRoaXMuY29uZmlnLmdldExvZ2luQmFzZSgpICsgJy9sb2dvdXQnO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChnYXRld2F5TG9nb3V0KSB7XG4gICAgICAvLyBieSBkZWZhdWx0IHdlIGFyZSBqdXN0IHJlc2V0dGluZyBpbnRlcm5hbCBzdGF0ZSB0byAnbG9nZ2VkIG91dCcgYW5kIGluXG4gICAgICAvLyBzb21lIGNhc2VzIGNhbGwgZ2F0ZXdheXMgbG9nb3V0IGVuZHBvaW50IHRvIGRvIGxvZ291dCBzdHVmZiB0aGVyZSBzaWxlbnRseVxuICAgICAgdGhpcy5odHRwLmdldChgJHt0aGlzLnByb2ZpbGUuaG9zdCB8fCAnJ30ke3RoaXMuY29uZmlnLmdldExvZ2luQmFzZSgpfS9sb2dvdXRgLCB7d2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvcmVDb25maWcud2l0aENyZWRlbnRpYWxzfSkuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG5cbiAgICB0aGlzLmJhY2tlbmQuc2V0QXV0aFByb2ZpbGUodGhpcy5wcm9maWxlKTtcbiAgICB0aGlzLmV2ZW50U2VydmljZS50cmlnZ2VyKEVuYWlvRXZlbnQuTE9HT1VUKTtcbiAgfVxuXG4gIGlzQ2xvdWRFbnZpcm9ubWVudCgpOiBib29sZWFuIHtcbiAgICAvLyBvYXV0aDIgaW5kaWNhdGVzIHRoYXQgd2UgYXJlIHJ1bm5pbmcgaW4gYSBjbG91ZCBlbnZpcm9ubWVudFxuICAgIHJldHVybiB0aGlzLmdhdGV3YXlJbmZvICYmIHRoaXMuZ2F0ZXdheUluZm8ub2F1dGgyO1xuICB9XG5cbiAgLyoqXG4gICAqIGZvciBkZXNrdG9wIGFuZCBtb2JpbGUgZGV2aWNlcyB3ZSBwcm92aWRlIGEgbGlzdCBvZiBob3N0cyBmb3IgdGhlIGxvZ2luXG4gICAqXG4gICAqIEBwYXJhbSBzdHJpbmcgaG9zdFxuICAgKi9cbiAgcHJpdmF0ZSBhZGRIb3N0Q29uZmlnKGhvc3Q6IHN0cmluZykge1xuICAgIGNvbnN0IGV4aXN0aW5nSG9zdCA9IHRoaXMuaG9zdHMuZmluZChoID0+IGggPT09IGhvc3QpO1xuICAgIGlmICghZXhpc3RpbmdIb3N0KSB7XG4gICAgICB0aGlzLmhvc3RzLnB1c2goaG9zdCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY3VycmVudCBzdGF0ZSBvZiBhIHVzZXIgYmVpbmcgbG9nZ2VkIGluLiBUaGlzIGlzIGtpbmQgb2YgdGhlIHN5bmNocm9ub3VzIHZlcnNpb24gb2Ygc3Vic2NyaWJpbmcgdG8gYGF1dGhlbnRpY2F0ZWQkYC5cbiAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGVyZSBpcyBhIGxvZ2dlZCBpbiB1c2VyLCBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIHB1YmxpYyBpc0xvZ2dlZEluKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnByb2ZpbGUudXNlciAhPT0gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gdXNlclxuICAgKiBAcGFyYW0gYm9vbGVhbiBzc29cbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxFb1VzZXI+XG4gICAqL1xuICBwcml2YXRlIGluaXRBcHAodXNlcjogYW55LCBzc28/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxFb1VzZXI+IHtcblxuICAgIGNvbnN0IGN1cnJVc2VyID0gbmV3IEVvVXNlcih1c2VyKTtcbiAgICB0aGlzLmJhY2tlbmQuc2V0QXV0aFByb2ZpbGUodGhpcy5wcm9maWxlKTtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLnNldEN1cnJlbnRVc2VyKHVzZXIpO1xuICAgIGNvbnN0IGNhcGFiaWxpdGllcyA9IHRoaXMuY2FwYWJpbGl0aWVzU2VydmljZS5zZXRDYXBhYmlsaXRpZXModXNlci5jYXBhYmlsaXRpZXMsIHNzbyk7XG5cbiAgICB0aGlzLnN5c3RlbVN0YXR1c1NlcnZpY2UuaW5pdCh0aGlzLmNvbmZpZy5nZXRSYXcoJ3N5c3RlbVN0YXR1c1VwZGF0ZUludGVydmFsJykpO1xuXG4gICAgLy8gdXBkYXRlIHN0YXRlc1xuICAgIGlmIChjYXBhYmlsaXRpZXMuaW5ib3gpIHtcbiAgICAgIHRoaXMuaW5ib3hTZXJ2aWNlLnJlZnJlc2hJbmJveFN0YXRlKCk7XG4gICAgfVxuICAgIGlmIChjYXBhYmlsaXRpZXMuaW50cmF5KSB7XG4gICAgICB0aGlzLnByZXBhcmVTZXJ2aWNlLnJlZnJlc2hQcmVwYXJlZEl0ZW1zQ291bnQoKTtcbiAgICB9XG5cbiAgICBjb25zdCB0b2RvID0gW1xuICAgICAgdGhpcy5icG1TZXJ2aWNlLmluaXRFeGVjdXRhYmxlUHJvY2Vzc2VzKCksXG4gICAgICB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0U3lzdGVtRGVmaW5pdGlvbihjdXJyVXNlcilcbiAgICBdO1xuXG4gICAgcmV0dXJuIG9ic2VydmFibGVGb3JrSm9pbih0b2RvKS5waXBlKFxuICAgICAgbWFwKCgpID0+IGN1cnJVc2VyKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
376
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW8tc2RrL2NvcmUvc3JjL2xpYi9zZXJ2aWNlL2F1dGgvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxlQUFlLEVBQUUsVUFBVSxFQUFFLFFBQVEsSUFBSSxrQkFBa0IsRUFDM0QsRUFBRSxJQUFJLFlBQVksRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFDbEQsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzFFLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUMsVUFBVSxFQUFxQixXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFeEMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVB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LENBQUMsTUFBTSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMseUJBQXlCLEVBQUUsQ0FBQztTQUNqRDtRQUVELE1BQU0sSUFBSSxHQUFHO1lBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsRUFBRTtZQUN6QyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQztTQUNqRCxDQUFDO1FBRUYsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQ2xDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FDcEIsQ0FBQztJQUNKLENBQUM7OztZQXhYRixVQUFVOzs7WUEzQkgsTUFBTTtZQW9CTixVQUFVLHVCQXlDYixNQUFNLFNBQUMsV0FBVztZQTlEZixlQUFlO1lBdUJmLGtCQUFrQjtZQXhCbEIsVUFBVTtZQWdCVixVQUFVO1lBakJVLE1BQU07WUFzQjFCLGdCQUFnQjtZQVZoQixtQkFBbUI7WUFKbkIsTUFBTTtZQUdOLFlBQVk7WUFEWixjQUFjO1lBSmQsY0FBYztZQURkLGFBQWE7WUFFYixXQUFXO1lBUVgsWUFBWTtZQUlaLG1CQUFtQjtZQU5uQixZQUFZO1lBQ1osbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBmb3JrSm9pbiBhcyBvYnNlcnZhYmxlRm9ya0pvaW4sXG4gIG9mIGFzIG9ic2VydmFibGVPZiwgU3ViamVjdCwgdGhyb3dFcnJvciwgaW50ZXJ2YWxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCwgY2F0Y2hFcnJvcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIE5nWm9uZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0h0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwSGVhZGVyc30gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtBcHBDYWNoZVNlcnZpY2V9IGZyb20gJy4uL2NhY2hlL2FwcC1jYWNoZS5zZXJ2aWNlJztcbmltcG9ydCB7Q29uZmlnfSBmcm9tICcuLi9jb25maWcvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHtFb1VzZXJ9IGZyb20gJy4uLy4uL21vZGVsL2VvLXVzZXIubW9kZWwnO1xuaW1wb3J0IHtTeXN0ZW1TZXJ2aWNlfSBmcm9tICcuLi9zeXN0ZW0vc3lzdGVtLnNlcnZpY2UnO1xuaW1wb3J0IHtCYWNrZW5kU2VydmljZX0gZnJvbSAnLi4vYmFja2VuZC9iYWNrZW5kLnNlcnZpY2UnO1xuaW1wb3J0IHtVc2VyU2VydmljZX0gZnJvbSAnLi4vdXNlci91c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtMb2dnZXJ9IGZyb20gJy4uL2xvZ2dlci9sb2dnZXInO1xuaW1wb3J0IHtBdXRoUHJvZmlsZX0gZnJvbSAnLi9hdXRoLXByb2ZpbGUuaW50ZXJmYWNlJztcbmltcG9ydCB7UHJlcGFyZVNlcnZpY2V9IGZyb20gJy4uL3ByZXBhcmUvcHJlcGFyZS5zZXJ2aWNlJztcbmltcG9ydCB7SW5ib3hTZXJ2aWNlfSBmcm9tICcuLi9pbmJveC9pbmJveC5zZXJ2aWNlJztcbmltcG9ydCB7Q2FwYWJpbGl0aWVzU2VydmljZX0gZnJvbSAnLi4vY2FwYWJpbGl0aWVzL2NhcGFiaWxpdGllcy5zZXJ2aWNlJztcbmltcG9ydCB7TG9jYWxTdG9yYWdlfSBmcm9tICdAbmd4LXB3YS9sb2NhbC1zdG9yYWdlJztcbmltcG9ydCB7TG9jYWxTdG9yYWdlU2VydmljZX0gZnJvbSAnLi4vc3RvcmFnZS9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHtFdmVudFNlcnZpY2V9IGZyb20gJy4uL2V2ZW50cy9ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7RW5haW9FdmVudH0gZnJvbSAnLi4vZXZlbnRzL2V2ZW50cyc7XG5pbXBvcnQge0JwbVNlcnZpY2V9IGZyb20gJy4uL2JwbS9icG0uc2VydmljZSc7XG5pbXBvcnQge0dhdGV3YXlJbmZvfSBmcm9tICcuL2dhdGV3YXktaW5mby5pbnRlcmZhY2UnO1xuaW1wb3J0IHtTeXN0ZW1TdGF0dXNTZXJ2aWNlfSBmcm9tICcuLi9zeXN0ZW0tc3RhdHVzL3N5c3RlbS1zdGF0dXMuc2VydmljZSc7XG5pbXBvcnQge0Vudmlyb25tZW50RW5haW99IGZyb20gJy4uLy4uL2Vudmlyb25tZW50LmVuYWlvJztcbmltcG9ydCB7TG9naW5EZXZpY2VSZXN1bHQsIFN0b3JlZFRva2VufSBmcm9tICcuL2F1dGguY2xvdWQuaW50ZXJmYWNlJztcbmltcG9ydCB7UGxhdGZvcm1Mb2NhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q29yZUNvbmZpZ30gZnJvbSAnLi4vLi4vY29uZmlnL2NvcmUtY29uZmlnJztcbmltcG9ydCB7Q09SRV9DT05GSUd9IGZyb20gJy4uLy4uL2NvbmZpZy9jb3JlLWluaXQudG9rZW5zJztcbmltcG9ydCB7RW52aXJvbm1lbnRTZXJ2aWNlfSBmcm9tICcuLi9lbnZpcm9ubWVudC9lbnZpcm9ubWVudC5zZXJ2aWNlJztcblxuLyoqXG4gKiBgQXV0aFNlcnZpY2VgIGhhbmRsZXMgYXV0aGVudGljYXRpb24gYWdhaW5zdCBhbiB5dXV2aXM8c3VwPiZyZWc7PC9zdXA+IFJBRCBiYWNrZW5kLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xuXG4gIHByaXZhdGUgVE9LRU5fU1RPUkFHRV9LRVkgPSAnZW8uYXV0aC5jbG91ZC5jcmVkZW50aWFscyc7XG4gIHByaXZhdGUgdXNlclByb2ZpbGVVcmkgPSB0aGlzLnVzZXJTZXJ2aWNlLlVTRVJfRkVUQ0hfVVJJO1xuICBwcml2YXRlIGF1dGhTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSBsb2dnZWRJbkNhY2hlS2V5ID0gJ2VvLnVzZXIubG9nZ2VkSW4nO1xuXG4gIC8qKlxuICAgKiBPYnNlcnZhYmxlIHRvIHN1YnNjcmliZSB0byBmb3IgZ2V0dGluZyB0aGUgc3RhdGUgb2YgYmVpbmcgYXV0aGVudGljYXRlZC4gV2lsbCBlbWl0IHRydWUgd2hlbiBhIHVzZXIgbG9nZ2VkIGluLFxuICAgKiBmYWxzZSB3aGVuIHRoZSB1c2VyIGxvZ2dlZCBvdXQgb3IgdGhlIGdhdGV3YXlzIHNlc3Npb24gdGltZWQgb3V0LlxuICAgKi9cbiAgcHVibGljIGF1dGhlbnRpY2F0ZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5hdXRoU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwdWJsaWMgaG9zdHM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgZ2F0ZXdheUluZm86IEdhdGV3YXlJbmZvO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwdWJsaWMgcHJvZmlsZTogQXV0aFByb2ZpbGUgPSB7XG4gICAgaG9zdDogJycsXG4gICAgdXNlcjogbnVsbCxcbiAgICBhdXRoOiBudWxsLFxuICAgIGFjdGl2ZTogZmFsc2VcbiAgfTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maWc6IENvbmZpZyxcbiAgICBASW5qZWN0KENPUkVfQ09ORklHKSBwdWJsaWMgY29yZUNvbmZpZzogQ29yZUNvbmZpZyxcbiAgICBwcml2YXRlIGFwcENhY2hlOiBBcHBDYWNoZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbnZTZXJ2aWNlOiBFbnZpcm9ubWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgYnBtU2VydmljZTogQnBtU2VydmljZSxcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgbG9jYXRpb246IFBsYXRmb3JtTG9jYXRpb24sXG4gICAgcHJpdmF0ZSBjYXBhYmlsaXRpZXNTZXJ2aWNlOiBDYXBhYmlsaXRpZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXIsXG4gICAgcHJpdmF0ZSBpbmJveFNlcnZpY2U6IEluYm94U2VydmljZSxcbiAgICBwcml2YXRlIHByZXBhcmVTZXJ2aWNlOiBQcmVwYXJlU2VydmljZSxcbiAgICBwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3lzdGVtU2VydmljZTogU3lzdGVtU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwcml2YXRlIGV2ZW50U2VydmljZTogRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3lzdGVtU3RhdHVzU2VydmljZTogU3lzdGVtU3RhdHVzU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgc3RvcmFnZTogTG9jYWxTdG9yYWdlLFxuICAgIHByb3RlY3RlZCBsb2NhbDogTG9jYWxTdG9yYWdlU2VydmljZSkge1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzdG9yYWdlJywgZXZ0ID0+IHtcbiAgICAgIGlmIChldnQua2V5ID09PSB0aGlzLmxvZ2dlZEluQ2FjaGVLZXkpIHtcbiAgICAgICAgY29uc3QgaG9zdCA9IEpTT04ucGFyc2UoZXZ0Lm5ld1ZhbHVlKS5ob3N0O1xuICAgICAgICB0aGlzLmluaXRVc2VyKGhvc3QpLnN1YnNjcmliZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExvZ2luIGEgdXNlciB1c2luZyBmb3JtIGJhc2VkIGxvZ2luLlxuICAgKiBAcGFyYW0gaG9zdCBUaGUgdGFyZ2V0IGhvc3QgKGNvdWxkIGJlIG51bGwgaWYgeW91IGFyZSBydW5uaW5nIGluIHdlYiBlbnZpcm9ubWVudClcbiAgICogQHBhcmFtIHVzZXJuYW1lIFRoZSB1c2VybmFtZVxuICAgKiBAcGFyYW0gcGFzc3dvcmQgVGhlIHBhc3N3b3JkXG4gICAqIEByZXR1cm5zIFJlc29sdmVzIHdpdGggdGhlIGxvZ2dlZCBpbiB1c2VyXG4gICAqL1xuICBwdWJsaWMgbG9naW4oaG9zdDogc3RyaW5nLCB1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxFb1VzZXI+IHtcblxuICAgIGhvc3QgPSBob3N0IHx8ICcnO1xuICAgIGNvbnN0IGZkID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZmQuYXBwZW5kKCd1c2VybmFtZScsIGVuY29kZVVSSUNvbXBvbmVudCh1c2VybmFtZSkpO1xuICAgIGZkLmFwcGVuZCgncGFzc3dvcmQnLCBlbmNvZGVVUklDb21wb25lbnQocGFzc3dvcmQpKTtcblxuICAgIGNvbnN0IGxvZ2luSGVhZGVyID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ1xuICAgIH0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChob3N0ICsgdGhpcy5jb25maWcuZ2V0TG9naW5CYXNlKCkgKyAnL2xvZ2luJyxcbiAgICAgIGB1c2VybmFtZT0ke2VuY29kZVVSSUNvbXBvbmVudCh1c2VybmFtZSl9JnBhc3N3b3JkPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHBhc3N3b3JkKX1gLCB7XG4gICAgICBoZWFkZXJzOiBsb2dpbkhlYWRlcixcbiAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnLFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvcmVDb25maWcud2l0aENyZWRlbnRpYWxzXG4gICAgfSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmluaXRVc2VyKGhvc3QpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTG9nIGluIHRvIGEgY2xvdWQgYmFja2VuZCB1c2luZyBkZXZpY2UgZmxvdy5cbiAgICogQHBhcmFtIGhvc3QgVGhlIHRhcmdldCBob3N0IChjb3VsZCBiZSBudWxsIGlmIHlvdSBhcmUgcnVubmluZyBpbiB3ZWIgZW52aXJvbm1lbnQpXG4gICAqIEBwYXJhbSB0ZW5hbnQgVGhlIHRlbmFudFxuICAgKiBAcmV0dXJucyBSZXNvbHZlcyB3aXRoIHRoZSBsb2dnZWQgaW4gdXNlclxuICAgKi9cbiAgcHVibGljIGNsb3VkTG9naW4oaG9zdDogc3RyaW5nLCB0ZW5hbnQ6IHN0cmluZyk6IE9ic2VydmFibGU8RW9Vc2VyPiB7XG4gICAgcmV0dXJuIE9ic2VydmFibGUuY3JlYXRlKG8gPT4ge1xuICAgICAgY29uc3Qgc3RvcFRyaWdnZXIkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICAgIC8vY29uc3QgdGFyZ2V0SG9zdCA9IHRoaXMubG9jYXRpb24ucGF0aG5hbWUuc3Vic3RyaW5nKDAsIHRoaXMubG9jYXRpb24ucGF0aG5hbWUuaW5kZXhPZignL2VudGVyJykpOyAvLyBob3N0IHx8ICcnO1xuICAgICAgY29uc3QgdGFyZ2V0SG9zdCA9IGhvc3QgfHwgJyc7XG4gICAgICAvLyBzdGFydCBhdXRoIGZsb3dcbiAgICAgIHRoaXMuaHR0cC5nZXQoYCR7dGFyZ2V0SG9zdH0vdGVuYW50LyR7dGVuYW50fS9sb2dpbkRldmljZWApLnN1YnNjcmliZSgocmVzOiBMb2dpbkRldmljZVJlc3VsdCkgPT4ge1xuXG4gICAgICAgIC8vIG9wZW4gbmV3IHdpbmRvdyBmb3IgdGhlIGF1dGhlbnRpY2F0aW9uIHByb2Nlc3MgLi4uXG4gICAgICAgIGNvbnN0IHRhcmdldFVyaSA9IGAke3RhcmdldEhvc3R9L29hdXRoLyR7dGVuYW50fT91c2VyX2NvZGU9JHtyZXMudXNlcl9jb2RlfWA7XG4gICAgICAgIGNvbnN0IHdpbiA9IHdpbmRvdy5vcGVuKHRhcmdldFVyaSwgJ2F1dGgnKTtcbiAgICAgICAgaWYgKHdpbikge1xuICAgICAgICAgIC8vIEBzZWU6IGh0dHA6Ly9hdGFzaGJhaGFyLmNvbS9wb3N0LzIwMTAtMDQtMjctZGV0ZWN0LXdoZW4tYS1qYXZhc2NyaXB0LXBvcHVwLXdpbmRvdy1nZXRzLWNsb3NlZFxuICAgICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHdpblRpbWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAod2luLmNsb3NlZCkge1xuICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwod2luVGltZXIpO1xuICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBzdG9wVHJpZ2dlciQubmV4dCgpO1xuICAgICAgICAgICAgICAgICAgc3RvcFRyaWdnZXIkLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIDEwMDApO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gLi4uIGFuZCBzdGFydCBwb2xsaW5nIGZvciBhdXRoZW50aWNhdGlvbiByZXN1bHRzXG4gICAgICAgIHRoaXMuY2xvdWRMb2dpblBvbGxGb3JSZXN1bHQoYCR7dGFyZ2V0SG9zdH0vYXV0aC9pbmZvL3N0YXRlP2RldmljZV9jb2RlPSR7cmVzLmRldmljZV9jb2RlfWAsIDEwMDAsIHN0b3BUcmlnZ2VyJClcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHRhcCgoYWNjZXNzVG9rZW46IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICBpZiAoYWNjZXNzVG9rZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3VkTG9naW5TZXRIZWFkZXJzKGFjY2Vzc1Rva2VuLCB0ZW5hbnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0b3JlVG9rZW46IFN0b3JlZFRva2VuID0ge1xuICAgICAgICAgICAgICAgICAgdGVuYW50OiB0ZW5hbnQsXG4gICAgICAgICAgICAgICAgICBhY2Nlc3NUb2tlbjogYWNjZXNzVG9rZW5cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmFnZS5zZXRJdGVtKHRoaXMuVE9LRU5fU1RPUkFHRV9LRVksIHN0b3JlVG9rZW4pLnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoYXV0aFJlczogYW55KSA9PiB7XG4gICAgICAgICAgICAgIGlmIChhdXRoUmVzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW5pdFVzZXIodGFyZ2V0SG9zdCk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhyb3dFcnJvcignbm90IGF1dGhlbnRpY2F0ZWQnKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApLnN1YnNjcmliZShcbiAgICAgICAgICAgICh1c2VyOiBFb1VzZXIpID0+IHtcblxuICAgICAgICAgICAgICB3aW4uY2xvc2UoKTtcbiAgICAgICAgICAgICAgby5uZXh0KHVzZXIpO1xuICAgICAgICAgICAgICBvLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgICAgICB3aW4uY2xvc2UoKTtcbiAgICAgICAgICAgICAgby5lcnJvcihlcnIpO1xuICAgICAgICAgICAgICBvLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgKVxuICAgICAgfSwgZXJyID0+IHtcbiAgICAgICAgby5lcnJvcigndW5hYmxlIHRvIGNhbGwgZGV2aWNlIGZsb3cgZW5kcG9pbnQnLCBlcnIpO1xuICAgICAgICBvLmNvbXBsZXRlKCk7XG4gICAgICB9KVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0YXJ0cyBwb2xsaW5nIGZvciBsb2dpbiByZXN1bHRzIGluIGNhc2Ugb2YgbG9nZ2luZyBpbiB0byBhIGNsb3VkIGJhY2tlbmQuXG4gICAqIEBwYXJhbSB1cmkgVVJJIHRvIHBvbGxcbiAgICogQHBhcmFtIHBvbGxpbmdJbnRlcnZhbCBQb2xsaW5nIGludGVydmFsbCBpbiBtaWxsaXNlY29uZHNcbiAgICogQHBhcmFtIHN0b3BUcmlnZ2VyIFN1YmplY3QgYWN0aW5nIGFzIHN0b3AgdHJpZ2dlclxuICAgKiBAcmV0dXJucyBBY2Nlc3MgVG9rZW4gaWYgbG9nZ2VkIGluIHN1Y2Nlc3NmdWxseSBvciBOVUxMIG90aGVyd2lzZVxuICAgKi9cbiAgcHJpdmF0ZSBjbG91ZExvZ2luUG9sbEZvclJlc3VsdCh1cmk6IHN0cmluZywgcG9sbGluZ0ludGVydmFsOiBudW1iZXIsIHN0b3BUcmlnZ2VyOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKSk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG5cbiAgICByZXR1cm4gT2JzZXJ2YWJsZS5jcmVhdGUobyA9PiB7XG4gICAgICBsZXQgYWNjZXNzR3JhbnRlZCA9IGZhbHNlO1xuICAgICAgbGV0IGFjY2Vzc0RlbmllZCA9IGZhbHNlO1xuXG4gICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIGludGVydmFsKHBvbGxpbmdJbnRlcnZhbCkucGlwZShcbiAgICAgICAgICB0YWtlVW50aWwoc3RvcFRyaWdnZXIpLFxuICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmh0dHAuZ2V0KHVyaSkucGlwZShcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgLy8gT0F1dGggc3RhbmRhcmQgd2UgYXJlIHVzaW5nIGlzIHJldHVybmluZyB3aXRoIGEgc3RhdHVzIG9mIDQwMCB3aGlsZSBsb2dnaW5nIGluIChubyBpZGVhIHdoeT8/PylcbiAgICAgICAgICAgICAgLy8gc28gd2UgZ290IHRvIGZldGNoIHRoYXQgdG8gbm90IGJyZWFrIHRoZSBwYXJlbnQgcGlwZVxuICAgICAgICAgICAgICBpZiAoZXJyLnN0YXR1cyA9PT0gNDAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9ic2VydmFibGVPZihlcnIuZXJyb3IpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93RXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApKVxuICAgICAgICApLnN1YnNjcmliZShcbiAgICAgICAgICAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgIGFjY2Vzc0dyYW50ZWQgPSAhIXJlcy5hY2Nlc3NfdG9rZW47XG4gICAgICAgICAgICAgIGFjY2Vzc0RlbmllZCA9IHJlcy5lcnJvciA9PT0gJ2FjY2Vzc19kZW5pZWQnO1xuXG4gICAgICAgICAgICAgIGlmIChhY2Nlc3NHcmFudGVkIHx8IGFjY2Vzc0RlbmllZCkge1xuICAgICAgICAgICAgICAgIC8vIGxvZ2dlZCBpblxuICAgICAgICAgICAgICAgIHN0b3BUcmlnZ2VyLm5leHQoKTtcbiAgICAgICAgICAgICAgICBzdG9wVHJpZ2dlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgIG8ubmV4dChhY2Nlc3NHcmFudGVkID8gcmVzLmFjY2Vzc190b2tlbiA6IG51bGwpO1xuICAgICAgICAgICAgICAgIG8uY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZXMuZXJyb3IgPT09ICdleHBpcmVkX3Rva2VuJykge1xuICAgICAgICAgICAgICAgIC8vIGV4cGlyZWQgc28gc2tpcCBwb2xsaW5nXG4gICAgICAgICAgICAgICAgdGhyb3dFcnJvcignVG9rZW4gZXhwaXJlZCcpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgby5lcnJvcihlcnIpO1xuICAgICAgICAgICAgICBvLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9LCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICBvLm5leHQoYWNjZXNzR3JhbnRlZCk7XG4gICAgICAgICAgICAgIG8uY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNsb3VkTG9naW5TZXRIZWFkZXJzKGFjY2Vzc1Rva2VuOiBzdHJpbmcsIHRlbmFudDogc3RyaW5nKSB7XG4gICAgdGhpcy5iYWNrZW5kLnNldEhlYWRlcignQXV0aG9yaXphdGlvbicsICdiZWFyZXIgJyArIGFjY2Vzc1Rva2VuKTtcbiAgICB0aGlzLmJhY2tlbmQuc2V0SGVhZGVyKCdYLUlELVRFTkFOVC1OQU1FJywgdGVuYW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGNhbGxlZCB3aGlsZSBhcHAgaW5pdFxuICAgKiBAaWdub3JlXG4gICAqL1xuICBpbml0VXNlcihob3N0Pzogc3RyaW5nKSB7XG5cbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQoYCR7aG9zdCB8fCAnJ30ke3RoaXMuY29uZmlnLmdldExvZ2luQmFzZSgpfS9hdXRoL2luZm9gLCB7aGVhZGVycywgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvcmVDb25maWcud2l0aENyZWRlbnRpYWxzfSlcbiAgICAgIC5waXBlKHN3aXRjaE1hcCgoaW5mbzogR2F0ZXdheUluZm8pID0+IHtcbiAgICAgICAgdGhpcy5nYXRld2F5SW5mbyA9IGluZm87XG5cbiAgICAgICAgdGhpcy5lbnZTZXJ2aWNlLmNsb3VkRW52aXJvbm1lbnQgPSAodGhpcy5nYXRld2F5SW5mbyAmJiB0aGlzLmdhdGV3YXlJbmZvLm9hdXRoMik7XG4gICAgICAgIGlmICh0aGlzLmlzQ2xvdWRFbnZpcm9ubWVudCgpKSB7XG4gICAgICAgICAgLy8gaW4gY2FzZSBvZiBydW5uaW5nIGFnYWluc3QgY2xvdWQgYmFja2VuZCwgd2UgdHJ5IHRvIGZldGNoXG4gICAgICAgICAgLy8gYWNjZXNzIHRva2VuIGFuZCB0ZW5hbnQgZnJvbSBsb2NhbCBzdG9yYWdlXG4gICAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmFnZS5nZXRJdGVtKHRoaXMuVE9LRU5fU1RPUkFHRV9LRVkpLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3VkTG9naW5TZXRIZWFkZXJzKHJlcy5hY2Nlc3NUb2tlbiwgcmVzLnRlbmFudCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hVc2VyKGluZm8sIGhvc3QpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hVc2VyKGluZm8sIGhvc3QpXG4gICAgICAgIH1cbiAgICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gZ2F0ZXdheUluZm9cbiAgICogQHBhcmFtIGhvc3RcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxFb1VzZXI+XG4gICAqL1xuICBwcml2YXRlIGZldGNoVXNlcihnYXRld2F5SW5mbzogYW55LCBob3N0Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTxFb1VzZXI+IHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KGAke2hvc3QgfHwgJyd9JHt0aGlzLmNvbmZpZy5nZXRVcmkoJ3NlcnZpY2VCYXNlJyl9JHt0aGlzLnVzZXJQcm9maWxlVXJpfWAsIHtoZWFkZXJzfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHVzZXI6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMucHJvZmlsZSA9IHtcbiAgICAgICAgICAgIGhvc3Q6IGhvc3QgfHwgJycsXG4gICAgICAgICAgICB1c2VyOiB1c2VyLnVzZXIubmFtZSxcbiAgICAgICAgICAgIGF1dGg6IG51bGwsXG4gICAgICAgICAgICBhY3RpdmU6IHRydWVcbiAgICAgICAgICB9O1xuICAgICAgICAgIGlmIChob3N0KSB7XG4gICAgICAgICAgICB0aGlzLmFkZEhvc3RDb25maWcoaG9zdCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmxvZ2dlZEluQ2FjaGVLZXksIEpTT04uc3RyaW5naWZ5KHt1c2VySWQ6IHVzZXIudXNlci5pZCwgaG9zdDogaG9zdH0pKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5pbml0QXBwKHVzZXIsIGdhdGV3YXlJbmZvLm50bG0pO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuYXV0aFNvdXJjZS5uZXh0KHRoaXMuaXNMb2dnZWRJbigpKSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTG9ncyBvdXQgdGhlIGN1cnJlbnQgdXNlci5cbiAgICogQHBhcmFtIGdhdGV3YXlMb2dvdXQgRmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgb3Igbm90IHRvIHBlcmZvcm0gYSBnYXRld2F5IGxvZ291dCBhcyB3ZWxsXG4gICAqL1xuICBwdWJsaWMgbG9nb3V0KGdhdGV3YXlMb2dvdXQ/OiBib29sZWFuKSB7XG5cbiAgICB0aGlzLmF1dGhTb3VyY2UubmV4dChmYWxzZSk7XG4gICAgdGhpcy5zeXN0ZW1TdGF0dXNTZXJ2aWNlLnN0b3AoKTtcblxuICAgIHRoaXMucHJvZmlsZSA9IHtcbiAgICAgIGhvc3Q6ICcnLFxuICAgICAgdXNlcjogbnVsbCxcbiAgICAgIGF1dGg6IG51bGwsXG4gICAgICBhY3RpdmU6IGZhbHNlXG4gICAgfTtcblxuICAgIGlmICh0aGlzLmlzQ2xvdWRFbnZpcm9ubWVudCgpKSB7XG4gICAgICAvLyByZW1vdmUgc3RvcmVkIGFjY2VzcyBkYXRhXG4gICAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLlRPS0VOX1NUT1JBR0VfS0VZKS5zdWJzY3JpYmUoKTtcbiAgICAgIGlmICh0aGlzLmNvcmVDb25maWcuZW52aXJvbm1lbnQucHJvZHVjdGlvbiAmJiBFbnZpcm9ubWVudEVuYWlvLmlzV2ViRW52aXJvbm1lbnQoKSkge1xuICAgICAgICAod2luZG93IGFzIGFueSkubG9jYXRpb24uaHJlZiA9IHRoaXMuY29uZmlnLmdldExvZ2luQmFzZSgpICsgJy9sb2dvdXQnO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChnYXRld2F5TG9nb3V0KSB7XG4gICAgICAvLyBieSBkZWZhdWx0IHdlIGFyZSBqdXN0IHJlc2V0dGluZyBpbnRlcm5hbCBzdGF0ZSB0byAnbG9nZ2VkIG91dCcgYW5kIGluXG4gICAgICAvLyBzb21lIGNhc2VzIGNhbGwgZ2F0ZXdheXMgbG9nb3V0IGVuZHBvaW50IHRvIGRvIGxvZ291dCBzdHVmZiB0aGVyZSBzaWxlbnRseVxuICAgICAgdGhpcy5odHRwLmdldChgJHt0aGlzLnByb2ZpbGUuaG9zdCB8fCAnJ30ke3RoaXMuY29uZmlnLmdldExvZ2luQmFzZSgpfS9sb2dvdXRgLCB7d2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvcmVDb25maWcud2l0aENyZWRlbnRpYWxzfSkuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG5cbiAgICB0aGlzLmJhY2tlbmQuc2V0QXV0aFByb2ZpbGUodGhpcy5wcm9maWxlKTtcbiAgICB0aGlzLmV2ZW50U2VydmljZS50cmlnZ2VyKEVuYWlvRXZlbnQuTE9HT1VUKTtcbiAgfVxuXG4gIGlzQ2xvdWRFbnZpcm9ubWVudCgpOiBib29sZWFuIHtcbiAgICAvLyBvYXV0aDIgaW5kaWNhdGVzIHRoYXQgd2UgYXJlIHJ1bm5pbmcgaW4gYSBjbG91ZCBlbnZpcm9ubWVudFxuICAgIHJldHVybiB0aGlzLmdhdGV3YXlJbmZvICYmIHRoaXMuZ2F0ZXdheUluZm8ub2F1dGgyO1xuICB9XG5cbiAgLyoqXG4gICAqIGZvciBkZXNrdG9wIGFuZCBtb2JpbGUgZGV2aWNlcyB3ZSBwcm92aWRlIGEgbGlzdCBvZiBob3N0cyBmb3IgdGhlIGxvZ2luXG4gICAqXG4gICAqIEBwYXJhbSBzdHJpbmcgaG9zdFxuICAgKi9cbiAgcHJpdmF0ZSBhZGRIb3N0Q29uZmlnKGhvc3Q6IHN0cmluZykge1xuICAgIGNvbnN0IGV4aXN0aW5nSG9zdCA9IHRoaXMuaG9zdHMuZmluZChoID0+IGggPT09IGhvc3QpO1xuICAgIGlmICghZXhpc3RpbmdIb3N0KSB7XG4gICAgICB0aGlzLmhvc3RzLnB1c2goaG9zdCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY3VycmVudCBzdGF0ZSBvZiBhIHVzZXIgYmVpbmcgbG9nZ2VkIGluLiBUaGlzIGlzIGtpbmQgb2YgdGhlIHN5bmNocm9ub3VzIHZlcnNpb24gb2Ygc3Vic2NyaWJpbmcgdG8gYGF1dGhlbnRpY2F0ZWQkYC5cbiAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGVyZSBpcyBhIGxvZ2dlZCBpbiB1c2VyLCBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIHB1YmxpYyBpc0xvZ2dlZEluKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnByb2ZpbGUudXNlciAhPT0gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gdXNlclxuICAgKiBAcGFyYW0gYm9vbGVhbiBzc29cbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxFb1VzZXI+XG4gICAqL1xuICBwcml2YXRlIGluaXRBcHAodXNlcjogYW55LCBzc28/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxFb1VzZXI+IHtcblxuICAgIGNvbnN0IGN1cnJVc2VyID0gbmV3IEVvVXNlcih1c2VyKTtcbiAgICB0aGlzLmJhY2tlbmQuc2V0QXV0aFByb2ZpbGUodGhpcy5wcm9maWxlKTtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLnNldEN1cnJlbnRVc2VyKHVzZXIpO1xuICAgIGNvbnN0IGNhcGFiaWxpdGllcyA9IHRoaXMuY2FwYWJpbGl0aWVzU2VydmljZS5zZXRDYXBhYmlsaXRpZXModXNlci5jYXBhYmlsaXRpZXMsIHNzbyk7XG5cbiAgICB0aGlzLnN5c3RlbVN0YXR1c1NlcnZpY2UuaW5pdCh0aGlzLmNvbmZpZy5nZXRSYXcoJ3N5c3RlbVN0YXR1c1VwZGF0ZUludGVydmFsJykpO1xuXG4gICAgLy8gdXBkYXRlIHN0YXRlc1xuICAgIGlmIChjYXBhYmlsaXRpZXMuaW5ib3gpIHtcbiAgICAgIHRoaXMuaW5ib3hTZXJ2aWNlLnJlZnJlc2hJbmJveFN0YXRlKCk7XG4gICAgfVxuICAgIGlmIChjYXBhYmlsaXRpZXMuaW50cmF5KSB7XG4gICAgICB0aGlzLnByZXBhcmVTZXJ2aWNlLnJlZnJlc2hQcmVwYXJlZEl0ZW1zQ291bnQoKTtcbiAgICB9XG5cbiAgICBjb25zdCB0b2RvID0gW1xuICAgICAgdGhpcy5icG1TZXJ2aWNlLmluaXRFeGVjdXRhYmxlUHJvY2Vzc2VzKCksXG4gICAgICB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0U3lzdGVtRGVmaW5pdGlvbihjdXJyVXNlcilcbiAgICBdO1xuXG4gICAgcmV0dXJuIG9ic2VydmFibGVGb3JrSm9pbih0b2RvKS5waXBlKFxuICAgICAgbWFwKCgpID0+IGN1cnJVc2VyKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -183,6 +183,9 @@ export class SearchQuery {
|
|
|
183
183
|
if (this.fields) {
|
|
184
184
|
queryJson.fields = this.fields;
|
|
185
185
|
}
|
|
186
|
+
if (this.name) {
|
|
187
|
+
queryJson.name = this.name;
|
|
188
|
+
}
|
|
186
189
|
// add options when they differ from the default values
|
|
187
190
|
if (this.applyOptions()) {
|
|
188
191
|
queryJson.options = {};
|
|
@@ -493,4 +496,4 @@ SearchFilter.OPERATOR = {
|
|
|
493
496
|
INTERVAL_INCLUDE_FROM: "gtelt",
|
|
494
497
|
RANGE: "rg" // aggegation ranges
|
|
495
498
|
};
|
|
496
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXF1ZXJ5Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW8tc2RrL2NvcmUvc3JjL2xpYi9zZXJ2aWNlL3NlYXJjaC9zZWFyY2gtcXVlcnkubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLDJEQUEyRDtBQUUzRCxNQUFNLENBQU4sSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ3BCLHlCQUFXLENBQUE7SUFDWCxpQ0FBbUIsQ0FBQTtJQUNuQixzQ0FBd0IsQ0FBQTtBQUMxQixDQUFDLEVBSlcsVUFBVSxLQUFWLFVBQVUsUUFJckI7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFxSXRCO1FBakRBOztXQUVHO1FBQ0ksVUFBSyxHQUFpQixFQUFFLENBQUM7UUFDaEM7O1dBRUc7UUFDSSx1QkFBa0IsR0FBaUIsRUFBRSxDQUFDO1FBQzdDOztXQUVHO1FBQ0ksWUFBTyxHQUFtQixFQUFFLENBQUM7UUFLcEM7O1dBRUc7UUFDSSxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBSzFCOztXQUVHO1FBQ0ksZUFBVSxHQUFXLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQztRQUM1RDs7V0FFRztRQUNJLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQUN0Qzs7V0FFRztRQUNJLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUMvQjs7V0FFRztRQUNJLFVBQUssR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUV2QyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixnQkFBVyxHQUFZLEtBQUssQ0FBQztJQU9yQixDQUFDO0lBRWhCOzs7O09BSUc7SUFDSSxPQUFPLENBQUMsSUFBZ0I7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FB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S0FBSztnQkFDL0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVLENBQUM7Z0JBQy9DLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxLQUFLLFVBQVUsQ0FBQyxDQUNwQyxDQUFDO0lBQ0osQ0FBQzs7QUFsSEQ7O0dBRUc7QUFDVyxxQkFBUSxHQUFHO0lBQ3ZCLFlBQVk7SUFDWixLQUFLLEVBQUUsSUFBSTtJQUNYLHdEQUF3RDtJQUN4RCxLQUFLLEVBQUUsT0FBTztJQUNkLDRFQUE0RTtJQUM1RSxFQUFFLEVBQUUsSUFBSTtJQUNSLG1CQUFtQjtJQUNuQixZQUFZLEVBQUUsSUFBSTtJQUNsQiw0QkFBNEI7SUFDNUIsZ0JBQWdCLEVBQUUsS0FBSztJQUN2QixTQUFTLEVBQUUsSUFBSTtJQUNmLGFBQWEsRUFBRSxLQUFLO0lBQ3BCLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLHFCQUFxQixFQUFFLFFBQVE7SUFDL0IsbUJBQW1CLEVBQUUsT0FBTztJQUM1QixxQkFBcUIsRUFBRSxPQUFPO0lBQzlCLEtBQUssRUFBRSxJQUFJLENBQUMsb0JBQW9CO0NBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3JlZHVjZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtPYmplY3RUeXBlfSBmcm9tIFwiLi4vLi4vbW9kZWwvb2JqZWN0LXR5cGUubW9kZWxcIjtcbmltcG9ydCB7RGF0ZVBpcGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcblxuLy9leHBvcnQgdHlwZSBRdWVyeVNjb3BlID0gJ2luZGV4ZGF0ZScgfCAnY29udGVudCcgfCAnYWxsJztcblxuZXhwb3J0IGVudW0gUXVlcnlTY29wZSB7XG4gIEFMTCA9ICdhbGwnLFxuICBDT05URU5UID0gJ2NvbnRlbnQnLFxuICBJTkRFWF9EQVRBID0gJ2luZGV4ZGF0YSdcbn1cblxuLyoqXG4gKiBUaGUgU2VhcmNoUXVlcnkgQ2xhc3NcbiAqXG4gKiBTZWUge0BsaW5rIFNlYXJjaFNlcnZpY2V9IGZvciBVc2FnZVxuICovXG5leHBvcnQgY2xhc3MgU2VhcmNoUXVlcnkge1xuICAvKipcbiAgICogQmFzZSBQYXJhbWV0ZXJzIGZvciBhIFNlYXJjaCBRdWVyeVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBCQVNFX1BBUkFNUyA9IHtcbiAgICBUWVBFOiBcInR5cGVcIixcbiAgICBDUkVBVE9SOiBcImNyZWF0b3JcIixcbiAgICBDUkVBVEVEOiBcImNyZWF0ZWRcIixcbiAgICBNT0RJRklFUjogXCJtb2RpZmllclwiLFxuICAgIE1PRElGSUVEOiBcIm1vZGlmaWVkXCIsXG4gICAgRklMRVNJWkU6IFwiZmlsZXNpemVcIixcbiAgICBGSUxFTkFNRTogXCJmaWxlbmFtZVwiLFxuICAgIE1JTUVUWVBFR1JPVVA6IFwibWltZXR5cGVncm91cFwiXG4gIH07XG5cbiAgLyoqXG4gICAqIFRpbWUgcGVyaW9kIGJ1Y2tldHMgcHJvcGVydHkgbmFtZXNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgVElNRV9QRVJJT0RfQlVDS0VUUyA9IHtcbiAgICBUT0RBWTogXCJ0b2RheVwiLFxuICAgIFlFU1RFUkRBWTogXCJ5ZXN0ZXJkYXlcIixcbiAgICBUSElTX1dFRUs6IFwidGhpc3dlZWtcIixcbiAgICBMQVNUX1dFRUs6IFwibGFzdHdlZWtcIixcbiAgICBUSElTX01PTlRIOiBcInRoaXNtb250aFwiLFxuICAgIExBU1RfTU9OVEg6IFwibGFzdG1vbnRoXCIsXG4gICAgVEhJU19ZRUFSOiBcInRoaXN5ZWFyXCIsXG4gICAgTEFTVF9ZRUFSOiBcImxhc3R5ZWFyXCJcbiAgfTtcblxuICAvKipcbiAgICogbWltZXR5cGUgYnVja2V0cyBwcm9wZXJ0eSBuYW1lc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBNSU1FVFlQRUdST1VQX0JVQ0tFVFMgPSB7XG4gICAgUERGOiBcInBkZlwiLFxuICAgIE1BSUw6IFwibWFpbFwiLFxuICAgIFdPUkQ6IFwid29yZFwiLFxuICAgIElNQUdFOiBcImltYWdlXCIsXG4gICAgT0NURVRfU1RSRUFNOiBcIm9jdGV0LXN0cmVhbVwiLFxuICAgIFRYVDogXCJ0eHRcIixcbiAgICBFWENFTDogXCJleGNlbFwiLFxuICAgIFBPV0VSUE9JTlQ6IFwicG93ZXJwb2ludFwiLFxuICAgIFZJREVPOiBcInZpZGVvXCIsXG4gICAgSFRNTDogXCJodG1sXCIsXG4gICAgQVVESU86IFwiYXVkaW9cIixcbiAgICBaSVA6IFwiemlwXCJcbiAgfTtcblxuICAvKipcbiAgICogZmlsZXNpemUgYnVja2V0cyBwcm9wZXJ0eSBuYW1lc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBGSUxFX1NJWkVfQlVDS0VUUyA9IHtcbiAgICBMVDFNQjogXCJsdDFNQlwiLFxuICAgIExUMTBNQjogXCJsdDEwTUJcIixcbiAgICBMVDEwME1COiBcImx0MTAwTUJcIixcbiAgICBHVDEwME1COiBcImd0MTAwTUJcIlxuICB9O1xuXG4gIC8vIGxpc3Qgb2YgdGhpbmdzIHRoYXQgbWF5IGhhdmUgY2hhbmdlZCB0aGUgY3VycmVudCBxdWVyeVxuICBwdWJsaWMgc3RhdGljIFVQREFURV9DQVVTRSA9IHtcbiAgICBUT0dHTEVEX1RZUEU6IFwiY2F1c2UudHlwZS50b2dnbGVkXCIsXG4gICAgVE9HR0xFRF9FWFBFUlRNT0RFOiBcImNhdXNlLmV4cGVydG1vZGUudG9nZ2xlZFwiLFxuICAgIFRFUk1fU0VUOiBcImNhdXNlLnRlcm0uc2V0XCIsXG4gICAgVFlQRVNfU0VUOiBcImNhdXNlLnR5cGVzLnNldFwiLFxuICAgIENPTlRFWFRfRk9MREVSX1NFVDogXCJjYXVzZS5jb250ZXh0Zm9sZGVyLnNldFwiLFxuICAgIFRPR0dMRURfRklMVEVSOiBcImNhdXNlLmZpbHRlci50b2dnbGVkXCIsXG4gICAgQURERURfRklMVEVSOiBcImNhdXNlLmZpbHRlci5hZGRlZFwiLFxuICAgIFJFTU9WRURfRklMVEVSOiBcImNhdXNlLmZpbHRlci5yZW1vdmVkXCIsXG4gIH07XG4gIC8qKlxuICAgKiBEZXRhdWx0IFNlYXJjaCBtb2RlIEluZGV4XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIERFRkFVTFRfU0VBUkNIX01PREUgPSBcImlkeHNcIjtcbiAgLyoqXG4gICAqIFNlYXJjaCBtb2RlIGZvciBGdWxsIHRlc3QgU2VhcmNoXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIEZVTExURVhUX1NFQVJDSF9NT0RFID0gXCJmdHNcIjtcbiAgLyoqXG4gICAqIGZ1bGx0ZXh0IHNlYXJjaCB0ZXJtXG4gICAqL1xuICBwdWJsaWMgdGVybTogc3RyaW5nO1xuICAvKipcbiAgICogQXJyYXkgb2YgZmllbGRzIHRvIHJlcXVlc3QgZnJvbSB0aGUgc2VhcmNoIHNlcnZpY2UsIGxlYXZpbmcgdGhpcyBibGFuayB3aWxsIHJldHVybiB0aGUgZmllbGRzIHNwZWNpZmllZCBpbiB0aGUgcmVzdWx0IGZpZWxkIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyBmaWVsZHM6IHN0cmluZ1tdO1xuICAvKipcbiAgICogTGlzdCBvZiBvYmplY3QgdHlwZXMgdG8gYmUgZmV0Y2hlZCBieSB0aGUgcXVlcnkuIExlYXZpbmcgdGhpcyBibGFuayB3aWxsIHJldHVybiByZXN1bHRzIGZyb20gYW55IHR5cGVcbiAgICovXG4gIHB1YmxpYyB0eXBlczogT2JqZWN0VHlwZVtdID0gW107XG4gIC8qKlxuICAgKiBMaXN0IG9mIGNvbnRleHQgZm9sZGVyIHR5cGVzXG4gICAqL1xuICBwdWJsaWMgY29udGV4dEZvbGRlclR5cGVzOiBPYmplY3RUeXBlW10gPSBbXTtcbiAgLyoqXG4gICAqIExpc3Qgb2YgZmlsdGVycyB0byBkZWZpbmUgdGhlIHF1ZXJ5XG4gICAqL1xuICBwdWJsaWMgZmlsdGVyczogU2VhcmNoRmlsdGVyW10gPSBbXTtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIHJldHJpZXZlIHN1Z2dlc3Rpb25zXG4gICAqL1xuICBwdWJsaWMgc3VnZ2VzdDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSB0ZXJtIGlzIGFuIGV4cGVydCBtb2RlIHF1ZXJ5XG4gICAqL1xuICBwdWJsaWMgZXhwZXJ0TW9kZSA9IGZhbHNlO1xuICAvKipcbiAgICogVGhlIHNjb3BlIG9mIHRoZSBxdWVyeVxuICAgKi9cbiAgcHVibGljIHNjb3BlOiBRdWVyeVNjb3BlO1xuICAvKipcbiAgICogVGhlIHNlYXJjaCBtb2RlIHRvIGJlIHVzZWQgKFNlYXJjaFF1ZXJ5LkRFRkFVTFRfU0VBUkNIX01PREUgb3IgU2VhcmNoUXVlcnkuRlVMTFRFWFRfU0VBUkNIX01PREUpXG4gICAqL1xuICBwdWJsaWMgc2VhcmNoTW9kZTogc3RyaW5nID0gU2VhcmNoUXVlcnkuREVGQVVMVF9TRUFSQ0hfTU9ERTtcbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgb3B0aW9ucyB0byBiZSBhcHBsaWVkIHRvIHRoZSBxdWVyeVxuICAgKi9cbiAgcHVibGljIHNvcnRPcHRpb25zOiBTb3J0T3B0aW9uW10gPSBbXTtcbiAgLyoqXG4gICAqIFJlc29sdmUgcmVmZXJlbmNlcyB3aXRoIHRoZWlyIHRpdGxlIGluc3RlYWQgb2YgdGhlaXIgYWN0dWFsIHZhbHVlXG4gICAqL1xuICBwdWJsaWMgcmVzb2x2ZVJlZmVyZW5jZSA9IHRydWU7XG4gIC8qKlxuICAgKiBUaGUgc3RhdGUgb2YgdGhlIGN1cnJlbnQgcXVlcnlcbiAgICovXG4gIHB1YmxpYyBzdGF0ZTogU2VhcmNoU3RhdGUgPSBuZXcgU2VhcmNoU3RhdGUoKTtcblxuICBwdWJsaWMgaGlnaGxpZ2h0aW5nOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyB3aXRoQ29udGV4dDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8vIEluZGljYXRvciB3aGF0IGNhdXNlZCB0aGUgdXBkYXRlIG9mIGEgU2VhcmNoUXVlcnkgb2JqZWN0LlxuICAvLyBVc2VmdWxsIGZvciBjb21wb25lbnRzIHRoYXQgc3Vic2NyaWJlZCB0byBhIHF1ZXJ5LCBhbmQgbmVlZCB0b1xuICAvLyB0cmFjayB0aGUga2luZCBvZiBjaGFuZ2VzIG1hZGVcbiAgX191cGRhdGVDYXVzZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICAvKipcbiAgICogQWRkcyBhIG5ldyB0YXJnZXQgdHlwZSB0byB0aGUgcXVlcnlcbiAgICpcbiAgICogQHBhcmFtIHR5cGUgT2JqZWN0IHR5cGUgdG8gYmUgYWRkZWRcbiAgICovXG4gIHB1YmxpYyBhZGRUeXBlKHR5cGU6IE9iamVjdFR5cGUpIHtcbiAgICBpZiAoIXRoaXMudHlwZXMuZmluZCh0ID0+IHQuaWQgPT09IHR5cGUuaWQpKSB7XG4gICAgICB0aGlzLnR5cGVzLnB1c2godHlwZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYSB0eXBlIGZyb20gdGhlIHRhcmdldCB0eXBlcyBsaXN0XG4gICAqXG4gICAqIEBwYXJhbSB0eXBlIFRoZSBvYmplY3QgdHlwZSB0byBiZSByZW1vdmVkXG4gICAqL1xuICBwdWJsaWMgcmVtb3ZlVHlwZSh0eXBlOiBPYmplY3RUeXBlKSB7XG4gICAgdGhpcy50eXBlcyA9IHRoaXMudHlwZXMuZmlsdGVyKHQgPT4gdC5pZCAhPT0gdHlwZS5pZCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBvciByZW1vdmVzIHRoZSBnaXZlbiB0eXBlIGJhc2VkIG9uIHRoZSBjdXJyZW50IHNldHRpbmdzXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlIFRoZSBvYmplY3QgdHlwZSB0byBiZSB0b2dnbGVkXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlVHlwZSh0eXBlOiBPYmplY3RUeXBlKSB7XG4gICAgaWYgKHRoaXMudHlwZXMuZmluZCh0ID0+IHQuaWQgPT09IHR5cGUuaWQpKSB7XG4gICAgICB0aGlzLnJlbW92ZVR5cGUodHlwZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudHlwZXMucHVzaCh0eXBlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIG5ldyBmaWx0ZXIgdG8gdGhlIHF1ZXJ5LiBJZiB0aGVyZSBhbHJlYWR5IGlzIGEgZmlsdGVyIHNldCBmb3IgdGhlIGdpdmVuIHByb3BlcnR5LCBpdCB3aWxsIGJlIG92ZXJyaWRkZW4uXG4gICAqXG4gICAqIEBwYXJhbSBmaWx0ZXIgVGhlIGZpbHRlciB0byBiZSBhZGRlZFxuICAgKi9cbiAgcHVibGljIGFkZEZpbHRlcihmaWx0ZXI6IFNlYXJjaEZpbHRlcikge1xuICAgIGlmICghZmlsdGVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghdGhpcy5nZXRGaWx0ZXIoZmlsdGVyLnByb3BlcnR5KSkge1xuICAgICAgdGhpcy5maWx0ZXJzLnB1c2goZmlsdGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gaWYgdGhlcmUgYWxyZWFkeSBpcyBhIGZpbHRlciBzZXQgZm9yIHRoZSB0YXJnZXQgcHJvcGVydHlcbiAgICAgIC8vIHdlJ2xsIGp1c3Qgb3ZlcnJpZGUgaXQgd2l0aCB0aGUgbmV3IHZhbHVlXG4gICAgICB0aGlzLnJlbW92ZUZpbHRlcihmaWx0ZXIucHJvcGVydHkpO1xuICAgICAgdGhpcy5maWx0ZXJzLnB1c2goZmlsdGVyKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGZpbHRlciBmcm9tIHRoZSBxdWVyeS5cbiAgICpcbiAgICogQHBhcmFtIGZpbHRlclByb3BlcnR5TmFtZSBUaGUgZmlsdGVyIChpdHMgcHJvcGVydHkgbmFtZSkgdG8gYmUgcmVtb3ZlZFxuICAgKi9cbiAgcHVibGljIHJlbW92ZUZpbHRlcihmaWx0ZXJQcm9wZXJ0eU5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuZmlsdGVycyA9IHRoaXMuZmlsdGVycy5maWx0ZXIoZiA9PiBmLnByb3BlcnR5ICE9PSBmaWx0ZXJQcm9wZXJ0eU5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgb3IgcmVtb3ZlcyB0aGUgZ2l2ZW4gZmlsdGVyIGJhc2VkIG9uIHRoZSBjdXJyZW50IHNldHRpbmdzXG4gICAqXG4gICAqIEBwYXJhbSBmaWx0ZXIgVGhlIGZpbHRlciB0byBiZSB0b2dnbGVkXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlRmlsdGVyKGZpbHRlcjogU2VhcmNoRmlsdGVyLCBvdmVycmlkZT86IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5nZXRGaWx0ZXIoZmlsdGVyLnByb3BlcnR5KSkge1xuICAgICAgdGhpcy5yZW1vdmVGaWx0ZXIoZmlsdGVyLnByb3BlcnR5KTtcbiAgICAgIGlmIChvdmVycmlkZSkge1xuICAgICAgICB0aGlzLmZpbHRlcnMucHVzaChmaWx0ZXIpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbHRlcnMucHVzaChmaWx0ZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYSBmaWx0ZXIgYnkgaXRzIHByb3BlcnR5IG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wZXJ0eU5hbWUgVGhlIGZpbHRlcnMgcHJvcGVydHkgbmFtZSAocW5hbWUgb2YgZm9ybSBlbGVtZW50KVxuICAgKiBAcmV0dXJucyBTZWFyY2ggRmlsdGVyIE9iamVjdFxuICAgKi9cbiAgcHVibGljIGdldEZpbHRlcihwcm9wZXJ0eU5hbWU6IHN0cmluZyk6IFNlYXJjaEZpbHRlciB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVycy5maW5kKGYgPT4gZi5wcm9wZXJ0eSA9PT0gcHJvcGVydHlOYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUYWJsZUZpbHRlcnMocHJvcGVydHlOYW1lOiBzdHJpbmcpOiBTZWFyY2hGaWx0ZXJbXSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVycy5maWx0ZXIoZiA9PiBmLnByb3BlcnR5LnN0YXJ0c1dpdGgocHJvcGVydHlOYW1lICsgJy4nKSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkaW5nIG5ldyBTb3J0IE9wdGlvbnNcbiAgICogU29ydCBPcHRpb25zIGFyZSBvbmx5IGFkZGVkIGlmIHRoZXkgYXJlIG5vdCBhbHJlYWR5IHByZXNlbnRcbiAgICpcbiAgICogQHBhcmFtIG5hbWVcbiAgICogQHBhcmFtIG9yZGVyXG4gICAqIEBwYXJhbSBtaXNzaW5nXG4gICAqL1xuICBwdWJsaWMgYWRkU29ydE9wdGlvbihuYW1lOiBzdHJpbmcsIG9yZGVyOiBzdHJpbmcsIG1pc3Npbmc/OiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuc29ydE9wdGlvbnMuZmluZChzID0+IHMuZmllbGQgPT09IG5hbWUpKSB7XG4gICAgICB0aGlzLnNvcnRPcHRpb25zLnB1c2gobmV3IFNvcnRPcHRpb24obmFtZSwgb3JkZXIsIG1pc3NpbmcpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIG5hbWVcbiAgICovXG4gIHB1YmxpYyByZW1vdmVTb3J0T3B0aW9uKG5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuc29ydE9wdGlvbnMgPSB0aGlzLnNvcnRPcHRpb25zLmZpbHRlcihzID0+IHMuZmllbGQgIT09IG5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGEgcXVlcnkgSlNPTiBmcm9tIHRoZSBjdXJyZW50IFNlYXJjaFF1ZXJ5IHRoYXQgY2FuIGJlIHNlbmQgdG8gdGhlIHNlYXJjaCBzZXJ2aWNlLlxuICAgKi9cbiAgcHVibGljIGdldFF1ZXJ5SnNvbigpIHtcbiAgICAvLyBDb252ZXJ0IHRoZSBjdXJyZW50IHF1ZXJ5IG9iamVjdCB0byBhIHF1ZXJ5IEpTT04gdGhhdCBjYW4gYmUgY29uc3VtZWQgYnkgdGhlIHNlYXJjaCBzZXJ2aWNlIGJhY2tlbmQuXG4gICAgLy8gVG8ga2VlcCBpdCBzaG9ydCwgd2UnbGwgb25seSBhZGQgcHJvcGVydGllcyB0aGF0IGFyZSBzZXQgYW5kIGRpZmZlciBmcm9tIGRlZmF1bHQgdmFsdWVzXG4gICAgY29uc3QgcXVlcnlKc29uOiBhbnkgPSB7fTtcblxuICAgIC8vIGFkZCB0eXBlIGZpbHRlcnNcbiAgICBpZiAodGhpcy50eXBlcy5sZW5ndGggPiAwKSB7XG4gICAgICBxdWVyeUpzb24udHlwZXMgPSB0aGlzLnR5cGVzLm1hcCh0ID0+XG4gICAgICAgIHR5cGVvZiB0ID09PSBcInN0cmluZ1wiID8gdCA6IHQubmFtZVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBhZGQgY29udGV4dCBmb2xkZXIgdHlwZSBmaWx0ZXJzXG4gICAgaWYgKHRoaXMuY29udGV4dEZvbGRlclR5cGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHF1ZXJ5SnNvbi5jb250ZXh0Zm9sZGVydHlwZXMgPSB0aGlzLmNvbnRleHRGb2xkZXJUeXBlcy5tYXAodCA9PiB0Lm5hbWUpO1xuICAgIH1cblxuICAgIC8vIGZpbHRlcnNcbiAgICBpZiAodGhpcy5maWx0ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHF1ZXJ5SnNvbi5maWx0ZXJzID0ge307XG4gICAgICB0aGlzLmZpbHRlcnMuZm9yRWFjaChmID0+IHtcbiAgICAgICAgcXVlcnlKc29uLmZpbHRlcnNbZi5wcm9wZXJ0eV0gPSBmLnRvUXVlcnkoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy50ZXJtKSB7XG4gICAgICBxdWVyeUpzb24udGVybSA9IHRoaXMudGVybTtcbiAgICB9XG4gICAgLy8gc2VhcmNoIGZpZWxkc1xuICAgIGlmICh0aGlzLmZpZWxkcykge1xuICAgICAgcXVlcnlKc29uLmZpZWxkcyA9IHRoaXMuZmllbGRzO1xuICAgIH1cbiAgICAvLyBhZGQgb3B0aW9ucyB3aGVuIHRoZXkgZGlmZmVyIGZyb20gdGhlIGRlZmF1bHQgdmFsdWVzXG4gICAgaWYgKHRoaXMuYXBwbHlPcHRpb25zKCkpIHtcbiAgICAgIHF1ZXJ5SnNvbi5vcHRpb25zID0ge307XG4gICAgICBxdWVyeUpzb24ub3B0aW9ucy5zY29wZSA9IHRoaXMuc2NvcGU7XG4gICAgICBpZiAodGhpcy5zdWdnZXN0KSB7XG4gICAgICAgIHF1ZXJ5SnNvbi5vcHRpb25zLnN1Z2dlc3QgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuZXhwZXJ0TW9kZSkge1xuICAgICAgICBxdWVyeUpzb24ub3B0aW9ucy5leHBlcnRtb2RlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnJlc29sdmVSZWZlcmVuY2UpIHtcbiAgICAgICAgcXVlcnlKc29uLm9wdGlvbnMucmVzb2x2ZVJlZmVyZW5jZSA9IHRydWU7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5zZWFyY2hNb2RlICE9PSBTZWFyY2hRdWVyeS5ERUZBVUxUX1NFQVJDSF9NT0RFKSB7XG4gICAgICAgIHF1ZXJ5SnNvbi5vcHRpb25zLnNlYXJjaG1vZGUgPSB0aGlzLnNlYXJjaE1vZGU7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5zb3J0T3B0aW9ucyAmJiB0aGlzLnNvcnRPcHRpb25zLmxlbmd0aCkge1xuICAgICAgICBxdWVyeUpzb24ub3B0aW9ucy5zb3J0ID0ge307XG4gICAgICAgIHRoaXMuc29ydE9wdGlvbnMuZm9yRWFjaCgoc29ydE9wdGlvbjogU29ydE9wdGlvbikgPT4ge1xuICAgICAgICAgIHF1ZXJ5SnNvbi5vcHRpb25zLnNvcnRbc29ydE9wdGlvbi5maWVsZF0gPSB7XG4gICAgICAgICAgICBvcmRlcjogc29ydE9wdGlvbi5vcmRlclxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5oaWdobGlnaHRpbmcpIHtcbiAgICAgICAgcXVlcnlKc29uLm9wdGlvbnMuaGlnaGxpZ2h0aW5nID0gdGhpcy5oaWdobGlnaHRpbmc7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy53aXRoQ29udGV4dCkge1xuICAgICAgICBxdWVyeUpzb24ub3B0aW9ucy53aXRoQ29udGV4dCA9IHRoaXMud2l0aENvbnRleHQ7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBxdWVyeUpzb247XG4gIH1cblxuICAvLyBkZXRlcm1pbmVzIHdoZXRoZXIgb3Igbm90IHRoZSBxdWVyeSBzZW5kIHRvIHRoZSBzZWFyY2ggc2VydmljZSBzaG91bGQgY29udGFpbiBvcHRpb25zXG4gIHByaXZhdGUgYXBwbHlPcHRpb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmV4cGVydE1vZGUgfHxcbiAgICAgICEhdGhpcy5zY29wZSB8fFxuICAgICAgdGhpcy5zdWdnZXN0IHx8XG4gICAgICB0aGlzLmhpZ2hsaWdodGluZyB8fFxuICAgICAgdGhpcy5yZXNvbHZlUmVmZXJlbmNlIHx8XG4gICAgICB0aGlzLndpdGhDb250ZXh0IHx8XG4gICAgICB0aGlzLnNlYXJjaE1vZGUgIT09IFNlYXJjaFF1ZXJ5LkRFRkFVTFRfU0VBUkNIX01PREUgfHxcbiAgICAgIHRoaXMuc29ydE9wdGlvbnMubGVuZ3RoID4gMFxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBAaWdub3JlXG4gKiBDcmVhdGVzIHRoZSBNb2RlbCBvZiBTb3J0IE9wdGlvbnNcbiAqL1xuZXhwb3J0IGNsYXNzIFNvcnRPcHRpb24ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZmllbGQ6IHN0cmluZyxcbiAgICBwdWJsaWMgb3JkZXI6IHN0cmluZyxcbiAgICBwdWJsaWMgbWlzc2luZz86IHN0cmluZ1xuICApIHt9XG59XG5cbi8qKlxuICogQGlnbm9yZVxuICogQ3JlYXRlcyB0aGUgTW9kZWwgb2YgRmllbGQgRGVmaW5pdGlvbnNcbiAqL1xuZXhwb3J0IGNsYXNzIEZpZWxkRGVmaW5pdGlvbiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBlbGVtZW50czogYW55W10gPSBbXSxcbiAgICBwdWJsaWMgc29ydG9yZGVyOiBhbnlbXSA9IFtdLFxuICAgIHB1YmxpYyBncm91cG9yZGVyOiBhbnlbXSA9IFtdLFxuICAgIHB1YmxpYyBwaW5uZWQ6IGFueVtdID0gW10sXG4gICAgcHVibGljIG1vZGU/OiBzdHJpbmdcbiAgKSB7fVxufVxuXG4vKipcbiAqIEBpZ25vcmVcbiAqIENsYXNzIHJlcHJlc2VudGluZyB0aGUgc3RhdGUgb2YgYSBxdWVyeVxuICovXG5leHBvcnQgY2xhc3MgU2VhcmNoU3RhdGUge1xuICBwdWJsaWMgY291bnQ6IHt2YWx1ZTogbnVtYmVyLCByZWxhdGlvbj86IHN0cmluZ307XG4gIHB1YmxpYyBhZ2dyZWdhdGlvbnM7XG4gIHB1YmxpYyBsYXN0Q2hhbmdlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmFnZ3JlZ2F0aW9ucyA9IHtcbiAgICAgIHR5cGU6IG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCksXG4gICAgICBjb250ZXh0VHlwZTogbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKSxcbiAgICAgIGNyZWF0ZWQ6IFtdLFxuICAgICAgbW9kaWZpZWQ6IFtdLFxuICAgICAgbWltZXR5cGVncm91cDogW10sXG4gICAgICBmaWxlc2l6ZTogW11cbiAgICB9O1xuICB9XG5cbiAgZ2V0IHRvdGFsQ291bnQoKSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5hZ2dyZWdhdGlvbnMudHlwZS52YWx1ZXMoKSkucmVkdWNlKChhY2M6IG51bWJlciwgY3VyOiBudW1iZXIpID0+IGFjYyArIGN1ciwgMCkgYXMgbnVtYmVyO1xuICB9XG5cbiAgZ2V0IGlzRW1wdHkoKSB7XG4gICAgcmV0dXJuICEodGhpcy5jb3VudCAmJiB0aGlzLmNvdW50LnZhbHVlKTtcbiAgfVxuXG4gIGFkZEFnZ3JlZ2F0aW9ucyh0eXBlOiBzdHJpbmcsIGtleTogc3RyaW5nLCB2YWx1ZTogbnVtYmVyLCBhZ2c/KSB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFwiY29udGV4dHR5cGVcIjoge1xuICAgICAgICB0aGlzLmFnZ3JlZ2F0aW9ucy5jb250ZXh0VHlwZS5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBTZWFyY2hRdWVyeS5CQVNFX1BBUkFNUy5UWVBFOiB7XG4gICAgICAgIHRoaXMuYWdncmVnYXRpb25zLnR5cGUuc2V0KGtleSwgdmFsdWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgU2VhcmNoUXVlcnkuQkFTRV9QQVJBTVMuQ1JFQVRFRDoge1xuICAgICAgICB0aGlzLmFnZ3JlZ2F0aW9ucy5jcmVhdGVkLnB1c2goe1xuICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgIHZhbHVlOiB2YWx1ZVxuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIFNlYXJjaFF1ZXJ5LkJBU0VfUEFSQU1TLk1PRElGSUVEOiB7XG4gICAgICAgIHRoaXMuYWdncmVnYXRpb25zLm1vZGlmaWVkLnB1c2goe1xuICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgIHZhbHVlOiB2YWx1ZVxuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIFNlYXJjaFF1ZXJ5LkJBU0VfUEFSQU1TLk1JTUVUWVBFR1JPVVA6IHtcbiAgICAgICAgdGhpcy5hZ2dyZWdhdGlvbnMubWltZXR5cGVncm91cC5wdXNoKHtcbiAgICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgICB2YWx1ZTogdmFsdWVcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBTZWFyY2hRdWVyeS5CQVNFX1BBUkFNUy5GSUxFU0laRToge1xuICAgICAgICB0aGlzLmFnZ3JlZ2F0aW9ucy5maWxlc2l6ZS5wdXNoKHtcbiAgICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICAgICAgZnJvbTogYWdnLmZyb20sXG4gICAgICAgICAgdG86IGFnZy50byB8fCBJbmZpbml0eSxcbiAgICAgICAgICBsYWJlbDoga2V5LnJlcGxhY2UoXCJndFwiLCBcIj4gXCIpLnJlcGxhY2UoXCJsdFwiLCBcIjwgXCIpXG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBAaWdub3JlXG4gKiBDcmVhdGVzIHRoZSBNb2RlbCBvZiBTZWFyY2ggUmVzdWx0c1xuICovXG5leHBvcnQgY2xhc3MgU2VhcmNoUmVzdWx0IHtcbiAgcHVibGljIGNvdW50OiB7dmFsdWU6IG51bWJlciwgcmVsYXRpb24/OiBzdHJpbmd9O1xuICBwdWJsaWMgc3VnZ2VzdHM6IHN0cmluZ1tdO1xuICBwdWJsaWMgaGl0czogYW55W107XG4gIHB1YmxpYyB0eXBlTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgZmllbGRzOiBGaWVsZERlZmluaXRpb247XG5cbiAgY29uc3RydWN0b3IoKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgU2VhcmNoRmlsdGVyIHtcbiAgLyoqXG4gICAqIGF2YWlsYWJsZSBvcGVyYXRvcnMgZm9yIGEgc2VhcmNoIGZpbHRlclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBPUEVSQVRPUiA9IHtcbiAgICAvKiogZXF1YWwgKi9cbiAgICBFUVVBTDogXCJlcVwiLFxuICAgIC8qKiBtYXRjaCAoZm9yIHN0cmluZyB3aXRoIGNsYXNzaWZpY2F0aW9uIFwicGF0aDY2NjZcIikgKi9cbiAgICBNQVRDSDogXCJtYXRjaFwiLFxuICAgIC8qKiBtYXRjaCBhdCBsZWFzdCBvbmUgb2YgdGhlIHByb3ZpZGVkIHZhbHVlcyAodmFsdWUgaGFzIHRvIGJlIGFuIGFycmF5KSAgKi9cbiAgICBJTjogXCJpblwiLFxuICAgIC8qKiBncmVhdGVyIHRoYW4gKi9cbiAgICBHUkVBVEVSX1RIQU46IFwiZ3RcIixcbiAgICAvKiogZ3JlYXRlciB0aGFuIG9yIGVxdWFsICovXG4gICAgR1JFQVRFUl9PUl9FUVVBTDogXCJndGVcIiwgLy9cbiAgICBMRVNTX1RIQU46IFwibHRcIiwgLy8gbGVzcyB0aGFuXG4gICAgTEVTU19PUl9FUVVBTDogXCJsdGVcIiwgLy8gbGVzcyB0aGFuIG9yIGVxdWFsXG4gICAgSU5URVJWQUw6IFwiZ3RsdFwiLCAvLyBpbnRlcnZhbFxuICAgIElOVEVSVkFMX0lOQ0xVREVfQk9USDogXCJndGVsdGVcIiwgLy8gaW50ZXJ2YWwgaW5jbHVkZSBsZWZ0IGFuZCByaWdodFxuICAgIElOVEVSVkFMX0lOQ0xVREVfVE86IFwiZ3RsdGVcIiwgLy8gaW50ZXJ2YWwgaW5jbHVkZSByaWdodFxuICAgIElOVEVSVkFMX0lOQ0xVREVfRlJPTTogXCJndGVsdFwiLCAvLyBpbnRlcnZhbCBpbmNsdWRlIGxlZnRcbiAgICBSQU5HRTogXCJyZ1wiIC8vIGFnZ2VnYXRpb24gcmFuZ2VzXG4gIH07XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdG9yIGZvciBjcmVhdGluZyBhIG5ldyBTZWFyY2hGaWx0ZXIuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgcXVhbGlmaWVkIG5hbWUgb2YgdGhlIGZpZWxkIHRoaXMgZmlsdGVyIHNob3VsZCBhcHBseSB0by5cbiAgICogQHBhcmFtIG9wZXJhdG9yIE9wZXJhdG9yIGluZGljYXRpbmcgaG93IHRvIGhhbmRsZSB0aGUgZmlsdGVycyB2YWx1ZShzKS4gU2VlIFNlYXJjaEZpbHRlci5PUEVSQVRPUiBmb3IgYXZhaWxhYmxlIG9wZXJhdG9ycy5cbiAgICogQHBhcmFtIGZpcnN0VmFsdWUgVGhlIGZpbHRlcnMgdmFsdWVcbiAgICogQHBhcmFtIHNlY29uZFZhbHVlIE9wdGlvbmFsIHNlY29uZCB2YWx1ZSBmb3IgZmlsdGVycyB0aGF0IGZvciBleGFtcGxlIGRlZmluZSByYW5nZXMgb2YgdmFsdWVzXG4gICAqIEBwYXJhbSB0cmFuc2Zvcm1EYXRlIEZsYWcgdG8gdHJhbnNmb3JtIGRhdGUgaG91cnMgYW5kIG1pbnV0ZXMgYmFzZWQgb24gb3BlcmF0b3JcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBwcm9wZXJ0eTogc3RyaW5nLFxuICAgIHB1YmxpYyBvcGVyYXRvcjogc3RyaW5nLFxuICAgIHB1YmxpYyBmaXJzdFZhbHVlOiBhbnksXG4gICAgcHVibGljIHNlY29uZFZhbHVlPzogYW55LFxuICAgIHB1YmxpYyB0cmFuc2Zvcm1EYXRlPzoge3RpbWU/OiBib29sZWFuOyB0aW1lem9uZT86IGJvb2xlYW59XG4gICkge31cblxuICBmb3JtYXREYXRlKHZhbHVlOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm1EYXRlICYmIHZhbHVlXG4gICAgICA/IHRoaXMudHJhbnNmb3JtRGF0ZS50aW1lem9uZVxuICAgICAgICA/IG5ldyBEYXRlUGlwZShcImVuXCIpLnRyYW5zZm9ybSh2YWx1ZSwgXCJ5eXl5LU1NLWRkVFpcIilcbiAgICAgICAgOiB0aGlzLnRyYW5zZm9ybURhdGUudGltZVxuICAgICAgICAgID8gbmV3IERhdGUodmFsdWUpLnRvSVNPU3RyaW5nKCkuc2xpY2UoMCwgMTYpICsgXCJaXCJcbiAgICAgICAgICA6IG5ldyBEYXRlUGlwZShcImVuXCIpLnRyYW5zZm9ybSh2YWx1ZSwgXCJ5eXl5LU1NLWRkXCIpXG4gICAgICA6IHZhbHVlO1xuICB9XG5cbiAgdG9RdWVyeSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbzogdGhpcy5vcGVyYXRvcixcbiAgICAgIHYxOiB0aGlzLmZvcm1hdERhdGUodGhpcy5maXJzdFZhbHVlKSxcbiAgICAgIC4uLih0aGlzLnNlY29uZFZhbHVlICYmIHt2MjogdGhpcy5mb3JtYXREYXRlKHRoaXMuc2Vjb25kVmFsdWUpfSlcbiAgICB9O1xuICB9XG5cbiAgdG9EYXRlVGltZVF1ZXJ5KCkge1xuICAgIGlmICh0aGlzLnRyYW5zZm9ybURhdGUgJiYgdGhpcy50cmFuc2Zvcm1EYXRlLnRpbWV6b25lICYmIHRoaXMuZmlyc3RWYWx1ZSkge1xuICAgICAgbGV0IGZpcnN0VmFsdWUgPSB0aGlzLmZpcnN0VmFsdWU7XG4gICAgICBsZXQgc2Vjb25kVmFsdWUgPSB0aGlzLnNlY29uZFZhbHVlO1xuICAgICAgY29uc3QgZW5kRGF0ZSA9IG5ldyBEYXRlKHNlY29uZFZhbHVlIHx8IGZpcnN0VmFsdWUpO1xuICAgICAgZW5kRGF0ZS5zZXRIb3VycygyMywgNTksIDU5LCA5OTkpO1xuICAgICAgaWYgKHRoaXMub3BlcmF0b3IgPT09IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5MRVNTX09SX0VRVUFMKSB7XG4gICAgICAgIGZpcnN0VmFsdWUgPSBlbmREYXRlLnRvSVNPU3RyaW5nKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBzdGFydERhdGUgPSBuZXcgRGF0ZShmaXJzdFZhbHVlKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMub3BlcmF0b3IgPT09IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5HUkVBVEVSX1RIQU4gfHxcbiAgICAgICAgICB0aGlzLm9wZXJhdG9yID09PSBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuSU5URVJWQUxcbiAgICAgICAgKSB7XG4gICAgICAgICAgc3RhcnREYXRlLnNldEhvdXJzKDIzLCA1OSwgNTksIDk5OSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhcnREYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICAgICAgICB9XG4gICAgICAgIGZpcnN0VmFsdWUgPSBzdGFydERhdGUudG9JU09TdHJpbmcoKTtcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5vcGVyYXRvciA9PT0gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLklOVEVSVkFMX0lOQ0xVREVfQk9USCB8fFxuICAgICAgICB0aGlzLm9wZXJhdG9yID09PSBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuRVFVQUxcbiAgICAgICkge1xuICAgICAgICBzZWNvbmRWYWx1ZSA9IGVuZERhdGUudG9JU09TdHJpbmcoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIG86XG4gICAgICAgICAgdGhpcy5vcGVyYXRvciA9PT0gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLkVRVUFMXG4gICAgICAgICAgICA/IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5JTlRFUlZBTF9JTkNMVURFX0JPVEhcbiAgICAgICAgICAgIDogdGhpcy5vcGVyYXRvcixcbiAgICAgICAgdjE6IGZpcnN0VmFsdWUsXG4gICAgICAgIC4uLihzZWNvbmRWYWx1ZSAmJiB7djI6IHNlY29uZFZhbHVlfSlcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnRvUXVlcnkoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgbWF0Y2goXG4gICAgcHJvcGVydHk6IHN0cmluZyxcbiAgICBvcGVyYXRvcjogc3RyaW5nLFxuICAgIGZpcnN0VmFsdWU6IGFueSxcbiAgICBzZWNvbmRWYWx1ZT86IGFueVxuICApIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5wcm9wZXJ0eSA9PT0gcHJvcGVydHkgJiZcbiAgICAgIHRoaXMub3BlcmF0b3IgPT09IG9wZXJhdG9yICYmXG4gICAgICB0aGlzLnNlY29uZFZhbHVlID09PSBzZWNvbmRWYWx1ZSAmJlxuICAgICAgKHRoaXMuZmlyc3RWYWx1ZSBpbnN0YW5jZW9mIEFycmF5XG4gICAgICAgID8gISF0aGlzLmZpcnN0VmFsdWUuZmluZCh2ID0+IHYgPT09IGZpcnN0VmFsdWUpXG4gICAgICAgIDogdGhpcy5maXJzdFZhbHVlID09PSBmaXJzdFZhbHVlKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
499
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXF1ZXJ5Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW8tc2RrL2NvcmUvc3JjL2xpYi9zZXJ2aWNlL3NlYXJjaC9zZWFyY2gtcXVlcnkubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLDJEQUEyRDtBQUUzRCxNQUFNLENBQU4sSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ3BCLHlCQUFXLENBQUE7SUFDWCxpQ0FBbUIsQ0FBQTtJQUNuQixzQ0FBd0IsQ0FBQTtBQUMxQixDQUFDLEVBSlcsVUFBVSxLQUFWLFVBQVUsUUFJckI7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUF1SXRCO1FBbkRBOztXQUVHO1FBQ0ksVUFBSyxHQUFpQixFQUFFLENBQUM7UUFDaEM7O1dBRUc7UUFDSSx1QkFBa0IsR0FBaUIsRUFBRSxDQUFDO1FBQzdDOztXQUVHO1FBQ0ksWUFBTyxHQUFtQixFQUFFLENBQUM7UUFLcEM7O1dBRUc7UUFDSSxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBSzFCOztXQUVHO1FBQ0ksZUFBVSxHQUFXLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQztRQUM1RDs7V0FFRztRQUNJLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQUN0Qzs7V0FFRztRQUNJLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUMvQjs7V0FFRztRQUNJLFVBQUssR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUV2QyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixnQkFBVyxHQUFZLEtBQUssQ0FBQztJQVNyQixDQUFDO0lBRWhCOzs7O09BSUc7SUFDSSxPQUFPLENBQUMsSUFBZ0I7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FB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QUFDLFFBQVEsS0FBSyxRQUFRO1lBQzFCLElBQUksQ0FBQyxXQUFXLEtBQUssV0FBVztZQUNoQyxDQUFDLElBQUksQ0FBQyxVQUFVLFlBQVksS0FBSztnQkFDL0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVLENBQUM7Z0JBQy9DLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxLQUFLLFVBQVUsQ0FBQyxDQUNwQyxDQUFDO0lBQ0osQ0FBQzs7QUFsSEQ7O0dBRUc7QUFDVyxxQkFBUSxHQUFHO0lBQ3ZCLFlBQVk7SUFDWixLQUFLLEVBQUUsSUFBSTtJQUNYLHdEQUF3RDtJQUN4RCxLQUFLLEVBQUUsT0FBTztJQUNkLDRFQUE0RTtJQUM1RSxFQUFFLEVBQUUsSUFBSTtJQUNSLG1CQUFtQjtJQUNuQixZQUFZLEVBQUUsSUFBSTtJQUNsQiw0QkFBNEI7SUFDNUIsZ0JBQWdCLEVBQUUsS0FBSztJQUN2QixTQUFTLEVBQUUsSUFBSTtJQUNmLGFBQWEsRUFBRSxLQUFLO0lBQ3BCLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLHFCQUFxQixFQUFFLFFBQVE7SUFDL0IsbUJBQW1CLEVBQUUsT0FBTztJQUM1QixxQkFBcUIsRUFBRSxPQUFPO0lBQzlCLEtBQUssRUFBRSxJQUFJLENBQUMsb0JBQW9CO0NBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3JlZHVjZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtPYmplY3RUeXBlfSBmcm9tIFwiLi4vLi4vbW9kZWwvb2JqZWN0LXR5cGUubW9kZWxcIjtcbmltcG9ydCB7RGF0ZVBpcGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcblxuLy9leHBvcnQgdHlwZSBRdWVyeVNjb3BlID0gJ2luZGV4ZGF0ZScgfCAnY29udGVudCcgfCAnYWxsJztcblxuZXhwb3J0IGVudW0gUXVlcnlTY29wZSB7XG4gIEFMTCA9ICdhbGwnLFxuICBDT05URU5UID0gJ2NvbnRlbnQnLFxuICBJTkRFWF9EQVRBID0gJ2luZGV4ZGF0YSdcbn1cblxuLyoqXG4gKiBUaGUgU2VhcmNoUXVlcnkgQ2xhc3NcbiAqXG4gKiBTZWUge0BsaW5rIFNlYXJjaFNlcnZpY2V9IGZvciBVc2FnZVxuICovXG5leHBvcnQgY2xhc3MgU2VhcmNoUXVlcnkge1xuICAvKipcbiAgICogQmFzZSBQYXJhbWV0ZXJzIGZvciBhIFNlYXJjaCBRdWVyeVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBCQVNFX1BBUkFNUyA9IHtcbiAgICBUWVBFOiBcInR5cGVcIixcbiAgICBDUkVBVE9SOiBcImNyZWF0b3JcIixcbiAgICBDUkVBVEVEOiBcImNyZWF0ZWRcIixcbiAgICBNT0RJRklFUjogXCJtb2RpZmllclwiLFxuICAgIE1PRElGSUVEOiBcIm1vZGlmaWVkXCIsXG4gICAgRklMRVNJWkU6IFwiZmlsZXNpemVcIixcbiAgICBGSUxFTkFNRTogXCJmaWxlbmFtZVwiLFxuICAgIE1JTUVUWVBFR1JPVVA6IFwibWltZXR5cGVncm91cFwiXG4gIH07XG5cbiAgLyoqXG4gICAqIFRpbWUgcGVyaW9kIGJ1Y2tldHMgcHJvcGVydHkgbmFtZXNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgVElNRV9QRVJJT0RfQlVDS0VUUyA9IHtcbiAgICBUT0RBWTogXCJ0b2RheVwiLFxuICAgIFlFU1RFUkRBWTogXCJ5ZXN0ZXJkYXlcIixcbiAgICBUSElTX1dFRUs6IFwidGhpc3dlZWtcIixcbiAgICBMQVNUX1dFRUs6IFwibGFzdHdlZWtcIixcbiAgICBUSElTX01PTlRIOiBcInRoaXNtb250aFwiLFxuICAgIExBU1RfTU9OVEg6IFwibGFzdG1vbnRoXCIsXG4gICAgVEhJU19ZRUFSOiBcInRoaXN5ZWFyXCIsXG4gICAgTEFTVF9ZRUFSOiBcImxhc3R5ZWFyXCJcbiAgfTtcblxuICAvKipcbiAgICogbWltZXR5cGUgYnVja2V0cyBwcm9wZXJ0eSBuYW1lc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBNSU1FVFlQRUdST1VQX0JVQ0tFVFMgPSB7XG4gICAgUERGOiBcInBkZlwiLFxuICAgIE1BSUw6IFwibWFpbFwiLFxuICAgIFdPUkQ6IFwid29yZFwiLFxuICAgIElNQUdFOiBcImltYWdlXCIsXG4gICAgT0NURVRfU1RSRUFNOiBcIm9jdGV0LXN0cmVhbVwiLFxuICAgIFRYVDogXCJ0eHRcIixcbiAgICBFWENFTDogXCJleGNlbFwiLFxuICAgIFBPV0VSUE9JTlQ6IFwicG93ZXJwb2ludFwiLFxuICAgIFZJREVPOiBcInZpZGVvXCIsXG4gICAgSFRNTDogXCJodG1sXCIsXG4gICAgQVVESU86IFwiYXVkaW9cIixcbiAgICBaSVA6IFwiemlwXCJcbiAgfTtcblxuICAvKipcbiAgICogZmlsZXNpemUgYnVja2V0cyBwcm9wZXJ0eSBuYW1lc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBGSUxFX1NJWkVfQlVDS0VUUyA9IHtcbiAgICBMVDFNQjogXCJsdDFNQlwiLFxuICAgIExUMTBNQjogXCJsdDEwTUJcIixcbiAgICBMVDEwME1COiBcImx0MTAwTUJcIixcbiAgICBHVDEwME1COiBcImd0MTAwTUJcIlxuICB9O1xuXG4gIC8vIGxpc3Qgb2YgdGhpbmdzIHRoYXQgbWF5IGhhdmUgY2hhbmdlZCB0aGUgY3VycmVudCBxdWVyeVxuICBwdWJsaWMgc3RhdGljIFVQREFURV9DQVVTRSA9IHtcbiAgICBUT0dHTEVEX1RZUEU6IFwiY2F1c2UudHlwZS50b2dnbGVkXCIsXG4gICAgVE9HR0xFRF9FWFBFUlRNT0RFOiBcImNhdXNlLmV4cGVydG1vZGUudG9nZ2xlZFwiLFxuICAgIFRFUk1fU0VUOiBcImNhdXNlLnRlcm0uc2V0XCIsXG4gICAgVFlQRVNfU0VUOiBcImNhdXNlLnR5cGVzLnNldFwiLFxuICAgIENPTlRFWFRfRk9MREVSX1NFVDogXCJjYXVzZS5jb250ZXh0Zm9sZGVyLnNldFwiLFxuICAgIFRPR0dMRURfRklMVEVSOiBcImNhdXNlLmZpbHRlci50b2dnbGVkXCIsXG4gICAgQURERURfRklMVEVSOiBcImNhdXNlLmZpbHRlci5hZGRlZFwiLFxuICAgIFJFTU9WRURfRklMVEVSOiBcImNhdXNlLmZpbHRlci5yZW1vdmVkXCIsXG4gIH07XG4gIC8qKlxuICAgKiBEZXRhdWx0IFNlYXJjaCBtb2RlIEluZGV4XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIERFRkFVTFRfU0VBUkNIX01PREUgPSBcImlkeHNcIjtcbiAgLyoqXG4gICAqIFNlYXJjaCBtb2RlIGZvciBGdWxsIHRlc3QgU2VhcmNoXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIEZVTExURVhUX1NFQVJDSF9NT0RFID0gXCJmdHNcIjtcbiAgLyoqXG4gICAqIGZ1bGx0ZXh0IHNlYXJjaCB0ZXJtXG4gICAqL1xuICBwdWJsaWMgdGVybTogc3RyaW5nO1xuICAvKipcbiAgICogQXJyYXkgb2YgZmllbGRzIHRvIHJlcXVlc3QgZnJvbSB0aGUgc2VhcmNoIHNlcnZpY2UsIGxlYXZpbmcgdGhpcyBibGFuayB3aWxsIHJldHVybiB0aGUgZmllbGRzIHNwZWNpZmllZCBpbiB0aGUgcmVzdWx0IGZpZWxkIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyBmaWVsZHM6IHN0cmluZ1tdO1xuICAvKipcbiAgICogTGlzdCBvZiBvYmplY3QgdHlwZXMgdG8gYmUgZmV0Y2hlZCBieSB0aGUgcXVlcnkuIExlYXZpbmcgdGhpcyBibGFuayB3aWxsIHJldHVybiByZXN1bHRzIGZyb20gYW55IHR5cGVcbiAgICovXG4gIHB1YmxpYyB0eXBlczogT2JqZWN0VHlwZVtdID0gW107XG4gIC8qKlxuICAgKiBMaXN0IG9mIGNvbnRleHQgZm9sZGVyIHR5cGVzXG4gICAqL1xuICBwdWJsaWMgY29udGV4dEZvbGRlclR5cGVzOiBPYmplY3RUeXBlW10gPSBbXTtcbiAgLyoqXG4gICAqIExpc3Qgb2YgZmlsdGVycyB0byBkZWZpbmUgdGhlIHF1ZXJ5XG4gICAqL1xuICBwdWJsaWMgZmlsdGVyczogU2VhcmNoRmlsdGVyW10gPSBbXTtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIHJldHJpZXZlIHN1Z2dlc3Rpb25zXG4gICAqL1xuICBwdWJsaWMgc3VnZ2VzdDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSB0ZXJtIGlzIGFuIGV4cGVydCBtb2RlIHF1ZXJ5XG4gICAqL1xuICBwdWJsaWMgZXhwZXJ0TW9kZSA9IGZhbHNlO1xuICAvKipcbiAgICogVGhlIHNjb3BlIG9mIHRoZSBxdWVyeVxuICAgKi9cbiAgcHVibGljIHNjb3BlOiBRdWVyeVNjb3BlO1xuICAvKipcbiAgICogVGhlIHNlYXJjaCBtb2RlIHRvIGJlIHVzZWQgKFNlYXJjaFF1ZXJ5LkRFRkFVTFRfU0VBUkNIX01PREUgb3IgU2VhcmNoUXVlcnkuRlVMTFRFWFRfU0VBUkNIX01PREUpXG4gICAqL1xuICBwdWJsaWMgc2VhcmNoTW9kZTogc3RyaW5nID0gU2VhcmNoUXVlcnkuREVGQVVMVF9TRUFSQ0hfTU9ERTtcbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgb3B0aW9ucyB0byBiZSBhcHBsaWVkIHRvIHRoZSBxdWVyeVxuICAgKi9cbiAgcHVibGljIHNvcnRPcHRpb25zOiBTb3J0T3B0aW9uW10gPSBbXTtcbiAgLyoqXG4gICAqIFJlc29sdmUgcmVmZXJlbmNlcyB3aXRoIHRoZWlyIHRpdGxlIGluc3RlYWQgb2YgdGhlaXIgYWN0dWFsIHZhbHVlXG4gICAqL1xuICBwdWJsaWMgcmVzb2x2ZVJlZmVyZW5jZSA9IHRydWU7XG4gIC8qKlxuICAgKiBUaGUgc3RhdGUgb2YgdGhlIGN1cnJlbnQgcXVlcnlcbiAgICovXG4gIHB1YmxpYyBzdGF0ZTogU2VhcmNoU3RhdGUgPSBuZXcgU2VhcmNoU3RhdGUoKTtcblxuICBwdWJsaWMgaGlnaGxpZ2h0aW5nOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyB3aXRoQ29udGV4dDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBuYW1lPzogc3RyaW5nO1xuXG4gIC8vIEluZGljYXRvciB3aGF0IGNhdXNlZCB0aGUgdXBkYXRlIG9mIGEgU2VhcmNoUXVlcnkgb2JqZWN0LlxuICAvLyBVc2VmdWxsIGZvciBjb21wb25lbnRzIHRoYXQgc3Vic2NyaWJlZCB0byBhIHF1ZXJ5LCBhbmQgbmVlZCB0b1xuICAvLyB0cmFjayB0aGUga2luZCBvZiBjaGFuZ2VzIG1hZGVcbiAgX191cGRhdGVDYXVzZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICAvKipcbiAgICogQWRkcyBhIG5ldyB0YXJnZXQgdHlwZSB0byB0aGUgcXVlcnlcbiAgICpcbiAgICogQHBhcmFtIHR5cGUgT2JqZWN0IHR5cGUgdG8gYmUgYWRkZWRcbiAgICovXG4gIHB1YmxpYyBhZGRUeXBlKHR5cGU6IE9iamVjdFR5cGUpIHtcbiAgICBpZiAoIXRoaXMudHlwZXMuZmluZCh0ID0+IHQuaWQgPT09IHR5cGUuaWQpKSB7XG4gICAgICB0aGlzLnR5cGVzLnB1c2godHlwZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYSB0eXBlIGZyb20gdGhlIHRhcmdldCB0eXBlcyBsaXN0XG4gICAqXG4gICAqIEBwYXJhbSB0eXBlIFRoZSBvYmplY3QgdHlwZSB0byBiZSByZW1vdmVkXG4gICAqL1xuICBwdWJsaWMgcmVtb3ZlVHlwZSh0eXBlOiBPYmplY3RUeXBlKSB7XG4gICAgdGhpcy50eXBlcyA9IHRoaXMudHlwZXMuZmlsdGVyKHQgPT4gdC5pZCAhPT0gdHlwZS5pZCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBvciByZW1vdmVzIHRoZSBnaXZlbiB0eXBlIGJhc2VkIG9uIHRoZSBjdXJyZW50IHNldHRpbmdzXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlIFRoZSBvYmplY3QgdHlwZSB0byBiZSB0b2dnbGVkXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlVHlwZSh0eXBlOiBPYmplY3RUeXBlKSB7XG4gICAgaWYgKHRoaXMudHlwZXMuZmluZCh0ID0+IHQuaWQgPT09IHR5cGUuaWQpKSB7XG4gICAgICB0aGlzLnJlbW92ZVR5cGUodHlwZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudHlwZXMucHVzaCh0eXBlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIG5ldyBmaWx0ZXIgdG8gdGhlIHF1ZXJ5LiBJZiB0aGVyZSBhbHJlYWR5IGlzIGEgZmlsdGVyIHNldCBmb3IgdGhlIGdpdmVuIHByb3BlcnR5LCBpdCB3aWxsIGJlIG92ZXJyaWRkZW4uXG4gICAqXG4gICAqIEBwYXJhbSBmaWx0ZXIgVGhlIGZpbHRlciB0byBiZSBhZGRlZFxuICAgKi9cbiAgcHVibGljIGFkZEZpbHRlcihmaWx0ZXI6IFNlYXJjaEZpbHRlcikge1xuICAgIGlmICghZmlsdGVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghdGhpcy5nZXRGaWx0ZXIoZmlsdGVyLnByb3BlcnR5KSkge1xuICAgICAgdGhpcy5maWx0ZXJzLnB1c2goZmlsdGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gaWYgdGhlcmUgYWxyZWFkeSBpcyBhIGZpbHRlciBzZXQgZm9yIHRoZSB0YXJnZXQgcHJvcGVydHlcbiAgICAgIC8vIHdlJ2xsIGp1c3Qgb3ZlcnJpZGUgaXQgd2l0aCB0aGUgbmV3IHZhbHVlXG4gICAgICB0aGlzLnJlbW92ZUZpbHRlcihmaWx0ZXIucHJvcGVydHkpO1xuICAgICAgdGhpcy5maWx0ZXJzLnB1c2goZmlsdGVyKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGZpbHRlciBmcm9tIHRoZSBxdWVyeS5cbiAgICpcbiAgICogQHBhcmFtIGZpbHRlclByb3BlcnR5TmFtZSBUaGUgZmlsdGVyIChpdHMgcHJvcGVydHkgbmFtZSkgdG8gYmUgcmVtb3ZlZFxuICAgKi9cbiAgcHVibGljIHJlbW92ZUZpbHRlcihmaWx0ZXJQcm9wZXJ0eU5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuZmlsdGVycyA9IHRoaXMuZmlsdGVycy5maWx0ZXIoZiA9PiBmLnByb3BlcnR5ICE9PSBmaWx0ZXJQcm9wZXJ0eU5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgb3IgcmVtb3ZlcyB0aGUgZ2l2ZW4gZmlsdGVyIGJhc2VkIG9uIHRoZSBjdXJyZW50IHNldHRpbmdzXG4gICAqXG4gICAqIEBwYXJhbSBmaWx0ZXIgVGhlIGZpbHRlciB0byBiZSB0b2dnbGVkXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlRmlsdGVyKGZpbHRlcjogU2VhcmNoRmlsdGVyLCBvdmVycmlkZT86IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5nZXRGaWx0ZXIoZmlsdGVyLnByb3BlcnR5KSkge1xuICAgICAgdGhpcy5yZW1vdmVGaWx0ZXIoZmlsdGVyLnByb3BlcnR5KTtcbiAgICAgIGlmIChvdmVycmlkZSkge1xuICAgICAgICB0aGlzLmZpbHRlcnMucHVzaChmaWx0ZXIpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbHRlcnMucHVzaChmaWx0ZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYSBmaWx0ZXIgYnkgaXRzIHByb3BlcnR5IG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wZXJ0eU5hbWUgVGhlIGZpbHRlcnMgcHJvcGVydHkgbmFtZSAocW5hbWUgb2YgZm9ybSBlbGVtZW50KVxuICAgKiBAcmV0dXJucyBTZWFyY2ggRmlsdGVyIE9iamVjdFxuICAgKi9cbiAgcHVibGljIGdldEZpbHRlcihwcm9wZXJ0eU5hbWU6IHN0cmluZyk6IFNlYXJjaEZpbHRlciB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVycy5maW5kKGYgPT4gZi5wcm9wZXJ0eSA9PT0gcHJvcGVydHlOYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUYWJsZUZpbHRlcnMocHJvcGVydHlOYW1lOiBzdHJpbmcpOiBTZWFyY2hGaWx0ZXJbXSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVycy5maWx0ZXIoZiA9PiBmLnByb3BlcnR5LnN0YXJ0c1dpdGgocHJvcGVydHlOYW1lICsgJy4nKSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkaW5nIG5ldyBTb3J0IE9wdGlvbnNcbiAgICogU29ydCBPcHRpb25zIGFyZSBvbmx5IGFkZGVkIGlmIHRoZXkgYXJlIG5vdCBhbHJlYWR5IHByZXNlbnRcbiAgICpcbiAgICogQHBhcmFtIG5hbWVcbiAgICogQHBhcmFtIG9yZGVyXG4gICAqIEBwYXJhbSBtaXNzaW5nXG4gICAqL1xuICBwdWJsaWMgYWRkU29ydE9wdGlvbihuYW1lOiBzdHJpbmcsIG9yZGVyOiBzdHJpbmcsIG1pc3Npbmc/OiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuc29ydE9wdGlvbnMuZmluZChzID0+IHMuZmllbGQgPT09IG5hbWUpKSB7XG4gICAgICB0aGlzLnNvcnRPcHRpb25zLnB1c2gobmV3IFNvcnRPcHRpb24obmFtZSwgb3JkZXIsIG1pc3NpbmcpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIG5hbWVcbiAgICovXG4gIHB1YmxpYyByZW1vdmVTb3J0T3B0aW9uKG5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuc29ydE9wdGlvbnMgPSB0aGlzLnNvcnRPcHRpb25zLmZpbHRlcihzID0+IHMuZmllbGQgIT09IG5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGEgcXVlcnkgSlNPTiBmcm9tIHRoZSBjdXJyZW50IFNlYXJjaFF1ZXJ5IHRoYXQgY2FuIGJlIHNlbmQgdG8gdGhlIHNlYXJjaCBzZXJ2aWNlLlxuICAgKi9cbiAgcHVibGljIGdldFF1ZXJ5SnNvbigpIHtcbiAgICAvLyBDb252ZXJ0IHRoZSBjdXJyZW50IHF1ZXJ5IG9iamVjdCB0byBhIHF1ZXJ5IEpTT04gdGhhdCBjYW4gYmUgY29uc3VtZWQgYnkgdGhlIHNlYXJjaCBzZXJ2aWNlIGJhY2tlbmQuXG4gICAgLy8gVG8ga2VlcCBpdCBzaG9ydCwgd2UnbGwgb25seSBhZGQgcHJvcGVydGllcyB0aGF0IGFyZSBzZXQgYW5kIGRpZmZlciBmcm9tIGRlZmF1bHQgdmFsdWVzXG4gICAgY29uc3QgcXVlcnlKc29uOiBhbnkgPSB7fTtcblxuICAgIC8vIGFkZCB0eXBlIGZpbHRlcnNcbiAgICBpZiAodGhpcy50eXBlcy5sZW5ndGggPiAwKSB7XG4gICAgICBxdWVyeUpzb24udHlwZXMgPSB0aGlzLnR5cGVzLm1hcCh0ID0+XG4gICAgICAgIHR5cGVvZiB0ID09PSBcInN0cmluZ1wiID8gdCA6IHQubmFtZVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBhZGQgY29udGV4dCBmb2xkZXIgdHlwZSBmaWx0ZXJzXG4gICAgaWYgKHRoaXMuY29udGV4dEZvbGRlclR5cGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHF1ZXJ5SnNvbi5jb250ZXh0Zm9sZGVydHlwZXMgPSB0aGlzLmNvbnRleHRGb2xkZXJUeXBlcy5tYXAodCA9PiB0Lm5hbWUpO1xuICAgIH1cblxuICAgIC8vIGZpbHRlcnNcbiAgICBpZiAodGhpcy5maWx0ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHF1ZXJ5SnNvbi5maWx0ZXJzID0ge307XG4gICAgICB0aGlzLmZpbHRlcnMuZm9yRWFjaChmID0+IHtcbiAgICAgICAgcXVlcnlKc29uLmZpbHRlcnNbZi5wcm9wZXJ0eV0gPSBmLnRvUXVlcnkoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy50ZXJtKSB7XG4gICAgICBxdWVyeUpzb24udGVybSA9IHRoaXMudGVybTtcbiAgICB9XG4gICAgLy8gc2VhcmNoIGZpZWxkc1xuICAgIGlmICh0aGlzLmZpZWxkcykge1xuICAgICAgcXVlcnlKc29uLmZpZWxkcyA9IHRoaXMuZmllbGRzO1xuICAgIH1cbiAgICBpZiAodGhpcy5uYW1lKSB7XG4gICAgICBxdWVyeUpzb24ubmFtZSA9IHRoaXMubmFtZTtcbiAgICB9XG4gICAgLy8gYWRkIG9wdGlvbnMgd2hlbiB0aGV5IGRpZmZlciBmcm9tIHRoZSBkZWZhdWx0IHZhbHVlc1xuICAgIGlmICh0aGlzLmFwcGx5T3B0aW9ucygpKSB7XG4gICAgICBxdWVyeUpzb24ub3B0aW9ucyA9IHt9O1xuICAgICAgcXVlcnlKc29uLm9wdGlvbnMuc2NvcGUgPSB0aGlzLnNjb3BlO1xuICAgICAgaWYgKHRoaXMuc3VnZ2VzdCkge1xuICAgICAgICBxdWVyeUpzb24ub3B0aW9ucy5zdWdnZXN0ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmV4cGVydE1vZGUpIHtcbiAgICAgICAgcXVlcnlKc29uLm9wdGlvbnMuZXhwZXJ0bW9kZSA9IHRydWU7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5yZXNvbHZlUmVmZXJlbmNlKSB7XG4gICAgICAgIHF1ZXJ5SnNvbi5vcHRpb25zLnJlc29sdmVSZWZlcmVuY2UgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuc2VhcmNoTW9kZSAhPT0gU2VhcmNoUXVlcnkuREVGQVVMVF9TRUFSQ0hfTU9ERSkge1xuICAgICAgICBxdWVyeUpzb24ub3B0aW9ucy5zZWFyY2htb2RlID0gdGhpcy5zZWFyY2hNb2RlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuc29ydE9wdGlvbnMgJiYgdGhpcy5zb3J0T3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgcXVlcnlKc29uLm9wdGlvbnMuc29ydCA9IHt9O1xuICAgICAgICB0aGlzLnNvcnRPcHRpb25zLmZvckVhY2goKHNvcnRPcHRpb246IFNvcnRPcHRpb24pID0+IHtcbiAgICAgICAgICBxdWVyeUpzb24ub3B0aW9ucy5zb3J0W3NvcnRPcHRpb24uZmllbGRdID0ge1xuICAgICAgICAgICAgb3JkZXI6IHNvcnRPcHRpb24ub3JkZXJcbiAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuaGlnaGxpZ2h0aW5nKSB7XG4gICAgICAgIHF1ZXJ5SnNvbi5vcHRpb25zLmhpZ2hsaWdodGluZyA9IHRoaXMuaGlnaGxpZ2h0aW5nO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMud2l0aENvbnRleHQpIHtcbiAgICAgICAgcXVlcnlKc29uLm9wdGlvbnMud2l0aENvbnRleHQgPSB0aGlzLndpdGhDb250ZXh0O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcXVlcnlKc29uO1xuICB9XG5cbiAgLy8gZGV0ZXJtaW5lcyB3aGV0aGVyIG9yIG5vdCB0aGUgcXVlcnkgc2VuZCB0byB0aGUgc2VhcmNoIHNlcnZpY2Ugc2hvdWxkIGNvbnRhaW4gb3B0aW9uc1xuICBwcml2YXRlIGFwcGx5T3B0aW9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5leHBlcnRNb2RlIHx8XG4gICAgICAhIXRoaXMuc2NvcGUgfHxcbiAgICAgIHRoaXMuc3VnZ2VzdCB8fFxuICAgICAgdGhpcy5oaWdobGlnaHRpbmcgfHxcbiAgICAgIHRoaXMucmVzb2x2ZVJlZmVyZW5jZSB8fFxuICAgICAgdGhpcy53aXRoQ29udGV4dCB8fFxuICAgICAgdGhpcy5zZWFyY2hNb2RlICE9PSBTZWFyY2hRdWVyeS5ERUZBVUxUX1NFQVJDSF9NT0RFIHx8XG4gICAgICB0aGlzLnNvcnRPcHRpb25zLmxlbmd0aCA+IDBcbiAgICApO1xuICB9XG59XG5cbi8qKlxuICogQGlnbm9yZVxuICogQ3JlYXRlcyB0aGUgTW9kZWwgb2YgU29ydCBPcHRpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBTb3J0T3B0aW9uIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGZpZWxkOiBzdHJpbmcsXG4gICAgcHVibGljIG9yZGVyOiBzdHJpbmcsXG4gICAgcHVibGljIG1pc3Npbmc/OiBzdHJpbmdcbiAgKSB7fVxufVxuXG4vKipcbiAqIEBpZ25vcmVcbiAqIENyZWF0ZXMgdGhlIE1vZGVsIG9mIEZpZWxkIERlZmluaXRpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBGaWVsZERlZmluaXRpb24ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWxlbWVudHM6IGFueVtdID0gW10sXG4gICAgcHVibGljIHNvcnRvcmRlcjogYW55W10gPSBbXSxcbiAgICBwdWJsaWMgZ3JvdXBvcmRlcjogYW55W10gPSBbXSxcbiAgICBwdWJsaWMgcGlubmVkOiBhbnlbXSA9IFtdLFxuICAgIHB1YmxpYyBtb2RlPzogc3RyaW5nXG4gICkge31cbn1cblxuLyoqXG4gKiBAaWdub3JlXG4gKiBDbGFzcyByZXByZXNlbnRpbmcgdGhlIHN0YXRlIG9mIGEgcXVlcnlcbiAqL1xuZXhwb3J0IGNsYXNzIFNlYXJjaFN0YXRlIHtcbiAgcHVibGljIGNvdW50OiB7dmFsdWU6IG51bWJlciwgcmVsYXRpb24/OiBzdHJpbmd9O1xuICBwdWJsaWMgYWdncmVnYXRpb25zO1xuICBwdWJsaWMgbGFzdENoYW5nZT86IHN0cmluZztcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5hZ2dyZWdhdGlvbnMgPSB7XG4gICAgICB0eXBlOiBuZXcgTWFwPHN0cmluZywgbnVtYmVyPigpLFxuICAgICAgY29udGV4dFR5cGU6IG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCksXG4gICAgICBjcmVhdGVkOiBbXSxcbiAgICAgIG1vZGlmaWVkOiBbXSxcbiAgICAgIG1pbWV0eXBlZ3JvdXA6IFtdLFxuICAgICAgZmlsZXNpemU6IFtdXG4gICAgfTtcbiAgfVxuXG4gIGdldCB0b3RhbENvdW50KCkge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuYWdncmVnYXRpb25zLnR5cGUudmFsdWVzKCkpLnJlZHVjZSgoYWNjOiBudW1iZXIsIGN1cjogbnVtYmVyKSA9PiBhY2MgKyBjdXIsIDApIGFzIG51bWJlcjtcbiAgfVxuXG4gIGdldCBpc0VtcHR5KCkge1xuICAgIHJldHVybiAhKHRoaXMuY291bnQgJiYgdGhpcy5jb3VudC52YWx1ZSk7XG4gIH1cblxuICBhZGRBZ2dyZWdhdGlvbnModHlwZTogc3RyaW5nLCBrZXk6IHN0cmluZywgdmFsdWU6IG51bWJlciwgYWdnPykge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBcImNvbnRleHR0eXBlXCI6IHtcbiAgICAgICAgdGhpcy5hZ2dyZWdhdGlvbnMuY29udGV4dFR5cGUuc2V0KGtleSwgdmFsdWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgU2VhcmNoUXVlcnkuQkFTRV9QQVJBTVMuVFlQRToge1xuICAgICAgICB0aGlzLmFnZ3JlZ2F0aW9ucy50eXBlLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIFNlYXJjaFF1ZXJ5LkJBU0VfUEFSQU1TLkNSRUFURUQ6IHtcbiAgICAgICAgdGhpcy5hZ2dyZWdhdGlvbnMuY3JlYXRlZC5wdXNoKHtcbiAgICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgICB2YWx1ZTogdmFsdWVcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBTZWFyY2hRdWVyeS5CQVNFX1BBUkFNUy5NT0RJRklFRDoge1xuICAgICAgICB0aGlzLmFnZ3JlZ2F0aW9ucy5tb2RpZmllZC5wdXNoKHtcbiAgICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgICB2YWx1ZTogdmFsdWVcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBTZWFyY2hRdWVyeS5CQVNFX1BBUkFNUy5NSU1FVFlQRUdST1VQOiB7XG4gICAgICAgIHRoaXMuYWdncmVnYXRpb25zLm1pbWV0eXBlZ3JvdXAucHVzaCh7XG4gICAgICAgICAga2V5OiBrZXksXG4gICAgICAgICAgdmFsdWU6IHZhbHVlXG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgU2VhcmNoUXVlcnkuQkFTRV9QQVJBTVMuRklMRVNJWkU6IHtcbiAgICAgICAgdGhpcy5hZ2dyZWdhdGlvbnMuZmlsZXNpemUucHVzaCh7XG4gICAgICAgICAga2V5OiBrZXksXG4gICAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICAgIGZyb206IGFnZy5mcm9tLFxuICAgICAgICAgIHRvOiBhZ2cudG8gfHwgSW5maW5pdHksXG4gICAgICAgICAgbGFiZWw6IGtleS5yZXBsYWNlKFwiZ3RcIiwgXCI+IFwiKS5yZXBsYWNlKFwibHRcIiwgXCI8IFwiKVxuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQGlnbm9yZVxuICogQ3JlYXRlcyB0aGUgTW9kZWwgb2YgU2VhcmNoIFJlc3VsdHNcbiAqL1xuZXhwb3J0IGNsYXNzIFNlYXJjaFJlc3VsdCB7XG4gIHB1YmxpYyBjb3VudDoge3ZhbHVlOiBudW1iZXIsIHJlbGF0aW9uPzogc3RyaW5nfTtcbiAgcHVibGljIHN1Z2dlc3RzOiBzdHJpbmdbXTtcbiAgcHVibGljIGhpdHM6IGFueVtdO1xuICBwdWJsaWMgdHlwZU5hbWU6IHN0cmluZztcbiAgcHVibGljIGZpZWxkczogRmllbGREZWZpbml0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cbn1cblxuZXhwb3J0IGNsYXNzIFNlYXJjaEZpbHRlciB7XG4gIC8qKlxuICAgKiBhdmFpbGFibGUgb3BlcmF0b3JzIGZvciBhIHNlYXJjaCBmaWx0ZXJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgT1BFUkFUT1IgPSB7XG4gICAgLyoqIGVxdWFsICovXG4gICAgRVFVQUw6IFwiZXFcIixcbiAgICAvKiogbWF0Y2ggKGZvciBzdHJpbmcgd2l0aCBjbGFzc2lmaWNhdGlvbiBcInBhdGg2NjY2XCIpICovXG4gICAgTUFUQ0g6IFwibWF0Y2hcIixcbiAgICAvKiogbWF0Y2ggYXQgbGVhc3Qgb25lIG9mIHRoZSBwcm92aWRlZCB2YWx1ZXMgKHZhbHVlIGhhcyB0byBiZSBhbiBhcnJheSkgICovXG4gICAgSU46IFwiaW5cIixcbiAgICAvKiogZ3JlYXRlciB0aGFuICovXG4gICAgR1JFQVRFUl9USEFOOiBcImd0XCIsXG4gICAgLyoqIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCAqL1xuICAgIEdSRUFURVJfT1JfRVFVQUw6IFwiZ3RlXCIsIC8vXG4gICAgTEVTU19USEFOOiBcImx0XCIsIC8vIGxlc3MgdGhhblxuICAgIExFU1NfT1JfRVFVQUw6IFwibHRlXCIsIC8vIGxlc3MgdGhhbiBvciBlcXVhbFxuICAgIElOVEVSVkFMOiBcImd0bHRcIiwgLy8gaW50ZXJ2YWxcbiAgICBJTlRFUlZBTF9JTkNMVURFX0JPVEg6IFwiZ3RlbHRlXCIsIC8vIGludGVydmFsIGluY2x1ZGUgbGVmdCBhbmQgcmlnaHRcbiAgICBJTlRFUlZBTF9JTkNMVURFX1RPOiBcImd0bHRlXCIsIC8vIGludGVydmFsIGluY2x1ZGUgcmlnaHRcbiAgICBJTlRFUlZBTF9JTkNMVURFX0ZST006IFwiZ3RlbHRcIiwgLy8gaW50ZXJ2YWwgaW5jbHVkZSBsZWZ0XG4gICAgUkFOR0U6IFwicmdcIiAvLyBhZ2dlZ2F0aW9uIHJhbmdlc1xuICB9O1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RvciBmb3IgY3JlYXRpbmcgYSBuZXcgU2VhcmNoRmlsdGVyLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcGVydHkgVGhlIHF1YWxpZmllZCBuYW1lIG9mIHRoZSBmaWVsZCB0aGlzIGZpbHRlciBzaG91bGQgYXBwbHkgdG8uXG4gICAqIEBwYXJhbSBvcGVyYXRvciBPcGVyYXRvciBpbmRpY2F0aW5nIGhvdyB0byBoYW5kbGUgdGhlIGZpbHRlcnMgdmFsdWUocykuIFNlZSBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IgZm9yIGF2YWlsYWJsZSBvcGVyYXRvcnMuXG4gICAqIEBwYXJhbSBmaXJzdFZhbHVlIFRoZSBmaWx0ZXJzIHZhbHVlXG4gICAqIEBwYXJhbSBzZWNvbmRWYWx1ZSBPcHRpb25hbCBzZWNvbmQgdmFsdWUgZm9yIGZpbHRlcnMgdGhhdCBmb3IgZXhhbXBsZSBkZWZpbmUgcmFuZ2VzIG9mIHZhbHVlc1xuICAgKiBAcGFyYW0gdHJhbnNmb3JtRGF0ZSBGbGFnIHRvIHRyYW5zZm9ybSBkYXRlIGhvdXJzIGFuZCBtaW51dGVzIGJhc2VkIG9uIG9wZXJhdG9yXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcHJvcGVydHk6IHN0cmluZyxcbiAgICBwdWJsaWMgb3BlcmF0b3I6IHN0cmluZyxcbiAgICBwdWJsaWMgZmlyc3RWYWx1ZTogYW55LFxuICAgIHB1YmxpYyBzZWNvbmRWYWx1ZT86IGFueSxcbiAgICBwdWJsaWMgdHJhbnNmb3JtRGF0ZT86IHt0aW1lPzogYm9vbGVhbjsgdGltZXpvbmU/OiBib29sZWFufVxuICApIHt9XG5cbiAgZm9ybWF0RGF0ZSh2YWx1ZTogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtRGF0ZSAmJiB2YWx1ZVxuICAgICAgPyB0aGlzLnRyYW5zZm9ybURhdGUudGltZXpvbmVcbiAgICAgICAgPyBuZXcgRGF0ZVBpcGUoXCJlblwiKS50cmFuc2Zvcm0odmFsdWUsIFwieXl5eS1NTS1kZFRaXCIpXG4gICAgICAgIDogdGhpcy50cmFuc2Zvcm1EYXRlLnRpbWVcbiAgICAgICAgICA/IG5ldyBEYXRlKHZhbHVlKS50b0lTT1N0cmluZygpLnNsaWNlKDAsIDE2KSArIFwiWlwiXG4gICAgICAgICAgOiBuZXcgRGF0ZVBpcGUoXCJlblwiKS50cmFuc2Zvcm0odmFsdWUsIFwieXl5eS1NTS1kZFwiKVxuICAgICAgOiB2YWx1ZTtcbiAgfVxuXG4gIHRvUXVlcnkoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG86IHRoaXMub3BlcmF0b3IsXG4gICAgICB2MTogdGhpcy5mb3JtYXREYXRlKHRoaXMuZmlyc3RWYWx1ZSksXG4gICAgICAuLi4odGhpcy5zZWNvbmRWYWx1ZSAmJiB7djI6IHRoaXMuZm9ybWF0RGF0ZSh0aGlzLnNlY29uZFZhbHVlKX0pXG4gICAgfTtcbiAgfVxuXG4gIHRvRGF0ZVRpbWVRdWVyeSgpIHtcbiAgICBpZiAodGhpcy50cmFuc2Zvcm1EYXRlICYmIHRoaXMudHJhbnNmb3JtRGF0ZS50aW1lem9uZSAmJiB0aGlzLmZpcnN0VmFsdWUpIHtcbiAgICAgIGxldCBmaXJzdFZhbHVlID0gdGhpcy5maXJzdFZhbHVlO1xuICAgICAgbGV0IHNlY29uZFZhbHVlID0gdGhpcy5zZWNvbmRWYWx1ZTtcbiAgICAgIGNvbnN0IGVuZERhdGUgPSBuZXcgRGF0ZShzZWNvbmRWYWx1ZSB8fCBmaXJzdFZhbHVlKTtcbiAgICAgIGVuZERhdGUuc2V0SG91cnMoMjMsIDU5LCA1OSwgOTk5KTtcbiAgICAgIGlmICh0aGlzLm9wZXJhdG9yID09PSBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuTEVTU19PUl9FUVVBTCkge1xuICAgICAgICBmaXJzdFZhbHVlID0gZW5kRGF0ZS50b0lTT1N0cmluZygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc3RhcnREYXRlID0gbmV3IERhdGUoZmlyc3RWYWx1ZSk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLm9wZXJhdG9yID09PSBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuR1JFQVRFUl9USEFOIHx8XG4gICAgICAgICAgdGhpcy5vcGVyYXRvciA9PT0gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLklOVEVSVkFMXG4gICAgICAgICkge1xuICAgICAgICAgIHN0YXJ0RGF0ZS5zZXRIb3VycygyMywgNTksIDU5LCA5OTkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0YXJ0RGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgICAgICAgfVxuICAgICAgICBmaXJzdFZhbHVlID0gc3RhcnREYXRlLnRvSVNPU3RyaW5nKCk7XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMub3BlcmF0b3IgPT09IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5JTlRFUlZBTF9JTkNMVURFX0JPVEggfHxcbiAgICAgICAgdGhpcy5vcGVyYXRvciA9PT0gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLkVRVUFMXG4gICAgICApIHtcbiAgICAgICAgc2Vjb25kVmFsdWUgPSBlbmREYXRlLnRvSVNPU3RyaW5nKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBvOlxuICAgICAgICAgIHRoaXMub3BlcmF0b3IgPT09IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5FUVVBTFxuICAgICAgICAgICAgPyBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuSU5URVJWQUxfSU5DTFVERV9CT1RIXG4gICAgICAgICAgICA6IHRoaXMub3BlcmF0b3IsXG4gICAgICAgIHYxOiBmaXJzdFZhbHVlLFxuICAgICAgICAuLi4oc2Vjb25kVmFsdWUgJiYge3YyOiBzZWNvbmRWYWx1ZX0pXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy50b1F1ZXJ5KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIG1hdGNoKFxuICAgIHByb3BlcnR5OiBzdHJpbmcsXG4gICAgb3BlcmF0b3I6IHN0cmluZyxcbiAgICBmaXJzdFZhbHVlOiBhbnksXG4gICAgc2Vjb25kVmFsdWU/OiBhbnlcbiAgKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMucHJvcGVydHkgPT09IHByb3BlcnR5ICYmXG4gICAgICB0aGlzLm9wZXJhdG9yID09PSBvcGVyYXRvciAmJlxuICAgICAgdGhpcy5zZWNvbmRWYWx1ZSA9PT0gc2Vjb25kVmFsdWUgJiZcbiAgICAgICh0aGlzLmZpcnN0VmFsdWUgaW5zdGFuY2VvZiBBcnJheVxuICAgICAgICA/ICEhdGhpcy5maXJzdFZhbHVlLmZpbmQodiA9PiB2ID09PSBmaXJzdFZhbHVlKVxuICAgICAgICA6IHRoaXMuZmlyc3RWYWx1ZSA9PT0gZmlyc3RWYWx1ZSlcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -383,6 +383,9 @@ class SearchQuery {
|
|
|
383
383
|
if (this.fields) {
|
|
384
384
|
queryJson.fields = this.fields;
|
|
385
385
|
}
|
|
386
|
+
if (this.name) {
|
|
387
|
+
queryJson.name = this.name;
|
|
388
|
+
}
|
|
386
389
|
// add options when they differ from the default values
|
|
387
390
|
if (this.applyOptions()) {
|
|
388
391
|
queryJson.options = {};
|
|
@@ -3878,7 +3881,7 @@ class AuthService {
|
|
|
3878
3881
|
'Content-Type': 'application/json'
|
|
3879
3882
|
});
|
|
3880
3883
|
return this.http
|
|
3881
|
-
.get(`${host || ''}${this.config.getLoginBase()}/auth/info`, { headers })
|
|
3884
|
+
.get(`${host || ''}${this.config.getLoginBase()}/auth/info`, { headers, withCredentials: this.coreConfig.withCredentials })
|
|
3882
3885
|
.pipe(switchMap((info) => {
|
|
3883
3886
|
this.gatewayInfo = info;
|
|
3884
3887
|
this.envService.cloudEnvironment = (this.gatewayInfo && this.gatewayInfo.oauth2);
|