File manager - Edit - /home/opticamezl/www/newok/plg_installer_webinstaller.tar
Back
css/client.css 0000644 00000005305 15172567015 0007340 0 ustar 00 @charset "UTF-8"; .com-apps-container .badge { margin: 1px; } .com-apps-container .badge.badge-success { background-color: var(--success); } .com-apps-container .badge.badge-secondary { background-color: var(--secondary); } .com-apps-container .badge.badge-danger { background-color: var(--danger); } .com-apps-container .badge.badge-warning { background-color: var(--warning); } .com-apps-container .fader { text-align: center; background-image: linear-gradient(#fff0 70%, #fff 95%); width: 100%; height: 100%; margin-top: 5px; position: absolute; top: 0; left: 0; } .com-apps-container .com-apps-sidebar .nav .nav { padding-inline-start: 15px; } .com-apps-container .com-apps-sidebar a:hover, .com-apps-container .com-apps-sidebar a.active { color: #fff; background-color: #33608f; text-decoration: none; } .com-apps-container .grid-container .card { height: 400px; margin-bottom: 2rem; } .com-apps-container .grid-container .card:hover { background-color: var(--gray-200); } .com-apps-container .grid-container .card-img, .com-apps-container .grid-container .card-img-top { border-top-left-radius: 0; border-top-right-radius: 0; height: 6rem; overflow: hidden; } .com-apps-container .grid-container .card-text { height: 160px; overflow: hidden; } .com-apps-container .grid-container .card-body { cursor: pointer; padding: .5rem; } .com-apps-container .list-container { box-sizing: border-box; } .com-apps-container .list-container .fader { background-image: linear-gradient(#fff0 0%, #fff 25%); } .com-apps-container .list-container .list-group-item { margin-bottom: 10px; } .com-apps-container .list-container .list-group-item:hover { background-color: #f8f8f8; } .com-apps-container .list-container .list-group-item .row { cursor: pointer; } .com-apps-container .item-view { margin-top: 3rem; } .com-apps-container .item-view a[target="_blank"] span.icon-download, .com-apps-container .item-view a[target="_blank"] span.icon-list, .com-apps-container .item-view a[target="_blank"] span.icon-share-alt { display: none; } .com-apps-container .form-row { display: flex; } .com-apps-container .form-row .col-md:first-child { margin-inline-end: .8rem; } .com-apps-container .form-row .input-group .input-group-append button#search-extensions { border-start-start-radius: 0; border-end-start-radius: 0; } .com-apps-container .form-row .input-group .input-group-append button#search-reset { margin-inline-start: .8rem; } .ifw-busy { overflow: hidden; } .ifw-loading-container { z-index: 1000; opacity: .95; background: #ffffffb3 url("../../system/images/ajax-loader.gif") 50% 10px no-repeat; width: 100%; height: 100%; top: 0; left: 0; } css/client.min.css.gz 0000644 00000001350 15172567015 0010535 0 ustar 00 � �Umo�0�+�U�F� i��5��O�ۧi�|��`��I���dMߨh6E������so��آξ}�"n��05����"5�i� L@��U�9i���?�Z�S�&M��.��>g�h%RS�[�1��3�05Z�'�F�` t�<�t��k�� � �@!w['��\��C��Q9ʒ4��Ajwq�eY|����m�xG�rE��@�w�2%���n��Xrd��Ě�q{I��9�����&�A�a�] J��i��f�,^ �,��r�v��-v�}���ϯ�o��,�iU��>`m4��UΤ�|Xu���nG㜩�c5��T��{qE������]�>�]bX!������+����}�G�� c� ���dAJ�~��>#��O��X�Q�.m�����[���f2/%Yw|w�i����h>1�˱eg6�؟W��r|��ȵ �U����Qݞ�3U��٭����lv�r�:��[�]�h]O&�A=��8G��gR����tH��B��. ���!|<�`n`P�N��Kؿ1a2Õ�t��Y��۪~���R2#�y(�T#ôE�dx;���t��{��&�U�4�}n8-��%��83��>���j�L��a��~X3C��D��}�b�x������[�V��Ŧ���^�w�G���,Y�%�A��E��pe��a��ݮ��=8r�S�6�"�h#k7���,ܿ�{�u css/client.min.css 0000644 00000004565 15172567015 0010131 0 ustar 00 @charset "UTF-8";.com-apps-container .badge{margin:1px}.com-apps-container .badge.badge-success{background-color:var(--success)}.com-apps-container .badge.badge-secondary{background-color:var(--secondary)}.com-apps-container .badge.badge-danger{background-color:var(--danger)}.com-apps-container .badge.badge-warning{background-color:var(--warning)}.com-apps-container .fader{text-align:center;background-image:linear-gradient(#fff0 70%,#fff 95%);width:100%;height:100%;margin-top:5px;position:absolute;top:0;left:0}.com-apps-container .com-apps-sidebar .nav .nav{padding-inline-start:15px}.com-apps-container .com-apps-sidebar a:hover,.com-apps-container .com-apps-sidebar a.active{color:#fff;background-color:#33608f;text-decoration:none}.com-apps-container .grid-container .card{height:400px;margin-bottom:2rem}.com-apps-container .grid-container .card:hover{background-color:var(--gray-200)}.com-apps-container .grid-container .card-img,.com-apps-container .grid-container .card-img-top{border-top-left-radius:0;border-top-right-radius:0;height:6rem;overflow:hidden}.com-apps-container .grid-container .card-text{height:160px;overflow:hidden}.com-apps-container .grid-container .card-body{cursor:pointer;padding:.5rem}.com-apps-container .list-container{box-sizing:border-box}.com-apps-container .list-container .fader{background-image:linear-gradient(#fff0 0%,#fff 25%)}.com-apps-container .list-container .list-group-item{margin-bottom:10px}.com-apps-container .list-container .list-group-item:hover{background-color:#f8f8f8}.com-apps-container .list-container .list-group-item .row{cursor:pointer}.com-apps-container .item-view{margin-top:3rem}.com-apps-container .item-view a[target=_blank] span.icon-download,.com-apps-container .item-view a[target=_blank] span.icon-list,.com-apps-container .item-view a[target=_blank] span.icon-share-alt{display:none}.com-apps-container .form-row{display:flex}.com-apps-container .form-row .col-md:first-child{margin-inline-end:.8rem}.com-apps-container .form-row .input-group .input-group-append button#search-extensions{border-start-start-radius:0;border-end-start-radius:0}.com-apps-container .form-row .input-group .input-group-append button#search-reset{margin-inline-start:.8rem}.ifw-busy{overflow:hidden}.ifw-loading-container{z-index:1000;opacity:.95;background:#ffffffb3 url(../../system/images/ajax-loader.gif) 50% 10px no-repeat;width:100%;height:100%;top:0;left:0} scss/client.scss 0000644 00000005660 15172567015 0007712 0 ustar 00 // Bootstrap functions @import "../../../../media/vendor/bootstrap/scss/functions"; // Bootstrap other @import "../../../../media/vendor/bootstrap/scss/mixins"; @import "../../../../media/vendor/bootstrap/scss/variables"; // Extension variables $extension-types: ( "jcommercial": #f6c801, "jcomponent": #1e9e33, "jlanguage": $dark, "jmodule": #e20a0a, "jplugin": #57278e, "jspecific": #d69b34, "jtool": #333 ); .com-apps-container { // Extension type badges .badge { margin: 1px; // BS5 Dropped all .badge-* color classes &.badge-success { background-color: var(--success); } &.badge-secondary { background-color: var(--secondary); } &.badge-danger { background-color: var(--danger); } &.badge-warning { background-color: var(--warning); } } .fader { position: absolute; top: 0; left: 0; width: 100%; height: 100%; margin-top: 5px; text-align: center; @include gradient-y(rgba(255,255,255,0), rgba(255,255,255,1), 70%, 95%); } .com-apps-sidebar { // Bootstrap 4 does not indent second level navigation .nav { .nav { padding-inline-start: 15px; } } a { &:hover, &.active { color: $white; text-decoration: none; background-color: #33608f; } } } .grid-container { .card { height: 400px; margin-bottom: 2rem; &:hover { background-color: var(--gray-200); } } .card-img, .card-img-top { height: 6rem; overflow: hidden; border-top-left-radius: 0; border-top-right-radius: 0; } .card-text { height: 160px; overflow: hidden; } .card-body { padding: .5rem; cursor: pointer; } } .list-container { box-sizing: border-box; // Override fader gradient .fader { @include gradient-y(rgba(255,255,255,0), rgba(255,255,255,1), 0%, 25%); } .list-group-item { margin-bottom: 10px; &:hover { background-color: #f8f8f8; } .row { cursor: pointer; } } } .item-view { margin-top: 3rem; a[target="_blank"] { span.icon-download, span.icon-list, span.icon-share-alt { display: none; } } } .form-row { display: flex; .col-md:first-child { margin-inline-end: .8rem; } .input-group { .input-group-append { button#search-extensions { border-start-start-radius: 0; border-end-start-radius: 0; } button#search-reset { margin-inline-start: .8rem; } } } } } // Disallow scrolling when overlay is active .ifw-busy { overflow: hidden; } .ifw-loading-container { top: 0; left: 0; z-index: 1000; width: 100%; height: 100%; background: url("../../system/images/ajax-loader.gif") rgba(255,255,255,.7) 50% 10px no-repeat; opacity: .95; } js/client-es5.min.js 0000644 00000022166 15172567015 0010270 0 ustar 00 (function(){"use strict";/** * @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */if(!Joomla)throw new Error("Joomla API is not properly initialised");var L={button:["type"],input:["type","name","placeholder","inputmode"],select:["name"],option:["value","selected"]},e={view:"dashboard",id:0,ordering:"",version:"current",list:0,options:Joomla.getOptions("plg_installer_webinstaller",{})},u,y=function(){function o(){}var i=o.prototype;return i.initialise=function(){var t=this;e.loaded=1;var n=document.getElementById("uploadform-web-cancel");n.addEventListener("click",function(){document.getElementById("uploadform-web").classList.add("hidden"),e.list&&document.querySelector(".list-view")&&document.querySelector(".list-view").click()});var a=document.getElementById("uploadform-web-install");a.addEventListener("click",function(){e.options.installFrom===4?t.submitButtonUrl():t.submitButtonWeb()}),this.loadweb(e.options.base_url+"index.php?format=json&option=com_apps&view=dashboard"),this.clickforlinks()},i.loadweb=function(t){var n=this;if(!t)return!1;var a=new RegExp(e.options.base_url),c=/^index\.php/;if(!(a.test(t)||c.test(t)))return window.open(t,"_blank"),!1;var E=t+"&product="+e.options.product+"&release="+e.options.release+"&dev_level="+e.options.dev_level+"&list="+(e.list?"list":"grid")+"&lang="+e.options.language,h=document.getElementById("com-apps-ordering"),w=document.getElementById("com-apps-filter-joomla-version");return e.ordering!==""&&h&&h.value&&(e.ordering=h.value,E+="&ordering="+e.ordering),e.version!==""&&w&&w.value&&(e.version=w.value,E+="&filter_version="+e.version),o.showLoadingLayer(),new Promise(function(f,m){Joomla.request({url:E,onSuccess:function(l){var s;try{s=JSON.parse(l)}catch{throw new Error("Failed to parse JSON")}document.getElementById("web-loader")&&document.getElementById("web-loader").classList.add("hidden");var p=document.getElementById("jed-container");p.innerHTML=Joomla.sanitizeHtml(s.data.html,L),document.getElementById("com-apps-searchbox").addEventListener("keypress",function(d){var I=d.which;I===13&&n.initiateSearch()}),document.getElementById("search-extensions").addEventListener("click",function(){n.initiateSearch()}),document.getElementById("search-reset").addEventListener("click",function(){var d=document.getElementById("com-apps-searchbox");d.value="",n.initiateSearch(),document.getElementById("search-reset").setAttribute("disabled","disabled")}),document.getElementById("com-apps-searchbox").value===""&&document.getElementById("search-reset").setAttribute("disabled","disabled"),document.getElementById("search-reset").innerHTML=Joomla.sanitizeHtml(Joomla.Text._("JSEARCH_FILTER_CLEAR"));var b=document.getElementById("com-apps-ordering"),g=document.getElementById("com-apps-filter-joomla-version");b&&b.addEventListener("change",function(){var d=b.selectedIndex;e.ordering=b.options[d].value,n.installfromwebajaxsubmit()}),g&&g.addEventListener("change",function(){var d=g.selectedIndex;e.version=g.options[d].value,n.installfromwebajaxsubmit()}),e.options.installfrom_url!==""&&o.installfromweb(e.options.installfrom_url),f()},onError:function(l){var s=document.getElementById("web-loader-error"),p=document.getElementById("web-loader");l.responseText&&s&&(s.innerHTML=Joomla.sanitizeHtml(l.responseText)),p&&(p.classList.add("hidden"),s.classList.remove("hidden")),Joomla.renderMessages({danger:[Joomla.Text._("PLG_INSTALLER_WEBINSTALLER_INSTALL_WEB_LOADING_ERROR")]},"#web-loader-error"),m()}})}).finally(function(){var f=document.getElementById("joomlaapsinstallatinput");if(f&&(f.value=e.options.installat_url),n.clickforlinks(),o.clicker(),e.view!=="extension"&&[].slice.call(document.querySelectorAll("div.load-extension")).forEach(function(l){l.addEventListener("click",function(s){s.preventDefault(),n.processLinkClick(l.getAttribute("data-url"))}),l.setAttribute("href","#")}),e.view==="extension"){var m=document.getElementById("install-extension"),v=document.getElementById("install-extension-from-external");m&&m.addEventListener("click",function(){o.installfromweb(m.getAttribute("data-downloadurl"),m.getAttribute("data-name")),document.getElementById("uploadform-web-install").scrollIntoView({behavior:"smooth",block:"start"})}),v&&v.addEventListener("click",function(){var l=v.getAttribute("data-downloadurl"),s=window.confirm(Joomla.Text._("PLG_INSTALLER_WEBINSTALLER_REDIRECT_TO_EXTERNAL_SITE_TO_INSTALL").replace("[SITEURL]",l));s===!0&&(document.getElementById("adminForm").setAttribute("action",l),document.querySelector("input[name=task]").setAttribute("disabled",!0),document.querySelector("input[name=install_directory]").setAttribute("disabled",!0),document.querySelector("input[name=install_url]").setAttribute("disabled",!0),document.querySelector("input[name=installtype]").setAttribute("disabled",!0),document.querySelector("input[name=filter_search]").setAttribute("disabled",!0),document.getElementById("adminForm").submit())})}e.list&&document.querySelector(".list-view")&&document.querySelector(".list-view").click(),o.hideLoadingLayer()}),!0},i.clickforlinks=function(){var t=this;[].slice.call(document.querySelectorAll("a.transcode")).forEach(function(n){var a=n.getAttribute("href");n.addEventListener("click",function(c){c.preventDefault(),t.processLinkClick(a)}),n.setAttribute("href","#")})},i.initiateSearch=function(){document.getElementById("search-reset").removeAttribute("disabled"),e.view="dashboard",this.installfromwebajaxsubmit()},i.installfromwebajaxsubmit=function(){var t="&view="+e.view;if(e.id&&(t+="&id="+e.id),document.getElementById("com-apps-searchbox").value){var n=encodeURI(document.getElementById("com-apps-searchbox").value.toLowerCase().replace(/ +/g,"_").replace(/[^a-z0-9-_]/g,"").trim());t+="&filter_search="+n}var a=document.getElementById("com-apps-ordering"),c=document.getElementById("com-apps-filter-joomla-version");e.ordering!==""&&a&&a.value&&(e.ordering=a.value),e.ordering&&(t+="&ordering="+e.ordering),e.version!==""&&c&&c.value&&(e.version=c.value),e.version&&(t+="&filter_version="+e.version),this.loadweb(e.options.base_url+"index.php?format=json&option=com_apps"+t)},i.processLinkClick=function(t){var n=new RegExp(e.options.base_url),a=/^index\.php/;n.test(t)||a.test(t)?(e.view=t.replace(/^.+[&?]view=(\w+).*$/,"$1"),e.view==="dashboard"?e.id=0:e.view==="category"&&(e.id=t.replace(/^.+[&?]id=(\d+).*$/,"$1")),this.loadweb(e.options.base_url+t)):this.loadweb(t)},o.showLoadingLayer=function(){document.getElementById("web").appendChild(document.createElement("joomla-core-loader"))},o.hideLoadingLayer=function(){var t=document.querySelector("#web joomla-core-loader");t.parentNode.removeChild(t)},o.clicker=function(){document.querySelector(".grid-view")&&document.querySelector(".grid-view").addEventListener("click",function(){e.list=0,document.querySelector(".list-container").classList.add("hidden"),document.querySelector(".grid-container").classList.remove("hidden"),document.getElementById("btn-list-view").classList.remove("active"),document.getElementById("btn-grid-view").classList.remove("active")}),document.querySelector(".list-view")&&document.querySelector(".list-view").addEventListener("click",function(){e.list=1,document.querySelector(".grid-container").classList.add("hidden"),document.querySelector(".list-container").classList.remove("hidden"),document.getElementById("btn-grid-view").classList.remove("active"),document.getElementById("btn-list-view").classList.add("active")})},o.installfromweb=function(t,n){return n===void 0&&(n=null),t?(document.getElementById("install_url").value=t,document.getElementById("uploadform-web-url").innerText=t,n?(document.getElementById("uploadform-web-name").innerText=n,document.getElementById("uploadform-web-name-label").classList.remove("hidden")):document.getElementById("uploadform-web-name-label").classList.add("hidden"),document.getElementById("uploadform-web").classList.remove("hidden"),!0):(Joomla.renderMessages({warning:[Joomla.Text._("PLG_INSTALLER_WEBINSTALLER_CANNOT_INSTALL_EXTENSION_IN_PLUGIN")]}),!1)},i.submitButtonUrl=function(){var t=document.getElementById("adminForm");if(t.install_url.value===""||t.install_url.value==="http://"||t.install_url.value==="https://")Joomla.renderMessages({warning:[Joomla.Text._("COM_INSTALLER_MSG_INSTALL_ENTER_A_URL")]});else{var n=document.getElementById("loading");n&&n.classList.remove("hidden"),t.installtype.value="url",t.submit()}},i.submitButtonWeb=function(){var t=document.getElementById("adminForm");t.install_url.value!==""||t.install_url.value!=="http://"||t.install_url.value!=="https://"?this.submitButtonUrl():t.install_url.value===""?Joomla.renderMessages({warning:[Joomla.apps.options.btntxt]}):(document.querySelector("#appsloading").classList.remove("hidden"),t.installtype.value="web",t.submit())},o}();customElements.whenDefined("joomla-tab").then(function(){var o=document.getElementById("myTab"),i=o.querySelector("button[aria-controls=web]");i&&(e.options.installfromon&&i.click(),i.hasAttribute("aria-expanded")&&i.getAttribute("aria-expanded")==="true"&&!u&&(u=new y,u.initialise()),e.options.installfrom_url!==""&&i.click(),i.addEventListener("joomla.tab.shown",function(){u||(u=new y,u.initialise())}))})})(); js/client.min.js 0000644 00000023511 15172567015 0007571 0 ustar 00 /** * @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */if(!Joomla)throw new Error("Joomla API is not properly initialised");const allowList={button:["type"],input:["type","name","placeholder","inputmode"],select:["name"],option:["value","selected"]},webInstallerOptions={view:"dashboard",id:0,ordering:"",version:"current",list:0,options:Joomla.getOptions("plg_installer_webinstaller",{})};let instance;class WebInstaller{initialise(){webInstallerOptions.loaded=1,document.getElementById("uploadform-web-cancel").addEventListener("click",()=>{document.getElementById("uploadform-web").classList.add("hidden"),webInstallerOptions.list&&document.querySelector(".list-view")&&document.querySelector(".list-view").click()}),document.getElementById("uploadform-web-install").addEventListener("click",()=>{webInstallerOptions.options.installFrom===4?this.submitButtonUrl():this.submitButtonWeb()}),this.loadweb(`${webInstallerOptions.options.base_url}index.php?format=json&option=com_apps&view=dashboard`),this.clickforlinks()}loadweb(e){if(!e)return!1;const t=new RegExp(webInstallerOptions.options.base_url),o=/^index\.php/;if(!(t.test(e)||o.test(e)))return window.open(e,"_blank"),!1;let s=`${e}&product=${webInstallerOptions.options.product}&release=${webInstallerOptions.options.release}&dev_level=${webInstallerOptions.options.dev_level}&list=${webInstallerOptions.list?"list":"grid"}&lang=${webInstallerOptions.options.language}`;const u=document.getElementById("com-apps-ordering"),p=document.getElementById("com-apps-filter-joomla-version");return webInstallerOptions.ordering!==""&&u&&u.value&&(webInstallerOptions.ordering=u.value,s+=`&ordering=${webInstallerOptions.ordering}`),webInstallerOptions.version!==""&&p&&p.value&&(webInstallerOptions.version=p.value,s+=`&filter_version=${webInstallerOptions.version}`),WebInstaller.showLoadingLayer(),new Promise((d,n)=>{Joomla.request({url:s,onSuccess:i=>{let l;try{l=JSON.parse(i)}catch{throw new Error("Failed to parse JSON")}document.getElementById("web-loader")&&document.getElementById("web-loader").classList.add("hidden");const a=document.getElementById("jed-container");a.innerHTML=Joomla.sanitizeHtml(l.data.html,allowList),document.getElementById("com-apps-searchbox").addEventListener("keypress",({which:r})=>{r===13&&this.initiateSearch()}),document.getElementById("search-extensions").addEventListener("click",()=>{this.initiateSearch()}),document.getElementById("search-reset").addEventListener("click",()=>{const r=document.getElementById("com-apps-searchbox");r.value="",this.initiateSearch(),document.getElementById("search-reset").setAttribute("disabled","disabled")}),document.getElementById("com-apps-searchbox").value===""&&document.getElementById("search-reset").setAttribute("disabled","disabled"),document.getElementById("search-reset").innerHTML=Joomla.sanitizeHtml(Joomla.Text._("JSEARCH_FILTER_CLEAR"));const c=document.getElementById("com-apps-ordering"),m=document.getElementById("com-apps-filter-joomla-version");c&&c.addEventListener("change",()=>{const r=c.selectedIndex;webInstallerOptions.ordering=c.options[r].value,this.installfromwebajaxsubmit()}),m&&m.addEventListener("change",()=>{const r=m.selectedIndex;webInstallerOptions.version=m.options[r].value,this.installfromwebajaxsubmit()}),webInstallerOptions.options.installfrom_url!==""&&WebInstaller.installfromweb(webInstallerOptions.options.installfrom_url),d()},onError:i=>{const l=document.getElementById("web-loader-error"),a=document.getElementById("web-loader");i.responseText&&l&&(l.innerHTML=Joomla.sanitizeHtml(i.responseText)),a&&(a.classList.add("hidden"),l.classList.remove("hidden")),Joomla.renderMessages({danger:[Joomla.Text._("PLG_INSTALLER_WEBINSTALLER_INSTALL_WEB_LOADING_ERROR")]},"#web-loader-error"),n()}})}).finally(()=>{const d=document.getElementById("joomlaapsinstallatinput");if(d&&(d.value=webInstallerOptions.options.installat_url),this.clickforlinks(),WebInstaller.clicker(),webInstallerOptions.view!=="extension"&&[].slice.call(document.querySelectorAll("div.load-extension")).forEach(n=>{n.addEventListener("click",i=>{i.preventDefault(),this.processLinkClick(n.getAttribute("data-url"))}),n.setAttribute("href","#")}),webInstallerOptions.view==="extension"){const n=document.getElementById("install-extension"),i=document.getElementById("install-extension-from-external");n&&n.addEventListener("click",()=>{WebInstaller.installfromweb(n.getAttribute("data-downloadurl"),n.getAttribute("data-name")),document.getElementById("uploadform-web-install").scrollIntoView({behavior:"smooth",block:"start"})}),i&&i.addEventListener("click",()=>{const l=i.getAttribute("data-downloadurl");window.confirm(Joomla.Text._("PLG_INSTALLER_WEBINSTALLER_REDIRECT_TO_EXTERNAL_SITE_TO_INSTALL").replace("[SITEURL]",l))===!0&&(document.getElementById("adminForm").setAttribute("action",l),document.querySelector("input[name=task]").setAttribute("disabled",!0),document.querySelector("input[name=install_directory]").setAttribute("disabled",!0),document.querySelector("input[name=install_url]").setAttribute("disabled",!0),document.querySelector("input[name=installtype]").setAttribute("disabled",!0),document.querySelector("input[name=filter_search]").setAttribute("disabled",!0),document.getElementById("adminForm").submit())})}webInstallerOptions.list&&document.querySelector(".list-view")&&document.querySelector(".list-view").click(),WebInstaller.hideLoadingLayer()}),!0}clickforlinks(){[].slice.call(document.querySelectorAll("a.transcode")).forEach(e=>{const t=e.getAttribute("href");e.addEventListener("click",o=>{o.preventDefault(),this.processLinkClick(t)}),e.setAttribute("href","#")})}initiateSearch(){document.getElementById("search-reset").removeAttribute("disabled"),webInstallerOptions.view="dashboard",this.installfromwebajaxsubmit()}installfromwebajaxsubmit(){let e=`&view=${webInstallerOptions.view}`;if(webInstallerOptions.id&&(e+=`&id=${webInstallerOptions.id}`),document.getElementById("com-apps-searchbox").value){const s=encodeURI(document.getElementById("com-apps-searchbox").value.toLowerCase().replace(/ +/g,"_").replace(/[^a-z0-9-_]/g,"").trim());e+=`&filter_search=${s}`}const t=document.getElementById("com-apps-ordering"),o=document.getElementById("com-apps-filter-joomla-version");webInstallerOptions.ordering!==""&&t&&t.value&&(webInstallerOptions.ordering=t.value),webInstallerOptions.ordering&&(e+=`&ordering=${webInstallerOptions.ordering}`),webInstallerOptions.version!==""&&o&&o.value&&(webInstallerOptions.version=o.value),webInstallerOptions.version&&(e+=`&filter_version=${webInstallerOptions.version}`),this.loadweb(`${webInstallerOptions.options.base_url}index.php?format=json&option=com_apps${e}`)}processLinkClick(e){const t=new RegExp(webInstallerOptions.options.base_url),o=/^index\.php/;t.test(e)||o.test(e)?(webInstallerOptions.view=e.replace(/^.+[&?]view=(\w+).*$/,"$1"),webInstallerOptions.view==="dashboard"?webInstallerOptions.id=0:webInstallerOptions.view==="category"&&(webInstallerOptions.id=e.replace(/^.+[&?]id=(\d+).*$/,"$1")),this.loadweb(webInstallerOptions.options.base_url+e)):this.loadweb(e)}static showLoadingLayer(){document.getElementById("web").appendChild(document.createElement("joomla-core-loader"))}static hideLoadingLayer(){const e=document.querySelector("#web joomla-core-loader");e.parentNode.removeChild(e)}static clicker(){document.querySelector(".grid-view")&&document.querySelector(".grid-view").addEventListener("click",()=>{webInstallerOptions.list=0,document.querySelector(".list-container").classList.add("hidden"),document.querySelector(".grid-container").classList.remove("hidden"),document.getElementById("btn-list-view").classList.remove("active"),document.getElementById("btn-grid-view").classList.remove("active")}),document.querySelector(".list-view")&&document.querySelector(".list-view").addEventListener("click",()=>{webInstallerOptions.list=1,document.querySelector(".grid-container").classList.add("hidden"),document.querySelector(".list-container").classList.remove("hidden"),document.getElementById("btn-grid-view").classList.remove("active"),document.getElementById("btn-list-view").classList.add("active")})}static installfromweb(e,t=null){return e?(document.getElementById("install_url").value=e,document.getElementById("uploadform-web-url").innerText=e,t?(document.getElementById("uploadform-web-name").innerText=t,document.getElementById("uploadform-web-name-label").classList.remove("hidden")):document.getElementById("uploadform-web-name-label").classList.add("hidden"),document.getElementById("uploadform-web").classList.remove("hidden"),!0):(Joomla.renderMessages({warning:[Joomla.Text._("PLG_INSTALLER_WEBINSTALLER_CANNOT_INSTALL_EXTENSION_IN_PLUGIN")]}),!1)}submitButtonUrl(){const e=document.getElementById("adminForm");if(e.install_url.value===""||e.install_url.value==="http://"||e.install_url.value==="https://")Joomla.renderMessages({warning:[Joomla.Text._("COM_INSTALLER_MSG_INSTALL_ENTER_A_URL")]});else{const t=document.getElementById("loading");t&&t.classList.remove("hidden"),e.installtype.value="url",e.submit()}}submitButtonWeb(){const e=document.getElementById("adminForm");e.install_url.value!==""||e.install_url.value!=="http://"||e.install_url.value!=="https://"?this.submitButtonUrl():e.install_url.value===""?Joomla.renderMessages({warning:[Joomla.apps.options.btntxt]}):(document.querySelector("#appsloading").classList.remove("hidden"),e.installtype.value="web",e.submit())}}customElements.whenDefined("joomla-tab").then(()=>{const e=document.getElementById("myTab").querySelector("button[aria-controls=web]");e&&(webInstallerOptions.options.installfromon&&e.click(),e.hasAttribute("aria-expanded")&&e.getAttribute("aria-expanded")==="true"&&!instance&&(instance=new WebInstaller,instance.initialise()),webInstallerOptions.options.installfrom_url!==""&&e.click(),e.addEventListener("joomla.tab.shown",()=>{instance||(instance=new WebInstaller,instance.initialise())}))}); js/client-es5.min.js.gz 0000644 00000005223 15172567015 0010702 0 ustar 00 � �Zms�6��_A�7"�h�w��\GI�Q��\o�u5���@ ��UE��fIJ�^-��/6,���C�L�Nh�9�,x�;Ҹx��;��X�3#�#�y� �~�|�w�6���������k�8�9r.�����t~�z,y���_9+)bP<���u>z�@��������v9;c�V��6��Ló ^�u���5C���^]�Ap�s�u#������4F������'����R�S0r� %��RXHmL���Ѽ�9�U���Y � �fn����/�<��� �HN3� �[�゜��%Z .3\Z@B��D��NnG}�MB�H�L��P�:!�B�ę1�aRX�D9k[/���#I�'�u\J0�)�W?�/�elUԽ|�t@���t��4^�a�eFy"\ˬ��ȍ�m@(5O �^�UQ��l�����Y+ H�"�@�qm �Z�U�І y�4'�\[X���X��3a�-OdKhKn-�B��$E(���+N�g`fw�z�r����Ө��]��O�{�B���CX�>,W�5zE�߮\h��X�s3�hd@�c�@O�P[�������B/3���S���+<'w�'��_�E��x�Zo�ͷ�y��� 肉�Vk�q�ݨ�nЇ-���u)?��.�O�RG���y��x���/_��#-{S�= u *p��τ�r�f�Ή��d���z�r�$p���9���$L@n̯Fω����0�+�I��H�y���q �C`���q �Q[B���L��ε2���w������(�#���٨d������k�� �r2�VY��-�a�L��HOۚ'B �|&�-��ca!XYڀ�鼌�~��(晑�&��.�c������]چ3���~���)7I1w�h��e�r!!�rJ�8� t�<N���r��P� 7=��O��b� �4�P(���������X6L���ȍ%kS�� Y�&���{��g����į�p+J��HģF+����}U�w9�<N<@�o �(��w���U���N� /�D/\#)�>"�����Yp����$��%$����u�J�s.� �q�[k9vO.����u����V����ݴ��]B�,|�D��~�����[�˪���Q���exH�Ȩ�Y`�x }��?>7��_��pg�e��x���0Y�1_o-.�l�u�Vy�ݍ�� A���P�F'�؆ �T+hP�o}?��X��JY�Az�괕c=��$e�$�0�Z>�T��?lY����^�sw�n7��_�?��O8�k�^�iu����m���#���8��]�p �rlY��H����S[*���%"K����2�쨛�B�j�dd�ɳ:�Xf� ��=���b�\�`�~-%�I^~�s�4h���(���<!�[:�z�� x&X"b!���M�H�S5r�k�����ȭ(920 �|O ?���Z�B)��-���5�Q����O�x;n=�w�DO�!�K�7��Hr8�8�66Zʖr�?���#>�ԉk�F����?u�8���&�?99��h�lTv�Va���m�iu�7����^��n�ݻk�7q�$#44�cy����#a�҆����������X��ڌw4��|ء67��TO��x$ɟ]�ĦT]/&��}C���ߎ ߀[������*�̻tA�?0��p$����]bW��@B'�i:Õ�I��U��Gj���yr�y���n��xIu$H�7+��|j��-j�}���Ut0GW��`�����j��M�U�b��P$�8l�E�O��Z�%� ���� ��I�t[O��p�:�]x�CFz�xx����qY�G���s��Έq@i�U��b�����3ݾ� �=���}���R���.ǖ9Y�}?ރ��k��В�1�������ƹ�f{�g@?���5�����u��>~����|8�uzN�W�`�/�I��Z��Z~tY_���P�ɥ*�=�E�&U���QZߠAI�['���i *� ���.6���˒�k��'�w;�C�� o߆C ���ʈW���jY���v�B��<V�:P�a�Kv<3Vp�� ��3�����}�j�Iz�sx�GU@�y,(�����x�"���e�8M�_��&k-��l��J�d��K�^EQ4�"�P�ʤ��]����{){twr�U���lp"�ԑ���^e�b/YZ������)�?��=���=�]�zp �r���`���N�~��`�عk�vz�N�C��V�|��g߭w�GB����DV,��r`��_\'��}�tnn�W����ZĀ�{��\ ��ϼ��E��n_HQ��"� .�{t �V��b[�T]�ER�#���"?{N�gU�_��Ǿ��|u����[�;N�'�����`�V x���*�Ǩ�h#ά��R�6��@���P�.k��ۺ�m�SV�xv��~)�u��#�n����FS�?���.��Xu�"q[�h�<�\%�"�f�E��r&�g��Y^W�XV��#��#���&���y��6ry��ˡm9hA����Crv$ js/client-es5.js 0000644 00000040476 15172567015 0007512 0 ustar 00 (function () { 'use strict'; /** * @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ if (!Joomla) { throw new Error('Joomla API is not properly initialised'); } var allowList = { button: ['type'], input: ['type', 'name', 'placeholder', 'inputmode'], select: ['name'], option: ['value', 'selected'] }; var webInstallerOptions = { view: 'dashboard', id: 0, ordering: '', version: 'current', list: 0, options: Joomla.getOptions('plg_installer_webinstaller', {}) }; var instance; var WebInstaller = /*#__PURE__*/function () { function WebInstaller() {} var _proto = WebInstaller.prototype; _proto.initialise = function initialise() { var _this = this; webInstallerOptions.loaded = 1; var cancelButton = document.getElementById('uploadform-web-cancel'); cancelButton.addEventListener('click', function () { document.getElementById('uploadform-web').classList.add('hidden'); if (webInstallerOptions.list && document.querySelector('.list-view')) { document.querySelector('.list-view').click(); } }); var installButton = document.getElementById('uploadform-web-install'); installButton.addEventListener('click', function () { if (webInstallerOptions.options.installFrom === 4) { _this.submitButtonUrl(); } else { _this.submitButtonWeb(); } }); this.loadweb(webInstallerOptions.options.base_url + "index.php?format=json&option=com_apps&view=dashboard"); this.clickforlinks(); }; _proto.loadweb = function loadweb(url) { var _this2 = this; if (!url) { return false; } // eslint-disable-next-line prefer-regex-literals var pattern1 = new RegExp(webInstallerOptions.options.base_url); var pattern2 = /^index\.php/; if (!(pattern1.test(url) || pattern2.test(url))) { window.open(url, '_blank'); return false; } var requestUrl = url + "&product=" + webInstallerOptions.options.product + "&release=" + webInstallerOptions.options.release + "&dev_level=" + webInstallerOptions.options.dev_level + "&list=" + (webInstallerOptions.list ? 'list' : 'grid') + "&lang=" + webInstallerOptions.options.language; var orderingSelect = document.getElementById('com-apps-ordering'); var versionSelect = document.getElementById('com-apps-filter-joomla-version'); if (webInstallerOptions.ordering !== '' && orderingSelect && orderingSelect.value) { webInstallerOptions.ordering = orderingSelect.value; requestUrl += "&ordering=" + webInstallerOptions.ordering; } if (webInstallerOptions.version !== '' && versionSelect && versionSelect.value) { webInstallerOptions.version = versionSelect.value; requestUrl += "&filter_version=" + webInstallerOptions.version; } WebInstaller.showLoadingLayer(); new Promise(function (resolve, reject) { Joomla.request({ url: requestUrl, onSuccess: function onSuccess(resp) { var response; try { response = JSON.parse(resp); } catch (error) { throw new Error('Failed to parse JSON'); } if (document.getElementById('web-loader')) { document.getElementById('web-loader').classList.add('hidden'); } var jedContainer = document.getElementById('jed-container'); jedContainer.innerHTML = Joomla.sanitizeHtml(response.data.html, allowList); document.getElementById('com-apps-searchbox').addEventListener('keypress', function (_ref) { var which = _ref.which; if (which === 13) { _this2.initiateSearch(); } }); document.getElementById('search-extensions').addEventListener('click', function () { _this2.initiateSearch(); }); document.getElementById('search-reset').addEventListener('click', function () { var searchBox = document.getElementById('com-apps-searchbox'); searchBox.value = ''; _this2.initiateSearch(); document.getElementById('search-reset').setAttribute('disabled', 'disabled'); }); if (document.getElementById('com-apps-searchbox').value === '') { document.getElementById('search-reset').setAttribute('disabled', 'disabled'); } document.getElementById('search-reset').innerHTML = Joomla.sanitizeHtml(Joomla.Text._('JSEARCH_FILTER_CLEAR')); // eslint-disable-next-line no-shadow var orderingSelect = document.getElementById('com-apps-ordering'); // eslint-disable-next-line no-shadow var versionSelect = document.getElementById('com-apps-filter-joomla-version'); if (orderingSelect) { orderingSelect.addEventListener('change', function () { var index = orderingSelect.selectedIndex; webInstallerOptions.ordering = orderingSelect.options[index].value; _this2.installfromwebajaxsubmit(); }); } if (versionSelect) { versionSelect.addEventListener('change', function () { var index = versionSelect.selectedIndex; webInstallerOptions.version = versionSelect.options[index].value; _this2.installfromwebajaxsubmit(); }); } if (webInstallerOptions.options.installfrom_url !== '') { WebInstaller.installfromweb(webInstallerOptions.options.installfrom_url); } resolve(); }, onError: function onError(request) { var errorContainer = document.getElementById('web-loader-error'); var loaderContainer = document.getElementById('web-loader'); if (request.responseText && errorContainer) { errorContainer.innerHTML = Joomla.sanitizeHtml(request.responseText); } if (loaderContainer) { loaderContainer.classList.add('hidden'); errorContainer.classList.remove('hidden'); } Joomla.renderMessages({ danger: [Joomla.Text._('PLG_INSTALLER_WEBINSTALLER_INSTALL_WEB_LOADING_ERROR')] }, '#web-loader-error'); reject(); } }); }).finally(function () { // Promise has been settled. // Run the following whether or not it was a success. var installAtField = document.getElementById('joomlaapsinstallatinput'); if (installAtField) { installAtField.value = webInstallerOptions.options.installat_url; } _this2.clickforlinks(); WebInstaller.clicker(); if (webInstallerOptions.view !== 'extension') { [].slice.call(document.querySelectorAll('div.load-extension')).forEach(function (element) { element.addEventListener('click', function (event) { event.preventDefault(); _this2.processLinkClick(element.getAttribute('data-url')); }); element.setAttribute('href', '#'); }); } if (webInstallerOptions.view === 'extension') { var installExtensionButton = document.getElementById('install-extension'); var installExtensionFromExternalButton = document.getElementById('install-extension-from-external'); if (installExtensionButton) { installExtensionButton.addEventListener('click', function () { WebInstaller.installfromweb(installExtensionButton.getAttribute('data-downloadurl'), installExtensionButton.getAttribute('data-name')); document.getElementById('uploadform-web-install').scrollIntoView({ behavior: 'smooth', block: 'start' }); }); } if (installExtensionFromExternalButton) { installExtensionFromExternalButton.addEventListener('click', function () { var redirectUrl = installExtensionFromExternalButton.getAttribute('data-downloadurl'); var redirectConfirm = window.confirm(Joomla.Text._('PLG_INSTALLER_WEBINSTALLER_REDIRECT_TO_EXTERNAL_SITE_TO_INSTALL').replace('[SITEURL]', redirectUrl)); if (redirectConfirm !== true) { return; } document.getElementById('adminForm').setAttribute('action', redirectUrl); document.querySelector('input[name=task]').setAttribute('disabled', true); document.querySelector('input[name=install_directory]').setAttribute('disabled', true); document.querySelector('input[name=install_url]').setAttribute('disabled', true); document.querySelector('input[name=installtype]').setAttribute('disabled', true); document.querySelector('input[name=filter_search]').setAttribute('disabled', true); document.getElementById('adminForm').submit(); }); } } if (webInstallerOptions.list && document.querySelector('.list-view')) { document.querySelector('.list-view').click(); } WebInstaller.hideLoadingLayer(); }); return true; }; _proto.clickforlinks = function clickforlinks() { var _this3 = this; [].slice.call(document.querySelectorAll('a.transcode')).forEach(function (element) { var ajaxurl = element.getAttribute('href'); element.addEventListener('click', function (event) { event.preventDefault(); _this3.processLinkClick(ajaxurl); }); element.setAttribute('href', '#'); }); }; _proto.initiateSearch = function initiateSearch() { document.getElementById('search-reset').removeAttribute('disabled'); webInstallerOptions.view = 'dashboard'; this.installfromwebajaxsubmit(); }; _proto.installfromwebajaxsubmit = function installfromwebajaxsubmit() { var tail = "&view=" + webInstallerOptions.view; if (webInstallerOptions.id) { tail += "&id=" + webInstallerOptions.id; } if (document.getElementById('com-apps-searchbox').value) { var value = encodeURI(document.getElementById('com-apps-searchbox').value.toLowerCase().replace(/ +/g, '_').replace(/[^a-z0-9-_]/g, '').trim()); tail += "&filter_search=" + value; } var orderingSelect = document.getElementById('com-apps-ordering'); var versionSelect = document.getElementById('com-apps-filter-joomla-version'); if (webInstallerOptions.ordering !== '' && orderingSelect && orderingSelect.value) { webInstallerOptions.ordering = orderingSelect.value; } if (webInstallerOptions.ordering) { tail += "&ordering=" + webInstallerOptions.ordering; } if (webInstallerOptions.version !== '' && versionSelect && versionSelect.value) { webInstallerOptions.version = versionSelect.value; } if (webInstallerOptions.version) { tail += "&filter_version=" + webInstallerOptions.version; } this.loadweb(webInstallerOptions.options.base_url + "index.php?format=json&option=com_apps" + tail); }; _proto.processLinkClick = function processLinkClick(url) { var pattern1 = new RegExp(webInstallerOptions.options.base_url); var pattern2 = /^index\.php/; if (pattern1.test(url) || pattern2.test(url)) { webInstallerOptions.view = url.replace(/^.+[&?]view=(\w+).*$/, '$1'); if (webInstallerOptions.view === 'dashboard') { webInstallerOptions.id = 0; } else if (webInstallerOptions.view === 'category') { webInstallerOptions.id = url.replace(/^.+[&?]id=(\d+).*$/, '$1'); } this.loadweb(webInstallerOptions.options.base_url + url); } else { this.loadweb(url); } }; WebInstaller.showLoadingLayer = function showLoadingLayer() { document.getElementById('web').appendChild(document.createElement('joomla-core-loader')); }; WebInstaller.hideLoadingLayer = function hideLoadingLayer() { var spinnerElement = document.querySelector('#web joomla-core-loader'); spinnerElement.parentNode.removeChild(spinnerElement); }; WebInstaller.clicker = function clicker() { if (document.querySelector('.grid-view')) { document.querySelector('.grid-view').addEventListener('click', function () { webInstallerOptions.list = 0; document.querySelector('.list-container').classList.add('hidden'); document.querySelector('.grid-container').classList.remove('hidden'); document.getElementById('btn-list-view').classList.remove('active'); document.getElementById('btn-grid-view').classList.remove('active'); }); } if (document.querySelector('.list-view')) { document.querySelector('.list-view').addEventListener('click', function () { webInstallerOptions.list = 1; document.querySelector('.grid-container').classList.add('hidden'); document.querySelector('.list-container').classList.remove('hidden'); document.getElementById('btn-grid-view').classList.remove('active'); document.getElementById('btn-list-view').classList.add('active'); }); } } /** * @param {string} installUrl * @param {string} name * @returns {boolean} */; WebInstaller.installfromweb = function installfromweb(installUrl, name) { if (name === void 0) { name = null; } if (!installUrl) { Joomla.renderMessages({ warning: [Joomla.Text._('PLG_INSTALLER_WEBINSTALLER_CANNOT_INSTALL_EXTENSION_IN_PLUGIN')] }); return false; } document.getElementById('install_url').value = installUrl; document.getElementById('uploadform-web-url').innerText = installUrl; if (name) { document.getElementById('uploadform-web-name').innerText = name; document.getElementById('uploadform-web-name-label').classList.remove('hidden'); } else { document.getElementById('uploadform-web-name-label').classList.add('hidden'); } document.getElementById('uploadform-web').classList.remove('hidden'); return true; } // eslint-disable-next-line class-methods-use-this ; _proto.submitButtonUrl = function submitButtonUrl() { var form = document.getElementById('adminForm'); // do field validation if (form.install_url.value === '' || form.install_url.value === 'http://' || form.install_url.value === 'https://') { Joomla.renderMessages({ warning: [Joomla.Text._('COM_INSTALLER_MSG_INSTALL_ENTER_A_URL')] }); } else { var loading = document.getElementById('loading'); if (loading) { loading.classList.remove('hidden'); } form.installtype.value = 'url'; form.submit(); } }; _proto.submitButtonWeb = function submitButtonWeb() { var form = document.getElementById('adminForm'); // do field validation if (form.install_url.value !== '' || form.install_url.value !== 'http://' || form.install_url.value !== 'https://') { this.submitButtonUrl(); } else if (form.install_url.value === '') { Joomla.renderMessages({ warning: [Joomla.apps.options.btntxt] }); } else { document.querySelector('#appsloading').classList.remove('hidden'); form.installtype.value = 'web'; form.submit(); } }; return WebInstaller; }(); customElements.whenDefined('joomla-tab').then(function () { var installerTabs = document.getElementById('myTab'); var link = installerTabs.querySelector('button[aria-controls=web]'); // Stop if the IFW tab cannot be found if (!link) { return; } if (webInstallerOptions.options.installfromon) { link.click(); } if (link.hasAttribute('aria-expanded') && link.getAttribute('aria-expanded') === 'true' && !instance) { instance = new WebInstaller(); instance.initialise(); } if (webInstallerOptions.options.installfrom_url !== '') { link.click(); } link.addEventListener('joomla.tab.shown', function () { if (!instance) { instance = new WebInstaller(); instance.initialise(); } }); }); })(); js/client.min.js.gz 0000644 00000005164 15172567015 0010214 0 ustar 00 � �Zms�6��_A��P��އ;���(�2�������k 1� h�U��o Qm��n&�P�b��]���~����W$�{I'S�8� v~:8��s�w�D&#p>�A*���(p�9�:U��l|"a$r�ֲb4��q����8H/٘����� ���aD��8 ��N���n�����}z��}�`=�b�p�9])����s���P�p��T�$�w(��F�w"��vcb֧J��q������S@�>�i��?}�Ib�K�`*X���$"6� Df����E���wKXf�. F��?�q�+Myj U8��0k����X#���_�$�6B~��6�2)�k�3��!Z�h/�L@\=��Ɉ.��`����y����w<�NĈRί%��k�yx�A� C�����6�w��_�{�����\��f0nEf)�p@�{\��P�ht�|�o� �!X� ��CS��7JK�v��?2��g�4��p�X�fT���9n���[�I���A��I�;�S�������U2�����VV;`���ػzU�֘(e���p��������]���HF$M�k����X�n�ZHF���p�\��h�t&��aq4uh��&ݻ�k"�E����7#�~��t�Ai��b���Ŝ屘"FcF� �ޡ=*�z5��M���H��j*�rW�`yA��1��2aE���*���2QM$�Q�2�'[���L �*����e,�Z�&����5edk�ZE0C��4�&���!��\7l@u]��>,�|�&�rWo+tP�W�CF!i!C�i�y��EX�}��,H1j�(��@MŬ/HL��O�Az�7��� �^�s/��/���<���|�ϲ(��4|;7n�:Z��Y���t�D*�(�#���IF}O(���±����p^im�lF�"hYU�^&�j�q+\� � (� ?�61��O��� &�S�0��k��uM��ncо��T�R��)��m���0v] yTÙeU�0˵�N7����.!A���}a�\�!�x��S����t�i�PL3���~���F+.D[������xww:y��Y�xx�q��?�G'������v��_Ց�F�|eJ�9K,KޞIʝ�x-3х�,�f�3vƵ����[T3ֹ�M�J�4�f���ӠZ3M�Rd�1�!oon؏=���ۈm��b�,l~[`f!쓰Q���@�JW`��u��zl�;?���O\�#�u;+�HH�-���Js<��"P�<6F��GG�K�è78;?��ѯ�_�?�'�r�?=~�|u���!��~ܠ$��<�9�)'��{%�k��0Ѷu4ڼ�b��"50;��o��� v�V����8�*� ���Ճ�0�mn�3���v��0���h����W��4H%��wpM2��bC��V�S~sb+n�Y��D�V&����G1y*���GTu"ms�`0�6_���f}�y�U�Sr��p��[Rn]pب�X̸1�Ս���B�9����`�ǵ�7��7Ô�R!�H%B�)��LD7m�4��#�Sץ�� ҭ��Z$�5������z����t��yw88��z�]� C8�`�]����%��a��Z�2'��2yR�ȸ���W 6 \�����˚c���d��J;x��<3�^����^�[�W-���j�X�t�� =��S�Ö/��A�(��GlhI��ZY հ:�:�G��S܁�C,·s�4�k�� ��a�^ ��^��P��z�v�^-`�����,�2�~�(5 ���hl0�g48��B���_�=�l-�b�x+��7��J�s��w����Ҍ!hI��p�� ʯ���ň���4@����fHSAV� TK�(%\W4B�D���R�]����l��+�?�#+�~�x:|�U�X�����Ҿ�~�����W�>zu���u�9�|�Ãv��h�y�*lN� R�8�~��2>2\�\\(���\i�i�<E(�uݤ��x|2�,^G�H�PP/ۦV$$���ՒO3d�V�]��9��v���@�Pd��h�-���yeV7p���_�z������ʢ��V6��m���NIc�[���<Ly|�x��U�#�d�4��T��(5f��(���ڝ�-�<7�zW�u�3���#o['=�-`�@�u1�"S�O��5k=���K�����#c{�]�d��"� �������W�͈��C������|���{p�;�z�ї�������}+Ο\^? �5m�)�!(�K ��b�|���߯'0ߴ ��NNN?�t���Z�����v�` �[K`��twleZc��VL����1G��^�~&�M�n�ޠ��JU�mS�^Y�U�2TY���iLI��i4�w�2�m��X0Vj�Y�樕4��<ʔI�R̦��5��[����r�M��s;�싏�.���& )�2��1]UC��v�t��' �UƷw�K �M�mH������ ����#�����/c �r$(����&��c5M���y~����;�����h���I'