@angular-wave/angular.ts 0.12.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).angular={})}(this,function(e){"use strict";const t="ng-valid",n="ng-invalid",r="ng-pristine",s="ng-dirty",i="ng-untouched",o="ng-touched",a="ng-empty",c="ng-not-empty",l=/^((?:x|data)[-])/i,u=/[-]+(.)/g,h={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern",ngStep:"step"},d=Symbol("isProxy");function p(e){return!(!e||!e[d])}const f=he("ng");let $=0;function m(){return $+=1,$}function g(e){return E(e)?e.toLowerCase():e}function v(e){if(null==e||_(e))return!1;if(Array.isArray(e)||e instanceof Array||E(e))return!0;const t="length"in Object(e)&&e.length;return x(t)&&(t>=0&&t-1 in e||"function"==typeof e.item)}function y(e){return void 0===e}function b(e){return void 0!==e}function w(e){return null!==e&&"object"==typeof e}function E(e){return"string"==typeof e}function C(e){return null===e}function S(e){return null==e}function x(e){return"number"==typeof e}function O(e){return"[object Date]"===toString.call(e)}function A(e){switch(toString.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:return e instanceof Error}}function k(e){return"function"==typeof e}function T(e){return"[object RegExp]"===toString.call(e)}function _(e){return e&&e.window===e}function N(e){return e&&e.$watch}function j(e){return"boolean"==typeof e}function L(e){return e&&k(e.then)}function R(e){return E(e)?e.trim():e}function V(e,t){const n=t;return e.replace(/[A-Z]/g,(e,t)=>(t?n:"")+e.toLowerCase())}function M(e,...t){return function(e,t){const n=e.$$hashKey;for(let n=0,r=t.length;n<r;++n){const r=t[n];if(!w(r)&&!k(r))continue;const s=Object.keys(r);for(let t=0,n=s.length;t<n;t++){const n=s[t],i=r[n];e[n]=i}}return function(e,t){t?e.$$hashKey=t:delete e.$$hashKey}(e,n),e}(e,t)}function P(e){return Number.isNaN(e)}function D(e,t){return M(Object.create(e),t)}function U(e){return k(e.toString)&&e.toString!==toString}function I(e){return g(e.nodeName)}function H(e,t){return-1!==Array.prototype.indexOf.call(e,t)}function F(e,t){const n=e.indexOf(t);return n>=0&&e.splice(n,1),n}function q(e,t){return e===t||e!=e&&t!=t}function B(e,t){if(e===t)return!0;if(null===e||null===t)return!1;if(e!=e&&t!=t)return!0;const n=typeof e;let r,s,i;if(n===typeof t&&"object"===n){if(!Array.isArray(e)){if(O(e))return!!O(t)&&q(e.getTime(),t.getTime());if(T(e))return!!T(t)&&e.toString()===t.toString();if(N(e)||N(t)||_(e)||_(t)||Array.isArray(t)||O(t)||T(t))return!1;for(s in i=Object.create(null),e)if("$"!==s.charAt(0)&&!k(e[s])){if(!B(e[s],t[s]))return!1;i[s]=!0}for(s in t)if(!(s in i)&&"$"!==s.charAt(0)&&b(t[s])&&!k(t[s]))return!1;return!0}if(!Array.isArray(t))return!1;if((r=e.length)===t.length){for(s=0;s<r;s++)if(!B(e[s],t[s]))return!1;return!0}}return!1}function z(e,t){if("hasOwnProperty"===e)throw f("badname","hasOwnProperty is not a valid {0} name",t)}function W(e){if(null==e)return"";switch(typeof e){case"string":break;case"number":e=`${e}`;break;default:e=!U(e)||Array.isArray(e)||O(e)?Z(e):e.toString()}return e}function K(e,t,n){return e.concat(Array.prototype.slice.call(t,n))}function Q(e,t){return Array.prototype.slice.call(e,t)}function G(e,t){const n=arguments.length>2?Q(arguments,2):[];return!k(t)||t instanceof RegExp?t:n.length?function(){return arguments.length?t.apply(e,K(n,arguments,0)):t.apply(e,n)}:function(){return arguments.length?t.apply(e,arguments):t.call(e)}}function J(e,t){let n=t;return"string"==typeof e&&"$"===e.charAt(0)&&"$"===e.charAt(1)?n=void 0:_(t)?n="$WINDOW":t&&window.document===t?n="$DOCUMENT":N(t)&&(n="$SCOPE"),n}function Z(e,t){if(!y(e))return x(t)||(t=t?2:null),JSON.stringify(e,J,t)}function Y(e,t,n){const r=e.getTimezoneOffset(),s=function(e,t){const n=Date.parse(`Jan 01, 1970 00:00:00 ${e}`)/6e4;return P(n)?t:n}(t,r);return function(e,t){const n=new Date(e.getTime());return n.setMinutes(n.getMinutes()+t),n}(e,1*(s-r))}function X(e){const t={};return(e||"").split("&").forEach(e=>{let n,r,s;e&&(r=e=e.replace(/\+/g,"%20"),n=e.indexOf("="),-1!==n&&(r=e.substring(0,n),s=e.substring(n+1)),r=te(r),b(r)&&(s=!b(s)||te(s),ve(t,r)?Array.isArray(t[r])?t[r].push(s):t[r]=[t[r],s]:t[r]=s))}),t}function ee(e){const t=[];return e&&Object.entries(e).forEach(([e,n])=>{Array.isArray(n)?n.forEach(n=>{t.push(re(e,!0)+(!0===n?"":`=${re(n,!0)}`))}):t.push(re(e,!0)+(!0===n?"":`=${re(n,!0)}`))}),t.length?t.join("&"):""}function te(e){try{return decodeURIComponent(e)}catch{}}function ne(e){return re(e,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function re(e,t){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,t?"%20":"+")}const se=["ng-","data-ng-"];function ie(e,t){if(Array.isArray(e)){t=t||[];for(let n=0,r=e.length;n<r;n++)t[n]=e[n]}else if(w(e)){t=t||{};for(const n in e)n.startsWith("$")&&"$"===n.charAt(1)||(t[n]=e[n])}return t||e}function oe(e,t="Assertion failed"){if(!e)throw new Error(t)}function ae(e,t,n){if(!e)throw f("areq","Argument '{0}' is {1}",t||"?",n||"required");return e}function ce(e,t,n){return n&&Array.isArray(e)&&(e=e[e.length-1]),ae(k(e),t,`not a function, got ${e&&"object"==typeof e?e.constructor.name||"Object":typeof e}`),e}const le={objectMaxDepth:5,urlErrorParamsEnabled:!0};function ue(e){var t;return w(e)&&(b(e.objectMaxDepth)&&(le.objectMaxDepth=x(t=e.objectMaxDepth)&&t>0?e.objectMaxDepth:NaN),b(e.urlErrorParamsEnabled)&&j(e.urlErrorParamsEnabled)&&(le.urlErrorParamsEnabled=e.urlErrorParamsEnabled)),le}function he(e){return function(...t){const n=t[0],r=t[1];let s=`[${e?`${e}:`:""}${n}] `;const i=Q(t,2).map(e=>function(e){if("function"==typeof e)return e.toString().replace(/ \{[\s\S]*$/,"");if(y(e))return"undefined";if("string"!=typeof e){const t=[];let n=structuredClone(p(e)?e.$target:e);return JSON.stringify(n,(e,n)=>{const r=J(e,n);if(w(r)){if(t.indexOf(r)>=0)return"...";t.push(r)}return r})}return e}(e));return s+=r.replace(/\{\d+\}/g,e=>{const t=+e.slice(1,-1);return t<i.length?i[t]:e}),new Error(s)}}function de(e){const t=e&&e.$$hashKey;if(t)return"function"==typeof t?e.$$hashKey():t;const n=typeof e;return"function"===n||"object"===n&&null!==e?(e.$$hashKey=`${n}:${m()}`,e.$$hashKey):"undefined"===n?`${n}:${m()}`:`${n}:${e}`}function pe(e,t){return e||t?e?t?(Array.isArray(e)&&(e=fe(e)),Array.isArray(t)&&(t=fe(t)),`${e.trim()} ${t.trim()}`.trim()):Array.isArray(e)?e.join(" ").trim():e:Array.isArray(t)?t.join(" ").trim():t:""}function fe(e){const t=[];for(const n of e)if(n){const e=n.trim();e&&t.push(e)}return t.join(" ")}function $e(e){return e.replace(l,"").replace(u,(e,t,n)=>n?t.toUpperCase():t)}function me(e){return function(e,t){if(e.nodeType!==Node.ELEMENT_NODE)return!1;const n=e;return"true"===n.dataset[t]||"true"===n.getAttribute(t)}(e,"animate")}function ge(e){return!e||!Object.keys(e).length}function ve(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function ye(e){let t=!1;return function(...n){if(t)return e.apply(this,n);t=!0}}function be(e=0){return new Promise(t=>setTimeout(t,e))}function we(e,t){return e.slice(0,t.length)===t}async function Ee(e,t={}){const n=await fetch(e);if(!n.ok)throw new Error("fetch failed");try{const{instance:e,module:r}=await WebAssembly.instantiateStreaming(n.clone(),t);return{instance:e,exports:e.exports,module:r}}catch{}const r=await n.arrayBuffer(),{instance:s,module:i}=await WebAssembly.instantiate(r,t);return{instance:s,exports:s.exports,module:i}}const Ce=new Map,Se=1,xe=2,Oe=3,Ae=4,ke=5,Te=6,_e=7,Ne=8,je=9,Le=10,Re=11,Ve=12,Me=13,Pe=14,De=15,Ue=16,Ie=17,He="-add",Fe="-remove",qe="-active",Be="ng-animate",ze="$$ngAnimateChildren";let We,Ke,Qe,Ge;void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend?(We="WebkitTransition",Ke="webkitTransitionEnd transitionend"):(We="transition",Ke="transitionend"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend?(Qe="WebkitAnimation",Ge="webkitAnimationEnd animationend"):(Qe="animation",Ge="animationend");const Je="Duration",Ze=Me,Ye="Delay",Xe="TimingFunction",et=Qe+Ye,tt=Qe+Je,nt=We+Ye,rt=We+Je;function st(e,t,n){let r="";return(e=Array.isArray(e)?e:e&&E(e)&&e.length?e.split(/\s+/):[]).forEach((e,s)=>{e&&e.length>0&&(r+=s>0?" ":"",r+=n?t+e:e+t)}),r}function it(e){if(!e||!Array.isArray(e))return e;for(let t=0;t<e.length;t++){const n=e[t];if(n.nodeType===Node.ELEMENT_NODE)return n}}function ot(e){if(!(e=e||{}).$$prepared){let t=e.domOperation||(()=>{});e.domOperation=function(){e.$$domOperationFired=!0,t(),t=()=>{}},e.$$prepared=!0}return e}function at(e,t){ct(e,t),lt(e,t)}function ct(e,t){t.from&&(Object.assign(e.style,t.from),t.from=null)}function lt(e,t){t.to&&(Object.assign(e.style,t.to),t.to=null)}function ut(e,t,n){const r=t.options||{},s=n.options||{},i=`${r.addClass||""} ${s.addClass||""}`,o=`${r.removeClass||""} ${s.removeClass||""}`,a=function(e,t,n){const r=1,s=-1,i={};e=a(e),t=a(t),Object.keys(t).forEach(e=>{i[e]=r}),n=a(n),Object.keys(n).forEach(e=>{i[e]=i[e]===r?null:s});const o={addClass:"",removeClass:""};function a(e){E(e)&&(e=e.trim().split(" "));const t={};return e&&e.forEach(e=>{e.length&&(t[e]=!0)}),t}return Object.entries(i).forEach(([t,n])=>{let i,a;n===r?(i="addClass",a=!e[t]||e[t+Fe]):n===s&&(i="removeClass",a=e[t]||e[t+He]),a&&(o[i].length&&(o[i]+=" "),o[i]+=t)}),o}(e.getAttribute("class"),i,o);return s.preparationClasses&&(r.preparationClasses=pt(s.preparationClasses,r.preparationClasses),delete s.preparationClasses),M(r,s),a.addClass?r.addClass=a.addClass:r.addClass=null,a.removeClass?r.removeClass=a.removeClass:r.removeClass=null,t.addClass=r.addClass,t.removeClass=r.removeClass,r}function ht(e,t){const n=t?"paused":"",r=Qe+"PlayState";return dt(e,[r,n]),[r,n]}function dt(e,t){const n=t[0];e.style[n]=t[1]}function pt(e,t){return e?t?`${e} ${t}`:e:t}let ft=1;const $t="ng",mt="$scope",gt=/-([a-z])/g,vt=/_([a-z])/g,yt=["multiple","selected","checked","disabled","readonly","required","open"],bt=["INPUT","SELECT","OPTION","TEXTAREA","BUTTON","FORM","DETAILS"];function wt(e,t){return t.toUpperCase()}function Et(e){return e.replace(gt,wt)}function Ct(e){return e.replace(vt,wt)}function St(e,t){const n=e[$t],r=n&&Ce.get(n);r&&(t?delete r.data[t]:r.data={},function(e){const t=e[$t],{data:n}=Ce.get(t);n&&Object.keys(n).length||(Ce.delete(t),e[$t]=void 0)}(e))}function xt(e,t=!1){let n=e[$t],r=n&&Ce.get(n);return t&&!r&&(e[$t]=n=++ft,r={data:{}},Ce.set(n,r)),r}function Ot(e){return!/<|&#?\w+;/.test(e)}function At(e){switch(e.nodeType){case Node.ELEMENT_NODE:case Node.DOCUMENT_NODE:case Node.COMMENT_NODE:case void 0:return!0;default:return!1}}function kt(e,t){e&&(Array.isArray(e)?e.forEach(e=>kt(e,t)):(!t&&At(e)&&Ht([e]),At(e)&&Ht(e.querySelectorAll("*"))),delete e[$t],e.innerHTML="")}function Tt(e,t,n){if(At(e)){let r;const s=b(n),i=!s&&t&&!w(t),o=!t,a=xt(e,!i),c=a&&a.data;if(s)c[Et(t)]=n;else{if(o)return c;if(i)return c&&c[Et(t)];for(r in t)c[Et(r)]=t[r]}}}function _t(e,t,n){if(At(e)){const r=xt(e,!0);(r&&r.data)[Et(t)]=n}else e.parentElement&&_t(e.parentElement,t,n)}function Nt(e,t){if(At(e)){const n=xt(e,!1),r=n&&n.data;if(!t)return;return r&&r[Et(t)]}}function jt(e){return Nt(e,mt)}function Lt(e,t){return _t(e,mt,t)}function Rt(e,t){return _t(e,"$isolateScope",t)}function Vt(e,t){return Mt(e,`$${t||"ngController"}Controller`)}function Mt(e,t){let n;for(e.nodeType===Node.DOCUMENT_NODE&&(e=e.documentElement);e;){if(b(n=Nt(e,t)))return n;e=e.parentNode||e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&e.host}}function Pt(e,t=!1){t||kt(e);const n=e.parentNode;n&&n.removeChild(e)}function Dt(e){let t;if("string"==typeof e){t=(new DOMParser).parseFromString(e,"text/html").body.firstChild.cloneNode(!0)}else{if(!(e instanceof Element||e instanceof Node))throw new Error("Input must be an HTML string or a DOM element.");t=e.cloneNode(!0)}for(;t.firstChild;)t.removeChild(t.firstChild);const n=document.createElement("div");n.appendChild(t);const r=n.innerHTML;try{if(t.nodeType===Node.TEXT_NODE)return r.toLowerCase();if(t.nodeType===Node.COMMENT_NODE)return`\x3c!--${t.data.trim()}--\x3e`;{const e=r.match(/^(<[^>]+>)/);if(e)return e[1].replace(/^<([\w-]+)/,(e,t)=>"<"+t.toLowerCase())}}catch{return r.toLowerCase()}return r.toLowerCase()}function Ut(e){let t=e[0];const n=e[e.length-1];let r;for(let s=1;t!==n&&(t=t.nextSibling);s++)(r||e[s]!==t)&&(r||(r=Array.prototype.slice.call(e,0,s)),r.push(t));return r||e}function It(e,t){const n=t.toLowerCase();return!(!yt.includes(n)||!bt.includes(e.nodeName))&&n}function Ht(e){for(let t=0,n=e.length;t<n;t++)St(e[t])}function Ft(e){return Mt(e,"$injector")}function qt(e){const t=document.createElement("template");return t.innerHTML=e.trim(),t.content.firstChild}function Bt(e){const t=document.createElement("template");return t.innerHTML=e.trim(),t.content.childNodes}function zt(e){switch(kt(e,!0),e.nodeType){case Node.ELEMENT_NODE:case Node.DOCUMENT_NODE:case Node.DOCUMENT_FRAGMENT_NODE:e.replaceChildren()}}function Wt(e,t,n){if(n){const e=it(n);!e||e.parentNode||e.previousSibling||(n=null)}n?n.after(e):t.prepend(e)}function Kt(e,t,n){const r=e.style.visibility,s=e.style.position,i=e.style.pointerEvents;Object.assign(e.style,{visibility:"hidden",position:"absolute",pointerEvents:"none"}),Wt(e,t,n),requestAnimationFrame(()=>{e.style.visibility=r,e.style.position=s,e.style.pointerEvents=i})}function Qt(){const e=document.querySelector("base")?.getAttribute("href");return e?e.replace(/^(https?:)?\/\/[^/]*/,""):""}const Gt=Object.freeze({$attrs:"$attrs",$scope:"$scope",$element:"$element",$$animateCache:"$$animateCache",$$animateCssDriver:"$$animateCssDriver",$$animateJs:"$$animateJs",$$animateJsDriver:"$$animateJsDriver",$$animateQueue:"$$animateQueue",$$animation:"$$animation",$$rAFScheduler:"$$rAFScheduler",$$taskTrackerFactory:"$$taskTrackerFactory",$anchorScroll:"$anchorScroll",$animate:"$animate",$animateCss:"$animateCss",$aria:"$aria",$compile:"$compile",$controller:"$controller",$document:"$document",$eventBus:"$eventBus",$exceptionHandler:"$exceptionHandler",$filter:"$filter",$http:"$http",$httpParamSerializer:"$httpParamSerializer",$interpolate:"$interpolate",$location:"$location",$log:"$log",$viewScroll:"$viewScroll",$parse:"$parse",$rootScope:"$rootScope",$rootElement:"$rootElement",$router:"$router",$sce:"$sce",$sceDelegate:"$sceDelegate",$state:"$state",$stateRegistry:"$stateRegistry",$sse:"$sse",$$sanitizeUri:"$$sanitizeUri",$$sanitizeUriProvider:"$$sanitizeUriProvider",$templateCache:"$templateCache",$templateFactory:"$templateFactory",$templateRequest:"$templateRequest",$transitions:"$transitions",$urlConfig:"$urlConfig",$url:"$url",$view:"$view",$window:"$window",$provide:"$provide",$injector:"$injector",$compileProvider:"$compileProvider",$animateProvider:"$animateProvider",$filterProvider:"$filterProvider",$controllerProvider:"$controllerProvider"});function Jt(e){return e.map(e=>e+"Provider")}function Zt(e,t){const n=t||"ng"+e.charAt(0).toUpperCase()+e.slice(1),r=function(e,t){return function(n,r,s,i,o,a,c){function l(e){let t=null;if("form"===e.tagName.toLowerCase())t=e;else if("form"in e&&e.form)t=e.form;else if(e.hasAttribute("form")){const n=e.getAttribute("form");if(n){const e=document.getElementById(n);e&&"form"===e.tagName.toLowerCase()&&(t=e)}}if(!t){if("name"in e&&"string"==typeof e.name&&e.name.length>0&&(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement)){const t=e.name,n=e.value;return{[t]:n}}return{}}const n=new FormData(t),r={};return n.forEach((e,t)=>{r[t]=e}),r}return{restrict:"A",link(u,h,d){const p=d.trigger||rn(h),f=h.tagName.toLowerCase();let $;b(d.latch)&&d.$observe("latch",ye(()=>h.dispatchEvent(new Event(p))));let m,g=!1;function v(e,n,i,o,a){let l=!1;o.animate&&(l=!0);let u=[];if(!["textcontent","delete","none"].includes(n)){if(!e)return;const t=r(e)(i);u=t instanceof DocumentFragment?Array.from(t.childNodes):[t]}const h=o.target,d=h?document.querySelector(h):a;if(d)switch(n){case"outerHTML":{const e=d.parentNode;if(!e)return;const t=document.createDocumentFragment();if(u.forEach(e=>t.appendChild(e)),!l){e.replaceChild(t,d);break}const n=document.createElement("span");n.style.display="none",e.insertBefore(n,d.nextSibling),c.leave(d).done(()=>{const r=Array.from(t.childNodes);for(const t of r)t.nodeType===Node.ELEMENT_NODE?c.enter(t,e,n):e.insertBefore(t,n);$=r,i.$flushQueue()}),i.$flushQueue();break}case"textContent":l?(c.leave(d).done(()=>{d.textContent=e,c.enter(d,d.parentNode),i.$flushQueue()}),i.$flushQueue()):d.textContent=e;break;case"beforebegin":{const e=d.parentNode;if(!e)break;u.forEach(t=>{l&&t.nodeType===Node.ELEMENT_NODE?c.enter(t,e,d):e.insertBefore(t,d)}),l&&i.$flushQueue();break}case"afterbegin":{const e=d.firstChild;[...u].reverse().forEach(t=>{l&&t.nodeType===Node.ELEMENT_NODE?c.enter(t,d,e):d.insertBefore(t,e)}),l&&i.$flushQueue();break}case"beforeend":u.forEach(e=>{l&&e.nodeType===Node.ELEMENT_NODE?c.enter(e,d,null):d.appendChild(e)}),l&&i.$flushQueue();break;case"afterend":{const e=d.parentNode;if(!e)break;const t=d.nextSibling;[...u].reverse().forEach(n=>{l&&n.nodeType===Node.ELEMENT_NODE?c.enter(n,e,t):e.insertBefore(n,t)}),l&&i.$flushQueue();break}case"delete":l?(c.leave(d).done(()=>{d.remove(),i.$flushQueue()}),i.$flushQueue()):d.remove();break;case"none":break;default:l?$&&$.nodeType!==Node.TEXT_NODE?(c.leave($).done(()=>{$=u[0],c.enter(u[0],d),i.$flushQueue()}),i.$flushQueue()):($=u[0],$.nodeType===Node.TEXT_NODE?d.replaceChildren(...u):(c.enter(u[0],d),i.$flushQueue())):d.replaceChildren(...u)}else s.warn(`${t}: target "${h}" not found`)}b(d.interval)&&(h.dispatchEvent(new Event(p)),m=setInterval(()=>h.dispatchEvent(new Event(p)),parseInt(d.interval)||1e3)),h.addEventListener(p,async r=>{if(h.disabled)return;"form"===f&&r.preventDefault();const c=d.swap||"innerHTML",p=d[t];if(!p)return void s.warn(`${t}: no URL specified`);const $=e=>{b(d.loading)&&d.$set("loading",!1),b(d.loadingClass)&&d.$removeClass(d.loadingClass);const t=e.data;200<=e.status&&e.status<=299?(b(d.success)&&i(d.success)(u,{$res:t}),b(d.stateSuccess)&&o.go(d.stateSuccess)):400<=e.status&&e.status<=599&&(b(d.error)&&i(d.error)(u,{$res:t}),b(d.stateError)&&o.go(d.stateError)),w(t)?d.target?u.$eval(`${d.target} = ${JSON.stringify(t)}`):u.$merge(t):E(t)&&v(t,c,u,d,h)};if(b(d.delay)&&await be(0|parseInt(d.delay)),!g)if(b(d.throttle)&&(g=!0,d.$set("throttled",!0),setTimeout(()=>{d.$set("throttled",!1),g=!1},parseInt(d.throttle))),b(d.loading)&&d.$set("loading",!0),b(d.loadingClass)&&d.$addClass(d.loadingClass),"post"===e||"put"===e){let t;const r={};d.enctype?(r.headers={"Content-Type":d.enctype},t=ee(l(h))):t=l(h),n[e](p,t,r).then($).catch($)}else if("get"===e&&d.ngSse){const e=p,n={withCredentials:"true"===d.withCredentials,transformMessage:e=>{try{return JSON.parse(e)}catch{return e}},onOpen:()=>{s.info(`${t}: SSE connection opened to ${e}`),b(d.loading)&&d.$set("loading",!1),b(d.loadingClass)&&d.$removeClass(d.loadingClass)},onMessage:e=>{$({status:200,data:e})},onError:e=>{s.error(`${t}: SSE error`,e);$({status:500,data:e})},onReconnect:e=>{s.info(`ngSse: reconnected ${e} time(s)`),d.onReconnect&&i(d.onReconnect)(u,{$count:e})}},r=a(e,n);u.$on("$destroy",()=>{s.info(`${t}: closing SSE connection`),r.close()})}else n[e](p).then($).catch($)}),m&&u.$on("$destroy",()=>clearInterval(m)),"load"==p&&h.dispatchEvent(new Event("load"))}}}}(e,n);return r.$inject=[Gt.$http,Gt.$compile,Gt.$log,Gt.$parse,Gt.$state,Gt.$sse,Gt.$animate],r}const Yt=Zt("get"),Xt=Zt("delete"),en=Zt("post"),tn=Zt("put"),nn=Zt("get","ngSse");function rn(e){const t=e.tagName.toLowerCase();return["input","textarea","select"].includes(t)?"change":"form"===t?"submit":"click"}function sn(e,t){return{restrict:"A",link(n,r,s){const i=s.ngWorker;if(!i)return void t.warn("ngWorker: missing worker name");const o=s.trigger||rn(r);let a,c=!1;b(s.latch)&&s.$observe("latch",ye(()=>r.dispatchEvent(new Event(o)))),b(s.interval)&&(r.dispatchEvent(new Event(o)),a=setInterval(()=>r.dispatchEvent(new Event(o)),parseInt(s.interval)||1e3));const l=on(i,{onMessage:t=>{if(b(s.dataOnResult))e(s.dataOnResult)(n,{$result:t});else{!function(e,t,n){switch(t){case"outerHTML":{const t=n.parentNode;if(!t)return;const r=document.createElement("div");r.innerHTML=e,t.replaceChild(r.firstChild,n);break}case"textContent":n.textContent=e;break;case"beforebegin":n.insertAdjacentHTML("beforebegin",e);break;case"afterbegin":n.insertAdjacentHTML("afterbegin",e);break;case"beforeend":n.insertAdjacentHTML("beforeend",e);break;case"afterend":n.insertAdjacentHTML("afterend",e);break;default:n.innerHTML=e}}(t,s.swap||"innerHTML",r)}},onError:o=>{t.error(`[ng-worker:${i}]`,o),b(s.dataOnError)?e(s.dataOnError)(n,{$error:o}):r.textContent="Error"}});r.addEventListener(o,async()=>{if(r.disabled)return;if(b(s.delay)&&await be(parseInt(s.delay)||0),c)return;let e;b(s.throttle)&&(c=!0,s.$set("throttled",!0),setTimeout(()=>{s.$set("throttled",!1),c=!1},parseInt(s.throttle)));try{e=s.params?n.$eval(s.params):void 0}catch(n){t.error("ngWorker: failed to evaluate data-params",n),e=void 0}l.post(e)}),a&&n.$on("$destroy",()=>clearInterval(a)),"load"===o&&r.dispatchEvent(new Event("load"))}}}function on(e,t){if(!e)throw new Error("Worker script path required");const n={autoRestart:!1,autoTerminate:!1,onMessage:function(){},onError:function(){},transformMessage:function(e){try{return JSON.parse(e)}catch{return e}}},r=Object.assign({},n,t);let s=new Worker(e,{type:"module"}),i=!1;const o=function(){i||(console.info("Worker: restarting..."),s.terminate(),s=new Worker(e,{type:"module"}),a(s))},a=function(e){e.onmessage=function(e){let t=e.data;try{t=r.transformMessage(t)}catch{}r.onMessage(t,e)},e.onerror=function(e){r.onError(e),r.autoRestart&&o()}};return a(s),{post:function(e){if(i)return console.warn("Worker already terminated");try{s.postMessage(e)}catch(e){console.error("Worker post failed",e)}},terminate:function(){i=!0,s.terminate()},restart:function(){if(i)return console.warn("Worker cannot restart after terminate");o()},config:r}}sn.$inject=[Gt.$parse,Gt.$log];const an="$injector",cn="$compileProvider";class ln{constructor(e,t,n){oe(E(e),"name required"),oe(Array.isArray(t),"requires array required"),this.name=e,this.requires=t,this.invokeQueue=[],this.configBlocks=[],this.runBlocks=[],n&&this.config(n),this.services=[],this.wasmModules=[]}value(e,t){return this.invokeQueue.push([Gt.$provide,"value",[e,t]]),this}constant(e,t){return this.invokeQueue.unshift([Gt.$provide,"constant",[e,t]]),this}config(e){return this.configBlocks.push([an,"invoke",[e]]),this}run(e){return this.runBlocks.push(e),this}component(e,t){return t&&k(t)&&(t.$$moduleName=e),this.invokeQueue.push([cn,"component",[e,t]]),this}factory(e,t){return t&&k(t)&&(t.$$moduleName=e),this.invokeQueue.push([Gt.$provide,"factory",[e,t]]),this}service(e,t){return t&&k(t)&&(t.$$moduleName=e),this.services.push(e),this.invokeQueue.push([Gt.$provide,"service",[e,t]]),this}provider(e,t){return t&&k(t)&&(t.$$moduleName=e),this.invokeQueue.push([Gt.$provide,"provider",[e,t]]),this}decorator(e,t){return t&&k(t)&&(t.$$moduleName=e),this.configBlocks.push([Gt.$provide,"decorator",[e,t]]),this}directive(e,t){return t&&k(t)&&(t.$$moduleName=e),this.invokeQueue.push([cn,"directive",[e,t]]),this}animation(e,t){return t&&k(t)&&(t.$$moduleName=e),this.invokeQueue.push(["$animateProvider","register",[e,t]]),this}filter(e,t){return t&&k(t)&&(t.$$moduleName=e),this.invokeQueue.push(["$filterProvider","register",[e,t]]),this}controller(e,t){return t&&k(t)&&(t.$$moduleName=e),this.invokeQueue.push(["$controllerProvider","register",[e,t]]),this}wasm(e,t,n={},r={}){const s=!!r.raw;return this.invokeQueue.push([Gt.$provide,"provider",[e,function(){this.$get=()=>Ee(t,n).then(e=>s?e:e.exports)}]]),this}worker(e,t,n={}){return this.invokeQueue.push([Gt.$provide,"provider",[e,function(){this.$get=function(){return on(t,n)}}]]),this}session(e,t){return t&&k(t)&&(t.$$moduleName=e),this.invokeQueue.push([Gt.$provide,"session",[e,t]]),this}local(e,t){return t&&k(t)&&(t.$$moduleName=e),this.invokeQueue.push([Gt.$provide,"local",[e,t]]),this}store(e,t,n){return t&&k(t)&&(t.$$moduleName=e),this.invokeQueue.push([Gt.$provide,"store",[e,t,n]]),this}}const un=he(an),hn=/^([^(]+?)=>/,dn=/^[^(]*\(\s*([^)]*)\)/m,pn=/^\s*(_?)(\S+?)\1\s*$/,fn=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm;function $n(e){return Function.prototype.toString.call(e)}function mn(e,t,n){let r,s,i;if("function"==typeof e){if(!(r=e.$inject)){if(r=[],e.length){if(t)throw un("strictdi","{0} is not using explicit annotation and cannot be invoked in strict mode",n);s=function(e){const t=$n(e).replace(fn,"");return t.match(hn)||t.match(dn)}(e),s[1].split(/,/).forEach(function(e){e.replace(pn,function(e,t,n){r.push(n)})})}e.$inject=r}}else Array.isArray(e)?(i=e.length-1,ce(e[i],"fn"),r=e.slice(0,i)):ce(e,"fn",!0);return r}const gn=he(an),vn="Provider",yn=!0;class bn{constructor(e){this.cache={},this.strictDi=e,this.path=[],this.modules={}}get(e){if(ve(this.cache,e)){if(this.cache[e]===yn)throw gn("cdep","Circular dependency found: {0}",`${e} <- ${this.path.join(" <- ")}`);return this.cache[e]}this.path.unshift(e),this.cache[e]=yn;try{this.cache[e]=this.factory(e)}catch(t){throw delete this.cache[e],t}return this.cache[e]}injectionArgs(e,t,n){const r=[],s=mn(e,this.strictDi,n);for(let e=0,{length:n}=s;e<n;e++){const n=s[e];if("string"!=typeof n)throw gn("itkn","Incorrect injection token! Expected service name as string, got {0}",n);r.push(t&&ve(t,n)?t[n]:this.get(n))}return r}invoke(e,t,n,r){"string"==typeof n&&(r=n,n=null);const s=this.injectionArgs(e,n,r);return Array.isArray(e)&&(e=e[e.length-1]),/^class\b/.test($n(e))?(s.unshift(null),new(Function.prototype.bind.apply(e,s))):e.apply(t,s)}instantiate(e,t,n){const r=Array.isArray(e)?e[e.length-1]:e,s=this.injectionArgs(e,t,n);return s.unshift(null),new(Function.prototype.bind.apply(r,s))}loadNewModules(){}factory(e){console.error(`Unhandled ${e}`)}}class wn extends bn{constructor(e,t){super(t),this.cache=e}factory(e){throw this.path.push(e),gn("unpr","Unknown provider: {0}",this.path.join(" <- "))}loadNewModules(){}}class En extends bn{constructor(e,t){super(t),this.providerInjector=e,this.modules=e.modules}factory(e){const t=this.providerInjector.get(e+vn);return this.invoke(t.$get,t,void 0,e)}has(e){const t=ve(this.providerInjector.cache,e+vn),n=ve(this.cache,e);return t||n}loadNewModules(){}}function Cn(e,t,n,r={}){const s=r.serialize||JSON.stringify,i=r.deserialize||JSON.parse,o=n.getItem(t);if(o)try{Object.assign(e,i(o))}catch{console.warn(`Failed to deserialize persisted data for key "${t}"`)}return new Proxy(e,{set(e,r,i){e[r]=i;try{n.setItem(t,s(e))}catch{console.warn(`Failed to persist data for key "${t}"`)}return!0},deleteProperty(e,r){const i=delete e[r];try{n.setItem(t,s(e))}catch{console.warn(`Failed to persist data for key "${t}"`)}return i}})}const Sn=he(an),xn="Provider";function On(e,t=!1){oe(Array.isArray(e),"modules required");const n=new Map,r={$provide:{provider:An(c),factory:An(l),service:An(function(e,t){return l(e,[an,e=>e.instantiate(t)])}),value:An(function(e,t){return r[e+xn]={$get:()=>t}}),constant:An(function(e,t){z(e,"constant"),s.cache[e]=t,i.cache[e]=t}),session:An(function(e,t){return c(e,{$get:n=>Cn(n.instantiate(t),e,sessionStorage)})}),local:An(function(e,t){return c(e,{$get:n=>Cn(n.instantiate(t),e,localStorage)})}),store:An(function(e,t,n){return c(e,{$get:r=>{const s=r.instantiate(t);let i,o=JSON.stringify,a=JSON.parse;return n?"function"==typeof n.getItem?i=n:w(n)&&(i=n.backend||localStorage,n.serialize&&(o=n.serialize),n.deserialize&&(a=n.deserialize)):i=localStorage,Cn(s,e,i,{serialize:o,deserialize:a})}})}),decorator:function(e,t){const n=s.get(e+xn),r=n.$get;n.$get=function(){const e=o.invoke(r,n);return o.invoke(t,null,{$delegate:e})}}}},s=r.$injector=new wn(r,t),i=new En(s,t);r.$injectorProvider={$get:()=>i};let o=i;const a=u(e);return o=i.get(an),a.forEach(e=>e&&o.invoke(e)),o.loadNewModules=e=>u(e).forEach(e=>e&&o.invoke(e)),o;function c(e,t){let n;if(z(e,"service"),n=k(t)||Array.isArray(t)?s.instantiate(t):t,!n.$get)throw Sn("pget","Provider '{0}' must define $get factory method.",e);return r[e+xn]=n,n}function l(e,t){return c(e,{$get:()=>{const n=o.invoke(t,this);if(y(n))throw Sn("undef","Provider '{0}' must return a value from $get factory method.",e);return n}})}function u(e){ae(y(e)||Array.isArray(e),"modulesToLoad","not an array");let t=[];return e.forEach(e=>{if(!n.get(e)){n.set(e,!0);try{if(E(e)){const n=window.angular.module(e);o.modules[e]=n,t=t.concat(u(n.requires)).concat(n.runBlocks);n.invokeQueue.concat(n.configBlocks).forEach(e=>{const t=s.get(e[0]);t[e[1]].apply(t,e[2])})}else k(e)||Array.isArray(e)?t.push(s.invoke(e)):ce(e,"module")}catch(t){throw Array.isArray(e)&&(e=e[e.length-1]),t.message&&t.stack&&-1===t.stack.indexOf(t.message)&&(t.message=`${t.message}\n${t.stack}`),Sn("modulerr","Failed to instantiate module {0} due to:\n{1}",e,t.stack||t.message||t)}}}),t}}function An(e){return function(t,n){if(!w(t))return e(t,n);Object.entries(t).forEach(([t,n])=>{e(t,n)})}}class kn{constructor(e){if(ae(e,"element"),this.initial=null,this._node=null,this._element=void 0,this._nodes=void 0,this.linked=!1,this.isList=!1,E(e)){this.initial=e;let t=qt(e);switch(!0){case t instanceof Element:this.element=t;break;case t instanceof Node:this.node=t}}else if(e instanceof NodeList)this.initial=Array.from(e).map(e=>e.cloneNode(!0)),1==e.length?this.node=e[0]:(this._nodes=Array.from(e),this.isList=!0);else if(e instanceof Element)this.initial=e.cloneNode(!0),this.element=e;else if(e instanceof Node)this.initial=e.cloneNode(!0),this._node=e;else{if(!Array.isArray(e))throw new Error("Invalid element passed to NodeRef");1===e.length?(this.initial=e[0].cloneNode(!0),this.node=e[0]):(this.initial=Array.from(e).map(e=>e.cloneNode(!0)),this.nodes=e)}}get element(){return ae(this._element,"element"),this._element}set element(e){ae(e instanceof Element,"element"),this._element=e,this._nodes=void 0,this.isList=!1}get node(){return ae(this._node||this._element,"node"),this._node||this._element}set node(e){ae(e instanceof Node,"node"),this._node=e,e.nodeType===Node.ELEMENT_NODE?this._element=e:this._element=void 0}set nodes(e){ae(Array.isArray(e)&&e.every(e=>e instanceof Node),"nodes"),this._nodes=e,this.isList=!0}get nodes(){return ae(this._nodes,"nodes"),this._nodes}get nodelist(){if(0===this._nodes.length)return[];if(this._nodes[0].parentElement)return this._nodes[0].parentElement.childNodes;const e=document.createDocumentFragment();return this._nodes.forEach(t=>e.appendChild(t)),e.childNodes}get dom(){return this.isList?this.nodelist:this.node}get size(){return this.isList?this._nodes.length:1}getAny(){return this.isList?this._nodes[0]:this._element||this._node}getAll(){return this.isList?this._nodes:this._element||this._node}collection(){return this.isList?Array.from(this._nodes):[this._element||this._node]}getIndex(e){return this.isList?this._nodes[e]:this.node}setIndex(e,t){ae(null!==e,"index"),ae(t,"node"),this.isList?this._nodes[e]=t:this.node=t}clone(){const e=this.isList?this.nodes.map(e=>e.cloneNode(!0)):this.node.cloneNode(!0);return new kn(e)}isElement(){return void 0!==this._element}}const Tn=he("$controller"),_n=/^(\S+)(\s+as\s+([\w$]+))?$/;function Nn(e,t){if(E(e)){const t=_n.exec(e);if(t)return t[3]}}class jn{constructor(){this.controllers=new Map}has(e){return this.controllers.has(e)}register(e,t){z(e,"controller"),w(e)?Object.entries(e).forEach(([e,t])=>{this.controllers.set(e,t)}):this.controllers.set(e,t)}$get=["$injector",e=>(t,n,r,s)=>{let i,o,a,c=s&&E(s)?s:null;if(r=!0===r,E(t)){if(o=t.match(_n),!o)throw Tn("ctrlfmt","Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.",t);if(a=o[1],c=c||o[3],!(t=this.controllers.get(a)))throw Tn("ctrlreg","The controller with the name '{0}' is not registered.",a);ce(t,a,!0)}if(r){const r=(Array.isArray(t)?t[t.length-1]:t).prototype;return i=Object.create(r||null),c&&(i.$controllerIdentifier=c,this.addIdentifier(n,c,i,a||t.name)),i?.constructor?.$scopename&&(n.$scope.$scopename=i.constructor.$scopename),function(){const r=e.invoke(t,i,n,a);return r!==i&&(w(r)||k(r))&&(i=r,c&&(i.$controllerIdentifier=c,this.addIdentifier(n,c,i,a||t.name))),i}.bind(this,{instance:i,identifier:c})}return i=e.instantiate(t,n,a),c&&this.addIdentifier(n,c,i,a||t.name),i}];addIdentifier(e,t,n,r){if(!e||!w(e.$scope))throw he("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",r,t);e.$scope[t]=n,e.$scope.$controllerIdentifier=t}}const Ln=Rn(window.location.href);function Rn(e){if(!E(e))return e;const t=new URL(e,window.location.href),n=t.hostname.includes(":")?`[${t.hostname}]`:t.hostname;return{href:t.href,protocol:t.protocol,host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:n,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:`/${t.pathname}`}}function Vn(e,t){return e=Rn(e),t=Rn(t),e.protocol===t.protocol&&e.host===t.host}function Mn(e){return e.replace(/#$/,"")}const Pn=he("$sce"),Dn={HTML:"html",CSS:"css",MEDIA_URL:"mediaUrl",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"};function Un(e){if("self"===e)return e;if(E(e)){if(e.indexOf("***")>-1)throw Pn("iwcard","Illegal sequence *** in string matcher. String: {0}",e);return e=(t=e,t.replace(/([-()[\]{}+?*.$^|,:#<!\\])/g,"\\$1")).replace(/\\\*\\\*/g,".*").replace(/\\\*/g,"[^:/.?&;]*"),new RegExp(`^${e}$`)}var t;if(T(e))return new RegExp(`^${e.source}$`);throw Pn("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}class In{constructor(){let e=["self"],t=[];this.trustedResourceUrlList=function(t){return arguments.length&&(e=t.map(e=>Un(e))),e},this.bannedResourceUrlList=function(e){return arguments.length&&(t=e.map(e=>Un(e))),t},this.$get=[Gt.$injector,Gt.$$sanitizeUri,Gt.$exceptionHandler,function(n,r,s){let i=function(){s(Pn("unsafe","Attempting to use an unsafe value in a safe context."))};function o(e,t){return"self"===e?Vn(t,Ln)||function(e){return Vn(e,document.baseURI)}(t):!!e.exec(t.href)}function a(e){const t=function(e){this.$$unwrapTrustedValue=function(){return e}};return e&&(t.prototype=new e),t.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},t.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},t}n.has("$sanitize")&&(i=n.get("$sanitize"));const c=a(),l={};return l[Dn.HTML]=a(c),l[Dn.CSS]=a(c),l[Dn.MEDIA_URL]=a(c),l[Dn.URL]=a(l[Dn.MEDIA_URL]),l[Dn.JS]=a(c),l[Dn.RESOURCE_URL]=a(l[Dn.URL]),{trustAs:function(e,t){const n=ve(l,e)?l[e]:null;if(n){if(null===t||y(t)||""===t)return t;if("string"==typeof t)return new n(t);s(Pn("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",e))}else s(Pn("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",e,t))},getTrusted:function(n,a){if(null===a||y(a)||""===a)return a;const c=ve(l,n)?l[n]:null;return c&&a instanceof c?a.$$unwrapTrustedValue():(k(a.$$unwrapTrustedValue)&&(a=a.$$unwrapTrustedValue()),n===Dn.MEDIA_URL||n===Dn.URL?r(a.toString(),n===Dn.MEDIA_URL):n===Dn.RESOURCE_URL?function(n){const r=Rn(n.toString());let s,i,a=!1;for(s=0,i=e.length;s<i;s++)if(o(e[s],r)){a=!0;break}if(a)for(s=0,i=t.length;s<i;s++)if(o(t[s],r)){a=!1;break}return a}(a)?a:void s(Pn("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}",a.toString())):n===Dn.HTML?i():void s(Pn("unsafe","Attempting to use an unsafe value in a safe context.")))},valueOf:function(e){return e instanceof c?e.$$unwrapTrustedValue():e}}}]}}function Hn(){let e=!0;this.enabled=function(t){return arguments.length&&(e=!!t),e},this.$get=[Gt.$parse,Gt.$sceDelegate,(t,n)=>{const r=ie(Dn);r.isEnabled=function(){return e},r.trustAs=n.trustAs,r.getTrusted=n.getTrusted,r.valueOf=n.valueOf,e||(r.trustAs=r.getTrusted=function(e,t){return t},r.valueOf=function(e){return e}),r.parseAs=(e,n)=>{const s=t(n);return s.literal&&s.constant?s:t(n,t=>r.getTrusted(e,t))};const s=r.parseAs,{getTrusted:i}=r,{trustAs:o}=r;return Object.entries(Dn).forEach(([e,t])=>{const n=e.toLowerCase();r[Ct(`parse_as_${n}`)]=function(e){return s(t,e)},r[Ct(`get_trusted_${n}`)]=function(e){return i(t,e)},r[Ct(`trust_as_${n}`)]=function(e){return o(t,e)}}),r}]}const Fn={};function qn(e,t,n,r){return{restrict:"A",compile(s,i){const o=e(i[n]);return(e,n)=>{const s=n=>{try{o(e,{$event:n})}catch(e){t(e)}};n.addEventListener(r,s),e.$on("$destroy",()=>n.removeEventListener(r,s))}}}}function Bn(e,t,n,r,s){return{restrict:"A",compile(i,o){const a=e(o[r]);return e=>{const r=n=>{try{a(e,{$event:n})}catch(e){t(e)}};n.addEventListener(s,r),e.$on("$destroy",()=>n.removeEventListener(s,r))}}}}"click copy cut dblclick focus blur keydown keyup load mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup paste submit touchstart touchend touchmove".split(" ").forEach(e=>{const t=$e(`ng-${e}`);Fn[t]=[Gt.$parse,Gt.$exceptionHandler,(n,r)=>qn(n,r,t,e)]});const zn=he("$compile"),Wn=/^\w/,Kn=document.createElement("div");class Qn{static $nonscope=!0;constructor(e,t,n,r,s,i){if(this.$rootScope=e,this.$animate=t,this.$exceptionHandler=n,this.$sce=r,i){const e=Object.keys(i);for(let t=0,n=e.length;t<n;t++){const n=e[t];this[n]=i[n]}}else this.$attr={};this.$nodeRef=s}get $$element(){return this.$nodeRef.node}$normalize=$e;$addClass(e){e&&e.length>0&&(me(this.$$element)?this.$animate.addClass(this.$$element,e):this.$nodeRef.element.classList.add(e))}$removeClass(e){e&&e.length>0&&(me(this.$$element)?this.$animate.removeClass(this.$$element,e):this.$nodeRef.element.classList.remove(e))}$updateClass(e,t){const n=Gn(e,t);n&&n.length&&(me(this.$$element)?this.$animate.addClass(this.$$element,n):this.$nodeRef.element.classList.add(...n.trim().split(/\s+/)));const r=Gn(t,e);r&&r.length&&(me(this.$$element)?this.$animate.removeClass(this.$$element,r):this.$nodeRef.element.classList.remove(...r.trim().split(/\s+/)))}$set(e,t,n,r){const s=It(this.$$element,e),i=h[e];let o=e;if(s?(this.$$element[e]=t,r=s):i&&(this[i]=t,o=i),this[e]=t,r?this.$attr[e]=r:(r=this.$attr[e])||(this.$attr[e]=r=V(e,"-")),"img"===this.$nodeRef.node.nodeName.toLowerCase()&&"srcset"===e&&(this[e]=t=this.sanitizeSrcset(t,"$set('srcset', value)")),!1!==n){let e=p(this.$$element)?this.$$element.$target:this.$$element;null===t||y(t)?e.removeAttribute(r):Wn.test(r)?s&&!1===t?e.removeAttribute(r):s?e.toggleAttribute(r,t):e.setAttribute(r,t):this.setSpecialAttr(this.$$element,r,t)}const{$$observers:a}=this;a&&a[o]&&a[o].forEach(e=>{try{e(t)}catch(e){this.$exceptionHandler(e)}})}$observe(e,t){const n=this.$$observers||(this.$$observers=Object.create(null)),r=n[e]||(n[e]=[]);return r.push(t),r.$$inter||!ve(this,e)||y(this[e])||t(this[e]),function(){F(r,t)}}setSpecialAttr(e,t,n){Kn.innerHTML=`<span ${t}>`;const{attributes:r}=Kn.firstChild,s=r[0];r.removeNamedItem(s.name),s.value=n,e.attributes.setNamedItem(s)}sanitizeSrcset(e,t){let n;if(!e)return e;if(!E(e))throw zn("srcset",'Can\'t pass trusted values to `{0}`: "{1}"',t,e.toString());let r="";const s=R(e),i=/\s/.test(s)?/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/:/(,)/,o=s.split(i),a=Math.floor(o.length/2);for(n=0;n<a;n++){const e=2*n;r+=this.$sce.getTrustedMediaUrl(R(o[e])),r+=" "+R(o[e+1])}const c=R(o[2*n]).split(/\s/);return r+=this.$sce.getTrustedMediaUrl(R(c[0])),2===c.length&&(r+=" "+R(c[1])),r.replace(/unsafe:unsafe/g,"unsafe")}}function Gn(e,t){const n=new Set(e.split(/\s+/)),r=new Set(t.split(/\s+/));return Array.from(n).filter(e=>!r.has(e)).join(" ")}function Jn(e,t){return{restrict:"A",compile:()=>(n,r)=>{""===t&&(t=e);const s=Et(t);n[s]||(n[s]=r.getAttribute(e));const i=new MutationObserver(t=>{const r=t[0].target.getAttribute(e);n[s]!==r&&(n[s]=r)});i.observe(r,{attributes:!0,attributeFilter:[e]}),n.$on("$destroy",()=>{i.disconnect()})}}}const Zn=he("$compile"),Yn=["ngIf","ngRepeat"],Xn=["ngSrc","ngSrcset","src","srcset"],er=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,tr=/^(on[a-z]+|formaction)$/,nr="Directive";class rr{static $inject=[Gt.$provide,Gt.$$sanitizeUriProvider];constructor(e,t){const n={},r=Object.create(null);function s(e,t,n){const s=/^([@&]|[=<]())(\??)\s*([\w$]*)$/,i=Object.create(null);return Object.entries(e).forEach(([e,o])=>{if((o=o.trim())in r)return void(i[e]=r[o]);const a=o.match(s);if(!a)throw Zn("iscp","Invalid {3} for directive '{0}'. Definition: {... {1}: '{2}' ...}",t,e,o,n?"controller bindings definition":"isolate scope definition");i[e]={mode:a[1][0],collection:"*"===a[2],optional:"?"===a[3],attrName:a[4]||e},a[4]&&(r[o]=i[e])}),i}function i(e,t){const n={isolateScope:null,bindToController:null};if(w(e.scope)&&(!0===e.bindToController?(n.bindToController=s(e.scope,t,!0),n.isolateScope={}):n.isolateScope=s(e.scope,t,!1)),w(e.bindToController)&&(n.bindToController=s(e.bindToController,t,!0)),n.bindToController&&!e.controller)throw Zn("noctrl","Cannot bind to controller without directive '{0}'s controller.",t);return n}this.directive=function t(r,s){return ae(r,"name"),z(r,"directive"),E(r)?(!function(e){const t=e.charAt(0);if(!t||t!==t.toLowerCase())throw Zn("baddir","Directive/Component name '{0}' is invalid. The first character must be a lowercase letter",e);if(e!==e.trim())throw Zn("baddir","Directive/Component name '{0}' is invalid. The name should not contain leading or trailing whitespaces",e)}(r),ae(s,"directiveFactory"),ve(n,r)||(n[r]=[],e.factory(r+nr,["$injector","$exceptionHandler",function(e,t){const s=[];return n[r].forEach((n,i)=>{try{let t=e.invoke(n);const o=e=>()=>e;k(t)?t={compile:o(t)}:!t.compile&&t.link&&(t.compile=o(t.link)),t.priority=t.priority||0,t.index=i,t.name=t.name||r,t.require=function(e){const t=e.require||e.controller&&e.name;return!Array.isArray(t)&&w(t)&&Object.entries(t).forEach(([e,n])=>{const r=n.match(er);n.substring(r[0].length)||(t[e]=r[0]+e)}),t}(t),t.restrict=function(e,t){if(e&&(!E(e)||!/[EA]/.test(e)))throw Zn("badrestrict","Restrict property '{0}' of directive '{1}' is invalid",e,t);return e||"EA"}(t.restrict,r),t.$$moduleName=n.$$moduleName,s.push(t)}catch(e){t(e)}}),s}])),n[r].push(s)):Object.entries(r).forEach(([e,n])=>t(e,n)),this},this.component=function(e,t){if(!E(e))return Object.entries(e).forEach(([e,t])=>this.component(e,t)),this;const n=t.controller||function(){};function r(e){function r(t){return k(t)||Array.isArray(t)?function(n,r){return e.invoke(t,this,{$element:n,$attrs:r})}:t}const s=t.template||t.templateUrl?t.template:"",i={controller:n,controllerAs:Nn(t.controller)||t.controllerAs||"$ctrl",template:r(s),templateUrl:r(t.templateUrl),transclude:t.transclude,scope:{},bindToController:t.bindings||{},restrict:"E",require:t.require};return Object.entries(t).forEach(([e,t])=>{"$"===e.charAt(0)&&(i[e]=t)}),i}return Object.entries(t).forEach(([e,t])=>{"$"===e.charAt(0)&&(r[e]=t,k(n)&&(n[e]=t))}),r.$inject=["$injector"],this.directive(e,r)},this.aHrefSanitizationTrustedUrlList=function(e){if(!b(e))return t.aHrefSanitizationTrustedUrlList();t.aHrefSanitizationTrustedUrlList(e)},this.imgSrcSanitizationTrustedUrlList=function(e){if(!b(e))return t.imgSrcSanitizationTrustedUrlList();t.imgSrcSanitizationTrustedUrlList(e)};let o=!1;this.strictComponentBindingsEnabled=function(e){return b(e)?(o=e,this):o};const a=Object.create(null);this.addPropertySecurityContext=function(e,t,n){const r=`${e.toLowerCase()}|${t.toLowerCase()}`;if(r in a&&a[r]!==n)throw Zn("ctxoverride","Property context '{0}.{1}' already set to '{2}', cannot override to '{3}'.",e,t,a[r],n);return a[r]=n,this},function(){function e(e,t){t.forEach(t=>{a[t.toLowerCase()]=e})}e(Dn.HTML,["iframe|srcdoc","*|innerHTML","*|outerHTML"]),e(Dn.CSS,["*|style"]),e(Dn.URL,["area|href","area|ping","a|href","a|ping","blockquote|cite","body|background","del|cite","input|src","ins|cite","q|cite"]),e(Dn.MEDIA_URL,["audio|src","img|src","img|srcset","source|src","source|srcset","track|src","video|src","video|poster"]),e(Dn.RESOURCE_URL,["*|formAction","applet|code","applet|codebase","base|href","embed|src","frame|src","form|action","head|profile","html|manifest","iframe|src","link|href","media|src","object|codebase","object|data","script|src"])}(),this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$sce","$animate",function(e,t,r,s,c,u,h,d,f){let $;function m(){for(let e=0,t=$.length;e<t;++e)try{$[e]()}catch(e){r(e)}$=void 0}const g=t.startSymbol(),v=t.endSymbol(),C="{{"===g&&"}}"===v?e=>e:e=>e.replace(/\{\{/g,g).replace(/}}/g,v),S=/^ng(Attr|Prop|On|Observe|Window)([A-Z].*)$/;return x;function x(e,t,n,r,s){let i=new kn(e),o=O(i,t,n,r,s),a=null;return function(e,t,n){if(!i)throw Zn("multilink","This element has already been linked.");ae(e,"scope"),i.getAny()&&Lt(i.getAny(),e);s&&s.needsNewScope&&(e=e.$parent.$new());n=n||{};let r,{transcludeControllers:c,parentBoundTranscludeFn:l,futureParentElement:u}=n;l&&l.$$boundTransclude&&(l=l.$$boundTransclude);a||(a=function(e){const t=e;if(!t)return"html";return"foreignobject"!==I(t)&&toString.call(t).match(/SVG/)?"svg":"html"}(u));if("html"!==a){const e=qt("<div></div>");e.append(i.node);const t=Q(a,e.innerHTML);r=new kn(t[0])}else r=t?i.clone():i;if(c)for(const e in c)ae(r.element,"element"),_t(r.element,`$${e}Controller`,c[e].instance);t&&t(r.dom,e);o&&o(e,r,l);t||(i=o=null);return r.linked=!0,r.getAll()}}function O(e,t,n,s,i){const o=[];let a,c=!1;for(let l=0;l<e.size;l++){const u=new Qn(h,f,r,d),p=_(e.getIndex(l),u,0===l?n:void 0,s);let $,m,g;p.length&&($=V(p,e.getIndex(l),u,t,null,[],[],Object.assign({},i,{index:l,parentNodeRef:e,ctxNodeRef:e})));let v=$?.nodeLinkFn;if(v&&$.terminal||!(g=e.getIndex(l).childNodes)||!g.length)m=null;else{let e=v?($.transcludeOnThisElement||!$.templateOnThisElement)&&$.transclude:t;m=O(new kn(g),e)}(v||m)&&(o.push({index:l,nodeLinkFnCtx:$,childLinkFn:m}),c=!0,a=a||v),i=null}return c?function(n,r,s){ae(r,"nodeRef");let i=[];if(a){const t=r.isList?r.nodes.length:1;i=new Array(t),o.forEach(t=>{let n=t.index;0===n?i[n]=r.isList?r.nodes[n]:r.node:e.getIndex(n)&&(i[n]=r.nodes[n])})}else r.isList?r.nodes.forEach(e=>i.push(e)):i.push(r.node);o.forEach(({index:e,nodeLinkFnCtx:r,childLinkFn:o})=>{const a=i[e];let c,l;a.stable=!0,r?.nodeLinkFn?(c=r.newScope?n.$new():n,l=r.transcludeOnThisElement?T(n,r.transclude,s):!r.templateOnThisElement&&s?s:!s&&t?T(n,t):null,r?.newScope&&Lt(a,c),r.nodeLinkFn(o,c,a,l)):o&&o(n,new kn(a.childNodes),s)})}:null}function T(e,t,n){function r(r,s,i,o,a){r||((r=e.$transcluded(a)).$$transcluded=!0);return t(r,s,{parentBoundTranscludeFn:n,transcludeControllers:i,futureParentElement:o})}const s=r.$$slots=Object.create(null);for(const r in t.$$slots)t.$$slots[r]?s[r]=T(e,t.$$slots[r],n):s[r]=null;return r}function _(e,n,s,i){const o=[],{nodeType:a}=e,u=n.$attr;let h;switch(a){case Node.ELEMENT_NODE:h=e.nodeName.toLowerCase(),i!==$e(h)&&H(o,$e(h),"E",s);for(let t=0;t<e.attributes?.length;t++){let a=!1,h=!1,d=!1,p=!1,f=!1,$=e.attributes[t],m=$.name,g=$.value,v=$e(m.toLowerCase());const y=v.match(S);y&&(a="Attr"===y[1],h="Prop"===y[1],d="On"===y[1],p="Observe"===y[1],f="Window"===y[1],m=m.replace(l,"").toLowerCase().substring(4+y[1].length).replace(/_(.)/g,(e,t)=>t.toUpperCase())),h||d||f?(n[v]=g,u[v]=$.name,h?J(e,o,v,m):d?o.push(qn(c,r,v,m)):o.push(Bn(c,r,window,v,m))):p?o.push(Jn(m,g)):(v=$e(m.toLowerCase()),u[v]=m,!a&&ve(n,v)||(n[v]=g,It(e,v)&&(n[v]=!0)),Z(e,o,g,v,a),v!==i&&H(o,v,"A",s))}"input"===h&&"hidden"===e.getAttribute("type")&&e.setAttribute("autocomplete","off");break;case Node.TEXT_NODE:!function(e,n){const r=t(n,!0);r&&e.push({priority:0,compile:()=>(e,t)=>{r.expressions.forEach(n=>{e.$watch(n,()=>{const n=r(p(e)?e.$target:e);if(1===t.nodeType)t.innerHTML=n;else t.nodeValue=n})})}})}(o,e.nodeValue)}return o.sort(W),o}function L(e,t,n,r,s,i){let o;return e?x(t,n,r,s,i):function(){return o||(o=x(t,n,r,s,i),t=n=i=null),o.apply(this,arguments)}}function V(e,t,n,s,i,o,a,c){c=c||{};let l=-Number.MAX_VALUE,p=!1,{newScopeDirective:$,controllerDirectives:m,newIsolateScopeDirective:g,templateDirective:v,nonTlbTranscludeDirective:b,hasElementTranscludeDirective:S,ctxNodeRef:x,parentNodeRef:O}=c,A=!1,T=!1,j=new kn(t);const V=c.index;let D,H,q;n.$nodeRef=j;let B,W=i,J=s,Z=!1,ee=!1,ne=function(e,s,i,c){let l,p,v,b,E,C,x,O,A,T=s;t===i?(O=n,x=n.$nodeRef):(x=new kn(i),O=new Qn(h,f,r,d,x,n)),b=s,g?v=s.$newIsolate():$&&(b=s.$parent),c&&(C=function(e,t,n,r){let s;N(e)||(r=n,n=t,t=e,e=void 0);S&&(s=E);n||(n=S?x.node.parentElement:x.node);if(!r)return c(e,t,s,n,T);{const i=c.$$slots[r];if(i)return i(e,t,s,n,T);if(y(i))throw Zn("noslot",'No parent directive that requires a transclusion with slot name "{0}". Element: {1}',r,Dt(x.element))}},C.$$boundTransclude=c,C.isSlotFilled=function(e){return!!c.$$slots[e]}),m&&(E=function(e,t,n,r,s,i,o){const a=Object.create(null);for(const c in r){const l=r[c],h={$scope:l===o||l.$$isolateScope?s:i,$element:e.node,$attrs:t,$transclude:n};let{controller:d}=l;"@"===d&&(d=t[l.name]);const p=u(d,h,!0,l.controllerAs);a[l.name]=p,e.isElement()&&_t(e.element,`$${l.name}Controller`,p.instance)}return a}(x,O,C,m,v,s,g)),g&&(v.$target.$$isolateBindings=g.$$isolateBindings,A=te(s,O,v,v.$$isolateBindings,g),A.removeWatches&&v.$on("$destroy",A.removeWatches));for(const e in E){const t=m[e],n=E[e],r=t.$$bindings.bindToController,s=n();n.instance=b.$new(s),_t(x.node,`$${t.name}Controller`,n.instance),n.bindingInfo=te(b,O,n.instance,r,t)}for(m&&Object.entries(m).forEach(([e,t])=>{const{require:n}=t;t.bindToController&&!Array.isArray(n)&&w(n)&&M(E[e].instance,P(e,n,x.element,E))}),E&&Object.values(E).forEach(e=>{const t=e.instance;if(k(t.$onChanges))try{t.$onChanges(e.bindingInfo.initialChanges)}catch(e){r(e)}if(k(t.$onInit))try{t.$target.$onInit()}catch(e){r(e)}k(t.$onDestroy)&&b.$on("$destroy",()=>{t.$onDestroy()})}),l=0,p=o.length;l<p;l++){let e=o[l];const t=e.require&&P(e.directiveName,e.require,x.element,E);try{e(e.isolateScope?v:s,x.node,O,t,C)}catch(e){r(e,Dt(x.getAny()))}}for(g&&(g.template||null===g.templateUrl)&&(T=v),e&&i&&i.childNodes&&i.childNodes.length&&e(T,new kn(i.childNodes),c),l=a.length-1;l>=0;l--){let e=a[l];const t=e.require&&P(e.directiveName,e.require,x.node,E);try{e.isolateScope&&Rt(x.element,v),e(e.isolateScope?v:s,x.node,O,t,C)}catch(e){r(e,Dt(x.getAny()))}}E&&Object.values(E).forEach(e=>{const t=e.instance;k(t.$postLink)&&t.$postLink()})};for(let i=0,u=e.length;i<u&&(D=e[i],q=void 0,!(l>D.priority));i++){B=D.scope,B&&(D.templateUrl||(w(B)?(K("new/isolated scope",g||$,D,j),g=D):K("new/isolated scope",g,D,j)),$=$||D),H=D.name;const h=D.replace&&(D.templateUrl||D.template),d=D.transclude&&!Yn.includes(D.name);if(!Z&&(h||d)){let t;for(let n=i+1;t=e[n++];)if(t.transclude&&!Yn.includes(t.name)||t.replace&&(t.templateUrl||t.template)){ee=!0;break}Z=!0}if(!D.templateUrl&&D.controller&&(m=m||Object.create(null),K(`'${H}' controller`,m[H],D,j),m[H]=D),B=D.transclude,B)if(A=!0,Yn.includes(D.name)||(K("transclusion",b,D,j),b=D),"element"===B)S=!0,l=D.priority,q=j,j=new kn(document.createComment("")),n.$nodeRef=j,t=j.node,x.node=t,Y(new kn(q.getAny()),t,V),J=L(ee,q.getAny(),s,l,W&&W.name,{nonTlbTranscludeDirective:b});else{const e=Object.create(null);if(w(B)){q=document.createDocumentFragment();const t=Object.create(null),n=Object.create(null);Object.entries(B).forEach(([r,s])=>{const i="?"===s.charAt(0);s=i?s.substring(1):s,t[s]=r,e[r]=null,n[r]=i}),j.element.childNodes.forEach(r=>{const s=t[$e(I(r))];s?(n[s]=!0,e[s]=e[s]||document.createDocumentFragment(),e[s].appendChild(r)):q.appendChild(r)}),Object.entries(n).forEach(([e,t])=>{if(!t)throw Zn("reqslot","Required transclusion slot `{0}` was not filled.",e)});for(const t in e)if(e[t]){const n=e[t].childNodes;e[t]=L(ee,n,s)}q=q.childNodes}else q=t.cloneNode(!0).childNodes;zt(t),J=L(ee,q,s,void 0,void 0,{needsNewScope:D.$$isolateScope||D.$$newScope}),J.$$slots=e}if(D.template)if(T=!0,K("template",v,D,j),v=D,B=k(D.template)?D.template(j.node,n):D.template,B=C(B),D.replace){if(W=D,q=Ot(B)?[]:sr(Q(D.templateNamespace,R(B))),E(q)&&(q=Array.from(Bt(q)).filter(e=>e.nodeType===Node.ELEMENT_NODE)),t=q[0],1!==q.length||t.nodeType!==Node.ELEMENT_NODE)throw Zn("tplrt","Template for directive '{0}' must have exactly one root element. {1}",H,"");Y(j,t),O&&O.setIndex(V,t);const r={$attr:{}},s=_(t,r),o=e.splice(i+1,e.length-(i+1));(g||$)&&U(s,g,$),e=e.concat(s).concat(o),F(n,r),u=e.length}else j.isElement()&&(j.element.innerHTML=B);if(D.templateUrl)T=!0,K("template",v,D,j),v=D,D.replace&&(W=D),ne=z(e.splice(i,e.length-i),j,n,t,A&&J,o,a,{index:V,controllerDirectives:m,newScopeDirective:$!==D&&$,newIsolateScopeDirective:g,templateDirective:v,nonTlbTranscludeDirective:b,futureParentElement:c.futureParentElement}),u=e.length;else if(D.compile)try{const e=D.compile(j.getAny(),n,J),t=D.$$originalDirective||D;k(e)?re(null,G(t,e)):e&&re(G(t,e.pre),G(t,e.post))}catch(e){r(e,Dt(j.getAny()))}D.terminal&&(p=!0,l=Math.max(l,D.priority))}return c.hasElementTranscludeDirective=S,{nodeLinkFn:ne,terminal:p,transclude:J,transcludeOnThisElement:A,templateOnThisElement:T,newScope:$&&!0===$.scope};function re(e,t){e&&(e.require=D.require,e.directiveName=H,(g===D||D.$$isolateScope)&&(e=X(e,{isolateScope:!0})),o.push(e)),t&&(t.require=D.require,t.directiveName=H,(g===D||D.$$isolateScope)&&(t=X(t,{isolateScope:!0})),a.push(t))}}function P(e,t,n,r){let s;if(E(t)){const i=t.match(er),o=t.substring(i[0].length),a=i[1]||i[3],c="?"===i[2];if("^^"===a?n=n.parentElement?n.parentElement:void 0:(s=r&&r[o],s=s&&s.instance),!s){const e=`$${o}Controller`;s="^^"===a&&n&&n.nodeType===Node.DOCUMENT_NODE?null:n?a?Mt(n,e):Nt(n,e):void 0}if(!s&&!c)throw Zn("ctreq","Controller '{0}', required by directive '{1}', can't be found!",o,e)}else if(Array.isArray(t)){s=[];for(let i=0,o=t.length;i<o;i++)s[i]=P(e,t[i],n,r)}else w(t)&&(s={},Object.entries(t).forEach(([t,i])=>{s[t]=P(e,i,n,r)}));return s||null}function U(e,t,n){for(let r=0,s=e.length;r<s;r++)e[r]=D(e[r],{$$isolateScope:t,$$newScope:n})}function H(t,r,s,o){let a=!1;if(ve(n,r))for(let n,c=e.get(r+nr),l=0,u=c.length;l<u;l++)if(n=c[l],(y(o)||o>n.priority)&&-1!==n.restrict.indexOf(s)){if(!n.$$bindings){const e=n.$$bindings=i(n,n.name);w(e.isolateScope)&&(n.$$isolateBindings=e.isolateScope)}t.push(n),a=n}return a}function F(e,t){const n=t.$attr,r=e.$attr;Object.entries(e).forEach(([r,s])=>{"$"!==r.charAt(0)&&(t[r]&&t[r]!==s&&(s.length?s+=("style"===r?";":" ")+t[r]:s=t[r]),e.$set(r,s,!0,n[r]))}),Object.entries(t).forEach(([t,s])=>{ve(e,t)||"$"===t.charAt(0)||(e[t]=s,"class"!==t&&"style"!==t&&(r[t]=n[t]))})}function z(e,t,n,i,o,a,c,l){let u,h,d,p=[];const f=t.getAny(),$=e.shift(),m=D($,{templateUrl:null,transclude:null,replace:null,$$originalDirective:$});let g;g=k($.templateUrl)?$.templateUrl(t.element,n):$.templateUrl;const{templateNamespace:v}=$;return zt(t.element),s(g).then(r=>{let s,y,b,S;if(r=C(r),$.replace){if(b=Ot(r)?[]:E(r)?Array.from(Bt(r)).filter(e=>e.nodeType!==Node.COMMENT_NODE&&e.nodeType!==Node.TEXT_NODE):sr(Q(v,R(r))),s=b[0],1!==b.length||s.nodeType!==Node.ELEMENT_NODE)throw Zn("tplrt","Template for directive '{0}' must have exactly one root element. {1}",$.name,g);y={$attr:{}},Y(t,s,l.index);const i=_(s,y);w($.scope)&&U(i,!0),e=i.concat(e),F(n,y)}else s=f,t.element.innerHTML=r;for(e.unshift(m),d=V(e,s,n,o,$,a,c,{...l,ctxNodeRef:t}),u=d?.nodeLinkFn,i&&Object.entries(i).forEach(([e,n])=>{n===s&&(i[e]=t)}),h=O(new kn(t.getAny().childNodes),o);p.length;){const e=p.shift(),n=p.shift(),r=p.shift();let i=t.getAny();if(!e.$$destroyed){if(n!==f){const e=n.className;l.hasElementTranscludeDirective&&$.replace||(i=s.cloneNode(!0),n.appendChild(i));try{""!==e&&t.element.classList.forEach(e=>n.classList.add(e))}catch{}}S=d.transcludeOnThisElement?T(e,d.transclude,r):r,u(h,e,i,S)}}p=null}).catch(e=>{A(e)?r(e):r(new Error(e))}),function(e,t,n,r,s){let i=s;t.$$destroyed||(p?p.push(t,n,r):(u.transcludeOnThisElement&&(i=T(t,u.transclude,s)),u(h,t,n,r,i)))}}function W(e,t){const n=t.priority-e.priority;return 0!==n?n:e.name!==t.name?e.name<t.name?-1:1:e.index-t.index}function K(e,t,n,r){function s(e){return e?` (module: ${e})`:""}if(t)throw Zn("multidir","Multiple directives [{0}{1}, {2}{3}] asking for {4} on: {5}",t.name,s(t.$$moduleName),n.name,s(n.$$moduleName),e,Dt(r.getAny()))}function Q(e,t){switch(e=(e||"html").toLowerCase()){case"svg":case"math":{const n=document.createElement("div");return n.innerHTML=`<${e}>${t}</${e}>`,n.childNodes[0].childNodes}default:return t}}function J(e,t,n,r){if(tr.test(r))throw Zn("nodomevents","Property bindings for HTML DOM event properties are disallowed");const s=I(e),i=function(e,t){const n=t.toLowerCase();return a[`${e}|${n}`]||a[`*|${n}`]}(s,r);let o=e=>e;"srcset"!==r||"img"!==s&&"source"!==s?i&&(o=d.getTrusted.bind(d,i)):o=e=>function(e,t){if(!e)return e;if(!E(e))throw Zn("srcset",'Can\'t pass trusted values to `{0}`: "{1}"',t,e.toString());let n="";const r=R(e),s=/\s/.test(r)?/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/:/(,)/,i=r.split(s),o=Math.floor(i.length/2);let a;for(a=0;a<o;a++){const e=2*a;n+=d.getTrustedMediaUrl(R(i[e])),n+=" "+R(i[e+1])}const c=R(i[2*a]).split(/\s/);return n+=d.getTrustedMediaUrl(R(c[0])),2===c.length&&(n+=" "+R(c[1])),n}(d.valueOf(e),"ng-prop-srcset"),t.push({priority:100,compile:function(e,t){const s=c(t[n]);return{pre:function(e,i){function a(){const t=s(e);i[r]=o(t)}a(),e.$watch(r,a),e.$watch(t[n],e=>{d.valueOf(e),a()})}}}})}function Z(e,n,r,s,i){const o=I(e),a=function(e,t){return"srcdoc"===t?d.HTML:"src"===t||"ngSrc"===t?-1===["img","video","audio","source","track"].indexOf(e)?d.RESOURCE_URL:d.MEDIA_URL:"xlinkHref"===t?"image"===e?d.MEDIA_URL:"a"===e?d.URL:d.RESOURCE_URL:"form"===e&&"action"===t||"base"===e&&"href"===t||"link"===e&&"href"===t?d.RESOURCE_URL:"a"!==e||"href"!==t&&"ngHref"!==t?void 0:d.URL}(o,s),c=!i,l=Xn.includes(s)||i;let u=t(r,c,a,l);if(u){if("multiple"===s&&"select"===o)throw Zn("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",Dt(e.outerHTML));if(tr.test(s))throw Zn("nodomevents","Interpolations for HTML DOM event attributes are disallowed");n.push({priority:100,compile:()=>({pre:function(e,n,i){const o=i.$$observers||(i.$$observers=Object.create(null)),c=i[s];c!==r&&(u=c&&t(c,!0,a,l),r=c),u&&(i[s]=u(e),(o[s]||(o[s]=[])).$$inter=!0,u.expressions.forEach(t=>{(i.$$observers&&i.$$observers[s].$$scope||e).$watch(t,()=>{let t=u(e);"class"===s?i.$updateClass(t,i.$$element.classList.value):i.$set(s,"srcset"===s?d.getTrustedMediaUrl(t):t)})}),0==u.expressions.length&&i.$set(s,"srcset"===s?d.getTrustedMediaUrl(c):c))}})})}}function Y(e,t,n){const r=e.getAny().parentNode;if(r)if(b(n)){const e=r.childNodes[n];e&&r.replaceChild(t,e)}else r.insertBefore(t,r.firstChild);const s=document.createDocumentFragment();e.collection().forEach(e=>{s.appendChild(e)}),e.node=t}function X(e,t){return M(function(){return e.apply(null,arguments)},e,t)}function ee(e,t){if(o)throw Zn("missingattr","Attribute '{0}' of '{1}' is non-optional and must be set!",e,t)}function te(e,n,r,s,i){const o=[],a={};let l;function u(t,n,s){k(r.$onChanges)&&($||(e.$postUpdate(m),$=[]),l||(l={},$.push(h)),l[t]={currentValue:n,firstChange:s})}function h(){r.$onChanges&&l&&r.$onChanges(l),l=void 0}return s&&Object.entries(s).forEach(([s,l])=>{const{attrName:d,optional:p,mode:f}=l;let $,m,g,v,C,S=!0,x=!0;switch(f){case"@":p||ve(n,d)||(ee(d,i.name),r[s]=n[d]=void 0),C=n.$observe(d,e=>{(E(e)||j(e))&&(u(s,e,x),r[s]=e,S?S=!1:(h(),x=!1))}),n.$$observers[d].$$scope=e,$=n[d],E($)?r[s]=t($)(e):j($)&&(r[s]=$),a[s]={currentValue:r[s],firstChange:!0},o.push(C);break;case"=":{if(!ve(n,d)){if(p)break;ee(d,i.name),n[d]=void 0}if(p&&!n[d])break;m=c(n[d]),v=m.literal?B:q,g=m.assign||function(){throw $=r.$target[s]=m(e),Zn("nonassign","Expression '{0}' in attribute '{1}' used with directive '{2}' is non-assignable!",n[d],d,i.name)},$=r.$target[s]=m(e.$target);const t=function(t){return v(t,r[s])||(v(t,$)?g(e,t=r[s]):r[s]=t),$=t,$};if(t.$stateful=!0,l.collection)C=e.$watch(n[d],t);else{if(n[d]){let r=n[d];e.$watch(r,r=>{const s=c(n[d],t);r?(m.literal?e.$target[d]=r:e[d]=r,s(e)):e[d]=e[n[d]]},!0)}C=r.$watch(d,t=>{if(t!==$||y(n[d])){if(m.inputs&&!m.literal||y(n[d])&&b(t))throw r.$target[d]=$,Zn("nonassign","Expression '{0}' in attribute '{1}' used with directive '{2}' is non-assignable!",n[d],d,i.name);w(t)?Object.entries(t).forEach(([t,n])=>{e.$target[t]=n}):(g(e.$target,$=t),e.$handler.watchers.get(n[d])?.forEach(n=>{n.listenerFn(t,e.$target)}))}},!0)}o.push(C);break}case"<":if(!ve(n,d)){if(p)break;ee(d,i.name),n[d]=void 0}if(p&&!n[d])break;m=c(n[d]),r.$target[s]=m(e.$target),a[s]={currentValue:r.$target[s],firstChange:x},e.$target.attrs=n,n[d]&&(C=e.$watch(n[d],e=>{r.$target[s]=e,u(s,e,x),x&&(x=!1)},!0),o.push(C));break;case"&":if(p||ve(n,d)||ee(d,i.name),m=ve(n,d)?c(n[d]):()=>{},m.toString()===(()=>{}).toString()&&p)break;r.$target[s]=function(t){return m(e.$target,t)}}}),{initialChanges:a,removeWatches:o.length&&function(){for(let e=0,t=o.length;e<t;++e)o[e]()}}}}]}}function sr(e){let t=e.length;if(t<=1)return e;for(;t--;){const n=e[t];(n.nodeType===Node.COMMENT_NODE||n.nodeType===Node.TEXT_NODE&&""===n.nodeValue.trim())&&[].splice.call(e,t,1)}return e}const ir={$nonscope:!0,$addControl:()=>{},$getControls:()=>[],$$renameControl:(e,t)=>{e.$name=t},$removeControl:()=>{},$setValidity:()=>{},$setDirty:()=>{},$setPristine:()=>{},$setSubmitted:()=>{},$$setSubmitted:()=>{}},or="ng-pending",ar="ng-submitted";class cr{static $nonscope=!0;static $inject=["$element","$attrs","$scope","$animate","$interpolate"];constructor(e,r,s,i,o){this.$$controls=[],this.$name=o(r.name||r.ngForm||"")(s),this.$dirty=!1,this.$pristine=!0,this.$valid=!0,this.$invalid=!1,this.$submitted=!1,this.$$parentForm=ir,this.$$element=e,this.$$animate=i,this.$error={},this.$$success={},this.$pending=void 0,this.$$classCache={};const a=this.$$element.classList.contains(t);this.$$classCache[t]=a,this.$$classCache[n]=!a}$rollbackViewValue(){this.$$controls.forEach(e=>{e.$rollbackViewValue()})}$commitViewValue(){this.$$controls.forEach(e=>{e.$commitViewValue()})}$addControl(e){z(e.$name,"input"),this.$$controls.push(e),e.$name&&(this[e.$name]=e),e.$target.$$parentForm=this}$getControls(){return ie(this.$$controls)}$$renameControl(e,t){const n=e.$name;this[n]===e&&delete this[n],this[t]=e,e.$name=t}$removeControl(e){e.$name&&this[e.$name]===e&&delete this[e.$name],this.$pending&&Object.keys(this.$pending).forEach(t=>{this.$setValidity(t,null,e)}),this.$error&&Object.keys(this.$error).forEach(t=>{this.$setValidity(t,null,e)}),this.$$success&&Object.keys(this.$$success).forEach(t=>{this.$setValidity(t,null,e)}),F(this.$$controls,e),e.$target.$$parentForm=ir}$setDirty(){me(this.$$element)?(this.$$animate.removeClass(this.$$element,r),this.$$animate.addClass(this.$$element,s)):(this.$$element.classList.remove(r),this.$$element.classList.add(s)),this.$dirty=!0,this.$pristine=!1,this.$$parentForm.$setDirty()}$setPristine(){me(this.$$element)?this.$$animate.setClass(this.$$element,r,`${s} ${ar}`):(this.$$element.classList.remove(s,ar),this.$$element.classList.add(r)),this.$dirty=!1,this.$pristine=!0,this.$submitted=!1,this.$$controls.forEach(e=>{e.$setPristine()})}$setUntouched(){this.$$controls.forEach(e=>{e.$setUntouched()})}$setSubmitted(){let e=this;for(;e.$$parentForm&&e.$$parentForm!==ir;)e=e.$$parentForm;e.$$setSubmitted()}$$setSubmitted(){me(this.$$element)?this.$$animate.addClass(this.$$element,ar):this.$$element.classList.add(ar),this.$submitted=!0,this.$$controls.forEach(e=>{e.$$setSubmitted&&e.$$setSubmitted()})}set(e,t,n){const r=e[t];if(r){-1===r.indexOf(n)&&r.push(n)}else p(e)&&(e=e.$target),e[t]=[n]}unset(e,t,n){const r=e[t];if(!r)return;-1===F(r,n)&&F(r,n.$target),0===r.length&&delete e[t]}$setValidity(e,r,s){let i,o=this;function a(e,t,n){n&&!e.$$classCache[t]?(e.$$animate.addClass(e.$$element,t),e.$$classCache[t]=!0):!n&&e.$$classCache[t]&&(e.$$animate.removeClass(e.$$element,t),e.$$classCache[t]=!1)}function c(e,r,s){r=r?`-${V(r,"-")}`:"",a(e,t+r,!0===s),a(e,n+r,!1===s)}y(r)?function(e,t,n,r){e[t]||(e[t]={});o.set(e[t],n,r)}(this,"$pending",e,s):function(e,t,n,r){e[t]&&o.unset(e[t],n,r);ge(e[t])&&(e[t]=void 0)}(this,"$pending",e,s),j(r)?r?(this.unset(this.$error,e,s),this.set(this.$$success,e,s)):(this.set(this.$error,e,s),this.unset(this.$$success,e,s)):(this.unset(this.$error,e,s),this.unset(this.$$success,e,s)),this.$pending?(a(this,or,!0),this.$valid=this.$invalid=void 0,c(this,"",null)):(a(this,or,!1),this.$valid=ge(this.$error),this.$invalid=!this.$valid,c(this,"",this.$valid)),i=this.$pending&&this.$pending[e]?void 0:!this.$error[e]&&(!!this.$$success[e]||null),c(this,e,i),this.$$parentForm.$setValidity(e,i,this)}}const lr=function(e){return["$parse",function(n){return{name:"form",restrict:e?"EA":"E",require:["form","^^?form"],controller:cr,compile:function(s,i){s.classList.add(r,t);const o=i.name?"name":!(!e||!i.ngForm)&&"ngForm";return{pre:function(e,t,r,s){const i=s[0];if(!("action"in r)){const e=function(e){i.$commitViewValue(),i.$setSubmitted(),e.preventDefault()};t.addEventListener("submit",e),t.addEventListener("$destroy",()=>{setTimeout(()=>{t.removeEventListener("submit",e)},0,!1)})}(s[1]||i.$$parentForm).$addControl(i);let a=o?function(e){if(""===e)return n('this[""]').assign;return n(e).assign||(()=>{})}(i.$name):()=>{};o&&(a(e,i),r.$observe(o,t=>{i.$name!==t&&(e.$target[i.$name]=void 0,i.$$parentForm.$$renameControl(i,t),e.$target!==i.$$parentForm&&i.$$parentForm!==ir||(e.$target[t]=i))})),t.addEventListener("$destroy",()=>{i.$target.$$parentForm.$removeControl(i),a(e,void 0),M(i,ir)})}}}}}]},ur=lr(),hr=lr("ngForm"),dr=/(\s+|^)default(\s+|$)/;class pr{static $nonscope=!0;static $inject=["$attrs","$scope"];constructor(e,t){this.$$attrs=e,this.$$scope=t,this.parentCtrl}$onInit(){const e=this.parentCtrl?this.parentCtrl.$options:$r,t=this.$$scope.$eval(this.$$attrs.ngModelOptions);this.$options=e.createChild(t)}}class fr{static $nonscope=!0;constructor(e){this.$$options=e}getOption(e){return this.$$options[e]}createChild(e){let t=!1;return e=Object.assign({},e),Object.entries(e).forEach(([n,r])=>{"$inherit"===r?"*"===n?t=!0:(e[n]=this.$$options[n],"updateOn"===n&&(e.updateOnDefault=this.$$options.updateOnDefault)):"updateOn"===n&&(e.updateOnDefault=!1,e[n]=R(r.replace(dr,()=>(e.updateOnDefault=!0," "))))},this),t&&(delete e["*"],gr(e,this.$$options)),gr(e,$r.$$options),new fr(e)}}const $r=new fr({updateOn:"",updateOnDefault:!0,debounce:0,getterSetter:!1,allowInvalid:!1}),mr=function(){return{restrict:"A",priority:10,require:{parentCtrl:"?^^ngModelOptions"},bindToController:!0,controller:pr}};function gr(e,t){Object.keys(t).forEach(n=>{b(e[n])||(e[n]=t[n])})}const vr=he("ngModel");class yr{static $nonscope=!0;static $inject=["$scope",Gt.$exceptionHandler,"$attrs","$element",Gt.$parse,Gt.$animate,Gt.$interpolate];constructor(e,r,s,i,o,a,c){this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$$rawModelValue=void 0,this.$validators={},this.$asyncValidators={},this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$untouched=!0,this.$touched=!1,this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$error={},this.$$success={},this.$pending=void 0,this.$name=c(s.name||"",!1)(e),this.$$parentForm=ir,this.$options=$r,this.$$updateEvents="",this.$$updateEventHandler=this.$$updateEventHandler.bind(this),this.$$parsedNgModel=o(s.ngModel),this.$$parsedNgModelAssign=this.$$parsedNgModel.assign,this.$$ngModelGet=this.$$parsedNgModel,this.$$ngModelSet=this.$$parsedNgModelAssign,this.$$pendingDebounce=null,this.$$parserValid=void 0,this.$$parserName="parse",this.$$currentValidationRunId=0,this.$$scope=e,this.$$attr=s,this.$$element=i,this.$$animate=a,this.$$parse=o,this.$$exceptionHandler=r,this.$$hasNativeValidators=!1,this.$$classCache={};const l=this.$$element.classList.contains(t);var u;this.$$classCache[t]=l,this.$$classCache[n]=!l,this.$$eventRemovers=new Set,(u=this).$$scope.$watch("value",()=>{const e=u.$$ngModelGet(u.$$scope);e===u.$modelValue||u.$modelValue!=u.$modelValue&&e!=e||u.$$setModelValue(e)})}set(e,t){e[t]=!0}unset(e,t){delete e[t]}$setValidity(e,r){let s,i=this;function o(e,t,n){n&&!e.$$classCache[t]?(me(e.$$element)?e.$$animate.addClass(e.$$element,t):e.$$element.classList.add(t),e.$$classCache[t]=!0):!n&&e.$$classCache[t]&&(me(e.$$element)?e.$$animate.removeClass(e.$$element,t):e.$$element.classList.remove(t),e.$$classCache[t]=!1)}function a(e,r,s){r=r?`-${V(r,"-")}`:"",o(e,t+r,!0===s),o(e,n+r,!1===s)}y(r)?function(e,t,n){e[t]||(e[t]={}),i.set(e[t],n)}(this,"$pending",e):function(e,t,n){e[t]&&i.unset(e[t],n),ge(e[t])&&(e[t]=void 0)}(this,"$pending",e),j(r)?r?(delete this.$error[e],this.set(this.$$success,e)):(this.set(this.$error,e),delete this.$$success[e]):(delete this.$error[e],delete this.$$success[e]),this.$pending?(o(this,or,!0),this.$valid=this.$invalid=void 0,a(this,"",null)):(o(this,or,!1),this.$valid=ge(this.$error),this.$invalid=!this.$valid,a(this,"",this.$valid)),s=this.$pending&&this.$pending[e]?void 0:!this.$error[e]&&(!!this.$$success[e]||null),a(this,e,s),this.$$parentForm.$setValidity(e,s,this)}$$initGetterSetters(){if(this.$options.getOption("getterSetter")){const e=this.$$parse(`${this.$$attr.ngModel}()`),t=this.$$parse(`${this.$$attr.ngModel}($$$p)`);this.$$ngModelGet=t=>{let n=this.$$parsedNgModel(t);return k(n)&&(n=e(t)),n},this.$$ngModelSet=(e,n)=>{k(this.$$parsedNgModel(e))?t(e,{$$$p:n}):this.$$parsedNgModelAssign(e,n)}}else if(!this.$$parsedNgModel.assign)throw vr("nonassign","Expression '{0}' is non-assignable. Element: {1}",this.$$attr.ngModel,Dt(this.$$element))}$render(){}$isEmpty(e){return y(e)||""===e||null===e||e!=e}$$updateEmptyClasses(e){this.$isEmpty(e)?me(this.$$element)?(this.$$animate.removeClass(this.$$element,c),this.$$animate.addClass(this.$$element,a)):(this.$$element.classList.remove(c),this.$$element.classList.add(a)):me(this.$$element)?(this.$$animate.removeClass(this.$$element,a),this.$$animate.addClass(this.$$element,c)):(this.$$element.classList.remove(a),this.$$element.classList.add(c))}$setPristine(){this.$dirty=!1,this.$pristine=!0,this.$$element&&(me(this.$$element)?(this.$$animate.removeClass(this.$$element,a),this.$$animate.addClass(this.$$element,r)):(this.$$element.classList.remove(a),this.$$element.classList.add(r)))}$setDirty(){this.$dirty=!0,this.$pristine=!1,me(this.$$element)?(this.$$animate.removeClass(this.$$element,r),this.$$animate.addClass(this.$$element,s)):(this.$$element.classList.remove(r),this.$$element.classList.add(s)),this.$$parentForm.$setDirty()}$setUntouched(){this.$touched=!1,this.$untouched=!0,me(this.$$element)?this.$$animate.setClass(this.$$element,i,o):(this.$$element.classList.remove(o),this.$$element.classList.add(i))}$setTouched(){this.$touched=!0,this.$untouched=!1,me(this.$$element)?this.$$animate.setClass(this.$$element,o,i):(this.$$element.classList.remove(i),this.$$element.classList.add(o))}$rollbackViewValue(){clearTimeout(this.$$pendingDebounce),this.$viewValue=this.$$lastCommittedViewValue,this.$render()}$validate(){if(P(this.$modelValue))return;const e=this.$$lastCommittedViewValue,t=this.$$rawModelValue,n=this.$valid,r=this.$modelValue,s=this.$options.getOption("allowInvalid"),i=this;this.$$runValidators(t,e,e=>{s||n===e||(i.$modelValue=e?t:void 0,i.$modelValue!==r&&i.$$writeModelToScope())})}$$runValidators(e,t,n){this.$$currentValidationRunId++;const r=this.$$currentValidationRunId,s=this;function i(e,t){r===s.$$currentValidationRunId&&s.$setValidity(e,t)}function o(e){r===s.$$currentValidationRunId&&n(e)}!function(){const e=s.$$parserName;if(!y(s.$$parserValid))return s.$$parserValid||(Object.keys(s.$validators).forEach(e=>{i(e,null)}),Object.keys(s.$asyncValidators).forEach(e=>{i(e,null)})),i(e,s.$$parserValid),s.$$parserValid;i(e,null);return!0}()?o(!1):function(){let n=!0;if(Object.entries(s.$validators).forEach(([r,s])=>{const o=Boolean(s(e,t));n=n&&o,i(r,o)}),!n)return Object.keys(s.$asyncValidators).forEach(e=>{i(e,null)}),!1;return!0}()?function(){const n=[];let r=!0;Object.entries(s.$asyncValidators).forEach(([s,o])=>{const a=o(e,t);if(!L(a))throw vr("nopromise","Expected asynchronous validator to return a promise but got '{0}' instead.",a);i(s,void 0),n.push(a.then(()=>{i(s,!0)},()=>{r=!1,i(s,!1)}))}),n.length?Promise.all(n).then(()=>{o(r)},()=>{}):o(!0)}():o(!1)}$commitViewValue(){clearTimeout(this.$$pendingDebounce),(this.$$lastCommittedViewValue!==this.$viewValue||""===this.$viewValue&&this.$$hasNativeValidators)&&(void 0===this.$$lastCommittedViewValue&&Number.isNaN(this.$viewValue)||(this.$$updateEmptyClasses(this.$viewValue),this.$$lastCommittedViewValue=this.$viewValue,this.$pristine&&this.$setDirty(),this.$$parseAndValidate()))}$$parseAndValidate(){let e=this.$$lastCommittedViewValue;const t=this;if(this.$$parserValid=!y(e)||void 0,this.$setValidity(this.$$parserName,null),this.$$parserName="parse",this.$$parserValid)for(let t=0;t<this.$parsers.length;t++)if(e=this.$parsers[t](e),y(e)){this.$$parserValid=!1;break}P(this.$modelValue)&&(this.$modelValue=this.$$ngModelGet(this.$$scope));const n=this.$modelValue,r=this.$options.getOption("allowInvalid");function s(){t.$modelValue!=n&&t.$$writeModelToScope()}this.$$rawModelValue=e,r&&(this.$modelValue=e,s()),this.$$runValidators(e,this.$$lastCommittedViewValue,n=>{r||(t.$modelValue=n?e:void 0,s())})}$$writeModelToScope(){this.$$ngModelSet(this.$$scope,this.$modelValue),Object.values(this.$viewChangeListeners).forEach(e=>{try{e()}catch(e){this.$$exceptionHandler(e)}},this)}$setViewValue(e,t){this.$viewValue=e,this.$options?.getOption("updateOnDefault")&&this.$$debounceViewValueCommit(t)}$$debounceViewValueCommit(e){let t=this.$options.getOption("debounce");x(t[e])?t=t[e]:x(t.default)&&-1===this.$options.getOption("updateOn").indexOf(e)?t=t.default:x(t["*"])&&(t=t["*"]),clearTimeout(this.$$pendingDebounce);const n=this;t>0?this.$$pendingDebounce=setTimeout(()=>{n.$commitViewValue()},t):this.$commitViewValue()}$overrideModelOptions(e){this.$$removeAllEventListeners(),this.$options=this.$options.createChild(e),this.$$updateEvents=this.$options.$$options.updateOn,this.$$setUpdateOnEvents()}$processModelValue(){const e=this.$$format();this.$viewValue!==e&&(this.$$updateEmptyClasses(e),this.$viewValue=this.$$lastCommittedViewValue=e,this.$render(),this.$$runValidators(this.$modelValue,this.$viewValue,()=>{}))}$$format(){const e=this.$formatters;let t=e.length,n=this.$modelValue;for(;t--;)n=e[t](n);return n}$$setModelValue(e){this.$modelValue=this.$$rawModelValue=e,this.$$parserValid=void 0,this.$processModelValue()}$$removeAllEventListeners(){this.$$eventRemovers.forEach(e=>e()),this.$$eventRemovers.clear()}$$setUpdateOnEvents(){this.$$updateEvents&&this.$$updateEvents.split(" ").forEach(e=>{this.$$element.addEventListener(e,this.$$updateEventHandler),this.$$eventRemovers.add(()=>this.$$element.removeEventListener(e,this.$$updateEventHandler))}),this.$$updateEvents=this.$options.getOption("updateOn"),this.$$updateEvents&&this.$$updateEvents.split(" ").forEach(e=>{this.$$element.addEventListener(e,this.$$updateEventHandler),this.$$eventRemovers.add(()=>this.$$element.removeEventListener(e,this.$$updateEventHandler))})}$$updateEventHandler(e){this.$$debounceViewValueCommit(e&&e.type)}}function br(){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:yr,priority:1,compile:e=>(e.classList.add(r,i,t),{pre:(e,t,n,r)=>{const s=r[0],i=r[1]||s.$$parentForm,o=r[2];o&&(s.$options=o.$options),s.$$initGetterSetters(),i.$addControl(s),n.$observe("name",e=>{s.$name!==e&&s.$$parentForm.$$renameControl(s,e)});let a=e.$watch(n.ngModel,e=>{s.$$setModelValue(p(e)?e.$target:e)});e.$on("$destroy",()=>{s.$$parentForm.$removeControl(s),a()})},post:(e,t,n,r)=>{const s=r[0];s.$$setUpdateOnEvents(),t.addEventListener("blur",()=>{s.$touched||s.$setTouched()}),s.$viewChangeListeners.push(()=>e.$eval(t.dataset.change))}})}}const wr=/^\d{4,}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+(?:[+-][0-2]\d:[0-5]\d|Z)$/,Er=/^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:/?#]+|\[[a-f\d:]+])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i,Cr=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/,Sr=/^\s*([-+])?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,xr=/^(\d{4,})-(\d{2})-(\d{2})$/,Or=/^(\d{4,})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Ar=/^(\d{4,})-W(\d\d)$/,kr=/^(\d{4,})-(\d\d)$/,Tr=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,_r="validity",Nr=new Map;"date,datetime-local,month,time,week".split(",").forEach(e=>{Nr.set(e,!0)});const jr={text:function(e,t,n,r){Rr(e,t,n,r),Lr(r)},date:Pr("date",xr,Vr(xr,["yyyy","MM","dd"])),"datetime-local":Pr("datetimelocal",Or,Vr(Or,["yyyy","MM","dd","HH","mm","ss","sss"])),time:Pr("time",Tr,Vr(Tr,["HH","mm","ss","sss"])),week:Pr("week",Ar,function(e,t){if(O(e))return e;if(E(e)){Ar.lastIndex=0;const n=Ar.exec(e);if(n){const e=+n[1],r=+n[2];let s=0,i=0,o=0,a=0;const c=function(e){const t=new Date(e,0,1).getDay();return new Date(e,0,(t<=4?5:12)-t)}(e),l=7*(r-1);return t&&(s=t.getHours(),i=t.getMinutes(),o=t.getSeconds(),a=t.getMilliseconds()),new Date(e,0,c.getDate()+l,s,i,o,a)}}return NaN}),month:Pr("month",kr,Vr(kr,["yyyy","MM"])),number:function(e,t,n,r,s,i){let o;if(Dr(e,t,n,r,"number"),Ur(r),Rr(e,t,n,r),b(n.min)||n.ngMin){let t=n.min||i(n.ngMin)(e);o=Ir(t),r.$validators.min=function(e,t){return r.$isEmpty(t)||y(o)||t>=o},n.$observe("min",e=>{e!==t&&(o=Ir(e),t=e,r.$validate())})}if(b(n.max)||n.ngMax){let t=n.max||i(n.ngMax)(e),s=Ir(t);r.$validators.max=function(e,t){return r.$isEmpty(t)||y(s)||t<=s},n.$observe("max",e=>{e!==t&&(s=Ir(e),t=e,r.$validate())})}if(b(n.step)||n.ngStep){let t=n.step||i(n.ngStep)(e),s=Ir(t);r.$validators.step=function(e,t){return r.$isEmpty(t)||y(s)||qr(t,o||0,s)},n.$observe("step",e=>{e!==t&&(s=Ir(e),t=e,r.$validate())})}},url:function(e,t,n,r){Rr(e,t,n,r),Lr(r),r.$validators.url=function(e,t){const n=e||t;return r.$isEmpty(n)||Er.test(n)}},email:function(e,t,n,r){Rr(e,t,n,r),Lr(r),r.$validators.email=function(e,t){const n=e||t;return r.$isEmpty(n)||Cr.test(n)}},radio:function(e,t,n,r){const s=!n.ngTrim||"false"!==R(n.ngTrim);y(n.name)&&t.setAttribute("name",m());t.addEventListener("change",function(e){let i;t.checked&&(i=n.value,s&&(i=R(i)),r.$setViewValue(i,e&&e.type))}),r.$render=function(){let{value:e}=n;s&&(e=R(e));const i=p(r.$viewValue)?r.$viewValue.$target:r.$viewValue;t.checked=(p(e)?e.$target:e)===(p(i)?i.$target:i)},n.$observe("value",r.$render)},range:function(e,t,n,r){Dr(e,t,n,r,"range"),Ur(r),Rr(e,t,n,r);const s=r.$$hasNativeValidators&&"range"===t.type;let i=s?0:void 0,o=s?100:void 0,a=s?1:void 0;const{validity:c}=t,l=b(n.min),u=b(n.max),h=b(n.step),d=r.$render;r.$render=s&&b(c.rangeUnderflow)&&b(c.rangeOverflow)?function(){d(),r.$setViewValue(t.value)}:d,l&&(i=Ir(n.min),r.$validators.min=s?function(){return!0}:function(e,t){return r.$isEmpty(t)||y(i)||t>=i},p("min",function(e){if(i=Ir(e),P(r.$modelValue))return;if(s){let e=t.value;i>e&&(e=i,t.value=e),r.$setViewValue(e)}else r.$validate()}));u&&(o=Ir(n.max),r.$validators.max=s?function(){return!0}:function(e,t){return r.$isEmpty(t)||y(o)||t<=o},p("max",function(e){if(o=Ir(e),P(r.$modelValue))return;if(s){let e=t.value;o<e&&(t.value=o,e=o<i?i:o),r.$setViewValue(e)}else r.$validate()}));h&&(a=Ir(n.step),r.$validators.step=s?function(){return!c.stepMismatch}:function(e,t){return r.$isEmpty(t)||y(a)||qr(t,i||0,a)},p("step",function(e){if(a=Ir(e),P(r.$modelValue))return;s?r.$viewValue!==t.value&&r.$setViewValue(t.value):r.$validate()}));function p(e,r){t.setAttribute(e,n[e]);let s=n[e];n.$observe(e,e=>{e!==s&&(s=e,r(e))})}},checkbox:function(e,t,n,r,s,i){const o=Br(i,e,"ngTrueValue",n.ngTrueValue,!0),a=Br(i,e,"ngFalseValue",n.ngFalseValue,!1);t.addEventListener("change",function(e){r.$setViewValue(t.checked,e&&e.type)}),r.$render=function(){t.checked=r.$viewValue},r.$isEmpty=function(e){return!1===e},r.$formatters.push(e=>B(e,o)),r.$parsers.push(e=>e?o:a)},hidden:()=>{},button:()=>{},submit:()=>{},reset:()=>{},file:()=>{}};function Lr(e){e.$formatters.push(t=>e.$isEmpty(t)?t:t.toString())}function Rr(e,t,n,r){const s=t.type.toLowerCase();let i,o=!1;t.addEventListener("compositionstart",()=>{o=!0}),t.addEventListener("compositionend",()=>{o=!1,a()});let a=function(e){if(i&&(clearTimeout(i),i=null),o)return;let a=t.value;const c=e&&e.type;"password"===s||n.ngTrim&&"false"===n.ngTrim||(a=R(a)),(r.$viewValue!==a||""===a&&r.$$hasNativeValidators)&&r.$target.$setViewValue(a,c)};["input","change","paste","drop","cut"].forEach(e=>{t.addEventListener(e,a)}),Nr[s]&&r.$$hasNativeValidators&&s===n.type&&t.addEventListener("keydown wheel mousedown",function(e){if(!i){const t=this[_r],n=t.badInput,r=t.typeMismatch;i=setTimeout(()=>{i=null,t.badInput===n&&t.typeMismatch===r||a(e)})}}),r.$render=function(){const e=r.$isEmpty(r.$viewValue)?"":r.$viewValue;t.value!==e&&(t.value=e)}}function Vr(e,t){return function(n,r){let s,i;if(O(n))return n;if(E(n)){if('"'===n.charAt(0)&&'"'===n.charAt(n.length-1)&&(n=n.substring(1,n.length-1)),wr.test(n))return new Date(n);if(e.lastIndex=0,s=e.exec(n),s){s.shift(),i=r?{yyyy:r.getFullYear(),MM:r.getMonth()+1,dd:r.getDate(),HH:r.getHours(),mm:r.getMinutes(),ss:r.getSeconds(),sss:r.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},Object.entries(s).forEach(([e,n])=>{e<t.length&&(i[t[e]]=+n)});const e=new Date(i.yyyy,i.MM-1,i.dd,i.HH,i.mm,i.ss||0,1e3*i.sss||0);return i.yyyy<100&&e.setFullYear(i.yyyy),e}}return NaN}}const Mr=/\b\d{4}-(0[1-9]|1[0-2])\b/;function Pr(e,t,n){return function(r,s,i,o,a,c){if(Dr(r,s,i,o,e),Rr(0,s,i,o),o.$parsers.push(n=>o.$isEmpty(n)?null:t.test(n)?["month","week","datetimelocal","time","date"].includes(e)?n:h(n,undefined):void(o.$$parserName=e)),o.$formatters.push(function(t){if(t&&!E(t))throw vr("datefmt","Expected `{0}` to be a String",t);if("month"===e){if(null==t)return"";if(!Mr.test(t))throw vr("datefmt","Expected month `{0}` to be a 'YYYY-DD'",t)}if("week"===e){if(null==t)return"";if(!Ar.test(t))throw vr("datefmt","Expected week `{0}` to be a 'yyyy-Www'",t)}if("datetimelocal"===e){if(null==t)return"";if(!Or.test(t))throw vr("datefmt","Expected week `{0}` to be a in date time format. See: https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats#local_date_and_time_strings",t)}return t}),b(i.min)||i.ngMin){let t=i.min||c(i.ngMin)(r),s=u(p(t)?t.$target:t);o.$validators.min=function(t){return"month"===e?y(s)||n(t)>=n(s):!l(t)||y(s)||n(t)>=s},i.$observe("min",e=>{e!==t&&(s=u(e),t=e,o.$validate())})}if(b(i.max)||i.ngMax){let t=i.max||c(i.ngMax)(r),s=u(p(t)?t.$target:t);o.$validators.max=function(t){return"month"===e?y(s)||n(t)<=n(s):!l(t)||y(s)||n(t)<=s},i.$observe("max",e=>{e!==t&&(s=u(e),t=e,o.$validate())})}function l(e){return e&&!(e.getTime&&e.getTime()!=e.getTime())}function u(e){return b(e)&&!O(e)?h(e)||void 0:e}function h(e,t){const r=o.$options.getOption("timezone");let s=n(e,t);return!Number.isNaN(s)&&r&&(s=Y(s,r)),s}}}function Dr(e,t,n,r,s){(r.$$hasNativeValidators=w(t.validity))&&r.$parsers.push(e=>{const n=t[_r]||{};if(!n.badInput&&!n.typeMismatch)return e;r.$$parserName=s})}function Ur(e){e.$parsers.push(t=>e.$isEmpty(t)?null:Sr.test(t)?parseFloat(t):void(e.$$parserName="number")),e.$formatters.push(t=>{if(!e.$isEmpty(t)){if(!x(t))throw vr("numfmt","Expected `{0}` to be a number",t);t=t.toString()}return t})}function Ir(e){return b(e)&&!x(e)&&(e=parseFloat(e)),P(e)?void 0:e}function Hr(e){return(0|e)===e}function Fr(e){const t=e.toString(),n=t.indexOf(".");if(-1===n){if(e>-1&&e<1){const e=/e-(\d+)$/.exec(t);if(e)return Number(e[1])}return 0}return t.length-n-1}function qr(e,t,n){let r=Number(e);const s=!Hr(r),i=!Hr(t),o=!Hr(n);if(s||i||o){const e=s?Fr(r):0,a=i?Fr(t):0,c=o?Fr(n):0,l=10**Math.max(e,a,c);r*=l,t*=l,n*=l,s&&(r=Math.round(r)),i&&(t=Math.round(t)),o&&(n=Math.round(n))}return(r-t)%n===0}function Br(e,t,n,r,s){let i;if(b(r)){if(i=e(r),!i.constant)throw vr("constexpr","Expected constant expression for `{0}`, but saw `{1}`.",n,r);return i(t)}return s}function zr(e,t){return{restrict:"E",require:["?ngModel"],link:{pre(n,r,s,i){i[0]&&(jr[s.type?.toLowerCase()]||jr.text)(n,r,s,i[0],e,t)}}}}function Wr(){const e={configurable:!0,enumerable:!1,get(){return this.getAttribute("value")||""},set(e){this.setAttribute("value",e)}};return{restrict:"E",priority:200,compile(t,n){if("hidden"===n.type?.toLowerCase())return{pre(t,n){const r=n;r.parentNode&&r.parentNode.insertBefore(r,r.nextSibling),Object.defineProperty&&Object.defineProperty(r,"value",e)}}}}}zr.$inject=["$filter","$parse"];const Kr=/^(true|false|\d+)$/;function Qr(){function e(e,t,n){e.value=b(n)?p(n)?n.$target:n:null,t.$set("value",n)}return{restrict:"A",priority:100,compile:(t,n)=>Kr.test(n.ngValue)?function(t,n,r){e(n,r,t.$eval(r.ngValue))}:function(t,n,r){t.$watch(r.ngValue,t=>{e(n,r,t)})}}}function Gr(e){return{restrict:"E",terminal:!0,compile(t,n){"text/ng-template"===n.type&&e.set(n.id,t.innerText)}}}Gr.$inject=["$templateCache"];class Jr{static $nonscope=["ngModelCtrl","selectValueMap","emptyOption","optionsMap","$scope","$element"];static $inject=["$element","$scope"];constructor(e,t){this.$element=e,this.$scope=t,this.selectValueMap={},this.ngModelCtrl={},this.multiple=!1,this.unknownOption=document.createElement("option"),this.hasEmptyOption=!1,this.emptyOption=void 0,this.optionsMap=new Map,this.renderScheduled=!1,this.updateScheduled=!1,t.$on("$destroy",()=>{this.renderUnknownOption=()=>{}})}renderUnknownOption(e){const t=this.generateUnknownOptionValue(e);this.unknownOption.value=t,this.$element.prepend(this.unknownOption),this.unknownOption.selected=!0,this.unknownOption.setAttribute("selected","selected"),this.$element.value=t}updateUnknownOption(e){const t=this.generateUnknownOptionValue(e);this.unknownOption.value=t,this.unknownOption.selected=!0,this.unknownOption.setAttribute("selected","selected"),this.$element.value=t}generateUnknownOptionValue(e){return y(e)?"? undefined:undefined ?":`? ${de(e)} ?`}removeUnknownOption(){this.unknownOption.parentElement&&this.unknownOption.remove()}selectEmptyOption(){this.emptyOption&&(this.$element.value="",this.emptyOption.selected=!0,this.emptyOption.setAttribute("selected","selected"))}unselectEmptyOption(){this.hasEmptyOption&&(this.emptyOption.selected=!1)}readValue(){const e=this.$element.value,t=e in this.selectValueMap?this.selectValueMap[e]:e;return this.hasOption(t)?t:null}writeValue(e){const t=this.$element.options[this.$element.selectedIndex];if(t&&(t.selected=!1),this.hasOption(e)){this.removeUnknownOption();const t=de(e);this.$element.value=t in this.selectValueMap?t:e;const n=this.$element.options[this.$element.selectedIndex];n?n.selected=!0:this.selectUnknownOrEmptyOption(e)}else this.selectUnknownOrEmptyOption(e)}addOption(e,t){if(t.nodeType===Node.COMMENT_NODE)return;z(e,'"option value"'),""===e&&(this.hasEmptyOption=!0,this.emptyOption=t);const n=this.optionsMap.get(e)||0;this.optionsMap.set(e,n+1),this.scheduleRender()}removeOption(e){const t=this.optionsMap.get(e);t&&(1===t?(this.optionsMap.delete(e),""===e&&(this.hasEmptyOption=!1,this.emptyOption=void 0)):this.optionsMap.set(e,t-1))}hasOption(e){return!!this.optionsMap.get(e)}$hasEmptyOption(){return this.hasEmptyOption}$isUnknownOptionSelected(){return this.$element.options[0]===this.unknownOption}$isEmptyOptionSelected(){return this.hasEmptyOption&&this.$element.options[this.$element.selectedIndex]===this.emptyOption}selectUnknownOrEmptyOption(e){null==e&&this.emptyOption?(this.removeUnknownOption(),this.selectEmptyOption()):this.unknownOption.parentElement?this.updateUnknownOption(e):this.renderUnknownOption(e)}scheduleRender(){this.renderScheduled||(this.renderScheduled=!0,this.$scope.$postUpdate(()=>{this.renderScheduled=!1,this.ngModelCtrl.$render()}))}scheduleViewValueUpdate(e=!1){this.updateScheduled||(this.updateScheduled=!0,this.$scope.$postUpdate(()=>{this.$scope.$$destroyed||(this.updateScheduled=!1,this.ngModelCtrl.$setViewValue(this.readValue()),e&&this.ngModelCtrl.$render())}))}registerOption(e,t,n,r,s){let i,o;if(n.$attr.ngValue)n.$observe("value",e=>{let n;const r=t.selected;b(o)&&(this.removeOption(i),delete this.selectValueMap[o],n=!0),o=de(e),i=e,this.selectValueMap[o]=e,this.addOption(e,t),t.setAttribute("value",o),n&&r&&this.scheduleViewValueUpdate()});else if(r)n.$observe("value",e=>{let n;this.readValue();const r=t.selected;b(i)&&(this.removeOption(i),n=!0),i=e,this.addOption(e,t),n&&r&&this.scheduleViewValueUpdate()});else if(s){let r;e.value=s(e),n.value||(n.$set("value",e.value),this.addOption(e.value,t)),e.$watch("value",()=>{let i=s(e);n.value||n.$set("value",i);const o=t.selected;r!==i&&(this.removeOption(r),r=i),this.addOption(i,t),r&&o&&this.scheduleViewValueUpdate()})}else this.addOption(n.value,t);n.$observe("disabled",e=>{("true"===e||e&&t.selected)&&(this.multiple?this.scheduleViewValueUpdate(!0):(this.ngModelCtrl.$setViewValue(null),this.ngModelCtrl.$render()))}),t.addEventListener("$destroy",()=>{const e=this.readValue(),t=n.value;this.removeOption(t),this.scheduleRender(),(this.multiple&&e&&-1!==e.indexOf(t)||e===t)&&this.scheduleViewValueUpdate(!0)})}}function Zr(){return{restrict:"E",require:["select","?ngModel"],controller:Jr,priority:1,link:{pre:function(e,t,n,r){const s=r[0],i=r[1];if(!i)return void(s.registerOption=()=>{});if(s.ngModelCtrl=i,t.addEventListener("change",()=>{s.removeUnknownOption();const e=s.readValue();i.$setViewValue(e)}),n.multiple){let e;s.multiple=!0,s.readValue=function(){const e=[],n=t.getElementsByTagName("option");return Array.from(n).forEach(t=>{if(t.selected&&!t.disabled){const n=t.value;e.push(n in s.selectValueMap?s.selectValueMap[n]:n)}}),e},s.writeValue=function(e){const n=t.getElementsByTagName("option");Array.from(n).forEach(t=>{const n=!!e&&(H(e,t.value)||H(e,s.selectValueMap[t.value]));n!==t.selected&&(t.selected=n)})};let n=NaN;n!==i.$viewValue||B(e,i.$viewValue)||(e=ie(i.$viewValue),i.$render()),n=i.$viewValue,i.$isEmpty=function(e){return!e||0===e.length}}},post:function(e,t,n,r){const s=r[1];if(!s)return;const i=r[0];s.$render=function(){i.writeValue(s.$viewValue)}}}}}function Yr(e){return{restrict:"E",priority:100,compile(t,n){let r,s;return b(n.ngValue)||(b(n.value)?r=e(n.value,!0):(s=e(t.textContent,!0),s||n.$set("value",t.textContent))),function(e,t,n){const i="$selectController",o=t.parentElement,a=Nt(o,i)||Nt(o.parentElement,i);a&&a.registerOption(e,t,n,r,s)}}}}function Xr(){return{link(e,t,n){e.$watch(n.ngBind,e=>{t.textContent=W(p(e)?e.$target:e)},b(n.lazy))}}}function es(){return{link(e,t,n){n.$observe("ngBindTemplate",e=>{t.textContent=y(e)?"":e})}}}function ts(e){return{restrict:"A",compile:(t,n)=>(e(n.ngBindHtml),(e,t)=>{e.$watch(n.ngBindHtml,e=>{(y(e)||C(e))&&(e=""),t.innerHTML=e})})}}function ns(e,t){return e=`ngClass${e}`,function(){return{link(n,r,s){let i,o=Nt(r,"$classCounts"),a=!0;function c(e,t){const n=[];return e&&e.forEach(e=>{(t>0||o[e])&&(o[e]=(o[e]||0)+t,o[e]===+(t>0)&&n.push(e))}),n.join(" ")}o||(o=Object.create(null),_t(r,"$classCounts",o)),"ngClass"!==e&&n.$watch("$index",()=>{!function(e){e===t?(o=c(ss(o=i),1),me(r)?s.$addClass(o):n.$postUpdate(()=>{""!==o&&r.classList.add(...o.trim().split(" "))})):function(e){e=c(ss(e),-1),me(r)?s.$removeClass(e):n.$postUpdate(()=>{""!==e&&r.classList.remove(...e.trim().split(" "))})}(i);var o;a=e}(1&n.$index)}),n.$watch(s[e],e=>{!function(e){a===t&&function(e,t){const n=ss(e),i=ss(t),o=rs(n,i),a=rs(i,n),l=c(o,-1),u=c(a,1);me(r)?(s.$addClass(u),s.$removeClass(l)):(""!==u&&r.classList.add(...u.trim().split(" ")),""!==l&&r.classList.remove(...l.trim().split(" ")))}(i,e);i=e}(is(e))})}}}}function rs(e,t){if(!e||!e.length)return[];if(!t||!t.length)return e;const n=[];e:for(let r=0;r<e.length;r++){const s=e[r];for(let e=0;e<t.length;e++)if(s===t[e])continue e;n.push(s)}return n}function ss(e){return e&&e.split(" ")}function is(e){if(!e)return e;let t=e;return Array.isArray(e)?t=e.map(is).join(" "):w(e)?t=Object.keys(e).filter(t=>e[t]).join(" "):E(e)||(t=`${e}`),t}Yr.$inject=["$interpolate"],ts.$inject=[Gt.$parse];const os=ns("",!0),as=ns("Odd",0),cs=ns("Even",1);function ls(){return{compile(e,t){t.$set("ngCloak",void 0)}}}function us(){return{restrict:"A",scope:!0,controller:"@",priority:500}}const hs="ng-hide",ds="ng-hide-animate";function ps(e){return{restrict:"A",link(t,n,r){t.$watch(r.ngShow,t=>{me(n)?e[t?"removeClass":"addClass"](n,hs,{tempClasses:ds}):t?n.classList.remove(hs):n.classList.add(hs)})}}}function fs(e){return{restrict:"A",link(t,n,r){t.$watch(r.ngHide,t=>{me(n)?e[t?"addClass":"removeClass"](n,hs,{tempClasses:ds}):t?n.classList.add(hs):n.classList.remove(hs)})}}}function $s(e){return{transclude:"element",priority:600,terminal:!0,restrict:"A",link(t,n,r,s,i){let o,a,c;t.$watch(r.ngIf,t=>{t?a||i((t,r)=>{a=r,o=t,me(t)?e.enter(t,n.parentElement,n):n.after(t)}):(c&&(Pt(c),c=null),a&&(a.$destroy(),a=null),o&&(c=o,me(c)?e.leave(c).done(e=>{!1!==e&&(c=null)}):n.nextElementSibling.remove(),o=null))})}}}function ms(e,t,n,r){return{priority:400,terminal:!0,transclude:"element",controller:()=>{},compile(s,i){const o=i.ngInclude||i.src,a=i.onload||"",c=i.autoscroll;return(s,i,l,u,h)=>{function d(){!b(c)||c&&!s.$eval(c)||t()}let p,f,$,m=0;const g=()=>{f&&(f.remove(),f=null),p&&(p.$destroy(),p=null),$&&(me($)?n.leave($).done(e=>{!1!==e&&(f=null)}):$.remove(),f=$,$=null)};s.$watch(o,async t=>{const o=function(e){!1!==e&&d()},c=++m;t?(await e(t,!0).then(e=>{if(s.$$destroyed)return;if(c!==m)return;const r=s.$new();u.template=e;const l=h(r,e=>{g(),me(e)?n.enter(e,null,i).done(o):(i.after(e),d())});p=r,$=l,p.$emit("$includeContentLoaded",t),s.$eval(a)},e=>{s.$$destroyed||(c===m&&(g(),s.$emit("$includeContentError",t)),r(new Error(e)))}),s.$emit("$includeContentRequested",t)):(g(),u.template=null)})}}}}function gs(e){return{priority:-400,require:"ngInclude",link(t,n,r,s){n.innerHTML=s.template,e(n.childNodes)(t)}}}function vs(){return{priority:450,compile:()=>({pre(e,t,n){const r=Vt(t);r?r.$eval(n.ngInit):e.$eval(n.ngInit)}})}}function ys(){return{terminal:!0,priority:1e3}}ps.$inject=["$animate"],fs.$inject=["$animate"],$s.$inject=["$animate"],ms.$inject=[Gt.$templateRequest,Gt.$anchorScroll,Gt.$animate,Gt.$exceptionHandler],gs.$inject=[Gt.$compile];const bs=he("ngRef");function ws(e){return{priority:-1,restrict:"A",compile(t,n){const r=$e(I(t)),s=e(n.ngRef),i=s.assign||function(){throw bs("nonassign",'Expression in ngRef="{0}" is non-assignable!',n.ngRef)};return(e,t,o)=>{let a;if(ve(o,"ngRefRead")){if("$element"===o.ngRefRead)a=t;else if(a=Nt(t,`$${o.ngRefRead}Controller`),!a)throw bs("noctrl",'The controller for ngRefRead="{0}" could not be found on ngRef="{1}"',o.ngRefRead,n.ngRef)}else a=Nt(t,`$${r}Controller`);a=a||t,i(e,a),t.addEventListener("$destroy",()=>{s(e)===a&&i(e,null)})}}}}ws.$inject=["$parse"];const Es="$$NG_REMOVED",Cs=he("ngRepeat"),Ss=/^(?:(\s*[$\w]+)|\(\s*([$\w]+)\s*,\s*([$\w]+)\s*\))$/;function xs(e){function t(e,t,n,r,s,i,o){e[n]!==r&&(e[n]=r),s&&(e[s]=i),r&&(e.$target.$$hashKey=r.$$hashKey),e.$index=t,e.$first=0===t,e.$last=t===o-1,e.$middle=!(e.$first||e.$last),e.$odd=!(e.$even=!(1&t))}function n(e){return e.clone}function r(e){return e.clone}function s(e,t,n){return de(n)}function i(e,t){return t}return{restrict:"A",transclude:"element",priority:1e3,terminal:!0,compile:(o,a)=>{const c=a.ngRepeat,l=!!a.animate;let u=c.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!u)throw Cs("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",c);const h=u[1],d=u[2],p=u[3];if(u=h.match(Ss),!u)throw Cs("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",h);const f=u[3]||u[1],$=u[2];if(p&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(p)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(p)))throw Cs("badident","alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.",p);const m=function(e){let t=!1;return function(...n){if(!t)return t=!0,e.apply(this,n)}}(()=>{b(a.lazy)&&b(a.swap)&&document.querySelectorAll(a.swap).forEach(e=>Pt(e))});return function(o,a,u,h,g){let y=Object.create(null);o.$watch(d,u=>{m();let h,d,b,w=a;const E=Object.create(null);let C,S,x,O,A,k,T,_,N;if(p&&(o[p]=u),v(u))k=u,A=s;else{A=i,k=[];for(const e in u)ve(u,e)&&"$"!==e.charAt(0)&&k.push(e)}for(C=k.length,_=new Array(C),h=0;h<C;h++)if(S=u===k?h:k[h],x=u[S],O=A(o,S,x),y[O])T=y[O],delete y[O],E[O]=T,_[h]=T;else{if(E[O])throw Object.values(_).forEach(e=>{e&&e.scope&&(y[e.id]=e)}),Cs("dupes","Duplicates keys in a repeater are not allowed. Repeater: {0}, Duplicate key: {1} for value: {2}",c,O,x);_[h]={id:O,scope:void 0,clone:void 0},E[O]=!0}for(let t in y){if(T=y[t],N=T.clone,l?e.leave(N):N.remove(),N.parentNode)for(h=0,d=N.length;h<d;h++)N[h][Es]=!0;T.scope.$destroy()}for(h=0;h<C;h++)if(S=u===k?h:k[h],x=u[S],T=_[h],T.scope){b=w;do{b=b.nextSibling}while(b&&b[Es]);n(T)!==b&&e.move(Ut(T.clone),null,w),w=r(T),t(T.scope,h,f,x,$,S,C)}else g((n,r)=>{T.scope=r;const s=n;l?e.enter(n,null,w):w.after(n),w=s,T.clone=n,E[T.id]=T,t(T.scope,h,f,x,$,S,C)});y=E},b(u.lazy))}}}}function Os(){return{restrict:"A",link(e,t,n){let r;e.$watch(n.ngStyle,e=>{if(r){const e=Object.keys(r);for(let n=0,r=e.length;n<r;n++)t.style.removeProperty(e[n])}if(e){r={...e.$target};const n=Object.entries(e);for(let e=0,r=n.length;e<r;e++){const[r,s]=n[e];t.style.setProperty(r,s)}}})}}}function As(e){return{require:"ngSwitch",controller:["$scope",class{constructor(){this.cases={}}}],link(t,n,r,s){const i=r.ngSwitch||r.on;let o=[];const a=[],c=[],l=[],u=function(e,t){return function(n){!1!==n&&e.splice(t,1)}};t.$watch(i,t=>{let n,r;for(;c.length;)e.cancel(c.pop());for(n=0,r=l.length;n<r;++n){const t=Ut(a[n].clone);if(l[n].$destroy(),me(t)){(c[n]=e.leave(t)).done(u(c,n))}else t.remove()}a.length=0,l.length=0,(o=s.cases[`!${t}`]||s.cases["?"])&&Object.values(o).forEach(t=>{t.transclude((n,r)=>{l.push(r);const s=t.element,i={clone:n,comment:document.createComment("")};a.push(i),me(n)?e.enter(n,s.parentElement,s):Wt(n,s.parentElement,s)})})})}}}function ks(){return{transclude:"element",terminal:!0,priority:1200,require:"^ngSwitch",link(e,t,n,r,s){const i=n.ngSwitchWhen.split(n.ngSwitchWhenSeparator).sort().filter((e,t,n)=>n[t-1]!==e);i.forEach(e=>{r.cases[`!${e}`]=r.cases[`!${e}`]||[],r.cases[`!${e}`].push({transclude:s,element:t})})}}}function Ts(){return{transclude:"element",terminal:!0,priority:1200,require:"^ngSwitch",link(e,t,n,r,s){r.cases["?"]=r.cases["?"]||[],r.cases["?"].push({transclude:s,element:t})}}}xs.$inject=[Gt.$animate],As.$inject=["$animate"];const _s=he("ngOptions"),Ns=document.createElement("option"),js=document.createElement("optgroup"),Ls=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([$\w][$\w]*)|(?:\(\s*([$\w][$\w]*)\s*,\s*([$\w][$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/;function Rs(e,t){return{restrict:"A",terminal:!0,require:["select","ngModel"],link:{pre:function(e,t,n,r){r[0].registerOption=()=>{}},post:function(n,r,s,i){const o=i[0],a=i[1],c=s.multiple;for(let e=0,t=r.childNodes,n=t.length;e<n;e++)if(""===t[e].value){o.hasEmptyOption=!0,o.emptyOption=t[e];break}zt(r);const l=!!o.emptyOption;let u;Ns.cloneNode(!1).nodeValue="?";const h=function(e,n,r){const s=e.match(Ls);if(!s)throw _s("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",e,Dt(n));const i=s[5]||s[7],o=s[6],a=/ as /.test(s[0])&&s[1],c=s[9],l=t(s[2]?s[1]:i),u=a&&t(a)||l,h=c&&t(c),d=c?function(e,t){return h(r,t)}:function(e){return de(e)},p=function(e,t){return d(e,b(e,t))},f=t(s[2]||s[1]),$=t(s[3]||""),m=t(s[4]||""),g=t(s[8]),y={};let b=o?function(e,t){return y[o]=t,y[i]=e,y}:function(e){return y[i]=e,y};class w{constructor(e,t,n,r,s){this.selectValue=e,this.viewValue=t,this.label=n,this.group=r,this.disabled=s}}function E(e){let t;if(!o&&v(e))t=e;else{t=[];for(const n in e)ve(e,n)&&"$"!==n.charAt(0)&&t.push(n)}return t}return{trackBy:c,getTrackByValue:p,getWatchables:t(g,e=>{const t=[],n=E(e=e||[]),i=n.length;for(let o=0;o<i;o++){const i=e===n?o:n[o],a=e[i],c=b(a,i),l=d(a,c);if(t.push(l),s[2]||s[1]){const e=f(r,c);t.push(e)}if(s[4]){const e=m(r,c);t.push(e)}}return t}),getOptions(){const e=[],t={},n=g(r)||[],s=E(n),i=s.length;for(let o=0;o<i;o++){const i=n===s?o:s[o],a=n[i],c=b(a,i),l=u(r,c),h=d(l,c),p=f(r,c),g=$(r,c),v=m(r,c),y=new w(h,l,p,g,v);e.push(y),t[h]=y}return{items:e,selectValueMap:t,getOptionFromViewValue:e=>t[p(e)],getViewValueFromOption:e=>c?structuredClone(e.viewValue):e.viewValue}}}}(s.ngOptions,r,n),d=document.createDocumentFragment();if(o.generateUnknownOptionValue=()=>"?",c?(o.writeValue=function(e){if(!u)return;const t=e&&e.map(f)||[];u.items.forEach(e=>{e.element.selected&&!H(t,e)&&(e.element.selected=!1)})},o.readValue=function(){const e=r.value||[],t=[];return e.forEach(e=>{const n=u.selectValueMap[e];n&&!n.disabled&&t.push(u.getViewValueFromOption(n))}),t}):(o.writeValue=function(e){if(!u)return;const t=r.options[r.selectedIndex],n=u.getOptionFromViewValue(e);t&&t.removeAttribute("selected"),n?(r.value!==n.selectValue&&(o.removeUnknownOption(),r.value=n.selectValue,n.element.selected=!0),n.element.setAttribute("selected","selected")):o.selectUnknownOrEmptyOption(e)},o.readValue=function(){const e=u.selectValueMap[r.value];return e&&!e.disabled?(o.unselectEmptyOption(),o.removeUnknownOption(),u.getViewValueFromOption(e)):null},h.trackBy&&n.$watch(h.getTrackByValue(a.$viewValue),()=>{a.$render()})),l){const t=e(o.emptyOption);ae(t,"LinkFn required"),r.prepend(o.emptyOption),t(n),o.emptyOption.nodeType===Node.COMMENT_NODE&&(o.hasEmptyOption=!1,o.registerOption=function(e,t){""===t.value&&(o.hasEmptyOption=!0,o.emptyOption=t,a.$render(),t.addEventListener("$destroy",()=>{const e=o.$isEmptyOptionSelected();o.hasEmptyOption=!1,o.emptyOption=void 0,e&&a.$render()}))})}function p(e,t){const n=Ns.cloneNode(!1);t.appendChild(n),function(e,t){e.element=t,t.disabled=e.disabled,e.label!==t.label&&(t.label=e.label,t.textContent=e.label);t.value=e.selectValue}(e,n)}function f(e){const t=u.getOptionFromViewValue(e),n=t&&t.element;return n&&!n.selected&&(n.selected=!0),t}n.$watch(h.getWatchables.decoratedNode.body[0].expression.name,function(){const e=u&&o.readValue();if(u)for(let e=u.items.length-1;e>=0;e--){const t=u.items[e];b(t.group)?Pt(t.element.parentNode):Pt(t.element)}u=h.getOptions();const t={};if(u.items.forEach(e=>{let n;b(e.group)?(n=t[e.group],n||(n=js.cloneNode(!1),d.appendChild(n),n.label=null===e.group?"null":e.group,t[e.group]=n),p(e,n)):p(e,d)}),r.appendChild(d),a.$render(),!a.$isEmpty(e)){const t=o.readValue();(h.trackBy||c?B(e,t):e===t)||(a.$setViewValue(t),a.$render())}})}}}}Rs.$inject=["$compile","$parse"];const Vs=he("ngTransclude");function Ms(e){return{compile:function(t){const n=e(t.childNodes);return zt(t),function(e,t,r,s,i){if(!i)throw Vs("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",Dt(t));r.ngTransclude===r.$attr.ngTransclude&&(r.ngTransclude="");const o=r.ngTransclude||r.ngTranscludeSlot;function a(){n(e,e=>{t.append(e)})}i(function(e,n){!function(e){if(e instanceof Array)return!1;if(e.nodeType!==Node.TEXT_NODE||e.nodeValue.trim())return!0}(e)?(a(),n.$destroy()):e instanceof NodeList?Array.from(e).forEach(e=>{t.append(e)}):t.append(e)},null,o),o&&!i.isSlotFilled(o)&&a()}}}}Ms.$inject=["$compile"];const Ps=/^\/(.+)\/([a-z]*)$/,Ds={};yt.forEach(e=>{if("multiple"===e)return;function t(t,r,s){t.$watch(s[n],t=>{s.$set(e,!!t)})}let n=$e(`ng-${e}`),r=t;"checked"===e&&(r=function(e,r,s){s.ngModel!==s[n]&&t(e,0,s)}),Ds[n]=function(){return{restrict:"A",priority:100,link:r}}}),Object.entries(h).forEach(([e])=>{Ds[e]=function(){return{priority:100,link(t,n,r){if("ngPattern"===e&&"/"===r.ngPattern.charAt(0)){const e=r.ngPattern.match(Ps);if(e)return void r.$set("ngPattern",new RegExp(e[1],e[2]).toString())}t.$watch(r[e],t=>{r.$set(e,t)})}}}}),["src","srcset","href"].forEach(e=>{const t=$e(`ng-${e}`);Ds[t]=[Gt.$sce,function(n){return{priority:99,link(r,s,i){let o=e;"href"===e&&"[object SVGAnimatedString]"===toString.call(s.href)&&(o="xlinkHref",i.$attr[o]="href"),i.$set(t,n.getTrustedMediaUrl(i[t])),i.$observe(t,t=>{t?i.$set(o,t):"href"===e&&i.$set(o,null)})}}}]});const Us=[Gt.$parse,e=>({restrict:"A",require:"?ngModel",link:(t,n,r,s)=>{if(!s)return;let i=ve(r,"required")||e(r.ngRequired)(t);r.ngRequired||(r.required=!0),s.$validators.required=(e,t)=>!i||!s.$isEmpty(t),r.$observe("required",e=>{i!==e&&(i=e,s.$validate())})}})],Is=[Gt.$parse,e=>({restrict:"A",require:"?ngModel",compile:(t,n)=>{let r,s;return n.ngPattern&&(r=n.ngPattern,s="/"===n.ngPattern.charAt(0)&&Ps.test(n.ngPattern)?function(){return n.ngPattern}:e(n.ngPattern)),function(e,t,n,i){if(!i)return;let o=n.pattern;n.ngPattern?o=s(e):r=n.pattern;let a=qs(o,r,t);n.$observe("pattern",e=>{const n=a;a=qs(e,r,t),(n&&n.toString())!==(a&&a.toString())&&i.$validate()}),i.$validators.pattern=(e,t)=>i.$isEmpty(t)||y(a)||a.test(t)}}})],Hs=[Gt.$parse,e=>({restrict:"A",require:"?ngModel",link:(t,n,r,s)=>{if(!s)return;let i=r.maxlength||e(r.ngMaxlength)(t),o=Bs(i);r.$observe("maxlength",e=>{i!==e&&(o=Bs(e),i=e,s.$validate())}),s.$validators.maxlength=function(e,t){return o<0||s.$isEmpty(t)||t.length<=o}}})],Fs=[Gt.$parse,e=>({restrict:"A",require:"?ngModel",link(t,n,r,s){if(!s)return;let i=r.minlength||e(r.ngMinlength)(t),o=Bs(i)||-1;r.$observe("minlength",e=>{i!==e&&(o=Bs(e)||-1,i=e,s.$validate())}),s.$validators.minlength=function(e,t){return s.$isEmpty(t)||t.length>=o}}})];function qs(e,t,n){if(e){if(p(e)&&(e=e.$target),E(e)){const t=e.match(/^\/(.*)\/([gimsuy]*)$/);e=t?new RegExp(t[1],t[2]):new RegExp(`^${e}$`)}if(!e.test)throw he("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",t,e,Dt(n));return e}}function Bs(e){const t=parseInt(e,10);return P(t)?-1:t}class zs{constructor(){this.autoScrollingEnabled=!0}$get=[Gt.$location,Gt.$rootScope,function(e,t){function n(e){if(e){e.scrollIntoView();const t=function(){let e=r.yOffset;if(k(e))e=e();else if(e instanceof Element){const t=e[0];e="fixed"!==window.getComputedStyle(t).position?0:t.getBoundingClientRect().bottom}else x(e)||(e=0);return e}();if(t){const n=e.getBoundingClientRect().top;window.scrollBy(0,n-t)}}else window.scrollTo(0,0)}const r=function(t){let r;(t=E(t)?t:x(t)?t.toString():e.getHash())?(r=document.getElementById(t))||(r=function(e){let t=null;return Array.prototype.some.call(e,e=>{if("a"===I(e))return t=e,!0}),t}(document.getElementsByName(t)))?n(r):"top"===t&&n(null):n(null)};return this.autoScrollingEnabled&&(t.$location=e,t.$watch("$location.$$hash",(e,t)=>{if(e===t&&""===e)return;const n=()=>Promise.resolve().then(r);"complete"===document.readyState?window.setTimeout(()=>n()):window.addEventListener("load",()=>n())})),r}]}const Ws=he("$animate");function Ks(e){return w(e)?e:{}}function Qs(e){const t=this;let n=null,r=null;this.$$registeredAnimations=Object.create(null),this.register=function(n,r){if(n&&"."!==n.charAt(0))throw Ws("notcsel","Expecting class selector starting with '.' got '{0}'.",n);const s=`${n}-animation`;t.$$registeredAnimations[n.substring(1)]=s,e.factory(s,r)},this.customFilter=function(e){return 1===arguments.length&&(r=k(e)?e:null),r},this.classNameFilter=function(e){if(1===arguments.length&&(n=e instanceof RegExp?e:null,n)){if(new RegExp(`[(\\s|\\/)]${Be}[(\\s|\\/)]`).test(n.toString()))throw n=null,Ws("nongcls",'$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the "{0}" CSS class.',Be)}return n},this.$get=[Gt.$$animateQueue,function(e){return{on:e.on,off:e.off,pin:e.pin,enabled:(e,t)=>{if(void 0!==t)return me(e);e.setAttribute("animate",`${t}`)},cancel(e){e.cancel&&e.cancel()},enter:(t,n,r,s)=>(Kt(t,n=n||r.parentElement,r),e.push(t,"enter",Ks(s))),move:(t,n,r,s)=>(Kt(t,n=n||r.parentElement,r),e.push(t,"move",Ks(s))),leave:(t,n)=>e.push(t,"leave",Ks(n),()=>{Array.isArray(t)?t.forEach(e=>Pt(e)):Pt(t)}),addClass:(t,n,r)=>((r=Ks(r)).addClass=pe(r.addClass,n),e.push(t,"addClass",r)),removeClass:(t,n,r)=>((r=Ks(r)).removeClass=pe(r.removeClass,n),e.push(t,"removeClass",r)),setClass:(t,n,r,s)=>((s=Ks(s)).addClass=pe(s.addClass,n),s.removeClass=pe(s.removeClass,r),e.push(t,"setClass",s)),animate:(t,n,r,s,i)=>((i=Ks(i)).from=i.from?M(i.from,n):n,i.to=i.to?M(i.to,r):r,s=s||"ng-inline-animate",i.tempClasses=pe(i.tempClasses,s),e.push(t,"animate",i))}}]}Qs.$inject=["$provide"];class Gs{constructor(){this.cache=new Map}$get(){return this.cache}}class Js{constructor(){this.log=window.console,this.errorHandler=(e,t)=>{this.log.error(e,t)},this.$get=["$log",e=>(this.log=e,this.errorHandler)]}}function Zs(){return function(e,t,n,r){if(!v(e)){if(null==e)return e;throw he("filter")("notarray","Expected array but received: {0}",e)}let s;r=r||"$";let i=!1;switch(Xs(t)){case"function":s=t;break;case"boolean":case"null":case"number":case"string":i=!0;case"object":s=function(e,t,n,r){const s=w(e)&&n in e;let i;!0===t?t=B:k(t)||(t=function(e,t){return!y(e)&&(null===e||null===t?e===t:!(w(t)||w(e)&&!U(e))&&(e=`${e}`.toLowerCase(),t=`${t}`.toLowerCase(),-1!==e.indexOf(t)))});return i=function(i){return s&&!w(i)?Ys(i,e[n],t,n,!1):Ys(i,e,t,n,r)},i}(t,n,r,i);break;default:return e}return Array.prototype.filter.call(e,s)}}function Ys(e,t,n,r,s,i){const o=Xs(e),a=Xs(t);if("string"===a&&"!"===t.charAt(0))return!Ys(e,t.substring(1),n,r,s);if(Array.isArray(e))return e.some(e=>Ys(e,t,n,r,s));switch(o){case"object":if(s){for(let s in e)if(s.charAt&&"$"!==s.charAt(0)&&Ys(e[s],t,n,r,!0))return!0;return!i&&Ys(e,t,n,r,!1)}if("object"===a){for(let s in t){const i=t[s];if(k(i)||y(i))continue;const o=s===r;if(!Ys(o?e:e[s],i,n,r,o,o))return!1}return!0}return n(e,t);case"function":return!1;default:return n(e,t)}}function Xs(e){return null===e?"null":typeof e}function ei(){return function(e,t){return y(t)&&(t=2),Z(e,t)}}function ti(){return function(e,t,n){return k(e)&&(e=e()),P(t=Math.abs(Number(t))===1/0?Number(t):parseInt(t,10))?e:(x(e)&&(e=e.toString()),v(e)?(n=(n=!n||isNaN(n)?0:parseInt(n,10))<0?Math.max(0,e.length+n):n,t>=0?ni(e,n,n+t):0===n?ni(e,t,e.length):ni(e,Math.max(0,n+t),n)):e)}}function ni(e,t,n){return E(e)?e.slice(t,n):[].slice.call(e,t,n)}function ri(e){return function(r,s,i,o){if(null==r)return r;if(k(r))return r();if(!v(r))throw he("orderBy")("notarray","Expected array but received: {0}",r);Array.isArray(s)||(s=[s]),0===s.length&&(s=["+"]);const a=s.map(t=>{let n=1,r=e=>e;if(k(t))r=t;else if(E(t)&&("+"!==t.charAt(0)&&"-"!==t.charAt(0)||(n="-"===t.charAt(0)?-1:1,t=t.substring(1)),""!==t)){let n=e(t);if(n.constant){const e=n();r=t=>t[e]}else r=n}return{get:r,descending:n}});const c=i?-1:1,l=k(o)?o:n,u=Array.prototype.map.call(r,function(e,n){return{value:e,tieBreaker:{value:n,type:"number",index:n},predicateValues:a.map(r=>function(e,n){let r=typeof e;null===e?r="null":"object"===r&&(e=function(e){if(k(e.valueOf)&&t(e=e.valueOf()))return e;if(U(e)&&t(e=e.toString()))return e;return e}(e));return{value:e,type:r,index:n}}(r.get(e),n))}});return u.sort(function(e,t){for(let n=0,r=a.length;n<r;n++){const r=l(e.predicateValues[n],t.predicateValues[n]);if(r)return r*a[n].descending*c}return(l(e.tieBreaker,t.tieBreaker)||n(e.tieBreaker,t.tieBreaker))*c}),r=u.map(e=>e.value)};function t(e){switch(typeof e){case"number":case"boolean":case"string":return!0;default:return!1}}function n(e,t){let n=0;const r=e.type,s=t.type;if(r===s){let s=e.value,i=t.value;"string"===r?(s=s.toLowerCase(),i=i.toLowerCase()):"object"===r&&(w(s)&&(s=e.index),w(i)&&(i=t.index)),s!==i&&(n=s<i?-1:1)}else n="undefined"===r?1:"undefined"===s?-1:"null"===r?1:"null"===s||r<s?-1:1;return n}}function si(e){const t=(t,n,r)=>e.is(t,n,r);return t.$stateful=!0,t}function ii(e){const t=function(t,n,r){return e.includes(t,n,r)};return t.$stateful=!0,t}ri.$inject=[Gt.$parse],si.$inject=[Gt.$state],ii.$inject=[Gt.$state];const oi="Filter";class ai{static $inject=[Gt.$provide];constructor(e){this.$provide=e,this.register({filter:Zs,json:ei,limitTo:ti,orderBy:ri,isState:si,includedByState:ii})}register(e,t){return w(e)&&Object.entries(e).forEach(([e,t])=>{this.register(e,t)}),this.$provide.factory(e+oi,t)}$get=[Gt.$injector,e=>t=>e.get(t+oi)]}class ci{constructor(e){this.$filter=e}compile(e){let t,n,r=li(e,this.$filter);(t=function(e){if(1===e.body.length&&ui(e.body[0].expression))return{type:Oe,left:e.body[0].expression,right:{type:Ie},operator:"="}}(r))&&(n=this.recurse(t));const s=function(e){if(1!==e.length)return;const t=e[0].expression,n=t.toWatch;return 1!==n.length||n[0]!==t?n:void 0}(r.body);let i;if(s){i=[];for(const[e,t]of Object.entries(s)){const n=this.recurse(t);n.isPure=t.isPure,t.input=n,i.push(n),t.watchId=e}}const o=[];r.body.forEach(e=>{o.push(this.recurse(e.expression))});const a=0===r.body.length?()=>{}:1===r.body.length?o[0]:function(e,t){let n;return o.forEach(r=>{n=r(e,t)}),n};return n&&(a.assign=(e,t,r)=>n(e,r,t)),i&&(a.inputs=i),a.decoratedNode=r,a}recurse(e,t,n){let r,s;const i=this;let o;switch(e.type){case Re:return this.value(e.value,t);case _e:return s=this.recurse(e.argument),this[`unary${e.operator}`](s,t);case Te:case ke:return r=this.recurse(e.left),s=this.recurse(e.right),this[`binary${e.operator}`](r,s,t);case Ae:return this["ternary?:"](this.recurse(e.test),this.recurse(e.alternate),this.recurse(e.consequent),t);case Le:return i.identifier(e.name,t,n);case je:return r=this.recurse(e.object,!1,!!n),e.computed||(s=e.property.name),e.computed&&(s=this.recurse(e.property)),e.computed?this.computedMember(r,s,t,n):this.nonComputedMember(r,s,t,n);case Ne:return o=[],e.arguments.forEach(e=>{o.push(i.recurse(e))}),e.filter&&(s=this.$filter(e.callee.name)),e.filter||(s=this.recurse(e.callee,!0)),e.filter?(e,n,r)=>{const i=[];for(let t=0;t<o.length;++t){const s=o[t](e&&e.$target?e.$target:e,n,r);i.push(s)}const a=()=>s.apply(void 0,i);return t?{context:void 0,name:void 0,value:a}:a}:(e,n,r)=>{const i=s(e.$target?e.$target:e,n,r);let a;if(null!=i.value&&k(i.value)){const t=[];for(let s=0;s<o.length;++s){const i=o[s](e,n,r);t.push(k(i)?i():i)}a=i.value.apply(i.context,t)}return t?{value:a}:a};case Oe:return r=this.recurse(e.left,!0,1),s=this.recurse(e.right),(e,n,i)=>{const o=r(e,n,i),a=s(e,n,i);return(p(o.context)?o.context:o.context.$proxy??o.context)[o.name]=a,t?{value:a}:a};case Ve:return o=[],e.elements.forEach(e=>{o.push(i.recurse(e))}),(e,n,r)=>{const s=[];for(let t=0;t<o.length;++t)s.push(o[t](e,n,r));return t?{value:s}:s};case Pe:return o=[],e.properties.forEach(e=>{e.computed?o.push({key:i.recurse(e.key),computed:!0,value:i.recurse(e.value)}):o.push({key:e.key.type===Le?e.key.name:`${e.key.value}`,computed:!1,value:i.recurse(e.value)})}),(e,n,r)=>{const s={};for(let t=0;t<o.length;++t)o[t].computed?s[o[t].key(e,n,r)]=o[t].value(e,n,r):s[o[t].key]=o[t].value(e,n,r);return t?{value:s}:s};case De:return e=>t?{value:e}:e.$proxy;case Ue:return(e,n)=>t?{value:n}:n;case Ie:return(e,n,r)=>t?{value:r}:r}}"unary+"(e,t){return(n,r,s)=>{let i=e(n,r,s);return i=b(i)?+i:0,t?{value:i}:i}}"unary-"(e,t){return(n,r,s)=>{let i=e(n,r,s);return i=b(i)?-i:-0,t?{value:i}:i}}"unary!"(e,t){return(n,r,s)=>{const i=!e(n,r,s);return t?{value:i}:i}}"binary+"(e,t,n){return(r,s,i)=>{const o=e(r,s,i),a=t(r,s,i),c=(u=a,void 0===(l=o)||w(l)?u:void 0===u||w(u)?l:l+u);var l,u;return n?{value:c}:c}}"binary-"(e,t,n){return(r,s,i)=>{const o=e(r,s,i),a=t(r,s,i),c=(b(o)?o:0)-(b(a)?a:0);return n?{value:c}:c}}"binary*"(e,t,n){return(r,s,i)=>{const o=e(r,s,i)*t(r,s,i);return n?{value:o}:o}}"binary/"(e,t,n){return(r,s,i)=>{const o=e(r,s,i)/t(r,s,i);return n?{value:o}:o}}"binary%"(e,t,n){return(r,s,i)=>{const o=e(r,s,i)%t(r,s,i);return n?{value:o}:o}}"binary==="(e,t,n){return(r,s,i)=>{const o=e(r,s,i)===t(r,s,i);return n?{value:o}:o}}"binary!=="(e,t,n){return(r,s,i)=>{const o=e(r,s,i)!==t(r,s,i);return n?{value:o}:o}}"binary=="(e,t,n){return(r,s,i)=>{const o=e(r,s,i)==t(r,s,i);return n?{value:o}:o}}"binary!="(e,t,n){return(r,s,i)=>{const o=e(r,s,i)!=t(r,s,i);return n?{value:o}:o}}"binary<"(e,t,n){return(r,s,i)=>{const o=e(r,s,i)<t(r,s,i);return n?{value:o}:o}}"binary>"(e,t,n){return(r,s,i)=>{const o=e(r,s,i)>t(r,s,i);return n?{value:o}:o}}"binary<="(e,t,n){return(r,s,i)=>{const o=e(r,s,i)<=t(r,s,i);return n?{value:o}:o}}"binary>="(e,t,n){return(r,s,i)=>{const o=e(r,s,i)>=t(r,s,i);return n?{value:o}:o}}"binary&&"(e,t,n){return(r,s,i)=>{const o=e(r,s,i)&&t(r,s,i);return n?{value:o}:o}}"binary||"(e,t,n){return(r,s,i)=>{const o=e(r,s,i)||t(r,s,i);return n?{value:o}:o}}"ternary?:"(e,t,n,r){return(s,i,o)=>{const a=e(s,i,o)?t(s,i,o):n(s,i,o);return r?{value:a}:a}}value(e,t){return()=>t?{context:void 0,name:void 0,value:e}:e}identifier(e,t,n){return(r,s)=>{const i=s&&e in s?s:(r&&r.$proxy)??r;let o;return n&&1!==n&&i&&null==i[e]&&(i[e]={}),i&&(o=i.$target?i.$target[e]:i[e]),t?{context:i,name:e,value:o}:o}}computedMember(e,t,n,r){return(s,i,o)=>{const a=e(s,i,o);let c,l;return null!=a&&(c=t(s,i,o),c=function(e){return`${e}`}(c),r&&1!==r&&a&&!a[c]&&(a[c]={}),l=a[c]),n?{context:a,name:c,value:l}:l}}nonComputedMember(e,t,n,r){return(s,i,o)=>{const a=e(s,i,o);r&&1!==r&&a&&null==a[t]&&(a[t]={});const c=null!=a?a[t]:void 0;return n?{context:a,name:t,value:c}:c}}}function li(e,t,n){let r,s,i,o,a,c,l,u,h,d,p,f=e;const $=f.isPure=function(e,t){switch(e.type){case je:if(e.computed)return!1;break;case _e:return 1;case Te:return"+"!==e.operator&&1;case Ne:return!1}return void 0===t?2:t}(e,n);switch(e.type){case Se:return r=!0,f.body.forEach(e=>{let n=li(e.expression,t,$);r=r&&n.constant}),f.constant=r,f;case Re:return f.constant=!0,f.toWatch=[],f;case _e:var m=li(f.argument,t,$);return f.constant=m.constant,f.toWatch=m.toWatch,f;case Te:return o=li(f.left,t,$),a=li(f.right,t,$),f.constant=o.constant&&a.constant,f.toWatch=o.toWatch.concat(a.toWatch),f;case ke:return o=li(f.left,t,$),a=li(f.right,t,$),f.constant=o.constant&&a.constant,f.toWatch=f.constant?[]:[e],f;case Ae:return c=li(e.test,t,$),l=li(e.alternate,t,$),u=li(e.consequent,t,$),f.constant=c.constant&&l.constant&&u.constant,f.toWatch=f.constant?[]:[e],f;case Le:return f.constant=!1,f.toWatch=[e],f;case je:return h=li(e.object,t,$),e.computed&&(d=li(e.property,t,$)),f.constant=h.constant&&(!f.computed||d.constant),f.toWatch=f.constant?[]:[e],f;case Ne:return i=!!e.filter&&function(e,t){const n=e(t);return!n.$stateful}(t,e.callee.name),r=i,s=[],e.arguments.forEach(e=>{m=li(e,t,$),r=r&&m.constant,s.push.apply(s,m.toWatch)}),f.constant=r,f.toWatch=i?s:[f],f;case Oe:return o=li(e.left,t,$),a=li(e.right,t,$),f.constant=o.constant&&a.constant,f.toWatch=[f],f;case Ve:return r=!0,s=[],e.elements.forEach(e=>{m=li(e,t,$),r=r&&m.constant,s.push.apply(s,m.toWatch)}),f.constant=r,f.toWatch=s,f;case Pe:return r=!0,s=[],e.properties.forEach(e=>{m=li(e.value,t,$),r=r&&m.constant,s.push.apply(s,m.toWatch),e.computed&&(p=li(e.key,t,!1),r=r&&p.constant,s.push.apply(s,p.toWatch))}),f.constant=r,f.toWatch=s,f;case De:case Ue:return f.constant=!1,f.toWatch=[],f}}function ui(e){return e.type===Le||e.type===je}const hi=he("$parse"),di={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},pi=new Set("+ - * / % === !== == != < > <= >= && || ! = |".split(" "));class fi{constructor(e){this.options=e}lex(e){for(this.text=e,this.index=0,this.tokens=[];this.index<this.text.length;){const e=this.text.charAt(this.index);if('"'===e||"'"===e)this.readString(e);else if(this.isNumber(e)||"."===e&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdentifierStart&&this.isIdentifierStart(this.peekMultichar()))this.readIdent();else if(this.is(e,"(){}[].,;:?"))this.tokens.push({index:this.index,text:e}),this.index++;else if(this.isWhitespace(e))this.index++;else{const t=e+this.peek(),n=t+this.peek(2),r=pi.has(e),s=pi.has(t),i=pi.has(n);if(r||s||i){const r=i?n:s?t:e;this.tokens.push({index:this.index,text:r,operator:!0}),this.index+=r.length}else this.throwError("Unexpected next character ",this.index,this.index+1)}}return this.tokens}is(e,t){return-1!==t.indexOf(e)}peek(e){const t=e||1;return this.index+t<this.text.length&&this.text.charAt(this.index+t)}isNumber(e){return e>="0"&&e<="9"&&"string"==typeof e}isWhitespace(e){return" "===e||"\r"===e||"\t"===e||"\n"===e||"\v"===e}isIdentifierStart(e){return this.options.isIdentifierStart?this.options.isIdentifierStart(e,this.codePointAt(e)):e>="a"&&e<="z"||e>="A"&&e<="Z"||"_"===e||"$"===e}isIdentifierContinue(e){return this.options.isIdentifierContinue?this.options.isIdentifierContinue(e,this.codePointAt(e)):e>="a"&&e<="z"||e>="A"&&e<="Z"||"_"===e||"$"===e||e>="0"&&e<="9"}codePointAt(e){return 1===e.length?e.charCodeAt(0):(e.charCodeAt(0)<<10)+e.charCodeAt(1)-56613888}peekMultichar(){const e=this.text.charAt(this.index),t=this.peek();if(!t)return e;const n=e.charCodeAt(0),r=t.charCodeAt(0);return n>=55296&&n<=56319&&r>=56320&&r<=57343?e+t:e}isExpOperator(e){return"-"===e||"+"===e||this.isNumber(e)}throwError(e,t,n){n=n||this.index;const r=b(t)?`s ${t}-${this.index} [${this.text.substring(t,n)}]`:` ${n}`;throw hi("lexerr",`Lexer Error: ${e} at column${r} in expression [${this.text}].`)}readNumber(){let e="";const t=this.index;for(;this.index<this.text.length;){const t=this.text.charAt(this.index).toLowerCase();if("."===t||this.isNumber(t))e+=t;else{const n=this.peek();if("e"===t&&this.isExpOperator(n))e+=t;else if(this.isExpOperator(t)&&n&&this.isNumber(n)&&"e"===e.charAt(e.length-1))e+=t;else{if(!this.isExpOperator(t)||n&&this.isNumber(n)||"e"!==e.charAt(e.length-1))break;this.throwError("Invalid exponent")}}this.index++}this.tokens.push({index:t,text:e,constant:!0,value:Number(e)})}readIdent(){const e=this.index;for(this.index+=this.peekMultichar().length;this.index<this.text.length;){const e=this.peekMultichar();if(this.isIdentifierContinue&&!this.isIdentifierContinue(e))break;this.index+=e.length}this.tokens.push({index:e,text:this.text.slice(e,this.index),identifier:!0})}readString(e){const t=this.index;let n="",r=!1;for(this.index++;this.index<this.text.length;){const s=this.text[this.index];if(r)n+="u"===s?this.handleUnicodeEscape():di[s]||s,r=!1;else if("\\"===s)r=!0;else{if(s===e)return this.tokens.push({index:t,text:this.text.slice(t,this.index+1),constant:!0,value:n}),void this.index++;n+=s}this.index++}this.throwError("Unterminated quote",t)}handleUnicodeEscape(){const e=this.text.substring(this.index+1,this.index+5);return e.match(/[\da-f]{4}/i)||this.throwError(`Invalid unicode escape [\\u${e}]`),this.index+=4,String.fromCharCode(parseInt(e,16))}}const $i=he("$parse"),mi=new Map([["true",!0],["false",!1],["null",null],["undefined",void 0]]);class gi{constructor(e){this.lexer=e,this.selfReferential={this:{type:De},$locals:{type:Ue}}}ast(e){this.text=e,this.tokens=this.lexer.lex(e);const t=this.program();return 0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]),t}program(){const e=[];let t=!0;for(;t;)this.tokens.length>0&&!this.peek("}",")",";","]")&&e.push(this.expressionStatement()),this.expect(";")||(t=!1);return{type:Se,body:e}}expressionStatement(){return{type:xe,expression:this.filterChain()}}filterChain(){let e=this.assignment();for(;this.expect("|");)e=this.filter(e);return e}assignment(){let e=this.ternary();if(this.expect("=")){if(!ui(e))throw $i("lval","Trying to assign a value to a non l-value");e={type:Oe,left:e,right:this.assignment(),operator:"="}}return e}ternary(){const e=this.logicalOR();let t,n;return this.expect("?")&&(t=this.assignment(),this.consume(":"))?(n=this.assignment(),{type:Ae,test:e,alternate:t,consequent:n}):e}logicalOR(){let e=this.logicalAND();for(;this.expect("||");)e={type:ke,operator:"||",left:e,right:this.logicalAND()};return e}logicalAND(){let e=this.equality();for(;this.expect("&&");)e={type:ke,operator:"&&",left:e,right:this.equality()};return e}equality(){let e,t=this.relational();for(;e=this.expect("==","!=","===","!==");)t={type:Te,operator:e.text,left:t,right:this.relational()};return t}relational(){let e,t=this.additive();for(;e=this.expect("<",">","<=",">=");)t={type:Te,operator:e.text,left:t,right:this.additive()};return t}additive(){let e,t=this.multiplicative();for(;e=this.expect("+","-");)t={type:Te,operator:e.text,left:t,right:this.multiplicative()};return t}multiplicative(){let e,t=this.unary();for(;e=this.expect("*","/","%");)t={type:Te,operator:e.text,left:t,right:this.unary()};return t}unary(){let e;return(e=this.expect("+","-","!"))?{type:_e,operator:e.text,prefix:!0,argument:this.unary()}:this.primary()}primary(){let e,t;for(this.expect("(")?(e=this.filterChain(),this.consume(")")):this.expect("[")?e=this.arrayDeclaration():this.expect("{")?e=this.object():ve(this.selfReferential,this.peek().text)?e=structuredClone(this.selfReferential[this.consume().text]):mi.has(this.peek().text)?e={type:Re,value:mi.get(this.consume().text)}:this.peek().identifier?e=this.identifier():this.peek().constant?e=this.constant():this.throwError("not a primary expression",this.peek());t=this.expect("(","[",".");)"("===t.text?(e={type:Ne,callee:e,arguments:this.parseArguments()},this.consume(")")):"["===t.text?(e={type:je,object:e,property:this.assignment(),computed:!0},this.consume("]")):"."===t.text?e={type:je,object:e,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return e}filter(e){const t=[e],n={type:Ne,callee:this.identifier(),arguments:t,filter:!0};for(;this.expect(":");)t.push(this.assignment());return n}parseArguments(){const e=[];if(")"!==this.peekToken().text)do{e.push(this.filterChain())}while(this.expect(","));return e}identifier(){const e=this.consume();return e.identifier||this.throwError("is not a valid identifier",e),{type:Le,name:e.text}}constant(){return{type:Re,value:this.consume().value}}arrayDeclaration(){const e=[];if("]"!==this.peekToken().text)do{if(this.peek("]"))break;e.push(this.assignment())}while(this.expect(","));return this.consume("]"),{type:Ve,elements:e}}object(){const e=[];let t;if("}"!==this.peekToken().text)do{if(this.peek("}"))break;t={type:Me,kind:"init"},this.peek().constant?(t.key=this.constant(),t.computed=!1,this.consume(":"),t.value=this.assignment()):this.peek().identifier?(t.key=this.identifier(),t.computed=!1,this.peek(":")?(this.consume(":"),t.value=this.assignment()):t.value=t.key):this.peek("[")?(this.consume("["),t.key=this.assignment(),this.consume("]"),t.computed=!0,this.consume(":"),t.value=this.assignment()):this.throwError("invalid key",this.peek()),e.push(t)}while(this.expect(","));return this.consume("}"),{type:Pe,properties:e}}throwError(e,t){throw $i("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",t.text,e,t.index+1,this.text,this.text.substring(t.index))}consume(e){if(0===this.tokens.length)throw $i("ueoe","Unexpected end of expression: {0}",this.text);const t=this.expect(e);if(t)return t;this.throwError(`is unexpected, expecting [${e}]`,this.peek())}peekToken(){if(0===this.tokens.length)throw $i("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]}peek(...e){return this.peekAhead(0,...e)}peekAhead(e,...t){if(this.tokens.length>e){const n=this.tokens[e],r=n.text;if(t.includes(r)||!t[0]&&!t[1]&&!t[2]&&!t[3])return n}return!1}expect(...e){const t=this.peek(...e);return!!t&&(this.tokens.shift(),t)}}class vi{constructor(e,t){this.ast=new gi(e),this.astCompiler=new ci(t)}parse(e){const{ast:t}=this.getAst(e),n=this.astCompiler.compile(t);return n.literal=function(e){return 0===e.body.length||1===e.body.length&&(e.body[0].expression.type===Re||e.body[0].expression.type===Ve||e.body[0].expression.type===Pe)}(t),n.constant=function(e){return e.constant}(t),n}getAst(e){return e=e.trim(),{ast:this.ast.ast(e)}}}class yi{constructor(){const e=Object.create(null);let t,n;this.setIdentifierFns=function(e,r){return t=e,n=r,this},this.$get=["$filter",function(r){const s={isIdentifierStart:k(t)&&t,isIdentifierContinue:k(n)&&n};return function(t,n){let o,a;switch(typeof t){case"string":if(a=t=t.trim(),o=e[a],!o){const n=new fi(s);o=new vi(n,r).parse(t),e[a]=wi(o)}return i(o,n);case"function":return i(t,n);default:return i(()=>{},n)}};function i(e,t){if(!t)return e;e.$$interceptor&&(t=function(e,t){function n(n){return t(e(n))}return n.$stateful=e.$stateful||t.$stateful,n.$$pure=e.$$pure&&t.$$pure,n}(e.$$interceptor,t),e=e.$$intercepted);let n=!1;const r=function(r,s,i,o){const a=n&&o?o[0]:e(r,s,i,o);if(r?.getter)return;const c=k(a)?a():a;return t(p(c)?c.$target:c)};return r.$$intercepted=e,r.$$interceptor=t,r.literal=e.literal,r.oneTime=e.oneTime,r.constant=e.constant,r.decoratedNode=e.decoratedNode,t.$stateful||(n=!e.inputs,r.inputs=e.inputs?e.inputs:[e],t.$$pure||(r.inputs=r.inputs.map(function(e){return 2===e.isPure?function(t){return e(t)}:e}))),wi(r)}}]}}function bi(e,t,n,r){const s=e.$watch(()=>(s(),r(e)),t,n);return s}function wi(e){return e.constant?e.$$watchDelegate=bi:e.inputs&&(e.$$watchDelegate=Ei),e}function Ei(e,t,n,r){let s,i=r.inputs;if(1===i.length){let o=Ci,a=i[0];return e.$watch(e=>{const t=a(e);return Ci(t,o,a.isPure)||(s=r(e,void 0,[t]),o=t&&Si(t)),s},t,n)}{const o=[],a=[];for(let e=0,t=i.length;e<t;e++)o[e]=Ci,a[e]=null;return e.$watch(e=>{let t=!1;for(let n=0,r=i.length;n<r;n++){const r=i[n](e);(t||(t=!Ci(r,o[n],i[n].isPure)))&&(a[n]=r,o[n]=r&&Si(r))}return t&&(s=r(e,void 0,a)),s},t,n)}}function Ci(e,t,n){return null==e||null==t?e===t:!("object"==typeof e&&"object"==typeof(e=Si(e))&&!n)&&(e===t||e!=e&&t!=t)}function Si(e){return k(e.valueOf)?e.valueOf():{}.constructor.prototype.valueOf.call(e)}const xi=he("$interpolate");function Oi(e,t){throw xi("interr","Can't interpolate: {0}\n{1}",e,t.toString())}class Ai{constructor(){this.startSymbol="{{",this.endSymbol="}}"}$get=[Gt.$parse,Gt.$sce,function(e,t){const n=this,r=n.startSymbol.length,s=n.endSymbol.length,i=new RegExp(n.startSymbol.replace(/./g,a),"g"),o=new RegExp(n.endSymbol.replace(/./g,a),"g");function a(e){return`\\\\\\${e}`}function c(e){return e.replace(i,n.startSymbol).replace(o,n.endSymbol)}function l(i,o,a,l){const u=a===t.URL||a===t.MEDIA_URL;if(!i.length||-1===i.indexOf(n.startSymbol)){if(o)return;let e=c(i);u&&(e=t.getTrusted(a,e));const n=()=>e;return n.exp=i,n.expressions=[],n.$$watchDelegate=bi,n}let h,d;l=!!l;let p=0;const f=[];let $;const m=i.length;let g;const v=[],w=[];let E;for(;p<m;){if(-1===(h=i.indexOf(n.startSymbol,p))||-1===(d=i.indexOf(n.endSymbol,h+r))){p!==m&&v.push(c(i.substring(p)));break}p!==h&&v.push(c(i.substring(p,h))),g=i.substring(h+r,d),f.push(g),p=d+s,w.push(v.length),v.push("")}E=1===v.length&&1===w.length;const C=u&&E?void 0:function(e){try{return e=a&&!u?t.getTrusted(a,e):t.valueOf(e),l&&!b(e)?e:W(e)}catch(e){Oi(i,e)}};if($=f.map(t=>e(t,C)),!o||f.length){const e=function(e){for(let t=0,n=f.length;t<n;t++){if(l&&y(e[t]))return;v[w[t]]=e[t]}return u?t.getTrusted(a,E?v[0]:v.join("")):(a&&v.length>1&&function(e){throw xi("noconcat","Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required. See http://docs.angularjs.org/api/ng.$sce",e)}(i),v.join(""))};return M((t,n)=>{let r=0;const s=f.length,o=new Array(s);try{for(;r<s;r++){if(n){const i=f[r].trim();t.$watch(i,()=>{let r=new Array(s),i=0;for(;i<s;i++){let e=$[i];r[i]=e(t)}n(e(r))})}o[r]=$[r](t)}return e(o)}catch(e){Oi(i,e)}},{exp:i,expressions:f,$$watchDelegate(t,n){let r;return t.$watch($,function(s,i){const o=e(s);n.call(this,o,s!==i?r:o,t),r=o})}})}}return l.startSymbol=function(){return n.startSymbol},l.endSymbol=function(){return n.endSymbol},l}]}let ki={},Ti="";const _i="application/json",Ni={"Content-Type":`${_i};charset=utf-8`},ji=/^\[|^\{(?!\{)/,Li={"[":/]$/,"{":/}$/},Ri=/^\)]\}',?\n/,Vi=he("$http");function Mi(e){return w(e)?O(e)?e.toISOString():Z(e):e}function Pi(){this.$get=()=>e=>{if(!e)return"";const t=[];return Object.keys(e).sort().forEach(n=>{const r=e[n];null===r||y(r)||k(r)||(Array.isArray(r)?r.forEach(e=>{t.push(`${re(n)}=${re(Mi(e))}`)}):t.push(`${re(n)}=${re(Mi(r))}`))}),t.join("&")}}function Di(e,t){if(E(e)){const r=e.replace(Ri,"").trim();if(r){const s=t("Content-Type"),i=s&&0===s.indexOf(_i);if(i||function(e){const t=e.match(ji);return t&&Li[t[0]].test(e)}(r))try{e=E(n=r)?JSON.parse(n):n}catch(t){if(!i)return e;throw Vi("baddata",'Data must be a valid JSON object. Received: "{0}". Parse error: "{1}"',e,t)}}}var n;return e}function Ui(e){const t=Object.create(null);let n;function r(e,n){e&&(t[e]=t[e]?`${t[e]}, ${n}`:n)}return E(e)?e.split("\n").forEach(e=>{n=e.indexOf(":"),r(e.substring(0,n).trim().toLowerCase(),R(e.substring(n+1)))}):w(e)&&Object.entries(e).forEach(([e,t])=>{r(e.toLowerCase(),R(t))}),t}function Ii(e){let t;return function(n){if(t||(t=Ui(e)),n){let e=t[n.toLowerCase()];return void 0===e&&(e=null),e}return t}}function Hi(e,t,n,r){return k(r)?r(e,t,n):(Array.isArray(r)&&r.forEach(r=>{e=r(e,t,n)}),e)}function Fi(e){return e>=200&&e<300}function qi(){const e=this.defaults={transformResponse:[Di],transformRequest:[function(e){return!w(e)||(t=e,"[object File]"===toString.call(t))||function(e){return"[object Blob]"===toString.call(e)}(e)||function(e){return"[object FormData]"===toString.call(e)}(e)?e:Z(e);var t}],headers:{common:{Accept:"application/json, text/plain, */*"},post:ie(Ni),put:ie(Ni),patch:ie(Ni)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer"};let t=!1;this.useApplyAsync=function(e){return b(e)?(t=!!e,this):t},this.interceptors=[],this.xsrfTrustedOrigins=[],Object.defineProperty(this,"xsrfWhitelistedOrigins",{get(){return this.xsrfTrustedOrigins},set(e){this.xsrfTrustedOrigins=e}}),this.$get=[Gt.$injector,Gt.$sce,function(n,r){const s=new Map;e.paramSerializer=E(e.paramSerializer)?n.get(e.paramSerializer):e.paramSerializer;const i=[];this.interceptors.forEach(e=>{i.unshift(E(e)?n.get(e):n.invoke(e))});const o=function(e){const t=[Ln].concat(e.map(Rn));return function(e){const n=Rn(e);return t.some(Vn.bind(null,n))}}(this.xsrfTrustedOrigins);function a(c){if(!w(c))throw he("$http")("badreq","Http request configuration must be an object. Received: {0}",c);if(!E(r.valueOf(c.url)))throw he("$http")("badreq","Http request configuration url must be a string or a $sce trusted object. Received: {0}",c.url);const l=M({method:"get",transformRequest:e.transformRequest,transformResponse:e.transformResponse,paramSerializer:e.paramSerializer},c);var u;l.headers=function(t){let n=e.headers,r=M({},t.headers);return n=M({},n.common,n[g(t.method)]),Object.keys(n).forEach(e=>{const t=g(e);Object.keys(r).some(e=>g(e)===t)||(r[e]=n[e])}),function(e,t){let n;const r={};return Object.entries(e).forEach(([e,s])=>{k(s)?(n=s(t),null!=n&&(r[e]=n)):r[e]=s}),r}(r,ie(t))}(c),l.method=E(u=l.method)?u.toUpperCase():u,l.paramSerializer=E(l.paramSerializer)?n.get(l.paramSerializer):l.paramSerializer;const h=[],d=[];let p=Promise.resolve(l);return i.forEach(e=>{(e.request||e.requestError)&&h.unshift(e.request,e.requestError),(e.response||e.responseError)&&d.push(e.response,e.responseError)}),p=f(p,h),p=p.then(function(n){const{headers:i}=n,c=Hi(n.data,Ii(i),void 0,n.transformRequest);y(c)&&Object.keys(i).forEach(e=>{"content-type"===g(e)&&delete i[e]});y(n.withCredentials)&&!y(e.withCredentials)&&(n.withCredentials=e.withCredentials);return function(n,i){const{promise:c,resolve:l,reject:u}=Promise.withResolvers();let h,d;const p=n.headers;let{url:f}=n;E(f)||(f=r.valueOf(f));f=function(e,t){t.length>0&&(e+=(-1===e.indexOf("?")?"?":"&")+t);return e}(f,n.paramSerializer(n.params)),a.pendingRequests.push(n),c.then(C,C),(n.cache||e.cache)&&!1!==n.cache&&"GET"===n.method&&(h=w(n.cache)?n.cache:w(e.cache)?e.cache:s);h&&(d=h.get(f),b(d)?L(d)?d.then(v,v):Array.isArray(d)?g(d[1],d[0],ie(d[2]),d[3],d[4]):g(d,200,{},"OK","complete"):h.set(f,c));if(y(d)){const t=o(n.url)?function(){let e,t,n,r,s;const i=document.cookie;if(i!==Ti)for(Ti=i,e=Ti.split("; "),ki={},n=0;n<e.length;n++)t=e[n],r=t.indexOf("="),r>0&&(s=Bi(t.substring(0,r)),y(ki[s])&&(ki[s]=Bi(t.substring(r+1))));return ki}()[n.xsrfCookieName||e.xsrfCookieName]:void 0;t&&(p[n.xsrfHeaderName||e.xsrfHeaderName]=t),function(e,t,n,r,s,i,o,a,c,l){t=t||Mn(window.location.href);const u=new XMLHttpRequest;let h,d=!1;if(u.open(e,t,!0),s)for(const[e,t]of Object.entries(s))b(t)&&u.setRequestHeader(e,t);if(u.onload=()=>{let e=u.status||0;const n=u.statusText||"";0===e&&(e=u.response?200:"file:"===new URL(t).protocol?404:0),f(e,u.response,u.getAllResponseHeaders(),n,"complete")},u.onerror=()=>f(-1,null,null,"","error"),u.ontimeout=()=>f(-1,null,null,"","timeout"),u.onabort=()=>{f(-1,null,null,"",d?"timeout":"abort")},c)for(const[e,t]of Object.entries(c))u.addEventListener(e,t);if(l)for(const[e,t]of Object.entries(l))u.upload.addEventListener(e,t);o&&(u.withCredentials=!0);if(a)try{u.responseType=a}catch(e){if("json"!==a)throw e}u.send(y(n)?null:n),"number"==typeof i&&i>0?h=setTimeout(()=>p("timeout"),i):L(i)&&i.then(()=>{p(b(i.$$timeoutId)?"timeout":"abort")});function p(e){d="timeout"===e,u&&u.abort()}function f(e,t,n,s,i){b(h)&&clearTimeout(h),r(e,t,n,s,i)}}(n.method,f,i,m,p,n.timeout,n.withCredentials,n.responseType,$(n.eventHandlers),$(n.uploadEventHandlers))}return c;function $(e){if(e){const n={};return Object.entries(e).forEach(([e,r])=>{n[e]=function(e){function n(){r(e)}t?setTimeout(()=>n()):n()}}),n}return{}}function m(e,n,r,s,i){function o(){g(n,e,r,s,i)}h&&(Fi(e)?h.set(f,[e,n,Ui(r),s,i]):h.delete(f)),t?setTimeout(o):o()}function g(e,t,r,s,i){(Fi(t=t>=-1?t:0)?l:u)({data:e,status:t,headers:Ii(r),config:n,statusText:s,xhrStatus:i})}function v(e){g(e.data,e.status,ie(e.headers()),e.statusText,e.xhrStatus)}function C(){const e=a.pendingRequests.indexOf(n);-1!==e&&a.pendingRequests.splice(e,1)}}(n,c).then($,$)}),p=f(p,d),p;function f(e,t){for(let n=0,r=t.length;n<r;){const r=t[n++],s=t[n++];e=e.then(r,s)}return t.length=0,e}function $(e){const t=M({},e);return t.data=Hi(e.data,e.headers,e.status,l.transformResponse),Fi(e.status)?t:Promise.reject(t)}}return a.pendingRequests=[],function(...e){e.forEach(e=>{a[e]=function(t,n){return a(M({},n||{},{method:e,url:t}))}})}("get","delete","head"),function(...e){e.forEach(e=>{a[e]=function(t,n,r){return a(M({},r||{},{method:e,url:t,data:n}))}})}("post","put","patch"),a.defaults=e,a}]}function Bi(e){try{return decodeURIComponent(e)}catch{return e}}const zi=/^([^?#]*)(\?([^#]*))?(#(.*))?$/,Wi=he("$location");let Ki,Qi,Gi,Ji=!1;class Zi{constructor(e,t,n=!0,r){this.appBase=e,this.appBaseNoFile=t,this.html5=n,this.basePrefix=n?r||"":void 0,this.hashPrefix=n?void 0:r,this.absUrl="",this.$$url=void 0,this.$$updateBrowser=void 0}setUrl(e){const t=zi.exec(e);return void 0===t[1]&&""!==e||this.setPath(t[1]||""),void 0===t[2]&&void 0===t[1]&&""!==e||this.setSearch(t[3]||""),this.setHash(t[5]||""),this}getUrl(){return this.$$url}setPath(e){let t=null!==e?e.toString():"";return Ki="/"===t.charAt(0)?t:`/${t}`,this.$$compose(),this}getPath(){return Ki}setHash(e){return Gi=null!==e?e.toString():"",this.$$compose(),this}getHash(){return Gi}setSearch(e,t){if(1===arguments.length)if(E(e)||x(e))e=e.toString(),Qi=X(e);else{if(!w(e))throw Wi("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");e=structuredClone(e,{}),Object.entries(e).forEach(([t,n])=>{null==n&&delete e[t]}),Qi=e}else y(t)||null===t?delete Qi[e]:Qi[e]=t;return this.$$compose(),this}getSearch(){return Qi}$$compose(){this.$$url=function(e,t,n){const r=ee(t),s=n?`#${ne(n)}`:"";return function(e){const t=e.split("/");let n=t.length;for(;n--;){const e=decodeURIComponent(t[n].replace(/%2F/gi,"/"));t[n]=ne(e)}return t.join("/")}(e)+(r?`?${r}`:"")+s}(Ki,Qi,Gi),this.absUrl=this.html5?this.appBaseNoFile+this.$$url.substring(1):this.appBase+(this.$$url?this.hashPrefix+this.$$url:""),Ji=!0,setTimeout(()=>this.$$updateBrowser&&this.$$updateBrowser())}setState(e){if(!this.html5)throw Wi("nostate","History API state support is available only in HTML5 mode");return this.$$state=y(e)?null:e,Ji=!0,this}getState(){return this.$$state}parseLinkUrl(e,t){if(this.html5){if(t&&"#"===t[0])return this.setHash(t.slice(1)),!0;let n,r,s;return b(n=eo(this.appBase,e))?(r=n,s=this.basePrefix&&b(n=eo(this.basePrefix,n))?this.appBaseNoFile+(eo("/",n)||n):this.appBase+r):b(n=eo(this.appBaseNoFile,e))?s=this.appBaseNoFile+n:this.appBaseNoFile===`${e}/`&&(s=this.appBaseNoFile),s&&this.parse(s),!!s}return to(this.appBase)===to(e)&&(this.parse(e),!0)}parse(e){if(this.html5){const t=eo(this.appBaseNoFile,e);if(!E(t))throw Wi("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',e,this.appBaseNoFile);Xi(t,!0),Ki||(Ki="/"),this.$$compose()}else{const n=eo(this.appBase,e)||eo(this.appBaseNoFile,e);let r;function s(e,t,n){const r=/^\/[A-Z]:(\/.*)/;let s;return we(t,n)&&(t=t.replace(n,"")),r.exec(t)?e:(s=r.exec(e),s?s[1]:e)}y(n)||"#"!==n.charAt(0)?this.html5?r=n:(r="",y(n)&&(this.appBase=e)):(r=eo(this.hashPrefix,n),y(r)&&(r=n)),Xi(r,!1),Ki=s(Ki,r,this.appBase),this.$$compose()}}}class Yi{constructor(){this.hashPrefixConf="!",this.html5ModeConf={enabled:!0,requireBase:!1,rewriteLinks:!0},this.urlChangeListeners=[],this.urlChangeInit=!1,this.cachedState=null,this.lastHistoryState=null,this.lastBrowserUrl=window.location.href,this.cacheState()}setUrl(e,t){if(void 0===t&&(t=null),e){if(e=new URL(e).href,this.lastBrowserUrl===e&&this.lastHistoryState===t)return this;this.lastBrowserUrl=e,this.lastHistoryState=t,history.pushState(t,"",e),this.cacheState()}}getBrowserUrl(){return Mn(window.location.href)}state(){return this.cachedState}cacheState(){const e=history.state??null;B(e,this.lastCachedState)||(this.cachedState=e,this.lastCachedState=e,this.lastHistoryState=e)}#e(){const e=this.lastHistoryState;this.cacheState(),this.lastBrowserUrl===this.getBrowserUrl()&&e===this.cachedState||(this.lastBrowserUrl=this.getBrowserUrl(),this.lastHistoryState=this.cachedState,this.urlChangeListeners.forEach(e=>{e(Mn(window.location.href),this.cachedState)}))}#t(e){this.urlChangeInit||(window.addEventListener("popstate",this.#e.bind(this)),window.addEventListener("hashchange",this.#e.bind(this)),this.urlChangeInit=!0),this.urlChangeListeners.push(e)}$get=[Gt.$rootScope,Gt.$rootElement,(e,t)=>{const n=Qt(),r=Mn(window.location.href);let s;if(this.html5ModeConf.enabled){if(!n&&this.html5ModeConf.requireBase)throw Wi("nobase","$location in HTML5 mode requires a <base> tag to be present!");s=function(e){const t=e.indexOf("//")+2,n=e.indexOf("/",t);return-1===n?e:e.substring(0,n)}(r)+(n||"/")}else s=to(r);const i=(o=s).substring(0,to(o).lastIndexOf("/")+1);var o;const a=new Zi(s,i,this.html5ModeConf.enabled,`#${this.hashPrefixConf}`);a.parseLinkUrl(r,r),a.$$state=this.state();const c=/^\s*(javascript|mailto):/i,l=(e,t)=>{const n=a.getUrl(),r=a.$$state;try{this.setUrl(e,t),a.$$state=this.state()}catch(e){throw a.setUrl(n),a.$$state=r,e}};t.addEventListener("click",e=>{const n=this.html5ModeConf.rewriteLinks;if(!n||e.ctrlKey||e.metaKey||e.shiftKey||2===e.button)return;let r=e.target;for(;"a"!==r.nodeName.toLowerCase();)if(r===t||!(r=r.parentElement))return;if(E(n)&&y(r.getAttribute(n)))return;let s=r.href;const i=r.getAttribute("href")||r.getAttribute("xlink:href");if(w(s)&&"[object SVGAnimatedString]"===s.toString()){s=new URL(s.animVal).href}c.test(s)||!s||r.getAttribute("target")||e.defaultPrevented||a.parseLinkUrl(s,i)&&e.preventDefault()}),a.absUrl!==r&&this.setUrl(a.absUrl,!0);let u=!0;this.#t((t,n)=>{we(t,i)?Promise.resolve().then(()=>{const r=a.absUrl,s=a.$$state;let i;a.parse(t),a.$$state=n,i=e.$broadcast("$locationChangeStart",t,r,n,s).defaultPrevented,a.absUrl===t&&(i?(a.parse(r),a.$$state=s,l(r,s)):(u=!1,d(r,s)))}):window.location.href=t});const h=()=>{if(u||Ji){Ji=!1;const n=this.getBrowserUrl(),r=a.absUrl,s=this.state(),i=(t=r,!(no(n)===no(t))||a.html5&&s!==a.$$state);(u||i)&&(u=!1,setTimeout(()=>{const t=a.absUrl,{defaultPrevented:r}=e.$broadcast("$locationChangeStart",t,n,a.$$state,s);a.absUrl===t&&(r?(a.parse(n),a.$$state=s):(i&&l(t,s===a.$$state?null:a.$$state),d(n,s)))}))}var t};return a.$$updateBrowser=h,h(),e.$on("$updateBrowser",h),a;function d(t,n){e.$broadcast("$locationChangeSuccess",a.absUrl,t,a.$$state,n)}}]}function Xi(e,t){if(/^\s*[\\/]{2,}/.test(e))throw Wi("badpath",'Invalid url "{0}".',e);const n="/"!==e.charAt(0);n&&(e=`/${e}`);const r=Rn(e),s=n&&"/"===r.pathname.charAt(0)?r.pathname.substring(1):r.pathname;Ki=function(e,t){const n=e.split("/");let r=n.length;for(;r--;)n[r]=decodeURIComponent(n[r]),t&&(n[r]=n[r].replace(/\//g,"%2F"));return n.join("/")}(s,t),Qi=X(r.search),Gi=decodeURIComponent(r.hash),Ki&&"/"!==Ki.charAt(0)&&(Ki=`/${Ki}`)}function eo(e,t){if(we(t,e))return t.substring(e.length)}function to(e){const t=e.indexOf("#");return-1===t?e:e.substring(0,t)}function no(e){const t=document.createElement("a");t.href=e;let n=t.href;return n.endsWith("/")&&!/^https?:\/\/[^/]+\/$/.test(n)&&(n=n.slice(0,-1)),n.endsWith("#")&&(n=n.slice(0,-1)),n}class ro{constructor(){this.debug=!1,this._override=null}setLogger(e){this._override=e}formatError(e){return A(e)&&(e.stack?e=e.message&&-1===e.stack.indexOf(e.message)?`Error: ${e.message}\n${e.stack}`:e.stack:e.sourceURL&&(e=`${e.message}\n${e.sourceURL}:${e.line}`)),e}consoleLog(e){const t=window.console||{},n=t[e]||t.log||(()=>{});return(...e)=>{const r=e.map(e=>this.formatError(e));return n.apply(t,r)}}$get(){return this._override?this._override():{log:this.consoleLog("log"),info:this.consoleLog("info"),warn:this.consoleLog("warn"),error:this.consoleLog("error"),debug:(()=>{const e=this.consoleLog("debug");return(...t)=>{this.debug&&e.apply(this,t)}})()}}}let so,io,oo=0;const ao=[];class co{constructor(){this.rootScope=lo()}$get=[Gt.$exceptionHandler,Gt.$parse,(e,t)=>(io=e,so=t,this.rootScope)]}function lo(e={},t){if(C(e)||!0===e[uo]||!0===(e.constructor&&e.constructor[uo]))return e;if("object"==typeof e){if(function(e){if(null==e)return!1;const t=typeof e;if("object"!==t&&"function"!==t)return!1;const n=globalThis;if(e===n||e===n.window||e===n.document||e===n.self||e===n.frames)return!0;if("undefined"!=typeof Window&&e instanceof Window||"undefined"!=typeof Document&&e instanceof Document||"undefined"!=typeof Element&&e instanceof Element||"undefined"!=typeof Node&&e instanceof Node||"undefined"!=typeof EventTarget&&e instanceof EventTarget)return!0;if(e instanceof Promise)return!0;if("undefined"!=typeof Event&&e instanceof Event)return!0;try{return"[object Window]"===Object.prototype.toString.call(e)}catch{return!0}}(e))return e;const n=new Proxy(e,t||new ho);for(const t in e)if(ve(e,t))try{e.constructor.$nonscope&&Array.isArray(e.constructor.$nonscope)&&e.constructor.$nonscope.includes(t)||e.$nonscope&&Array.isArray(e.$nonscope)&&e.$nonscope.includes(t)||(e[t]=lo(e[t],n.$handler))}catch{}return n}return e}const uo="$nonscope";class ho{constructor(e,t){this.context=e?e.context?e.context:e:void 0,this.watchers=e?e.watchers:new Map,this.$$listeners=new Map,this.foreignListeners=e?e.foreignListeners:new Map,this.foreignProxies=e?e.foreignProxies:new Set,this.objectListeners=e?e.objectListeners:new WeakMap,this.functionListeners=e?e.functionListeners:new Map,this.$proxy=null,this.$handler=this,this.$target=null,this.$value=null,this.$children=[],this.$id=(oo+=1,oo),this.$root=e?e.$root:this,this.$parent=t||(this.$root===this?null:e),this.$$asyncQueue=[],this.filters=[],this.$$destroyed=!1,this.scheduled=[],this.$scopename=void 0,this.propertyMap={$watch:this.$watch.bind(this),$new:this.$new.bind(this),$newIsolate:this.$newIsolate.bind(this),$destroy:this.$destroy.bind(this),$flushQueue:this.$flushQueue.bind(this),$eval:this.$eval.bind(this),$apply:this.$apply.bind(this),$postUpdate:this.$postUpdate.bind(this),$isRoot:this.#n.bind(this),$on:this.$on.bind(this),$emit:this.$emit.bind(this),$broadcast:this.$broadcast.bind(this),$transcluded:this.$transcluded.bind(this),$handler:this,$merge:this.$merge.bind(this),$getById:this.$getById.bind(this),$searchByName:this.$searchByName.bind(this),$proxy:this.$proxy,$parent:this.$parent,$root:this.$root,$children:this.$children,$id:this.$id,$scopename:this.$scopename}}set(e,t,n,r){if("undefined"===t)return!1;if("$scopename"===t)return this.$scopename=n,!0;if(e.constructor?.$nonscope&&Array.isArray(e.constructor.$nonscope)&&e.constructor.$nonscope.includes(t)||e.$nonscope&&Array.isArray(e.$nonscope)&&e.$nonscope.includes(t))return e[t]=n,!0;this.$proxy=r,this.$target=e;const s=e[t];if(void 0!==s&&Number.isNaN(s)&&Number.isNaN(n))return!0;if(s&&s[d]){if(Array.isArray(n)){if(s!==n){const e=this.watchers.get(t);e&&this.#r(e);const n=this.foreignListeners.get(t);n&&this.#r(n)}return this.objectListeners.get(e[t])&&this.objectListeners.delete(e[t]),e[t]=lo(n,this),this.objectListeners.set(e[t],[t]),!0}if(w(n)){if(ve(e,t)&&Object.keys(s).filter(e=>!n[e]).forEach(e=>{delete s[e]}),s!==n){const e=this.watchers.get(t);e&&this.#r(e);const r=this.foreignListeners.get(t);r&&this.#r(r),this.#s(n)}return e[t]=lo(n,this),!0}if(y(n)){let n=!1;if(Object.keys(s.$target).forEach(e=>{s.$target[e]?.[d]&&(n=!0),delete s[e]}),e[t]=void 0,!n){let e=this.watchers.get(t);e&&this.#r(e)}return!0}if(b(n)){e[t]=n;let s=this.watchers.get(t);if(s&&this.#r(s),Array.isArray(e)&&this.objectListeners.has(r)&&"length"!==t){this.objectListeners.get(r).forEach(e=>{const t=this.watchers.get(e);t&&this.#r(t)})}return!0}return!0}if(y(e[t])&&p(n)&&(this.foreignProxies.add(n),e[t]=n,!this.watchers.has(t)))return!0;if(y(n)?e[t]=n:e[t]=lo(n,this),s!==n){let r=this.$target,i=[];if(y(s)&&w(e[t])){this.objectListeners.has(e[t])||this.objectListeners.set(e[t],[t]);for(const e of Object.keys(n))this.watchers.get(e)?.forEach(e=>i.push(e)),r=n}Array.isArray(e)&&this.watchers.get("length")?.forEach(e=>i.push(e)),this.watchers.get(t)?.forEach(e=>i.push(e)),i.length>0&&this.#r(i,e=>e.filter(e=>{if(!e.watchProp)return!0;const t=e.watchProp.split(".").slice(0,-1).join("."),n=so(t)(e.originalTarget)?.$handler;return r===n?.$target}));let o=this.foreignListeners.get(t);!o&&this.$parent?.foreignListeners&&(o=this.$parent.foreignListeners.get(t)),o&&(this.$target.$$hashKey&&(o=o.filter(e=>!!e.originalTarget.$$hashKey&&e.originalTarget.$$hashKey===this.$target.$$hashKey)),this.#r(o))}if(this.objectListeners.has(r)&&"length"!==t){this.objectListeners.get(r).forEach(e=>{const t=this.watchers.get(e);t&&this.scheduled!==t&&this.#r(t)})}return!0}get(e,t,n){if("$scopename"===t&&this.$scopename)return this.$scopename;if("$$watchersCount"===t)return function(e){const t=po(e).add(e.$id);return Array.from(e.watchers.values()).reduce((e,n)=>e+n.reduce((e,n)=>e+(t.has(n.scopeId)?1:0),0),0)}(this);if(t===d)return!0;if(e[t]&&p(e[t])?this.$proxy=e[t]:this.$proxy=n,this.propertyMap.$target=e,this.propertyMap.$proxy=n,Array.isArray(e)&&["pop","shift","unshift"].includes(t)){if(this.objectListeners.has(n)){this.objectListeners.get(this.$proxy).forEach(e=>{const t=this.watchers.get(e);t&&(this.scheduled=t)})}"unshift"===t&&this.#r(this.scheduled)}return ve(this.propertyMap,t)?(this.$target=e,this.propertyMap[t]):e[t]}deleteProperty(e,t){if(e[t]&&e[t][d]){e[t]=void 0;let n=this.watchers.get(t);if(n&&this.#r(n),this.objectListeners.has(this.$proxy)){this.objectListeners.get(this.$proxy).forEach(e=>{n=this.watchers.get(e),n&&this.#r(n)})}return this.scheduled&&(this.#r(this.scheduled),this.scheduled=[]),!0}if(delete e[t],this.objectListeners.has(this.$proxy)){this.objectListeners.get(this.$proxy).forEach(e=>{const t=this.watchers.get(e);t&&this.#r(t)})}else{const n=this.watchers.get(t);n&&this.#r(n,e[t])}return!0}#s(e){y(e)||Object.keys(e).forEach(t=>{const n=this.watchers.get(t);n&&this.#r(n),w(e[t])&&this.#s(e[t])})}#r(e,t=e=>e){Promise.resolve().then(()=>{let n=0,r=t(e);for(;n<r.length;){const e=r[n];e.foreignListener?e.foreignListener.#i(e,this.$target):this.#i(e,this.$target),n++}})}$watch(e,t,n=!1){oe(E(e),"Watched property required"),e=e.trim();const r=so(e);if(r.constant)return t&&Promise.resolve().then(()=>{let e=r();for(;k(e);)e=e();t(e,this.$target)}),()=>{};const s={originalTarget:this.$target,listenerFn:t,watchFn:r,scopeId:this.$id,id:m(),property:[]};let i=r.decoratedNode.body[0].expression.name,o=[],a=r.decoratedNode.body[0].expression.type;switch(a){case Se:case xe:throw new Error("Unsupported type "+a);case Oe:if(!t){let e=r(this.$target);for(;k(e);)e=e(this.$target);return Promise.resolve().then(e),()=>{}}i=r.decoratedNode.body[0].expression.left.name;break;case Ae:i=r.decoratedNode.body[0].expression.toWatch[0]?.test?.name,s.property.push(i);break;case ke:{let e=[];return e.push(r.decoratedNode.body[0].expression.left.toWatch[0]?.name),e.push(r.decoratedNode.body[0].expression.right.toWatch[0]?.name),e.forEach(e=>{this.#o(e,s)}),()=>{e.forEach(e=>{this.#a(e,s.id)})}}case Te:if(r.decoratedNode.body[0].expression.isPure){let e=r.decoratedNode.body[0].expression.toWatch[0];if(i=e.property?e.property.name:e.name,!i)throw new Error("Unable to determine key");s.property.push(i);break}{let e=[];return r.decoratedNode.body[0].expression.toWatch.forEach(t=>{const n=t.property?t.property.name:t.name;if(!n)throw new Error("Unable to determine key");e.push(n)}),e.forEach(e=>{this.#o(e,s),this.#r([s])}),()=>{e.forEach(e=>{this.#a(e,s.id)})}}case _e:{let e=r.decoratedNode.body[0].expression.toWatch[0];if(i=e.property?e.property.name:e.name,!i)throw new Error("Unable to determine key");s.property.push(i);break}case Ne:{let e=[];return r.decoratedNode.body[0].expression.toWatch.forEach(t=>{b(t)&&e.push(t.name)}),e.forEach(e=>{this.#o(e,s),this.#r([s])}),()=>{e.forEach(e=>{this.#a(e,s.id)})}}case je:if(i=r.decoratedNode.body[0].expression.property.name,i||(i=r.decoratedNode.body[0].expression.object.name),s.property.push(i),e!==i){s.watchProp=e;let t=so(e.split(".").slice(0,-1).join("."))(s.originalTarget);if(t&&this.foreignProxies.has(t))return t.$handler.#c(i,s),t.$handler.#r([s]),()=>t.$handler.#a(i,s.id)}break;case Le:s.property.push(r.decoratedNode.body[0].expression.name);break;case Re:throw new Error("Unsupported type "+a);case Ve:{let e=r.decoratedNode.body[0].expression.elements.map(e=>11===e.type?e.value:e.toWatch[0].name).filter(e=>!!e);return e.forEach(e=>{this.#o(e,s),this.#r([s])}),()=>{e.forEach(e=>{this.#a(e,s.id)})}}case Me:throw new Error("Unsupported type "+a);case Pe:r.decoratedNode.body[0].expression.properties.forEach(e=>{if(!1===e.key.isPure)o.push(e.key.name),s.property.push(i);else if(e.value.name)o.push(e.value.name),s.property.push(i);else{const e=r.decoratedNode.body[0].expression.toWatch[0];i=e.property?e.property.name:e.name,s.property.push(i)}});break;case De:case Ue:case Ie:throw new Error("Unsupported type "+a)}let c=s.watchFn(this.$target);return w(c)&&this.objectListeners.set(c,[i]),o.length>0?o.forEach(e=>{this.#o(e,s)}):this.#o(i,s),n||this.#r([s]),()=>{if(o.length>0){let e=!0;return o.forEach(t=>{this.#a(t,s.id)||(e=!1)}),e}return this.#a(i,s.id)}}$new(e){let t;e?(Object.getPrototypeOf(e)===Object.prototype||Object.getPrototypeOf(e)==this.$target?Object.setPrototypeOf(e,this.$target):Object.setPrototypeOf(Object.getPrototypeOf(e)||e,this.$target),t=e):t=Object.create(this.$target);const n=new Proxy(t,new ho(this));return this.$children.push(n),n}$newIsolate(e){let t=e?Object.create(e):Object.create(null);const n=new Proxy(t,new ho(this,this.$root));return this.$children.push(n),n}$transcluded(e){let t=Object.create(this.$target);const n=new Proxy(t,new ho(this,e));return this.$children.push(n),n}#o(e,t){this.watchers.has(e)?this.watchers.get(e).push(t):this.watchers.set(e,[t])}#c(e,t){this.foreignListeners.has(e)?this.foreignListeners.get(e).push(t):this.foreignListeners.set(e,[t])}#a(e,t){const n=this.watchers.get(e);if(!n)return!1;const r=n.findIndex(e=>e.id===t);return-1!==r&&(n.splice(r,1),n.length?this.watchers.set(e,n):this.watchers.delete(e),!0)}deregisterForeignKey(e,t){const n=this.foreignListeners.get(e);if(!n)return!1;const r=n.findIndex(e=>e.id===t);return-1!==r&&(n.splice(r,1),n.length?this.foreignListeners.set(e,n):this.foreignListeners.delete(e),!0)}$eval(e,t){const n=so(e)(this,t);return y(n)||null===n||n.name===Object.hasOwnProperty.name?n:k(n)?n():Number.isNaN(n)?0:n}$merge(e){Object.entries(e).forEach(([e,t])=>{this.set(this.$target,e,t,this.$proxy)})}$apply(e){try{return so(e)(this.$proxy)}catch(e){io(e)}}$on(e,t){let n=this.$$listeners.get(e);return n||(n=[],this.$$listeners.set(e,n)),n.push(t),()=>{const r=n.indexOf(t);-1!==r&&(n.splice(r,1),0==n.length&&this.$$listeners.delete(e))}}$emit(e,...t){return this.#l({name:e,event:void 0,broadcast:!1},...t)}$broadcast(e,...t){return this.#l({name:e,event:void 0,broadcast:!0},...t)}#l({name:e,event:t,broadcast:n},...r){if(!n&&!this.$$listeners.has(e))return this.$parent?this.$parent.$handler.#l({name:e,event:t,broadcast:n},...r):void 0;t?t.currentScope=this.$target:t=t||{name:e,targetScope:this.$target,currentScope:this.$target,stopped:!1,stopPropagation(){t.stopped=!0},preventDefault(){t.defaultPrevented=!0},defaultPrevented:!1};const s=K([t],[t].concat(r),1);let i=this.$$listeners.get(e);if(i){let e=i.length;for(let t=0;t<e;t++)try{i[t].apply(null,s),i.length!==e&&(i.length<e&&t--,e=i.length)}catch(e){io(e)}}return t.currentScope=null,t.stopped?t:n?(this.$children.length>0&&this.$children.forEach(s=>{t=s.$handler.#l({name:e,event:t,broadcast:n},...r)}),t):this.$parent?this.$parent.#l({name:e,event:t,broadcast:n},...r):t}#n(){return this.$root==this}$postUpdate(e){ao.push(e)}$destroy(){if(!this.$$destroyed){if(this.$broadcast("$destroy"),Array.from(this.watchers.entries()).forEach(([e,t])=>{this.watchers.set(e,t.filter(e=>e.scopeId!==this.$id))}),this.#n())this.watchers.clear();else{let e=this.$parent.$children.filter(e=>e.$id==this.$id)[0];this.$parent.$children.splice(this.$parent.$children.indexOf(e),1)}this.$$listeners.clear(),this.$$destroyed=!0}}#i(e,t){const{originalTarget:n,listenerFn:r,watchFn:s}=e;try{let e=s(n);for(y(e)&&(e=s(t)),k(e)&&(e=e(n)),Array.isArray(e)&&e.forEach((t,r)=>{k(t)&&(e[r]=t(n))}),r(e,n),this.$$asyncQueue.forEach(e=>{e.handler.$id==this.$id&&Promise.resolve().then(e.fn(e.handler,e.locals))});ao.length;)ao.shift()()}catch(e){io(e)}}$flushQueue(){for(;ao.length;)ao.shift()()}$getById(e){if(E(e)&&(e=parseInt(e,10)),this.$id===e)return this;{let t;for(const n of this.$children){let r=n.$getById(e);if(r){t=r;break}}return t}}$searchByName(e){const t=(e,n)=>{if(e.$scopename===n)return e;{let r;for(const s of e.$children){let e=t(s,n);if(e){r=e;break}}return r}};return t(this.$root,e)}}function po(e){const t=new Set([e.$id]);return e.$children?.forEach(e=>{po(e).forEach(e=>t.add(e))}),t}const fo=he("$templateRequest");function $o(){let e;this.httpOptions=function(t){return t?(e=t,this):e},this.$get=["$exceptionHandler","$templateCache","$http","$sce",function(t,n,r,s){function i(o,a){if(i.totalPendingRequests++,!E(o)||!n.has(o))try{if(!(o=s.getTrustedResourceUrl(o)))return Promise.reject("Template not found")}catch(e){return Promise.reject(e.message)}let c=r.defaults&&r.defaults.transformResponse;return Array.isArray(c)?c=c.filter(function(e){return e!==Di}):c===Di&&(c=null),r.get(o,M({cache:n,transformResponse:c},e)).finally(function(){i.totalPendingRequests--}).then(function(e){return n.set(o,e.data),e.data},function(e){a||(e=fo("tpload","Failed to load template: {0} (HTTP status: {1} {2})",o,e.status,e.statusText),t(e));return Promise.reject(e)})}return i.totalPendingRequests=0,i}]}class mo{constructor(){this._aHrefSanitizationTrustedUrlList=/^\s*(https?|s?ftp|mailto|tel|file):/,this._imgSrcSanitizationTrustedUrlList=/^\s*((https?|ftp|file|blob):|data:image\/)/}aHrefSanitizationTrustedUrlList(e){return b(e)?(this._aHrefSanitizationTrustedUrlList=e,this):this._aHrefSanitizationTrustedUrlList}imgSrcSanitizationTrustedUrlList(e){return b(e)?(this._imgSrcSanitizationTrustedUrlList=e,this):this._imgSrcSanitizationTrustedUrlList}$get=[Gt.$window,e=>(t,n)=>{if(!t)return t;const r=n?this._imgSrcSanitizationTrustedUrlList:this._aHrefSanitizationTrustedUrlList,s=new URL(t.trim(),e.location.href).href;return""===s||s.match(r)?t:`unsafe:${s}`}]}const go="ng-active",vo="ng-inactive";class yo{constructor(e,t,n,r){this.$element=e,this.$scope=t,this.$attrs=n,this.$animate=r,this.latestKey=0,this.nextAttachId=0,this.messages={},this.renderLater=!1,this.cachedCollection=null,this.head=void 0,this.default=void 0,this.$scope.$watch(this.$attrs.ngMessages||this.$attrs.for,this.render.bind(this))}getAttachId(){return this.nextAttachId++}render(e={}){this.renderLater=!1,this.cachedCollection=e;const t=wo(this.$scope,this.$attrs.ngMessagesMultiple)||wo(this.$scope,this.$attrs.multiple),n=[],r={};let s=0,i=this.head,o=!1,a=0;for(;i;){a++;const c=i.message;let l=!1;o||Object.entries(e).forEach(([e,t])=>{if(Eo(t)&&!l&&(s++,c.test(e))){if(r[e])return;r[e]=!0,l=!0,c.attach()}}),l?o=!t:n.push(c),i=i.next}n.forEach(e=>{e.detach()});const c=n.length!==a,l=this.default&&!c&&s>0;l?this.default.attach():this.default&&this.default.detach(),c||l?this.$animate.setClass(this.$element,go,vo):this.$animate.setClass(this.$element,vo,go)}reRender(){this.renderLater||(this.renderLater=!0,Promise.resolve().then(()=>{this.renderLater&&this.cachedCollection&&this.render(this.cachedCollection)}))}register(e,t,n){if(n)this.default=t;else{const n=this.latestKey.toString();this.messages[n]={message:t},this.insertMessageNode(this.$element,e,n),e.$$ngMessageNode=n,this.latestKey++}this.reRender()}deregister(e,t){if(t)delete this.default;else{const t=e.$$ngMessageNode;delete e.$$ngMessageNode,this.removeMessageNode(this.$element,e,t),delete this.messages[t]}this.reRender()}findPreviousMessage(e,t){let n=t;const r=[];for(;n&&n!==e;){const e=n.$$ngMessageNode;if(e&&e.length)return this.messages[e];n.childNodes.length&&-1===r.indexOf(n)?(r.push(n),n=n.childNodes[n.childNodes.length-1]):n.previousSibling?n=n.previousSibling:(n=n.parentNode,r.push(n))}}insertMessageNode(e,t,n){const r=this.messages[n];if(this.head){const n=this.findPreviousMessage(e,t);n?(r.next=n.next,n.next=r):(r.next=this.head,this.head=r)}else this.head=r}removeMessageNode(e,t,n){const r=this.messages[n];if(!r)return;const s=this.findPreviousMessage(e,t);s?s.next=r.next:this.head=r.next}}function bo(e){return{require:"ngMessages",restrict:"AE",controller:(t,n,r)=>new yo(t,n,r,e)}}function wo(e,t){return E(t)&&0===t.length||Eo(e.$eval(t))}function Eo(e){return E(e)?e.length:!!e}function Co(e,t){return{restrict:"AE",require:"^^ngMessages",link(n,r,s){const i=s.ngMessagesInclude||s.src;e(i).then(e=>{n.$$destroyed||E(e)&&!e.trim()||t(e)(n,e=>{r.after(e)})})}}}bo.$inject=["$animate"],Co.$inject=["$templateRequest","$compile"];const So=Ao(!1),xo=Ao(!1),Oo=Ao(!0);function Ao(e){function t(t){return{restrict:"AE",transclude:"element",priority:1,terminal:!0,require:"^^ngMessages",link(n,r,s,i,o){let a,c,l,u,h,d;if(!e){a=r,l=s.ngMessage||s.when,u=s.ngMessageExp||s.whenExp;const e=function(e){c=e?Array.isArray(e)?e:e.split(/[\s,]+/):null,i.reRender()};u?(e(n.$eval(u)),n.$watch(u,e)):e(l)}i.register(a,d={test:e=>function(e,t){if(e)return Array.isArray(e)?e.indexOf(t)>=0:ve(e,t)}(c,e),attach(){h||o((n,s)=>{t.enter(n,null,r),h=n;const o=h.$$attachId=i.getAttachId();h.addEventListener("$destroy",()=>{h&&h.$$attachId===o&&(i.deregister(a,e),d.detach()),s.$destroy()})})},detach(){if(h){const e=h;h=null,t.leave(e)}}},e),n.$on("$destroy",()=>{i.deregister(a,e)})}}}return t.$inject=["$animate"],t}const ko="ngAriaDisable",To=["BUTTON","A","INPUT","TEXTAREA","SELECT","DETAILS","SUMMARY"],_o=function(e,t){if(-1!==t.indexOf(e.nodeName))return!0};function No(){let e={ariaHidden:!0,ariaChecked:!0,ariaReadonly:!0,ariaDisabled:!0,ariaRequired:!0,ariaInvalid:!0,ariaValue:!0,tabindex:!0,bindKeydown:!0,bindRoleForClick:!0};function t(t,n,r,s){return function(i,o,a){if(ve(a,ko))return;const c=a.$normalize(n);!e[c]||_o(o,r)||a[c]||i.$watch(a[t],e=>{e=s?!e:!!e,o.setAttribute(n,e)})}}this.config=function(t){e=M(e,t)},this.$get=function(){return{config:t=>e[t],$$watchExpr:t}}}function jo(e){return e.$$watchExpr("ngDisabled","aria-disabled",To,!1)}function Lo(e){return e.$$watchExpr("ngShow","aria-hidden",[],!0)}function Ro(){return{restrict:"A",require:"?ngMessages",link(e,t,n){ve(n,ko)||t.hasAttribute("aria-live")||t.setAttribute("aria-live","assertive")}}}function Vo(e,t){return{restrict:"A",compile(n,r){if(ve(r,ko))return;const s=t(r.ngClick);return(t,n,r)=>{_o(n,To)||(e.config("bindRoleForClick")&&!n.hasAttribute("role")&&n.setAttribute("role","button"),e.config("tabindex")&&!n.hasAttribute("tabindex")&&n.setAttribute("tabindex","0"),!e.config("bindKeydown")||r.ngKeydown||r.ngKeypress||r.ngKeyup||n.addEventListener("keydown",e=>{const n=parseInt(e.key,10);13!==n&&32!==n||(-1!==To.indexOf(e.target.nodeName)||e.target.isContentEditable||e.preventDefault(),s(t,{$event:e}))}))}}}}function Mo(e){return e.$$watchExpr("ngRequired","aria-required",To,!1)}function Po(e){return e.$$watchExpr("ngChecked","aria-checked",To,!1)}function Do(e){return e.$$watchExpr("ngValue","aria-checked",To,!1)}function Uo(e){return e.$$watchExpr("ngHide","aria-hidden",[],!1)}function Io(e){return e.$$watchExpr("ngReadonly","aria-readonly",To,!1)}function Ho(e){function t(t,n,r,s){return e.config(n)&&!r.getAttribute(t)&&(s||!_o(r,To))&&("hidden"!==r.getAttribute("type")||"INPUT"!==r.nodeName)}function n(e,t){return!t.getAttribute("role")&&t.getAttribute("type")===e&&!_o(t,To)}return{restrict:"A",require:"ngModel",priority:200,compile(r,s){if(ve(s,ko))return;const i=function(e){const{type:t}=e,{role:n}=e;return"checkbox"===(t||n)||"menuitemcheckbox"===n?"checkbox":"radio"===(t||n)||"menuitemradio"===n?"radio":"range"===t||"progressbar"===n||"slider"===n?"range":""}(s);return{post(r,s,o,a){const c=t("tabindex","tabindex",s,!1);switch(i){case"radio":case"checkbox":n(i,s)&&s.setAttribute("role",i),t("aria-checked","ariaChecked",s,!1)&&a.$watch("$modelValue","radio"===i?function(){s.setAttribute("aria-checked",(o.value==a.$viewValue).toString())}:function(){s.setAttribute("aria-checked",(!a.$isEmpty(a.$viewValue)).toString())}),c&&s.setAttribute("tabindex",0);break;case"range":if(n(i,s)&&s.setAttribute("role","slider"),e.config("ariaValue")){const e=!s.hasAttribute("aria-valuemin")&&(ve(o,"min")||ve(o,"ngMin")),t=!s.hasAttribute("aria-valuemax")&&(ve(o,"max")||ve(o,"ngMax")),n=!s.hasAttribute("aria-valuenow");e&&o.$observe("min",e=>{s.setAttribute("aria-valuemin",e)}),t&&o.$observe("max",e=>{s.setAttribute("aria-valuemax",e)}),n&&a.$watch("$modelValue",e=>{s.setAttribute("aria-valuenow",e)})}c&&s.setAttribute("tabindex",0)}!ve(o,"ngRequired")&&a.$validators.required&&t("aria-required","ariaRequired",s,!1)&&o.$observe("required",()=>{s.setAttribute("aria-required",(!!o.required).toString())}),t("aria-invalid","ariaInvalid",s,!0)&&a.$watch("$invalid",e=>{s.setAttribute("aria-invalid",(!!e).toString())})}}}}}function Fo(e){return function(t,n,r){ve(r,ko)||!e.config("tabindex")||n.hasAttribute("tabindex")||_o(n,To)||n.setAttribute("tabindex",0)}}jo.$inject=[Gt.$aria],Lo.$inject=[Gt.$aria],Vo.$inject=[Gt.$aria,Gt.$parse],Mo.$inject=[Gt.$aria],Po.$inject=["$aria"],Do.$inject=[Gt.$aria],Uo.$inject=[Gt.$aria],Io.$inject=[Gt.$aria],Ho.$inject=[Gt.$aria],Fo.$inject=[Gt.$aria];const qo=0,Bo=1,zo=2;let Wo=[],Ko=!1;function Qo(){const e=Wo;Wo=[],Ko=!1;for(let t=0;t<e.length;t++)e[t]()}function Go(e){Wo.push(e),Ko||(Ko=!0,("function"==typeof requestAnimationFrame?requestAnimationFrame:setTimeout)(Qo,0))}class Jo{static chain(e,t){let n=0;const r=(s=!0)=>{!s||n>=e.length?t(s):e[n++].done(r)};r()}static all(e,t){let n=e.length,r=!0;for(const s of e)s.done(e=>{r=r&&!1!==e,0===--n&&t(r)})}constructor(e){this.host=e||{},this._doneCallbacks=[],this._state=qo,this._promise=null,this._schedule=Go}setHost(e){this.host=e||{}}done(e){this._state===zo?e(!0):this._doneCallbacks.push(e)}progress(...e){this.host.progress?.(...e)}pause(){this.host.pause?.()}resume(){this.host.resume?.()}end(){this.host.end?.(),this._finish(!0)}cancel(){this.host.cancel?.(),this._finish(!1)}complete(e=!0){this._state===qo&&(this._state=Bo,this._schedule(()=>this._finish(e)))}getPromise(){return this._promise||(this._promise=new Promise((e,t)=>{this.done(n=>{!1===n?t():e()})})),this._promise}then(e,t){return this.getPromise().then(e,t)}catch(e){return this.getPromise().catch(e)}finally(e){return this.getPromise().finally(e)}_finish(e){if(this._state===zo)return;this._state=zo;const t=this._doneCallbacks;for(let n=0;n<t.length;n++)t[n](e);t.length=0}}const Zo="$$animateCss",Yo=1e3,Xo={transitionDuration:rt,transitionDelay:nt,transitionProperty:We+Ze,animationDuration:tt,animationDelay:et,animationIterationCount:Qe+"IterationCount"},ea={transitionDuration:rt,transitionDelay:nt,animationDuration:tt,animationDelay:et};function ta(e,t){return[t?et:nt,`${e}s`]}function na(e,t){const n=Object.create(null),r=window.getComputedStyle(e)||{};return Object.entries(t).forEach(([e,t])=>{let s=r[t];if(s){const t=s.charAt(0);("-"===t||"+"===t||t>=0)&&(s=function(e){let t=0;return e.split(/\s*,\s*/).forEach(e=>{"s"===e.charAt(e.length-1)&&(e=e.substring(0,e.length-1)),e=parseFloat(e)||0,t=t?Math.max(e,t):e}),t}(s)),0===s&&(s=null),n[e]=s}}),n}function ra(e){return 0===e||null!=e}function sa(e,t){let n=We,r=`${e}s`;return t?n+=Je:r+=" linear all",[n,r]}function ia(e,t,n){n.forEach(n=>{e[n]=b(e[n])?e[n]:t.style.getPropertyValue(n)})}function oa(){let e;this.$get=["$$animateCache","$$rAFScheduler",function(t,n){const r=function(e,t){t.addClass&&(e.classList.add(...t.addClass.trim().split(" ")),t.addClass=null),t.removeClass&&(e.classList.remove(...t.removeClass.trim().split(" ")),t.removeClass=null)};const s=[];function i(e){s.push(e),n.waitUntilQuiet(()=>{t.flush();const e=document.body.offsetWidth+1;for(let t=0;t<s.length;t++)s[t](e);s.length=0})}function o(e,n,r){const s=function(e,n,r,s){let i=t.get(n);i||(i=na(e,s),"infinite"===i.animationIterationCount&&(i.animationIterationCount=1));const o=r||i.transitionDuration>0||i.animationDuration>0;return t.put(n,i,o),i}(e,n,r,Xo),i=s.animationDelay,o=s.transitionDelay;return s.maxDelay=i&&o?Math.max(i,o):i||o,s.maxDuration=Math.max(s.animationDuration*s.animationIterationCount,s.transitionDuration),s}return function(n,s){let a,c=s||{};c.$$prepared||(c=ot(structuredClone(c)));const l={},u=n;if(!u||!u.parentNode)return F();const h=[],d=function(e){const t={};return e&&(e.to||e.from)&&(t.to=e.to,t.from=e.from),t}(c);let p,f,$,m,g,v,y,b,w,E;const C=[];if(0===c.duration)return F();const S=c.event&&Array.isArray(c.event)?c.event.join(" "):c.event,x=S&&c.structural;let O="",A="";x?O=st(S,"ng-",!0):S&&(O=S),c.addClass&&(A+=st(c.addClass,He)),c.removeClass&&(A.length&&(A+=" "),A+=st(c.removeClass,Fe)),c.applyClassesEarly&&A.length&&r(n,c);let k=[O,A].join(" ").trim();const T=d.to&&Object.keys(d.to).length>0;if(!((c.keyframeStyle||"").length>0)&&!T&&!k)return F();let _,N,j=t.cacheKey(u,S,c.addClass,c.removeClass);if(t.containsCachedAnimationWithoutDuration(j))return k=null,F();if(c.stagger>0){const e=parseFloat(c.stagger);_={transitionDelay:e,animationDelay:e,transitionDuration:0,animationDuration:0}}else _=function(e,n,r,s){let i;const o=`stagger-${r}`;if(t.count(r)>0&&(i=t.get(o),!i)){const r=st(n,"-stagger");e.className+=` ${r}`,i=na(e,s),i.animationDuration=Math.max(i.animationDuration,0),i.transitionDuration=Math.max(i.transitionDuration,0),e.classList.remove(r),t.put(o,i,!0)}return i||{}}(u,k,j,ea);if(c.$$skipPreparationClasses||n.classList.add(...k.split(" ").filter(e=>""!==e)),c.transitionStyle){const e=[We,c.transitionStyle];dt(u,e),h.push(e)}if(c.duration>=0){N=u.style[We].length>0;const e=sa(c.duration,N);dt(u,e),h.push(e)}if(c.keyframeStyle){const e=[Qe,c.keyframeStyle];dt(u,e),h.push(e)}const L=_?c.staggerIndex>=0?c.staggerIndex:t.count(j):0,R=0===L;R&&!c.skipBlocking&&aa(u,9999);let V=o(u,j,!x),M=V.maxDelay;v=Math.max(M,0),b=V.maxDuration;const P={};return P.hasTransitions=V.transitionDuration>0,P.hasAnimations=V.animationDuration>0,P.hasTransitionAll=P.hasTransitions&&"all"===V.transitionProperty,P.applyTransitionDuration=T&&(P.hasTransitions&&!P.hasTransitionAll||P.hasAnimations&&!P.hasTransitions),P.applyAnimationDuration=c.duration&&P.hasAnimations,P.applyTransitionDelay=ra(c.delay)&&(P.applyTransitionDuration||P.hasTransitions),P.applyAnimationDelay=ra(c.delay)&&P.hasAnimations,P.recalculateTimingStyles=A.length>0,(P.applyTransitionDuration||P.applyAnimationDuration)&&(b=c.duration?parseFloat(c.duration):b,P.applyTransitionDuration&&(P.hasTransitions=!0,V.transitionDuration=b,N=u.style[We+Ze].length>0,h.push(sa(b,N))),P.applyAnimationDuration&&(P.hasAnimations=!0,V.animationDuration=b,h.push([tt,`${b}s`]))),0!==b||P.recalculateTimingStyles?(e=st(k,qe),null!=c.delay&&("boolean"!=typeof c.delay&&(a=parseFloat(c.delay),v=Math.max(a,0)),P.applyTransitionDelay&&h.push(ta(a)),P.applyAnimationDelay&&h.push(ta(a,!0))),null==c.duration&&V.transitionDuration>0&&(P.recalculateTimingStyles=P.recalculateTimingStyles||R),y=v*Yo,w=b*Yo,c.skipBlocking||(P.blockTransition=V.transitionDuration>0,P.blockKeyframeAnimation=V.animationDuration>0&&_.animationDelay>0&&0===_.animationDuration),c.from&&(c.cleanupStyles&&ia(l,u,Object.keys(c.from)),ct(n,c)),P.blockTransition||P.blockKeyframeAnimation?H(b):c.skipBlocking||aa(u,!1),{$$willAnimate:!0,end:D,start(){if(!p)return g={end:D,cancel:U,resume:null,pause:null},m=new Jo(g),i(B),m}}):F();function D(){I()}function U(){I(!0)}function I(t){if(p||$&&f)return;p=!0,f=!1,k&&!c.$$skipPreparationClasses&&n.classList.remove(...k.split(" ")),e=st(k,qe),e&&n.classList.remove(...e.split(" ")),ht(u,!1),aa(u,!1),h.forEach(e=>{u.style[e[0]]=""}),r(n,c),at(n,c),Object.keys(l).length&&Object.entries(l).forEach(([e,t])=>{t?u.style.setProperty(e,t):u.style.removeProperty(e)}),c.onDone&&c.onDone(),C&&C.length&&C.forEach(e=>n.removeEventListener(e,q));const s=Nt(n,Zo);s&&(clearTimeout(s[0].timer),St(n,Zo)),m&&m.complete(!t)}function H(e){P.blockTransition&&aa(u,e),P.blockKeyframeAnimation&&ht(u,!!e)}function F(){return m=new Jo({end:D,cancel:U}),i(()=>{}),I(),{$$willAnimate:!1,start:()=>m,end:D}}function q(e){e.stopPropagation();const t=e.originalEvent||e;if(t.target!==u)return;const n=t.$manualTimeStamp||Date.now(),r=parseFloat(t.elapsedTime.toFixed(3));Math.max(n-E,0)>=y&&r>=b&&($=!0,I())}function B(){if(p)return;if(!u.parentNode)return void I();const s=function(e){if($)f&&e&&(f=!1,I());else if(f=!e,V.animationDuration){const e=ht(u,f);f?h.push(e):function(e,t){const n=e.indexOf(t);t>=0&&e.splice(n,1)}(h,e)}},i=L>0&&(V.transitionDuration&&0===_.transitionDuration||V.animationDuration&&0===_.animationDuration)&&Math.max(_.animationDelay,_.transitionDelay);function d(){if(p)return;if(H(!1),h.forEach(e=>{const t=e[0];u.style[t]=e[1]}),r(n,c),n.classList.add(...e.split(" ").filter(e=>""!==e)),P.recalculateTimingStyles){if(j=t.cacheKey(u,S,c.addClass,c.removeClass),V=o(u,j,!1),M=V.maxDelay,v=Math.max(M,0),b=V.maxDuration,0===b)return void I();P.hasTransitions=V.transitionDuration>0,P.hasAnimations=V.animationDuration>0}if(P.applyAnimationDelay&&(M="boolean"!=typeof c.delay&&ra(c.delay)?parseFloat(c.delay):M,v=Math.max(M,0),V.animationDelay=M,a=ta(M,!0),h.push(a),u.style[a[0]]=a[1]),y=v*Yo,w=b*Yo,c.easing){let e;const t=c.easing;P.hasTransitions&&(e=We+Xe,h.push([e,t]),u.style[e]=t),P.hasAnimations&&(e=Qe+Xe,h.push([e,t]),u.style[e]=t)}V.transitionDuration&&C.push(Ke),V.animationDuration&&C.push(Ge),E=Date.now();const s=y+1.5*w,i=E+s,d=Nt(n,Zo)||[];let f=!0;if(d.length){const e=d[0];f=i>e.expectedEndTime,f?clearTimeout(e.timer):d.push(I)}if(f){const e=setTimeout(m,s,!1);d[0]={timer:e,expectedEndTime:i},d.push(I),_t(n,Zo,d)}C.length&&C.forEach(e=>{n.addEventListener(e,q)}),c.to&&(c.cleanupStyles&&ia(l,u,Object.keys(c.to)),lt(n,c))}function m(){const e=Nt(n,Zo);if(e){for(let t=1;t<e.length;t++)e[t]();St(n,Zo)}}i?setTimeout(d,Math.floor(i*L*Yo),!1):d(),g.resume=function(){s(!0)},g.pause=function(){s(!1)}}}}]}function aa(e,t){const n=t?`-${t}s`:"";return dt(e,[nt,n]),[nt,n]}const ca="data-ng-animate",la="$ngAnimatePin";function ua(e){const t=this.rules={skip:[],cancel:[],join:[]};function n(e){return{addClass:e.addClass,removeClass:e.removeClass,from:e.from,to:e.to}}function r(e,t){if(e&&t){const n=function(e){if(!e)return null;const t=e.split(" "),n=Object.create(null);return t.forEach(e=>{n[e]=!0}),n}(t);return e.split(" ").some(e=>n[e])}}function s(e,n,r){return t[e].some(e=>e(n,r))}function i(e,t){const n=(e.addClass||"").length>0,r=(e.removeClass||"").length>0;return t?n&&r:n||r}t.join.push(e=>!e.structural&&i(e)),t.skip.push(e=>!e.structural&&!i(e)),t.skip.push((e,t)=>"leave"===t.event&&e.structural),t.skip.push((e,t)=>t.structural&&2===t.state&&!e.structural),t.cancel.push((e,t)=>t.structural&&e.structural),t.cancel.push((e,t)=>2===t.state&&e.structural),t.cancel.push((e,t)=>{if(t.structural)return!1;const n=e.addClass,s=e.removeClass,i=t.addClass,o=t.removeClass;return!(y(n)&&y(s)||y(i)&&y(o))&&(r(n,o)||r(s,i))}),this.$get=[Gt.$rootScope,Gt.$injector,Gt.$$animation,Gt.$templateRequest,function(t,r,o,a){const c=new Map,l=new Map;t.templateRequest=a;const u=t.$watch("$templateRequest.totalPendingRequests",e=>{0===e&&(u(),t.$templateRequest=void 0,t.$postUpdate(()=>{t.$postUpdate(()=>{})}))},!0),h=Object.create(null),d=e.customFilter(),p=e.classNameFilter(),f=function(){return!0},$=d||f,m=p?function(e,t){const n=[e.getAttribute("class"),t.addClass,t.removeClass].join(" ");return p.test(n)}:f,g=function(e,t){t.addClass&&(e.classList.add(...t.addClass.trim().split(" ")),t.addClass=null),t.removeClass&&(e.classList.remove(...t.removeClass.trim().split(" ")),t.removeClass=null)};function v(e,t){return ut(e,t,{})}const C=window.Node.prototype.contains||function(e){return this===e||!!(16&this.compareDocumentPosition(e))};function S(e,t,n){const r=it(t);return e.filter(e=>!(e.node===r&&(!n||e.callback===n)))}function x(e,t){"close"!==e||t.parentNode||O.off(t)}let O={on(e,t,n){const r=it(t);h[e]=h[e]||[],h[e].push({node:r,callback:n}),t.addEventListener("$destroy",()=>{c.get(r)||O.off(e,t,n)})},off(e,t,n){if(1===arguments.length&&!E(arguments[0])){t=arguments[0];for(const e in h)h[e]=S(h[e],t);return}const r=h[e];r&&(h[e]=1===arguments.length?null:S(r,t,n))},pin(e,t){_t(e,la,t)},push:(e,a,u,d)=>((u=u||{}).domOperation=d,function(e,a,u){let d=u,p=Array.isArray(e)?e.filter(e=>"#comment"!==e.nodeName)[0]:e;const f=p,S=f&&f.parentNode;d=ot(d);const O=new Jo,T=function(){let e=!1;return function(n){e?n():t.$postUpdate(()=>{e=!0,n()})}}();Array.isArray(d.addClass)&&(d.addClass=d.addClass.join(" "));d.addClass&&!E(d.addClass)&&(d.addClass=null);Array.isArray(d.removeClass)&&(d.removeClass=d.removeClass.join(" "));d.removeClass&&!E(d.removeClass)&&(d.removeClass=null);d.from&&!w(d.from)&&(d.from=null);d.to&&!w(d.to)&&(d.to=null);if(!f||!$(f,a,u)||!m(f,d))return D(),O;const _=["enter","move","leave"].indexOf(a)>=0;let N=document.hidden||l.get(f);const j=!N&&c.get(f)||{},L=!!j.state;N||L&&1===j.state||(N=!function(e,t){const n=document.body,s=r.get("$rootElement");let i,o=e===n||"HTML"===e.nodeName,a=e===s,u=!1,h=l.get(e),d=Tt(e,la);d&&(t=d);for(;t&&(a||(a=t===s),t.nodeType===Node.ELEMENT_NODE);){const e=c.get(t)||{};if(!u){const n=l.get(t);if(!0===n&&!1!==h){h=!0;break}!1===n&&(h=!1),u=e.structural}if(y(i)||!0===i){const e=Tt(t,ze);b(e)&&(i=e)}if(u&&!1===i)break;if(o||(o=t===n),o&&a)break;t=a||(d=Tt(t,la),!d)?t.parentNode:d}return(!u||i)&&!0!==h&&a&&o}(f,S));if(N)return document.hidden&&P(O,a,"start",n(d)),D(),document.hidden&&P(O,a,"close",n(d)),O;_&&function(e){const t=e.querySelectorAll(`[${ca}]`);t.forEach(e=>{const t=parseInt(e.getAttribute(ca),10),n=c.get(e);if(n)switch(t){case 2:n.runner.end();case 1:c.delete(e)}})}(f);const R={structural:_,element:p,event:a,addClass:d.addClass,removeClass:d.removeClass,close:D,options:d,runner:O};if(L){if(s("skip",R,j))return 2===j.state?(D(),O):(ut(p,j,R),j.runner);if(s("cancel",R,j))if(2===j.state)j.runner.end();else{if(!j.structural)return ut(p,j,R),j.runner;j.close()}else{if(s("join",R,j)){if(2!==j.state)return function(e,t,n){let r="";t&&(r=st(t,"ng-",!0)),n.addClass&&(r=pt(r,st(n.addClass,He))),n.removeClass&&(r=pt(r,st(n.removeClass,Fe))),r.length&&(n.preparationClasses=r,e.className+=` ${r}`)}(p,_?a:null,d),a=R.event=j.event,d=ut(p,j,R),j.runner;v(p,R)}}}else v(p,R);let V=R.structural;V||(V="animate"===R.event&&Object.keys(R.options.to||{}).length>0||i(R));if(!V)return D(),A(f),O;const M=(j.counter||0)+1;return R.counter=M,k(f,1,R),t.$postUpdate(()=>{p=function(e){return e instanceof NodeList?Array.from(e).filter(e=>e.nodeType===Node.ELEMENT_NODE):e.nodeType===Node.ELEMENT_NODE?e:void 0}(e);let t=c.get(f);const r=!t;t=t||{};const s=(p.parentElement||[])&&("animate"===t.event||t.structural||i(t));if(r||t.counter!==M||!s)return r&&(g(p,d),at(p,d)),(r||_&&t.event!==a)&&(d.domOperation(),O.end()),void(s||A(f));a=!t.structural&&i(t,!0)?"setClass":t.event,k(f,2);const l=o(p,a,t.options);O.setHost(l),P(O,a,"start",n(d)),l.done(e=>{D(!e);const t=c.get(f);t&&t.counter===M&&A(f),P(O,a,"close",n(d))})}),setTimeout(t.$flushQueue,0),O;function P(e,t,n,r){T(()=>{const e=function(e,t,n){const r=[],s=h[n];return s&&s.forEach(s=>{(C.call(s.node,t)||"leave"===n&&C.call(s.node,e))&&r.push(s.callback)}),r}(S,f,t);e.length?(e.forEach(e=>{e(p,n,r)}),x(n,f)):x(n,f)}),e.progress(t,n,r)}function D(e){!function(e,t){t.preparationClasses&&(t.preparationClasses.split(" ").forEach(t=>e.classList.remove(t)),t.preparationClasses=null),t.activeClasses&&(t.activeClasses.split(" ").forEach(t=>e.classList.remove(t)),t.activeClasses=null)}(p,d),g(p,d),at(p,d),d.domOperation(),O.complete(!e)}}(e,a,u))};return O;function A(e){e.removeAttribute(ca),c.delete(e)}function k(e,t,n){(n=n||{}).state=t,e.setAttribute(ca,t);const r=c.get(e),s=r?M(r,n):n;c.set(e,s)}}]}function ha(e){this.$get=[Gt.$injector,function(t){const n=function(e,t){t.addClass&&(e.classList.add(...t.addClass.trim().split(" ")),t.addClass=null),t.removeClass&&(e.classList.remove(...t.removeClass.trim().split(" ")),t.removeClass=null)};return function(r,s,i,o){let a=!1;3===arguments.length&&w(i)&&(o=i,i=null),o=ot(o),i||(i=r.getAttribute("class")||"",o.addClass&&(i+=` ${o.addClass}`),o.removeClass&&(i+=` ${o.removeClass}`));const c=o.addClass,l=o.removeClass,u=function(n){n=Array.isArray(n)?n:n.split(" ");const r=[],s={};for(let i=0;i<n.length;i++){const o=n[i],a=e.$$registeredAnimations[o];a&&!s[o]&&(r.push(t.get(a)),s[o]=!0)}return r}(i);let h,d,p;if(u.length){let e,t;"leave"===s?(t="leave",e="afterLeave"):(t=`before${s.charAt(0).toUpperCase()}${s.substring(1)}`,e=s),"enter"!==s&&"move"!==s&&(h=g(r,s,o,u,t)),d=g(r,s,o,u,e)}if(h||d)return{$$willAnimate:!0,end:()=>(p?p.end():($(),p=new Jo,p.complete(!0)),p),start(){if(p)return p;p=new Jo;const e=[];if(h){const t=new Jo({end(e){(h(e)||(()=>{}))()},cancel(){(h(!0)||(()=>{}))()}});e.push(t)}if(e.length){const t=new Jo({end(e){f(),e(!0)},cancel(){f()}});e.push(t)}else f();if(d){const t=new Jo({end(e){(d(e)||(()=>{}))()},cancel(){(d(!0)||(()=>{}))()}});e.push(t)}return p.setHost({end(){n()},cancel(){n(!0)}}),Jo.chain(e,t),p;function t(e){$(),p.complete(e)}function n(e){a||t(e)}}};function f(){o.domOperation(),n(r,o)}function $(){a=!0,f(),at(r,o)}function m(e,t,n,r,s){const i=[];return r.forEach(r=>{const o=r[s];o&&i.push(()=>{let r,s,i=!1;const a=function(e){i||(i=!0,(s||(()=>{}))(e),r.complete(!e))};return r=new Jo({end(){a()},cancel(){a(!0)}}),s=function(e,t,n,r,s){let i;switch(n){case"animate":i=[t,r.from,r.to,s];break;case"setClass":i=[t,c,l,s];break;case"addClass":i=[t,c,s];break;case"removeClass":i=[t,l,s];break;default:i=[t,s]}i.push(r);let o=e.apply(e,i);if(o)if(k(o.start)&&(o=o.start()),o instanceof Jo)o.done(s);else if(k(o))return o;return()=>{}}(o,e,t,n,e=>{a(!1===e)}),r})}),i}function g(e,t,n,r,s){let i=m(e,t,n,r,s);if(0===i.length){let t,o;"beforeSetClass"===s?(t=m(e,"removeClass",n,r,"beforeRemoveClass"),o=m(e,"addClass",n,r,"beforeAddClass")):"setClass"===s&&(t=m(e,"removeClass",n,r,"removeClass"),o=m(e,"addClass",n,r,"addClass")),t&&(i=i.concat(t)),o&&(i=i.concat(o))}if(0!==i.length)return function(e){const t=[];return i.length&&i.forEach(e=>{t.push(e())}),t.length?Jo.all(t,e):e(),function(e){t.forEach(t=>{e?t.cancel():t.end()})}}}}}]}ua.$inject=["$animateProvider"],ha.$inject=[Gt.$animate+"Provider"];const da="$$animationRunner",pa="$$animatePrepareClasses";function fa(){const e="ng-animate-ref",t=this.drivers=[];function n(e){!function(e,t){if(At(e)){const n=xt(e,!1),r=n?.data;r&&ve(r,Et(t))&&delete r[Et(t)]}}(e,da)}function r(e){return Nt(e,da)}this.$get=[Gt.$rootScope,Gt.$injector,Gt.$$rAFScheduler,Gt.$$animateCache,function(s,i,o,a){const c=[],l=function(e,t){t.addClass&&(e.classList.add(...t.addClass.trim().split(" ")),t.addClass=null),t.removeClass&&(e.classList.remove(...t.removeClass.trim().split(" ")),t.removeClass=null)};return function(u,h,d){d=ot(d);const p=["enter","move","leave"].indexOf(h)>=0,f=new Jo({end(){v()},cancel(){v(!0)}});if(!t.length)return v(),f;let $=pe(u.getAttribute("class"),pe(d.addClass,d.removeClass)),{tempClasses:m}=d;return m&&($+=` ${m}`,d.tempClasses=null),p&&_t(u,pa,`ng-${h}-prepare`),function(e,t){_t(e,da,t)}(u,f),c.push({element:u,classes:$,event:h,structural:p,options:d,beforeStart:function(){m=(m?`${m} `:"")+Be,u.className+=` ${m}`;let e=Nt(u,pa);e&&(u.classList.remove(e),e=null)},close:v}),u.addEventListener("$destroy",function(){const e=r(u);!e||"leave"===h&&d.$$domOperationFired||e.end()}),c.length>1||s.$postUpdate(()=>{const n=[];c.forEach(e=>{r(e.element)?n.push(e):e.close()}),c.length=0;const s=function(t){const n=[],r={};t.forEach((t,s)=>{const{element:i}=t,o=i,{event:a}=t,c=["enter","move"].indexOf(a)>=0,l=t.structural?function(t){const n=`[${e}]`,r=t.hasAttribute(e)?[t]:t.querySelectorAll(n),s=[];return r.forEach(t=>{const n=t.getAttribute(e);n&&n.length&&s.push(t)}),s}(o):[];if(l.length){const t=c?"to":"from";l.forEach(n=>{const i=n.getAttribute(e);r[i]=r[i]||{},r[i][t]={animationID:s,element:n}})}else n.push(t)});const s={},i={};return Object.values(r).forEach(e=>{const{from:r}=e,{to:o}=e;if(!r||!o){const e=r?r.animationID:o.animationID,i=e.toString();return void(s[i]||(s[i]=!0,n.push(t[e])))}const a=t[r.animationID],c=t[o.animationID],l=r.animationID.toString();if(!i[l]){const e=i[l]={structural:!0,beforeStart(){a.beforeStart(),c.beforeStart()},close(){a.close(),c.close()},classes:g(a.classes,c.classes),from:a,to:c,anchors:[]};e.classes.length?n.push(e):(n.push(a),n.push(c))}i[l].anchors.push({out:r.element,in:o.element})}),n}(n),l=[];s.forEach(e=>{const n=e.from?e.from.element:e.element;let s=d.addClass;s=(s?`${s} `:"")+Be;const o=a.cacheKey(n,e.event,s,d.removeClass);l.push({element:n,domNode:n,fn:function(){let n;const s=e.close;if(a.containsCachedAnimationWithoutDuration(o))return void s();e.beforeStart();if(r(e.anchors?e.from.element||e.to.element:e.element)){const r=function(e){for(let n=t.length-1;n>=0;n--){const r=t[n],s=i.get(r)(e);if(s)return s}}(e);r&&(n=r.start)}if(n){const t=n();t.done(e=>{s(!e)}),function(e,t){e.from&&e.to?(n(e.from.element),n(e.to.element)):n(e.element);function n(e){const n=r(e);n&&n.setHost(t)}}(e,t)}else s()}})});const u=function(e){const t={children:[]};let n;const r=new Map;for(n=0;n<e.length;n++){const t=e[n];r.set(t.domNode,e[n]={domNode:t.domNode,element:t.element,fn:t.fn,children:[]})}for(n=0;n<e.length;n++)s(e[n]);return function(e){const t=[],n=[];let r;for(r=0;r<e.children.length;r++)n.push(e.children[r]);let s=n.length,i=0,o=[];for(r=0;r<n.length;r++){const e=n[r];s<=0&&(s=i,i=0,t.push(o),o=[]),o.push(e),e.children.forEach(e=>{i++,n.push(e)}),s--}return o.length&&t.push(o),t}(t);function s(e){if(e.processed)return e;e.processed=!0;const n=e.domNode;let i,{parentNode:o}=n;for(r.set(n,e);o;){if(i=r.get(o),i){i.processed||(i=s(i));break}o=o.parentNode}return(i||t).children.push(e),e}}(l);for(let e=0;e<u.length;e++){const t=u[e];for(let n=0;n<t.length;n++){const r=t[n],{element:s}=r;if(u[e][n]=r.fn,0===e){St(s,pa);continue}const i=Nt(s,pa);i&&s.classList.add(i)}}o(u)}),f;function g(e,t){e=e.split(" "),t=t.split(" ");const n=[];for(let r=0;r<e.length;r++){const s=e[r];if("ng-"!==s.substring(0,3))for(let e=0;e<t.length;e++)if(s===t[e]){n.push(s);break}}return n.join(" ")}function v(e){n(u),l(u,d),at(u,d),d.domOperation(),m&&m.split(" ").forEach(e=>u.classList.remove(e)),f.complete(!e)}}}]}class $a{constructor(){this.queue=[],this.cancelFn=null}nextTick(){if(!this.queue.length)return;this.queue.shift().forEach(e=>e()),this.cancelFn||(this.cancelFn=window.requestAnimationFrame(()=>{this.cancelFn=null,this.nextTick()}))}$get(){const e=e=>{this.queue=this.queue.concat(e),this.nextTick()};return e.queue=this.queue,e.waitUntilQuiet=e=>{null!==this.cancelFn&&(window.cancelAnimationFrame(this.cancelFn),this.cancelFn=null),this.cancelFn=window.requestAnimationFrame(()=>{this.cancelFn=null,e(),this.nextTick()})},e}}const ma="$animId";let ga=0;const va=new Map;function ya(){return{cacheKey(e,t,n,r){const{parentNode:s}=e,i=[s[ma]??(s[ma]=++ga),t,e.getAttribute("class")];return n&&i.push(n),r&&i.push(r),i.join(" ")},containsCachedAnimationWithoutDuration(e){const t=va.get(e);return!!t&&!t.isValid},flush(){va.clear()},count:e=>va.get(e)?.total??0,get:e=>va.get(e)?.value,put(e,t,n){const r=va.get(e);r?(r.total++,r.value=t):va.set(e,{total:1,value:t,isValid:n})}}}function ba(){this.$get=[ya]}const wa="ng-animate-shim",Ea="ng-anchor",Ca="ng-anchor-out",Sa="ng-anchor-in";function xa(e){e.drivers.push("$$animateCssDriver"),this.$get=["$animateCss","$rootElement",function(e,t){const n=document.body,r=t,s=(i=r).parentNode&&11===i.parentNode.nodeType||n.contains(r)?r:n;var i;return function(t){return t.from&&t.to?function(t,r,i){const a=o(t),c=o(r),l=[];if(i.forEach(t=>{const r=function(t,r){const i=t.cloneNode(!0),o=Oa(d(i));let a;t[0].classList.add(wa),r[0].classList.add(wa),i.classList.add(Ea),s.append(i);const c=h();if(!c&&(a=p(),!a))return f();const l=c||a;return{start(){let e,t=l.start();return t.done(()=>{if(t=null,!a&&(a=p(),a))return t=a.start(),t.done(()=>{t=null,f(),e.complete()}),t;f(),e.complete()}),e=new Jo({end:n,cancel:n}),e;function n(){t&&t.end()}}};function u(e){const t={},r=e.getBoundingClientRect();return["width","height","top","left"].forEach(e=>{let s=r[e];switch(e){case"top":s+=n.scrollTop;break;case"left":s+=n.scrollLeft}t[e]=`${Math.floor(s)}px`}),t}function h(){const n=e(i,{addClass:Ca,delay:!0,from:u(t)});return n.$$willAnimate?n:null}function d(e){return e.getAttribute("class")||""}function p(){const t=Oa(d(r)),n=Aa(t,o),s=Aa(o,t),a=e(i,{to:u(r),addClass:`${Sa} ${n}`,removeClass:`${Ca} ${s}`,delay:!0});return a.$$willAnimate?a:null}function f(){i.remove(),t[0].classList.remove(wa),r[0].classList.remove(wa)}}(t.out,t.in);r&&l.push(r)}),!a&&!c&&0===l.length)return;return{start(){const e=[];a&&e.push(a.start()),c&&e.push(c.start()),l.forEach(t=>{e.push(t.start())});const t=new Jo({end:n,cancel:n});return Jo.all(e,e=>{t.complete(e)}),t;function n(){e.forEach(e=>{e.end()})}}}}(t.from,t.to,t.anchors):o(t)};function o(t){const n=t.options||{};t.structural&&(n.event=t.event,n.structural=!0,n.applyClassesEarly=!0,"leave"===t.event&&(n.onDone=n.domOperation)),n.preparationClasses&&(n.event=pt(n.event,n.preparationClasses));const r=e(t.element,n);return r.$$willAnimate?r:null}}]}function Oa(e){return e.replace(/\bng-\S+\b/g,"")}function Aa(e,t){return E(e)&&(e=e.split(" ")),E(t)&&(t=t.split(" ")),e.filter(e=>-1===t.indexOf(e)).join(" ")}function ka(e){e.drivers.push("$$animateJsDriver"),this.$get=["$$animateJs",function(e){return function(e){if(e.from&&e.to){const n=t(e.from),r=t(e.to);if(!n&&!r)return;return{start(){const e=[];n&&e.push(n.start()),r&&e.push(r.start()),Jo.all(e,function(e){t.complete(e)});const t=new Jo({end:s(),cancel:s()});return t;function s(){return function(){e.forEach(e=>{e.end()})}}}}}return t(e)};function t(t){const{element:n,event:r,options:s,classes:i}=t;return e(n,r,i,s)}}]}function Ta(e){return{restrict:"A",transclude:"element",terminal:!0,priority:550,link(t,n,r,s,i){let o,a;t.$watch(r.ngAnimateSwap||r.for,t=>{o&&e.leave(o),a&&(a.$destroy(),a=null),t&&i((t,r)=>{o=t,a=r,e.enter(t,null,n)})})}}}function _a(e){return{link(t,n,r){const s=r.ngAnimateChildren;function i(e){_t(n,ze,e="on"===e||"true"===e)}E(s)&&0===s.length?_t(n,ze,!0):(i(e(s)(t)),r.$observe("ngAnimateChildren",i))}}}function Na(e,t){if(e===t)return!0;if(null===e||null===t)return!1;if(e!=e&&t!=t)return!0;const n=typeof e;if(n!==typeof t||"object"!==n)return!1;const r=[e,t];if(r.every(Array.isArray))return i=t,(s=e).length===i.length&&Ka(s,i).reduce((e,t)=>e&&Na(t[0],t[1]),!0);var s,i;if(r.every(O))return e.getTime()===t.getTime();if(r.every(T))return e.toString()===t.toString();if(r.every(k))return!0;if([k,Array.isArray,O,T].some(e=>!!e(r)))return!1;const o={};for(const n in e){if(!Na(e[n],t[n]))return!1;o[n]=!0}for(const e in t)if(!o[e])return!1;return!0}function ja(e,t){const n=Object.create(e);return t&&Object.assign(n,t),n}function La(e,t){const n=e.indexOf(t);return-1!==n&&e.splice(n,1),e}function Ra(e,...t){const n=Object.assign({},...t.reverse());return Object.assign(n,Va(e||{},Object.keys(n)))}function Va(e,t){const n={};for(const r in e)-1!==t.indexOf(r)&&(n[r]=e[r]);return n}function Ma(e,t){return Object.keys(e).filter(e=>!t.includes(e)).reduce((t,n)=>(t[n]=e[n],t),{})}function Pa(e,t){const n=Array.isArray(e),r=n?[]:{},s=n?e=>r.push(e):(e,t)=>r[t]=e;return Object.entries(e).forEach(([e,n])=>{t(n,e)&&s(n,e)}),r}function Da(e,t){let n;return Object.entries(e).forEach(([e,r])=>{n||t(r,e)&&(n=r)}),n}function Ua(e,t,n){return n=n||(Array.isArray(e)?[]:{}),Object.entries(e).forEach(([e,r])=>n[e]=t(r,e)),n}xa.$inject=["$$animationProvider"],ka.$inject=["$$animationProvider"],Ta.$inject=[Gt.$animate],_a.$inject=[Gt.$interpolate];const Ia=(e,t)=>e&&t,Ha=(e,t)=>e||t,Fa=(e,t)=>e.concat(t);function qa(e,t){return e.push(t),e}const Ba=(e,t)=>e.includes(t)?e:qa(e,t),za=e=>e.reduce(Fa,[]),Wa=function(e,t="assert failure"){return n=>{const r=e(n);if(!r)throw new Error(t);return r}};function Ka(...e){if(0===e.length)return[];const t=e.reduce((e,t)=>Math.min(t.length,e),9007199254740991),n=[];for(let r=0;r<t;r++)switch(e.length){case 1:n.push([e[0][r]]);break;case 2:n.push([e[0][r],e[1][r]]);break;case 3:n.push([e[0][r],e[1][r],e[2][r]]);break;case 4:n.push([e[0][r],e[1][r],e[2][r],e[3][r]]);break;default:n.push(e.map(e=>e[r]))}return n}function Qa(e,t){let n,r;if(Array.isArray(t)&&([n,r]=t),!E(n))throw new Error("invalid parameters to applyPairs");return e[n]=r,e}function Ga(e){return e.length>0?e[e.length-1]:void 0}function Ja(e,t){return t&&Object.keys(t).forEach(e=>delete t[e]),t||(t={}),Object.assign(t,e)}const Za=e=>e.catch(()=>0)&&e,Ya=e=>Za(Promise.reject(e));function Xa(e){return function t(){if(arguments.length>=e.length)return e.apply(this,arguments);const n=Array.prototype.slice.call(arguments);return t.bind(this,...n)}}const ec=Xa((e,t,n)=>n&&n[e]===t),tc=e=>{const t=e.split(".");return e=>t.reduce((e,t)=>e&&e[t],e)};function nc(e){return function(t){return null!=t&&t.constructor===e||t instanceof e}}const rc=e=>()=>e;function sc(e){return function(t){for(let n=0;n<e.length;n++)if(e[n][0](t))return e[n][1](t)}}class ic{constructor(e){this.pattern=/.*/,this.inherit=!0,Object.assign(this,e),this.name=void 0}is(e){return!!e}encode(e){return e}decode(e){return e}equals(e,t){return e==t}$subPattern(){const e=this.pattern.toString();return e.substring(1,e.length-2)}toString(){return`{ParamType:${this.name}}`}$normalize(e){return this.is(e)?e:this.decode(e)}$asArray(e,t){if(!e)return this;if("auto"===e&&!t)throw new Error("'auto' array mode is for query parameters only");return new oc(this,e)}}function oc(e,t){function n(e){return Array.isArray(e)?e:b(e)?[e]:[]}function r(e,r){return function(s){if(Array.isArray(s)&&0===s.length)return s;const i=Ua(n(s),e);return!0===r?0===Pa(i,e=>!e).length:function(e){switch(e.length){case 0:return;case 1:return"auto"===t?e[0]:e;default:return e}}(i)}}function s(e){return function(t,r){const s=n(t),i=n(r);if(s.length!==i.length)return!1;for(let t=0;t<s.length;t++)if(!e(s[t],i[t]))return!1;return!0}}["encode","decode","equals","$normalize"].forEach(t=>{const n=e[t].bind(e),i="equals"===t?s:r;this[t]=i(n)}),Object.assign(this,{dynamic:e.dynamic,name:e.name,pattern:e.pattern,inherit:e.inherit,raw:e.raw,is:r(e.is.bind(e),!0),$arrayMode:t})}class ac{constructor(){this.enqueue=!0,this.typeQueue=[],this.defaultTypes=Va(ac.prototype,["hash","string","query","path","int","bool","date","json","any"]);this.types=ja(Ua(this.defaultTypes,(e,t)=>new ic(Object.assign({name:t},e))),{})}type(e,t,n){if(!b(t))return this.types[e];if(ve(this.types,e))throw new Error(`A type named '${e}' has already been defined.`);return this.types[e]=new ic(Object.assign({name:e},t)),n&&(this.typeQueue.push({name:e,def:n}),this.enqueue||this._flushTypeQueue()),this}_flushTypeQueue(){for(;this.typeQueue.length;){const e=this.typeQueue.shift();if(e.pattern)throw new Error("You cannot override a type's .pattern at runtime.");Object.assign(this.types[e.name],window.angular.$injector.invoke(e.def))}}}!function(){const e=e=>{const t=e=>null!=e?e.toString():e,n={encode:t,decode:t,is:nc(String),pattern:/.*/,equals:(e,t)=>e==t};return Object.assign({},n,e)};Object.assign(ac.prototype,{string:e({}),path:e({pattern:/[^/]*/}),query:e({}),hash:e({inherit:!1}),int:e({decode:e=>parseInt(e,10),is:function(e){return!S(e)&&this.decode(e.toString())===e},pattern:/-?\d+/}),bool:e({encode:e=>e?1:0,decode:e=>0!==parseInt(e,10),is:nc(Boolean),pattern:/[01]/}),date:e({encode:function(e){return this.is(e)?[e.getFullYear(),("0"+(e.getMonth()+1)).slice(-2),("0"+e.getDate()).slice(-2)].join("-"):void 0},decode:function(e){if(this.is(e))return e;const t=this.capture.exec(e);return t?new Date(t[1],t[2]-1,t[3]):void 0},is:e=>e instanceof Date&&!isNaN(e.valueOf()),equals:(e,t)=>["getFullYear","getMonth","getDate"].reduce((n,r)=>n&&e[r]()===t[r](),!0),pattern:/[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])/,capture:/([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/}),json:e({encode:JSON.stringify,decode:JSON.parse,is:nc(Object),equals:Na,pattern:/[^/]*/}),any:e({encode:e=>e,decode:e=>e,is:()=>!0,equals:Na})})}();class cc{constructor(){this.paramTypes=new ac,this._isCaseInsensitive=!1,this._isStrictMode=!0,this._defaultSquashPolicy=!1;const e=this.type("path");e.encode=e=>null!=e?e.toString().replace(/([~/])/g,e=>({"~":"~~","/":"~2F"}[e])):e,e.decode=e=>null!=e?e.toString().replace(/(~~|~2F)/g,e=>({"~~":"~","~2F":"/"}[e])):e,this.paramTypes.enqueue=!1,this.paramTypes._flushTypeQueue()}$get=[function(){return this}];caseInsensitive(e){return this._isCaseInsensitive=b(e)?e:this._isCaseInsensitive}defaultSquashPolicy(e){if(b(e)&&!0!==e&&!1!==e&&!E(e))throw new Error(`Invalid squash policy: ${e}. Valid policies: false, true, arbitrary-string`);return this._defaultSquashPolicy=b(e)?e:this._defaultSquashPolicy}strictMode(e){return this._isStrictMode=b(e)?e:this._isStrictMode}type(e,t,n){const r=this.paramTypes.type(e,t,n);return b(t)?this:r}}class lc{constructor(e={}){Object.assign(this,e)}$inherit(e,t,n){const r=function(e,t){const n=[];for(const r in e.path){if(e.path[r]!==t.path[r])break;n.push(e.path[r])}return n}(t,n),s={},i=[];for(const e in r){if(!r[e]||!r[e].params)continue;const t=r[e].params,n=Object.keys(t);if(n.length)for(const e in n)0==t[n[e]].inherit||i.indexOf(n[e])>=0||(i.push(n[e]),s[n[e]]=this[n[e]])}return Object.assign({},s,e)}}class uc{constructor(e=[],t=null){this._items=Array.isArray(e)?[...e]:[],this._limit=Number.isInteger(t)&&t>0?t:null,this._evictListeners=[]}onEvict(e){this._evictListeners.push(e)}enqueue(e){return this._items.push(e),null!==this._limit&&this._items.length>this._limit&&this.evict(),e}evict(){const e=this._items.shift();return void 0!==e&&this._evictListeners.forEach(t=>t(e)),e}dequeue(){return this._items.length>0?this._items.shift():void 0}clear(){const e=[...this._items];return this._items.length=0,e}size(){return this._items.length}remove(e){const t=this._items.indexOf(e);return-1!==t&&this._items.splice(t,1)[0]}peekTail(){return this._items[this._items.length-1]}peekHead(){return this._items[0]}}class hc{constructor(){this.params=new lc,this.lastStartedTransitionId=-1,this.transitionHistory=new uc([],1),this.successfulTransitions=new uc([],1),this.current=void 0,this.$current=void 0,this.transition=void 0}$get=()=>this}function dc(e){if(Array.isArray(e)&&e.length){const t=e.slice(0,-1),n=e.slice(-1);return!(t.filter(e=>!E(e)).length||n.filter(e=>!k(e)).length)}return k(e)}function pc(e){return null!==e&&"object"==typeof e&&"function"==typeof e.then}function fc(e,t){return t.length<=e?t:t.substring(0,e-3)+"..."}function $c(e){const t=mc(e),n=t.match(/^(function [^ ]+\([^)]*\))/),r=n?n[1]:t,s=e.name||"";return s&&r.match(/function \(/)?"function "+s+r.substring(9):r}function mc(e){const t=Array.isArray(e)?e.slice(-1)[0]:e;return t&&t.toString()||"undefined"}function gc(e){const t=[],n=sc([[y,rc("undefined")],[C,rc("null")],[pc,rc("[Promise]")],[e=>e&&"function"==typeof e.then&&"Rejection"==e.constructor.name,e=>e._transitionRejection.toString()],[e=>w(e)&&!Array.isArray(e)&&e.constructor!==Object&&k(e.toString),e=>e.toString()],[dc,$c],[rc(!0),e=>e]]);function r(e){if(w(e)){if(-1!==t.indexOf(e))return"[circular ref]";t.push(e)}return n(e)}return y(e)?r(e):JSON.stringify(e,(e,t)=>r(t)).replace(/\\"/g,'"')}function vc(e,t){return E(Ga(e))&&E(t)?e.slice(0,-1).concat(Ga(e)+t):qa(e,t)}function yc(e){if(!e)return"ng-view (defunct)";const t=e.creationContext?e.creationContext.name||"(root)":"(none)";return`[ng-view#${e.id}:${e.fqn} (${e.name}@${t})]`}function bc(e){return x(e)?wc[e]:wc[wc[e]]}const wc={RESOLVE:0,TRANSITION:1,HOOK:2,UIVIEW:3,VIEWCONFIG:4},Ec=tc("$id"),Cc=tc("router.$id"),Sc=e=>`Transition #${Ec(e)}-${Cc(e)}`;const xc=new class{constructor(){this._enabled={},this.approximateDigests=0}_set(e,t){t.length||(t=Object.keys(wc).map(e=>parseInt(e,10)).filter(e=>!isNaN(e)).map(e=>wc[e])),t.map(bc).forEach(t=>this._enabled[t]=e)}enable(...e){this._set(!0,e)}disable(...e){this._set(!1,e)}enabled(e){return!!this._enabled[bc(e)]}traceTransitionStart(e){this.enabled(wc.TRANSITION)&&console.log(`${Sc(e)}: Started -> ${gc(e)}`)}traceTransitionIgnored(e){this.enabled(wc.TRANSITION)&&console.log(`${Sc(e)}: Ignored <> ${gc(e)}`)}traceHookInvocation(e,t,n){if(!this.enabled(wc.HOOK))return;const r=tc("traceData.hookType")(n)||"internal",s=tc("traceData.context.state.name")(n)||tc("traceData.context")(n)||"unknown",i=$c(e.registeredHook.callback);console.log(`${Sc(t)}: Hook -> ${r} context: ${s}, ${fc(200,i)}`)}traceHookResult(e,t){this.enabled(wc.HOOK)&&console.log(`${Sc(t)}: <- Hook returned: ${fc(200,gc(e))}`)}traceResolvePath(e,t,n){this.enabled(wc.RESOLVE)&&console.log(`${Sc(n)}: Resolving ${e} (${t})`)}traceResolvableResolved(e,t){this.enabled(wc.RESOLVE)&&console.log(`${Sc(t)}: <- Resolved ${e} to: ${fc(200,gc(e.data))}`)}traceError(e,t){this.enabled(wc.TRANSITION)&&console.log(`${Sc(t)}: <- Rejected ${gc(t)}, reason: ${e}`)}traceSuccess(e,t){this.enabled(wc.TRANSITION)&&console.log(`${Sc(t)}: <- Success ${gc(t)}, final state: ${e.name}`)}traceUIViewEvent(e,t,n=""){this.enabled(wc.UIVIEW)&&console.log(`ng-view: ${function(e,t){for(;t.length<e;)t+=" ";return t}(30,e)} ${yc(t)}${n}`)}traceUIViewConfigUpdated(e,t){this.enabled(wc.UIVIEW)&&this.traceUIViewEvent("Updating",e,` with ViewConfig from context='${t}'`)}traceUIViewFill(e,t){this.enabled(wc.UIVIEW)&&this.traceUIViewEvent("Fill",e,` with: ${fc(200,t)}`)}traceViewSync(e){if(!this.enabled(wc.VIEWCONFIG))return;const t="uiview component fqn",n="view config state (view name)",r=e.map(({ngView:e,viewConfig:r})=>{const s=e&&e.fqn,i=r&&`${r.viewDecl.$context.name}: (${r.viewDecl.$name})`;return{[t]:s,[n]:i}}).sort((e,n)=>(e[t]||"").localeCompare(n[t]||""));console.table(r)}traceViewServiceEvent(e,t){this.enabled(wc.VIEWCONFIG)&&console.log(`VIEWCONFIG: ${e} ${(e=>{const t=e.viewDecl,n=t.$context.name||"(root)";return`[View#${e.$id} from '${n}' state]: target ng-view: '${t.$ngViewName}@${t.$ngViewContextAnchor}'`})(t)}`)}traceViewServiceUIViewEvent(e,t){this.enabled(wc.VIEWCONFIG)&&console.log(`VIEWCONFIG: ${e} ${yc(t)}`)}};let Oc="LAZY",Ac="WAIT";class kc{constructor(e,t,n,r,s){this.resolved=!1,this.promise=void 0,e instanceof kc?Object.assign(this,e):k(t)?(oe(!S(e),"token argument is required"),this.token=e,this.policy=r,this.resolveFn=t,this.deps=n||[],this.data=s,this.resolved=void 0!==s,this.promise=this.resolved?Promise.resolve(this.data):void 0):w(e)&&e.token&&(ve(e,"resolveFn")||ve(e,"data"))&&(this.token=e.token,this.resolveFn=e.resolveFn,this.deps=e.deps,this.policy=e.policy,this.data=e.data)}getPolicy(e){const t=this.policy||{},n=e&&e.resolvePolicy||{};return{when:t.when||n.when||Oc,async:t.async||n.async||Ac}}resolve(e,t){const n=e.findNode(this),r=n&&n.state,s=this.getPolicy(r).async,i=k(s)?s:e=>e;return this.promise=Promise.resolve().then(()=>Promise.all(e.getDependencies(this).map(n=>n.get(e,t)))).then(e=>this.resolveFn.apply(null,e)).then(i).then(e=>(this.data=e,this.resolved=!0,this.resolveFn=null,xc.traceResolvableResolved(this,t),this.data)),this.promise}get(e,t){return this.promise||this.resolve(e,t)}toString(){return`Resolvable(token: ${gc(this.token)}, requires: [${this.deps.map(gc)}])`}clone(){return new kc(this)}}kc.fromData=(e,t)=>new kc(e,()=>t,null,null,t);class Tc{constructor(e,t,n,r){this._stateRegistry=e,this._identifier=t,this._identifier=t,this._params=Object.assign({},n||{}),this._options=Object.assign({},r||{}),this._definition=e.matcher.find(t,this._options.relative)}name(){return this._definition&&this._definition.name||this._identifier}identifier(){return this._identifier}params(){return this._params}$state(){return this._definition}state(){return this._definition&&this._definition.self}options(){return this._options}exists(){return!(!this._definition||!this._definition.self)}valid(){return!this.error()}error(){const e=this.options().relative;if(!this._definition&&e){const t=e.name?e.name:e;return`Could not resolve '${this.name()}' from state '${t}'`}return this._definition?this._definition.self?void 0:`State '${this.name()}' has an invalid definition`:`No such state '${this.name()}'`}toString(){return`'${this.name()}'${gc(this.params())}`}withState(e){return new Tc(this._stateRegistry,e,this._params,this._options)}withParams(e,t=!1){const n=t?e:Object.assign({},this._params,e);return new Tc(this._stateRegistry,this._identifier,n,this._options)}withOptions(e,t=!1){const n=t?e:Object.assign({},this._options,e);return new Tc(this._stateRegistry,this._identifier,this._params,n)}}Tc.isDef=e=>e&&e.state&&(E(e.state)||w(e.state)&&E(e.state.name));const _c=0,Nc=1,jc=2;function Lc(e,t,n){const r=!1===n.reloadOnSearch&&t===Nc||void 0,s=Da([n.dynamic,r],b),i=b(s)?{dynamic:s}:{},o=function(e){function t(){return e.value}e=(e=>0===["value","type","squash","array","dynamic"].filter(Object.prototype.hasOwnProperty.bind(e||{})).length)(e)?{value:e}:e,t.__cacheable=!0;const n=dc(e.value)?e.value:t;return Object.assign(e,{$$fn:n})}(n&&n.params&&n.params[e]);return Object.assign(i,o)}class Rc{constructor(e,t,n,r,s){const i=Lc(e,n,s);t=function(e,t,n,r,s){if(e.type&&t&&"string"!==t.name)throw new Error(`Param '${r}' has two type configurations.`);if(e.type&&t&&"string"===t.name&&s.type(e.type))return s.type(e.type);if(t)return t;if(!e.type){const e=n===jc?"any":n===_c?"path":n===Nc?"query":"string";return s.type(e)}return e.type instanceof ic?e.type:s.type(e.type)}(i,t,n,e,r.paramTypes);const o=function(){const t={array:n===Nc&&"auto"},r=e.match(/\[\]$/)?{array:!0}:{};return Object.assign(t,r,i).array}();t=o?t.$asArray(o,n===Nc):t;const a=void 0!==i.value||n===Nc,c=b(i.dynamic)?!!i.dynamic:!!t.dynamic,l=b(i.raw)?!!i.raw:!!t.raw,u=function(e,t,n){const r=e.squash;if(!t||!1===r)return!1;if(!b(r)||null==r)return n;if(!0===r||E(r))return r;throw new Error(`Invalid squash policy: '${r}'. Valid policies: false, true, or arbitrary string`)}(i,a,r.defaultSquashPolicy()),h=function(e,t,n,r){const s=[{from:"",to:n||t?void 0:""},{from:null,to:n||t?void 0:""}],i=Array.isArray(e.replace)?e.replace:[];E(r)&&i.push({from:r,to:void 0});const o=Ua(i,e=>e.from);return Pa(s,e=>-1===o.indexOf(e.from)).concat(i)}(i,o,a,u),d=b(i.inherit)?!!i.inherit:!!t.inherit;this.isOptional=a,this.type=t,this.location=n,this.id=e,this.dynamic=c,this.raw=l,this.squash=u,this.replace=h,this.inherit=d,this.array=o,this.config=i}isDefaultValue(e){return this.isOptional&&this.type.equals(this.value(),e)}value(e){return e=(e=>{for(const t of this.replace)if(t.from===e)return t.to;return e})(e),y(e)?(()=>{if(this._defaultValueCache)return this._defaultValueCache.defaultValue;if(!window.angular.$injector)throw new Error("Injectable functions cannot be called at configuration time");const e=window.angular.$injector.invoke(this.config.$$fn);if(null!=e&&!this.type.is(e))throw new Error(`Default value (${e}) for parameter '${this.id}' is not an instance of ParamType (${this.type.name})`);return this.config.$$fn.__cacheable&&(this._defaultValueCache={defaultValue:e}),e})():this.type.$normalize(e)}isSearch(){return this.location===Nc}validates(e){if((y(e)||null===e)&&this.isOptional)return!0;const t=this.type.$normalize(e);if(!this.type.is(t))return!1;const n=t;return!(E(n)&&!this.type.pattern.exec(n))}toString(){return`{Param:${this.id} ${this.type} squash: '${this.squash}' optional: ${this.isOptional}}`}static values(e,t={}){const n={};for(const r of e)n[r.id]=r.value(t[r.id]);return n}static changed(e,t={},n={}){return e.filter(e=>!e.type.equals(t[e.id],n[e.id]))}static equals(e,t={},n={}){return 0===Rc.changed(e,t,n).length}static validates(e,t={}){return e.map(e=>e.validates(t[e.id])).reduce(Ia,!0)}}class Vc{constructor(e){if(e instanceof Vc){const t=e;this.state=t.state,this.paramSchema=t.paramSchema.slice(),this.paramValues=Object.assign({},t.paramValues),this.resolvables=t.resolvables.slice(),this.views=t.views&&t.views.slice()}else{const t=e;this.state=t,this.paramSchema=t.parameters({inherit:!1}),this.paramValues={},this.resolvables=t.resolvables.map(e=>e.clone())}}clone(){return new Vc(this)}applyRawParams(e){return this.paramValues=this.paramSchema.reduce((t,n)=>{return Qa(t,[(r=n).id,r.value(e[r.id])]);var r},{}),this}parameter(e){return Da(this.paramSchema,ec("id",e))}equals(e,t){const n=this.diff(e,t);return n&&0===n.length}diff(e,t){if(this.state!==e.state)return!1;const n=t?t(this):this.paramSchema;return Rc.changed(n,this.paramValues,e.paramValues)}}class Mc{static buildPath(e){const t=e.params();return e.$state().path.map(e=>new Vc(e).applyRawParams(t))}static buildToPath(e,t){const n=Mc.buildPath(t);return t.options().inherit?Mc.inheritParams(e,n,Object.keys(t.params())):n}static applyViewConfigs(e,t,n){t.filter(e=>n.includes(e.state)).forEach(n=>{const r=Object.values(n.state.views||{}),s=Mc.subPath(t,e=>e===n),i=r.map(t=>e.createViewConfig(s,t));n.views=i.reduce(Fa,[])})}static inheritParams(e,t,n=[]){const r=e.map(e=>e.paramSchema).reduce(Fa,[]).filter(e=>!e.inherit).map(e=>e.id);return t.map(function(t){let s=Object.assign({},t&&t.paramValues);const i=Va(s,n);s=Ma(s,n);const o=Ma(function(e,t){const n=Da(e,ec("state",t));return Object.assign({},n&&n.paramValues)}(e,t.state)||{},r),a=Object.assign(s,o,i);return new Vc(t.state).applyRawParams(a)})}static treeChanges(e,t,n){const r=Math.min(e.length,t.length);let s=0;const i=(e,t)=>e.equals(t,Mc.nonDynamicParams);for(;s<r&&e[s].state!==n&&i(e[s],t[s]);)s++;let o,a,c,l,u;o=e,a=o.slice(0,s),c=o.slice(s);const h=a.map(function(e,n){const r=e.clone();return r.paramValues=t[n].paramValues,r});return l=t.slice(s),u=h.concat(l),{from:o,to:u,retained:a,retainedWithToParams:h,exiting:c,entering:l}}static matching(e,t,n){let r=!1;return Ka(e,t).reduce((e,[t,s])=>(r=r||!t.equals(s,n),r?e:e.concat(t)),[])}static equals(e,t,n){return e.length===t.length&&Mc.matching(e,t,n).length===e.length}static subPath(e,t){const n=Da(e,t),r=e.indexOf(n);return-1===r?void 0:e.slice(0,r+1)}static nonDynamicParams(e){return e.state.parameters({inherit:!1}).filter(e=>!e.dynamic)}static paramValues(e){return e.reduce((e,t)=>Object.assign(e,t.paramValues),{})}}function Pc(e,t){return new Tc(e,t.at(-1).state,t.map(e=>e.paramValues).reduce((e,t)=>({...e,...t}),{}),{})}const Dc={LAZY:"LAZY",EAGER:"EAGER"},Uc=[Dc.EAGER,Dc.LAZY],Ic=[Dc.EAGER];class Hc{constructor(e){this._path=e}getTokens(){return this._path.reduce((e,t)=>e.concat(t.resolvables.map(e=>e.token)),[]).reduce(Ba,[])}getResolvable(e){return Ga(this._path.map(e=>e.resolvables).reduce(Fa,[]).filter(t=>t.token===e))}getPolicy(e){const t=this.findNode(e);return e.getPolicy(t)}subContext(e){return new Hc(Mc.subPath(this._path,t=>t.state===e))}addResolvables(e,t){const n=Da(this._path,ec("state",t)),r=e.map(e=>e.token);n.resolvables=n.resolvables.filter(e=>-1===r.indexOf(e.token)).concat(e)}resolvePath(e="LAZY",t){const n=(Uc.includes(e)?e:"LAZY")===Dc.EAGER?Ic:Uc;xc.traceResolvePath(this._path,e,t);const r=(e,t)=>n=>e.includes(this.getPolicy(n)[t]),s=this._path.reduce((e,s)=>{const i=s.resolvables.filter(r(n,"when")),o=i.filter(r(["NOWAIT"],"async")),a=i.filter(e=>!r(["NOWAIT"],"async")(e)),c=this.subContext(s.state),l=e=>e.get(c,t).then(t=>({token:e.token,value:t}));return o.forEach(l),e.concat(a.map(l))},[]);return Promise.all(s)}findNode(e){return Da(this._path,t=>t.resolvables.includes(e))}getDependencies(e){const t=this.findNode(e),n=(Mc.subPath(this._path,e=>e===t)||this._path).reduce((e,t)=>e.concat(t.resolvables),[]).filter(t=>t!==e);return e.deps.map(e=>{const t=n.filter(t=>t.token===e);if(t.length)return Ga(t);const r=window.angular.$injector.get(e);if(y(r))throw new Error("Could not find Dependency Injection token: "+gc(e));return new kc(e,()=>r,[],r)})}}const Fc=(e,t)=>e.reduce((e,n)=>e||b(t[n]),!1);function qc(e){if(!e.parent)return{};const t=["component","bindings","componentProvider"],n=["templateProvider","templateUrl","template","notify","async"].concat(["controller","controllerProvider","controllerAs","resolveAs"]),r=t.concat(n);if(b(e.views)&&Fc(r,e))throw new Error(`State '${e.name}' has a 'views' object. It cannot also have "view properties" at the state level. Move the following properties into a view (in the 'views' object): ${r.filter(t=>b(e[t])).join(", ")}`);const s={},i=e.views||{$default:Va(e,r)};return Object.entries(i).forEach(([r,i])=>{if(r=r||"$default",E(i)&&(i={component:i}),i=Object.assign({},i),Fc(t,i)&&Fc(n,i))throw new Error(`Cannot combine: ${t.join("|")} with: ${n.join("|")} in stateview: '${r}@${e.name}'`);i.resolveAs=i.resolveAs||"$resolve",i.$context=e,i.$name=r;const o=zc.normalizeUIViewTarget(i.$context,i.$name);i.$ngViewName=o.ngViewName,i.$ngViewContextAnchor=o.ngViewContextAnchor,s[r]=i}),s}let Bc=0;class zc{constructor(e,t,n){this.path=e,this.viewDecl=t,this.factory=n,this.component=void 0,this.template=void 0,this.$id=Bc++,this.loaded=!1,this.getTemplate=(e,t)=>this.component?this.factory.makeComponentTemplate(e,t,this.component,this.viewDecl.bindings):this.template}load(){const e=new Hc(this.path),t=this.path.reduce((e,t)=>Object.assign(e,t.paramValues),{}),n=[Promise.resolve(this.factory.fromConfig(this.viewDecl,t,e)),Promise.resolve(this.getController(e))];return Promise.all(n).then(e=>(xc.traceViewServiceEvent("Loaded",this),this.controller=e[1],Object.assign(this,e[0]),this))}getController(e){const t=this.viewDecl.controllerProvider;if(!dc(t))return this.viewDecl.controller;const n=mn(t),r=Array.isArray(t)?Ga(t):t;return new kc("",r,n).get(e)}static normalizeUIViewTarget(e,t=""){const n=t.split("@");let r=n[0]||"$default",s=E(n[1])?n[1]:"^";const i=/^(\^(?:\.\^)*)\.(.*$)/.exec(r);i&&(s=i[1],r=i[2]),"!"===r.charAt(0)&&(r=r.substring(1),s="");if(/^(\^(?:\.\^)*)$/.exec(s)){const t=s.split(".").reduce(e=>e.parent,e);s=t.name}else"."===s&&(s=e.name);return{ngViewName:r,ngViewContextAnchor:s}}}class Wc{constructor(){this._ngViews=[],this._viewConfigs=[],this._listeners=[],this.viewConfigFactory(function(){let e=null;return(t,n)=>(e=e||window.angular.$injector.get("$templateFactory"),new zc(t,n,e))}())}$get=()=>this;rootViewContext(e){return this._rootContext=e||this._rootContext}viewConfigFactory(e){this.viewConfigFactory=e}createViewConfig(e,t){const n=this.viewConfigFactory;if(!n)throw new Error("ViewService: No view config factory registered for type "+t.$type);return n(e,t)}deactivateViewConfig(e){xc.traceViewServiceEvent("<- Removing",e),La(this._viewConfigs,e)}activateViewConfig(e){xc.traceViewServiceEvent("-> Registering",e),this._viewConfigs.push(e)}sync(){const e=this._ngViews.map(e=>[e.fqn,e]).reduce(Qa,{});function t(e){let t=e.viewDecl.$context,n=0;for(;++n&&t.parent;)t=t.parent;return n}const n=Xa((e,t,n,r)=>t*(e(n)-e(r))),r=e=>{-1!==this._ngViews.indexOf(e.ngView)&&e.ngView.configUpdated(e.viewConfig)},s=this._ngViews.sort(n(function(e){const t=e=>e&&e.parent?t(e.parent)+1:1;return 1e4*e.fqn.split(".").length+t(e.creationContext)},1)).map(r=>{const s=this._viewConfigs.filter(Wc.matches(e,r));return s.length>1&&s.sort(n(t,-1)),{ngView:r,viewConfig:s[0]}}),i=s.map(e=>e.viewConfig),o=this._viewConfigs.filter(e=>!i.includes(e)).map(e=>({ngView:void 0,viewConfig:e}));s.forEach(e=>{r(e)});const a=s.concat(o);this._listeners.forEach(e=>e(a)),xc.traceViewSync(a)}registerUIView(e){xc.traceViewServiceUIViewEvent("-> Registering",e);const t=this._ngViews;return t.filter(t=>t.fqn===e.fqn).length&&xc.traceViewServiceUIViewEvent("!!!! duplicate ngView named:",e),t.push(e),this.sync(),()=>{-1!==t.indexOf(e)?(xc.traceViewServiceUIViewEvent("<- Deregistering",e),La(t,e)):xc.traceViewServiceUIViewEvent("Tried removing non-registered ngView",e)}}available(){return this._ngViews.map(e=>e.fqn)}active(){return this._ngViews.filter(e=>e.$config).map(e=>e.name)}}Wc.matches=(e,t)=>n=>{if(t.$type!==n.viewDecl.$type)return!1;const r=n.viewDecl,s=r.$ngViewName.split("."),i=t.fqn.split(".");if(!Na(s,i.slice(0-s.length)))return!1;const o=1-s.length||void 0,a=i.slice(0,o).join("."),c=e[a].creationContext;return r.$ngViewContextAnchor===(c&&c.name)};const Kc=2,Qc=3,Gc=4,Jc=5,Zc=6;let Yc=0;class Xc{static superseded(e,t){const n=new Xc(Kc,"The transition has been superseded by a different transition",e);return t&&t.redirected&&(n.redirected=!0),n}static redirected(e){return Xc.superseded(e,{redirected:!0})}static invalid(e){return new Xc(Gc,"This transition is invalid",e)}static ignored(e){return new Xc(Jc,"The transition was ignored",e)}static aborted(e){return new Xc(Qc,"The transition has been aborted",e)}static errored(e){return new Xc(Zc,"The transition errored",e)}static normalize(e){return nc(Xc)(e)?e:Xc.errored(e)}constructor(e,t,n){this.$id=Yc++,this.type=e,this.message=t,this.detail=n,this.redirected=!1}toString(){const e=(t=this.detail)&&t.toString!==Object.prototype.toString?t.toString():gc(t);var t;const{$id:n,type:r,message:s}=this;return`Transition Rejection($id: ${n} type: ${r}, message: ${s}, detail: ${e})`}toPromise(){return Object.assign(Ya(this),{_transitionRejection:this})}}class el{constructor(){this.eventBus=nl}$get=()=>this.eventBus}class tl{constructor(e=!1){this.disposed=!1,this.key=1,this.pendingKeys=[],this.publishDepth=0,this.subscriptions=[],this.topics={},this.async_=Boolean(e)}subscribe(e,t,n=null){let r=this.topics[e];r||(r=this.topics[e]=[]);const s=this.key;return this.subscriptions[s]=e,this.subscriptions[s+1]=t,this.subscriptions[s+2]=n,this.key=s+3,r.push(s),s}subscribeOnce(e,t,n=null){let r=!1;const s=this.subscribe(e,(...e)=>{r||(r=!0,this.unsubscribeByKey(s),t.apply(n,e))},this);return s}static runAsync_(e,t,n){Promise.resolve().then(()=>{e.apply(t,n)})}unsubscribe(e,t,n=null){const r=this.topics[e];if(r){const e=this.subscriptions,s=r.find(r=>e[r+1]===t&&e[r+2]===n);if(void 0!==s)return this.unsubscribeByKey(s)}return!1}unsubscribeByKey(e){const t=this.subscriptions[e];if(t){let n=this.topics[t];0!==this.publishDepth?(this.pendingKeys.push(e),this.subscriptions[e+1]=()=>{}):(n&&(this.topics[t]=n.filter(t=>t!==e)),delete this.subscriptions[e],delete this.subscriptions[e+1],delete this.subscriptions[e+2])}return!!t}publish(e,...t){const n=this.topics[e];if(n){const e=t;if(this.async_)for(let t=0;t<n.length;t++){const r=n[t];tl.runAsync_(this.subscriptions[r+1],this.subscriptions[r+2],e)}else{this.publishDepth++;try{for(let t=0,r=n.length;t<r&&!this.isDisposed();t++){const r=n[t];this.subscriptions[r+1].apply(this.subscriptions[r+2],e)}}finally{if(this.publishDepth--,this.pendingKeys.length>0&&0===this.publishDepth){let e;for(;e=this.pendingKeys.pop();)this.unsubscribeByKey(e)}}}return!0}return!1}clear(e){if(e){const t=this.topics[e];t&&(t.forEach(this.unsubscribeByKey,this),delete this.topics[e])}else this.subscriptions.length=0,this.topics={}}getCount(e){if(e){const t=this.topics[e];return t?t.length:0}let t=0;for(const e in this.topics)t+=this.getCount(e);return t}isDisposed(){return this.disposed}dispose(){this.clear(),this.pendingKeys.length=0,this.disposed=!0}}const nl=new tl(!0),rl={current:()=>{},transition:null,traceData:{},bind:null},sl=Object.freeze({CREATE:0,BEFORE:1,RUN:2,SUCCESS:3,ERROR:4}),il=Object.freeze({TRANSITION:0,STATE:1});class ol{static chain(e,t){return e.reduce((e,t)=>e.then(()=>t.invokeHook()),t||Promise.resolve())}static invokeHooks(e,t){for(let n=0;n<e.length;n++){const r=e[n].invokeHook();if(pc(r)){const s=e.slice(n+1);return ol.chain(s,r).then(()=>{t()})}}return t()}static runAllHooks(e){e.forEach(e=>e.invokeHook())}constructor(e,t,n,r){this.transition=e,this.stateContext=t,this.registeredHook=n,this.options=r,this.isSuperseded=()=>this.type.hookPhase===sl.RUN&&!this.options.transition.isActive(),this.options=Ra(r,rl),this.type=n.eventType}logError(e){nl.publish("$stateService:defaultErrorHandler",e)}invokeHook(){const e=this.registeredHook;if(e._deregistered)return;const t=this.getNotCurrentRejection();if(t)return t;const n=this.options;xc.traceHookInvocation(this,this.transition,n);const r=()=>e.callback.call(n.bind,this.transition,this.stateContext),s=e=>Xc.normalize(e).toPromise(),i=t=>e.eventType.getErrorHandler(this)(t),o=t=>e.eventType.getResultHandler(this)(t);try{const e=r();return!this.type.synchronous&&pc(e)?e.catch(s).then(o,i):o(e)}catch(e){return i(Xc.normalize(e))}finally{e.invokeLimit&&++e.invokeCount>=e.invokeLimit&&e.deregister()}}handleHookResult(e){const t=this.getNotCurrentRejection();return t||(pc(e)?e.then(e=>this.handleHookResult(e)):(xc.traceHookResult(e,this.transition),!1===e?Xc.aborted("Hook aborted transition").toPromise():e instanceof Tc?Xc.redirected(e).toPromise():void 0))}getNotCurrentRejection(){return this.transition._aborted?Xc.aborted().toPromise():this.isSuperseded()?Xc.superseded(this.options.current()).toPromise():void 0}toString(){const{options:e,registeredHook:t}=this;return`${tc("traceData.hookType")(e)||"internal"} context: ${tc("traceData.context.state.name")(e)||tc("traceData.context")(e)||"unknown"}, ${fc(200,mc(t.callback))}`}}ol.HANDLE_RESULT=e=>t=>e.handleHookResult(t),ol.LOG_REJECTED_RESULT=e=>t=>{pc(t)&&t.catch(t=>e.logError(Xc.normalize(t)))},ol.LOG_ERROR=e=>t=>e.logError(t),ol.REJECT_ERROR=()=>e=>Ya(e),ol.THROW_ERROR=()=>e=>{throw e};class al{static fromString(e){return function(e){return!!/[!,*]+/.exec(e)}(e)?new al(e):null}constructor(e){this.text=e,this.glob=e.split(".");const t=this.text.split(".").map(e=>"**"===e?"(?:|(?:\\.[^.]*)*)":"*"===e?"\\.[^.]*":"\\."+e).join("");this.regexp=new RegExp("^"+t+"$")}matches(e){return this.regexp.test("."+e)}}function cl(e,t,n){const r=E(t)?[t]:t;return!!(k(r)?r:function(e){const t=r;for(let n=0;n<t.length;n++){const r=new al(t[n]);if(r&&r.matches(e.name)||!r&&t[n]===e.name)return!0}return!1})(e,n)}class ll{constructor(e,t,n,r,s,i={}){this.tranSvc=e,this.eventType=t,this.callback=n,this.matchCriteria=r,this.removeHookFromRegistry=s,this.invokeCount=0,this._deregistered=!1,this.priority=i.priority||0,this.bind=i.bind||null,this.invokeLimit=i.invokeLimit}_matchingNodes(e,t,n){if(!0===t)return e;const r=e.filter(e=>cl(e.state,t,n));return r.length?r:null}_getDefaultMatchCriteria(){return Ua(this.tranSvc._getPathTypes(),()=>!0)}_getMatchingNodes(e,t){const n=Object.assign(this._getDefaultMatchCriteria(),this.matchCriteria);return Object.values(this.tranSvc._getPathTypes()).reduce((r,s)=>{const i=s.scope===il.STATE,o=e[s.name]||[],a=i?o:[Ga(o)];return r[s.name]=this._matchingNodes(a,n[s.name],t),r},{})}matches(e,t){const n=this._getMatchingNodes(e,t);return Object.values(n).every(e=>e)?n:null}deregister(){this.removeHookFromRegistry(this),this._deregistered=!0}}function ul(e,t,n){const r=(e._registeredHooks=e._registeredHooks||{})[n.name]=[],s=e=>La(r,e);function i(e,i,o={}){const a=new ll(t,n,i,e,s,o);return r.push(a),a.deregister.bind(a)}return e[n.name]=i,i}class hl{constructor(e){this.transition=e}buildHooksForPhase(e){return this.transition.transitionService._getEvents(e).map(e=>this.buildHooks(e)).reduce(Fa,[]).filter(Boolean)}buildHooks(e){const t=this.transition,n=t.treeChanges(),r=this.getMatchingHooks(e,n,t);if(!r)return[];const s={transition:t,current:t.options().current};return r.map(r=>r.matches(n,t)[e.criteriaMatchPath.name].map(n=>{const i=Object.assign({bind:r.bind,traceData:{hookType:e.name,context:n}},s),o=e.criteriaMatchPath.scope===il.STATE?n.state.self:null,a=new ol(t,o,r,i);return{hook:r,node:n,transitionHook:a}})).reduce(Fa,[]).sort(function(e=!1){return function(t,n){const r=e?-1:1,s=(t.node.state.path.length-n.node.state.path.length)*r;return 0!==s?s:n.hook.priority-t.hook.priority}}(e.reverseSort)).map(e=>e.transitionHook)}getMatchingHooks(e,t,n){const r=e.hookPhase===sl.CREATE,s=this.transition.transitionService;return(r?[s]:[this.transition,s]).map(t=>t.getHooks(e.name)).filter(Wa(Array.isArray,`broken event named: ${e.name}`)).reduce(Fa,[]).filter(e=>e.matches(t,n))}}class dl{constructor(e,t,n,r){if(this.globals=r,this.transitionService=n,this._deferred=Promise.withResolvers(),this.promise=this._deferred.promise,this._registeredHooks={},this._hookBuilder=new hl(this),this.isActive=()=>this.globals.transition===this,this._targetState=t,!t.valid())throw new Error(t.error());this._options=Object.assign({current:rc(this)},t.options()),this.$id=n._transitionCount++;const s=Mc.buildToPath(e,t);this._treeChanges=Mc.treeChanges(e,s,this._options.reloadState),this.createTransitionHookRegFns();const i=this._hookBuilder.buildHooksForPhase(sl.CREATE);ol.invokeHooks(i,()=>null),this.applyViewConfigs(),this.onStart=void 0,this.onBefore=void 0,this.onSuccess=void 0,this.onEnter=void 0,this.onRetain=void 0,this.onExit=void 0,this.onFinish=void 0,this.onError=void 0}createTransitionHookRegFns(){this.transitionService._getEvents().filter(e=>e.hookPhase!==sl.CREATE).forEach(e=>ul(this,this.transitionService,e))}getHooks(e){return this._registeredHooks[e]}applyViewConfigs(){const e=this._treeChanges.entering.map(e=>e.state);Mc.applyViewConfigs(this.transitionService.$view,this._treeChanges.to,e)}$from(){return Ga(this._treeChanges.from).state}$to(){return Ga(this._treeChanges.to).state}from(){return this.$from().self}to(){return this.$to().self}targetState(){return this._targetState}is(e){return e instanceof dl?this.is({to:e.$to().name,from:e.$from().name}):!(e.to&&!cl(this.$to(),e.to,this)||e.from&&!cl(this.$from(),e.from,this))}params(e="to"){return Object.freeze(this._treeChanges[e].map(e=>e.paramValues).reduce((e,t)=>({...e,...t}),{}))}getResolveTokens(e="to"){return new Hc(this._treeChanges[e]).getTokens()}addResolvable(e,t){void 0===t&&(t=""),e=nc(kc)(e)?e:new kc(e);const n="string"==typeof t?t:t.name,r=this._treeChanges.to,s=Da(r,e=>e.state.name===n);oe(!!s,`targetNode not found ${n}`);new Hc(r).addResolvables([e],s.state)}redirectedFrom(){return this._options.redirectedFrom||null}originalTransition(){const e=this.redirectedFrom();return e&&e.originalTransition()||this}options(){return this._options}entering(){return Ua(this._treeChanges.entering,e=>e.state).map(e=>e.self)}exiting(){return Ua(this._treeChanges.exiting,e=>e.state).map(e=>e.self).reverse()}retained(){return Ua(this._treeChanges.retained,e=>e.state).map(e=>e.self)}views(e="entering",t){let n=this._treeChanges[e];return n=t?n.filter(ec("state",t)):n,n.map(e=>e.views).reduce(Fa,[])}treeChanges(e){return e?this._treeChanges[e]:this._treeChanges}redirect(e){let t=1,n=this;for(;null!=(n=n.redirectedFrom());)if(++t>20)throw new Error("Too many consecutive Transition redirects (20+)");const r={redirectedFrom:this,source:"redirect"};"url"===this.options().source&&!1!==e.options().location&&(r.location="replace");const s=Object.assign({},this.options(),e.options(),r);e=e.withOptions(s,!0);const i=this.transitionService.create(this._treeChanges.from,e),o=this._treeChanges.entering,a=i._treeChanges.entering;return Mc.matching(a,o,Mc.nonDynamicParams).filter(t=>{return!(n=e.options().reloadState,e=>n&&e.state.includes[n.name])(t);var n}).forEach((e,t)=>{e.resolvables=o[t].resolvables}),i}_changedParams(){const e=this._treeChanges;if(this._options.reload)return;if(e.exiting.length||e.entering.length)return;if(e.to.length!==e.from.length)return;if(Ka(e.to,e.from).map(e=>e[0].state!==e[1].state).reduce(Ha,!1))return;const t=e.to.map(e=>e.paramSchema),[n,r]=[e.to,e.from].map(e=>e.map(e=>e.paramValues));return Ka(t,n,r).map(([e,t,n])=>Rc.changed(e,t,n)).reduce(Fa,[])}dynamic(){const e=this._changedParams();return!!e&&e.map(e=>e.dynamic).reduce(Ha,!1)}ignored(){return!!this._ignoredReason()}_ignoredReason(){const e=this.globals.transition,t=this._options.reloadState,n=(e,n)=>{if(e.length!==n.length)return!1;const r=Mc.matching(e,n);return e.length===r.filter(e=>!t||!e.state.includes[t.name]).length},r=this._treeChanges,s=e&&e._treeChanges;return s&&n(s.to,r.to)&&n(s.exiting,r.exiting)?"SameAsPending":0===r.exiting.length&&0===r.entering.length&&n(r.from,r.to)?"SameAsCurrent":void 0}run(){const e=e=>this._hookBuilder.buildHooksForPhase(e),t=e(sl.BEFORE);return ol.invokeHooks(t,()=>{const e=this.globals;return e.lastStartedTransitionId=this.$id,e.transition=this,e.transitionHistory.enqueue(this),xc.traceTransitionStart(this),Promise.resolve()}).then(()=>{const t=e(sl.RUN),n=Promise.resolve();return ol.invokeHooks(t,()=>n)}).then(()=>{xc.traceSuccess(this.$to(),this),this.success=!0,this._deferred.resolve(this.to());this._hookBuilder.buildHooksForPhase(sl.SUCCESS).forEach(e=>{e.invokeHook()})},t=>{xc.traceError(t,this),this.success=!1,this._deferred.reject(t),this._error=t;e(sl.ERROR).forEach(e=>e.invokeHook())}),this.promise}valid(){return!this.error()||void 0!==this.success}abort(){y(this.success)&&(this._aborted=!0)}error(){const e=this.$to();if(e.self.abstract)return Xc.invalid(`Cannot transition to abstract state '${e.name}'`);const t=e.parameters(),n=this.params(),r=t.filter(e=>!e.validates(n[e.id]));if(r.length){const t=r.map(e=>`[${e.id}:${gc(n[e.id])}]`).join(", "),s=`The following parameter values are not valid for state '${e.name}': ${t}`;return Xc.invalid(s)}return!1===this.success?this._error:void 0}toString(){const e=this.from(),t=this.to(),n=e=>null!==e["#"]&&void 0!==e["#"]?e:Ma(e,["#"]);return`Transition#${this.$id}( '${w(e)?e.name:e}'${gc(n(this._treeChanges.from.map(e=>e.paramValues).reduce((e,t)=>({...e,...t}),{})))} -> ${this.valid()?"":"(X) "}'${w(t)?t.name:t}'${gc(n(this.params()))} )`}}dl.diToken=dl;const pl=["$transition$",dl];function fl(e){const t=Object.values(e.treeChanges()).reduce(Fa,[]).reduce(Ba,[]),n=e=>pl.includes(e.token)?kc.fromData(e.token,null):e;t.forEach(e=>{e.resolvables=e.resolvables.map(n)})}function $l(e){return(t,n)=>(0,n.$$state()[e])(t,n)}const ml=$l("onExit"),gl=$l("onRetain"),vl=$l("onEnter"),yl=1e3,bl=e=>new Hc(e.treeChanges().to).resolvePath("EAGER",e).then(()=>{}),wl=(e,t)=>new Hc(e.treeChanges().to).subContext(t.$$state()).resolvePath("LAZY",e).then(()=>{}),El=e=>new Hc(e.treeChanges().to).resolvePath("LAZY",e).then(()=>{}),Cl=e=>{const t=e.views("entering");if(t.length)return Promise.all(t.map(e=>Promise.resolve(e.load()))).then(()=>{})},Sl=e=>{const t=e.globals,n=()=>{t.transition===e&&(t.transition=null)};e.onSuccess({},()=>{t.successfulTransitions.enqueue(e),t.$current=e.$to(),t.current=t.$current.self,Ja(e.params(),t.params)},{priority:1e4}),e.promise.then(n,n)};function xl(e,t,n,r){return e.onBefore({entering:e=>!!e.lazyLoad},e=>{const s=e.entering().filter(e=>!!e.$$state().lazyLoad).map(t=>Ol(e,t,r));return Promise.all(s).then(function(){if("url"!==e.originalTransition().options().source){const n=e.targetState();return t.target(n.identifier(),n.params(),n.options())}const r=n.match(n.parts()),s=r&&r.rule;if(s&&"STATE"===s.type){const n=s.state,i=r.match;return t.target(n,i,e.options())}n.sync()})})}function Ol(e,t,n){const r=t.$$state().lazyLoad;let s=r._promise;if(!s){const i=e=>(delete t.lazyLoad,delete t.$$state().lazyLoad,delete r._promise,e),o=e=>(delete r._promise,Promise.reject(e));s=r._promise=Promise.resolve(r(e,t)).then(function(e){e&&Array.isArray(e.states)&&e.states.forEach(e=>n.register(e));return e}).then(i,o)}return s}class Al{constructor(e,t,n,r,s=!1,i=ol.HANDLE_RESULT,o=ol.REJECT_ERROR,a=!1){this.name=e,this.hookPhase=t,this.hookOrder=n,this.criteriaMatchPath=r,this.reverseSort=s,this.getResultHandler=i,this.getErrorHandler=o,this.synchronous=a}}function kl(e){const t=e._ignoredReason();if(!t)return;xc.traceTransitionIgnored(e);const n=e.globals.transition;return"SameAsCurrent"===t&&n&&n.abort(),Xc.ignored().toPromise()}function Tl(e){if(!e.valid())throw new Error(e.error().toString())}let _l={location:!0,relative:null,inherit:!1,notify:!0,reload:!1,supercede:!0,custom:{},current:()=>null,source:"unknown"};class Nl{static $inject=Jt([Gt.$router,Gt.$view]);constructor(e,t){this._transitionCount=0,this._eventTypes=[],this._registeredHooks={},this._criteriaPaths={},this.globals=e,this.$view=t,this._deregisterHookFns={},this._defineCorePaths(),this._defineCoreEvents(),this._registerCoreTransitionHooks(),e.successfulTransitions.onEvict(fl)}$get=[Gt.$state,Gt.$url,Gt.$stateRegistry,Gt.$view,(e,t,n,r)=>(this._deregisterHookFns.lazyLoad=xl(this,e,t,n),this._deregisterHookFns.updateUrl=((e,t,n)=>{e.onSuccess({},e=>{const r=e.options(),s=t;if("url"!==r.source&&r.location&&s.$current.navigable){const e={replace:"replace"===r.location};n.push(s.$current.navigable.url,s.globals.params,e)}n.update(!0)},{priority:9999})})(this,e,t),this._deregisterHookFns.redirectTo=((e,t)=>{e.onStart({to:e=>!!e.redirectTo},e=>{const n=e.to().redirectTo;if(!n)return;const r=t;function s(t){if(t)return t instanceof Tc?t:E(t)?r.target(t,e.params(),e.options()):t.state||t.params?r.target(t.state||e.to(),t.params||e.params(),e.options()):void 0}return k(n)?Promise.resolve(n(e)).then(s):s(n)})})(this,e),this._deregisterHookFns.activateViews=((e,t)=>{e.onSuccess({},e=>{const n=e.views("entering"),r=e.views("exiting");(n.length||r.length)&&(r.forEach(e=>t.deactivateViewConfig(e)),n.forEach(e=>{t.activateViewConfig(e)}),t.sync())})})(this,r),this)];create(e,t){return new dl(e,t,this,this.globals)}_defineCoreEvents(){const e=ol,t=this._criteriaPaths,n=!1,r=!0;this._defineEvent("onCreate",sl.CREATE,0,t.to,n,e.LOG_REJECTED_RESULT,e.THROW_ERROR,r),this._defineEvent("onBefore",sl.BEFORE,0,t.to),this._defineEvent("onStart",sl.RUN,0,t.to),this._defineEvent("onExit",sl.RUN,100,t.exiting,!0),this._defineEvent("onRetain",sl.RUN,200,t.retained),this._defineEvent("onEnter",sl.RUN,300,t.entering),this._defineEvent("onFinish",sl.RUN,400,t.to),this._defineEvent("onSuccess",sl.SUCCESS,0,t.to,n,e.LOG_REJECTED_RESULT,e.LOG_ERROR,r),this._defineEvent("onError",sl.ERROR,0,t.to,n,e.LOG_REJECTED_RESULT,e.LOG_ERROR,r)}_defineCorePaths(){const{STATE:e,TRANSITION:t}=il;this._definePathType("to",t),this._definePathType("from",t),this._definePathType("exiting",e),this._definePathType("retained",e),this._definePathType("entering",e)}_defineEvent(e,t,n,r,s=!1,i=ol.HANDLE_RESULT,o=ol.REJECT_ERROR,a=!1){const c=new Al(e,t,n,r,s,i,o,a);this._eventTypes.push(c),ul(this,this,c)}_getEvents(e){return(b(e)?this._eventTypes.filter(t=>t.hookPhase===e):this._eventTypes.slice()).sort((e,t)=>{const n=e.hookPhase-t.hookPhase;return 0===n?e.hookOrder-t.hookOrder:n})}_definePathType(e,t){this._criteriaPaths[e]={name:e,scope:t}}_getPathTypes(){return this._criteriaPaths}getHooks(e){return this._registeredHooks[e]}_registerCoreTransitionHooks(){const e=this._deregisterHookFns;e.addCoreResolves=void this.onCreate({},function(e){e.addResolvable(kc.fromData(dl,e),""),e.addResolvable(kc.fromData("$transition$",e),""),e.addResolvable(kc.fromData("$stateParams",e.params()),""),e.entering().forEach(t=>{e.addResolvable(kc.fromData("$state$",t),t)})}),e.ignored=(e=>e.onBefore({},kl,{priority:-9999}))(this),e.invalid=(e=>e.onBefore({},Tl,{priority:-1e4}))(this),e.onExit=(e=>e.onExit({exiting:e=>!!e.onExit},ml))(this),e.onRetain=(e=>e.onRetain({retained:e=>!!e.onRetain},gl))(this),e.onEnter=(e=>e.onEnter({entering:e=>!!e.onEnter},vl))(this),e.eagerResolve=(e=>e.onStart({},bl,{priority:yl}))(this),e.lazyResolve=(e=>e.onEnter({entering:rc(!0)},wl,{priority:yl}))(this),e.resolveAll=(e=>e.onFinish({},El,{priority:yl}))(this),e.loadViews=(e=>e.onFinish({},Cl))(this),e.updateGlobals=(e=>e.onCreate({},Sl))(this),e.lazyLoad=xl(this)}}const jl=he("$stateProvider");class Ll{get params(){return this.globals.params}get current(){return this.globals.current}get $current(){return this.globals.$current}static $inject=["$routerProvider","$transitionsProvider"];constructor(e,t,n){this.stateRegistry=void 0,this.urlService=void 0,this.globals=e,this.transitionService=t,this.$injector=n,this.invalidCallbacks=[],this._defaultErrorHandler=function(e){throw e instanceof Error&&e.stack?e:e instanceof Xc?new Error(e.toString()):new Error(e)},nl.subscribe("$stateService:defaultErrorHandler",e=>this.defaultErrorHandler()(e))}$get=()=>this;decorator(e,t){return this.stateRegistry.decorator(e,t)||this}state(e){if(!e.name)throw jl("stateinvalid","'name' required");try{this.stateRegistry.register(e)}catch(e){throw jl("stateinvalid",e.message)}return this}_handleInvalidTargetState(e,t){const n=Pc(this.stateRegistry,e),r=this.globals,s=()=>r.transitionHistory.peekTail(),i=s(),o=new uc(this.invalidCallbacks.slice()),a=this.$injector,c=e=>{if(!(e instanceof Tc))return;let t=e;return t=this.target(t.identifier(),t.params(),t.options()),t.valid()?s()!==i?Xc.superseded().toPromise():this.transitionTo(t.identifier(),t.params(),t.options()):Xc.invalid(t.error()).toPromise()};return function e(){const r=o.dequeue();return void 0===r?Xc.invalid(t.error()).toPromise():Promise.resolve(r(t,n,a)).then(c).then(t=>t||e())}()}onInvalid(e){return this.invalidCallbacks.push(e),function(){La(this.invalidCallbacks,e)}.bind(this)}reload(e){return this.transitionTo(this.globals.current,this.globals.params,{reload:!b(e)||e,inherit:!1,notify:!1})}go(e,t,n){const r=Ra(n,{relative:this.$current,inherit:!0},_l);return this.transitionTo(e,t,r)}target(e,t,n={}){if(w(n.reload)&&!n.reload.name)throw new Error("Invalid reload state object");const r=this.stateRegistry;if(n.reloadState=!0===n.reload?r.root():r.matcher.find(n.reload,n.relative),n.reload&&!n.reloadState)throw new Error(`No such reload state '${E(n.reload)?n.reload:n.reload.name}'`);return new Tc(this.stateRegistry,e,t,n)}getCurrentPath(){const e=this.globals.successfulTransitions.peekTail();return e?e._treeChanges.to:(()=>[new Vc(this.stateRegistry.root())])()}transitionTo(e,t={},n={}){n=Ra(n,_l);const r=()=>this.globals.transition;n=Object.assign(n,{current:r});const s=this.target(e,t,n),i=this.getCurrentPath();if(!s.exists())return this._handleInvalidTargetState(i,s);if(!s.valid())return Ya(s.error());if(!1===n.supercede&&r())return Xc.ignored("Another transition is in progress and supercede has been set to false in TransitionOptions for the transition. So the transition was ignored in favour of the existing one in progress.").toPromise();const o=e=>t=>{if(t instanceof Xc){const n=this.globals.lastStartedTransitionId<=e.$id;if(t.type===Jc)return n&&this.urlService.update(),Promise.resolve(this.globals.current);const r=t.detail;if(t.type===Kc&&t.redirected&&r instanceof Tc){const t=e.redirect(r);return t.run().catch(o(t))}if(t.type===Qc)return n&&this.urlService.update(),Promise.reject(t)}return this.defaultErrorHandler()(t),Promise.reject(t)},a=this.transitionService.create(i,s),c=a.run().catch(o(a));return Za(c),Object.assign(c,{transition:a})}is(e,t,n){n=Ra(n,{relative:this.$current});const r=this.stateRegistry.matcher.find(e,n.relative);if(!b(r))return;if(this.$current!==r)return!1;if(!t)return!0;const s=r.parameters({inherit:!0,matchingKeys:t});return Rc.equals(s,Rc.values(s,t),this.globals.params)}includes(e,t,n){n=Ra(n,{relative:this.$current});const r=E(e)&&al.fromString(e);if(r){if(!r.matches(this.$current.name))return!1;e=this.$current.name}const s=this.stateRegistry.matcher.find(e,n.relative),i=this.$current.includes;if(!b(s))return;if(!b(i[s.name]))return!1;if(!t)return!0;const o=s.parameters({inherit:!0,matchingKeys:t});return Rc.equals(o,Rc.values(o,t),this.globals.params)}href(e,t,n){n=Ra(n,{lossy:!0,inherit:!0,absolute:!1,relative:this.$current}),t=t||{};const r=this.stateRegistry.matcher.find(e,n.relative);if(!b(r))return null;n.inherit&&(t=this.globals.params.$inherit(t,this.$current,r));const s=r&&n.lossy?r.navigable:r;return s&&void 0!==s.url&&null!==s.url?this.urlService.href(s.url,t,{absolute:n.absolute}):null}defaultErrorHandler(e){return this._defaultErrorHandler=e||this._defaultErrorHandler}get(e,t){const n=this.stateRegistry;return 0===arguments.length?n.get():n.get(e,t||this.$current)}lazyLoad(e,t){const n=this.get(e);if(!n||!n.lazyLoad)throw new Error("Can not lazy load "+e);const r=this.getCurrentPath(),s=Pc(this.stateRegistry,r);return Ol(t=t||this.transitionService.create(r,s),n)}}class Rl{constructor(){this.enabled=!1}useAnchorScroll(){this.enabled=!0}$get=[Gt.$anchorScroll,e=>this.enabled?e:async function(e){return setTimeout(()=>{e.scrollIntoView(!1)},0)}]}class Vl{constructor(){this._useHttp=!1}$get=[Gt.$http,Gt.$templateCache,Gt.$templateRequest,Gt.$injector,(e,t,n,r)=>(this.$templateRequest=n,this.$http=e,this.$templateCache=t,this.$injector=r,this)];useHttpService(e){this._useHttp=e}fromConfig(e,t,n){const r=e=>Promise.resolve(e).then(e=>({template:e})),s=e=>Promise.resolve(e).then(e=>({component:e}));switch((e=>b(e.template)?"template":b(e.templateUrl)?"templateUrl":b(e.templateProvider)?"templateProvider":b(e.component)?"component":b(e.componentProvider)?"componentProvider":"default")(e)){case"template":return r(this.fromString(e.template,t));case"templateUrl":return r(this.fromUrl(e.templateUrl,t));case"templateProvider":return r(this.fromProvider(e.templateProvider,t,n));case"component":return s(e.component);case"componentProvider":return s(this.fromComponentProvider(e.componentProvider,n));default:return r("<ng-view></ng-view>")}}fromString(e,t){return k(e)?e(t):e}fromUrl(e,t){return k(e)&&(e=e(t)),null==e?null:this._useHttp?this.$http.get(e,{cache:this.$templateCache,headers:{Accept:"text/html"}}).then(function(e){return e.data}):this.$templateRequest(e)}fromProvider(e,t,n){const r=mn(e),s=Array.isArray(e)?Ga(e):e;return new kc("",s,r).get(n)}fromComponentProvider(e,t){const n=mn(e),r=Array.isArray(e)?Ga(e):e;return new kc("",r,n).get(t)}makeComponentTemplate(e,t,n,r){r=r||{};const s=e=>{const t=function(e){return e.replace(/^([A-Z])/,e=>e.toLowerCase()).replace(/([A-Z])/g,e=>"-"+e.toLowerCase())}(e);return/^(x|data)-/.exec(t)?`x-${t}`:t},i=function(e,t){const n=e.get(t+nr);if(!n||!n.length)throw new Error(`Unable to find component named '${t}'`);return n.map(Ml).reduce(Fa,[])}(this.$injector,n).map(n=>{const{name:i,type:o}=n,a=s(i);if(e.getAttribute(a)&&!r[i])return`${a}='${e.getAttribute(a)}'`;const c=r[i]||i;if("@"===o)return`${a}='{{s$resolve.${c}}}'`;if("&"===o){const e=t.getResolvable(c),n=e&&e.data,r=n&&mn(n)||[];return`${a}='$resolve.${c}${Array.isArray(n)?`[${n.length-1}]`:""}(${r.join(",")})'`}return`${a}='$resolve.${c}'`}).join(" "),o=s(n);return`<${o} ${i}></${o}>`}}const Ml=e=>w(e.bindToController)?Pl(e.bindToController):Pl(e.scope),Pl=e=>Object.keys(e||{}).map(t=>[t,/^([=<@&])[?]?(.*)/.exec(e[t])]).filter(e=>b(e)&&Array.isArray(e[1])).map(e=>({name:e[1][2]||e[0],type:e[1][1]}));function Dl(e,t){let n=["",""],r=e.replace(/[\\[\]^$*+?.()|{}]/g,"\\$&");if(!t)return r;switch(t.squash){case!1:n=["(",")"+(t.isOptional?"?":"")];break;case!0:r=r.replace(/\/$/,""),n=["(?:/(",")|/)?"];break;default:n=[`(${t.squash}|`,")?"]}return r+n[0]+t.type.pattern.source+n[1]}const Ul=function(e){const t=new RegExp("("+e+")","g");return e=>e.split(t).filter(Boolean)}("/"),Il={state:{params:{}},strict:!0,caseInsensitive:!0};class Hl{static pathSegmentsAndParams(e){return Ka(e._segments,e._params.filter(e=>e.location===_c).concat(void 0)).reduce(Fa,[]).filter(e=>""!==e&&b(e))}static queryParams(e){return e._params.filter(e=>e.location===Nc)}static compare(e,t){const n=e=>e._cache.weights=e._cache.weights||(e=>e._cache.segments=e._cache.segments||e._cache.path.map(Hl.pathSegmentsAndParams).reduce(Fa,[]).reduce(vc,[]).map(e=>E(e)?Ul(e):e).reduce(Fa,[]))(e).map(e=>"/"===e?1:E(e)?2:e instanceof Rc?3:void 0),r=n(e),s=n(t);((e,t,n)=>{const r=Math.max(e.length,t.length);for(;e.length<r;)e.push(n);for(;t.length<r;)t.push(n)})(r,s,0);const i=Ka(r,s);let o,a;for(a=0;a<i.length;a++)if(o=i[a][0]-i[a][1],0!==o)return o;return 0}constructor(e,t,n,r){this._cache={path:[this]},this._children=[],this._params=[],this._segments=[],this._compiled=[],this.config=r=Ra(r,Il),this.pattern=e;const s=/([:*])([\w[\]]+)|\{([\w[\]]+)(?::\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,i=/([:]?)([\w[\].-]+)|\{([\w[\].-]+)(?::\s*((?:[^{\\}]+|\\.|{(?:[^{\\}]+|\\.)*})+))?\}/g,o=[];let a,c=0;const l=t=>{if(!Hl.nameValidator.test(t))throw new Error(`Invalid parameter name '${t}' in pattern '${e}'`);if(Da(this._params,ec("id",t)))throw new Error(`Duplicate parameter name '${t}' in pattern '${e}'`)},u=(n,r)=>{const s=n[2]||n[3],i=r?n[4]:n[4]||("*"===n[1]?"[\\s\\S]*":null);return{id:s,regexp:i,segment:e.substring(c,n.index),type:i?t.type(i)||(e=>ja(t.type(r?"query":"path"),{pattern:new RegExp(e,this.config.caseInsensitive?"i":void 0)}))(i):null}};let h,d;for(;(a=s.exec(e))&&(h=u(a,!1),!(h.segment.indexOf("?")>=0));)l(h.id),this._params.push(n.fromPath(h.id,h.type,r.state)),this._segments.push(h.segment),o.push([h.segment,Ga(this._params)]),c=s.lastIndex;d=e.substring(c);const p=d.indexOf("?");if(p>=0){const e=d.substring(p);if(d=d.substring(0,p),e.length>0)for(c=0;a=i.exec(e);)h=u(a,!0),l(h.id),this._params.push(n.fromSearch(h.id,h.type,r.state)),c=s.lastIndex}this._segments.push(d),this._compiled=o.map(e=>Dl.apply(null,e)).concat(Dl(d))}append(e){return this._children.push(e),e._cache={path:this._cache.path.concat(e),parent:this,pattern:null},e}isRoot(){return this._cache.path[0]===this}toString(){return this.pattern}_getDecodedParamValue(e,t){return t.value(e)}exec(e,t={},n){const r=(s=this._cache,i="pattern",o=()=>new RegExp(["^",za(this._cache.path.map(e=>e._compiled)).join(""),!1===this.config.strict?"/?":"","$"].join(""),this.config.caseInsensitive?"i":void 0),s[i]=s[i]||o()).exec(e);var s,i,o;if(!r)return null;const a=this.parameters(),c=a.filter(e=>!e.isSearch()),l=a.filter(e=>e.isSearch()),u=this._cache.path.map(e=>e._segments.length-1).reduce((e,t)=>e+t),h={};if(u!==r.length-1)throw new Error(`Unbalanced capture group in route '${this.pattern}'`);function d(e){const t=e=>e.split("").reverse().join(""),n=Ua(t(e).split(/-(?!\\)/),t);return Ua(n,e=>e.replace(/\\-/g,"-")).reverse()}for(let e=0;e<u;e++){const t=c[e];let n=r[e+1];for(let e=0;e<t.replace.length;e++)t.replace[e].from===n&&(n=t.replace[e].to);n&&!0===t.array&&(n=d(n)),h[t.id]=this._getDecodedParamValue(n,t)}return l.forEach(e=>{let n=t[e.id];for(let t=0;t<e.replace.length;t++)e.replace[t].from===n&&(n=e.replace[t].to);h[e.id]=this._getDecodedParamValue(n,e)}),n&&(h["#"]=n),h}parameters(e={}){return!1===e.inherit?this._params:za(this._cache.path.map(e=>e._params))}parameter(e,t={}){const n=this._cache.parent;return(()=>{for(const t of this._params)if(t.id===e)return t})()||!1!==t.inherit&&n&&n.parameter(e,t)||null}validates(e){e=e||{};return this.parameters().filter(t=>ve(e,t.id)).map(t=>((e,t)=>!e||e.validates(t))(t,e[t.id])).reduce(Ia,!0)}format(e={}){const t=this._cache.path,n=t.map(Hl.pathSegmentsAndParams).reduce(Fa,[]).map(e=>E(e)?e:s(e)),r=t.map(Hl.queryParams).reduce(Fa,[]).map(s);if(n.concat(r).filter(e=>!1===e.isValid).length)return null;function s(t){const n=t.value(e[t.id]),r=t.validates(n),s=t.isDefaultValue(n),i=!!s&&t.squash,o=t.type.encode(n);return{param:t,value:n,isValid:r,isDefaultValue:s,squash:i,encoded:o}}const i=n.reduce((e,t)=>{if(E(t))return e+t;const{squash:n,encoded:r,param:s}=t;return!0===n?e.match(/\/$/)?e.slice(0,-1):e:E(n)?e+n:!1!==n||null==r?e:Array.isArray(r)?e+Ua(r,Fl).join("-"):s.raw?e+r:e+encodeURIComponent(r)},""),o=r.map(e=>{let{param:t,squash:n,encoded:r,isDefaultValue:s}=e;if(!(null==r||s&&!1!==n)&&(Array.isArray(r)||(r=[r]),0!==r.length))return t.raw||(r=Ua(r,encodeURIComponent)),r.map(e=>`${t.id}=${e}`)}).reduce(Fa,[]).join("&");return i+(o?`?${o}`:"")+(e["#"]?"#"+e["#"]:"")}}function Fl(e){return encodeURIComponent(e).replace(/-/g,e=>`%5C%${e.charCodeAt(0).toString(16).toUpperCase()}`)}Hl.nameValidator=/^\w+([-.]+\w+)*(?:\[\])?$/;class ql{name=void 0;navigable=void 0;parent=void 0;params=void 0;url=void 0;includes=void 0;constructor(e){Object.assign(this,e),this.$$state=()=>this,this.self=e;const t=this.name?al.fromString(this.name):null;this.__stateObjectCache={nameGlob:t}}is(e){return this===e||this.self===e||this.fqn()===e}fqn(){if(!(this.parent&&this.parent instanceof this.constructor))return this.name;const e=this.parent.fqn();return e?e+"."+this.name:this.name}root(){return this.parent&&this.parent.root()||this}parameters(e){return((e=Ra(e,{inherit:!0,matchingKeys:null})).inherit&&this.parent&&this.parent.parameters()||[]).concat(Object.values(this.params)).filter(t=>!e.matchingKeys||ve(e.matchingKeys,t.id))}parameter(e,t={}){return this.url&&this.url.parameter(e,t)||Da(Object.values(this.params),ec("id",e))||t.inherit&&this.parent&&this.parent.parameter(e)}toString(){return this.fqn()}}ql.isStateDeclaration=e=>k(e.$$state),ql.isState=e=>w(e.__stateObjectCache);class Bl{constructor(e,t,n){this.urlService=e,this.stateService=t,this.routerGlobals=n}create(e,t){const{isState:n,isStateDeclaration:r}=ql,s=sc([[E,e=>s(this.urlService.compile(e))],[nc(Hl),e=>this.fromUrlMatcher(e,t)],[(...e)=>n(...e)||r(...e),e=>this.fromState(e,this.stateService,this.routerGlobals)],[nc(RegExp),e=>this.fromRegExp(e,t)],[k,e=>new zl(e,t)]]),i=s(e);if(!i)throw new Error("invalid 'what' in when()");return i}fromUrlMatcher(e,t){let n=t;E(t)&&(t=this.urlService.compile(t)),nc(Hl)(t)&&(n=e=>t.format(e));const r={urlMatcher:e,matchPriority:function(t){const n=e.parameters().filter(e=>e.isOptional);return n.length?n.filter(e=>t[e.id]).length/n.length:1e-6},type:"URLMATCHER"};return Object.assign(new zl(function(t){const n=e.exec(t.path,t.search,t.hash);return e.validates(n)&&n},n),r)}fromState(e,t,n){const r=ql.isStateDeclaration(e)?e.$$state():e,s={state:r,type:"STATE"};return Object.assign(this.fromUrlMatcher(r.url,e=>{const s=t;s.href(r,e)!==s.href(n.current,n.params)&&s.transitionTo(r,e,{inherit:!0,source:"url"})}),s)}fromRegExp(e,t){if(e.global||e.sticky)throw new Error("Rule RegExp must not be global or sticky");const n=E(t)?e=>t.replace(/\$(\$|\d{1,2})/,(t,n)=>e["$"===n?0:Number(n)]):t,r={regexp:e,type:"REGEXP"};return Object.assign(new zl(t=>e.exec(t.path),n),r)}}Bl.isUrlRule=e=>e&&["type","match","handler"].every(t=>b(e[t]));class zl{constructor(e,t){this.match=e,this.type="RAW",this.$id=-1,this._group=void 0,this.handler=t||(e=>e),this.priority=void 0}matchPriority(e){return oe(y(e)),0-this.$id}}function Wl(e,t){let n=function(e,t){return(t.priority||0)-(e.priority||0)}(e,t);return 0!==n?n:(n=((e,t)=>{const n={STATE:4,URLMATCHER:4,REGEXP:3,RAW:2,OTHER:1};return(n[e.type]||0)-(n[t.type]||0)})(e,t),0!==n?n:(n=((e,t)=>e.urlMatcher&&t.urlMatcher?Hl.compare(e.urlMatcher,t.urlMatcher):0)(e,t),0!==n?n:((e,t)=>{const n={STATE:!0,URLMATCHER:!0};return n[e.type]&&n[t.type]?0:(e.$id||0)-(t.$id||0)})(e,t)))}function Kl(e){if(!(k(e)||E(e)||nc(Tc)(e)||Tc.isDef(e)))throw new Error("'handler' must be a string, function, TargetState, or have a state: 'newtarget' property");return k(e)?e:rc(e)}class Ql{constructor(e){this._sortFn=Wl,this._rules=[],this._id=0,this.urlRuleFactory=e}initial(e){const t=Kl(e);this.rule(this.urlRuleFactory.create((e,t)=>0===t.globals.transitionHistory.size()&&!!/^\/?$/.exec(e.path),t))}otherwise(e){const t=Kl(e);this._otherwiseFn=this.urlRuleFactory.create(rc(!0),t),this._sorted=!1}removeRule(e){La(this._rules,e)}rule(e){if(!Bl.isUrlRule(e))throw new Error("invalid rule");return e.$id=this._id++,e.priority=e.priority||0,this._rules.push(e),this._sorted=!1,()=>this.removeRule(e)}rules(){return this.ensureSorted(),this._rules.concat(this._otherwiseFn?[this._otherwiseFn]:[])}sort(e){const t=this.stableSort(this._rules,this._sortFn=e||this._sortFn);let n=0;for(let e=0;e<t.length;e++)t[e]._group=n,e<t.length-1&&0!==this._sortFn(t[e],t[e+1])&&n++;this._rules=t,this._sorted=!0}ensureSorted(){this._sorted||this.sort()}stableSort(e,t){const n=e.map((e,t)=>({elem:e,idx:t}));return n.sort((e,n)=>{const r=t(e.elem,n.elem);return 0===r?e.idx-n.idx:r}),n.map(e=>e.elem)}when(e,t,n){const r=this.urlRuleFactory.create(e,t);return b(n&&n.priority)&&(r.priority=n.priority),this.rule(r),r}}class Gl{constructor(e){this.urlServiceConfig=e}fromConfig(e,t,n){return new Rc(e,t,jc,this.urlServiceConfig,n)}fromPath(e,t,n){return new Rc(e,t,_c,this.urlServiceConfig,n)}fromSearch(e,t,n){return new Rc(e,t,Nc,this.urlServiceConfig,n)}}class Jl{static $inject=Jt([Gt.$location,Gt.$state,Gt.$router,Gt.$urlConfig]);$location;constructor(e,t,n,r){this.$locationProvider=e,this.stateService=t,this.stateService.urlService=this,this.urlRuleFactory=new Bl(this,this.stateService,n),this.rules=new Ql(this.urlRuleFactory),this.config=r,this.paramFactory=new Gl(this.config),this._urlListeners=[]}getPath(){return this.$location.getPath()}getSearch(){return this.$location.getSearch()}getHash(){return this.$location.getHash()}$get=[Gt.$location,Gt.$rootScope,(e,t)=>(this.$location=e,t.$on("$locationChangeSuccess",e=>{this._urlListeners.forEach(t=>{t(e)})}),this.listen(!0),this)];baseHref(){return this._baseHref||(this._baseHref=Qt()||window.location.pathname)}url(e,t){if(b(e)){const t=decodeURIComponent(e);this.$location.setUrl(t)}return t&&this.$location.setState(t),this.$location.getUrl()}onChange(e){return this._urlListeners.push(e),()=>La(this._urlListeners,e)}parts(){return{path:this.$location.getPath(),search:this.$location.getSearch(),hash:this.$location.getHash()}}sync(e){if(e&&e.defaultPrevented)return;const t=this.stateService,n={path:this.$location.getPath(),search:this.$location.getSearch(),hash:this.$location.getHash()},r=this.match(n);sc([[E,e=>this.url(e)],[Tc.isDef,e=>t.go(e.state,e.params,e.options)],[nc(Tc),e=>t.go(e.state(),e.params(),e.options())]])(r&&r.rule.handler(r.match,n))}listen(e){if(!1!==e)return this._stopListeningFn=this._stopListeningFn||this.onChange(e=>this.sync(e));this._stopListeningFn&&this._stopListeningFn(),delete this._stopListeningFn}match(e){e=Object.assign({path:"",search:{},hash:""},e);const t=this.rules.rules(),n=t=>{const n=t.match(e);return n&&{match:n,rule:t,weight:t.matchPriority(n)}};let r;for(let e=0;e<t.length&&(!r||r.rule._group===t[e]._group);e++){const s=n(t[e]);r=!r||s&&s.weight>r.weight?s:r}return r}update(e){e?this.location=this.url():this.url()!==this.location&&this.url(this.location,!0)}push(e,t,n){const r=n&&!!n.replace;this.url(e.format(t||{}),r)}href(e,t,n){let r=e.format(t);if(null==r)return null;n=n||{absolute:!1};const s=this.$locationProvider.html5ModeConf.enabled;if(s||(r="#"+this.$locationProvider.hashPrefixConf+r),r=function(e,t,n,r){return"/"===r?e:t?(e=>e.replace(/\/[^/]*$/,""))(r)+e:n?r.slice(1)+e:e}(r,s,n.absolute,this.baseHref()),!n.absolute||!r)return r;const i=!s&&r?"/":"";return[`${window.location.protocol}//`,window.location.host,i,r].join("")}compile(e,t){const n=this.config,r=t&&!t.state&&t.params;t=r?Object.assign({state:{params:r}},t):t;const s={strict:n._isStrictMode,caseInsensitive:n._isCaseInsensitive};return new Hl(e,n.paramTypes,this.paramFactory,Object.assign(s,t))}isMatcher(e){if(!w(e))return!1;let t=!0;return Object.entries(Hl.prototype).forEach(([n,r])=>{k(r)&&(t=t&&b(e[n])&&k(e[n]))}),t}}class Zl{constructor(e){this._states=e}isRelative(e){return 0===(e=e||"").indexOf(".")||0===e.indexOf("^")}find(e,t,n=!0){if(!e&&""!==e)return;const r=E(e);let s=r?e:e.name;this.isRelative(s)&&(s=this.resolvePath(s,t));const i=this._states[s];if(i&&(r||!(r||i!==e&&i.self!==e)))return i;if(r&&n){const e=Object.values(this._states).filter(e=>e.__stateObjectCache.nameGlob&&e.__stateObjectCache.nameGlob.matches(s));return e.length>1&&console.error(`stateMatcher.find: Found multiple matches for ${s} using glob: `,e.map(e=>e.name)),e[0]}}resolvePath(e,t){if(!t)throw new Error(`No reference point given for path '${e}'`);const n=this.find(t),r=e.split("."),s=r.length;let i=0,o=n;for(;i<s;i++)if(""!==r[i]||0!==i){if("^"!==r[i])break;if(!o.parent)throw new Error(`Path '${e}' not valid for state '${n.name}'`);o=o.parent}else o=n;const a=r.slice(i).join(".");return o.name+(o.name&&a?".":"")+a}}function Yl(e){return e.self.$$state=()=>e,e.self}function Xl(e){return e.parent&&e.parent.data&&(e.data=e.self.data=ja(e.parent.data,e.data)),e.data}function eu(e,t){return function(n){let r=n.self;if(r&&r.url&&r.name&&r.name.match(/\.\*\*$/)){const e={};Ja(r,e),e.url+="{remainder:any}",r=e}const s=n.parent,i=function(e){if(!E(e))return!1;const t="^"===e.charAt(0);return{val:t?e.substring(1):e,root:t}}(r.url),o=i?e.compile(i.val,{state:r}):r.url;if(!o)return null;if(!e.isMatcher(o))throw new Error(`Invalid url '${o}' in state '${n}'`);return i&&i.root?o:(s&&s.navigable||t()).url.append(o)}}function tu(e){return function(t){return!e(t)&&t.url?t:t.parent?t.parent.navigable:null}}function nu(e){return e.parent?e.parent.path.concat(e):[e]}function ru(e){const t=e.parent?Object.assign({},e.parent.includes):{};return t[e.name]=!0,t}function su(e){const t=sc([[e=>e.resolveFn,e=>new kc(au(e),e.resolveFn,e.deps,e.policy)],[e=>e.useFactory,e=>new kc(au(e),e.useFactory,e.deps||e.dependencies,e.policy)],[e=>e.useClass,e=>new kc(au(e),()=>new e.useClass,[],e.policy)],[e=>e.useValue,e=>new kc(au(e),()=>e.useValue,[],e.policy,e.useValue)],[e=>e.useExisting,e=>new kc(au(e),e=>e,[e.useExisting],e.policy)]]),n=sc([[e=>E(e.val),e=>new kc(e.token,e=>e,[e.val],e.policy)],[e=>Array.isArray(e.val),e=>new kc(e.token,Ga(e.val),e.val.slice(0,-1),e.policy)],[e=>k(e.val),e=>new kc(e.token,e.val,(e=>{const t=window.angular.$injector;return e.$inject||t&&mn(e,t.strictDi)||"deferred"})(e.val),e.policy)]]),r=sc([[nc(kc),e=>e],[e=>!(!e.token||!e.resolveFn),t],[e=>!!(e&&e.val&&(E(e.val)||Array.isArray(e.val)||k(e.val))),n],[rc(!0),e=>{throw new Error("Invalid resolve value: "+gc(e))}]]),s=e.resolve,i=Array.isArray(s)?s:((e,t)=>Object.keys(e||{}).map(n=>({token:n,val:e[n],deps:void 0,policy:t[n]})))(s,e.resolvePolicy||{});return i.map(r)}class iu{constructor(e,t){this.matcher=e,this.$injector=void 0;const n=this,r=()=>e.find("");var s;this.builders={name:[e=>e.name],self:[Yl],parent:[function(t){return ou(t)?null:e.find(n.parentName(t))||r()}],data:[Xl],url:[eu(t,r)],navigable:[tu(ou)],params:[(s=t.paramFactory,function(e){const t=e.url&&e.url.parameters({inherit:!1})||[],n=Object.values(Ua(Ma(e.params||{},t.map(e=>e.id)),(t,n)=>s.fromConfig(n,null,e.self)));return t.concat(n).map(e=>[e.id,e]).reduce(Qa,{})})],views:[],path:[nu],includes:[ru],resolvables:[su]}}builder(e,t){const n=this.builders,r=n[e]||[];return E(e)&&!b(t)?r.length>1?r:r[0]:E(e)&&k(t)?(n[e]=r,n[e].push(t),()=>n[e].splice(n[e].indexOf(t,1))&&null):void 0}build(e){const{matcher:t,builders:n}=this,r=this.parentName(e);if(r&&!t.find(r,void 0,!1))return null;for(const t in n){if(!ve(n,t))continue;const r=n[t].reduce((e,t)=>n=>t(n,e),()=>{});e[t]=r(e)}return e}parentName(e){const t=e.name||"",n=t.split(".");if("**"===n.pop()&&n.pop(),n.length){if(e.parent)throw new Error(`States that specify the 'parent:' property should not have a '.' in their name (${t})`);return n.join(".")}return e.parent?E(e.parent)?e.parent:e.parent.name:""}name(e){const t=e.name;if(-1!==t.indexOf(".")||!e.parent)return t;const n=E(e.parent)?e.parent:e.parent.name;return n?n+"."+t:t}}function ou(e){return""===e.name}function au(e){return e.provide||e.token}class cu{constructor(e,t,n,r,s){this.stateRegistry=e,this.urlServiceRules=t,this.states=n,this.builder=r,this.listeners=s,this.queue=[]}register(e){const t=new ql(e);if(!E(name))throw new Error("State must have a valid name");if(ve(this.states,t.name)||this.queue.map(e=>e.name).includes(t.name))throw new Error(`State '${t.name}' is already defined`);return this.queue.push(t),this.flush(),t}flush(){const{queue:e,states:t,builder:n}=this,r=[],s=[],i={},o=e=>ve(this.states,e)&&this.states[e],a=()=>{r.length&&this.listeners.forEach(e=>e("registered",r.map(e=>e.self)))};for(;e.length>0;){const c=e.shift(),l=c.name,u=n.build(c),h=s.indexOf(c);if(u){const e=o(l);if(e&&e.name===l)throw new Error(`State '${l}' is already defined`);const n=o(l+".**");n&&this.stateRegistry.deregister(n),t[l]=c,this.attachRoute(c),h>=0&&s.splice(h,1),r.push(c);continue}const d=i[l];if(i[l]=e.length,h>=0&&d===e.length)return e.push(c),a(),t;h<0&&s.push(c),e.push(c)}return a(),t}attachRoute(e){if(e.abstract||!e.url)return;const t=this.urlServiceRules;t.rule(t.urlRuleFactory.create(e))}}class lu{static $inject=Jt([Gt.$url,Gt.$state,Gt.$router,Gt.$view]);constructor(e,t,n,r){this.states={},t.stateRegistry=this,this.urlService=e,this.urlServiceRules=e.rules,this.$injector=void 0,this.listeners=[],this.matcher=new Zl(this.states),this.builder=new iu(this.matcher,e),this.builder.builder("views",qc),this.builder.builder("onExit",this.getStateHookBuilder("onExit")),this.builder.builder("onRetain",this.getStateHookBuilder("onRetain")),this.builder.builder("onEnter",this.getStateHookBuilder("onEnter")),this.stateQueue=new cu(this,this.urlServiceRules,this.states,this.builder,this.listeners),this.registerRoot(),r.rootViewContext(this.root()),n.$current=this.root(),n.current=n.$current.self}$get=[Gt.$injector,e=>(this.$injector=e,this.builder.$injector=e,this)];getStateHookBuilder(e){let t=this;return function(n){const r=n[e],s="onExit"===e?"from":"to";return r?function(e,n){const i=new Hc(e.treeChanges(s)).subContext(n.$$state()),o=Object.assign(uu(i),{$state$:n,$transition$:e});return t.$injector.invoke(r,this,o)}:void 0}}registerRoot(){this._root=this.stateQueue.register({name:"",url:"^",views:null,params:{"#":{value:null,type:"hash",dynamic:!0}},abstract:!0}),this._root.navigable=null}onStatesChanged(e){return this.listeners.push(e),function(){La(this.listeners,e)}.bind(this)}root(){return this._root}register(e){return this.stateQueue.register(e)}_deregisterTree(e){const t=this.get().map(e=>e.$$state()),n=e=>{const r=t.filter(t=>-1!==e.indexOf(t.parent));return 0===r.length?r:r.concat(n(r))},r=n([e]),s=[e].concat(r).reverse();return s.forEach(e=>{const t=this.urlServiceRules;t.rules().filter(ec("state",e)).forEach(e=>t.removeRule(e)),delete this.states[e.name]}),s}deregister(e){const t=this.get(e);if(!t)throw new Error("Can't deregister state; not found: "+e);const n=this._deregisterTree(t.$$state());return this.listeners.forEach(e=>e("deregistered",n.map(e=>e.self))),n}get(e,t){if(0===arguments.length)return Object.keys(this.states).map(e=>this.states[e].self);const n=this.matcher.find(e,t);return n&&n.self||null}decorator(e,t){return this.builder.builder(e,t)}}const uu=e=>e.getTokens().filter(E).map(t=>{const n=e.getResolvable(t);return[t,"NOWAIT"===e.getPolicy(n).async?n.promise:n.data]}).reduce(Qa,{});function hu(e){const t=e.match(/^\s*({[^}]*})\s*$/);t&&(e="("+t[1]+")");const n=e.replace(/\n/g," ").match(/^\s*([^(]*?)\s*(\((.*)\))?\s*$/);if(!n||4!==n.length)throw new Error("Invalid state ref '"+e+"'");return{state:n[1]||null,paramExpr:n[3]||null}}function du(e){const t=Mt(e,"$ngView"),n=tc("$cfg.path")(t);return n?Ga(n).state.name:void 0}function pu(e,t,n){const r=n.ngState||e.current.name,s=Object.assign(function(e,t){return{relative:du(e)||t.$current,inherit:!0,source:"sref"}}(t,e),n.ngStateOpts||{}),i=e.href(r,n.ngStateParams,s);return{ngState:r,ngStateParams:n.ngStateParams,ngStateOpts:s,href:i}}function fu(e){const t="[object SVGAnimatedString]"===Object.prototype.toString.call(e.getAttribute("href")),n="FORM"===e.nodeName;return{attr:n?"action":t?"xlink:href":"href",isAnchor:"A"===e.nodeName,clickable:!n}}function $u(e,t,n,r,s){return function(i){const o=i.which||i.button,a=r();if(o>1||i.ctrlKey||i.metaKey||i.shiftKey||i.altKey||e.getAttribute("target"))i.preventDefault(),i.stopImmediatePropagation();else{const r=setTimeout(function(){if(!e.getAttribute("disabled")){t.go(a.ngState,a.ngStateParams,a.ngStateOpts).then(()=>{s.$emit("$updateBrowser")})}});i.preventDefault();let o=n.isAnchor&&!a.href?1:0;i.preventDefault=function(){o--<=0&&clearTimeout(r)}}}}function mu(e,t,n,r){let s;r&&(s=r.events),Array.isArray(s)||(s=["click"]);for(const t of s)e.addEventListener(t,n);t.$on("$destroy",function(){for(const t of s)e.removeEventListener(t,n)})}function gu(e,t,n){const r=e;return{restrict:"A",require:["?^ngSrefActive","?^ngSrefActiveEq"],link:(e,s,i,o)=>{const a=fu(s),c=o[1]||o[0];let l=null;const u={},h=()=>pu(r,s,u),d=hu(i.ngSref);function p(){u.ngStateParams=Object.assign({},e.$eval(d.paramExpr));const t=h();l&&l(),c&&(l=c.$$addStateInfo(t.ngState,t.ngStateParams)),null!=t.href&&i.$set(a.attr,t.href)}u.ngState=d.state,u.ngStateOpts=i.ngSrefOpts?e.$eval(i.ngSrefOpts):{},d.paramExpr&&(e.$watch(d.paramExpr,function(e){u.ngStateParams=Object.assign({},e),p()},!0),u.ngStateParams=Object.assign({},e.$eval(d.paramExpr))),p(),e.$on("$destroy",t.onStatesChanged(p)),e.$on("$destroy",n.onSuccess({},p)),a.clickable&&mu(s,e,$u(s,r,a,h,e),u.ngStateOpts)}}}function vu(e,t,n){return{restrict:"A",require:["?^ngSrefActive","?^ngSrefActiveEq"],link:function(r,s,i,o){const a=fu(s),c=o[1]||o[0];let l,u=null;const h={},d=()=>pu(e,s,h),p=["ngState","ngStateParams","ngStateOpts"],f=p.reduce((e,t)=>(e[t]=()=>{},e),{});function $(){const e=d();u&&u(),c&&(u=c.$$addStateInfo(e.ngState,e.ngStateParams)),null!=e.href&&i.$set(a.attr,e.href)}p.forEach(e=>{h[e]=i[e]?r.$eval(i[e]):null,i.$observe(e,t=>{f[e](),f[e]=r.$watch(t,t=>{h[e]=t,$()})})}),$(),r.$on("$destroy",t.onStatesChanged($)),r.$on("$destroy",n.onSuccess({},$)),a.clickable&&(l=$u(s,e,a,d,r),mu(s,r,l,h.ngStateOpts))}}}function yu(e,t,n,r,s){return{restrict:"A",controller:function(i,o,a){let c,l,u=[];c=n(a.ngSrefActiveEq||"",!1)(i);try{l=i.$eval(a.ngSrefActive)}catch{}function h(e){e.promise.then($,()=>{})}function d(){p(l)}function p(e){w(e)&&(u=[],Object.entries(e).forEach(([e,t])=>{const n=function(e,t){const n=hu(e);f(n.state,i.$eval(n.paramExpr),t)};E(t)?n(t,e):Array.isArray(t)&&t.forEach(t=>{n(t,e)})}))}function f(t,n,r){const s={state:e.get(t,du(o))||{name:t},params:n,activeClass:r};return u.push(s),function(){La(u,s)}}function $(){const t=e=>e.split(/\s/).filter(Boolean),n=e=>e.map(e=>e.activeClass).map(t).reduce(Fa,[]),r=n(u).concat(t(c)).reduce(Ba,[]),s=n(u.filter(t=>e.includes(t.state.name,t.params))),i=!!u.filter(t=>e.is(t.state.name,t.params)).length?t(c):[],a=s.concat(i).reduce(Ba,[]),l=r.filter(e=>!a.includes(e));a.forEach(e=>o.classList.add(e)),l.forEach(e=>o.classList.remove(e))}l=l||n(a.ngSrefActive||"",!1)(i),p(l),this.$$addStateInfo=function(e,t){if(w(l)&&u.length>0)return;const n=f(e,t,l);return $(),n},i.$on("$destroy",function(){const e=r.onStatesChanged(d),t=s.onStart({},h),n=i.$on("$stateChangeSuccess",$);return function(){e(),t(),n()}}()),t.transition&&h(t.transition),$()}}}gu.$inject=["$state","$stateRegistry","$transitions"],vu.$inject=["$state","$stateRegistry","$transitions"],yu.$inject=["$state","$router","$interpolate","$stateRegistry","$transitions"];let bu=["$view","$animate","$viewScroll","$interpolate",function(e,t,n,r){const s={$cfg:{viewDecl:{$context:e.rootViewContext()}},$ngView:{}},i={count:0,terminal:!0,priority:400,transclude:"element",compile:function(o,a,c){return function(o,a,l){const u=l.onload||"",h=l.autoscroll,d={enter:function(e,n,r){me(e)?t.enter(e,null,n).then(r):(n.after(e),r())},leave:function(e,n){me(e)?t.leave(e).then(n):(e.parentElement.removeChild(e),n())}},p=Mt(a,"$ngView")||s,f=r(l.ngView||l.name||"")(o)||"$default";let $,m,g,v;const y={id:i.count++,name:f,fqn:p.$ngView.fqn?p.$ngView.fqn+"."+f:f,config:null,configUpdated:function(e){if(e&&!(e instanceof zc))return;if(t=v,n=e,t===n)return;var t,n;xc.traceUIViewConfigUpdated(y,e&&e.viewDecl&&e.viewDecl.$context),v=e,E(e)},get creationContext(){const e=tc("$cfg.viewDecl.$context")(p),t=tc("$ngView.creationContext")(p);return e||t}};xc.traceUIViewEvent("Linking",y),_t(a,"$ngView",{$ngView:y}),E();const w=e.registerUIView(y);function E(e){const t=o.$new(),r=Promise.withResolvers(),s=Promise.withResolvers(),i={$cfg:e,$ngView:y},l={$animEnter:r.promise,$animLeave:s.promise,$$animLeave:s};t.$emit("$viewContentLoading",f),m=c(t,function(e){_t(e,"$ngViewAnim",l),_t(e,"$ngView",i),d.enter(e,a,function(){r.resolve(),g&&g.$emit("$viewContentAnimationEnded"),(b(h)&&!h||o.$eval(h))&&n(e)}),function(){if($&&(xc.traceUIViewEvent("Removing (previous) el",Nt($,"$ngView")),$.remove(),$=null),g&&(xc.traceUIViewEvent("Destroying scope",y),g.$destroy(),g=null),m){const e=Nt(m,"$ngViewAnim");xc.traceUIViewEvent("Animate out",e),d.leave(m,function(){e.$$animLeave.resolve(),$=null}),$=m,m=null}}()}),g=t,g.$emit("$viewContentLoaded",e||v),g.$eval(u)}o.$on("$destroy",function(){xc.traceUIViewEvent("Destroying/Unregistering",y),w()})}}};return i}];function wu(e,t,n){const r=tc("viewDecl.controllerAs"),s=tc("viewDecl.resolveAs");return{priority:-400,compile:function(i){const o=i.innerHTML;return kt(i,!0),function(i,a){const c=Nt(a,"$ngView");if(!c)return a.innerHTML=o,void e(a.contentDocument||a.childNodes)(i);const l=c.$cfg||{viewDecl:{},getTemplate:()=>{}},u=l.path&&new Hc(l.path);a.innerHTML=l.getTemplate(a,u)||o,xc.traceUIViewFill(c.$ngView,a.innerHTML);const h=e(a.contentDocument||a.childNodes),d=l.controller,p=r(l),f=s(l),$=u&&uu(u);if(f&&(i.$target[f]=$),d){const e=t(d,Object.assign({},$,{$scope:i,$element:a}));p&&(i.$target[p]=e,i.$target[p][f]=$),_t(a,"$ngControllerController",e),Array.from(a.children).forEach(t=>{_t(t,"$ngControllerController",e)}),function(e,t,n,r){!k(t.$onInit)||r.viewDecl.component||r.viewDecl.componentProvider||t.$onInit();const s=Ga(r.path).state.self,i={bind:t};if(k(t.uiOnParamsChanged)){const o=new Hc(r.path).getResolvable("$transition$").data,a=e=>{if(e===o||-1!==e.exiting().indexOf(s))return;const n=e.params("to"),r=e.params("from"),i=e=>e.paramSchema,a=e.treeChanges("to").map(i).reduce(Fa,[]),c=e.treeChanges("from").map(i).reduce(Fa,[]),l=a.filter(e=>{const t=c.indexOf(e);return-1===t||!c[t].type.equals(n[e.id],r[e.id])});if(l.length){const r=l.map(e=>e.id),s=Pa(n,(e,t)=>-1!==r.indexOf(t));t.uiOnParamsChanged(s,e)}};n.$on("$destroy",e.onSuccess({},a,i))}if(k(t.uiCanExit)){const r=Eu++,o="_uiCanExitIds",a=e=>!!e&&(e[o]&&!0===e[o][r]||a(e.redirectedFrom())),c=e=>{let n;const s=e[o]=e[o]||{};return a(e)||(n=Promise.resolve(t.uiCanExit(e)),n.then(e=>s[r]=!1!==e)),n},l={exiting:s.name};n.$on("$destroy",e.onBefore(l,c,i))}}(n,e,i,l)}h(i)}}}}wu.$inject=["$compile","$controller","$transitions"];let Eu=0;function Cu(e){return{link:(t,n,r)=>{const s=r.ngChannel,i=n.childNodes.length>0,o=e.subscribe(s,e=>{i?w(e)&&t.$merge(e):n.innerHTML=e});t.$on("$destroy",()=>{e.unsubscribeByKey(o)})}}}function Su(e,t){return{restrict:"A",link(n,r,s){const i=s.ngSetter;if(!i)return void t.warn("ng-setter: expression null");const o=e(i).assign;if(!o)return void t.warn("ng-setter: expression invalid");const a=e=>{o(n,e.trim())},c=new MutationObserver(e=>{let t=!1;for(const n of e)if("childList"===n.type||"characterData"===n.type){t=!0;break}t&&a(r.innerHTML)});c.observe(r,{childList:!0,subtree:!0,characterData:!0}),n.$on("$destroy",()=>c.disconnect()),a(r.innerHTML)}}}function xu(e,t){return{restrict:"A",link(n,r,s){const i=s.ngInject;if(!i)return;const o=i.split(";").map(e=>e.trim()).filter(Boolean);for(const r of o)t.has(r)?n[r]=t.get(r):e.warn(`Injectable ${r} not found in $injector`)}}}function Ou(){return{restrict:"A",link(e,t,n){const r=n.ngEl,s=r||t.id;e.$target[s]=t;const i=t.parentNode;if(!i)return;const o=new MutationObserver(n=>{for(const r of n)Array.from(r.removedNodes).forEach(n=>{n===t&&(delete e.$target[s],o.disconnect())})});o.observe(i,{childList:!0})}}}Cu.$inject=[Gt.$eventBus],Su.$inject=[Gt.$parse,Gt.$log],xu.$inject=[Gt.$log,Gt.$injector];class Au{constructor(){this.defaults={retryDelay:1e3,maxRetries:1/0,heartbeatTimeout:15e3,transformMessage(e){try{return JSON.parse(e)}catch{return e}}}}$get=[Gt.$log,e=>(this.$log=e,(e,t={})=>{const n={...this.defaults,...t},r=this.#u(e,n.params);return this.#h(r,n)})];#u(e,t){if(!t)return e;const n=Object.entries(t).map(([e,t])=>`${encodeURIComponent(e)}=${encodeURIComponent(t)}`).join("&");return e+(e.includes("?")?"&":"?")+n}#h(e,t){let n,r,s=0,i=!1;const o=()=>{i||(n=new EventSource(e,{withCredentials:!!t.withCredentials}),n.addEventListener("open",e=>{s=0,t.onOpen?.(e),t.heartbeatTimeout&&a()}),n.addEventListener("message",e=>{let n=e.data;try{n=t.transformMessage?t.transformMessage(n):n}catch{}t.onMessage?.(n,e),t.heartbeatTimeout&&a()}),n.addEventListener("error",e=>{t.onError?.(e),i||(n.close(),s<t.maxRetries?(s++,t.onReconnect?.(s),setTimeout(o,t.retryDelay)):this.$log.warn("SSE: Max retries reached"))}))},a=()=>{clearTimeout(r),r=setTimeout(()=>{this.$log.warn("SSE: heartbeat timeout, reconnecting..."),n.close(),t.onReconnect?.(++s),o()},t.heartbeatTimeout)};return o(),{close(){i=!0,clearTimeout(r),n.close()},connect(){!1===i&&close(),o()}}}}function ku(){return{restrict:"A",link(e,t,n){const r=n.onEnter,s=n.onLeave,i=new IntersectionObserver(t=>{t.forEach(t=>{t.isIntersecting?r&&e.$eval(r):s&&e.$eval(s)})},{root:null,threshold:.1});i.observe(t);const o=t.parentNode;let a;o&&(a=new MutationObserver(e=>{for(const n of e)Array.from(n.removedNodes).forEach(e=>{e===t&&(i.disconnect(),a.disconnect())})}),a.observe(o,{childList:!0})),e.$on("$destroy",()=>{i.disconnect(),a&&a.disconnect()})}}}function Tu(){return{async link(e,t,n){e.$target[n.as||"wasm"]=(await Ee(n.src)).exports}}}function _u(){return{scope:!1,async link(e,t,n){e.$scopename=n.ngScope}}}const Nu=he("ng"),ju=he("$injector"),Lu={};const Ru=new class{constructor(){this.$cache=Ce,this.$eventBus=nl,this.version="0.12.0",this.bootsrappedModules=[],this.getController=Vt,this.getInjector=Ft,this.getScope=jt,this.errorHandlingConfig=ue,this.$t=Gt,window.angular=this,function(e){e.module("ng",[],[Gt.$provide,e=>{e.provider({$$sanitizeUri:mo}),e.value(Gt.$window,window),e.value(Gt.$document,document),e.provider(Gt.$compile,rr).directive({input:zr,textarea:zr,form:ur,script:Gr,select:Zr,option:Yr,ngBind:Xr,ngBindHtml:ts,ngBindTemplate:es,ngChannel:Cu,ngClass:os,ngClassEven:cs,ngClassOdd:as,ngCloak:ls,ngController:us,ngDelete:Xt,ngDisabled:jo,ngEl:Ou,ngForm:hr,ngGet:Yt,ngHide:fs,ngIf:$s,ngInclude:ms,ngInject:xu,ngInit:vs,ngMessages:bo,ngMessage:So,ngMessageExp:xo,ngMessagesInclude:Co,ngMessageDefault:Oo,ngNonBindable:ys,ngPost:en,ngPut:tn,ngRef:ws,ngRepeat:xs,ngSetter:Su,ngShow:ps,ngStyle:Os,ngSse:nn,ngSwitch:As,ngSwitchWhen:ks,ngSwitchDefault:Ts,ngOptions:Rs,ngTransclude:Ms,ngModel:br,pattern:Is,ngPattern:Is,required:Us,ngRequired:Us,ngMinlength:Fs,minlength:Fs,ngMaxlength:Hs,maxlength:Hs,ngValue:Qr,ngModelOptions:mr,ngViewport:ku,ngWasm:Tu,ngWorker:sn,ngScope:_u}).directive({input:Wr,ngAnimateSwap:Ta,ngAnimateChildren:_a,ngChecked:Po,ngClick:Vo,ngDblclick:Fo,ngInclude:gs,ngHide:Uo,ngShow:Lo,ngMessages:Ro,ngModel:Ho,ngReadonly:Io,ngRequired:Mo,ngValue:Do,ngSref:gu,ngSrefActive:yu,ngSrefActiveEq:yu,ngState:vu,ngView:bu}).directive({ngView:wu}).directive(Ds).directive(Fn),e.provider({$aria:No,$anchorScroll:zs,$animate:Qs,$$animation:fa,$animateCss:oa,$$animateCssDriver:xa,$$animateJs:ha,$$animateJsDriver:ka,$$animateCache:ba,$$animateQueue:ua,$controller:jn,$exceptionHandler:Js,$filter:ai,$interpolate:Ai,$http:qi,$httpParamSerializer:Pi,$location:Yi,$log:ro,$parse:yi,$$rAFScheduler:$a,$rootScope:co,$router:hc,$sce:Hn,$sceDelegate:In,$sse:Au,$templateCache:Gs,$templateRequest:$o,$urlConfig:cc,$view:Wc,$transitions:Nl,$state:Ll,$viewScroll:Rl,$templateFactory:Vl,$url:Jl,$stateRegistry:lu,$eventBus:el})}]).factory("$stateParams",[Gt.$router,e=>e.params]).value("$trace",xc)}(this)}module(e,t,n){return z(e,"module"),t&&ve(Lu,e)&&(Lu[e]=null),function(e,t,n){return e[t]||(e[t]=n())}(Lu,e,()=>{if(!t)throw ju("nomod","Module '{0}' is not available. Possibly misspelled or not loaded",e);return new ln(e,t,n)})}bootstrap(e,t,n){if(n=n||{strictDi:!1},(e instanceof Element||e instanceof Document)&&Ft(e))throw Nu("btstrpd","App already bootstrapped");Array.isArray(t)&&(this.bootsrappedModules=t),this.bootsrappedModules.unshift(["$provide",t=>{t.value("$rootElement",e)}]),this.bootsrappedModules.unshift("ng");const r=On(this.bootsrappedModules,n.strictDi);return r.invoke([Gt.$rootScope,Gt.$rootElement,Gt.$compile,Gt.$injector,(e,t,n,r)=>{this.$rootScope=e,this.$injector=r,_t(t,"$injector",r);if(n(t)(e),!ve(r,"strictDi"))try{r.invoke(()=>{})}catch(e){r.strictDi=!!/strict mode/.exec(e&&e.toString())}r.get(Gt.$stateRegistry).get().map(e=>e.$$state().resolvables).reduce(Fa,[]).filter(e=>"deferred"===e.deps).forEach(e=>e.deps=mn(e.resolveFn,r.strictDi))}]),r}injector(e,t){return On(e,t)}init(e){let t,n;const r={};se.forEach(r=>{const s=`${r}app`;e.hasAttribute&&e.hasAttribute(s)&&(t=e,n=e.getAttribute(s))}),se.forEach(r=>{const s=`${r}app`;let i;!t&&(i=e.querySelector(`[${s.replace(":","\\:")}]`))&&(t=i,n=i.getAttribute(s))}),t&&(r.strictDi=null!==function(e,t){let n,r;const s=se.length;for(r=0;r<s;++r)if(n=se[r]+t,E(n=e.getAttribute(n)))return n;return null}(t,"strict-di"),this.bootstrap(t,n?[n]:[],r))}getScopeByName(e){const t=this.$rootScope.$searchByName(e);if(t)return t.$proxy}};document.addEventListener("DOMContentLoaded",()=>Ru.init(document),{once:!0}),e.angular=Ru});
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).angular={})}(this,function(e){"use strict";const t="ng-valid",n="ng-invalid",r="ng-pristine",s="ng-dirty",i="ng-untouched",o="ng-touched",a="ng-empty",c="ng-not-empty",l=/^((?:x|data)[-])/i,u=/[-]+(.)/g,h={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern",ngStep:"step"},d=Symbol("isProxy"),p="badarg",f="badarg: key",$="badarg: value";function m(e){return!(!e||!e[d])}const g=fe("ng");let v=0;function y(){return v+=1,v}function b(e){return S(e)?e.toLowerCase():e}function w(e){if(null==e||R(e))return!1;if(Array.isArray(e)||e instanceof Array||S(e))return!0;const t="length"in Object(e)&&e.length;return A(t)&&(t>=0&&t-1 in e||"function"==typeof e.item)}function E(e){return void 0===e}function C(e){return void 0!==e}function x(e){return null!==e&&"object"==typeof e}function S(e){return"string"==typeof e}function O(e){return null===e}function k(e){return null==e}function A(e){return"number"==typeof e}function T(e){return"[object Date]"===toString.call(e)}function _(e){switch(toString.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:return e instanceof Error}}function j(e){return"function"==typeof e}function N(e){return"[object RegExp]"===toString.call(e)}function R(e){return e&&e.window===e}function L(e){return e&&e.$watch}function V(e){return"boolean"==typeof e}function M(e){return e&&j(e.then)}function P(e){return S(e)?e.trim():e}function D(e,t){const n=t;return e.replace(/[A-Z]/g,(e,t)=>(t?n:"")+e.toLowerCase())}function U(e,...t){return function(e,t){const n=e.$$hashKey;for(let n=0,r=t.length;n<r;++n){const r=t[n];if(!x(r)&&!j(r))continue;const s=Object.keys(r);for(let t=0,n=s.length;t<n;t++){const n=s[t],i=r[n];e[n]=i}}return function(e,t){t?e.$$hashKey=t:delete e.$$hashKey}(e,n),e}(e,t)}function I(e){return Number.isNaN(e)}function H(e,t){return U(Object.create(e),t)}function q(e){return j(e.toString)&&e.toString!==toString}function F(e){return b(e.nodeName)}function B(e,t){return-1!==Array.prototype.indexOf.call(e,t)}function z(e,t){const n=e.indexOf(t);return n>=0&&e.splice(n,1),n}function W(e,t){return e===t||e!=e&&t!=t}function K(e,t){if(e===t)return!0;if(null===e||null===t)return!1;if(e!=e&&t!=t)return!0;const n=typeof e;let r,s,i;if(n===typeof t&&"object"===n){if(!Array.isArray(e)){if(T(e))return!!T(t)&&W(e.getTime(),t.getTime());if(N(e))return!!N(t)&&e.toString()===t.toString();if(L(e)||L(t)||R(e)||R(t)||Array.isArray(t)||T(t)||N(t))return!1;for(s in i=Object.create(null),e)if("$"!==s.charAt(0)&&!j(e[s])){if(!K(e[s],t[s]))return!1;i[s]=!0}for(s in t)if(!(s in i)&&"$"!==s.charAt(0)&&C(t[s])&&!j(t[s]))return!1;return!0}if(!Array.isArray(t))return!1;if((r=e.length)===t.length){for(s=0;s<r;s++)if(!K(e[s],t[s]))return!1;return!0}}return!1}function Q(e,t){if("hasOwnProperty"===e)throw g("badname","hasOwnProperty is not a valid {0} name",t)}function G(e){if(null==e)return"";switch(typeof e){case"string":break;case"number":e=`${e}`;break;default:e=!q(e)||Array.isArray(e)||T(e)?ee(e):e.toString()}return e}function J(e,t,n){return e.concat(Array.prototype.slice.call(t,n))}function Z(e,t){return Array.prototype.slice.call(e,t)}function Y(e,t){const n=arguments.length>2?Z(arguments,2):[];return!j(t)||t instanceof RegExp?t:n.length?function(){return arguments.length?t.apply(e,J(n,arguments,0)):t.apply(e,n)}:function(){return arguments.length?t.apply(e,arguments):t.call(e)}}function X(e,t){let n=t;return"string"==typeof e&&"$"===e.charAt(0)&&"$"===e.charAt(1)?n=void 0:R(t)?n="$WINDOW":t&&window.document===t?n="$DOCUMENT":L(t)&&(n="$SCOPE"),n}function ee(e,t){if(!E(e))return A(t)||(t=t?2:null),JSON.stringify(e,X,t)}function te(e,t,n){const r=e.getTimezoneOffset(),s=function(e,t){const n=Date.parse(`Jan 01, 1970 00:00:00 ${e}`)/6e4;return I(n)?t:n}(t,r);return function(e,t){const n=new Date(e.getTime());return n.setMinutes(n.getMinutes()+t),n}(e,1*(s-r))}function ne(e){const t={};return(e||"").split("&").forEach(e=>{let n,r,s;e&&(r=e=e.replace(/\+/g,"%20"),n=e.indexOf("="),-1!==n&&(r=e.substring(0,n),s=e.substring(n+1)),r=se(r),C(r)&&(s=!C(s)||se(s),we(t,r)?Array.isArray(t[r])?t[r].push(s):t[r]=[t[r],s]:t[r]=s))}),t}function re(e){const t=[];return e&&Object.entries(e).forEach(([e,n])=>{Array.isArray(n)?n.forEach(n=>{t.push(oe(e,!0)+(!0===n?"":`=${oe(n,!0)}`))}):t.push(oe(e,!0)+(!0===n?"":`=${oe(n,!0)}`))}),t.length?t.join("&"):""}function se(e){try{return decodeURIComponent(e)}catch{}}function ie(e){return oe(e,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function oe(e,t){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,t?"%20":"+")}const ae=["ng-","data-ng-"];function ce(e,t){if(Array.isArray(e)){t=t||[];for(let n=0,r=e.length;n<r;n++)t[n]=e[n]}else if(x(e)){t=t||{};for(const n in e)n.startsWith("$")&&"$"===n.charAt(1)||(t[n]=e[n])}return t||e}function le(e,t="Assertion failed"){if(!e)throw new Error(t)}function ue(e,t,n){if(!e)throw g("areq","Argument '{0}' is {1}",t||"?",n||"required");return e}function he(e,t,n){return n&&Array.isArray(e)&&(e=e[e.length-1]),ue(j(e),t,`not a function, got ${e&&"object"==typeof e?e.constructor.name||"Object":typeof e}`),e}const de={objectMaxDepth:5,urlErrorParamsEnabled:!0};function pe(e){var t;return x(e)&&(C(e.objectMaxDepth)&&(de.objectMaxDepth=A(t=e.objectMaxDepth)&&t>0?e.objectMaxDepth:NaN),C(e.urlErrorParamsEnabled)&&V(e.urlErrorParamsEnabled)&&(de.urlErrorParamsEnabled=e.urlErrorParamsEnabled)),de}function fe(e){return function(...t){const n=t[0],r=t[1];let s=`[${e?`${e}:`:""}${n}] `;const i=Z(t,2).map(e=>function(e){if("function"==typeof e)return e.toString().replace(/ \{[\s\S]*$/,"");if(E(e))return"undefined";if("string"!=typeof e){const t=[];let n=structuredClone(m(e)?e.$target:e);return JSON.stringify(n,(e,n)=>{const r=X(e,n);if(x(r)){if(t.indexOf(r)>=0)return"...";t.push(r)}return r})}return e}(e));return s+=r.replace(/\{\d+\}/g,e=>{const t=+e.slice(1,-1);return t<i.length?i[t]:e}),new Error(s)}}function $e(e){const t=e&&e.$$hashKey;if(t)return"function"==typeof t?e.$$hashKey():t;const n=typeof e;return"function"===n||"object"===n&&null!==e?(e.$$hashKey=`${n}:${y()}`,e.$$hashKey):"undefined"===n?`${n}:${y()}`:`${n}:${e}`}function me(e,t){return e||t?e?t?(Array.isArray(e)&&(e=ge(e)),Array.isArray(t)&&(t=ge(t)),`${e.trim()} ${t.trim()}`.trim()):Array.isArray(e)?e.join(" ").trim():e:Array.isArray(t)?t.join(" ").trim():t:""}function ge(e){const t=[];for(const n of e)if(n){const e=n.trim();e&&t.push(e)}return t.join(" ")}function ve(e){return e.replace(l,"").replace(u,(e,t,n)=>n?t.toUpperCase():t)}function ye(e){return function(e,t){if(e.nodeType!==Node.ELEMENT_NODE)return!1;const n=e;return"true"===n.dataset[t]||"true"===n.getAttribute(t)}(e,"animate")}function be(e){return!e||!Object.keys(e).length}function we(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Ee(e){let t=!1;return function(...n){if(t)return e.apply(this,n);t=!0}}function Ce(e=0){return new Promise(t=>setTimeout(t,e))}function xe(e,t){return e.slice(0,t.length)===t}async function Se(e,t={}){const n=await fetch(e);if(!n.ok)throw new Error("fetch failed");try{const{instance:e,module:r}=await WebAssembly.instantiateStreaming(n.clone(),t);return{instance:e,exports:e.exports,module:r}}catch{}const r=await n.arrayBuffer(),{instance:s,module:i}=await WebAssembly.instantiate(r,t);return{instance:s,exports:s.exports,module:i}}const Oe=new Map,ke=1,Ae=2,Te=3,_e=4,je=5,Ne=6,Re=7,Le=8,Ve=9,Me=10,Pe=11,De=12,Ue=13,Ie=14,He=15,qe=16,Fe=17,Be="-add",ze="-remove",We="-active",Ke="ng-animate",Qe="$$ngAnimateChildren";let Ge,Je,Ze,Ye;void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend?(Ge="WebkitTransition",Je="webkitTransitionEnd transitionend"):(Ge="transition",Je="transitionend"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend?(Ze="WebkitAnimation",Ye="webkitAnimationEnd animationend"):(Ze="animation",Ye="animationend");const Xe="Duration",et=Ue,tt="Delay",nt="TimingFunction",rt=Ze+tt,st=Ze+Xe,it=Ge+tt,ot=Ge+Xe;function at(e,t,n){let r="";return(e=Array.isArray(e)?e:e&&S(e)&&e.length?e.split(/\s+/):[]).forEach((e,s)=>{e&&e.length>0&&(r+=s>0?" ":"",r+=n?t+e:e+t)}),r}function ct(e){if(!e||!Array.isArray(e))return e;for(let t=0;t<e.length;t++){const n=e[t];if(n.nodeType===Node.ELEMENT_NODE)return n}}function lt(e){if(!(e=e||{}).$$prepared){let t=e.domOperation||(()=>{});e.domOperation=function(){e.$$domOperationFired=!0,t(),t=()=>{}},e.$$prepared=!0}return e}function ut(e,t){ht(e,t),dt(e,t)}function ht(e,t){t.from&&(Object.assign(e.style,t.from),t.from=null)}function dt(e,t){t.to&&(Object.assign(e.style,t.to),t.to=null)}function pt(e,t,n){const r=t.options||{},s=n.options||{},i=`${r.addClass||""} ${s.addClass||""}`,o=`${r.removeClass||""} ${s.removeClass||""}`,a=function(e,t,n){const r=1,s=-1,i={};e=a(e),t=a(t),Object.keys(t).forEach(e=>{i[e]=r}),n=a(n),Object.keys(n).forEach(e=>{i[e]=i[e]===r?null:s});const o={addClass:"",removeClass:""};function a(e){S(e)&&(e=e.trim().split(" "));const t={};return e&&e.forEach(e=>{e.length&&(t[e]=!0)}),t}return Object.entries(i).forEach(([t,n])=>{let i,a;n===r?(i="addClass",a=!e[t]||e[t+ze]):n===s&&(i="removeClass",a=e[t]||e[t+Be]),a&&(o[i].length&&(o[i]+=" "),o[i]+=t)}),o}(e.getAttribute("class"),i,o);return s.preparationClasses&&(r.preparationClasses=mt(s.preparationClasses,r.preparationClasses),delete s.preparationClasses),U(r,s),a.addClass?r.addClass=a.addClass:r.addClass=null,a.removeClass?r.removeClass=a.removeClass:r.removeClass=null,t.addClass=r.addClass,t.removeClass=r.removeClass,r}function ft(e,t){const n=t?"paused":"",r=Ze+"PlayState";return $t(e,[r,n]),[r,n]}function $t(e,t){const n=t[0];e.style[n]=t[1]}function mt(e,t){return e?t?`${e} ${t}`:e:t}let gt=1;const vt="ng",yt="$scope",bt=/-([a-z])/g,wt=/_([a-z])/g,Et=["multiple","selected","checked","disabled","readonly","required","open"],Ct=["INPUT","SELECT","OPTION","TEXTAREA","BUTTON","FORM","DETAILS"];function xt(e,t){return t.toUpperCase()}function St(e){return e.replace(bt,xt)}function Ot(e){return e.replace(wt,xt)}function kt(e,t){const n=e[vt],r=n&&Oe.get(n);r&&(t?delete r.data[t]:r.data={},function(e){const t=e[vt],{data:n}=Oe.get(t);n&&Object.keys(n).length||(Oe.delete(t),e[vt]=void 0)}(e))}function At(e,t=!1){let n=e[vt],r=n&&Oe.get(n);return t&&!r&&(e[vt]=n=++gt,r={data:{}},Oe.set(n,r)),r}function Tt(e){return!/<|&#?\w+;/.test(e)}function _t(e){switch(e.nodeType){case Node.ELEMENT_NODE:case Node.DOCUMENT_NODE:case Node.COMMENT_NODE:case void 0:return!0;default:return!1}}function jt(e,t){!e||e instanceof Comment||(Array.isArray(e)?e.forEach(e=>jt(e,t)):(!t&&_t(e)&&Bt([e]),_t(e)&&Bt(e.querySelectorAll("*"))),delete e[vt],e.innerHTML="")}function Nt(e,t,n){if(_t(e)){let r;const s=C(n),i=!s&&t&&!x(t),o=!t,a=At(e,!i),c=a&&a.data;if(s)c[St(t)]=n;else{if(o)return c;if(i)return c&&c[St(t)];for(r in t)c[St(r)]=t[r]}}}function Rt(e,t,n){if(_t(e)){const r=At(e,!0);(r&&r.data)[St(t)]=n}else e.parentElement&&Rt(e.parentElement,t,n)}function Lt(e,t){if(_t(e)){const n=At(e,!1),r=n&&n.data;if(!t)return;return r&&r[St(t)]}}function Vt(e){return Lt(e,yt)}function Mt(e,t){return Rt(e,yt,t)}function Pt(e,t){return Rt(e,"$isolateScope",t)}function Dt(e,t){return Ut(e,`$${t||"ngController"}Controller`)}function Ut(e,t){let n;for(e.nodeType===Node.DOCUMENT_NODE&&(e=e.documentElement);e;){if(C(n=Lt(e,t)))return n;e=e.parentNode||e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&e.host}}function It(e,t=!1){t||jt(e);const n=e.parentNode;n&&n.removeChild(e)}function Ht(e){let t;if("string"==typeof e){t=(new DOMParser).parseFromString(e,"text/html").body.firstChild.cloneNode(!0)}else{if(!(e instanceof Element||e instanceof Node))throw new Error("Input must be an HTML string or a DOM element.");t=e.cloneNode(!0)}for(;t.firstChild;)t.removeChild(t.firstChild);const n=document.createElement("div");n.appendChild(t);const r=n.innerHTML;try{if(t.nodeType===Node.TEXT_NODE)return r.toLowerCase();if(t.nodeType===Node.COMMENT_NODE)return`\x3c!--${t.data.trim()}--\x3e`;{const e=r.match(/^(<[^>]+>)/);if(e)return e[1].replace(/^<([\w-]+)/,(e,t)=>"<"+t.toLowerCase())}}catch{return r.toLowerCase()}return r.toLowerCase()}function qt(e){let t=e[0];const n=e[e.length-1];let r;for(let s=1;t!==n&&(t=t.nextSibling);s++)(r||e[s]!==t)&&(r||(r=Array.prototype.slice.call(e,0,s)),r.push(t));return r||e}function Ft(e,t){const n=t.toLowerCase();return!(!Et.includes(n)||!Ct.includes(e.nodeName))&&n}function Bt(e){for(let t=0,n=e.length;t<n;t++)kt(e[t])}function zt(e){return Ut(e,"$injector")}function Wt(e){const t=document.createElement("template");return t.innerHTML=e.trim(),t.content.firstChild}function Kt(e){const t=document.createElement("template");return t.innerHTML=e.trim(),t.content.childNodes}function Qt(e){switch(jt(e,!0),e.nodeType){case Node.ELEMENT_NODE:case Node.DOCUMENT_NODE:case Node.DOCUMENT_FRAGMENT_NODE:e.replaceChildren()}}function Gt(e,t,n){if(n){const e=ct(n);!e||e.parentNode||e.previousSibling||(n=null)}n?n.after(e):t.prepend(e)}function Jt(e,t,n){const r=e.style.visibility,s=e.style.position,i=e.style.pointerEvents;Object.assign(e.style,{visibility:"hidden",position:"absolute",pointerEvents:"none"}),Gt(e,t,n),requestAnimationFrame(()=>{e.style.visibility=r,e.style.position=s,e.style.pointerEvents=i})}function Zt(){const e=document.querySelector("base")?.getAttribute("href");return e?e.replace(/^(https?:)?\/\/[^/]*/,""):""}const Yt=Object.freeze({$attrs:"$attrs",$scope:"$scope",$element:"$element",$$animateCache:"$$animateCache",$$animateCssDriver:"$$animateCssDriver",$$animateJs:"$$animateJs",$$animateJsDriver:"$$animateJsDriver",$$animateQueue:"$$animateQueue",$$animation:"$$animation",$$rAFScheduler:"$$rAFScheduler",$$taskTrackerFactory:"$$taskTrackerFactory",$anchorScroll:"$anchorScroll",$animate:"$animate",$animateCss:"$animateCss",$aria:"$aria",$compile:"$compile",$cookie:"$cookie",$controller:"$controller",$document:"$document",$eventBus:"$eventBus",$exceptionHandler:"$exceptionHandler",$filter:"$filter",$http:"$http",$httpParamSerializer:"$httpParamSerializer",$interpolate:"$interpolate",$location:"$location",$log:"$log",$viewScroll:"$viewScroll",$parse:"$parse",$rest:"$rest",$rootScope:"$rootScope",$rootElement:"$rootElement",$router:"$router",$sce:"$sce",$sceDelegate:"$sceDelegate",$state:"$state",$stateRegistry:"$stateRegistry",$sse:"$sse",$$sanitizeUri:"$$sanitizeUri",$$sanitizeUriProvider:"$$sanitizeUriProvider",$templateCache:"$templateCache",$templateFactory:"$templateFactory",$templateRequest:"$templateRequest",$transitions:"$transitions",$urlConfig:"$urlConfig",$url:"$url",$view:"$view",$window:"$window",$provide:"$provide",$injector:"$injector",$compileProvider:"$compileProvider",$animateProvider:"$animateProvider",$filterProvider:"$filterProvider",$controllerProvider:"$controllerProvider"});function Xt(e){return e.map(e=>e+"Provider")}function en(e,t){const n=t||"ng"+e.charAt(0).toUpperCase()+e.slice(1),r=function(e,t){return function(n,r,s,i,o,a,c){function l(e){let t=null;if("form"===e.tagName.toLowerCase())t=e;else if("form"in e&&e.form)t=e.form;else if(e.hasAttribute("form")){const n=e.getAttribute("form");if(n){const e=document.getElementById(n);e&&"form"===e.tagName.toLowerCase()&&(t=e)}}if(!t){if("name"in e&&"string"==typeof e.name&&e.name.length>0&&(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement)){const t=e.name,n=e.value;return{[t]:n}}return{}}const n=new FormData(t),r={};return n.forEach((e,t)=>{r[t]=e}),r}return{restrict:"A",link(u,h,d){const p=d.trigger||an(h),f=h.tagName.toLowerCase();let $;C(d.latch)&&d.$observe("latch",Ee(()=>h.dispatchEvent(new Event(p))));let m,g=!1;function v(e,n,i,o,a){let l=!1;o.animate&&(l=!0);let u=[];if(!["textcontent","delete","none"].includes(n)){if(!e)return;const t=r(e)(i);u=t instanceof DocumentFragment?Array.from(t.childNodes):[t]}const h=o.target,d=h?document.querySelector(h):a;if(d)switch(n){case"outerHTML":{const e=d.parentNode;if(!e)return;const t=document.createDocumentFragment();if(u.forEach(e=>t.appendChild(e)),!l){e.replaceChild(t,d);break}const n=document.createElement("span");n.style.display="none",e.insertBefore(n,d.nextSibling),c.leave(d).done(()=>{const r=Array.from(t.childNodes);for(const t of r)t.nodeType===Node.ELEMENT_NODE?c.enter(t,e,n):e.insertBefore(t,n);$=r,i.$flushQueue()}),i.$flushQueue();break}case"textContent":l?(c.leave(d).done(()=>{d.textContent=e,c.enter(d,d.parentNode),i.$flushQueue()}),i.$flushQueue()):d.textContent=e;break;case"beforebegin":{const e=d.parentNode;if(!e)break;u.forEach(t=>{l&&t.nodeType===Node.ELEMENT_NODE?c.enter(t,e,d):e.insertBefore(t,d)}),l&&i.$flushQueue();break}case"afterbegin":{const e=d.firstChild;[...u].reverse().forEach(t=>{l&&t.nodeType===Node.ELEMENT_NODE?c.enter(t,d,e):d.insertBefore(t,e)}),l&&i.$flushQueue();break}case"beforeend":u.forEach(e=>{l&&e.nodeType===Node.ELEMENT_NODE?c.enter(e,d,null):d.appendChild(e)}),l&&i.$flushQueue();break;case"afterend":{const e=d.parentNode;if(!e)break;const t=d.nextSibling;[...u].reverse().forEach(n=>{l&&n.nodeType===Node.ELEMENT_NODE?c.enter(n,e,t):e.insertBefore(n,t)}),l&&i.$flushQueue();break}case"delete":l?(c.leave(d).done(()=>{d.remove(),i.$flushQueue()}),i.$flushQueue()):d.remove();break;case"none":break;default:l?$&&$.nodeType!==Node.TEXT_NODE?(c.leave($).done(()=>{$=u[0],c.enter(u[0],d),i.$flushQueue()}),i.$flushQueue()):($=u[0],$.nodeType===Node.TEXT_NODE?d.replaceChildren(...u):(c.enter(u[0],d),i.$flushQueue())):d.replaceChildren(...u)}else s.warn(`${t}: target "${h}" not found`)}C(d.interval)&&(h.dispatchEvent(new Event(p)),m=setInterval(()=>h.dispatchEvent(new Event(p)),parseInt(d.interval)||1e3)),h.addEventListener(p,async r=>{if(h.disabled)return;"form"===f&&r.preventDefault();const c=d.swap||"innerHTML",p=d[t];if(!p)return void s.warn(`${t}: no URL specified`);const $=e=>{C(d.loading)&&d.$set("loading",!1),C(d.loadingClass)&&d.$removeClass(d.loadingClass);const t=e.data;200<=e.status&&e.status<=299?(C(d.success)&&i(d.success)(u,{$res:t}),C(d.stateSuccess)&&o.go(d.stateSuccess)):400<=e.status&&e.status<=599&&(C(d.error)&&i(d.error)(u,{$res:t}),C(d.stateError)&&o.go(d.stateError)),x(t)?d.target?u.$eval(`${d.target} = ${JSON.stringify(t)}`):u.$merge(t):S(t)&&v(t,c,u,d,h)};if(C(d.delay)&&await Ce(0|parseInt(d.delay)),!g)if(C(d.throttle)&&(g=!0,d.$set("throttled",!0),setTimeout(()=>{d.$set("throttled",!1),g=!1},parseInt(d.throttle))),C(d.loading)&&d.$set("loading",!0),C(d.loadingClass)&&d.$addClass(d.loadingClass),"post"===e||"put"===e){let t;const r={};d.enctype?(r.headers={"Content-Type":d.enctype},t=re(l(h))):t=l(h),n[e](p,t,r).then($).catch($)}else if("get"===e&&d.ngSse){const e=p,n={withCredentials:"true"===d.withCredentials,transformMessage:e=>{try{return JSON.parse(e)}catch{return e}},onOpen:()=>{s.info(`${t}: SSE connection opened to ${e}`),C(d.loading)&&d.$set("loading",!1),C(d.loadingClass)&&d.$removeClass(d.loadingClass)},onMessage:e=>{$({status:200,data:e})},onError:e=>{s.error(`${t}: SSE error`,e);$({status:500,data:e})},onReconnect:e=>{s.info(`ngSse: reconnected ${e} time(s)`),d.onReconnect&&i(d.onReconnect)(u,{$count:e})}},r=a(e,n);u.$on("$destroy",()=>{s.info(`${t}: closing SSE connection`),r.close()})}else n[e](p).then($).catch($)}),m&&u.$on("$destroy",()=>clearInterval(m)),"load"==p&&h.dispatchEvent(new Event("load"))}}}}(e,n);return r.$inject=[Yt.$http,Yt.$compile,Yt.$log,Yt.$parse,Yt.$state,Yt.$sse,Yt.$animate],r}const tn=en("get"),nn=en("delete"),rn=en("post"),sn=en("put"),on=en("get","ngSse");function an(e){const t=e.tagName.toLowerCase();return["input","textarea","select"].includes(t)?"change":"form"===t?"submit":"click"}function cn(e,t){return{restrict:"A",link(n,r,s){const i=s.ngWorker;if(!i)return void t.warn("ngWorker: missing worker name");const o=s.trigger||an(r);let a,c=!1;C(s.latch)&&s.$observe("latch",Ee(()=>r.dispatchEvent(new Event(o)))),C(s.interval)&&(r.dispatchEvent(new Event(o)),a=setInterval(()=>r.dispatchEvent(new Event(o)),parseInt(s.interval)||1e3));const l=ln(i,{onMessage:t=>{if(C(s.dataOnResult))e(s.dataOnResult)(n,{$result:t});else{!function(e,t,n){switch(t){case"outerHTML":{const t=n.parentNode;if(!t)return;const r=document.createElement("div");r.innerHTML=e,t.replaceChild(r.firstChild,n);break}case"textContent":n.textContent=e;break;case"beforebegin":n.insertAdjacentHTML("beforebegin",e);break;case"afterbegin":n.insertAdjacentHTML("afterbegin",e);break;case"beforeend":n.insertAdjacentHTML("beforeend",e);break;case"afterend":n.insertAdjacentHTML("afterend",e);break;default:n.innerHTML=e}}(t,s.swap||"innerHTML",r)}},onError:o=>{t.error(`[ng-worker:${i}]`,o),C(s.dataOnError)?e(s.dataOnError)(n,{$error:o}):r.textContent="Error"}});r.addEventListener(o,async()=>{if(r.disabled)return;if(C(s.delay)&&await Ce(parseInt(s.delay)||0),c)return;let e;C(s.throttle)&&(c=!0,s.$set("throttled",!0),setTimeout(()=>{s.$set("throttled",!1),c=!1},parseInt(s.throttle)));try{e=s.params?n.$eval(s.params):void 0}catch(n){t.error("ngWorker: failed to evaluate data-params",n),e=void 0}l.post(e)}),a&&n.$on("$destroy",()=>clearInterval(a)),"load"===o&&r.dispatchEvent(new Event("load"))}}}function ln(e,t){if(!e)throw new Error("Worker script path required");const n={autoRestart:!1,autoTerminate:!1,onMessage:function(){},onError:function(){},transformMessage:function(e){try{return JSON.parse(e)}catch{return e}}},r=Object.assign({},n,t);let s=new Worker(e,{type:"module"}),i=!1;const o=function(){i||(console.info("Worker: restarting..."),s.terminate(),s=new Worker(e,{type:"module"}),a(s))},a=function(e){e.onmessage=function(e){let t=e.data;try{t=r.transformMessage(t)}catch{}r.onMessage(t,e)},e.onerror=function(e){r.onError(e),r.autoRestart&&o()}};return a(s),{post:function(e){if(i)return console.warn("Worker already terminated");try{s.postMessage(e)}catch(e){console.error("Worker post failed",e)}},terminate:function(){i=!0,s.terminate()},restart:function(){if(i)return console.warn("Worker cannot restart after terminate");o()},config:r}}cn.$inject=[Yt.$parse,Yt.$log];const un="$injector",hn="$compileProvider";class dn{constructor(e,t,n){le(S(e),"name required"),le(Array.isArray(t),"requires array required"),this.name=e,this.requires=t,this.invokeQueue=[],this.configBlocks=[],this.runBlocks=[],n&&this.config(n),this.services=[],this.wasmModules=[],this.restDefinitions=[]}value(e,t){return this.invokeQueue.push([Yt.$provide,"value",[e,t]]),this}constant(e,t){return this.invokeQueue.unshift([Yt.$provide,"constant",[e,t]]),this}config(e){return this.configBlocks.push([un,"invoke",[e]]),this}run(e){return this.runBlocks.push(e),this}component(e,t){return t&&j(t)&&(t.$$moduleName=e),this.invokeQueue.push([hn,"component",[e,t]]),this}factory(e,t){return t&&j(t)&&(t.$$moduleName=e),this.invokeQueue.push([Yt.$provide,"factory",[e,t]]),this}service(e,t){return t&&j(t)&&(t.$$moduleName=e),this.services.push(e),this.invokeQueue.push([Yt.$provide,"service",[e,t]]),this}provider(e,t){return t&&j(t)&&(t.$$moduleName=e),this.invokeQueue.push([Yt.$provide,"provider",[e,t]]),this}decorator(e,t){return t&&j(t)&&(t.$$moduleName=e),this.configBlocks.push([Yt.$provide,"decorator",[e,t]]),this}directive(e,t){return t&&j(t)&&(t.$$moduleName=e),this.invokeQueue.push([hn,"directive",[e,t]]),this}animation(e,t){return t&&j(t)&&(t.$$moduleName=e),this.invokeQueue.push(["$animateProvider","register",[e,t]]),this}filter(e,t){return t&&j(t)&&(t.$$moduleName=e),this.invokeQueue.push(["$filterProvider","register",[e,t]]),this}controller(e,t){return t&&j(t)&&(t.$$moduleName=e),this.invokeQueue.push(["$controllerProvider","register",[e,t]]),this}wasm(e,t,n={},r={}){const s=!!r.raw;return this.invokeQueue.push([Yt.$provide,"provider",[e,function(){this.$get=()=>Se(t,n).then(e=>s?e:e.exports)}]]),this}worker(e,t,n={}){return this.invokeQueue.push([Yt.$provide,"provider",[e,function(){this.$get=function(){return ln(t,n)}}]]),this}session(e,t){return t&&j(t)&&(t.$$moduleName=e),this.invokeQueue.push([Yt.$provide,"session",[e,t]]),this}store(e,t,n,r){return t&&j(t)&&(t.$$moduleName=e),this.invokeQueue.push([Yt.$provide,"store",[e,t,n,r]]),this}rest(e,t,n,r={}){const s={name:e,url:t,entityClass:n,options:r};return this.restDefinitions.push(s),this.invokeQueue.push([Yt.$provide,"factory",[e,[Yt.$rest,e=>e(t,n,r)]]]),this}}const pn=fe(un),fn=/^([^(]+?)=>/,$n=/^[^(]*\(\s*([^)]*)\)/m,mn=/^\s*(_?)(\S+?)\1\s*$/,gn=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm;function vn(e){return Function.prototype.toString.call(e)}function yn(e,t,n){let r,s,i;if("function"==typeof e){if(!(r=e.$inject)){if(r=[],e.length){if(t)throw pn("strictdi","{0} is not using explicit annotation and cannot be invoked in strict mode",n);s=function(e){const t=vn(e).replace(gn,"");return t.match(fn)||t.match($n)}(e),s[1].split(/,/).forEach(function(e){e.replace(mn,function(e,t,n){r.push(n)})})}e.$inject=r}}else Array.isArray(e)?(i=e.length-1,he(e[i],"fn"),r=e.slice(0,i)):he(e,"fn",!0);return r}const bn=fe(un),wn="Provider",En=!0;class Cn{constructor(e){this.cache={},this.strictDi=e,this.path=[],this.modules={}}get(e){if(we(this.cache,e)){if(this.cache[e]===En)throw bn("cdep","Circular dependency found: {0}",`${e} <- ${this.path.join(" <- ")}`);return this.cache[e]}this.path.unshift(e),this.cache[e]=En;try{this.cache[e]=this.factory(e)}catch(t){throw delete this.cache[e],t}return this.cache[e]}injectionArgs(e,t,n){const r=[],s=yn(e,this.strictDi,n);for(let e=0,{length:n}=s;e<n;e++){const n=s[e];if("string"!=typeof n)throw bn("itkn","Incorrect injection token! Expected service name as string, got {0}",n);r.push(t&&we(t,n)?t[n]:this.get(n))}return r}invoke(e,t,n,r){"string"==typeof n&&(r=n,n=null);const s=this.injectionArgs(e,n,r);return Array.isArray(e)&&(e=e[e.length-1]),/^class\b/.test(vn(e))?(s.unshift(null),new(Function.prototype.bind.apply(e,s))):e.apply(t,s)}instantiate(e,t,n){const r=Array.isArray(e)?e[e.length-1]:e,s=this.injectionArgs(e,t,n);return s.unshift(null),new(Function.prototype.bind.apply(r,s))}loadNewModules(){}factory(e){console.error(`Unhandled ${e}`)}}class xn extends Cn{constructor(e,t){super(t),this.cache=e}factory(e){throw this.path.push(e),bn("unpr","Unknown provider: {0}",this.path.join(" <- "))}loadNewModules(){}}class Sn extends Cn{constructor(e,t){super(t),this.providerInjector=e,this.modules=e.modules}factory(e){const t=this.providerInjector.get(e+wn);return this.invoke(t.$get,t,void 0,e)}has(e){const t=we(this.providerInjector.cache,e+wn),n=we(this.cache,e);return t||n}loadNewModules(){}}function On(e,t,n,r={}){const s=r.serialize||JSON.stringify,i=r.deserialize||JSON.parse,o=n.getItem(t);if(o)try{Object.assign(e,i(o))}catch{console.warn(`Failed to deserialize persisted data for key "${t}"`)}return new Proxy(e,{set(e,r,i){e[r]=i;try{n.setItem(t,s(e))}catch(e){console.warn(`Failed to persist data for key "${e}"`)}return!0},deleteProperty(e,r){const i=delete e[r];try{n.setItem(t,s(e))}catch{console.warn(`Failed to persist data for key "${t}"`)}return i}})}const kn=fe(un),An="Provider";function Tn(e,t=!1){le(Array.isArray(e),"modules required");const n=new Map,r={$provide:{provider:_n(c),factory:_n(l),service:_n(function(e,t){return l(e,[un,e=>e.instantiate(t)])}),value:_n(function(e,t){return r[e+An]={$get:()=>t}}),constant:_n(function(e,t){Q(e,"constant"),s.cache[e]=t,i.cache[e]=t}),store:function(e,t,n,r={}){return c(e,{$get:s=>{switch(n){case"session":return On(s.instantiate(t),e,sessionStorage);case"local":return On(s.instantiate(t),e,localStorage);case"cookie":{const n=s.instantiate(t),i=s.get(Yt.$cookie),o=r.serialize??JSON.stringify,a=r.deserialize??JSON.parse,c=r.cookie??{};return On(n,e,{getItem(e){const t=i.get(e);return null==t?null:t},setItem(e,t){i.put(e,t,c)},removeItem(e){i.remove(e,c)},serialize:o,deserialize:a})}case"custom":{const n=s.instantiate(t);let i,o=JSON.stringify,a=JSON.parse;return r?"function"==typeof r.getItem?i=r:x(r)&&(i=r.backend||localStorage,r.serialize&&(o=r.serialize),r.deserialize&&(a=r.deserialize)):i=localStorage,On(n,e,i,{serialize:o,deserialize:a})}}}})},decorator:function(e,t){const n=s.get(e+An),r=n.$get;n.$get=function(){const e=o.invoke(r,n);return o.invoke(t,null,{$delegate:e})}}}},s=r.$injector=new xn(r,t),i=new Sn(s,t);r.$injectorProvider={$get:()=>i};let o=i;const a=u(e);return o=i.get(un),a.forEach(e=>e&&o.invoke(e)),o.loadNewModules=e=>u(e).forEach(e=>e&&o.invoke(e)),o;function c(e,t){let n;if(Q(e,"service"),n=j(t)||Array.isArray(t)?s.instantiate(t):t,!n.$get)throw kn("pget","Provider '{0}' must define $get factory method.",e);return r[e+An]=n,n}function l(e,t){return c(e,{$get:()=>{const n=o.invoke(t,this);if(E(n))throw kn("undef","Provider '{0}' must return a value from $get factory method.",e);return n}})}function u(e){ue(E(e)||Array.isArray(e),"modulesToLoad","not an array");let t=[];return e.forEach(e=>{if(!n.get(e)){n.set(e,!0);try{if(S(e)){const n=window.angular.module(e);o.modules[e]=n,t=t.concat(u(n.requires)).concat(n.runBlocks);n.invokeQueue.concat(n.configBlocks).forEach(e=>{const t=s.get(e[0]);t[e[1]].apply(t,e[2])})}else j(e)||Array.isArray(e)?t.push(s.invoke(e)):he(e,"module")}catch(t){throw Array.isArray(e)&&(e=e[e.length-1]),t.message&&t.stack&&-1===t.stack.indexOf(t.message)&&(t.message=`${t.message}\n${t.stack}`),kn("modulerr","Failed to instantiate module {0} due to:\n{1}",e,t.stack||t.message||t)}}}),t}}function _n(e){return function(t,n){if(!x(t))return e(t,n);Object.entries(t).forEach(([t,n])=>{e(t,n)})}}class jn{constructor(e){if(ue(e,"element"),this.initial=null,this._node=null,this._element=void 0,this._nodes=void 0,this.linked=!1,this.isList=!1,S(e)){this.initial=e;let t=Wt(e);switch(!0){case t instanceof Element:this.element=t;break;case t instanceof Node:this.node=t}}else if(e instanceof NodeList)this.initial=Array.from(e).map(e=>e.cloneNode(!0)),1==e.length?this.node=e[0]:(this._nodes=Array.from(e),this.isList=!0);else if(e instanceof Element)this.initial=e.cloneNode(!0),this.element=e;else if(e instanceof Node)this.initial=e.cloneNode(!0),this._node=e;else{if(!Array.isArray(e))throw new Error("Invalid element passed to NodeRef");1===e.length?(this.initial=e[0].cloneNode(!0),this.node=e[0]):(this.initial=Array.from(e).map(e=>e.cloneNode(!0)),this.nodes=e)}}get element(){return ue(this._element,"element"),this._element}set element(e){ue(e instanceof Element,"element"),this._element=e,this._nodes=void 0,this.isList=!1}get node(){return ue(this._node||this._element,"node"),this._node||this._element}set node(e){ue(e instanceof Node,"node"),this._node=e,e.nodeType===Node.ELEMENT_NODE?this._element=e:this._element=void 0}set nodes(e){ue(Array.isArray(e)&&e.every(e=>e instanceof Node),"nodes"),this._nodes=e,this.isList=!0}get nodes(){return ue(this._nodes,"nodes"),this._nodes}get nodelist(){if(0===this._nodes.length)return[];if(this._nodes[0].parentElement)return this._nodes[0].parentElement.childNodes;const e=document.createDocumentFragment();return this._nodes.forEach(t=>e.appendChild(t)),e.childNodes}get dom(){return this.isList?this.nodelist:this.node}get size(){return this.isList?this._nodes.length:1}getAny(){return this.isList?this._nodes[0]:this._element||this._node}getAll(){return this.isList?this._nodes:this._element||this._node}collection(){return this.isList?Array.from(this._nodes):[this._element||this._node]}getIndex(e){return this.isList?this._nodes[e]:this.node}setIndex(e,t){ue(null!==e,"index"),ue(t,"node"),this.isList?this._nodes[e]=t:this.node=t}clone(){const e=this.isList?this.nodes.map(e=>e.cloneNode(!0)):this.node.cloneNode(!0);return new jn(e)}isElement(){return void 0!==this._element}}const Nn=fe("$controller"),Rn=/^(\S+)(\s+as\s+([\w$]+))?$/;function Ln(e,t){if(S(e)){const t=Rn.exec(e);if(t)return t[3]}}class Vn{constructor(){this.controllers=new Map}has(e){return this.controllers.has(e)}register(e,t){Q(e,"controller"),x(e)?Object.entries(e).forEach(([e,t])=>{this.controllers.set(e,t)}):this.controllers.set(e,t)}$get=["$injector",e=>(t,n,r,s)=>{let i,o,a,c=s&&S(s)?s:null;if(r=!0===r,S(t)){if(o=t.match(Rn),!o)throw Nn("ctrlfmt","Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.",t);if(a=o[1],c=c||o[3],!(t=this.controllers.get(a)))throw Nn("ctrlreg","The controller with the name '{0}' is not registered.",a);he(t,a,!0)}if(r){const r=(Array.isArray(t)?t[t.length-1]:t).prototype;return i=Object.create(r||null),c&&(i.$controllerIdentifier=c,this.addIdentifier(n,c,i,a||t.name)),i?.constructor?.$scopename&&(n.$scope.$scopename=i.constructor.$scopename),function(){const r=e.invoke(t,i,n,a);return r!==i&&(x(r)||j(r))&&(i=r,c&&(i.$controllerIdentifier=c,this.addIdentifier(n,c,i,a||t.name))),i}.bind(this,{instance:i,identifier:c})}return i=e.instantiate(t,n,a),c&&this.addIdentifier(n,c,i,a||t.name),i}];addIdentifier(e,t,n,r){if(!e||!x(e.$scope))throw fe("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",r,t);e.$scope[t]=n,e.$scope.$controllerIdentifier=t}}const Mn=Pn(window.location.href);function Pn(e){if(!S(e))return e;const t=new URL(e,window.location.href),n=t.hostname.includes(":")?`[${t.hostname}]`:t.hostname;return{href:t.href,protocol:t.protocol,host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:n,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:`/${t.pathname}`}}function Dn(e,t){return e=Pn(e),t=Pn(t),e.protocol===t.protocol&&e.host===t.host}function Un(e){return e.replace(/#$/,"")}const In=fe("$sce"),Hn={HTML:"html",CSS:"css",MEDIA_URL:"mediaUrl",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"};function qn(e){if("self"===e)return e;if(S(e)){if(e.indexOf("***")>-1)throw In("iwcard","Illegal sequence *** in string matcher. String: {0}",e);return e=(t=e,t.replace(/([-()[\]{}+?*.$^|,:#<!\\])/g,"\\$1")).replace(/\\\*\\\*/g,".*").replace(/\\\*/g,"[^:/.?&;]*"),new RegExp(`^${e}$`)}var t;if(N(e))return new RegExp(`^${e.source}$`);throw In("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}class Fn{constructor(){let e=["self"],t=[];this.trustedResourceUrlList=function(t){return arguments.length&&(e=t.map(e=>qn(e))),e},this.bannedResourceUrlList=function(e){return arguments.length&&(t=e.map(e=>qn(e))),t},this.$get=[Yt.$injector,Yt.$$sanitizeUri,Yt.$exceptionHandler,function(n,r,s){let i=function(){s(In("unsafe","Attempting to use an unsafe value in a safe context."))};function o(e,t){return"self"===e?Dn(t,Mn)||function(e){return Dn(e,document.baseURI)}(t):!!e.exec(t.href)}function a(e){const t=function(e){this.$$unwrapTrustedValue=function(){return e}};return e&&(t.prototype=new e),t.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},t.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},t}n.has("$sanitize")&&(i=n.get("$sanitize"));const c=a(),l={};return l[Hn.HTML]=a(c),l[Hn.CSS]=a(c),l[Hn.MEDIA_URL]=a(c),l[Hn.URL]=a(l[Hn.MEDIA_URL]),l[Hn.JS]=a(c),l[Hn.RESOURCE_URL]=a(l[Hn.URL]),{trustAs:function(e,t){const n=we(l,e)?l[e]:null;if(n){if(null===t||E(t)||""===t)return t;if("string"==typeof t)return new n(t);s(In("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",e))}else s(In("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",e,t))},getTrusted:function(n,a){if(null===a||E(a)||""===a)return a;const c=we(l,n)?l[n]:null;return c&&a instanceof c?a.$$unwrapTrustedValue():(j(a.$$unwrapTrustedValue)&&(a=a.$$unwrapTrustedValue()),n===Hn.MEDIA_URL||n===Hn.URL?r(a.toString(),n===Hn.MEDIA_URL):n===Hn.RESOURCE_URL?function(n){const r=Pn(n.toString());let s,i,a=!1;for(s=0,i=e.length;s<i;s++)if(o(e[s],r)){a=!0;break}if(a)for(s=0,i=t.length;s<i;s++)if(o(t[s],r)){a=!1;break}return a}(a)?a:void s(In("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}",a.toString())):n===Hn.HTML?i():void s(In("unsafe","Attempting to use an unsafe value in a safe context.")))},valueOf:function(e){return e instanceof c?e.$$unwrapTrustedValue():e}}}]}}function Bn(){let e=!0;this.enabled=function(t){return arguments.length&&(e=!!t),e},this.$get=[Yt.$parse,Yt.$sceDelegate,(t,n)=>{const r=ce(Hn);r.isEnabled=function(){return e},r.trustAs=n.trustAs,r.getTrusted=n.getTrusted,r.valueOf=n.valueOf,e||(r.trustAs=r.getTrusted=function(e,t){return t},r.valueOf=function(e){return e}),r.parseAs=(e,n)=>{const s=t(n);return s.literal&&s.constant?s:t(n,t=>r.getTrusted(e,t))};const s=r.parseAs,{getTrusted:i}=r,{trustAs:o}=r;return Object.entries(Hn).forEach(([e,t])=>{const n=e.toLowerCase();r[Ot(`parse_as_${n}`)]=function(e){return s(t,e)},r[Ot(`get_trusted_${n}`)]=function(e){return i(t,e)},r[Ot(`trust_as_${n}`)]=function(e){return o(t,e)}}),r}]}const zn={};function Wn(e,t,n,r){return{restrict:"A",compile(s,i){const o=e(i[n]);return(e,n)=>{const s=n=>{try{o(e,{$event:n})}catch(e){t(e)}};n.addEventListener(r,s),e.$on("$destroy",()=>n.removeEventListener(r,s))}}}}function Kn(e,t,n,r,s){return{restrict:"A",compile(i,o){const a=e(o[r]);return e=>{const r=n=>{try{a(e,{$event:n})}catch(e){t(e)}};n.addEventListener(s,r),e.$on("$destroy",()=>n.removeEventListener(s,r))}}}}"click copy cut dblclick focus blur keydown keyup load mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup paste submit touchstart touchend touchmove".split(" ").forEach(e=>{const t=ve(`ng-${e}`);zn[t]=[Yt.$parse,Yt.$exceptionHandler,(n,r)=>Wn(n,r,t,e)]});const Qn=fe("$compile"),Gn=/^\w/,Jn=document.createElement("div");class Zn{static $nonscope=!0;constructor(e,t,n,r,s,i){if(this.$rootScope=e,this.$animate=t,this.$exceptionHandler=n,this.$sce=r,i){const e=Object.keys(i);for(let t=0,n=e.length;t<n;t++){const n=e[t];this[n]=i[n]}}else this.$attr={};this.$nodeRef=s}get $$element(){return this.$nodeRef.node}$normalize=ve;$addClass(e){e&&e.length>0&&(ye(this.$$element)?this.$animate.addClass(this.$$element,e):this.$nodeRef.element.classList.add(e))}$removeClass(e){e&&e.length>0&&(ye(this.$$element)?this.$animate.removeClass(this.$$element,e):this.$nodeRef.element.classList.remove(e))}$updateClass(e,t){const n=Yn(e,t);n&&n.length&&(ye(this.$$element)?this.$animate.addClass(this.$$element,n):this.$nodeRef.element.classList.add(...n.trim().split(/\s+/)));const r=Yn(t,e);r&&r.length&&(ye(this.$$element)?this.$animate.removeClass(this.$$element,r):this.$nodeRef.element.classList.remove(...r.trim().split(/\s+/)))}$set(e,t,n,r){const s=Ft(this.$$element,e),i=h[e];let o=e;if(s?(this.$$element[e]=t,r=s):i&&(this[i]=t,o=i),this[e]=t,r?this.$attr[e]=r:(r=this.$attr[e])||(this.$attr[e]=r=D(e,"-")),"img"===this.$nodeRef.node.nodeName.toLowerCase()&&"srcset"===e&&(this[e]=t=this.sanitizeSrcset(t,"$set('srcset', value)")),!1!==n){let e=m(this.$$element)?this.$$element.$target:this.$$element;null===t||E(t)?e.removeAttribute(r):Gn.test(r)?s&&!1===t?e.removeAttribute(r):s?e.toggleAttribute(r,t):e.setAttribute(r,t):this.setSpecialAttr(this.$$element,r,t)}const{$$observers:a}=this;a&&a[o]&&a[o].forEach(e=>{try{e(t)}catch(e){this.$exceptionHandler(e)}})}$observe(e,t){const n=this.$$observers||(this.$$observers=Object.create(null)),r=n[e]||(n[e]=[]);return r.push(t),r.$$inter||!we(this,e)||E(this[e])||t(this[e]),function(){z(r,t)}}setSpecialAttr(e,t,n){Jn.innerHTML=`<span ${t}>`;const{attributes:r}=Jn.firstChild,s=r[0];r.removeNamedItem(s.name),s.value=n,e.attributes.setNamedItem(s)}sanitizeSrcset(e,t){let n;if(!e)return e;if(!S(e))throw Qn("srcset",'Can\'t pass trusted values to `{0}`: "{1}"',t,e.toString());let r="";const s=P(e),i=/\s/.test(s)?/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/:/(,)/,o=s.split(i),a=Math.floor(o.length/2);for(n=0;n<a;n++){const e=2*n;r+=this.$sce.getTrustedMediaUrl(P(o[e])),r+=" "+P(o[e+1])}const c=P(o[2*n]).split(/\s/);return r+=this.$sce.getTrustedMediaUrl(P(c[0])),2===c.length&&(r+=" "+P(c[1])),r.replace(/unsafe:unsafe/g,"unsafe")}}function Yn(e,t){const n=new Set(e.split(/\s+/)),r=new Set(t.split(/\s+/));return Array.from(n).filter(e=>!r.has(e)).join(" ")}function Xn(e,t){return{restrict:"A",compile:()=>(n,r)=>{""===t&&(t=e);const s=St(t);n[s]||(n[s]=r.getAttribute(e));const i=new MutationObserver(t=>{const r=t[0].target.getAttribute(e);n[s]!==r&&(n[s]=r)});i.observe(r,{attributes:!0,attributeFilter:[e]}),n.$on("$destroy",()=>{i.disconnect()})}}}const er=fe("$compile"),tr=["ngIf","ngRepeat"],nr=["ngSrc","ngSrcset","src","srcset"],rr=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,sr=/^(on[a-z]+|formaction)$/,ir="Directive";class or{static $inject=[Yt.$provide,Yt.$$sanitizeUriProvider];constructor(e,t){const n={},r=Object.create(null);function s(e,t,n){const s=/^([@&]|[=<]())(\??)\s*([\w$]*)$/,i=Object.create(null);return Object.entries(e).forEach(([e,o])=>{if((o=o.trim())in r)return void(i[e]=r[o]);const a=o.match(s);if(!a)throw er("iscp","Invalid {3} for directive '{0}'. Definition: {... {1}: '{2}' ...}",t,e,o,n?"controller bindings definition":"isolate scope definition");i[e]={mode:a[1][0],collection:"*"===a[2],optional:"?"===a[3],attrName:a[4]||e},a[4]&&(r[o]=i[e])}),i}function i(e,t){const n={isolateScope:null,bindToController:null};if(x(e.scope)&&(!0===e.bindToController?(n.bindToController=s(e.scope,t,!0),n.isolateScope={}):n.isolateScope=s(e.scope,t,!1)),x(e.bindToController)&&(n.bindToController=s(e.bindToController,t,!0)),n.bindToController&&!e.controller)throw er("noctrl","Cannot bind to controller without directive '{0}'s controller.",t);return n}this.directive=function t(r,s){return ue(r,"name"),Q(r,"directive"),S(r)?(!function(e){const t=e.charAt(0);if(!t||t!==t.toLowerCase())throw er("baddir","Directive/Component name '{0}' is invalid. The first character must be a lowercase letter",e);if(e!==e.trim())throw er("baddir","Directive/Component name '{0}' is invalid. The name should not contain leading or trailing whitespaces",e)}(r),ue(s,"directiveFactory"),we(n,r)||(n[r]=[],e.factory(r+ir,["$injector","$exceptionHandler",function(e,t){const s=[];return n[r].forEach((n,i)=>{try{let t=e.invoke(n);const o=e=>()=>e;j(t)?t={compile:o(t)}:!t.compile&&t.link&&(t.compile=o(t.link)),t.priority=t.priority||0,t.index=i,t.name=t.name||r,t.require=function(e){const t=e.require||e.controller&&e.name;return!Array.isArray(t)&&x(t)&&Object.entries(t).forEach(([e,n])=>{const r=n.match(rr);n.substring(r[0].length)||(t[e]=r[0]+e)}),t}(t),t.restrict=function(e,t){if(e&&(!S(e)||!/[EA]/.test(e)))throw er("badrestrict","Restrict property '{0}' of directive '{1}' is invalid",e,t);return e||"EA"}(t.restrict,r),t.$$moduleName=n.$$moduleName,s.push(t)}catch(e){t(e)}}),s}])),n[r].push(s)):Object.entries(r).forEach(([e,n])=>t(e,n)),this},this.component=function(e,t){if(!S(e))return Object.entries(e).forEach(([e,t])=>this.component(e,t)),this;const n=t.controller||function(){};function r(e){function r(t){return j(t)||Array.isArray(t)?function(n,r){return e.invoke(t,this,{$element:n,$attrs:r})}:t}const s=t.template||t.templateUrl?t.template:"",i={controller:n,controllerAs:Ln(t.controller)||t.controllerAs||"$ctrl",template:r(s),templateUrl:r(t.templateUrl),transclude:t.transclude,scope:{},bindToController:t.bindings||{},restrict:"E",require:t.require};return Object.entries(t).forEach(([e,t])=>{"$"===e.charAt(0)&&(i[e]=t)}),i}return Object.entries(t).forEach(([e,t])=>{"$"===e.charAt(0)&&(r[e]=t,j(n)&&(n[e]=t))}),r.$inject=["$injector"],this.directive(e,r)},this.aHrefSanitizationTrustedUrlList=function(e){if(!C(e))return t.aHrefSanitizationTrustedUrlList();t.aHrefSanitizationTrustedUrlList(e)},this.imgSrcSanitizationTrustedUrlList=function(e){if(!C(e))return t.imgSrcSanitizationTrustedUrlList();t.imgSrcSanitizationTrustedUrlList(e)};let o=!1;this.strictComponentBindingsEnabled=function(e){return C(e)?(o=e,this):o};const a=Object.create(null);this.addPropertySecurityContext=function(e,t,n){const r=`${e.toLowerCase()}|${t.toLowerCase()}`;if(r in a&&a[r]!==n)throw er("ctxoverride","Property context '{0}.{1}' already set to '{2}', cannot override to '{3}'.",e,t,a[r],n);return a[r]=n,this},function(){function e(e,t){t.forEach(t=>{a[t.toLowerCase()]=e})}e(Hn.HTML,["iframe|srcdoc","*|innerHTML","*|outerHTML"]),e(Hn.CSS,["*|style"]),e(Hn.URL,["area|href","area|ping","a|href","a|ping","blockquote|cite","body|background","del|cite","input|src","ins|cite","q|cite"]),e(Hn.MEDIA_URL,["audio|src","img|src","img|srcset","source|src","source|srcset","track|src","video|src","video|poster"]),e(Hn.RESOURCE_URL,["*|formAction","applet|code","applet|codebase","base|href","embed|src","frame|src","form|action","head|profile","html|manifest","iframe|src","link|href","media|src","object|codebase","object|data","script|src"])}(),this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$sce","$animate",function(e,t,r,s,c,u,h,d,p){let f;function $(){for(let e=0,t=f.length;e<t;++e)try{f[e]()}catch(e){r(e)}f=void 0}const g=t.startSymbol(),v=t.endSymbol(),y="{{"===g&&"}}"===v?e=>e:e=>e.replace(/\{\{/g,g).replace(/}}/g,v),b=/^ng(Attr|Prop|On|Observe|Window)([A-Z].*)$/;return w;function w(e,t,n,r,s){let i=new jn(e),o=O(i,t,n,r,s),a=null;return function(e,t,n){if(!i)throw er("multilink","This element has already been linked.");ue(e,"scope"),i.getAny()&&Mt(i.getAny(),e);s&&s.needsNewScope&&(e=e.$parent.$new());n=n||{};let r,{transcludeControllers:c,parentBoundTranscludeFn:l,futureParentElement:u}=n;l&&l.$$boundTransclude&&(l=l.$$boundTransclude);a||(a=function(e){const t=e;if(!t)return"html";return"foreignobject"!==F(t)&&toString.call(t).match(/SVG/)?"svg":"html"}(u));if("html"!==a){const e=Wt("<div></div>");e.append(i.node);const t=Q(a,e.innerHTML);r=new jn(t[0])}else r=t?i.clone():i;if(c)for(const e in c)ue(r.element,"element"),Rt(r.element,`$${e}Controller`,c[e].instance);t&&t(r.dom,e);o&&o(e,r,l);t||(i=o=null);return r.linked=!0,r.getAll()}}function O(e,t,n,s,i){const o=[];let a,c=!1;for(let l=0;l<e.size;l++){const u=new Zn(h,p,r,d),f=A(e.getIndex(l),u,0===l?n:void 0,s);let $,m,g;f.length&&($=N(f,e.getIndex(l),u,t,null,[],[],Object.assign({},i,{index:l,parentNodeRef:e,ctxNodeRef:e})));let v=$?.nodeLinkFn;if(v&&$.terminal||!(g=e.getIndex(l).childNodes)||!g.length)m=null;else{let e=v?($.transcludeOnThisElement||!$.templateOnThisElement)&&$.transclude:t;m=O(new jn(g),e)}(v||m)&&(o.push({index:l,nodeLinkFnCtx:$,childLinkFn:m}),c=!0,a=a||v),i=null}return c?function(n,r,s){ue(r,"nodeRef");let i=[];if(a){const t=r.isList?r.nodes.length:1;i=new Array(t),o.forEach(t=>{let n=t.index;0===n?i[n]=r.isList?r.nodes[n]:r.node:e.getIndex(n)&&(i[n]=r.nodes[n])})}else r.isList?r.nodes.forEach(e=>i.push(e)):i.push(r.node);o.forEach(({index:e,nodeLinkFnCtx:r,childLinkFn:o})=>{const a=i[e];let c,l;a.stable=!0,r?.nodeLinkFn?(c=r.newScope?n.$new():n,l=r.transcludeOnThisElement?k(n,r.transclude,s):!r.templateOnThisElement&&s?s:!s&&t?k(n,t):null,r?.newScope&&Mt(a,c),r.nodeLinkFn(o,c,a,l)):o&&o(n,new jn(a.childNodes),s)})}:null}function k(e,t,n){function r(r,s,i,o,a){r||((r=e.$transcluded(a)).$$transcluded=!0);return t(r,s,{parentBoundTranscludeFn:n,transcludeControllers:i,futureParentElement:o})}const s=r.$$slots=Object.create(null);for(const r in t.$$slots)t.$$slots[r]?s[r]=k(e,t.$$slots[r],n):s[r]=null;return r}function A(e,n,s,i){const o=[],{nodeType:a}=e,u=n.$attr;let h;switch(a){case Node.ELEMENT_NODE:h=e.nodeName.toLowerCase(),i!==ve(h)&&D(o,ve(h),"E",s);for(let t=0;t<e.attributes?.length;t++){let a=!1,h=!1,d=!1,p=!1,f=!1,$=e.attributes[t],m=$.name,g=$.value,v=ve(m.toLowerCase());const y=v.match(b);y&&(a="Attr"===y[1],h="Prop"===y[1],d="On"===y[1],p="Observe"===y[1],f="Window"===y[1],m=m.replace(l,"").toLowerCase().substring(4+y[1].length).replace(/_(.)/g,(e,t)=>t.toUpperCase())),h||d||f?(n[v]=g,u[v]=$.name,h?G(e,o,v,m):d?o.push(Wn(c,r,v,m)):o.push(Kn(c,r,window,v,m))):p?o.push(Xn(m,g)):(v=ve(m.toLowerCase()),u[v]=m,!a&&we(n,v)||(n[v]=g,Ft(e,v)&&(n[v]=!0)),J(e,o,g,v,a),v!==i&&D(o,v,"A",s))}"input"===h&&"hidden"===e.getAttribute("type")&&e.setAttribute("autocomplete","off");break;case Node.TEXT_NODE:!function(e,n){const r=t(n,!0);r&&e.push({priority:0,compile:()=>(e,t)=>{r.expressions.forEach(n=>{e.$watch(n,()=>{const n=r(m(e)?e.$target:e);if(1===t.nodeType)t.innerHTML=n;else t.nodeValue=n})})}})}(o,e.nodeValue)}return o.sort(B),o}function T(e,t,n,r,s,i){let o;return e?w(t,n,r,s,i):function(){return o||(o=w(t,n,r,s,i),t=n=i=null),o.apply(this,arguments)}}function N(e,t,n,s,i,o,a,c){c=c||{};let l=-Number.MAX_VALUE,f=!1,{newScopeDirective:$,controllerDirectives:m,newIsolateScopeDirective:g,templateDirective:v,nonTlbTranscludeDirective:b,hasElementTranscludeDirective:w,ctxNodeRef:C,parentNodeRef:O}=c,k=!1,_=!1,N=new jn(t);const V=c.index;let D,H,B;n.$nodeRef=N;let W,K=i,G=s,J=!1,ee=!1,ne=function(e,s,i,c){let l,f,v,y,b,C,S,O,k,A=s;t===i?(O=n,S=n.$nodeRef):(S=new jn(i),O=new Zn(h,p,r,d,S,n)),y=s,g?v=s.$newIsolate():$&&(y=s.$parent),c&&(C=function(e,t,n,r){let s;L(e)||(r=n,n=t,t=e,e=void 0);w&&(s=b);n||(n=w?S.node.parentElement:S.node);if(!r)return c(e,t,s,n,A);{const i=c.$$slots[r];if(i)return i(e,t,s,n,A);if(E(i))throw er("noslot",'No parent directive that requires a transclusion with slot name "{0}". Element: {1}',r,Ht(S.element))}},C.$$boundTransclude=c,C.isSlotFilled=function(e){return!!c.$$slots[e]}),m&&(b=function(e,t,n,r,s,i,o){const a=Object.create(null);for(const c in r){const l=r[c],h={$scope:l===o||l.$$isolateScope?s:i,$element:e.node,$attrs:t,$transclude:n};let{controller:d}=l;"@"===d&&(d=t[l.name]);const p=u(d,h,!0,l.controllerAs);a[l.name]=p,e.isElement()&&Rt(e.element,`$${l.name}Controller`,p.instance)}return a}(S,O,C,m,v,s,g)),g&&(v.$target.$$isolateBindings=g.$$isolateBindings,k=te(s,O,v,v.$$isolateBindings,g),k.removeWatches&&v.$on("$destroy",k.removeWatches));for(const e in b){const t=m[e],n=b[e],r=t.$$bindings.bindToController,s=n();n.instance=y.$new(s),Rt(S.node,`$${t.name}Controller`,n.instance),n.bindingInfo=te(y,O,n.instance,r,t)}for(m&&Object.entries(m).forEach(([e,t])=>{const{require:n}=t;t.bindToController&&!Array.isArray(n)&&x(n)&&U(b[e].instance,R(e,n,S.element,b))}),b&&Object.values(b).forEach(e=>{const t=e.instance;if(j(t.$onChanges))try{t.$onChanges(e.bindingInfo.initialChanges)}catch(e){r(e)}if(j(t.$onInit))try{t.$target.$onInit()}catch(e){r(e)}j(t.$onDestroy)&&y.$on("$destroy",()=>{t.$onDestroy()})}),l=0,f=o.length;l<f;l++){let e=o[l];const t=e.require&&R(e.directiveName,e.require,S.element,b);try{e(e.isolateScope?v:s,S.node,O,t,C)}catch(e){r(e)}}for(g&&(g.template||null===g.templateUrl)&&(A=v),e&&i&&i.childNodes&&i.childNodes.length&&e(A,new jn(i.childNodes),c),l=a.length-1;l>=0;l--){let e=a[l];const t=e.require&&R(e.directiveName,e.require,S.node,b);try{e.isolateScope&&Pt(S.element,v),e(e.isolateScope?v:s,S.node,O,t,C)}catch(e){r(e)}}b&&Object.values(b).forEach(e=>{const t=e.instance;j(t.$postLink)&&t.$postLink()})};for(let i=0,u=e.length;i<u&&(D=e[i],B=void 0,!(l>D.priority));i++){W=D.scope,W&&(D.templateUrl||(x(W)?(z("new/isolated scope",g||$,D,N),g=D):z("new/isolated scope",g,D,N)),$=$||D),H=D.name;const h=D.replace&&(D.templateUrl||D.template),d=D.transclude&&!tr.includes(D.name);if(!J&&(h||d)){let t;for(let n=i+1;t=e[n++];)if(t.transclude&&!tr.includes(t.name)||t.replace&&(t.templateUrl||t.template)){ee=!0;break}J=!0}if(!D.templateUrl&&D.controller&&(m=m||Object.create(null),z(`'${H}' controller`,m[H],D,N),m[H]=D),W=D.transclude,W)if(k=!0,tr.includes(D.name)||(z("transclusion",b,D,N),b=D),"element"===W)w=!0,l=D.priority,B=N,N=new jn(document.createComment("")),n.$nodeRef=N,t=N.node,C.node=t,Z(new jn(B.getAny()),t,V),G=T(ee,B.getAny(),s,l,K&&K.name,{nonTlbTranscludeDirective:b});else{const e=Object.create(null);if(x(W)){B=document.createDocumentFragment();const t=Object.create(null),n=Object.create(null);Object.entries(W).forEach(([r,s])=>{const i="?"===s.charAt(0);s=i?s.substring(1):s,t[s]=r,e[r]=null,n[r]=i}),N.element.childNodes.forEach(r=>{const s=t[ve(F(r))];s?(n[s]=!0,e[s]=e[s]||document.createDocumentFragment(),e[s].appendChild(r)):B.appendChild(r)}),Object.entries(n).forEach(([e,t])=>{if(!t)throw er("reqslot","Required transclusion slot `{0}` was not filled.",e)});for(const t in e)if(e[t]){const n=e[t].childNodes;e[t]=T(ee,n,s)}B=B.childNodes}else B=t.cloneNode(!0).childNodes;Qt(t),G=T(ee,B,s,void 0,void 0,{needsNewScope:D.$$isolateScope||D.$$newScope}),G.$$slots=e}if(D.template)if(_=!0,z("template",v,D,N),v=D,W=j(D.template)?D.template(N.node,n):D.template,W=y(W),D.replace){if(K=D,B=Tt(W)?[]:ar(Q(D.templateNamespace,P(W))),S(B)&&(B=Array.from(Kt(B)).filter(e=>e.nodeType===Node.ELEMENT_NODE)),t=B[0],1!==B.length||t.nodeType!==Node.ELEMENT_NODE)throw er("tplrt","Template for directive '{0}' must have exactly one root element. {1}",H,"");Z(N,t),O&&O.setIndex(V,t);const r={$attr:{}},s=A(t,r),o=e.splice(i+1,e.length-(i+1));(g||$)&&M(s,g,$),e=e.concat(s).concat(o),I(n,r),u=e.length}else N.isElement()&&(N.element.innerHTML=W);if(D.templateUrl)_=!0,z("template",v,D,N),v=D,D.replace&&(K=D),ne=q(e.splice(i,e.length-i),N,n,t,k&&G,o,a,{index:V,controllerDirectives:m,newScopeDirective:$!==D&&$,newIsolateScopeDirective:g,templateDirective:v,nonTlbTranscludeDirective:b,futureParentElement:c.futureParentElement}),u=e.length;else if(D.compile)try{const e=D.compile(N.getAny(),n,G),t=D.$$originalDirective||D;j(e)?re(null,Y(t,e)):e&&re(Y(t,e.pre),Y(t,e.post))}catch(e){r(e)}D.terminal&&(f=!0,l=Math.max(l,D.priority))}return c.hasElementTranscludeDirective=w,{nodeLinkFn:ne,terminal:f,transclude:G,transcludeOnThisElement:k,templateOnThisElement:_,newScope:$&&!0===$.scope};function re(e,t){e&&(e.require=D.require,e.directiveName=H,(g===D||D.$$isolateScope)&&(e=X(e,{isolateScope:!0})),o.push(e)),t&&(t.require=D.require,t.directiveName=H,(g===D||D.$$isolateScope)&&(t=X(t,{isolateScope:!0})),a.push(t))}}function R(e,t,n,r){let s;if(S(t)){const i=t.match(rr),o=t.substring(i[0].length),a=i[1]||i[3],c="?"===i[2];if("^^"===a?n=n.parentElement?n.parentElement:void 0:(s=r&&r[o],s=s&&s.instance),!s){const e=`$${o}Controller`;s="^^"===a&&n&&n.nodeType===Node.DOCUMENT_NODE?null:n?a?Ut(n,e):Lt(n,e):void 0}if(!s&&!c)throw er("ctreq","Controller '{0}', required by directive '{1}', can't be found!",o,e)}else if(Array.isArray(t)){s=[];for(let i=0,o=t.length;i<o;i++)s[i]=R(e,t[i],n,r)}else x(t)&&(s={},Object.entries(t).forEach(([t,i])=>{s[t]=R(e,i,n,r)}));return s||null}function M(e,t,n){for(let r=0,s=e.length;r<s;r++)e[r]=H(e[r],{$$isolateScope:t,$$newScope:n})}function D(t,r,s,o){let a=!1;if(we(n,r))for(let n,c=e.get(r+ir),l=0,u=c.length;l<u;l++)if(n=c[l],(E(o)||o>n.priority)&&-1!==n.restrict.indexOf(s)){if(!n.$$bindings){const e=n.$$bindings=i(n,n.name);x(e.isolateScope)&&(n.$$isolateBindings=e.isolateScope)}t.push(n),a=n}return a}function I(e,t){const n=t.$attr,r=e.$attr;Object.entries(e).forEach(([r,s])=>{"$"!==r.charAt(0)&&(t[r]&&t[r]!==s&&(s.length?s+=("style"===r?";":" ")+t[r]:s=t[r]),e.$set(r,s,!0,n[r]))}),Object.entries(t).forEach(([t,s])=>{we(e,t)||"$"===t.charAt(0)||(e[t]=s,"class"!==t&&"style"!==t&&(r[t]=n[t]))})}function q(e,t,n,i,o,a,c,l){let u,h,d,p=[];const f=t.getAny(),$=e.shift(),m=H($,{templateUrl:null,transclude:null,replace:null,$$originalDirective:$});let g;g=j($.templateUrl)?$.templateUrl(t.element,n):$.templateUrl;const{templateNamespace:v}=$;return Qt(t.element),s(g).then(r=>{let s,b,w,E;if(r=y(r),$.replace){if(w=Tt(r)?[]:S(r)?Array.from(Kt(r)).filter(e=>e.nodeType!==Node.COMMENT_NODE&&e.nodeType!==Node.TEXT_NODE):ar(Q(v,P(r))),s=w[0],1!==w.length||s.nodeType!==Node.ELEMENT_NODE)throw er("tplrt","Template for directive '{0}' must have exactly one root element. {1}",$.name,g);b={$attr:{}},Z(t,s,l.index);const i=A(s,b);x($.scope)&&M(i,!0),e=i.concat(e),I(n,b)}else s=f,t.element.innerHTML=r;for(e.unshift(m),d=N(e,s,n,o,$,a,c,{...l,ctxNodeRef:t}),u=d?.nodeLinkFn,i&&Object.entries(i).forEach(([e,n])=>{n===s&&(i[e]=t)}),h=O(new jn(t.getAny().childNodes),o);p.length;){const e=p.shift(),n=p.shift(),r=p.shift();let i=t.getAny();if(!e.$$destroyed){if(n!==f){const e=n.className;l.hasElementTranscludeDirective&&$.replace||(i=s.cloneNode(!0),n.appendChild(i));try{""!==e&&t.element.classList.forEach(e=>n.classList.add(e))}catch{}}E=d.transcludeOnThisElement?k(e,d.transclude,r):r,u(h,e,i,E)}}p=null}).catch(e=>{_(e)?r(e):r(new Error(e))}),function(e,t,n,r,s){let i=s;t.$$destroyed||(p?p.push(t,n,r):(u.transcludeOnThisElement&&(i=k(t,u.transclude,s)),u(h,t,n,r,i)))}}function B(e,t){const n=t.priority-e.priority;return 0!==n?n:e.name!==t.name?e.name<t.name?-1:1:e.index-t.index}function z(e,t,n,r){function s(e){return e?` (module: ${e})`:""}if(t)throw er("multidir","Multiple directives [{0}{1}, {2}{3}] asking for {4} on: {5}",t.name,s(t.$$moduleName),n.name,s(n.$$moduleName),e,Ht(r.getAny()))}function Q(e,t){switch(e=(e||"html").toLowerCase()){case"svg":case"math":{const n=document.createElement("div");return n.innerHTML=`<${e}>${t}</${e}>`,n.childNodes[0].childNodes}default:return t}}function G(e,t,n,r){if(sr.test(r))throw er("nodomevents","Property bindings for HTML DOM event properties are disallowed");const s=F(e),i=function(e,t){const n=t.toLowerCase();return a[`${e}|${n}`]||a[`*|${n}`]}(s,r);let o=e=>e;"srcset"!==r||"img"!==s&&"source"!==s?i&&(o=d.getTrusted.bind(d,i)):o=e=>function(e,t){if(!e)return e;if(!S(e))throw er("srcset",'Can\'t pass trusted values to `{0}`: "{1}"',t,e.toString());let n="";const r=P(e),s=/\s/.test(r)?/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/:/(,)/,i=r.split(s),o=Math.floor(i.length/2);let a;for(a=0;a<o;a++){const e=2*a;n+=d.getTrustedMediaUrl(P(i[e])),n+=" "+P(i[e+1])}const c=P(i[2*a]).split(/\s/);return n+=d.getTrustedMediaUrl(P(c[0])),2===c.length&&(n+=" "+P(c[1])),n}(d.valueOf(e),"ng-prop-srcset"),t.push({priority:100,compile:function(e,t){const s=c(t[n]);return{pre:function(e,i){function a(){const t=s(e);i[r]=o(t)}a(),e.$watch(r,a),e.$watch(t[n],e=>{d.valueOf(e),a()})}}}})}function J(e,n,r,s,i){const o=F(e),a=function(e,t){return"srcdoc"===t?d.HTML:"src"===t||"ngSrc"===t?-1===["img","video","audio","source","track"].indexOf(e)?d.RESOURCE_URL:d.MEDIA_URL:"xlinkHref"===t?"image"===e?d.MEDIA_URL:"a"===e?d.URL:d.RESOURCE_URL:"form"===e&&"action"===t||"base"===e&&"href"===t||"link"===e&&"href"===t?d.RESOURCE_URL:"a"!==e||"href"!==t&&"ngHref"!==t?void 0:d.URL}(o,s),c=!i,l=nr.includes(s)||i;let u=t(r,c,a,l);if(u){if("multiple"===s&&"select"===o)throw er("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",Ht(e.outerHTML));if(sr.test(s))throw er("nodomevents","Interpolations for HTML DOM event attributes are disallowed");n.push({priority:100,compile:()=>({pre:function(e,n,i){const o=i.$$observers||(i.$$observers=Object.create(null)),c=i[s];c!==r&&(u=c&&t(c,!0,a,l),r=c),u&&(i[s]=u(e),(o[s]||(o[s]=[])).$$inter=!0,u.expressions.forEach(t=>{(i.$$observers&&i.$$observers[s].$$scope||e).$watch(t,()=>{let t=u(e);"class"===s?i.$updateClass(t,i.$$element.classList.value):i.$set(s,"srcset"===s?d.getTrustedMediaUrl(t):t)})}),0==u.expressions.length&&i.$set(s,"srcset"===s?d.getTrustedMediaUrl(c):c))}})})}}function Z(e,t,n){const r=e.getAny().parentNode;if(r)if(C(n)){const e=r.childNodes[n];e&&r.replaceChild(t,e)}else r.insertBefore(t,r.firstChild);const s=document.createDocumentFragment();e.collection().forEach(e=>{s.appendChild(e)}),e.node=t}function X(e,t){return U(function(){return e.apply(null,arguments)},e,t)}function ee(e,t){if(o)throw er("missingattr","Attribute '{0}' of '{1}' is non-optional and must be set!",e,t)}function te(e,n,r,s,i){const o=[],a={};let l;function u(t,n,s){j(r.$onChanges)&&(f||(e.$postUpdate($),f=[]),l||(l={},f.push(h)),l[t]={currentValue:n,firstChange:s})}function h(){r.$onChanges&&l&&r.$onChanges(l),l=void 0}return s&&Object.entries(s).forEach(([s,l])=>{const{attrName:d,optional:p,mode:f}=l;let $,m,g,v,y,b=!0,w=!0;switch(f){case"@":p||we(n,d)||(ee(d,i.name),r[s]=n[d]=void 0),y=n.$observe(d,e=>{(S(e)||V(e))&&(u(s,e,w),r[s]=e,b?b=!1:(h(),w=!1))}),n.$$observers[d].$$scope=e,$=n[d],S($)?r[s]=t($)(e):V($)&&(r[s]=$),a[s]={currentValue:r[s],firstChange:!0},o.push(y);break;case"=":{if(!we(n,d)){if(p)break;ee(d,i.name),n[d]=void 0}if(p&&!n[d])break;m=c(n[d]),v=m.literal?K:W,g=m.assign||function(){throw $=r.$target[s]=m(e),er("nonassign","Expression '{0}' in attribute '{1}' used with directive '{2}' is non-assignable!",n[d],d,i.name)},$=r.$target[s]=m(e.$target);const t=function(t){return v(t,r[s])||(v(t,$)?g(e,t=r[s]):r[s]=t),$=t,$};if(t.$stateful=!0,l.collection)y=e.$watch(n[d],t);else{if(n[d]){let r=n[d];e.$watch(r,r=>{const s=c(n[d],t);r?(m.literal?e.$target[d]=r:e[d]=r,s(e)):e[d]=e[n[d]]},!0)}y=r.$watch(d,t=>{if(t!==$||E(n[d])){if(m.inputs&&!m.literal||E(n[d])&&C(t))throw r.$target[d]=$,er("nonassign","Expression '{0}' in attribute '{1}' used with directive '{2}' is non-assignable!",n[d],d,i.name);x(t)?Object.entries(t).forEach(([t,n])=>{e.$target[t]=n}):(g(e.$target,$=t),e.$handler.watchers.get(n[d])?.forEach(n=>{n.listenerFn(t,e.$target)}))}},!0)}o.push(y);break}case"<":if(!we(n,d)){if(p)break;ee(d,i.name),n[d]=void 0}if(p&&!n[d])break;m=c(n[d]),r.$target[s]=m(e.$target),a[s]={currentValue:r.$target[s],firstChange:w},e.$target.attrs=n,n[d]&&(y=e.$watch(n[d],e=>{r.$target[s]=e,u(s,e,w),w&&(w=!1)},!0),o.push(y));break;case"&":if(p||we(n,d)||ee(d,i.name),m=we(n,d)?c(n[d]):()=>{},m.toString()===(()=>{}).toString()&&p)break;r.$target[s]=function(t){return m(e.$target,t)}}}),{initialChanges:a,removeWatches:o.length&&function(){for(let e=0,t=o.length;e<t;++e)o[e]()}}}}]}}function ar(e){let t=e.length;if(t<=1)return e;for(;t--;){const n=e[t];(n.nodeType===Node.COMMENT_NODE||n.nodeType===Node.TEXT_NODE&&""===n.nodeValue.trim())&&[].splice.call(e,t,1)}return e}const cr={$nonscope:!0,$addControl:()=>{},$getControls:()=>[],$$renameControl:(e,t)=>{e.$name=t},$removeControl:()=>{},$setValidity:()=>{},$setDirty:()=>{},$setPristine:()=>{},$setSubmitted:()=>{},$$setSubmitted:()=>{}},lr="ng-pending",ur="ng-submitted";class hr{static $nonscope=!0;static $inject=["$element","$attrs","$scope","$animate","$interpolate"];constructor(e,r,s,i,o){this.$$controls=[],this.$name=o(r.name||r.ngForm||"")(s),this.$dirty=!1,this.$pristine=!0,this.$valid=!0,this.$invalid=!1,this.$submitted=!1,this.$$parentForm=cr,this.$$element=e,this.$$animate=i,this.$error={},this.$$success={},this.$pending=void 0,this.$$classCache={};const a=this.$$element.classList.contains(t);this.$$classCache[t]=a,this.$$classCache[n]=!a}$rollbackViewValue(){this.$$controls.forEach(e=>{e.$rollbackViewValue()})}$commitViewValue(){this.$$controls.forEach(e=>{e.$commitViewValue()})}$addControl(e){Q(e.$name,"input"),this.$$controls.push(e),e.$name&&(this[e.$name]=e),e.$target.$$parentForm=this}$getControls(){return ce(this.$$controls)}$$renameControl(e,t){const n=e.$name;this[n]===e&&delete this[n],this[t]=e,e.$name=t}$removeControl(e){e.$name&&this[e.$name]===e&&delete this[e.$name],this.$pending&&Object.keys(this.$pending).forEach(t=>{this.$setValidity(t,null,e)}),this.$error&&Object.keys(this.$error).forEach(t=>{this.$setValidity(t,null,e)}),this.$$success&&Object.keys(this.$$success).forEach(t=>{this.$setValidity(t,null,e)}),z(this.$$controls,e),e.$target.$$parentForm=cr}$setDirty(){ye(this.$$element)?(this.$$animate.removeClass(this.$$element,r),this.$$animate.addClass(this.$$element,s)):(this.$$element.classList.remove(r),this.$$element.classList.add(s)),this.$dirty=!0,this.$pristine=!1,this.$$parentForm.$setDirty()}$setPristine(){ye(this.$$element)?this.$$animate.setClass(this.$$element,r,`${s} ${ur}`):(this.$$element.classList.remove(s,ur),this.$$element.classList.add(r)),this.$dirty=!1,this.$pristine=!0,this.$submitted=!1,this.$$controls.forEach(e=>{e.$setPristine()})}$setUntouched(){this.$$controls.forEach(e=>{e.$setUntouched()})}$setSubmitted(){let e=this;for(;e.$$parentForm&&e.$$parentForm!==cr;)e=e.$$parentForm;e.$$setSubmitted()}$$setSubmitted(){ye(this.$$element)?this.$$animate.addClass(this.$$element,ur):this.$$element.classList.add(ur),this.$submitted=!0,this.$$controls.forEach(e=>{e.$$setSubmitted&&e.$$setSubmitted()})}set(e,t,n){const r=e[t];if(r){-1===r.indexOf(n)&&r.push(n)}else m(e)&&(e=e.$target),e[t]=[n]}unset(e,t,n){const r=e[t];if(!r)return;-1===z(r,n)&&z(r,n.$target),0===r.length&&delete e[t]}$setValidity(e,r,s){let i,o=this;function a(e,t,n){n&&!e.$$classCache[t]?(e.$$animate.addClass(e.$$element,t),e.$$classCache[t]=!0):!n&&e.$$classCache[t]&&(e.$$animate.removeClass(e.$$element,t),e.$$classCache[t]=!1)}function c(e,r,s){r=r?`-${D(r,"-")}`:"",a(e,t+r,!0===s),a(e,n+r,!1===s)}E(r)?function(e,t,n,r){e[t]||(e[t]={});o.set(e[t],n,r)}(this,"$pending",e,s):function(e,t,n,r){e[t]&&o.unset(e[t],n,r);be(e[t])&&(e[t]=void 0)}(this,"$pending",e,s),V(r)?r?(this.unset(this.$error,e,s),this.set(this.$$success,e,s)):(this.set(this.$error,e,s),this.unset(this.$$success,e,s)):(this.unset(this.$error,e,s),this.unset(this.$$success,e,s)),this.$pending?(a(this,lr,!0),this.$valid=this.$invalid=void 0,c(this,"",null)):(a(this,lr,!1),this.$valid=be(this.$error),this.$invalid=!this.$valid,c(this,"",this.$valid)),i=this.$pending&&this.$pending[e]?void 0:!this.$error[e]&&(!!this.$$success[e]||null),c(this,e,i),this.$$parentForm.$setValidity(e,i,this)}}const dr=function(e){return["$parse",function(n){return{name:"form",restrict:e?"EA":"E",require:["form","^^?form"],controller:hr,compile:function(s,i){s.classList.add(r,t);const o=i.name?"name":!(!e||!i.ngForm)&&"ngForm";return{pre:function(e,t,r,s){const i=s[0];if(!("action"in r)){const e=function(e){i.$commitViewValue(),i.$setSubmitted(),e.preventDefault()};t.addEventListener("submit",e),t.addEventListener("$destroy",()=>{setTimeout(()=>{t.removeEventListener("submit",e)},0,!1)})}(s[1]||i.$$parentForm).$addControl(i);let a=o?function(e){if(""===e)return n('this[""]').assign;return n(e).assign||(()=>{})}(i.$name):()=>{};o&&(a(e,i),r.$observe(o,t=>{i.$name!==t&&(e.$target[i.$name]=void 0,i.$$parentForm.$$renameControl(i,t),e.$target!==i.$$parentForm&&i.$$parentForm!==cr||(e.$target[t]=i))})),t.addEventListener("$destroy",()=>{i.$target.$$parentForm.$removeControl(i),a(e,void 0),U(i,cr)})}}}}}]},pr=dr(),fr=dr("ngForm"),$r=/(\s+|^)default(\s+|$)/;class mr{static $nonscope=!0;static $inject=["$attrs","$scope"];constructor(e,t){this.$$attrs=e,this.$$scope=t,this.parentCtrl}$onInit(){const e=this.parentCtrl?this.parentCtrl.$options:vr,t=this.$$scope.$eval(this.$$attrs.ngModelOptions);this.$options=e.createChild(t)}}class gr{static $nonscope=!0;constructor(e){this.$$options=e}getOption(e){return this.$$options[e]}createChild(e){let t=!1;return e=Object.assign({},e),Object.entries(e).forEach(([n,r])=>{"$inherit"===r?"*"===n?t=!0:(e[n]=this.$$options[n],"updateOn"===n&&(e.updateOnDefault=this.$$options.updateOnDefault)):"updateOn"===n&&(e.updateOnDefault=!1,e[n]=P(r.replace($r,()=>(e.updateOnDefault=!0," "))))},this),t&&(delete e["*"],br(e,this.$$options)),br(e,vr.$$options),new gr(e)}}const vr=new gr({updateOn:"",updateOnDefault:!0,debounce:0,getterSetter:!1,allowInvalid:!1}),yr=function(){return{restrict:"A",priority:10,require:{parentCtrl:"?^^ngModelOptions"},bindToController:!0,controller:mr}};function br(e,t){Object.keys(t).forEach(n=>{C(e[n])||(e[n]=t[n])})}const wr=fe("ngModel");class Er{static $nonscope=!0;static $inject=["$scope",Yt.$exceptionHandler,"$attrs","$element",Yt.$parse,Yt.$animate,Yt.$interpolate];constructor(e,r,s,i,o,a,c){this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$$rawModelValue=void 0,this.$validators={},this.$asyncValidators={},this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$untouched=!0,this.$touched=!1,this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$error={},this.$$success={},this.$pending=void 0,this.$name=c(s.name||"",!1)(e),this.$$parentForm=cr,this.$options=vr,this.$$updateEvents="",this.$$updateEventHandler=this.$$updateEventHandler.bind(this),this.$$parsedNgModel=o(s.ngModel),this.$$parsedNgModelAssign=this.$$parsedNgModel.assign,this.$$ngModelGet=this.$$parsedNgModel,this.$$ngModelSet=this.$$parsedNgModelAssign,this.$$pendingDebounce=null,this.$$parserValid=void 0,this.$$parserName="parse",this.$$currentValidationRunId=0,this.$$scope=e,this.$$attr=s,this.$$element=i,this.$$animate=a,this.$$parse=o,this.$$exceptionHandler=r,this.$$hasNativeValidators=!1,this.$$classCache={};const l=this.$$element.classList.contains(t);var u;this.$$classCache[t]=l,this.$$classCache[n]=!l,this.$$eventRemovers=new Set,(u=this).$$scope.$watch("value",()=>{const e=u.$$ngModelGet(u.$$scope);e===u.$modelValue||u.$modelValue!=u.$modelValue&&e!=e||u.$$setModelValue(e)})}set(e,t){e[t]=!0}unset(e,t){delete e[t]}$setValidity(e,r){let s,i=this;function o(e,t,n){n&&!e.$$classCache[t]?(ye(e.$$element)?e.$$animate.addClass(e.$$element,t):e.$$element.classList.add(t),e.$$classCache[t]=!0):!n&&e.$$classCache[t]&&(ye(e.$$element)?e.$$animate.removeClass(e.$$element,t):e.$$element.classList.remove(t),e.$$classCache[t]=!1)}function a(e,r,s){r=r?`-${D(r,"-")}`:"",o(e,t+r,!0===s),o(e,n+r,!1===s)}E(r)?function(e,t,n){e[t]||(e[t]={}),i.set(e[t],n)}(this,"$pending",e):function(e,t,n){e[t]&&i.unset(e[t],n),be(e[t])&&(e[t]=void 0)}(this,"$pending",e),V(r)?r?(delete this.$error[e],this.set(this.$$success,e)):(this.set(this.$error,e),delete this.$$success[e]):(delete this.$error[e],delete this.$$success[e]),this.$pending?(o(this,lr,!0),this.$valid=this.$invalid=void 0,a(this,"",null)):(o(this,lr,!1),this.$valid=be(this.$error),this.$invalid=!this.$valid,a(this,"",this.$valid)),s=this.$pending&&this.$pending[e]?void 0:!this.$error[e]&&(!!this.$$success[e]||null),a(this,e,s),this.$$parentForm.$setValidity(e,s,this)}$$initGetterSetters(){if(this.$options.getOption("getterSetter")){const e=this.$$parse(`${this.$$attr.ngModel}()`),t=this.$$parse(`${this.$$attr.ngModel}($$$p)`);this.$$ngModelGet=t=>{let n=this.$$parsedNgModel(t);return j(n)&&(n=e(t)),n},this.$$ngModelSet=(e,n)=>{j(this.$$parsedNgModel(e))?t(e,{$$$p:n}):this.$$parsedNgModelAssign(e,n)}}else if(!this.$$parsedNgModel.assign)throw wr("nonassign","Expression '{0}' is non-assignable. Element: {1}",this.$$attr.ngModel,Ht(this.$$element))}$render(){}$isEmpty(e){return E(e)||""===e||null===e||e!=e}$$updateEmptyClasses(e){this.$isEmpty(e)?ye(this.$$element)?(this.$$animate.removeClass(this.$$element,c),this.$$animate.addClass(this.$$element,a)):(this.$$element.classList.remove(c),this.$$element.classList.add(a)):ye(this.$$element)?(this.$$animate.removeClass(this.$$element,a),this.$$animate.addClass(this.$$element,c)):(this.$$element.classList.remove(a),this.$$element.classList.add(c))}$setPristine(){this.$dirty=!1,this.$pristine=!0,this.$$element&&(ye(this.$$element)?(this.$$animate.removeClass(this.$$element,a),this.$$animate.addClass(this.$$element,r)):(this.$$element.classList.remove(a),this.$$element.classList.add(r)))}$setDirty(){this.$dirty=!0,this.$pristine=!1,ye(this.$$element)?(this.$$animate.removeClass(this.$$element,r),this.$$animate.addClass(this.$$element,s)):(this.$$element.classList.remove(r),this.$$element.classList.add(s)),this.$$parentForm.$setDirty()}$setUntouched(){this.$touched=!1,this.$untouched=!0,ye(this.$$element)?this.$$animate.setClass(this.$$element,i,o):(this.$$element.classList.remove(o),this.$$element.classList.add(i))}$setTouched(){this.$touched=!0,this.$untouched=!1,ye(this.$$element)?this.$$animate.setClass(this.$$element,o,i):(this.$$element.classList.remove(i),this.$$element.classList.add(o))}$rollbackViewValue(){clearTimeout(this.$$pendingDebounce),this.$viewValue=this.$$lastCommittedViewValue,this.$render()}$validate(){if(I(this.$modelValue))return;const e=this.$$lastCommittedViewValue,t=this.$$rawModelValue,n=this.$valid,r=this.$modelValue,s=this.$options.getOption("allowInvalid"),i=this;this.$$runValidators(t,e,e=>{s||n===e||(i.$modelValue=e?t:void 0,i.$modelValue!==r&&i.$$writeModelToScope())})}$$runValidators(e,t,n){this.$$currentValidationRunId++;const r=this.$$currentValidationRunId,s=this;function i(e,t){r===s.$$currentValidationRunId&&s.$setValidity(e,t)}function o(e){r===s.$$currentValidationRunId&&n(e)}!function(){const e=s.$$parserName;if(!E(s.$$parserValid))return s.$$parserValid||(Object.keys(s.$validators).forEach(e=>{i(e,null)}),Object.keys(s.$asyncValidators).forEach(e=>{i(e,null)})),i(e,s.$$parserValid),s.$$parserValid;i(e,null);return!0}()?o(!1):function(){let n=!0;if(Object.entries(s.$validators).forEach(([r,s])=>{const o=Boolean(s(e,t));n=n&&o,i(r,o)}),!n)return Object.keys(s.$asyncValidators).forEach(e=>{i(e,null)}),!1;return!0}()?function(){const n=[];let r=!0;Object.entries(s.$asyncValidators).forEach(([s,o])=>{const a=o(e,t);if(!M(a))throw wr("nopromise","Expected asynchronous validator to return a promise but got '{0}' instead.",a);i(s,void 0),n.push(a.then(()=>{i(s,!0)},()=>{r=!1,i(s,!1)}))}),n.length?Promise.all(n).then(()=>{o(r)},()=>{}):o(!0)}():o(!1)}$commitViewValue(){clearTimeout(this.$$pendingDebounce),(this.$$lastCommittedViewValue!==this.$viewValue||""===this.$viewValue&&this.$$hasNativeValidators)&&(void 0===this.$$lastCommittedViewValue&&Number.isNaN(this.$viewValue)||(this.$$updateEmptyClasses(this.$viewValue),this.$$lastCommittedViewValue=this.$viewValue,this.$pristine&&this.$setDirty(),this.$$parseAndValidate()))}$$parseAndValidate(){let e=this.$$lastCommittedViewValue;const t=this;if(this.$$parserValid=!E(e)||void 0,this.$setValidity(this.$$parserName,null),this.$$parserName="parse",this.$$parserValid)for(let t=0;t<this.$parsers.length;t++)if(e=this.$parsers[t](e),E(e)){this.$$parserValid=!1;break}I(this.$modelValue)&&(this.$modelValue=this.$$ngModelGet(this.$$scope));const n=this.$modelValue,r=this.$options.getOption("allowInvalid");function s(){t.$modelValue!=n&&t.$$writeModelToScope()}this.$$rawModelValue=e,r&&(this.$modelValue=e,s()),this.$$runValidators(e,this.$$lastCommittedViewValue,n=>{r||(t.$modelValue=n?e:void 0,s())})}$$writeModelToScope(){this.$$ngModelSet(this.$$scope,this.$modelValue),Object.values(this.$viewChangeListeners).forEach(e=>{try{e()}catch(e){this.$$exceptionHandler(e)}},this)}$setViewValue(e,t){this.$viewValue=e,this.$options?.getOption("updateOnDefault")&&this.$$debounceViewValueCommit(t)}$$debounceViewValueCommit(e){let t=this.$options.getOption("debounce");A(t[e])?t=t[e]:A(t.default)&&-1===this.$options.getOption("updateOn").indexOf(e)?t=t.default:A(t["*"])&&(t=t["*"]),clearTimeout(this.$$pendingDebounce);const n=this;t>0?this.$$pendingDebounce=setTimeout(()=>{n.$commitViewValue()},t):this.$commitViewValue()}$overrideModelOptions(e){this.$$removeAllEventListeners(),this.$options=this.$options.createChild(e),this.$$updateEvents=this.$options.$$options.updateOn,this.$$setUpdateOnEvents()}$processModelValue(){const e=this.$$format();this.$viewValue!==e&&(this.$$updateEmptyClasses(e),this.$viewValue=this.$$lastCommittedViewValue=e,this.$render(),this.$$runValidators(this.$modelValue,this.$viewValue,()=>{}))}$$format(){const e=this.$formatters;let t=e.length,n=this.$modelValue;for(;t--;)n=e[t](n);return n}$$setModelValue(e){this.$modelValue=this.$$rawModelValue=e,this.$$parserValid=void 0,this.$processModelValue()}$$removeAllEventListeners(){this.$$eventRemovers.forEach(e=>e()),this.$$eventRemovers.clear()}$$setUpdateOnEvents(){this.$$updateEvents&&this.$$updateEvents.split(" ").forEach(e=>{this.$$element.addEventListener(e,this.$$updateEventHandler),this.$$eventRemovers.add(()=>this.$$element.removeEventListener(e,this.$$updateEventHandler))}),this.$$updateEvents=this.$options.getOption("updateOn"),this.$$updateEvents&&this.$$updateEvents.split(" ").forEach(e=>{this.$$element.addEventListener(e,this.$$updateEventHandler),this.$$eventRemovers.add(()=>this.$$element.removeEventListener(e,this.$$updateEventHandler))})}$$updateEventHandler(e){this.$$debounceViewValueCommit(e&&e.type)}}function Cr(){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:Er,priority:1,compile:e=>(e.classList.add(r,i,t),{pre:(e,t,n,r)=>{const s=r[0],i=r[1]||s.$$parentForm,o=r[2];o&&(s.$options=o.$options),s.$$initGetterSetters(),i.$addControl(s),n.$observe("name",e=>{s.$name!==e&&s.$$parentForm.$$renameControl(s,e)});let a=e.$watch(n.ngModel,e=>{s.$$setModelValue(m(e)?e.$target:e)});e.$on("$destroy",()=>{s.$$parentForm.$removeControl(s),a()})},post:(e,t,n,r)=>{const s=r[0];s.$$setUpdateOnEvents(),t.addEventListener("blur",()=>{s.$touched||s.$setTouched()}),s.$viewChangeListeners.push(()=>e.$eval(t.dataset.change))}})}}const xr=/^\d{4,}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+(?:[+-][0-2]\d:[0-5]\d|Z)$/,Sr=/^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:/?#]+|\[[a-f\d:]+])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i,Or=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/,kr=/^\s*([-+])?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,Ar=/^(\d{4,})-(\d{2})-(\d{2})$/,Tr=/^(\d{4,})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,_r=/^(\d{4,})-W(\d\d)$/,jr=/^(\d{4,})-(\d\d)$/,Nr=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Rr="validity",Lr=new Map;"date,datetime-local,month,time,week".split(",").forEach(e=>{Lr.set(e,!0)});const Vr={text:function(e,t,n,r){Pr(e,t,n,r),Mr(r)},date:Ir("date",Ar,Dr(Ar,["yyyy","MM","dd"])),"datetime-local":Ir("datetimelocal",Tr,Dr(Tr,["yyyy","MM","dd","HH","mm","ss","sss"])),time:Ir("time",Nr,Dr(Nr,["HH","mm","ss","sss"])),week:Ir("week",_r,function(e,t){if(T(e))return e;if(S(e)){_r.lastIndex=0;const n=_r.exec(e);if(n){const e=+n[1],r=+n[2];let s=0,i=0,o=0,a=0;const c=function(e){const t=new Date(e,0,1).getDay();return new Date(e,0,(t<=4?5:12)-t)}(e),l=7*(r-1);return t&&(s=t.getHours(),i=t.getMinutes(),o=t.getSeconds(),a=t.getMilliseconds()),new Date(e,0,c.getDate()+l,s,i,o,a)}}return NaN}),month:Ir("month",jr,Dr(jr,["yyyy","MM"])),number:function(e,t,n,r,s,i){let o;if(Hr(e,t,n,r,"number"),qr(r),Pr(e,t,n,r),C(n.min)||n.ngMin){let t=n.min||i(n.ngMin)(e);o=Fr(t),r.$validators.min=function(e,t){return r.$isEmpty(t)||E(o)||t>=o},n.$observe("min",e=>{e!==t&&(o=Fr(e),t=e,r.$validate())})}if(C(n.max)||n.ngMax){let t=n.max||i(n.ngMax)(e),s=Fr(t);r.$validators.max=function(e,t){return r.$isEmpty(t)||E(s)||t<=s},n.$observe("max",e=>{e!==t&&(s=Fr(e),t=e,r.$validate())})}if(C(n.step)||n.ngStep){let t=n.step||i(n.ngStep)(e),s=Fr(t);r.$validators.step=function(e,t){return r.$isEmpty(t)||E(s)||Wr(t,o||0,s)},n.$observe("step",e=>{e!==t&&(s=Fr(e),t=e,r.$validate())})}},url:function(e,t,n,r){Pr(e,t,n,r),Mr(r),r.$validators.url=function(e,t){const n=e||t;return r.$isEmpty(n)||Sr.test(n)}},email:function(e,t,n,r){Pr(e,t,n,r),Mr(r),r.$validators.email=function(e,t){const n=e||t;return r.$isEmpty(n)||Or.test(n)}},radio:function(e,t,n,r){const s=!n.ngTrim||"false"!==P(n.ngTrim);E(n.name)&&t.setAttribute("name",y());t.addEventListener("change",function(e){let i;t.checked&&(i=n.value,s&&(i=P(i)),r.$setViewValue(i,e&&e.type))}),r.$render=function(){let{value:e}=n;s&&(e=P(e));const i=m(r.$viewValue)?r.$viewValue.$target:r.$viewValue;t.checked=(m(e)?e.$target:e)===(m(i)?i.$target:i)},n.$observe("value",r.$render)},range:function(e,t,n,r){Hr(e,t,n,r,"range"),qr(r),Pr(e,t,n,r);const s=r.$$hasNativeValidators&&"range"===t.type;let i=s?0:void 0,o=s?100:void 0,a=s?1:void 0;const{validity:c}=t,l=C(n.min),u=C(n.max),h=C(n.step),d=r.$render;r.$render=s&&C(c.rangeUnderflow)&&C(c.rangeOverflow)?function(){d(),r.$setViewValue(t.value)}:d,l&&(i=Fr(n.min),r.$validators.min=s?function(){return!0}:function(e,t){return r.$isEmpty(t)||E(i)||t>=i},p("min",function(e){if(i=Fr(e),I(r.$modelValue))return;if(s){let e=t.value;i>e&&(e=i,t.value=e),r.$setViewValue(e)}else r.$validate()}));u&&(o=Fr(n.max),r.$validators.max=s?function(){return!0}:function(e,t){return r.$isEmpty(t)||E(o)||t<=o},p("max",function(e){if(o=Fr(e),I(r.$modelValue))return;if(s){let e=t.value;o<e&&(t.value=o,e=o<i?i:o),r.$setViewValue(e)}else r.$validate()}));h&&(a=Fr(n.step),r.$validators.step=s?function(){return!c.stepMismatch}:function(e,t){return r.$isEmpty(t)||E(a)||Wr(t,i||0,a)},p("step",function(e){if(a=Fr(e),I(r.$modelValue))return;s?r.$viewValue!==t.value&&r.$setViewValue(t.value):r.$validate()}));function p(e,r){t.setAttribute(e,n[e]);let s=n[e];n.$observe(e,e=>{e!==s&&(s=e,r(e))})}},checkbox:function(e,t,n,r,s,i){const o=Kr(i,e,"ngTrueValue",n.ngTrueValue,!0),a=Kr(i,e,"ngFalseValue",n.ngFalseValue,!1);t.addEventListener("change",function(e){r.$setViewValue(t.checked,e&&e.type)}),r.$render=function(){t.checked=r.$viewValue},r.$isEmpty=function(e){return!1===e},r.$formatters.push(e=>K(e,o)),r.$parsers.push(e=>e?o:a)},hidden:()=>{},button:()=>{},submit:()=>{},reset:()=>{},file:()=>{}};function Mr(e){e.$formatters.push(t=>e.$isEmpty(t)?t:t.toString())}function Pr(e,t,n,r){const s=t.type.toLowerCase();let i,o=!1;t.addEventListener("compositionstart",()=>{o=!0}),t.addEventListener("compositionend",()=>{o=!1,a()});let a=function(e){if(i&&(clearTimeout(i),i=null),o)return;let a=t.value;const c=e&&e.type;"password"===s||n.ngTrim&&"false"===n.ngTrim||(a=P(a)),(r.$viewValue!==a||""===a&&r.$$hasNativeValidators)&&r.$target.$setViewValue(a,c)};["input","change","paste","drop","cut"].forEach(e=>{t.addEventListener(e,a)}),Lr[s]&&r.$$hasNativeValidators&&s===n.type&&t.addEventListener("keydown wheel mousedown",function(e){if(!i){const t=this[Rr],n=t.badInput,r=t.typeMismatch;i=setTimeout(()=>{i=null,t.badInput===n&&t.typeMismatch===r||a(e)})}}),r.$render=function(){const e=r.$isEmpty(r.$viewValue)?"":r.$viewValue;t.value!==e&&(t.value=e)}}function Dr(e,t){return function(n,r){let s,i;if(T(n))return n;if(S(n)){if('"'===n.charAt(0)&&'"'===n.charAt(n.length-1)&&(n=n.substring(1,n.length-1)),xr.test(n))return new Date(n);if(e.lastIndex=0,s=e.exec(n),s){s.shift(),i=r?{yyyy:r.getFullYear(),MM:r.getMonth()+1,dd:r.getDate(),HH:r.getHours(),mm:r.getMinutes(),ss:r.getSeconds(),sss:r.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},Object.entries(s).forEach(([e,n])=>{e<t.length&&(i[t[e]]=+n)});const e=new Date(i.yyyy,i.MM-1,i.dd,i.HH,i.mm,i.ss||0,1e3*i.sss||0);return i.yyyy<100&&e.setFullYear(i.yyyy),e}}return NaN}}const Ur=/\b\d{4}-(0[1-9]|1[0-2])\b/;function Ir(e,t,n){return function(r,s,i,o,a,c){if(Hr(r,s,i,o,e),Pr(0,s,i,o),o.$parsers.push(n=>o.$isEmpty(n)?null:t.test(n)?["month","week","datetimelocal","time","date"].includes(e)?n:h(n,undefined):void(o.$$parserName=e)),o.$formatters.push(function(t){if(t&&!S(t))throw wr("datefmt","Expected `{0}` to be a String",t);if("month"===e){if(null==t)return"";if(!Ur.test(t))throw wr("datefmt","Expected month `{0}` to be a 'YYYY-DD'",t)}if("week"===e){if(null==t)return"";if(!_r.test(t))throw wr("datefmt","Expected week `{0}` to be a 'yyyy-Www'",t)}if("datetimelocal"===e){if(null==t)return"";if(!Tr.test(t))throw wr("datefmt","Expected week `{0}` to be a in date time format. See: https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats#local_date_and_time_strings",t)}return t}),C(i.min)||i.ngMin){let t=i.min||c(i.ngMin)(r),s=u(m(t)?t.$target:t);o.$validators.min=function(t){return"month"===e?E(s)||n(t)>=n(s):!l(t)||E(s)||n(t)>=s},i.$observe("min",e=>{e!==t&&(s=u(e),t=e,o.$validate())})}if(C(i.max)||i.ngMax){let t=i.max||c(i.ngMax)(r),s=u(m(t)?t.$target:t);o.$validators.max=function(t){return"month"===e?E(s)||n(t)<=n(s):!l(t)||E(s)||n(t)<=s},i.$observe("max",e=>{e!==t&&(s=u(e),t=e,o.$validate())})}function l(e){return e&&!(e.getTime&&e.getTime()!=e.getTime())}function u(e){return C(e)&&!T(e)?h(e)||void 0:e}function h(e,t){const r=o.$options.getOption("timezone");let s=n(e,t);return!Number.isNaN(s)&&r&&(s=te(s,r)),s}}}function Hr(e,t,n,r,s){(r.$$hasNativeValidators=x(t.validity))&&r.$parsers.push(e=>{const n=t[Rr]||{};if(!n.badInput&&!n.typeMismatch)return e;r.$$parserName=s})}function qr(e){e.$parsers.push(t=>e.$isEmpty(t)?null:kr.test(t)?parseFloat(t):void(e.$$parserName="number")),e.$formatters.push(t=>{if(!e.$isEmpty(t)){if(!A(t))throw wr("numfmt","Expected `{0}` to be a number",t);t=t.toString()}return t})}function Fr(e){return C(e)&&!A(e)&&(e=parseFloat(e)),I(e)?void 0:e}function Br(e){return(0|e)===e}function zr(e){const t=e.toString(),n=t.indexOf(".");if(-1===n){if(e>-1&&e<1){const e=/e-(\d+)$/.exec(t);if(e)return Number(e[1])}return 0}return t.length-n-1}function Wr(e,t,n){let r=Number(e);const s=!Br(r),i=!Br(t),o=!Br(n);if(s||i||o){const e=s?zr(r):0,a=i?zr(t):0,c=o?zr(n):0,l=10**Math.max(e,a,c);r*=l,t*=l,n*=l,s&&(r=Math.round(r)),i&&(t=Math.round(t)),o&&(n=Math.round(n))}return(r-t)%n===0}function Kr(e,t,n,r,s){let i;if(C(r)){if(i=e(r),!i.constant)throw wr("constexpr","Expected constant expression for `{0}`, but saw `{1}`.",n,r);return i(t)}return s}function Qr(e,t){return{restrict:"E",require:["?ngModel"],link:{pre(n,r,s,i){i[0]&&(Vr[s.type?.toLowerCase()]||Vr.text)(n,r,s,i[0],e,t)}}}}function Gr(){const e={configurable:!0,enumerable:!1,get(){return this.getAttribute("value")||""},set(e){this.setAttribute("value",e)}};return{restrict:"E",priority:200,compile(t,n){if("hidden"===n.type?.toLowerCase())return{pre(t,n){const r=n;r.parentNode&&r.parentNode.insertBefore(r,r.nextSibling),Object.defineProperty&&Object.defineProperty(r,"value",e)}}}}}Qr.$inject=["$filter","$parse"];const Jr=/^(true|false|\d+)$/;function Zr(){function e(e,t,n){e.value=C(n)?m(n)?n.$target:n:null,t.$set("value",n)}return{restrict:"A",priority:100,compile:(t,n)=>Jr.test(n.ngValue)?function(t,n,r){e(n,r,t.$eval(r.ngValue))}:function(t,n,r){t.$watch(r.ngValue,t=>{e(n,r,t)})}}}function Yr(e){return{restrict:"E",terminal:!0,compile(t,n){"text/ng-template"===n.type&&e.set(n.id,t.innerText)}}}Yr.$inject=["$templateCache"];class Xr{static $nonscope=["ngModelCtrl","selectValueMap","emptyOption","optionsMap","$scope","$element"];static $inject=["$element","$scope"];constructor(e,t){this.$element=e,this.$scope=t,this.selectValueMap={},this.ngModelCtrl={},this.multiple=!1,this.unknownOption=document.createElement("option"),this.hasEmptyOption=!1,this.emptyOption=void 0,this.optionsMap=new Map,this.renderScheduled=!1,this.updateScheduled=!1,t.$on("$destroy",()=>{this.renderUnknownOption=()=>{}})}renderUnknownOption(e){const t=this.generateUnknownOptionValue(e);this.unknownOption.value=t,this.$element.prepend(this.unknownOption),this.unknownOption.selected=!0,this.unknownOption.setAttribute("selected","selected"),this.$element.value=t}updateUnknownOption(e){const t=this.generateUnknownOptionValue(e);this.unknownOption.value=t,this.unknownOption.selected=!0,this.unknownOption.setAttribute("selected","selected"),this.$element.value=t}generateUnknownOptionValue(e){return E(e)?"? undefined:undefined ?":`? ${$e(e)} ?`}removeUnknownOption(){this.unknownOption.parentElement&&this.unknownOption.remove()}selectEmptyOption(){this.emptyOption&&(this.$element.value="",this.emptyOption.selected=!0,this.emptyOption.setAttribute("selected","selected"))}unselectEmptyOption(){this.hasEmptyOption&&(this.emptyOption.selected=!1)}readValue(){const e=this.$element.value,t=e in this.selectValueMap?this.selectValueMap[e]:e;return this.hasOption(t)?t:null}writeValue(e){const t=this.$element.options[this.$element.selectedIndex];if(t&&(t.selected=!1),this.hasOption(e)){this.removeUnknownOption();const t=$e(e);this.$element.value=t in this.selectValueMap?t:e;const n=this.$element.options[this.$element.selectedIndex];n?n.selected=!0:this.selectUnknownOrEmptyOption(e)}else this.selectUnknownOrEmptyOption(e)}addOption(e,t){if(t.nodeType===Node.COMMENT_NODE)return;Q(e,'"option value"'),""===e&&(this.hasEmptyOption=!0,this.emptyOption=t);const n=this.optionsMap.get(e)||0;this.optionsMap.set(e,n+1),this.scheduleRender()}removeOption(e){const t=this.optionsMap.get(e);t&&(1===t?(this.optionsMap.delete(e),""===e&&(this.hasEmptyOption=!1,this.emptyOption=void 0)):this.optionsMap.set(e,t-1))}hasOption(e){return!!this.optionsMap.get(e)}$hasEmptyOption(){return this.hasEmptyOption}$isUnknownOptionSelected(){return this.$element.options[0]===this.unknownOption}$isEmptyOptionSelected(){return this.hasEmptyOption&&this.$element.options[this.$element.selectedIndex]===this.emptyOption}selectUnknownOrEmptyOption(e){null==e&&this.emptyOption?(this.removeUnknownOption(),this.selectEmptyOption()):this.unknownOption.parentElement?this.updateUnknownOption(e):this.renderUnknownOption(e)}scheduleRender(){this.renderScheduled||(this.renderScheduled=!0,this.$scope.$postUpdate(()=>{this.renderScheduled=!1,this.ngModelCtrl.$render()}))}scheduleViewValueUpdate(e=!1){this.updateScheduled||(this.updateScheduled=!0,this.$scope.$postUpdate(()=>{this.$scope.$$destroyed||(this.updateScheduled=!1,this.ngModelCtrl.$setViewValue(this.readValue()),e&&this.ngModelCtrl.$render())}))}registerOption(e,t,n,r,s){let i,o;if(n.$attr.ngValue)n.$observe("value",e=>{let n;const r=t.selected;C(o)&&(this.removeOption(i),delete this.selectValueMap[o],n=!0),o=$e(e),i=e,this.selectValueMap[o]=e,this.addOption(e,t),t.setAttribute("value",o),n&&r&&this.scheduleViewValueUpdate()});else if(r)n.$observe("value",e=>{let n;this.readValue();const r=t.selected;C(i)&&(this.removeOption(i),n=!0),i=e,this.addOption(e,t),n&&r&&this.scheduleViewValueUpdate()});else if(s){let r;e.value=s(e),n.value||(n.$set("value",e.value),this.addOption(e.value,t)),e.$watch("value",()=>{let i=s(e);n.value||n.$set("value",i);const o=t.selected;r!==i&&(this.removeOption(r),r=i),this.addOption(i,t),r&&o&&this.scheduleViewValueUpdate()})}else this.addOption(n.value,t);n.$observe("disabled",e=>{("true"===e||e&&t.selected)&&(this.multiple?this.scheduleViewValueUpdate(!0):(this.ngModelCtrl.$setViewValue(null),this.ngModelCtrl.$render()))}),t.addEventListener("$destroy",()=>{const e=this.readValue(),t=n.value;this.removeOption(t),this.scheduleRender(),(this.multiple&&e&&-1!==e.indexOf(t)||e===t)&&this.scheduleViewValueUpdate(!0)})}}function es(){return{restrict:"E",require:["select","?ngModel"],controller:Xr,priority:1,link:{pre:function(e,t,n,r){const s=r[0],i=r[1];if(!i)return void(s.registerOption=()=>{});if(s.ngModelCtrl=i,t.addEventListener("change",()=>{s.removeUnknownOption();const e=s.readValue();i.$setViewValue(e)}),n.multiple){let e;s.multiple=!0,s.readValue=function(){const e=[],n=t.getElementsByTagName("option");return Array.from(n).forEach(t=>{if(t.selected&&!t.disabled){const n=t.value;e.push(n in s.selectValueMap?s.selectValueMap[n]:n)}}),e},s.writeValue=function(e){const n=t.getElementsByTagName("option");Array.from(n).forEach(t=>{const n=!!e&&(B(e,t.value)||B(e,s.selectValueMap[t.value]));n!==t.selected&&(t.selected=n)})};let n=NaN;n!==i.$viewValue||K(e,i.$viewValue)||(e=ce(i.$viewValue),i.$render()),n=i.$viewValue,i.$isEmpty=function(e){return!e||0===e.length}}},post:function(e,t,n,r){const s=r[1];if(!s)return;const i=r[0];s.$render=function(){i.writeValue(s.$viewValue)}}}}}function ts(e){return{restrict:"E",priority:100,compile(t,n){let r,s;return C(n.ngValue)||(C(n.value)?r=e(n.value,!0):(s=e(t.textContent,!0),s||n.$set("value",t.textContent))),function(e,t,n){const i="$selectController",o=t.parentElement,a=Lt(o,i)||Lt(o.parentElement,i);a&&a.registerOption(e,t,n,r,s)}}}}function ns(){return{link(e,t,n){e.$watch(n.ngBind,e=>{t.textContent=G(m(e)?e.$target:e)},C(n.lazy))}}}function rs(){return{link(e,t,n){n.$observe("ngBindTemplate",e=>{t.textContent=E(e)?"":e})}}}function ss(e){return{restrict:"A",compile:(t,n)=>(e(n.ngBindHtml),(e,t)=>{e.$watch(n.ngBindHtml,e=>{(E(e)||O(e))&&(e=""),t.innerHTML=e})})}}function is(e,t){return e=`ngClass${e}`,function(){return{link(n,r,s){let i,o=Lt(r,"$classCounts"),a=!0;function c(e,t){const n=[];return e&&e.forEach(e=>{(t>0||o[e])&&(o[e]=(o[e]||0)+t,o[e]===+(t>0)&&n.push(e))}),n.join(" ")}o||(o=Object.create(null),Rt(r,"$classCounts",o)),"ngClass"!==e&&n.$watch("$index",()=>{!function(e){e===t?(o=c(as(o=i),1),ye(r)?s.$addClass(o):n.$postUpdate(()=>{""!==o&&r.classList.add(...o.trim().split(" "))})):function(e){e=c(as(e),-1),ye(r)?s.$removeClass(e):n.$postUpdate(()=>{""!==e&&r.classList.remove(...e.trim().split(" "))})}(i);var o;a=e}(1&n.$index)}),n.$watch(s[e],e=>{!function(e){a===t&&function(e,t){const n=as(e),i=as(t),o=os(n,i),a=os(i,n),l=c(o,-1),u=c(a,1);ye(r)?(s.$addClass(u),s.$removeClass(l)):(""!==u&&r.classList.add(...u.trim().split(" ")),""!==l&&r.classList.remove(...l.trim().split(" ")))}(i,e);i=e}(cs(e))})}}}}function os(e,t){if(!e||!e.length)return[];if(!t||!t.length)return e;const n=[];e:for(let r=0;r<e.length;r++){const s=e[r];for(let e=0;e<t.length;e++)if(s===t[e])continue e;n.push(s)}return n}function as(e){return e&&e.split(" ")}function cs(e){if(!e)return e;let t=e;return Array.isArray(e)?t=e.map(cs).join(" "):x(e)?t=Object.keys(e).filter(t=>e[t]).join(" "):S(e)||(t=`${e}`),t}ts.$inject=["$interpolate"],ss.$inject=[Yt.$parse];const ls=is("",!0),us=is("Odd",0),hs=is("Even",1);function ds(){return{compile(e,t){t.$set("ngCloak",void 0)}}}function ps(){return{restrict:"A",scope:!0,controller:"@",priority:500}}const fs="ng-hide",$s="ng-hide-animate";function ms(e){return{restrict:"A",link(t,n,r){t.$watch(r.ngShow,t=>{ye(n)?e[t?"removeClass":"addClass"](n,fs,{tempClasses:$s}):t?n.classList.remove(fs):n.classList.add(fs)})}}}function gs(e){return{restrict:"A",link(t,n,r){t.$watch(r.ngHide,t=>{ye(n)?e[t?"addClass":"removeClass"](n,fs,{tempClasses:$s}):t?n.classList.add(fs):n.classList.remove(fs)})}}}function vs(e){return{transclude:"element",priority:600,terminal:!0,restrict:"A",link(t,n,r,s,i){let o,a,c;t.$watch(r.ngIf,t=>{t?a||i((t,r)=>{a=r,o=t,ye(t)?e.enter(t,n.parentElement,n):n.after(t)}):(c&&(It(c),c=null),a&&(a.$destroy(),a=null),o&&(c=o,ye(c)?e.leave(c).done(e=>{!1!==e&&(c=null)}):n.nextElementSibling.remove(),o=null))})}}}function ys(e,t,n,r){return{priority:400,terminal:!0,transclude:"element",controller:()=>{},compile(s,i){const o=i.ngInclude||i.src,a=i.onload||"",c=i.autoscroll;return(s,i,l,u,h)=>{function d(){!C(c)||c&&!s.$eval(c)||t()}let p,f,$,m=0;const g=()=>{f&&(f.remove(),f=null),p&&(p.$destroy(),p=null),$&&(ye($)?n.leave($).done(e=>{!1!==e&&(f=null)}):$.remove(),f=$,$=null)};s.$watch(o,async t=>{const o=function(e){!1!==e&&d()},c=++m;t?(await e(t,!0).then(e=>{if(s.$$destroyed)return;if(c!==m)return;const r=s.$new();u.template=e;const l=h(r,e=>{g(),ye(e)?n.enter(e,null,i).done(o):(i.after(e),d())});p=r,$=l,p.$emit("$includeContentLoaded",t),s.$eval(a)},e=>{s.$$destroyed||(c===m&&(g(),s.$emit("$includeContentError",t)),r(new Error(e)))}),s.$emit("$includeContentRequested",t)):(g(),u.template=null)})}}}}function bs(e){return{priority:-400,require:"ngInclude",link(t,n,r,s){n.innerHTML=s.template,e(n.childNodes)(t)}}}function ws(){return{priority:450,compile:()=>({pre(e,t,n){const r=Dt(t);r?r.$eval(n.ngInit):e.$eval(n.ngInit)}})}}function Es(){return{terminal:!0,priority:1e3}}ms.$inject=["$animate"],gs.$inject=["$animate"],vs.$inject=["$animate"],ys.$inject=[Yt.$templateRequest,Yt.$anchorScroll,Yt.$animate,Yt.$exceptionHandler],bs.$inject=[Yt.$compile];const Cs=fe("ngRef");function xs(e){return{priority:-1,restrict:"A",compile(t,n){const r=ve(F(t)),s=e(n.ngRef),i=s.assign||function(){throw Cs("nonassign",'Expression in ngRef="{0}" is non-assignable!',n.ngRef)};return(e,t,o)=>{let a;if(we(o,"ngRefRead")){if("$element"===o.ngRefRead)a=t;else if(a=Lt(t,`$${o.ngRefRead}Controller`),!a)throw Cs("noctrl",'The controller for ngRefRead="{0}" could not be found on ngRef="{1}"',o.ngRefRead,n.ngRef)}else a=Lt(t,`$${r}Controller`);a=a||t,i(e,a),t.addEventListener("$destroy",()=>{s(e)===a&&i(e,null)})}}}}xs.$inject=["$parse"];const Ss="$$NG_REMOVED",Os=fe("ngRepeat"),ks=/^(?:(\s*[$\w]+)|\(\s*([$\w]+)\s*,\s*([$\w]+)\s*\))$/;function As(e){function t(e,t,n,r,s,i,o){e[n]!==r&&(e[n]=r),s&&(e[s]=i),r&&(e.$target.$$hashKey=r.$$hashKey),e.$index=t,e.$first=0===t,e.$last=t===o-1,e.$middle=!(e.$first||e.$last),e.$odd=!(e.$even=!(1&t))}function n(e){return e.clone}function r(e){return e.clone}function s(e,t,n){return $e(n)}function i(e,t){return t}return{restrict:"A",transclude:"element",priority:1e3,terminal:!0,compile:(o,a)=>{const c=a.ngRepeat,l=!!a.animate;let u=c.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!u)throw Os("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",c);const h=u[1],d=u[2],p=u[3];if(u=h.match(ks),!u)throw Os("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",h);const f=u[3]||u[1],$=u[2];if(p&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(p)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(p)))throw Os("badident","alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.",p);const m=function(e){let t=!1;return function(...n){if(!t)return t=!0,e.apply(this,n)}}(()=>{C(a.lazy)&&C(a.swap)&&document.querySelectorAll(a.swap).forEach(e=>It(e))});return function(o,a,u,h,g){let v=Object.create(null);o.$watch(d,u=>{m();let h,d,y,b=a;const E=Object.create(null);let C,x,S,O,k,A,T,_,j;if(p&&(o[p]=u),w(u))A=u,k=s;else{k=i,A=[];for(const e in u)we(u,e)&&"$"!==e.charAt(0)&&A.push(e)}for(C=A.length,_=new Array(C),h=0;h<C;h++)if(x=u===A?h:A[h],S=u[x],O=k(o,x,S),v[O])T=v[O],delete v[O],E[O]=T,_[h]=T;else{if(E[O])throw Object.values(_).forEach(e=>{e&&e.scope&&(v[e.id]=e)}),Os("dupes","Duplicates keys in a repeater are not allowed. Repeater: {0}, Duplicate key: {1} for value: {2}",c,O,S);_[h]={id:O,scope:void 0,clone:void 0},E[O]=!0}for(let t in v){if(T=v[t],j=T.clone,l?e.leave(j):j.remove(),j.parentNode)for(h=0,d=j.length;h<d;h++)j[h][Ss]=!0;T.scope.$destroy()}for(h=0;h<C;h++)if(x=u===A?h:A[h],S=u[x],T=_[h],T.scope){y=b;do{y=y.nextSibling}while(y&&y[Ss]);n(T)!==y&&e.move(qt(T.clone),null,b),b=r(T),t(T.scope,h,f,S,$,x,C)}else g((n,r)=>{T.scope=r;const s=n;l?e.enter(n,null,b):b.after(n),b=s,T.clone=n,E[T.id]=T,t(T.scope,h,f,S,$,x,C)});v=E},C(u.lazy))}}}}function Ts(){return{restrict:"A",link(e,t,n){let r;e.$watch(n.ngStyle,e=>{if(r){const e=Object.keys(r);for(let n=0,r=e.length;n<r;n++)t.style.removeProperty(e[n])}if(e){r={...e.$target};const n=Object.entries(e);for(let e=0,r=n.length;e<r;e++){const[r,s]=n[e];t.style.setProperty(r,s)}}})}}}function _s(e){return{require:"ngSwitch",controller:["$scope",class{constructor(){this.cases={}}}],link(t,n,r,s){const i=r.ngSwitch||r.on;let o=[];const a=[],c=[],l=[],u=function(e,t){return function(n){!1!==n&&e.splice(t,1)}};t.$watch(i,t=>{let n,r;for(;c.length;)e.cancel(c.pop());for(n=0,r=l.length;n<r;++n){const t=qt(a[n].clone);if(l[n].$destroy(),ye(t)){(c[n]=e.leave(t)).done(u(c,n))}else t.remove()}a.length=0,l.length=0,(o=s.cases[`!${t}`]||s.cases["?"])&&Object.values(o).forEach(t=>{t.transclude((n,r)=>{l.push(r);const s=t.element,i={clone:n,comment:document.createComment("")};a.push(i),ye(n)?e.enter(n,s.parentElement,s):Gt(n,s.parentElement,s)})})})}}}function js(){return{transclude:"element",terminal:!0,priority:1200,require:"^ngSwitch",link(e,t,n,r,s){const i=n.ngSwitchWhen.split(n.ngSwitchWhenSeparator).sort().filter((e,t,n)=>n[t-1]!==e);i.forEach(e=>{r.cases[`!${e}`]=r.cases[`!${e}`]||[],r.cases[`!${e}`].push({transclude:s,element:t})})}}}function Ns(){return{transclude:"element",terminal:!0,priority:1200,require:"^ngSwitch",link(e,t,n,r,s){r.cases["?"]=r.cases["?"]||[],r.cases["?"].push({transclude:s,element:t})}}}As.$inject=[Yt.$animate],_s.$inject=["$animate"];const Rs=fe("ngOptions"),Ls=document.createElement("option"),Vs=document.createElement("optgroup"),Ms=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([$\w][$\w]*)|(?:\(\s*([$\w][$\w]*)\s*,\s*([$\w][$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/;function Ps(e,t){return{restrict:"A",terminal:!0,require:["select","ngModel"],link:{pre:function(e,t,n,r){r[0].registerOption=()=>{}},post:function(n,r,s,i){const o=i[0],a=i[1],c=s.multiple;for(let e=0,t=r.childNodes,n=t.length;e<n;e++)if(""===t[e].value){o.hasEmptyOption=!0,o.emptyOption=t[e];break}Qt(r);const l=!!o.emptyOption;let u;Ls.cloneNode(!1).nodeValue="?";const h=function(e,n,r){const s=e.match(Ms);if(!s)throw Rs("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",e,Ht(n));const i=s[5]||s[7],o=s[6],a=/ as /.test(s[0])&&s[1],c=s[9],l=t(s[2]?s[1]:i),u=a&&t(a)||l,h=c&&t(c),d=c?function(e,t){return h(r,t)}:function(e){return $e(e)},p=function(e,t){return d(e,y(e,t))},f=t(s[2]||s[1]),$=t(s[3]||""),m=t(s[4]||""),g=t(s[8]),v={};let y=o?function(e,t){return v[o]=t,v[i]=e,v}:function(e){return v[i]=e,v};class b{constructor(e,t,n,r,s){this.selectValue=e,this.viewValue=t,this.label=n,this.group=r,this.disabled=s}}function E(e){let t;if(!o&&w(e))t=e;else{t=[];for(const n in e)we(e,n)&&"$"!==n.charAt(0)&&t.push(n)}return t}return{trackBy:c,getTrackByValue:p,getWatchables:t(g,e=>{const t=[],n=E(e=e||[]),i=n.length;for(let o=0;o<i;o++){const i=e===n?o:n[o],a=e[i],c=y(a,i),l=d(a,c);if(t.push(l),s[2]||s[1]){const e=f(r,c);t.push(e)}if(s[4]){const e=m(r,c);t.push(e)}}return t}),getOptions(){const e=[],t={},n=g(r)||[],s=E(n),i=s.length;for(let o=0;o<i;o++){const i=n===s?o:s[o],a=n[i],c=y(a,i),l=u(r,c),h=d(l,c),p=f(r,c),g=$(r,c),v=m(r,c),w=new b(h,l,p,g,v);e.push(w),t[h]=w}return{items:e,selectValueMap:t,getOptionFromViewValue:e=>t[p(e)],getViewValueFromOption:e=>c?structuredClone(e.viewValue):e.viewValue}}}}(s.ngOptions,r,n),d=document.createDocumentFragment();if(o.generateUnknownOptionValue=()=>"?",c?(o.writeValue=function(e){if(!u)return;const t=e&&e.map(f)||[];u.items.forEach(e=>{e.element.selected&&!B(t,e)&&(e.element.selected=!1)})},o.readValue=function(){const e=r.value||[],t=[];return e.forEach(e=>{const n=u.selectValueMap[e];n&&!n.disabled&&t.push(u.getViewValueFromOption(n))}),t}):(o.writeValue=function(e){if(!u)return;const t=r.options[r.selectedIndex],n=u.getOptionFromViewValue(e);t&&t.removeAttribute("selected"),n?(r.value!==n.selectValue&&(o.removeUnknownOption(),r.value=n.selectValue,n.element.selected=!0),n.element.setAttribute("selected","selected")):o.selectUnknownOrEmptyOption(e)},o.readValue=function(){const e=u.selectValueMap[r.value];return e&&!e.disabled?(o.unselectEmptyOption(),o.removeUnknownOption(),u.getViewValueFromOption(e)):null},h.trackBy&&n.$watch(h.getTrackByValue(a.$viewValue),()=>{a.$render()})),l){const t=e(o.emptyOption);ue(t,"LinkFn required"),r.prepend(o.emptyOption),t(n),o.emptyOption.nodeType===Node.COMMENT_NODE&&(o.hasEmptyOption=!1,o.registerOption=function(e,t){""===t.value&&(o.hasEmptyOption=!0,o.emptyOption=t,a.$render(),t.addEventListener("$destroy",()=>{const e=o.$isEmptyOptionSelected();o.hasEmptyOption=!1,o.emptyOption=void 0,e&&a.$render()}))})}function p(e,t){const n=Ls.cloneNode(!1);t.appendChild(n),function(e,t){e.element=t,t.disabled=e.disabled,e.label!==t.label&&(t.label=e.label,t.textContent=e.label);t.value=e.selectValue}(e,n)}function f(e){const t=u.getOptionFromViewValue(e),n=t&&t.element;return n&&!n.selected&&(n.selected=!0),t}n.$watch(h.getWatchables.decoratedNode.body[0].expression.name,function(){const e=u&&o.readValue();if(u)for(let e=u.items.length-1;e>=0;e--){const t=u.items[e];C(t.group)?It(t.element.parentNode):It(t.element)}u=h.getOptions();const t={};if(u.items.forEach(e=>{let n;C(e.group)?(n=t[e.group],n||(n=Vs.cloneNode(!1),d.appendChild(n),n.label=null===e.group?"null":e.group,t[e.group]=n),p(e,n)):p(e,d)}),r.appendChild(d),a.$render(),!a.$isEmpty(e)){const t=o.readValue();(h.trackBy||c?K(e,t):e===t)||(a.$setViewValue(t),a.$render())}})}}}}Ps.$inject=["$compile","$parse"];const Ds=fe("ngTransclude");function Us(e){return{compile:function(t){const n=e(t.childNodes);return Qt(t),function(e,t,r,s,i){if(!i)throw Ds("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",Ht(t));r.ngTransclude===r.$attr.ngTransclude&&(r.ngTransclude="");const o=r.ngTransclude||r.ngTranscludeSlot;function a(){n(e,e=>{t.append(e)})}i(function(e,n){!function(e){if(e instanceof Array)return!1;if(e.nodeType!==Node.TEXT_NODE||e.nodeValue.trim())return!0}(e)?(a(),n.$destroy()):e instanceof NodeList?Array.from(e).forEach(e=>{t.append(e)}):t.append(e)},null,o),o&&!i.isSlotFilled(o)&&a()}}}}Us.$inject=["$compile"];const Is=/^\/(.+)\/([a-z]*)$/,Hs={};Et.forEach(e=>{if("multiple"===e)return;function t(t,r,s){t.$watch(s[n],t=>{s.$set(e,!!t)})}let n=ve(`ng-${e}`),r=t;"checked"===e&&(r=function(e,r,s){s.ngModel!==s[n]&&t(e,0,s)}),Hs[n]=function(){return{restrict:"A",priority:100,link:r}}}),Object.entries(h).forEach(([e])=>{Hs[e]=function(){return{priority:100,link(t,n,r){if("ngPattern"===e&&"/"===r.ngPattern.charAt(0)){const e=r.ngPattern.match(Is);if(e)return void r.$set("ngPattern",new RegExp(e[1],e[2]).toString())}t.$watch(r[e],t=>{r.$set(e,t)})}}}}),["src","srcset","href"].forEach(e=>{const t=ve(`ng-${e}`);Hs[t]=[Yt.$sce,function(n){return{priority:99,link(r,s,i){let o=e;"href"===e&&"[object SVGAnimatedString]"===toString.call(s.href)&&(o="xlinkHref",i.$attr[o]="href"),i.$set(t,n.getTrustedMediaUrl(i[t])),i.$observe(t,t=>{t?i.$set(o,t):"href"===e&&i.$set(o,null)})}}}]});const qs=[Yt.$parse,e=>({restrict:"A",require:"?ngModel",link:(t,n,r,s)=>{if(!s)return;let i=we(r,"required")||e(r.ngRequired)(t);r.ngRequired||(r.required=!0),s.$validators.required=(e,t)=>!i||!s.$isEmpty(t),r.$observe("required",e=>{i!==e&&(i=e,s.$validate())})}})],Fs=[Yt.$parse,e=>({restrict:"A",require:"?ngModel",compile:(t,n)=>{let r,s;return n.ngPattern&&(r=n.ngPattern,s="/"===n.ngPattern.charAt(0)&&Is.test(n.ngPattern)?function(){return n.ngPattern}:e(n.ngPattern)),function(e,t,n,i){if(!i)return;let o=n.pattern;n.ngPattern?o=s(e):r=n.pattern;let a=Ws(o,r,t);n.$observe("pattern",e=>{const n=a;a=Ws(e,r,t),(n&&n.toString())!==(a&&a.toString())&&i.$validate()}),i.$validators.pattern=(e,t)=>i.$isEmpty(t)||E(a)||a.test(t)}}})],Bs=[Yt.$parse,e=>({restrict:"A",require:"?ngModel",link:(t,n,r,s)=>{if(!s)return;let i=r.maxlength||e(r.ngMaxlength)(t),o=Ks(i);r.$observe("maxlength",e=>{i!==e&&(o=Ks(e),i=e,s.$validate())}),s.$validators.maxlength=function(e,t){return o<0||s.$isEmpty(t)||t.length<=o}}})],zs=[Yt.$parse,e=>({restrict:"A",require:"?ngModel",link(t,n,r,s){if(!s)return;let i=r.minlength||e(r.ngMinlength)(t),o=Ks(i)||-1;r.$observe("minlength",e=>{i!==e&&(o=Ks(e)||-1,i=e,s.$validate())}),s.$validators.minlength=function(e,t){return s.$isEmpty(t)||t.length>=o}}})];function Ws(e,t,n){if(e){if(m(e)&&(e=e.$target),S(e)){const t=e.match(/^\/(.*)\/([gimsuy]*)$/);e=t?new RegExp(t[1],t[2]):new RegExp(`^${e}$`)}if(!e.test)throw fe("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",t,e,Ht(n));return e}}function Ks(e){const t=parseInt(e,10);return I(t)?-1:t}class Qs{constructor(){this.autoScrollingEnabled=!0}$get=[Yt.$location,Yt.$rootScope,function(e,t){function n(e){if(e){e.scrollIntoView();const t=function(){let e=r.yOffset;if(j(e))e=e();else if(e instanceof Element){const t=e[0];e="fixed"!==window.getComputedStyle(t).position?0:t.getBoundingClientRect().bottom}else A(e)||(e=0);return e}();if(t){const n=e.getBoundingClientRect().top;window.scrollBy(0,n-t)}}else window.scrollTo(0,0)}const r=function(t){let r;(t=S(t)?t:A(t)?t.toString():e.getHash())?(r=document.getElementById(t))||(r=function(e){let t=null;return Array.prototype.some.call(e,e=>{if("a"===F(e))return t=e,!0}),t}(document.getElementsByName(t)))?n(r):"top"===t&&n(null):n(null)};return this.autoScrollingEnabled&&(t.$location=e,t.$watch("$location.$$hash",(e,t)=>{if(e===t&&""===e)return;const n=()=>Promise.resolve().then(r);"complete"===document.readyState?window.setTimeout(()=>n()):window.addEventListener("load",()=>n())})),r}]}const Gs=fe("$animate");function Js(e){return x(e)?e:{}}function Zs(e){const t=this;let n=null,r=null;this.$$registeredAnimations=Object.create(null),this.register=function(n,r){if(n&&"."!==n.charAt(0))throw Gs("notcsel","Expecting class selector starting with '.' got '{0}'.",n);const s=`${n}-animation`;t.$$registeredAnimations[n.substring(1)]=s,e.factory(s,r)},this.customFilter=function(e){return 1===arguments.length&&(r=j(e)?e:null),r},this.classNameFilter=function(e){if(1===arguments.length&&(n=e instanceof RegExp?e:null,n)){if(new RegExp(`[(\\s|\\/)]${Ke}[(\\s|\\/)]`).test(n.toString()))throw n=null,Gs("nongcls",'$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the "{0}" CSS class.',Ke)}return n},this.$get=[Yt.$$animateQueue,function(e){return{on:e.on,off:e.off,pin:e.pin,enabled:(e,t)=>{if(void 0!==t)return ye(e);e.setAttribute("animate",`${t}`)},cancel(e){e.cancel&&e.cancel()},enter:(t,n,r,s)=>(Jt(t,n=n||r.parentElement,r),e.push(t,"enter",Js(s))),move:(t,n,r,s)=>(Jt(t,n=n||r.parentElement,r),e.push(t,"move",Js(s))),leave:(t,n)=>e.push(t,"leave",Js(n),()=>{Array.isArray(t)?t.forEach(e=>It(e)):It(t)}),addClass:(t,n,r)=>((r=Js(r)).addClass=me(r.addClass,n),e.push(t,"addClass",r)),removeClass:(t,n,r)=>((r=Js(r)).removeClass=me(r.removeClass,n),e.push(t,"removeClass",r)),setClass:(t,n,r,s)=>((s=Js(s)).addClass=me(s.addClass,n),s.removeClass=me(s.removeClass,r),e.push(t,"setClass",s)),animate:(t,n,r,s,i)=>((i=Js(i)).from=i.from?U(i.from,n):n,i.to=i.to?U(i.to,r):r,s=s||"ng-inline-animate",i.tempClasses=me(i.tempClasses,s),e.push(t,"animate",i))}}]}Zs.$inject=["$provide"];class Ys{constructor(){this.cache=new Map}$get(){return this.cache}}class Xs{constructor(){this.handler=e=>{throw e}}$get(){return e=>this.handler(e)}}function ei(){return function(e,t,n,r){if(!w(e)){if(null==e)return e;throw fe("filter")("notarray","Expected array but received: {0}",e)}let s;r=r||"$";let i=!1;switch(ni(t)){case"function":s=t;break;case"boolean":case"null":case"number":case"string":i=!0;case"object":s=function(e,t,n,r){const s=x(e)&&n in e;let i;!0===t?t=K:j(t)||(t=function(e,t){return!E(e)&&(null===e||null===t?e===t:!(x(t)||x(e)&&!q(e))&&(e=`${e}`.toLowerCase(),t=`${t}`.toLowerCase(),-1!==e.indexOf(t)))});return i=function(i){return s&&!x(i)?ti(i,e[n],t,n,!1):ti(i,e,t,n,r)},i}(t,n,r,i);break;default:return e}return Array.prototype.filter.call(e,s)}}function ti(e,t,n,r,s,i){const o=ni(e),a=ni(t);if("string"===a&&"!"===t.charAt(0))return!ti(e,t.substring(1),n,r,s);if(Array.isArray(e))return e.some(e=>ti(e,t,n,r,s));switch(o){case"object":if(s){for(let s in e)if(s.charAt&&"$"!==s.charAt(0)&&ti(e[s],t,n,r,!0))return!0;return!i&&ti(e,t,n,r,!1)}if("object"===a){for(let s in t){const i=t[s];if(j(i)||E(i))continue;const o=s===r;if(!ti(o?e:e[s],i,n,r,o,o))return!1}return!0}return n(e,t);case"function":return!1;default:return n(e,t)}}function ni(e){return null===e?"null":typeof e}function ri(){return function(e,t){return E(t)&&(t=2),ee(e,t)}}function si(){return function(e,t,n){return j(e)&&(e=e()),I(t=Math.abs(Number(t))===1/0?Number(t):parseInt(t,10))?e:(A(e)&&(e=e.toString()),w(e)?(n=(n=!n||isNaN(n)?0:parseInt(n,10))<0?Math.max(0,e.length+n):n,t>=0?ii(e,n,n+t):0===n?ii(e,t,e.length):ii(e,Math.max(0,n+t),n)):e)}}function ii(e,t,n){return S(e)?e.slice(t,n):[].slice.call(e,t,n)}function oi(e){return function(r,s,i,o){if(null==r)return r;if(j(r))return r();if(!w(r))throw fe("orderBy")("notarray","Expected array but received: {0}",r);Array.isArray(s)||(s=[s]),0===s.length&&(s=["+"]);const a=s.map(t=>{let n=1,r=e=>e;if(j(t))r=t;else if(S(t)&&("+"!==t.charAt(0)&&"-"!==t.charAt(0)||(n="-"===t.charAt(0)?-1:1,t=t.substring(1)),""!==t)){let n=e(t);if(n.constant){const e=n();r=t=>t[e]}else r=n}return{get:r,descending:n}});const c=i?-1:1,l=j(o)?o:n,u=Array.prototype.map.call(r,function(e,n){return{value:e,tieBreaker:{value:n,type:"number",index:n},predicateValues:a.map(r=>function(e,n){let r=typeof e;null===e?r="null":"object"===r&&(e=function(e){if(j(e.valueOf)&&t(e=e.valueOf()))return e;if(q(e)&&t(e=e.toString()))return e;return e}(e));return{value:e,type:r,index:n}}(r.get(e),n))}});return u.sort(function(e,t){for(let n=0,r=a.length;n<r;n++){const r=l(e.predicateValues[n],t.predicateValues[n]);if(r)return r*a[n].descending*c}return(l(e.tieBreaker,t.tieBreaker)||n(e.tieBreaker,t.tieBreaker))*c}),r=u.map(e=>e.value)};function t(e){switch(typeof e){case"number":case"boolean":case"string":return!0;default:return!1}}function n(e,t){let n=0;const r=e.type,s=t.type;if(r===s){let s=e.value,i=t.value;"string"===r?(s=s.toLowerCase(),i=i.toLowerCase()):"object"===r&&(x(s)&&(s=e.index),x(i)&&(i=t.index)),s!==i&&(n=s<i?-1:1)}else n="undefined"===r?1:"undefined"===s?-1:"null"===r?1:"null"===s||r<s?-1:1;return n}}function ai(e){const t=(t,n,r)=>e.is(t,n,r);return t.$stateful=!0,t}function ci(e){const t=function(t,n,r){return e.includes(t,n,r)};return t.$stateful=!0,t}oi.$inject=[Yt.$parse],ai.$inject=[Yt.$state],ci.$inject=[Yt.$state];const li="Filter";class ui{static $inject=[Yt.$provide];constructor(e){this.$provide=e,this.register({filter:ei,json:ri,limitTo:si,orderBy:oi,isState:ai,includedByState:ci})}register(e,t){return x(e)&&Object.entries(e).forEach(([e,t])=>{this.register(e,t)}),this.$provide.factory(e+li,t)}$get=[Yt.$injector,e=>t=>e.get(t+li)]}class hi{constructor(e){this.$filter=e}compile(e){let t,n,r=di(e,this.$filter);(t=function(e){if(1===e.body.length&&pi(e.body[0].expression))return{type:Te,left:e.body[0].expression,right:{type:Fe},operator:"="}}(r))&&(n=this.recurse(t));const s=function(e){if(1!==e.length)return;const t=e[0].expression,n=t.toWatch;return 1!==n.length||n[0]!==t?n:void 0}(r.body);let i;if(s){i=[];for(const[e,t]of Object.entries(s)){const n=this.recurse(t);n.isPure=t.isPure,t.input=n,i.push(n),t.watchId=e}}const o=[];r.body.forEach(e=>{o.push(this.recurse(e.expression))});const a=0===r.body.length?()=>{}:1===r.body.length?o[0]:function(e,t){let n;return o.forEach(r=>{n=r(e,t)}),n};return n&&(a.assign=(e,t,r)=>n(e,r,t)),i&&(a.inputs=i),a.decoratedNode=r,a}recurse(e,t,n){let r,s;const i=this;let o;switch(e.type){case Pe:return this.value(e.value,t);case Re:return s=this.recurse(e.argument),this[`unary${e.operator}`](s,t);case Ne:case je:return r=this.recurse(e.left),s=this.recurse(e.right),this[`binary${e.operator}`](r,s,t);case _e:return this["ternary?:"](this.recurse(e.test),this.recurse(e.alternate),this.recurse(e.consequent),t);case Me:return i.identifier(e.name,t,n);case Ve:return r=this.recurse(e.object,!1,!!n),e.computed||(s=e.property.name),e.computed&&(s=this.recurse(e.property)),e.computed?this.computedMember(r,s,t,n):this.nonComputedMember(r,s,t,n);case Le:return o=[],e.arguments.forEach(e=>{o.push(i.recurse(e))}),e.filter&&(s=this.$filter(e.callee.name)),e.filter||(s=this.recurse(e.callee,!0)),e.filter?(e,n,r)=>{const i=[];for(let t=0;t<o.length;++t){const s=o[t](e&&e.$target?e.$target:e,n,r);i.push(s)}const a=()=>s.apply(void 0,i);return t?{context:void 0,name:void 0,value:a}:a}:(e,n,r)=>{const i=s(e.$target?e.$target:e,n,r);let a;if(null!=i.value&&j(i.value)){const t=[];for(let s=0;s<o.length;++s){const i=o[s](e,n,r);t.push(j(i)?i():i)}a=i.value.apply(i.context,t)}return t?{value:a}:a};case Te:return r=this.recurse(e.left,!0,1),s=this.recurse(e.right),(e,n,i)=>{const o=r(e,n,i),a=s(e,n,i);return(m(o.context)?o.context:o.context.$proxy??o.context)[o.name]=a,t?{value:a}:a};case De:return o=[],e.elements.forEach(e=>{o.push(i.recurse(e))}),(e,n,r)=>{const s=[];for(let t=0;t<o.length;++t)s.push(o[t](e,n,r));return t?{value:s}:s};case Ie:return o=[],e.properties.forEach(e=>{e.computed?o.push({key:i.recurse(e.key),computed:!0,value:i.recurse(e.value)}):o.push({key:e.key.type===Me?e.key.name:`${e.key.value}`,computed:!1,value:i.recurse(e.value)})}),(e,n,r)=>{const s={};for(let t=0;t<o.length;++t)o[t].computed?s[o[t].key(e,n,r)]=o[t].value(e,n,r):s[o[t].key]=o[t].value(e,n,r);return t?{value:s}:s};case He:return e=>t?{value:e}:e.$proxy;case qe:return(e,n)=>t?{value:n}:n;case Fe:return(e,n,r)=>t?{value:r}:r}}"unary+"(e,t){return(n,r,s)=>{let i=e(n,r,s);return i=C(i)?+i:0,t?{value:i}:i}}"unary-"(e,t){return(n,r,s)=>{let i=e(n,r,s);return i=C(i)?-i:-0,t?{value:i}:i}}"unary!"(e,t){return(n,r,s)=>{const i=!e(n,r,s);return t?{value:i}:i}}"binary+"(e,t,n){return(r,s,i)=>{const o=e(r,s,i),a=t(r,s,i),c=(u=a,void 0===(l=o)||x(l)?u:void 0===u||x(u)?l:l+u);var l,u;return n?{value:c}:c}}"binary-"(e,t,n){return(r,s,i)=>{const o=e(r,s,i),a=t(r,s,i),c=(C(o)?o:0)-(C(a)?a:0);return n?{value:c}:c}}"binary*"(e,t,n){return(r,s,i)=>{const o=e(r,s,i)*t(r,s,i);return n?{value:o}:o}}"binary/"(e,t,n){return(r,s,i)=>{const o=e(r,s,i)/t(r,s,i);return n?{value:o}:o}}"binary%"(e,t,n){return(r,s,i)=>{const o=e(r,s,i)%t(r,s,i);return n?{value:o}:o}}"binary==="(e,t,n){return(r,s,i)=>{const o=e(r,s,i)===t(r,s,i);return n?{value:o}:o}}"binary!=="(e,t,n){return(r,s,i)=>{const o=e(r,s,i)!==t(r,s,i);return n?{value:o}:o}}"binary=="(e,t,n){return(r,s,i)=>{const o=e(r,s,i)==t(r,s,i);return n?{value:o}:o}}"binary!="(e,t,n){return(r,s,i)=>{const o=e(r,s,i)!=t(r,s,i);return n?{value:o}:o}}"binary<"(e,t,n){return(r,s,i)=>{const o=e(r,s,i)<t(r,s,i);return n?{value:o}:o}}"binary>"(e,t,n){return(r,s,i)=>{const o=e(r,s,i)>t(r,s,i);return n?{value:o}:o}}"binary<="(e,t,n){return(r,s,i)=>{const o=e(r,s,i)<=t(r,s,i);return n?{value:o}:o}}"binary>="(e,t,n){return(r,s,i)=>{const o=e(r,s,i)>=t(r,s,i);return n?{value:o}:o}}"binary&&"(e,t,n){return(r,s,i)=>{const o=e(r,s,i)&&t(r,s,i);return n?{value:o}:o}}"binary||"(e,t,n){return(r,s,i)=>{const o=e(r,s,i)||t(r,s,i);return n?{value:o}:o}}"ternary?:"(e,t,n,r){return(s,i,o)=>{const a=e(s,i,o)?t(s,i,o):n(s,i,o);return r?{value:a}:a}}value(e,t){return()=>t?{context:void 0,name:void 0,value:e}:e}identifier(e,t,n){return(r,s)=>{const i=s&&e in s?s:(r&&r.$proxy)??r;let o;return n&&1!==n&&i&&null==i[e]&&(i[e]={}),i&&(o=i.$target?i.$target[e]:i[e]),t?{context:i,name:e,value:o}:o}}computedMember(e,t,n,r){return(s,i,o)=>{const a=e(s,i,o);let c,l;return null!=a&&(c=t(s,i,o),c=function(e){return`${e}`}(c),r&&1!==r&&a&&!a[c]&&(a[c]={}),l=a[c]),n?{context:a,name:c,value:l}:l}}nonComputedMember(e,t,n,r){return(s,i,o)=>{const a=e(s,i,o);r&&1!==r&&a&&null==a[t]&&(a[t]={});const c=null!=a?a[t]:void 0;return n?{context:a,name:t,value:c}:c}}}function di(e,t,n){let r,s,i,o,a,c,l,u,h,d,p,f=e;const $=f.isPure=function(e,t){switch(e.type){case Ve:if(e.computed)return!1;break;case Re:return 1;case Ne:return"+"!==e.operator&&1;case Le:return!1}return void 0===t?2:t}(e,n);switch(e.type){case ke:return r=!0,f.body.forEach(e=>{let n=di(e.expression,t,$);r=r&&n.constant}),f.constant=r,f;case Pe:return f.constant=!0,f.toWatch=[],f;case Re:var m=di(f.argument,t,$);return f.constant=m.constant,f.toWatch=m.toWatch,f;case Ne:return o=di(f.left,t,$),a=di(f.right,t,$),f.constant=o.constant&&a.constant,f.toWatch=o.toWatch.concat(a.toWatch),f;case je:return o=di(f.left,t,$),a=di(f.right,t,$),f.constant=o.constant&&a.constant,f.toWatch=f.constant?[]:[e],f;case _e:return c=di(e.test,t,$),l=di(e.alternate,t,$),u=di(e.consequent,t,$),f.constant=c.constant&&l.constant&&u.constant,f.toWatch=f.constant?[]:[e],f;case Me:return f.constant=!1,f.toWatch=[e],f;case Ve:return h=di(e.object,t,$),e.computed&&(d=di(e.property,t,$)),f.constant=h.constant&&(!f.computed||d.constant),f.toWatch=f.constant?[]:[e],f;case Le:return i=!!e.filter&&function(e,t){const n=e(t);return!n.$stateful}(t,e.callee.name),r=i,s=[],e.arguments.forEach(e=>{m=di(e,t,$),r=r&&m.constant,s.push.apply(s,m.toWatch)}),f.constant=r,f.toWatch=i?s:[f],f;case Te:return o=di(e.left,t,$),a=di(e.right,t,$),f.constant=o.constant&&a.constant,f.toWatch=[f],f;case De:return r=!0,s=[],e.elements.forEach(e=>{m=di(e,t,$),r=r&&m.constant,s.push.apply(s,m.toWatch)}),f.constant=r,f.toWatch=s,f;case Ie:return r=!0,s=[],e.properties.forEach(e=>{m=di(e.value,t,$),r=r&&m.constant,s.push.apply(s,m.toWatch),e.computed&&(p=di(e.key,t,!1),r=r&&p.constant,s.push.apply(s,p.toWatch))}),f.constant=r,f.toWatch=s,f;case He:case qe:return f.constant=!1,f.toWatch=[],f}}function pi(e){return e.type===Me||e.type===Ve}const fi=fe("$parse"),$i={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},mi=new Set("+ - * / % === !== == != < > <= >= && || ! = |".split(" "));class gi{constructor(e){this.options=e}lex(e){for(this.text=e,this.index=0,this.tokens=[];this.index<this.text.length;){const e=this.text.charAt(this.index);if('"'===e||"'"===e)this.readString(e);else if(this.isNumber(e)||"."===e&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdentifierStart&&this.isIdentifierStart(this.peekMultichar()))this.readIdent();else if(this.is(e,"(){}[].,;:?"))this.tokens.push({index:this.index,text:e}),this.index++;else if(this.isWhitespace(e))this.index++;else{const t=e+this.peek(),n=t+this.peek(2),r=mi.has(e),s=mi.has(t),i=mi.has(n);if(r||s||i){const r=i?n:s?t:e;this.tokens.push({index:this.index,text:r,operator:!0}),this.index+=r.length}else this.throwError("Unexpected next character ",this.index,this.index+1)}}return this.tokens}is(e,t){return-1!==t.indexOf(e)}peek(e){const t=e||1;return this.index+t<this.text.length&&this.text.charAt(this.index+t)}isNumber(e){return e>="0"&&e<="9"&&"string"==typeof e}isWhitespace(e){return" "===e||"\r"===e||"\t"===e||"\n"===e||"\v"===e}isIdentifierStart(e){return this.options.isIdentifierStart?this.options.isIdentifierStart(e,this.codePointAt(e)):e>="a"&&e<="z"||e>="A"&&e<="Z"||"_"===e||"$"===e}isIdentifierContinue(e){return this.options.isIdentifierContinue?this.options.isIdentifierContinue(e,this.codePointAt(e)):e>="a"&&e<="z"||e>="A"&&e<="Z"||"_"===e||"$"===e||e>="0"&&e<="9"}codePointAt(e){return 1===e.length?e.charCodeAt(0):(e.charCodeAt(0)<<10)+e.charCodeAt(1)-56613888}peekMultichar(){const e=this.text.charAt(this.index),t=this.peek();if(!t)return e;const n=e.charCodeAt(0),r=t.charCodeAt(0);return n>=55296&&n<=56319&&r>=56320&&r<=57343?e+t:e}isExpOperator(e){return"-"===e||"+"===e||this.isNumber(e)}throwError(e,t,n){n=n||this.index;const r=C(t)?`s ${t}-${this.index} [${this.text.substring(t,n)}]`:` ${n}`;throw fi("lexerr",`Lexer Error: ${e} at column${r} in expression [${this.text}].`)}readNumber(){let e="";const t=this.index;for(;this.index<this.text.length;){const t=this.text.charAt(this.index).toLowerCase();if("."===t||this.isNumber(t))e+=t;else{const n=this.peek();if("e"===t&&this.isExpOperator(n))e+=t;else if(this.isExpOperator(t)&&n&&this.isNumber(n)&&"e"===e.charAt(e.length-1))e+=t;else{if(!this.isExpOperator(t)||n&&this.isNumber(n)||"e"!==e.charAt(e.length-1))break;this.throwError("Invalid exponent")}}this.index++}this.tokens.push({index:t,text:e,constant:!0,value:Number(e)})}readIdent(){const e=this.index;for(this.index+=this.peekMultichar().length;this.index<this.text.length;){const e=this.peekMultichar();if(this.isIdentifierContinue&&!this.isIdentifierContinue(e))break;this.index+=e.length}this.tokens.push({index:e,text:this.text.slice(e,this.index),identifier:!0})}readString(e){const t=this.index;let n="",r=!1;for(this.index++;this.index<this.text.length;){const s=this.text[this.index];if(r)n+="u"===s?this.handleUnicodeEscape():$i[s]||s,r=!1;else if("\\"===s)r=!0;else{if(s===e)return this.tokens.push({index:t,text:this.text.slice(t,this.index+1),constant:!0,value:n}),void this.index++;n+=s}this.index++}this.throwError("Unterminated quote",t)}handleUnicodeEscape(){const e=this.text.substring(this.index+1,this.index+5);return e.match(/[\da-f]{4}/i)||this.throwError(`Invalid unicode escape [\\u${e}]`),this.index+=4,String.fromCharCode(parseInt(e,16))}}const vi=fe("$parse"),yi=new Map([["true",!0],["false",!1],["null",null],["undefined",void 0]]);class bi{constructor(e){this.lexer=e,this.selfReferential={this:{type:He},$locals:{type:qe}}}ast(e){this.text=e,this.tokens=this.lexer.lex(e);const t=this.program();return 0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]),t}program(){const e=[];let t=!0;for(;t;)this.tokens.length>0&&!this.peek("}",")",";","]")&&e.push(this.expressionStatement()),this.expect(";")||(t=!1);return{type:ke,body:e}}expressionStatement(){return{type:Ae,expression:this.filterChain()}}filterChain(){let e=this.assignment();for(;this.expect("|");)e=this.filter(e);return e}assignment(){let e=this.ternary();if(this.expect("=")){if(!pi(e))throw vi("lval","Trying to assign a value to a non l-value");e={type:Te,left:e,right:this.assignment(),operator:"="}}return e}ternary(){const e=this.logicalOR();let t,n;return this.expect("?")&&(t=this.assignment(),this.consume(":"))?(n=this.assignment(),{type:_e,test:e,alternate:t,consequent:n}):e}logicalOR(){let e=this.logicalAND();for(;this.expect("||");)e={type:je,operator:"||",left:e,right:this.logicalAND()};return e}logicalAND(){let e=this.equality();for(;this.expect("&&");)e={type:je,operator:"&&",left:e,right:this.equality()};return e}equality(){let e,t=this.relational();for(;e=this.expect("==","!=","===","!==");)t={type:Ne,operator:e.text,left:t,right:this.relational()};return t}relational(){let e,t=this.additive();for(;e=this.expect("<",">","<=",">=");)t={type:Ne,operator:e.text,left:t,right:this.additive()};return t}additive(){let e,t=this.multiplicative();for(;e=this.expect("+","-");)t={type:Ne,operator:e.text,left:t,right:this.multiplicative()};return t}multiplicative(){let e,t=this.unary();for(;e=this.expect("*","/","%");)t={type:Ne,operator:e.text,left:t,right:this.unary()};return t}unary(){let e;return(e=this.expect("+","-","!"))?{type:Re,operator:e.text,prefix:!0,argument:this.unary()}:this.primary()}primary(){let e,t;for(this.expect("(")?(e=this.filterChain(),this.consume(")")):this.expect("[")?e=this.arrayDeclaration():this.expect("{")?e=this.object():we(this.selfReferential,this.peek().text)?e=structuredClone(this.selfReferential[this.consume().text]):yi.has(this.peek().text)?e={type:Pe,value:yi.get(this.consume().text)}:this.peek().identifier?e=this.identifier():this.peek().constant?e=this.constant():this.throwError("not a primary expression",this.peek());t=this.expect("(","[",".");)"("===t.text?(e={type:Le,callee:e,arguments:this.parseArguments()},this.consume(")")):"["===t.text?(e={type:Ve,object:e,property:this.assignment(),computed:!0},this.consume("]")):"."===t.text?e={type:Ve,object:e,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return e}filter(e){const t=[e],n={type:Le,callee:this.identifier(),arguments:t,filter:!0};for(;this.expect(":");)t.push(this.assignment());return n}parseArguments(){const e=[];if(")"!==this.peekToken().text)do{e.push(this.filterChain())}while(this.expect(","));return e}identifier(){const e=this.consume();return e.identifier||this.throwError("is not a valid identifier",e),{type:Me,name:e.text}}constant(){return{type:Pe,value:this.consume().value}}arrayDeclaration(){const e=[];if("]"!==this.peekToken().text)do{if(this.peek("]"))break;e.push(this.assignment())}while(this.expect(","));return this.consume("]"),{type:De,elements:e}}object(){const e=[];let t;if("}"!==this.peekToken().text)do{if(this.peek("}"))break;t={type:Ue,kind:"init"},this.peek().constant?(t.key=this.constant(),t.computed=!1,this.consume(":"),t.value=this.assignment()):this.peek().identifier?(t.key=this.identifier(),t.computed=!1,this.peek(":")?(this.consume(":"),t.value=this.assignment()):t.value=t.key):this.peek("[")?(this.consume("["),t.key=this.assignment(),this.consume("]"),t.computed=!0,this.consume(":"),t.value=this.assignment()):this.throwError("invalid key",this.peek()),e.push(t)}while(this.expect(","));return this.consume("}"),{type:Ie,properties:e}}throwError(e,t){throw vi("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",t.text,e,t.index+1,this.text,this.text.substring(t.index))}consume(e){if(0===this.tokens.length)throw vi("ueoe","Unexpected end of expression: {0}",this.text);const t=this.expect(e);if(t)return t;this.throwError(`is unexpected, expecting [${e}]`,this.peek())}peekToken(){if(0===this.tokens.length)throw vi("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]}peek(...e){return this.peekAhead(0,...e)}peekAhead(e,...t){if(this.tokens.length>e){const n=this.tokens[e],r=n.text;if(t.includes(r)||!t[0]&&!t[1]&&!t[2]&&!t[3])return n}return!1}expect(...e){const t=this.peek(...e);return!!t&&(this.tokens.shift(),t)}}class wi{constructor(e,t){this.ast=new bi(e),this.astCompiler=new hi(t)}parse(e){const{ast:t}=this.getAst(e),n=this.astCompiler.compile(t);return n.literal=function(e){return 0===e.body.length||1===e.body.length&&(e.body[0].expression.type===Pe||e.body[0].expression.type===De||e.body[0].expression.type===Ie)}(t),n.constant=function(e){return e.constant}(t),n}getAst(e){return e=e.trim(),{ast:this.ast.ast(e)}}}class Ei{constructor(){const e=Object.create(null);let t,n;this.setIdentifierFns=function(e,r){return t=e,n=r,this},this.$get=["$filter",function(r){const s={isIdentifierStart:j(t)&&t,isIdentifierContinue:j(n)&&n};return function(t,n){let o,a;switch(typeof t){case"string":if(a=t=t.trim(),o=e[a],!o){const n=new gi(s);o=new wi(n,r).parse(t),e[a]=xi(o)}return i(o,n);case"function":return i(t,n);default:return i(()=>{},n)}};function i(e,t){if(!t)return e;e.$$interceptor&&(t=function(e,t){function n(n){return t(e(n))}return n.$stateful=e.$stateful||t.$stateful,n.$$pure=e.$$pure&&t.$$pure,n}(e.$$interceptor,t),e=e.$$intercepted);let n=!1;const r=function(r,s,i,o){const a=n&&o?o[0]:e(r,s,i,o);if(r?.getter)return;const c=j(a)?a():a;return t(m(c)?c.$target:c)};return r.$$intercepted=e,r.$$interceptor=t,r.literal=e.literal,r.oneTime=e.oneTime,r.constant=e.constant,r.decoratedNode=e.decoratedNode,t.$stateful||(n=!e.inputs,r.inputs=e.inputs?e.inputs:[e],t.$$pure||(r.inputs=r.inputs.map(function(e){return 2===e.isPure?function(t){return e(t)}:e}))),xi(r)}}]}}function Ci(e,t,n,r){const s=e.$watch(()=>(s(),r(e)),t,n);return s}function xi(e){return e.constant?e.$$watchDelegate=Ci:e.inputs&&(e.$$watchDelegate=Si),e}function Si(e,t,n,r){let s,i=r.inputs;if(1===i.length){let o=Oi,a=i[0];return e.$watch(e=>{const t=a(e);return Oi(t,o,a.isPure)||(s=r(e,void 0,[t]),o=t&&ki(t)),s},t,n)}{const o=[],a=[];for(let e=0,t=i.length;e<t;e++)o[e]=Oi,a[e]=null;return e.$watch(e=>{let t=!1;for(let n=0,r=i.length;n<r;n++){const r=i[n](e);(t||(t=!Oi(r,o[n],i[n].isPure)))&&(a[n]=r,o[n]=r&&ki(r))}return t&&(s=r(e,void 0,a)),s},t,n)}}function Oi(e,t,n){return null==e||null==t?e===t:!("object"==typeof e&&"object"==typeof(e=ki(e))&&!n)&&(e===t||e!=e&&t!=t)}function ki(e){return j(e.valueOf)?e.valueOf():{}.constructor.prototype.valueOf.call(e)}const Ai=fe("$interpolate");function Ti(e,t){throw Ai("interr","Can't interpolate: {0}\n{1}",e,t.toString())}class _i{constructor(){this.startSymbol="{{",this.endSymbol="}}"}$get=[Yt.$parse,Yt.$sce,function(e,t){const n=this,r=n.startSymbol.length,s=n.endSymbol.length,i=new RegExp(n.startSymbol.replace(/./g,a),"g"),o=new RegExp(n.endSymbol.replace(/./g,a),"g");function a(e){return`\\\\\\${e}`}function c(e){return e.replace(i,n.startSymbol).replace(o,n.endSymbol)}function l(i,o,a,l){const u=a===t.URL||a===t.MEDIA_URL;if(!i.length||-1===i.indexOf(n.startSymbol)){if(o)return;let e=c(i);u&&(e=t.getTrusted(a,e));const n=()=>e;return n.exp=i,n.expressions=[],n.$$watchDelegate=Ci,n}let h,d;l=!!l;let p=0;const f=[];let $;const m=i.length;let g;const v=[],y=[];let b;for(;p<m;){if(-1===(h=i.indexOf(n.startSymbol,p))||-1===(d=i.indexOf(n.endSymbol,h+r))){p!==m&&v.push(c(i.substring(p)));break}p!==h&&v.push(c(i.substring(p,h))),g=i.substring(h+r,d),f.push(g),p=d+s,y.push(v.length),v.push("")}b=1===v.length&&1===y.length;const w=u&&b?void 0:function(e){try{return e=a&&!u?t.getTrusted(a,e):t.valueOf(e),l&&!C(e)?e:G(e)}catch(e){Ti(i,e)}};if($=f.map(t=>e(t,w)),!o||f.length){const e=function(e){for(let t=0,n=f.length;t<n;t++){if(l&&E(e[t]))return;v[y[t]]=e[t]}return u?t.getTrusted(a,b?v[0]:v.join("")):(a&&v.length>1&&function(e){throw Ai("noconcat","Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required. See http://docs.angularjs.org/api/ng.$sce",e)}(i),v.join(""))};return U((t,n)=>{let r=0;const s=f.length,o=new Array(s);try{for(;r<s;r++){if(n){const i=f[r].trim();t.$watch(i,()=>{let r=new Array(s),i=0;for(;i<s;i++){let e=$[i];r[i]=e(t)}n(e(r))})}o[r]=$[r](t)}return e(o)}catch(e){Ti(i,e)}},{exp:i,expressions:f,$$watchDelegate(t,n){let r;return t.$watch($,function(s,i){const o=e(s);n.call(this,o,s!==i?r:o,t),r=o})}})}}return l.startSymbol=function(){return n.startSymbol},l.endSymbol=function(){return n.endSymbol},l}]}let ji={},Ni="";const Ri="application/json",Li={"Content-Type":`${Ri};charset=utf-8`},Vi=/^\[|^\{(?!\{)/,Mi={"[":/]$/,"{":/}$/},Pi=/^\)]\}',?\n/,Di=fe("$http");function Ui(e){return x(e)?T(e)?e.toISOString():ee(e):e}function Ii(){this.$get=()=>e=>{if(!e)return"";const t=[];return Object.keys(e).sort().forEach(n=>{const r=e[n];null===r||E(r)||j(r)||(Array.isArray(r)?r.forEach(e=>{t.push(`${oe(n)}=${oe(Ui(e))}`)}):t.push(`${oe(n)}=${oe(Ui(r))}`))}),t.join("&")}}function Hi(e,t){if(S(e)){const r=e.replace(Pi,"").trim();if(r){const s=t("Content-Type"),i=s&&0===s.indexOf(Ri);if(i||function(e){const t=e.match(Vi);return t&&Mi[t[0]].test(e)}(r))try{e=S(n=r)?JSON.parse(n):n}catch(t){if(!i)return e;throw Di("baddata",'Data must be a valid JSON object. Received: "{0}". Parse error: "{1}"',e,t)}}}var n;return e}function qi(e){const t=Object.create(null);let n;function r(e,n){e&&(t[e]=t[e]?`${t[e]}, ${n}`:n)}return S(e)?e.split("\n").forEach(e=>{n=e.indexOf(":"),r(e.substring(0,n).trim().toLowerCase(),P(e.substring(n+1)))}):x(e)&&Object.entries(e).forEach(([e,t])=>{r(e.toLowerCase(),P(t))}),t}function Fi(e){let t;return function(n){if(t||(t=qi(e)),n){let e=t[n.toLowerCase()];return void 0===e&&(e=null),e}return t}}function Bi(e,t,n,r){return j(r)?r(e,t,n):(Array.isArray(r)&&r.forEach(r=>{e=r(e,t,n)}),e)}function zi(e){return e>=200&&e<300}function Wi(){const e=this.defaults={transformResponse:[Hi],transformRequest:[function(e){return!x(e)||(t=e,"[object File]"===toString.call(t))||function(e){return"[object Blob]"===toString.call(e)}(e)||function(e){return"[object FormData]"===toString.call(e)}(e)?e:ee(e);var t}],headers:{common:{Accept:"application/json, text/plain, */*"},post:ce(Li),put:ce(Li),patch:ce(Li)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer"};let t=!1;this.useApplyAsync=function(e){return C(e)?(t=!!e,this):t},this.interceptors=[],this.xsrfTrustedOrigins=[],Object.defineProperty(this,"xsrfWhitelistedOrigins",{get(){return this.xsrfTrustedOrigins},set(e){this.xsrfTrustedOrigins=e}}),this.$get=[Yt.$injector,Yt.$sce,function(n,r){const s=new Map;e.paramSerializer=S(e.paramSerializer)?n.get(e.paramSerializer):e.paramSerializer;const i=[];this.interceptors.forEach(e=>{i.unshift(S(e)?n.get(e):n.invoke(e))});const o=function(e){const t=[Mn].concat(e.map(Pn));return function(e){const n=Pn(e);return t.some(Dn.bind(null,n))}}(this.xsrfTrustedOrigins);function a(c){if(!x(c))throw fe("$http")("badreq","Http request configuration must be an object. Received: {0}",c);if(!S(r.valueOf(c.url)))throw fe("$http")("badreq","Http request configuration url must be a string or a $sce trusted object. Received: {0}",c.url);const l=U({method:"get",transformRequest:e.transformRequest,transformResponse:e.transformResponse,paramSerializer:e.paramSerializer},c);var u;l.headers=function(t){let n=e.headers,r=U({},t.headers);return n=U({},n.common,n[b(t.method)]),Object.keys(n).forEach(e=>{const t=b(e);Object.keys(r).some(e=>b(e)===t)||(r[e]=n[e])}),function(e,t){let n;const r={};return Object.entries(e).forEach(([e,s])=>{j(s)?(n=s(t),null!=n&&(r[e]=n)):r[e]=s}),r}(r,ce(t))}(c),l.method=S(u=l.method)?u.toUpperCase():u,l.paramSerializer=S(l.paramSerializer)?n.get(l.paramSerializer):l.paramSerializer;const h=[],d=[];let p=Promise.resolve(l);return i.forEach(e=>{(e.request||e.requestError)&&h.unshift(e.request,e.requestError),(e.response||e.responseError)&&d.push(e.response,e.responseError)}),p=f(p,h),p=p.then(function(n){const{headers:i}=n,c=Bi(n.data,Fi(i),void 0,n.transformRequest);E(c)&&Object.keys(i).forEach(e=>{"content-type"===b(e)&&delete i[e]});E(n.withCredentials)&&!E(e.withCredentials)&&(n.withCredentials=e.withCredentials);return function(n,i){const{promise:c,resolve:l,reject:u}=Promise.withResolvers();let h,d;const p=n.headers;let{url:f}=n;S(f)||(f=r.valueOf(f));f=function(e,t){t.length>0&&(e+=(-1===e.indexOf("?")?"?":"&")+t);return e}(f,n.paramSerializer(n.params)),a.pendingRequests.push(n),c.then(y,y),(n.cache||e.cache)&&!1!==n.cache&&"GET"===n.method&&(h=x(n.cache)?n.cache:x(e.cache)?e.cache:s);h&&(d=h.get(f),C(d)?M(d)?d.then(v,v):Array.isArray(d)?g(d[1],d[0],ce(d[2]),d[3],d[4]):g(d,200,{},"OK","complete"):h.set(f,c));if(E(d)){const t=o(n.url)?function(){let e,t,n,r,s;const i=document.cookie;if(i!==Ni)for(Ni=i,e=Ni.split("; "),ji={},n=0;n<e.length;n++)t=e[n],r=t.indexOf("="),r>0&&(s=Ki(t.substring(0,r)),E(ji[s])&&(ji[s]=Ki(t.substring(r+1))));return ji}()[n.xsrfCookieName||e.xsrfCookieName]:void 0;t&&(p[n.xsrfHeaderName||e.xsrfHeaderName]=t),function(e,t,n,r,s,i,o,a,c,l){t=t||Un(window.location.href);const u=new XMLHttpRequest;let h,d=!1;if(u.open(e,t,!0),s)for(const[e,t]of Object.entries(s))C(t)&&u.setRequestHeader(e,t);if(u.onload=()=>{let e=u.status||0;const n=u.statusText||"";0===e&&(e=u.response?200:"file:"===new URL(t).protocol?404:0),f(e,u.response,u.getAllResponseHeaders(),n,"complete")},u.onerror=()=>f(-1,null,null,"","error"),u.ontimeout=()=>f(-1,null,null,"","timeout"),u.onabort=()=>{f(-1,null,null,"",d?"timeout":"abort")},c)for(const[e,t]of Object.entries(c))u.addEventListener(e,t);if(l)for(const[e,t]of Object.entries(l))u.upload.addEventListener(e,t);o&&(u.withCredentials=!0);if(a)try{u.responseType=a}catch(e){if("json"!==a)throw e}u.send(E(n)?null:n),"number"==typeof i&&i>0?h=setTimeout(()=>p("timeout"),i):M(i)&&i.then(()=>{p(C(i.$$timeoutId)?"timeout":"abort")});function p(e){d="timeout"===e,u&&u.abort()}function f(e,t,n,s,i){C(h)&&clearTimeout(h),r(e,t,n,s,i)}}(n.method,f,i,m,p,n.timeout,n.withCredentials,n.responseType,$(n.eventHandlers),$(n.uploadEventHandlers))}return c;function $(e){if(e){const n={};return Object.entries(e).forEach(([e,r])=>{n[e]=function(e){function n(){r(e)}t?setTimeout(()=>n()):n()}}),n}return{}}function m(e,n,r,s,i){function o(){g(n,e,r,s,i)}h&&(zi(e)?h.set(f,[e,n,qi(r),s,i]):h.delete(f)),t?setTimeout(o):o()}function g(e,t,r,s,i){(zi(t=t>=-1?t:0)?l:u)({data:e,status:t,headers:Fi(r),config:n,statusText:s,xhrStatus:i})}function v(e){g(e.data,e.status,ce(e.headers()),e.statusText,e.xhrStatus)}function y(){const e=a.pendingRequests.indexOf(n);-1!==e&&a.pendingRequests.splice(e,1)}}(n,c).then($,$)}),p=f(p,d),p;function f(e,t){for(let n=0,r=t.length;n<r;){const r=t[n++],s=t[n++];e=e.then(r,s)}return t.length=0,e}function $(e){const t=U({},e);return t.data=Bi(e.data,e.headers,e.status,l.transformResponse),zi(e.status)?t:Promise.reject(t)}}return a.pendingRequests=[],function(...e){e.forEach(e=>{a[e]=function(t,n){return a(U({},n||{},{method:e,url:t}))}})}("get","delete","head"),function(...e){e.forEach(e=>{a[e]=function(t,n,r){return a(U({},r||{},{method:e,url:t,data:n}))}})}("post","put","patch"),a.defaults=e,a}]}function Ki(e){try{return decodeURIComponent(e)}catch{return e}}const Qi=/^([^?#]*)(\?([^#]*))?(#(.*))?$/,Gi=fe("$location");let Ji,Zi,Yi,Xi=!1;class eo{constructor(e,t,n=!0,r){this.appBase=e,this.appBaseNoFile=t,this.html5=n,this.basePrefix=n?r||"":void 0,this.hashPrefix=n?void 0:r,this.absUrl="",this.$$url=void 0,this.$$updateBrowser=void 0}setUrl(e){const t=Qi.exec(e);return void 0===t[1]&&""!==e||this.setPath(t[1]||""),void 0===t[2]&&void 0===t[1]&&""!==e||this.setSearch(t[3]||""),this.setHash(t[5]||""),this}getUrl(){return this.$$url}setPath(e){let t=null!==e?e.toString():"";return Ji="/"===t.charAt(0)?t:`/${t}`,this.$$compose(),this}getPath(){return Ji}setHash(e){return Yi=null!==e?e.toString():"",this.$$compose(),this}getHash(){return Yi}setSearch(e,t){if(1===arguments.length)if(S(e)||A(e))e=e.toString(),Zi=ne(e);else{if(!x(e))throw Gi("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");e=structuredClone(e,{}),Object.entries(e).forEach(([t,n])=>{null==n&&delete e[t]}),Zi=e}else E(t)||null===t?delete Zi[e]:Zi[e]=t;return this.$$compose(),this}getSearch(){return Zi}$$compose(){this.$$url=function(e,t,n){const r=re(t),s=n?`#${ie(n)}`:"";return function(e){const t=e.split("/");let n=t.length;for(;n--;){const e=decodeURIComponent(t[n].replace(/%2F/gi,"/"));t[n]=ie(e)}return t.join("/")}(e)+(r?`?${r}`:"")+s}(Ji,Zi,Yi),this.absUrl=this.html5?this.appBaseNoFile+this.$$url.substring(1):this.appBase+(this.$$url?this.hashPrefix+this.$$url:""),Xi=!0,setTimeout(()=>this.$$updateBrowser&&this.$$updateBrowser())}setState(e){if(!this.html5)throw Gi("nostate","History API state support is available only in HTML5 mode");return this.$$state=E(e)?null:e,Xi=!0,this}getState(){return this.$$state}parseLinkUrl(e,t){if(this.html5){if(t&&"#"===t[0])return this.setHash(t.slice(1)),!0;let n,r,s;return C(n=ro(this.appBase,e))?(r=n,s=this.basePrefix&&C(n=ro(this.basePrefix,n))?this.appBaseNoFile+(ro("/",n)||n):this.appBase+r):C(n=ro(this.appBaseNoFile,e))?s=this.appBaseNoFile+n:this.appBaseNoFile===`${e}/`&&(s=this.appBaseNoFile),s&&this.parse(s),!!s}return so(this.appBase)===so(e)&&(this.parse(e),!0)}parse(e){if(this.html5){const t=ro(this.appBaseNoFile,e);if(!S(t))throw Gi("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',e,this.appBaseNoFile);no(t,!0),Ji||(Ji="/"),this.$$compose()}else{const n=ro(this.appBase,e)||ro(this.appBaseNoFile,e);let r;function s(e,t,n){const r=/^\/[A-Z]:(\/.*)/;let s;return xe(t,n)&&(t=t.replace(n,"")),r.exec(t)?e:(s=r.exec(e),s?s[1]:e)}E(n)||"#"!==n.charAt(0)?this.html5?r=n:(r="",E(n)&&(this.appBase=e)):(r=ro(this.hashPrefix,n),E(r)&&(r=n)),no(r,!1),Ji=s(Ji,r,this.appBase),this.$$compose()}}}class to{constructor(){this.hashPrefixConf="!",this.html5ModeConf={enabled:!0,requireBase:!1,rewriteLinks:!0},this.urlChangeListeners=[],this.urlChangeInit=!1,this.cachedState=null,this.lastHistoryState=null,this.lastBrowserUrl=window.location.href,this.cacheState()}setUrl(e,t){if(void 0===t&&(t=null),e){if(e=new URL(e).href,this.lastBrowserUrl===e&&this.lastHistoryState===t)return this;this.lastBrowserUrl=e,this.lastHistoryState=t,history.pushState(t,"",e),this.cacheState()}}getBrowserUrl(){return Un(window.location.href)}state(){return this.cachedState}cacheState(){const e=history.state??null;K(e,this.lastCachedState)||(this.cachedState=e,this.lastCachedState=e,this.lastHistoryState=e)}#e(){const e=this.lastHistoryState;this.cacheState(),this.lastBrowserUrl===this.getBrowserUrl()&&e===this.cachedState||(this.lastBrowserUrl=this.getBrowserUrl(),this.lastHistoryState=this.cachedState,this.urlChangeListeners.forEach(e=>{e(Un(window.location.href),this.cachedState)}))}#t(e){this.urlChangeInit||(window.addEventListener("popstate",this.#e.bind(this)),window.addEventListener("hashchange",this.#e.bind(this)),this.urlChangeInit=!0),this.urlChangeListeners.push(e)}$get=[Yt.$rootScope,Yt.$rootElement,(e,t)=>{const n=Zt(),r=Un(window.location.href);let s;if(this.html5ModeConf.enabled){if(!n&&this.html5ModeConf.requireBase)throw Gi("nobase","$location in HTML5 mode requires a <base> tag to be present!");s=function(e){const t=e.indexOf("//")+2,n=e.indexOf("/",t);return-1===n?e:e.substring(0,n)}(r)+(n||"/")}else s=so(r);const i=(o=s).substring(0,so(o).lastIndexOf("/")+1);var o;const a=new eo(s,i,this.html5ModeConf.enabled,`#${this.hashPrefixConf}`);a.parseLinkUrl(r,r),a.$$state=this.state();const c=/^\s*(javascript|mailto):/i,l=(e,t)=>{const n=a.getUrl(),r=a.$$state;try{this.setUrl(e,t),a.$$state=this.state()}catch(e){throw a.setUrl(n),a.$$state=r,e}};t.addEventListener("click",e=>{const n=this.html5ModeConf.rewriteLinks;if(!n||e.ctrlKey||e.metaKey||e.shiftKey||2===e.button)return;let r=e.target;for(;"a"!==r.nodeName.toLowerCase();)if(r===t||!(r=r.parentElement))return;if(S(n)&&E(r.getAttribute(n)))return;let s=r.href;const i=r.getAttribute("href")||r.getAttribute("xlink:href");if(x(s)&&"[object SVGAnimatedString]"===s.toString()){s=new URL(s.animVal).href}c.test(s)||!s||r.getAttribute("target")||e.defaultPrevented||a.parseLinkUrl(s,i)&&e.preventDefault()}),a.absUrl!==r&&this.setUrl(a.absUrl,!0);let u=!0;this.#t((t,n)=>{xe(t,i)?Promise.resolve().then(()=>{const r=a.absUrl,s=a.$$state;let i;a.parse(t),a.$$state=n,i=e.$broadcast("$locationChangeStart",t,r,n,s).defaultPrevented,a.absUrl===t&&(i?(a.parse(r),a.$$state=s,l(r,s)):(u=!1,d(r,s)))}):window.location.href=t});const h=()=>{if(u||Xi){Xi=!1;const n=this.getBrowserUrl(),r=a.absUrl,s=this.state(),i=(t=r,!(io(n)===io(t))||a.html5&&s!==a.$$state);(u||i)&&(u=!1,setTimeout(()=>{const t=a.absUrl,{defaultPrevented:r}=e.$broadcast("$locationChangeStart",t,n,a.$$state,s);a.absUrl===t&&(r?(a.parse(n),a.$$state=s):(i&&l(t,s===a.$$state?null:a.$$state),d(n,s)))}))}var t};return a.$$updateBrowser=h,h(),e.$on("$updateBrowser",h),a;function d(t,n){e.$broadcast("$locationChangeSuccess",a.absUrl,t,a.$$state,n)}}]}function no(e,t){if(/^\s*[\\/]{2,}/.test(e))throw Gi("badpath",'Invalid url "{0}".',e);const n="/"!==e.charAt(0);n&&(e=`/${e}`);const r=Pn(e),s=n&&"/"===r.pathname.charAt(0)?r.pathname.substring(1):r.pathname;Ji=function(e,t){const n=e.split("/");let r=n.length;for(;r--;)n[r]=decodeURIComponent(n[r]),t&&(n[r]=n[r].replace(/\//g,"%2F"));return n.join("/")}(s,t),Zi=ne(r.search),Yi=decodeURIComponent(r.hash),Ji&&"/"!==Ji.charAt(0)&&(Ji=`/${Ji}`)}function ro(e,t){if(xe(t,e))return t.substring(e.length)}function so(e){const t=e.indexOf("#");return-1===t?e:e.substring(0,t)}function io(e){const t=document.createElement("a");t.href=e;let n=t.href;return n.endsWith("/")&&!/^https?:\/\/[^/]+\/$/.test(n)&&(n=n.slice(0,-1)),n.endsWith("#")&&(n=n.slice(0,-1)),n}class oo{constructor(){this.debug=!1,this._override=null}setLogger(e){this._override=e}formatError(e){return _(e)&&(e.stack?e=e.message&&-1===e.stack.indexOf(e.message)?`Error: ${e.message}\n${e.stack}`:e.stack:e.sourceURL&&(e=`${e.message}\n${e.sourceURL}:${e.line}`)),e}consoleLog(e){const t=window.console||{},n=t[e]||t.log||(()=>{});return(...e)=>{const r=e.map(e=>this.formatError(e));return n.apply(t,r)}}$get(){return this._override?this._override():{log:this.consoleLog("log"),info:this.consoleLog("info"),warn:this.consoleLog("warn"),error:this.consoleLog("error"),debug:(()=>{const e=this.consoleLog("debug");return(...t)=>{this.debug&&e.apply(this,t)}})()}}}let ao,co,lo=0;const uo=[];class ho{constructor(){this.rootScope=po()}$get=[Yt.$exceptionHandler,Yt.$parse,(e,t)=>(co=e,ao=t,this.rootScope)]}function po(e={},t){if(O(e)||!0===e[fo]||!0===(e.constructor&&e.constructor[fo]))return e;if("object"==typeof e){if(function(e){if(null==e)return!1;const t=typeof e;if("object"!==t&&"function"!==t)return!1;const n=globalThis;if(e===n||e===n.window||e===n.document||e===n.self||e===n.frames)return!0;if("undefined"!=typeof Window&&e instanceof Window||"undefined"!=typeof Document&&e instanceof Document||"undefined"!=typeof Element&&e instanceof Element||"undefined"!=typeof Node&&e instanceof Node||"undefined"!=typeof EventTarget&&e instanceof EventTarget)return!0;if(e instanceof Promise)return!0;if("undefined"!=typeof Event&&e instanceof Event)return!0;try{return"[object Window]"===Object.prototype.toString.call(e)}catch{return!0}}(e))return e;const n=new Proxy(e,t||new $o);for(const t in e)if(we(e,t))try{e.constructor.$nonscope&&Array.isArray(e.constructor.$nonscope)&&e.constructor.$nonscope.includes(t)||e.$nonscope&&Array.isArray(e.$nonscope)&&e.$nonscope.includes(t)||(e[t]=po(e[t],n.$handler))}catch{}return n}return e}const fo="$nonscope";class $o{constructor(e,t){this.context=e?e.context?e.context:e:void 0,this.watchers=e?e.watchers:new Map,this.$$listeners=new Map,this.foreignListeners=e?e.foreignListeners:new Map,this.foreignProxies=e?e.foreignProxies:new Set,this.objectListeners=e?e.objectListeners:new WeakMap,this.functionListeners=e?e.functionListeners:new Map,this.$proxy=null,this.$handler=this,this.$target=null,this.$value=null,this.$children=[],this.$id=(lo+=1,lo),this.$root=e?e.$root:this,this.$parent=t||(this.$root===this?null:e),this.$$asyncQueue=[],this.filters=[],this.$$destroyed=!1,this.scheduled=[],this.$scopename=void 0,this.propertyMap={$watch:this.$watch.bind(this),$new:this.$new.bind(this),$newIsolate:this.$newIsolate.bind(this),$destroy:this.$destroy.bind(this),$flushQueue:this.$flushQueue.bind(this),$eval:this.$eval.bind(this),$apply:this.$apply.bind(this),$postUpdate:this.$postUpdate.bind(this),$isRoot:this.#n.bind(this),$on:this.$on.bind(this),$emit:this.$emit.bind(this),$broadcast:this.$broadcast.bind(this),$transcluded:this.$transcluded.bind(this),$handler:this,$merge:this.$merge.bind(this),$getById:this.$getById.bind(this),$searchByName:this.$searchByName.bind(this),$proxy:this.$proxy,$parent:this.$parent,$root:this.$root,$children:this.$children,$id:this.$id,$scopename:this.$scopename}}set(e,t,n,r){if("undefined"===t)return!1;if("$scopename"===t)return this.$scopename=n,!0;if(e.constructor?.$nonscope&&Array.isArray(e.constructor.$nonscope)&&e.constructor.$nonscope.includes(t)||e.$nonscope&&Array.isArray(e.$nonscope)&&e.$nonscope.includes(t))return e[t]=n,!0;this.$proxy=r,this.$target=e;const s=e[t];if(void 0!==s&&Number.isNaN(s)&&Number.isNaN(n))return!0;if(s&&s[d]){if(Array.isArray(n)){if(s!==n){const e=this.watchers.get(t);e&&this.#r(e);const n=this.foreignListeners.get(t);n&&this.#r(n)}return this.objectListeners.get(e[t])&&this.objectListeners.delete(e[t]),e[t]=po(n,this),this.objectListeners.set(e[t],[t]),!0}if(x(n)){if(we(e,t)&&Object.keys(s).filter(e=>!n[e]).forEach(e=>{delete s[e]}),s!==n){const e=this.watchers.get(t);e&&this.#r(e);const r=this.foreignListeners.get(t);r&&this.#r(r),this.#s(n)}return e[t]=po(n,this),!0}if(E(n)){let n=!1;if(Object.keys(s.$target).forEach(e=>{s.$target[e]?.[d]&&(n=!0),delete s[e]}),e[t]=void 0,!n){let e=this.watchers.get(t);e&&this.#r(e)}return!0}if(C(n)){e[t]=n;let s=this.watchers.get(t);if(s&&this.#r(s),Array.isArray(e)&&this.objectListeners.has(r)&&"length"!==t){this.objectListeners.get(r).forEach(e=>{const t=this.watchers.get(e);t&&this.#r(t)})}return!0}return!0}if(E(e[t])&&m(n)&&(this.foreignProxies.add(n),e[t]=n,!this.watchers.has(t)))return!0;if(E(n)?e[t]=n:e[t]=po(n,this),s!==n){let r=this.$target,i=[];if(E(s)&&x(e[t])){this.objectListeners.has(e[t])||this.objectListeners.set(e[t],[t]);for(const e of Object.keys(n))this.watchers.get(e)?.forEach(e=>i.push(e)),r=n}Array.isArray(e)&&this.watchers.get("length")?.forEach(e=>i.push(e)),this.watchers.get(t)?.forEach(e=>i.push(e)),i.length>0&&this.#r(i,e=>e.filter(e=>{if(!e.watchProp)return!0;const t=e.watchProp.split(".").slice(0,-1).join("."),n=ao(t)(e.originalTarget)?.$handler;return r===n?.$target}));let o=this.foreignListeners.get(t);!o&&this.$parent?.foreignListeners&&(o=this.$parent.foreignListeners.get(t)),o&&(this.$target.$$hashKey&&(o=o.filter(e=>!!e.originalTarget.$$hashKey&&e.originalTarget.$$hashKey===this.$target.$$hashKey)),this.#r(o))}if(this.objectListeners.has(r)&&"length"!==t){this.objectListeners.get(r).forEach(e=>{const t=this.watchers.get(e);t&&this.scheduled!==t&&this.#r(t)})}return!0}get(e,t,n){if("$scopename"===t&&this.$scopename)return this.$scopename;if("$$watchersCount"===t)return function(e){const t=mo(e).add(e.$id);return Array.from(e.watchers.values()).reduce((e,n)=>e+n.reduce((e,n)=>e+(t.has(n.scopeId)?1:0),0),0)}(this);if(t===d)return!0;if(e[t]&&m(e[t])?this.$proxy=e[t]:this.$proxy=n,this.propertyMap.$target=e,this.propertyMap.$proxy=n,Array.isArray(e)&&["pop","shift","unshift"].includes(t)){if(this.objectListeners.has(n)){this.objectListeners.get(this.$proxy).forEach(e=>{const t=this.watchers.get(e);t&&(this.scheduled=t)})}"unshift"===t&&this.#r(this.scheduled)}return we(this.propertyMap,t)?(this.$target=e,this.propertyMap[t]):e[t]}deleteProperty(e,t){if(e[t]&&e[t][d]){e[t]=void 0;let n=this.watchers.get(t);if(n&&this.#r(n),this.objectListeners.has(this.$proxy)){this.objectListeners.get(this.$proxy).forEach(e=>{n=this.watchers.get(e),n&&this.#r(n)})}return this.scheduled&&(this.#r(this.scheduled),this.scheduled=[]),!0}if(delete e[t],this.objectListeners.has(this.$proxy)){this.objectListeners.get(this.$proxy).forEach(e=>{const t=this.watchers.get(e);t&&this.#r(t)})}else{const n=this.watchers.get(t);n&&this.#r(n,e[t])}return!0}#s(e){E(e)||Object.keys(e).forEach(t=>{const n=this.watchers.get(t);n&&this.#r(n),x(e[t])&&this.#s(e[t])})}#r(e,t=e=>e){Promise.resolve().then(()=>{let n=0,r=t(e);for(;n<r.length;){const e=r[n];e.foreignListener?e.foreignListener.#i(e,this.$target):this.#i(e,this.$target),n++}})}$watch(e,t,n=!1){le(S(e),"Watched property required"),e=e.trim();const r=ao(e);if(r.constant)return t&&Promise.resolve().then(()=>{let e=r();for(;j(e);)e=e();t(e,this.$target)}),()=>{};const s={originalTarget:this.$target,listenerFn:t,watchFn:r,scopeId:this.$id,id:y(),property:[]};let i=r.decoratedNode.body[0].expression.name,o=[],a=r.decoratedNode.body[0].expression.type;switch(a){case ke:case Ae:throw new Error("Unsupported type "+a);case Te:if(!t){let e=r(this.$target);for(;j(e);)e=e(this.$target);return Promise.resolve().then(e),()=>{}}i=r.decoratedNode.body[0].expression.left.name;break;case _e:i=r.decoratedNode.body[0].expression.toWatch[0]?.test?.name,s.property.push(i);break;case je:{let e=[];return e.push(r.decoratedNode.body[0].expression.left.toWatch[0]?.name),e.push(r.decoratedNode.body[0].expression.right.toWatch[0]?.name),e.forEach(e=>{this.#o(e,s)}),()=>{e.forEach(e=>{this.#a(e,s.id)})}}case Ne:if(r.decoratedNode.body[0].expression.isPure){let e=r.decoratedNode.body[0].expression.toWatch[0];if(i=e.property?e.property.name:e.name,!i)throw new Error("Unable to determine key");s.property.push(i);break}{let e=[];return r.decoratedNode.body[0].expression.toWatch.forEach(t=>{const n=t.property?t.property.name:t.name;if(!n)throw new Error("Unable to determine key");e.push(n)}),e.forEach(e=>{this.#o(e,s),this.#r([s])}),()=>{e.forEach(e=>{this.#a(e,s.id)})}}case Re:{let e=r.decoratedNode.body[0].expression.toWatch[0];if(i=e.property?e.property.name:e.name,!i)throw new Error("Unable to determine key");s.property.push(i);break}case Le:{let e=[];return r.decoratedNode.body[0].expression.toWatch.forEach(t=>{C(t)&&e.push(t.name)}),e.forEach(e=>{this.#o(e,s),this.#r([s])}),()=>{e.forEach(e=>{this.#a(e,s.id)})}}case Ve:if(i=r.decoratedNode.body[0].expression.property.name,i||(i=r.decoratedNode.body[0].expression.object.name),s.property.push(i),e!==i){s.watchProp=e;let t=ao(e.split(".").slice(0,-1).join("."))(s.originalTarget);if(t&&this.foreignProxies.has(t))return t.$handler.#c(i,s),t.$handler.#r([s]),()=>t.$handler.#a(i,s.id)}break;case Me:s.property.push(r.decoratedNode.body[0].expression.name);break;case Pe:throw new Error("Unsupported type "+a);case De:{let e=r.decoratedNode.body[0].expression.elements.map(e=>11===e.type?e.value:e.toWatch[0].name).filter(e=>!!e);return e.forEach(e=>{this.#o(e,s),this.#r([s])}),()=>{e.forEach(e=>{this.#a(e,s.id)})}}case Ue:throw new Error("Unsupported type "+a);case Ie:r.decoratedNode.body[0].expression.properties.forEach(e=>{if(!1===e.key.isPure)o.push(e.key.name),s.property.push(i);else if(e.value.name)o.push(e.value.name),s.property.push(i);else{const e=r.decoratedNode.body[0].expression.toWatch[0];i=e.property?e.property.name:e.name,s.property.push(i)}});break;case He:case qe:case Fe:throw new Error("Unsupported type "+a)}let c=s.watchFn(this.$target);return x(c)&&this.objectListeners.set(c,[i]),o.length>0?o.forEach(e=>{this.#o(e,s)}):this.#o(i,s),n||this.#r([s]),()=>{if(o.length>0){let e=!0;return o.forEach(t=>{this.#a(t,s.id)||(e=!1)}),e}return this.#a(i,s.id)}}$new(e){let t;e?(Object.getPrototypeOf(e)===Object.prototype||Object.getPrototypeOf(e)==this.$target?Object.setPrototypeOf(e,this.$target):Object.setPrototypeOf(Object.getPrototypeOf(e)||e,this.$target),t=e):t=Object.create(this.$target);const n=new Proxy(t,new $o(this));return this.$children.push(n),n}$newIsolate(e){let t=e?Object.create(e):Object.create(null);const n=new Proxy(t,new $o(this,this.$root));return this.$children.push(n),n}$transcluded(e){let t=Object.create(this.$target);const n=new Proxy(t,new $o(this,e));return this.$children.push(n),n}#o(e,t){this.watchers.has(e)?this.watchers.get(e).push(t):this.watchers.set(e,[t])}#c(e,t){this.foreignListeners.has(e)?this.foreignListeners.get(e).push(t):this.foreignListeners.set(e,[t])}#a(e,t){const n=this.watchers.get(e);if(!n)return!1;const r=n.findIndex(e=>e.id===t);return-1!==r&&(n.splice(r,1),n.length?this.watchers.set(e,n):this.watchers.delete(e),!0)}deregisterForeignKey(e,t){const n=this.foreignListeners.get(e);if(!n)return!1;const r=n.findIndex(e=>e.id===t);return-1!==r&&(n.splice(r,1),n.length?this.foreignListeners.set(e,n):this.foreignListeners.delete(e),!0)}$eval(e,t){const n=ao(e)(this,t);return E(n)||null===n||n.name===Object.hasOwnProperty.name?n:j(n)?n():Number.isNaN(n)?0:n}$merge(e){Object.entries(e).forEach(([e,t])=>{this.set(this.$target,e,t,this.$proxy)})}$apply(e){try{return ao(e)(this.$proxy)}catch(e){co(e)}}$on(e,t){let n=this.$$listeners.get(e);return n||(n=[],this.$$listeners.set(e,n)),n.push(t),()=>{const r=n.indexOf(t);-1!==r&&(n.splice(r,1),0==n.length&&this.$$listeners.delete(e))}}$emit(e,...t){return this.#l({name:e,event:void 0,broadcast:!1},...t)}$broadcast(e,...t){return this.#l({name:e,event:void 0,broadcast:!0},...t)}#l({name:e,event:t,broadcast:n},...r){if(!n&&!this.$$listeners.has(e))return this.$parent?this.$parent.$handler.#l({name:e,event:t,broadcast:n},...r):void 0;t?t.currentScope=this.$target:t=t||{name:e,targetScope:this.$target,currentScope:this.$target,stopped:!1,stopPropagation(){t.stopped=!0},preventDefault(){t.defaultPrevented=!0},defaultPrevented:!1};const s=J([t],[t].concat(r),1);let i=this.$$listeners.get(e);if(i){let e=i.length;for(let t=0;t<e;t++)try{i[t].apply(null,s),i.length!==e&&(i.length<e&&t--,e=i.length)}catch(e){co(e)}}return t.currentScope=null,t.stopped?t:n?(this.$children.length>0&&this.$children.forEach(s=>{t=s.$handler.#l({name:e,event:t,broadcast:n},...r)}),t):this.$parent?this.$parent.#l({name:e,event:t,broadcast:n},...r):t}#n(){return this.$root==this}$postUpdate(e){uo.push(e)}$destroy(){if(!this.$$destroyed){if(this.$broadcast("$destroy"),Array.from(this.watchers.entries()).forEach(([e,t])=>{this.watchers.set(e,t.filter(e=>e.scopeId!==this.$id))}),this.#n())this.watchers.clear();else{let e=this.$parent.$children.filter(e=>e.$id==this.$id)[0];this.$parent.$children.splice(this.$parent.$children.indexOf(e),1)}this.$$listeners.clear(),this.$$destroyed=!0}}#i(e,t){const{originalTarget:n,listenerFn:r,watchFn:s}=e;try{let e=s(n);for(E(e)&&(e=s(t)),j(e)&&(e=e(n)),Array.isArray(e)&&e.forEach((t,r)=>{j(t)&&(e[r]=t(n))}),r(e,n),this.$$asyncQueue.forEach(e=>{e.handler.$id==this.$id&&Promise.resolve().then(e.fn(e.handler,e.locals))});uo.length;)uo.shift()()}catch(e){co(e)}}$flushQueue(){for(;uo.length;)uo.shift()()}$getById(e){if(S(e)&&(e=parseInt(e,10)),this.$id===e)return this;{let t;for(const n of this.$children){let r=n.$getById(e);if(r){t=r;break}}return t}}$searchByName(e){const t=(e,n)=>{if(e.$scopename===n)return e;{let r;for(const s of e.$children){let e=t(s,n);if(e){r=e;break}}return r}};return t(this.$root,e)}}function mo(e){const t=new Set([e.$id]);return e.$children?.forEach(e=>{mo(e).forEach(e=>t.add(e))}),t}const go=fe("$templateRequest");function vo(){let e;this.httpOptions=function(t){return t?(e=t,this):e},this.$get=["$exceptionHandler","$templateCache","$http","$sce",function(t,n,r,s){function i(o,a){if(i.totalPendingRequests++,!S(o)||!n.has(o))try{if(!(o=s.getTrustedResourceUrl(o)))return Promise.reject("Template not found")}catch(e){return Promise.reject(e.message)}let c=r.defaults&&r.defaults.transformResponse;return Array.isArray(c)?c=c.filter(function(e){return e!==Hi}):c===Hi&&(c=null),r.get(o,U({cache:n,transformResponse:c},e)).finally(function(){i.totalPendingRequests--}).then(function(e){return n.set(o,e.data),e.data},function(e){a||(e=go("tpload","Failed to load template: {0} (HTTP status: {1} {2})",o,e.status,e.statusText),t(e));return Promise.reject(e)})}return i.totalPendingRequests=0,i}]}class yo{constructor(){this._aHrefSanitizationTrustedUrlList=/^\s*(https?|s?ftp|mailto|tel|file):/,this._imgSrcSanitizationTrustedUrlList=/^\s*((https?|ftp|file|blob):|data:image\/)/}aHrefSanitizationTrustedUrlList(e){return C(e)?(this._aHrefSanitizationTrustedUrlList=e,this):this._aHrefSanitizationTrustedUrlList}imgSrcSanitizationTrustedUrlList(e){return C(e)?(this._imgSrcSanitizationTrustedUrlList=e,this):this._imgSrcSanitizationTrustedUrlList}$get=[Yt.$window,e=>(t,n)=>{if(!t)return t;const r=n?this._imgSrcSanitizationTrustedUrlList:this._aHrefSanitizationTrustedUrlList,s=new URL(t.trim(),e.location.href).href;return""===s||s.match(r)?t:`unsafe:${s}`}]}const bo="ng-active",wo="ng-inactive";class Eo{constructor(e,t,n,r){this.$element=e,this.$scope=t,this.$attrs=n,this.$animate=r,this.latestKey=0,this.nextAttachId=0,this.messages={},this.renderLater=!1,this.cachedCollection=null,this.head=void 0,this.default=void 0,this.$scope.$watch(this.$attrs.ngMessages||this.$attrs.for,this.render.bind(this))}getAttachId(){return this.nextAttachId++}render(e={}){this.renderLater=!1,this.cachedCollection=e;const t=xo(this.$scope,this.$attrs.ngMessagesMultiple)||xo(this.$scope,this.$attrs.multiple),n=[],r={};let s=0,i=this.head,o=!1,a=0;for(;i;){a++;const c=i.message;let l=!1;o||Object.entries(e).forEach(([e,t])=>{if(So(t)&&!l&&(s++,c.test(e))){if(r[e])return;r[e]=!0,l=!0,c.attach()}}),l?o=!t:n.push(c),i=i.next}n.forEach(e=>{e.detach()});const c=n.length!==a,l=this.default&&!c&&s>0;l?this.default.attach():this.default&&this.default.detach(),c||l?this.$animate.setClass(this.$element,bo,wo):this.$animate.setClass(this.$element,wo,bo)}reRender(){this.renderLater||(this.renderLater=!0,Promise.resolve().then(()=>{this.renderLater&&this.cachedCollection&&this.render(this.cachedCollection)}))}register(e,t,n){if(n)this.default=t;else{const n=this.latestKey.toString();this.messages[n]={message:t},this.insertMessageNode(this.$element,e,n),e.$$ngMessageNode=n,this.latestKey++}this.reRender()}deregister(e,t){if(t)delete this.default;else{const t=e.$$ngMessageNode;delete e.$$ngMessageNode,this.removeMessageNode(this.$element,e,t),delete this.messages[t]}this.reRender()}findPreviousMessage(e,t){let n=t;const r=[];for(;n&&n!==e;){const e=n.$$ngMessageNode;if(e&&e.length)return this.messages[e];n.childNodes.length&&-1===r.indexOf(n)?(r.push(n),n=n.childNodes[n.childNodes.length-1]):n.previousSibling?n=n.previousSibling:(n=n.parentNode,r.push(n))}}insertMessageNode(e,t,n){const r=this.messages[n];if(this.head){const n=this.findPreviousMessage(e,t);n?(r.next=n.next,n.next=r):(r.next=this.head,this.head=r)}else this.head=r}removeMessageNode(e,t,n){const r=this.messages[n];if(!r)return;const s=this.findPreviousMessage(e,t);s?s.next=r.next:this.head=r.next}}function Co(e){return{require:"ngMessages",restrict:"AE",controller:(t,n,r)=>new Eo(t,n,r,e)}}function xo(e,t){return S(t)&&0===t.length||So(e.$eval(t))}function So(e){return S(e)?e.length:!!e}function Oo(e,t){return{restrict:"AE",require:"^^ngMessages",link(n,r,s){const i=s.ngMessagesInclude||s.src;e(i).then(e=>{n.$$destroyed||S(e)&&!e.trim()||t(e)(n,e=>{r.after(e)})})}}}Co.$inject=["$animate"],Oo.$inject=["$templateRequest","$compile"];const ko=_o(!1),Ao=_o(!1),To=_o(!0);function _o(e){function t(t){return{restrict:"AE",transclude:"element",priority:1,terminal:!0,require:"^^ngMessages",link(n,r,s,i,o){let a,c,l,u,h,d;if(!e){a=r,l=s.ngMessage||s.when,u=s.ngMessageExp||s.whenExp;const e=function(e){c=e?Array.isArray(e)?e:e.split(/[\s,]+/):null,i.reRender()};u?(e(n.$eval(u)),n.$watch(u,e)):e(l)}i.register(a,d={test:e=>function(e,t){if(e)return Array.isArray(e)?e.indexOf(t)>=0:we(e,t)}(c,e),attach(){h||o((n,s)=>{t.enter(n,null,r),h=n;const o=h.$$attachId=i.getAttachId();h.addEventListener("$destroy",()=>{h&&h.$$attachId===o&&(i.deregister(a,e),d.detach()),s.$destroy()})})},detach(){if(h){const e=h;h=null,t.leave(e)}}},e),n.$on("$destroy",()=>{i.deregister(a,e)})}}}return t.$inject=["$animate"],t}const jo="ngAriaDisable",No=["BUTTON","A","INPUT","TEXTAREA","SELECT","DETAILS","SUMMARY"],Ro=function(e,t){if(-1!==t.indexOf(e.nodeName))return!0};function Lo(){let e={ariaHidden:!0,ariaChecked:!0,ariaReadonly:!0,ariaDisabled:!0,ariaRequired:!0,ariaInvalid:!0,ariaValue:!0,tabindex:!0,bindKeydown:!0,bindRoleForClick:!0};function t(t,n,r,s){return function(i,o,a){if(we(a,jo))return;const c=a.$normalize(n);!e[c]||Ro(o,r)||a[c]||i.$watch(a[t],e=>{e=s?!e:!!e,o.setAttribute(n,e)})}}this.config=function(t){e=U(e,t)},this.$get=function(){return{config:t=>e[t],$$watchExpr:t}}}function Vo(e){return e.$$watchExpr("ngDisabled","aria-disabled",No,!1)}function Mo(e){return e.$$watchExpr("ngShow","aria-hidden",[],!0)}function Po(){return{restrict:"A",require:"?ngMessages",link(e,t,n){we(n,jo)||t.hasAttribute("aria-live")||t.setAttribute("aria-live","assertive")}}}function Do(e,t){return{restrict:"A",compile(n,r){if(we(r,jo))return;const s=t(r.ngClick);return(t,n,r)=>{Ro(n,No)||(e.config("bindRoleForClick")&&!n.hasAttribute("role")&&n.setAttribute("role","button"),e.config("tabindex")&&!n.hasAttribute("tabindex")&&n.setAttribute("tabindex","0"),!e.config("bindKeydown")||r.ngKeydown||r.ngKeypress||r.ngKeyup||n.addEventListener("keydown",e=>{const n=parseInt(e.key,10);13!==n&&32!==n||(-1!==No.indexOf(e.target.nodeName)||e.target.isContentEditable||e.preventDefault(),s(t,{$event:e}))}))}}}}function Uo(e){return e.$$watchExpr("ngRequired","aria-required",No,!1)}function Io(e){return e.$$watchExpr("ngChecked","aria-checked",No,!1)}function Ho(e){return e.$$watchExpr("ngValue","aria-checked",No,!1)}function qo(e){return e.$$watchExpr("ngHide","aria-hidden",[],!1)}function Fo(e){return e.$$watchExpr("ngReadonly","aria-readonly",No,!1)}function Bo(e){function t(t,n,r,s){return e.config(n)&&!r.getAttribute(t)&&(s||!Ro(r,No))&&("hidden"!==r.getAttribute("type")||"INPUT"!==r.nodeName)}function n(e,t){return!t.getAttribute("role")&&t.getAttribute("type")===e&&!Ro(t,No)}return{restrict:"A",require:"ngModel",priority:200,compile(r,s){if(we(s,jo))return;const i=function(e){const{type:t}=e,{role:n}=e;return"checkbox"===(t||n)||"menuitemcheckbox"===n?"checkbox":"radio"===(t||n)||"menuitemradio"===n?"radio":"range"===t||"progressbar"===n||"slider"===n?"range":""}(s);return{post(r,s,o,a){const c=t("tabindex","tabindex",s,!1);switch(i){case"radio":case"checkbox":n(i,s)&&s.setAttribute("role",i),t("aria-checked","ariaChecked",s,!1)&&a.$watch("$modelValue","radio"===i?function(){s.setAttribute("aria-checked",(o.value==a.$viewValue).toString())}:function(){s.setAttribute("aria-checked",(!a.$isEmpty(a.$viewValue)).toString())}),c&&s.setAttribute("tabindex",0);break;case"range":if(n(i,s)&&s.setAttribute("role","slider"),e.config("ariaValue")){const e=!s.hasAttribute("aria-valuemin")&&(we(o,"min")||we(o,"ngMin")),t=!s.hasAttribute("aria-valuemax")&&(we(o,"max")||we(o,"ngMax")),n=!s.hasAttribute("aria-valuenow");e&&o.$observe("min",e=>{s.setAttribute("aria-valuemin",e)}),t&&o.$observe("max",e=>{s.setAttribute("aria-valuemax",e)}),n&&a.$watch("$modelValue",e=>{s.setAttribute("aria-valuenow",e)})}c&&s.setAttribute("tabindex",0)}!we(o,"ngRequired")&&a.$validators.required&&t("aria-required","ariaRequired",s,!1)&&o.$observe("required",()=>{s.setAttribute("aria-required",(!!o.required).toString())}),t("aria-invalid","ariaInvalid",s,!0)&&a.$watch("$invalid",e=>{s.setAttribute("aria-invalid",(!!e).toString())})}}}}}function zo(e){return function(t,n,r){we(r,jo)||!e.config("tabindex")||n.hasAttribute("tabindex")||Ro(n,No)||n.setAttribute("tabindex",0)}}Vo.$inject=[Yt.$aria],Mo.$inject=[Yt.$aria],Do.$inject=[Yt.$aria,Yt.$parse],Uo.$inject=[Yt.$aria],Io.$inject=["$aria"],Ho.$inject=[Yt.$aria],qo.$inject=[Yt.$aria],Fo.$inject=[Yt.$aria],Bo.$inject=[Yt.$aria],zo.$inject=[Yt.$aria];const Wo=0,Ko=1,Qo=2;let Go=[],Jo=!1;function Zo(){const e=Go;Go=[],Jo=!1;for(let t=0;t<e.length;t++)e[t]()}function Yo(e){Go.push(e),Jo||(Jo=!0,("function"==typeof requestAnimationFrame?requestAnimationFrame:setTimeout)(Zo,0))}class Xo{static chain(e,t){let n=0;const r=(s=!0)=>{!s||n>=e.length?t(s):e[n++].done(r)};r()}static all(e,t){let n=e.length,r=!0;for(const s of e)s.done(e=>{r=r&&!1!==e,0===--n&&t(r)})}constructor(e){this.host=e||{},this._doneCallbacks=[],this._state=Wo,this._promise=null,this._schedule=Yo}setHost(e){this.host=e||{}}done(e){this._state===Qo?e(!0):this._doneCallbacks.push(e)}progress(...e){this.host.progress?.(...e)}pause(){this.host.pause?.()}resume(){this.host.resume?.()}end(){this.host.end?.(),this._finish(!0)}cancel(){this.host.cancel?.(),this._finish(!1)}complete(e=!0){this._state===Wo&&(this._state=Ko,this._schedule(()=>this._finish(e)))}getPromise(){return this._promise||(this._promise=new Promise((e,t)=>{this.done(n=>{!1===n?t():e()})})),this._promise}then(e,t){return this.getPromise().then(e,t)}catch(e){return this.getPromise().catch(e)}finally(e){return this.getPromise().finally(e)}_finish(e){if(this._state===Qo)return;this._state=Qo;const t=this._doneCallbacks;for(let n=0;n<t.length;n++)t[n](e);t.length=0}}const ea="$$animateCss",ta=1e3,na={transitionDuration:ot,transitionDelay:it,transitionProperty:Ge+et,animationDuration:st,animationDelay:rt,animationIterationCount:Ze+"IterationCount"},ra={transitionDuration:ot,transitionDelay:it,animationDuration:st,animationDelay:rt};function sa(e,t){return[t?rt:it,`${e}s`]}function ia(e,t){const n=Object.create(null),r=window.getComputedStyle(e)||{};return Object.entries(t).forEach(([e,t])=>{let s=r[t];if(s){const t=s.charAt(0);("-"===t||"+"===t||t>=0)&&(s=function(e){let t=0;return e.split(/\s*,\s*/).forEach(e=>{"s"===e.charAt(e.length-1)&&(e=e.substring(0,e.length-1)),e=parseFloat(e)||0,t=t?Math.max(e,t):e}),t}(s)),0===s&&(s=null),n[e]=s}}),n}function oa(e){return 0===e||null!=e}function aa(e,t){let n=Ge,r=`${e}s`;return t?n+=Xe:r+=" linear all",[n,r]}function ca(e,t,n){n.forEach(n=>{e[n]=C(e[n])?e[n]:t.style.getPropertyValue(n)})}function la(){let e;this.$get=["$$animateCache","$$rAFScheduler",function(t,n){const r=function(e,t){t.addClass&&(e.classList.add(...t.addClass.trim().split(" ")),t.addClass=null),t.removeClass&&(e.classList.remove(...t.removeClass.trim().split(" ")),t.removeClass=null)};const s=[];function i(e){s.push(e),n.waitUntilQuiet(()=>{t.flush();const e=document.body.offsetWidth+1;for(let t=0;t<s.length;t++)s[t](e);s.length=0})}function o(e,n,r){const s=function(e,n,r,s){let i=t.get(n);i||(i=ia(e,s),"infinite"===i.animationIterationCount&&(i.animationIterationCount=1));const o=r||i.transitionDuration>0||i.animationDuration>0;return t.put(n,i,o),i}(e,n,r,na),i=s.animationDelay,o=s.transitionDelay;return s.maxDelay=i&&o?Math.max(i,o):i||o,s.maxDuration=Math.max(s.animationDuration*s.animationIterationCount,s.transitionDuration),s}return function(n,s){let a,c=s||{};c.$$prepared||(c=lt(structuredClone(c)));const l={},u=n;if(!u||!u.parentNode)return q();const h=[],d=function(e){const t={};return e&&(e.to||e.from)&&(t.to=e.to,t.from=e.from),t}(c);let p,f,$,m,g,v,y,b,w,E;const C=[];if(0===c.duration)return q();const x=c.event&&Array.isArray(c.event)?c.event.join(" "):c.event,S=x&&c.structural;let O="",k="";S?O=at(x,"ng-",!0):x&&(O=x),c.addClass&&(k+=at(c.addClass,Be)),c.removeClass&&(k.length&&(k+=" "),k+=at(c.removeClass,ze)),c.applyClassesEarly&&k.length&&r(n,c);let A=[O,k].join(" ").trim();const T=d.to&&Object.keys(d.to).length>0;if(!((c.keyframeStyle||"").length>0)&&!T&&!A)return q();let _,j,N=t.cacheKey(u,x,c.addClass,c.removeClass);if(t.containsCachedAnimationWithoutDuration(N))return A=null,q();if(c.stagger>0){const e=parseFloat(c.stagger);_={transitionDelay:e,animationDelay:e,transitionDuration:0,animationDuration:0}}else _=function(e,n,r,s){let i;const o=`stagger-${r}`;if(t.count(r)>0&&(i=t.get(o),!i)){const r=at(n,"-stagger");e.className+=` ${r}`,i=ia(e,s),i.animationDuration=Math.max(i.animationDuration,0),i.transitionDuration=Math.max(i.transitionDuration,0),e.classList.remove(r),t.put(o,i,!0)}return i||{}}(u,A,N,ra);if(c.$$skipPreparationClasses||n.classList.add(...A.split(" ").filter(e=>""!==e)),c.transitionStyle){const e=[Ge,c.transitionStyle];$t(u,e),h.push(e)}if(c.duration>=0){j=u.style[Ge].length>0;const e=aa(c.duration,j);$t(u,e),h.push(e)}if(c.keyframeStyle){const e=[Ze,c.keyframeStyle];$t(u,e),h.push(e)}const R=_?c.staggerIndex>=0?c.staggerIndex:t.count(N):0,L=0===R;L&&!c.skipBlocking&&ua(u,9999);let V=o(u,N,!S),M=V.maxDelay;v=Math.max(M,0),b=V.maxDuration;const P={};return P.hasTransitions=V.transitionDuration>0,P.hasAnimations=V.animationDuration>0,P.hasTransitionAll=P.hasTransitions&&"all"===V.transitionProperty,P.applyTransitionDuration=T&&(P.hasTransitions&&!P.hasTransitionAll||P.hasAnimations&&!P.hasTransitions),P.applyAnimationDuration=c.duration&&P.hasAnimations,P.applyTransitionDelay=oa(c.delay)&&(P.applyTransitionDuration||P.hasTransitions),P.applyAnimationDelay=oa(c.delay)&&P.hasAnimations,P.recalculateTimingStyles=k.length>0,(P.applyTransitionDuration||P.applyAnimationDuration)&&(b=c.duration?parseFloat(c.duration):b,P.applyTransitionDuration&&(P.hasTransitions=!0,V.transitionDuration=b,j=u.style[Ge+et].length>0,h.push(aa(b,j))),P.applyAnimationDuration&&(P.hasAnimations=!0,V.animationDuration=b,h.push([st,`${b}s`]))),0!==b||P.recalculateTimingStyles?(e=at(A,We),null!=c.delay&&("boolean"!=typeof c.delay&&(a=parseFloat(c.delay),v=Math.max(a,0)),P.applyTransitionDelay&&h.push(sa(a)),P.applyAnimationDelay&&h.push(sa(a,!0))),null==c.duration&&V.transitionDuration>0&&(P.recalculateTimingStyles=P.recalculateTimingStyles||L),y=v*ta,w=b*ta,c.skipBlocking||(P.blockTransition=V.transitionDuration>0,P.blockKeyframeAnimation=V.animationDuration>0&&_.animationDelay>0&&0===_.animationDuration),c.from&&(c.cleanupStyles&&ca(l,u,Object.keys(c.from)),ht(n,c)),P.blockTransition||P.blockKeyframeAnimation?H(b):c.skipBlocking||ua(u,!1),{$$willAnimate:!0,end:D,start(){if(!p)return g={end:D,cancel:U,resume:null,pause:null},m=new Xo(g),i(B),m}}):q();function D(){I()}function U(){I(!0)}function I(t){if(p||$&&f)return;p=!0,f=!1,A&&!c.$$skipPreparationClasses&&n.classList.remove(...A.split(" ")),e=at(A,We),e&&n.classList.remove(...e.split(" ")),ft(u,!1),ua(u,!1),h.forEach(e=>{u.style[e[0]]=""}),r(n,c),ut(n,c),Object.keys(l).length&&Object.entries(l).forEach(([e,t])=>{t?u.style.setProperty(e,t):u.style.removeProperty(e)}),c.onDone&&c.onDone(),C&&C.length&&C.forEach(e=>n.removeEventListener(e,F));const s=Lt(n,ea);s&&(clearTimeout(s[0].timer),kt(n,ea)),m&&m.complete(!t)}function H(e){P.blockTransition&&ua(u,e),P.blockKeyframeAnimation&&ft(u,!!e)}function q(){return m=new Xo({end:D,cancel:U}),i(()=>{}),I(),{$$willAnimate:!1,start:()=>m,end:D}}function F(e){e.stopPropagation();const t=e.originalEvent||e;if(t.target!==u)return;const n=t.$manualTimeStamp||Date.now(),r=parseFloat(t.elapsedTime.toFixed(3));Math.max(n-E,0)>=y&&r>=b&&($=!0,I())}function B(){if(p)return;if(!u.parentNode)return void I();const s=function(e){if($)f&&e&&(f=!1,I());else if(f=!e,V.animationDuration){const e=ft(u,f);f?h.push(e):function(e,t){const n=e.indexOf(t);t>=0&&e.splice(n,1)}(h,e)}},i=R>0&&(V.transitionDuration&&0===_.transitionDuration||V.animationDuration&&0===_.animationDuration)&&Math.max(_.animationDelay,_.transitionDelay);function d(){if(p)return;if(H(!1),h.forEach(e=>{const t=e[0];u.style[t]=e[1]}),r(n,c),n.classList.add(...e.split(" ").filter(e=>""!==e)),P.recalculateTimingStyles){if(N=t.cacheKey(u,x,c.addClass,c.removeClass),V=o(u,N,!1),M=V.maxDelay,v=Math.max(M,0),b=V.maxDuration,0===b)return void I();P.hasTransitions=V.transitionDuration>0,P.hasAnimations=V.animationDuration>0}if(P.applyAnimationDelay&&(M="boolean"!=typeof c.delay&&oa(c.delay)?parseFloat(c.delay):M,v=Math.max(M,0),V.animationDelay=M,a=sa(M,!0),h.push(a),u.style[a[0]]=a[1]),y=v*ta,w=b*ta,c.easing){let e;const t=c.easing;P.hasTransitions&&(e=Ge+nt,h.push([e,t]),u.style[e]=t),P.hasAnimations&&(e=Ze+nt,h.push([e,t]),u.style[e]=t)}V.transitionDuration&&C.push(Je),V.animationDuration&&C.push(Ye),E=Date.now();const s=y+1.5*w,i=E+s,d=Lt(n,ea)||[];let f=!0;if(d.length){const e=d[0];f=i>e.expectedEndTime,f?clearTimeout(e.timer):d.push(I)}if(f){const e=setTimeout(m,s,!1);d[0]={timer:e,expectedEndTime:i},d.push(I),Rt(n,ea,d)}C.length&&C.forEach(e=>{n.addEventListener(e,F)}),c.to&&(c.cleanupStyles&&ca(l,u,Object.keys(c.to)),dt(n,c))}function m(){const e=Lt(n,ea);if(e){for(let t=1;t<e.length;t++)e[t]();kt(n,ea)}}i?setTimeout(d,Math.floor(i*R*ta),!1):d(),g.resume=function(){s(!0)},g.pause=function(){s(!1)}}}}]}function ua(e,t){const n=t?`-${t}s`:"";return $t(e,[it,n]),[it,n]}const ha="data-ng-animate",da="$ngAnimatePin";function pa(e){const t=this.rules={skip:[],cancel:[],join:[]};function n(e){return{addClass:e.addClass,removeClass:e.removeClass,from:e.from,to:e.to}}function r(e,t){if(e&&t){const n=function(e){if(!e)return null;const t=e.split(" "),n=Object.create(null);return t.forEach(e=>{n[e]=!0}),n}(t);return e.split(" ").some(e=>n[e])}}function s(e,n,r){return t[e].some(e=>e(n,r))}function i(e,t){const n=(e.addClass||"").length>0,r=(e.removeClass||"").length>0;return t?n&&r:n||r}t.join.push(e=>!e.structural&&i(e)),t.skip.push(e=>!e.structural&&!i(e)),t.skip.push((e,t)=>"leave"===t.event&&e.structural),t.skip.push((e,t)=>t.structural&&2===t.state&&!e.structural),t.cancel.push((e,t)=>t.structural&&e.structural),t.cancel.push((e,t)=>2===t.state&&e.structural),t.cancel.push((e,t)=>{if(t.structural)return!1;const n=e.addClass,s=e.removeClass,i=t.addClass,o=t.removeClass;return!(E(n)&&E(s)||E(i)&&E(o))&&(r(n,o)||r(s,i))}),this.$get=[Yt.$rootScope,Yt.$injector,Yt.$$animation,Yt.$templateRequest,function(t,r,o,a){const c=new Map,l=new Map;t.templateRequest=a;const u=t.$watch("$templateRequest.totalPendingRequests",e=>{0===e&&(u(),t.$templateRequest=void 0,t.$postUpdate(()=>{t.$postUpdate(()=>{})}))},!0),h=Object.create(null),d=e.customFilter(),p=e.classNameFilter(),f=function(){return!0},$=d||f,m=p?function(e,t){const n=[e.getAttribute("class"),t.addClass,t.removeClass].join(" ");return p.test(n)}:f,g=function(e,t){t.addClass&&(e.classList.add(...t.addClass.trim().split(" ")),t.addClass=null),t.removeClass&&(e.classList.remove(...t.removeClass.trim().split(" ")),t.removeClass=null)};function v(e,t){return pt(e,t,{})}const y=window.Node.prototype.contains||function(e){return this===e||!!(16&this.compareDocumentPosition(e))};function b(e,t,n){const r=ct(t);return e.filter(e=>!(e.node===r&&(!n||e.callback===n)))}function w(e,t){"close"!==e||t.parentNode||O.off(t)}let O={on(e,t,n){const r=ct(t);h[e]=h[e]||[],h[e].push({node:r,callback:n}),t.addEventListener("$destroy",()=>{c.get(r)||O.off(e,t,n)})},off(e,t,n){if(1===arguments.length&&!S(arguments[0])){t=arguments[0];for(const e in h)h[e]=b(h[e],t);return}const r=h[e];r&&(h[e]=1===arguments.length?null:b(r,t,n))},pin(e,t){Rt(e,da,t)},push:(e,a,u,d)=>((u=u||{}).domOperation=d,function(e,a,u){let d=u,p=Array.isArray(e)?e.filter(e=>"#comment"!==e.nodeName)[0]:e;const f=p,b=f&&f.parentNode;d=lt(d);const O=new Xo,T=function(){let e=!1;return function(n){e?n():t.$postUpdate(()=>{e=!0,n()})}}();Array.isArray(d.addClass)&&(d.addClass=d.addClass.join(" "));d.addClass&&!S(d.addClass)&&(d.addClass=null);Array.isArray(d.removeClass)&&(d.removeClass=d.removeClass.join(" "));d.removeClass&&!S(d.removeClass)&&(d.removeClass=null);d.from&&!x(d.from)&&(d.from=null);d.to&&!x(d.to)&&(d.to=null);if(!f||!$(f,a,u)||!m(f,d))return D(),O;const _=["enter","move","leave"].indexOf(a)>=0;let j=document.hidden||l.get(f);const N=!j&&c.get(f)||{},R=!!N.state;j||R&&1===N.state||(j=!function(e,t){const n=document.body,s=r.get("$rootElement");let i,o=e===n||"HTML"===e.nodeName,a=e===s,u=!1,h=l.get(e),d=Nt(e,da);d&&(t=d);for(;t&&(a||(a=t===s),t.nodeType===Node.ELEMENT_NODE);){const e=c.get(t)||{};if(!u){const n=l.get(t);if(!0===n&&!1!==h){h=!0;break}!1===n&&(h=!1),u=e.structural}if(E(i)||!0===i){const e=Nt(t,Qe);C(e)&&(i=e)}if(u&&!1===i)break;if(o||(o=t===n),o&&a)break;t=a||(d=Nt(t,da),!d)?t.parentNode:d}return(!u||i)&&!0!==h&&a&&o}(f,b));if(j)return document.hidden&&P(O,a,"start",n(d)),D(),document.hidden&&P(O,a,"close",n(d)),O;_&&function(e){const t=e.querySelectorAll(`[${ha}]`);t.forEach(e=>{const t=parseInt(e.getAttribute(ha),10),n=c.get(e);if(n)switch(t){case 2:n.runner.end();case 1:c.delete(e)}})}(f);const L={structural:_,element:p,event:a,addClass:d.addClass,removeClass:d.removeClass,close:D,options:d,runner:O};if(R){if(s("skip",L,N))return 2===N.state?(D(),O):(pt(p,N,L),N.runner);if(s("cancel",L,N))if(2===N.state)N.runner.end();else{if(!N.structural)return pt(p,N,L),N.runner;N.close()}else{if(s("join",L,N)){if(2!==N.state)return function(e,t,n){let r="";t&&(r=at(t,"ng-",!0)),n.addClass&&(r=mt(r,at(n.addClass,Be))),n.removeClass&&(r=mt(r,at(n.removeClass,ze))),r.length&&(n.preparationClasses=r,e.className+=` ${r}`)}(p,_?a:null,d),a=L.event=N.event,d=pt(p,N,L),N.runner;v(p,L)}}}else v(p,L);let V=L.structural;V||(V="animate"===L.event&&Object.keys(L.options.to||{}).length>0||i(L));if(!V)return D(),k(f),O;const M=(N.counter||0)+1;return L.counter=M,A(f,1,L),t.$postUpdate(()=>{p=function(e){return e instanceof NodeList?Array.from(e).filter(e=>e.nodeType===Node.ELEMENT_NODE):e.nodeType===Node.ELEMENT_NODE?e:void 0}(e);let t=c.get(f);const r=!t;t=t||{};const s=(p.parentElement||[])&&("animate"===t.event||t.structural||i(t));if(r||t.counter!==M||!s)return r&&(g(p,d),ut(p,d)),(r||_&&t.event!==a)&&(d.domOperation(),O.end()),void(s||k(f));a=!t.structural&&i(t,!0)?"setClass":t.event,A(f,2);const l=o(p,a,t.options);O.setHost(l),P(O,a,"start",n(d)),l.done(e=>{D(!e);const t=c.get(f);t&&t.counter===M&&k(f),P(O,a,"close",n(d))})}),setTimeout(t.$flushQueue,0),O;function P(e,t,n,r){T(()=>{const e=function(e,t,n){const r=[],s=h[n];return s&&s.forEach(s=>{(y.call(s.node,t)||"leave"===n&&y.call(s.node,e))&&r.push(s.callback)}),r}(b,f,t);e.length?(e.forEach(e=>{e(p,n,r)}),w(n,f)):w(n,f)}),e.progress(t,n,r)}function D(e){!function(e,t){t.preparationClasses&&(t.preparationClasses.split(" ").forEach(t=>e.classList.remove(t)),t.preparationClasses=null),t.activeClasses&&(t.activeClasses.split(" ").forEach(t=>e.classList.remove(t)),t.activeClasses=null)}(p,d),g(p,d),ut(p,d),d.domOperation(),O.complete(!e)}}(e,a,u))};return O;function k(e){e.removeAttribute(ha),c.delete(e)}function A(e,t,n){(n=n||{}).state=t,e.setAttribute(ha,t);const r=c.get(e),s=r?U(r,n):n;c.set(e,s)}}]}function fa(e){this.$get=[Yt.$injector,function(t){const n=function(e,t){t.addClass&&(e.classList.add(...t.addClass.trim().split(" ")),t.addClass=null),t.removeClass&&(e.classList.remove(...t.removeClass.trim().split(" ")),t.removeClass=null)};return function(r,s,i,o){let a=!1;3===arguments.length&&x(i)&&(o=i,i=null),o=lt(o),i||(i=r.getAttribute("class")||"",o.addClass&&(i+=` ${o.addClass}`),o.removeClass&&(i+=` ${o.removeClass}`));const c=o.addClass,l=o.removeClass,u=function(n){n=Array.isArray(n)?n:n.split(" ");const r=[],s={};for(let i=0;i<n.length;i++){const o=n[i],a=e.$$registeredAnimations[o];a&&!s[o]&&(r.push(t.get(a)),s[o]=!0)}return r}(i);let h,d,p;if(u.length){let e,t;"leave"===s?(t="leave",e="afterLeave"):(t=`before${s.charAt(0).toUpperCase()}${s.substring(1)}`,e=s),"enter"!==s&&"move"!==s&&(h=g(r,s,o,u,t)),d=g(r,s,o,u,e)}if(h||d)return{$$willAnimate:!0,end:()=>(p?p.end():($(),p=new Xo,p.complete(!0)),p),start(){if(p)return p;p=new Xo;const e=[];if(h){const t=new Xo({end(e){(h(e)||(()=>{}))()},cancel(){(h(!0)||(()=>{}))()}});e.push(t)}if(e.length){const t=new Xo({end(e){f(),e(!0)},cancel(){f()}});e.push(t)}else f();if(d){const t=new Xo({end(e){(d(e)||(()=>{}))()},cancel(){(d(!0)||(()=>{}))()}});e.push(t)}return p.setHost({end(){n()},cancel(){n(!0)}}),Xo.chain(e,t),p;function t(e){$(),p.complete(e)}function n(e){a||t(e)}}};function f(){o.domOperation(),n(r,o)}function $(){a=!0,f(),ut(r,o)}function m(e,t,n,r,s){const i=[];return r.forEach(r=>{const o=r[s];o&&i.push(()=>{let r,s,i=!1;const a=function(e){i||(i=!0,(s||(()=>{}))(e),r.complete(!e))};return r=new Xo({end(){a()},cancel(){a(!0)}}),s=function(e,t,n,r,s){let i;switch(n){case"animate":i=[t,r.from,r.to,s];break;case"setClass":i=[t,c,l,s];break;case"addClass":i=[t,c,s];break;case"removeClass":i=[t,l,s];break;default:i=[t,s]}i.push(r);let o=e.apply(e,i);if(o)if(j(o.start)&&(o=o.start()),o instanceof Xo)o.done(s);else if(j(o))return o;return()=>{}}(o,e,t,n,e=>{a(!1===e)}),r})}),i}function g(e,t,n,r,s){let i=m(e,t,n,r,s);if(0===i.length){let t,o;"beforeSetClass"===s?(t=m(e,"removeClass",n,r,"beforeRemoveClass"),o=m(e,"addClass",n,r,"beforeAddClass")):"setClass"===s&&(t=m(e,"removeClass",n,r,"removeClass"),o=m(e,"addClass",n,r,"addClass")),t&&(i=i.concat(t)),o&&(i=i.concat(o))}if(0!==i.length)return function(e){const t=[];return i.length&&i.forEach(e=>{t.push(e())}),t.length?Xo.all(t,e):e(),function(e){t.forEach(t=>{e?t.cancel():t.end()})}}}}}]}pa.$inject=["$animateProvider"],fa.$inject=[Yt.$animate+"Provider"];const $a="$$animationRunner",ma="$$animatePrepareClasses";function ga(){const e="ng-animate-ref",t=this.drivers=[];function n(e){!function(e,t){if(_t(e)){const n=At(e,!1),r=n?.data;r&&we(r,St(t))&&delete r[St(t)]}}(e,$a)}function r(e){return Lt(e,$a)}this.$get=[Yt.$rootScope,Yt.$injector,Yt.$$rAFScheduler,Yt.$$animateCache,function(s,i,o,a){const c=[],l=function(e,t){t.addClass&&(e.classList.add(...t.addClass.trim().split(" ")),t.addClass=null),t.removeClass&&(e.classList.remove(...t.removeClass.trim().split(" ")),t.removeClass=null)};return function(u,h,d){d=lt(d);const p=["enter","move","leave"].indexOf(h)>=0,f=new Xo({end(){v()},cancel(){v(!0)}});if(!t.length)return v(),f;let $=me(u.getAttribute("class"),me(d.addClass,d.removeClass)),{tempClasses:m}=d;return m&&($+=` ${m}`,d.tempClasses=null),p&&Rt(u,ma,`ng-${h}-prepare`),function(e,t){Rt(e,$a,t)}(u,f),c.push({element:u,classes:$,event:h,structural:p,options:d,beforeStart:function(){m=(m?`${m} `:"")+Ke,u.className+=` ${m}`;let e=Lt(u,ma);e&&(u.classList.remove(e),e=null)},close:v}),u.addEventListener("$destroy",function(){const e=r(u);!e||"leave"===h&&d.$$domOperationFired||e.end()}),c.length>1||s.$postUpdate(()=>{const n=[];c.forEach(e=>{r(e.element)?n.push(e):e.close()}),c.length=0;const s=function(t){const n=[],r={};t.forEach((t,s)=>{const{element:i}=t,o=i,{event:a}=t,c=["enter","move"].indexOf(a)>=0,l=t.structural?function(t){const n=`[${e}]`,r=t.hasAttribute(e)?[t]:t.querySelectorAll(n),s=[];return r.forEach(t=>{const n=t.getAttribute(e);n&&n.length&&s.push(t)}),s}(o):[];if(l.length){const t=c?"to":"from";l.forEach(n=>{const i=n.getAttribute(e);r[i]=r[i]||{},r[i][t]={animationID:s,element:n}})}else n.push(t)});const s={},i={};return Object.values(r).forEach(e=>{const{from:r}=e,{to:o}=e;if(!r||!o){const e=r?r.animationID:o.animationID,i=e.toString();return void(s[i]||(s[i]=!0,n.push(t[e])))}const a=t[r.animationID],c=t[o.animationID],l=r.animationID.toString();if(!i[l]){const e=i[l]={structural:!0,beforeStart(){a.beforeStart(),c.beforeStart()},close(){a.close(),c.close()},classes:g(a.classes,c.classes),from:a,to:c,anchors:[]};e.classes.length?n.push(e):(n.push(a),n.push(c))}i[l].anchors.push({out:r.element,in:o.element})}),n}(n),l=[];s.forEach(e=>{const n=e.from?e.from.element:e.element;let s=d.addClass;s=(s?`${s} `:"")+Ke;const o=a.cacheKey(n,e.event,s,d.removeClass);l.push({element:n,domNode:n,fn:function(){let n;const s=e.close;if(a.containsCachedAnimationWithoutDuration(o))return void s();e.beforeStart();if(r(e.anchors?e.from.element||e.to.element:e.element)){const r=function(e){for(let n=t.length-1;n>=0;n--){const r=t[n],s=i.get(r)(e);if(s)return s}}(e);r&&(n=r.start)}if(n){const t=n();t.done(e=>{s(!e)}),function(e,t){e.from&&e.to?(n(e.from.element),n(e.to.element)):n(e.element);function n(e){const n=r(e);n&&n.setHost(t)}}(e,t)}else s()}})});const u=function(e){const t={children:[]};let n;const r=new Map;for(n=0;n<e.length;n++){const t=e[n];r.set(t.domNode,e[n]={domNode:t.domNode,element:t.element,fn:t.fn,children:[]})}for(n=0;n<e.length;n++)s(e[n]);return function(e){const t=[],n=[];let r;for(r=0;r<e.children.length;r++)n.push(e.children[r]);let s=n.length,i=0,o=[];for(r=0;r<n.length;r++){const e=n[r];s<=0&&(s=i,i=0,t.push(o),o=[]),o.push(e),e.children.forEach(e=>{i++,n.push(e)}),s--}return o.length&&t.push(o),t}(t);function s(e){if(e.processed)return e;e.processed=!0;const n=e.domNode;let i,{parentNode:o}=n;for(r.set(n,e);o;){if(i=r.get(o),i){i.processed||(i=s(i));break}o=o.parentNode}return(i||t).children.push(e),e}}(l);for(let e=0;e<u.length;e++){const t=u[e];for(let n=0;n<t.length;n++){const r=t[n],{element:s}=r;if(u[e][n]=r.fn,0===e){kt(s,ma);continue}const i=Lt(s,ma);i&&s.classList.add(i)}}o(u)}),f;function g(e,t){e=e.split(" "),t=t.split(" ");const n=[];for(let r=0;r<e.length;r++){const s=e[r];if("ng-"!==s.substring(0,3))for(let e=0;e<t.length;e++)if(s===t[e]){n.push(s);break}}return n.join(" ")}function v(e){n(u),l(u,d),ut(u,d),d.domOperation(),m&&m.split(" ").forEach(e=>u.classList.remove(e)),f.complete(!e)}}}]}class va{constructor(){this.queue=[],this.cancelFn=null}nextTick(){if(!this.queue.length)return;this.queue.shift().forEach(e=>e()),this.cancelFn||(this.cancelFn=window.requestAnimationFrame(()=>{this.cancelFn=null,this.nextTick()}))}$get(){const e=e=>{this.queue=this.queue.concat(e),this.nextTick()};return e.queue=this.queue,e.waitUntilQuiet=e=>{null!==this.cancelFn&&(window.cancelAnimationFrame(this.cancelFn),this.cancelFn=null),this.cancelFn=window.requestAnimationFrame(()=>{this.cancelFn=null,e(),this.nextTick()})},e}}const ya="$animId";let ba=0;const wa=new Map;function Ea(){return{cacheKey(e,t,n,r){const{parentNode:s}=e,i=[s[ya]??(s[ya]=++ba),t,e.getAttribute("class")];return n&&i.push(n),r&&i.push(r),i.join(" ")},containsCachedAnimationWithoutDuration(e){const t=wa.get(e);return!!t&&!t.isValid},flush(){wa.clear()},count:e=>wa.get(e)?.total??0,get:e=>wa.get(e)?.value,put(e,t,n){const r=wa.get(e);r?(r.total++,r.value=t):wa.set(e,{total:1,value:t,isValid:n})}}}function Ca(){this.$get=[Ea]}const xa="ng-animate-shim",Sa="ng-anchor",Oa="ng-anchor-out",ka="ng-anchor-in";function Aa(e){e.drivers.push("$$animateCssDriver"),this.$get=["$animateCss","$rootElement",function(e,t){const n=document.body,r=t,s=(i=r).parentNode&&11===i.parentNode.nodeType||n.contains(r)?r:n;var i;return function(t){return t.from&&t.to?function(t,r,i){const a=o(t),c=o(r),l=[];if(i.forEach(t=>{const r=function(t,r){const i=t.cloneNode(!0),o=Ta(d(i));let a;t[0].classList.add(xa),r[0].classList.add(xa),i.classList.add(Sa),s.append(i);const c=h();if(!c&&(a=p(),!a))return f();const l=c||a;return{start(){let e,t=l.start();return t.done(()=>{if(t=null,!a&&(a=p(),a))return t=a.start(),t.done(()=>{t=null,f(),e.complete()}),t;f(),e.complete()}),e=new Xo({end:n,cancel:n}),e;function n(){t&&t.end()}}};function u(e){const t={},r=e.getBoundingClientRect();return["width","height","top","left"].forEach(e=>{let s=r[e];switch(e){case"top":s+=n.scrollTop;break;case"left":s+=n.scrollLeft}t[e]=`${Math.floor(s)}px`}),t}function h(){const n=e(i,{addClass:Oa,delay:!0,from:u(t)});return n.$$willAnimate?n:null}function d(e){return e.getAttribute("class")||""}function p(){const t=Ta(d(r)),n=_a(t,o),s=_a(o,t),a=e(i,{to:u(r),addClass:`${ka} ${n}`,removeClass:`${Oa} ${s}`,delay:!0});return a.$$willAnimate?a:null}function f(){i.remove(),t[0].classList.remove(xa),r[0].classList.remove(xa)}}(t.out,t.in);r&&l.push(r)}),!a&&!c&&0===l.length)return;return{start(){const e=[];a&&e.push(a.start()),c&&e.push(c.start()),l.forEach(t=>{e.push(t.start())});const t=new Xo({end:n,cancel:n});return Xo.all(e,e=>{t.complete(e)}),t;function n(){e.forEach(e=>{e.end()})}}}}(t.from,t.to,t.anchors):o(t)};function o(t){const n=t.options||{};t.structural&&(n.event=t.event,n.structural=!0,n.applyClassesEarly=!0,"leave"===t.event&&(n.onDone=n.domOperation)),n.preparationClasses&&(n.event=mt(n.event,n.preparationClasses));const r=e(t.element,n);return r.$$willAnimate?r:null}}]}function Ta(e){return e.replace(/\bng-\S+\b/g,"")}function _a(e,t){return S(e)&&(e=e.split(" ")),S(t)&&(t=t.split(" ")),e.filter(e=>-1===t.indexOf(e)).join(" ")}function ja(e){e.drivers.push("$$animateJsDriver"),this.$get=["$$animateJs",function(e){return function(e){if(e.from&&e.to){const n=t(e.from),r=t(e.to);if(!n&&!r)return;return{start(){const e=[];n&&e.push(n.start()),r&&e.push(r.start()),Xo.all(e,function(e){t.complete(e)});const t=new Xo({end:s(),cancel:s()});return t;function s(){return function(){e.forEach(e=>{e.end()})}}}}}return t(e)};function t(t){const{element:n,event:r,options:s,classes:i}=t;return e(n,r,i,s)}}]}function Na(e){return{restrict:"A",transclude:"element",terminal:!0,priority:550,link(t,n,r,s,i){let o,a;t.$watch(r.ngAnimateSwap||r.for,t=>{o&&e.leave(o),a&&(a.$destroy(),a=null),t&&i((t,r)=>{o=t,a=r,e.enter(t,null,n)})})}}}function Ra(e){return{link(t,n,r){const s=r.ngAnimateChildren;function i(e){Rt(n,Qe,e="on"===e||"true"===e)}S(s)&&0===s.length?Rt(n,Qe,!0):(i(e(s)(t)),r.$observe("ngAnimateChildren",i))}}}function La(e,t){if(e===t)return!0;if(null===e||null===t)return!1;if(e!=e&&t!=t)return!0;const n=typeof e;if(n!==typeof t||"object"!==n)return!1;const r=[e,t];if(r.every(Array.isArray))return i=t,(s=e).length===i.length&&Ja(s,i).reduce((e,t)=>e&&La(t[0],t[1]),!0);var s,i;if(r.every(T))return e.getTime()===t.getTime();if(r.every(N))return e.toString()===t.toString();if(r.every(j))return!0;if([j,Array.isArray,T,N].some(e=>!!e(r)))return!1;const o={};for(const n in e){if(!La(e[n],t[n]))return!1;o[n]=!0}for(const e in t)if(!o[e])return!1;return!0}function Va(e,t){const n=Object.create(e);return t&&Object.assign(n,t),n}function Ma(e,t){const n=e.indexOf(t);return-1!==n&&e.splice(n,1),e}function Pa(e,...t){const n=Object.assign({},...t.reverse());return Object.assign(n,Da(e||{},Object.keys(n)))}function Da(e,t){const n={};for(const r in e)-1!==t.indexOf(r)&&(n[r]=e[r]);return n}function Ua(e,t){return Object.keys(e).filter(e=>!t.includes(e)).reduce((t,n)=>(t[n]=e[n],t),{})}function Ia(e,t){const n=Array.isArray(e),r=n?[]:{},s=n?e=>r.push(e):(e,t)=>r[t]=e;return Object.entries(e).forEach(([e,n])=>{t(n,e)&&s(n,e)}),r}function Ha(e,t){let n;return Object.entries(e).forEach(([e,r])=>{n||t(r,e)&&(n=r)}),n}function qa(e,t,n){return n=n||(Array.isArray(e)?[]:{}),Object.entries(e).forEach(([e,r])=>n[e]=t(r,e)),n}Aa.$inject=["$$animationProvider"],ja.$inject=["$$animationProvider"],Na.$inject=[Yt.$animate],Ra.$inject=[Yt.$interpolate];const Fa=(e,t)=>e&&t,Ba=(e,t)=>e||t,za=(e,t)=>e.concat(t);function Wa(e,t){return e.push(t),e}const Ka=(e,t)=>e.includes(t)?e:Wa(e,t),Qa=e=>e.reduce(za,[]),Ga=function(e,t="assert failure"){return n=>{const r=e(n);if(!r)throw new Error(t);return r}};function Ja(...e){if(0===e.length)return[];const t=e.reduce((e,t)=>Math.min(t.length,e),9007199254740991),n=[];for(let r=0;r<t;r++)switch(e.length){case 1:n.push([e[0][r]]);break;case 2:n.push([e[0][r],e[1][r]]);break;case 3:n.push([e[0][r],e[1][r],e[2][r]]);break;case 4:n.push([e[0][r],e[1][r],e[2][r],e[3][r]]);break;default:n.push(e.map(e=>e[r]))}return n}function Za(e,t){let n,r;if(Array.isArray(t)&&([n,r]=t),!S(n))throw new Error("invalid parameters to applyPairs");return e[n]=r,e}function Ya(e){return e.length>0?e[e.length-1]:void 0}function Xa(e,t){return t&&Object.keys(t).forEach(e=>delete t[e]),t||(t={}),Object.assign(t,e)}const ec=e=>e.catch(()=>0)&&e,tc=e=>ec(Promise.reject(e));function nc(e){return function t(){if(arguments.length>=e.length)return e.apply(this,arguments);const n=Array.prototype.slice.call(arguments);return t.bind(this,...n)}}const rc=nc((e,t,n)=>n&&n[e]===t),sc=e=>{const t=e.split(".");return e=>t.reduce((e,t)=>e&&e[t],e)};function ic(e){return function(t){return null!=t&&t.constructor===e||t instanceof e}}const oc=e=>()=>e;function ac(e){return function(t){for(let n=0;n<e.length;n++)if(e[n][0](t))return e[n][1](t)}}class cc{constructor(e){this.pattern=/.*/,this.inherit=!0,Object.assign(this,e),this.name=void 0}is(e){return!!e}encode(e){return e}decode(e){return e}equals(e,t){return e==t}$subPattern(){const e=this.pattern.toString();return e.substring(1,e.length-2)}toString(){return`{ParamType:${this.name}}`}$normalize(e){return this.is(e)?e:this.decode(e)}$asArray(e,t){if(!e)return this;if("auto"===e&&!t)throw new Error("'auto' array mode is for query parameters only");return new lc(this,e)}}function lc(e,t){function n(e){return Array.isArray(e)?e:C(e)?[e]:[]}function r(e,r){return function(s){if(Array.isArray(s)&&0===s.length)return s;const i=qa(n(s),e);return!0===r?0===Ia(i,e=>!e).length:function(e){switch(e.length){case 0:return;case 1:return"auto"===t?e[0]:e;default:return e}}(i)}}function s(e){return function(t,r){const s=n(t),i=n(r);if(s.length!==i.length)return!1;for(let t=0;t<s.length;t++)if(!e(s[t],i[t]))return!1;return!0}}["encode","decode","equals","$normalize"].forEach(t=>{const n=e[t].bind(e),i="equals"===t?s:r;this[t]=i(n)}),Object.assign(this,{dynamic:e.dynamic,name:e.name,pattern:e.pattern,inherit:e.inherit,raw:e.raw,is:r(e.is.bind(e),!0),$arrayMode:t})}class uc{constructor(){this.enqueue=!0,this.typeQueue=[],this.defaultTypes=Da(uc.prototype,["hash","string","query","path","int","bool","date","json","any"]);this.types=Va(qa(this.defaultTypes,(e,t)=>new cc(Object.assign({name:t},e))),{})}type(e,t,n){if(!C(t))return this.types[e];if(we(this.types,e))throw new Error(`A type named '${e}' has already been defined.`);return this.types[e]=new cc(Object.assign({name:e},t)),n&&(this.typeQueue.push({name:e,def:n}),this.enqueue||this._flushTypeQueue()),this}_flushTypeQueue(){for(;this.typeQueue.length;){const e=this.typeQueue.shift();if(e.pattern)throw new Error("You cannot override a type's .pattern at runtime.");Object.assign(this.types[e.name],window.angular.$injector.invoke(e.def))}}}!function(){const e=e=>{const t=e=>null!=e?e.toString():e,n={encode:t,decode:t,is:ic(String),pattern:/.*/,equals:(e,t)=>e==t};return Object.assign({},n,e)};Object.assign(uc.prototype,{string:e({}),path:e({pattern:/[^/]*/}),query:e({}),hash:e({inherit:!1}),int:e({decode:e=>parseInt(e,10),is:function(e){return!k(e)&&this.decode(e.toString())===e},pattern:/-?\d+/}),bool:e({encode:e=>e?1:0,decode:e=>0!==parseInt(e,10),is:ic(Boolean),pattern:/[01]/}),date:e({encode:function(e){return this.is(e)?[e.getFullYear(),("0"+(e.getMonth()+1)).slice(-2),("0"+e.getDate()).slice(-2)].join("-"):void 0},decode:function(e){if(this.is(e))return e;const t=this.capture.exec(e);return t?new Date(t[1],t[2]-1,t[3]):void 0},is:e=>e instanceof Date&&!isNaN(e.valueOf()),equals:(e,t)=>["getFullYear","getMonth","getDate"].reduce((n,r)=>n&&e[r]()===t[r](),!0),pattern:/[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])/,capture:/([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/}),json:e({encode:JSON.stringify,decode:JSON.parse,is:ic(Object),equals:La,pattern:/[^/]*/}),any:e({encode:e=>e,decode:e=>e,is:()=>!0,equals:La})})}();class hc{constructor(){this.paramTypes=new uc,this._isCaseInsensitive=!1,this._isStrictMode=!0,this._defaultSquashPolicy=!1;const e=this.type("path");e.encode=e=>null!=e?e.toString().replace(/([~/])/g,e=>({"~":"~~","/":"~2F"}[e])):e,e.decode=e=>null!=e?e.toString().replace(/(~~|~2F)/g,e=>({"~~":"~","~2F":"/"}[e])):e,this.paramTypes.enqueue=!1,this.paramTypes._flushTypeQueue()}$get=[function(){return this}];caseInsensitive(e){return this._isCaseInsensitive=C(e)?e:this._isCaseInsensitive}defaultSquashPolicy(e){if(C(e)&&!0!==e&&!1!==e&&!S(e))throw new Error(`Invalid squash policy: ${e}. Valid policies: false, true, arbitrary-string`);return this._defaultSquashPolicy=C(e)?e:this._defaultSquashPolicy}strictMode(e){return this._isStrictMode=C(e)?e:this._isStrictMode}type(e,t,n){const r=this.paramTypes.type(e,t,n);return C(t)?this:r}}class dc{constructor(e={}){Object.assign(this,e)}$inherit(e,t,n){const r=function(e,t){const n=[];for(const r in e.path){if(e.path[r]!==t.path[r])break;n.push(e.path[r])}return n}(t,n),s={},i=[];for(const e in r){if(!r[e]||!r[e].params)continue;const t=r[e].params,n=Object.keys(t);if(n.length)for(const e in n)0==t[n[e]].inherit||i.indexOf(n[e])>=0||(i.push(n[e]),s[n[e]]=this[n[e]])}return Object.assign({},s,e)}}class pc{constructor(e=[],t=null){this._items=Array.isArray(e)?[...e]:[],this._limit=Number.isInteger(t)&&t>0?t:null,this._evictListeners=[]}onEvict(e){this._evictListeners.push(e)}enqueue(e){return this._items.push(e),null!==this._limit&&this._items.length>this._limit&&this.evict(),e}evict(){const e=this._items.shift();return void 0!==e&&this._evictListeners.forEach(t=>t(e)),e}dequeue(){return this._items.length>0?this._items.shift():void 0}clear(){const e=[...this._items];return this._items.length=0,e}size(){return this._items.length}remove(e){const t=this._items.indexOf(e);return-1!==t&&this._items.splice(t,1)[0]}peekTail(){return this._items[this._items.length-1]}peekHead(){return this._items[0]}}class fc{constructor(){this.params=new dc,this.lastStartedTransitionId=-1,this.transitionHistory=new pc([],1),this.successfulTransitions=new pc([],1),this.current=void 0,this.$current=void 0,this.transition=void 0}$get=()=>this}function $c(e){if(Array.isArray(e)&&e.length){const t=e.slice(0,-1),n=e.slice(-1);return!(t.filter(e=>!S(e)).length||n.filter(e=>!j(e)).length)}return j(e)}function mc(e){return null!==e&&"object"==typeof e&&"function"==typeof e.then}function gc(e,t){return t.length<=e?t:t.substring(0,e-3)+"..."}function vc(e){const t=yc(e),n=t.match(/^(function [^ ]+\([^)]*\))/),r=n?n[1]:t,s=e.name||"";return s&&r.match(/function \(/)?"function "+s+r.substring(9):r}function yc(e){const t=Array.isArray(e)?e.slice(-1)[0]:e;return t&&t.toString()||"undefined"}function bc(e){const t=[],n=ac([[E,oc("undefined")],[O,oc("null")],[mc,oc("[Promise]")],[e=>e&&"function"==typeof e.then&&"Rejection"==e.constructor.name,e=>e._transitionRejection.toString()],[e=>x(e)&&!Array.isArray(e)&&e.constructor!==Object&&j(e.toString),e=>e.toString()],[$c,vc],[oc(!0),e=>e]]);function r(e){if(x(e)){if(-1!==t.indexOf(e))return"[circular ref]";t.push(e)}return n(e)}return E(e)?r(e):JSON.stringify(e,(e,t)=>r(t)).replace(/\\"/g,'"')}function wc(e,t){return S(Ya(e))&&S(t)?e.slice(0,-1).concat(Ya(e)+t):Wa(e,t)}function Ec(e){if(!e)return"ng-view (defunct)";const t=e.creationContext?e.creationContext.name||"(root)":"(none)";return`[ng-view#${e.id}:${e.fqn} (${e.name}@${t})]`}function Cc(e){return A(e)?xc[e]:xc[xc[e]]}const xc={RESOLVE:0,TRANSITION:1,HOOK:2,UIVIEW:3,VIEWCONFIG:4},Sc=sc("$id"),Oc=sc("router.$id"),kc=e=>`Transition #${Sc(e)}-${Oc(e)}`;const Ac=new class{constructor(){this._enabled={},this.approximateDigests=0}_set(e,t){t.length||(t=Object.keys(xc).map(e=>parseInt(e,10)).filter(e=>!isNaN(e)).map(e=>xc[e])),t.map(Cc).forEach(t=>this._enabled[t]=e)}enable(...e){this._set(!0,e)}disable(...e){this._set(!1,e)}enabled(e){return!!this._enabled[Cc(e)]}traceTransitionStart(e){this.enabled(xc.TRANSITION)&&console.log(`${kc(e)}: Started -> ${bc(e)}`)}traceTransitionIgnored(e){this.enabled(xc.TRANSITION)&&console.log(`${kc(e)}: Ignored <> ${bc(e)}`)}traceHookInvocation(e,t,n){if(!this.enabled(xc.HOOK))return;const r=sc("traceData.hookType")(n)||"internal",s=sc("traceData.context.state.name")(n)||sc("traceData.context")(n)||"unknown",i=vc(e.registeredHook.callback);console.log(`${kc(t)}: Hook -> ${r} context: ${s}, ${gc(200,i)}`)}traceHookResult(e,t){this.enabled(xc.HOOK)&&console.log(`${kc(t)}: <- Hook returned: ${gc(200,bc(e))}`)}traceResolvePath(e,t,n){this.enabled(xc.RESOLVE)&&console.log(`${kc(n)}: Resolving ${e} (${t})`)}traceResolvableResolved(e,t){this.enabled(xc.RESOLVE)&&console.log(`${kc(t)}: <- Resolved ${e} to: ${gc(200,bc(e.data))}`)}traceError(e,t){this.enabled(xc.TRANSITION)&&console.log(`${kc(t)}: <- Rejected ${bc(t)}, reason: ${e}`)}traceSuccess(e,t){this.enabled(xc.TRANSITION)&&console.log(`${kc(t)}: <- Success ${bc(t)}, final state: ${e.name}`)}traceUIViewEvent(e,t,n=""){this.enabled(xc.UIVIEW)&&console.log(`ng-view: ${function(e,t){for(;t.length<e;)t+=" ";return t}(30,e)} ${Ec(t)}${n}`)}traceUIViewConfigUpdated(e,t){this.enabled(xc.UIVIEW)&&this.traceUIViewEvent("Updating",e,` with ViewConfig from context='${t}'`)}traceUIViewFill(e,t){this.enabled(xc.UIVIEW)&&this.traceUIViewEvent("Fill",e,` with: ${gc(200,t)}`)}traceViewSync(e){if(!this.enabled(xc.VIEWCONFIG))return;const t="uiview component fqn",n="view config state (view name)",r=e.map(({ngView:e,viewConfig:r})=>{const s=e&&e.fqn,i=r&&`${r.viewDecl.$context.name}: (${r.viewDecl.$name})`;return{[t]:s,[n]:i}}).sort((e,n)=>(e[t]||"").localeCompare(n[t]||""));console.table(r)}traceViewServiceEvent(e,t){this.enabled(xc.VIEWCONFIG)&&console.log(`VIEWCONFIG: ${e} ${(e=>{const t=e.viewDecl,n=t.$context.name||"(root)";return`[View#${e.$id} from '${n}' state]: target ng-view: '${t.$ngViewName}@${t.$ngViewContextAnchor}'`})(t)}`)}traceViewServiceUIViewEvent(e,t){this.enabled(xc.VIEWCONFIG)&&console.log(`VIEWCONFIG: ${e} ${Ec(t)}`)}};let Tc="LAZY",_c="WAIT";class jc{constructor(e,t,n,r,s){this.resolved=!1,this.promise=void 0,e instanceof jc?Object.assign(this,e):j(t)?(le(!k(e),"token argument is required"),this.token=e,this.policy=r,this.resolveFn=t,this.deps=n||[],this.data=s,this.resolved=void 0!==s,this.promise=this.resolved?Promise.resolve(this.data):void 0):x(e)&&e.token&&(we(e,"resolveFn")||we(e,"data"))&&(this.token=e.token,this.resolveFn=e.resolveFn,this.deps=e.deps,this.policy=e.policy,this.data=e.data)}getPolicy(e){const t=this.policy||{},n=e&&e.resolvePolicy||{};return{when:t.when||n.when||Tc,async:t.async||n.async||_c}}resolve(e,t){const n=e.findNode(this),r=n&&n.state,s=this.getPolicy(r).async,i=j(s)?s:e=>e;return this.promise=Promise.resolve().then(()=>Promise.all(e.getDependencies(this).map(n=>n.get(e,t)))).then(e=>this.resolveFn.apply(null,e)).then(i).then(e=>(this.data=e,this.resolved=!0,this.resolveFn=null,Ac.traceResolvableResolved(this,t),this.data)),this.promise}get(e,t){return this.promise||this.resolve(e,t)}toString(){return`Resolvable(token: ${bc(this.token)}, requires: [${this.deps.map(bc)}])`}clone(){return new jc(this)}}jc.fromData=(e,t)=>new jc(e,()=>t,null,null,t);class Nc{constructor(e,t,n,r){this._stateRegistry=e,this._identifier=t,this._identifier=t,this._params=Object.assign({},n||{}),this._options=Object.assign({},r||{}),this._definition=e.matcher.find(t,this._options.relative)}name(){return this._definition&&this._definition.name||this._identifier}identifier(){return this._identifier}params(){return this._params}$state(){return this._definition}state(){return this._definition&&this._definition.self}options(){return this._options}exists(){return!(!this._definition||!this._definition.self)}valid(){return!this.error()}error(){const e=this.options().relative;if(!this._definition&&e){const t=e.name?e.name:e;return`Could not resolve '${this.name()}' from state '${t}'`}return this._definition?this._definition.self?void 0:`State '${this.name()}' has an invalid definition`:`No such state '${this.name()}'`}toString(){return`'${this.name()}'${bc(this.params())}`}withState(e){return new Nc(this._stateRegistry,e,this._params,this._options)}withParams(e,t=!1){const n=t?e:Object.assign({},this._params,e);return new Nc(this._stateRegistry,this._identifier,n,this._options)}withOptions(e,t=!1){const n=t?e:Object.assign({},this._options,e);return new Nc(this._stateRegistry,this._identifier,this._params,n)}}Nc.isDef=e=>e&&e.state&&(S(e.state)||x(e.state)&&S(e.state.name));const Rc=0,Lc=1,Vc=2;function Mc(e,t,n){const r=!1===n.reloadOnSearch&&t===Lc||void 0,s=Ha([n.dynamic,r],C),i=C(s)?{dynamic:s}:{},o=function(e){function t(){return e.value}e=(e=>0===["value","type","squash","array","dynamic"].filter(Object.prototype.hasOwnProperty.bind(e||{})).length)(e)?{value:e}:e,t.__cacheable=!0;const n=$c(e.value)?e.value:t;return Object.assign(e,{$$fn:n})}(n&&n.params&&n.params[e]);return Object.assign(i,o)}class Pc{constructor(e,t,n,r,s){const i=Mc(e,n,s);t=function(e,t,n,r,s){if(e.type&&t&&"string"!==t.name)throw new Error(`Param '${r}' has two type configurations.`);if(e.type&&t&&"string"===t.name&&s.type(e.type))return s.type(e.type);if(t)return t;if(!e.type){const e=n===Vc?"any":n===Rc?"path":n===Lc?"query":"string";return s.type(e)}return e.type instanceof cc?e.type:s.type(e.type)}(i,t,n,e,r.paramTypes);const o=function(){const t={array:n===Lc&&"auto"},r=e.match(/\[\]$/)?{array:!0}:{};return Object.assign(t,r,i).array}();t=o?t.$asArray(o,n===Lc):t;const a=void 0!==i.value||n===Lc,c=C(i.dynamic)?!!i.dynamic:!!t.dynamic,l=C(i.raw)?!!i.raw:!!t.raw,u=function(e,t,n){const r=e.squash;if(!t||!1===r)return!1;if(!C(r)||null==r)return n;if(!0===r||S(r))return r;throw new Error(`Invalid squash policy: '${r}'. Valid policies: false, true, or arbitrary string`)}(i,a,r.defaultSquashPolicy()),h=function(e,t,n,r){const s=[{from:"",to:n||t?void 0:""},{from:null,to:n||t?void 0:""}],i=Array.isArray(e.replace)?e.replace:[];S(r)&&i.push({from:r,to:void 0});const o=qa(i,e=>e.from);return Ia(s,e=>-1===o.indexOf(e.from)).concat(i)}(i,o,a,u),d=C(i.inherit)?!!i.inherit:!!t.inherit;this.isOptional=a,this.type=t,this.location=n,this.id=e,this.dynamic=c,this.raw=l,this.squash=u,this.replace=h,this.inherit=d,this.array=o,this.config=i}isDefaultValue(e){return this.isOptional&&this.type.equals(this.value(),e)}value(e){return e=(e=>{for(const t of this.replace)if(t.from===e)return t.to;return e})(e),E(e)?(()=>{if(this._defaultValueCache)return this._defaultValueCache.defaultValue;if(!window.angular.$injector)throw new Error("Injectable functions cannot be called at configuration time");const e=window.angular.$injector.invoke(this.config.$$fn);if(null!=e&&!this.type.is(e))throw new Error(`Default value (${e}) for parameter '${this.id}' is not an instance of ParamType (${this.type.name})`);return this.config.$$fn.__cacheable&&(this._defaultValueCache={defaultValue:e}),e})():this.type.$normalize(e)}isSearch(){return this.location===Lc}validates(e){if((E(e)||null===e)&&this.isOptional)return!0;const t=this.type.$normalize(e);if(!this.type.is(t))return!1;const n=t;return!(S(n)&&!this.type.pattern.exec(n))}toString(){return`{Param:${this.id} ${this.type} squash: '${this.squash}' optional: ${this.isOptional}}`}static values(e,t={}){const n={};for(const r of e)n[r.id]=r.value(t[r.id]);return n}static changed(e,t={},n={}){return e.filter(e=>!e.type.equals(t[e.id],n[e.id]))}static equals(e,t={},n={}){return 0===Pc.changed(e,t,n).length}static validates(e,t={}){return e.map(e=>e.validates(t[e.id])).reduce(Fa,!0)}}class Dc{constructor(e){if(e instanceof Dc){const t=e;this.state=t.state,this.paramSchema=t.paramSchema.slice(),this.paramValues=Object.assign({},t.paramValues),this.resolvables=t.resolvables.slice(),this.views=t.views&&t.views.slice()}else{const t=e;this.state=t,this.paramSchema=t.parameters({inherit:!1}),this.paramValues={},this.resolvables=t.resolvables.map(e=>e.clone())}}clone(){return new Dc(this)}applyRawParams(e){return this.paramValues=this.paramSchema.reduce((t,n)=>{return Za(t,[(r=n).id,r.value(e[r.id])]);var r},{}),this}parameter(e){return Ha(this.paramSchema,rc("id",e))}equals(e,t){const n=this.diff(e,t);return n&&0===n.length}diff(e,t){if(this.state!==e.state)return!1;const n=t?t(this):this.paramSchema;return Pc.changed(n,this.paramValues,e.paramValues)}}class Uc{static buildPath(e){const t=e.params();return e.$state().path.map(e=>new Dc(e).applyRawParams(t))}static buildToPath(e,t){const n=Uc.buildPath(t);return t.options().inherit?Uc.inheritParams(e,n,Object.keys(t.params())):n}static applyViewConfigs(e,t,n){t.filter(e=>n.includes(e.state)).forEach(n=>{const r=Object.values(n.state.views||{}),s=Uc.subPath(t,e=>e===n),i=r.map(t=>e.createViewConfig(s,t));n.views=i.reduce(za,[])})}static inheritParams(e,t,n=[]){const r=e.map(e=>e.paramSchema).reduce(za,[]).filter(e=>!e.inherit).map(e=>e.id);return t.map(function(t){let s=Object.assign({},t&&t.paramValues);const i=Da(s,n);s=Ua(s,n);const o=Ua(function(e,t){const n=Ha(e,rc("state",t));return Object.assign({},n&&n.paramValues)}(e,t.state)||{},r),a=Object.assign(s,o,i);return new Dc(t.state).applyRawParams(a)})}static treeChanges(e,t,n){const r=Math.min(e.length,t.length);let s=0;const i=(e,t)=>e.equals(t,Uc.nonDynamicParams);for(;s<r&&e[s].state!==n&&i(e[s],t[s]);)s++;let o,a,c,l,u;o=e,a=o.slice(0,s),c=o.slice(s);const h=a.map(function(e,n){const r=e.clone();return r.paramValues=t[n].paramValues,r});return l=t.slice(s),u=h.concat(l),{from:o,to:u,retained:a,retainedWithToParams:h,exiting:c,entering:l}}static matching(e,t,n){let r=!1;return Ja(e,t).reduce((e,[t,s])=>(r=r||!t.equals(s,n),r?e:e.concat(t)),[])}static equals(e,t,n){return e.length===t.length&&Uc.matching(e,t,n).length===e.length}static subPath(e,t){const n=Ha(e,t),r=e.indexOf(n);return-1===r?void 0:e.slice(0,r+1)}static nonDynamicParams(e){return e.state.parameters({inherit:!1}).filter(e=>!e.dynamic)}static paramValues(e){return e.reduce((e,t)=>Object.assign(e,t.paramValues),{})}}function Ic(e,t){return new Nc(e,t.at(-1).state,t.map(e=>e.paramValues).reduce((e,t)=>({...e,...t}),{}),{})}const Hc={LAZY:"LAZY",EAGER:"EAGER"},qc=[Hc.EAGER,Hc.LAZY],Fc=[Hc.EAGER];class Bc{constructor(e){this._path=e}getTokens(){return this._path.reduce((e,t)=>e.concat(t.resolvables.map(e=>e.token)),[]).reduce(Ka,[])}getResolvable(e){return Ya(this._path.map(e=>e.resolvables).reduce(za,[]).filter(t=>t.token===e))}getPolicy(e){const t=this.findNode(e);return e.getPolicy(t)}subContext(e){return new Bc(Uc.subPath(this._path,t=>t.state===e))}addResolvables(e,t){const n=Ha(this._path,rc("state",t)),r=e.map(e=>e.token);n.resolvables=n.resolvables.filter(e=>-1===r.indexOf(e.token)).concat(e)}resolvePath(e="LAZY",t){const n=(qc.includes(e)?e:"LAZY")===Hc.EAGER?Fc:qc;Ac.traceResolvePath(this._path,e,t);const r=(e,t)=>n=>e.includes(this.getPolicy(n)[t]),s=this._path.reduce((e,s)=>{const i=s.resolvables.filter(r(n,"when")),o=i.filter(r(["NOWAIT"],"async")),a=i.filter(e=>!r(["NOWAIT"],"async")(e)),c=this.subContext(s.state),l=e=>e.get(c,t).then(t=>({token:e.token,value:t}));return o.forEach(l),e.concat(a.map(l))},[]);return Promise.all(s)}findNode(e){return Ha(this._path,t=>t.resolvables.includes(e))}getDependencies(e){const t=this.findNode(e),n=(Uc.subPath(this._path,e=>e===t)||this._path).reduce((e,t)=>e.concat(t.resolvables),[]).filter(t=>t!==e);return e.deps.map(e=>{const t=n.filter(t=>t.token===e);if(t.length)return Ya(t);const r=window.angular.$injector.get(e);if(E(r))throw new Error("Could not find Dependency Injection token: "+bc(e));return new jc(e,()=>r,[],r)})}}const zc=(e,t)=>e.reduce((e,n)=>e||C(t[n]),!1);function Wc(e){if(!e.parent)return{};const t=["component","bindings","componentProvider"],n=["templateProvider","templateUrl","template","notify","async"].concat(["controller","controllerProvider","controllerAs","resolveAs"]),r=t.concat(n);if(C(e.views)&&zc(r,e))throw new Error(`State '${e.name}' has a 'views' object. It cannot also have "view properties" at the state level. Move the following properties into a view (in the 'views' object): ${r.filter(t=>C(e[t])).join(", ")}`);const s={},i=e.views||{$default:Da(e,r)};return Object.entries(i).forEach(([r,i])=>{if(r=r||"$default",S(i)&&(i={component:i}),i=Object.assign({},i),zc(t,i)&&zc(n,i))throw new Error(`Cannot combine: ${t.join("|")} with: ${n.join("|")} in stateview: '${r}@${e.name}'`);i.resolveAs=i.resolveAs||"$resolve",i.$context=e,i.$name=r;const o=Qc.normalizeUIViewTarget(i.$context,i.$name);i.$ngViewName=o.ngViewName,i.$ngViewContextAnchor=o.ngViewContextAnchor,s[r]=i}),s}let Kc=0;class Qc{constructor(e,t,n){this.path=e,this.viewDecl=t,this.factory=n,this.component=void 0,this.template=void 0,this.$id=Kc++,this.loaded=!1,this.getTemplate=(e,t)=>this.component?this.factory.makeComponentTemplate(e,t,this.component,this.viewDecl.bindings):this.template}load(){const e=new Bc(this.path),t=this.path.reduce((e,t)=>Object.assign(e,t.paramValues),{}),n=[Promise.resolve(this.factory.fromConfig(this.viewDecl,t,e)),Promise.resolve(this.getController(e))];return Promise.all(n).then(e=>(Ac.traceViewServiceEvent("Loaded",this),this.controller=e[1],Object.assign(this,e[0]),this))}getController(e){const t=this.viewDecl.controllerProvider;if(!$c(t))return this.viewDecl.controller;const n=yn(t),r=Array.isArray(t)?Ya(t):t;return new jc("",r,n).get(e)}static normalizeUIViewTarget(e,t=""){const n=t.split("@");let r=n[0]||"$default",s=S(n[1])?n[1]:"^";const i=/^(\^(?:\.\^)*)\.(.*$)/.exec(r);i&&(s=i[1],r=i[2]),"!"===r.charAt(0)&&(r=r.substring(1),s="");if(/^(\^(?:\.\^)*)$/.exec(s)){const t=s.split(".").reduce(e=>e.parent,e);s=t.name}else"."===s&&(s=e.name);return{ngViewName:r,ngViewContextAnchor:s}}}class Gc{constructor(){this._ngViews=[],this._viewConfigs=[],this._listeners=[],this.viewConfigFactory(function(){let e=null;return(t,n)=>(e=e||window.angular.$injector.get("$templateFactory"),new Qc(t,n,e))}())}$get=()=>this;rootViewContext(e){return this._rootContext=e||this._rootContext}viewConfigFactory(e){this.viewConfigFactory=e}createViewConfig(e,t){const n=this.viewConfigFactory;if(!n)throw new Error("ViewService: No view config factory registered for type "+t.$type);return n(e,t)}deactivateViewConfig(e){Ac.traceViewServiceEvent("<- Removing",e),Ma(this._viewConfigs,e)}activateViewConfig(e){Ac.traceViewServiceEvent("-> Registering",e),this._viewConfigs.push(e)}sync(){const e=this._ngViews.map(e=>[e.fqn,e]).reduce(Za,{});function t(e){let t=e.viewDecl.$context,n=0;for(;++n&&t.parent;)t=t.parent;return n}const n=nc((e,t,n,r)=>t*(e(n)-e(r))),r=e=>{-1!==this._ngViews.indexOf(e.ngView)&&e.ngView.configUpdated(e.viewConfig)},s=this._ngViews.sort(n(function(e){const t=e=>e&&e.parent?t(e.parent)+1:1;return 1e4*e.fqn.split(".").length+t(e.creationContext)},1)).map(r=>{const s=this._viewConfigs.filter(Gc.matches(e,r));return s.length>1&&s.sort(n(t,-1)),{ngView:r,viewConfig:s[0]}}),i=s.map(e=>e.viewConfig),o=this._viewConfigs.filter(e=>!i.includes(e)).map(e=>({ngView:void 0,viewConfig:e}));s.forEach(e=>{r(e)});const a=s.concat(o);this._listeners.forEach(e=>e(a)),Ac.traceViewSync(a)}registerUIView(e){Ac.traceViewServiceUIViewEvent("-> Registering",e);const t=this._ngViews;return t.filter(t=>t.fqn===e.fqn).length&&Ac.traceViewServiceUIViewEvent("!!!! duplicate ngView named:",e),t.push(e),this.sync(),()=>{-1!==t.indexOf(e)?(Ac.traceViewServiceUIViewEvent("<- Deregistering",e),Ma(t,e)):Ac.traceViewServiceUIViewEvent("Tried removing non-registered ngView",e)}}available(){return this._ngViews.map(e=>e.fqn)}active(){return this._ngViews.filter(e=>e.$config).map(e=>e.name)}}Gc.matches=(e,t)=>n=>{if(t.$type!==n.viewDecl.$type)return!1;const r=n.viewDecl,s=r.$ngViewName.split("."),i=t.fqn.split(".");if(!La(s,i.slice(0-s.length)))return!1;const o=1-s.length||void 0,a=i.slice(0,o).join("."),c=e[a].creationContext;return r.$ngViewContextAnchor===(c&&c.name)};const Jc=2,Zc=3,Yc=4,Xc=5,el=6;let tl=0;class nl{static superseded(e,t){const n=new nl(Jc,"The transition has been superseded by a different transition",e);return t&&t.redirected&&(n.redirected=!0),n}static redirected(e){return nl.superseded(e,{redirected:!0})}static invalid(e){return new nl(Yc,"This transition is invalid",e)}static ignored(e){return new nl(Xc,"The transition was ignored",e)}static aborted(e){return new nl(Zc,"The transition has been aborted",e)}static errored(e){return new nl(el,"The transition errored",e)}static normalize(e){return ic(nl)(e)?e:nl.errored(e)}constructor(e,t,n){this.$id=tl++,this.type=e,this.message=t,this.detail=n,this.redirected=!1}toString(){const e=(t=this.detail)&&t.toString!==Object.prototype.toString?t.toString():bc(t);var t;const{$id:n,type:r,message:s}=this;return`Transition Rejection($id: ${n} type: ${r}, message: ${s}, detail: ${e})`}toPromise(){return Object.assign(tc(this),{_transitionRejection:this})}}class rl{constructor(){this.eventBus=il}$get=()=>this.eventBus}class sl{constructor(e=!1){this.disposed=!1,this.key=1,this.pendingKeys=[],this.publishDepth=0,this.subscriptions=[],this.topics={},this.async_=Boolean(e)}subscribe(e,t,n=null){let r=this.topics[e];r||(r=this.topics[e]=[]);const s=this.key;return this.subscriptions[s]=e,this.subscriptions[s+1]=t,this.subscriptions[s+2]=n,this.key=s+3,r.push(s),s}subscribeOnce(e,t,n=null){let r=!1;const s=this.subscribe(e,(...e)=>{r||(r=!0,this.unsubscribeByKey(s),t.apply(n,e))},this);return s}static runAsync_(e,t,n){Promise.resolve().then(()=>{e.apply(t,n)})}unsubscribe(e,t,n=null){const r=this.topics[e];if(r){const e=this.subscriptions,s=r.find(r=>e[r+1]===t&&e[r+2]===n);if(void 0!==s)return this.unsubscribeByKey(s)}return!1}unsubscribeByKey(e){const t=this.subscriptions[e];if(t){let n=this.topics[t];0!==this.publishDepth?(this.pendingKeys.push(e),this.subscriptions[e+1]=()=>{}):(n&&(this.topics[t]=n.filter(t=>t!==e)),delete this.subscriptions[e],delete this.subscriptions[e+1],delete this.subscriptions[e+2])}return!!t}publish(e,...t){const n=this.topics[e];if(n){const e=t;if(this.async_)for(let t=0;t<n.length;t++){const r=n[t];sl.runAsync_(this.subscriptions[r+1],this.subscriptions[r+2],e)}else{this.publishDepth++;try{for(let t=0,r=n.length;t<r&&!this.isDisposed();t++){const r=n[t];this.subscriptions[r+1].apply(this.subscriptions[r+2],e)}}finally{if(this.publishDepth--,this.pendingKeys.length>0&&0===this.publishDepth){let e;for(;e=this.pendingKeys.pop();)this.unsubscribeByKey(e)}}}return!0}return!1}clear(e){if(e){const t=this.topics[e];t&&(t.forEach(this.unsubscribeByKey,this),delete this.topics[e])}else this.subscriptions.length=0,this.topics={}}getCount(e){if(e){const t=this.topics[e];return t?t.length:0}let t=0;for(const e in this.topics)t+=this.getCount(e);return t}isDisposed(){return this.disposed}dispose(){this.clear(),this.pendingKeys.length=0,this.disposed=!0}}const il=new sl(!0),ol={current:()=>{},transition:null,traceData:{},bind:null},al=Object.freeze({CREATE:0,BEFORE:1,RUN:2,SUCCESS:3,ERROR:4}),cl=Object.freeze({TRANSITION:0,STATE:1});class ll{static chain(e,t){return e.reduce((e,t)=>e.then(()=>t.invokeHook()),t||Promise.resolve())}static invokeHooks(e,t){for(let n=0;n<e.length;n++){const r=e[n].invokeHook();if(mc(r)){const s=e.slice(n+1);return ll.chain(s,r).then(()=>{t()})}}return t()}static runAllHooks(e){e.forEach(e=>e.invokeHook())}constructor(e,t,n,r){this.transition=e,this.stateContext=t,this.registeredHook=n,this.options=r,this.isSuperseded=()=>this.type.hookPhase===al.RUN&&!this.options.transition.isActive(),this.options=Pa(r,ol),this.type=n.eventType}logError(e){il.publish("$stateService:defaultErrorHandler",e)}invokeHook(){const e=this.registeredHook;if(e._deregistered)return;const t=this.getNotCurrentRejection();if(t)return t;const n=this.options;Ac.traceHookInvocation(this,this.transition,n);const r=()=>e.callback.call(n.bind,this.transition,this.stateContext),s=e=>nl.normalize(e).toPromise(),i=t=>e.eventType.getErrorHandler(this)(t),o=t=>e.eventType.getResultHandler(this)(t);try{const e=r();return!this.type.synchronous&&mc(e)?e.catch(s).then(o,i):o(e)}catch(e){return i(nl.normalize(e))}finally{e.invokeLimit&&++e.invokeCount>=e.invokeLimit&&e.deregister()}}handleHookResult(e){const t=this.getNotCurrentRejection();return t||(mc(e)?e.then(e=>this.handleHookResult(e)):(Ac.traceHookResult(e,this.transition),!1===e?nl.aborted("Hook aborted transition").toPromise():e instanceof Nc?nl.redirected(e).toPromise():void 0))}getNotCurrentRejection(){return this.transition._aborted?nl.aborted().toPromise():this.isSuperseded()?nl.superseded(this.options.current()).toPromise():void 0}toString(){const{options:e,registeredHook:t}=this;return`${sc("traceData.hookType")(e)||"internal"} context: ${sc("traceData.context.state.name")(e)||sc("traceData.context")(e)||"unknown"}, ${gc(200,yc(t.callback))}`}}ll.HANDLE_RESULT=e=>t=>e.handleHookResult(t),ll.LOG_REJECTED_RESULT=e=>t=>{mc(t)&&t.catch(t=>e.logError(nl.normalize(t)))},ll.LOG_ERROR=e=>t=>e.logError(t),ll.REJECT_ERROR=()=>e=>tc(e),ll.THROW_ERROR=()=>e=>{throw e};class ul{static fromString(e){return function(e){return!!/[!,*]+/.exec(e)}(e)?new ul(e):null}constructor(e){this.text=e,this.glob=e.split(".");const t=this.text.split(".").map(e=>"**"===e?"(?:|(?:\\.[^.]*)*)":"*"===e?"\\.[^.]*":"\\."+e).join("");this.regexp=new RegExp("^"+t+"$")}matches(e){return this.regexp.test("."+e)}}function hl(e,t,n){const r=S(t)?[t]:t;return!!(j(r)?r:function(e){const t=r;for(let n=0;n<t.length;n++){const r=new ul(t[n]);if(r&&r.matches(e.name)||!r&&t[n]===e.name)return!0}return!1})(e,n)}class dl{constructor(e,t,n,r,s,i={}){this.tranSvc=e,this.eventType=t,this.callback=n,this.matchCriteria=r,this.removeHookFromRegistry=s,this.invokeCount=0,this._deregistered=!1,this.priority=i.priority||0,this.bind=i.bind||null,this.invokeLimit=i.invokeLimit}_matchingNodes(e,t,n){if(!0===t)return e;const r=e.filter(e=>hl(e.state,t,n));return r.length?r:null}_getDefaultMatchCriteria(){return qa(this.tranSvc._getPathTypes(),()=>!0)}_getMatchingNodes(e,t){const n=Object.assign(this._getDefaultMatchCriteria(),this.matchCriteria);return Object.values(this.tranSvc._getPathTypes()).reduce((r,s)=>{const i=s.scope===cl.STATE,o=e[s.name]||[],a=i?o:[Ya(o)];return r[s.name]=this._matchingNodes(a,n[s.name],t),r},{})}matches(e,t){const n=this._getMatchingNodes(e,t);return Object.values(n).every(e=>e)?n:null}deregister(){this.removeHookFromRegistry(this),this._deregistered=!0}}function pl(e,t,n){const r=(e._registeredHooks=e._registeredHooks||{})[n.name]=[],s=e=>Ma(r,e);function i(e,i,o={}){const a=new dl(t,n,i,e,s,o);return r.push(a),a.deregister.bind(a)}return e[n.name]=i,i}class fl{constructor(e){this.transition=e}buildHooksForPhase(e){return this.transition.transitionService._getEvents(e).map(e=>this.buildHooks(e)).reduce(za,[]).filter(Boolean)}buildHooks(e){const t=this.transition,n=t.treeChanges(),r=this.getMatchingHooks(e,n,t);if(!r)return[];const s={transition:t,current:t.options().current};return r.map(r=>r.matches(n,t)[e.criteriaMatchPath.name].map(n=>{const i=Object.assign({bind:r.bind,traceData:{hookType:e.name,context:n}},s),o=e.criteriaMatchPath.scope===cl.STATE?n.state.self:null,a=new ll(t,o,r,i);return{hook:r,node:n,transitionHook:a}})).reduce(za,[]).sort(function(e=!1){return function(t,n){const r=e?-1:1,s=(t.node.state.path.length-n.node.state.path.length)*r;return 0!==s?s:n.hook.priority-t.hook.priority}}(e.reverseSort)).map(e=>e.transitionHook)}getMatchingHooks(e,t,n){const r=e.hookPhase===al.CREATE,s=this.transition.transitionService;return(r?[s]:[this.transition,s]).map(t=>t.getHooks(e.name)).filter(Ga(Array.isArray,`broken event named: ${e.name}`)).reduce(za,[]).filter(e=>e.matches(t,n))}}class $l{constructor(e,t,n,r){if(this.globals=r,this.transitionService=n,this._deferred=Promise.withResolvers(),this.promise=this._deferred.promise,this._registeredHooks={},this._hookBuilder=new fl(this),this.isActive=()=>this.globals.transition===this,this._targetState=t,!t.valid())throw new Error(t.error());this._options=Object.assign({current:oc(this)},t.options()),this.$id=n._transitionCount++;const s=Uc.buildToPath(e,t);this._treeChanges=Uc.treeChanges(e,s,this._options.reloadState),this.createTransitionHookRegFns();const i=this._hookBuilder.buildHooksForPhase(al.CREATE);ll.invokeHooks(i,()=>null),this.applyViewConfigs(),this.onStart=void 0,this.onBefore=void 0,this.onSuccess=void 0,this.onEnter=void 0,this.onRetain=void 0,this.onExit=void 0,this.onFinish=void 0,this.onError=void 0}createTransitionHookRegFns(){this.transitionService._getEvents().filter(e=>e.hookPhase!==al.CREATE).forEach(e=>pl(this,this.transitionService,e))}getHooks(e){return this._registeredHooks[e]}applyViewConfigs(){const e=this._treeChanges.entering.map(e=>e.state);Uc.applyViewConfigs(this.transitionService.$view,this._treeChanges.to,e)}$from(){return Ya(this._treeChanges.from).state}$to(){return Ya(this._treeChanges.to).state}from(){return this.$from().self}to(){return this.$to().self}targetState(){return this._targetState}is(e){return e instanceof $l?this.is({to:e.$to().name,from:e.$from().name}):!(e.to&&!hl(this.$to(),e.to,this)||e.from&&!hl(this.$from(),e.from,this))}params(e="to"){return Object.freeze(this._treeChanges[e].map(e=>e.paramValues).reduce((e,t)=>({...e,...t}),{}))}getResolveTokens(e="to"){return new Bc(this._treeChanges[e]).getTokens()}addResolvable(e,t){void 0===t&&(t=""),e=ic(jc)(e)?e:new jc(e);const n="string"==typeof t?t:t.name,r=this._treeChanges.to,s=Ha(r,e=>e.state.name===n);le(!!s,`targetNode not found ${n}`);new Bc(r).addResolvables([e],s.state)}redirectedFrom(){return this._options.redirectedFrom||null}originalTransition(){const e=this.redirectedFrom();return e&&e.originalTransition()||this}options(){return this._options}entering(){return qa(this._treeChanges.entering,e=>e.state).map(e=>e.self)}exiting(){return qa(this._treeChanges.exiting,e=>e.state).map(e=>e.self).reverse()}retained(){return qa(this._treeChanges.retained,e=>e.state).map(e=>e.self)}views(e="entering",t){let n=this._treeChanges[e];return n=t?n.filter(rc("state",t)):n,n.map(e=>e.views).reduce(za,[])}treeChanges(e){return e?this._treeChanges[e]:this._treeChanges}redirect(e){let t=1,n=this;for(;null!=(n=n.redirectedFrom());)if(++t>20)throw new Error("Too many consecutive Transition redirects (20+)");const r={redirectedFrom:this,source:"redirect"};"url"===this.options().source&&!1!==e.options().location&&(r.location="replace");const s=Object.assign({},this.options(),e.options(),r);e=e.withOptions(s,!0);const i=this.transitionService.create(this._treeChanges.from,e),o=this._treeChanges.entering,a=i._treeChanges.entering;return Uc.matching(a,o,Uc.nonDynamicParams).filter(t=>{return!(n=e.options().reloadState,e=>n&&e.state.includes[n.name])(t);var n}).forEach((e,t)=>{e.resolvables=o[t].resolvables}),i}_changedParams(){const e=this._treeChanges;if(this._options.reload)return;if(e.exiting.length||e.entering.length)return;if(e.to.length!==e.from.length)return;if(Ja(e.to,e.from).map(e=>e[0].state!==e[1].state).reduce(Ba,!1))return;const t=e.to.map(e=>e.paramSchema),[n,r]=[e.to,e.from].map(e=>e.map(e=>e.paramValues));return Ja(t,n,r).map(([e,t,n])=>Pc.changed(e,t,n)).reduce(za,[])}dynamic(){const e=this._changedParams();return!!e&&e.map(e=>e.dynamic).reduce(Ba,!1)}ignored(){return!!this._ignoredReason()}_ignoredReason(){const e=this.globals.transition,t=this._options.reloadState,n=(e,n)=>{if(e.length!==n.length)return!1;const r=Uc.matching(e,n);return e.length===r.filter(e=>!t||!e.state.includes[t.name]).length},r=this._treeChanges,s=e&&e._treeChanges;return s&&n(s.to,r.to)&&n(s.exiting,r.exiting)?"SameAsPending":0===r.exiting.length&&0===r.entering.length&&n(r.from,r.to)?"SameAsCurrent":void 0}run(){const e=e=>this._hookBuilder.buildHooksForPhase(e),t=e(al.BEFORE);return ll.invokeHooks(t,()=>{const e=this.globals;return e.lastStartedTransitionId=this.$id,e.transition=this,e.transitionHistory.enqueue(this),Ac.traceTransitionStart(this),Promise.resolve()}).then(()=>{const t=e(al.RUN),n=Promise.resolve();return ll.invokeHooks(t,()=>n)}).then(()=>{Ac.traceSuccess(this.$to(),this),this.success=!0,this._deferred.resolve(this.to());this._hookBuilder.buildHooksForPhase(al.SUCCESS).forEach(e=>{e.invokeHook()})},t=>{Ac.traceError(t,this),this.success=!1,this._deferred.reject(t),this._error=t;e(al.ERROR).forEach(e=>e.invokeHook())}),this.promise}valid(){return!this.error()||void 0!==this.success}abort(){E(this.success)&&(this._aborted=!0)}error(){const e=this.$to();if(e.self.abstract)return nl.invalid(`Cannot transition to abstract state '${e.name}'`);const t=e.parameters(),n=this.params(),r=t.filter(e=>!e.validates(n[e.id]));if(r.length){const t=r.map(e=>`[${e.id}:${bc(n[e.id])}]`).join(", "),s=`The following parameter values are not valid for state '${e.name}': ${t}`;return nl.invalid(s)}return!1===this.success?this._error:void 0}toString(){const e=this.from(),t=this.to(),n=e=>null!==e["#"]&&void 0!==e["#"]?e:Ua(e,["#"]);return`Transition#${this.$id}( '${x(e)?e.name:e}'${bc(n(this._treeChanges.from.map(e=>e.paramValues).reduce((e,t)=>({...e,...t}),{})))} -> ${this.valid()?"":"(X) "}'${x(t)?t.name:t}'${bc(n(this.params()))} )`}}$l.diToken=$l;const ml=["$transition$",$l];function gl(e){const t=Object.values(e.treeChanges()).reduce(za,[]).reduce(Ka,[]),n=e=>ml.includes(e.token)?jc.fromData(e.token,null):e;t.forEach(e=>{e.resolvables=e.resolvables.map(n)})}function vl(e){return(t,n)=>(0,n.$$state()[e])(t,n)}const yl=vl("onExit"),bl=vl("onRetain"),wl=vl("onEnter"),El=1e3,Cl=e=>new Bc(e.treeChanges().to).resolvePath("EAGER",e).then(()=>{}),xl=(e,t)=>new Bc(e.treeChanges().to).subContext(t.$$state()).resolvePath("LAZY",e).then(()=>{}),Sl=e=>new Bc(e.treeChanges().to).resolvePath("LAZY",e).then(()=>{}),Ol=e=>{const t=e.views("entering");if(t.length)return Promise.all(t.map(e=>Promise.resolve(e.load()))).then(()=>{})},kl=e=>{const t=e.globals,n=()=>{t.transition===e&&(t.transition=null)};e.onSuccess({},()=>{t.successfulTransitions.enqueue(e),t.$current=e.$to(),t.current=t.$current.self,Xa(e.params(),t.params)},{priority:1e4}),e.promise.then(n,n)};function Al(e,t,n,r){return e.onBefore({entering:e=>!!e.lazyLoad},e=>{const s=e.entering().filter(e=>!!e.$$state().lazyLoad).map(t=>Tl(e,t,r));return Promise.all(s).then(function(){if("url"!==e.originalTransition().options().source){const n=e.targetState();return t.target(n.identifier(),n.params(),n.options())}const r=n.match(n.parts()),s=r&&r.rule;if(s&&"STATE"===s.type){const n=s.state,i=r.match;return t.target(n,i,e.options())}n.sync()})})}function Tl(e,t,n){const r=t.$$state().lazyLoad;let s=r._promise;if(!s){const i=e=>(delete t.lazyLoad,delete t.$$state().lazyLoad,delete r._promise,e),o=e=>(delete r._promise,Promise.reject(e));s=r._promise=Promise.resolve(r(e,t)).then(function(e){e&&Array.isArray(e.states)&&e.states.forEach(e=>n.register(e));return e}).then(i,o)}return s}class _l{constructor(e,t,n,r,s=!1,i=ll.HANDLE_RESULT,o=ll.REJECT_ERROR,a=!1){this.name=e,this.hookPhase=t,this.hookOrder=n,this.criteriaMatchPath=r,this.reverseSort=s,this.getResultHandler=i,this.getErrorHandler=o,this.synchronous=a}}function jl(e){const t=e._ignoredReason();if(!t)return;Ac.traceTransitionIgnored(e);const n=e.globals.transition;return"SameAsCurrent"===t&&n&&n.abort(),nl.ignored().toPromise()}function Nl(e){if(!e.valid())throw new Error(e.error().toString())}let Rl={location:!0,relative:null,inherit:!1,notify:!0,reload:!1,supercede:!0,custom:{},current:()=>null,source:"unknown"};class Ll{static $inject=Xt([Yt.$router,Yt.$view]);constructor(e,t){this._transitionCount=0,this._eventTypes=[],this._registeredHooks={},this._criteriaPaths={},this.globals=e,this.$view=t,this._deregisterHookFns={},this._defineCorePaths(),this._defineCoreEvents(),this._registerCoreTransitionHooks(),e.successfulTransitions.onEvict(gl)}$get=[Yt.$state,Yt.$url,Yt.$stateRegistry,Yt.$view,(e,t,n,r)=>(this._deregisterHookFns.lazyLoad=Al(this,e,t,n),this._deregisterHookFns.updateUrl=((e,t,n)=>{e.onSuccess({},e=>{const r=e.options(),s=t;if("url"!==r.source&&r.location&&s.$current.navigable){const e={replace:"replace"===r.location};n.push(s.$current.navigable.url,s.globals.params,e)}n.update(!0)},{priority:9999})})(this,e,t),this._deregisterHookFns.redirectTo=((e,t)=>{e.onStart({to:e=>!!e.redirectTo},e=>{const n=e.to().redirectTo;if(!n)return;const r=t;function s(t){if(t)return t instanceof Nc?t:S(t)?r.target(t,e.params(),e.options()):t.state||t.params?r.target(t.state||e.to(),t.params||e.params(),e.options()):void 0}return j(n)?Promise.resolve(n(e)).then(s):s(n)})})(this,e),this._deregisterHookFns.activateViews=((e,t)=>{e.onSuccess({},e=>{const n=e.views("entering"),r=e.views("exiting");(n.length||r.length)&&(r.forEach(e=>t.deactivateViewConfig(e)),n.forEach(e=>{t.activateViewConfig(e)}),t.sync())})})(this,r),this)];create(e,t){return new $l(e,t,this,this.globals)}_defineCoreEvents(){const e=ll,t=this._criteriaPaths,n=!1,r=!0;this._defineEvent("onCreate",al.CREATE,0,t.to,n,e.LOG_REJECTED_RESULT,e.THROW_ERROR,r),this._defineEvent("onBefore",al.BEFORE,0,t.to),this._defineEvent("onStart",al.RUN,0,t.to),this._defineEvent("onExit",al.RUN,100,t.exiting,!0),this._defineEvent("onRetain",al.RUN,200,t.retained),this._defineEvent("onEnter",al.RUN,300,t.entering),this._defineEvent("onFinish",al.RUN,400,t.to),this._defineEvent("onSuccess",al.SUCCESS,0,t.to,n,e.LOG_REJECTED_RESULT,e.LOG_ERROR,r),this._defineEvent("onError",al.ERROR,0,t.to,n,e.LOG_REJECTED_RESULT,e.LOG_ERROR,r)}_defineCorePaths(){const{STATE:e,TRANSITION:t}=cl;this._definePathType("to",t),this._definePathType("from",t),this._definePathType("exiting",e),this._definePathType("retained",e),this._definePathType("entering",e)}_defineEvent(e,t,n,r,s=!1,i=ll.HANDLE_RESULT,o=ll.REJECT_ERROR,a=!1){const c=new _l(e,t,n,r,s,i,o,a);this._eventTypes.push(c),pl(this,this,c)}_getEvents(e){return(C(e)?this._eventTypes.filter(t=>t.hookPhase===e):this._eventTypes.slice()).sort((e,t)=>{const n=e.hookPhase-t.hookPhase;return 0===n?e.hookOrder-t.hookOrder:n})}_definePathType(e,t){this._criteriaPaths[e]={name:e,scope:t}}_getPathTypes(){return this._criteriaPaths}getHooks(e){return this._registeredHooks[e]}_registerCoreTransitionHooks(){const e=this._deregisterHookFns;e.addCoreResolves=void this.onCreate({},function(e){e.addResolvable(jc.fromData($l,e),""),e.addResolvable(jc.fromData("$transition$",e),""),e.addResolvable(jc.fromData("$stateParams",e.params()),""),e.entering().forEach(t=>{e.addResolvable(jc.fromData("$state$",t),t)})}),e.ignored=(e=>e.onBefore({},jl,{priority:-9999}))(this),e.invalid=(e=>e.onBefore({},Nl,{priority:-1e4}))(this),e.onExit=(e=>e.onExit({exiting:e=>!!e.onExit},yl))(this),e.onRetain=(e=>e.onRetain({retained:e=>!!e.onRetain},bl))(this),e.onEnter=(e=>e.onEnter({entering:e=>!!e.onEnter},wl))(this),e.eagerResolve=(e=>e.onStart({},Cl,{priority:El}))(this),e.lazyResolve=(e=>e.onEnter({entering:oc(!0)},xl,{priority:El}))(this),e.resolveAll=(e=>e.onFinish({},Sl,{priority:El}))(this),e.loadViews=(e=>e.onFinish({},Ol))(this),e.updateGlobals=(e=>e.onCreate({},kl))(this),e.lazyLoad=Al(this)}}const Vl=fe("$stateProvider");class Ml{get params(){return this.globals.params}get current(){return this.globals.current}get $current(){return this.globals.$current}static $inject=["$routerProvider","$transitionsProvider"];constructor(e,t,n){this.stateRegistry=void 0,this.urlService=void 0,this.globals=e,this.transitionService=t,this.$injector=n,this.invalidCallbacks=[],this._defaultErrorHandler=function(e){throw e instanceof Error&&e.stack?e:e instanceof nl?new Error(e.toString()):new Error(e)},il.subscribe("$stateService:defaultErrorHandler",e=>this.defaultErrorHandler()(e))}$get=()=>this;decorator(e,t){return this.stateRegistry.decorator(e,t)||this}state(e){if(!e.name)throw Vl("stateinvalid","'name' required");try{this.stateRegistry.register(e)}catch(e){throw Vl("stateinvalid",e.message)}return this}_handleInvalidTargetState(e,t){const n=Ic(this.stateRegistry,e),r=this.globals,s=()=>r.transitionHistory.peekTail(),i=s(),o=new pc(this.invalidCallbacks.slice()),a=this.$injector,c=e=>{if(!(e instanceof Nc))return;let t=e;return t=this.target(t.identifier(),t.params(),t.options()),t.valid()?s()!==i?nl.superseded().toPromise():this.transitionTo(t.identifier(),t.params(),t.options()):nl.invalid(t.error()).toPromise()};return function e(){const r=o.dequeue();return void 0===r?nl.invalid(t.error()).toPromise():Promise.resolve(r(t,n,a)).then(c).then(t=>t||e())}()}onInvalid(e){return this.invalidCallbacks.push(e),function(){Ma(this.invalidCallbacks,e)}.bind(this)}reload(e){return this.transitionTo(this.globals.current,this.globals.params,{reload:!C(e)||e,inherit:!1,notify:!1})}go(e,t,n){const r=Pa(n,{relative:this.$current,inherit:!0},Rl);return this.transitionTo(e,t,r)}target(e,t,n={}){if(x(n.reload)&&!n.reload.name)throw new Error("Invalid reload state object");const r=this.stateRegistry;if(n.reloadState=!0===n.reload?r.root():r.matcher.find(n.reload,n.relative),n.reload&&!n.reloadState)throw new Error(`No such reload state '${S(n.reload)?n.reload:n.reload.name}'`);return new Nc(this.stateRegistry,e,t,n)}getCurrentPath(){const e=this.globals.successfulTransitions.peekTail();return e?e._treeChanges.to:(()=>[new Dc(this.stateRegistry.root())])()}transitionTo(e,t={},n={}){n=Pa(n,Rl);const r=()=>this.globals.transition;n=Object.assign(n,{current:r});const s=this.target(e,t,n),i=this.getCurrentPath();if(!s.exists())return this._handleInvalidTargetState(i,s);if(!s.valid())return tc(s.error());if(!1===n.supercede&&r())return nl.ignored("Another transition is in progress and supercede has been set to false in TransitionOptions for the transition. So the transition was ignored in favour of the existing one in progress.").toPromise();const o=e=>t=>{if(t instanceof nl){const n=this.globals.lastStartedTransitionId<=e.$id;if(t.type===Xc)return n&&this.urlService.update(),Promise.resolve(this.globals.current);const r=t.detail;if(t.type===Jc&&t.redirected&&r instanceof Nc){const t=e.redirect(r);return t.run().catch(o(t))}if(t.type===Zc)return n&&this.urlService.update(),Promise.reject(t)}return this.defaultErrorHandler()(t),Promise.reject(t)},a=this.transitionService.create(i,s),c=a.run().catch(o(a));return ec(c),Object.assign(c,{transition:a})}is(e,t,n){n=Pa(n,{relative:this.$current});const r=this.stateRegistry.matcher.find(e,n.relative);if(!C(r))return;if(this.$current!==r)return!1;if(!t)return!0;const s=r.parameters({inherit:!0,matchingKeys:t});return Pc.equals(s,Pc.values(s,t),this.globals.params)}includes(e,t,n){n=Pa(n,{relative:this.$current});const r=S(e)&&ul.fromString(e);if(r){if(!r.matches(this.$current.name))return!1;e=this.$current.name}const s=this.stateRegistry.matcher.find(e,n.relative),i=this.$current.includes;if(!C(s))return;if(!C(i[s.name]))return!1;if(!t)return!0;const o=s.parameters({inherit:!0,matchingKeys:t});return Pc.equals(o,Pc.values(o,t),this.globals.params)}href(e,t,n){n=Pa(n,{lossy:!0,inherit:!0,absolute:!1,relative:this.$current}),t=t||{};const r=this.stateRegistry.matcher.find(e,n.relative);if(!C(r))return null;n.inherit&&(t=this.globals.params.$inherit(t,this.$current,r));const s=r&&n.lossy?r.navigable:r;return s&&void 0!==s.url&&null!==s.url?this.urlService.href(s.url,t,{absolute:n.absolute}):null}defaultErrorHandler(e){return this._defaultErrorHandler=e||this._defaultErrorHandler}get(e,t){const n=this.stateRegistry;return 0===arguments.length?n.get():n.get(e,t||this.$current)}lazyLoad(e,t){const n=this.get(e);if(!n||!n.lazyLoad)throw new Error("Can not lazy load "+e);const r=this.getCurrentPath(),s=Ic(this.stateRegistry,r);return Tl(t=t||this.transitionService.create(r,s),n)}}class Pl{constructor(){this.enabled=!1}useAnchorScroll(){this.enabled=!0}$get=[Yt.$anchorScroll,e=>this.enabled?e:async function(e){return setTimeout(()=>{e.scrollIntoView(!1)},0)}]}class Dl{constructor(){this._useHttp=!1}$get=[Yt.$http,Yt.$templateCache,Yt.$templateRequest,Yt.$injector,(e,t,n,r)=>(this.$templateRequest=n,this.$http=e,this.$templateCache=t,this.$injector=r,this)];useHttpService(e){this._useHttp=e}fromConfig(e,t,n){const r=e=>Promise.resolve(e).then(e=>({template:e})),s=e=>Promise.resolve(e).then(e=>({component:e}));switch((e=>C(e.template)?"template":C(e.templateUrl)?"templateUrl":C(e.templateProvider)?"templateProvider":C(e.component)?"component":C(e.componentProvider)?"componentProvider":"default")(e)){case"template":return r(this.fromString(e.template,t));case"templateUrl":return r(this.fromUrl(e.templateUrl,t));case"templateProvider":return r(this.fromProvider(e.templateProvider,t,n));case"component":return s(e.component);case"componentProvider":return s(this.fromComponentProvider(e.componentProvider,n));default:return r("<ng-view></ng-view>")}}fromString(e,t){return j(e)?e(t):e}fromUrl(e,t){return j(e)&&(e=e(t)),null==e?null:this._useHttp?this.$http.get(e,{cache:this.$templateCache,headers:{Accept:"text/html"}}).then(function(e){return e.data}):this.$templateRequest(e)}fromProvider(e,t,n){const r=yn(e),s=Array.isArray(e)?Ya(e):e;return new jc("",s,r).get(n)}fromComponentProvider(e,t){const n=yn(e),r=Array.isArray(e)?Ya(e):e;return new jc("",r,n).get(t)}makeComponentTemplate(e,t,n,r){r=r||{};const s=e=>{const t=function(e){return e.replace(/^([A-Z])/,e=>e.toLowerCase()).replace(/([A-Z])/g,e=>"-"+e.toLowerCase())}(e);return/^(x|data)-/.exec(t)?`x-${t}`:t},i=function(e,t){const n=e.get(t+ir);if(!n||!n.length)throw new Error(`Unable to find component named '${t}'`);return n.map(Ul).reduce(za,[])}(this.$injector,n).map(n=>{const{name:i,type:o}=n,a=s(i);if(e.getAttribute(a)&&!r[i])return`${a}='${e.getAttribute(a)}'`;const c=r[i]||i;if("@"===o)return`${a}='{{s$resolve.${c}}}'`;if("&"===o){const e=t.getResolvable(c),n=e&&e.data,r=n&&yn(n)||[];return`${a}='$resolve.${c}${Array.isArray(n)?`[${n.length-1}]`:""}(${r.join(",")})'`}return`${a}='$resolve.${c}'`}).join(" "),o=s(n);return`<${o} ${i}></${o}>`}}const Ul=e=>x(e.bindToController)?Il(e.bindToController):Il(e.scope),Il=e=>Object.keys(e||{}).map(t=>[t,/^([=<@&])[?]?(.*)/.exec(e[t])]).filter(e=>C(e)&&Array.isArray(e[1])).map(e=>({name:e[1][2]||e[0],type:e[1][1]}));function Hl(e,t){let n=["",""],r=e.replace(/[\\[\]^$*+?.()|{}]/g,"\\$&");if(!t)return r;switch(t.squash){case!1:n=["(",")"+(t.isOptional?"?":"")];break;case!0:r=r.replace(/\/$/,""),n=["(?:/(",")|/)?"];break;default:n=[`(${t.squash}|`,")?"]}return r+n[0]+t.type.pattern.source+n[1]}const ql=function(e){const t=new RegExp("("+e+")","g");return e=>e.split(t).filter(Boolean)}("/"),Fl={state:{params:{}},strict:!0,caseInsensitive:!0};class Bl{static pathSegmentsAndParams(e){return Ja(e._segments,e._params.filter(e=>e.location===Rc).concat(void 0)).reduce(za,[]).filter(e=>""!==e&&C(e))}static queryParams(e){return e._params.filter(e=>e.location===Lc)}static compare(e,t){const n=e=>e._cache.weights=e._cache.weights||(e=>e._cache.segments=e._cache.segments||e._cache.path.map(Bl.pathSegmentsAndParams).reduce(za,[]).reduce(wc,[]).map(e=>S(e)?ql(e):e).reduce(za,[]))(e).map(e=>"/"===e?1:S(e)?2:e instanceof Pc?3:void 0),r=n(e),s=n(t);((e,t,n)=>{const r=Math.max(e.length,t.length);for(;e.length<r;)e.push(n);for(;t.length<r;)t.push(n)})(r,s,0);const i=Ja(r,s);let o,a;for(a=0;a<i.length;a++)if(o=i[a][0]-i[a][1],0!==o)return o;return 0}constructor(e,t,n,r){this._cache={path:[this]},this._children=[],this._params=[],this._segments=[],this._compiled=[],this.config=r=Pa(r,Fl),this.pattern=e;const s=/([:*])([\w[\]]+)|\{([\w[\]]+)(?::\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,i=/([:]?)([\w[\].-]+)|\{([\w[\].-]+)(?::\s*((?:[^{\\}]+|\\.|{(?:[^{\\}]+|\\.)*})+))?\}/g,o=[];let a,c=0;const l=t=>{if(!Bl.nameValidator.test(t))throw new Error(`Invalid parameter name '${t}' in pattern '${e}'`);if(Ha(this._params,rc("id",t)))throw new Error(`Duplicate parameter name '${t}' in pattern '${e}'`)},u=(n,r)=>{const s=n[2]||n[3],i=r?n[4]:n[4]||("*"===n[1]?"[\\s\\S]*":null);return{id:s,regexp:i,segment:e.substring(c,n.index),type:i?t.type(i)||(e=>Va(t.type(r?"query":"path"),{pattern:new RegExp(e,this.config.caseInsensitive?"i":void 0)}))(i):null}};let h,d;for(;(a=s.exec(e))&&(h=u(a,!1),!(h.segment.indexOf("?")>=0));)l(h.id),this._params.push(n.fromPath(h.id,h.type,r.state)),this._segments.push(h.segment),o.push([h.segment,Ya(this._params)]),c=s.lastIndex;d=e.substring(c);const p=d.indexOf("?");if(p>=0){const e=d.substring(p);if(d=d.substring(0,p),e.length>0)for(c=0;a=i.exec(e);)h=u(a,!0),l(h.id),this._params.push(n.fromSearch(h.id,h.type,r.state)),c=s.lastIndex}this._segments.push(d),this._compiled=o.map(e=>Hl.apply(null,e)).concat(Hl(d))}append(e){return this._children.push(e),e._cache={path:this._cache.path.concat(e),parent:this,pattern:null},e}isRoot(){return this._cache.path[0]===this}toString(){return this.pattern}_getDecodedParamValue(e,t){return t.value(e)}exec(e,t={},n){const r=(s=this._cache,i="pattern",o=()=>new RegExp(["^",Qa(this._cache.path.map(e=>e._compiled)).join(""),!1===this.config.strict?"/?":"","$"].join(""),this.config.caseInsensitive?"i":void 0),s[i]=s[i]||o()).exec(e);var s,i,o;if(!r)return null;const a=this.parameters(),c=a.filter(e=>!e.isSearch()),l=a.filter(e=>e.isSearch()),u=this._cache.path.map(e=>e._segments.length-1).reduce((e,t)=>e+t),h={};if(u!==r.length-1)throw new Error(`Unbalanced capture group in route '${this.pattern}'`);function d(e){const t=e=>e.split("").reverse().join(""),n=qa(t(e).split(/-(?!\\)/),t);return qa(n,e=>e.replace(/\\-/g,"-")).reverse()}for(let e=0;e<u;e++){const t=c[e];let n=r[e+1];for(let e=0;e<t.replace.length;e++)t.replace[e].from===n&&(n=t.replace[e].to);n&&!0===t.array&&(n=d(n)),h[t.id]=this._getDecodedParamValue(n,t)}return l.forEach(e=>{let n=t[e.id];for(let t=0;t<e.replace.length;t++)e.replace[t].from===n&&(n=e.replace[t].to);h[e.id]=this._getDecodedParamValue(n,e)}),n&&(h["#"]=n),h}parameters(e={}){return!1===e.inherit?this._params:Qa(this._cache.path.map(e=>e._params))}parameter(e,t={}){const n=this._cache.parent;return(()=>{for(const t of this._params)if(t.id===e)return t})()||!1!==t.inherit&&n&&n.parameter(e,t)||null}validates(e){e=e||{};return this.parameters().filter(t=>we(e,t.id)).map(t=>((e,t)=>!e||e.validates(t))(t,e[t.id])).reduce(Fa,!0)}format(e={}){const t=this._cache.path,n=t.map(Bl.pathSegmentsAndParams).reduce(za,[]).map(e=>S(e)?e:s(e)),r=t.map(Bl.queryParams).reduce(za,[]).map(s);if(n.concat(r).filter(e=>!1===e.isValid).length)return null;function s(t){const n=t.value(e[t.id]),r=t.validates(n),s=t.isDefaultValue(n),i=!!s&&t.squash,o=t.type.encode(n);return{param:t,value:n,isValid:r,isDefaultValue:s,squash:i,encoded:o}}const i=n.reduce((e,t)=>{if(S(t))return e+t;const{squash:n,encoded:r,param:s}=t;return!0===n?e.match(/\/$/)?e.slice(0,-1):e:S(n)?e+n:!1!==n||null==r?e:Array.isArray(r)?e+qa(r,zl).join("-"):s.raw?e+r:e+encodeURIComponent(r)},""),o=r.map(e=>{let{param:t,squash:n,encoded:r,isDefaultValue:s}=e;if(!(null==r||s&&!1!==n)&&(Array.isArray(r)||(r=[r]),0!==r.length))return t.raw||(r=qa(r,encodeURIComponent)),r.map(e=>`${t.id}=${e}`)}).reduce(za,[]).join("&");return i+(o?`?${o}`:"")+(e["#"]?"#"+e["#"]:"")}}function zl(e){return encodeURIComponent(e).replace(/-/g,e=>`%5C%${e.charCodeAt(0).toString(16).toUpperCase()}`)}Bl.nameValidator=/^\w+([-.]+\w+)*(?:\[\])?$/;class Wl{name=void 0;navigable=void 0;parent=void 0;params=void 0;url=void 0;includes=void 0;constructor(e){Object.assign(this,e),this.$$state=()=>this,this.self=e;const t=this.name?ul.fromString(this.name):null;this.__stateObjectCache={nameGlob:t}}is(e){return this===e||this.self===e||this.fqn()===e}fqn(){if(!(this.parent&&this.parent instanceof this.constructor))return this.name;const e=this.parent.fqn();return e?e+"."+this.name:this.name}root(){return this.parent&&this.parent.root()||this}parameters(e){return((e=Pa(e,{inherit:!0,matchingKeys:null})).inherit&&this.parent&&this.parent.parameters()||[]).concat(Object.values(this.params)).filter(t=>!e.matchingKeys||we(e.matchingKeys,t.id))}parameter(e,t={}){return this.url&&this.url.parameter(e,t)||Ha(Object.values(this.params),rc("id",e))||t.inherit&&this.parent&&this.parent.parameter(e)}toString(){return this.fqn()}}Wl.isStateDeclaration=e=>j(e.$$state),Wl.isState=e=>x(e.__stateObjectCache);class Kl{constructor(e,t,n){this.urlService=e,this.stateService=t,this.routerGlobals=n}create(e,t){const{isState:n,isStateDeclaration:r}=Wl,s=ac([[S,e=>s(this.urlService.compile(e))],[ic(Bl),e=>this.fromUrlMatcher(e,t)],[(...e)=>n(...e)||r(...e),e=>this.fromState(e,this.stateService,this.routerGlobals)],[ic(RegExp),e=>this.fromRegExp(e,t)],[j,e=>new Ql(e,t)]]),i=s(e);if(!i)throw new Error("invalid 'what' in when()");return i}fromUrlMatcher(e,t){let n=t;S(t)&&(t=this.urlService.compile(t)),ic(Bl)(t)&&(n=e=>t.format(e));const r={urlMatcher:e,matchPriority:function(t){const n=e.parameters().filter(e=>e.isOptional);return n.length?n.filter(e=>t[e.id]).length/n.length:1e-6},type:"URLMATCHER"};return Object.assign(new Ql(function(t){const n=e.exec(t.path,t.search,t.hash);return e.validates(n)&&n},n),r)}fromState(e,t,n){const r=Wl.isStateDeclaration(e)?e.$$state():e,s={state:r,type:"STATE"};return Object.assign(this.fromUrlMatcher(r.url,e=>{const s=t;s.href(r,e)!==s.href(n.current,n.params)&&s.transitionTo(r,e,{inherit:!0,source:"url"})}),s)}fromRegExp(e,t){if(e.global||e.sticky)throw new Error("Rule RegExp must not be global or sticky");const n=S(t)?e=>t.replace(/\$(\$|\d{1,2})/,(t,n)=>e["$"===n?0:Number(n)]):t,r={regexp:e,type:"REGEXP"};return Object.assign(new Ql(t=>e.exec(t.path),n),r)}}Kl.isUrlRule=e=>e&&["type","match","handler"].every(t=>C(e[t]));class Ql{constructor(e,t){this.match=e,this.type="RAW",this.$id=-1,this._group=void 0,this.handler=t||(e=>e),this.priority=void 0}matchPriority(e){return le(E(e)),0-this.$id}}function Gl(e,t){let n=function(e,t){return(t.priority||0)-(e.priority||0)}(e,t);return 0!==n?n:(n=((e,t)=>{const n={STATE:4,URLMATCHER:4,REGEXP:3,RAW:2,OTHER:1};return(n[e.type]||0)-(n[t.type]||0)})(e,t),0!==n?n:(n=((e,t)=>e.urlMatcher&&t.urlMatcher?Bl.compare(e.urlMatcher,t.urlMatcher):0)(e,t),0!==n?n:((e,t)=>{const n={STATE:!0,URLMATCHER:!0};return n[e.type]&&n[t.type]?0:(e.$id||0)-(t.$id||0)})(e,t)))}function Jl(e){if(!(j(e)||S(e)||ic(Nc)(e)||Nc.isDef(e)))throw new Error("'handler' must be a string, function, TargetState, or have a state: 'newtarget' property");return j(e)?e:oc(e)}class Zl{constructor(e){this._sortFn=Gl,this._rules=[],this._id=0,this.urlRuleFactory=e}initial(e){const t=Jl(e);this.rule(this.urlRuleFactory.create((e,t)=>0===t.globals.transitionHistory.size()&&!!/^\/?$/.exec(e.path),t))}otherwise(e){const t=Jl(e);this._otherwiseFn=this.urlRuleFactory.create(oc(!0),t),this._sorted=!1}removeRule(e){Ma(this._rules,e)}rule(e){if(!Kl.isUrlRule(e))throw new Error("invalid rule");return e.$id=this._id++,e.priority=e.priority||0,this._rules.push(e),this._sorted=!1,()=>this.removeRule(e)}rules(){return this.ensureSorted(),this._rules.concat(this._otherwiseFn?[this._otherwiseFn]:[])}sort(e){const t=this.stableSort(this._rules,this._sortFn=e||this._sortFn);let n=0;for(let e=0;e<t.length;e++)t[e]._group=n,e<t.length-1&&0!==this._sortFn(t[e],t[e+1])&&n++;this._rules=t,this._sorted=!0}ensureSorted(){this._sorted||this.sort()}stableSort(e,t){const n=e.map((e,t)=>({elem:e,idx:t}));return n.sort((e,n)=>{const r=t(e.elem,n.elem);return 0===r?e.idx-n.idx:r}),n.map(e=>e.elem)}when(e,t,n){const r=this.urlRuleFactory.create(e,t);return C(n&&n.priority)&&(r.priority=n.priority),this.rule(r),r}}class Yl{constructor(e){this.urlServiceConfig=e}fromConfig(e,t,n){return new Pc(e,t,Vc,this.urlServiceConfig,n)}fromPath(e,t,n){return new Pc(e,t,Rc,this.urlServiceConfig,n)}fromSearch(e,t,n){return new Pc(e,t,Lc,this.urlServiceConfig,n)}}class Xl{static $inject=Xt([Yt.$location,Yt.$state,Yt.$router,Yt.$urlConfig]);$location;constructor(e,t,n,r){this.$locationProvider=e,this.stateService=t,this.stateService.urlService=this,this.urlRuleFactory=new Kl(this,this.stateService,n),this.rules=new Zl(this.urlRuleFactory),this.config=r,this.paramFactory=new Yl(this.config),this._urlListeners=[]}getPath(){return this.$location.getPath()}getSearch(){return this.$location.getSearch()}getHash(){return this.$location.getHash()}$get=[Yt.$location,Yt.$rootScope,(e,t)=>(this.$location=e,t.$on("$locationChangeSuccess",e=>{this._urlListeners.forEach(t=>{t(e)})}),this.listen(!0),this)];baseHref(){return this._baseHref||(this._baseHref=Zt()||window.location.pathname)}url(e,t){if(C(e)){const t=decodeURIComponent(e);this.$location.setUrl(t)}return t&&this.$location.setState(t),this.$location.getUrl()}onChange(e){return this._urlListeners.push(e),()=>Ma(this._urlListeners,e)}parts(){return{path:this.$location.getPath(),search:this.$location.getSearch(),hash:this.$location.getHash()}}sync(e){if(e&&e.defaultPrevented)return;const t=this.stateService,n={path:this.$location.getPath(),search:this.$location.getSearch(),hash:this.$location.getHash()},r=this.match(n);ac([[S,e=>this.url(e)],[Nc.isDef,e=>t.go(e.state,e.params,e.options)],[ic(Nc),e=>t.go(e.state(),e.params(),e.options())]])(r&&r.rule.handler(r.match,n))}listen(e){if(!1!==e)return this._stopListeningFn=this._stopListeningFn||this.onChange(e=>this.sync(e));this._stopListeningFn&&this._stopListeningFn(),delete this._stopListeningFn}match(e){e=Object.assign({path:"",search:{},hash:""},e);const t=this.rules.rules(),n=t=>{const n=t.match(e);return n&&{match:n,rule:t,weight:t.matchPriority(n)}};let r;for(let e=0;e<t.length&&(!r||r.rule._group===t[e]._group);e++){const s=n(t[e]);r=!r||s&&s.weight>r.weight?s:r}return r}update(e){e?this.location=this.url():this.url()!==this.location&&this.url(this.location,!0)}push(e,t,n){const r=n&&!!n.replace;this.url(e.format(t||{}),r)}href(e,t,n){let r=e.format(t);if(null==r)return null;n=n||{absolute:!1};const s=this.$locationProvider.html5ModeConf.enabled;if(s||(r="#"+this.$locationProvider.hashPrefixConf+r),r=function(e,t,n,r){return"/"===r?e:t?(e=>e.replace(/\/[^/]*$/,""))(r)+e:n?r.slice(1)+e:e}(r,s,n.absolute,this.baseHref()),!n.absolute||!r)return r;const i=!s&&r?"/":"";return[`${window.location.protocol}//`,window.location.host,i,r].join("")}compile(e,t){const n=this.config,r=t&&!t.state&&t.params;t=r?Object.assign({state:{params:r}},t):t;const s={strict:n._isStrictMode,caseInsensitive:n._isCaseInsensitive};return new Bl(e,n.paramTypes,this.paramFactory,Object.assign(s,t))}isMatcher(e){if(!x(e))return!1;let t=!0;return Object.entries(Bl.prototype).forEach(([n,r])=>{j(r)&&(t=t&&C(e[n])&&j(e[n]))}),t}}class eu{constructor(e){this._states=e}isRelative(e){return 0===(e=e||"").indexOf(".")||0===e.indexOf("^")}find(e,t,n=!0){if(!e&&""!==e)return;const r=S(e);let s=r?e:e.name;this.isRelative(s)&&(s=this.resolvePath(s,t));const i=this._states[s];if(i&&(r||!(r||i!==e&&i.self!==e)))return i;if(r&&n){const e=Object.values(this._states).filter(e=>e.__stateObjectCache.nameGlob&&e.__stateObjectCache.nameGlob.matches(s));return e.length>1&&console.error(`stateMatcher.find: Found multiple matches for ${s} using glob: `,e.map(e=>e.name)),e[0]}}resolvePath(e,t){if(!t)throw new Error(`No reference point given for path '${e}'`);const n=this.find(t),r=e.split("."),s=r.length;let i=0,o=n;for(;i<s;i++)if(""!==r[i]||0!==i){if("^"!==r[i])break;if(!o.parent)throw new Error(`Path '${e}' not valid for state '${n.name}'`);o=o.parent}else o=n;const a=r.slice(i).join(".");return o.name+(o.name&&a?".":"")+a}}function tu(e){return e.self.$$state=()=>e,e.self}function nu(e){return e.parent&&e.parent.data&&(e.data=e.self.data=Va(e.parent.data,e.data)),e.data}function ru(e,t){return function(n){let r=n.self;if(r&&r.url&&r.name&&r.name.match(/\.\*\*$/)){const e={};Xa(r,e),e.url+="{remainder:any}",r=e}const s=n.parent,i=function(e){if(!S(e))return!1;const t="^"===e.charAt(0);return{val:t?e.substring(1):e,root:t}}(r.url),o=i?e.compile(i.val,{state:r}):r.url;if(!o)return null;if(!e.isMatcher(o))throw new Error(`Invalid url '${o}' in state '${n}'`);return i&&i.root?o:(s&&s.navigable||t()).url.append(o)}}function su(e){return function(t){return!e(t)&&t.url?t:t.parent?t.parent.navigable:null}}function iu(e){return e.parent?e.parent.path.concat(e):[e]}function ou(e){const t=e.parent?Object.assign({},e.parent.includes):{};return t[e.name]=!0,t}function au(e){const t=ac([[e=>e.resolveFn,e=>new jc(uu(e),e.resolveFn,e.deps,e.policy)],[e=>e.useFactory,e=>new jc(uu(e),e.useFactory,e.deps||e.dependencies,e.policy)],[e=>e.useClass,e=>new jc(uu(e),()=>new e.useClass,[],e.policy)],[e=>e.useValue,e=>new jc(uu(e),()=>e.useValue,[],e.policy,e.useValue)],[e=>e.useExisting,e=>new jc(uu(e),e=>e,[e.useExisting],e.policy)]]),n=ac([[e=>S(e.val),e=>new jc(e.token,e=>e,[e.val],e.policy)],[e=>Array.isArray(e.val),e=>new jc(e.token,Ya(e.val),e.val.slice(0,-1),e.policy)],[e=>j(e.val),e=>new jc(e.token,e.val,(e=>{const t=window.angular.$injector;return e.$inject||t&&yn(e,t.strictDi)||"deferred"})(e.val),e.policy)]]),r=ac([[ic(jc),e=>e],[e=>!(!e.token||!e.resolveFn),t],[e=>!!(e&&e.val&&(S(e.val)||Array.isArray(e.val)||j(e.val))),n],[oc(!0),e=>{throw new Error("Invalid resolve value: "+bc(e))}]]),s=e.resolve,i=Array.isArray(s)?s:((e,t)=>Object.keys(e||{}).map(n=>({token:n,val:e[n],deps:void 0,policy:t[n]})))(s,e.resolvePolicy||{});return i.map(r)}class cu{constructor(e,t){this.matcher=e,this.$injector=void 0;const n=this,r=()=>e.find("");var s;this.builders={name:[e=>e.name],self:[tu],parent:[function(t){return lu(t)?null:e.find(n.parentName(t))||r()}],data:[nu],url:[ru(t,r)],navigable:[su(lu)],params:[(s=t.paramFactory,function(e){const t=e.url&&e.url.parameters({inherit:!1})||[],n=Object.values(qa(Ua(e.params||{},t.map(e=>e.id)),(t,n)=>s.fromConfig(n,null,e.self)));return t.concat(n).map(e=>[e.id,e]).reduce(Za,{})})],views:[],path:[iu],includes:[ou],resolvables:[au]}}builder(e,t){const n=this.builders,r=n[e]||[];return S(e)&&!C(t)?r.length>1?r:r[0]:S(e)&&j(t)?(n[e]=r,n[e].push(t),()=>n[e].splice(n[e].indexOf(t,1))&&null):void 0}build(e){const{matcher:t,builders:n}=this,r=this.parentName(e);if(r&&!t.find(r,void 0,!1))return null;for(const t in n){if(!we(n,t))continue;const r=n[t].reduce((e,t)=>n=>t(n,e),()=>{});e[t]=r(e)}return e}parentName(e){const t=e.name||"",n=t.split(".");if("**"===n.pop()&&n.pop(),n.length){if(e.parent)throw new Error(`States that specify the 'parent:' property should not have a '.' in their name (${t})`);return n.join(".")}return e.parent?S(e.parent)?e.parent:e.parent.name:""}name(e){const t=e.name;if(-1!==t.indexOf(".")||!e.parent)return t;const n=S(e.parent)?e.parent:e.parent.name;return n?n+"."+t:t}}function lu(e){return""===e.name}function uu(e){return e.provide||e.token}class hu{constructor(e,t,n,r,s){this.stateRegistry=e,this.urlServiceRules=t,this.states=n,this.builder=r,this.listeners=s,this.queue=[]}register(e){const t=new Wl(e);if(!S(name))throw new Error("State must have a valid name");if(we(this.states,t.name)||this.queue.map(e=>e.name).includes(t.name))throw new Error(`State '${t.name}' is already defined`);return this.queue.push(t),this.flush(),t}flush(){const{queue:e,states:t,builder:n}=this,r=[],s=[],i={},o=e=>we(this.states,e)&&this.states[e],a=()=>{r.length&&this.listeners.forEach(e=>e("registered",r.map(e=>e.self)))};for(;e.length>0;){const c=e.shift(),l=c.name,u=n.build(c),h=s.indexOf(c);if(u){const e=o(l);if(e&&e.name===l)throw new Error(`State '${l}' is already defined`);const n=o(l+".**");n&&this.stateRegistry.deregister(n),t[l]=c,this.attachRoute(c),h>=0&&s.splice(h,1),r.push(c);continue}const d=i[l];if(i[l]=e.length,h>=0&&d===e.length)return e.push(c),a(),t;h<0&&s.push(c),e.push(c)}return a(),t}attachRoute(e){if(e.abstract||!e.url)return;const t=this.urlServiceRules;t.rule(t.urlRuleFactory.create(e))}}class du{static $inject=Xt([Yt.$url,Yt.$state,Yt.$router,Yt.$view]);constructor(e,t,n,r){this.states={},t.stateRegistry=this,this.urlService=e,this.urlServiceRules=e.rules,this.$injector=void 0,this.listeners=[],this.matcher=new eu(this.states),this.builder=new cu(this.matcher,e),this.builder.builder("views",Wc),this.builder.builder("onExit",this.getStateHookBuilder("onExit")),this.builder.builder("onRetain",this.getStateHookBuilder("onRetain")),this.builder.builder("onEnter",this.getStateHookBuilder("onEnter")),this.stateQueue=new hu(this,this.urlServiceRules,this.states,this.builder,this.listeners),this.registerRoot(),r.rootViewContext(this.root()),n.$current=this.root(),n.current=n.$current.self}$get=[Yt.$injector,e=>(this.$injector=e,this.builder.$injector=e,this)];getStateHookBuilder(e){let t=this;return function(n){const r=n[e],s="onExit"===e?"from":"to";return r?function(e,n){const i=new Bc(e.treeChanges(s)).subContext(n.$$state()),o=Object.assign(pu(i),{$state$:n,$transition$:e});return t.$injector.invoke(r,this,o)}:void 0}}registerRoot(){this._root=this.stateQueue.register({name:"",url:"^",views:null,params:{"#":{value:null,type:"hash",dynamic:!0}},abstract:!0}),this._root.navigable=null}onStatesChanged(e){return this.listeners.push(e),function(){Ma(this.listeners,e)}.bind(this)}root(){return this._root}register(e){return this.stateQueue.register(e)}_deregisterTree(e){const t=this.get().map(e=>e.$$state()),n=e=>{const r=t.filter(t=>-1!==e.indexOf(t.parent));return 0===r.length?r:r.concat(n(r))},r=n([e]),s=[e].concat(r).reverse();return s.forEach(e=>{const t=this.urlServiceRules;t.rules().filter(rc("state",e)).forEach(e=>t.removeRule(e)),delete this.states[e.name]}),s}deregister(e){const t=this.get(e);if(!t)throw new Error("Can't deregister state; not found: "+e);const n=this._deregisterTree(t.$$state());return this.listeners.forEach(e=>e("deregistered",n.map(e=>e.self))),n}get(e,t){if(0===arguments.length)return Object.keys(this.states).map(e=>this.states[e].self);const n=this.matcher.find(e,t);return n&&n.self||null}decorator(e,t){return this.builder.builder(e,t)}}const pu=e=>e.getTokens().filter(S).map(t=>{const n=e.getResolvable(t);return[t,"NOWAIT"===e.getPolicy(n).async?n.promise:n.data]}).reduce(Za,{});function fu(e){const t=e.match(/^\s*({[^}]*})\s*$/);t&&(e="("+t[1]+")");const n=e.replace(/\n/g," ").match(/^\s*([^(]*?)\s*(\((.*)\))?\s*$/);if(!n||4!==n.length)throw new Error("Invalid state ref '"+e+"'");return{state:n[1]||null,paramExpr:n[3]||null}}function $u(e){const t=Ut(e,"$ngView"),n=sc("$cfg.path")(t);return n?Ya(n).state.name:void 0}function mu(e,t,n){const r=n.ngState||e.current.name,s=Object.assign(function(e,t){return{relative:$u(e)||t.$current,inherit:!0,source:"sref"}}(t,e),n.ngStateOpts||{}),i=e.href(r,n.ngStateParams,s);return{ngState:r,ngStateParams:n.ngStateParams,ngStateOpts:s,href:i}}function gu(e){const t="[object SVGAnimatedString]"===Object.prototype.toString.call(e.getAttribute("href")),n="FORM"===e.nodeName;return{attr:n?"action":t?"xlink:href":"href",isAnchor:"A"===e.nodeName,clickable:!n}}function vu(e,t,n,r,s){return function(i){const o=i.which||i.button,a=r();if(o>1||i.ctrlKey||i.metaKey||i.shiftKey||i.altKey||e.getAttribute("target"))i.preventDefault(),i.stopImmediatePropagation();else{const r=setTimeout(function(){if(!e.getAttribute("disabled")){t.go(a.ngState,a.ngStateParams,a.ngStateOpts).then(()=>{s.$emit("$updateBrowser")})}});i.preventDefault();let o=n.isAnchor&&!a.href?1:0;i.preventDefault=function(){o--<=0&&clearTimeout(r)}}}}function yu(e,t,n,r){let s;r&&(s=r.events),Array.isArray(s)||(s=["click"]);for(const t of s)e.addEventListener(t,n);t.$on("$destroy",function(){for(const t of s)e.removeEventListener(t,n)})}function bu(e,t,n){const r=e;return{restrict:"A",require:["?^ngSrefActive","?^ngSrefActiveEq"],link:(e,s,i,o)=>{const a=gu(s),c=o[1]||o[0];let l=null;const u={},h=()=>mu(r,s,u),d=fu(i.ngSref);function p(){u.ngStateParams=Object.assign({},e.$eval(d.paramExpr));const t=h();l&&l(),c&&(l=c.$$addStateInfo(t.ngState,t.ngStateParams)),null!=t.href&&i.$set(a.attr,t.href)}u.ngState=d.state,u.ngStateOpts=i.ngSrefOpts?e.$eval(i.ngSrefOpts):{},d.paramExpr&&(e.$watch(d.paramExpr,function(e){u.ngStateParams=Object.assign({},e),p()},!0),u.ngStateParams=Object.assign({},e.$eval(d.paramExpr))),p(),e.$on("$destroy",t.onStatesChanged(p)),e.$on("$destroy",n.onSuccess({},p)),a.clickable&&yu(s,e,vu(s,r,a,h,e),u.ngStateOpts)}}}function wu(e,t,n){return{restrict:"A",require:["?^ngSrefActive","?^ngSrefActiveEq"],link:function(r,s,i,o){const a=gu(s),c=o[1]||o[0];let l,u=null;const h={},d=()=>mu(e,s,h),p=["ngState","ngStateParams","ngStateOpts"],f=p.reduce((e,t)=>(e[t]=()=>{},e),{});function $(){const e=d();u&&u(),c&&(u=c.$$addStateInfo(e.ngState,e.ngStateParams)),null!=e.href&&i.$set(a.attr,e.href)}p.forEach(e=>{h[e]=i[e]?r.$eval(i[e]):null,i.$observe(e,t=>{f[e](),f[e]=r.$watch(t,t=>{h[e]=t,$()})})}),$(),r.$on("$destroy",t.onStatesChanged($)),r.$on("$destroy",n.onSuccess({},$)),a.clickable&&(l=vu(s,e,a,d,r),yu(s,r,l,h.ngStateOpts))}}}function Eu(e,t,n,r,s){return{restrict:"A",controller:function(i,o,a){let c,l,u=[];c=n(a.ngSrefActiveEq||"",!1)(i);try{l=i.$eval(a.ngSrefActive)}catch{}function h(e){e.promise.then($,()=>{})}function d(){p(l)}function p(e){x(e)&&(u=[],Object.entries(e).forEach(([e,t])=>{const n=function(e,t){const n=fu(e);f(n.state,i.$eval(n.paramExpr),t)};S(t)?n(t,e):Array.isArray(t)&&t.forEach(t=>{n(t,e)})}))}function f(t,n,r){const s={state:e.get(t,$u(o))||{name:t},params:n,activeClass:r};return u.push(s),function(){Ma(u,s)}}function $(){const t=e=>e.split(/\s/).filter(Boolean),n=e=>e.map(e=>e.activeClass).map(t).reduce(za,[]),r=n(u).concat(t(c)).reduce(Ka,[]),s=n(u.filter(t=>e.includes(t.state.name,t.params))),i=!!u.filter(t=>e.is(t.state.name,t.params)).length?t(c):[],a=s.concat(i).reduce(Ka,[]),l=r.filter(e=>!a.includes(e));a.forEach(e=>o.classList.add(e)),l.forEach(e=>o.classList.remove(e))}l=l||n(a.ngSrefActive||"",!1)(i),p(l),this.$$addStateInfo=function(e,t){if(x(l)&&u.length>0)return;const n=f(e,t,l);return $(),n},i.$on("$destroy",function(){const e=r.onStatesChanged(d),t=s.onStart({},h),n=i.$on("$stateChangeSuccess",$);return function(){e(),t(),n()}}()),t.transition&&h(t.transition),$()}}}bu.$inject=["$state","$stateRegistry","$transitions"],wu.$inject=["$state","$stateRegistry","$transitions"],Eu.$inject=["$state","$router","$interpolate","$stateRegistry","$transitions"];let Cu=["$view","$animate","$viewScroll","$interpolate",function(e,t,n,r){const s={$cfg:{viewDecl:{$context:e.rootViewContext()}},$ngView:{}},i={count:0,terminal:!0,priority:400,transclude:"element",compile:function(o,a,c){return function(o,a,l){const u=l.onload||"",h=l.autoscroll,d={enter:function(e,n,r){ye(e)?t.enter(e,null,n).then(r):(n.after(e),r())},leave:function(e,n){ye(e)?t.leave(e).then(n):(e.parentElement.removeChild(e),n())}},p=Ut(a,"$ngView")||s,f=r(l.ngView||l.name||"")(o)||"$default";let $,m,g,v;const y={id:i.count++,name:f,fqn:p.$ngView.fqn?p.$ngView.fqn+"."+f:f,config:null,configUpdated:function(e){if(e&&!(e instanceof Qc))return;if(t=v,n=e,t===n)return;var t,n;Ac.traceUIViewConfigUpdated(y,e&&e.viewDecl&&e.viewDecl.$context),v=e,w(e)},get creationContext(){const e=sc("$cfg.viewDecl.$context")(p),t=sc("$ngView.creationContext")(p);return e||t}};Ac.traceUIViewEvent("Linking",y),Rt(a,"$ngView",{$ngView:y}),w();const b=e.registerUIView(y);function w(e){const t=o.$new(),r=Promise.withResolvers(),s=Promise.withResolvers(),i={$cfg:e,$ngView:y},l={$animEnter:r.promise,$animLeave:s.promise,$$animLeave:s};t.$emit("$viewContentLoading",f),m=c(t,function(e){Rt(e,"$ngViewAnim",l),Rt(e,"$ngView",i),d.enter(e,a,function(){r.resolve(),g&&g.$emit("$viewContentAnimationEnded"),(C(h)&&!h||o.$eval(h))&&n(e)}),function(){if($&&(Ac.traceUIViewEvent("Removing (previous) el",Lt($,"$ngView")),$.remove(),$=null),g&&(Ac.traceUIViewEvent("Destroying scope",y),g.$destroy(),g=null),m){const e=Lt(m,"$ngViewAnim");Ac.traceUIViewEvent("Animate out",e),d.leave(m,function(){e.$$animLeave.resolve(),$=null}),$=m,m=null}}()}),g=t,g.$emit("$viewContentLoaded",e||v),g.$eval(u)}o.$on("$destroy",function(){Ac.traceUIViewEvent("Destroying/Unregistering",y),b()})}}};return i}];function xu(e,t,n){const r=sc("viewDecl.controllerAs"),s=sc("viewDecl.resolveAs");return{priority:-400,compile:function(i){const o=i.innerHTML;return jt(i,!0),function(i,a){const c=Lt(a,"$ngView");if(!c)return a.innerHTML=o,void e(a.contentDocument||a.childNodes)(i);const l=c.$cfg||{viewDecl:{},getTemplate:()=>{}},u=l.path&&new Bc(l.path);a.innerHTML=l.getTemplate(a,u)||o,Ac.traceUIViewFill(c.$ngView,a.innerHTML);const h=e(a.contentDocument||a.childNodes),d=l.controller,p=r(l),f=s(l),$=u&&pu(u);if(f&&(i.$target[f]=$),d){const e=t(d,Object.assign({},$,{$scope:i,$element:a}));p&&(i.$target[p]=e,i.$target[p][f]=$),Rt(a,"$ngControllerController",e),Array.from(a.children).forEach(t=>{Rt(t,"$ngControllerController",e)}),function(e,t,n,r){!j(t.$onInit)||r.viewDecl.component||r.viewDecl.componentProvider||t.$onInit();const s=Ya(r.path).state.self,i={bind:t};if(j(t.uiOnParamsChanged)){const o=new Bc(r.path).getResolvable("$transition$").data,a=e=>{if(e===o||-1!==e.exiting().indexOf(s))return;const n=e.params("to"),r=e.params("from"),i=e=>e.paramSchema,a=e.treeChanges("to").map(i).reduce(za,[]),c=e.treeChanges("from").map(i).reduce(za,[]),l=a.filter(e=>{const t=c.indexOf(e);return-1===t||!c[t].type.equals(n[e.id],r[e.id])});if(l.length){const r=l.map(e=>e.id),s=Ia(n,(e,t)=>-1!==r.indexOf(t));t.uiOnParamsChanged(s,e)}};n.$on("$destroy",e.onSuccess({},a,i))}if(j(t.uiCanExit)){const r=Su++,o="_uiCanExitIds",a=e=>!!e&&(e[o]&&!0===e[o][r]||a(e.redirectedFrom())),c=e=>{let n;const s=e[o]=e[o]||{};return a(e)||(n=Promise.resolve(t.uiCanExit(e)),n.then(e=>s[r]=!1!==e)),n},l={exiting:s.name};n.$on("$destroy",e.onBefore(l,c,i))}}(n,e,i,l)}h(i)}}}}xu.$inject=["$compile","$controller","$transitions"];let Su=0;function Ou(e){return{link:(t,n,r)=>{const s=r.ngChannel,i=n.childNodes.length>0,o=e.subscribe(s,e=>{i?x(e)&&t.$merge(e):n.innerHTML=e});t.$on("$destroy",()=>{e.unsubscribeByKey(o)})}}}function ku(e,t){return{restrict:"A",link(n,r,s){const i=s.ngSetter;if(!i)return void t.warn("ng-setter: expression null");const o=e(i).assign;if(!o)return void t.warn("ng-setter: expression invalid");const a=e=>{o(n,e.trim())},c=new MutationObserver(e=>{let t=!1;for(const n of e)if("childList"===n.type||"characterData"===n.type){t=!0;break}t&&a(r.innerHTML)});c.observe(r,{childList:!0,subtree:!0,characterData:!0}),n.$on("$destroy",()=>c.disconnect()),a(r.innerHTML)}}}function Au(e,t){return{restrict:"A",link(n,r,s){const i=s.ngInject;if(!i)return;const o=i.split(";").map(e=>e.trim()).filter(Boolean);for(const r of o)t.has(r)?n[r]=t.get(r):e.warn(`Injectable ${r} not found in $injector`)}}}function Tu(){return{restrict:"A",link(e,t,n){const r=n.ngEl,s=r||t.id;e.$target[s]=t;const i=t.parentNode;if(!i)return;const o=new MutationObserver(n=>{for(const r of n)Array.from(r.removedNodes).forEach(n=>{n===t&&(delete e.$target[s],o.disconnect())})});o.observe(i,{childList:!0})}}}Ou.$inject=[Yt.$eventBus],ku.$inject=[Yt.$parse,Yt.$log],Au.$inject=[Yt.$log,Yt.$injector];class _u{constructor(){this.defaults={retryDelay:1e3,maxRetries:1/0,heartbeatTimeout:15e3,transformMessage(e){try{return JSON.parse(e)}catch{return e}}}}$get=[Yt.$log,e=>(this.$log=e,(e,t={})=>{const n={...this.defaults,...t},r=this.#u(e,n.params);return this.#h(r,n)})];#u(e,t){if(!t)return e;const n=Object.entries(t).map(([e,t])=>`${encodeURIComponent(e)}=${encodeURIComponent(t)}`).join("&");return e+(e.includes("?")?"&":"?")+n}#h(e,t){let n,r,s=0,i=!1;const o=()=>{i||(n=new EventSource(e,{withCredentials:!!t.withCredentials}),n.addEventListener("open",e=>{s=0,t.onOpen?.(e),t.heartbeatTimeout&&a()}),n.addEventListener("message",e=>{let n=e.data;try{n=t.transformMessage?t.transformMessage(n):n}catch{}t.onMessage?.(n,e),t.heartbeatTimeout&&a()}),n.addEventListener("error",e=>{t.onError?.(e),i||(n.close(),s<t.maxRetries?(s++,t.onReconnect?.(s),setTimeout(o,t.retryDelay)):this.$log.warn("SSE: Max retries reached"))}))},a=()=>{clearTimeout(r),r=setTimeout(()=>{this.$log.warn("SSE: heartbeat timeout, reconnecting..."),n.close(),t.onReconnect?.(++s),o()},t.heartbeatTimeout)};return o(),{close(){i=!0,clearTimeout(r),n.close()},connect(){!1===i&&close(),o()}}}}function ju(){return{restrict:"A",link(e,t,n){const r=n.onEnter,s=n.onLeave,i=new IntersectionObserver(t=>{t.forEach(t=>{t.isIntersecting?r&&e.$eval(r):s&&e.$eval(s)})},{root:null,threshold:.1});i.observe(t);const o=t.parentNode;let a;o&&(a=new MutationObserver(e=>{for(const n of e)Array.from(n.removedNodes).forEach(e=>{e===t&&(i.disconnect(),a.disconnect())})}),a.observe(o,{childList:!0})),e.$on("$destroy",()=>{i.disconnect(),a&&a.disconnect()})}}}function Nu(){return{async link(e,t,n){e.$target[n.as||"wasm"]=(await Se(n.src)).exports}}}function Ru(){return{scope:!1,async link(e,t,n){e.$scopename=n.ngScope}}}class Lu{constructor(){this.defaults={}}$get=[Yt.$exceptionHandler,e=>new Vu(this.defaults,e)]}class Vu{constructor(e,t){le(x(e),p),le(j(t),p),this.defaults=Object.freeze({...e}),this.$exceptionHandler=t}get(e){le(S(e),p);return Mu()[e]||null}getObject(e){le(S(e),p);const t=this.get(e);if(!t)return null;try{return JSON.parse(t)}catch(t){this.$exceptionHandler(new SyntaxError(`badparse: "${e}" => ${t.message}`))}}getAll(){return Mu()}put(e,t,n={}){le(S(e),f),le(S(t),$);const r=encodeURIComponent(e),s=encodeURIComponent(t);try{document.cookie=`${r}=${s}`+function(e={}){const t=[];if(C(e.path)){if(!S(e.path))throw new TypeError(p+`:path ${e.path}`);t.push(`path=${e.path}`)}if(C(e.domain)){if(!S(e.domain))throw new TypeError(p+`:domain ${e.domain}`);t.push(`domain=${e.domain}`)}if(null!=e.expires){let n;if(e.expires instanceof Date)n=e.expires;else{if(!A(e.expires)&&!S(e.expires))throw new TypeError(p+`:expires ${String(e.expires)}`);n=new Date(e.expires)}if(isNaN(n.getTime()))throw new TypeError(p+`:expires ${String(e.expires)}`);t.push(`expires=${n.toUTCString()}`)}e.secure&&t.push("secure");if(C(e.samesite)){if(!S(e.samesite))throw new TypeError(p+`:samesite ${e.samesite}`);const n=e.samesite.toLowerCase();if(!["lax","strict","none"].includes(n))throw new TypeError(p+`:samesite ${e.samesite}`);t.push(`samesite=${n}`)}return t.length?";"+t.join(";"):""}({...this.defaults,...n})}catch(e){this.$exceptionHandler(e)}}putObject(e,t,n){le(S(e),f),le(!k(t),$);try{const r=JSON.stringify(t);this.put(e,r,n)}catch(t){this.$exceptionHandler(new TypeError(`badserialize: "${e}" => ${t.message}`))}}remove(e,t={}){le(S(e),p),this.put(e,"",{...this.defaults,...t,expires:new Date(0)})}}function Mu(){const e={};if(!document.cookie)return e;const t=document.cookie.split("; ");for(const n of t){const t=n.indexOf("=");if(-1===t)continue;const r=decodeURIComponent(n.substring(0,t)),s=decodeURIComponent(n.substring(t+1));e[r]=s}return e}function Pu(e,t={}){if("string"!=typeof e)throw new TypeError("template must be a string");return e.replace(/\{([^}]+)\}/g,(e,n)=>function(e,t){const n=/^[+#./;?&]/.test(e)?e[0]:"",r=n,s=r?e.slice(1):e,i={"":{sep:",",prefix:"",named:!1,ifEmpty:"",allowReserved:!1},"+":{sep:",",prefix:"",named:!1,ifEmpty:"",allowReserved:!0},"#":{sep:",",prefix:"#",named:!1,ifEmpty:"",allowReserved:!0},".":{sep:".",prefix:".",named:!1,ifEmpty:"",allowReserved:!1},"/":{sep:"/",prefix:"/",named:!1,ifEmpty:"",allowReserved:!1},";":{sep:";",prefix:";",named:!0,ifEmpty:"",allowReserved:!1},"?":{sep:"&",prefix:"?",named:!0,ifEmpty:"=",allowReserved:!1},"&":{sep:"&",prefix:"&",named:!0,ifEmpty:"=",allowReserved:!1}}[r];if(!i)throw new Error("Unsupported operator: "+r);const o=s.split(",").map(e=>e.trim()).filter(Boolean),a=[];for(const e of o){const n=/^([A-Za-z0-9_.]+)(\*|(?::(\d+)))?$/.exec(e);if(!n)throw new Error("Invalid varspec: "+e);const r=n[1],s="*"===n[2],o=n[3]?parseInt(n[3],10):void 0,c=t[r];if(null==c)continue;if(Array.isArray(c)){if(0===c.length){i.named&&("="===i.ifEmpty?a.push(`${Du(r,i.allowReserved)}${i.ifEmpty}`):a.push(Du(r,i.allowReserved)));continue}if(s)for(const e of c)null!=e&&(i.named?a.push(`${Du(r,i.allowReserved)}=${Du(e,i.allowReserved)}`):a.push(Du(e,i.allowReserved)));else{const e=c.filter(e=>null!=e).map(e=>Du(e,i.allowReserved)).join(",");i.named?""===e?a.push(Du(r,i.allowReserved)+("="===i.ifEmpty?i.ifEmpty:"")):a.push(`${Du(r,i.allowReserved)}=${e}`):a.push(e)}continue}if("object"==typeof c){const e=Object.keys(c);if(0===e.length){i.named&&a.push(Du(r,i.allowReserved)+("="===i.ifEmpty?i.ifEmpty:""));continue}if(s)for(const t of e){const e=c[t];null!=e&&(i.named,a.push(`${Du(t,i.allowReserved)}=${Du(e,i.allowReserved)}`))}else{const t=e.map(e=>`${Du(e,i.allowReserved)},${Du(c[e],i.allowReserved)}`).join(",");i.named?""===t?a.push(Du(r,i.allowReserved)+("="===i.ifEmpty?i.ifEmpty:"")):a.push(`${Du(r,i.allowReserved)}=${t}`):a.push(t)}continue}let l=String(c);"number"==typeof o&&(l=l.substring(0,o)),""!==l?i.named?a.push(`${Du(r,i.allowReserved)}=${Du(l,i.allowReserved)}`):a.push(Du(l,i.allowReserved)):i.named?"="===i.ifEmpty?a.push(`${Du(r,i.allowReserved)}${i.ifEmpty}`):a.push(Du(r,i.allowReserved)):a.push(Du(l,i.allowReserved))}return 0===a.length?"":i.prefix+a.join(i.sep)}(n,t))}function Du(e,t){const n=encodeURIComponent(String(e));return t?n.replace(/(%3A|%2F|%3F|%23|%5B|%5D|%40|%21|%24|%26|%27|%28|%29|%2A|%2B|%2C|%3B|%3D)/gi,e=>decodeURIComponent(e)):n}class Uu{static $nonscope=!0;constructor(e,t,n,r={}){le(S(t)&&t.length>0,"baseUrl required"),this.$http=e,this.baseUrl=t,this.entityClass=n,this.options=r}buildUrl(e,t){return Pu(e,t||{})}#d(e){return e&&this.entityClass?new this.entityClass(e):e}async list(e={}){const t=this.buildUrl(this.baseUrl,e),n=await this.#p("get",t,null,e);return Array.isArray(n.data)?n.data.map(e=>this.#d(e)):[]}async read(e,t={}){if(null==e)return null;const n=this.buildUrl(`${this.baseUrl}/${e}`,t);try{const e=await this.#p("get",n,null,t);return this.#d(e.data)}catch{return null}}async create(e){le(null!=e,"item required for create");const t=await this.#p("post",this.baseUrl,e);return this.#d(t.data)}async update(e,t){le(null!=e,"id required for update");const n=`${this.baseUrl}/${e}`;try{const e=await this.#p("put",n,t);return this.#d(e.data)}catch{return null}}async delete(e){if(null==e)return!1;const t=`${this.baseUrl}/${e}`;try{return await this.#p("delete",t),!0}catch{return!1}}async#p(e,t,n=null,r={}){try{return await this.$http({method:e,url:t,data:n,params:r,...this.options})}catch(n){throw console.error(`[RestService] HTTP ${e} failed for ${t}`,n),n}}}class Iu{constructor(){this.definitions=[]}rest(e,t,n,r={}){this.definitions.push({name:e,url:t,entityClass:n,options:r})}$get=[Yt.$http,e=>{const t=new Map,n=(t,n,r={})=>new Uu(e,t,n,r);for(const e of this.definitions){const r=n(e.url,e.entityClass,e.options);t.set(e.name,r)}return n.get=e=>t.get(e),n.listNames=()=>Array.from(t.keys()),n}]}const Hu=fe("ng"),qu=fe("$injector"),Fu={};const Bu=new class{constructor(){this.$cache=Oe,this.$eventBus=il,this.version="0.13.0",this.bootsrappedModules=[],this.getController=Dt,this.getInjector=zt,this.getScope=Vt,this.errorHandlingConfig=pe,this.$t=Yt,window.angular=this,function(e){e.module("ng",[],[Yt.$provide,e=>{e.provider({$$sanitizeUri:yo}),e.value(Yt.$window,window),e.value(Yt.$document,document),e.provider(Yt.$compile,or).directive({input:Qr,textarea:Qr,form:pr,script:Yr,select:es,option:ts,ngBind:ns,ngBindHtml:ss,ngBindTemplate:rs,ngChannel:Ou,ngClass:ls,ngClassEven:hs,ngClassOdd:us,ngCloak:ds,ngController:ps,ngDelete:nn,ngDisabled:Vo,ngEl:Tu,ngForm:fr,ngGet:tn,ngHide:gs,ngIf:vs,ngInclude:ys,ngInject:Au,ngInit:ws,ngMessages:Co,ngMessage:ko,ngMessageExp:Ao,ngMessagesInclude:Oo,ngMessageDefault:To,ngNonBindable:Es,ngPost:rn,ngPut:sn,ngRef:xs,ngRepeat:As,ngSetter:ku,ngShow:ms,ngStyle:Ts,ngSse:on,ngSwitch:_s,ngSwitchWhen:js,ngSwitchDefault:Ns,ngOptions:Ps,ngTransclude:Us,ngModel:Cr,pattern:Fs,ngPattern:Fs,required:qs,ngRequired:qs,ngMinlength:zs,minlength:zs,ngMaxlength:Bs,maxlength:Bs,ngValue:Zr,ngModelOptions:yr,ngViewport:ju,ngWasm:Nu,ngWorker:cn,ngScope:Ru}).directive({input:Gr,ngAnimateSwap:Na,ngAnimateChildren:Ra,ngChecked:Io,ngClick:Do,ngDblclick:zo,ngInclude:bs,ngHide:qo,ngShow:Mo,ngMessages:Po,ngModel:Bo,ngReadonly:Fo,ngRequired:Uo,ngValue:Ho,ngSref:bu,ngSrefActive:Eu,ngSrefActiveEq:Eu,ngState:wu,ngView:Cu}).directive({ngView:xu}).directive(Hs).directive(zn),e.provider({$aria:Lo,$anchorScroll:Qs,$animate:Zs,$$animation:ga,$animateCss:la,$$animateCssDriver:Aa,$$animateJs:fa,$$animateJsDriver:ja,$$animateCache:Ca,$$animateQueue:pa,$controller:Vn,$cookie:Lu,$exceptionHandler:Xs,$filter:ui,$interpolate:_i,$http:Wi,$httpParamSerializer:Ii,$location:to,$log:oo,$parse:Ei,$$rAFScheduler:va,$rest:Iu,$rootScope:ho,$router:fc,$sce:Bn,$sceDelegate:Fn,$sse:_u,$templateCache:Ys,$templateRequest:vo,$urlConfig:hc,$view:Gc,$transitions:Ll,$state:Ml,$viewScroll:Pl,$templateFactory:Dl,$url:Xl,$stateRegistry:du,$eventBus:rl})}]).factory("$stateParams",[Yt.$router,e=>e.params]).value("$trace",Ac)}(this)}module(e,t,n){return Q(e,"module"),t&&we(Fu,e)&&(Fu[e]=null),function(e,t,n){return e[t]||(e[t]=n())}(Fu,e,()=>{if(!t)throw qu("nomod","Module '{0}' is not available. Possibly misspelled or not loaded",e);return new dn(e,t,n)})}bootstrap(e,t,n){if(n=n||{strictDi:!1},(e instanceof Element||e instanceof Document)&&zt(e))throw Hu("btstrpd","App already bootstrapped");Array.isArray(t)&&(this.bootsrappedModules=t),this.bootsrappedModules.unshift(["$provide",t=>{t.value("$rootElement",e)}]),this.bootsrappedModules.unshift("ng");const r=Tn(this.bootsrappedModules,n.strictDi);return r.invoke([Yt.$rootScope,Yt.$rootElement,Yt.$compile,Yt.$injector,(e,t,n,r)=>{this.$rootScope=e,this.$injector=r,Rt(t,"$injector",r);if(n(t)(e),!we(r,"strictDi"))try{r.invoke(()=>{})}catch(e){r.strictDi=!!/strict mode/.exec(e&&e.toString())}r.get(Yt.$stateRegistry).get().map(e=>e.$$state().resolvables).reduce(za,[]).filter(e=>"deferred"===e.deps).forEach(e=>e.deps=yn(e.resolveFn,r.strictDi))}]),r}injector(e,t){return Tn(e,t)}init(e){let t,n;const r={};ae.forEach(r=>{const s=`${r}app`;e.hasAttribute&&e.hasAttribute(s)&&(t=e,n=e.getAttribute(s))}),ae.forEach(r=>{const s=`${r}app`;let i;!t&&(i=e.querySelector(`[${s.replace(":","\\:")}]`))&&(t=i,n=i.getAttribute(s))}),t&&(r.strictDi=null!==function(e,t){let n,r;const s=ae.length;for(r=0;r<s;++r)if(n=ae[r]+t,S(n=e.getAttribute(n)))return n;return null}(t,"strict-di"),this.bootstrap(t,n?[n]:[],r))}getScopeByName(e){const t=this.$rootScope.$searchByName(e);if(t)return t.$proxy}};document.addEventListener("DOMContentLoaded",()=>Bu.init(document),{once:!0}),e.angular=Bu});