diff --git a/README.md b/README.md index 85e33c9..05a11b8 100644 --- a/README.md +++ b/README.md @@ -39,8 +39,8 @@ This web user interface uses [Riot](https://github.com/Riot/riot) the react-like - Select all tags with ALT + Click to delete (see [#80](https://github.com/Joxit/docker-registry-ui/issues/80)). - One interface for many registries (when `SINGLE_REGISTRY=false`). - Share your docker registry with query parameter `url` (e.g. `https://joxit.dev/docker-registry-ui/demo?url=https://registry.example.com`) (when `SINGLE_REGISTRY=false`). -- Use the UI as reverse proxy (with `REGISTRY_URL` environment variable) to your docker registry (This will avoid CORS). -- Add Title when using `REGISTRY_URL` (see [#28](https://github.com/Joxit/docker-registry-ui/issues/28)). +- Use the UI as reverse proxy (with `NGINX_PROXY_PASS_URL` environment variable) to your docker registry (This will avoid CORS). +- Add Title when using `REGISTRY_TITLE` (see [#28](https://github.com/Joxit/docker-registry-ui/issues/28)). - Customise docker pull command on static registry UI (see [#71](https://github.com/Joxit/docker-registry-ui/issues/71)). - Add custom header via environment variable and file via `NGINX_PROXY_HEADER_*` (see [#89](https://github.com/Joxit/docker-registry-ui/pull/89)) - Show/Hide content digest in taglist via `SHOW_CONTENT_DIGEST` (values are: [`true`, `false`], default: `true`) (see [#126](https://github.com/Joxit/docker-registry-ui/issues/126)). diff --git a/dist/docker-registry-ui.css b/dist/docker-registry-ui.css index e4f6f3d..21242b9 100644 --- a/dist/docker-registry-ui.css +++ b/dist/docker-registry-ui.css @@ -1 +1 @@ -material-navbar{display:block;color:#fff;-webkit-box-shadow:0 8px 17px 0 rgba(0, 0, 0, 0.12), 0 6px 20px 0 rgba(0, 0, 0, 0.14);-ms-box-shadow:0 8px 17px 0 rgba(0, 0, 0, 0.12), 0 6px 20px 0 rgba(0, 0, 0, 0.14);-moz-box-shadow:0 8px 17px 0 rgba(0, 0, 0, 0.12), 0 6px 20px 0 rgba(0, 0, 0, 0.14);-o-box-shadow:0 8px 17px 0 rgba(0, 0, 0, 0.12), 0 6px 20px 0 rgba(0, 0, 0, 0.14);box-shadow:0 8px 17px 0 rgba(0, 0, 0, 0.12), 0 6px 20px 0 rgba(0, 0, 0, 0.14);background-color:#25313b;width:100%;height:70px;line-height:70px}material-navbar:not(material-input){line-height:0px}material-navbar a{color:#fff}material-navbar .nav-wrapper{position:relative;height:100%}material-navbar .nav-wrapper .logo{line-height:66px}material-navbar[fixed]{position:relative;height:70px;z-index:998}material-footer{display:block;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:16px;color:#999;background-color:#555}material-footer a{color:inherit;text-decoration:none}material-footer ul{list-style:none;margin:0;padding:0}material-footer .material-footer-sections{display:-moz-flex;display:-webkit-flex;display:-ms-flexbox;display:flex;-moz-flex-flow:wrap;-webkit-flex-flow:wrap;flex-flow:wrap;padding-bottom:24px}material-footer .material-footer-sections ul{margin-right:16px}material-footer .mini-footer{display:block}@media screen and (min-width: 760px){material-footer .mini-footer{display:inline-flex}}material-footer .material-footer-section-header,material-footer .material-footer-logo{margin-bottom:16px;color:#fff;line-height:36px}@media screen and (min-width: 760px){material-footer .material-footer-logo{margin-bottom:0;margin-right:16px}}material-footer ul.material-footer-link-list{display:-moz-flex;display:-webkit-flex;display:-ms-flexbox;display:flex}material-footer ul.material-footer-link-list li{margin-bottom:0;margin-right:16px}@media screen and (min-width: 760px){material-footer ul.material-footer-link-list li{line-height:36px}}material-card{display:block;background-color:#fff;margin:0;overflow-y:auto;will-change:width, height;-webkit-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-ms-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-moz-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-o-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);transform:translateY(0px);opacity:1;-webkit-transition:transform .2s ease-in,opacity .2s;-ms-transition:transform .2s ease-in,opacity .2s;-moz-transition:transform .2s ease-in,opacity .2s;-o-transition:transform .2s ease-in,opacity .2s;transition:transform .2s ease-in,opacity .2s}material-card .title{padding:20px 10px;font-size:22px;color:#25313b;-webkit-box-shadow:0 2px 3px 0 rgba(0, 0, 0, 0.08), 0 2px 7px 0 rgba(0, 0, 0, 0.02);-ms-box-shadow:0 2px 3px 0 rgba(0, 0, 0, 0.08), 0 2px 7px 0 rgba(0, 0, 0, 0.02);-moz-box-shadow:0 2px 3px 0 rgba(0, 0, 0, 0.08), 0 2px 7px 0 rgba(0, 0, 0, 0.02);-o-box-shadow:0 2px 3px 0 rgba(0, 0, 0, 0.08), 0 2px 7px 0 rgba(0, 0, 0, 0.02);box-shadow:0 2px 3px 0 rgba(0, 0, 0, 0.08), 0 2px 7px 0 rgba(0, 0, 0, 0.02)}material-card .material-card-content{padding:20px}material-spinner{display:inline-block}material-spinner .loader-circular{-webkit-animation:loader-rotate 2s linear infinite;-ms-animation:loader-rotate 2s linear infinite;-moz-animation:loader-rotate 2s linear infinite;-o-animation:loader-rotate 2s linear infinite;animation:loader-rotate 2s linear infinite}material-spinner .loader-path{stroke-dasharray:1, 200;stroke-dashoffset:0;-webkit-animation:dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;stroke-linecap:round;stroke:#db652d}@-o-keyframes loader-rotate{from{-o-transform:rotate(0deg)}to{-o-transform:rotate(360deg)}}@-moz-keyframes loader-rotate{from{-moz-transform:rotate(0deg)}to{-moz-transform:rotate(360deg)}}@-webkit-keyframes loader-rotate{from{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@keyframes loader-rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@-webkit-keyframes dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35}100%{stroke-dasharray:89, 200;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35}100%{stroke-dasharray:89, 200;stroke-dashoffset:-124}}@-webkit-keyframes color{0%{stroke:#3f88f8}20%{stroke:#3f88f8}25%{stroke:#dd413b}45%{stroke:#dd413b}50%{stroke:#f6ae2e}70%{stroke:#f6ae2e}75%{stroke:#259a5d}95%{stroke:#259a5d}}@keyframes color{0%{stroke:#3f88f8}20%{stroke:#3f88f8}25%{stroke:#dd413b}45%{stroke:#dd413b}50%{stroke:#f6ae2e}70%{stroke:#f6ae2e}75%{stroke:#259a5d}95%{stroke:#259a5d}}material-button{border:none;border-radius:2px;display:inline-block;position:relative;height:40px;line-height:36px;background:#61bdcc;color:#fff;padding:0 2rem;cursor:pointer;text-transform:uppercase;vertical-align:middle;outline:0;-webkit-tap-highlight-color:transparent}material-button:hover material-waves{background:rgba(255,255,255,0.2);-webkit-transition:background .2s ease-in;-ms-transition:background .2s ease-in;-moz-transition:background .2s ease-in;-o-transition:background .2s ease-in;transition:background .2s ease-in}material-button material-waves{background:rgba(255,255,255,0);-webkit-transition:background .2s ease-in;-ms-transition:background .2s ease-in;-moz-transition:background .2s ease-in;-o-transition:background .2s ease-in;transition:background .2s ease-in}material-button .content{width:101%;height:100%;display:block;text-align:center}material-button .content .text,material-button .content i.material-icons,material-button .content i.icon,material-button .content a{display:inline-block;vertical-align:middle;font-size:18px;color:#fff;line-height:40px}material-button .content .text.material-icons,material-button .content i.material-icons.material-icons,material-button .content i.icon.material-icons,material-button .content a.material-icons{font-size:20px}material-button .content .text svg,material-button .content i.material-icons svg,material-button .content i.icon svg,material-button .content a svg{fill:#fff;stroke:#fff}material-button[rounded="true"]{border-radius:50%;width:40px;padding:0}material-button[rounded="true"] .content{width:100%;height:100%;display:flex;align-items:center;text-align:center}material-button[rounded="true"] .content i.material-icons,material-button[rounded="true"] .content i.icon{display:inline-block;text-align:center;width:100%;height:100%;-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}material-button[shady="true"]{-webkit-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-ms-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-moz-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-o-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);transition:box-shadow .2s}material-button[shady="true"]:hover{-webkit-box-shadow:0 2px 7px 0 rgba(0, 0, 0, 0.14), 0 2px 12px 0 rgba(0, 0, 0, 0.12);-ms-box-shadow:0 2px 7px 0 rgba(0, 0, 0, 0.14), 0 2px 12px 0 rgba(0, 0, 0, 0.12);-moz-box-shadow:0 2px 7px 0 rgba(0, 0, 0, 0.14), 0 2px 12px 0 rgba(0, 0, 0, 0.12);-o-box-shadow:0 2px 7px 0 rgba(0, 0, 0, 0.14), 0 2px 12px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 7px 0 rgba(0, 0, 0, 0.14), 0 2px 12px 0 rgba(0, 0, 0, 0.12);transition:box-shadow .2s}material-button[disabled="true"]{background:#ccc;color:#999;cursor:default}material-button[disabled="true"] #content .text,material-button[disabled="true"] #content i.material-icons,material-button[disabled="true"] #content i.icon,material-button[disabled="true"] #content a{color:#999}material-button[disabled="true"] #content .text svg,material-button[disabled="true"] #content i.material-icons svg,material-button[disabled="true"] #content i.icon svg,material-button[disabled="true"] #content a svg{fill:#999;stroke:#999}material-button[disabled="true"]:hover material-waves{background:transparent}material-waves{display:block;width:100%;height:100%;position:absolute;left:0;top:0;overflow:hidden}material-waves #waves{display:block;width:100%;height:100%;position:relative;overflow:hidden;-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none;vertical-align:middle;-webkit-transform:rotate(0deg);z-index:1}material-waves #waves .wave{position:absolute;-webkit-border-radius:50%;-ms-border-radius:50%;-moz-border-radius:50%;-o-border-radius:50%;border-radius:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;z-index:0;opacity:0;-webkit-transform:scale(0);-ms-transform:scale(0);-moz-transform:scale(0);-o-transform:scale(0);transform:scale(0);-webkit-transition-property:transform,opacity;-ms-transition-property:transform,opacity;-moz-transition-property:transform,opacity;-o-transition-property:transform,opacity;transition-property:transform,opacity;pointer-events:none}material-waves[rounded="true"]{border-radius:50%}material-waves[rounded="true"] #waves{border-radius:50%}material-checkbox{background-color:transparent;display:block;position:relative;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);-moz-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}material-checkbox .checkbox{display:inline-block;position:relative;box-sizing:border-box;height:100%;border:solid 2px;border-color:#25313b;background-color:transparent;border-radius:2px;width:18px;height:18px;cursor:pointer;vertical-align:middle;-webkit-transition:background-color 140ms, border-color 140ms;-ms-transition:background-color 140ms, border-color 140ms;-moz-transition:background-color 140ms, border-color 140ms;-o-transition:background-color 140ms, border-color 140ms;transition:background-color 140ms, border-color 140ms}material-checkbox .checkbox .checkmark{-webkit-transform:rotate(0deg) scale(0.5);-ms-transform:rotate(0deg) scale(0.5);-moz-transform:rotate(0deg) scale(0.5);-o-transform:rotate(0deg) scale(0.5);transform:rotate(0deg) scale(0.5);position:absolute;top:-1px;left:3px;width:6px;height:10px;border-style:solid;border-top:none;border-left:none;border-right-width:2px;border-bottom-width:2px;border-color:transparent;cursor:pointer}material-checkbox .checkbox.checked{background-color:#25313b;-webkit-transition:background-color 140ms, border-color 140ms, transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);-ms-transition:background-color 140ms, border-color 140ms, transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);-moz-transition:background-color 140ms, border-color 140ms, transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);-o-transition:background-color 140ms, border-color 140ms, transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);transition:background-color 140ms, border-color 140ms, transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1)}material-checkbox .checkbox.checked .checkmark{border-color:#fff;-webkit-transform:rotate(45deg) scale(1);-ms-transform:rotate(45deg) scale(1);-moz-transform:rotate(45deg) scale(1);-o-transform:rotate(45deg) scale(1);transform:rotate(45deg) scale(1);-webkit-transition:background-color 140ms, border-color 140ms,transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);-ms-transition:background-color 140ms, border-color 140ms,transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);-moz-transition:background-color 140ms, border-color 140ms,transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);-o-transition:background-color 140ms, border-color 140ms,transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);transition:background-color 140ms, border-color 140ms,transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1)}material-checkbox .label{display:inline-block;color:#25313b;position:relative;display:inline-block;vertical-align:middle;padding-left:8px;white-space:normal;cursor:pointer}material-checkbox[disabled="true"] .checkbox{border-color:#ccc}material-checkbox[disabled="true"] .label{color:#ccc}material-tabs{display:inline-block;line-height:0;position:relative;width:100%}material-tabs material-button{background:#070731;border-radius:0px;text-align:center;padding:0px}material-tabs material-button .content{position:relative}material-tabs material-button .content .text{font-size:16px}material-tabs material-button.selected .content .text{color:#61bdcc;-webkit-transition:color 0.3s;-ms-transition:color 0.3s;-moz-transition:color 0.3s;-o-transition:color 0.3s;transition:color 0.3s}material-tabs .line-wrapper{width:100%;height:3px;background:#c2c7b6;position:relative}material-tabs .line-wrapper .line{height:100%;background:#61bdcc;position:absolute;-webkit-transition:left 0.4s;-ms-transition:left 0.4s;-moz-transition:left 0.4s;-o-transition:left 0.4s;transition:left 0.4s}material-snackbar{display:block;position:fixed;bottom:10%;right:7%;z-index:1001}material-snackbar .toast{-webkit-border-radius:3px;-ms-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;border-radius:3px;top:0;width:auto;clear:both;margin-top:10px;position:relative;height:40px;line-height:40px;background-color:#25313b;padding:0 25px;font-size:1.1rem;font-weight:300;color:#fff;z-index:1001;-webkit-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-ms-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-moz-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-o-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-flex-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-webkit-justify-content:space-between;-ms-justify-content:space-between;-moz-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between;transform:translateY(0px);opacity:1;-webkit-transition:transform .2s ease-in,opacity .2s;-ms-transition:transform .2s ease-in,opacity .2s;-moz-transition:transform .2s ease-in,opacity .2s;-o-transition:transform .2s ease-in,opacity .2s;transition:transform .2s ease-in,opacity .2s}material-snackbar .toast.opening{transform:translateY(-15px);opacity:0;-webkit-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-ms-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-moz-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-o-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s}material-snackbar .toast.error{background-color:#ab173e}material-dropdown-list{position:absolute;z-index:100;width:100%}material-dropdown-list ul.dropdown-content{list-style:none;z-index:100;background-color:#fff;margin:0;padding:0;min-width:100px;max-height:650px;overflow-y:auto;will-change:width, height;-webkit-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-ms-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-moz-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-o-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);transform:translateY(0px);opacity:1;-webkit-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-ms-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-moz-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-o-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s}material-dropdown-list ul.dropdown-content.opening{transform:translateY(-50px);opacity:0;-webkit-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-ms-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-moz-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-o-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s}material-dropdown-list ul.dropdown-content li{clear:both;cursor:pointer;line-height:1.5rem;width:100%;text-align:left;text-transform:none;background-color:#fff;-webkit-transition:background-color .2s ease-in;-ms-transition:background-color .2s ease-in;-moz-transition:background-color .2s ease-in;-o-transition:background-color .2s ease-in;transition:background-color .2s ease-in}material-dropdown-list ul.dropdown-content li span,material-dropdown-list ul.dropdown-content li a{font-size:1.2rem;color:#25313b;display:block;padding:1rem 1rem}material-dropdown-list ul.dropdown-content li:hover{background-color:#ededed;-webkit-transition:background-color .2s ease-out;-ms-transition:background-color .2s ease-out;-moz-transition:background-color .2s ease-out;-o-transition:background-color .2s ease-out;transition:background-color .2s ease-out}material-dropdown-list ul.dropdown-content li a{text-decoration:none;color:#25313b}material-dropdown-list ul.dropdown-content li.selected{background-color:#394b5a;-webkit-transition:background-color .2s ease-out;-ms-transition:background-color .2s ease-out;-moz-transition:background-color .2s ease-out;-o-transition:background-color .2s ease-out;transition:background-color .2s ease-out}material-dropdown-list ul.dropdown-content li.selected span{color:#fff}.material-dropdown-list-overlay{z-index:99;width:100%;height:100%;top:0;left:0;position:fixed;background:rgba(0,0,0,0)}material-popup .popup{z-index:100;position:fixed;left:0;top:25%;right:0;width:50%;min-width:300px;margin:auto;height:-webkit-fit-content;height:-ms-fit-content;height:-moz-fit-content;height:-o-fit-content;height:fit-content;background-color:#fff;overflow-y:auto;will-change:width, height;-webkit-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-ms-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-moz-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-o-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);transform:translateY(0px);opacity:1;-webkit-transition:transform .2s ease-in,opacity .2s;-ms-transition:transform .2s ease-in,opacity .2s;-moz-transition:transform .2s ease-in,opacity .2s;-o-transition:transform .2s ease-in,opacity .2s;transition:transform .2s ease-in,opacity .2s}material-popup .popup.opening.top{transform:translateY(-50px);opacity:0;-webkit-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-ms-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-moz-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-o-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s}material-popup .popup.opening.bottom{transform:translateY(50px);opacity:0;-webkit-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-ms-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-moz-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-o-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s}material-popup .popup>.content{padding:10px;color:#25313b}material-popup .popup>.content .material-popup-title{padding:24px 24px 0;margin:0;font-size:2.5rem}material-popup .popup>.content .material-popup-content{padding:20px 24px 24px;margin:0}material-popup .popup>.content .material-popup-action{padding:8px 8px 8px 24px;margin:0;display:flex;flex-direction:row-reverse;flex-wrap:wrap}material-popup .popup>.content .material-popup-action>*{margin-right:8px}material-popup .popup>.content .material-popup-action>*:first-child{margin-right:0}material-popup .overlay{z-index:99;width:100%;height:100%;top:0;left:0;position:fixed;background:rgba(0,0,0,0.2)}material-input{display:block;padding:8px 0;position:relative}material-input .label-placeholder{height:15px;width:100%}material-input .input-content{font-size:16px;color:#17242e;position:relative}material-input .input-content label{position:absolute;top:0;right:0;left:0;font:inherit;color:#2f6975;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:16px;font-weight:400;line-height:24px;-webkit-transform:none;-ms-transform:none;-moz-transform:none;-o-transform:none;transform:none;-webkit-transition:transform .2s;-ms-transition:transform .2s;-moz-transition:transform .2s;-o-transition:transform .2s;transition:transform .2s;-webkit-transform-origin:left top;-ms-transform-origin:left top;-moz-transform-origin:left top;-o-transform-origin:left top;transform-origin:left top}material-input .input-content.not-empty label{-webkit-transform:translate3d(0, -70%, 0) scale(0.70);-ms-transform:translate3d(0, -70%, 0) scale(0.70);-moz-transform:translate3d(0, -70%, 0) scale(0.70);-o-transform:translate3d(0, -70%, 0) scale(0.70);transform:translate3d(0, -70%, 0) scale(0.70);-webkit-transition:transform .2s;-ms-transition:transform .2s;-moz-transition:transform .2s;-o-transition:transform .2s;transition:transform .2s;-webkit-transform-origin:left top;-ms-transform-origin:left top;-moz-transform-origin:left top;-o-transform-origin:left top;transform-origin:left top}material-input .input-content input{position:relative;outline:none;box-shadow:none;padding:0;width:100%;background:transparent;border:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-weight:400;line-height:24px;height:24px}material-input .input-content .iconWrapper{display:inline-block;position:absolute;top:0;left:0;bottom:0;right:0;width:40px;height:40px;margin-left:-33px;left:100%;margin-top:-7px}material-input .input-content .iconWrapper material-button{background:transparent}material-input .input-content .iconWrapper material-button .content .material-icons{color:#2f6975}material-input .underline{position:relative;display:block}material-input .underline .unfocused-line{height:1px;background:#2f6975}material-input .underline .focused-line{height:2px;background:#2f6975;-webkit-transform:scale3d(0, 1, 1);-ms-transform:scale3d(0, 1, 1);-moz-transform:scale3d(0, 1, 1);-o-transform:scale3d(0, 1, 1);transform:scale3d(0, 1, 1);-webkit-transition:transform .2s ease-in;-ms-transition:transform .2s ease-in;-moz-transition:transform .2s ease-in;-o-transition:transform .2s ease-in;transition:transform .2s ease-in}material-input .underline.focused .focused-line{-webkit-transform:none;-ms-transform:none;-moz-transform:none;-o-transform:none;transform:none;-webkit-transition:transform .2s ease-out;-ms-transition:transform .2s ease-out;-moz-transition:transform .2s ease-out;-o-transition:transform .2s ease-out;transition:transform .2s ease-out}material-input .underline.error .unfocused-line,material-input .underline.error .focused-line{background:#941212;-webkit-transition:background .2s ease-out;-ms-transition:background .2s ease-out;-moz-transition:background .2s ease-out;-o-transition:background .2s ease-out;transition:background .2s ease-out}material-input[disabled="true"] label{color:#ccc}material-input[disabled="true"] .underline .unfocused-line{background:#ccc}@font-face{font-family:'Roboto';font-style:normal;font-weight:300;font-display:swap;src:url(fonts/Roboto-Regular.eot);src:local("Roboto Light"),local("Roboto-Light"),url(fonts/Roboto-Light.woff2) format("woff2"),url(fonts/Roboto-Light.woff) format("woff"),url(fonts/Roboto-Light.ttf) format("truetype")}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/Roboto-Regular.eot);src:local("Roboto Regular"),local("Roboto-Regular"),url(fonts/Roboto-Regular.woff2) format("woff2"),url(fonts/Roboto-Regular.woff) format("woff"),url(fonts/Roboto-Regular.ttf) format("truetype")}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/Roboto-Regular.eot);src:local("Roboto Bold"),local("Roboto-Bold"),url(fonts/Roboto-Bold.woff2) format("woff2"),url(fonts/Roboto-Bold.woff) format("woff"),url(fonts/Roboto-Bold.ttf) format("truetype")}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/RobotoMono-Regular.eot);src:local("Roboto Mono Regular"),local("RobotoMono-Regular"),local("Roboto-Mono-Regular"),url(fonts/RobotoMono-Regular.woff2) format("woff2"),url(fonts/RobotoMono-Regular.woff) format("woff"),url(fonts/RobotoMono-Regular.ttf) format("truetype")}@font-face{font-family:'Material Icons';font-style:normal;font-weight:400;src:url(fonts/MaterialIcons-Regular.eot);src:local("Material Icons"),local("MaterialIcons-Regular"),url(fonts/MaterialIcons-Regular.woff2) format("woff2"),url(fonts/MaterialIcons-Regular.woff) format("woff"),url(fonts/MaterialIcons-Regular.ttf) format("truetype")}material-button .content i.material-icons,material-button[rounded=true] .content i.material-icons,i.material-icons{font-family:'Material Icons';font-weight:normal;font-style:normal;font-size:24px;display:inline-block;width:1em;height:1em;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:'liga'}material-button .content i.material-icons,material-button[rounded=true] .content i.material-icons{margin:auto}html>body{font-family:'Roboto', 'Helvetica', 'Arial', sans-serif !important}html,body{margin:0;height:100%}.section-centerd{margin:auto}.full-table{width:100%;border:none}.url{font-size:14px;word-break:break-all}.material-card-title-action a{color:inherit;text-decoration:none;font-weight:inherit}material-card,material-tabs,pagination .conatianer{max-width:95%;margin:auto;margin-top:20px;margin-bottom:20px}pagination .conatianer{display:flex;display:-moz-flex;display:-webkit-flex;display:-ms-flexbox}pagination .conatianer .pagination-centered{margin:auto}@media screen and (min-width: 1515px){material-card,material-tabs,pagination .conatianer{max-width:1440px}}material-tabs{display:block;-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);-ms-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);-moz-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);-o-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)}material-tabs material-button,material-tabs material-button .content .text{background-color:#fff;color:#aaa;text-transform:none}material-tabs .line-wrapper .line{background-color:#25313b}material-tabs material-button.selected .content .text{color:#25313b}material-spinner{align-self:center}.spinner-wrapper{margin-top:50px;display:flex;flex-direction:column}material-navbar{height:64px}material-navbar nav-wrapper{display:flex}.logo{padding:0 16px 0 72px;text-decoration:none;font-size:20px;line-height:1;letter-spacing:.02em;font-weight:400}h2{padding:16px;margin:auto;font-size:24px;font-weight:300;line-height:normal;overflow:hidden}.material-card-title-action h2 .source-hint,.material-card-title-action h2 .item-count{font-size:0.7em;margin-left:1em}.list{display:block;padding:8px 0;list-style:none}.list.highlight:hover{background-color:#eee;cursor:pointer}.list>span,.list>li{box-sizing:border-box;line-height:1;height:48px;padding:0 16px;overflow:hidden}.list>span i.material-icons,.list>li i.material-icons{margin-right:32px;height:24px;width:24px;font-size:24px;box-sizing:border-box;color:#757575}.list>span .right i.material-icons.animated{transition:all 350ms cubic-bezier(0.4, 0, 0.2, 1);margin-right:10px}.list>span .right{position:absolute;align-self:end;display:flex;align-items:center;right:0}.list>span i.material-icons.animated.expanded{transform:rotate(180deg)}.list>span .item-count{font-size:0.75em}.list>span,.list>li>span{height:100%;text-decoration:none;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}material-card.list{margin-top:10px;margin-bottom:10px}.material-card-title-action{-webkit-align-items:center;-ms-flex-align:center;align-items:center;display:block;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:16px}.material-card-title-action h2{margin:0}material-card table{width:100%;border:none;position:relative;border:1px solid rgba(0,0,0,0.12);border-collapse:collapse;white-space:nowrap;font-size:13px;background-color:#fff;border:none}material-card table th{font-size:18px;vertical-align:bottom;line-height:24px;height:48px;color:rgba(0,0,0,0.54);box-sizing:border-box;padding:0 18px 12px 18px;text-align:right}.material-card-th-left{text-align:left}material-card material-button:hover,material-card table tbody tr:hover,pagination material-button:hover{background-color:#eee}material-card material-button,material-card table tbody tr,pagination material-button{transition-duration:.28s;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-property:background-color}material-card table tbody tr{position:relative;height:48px}material-card table td{font-size:16px;position:relative;height:48px;border-top:1px solid rgba(0,0,0,0.12);border-bottom:1px solid rgba(0,0,0,0.12);padding:12px 18px;box-sizing:border-box;vertical-align:middle;text-align:right}tag-history-button button:hover,material-card table th.material-card-th-sorted-ascending:hover,material-card table th.material-card-th-sorted-descending:hover{cursor:pointer}material-card table th.material-card-th-sorted-ascending:hover:before,material-card table th.material-card-th-sorted-descending:hover:before{color:rgba(0,0,0,0.26)}material-card table th.material-card-th-sorted-ascending:before,material-card table th.material-card-th-sorted-descending:before{font-family:'Material Icons';font-weight:400;font-style:normal;line-height:1;font-size:16px;content:"\e5d8";margin-right:5px;vertical-align:sub}material-card table th.material-card-th-sorted-descending:before{content:"\e5db"}material-button .content i.material-icons,.material-icons{color:#777}material-button[disabled] .content i.material-icons,material-checkbox[disabled] .content i.material-icons{color:#bbb}material-snackbar .toast{height:auto}material-popup material-button,pagination material-button{background-color:#fff;color:#000}material-popup material-button:hover material-waves{background-color:rgba(191,191,191,0.2)}material-popup .popup{max-width:450px;top:2em}footer{width:100%;z-index:75;bottom:0}main{min-height:calc(100% - 136px)}material-footer{padding:0.5em 1em}.copy-to-clipboard{padding-left:5px}#image-tag-header{padding-right:57px}image-tag,.copy-to-clipboard{display:inline-block}image-content-digest{display:none;font-family:'Roboto Mono', 'Roboto', 'Helvetica', 'Arial', sans-serif !important}@media screen and (min-width: 1024px){#image-content-digest-header{padding-right:57px}image-content-digest{display:inline-block}}.show-tag-history{width:30px;text-align:center}.remove-tag{padding:12px 5px;width:66px;text-align:center}.remove-tag.delete{padding:7px 5px}taglist .creation-date{width:10em}taglist .image-size{width:7em}catalog material-card,tag-history material-card{min-height:auto}tag-history-element i{font-size:20px;padding:0px}tag-history-element.docker_version .headline .material-icons{background-size:24px auto;background-image:url("images/docker-logo.svg");background-repeat:no-repeat}tag-history-element{display:block;padding:20px;min-width:100px;min-height:3em;width:420px;float:left;overflow-x:auto}tag-history-element .headline p{font-weight:bold;line-height:20px;position:relative;display:inline;top:-4px}tag-history-element.id div.value{font-size:12px}tag-history-button button{background:none;border:none}material-card material-button,pagination material-button{max-height:30px;max-width:30px}material-button:hover material-waves{background:none}material-card material-button,pagination material-button{background-color:inherit}catalog-element material-card{z-index:2;position:relative}catalog-element catalog-element material-card{transition:all 350ms cubic-bezier(0.4, 0, 0.2, 1);z-index:1;position:relative}catalog-element catalog-element.showing material-card,catalog-element catalog-element.hide material-card{margin-top:-50px;opacity:0}catalog-element catalog-element>.content{margin-left:3em}@media screen and (min-width: 1515px){catalog-element catalog-element>.content material-card{max-width:calc(1440px - 3em)}}remove-image{width:30px}material-checkbox .label{display:none}taglist material-checkbox{margin:auto;width:18px}material-checkbox.indeterminate .checkbox .checkmark{border-bottom:none}material-checkbox.indeterminate .checkbox.checked .checkmark{transform:rotate(90deg) scale(1);-webkit-transform:rotate(90deg) scale(1);-ms-transform:rotate(90deg) scale(1);-moz-transform:rotate(90deg) scale(1);-o-transform:rotate(90deg) scale(1)}material-checkbox .checkbox{border-color:#777}material-checkbox .checkbox.checked{background-color:#777}pagination material-button{padding:0.2em 0.75em}pagination material-button .content{display:flex;align-content:center;line-height:1.9em}pagination material-button.current{border:1px solid rgba(0,0,0,0.12)}pagination material-button.current.space-left{margin-left:85px}pagination material-button.current.space-right{margin-right:85px}pagination material-button .content i.material-icons{color:#000} +material-navbar{display:block;color:#fff;-webkit-box-shadow:0 8px 17px 0 rgba(0, 0, 0, 0.12), 0 6px 20px 0 rgba(0, 0, 0, 0.14);-ms-box-shadow:0 8px 17px 0 rgba(0, 0, 0, 0.12), 0 6px 20px 0 rgba(0, 0, 0, 0.14);-moz-box-shadow:0 8px 17px 0 rgba(0, 0, 0, 0.12), 0 6px 20px 0 rgba(0, 0, 0, 0.14);-o-box-shadow:0 8px 17px 0 rgba(0, 0, 0, 0.12), 0 6px 20px 0 rgba(0, 0, 0, 0.14);box-shadow:0 8px 17px 0 rgba(0, 0, 0, 0.12), 0 6px 20px 0 rgba(0, 0, 0, 0.14);background-color:#25313b;width:100%;height:70px;line-height:70px}material-navbar:not(material-input){line-height:0px}material-navbar a{color:#fff}material-navbar .nav-wrapper{position:relative;height:100%}material-navbar .nav-wrapper .logo{line-height:66px}material-navbar[fixed]{position:relative;height:70px;z-index:998}material-footer{display:block;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:16px;color:#999;background-color:#555}material-footer a{color:inherit;text-decoration:none}material-footer ul{list-style:none;margin:0;padding:0}material-footer .material-footer-sections{display:-moz-flex;display:-webkit-flex;display:-ms-flexbox;display:flex;-moz-flex-flow:wrap;-webkit-flex-flow:wrap;flex-flow:wrap;padding-bottom:24px}material-footer .material-footer-sections ul{margin-right:16px}material-footer .mini-footer{display:block}@media screen and (min-width: 760px){material-footer .mini-footer{display:inline-flex}}material-footer .material-footer-section-header,material-footer .material-footer-logo{margin-bottom:16px;color:#fff;line-height:36px}@media screen and (min-width: 760px){material-footer .material-footer-logo{margin-bottom:0;margin-right:16px}}material-footer ul.material-footer-link-list{display:-moz-flex;display:-webkit-flex;display:-ms-flexbox;display:flex}material-footer ul.material-footer-link-list li{margin-bottom:0;margin-right:16px}@media screen and (min-width: 760px){material-footer ul.material-footer-link-list li{line-height:36px}}material-card{display:block;background-color:#fff;margin:0;overflow-y:auto;will-change:width, height;-webkit-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-ms-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-moz-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-o-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);transform:translateY(0px);opacity:1;-webkit-transition:transform .2s ease-in,opacity .2s;-ms-transition:transform .2s ease-in,opacity .2s;-moz-transition:transform .2s ease-in,opacity .2s;-o-transition:transform .2s ease-in,opacity .2s;transition:transform .2s ease-in,opacity .2s}material-card .title{padding:20px 10px;font-size:22px;color:#25313b;-webkit-box-shadow:0 2px 3px 0 rgba(0, 0, 0, 0.08), 0 2px 7px 0 rgba(0, 0, 0, 0.02);-ms-box-shadow:0 2px 3px 0 rgba(0, 0, 0, 0.08), 0 2px 7px 0 rgba(0, 0, 0, 0.02);-moz-box-shadow:0 2px 3px 0 rgba(0, 0, 0, 0.08), 0 2px 7px 0 rgba(0, 0, 0, 0.02);-o-box-shadow:0 2px 3px 0 rgba(0, 0, 0, 0.08), 0 2px 7px 0 rgba(0, 0, 0, 0.02);box-shadow:0 2px 3px 0 rgba(0, 0, 0, 0.08), 0 2px 7px 0 rgba(0, 0, 0, 0.02)}material-card .material-card-content{padding:20px}material-spinner{display:inline-block}material-spinner .loader-circular{-webkit-animation:loader-rotate 2s linear infinite;-ms-animation:loader-rotate 2s linear infinite;-moz-animation:loader-rotate 2s linear infinite;-o-animation:loader-rotate 2s linear infinite;animation:loader-rotate 2s linear infinite}material-spinner .loader-path{stroke-dasharray:1, 200;stroke-dashoffset:0;-webkit-animation:dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;stroke-linecap:round;stroke:#db652d}@-o-keyframes loader-rotate{from{-o-transform:rotate(0deg)}to{-o-transform:rotate(360deg)}}@-moz-keyframes loader-rotate{from{-moz-transform:rotate(0deg)}to{-moz-transform:rotate(360deg)}}@-webkit-keyframes loader-rotate{from{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@keyframes loader-rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@-webkit-keyframes dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35}100%{stroke-dasharray:89, 200;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35}100%{stroke-dasharray:89, 200;stroke-dashoffset:-124}}@-webkit-keyframes color{0%{stroke:#3f88f8}20%{stroke:#3f88f8}25%{stroke:#dd413b}45%{stroke:#dd413b}50%{stroke:#f6ae2e}70%{stroke:#f6ae2e}75%{stroke:#259a5d}95%{stroke:#259a5d}}@keyframes color{0%{stroke:#3f88f8}20%{stroke:#3f88f8}25%{stroke:#dd413b}45%{stroke:#dd413b}50%{stroke:#f6ae2e}70%{stroke:#f6ae2e}75%{stroke:#259a5d}95%{stroke:#259a5d}}material-button{border:none;border-radius:2px;display:inline-block;position:relative;height:40px;line-height:36px;background:#61bdcc;color:#fff;padding:0 2rem;cursor:pointer;text-transform:uppercase;vertical-align:middle;outline:0;-webkit-tap-highlight-color:transparent}material-button:hover material-waves{background:rgba(255,255,255,0.2);-webkit-transition:background .2s ease-in;-ms-transition:background .2s ease-in;-moz-transition:background .2s ease-in;-o-transition:background .2s ease-in;transition:background .2s ease-in}material-button material-waves{background:rgba(255,255,255,0);-webkit-transition:background .2s ease-in;-ms-transition:background .2s ease-in;-moz-transition:background .2s ease-in;-o-transition:background .2s ease-in;transition:background .2s ease-in}material-button .content{width:101%;height:100%;display:block;text-align:center}material-button .content .text,material-button .content i.material-icons,material-button .content i.icon,material-button .content a{display:inline-block;vertical-align:middle;font-size:18px;color:#fff;line-height:40px}material-button .content .text.material-icons,material-button .content i.material-icons.material-icons,material-button .content i.icon.material-icons,material-button .content a.material-icons{font-size:20px}material-button .content .text svg,material-button .content i.material-icons svg,material-button .content i.icon svg,material-button .content a svg{fill:#fff;stroke:#fff}material-button[rounded="true"]{border-radius:50%;width:40px;padding:0}material-button[rounded="true"] .content{width:100%;height:100%;display:flex;align-items:center;text-align:center}material-button[rounded="true"] .content i.material-icons,material-button[rounded="true"] .content i.icon{display:inline-block;text-align:center;width:100%;height:100%;-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}material-button[shady="true"]{-webkit-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-ms-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-moz-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-o-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);transition:box-shadow .2s}material-button[shady="true"]:hover{-webkit-box-shadow:0 2px 7px 0 rgba(0, 0, 0, 0.14), 0 2px 12px 0 rgba(0, 0, 0, 0.12);-ms-box-shadow:0 2px 7px 0 rgba(0, 0, 0, 0.14), 0 2px 12px 0 rgba(0, 0, 0, 0.12);-moz-box-shadow:0 2px 7px 0 rgba(0, 0, 0, 0.14), 0 2px 12px 0 rgba(0, 0, 0, 0.12);-o-box-shadow:0 2px 7px 0 rgba(0, 0, 0, 0.14), 0 2px 12px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 7px 0 rgba(0, 0, 0, 0.14), 0 2px 12px 0 rgba(0, 0, 0, 0.12);transition:box-shadow .2s}material-button[disabled="true"]{background:#ccc;color:#999;cursor:default}material-button[disabled="true"] #content .text,material-button[disabled="true"] #content i.material-icons,material-button[disabled="true"] #content i.icon,material-button[disabled="true"] #content a{color:#999}material-button[disabled="true"] #content .text svg,material-button[disabled="true"] #content i.material-icons svg,material-button[disabled="true"] #content i.icon svg,material-button[disabled="true"] #content a svg{fill:#999;stroke:#999}material-button[disabled="true"]:hover material-waves{background:transparent}material-waves{display:block;width:100%;height:100%;position:absolute;left:0;top:0;overflow:hidden}material-waves #waves{display:block;width:100%;height:100%;position:relative;overflow:hidden;-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none;vertical-align:middle;-webkit-transform:rotate(0deg);z-index:1}material-waves #waves .wave{position:absolute;-webkit-border-radius:50%;-ms-border-radius:50%;-moz-border-radius:50%;-o-border-radius:50%;border-radius:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;z-index:0;opacity:0;-webkit-transform:scale(0);-ms-transform:scale(0);-moz-transform:scale(0);-o-transform:scale(0);transform:scale(0);-webkit-transition-property:transform,opacity;-ms-transition-property:transform,opacity;-moz-transition-property:transform,opacity;-o-transition-property:transform,opacity;transition-property:transform,opacity;pointer-events:none}material-waves[rounded="true"]{border-radius:50%}material-waves[rounded="true"] #waves{border-radius:50%}material-checkbox{background-color:transparent;display:block;position:relative;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);-moz-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}material-checkbox .checkbox{display:inline-block;position:relative;box-sizing:border-box;height:100%;border:solid 2px;border-color:#25313b;background-color:transparent;border-radius:2px;width:18px;height:18px;cursor:pointer;vertical-align:middle;-webkit-transition:background-color 140ms, border-color 140ms;-ms-transition:background-color 140ms, border-color 140ms;-moz-transition:background-color 140ms, border-color 140ms;-o-transition:background-color 140ms, border-color 140ms;transition:background-color 140ms, border-color 140ms}material-checkbox .checkbox .checkmark{-webkit-transform:rotate(0deg) scale(0.5);-ms-transform:rotate(0deg) scale(0.5);-moz-transform:rotate(0deg) scale(0.5);-o-transform:rotate(0deg) scale(0.5);transform:rotate(0deg) scale(0.5);position:absolute;top:-1px;left:3px;width:6px;height:10px;border-style:solid;border-top:none;border-left:none;border-right-width:2px;border-bottom-width:2px;border-color:transparent;cursor:pointer}material-checkbox .checkbox.checked{background-color:#25313b;-webkit-transition:background-color 140ms, border-color 140ms, transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);-ms-transition:background-color 140ms, border-color 140ms, transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);-moz-transition:background-color 140ms, border-color 140ms, transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);-o-transition:background-color 140ms, border-color 140ms, transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);transition:background-color 140ms, border-color 140ms, transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1)}material-checkbox .checkbox.checked .checkmark{border-color:#fff;-webkit-transform:rotate(45deg) scale(1);-ms-transform:rotate(45deg) scale(1);-moz-transform:rotate(45deg) scale(1);-o-transform:rotate(45deg) scale(1);transform:rotate(45deg) scale(1);-webkit-transition:background-color 140ms, border-color 140ms,transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);-ms-transition:background-color 140ms, border-color 140ms,transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);-moz-transition:background-color 140ms, border-color 140ms,transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);-o-transition:background-color 140ms, border-color 140ms,transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);transition:background-color 140ms, border-color 140ms,transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1)}material-checkbox .label{display:inline-block;color:#25313b;position:relative;display:inline-block;vertical-align:middle;padding-left:8px;white-space:normal;cursor:pointer}material-checkbox[disabled="true"] .checkbox{border-color:#ccc}material-checkbox[disabled="true"] .label{color:#ccc}material-tabs{display:inline-block;line-height:0;position:relative;width:100%}material-tabs material-button{background:#070731;border-radius:0px;text-align:center;padding:0px}material-tabs material-button .content{position:relative}material-tabs material-button .content .text{font-size:16px}material-tabs material-button.selected .content .text{color:#61bdcc;-webkit-transition:color 0.3s;-ms-transition:color 0.3s;-moz-transition:color 0.3s;-o-transition:color 0.3s;transition:color 0.3s}material-tabs .line-wrapper{width:100%;height:3px;background:#c2c7b6;position:relative}material-tabs .line-wrapper .line{height:100%;background:#61bdcc;position:absolute;-webkit-transition:left 0.4s;-ms-transition:left 0.4s;-moz-transition:left 0.4s;-o-transition:left 0.4s;transition:left 0.4s}material-snackbar{display:block;position:fixed;bottom:10%;right:7%;z-index:1001}material-snackbar .toast{-webkit-border-radius:3px;-ms-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;border-radius:3px;top:0;width:auto;clear:both;margin-top:10px;position:relative;height:40px;line-height:40px;background-color:#25313b;padding:0 25px;font-size:1.1rem;font-weight:300;color:#fff;z-index:1001;-webkit-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-ms-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-moz-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-o-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-flex-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-webkit-justify-content:space-between;-ms-justify-content:space-between;-moz-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between;transform:translateY(0px);opacity:1;-webkit-transition:transform .2s ease-in,opacity .2s;-ms-transition:transform .2s ease-in,opacity .2s;-moz-transition:transform .2s ease-in,opacity .2s;-o-transition:transform .2s ease-in,opacity .2s;transition:transform .2s ease-in,opacity .2s}material-snackbar .toast.opening{transform:translateY(-15px);opacity:0;-webkit-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-ms-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-moz-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-o-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s}material-snackbar .toast.error{background-color:#ab173e}material-dropdown-list{position:absolute;z-index:100;width:100%}material-dropdown-list ul.dropdown-content{list-style:none;z-index:100;background-color:#fff;margin:0;padding:0;min-width:100px;max-height:650px;overflow-y:auto;will-change:width, height;-webkit-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-ms-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-moz-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-o-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);transform:translateY(0px);opacity:1;-webkit-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-ms-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-moz-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-o-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s}material-dropdown-list ul.dropdown-content.opening{transform:translateY(-50px);opacity:0;-webkit-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-ms-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-moz-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-o-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s}material-dropdown-list ul.dropdown-content li{clear:both;cursor:pointer;line-height:1.5rem;width:100%;text-align:left;text-transform:none;background-color:#fff;-webkit-transition:background-color .2s ease-in;-ms-transition:background-color .2s ease-in;-moz-transition:background-color .2s ease-in;-o-transition:background-color .2s ease-in;transition:background-color .2s ease-in}material-dropdown-list ul.dropdown-content li span,material-dropdown-list ul.dropdown-content li a{font-size:1.2rem;color:#25313b;display:block;padding:1rem 1rem}material-dropdown-list ul.dropdown-content li:hover{background-color:#ededed;-webkit-transition:background-color .2s ease-out;-ms-transition:background-color .2s ease-out;-moz-transition:background-color .2s ease-out;-o-transition:background-color .2s ease-out;transition:background-color .2s ease-out}material-dropdown-list ul.dropdown-content li a{text-decoration:none;color:#25313b}material-dropdown-list ul.dropdown-content li.selected{background-color:#394b5a;-webkit-transition:background-color .2s ease-out;-ms-transition:background-color .2s ease-out;-moz-transition:background-color .2s ease-out;-o-transition:background-color .2s ease-out;transition:background-color .2s ease-out}material-dropdown-list ul.dropdown-content li.selected span{color:#fff}.material-dropdown-list-overlay{z-index:99;width:100%;height:100%;top:0;left:0;position:fixed;background:rgba(0,0,0,0)}material-popup .container{position:absolute;width:100%;height:100%;left:0;top:0}material-popup .popup{z-index:100;position:relative;left:0;top:25%;right:0;width:50%;min-width:300px;margin:auto;height:-webkit-fit-content;height:-ms-fit-content;height:-moz-fit-content;height:-o-fit-content;height:fit-content;background-color:#fff;overflow-y:auto;will-change:width, height;-webkit-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-ms-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-moz-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-o-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);transform:translateY(0px);opacity:1;-webkit-transition:transform .2s ease-in,opacity .2s;-ms-transition:transform .2s ease-in,opacity .2s;-moz-transition:transform .2s ease-in,opacity .2s;-o-transition:transform .2s ease-in,opacity .2s;transition:transform .2s ease-in,opacity .2s}material-popup .popup.opening.top{transform:translateY(-50px);opacity:0;-webkit-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-ms-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-moz-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-o-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s}material-popup .popup.opening.bottom{transform:translateY(50px);opacity:0;-webkit-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-ms-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-moz-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-o-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s}material-popup .popup>.content{padding:10px;color:#25313b}material-popup .popup>.content .material-popup-title{padding:24px 24px 0;margin:0;font-size:2.5rem}material-popup .popup>.content .material-popup-content{padding:20px 24px 24px;margin:0}material-popup .popup>.content .material-popup-action{padding:8px 8px 8px 24px;margin:0;display:flex;flex-direction:row-reverse;flex-wrap:wrap}material-popup .popup>.content .material-popup-action>*{margin-right:8px}material-popup .popup>.content .material-popup-action>*:first-child{margin-right:0}material-popup .overlay{z-index:99;width:100%;height:100%;top:0;left:0;position:fixed;background:rgba(0,0,0,0.2)}material-input{display:block;padding:8px 0;position:relative}material-input .label-placeholder{height:15px;width:100%}material-input .input-content{font-size:16px;color:#17242e;position:relative}material-input .input-content label{position:absolute;top:0;right:0;left:0;font:inherit;color:#2f6975;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:16px;font-weight:400;line-height:24px;-webkit-transform:none;-ms-transform:none;-moz-transform:none;-o-transform:none;transform:none;-webkit-transition:transform .2s;-ms-transition:transform .2s;-moz-transition:transform .2s;-o-transition:transform .2s;transition:transform .2s;-webkit-transform-origin:left top;-ms-transform-origin:left top;-moz-transform-origin:left top;-o-transform-origin:left top;transform-origin:left top}material-input .input-content.not-empty label{-webkit-transform:translate3d(0, -70%, 0) scale(0.70);-ms-transform:translate3d(0, -70%, 0) scale(0.70);-moz-transform:translate3d(0, -70%, 0) scale(0.70);-o-transform:translate3d(0, -70%, 0) scale(0.70);transform:translate3d(0, -70%, 0) scale(0.70);-webkit-transition:transform .2s;-ms-transition:transform .2s;-moz-transition:transform .2s;-o-transition:transform .2s;transition:transform .2s;-webkit-transform-origin:left top;-ms-transform-origin:left top;-moz-transform-origin:left top;-o-transform-origin:left top;transform-origin:left top}material-input .input-content input{position:relative;outline:none;box-shadow:none;padding:0;width:100%;background:transparent;border:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-weight:400;line-height:24px;height:24px}material-input .input-content .iconWrapper{display:inline-block;position:absolute;top:0;left:0;bottom:0;right:0;width:40px;height:40px;margin-left:-33px;left:100%;margin-top:-7px}material-input .input-content .iconWrapper material-button{background:transparent}material-input .input-content .iconWrapper material-button .content .material-icons{color:#2f6975}material-input .underline{position:relative;display:block}material-input .underline .unfocused-line{height:1px;background:#2f6975}material-input .underline .focused-line{height:2px;background:#2f6975;-webkit-transform:scale3d(0, 1, 1);-ms-transform:scale3d(0, 1, 1);-moz-transform:scale3d(0, 1, 1);-o-transform:scale3d(0, 1, 1);transform:scale3d(0, 1, 1);-webkit-transition:transform .2s ease-in;-ms-transition:transform .2s ease-in;-moz-transition:transform .2s ease-in;-o-transition:transform .2s ease-in;transition:transform .2s ease-in}material-input .underline.focused .focused-line{-webkit-transform:none;-ms-transform:none;-moz-transform:none;-o-transform:none;transform:none;-webkit-transition:transform .2s ease-out;-ms-transition:transform .2s ease-out;-moz-transition:transform .2s ease-out;-o-transition:transform .2s ease-out;transition:transform .2s ease-out}material-input .underline.error .unfocused-line,material-input .underline.error .focused-line{background:#941212;-webkit-transition:background .2s ease-out;-ms-transition:background .2s ease-out;-moz-transition:background .2s ease-out;-o-transition:background .2s ease-out;transition:background .2s ease-out}material-input[disabled="true"] label{color:#ccc}material-input[disabled="true"] .underline .unfocused-line{background:#ccc}@font-face{font-family:'Roboto';font-style:normal;font-weight:300;font-display:swap;src:url(fonts/Roboto-Regular.eot);src:local("Roboto Light"),local("Roboto-Light"),url(fonts/Roboto-Light.woff2) format("woff2"),url(fonts/Roboto-Light.woff) format("woff"),url(fonts/Roboto-Light.ttf) format("truetype")}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/Roboto-Regular.eot);src:local("Roboto Regular"),local("Roboto-Regular"),url(fonts/Roboto-Regular.woff2) format("woff2"),url(fonts/Roboto-Regular.woff) format("woff"),url(fonts/Roboto-Regular.ttf) format("truetype")}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/Roboto-Regular.eot);src:local("Roboto Bold"),local("Roboto-Bold"),url(fonts/Roboto-Bold.woff2) format("woff2"),url(fonts/Roboto-Bold.woff) format("woff"),url(fonts/Roboto-Bold.ttf) format("truetype")}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/RobotoMono-Regular.eot);src:local("Roboto Mono Regular"),local("RobotoMono-Regular"),local("Roboto-Mono-Regular"),url(fonts/RobotoMono-Regular.woff2) format("woff2"),url(fonts/RobotoMono-Regular.woff) format("woff"),url(fonts/RobotoMono-Regular.ttf) format("truetype")}@font-face{font-family:'Material Icons';font-style:normal;font-weight:400;src:url(fonts/MaterialIcons-Regular.eot);src:local("Material Icons"),local("MaterialIcons-Regular"),url(fonts/MaterialIcons-Regular.woff2) format("woff2"),url(fonts/MaterialIcons-Regular.woff) format("woff"),url(fonts/MaterialIcons-Regular.ttf) format("truetype")}material-button .content i.material-icons,material-button[rounded=true] .content i.material-icons,i.material-icons{font-family:'Material Icons';font-weight:normal;font-style:normal;font-size:24px;display:inline-block;width:1em;height:1em;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:'liga'}material-button .content i.material-icons,material-button[rounded=true] .content i.material-icons{margin:auto}html>body{font-family:'Roboto', 'Helvetica', 'Arial', sans-serif !important}html,body{margin:0;height:100%}.section-centerd{margin:auto}.full-table{width:100%;border:none}.url{font-size:14px;word-break:break-all}.material-card-title-action a{color:inherit;text-decoration:none;font-weight:inherit}material-card,material-tabs,pagination .conatianer{max-width:95%;margin:auto;margin-top:20px;margin-bottom:20px}pagination .conatianer{display:flex;display:-moz-flex;display:-webkit-flex;display:-ms-flexbox}pagination .conatianer .pagination-centered{margin:auto}@media screen and (min-width: 1515px){material-card,material-tabs,pagination .conatianer{max-width:1440px}}material-tabs{display:block;-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);-ms-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);-moz-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);-o-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)}material-tabs material-button,material-tabs material-button .content .text{background-color:#fff;color:#aaa;text-transform:none}material-tabs .line-wrapper .line{background-color:#25313b}material-tabs material-button.selected .content .text{color:#25313b}material-spinner{align-self:center}.spinner-wrapper{margin-top:50px;display:flex;flex-direction:column}material-navbar{height:64px}material-navbar nav-wrapper{display:flex}.logo{padding:0 16px 0 72px;text-decoration:none;font-size:20px;line-height:1;letter-spacing:.02em;font-weight:400}h2{padding:16px;margin:auto;font-size:24px;font-weight:300;line-height:normal;overflow:hidden}.material-card-title-action h2 .source-hint,.material-card-title-action h2 .item-count{font-size:0.7em;margin-left:1em}.list{display:block;padding:8px 0;list-style:none}.list.highlight:hover{background-color:#eee;cursor:pointer}.list>span,.list>li{box-sizing:border-box;line-height:1;height:48px;padding:0 16px;overflow:hidden}.list>span i.material-icons,.list>li i.material-icons{margin-right:32px;height:24px;width:24px;font-size:24px;box-sizing:border-box;color:#757575}.list>span .right i.material-icons.animated{transition:all 350ms cubic-bezier(0.4, 0, 0.2, 1);margin-right:10px}.list>span .right{position:absolute;align-self:end;display:flex;align-items:center;right:0}.list>span i.material-icons.animated.expanded{transform:rotate(180deg)}.list>span .item-count{font-size:0.75em}.list>span,.list>li>span{height:100%;text-decoration:none;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}material-card.list{margin-top:10px;margin-bottom:10px}.material-card-title-action{-webkit-align-items:center;-ms-flex-align:center;align-items:center;display:block;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:16px}.material-card-title-action h2{margin:0}material-card table{width:100%;border:none;position:relative;border:1px solid rgba(0,0,0,0.12);border-collapse:collapse;white-space:nowrap;font-size:13px;background-color:#fff;border:none}material-card table th{font-size:18px;vertical-align:bottom;line-height:24px;height:48px;color:rgba(0,0,0,0.54);box-sizing:border-box;padding:0 18px 12px 18px;text-align:right}.material-card-th-left{text-align:left}material-card material-button:hover,material-card table tbody tr:hover,pagination material-button:hover{background-color:#eee}material-card material-button,material-card table tbody tr,pagination material-button{transition-duration:.28s;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-property:background-color}material-card table tbody tr{position:relative;height:48px}material-card table td{font-size:16px;position:relative;height:48px;border-top:1px solid rgba(0,0,0,0.12);border-bottom:1px solid rgba(0,0,0,0.12);padding:12px 18px;box-sizing:border-box;vertical-align:middle;text-align:right}tag-history-button button:hover,material-card table th.material-card-th-sorted-ascending:hover,material-card table th.material-card-th-sorted-descending:hover{cursor:pointer}material-card table th.material-card-th-sorted-ascending:hover:before,material-card table th.material-card-th-sorted-descending:hover:before{color:rgba(0,0,0,0.26)}material-card table th.material-card-th-sorted-ascending:before,material-card table th.material-card-th-sorted-descending:before{font-family:'Material Icons';font-weight:400;font-style:normal;line-height:1;font-size:16px;content:"\e5d8";margin-right:5px;vertical-align:sub}material-card table th.material-card-th-sorted-descending:before{content:"\e5db"}material-button .content i.material-icons,.material-icons{color:#777}material-button[disabled] .content i.material-icons,material-checkbox[disabled] .content i.material-icons{color:#bbb}material-snackbar .toast{height:auto}material-popup material-button,pagination material-button{background-color:#fff;color:#000}material-popup material-button:hover material-waves{background-color:rgba(191,191,191,0.2)}material-popup .popup{max-width:450px;top:2em}footer{width:100%;z-index:75;bottom:0}main{min-height:calc(100% - 136px)}material-footer{padding:0.5em 1em}.copy-to-clipboard{padding-left:5px}#image-tag-header{padding-right:57px}image-tag,.copy-to-clipboard{display:inline-block}image-content-digest{display:none;font-family:'Roboto Mono', 'Roboto', 'Helvetica', 'Arial', sans-serif !important}@media screen and (min-width: 1024px){#image-content-digest-header{padding-right:57px}image-content-digest{display:inline-block}}.show-tag-history{width:30px;text-align:center}.remove-tag{padding:12px 5px;width:66px;text-align:center}.remove-tag.delete{padding:7px 5px}taglist .creation-date{width:10em}taglist .image-size{width:7em}catalog material-card,tag-history material-card{min-height:auto}tag-history-element i{font-size:20px;padding:0px}tag-history-element.docker_version .headline .material-icons{background-size:24px auto;background-image:url("images/docker-logo.svg");background-repeat:no-repeat}tag-history-element{display:block;padding:20px;min-width:100px;min-height:3em;width:420px;float:left;overflow-x:auto}tag-history-element .headline p{font-weight:bold;line-height:20px;position:relative;display:inline;top:-4px}tag-history-element.id div.value{font-size:12px}tag-history-button button{background:none;border:none}material-card material-button,pagination material-button{max-height:30px;max-width:30px}material-button:hover material-waves{background:none}material-card material-button,pagination material-button{background-color:inherit}catalog-element material-card{z-index:2;position:relative}catalog-element catalog-element material-card{transition:all 350ms cubic-bezier(0.4, 0, 0.2, 1);z-index:1;position:relative}catalog-element catalog-element.showing material-card,catalog-element catalog-element.hide material-card{margin-top:-50px;opacity:0}catalog-element catalog-element>.content{margin-left:3em}@media screen and (min-width: 1515px){catalog-element catalog-element>.content material-card{max-width:calc(1440px - 3em)}}remove-image{width:30px}material-checkbox .label{display:none}taglist material-checkbox{margin:auto;width:18px}material-checkbox.indeterminate .checkbox .checkmark{border-bottom:none}material-checkbox.indeterminate .checkbox.checked .checkmark{transform:rotate(90deg) scale(1);-webkit-transform:rotate(90deg) scale(1);-ms-transform:rotate(90deg) scale(1);-moz-transform:rotate(90deg) scale(1);-o-transform:rotate(90deg) scale(1)}material-checkbox .checkbox{border-color:#777}material-checkbox .checkbox.checked{background-color:#777}pagination material-button{padding:0.2em 0.75em}pagination material-button .content{display:flex;align-content:center;line-height:1.9em}pagination material-button.current{border:1px solid rgba(0,0,0,0.12)}pagination material-button.current.space-left{margin-left:85px}pagination material-button.current.space-right{margin-right:85px}pagination material-button .content i.material-icons{color:#000} diff --git a/dist/docker-registry-ui.js b/dist/docker-registry-ui.js index ad57505..4825172 100644 --- a/dist/docker-registry-ui.js +++ b/dist/docker-registry-ui.js @@ -16,5 +16,5 @@ * * @license AGPL */ -!function(){"use strict";function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nm-p)for(var y=n(e[l],0);p'.concat(e,""),"application/xml").documentElement,!0)}(t,e):function(e,t){var n=oe(t)?t:document.createElement("template");return n.innerHTML=e,n.content}(t,e)}function De(e,t){switch(!0){case ie(e):A(t,e);break;case oe(e):e.parentNode.replaceChild(t,e);break;default:e.appendChild(t)}}var Pe=Object.freeze({createDOM:function(e){return this.dom=this.dom||function(e,t){return t&&("string"==typeof t?je(e,t):t)}(e,this.html),this},mount:function(e,t,n,r){var a=this;if(void 0===r&&(r={}),!e)throw new Error("Please provide DOM node to mount properly your template");this.el&&this.unmount(t);var i=r,o=i.fragment,s=i.children,u=i.avoidDOMInjection,l=(s?s[0]:e).parentNode,p=oe(e),c=p?Math.max(Array.from(l.childNodes).indexOf(e),0):null;return this.isTemplateTag=p,this.createDOM(e),this.dom&&(this.fragment=o||this.dom.cloneNode(!0)),this.el=this.isTemplateTag?l:e,this.children=this.isTemplateTag?s||Array.from(this.fragment.childNodes):null,!u&&this.fragment&&De(e,this.fragment),this.bindings=this.bindingsData.map((function(e){return Me(a.el,e,c)})),this.bindings.forEach((function(e){return e.mount(t,n)})),this.meta=r,this},update:function(e,t){return this.bindings.forEach((function(n){return n.update(e,t)})),this},unmount:function(e,t,n){if(this.el){switch(this.bindings.forEach((function(r){return r.unmount(e,t,n)})),!0){case this.el[$]:break;case this.children&&null!==n:w(this.children);break;case!0===n:C(this.el);break;case null!==n:w(this.el.childNodes)}this.el=null}return this},clone:function(){return Object.assign({},this,{meta:{},el:null})}});function Ge(e,t){return void 0===t&&(t=[]),Object.assign({},Pe,{html:e,bindingsData:t})}var Ve=Object.freeze({__proto__:null,template:Ge,createBinding:Me,createExpression:ke,bindingTypes:Q,expressionTypes:J});function Fe(){return this}function He(e){return se(e)?e.prototype&&e.prototype.constructor?new e:e():e}function ze(e,t,n,r){return void 0===r&&(r={}),Object.defineProperty(e,t,Object.assign({value:n,enumerable:!1,writable:!1,configurable:!0},r)),e}function $e(e,t,n){return Object.entries(t).forEach((function(t){var r=p(t,2),a=r[0],i=r[1];ze(e,a,i,n)})),e}function qe(e,t){return Object.entries(t).forEach((function(t){var n=p(t,2),r=n[0],a=n[1];e[r]||(e[r]=a)})),e}function Ke(e){return Array.isArray(e)?e:/^\[object (HTMLCollection|NodeList|Object)\]$/.test(Object.prototype.toString.call(e))&&"number"==typeof e.length?Array.from(e):[e]}function We(e,t){return Ke("string"==typeof e?(t||document).querySelectorAll(e):e)}var Xe=function(e){return 1===e.length?e[0]:e};function Ye(t,n,r){var i="object"===e(n)?n:a({},n,r),o=Object.keys(i);return Ke(t).forEach((function(e){o.forEach((function(t){return e.setAttribute(t,i[t])}))})),t}function Qe(e,t){return function(e,t,n){var r="string"==typeof t?[t]:t;return Xe(Ke(e).map((function(e){return Xe(r.map((function(t){return e[n](t)})))})))}(e,t,"getAttribute")}var Je,Ze=new Map,et=function(){return Je||(Ye(Je=We("style[riot]")[0]||document.createElement("style"),"type","text/css"),Je.parentNode||document.head.appendChild(Je),Je)},tt={CSS_BY_NAME:Ze,add:function(e,t){return Ze.has(e)||(Ze.set(e,t),this.inject()),this},inject:function(){return et().innerHTML=d(Ze.values()).join("\n"),this},remove:function(e){return Ze.has(e)&&(Ze.delete(e),this.inject()),this}};function nt(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{this.props.link&&(window.location.href=this.props.link),"function"==typeof e&&e(t)}},onWaveStart(e){"function"==typeof this.props.onWaveStart&&this.props.onWaveStart(e)},onWaveEnd(e){"function"==typeof this.props.onWaveEnd&&this.props.onWaveEnd(e)}},template:function(e,t,n,r){return e('
',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-waves"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"center",evaluate:function(e){return e.props.wavesCenter}},{type:t.ATTRIBUTE,name:"rounded",evaluate:function(e){return e.props.rounded}},{type:t.ATTRIBUTE,name:"opacity",evaluate:function(e){return e.props.wavesOpacity}},{type:t.ATTRIBUTE,name:"color",evaluate:function(e){return e.props.wavesColor}},{type:t.ATTRIBUTE,name:"duration",evaluate:function(e){return e.props.wavesDuration}},{type:t.EVENT,name:"onWaveStart",evaluate:function(e){return e.onWaveStart}},{type:t.EVENT,name:"onWaveEnd",evaluate:function(e){return e.onWaveEnd}}],redundantAttribute:"expr44",selector:"[expr44]"},{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr45",selector:"[expr45]"}])},name:"material-button"},Tt={css:null,exports:{state:{titleExist:!0},onMounted(e,t){const n=this.$(".title");n.children&&0!==n.children.length||this.update({titleExist:!1})}},template:function(e,t,n,r){return e('
',[{type:n.IF,evaluate:function(e){return e.state.titleExist},redundantAttribute:"expr50",selector:"[expr50]",template:e('',[{type:n.SLOT,attributes:[],name:"title",redundantAttribute:"expr51",selector:"[expr51]"}])},{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr52",selector:"[expr52]"}])},name:"material-card"},Et={css:null,exports:{onBeforeMount(e,t){t.checked=void 0!==e.checked?e.checked:t.checked},onBeforeUpdate(e,t){t.checked=void 0!==e.checked?e.checked:t.checked},onChange(e){"function"==typeof this.props.onChange&&this.props.onChange(!this.state.checked,e),this.update({checked:!this.state.checked})}},template:function(e,t,n,r){return e('
',[{redundantAttribute:"expr55",selector:"[expr55]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["checkbox ",e.state.checked?"checked":""].join("")}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.onChange}}]},{redundantAttribute:"expr56",selector:"[expr56]",expressions:[{type:t.EVENT,name:"onclick",evaluate:function(e){return e.onChange}}]},{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr57",selector:"[expr57]"},{redundantAttribute:"expr58",selector:"[expr58]",expressions:[{type:t.VALUE,evaluate:function(e){return e.state.checked}}]}])},name:"material-checkbox"},At={css:null,exports:{state:{opening:!1,opened:!1},onMounted(){this.state.opened=this.props.opened||!1,this.props.selected&&this.update({selected:props.selected})},onBeforeUpdate(e,t){e.opened!==t.opened&&(t.opening=!0)},onUpdated(e,t){t.opening&&setTimeout((()=>{this.update({opening:!1,opened:e.opened})}),e.opened?0:200)},select({item:e,key:t}){return this.update({selected:t}),"function"==typeof this.props.onSelect&&this.props.onSelect(t,e),!0}},template:function(e,t,n,r){return e('
    ',[{type:n.IF,evaluate:function(e){return e.state.opening||e.state.opened},redundantAttribute:"expr46",selector:"[expr46]",template:e('
  • ',[{expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["dropdown-content ",e.state.opening?"opening":""].join("")}}]},{type:n.EACH,getKey:null,condition:null,template:e('',[{expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return e.props.selected==e.key?"selected":""}}]},{type:n.IF,evaluate:function(e){return!e.item.link},redundantAttribute:"expr48",selector:"[expr48]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.item.title}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.select.bind(null,{item:e.item,key:e.key})}}]}])},{type:n.IF,evaluate:function(e){return e.item.link},redundantAttribute:"expr49",selector:"[expr49]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.item.title}},{type:t.ATTRIBUTE,name:"href",evaluate:function(e){return e.item.link}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.select(e.item)}},{type:t.ATTRIBUTE,name:"title",evaluate:function(e){return e.item.title}}]}])}]),redundantAttribute:"expr47",selector:"[expr47]",itemName:"item",indexName:"key",evaluate:function(e){return e.props.items}}])}])},name:"material-dropdown-list"},wt={css:null,exports:{onMounted(e,t){this.updateClasses()},onUpdated(e,t){this.updateClasses()},updateClasses(){const e=this.$(".mini-footer");for(let e=0;e0&&e.classList.add(`material-footer-${e.slot}`)}},template:function(e,t,n,r){return e('',[{type:n.SLOT,attributes:[],name:"sections",redundantAttribute:"expr59",selector:"[expr59]"},{type:n.SLOT,attributes:[],name:"logo",redundantAttribute:"expr60",selector:"[expr60]"},{type:n.SLOT,attributes:[],name:"link-list",redundantAttribute:"expr61",selector:"[expr61]"},{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr62",selector:"[expr62]"}])},name:"material-footer"},Ct=function(){function e(n){if(t(this,e),n||console.debug("Sorry, but for using validate mixin you should add an opts argument"),this.type=n.type,n.valid){if(this.validationType="function"==typeof this[n.valid]?"Function":"Regexp","Regexp"===this.validationType)try{this.validationRegexp=new RegExp(n.valid)}catch(e){throw new Error("Something wrong with your regular expression!. Checkout --- ".concat(e))}"Function"===this.validationType&&(this.validationFunction=this[n.valid]||!1)}else n&&-1!=Object.keys(this.base).indexOf(this.type)&&(this.validationType="Type")}return r(e,[{key:"base",get:function(){return{email:/^(([\w\.\-_]+)@[\w\-\_]+(\.\w+){1,}|)$/i,number:/^(\d+|)$/i,tel:/^((\+|\d)?([\d\-\(\)\#])|)+$/i,url:/([--:\w?@%&+~#=]*\.[a-z]{2,4}\/{0,2})((?:[?&](?:\w+)=(?:\w+))+|[--:\w?@%&+~#=]+)?/i}}},{key:"validate",value:function(e){return!this.validationType||this["validateBy"+this.validationType](e)}},{key:"validateByFunction",value:function(e){if(this.validationFunction)return this.validationFunction(e)}},{key:"validateByRegexp",value:function(e){if(this.validationRegexp)return this.validationRegexp.test(e)}},{key:"validateByType",value:function(e){return this.base[this.type].test(e)}}]),e}(),Nt={css:null,exports:{state:{focused:!1,showIcon:!1,value:"",disabled:!1,required:!1,error:!1},onMounted(){if(this.required="",this.notSupportedTypes=["date","color","datetime","month","range","time"],-1!=this.notSupportedTypes.indexOf(this.props.type))throw new Error(`Sorry but we do not support ${this.props.type} type yet!`);this.validator=new Ct(this.props),this.update({showIcon:!1,value:this.props.value||"",disabled:""===this.props.disabled||this.props.disabled||!1,required:""===this.props.required||this.props.required||!1}),this.$("input").addEventListener("focus",this.changeFocus),this.$("input").addEventListener("blur",this.changeFocus)},onBeforeUpdate(e,t){this.state.error=0!==t.value.length&&!this.validator.validate(t.value)},changeFocus(e){if(this.disabled)return!1;this.update({focused:this.$("input")==document.activeElement}),this.props.focuschanged&&"function"==typeof this.props.focuschanged&&this.props.focuschanged(this.focused,e)},changeValue(e){this.update({value:this.$("input").value}),this.props.valuechanged&&"function"==typeof this.props.valuechanged&&this.props.valuechanged(this.$("input").value,e)},iconClickHandler(e){this.props.iconclicked&&"function"==typeof this.props.iconclicked&&this.props.iconclicked.call(this,e)}},template:function(e,t,n,r){return e('
    ',[{redundantAttribute:"expr63",selector:"[expr63]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["input-content ",e.state.value?"not-empty":null," ",e.state.error?"error":null].join("")}}]},{type:n.IF,evaluate:function(e){return e.props.label},redundantAttribute:"expr64",selector:"[expr64]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.props.label}}]}])},{redundantAttribute:"expr65",selector:"[expr65]",expressions:[{type:t.ATTRIBUTE,name:"type",evaluate:function(e){return e.props.type||"text"}},{type:t.ATTRIBUTE,name:"disabled",evaluate:function(e){return e.state.disabled}},{type:t.ATTRIBUTE,name:"placeholder",evaluate:function(e){return e.props.placeholder}},{type:t.EVENT,name:"onkeyup",evaluate:function(e){return e.changeValue}},{type:t.VALUE,evaluate:function(e){return e.state.value}},{type:t.ATTRIBUTE,name:"required",evaluate:function(e){return e.state.required}}]},{type:n.IF,evaluate:function(e){return e.props.icon},redundantAttribute:"expr66",selector:"[expr66]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'',bindings:[{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr68",selector:"[expr68]"}]}],attributes:[{type:t.ATTRIBUTE,name:"waves-color",evaluate:function(e){return e.props["waves-color"]||"#fff"}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.iconClickHandler}},{type:t.ATTRIBUTE,name:"waves-opacity",evaluate:function(e){return e.props["waves-opacity"]||"0.6"}},{type:t.ATTRIBUTE,name:"waves-duration",evaluate:function(e){return e.props["waves-duration"]||"600"}}],redundantAttribute:"expr67",selector:"[expr67]"}])},{redundantAttribute:"expr69",selector:"[expr69]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["underline ",e.state.focused?"focused":null," ",e.state.error?"error":null].join("")}}]}])},name:"material-input"},It={css:null,exports:{state:{transition:!1,opened:!1},onMounted(e,t){},onBeforeUpdate(e,t){t.opened!==e.opened&&(t.transition=!0,setTimeout((()=>{this.update({opened:e.opened,transition:!1})}),e.opened?0:200))},onUpdated(e,t){const n=this.$(".content");if(n)for(let e=0;e
    ',[{type:n.IF,evaluate:function(e){return e.props.opened||e.state.opened},redundantAttribute:"expr77",selector:"[expr77]",template:e('
    ',[{expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["popup ",e.state.transition?"opening":""," ",e.props.animation||"top"].join("")}}]},{type:n.SLOT,attributes:[],name:"title",redundantAttribute:"expr78",selector:"[expr78]"},{type:n.SLOT,attributes:[],name:"content",redundantAttribute:"expr79",selector:"[expr79]"},{type:n.SLOT,attributes:[],name:"action",redundantAttribute:"expr80",selector:"[expr80]"}])},{type:n.IF,evaluate:function(e){return e.props.opened||e.state.opened},redundantAttribute:"expr81",selector:"[expr81]",template:e(null,[{expressions:[{type:t.EVENT,name:"onclick",evaluate:function(e){return e.onClick}}]}])}])},name:"material-popup"},Rt={css:null,exports:{state:{toasts:{}},onBeforeUpdate(e,t){e.message&&!t.internal&&this.addToast({message:e.message,isError:e.isError},e.duration),t.internal=!1},addToast(e,t){var n=this.toastID=Math.random().toString(36).substring(7);this.state.toasts[n]=Object.assign(e,{opening:!0}),setTimeout((()=>{this.state.toasts[n].opening=!1,this.update({toasts:this.state.toasts,internal:!0})}),50),this.state.toasts[n].interval=setTimeout((()=>{this.removeToast(n)}),t||5e3)},removeToastByClick(e){return()=>{clearInterval(this.state.toasts[e].interval),this.removeToast(e)}},removeToast(e){this.state.toasts[e]&&(this.state.toasts[e].opening=!0,this.update({toasts:this.state.toasts,internal:!0}),setTimeout((()=>{delete this.state.toasts[e],this.update({toasts:this.state.toasts,internal:!0})}),200))}},template:function(e,t,n,r){return e('
    ',[{type:n.EACH,getKey:null,condition:null,template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.state.toasts[e.toastID].message].join("")}},{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["toast ",e.state.toasts[e.toastID].isError?"error":""," ",e.state.toasts[e.toastID].opening?"opening":""].join("")}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.removeToastByClick(e.toastID)}}]}]),redundantAttribute:"expr82",selector:"[expr82]",itemName:"toastID",indexName:null,evaluate:function(e){return Object.keys(e.state.toasts)}}])},name:"material-snackbar"},kt={css:null,exports:{state:{selected:0},onMounted(e,t){const n=this.$(".line");this.$$("material-button").forEach((e=>{e.style.width=(100/this.props.tabs.length).toFixed(2)+"%",n&&(n.style.width=e.style.width)})),this.setLinePosition()},onTabChanged(e,t){this.update({selected:t}),this.setLinePosition(),"function"==typeof this.props.onTabChanged&&this.props.onTabChanged(this.props.tabs[t],t)},setLinePosition(){const e=this.$(".line");e&&(e.style.left=(100/this.props.tabs.length).toFixed(2)*this.state.selected+"%")},cut:e=>e.length>props.cut?e.substr(0,props.cut)+"...":e},template:function(e,t,n,r){return e('
    ',[{type:n.EACH,getKey:null,condition:null,template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'
    ',bindings:[{redundantAttribute:"expr86",selector:"[expr86]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.props.cut?e.cut(e.tab.title):e.tab.title}},{type:t.ATTRIBUTE,name:"title",evaluate:function(e){return e.tab.title}}]}]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return t=>e.onTabChanged(t,e.k)}},{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return e.state.selected==e.k?"selected":""}},{type:t.ATTRIBUTE,name:"waves-opacity",evaluate:function(e){return e.props.wavesOpacity}},{type:t.ATTRIBUTE,name:"waves-duration",evaluate:function(e){return e.props.wavesDuration}},{type:t.ATTRIBUTE,name:"waves-center",evaluate:function(e){return e.props.wavesCenter}},{type:t.ATTRIBUTE,name:"waves-color",evaluate:function(e){return e.props.wavesColor}}]}]),redundantAttribute:"expr85",selector:"[expr85]",itemName:"tab",indexName:"k",evaluate:function(e){return e.props.tabs}},{type:n.IF,evaluate:function(e){return e.props.useLine},redundantAttribute:"expr87",selector:"[expr87]",template:e('
    ',[])},{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr88",selector:"[expr88]"}])},name:"material-tabs"},Ut=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&o(e,t)}(p,e);var n,a,u=(n=p,a=s(),function(){var e,t=i(n);if(a){var r=i(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return l(this,e)});function p(e,n,r){var a;return t(this,p),a=u.call(this),e||console.error("You should set container to the wave!"),a.container=e,a.maxOpacity=n.opacity||.6,a.duration=n.duration||750,a.color=n.color||"#fff",a.center=n.center||!1,a.event=r,a.containerBound=a.receiveBound(),a.maxScale=a.containerBound.size/100*10,a.created=Date.now(),a.start={},a.createNode(),a.waveIn(),a}return r(p,[{key:"createNode",value:function(){this.wave=document.createElement("div"),this.wave.classList.add("wave"),this.container.appendChild(this.wave)}},{key:"waveIn",value:function(){var e=this;this.center&&!this.event&&console.error("Setup at least mouse event... Or just set center attribute"),this.start.x=this.center?this.containerBound.height/2:this.event.pageY-this.containerBound.offsetTop,this.start.y=this.center?this.containerBound.width/2:this.event.pageX-this.containerBound.offsetLeft;var t=-1!==window.navigator.userAgent.indexOf("Trident");setTimeout((function(){return e.setStyles(e.maxOpacity)}),t?50:0)}},{key:"waveOut",value:function(e){var t=this,n=Date.now()-this.created,r=Math.round(this.duration/2)-n;setTimeout((function(){t.setStyles(0),setTimeout((function(){t.wave.parentNode===t.container&&(t.container.removeChild(t.wave),e())}),t.duration)}),r>0?r:0)}},{key:"setStyles",value:function(e){this.wave.setAttribute("style",this.convertStyle({top:"".concat(this.start.x,"px"),left:"".concat(this.start.y,"px"),transform:"scale(".concat(this.maxScale,")"),"transition-duration":"".concat(this.duration,"ms"),"transition-timing-function":"cubic-bezier(0.250, 0.460, 0.450, 0.940)",background:this.color,opacity:e}))}},{key:"convertStyle",value:function(e){var t="";return Object.keys(e).forEach((function(n){e.hasOwnProperty(n)&&(t+=n+":"+e[n]+";")})),t}}]),p}(function(){function n(){t(this,n)}return r(n,[{key:"receiveBound",value:function(){var t;this.container||console.error("Yor class must contain a container. It is DOM Element. Define please this.container property.");var n=this.container&&this.container.ownerDocument,r=n.documentElement;"undefined"!==e(this.container.getBoundingClientRect)&&(t=this.container.getBoundingClientRect());var a=this.getWindow(n);return this.mix(t,{size:Math.max(t.width,t.height),offsetTop:t.top+a.pageYOffset-r.clientTop,offsetLeft:t.left+a.pageXOffset-r.clientLeft})}},{key:"isWindow",value:function(e){return null!==e&&e===e.window}},{key:"getWindow",value:function(e){return this.isWindow(e)?e:9===e.nodeType&&e.defaultView}},{key:"mix",value:function(e,t){for(var n in e)n in t||(t[n]=e[n]);return t}}]),n}()),Ot={css:null,exports:{onMounted(){this._waves=[],this._events=[]},launch(e){var t=new Ut(this.$("#waves"),this.props,e);this._waves.push(t),this.props.onWaveStart&&this.props.onWaveStart(t),this._events.length||(this._events.push(e.target.addEventListener("mouseup",(()=>this.hold()))),this._events.push(e.target.addEventListener("mouseleave",(()=>this.hold()))))},hold(){this._waves[this._waves.length-1]&&this._waves[this._waves.length-1].waveOut(this.waveOut),this._waves[this._waves.length-1]&&this._waves.slice(this._waves.length-1,1)},waveOut(){this.props.onWaveEnd&&this.props.onWaveEnd()}},template:function(e,t,n,r){return e('
    ',[{redundantAttribute:"expr84",selector:"[expr84]",expressions:[{type:t.EVENT,name:"onmousedown",evaluate:function(e){return e.launch}}]}])},name:"material-waves"};function St(e){var t={exports:{}};return e(t,t.exports),t.exports}function Bt(e,t){void 0===t&&(t={});for(var n=function(e){for(var t=[],n=0;n=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122||95===u))break;o+=e[s++]}if(!o)throw new TypeError("Missing parameter name at "+n);t.push({type:"NAME",index:n,value:o}),n=s}else t.push({type:"CLOSE",index:n,value:e[n++]});else t.push({type:"OPEN",index:n,value:e[n++]});else t.push({type:"ESCAPED_CHAR",index:n++,value:e[n++]});else t.push({type:"MODIFIER",index:n,value:e[n++]})}return t.push({type:"END",index:n,value:""}),t}(e),r=t.prefixes,a=void 0===r?"./":r,i="[^"+Lt(t.delimiter||"/#?")+"]+?",o=[],s=0,u=0,l="",p=function(e){if(u-1:void 0===b;a||(f+="(?:"+d+"(?="+c+"))?"),T||(f+="(?="+d+"|"+c+")")}return new RegExp(f,_t(n))}(Bt(e,n),t,n)}function jt(e,t,n){return e instanceof RegExp?function(e,t){if(!t)return e;var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r=0;--i){var o=this.tryEntries[i],s=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var u=a.call(o,"catchLoc"),l=a.call(o,"finallyLoc");if(u&&l){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&a.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),R(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;R(n)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:U(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=n),g}},t}(t.exports);try{regeneratorRuntime=n}catch(e){Function("r","regeneratorRuntime = r")(n)}}));var Dt=Symbol();function Pt(){for(var e=arguments.length,t=new Array(e),n=0;n1?n-1:0),a=1;a',[{type:n.IF,evaluate:function(e){return e.state.route},redundantAttribute:"expr0",selector:"[expr0]",template:e('',[{type:n.SLOT,attributes:[{type:t.ATTRIBUTE,name:"route",evaluate:function(e){return e.state.route}}],name:"default",redundantAttribute:"expr1",selector:"[expr1]"}])}])},name:"route-hoc"},pn="popstate",cn="click",dn="/",fn=/^.+?\/\/+[^/]+/,hn=function(){return"undefined"==typeof window?null:window},mn=function(){return"undefined"==typeof document?null:document},gn=function(){var e=hn();return e?e.location:{}},vn=function(e){return e[e.length-1]===dn?e.substr(0,e.length-1):e},yn=function(e){var t,n=hn().location,r=n?"".concat(n.protocol,"//").concat(n.host):"",a=(n||{}).pathname;switch(!0){case!1===Boolean(e):return vn("".concat(r).concat(a||""));case/(www|http(s)?:)/.test(e):return e;case"#"===e[0]:return"".concat(r).concat(a&&a!==dn?a:"").concat(e);case e===dn:return vn(r);default:return vn("".concat(r).concat((t=e)[0]===dn?t:"".concat(dn).concat(t)))}};function xn(e){return Array.isArray(e)?e:/^\[object (HTMLCollection|NodeList|Object)\]$/.test(Object.prototype.toString.call(e))&&"number"==typeof e.length?Array.from(e):[e]}function bn(e,t,n,r,a){var i;e=xn(e),(i=t,i.split(/\s/)).forEach((function(t){e.forEach((function(e){return e[r](t,n,a||!1)}))}))}function Tn(e,t,n,r){return bn(e,t,n,"addEventListener",r),e}function En(e,t,n,r){return bn(e,t,n,"removeEventListener",r),e}var An=function(e){return 1===e.length?e[0]:e};function wn(e,t){return function(e,t,n){var r="string"==typeof t?[t]:t;return An(xn(e).map((function(e){return An(r.map((function(t){return e[n](t)})))})))}(e,t,"hasAttribute")}var Cn=function(){return Yt.push(Un(String(gn().href)))},Nn=function(e){var t=e.includes(Qt.base)?e:Qt.base+e,n=gn(),r="undefined"==typeof history?null:history,a=mn();r&&t!==n.href&&r.pushState(null,a.title,t)},In=function e(t){return t&&!Rn(t)?e(t.parentNode):t},Rn=function(e){return"A"===e.nodeName},kn=function(e){return!e||!Rn(e)||wn(e,"download")||!wn(e,"href")||function(e){return e.target&&"_self"!==e.target}(e)||-1===e.href.indexOf(gn().href.match(fn)[0])},Un=function(e){return e.replace(Qt.base,"")},On=function(e){if(!function(e){return e.which&&1!==e.which||e.metaKey||e.ctrlKey||e.shiftKey||e.defaultPrevented}(e)){var t=In(e.target);if(!kn(t)&&!function(e){return e.split("#").length>1}(t.href)&&function(e){return!Qt.base||e.includes(Qt.base)}(t.href)){var n=Un(t.href);Yt.push(n),e.preventDefault()}}};var Sn,Bn=xt.DOMBindings,Ln=Bn.template,_n=Bn.bindingTypes,Mn=window.requestAnimationFrame||window.setTimeout,jn=window.cancelAnimationFrame||window.clearTimeout,Dn=!1,Pn={css:null,exports:(Sn=function(e){var t=e.slots,n=e.attributes,r=e.props;Dn&&function(e){throw new Error(e)}("Multiple components are not supported");var a=function(e){return n&&n.find((function(t){return t.name.replace(/-(\w)/g,(function(e,t){return t.toUpperCase()}))===e}))};return{slot:null,el:null,teardown:null,mount:function(e,t){var n,r,i,o=this,s=a("initialRoute"),u=s?s.evaluate(t):null,l=on();Dn=!0,this.el=e,this.teardown=(n=this.root,r=hn(),i=n||mn(),r&&(Tn(r,pn,Cn),Tn(i,cn,On)),Yt.on.value(Nn),function(){r&&(En(r,pn,Cn),En(i,cn,On)),Yt.off.value(Nn)}),this.setBase(t),l&&!u?this.createSlot(t):(Yt.on.value((function e(){o.createSlot(t),Yt.off.value(e)})),Yt.push(u||window.location.href))},createSlot:function(e){if(t&&t.length){var n=a("onStarted");this.slot=Ln(null,[{type:_n.SLOT,name:"default"}]),this.slot.mount(this.el,{slots:t},e),n&&n.evaluate(e)(on())}},update:function(e){var t=this;this.setBase(e),this.slot&&(jn(this.deferred),this.deferred=Mn((function(){t.slot.update({},e)})))},unmount:function(){var e;this.teardown(),Dn=!1,this.slot&&(e=this.slot).unmount.apply(e,arguments)},getBase:function(e){var t=a("base");return t?t.evaluate(e):"/"},setBase:function(e){var t;t=r?r.base:this.getBase(e),Qt.base=yn(t)}}},se(Sn)||fe('riot.pure accepts only arguments of type "function"'),Sn[$]=!0,Sn),template:null,name:"router-hoc"};function Gn(e){if(null==e||isNaN(e))return"?";if(0==e)return"0 Byte";var t=parseInt(Math.floor(Math.log(e)/Math.log(1024)));return Math.ceil(e/Math.pow(1024,t))+" "+["Bytes","KB","MB","GB","TB"][t]}function Vn(e,t,n){return n||(n=100),e?e.slice((t-1)*n,n*t):[]}function Fn(e,t){return t||(t=100),e?Math.trunc(e.length/t)+1:0}function Hn(e){return e?e.replace(/^https?:\/\//,""):""}function zn(e){return e>="0"&&e<="9"}var $n={message:"Access on registry response was blocked. Try adding the header `Access-Control-Expose-Headers: Docker-Content-Digest` to your proxy or registry: https://docs.docker.com/registry/configuration/#http",isError:!0};function qn(e){try{var t=JSON.parse(localStorage.getItem("registryServer"));if(t instanceof Array)return isNaN(e)?t.map((function(e){return e.trim().replace(/\/*$/,"")})):t[e]}catch(e){}return isNaN(e)?[]:""}function Kn(e){if(e)return e.indexOf("&")<0?window.encodeURIComponent(e):btoa(e)}function Wn(){var e={};return window.location.search.slice(1).split("&").forEach((function(t){var n=t.indexOf("=");e[t.slice(0,n)]=n<0?"":t.slice(n+1)})),e}function Xn(e){var t=Wn();for(var n in e)null===e[n]?delete t[n]:t[n]=e[n];return t}function Yn(e){var t=[];for(var n in e)n&&void 0!==e[n]&&t.push("".concat(n,"=").concat(e[n]));return 0===t.length?"":"?".concat(t.join("&"))}function Qn(e){var t=window.location,n=Xn(e);return t.origin+t.pathname+Yn(n)}var Jn={home:function(){Yt.push(Qn({page:null}))},taglist:function(e){Yt.push("".concat(Qn({page:null}),"#!/taglist/").concat(e))},getTagListImage:function(){return on().replace(/^.*(#!)?\/?taglist\//,"")},history:function(e,t){Yt.push("".concat(Qn({page:null}),"#!/taghistory/image/").concat(e,"/tag/").concat(t))},getTagHistoryImage:function(){return on().replace(/^.*(#!)?\/?taghistory\/image\/(.*)\/tag\/(.*)\/?$/,"$2")},getTagHistoryTag:function(){return on().replace(/^.*(#!)?\/?taghistory\/image\/(.*)\/tag\/(.*)\/?$/,"$3")},updateQueryString:function(e){var t=Yn(Xn(e));history.pushState(null,"",t+window.location.hash)},updateUrlQueryParam:function(e){this.updateQueryString({url:Kn(e)})},getUrlQueryParam:function(){var e=Wn().url;if(e)try{return function(e){if(e)return e.startsWith("http")?window.decodeURIComponent(e):atob(e)}(e)}catch(t){console.error("Can't decode query parameter URL: ".concat(e),t)}},updatePageQueryParam:function(e){this.updateQueryString({page:e})},getPageQueryParam:function(){return Wn().page}};function Zn(e,t){return!e||t&&t.toLowerCase().indexOf(e)>=0}var er={css:'search-bar material-input,[is="search-bar"] material-input{ position: absolute; top: 0em; right: 64px; max-width: 20%; } @media screen and (max-width: 400px) { search-bar material-input,[is="search-bar"] material-input{ display: none; } } search-bar material-input input,[is="search-bar"] material-input input{ color: #fff; }',exports:{onMounted(e,t){const n=this.$("input");let r="";const a=()=>{r!==n.value&&e.onSearch(n.value.toLowerCase()),r=n.value};n.addEventListener("keyup",a),Yt.on.value((()=>{n.value="",a()}))}},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-input"},slots:[],attributes:[],redundantAttribute:"expr13",selector:"[expr13]"}])},name:"search-bar"},tr={css:null,exports:{onBeforeMount(e,t){e.item.images&&1===e.item.images.length?t.image=e.item.images[0]:"string"==typeof e.item?t.image=e.item:e.item.images&&e.item.repo&&(t.images=e.item.images,t.repo=e.item.repo,t.nImages=e.item.images.length)},onBeforeUpdate(e,t){e.filterResults&&t.images?t.nImages=t.images.filter((t=>Zn(e.filterResults,t))).length:t.nImages=t.images&&t.images.length},onClick(){const e=this.state;e.repo?(this.update({expanded:!this.state.expanded,expanding:!0}),setTimeout((()=>{this.update({expanding:!1})}),50)):Jn.taglist(e.image)},setLaunchListener(e){this.triggerLaunch=e},matchSearch:Zn},template:function(e,t,n,r){return e('
    ',[{type:n.IF,evaluate:function(e){return!e.props.filterResults||e.state.nImages>0||e.matchSearch(e.props.filterResults,e.state.image)},redundantAttribute:"expr109",selector:"[expr109]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-card"},slots:[{id:"default",html:'send
    ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-waves"},slots:[],attributes:[{type:t.EVENT,name:"onmousedown",evaluate:function(e){return e.triggerLaunch}},{type:t.ATTRIBUTE,name:"setLaunchListener",evaluate:function(e){return e.setLaunchListener}}],redundantAttribute:"expr111",selector:"[expr111]"},{redundantAttribute:"expr112",selector:"[expr112]",expressions:[{type:t.TEXT,childNodeIndex:1,evaluate:function(e){return[e.state.image||e.state.repo].join("")}}]},{type:n.IF,evaluate:function(e){return e.state.images},redundantAttribute:"expr113",selector:"[expr113]",template:e(' expand_more',[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.state.nImages," images"].join("")}}]},{redundantAttribute:"expr114",selector:"[expr114]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["material-icons animated ",e.state.expanded?"expanded":""].join("")}}]}])}]}],attributes:[{type:t.ATTRIBUTE,name:"expanded",evaluate:function(e){return e.state.expanded}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.onClick}}],redundantAttribute:"expr110",selector:"[expr110]"},{type:n.EACH,getKey:null,condition:function(e){return e.state.images},template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"catalog-element"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"filter-results",evaluate:function(e){return e.props.filterResults}},{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["animated ",e.state.expanded||e.props.filterResults?"":"hide"," ",e.state.expanding?"expanding":""].join("")}},{type:t.ATTRIBUTE,name:"item",evaluate:function(e){return e.item}}]}]),redundantAttribute:"expr115",selector:"[expr115]",itemName:"item",indexName:null,evaluate:function(e){return e.state.images}}])}])},name:"catalog-element"},nr=function(){function e(){t(this,e),this.oReq=new XMLHttpRequest,this.oReq.hasHeader=rr,this.oReq.getErrorMessage=ar,this._events={},this._headers={}}return r(e,[{key:"getContentDigest",value:function(e){this.oReq.hasHeader("Docker-Content-Digest")?e(this.oReq.getResponseHeader("Docker-Content-Digest")):window.crypto&&window.TextEncoder&&crypto.subtle.digest("SHA-256",(new TextEncoder).encode(this.oReq.responseText)).then((function(t){e("sha256:"+Array.from(new Uint8Array(t)).map((function(e){return e.toString(16).padStart(2,"0")})).join(""))}))}},{key:"addEventListener",value:function(t,n){this._events[t]=n;var r=this;switch(t){case"loadend":r.oReq.addEventListener("loadend",(function(){if(401==this.status){var t=new XMLHttpRequest;for(key in t._url=r._url,t.open(r._method,r._url),r._events)t.addEventListener(key,r._events[key]);for(key in r._headers)t.setRequestHeader(key,r._headers[key]);t.withCredentials=!0,t.hasHeader=e.hasHeader,t.getErrorMessage=e.getErrorMessage,r.oReq=t,t.send()}else n.bind(this)()}));break;case"load":r.oReq.addEventListener("load",(function(){401!==this.status&&n.bind(this)()}));break;default:r.oReq.addEventListener(t,(function(){n.bind(this)()}))}}},{key:"setRequestHeader",value:function(e,t){this.oReq.setRequestHeader(e,t),this._headers[e]=t}},{key:"open",value:function(e,t){this._method=e,this._url=t,this.oReq._url=t,this.oReq.open(e,t)}},{key:"send",value:function(){this.oReq.send()}}]),e}(),rr=function(e){return this.getAllResponseHeaders().split("\n").some((function(t){return new RegExp("^"+e+":","i").test(t)}))},ar=function(){return this._url.match("^http://")&&"https:"===window.location.protocol?"Mixed Content: The page at `"+window.location.origin+"` was loaded over HTTPS, but requested an insecure server endpoint `"+new URL(this._url).origin+"`. This request has been blocked; the content must be served over HTTPS.":this._url&&this._url.match("^http")?this.withCredentials&&!this.hasHeader("Access-Control-Allow-Credentials")?"The `Access-Control-Allow-Credentials` header in the response is missing and must be set to `true` when the request's credentials mode is on. Origin `"+new URL(this._url).origin+"` is therefore not allowed access.":"An error occured: Check your connection and your registry must have `Access-Control-Allow-Origin` header set to `"+window.location.origin+"`":"Incorrect server endpoint."},ir={css:null,exports:{components:{CatalogElement:tr},state:{registryName:"",length:0,loadend:!1,repositories:[]},onBeforeMount(e){this.state.registryName=e.registryName,this.state.catalogElementsLimit=e.catalogElementsLimit},onMounted(e){this.display(e,this.state)},display(e,t){let n=[];const r=this,a=new nr;a.addEventListener("load",(function(){200==this.status?(n=JSON.parse(this.responseText).repositories||[],n.sort(),n=n.reduce((function(e,t){const n=t.indexOf("/");if(n>0){const r=t.substring(0,n)+"/";return 0!=e.length&&e[e.length-1].repo==r||e.push({repo:r,images:[]}),e[e.length-1].images.push(t),e}return e.push(t),e}),[])):404==this.status?r.props.onNotify("Server not found",!0):r.props.onNotify(this.responseText)})),a.addEventListener("error",(function(){r.props.onNotify(this.getErrorMessage(),!0)})),a.addEventListener("loadend",(function(){r.update({repositories:n,length:n.length,loadend:!0})})),a.open("GET",`${e.registryUrl}/v2/_catalog?n=${t.catalogElementsLimit}`),a.send()}},template:function(e,t,n,r){return e('
    ',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-card"},slots:[{id:"default",html:'

    ',bindings:[{redundantAttribute:"expr25",selector:"[expr25]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return["Repositories of ",e.state.registryName].join("")}}]},{redundantAttribute:"expr26",selector:"[expr26]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.state.length," images"].join("")}}]}]}],attributes:[],redundantAttribute:"expr24",selector:"[expr24]"},{type:n.IF,evaluate:function(e){return!e.state.loadend},redundantAttribute:"expr27",selector:"[expr27]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-spinner"},slots:[],attributes:[],redundantAttribute:"expr28",selector:"[expr28]"}])},{type:n.EACH,getKey:null,condition:null,template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"catalog-element"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"item",evaluate:function(e){return e.item}},{type:t.ATTRIBUTE,name:"filter-results",evaluate:function(e){return e.props.filterResults}}]}]),redundantAttribute:"expr29",selector:"[expr29]",itemName:"item",indexName:null,evaluate:function(e){return e.state.repositories}}])},name:"catalog"},or=St((function(e,t){var n,r,a,i,o,s,u;n="*",r=Object.defineProperties,a=Object.entries,i=function(e,t){return function(n,r){return e.has(n)?e.get(n).add(r):e.set(n,(new Set).add(r)),t}},o=function(e,t){return function(r,a){if(r!==n||a)if(a){var i=e.get(r);i&&(i.delete(a),0===i.size&&e.delete(r))}else e.delete(r);else e.clear();return t}},s=function(e,t){return function(e,n){return t.on(e,(function r(){t.off(e,r);for(var a=arguments.length,i=new Array(a),o=0;o1?a-1:0),o=1;o0&&zn(e[e.length-1].charAt(0))==zn(t)?e[e.length-1]+=t:e.push(t),e};function ur(e,t){for(var n=e.tag.match(/./g).reduce(sr,[]),r=t.tag.match(/./g).reduce(sr,[]),a=0;a
    ',[{type:n.EACH,getKey:null,condition:null,template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'
    ',bindings:[{type:n.IF,evaluate:function(e){return e.p.icon},redundantAttribute:"expr90",selector:"[expr90]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.p.icon}}]}])},{type:n.IF,evaluate:function(e){return!e.p.icon},redundantAttribute:"expr91",selector:"[expr91]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.p.page}}]}])}]}],attributes:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return[e.p.current?"current":""," ",e.p["space-left"]?"space-left":""," ",e.p["space-right"]?"space-right":""].join("")}},{type:t.EVENT,name:"onClick",evaluate:function(e){return()=>e.props.onPageUpdate(e.p.page)}}]}]),redundantAttribute:"expr89",selector:"[expr89]",itemName:"p",indexName:null,evaluate:function(e){return e.props.pages}}])},name:"pagination"},TagTable:{css:null,exports:{components:{ImageDate:{css:null,exports:{state:{localDate:"unknown"},onMounted(e){e.image.on("creation-date",(e=>{this.update({date:e,localDate:e.toLocaleString()})})),e.image.trigger("get-date")},dateFormat:function(e){if(void 0===e)return"";for(var t=["a second","seconds","a minute","minutes","an hour","hours","a day","days","a month","months","a year","years"],n=[1,60,3600,86400,2592e3,31104e3,1/0],r=(new Date-e)/1e3,a=0;a=r)return t[2*a];if(n[a+1]>r)return Math.floor(r/n[a])+" "+t[2*a+1]}}},template:function(e,t,n,r){return e('
    ',[{redundantAttribute:"expr133",selector:"[expr133]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.dateFormat(e.state.date)," ago"].join("")}},{type:t.ATTRIBUTE,name:"title",evaluate:function(e){return["Creation date ",e.state.localDate].join("")}}]}])},name:"image-date"},ImageSize:{css:null,exports:{onMounted(e){e.image.on("size",(e=>{this.update({size:e})})),e.image.trigger("get-size")},bytesToSize:Gn},template:function(e,t,n,r){return e('
    ',[{redundantAttribute:"expr134",selector:"[expr134]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.bytesToSize(e.state.size)}}]}])},name:"image-size"},ImageTag:{css:null,exports:{onMounted(e){e.image.on("sha256",(e=>{this.update({sha256:e.substring(0,19)})})),e.image.trigger("get-sha256")}},template:function(e,t,n,r){return e('
    ',[{redundantAttribute:"expr135",selector:"[expr135]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.props.image.tag}},{type:t.ATTRIBUTE,name:"title",evaluate:function(e){return e.state.sha256}}]}])},name:"image-tag"},ImageContentDigest:{css:null,exports:{onMounted(e){this.chars=-1,e.image.one("content-digest",(t=>{this.digest=t,e.image.on("content-digest-chars",this.onResize),e.image.trigger("get-content-digest-chars")})),e.image.trigger("get-content-digest")},onResize(e){if(e===this.chars)return;let t=this.digest,n="";this.chars=e,e>=70?t=this.digest:e<=0?(t="",n=this.digest):(t=this.digest.slice(0,e)+"...",n=this.digest),this.update({title:n,displayId:t})}},template:function(e,t,n,r){return e('
    ',[{redundantAttribute:"expr136",selector:"[expr136]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.state.displayId}},{type:t.ATTRIBUTE,name:"title",evaluate:function(e){return e.state.title}}]}])},name:"image-content-digest"},CopyToClipboard:{css:null,exports:{onBeforeMount(e,t){"tag"===e.target&&(t.dockerCmd=`docker pull ${e.pullUrl}/${e.image.name}:${e.image.tag}`)},onMounted(e,t){"tag"!==e.target&&(e.image.one("content-digest",(t=>{this.update({dockerCmd:`docker pull ${e.pullUrl}/${e.image.name}@${t}`})})),e.image.trigger("get-content-digest"))},copy(){if(!this.state.dockerCmd)return void this.props.onNotify($n);const e=this.$("input");e.style.display="block",e.select(),document.execCommand("copy"),e.style.display="none",this.props.onNotify("`"+this.state.dockerCmd+"` has been copied to clipboard.")}},template:function(e,t,n,r){return e('
    ',[{redundantAttribute:"expr137",selector:"[expr137]",expressions:[{type:t.VALUE,evaluate:function(e){return e.state.dockerCmd}}]},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'content_copy',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.copy}}],redundantAttribute:"expr138",selector:"[expr138]"}])},name:"copy-to-clipboard"},RemoveImage:{css:null,exports:{onBeforeMount(e,t){t.checked=e.checked,e.image.one("content-digest",(e=>{this.update({digest:e})}))},onMounted(e,t){e.image.trigger("get-content-digest")},onBeforeUpdate(e,t){t.checked=e.checked},deleteImage(e){pr(this.props.image,this.props.registryUrl,e,this.props.onNotify)},handleCheckboxChange(e){this.props.handleCheckboxChange(e,this.props.image)}},template:function(e,t,n,r){return e('',[{type:n.IF,evaluate:function(e){return!e.props.multiDelete},redundantAttribute:"expr139",selector:"[expr139]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'delete',bindings:[]}],attributes:[{type:t.ATTRIBUTE,name:"disabled",evaluate:function(e){return!e.state.digest}},{type:t.EVENT,name:"onClick",evaluate:function(e){return e.deleteImage}}]}])},{type:n.IF,evaluate:function(e){return e.props.multiDelete},redundantAttribute:"expr140",selector:"[expr140]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-checkbox"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"disabled",evaluate:function(e){return!e.state.digest}},{type:t.EVENT,name:"onChange",evaluate:function(e){return e.handleCheckboxChange}},{type:t.ATTRIBUTE,name:"checked",evaluate:function(e){return e.state.checked}}]}])}])},name:"remove-image"},TagHistoryButton:{css:null,exports:{routeToHistory(){Jn.history(this.props.image.name,this.props.image.tag)}},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'history',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.routeToHistory}}],redundantAttribute:"expr141",selector:"[expr141]"}])},name:"tag-history-button"}},onBeforeMount(e){this.state={toDelete:new Set,multiDelete:!1,page:e.page}},onBeforeUpdate(e,t){t.page!==e.page&&t.toDelete.clear(),t.page=e.page},bulkDelete(){this.state.toDelete.forEach((e=>pr(e,this.props.registryUrl,!0,this.props.onNotify)))},onRemoveImageHeaderChange(e,t){if(!0===t.altKey){Vn(this.props.tags,this.props.page).forEach((e=>this.state.toDelete.add(e))),this.update({multiDelete:!0,toDelete:this.state.toDelete})}else this.update({multiDelete:e})},onRemoveImageChange(e,t){e?this.state.toDelete.add(t):this.state.toDelete.delete(t),this.update({toDelete:this.state.toDelete})},getPage:Vn,matchSearch:Zn},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-card"},slots:[{id:"default",html:'
    Creation dateSizeTag\n History
    ',bindings:[{type:n.IF,evaluate:function(e){return e.props.showContentDigest},redundantAttribute:"expr93",selector:"[expr93]",template:e("Content Digest",[])},{redundantAttribute:"expr94",selector:"[expr94]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return e.props.asc?"material-card-th-sorted-ascending":"material-card-th-sorted-descending"}},{type:t.EVENT,name:"onclick",evaluate:function(e){return()=>e.props.onReverseOrder()}}]},{type:n.IF,evaluate:function(e){return e.props.isImageRemoveActivated},redundantAttribute:"expr95",selector:"[expr95]",template:e('',[{expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["remove-tag ",e.state.toDelete.size>0?"delete":""].join("")}}]},{type:n.IF,evaluate:function(e){return 0===e.state.toDelete.size},redundantAttribute:"expr96",selector:"[expr96]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-checkbox"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"checked",evaluate:function(e){return e.state.multiDelete}},{type:t.EVENT,name:"onChange",evaluate:function(e){return e.onRemoveImageHeaderChange}}]}])},{type:n.IF,evaluate:function(e){return e.state.toDelete.size>0},redundantAttribute:"expr97",selector:"[expr97]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'delete',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.bulkDelete}}]}])}])},{type:n.EACH,getKey:null,condition:function(e){return e.matchSearch(e.props.filterResults,e.image.tag)},template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"image-date"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}}],redundantAttribute:"expr99",selector:"[expr99]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"image-size"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}}],redundantAttribute:"expr100",selector:"[expr100]"},{type:n.IF,evaluate:function(e){return e.props.showContentDigest},redundantAttribute:"expr101",selector:"[expr101]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"image-content-digest"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}}],redundantAttribute:"expr102",selector:"[expr102]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"copy-to-clipboard"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}},{type:t.ATTRIBUTE,name:"pull-url",evaluate:function(e){return e.props.pullUrl}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}}],redundantAttribute:"expr103",selector:"[expr103]"}])},{type:n.TAG,getComponent:r,evaluate:function(e){return"image-tag"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}}],redundantAttribute:"expr104",selector:"[expr104]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"copy-to-clipboard"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}},{type:t.ATTRIBUTE,name:"pull-url",evaluate:function(e){return e.props.pullUrl}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}}],redundantAttribute:"expr105",selector:"[expr105]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"tag-history-button"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}}],redundantAttribute:"expr106",selector:"[expr106]"},{type:n.IF,evaluate:function(e){return e.props.isImageRemoveActivated},redundantAttribute:"expr107",selector:"[expr107]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"remove-image"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"multi-delete",evaluate:function(e){return e.state.multiDelete}},{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}},{type:t.ATTRIBUTE,name:"registry-url",evaluate:function(e){return e.props.registryUrl}},{type:t.ATTRIBUTE,name:"handleCheckboxChange",evaluate:function(e){return e.onRemoveImageChange}},{type:t.ATTRIBUTE,name:"checked",evaluate:function(e){return e.state.toDelete.has(e.image)}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}}],redundantAttribute:"expr108",selector:"[expr108]"}])}]),redundantAttribute:"expr98",selector:"[expr98]",itemName:"image",indexName:null,evaluate:function(e){return e.getPage(e.props.tags,e.props.page)}}]}],attributes:[],redundantAttribute:"expr92",selector:"[expr92]"}])},name:"tag-table"}},onBeforeMount(e){this.state={registryName:e.registryName,tags:[],loadend:!1,asc:!0,page:Jn.getPageQueryParam()||1}},onMounted(e,t){this.display(e,t),window.addEventListener("resize",this.onResize),window.requestAnimationFrame(this.onResize)},display(e,t){t.tags=[];const n=this,r=new nr;r.addEventListener("load",(function(){if(200==this.status){const r=(JSON.parse(this.responseText).tags||[]).map((t=>new lr(e.image,t,null,e.registryUrl,e.onNotify))).sort(ur);window.requestAnimationFrame(n.onResize),n.update({page:Math.min(t.page,Fn(r)),tags:r})}else 404==this.status?n.props.onNotify("Server not found",!0):n.props.onNotify(this.responseText,!0)})),r.addEventListener("error",(function(){n.props.onNotify(this.getErrorMessage(),!0),t.tags=[]})),r.addEventListener("loadend",(function(){n.update({loadend:!0})})),r.open("GET",e.registryUrl+"/v2/"+e.image+"/tags/list"),r.send(),t.asc=!0},onPageUpdate(e){this.update({page:e}),Jn.updatePageQueryParam(e)},onResize(){const e=window.innerWidth;let t=0;const n=this.state.tags.reduce((function(e,t){return t.tag.length>e?t.tag.length:e}),0);t=e>=1440?71:e<1024?0:15+(e-1024)/416*56,n>20&&(t-=n-20),t=Math.floor(t),this.state.tags.map((function(e){e.trigger("content-digest-chars",t)}))},onReverseOrder(){this.state.asc?(this.state.tags.reverse(),this.state.asc=!1):(this.state.tags.sort(ur),this.state.asc=!0),this.update()},getPageLabels:function(e,t){var n=[],r=10;if(1===t)return n;1!==e&&t>=r&&(n.push({icon:"first_page",page:1}),n.push({icon:"chevron_left",page:e-1}));for(var a=Math.round(Math.max(1,Math.min(e-5,t-r+1))),i=a;ir,"space-right":e===t&&t>r});return e!==t&&t>=r&&(n.push({icon:"chevron_right",page:e+1}),n.push({icon:"last_page",page:t})),n},getNumPages:Fn,router:Jn},template:function(e,t,n,r){return e('
    ',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-card"},slots:[{id:"default",html:'

    ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'arrow_back',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.router.home}}],redundantAttribute:"expr15",selector:"[expr15]"},{redundantAttribute:"expr16",selector:"[expr16]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return["Tags of ",e.props.image].join("")}}]},{redundantAttribute:"expr17",selector:"[expr17]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return["Sourced from ",e.state.registryName+"/"+e.props.image].join("")}}]},{redundantAttribute:"expr18",selector:"[expr18]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.state.tags.length," tags"].join("")}}]}]}],attributes:[],redundantAttribute:"expr14",selector:"[expr14]"},{type:n.IF,evaluate:function(e){return!e.state.loadend},redundantAttribute:"expr19",selector:"[expr19]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-spinner"},slots:[],attributes:[],redundantAttribute:"expr20",selector:"[expr20]"}])},{type:n.TAG,getComponent:r,evaluate:function(e){return"pagination"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"pages",evaluate:function(e){return e.getPageLabels(e.state.page,e.getNumPages(e.state.tags))}},{type:t.EVENT,name:"onPageUpdate",evaluate:function(e){return e.onPageUpdate}}],redundantAttribute:"expr21",selector:"[expr21]"},{type:n.IF,evaluate:function(e){return e.state.loadend},redundantAttribute:"expr22",selector:"[expr22]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"tag-table"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"tags",evaluate:function(e){return e.state.tags}},{type:t.ATTRIBUTE,name:"asc",evaluate:function(e){return e.state.asc}},{type:t.ATTRIBUTE,name:"page",evaluate:function(e){return e.state.page}},{type:t.ATTRIBUTE,name:"show-content-digest",evaluate:function(e){return e.props.showContentDigest}},{type:t.ATTRIBUTE,name:"is-image-remove-activated",evaluate:function(e){return e.props.isImageRemoveActivated}},{type:t.EVENT,name:"onReverseOrder",evaluate:function(e){return e.onReverseOrder}},{type:t.ATTRIBUTE,name:"registry-url",evaluate:function(e){return e.props.registryUrl}},{type:t.ATTRIBUTE,name:"pull-url",evaluate:function(e){return e.props.pullUrl}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}},{type:t.ATTRIBUTE,name:"filter-results",evaluate:function(e){return e.props.filterResults}}]}])},{type:n.TAG,getComponent:r,evaluate:function(e){return"pagination"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"pages",evaluate:function(e){return e.getPageLabels(e.state.page,e.getNumPages(e.state.tags))}},{type:t.EVENT,name:"onPageUpdate",evaluate:function(e){return e.onPageUpdate}}],redundantAttribute:"expr23",selector:"[expr23]"}])},name:"tag-list"},TagHistory:{css:null,exports:{components:{TagHistoryElement:{css:null,exports:{onBeforeStar(e,t){t.key=e.entry.key,t.icon=function(e){switch(e){case"architecture":return"memory";case"created":return"event";case"docker_version":return"";case"os":return"developer_board";case"Cmd":return"launch";case"Entrypoint":return"input";case"Env":return"notes";case"Labels":return"label";case"User":return"face";case"Volumes":return"storage";case"WorkingDir":return"home";case"author":return"account_circle";case"id":case"digest":return"settings_ethernet";case"created_by":return"build";case"size":return"get_app";case"ExposedPorts":return"router"}}(e.entry.key),t.name=e.entry.key.replace("_"," "),e.value instanceof Array?t.values=e.entry.value:t.value=e.entry.value},onBeforeMount(e,t){this.onBeforeStar(e,t)},onBeforeUpdate(e,t){this.onBeforeStar(e,t)}},template:function(e,t,n,r){return e('

    ',[{expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return e.state.key}}]},{redundantAttribute:"expr120",selector:"[expr120]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.state.icon}}]},{redundantAttribute:"expr121",selector:"[expr121]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.state.name}}]},{type:n.IF,evaluate:function(e){return e.state.value},redundantAttribute:"expr122",selector:"[expr122]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.state.value].join("")}}]}])},{type:n.EACH,getKey:null,condition:function(e){return e.state.values},template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.value].join("")}}]}]),redundantAttribute:"expr123",selector:"[expr123]",itemName:"value",indexName:null,evaluate:function(e){return e.state.values}}])},name:"tag-history-element"}},onBeforeMount(e,t){t.elements=[],t.image=new lr(e.image,e.tag,!0,e.registryUrl,e.onNotify),t.image.fillInfo(),t.image.on("blobs",this.processBlobs),t.image.on("list",this.multiArchList)},onTabChanged(e,t){const n=this.state;if(n.elements=[],n.image.variants[t]=n.image.variants[t]||new lr(this.props.image,e.digest,!1,this.props.registryUrl,this.props.onNotify),n.image.variants[t].blobs)return this.processBlobs(n.image.variants[t].blobs);n.image.variants[t].fillInfo(),n.image.variants[t].on("blobs",this.processBlobs)},processBlobs(e){function t(e){const t=[];for(var n in e)if(e.hasOwnProperty(n)&&"empty_layer"!=n){const r=e[n],a={key:n,value:fr(n,r)};t.push(a)}return t.sort(dr)}this.state;const n=new Array(e.history.length+1);n[0]=t(function(e){const t=["architecture","User","created","docker_version","os","Cmd","Entrypoint","Env","Labels","User","Volumes","WorkingDir","author","id","ExposedPorts"].reduce((function(t,n){const r=e[n]||e.config[n];return r&&"architecture"===n&&e.variant?t[n]=r+e.variant:r&&(t[n]=r),t}),{});return!t.author&&t.Labels&&t.Labels.maintainer&&(t.author=e.config.Labels.maintainer,delete t.Labels.maintainer),t}(e)),e.history.forEach((function(r,a){n[e.history.length-a]=t(r)})),this.update({elements:n,loadend:!0})},multiArchList(e){const t=(e=e.manifests||e).map((function(e){return{title:e.platform.os+"/"+e.platform.architecture+(e.platform.variant?e.platform.variant:""),digest:e.digest}}));this.update({archs:t})},toTaglist(){Jn.taglist(this.props.image)}},template:function(e,t,n,r){return e('
    ',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-card"},slots:[{id:"default",html:'

    history

    ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'arrow_back',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.toTaglist}}],redundantAttribute:"expr31",selector:"[expr31]"},{redundantAttribute:"expr32",selector:"[expr32]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return["History of ",e.props.image,":",e.props.tag].join("")}}]}]}],attributes:[],redundantAttribute:"expr30",selector:"[expr30]"},{type:n.IF,evaluate:function(e){return!e.state.loadend},redundantAttribute:"expr33",selector:"[expr33]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-spinner"},slots:[],attributes:[],redundantAttribute:"expr34",selector:"[expr34]"}])},{type:n.IF,evaluate:function(e){return e.state.archs&&e.state.loadend},redundantAttribute:"expr35",selector:"[expr35]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-tabs"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"useLine",evaluate:function(e){return!0}},{type:t.ATTRIBUTE,name:"tabs",evaluate:function(e){return e.state.archs}},{type:t.EVENT,name:"onTabChanged",evaluate:function(e){return e.onTabChanged}}]}])},{type:n.EACH,getKey:null,condition:null,template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-card"},slots:[{id:"default",html:'',bindings:[{type:n.EACH,getKey:null,condition:function(e){return e.entry.value&&e.entry.value.length>0},template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"tag-history-element"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"entry",evaluate:function(e){return e.entry}}]}]),redundantAttribute:"expr37",selector:"[expr37]",itemName:"entry",indexName:null,evaluate:function(e){return e.element}}]}],attributes:[]}]),redundantAttribute:"expr36",selector:"[expr36]",itemName:"element",indexName:null,evaluate:function(e){return e.state.elements}}])},name:"tag-history"},DialogsMenu:{css:'dialogs-menu,[is="dialogs-menu"]{ position: absolute; top: 0px; right: 16px; color: #000; list-style-type: disc; margin-block-start: 0.7em; } dialogs-menu .overlay,[is="dialogs-menu"] .overlay{ position: fixed; height: 100%; width: 100%; top: 0; right: 0; z-index: 10; } dialogs-menu material-button,[is="dialogs-menu"] material-button{ background: rgba(255, 255, 255, 0); float: right; z-index: 2; } dialogs-menu material-button .content i.material-icons,[is="dialogs-menu"] material-button .content i.material-icons{ color: #fff; font-size: 24px; } dialogs-menu material-dropdown-list,[is="dialogs-menu"] material-dropdown-list{ display: inline-block; position: relative; } dialogs-menu material-dropdown-list ul.dropdown-content,[is="dialogs-menu"] material-dropdown-list ul.dropdown-content{ min-width: 156px; padding: 8px 0; margin: 0; } dialogs-menu material-dropdown-list ul.dropdown-content li span,[is="dialogs-menu"] material-dropdown-list ul.dropdown-content li span{ font-size: 1rem; line-height: 1.2em; } dialogs-menu material-popup *,[is="dialogs-menu"] material-popup *{ line-height: 1em; } dialogs-menu material-popup material-button .content,[is="dialogs-menu"] material-popup material-button .content{ line-height: 36px; }',exports:{components:{AddRegistryUrl:{css:null,exports:{onKeyUp(e){13===e.keyCode&&this.add()},add(){const e=this.$("input");if(!e||!e.value||0===e.value.length)return this.props.onNotify("The input field is empty. Please enter an url.",!0);if(!e.value.startsWith("http"))return this.props.onNotify("The input field should start with http:// or https://.",!0);const t=e.value.trim().replace(/\/*$/,""),n=qn().filter((e=>e!==t));localStorage.setItem("registryServer",JSON.stringify([t].concat(n))),Jn.home(),this.props.onServerChange(t),this.props.onClose(),setTimeout((()=>Jn.updateUrlQueryParam(t)),100)}},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-popup"},slots:[{id:"title",html:'
    Add your Server ?
    ',bindings:[]},{id:"content",html:'
    Write your URL without /v2
    ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-input"},slots:[],attributes:[{type:t.EVENT,name:"onkeyup",evaluate:function(e){return e.onKeyUp}}],redundantAttribute:"expr117",selector:"[expr117]"}]},{id:"action",html:'
    ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:"\n Add\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.add}}],redundantAttribute:"expr118",selector:"[expr118]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:"\n Cancel\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClose}}],redundantAttribute:"expr119",selector:"[expr119]"}]}],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.props.opened}},{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClose}}],redundantAttribute:"expr116",selector:"[expr116]"}])},name:"add-registry-url"},ChangeRegistryUrl:{css:'change-registry-url select,[is="change-registry-url"] select{ position: relative; outline: 0; box-shadow: none; padding: 0; width: 100%; background: 0 0; border: none; font-weight: 400; line-height: 24px; height: 24px; border-bottom: 1px solid #2f6975; appearance: none; -moz-appearance: none; -webkit-appearance: none; margin: 1.5em 0; }',exports:{change(e){const t=this.$("select");if(!t||!t.value||0===t.value.length)return this.props.onNotify("The select field is empty. Please add an url.",!0);if(!t.value.startsWith("http"))return this.props.onNotify("The select field should start with http:// or https://.",!0);const n=t.value.trim().replace(/\/*$/,""),r=qn().filter((e=>e!==n));localStorage.setItem("registryServer",JSON.stringify([n].concat(r))),Jn.home(),this.props.onServerChange(n),this.props.onClose(),setTimeout((()=>Jn.updateUrlQueryParam(n)),100)},getRegistryServers:qn},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-popup"},slots:[{id:"title",html:'
    Change your Server ?
    ',bindings:[]},{id:"content",html:'
    ',bindings:[{type:n.EACH,getKey:null,condition:null,template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.url}},{type:t.ATTRIBUTE,name:"value",evaluate:function(e){return e.url}}]}]),redundantAttribute:"expr125",selector:"[expr125]",itemName:"url",indexName:null,evaluate:function(e){return e.getRegistryServers()}}]},{id:"action",html:'
    ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:"\n Change\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.change}}],redundantAttribute:"expr126",selector:"[expr126]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:"\n Cancel\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClose}}],redundantAttribute:"expr127",selector:"[expr127]"}]}],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.props.opened}},{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClick}}],redundantAttribute:"expr124",selector:"[expr124]"}])},name:"change-registry-url"},RemoveRegistryUrl:{css:'remove-registry-url material-popup .popup,[is="remove-registry-url"] material-popup .popup{ max-height: calc(95% - 2em); } remove-registry-url material-popup .popup material-button,[is="remove-registry-url"] material-popup .popup material-button{ margin-right: 1em; } remove-registry-url material-popup .popup material-button .content i.material-icons,[is="remove-registry-url"] material-popup .popup material-button .content i.material-icons{ color: #777; }',exports:{remove(e){const t=e.currentTarget.attributes.url&&e.currentTarget.attributes.url.value,n=qn().filter((e=>e!==t));localStorage.setItem("registryServer",JSON.stringify(n)),setTimeout((()=>this.update()),100)},getRegistryServers:qn},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-popup"},slots:[{id:"title",html:'
    Remove your Registry Server ?
    ',bindings:[]},{id:"content",html:'
    ',bindings:[{type:n.EACH,getKey:null,condition:null,template:e(' ',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'delete',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.remove}},{type:t.ATTRIBUTE,name:"url",evaluate:function(e){return e.url}}],redundantAttribute:"expr130",selector:"[expr130]"},{redundantAttribute:"expr131",selector:"[expr131]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.url}}]}]),redundantAttribute:"expr129",selector:"[expr129]",itemName:"url",indexName:null,evaluate:function(e){return e.getRegistryServers()}}]},{id:"action",html:'
    ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:"\n Close\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClose}}],redundantAttribute:"expr132",selector:"[expr132]"}]}],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.props.opened}},{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClose}}],redundantAttribute:"expr128",selector:"[expr128]"}])},name:"remove-registry-url"}},dropdownItems:[{title:"Add URL",name:"add-registry-url"},{title:"Change URL",name:"change-registry-url"},{title:"Remove URL",name:"remove-registry-url"}],onDropdownSelect(e,t){this.update({[t.name]:!0,isDropdownOpened:!1})},onClose(e){return()=>{this.update({[e]:!1,isDropdownOpened:!1})}},onClick(){this.update({isDropdownOpened:!this.state.isDropdownOpened})}},template:function(e,t,n,r){return e('
    ',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'more_vert',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.onClick}}],redundantAttribute:"expr38",selector:"[expr38]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-dropdown-list"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"items",evaluate:function(e){return e.dropdownItems}},{type:t.EVENT,name:"onSelect",evaluate:function(e){return e.onDropdownSelect}},{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.state.isDropdownOpened}}],redundantAttribute:"expr39",selector:"[expr39]"},{type:n.IF,evaluate:function(e){return e.state.isDropdownOpened},redundantAttribute:"expr40",selector:"[expr40]",template:e(null,[{expressions:[{type:t.EVENT,name:"onclick",evaluate:function(e){return e.onClick}}]}])},{type:n.TAG,getComponent:r,evaluate:function(e){return"add-registry-url"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.state["add-registry-url"]}},{type:t.EVENT,name:"on-close",evaluate:function(e){return e.onClose("add-registry-url")}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}},{type:t.EVENT,name:"on-server-change",evaluate:function(e){return e.props.onServerChange}}],redundantAttribute:"expr41",selector:"[expr41]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"change-registry-url"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.state["change-registry-url"]}},{type:t.EVENT,name:"on-close",evaluate:function(e){return e.onClose("change-registry-url")}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}},{type:t.EVENT,name:"on-server-change",evaluate:function(e){return e.props.onServerChange}}],redundantAttribute:"expr42",selector:"[expr42]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"remove-registry-url"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.state["remove-registry-url"]}},{type:t.EVENT,name:"on-close",evaluate:function(e){return e.onClose("remove-registry-url")}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}},{type:t.EVENT,name:"on-server-change",evaluate:function(e){return e.props.onServerChange}}],redundantAttribute:"expr43",selector:"[expr43]"}])},name:"dialogs-menu"},SearchBar:er,Router:Pn,Route:ln},onUpdated(e,t){t.snackbarIsError=!1,t.snackbarMessage=void 0},onBeforeMount(e){this.state.registryUrl=e.registryUrl||("true"===e.singleRegistry?void 0:Jn.getUrlQueryParam()||qn(0))||window.location.origin+window.location.pathname.replace(/\/+$/,""),this.state.name=e.name||Hn(e.registryUrl),this.state.catalogElementsLimit=e.catalogElementsLimit||1e5,this.state.pullUrl=this.pullUrl(this.state.registryUrl,e.pullUrl)},onServerChange(e){this.update({registryUrl:e,name:Hn(e),pullUrl:this.pullUrl(e),snackbarMessage:"Registry server changed to `"+e+"`."})},pullUrl:(e,t)=>Hn(t||e&&e.length>0&&e||window.location.host),notifySnackbar(e,t){"string"==typeof e?this.update({snackbarMessage:e,snackbarIsError:t||!1}):e&&e.message&&this.update({snackbarMessage:e.message,snackbarIsError:e.isError})},onSearch(e){this.update({filter:e})},baseRoute:"([^#]*?)/(\\?[^#]*?)?(#!)?(/?)",router:Jn,version:"2.0.0-beta.1"},template:function(e,t,n,r){return e('
    ',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-navbar"},slots:[{id:"default",html:'',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"search-bar"},slots:[],attributes:[{type:t.EVENT,name:"on-search",evaluate:function(e){return e.onSearch}}],redundantAttribute:"expr1",selector:"[expr1]"},{type:n.IF,evaluate:function(e){return"true"!==e.props.singleRegistry},redundantAttribute:"expr2",selector:"[expr2]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"dialogs-menu"},slots:[],attributes:[{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.notifySnackbar}},{type:t.EVENT,name:"on-server-change",evaluate:function(e){return e.onServerChange}}]}])}]}],attributes:[],redundantAttribute:"expr0",selector:"[expr0]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"router"},slots:[{id:"default",html:'',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"route"},slots:[{id:"default",html:'',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"catalog"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"registry-url",evaluate:function(e){return e.state.registryUrl}},{type:t.ATTRIBUTE,name:"registry-name",evaluate:function(e){return e.state.name}},{type:t.ATTRIBUTE,name:"catalog-elements-limit",evaluate:function(e){return e.state.catalogElementsLimit}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.notifySnackbar}},{type:t.ATTRIBUTE,name:"filter-results",evaluate:function(e){return e.state.filter}}],redundantAttribute:"expr5",selector:"[expr5]"}]}],attributes:[{type:t.ATTRIBUTE,name:"path",evaluate:function(e){return e.baseRoute}}],redundantAttribute:"expr4",selector:"[expr4]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"route"},slots:[{id:"default",html:'',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"tag-list"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"registry-url",evaluate:function(e){return e.state.registryUrl}},{type:t.ATTRIBUTE,name:"registry-name",evaluate:function(e){return e.state.name}},{type:t.ATTRIBUTE,name:"pull-url",evaluate:function(e){return e.state.pullUrl}},{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.router.getTagListImage()}},{type:t.ATTRIBUTE,name:"show-content-digest",evaluate:function(e){return e.props.showContentDigest}},{type:t.ATTRIBUTE,name:"is-image-remove-activated",evaluate:function(e){return e.props.isImageRemoveActivated}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.notifySnackbar}},{type:t.ATTRIBUTE,name:"filter-results",evaluate:function(e){return e.state.filter}}],redundantAttribute:"expr7",selector:"[expr7]"}]}],attributes:[{type:t.ATTRIBUTE,name:"path",evaluate:function(e){return[e.baseRoute,"taglist/(.*)"].join("")}}],redundantAttribute:"expr6",selector:"[expr6]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"route"},slots:[{id:"default",html:'',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"tag-history"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"registry-url",evaluate:function(e){return e.state.registryUrl}},{type:t.ATTRIBUTE,name:"registry-name",evaluate:function(e){return e.state.name}},{type:t.ATTRIBUTE,name:"pull-url",evaluate:function(e){return e.state.pullUrl}},{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.router.getTagHistoryImage()}},{type:t.ATTRIBUTE,name:"tag",evaluate:function(e){return e.router.getTagHistoryTag()}},{type:t.ATTRIBUTE,name:"is-image-remove-activated",evaluate:function(e){return e.props.isImageRemoveActivated}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.notifySnackbar}}],redundantAttribute:"expr9",selector:"[expr9]"}]}],attributes:[{type:t.ATTRIBUTE,name:"path",evaluate:function(e){return[e.baseRoute,"taghistory/(.*)"].join("")}}],redundantAttribute:"expr8",selector:"[expr8]"}]}],attributes:[],redundantAttribute:"expr3",selector:"[expr3]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-snackbar"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"message",evaluate:function(e){return e.state.snackbarMessage}},{type:t.ATTRIBUTE,name:"is-error",evaluate:function(e){return e.state.snackbarIsError}}],redundantAttribute:"expr10",selector:"[expr10]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-footer"},slots:[{id:"logo",html:' ',bindings:[{redundantAttribute:"expr12",selector:"[expr12]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return["Docker Registry UI ",e.version].join("")}}]}]},{id:"link-list",html:'',bindings:[]}],attributes:[],redundantAttribute:"expr11",selector:"[expr11]"}])},name:"docker-registry-ui"};yt("material-card",Tt),yt("material-footer",wt),yt("material-navbar",{css:null,exports:null,template:function(e,t,n,r){return e('',[{expressions:[{type:t.ATTRIBUTE,name:"role",evaluate:function(e){return"toolbar"}}]},{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr70",selector:"[expr70]"}])},name:"material-navbar"}),yt("material-spinner",{css:null,exports:null,template:function(e,t,n,r){return e('',[{redundantAttribute:"expr83",selector:"[expr83]",expressions:[{type:t.ATTRIBUTE,name:"stroke-width",evaluate:function(e){return e.props.strokewidth||3}}]}])},name:"material-spinner"}),yt("material-button",bt),yt("material-waves",Ot),yt("material-checkbox",Et),yt("material-snackbar",Rt),yt("material-tabs",kt),yt("material-dropdown-list",At),yt("material-popup",It),yt("material-input",Nt);for(var mr,gr=(mr=hr,function(e,t,n){var r=void 0===n?{}:n,a=r.slots,i=r.attributes,o=r.parentScope;return function(){for(var e=arguments.length,t=new Array(e),n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n]+)>/g,(function(e,t){return"$"+n[t]})))}if("function"==typeof t){var i=this;return r[Symbol.replace].call(this,e,(function(){var e=[];return e.push.apply(e,arguments),"object"!=typeof e[e.length-1]&&e.push(o(e,i)),t.apply(this,e)}))}return r[Symbol.replace].call(this,e,t)},E.apply(this,arguments)}var A,w,C,I; +/* Riot v5.3.1, @license MIT */function N(e){return e.replace(/-(\w)/g,(function(e,t){return t.toUpperCase()}))}function R(e,t){e.firstChild&&(t.appendChild(e.firstChild),R(e,t))}function k(e){Array.from(e).forEach(U)}var U=function(e){return e&&e.parentNode&&e.parentNode.removeChild(e)},O=function(e,t){return t&&t.parentNode&&t.parentNode.insertBefore(e,t)},S=new Map,B=Symbol("riot-component"),L=new Set,D="is",j="mount",_="update",M="unmount",P="shouldUpdate",G="onBeforeMount",V="onMounted",z="onBeforeUpdate",H="onUpdated",$="onBeforeUnmount",F="onUnmounted",q="props",K="state",W="slots",X="root",Y=Symbol("pure"),Q=Symbol("is_updating"),J=Symbol("parent"),Z=Symbol("attributes"),ee=Symbol("template"),te=Object.freeze({__proto__:null,COMPONENTS_IMPLEMENTATION_MAP:S,DOM_COMPONENT_INSTANCE_PROPERTY:B,PLUGINS_SET:L,IS_DIRECTIVE:D,VALUE_ATTRIBUTE:"value",MOUNT_METHOD_KEY:j,UPDATE_METHOD_KEY:_,UNMOUNT_METHOD_KEY:M,SHOULD_UPDATE_KEY:P,ON_BEFORE_MOUNT_KEY:G,ON_MOUNTED_KEY:V,ON_BEFORE_UPDATE_KEY:z,ON_UPDATED_KEY:H,ON_BEFORE_UNMOUNT_KEY:$,ON_UNMOUNTED_KEY:F,PROPS_KEY:q,STATE_KEY:K,SLOTS_KEY:W,ROOT_KEY:X,IS_PURE_SYMBOL:Y,IS_COMPONENT_UPDATING:Q,PARENT_KEY_SYMBOL:J,ATTRIBUTES_KEY_SYMBOL:Z,TEMPLATE_KEY_SYMBOL:ee}),ne={EACH:0,IF:1,SIMPLE:2,TAG:3,SLOT:4},re={ATTRIBUTE:0,EVENT:1,TEXT:2,VALUE:3},ae=Symbol("head"),ie=Symbol("tail");function oe(e){var t=e.dom.cloneNode(!0),n=function(){var e=document.createComment("fragment head"),t=document.createComment("fragment tail");return e[ae]=!0,t[ie]=!0,{head:e,tail:t}}(),r=n.head,a=n.tail;return{avoidDOMInjection:!0,fragment:t,head:r,tail:a,children:[r].concat(g(Array.from(t.childNodes)),[a])}}function se(e){var t=e.head,n=e.tail,r=ue([t],t.nextSibling,(function(e){return e===n}),!1);return r.push(n),r}function ue(e,t,n,r){var a=t.nextSibling;return r||t[ae]||t[ie]||e.push(t),!a||n(t)?e:ue(e,a,n,r&&!t[ie]||a[ae])}function le(t,n){return e(t)===n}function ce(e){var t=e.ownerSVGElement;return!!t||null===t}function pe(e){return!me(e.content)}function de(e){return le(e,"function")}function fe(e){return!me(e)&&e.constructor===Object}function me(e){return null==e}var he=Symbol("unmount"),ge={nodes:[],mount:function(e,t){return this.update(e,t)},update:function(e,t){var n=this.placeholder,r=this.nodes,a=this.childrenMap,i=e===he?null:this.evaluate(e),o=function(e,t,n,r){var a=r.condition,i=r.template,o=r.childrenMap,s=r.itemName,u=r.getKey,l=r.indexName,c=r.root,p=r.isTemplateTag,d=new Map,f=[],m=[];return e.forEach((function(e,r){var h=function(e,t){var n=t.itemName,r=t.indexName,a=t.index,i=t.item;e[n]=i,r&&(e[r]=a);return e}(Object.create(t),{itemName:s,indexName:l,index:r,item:e}),v=u?u(h):r,y=o.get(v),x=[];if(!function(e,t){return!!e&&!1===Boolean(e(t))}(a,h)){var b=!y,T=y?y.template:i.clone(),E=T.el||c.cloneNode(),A=p&&b?oe(T):T.meta;b?f.push((function(){return T.mount(E,h,n,A)})):f.push((function(){return T.update(h,n)})),p?x.push.apply(x,g(b?A.children:se(A))):x.push(E),o.delete(v),m.push.apply(m,x),d.set(v,{nodes:x,template:T,context:h,index:r})}})),{newChildrenMap:d,batches:f,futureNodes:m}}(i?Array.from(i):[],e,t,this),s=o.newChildrenMap,u=o.batches,l=o.futureNodes;return function(e,t,n,r){for(var a,i,o=t.length,s=e.length,u=o,l=0,c=0,p=null;lh-c)for(var y=n(e[l],0);c'.concat(e,""),"application/xml").documentElement,!0)}(t,e):function(e,t){var n=pe(t)?t:document.createElement("template");return n.innerHTML=e,n.content}(t,e)}function He(e,t){switch(!0){case ce(e):R(t,e);break;case pe(e):e.parentNode.replaceChild(t,e);break;default:e.appendChild(t)}}var $e=Object.freeze({createDOM:function(e){return this.dom=this.dom||function(e,t){return t&&("string"==typeof t?ze(e,t):t)}(e,this.html),this},mount:function(e,t,n,r){var a=this;if(void 0===r&&(r={}),!e)throw new Error("Please provide DOM node to mount properly your template");this.el&&this.unmount(t);var i=r,o=i.fragment,s=i.children,u=i.avoidDOMInjection,l=(s?s[0]:e).parentNode,c=pe(e),p=c?Math.max(Array.from(l.childNodes).indexOf(e),0):null;return this.isTemplateTag=c,this.createDOM(e),this.dom&&(this.fragment=o||this.dom.cloneNode(!0)),this.el=this.isTemplateTag?l:e,this.children=this.isTemplateTag?s||Array.from(this.fragment.childNodes):null,!u&&this.fragment&&He(e,this.fragment),this.bindings=this.bindingsData.map((function(e){return Ve(a.el,e,p)})),this.bindings.forEach((function(e){return e.mount(t,n)})),this.meta=r,this},update:function(e,t){return this.bindings.forEach((function(n){return n.update(e,t)})),this},unmount:function(e,t,n){if(this.el){switch(this.bindings.forEach((function(r){return r.unmount(e,t,n)})),!0){case this.el[Y]:break;case this.children&&null!==n:k(this.children);break;case!0===n:U(this.el);break;case null!==n:k(this.el.childNodes)}this.el=null}return this},clone:function(){return Object.assign({},this,{meta:{},el:null})}});function Fe(e,t){return void 0===t&&(t=[]),Object.assign({},$e,{html:e,bindingsData:t})}var qe=Object.freeze({__proto__:null,template:Fe,createBinding:Ve,createExpression:Le,bindingTypes:ne,expressionTypes:re});function Ke(){return this}function We(e){return de(e)?e.prototype&&e.prototype.constructor?new e:e():e}function Xe(e,t,n,r){return void 0===r&&(r={}),Object.defineProperty(e,t,Object.assign({value:n,enumerable:!1,writable:!1,configurable:!0},r)),e}function Ye(e,t,n){return Object.entries(t).forEach((function(t){var r=m(t,2),a=r[0],i=r[1];Xe(e,a,i,n)})),e}function Qe(e,t){return Object.entries(t).forEach((function(t){var n=m(t,2),r=n[0],a=n[1];e[r]||(e[r]=a)})),e}function Je(e){return Array.isArray(e)?e:/^\[object (HTMLCollection|NodeList|Object)\]$/.test(Object.prototype.toString.call(e))&&"number"==typeof e.length?Array.from(e):[e]}function Ze(e,t){return Je("string"==typeof e?(t||document).querySelectorAll(e):e)}var et=function(e){return 1===e.length?e[0]:e};function tt(t,n,r){var i="object"===e(n)?n:a({},n,r),o=Object.keys(i);return Je(t).forEach((function(e){o.forEach((function(t){return e.setAttribute(t,i[t])}))})),t}function nt(e,t){return function(e,t,n){var r="string"==typeof t?[t]:t;return et(Je(e).map((function(e){return et(r.map((function(t){return e[n](t)})))})))}(e,t,"getAttribute")}var rt,at=new Map,it=function(){return rt||(tt(rt=Ze("style[riot]")[0]||document.createElement("style"),"type","text/css"),rt.parentNode||document.head.appendChild(rt),rt)},ot={CSS_BY_NAME:at,add:function(e,t){return at.has(e)||(at.set(e,t),this.inject()),this},inject:function(){return it().innerHTML=g(at.values()).join("\n"),this},remove:function(e){return at.has(e)&&(at.delete(e),this.inject()),this}};function st(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{this.props.link&&(window.location.href=this.props.link),"function"==typeof e&&e(t)}},onWaveStart(e){"function"==typeof this.props.onWaveStart&&this.props.onWaveStart(e)},onWaveEnd(e){"function"==typeof this.props.onWaveEnd&&this.props.onWaveEnd(e)}},template:function(e,t,n,r){return e('
    ',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-waves"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"center",evaluate:function(e){return e.props.wavesCenter}},{type:t.ATTRIBUTE,name:"rounded",evaluate:function(e){return e.props.rounded}},{type:t.ATTRIBUTE,name:"opacity",evaluate:function(e){return e.props.wavesOpacity}},{type:t.ATTRIBUTE,name:"color",evaluate:function(e){return e.props.wavesColor}},{type:t.ATTRIBUTE,name:"duration",evaluate:function(e){return e.props.wavesDuration}},{type:t.EVENT,name:"onWaveStart",evaluate:function(e){return e.onWaveStart}},{type:t.EVENT,name:"onWaveEnd",evaluate:function(e){return e.onWaveEnd}}],redundantAttribute:"expr45",selector:"[expr45]"},{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr46",selector:"[expr46]"}])},name:"material-button"},It={css:null,exports:{state:{titleExist:!0},onMounted(e,t){const n=this.$(".title");n.children&&0!==n.children.length||this.update({titleExist:!1})}},template:function(e,t,n,r){return e('
    ',[{type:n.IF,evaluate:function(e){return e.state.titleExist},redundantAttribute:"expr47",selector:"[expr47]",template:e('',[{type:n.SLOT,attributes:[],name:"title",redundantAttribute:"expr48",selector:"[expr48]"}])},{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr49",selector:"[expr49]"}])},name:"material-card"},Nt={css:null,exports:{onBeforeMount(e,t){t.checked=void 0!==e.checked?e.checked:t.checked},onBeforeUpdate(e,t){t.checked=void 0!==e.checked?e.checked:t.checked},onChange(e){"function"==typeof this.props.onChange&&this.props.onChange(!this.state.checked,e),this.update({checked:!this.state.checked})}},template:function(e,t,n,r){return e('
    ',[{redundantAttribute:"expr56",selector:"[expr56]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["checkbox ",e.state.checked?"checked":""].join("")}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.onChange}}]},{redundantAttribute:"expr57",selector:"[expr57]",expressions:[{type:t.EVENT,name:"onclick",evaluate:function(e){return e.onChange}}]},{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr58",selector:"[expr58]"},{redundantAttribute:"expr59",selector:"[expr59]",expressions:[{type:t.VALUE,evaluate:function(e){return e.state.checked}}]}])},name:"material-checkbox"},Rt={css:null,exports:{state:{opening:!1,opened:!1},onMounted(){this.state.opened=this.props.opened||!1,this.props.selected&&this.update({selected:props.selected})},onBeforeUpdate(e,t){e.opened!==t.opened&&(t.opening=!0)},onUpdated(e,t){t.opening&&setTimeout((()=>{this.update({opening:!1,opened:e.opened})}),e.opened?0:200)},select({item:e,key:t}){return this.update({selected:t}),"function"==typeof this.props.onSelect&&this.props.onSelect(t,e),!0}},template:function(e,t,n,r){return e('
      ',[{type:n.IF,evaluate:function(e){return e.state.opening||e.state.opened},redundantAttribute:"expr52",selector:"[expr52]",template:e('
    • ',[{expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["dropdown-content ",e.state.opening?"opening":""].join("")}}]},{type:n.EACH,getKey:null,condition:null,template:e('',[{expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return e.props.selected==e.key?"selected":""}}]},{type:n.IF,evaluate:function(e){return!e.item.link},redundantAttribute:"expr54",selector:"[expr54]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.item.title}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.select.bind(null,{item:e.item,key:e.key})}}]}])},{type:n.IF,evaluate:function(e){return e.item.link},redundantAttribute:"expr55",selector:"[expr55]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.item.title}},{type:t.ATTRIBUTE,name:"href",evaluate:function(e){return e.item.link}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.select(e.item)}},{type:t.ATTRIBUTE,name:"title",evaluate:function(e){return e.item.title}}]}])}]),redundantAttribute:"expr53",selector:"[expr53]",itemName:"item",indexName:"key",evaluate:function(e){return e.props.items}}])}])},name:"material-dropdown-list"},kt={css:null,exports:{onMounted(e,t){this.updateClasses()},onUpdated(e,t){this.updateClasses()},updateClasses(){const e=this.$(".mini-footer");for(let e=0;e0&&e.classList.add(`material-footer-${e.slot}`)}},template:function(e,t,n,r){return e('',[{type:n.SLOT,attributes:[],name:"sections",redundantAttribute:"expr67",selector:"[expr67]"},{type:n.SLOT,attributes:[],name:"logo",redundantAttribute:"expr68",selector:"[expr68]"},{type:n.SLOT,attributes:[],name:"link-list",redundantAttribute:"expr69",selector:"[expr69]"},{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr70",selector:"[expr70]"}])},name:"material-footer"},Ut=function(){function e(n){if(t(this,e),n||console.debug("Sorry, but for using validate mixin you should add an opts argument"),this.type=n.type,n.valid){if(this.validationType="function"==typeof this[n.valid]?"Function":"Regexp","Regexp"===this.validationType)try{this.validationRegexp=new RegExp(n.valid)}catch(e){throw new Error("Something wrong with your regular expression!. Checkout --- ".concat(e))}"Function"===this.validationType&&(this.validationFunction=this[n.valid]||!1)}else n&&-1!=Object.keys(this.base).indexOf(this.type)&&(this.validationType="Type")}return r(e,[{key:"base",get:function(){return{email:/^(([\w\.\-_]+)@[\w\-\_]+(\.\w+){1,}|)$/i,number:/^(\d+|)$/i,tel:/^((\+|\d)?([\d\-\(\)\#])|)+$/i,url:/([--:\w?@%&+~#=]*\.[a-z]{2,4}\/{0,2})((?:[?&](?:\w+)=(?:\w+))+|[--:\w?@%&+~#=]+)?/i}}},{key:"validate",value:function(e){return!this.validationType||this["validateBy"+this.validationType](e)}},{key:"validateByFunction",value:function(e){if(this.validationFunction)return this.validationFunction(e)}},{key:"validateByRegexp",value:function(e){if(this.validationRegexp)return this.validationRegexp.test(e)}},{key:"validateByType",value:function(e){return this.base[this.type].test(e)}}]),e}(),Ot={css:null,exports:{state:{focused:!1,showIcon:!1,value:"",disabled:!1,required:!1,error:!1},onMounted(){if(this.required="",this.notSupportedTypes=["date","color","datetime","month","range","time"],-1!=this.notSupportedTypes.indexOf(this.props.type))throw new Error(`Sorry but we do not support ${this.props.type} type yet!`);this.validator=new Ut(this.props),this.update({showIcon:!1,value:this.props.value||"",disabled:""===this.props.disabled||this.props.disabled||!1,required:""===this.props.required||this.props.required||!1}),this.$("input").addEventListener("focus",this.changeFocus),this.$("input").addEventListener("blur",this.changeFocus)},onBeforeUpdate(e,t){this.state.error=0!==t.value.length&&!this.validator.validate(t.value)},changeFocus(e){if(this.disabled)return!1;this.update({focused:this.$("input")==document.activeElement}),this.props.focuschanged&&"function"==typeof this.props.focuschanged&&this.props.focuschanged(this.focused,e)},changeValue(e){this.update({value:this.$("input").value}),this.props.valuechanged&&"function"==typeof this.props.valuechanged&&this.props.valuechanged(this.$("input").value,e)},iconClickHandler(e){this.props.iconclicked&&"function"==typeof this.props.iconclicked&&this.props.iconclicked.call(this,e)}},template:function(e,t,n,r){return e('
      ',[{redundantAttribute:"expr60",selector:"[expr60]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["input-content ",e.state.value?"not-empty":null," ",e.state.error?"error":null].join("")}}]},{type:n.IF,evaluate:function(e){return e.props.label},redundantAttribute:"expr61",selector:"[expr61]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.props.label}}]}])},{redundantAttribute:"expr62",selector:"[expr62]",expressions:[{type:t.ATTRIBUTE,name:"type",evaluate:function(e){return e.props.type||"text"}},{type:t.ATTRIBUTE,name:"disabled",evaluate:function(e){return e.state.disabled}},{type:t.ATTRIBUTE,name:"placeholder",evaluate:function(e){return e.props.placeholder}},{type:t.EVENT,name:"onkeyup",evaluate:function(e){return e.changeValue}},{type:t.VALUE,evaluate:function(e){return e.state.value}},{type:t.ATTRIBUTE,name:"required",evaluate:function(e){return e.state.required}}]},{type:n.IF,evaluate:function(e){return e.props.icon},redundantAttribute:"expr63",selector:"[expr63]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'',bindings:[{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr65",selector:"[expr65]"}]}],attributes:[{type:t.ATTRIBUTE,name:"waves-color",evaluate:function(e){return e.props["waves-color"]||"#fff"}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.iconClickHandler}},{type:t.ATTRIBUTE,name:"waves-opacity",evaluate:function(e){return e.props["waves-opacity"]||"0.6"}},{type:t.ATTRIBUTE,name:"waves-duration",evaluate:function(e){return e.props["waves-duration"]||"600"}}],redundantAttribute:"expr64",selector:"[expr64]"}])},{redundantAttribute:"expr66",selector:"[expr66]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["underline ",e.state.focused?"focused":null," ",e.state.error?"error":null].join("")}}]}])},name:"material-input"},St={css:null,exports:{state:{transition:!1,opened:!1},onMounted(e,t){},onBeforeUpdate(e,t){t.opened!==e.opened&&(t.transition=!0,setTimeout((()=>{this.update({opened:e.opened,transition:!1})}),e.opened?0:200))},onUpdated(e,t){const n=this.$(".content");if(n)for(let e=0;e',[{type:n.IF,evaluate:function(e){return e.props.opened||e.state.opened},redundantAttribute:"expr79",selector:"[expr79]",template:e('
      ',[{redundantAttribute:"expr80",selector:"[expr80]",expressions:[{type:t.EVENT,name:"onclick",evaluate:function(e){return e.onClick}}]},{redundantAttribute:"expr81",selector:"[expr81]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["popup ",e.state.transition?"opening":""," ",e.props.animation||"top"].join("")}}]},{type:n.SLOT,attributes:[],name:"title",redundantAttribute:"expr82",selector:"[expr82]"},{type:n.SLOT,attributes:[],name:"content",redundantAttribute:"expr83",selector:"[expr83]"},{type:n.SLOT,attributes:[],name:"action",redundantAttribute:"expr84",selector:"[expr84]"}])}])},name:"material-popup"},Bt={css:null,exports:{state:{toasts:{}},onBeforeUpdate(e,t){e.message&&!t.internal&&this.addToast({message:e.message,isError:e.isError},e.duration),t.internal=!1},addToast(e,t){var n=this.toastID=Math.random().toString(36).substring(7);this.state.toasts[n]=Object.assign(e,{opening:!0}),setTimeout((()=>{this.state.toasts[n].opening=!1,this.update({toasts:this.state.toasts,internal:!0})}),50),this.state.toasts[n].interval=setTimeout((()=>{this.removeToast(n)}),t||5e3)},removeToastByClick(e){return()=>{clearInterval(this.state.toasts[e].interval),this.removeToast(e)}},removeToast(e){this.state.toasts[e]&&(this.state.toasts[e].opening=!0,this.update({toasts:this.state.toasts,internal:!0}),setTimeout((()=>{delete this.state.toasts[e],this.update({toasts:this.state.toasts,internal:!0})}),200))}},template:function(e,t,n,r){return e('
      ',[{type:n.EACH,getKey:null,condition:null,template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.state.toasts[e.toastID].message].join("")}},{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["toast ",e.state.toasts[e.toastID].isError?"error":""," ",e.state.toasts[e.toastID].opening?"opening":""].join("")}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.removeToastByClick(e.toastID)}}]}]),redundantAttribute:"expr78",selector:"[expr78]",itemName:"toastID",indexName:null,evaluate:function(e){return Object.keys(e.state.toasts)}}])},name:"material-snackbar"},Lt={css:null,exports:{state:{selected:0},onMounted(e,t){const n=this.$(".line");this.$$("material-button").forEach((e=>{e.style.width=(100/this.props.tabs.length).toFixed(2)+"%",n&&(n.style.width=e.style.width)})),this.setLinePosition()},onTabChanged(e,t){this.update({selected:t}),this.setLinePosition(),"function"==typeof this.props.onTabChanged&&this.props.onTabChanged(this.props.tabs[t],t)},setLinePosition(){const e=this.$(".line");e&&(e.style.left=(100/this.props.tabs.length).toFixed(2)*this.state.selected+"%")},cut:e=>e.length>props.cut?e.substr(0,props.cut)+"...":e},template:function(e,t,n,r){return e('
      ',[{type:n.EACH,getKey:null,condition:null,template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'
      ',bindings:[{redundantAttribute:"expr86",selector:"[expr86]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.props.cut?e.cut(e.tab.title):e.tab.title}},{type:t.ATTRIBUTE,name:"title",evaluate:function(e){return e.tab.title}}]}]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return t=>e.onTabChanged(t,e.k)}},{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return e.state.selected==e.k?"selected":""}},{type:t.ATTRIBUTE,name:"waves-opacity",evaluate:function(e){return e.props.wavesOpacity}},{type:t.ATTRIBUTE,name:"waves-duration",evaluate:function(e){return e.props.wavesDuration}},{type:t.ATTRIBUTE,name:"waves-center",evaluate:function(e){return e.props.wavesCenter}},{type:t.ATTRIBUTE,name:"waves-color",evaluate:function(e){return e.props.wavesColor}}]}]),redundantAttribute:"expr85",selector:"[expr85]",itemName:"tab",indexName:"k",evaluate:function(e){return e.props.tabs}},{type:n.IF,evaluate:function(e){return e.props.useLine},redundantAttribute:"expr87",selector:"[expr87]",template:e('
      ',[])},{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr88",selector:"[expr88]"}])},name:"material-tabs"},Dt=function(e){s(o,e);var n,a,i=(n=o,a=c(),function(){var e,t=u(n);if(a){var r=u(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return f(this,e)});function o(e,n,r){var a;return t(this,o),a=i.call(this),e||console.error("You should set container to the wave!"),a.container=e,a.maxOpacity=n.opacity||.6,a.duration=n.duration||750,a.color=n.color||"#fff",a.center=n.center||!1,a.event=r,a.containerBound=a.receiveBound(),a.maxScale=a.containerBound.size/100*10,a.created=Date.now(),a.start={},a.createNode(),a.waveIn(),a}return r(o,[{key:"createNode",value:function(){this.wave=document.createElement("div"),this.wave.classList.add("wave"),this.container.appendChild(this.wave)}},{key:"waveIn",value:function(){var e=this;this.center&&!this.event&&console.error("Setup at least mouse event... Or just set center attribute"),this.start.x=this.center?this.containerBound.height/2:this.event.pageY-this.containerBound.offsetTop,this.start.y=this.center?this.containerBound.width/2:this.event.pageX-this.containerBound.offsetLeft;var t=-1!==window.navigator.userAgent.indexOf("Trident");setTimeout((function(){return e.setStyles(e.maxOpacity)}),t?50:0)}},{key:"waveOut",value:function(e){var t=this,n=Date.now()-this.created,r=Math.round(this.duration/2)-n;setTimeout((function(){t.setStyles(0),setTimeout((function(){t.wave.parentNode===t.container&&(t.container.removeChild(t.wave),e())}),t.duration)}),r>0?r:0)}},{key:"setStyles",value:function(e){this.wave.setAttribute("style",this.convertStyle({top:"".concat(this.start.x,"px"),left:"".concat(this.start.y,"px"),transform:"scale(".concat(this.maxScale,")"),"transition-duration":"".concat(this.duration,"ms"),"transition-timing-function":"cubic-bezier(0.250, 0.460, 0.450, 0.940)",background:this.color,opacity:e}))}},{key:"convertStyle",value:function(e){var t="";return Object.keys(e).forEach((function(n){e.hasOwnProperty(n)&&(t+=n+":"+e[n]+";")})),t}}]),o}(function(){function n(){t(this,n)}return r(n,[{key:"receiveBound",value:function(){var t;this.container||console.error("Yor class must contain a container. It is DOM Element. Define please this.container property.");var n=this.container&&this.container.ownerDocument,r=n.documentElement;"undefined"!==e(this.container.getBoundingClientRect)&&(t=this.container.getBoundingClientRect());var a=this.getWindow(n);return this.mix(t,{size:Math.max(t.width,t.height),offsetTop:t.top+a.pageYOffset-r.clientTop,offsetLeft:t.left+a.pageXOffset-r.clientLeft})}},{key:"isWindow",value:function(e){return null!==e&&e===e.window}},{key:"getWindow",value:function(e){return this.isWindow(e)?e:9===e.nodeType&&e.defaultView}},{key:"mix",value:function(e,t){for(var n in e)n in t||(t[n]=e[n]);return t}}]),n}()),jt={css:null,exports:{onMounted(){this._waves=[],this._events=[]},launch(e){var t=new Dt(this.$("#waves"),this.props,e);this._waves.push(t),this.props.onWaveStart&&this.props.onWaveStart(t),this._events.length||(this._events.push(e.target.addEventListener("mouseup",(()=>this.hold()))),this._events.push(e.target.addEventListener("mouseleave",(()=>this.hold()))))},hold(){this._waves[this._waves.length-1]&&this._waves[this._waves.length-1].waveOut(this.waveOut),this._waves[this._waves.length-1]&&this._waves.slice(this._waves.length-1,1)},waveOut(){this.props.onWaveEnd&&this.props.onWaveEnd()}},template:function(e,t,n,r){return e('
      ',[{redundantAttribute:"expr90",selector:"[expr90]",expressions:[{type:t.EVENT,name:"onmousedown",evaluate:function(e){return e.launch}}]}])},name:"material-waves"};function _t(e){var t={exports:{}};return e(t,t.exports),t.exports}function Mt(e,t){void 0===t&&(t={});for(var n=function(e){for(var t=[],n=0;n=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122||95===u))break;o+=e[s++]}if(!o)throw new TypeError("Missing parameter name at "+n);t.push({type:"NAME",index:n,value:o}),n=s}else t.push({type:"CLOSE",index:n,value:e[n++]});else t.push({type:"OPEN",index:n,value:e[n++]});else t.push({type:"ESCAPED_CHAR",index:n++,value:e[n++]});else t.push({type:"MODIFIER",index:n,value:e[n++]})}return t.push({type:"END",index:n,value:""}),t}(e),r=t.prefixes,a=void 0===r?"./":r,i="[^"+Pt(t.delimiter||"/#?")+"]+?",o=[],s=0,u=0,l="",c=function(e){if(u-1:void 0===b;a||(f+="(?:"+d+"(?="+p+"))?"),T||(f+="(?="+d+"|"+p+")")}return new RegExp(f,Gt(n))}(Mt(e,n),t,n)}function zt(e,t,n){return e instanceof RegExp?function(e,t){if(!t)return e;var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r=0;--i){var o=this.tryEntries[i],s=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var u=a.call(o,"catchLoc"),l=a.call(o,"finallyLoc");if(u&&l){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&a.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),R(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;R(n)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:U(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=n),g}},t}(t.exports);try{regeneratorRuntime=n}catch(e){Function("r","regeneratorRuntime = r")(n)}}));var Ht=Symbol();function $t(){for(var e=arguments.length,t=new Array(e),n=0;n1?n-1:0),a=1;a',[{type:n.IF,evaluate:function(e){return e.state.route},redundantAttribute:"expr0",selector:"[expr0]",template:e('',[{type:n.SLOT,attributes:[{type:t.ATTRIBUTE,name:"route",evaluate:function(e){return e.state.route}}],name:"default",redundantAttribute:"expr1",selector:"[expr1]"}])}])},name:"route-hoc"},hn="popstate",gn="click",vn="/",yn=/^.+?\/\/+[^/]+/,xn=function(){return"undefined"==typeof window?null:window},bn=function(){return"undefined"==typeof document?null:document},Tn=function(){var e=xn();return e?e.location:{}},En=function(e){return e[e.length-1]===vn?e.substr(0,e.length-1):e},An=function(e){var t,n=xn().location,r=n?"".concat(n.protocol,"//").concat(n.host):"",a=(n||{}).pathname;switch(!0){case!1===Boolean(e):return En("".concat(r).concat(a||""));case/(www|http(s)?:)/.test(e):return e;case"#"===e[0]:return"".concat(r).concat(a&&a!==vn?a:"").concat(e);case e===vn:return En(r);default:return En("".concat(r).concat((t=e)[0]===vn?t:"".concat(vn).concat(t)))}};function wn(e){return Array.isArray(e)?e:/^\[object (HTMLCollection|NodeList|Object)\]$/.test(Object.prototype.toString.call(e))&&"number"==typeof e.length?Array.from(e):[e]}function Cn(e,t,n,r,a){var i;e=wn(e),(i=t,i.split(/\s/)).forEach((function(t){e.forEach((function(e){return e[r](t,n,a||!1)}))}))}function In(e,t,n,r){return Cn(e,t,n,"addEventListener",r),e}function Nn(e,t,n,r){return Cn(e,t,n,"removeEventListener",r),e}var Rn=function(e){return 1===e.length?e[0]:e};function kn(e,t){return function(e,t,n){var r="string"==typeof t?[t]:t;return Rn(wn(e).map((function(e){return Rn(r.map((function(t){return e[n](t)})))})))}(e,t,"hasAttribute")}var Un=function(){return tn.push(Dn(String(Tn().href)))},On=function(e){var t=e.includes(nn.base)?e:nn.base+e,n=Tn(),r="undefined"==typeof history?null:history,a=bn();r&&t!==n.href&&r.pushState(null,a.title,t)},Sn=function e(t){return t&&!Bn(t)?e(t.parentNode):t},Bn=function(e){return"A"===e.nodeName},Ln=function(e){return!e||!Bn(e)||kn(e,"download")||!kn(e,"href")||function(e){return e.target&&"_self"!==e.target}(e)||-1===e.href.indexOf(Tn().href.match(yn)[0])},Dn=function(e){return e.replace(nn.base,"")},jn=function(e){if(!function(e){return e.which&&1!==e.which||e.metaKey||e.ctrlKey||e.shiftKey||e.defaultPrevented}(e)){var t=Sn(e.target);if(!Ln(t)&&!function(e){return e.split("#").length>1}(t.href)&&function(e){return!nn.base||e.includes(nn.base)}(t.href)){var n=Dn(t.href);tn.push(n),e.preventDefault()}}};var _n,Mn=wt.DOMBindings,Pn=Mn.template,Gn=Mn.bindingTypes,Vn=window.requestAnimationFrame||window.setTimeout,zn=window.cancelAnimationFrame||window.clearTimeout,Hn=!1,$n={css:null,exports:(_n=function(e){var t=e.slots,n=e.attributes,r=e.props;Hn&&function(e){throw new Error(e)}("Multiple components are not supported");var a=function(e){return n&&n.find((function(t){return t.name.replace(/-(\w)/g,(function(e,t){return t.toUpperCase()}))===e}))};return{slot:null,el:null,teardown:null,mount:function(e,t){var n,r,i,o=this,s=a("initialRoute"),u=s?s.evaluate(t):null,l=pn();Hn=!0,this.el=e,this.teardown=(n=this.root,r=xn(),i=n||bn(),r&&(In(r,hn,Un),In(i,gn,jn)),tn.on.value(On),function(){r&&(Nn(r,hn,Un),Nn(i,gn,jn)),tn.off.value(On)}),this.setBase(t),l&&!u?this.createSlot(t):(tn.on.value((function e(){o.createSlot(t),tn.off.value(e)})),tn.push(u||window.location.href))},createSlot:function(e){if(t&&t.length){var n=a("onStarted");this.slot=Pn(null,[{type:Gn.SLOT,name:"default"}]),this.slot.mount(this.el,{slots:t},e),n&&n.evaluate(e)(pn())}},update:function(e){var t=this;this.setBase(e),this.slot&&(zn(this.deferred),this.deferred=Vn((function(){t.slot.update({},e)})))},unmount:function(){var e;this.teardown(),Hn=!1,this.slot&&(e=this.slot).unmount.apply(e,arguments)},getBase:function(e){var t=a("base");return t?t.evaluate(e):"/"},setBase:function(e){var t;t=r?r.base:this.getBase(e),nn.base=An(t)}}},de(_n)||ye('riot.pure accepts only arguments of type "function"'),_n[Y]=!0,_n),template:null,name:"router-hoc"};function Fn(e){if(null==e||isNaN(e))return"?";if(0==e)return"0 Byte";var t=parseInt(Math.floor(Math.log(e)/Math.log(1024)));return Math.ceil(e/Math.pow(1024,t))+" "+["Bytes","KB","MB","GB","TB"][t]}function qn(e,t,n){return n||(n=100),e?e.slice((t-1)*n,n*t):[]}function Kn(e,t){return t||(t=100),e?Math.trunc(e.length/t)+1:0}function Wn(e){return e?e.replace(/^https?:\/\//,""):""}function Xn(e){return e>="0"&&e<="9"}var Yn={message:"Access on registry response was blocked. Try adding the header `Access-Control-Expose-Headers: Docker-Content-Digest` to your proxy or registry: https://docs.docker.com/registry/configuration/#http",isError:!0};function Qn(e){try{var t=JSON.parse(localStorage.getItem("registryServer"));if(t instanceof Array)return isNaN(e)?t.map((function(e){return e.trim().replace(/\/*$/,"")})):t[e]}catch(e){}return isNaN(e)?[]:""}function Jn(e){if(e)return e.indexOf("&")<0?window.encodeURIComponent(e):btoa(e)}function Zn(){var e={};return window.location.search.slice(1).split("&").forEach((function(t){var n=t.indexOf("=");e[t.slice(0,n)]=n<0?"":t.slice(n+1)})),e}function er(e){var t=Zn();for(var n in e)null===e[n]?delete t[n]:t[n]=e[n];return t}function tr(e){var t=[];for(var n in e)n&&void 0!==e[n]&&t.push("".concat(n,"=").concat(e[n]));return 0===t.length?"":"?".concat(t.join("&"))}function nr(e){var t=window.location,n=er(e);return t.origin+t.pathname+tr(n)}var rr={home:function(){tn.push(nr({page:null}))},taglist:function(e){tn.push("".concat(nr({page:null}),"#!/taglist/").concat(e))},getTagListImage:function(){return pn().replace(/^.*(#!)?\/?taglist\//,"")},history:function(e,t){tn.push("".concat(nr({page:null}),"#!/taghistory/image/").concat(e,"/tag/").concat(t))},getTagHistoryImage:function(){return pn().replace(/^.*(#!)?\/?taghistory\/image\/(.*)\/tag\/(.*)\/?$/,"$2")},getTagHistoryTag:function(){return pn().replace(/^.*(#!)?\/?taghistory\/image\/(.*)\/tag\/(.*)\/?$/,"$3")},updateQueryString:function(e){var t=tr(er(e));history.pushState(null,"",t+window.location.hash)},updateUrlQueryParam:function(e){this.updateQueryString({url:Jn(e)})},getUrlQueryParam:function(){var e=Zn().url;if(e)try{return function(e){if(e)return e.startsWith("http")?window.decodeURIComponent(e):atob(e)}(e)}catch(t){console.error("Can't decode query parameter URL: ".concat(e),t)}},updatePageQueryParam:function(e){this.updateQueryString({page:e})},getPageQueryParam:function(){return Zn().page}};function ar(e,t){return!e||t&&t.toLowerCase().indexOf(e)>=0}var ir={css:'search-bar material-input,[is="search-bar"] material-input{ position: absolute; top: 0em; right: 64px; max-width: 20%; } @media screen and (max-width: 400px) { search-bar material-input,[is="search-bar"] material-input{ display: none; } } search-bar material-input input,[is="search-bar"] material-input input{ color: #fff; }',exports:{onMounted(e,t){const n=this.$("input");let r="";const a=()=>{r!==n.value&&e.onSearch(n.value.toLowerCase()),r=n.value};n.addEventListener("keyup",a),tn.on.value((()=>{n.value="",a()}))}},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-input"},slots:[],attributes:[],redundantAttribute:"expr14",selector:"[expr14]"}])},name:"search-bar"},or={css:null,exports:{onBeforeMount(e,t){e.item.images&&1===e.item.images.length?t.image=e.item.images[0]:"string"==typeof e.item?t.image=e.item:e.item.images&&e.item.repo&&(t.images=e.item.images,t.repo=e.item.repo,t.nImages=e.item.images.length)},onBeforeUpdate(e,t){e.filterResults&&t.images?t.nImages=t.images.filter((t=>ar(e.filterResults,t))).length:t.nImages=t.images&&t.images.length},onClick(){const e=this.state;e.repo?(this.update({expanded:!this.state.expanded,expanding:!0}),setTimeout((()=>{this.update({expanding:!1})}),50)):rr.taglist(e.image)},setLaunchListener(e){this.triggerLaunch=e},matchSearch:ar},template:function(e,t,n,r){return e('
      ',[{type:n.IF,evaluate:function(e){return!e.props.filterResults||e.state.nImages>0||e.matchSearch(e.props.filterResults,e.state.image)},redundantAttribute:"expr91",selector:"[expr91]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-card"},slots:[{id:"default",html:'send
      ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-waves"},slots:[],attributes:[{type:t.EVENT,name:"onmousedown",evaluate:function(e){return e.triggerLaunch}},{type:t.ATTRIBUTE,name:"setLaunchListener",evaluate:function(e){return e.setLaunchListener}}],redundantAttribute:"expr93",selector:"[expr93]"},{redundantAttribute:"expr94",selector:"[expr94]",expressions:[{type:t.TEXT,childNodeIndex:1,evaluate:function(e){return[e.state.image||e.state.repo].join("")}}]},{type:n.IF,evaluate:function(e){return e.state.images},redundantAttribute:"expr95",selector:"[expr95]",template:e(' expand_more',[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.state.nImages," images"].join("")}}]},{redundantAttribute:"expr96",selector:"[expr96]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["material-icons animated ",e.state.expanded?"expanded":""].join("")}}]}])}]}],attributes:[{type:t.ATTRIBUTE,name:"expanded",evaluate:function(e){return e.state.expanded}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.onClick}}],redundantAttribute:"expr92",selector:"[expr92]"},{type:n.EACH,getKey:null,condition:function(e){return e.state.images},template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"catalog-element"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"filter-results",evaluate:function(e){return e.props.filterResults}},{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["animated ",e.state.expanded||e.props.filterResults?"":"hide"," ",e.state.expanding?"expanding":""].join("")}},{type:t.ATTRIBUTE,name:"item",evaluate:function(e){return e.item}}]}]),redundantAttribute:"expr97",selector:"[expr97]",itemName:"item",indexName:null,evaluate:function(e){return e.state.images}}])}])},name:"catalog-element"},sr=function(){function e(n){t(this,e),this.oReq=new XMLHttpRequest,this.oReq.hasHeader=ur,this.oReq.getErrorMessage=lr,this._events={},this._headers={},this.onAuthentication=n&&n.onAuthentication,this.withCredentials=n&&n.withCredentials}return r(e,[{key:"getContentDigest",value:function(e){this.oReq.hasHeader("Docker-Content-Digest")?e(this.oReq.getResponseHeader("Docker-Content-Digest")):window.crypto&&window.TextEncoder&&crypto.subtle.digest("SHA-256",(new TextEncoder).encode(this.oReq.responseText)).then((function(t){e("sha256:"+Array.from(new Uint8Array(t)).map((function(e){return e.toString(16).padStart(2,"0")})).join(""))}))}},{key:"addEventListener",value:function(t,n){this._events[t]=n;var r=this;switch(t){case"loadend":r.oReq.addEventListener("loadend",(function(){if(401!=this.status||this.withCredentials)n.bind(this)();else{var t=pr(this.getResponseHeader("www-authenticate"));r.onAuthentication(t,(function(t){var n=new XMLHttpRequest;for(var a in n._url=r._url,n.open(r._method,r._url),r._events)n.addEventListener(a,r._events[a]);for(var i in r._headers)n.setRequestHeader(i,r._headers[i]);t&&t.token?n.setRequestHeader("Authorization","Bearer ".concat(t.token)):n.withCredentials=!0,n.hasHeader=ur,n.getErrorMessage=e.getErrorMessage,r.oReq=n,n.send()}))}}));break;case"load":r.oReq.addEventListener("load",(function(){401!==this.status&&n.bind(this)()}));break;default:r.oReq.addEventListener(t,(function(){n.bind(this)()}))}}},{key:"setRequestHeader",value:function(e,t){this.oReq.setRequestHeader(e,t),this._headers[e]=t}},{key:"open",value:function(e,t){this._method=e,this._url=t,this.oReq._url=t,this.withCredentials&&(this.oReq.withCredentials=!0),this.oReq.open(e,t)}},{key:"send",value:function(){this.oReq.send()}}]),e}(),ur=function(e){return this.getAllResponseHeaders().split("\n").some((function(t){return new RegExp("^"+e+":","i").test(t)}))},lr=function(){return this._url.match("^http://")&&"https:"===window.location.protocol?"Mixed Content: The page at `"+window.location.origin+"` was loaded over HTTPS, but requested an insecure server endpoint `"+new URL(this._url).origin+"`. This request has been blocked; the content must be served over HTTPS.":this._url&&this._url.match("^http")?this.withCredentials&&!this.hasHeader("Access-Control-Allow-Credentials")?"The `Access-Control-Allow-Credentials` header in the response is missing and must be set to `true` when the request's credentials mode is on. Origin `"+new URL(this._url).origin+"` is therefore not allowed access.":"An error occured: Check your connection and your registry must have `Access-Control-Allow-Origin` header set to `"+window.location.origin+"`":"Incorrect server endpoint."},cr=E(/Bearer realm="((?:(?!")[\s\S])+)",service="((?:(?!")[\s\S])+)",scope="((?:(?!")[\s\S])+)"/,{realm:1,service:2,scope:3}),pr=function(e){var t=cr.exec(e);return t&&t.groups},dr={css:null,exports:{components:{CatalogElement:or},state:{registryName:"",length:0,loadend:!1,repositories:[]},onBeforeMount(e){this.state.registryName=e.registryName,this.state.catalogElementsLimit=e.catalogElementsLimit},onMounted(e){this.display(e,this.state)},display(e,t){let n=[];const r=this,a=new sr({onAuthentication:this.props.onAuthentication});a.addEventListener("load",(function(){200==this.status?(n=JSON.parse(this.responseText).repositories||[],n.sort(),n=n.reduce((function(e,t){const n=t.indexOf("/");if(n>0){const r=t.substring(0,n)+"/";return 0!=e.length&&e[e.length-1].repo==r||e.push({repo:r,images:[]}),e[e.length-1].images.push(t),e}return e.push(t),e}),[])):404==this.status?r.props.onNotify("Server not found",!0):r.props.onNotify(this.responseText)})),a.addEventListener("error",(function(){r.props.onNotify(this.getErrorMessage(),!0)})),a.addEventListener("loadend",(function(){r.update({repositories:n,nRepositories:n.length,nImages:n.reduce(((e,t)=>e+(t.images&&t.images.length||1)),0),loadend:!0})})),a.open("GET",`${e.registryUrl}/v2/_catalog?n=${t.catalogElementsLimit}`),a.send()}},template:function(e,t,n,r){return e('
      ',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-card"},slots:[{id:"default",html:'

      ',bindings:[{redundantAttribute:"expr16",selector:"[expr16]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return["Repositories of ",e.state.registryName].join("")}}]},{redundantAttribute:"expr17",selector:"[expr17]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.state.nImages," images in ",e.state.nRepositories," repositories"].join("")}}]}]}],attributes:[],redundantAttribute:"expr15",selector:"[expr15]"},{type:n.IF,evaluate:function(e){return!e.state.loadend},redundantAttribute:"expr18",selector:"[expr18]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-spinner"},slots:[],attributes:[],redundantAttribute:"expr19",selector:"[expr19]"}])},{type:n.EACH,getKey:null,condition:null,template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"catalog-element"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"item",evaluate:function(e){return e.item}},{type:t.ATTRIBUTE,name:"filter-results",evaluate:function(e){return e.props.filterResults}}]}]),redundantAttribute:"expr20",selector:"[expr20]",itemName:"item",indexName:null,evaluate:function(e){return e.state.repositories}}])},name:"catalog"},fr=_t((function(e,t){var n,r,a,i,o,s,u;n="*",r=Object.defineProperties,a=Object.entries,i=function(e,t){return function(n,r){return e.has(n)?e.get(n).add(r):e.set(n,(new Set).add(r)),t}},o=function(e,t){return function(r,a){if(r!==n||a)if(a){var i=e.get(r);i&&(i.delete(a),0===i.size&&e.delete(r))}else e.delete(r);else e.clear();return t}},s=function(e,t){return function(e,n){return t.on(e,(function r(){t.off(e,r);for(var a=arguments.length,i=new Array(a),o=0;o1?a-1:0),o=1;o0&&Xn(e[e.length-1].charAt(0))==Xn(t)?e[e.length-1]+=t:e.push(t),e};function hr(e,t){for(var n=e.tag.match(/./g).reduce(mr,[]),r=t.tag.match(/./g).reduce(mr,[]),a=0;a{this.update({digest:e})}))},onMounted(e,t){e.image.trigger("get-content-digest")},onBeforeUpdate(e,t){t.checked=e.checked},deleteImage(){this.props.handleCheckboxChange(br,this.props.image)},handleCheckboxChange(e){const t=e?yr:xr;this.props.handleCheckboxChange(t,this.props.image)}},template:function(e,t,n,r){return e('',[{type:n.IF,evaluate:function(e){return!e.props.multiDelete},redundantAttribute:"expr145",selector:"[expr145]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'delete',bindings:[]}],attributes:[{type:t.ATTRIBUTE,name:"disabled",evaluate:function(e){return!e.state.digest}},{type:t.EVENT,name:"onClick",evaluate:function(e){return e.deleteImage}}]}])},{type:n.IF,evaluate:function(e){return e.props.multiDelete},redundantAttribute:"expr146",selector:"[expr146]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-checkbox"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"disabled",evaluate:function(e){return!e.state.digest}},{type:t.EVENT,name:"onChange",evaluate:function(e){return e.handleCheckboxChange}},{type:t.ATTRIBUTE,name:"checked",evaluate:function(e){return e.state.checked}}]}])}])},name:"remove-image"};const yr="CHECK",xr="UNCHECK",br="DELETE";const Tr=function(e){switch(e){case"created":return 1;case"created_by":return 2;case"size":return 3;case"os":return 4;case"architecture":return 5;case"id":return 6;case"linux":return 7;case"docker_version":return 8;default:return 10}},Er=function(e,t){return Tr(e.key)-Tr(t.key)},Ar=function(e,t){switch(e){case"created":return new Date(t).toLocaleString();case"created_by":const e=t.match(/\/bin\/sh *-c *#\(nop\) *([A-Z]+)/);return e&&e[1]||"RUN";case"size":return Fn(t);case"Entrypoint":case"Cmd":return(t||[]).join(" ");case"Labels":return Object.keys(t||{}).map((function(e){return t[e]?e+"="+t[e]:""}));case"Volumes":case"ExposedPorts":return Object.keys(t)}return t||""};var wr={css:null,exports:{components:{Catalog:dr,TagList:{css:null,exports:{components:{Pagination:{css:null,exports:null,template:function(e,t,n,r){return e('
      ',[{type:n.EACH,getKey:null,condition:null,template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'
      ',bindings:[{type:n.IF,evaluate:function(e){return e.p.icon},redundantAttribute:"expr99",selector:"[expr99]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.p.icon}}]}])},{type:n.IF,evaluate:function(e){return!e.p.icon},redundantAttribute:"expr100",selector:"[expr100]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.p.page}}]}])}]}],attributes:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return[e.p.current?"current":""," ",e.p["space-left"]?"space-left":""," ",e.p["space-right"]?"space-right":""].join("")}},{type:t.EVENT,name:"onClick",evaluate:function(e){return()=>e.props.onPageUpdate(e.p.page)}}]}]),redundantAttribute:"expr98",selector:"[expr98]",itemName:"p",indexName:null,evaluate:function(e){return e.props.pages}}])},name:"pagination"},TagTable:{css:null,exports:{components:{ImageDate:{css:null,exports:{onMounted(e){e.image.one("creation-date",(e=>{this.update({date:e,localDate:e.toLocaleString()})})),e.image.trigger("get-date")},getDate:e=>function(e){if(void 0===e)return"";for(var t=["a second","seconds","a minute","minutes","an hour","hours","a day","days","a month","months","a year","years"],n=[1,60,3600,86400,2592e3,31104e3,1/0],r=(new Date-e)/1e3,a=0;a=r)return t[2*a];if(n[a+1]>r)return Math.floor(r/n[a])+" "+t[2*a+1]}}(e.creationDate),getLocalDate:e=>e.creationDate&&e.creationDate.toLocaleString()||"unknown"},template:function(e,t,n,r){return e('
      ',[{redundantAttribute:"expr138",selector:"[expr138]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.getDate(e.props.image)," ago"].join("")}},{type:t.ATTRIBUTE,name:"title",evaluate:function(e){return["Creation date ",e.getLocalDate(e.props.image)].join("")}}]}])},name:"image-date"},ImageSize:{css:null,exports:{onMounted(e,t){this.load(e,t)},onUpdated(e,t){this.load(e,t)},load(e,t){"number"!=typeof e.image.size&&(e.image.on("size",(e=>{this.update({size:e})})),e.image.trigger("get-size"))},getImageSize:e=>Fn(e.size)},template:function(e,t,n,r){return e('
      ',[{redundantAttribute:"expr139",selector:"[expr139]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.getImageSize(e.props.image)}}]}])},name:"image-size"},ImageTag:{css:null,exports:{onMounted(e){e.image.on("sha256",(e=>{this.update({sha256:e.substring(0,19)})})),e.image.trigger("get-sha256")}},template:function(e,t,n,r){return e('
      ',[{redundantAttribute:"expr140",selector:"[expr140]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.props.image.tag}},{type:t.ATTRIBUTE,name:"title",evaluate:function(e){return e.state.sha256}}]}])},name:"image-tag"},ImageContentDigest:{css:null,exports:{onMounted(e,t){this.load(e,t)},onUpdated(e,t){this.load(e,t)},load(e,t){e.image.digest||(t.chars=-1,e.image.one("content-digest",(t=>{this.digest=t,e.image.on("content-digest-chars",this.onResize),e.image.trigger("get-content-digest-chars")})),e.image.trigger("get-content-digest"))},onResize(e){e!==this.state.chars&&this.update({chars:e})},getTitle:(e,t)=>t>=70?"":e.digest||"",getDigest:(e,t)=>t>=70?e.digest||"":t<=0?"":e.digest&&e.digest.slice(0,t)+"..."},template:function(e,t,n,r){return e('
      ',[{redundantAttribute:"expr141",selector:"[expr141]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.getDigest(e.props.image,e.state.chars)}},{type:t.ATTRIBUTE,name:"title",evaluate:function(e){return e.getTitle(e.props.image,e.state.chars)}}]}])},name:"image-content-digest"},CopyToClipboard:{css:null,exports:{onMounted(e,t){this.load(e,t)},onUpdated(e,t){this.load(e,t)},getDockerCmd:e=>"tag"===e.target?`docker pull ${e.pullUrl}/${e.image.name}:${e.image.tag}`:`docker pull ${e.pullUrl}/${e.image.name}@${e.image.digest}`,load(e,t){"tag"===e.target||e.image.digest||(e.image.one("content-digest",(e=>{this.update()})),e.image.trigger("get-content-digest"))},copy(){const e=this.$("input");e.value?(e.style.display="block",e.select(),document.execCommand("copy"),e.style.display="none",this.props.onNotify("`"+e.value+"` has been copied to clipboard.")):this.props.onNotify(Yn)}},template:function(e,t,n,r){return e('
      ',[{redundantAttribute:"expr142",selector:"[expr142]",expressions:[{type:t.VALUE,evaluate:function(e){return e.getDockerCmd(e.props)}}]},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'content_copy',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.copy}}],redundantAttribute:"expr143",selector:"[expr143]"}])},name:"copy-to-clipboard"},RemoveImage:vr,TagHistoryButton:{css:null,exports:{routeToHistory(){rr.history(this.props.image.name,this.props.image.tag)}},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'history',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.routeToHistory}}],redundantAttribute:"expr144",selector:"[expr144]"}])},name:"tag-history-button"},ConfirmDeleteImage:{css:'confirm-delete-image,[is="confirm-delete-image"]{ color: #000; list-style-type: disc; margin-block-start: 0.7em; } confirm-delete-image material-popup .content .material-popup-content,[is="confirm-delete-image"] material-popup .content .material-popup-content{ overflow-y: auto; max-height: 250px; }',exports:{displayImagesToDelete(e,t){const n=new Set;return e.forEach((e=>{e.digest&&n.add(e.digest)})),t.filter((e=>n.has(e.digest)))},deleteImages(){this.props.toDelete.forEach((e=>this.deleteImage(e,this.props)))},deleteImage(e,t){const{registryUrl:n,ignoreError:r,onNotify:a,onAuthentication:i,onClick:o}=t;if(!e.digest)return void a(`Information for ${s}:${u} are not yet loaded.`);const s=e.name,u=e.tag,l=new sr({onAuthentication:i});l.addEventListener("loadend",(function(){200==this.status||202==this.status?(rr.taglist(s),a(`Deleting ${s}:${u} image. Run \`registry garbage-collect config.yml\` on your registry`)):404==this.status?r||a({message:"Digest not found for this image in your registry.",isError:!0}):a(this.responseText),o()})),l.open("DELETE",`${n}/v2/${s}/manifests/${e.digest}`),l.setRequestHeader("Accept","application/vnd.docker.distribution.manifest.v2+json, application/vnd.oci.image.manifest.v1+json"),l.addEventListener("error",(function(){a({message:"An error occurred when deleting image. Check if your server accept DELETE methods Access-Control-Allow-Methods: ['DELETE'].",isError:!0})})),l.send()}},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-popup"},slots:[{id:"title",html:'
      These images will be deleted
      ',bindings:[]},{id:"content",html:'
      ',bindings:[{type:n.EACH,getKey:null,condition:null,template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.image.name,":",e.image.tag].join("")}}]}]),redundantAttribute:"expr148",selector:"[expr148]",itemName:"image",indexName:null,evaluate:function(e){return e.displayImagesToDelete(e.props.toDelete,e.props.tags)}}]},{id:"action",html:'
      ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:"\n Delete\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.deleteImages}}],redundantAttribute:"expr149",selector:"[expr149]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:"\n Cancel\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClick}}],redundantAttribute:"expr150",selector:"[expr150]"}]}],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.props.opened}},{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClick}}],redundantAttribute:"expr147",selector:"[expr147]"}])},name:"confirm-delete-image"}},onBeforeMount(e){this.state={toDelete:new Set,multiDelete:!1,page:e.page}},onBeforeUpdate(e,t){t.page!==e.page&&t.toDelete.clear(),t.page=e.page},deleteImages(){this.update({confirmDeleteImage:!0})},onConfirmDeleteImageClick(){this.state.singleDeleteAction&&this.state.toDelete.clear(),this.update({singleDeleteAction:!1,confirmDeleteImage:!1})},onRemoveImageHeaderChange(e,t){if(!0===t.altKey){qn(this.props.tags,this.props.page).forEach((e=>this.state.toDelete.add(e))),this.update({multiDelete:!0,toDelete:this.state.toDelete})}else this.update({multiDelete:e})},onRemoveImageChange(e,t){let n=!1,r=!1;switch(e){case yr:this.state.toDelete.add(t);break;case xr:this.state.toDelete.delete(t);break;case br:this.state.toDelete.clear(),this.state.toDelete.add(t),n=!0,r=!0}this.update({toDelete:this.state.toDelete,confirmDeleteImage:n,singleDeleteAction:r})},onReverseOrder(){this.state.orderType=null,this.state.desc=!1,this.props.onReverseOrder()},onPageReorder(e){this.update({orderType:e,desc:this.state.orderType&&this.state.orderType!==e||!this.state.desc})},getPage(e,t){const n=qn(e,t);return"date"===this.state.orderType?n.sort(((e,t)=>this.state.desc?e.creationDate.getTime()-t.creationDate.getTime():t.creationDate.getTime()-e.creationDate.getTime())):"size"===this.state.orderType&&n.sort(((e,t)=>this.state.desc?e.size-t.size:t.size-e.size)),n},matchSearch:ar},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"confirm-delete-image"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.state.confirmDeleteImage}},{type:t.EVENT,name:"on-click",evaluate:function(e){return e.onConfirmDeleteImageClick}},{type:t.ATTRIBUTE,name:"registry-url",evaluate:function(e){return e.props.registryUrl}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}},{type:t.EVENT,name:"on-authentication",evaluate:function(e){return e.props.onAuthentication}},{type:t.ATTRIBUTE,name:"tags",evaluate:function(e){return e.props.tags}},{type:t.ATTRIBUTE,name:"to-delete",evaluate:function(e){return e.state.toDelete}}],redundantAttribute:"expr101",selector:"[expr101]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-card"},slots:[{id:"default",html:'
      \n Creation date\n \n Size\n Tag\n History
      ',bindings:[{redundantAttribute:"expr103",selector:"[expr103]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["creation-date ",e.state.desc&&"date"===e.state.orderType?"material-card-th-sorted-descending":"material-card-th-sorted-ascending"].join("")}},{type:t.EVENT,name:"onclick",evaluate:function(e){return()=>e.onPageReorder("date")}}]},{redundantAttribute:"expr104",selector:"[expr104]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["image-size ",e.state.desc&&"size"===e.state.orderType?"material-card-th-sorted-descending":"material-card-th-sorted-ascending"].join("")}},{type:t.EVENT,name:"onclick",evaluate:function(e){return()=>e.onPageReorder("size")}}]},{type:n.IF,evaluate:function(e){return e.props.showContentDigest},redundantAttribute:"expr105",selector:"[expr105]",template:e("Content Digest",[])},{redundantAttribute:"expr106",selector:"[expr106]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return e.props.asc?"material-card-th-sorted-ascending":"material-card-th-sorted-descending"}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.onReverseOrder}}]},{type:n.IF,evaluate:function(e){return e.props.isImageRemoveActivated},redundantAttribute:"expr107",selector:"[expr107]",template:e('',[{expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["remove-tag ",e.state.toDelete.size>0&&!e.state.singleDeleteAction?"delete":""].join("")}}]},{type:n.IF,evaluate:function(e){return 0===e.state.toDelete.size||e.state.singleDeleteAction},redundantAttribute:"expr108",selector:"[expr108]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-checkbox"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"checked",evaluate:function(e){return e.state.multiDelete}},{type:t.EVENT,name:"onChange",evaluate:function(e){return e.onRemoveImageHeaderChange}}]}])},{type:n.IF,evaluate:function(e){return e.state.toDelete.size>0&&!e.state.singleDeleteAction},redundantAttribute:"expr109",selector:"[expr109]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'delete',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.deleteImages}}]}])}])},{type:n.EACH,getKey:null,condition:function(e){return e.matchSearch(e.props.filterResults,e.image.tag)},template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"image-date"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}}],redundantAttribute:"expr111",selector:"[expr111]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"image-size"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}}],redundantAttribute:"expr112",selector:"[expr112]"},{type:n.IF,evaluate:function(e){return e.props.showContentDigest},redundantAttribute:"expr113",selector:"[expr113]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"image-content-digest"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}}],redundantAttribute:"expr114",selector:"[expr114]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"copy-to-clipboard"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}},{type:t.ATTRIBUTE,name:"pull-url",evaluate:function(e){return e.props.pullUrl}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}}],redundantAttribute:"expr115",selector:"[expr115]"}])},{type:n.TAG,getComponent:r,evaluate:function(e){return"image-tag"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}}],redundantAttribute:"expr116",selector:"[expr116]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"copy-to-clipboard"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}},{type:t.ATTRIBUTE,name:"pull-url",evaluate:function(e){return e.props.pullUrl}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}}],redundantAttribute:"expr117",selector:"[expr117]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"tag-history-button"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}}],redundantAttribute:"expr118",selector:"[expr118]"},{type:n.IF,evaluate:function(e){return e.props.isImageRemoveActivated},redundantAttribute:"expr119",selector:"[expr119]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"remove-image"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"multi-delete",evaluate:function(e){return e.state.multiDelete}},{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}},{type:t.ATTRIBUTE,name:"registry-url",evaluate:function(e){return e.props.registryUrl}},{type:t.ATTRIBUTE,name:"handleCheckboxChange",evaluate:function(e){return e.onRemoveImageChange}},{type:t.ATTRIBUTE,name:"checked",evaluate:function(e){return e.state.toDelete.has(e.image)}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}},{type:t.EVENT,name:"on-authentication",evaluate:function(e){return e.props.onAuthentication}}],redundantAttribute:"expr120",selector:"[expr120]"}])}]),redundantAttribute:"expr110",selector:"[expr110]",itemName:"image",indexName:null,evaluate:function(e){return e.getPage(e.props.tags,e.props.page)}}]}],attributes:[],redundantAttribute:"expr102",selector:"[expr102]"}])},name:"tag-table"}},onBeforeMount(e){this.state={registryName:e.registryName,tags:[],loadend:!1,asc:!0,page:rr.getPageQueryParam()||1}},onMounted(e,t){this.display(e,t),window.addEventListener("resize",this.onResize),window.requestAnimationFrame(this.onResize)},display(e,t){t.tags=[];const n=this,r=new sr({onAuthentication:e.onAuthentication});r.addEventListener("load",(function(){if(200==this.status){const r=(JSON.parse(this.responseText).tags||[]).map((t=>new gr(e.image,t,{registryUrl:e.registryUrl,onNotify:e.onNotify,onAuthentication:e.onAuthentication}))).sort(hr);window.requestAnimationFrame(n.onResize),n.update({page:Math.min(t.page,Kn(r)),tags:r})}else 404==this.status?n.props.onNotify("Server not found",!0):n.props.onNotify(this.responseText,!0)})),r.addEventListener("error",(function(){n.props.onNotify(this.getErrorMessage(),!0),t.tags=[]})),r.addEventListener("loadend",(function(){n.update({loadend:!0})})),r.open("GET",e.registryUrl+"/v2/"+e.image+"/tags/list"),r.send(),t.asc=!0},onPageUpdate(e){this.update({page:e}),rr.updatePageQueryParam(e)},onResize(){const e=window.innerWidth;let t=0;const n=this.state.tags.reduce((function(e,t){return t.tag.length>e?t.tag.length:e}),0);t=e>=1440?71:e<1024?0:15+(e-1024)/416*56,n>20&&(t-=n-20),t=Math.floor(t),this.state.tags.map((function(e){e.trigger("content-digest-chars",t)}))},onReverseOrder(){this.state.asc?(this.state.tags.reverse(),this.state.asc=!1):(this.state.tags.sort(hr),this.state.asc=!0),this.update()},getPageLabels:function(e,t){var n=[],r=10;if(1===t)return n;1!==e&&t>=r&&(n.push({icon:"first_page",page:1}),n.push({icon:"chevron_left",page:e-1}));for(var a=Math.round(Math.max(1,Math.min(e-5,t-r+1))),i=a;ir,"space-right":e===t&&t>r});return e!==t&&t>=r&&(n.push({icon:"chevron_right",page:e+1}),n.push({icon:"last_page",page:t})),n},getNumPages:Kn,router:rr},template:function(e,t,n,r){return e('
      ',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-card"},slots:[{id:"default",html:'

      ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'arrow_back',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.router.home}}],redundantAttribute:"expr22",selector:"[expr22]"},{redundantAttribute:"expr23",selector:"[expr23]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return["Tags of ",e.props.image].join("")}}]},{redundantAttribute:"expr24",selector:"[expr24]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return["Sourced from ",e.state.registryName+"/"+e.props.image].join("")}}]},{redundantAttribute:"expr25",selector:"[expr25]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.state.tags.length," tags"].join("")}}]}]}],attributes:[],redundantAttribute:"expr21",selector:"[expr21]"},{type:n.IF,evaluate:function(e){return!e.state.loadend},redundantAttribute:"expr26",selector:"[expr26]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-spinner"},slots:[],attributes:[],redundantAttribute:"expr27",selector:"[expr27]"}])},{type:n.TAG,getComponent:r,evaluate:function(e){return"pagination"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"pages",evaluate:function(e){return e.getPageLabels(e.state.page,e.getNumPages(e.state.tags))}},{type:t.EVENT,name:"onPageUpdate",evaluate:function(e){return e.onPageUpdate}}],redundantAttribute:"expr28",selector:"[expr28]"},{type:n.IF,evaluate:function(e){return e.state.loadend},redundantAttribute:"expr29",selector:"[expr29]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"tag-table"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"tags",evaluate:function(e){return e.state.tags}},{type:t.ATTRIBUTE,name:"asc",evaluate:function(e){return e.state.asc}},{type:t.ATTRIBUTE,name:"page",evaluate:function(e){return e.state.page}},{type:t.ATTRIBUTE,name:"show-content-digest",evaluate:function(e){return e.props.showContentDigest}},{type:t.ATTRIBUTE,name:"is-image-remove-activated",evaluate:function(e){return e.props.isImageRemoveActivated}},{type:t.EVENT,name:"onReverseOrder",evaluate:function(e){return e.onReverseOrder}},{type:t.ATTRIBUTE,name:"registry-url",evaluate:function(e){return e.props.registryUrl}},{type:t.ATTRIBUTE,name:"pull-url",evaluate:function(e){return e.props.pullUrl}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}},{type:t.ATTRIBUTE,name:"filter-results",evaluate:function(e){return e.props.filterResults}},{type:t.EVENT,name:"on-authentication",evaluate:function(e){return e.props.onAuthentication}}]}])},{type:n.TAG,getComponent:r,evaluate:function(e){return"pagination"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"pages",evaluate:function(e){return e.getPageLabels(e.state.page,e.getNumPages(e.state.tags))}},{type:t.EVENT,name:"onPageUpdate",evaluate:function(e){return e.onPageUpdate}}],redundantAttribute:"expr30",selector:"[expr30]"}])},name:"tag-list"},TagHistory:{css:null,exports:{components:{TagHistoryElement:{css:null,exports:{onBeforeStar(e,t){t.key=e.entry.key,t.icon=function(e){switch(e){case"architecture":return"memory";case"created":return"event";case"docker_version":return"";case"os":return"developer_board";case"Cmd":return"launch";case"Entrypoint":return"input";case"Env":return"notes";case"Labels":return"label";case"User":return"face";case"Volumes":return"storage";case"WorkingDir":return"home";case"author":return"account_circle";case"id":case"digest":return"settings_ethernet";case"created_by":return"build";case"size":return"get_app";case"ExposedPorts":return"router"}}(e.entry.key),t.name=e.entry.key.replace("_"," "),e.value instanceof Array?t.values=e.entry.value:t.value=e.entry.value},onBeforeMount(e,t){this.onBeforeStar(e,t)},onBeforeUpdate(e,t){this.onBeforeStar(e,t)}},template:function(e,t,n,r){return e('

      ',[{expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return e.state.key}}]},{redundantAttribute:"expr121",selector:"[expr121]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.state.icon}}]},{redundantAttribute:"expr122",selector:"[expr122]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.state.name}}]},{type:n.IF,evaluate:function(e){return e.state.value},redundantAttribute:"expr123",selector:"[expr123]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.state.value].join("")}}]}])},{type:n.EACH,getKey:null,condition:function(e){return e.state.values},template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.value].join("")}}]}]),redundantAttribute:"expr124",selector:"[expr124]",itemName:"value",indexName:null,evaluate:function(e){return e.state.values}}])},name:"tag-history-element"}},onBeforeMount(e,t){t.elements=[],t.image=new gr(e.image,e.tag,{list:!0,registryUrl:e.registryUrl,onNotify:e.onNotify,onAuthentication:e.onAuthentication}),t.image.fillInfo()},onMounted(e,t){t.image.on("blobs",this.processBlobs),t.image.on("list",this.multiArchList)},onTabChanged(e,t){const n=this.state;if(n.elements=[],n.image.variants[t]=n.image.variants[t]||new gr(this.props.image,e.digest,!1,this.props.registryUrl,this.props.onNotify),n.image.variants[t].blobs)return this.processBlobs(n.image.variants[t].blobs);n.image.variants[t].fillInfo(),n.image.variants[t].on("blobs",this.processBlobs)},processBlobs(e){function t(e){const t=[];for(var n in e)if(e.hasOwnProperty(n)&&"empty_layer"!=n){const r=e[n],a={key:n,value:Ar(n,r)};t.push(a)}return t.sort(Er)}this.state;const n=new Array(e.history.length+1);n[0]=t(function(e){const t=["architecture","User","created","docker_version","os","Cmd","Entrypoint","Env","Labels","User","Volumes","WorkingDir","author","id","ExposedPorts"].reduce((function(t,n){const r=e[n]||e.config[n];return r&&"architecture"===n&&e.variant?t[n]=r+e.variant:r&&(t[n]=r),t}),{});return!t.author&&t.Labels&&t.Labels.maintainer&&(t.author=e.config.Labels.maintainer,delete t.Labels.maintainer),t}(e)),e.history.forEach((function(r,a){n[e.history.length-a]=t(r)})),this.update({elements:n,loadend:!0})},multiArchList(e){const t=(e=e.manifests||e).map((function(e){return{title:e.platform.os+"/"+e.platform.architecture+(e.platform.variant?e.platform.variant:""),digest:e.digest}}));this.update({archs:t})},toTaglist(){rr.taglist(this.props.image)}},template:function(e,t,n,r){return e('
      ',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-card"},slots:[{id:"default",html:'

      history

      ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'arrow_back',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.toTaglist}}],redundantAttribute:"expr32",selector:"[expr32]"},{redundantAttribute:"expr33",selector:"[expr33]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return["History of ",e.props.image,":",e.props.tag].join("")}}]}]}],attributes:[],redundantAttribute:"expr31",selector:"[expr31]"},{type:n.IF,evaluate:function(e){return!e.state.loadend},redundantAttribute:"expr34",selector:"[expr34]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-spinner"},slots:[],attributes:[],redundantAttribute:"expr35",selector:"[expr35]"}])},{type:n.IF,evaluate:function(e){return e.state.archs&&e.state.loadend},redundantAttribute:"expr36",selector:"[expr36]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-tabs"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"useLine",evaluate:function(e){return!0}},{type:t.ATTRIBUTE,name:"tabs",evaluate:function(e){return e.state.archs}},{type:t.EVENT,name:"onTabChanged",evaluate:function(e){return e.onTabChanged}}]}])},{type:n.EACH,getKey:null,condition:null,template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-card"},slots:[{id:"default",html:'',bindings:[{type:n.EACH,getKey:null,condition:function(e){return e.entry.value&&e.entry.value.length>0},template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"tag-history-element"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"entry",evaluate:function(e){return e.entry}}]}]),redundantAttribute:"expr38",selector:"[expr38]",itemName:"entry",indexName:null,evaluate:function(e){return e.element}}]}],attributes:[]}]),redundantAttribute:"expr37",selector:"[expr37]",itemName:"element",indexName:null,evaluate:function(e){return e.state.elements}}])},name:"tag-history"},DialogsMenu:{css:'dialogs-menu > .container,[is="dialogs-menu"] > .container{ position: absolute; top: 0px; right: 16px; color: #000; list-style-type: disc; margin-block-start: 0.7em; } dialogs-menu .overlay,[is="dialogs-menu"] .overlay{ position: fixed; height: 100%; width: 100%; top: 0; right: 0; z-index: 10; } dialogs-menu material-button,[is="dialogs-menu"] material-button{ background: rgba(255, 255, 255, 0); float: right; z-index: 2; } dialogs-menu material-button .content i.material-icons,[is="dialogs-menu"] material-button .content i.material-icons{ color: #fff; font-size: 24px; } dialogs-menu material-dropdown-list,[is="dialogs-menu"] material-dropdown-list{ display: inline-block; position: relative; } dialogs-menu material-dropdown-list ul.dropdown-content,[is="dialogs-menu"] material-dropdown-list ul.dropdown-content{ min-width: 156px; padding: 8px 0; margin: 0; } dialogs-menu material-dropdown-list ul.dropdown-content li span,[is="dialogs-menu"] material-dropdown-list ul.dropdown-content li span{ font-size: 1rem; line-height: 1.2em; } dialogs-menu material-popup *,[is="dialogs-menu"] material-popup *{ line-height: 1em; } dialogs-menu material-popup material-button .content,[is="dialogs-menu"] material-popup material-button .content{ line-height: 36px; }',exports:{components:{AddRegistryUrl:{css:null,exports:{onKeyUp(e){13===e.keyCode&&this.add()},add(){const e=this.$("input");if(!e||!e.value||0===e.value.length)return this.props.onNotify("The input field is empty. Please enter an url.",!0);if(!e.value.startsWith("http"))return this.props.onNotify("The input field should start with http:// or https://.",!0);const t=e.value.trim().replace(/\/*$/,""),n=Qn().filter((e=>e!==t));localStorage.setItem("registryServer",JSON.stringify([t].concat(n))),rr.home(),this.props.onServerChange(t),this.props.onClose(),setTimeout((()=>rr.updateUrlQueryParam(t)),100)}},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-popup"},slots:[{id:"title",html:'
      Add your Server ?
      ',bindings:[]},{id:"content",html:'
      Write your URL without /v2
      ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-input"},slots:[],attributes:[{type:t.EVENT,name:"onkeyup",evaluate:function(e){return e.onKeyUp}}],redundantAttribute:"expr126",selector:"[expr126]"}]},{id:"action",html:'
      ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:"\n Add\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.add}}],redundantAttribute:"expr127",selector:"[expr127]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:"\n Cancel\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClose}}],redundantAttribute:"expr128",selector:"[expr128]"}]}],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.props.opened}},{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClose}}],redundantAttribute:"expr125",selector:"[expr125]"}])},name:"add-registry-url"},ChangeRegistryUrl:{css:'change-registry-url select,[is="change-registry-url"] select{ position: relative; outline: 0; box-shadow: none; padding: 0; width: 100%; background: 0 0; border: none; font-weight: 400; line-height: 24px; height: 24px; border-bottom: 1px solid #2f6975; appearance: none; -moz-appearance: none; -webkit-appearance: none; margin: 1.5em 0; }',exports:{change(e){const t=this.$("select");if(!t||!t.value||0===t.value.length)return this.props.onNotify("The select field is empty. Please add an url.",!0);if(!t.value.startsWith("http"))return this.props.onNotify("The select field should start with http:// or https://.",!0);const n=t.value.trim().replace(/\/*$/,""),r=Qn().filter((e=>e!==n));localStorage.setItem("registryServer",JSON.stringify([n].concat(r))),rr.home(),this.props.onServerChange(n),this.props.onClose(),setTimeout((()=>rr.updateUrlQueryParam(n)),100)},getRegistryServers:Qn},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-popup"},slots:[{id:"title",html:'
      Change your Server ?
      ',bindings:[]},{id:"content",html:'
      ',bindings:[{type:n.EACH,getKey:null,condition:null,template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.url}},{type:t.ATTRIBUTE,name:"value",evaluate:function(e){return e.url}}]}]),redundantAttribute:"expr135",selector:"[expr135]",itemName:"url",indexName:null,evaluate:function(e){return e.getRegistryServers()}}]},{id:"action",html:'
      ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:"\n Change\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.change}}],redundantAttribute:"expr136",selector:"[expr136]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:"\n Cancel\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClose}}],redundantAttribute:"expr137",selector:"[expr137]"}]}],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.props.opened}},{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClick}}],redundantAttribute:"expr134",selector:"[expr134]"}])},name:"change-registry-url"},RemoveRegistryUrl:{css:'remove-registry-url material-popup .popup material-button,[is="remove-registry-url"] material-popup .popup material-button{ margin-right: 1em; } remove-registry-url material-popup .popup material-button .content i.material-icons,[is="remove-registry-url"] material-popup .popup material-button .content i.material-icons{ color: #777; }',exports:{remove(e){const t=e.currentTarget.attributes.url&&e.currentTarget.attributes.url.value,n=Qn().filter((e=>e!==t));localStorage.setItem("registryServer",JSON.stringify(n)),setTimeout((()=>this.update()),100)},getRegistryServers:Qn},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-popup"},slots:[{id:"title",html:'
      Remove your Registry Server ?
      ',bindings:[]},{id:"content",html:'
      ',bindings:[{type:n.EACH,getKey:null,condition:null,template:e(' ',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'delete',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.remove}},{type:t.ATTRIBUTE,name:"url",evaluate:function(e){return e.url}}],redundantAttribute:"expr131",selector:"[expr131]"},{redundantAttribute:"expr132",selector:"[expr132]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.url}}]}]),redundantAttribute:"expr130",selector:"[expr130]",itemName:"url",indexName:null,evaluate:function(e){return e.getRegistryServers()}}]},{id:"action",html:'
      ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:"\n Close\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClose}}],redundantAttribute:"expr133",selector:"[expr133]"}]}],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.props.opened}},{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClose}}],redundantAttribute:"expr129",selector:"[expr129]"}])},name:"remove-registry-url"}},dropdownItems:[{title:"Add URL",name:"add-registry-url"},{title:"Change URL",name:"change-registry-url"},{title:"Remove URL",name:"remove-registry-url"}],onDropdownSelect(e,t){this.update({[t.name]:!0,isDropdownOpened:!1})},onClose(e){return()=>{this.update({[e]:!1,isDropdownOpened:!1})}},onClick(){this.update({isDropdownOpened:!this.state.isDropdownOpened})}},template:function(e,t,n,r){return e('
      ',[{type:n.TAG,getComponent:r,evaluate:function(e){return"add-registry-url"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.state["add-registry-url"]}},{type:t.EVENT,name:"on-close",evaluate:function(e){return e.onClose("add-registry-url")}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}},{type:t.EVENT,name:"on-server-change",evaluate:function(e){return e.props.onServerChange}}],redundantAttribute:"expr39",selector:"[expr39]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"change-registry-url"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.state["change-registry-url"]}},{type:t.EVENT,name:"on-close",evaluate:function(e){return e.onClose("change-registry-url")}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}},{type:t.EVENT,name:"on-server-change",evaluate:function(e){return e.props.onServerChange}}],redundantAttribute:"expr40",selector:"[expr40]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"remove-registry-url"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.state["remove-registry-url"]}},{type:t.EVENT,name:"on-close",evaluate:function(e){return e.onClose("remove-registry-url")}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}},{type:t.EVENT,name:"on-server-change",evaluate:function(e){return e.props.onServerChange}}],redundantAttribute:"expr41",selector:"[expr41]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'more_vert',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.onClick}}],redundantAttribute:"expr42",selector:"[expr42]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-dropdown-list"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"items",evaluate:function(e){return e.dropdownItems}},{type:t.EVENT,name:"onSelect",evaluate:function(e){return e.onDropdownSelect}},{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.state.isDropdownOpened}}],redundantAttribute:"expr43",selector:"[expr43]"},{type:n.IF,evaluate:function(e){return e.state.isDropdownOpened},redundantAttribute:"expr44",selector:"[expr44]",template:e(null,[{expressions:[{type:t.EVENT,name:"onclick",evaluate:function(e){return e.onClick}}]}])}])},name:"dialogs-menu"},SearchBar:ir,Router:$n,Route:mn},onUpdated(e,t){t.snackbarIsError=!1,t.snackbarMessage=void 0},onBeforeMount(e){this.state.registryUrl=e.registryUrl||("true"===e.singleRegistry?void 0:rr.getUrlQueryParam()||Qn(0))||window.location.origin+window.location.pathname.replace(/\/+$/,""),this.state.name=e.name||Wn(e.registryUrl),this.state.catalogElementsLimit=e.catalogElementsLimit||1e5,this.state.pullUrl=this.pullUrl(this.state.registryUrl,e.pullUrl)},onServerChange(e){this.update({registryUrl:e,name:Wn(e),pullUrl:this.pullUrl(e),snackbarMessage:"Registry server changed to `"+e+"`."})},onAuthentication(e,t){if(e&&e.realm&&e.service&&e.scope){const{realm:n,service:r,scope:a}=e,i=new XMLHttpRequest;i.addEventListener("loadend",(()=>{try{const e=JSON.parse(i.responseText);t(e)}catch(e){this.notifySnackbar(`Failed to log in: ${e.message}`,!0)}})),i.open("GET",`${n}?service=${r}&scope=${a}`),i.send()}else t()},onAuthenticationClose(){this.update({authenticationDialogOpened:!1})},pullUrl:(e,t)=>Wn(t||e&&e.length>0&&e||window.location.host),notifySnackbar(e,t){"string"==typeof e?this.update({snackbarMessage:e,snackbarIsError:t||!1}):e&&e.message&&this.update({snackbarMessage:e.message,snackbarIsError:e.isError})},onSearch(e){this.update({filter:e})},baseRoute:"([^#]*?)/(\\?[^#]*?)?(#!)?(/?)",router:rr,version:"2.0.0"},template:function(e,t,n,r){return e('
      ',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-navbar"},slots:[{id:"default",html:'',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"search-bar"},slots:[],attributes:[{type:t.EVENT,name:"on-search",evaluate:function(e){return e.onSearch}}],redundantAttribute:"expr1",selector:"[expr1]"},{type:n.IF,evaluate:function(e){return"true"!==e.props.singleRegistry},redundantAttribute:"expr2",selector:"[expr2]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"dialogs-menu"},slots:[],attributes:[{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.notifySnackbar}},{type:t.EVENT,name:"on-server-change",evaluate:function(e){return e.onServerChange}}]}])}]}],attributes:[],redundantAttribute:"expr0",selector:"[expr0]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"router"},slots:[{id:"default",html:'',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"route"},slots:[{id:"default",html:'',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"catalog"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"registry-url",evaluate:function(e){return e.state.registryUrl}},{type:t.ATTRIBUTE,name:"registry-name",evaluate:function(e){return e.state.name}},{type:t.ATTRIBUTE,name:"catalog-elements-limit",evaluate:function(e){return e.state.catalogElementsLimit}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.notifySnackbar}},{type:t.ATTRIBUTE,name:"filter-results",evaluate:function(e){return e.state.filter}},{type:t.EVENT,name:"on-authentication",evaluate:function(e){return e.onAuthentication}}],redundantAttribute:"expr5",selector:"[expr5]"}]}],attributes:[{type:t.ATTRIBUTE,name:"path",evaluate:function(e){return e.baseRoute}}],redundantAttribute:"expr4",selector:"[expr4]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"route"},slots:[{id:"default",html:'',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"tag-list"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"registry-url",evaluate:function(e){return e.state.registryUrl}},{type:t.ATTRIBUTE,name:"registry-name",evaluate:function(e){return e.state.name}},{type:t.ATTRIBUTE,name:"pull-url",evaluate:function(e){return e.state.pullUrl}},{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.router.getTagListImage()}},{type:t.ATTRIBUTE,name:"show-content-digest",evaluate:function(e){return e.props.showContentDigest}},{type:t.ATTRIBUTE,name:"is-image-remove-activated",evaluate:function(e){return e.props.isImageRemoveActivated}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.notifySnackbar}},{type:t.ATTRIBUTE,name:"filter-results",evaluate:function(e){return e.state.filter}},{type:t.EVENT,name:"on-authentication",evaluate:function(e){return e.onAuthentication}}],redundantAttribute:"expr7",selector:"[expr7]"}]}],attributes:[{type:t.ATTRIBUTE,name:"path",evaluate:function(e){return[e.baseRoute,"taglist/(.*)"].join("")}}],redundantAttribute:"expr6",selector:"[expr6]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"route"},slots:[{id:"default",html:'',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"tag-history"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"registry-url",evaluate:function(e){return e.state.registryUrl}},{type:t.ATTRIBUTE,name:"registry-name",evaluate:function(e){return e.state.name}},{type:t.ATTRIBUTE,name:"pull-url",evaluate:function(e){return e.state.pullUrl}},{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.router.getTagHistoryImage()}},{type:t.ATTRIBUTE,name:"tag",evaluate:function(e){return e.router.getTagHistoryTag()}},{type:t.ATTRIBUTE,name:"is-image-remove-activated",evaluate:function(e){return e.props.isImageRemoveActivated}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.notifySnackbar}},{type:t.EVENT,name:"on-authentication",evaluate:function(e){return e.onAuthentication}}],redundantAttribute:"expr9",selector:"[expr9]"}]}],attributes:[{type:t.ATTRIBUTE,name:"path",evaluate:function(e){return[e.baseRoute,"taghistory/(.*)"].join("")}}],redundantAttribute:"expr8",selector:"[expr8]"}]}],attributes:[],redundantAttribute:"expr3",selector:"[expr3]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"registry-authentication"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"realm",evaluate:function(e){return e.state.realm}},{type:t.ATTRIBUTE,name:"scope",evaluate:function(e){return e.state.scope}},{type:t.ATTRIBUTE,name:"service",evaluate:function(e){return e.state.service}},{type:t.EVENT,name:"on-close",evaluate:function(e){return e.onAuthenticationClose}},{type:t.EVENT,name:"on-authenticated",evaluate:function(e){return e.state.onAuthenticated}},{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.state.authenticationDialogOpened}}],redundantAttribute:"expr10",selector:"[expr10]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-snackbar"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"message",evaluate:function(e){return e.state.snackbarMessage}},{type:t.ATTRIBUTE,name:"is-error",evaluate:function(e){return e.state.snackbarIsError}}],redundantAttribute:"expr11",selector:"[expr11]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-footer"},slots:[{id:"logo",html:' ',bindings:[{redundantAttribute:"expr13",selector:"[expr13]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return["Docker Registry UI ",e.version].join("")}}]}]},{id:"link-list",html:'',bindings:[]}],attributes:[],redundantAttribute:"expr12",selector:"[expr12]"}])},name:"docker-registry-ui"};At("material-card",It),At("material-footer",kt),At("material-navbar",{css:null,exports:null,template:function(e,t,n,r){return e('',[{expressions:[{type:t.ATTRIBUTE,name:"role",evaluate:function(e){return"toolbar"}}]},{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr71",selector:"[expr71]"}])},name:"material-navbar"}),At("material-spinner",{css:null,exports:null,template:function(e,t,n,r){return e('',[{redundantAttribute:"expr89",selector:"[expr89]",expressions:[{type:t.ATTRIBUTE,name:"stroke-width",evaluate:function(e){return e.props.strokewidth||3}}]}])},name:"material-spinner"}),At("material-button",Ct),At("material-waves",jt),At("material-checkbox",Nt),At("material-snackbar",Bt),At("material-tabs",Lt),At("material-dropdown-list",Rt),At("material-popup",St),At("material-input",Ot);for(var Cr,Ir=(Cr=wr,function(e,t,n){var r=void 0===n?{}:n,a=r.slots,i=r.attributes,o=r.parentScope;return function(){for(var e=arguments.length,t=new Array(e),n=0;n. --->Docker Registry UIDocker Registry UI \ No newline at end of file diff --git a/examples/issue-116/docker-compose.yml b/examples/issue-116/docker-compose.yml index b1aa218..244169c 100644 --- a/examples/issue-116/docker-compose.yml +++ b/examples/issue-116/docker-compose.yml @@ -24,14 +24,15 @@ services: container_name: registry-srv registry-ui: - image: joxit/docker-registry-ui:static + image: joxit/docker-registry-ui:latest restart: always ports: - 80:80 environment: - REGISTRY_TITLE=Private Docker Registry - - URL=http://localhost:5000 + - REGISTRY_URL=http://localhost:5000 - DELETE_IMAGES=true + - SINGLE_REGISTRY=true container_name: registry-ui networks: diff --git a/examples/issue-20/docker-compose.yml b/examples/issue-20/docker-compose.yml index fb11287..3fbba73 100644 --- a/examples/issue-20/docker-compose.yml +++ b/examples/issue-20/docker-compose.yml @@ -8,8 +8,9 @@ services: - registry-ui-net ui: - image: joxit/docker-registry-ui:static + image: joxit/docker-registry-ui:latest environment: + - SINGLE_REGISTRY=true - REGISTRY_TITLE=My Private Docker Registry volumes: - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf diff --git a/examples/issue-20/nginx/nginx.conf b/examples/issue-20/nginx/nginx.conf index c4cf1ef..ba16b86 100644 --- a/examples/issue-20/nginx/nginx.conf +++ b/examples/issue-20/nginx/nginx.conf @@ -6,6 +6,9 @@ server { ssl_certificate_key /etc/nginx/certs/privkey.pem; root /usr/share/nginx/html; + # disable any limits to avoid HTTP 413 for large image uploads + client_max_body_size 0; + location /v2 { # Do not allow connections from docker 1.5 and earlier # docker pre-1.6.0 did not properly set the user agent on ping, catch "Go *" user agents diff --git a/examples/issue-73/docker-compose.yml b/examples/issue-73/docker-compose.yml index b0093f9..f5cf4e0 100644 --- a/examples/issue-73/docker-compose.yml +++ b/examples/issue-73/docker-compose.yml @@ -8,10 +8,11 @@ services: - registry-ui-net ui: - image: joxit/docker-registry-ui:static + image: joxit/docker-registry-ui:latest environment: - REGISTRY_TITLE=My Private Docker Registry - - REGISTRY_URL=http://registry:5000 + - NGINX_PROXY_PASS_URL=http://registry:5000 + - SINGLE_REGISTRY=true depends_on: - registry networks: diff --git a/examples/issue-75/docker-compose.yml b/examples/issue-75/docker-compose.yml index 33cc0c4..98b2059 100644 --- a/examples/issue-75/docker-compose.yml +++ b/examples/issue-75/docker-compose.yml @@ -10,12 +10,13 @@ services: network_mode: host ui: - image: joxit/docker-registry-ui:static + image: joxit/docker-registry-ui:latest ports: - 80:80 environment: - - URL=http://127.0.0.1:5000 + - REGISTRY_URL=http://127.0.0.1:5000 - DELETE_IMAGES=true + - SINGLE_REGISTRY=true depends_on: - registry network_mode: host diff --git a/examples/issue-88/docker-compose.yml b/examples/issue-88/docker-compose.yml index c00dce6..c355b2a 100644 --- a/examples/issue-88/docker-compose.yml +++ b/examples/issue-88/docker-compose.yml @@ -12,14 +12,15 @@ services: container_name: registry-srv registry-ui: - image: joxit/docker-registry-ui:static + image: joxit/docker-registry-ui:latest restart: always ports: - 8080:80 environment: - REGISTRY_TITLE=Private Docker Registry - - REGISTRY_URL=http://registry-srv:5000 + - NGINX_PROXY_PASS_URL=http://registry-srv:5000 - DELETE_IMAGES=true + - SINGLE_REGISTRY=true networks: - registry-ui-net container_name: registry-ui diff --git a/examples/kubernetes/registry-deployment.yaml b/examples/kubernetes/registry-deployment.yaml index abc6870..a9d763d 100644 --- a/examples/kubernetes/registry-deployment.yaml +++ b/examples/kubernetes/registry-deployment.yaml @@ -5,7 +5,7 @@ metadata: labels: app: registry release: docker-registry-ui - app/version: "1.2.1" + app/version: "2.0.0" spec: replicas: 1 selector: diff --git a/examples/kubernetes/registry-pvc.yaml b/examples/kubernetes/registry-pvc.yaml index a1b7ded..8cae89a 100644 --- a/examples/kubernetes/registry-pvc.yaml +++ b/examples/kubernetes/registry-pvc.yaml @@ -4,7 +4,7 @@ metadata: labels: app: registry release: docker-registry-ui - app/version: "1.2.1" + app/version: "2.0.0" name: docker-registry spec: accessModes: diff --git a/examples/kubernetes/registry-service.yaml b/examples/kubernetes/registry-service.yaml index 1470f71..ec21122 100644 --- a/examples/kubernetes/registry-service.yaml +++ b/examples/kubernetes/registry-service.yaml @@ -5,7 +5,7 @@ metadata: labels: app: registry release: docker-registry-ui - app/version: "1.2.1" + app/version: "2.0.0" spec: type: ClusterIP ports: diff --git a/examples/kubernetes/ui-deployment.yaml b/examples/kubernetes/ui-deployment.yaml index e5a5215..cc38b8d 100644 --- a/examples/kubernetes/ui-deployment.yaml +++ b/examples/kubernetes/ui-deployment.yaml @@ -5,7 +5,7 @@ metadata: labels: app: registry-ui release: docker-registry-ui - app/version: "1.2.1" + app/version: "2.0.0" spec: replicas: 1 selector: @@ -27,10 +27,12 @@ spec: value: "Docker registry UI" - name: DELETE_IMAGES value: "false" - - name: REGISTRY_URL + - name: NGINX_PROXY_PASS_URL value: "http://docker-registry.default:5000" - name: PULL_URL value: "docker-registry-ui.default:80" + - name: SINGLE_REGISTRY + value: "true" ports: - name: http containerPort: 80 diff --git a/examples/kubernetes/ui-service.yaml b/examples/kubernetes/ui-service.yaml index 63e19c4..fbad86d 100644 --- a/examples/kubernetes/ui-service.yaml +++ b/examples/kubernetes/ui-service.yaml @@ -5,7 +5,7 @@ metadata: labels: app: registry-ui release: docker-registry-ui - app/version: "1.2.1" + app/version: "2.0.0" spec: type: LoadBalancer ports: diff --git a/examples/proxy-headers/docker-compose.yml b/examples/proxy-headers/docker-compose.yml index 190edee..ec1d041 100644 --- a/examples/proxy-headers/docker-compose.yml +++ b/examples/proxy-headers/docker-compose.yml @@ -10,13 +10,14 @@ services: - registry-ui-net ui: - image: joxit/docker-registry-ui:static + image: joxit/docker-registry-ui:latest ports: - 80:80 environment: - REGISTRY_TITLE=My Private Docker Registry - - REGISTRY_URL=http://registry:5000 + - NGINX_PROXY_PASS_URL=http://registry:5000 - NGINX_PROXY_HEADER_X_Forwarded_For=$$proxy_add_x_forwarded_for + - SINGLE_REGISTRY=true volumes: - ./nginx.env:/etc/nginx/.env depends_on: diff --git a/examples/read-only-auth/docker-compose.yml b/examples/read-only-auth/docker-compose.yml index 241f426..bce9fa0 100644 --- a/examples/read-only-auth/docker-compose.yml +++ b/examples/read-only-auth/docker-compose.yml @@ -9,11 +9,12 @@ services: - registry-ui-net ui: - image: joxit/docker-registry-ui:static + image: joxit/docker-registry-ui:latest ports: - 80:80 environment: - REGISTRY_TITLE=My Private Docker Registry + - SINGLE_REGISTRY=true volumes: - ./nginx.conf:/etc/nginx/conf.d/default.conf - ./read-write.htpasswd:/etc/nginx/auth/read-write.htpasswd:ro diff --git a/examples/traefik/docker-compose-swarm.yml b/examples/traefik/docker-compose-swarm.yml index 23bf96f..cbe1da0 100644 --- a/examples/traefik/docker-compose-swarm.yml +++ b/examples/traefik/docker-compose-swarm.yml @@ -12,11 +12,12 @@ services: constraints: [node.role == manager] ui: - image: joxit/docker-registry-ui:static + image: joxit/docker-registry-ui:latest environment: - DELETE_IMAGES=true - REGISTRY_TITLE=My Private Docker Registry - - REGISTRY_URL=http://docker-registry_registry:5000 + - NGINX_PROXY_PASS_URL=http://docker-registry_registry:5000 + - SINGLE_REGISTRY=true depends_on: ['registry'] networks: ['proxy', 'default'] deploy: diff --git a/examples/ui-as-proxy/credentials.yml b/examples/ui-as-proxy/credentials.yml index 246ca43..df10f91 100644 --- a/examples/ui-as-proxy/credentials.yml +++ b/examples/ui-as-proxy/credentials.yml @@ -10,12 +10,13 @@ services: - registry-ui-net ui: - image: joxit/docker-registry-ui:static + image: joxit/docker-registry-ui:latest ports: - 80:80 environment: - REGISTRY_TITLE=My Private Docker Registry - - REGISTRY_URL=http://registry:5000 + - NGINX_PROXY_PASS_URL=http://registry:5000 + - SINGLE_REGISTRY=true depends_on: - registry networks: diff --git a/examples/ui-as-proxy/simple.yml b/examples/ui-as-proxy/simple.yml index a707eb0..77795e2 100644 --- a/examples/ui-as-proxy/simple.yml +++ b/examples/ui-as-proxy/simple.yml @@ -8,12 +8,13 @@ services: - registry-ui-net ui: - image: joxit/docker-registry-ui:static + image: joxit/docker-registry-ui:latest ports: - 80:80 environment: - REGISTRY_TITLE=My Private Docker Registry - - REGISTRY_URL=http://registry:5000 + - NGINX_PROXY_PASS_URL=http://registry:5000 + - SINGLE_REGISTRY=true depends_on: - registry networks: diff --git a/examples/ui-as-standalone/credentials.yml b/examples/ui-as-standalone/credentials.yml index 15bda35..3ac8cfd 100644 --- a/examples/ui-as-standalone/credentials.yml +++ b/examples/ui-as-standalone/credentials.yml @@ -10,11 +10,12 @@ services: - ./registry-config/htpasswd:/etc/docker/registry/htpasswd ui: - image: joxit/docker-registry-ui:static + image: joxit/docker-registry-ui:latest ports: - 80:80 environment: - REGISTRY_TITLE=My Private Docker Registry - - URL=http://localhost:5000 + - REGISTRY_URL=http://localhost:5000 + - SINGLE_REGISTRY=true depends_on: - registry \ No newline at end of file diff --git a/examples/ui-as-standalone/simple.yml b/examples/ui-as-standalone/simple.yml index 5de38fb..71e6678 100644 --- a/examples/ui-as-standalone/simple.yml +++ b/examples/ui-as-standalone/simple.yml @@ -9,11 +9,12 @@ services: - ./registry-config/simple.yml:/etc/docker/registry/config.yml ui: - image: joxit/docker-registry-ui:static + image: joxit/docker-registry-ui:latest ports: - 80:80 environment: - REGISTRY_TITLE=My Private Docker Registry - - URL=http://localhost:5000 + - REGISTRY_URL=http://localhost:5000 + - SINGLE_REGISTRY=true depends_on: - registry \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js deleted file mode 100644 index f8deb15..0000000 --- a/gulpfile.js +++ /dev/null @@ -1,123 +0,0 @@ -'use strict'; -const cleanCSS = require('gulp-clean-css'); -const concat = require('gulp-concat'); -const del = require('del'); -const filter = require('gulp-filter'); -const gIf = require('gulp-if'); -const gulp = require('gulp'); -const parallel = gulp.parallel; -const series = gulp.series; -const htmlmin = require('gulp-htmlmin'); -const license = require('gulp-license'); -const riot = require('gulp-riot'); -const uglify = require('uglify-es'); -const minifier = require('gulp-uglify/composer')(uglify); -const useref = require('gulp-useref'); -const injectVersion = require('gulp-inject-version'); -const merge = require('stream-series'); - -const allTags = ['src/tags/*.riot', 'src/tags/dialogs/*.riot']; - -const allScripts = [ - 'src/scripts/http.js', - 'src/scripts/script.js', - 'src/scripts/utils.js' -]; - -const staticTags = ['src/tags/*.riot']; - -const staticScripts = [ - 'src/scripts/http.js', - 'src/scripts/static.js', - 'src/scripts/utils.js' -]; - -function html() { - var htmlFilter = filter('**/*.html', {restore: true}); - return gulp.src(['src/index.html']) - .pipe(useref()) - .pipe(gIf(['*.js', '!*.min.js'], minifier())) // FIXME - .pipe(htmlFilter) - .pipe(htmlmin({ - removeComments: false, - collapseWhitespace: true, - removeRedundantAttributes: true, - removeEmptyAttributes: true, - minifyJS: uglify - })) - .pipe(htmlFilter.restore) - .pipe(gulp.dest('dist')); -}; - -function clean() { - return del(['dist']); -}; - -function appStatic() { - return merge(gulp.src(staticScripts), gulp.src(staticTags).pipe(riot())) - .pipe(concat('docker-registry-ui-static.js')) - .pipe(minifier()) - .pipe(license('agpl3', { - tiny: false, - project: 'docker-registry-ui', - year: '2016-2019', - organization: 'Jones Magloire @Joxit' - })) - .pipe(injectVersion()) - .pipe(gulp.dest('dist/scripts')); -}; - -function app() { - return merge(gulp.src(allScripts), gulp.src(allTags).pipe(riot())) - .pipe(concat('docker-registry-ui.js')) - .pipe(minifier()) - .pipe(license('agpl3', { - tiny: false, - project: 'docker-registry-ui', - year: '2016-2019', - organization: 'Jones Magloire @Joxit' - })) - .pipe(injectVersion()) - .pipe(gulp.dest('dist/scripts')); -}; - -function vendor() { - return gulp.src(['node_modules/riot/riot.min.js', 'node_modules/riot-route/dist/route.min.js', 'node_modules/riot-mui/build/js/riot-mui-min.js']) - .pipe(concat('vendor.js')) - .pipe(gulp.dest('dist/scripts')); -}; - -function styles() { - return gulp.src(['src/*.css']) - .pipe(concat('style.css')) - .pipe(cleanCSS({ - compatibility: 'ie8' - })) - .pipe(license('agpl3', { - tiny: false, - project: 'docker-registry-ui', - year: '2016-2019', - organization: 'Jones Magloire @Joxit' - })) - .pipe(gulp.dest('dist/')); -}; - -function fonts() { - return gulp.src('src/fonts/*') - .pipe(filter('**/*.{otf,eot,svg,ttf,woff,woff2}')) - .pipe(gulp.dest('dist/fonts')); -}; - -function svgs() { - return gulp.src(['src/images/*.svg']) - .pipe(htmlmin({ - removeComments: false, - collapseWhitespace: true, - removeRedundantAttributes: true, - removeEmptyAttributes: true, - minifyJS: uglify - })) - .pipe(gulp.dest('dist/images/')); -}; - -exports.build = series(clean, html, parallel(fonts, styles, vendor, app, appStatic, svgs)); \ No newline at end of file diff --git a/package.json b/package.json index dadeca1..66b9ee2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "docker-registry-ui", - "version": "2.0.0-beta.1", + "version": "2.0.0", "scripts": { "start": "ROLLUP_SERVE=true rollup -c -w", "build": "rollup -c",