@dotglitch/ngx-common 2.0.0 → 3.0.0-beta.2
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/README.md +37 -22
- package/{components/command-palette → command-palette}/breadcrumb/breadcrumb.component.d.ts +1 -1
- package/{components/command-palette → command-palette}/command-palette.component.d.ts +1 -1
- package/{services → command-palette}/command-palette.service.d.ts +2 -2
- package/command-palette/index.d.ts +2 -0
- package/{components/command-palette → command-palette}/shortcut/shortcut.component.d.ts +1 -1
- package/{components → core/components}/menu/menu.component.d.ts +2 -2
- package/{directives → core/components/menu}/menu.directive.d.ts +1 -1
- package/{types/menu.d.ts → core/components/menu/types.d.ts} +1 -1
- package/{components → core/components}/types.d.ts +0 -1
- package/{public-api.d.ts → core/index.d.ts} +12 -20
- package/{services → core/services}/navigation.service.d.ts +1 -1
- package/core/utils/index.d.ts +18 -0
- package/esm2022/{components/command-palette → command-palette}/breadcrumb/breadcrumb.component.mjs +1 -1
- package/esm2022/command-palette/command-palette.component.mjs +257 -0
- package/esm2022/command-palette/command-palette.service.mjs +207 -0
- package/esm2022/command-palette/dotglitch-ngx-common-command-palette.mjs +5 -0
- package/esm2022/command-palette/index.mjs +3 -0
- package/esm2022/{components/command-palette → command-palette}/shortcut/shortcut.component.mjs +1 -1
- package/esm2022/core/components/lazy-loader/lazy-loader.component.mjs +383 -0
- package/esm2022/core/components/lazy-loader/lazy-loader.module.mjs +33 -0
- package/esm2022/core/components/lazy-loader/lazy-loader.service.mjs +216 -0
- package/esm2022/core/components/lazy-loader/types.mjs +26 -0
- package/esm2022/core/components/menu/menu.component.mjs +433 -0
- package/esm2022/core/components/menu/menu.directive.mjs +159 -0
- package/esm2022/core/components/menu/types.mjs +2 -0
- package/esm2022/core/components/parallax-card/parallax-card.component.mjs +138 -0
- package/esm2022/core/components/types.mjs +3 -0
- package/esm2022/core/directives/image-cache.directive.mjs +143 -0
- package/esm2022/core/directives/utils.mjs +120 -0
- package/esm2022/core/dotglitch-ngx-common-core.mjs +5 -0
- package/esm2022/core/index.mjs +50 -0
- package/esm2022/core/pipes/html-bypass.pipe.mjs +27 -0
- package/esm2022/core/pipes/resource-bypass.pipe.mjs +27 -0
- package/esm2022/core/pipes/script-bypass.pipe.mjs +27 -0
- package/esm2022/core/pipes/style-bypass.pipe.mjs +27 -0
- package/esm2022/core/pipes/url-bypass.pipe.mjs +27 -0
- package/esm2022/core/services/dependency.service.mjs +55 -0
- package/esm2022/core/services/dialog.service.mjs +67 -0
- package/esm2022/core/services/fetch.service.mjs +74 -0
- package/esm2022/core/services/file.service.mjs +42 -0
- package/esm2022/core/services/keyboard.service.mjs +128 -0
- package/esm2022/core/services/navigation.service.mjs +50 -0
- package/esm2022/core/services/theme.service.mjs +64 -0
- package/esm2022/core/types/popup.mjs +2 -0
- package/esm2022/core/utils/index.mjs +69 -0
- package/esm2022/dotglitch-ngx-common.mjs +2 -2
- package/esm2022/filemanager/dotglitch-ngx-common-filemanager.mjs +5 -0
- package/esm2022/filemanager/file-grid/file-grid.component.mjs +676 -0
- package/esm2022/{components/filemanager → filemanager}/filemanager.component.mjs +13 -14
- package/esm2022/{components/filemanager → filemanager}/folder-rename/folder-rename.component.mjs +2 -2
- package/esm2022/filemanager/helpers.mjs +26 -0
- package/esm2022/filemanager/icon-resolver.mjs +155 -0
- package/esm2022/filemanager/index.mjs +2 -0
- package/esm2022/filemanager/mat-icons.mjs +5705 -0
- package/esm2022/filemanager/textextensions.mjs +294 -0
- package/esm2022/{components/filemanager → filemanager}/toolbar/breadcrumb/breadcrumb.component.mjs +1 -1
- package/esm2022/{components/filemanager → filemanager}/toolbar/icon-button/icon-button.component.mjs +1 -1
- package/esm2022/filemanager/toolbar/toolbar.component.mjs +165 -0
- package/esm2022/{components/filemanager → filemanager}/tree-view/tree-view.component.mjs +1 -1
- package/esm2022/filemanager/types.mjs +2 -0
- package/esm2022/index.mjs +3 -0
- package/esm2022/monaco-editor/dotglitch-ngx-common-monaco-editor.mjs +5 -0
- package/esm2022/monaco-editor/index.mjs +2 -0
- package/esm2022/monaco-editor/monaco-editor.component.mjs +234 -0
- package/esm2022/monaco-editor/ts-type-resolver/dependency-parser.mjs +91 -0
- package/esm2022/monaco-editor/ts-type-resolver/dummy-source-cache.mjs +15 -0
- package/esm2022/monaco-editor/ts-type-resolver/import-resolver.mjs +311 -0
- package/esm2022/monaco-editor/ts-type-resolver/main.mjs +112 -0
- package/esm2022/monaco-editor/ts-type-resolver/recursion-depth.mjs +21 -0
- package/esm2022/monaco-editor/ts-type-resolver/types.mjs +14 -0
- package/esm2022/monaco-editor/ts-type-resolver/unpkg-source-resolver.mjs +21 -0
- package/esm2022/monaco-editor/ts-type-resolver/update-emitter.mjs +37 -0
- package/esm2022/overlay-wrapper/dotglitch-ngx-common-overlay-wrapper.mjs +5 -0
- package/esm2022/overlay-wrapper/index.mjs +2 -0
- package/esm2022/overlay-wrapper/overlay-wrapper.component.mjs +247 -0
- package/esm2022/tooltip/dotglitch-ngx-common-tooltip.mjs +5 -0
- package/esm2022/tooltip/index.mjs +4 -0
- package/esm2022/tooltip/tooltip.component.mjs +204 -0
- package/esm2022/tooltip/tooltip.directive.mjs +153 -0
- package/esm2022/tooltip/types.mjs +2 -0
- package/fesm2022/dotglitch-ngx-common-command-palette.mjs +508 -0
- package/fesm2022/dotglitch-ngx-common-command-palette.mjs.map +1 -0
- package/fesm2022/dotglitch-ngx-common-core.mjs +2280 -0
- package/fesm2022/dotglitch-ngx-common-core.mjs.map +1 -0
- package/fesm2022/{dotglitch-ngx-common-folder-rename.component-Bh1IiRvd.mjs → dotglitch-ngx-common-filemanager-folder-rename.component-CnKuU8nn.mjs} +9 -30
- package/fesm2022/dotglitch-ngx-common-filemanager-folder-rename.component-CnKuU8nn.mjs.map +1 -0
- package/fesm2022/dotglitch-ngx-common-filemanager.mjs +7403 -0
- package/fesm2022/dotglitch-ngx-common-filemanager.mjs.map +1 -0
- package/fesm2022/dotglitch-ngx-common-monaco-editor.mjs +850 -0
- package/fesm2022/dotglitch-ngx-common-monaco-editor.mjs.map +1 -0
- package/fesm2022/dotglitch-ngx-common-overlay-wrapper.mjs +254 -0
- package/fesm2022/dotglitch-ngx-common-overlay-wrapper.mjs.map +1 -0
- package/fesm2022/dotglitch-ngx-common-tooltip.mjs +357 -0
- package/fesm2022/dotglitch-ngx-common-tooltip.mjs.map +1 -0
- package/fesm2022/dotglitch-ngx-common.mjs +3 -11686
- package/fesm2022/dotglitch-ngx-common.mjs.map +1 -1
- package/{components/filemanager → filemanager}/file-grid/file-grid.component.d.ts +7 -14
- package/{components/filemanager → filemanager}/filemanager.component.d.ts +4 -5
- package/{components/filemanager → filemanager}/folder-rename/folder-rename.component.d.ts +1 -1
- package/{components/filemanager → filemanager}/helpers.d.ts +1 -1
- package/filemanager/index.d.ts +1 -0
- package/{components/filemanager → filemanager}/toolbar/toolbar.component.d.ts +2 -2
- package/filemanager/types.d.ts +1 -0
- package/index.d.ts +1 -5
- package/monaco-editor/README.md +3 -0
- package/monaco-editor/index.d.ts +1 -0
- package/monaco-editor/monaco-editor.component.d.ts +53 -0
- package/overlay-wrapper/index.d.ts +1 -0
- package/overlay-wrapper/overlay-wrapper.component.d.ts +11 -0
- package/package.json +108 -47
- package/tooltip/index.d.ts +3 -0
- package/{components/tooltip → tooltip}/tooltip.component.d.ts +3 -3
- package/{directives → tooltip}/tooltip.directive.d.ts +2 -2
- package/{types/tooltip.d.ts → tooltip/types.d.ts} +1 -1
- package/assets/lib/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
- package/assets/lib/vs/base/common/worker/simpleWorker.nls.de.js +0 -8
- package/assets/lib/vs/base/common/worker/simpleWorker.nls.es.js +0 -8
- package/assets/lib/vs/base/common/worker/simpleWorker.nls.fr.js +0 -8
- package/assets/lib/vs/base/common/worker/simpleWorker.nls.it.js +0 -8
- package/assets/lib/vs/base/common/worker/simpleWorker.nls.ja.js +0 -8
- package/assets/lib/vs/base/common/worker/simpleWorker.nls.js +0 -8
- package/assets/lib/vs/base/common/worker/simpleWorker.nls.ko.js +0 -8
- package/assets/lib/vs/base/common/worker/simpleWorker.nls.ru.js +0 -8
- package/assets/lib/vs/base/common/worker/simpleWorker.nls.zh-cn.js +0 -8
- package/assets/lib/vs/base/common/worker/simpleWorker.nls.zh-tw.js +0 -8
- package/assets/lib/vs/base/worker/workerMain.js +0 -24
- package/assets/lib/vs/basic-languages/abap/abap.js +0 -10
- package/assets/lib/vs/basic-languages/apex/apex.js +0 -10
- package/assets/lib/vs/basic-languages/azcli/azcli.js +0 -10
- package/assets/lib/vs/basic-languages/bat/bat.js +0 -10
- package/assets/lib/vs/basic-languages/bicep/bicep.js +0 -11
- package/assets/lib/vs/basic-languages/cameligo/cameligo.js +0 -10
- package/assets/lib/vs/basic-languages/clojure/clojure.js +0 -10
- package/assets/lib/vs/basic-languages/coffee/coffee.js +0 -10
- package/assets/lib/vs/basic-languages/cpp/cpp.js +0 -10
- package/assets/lib/vs/basic-languages/csharp/csharp.js +0 -10
- package/assets/lib/vs/basic-languages/csp/csp.js +0 -10
- package/assets/lib/vs/basic-languages/css/css.js +0 -12
- package/assets/lib/vs/basic-languages/cypher/cypher.js +0 -10
- package/assets/lib/vs/basic-languages/dart/dart.js +0 -10
- package/assets/lib/vs/basic-languages/dockerfile/dockerfile.js +0 -10
- package/assets/lib/vs/basic-languages/ecl/ecl.js +0 -10
- package/assets/lib/vs/basic-languages/elixir/elixir.js +0 -10
- package/assets/lib/vs/basic-languages/flow9/flow9.js +0 -10
- package/assets/lib/vs/basic-languages/freemarker2/freemarker2.js +0 -12
- package/assets/lib/vs/basic-languages/fsharp/fsharp.js +0 -10
- package/assets/lib/vs/basic-languages/go/go.js +0 -10
- package/assets/lib/vs/basic-languages/graphql/graphql.js +0 -10
- package/assets/lib/vs/basic-languages/handlebars/handlebars.js +0 -10
- package/assets/lib/vs/basic-languages/hcl/hcl.js +0 -10
- package/assets/lib/vs/basic-languages/html/html.js +0 -10
- package/assets/lib/vs/basic-languages/ini/ini.js +0 -10
- package/assets/lib/vs/basic-languages/java/java.js +0 -10
- package/assets/lib/vs/basic-languages/javascript/javascript.js +0 -10
- package/assets/lib/vs/basic-languages/julia/julia.js +0 -10
- package/assets/lib/vs/basic-languages/kotlin/kotlin.js +0 -10
- package/assets/lib/vs/basic-languages/less/less.js +0 -11
- package/assets/lib/vs/basic-languages/lexon/lexon.js +0 -10
- package/assets/lib/vs/basic-languages/liquid/liquid.js +0 -10
- package/assets/lib/vs/basic-languages/lua/lua.js +0 -10
- package/assets/lib/vs/basic-languages/m3/m3.js +0 -10
- package/assets/lib/vs/basic-languages/markdown/markdown.js +0 -10
- package/assets/lib/vs/basic-languages/mips/mips.js +0 -10
- package/assets/lib/vs/basic-languages/msdax/msdax.js +0 -10
- package/assets/lib/vs/basic-languages/mysql/mysql.js +0 -10
- package/assets/lib/vs/basic-languages/objective-c/objective-c.js +0 -10
- package/assets/lib/vs/basic-languages/pascal/pascal.js +0 -10
- package/assets/lib/vs/basic-languages/pascaligo/pascaligo.js +0 -10
- package/assets/lib/vs/basic-languages/perl/perl.js +0 -10
- package/assets/lib/vs/basic-languages/pgsql/pgsql.js +0 -10
- package/assets/lib/vs/basic-languages/php/php.js +0 -10
- package/assets/lib/vs/basic-languages/pla/pla.js +0 -10
- package/assets/lib/vs/basic-languages/postiats/postiats.js +0 -10
- package/assets/lib/vs/basic-languages/powerquery/powerquery.js +0 -10
- package/assets/lib/vs/basic-languages/powershell/powershell.js +0 -10
- package/assets/lib/vs/basic-languages/protobuf/protobuf.js +0 -11
- package/assets/lib/vs/basic-languages/pug/pug.js +0 -10
- package/assets/lib/vs/basic-languages/python/python.js +0 -10
- package/assets/lib/vs/basic-languages/qsharp/qsharp.js +0 -10
- package/assets/lib/vs/basic-languages/r/r.js +0 -10
- package/assets/lib/vs/basic-languages/razor/razor.js +0 -10
- package/assets/lib/vs/basic-languages/redis/redis.js +0 -10
- package/assets/lib/vs/basic-languages/redshift/redshift.js +0 -10
- package/assets/lib/vs/basic-languages/restructuredtext/restructuredtext.js +0 -10
- package/assets/lib/vs/basic-languages/ruby/ruby.js +0 -10
- package/assets/lib/vs/basic-languages/rust/rust.js +0 -10
- package/assets/lib/vs/basic-languages/sb/sb.js +0 -10
- package/assets/lib/vs/basic-languages/scala/scala.js +0 -10
- package/assets/lib/vs/basic-languages/scheme/scheme.js +0 -10
- package/assets/lib/vs/basic-languages/scss/scss.js +0 -12
- package/assets/lib/vs/basic-languages/shell/shell.js +0 -10
- package/assets/lib/vs/basic-languages/solidity/solidity.js +0 -10
- package/assets/lib/vs/basic-languages/sophia/sophia.js +0 -10
- package/assets/lib/vs/basic-languages/sparql/sparql.js +0 -10
- package/assets/lib/vs/basic-languages/sql/sql.js +0 -10
- package/assets/lib/vs/basic-languages/st/st.js +0 -10
- package/assets/lib/vs/basic-languages/swift/swift.js +0 -13
- package/assets/lib/vs/basic-languages/systemverilog/systemverilog.js +0 -10
- package/assets/lib/vs/basic-languages/tcl/tcl.js +0 -10
- package/assets/lib/vs/basic-languages/twig/twig.js +0 -10
- package/assets/lib/vs/basic-languages/typescript/typescript.js +0 -10
- package/assets/lib/vs/basic-languages/vb/vb.js +0 -10
- package/assets/lib/vs/basic-languages/wgsl/wgsl.js +0 -307
- package/assets/lib/vs/basic-languages/xml/xml.js +0 -10
- package/assets/lib/vs/basic-languages/yaml/yaml.js +0 -10
- package/assets/lib/vs/editor/editor.main.css +0 -6
- package/assets/lib/vs/editor/editor.main.js +0 -752
- package/assets/lib/vs/editor/editor.main.nls.de.js +0 -31
- package/assets/lib/vs/editor/editor.main.nls.es.js +0 -31
- package/assets/lib/vs/editor/editor.main.nls.fr.js +0 -29
- package/assets/lib/vs/editor/editor.main.nls.it.js +0 -29
- package/assets/lib/vs/editor/editor.main.nls.ja.js +0 -31
- package/assets/lib/vs/editor/editor.main.nls.js +0 -29
- package/assets/lib/vs/editor/editor.main.nls.ko.js +0 -29
- package/assets/lib/vs/editor/editor.main.nls.ru.js +0 -31
- package/assets/lib/vs/editor/editor.main.nls.zh-cn.js +0 -31
- package/assets/lib/vs/editor/editor.main.nls.zh-tw.js +0 -29
- package/assets/lib/vs/language/css/cssMode.js +0 -13
- package/assets/lib/vs/language/css/cssWorker.js +0 -81
- package/assets/lib/vs/language/html/htmlMode.js +0 -13
- package/assets/lib/vs/language/html/htmlWorker.js +0 -453
- package/assets/lib/vs/language/json/jsonMode.js +0 -15
- package/assets/lib/vs/language/json/jsonWorker.js +0 -36
- package/assets/lib/vs/language/typescript/tsMode.js +0 -20
- package/assets/lib/vs/language/typescript/tsWorker.js +0 -37016
- package/assets/lib/vs/loader.js +0 -11
- package/assets/mat-icons.ts +0 -5704
- package/assets/material/3d.svg +0 -1
- package/assets/material/abc.svg +0 -1
- package/assets/material/actionscript.svg +0 -1
- package/assets/material/ada.svg +0 -1
- package/assets/material/adonis.svg +0 -1
- package/assets/material/advpl_include.svg +0 -1
- package/assets/material/advpl_prw.svg +0 -1
- package/assets/material/advpl_ptm.svg +0 -1
- package/assets/material/advpl_tlpp.svg +0 -1
- package/assets/material/android.svg +0 -1
- package/assets/material/angular-component.svg +0 -1
- package/assets/material/angular-directive.svg +0 -1
- package/assets/material/angular-guard.svg +0 -1
- package/assets/material/angular-pipe.svg +0 -1
- package/assets/material/angular-resolver.svg +0 -1
- package/assets/material/angular-service.svg +0 -1
- package/assets/material/angular.svg +0 -1
- package/assets/material/antlr.svg +0 -1
- package/assets/material/apiblueprint.svg +0 -1
- package/assets/material/apollo.svg +0 -1
- package/assets/material/applescript.svg +0 -1
- package/assets/material/appveyor.svg +0 -1
- package/assets/material/architecture.svg +0 -1
- package/assets/material/arduino.svg +0 -1
- package/assets/material/asciidoc.svg +0 -1
- package/assets/material/assembly.svg +0 -1
- package/assets/material/astro.svg +0 -1
- package/assets/material/astyle.svg +0 -1
- package/assets/material/audio.svg +0 -1
- package/assets/material/aurelia.svg +0 -1
- package/assets/material/authors.svg +0 -1
- package/assets/material/auto.svg +0 -1
- package/assets/material/auto_light.svg +0 -1
- package/assets/material/autohotkey.svg +0 -1
- package/assets/material/autoit.svg +0 -1
- package/assets/material/azure-pipelines.svg +0 -1
- package/assets/material/azure.svg +0 -1
- package/assets/material/babel.svg +0 -1
- package/assets/material/ballerina.svg +0 -1
- package/assets/material/bazel.svg +0 -1
- package/assets/material/bicep.svg +0 -1
- package/assets/material/bitbucket.svg +0 -13
- package/assets/material/bithound.svg +0 -1
- package/assets/material/blink.svg +0 -1
- package/assets/material/blink_light.svg +0 -1
- package/assets/material/blitz.svg +0 -1
- package/assets/material/bower.svg +0 -1
- package/assets/material/brainfuck.svg +0 -1
- package/assets/material/browserlist.svg +0 -1
- package/assets/material/browserlist_light.svg +0 -1
- package/assets/material/buck.svg +0 -1
- package/assets/material/bucklescript.svg +0 -1
- package/assets/material/buildkite.svg +0 -1
- package/assets/material/bun.svg +0 -2
- package/assets/material/bun_light.svg +0 -2
- package/assets/material/c.svg +0 -4
- package/assets/material/cabal.svg +0 -1
- package/assets/material/caddy.svg +0 -1
- package/assets/material/cadence.svg +0 -1
- package/assets/material/cake.svg +0 -1
- package/assets/material/capacitor.svg +0 -1
- package/assets/material/certificate.svg +0 -1
- package/assets/material/changelog.svg +0 -1
- package/assets/material/chess.svg +0 -1
- package/assets/material/chess_light.svg +0 -1
- package/assets/material/circleci.svg +0 -1
- package/assets/material/circleci_light.svg +0 -1
- package/assets/material/clojure.svg +0 -1
- package/assets/material/cloudfoundry.svg +0 -1
- package/assets/material/cmake.svg +0 -1
- package/assets/material/coala.svg +0 -1
- package/assets/material/cobol.svg +0 -1
- package/assets/material/coconut.svg +0 -1
- package/assets/material/code-climate.svg +0 -1
- package/assets/material/code-climate_light.svg +0 -1
- package/assets/material/codecov.svg +0 -1
- package/assets/material/codeowners.svg +0 -1
- package/assets/material/coffee.svg +0 -1
- package/assets/material/coldfusion.svg +0 -1
- package/assets/material/command.svg +0 -1
- package/assets/material/commitlint.svg +0 -1
- package/assets/material/conduct.svg +0 -1
- package/assets/material/console.svg +0 -1
- package/assets/material/contributing.svg +0 -1
- package/assets/material/cpp.svg +0 -4
- package/assets/material/craco.svg +0 -45
- package/assets/material/credits.svg +0 -1
- package/assets/material/crystal.svg +0 -1
- package/assets/material/crystal_light.svg +0 -1
- package/assets/material/csharp.svg +0 -4
- package/assets/material/css-map.svg +0 -1
- package/assets/material/css.svg +0 -1
- package/assets/material/cucumber.svg +0 -1
- package/assets/material/cuda.svg +0 -1
- package/assets/material/cypress.svg +0 -1
- package/assets/material/d.svg +0 -1
- package/assets/material/dart.svg +0 -1
- package/assets/material/dart_generated.svg +0 -1
- package/assets/material/database.svg +0 -1
- package/assets/material/denizenscript.svg +0 -1
- package/assets/material/deno.svg +0 -1
- package/assets/material/deno_light.svg +0 -1
- package/assets/material/dependabot.svg +0 -1
- package/assets/material/dhall.svg +0 -1
- package/assets/material/diff.svg +0 -1
- package/assets/material/dinophp.svg +0 -1
- package/assets/material/disc.svg +0 -1
- package/assets/material/django.svg +0 -1
- package/assets/material/docker.svg +0 -1
- package/assets/material/document.svg +0 -1
- package/assets/material/dotjs.svg +0 -1
- package/assets/material/drawio.svg +0 -1
- package/assets/material/drone.svg +0 -1
- package/assets/material/drone_light.svg +0 -1
- package/assets/material/dune.svg +0 -1
- package/assets/material/edge.svg +0 -1
- package/assets/material/editorconfig.svg +0 -1
- package/assets/material/ejs.svg +0 -1
- package/assets/material/elixir.svg +0 -1
- package/assets/material/elm.svg +0 -1
- package/assets/material/email.svg +0 -1
- package/assets/material/ember.svg +0 -1
- package/assets/material/erlang.svg +0 -1
- package/assets/material/eslint.svg +0 -1
- package/assets/material/exe.svg +0 -1
- package/assets/material/fastlane.svg +0 -1
- package/assets/material/favicon.svg +0 -1
- package/assets/material/figma.svg +0 -1
- package/assets/material/file.svg +0 -1
- package/assets/material/firebase.svg +0 -1
- package/assets/material/flash.svg +0 -1
- package/assets/material/flow.svg +0 -1
- package/assets/material/folder-admin-open.svg +0 -1
- package/assets/material/folder-admin.svg +0 -1
- package/assets/material/folder-android-open.svg +0 -1
- package/assets/material/folder-android.svg +0 -1
- package/assets/material/folder-angular-open.svg +0 -1
- package/assets/material/folder-angular.svg +0 -1
- package/assets/material/folder-animation-open.svg +0 -1
- package/assets/material/folder-animation.svg +0 -1
- package/assets/material/folder-ansible-open.svg +0 -1
- package/assets/material/folder-ansible.svg +0 -1
- package/assets/material/folder-api-open.svg +0 -1
- package/assets/material/folder-api.svg +0 -1
- package/assets/material/folder-apollo-open.svg +0 -1
- package/assets/material/folder-apollo.svg +0 -1
- package/assets/material/folder-app-open.svg +0 -1
- package/assets/material/folder-app.svg +0 -1
- package/assets/material/folder-archive-open.svg +0 -1
- package/assets/material/folder-archive.svg +0 -1
- package/assets/material/folder-audio-open.svg +0 -1
- package/assets/material/folder-audio.svg +0 -1
- package/assets/material/folder-aurelia-open.svg +0 -1
- package/assets/material/folder-aurelia.svg +0 -1
- package/assets/material/folder-aws-open.svg +0 -1
- package/assets/material/folder-aws.svg +0 -1
- package/assets/material/folder-azure-pipelines-open.svg +0 -1
- package/assets/material/folder-azure-pipelines.svg +0 -1
- package/assets/material/folder-base-open.svg +0 -1
- package/assets/material/folder-base.svg +0 -1
- package/assets/material/folder-batch-open.svg +0 -1
- package/assets/material/folder-batch.svg +0 -1
- package/assets/material/folder-benchmark-open.svg +0 -1
- package/assets/material/folder-benchmark.svg +0 -1
- package/assets/material/folder-bower-open.svg +0 -1
- package/assets/material/folder-bower.svg +0 -1
- package/assets/material/folder-buildkite-open.svg +0 -1
- package/assets/material/folder-buildkite.svg +0 -1
- package/assets/material/folder-cart-open.svg +0 -1
- package/assets/material/folder-cart.svg +0 -1
- package/assets/material/folder-changesets-open.svg +0 -5
- package/assets/material/folder-changesets.svg +0 -2
- package/assets/material/folder-ci-open.svg +0 -1
- package/assets/material/folder-ci.svg +0 -1
- package/assets/material/folder-circleci-open.svg +0 -1
- package/assets/material/folder-circleci.svg +0 -1
- package/assets/material/folder-class-open.svg +0 -1
- package/assets/material/folder-class.svg +0 -1
- package/assets/material/folder-client-open.svg +0 -1
- package/assets/material/folder-client.svg +0 -1
- package/assets/material/folder-cluster-open.svg +0 -1
- package/assets/material/folder-cluster.svg +0 -1
- package/assets/material/folder-cobol-open.svg +0 -1
- package/assets/material/folder-cobol.svg +0 -1
- package/assets/material/folder-command-open.svg +0 -1
- package/assets/material/folder-command.svg +0 -1
- package/assets/material/folder-components-open.svg +0 -1
- package/assets/material/folder-components.svg +0 -1
- package/assets/material/folder-config-open.svg +0 -1
- package/assets/material/folder-config.svg +0 -1
- package/assets/material/folder-connection-open.svg +0 -1
- package/assets/material/folder-connection.svg +0 -1
- package/assets/material/folder-constant-open.svg +0 -1
- package/assets/material/folder-constant.svg +0 -1
- package/assets/material/folder-container-open.svg +0 -1
- package/assets/material/folder-container.svg +0 -1
- package/assets/material/folder-content-open.svg +0 -1
- package/assets/material/folder-content.svg +0 -1
- package/assets/material/folder-context-open.svg +0 -1
- package/assets/material/folder-context.svg +0 -1
- package/assets/material/folder-contract-open.svg +0 -1
- package/assets/material/folder-contract.svg +0 -1
- package/assets/material/folder-controller-open.svg +0 -1
- package/assets/material/folder-controller.svg +0 -1
- package/assets/material/folder-core-open.svg +0 -1
- package/assets/material/folder-core.svg +0 -1
- package/assets/material/folder-coverage-open.svg +0 -1
- package/assets/material/folder-coverage.svg +0 -1
- package/assets/material/folder-css-open.svg +0 -1
- package/assets/material/folder-css.svg +0 -1
- package/assets/material/folder-custom-open.svg +0 -1
- package/assets/material/folder-custom.svg +0 -1
- package/assets/material/folder-cypress-open.svg +0 -1
- package/assets/material/folder-cypress.svg +0 -1
- package/assets/material/folder-database-open.svg +0 -1
- package/assets/material/folder-database.svg +0 -1
- package/assets/material/folder-debug-open.svg +0 -1
- package/assets/material/folder-debug.svg +0 -1
- package/assets/material/folder-decorators-open.svg +0 -2
- package/assets/material/folder-decorators.svg +0 -5
- package/assets/material/folder-delta-open.svg +0 -1
- package/assets/material/folder-delta.svg +0 -1
- package/assets/material/folder-dist-open.svg +0 -1
- package/assets/material/folder-dist.svg +0 -1
- package/assets/material/folder-docker-open.svg +0 -1
- package/assets/material/folder-docker.svg +0 -1
- package/assets/material/folder-docs-open.svg +0 -1
- package/assets/material/folder-docs.svg +0 -1
- package/assets/material/folder-download-open.svg +0 -1
- package/assets/material/folder-download.svg +0 -1
- package/assets/material/folder-dump-open.svg +0 -1
- package/assets/material/folder-dump.svg +0 -1
- package/assets/material/folder-environment-open.svg +0 -1
- package/assets/material/folder-environment.svg +0 -1
- package/assets/material/folder-error-open.svg +0 -1
- package/assets/material/folder-error.svg +0 -1
- package/assets/material/folder-event-open.svg +0 -1
- package/assets/material/folder-event.svg +0 -1
- package/assets/material/folder-examples-open.svg +0 -1
- package/assets/material/folder-examples.svg +0 -1
- package/assets/material/folder-expo-open.svg +0 -1
- package/assets/material/folder-expo.svg +0 -1
- package/assets/material/folder-export-open.svg +0 -1
- package/assets/material/folder-export.svg +0 -1
- package/assets/material/folder-fastlane-open.svg +0 -1
- package/assets/material/folder-fastlane.svg +0 -1
- package/assets/material/folder-firebase-open.svg +0 -1
- package/assets/material/folder-firebase.svg +0 -1
- package/assets/material/folder-flow-open.svg +0 -1
- package/assets/material/folder-flow.svg +0 -1
- package/assets/material/folder-font-open.svg +0 -1
- package/assets/material/folder-font.svg +0 -1
- package/assets/material/folder-functions-open.svg +0 -1
- package/assets/material/folder-functions.svg +0 -1
- package/assets/material/folder-gamemaker-open.svg +0 -2
- package/assets/material/folder-gamemaker.svg +0 -2
- package/assets/material/folder-generator-open.svg +0 -1
- package/assets/material/folder-generator.svg +0 -1
- package/assets/material/folder-git-open.svg +0 -1
- package/assets/material/folder-git.svg +0 -1
- package/assets/material/folder-github-open.svg +0 -1
- package/assets/material/folder-github.svg +0 -1
- package/assets/material/folder-gitlab-open.svg +0 -1
- package/assets/material/folder-gitlab.svg +0 -1
- package/assets/material/folder-global-open.svg +0 -1
- package/assets/material/folder-global.svg +0 -1
- package/assets/material/folder-godot-open.svg +0 -2
- package/assets/material/folder-godot.svg +0 -8
- package/assets/material/folder-gradle-open.svg +0 -1
- package/assets/material/folder-gradle.svg +0 -1
- package/assets/material/folder-graphql-open.svg +0 -1
- package/assets/material/folder-graphql.svg +0 -1
- package/assets/material/folder-guard-open.svg +0 -1
- package/assets/material/folder-guard.svg +0 -1
- package/assets/material/folder-gulp-open.svg +0 -1
- package/assets/material/folder-gulp.svg +0 -1
- package/assets/material/folder-helper-open.svg +0 -1
- package/assets/material/folder-helper.svg +0 -1
- package/assets/material/folder-home-open.svg +0 -1
- package/assets/material/folder-home.svg +0 -1
- package/assets/material/folder-hook-open.svg +0 -1
- package/assets/material/folder-hook.svg +0 -1
- package/assets/material/folder-husky-open.svg +0 -1
- package/assets/material/folder-husky.svg +0 -1
- package/assets/material/folder-i18n-open.svg +0 -1
- package/assets/material/folder-i18n.svg +0 -1
- package/assets/material/folder-images-open.svg +0 -1
- package/assets/material/folder-images.svg +0 -1
- package/assets/material/folder-import-open.svg +0 -1
- package/assets/material/folder-import.svg +0 -1
- package/assets/material/folder-include-open.svg +0 -1
- package/assets/material/folder-include.svg +0 -1
- package/assets/material/folder-intellij-open.svg +0 -1
- package/assets/material/folder-intellij-open_light.svg +0 -1
- package/assets/material/folder-intellij.svg +0 -1
- package/assets/material/folder-intellij_light.svg +0 -1
- package/assets/material/folder-interface-open.svg +0 -1
- package/assets/material/folder-interface.svg +0 -1
- package/assets/material/folder-ios-open.svg +0 -1
- package/assets/material/folder-ios.svg +0 -1
- package/assets/material/folder-java-open.svg +0 -1
- package/assets/material/folder-java.svg +0 -1
- package/assets/material/folder-javascript-open.svg +0 -1
- package/assets/material/folder-javascript.svg +0 -1
- package/assets/material/folder-jinja-open.svg +0 -1
- package/assets/material/folder-jinja-open_light.svg +0 -1
- package/assets/material/folder-jinja.svg +0 -1
- package/assets/material/folder-jinja_light.svg +0 -1
- package/assets/material/folder-job-open.svg +0 -1
- package/assets/material/folder-job.svg +0 -1
- package/assets/material/folder-json-open.svg +0 -1
- package/assets/material/folder-json.svg +0 -1
- package/assets/material/folder-keys-open.svg +0 -1
- package/assets/material/folder-keys.svg +0 -1
- package/assets/material/folder-kubernetes-open.svg +0 -1
- package/assets/material/folder-kubernetes.svg +0 -1
- package/assets/material/folder-layout-open.svg +0 -1
- package/assets/material/folder-layout.svg +0 -1
- package/assets/material/folder-less-open.svg +0 -1
- package/assets/material/folder-less.svg +0 -1
- package/assets/material/folder-lib-open.svg +0 -1
- package/assets/material/folder-lib.svg +0 -1
- package/assets/material/folder-log-open.svg +0 -1
- package/assets/material/folder-log.svg +0 -1
- package/assets/material/folder-lua-open.svg +0 -1
- package/assets/material/folder-lua.svg +0 -1
- package/assets/material/folder-mail-open.svg +0 -1
- package/assets/material/folder-mail.svg +0 -1
- package/assets/material/folder-mappings-open.svg +0 -1
- package/assets/material/folder-mappings.svg +0 -1
- package/assets/material/folder-markdown-open.svg +0 -1
- package/assets/material/folder-markdown.svg +0 -1
- package/assets/material/folder-mercurial-open.svg +0 -5
- package/assets/material/folder-mercurial.svg +0 -2
- package/assets/material/folder-messages-open.svg +0 -1
- package/assets/material/folder-messages.svg +0 -1
- package/assets/material/folder-meta-open.svg +0 -1
- package/assets/material/folder-meta.svg +0 -1
- package/assets/material/folder-middleware-open.svg +0 -1
- package/assets/material/folder-middleware.svg +0 -1
- package/assets/material/folder-mjml-open.svg +0 -1
- package/assets/material/folder-mjml.svg +0 -1
- package/assets/material/folder-mobile-open.svg +0 -1
- package/assets/material/folder-mobile.svg +0 -1
- package/assets/material/folder-mock-open.svg +0 -1
- package/assets/material/folder-mock.svg +0 -1
- package/assets/material/folder-netlify-open.svg +0 -5
- package/assets/material/folder-netlify.svg +0 -2
- package/assets/material/folder-next-open.svg +0 -1
- package/assets/material/folder-next.svg +0 -1
- package/assets/material/folder-ngrx-actions-open.svg +0 -1
- package/assets/material/folder-ngrx-actions.svg +0 -1
- package/assets/material/folder-ngrx-effects-open.svg +0 -1
- package/assets/material/folder-ngrx-effects.svg +0 -1
- package/assets/material/folder-ngrx-entities-open.svg +0 -1
- package/assets/material/folder-ngrx-entities.svg +0 -1
- package/assets/material/folder-ngrx-reducer-open.svg +0 -1
- package/assets/material/folder-ngrx-reducer.svg +0 -1
- package/assets/material/folder-ngrx-selectors-open.svg +0 -1
- package/assets/material/folder-ngrx-selectors.svg +0 -1
- package/assets/material/folder-ngrx-state-open.svg +0 -1
- package/assets/material/folder-ngrx-state.svg +0 -1
- package/assets/material/folder-ngrx-store-open.svg +0 -1
- package/assets/material/folder-ngrx-store.svg +0 -1
- package/assets/material/folder-node-open.svg +0 -1
- package/assets/material/folder-node.svg +0 -1
- package/assets/material/folder-nuxt-open.svg +0 -1
- package/assets/material/folder-nuxt.svg +0 -1
- package/assets/material/folder-open.svg +0 -1
- package/assets/material/folder-other-open.svg +0 -1
- package/assets/material/folder-other.svg +0 -1
- package/assets/material/folder-packages-open.svg +0 -1
- package/assets/material/folder-packages.svg +0 -1
- package/assets/material/folder-pdf-open.svg +0 -1
- package/assets/material/folder-pdf.svg +0 -1
- package/assets/material/folder-php-open.svg +0 -1
- package/assets/material/folder-php.svg +0 -1
- package/assets/material/folder-phpmailer-open.svg +0 -1
- package/assets/material/folder-phpmailer.svg +0 -1
- package/assets/material/folder-pipe-open.svg +0 -1
- package/assets/material/folder-pipe.svg +0 -1
- package/assets/material/folder-plastic-open.svg +0 -8
- package/assets/material/folder-plastic.svg +0 -2
- package/assets/material/folder-plugin-open.svg +0 -1
- package/assets/material/folder-plugin.svg +0 -1
- package/assets/material/folder-prisma-open.svg +0 -1
- package/assets/material/folder-prisma.svg +0 -1
- package/assets/material/folder-private-open.svg +0 -1
- package/assets/material/folder-private.svg +0 -1
- package/assets/material/folder-project-open.svg +0 -1
- package/assets/material/folder-project.svg +0 -1
- package/assets/material/folder-proto-open.svg +0 -1
- package/assets/material/folder-proto.svg +0 -1
- package/assets/material/folder-public-open.svg +0 -1
- package/assets/material/folder-public.svg +0 -1
- package/assets/material/folder-python-open.svg +0 -1
- package/assets/material/folder-python.svg +0 -1
- package/assets/material/folder-quasar-open.svg +0 -1
- package/assets/material/folder-quasar.svg +0 -1
- package/assets/material/folder-queue-open.svg +0 -1
- package/assets/material/folder-queue.svg +0 -1
- package/assets/material/folder-react-components-open.svg +0 -1
- package/assets/material/folder-react-components.svg +0 -1
- package/assets/material/folder-redux-actions-open.svg +0 -1
- package/assets/material/folder-redux-actions.svg +0 -1
- package/assets/material/folder-redux-reducer-open.svg +0 -1
- package/assets/material/folder-redux-reducer.svg +0 -1
- package/assets/material/folder-redux-selector-open.svg +0 -1
- package/assets/material/folder-redux-selector.svg +0 -1
- package/assets/material/folder-redux-store-open.svg +0 -1
- package/assets/material/folder-redux-store.svg +0 -1
- package/assets/material/folder-resolver-open.svg +0 -1
- package/assets/material/folder-resolver.svg +0 -1
- package/assets/material/folder-resource-open.svg +0 -1
- package/assets/material/folder-resource.svg +0 -1
- package/assets/material/folder-review-open.svg +0 -1
- package/assets/material/folder-review.svg +0 -1
- package/assets/material/folder-root-open.svg +0 -1
- package/assets/material/folder-root.svg +0 -1
- package/assets/material/folder-routes-open.svg +0 -1
- package/assets/material/folder-routes.svg +0 -1
- package/assets/material/folder-rules-open.svg +0 -1
- package/assets/material/folder-rules.svg +0 -1
- package/assets/material/folder-sass-open.svg +0 -1
- package/assets/material/folder-sass.svg +0 -1
- package/assets/material/folder-scala-open.svg +0 -1
- package/assets/material/folder-scala.svg +0 -1
- package/assets/material/folder-scripts-open.svg +0 -1
- package/assets/material/folder-scripts.svg +0 -1
- package/assets/material/folder-secure-open.svg +0 -1
- package/assets/material/folder-secure.svg +0 -1
- package/assets/material/folder-server-open.svg +0 -1
- package/assets/material/folder-server.svg +0 -1
- package/assets/material/folder-serverless-open.svg +0 -1
- package/assets/material/folder-serverless.svg +0 -1
- package/assets/material/folder-shader-open.svg +0 -1
- package/assets/material/folder-shader.svg +0 -1
- package/assets/material/folder-shared-open.svg +0 -1
- package/assets/material/folder-shared.svg +0 -1
- package/assets/material/folder-src-open.svg +0 -1
- package/assets/material/folder-src.svg +0 -1
- package/assets/material/folder-stack-open.svg +0 -1
- package/assets/material/folder-stack.svg +0 -1
- package/assets/material/folder-stencil-open.svg +0 -1
- package/assets/material/folder-stencil.svg +0 -1
- package/assets/material/folder-storybook-open.svg +0 -1
- package/assets/material/folder-storybook.svg +0 -1
- package/assets/material/folder-stylus-open.svg +0 -1
- package/assets/material/folder-stylus.svg +0 -1
- package/assets/material/folder-sublime-open.svg +0 -1
- package/assets/material/folder-sublime.svg +0 -1
- package/assets/material/folder-supabase-open.svg +0 -5
- package/assets/material/folder-supabase.svg +0 -2
- package/assets/material/folder-svelte-open.svg +0 -1
- package/assets/material/folder-svelte.svg +0 -1
- package/assets/material/folder-svg-open.svg +0 -1
- package/assets/material/folder-svg.svg +0 -1
- package/assets/material/folder-syntax-open.svg +0 -1
- package/assets/material/folder-syntax.svg +0 -1
- package/assets/material/folder-target-open.svg +0 -1
- package/assets/material/folder-target.svg +0 -1
- package/assets/material/folder-tasks-open.svg +0 -1
- package/assets/material/folder-tasks.svg +0 -1
- package/assets/material/folder-temp-open.svg +0 -1
- package/assets/material/folder-temp.svg +0 -1
- package/assets/material/folder-template-open.svg +0 -1
- package/assets/material/folder-template.svg +0 -1
- package/assets/material/folder-terraform-open.svg +0 -1
- package/assets/material/folder-terraform.svg +0 -1
- package/assets/material/folder-test-open.svg +0 -1
- package/assets/material/folder-test.svg +0 -1
- package/assets/material/folder-theme-open.svg +0 -1
- package/assets/material/folder-theme.svg +0 -1
- package/assets/material/folder-tools-open.svg +0 -1
- package/assets/material/folder-tools.svg +0 -1
- package/assets/material/folder-typescript-open.svg +0 -1
- package/assets/material/folder-typescript.svg +0 -1
- package/assets/material/folder-unity-open.svg +0 -1
- package/assets/material/folder-unity.svg +0 -1
- package/assets/material/folder-update-open.svg +0 -1
- package/assets/material/folder-update.svg +0 -1
- package/assets/material/folder-upload-open.svg +0 -1
- package/assets/material/folder-upload.svg +0 -1
- package/assets/material/folder-utils-open.svg +0 -1
- package/assets/material/folder-utils.svg +0 -1
- package/assets/material/folder-vercel-open.svg +0 -1
- package/assets/material/folder-vercel.svg +0 -1
- package/assets/material/folder-verdaccio-open.svg +0 -1
- package/assets/material/folder-verdaccio.svg +0 -1
- package/assets/material/folder-video-open.svg +0 -1
- package/assets/material/folder-video.svg +0 -1
- package/assets/material/folder-views-open.svg +0 -1
- package/assets/material/folder-views.svg +0 -1
- package/assets/material/folder-vm-open.svg +0 -1
- package/assets/material/folder-vm.svg +0 -1
- package/assets/material/folder-vscode-open.svg +0 -1
- package/assets/material/folder-vscode.svg +0 -1
- package/assets/material/folder-vue-directives-open.svg +0 -1
- package/assets/material/folder-vue-directives.svg +0 -1
- package/assets/material/folder-vue-open.svg +0 -1
- package/assets/material/folder-vue.svg +0 -1
- package/assets/material/folder-vuepress-open.svg +0 -1
- package/assets/material/folder-vuepress.svg +0 -1
- package/assets/material/folder-vuex-store-open.svg +0 -1
- package/assets/material/folder-vuex-store.svg +0 -1
- package/assets/material/folder-wakatime-open.svg +0 -1
- package/assets/material/folder-wakatime.svg +0 -1
- package/assets/material/folder-webpack-open.svg +0 -1
- package/assets/material/folder-webpack.svg +0 -1
- package/assets/material/folder-wordpress-open.svg +0 -1
- package/assets/material/folder-wordpress.svg +0 -1
- package/assets/material/folder-yarn-open.svg +0 -1
- package/assets/material/folder-yarn.svg +0 -1
- package/assets/material/folder.svg +0 -1
- package/assets/material/font.svg +0 -1
- package/assets/material/forth.svg +0 -1
- package/assets/material/fortran.svg +0 -1
- package/assets/material/foxpro.svg +0 -1
- package/assets/material/fsharp.svg +0 -1
- package/assets/material/fusebox.svg +0 -1
- package/assets/material/gamemaker.svg +0 -4
- package/assets/material/gatsby.svg +0 -1
- package/assets/material/gcp.svg +0 -1
- package/assets/material/gemfile.svg +0 -1
- package/assets/material/gemini.svg +0 -1
- package/assets/material/git.svg +0 -1
- package/assets/material/gitlab.svg +0 -1
- package/assets/material/gitpod.svg +0 -1
- package/assets/material/gleam.svg +0 -1
- package/assets/material/go-mod.svg +0 -1
- package/assets/material/go.svg +0 -1
- package/assets/material/go_gopher.svg +0 -1
- package/assets/material/godot-assets.svg +0 -7
- package/assets/material/godot.svg +0 -7
- package/assets/material/gradle.svg +0 -1
- package/assets/material/grain.svg +0 -1
- package/assets/material/graphcool.svg +0 -1
- package/assets/material/graphql.svg +0 -1
- package/assets/material/gridsome.svg +0 -1
- package/assets/material/groovy.svg +0 -1
- package/assets/material/grunt.svg +0 -1
- package/assets/material/gulp.svg +0 -1
- package/assets/material/h.svg +0 -1
- package/assets/material/hack.svg +0 -1
- package/assets/material/haml.svg +0 -1
- package/assets/material/handlebars.svg +0 -1
- package/assets/material/hardhat.svg +0 -1
- package/assets/material/haskell.svg +0 -1
- package/assets/material/haxe.svg +0 -1
- package/assets/material/hcl.svg +0 -1
- package/assets/material/hcl_light.svg +0 -1
- package/assets/material/helm.svg +0 -1
- package/assets/material/heroku.svg +0 -1
- package/assets/material/hex.svg +0 -1
- package/assets/material/horusec.svg +0 -1
- package/assets/material/hpp.svg +0 -1
- package/assets/material/html.svg +0 -1
- package/assets/material/http.svg +0 -1
- package/assets/material/husky.svg +0 -1
- package/assets/material/i18n.svg +0 -1
- package/assets/material/idris.svg +0 -1
- package/assets/material/ifanr-cloud.svg +0 -10
- package/assets/material/image.svg +0 -1
- package/assets/material/imba.svg +0 -1
- package/assets/material/ionic.svg +0 -1
- package/assets/material/istanbul.svg +0 -1
- package/assets/material/jar.svg +0 -1
- package/assets/material/java.svg +0 -1
- package/assets/material/javaclass.svg +0 -1
- package/assets/material/javascript-map.svg +0 -1
- package/assets/material/javascript.svg +0 -1
- package/assets/material/jenkins.svg +0 -1
- package/assets/material/jest.svg +0 -1
- package/assets/material/jinja.svg +0 -1
- package/assets/material/jinja_light.svg +0 -1
- package/assets/material/jsconfig.svg +0 -1
- package/assets/material/json.svg +0 -1
- package/assets/material/julia.svg +0 -1
- package/assets/material/jupyter.svg +0 -1
- package/assets/material/karma.svg +0 -1
- package/assets/material/key.svg +0 -1
- package/assets/material/kivy.svg +0 -1
- package/assets/material/kl.svg +0 -1
- package/assets/material/kotlin.svg +0 -1
- package/assets/material/kusto.svg +0 -1
- package/assets/material/laravel.svg +0 -1
- package/assets/material/lerna.svg +0 -1
- package/assets/material/less.svg +0 -1
- package/assets/material/lib.svg +0 -1
- package/assets/material/lighthouse.svg +0 -1
- package/assets/material/lilypond.svg +0 -1
- package/assets/material/liquid.svg +0 -1
- package/assets/material/lisp.svg +0 -1
- package/assets/material/livescript.svg +0 -1
- package/assets/material/lock.svg +0 -1
- package/assets/material/log.svg +0 -1
- package/assets/material/lolcode.svg +0 -1
- package/assets/material/lua.svg +0 -1
- package/assets/material/makefile.svg +0 -1
- package/assets/material/markdown.svg +0 -1
- package/assets/material/markojs.svg +0 -1
- package/assets/material/mathematica.svg +0 -1
- package/assets/material/matlab.svg +0 -1
- package/assets/material/maven.svg +0 -1
- package/assets/material/mdsvex.svg +0 -1
- package/assets/material/mdx.svg +0 -1
- package/assets/material/mercurial.svg +0 -6
- package/assets/material/merlin.svg +0 -1
- package/assets/material/mermaid.svg +0 -4
- package/assets/material/meson.svg +0 -1
- package/assets/material/minecraft.svg +0 -1
- package/assets/material/mint.svg +0 -1
- package/assets/material/mjml.svg +0 -1
- package/assets/material/mocha.svg +0 -1
- package/assets/material/modernizr.svg +0 -1
- package/assets/material/moonscript.svg +0 -1
- package/assets/material/mxml.svg +0 -1
- package/assets/material/nano-staged.svg +0 -1
- package/assets/material/nano-staged_light.svg +0 -1
- package/assets/material/ndst.svg +0 -1
- package/assets/material/nest-controller.svg +0 -1
- package/assets/material/nest-decorator.svg +0 -1
- package/assets/material/nest-filter.svg +0 -1
- package/assets/material/nest-gateway.svg +0 -1
- package/assets/material/nest-guard.svg +0 -1
- package/assets/material/nest-middleware.svg +0 -1
- package/assets/material/nest-module.svg +0 -1
- package/assets/material/nest-pipe.svg +0 -1
- package/assets/material/nest-resolver.svg +0 -1
- package/assets/material/nest-service.svg +0 -1
- package/assets/material/nest.svg +0 -1
- package/assets/material/netlify.svg +0 -7
- package/assets/material/netlify_light.svg +0 -7
- package/assets/material/next.svg +0 -1
- package/assets/material/next_light.svg +0 -1
- package/assets/material/nginx.svg +0 -1
- package/assets/material/ngrx-actions.svg +0 -1
- package/assets/material/ngrx-effects.svg +0 -1
- package/assets/material/ngrx-entity.svg +0 -1
- package/assets/material/ngrx-reducer.svg +0 -1
- package/assets/material/ngrx-selectors.svg +0 -1
- package/assets/material/ngrx-state.svg +0 -1
- package/assets/material/nim.svg +0 -1
- package/assets/material/nix.svg +0 -1
- package/assets/material/nodejs.svg +0 -1
- package/assets/material/nodejs_alt.svg +0 -1
- package/assets/material/nodemon.svg +0 -1
- package/assets/material/npm.svg +0 -1
- package/assets/material/nrwl.svg +0 -1
- package/assets/material/nuget.svg +0 -1
- package/assets/material/nunjucks.svg +0 -1
- package/assets/material/nuxt.svg +0 -1
- package/assets/material/objective-c.svg +0 -4
- package/assets/material/objective-cpp.svg +0 -1
- package/assets/material/ocaml.svg +0 -1
- package/assets/material/odin.svg +0 -1
- package/assets/material/opa.svg +0 -1
- package/assets/material/opam.svg +0 -1
- package/assets/material/otne.svg +0 -1
- package/assets/material/parcel.svg +0 -1
- package/assets/material/pascal.svg +0 -6
- package/assets/material/pawn.svg +0 -1
- package/assets/material/pdf.svg +0 -1
- package/assets/material/percy.svg +0 -1
- package/assets/material/perl.svg +0 -1
- package/assets/material/php-cs-fixer.svg +0 -1
- package/assets/material/php.svg +0 -1
- package/assets/material/php_elephant.svg +0 -1
- package/assets/material/php_elephant_pink.svg +0 -1
- package/assets/material/phpunit.svg +0 -1
- package/assets/material/pinejs.svg +0 -1
- package/assets/material/pipeline.svg +0 -1
- package/assets/material/plastic.svg +0 -7
- package/assets/material/playwright.svg +0 -1
- package/assets/material/plop.svg +0 -1
- package/assets/material/pnpm.svg +0 -1
- package/assets/material/pnpm_light.svg +0 -1
- package/assets/material/poetry.svg +0 -1
- package/assets/material/postcss.svg +0 -1
- package/assets/material/posthtml.svg +0 -1
- package/assets/material/powerpoint.svg +0 -1
- package/assets/material/powershell.svg +0 -1
- package/assets/material/prettier.svg +0 -1
- package/assets/material/prisma.svg +0 -1
- package/assets/material/processing.svg +0 -1
- package/assets/material/prolog.svg +0 -1
- package/assets/material/proto.svg +0 -1
- package/assets/material/protractor.svg +0 -1
- package/assets/material/pug.svg +0 -1
- package/assets/material/puppet.svg +0 -1
- package/assets/material/purescript.svg +0 -1
- package/assets/material/python-misc.svg +0 -1
- package/assets/material/python.svg +0 -1
- package/assets/material/qsharp.svg +0 -1
- package/assets/material/quasar.svg +0 -1
- package/assets/material/qwik.svg +0 -2
- package/assets/material/r.svg +0 -1
- package/assets/material/racket.svg +0 -1
- package/assets/material/raml.svg +0 -1
- package/assets/material/razor.svg +0 -1
- package/assets/material/rc.svg +0 -2
- package/assets/material/react.svg +0 -1
- package/assets/material/react_ts.svg +0 -1
- package/assets/material/readme.svg +0 -1
- package/assets/material/reason.svg +0 -1
- package/assets/material/red.svg +0 -1
- package/assets/material/redux-action.svg +0 -1
- package/assets/material/redux-reducer.svg +0 -1
- package/assets/material/redux-selector.svg +0 -1
- package/assets/material/redux-store.svg +0 -1
- package/assets/material/remix.svg +0 -1
- package/assets/material/remix_light.svg +0 -1
- package/assets/material/renovate.svg +0 -1
- package/assets/material/replit.svg +0 -1
- package/assets/material/rescript-interface.svg +0 -1
- package/assets/material/rescript.svg +0 -1
- package/assets/material/restql.svg +0 -1
- package/assets/material/riot.svg +0 -1
- package/assets/material/roadmap.svg +0 -1
- package/assets/material/robot.svg +0 -1
- package/assets/material/robots.svg +0 -1
- package/assets/material/rollup.svg +0 -1
- package/assets/material/rome.svg +0 -1
- package/assets/material/routing.svg +0 -1
- package/assets/material/rubocop.svg +0 -1
- package/assets/material/rubocop_light.svg +0 -1
- package/assets/material/ruby.svg +0 -1
- package/assets/material/rust.svg +0 -1
- package/assets/material/salesforce.svg +0 -1
- package/assets/material/san.svg +0 -1
- package/assets/material/sas.svg +0 -1
- package/assets/material/sass.svg +0 -1
- package/assets/material/sbt.svg +0 -1
- package/assets/material/scala.svg +0 -1
- package/assets/material/scheme.svg +0 -1
- package/assets/material/search.svg +0 -1
- package/assets/material/semantic-release.svg +0 -1
- package/assets/material/semantic-release_light.svg +0 -1
- package/assets/material/sentry.svg +0 -1
- package/assets/material/sequelize.svg +0 -1
- package/assets/material/serverless.svg +0 -1
- package/assets/material/settings.svg +0 -1
- package/assets/material/shader.svg +0 -1
- package/assets/material/shaderlab.svg +0 -1
- package/assets/material/silverstripe.svg +0 -1
- package/assets/material/siyuan.svg +0 -1
- package/assets/material/sketch.svg +0 -1
- package/assets/material/slim.svg +0 -1
- package/assets/material/slug.svg +0 -1
- package/assets/material/smarty.svg +0 -1
- package/assets/material/sml.svg +0 -1
- package/assets/material/snowpack.svg +0 -1
- package/assets/material/snowpack_light.svg +0 -1
- package/assets/material/snyk.svg +0 -1
- package/assets/material/solidity.svg +0 -1
- package/assets/material/sonarcloud.svg +0 -4
- package/assets/material/steadybit.svg +0 -1
- package/assets/material/stencil.svg +0 -1
- package/assets/material/stitches.svg +0 -1
- package/assets/material/stitches_light.svg +0 -1
- package/assets/material/storybook.svg +0 -1
- package/assets/material/stryker.svg +0 -1
- package/assets/material/stylable.svg +0 -10
- package/assets/material/stylelint.svg +0 -1
- package/assets/material/stylelint_light.svg +0 -1
- package/assets/material/stylus.svg +0 -1
- package/assets/material/sublime.svg +0 -1
- package/assets/material/supabase.svg +0 -4
- package/assets/material/svelte.svg +0 -1
- package/assets/material/svg.svg +0 -1
- package/assets/material/svgo.svg +0 -1
- package/assets/material/svgr.svg +0 -1
- package/assets/material/swc.svg +0 -1
- package/assets/material/swift.svg +0 -1
- package/assets/material/table.svg +0 -1
- package/assets/material/tailwindcss.svg +0 -1
- package/assets/material/tauri.svg +0 -1
- package/assets/material/tcl.svg +0 -1
- package/assets/material/teal.svg +0 -1
- package/assets/material/template.svg +0 -1
- package/assets/material/terraform.svg +0 -1
- package/assets/material/test-js.svg +0 -1
- package/assets/material/test-jsx.svg +0 -1
- package/assets/material/test-ts.svg +0 -1
- package/assets/material/tex.svg +0 -1
- package/assets/material/textlint.svg +0 -1
- package/assets/material/tilt.svg +0 -1
- package/assets/material/tldraw.svg +0 -4
- package/assets/material/tldraw_light.svg +0 -4
- package/assets/material/tobi.svg +0 -1
- package/assets/material/tobimake.svg +0 -1
- package/assets/material/todo.svg +0 -1
- package/assets/material/travis.svg +0 -1
- package/assets/material/tree.svg +0 -1
- package/assets/material/tsconfig.svg +0 -1
- package/assets/material/tune.svg +0 -1
- package/assets/material/turborepo.svg +0 -1
- package/assets/material/turborepo_light.svg +0 -1
- package/assets/material/twig.svg +0 -1
- package/assets/material/twine.svg +0 -1
- package/assets/material/typescript-def.svg +0 -1
- package/assets/material/typescript.svg +0 -1
- package/assets/material/typst.svg +0 -2
- package/assets/material/uml.svg +0 -1
- package/assets/material/uml_light.svg +0 -1
- package/assets/material/url.svg +0 -1
- package/assets/material/vagrant.svg +0 -1
- package/assets/material/vala.svg +0 -1
- package/assets/material/velocity.svg +0 -1
- package/assets/material/vercel.svg +0 -1
- package/assets/material/vercel_light.svg +0 -1
- package/assets/material/verdaccio.svg +0 -1
- package/assets/material/verilog.svg +0 -1
- package/assets/material/vfl.svg +0 -1
- package/assets/material/video.svg +0 -1
- package/assets/material/vim.svg +0 -1
- package/assets/material/virtual.svg +0 -1
- package/assets/material/visualstudio.svg +0 -1
- package/assets/material/vite.svg +0 -1
- package/assets/material/vitest.svg +0 -6
- package/assets/material/vlang.svg +0 -1
- package/assets/material/vscode.svg +0 -1
- package/assets/material/vue-config.svg +0 -1
- package/assets/material/vue.svg +0 -1
- package/assets/material/vuex-store.svg +0 -1
- package/assets/material/wakatime.svg +0 -1
- package/assets/material/wakatime_light.svg +0 -1
- package/assets/material/wallaby.svg +0 -1
- package/assets/material/watchman.svg +0 -1
- package/assets/material/webassembly.svg +0 -1
- package/assets/material/webhint.svg +0 -1
- package/assets/material/webpack.svg +0 -1
- package/assets/material/wepy.svg +0 -1
- package/assets/material/windicss.svg +0 -1
- package/assets/material/wolframlanguage.svg +0 -1
- package/assets/material/word.svg +0 -1
- package/assets/material/xaml.svg +0 -1
- package/assets/material/xml.svg +0 -1
- package/assets/material/yaml.svg +0 -1
- package/assets/material/yang.svg +0 -1
- package/assets/material/yarn.svg +0 -1
- package/assets/material/zig.svg +0 -1
- package/assets/material/zip.svg +0 -1
- package/assets/pop/LICENSE +0 -2
- package/assets/pop/binary.svg +0 -1
- package/assets/pop/compressed.svg +0 -1
- package/assets/pop/database.svg +0 -1
- package/assets/pop/exts/7z.svg +0 -1
- package/assets/pop/exts/apk.svg +0 -1
- package/assets/pop/exts/arc.svg +0 -1
- package/assets/pop/exts/bz.svg +0 -1
- package/assets/pop/exts/deb.svg +0 -1
- package/assets/pop/exts/gz.svg +0 -1
- package/assets/pop/exts/pdf.svg +0 -1
- package/assets/pop/exts/rar.svg +0 -1
- package/assets/pop/exts/rpm.svg +0 -1
- package/assets/pop/exts/tar.svg +0 -1
- package/assets/pop/exts/xar.svg +0 -1
- package/assets/pop/exts/xz.svg +0 -1
- package/assets/pop/exts/zip.svg +0 -1
- package/assets/pop/folder-open.svg +0 -1
- package/assets/pop/folder.svg +0 -1
- package/assets/pop/generic.svg +0 -1
- package/assets/pop/presentation.svg +0 -1
- package/assets/pop/richtext.svg +0 -1
- package/assets/pop/spreadsheet.svg +0 -1
- package/assets/pop/text.svg +0 -1
- package/components/dynamic-html/dynamic-html.component.d.ts +0 -15
- package/components/dynamic-html/dynamic-html.module.d.ts +0 -10
- package/components/dynamic-html/dynamic-html.service.d.ts +0 -18
- package/components/dynamic-html/types.d.ts +0 -12
- package/components/tabulator/tabulator.component.d.ts +0 -30
- package/components/vscode/vscode.component.d.ts +0 -52
- package/esm2022/assets/mat-icons.mjs +0 -5705
- package/esm2022/components/command-palette/command-palette.component.mjs +0 -257
- package/esm2022/components/dynamic-html/dynamic-html.component.mjs +0 -43
- package/esm2022/components/dynamic-html/dynamic-html.module.mjs +0 -27
- package/esm2022/components/dynamic-html/dynamic-html.service.mjs +0 -66
- package/esm2022/components/dynamic-html/types.mjs +0 -7
- package/esm2022/components/filemanager/file-grid/file-grid.component.mjs +0 -674
- package/esm2022/components/filemanager/helpers.mjs +0 -26
- package/esm2022/components/filemanager/icon-resolver.mjs +0 -155
- package/esm2022/components/filemanager/textextensions.mjs +0 -294
- package/esm2022/components/filemanager/toolbar/toolbar.component.mjs +0 -165
- package/esm2022/components/lazy-loader/lazy-loader.component.mjs +0 -383
- package/esm2022/components/lazy-loader/lazy-loader.module.mjs +0 -33
- package/esm2022/components/lazy-loader/lazy-loader.service.mjs +0 -217
- package/esm2022/components/lazy-loader/types.mjs +0 -26
- package/esm2022/components/menu/menu.component.mjs +0 -433
- package/esm2022/components/parallax-card/parallax-card.component.mjs +0 -138
- package/esm2022/components/tabulator/tabulator.component.mjs +0 -93
- package/esm2022/components/tooltip/tooltip.component.mjs +0 -205
- package/esm2022/components/types.mjs +0 -3
- package/esm2022/components/vscode/ts-type-resolver/dependency-parser.mjs +0 -91
- package/esm2022/components/vscode/ts-type-resolver/dummy-source-cache.mjs +0 -15
- package/esm2022/components/vscode/ts-type-resolver/import-resolver.mjs +0 -311
- package/esm2022/components/vscode/ts-type-resolver/main.mjs +0 -112
- package/esm2022/components/vscode/ts-type-resolver/recursion-depth.mjs +0 -21
- package/esm2022/components/vscode/ts-type-resolver/types.mjs +0 -14
- package/esm2022/components/vscode/ts-type-resolver/unpkg-source-resolver.mjs +0 -21
- package/esm2022/components/vscode/ts-type-resolver/update-emitter.mjs +0 -37
- package/esm2022/components/vscode/vscode.component.mjs +0 -232
- package/esm2022/directives/image-cache.directive.mjs +0 -140
- package/esm2022/directives/menu.directive.mjs +0 -159
- package/esm2022/directives/tooltip.directive.mjs +0 -154
- package/esm2022/directives/utils.mjs +0 -120
- package/esm2022/pipes/html-bypass.pipe.mjs +0 -27
- package/esm2022/pipes/resource-bypass.pipe.mjs +0 -27
- package/esm2022/pipes/script-bypass.pipe.mjs +0 -27
- package/esm2022/pipes/style-bypass.pipe.mjs +0 -27
- package/esm2022/pipes/url-bypass.pipe.mjs +0 -27
- package/esm2022/public-api.mjs +0 -59
- package/esm2022/services/command-palette.service.mjs +0 -209
- package/esm2022/services/dependency.service.mjs +0 -55
- package/esm2022/services/dialog.service.mjs +0 -69
- package/esm2022/services/fetch.service.mjs +0 -74
- package/esm2022/services/file.service.mjs +0 -42
- package/esm2022/services/keyboard.service.mjs +0 -128
- package/esm2022/services/navigation.service.mjs +0 -52
- package/esm2022/services/theme.service.mjs +0 -64
- package/esm2022/types/menu.mjs +0 -2
- package/esm2022/types/popup.mjs +0 -2
- package/esm2022/types/tooltip.mjs +0 -2
- package/esm2022/utils/index.mjs +0 -205
- package/fesm2022/dotglitch-ngx-common-folder-rename.component-Bh1IiRvd.mjs.map +0 -1
- package/utils/index.d.ts +0 -128
- /package/{components → core/components}/lazy-loader/lazy-loader.component.d.ts +0 -0
- /package/{components → core/components}/lazy-loader/lazy-loader.module.d.ts +0 -0
- /package/{components → core/components}/lazy-loader/lazy-loader.service.d.ts +0 -0
- /package/{components → core/components}/lazy-loader/types.d.ts +0 -0
- /package/{components → core/components}/parallax-card/parallax-card.component.d.ts +0 -0
- /package/{directives → core/directives}/image-cache.directive.d.ts +0 -0
- /package/{directives → core/directives}/utils.d.ts +0 -0
- /package/{pipes → core/pipes}/html-bypass.pipe.d.ts +0 -0
- /package/{pipes → core/pipes}/resource-bypass.pipe.d.ts +0 -0
- /package/{pipes → core/pipes}/script-bypass.pipe.d.ts +0 -0
- /package/{pipes → core/pipes}/style-bypass.pipe.d.ts +0 -0
- /package/{pipes → core/pipes}/url-bypass.pipe.d.ts +0 -0
- /package/{services → core/services}/dependency.service.d.ts +0 -0
- /package/{services → core/services}/dialog.service.d.ts +0 -0
- /package/{services → core/services}/fetch.service.d.ts +0 -0
- /package/{services → core/services}/file.service.d.ts +0 -0
- /package/{services → core/services}/keyboard.service.d.ts +0 -0
- /package/{services → core/services}/theme.service.d.ts +0 -0
- /package/{types → core/types}/popup.d.ts +0 -0
- /package/{components/filemanager → filemanager}/icon-resolver.d.ts +0 -0
- /package/{assets → filemanager}/mat-icons.d.ts +0 -0
- /package/{components/filemanager → filemanager}/textextensions.d.ts +0 -0
- /package/{components/filemanager → filemanager}/toolbar/breadcrumb/breadcrumb.component.d.ts +0 -0
- /package/{components/filemanager → filemanager}/toolbar/icon-button/icon-button.component.d.ts +0 -0
- /package/{components/filemanager → filemanager}/tree-view/tree-view.component.d.ts +0 -0
- /package/{components/vscode → monaco-editor}/ts-type-resolver/dependency-parser.d.ts +0 -0
- /package/{components/vscode → monaco-editor}/ts-type-resolver/dummy-source-cache.d.ts +0 -0
- /package/{components/vscode → monaco-editor}/ts-type-resolver/import-resolver.d.ts +0 -0
- /package/{components/vscode → monaco-editor}/ts-type-resolver/main.d.ts +0 -0
- /package/{components/vscode → monaco-editor}/ts-type-resolver/recursion-depth.d.ts +0 -0
- /package/{components/vscode → monaco-editor}/ts-type-resolver/types.d.ts +0 -0
- /package/{components/vscode → monaco-editor}/ts-type-resolver/unpkg-source-resolver.d.ts +0 -0
- /package/{components/vscode → monaco-editor}/ts-type-resolver/update-emitter.d.ts +0 -0
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
import { Component, EventEmitter, Inject, Input, Optional, Output, ViewChild, ViewChildren } from '@angular/core';
|
|
2
|
-
import { MatTabsModule } from '@angular/material/tabs';
|
|
3
2
|
import { MatIconModule } from '@angular/material/icon';
|
|
4
3
|
import { MatDrawerContainer, MatSidenavModule } from '@angular/material/sidenav';
|
|
4
|
+
import { MatTabsModule } from '@angular/material/tabs';
|
|
5
5
|
import { AngularSplitModule } from 'angular-split';
|
|
6
|
+
import { NGX_WEB_COMPONENTS_CONFIG } from '@dotglitch/ngx-common/core';
|
|
7
|
+
import { ulid } from 'ulidx';
|
|
6
8
|
import { FileGridComponent } from './file-grid/file-grid.component';
|
|
9
|
+
import { IconResolver } from './icon-resolver';
|
|
7
10
|
import { ToolbarComponent } from './toolbar/toolbar.component';
|
|
8
11
|
import { TreeViewComponent } from './tree-view/tree-view.component';
|
|
9
|
-
import { NGX_WEB_COMPONENTS_CONFIG } from '../types';
|
|
10
|
-
import { IconResolver } from './icon-resolver';
|
|
11
|
-
import { ulid } from 'ulidx';
|
|
12
12
|
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "
|
|
14
|
-
import * as i2 from "
|
|
15
|
-
import * as i3 from "angular
|
|
16
|
-
import * as i4 from "@angular/material/
|
|
17
|
-
import * as i5 from "@angular/material/
|
|
18
|
-
import * as i6 from "@angular/material/sidenav";
|
|
13
|
+
import * as i1 from "@dotglitch/ngx-common/core";
|
|
14
|
+
import * as i2 from "angular-split";
|
|
15
|
+
import * as i3 from "@angular/material/tabs";
|
|
16
|
+
import * as i4 from "@angular/material/icon";
|
|
17
|
+
import * as i5 from "@angular/material/sidenav";
|
|
19
18
|
export class FilemanagerComponent {
|
|
20
19
|
get currentFileGrid() { return this.fileGrids.get(this.tabIndex); }
|
|
21
20
|
constructor(libConfig = {}, lazyLoader, viewContainer, fetch) {
|
|
@@ -240,8 +239,8 @@ export class FilemanagerComponent {
|
|
|
240
239
|
link.remove();
|
|
241
240
|
this.fileDownload.next(file);
|
|
242
241
|
}
|
|
243
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilemanagerComponent, deps: [{ token: NGX_WEB_COMPONENTS_CONFIG, optional: true }, { token: i1.LazyLoaderService }, { token: i0.ViewContainerRef }, { token:
|
|
244
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FilemanagerComponent, isStandalone: true, selector: "app-filemanager", inputs: { config: "config", gridSize: "gridSize", mode: "mode", contextTags: "contextTags", value: "value" }, outputs: { valueChange: "valueChange", focusedFilesChange: "focusedFilesChange", fileUpload: "fileUpload", fileDownload: "fileDownload", fileRename: "fileRename", fileDelete: "fileDelete", fileCopy: "fileCopy", filePaste: "filePaste", fileSelect: "fileSelect", fileDblClick: "fileDblClick", folderSelect: "folderSelect", folderDblClick: "folderDblClick", filesSelect: "filesSelect" }, viewQueries: [{ propertyName: "tabGroup", first: true, predicate: ["tabGroup"], descendants: true }, { propertyName: "treeView", first: true, predicate: TreeViewComponent, descendants: true }, { propertyName: "toolbar", first: true, predicate: ToolbarComponent, descendants: true }, { propertyName: "drawer", first: true, predicate: MatDrawerContainer, descendants: true }, { propertyName: "fileGrids", predicate: FileGridComponent, descendants: true }], ngImport: i0, template: "<app-toolbar\n [currentTab]=\"currentTab\"\n [(showHiddenFiles)]=\"showHiddenFiles\"\n [(showSidebar)]=\"showSidebar\"\n [config]=\"config\"\n [showBareMinimum]=\"width < 500 && config.showBreadcrumb != false\"\n (onBreadcrumbClick)=\"onBreadcrumbClick($event)\"\n/>\n\n<mat-drawer-container style=\"flex: 1\">\n <mat-drawer #drawer mode=\"over\">\n @if (width < 500 && config.showBreadcrumb != false) {\n <app-toolbar\n [currentTab]=\"currentTab\"\n [(showHiddenFiles)]=\"showHiddenFiles\"\n [(showSidebar)]=\"showSidebar\"\n [config]=\"config\"\n [drawerMode]=\"true\"\n (onBreadcrumbClick)=\"onBreadcrumbClick($event)\"\n />\n }\n <app-tree-view\n [data]=\"currentTab.sidebarItems\"\n (loadChildren)=\"onTreeViewLoadChildren($event)\"\n (click)=\"onTreeViewSelect($event)\"\n />\n </mat-drawer>\n <mat-drawer-content>\n <as-split direction=\"horizontal\" [gutterSize]=\"sidebarOverlay ? 0 : 2\" [unit]=\"'pixel'\" (dragEnd)=\"onResizeEnd()\">\n <as-split-area\n style=\"background-color: var(--filemanager-sidebar-background-color, #2c2c2c)\"\n [size]=\"215\"\n [minSize]=\"215\"\n [maxSize]=\"width/4\"\n [visible]=\"!sidebarOverlay && config.showTreeview != false\"\n >\n @if (!sidebarOverlay && config.showTreeview != false) {\n <div class=\"sidebar\"\n (click)=\"currentTab.selection = []\"\n >\n <app-tree-view\n [data]=\"currentTab.sidebarItems\"\n (loadChildren)=\"onTreeViewLoadChildren($event)\"\n (click)=\"onTreeViewSelect($event)\"\n />\n </div>\n }\n </as-split-area>\n <as-split-area style=\"background-color: var(--filemanager-background-color, #272727);\">\n <div class=\"content\"\n [style.--tab-height]=\"tabs.length > 1 ? '36px' : '0'\"\n >\n <mat-tab-group #tabGroup (selectedTabChange)=\"currentTab = tabs[$event.index]\" [(selectedIndex)]=\"tabIndex\">\n @for (tab of tabs; track tab; let i = $index) {\n <mat-tab>\n <ng-template mat-tab-label>\n {{tab.label}}\n <mat-icon\n class=\"close\"\n (click)=\"closeTab(tab)\">\n close\n </mat-icon>\n </ng-template>\n\n <ng-template matTabContent>\n <app-file-grid\n [viewMode]=\"tab.viewMode\"\n [tab]=\"tab\"\n [config]=\"config\"\n [gridSize]=\"gridSize\"\n [sortOrder]=\"tab.sortOrder\"\n [(selection)]=\"tab.selection\"\n [(path)]=\"tab.path\"\n (pathChange)=\"onTabPathChange(tab)\"\n [(value)]=\"gridValues[i]\"\n (valueChange)=\"onGridValueChange()\"\n (loadFiles)=\"onTabLoadFiles(tab, $event)\"\n\n (fileSelect)=\"fileSelect.next($event)\"\n (fileDblClick)=\"fileDblClick.next($event)\"\n (folderSelect)=\"folderSelect.next($event)\"\n (folderDblClick)=\"folderDblClick.next($event)\"\n />\n </ng-template>\n </mat-tab>\n }\n </mat-tab-group>\n </div>\n </as-split-area>\n </as-split>\n </mat-drawer-content>\n</mat-drawer-container>\n\n", styles: [":host{display:flex;flex-direction:column;height:100%;width:100%}:host .content{display:flex;height:100%;overflow:hidden}:host ::ng-deep .as-split-gutter{background-color:var(--gutter-color, #121212)!important}:host ::ng-deep .mat-mdc-tab-header{height:var(--tab-height, 0);transition:height .25s ease}:host ::ng-deep .mat-mdc-tab-header .mdc-tab{height:var(--tab-height, 0);background-color:var(--filemanager-tab-background-color, #303030)}:host ::ng-deep .mat-mdc-tab .mdc-tab__content{position:static}:host ::ng-deep .mat-mdc-tab:not(.mat-mdc-tab-disabled).mdc-tab--active .mdc-tab__text-label,:host ::ng-deep .mat-mdc-tab-link:not(.mat-mdc-tab-disabled).mdc-tab--active .mdc-tab__text-label{color:var(--text-subdued-color)}.sidebar{border-right:1px solid transparent;transition:background-color .2s cubic-bezier(0,0,.2,1),border-color .2s ease}.sidebar ul{list-style-type:none;text-align:left;margin:0;padding:0;display:flex;flex-direction:column}.sidebar ul li{display:flex;align-items:center;transition:all .2s ease;font-size:14px;padding:6px 6px 6px 24px}.sidebar ul li mat-icon{margin-right:8px}.sidebar ul li:hover{background-color:#343434}.sidebar ul .tooltip{background-color:#101010cc;border:1px solid #414141;opacity:0;pointer-events:none;transition:all .2s ease}.active .sidebar{background-color:#2c2c2c;border-right-color:#1c1c1c}.active .sidebar li:hover{background-color:#343434}.close{position:absolute;right:12px;color:#666;transition:color .25s ease}.close:hover{color:#ccc}\n"], dependencies: [{ kind: "ngmodule", type: AngularSplitModule }, { kind: "component", type: i3.SplitComponent, selector: "as-split", inputs: ["direction", "unit", "gutterSize", "gutterStep", "restrictMove", "useTransition", "disabled", "dir", "gutterDblClickDuration", "gutterClickDeltaPx", "gutterAriaLabel"], outputs: ["transitionEnd", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"], exportAs: ["asSplit"] }, { kind: "directive", type: i3.SplitAreaDirective, selector: "as-split-area, [as-split-area]", inputs: ["order", "size", "minSize", "maxSize", "lockSize", "visible"], exportAs: ["asSplitArea"] }, { kind: "component", type: FileGridComponent, selector: "app-file-grid", inputs: ["path", "config", "showHiddenFiles", "viewMode", "gridSize", "tab", "selection", "value", "sortOrder"], outputs: ["pathChange", "fileSelect", "fileDblClick", "folderSelect", "folderDblClick", "newTab", "loadFiles", "selectionChange", "valueChange"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i4.MatTabContent, selector: "[matTabContent]" }, { kind: "directive", type: i4.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i4.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i4.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i6.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i6.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i6.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: ToolbarComponent, selector: "app-toolbar", inputs: ["config", "currentTab", "showHiddenFiles", "showSidebar", "drawerMode", "showBareMinimum"], outputs: ["onBreadcrumbClick", "showHiddenFilesChange", "showSidebarChange"] }, { kind: "component", type: TreeViewComponent, selector: "app-tree-view", inputs: ["rowTemplate", "data"], outputs: ["click", "loadChildren"] }] }); }
|
|
242
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilemanagerComponent, deps: [{ token: NGX_WEB_COMPONENTS_CONFIG, optional: true }, { token: i1.LazyLoaderService }, { token: i0.ViewContainerRef }, { token: i1.Fetch }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
243
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FilemanagerComponent, isStandalone: true, selector: "app-filemanager", inputs: { config: "config", gridSize: "gridSize", mode: "mode", contextTags: "contextTags", value: "value" }, outputs: { valueChange: "valueChange", focusedFilesChange: "focusedFilesChange", fileUpload: "fileUpload", fileDownload: "fileDownload", fileRename: "fileRename", fileDelete: "fileDelete", fileCopy: "fileCopy", filePaste: "filePaste", fileSelect: "fileSelect", fileDblClick: "fileDblClick", folderSelect: "folderSelect", folderDblClick: "folderDblClick", filesSelect: "filesSelect" }, viewQueries: [{ propertyName: "tabGroup", first: true, predicate: ["tabGroup"], descendants: true }, { propertyName: "treeView", first: true, predicate: TreeViewComponent, descendants: true }, { propertyName: "toolbar", first: true, predicate: ToolbarComponent, descendants: true }, { propertyName: "drawer", first: true, predicate: MatDrawerContainer, descendants: true }, { propertyName: "fileGrids", predicate: FileGridComponent, descendants: true }], ngImport: i0, template: "<app-toolbar\n [currentTab]=\"currentTab\"\n [(showHiddenFiles)]=\"showHiddenFiles\"\n [(showSidebar)]=\"showSidebar\"\n [config]=\"config\"\n [showBareMinimum]=\"width < 500 && config.showBreadcrumb != false\"\n (onBreadcrumbClick)=\"onBreadcrumbClick($event)\"\n/>\n\n<mat-drawer-container style=\"flex: 1\">\n <mat-drawer #drawer mode=\"over\">\n @if (width < 500 && config.showBreadcrumb != false) {\n <app-toolbar\n [currentTab]=\"currentTab\"\n [(showHiddenFiles)]=\"showHiddenFiles\"\n [(showSidebar)]=\"showSidebar\"\n [config]=\"config\"\n [drawerMode]=\"true\"\n (onBreadcrumbClick)=\"onBreadcrumbClick($event)\"\n />\n }\n <app-tree-view\n [data]=\"currentTab.sidebarItems\"\n (loadChildren)=\"onTreeViewLoadChildren($event)\"\n (click)=\"onTreeViewSelect($event)\"\n />\n </mat-drawer>\n <mat-drawer-content>\n <as-split direction=\"horizontal\" [gutterSize]=\"sidebarOverlay ? 0 : 2\" [unit]=\"'pixel'\" (dragEnd)=\"onResizeEnd()\">\n <as-split-area\n style=\"background-color: var(--filemanager-sidebar-background-color, #2c2c2c)\"\n [size]=\"215\"\n [minSize]=\"215\"\n [maxSize]=\"width/4\"\n [visible]=\"!sidebarOverlay && config.showTreeview != false\"\n >\n @if (!sidebarOverlay && config.showTreeview != false) {\n <div class=\"sidebar\"\n (click)=\"currentTab.selection = []\"\n >\n <app-tree-view\n [data]=\"currentTab.sidebarItems\"\n (loadChildren)=\"onTreeViewLoadChildren($event)\"\n (click)=\"onTreeViewSelect($event)\"\n />\n </div>\n }\n </as-split-area>\n <as-split-area style=\"background-color: var(--filemanager-background-color, #272727);\">\n <div class=\"content\"\n [style.--tab-height]=\"tabs.length > 1 ? '36px' : '0'\"\n >\n <mat-tab-group #tabGroup (selectedTabChange)=\"currentTab = tabs[$event.index]\" [(selectedIndex)]=\"tabIndex\">\n @for (tab of tabs; track tab; let i = $index) {\n <mat-tab>\n <ng-template mat-tab-label>\n {{tab.label}}\n <mat-icon\n class=\"close\"\n (click)=\"closeTab(tab)\">\n close\n </mat-icon>\n </ng-template>\n\n <ng-template matTabContent>\n <app-file-grid\n [viewMode]=\"tab.viewMode\"\n [tab]=\"tab\"\n [config]=\"config\"\n [gridSize]=\"gridSize\"\n [sortOrder]=\"tab.sortOrder\"\n [(selection)]=\"tab.selection\"\n [(path)]=\"tab.path\"\n (pathChange)=\"onTabPathChange(tab)\"\n [(value)]=\"gridValues[i]\"\n (valueChange)=\"onGridValueChange()\"\n (loadFiles)=\"onTabLoadFiles(tab, $event)\"\n\n (fileSelect)=\"fileSelect.next($event)\"\n (fileDblClick)=\"fileDblClick.next($event)\"\n (folderSelect)=\"folderSelect.next($event)\"\n (folderDblClick)=\"folderDblClick.next($event)\"\n />\n </ng-template>\n </mat-tab>\n }\n </mat-tab-group>\n </div>\n </as-split-area>\n </as-split>\n </mat-drawer-content>\n</mat-drawer-container>\n\n", styles: [":host{display:flex;flex-direction:column;height:100%;width:100%}:host .content{display:flex;height:100%;overflow:hidden}:host ::ng-deep .as-split-gutter{background-color:var(--gutter-color, #121212)!important}:host ::ng-deep .mat-mdc-tab-header{height:var(--tab-height, 0);transition:height .25s ease}:host ::ng-deep .mat-mdc-tab-header .mdc-tab{height:var(--tab-height, 0);background-color:var(--filemanager-tab-background-color, #303030)}:host ::ng-deep .mat-mdc-tab .mdc-tab__content{position:static}:host ::ng-deep .mat-mdc-tab:not(.mat-mdc-tab-disabled).mdc-tab--active .mdc-tab__text-label,:host ::ng-deep .mat-mdc-tab-link:not(.mat-mdc-tab-disabled).mdc-tab--active .mdc-tab__text-label{color:var(--text-subdued-color)}.sidebar{border-right:1px solid transparent;transition:background-color .2s cubic-bezier(0,0,.2,1),border-color .2s ease}.sidebar ul{list-style-type:none;text-align:left;margin:0;padding:0;display:flex;flex-direction:column}.sidebar ul li{display:flex;align-items:center;transition:all .2s ease;font-size:14px;padding:6px 6px 6px 24px}.sidebar ul li mat-icon{margin-right:8px}.sidebar ul li:hover{background-color:#343434}.sidebar ul .tooltip{background-color:#101010cc;border:1px solid #414141;opacity:0;pointer-events:none;transition:all .2s ease}.active .sidebar{background-color:#2c2c2c;border-right-color:#1c1c1c}.active .sidebar li:hover{background-color:#343434}.close{position:absolute;right:12px;color:#666;transition:color .25s ease}.close:hover{color:#ccc}\n"], dependencies: [{ kind: "ngmodule", type: AngularSplitModule }, { kind: "component", type: i2.SplitComponent, selector: "as-split", inputs: ["direction", "unit", "gutterSize", "gutterStep", "restrictMove", "useTransition", "disabled", "dir", "gutterDblClickDuration", "gutterClickDeltaPx", "gutterAriaLabel"], outputs: ["transitionEnd", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"], exportAs: ["asSplit"] }, { kind: "directive", type: i2.SplitAreaDirective, selector: "as-split-area, [as-split-area]", inputs: ["order", "size", "minSize", "maxSize", "lockSize", "visible"], exportAs: ["asSplitArea"] }, { kind: "component", type: FileGridComponent, selector: "app-file-grid", inputs: ["path", "config", "showHiddenFiles", "viewMode", "gridSize", "tab", "selection", "value", "sortOrder"], outputs: ["pathChange", "fileSelect", "fileDblClick", "folderSelect", "folderDblClick", "newTab", "loadFiles", "selectionChange", "valueChange"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i3.MatTabContent, selector: "[matTabContent]" }, { kind: "directive", type: i3.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i3.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i3.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i5.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i5.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i5.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: ToolbarComponent, selector: "app-toolbar", inputs: ["config", "currentTab", "showHiddenFiles", "showSidebar", "drawerMode", "showBareMinimum"], outputs: ["onBreadcrumbClick", "showHiddenFilesChange", "showSidebarChange"] }, { kind: "component", type: TreeViewComponent, selector: "app-tree-view", inputs: ["rowTemplate", "data"], outputs: ["click", "loadChildren"] }] }); }
|
|
245
244
|
}
|
|
246
245
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilemanagerComponent, decorators: [{
|
|
247
246
|
type: Component,
|
|
@@ -259,7 +258,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
259
258
|
}, {
|
|
260
259
|
type: Inject,
|
|
261
260
|
args: [NGX_WEB_COMPONENTS_CONFIG]
|
|
262
|
-
}] }, { type: i1.LazyLoaderService }, { type: i0.ViewContainerRef }, { type:
|
|
261
|
+
}] }, { type: i1.LazyLoaderService }, { type: i0.ViewContainerRef }, { type: i1.Fetch }], propDecorators: { tabGroup: [{
|
|
263
262
|
type: ViewChild,
|
|
264
263
|
args: ['tabGroup']
|
|
265
264
|
}], fileGrids: [{
|
|
@@ -311,4 +310,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
311
310
|
}], filesSelect: [{
|
|
312
311
|
type: Output
|
|
313
312
|
}] } });
|
|
314
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZW1hbmFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9jb21wb25lbnRzL2ZpbGVtYW5hZ2VyL2ZpbGVtYW5hZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvY29tcG9uZW50cy9maWxlbWFuYWdlci9maWxlbWFuYWdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQWEsU0FBUyxFQUFFLFlBQVksRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFFdkosT0FBTyxFQUFlLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFlLHlCQUF5QixFQUEwQixNQUFNLFVBQVUsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHL0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE9BQU8sQ0FBQzs7Ozs7Ozs7QUEwSjdCLE1BQU0sT0FBTyxvQkFBb0I7SUFvRTdCLElBQUksZUFBZSxLQUFLLE9BQU8sSUFBSSxDQUFDLFNB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LGlCQUFpQjs7NEZBSVosb0JBQW9CO2tCQWZoQyxTQUFTOytCQUNJLGlCQUFpQixXQUdsQjt3QkFDTCxrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7cUJBQ3BCLGNBQ1csSUFBSTs7MEJBNkVYLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMseUJBQXlCOzRIQTFFMUIsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVO2dCQUNZLFNBQVM7c0JBQXpDLFlBQVk7dUJBQUMsaUJBQWlCO2dCQUNELFFBQVE7c0JBQXJDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUNDLE9BQU87c0JBQW5DLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUNJLE1BQU07c0JBQXBDLFNBQVM7dUJBQUMsa0JBQWtCO2dCQUVwQixNQUFNO3NCQUFkLEtBQUs7Z0JBV0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFRRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBSUcsVUFBVTtzQkFBbkIsTUFBTTtnQkFJRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBRUcsVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFLRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGQsIFZpZXdDaGlsZHJlbiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdGb3JPZiwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRUYWJHcm91cCwgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0RHJhd2VyQ29udGFpbmVyLCBNYXRTaWRlbmF2TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XG5pbXBvcnQgeyBBbmd1bGFyU3BsaXRNb2R1bGUgfSBmcm9tICdhbmd1bGFyLXNwbGl0JztcblxuaW1wb3J0IHsgRmlsZUdyaWRDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtZ3JpZC9maWxlLWdyaWQuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJlZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL3RyZWUtdmlldy90cmVlLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVTb3J0aW5nLCBOR1hfV0VCX0NPTVBPTkVOVFNfQ09ORklHLCBOZ3hXZWJDb21wb25lbnRzQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgSWNvblJlc29sdmVyIH0gZnJvbSAnLi9pY29uLXJlc29sdmVyJztcbmltcG9ydCB7IExhenlMb2FkZXJTZXJ2aWNlLCBOR1hfTEFaWV9MT0FERVJfQ09ORklHIH0gZnJvbSAnLi4vbGF6eS1sb2FkZXIvbGF6eS1sb2FkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBGZXRjaCB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgdWxpZCB9IGZyb20gJ3VsaWR4JztcblxuLy8gVE9ETzpcbi8qKlxuICogTXVsdGlwbGUgbXVzaWMgLyB2aWRlbyAvIGltYWdlIGZpbGVzIHNlbGVjdGVkIHR1cm5zIGludG8gYSBwbGF5bGlzdFxuICogRHJhZ2dpbmcgbXVzaWMgLyB2aWRlbyAvIGltYWdlIHF1ZXVlcyB0aGUgZmlsZShzKVxuICogQ2FuIHNhdmUgYW5kIGVkaXQgYSBsaXN0IG9mIGZpbGVzIGFzIHBsYXlsaXN0XG4gKiBDYW4gXCJsb29wXCIgXCJyYW5kb21pemVcIlxuICovXG5cbmV4cG9ydCB0eXBlIERpcmVjdG9yeURlc2NyaXB0b3IgPSB7XG4gICAga2luZDogXCJkaXJlY3RvcnlcIixcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgbmFtZTogc3RyaW5nXG4gICAgY29udGVudHM6IHtcbiAgICAgICAgZGlyczogRGlyZWN0b3J5RGVzY3JpcHRvcltdLFxuICAgICAgICBmaWxlczogRmlsZURlc2NyaXB0b3JbXVxuICAgIH1cbn1cblxuZXhwb3J0IHR5cGUgRmlsZURlc2NyaXB0b3IgPSB7XG4gICAga2luZDogXCJmaWxlXCIsXG4gICAgc3RhdHM6IHtcbiAgICAgICAgc2l6ZTogbnVtYmVyO1xuICAgICAgICAvLyBTaXplIGZvciB6aXBwZWQgZmlsZVxuICAgICAgICBjb21wcmVzc2VkU2l6ZT86IG51bWJlcixcbiAgICAgICAgYXRpbWVNczogbnVtYmVyO1xuICAgICAgICBtdGltZU1zOiBudW1iZXI7XG4gICAgICAgIGN0aW1lTXM6IG51bWJlcjtcbiAgICAgICAgYmlydGh0aW1lTXM6IG51bWJlcjtcbiAgICB9LFxuICAgIHBhdGg6IHN0cmluZ1xuICAgIG5hbWU6IHN0cmluZyxcbiAgICBleHQ6IHN0cmluZyxcbiAgICAvLyBDb21tZW50IGZvciBlbnRyaWVzIGluIGEgemlwIGZpbGUuXG4gICAgY29tbWVudD86IHN0cmluZ1xufTtcblxuZXhwb3J0IHR5cGUgRlNEZXNjcmlwdG9yID0gRGlyZWN0b3J5RGVzY3JpcHRvciB8IEZpbGVEZXNjcmlwdG9yO1xuXG5leHBvcnQgdHlwZSBGaWxlVmlld1RhYiA9IHtcbiAgICBpZDogc3RyaW5nLFxuICAgIGxhYmVsOiBzdHJpbmcsXG4gICAgYnJlYWRjcnVtYjoge1xuICAgICAgICBpZDogc3RyaW5nLFxuICAgICAgICBsYWJlbDogc3RyaW5nXG4gICAgfVtdLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBzZWxlY3Rpb246IEZTRGVzY3JpcHRvcltdLFxuICAgIHZpZXdNb2RlOiBcImdyaWRcIiB8IFwibGlzdFwiLFxuICAgIGhpc3RvcnlJbmRleDogbnVtYmVyLFxuICAgIGhpc3Rvcnk6IHN0cmluZ1tdLFxuICAgIHNpZGViYXJJdGVtczogRlNEZXNjcmlwdG9yW10sXG4gICAgc29ydE9yZGVyOiBGaWxlU29ydGluZ1xufVxuXG4vLyBUT0RPOiByZXBsYWNlIGh0dHAgY29uZmlnc1xudHlwZSBIdHRwQ29uZmlndXJhdGlvbiA9IChcbiAgICB7IHVybDogc3RyaW5nIH0gfFxuICAgIHsgdXJsVGVtcGxhdGU6IChwYXRoOiBzdHJpbmcpID0+IHN0cmluZyB9XG4pICYge1xuICAgIG1ldGhvZD86IFwiZ2V0XCIgfCBcInB1dFwiIHwgXCJwb3N0XCIgfCBcInBhdGNoXCIgfCBcImRlbGV0ZVwiLFxuICAgIGhlYWRlcnM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9XG59XG5cbmV4cG9ydCB0eXBlIE5neEZpbGVNYW5hZ2VyQ29uZmlndXJhdGlvbiA9IFBhcnRpYWw8e1xuICAgIC8qKlxuICAgICAqIEluaXRpYWwgcGF0aFxuICAgICAqL1xuICAgIHBhdGg6IHN0cmluZyxcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSByb290IHBhdGggKHdpbGwgYXBwZWFyIGFzICcvJykuXG4gICAgICogRGVmYXVsdHMgdG8gJy8nLlxuICAgICAqXG4gICAgICogVXNlciBjYW5ub3QgdmlldyBvdXRzaWRlIG9mIHRoaXMgcGF0aC5cbiAgICAgKiAgIChOb3QgdG8gYmUgdXNlZCBhcyBhIHNlY3VyaXR5IG1lYXN1cmUhKVxuICAgICAqL1xuICAgIGNocm9vdFBhdGg6IHN0cmluZyxcblxuICAgIC8qKlxuICAgICAqIFJlc3RyaWN0IHVzZXJzIHRvIG9ubHkgbmF2aWdhdGUgYXJvdW5kIHRvIHN1YnBhdGhzIG9mIHRoZSBzcGVjaWZpZWQgYHBhdGhgXG4gICAgICovXG4gICAgbmF2aWdhdGVPbmx5VG9EZXNjZW5kYW50czogYm9vbGVhbixcbiAgICBzaG93QnJlYWRjcnVtYjogYm9vbGVhbixcbiAgICBzaG93VHJlZXZpZXc6IGJvb2xlYW4sXG5cbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBcInJvb3RcIiBwYXRoIGAvYFxuICAgICAqIERlZmF1bHRzIHRvIFwiU3RvcmFnZVwiXG4gICAgICovXG4gICAgcm9vdE5hbWU6IHN0cmluZyxcblxuICAgIC8qKlxuICAgICAqIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGJlIHN0b3JlZCBpbiBoaXN0b3J5LlxuICAgICAqL1xuICAgIG1heEhpc3RvcnlMZW5ndGg6IG51bWJlcixcblxuICAgIGFwaVNldHRpbmdzOiB7XG4gICAgICAgIGxpc3RFbnRyaWVzVXJsPzogc3RyaW5nLFxuICAgICAgICBsaXN0RW50cmllc1VybFRlbXBsYXRlPzogKHBhdGg6IHN0cmluZykgPT4gc3RyaW5nLFxuICAgICAgICBkb3dubG9hZEVudHJ5VXJsPzogc3RyaW5nLFxuICAgICAgICBkb3dubG9hZEVudHJ5VXJsVGVtcGxhdGU/OiAocGF0aDogc3RyaW5nKSA9PiBzdHJpbmcsXG4gICAgICAgIHVwbG9hZEVudHJ5VXJsPzogc3RyaW5nLFxuICAgICAgICB1cGxvYWRFbnRyeVVybFRlbXBsYXRlPzogKHBhdGg6IHN0cmluZykgPT4gc3RyaW5nLFxuICAgICAgICBkZWxldGVFbnRyeVVybD86IHN0cmluZyxcbiAgICAgICAgZGVsZXRlRW50cnlVcmxUZW1wbGF0ZT86IChwYXRoOiBzdHJpbmcpID0+IHN0cmluZyxcbiAgICAgICAgcmVuYW1lRW50cnlVcmw/OiBzdHJpbmcsXG4gICAgICAgIHJlbmFtZUVudHJ5VXJsVGVtcGxhdGU/OiAocGF0aDogc3RyaW5nKSA9PiBzdHJpbmcsXG4gICAgICAgIGNyZWF0ZURpcmVjdG9yeVVybD86IHN0cmluZyxcbiAgICAgICAgY3JlYXRlRGlyZWN0b3J5VXJsVGVtcGxhdGU/OiAocGF0aDogc3RyaW5nKSA9PiBzdHJpbmdcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogVGhlIHBhdGggdGhhdCBpbWFnZXMgYXJlIGxvYWRlZCBmcm9tLlxuICAgICAqIERlZmF1bHQgdmFsdWUgYC9hc3NldHMvZG90Z2xpdGNoL3dlYmNvbXBvbmVudHMvYFxuICAgICAqL1xuICAgIGFzc2V0UGF0aDogc3RyaW5nLFxuICAgIHNpZGViYXJMb2NhdGlvblN0cmF0ZWd5OiBcImtub3duXCIgfCBcImN1cnJlbnREaXJlY3RvcnlcIixcblxuICAgIGljb25SZXNvbHZlcjogKGZpbGU6IEZTRGVzY3JpcHRvcikgPT4gc3RyaW5nLFxuXG4gICAgaW1hZ2VTaXplOiBcIm5vcm1hbFwiIHwgXCJzbWFsbFwiIHwgXCJodWdlXCIsXG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqL1xuICAgIHNlbGVjdGlvbk1vZGU6IFwic2luZ2xlXCIgfCBcIm11bHRpcGxlXCIsXG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGRldGVybWluZXMgaWYgdGhlIGZpbGVtYW5hZ2VyIHNob3dzIHNlbGVjdGVkIGVudHJpZXNcbiAgICAgKlxuICAgICAqIElmIHNldCB0byBgZm9jdXNGaWxlc2AsIGZpbGUgcGF0aHMgdGhhdCBtYXRjaCBmcm9tIHRoZSBwcm92aWRlZCBgZm9jdXNlZEZpbGVzYFxuICAgICAqIHdpbGwgYmUgaGlnaGxpZ2h0ZWQsIGFuZCBjYW4gYmUgc2VsZWN0ZWQgLyBkZXNlbGVjdGVkLlxuICAgICAqL1xuICAgIG1vZGU6IFwiZm9jdXNGaWxlc1wiIHwgXCJub3JtYWxcIixcbiAgICBmb2N1c2VkRmlsZXM6IHN0cmluZ1tdXG59PlxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1maWxlbWFuYWdlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZpbGVtYW5hZ2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9maWxlbWFuYWdlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQW5ndWxhclNwbGl0TW9kdWxlLFxuICAgICAgICBGaWxlR3JpZENvbXBvbmVudCxcbiAgICAgICAgTWF0VGFic01vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgTWF0U2lkZW5hdk1vZHVsZSxcbiAgICAgICAgVG9vbGJhckNvbXBvbmVudCxcbiAgICAgICAgVHJlZVZpZXdDb21wb25lbnRcbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRmlsZW1hbmFnZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoJ3RhYkdyb3VwJykgdGFiR3JvdXA6IE1hdFRhYkdyb3VwO1xuICAgIEBWaWV3Q2hpbGRyZW4oRmlsZUdyaWRDb21wb25lbnQpIGZpbGVHcmlkczogUXVlcnlMaXN0PEZpbGVHcmlkQ29tcG9uZW50PjtcbiAgICBAVmlld0NoaWxkKFRyZWVWaWV3Q29tcG9uZW50KSB0cmVlVmlldzogVHJlZVZpZXdDb21wb25lbnQ7XG4gICAgQFZpZXdDaGlsZChUb29sYmFyQ29tcG9uZW50KSB0b29sYmFyOiBUb29sYmFyQ29tcG9uZW50O1xuICAgIEBWaWV3Q2hpbGQoTWF0RHJhd2VyQ29udGFpbmVyKSBkcmF3ZXI6IE1hdERyYXdlckNvbnRhaW5lcjtcblxuICAgIEBJbnB1dCgpIGNvbmZpZzogTmd4RmlsZU1hbmFnZXJDb25maWd1cmF0aW9uID0ge1xuICAgICAgICBhcGlTZXR0aW5nczoge1xuICAgICAgICAgICAgbGlzdEVudHJpZXNVcmw6IGAvYXBpL2ZpbGVzeXN0ZW0vYCxcbiAgICAgICAgICAgIHVwbG9hZEVudHJ5VXJsOiBgL2FwaS9maWxlc3lzdGVtL2AsXG4gICAgICAgICAgICBkb3dubG9hZEVudHJ5VXJsOiBgL2FwaS9maWxlc3lzdGVtL2AsXG4gICAgICAgICAgICBkZWxldGVFbnRyeVVybDogYC9hcGkvZmlsZXN5c3RlbS9gLFxuICAgICAgICAgICAgY3JlYXRlRGlyZWN0b3J5VXJsOiBgL2FwaS9maWxlc3lzdGVtL2ZvbGRlcmAsXG4gICAgICAgICAgICByZW5hbWVFbnRyeVVybDogYC9hcGkvZmlsZXN5c3RlbS9yZW5hbWVgXG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgQElucHV0KCkgZ3JpZFNpemU6IFwic21hbGxcIiB8IFwibm9ybWFsXCIgfCBcImxhcmdlXCIgPSBcIm5vcm1hbFwiO1xuICAgIEBJbnB1dCgpIG1vZGU6IFwiZ3JpZFwiIHwgXCJsaXN0XCI7XG4gICAgQElucHV0KCkgY29udGV4dFRhZ3M6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9O1xuXG5cbiAgICBASW5wdXQoKSB2YWx1ZTogRlNEZXNjcmlwdG9yW10gPSBbXTtcbiAgICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZTRGVzY3JpcHRvcltdPigpO1xuXG4gICAgZ3JpZFZhbHVlczogRlNEZXNjcmlwdG9yW11bXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHMgd2hlbiBmb2N1c2VkIGZpbGVzIGNoYW5nZS5cbiAgICAgKiBPbmx5IGF2YWlsYWJsZSBpbiBgZm9jdXNGaWxlc2AgbW9kZS5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgZm9jdXNlZEZpbGVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIC8qKlxuICAgICAqIEVtaXRzIHdoZW4gYSBmaWxlIGlzIHVwbG9hZGVkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBmaWxlVXBsb2FkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIC8qKlxuICAgICAqIEVtaXRzIHdoZW4gYSBmaWxlIGlzIGRvd25sb2FkZWQuXG4gICAgICovXG4gICAgQE91dHB1dCgpIGZpbGVEb3dubG9hZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgZmlsZVJlbmFtZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgZmlsZURlbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgZmlsZUNvcHkgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIGZpbGVQYXN0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKSBmaWxlU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlRGVzY3JpcHRvcj4oKTtcbiAgICBAT3V0cHV0KCkgZmlsZURibENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlRGVzY3JpcHRvcj4oKTtcbiAgICBAT3V0cHV0KCkgZm9sZGVyU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxEaXJlY3RvcnlEZXNjcmlwdG9yPigpO1xuICAgIEBPdXRwdXQoKSBmb2xkZXJEYmxDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RGlyZWN0b3J5RGVzY3JpcHRvcj4oKTtcblxuICAgIC8qKlxuICAgICAqIEVtaXRzIHdoZW4gbXVsdGlwbGUgZmlsZSBzZWxlY3Rpb25zIGNoYW5nZS5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgZmlsZXNTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPEZTRGVzY3JpcHRvcltdPigpO1xuICAgIC8qKlxuICAgICAqIEVtaXRzIHdoZW4gYW55IHNlbGVjdGlvbiBjaGFuZ2VzLCBzaW5nbGUgb3IgbXVsdGlwbGUgZmlsZXMuXG4gICAgICovXG4gICAgLy8gQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RlNEZXNjcmlwdG9yW10+KCk7XG5cbiAgICBzaG93SGlkZGVuRmlsZXMgPSBmYWxzZTtcbiAgICBzaG93U2lkZWJhciA9IHRydWU7XG4gICAgc2lkZWJhck92ZXJsYXkgPSBmYWxzZTtcbiAgICB3aWR0aCA9IDA7XG5cbiAgICBpc0hvbWVBbmNlc3RvciA9IGZhbHNlO1xuXG4gICAgY3VycmVudFRhYjogRmlsZVZpZXdUYWIgPSB7fSBhcyBhbnk7XG4gICAgZ2V0IGN1cnJlbnRGaWxlR3JpZCgpIHsgcmV0dXJuIHRoaXMuZmlsZUdyaWRzLmdldCh0aGlzLnRhYkluZGV4KSB9XG4gICAgdGFiSW5kZXggPSAwO1xuICAgIHRhYnM6IEZpbGVWaWV3VGFiW10gPSBbXTtcblxuICAgIGljb25SZXNvbHZlcjogSWNvblJlc29sdmVyO1xuXG4gICAgY29uc3RydWN0b3IgKFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5HWF9XRUJfQ09NUE9ORU5UU19DT05GSUcpIHJlYWRvbmx5IGxpYkNvbmZpZzogTmd4V2ViQ29tcG9uZW50c0NvbmZpZyA9IHt9LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGxhenlMb2FkZXI6IExhenlMb2FkZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByaXZhdGUgZmV0Y2g6IEZldGNoXG4gICAgKSB7XG4gICAgICAgIGxhenlMb2FkZXIucmVnaXN0ZXJDb21wb25lbnQoe1xuICAgICAgICAgICAgaWQ6IFwiZm9sZGVyLXJlbmFtZVwiLFxuICAgICAgICAgICAgZ3JvdXA6IFwiQGRvdGdsaXRjaC9uZ3gtd2ViLWNvbXBvbmVudHNcIixcbiAgICAgICAgICAgIGxvYWQ6ICgpID0+IGltcG9ydCgnLi9mb2xkZXItcmVuYW1lL2ZvbGRlci1yZW5hbWUuY29tcG9uZW50JylcbiAgICAgICAgfSlcblxuICAgICAgICB0aGlzLmljb25SZXNvbHZlciA9IG5ldyBJY29uUmVzb2x2ZXIobGliQ29uZmlnLmFzc2V0UGF0aCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5pdFRhYih0aGlzLmNvbmZpZy5wYXRoKTtcbiAgICAgICAgdGhpcy5jdXJyZW50VGFiID0gdGhpcy50YWJzWzBdO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5vblJlc2l6ZSgpO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5vblJlc2l6ZSgpLCAyNTApO1xuICAgIH1cblxuICAgIG9uVHJlZVZpZXdMb2FkQ2hpbGRyZW4oe2l0ZW0sIGNifSkge1xuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5saXN0RW50cmllc1VybFRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICA/IHRoaXMuY29uZmlnLmFwaVNldHRpbmdzLmxpc3RFbnRyaWVzVXJsVGVtcGxhdGUoaXRlbS5wYXRoICsgaXRlbS5uYW1lKVxuICAgICAgICAgICAgICAgICAgOiB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5saXN0RW50cmllc1VybFxuXG4gICAgICAgIHRoaXMuZmV0Y2gucG9zdCh1cmwsIHsgcGF0aDogaXRlbS5wYXRoICsgaXRlbS5uYW1lLCBzaG93SGlkZGVuOiB0aGlzLnNob3dIaWRkZW5GaWxlcyB9KVxuICAgICAgICAgICAgLnRoZW4oKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpcnM6IERpcmVjdG9yeURlc2NyaXB0b3JbXSA9IGRhdGEuZGlycztcbiAgICAgICAgICAgICAgICBjYihkaXJzKTtcbiAgICAgICAgICAgIH0pXG4gICAgfVxuXG4gICAgaW5pdFRhYihwYXRoOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy50YWJzLnB1c2godGhpcy5jdXJyZW50VGFiID0ge1xuICAgICAgICAgICAgaWQ6IHVsaWQoKSxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLmdldFRhYkxhYmVsKHBhdGgpLFxuICAgICAgICAgICAgYnJlYWRjcnVtYjogdGhpcy5jYWxjQnJlYWRjcnVtYihwYXRoKSxcbiAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICBzZWxlY3Rpb246IFtdLFxuICAgICAgICAgICAgdmlld01vZGU6IHRoaXMubW9kZSB8fCAnZ3JpZCcsXG4gICAgICAgICAgICBoaXN0b3J5SW5kZXg6IDAsXG4gICAgICAgICAgICBoaXN0b3J5OiBbXSxcbiAgICAgICAgICAgIHNpZGViYXJJdGVtczogW10sXG4gICAgICAgICAgICBzb3J0T3JkZXI6ICdhLXonXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnRhYkluZGV4ID0gdGhpcy50YWJzLmxlbmd0aDtcbiAgICB9XG5cbiAgICBjbG9zZVRhYih0YWI6IEZpbGVWaWV3VGFiKSB7XG4gICAgICAgIHRoaXMudGFicy5zcGxpY2UodGhpcy50YWJzLmZpbmRJbmRleCh0ID0+IHQuaWQgPT0gdGFiLmlkKSwgMSk7XG4gICAgfVxuXG4gICAgY2FsY0JyZWFkY3J1bWIocGF0aDogc3RyaW5nKSB7XG4gICAgICAgIGlmICghcGF0aCkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgcGF0aCA9IHBhdGgucmVwbGFjZShcIiMvXCIsICcvJyk7XG5cbiAgICAgICAgLy8gSWYgd2UncmUgYWN0aW5nIGxpa2Ugd2UncmUgaW4gYSBjaGFuZ2VkIHJvb3QsIHdlIHdpcGUgb3V0XG4gICAgICAgIC8vIGJyZWFkY3J1bWJzIGJlbG93IHRoZSByb290XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5jaHJvb3RQYXRoKSB7XG4gICAgICAgICAgICBwYXRoID0gcGF0aC5yZXBsYWNlKHRoaXMuY29uZmlnLmNocm9vdFBhdGgsICcnKTtcbiAgICAgICAgICAgIGNvbnN0IHBhcnRzID0gcGF0aC5zcGxpdCgnLycpO1xuXG4gICAgICAgICAgICBwYXRoID0gcGF0aC5yZXBsYWNlKC9eXFwvLywgdGhpcy5jb25maWcuY2hyb290UGF0aCk7XG4gICAgICAgICAgICByZXR1cm4gcGFydHMubWFwKChwLCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGF0aCA9IHBhcnRzLnNsaWNlKDAsIGkgKyAxKS5qb2luKCcvJyk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBpZDogKHRoaXMuY29uZmlnLmNocm9vdFBhdGggKyAocGF0aCB8fCAnLycpKS5yZXBsYWNlKC9cXC8rL2csICcvJyksXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBwIHx8IFwiXCJcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBwYXJ0cyA9IHBhdGguc3BsaXQoJy8nKTtcblxuICAgICAgICAgICAgcmV0dXJuIHBhcnRzLm1hcCgocCwgaSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBwYXJ0cy5zbGljZSgwLCBpICsgMSkuam9pbignLycpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHBhdGggfHwgJy8nLFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogcCB8fCBcIlwiXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25CcmVhZGNydW1iQ2xpY2soY3J1bWIpIHtcbiAgICAgICAgaWYgKGNydW1iLmlkKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRUYWIucGF0aCA9IGNydW1iLmlkO1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50VGFiLmJyZWFkY3J1bWIgPSB0aGlzLmNhbGNCcmVhZGNydW1iKGNydW1iLmlkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uVGFiUGF0aENoYW5nZSh0YWI6IEZpbGVWaWV3VGFiKSB7XG4gICAgICAgIHRhYi5sYWJlbCA9IHRoaXMuZ2V0VGFiTGFiZWwodGFiLnBhdGgpO1xuICAgICAgICB0YWIuYnJlYWRjcnVtYiA9IHRoaXMuY2FsY0JyZWFkY3J1bWIodGFiLnBhdGgpO1xuXG4gICAgICAgIHRhYi5oaXN0b3J5SW5kZXgrKztcbiAgICAgICAgdGFiLmhpc3RvcnkucHVzaCh0YWIucGF0aCk7XG4gICAgICAgIHRhYi5oaXN0b3J5LnNwbGljZSh0eXBlb2YgdGhpcy5jb25maWcubWF4SGlzdG9yeUxlbmd0aCA9PSAnbnVtYmVyJyA/IHRoaXMuY29uZmlnLm1heEhpc3RvcnlMZW5ndGggOiA1MCk7XG4gICAgfVxuXG4gICAgb25UcmVlVmlld1NlbGVjdChpdGVtOiBGU0Rlc2NyaXB0b3IpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50VGFiLnBhdGggPSBpdGVtLnBhdGggKyBpdGVtLm5hbWU7XG4gICAgfVxuXG4gICAgb25UYWJMb2FkRmlsZXModGFiOiBGaWxlVmlld1RhYiwgZmlsZXM6IEZTRGVzY3JpcHRvcltdKSB7XG4gICAgICAgIGlmICh0YWIuc2lkZWJhckl0ZW1zLmxlbmd0aCA9PSAwKSB7XG4gICAgICAgICAgICB0YWIuc2lkZWJhckl0ZW1zID0gZmlsZXMuZmlsdGVyKGYgPT4gZi5raW5kID09IFwiZGlyZWN0b3J5XCIpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY3VycmVudEl0ZW1zID0gdGFiLnNpZGViYXJJdGVtcztcbiAgICAgICAgY29uc3QgZGlySXRlbXMgPSBmaWxlcy5maWx0ZXIoZiA9PiBmLmtpbmQgPT0gXCJkaXJlY3RvcnlcIik7XG5cbiAgICAgICAgZnVuY3Rpb24gcmVjdXJzZShpdGVtcykge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbmQoaSA9PiB0YWIucGF0aD8uc3RhcnRzV2l0aChpLnBhdGgpKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0YXJnZXQgPSByZWN1cnNlKGN1cnJlbnRJdGVtcyk7XG5cbiAgICAgICAgaWYgKHRhcmdldClcbiAgICAgICAgICAgIHRhcmdldFsnX2NoaWxkcmVuJ10gPSBkaXJJdGVtcztcblxuICAgICAgICB0YWIuc2lkZWJhckl0ZW1zID0gY3VycmVudEl0ZW1zO1xuICAgIH1cblxuICAgIG9uR3JpZFZhbHVlQ2hhbmdlKCkge1xuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5ncmlkVmFsdWVzLmZsYXQoMSk7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKVxuICAgIH1cblxuICAgIGdldFRhYkxhYmVsKHBhdGg6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gcGF0aD8uc3BsaXQoJy8nKS5maWx0ZXIocCA9PiBwKS5wb3AoKTtcbiAgICB9XG5cbiAgICBhc3luYyBvblJlc2l6ZSgpIHtcbiAgICAgICAgLy8gVHJpZ2dlciByZS1jYWxjdWxhdGlvbiBvZiB0aGUgdmlld1xuICAgICAgICB0aGlzLmZpbGVHcmlkcy5mb3JFYWNoKGcgPT4gZy5yZXNpemUoKSk7XG5cbiAgICAgICAgY29uc3QgZWwgPSB0aGlzLnZpZXdDb250YWluZXIuZWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBjb25zdCBib3VuZHMgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgdGhpcy53aWR0aCA9IGJvdW5kcy53aWR0aDtcblxuICAgICAgICAvLyBJZiB0aGUgdmlldyBhcmVhIGlzIGxlc3MgdGhhbiA2NTBweCB3aWRlLCB1c2Ugb3ZlcmxheSB0aGUgc2lkZWJhciBwYW5lbFxuICAgICAgICB0aGlzLnNpZGViYXJPdmVybGF5ID0gYm91bmRzLndpZHRoIDwgNjUwO1xuICAgICAgICBpZiAodGhpcy5zaWRlYmFyT3ZlcmxheSA9PSBmYWxzZSAmJiBbLi4udGhpcy5kcmF3ZXIuX2RyYXdlcnNdWzBdLm9wZW5lZCkge1xuICAgICAgICAgICAgdGhpcy5kcmF3ZXIuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIG9uUmVzaXplRW5kKCkge1xuICAgICAgICB0aGlzLm9uUmVzaXplKCk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLm9uUmVzaXplKCksIDI1MCk7XG4gICAgfVxuXG4gICAgZ2V0U2VsZWN0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50VGFiLnZpZXdNb2RlID09IFwiZ3JpZFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50VGFiLnNlbGVjdGlvblxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbGVhclNlbGVjdGlvbigpIHtcbiAgICAgICAgdGhpcy5maWxlR3JpZHMuZm9yRWFjaChnID0+IGcuY2xlYXJTZWxlY3Rpb24oKSk7XG4gICAgfVxuXG4gICAgLy8gVGVsbCB0aGUgY2hpbGQgZ3JpZCB0byByZWZyZXNoIGl0J3Mgc29ydGluZ1xuICAgIHJlZnJlc2hTb3J0aW5nKCkge1xuICAgICAgICB0aGlzLmZpbGVHcmlkcy5mb3JFYWNoKGcgPT4gZy5zb3J0KCkpO1xuICAgIH1cblxuICAgIHJlZnJlc2hEYXRhKCkge1xuICAgICAgICB0aGlzLmZpbGVHcmlkcy5mb3JFYWNoKGcgPT4gZy5sb2FkRm9sZGVyKCkpO1xuICAgIH1cblxuICAgIGdldEZpbGVEYXRhKGZpbGU6IEZpbGVEZXNjcmlwdG9yKSB7XG4gICAgICAgIGxldCB1cmwgPSB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5yZW5hbWVFbnRyeVVybFRlbXBsYXRlXG4gICAgICAgICAgICA/IHRoaXMuY29uZmlnLmFwaVNldHRpbmdzLnJlbmFtZUVudHJ5VXJsVGVtcGxhdGUoZmlsZS5wYXRoICsgZmlsZS5uYW1lKVxuICAgICAgICAgICAgOiB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5yZW5hbWVFbnRyeVVybDtcblxuICAgICAgICB1cmwgPSAodXJsLmluY2x1ZGVzKCc/JykgPyAnJicgOiAnPycpICsgYGRpcj0ke2ZpbGUucGF0aH0mZmlsZT0ke2ZpbGUubmFtZX1gO1xuXG4gICAgICAgIHJldHVybiB1cmw7XG4gICAgfVxuXG4gICAgZG93bmxvYWRGaWxlKGZpbGU6IEZTRGVzY3JpcHRvcikge1xuICAgICAgICBsZXQgcGF0aCA9IGZpbGUucGF0aCArIGZpbGUubmFtZTtcbiAgICAgICAgaWYgKGZpbGUua2luZCA9PSBcImRpcmVjdG9yeVwiICYmICFwYXRoLmVuZHNXaXRoKCcvJykpXG4gICAgICAgICAgICBwYXRoICs9IFwiL1wiO1xuXG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuY29uZmlnLmFwaVNldHRpbmdzLmRvd25sb2FkRW50cnlVcmxUZW1wbGF0ZVxuICAgICAgICAgICAgPyB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5kb3dubG9hZEVudHJ5VXJsVGVtcGxhdGUocGF0aClcbiAgICAgICAgICAgIDogdGhpcy5jb25maWcuYXBpU2V0dGluZ3MuZG93bmxvYWRFbnRyeVVybDtcblxuICAgICAgICAvLyB3aW5kb3cub3Blbih0YXJnZXQpO1xuICAgICAgICB2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xuICAgICAgICBsaW5rLmRvd25sb2FkID0gZmlsZS5uYW1lO1xuICAgICAgICBsaW5rLmhyZWYgPSB1cmw7XG4gICAgICAgIGxpbmsuY2xpY2soKTtcbiAgICAgICAgbGluay5yZW1vdmUoKTtcbiAgICAgICAgdGhpcy5maWxlRG93bmxvYWQubmV4dChmaWxlKTtcbiAgICB9XG59XG4iLCI8YXBwLXRvb2xiYXJcbiAgICBbY3VycmVudFRhYl09XCJjdXJyZW50VGFiXCJcbiAgICBbKHNob3dIaWRkZW5GaWxlcyldPVwic2hvd0hpZGRlbkZpbGVzXCJcbiAgICBbKHNob3dTaWRlYmFyKV09XCJzaG93U2lkZWJhclwiXG4gICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgIFtzaG93QmFyZU1pbmltdW1dPVwid2lkdGggPCA1MDAgJiYgY29uZmlnLnNob3dCcmVhZGNydW1iICE9IGZhbHNlXCJcbiAgICAob25CcmVhZGNydW1iQ2xpY2spPVwib25CcmVhZGNydW1iQ2xpY2soJGV2ZW50KVwiXG4vPlxuXG48bWF0LWRyYXdlci1jb250YWluZXIgc3R5bGU9XCJmbGV4OiAxXCI+XG4gICAgPG1hdC1kcmF3ZXIgI2RyYXdlciBtb2RlPVwib3ZlclwiPlxuICAgICAgICBAaWYgKHdpZHRoIDwgNTAwICYmIGNvbmZpZy5zaG93QnJlYWRjcnVtYiAhPSBmYWxzZSkge1xuICAgICAgICAgICAgPGFwcC10b29sYmFyXG4gICAgICAgICAgICAgICAgW2N1cnJlbnRUYWJdPVwiY3VycmVudFRhYlwiXG4gICAgICAgICAgICAgICAgWyhzaG93SGlkZGVuRmlsZXMpXT1cInNob3dIaWRkZW5GaWxlc1wiXG4gICAgICAgICAgICAgICAgWyhzaG93U2lkZWJhcildPVwic2hvd1NpZGViYXJcIlxuICAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnXCJcbiAgICAgICAgICAgICAgICBbZHJhd2VyTW9kZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAob25CcmVhZGNydW1iQ2xpY2spPVwib25CcmVhZGNydW1iQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIDxhcHAtdHJlZS12aWV3XG4gICAgICAgICAgICBbZGF0YV09XCJjdXJyZW50VGFiLnNpZGViYXJJdGVtc1wiXG4gICAgICAgICAgICAobG9hZENoaWxkcmVuKT1cIm9uVHJlZVZpZXdMb2FkQ2hpbGRyZW4oJGV2ZW50KVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25UcmVlVmlld1NlbGVjdCgkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICA8L21hdC1kcmF3ZXI+XG4gICAgPG1hdC1kcmF3ZXItY29udGVudD5cbiAgICAgICAgPGFzLXNwbGl0IGRpcmVjdGlvbj1cImhvcml6b250YWxcIiBbZ3V0dGVyU2l6ZV09XCJzaWRlYmFyT3ZlcmxheSA/IDAgOiAyXCIgW3VuaXRdPVwiJ3BpeGVsJ1wiIChkcmFnRW5kKT1cIm9uUmVzaXplRW5kKClcIj5cbiAgICAgICAgICAgIDxhcy1zcGxpdC1hcmVhXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1maWxlbWFuYWdlci1zaWRlYmFyLWJhY2tncm91bmQtY29sb3IsICMyYzJjMmMpXCJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCIyMTVcIlxuICAgICAgICAgICAgICAgIFttaW5TaXplXT1cIjIxNVwiXG4gICAgICAgICAgICAgICAgW21heFNpemVdPVwid2lkdGgvNFwiXG4gICAgICAgICAgICAgICAgW3Zpc2libGVdPVwiIXNpZGViYXJPdmVybGF5ICYmIGNvbmZpZy5zaG93VHJlZXZpZXcgIT0gZmFsc2VcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEBpZiAoIXNpZGViYXJPdmVybGF5ICYmIGNvbmZpZy5zaG93VHJlZXZpZXcgIT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpZGViYXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImN1cnJlbnRUYWIuc2VsZWN0aW9uID0gW11cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLXRyZWUtdmlld1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImN1cnJlbnRUYWIuc2lkZWJhckl0ZW1zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAobG9hZENoaWxkcmVuKT1cIm9uVHJlZVZpZXdMb2FkQ2hpbGRyZW4oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uVHJlZVZpZXdTZWxlY3QoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2FzLXNwbGl0LWFyZWE+XG4gICAgICAgICAgICA8YXMtc3BsaXQtYXJlYSBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6IHZhcigtLWZpbGVtYW5hZ2VyLWJhY2tncm91bmQtY29sb3IsICMyNzI3MjcpO1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLi0tdGFiLWhlaWdodF09XCJ0YWJzLmxlbmd0aCA+IDEgPyAnMzZweCcgOiAnMCdcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC10YWItZ3JvdXAgI3RhYkdyb3VwIChzZWxlY3RlZFRhYkNoYW5nZSk9XCJjdXJyZW50VGFiID0gdGFic1skZXZlbnQuaW5kZXhdXCIgWyhzZWxlY3RlZEluZGV4KV09XCJ0YWJJbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAodGFiIG9mIHRhYnM7IHRyYWNrIHRhYjsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXRhYj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3RhYi5sYWJlbH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNsb3NlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VUYWIodGFiKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1maWxlLWdyaWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmlld01vZGVdPVwidGFiLnZpZXdNb2RlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFiXT1cInRhYlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtncmlkU2l6ZV09XCJncmlkU2l6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NvcnRPcmRlcl09XCJ0YWIuc29ydE9yZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHNlbGVjdGlvbildPVwidGFiLnNlbGVjdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhwYXRoKV09XCJ0YWIucGF0aFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBhdGhDaGFuZ2UpPVwib25UYWJQYXRoQ2hhbmdlKHRhYilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cImdyaWRWYWx1ZXNbaV1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvbkdyaWRWYWx1ZUNoYW5nZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobG9hZEZpbGVzKT1cIm9uVGFiTG9hZEZpbGVzKHRhYiwgJGV2ZW50KVwiXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmlsZVNlbGVjdCk9XCJmaWxlU2VsZWN0Lm5leHQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbGVEYmxDbGljayk9XCJmaWxlRGJsQ2xpY2submV4dCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9sZGVyU2VsZWN0KT1cImZvbGRlclNlbGVjdC5uZXh0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmb2xkZXJEYmxDbGljayk9XCJmb2xkZXJEYmxDbGljay5uZXh0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC10YWI+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXRhYi1ncm91cD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvYXMtc3BsaXQtYXJlYT5cbiAgICAgICAgPC9hcy1zcGxpdD5cbiAgICA8L21hdC1kcmF3ZXItY29udGVudD5cbjwvbWF0LWRyYXdlci1jb250YWluZXI+XG5cbiJdfQ==
|
|
313
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZW1hbmFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL2ZpbGVtYW5hZ2VyL2ZpbGVtYW5hZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9maWxlbWFuYWdlci9maWxlbWFuYWdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQWEsU0FBUyxFQUFFLFlBQVksRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDdkosT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pGLE9BQU8sRUFBZSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUE0Qix5QkFBeUIsRUFBMEIsTUFBTSw0QkFBNEIsQ0FBQztBQUN6SCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7OztBQTJKcEUsTUFBTSxPQUFPLG9CQUFvQjtJQW9FN0IsSUFBSSxlQUFlLEtBQUssT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENB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aUJBQWlCLFdBR2xCO3dCQUNMLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjtxQkFDcEIsY0FDVyxJQUFJOzswQkE2RVgsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx5QkFBeUI7NEhBMUUxQixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBQ1ksU0FBUztzQkFBekMsWUFBWTt1QkFBQyxpQkFBaUI7Z0JBQ0QsUUFBUTtzQkFBckMsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBQ0MsT0FBTztzQkFBbkMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBQ0ksTUFBTTtzQkFBcEMsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBRXBCLE1BQU07c0JBQWQsS0FBSztnQkFXRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdHLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQVFHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFJRyxVQUFVO3NCQUFuQixNQUFNO2dCQUlHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFFRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUtHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXREcmF3ZXJDb250YWluZXIsIE1hdFNpZGVuYXZNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IE1hdFRhYkdyb3VwLCBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBBbmd1bGFyU3BsaXRNb2R1bGUgfSBmcm9tICdhbmd1bGFyLXNwbGl0JztcblxuaW1wb3J0IHsgRmV0Y2gsIExhenlMb2FkZXJTZXJ2aWNlLCBOR1hfV0VCX0NPTVBPTkVOVFNfQ09ORklHLCBOZ3hXZWJDb21wb25lbnRzQ29uZmlnIH0gZnJvbSAnQGRvdGdsaXRjaC9uZ3gtY29tbW9uL2NvcmUnO1xuaW1wb3J0IHsgdWxpZCB9IGZyb20gJ3VsaWR4JztcbmltcG9ydCB7IEZpbGVHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi9maWxlLWdyaWQvZmlsZS1ncmlkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uUmVzb2x2ZXIgfSBmcm9tICcuL2ljb24tcmVzb2x2ZXInO1xuaW1wb3J0IHsgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhci90b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmVlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdHJlZS12aWV3L3RyZWUtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZVNvcnRpbmcgfSBmcm9tICcuL3R5cGVzJztcblxuLy8gVE9ETzpcbi8qKlxuICogTXVsdGlwbGUgbXVzaWMgLyB2aWRlbyAvIGltYWdlIGZpbGVzIHNlbGVjdGVkIHR1cm5zIGludG8gYSBwbGF5bGlzdFxuICogRHJhZ2dpbmcgbXVzaWMgLyB2aWRlbyAvIGltYWdlIHF1ZXVlcyB0aGUgZmlsZShzKVxuICogQ2FuIHNhdmUgYW5kIGVkaXQgYSBsaXN0IG9mIGZpbGVzIGFzIHBsYXlsaXN0XG4gKiBDYW4gXCJsb29wXCIgXCJyYW5kb21pemVcIlxuICovXG5cbmV4cG9ydCB0eXBlIERpcmVjdG9yeURlc2NyaXB0b3IgPSB7XG4gICAga2luZDogXCJkaXJlY3RvcnlcIixcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGNvbnRlbnRzOiB7XG4gICAgICAgIGRpcnM6IERpcmVjdG9yeURlc2NyaXB0b3JbXSxcbiAgICAgICAgZmlsZXM6IEZpbGVEZXNjcmlwdG9yW107XG4gICAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIEZpbGVEZXNjcmlwdG9yID0ge1xuICAgIGtpbmQ6IFwiZmlsZVwiLFxuICAgIHN0YXRzOiB7XG4gICAgICAgIHNpemU6IG51bWJlcjtcbiAgICAgICAgLy8gU2l6ZSBmb3IgemlwcGVkIGZpbGVcbiAgICAgICAgY29tcHJlc3NlZFNpemU/OiBudW1iZXIsXG4gICAgICAgIGF0aW1lTXM6IG51bWJlcjtcbiAgICAgICAgbXRpbWVNczogbnVtYmVyO1xuICAgICAgICBjdGltZU1zOiBudW1iZXI7XG4gICAgICAgIGJpcnRodGltZU1zOiBudW1iZXI7XG4gICAgfSxcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nLFxuICAgIGV4dDogc3RyaW5nLFxuICAgIC8vIENvbW1lbnQgZm9yIGVudHJpZXMgaW4gYSB6aXAgZmlsZS5cbiAgICBjb21tZW50Pzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgRlNEZXNjcmlwdG9yID0gRGlyZWN0b3J5RGVzY3JpcHRvciB8IEZpbGVEZXNjcmlwdG9yO1xuXG5leHBvcnQgdHlwZSBGaWxlVmlld1RhYiA9IHtcbiAgICBpZDogc3RyaW5nLFxuICAgIGxhYmVsOiBzdHJpbmcsXG4gICAgYnJlYWRjcnVtYjoge1xuICAgICAgICBpZDogc3RyaW5nLFxuICAgICAgICBsYWJlbDogc3RyaW5nO1xuICAgIH1bXSxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgc2VsZWN0aW9uOiBGU0Rlc2NyaXB0b3JbXSxcbiAgICB2aWV3TW9kZTogXCJncmlkXCIgfCBcImxpc3RcIixcbiAgICBoaXN0b3J5SW5kZXg6IG51bWJlcixcbiAgICBoaXN0b3J5OiBzdHJpbmdbXSxcbiAgICBzaWRlYmFySXRlbXM6IEZTRGVzY3JpcHRvcltdLFxuICAgIHNvcnRPcmRlcjogRmlsZVNvcnRpbmc7XG59O1xuXG4vLyBUT0RPOiByZXBsYWNlIGh0dHAgY29uZmlnc1xudHlwZSBIdHRwQ29uZmlndXJhdGlvbiA9IChcbiAgICB7IHVybDogc3RyaW5nOyB9IHxcbiAgICB7IHVybFRlbXBsYXRlOiAocGF0aDogc3RyaW5nKSA9PiBzdHJpbmc7IH1cbikgJiB7XG4gICAgbWV0aG9kPzogXCJnZXRcIiB8IFwicHV0XCIgfCBcInBvc3RcIiB8IFwicGF0Y2hcIiB8IFwiZGVsZXRlXCIsXG4gICAgaGVhZGVycz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nOyB9O1xufTtcblxuZXhwb3J0IHR5cGUgTmd4RmlsZU1hbmFnZXJDb25maWd1cmF0aW9uID0gUGFydGlhbDx7XG4gICAgLyoqXG4gICAgICogSW5pdGlhbCBwYXRoXG4gICAgICovXG4gICAgcGF0aDogc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIHJvb3QgcGF0aCAod2lsbCBhcHBlYXIgYXMgJy8nKS5cbiAgICAgKiBEZWZhdWx0cyB0byAnLycuXG4gICAgICpcbiAgICAgKiBVc2VyIGNhbm5vdCB2aWV3IG91dHNpZGUgb2YgdGhpcyBwYXRoLlxuICAgICAqICAgKE5vdCB0byBiZSB1c2VkIGFzIGEgc2VjdXJpdHkgbWVhc3VyZSEpXG4gICAgICovXG4gICAgY2hyb290UGF0aDogc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogUmVzdHJpY3QgdXNlcnMgdG8gb25seSBuYXZpZ2F0ZSBhcm91bmQgdG8gc3VicGF0aHMgb2YgdGhlIHNwZWNpZmllZCBgcGF0aGBcbiAgICAgKi9cbiAgICBuYXZpZ2F0ZU9ubHlUb0Rlc2NlbmRhbnRzOiBib29sZWFuLFxuICAgIHNob3dCcmVhZGNydW1iOiBib29sZWFuLFxuICAgIHNob3dUcmVldmlldzogYm9vbGVhbixcblxuICAgIC8qKlxuICAgICAqIE5hbWUgb2YgdGhlIFwicm9vdFwiIHBhdGggYC9gXG4gICAgICogRGVmYXVsdHMgdG8gXCJTdG9yYWdlXCJcbiAgICAgKi9cbiAgICByb290TmFtZTogc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gYmUgc3RvcmVkIGluIGhpc3RvcnkuXG4gICAgICovXG4gICAgbWF4SGlzdG9yeUxlbmd0aDogbnVtYmVyLFxuXG4gICAgYXBpU2V0dGluZ3M6IHtcbiAgICAgICAgbGlzdEVudHJpZXNVcmw/OiBzdHJpbmcsXG4gICAgICAgIGxpc3RFbnRyaWVzVXJsVGVtcGxhdGU/OiAocGF0aDogc3RyaW5nKSA9PiBzdHJpbmcsXG4gICAgICAgIGRvd25sb2FkRW50cnlVcmw/OiBzdHJpbmcsXG4gICAgICAgIGRvd25sb2FkRW50cnlVcmxUZW1wbGF0ZT86IChwYXRoOiBzdHJpbmcpID0+IHN0cmluZyxcbiAgICAgICAgdXBsb2FkRW50cnlVcmw/OiBzdHJpbmcsXG4gICAgICAgIHVwbG9hZEVudHJ5VXJsVGVtcGxhdGU/OiAocGF0aDogc3RyaW5nKSA9PiBzdHJpbmcsXG4gICAgICAgIGRlbGV0ZUVudHJ5VXJsPzogc3RyaW5nLFxuICAgICAgICBkZWxldGVFbnRyeVVybFRlbXBsYXRlPzogKHBhdGg6IHN0cmluZykgPT4gc3RyaW5nLFxuICAgICAgICByZW5hbWVFbnRyeVVybD86IHN0cmluZyxcbiAgICAgICAgcmVuYW1lRW50cnlVcmxUZW1wbGF0ZT86IChwYXRoOiBzdHJpbmcpID0+IHN0cmluZyxcbiAgICAgICAgY3JlYXRlRGlyZWN0b3J5VXJsPzogc3RyaW5nLFxuICAgICAgICBjcmVhdGVEaXJlY3RvcnlVcmxUZW1wbGF0ZT86IChwYXRoOiBzdHJpbmcpID0+IHN0cmluZztcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogVGhlIHBhdGggdGhhdCBpbWFnZXMgYXJlIGxvYWRlZCBmcm9tLlxuICAgICAqIERlZmF1bHQgdmFsdWUgYC9hc3NldHMvZG90Z2xpdGNoL3dlYmNvbXBvbmVudHMvYFxuICAgICAqL1xuICAgIGFzc2V0UGF0aDogc3RyaW5nLFxuICAgIHNpZGViYXJMb2NhdGlvblN0cmF0ZWd5OiBcImtub3duXCIgfCBcImN1cnJlbnREaXJlY3RvcnlcIixcblxuICAgIGljb25SZXNvbHZlcjogKGZpbGU6IEZTRGVzY3JpcHRvcikgPT4gc3RyaW5nLFxuXG4gICAgaW1hZ2VTaXplOiBcIm5vcm1hbFwiIHwgXCJzbWFsbFwiIHwgXCJodWdlXCIsXG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqL1xuICAgIHNlbGVjdGlvbk1vZGU6IFwic2luZ2xlXCIgfCBcIm11bHRpcGxlXCIsXG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGRldGVybWluZXMgaWYgdGhlIGZpbGVtYW5hZ2VyIHNob3dzIHNlbGVjdGVkIGVudHJpZXNcbiAgICAgKlxuICAgICAqIElmIHNldCB0byBgZm9jdXNGaWxlc2AsIGZpbGUgcGF0aHMgdGhhdCBtYXRjaCBmcm9tIHRoZSBwcm92aWRlZCBgZm9jdXNlZEZpbGVzYFxuICAgICAqIHdpbGwgYmUgaGlnaGxpZ2h0ZWQsIGFuZCBjYW4gYmUgc2VsZWN0ZWQgLyBkZXNlbGVjdGVkLlxuICAgICAqL1xuICAgIG1vZGU6IFwiZm9jdXNGaWxlc1wiIHwgXCJub3JtYWxcIixcbiAgICBmb2N1c2VkRmlsZXM6IHN0cmluZ1tdO1xufT47XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLWZpbGVtYW5hZ2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZmlsZW1hbmFnZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZpbGVtYW5hZ2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBBbmd1bGFyU3BsaXRNb2R1bGUsXG4gICAgICAgIEZpbGVHcmlkQ29tcG9uZW50LFxuICAgICAgICBNYXRUYWJzTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXRTaWRlbmF2TW9kdWxlLFxuICAgICAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgICAgICBUcmVlVmlld0NvbXBvbmVudFxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBGaWxlbWFuYWdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQFZpZXdDaGlsZCgndGFiR3JvdXAnKSB0YWJHcm91cDogTWF0VGFiR3JvdXA7XG4gICAgQFZpZXdDaGlsZHJlbihGaWxlR3JpZENvbXBvbmVudCkgZmlsZUdyaWRzOiBRdWVyeUxpc3Q8RmlsZUdyaWRDb21wb25lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoVHJlZVZpZXdDb21wb25lbnQpIHRyZWVWaWV3OiBUcmVlVmlld0NvbXBvbmVudDtcbiAgICBAVmlld0NoaWxkKFRvb2xiYXJDb21wb25lbnQpIHRvb2xiYXI6IFRvb2xiYXJDb21wb25lbnQ7XG4gICAgQFZpZXdDaGlsZChNYXREcmF3ZXJDb250YWluZXIpIGRyYXdlcjogTWF0RHJhd2VyQ29udGFpbmVyO1xuXG4gICAgQElucHV0KCkgY29uZmlnOiBOZ3hGaWxlTWFuYWdlckNvbmZpZ3VyYXRpb24gPSB7XG4gICAgICAgIGFwaVNldHRpbmdzOiB7XG4gICAgICAgICAgICBsaXN0RW50cmllc1VybDogYC9hcGkvZmlsZXN5c3RlbS9gLFxuICAgICAgICAgICAgdXBsb2FkRW50cnlVcmw6IGAvYXBpL2ZpbGVzeXN0ZW0vYCxcbiAgICAgICAgICAgIGRvd25sb2FkRW50cnlVcmw6IGAvYXBpL2ZpbGVzeXN0ZW0vYCxcbiAgICAgICAgICAgIGRlbGV0ZUVudHJ5VXJsOiBgL2FwaS9maWxlc3lzdGVtL2AsXG4gICAgICAgICAgICBjcmVhdGVEaXJlY3RvcnlVcmw6IGAvYXBpL2ZpbGVzeXN0ZW0vZm9sZGVyYCxcbiAgICAgICAgICAgIHJlbmFtZUVudHJ5VXJsOiBgL2FwaS9maWxlc3lzdGVtL3JlbmFtZWBcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBASW5wdXQoKSBncmlkU2l6ZTogXCJzbWFsbFwiIHwgXCJub3JtYWxcIiB8IFwibGFyZ2VcIiA9IFwibm9ybWFsXCI7XG4gICAgQElucHV0KCkgbW9kZTogXCJncmlkXCIgfCBcImxpc3RcIjtcbiAgICBASW5wdXQoKSBjb250ZXh0VGFnczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmc7IH07XG5cblxuICAgIEBJbnB1dCgpIHZhbHVlOiBGU0Rlc2NyaXB0b3JbXSA9IFtdO1xuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RlNEZXNjcmlwdG9yW10+KCk7XG5cbiAgICBncmlkVmFsdWVzOiBGU0Rlc2NyaXB0b3JbXVtdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBFbWl0cyB3aGVuIGZvY3VzZWQgZmlsZXMgY2hhbmdlLlxuICAgICAqIE9ubHkgYXZhaWxhYmxlIGluIGBmb2N1c0ZpbGVzYCBtb2RlLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBmb2N1c2VkRmlsZXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgLyoqXG4gICAgICogRW1pdHMgd2hlbiBhIGZpbGUgaXMgdXBsb2FkZWQuXG4gICAgICovXG4gICAgQE91dHB1dCgpIGZpbGVVcGxvYWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgLyoqXG4gICAgICogRW1pdHMgd2hlbiBhIGZpbGUgaXMgZG93bmxvYWRlZC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgZmlsZURvd25sb2FkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBmaWxlUmVuYW1lID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBmaWxlRGVsZXRlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBmaWxlQ29weSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgZmlsZVBhc3RlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpIGZpbGVTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVEZXNjcmlwdG9yPigpO1xuICAgIEBPdXRwdXQoKSBmaWxlRGJsQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVEZXNjcmlwdG9yPigpO1xuICAgIEBPdXRwdXQoKSBmb2xkZXJTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPERpcmVjdG9yeURlc2NyaXB0b3I+KCk7XG4gICAgQE91dHB1dCgpIGZvbGRlckRibENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxEaXJlY3RvcnlEZXNjcmlwdG9yPigpO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHMgd2hlbiBtdWx0aXBsZSBmaWxlIHNlbGVjdGlvbnMgY2hhbmdlLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBmaWxlc1NlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8RlNEZXNjcmlwdG9yW10+KCk7XG4gICAgLyoqXG4gICAgICogRW1pdHMgd2hlbiBhbnkgc2VsZWN0aW9uIGNoYW5nZXMsIHNpbmdsZSBvciBtdWx0aXBsZSBmaWxlcy5cbiAgICAgKi9cbiAgICAvLyBAT3V0cHV0KCkgc2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxGU0Rlc2NyaXB0b3JbXT4oKTtcblxuICAgIHNob3dIaWRkZW5GaWxlcyA9IGZhbHNlO1xuICAgIHNob3dTaWRlYmFyID0gdHJ1ZTtcbiAgICBzaWRlYmFyT3ZlcmxheSA9IGZhbHNlO1xuICAgIHdpZHRoID0gMDtcblxuICAgIGlzSG9tZUFuY2VzdG9yID0gZmFsc2U7XG5cbiAgICBjdXJyZW50VGFiOiBGaWxlVmlld1RhYiA9IHt9IGFzIGFueTtcbiAgICBnZXQgY3VycmVudEZpbGVHcmlkKCkgeyByZXR1cm4gdGhpcy5maWxlR3JpZHMuZ2V0KHRoaXMudGFiSW5kZXgpOyB9XG4gICAgdGFiSW5kZXggPSAwO1xuICAgIHRhYnM6IEZpbGVWaWV3VGFiW10gPSBbXTtcblxuICAgIGljb25SZXNvbHZlcjogSWNvblJlc29sdmVyO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTkdYX1dFQl9DT01QT05FTlRTX0NPTkZJRykgcmVhZG9ubHkgbGliQ29uZmlnOiBOZ3hXZWJDb21wb25lbnRzQ29uZmlnID0ge30sXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbGF6eUxvYWRlcjogTGF6eUxvYWRlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSBmZXRjaDogRmV0Y2hcbiAgICApIHtcbiAgICAgICAgbGF6eUxvYWRlci5yZWdpc3RlckNvbXBvbmVudCh7XG4gICAgICAgICAgICBpZDogXCJmb2xkZXItcmVuYW1lXCIsXG4gICAgICAgICAgICBncm91cDogXCJAZG90Z2xpdGNoL25neC13ZWItY29tcG9uZW50c1wiLFxuICAgICAgICAgICAgbG9hZDogKCkgPT4gaW1wb3J0KCcuL2ZvbGRlci1yZW5hbWUvZm9sZGVyLXJlbmFtZS5jb21wb25lbnQnKVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmljb25SZXNvbHZlciA9IG5ldyBJY29uUmVzb2x2ZXIobGliQ29uZmlnLmFzc2V0UGF0aCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5pdFRhYih0aGlzLmNvbmZpZy5wYXRoKTtcbiAgICAgICAgdGhpcy5jdXJyZW50VGFiID0gdGhpcy50YWJzWzBdO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5vblJlc2l6ZSgpO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5vblJlc2l6ZSgpLCAyNTApO1xuICAgIH1cblxuICAgIG9uVHJlZVZpZXdMb2FkQ2hpbGRyZW4oeyBpdGVtLCBjYiB9KSB7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuY29uZmlnLmFwaVNldHRpbmdzLmxpc3RFbnRyaWVzVXJsVGVtcGxhdGVcbiAgICAgICAgICAgID8gdGhpcy5jb25maWcuYXBpU2V0dGluZ3MubGlzdEVudHJpZXNVcmxUZW1wbGF0ZShpdGVtLnBhdGggKyBpdGVtLm5hbWUpXG4gICAgICAgICAgICA6IHRoaXMuY29uZmlnLmFwaVNldHRpbmdzLmxpc3RFbnRyaWVzVXJsO1xuXG4gICAgICAgIHRoaXMuZmV0Y2gucG9zdCh1cmwsIHsgcGF0aDogaXRlbS5wYXRoICsgaXRlbS5uYW1lLCBzaG93SGlkZGVuOiB0aGlzLnNob3dIaWRkZW5GaWxlcyB9KVxuICAgICAgICAgICAgLnRoZW4oKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpcnM6IERpcmVjdG9yeURlc2NyaXB0b3JbXSA9IGRhdGEuZGlycztcbiAgICAgICAgICAgICAgICBjYihkaXJzKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGluaXRUYWIocGF0aDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudGFicy5wdXNoKHRoaXMuY3VycmVudFRhYiA9IHtcbiAgICAgICAgICAgIGlkOiB1bGlkKCksXG4gICAgICAgICAgICBsYWJlbDogdGhpcy5nZXRUYWJMYWJlbChwYXRoKSxcbiAgICAgICAgICAgIGJyZWFkY3J1bWI6IHRoaXMuY2FsY0JyZWFkY3J1bWIocGF0aCksXG4gICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgc2VsZWN0aW9uOiBbXSxcbiAgICAgICAgICAgIHZpZXdNb2RlOiB0aGlzLm1vZGUgfHwgJ2dyaWQnLFxuICAgICAgICAgICAgaGlzdG9yeUluZGV4OiAwLFxuICAgICAgICAgICAgaGlzdG9yeTogW10sXG4gICAgICAgICAgICBzaWRlYmFySXRlbXM6IFtdLFxuICAgICAgICAgICAgc29ydE9yZGVyOiAnYS16J1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy50YWJJbmRleCA9IHRoaXMudGFicy5sZW5ndGg7XG4gICAgfVxuXG4gICAgY2xvc2VUYWIodGFiOiBGaWxlVmlld1RhYikge1xuICAgICAgICB0aGlzLnRhYnMuc3BsaWNlKHRoaXMudGFicy5maW5kSW5kZXgodCA9PiB0LmlkID09IHRhYi5pZCksIDEpO1xuICAgIH1cblxuICAgIGNhbGNCcmVhZGNydW1iKHBhdGg6IHN0cmluZykge1xuICAgICAgICBpZiAoIXBhdGgpIHJldHVybiBudWxsO1xuXG4gICAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoXCIjL1wiLCAnLycpO1xuXG4gICAgICAgIC8vIElmIHdlJ3JlIGFjdGluZyBsaWtlIHdlJ3JlIGluIGEgY2hhbmdlZCByb290LCB3ZSB3aXBlIG91dFxuICAgICAgICAvLyBicmVhZGNydW1icyBiZWxvdyB0aGUgcm9vdFxuICAgICAgICBpZiAodGhpcy5jb25maWcuY2hyb290UGF0aCkge1xuICAgICAgICAgICAgcGF0aCA9IHBhdGgucmVwbGFjZSh0aGlzLmNvbmZpZy5jaHJvb3RQYXRoLCAnJyk7XG4gICAgICAgICAgICBjb25zdCBwYXJ0cyA9IHBhdGguc3BsaXQoJy8nKTtcblxuICAgICAgICAgICAgcGF0aCA9IHBhdGgucmVwbGFjZSgvXlxcLy8sIHRoaXMuY29uZmlnLmNocm9vdFBhdGgpO1xuICAgICAgICAgICAgcmV0dXJuIHBhcnRzLm1hcCgocCwgaSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBwYXJ0cy5zbGljZSgwLCBpICsgMSkuam9pbignLycpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6ICh0aGlzLmNvbmZpZy5jaHJvb3RQYXRoICsgKHBhdGggfHwgJy8nKSkucmVwbGFjZSgvXFwvKy9nLCAnLycpLFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogcCB8fCBcIlwiXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcGFydHMgPSBwYXRoLnNwbGl0KCcvJyk7XG5cbiAgICAgICAgICAgIHJldHVybiBwYXJ0cy5tYXAoKHAsIGkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gcGFydHMuc2xpY2UoMCwgaSArIDEpLmpvaW4oJy8nKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBwYXRoIHx8ICcvJyxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHAgfHwgXCJcIlxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQnJlYWRjcnVtYkNsaWNrKGNydW1iKSB7XG4gICAgICAgIGlmIChjcnVtYi5pZCkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50VGFiLnBhdGggPSBjcnVtYi5pZDtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFRhYi5icmVhZGNydW1iID0gdGhpcy5jYWxjQnJlYWRjcnVtYihjcnVtYi5pZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblRhYlBhdGhDaGFuZ2UodGFiOiBGaWxlVmlld1RhYikge1xuICAgICAgICB0YWIubGFiZWwgPSB0aGlzLmdldFRhYkxhYmVsKHRhYi5wYXRoKTtcbiAgICAgICAgdGFiLmJyZWFkY3J1bWIgPSB0aGlzLmNhbGNCcmVhZGNydW1iKHRhYi5wYXRoKTtcblxuICAgICAgICB0YWIuaGlzdG9yeUluZGV4Kys7XG4gICAgICAgIHRhYi5oaXN0b3J5LnB1c2godGFiLnBhdGgpO1xuICAgICAgICB0YWIuaGlzdG9yeS5zcGxpY2UodHlwZW9mIHRoaXMuY29uZmlnLm1heEhpc3RvcnlMZW5ndGggPT0gJ251bWJlcicgPyB0aGlzLmNvbmZpZy5tYXhIaXN0b3J5TGVuZ3RoIDogNTApO1xuICAgIH1cblxuICAgIG9uVHJlZVZpZXdTZWxlY3QoaXRlbTogRlNEZXNjcmlwdG9yKSB7XG4gICAgICAgIHRoaXMuY3VycmVudFRhYi5wYXRoID0gaXRlbS5wYXRoICsgaXRlbS5uYW1lO1xuICAgIH1cblxuICAgIG9uVGFiTG9hZEZpbGVzKHRhYjogRmlsZVZpZXdUYWIsIGZpbGVzOiBGU0Rlc2NyaXB0b3JbXSkge1xuICAgICAgICBpZiAodGFiLnNpZGViYXJJdGVtcy5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgdGFiLnNpZGViYXJJdGVtcyA9IGZpbGVzLmZpbHRlcihmID0+IGYua2luZCA9PSBcImRpcmVjdG9yeVwiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRJdGVtcyA9IHRhYi5zaWRlYmFySXRlbXM7XG4gICAgICAgIGNvbnN0IGRpckl0ZW1zID0gZmlsZXMuZmlsdGVyKGYgPT4gZi5raW5kID09IFwiZGlyZWN0b3J5XCIpO1xuXG4gICAgICAgIGZ1bmN0aW9uIHJlY3Vyc2UoaXRlbXMpIHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtcy5maW5kKGkgPT4gdGFiLnBhdGg/LnN0YXJ0c1dpdGgoaS5wYXRoKSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gcmVjdXJzZShjdXJyZW50SXRlbXMpO1xuXG4gICAgICAgIGlmICh0YXJnZXQpXG4gICAgICAgICAgICB0YXJnZXRbJ19jaGlsZHJlbiddID0gZGlySXRlbXM7XG5cbiAgICAgICAgdGFiLnNpZGViYXJJdGVtcyA9IGN1cnJlbnRJdGVtcztcbiAgICB9XG5cbiAgICBvbkdyaWRWYWx1ZUNoYW5nZSgpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuZ3JpZFZhbHVlcy5mbGF0KDEpO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0VGFiTGFiZWwocGF0aDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBwYXRoPy5zcGxpdCgnLycpLmZpbHRlcihwID0+IHApLnBvcCgpO1xuICAgIH1cblxuICAgIGFzeW5jIG9uUmVzaXplKCkge1xuICAgICAgICAvLyBUcmlnZ2VyIHJlLWNhbGN1bGF0aW9uIG9mIHRoZSB2aWV3XG4gICAgICAgIHRoaXMuZmlsZUdyaWRzLmZvckVhY2goZyA9PiBnLnJlc2l6ZSgpKTtcblxuICAgICAgICBjb25zdCBlbCA9IHRoaXMudmlld0NvbnRhaW5lci5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGJvdW5kcyA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICB0aGlzLndpZHRoID0gYm91bmRzLndpZHRoO1xuXG4gICAgICAgIC8vIElmIHRoZSB2aWV3IGFyZWEgaXMgbGVzcyB0aGFuIDY1MHB4IHdpZGUsIHVzZSBvdmVybGF5IHRoZSBzaWRlYmFyIHBhbmVsXG4gICAgICAgIHRoaXMuc2lkZWJhck92ZXJsYXkgPSBib3VuZHMud2lkdGggPCA2NTA7XG4gICAgICAgIGlmICh0aGlzLnNpZGViYXJPdmVybGF5ID09IGZhbHNlICYmIFsuLi50aGlzLmRyYXdlci5fZHJhd2Vyc11bMF0ub3BlbmVkKSB7XG4gICAgICAgICAgICB0aGlzLmRyYXdlci5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgb25SZXNpemVFbmQoKSB7XG4gICAgICAgIHRoaXMub25SZXNpemUoKTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMub25SZXNpemUoKSwgMjUwKTtcbiAgICB9XG5cbiAgICBnZXRTZWxlY3Rpb24oKSB7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRUYWIudmlld01vZGUgPT0gXCJncmlkXCIpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRUYWIuc2VsZWN0aW9uO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbGVhclNlbGVjdGlvbigpIHtcbiAgICAgICAgdGhpcy5maWxlR3JpZHMuZm9yRWFjaChnID0+IGcuY2xlYXJTZWxlY3Rpb24oKSk7XG4gICAgfVxuXG4gICAgLy8gVGVsbCB0aGUgY2hpbGQgZ3JpZCB0byByZWZyZXNoIGl0J3Mgc29ydGluZ1xuICAgIHJlZnJlc2hTb3J0aW5nKCkge1xuICAgICAgICB0aGlzLmZpbGVHcmlkcy5mb3JFYWNoKGcgPT4gZy5zb3J0KCkpO1xuICAgIH1cblxuICAgIHJlZnJlc2hEYXRhKCkge1xuICAgICAgICB0aGlzLmZpbGVHcmlkcy5mb3JFYWNoKGcgPT4gZy5sb2FkRm9sZGVyKCkpO1xuICAgIH1cblxuICAgIGdldEZpbGVEYXRhKGZpbGU6IEZpbGVEZXNjcmlwdG9yKSB7XG4gICAgICAgIGxldCB1cmwgPSB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5yZW5hbWVFbnRyeVVybFRlbXBsYXRlXG4gICAgICAgICAgICA/IHRoaXMuY29uZmlnLmFwaVNldHRpbmdzLnJlbmFtZUVudHJ5VXJsVGVtcGxhdGUoZmlsZS5wYXRoICsgZmlsZS5uYW1lKVxuICAgICAgICAgICAgOiB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5yZW5hbWVFbnRyeVVybDtcblxuICAgICAgICB1cmwgPSAodXJsLmluY2x1ZGVzKCc/JykgPyAnJicgOiAnPycpICsgYGRpcj0ke2ZpbGUucGF0aH0mZmlsZT0ke2ZpbGUubmFtZX1gO1xuXG4gICAgICAgIHJldHVybiB1cmw7XG4gICAgfVxuXG4gICAgZG93bmxvYWRGaWxlKGZpbGU6IEZTRGVzY3JpcHRvcikge1xuICAgICAgICBsZXQgcGF0aCA9IGZpbGUucGF0aCArIGZpbGUubmFtZTtcbiAgICAgICAgaWYgKGZpbGUua2luZCA9PSBcImRpcmVjdG9yeVwiICYmICFwYXRoLmVuZHNXaXRoKCcvJykpXG4gICAgICAgICAgICBwYXRoICs9IFwiL1wiO1xuXG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuY29uZmlnLmFwaVNldHRpbmdzLmRvd25sb2FkRW50cnlVcmxUZW1wbGF0ZVxuICAgICAgICAgICAgPyB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5kb3dubG9hZEVudHJ5VXJsVGVtcGxhdGUocGF0aClcbiAgICAgICAgICAgIDogdGhpcy5jb25maWcuYXBpU2V0dGluZ3MuZG93bmxvYWRFbnRyeVVybDtcblxuICAgICAgICAvLyB3aW5kb3cub3Blbih0YXJnZXQpO1xuICAgICAgICB2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xuICAgICAgICBsaW5rLmRvd25sb2FkID0gZmlsZS5uYW1lO1xuICAgICAgICBsaW5rLmhyZWYgPSB1cmw7XG4gICAgICAgIGxpbmsuY2xpY2soKTtcbiAgICAgICAgbGluay5yZW1vdmUoKTtcbiAgICAgICAgdGhpcy5maWxlRG93bmxvYWQubmV4dChmaWxlKTtcbiAgICB9XG59XG4iLCI8YXBwLXRvb2xiYXJcbiAgICBbY3VycmVudFRhYl09XCJjdXJyZW50VGFiXCJcbiAgICBbKHNob3dIaWRkZW5GaWxlcyldPVwic2hvd0hpZGRlbkZpbGVzXCJcbiAgICBbKHNob3dTaWRlYmFyKV09XCJzaG93U2lkZWJhclwiXG4gICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgIFtzaG93QmFyZU1pbmltdW1dPVwid2lkdGggPCA1MDAgJiYgY29uZmlnLnNob3dCcmVhZGNydW1iICE9IGZhbHNlXCJcbiAgICAob25CcmVhZGNydW1iQ2xpY2spPVwib25CcmVhZGNydW1iQ2xpY2soJGV2ZW50KVwiXG4vPlxuXG48bWF0LWRyYXdlci1jb250YWluZXIgc3R5bGU9XCJmbGV4OiAxXCI+XG4gICAgPG1hdC1kcmF3ZXIgI2RyYXdlciBtb2RlPVwib3ZlclwiPlxuICAgICAgICBAaWYgKHdpZHRoIDwgNTAwICYmIGNvbmZpZy5zaG93QnJlYWRjcnVtYiAhPSBmYWxzZSkge1xuICAgICAgICAgICAgPGFwcC10b29sYmFyXG4gICAgICAgICAgICAgICAgW2N1cnJlbnRUYWJdPVwiY3VycmVudFRhYlwiXG4gICAgICAgICAgICAgICAgWyhzaG93SGlkZGVuRmlsZXMpXT1cInNob3dIaWRkZW5GaWxlc1wiXG4gICAgICAgICAgICAgICAgWyhzaG93U2lkZWJhcildPVwic2hvd1NpZGViYXJcIlxuICAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnXCJcbiAgICAgICAgICAgICAgICBbZHJhd2VyTW9kZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAob25CcmVhZGNydW1iQ2xpY2spPVwib25CcmVhZGNydW1iQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIDxhcHAtdHJlZS12aWV3XG4gICAgICAgICAgICBbZGF0YV09XCJjdXJyZW50VGFiLnNpZGViYXJJdGVtc1wiXG4gICAgICAgICAgICAobG9hZENoaWxkcmVuKT1cIm9uVHJlZVZpZXdMb2FkQ2hpbGRyZW4oJGV2ZW50KVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25UcmVlVmlld1NlbGVjdCgkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICA8L21hdC1kcmF3ZXI+XG4gICAgPG1hdC1kcmF3ZXItY29udGVudD5cbiAgICAgICAgPGFzLXNwbGl0IGRpcmVjdGlvbj1cImhvcml6b250YWxcIiBbZ3V0dGVyU2l6ZV09XCJzaWRlYmFyT3ZlcmxheSA/IDAgOiAyXCIgW3VuaXRdPVwiJ3BpeGVsJ1wiIChkcmFnRW5kKT1cIm9uUmVzaXplRW5kKClcIj5cbiAgICAgICAgICAgIDxhcy1zcGxpdC1hcmVhXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1maWxlbWFuYWdlci1zaWRlYmFyLWJhY2tncm91bmQtY29sb3IsICMyYzJjMmMpXCJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCIyMTVcIlxuICAgICAgICAgICAgICAgIFttaW5TaXplXT1cIjIxNVwiXG4gICAgICAgICAgICAgICAgW21heFNpemVdPVwid2lkdGgvNFwiXG4gICAgICAgICAgICAgICAgW3Zpc2libGVdPVwiIXNpZGViYXJPdmVybGF5ICYmIGNvbmZpZy5zaG93VHJlZXZpZXcgIT0gZmFsc2VcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEBpZiAoIXNpZGViYXJPdmVybGF5ICYmIGNvbmZpZy5zaG93VHJlZXZpZXcgIT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpZGViYXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImN1cnJlbnRUYWIuc2VsZWN0aW9uID0gW11cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLXRyZWUtdmlld1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImN1cnJlbnRUYWIuc2lkZWJhckl0ZW1zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAobG9hZENoaWxkcmVuKT1cIm9uVHJlZVZpZXdMb2FkQ2hpbGRyZW4oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uVHJlZVZpZXdTZWxlY3QoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2FzLXNwbGl0LWFyZWE+XG4gICAgICAgICAgICA8YXMtc3BsaXQtYXJlYSBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6IHZhcigtLWZpbGVtYW5hZ2VyLWJhY2tncm91bmQtY29sb3IsICMyNzI3MjcpO1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLi0tdGFiLWhlaWdodF09XCJ0YWJzLmxlbmd0aCA+IDEgPyAnMzZweCcgOiAnMCdcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC10YWItZ3JvdXAgI3RhYkdyb3VwIChzZWxlY3RlZFRhYkNoYW5nZSk9XCJjdXJyZW50VGFiID0gdGFic1skZXZlbnQuaW5kZXhdXCIgWyhzZWxlY3RlZEluZGV4KV09XCJ0YWJJbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAodGFiIG9mIHRhYnM7IHRyYWNrIHRhYjsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXRhYj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3RhYi5sYWJlbH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNsb3NlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VUYWIodGFiKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1maWxlLWdyaWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmlld01vZGVdPVwidGFiLnZpZXdNb2RlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFiXT1cInRhYlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtncmlkU2l6ZV09XCJncmlkU2l6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NvcnRPcmRlcl09XCJ0YWIuc29ydE9yZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHNlbGVjdGlvbildPVwidGFiLnNlbGVjdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhwYXRoKV09XCJ0YWIucGF0aFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBhdGhDaGFuZ2UpPVwib25UYWJQYXRoQ2hhbmdlKHRhYilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cImdyaWRWYWx1ZXNbaV1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvbkdyaWRWYWx1ZUNoYW5nZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobG9hZEZpbGVzKT1cIm9uVGFiTG9hZEZpbGVzKHRhYiwgJGV2ZW50KVwiXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmlsZVNlbGVjdCk9XCJmaWxlU2VsZWN0Lm5leHQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbGVEYmxDbGljayk9XCJmaWxlRGJsQ2xpY2submV4dCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9sZGVyU2VsZWN0KT1cImZvbGRlclNlbGVjdC5uZXh0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmb2xkZXJEYmxDbGljayk9XCJmb2xkZXJEYmxDbGljay5uZXh0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC10YWI+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXRhYi1ncm91cD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvYXMtc3BsaXQtYXJlYT5cbiAgICAgICAgPC9hcy1zcGxpdD5cbiAgICA8L21hdC1kcmF3ZXItY29udGVudD5cbjwvbWF0LWRyYXdlci1jb250YWluZXI+XG5cbiJdfQ==
|
package/esm2022/{components/filemanager → filemanager}/folder-rename/folder-rename.component.mjs
RENAMED
|
@@ -5,7 +5,7 @@ import { MatIconModule } from '@angular/material/icon';
|
|
|
5
5
|
import { MatInputModule } from '@angular/material/input';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@angular/material/dialog";
|
|
8
|
-
import * as i2 from "
|
|
8
|
+
import * as i2 from "@dotglitch/ngx-common/core";
|
|
9
9
|
import * as i3 from "@angular/material/input";
|
|
10
10
|
import * as i4 from "@angular/material/form-field";
|
|
11
11
|
import * as i5 from "@angular/material/icon";
|
|
@@ -54,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
54
54
|
}], config: [{
|
|
55
55
|
type: Input
|
|
56
56
|
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9sZGVyLXJlbmFtZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vZmlsZW1hbmFnZXIvZm9sZGVyLXJlbmFtZS9mb2xkZXItcmVuYW1lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9maWxlbWFuYWdlci9mb2xkZXItcmVuYW1lL2ZvbGRlci1yZW5hbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7QUFnQnpELE1BQU0sT0FBTyxxQkFBcUI7SUFROUIsWUFDVyxNQUF5QixFQUN4QixLQUFZO1FBRGIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFDeEIsVUFBSyxHQUFMLEtBQUssQ0FBTztRQVBmLFNBQUksR0FBVyxFQUFFLENBQUM7UUFHM0IsYUFBUSxHQUFHLEtBQUssQ0FBQztJQUtiLENBQUM7SUFFTCxRQUFRO1FBQ0osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0I7Z0JBQ3RELENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUM7WUFFN0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7YUFDSSxDQUFDO1lBQ0YsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsMEJBQTBCO2dCQUMxRCxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUMzRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUM7WUFFakQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDOytHQWpDUSxxQkFBcUI7bUdBQXJCLHFCQUFxQix1SUNyQmxDLDhhQVNBLGlIREtRLGNBQWMsc25CQUNkLGFBQWEsbUxBQ2IsZUFBZSwyTkFDZixXQUFXOzs0RkFJTixxQkFBcUI7a0JBWmpDLFNBQVM7K0JBQ0ksbUJBQW1CLFdBR3BCO3dCQUNMLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixlQUFlO3dCQUNmLFdBQVc7cUJBQ2QsY0FDVyxJQUFJO3FHQUlQLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBGZXRjaCB9IGZyb20gJ0Bkb3RnbGl0Y2gvbmd4LWNvbW1vbi9jb3JlJztcbmltcG9ydCB7IE5neEZpbGVNYW5hZ2VyQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL2ZpbGVtYW5hZ2VyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLWZvbGRlci1yZW5hbWUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2xkZXItcmVuYW1lLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb2xkZXItcmVuYW1lLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBGb2xkZXJSZW5hbWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgQElucHV0KCkgcGF0aDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIG5hbWU6IHN0cmluZyA9ICcnO1xuICAgIEBJbnB1dCgpIGNvbmZpZzogTmd4RmlsZU1hbmFnZXJDb25maWd1cmF0aW9uO1xuXG4gICAgaXNSZW5hbWUgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2dSZWY8YW55PixcbiAgICAgICAgcHJpdmF0ZSBmZXRjaDogRmV0Y2hcbiAgICApIHsgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaXNSZW5hbWUgPSB0aGlzLm5hbWUubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBvblNhdmUoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzUmVuYW1lKSB7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5yZW5hbWVFbnRyeVVybFRlbXBsYXRlXG4gICAgICAgICAgICAgICAgPyB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5yZW5hbWVFbnRyeVVybFRlbXBsYXRlKHRoaXMucGF0aCArIHRoaXMubmFtZSlcbiAgICAgICAgICAgICAgICA6IHRoaXMuY29uZmlnLmFwaVNldHRpbmdzLnJlbmFtZUVudHJ5VXJsO1xuXG4gICAgICAgICAgICB0aGlzLmZldGNoLnBvc3QodXJsLCB7IHBhdGg6IHRoaXMucGF0aCArICcvJyArIHRoaXMubmFtZSB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IHRoaXMuY29uZmlnLmFwaVNldHRpbmdzLmNyZWF0ZURpcmVjdG9yeVVybFRlbXBsYXRlXG4gICAgICAgICAgICAgICAgPyB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5jcmVhdGVEaXJlY3RvcnlVcmxUZW1wbGF0ZSh0aGlzLnBhdGggKyB0aGlzLm5hbWUpXG4gICAgICAgICAgICAgICAgOiB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5jcmVhdGVEaXJlY3RvcnlVcmw7XG5cbiAgICAgICAgICAgIHRoaXMuZmV0Y2gucG9zdCh1cmwsIHsgcGF0aDogdGhpcy5wYXRoICsgJy8nICsgdGhpcy5uYW1lIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGlhbG9nLmNsb3NlKHRydWUpO1xuICAgIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBzdHlsZT1cIndpZHRoOiAyODBweDtcIj5cbiAgICA8bWF0LWxhYmVsPk5hbWU8L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cIm5hbWVcIiAoa2V5dXApPVwiJGV2ZW50LmtleSA9PSAnRW50ZXInICYmIG9uU2F2ZSgpXCI+XG48L21hdC1mb3JtLWZpZWxkPlxuXG48ZGl2IHN0eWxlPVwiYWxpZ24tc2VsZjogZW5kO1wiPlxuICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIChjbGljayk9XCJvblNhdmUoKVwiPjxtYXQtaWNvbj5jaGVjazwvbWF0LWljb24+T2s8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiAoY2xpY2spPVwiZGlhbG9nLmNsb3NlKClcIj48bWF0LWljb24+Y2FuY2VsPC9tYXQtaWNvbj5DYW5jZWw8L2J1dHRvbj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export const uploadFile = (fetch, config, currentDirectory, targetPath, contextTags = {}) => new Promise(r => {
|
|
2
|
+
const inEl = document.createElement('input');
|
|
3
|
+
inEl.setAttribute('type', 'file');
|
|
4
|
+
inEl.setAttribute('multiple', '');
|
|
5
|
+
inEl.click();
|
|
6
|
+
let formData = new FormData();
|
|
7
|
+
inEl.addEventListener('change', () => {
|
|
8
|
+
Object.keys(inEl.files).forEach(k => {
|
|
9
|
+
const file = inEl.files[k];
|
|
10
|
+
const name = file.name;
|
|
11
|
+
formData.append(name, file);
|
|
12
|
+
});
|
|
13
|
+
formData.append("data", JSON.stringify({
|
|
14
|
+
path: currentDirectory,
|
|
15
|
+
...contextTags
|
|
16
|
+
}));
|
|
17
|
+
const url = config.apiSettings.uploadEntryUrlTemplate
|
|
18
|
+
? config.apiSettings.uploadEntryUrlTemplate(targetPath ?? currentDirectory)
|
|
19
|
+
: config.apiSettings.uploadEntryUrl;
|
|
20
|
+
r(fetch.post(url, formData).then(res => {
|
|
21
|
+
inEl.remove();
|
|
22
|
+
return res;
|
|
23
|
+
}));
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9maWxlbWFuYWdlci9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUN0QixLQUFZLEVBQ1osTUFBbUMsRUFDbkMsZ0JBQXdCLEVBQ3hCLFVBQW1CLEVBQ25CLGNBQTBDLEVBQUUsRUFDOUMsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO0lBRWpCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBRWIsSUFBSSxRQUFRLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUU5QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtRQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDaEMsTUFBTSxJQUFJLEdBTU4sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVsQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQVcsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNuQyxJQUFJLEVBQUUsZ0JBQWdCO1lBQ3RCLEdBQUcsV0FBVztTQUNqQixDQUFDLENBQUMsQ0FBQztRQUVKLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsc0JBQXNCO1lBQ2pELENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLHNCQUFzQixDQUFDLFVBQVUsSUFBSSxnQkFBZ0IsQ0FBQztZQUMzRSxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUM7UUFFeEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNuQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDZCxPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmV0Y2ggfSBmcm9tICdAZG90Z2xpdGNoL25neC1jb21tb24vY29yZSc7XG5pbXBvcnQgeyBOZ3hGaWxlTWFuYWdlckNvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2ZpbGVtYW5hZ2VyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCB1cGxvYWRGaWxlID0gKFxuICAgIGZldGNoOiBGZXRjaCxcbiAgICBjb25maWc6IE5neEZpbGVNYW5hZ2VyQ29uZmlndXJhdGlvbixcbiAgICBjdXJyZW50RGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgdGFyZ2V0UGF0aD86IHN0cmluZyxcbiAgICBjb250ZXh0VGFnczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmc7IH0gPSB7fVxuKSA9PiBuZXcgUHJvbWlzZShyID0+IHtcblxuICAgIGNvbnN0IGluRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgIGluRWwuc2V0QXR0cmlidXRlKCd0eXBlJywgJ2ZpbGUnKTtcbiAgICBpbkVsLnNldEF0dHJpYnV0ZSgnbXVsdGlwbGUnLCAnJyk7XG4gICAgaW5FbC5jbGljaygpO1xuXG4gICAgbGV0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG5cbiAgICBpbkVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsICgpID0+IHtcbiAgICAgICAgT2JqZWN0LmtleXMoaW5FbC5maWxlcykuZm9yRWFjaChrID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGU6IHtcbiAgICAgICAgICAgICAgICBsYXN0TW9kaWZpZWQ6IG51bWJlcixcbiAgICAgICAgICAgICAgICBsYXN0TW9kaWZpZWREYXRlOiBEYXRlLFxuICAgICAgICAgICAgICAgIG5hbWU6IHN0cmluZyxcbiAgICAgICAgICAgICAgICBzaXplOiBudW1iZXIsXG4gICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nO1xuICAgICAgICAgICAgfSA9IGluRWwuZmlsZXNba107XG5cbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBmaWxlLm5hbWU7XG4gICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQobmFtZSwgZmlsZSBhcyBhbnkpO1xuICAgICAgICB9KTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKFwiZGF0YVwiLCBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBwYXRoOiBjdXJyZW50RGlyZWN0b3J5LFxuICAgICAgICAgICAgLi4uY29udGV4dFRhZ3NcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIGNvbnN0IHVybCA9IGNvbmZpZy5hcGlTZXR0aW5ncy51cGxvYWRFbnRyeVVybFRlbXBsYXRlXG4gICAgICAgICAgICA/IGNvbmZpZy5hcGlTZXR0aW5ncy51cGxvYWRFbnRyeVVybFRlbXBsYXRlKHRhcmdldFBhdGggPz8gY3VycmVudERpcmVjdG9yeSlcbiAgICAgICAgICAgIDogY29uZmlnLmFwaVNldHRpbmdzLnVwbG9hZEVudHJ5VXJsO1xuXG4gICAgICAgIHIoZmV0Y2gucG9zdCh1cmwsIGZvcm1EYXRhKS50aGVuKHJlcyA9PiB7XG4gICAgICAgICAgICBpbkVsLnJlbW92ZSgpO1xuICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgfSkpO1xuICAgIH0pO1xufSk7XG5cbiJdfQ==
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import * as MIT from './mat-icons';
|
|
2
|
+
import textExtensions from './textextensions';
|
|
3
|
+
// Object.keys(MIT).forEach(k => {
|
|
4
|
+
// console.log(k, MIT[k])
|
|
5
|
+
// })
|
|
6
|
+
const symIcon = Symbol('icon');
|
|
7
|
+
const folderNames = MIT['default'].folderNames;
|
|
8
|
+
const fileNames = MIT['default'].fileNames;
|
|
9
|
+
const fileExtensions = MIT['default'].fileExtensions;
|
|
10
|
+
let folderIconNameList = [];
|
|
11
|
+
let fileIconNameList = [];
|
|
12
|
+
let fileIconExtensionList = [];
|
|
13
|
+
Object.entries(fileNames).forEach(([name, icon]) => {
|
|
14
|
+
fileIconNameList.push({
|
|
15
|
+
val: name,
|
|
16
|
+
iconName: icon
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
Object.entries(fileExtensions).forEach(([name, icon]) => {
|
|
20
|
+
fileIconExtensionList.push({
|
|
21
|
+
val: name,
|
|
22
|
+
iconName: icon
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
Object.entries(folderNames).forEach(([name, icon]) => {
|
|
26
|
+
folderIconNameList.push({
|
|
27
|
+
val: name,
|
|
28
|
+
iconName: icon,
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
// const getMimeType = (name: string) =>
|
|
32
|
+
// (/\.(appimage)$/.test(name) && "compressed") ||
|
|
33
|
+
// (/\.(pot|potx|pps|ppsx|ppt|pptm|pptx)$/.test(name) && "presentation") ||
|
|
34
|
+
// (/\.(odt|rtf|doc|docm|docx|dot|dotm|dotx)$/.test(name) && "richtext") ||
|
|
35
|
+
// (/\.(ods|xls|xlsm|xlsx|xps|xlsx|csv)$/.test(name) && "spreadsheet");
|
|
36
|
+
// Limited list of pop-icons that match before mat-icons
|
|
37
|
+
// const builtinIcons = [
|
|
38
|
+
// "7z",
|
|
39
|
+
// "apk",
|
|
40
|
+
// "arc",
|
|
41
|
+
// "bz",
|
|
42
|
+
// "deb",
|
|
43
|
+
// "gz",
|
|
44
|
+
// "pdf",
|
|
45
|
+
// "rar",
|
|
46
|
+
// "rpm",
|
|
47
|
+
// "tar",
|
|
48
|
+
// "xar",
|
|
49
|
+
// "xz",
|
|
50
|
+
// "zip"
|
|
51
|
+
// ];
|
|
52
|
+
export class IconResolver {
|
|
53
|
+
constructor(assetPath = "/assets/") {
|
|
54
|
+
let path = assetPath.trim();
|
|
55
|
+
// Replace any duplicate slash occurences
|
|
56
|
+
path = path.replace(/\/{2,99}/g, '\/');
|
|
57
|
+
// Trim off trailing slashes
|
|
58
|
+
if (path.endsWith('/'))
|
|
59
|
+
path = path.replace(/\/+$/, '');
|
|
60
|
+
// Ensure it starts with a slash.
|
|
61
|
+
if (!path.startsWith('/'))
|
|
62
|
+
path = '/' + path;
|
|
63
|
+
this.path = path;
|
|
64
|
+
}
|
|
65
|
+
isText(path) {
|
|
66
|
+
const ext = path.split('.').pop();
|
|
67
|
+
return textExtensions.includes(ext);
|
|
68
|
+
}
|
|
69
|
+
getBestMatch(data, filename) {
|
|
70
|
+
return data
|
|
71
|
+
.filter(d => filename.endsWith(d.val)) // filter to all match results
|
|
72
|
+
.sort((a, b) => b.val.length - a.val.length) // sort longest string first
|
|
73
|
+
[0]?.iconName; // Return the first result.
|
|
74
|
+
}
|
|
75
|
+
resolveDirIcon(file) {
|
|
76
|
+
if (!file.name && !file.path) {
|
|
77
|
+
return {
|
|
78
|
+
path: `${this.path}/material/folder.svg`,
|
|
79
|
+
needsBackdrop: false
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
const dirnameMatch = this.getBestMatch(folderIconNameList, file['vanityName'] || file.name || file.path);
|
|
83
|
+
// VS Code Material Icon Theme pack
|
|
84
|
+
// TODO: default to a clear icon that doesn't have decoration
|
|
85
|
+
return {
|
|
86
|
+
path: dirnameMatch ? `${this.path}/material/${dirnameMatch}.svg` : `${this.path}/material/folder.svg`,
|
|
87
|
+
needsBackdrop: false
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
resolveFileIcon(file) {
|
|
91
|
+
// Folders always use the material-icon-theme
|
|
92
|
+
// const baseExt = builtinIcons.find(ext => (file['vanityName'] || file.name).endsWith('.' + ext));
|
|
93
|
+
// if (baseExt) {
|
|
94
|
+
// return {
|
|
95
|
+
// path: `${this.path}/pop/exts/${baseExt}.svg`,
|
|
96
|
+
// needsBackdrop: false
|
|
97
|
+
// };
|
|
98
|
+
// }
|
|
99
|
+
// // Resolve a base MIME type via path extension
|
|
100
|
+
// const base2Ext = getMimeType((file['vanityName'] || file.name));
|
|
101
|
+
// // If we get a path extension, we can easily map the icon
|
|
102
|
+
// if (base2Ext) {
|
|
103
|
+
// return {
|
|
104
|
+
// path: `${this.path}/pop/${base2Ext}.svg`,
|
|
105
|
+
// needsBackdrop: false
|
|
106
|
+
// };
|
|
107
|
+
// }
|
|
108
|
+
// Lookup a filename from material-icon-theme
|
|
109
|
+
const filename = fileIconNameList
|
|
110
|
+
.filter(d => (file['vanityName'] || file.name).toLowerCase() == d.val.toLowerCase())
|
|
111
|
+
.sort((a, b) => b.val.length - a.val.length)[0]?.iconName;
|
|
112
|
+
if (filename) {
|
|
113
|
+
return {
|
|
114
|
+
path: `${this.path}/material/${filename}.svg`,
|
|
115
|
+
needsBackdrop: true
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
// foo.log.1 foo.log.123 should be treated clearly as log files.
|
|
119
|
+
if (/\.log\.\d+$/.test(filename)) {
|
|
120
|
+
return {
|
|
121
|
+
path: `${this.path}/material/log.svg`,
|
|
122
|
+
needsBackdrop: true
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
// Check the file's extension -- we may
|
|
126
|
+
const fileext = fileIconExtensionList
|
|
127
|
+
.filter(d => (file['vanityName'] || file.name).toLowerCase().endsWith('.' + d.val.toLowerCase()))
|
|
128
|
+
.sort((a, b) => b.val.length - a.val.length)[0]?.iconName;
|
|
129
|
+
if (fileext)
|
|
130
|
+
return {
|
|
131
|
+
path: `${this.path}/material/${fileext}.svg`,
|
|
132
|
+
needsBackdrop: true
|
|
133
|
+
};
|
|
134
|
+
// If the file doesn't have a text extension, we're going to assume it's binary data.
|
|
135
|
+
const isFileBinary = !this.isText(file.path);
|
|
136
|
+
return {
|
|
137
|
+
path: isFileBinary ? `${this.path}/material/document.svg` : `${this.path}/material/assembly.svg`,
|
|
138
|
+
// path: isFileBinary ? `${this.path}/pop/text.svg` : `${this.path}/pop/binary.svg`,
|
|
139
|
+
needsBackdrop: false
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
// TODO: resolve dynamic thumbnails for media documents
|
|
143
|
+
resolveIcon(file) {
|
|
144
|
+
if (!file)
|
|
145
|
+
return null;
|
|
146
|
+
if (file[symIcon])
|
|
147
|
+
return file[symIcon];
|
|
148
|
+
if (file.kind == "directory") {
|
|
149
|
+
return file[symIcon] = this.resolveDirIcon(file);
|
|
150
|
+
}
|
|
151
|
+
return file[symIcon] = this.resolveFileIcon(file);
|
|
152
|
+
}
|
|
153
|
+
;
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9maWxlbWFuYWdlci9pY29uLXJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxHQUFHLE1BQU0sYUFBYSxDQUFDO0FBQ25DLE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFDO0FBRTlDLGtDQUFrQztBQUNsQyw2QkFBNkI7QUFDN0IsS0FBSztBQUVMLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUUvQixNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBVyxDQUFDO0FBQy9DLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDM0MsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztBQUVyRCxJQUFJLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztBQUM1QixJQUFJLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztBQUMxQixJQUFJLHFCQUFxQixHQUFHLEVBQUUsQ0FBQztBQUUvQixNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7SUFDL0MsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1FBQ2xCLEdBQUcsRUFBRSxJQUFJO1FBQ1QsUUFBUSxFQUFFLElBQUk7S0FDakIsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUM7QUFDSCxNQUFNLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7SUFDcEQscUJBQXFCLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLEdBQUcsRUFBRSxJQUFJO1FB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QUMzQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFBQSxDQUFDO0NBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGU0Rlc2NyaXB0b3IgfSBmcm9tICcuL2ZpbGVtYW5hZ2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBNSVQgZnJvbSAnLi9tYXQtaWNvbnMnO1xuaW1wb3J0IHRleHRFeHRlbnNpb25zIGZyb20gJy4vdGV4dGV4dGVuc2lvbnMnO1xuXG4vLyBPYmplY3Qua2V5cyhNSVQpLmZvckVhY2goayA9PiB7XG4vLyAgICAgY29uc29sZS5sb2coaywgTUlUW2tdKVxuLy8gfSlcblxuY29uc3Qgc3ltSWNvbiA9IFN5bWJvbCgnaWNvbicpO1xuXG5jb25zdCBmb2xkZXJOYW1lcyA9IE1JVFsnZGVmYXVsdCddLmZvbGRlck5hbWVzO1xuY29uc3QgZmlsZU5hbWVzID0gTUlUWydkZWZhdWx0J10uZmlsZU5hbWVzO1xuY29uc3QgZmlsZUV4dGVuc2lvbnMgPSBNSVRbJ2RlZmF1bHQnXS5maWxlRXh0ZW5zaW9ucztcblxubGV0IGZvbGRlckljb25OYW1lTGlzdCA9IFtdO1xubGV0IGZpbGVJY29uTmFtZUxpc3QgPSBbXTtcbmxldCBmaWxlSWNvbkV4dGVuc2lvbkxpc3QgPSBbXTtcblxuT2JqZWN0LmVudHJpZXMoZmlsZU5hbWVzKS5mb3JFYWNoKChbbmFtZSwgaWNvbl0pID0+IHtcbiAgICBmaWxlSWNvbk5hbWVMaXN0LnB1c2goe1xuICAgICAgICB2YWw6IG5hbWUsXG4gICAgICAgIGljb25OYW1lOiBpY29uXG4gICAgfSk7XG59KTtcbk9iamVjdC5lbnRyaWVzKGZpbGVFeHRlbnNpb25zKS5mb3JFYWNoKChbbmFtZSwgaWNvbl0pID0+IHtcbiAgICBmaWxlSWNvbkV4dGVuc2lvbkxpc3QucHVzaCh7XG4gICAgICAgIHZhbDogbmFtZSxcbiAgICAgICAgaWNvbk5hbWU6IGljb25cbiAgICB9KTtcbn0pO1xuXG5PYmplY3QuZW50cmllcyhmb2xkZXJOYW1lcykuZm9yRWFjaCgoW25hbWUsIGljb25dKSA9PiB7XG4gICAgZm9sZGVySWNvbk5hbWVMaXN0LnB1c2goe1xuICAgICAgICB2YWw6IG5hbWUsXG4gICAgICAgIGljb25OYW1lOiBpY29uLFxuICAgIH0pO1xufSk7XG5cbi8vIGNvbnN0IGdldE1pbWVUeXBlID0gKG5hbWU6IHN0cmluZykgPT5cbi8vICAgICAoL1xcLihhcHBpbWFnZSkkLy50ZXN0KG5hbWUpICYmIFwiY29tcHJlc3NlZFwiKSB8fFxuLy8gICAgICgvXFwuKHBvdHxwb3R4fHBwc3xwcHN4fHBwdHxwcHRtfHBwdHgpJC8udGVzdChuYW1lKSAmJiBcInByZXNlbnRhdGlvblwiKSB8fFxuLy8gICAgICgvXFwuKG9kdHxydGZ8ZG9jfGRvY218ZG9jeHxkb3R8ZG90bXxkb3R4KSQvLnRlc3QobmFtZSkgJiYgXCJyaWNodGV4dFwiKSB8fFxuLy8gICAgICgvXFwuKG9kc3x4bHN8eGxzbXx4bHN4fHhwc3x4bHN4fGNzdikkLy50ZXN0KG5hbWUpICYmIFwic3ByZWFkc2hlZXRcIik7XG5cblxuLy8gTGltaXRlZCBsaXN0IG9mIHBvcC1pY29ucyB0aGF0IG1hdGNoIGJlZm9yZSBtYXQtaWNvbnNcbi8vIGNvbnN0IGJ1aWx0aW5JY29ucyA9IFtcbi8vICAgICBcIjd6XCIsXG4vLyAgICAgXCJhcGtcIixcbi8vICAgICBcImFyY1wiLFxuLy8gICAgIFwiYnpcIixcbi8vICAgICBcImRlYlwiLFxuLy8gICAgIFwiZ3pcIixcbi8vICAgICBcInBkZlwiLFxuLy8gICAgIFwicmFyXCIsXG4vLyAgICAgXCJycG1cIixcbi8vICAgICBcInRhclwiLFxuLy8gICAgIFwieGFyXCIsXG4vLyAgICAgXCJ4elwiLFxuLy8gICAgIFwiemlwXCJcbi8vIF07XG5cbmV4cG9ydCBjbGFzcyBJY29uUmVzb2x2ZXIge1xuICAgIHB1YmxpYyBwYXRoOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3Rvcihhc3NldFBhdGggPSBcIi9hc3NldHMvXCIpIHtcbiAgICAgICAgbGV0IHBhdGggPSBhc3NldFBhdGgudHJpbSgpO1xuXG4gICAgICAgIC8vIFJlcGxhY2UgYW55IGR1cGxpY2F0ZSBzbGFzaCBvY2N1cmVuY2VzXG4gICAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoL1xcL3syLDk5fS9nLCAnXFwvJyk7XG5cbiAgICAgICAgLy8gVHJpbSBvZmYgdHJhaWxpbmcgc2xhc2hlc1xuICAgICAgICBpZiAocGF0aC5lbmRzV2l0aCgnLycpKVxuICAgICAgICAgICAgcGF0aCA9IHBhdGgucmVwbGFjZSgvXFwvKyQvLCAnJyk7XG5cbiAgICAgICAgLy8gRW5zdXJlIGl0IHN0YXJ0cyB3aXRoIGEgc2xhc2guXG4gICAgICAgIGlmICghcGF0aC5zdGFydHNXaXRoKCcvJykpXG4gICAgICAgICAgICBwYXRoID0gJy8nICsgcGF0aDtcblxuICAgICAgICB0aGlzLnBhdGggPSBwYXRoO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNUZXh0KHBhdGg6IHN0cmluZykge1xuICAgICAgICBjb25zdCBleHQgPSBwYXRoLnNwbGl0KCcuJykucG9wKCk7XG4gICAgICAgIHJldHVybiB0ZXh0RXh0ZW5zaW9ucy5pbmNsdWRlcyhleHQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QmVzdE1hdGNoKGRhdGE6IHsgdmFsOiBzdHJpbmcsIGljb25OYW1lOiBzdHJpbmc7IH1bXSwgZmlsZW5hbWUpIHtcbiAgICAgICAgcmV0dXJuIGRhdGFcbiAgICAgICAgICAgIC5maWx0ZXIoZCA9PiBmaWxlbmFtZS5lbmRzV2l0aChkLnZhbCkpIC8vIGZpbHRlciB0byBhbGwgbWF0Y2ggcmVzdWx0c1xuICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGIudmFsLmxlbmd0aCAtIGEudmFsLmxlbmd0aCkgLy8gc29ydCBsb25nZXN0IHN0cmluZyBmaXJzdFxuICAgICAgICBbMF0/Lmljb25OYW1lOyAvLyBSZXR1cm4gdGhlIGZpcnN0IHJlc3VsdC5cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc29sdmVEaXJJY29uKGZpbGU6IEZTRGVzY3JpcHRvcikge1xuICAgICAgICBpZiAoIWZpbGUubmFtZSAmJiAhZmlsZS5wYXRoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHBhdGg6IGAke3RoaXMucGF0aH0vbWF0ZXJpYWwvZm9sZGVyLnN2Z2AsXG4gICAgICAgICAgICAgICAgbmVlZHNCYWNrZHJvcDogZmFsc2VcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkaXJuYW1lTWF0Y2ggPSB0aGlzLmdldEJlc3RNYXRjaChmb2xkZXJJY29uTmFtZUxpc3QsIGZpbGVbJ3Zhbml0eU5hbWUnXSB8fCBmaWxlLm5hbWUgfHwgZmlsZS5wYXRoKTtcbiAgICAgICAgLy8gVlMgQ29kZSBNYXRlcmlhbCBJY29uIFRoZW1lIHBhY2tcblxuICAgICAgICAvLyBUT0RPOiBkZWZhdWx0IHRvIGEgY2xlYXIgaWNvbiB0aGF0IGRvZXNuJ3QgaGF2ZSBkZWNvcmF0aW9uXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwYXRoOiBkaXJuYW1lTWF0Y2ggPyBgJHt0aGlzLnBhdGh9L21hdGVyaWFsLyR7ZGlybmFtZU1hdGNofS5zdmdgIDogYCR7dGhpcy5wYXRofS9tYXRlcmlhbC9mb2xkZXIuc3ZnYCxcbiAgICAgICAgICAgIG5lZWRzQmFja2Ryb3A6IGZhbHNlXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNvbHZlRmlsZUljb24oZmlsZTogRlNEZXNjcmlwdG9yKSB7XG4gICAgICAgIC8vIEZvbGRlcnMgYWx3YXlzIHVzZSB0aGUgbWF0ZXJpYWwtaWNvbi10aGVtZVxuXG4gICAgICAgIC8vIGNvbnN0IGJhc2VFeHQgPSBidWlsdGluSWNvbnMuZmluZChleHQgPT4gKGZpbGVbJ3Zhbml0eU5hbWUnXSB8fCBmaWxlLm5hbWUpLmVuZHNXaXRoKCcuJyArIGV4dCkpO1xuICAgICAgICAvLyBpZiAoYmFzZUV4dCkge1xuICAgICAgICAvLyAgICAgcmV0dXJuIHtcbiAgICAgICAgLy8gICAgICAgICBwYXRoOiBgJHt0aGlzLnBhdGh9L3BvcC9leHRzLyR7YmFzZUV4dH0uc3ZnYCxcbiAgICAgICAgLy8gICAgICAgICBuZWVkc0JhY2tkcm9wOiBmYWxzZVxuICAgICAgICAvLyAgICAgfTtcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIC8vIC8vIFJlc29sdmUgYSBiYXNlIE1JTUUgdHlwZSB2aWEgcGF0aCBleHRlbnNpb25cbiAgICAgICAgLy8gY29uc3QgYmFzZTJFeHQgPSBnZXRNaW1lVHlwZSgoZmlsZVsndmFuaXR5TmFtZSddIHx8IGZpbGUubmFtZSkpO1xuXG4gICAgICAgIC8vIC8vIElmIHdlIGdldCBhIHBhdGggZXh0ZW5zaW9uLCB3ZSBjYW4gZWFzaWx5IG1hcCB0aGUgaWNvblxuICAgICAgICAvLyBpZiAoYmFzZTJFeHQpIHtcbiAgICAgICAgLy8gICAgIHJldHVybiB7XG4gICAgICAgIC8vICAgICAgICAgcGF0aDogYCR7dGhpcy5wYXRofS9wb3AvJHtiYXNlMkV4dH0uc3ZnYCxcbiAgICAgICAgLy8gICAgICAgICBuZWVkc0JhY2tkcm9wOiBmYWxzZVxuICAgICAgICAvLyAgICAgfTtcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIC8vIExvb2t1cCBhIGZpbGVuYW1lIGZyb20gbWF0ZXJpYWwtaWNvbi10aGVtZVxuICAgICAgICBjb25zdCBmaWxlbmFtZSA9IGZpbGVJY29uTmFtZUxpc3RcbiAgICAgICAgICAgIC5maWx0ZXIoZCA9PiAoZmlsZVsndmFuaXR5TmFtZSddIHx8IGZpbGUubmFtZSkudG9Mb3dlckNhc2UoKSA9PSBkLnZhbC50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGIudmFsLmxlbmd0aCAtIGEudmFsLmxlbmd0aClcbiAgICAgICAgWzBdPy5pY29uTmFtZTtcblxuICAgICAgICBpZiAoZmlsZW5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcGF0aDogYCR7dGhpcy5wYXRofS9tYXRlcmlhbC8ke2ZpbGVuYW1lfS5zdmdgLFxuICAgICAgICAgICAgICAgIG5lZWRzQmFja2Ryb3A6IHRydWVcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBmb28ubG9nLjEgZm9vLmxvZy4xMjMgc2hvdWxkIGJlIHRyZWF0ZWQgY2xlYXJseSBhcyBsb2cgZmlsZXMuXG4gICAgICAgIGlmICgvXFwubG9nXFwuXFxkKyQvLnRlc3QoZmlsZW5hbWUpKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHBhdGg6IGAke3RoaXMucGF0aH0vbWF0ZXJpYWwvbG9nLnN2Z2AsXG4gICAgICAgICAgICAgICAgbmVlZHNCYWNrZHJvcDogdHJ1ZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENoZWNrIHRoZSBmaWxlJ3MgZXh0ZW5zaW9uIC0tIHdlIG1heVxuICAgICAgICBjb25zdCBmaWxlZXh0ID0gZmlsZUljb25FeHRlbnNpb25MaXN0XG4gICAgICAgICAgICAuZmlsdGVyKGQgPT4gKGZpbGVbJ3Zhbml0eU5hbWUnXSB8fCBmaWxlLm5hbWUpLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoJy4nICsgZC52YWwudG9Mb3dlckNhc2UoKSkpXG4gICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gYi52YWwubGVuZ3RoIC0gYS52YWwubGVuZ3RoKVxuICAgICAgICBbMF0/Lmljb25OYW1lO1xuXG4gICAgICAgIGlmIChmaWxlZXh0KSByZXR1cm4ge1xuICAgICAgICAgICAgcGF0aDogYCR7dGhpcy5wYXRofS9tYXRlcmlhbC8ke2ZpbGVleHR9LnN2Z2AsXG4gICAgICAgICAgICBuZWVkc0JhY2tkcm9wOiB0cnVlXG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gSWYgdGhlIGZpbGUgZG9lc24ndCBoYXZlIGEgdGV4dCBleHRlbnNpb24sIHdlJ3JlIGdvaW5nIHRvIGFzc3VtZSBpdCdzIGJpbmFyeSBkYXRhLlxuICAgICAgICBjb25zdCBpc0ZpbGVCaW5hcnkgPSAhdGhpcy5pc1RleHQoZmlsZS5wYXRoKTtcblxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwYXRoOiBpc0ZpbGVCaW5hcnkgPyBgJHt0aGlzLnBhdGh9L21hdGVyaWFsL2RvY3VtZW50LnN2Z2AgOiBgJHt0aGlzLnBhdGh9L21hdGVyaWFsL2Fzc2VtYmx5LnN2Z2AsXG4gICAgICAgICAgICAvLyBwYXRoOiBpc0ZpbGVCaW5hcnkgPyBgJHt0aGlzLnBhdGh9L3BvcC90ZXh0LnN2Z2AgOiBgJHt0aGlzLnBhdGh9L3BvcC9iaW5hcnkuc3ZnYCxcbiAgICAgICAgICAgIG5lZWRzQmFja2Ryb3A6IGZhbHNlXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gVE9ETzogcmVzb2x2ZSBkeW5hbWljIHRodW1ibmFpbHMgZm9yIG1lZGlhIGRvY3VtZW50c1xuICAgIHJlc29sdmVJY29uKGZpbGU6IEZTRGVzY3JpcHRvcik6IHsgcGF0aDogc3RyaW5nLCBuZWVkc0JhY2tkcm9wOiBib29sZWFuOyB9IHtcbiAgICAgICAgaWYgKCFmaWxlKSByZXR1cm4gbnVsbDtcbiAgICAgICAgaWYgKGZpbGVbc3ltSWNvbl0pIHJldHVybiBmaWxlW3N5bUljb25dO1xuXG4gICAgICAgIGlmIChmaWxlLmtpbmQgPT0gXCJkaXJlY3RvcnlcIikge1xuICAgICAgICAgICAgcmV0dXJuIGZpbGVbc3ltSWNvbl0gPSB0aGlzLnJlc29sdmVEaXJJY29uKGZpbGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZpbGVbc3ltSWNvbl0gPSB0aGlzLnJlc29sdmVGaWxlSWNvbihmaWxlKTtcbiAgICB9O1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './filemanager.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vZmlsZW1hbmFnZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmlsZW1hbmFnZXIuY29tcG9uZW50JztcbiJdfQ==
|