From 47668bd903ea81f6a7422fc31e037f8140e741b5 Mon Sep 17 00:00:00 2001 From: Lupe Camacho Date: Tue, 18 Jun 2024 13:23:29 -0700 Subject: [PATCH 1/5] Update actions button on password & verification screen - accessible name and describedby (PT-1692) --- src/templates/users/_auth-methods.twig | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/templates/users/_auth-methods.twig b/src/templates/users/_auth-methods.twig index 47fc85b925b..afa9fb25127 100644 --- a/src/templates/users/_auth-methods.twig +++ b/src/templates/users/_auth-methods.twig @@ -6,6 +6,7 @@ } %} {% for method in craft.app.auth.getAvailableMethods() %} {% set isActive = method.isActive() %} + {% set headingId = "auth-method-heading-#{loop.index0}" %} {% tag 'div' with { class: 'auth-method', @@ -15,7 +16,7 @@ }, } %}
-

{{ method.displayName() }}

+

{{ method.displayName() }}

{{ method.description() }}
@@ -42,6 +43,8 @@ buttonAttributes: { class: ['auth-method-action-btn', 'action-btn', 'hairline'], title: 'Actions'|t('app'), + 'aria-label': 'Actions'|t('app'), + 'aria-describedby': headingId, }, }) }}
From cf2b749b913c8f23150be47f0954500280aaa5ca Mon Sep 17 00:00:00 2001 From: Lupe Camacho Date: Tue, 18 Jun 2024 13:32:13 -0700 Subject: [PATCH 2/5] Add th scopes to passkeys table, and add visually-hidden text to final column --- src/templates/users/_passkeys-table.twig | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/templates/users/_passkeys-table.twig b/src/templates/users/_passkeys-table.twig index 82e09dab30f..fbb93a9c264 100644 --- a/src/templates/users/_passkeys-table.twig +++ b/src/templates/users/_passkeys-table.twig @@ -6,15 +6,15 @@ - - - + + + {% for passkey in passkeys %} - +
{{ 'Name'|t('app') }}{{ 'Last Used'|t('app') }}{{ 'Name'|t('app') }}{{ 'Last Used'|t('app') }}{{ 'Actions'|t('app') }}
{{ passkey.credentialName }}{{ passkey.credentialName }} {{ passkey.dateLastUsed|timestamp }} {{ tag('a', { From 5167e7738f8556afae0d661a86ea17305840b6f3 Mon Sep 17 00:00:00 2001 From: Lupe Camacho Date: Tue, 18 Jun 2024 14:04:27 -0700 Subject: [PATCH 3/5] Manage focus between slideout screens on success, hide checkmark from accessibility tree --- src/web/assets/authmethodsetup/src/AuthMethodSetup.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/web/assets/authmethodsetup/src/AuthMethodSetup.js b/src/web/assets/authmethodsetup/src/AuthMethodSetup.js index 43018c7a1d7..8a65afecb36 100644 --- a/src/web/assets/authmethodsetup/src/AuthMethodSetup.js +++ b/src/web/assets/authmethodsetup/src/AuthMethodSetup.js @@ -138,9 +138,11 @@ Craft.AuthMethodSetup.Slideout = Craft.Slideout.extend({ }); this.$container.find('.so-body').addClass('auth-method-setup-success') .html(` -
-

${message}

-`); + +

${message}

+ `); + + this.$container.find('.auth-method-setup-success-message').focus(); this.$container .find('.auth-method-close-btn') .text(Craft.t('app', 'Close')); From 91ca751f699c872bd9ec8f9f8eee032a80b1d8d9 Mon Sep 17 00:00:00 2001 From: Lupe Camacho Date: Tue, 18 Jun 2024 14:19:19 -0700 Subject: [PATCH 4/5] Focus a button in the method listing after the slideout closes --- src/web/assets/authmethodsetup/dist/auth.js | 2 +- src/web/assets/authmethodsetup/dist/auth.js.map | 2 +- src/web/assets/authmethodsetup/src/AuthMethodSetup.js | 5 +++++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/web/assets/authmethodsetup/dist/auth.js b/src/web/assets/authmethodsetup/dist/auth.js index 868c6793399..c6dd7401ab2 100644 --- a/src/web/assets/authmethodsetup/dist/auth.js +++ b/src/web/assets/authmethodsetup/dist/auth.js @@ -1,3 +1,3 @@ /*! For license information please see auth.js.LICENSE.txt */ -!function(){var t={623:function(){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r').appendTo(o.$container.find(".so-body")),c=$('
    ').appendTo(s),u=function(t,r){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,r){if(t){if("string"==typeof t)return e(t,r);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?e(t,r):void 0}}(t))||r&&t&&"number"==typeof t.length){n&&(t=n);var o=0,i=function(){};return{s:i,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){c=!0,a=t},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw a}}}}(i.codes);try{for(u.s();!(a=u.n()).done;){var l=a.value;$("
  • ").text(l).appendTo(c)}}catch(t){u.e(t)}finally{u.f()}$("
    ").appendTo(s);var f=$('
    ').appendTo(s),d=Craft.ui.createButton({label:Craft.t("app","Download codes"),spinner:!0}).attr("data-icon","download").appendTo(f);n.addListener(d,"activate",(function(){d.addClass("loading");var e,r,n,o,i=Craft.filterObject((e={},r=Craft.csrfTokenName,n=Craft.csrfTokenValue,o=function(e,r){if("object"!=t(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,"string");if("object"!=t(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r),(r="symbol"==t(o)?o:String(o))in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e));Craft.downloadFromUrl("post",Craft.getActionUrl("auth/download-recovery-codes"),i).catch((function(t){Craft.cp.displayError(t&&t.response&&t.response.data&&t.response.data.message)})).finally((function(){d.removeClass("loading")}))}))})).finally((function(){i.removeClass("loading")}))}))}})},576:function(){},485:function(t,e,r){var n=r(576);n.__esModule&&(n=n.default),"string"==typeof n&&(n=[[t.id,n,""]]),n.locals&&(t.exports=n.locals),(0,r(673).Z)("9c522f06",n,!0,{})},673:function(t,e,r){"use strict";function n(t,e){for(var r=[],n={},o=0;or.parts.length&&(n.parts.length=r.parts.length)}else{var a=[];for(o=0;o=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var c=i.call(a,"catchLoc"),u=i.call(a,"finallyLoc");if(c&&u){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),P(r),g}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;P(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:k(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=r),g}},n}function n(t,e,r,n,o,i,a){try{var s=t[i](a),c=s.value}catch(t){return void r(t)}s.done?e(c):Promise.resolve(c).then(n,o)}function o(t){return function(){var e=this,r=arguments;return new Promise((function(o,i){var a=t.apply(e,r);function s(t){n(a,o,i,s,c,"next",t)}function c(t){n(a,o,i,s,c,"throw",t)}s(void 0)}))}}r(485),new class{controller;createNewAbortSignal(){if(this.controller){const t=new Error("Cancelling existing WebAuthn API call for new one");t.name="AbortError",this.controller.abort(t)}const t=new AbortController;return this.controller=t,t.signal}},Craft.AuthMethodSetup=Garnish.Base.extend({methodListings:null,init:function(t){this.setSettings(t,Craft.AuthMethodSetup.defaults),this.initUi()},initUi:function(){this.methodListings=Craft.index(document.querySelectorAll("#auth-method-setup .auth-method"),(function(t){return t.getAttribute("data-method")}));for(var t=0,e=Object.values(this.methodListings);t\n\n");this.base(e,{containerAttributes:{id:t.containerId}})},showSuccess:function(){var t=Craft.t("app","{name} added successfully.",{name:this.methodName});this.$container.find(".so-body").addClass("auth-method-setup-success").html('\n
    \n

    '.concat(t,"

    \n")),this.$container.find(".auth-method-close-btn").text(Craft.t("app","Close"))}}),r(623)}()}(); +!function(){var t={623:function(){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n').appendTo(o.$container.find(".so-body")),u=$('
      ').appendTo(s),c=function(t,n){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,n){if(t){if("string"==typeof t)return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?e(t,n):void 0}}(t))||n&&t&&"number"==typeof t.length){r&&(t=r);var o=0,i=function(){};return{s:i,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){u=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}(i.codes);try{for(c.s();!(a=c.n()).done;){var l=a.value;$("
    • ").text(l).appendTo(u)}}catch(t){c.e(t)}finally{c.f()}$("
      ").appendTo(s);var f=$('
      ').appendTo(s),d=Craft.ui.createButton({label:Craft.t("app","Download codes"),spinner:!0}).attr("data-icon","download").appendTo(f);r.addListener(d,"activate",(function(){d.addClass("loading");var e,n,r,o,i=Craft.filterObject((e={},n=Craft.csrfTokenName,r=Craft.csrfTokenValue,o=function(e,n){if("object"!=t(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,"string");if("object"!=t(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(n),(n="symbol"==t(o)?o:String(o))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e));Craft.downloadFromUrl("post",Craft.getActionUrl("auth/download-recovery-codes"),i).catch((function(t){Craft.cp.displayError(t&&t.response&&t.response.data&&t.response.data.message)})).finally((function(){d.removeClass("loading")}))}))})).finally((function(){i.removeClass("loading")}))}))}})},576:function(){},485:function(t,e,n){var r=n(576);r.__esModule&&(r=r.default),"string"==typeof r&&(r=[[t.id,r,""]]),r.locals&&(t.exports=r.locals),(0,n(673).Z)("9c522f06",r,!0,{})},673:function(t,e,n){"use strict";function r(t,e){for(var n=[],r={},o=0;on.parts.length&&(r.parts.length=n.parts.length)}else{var a=[];for(o=0;o=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var u=i.call(a,"catchLoc"),c=i.call(a,"finallyLoc");if(u&&c){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&i.call(r,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),P(n),g}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;P(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:_(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=n),g}},r}function r(t,e,n,r,o,i,a){try{var s=t[i](a),u=s.value}catch(t){return void n(t)}s.done?e(u):Promise.resolve(u).then(r,o)}function o(t){return function(){var e=this,n=arguments;return new Promise((function(o,i){var a=t.apply(e,n);function s(t){r(a,o,i,s,u,"next",t)}function u(t){r(a,o,i,s,u,"throw",t)}s(void 0)}))}}n(485),new class{controller;createNewAbortSignal(){if(this.controller){const t=new Error("Cancelling existing WebAuthn API call for new one");t.name="AbortError",this.controller.abort(t)}const t=new AbortController;return this.controller=t,t.signal}},Craft.AuthMethodSetup=Garnish.Base.extend({methodListings:null,init:function(t){this.setSettings(t,Craft.AuthMethodSetup.defaults),this.initUi()},initUi:function(){this.methodListings=Craft.index(document.querySelectorAll("#auth-method-setup .auth-method"),(function(t){return t.getAttribute("data-method")}));for(var t=0,e=Object.values(this.methodListings);t\n\n");this.base(e,{containerAttributes:{id:t.containerId}})},showSuccess:function(){var t=Craft.t("app","{name} added successfully.",{name:this.methodName});this.$container.find(".so-body").addClass("auth-method-setup-success").html('\n \n

      '.concat(t,"

      \n ")),this.$container.find(".auth-method-setup-success-message").focus(),this.$container.find(".auth-method-close-btn").text(Craft.t("app","Close"))}}),n(623)}()}(); //# sourceMappingURL=auth.js.map \ No newline at end of file diff --git a/src/web/assets/authmethodsetup/dist/auth.js.map b/src/web/assets/authmethodsetup/dist/auth.js.map index b1e1ccddd23..dee0289f980 100644 --- a/src/web/assets/authmethodsetup/dist/auth.js.map +++ b/src/web/assets/authmethodsetup/dist/auth.js.map @@ -1 +1 @@ -{"version":3,"file":"auth.js","mappings":";kXAEAA,MAAMC,mBAAqBC,QAAQC,KAAKC,OAAO,CAC7CC,KAAI,SAACC,GAAa,IAAAC,EAAA,KACVC,EAAWR,MAAMS,SAASC,UAAUJ,GACpCK,EAASH,EAASI,WAAWC,KAAK,iBAExCF,EAAOG,GAAG,YAAY,WACpBH,EAAOI,SAAS,WAEhBf,MAAMgB,kBAAkB,OAAQ,gCAC7BC,MAAK,SAAAC,GAAY,IAAVC,EAAID,EAAJC,KACNX,EAASY,cACTpB,MAAMqB,gBAAgBC,UAEtB,IAO2BC,EAPrBC,EAAQC,EAAE,sCAAsCC,SACpDlB,EAASI,WAAWC,KAAK,aAErBc,EAAMF,EACV,iDACAC,SAASF,GAAOI,65BAAAC,CAEDV,EAAKW,OAAK,IAA3B,IAAAF,EAAAG,MAAAR,EAAAK,EAAAI,KAAAC,MAA6B,KAApBC,EAAIX,EAAAY,MACXV,EAAE,SAASW,KAAKF,GAAMR,SAASC,EACjC,CAAC,OAAAU,GAAAT,EAAAU,EAAAD,EAAA,SAAAT,EAAAW,GAAA,CAEDd,EAAE,SAASC,SAASF,GAEpB,IAAMgB,EAAqBf,EACzB,sDACAC,SAASF,GACLiB,EAAezC,MAAM0C,GACxBC,aAAa,CACZC,MAAO5C,MAAM6C,EAAE,MAAO,kBACtBC,SAAS,IAEVC,KAAK,YAAa,YAClBrB,SAASc,GAEZjC,EAAKyC,YAAYP,EAAc,YAAY,WACzCA,EAAa1B,SAAS,WAEtB,YAAMI,EAAOnB,MAAMiD,gBAAa,CAAC,IAC9BjD,MAAMkD,gBAAgBlD,MAAMmD,mXAG/BnD,MAAMoD,gBACJ,OACApD,MAAMqD,aAAa,gCACnBlC,GAECmC,OAAM,SAACC,GACNvD,MAAMwD,GAAGC,aACPF,GACEA,EAAMG,UACNH,EAAMG,SAASvC,MACfoC,EAAMG,SAASvC,KAAKwC,QAE1B,IACCC,SAAQ,WACPnB,EAAaoB,YAAY,UAC3B,GACJ,GACF,IACCD,SAAQ,WACPjD,EAAOkD,YAAY,UACrB,GACJ,GACF,0CCjEF,IAAIC,EAAU,EAAQ,KACnBA,EAAQC,aAAYD,EAAUA,EAAQE,SACnB,iBAAZF,IAAsBA,EAAU,CAAC,CAACG,EAAOC,GAAIJ,EAAS,MAC7DA,EAAQK,SAAQF,EAAOG,QAAUN,EAAQK,SAG/BE,EADH,UACO,WAAYP,GAAS,EAAM,CAAC,qCCL9B,SAASQ,EAAcC,EAAUC,GAG9C,IAFA,IAAIC,EAAS,GACTC,EAAY,CAAC,EACRC,EAAI,EAAGA,EAAIH,EAAKI,OAAQD,IAAK,CACpC,IAAIE,EAAOL,EAAKG,GACZT,EAAKW,EAAK,GAIVC,EAAO,CACTZ,GAAIK,EAAW,IAAMI,EACrBI,IALQF,EAAK,GAMbG,MALUH,EAAK,GAMfI,UALcJ,EAAK,IAOhBH,EAAUR,GAGbQ,EAAUR,GAAIgB,MAAMC,KAAKL,GAFzBL,EAAOU,KAAKT,EAAUR,GAAM,CAAEA,GAAIA,EAAIgB,MAAO,CAACJ,IAIlD,CACA,OAAOL,CACT,iCClBA,IAAIW,EAAkC,oBAAbC,SAEzB,GAAqB,oBAAVC,OAAyBA,QAC7BF,EACH,MAAM,IAAIG,MACV,2JAkBJ,IAAIC,EAAc,CAMhB,EAEEC,EAAOL,IAAgBC,SAASI,MAAQJ,SAASK,qBAAqB,QAAQ,IAC9EC,EAAmB,KACnBC,EAAmB,EACnBC,GAAe,EACfC,EAAO,WAAa,EACpBC,EAAU,KACVC,EAAW,kBAIXC,EAA+B,oBAAdC,WAA6B,eAAeC,KAAKD,UAAUE,UAAUC,eAE3E,SAASC,EAAiB/B,EAAUC,EAAM+B,EAAeC,GACtEX,EAAeU,EAEfR,EAAUS,GAAY,CAAC,EAEvB,IAAI/B,EAASH,EAAaC,EAAUC,GAGpC,OAFAiC,EAAehC,GAER,SAAiBiC,GAEtB,IADA,IAAIC,EAAY,GACPhC,EAAI,EAAGA,EAAIF,EAAOG,OAAQD,IAAK,CACtC,IAAIE,EAAOJ,EAAOE,IACdiC,EAAWpB,EAAYX,EAAKX,KACvB2C,OACTF,EAAUxB,KAAKyB,EACjB,CAOA,IANIF,EAEFD,EADAhC,EAASH,EAAaC,EAAUmC,IAGhCjC,EAAS,GAEFE,EAAI,EAAGA,EAAIgC,EAAU/B,OAAQD,IAAK,CACzC,IAAIiC,EACJ,GAAsB,KADlBA,EAAWD,EAAUhC,IACZkC,KAAY,CACvB,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAAS1B,MAAMN,OAAQkC,IACzCF,EAAS1B,MAAM4B,YAEVtB,EAAYoB,EAAS1C,GAC9B,CACF,CACF,CACF,CAEA,SAASuC,EAAgBhC,GACvB,IAAK,IAAIE,EAAI,EAAGA,EAAIF,EAAOG,OAAQD,IAAK,CACtC,IAAIE,EAAOJ,EAAOE,GACdiC,EAAWpB,EAAYX,EAAKX,IAChC,GAAI0C,EAAU,CACZA,EAASC,OACT,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAAS1B,MAAMN,OAAQkC,IACzCF,EAAS1B,MAAM4B,GAAGjC,EAAKK,MAAM4B,IAE/B,KAAOA,EAAIjC,EAAKK,MAAMN,OAAQkC,IAC5BF,EAAS1B,MAAMC,KAAK4B,EAASlC,EAAKK,MAAM4B,KAEtCF,EAAS1B,MAAMN,OAASC,EAAKK,MAAMN,SACrCgC,EAAS1B,MAAMN,OAASC,EAAKK,MAAMN,OAEvC,KAAO,CACL,IAAIM,EAAQ,GACZ,IAAS4B,EAAI,EAAGA,EAAIjC,EAAKK,MAAMN,OAAQkC,IACrC5B,EAAMC,KAAK4B,EAASlC,EAAKK,MAAM4B,KAEjCtB,EAAYX,EAAKX,IAAM,CAAEA,GAAIW,EAAKX,GAAI2C,KAAM,EAAG3B,MAAOA,EACxD,CACF,CACF,CAEA,SAAS8B,IACP,IAAIC,EAAe5B,SAAS6B,cAAc,SAG1C,OAFAD,EAAaE,KAAO,WACpB1B,EAAK2B,YAAYH,GACVA,CACT,CAEA,SAASF,EAAUM,GACjB,IAAIC,EAAQC,EACRN,EAAe5B,SAASmC,cAAc,SAAWxB,EAAW,MAAQqB,EAAInD,GAAK,MAEjF,GAAI+C,EAAc,CAChB,GAAIpB,EAGF,OAAOC,EAOPmB,EAAaQ,WAAWC,YAAYT,EAExC,CAEA,GAAIhB,EAAS,CAEX,IAAI0B,EAAa/B,IACjBqB,EAAetB,IAAqBA,EAAmBqB,KACvDM,EAASM,EAAoBC,KAAK,KAAMZ,EAAcU,GAAY,GAClEJ,EAASK,EAAoBC,KAAK,KAAMZ,EAAcU,GAAY,EACpE,MAEEV,EAAeD,IACfM,EAASQ,EAAWD,KAAK,KAAMZ,GAC/BM,EAAS,WACPN,EAAaQ,WAAWC,YAAYT,EACtC,EAKF,OAFAK,EAAOD,GAEA,SAAsBU,GAC3B,GAAIA,EAAQ,CACV,GAAIA,EAAOhD,MAAQsC,EAAItC,KACnBgD,EAAO/C,QAAUqC,EAAIrC,OACrB+C,EAAO9C,YAAcoC,EAAIpC,UAC3B,OAEFqC,EAAOD,EAAMU,EACf,MACER,GAEJ,CACF,CAEA,IACMS,EADFC,GACED,EAAY,GAET,SAAUE,EAAOC,GAEtB,OADAH,EAAUE,GAASC,EACZH,EAAUI,OAAOC,SAASC,KAAK,KACxC,GAGF,SAASV,EAAqBX,EAAciB,EAAOX,EAAQF,GACzD,IAAItC,EAAMwC,EAAS,GAAKF,EAAItC,IAE5B,GAAIkC,EAAasB,WACftB,EAAasB,WAAWC,QAAUP,EAAYC,EAAOnD,OAChD,CACL,IAAI0D,EAAUpD,SAASqD,eAAe3D,GAClC4D,EAAa1B,EAAa0B,WAC1BA,EAAWT,IAAQjB,EAAaS,YAAYiB,EAAWT,IACvDS,EAAW/D,OACbqC,EAAa2B,aAAaH,EAASE,EAAWT,IAE9CjB,EAAaG,YAAYqB,EAE7B,CACF,CAEA,SAASX,EAAYb,EAAcI,GACjC,IAAItC,EAAMsC,EAAItC,IACVC,EAAQqC,EAAIrC,MACZC,EAAYoC,EAAIpC,UAiBpB,GAfID,GACFiC,EAAa4B,aAAa,QAAS7D,GAEjCe,EAAQ+C,OACV7B,EAAa4B,aAAa7C,EAAUqB,EAAInD,IAGtCe,IAGFF,GAAO,mBAAqBE,EAAU8D,QAAQ,GAAK,MAEnDhE,GAAO,uDAAyDiE,KAAKC,SAASC,mBAAmBC,KAAKC,UAAUnE,MAAgB,OAG9HgC,EAAasB,WACftB,EAAasB,WAAWC,QAAUzD,MAC7B,CACL,KAAOkC,EAAaoC,YAClBpC,EAAaS,YAAYT,EAAaoC,YAExCpC,EAAaG,YAAY/B,SAASqD,eAAe3D,GACnD,CACF,IC5NIuE,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAarF,QAGrB,IAAIH,EAASqF,EAAyBE,GAAY,CACjDtF,GAAIsF,EAEJpF,QAAS,CAAC,GAOX,OAHAuF,EAAoBH,GAAUvF,EAAQA,EAAOG,QAASmF,GAG/CtF,EAAOG,OACf,CCrBAmF,EAAoBK,EAAI,SAASxF,EAASyF,GACzC,IAAI,IAAIC,KAAOD,EACXN,EAAoBQ,EAAEF,EAAYC,KAASP,EAAoBQ,EAAE3F,EAAS0F,IAC5EE,OAAOC,eAAe7F,EAAS0F,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,IAG3E,ECPAP,EAAoBQ,EAAI,SAAS1C,EAAK+C,GAAQ,OAAOJ,OAAOK,UAAUC,eAAeC,KAAKlD,EAAK+C,EAAO,6QCCtGI,EAAA,kBAAAlI,CAAA,MAAAO,EAAAP,EAAA,GAAAmI,EAAAT,OAAAK,UAAArI,EAAAyI,EAAAH,eAAAP,EAAAC,OAAAC,gBAAA,SAAApH,EAAAP,EAAAmI,GAAA5H,EAAAP,GAAAmI,EAAAtI,KAAA,EAAAwC,EAAA,mBAAA+F,OAAAA,OAAA,GAAAC,EAAAhG,EAAAiG,UAAA,aAAAC,EAAAlG,EAAAmG,eAAA,kBAAAC,EAAApG,EAAAqG,aAAA,yBAAAC,EAAApI,EAAAP,EAAAmI,GAAA,OAAAT,OAAAC,eAAApH,EAAAP,EAAA,CAAAH,MAAAsI,EAAAP,YAAA,EAAAgB,cAAA,EAAAC,UAAA,IAAAtI,EAAAP,EAAA,KAAA2I,EAAA,aAAApI,GAAAoI,EAAA,SAAApI,EAAAP,EAAAmI,GAAA,OAAA5H,EAAAP,GAAAmI,CAAA,WAAAW,EAAAvI,EAAAP,EAAAmI,EAAAzI,GAAA,IAAA2C,EAAArC,GAAAA,EAAA+H,qBAAAgB,EAAA/I,EAAA+I,EAAAV,EAAAX,OAAAsB,OAAA3G,EAAA0F,WAAAQ,EAAA,IAAAU,EAAAvJ,GAAA,WAAA+H,EAAAY,EAAA,WAAAxI,MAAAqJ,EAAA3I,EAAA4H,EAAAI,KAAAF,CAAA,UAAAc,EAAA5I,EAAAP,EAAAmI,GAAA,WAAAtD,KAAA,SAAAuE,IAAA7I,EAAA0H,KAAAjI,EAAAmI,GAAA,OAAA5H,GAAA,OAAAsE,KAAA,QAAAuE,IAAA7I,EAAA,EAAAP,EAAA8I,KAAAA,EAAA,IAAAO,EAAA,iBAAAC,EAAA,iBAAArJ,EAAA,YAAAR,EAAA,YAAA8J,EAAA,YAAAR,IAAA,UAAAS,IAAA,UAAAC,IAAA,KAAAC,EAAA,GAAAf,EAAAe,EAAArB,GAAA,8BAAAf,EAAAI,OAAAiC,eAAAC,EAAAtC,GAAAA,EAAAA,EAAAuC,EAAA,MAAAD,GAAAA,IAAAzB,GAAAzI,EAAAuI,KAAA2B,EAAAvB,KAAAqB,EAAAE,GAAA,IAAAE,EAAAL,EAAA1B,UAAAgB,EAAAhB,UAAAL,OAAAsB,OAAAU,GAAA,SAAAK,EAAAxJ,GAAA,0BAAAyJ,SAAA,SAAAhK,GAAA2I,EAAApI,EAAAP,GAAA,SAAAO,GAAA,YAAA0J,QAAAjK,EAAAO,EAAA,gBAAA2J,EAAA3J,EAAAP,GAAA,SAAAmK,EAAAhC,EAAAV,EAAApF,EAAAgG,GAAA,IAAAE,EAAAY,EAAA5I,EAAA4H,GAAA5H,EAAAkH,GAAA,aAAAc,EAAA1D,KAAA,KAAA4D,EAAAF,EAAAa,IAAAC,EAAAZ,EAAA5I,MAAA,OAAAwJ,GAAA,UAAAe,EAAAf,IAAA3J,EAAAuI,KAAAoB,EAAA,WAAArJ,EAAAqK,QAAAhB,EAAAiB,SAAA3L,MAAA,SAAA4B,GAAA4J,EAAA,OAAA5J,EAAA8B,EAAAgG,EAAA,aAAA9H,GAAA4J,EAAA,QAAA5J,EAAA8B,EAAAgG,EAAA,IAAArI,EAAAqK,QAAAhB,GAAA1K,MAAA,SAAA4B,GAAAkI,EAAA5I,MAAAU,EAAA8B,EAAAoG,EAAA,aAAAlI,GAAA,OAAA4J,EAAA,QAAA5J,EAAA8B,EAAAgG,EAAA,IAAAA,EAAAE,EAAAa,IAAA,KAAAjB,EAAAV,EAAA,gBAAA5H,MAAA,SAAAU,EAAAb,GAAA,SAAA6K,IAAA,WAAAvK,GAAA,SAAAA,EAAAmI,GAAAgC,EAAA5J,EAAAb,EAAAM,EAAAmI,EAAA,WAAAA,EAAAA,EAAAA,EAAAxJ,KAAA4L,EAAAA,GAAAA,GAAA,aAAArB,EAAAlJ,EAAAmI,EAAAzI,GAAA,IAAA+H,EAAA4B,EAAA,gBAAAhH,EAAAgG,GAAA,GAAAZ,IAAAxH,EAAA,UAAAgD,MAAA,mCAAAwE,IAAAhI,EAAA,cAAA4C,EAAA,MAAAgG,EAAA,OAAAxI,MAAAU,EAAAZ,MAAA,OAAAD,EAAA8K,OAAAnI,EAAA3C,EAAA0J,IAAAf,IAAA,KAAAE,EAAA7I,EAAA+K,SAAA,GAAAlC,EAAA,KAAAE,EAAAiC,EAAAnC,EAAA7I,GAAA,GAAA+I,EAAA,IAAAA,IAAAc,EAAA,gBAAAd,CAAA,cAAA/I,EAAA8K,OAAA9K,EAAAiL,KAAAjL,EAAAkL,MAAAlL,EAAA0J,SAAA,aAAA1J,EAAA8K,OAAA,IAAA/C,IAAA4B,EAAA,MAAA5B,EAAAhI,EAAAC,EAAA0J,IAAA1J,EAAAmL,kBAAAnL,EAAA0J,IAAA,gBAAA1J,EAAA8K,QAAA9K,EAAAoL,OAAA,SAAApL,EAAA0J,KAAA3B,EAAAxH,EAAA,IAAAyJ,EAAAP,EAAAnJ,EAAAmI,EAAAzI,GAAA,cAAAgK,EAAA7E,KAAA,IAAA4C,EAAA/H,EAAAC,KAAAF,EAAA6J,EAAAI,EAAAN,MAAAG,EAAA,gBAAA1J,MAAA6J,EAAAN,IAAAzJ,KAAAD,EAAAC,KAAA,WAAA+J,EAAA7E,OAAA4C,EAAAhI,EAAAC,EAAA8K,OAAA,QAAA9K,EAAA0J,IAAAM,EAAAN,IAAA,YAAAsB,EAAA1K,EAAAmI,GAAA,IAAAzI,EAAAyI,EAAAqC,OAAA/C,EAAAzH,EAAAsI,SAAA5I,GAAA,GAAA+H,IAAAlH,EAAA,OAAA4H,EAAAsC,SAAA,eAAA/K,GAAAM,EAAAsI,SAAAyC,SAAA5C,EAAAqC,OAAA,SAAArC,EAAAiB,IAAA7I,EAAAmK,EAAA1K,EAAAmI,GAAA,UAAAA,EAAAqC,SAAA,WAAA9K,IAAAyI,EAAAqC,OAAA,QAAArC,EAAAiB,IAAA,IAAA4B,UAAA,oCAAAtL,EAAA,aAAA6J,EAAA,IAAAlH,EAAA8G,EAAA1B,EAAAzH,EAAAsI,SAAAH,EAAAiB,KAAA,aAAA/G,EAAAwC,KAAA,OAAAsD,EAAAqC,OAAA,QAAArC,EAAAiB,IAAA/G,EAAA+G,IAAAjB,EAAAsC,SAAA,KAAAlB,EAAA,IAAAlB,EAAAhG,EAAA+G,IAAA,OAAAf,EAAAA,EAAA1I,MAAAwI,EAAAnI,EAAAiL,YAAA5C,EAAAxI,MAAAsI,EAAA+C,KAAAlL,EAAAmL,QAAA,WAAAhD,EAAAqC,SAAArC,EAAAqC,OAAA,OAAArC,EAAAiB,IAAA7I,GAAA4H,EAAAsC,SAAA,KAAAlB,GAAAlB,GAAAF,EAAAqC,OAAA,QAAArC,EAAAiB,IAAA,IAAA4B,UAAA,oCAAA7C,EAAAsC,SAAA,KAAAlB,EAAA,UAAA6B,EAAA7K,GAAA,IAAAP,EAAA,CAAAqL,OAAA9K,EAAA,SAAAA,IAAAP,EAAAsL,SAAA/K,EAAA,SAAAA,IAAAP,EAAAuL,WAAAhL,EAAA,GAAAP,EAAAwL,SAAAjL,EAAA,SAAAkL,WAAA5I,KAAA7C,EAAA,UAAA0L,EAAAnL,GAAA,IAAAP,EAAAO,EAAAoL,YAAA,GAAA3L,EAAA6E,KAAA,gBAAA7E,EAAAoJ,IAAA7I,EAAAoL,WAAA3L,CAAA,UAAAiJ,EAAA1I,GAAA,KAAAkL,WAAA,EAAAJ,OAAA,SAAA9K,EAAAyJ,QAAAoB,EAAA,WAAAQ,OAAA,YAAA/B,EAAA7J,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAmI,EAAAnI,EAAAqI,GAAA,GAAAF,EAAA,OAAAA,EAAAF,KAAAjI,GAAA,sBAAAA,EAAAkL,KAAA,OAAAlL,EAAA,IAAA6L,MAAA7L,EAAAsC,QAAA,KAAAmF,GAAA,EAAApF,EAAA,SAAA6I,IAAA,OAAAzD,EAAAzH,EAAAsC,QAAA,GAAA5C,EAAAuI,KAAAjI,EAAAyH,GAAA,OAAAyD,EAAArL,MAAAG,EAAAyH,GAAAyD,EAAAvL,MAAA,EAAAuL,EAAA,OAAAA,EAAArL,MAAAU,EAAA2K,EAAAvL,MAAA,EAAAuL,CAAA,SAAA7I,EAAA6I,KAAA7I,CAAA,YAAA2I,UAAAZ,EAAApK,GAAA,2BAAAwJ,EAAAzB,UAAA0B,EAAAhC,EAAAqC,EAAA,eAAAjK,MAAA4J,EAAAb,cAAA,IAAAnB,EAAAgC,EAAA,eAAA5J,MAAA2J,EAAAZ,cAAA,IAAAY,EAAAsC,YAAAnD,EAAAc,EAAAhB,EAAA,qBAAAzI,EAAA+L,oBAAA,SAAAxL,GAAA,IAAAP,EAAA,mBAAAO,GAAAA,EAAAyL,YAAA,QAAAhM,IAAAA,IAAAwJ,GAAA,uBAAAxJ,EAAA8L,aAAA9L,EAAAiM,MAAA,EAAAjM,EAAAkM,KAAA,SAAA3L,GAAA,OAAAmH,OAAAyE,eAAAzE,OAAAyE,eAAA5L,EAAAkJ,IAAAlJ,EAAA6L,UAAA3C,EAAAd,EAAApI,EAAAkI,EAAA,sBAAAlI,EAAAwH,UAAAL,OAAAsB,OAAAc,GAAAvJ,CAAA,EAAAP,EAAAqM,MAAA,SAAA9L,GAAA,OAAA+J,QAAA/J,EAAA,EAAAwJ,EAAAG,EAAAnC,WAAAY,EAAAuB,EAAAnC,UAAAQ,GAAA,0BAAAvI,EAAAkK,cAAAA,EAAAlK,EAAAsM,MAAA,SAAA/L,EAAA4H,EAAAzI,EAAA+H,EAAApF,QAAA,IAAAA,IAAAA,EAAAkK,SAAA,IAAAlE,EAAA,IAAA6B,EAAApB,EAAAvI,EAAA4H,EAAAzI,EAAA+H,GAAApF,GAAA,OAAArC,EAAA+L,oBAAA5D,GAAAE,EAAAA,EAAA6C,OAAAvM,MAAA,SAAA4B,GAAA,OAAAA,EAAAZ,KAAAY,EAAAV,MAAAwI,EAAA6C,MAAA,KAAAnB,EAAAD,GAAAnB,EAAAmB,EAAArB,EAAA,aAAAE,EAAAmB,EAAAzB,GAAA,0BAAAM,EAAAmB,EAAA,qDAAA9J,EAAAwM,KAAA,SAAAjM,GAAA,IAAAP,EAAA0H,OAAAnH,GAAA4H,EAAA,WAAAzI,KAAAM,EAAAmI,EAAAtF,KAAAnD,GAAA,OAAAyI,EAAAsE,UAAA,SAAAvB,IAAA,KAAA/C,EAAA7F,QAAA,KAAA/B,EAAA4H,EAAAuE,MAAA,GAAAnM,KAAAP,EAAA,OAAAkL,EAAArL,MAAAU,EAAA2K,EAAAvL,MAAA,EAAAuL,CAAA,QAAAA,EAAAvL,MAAA,EAAAuL,CAAA,GAAAlL,EAAA6J,OAAAA,EAAAZ,EAAAlB,UAAA,CAAAiE,YAAA/C,EAAA2C,MAAA,SAAA5L,GAAA,QAAA2M,KAAA,OAAAzB,KAAA,OAAAP,KAAA,KAAAC,MAAArK,EAAA,KAAAZ,MAAA,OAAA8K,SAAA,UAAAD,OAAA,YAAApB,IAAA7I,EAAA,KAAAkL,WAAAzB,QAAA0B,IAAA1L,EAAA,QAAAmI,KAAA,WAAAA,EAAAyE,OAAA,IAAAlN,EAAAuI,KAAA,KAAAE,KAAA0D,OAAA1D,EAAA0E,MAAA,WAAA1E,GAAA5H,EAAA,EAAAuM,KAAA,gBAAAnN,MAAA,MAAAY,EAAA,KAAAkL,WAAA,GAAAE,WAAA,aAAApL,EAAAsE,KAAA,MAAAtE,EAAA6I,IAAA,YAAA2D,IAAA,EAAAlC,kBAAA,SAAA7K,GAAA,QAAAL,KAAA,MAAAK,EAAA,IAAAmI,EAAA,cAAA6E,EAAAtN,EAAA+H,GAAA,OAAAY,EAAAxD,KAAA,QAAAwD,EAAAe,IAAApJ,EAAAmI,EAAA+C,KAAAxL,EAAA+H,IAAAU,EAAAqC,OAAA,OAAArC,EAAAiB,IAAA7I,KAAAkH,CAAA,SAAAA,EAAA,KAAAgE,WAAAnJ,OAAA,EAAAmF,GAAA,IAAAA,EAAA,KAAApF,EAAA,KAAAoJ,WAAAhE,GAAAY,EAAAhG,EAAAsJ,WAAA,YAAAtJ,EAAAgJ,OAAA,OAAA2B,EAAA,UAAA3K,EAAAgJ,QAAA,KAAAsB,KAAA,KAAApE,EAAA7I,EAAAuI,KAAA5F,EAAA,YAAAoG,EAAA/I,EAAAuI,KAAA5F,EAAA,iBAAAkG,GAAAE,EAAA,SAAAkE,KAAAtK,EAAAiJ,SAAA,OAAA0B,EAAA3K,EAAAiJ,UAAA,WAAAqB,KAAAtK,EAAAkJ,WAAA,OAAAyB,EAAA3K,EAAAkJ,WAAA,SAAAhD,GAAA,QAAAoE,KAAAtK,EAAAiJ,SAAA,OAAA0B,EAAA3K,EAAAiJ,UAAA,YAAA7C,EAAA,UAAAxF,MAAA,kDAAA0J,KAAAtK,EAAAkJ,WAAA,OAAAyB,EAAA3K,EAAAkJ,WAAA,KAAAT,OAAA,SAAAvK,EAAAP,GAAA,QAAAmI,EAAA,KAAAsD,WAAAnJ,OAAA,EAAA6F,GAAA,IAAAA,EAAA,KAAAV,EAAA,KAAAgE,WAAAtD,GAAA,GAAAV,EAAA4D,QAAA,KAAAsB,MAAAjN,EAAAuI,KAAAR,EAAA,oBAAAkF,KAAAlF,EAAA8D,WAAA,KAAAlJ,EAAAoF,EAAA,OAAApF,IAAA,UAAA9B,GAAA,aAAAA,IAAA8B,EAAAgJ,QAAArL,GAAAA,GAAAqC,EAAAkJ,aAAAlJ,EAAA,UAAAgG,EAAAhG,EAAAA,EAAAsJ,WAAA,UAAAtD,EAAAxD,KAAAtE,EAAA8H,EAAAe,IAAApJ,EAAAqC,GAAA,KAAAmI,OAAA,YAAAU,KAAA7I,EAAAkJ,WAAAhC,GAAA,KAAA0D,SAAA5E,EAAA,EAAA4E,SAAA,SAAA1M,EAAAP,GAAA,aAAAO,EAAAsE,KAAA,MAAAtE,EAAA6I,IAAA,gBAAA7I,EAAAsE,MAAA,aAAAtE,EAAAsE,KAAA,KAAAqG,KAAA3K,EAAA6I,IAAA,WAAA7I,EAAAsE,MAAA,KAAAkI,KAAA,KAAA3D,IAAA7I,EAAA6I,IAAA,KAAAoB,OAAA,cAAAU,KAAA,kBAAA3K,EAAAsE,MAAA7E,IAAA,KAAAkL,KAAAlL,GAAAuJ,CAAA,EAAA2D,OAAA,SAAA3M,GAAA,QAAAP,EAAA,KAAAyL,WAAAnJ,OAAA,EAAAtC,GAAA,IAAAA,EAAA,KAAAmI,EAAA,KAAAsD,WAAAzL,GAAA,GAAAmI,EAAAoD,aAAAhL,EAAA,YAAA0M,SAAA9E,EAAAwD,WAAAxD,EAAAqD,UAAAE,EAAAvD,GAAAoB,CAAA,GAAAvI,MAAA,SAAAT,GAAA,QAAAP,EAAA,KAAAyL,WAAAnJ,OAAA,EAAAtC,GAAA,IAAAA,EAAA,KAAAmI,EAAA,KAAAsD,WAAAzL,GAAA,GAAAmI,EAAAkD,SAAA9K,EAAA,KAAAb,EAAAyI,EAAAwD,WAAA,aAAAjM,EAAAmF,KAAA,KAAA4C,EAAA/H,EAAA0J,IAAAsC,EAAAvD,EAAA,QAAAV,CAAA,YAAAxE,MAAA,0BAAAkK,cAAA,SAAAnN,EAAAmI,EAAAzI,GAAA,YAAA+K,SAAA,CAAAnC,SAAAuB,EAAA7J,GAAAiL,WAAA9C,EAAAgD,QAAAzL,GAAA,cAAA8K,SAAA,KAAApB,IAAA7I,GAAAgJ,CAAA,GAAAvJ,CAAA,UAAAoN,EAAAC,EAAAhD,EAAAiD,EAAAC,EAAAC,EAAAhG,EAAA4B,GAAA,QAAAqE,EAAAJ,EAAA7F,GAAA4B,GAAAvJ,EAAA4N,EAAA5N,KAAA,OAAAoB,GAAA,YAAAqM,EAAArM,EAAA,CAAAwM,EAAA9N,KAAA0K,EAAAxK,GAAA0M,QAAAlC,QAAAxK,GAAAlB,KAAA4O,EAAAC,EAAA,UAAAE,EAAAC,GAAA,sBAAAC,EAAA,KAAAC,EAAAC,UAAA,WAAAvB,SAAA,SAAAlC,EAAAiD,GAAA,IAAAD,EAAAM,EAAAI,MAAAH,EAAAC,GAAA,SAAAN,EAAA1N,GAAAuN,EAAAC,EAAAhD,EAAAiD,EAAAC,EAAAC,EAAA,OAAA3N,EAAA,UAAA2N,EAAAzN,GAAAqN,EAAAC,EAAAhD,EAAAiD,EAAAC,EAAAC,EAAA,QAAAzN,EAAA,CAAAwN,OAAAnG,EAAA,YCiK6B,IAb7B,MACI4G,WACA,oBAAAC,GACI,GAAIC,KAAKF,WAAY,CACjB,MAAMG,EAAa,IAAIlL,MAAM,qDAC7BkL,EAAWlC,KAAO,aAClBiC,KAAKF,WAAWI,MAAMD,EAC1B,CACA,MAAME,EAAgB,IAAIC,gBAE1B,OADAJ,KAAKF,WAAaK,EACXA,EAAcE,MACzB,GD5JJ7Q,MAAM8Q,gBAAkB5Q,QAAQC,KAAKC,OACnC,CACE2Q,eAAgB,KAEhB1Q,KAAI,SAAC2Q,GACHR,KAAKS,YAAYD,EAAUhR,MAAM8Q,gBAAgBI,UACjDV,KAAKW,QACP,EAEAA,OAAM,WACJX,KAAKO,eAAiB/Q,MAAMkI,MAC1B7C,SAAS+L,iBAAiB,oCAC1B,SAACC,GAAS,OAAKA,EAAUC,aAAa,cAAc,IAGtD,IAAK,IAALC,EAAA,EAAAC,EAAsBxH,OAAOmC,OAAOqE,KAAKO,gBAAeQ,EAAAC,EAAA5M,OAAA2M,IAAE,CAArD,IAAIF,EAASG,EAAAD,GAChBf,KAAKiB,YAAYJ,EACnB,CACF,EAEAI,YAAW,SAACJ,GAAW,IAAA9Q,EAAA,KACfmR,EAAWL,EAAU7J,cAAc,0BACzCgJ,KAAKxN,YAAY0O,EAAU,YAAY,SAACC,GACtC,IAAM7E,EAASuE,EAAUC,aAAa,eACtC/Q,EAAKqR,kBAAkB9E,EACzB,GACF,EAEA8E,kBAAiB,SAAC9E,GAAQ,IAAA+E,EAAA,KAClBlR,EAAS6P,KAAKO,eAAejE,GAAQtF,cACzC,0BAEE7G,EAAOmR,UAAUC,SAAS,aAI9BpR,EAAOmR,UAAUzN,IAAI,WAErBrE,MAAMgS,uBAAuBC,wBAC3B,WACEjS,MAAMgB,kBAAkB,OAAQ,yBAA0B,CACxDG,KAAM,CAAC2L,OAAAA,KAEN7L,KAAI,eAAAiR,EAAAlC,EAAAxF,IAAAgE,MAAC,SAAA2D,EAAAjR,GAAA,IAAAC,EAAAX,EAAA,OAAAgK,IAAAY,MAAA,SAAAgH,GAAA,cAAAA,EAAAnD,KAAAmD,EAAA5E,MAAA,OACqD,OAD7CrM,EAAID,EAAJC,KACNX,EAAW,IAAIR,MAAM8Q,gBAAgBrQ,SAASU,GAAKiR,EAAA5E,KAAA,EACnDxN,MAAMqS,eAAelR,EAAKmR,UAAS,cAAAF,EAAA5E,KAAA,EACnCxN,MAAMuS,eAAepR,EAAKqR,UAAS,OACzCX,EAAK7O,YACHxC,EAASI,WAAWC,KAAK,0BACzB,YACA,WACEL,EAASiS,OACX,IAME,0CADFtR,EAAKuR,qBChCuBhJ,IAAhCiJ,QAAQC,qBAA2E,mBAA/BD,OAAOC,qBDoCvD,IAAI5S,MAAM6S,cAAcrS,EAAUqR,EAAKb,UACxC,wBAAAoB,EAAAhD,OAAA,GAAA+C,EAAA,KACF,gBAAAW,GAAA,OAAAZ,EAAA7B,MAAA,KAAAD,UAAA,EApBI,IAqBJ9M,OAAM,SAAAyP,GAAgB,IAAdrP,EAAQqP,EAARrP,SAEP1D,MAAMwD,GAAGC,aAAaC,EAASvC,KAAKwC,QACtC,IACCC,SAAQ,WACPjD,EAAOmR,UAAUvK,OAAO,UAC1B,GACJ,IACA,WACE5G,EAAOmR,UAAUvK,OAAO,UAC1B,GAEAyL,KAAKC,IAAIjT,MAAMkT,wBAAyB,MAE5C,EAEA5R,QAAO,WAAG,IAAA6R,EAAA,KACRnT,MAAMgB,kBAAkB,OAAQ,4BAA4BC,KAAI,eAAAmS,EAAApD,EAAAxF,IAAAgE,MAC9D,SAAA6E,EAAAC,GAAA,IAAAnS,EAAAP,EAAA,OAAA4J,IAAAY,MAAA,SAAAmI,GAAA,cAAAA,EAAAtE,KAAAsE,EAAA/F,MAAA,OAImC,OAJ3BrM,EAAImS,EAAJnS,KACAP,EAAaa,EAAE,sBAAsB+R,KACzC/R,EAAEN,EAAKqS,MAAMC,YAEfzT,MAAM0T,eAAe9S,GAAY2S,EAAA/F,KAAA,EAC3BxN,MAAMqS,eAAelR,EAAKmR,UAAS,cAAAiB,EAAA/F,KAAA,EACnCxN,MAAMuS,eAAepR,EAAKqR,UAAS,OACzCW,EAAKQ,qBACLR,EAAKhC,SACLgC,EAAKnC,SAAS4C,YACdT,EAAKU,QAAQ,WAAW,yBAAAN,EAAAnE,OAAA,GAAAiE,EAAA,KACzB,gBAAAS,GAAA,OAAAV,EAAA/C,MAAA,KAAAD,UAAA,EAZ6D,GAclE,GAEF,CACEc,SAAU,CACR0C,UAAW,WAAO,KAKxB5T,MAAM8Q,gBAAgBrQ,SAAWT,MAAMS,SAASL,OAAO,CACrD2T,WAAY,KAEZ1T,KAAI,SAACc,GACHqP,KAAKuD,WAAa5S,EAAK4S,WAEvB,IAAMC,EAAW,0BAAHC,OACK9S,EAAKqS,KAAI,oKAAAS,OAI8BjU,MAAM6C,EAC9D,MACA,UACD,iCAKD2N,KAAK0D,KAAKF,EAAU,CAClBG,oBAAqB,CACnBjQ,GAAI/C,EAAKb,cAGf,EAEAc,YAAW,WACT,IAAMuC,EAAU3D,MAAM6C,EAAE,MAAO,6BAA8B,CAC3D0L,KAAMiC,KAAKuD,aAEbvD,KAAK5P,WAAWC,KAAK,YAAYE,SAAS,6BACvCyS,KAAK,4HAADS,OAEqCtQ,EAAO,YAEnD6M,KAAK5P,WACFC,KAAK,0BACLuB,KAAKpC,MAAM6C,EAAE,MAAO,SACzB","sources":["webpack:///./RecoveryCodesSetup.js","webpack:///./css/auth.scss?8147","webpack:///../../../../../node_modules/vue-style-loader/lib/listToStyles.js","webpack:///../../../../../node_modules/vue-style-loader/lib/addStylesClient.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///./AuthMethodSetup.js","webpack:///../../../../../node_modules/@simplewebauthn/browser/dist/bundle/index.js"],"sourcesContent":["/** global: Craft */\n/** global: Garnish */\nCraft.RecoveryCodesSetup = Garnish.Base.extend({\n init(containerId) {\n const slideout = Craft.Slideout.instances[containerId];\n const button = slideout.$container.find('button.submit');\n\n button.on('activate', () => {\n button.addClass('loading');\n\n Craft.sendActionRequest('post', 'auth/generate-recovery-codes')\n .then(({data}) => {\n slideout.showSuccess();\n Craft.authMethodSetup.refresh();\n\n const $pane = $('
      ').appendTo(\n slideout.$container.find('.so-body')\n );\n const $ul = $(\n '
        '\n ).appendTo($pane);\n\n for (let code of data.codes) {\n $('
      • ').text(code).appendTo($ul);\n }\n\n $('
        ').appendTo($pane);\n\n const $downloadContainer = $(\n '
        '\n ).appendTo($pane);\n const $downloadBtn = Craft.ui\n .createButton({\n label: Craft.t('app', 'Download codes'),\n spinner: true,\n })\n .attr('data-icon', 'download')\n .appendTo($downloadContainer);\n\n this.addListener($downloadBtn, 'activate', () => {\n $downloadBtn.addClass('loading');\n\n const data = Craft.filterObject({\n [Craft.csrfTokenName]: Craft.csrfTokenValue,\n });\n\n Craft.downloadFromUrl(\n 'post',\n Craft.getActionUrl('auth/download-recovery-codes'),\n data\n )\n .catch((error) => {\n Craft.cp.displayError(\n error &&\n error.response &&\n error.response.data &&\n error.response.data.message\n );\n })\n .finally(() => {\n $downloadBtn.removeClass('loading');\n });\n });\n })\n .finally(() => {\n button.removeClass('loading');\n });\n });\n },\n});\n","// style-loader: Adds some css to the DOM by adding a