self.AMP_CONFIG={"v":"012408291337000","type":"production","allow-doc-opt-in":["amp-next-page"],"allow-url-opt-in":[],"canary":0,"a4aProfilingRate":0.01,"doubleclickSraExp":0.01,"doubleclickSraReportExcludedBlock":0.1,"flexAdSlots":0.05,"flexible-bitrate":0.1,"ios-fixed-no-transfer":0,"story-ad-placements":0.01,"story-disable-animations-first-page":1,"story-load-inactive-outside-viewport":1,"amp-sticky-ad-to-amp-ad-v4":0,"story-video-cache-apply-audio":0,"amp-story-subscriptions":1,"interaction-to-next-paint":1,"esm":1};/*AMP_CONFIG*/self.AMP_EXP={"flexible-bitrate":0.1,"amp-story-first-page-max-bitrate":0.3,"story-disable-animations-first-page":1,"story-load-first-page-only":1,"story-load-inactive-outside-viewport":1,"story-ad-page-outlink":0.02,"amp-geo-ssr":1,"story-remote-localization":1,"amp-story-subscriptions":1,"attribution-reporting":0.04};/*AMP_EXP*/; self,self.AMP=self.AMP||[];try{AMP._=AMP._||{},self.AMP&&!Array.isArray(self.AMP)||(()=>{var t,i=class{constructor(){this.bt=new s}abort(){if(!this.bt.wt&&(this.bt.wt=!0,this.bt.yt)){const t={"type":"abort","bubbles":!1,"cancelable":!1,"target":this.bt,"currentTarget":this.bt};this.bt.yt(t)}}get signal(){return this.bt}},s=class{constructor(){this.wt=!1,this.yt=null}get aborted(){return this.wt}get onabort(){return this.yt}set onabort(t){this.yt=t}};function e(){return t||(t=Promise.resolve(void 0))}var n=class{constructor(){this.promise=new Promise(((t,i)=>{this.resolve=t,this.reject=i}))}};function r(t){return new Promise((i=>{i(t())}))}function h(t){const i=Object.getOwnPropertyDescriptor(t,"message");if(null!=i&&i.writable)return t;const{message:s,stack:e}=t,n=new Error(s);for(const i in t)n[i]=t[i];return n.stack=e,n}function o(t){let i=null,s="";for(const t of arguments)t instanceof Error&&!i?i=h(t):(s&&(s+=" "),s+=t);return i?s&&(i.message=s+": "+i.message):i=new Error(s),i}function u(t){var i,s;null===(i=(s=self).__AMP_REPORT_ERROR)||void 0===i||i.call(s,t)}function l(t){const i=o.apply(null,arguments);setTimeout((()=>{throw u(i),i}))}function c(t){const i=o.apply(null,arguments);return i.expected=!0,i}var{hasOwnProperty:a,toString:d}=Object.prototype;function f(t){return"[object Object]"===d.call(t)}function p(t){const i=Object.create(null);return t&&Object.assign(i,t),i}function m(t,i){return a.call(t,i)}function _(t){const i=p();for(const s in t){if(!m(t,s))continue;const e=t[s];i[s]=f(e)?_(e):e}return i}function A(t,i,s){return i in t?Object.defineProperty(t,i,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[i]=s,t}function P(t,i){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);i&&(e=e.filter((function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable}))),s.push.apply(s,e)}return s}function g(t){for(var i=1;i=0&&t.indexOf(i,s)==s}function y(t){return"string"==typeof t}function b(t){return 1==(null==t?void 0:t.nodeType)}function w(t){return"number"==typeof t&&isFinite(t)}var V="​​​",S="​​​​";function x(t){return b(t)?t.tagName.toLowerCase()+(t.id?`#${t.id}`:""):t}function O(t){return t.indexOf(V)>=0}function C(t){return t.replace(V,"")}function k(t,i,s="Assertion failed",e){var n,r;if(i)return i;t&&-1==s.indexOf(t)&&(s+=t);let h=3;const o=s.split("%s");let u=o.shift();const l=[u];for(;o.length;){const t=arguments[h++],i=o.shift();u+=x(t)+i,l.push(t,i.trim())}const c=new Error(u);throw c.messageArray=T(l,(t=>""!==t)),null===(n=(r=self).__AMP_REPORT_ERROR)||void 0===n||n.call(r,c),c}function N(t,i,s,e,n){return v(n)?t(s,n.concat([i])):t(s,`${n||e}: %s`,i),i}function D(t,i,s,e,n,r,h,o,u,l,c){return t}function L(t,i){return t}function U(t,i){return t}function $(t,i){return t}function F(t,i,s,e,n,r,h,o,u,l,c){return k(V,t,i,s,e,n,r,h,o,u,l,c)}function B(t){return JSON.parse(t)}function H(t){const i=new Uint8Array(t.length);for(let s=0;s0?e=t.setTimeout(h,o):(u=r,r=null,i.apply(null,u))}return function(...i){n=t.Date.now(),r=i,e||(e=t.setTimeout(h,s))}}var q=["javascript:","data:","vbscript:"],W=/(?:^[#?]?|&)([^=&]+)(?:=([^&]*))?/g;function K(t,i=""){try{return decodeURIComponent(t)}catch(t){return i}}function Y(t){const i=p();if(!t)return i;let s;for(;s=W.exec(t);){const t=K(s[1],s[1]),e=s[2]?K(s[2].replace(/\+/g," "),s[2]):"";i[t]=e}return i}function Q(t){const{location:i}=t||self;return Y(i.originalHash||i.hash)}var J=t=>self.AMP_CONFIG?self.AMP_CONFIG[t]:null,X=("string"==typeof J("cdnProxyRegex")?new RegExp(J("cdnProxyRegex")):J("cdnProxyRegex"))||/^https:\/\/([a-zA-Z0-9_-]+\.)?cdn\.ampproject\.org$/;function Z(t){if(!self.document||!self.document.head)return null;if(self.location&&X.test(self.location.origin))return null;const i=self.document.head.querySelector(`meta[name="${t}"]`);return i&&i.getAttribute("content")||null}var tt=J("thirdPartyUrl")||"https://3p.ampproject.net",it=J("thirdPartyFrameHost")||"ampproject.net",st=("string"==typeof J("thirdPartyFrameRegex")?new RegExp(J("thirdPartyFrameRegex")):J("thirdPartyFrameRegex"))||/^d-\d+\.ampproject\.net$/,et=J("cdnUrl")||Z("runtime-host")||"https://cdn.ampproject.org",nt=/^https?:\/\/localhost(:\d+)?$/,rt=J("errorReportingUrl")||"https://us-central1-amp-error-reporting.cloudfunctions.net/r",ht=J("betaErrorReportingUrl")||"https://us-central1-amp-error-reporting.cloudfunctions.net/r-beta",ot=J("localDev")||!1,ut=[/(^|\.)google\.(com?|[a-z]{2}|com?\.[a-z]{2}|cat)$/,/(^|\.)gmail\.(com|dev)$/],lt=J("geoApiUrl")||Z("amp-geo-api"),ct="";function at(t){const i=t||self;return i.__AMP_MODE?i.__AMP_MODE:i.__AMP_MODE=function(t){return{localDev:!1,development:ft(t,Q(t)),esm:!0,test:!1,rtvVersion:dt(t),ssrReady:!1}}(i)}function dt(t){var i;return ct||(ct=(null===(i=t.AMP_CONFIG)||void 0===i?void 0:i.v)||"012408291337000"),ct}function ft(t,i){const s=i||Q(t);return["1","actions","amp","amp4ads","amp4email"].includes(s.development)||!!t.AMP_DEV_MODE}var pt=()=>{},mt=void 0;function _t(t){mt=t}var At=(t,i)=>i.reduce(((t,i)=>`${t}&s[]=${Pt(i)}`),`https://log.amp.dev/?v=012408291337000&id=${encodeURIComponent(t)}`),Pt=t=>encodeURIComponent(String(x(t))),gt=t=>parseInt(Q(t).log,10);self.__AMP_LOG=self.__AMP_LOG||{user:null,dev:null,userForEmbed:null};var vt=self.__AMP_LOG,Et=null;function Tt(t,i){if(!Et)throw new Error("failed to call initLogConstructor");return new Et(self,t,i)}function It(t){return vt.user||(vt.user=Mt(V)),function(t,i){return i&&i.ownerDocument.defaultView!=t}(vt.user.win,t)?vt.userForEmbed||(vt.userForEmbed=Mt(S)):vt.user}function Mt(t){return Tt(((t,i)=>i||t>=1?4:2),t)}function Rt(){return vt.dev||(vt.dev=Tt((t=>t>=3?4:t>=2?3:0)))}function yt(t,i,s,e,n,r,h,o,u,l,c){return t}function bt(t,i,s,e,n,r,h,o,u,l,c){return It().assert(t,i,s,e,n,r,h,o,u,l,c)}function wt(t){return(t.ownerDocument||t).defaultView}function Vt(t,i){return t.replace(/^|,/g,`$&${i} `)}function St(t){return CSS.escape(t)}function xt(t){D(/^[\w-]+$/.test(t))}function Ot(t,i){return t.querySelector(Vt(i,":scope"))}function Ct(t,i){return t.closest(i)}function kt(t,i){for(let s=t.lastElementChild;s;s=s.previousElementSibling)if(i(s))return s;return null}function Nt(t,i){return xt(i),Ot(t,`> [${i}]`)}function Dt(t){return!!function(t){let i;return y(t)?i=t:b(t)&&(i=t.tagName),!!i&&i.toLowerCase().startsWith("i-")}(t)||t.nodeType===Node.ELEMENT_NODE&&(L(t),t.hasAttribute("placeholder")||t.hasAttribute("fallback")||t.hasAttribute("overflow"))}var Lt={bubbles:!0,cancelable:!0};function Ut(t,i,s){if(i(t))s();else{const e=new(wt(t).MutationObserver)((()=>{i(t)&&(e.disconnect(),s())}));e.observe(t,{childList:!0})}}function $t(t,i){Ut(t.documentElement,(()=>!!t.body),i)}function Ft(t){return new Promise((i=>$t(t,i)))}function Bt(t){var i;null===(i=t.parentElement)||void 0===i||i.removeChild(t)}function Ht(t){const i=t.isConnected;if(void 0!==i)return i;let s=t;for(;s=jt(s),s.host;)s=s.host;return s.nodeType===Node.DOCUMENT_NODE}function jt(t){if(Node.prototype.getRootNode)return t.getRootNode();let i;for(i=t;i.parentNode&&(!(s=i)||"I-AMPHTML-SHADOW-ROOT"!=s.tagName&&(11!=s.nodeType||"[object ShadowRoot]"!==Object.prototype.toString.call(s)));i=i.parentNode);var s;return i}function zt(t,i){let s=t;do{if(s.nextSibling)return!0}while((s=s.parentNode)&&s!=i);return!1}function Gt(t){try{t.focus()}catch(t){}}function qt(t){return t.parent&&t.parent!=t}function Wt(t,i,s,e){const n=s||{};D(t.ownerDocument);const{bubbles:r,cancelable:h}=e||Lt,o=new MessageEvent(i,{data:n,bubbles:r,cancelable:h});t.dispatchEvent(o)}function Kt(t,i){return i!==t&&t.contains(i)}function Yt(t){return t.hasAttribute("i-amphtml-ssr")}function Qt(t,i){const s=t.head.querySelector("script[nonce]");if(s){const t=s.nonce||s.getAttribute("nonce");i.setAttribute("nonce",null!=t?t:"")}}function Jt(t,i,s,e){return{left:t,top:i,width:s,height:e,bottom:i+e,right:t+s,x:t,y:i}}function Xt(t,i,s){return Jt(t.left-t.width*i,t.top-t.height*s,t.width*(1+2*i),t.height*(1+2*s))}function Zt(t,i,s){return 0==i&&0==s||0==t.width&&0==t.height?t:Jt(t.left+i,t.top+s,t.width,t.height)}function ti(t){return!t.IntersectionObserver||!t.IntersectionObserverEntry||!!t.IntersectionObserver._stub||!function(t){try{return new t.IntersectionObserver((()=>{}),{root:t.document}),!0}catch(t){return!1}}(t)||function(t){return/apple/i.test(t.navigator.vendor)}(t)}var ii=class t{constructor(i,s){this.jt=i,this.At=g({root:null,rootMargin:"0px 0px 0px 0px"},s),this.xt=[],this.Pt=null,t._upgraders.push(this.Et.bind(this))}get root(){return this.Pt?this.Pt.root:this.At.root||null}get rootMargin(){return this.Pt?this.Pt.rootMargin:this.At.rootMargin}get thresholds(){return this.Pt?this.Pt.thresholds:[].concat(this.At.threshold||0)}disconnect(){this.Pt?this.Pt.disconnect():this.xt.length=0}takeRecords(){return this.Pt?this.Pt.takeRecords():[]}observe(t){this.Pt?this.Pt.observe(t):-1==this.xt.indexOf(t)&&this.xt.push(t)}unobserve(t){if(this.Pt)this.Pt.unobserve(t);else{const i=this.xt.indexOf(t);-1!=i&&this.xt.splice(i,1)}}Et(t){const i=new t(this.jt,this.At);this.Pt=i;for(const t of this.xt)i.observe(t);this.xt.length=0}};ii._upgraders=[];var{hasOwnProperty:si}=Object.prototype;function ei(t){return!t.ResizeObserver||!!t.ResizeObserver._stub}var ni,ri=class t{constructor(i){this.jt=i,this.xt=[],this.Pt=null,t._upgraders.push(this.Et.bind(this))}disconnect(){this.Pt?this.Pt.disconnect():this.xt.length=0}observe(t){this.Pt?this.Pt.observe(t):-1==this.xt.indexOf(t)&&this.xt.push(t)}unobserve(t){if(this.Pt)this.Pt.unobserve(t);else{const i=this.xt.indexOf(t);-1!=i&&this.xt.splice(i,1)}}Et(t){const i=new t(this.jt);this.Pt=i;for(const t of this.xt)i.observe(t);this.xt.length=0}};ri._upgraders=[],self.document&&(ti(ni=self)&&function(t){if(!t.IntersectionObserver)return t.IntersectionObserver=ii,void(t.IntersectionObserver._stub=ii);const i=t.IntersectionObserver;t.IntersectionObserver=function(t,i){return function(s,e){var n;return 9===(null==e||null===(n=e.root)||void 0===n?void 0:n.nodeType)?new i(s,e):new t(s,e)}}(t.IntersectionObserver,ii),t.IntersectionObserver._stub=ii,t.IntersectionObserver._native=i}(ni),function(t){t.IntersectionObserverEntry&&!("isIntersecting"in t.IntersectionObserverEntry.prototype)&&Object.defineProperty(t.IntersectionObserverEntry.prototype,"isIntersecting",{enumerable:!0,configurable:!0,get(){return this.intersectionRatio>0}})}(ni),function(t){ei(t)&&function(t){t.ResizeObserver||(t.ResizeObserver=ri,t.ResizeObserver._stub=ri)}(t)}(self),function(t){t.AbortController||(Object.defineProperty(t,"AbortController",{configurable:!0,enumerable:!1,writable:!0,value:i}),Object.defineProperty(t,"AbortSignal",{configurable:!0,enumerable:!1,writable:!0,value:s}))}(self));var hi="cls",oi="clstu",ui="cls-1",li="pc",ci="inp",ai="building",di="mounting",fi="loading",pi="complete",mi="error";function _i(t){return t.readyState!=fi&&"uninitialized"!=t.readyState}function Ai(t){return t.readyState==pi}function Pi(t,i){gi(t,_i,i)}function gi(t,i,s){let e=i(t);if(e)s(t);else{const n=()=>{i(t)&&(e||(e=!0,s(t)),t.removeEventListener("readystatechange",n))};t.addEventListener("readystatechange",n)}}function vi(t){return new Promise((i=>{Pi(t,i)}))}function Ei(t){return new Promise((i=>{gi(t,Ai,i)}))}var Ti=["amp-mustache"],Ii=/^https:\/\/([a-zA-Z0-9_-]+\.)?cdn\.ampproject\.org(\/.*)?$/;function Mi(t){if(!t)return null;const i=t.match(/^(.*)\/(.*)-([0-9.]+|latest)(\.max)?\.(?:js|mjs)(?:\?ssr-css=[0|1])?$/i),s=i?i[2]:void 0,e=i?i[3]:void 0;return s&&e?{extensionId:s,extensionVersion:e}:null}function Ri(t,i,s){const e=t.document.createElement("script");e.async=!0,bi(i)?s="":e.setAttribute(Ti.indexOf(i)>=0?"custom-template":"custom-element",i),e.setAttribute("data-script",i),e.setAttribute("i-amphtml-inserted",""),e.setAttribute("type","module"),Qt(t.document,e),e.setAttribute("crossorigin","anonymous");const n=function(t,i,s,e){return`${et}/rtv/${at().rtvVersion}/v0/${i}${s?"-"+s:""}.mjs`}(t.location,i,s);let r={createScriptURL:function(t){return Ii.test(t)||"fonts.googleapis.com"===new URL(t).host?t:""}};return self.trustedTypes&&self.trustedTypes.createPolicy&&(r=self.trustedTypes.createPolicy("extension-script#createExtensionScript",r)),e.src=r.createScriptURL(n),e}function yi(t,i,s,e,n=!0){const r=":not([i-amphtml-loaded-new-version])"+(n?"":":not([i-amphtml-inserted])"),h=t.document.head.querySelectorAll(`script[src*="/${i}-"]${r}`),o=[];for(let t=0;t{})),{obj:null,promise:i,resolve:e,reject:s,context:null,ctor:null}}(),e[i].promise}function Hi(t,i){const s=ji(t)[i];return s?s.promise?s.promise:($i(t,i),s.promise=Promise.resolve(s.obj)):null}function ji(t){let i=t.__AMP_SERVICES;return i||(i=t.__AMP_SERVICES={}),i}function zi(t){return"function"==typeof t.dispose}function Gi(t,i){if(zi(i))try{(function(t){return yt(zi(t)),t})(i).dispose()}catch(i){Rt().error("SERVICE","failed to dispose service",t,i)}}function qi(t,i){const s=t.__AMP_SERVICES&&t.__AMP_SERVICES[i];return!(!s||!s.ctor)}function Wi(t,i,s,e){return Ki(t,i,s,e).then((t=>function(t,i,s){return bt(t,"Service %s was requested to be provided through %s, but %s is not loaded in the current page. To fix this problem load the JavaScript file for %s in this page.",i,s,s,s)}(t,i,s)))}function Ki(t,i,s,e){const n=ki(t,i);if(n)return n;const r=Li(t);return r.whenExtensionsKnown().then((()=>{const t=r.getExtensionVersion(s);return t?Si(r.win,"extensions").waitForExtension(s,t):null})).then((s=>s?e?ki(t,i):Ci(t,i):null))}var Yi,Qi=t=>Ki(t,"access","amp-access"),Ji=t=>Ki(t,"subscriptions","amp-subscriptions"),Xi=t=>Oi(t,"action"),Zi=t=>Wi(t,"activity","amp-analytics"),ts=t=>Li(t),is=t=>Si(t,"ampdoc"),ss=t=>function(t,i,s){const e=Oi(t,i);return e?Promise.resolve(e):Ki(t,i,"amp-bind")}(t,"bind"),es=t=>Ci(t,"cid"),ns=t=>Si(t,"crypto"),rs=t=>xi(t,"documentInfo").get(),hs=t=>Si(t,"extensions"),os=t=>xi(t,"history"),us=t=>xi(t,"mutator"),ls=t=>Si(t,"performance"),cs=t=>Si(t,"platform"),as=t=>Si(t,"preconnect"),ds=t=>xi(t,"resources"),fs=t=>Ci(t,"storage"),ps=t=>function(t,i){return $i(t,"timer")}(t),ms=t=>Oi(t,"url-replace"),_s=t=>Ki(t,"geo","amp-geo",!0),As=t=>Oi(t,"url"),Ps=t=>xi(t,"viewer"),gs=t=>Si(t,"vsync"),vs=t=>xi(t,"viewport"),Es=t=>Si(t,"xhr"),Ts={PRERENDER:"prerender",PREVIEW:"preview",VISIBLE:"visible",HIDDEN:"hidden",PAUSED:"paused",INACTIVE:"inactive"},Is=class{constructor(){this.ft=null}add(t){return this.ft||(this.ft=[]),this.ft.push(t),()=>{this.remove(t)}}remove(t){this.ft&&M(this.ft,t)}removeAll(){this.ft&&(this.ft.length=0)}fire(t){if(this.ft)for(const i of this.ft.slice())i(t)}getHandlerCount(){var t,i;return null!==(t=null===(i=this.ft)||void 0===i?void 0:i.length)&&void 0!==t?t:0}},Ms=class{constructor(){this.ti=p(),this.ii=null}get(t){const i=this.ti[t];return null==i?null:i}whenSignal(t){var i;let s=null===(i=this.ii)||void 0===i?void 0:i[t];if(!s){const i=this.ti[t];s=null!=i?{promise:"number"==typeof i?Promise.resolve(i):Promise.reject(i)}:new n,this.ii||(this.ii=p()),this.ii[t]=s}return s.promise}signal(t,i){var s;if(null!=this.ti[t])return;const e=null!=i?i:Date.now();this.ti[t]=e;const n=null===(s=this.ii)||void 0===s?void 0:s[t];null!=n&&n.resolve&&(n.resolve(e),n.resolve=void 0,n.reject=void 0)}rejectSignal(t,i){var s;if(null!=this.ti[t])return;this.ti[t]=i;const e=null===(s=this.ii)||void 0===s?void 0:s[t];null!=e&&e.reject&&(e.reject(i),e.promise.catch((()=>{})),e.resolve=void 0,e.reject=void 0)}reset(t){var i;this.ti[t]&&delete this.ti[t];const s=null===(i=this.ii)||void 0===i?void 0:i[t];s&&!s.resolve&&delete this.ii[t]}},Rs=["Webkit","webkit","Moz","moz","ms","O","o"],ys={"getPropertyPriority":()=>"","getPropertyValue":()=>""};function bs(t){const i=t.replace(/[A-Z]/g,(t=>"-"+t.toLowerCase()));return Rs.some((t=>i.startsWith(t+"-")))?`-${i}`:i}function ws(t,i,s){if(i.startsWith("--"))return i;Yi||(Yi=p());let e=Yi[i];if(!e||s){if(e=i,void 0===t[i]){const s=function(t){return t.charAt(0).toUpperCase()+t.slice(1)}(i),n=function(t,i){for(let s=0;sLs(this.win.document,r))),this.di()}dispose(){(function(t){const i=ji(t);for(const t in i){if(!Object.prototype.hasOwnProperty.call(i,t))continue;const s=i[t];s.sharedInstance||(s.obj?Gi(t,s.obj):s.promise&&s.promise.then((i=>Gi(t,i))))}})(this),this.ai.forEach((t=>t()))}isSingleDoc(){return yt(null)}getParent(){return this.ei}signals(){return this.ni}getParam(t){const i=this.ri[t];return null==i?null:i}getMeta(){return this.hi||(this.hi=p(),this.win.document.head.querySelectorAll("meta[name]").forEach((t=>{const i=t.getAttribute("name"),s=t.getAttribute("content");i&&null!==s&&void 0===this.hi[i]&&(this.hi[i]=s)}))),p(this.hi)}getMetaByName(t){if(!t)return null;const i=this.getMeta()[t];return void 0!==i?i:null}setMetaByName(t,i){yt(null)}declaresExtension(t,i){const s=this.oi[t];return!(!s||i&&s!==i)}declareExtension(t,i){yt(!this.oi[t]||this.oi[t]===i),this.oi[t]=i}getExtensionVersion(t){return this.oi[t]||null}setExtensionsKnown(){this.ni.signal(Bs)}whenExtensionsKnown(){return this.ni.whenSignal(Bs)}getRootNode(){return yt(null)}getHeadNode(){}isBodyAvailable(){return yt(!1)}getBody(){return yt(null)}waitForBodyOpen(){return yt(null)}isReady(){return yt(null)}whenReady(){return yt(null)}getUrl(){return yt(null)}getElementById(t){return this.getRootNode().getElementById(t)}contains(t){return this.getRootNode().contains(t)}overrideVisibilityState(t){this.ui!=t&&(this.ui=t,this.di())}di(){const t=Ns(this.win.document);let i,s=Ts.VISIBLE;for(let t=this.ei;t;t=t.getParent())if(t.getVisibilityState()!=Ts.VISIBLE){s=t.getVisibilityState();break}const e=this.ui||Ts.VISIBLE;if(i=e==Ts.VISIBLE&&s==Ts.VISIBLE&&t==Ts.VISIBLE?Ts.VISIBLE:t==Ts.HIDDEN&&e==Ts.PAUSED?t:e==Ts.PAUSED||e==Ts.INACTIVE?e:s==Ts.PAUSED||s==Ts.INACTIVE?s:e==Ts.PREVIEW||t==Ts.PREVIEW||s==Ts.PREVIEW?Ts.PREVIEW:e==Ts.PRERENDER||t==Ts.PRERENDER||s==Ts.PRERENDER?Ts.PRERENDER:Ts.HIDDEN,this.D!=i){if(i==Ts.VISIBLE){var n;const{performance:t}=this.win;let i=Math.floor(null!==(n=t.timeOrigin)&&void 0!==n?n:t.timing.navigationStart);null!=this.D&&(i+=Math.floor(t.now())),this.ci=i,this.ni.signal(Hs,i),this.ni.signal(js,i)}else this.ni.reset(js);i==Ts.PREVIEW&&this.ni.signal(zs),this.D=i,this.li.fire()}}whenFirstPreviewedOrVisible(){return Promise.race([this.whenFirstPreviewed(),this.whenFirstVisible()])}whenFirstPreviewed(){return this.ni.whenSignal(zs).then((()=>{}))}whenFirstVisible(){return this.ni.whenSignal(Hs).then((()=>{}))}whenNextVisible(){return this.ni.whenSignal(js).then((()=>{}))}getFirstVisibleTime(){return this.ni.get(Hs)}getLastVisibleTime(){return this.ci}getVisibilityState(){return yt(this.D)}isPreview(){return this.D==Ts.PREVIEW}isVisible(){return this.D==Ts.VISIBLE}hasBeenVisible(){return null!=this.getLastVisibleTime()}onVisibilityChanged(t){return this.li.add(t)}registerSingleton(t){return!this.si[t]&&(this.si[t]=!0,!0)}},qs=class extends Gs{constructor(t,i){super(t,null,i),this.fi=this.win.document.body?Promise.resolve(this.win.document.body):Ft(this.win.document).then((()=>this.getBody())),this.pi=vi(this.win.document)}isSingleDoc(){return!0}getRootNode(){return this.win.document}getUrl(){return $s.getLocation(this.win).href}getHeadNode(){return this.win.document.head}isBodyAvailable(){return!!this.win.document.body}getBody(){return this.win.document.body}waitForBodyOpen(){return this.fi}isReady(){return _i(this.win.document)}whenReady(){return this.pi}},Ws=class extends Gs{constructor(t,i,s,e){super(t,null,e),this.mi=i,this._i=s,this.Ai=null;const r=new n;this.fi=r.promise,this.gi=r.resolve,this.Pi=!1;const h=new n;this.pi=h.promise,this.vi=h.resolve}isSingleDoc(){return!1}getRootNode(){return this._i}getUrl(){return this.mi}getHeadNode(){return this._i}isBodyAvailable(){return!!this.Ai}getBody(){return this.Ai}setBody(t){yt(!this.Ai),this.Ai=t,this.gi(t),this.gi=void 0}waitForBodyOpen(){return this.fi}isReady(){return this.Pi}setReady(){yt(!this.Pi),this.Pi=!0,this.vi(),this.vi=void 0}whenReady(){return this.pi}getMeta(){return p(this.hi)}setMetaByName(t,i){yt(t),this.hi||(this.hi=p()),this.hi[t]=i}},Ks=class extends Gs{constructor(t,i,s,e){super(t,s,e),this.mi=i,this.fi=this.win.document.body?Promise.resolve(this.win.document.body):Ft(this.win.document).then((()=>this.getBody())),this.Pi=!1;const r=new n;this.pi=r.promise,this.vi=r.resolve}isSingleDoc(){return!1}getRootNode(){return this.win.document}getUrl(){return this.mi}getHeadNode(){return this.win.document.head}isBodyAvailable(){return!!this.win.document.body}getBody(){return this.win.document.body}waitForBodyOpen(){return this.fi}isReady(){return this.Pi}whenReady(){return this.pi}setReady(){yt(!this.Pi),this.Pi=!0,this.vi(),this.vi=void 0}};function Ys(t,i){const s=p();return i?Object.assign(s,i):(t.name&&0==t.name.indexOf(Fs)&&Object.assign(s,Y(t.name.substring(Fs.length))),t.location&&t.location.hash&&Object.assign(s,Y(t.location.hash))),s}var Qs="nodisplay",Js="fixed",Xs="fixed-height",Zs="responsive",te="container",ie="fill",se="flex-item",ee="fluid",ne="intrinsic",re=/^amp\-(video|.+player)|AMP-BRIGHTCOVE|AMP-DAILYMOTION|AMP-YOUTUBE|AMP-VIMEO|AMP-IMA-VIDEO/i;function he(t){if("nodisplay"===(i=t)||"fixed"===i||"fixed-height"===i||"responsive"===i||"container"===i||"fill"===i||"flex-item"===i||"fluid"===i||"intrinsic"===i)return t;var i}function oe(t){return"i-amphtml-layout-"+t}function ue(t){return t==Js||t==Xs||t==Zs||t==ie||t==se||t==ee||t==ne}function le(t){return"number"==typeof t?t+"px":t&&/^\d+(\.\d+)?(px|em|rem|vh|vw|vmin|vmax|cm|mm|q|in|pc|pt)?$/.test(t)?/^\d+(\.\d+)?$/.test(t)?t+"px":t:void 0}function ce(t){!function(t){F(/^\d+(\.\d+)?(px|em|rem|vh|vw|vmin|vmax|cm|mm|q|in|pc|pt)$/.test(null!=t?t:""),"Invalid length value: %s",t)}(t);const i=/[a-z]+/i.exec(null!=t?t:"");return F(i,"Failed to read units from %s",t),i[0]}function ae(t){const i=parseFloat(t);return w(i)?i:void 0}function de(t,i){t.classList.add("i-amphtml-fill-content"),i&&t.classList.add("i-amphtml-replaced-content")}function fe(t,i,s,e){const n=E(t);for(const t of n){const n=i.getAttribute(t);null!==n?s.setAttribute(t,n):e&&s.removeAttribute(t)}}var pe,me="amp:attached",_e="amp:load-start",Ae="amp:load-end",Pe="ready-upgrade",ge="upgraded",ve="built",Ee="mounted",Te="load-start",Ie="render-start",Me="load-end",Re="unload";function ye(t,i){return[{query:t.matchMedia(i),value:"1"},{query:null,value:""}]}function be(t,i){return i.split(",").map((i=>{if(0==(i=i.replace(/\s+/g," ").trim()).length)return;let s,e,n;if(")"==i.charAt(i.length-1)){let t=1;for(n=i.length-2;n>=0;n--){const s=i.charAt(n);if("("==s?t--:")"==s&&t++,0==t)break}const s=n-1;if(n>0)for(n--;n>=0;n--){const t=i.charAt(n);if(!("%"==t||"-"==t||"_"==t||t>="a"&&t<="z"||t>="A"&&t<="Z"||t>="0"&&t<="9"))break}if(n>=s)return null}else for(n=i.length-2;n>=0;n--){const t=i.charAt(n);if(!("%"==t||"."==t||t>="a"&&t<="z"||t>="A"&&t<="Z"||t>="0"&&t<="9"))break}return n>=0?(s=i.substring(0,n+1).trim(),e=i.substring(n+1).trim()):(e=i,s=void 0),e?{query:s?t.matchMedia(s):null,value:e}:null})).filter(Boolean)}function we(t,i,s){for(let e=0;e'],Oe={"AMP-PIXEL":{width:"0px",height:"0px"},"AMP-ANALYTICS":{width:"1px",height:"1px"},"AMP-AUDIO":null,"AMP-SOCIAL-SHARE":{width:"60px",height:"44px"}};function Ce(t){const i=t.getAttribute("layout"),s=t.getAttribute("width"),e=t.getAttribute("height"),n=t.getAttribute("sizes"),r=t.getAttribute("heights"),h=i?he(i):null;F(void 0!==h,'Invalid "layout" value: %s, %s',i,t);const o=s&&"auto"!=s?le(s):s;F(void 0!==o,'Invalid "width" value: %s, %s',s,t);const u=e&&"fluid"!=e?le(e):e;let l,c,a;if(F(void 0!==u,'Invalid "height" value: %s, %s',e,t),h&&h!=Js&&h!=Xs||o&&u||(d=(d=t.tagName).toUpperCase(),void 0===Oe[d]))l=o,c=u;else{const i=function(t){const i=t.tagName.toUpperCase();if(D(void 0!==Oe[i]),!Oe[i]){const s=t.ownerDocument,e=i.replace(/^AMP\-/,""),n=s.createElement(e);n.controls=!0,xs(n,{position:"absolute",visibility:"hidden"}),s.body.appendChild(n),Oe[i]={width:(n.offsetWidth||1)+"px",height:(n.offsetHeight||1)+"px"},s.body.removeChild(n)}return Oe[i]}(t);l=o||h==Xs?o:i.width,c=u||i.height}var d;return a=h||(l||c?"fluid"==c?ee:!c||l&&"auto"!=l?c&&l&&(n||r)?Zs:Js:Xs:te),a!=Js&&a!=Xs&&a!=Zs&&a!=ne||F(c,'The "height" attribute is missing: %s',t),a==Xs&&F(!l||"auto"==l,'The "width" attribute must be missing or "auto": %s',t),a!=Js&&a!=Zs&&a!=ne||F(l&&"auto"!=l,'The "width" attribute must be present and not "auto": %s',t),a==Zs||a==ne?F(ce(l)==ce(c),'Length units should be the same for "width" and "height": %s, %s, %s',s,e,t):F(null===r,'"heights" attribute must be missing: %s',t),{layout:a,width:l,height:c}}var ke,Ne="amp-experiment-toggles",De="__AMP__EXPERIMENT_TOGGLES";function Le(t,i){return!!$e(t)[i]}function Ue(t,i,s,e){const n=Le(t,i),r=null!=s?s:!n;if(r!=n&&($e(t)[i]=r,!e)){const s=Fe(t);s[i]=r,function(t,i){const s=[];for(const t in i)s.push((!1===i[t]?"-":"")+t);try{var e;null===(e=t.localStorage)||void 0===e||e.setItem(Ne,s.join(","))}catch(t){It().error("EXPERIMENTS","Failed to save experiments to localStorage.")}}(t,s)}return r}function $e(t){var i,s,e,n,r;if(t[De])return t[De];t[De]=p();const h=t[De];D(h);const o=g(g({},null!==(i=t.AMP_CONFIG)&&void 0!==i?i:{}),null!==(s=t.AMP_EXP)&&void 0!==s?s:B((null===(e=t.__AMP_EXP)||void 0===e?void 0:e.textContent)||"{}"));for(const t in o){const i=o[t];"number"==typeof i&&i>=0&&i<=1&&(h[t]=Math.random(){try{return r(t)}catch(t){var i,s;throw null===(i=(s=self).__AMP_REPORT_ERROR)||void 0===i||i.call(s,t),t}};const o=function(){if(void 0!==ke)return ke;ke=!1;try{const t={get capture(){return ke=!0,!1}};self.addEventListener("test-options",null,t),self.removeEventListener("test-options",null,t)}catch(t){}return ke}(),u=!(null==e||!e.capture);return n.addEventListener(i,h,o?e:u),()=>{null==n||n.removeEventListener(i,h,o?e:u),r=null,n=null,h=null}}var He="Failed to load:";function je(t,i,s,e){const n={detail:s};return Object.assign(n,e),new t.CustomEvent(i,n)}function ze(t,i,s,e){return Be(t,i,s,e)}function Ge(t){return t.data}function qe(t,i,s,e){let n=s;const r=Be(t,i,(t=>{try{n(t)}finally{n=null,r()}}),e);return r}function We(t){let i,s;if(function(t){return!!(t.complete||"complete"==t.readyState||Ke(t)&&t.readyState>0||t.document&&"complete"==t.document.readyState)}(t))return Promise.resolve(t);const e=Ke(t);return e&&t.__AMP_MEDIA_LOAD_FAILURE_SRC===t.currentSrc?Promise.reject(t):new Promise(((n,r)=>{if(i=e?qe(t,"loadedmetadata",n,{capture:!0}):qe(t,"load",n),!t.tagName)return;let h=t;if(e&&!t.hasAttribute("src")&&(h=kt(t,(t=>"SOURCE"===t.tagName)),!h))return r(new Error("Media has no source."));s=qe(h,"error",r)})).then((()=>(s&&s(),t)),(()=>{i&&i(),function(t){Ke(t)&&(t.__AMP_MEDIA_LOAD_FAILURE_SRC=t.currentSrc||!0);let i=t;throw i&&i.src&&(i=i.src),It().createError(He,i)}(t)}))}function Ke(t){return"AUDIO"===t.tagName||"VIDEO"===t.tagName}var Ye={"amp-dynamic-css-classes":"[custom-element=amp-dynamic-css-classes]","variant":"amp-experiment"};function Qe(t){const i=t.document;return yt(i.body),Object.keys(Ye).filter((t=>i.querySelector(Ye[t])))}function Je(t,i,s){if(i[s])return i[s];const e=t.querySelector(`style[${s}], link[${s}]`);return e?(i[s]=e,e):null}var Xe=!1;function Ze(t){yt(t.defaultView),Xe||(Xe=!0,tn(t))}function tn(t){xs(t.body,{opacity:1,visibility:"visible","animation":"none"})}function sn(t,i){const s=t.styleSheets;for(let t=0;t"string"==typeof t?on(t):t;function on(t,i){return en||(en=self.document.createElement("a")),un(en,t)}function un(t,i,s){return t.href="",new URL(i,t.href)}function ln(t,i,s){if(!i)return t;const e=t.split("#",2),n=e[0].split("?",2);let r=n[0]+(n[1]?s?`?${i}&${n[1]}`:`?${n[1]}&${i}`:`?${i}`);return r+=e[1]?`#${e[1]}`:"",r}function cn(t,i){return`${encodeURIComponent(t)}=${encodeURIComponent(i)}`}function an(t,i){return ln(t,dn(i))}function dn(t){const i=[];for(const s in t){let e=t[s];if(null!=e){e=E(e);for(let t=0;t0,"Expected a . in origin %s",n),i.splice(1,"s"==e?3:2),n+i.join("/")+gn(t.search)+(t.hash||"")}function En(t){return on(vn(t)).origin}function Tn(t,i){return i=hn(i),new URL(t,i.href).toString()}function In(t,i){return Mn(i),function(t,i,s,e){return ln(t,cn("__amp_source_origin",s),void 0)}(i,0,En(t.location.href))}function Mn(t){const i=Y(on(t).search);bt(!(rn in i),"Source origin is not allowed in %s",t)}var Rn="CANCELLED",yn="BLOCK_BY_CONSENT",bn=self.__AMP_ERRORS||[];self.__AMP_ERRORS=bn;var wn=function(t){return(wn=function(t){const i=function(t){let i=0;return()=>{let t=Math.pow(1.5,i++);return t+=function(t,i){let s=t*(i=i||.3)*Math.random();return Math.random()>.5&&(s*=-1),s}(t),1e3*t}}();return t=>setTimeout(t,i())}())(t)};function Vn(t,i){try{let s;if(t)if(void 0!==t.message)t=h(t),s=!0;else{const i=t;(t=new Error(function(t){try{return JSON.stringify(t)}catch(i){return String(t)}}(i))).origError=i}else t=new Error("Unknown error");if(t.reported)return t;if(t.reported=!0,t.messageArray){const i=I(t.messageArray,(t=>null==t?void 0:t.tagName));i>-1&&(t.associatedElement=t.messageArray[i])}const e=i||t.associatedElement;if(e&&e.classList&&e.classList.add("i-amphtml-error"),self.console&&(O(t.message)||!t.expected)){const i=console.error||console.log;t.messageArray?i.apply(console,t.messageArray):e?i.call(console,t.message,e):i.call(console,t.message)}e&&e.dispatchCustomEventForTesting&&e.dispatchCustomEventForTesting("amp:error",t.message),On.call(self,void 0,void 0,void 0,void 0,t)}catch(t){setTimeout((function(){throw t}))}return t}function Sn(){return new Error(Rn)}function xn(t){return!!t&&("string"==typeof t?t.startsWith(yn):"string"==typeof t.message&&t.message.startsWith(yn))}function On(t,i,s,n,r){!this||!this.document||r&&r.expected||Ze(this.document);let h=!1;try{h=function(t){if(!t.document)return!1;const i=t.document.querySelectorAll("script[src]");for(let t=0;t=25&&A.splice(0,A.length-25+1),A.push(P),c}(t,i,s,n,r,h);o&&wn((()=>{try{return function(t,i){return i.pt&&Math.random()<.9?e():function(t,i){const s=is(t);if(!s.isSingleDoc())return Promise.resolve(!1);const e=s.getSingleDoc();if(!e.getRootNode().documentElement.hasAttribute("report-errors-to-viewer"))return Promise.resolve(!1);const n=Ps(e);return n.hasCapability("errorReporter")?n.isTrustedViewer().then((t=>{return!!t&&(n.sendMessage("error",{"m":(s=i).m,"a":s.a,"s":s.s,"el":s.el,"ex":s.ex,"v":s.v,"pt":s.pt}),!0);var s})):Promise.resolve(!1)}(t,i).then((t=>{if(!t){const t=new XMLHttpRequest;t.open("POST",Math.random()<.1?ht:rt,!0),t.send(JSON.stringify(i))}}))}(this,o).catch((()=>{}))}catch(t){}}))}var Cn="Resource",kn=class t{static forElement(i){return yt(t.forElementOptional(i))}static forElementOptional(t){return t.__AMP__RESOURCE}static setOwner(i,s){yt(s.contains(i)),t.forElementOptional(i)&&t.forElementOptional(i).updateOwner(s),i.__AMP__OWNER=s;const e=i.getElementsByClassName("i-amphtml-element");for(let i=0;i{this.Ii=!1,this.yi=1,this.element.signals().signal("res-built")}),(t=>{throw this.maybeReportErrorOnBuildFailure(t),this.Ii=!1,this.element.signals().rejectSignal("res-built",t),t})))}maybeReportErrorOnBuildFailure(t){xn(t)||Rt().error(Cn,"failed to build:",this.debugid,t)}changeSize(t,i,s){this.element.applySize(t,i,s),this.requestMeasure()}overflowCallback(t,i,s,e){t&&(this.Li={height:i,width:s,margins:e}),this.element.overflowCallback(t,i,s,e)}resetPendingChangeSize(){this.Li=void 0}getPendingChangeSize(){return this.Li}getUpgradeDelayMs(){return this.element.getUpgradeDelayMs()}measure(){if(this.Ri&&this.element.parentElement&&this.element.parentElement.tagName.startsWith("AMP-")&&!("__AMP__RESOURCE"in this.element.parentElement))return;if(!this.element.ownerDocument||!this.element.ownerDocument.defaultView)return void(this.yi=1);this.ki=!1;const t=this.Oi;this.Bi();const i=this.Oi,s=(n=i,!((e=t).width==n.width&&e.height===n.height));var e,n;(1==this.yi||t.top!=i.top||s)&&this.element.isUpgraded()&&(1==this.yi?this.yi=2:4!=this.yi&&5!=this.yi||!this.element.isRelayoutNeeded()||(this.yi=2)),this.hasBeenMeasured()||(this.Ci=i),this.element.updateLayoutBox(i,s)}ensureMeasured(){return this.hasBeenMeasured()?e():gs(this.hostWin).measure((()=>this.measure()))}Bi(){const t=vs(this.element);this.Oi=t.getLayoutRect(this.element);let i=!1;if(t.supportsPositionFixed()&&this.isDisplayed()){const{win:s}=this.Ti.getAmpdoc(),{body:e}=s.document;for(let n=this.element;n&&n!=e;n=n.offsetParent){if(n.isAlwaysFixed&&n.isAlwaysFixed()){i=!0;break}if(t.isDeclaredFixed(n)&&"fixed"==ks(s,n).position){i=!0;break}}}this.xi=i,i&&(this.Oi=Zt(this.Oi,-t.getScrollLeft(),-t.getScrollTop()))}completeCollapse(){Os(this.element,!1),this.Oi=Jt(this.Oi.left,this.Oi.top,0,0),this.xi=!1,this.element.updateLayoutBox(this.getLayoutBox());const t=this.getOwner();t&&t.collapsedCallback(this.element)}completeExpand(){Os(this.element,!0),this.requestMeasure()}isMeasureRequested(){return this.ki}hasBeenMeasured(){return!!this.Ci}requestMeasure(){this.ki=!0}getLayoutSize(){return function(t){const{height:i,width:s}=t;return{width:s,height:i}}(this.Oi)}getLayoutBox(){if(!this.xi)return this.Oi;const t=vs(this.element);return Zt(this.Oi,t.getScrollLeft(),t.getScrollTop())}getInitialLayoutBox(){return this.Ci||this.Oi}isDisplayed(){if(!this.element.ownerDocument||!this.element.ownerDocument.defaultView)return!1;const t=this.element.getLayout()==ee,i=this.getLayoutBox(),s=i.height>0&&i.width>0;return t||s}isFixed(){return this.xi}overlaps(t){return s=t,(i=this.getLayoutBox()).top<=s.bottom&&s.top<=i.bottom&&i.left<=s.right&&s.left<=i.right;var i,s}prerenderAllowed(){return this.element.prerenderAllowed()}previewAllowed(){return this.element.previewAllowed()}isBuildRenderBlocking(){return this.element.isBuildRenderBlocking()}whenWithinViewport(t){if(yt(!1!==t),!this.isLayoutPending()||!0===t)return e();const i=t,s=String(i);return this.Ni&&this.Ni[s]?this.Ni[s].promise:this.isWithinViewportRatio(i)?e():(this.Ni=this.Ni||{},this.Ni[s]=new n,this.Ni[s].promise)}Hi(){if(!this.Ni)return;const t=this.getDistanceViewportRatio();for(const i in this.Ni)this.isWithinViewportRatio(parseFloat(i),t)&&(this.Ni[i].resolve(),delete this.Ni[i])}getDistanceViewportRatio(){const t=vs(this.element).getRect(),i=this.getLayoutBox(),s=this.Ti.getScrollDirection();let e=1,n=0;if(t.righti.right)return{distance:!1};if(t.bottomi.bottom))return{distance:!0};n=t.top-i.bottom,1==s&&(e=2)}return{distance:n,scrollPenalty:e,viewportHeight:t.height}}isWithinViewportRatio(t,i){if("boolean"==typeof t)return t;const{distance:s,scrollPenalty:e,viewportHeight:n}=i||this.getDistanceViewportRatio();return"boolean"==typeof s?s:s0&&!this.element.isRelayoutNeeded())return this.yi=4,e();this.bi++,this.yi=3,this.Vi=new AbortController;const{signal:t}=this.Vi,i=new Promise(((i,s)=>{gs(this.hostWin).mutate((()=>{let e;try{e=this.element.layoutCallback(t)}catch(t){s(t)}Promise.resolve(e).then(i,s)})),t.onabort=()=>s(Sn())})).then((()=>this.ji(!0,t)),(i=>this.ji(!1,t,i)));return this.Di=i}ji(t,i,s){if(this.Vi=null,i.aborted){const t=Rt().createError("layoutComplete race");throw t.associatedElement=this.element,Rt().expectedError(Cn,t),Sn()}if(this.$i&&(this.$i(),this.$i=null),this.Di=null,this.yi=t?4:5,this.Si=s,!t)return Promise.reject(s)}isLayoutPending(){return 4!=this.yi&&5!=this.yi}loadedOnce(){return this.element.R1()?this.element.whenLoaded():this.Ui}isInViewport(){return this.Fi&&this.Hi(),this.Fi}setInViewport(t){this.Fi=t}unlayout(){0!=this.yi&&1!=this.yi&&2!=this.yi&&(this.Vi&&(this.Vi.abort(),this.Vi=null),this.setInViewport(!1),this.element.unlayoutCallback()&&(this.element.togglePlaceholder(!0),this.yi=1,this.bi=0,this.Di=null))}getTaskId(t){return this.debugid+"#"+t}pause(){this.element.pause()}pauseOnRemove(){this.element.pause()}resume(){this.element.resume()}unload(){this.element.unmount()}disconnect(){delete this.element.__AMP__RESOURCE,this.element.disconnect(!0)}},Nn="ready-scan",Dn="scheduler",Ln="250% 31.25%";function Un(t){return Vi(t,Dn,class{constructor(t){this.zi=t;const{win:i}=t;this.Gi=new i.IntersectionObserver((t=>this.qi(t)),{root:qt(i)?i.document:null,rootMargin:Ln}),this.Wi=new Map,this.Ki=new Map,this.Yi=[],this.Ji=!1,t.whenReady().then((()=>this.Qi())),this.Xi=t.onVisibilityChanged((()=>this.Zi()))}dispose(){this.Gi.disconnect(),this.Ki.clear(),this.Xi&&(this.Xi(),this.Xi=null)}scheduleAsap(t){this.Ki.set(t,{asap:!0,isIntersecting:!1}),this.ts(t)}schedule(t){this.Ki.has(t)||(t.deferredMount()?(this.Ki.set(t,{asap:!1,isIntersecting:!1}),this.Gi.observe(t),this.Wi.size>0&&this.Wi.forEach(((i,s)=>{Kt(s,t)&&i.observe(t)}))):this.Ki.set(t,{asap:!1,isIntersecting:!0}),this.ts(t))}unschedule(t){this.Ki.has(t)&&(this.Ki.delete(t),this.Gi.unobserve(t),this.Wi.size>0&&this.Wi.forEach((i=>{i.unobserve(t)})),this.Yi&&(M(this.Yi,t),this.Qi()))}setContainer(t,i){if(this.Wi.has(t))return;const{win:s}=this.zi,e=new s.IntersectionObserver((t=>this.qi(t)),{root:i||t,rootMargin:Ln});this.Wi.set(t,e),this.Ki.forEach((({asap:i},s)=>{!i&&Kt(t,s)&&e.observe(s)}))}removeContainer(t){const i=this.Wi.get(t);i&&(i.disconnect(),this.Wi.delete(t))}ss(){if(this.zi.isReady()&&!this.Ji){this.Ji=!0;const{win:t}=this.zi;t.setTimeout((()=>{this.zi.signals().signal(Nn)}),50)}}Zi(){const t=this.zi.getVisibilityState();t!=Ts.VISIBLE&&t!=Ts.HIDDEN&&t!=Ts.PRERENDER&&t!=Ts.PREVIEW||this.Ki.forEach(((t,i)=>this.es(i)))}ts(t){const i=this.Yi;i?(i.includes(t)||i.push(t),this.Qi()):this.es(t)}Qi(){const t=this.zi.isReady(),i=this.Yi;if(i)for(let s=0;st.mountInternal()))}}),xi(t,Dn)}var $n=class{constructor(){this.ns=[]}peek(){const t=this.length;return t?this.ns[t-1].item:null}enqueue(t,i){if(isNaN(i))throw new Error("Priority must not be NaN.");const s=this.rs(i);this.ns.splice(s,0,{item:t,priority:i})}rs(t){let i=-1,s=0,e=this.length;for(;s<=e&&(i=Math.floor((s+e)/2),i!==this.length);)if(this.ns[i].priority0&&this.ns[i-1].priority>=t))break;e=i-1}return i}forEach(t){let i=this.length;for(;i--;)t(this.ns[i].item)}dequeue(){const t=this.ns.pop();return t?t.item:null}get length(){return this.ns.length}},Fn=/nochunking=1/.test(self.location.hash),Bn=e();function Hn(t){return Vi(t,"chunk",Kn),xi(t,"chunk")}function jn(t,i,s){if(Fn)return void Bn.then(i);const e=Hn(t.documentElement||t);e.runForStartup(i),s&&e.runForStartup((()=>{e.hs=!0}))}function zn(t,i,s){Fn?Bn.then(i):Hn(t).run(i,s)}var Gn="not_run",qn=class{constructor(t){this.state=Gn,this.os=t}us(t){if("run"!=this.state){this.state="run";try{this.os(t)}catch(t){throw this.ls(t),t}}}cs(){return this.os.displayName||this.os.name}ls(t){}ds(){return!1}fs(){return!1}},Wn=class extends qn{constructor(t,i,s){super(t),this.ps=s}ls(t){Ze(self.document)}ds(){return this._s()}fs(){return this.ps.As}_s(){return this.ps.ampdoc.isVisible()}},Kn=class{constructor(t){var i;this.ampdoc=t,this.i=t.win,this.gs=new $n,this.Ps=this.vs.bind(this),this.Es=0,this.Ts=!(!this.i.navigator.scheduling||!this.i.navigator.scheduling.isInputPending),this.Rs=!1,this.hs=this.i.document.documentElement.hasAttribute("i-amphtml-no-boilerplate"),this.i.addEventListener("message",(t=>{"amp-macro-task"==Ge(t)&&this.vs(null)})),this.As=!1,(i=t,Ci(i,"viewer")).then((()=>{this.As=!0})),t.onVisibilityChanged((()=>{t.isVisible()&&this.Is()}))}run(t,i){const s=new qn(t);this.Ms(s,i)}runForStartup(t){const i=new Wn(t,this.i,this);this.Ms(i,Number.POSITIVE_INFINITY)}Ms(t,i){this.gs.enqueue(t,i),this.Is()}ys(t){let i=this.gs.peek();for(;i&&i.state!==Gn;)this.gs.dequeue(),i=this.gs.peek();return i&&t&&this.gs.dequeue(),i}vs(t){const i=this.ys(!0);if(!i)return this.Rs=!1,this.Es=0,!1;let s;try{s=Date.now(),i.us(t)}finally{Bn.then().then().then().then().then().then().then().then().then((()=>{this.Rs=!1,this.Es+=Date.now()-s,this.Is()}))}return!0}ws(t){if(this.hs&&(this.Ts?this.i.navigator.scheduling.isInputPending():this.Es>5))return this.Es=0,void this.bs();Bn.then((()=>{this.Ps(t)}))}Is(){if(this.Rs)return;const t=this.ys();return t?t.ds()?(this.Rs=!0,void this.ws(null)):void(t.fs()&&this.i.requestIdleCallback?function(t,i,s,e){const n=Date.now();t.requestIdleCallback((function i(s){if(s.timeRemaining()<15){const r=2e3-(Date.now()-n);r<=0||s.didTimeout?e(s):t.requestIdleCallback(i,{timeout:r})}else e(s)}),{timeout:2e3})}(this.i,0,0,this.Ps):this.bs()):void 0}bs(){this.i.postMessage("amp-macro-task","*")}},Yn="activate",Qn=class{static R1(){return!1}static deferredMount(t){return!0}static prerenderAllowed(t){return!1}static previewAllowed(t){return this.prerenderAllowed(t)}static usesLoading(t){return!1}static createLoaderLogoCallback(t){return{}}static getBuildPriority(t){return 0}static getPreconnects(t){return null}static requiresShadowDom(){return!1}constructor(t){this.element=t,this.win=wt(t),this.actionMap_=null,this.defaultActionAlias_=null}signals(){return this.element.signals()}getDefaultActionAlias(){return this.defaultActionAlias_}getLayoutPriority(){return 0}updateLayoutPriority(t){this.element.getResources().updateLayoutPriority(this.element,t)}getLayout(){return this.element.getLayout()}getLayoutBox(){return this.element.getLayoutBox()}getLayoutSize(){return this.element.getLayoutSize()}getAmpDoc(){return this.element.getAmpDoc()}getVsync(){return gs(this.win)}getConsentPolicy(){let t=null;return this.element.hasAttribute("data-block-on-consent")&&(t=this.element.getAttribute("data-block-on-consent")||"default"),t}isLayoutSupported(t){return t==Qs}isAlwaysFixed(){return!1}upgradeCallback(){return null}buildCallback(){}preconnectCallback(t){}attachedCallback(){}detachedCallback(){}setAsContainer(t){this.element.setAsContainerInternal(t)}removeAsContainer(){this.element.removeAsContainerInternal()}isBuildRenderBlocking(){return!1}createPlaceholderCallback(){return null}renderOutsideViewport(){return"inabox"==at(this.win).runtime||3}idleRenderOutsideViewport(){return!1}ensureLoaded(){}setReadyState(t,i){this.element.setReadyStateInternal(t,i)}mountCallback(t){}unmountCallback(){}isRelayoutNeeded(){return!1}layoutCallback(){return e()}firstLayoutCompleted(){this.togglePlaceholder(!1)}pauseCallback(){}resumeCallback(){}unlayoutCallback(){return!1}unlayoutOnPause(){return!1}reconstructWhenReparented(){return!0}loadPromise(t){return We(t)}registerAction(t,i,s=2){Jn(this),this.actionMap_[t]={handler:i,minTrust:s}}registerDefaultAction(t,i="activate",s=2){yt(!this.defaultActionAlias_),this.registerAction(i,t,s),this.defaultActionAlias_=i}executeAction(t,i){let{method:s}=t;s===Yn&&(s=this.defaultActionAlias_||s),Jn(this);const e=this.actionMap_[s],{tagName:n}=this.element;bt(e,`Method not found: ${s} in ${n}`);const{handler:r,minTrust:h}=e;if(t.satisfiesTrust(h))return r(t)}forwardEvents(t,i){const s=(v(t)?t:[t]).map((t=>ze(i,t,(i=>{Wt(this.element,t,Ge(i)||{})}))));return()=>s.forEach((t=>t()))}getPlaceholder(){return this.element.getPlaceholder()}togglePlaceholder(t){this.element.togglePlaceholder(t)}getFallback(){return this.element.getFallback()}toggleFallback(t){this.element.toggleFallback(t)}toggleLoading(t,i=!1){this.element.toggleLoading(t,i)}getOverflowElement(){return this.element.getOverflowElement()}renderStarted(){this.element.renderStarted()}getViewport(){return vs(this.getAmpDoc())}getIntersectionElementLayoutBox(){return this.getLayoutBox()}collapse(){us(this.getAmpDoc()).collapseElement(this.element)}attemptCollapse(){return us(this.getAmpDoc()).attemptCollapse(this.element)}forceChangeHeight(t){us(this.getAmpDoc()).forceChangeSize(this.element,t,void 0)}attemptChangeHeight(t){return us(this.getAmpDoc()).requestChangeSize(this.element,t,void 0)}attemptChangeSize(t,i,s){return us(this.getAmpDoc()).requestChangeSize(this.element,t,i,void 0,s)}measureElement(t){return us(this.getAmpDoc()).measureElement(t)}mutateElement(t,i){return this.measureMutateElement(null,t,i)}measureMutateElement(t,i,s){return us(this.getAmpDoc()).measureMutateElement(s||this.element,t,i)}mutateElementSkipRemeasure(t){return us(this.getAmpDoc()).mutateElement(this.element,t,!0)}collapsedCallback(t){}expand(){us(this.getAmpDoc()).expandElement(this.element)}mutatedAttributesCallback(t){}onLayoutMeasure(){}user(){return It(this.element)}getApi(){return this}};function Jn(t){t.actionMap_||(t.actionMap_=t.win.Object.create(null))}var Xn,Zn=class extends Qn{},tr=Date.now(),ir={bubbles:!1},sr=()=>!0,er=[],nr=new Set;function rr(t,i){const s=function(t,i){if(t.__AMP_BASE_CE_CLASS)return t.__AMP_BASE_CE_CLASS;const s=t.HTMLElement;return t.__AMP_BASE_CE_CLASS=class extends s{constructor(){super(),this.createdCallback()}createdCallback(){this.Vs=!1,this.Ss=!1,this.xs=null,this.Os=!1,this.Cs=null,this.ks=null,this.Ns="upgrading",this.everAttached=!1,this.zi=null,this.Ti=null,this.Ds=Qs,this.bi=0,this.Ls=!1,this.warnOnMissingOverflow=!0,this.sizerElement=void 0,this.Us=void 0,this.layoutScheduleTime=void 0;const i=this;let s=t.__AMP_EXTENDED_ELEMENTS&&t.__AMP_EXTENDED_ELEMENTS[this.localName];this.$s=s===Zn?null:s||null,this.$s||er.push(this),this.Fs=null,this.Bs=1,this.Hs=0,this.js=void 0,this.zs=void 0,this.ni=new Ms,this.$s&&this.ni.signal(Pe);const e=function(t,i){return qi(t=Ni(t),i)?$i(t,i):null}(t,"performance");this.Gs=e&&e.isPerformanceTrackingOn(),this.qs=null,i.__AMP_UPG_RES&&(i.__AMP_UPG_RES(i),delete i.__AMP_UPG_RES,delete i.__AMP_UPG_PRM)}get readyState(){return this.Ns}signals(){return this.ni}getAmpDoc(){return yt(this.zi),this.zi}getResources(){return yt(this.Ti),this.Ti}isUpgraded(){return 2==this.Bs}whenUpgraded(){return this.ni.whenSignal(ge)}upgrade(t){this.zs||1==this.Bs&&(this.$s=t,this.ni.signal(Pe),this.everAttached&&this.Ws())}markUnresolved(){this.$s||this.classList.add("amp-unresolved","i-amphtml-unresolved")}getUpgradeDelayMs(){return this.Hs}Ks(i,s){this.Fs=i,this.Hs=t.Date.now()-s,this.Bs=2,this.setReadyStateInternal(ai),this.classList.remove("amp-unresolved","i-amphtml-unresolved"),this.Ys(),this.dispatchCustomEventForTesting(me),this.R1()||this.getResources().upgraded(this),this.ni.signal(ge)}Ys(){this.Ds!=Qs&&this.Fs&&!this.Fs.isLayoutSupported(this.Ds)&&(bt(this.getAttribute("layout"),"The element did not specify a layout attribute. Check https://amp.dev/documentation/guides-and-tutorials/develop/style_and_layout/control_layout and the respective element documentation for details."),bt(!1,`Layout not supported: ${this.Ds}`))}getBuildPriority(){return this.$s?this.$s.getBuildPriority(this):3}getLayoutPriority(){return this.Fs?this.Fs.getLayoutPriority():3}getDefaultActionAlias(){return yt(this.isUpgraded()),this.Fs.getDefaultActionAlias()}isBuilding(){return!!this.xs}isBuilt(){return this.Vs}whenBuilt(){return this.ni.whenSignal(ve)}buildInternal(){if(or(this),yt(this.$s),this.xs)return this.xs;this.setReadyStateInternal(ai);const t=this.Js();this.Qs();const i=t.then((()=>{const t=this.Xs(),i=t?null:this.Zs();if(t||i)return(this,Ki(this,"consentPolicyManager","amp-consent")).then((s=>!s||(t?s.whenPolicyUnblock(t):s.whenPurposesUnblock(i)))).then((t=>{if(!t)throw new Error(yn)}))})).then((()=>yt(this.Fs).buildCallback()));return this.xs=i.then((()=>{if(this.Vs=!0,this.classList.add("i-amphtml-built"),this.classList.remove("i-amphtml-notbuilt","amp-notbuilt"),this.ni.signal(ve),this.R1()?this.setReadyStateInternal(this.Ns!=ai?this.Ns:di):(this.setReadyStateInternal(fi),this.preconnect(!1)),this.Ss&&this.Yt(),this.js&&ps(wt(this)).delay(this.Pe.bind(this),1),!this.getPlaceholder()){const t=this.createPlaceholder();t&&this.appendChild(t)}}),(t=>{throw this.ni.rejectSignal(ve,t),this.R1()&&this.setReadyStateInternal(mi,t),xn(t)||Vn(t,this),t}))}build(){return this.xs?this.xs:this.ni.whenSignal(Pe).then((()=>(this.R1()&&Un(this.getAmpDoc()).scheduleAsap(this),this.whenBuilt())))}mountInternal(){if(this.Cs)return this.Cs;this.ks=this.ks||new AbortController;const{signal:t}=this.ks;return this.Cs=this.buildInternal().then((()=>{if(yt(this.R1()),t.aborted)return;this.setReadyStateInternal(this.Ns!=di?this.Ns:this.$s.usesLoading(this)?fi:di),this.Os=!0;const i=this.Fs.mountCallback(t);return!!i&&i.then(sr)})).then((i=>{if(this.ks=null,t.aborted)throw Sn();this.ni.signal(Ee),this.$s.usesLoading(this)&&!i||this.setReadyStateInternal(pi)})).catch((t=>{var i;throw this.ks=null,(i=t)&&("string"==typeof i?i.startsWith(Rn):"string"==typeof i.message&&i.message.startsWith(Rn))?this.Cs=null:(this.ni.rejectSignal(Ee,t),this.setReadyStateInternal(mi,t)),t}))}mount(){if(this.Cs)return this.Cs;this.ks=this.ks||new AbortController;const{signal:t}=this.ks;return this.ni.whenSignal(Pe).then((()=>{if(!this.R1())return this.whenBuilt();if(t.aborted)throw Sn();return Un(this.getAmpDoc()).scheduleAsap(this),this.whenMounted()}))}unmount(){this.Ss&&this.pause(),this.R1()?(this.ks&&(this.ks.abort(),this.ks=null),Un(this.getAmpDoc()).unschedule(this),this.Os&&this.Fs.unmountCallback(),this.Os=!1,this.Cs=null,this.Te(),this.Ss&&this.Ws(!0)):this.Re()}whenMounted(){return this.ni.whenSignal(Ee)}whenLoaded(){return this.ni.whenSignal(Me)}ensureLoaded(t){return this.mount().then((()=>{if(this.R1())return this.$s.usesLoading(this)&&this.Fs.ensureLoaded(),this.whenLoaded();const i=this.Ie();return i.whenBuilt().then((()=>{if(4!=i.getState()&&((3!=i.getState()||i.isMeasureRequested())&&i.measure(),i.isDisplayed()))return this.getResources().scheduleLayoutOrPreload(i,!0,t,!0),this.whenLoaded()}))}))}setAsContainerInternal(t){Un(this.getAmpDoc()).setContainer(this,t)}removeAsContainerInternal(){Un(this.getAmpDoc()).removeContainer(this)}setReadyStateInternal(t,i){if(t!==this.Ns&&(this.Ns=t,this.R1()))switch(t){case fi:return this.ni.signal(Te),this.ni.reset(Re),this.ni.reset(Me),this.classList.add("i-amphtml-layout"),this.toggleLoading(!0),void this.dispatchCustomEventForTesting(_e);case pi:return this.ni.signal(Te),this.ni.signal(Me),this.ni.reset(Re),this.classList.add("i-amphtml-layout"),this.toggleLoading(!1),Wt(this,"load",null,ir),void this.dispatchCustomEventForTesting(Ae);case mi:return this.ni.rejectSignal(Me,i),this.toggleLoading(!1),void Wt(this,"error",i,ir)}}preconnect(t){yt(this.isUpgraded()),t?this.Fs.preconnectCallback(t):jn(this.getAmpDoc(),(()=>{this.ownerDocument&&this.ownerDocument.defaultView&&this.Fs.preconnectCallback(t)}))}R1(){return!!this.$s&&this.$s.R1()}deferredMount(){return!!this.$s&&this.$s.deferredMount(this)}isAlwaysFixed(){return!!this.Fs&&this.Fs.isAlwaysFixed()}updateLayoutBox(t,i=!1){this.isBuilt()&&this.onMeasure(i)}onMeasure(){yt(this.isBuilt());try{this.Fs.onLayoutMeasure()}catch(t){Vn(t,this)}}Qs(){var t;return void 0!==this.sizerElement||this.Ds!==Zs&&this.Ds!==ne||(this.sizerElement=this.querySelector("i-amphtml-sizer"),null===(t=this.sizerElement)||void 0===t||t.setAttribute("slot","i-amphtml-svc")),this.sizerElement||null}Me(t){if(this.Ds!==Zs)if(this.Ds!==ne);else{const i=t.querySelector(".i-amphtml-intrinsic-sizer");if(!i)return;i.setAttribute("src","")}else Ss(t,"paddingTop","0")}ye(){const t=this.hasAttribute("media")||this.hasAttribute("sizes")&&!this.hasAttribute("disable-inline-width")||this.hasAttribute("heights"),i=!!this.qs,s=this.ownerDocument.defaultView;t!=i&&s&&(t?(this.qs=new class{constructor(t,i){this.i=t,this.jt=i,this.be={},this.Ve=null}start(){this.Ve=this.be,this.be={}}resolveMatchQuery(t){return"1"===this.Se(t,ye,"1")}resolveListQuery(t){return this.Se(t,be,"")}complete(){for(const t in this.Ve)t in this.be||we(this.Ve[t],this.jt,!1);this.Ve=null}dispose(){for(const t in this.be)we(this.be[t],this.jt,!1);this.be={}}Se(t,i,s){if(!t.trim())return s;let e=this.be[t];return e||(D(this.Ve),e=this.Ve[t]),e||(e=i(this.i,t),we(e,this.jt,!0)),this.be[t]=e,function(t){for(let i=0;ithis.xe())),this.xe()):this.Oe())}Oe(){this.qs&&(this.qs.dispose(),this.qs=null)}xe(){const t=this.qs;if(!t)return;t.start();const i=this.getAttribute("media")||null,s=!i||t.resolveMatchQuery(i);this.classList.toggle("i-amphtml-hidden-by-media-query",!s);const e=this.hasAttribute("disable-inline-width")?null:this.getAttribute("sizes");e&&Ss(this,"width",t.resolveListQuery(e));const n=this.Ds===Zs?this.getAttribute("heights"):null;if(n){const i=this.Qs();i&&Ss(i,"paddingTop",t.resolveListQuery(n))}t.complete(),this.Ie().requestMeasure()}applySize(t,i,s){const e=this.Qs();e&&(this.sizerElement=null,this.Me(e),this.Ce((()=>{e&&Bt(e)}))),void 0!==t&&Ss(this,"height",t,"px"),void 0!==i&&Ss(this,"width",i,"px"),s&&(null!=s.top&&Ss(this,"marginTop",s.top,"px"),null!=s.right&&Ss(this,"marginRight",s.right,"px"),null!=s.bottom&&Ss(this,"marginBottom",s.bottom,"px"),null!=s.left&&Ss(this,"marginLeft",s.left,"px")),this.ke()&&this.Ne(),Wt(this,"amp:size-changed")}connectedCallback(){if(function(){if(void 0===Xn){const t=self.document.createElement("template");Xn="content"in t}return Xn}()||void 0!==this.zs||(this.zs=!!Ct(this,"template")),!this.zs&&!this.Ss&&Ht(this)){if(this.Ss=!0,this.everAttached||this.classList.add("i-amphtml-element","i-amphtml-notbuilt","amp-notbuilt"),!this.zi){const t=wt(this),s=is(t).getAmpDoc(this);this.zi=s,i(s,this,this.$s)}if(this.Ti||(this.Ti=ds(this.zi)),this.getResources().add(this),this.everAttached){const t=this.reconstructWhenReparented();t&&this.Te(),this.isUpgraded()&&(t&&!this.R1()&&this.getResources().upgraded(this),this.Yt(),this.dispatchCustomEventForTesting(me)),this.$s&&this.R1()&&this.Ws()}else{this.everAttached=!0;try{this.Ds=function(t){const i=t.getAttribute("i-amphtml-layout");if(i){const e=he(i);var s;return D(e),e!=Zs&&e!=ne||!t.firstElementChild?e==Qs&&Os(t,!1):(t.sizerElement=t.querySelector("i-amphtml-sizer")||void 0,null===(s=t.sizerElement)||void 0===s||s.setAttribute("slot","i-amphtml-svc")),e}const{height:e,layout:n,width:r}=Ce(t);if(t.classList.add(oe(n)),ue(n)&&t.classList.add("i-amphtml-layout-size-defined"),n==Qs)Os(t,!1);else if(n==Js)xs(t,{width:U(r),height:U(e)});else if(n==Xs)Ss(t,"height",U(e));else if(n==Zs){const i=t.ownerDocument.createElement("i-amphtml-sizer");i.setAttribute("slot","i-amphtml-svc");const s=ae(e),n=ae(r);$(s),$(n),xs(i,{paddingTop:s/n*100+"%"}),t.insertBefore(i,t.firstChild),t.sizerElement=i}else if(n==ne){const i=Ve(t)(xe),s=i.firstElementChild;L(s),s.setAttribute("src",`data:image/svg+xml;charset=utf-8,`),t.insertBefore(i,t.firstChild),t.sizerElement=i}else n==ie||n==te||(n==se?(r&&Ss(t,"width",r),e&&Ss(t,"height",e)):n==ee&&(t.classList.add("i-amphtml-layout-awaiting-size"),r&&Ss(t,"width",r),Ss(t,"height",0)));return t.setAttribute("i-amphtml-layout",n),n}(this),this.ye()}catch(t){Vn(t,this)}this.$s?this.Ws():(nr.has("*")||nr.has(this.tagName.toLowerCase()))&&this.markUnresolved(),this.isUpgraded()||this.dispatchCustomEventForTesting("amp:stubbed")}this.toggleLoading(!0)}}ke(){return this.classList.contains("i-amphtml-layout-awaiting-size")}Ne(){this.classList.remove("i-amphtml-layout-awaiting-size")}Ws(t){if(this.R1()){if(!this.Cs)if(Un(this.getAmpDoc()).schedule(this),this.classList.remove("amp-unresolved","i-amphtml-unresolved"),this.xs)this.setReadyStateInternal(this.$s&&this.$s.usesLoading(this)?fi:di);else if(this.setReadyStateInternal(ai),!t){const t=this.$s.getPreconnects(this);if(t&&t.length>0){const i=this.getAmpDoc();jn(i,(()=>{const{win:s}=i;if(!s)return;const e=as(s);t.forEach((t=>e.url(i,t,!1)))}))}}}else this.De()}De(){if(this.zs)return;if(1!=this.Bs)return;const i=new(yt(this.$s))(this);this.Bs=4;const s=t.Date.now(),e=i.upgradeCallback();if(e){if("function"==typeof e.then)return e.then((t=>{this.Ks(t||i,s)})).catch((t=>{this.Bs=3,l(t)}));this.Ks(e,s)}else this.Ks(i,s)}disconnectedCallback(){this.disconnect(!1)}Yt(){this.Vs&&this.Fs.attachedCallback()}disconnect(t){!this.zs&&this.Ss&&(!t&&Ht(this)||(t&&this.classList.remove("i-amphtml-element"),this.Ss=!1,this.getResources().remove(this),this.Fs&&this.Fs.detachedCallback(),this.R1()&&this.unmount(),this.toggleLoading(!1),this.Oe()))}dispatchCustomEventForTesting(t,i){}prerenderAllowed(){return!this.hasAttribute("noprerender")&&!!this.$s&&this.$s.prerenderAllowed(this)}previewAllowed(){return!!this.$s&&this.$s.previewAllowed(this)}isBuildRenderBlocking(){return!!this.Fs&&this.Fs.isBuildRenderBlocking()}createPlaceholder(){return this.Fs?this.Fs.createPlaceholderCallback():null}createLoaderLogo(){return this.$s?this.$s.createLoaderLogoCallback(this):{}}renderOutsideViewport(){return!!this.Fs&&this.Fs.renderOutsideViewport()}idleRenderOutsideViewport(){return!!this.Fs&&this.Fs.idleRenderOutsideViewport()}getLayoutBox(){return this.Ie().getLayoutBox()}getLayoutSize(){return this.Ie().getLayoutSize()}getOwner(){return this.Ie().getOwner()}getIntersectionChangeEntry(){const t=this.Fs?this.Fs.getIntersectionElementLayoutBox():this.getLayoutBox(),i=this.getOwner(),s=vs(this.getAmpDoc()).getRect();return function(t,i,s){const e=function(t){let i=-1/0,s=1/0,e=-1/0,n=1/0;for(let t=0;tthis.Fs))}Js(){return this.ni.whenSignal(Pe).then((()=>(this.De(),this.whenUpgraded())))}getApi(){return this.getImpl().then((t=>t.getApi()))}getLayout(){return this.Ds}layoutCallback(t){if(or(this),yt(this.isBuilt()),t.aborted)return Promise.reject(Sn());this.dispatchCustomEventForTesting(_e);const i=0==this.bi;this.ni.reset(Re),i&&this.ni.signal(Te),this.toggleLoading(!0);const s=r((()=>this.Fs.layoutCallback()));return this.preconnect(!0),this.classList.add("i-amphtml-layout"),s.then((()=>{if(t.aborted)throw Sn();i&&this.ni.signal(Me),this.setReadyStateInternal(pi),this.bi++,this.toggleLoading(!1),this.Ls||(this.Fs.firstLayoutCompleted(),this.Ls=!0,this.dispatchCustomEventForTesting(Ae))}),(s=>{if(t.aborted)throw Sn();throw i&&this.ni.rejectSignal(Me,s),this.setReadyStateInternal(mi,s),this.bi++,this.toggleLoading(!1),s}))}pause(){this.isBuilt()&&(this.Fs.pauseCallback(),!this.R1()&&this.Fs.unlayoutOnPause()&&this.Re())}resume(){this.isBuilt()&&this.Fs.resumeCallback()}unlayoutCallback(){if(or(this),!this.isBuilt())return!1;this.ni.signal(Re);const t=this.Fs.unlayoutCallback();return t&&this.Te(),this.dispatchCustomEventForTesting("amp:unload"),t}Re(){this.Ie().unlayout(),this.Ss&&this.Ti&&this.Ti.schedulePass()}Te(){this.bi=0,this.Ls=!1,this.ni.reset(Ee),this.ni.reset(Ie),this.ni.reset(Te),this.ni.reset(Me),this.ni.reset("ini-load")}reconstructWhenReparented(){return!!this.Fs&&this.Fs.reconstructWhenReparented()}collapse(){this.Fs&&this.Fs.collapse()}collapsedCallback(t){this.Fs&&this.Fs.collapsedCallback(t)}expand(){this.Fs&&this.Fs.expand()}mutatedAttributesCallback(t){this.Fs?this.Fs.mutatedAttributesCallback(t):this.R1()&&Un(this).scheduleAsap(this)}enqueAction(t){or(this),this.isBuilt()?this.Le(t,!1):(void 0===this.js&&(this.js=[]),yt(this.js).push(t),this.build())}Pe(){if(!this.js)return;const t=yt(this.js);this.js=null,t.forEach((t=>{this.Le(t,!0)}))}Le(t,i){try{this.Fs.executeAction(t,i)}catch(i){l("Action execution failed:",i,t.node.tagName,t.method)}}Xs(){let t=this.getAttribute("data-block-on-consent");if(null===t){if(!function(t){let i=t.getAmpDoc().getMetaByName("amp-consent-blocking");return!!i&&(i=i.toUpperCase().replace(/\s+/g,""),i.split(",").includes(t.tagName))}(this))return null;t="default",this.setAttribute("data-block-on-consent",t)}return""==t||"default"==t?yt(this.Fs).getConsentPolicy():t}Zs(){var t;const i=this.getAttribute("data-block-on-consent-purposes")||null;return null==i||null===(t=i.replace(/\s+/g,""))||void 0===t?void 0:t.split(",")}getPlaceholder(){return kt(this,(t=>t.hasAttribute("placeholder")&&!hr(t)))}togglePlaceholder(t){if(or(this),t){const t=this.getPlaceholder();t&&t.classList.remove("amp-hidden")}else{const t=(this,xt("placeholder"),"> [placeholder]",this.querySelectorAll(Vt("> [placeholder]",":scope")));for(let i=0;i0||this.ni.get(Ie);return!(this.Ds==Qs||this.hasAttribute("noloading")||i&&!t||!function(t){const i=t.tagName.toUpperCase();return"AMP-AD"===(s=i)||"AMP-ANIM"===s||"AMP-EMBED"===s||"AMP-FACEBOOK"===s||"AMP-FACEBOOK-COMMENTS"===s||"AMP-FACEBOOK-PAGE"===s||"AMP-GOOGLE-DOCUMENT-EMBED"===s||"AMP-IFRAME"===s||"AMP-IMG"===s||"AMP-INSTAGRAM"===s||"AMP-LIST"===s||"AMP-PINTEREST"===s||"AMP-PLAYBUZZ"===s||"AMP-RENDER"===s||"AMP-TIKTOK"===s||"AMP-TWITTER"===s||function(t){return"AMP-VIDEO"!=t&&re.test(t)}(i);var s}(this)||Dt(this))}toggleLoading(t,i=!1){if(!this.ownerDocument||!this.ownerDocument.defaultView)return;const s=Oi(this.getAmpDoc(),"loadingIndicator");s&&((t=t&&this.Ue(i))?s.track(this):s.untrack(this))}getOverflowElement(){return void 0===this.Us&&(this.Us=Nt(this,"overflow"),this.Us&&(this.Us.hasAttribute("tabindex")||this.Us.setAttribute("tabindex","0"),this.Us.hasAttribute("role")||this.Us.setAttribute("role","button"))),this.Us}overflowCallback(t,i,s){this.getOverflowElement(),this.Us?(this.Us.classList.toggle("amp-visible",t),this.Us.onclick=t?()=>{const t=us(this.getAmpDoc());t.forceChangeSize(this,i,s),t.mutateElement(this,(()=>{this.overflowCallback(!1,i,s)}))}:null):t&&this.warnOnMissingOverflow}Ce(t,i,s=!1){this.zi?us(this.getAmpDoc()).mutateElement(i||this,t,s):t()}},t.__AMP_BASE_CE_CLASS}(t,i);class e extends s{adoptedCallback(){Object.getPrototypeOf(this)!==n&&Object.setPrototypeOf(this,n)}}const n=e.prototype;return e}function hr(t){return"placeholder"in t}function or(t){yt(!t.zs)}function ur(t){nr.add(t||"*");for(const i of er)null!=t&&i.tagName.toLowerCase()!==t||i.markUnresolved()}var lr=new WeakMap;function cr(t){return t.__AMP_EXTENDED_ELEMENTS||(t.__AMP_EXTENDED_ELEMENTS={}),t.__AMP_EXTENDED_ELEMENTS}function ar(t,i,s){const e=cr(t);if(e[i]){if(e[i]!=s){bt(e[i]==Zn,"%s is already registered. The script tag for %s is likely included twice in the page.",i,i),e[i]=s;for(let e=0;e{t.declareExtension(i,s),e.addEventListener("error",(()=>ur(i))),pr(t.win,i)})),t.isBodyAvailable()&&t.setExtensionsKnown()}function pr(t,i){cr(t)[i]||_r(t,i,Zn)}function mr(t,i,s){_r(i,s,cr(t)[s]||Zn)}function _r(t,i,s){cr(t)[i]=s;const e=rr(t,Ar);t.customElements.define(i,e)}function Ar(t,i,s){lr.has(t)||(lr.set(t,!0),fr(t));const e=i.localName;s||t.declaresExtension(e)||hs(t.win).installExtensionForDoc(t,e,"0.1")}var Pr="amp-img",gr=["alt","aria-describedby","aria-label","aria-labelledby","crossorigin","referrerpolicy","title","importance","sizes","srcset","src"],vr=class t extends Qn{static R1(){return!1}static prerenderAllowed(){return!0}static usesLoading(){return!0}static getPreconnects(t){const i=t.getAttribute("src");if(i)return[i];const s=t.getAttribute("srcset");if(s){const t=/\S+/.exec(s);if(t)return[t[0]]}return null}constructor(t){super(t),this.$e=!0,this.Fe=null,this.Be=null,this.He=null,this.je=0}mutatedAttributesCallback(i){if(this.Fe){const s=gr.filter((t=>void 0!==i[t]));i.src&&!i.srcset&&this.element.hasAttribute("srcset")&&(this.element.removeAttribute("srcset"),s.push("srcset"),this.user().warn(Pr,"Removed [srcset] since [src] was mutated. Recommend adding a [srcset] binding to support responsive images.",this.element)),fe(s,this.element,this.Fe,!0),this.propagateDataset(this.Fe),t.R1()&&!this.Fe.complete&&this.setReadyState(fi)}}preconnectCallback(t){const i=this.element.getAttribute("src");if(i)as(this.win).url(this.getAmpDoc(),i,t);else{const i=this.element.getAttribute("srcset");if(!i)return;const s=/\S+/.exec(i);s&&as(this.win).url(this.getAmpDoc(),s[0],t)}}isLayoutSupported(t){return ue(t)}ze(){if(this.Fe)return this.Fe;this.$e=!this.element.hasAttribute("fallback");const t=Yt(this.element);var i,s;return t&&(this.Fe=Ot(this.element,"> img:not([placeholder])")),this.Fe=this.Fe||new Image,this.Fe.setAttribute("decoding","async"),this.element.id&&this.Fe.setAttribute("amp-img-id",this.element.id),"img"==this.element.getAttribute("role")&&(this.element.removeAttribute("role"),this.user().error(Pr,"Setting role=img on amp-img elements breaks screen readers please just set alt or ARIA attributes, they will be correctly propagated for the underlying element.")),this.Ge(!0),fe(gr,this.element,this.Fe),this.propagateDataset(this.Fe),de(this.Fe,!0),i=this.element,s=this.Fe,i.hasAttribute("object-fit")&&Ss(s,"object-fit",i.getAttribute("object-fit")),i.hasAttribute("object-position")&&Ss(s,"object-position",i.getAttribute("object-position")),t||this.element.appendChild(this.Fe),this.Fe}Ge(t){if(!this.Fe)return;if(this.element.hasAttribute("i-amphtml-ssr"))return;if(this.element.hasAttribute("sizes")||this.Fe.hasAttribute("sizes"))return;const i=this.element.getAttribute("srcset");if(!i||/[0-9]+x(?:,|$)/.test(i))return;const{width:s}=this.element.getLayoutSize();if(!this.qe(s))return;const e=this.getViewport().getWidth(),n=`(max-width: ${e}px) ${s}px, `;let r=s+"px";if(this.getLayout()!==Js){const t=Math.round(100*s/e);r=Math.max(t,100)+"vw"}const h=n+r;t?this.Fe.setAttribute("sizes",h):this.mutateElement((()=>{this.Fe.setAttribute("sizes",h)})),this.je=s}qe(t){return!this.Fe.hasAttribute("sizes")||t>this.je}reconstructWhenReparented(){return!1}mountCallback(){const t=!!this.Fe,i=this.ze();t||(ze(i,"load",(()=>{this.setReadyState(pi),this.firstLayoutCompleted(),this.We()})),ze(i,"error",(t=>{this.setReadyState(mi,t),this.Ke()}))),i.complete?(this.setReadyState(pi),this.firstLayoutCompleted(),this.We()):this.setReadyState(fi)}unmountCallback(){const t=this.Fe;t&&!t.complete&&(t.src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=",Bt(t),this.Fe=null)}ensureLoaded(){this.Fe.loading="eager"}layoutCallback(){this.ze();const t=this.Fe;this.Be=ze(t,"load",(()=>this.We())),this.He=ze(t,"error",(()=>this.Ke()));const{width:i}=this.element.getLayoutSize();return i<=0?e():this.loadPromise(t)}unlayoutCallback(){if(t.R1())return;this.He&&(this.He(),this.He=null),this.Be&&(this.Be(),this.Be=null);const i=this.Fe;return i&&!i.complete&&(i.src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=",Bt(i),this.Fe=null),!0}firstLayoutCompleted(){const t=this.getPlaceholder();t&&t.classList.contains("i-amphtml-blurry-placeholder")?Vs(t,{"opacity":0}):this.togglePlaceholder(!1)}We(){!this.$e&&this.Fe.classList.contains("i-amphtml-ghost")&&(this.Fe.classList.remove("i-amphtml-ghost"),this.toggleFallback(!1))}Ke(){this.$e&&(this.Fe.classList.add("i-amphtml-ghost"),this.toggleFallback(!0),this.togglePlaceholder(!1),this.$e=!1)}propagateDataset(t){for(const i in t.dataset)i in this.element.dataset||delete t.dataset[i];for(const i in this.element.dataset)i.startsWith("ampBind")&&"ampBind"!==i||t.dataset[i]!==this.element.dataset[i]&&(t.dataset[i]=this.element.dataset[i])}},Er=class extends Qn{static prerenderAllowed(){return!0}isLayoutSupported(t){return t==te||ue(t)}buildCallback(){!function(t){if(Yt(t))return;const i=function(t){var i;return he(null!==(i=t.getAttribute("layout"))&&void 0!==i?i:"")||Ce(t).layout}(t);if(i==te)return;const s=t.ownerDocument.createElement("div");de(s),function(t){return function(t,i){const s=[];for(let i=t.firstChild;i;i=i.nextSibling)!Dt(i)&&s.push(i);return s}(t)}(t).forEach((t=>{s.appendChild(t)})),t.appendChild(s)}(this.element)}};function Tr(t,i,s=!1,e,n){const r=new($s.getImage(t));s&&(r.referrerPolicy="no-referrer");let h=0;var o;return null!=e&&((null===(o=t.document.featurePolicy)||void 0===o?void 0:o.allowedFeatures().includes("attribution-reporting"))?(h=6,e=Ir(t,h,n)(e),r.attributionSrc=e):h=5),i=Ir(t,h,n)(i),r.src=i,r}function Ir(t,i,s){const e={"ATTRIBUTION_REPORTING_STATUS":()=>i},n=ms(s||t.document),r={"ATTRIBUTION_REPORTING_STATUS":!0};return t=>n.expandUrlSync(t,e,r)}var Mr="amp-pixel",Rr=class extends Qn{constructor(t){super(t),this.Ye=null}isLayoutSupported(t){return!0}buildCallback(){this.element.setAttribute("aria-hidden","true"),this.Je=this.element.getAttribute("referrerpolicy"),this.Je&&bt("no-referrer"==this.Je,`${Mr}: invalid "referrerpolicy" value "${this.Je}". Only "no-referrer" is supported`),this.element.hasAttribute("i-amphtml-ssr")&&this.element.querySelector("img")||this.getAmpDoc().whenFirstVisible().then(this.Qe.bind(this))}Qe(){if(this.Ye)return Rt().error(Mr,"duplicate pixel"),this.Ye;this.Ye=ps(this.win).promise(1).then((()=>{const t=this.element.getAttribute("src");if(t)return ms(this.element).expandUrlAsync(this.Xe(t)).then((t=>{if(this.win)return function(t,i,s,e,n){return s&&"no-referrer"!==s&&It().error("pixel","Unsupported referrerPolicy: %s",s),"no-referrer"===s?function(t,i,s,e){if("referrerPolicy"in Image.prototype)return Tr(t,i,!0,s,e);{const s=(n={"src":"about:blank","style":"display:none"},function(t,i){for(const s in i)t.setAttribute(s,i[s]);return t}(t.document.createElement("iframe"),n));return s.onload=()=>{Tr(s.contentWindow,i,void 0,void 0,e)},t.document.body.appendChild(s),s}var n}(t,i,e,n):Tr(t,i,!1,e,n)}(this.win,t,this.Je,this.element.getAttribute("attributionsrc"),this.element)}))}))}Xe(t){return bt(/^(https\:\/\/|\/\/)/i.test(t),'The src attribute must start with "https://" or "//". Invalid value: '+t),t}},yr=class{constructor(t,i,s){this.Ze=ps(t),this.tn=i,this.sn=s||0,this.en=-1,this.nn=0,this.rn=!1,this.hn=()=>{this.on()}}isPending(){return-1!=this.en}schedule(t){let i=t||this.sn;this.rn&&i<10&&(i=10);const s=Date.now()+i;return(!this.isPending()||s-this.nn<-10)&&(this.cancel(),this.nn=s,this.en=this.Ze.delay(this.hn,i),!0)}on(){this.en=-1,this.nn=0,this.rn=!0,this.tn(),this.rn=!1}cancel(){this.isPending()&&(this.Ze.cancel(this.en),this.en=-1)}};function br(t,i){const s=i.documentElement;return t.some((t=>s.hasAttribute(t)))}function wr(t){return br(["⚡4email","amp4email"],t)}function Vr(t){return br(["⚡","amp"],t)}var Sr="Action",xr="__AMP_ACTION_MAP__"+Math.random(),Or="__AMP_ACTION_QUEUE__",Cr="__AMP_ACTION_HANDLER__",kr={"form":["submit","clear"]},Nr=[{tagOrTarget:"AMP",method:"setState"},{tagOrTarget:"*",method:"focus"},{tagOrTarget:"*",method:"hide"},{tagOrTarget:"*",method:"show"},{tagOrTarget:"*",method:"toggleClass"},{tagOrTarget:"*",method:"toggleChecked"},{tagOrTarget:"*",method:"toggleVisibility"}],Dr={"button":!0,"checkbox":!0,"link":!0,"listbox":!0,"menuitem":!0,"menuitemcheckbox":!0,"menuitemradio":!0,"option":!0,"radio":!0,"scrollbar":!0,"slider":!0,"spinbutton":!0,"switch":!0,"tab":!0,"treeitem":!0},Lr=class{constructor(t,i,s,e,n,r,h,o="?",u=null,l=Math.random()){this.node=t,this.method=i,this.args=s,this.source=e,this.caller=n,this.event=r,this.trust=h,this.actionEventType=o,this.tagOrTarget=u||t.tagName,this.sequenceId=l}satisfiesTrust(t){if(!w(this.trust))return Rt().error(Sr,`Invalid trust for '${this.method}': ${this.trust}`),!1;if(this.trustt.value)).join(".")};r||(r=p()),r[u]=l,n=t.peek(),s(n.type==Gr.SEPARATOR&&(","==n.value||")"==n.value),"Expected either [,] or [)]")}else s(!1,`; unexpected token [${e.value||""}]`)}while(e.type!=Gr.SEPARATOR||")"!=e.value);var h;return r}function jr(t,i,s,e){return bt(s,"Invalid action definition in %s: [%s] %s",i,t,e||"")}function zr(t,i,s,e,n){return void 0!==n?jr(t,i,e.includes(s.type)&&s.value==n,`; expected [${n}]`):jr(t,i,e.includes(s.type)),s}var Gr={INVALID:0,EOF:1,SEPARATOR:2,LITERAL:3,ID:4,OBJECT:5},qr=" \t\n\r\f\v \u2028\u2029",Wr=class{constructor(t){this.un=t,this.ln=-1}next(t){const i=this.cn(t||!1);return this.ln=i.index,i}peek(t){return this.cn(t||!1)}cn(t){let i=this.ln+1;if(i>=this.un.length)return{type:Gr.EOF,index:this.ln};let s=this.un.charAt(i);if(-1!=qr.indexOf(s)){for(i++;i=this.un.length)return{type:Gr.EOF,index:i};s=this.un.charAt(i)}if(t&&(Kr(s)||"."==s&&i+1="0"&&t<="9"}function Yr(t){return!!t&&"function"==typeof t.getFormData}var Qr=["GET","POST"],Jr=[v,f];function Xr(t,i){const s=g({},i);if(Yr(i.body)){const t=i.body;s.headers["Content-Type"]="multipart/form-data;charset=utf-8",s.body=function(t){const i=[];for(let s=t.next();!s.done;s=t.next())i.push(s.value);return i}(t.entries())}return{input:t,init:s}}function Zr(t,i){const s=t||{},e=s.credentials;return D(void 0===e||"include"==e||"omit"==e),s.method=void 0===(n=s.method)?"GET":(n=n.toUpperCase(),D(Qr.includes(n)),n),s.headers=s.headers||{},i&&(s.headers.Accept=i),D(null!==s.body),s;var n}function th(t){return new Promise((i=>{if(t.ok)return i(t);const{status:s}=t,e=It().createError(`HTTP error ${s}`);throw e.retriable=function(t){return 415==t||t>=500&&t<600}(s),e.response=t,e}))}var ih=class{constructor(t){this.win=t;const i=is(t);this.an=i.isSingleDoc()?i.getSingleDoc():null}dn(t,i){return function(t,i,s,n){if(!i)return e();const r=n.prerenderSafe?e():i.whenFirstVisible(),h=Ps(i),o=_n(s),u=h.hasCapability("xhrInterceptor"),l=n.bypassInterceptorForDev&&!1;return o||!u||l?r:i.getRootNode().documentElement.hasAttribute("allow-xhr-interception")?r.then((()=>h.isTrustedViewer())).then((i=>{if(!i&&!Le(t,"untrusted-xhr-interception"))return;const e={"originalRequest":Xr(s,n)};return h.sendMessageAwaitResponse("xhr",e).then((t=>function(t,i){if(F(f(t),"Object expected: %s",t),"document"!=i)return new Response(t.body,t.init);const s=p(),e={status:200,statusText:"OK",getResponseHeader:t=>s[String(t).toLowerCase()]||null};if(t.init){const i=t.init;v(i.headers)&&i.headers.forEach((t=>{const i=t[0],e=t[1];s[String(i).toLowerCase()]=String(e)})),i.status&&(e.status=parseInt(i.status,10)),i.statusText&&(e.statusText=String(i.statusText))}return new Response(t.body?String(t.body):"",e)}(t,n.responseType)))})):r}(this.win,this.an,t,i).then((t=>{if(t)return t;if(Yr(i.body)){const t=i.body;i.body=t.getFormData()}return this.win.fetch.apply(null,arguments)}))}fn(t,i={}){return t=function(t,i,s){return D("string"==typeof i),!1!==s.ampCors&&(i=In(t,i)),i}(this.win,t,i),i=function(t,i,s){s=s||{};const e=function(t){return t.origin||on(t.location.href).origin}(t);return e==on(i).origin&&(s.headers=s.headers||{},s.headers["AMP-Same-Origin"]="true"),s}(this.win,t,i),this.dn(t,i).then((t=>t),(i=>{const s=on(t).origin;throw It().createExpectedError("XHR",`Failed fetching (${s}/...):`,i&&i.message)}))}fetchJson(t,i){return this.fetch(t,function(t){const i=Zr(t,"application/json");if("POST"==i.method&&!Yr(i.body)){D(Jr.some((t=>t(i.body)))),i.headers["Content-Type"]=i.headers["Content-Type"]||"text/plain;charset=utf-8";const t=i.headers["Content-Type"];i.body="application/x-www-form-urlencoded"===t?dn(i.body):JSON.stringify(i.body)}return i}(i))}fetchText(t,i){return this.fetch(t,Zr(i,"text/plain"))}xssiJson(t,i){return i?t.text().then((t=>t.startsWith(i)?B(t.slice(i.length)):B(t))):t.json()}fetch(t,i){const s=Zr(i);return this.fn(t,s).then((t=>th(t)))}sendSignal(t,i){return this.fn(t,i).then((t=>th(t)))}getCorsUrl(t,i){return In(t,i)}},sh=class extends ih{constructor(t){super(t),this.pn=p()}fetch(t,i){const s=i&&i.headers&&i.headers.Accept||"",e=!i||!i.method||"GET"===i.method,n=this.mn(t,s),r=!!this.pn[n];if(e&&r)return this.pn[n].then((t=>t.clone()));const h=super.fetch(t,i);return e&&(this.pn[n]=h.then((t=>(delete this.pn[n],t.clone())),(t=>{throw delete this.pn[n],t}))),h}mn(t,i){return mn(Tn(t,En(this.win.location)))+i}},eh={"+":"-","/":"_","=":"."};function nh(t){const i=function(t){const i=new Array(t.length);for(let s=0;seh[t]))}var rh="AIzaSyDKtqGxnoeIqVM33Uf7hRSa3GJxuzR7mLc",hh="CacheCidApi",oh="-test-amp-cookie-tmp";function uh(t,i){const s=function(t){try{return t.document.cookie}catch(t){return""}}(t);if(!s)return null;const e=s.split(";");for(let t=0;t=0;n--)if(s=i[n]+"."+s,ch(t,e,"delete",Date.now()+1e3,s),"delete"==uh(t,e))return ch(t,e,"delete",Date.now()-1e3,s),s}return null}(t)),ch(t,i,s,e,r,n.sameSite,n.secure)}function ch(t,i,s,e,n,r,h){"ampproject.org"==n&&(s="delete",e=0);const o=encodeURIComponent(i)+"="+encodeURIComponent(s)+"; path=/"+(n?"; domain="+n:"")+"; expires="+new Date(e).toUTCString()+function(t,i){return i?`; SameSite=${i}`:""}(0,r)+(h?"; Secure":"");try{t.document.cookie=o}catch(t){}}var ah="GoogleCidApi",dh="AMP_TOKEN",fh="$RETRIEVING",ph="$OPT_OUT",mh="$NOT_FOUND",_h=3e4,Ah=31536e6,Ph=31536e6,gh=/^[a-zA-Z0-9-_.]+$/,vh="amp-cid-optout",Eh={"googleanalytics":"AMP_ECID_GOOGLE"},Th={"googleanalytics":"AIzaSyA65lEHUEizIsNtlbNo-l2K18dT680nsaM"};function Ih(t,i,s){lh(t,i,s,Date.now()+Ph,{highestAvailableDomain:!0})}function Mh(t,i,s){fs(t).then((t=>{if(!t.isViewerStorage()){const e=Rh(i);t.setNonBoolean(e,s)}}))}function Rh(t){return"amp-cid:"+t}function yh(t,i,s){const{ampdoc:e}=t,{win:n}=e,{disableBackup:r,scope:h}=i,o=i.cookieName||h;return function(t,i){const{ampdoc:s}=t,{win:e}=s,{disableBackup:n,scope:r}=i,h=i.cookieName||r,o=uh(e,h);return o?Promise.resolve(o):n?Promise.resolve(null):fs(s).then((t=>{const i=Rh(h);return t.get(i,Ph)})).then((t=>t&&"string"==typeof t?t:null))}(t,i).then((u=>{if(!u&&!i.createCookieIfNotPresent)return Promise.resolve(null);if(u)return/^amp-/.test(u)&&(Ih(n,o,u),r||Mh(e,o,u)),Promise.resolve(u);if(t._n[h])return t._n[h];const l=Sh(n).then((t=>"amp-"+t));return Promise.all([l,s]).then((t=>{const i=t[0];uh(n,o)||(Ih(n,o,i),r||Mh(e,o,i))})),t._n[h]=l}))}function bh(t,i){const s=Ps(t);return s.isTrustedViewer().then((t=>{if(t)return Rt().expectedError("CID","Viewer does not provide cap=cid"),s.sendMessageAwaitResponse("cid",i).then((t=>t&&!function(t,i){try{return B(t)}catch(t){return null}}(t)?(Rt().expectedError("CID","invalid cid format"),JSON.stringify({"time":Date.now(),"cid":t})):t))}))}function wh(t){return JSON.stringify({"time":Date.now(),"cid":t})}function Vh(t){return j(t,16)||String(t.location.href+Date.now()+t.Math.random()+t.screen.width+t.screen.height)}function Sh(t){const i=Vh(t);if("string"==typeof i)return ns(t).sha384Base64(i);{const t=i;return r((()=>nh(t).replace(/\.+$/,"")))}}var xh="Crypto";var Oh=["prefetch","preload","preconnect","dns-prefetch"],Ch={attributes:!0,attributeFilter:["hidden"],subtree:!0};function kh(t){try{return t.state}catch(t){return null}}var Nh="History",Dh="AMP.History";function Lh(t){const i=Ps(t);let s;return i.isOvertakeHistory()||t.win.__AMP_TEST_IFRAME?s=new class{constructor(t,i){this.win=t,this.An=i,this.gn=0,this.Pn=null,this.vn=this.An.onMessage("historyPopped",(t=>this.En(t)))}replaceStateForTarget(t){yt("#"==t[0]),this.win.location.replace(t)}cleanup(){this.vn()}setOnStateUpdated(t){this.Pn=t}Tn(t,i,s){return this.Rn(t)?t:i}Rn(t){return!!t&&void 0!==t.stackIndex}push(t){const i=g({"stackIndex":this.gn+1},t||{}),s="pushHistory";return this.An.sendMessageAwaitResponse(s,i).then((t=>{const e=i,n=this.Tn(t,e,s);return this.In(n),n}))}pop(t){if(t>this.gn)return this.get();const i={"stackIndex":this.gn},s="popHistory";return this.An.sendMessageAwaitResponse(s,i).then((t=>{const i={"stackIndex":this.gn-1},e=this.Tn(t,i,s);return this.In(e),e}))}replace(t){if(t&&t.url){if(!this.An.hasCapability("fullReplaceHistory")){const t={"stackIndex":this.gn};return Promise.resolve(t)}const i=t.url.replace(/#.*/,"");t.url=i}const i=g({"stackIndex":this.gn},t||{}),s="replaceHistory";return this.An.sendMessageAwaitResponse(s,i,!0).then((t=>{const e=i,n=this.Tn(t,e,s);return this.In(n),n}))}get(){return Promise.resolve({data:void 0,fragment:"",stackIndex:this.gn,title:""})}En(t){void 0!==t.newStackIndex&&(t.stackIndex=t.newStackIndex),this.Rn(t)&&this.In(t)}In(t){const{stackIndex:i}=t;this.gn!=i&&(this.gn=i,this.Pn&&this.Pn(t))}getFragment(){return this.An.hasCapability("fragment")?this.An.sendMessageAwaitResponse("getFragment",void 0,!0).then((t=>{if(!t)return"";let i=t;return"#"==i[0]&&(i=i.substr(1)),i})):Promise.resolve("")}updateFragment(t){return this.An.hasCapability("fragment")?this.An.sendMessageAwaitResponse("replaceHistory",{"fragment":t},!0):e()}}(t.win,i):(wi(t.win,"global-history-binding",class{constructor(t){this.win=t,this.Ze=ps(t);const{history:i}=this.win;this.Mn=i.length-1;const s=kh(i);let e,n;s&&void 0!==s[Dh]&&(this.Mn=Math.min(s[Dh],this.Mn)),this.gn=this.Mn,this.yn,this.Pn=null,this.wn="state"in i,this.bn=this.Vn(this.gn),i.pushState&&i.replaceState?(this.Sn=i.originalPushState||i.pushState.bind(i),this.xn=i.originalReplaceState||i.replaceState.bind(i),e=(t,i,s)=>{this.bn=t;try{this.Sn(t,i,s||null)}catch(t){Rt().error(Nh,"pushState failed: "+t.message)}},n=(t,i,s)=>{this.bn=t;try{void 0!==s?this.xn(t,i,s):this.xn(t,i)}catch(t){Rt().error(Nh,"replaceState failed: "+t.message)}},i.originalPushState||(i.originalPushState=this.Sn),i.originalReplaceState||(i.originalReplaceState=this.xn)):(e=(t,i,s)=>{this.bn=t},n=(t,i,s)=>{this.bn=t}),this.On=e,this.Cn=n;try{this.Cn(this.Vn(this.gn,!0))}catch(t){Rt().error(Nh,"Initial replaceState failed: "+t.message)}i.pushState=this.kn.bind(this),i.replaceState=this.Nn.bind(this),this.Dn=t=>{t.state,this.Ln()},this.win.addEventListener("popstate",this.Dn)}cleanup(){this.Sn&&(this.win.history.pushState=this.Sn),this.xn&&(this.win.history.replaceState=this.xn),this.win.removeEventListener("popstate",this.Dn)}Vn(t,i){const s=p(i?this.Un():void 0);return s[Dh]=t,s}setOnStateUpdated(t){this.Pn=t}push(t){return this.$n((()=>{const i=this.Fn(this.Un(),t||{});return this.kn(i,void 0,i.fragment?"#"+i.fragment:void 0),r((()=>this.Fn(i,{stackIndex:this.gn})))}))}pop(t){return t=Math.max(t,this.Mn),this.$n((()=>this.Bn(this.gn-t+1))).then((t=>this.Fn(this.Un(),{stackIndex:t})))}replace(t={}){return this.$n((()=>{const i=this.Fn(this.Un(),t||{}),s=(i.url||"").replace(/#.*/,""),e=i.fragment?"#"+i.fragment:"";return this.Nn(i,i.title,s||e?s+e:void 0),r((()=>this.Fn(i,{stackIndex:this.gn})))}))}get(){return r((()=>this.Fn(this.Un(),{stackIndex:this.gn})))}backTo(t){return t=Math.max(t,this.Mn),this.$n((()=>this.Bn(this.gn-t)))}Ln(){let t=this.Un();const i=t?t[Dh]:void 0;let s=this.gn;const e=this.yn;this.yn=void 0,s>this.win.history.length-2&&(s=this.win.history.length-2,this.In(this.Fn(t,{stackIndex:s}))),null==i?s+=1:s=iPromise.resolve(this.gn)))}kn(t,i,s){this.Hn(),t||(t={});let e=this.gn+1;t[Dh]=e,this.On(t,i,s),e!=this.win.history.length-1&&(e=this.win.history.length-1,t[Dh]=e,this.Cn(t));const n=this.Fn(t,{stackIndex:e});this.In(n)}replaceStateForTarget(t){yt("#"==t[0]),this.$n((()=>{this.win.removeEventListener("popstate",this.Dn);try{this.win.location.replace(t)}finally{this.win.addEventListener("popstate",this.Dn)}return this.Nn(),e()}))}Nn(t,i,s){this.Hn(),t||(t={});const e=Math.min(this.gn,this.win.history.length-1);t[Dh]=e,this.Cn(t,i,s);const n=this.Fn(t,{stackIndex:e});this.In(n)}In(t){this.Hn(),t.stackIndex=Math.min(t.stackIndex,this.win.history.length-1),this.gn!=t.stackIndex&&(this.gn=t.stackIndex,this.Pn&&this.Pn(t))}getFragment(){let{hash:t}=this.win.location;return t=t.substr(1),Promise.resolve(t)}updateFragment(t){return this.replace({fragment:t})}Fn(t,i){const s=g(g({},t&&t.data||{}),i.data||{});return g(g(g({},t||{}),i),{},{data:s})}}),s=Si(t.win,"global-history-binding")),new class{constructor(t,i){this.zi=t,this.Ze=ps(t.win),this.zn=i,this.gn=0,this.Gn=[],this.ns=[],this.zn.setOnStateUpdated(this.Pn.bind(this))}cleanup(){this.zn.cleanup()}push(t,i){return this.qn((()=>this.zn.push(i).then((i=>(this.Pn(i),t&&(this.Gn[i.stackIndex]=t),i.stackIndex)))),"push")}pop(t){return this.qn((()=>this.zn.pop(t).then((t=>{this.Pn(t)}))),"pop")}replace(t){return this.qn((()=>this.zn.replace(t)),"replace")}get(){return this.qn((()=>this.zn.get()),"get")}goBack(t){return this.qn((()=>this.gn<=0&&!t?e():this.zn.pop(this.gn).then((t=>{this.Pn(t)}))),"goBack")}replaceStateForTarget(t){yt("#"==t[0]);const i=this.zi.win.location.hash;return this.push((()=>{this.zi.win.location.replace(i||"#")})).then((()=>{this.zn.replaceStateForTarget(t)}))}getFragment(){return this.zn.getFragment()}updateFragment(t){return"#"==t[0]&&(t=t.substr(1)),this.zn.updateFragment(t)}Pn(t){this.gn=t.stackIndex,this.Wn(t)}Wn(t){if(this.gn>=this.Gn.length-1)return;const i=[];for(let t=this.Gn.length-1;t>this.gn;t--)this.Gn[t]&&(i.push(this.Gn[t]),this.Gn[t]=void 0);if(this.Gn.splice(this.gn+1),i.length>0)for(let s=0;si[s](t)),1)}qn(t,i){const s=new n,{promise:e,reject:r,resolve:h}=s,o=new Error("history trace for "+i+": ");return this.ns.push({callback:t,resolve:h,reject:r,trace:o}),1==this.ns.length&&this.Kn(),e}Kn(){if(0==this.ns.length)return;const t=this.ns[0];let i;try{i=t.callback()}catch(t){i=Promise.reject(t)}i.then((i=>{t.resolve(i)}),(i=>{Rt().error(Nh,"failed to execute a task:",i),t.trace&&(t.trace.message+=i,Rt().error(Nh,t.trace)),t.reject(i)})).then((()=>{this.ns.splice(0,1),this.Kn()}))}}(t,s)}var Uh=['
'],$h=class{constructor(t,i){this.win=t,this.Yn=i,this.Jn=[],this.Qn=new Is,this.Xn=t=>{b(t.target)&&this.Zn(t.target)},this.tr=i=>{ps(t).delay((()=>{this.win.document.activeElement&&this.Zn(this.win.document.activeElement)}),500)},this.win.document.addEventListener("focus",this.Xn,!0),this.win.addEventListener("blur",this.tr)}ir(){this.win.document.removeEventListener("focus",this.Xn,!0),this.win.removeEventListener("blur",this.tr)}onFocus(t){return this.Qn.add(t)}Zn(t){const i=Date.now();0==this.Jn.length||this.Jn[this.Jn.length-1].el!=t?this.Jn.push({el:t,time:i}):this.Jn[this.Jn.length-1].time=i,this.purgeBefore(i-this.Yn),this.Qn.fire(t)}getLast(){return 0==this.Jn.length?null:this.Jn[this.Jn.length-1].el}purgeBefore(t){let i=this.Jn.length-1;for(let s=0;s=t){i=s-1;break}-1!=i&&this.Jn.splice(0,i+1)}hasDescendantsOf(t){this.win.document.activeElement&&this.Zn(this.win.document.activeElement);for(let i=0;i(r=e||"").length||-1===r.indexOf("noopener",h))&&(n=t.open(i,"_top")),n}var Gh="navigation",qh="click",Wh="contextmenu",Kh=["_top","_blank"],Yh="data-a4a-orig-href";function Qh(t,i){const s=Ct(i.target,"A");if(!s||!s.href)return;const e=s.getAttribute(Yh)||s.getAttribute("href");if(!e)return;const n={"CLICK_X":()=>i.pageX,"CLICK_Y":()=>i.pageY},r=ms(s).expandUrlSync(e,n,{"CLICK_X":!0,"CLICK_Y":!0});r!=e&&(s.getAttribute(Yh)||s.setAttribute(Yh,e),s.setAttribute("href",r))}function Jh(t){return`${t.origin}${t.pathname}${t.search}`}function Xh(t){return v(t)?t:[t]}function Zh(t){wi(t,"platform",class{constructor(t){this.Kh=t.navigator,this.i=t}isAndroid(){return/Android/i.test(this.Kh.userAgent)}isIos(){return/iPhone|iPad|iPod/i.test(this.Kh.userAgent)}isSafari(){return/Safari/i.test(this.Kh.userAgent)&&!this.isChrome()&&!this.isEdge()&&!this.isFirefox()&&!this.isOpera()}isChrome(){return/Chrome|CriOS/i.test(this.Kh.userAgent)&&!this.isEdge()&&!this.isOpera()}isFirefox(){return/Firefox|FxiOS/i.test(this.Kh.userAgent)&&!this.isEdge()}isOpera(){return/OPR\/|Opera|OPiOS/i.test(this.Kh.userAgent)}isEdge(){return/Edge/i.test(this.Kh.userAgent)}isWebKit(){return/WebKit/i.test(this.Kh.userAgent)&&!this.isEdge()}isWindows(){return/Windows/i.test(this.Kh.userAgent)}isStandalone(){return this.isIos()&&this.Kh.standalone||this.isChrome()&&this.i.matchMedia("(display-mode: standalone)").matches}isBot(){return/bot/i.test(this.Kh.userAgent)}getMajorVersion(){return this.isSafari()?this.isIos()?this.getIosMajorVersion()||0:this.Yh(/\sVersion\/(\d+)/,1):this.isChrome()?this.Yh(/(Chrome|CriOS)\/(\d+)/,2):this.isFirefox()?this.Yh(/(Firefox|FxiOS)\/(\d+)/,2):this.isOpera()?this.Yh(/(OPR|Opera|OPiOS)\/(\d+)/,2):this.isEdge()?this.Yh(/Edge\/(\d+)/,1):0}Yh(t,i){if(!this.Kh.userAgent)return 0;const s=this.Kh.userAgent.match(t);return!s||i>=s.length?0:parseInt(s[i],10)}getIosVersionString(){var t,i,s;return this.isIos()&&(null===(t=this.Kh.userAgent)||void 0===t||null===(i=t.match(/OS ([0-9]+[_.][0-9]+([_.][0-9]+)?)\b/))||void 0===i||null===(s=i[1])||void 0===s?void 0:s.replace(/_/g,"."))||""}getIosMajorVersion(){const t=this.getIosVersionString();return""==t?null:Number(t.split(".")[0])}})}var to=class{constructor(){this.gs=[],this.sr={},this.er=0,this.nr=0}getSize(){return this.gs.length}getLastEnqueueTime(){return this.er}getLastDequeueTime(){return this.nr}getTaskById(t){return this.sr[t]||null}enqueue(t){yt(!this.sr[t.id]),this.gs.push(t),this.sr[t.id]=t,this.er=Date.now()}dequeue(t){const i=this.sr[t.id];return!!this.removeAtIndex(t,this.gs.indexOf(i))&&(this.nr=Date.now(),!0)}peek(t){let i=1e6,s=null;for(let e=0;et.blob))}saveBlob(t,i){return this.An.sendMessageAwaitResponse("saveStore",{"origin":t,"blob":i}).catch((t=>{throw Rt().createExpectedError(ro,"Failed to save store: ",t)}))}};function oo(t){Vi(t,"storage",(function(){const i=Ps(t),s=parseInt(i.getParam("storage"),10)?new ho(i):new class{constructor(t){if(this.win=t,this.rr=this.hr(),!this.rr){const t=new Error("localStorage not supported.");Rt().expectedError(ro,t)}}hr(){try{return"localStorage"in this.win&&(this.win.localStorage.getItem("test"),!0)}catch(t){return!1}}ur(t){return`amp-store:${t}`}loadBlob(t){return new Promise((i=>{this.rr?i(this.win.localStorage.getItem(this.ur(t))):i(null)}))}saveBlob(t,i){return new Promise((s=>{this.rr?(this.win.localStorage.setItem(this.ur(t),i),s()):s()}))}}(t.win);return new class{constructor(t,i,s){this.ampdoc=t,this.An=i,this.zn=s,this.cr=s instanceof ho,this.h=En(this.ampdoc.win.location),this.ar=null}lr(){return this.dr(),this}get(t,i){return this.pr().then((s=>s.get(t,i)))}set(t,i,s){return yt("boolean"==typeof i),this.setNonBoolean(t,i,s)}setNonBoolean(t,i,s){return this.mr((e=>e.set(t,i,s)))}remove(t){return this.mr((i=>i.remove(t)))}isViewerStorage(){return this.cr}pr(){return this.ar||(this.ar=this.zn.loadBlob(this.h).then((t=>t?B(atob(t)):{})).catch((t=>(Rt().expectedError(ro,"Failed to load store: ",t),{}))).then((t=>new class{constructor(t,i){this.obj=_(t),this._r=i||8,this.Ar=this.obj.vv||Object.create(null),this.obj.vv||(this.obj.vv=this.Ar)}get(t,i){const s=this.Ar[t],e=s?s.t:void 0,n=!i||null==e||e+i>Date.now();return s&&n?s.v:void 0}set(t,i,s){if(yt("__proto__"!=t&&"prototype"!=t),void 0!==this.Ar[t]){const e=this.Ar[t];let n=Date.now();s&&(n=e.t),e.v=i,e.t=n}else this.Ar[t]={"v":i,"t":Date.now()};const e=Object.keys(this.Ar);if(e.length>this._r){let t=1/0,i=null;for(let s=0;s{t(i);const s=btoa(JSON.stringify(i.obj));return this.zn.saveBlob(this.h,s)})).then(this.gr.bind(this))}dr(){this.An.onBroadcast((t=>{"amp-storage-reset"==t.type&&t.origin==this.h&&(this.ar=null)}))}gr(){this.An.broadcast({"type":"amp-storage-reset","origin":this.h})}}(t,i,s).lr()}),!0)}var uo="__AMP_IMPL_",lo=()=>{};function co(t){wi(t,"timer",class{constructor(t){this.win=t,this.Pr=this.win.Promise.resolve(),this.vr=0,this.Er={},this.Tr=Date.now()}timeSinceStart(){return Date.now()-this.Tr}delay(t,i){if(!i){const i="p"+this.vr++;return this.Pr.then((()=>{this.Er[i]?delete this.Er[i]:t()})).catch(Vn),i}return this.win.setTimeout((()=>{try{t()}catch(t){throw Vn(t),t}}),i)}cancel(t){"string"!=typeof t?this.win.clearTimeout(t):this.Er[t]=!0}promise(t){return new this.win.Promise((i=>{if(-1==this.delay(i,t))throw new Error("Failed to schedule timer.")}))}timeoutPromise(t,i,s){let e;const n=new this.win.Promise(((i,n)=>{if(e=this.delay((()=>{n(It().createError(s||"timeout"))}),t),-1==e)throw new Error("Failed to schedule timer.")}));if(!i)return n;const r=()=>{this.cancel(e)};return i.then(r,r),this.win.Promise.race([n,i])}poll(t,i){return new this.win.Promise((s=>{const e=this.win.setInterval((()=>{i()&&(this.win.clearInterval(e),s())}),t)}))}})}var ao="Expander",fo=class{constructor(t,i,s,e,n,r){this.Rr=t,this.Ir=i,this.Mr=s,this.yr=e,this.wr=n,this.br=!r}expand(t){if(!t.length)return this.yr?t:Promise.resolve(t);const i=this.Rr.getExpr(this.Ir,this.wr),s=this.Vr(t,i);return s.length?this.Sr(t,s):this.yr?t:Promise.resolve(t)}getMacroNames(t){const i=this.Rr.getExpr(this.Ir,this.wr);return t.match(i)||[]}Vr(t,i){const s=[];return t.replace(i,((t,i,e)=>{const{length:n}=t,r={start:e,stop:n+e-1,name:i,length:n};s.push(r)})),s}Sr(t,i){const s=[];let e=0,n=0,r=i[n],h=0,o=!1;const u=c=>{let a="",d=[];const f=[];for(;et.join(""))).catch((t=>(l(t),"")))};return u(this.br)}Or(t,i){const{encode:s,name:e}=t;let n;if(null!=t.prioritized?n=t.prioritized:this.yr&&null!=t.sync?n=t.sync:this.yr?(It().error(ao,"ignoring async replacement key: ",t.name),n=""):n=t.async||t.sync,this.yr){const t=this.Cr(n,e,i);return s?encodeURIComponent(t):t}return this.kr(n,e,i).then((t=>s?encodeURIComponent(t):t))}kr(t,i,s){let e;try{if("function"==typeof t){const i=t;e=s?this.Nr(s).then((t=>i.apply(null,t))):r(i)}else e=Promise.resolve(t);return e.then((t=>{let e;return this.Dr(i,t,s),e=null==t?"":t,e})).catch((t=>(l(t),this.Dr(i,"",s),Promise.resolve(""))))}catch(t){return l(t),this.Dr(i,"",s),Promise.resolve("")}}Nr(t){return Promise.all(t.map((t=>Promise.all(t).then((t=>t.join(""))))))}Cr(t,i,s){try{let e,n=t;return"function"==typeof t&&(n=t.apply(null,this.Lr(s))),n&&"function"==typeof n.then?(It().error(ao,"ignoring async macro resolution"),e=""):"string"==typeof n||"number"==typeof n||"boolean"==typeof n?(this.Dr(i,n,s),e=n.toString()):(this.Dr(i,"",s),e=""),e}catch(t){return l(t),this.Dr(i,"",s),""}}Lr(t){return t?t.map((t=>t.join(""))):t}Dr(t,i,s){if(!this.Mr)return;let e="";s&&(e=`(${s.filter((t=>""!==t)).join(",")})`),this.Mr[`${t}${e}`]=i||""}},po={"navigationStart":1,"redirectStart":1,"redirectEnd":1,"fetchStart":1,"domainLookupStart":1,"domainLookupEnd":1,"connectStart":1,"secureConnectionStart":1,"connectEnd":1,"requestStart":1,"responseStart":1,"responseEnd":1,"domLoading":2,"domInteractive":2,"domContentLoaded":2,"domComplete":2,"loadEventStart":3,"loadEventEnd":4};function mo(t,i,s){const n=po[i]||3,r=s?po[s]||3:n,h=Math.max(n,r);let o;if(1===h)o=e();else if(2===h)o=Ei(t.document);else if(3===h)o=We(t);else if(4===h){const i=ps(t);o=We(t).then((()=>i.promise(1)))}return yt(o),o.then((()=>_o(t,i,s)))}function _o(t,i,s){const e=t.performance&&t.performance.timing;if(!e||0==e.navigationStart)return;const n=void 0===s?e[i]:e[s]-e[i];return!w(n)||n<0?void 0:n}function Ao(t,i){const s=t.performance&&t.performance.navigation;if(s&&void 0!==s[i])return s[i]}var Po="UrlReplacements";function go(t){return()=>(new Date)[t]()}function vo(t,i){return()=>t[i]}function Eo(t,i){return i?(bt("ISOCountry"===i,"The value passed to AMP_GEO() is not valid name:"+i),t&&t[i]||"unknown"):(null==t?void 0:t.matchedISOCountryGroups.join(","))||"unknown"}var To="Viewer",Io=/^(https?:\/\/)((www[0-9]*|web|ftp|wap|home|mobile|amp|m)\.)+/i;function Mo(t){let i;return t instanceof Error?((t=h(t)).message="No messaging channel: "+t.message,i=t):i=new Error("No messaging channel: "+t),i.message=C(i.message),i}var Ro=class t{static solveYValueFromXValue(i,s,e,n,r,h,o,u,l){return t.Ur(t.$r(i,s,n,h,u),e,r,o,l)}static $r(i,s,e,n,r){const h=1e-6;let o=(i-s)/(r-s);if(o<=0)return 0;if(o>=1)return 1;let u=0,l=1,c=0;for(let a=0;a<8;a++){c=t.Fr(o,s,e,n,r);const a=(t.Fr(o+h,s,e,n,r)-c)/h;if(Math.abs(c-i)h&&a<8;a++)ct,EASE:t=>Ro.solveYValueFromXValue(t,0,0,.25,.1,.25,1,1,1),EASE_IN:t=>Ro.solveYValueFromXValue(t,0,0,.42,0,1,1,1,1),EASE_OUT:t=>Ro.solveYValueFromXValue(t,0,0,0,0,.58,1,1,1),EASE_IN_OUT:t=>Ro.solveYValueFromXValue(t,0,0,.42,0,.58,1,1,1)},bo={"linear":yo.LINEAR,"ease":yo.EASE,"ease-in":yo.EASE_IN,"ease-out":yo.EASE_OUT,"ease-in-out":yo.EASE_IN_OUT};function wo(t){if(!t)return null;if(y(t)){if(-1!=t.indexOf("cubic-bezier")){const r=t.match(/cubic-bezier\((.+)\)/);if(r){const t=r[1].split(",").map(parseFloat);if(4==t.length){for(let i=0;i<4;i++)if(isNaN(t[i]))return null;return i=t[0],s=t[1],e=t[2],n=t[3],t=>Ro.solveYValueFromXValue(t,0,0,i,s,e,n,1,1)}}return null}return bo[t]}var i,s,e,n;return t}var Vo="Animation",So=function(){},xo=class t{static animate(i,s,e,n){return new t(i).setCurve(n).add(0,s,1).start(e)}constructor(t,i){this.Hr=t,this.jr=i||gs(self),this.zr=null,this.Gr=[]}setCurve(t){return t&&(this.zr=wo(t)),this}add(t,i,s,e){return this.Gr.push({delay:t,func:i,duration:s,curve:wo(e)}),this}start(t){return new Oo(this.jr,this.Hr,this.Gr,this.zr,t)}},Oo=class{constructor(t,i,s,e,r){this.jr=t,this.Hr=i,this.Gr=[];for(let t=0;t1&&this.Gr.sort(((t,i)=>t.delay+t.duration-(i.delay+i.duration)));try{if(i>0)for(let t=0;t=0;t--)this.Gr[t].func(0,!1)}catch(i){Rt().error(Vo,"completion failed: "+i,i),t=!1}}t?this.Se():this.Kr()}}Jr(t){if(!this.rn)return;const i=Date.now(),s=Math.min((i-this.Tr)/this.qr,1);for(let t=0;t=i.delay&&(i.started=!0)}for(let t=0;t0){if(s=Math.min((i-t.delay)/t.duration,1),e=s,t.curve&&1!=e)try{e=t.curve(s)}catch(t){return Rt().error(Vo,"step curve failed: "+t,t),void this.Qr(!1,0)}}else s=1,e=1;1==s&&(t.completed=!0);try{t.func(e,t.completed)}catch(t){return Rt().error(Vo,"step mutate failed: "+t,t),void this.Qr(!1,0)}}};function Co(t,i){let s;for(let e=i.lastElementChild;e;e=e.previousElementSibling)if(e.getBoundingClientRect().height>0){const i=ks(t,e);if("static"==i.position||"relative"==i.position){s=i;break}}return s?parseInt(s.marginBottom,10):0}function ko(t,i,s){return function(t,i,s){const e=parseInt(ks(t,i)[s],10);return isNaN(e)?0:e}(t,i===t.document.body?t.document.documentElement:i,s)}function No(t,i){return ko(t,i,"scrollPaddingTop")}function Do(t){const i=Ps(t),{win:s}=t;let n;return n=t.isSingleDoc()&&function(t,i){return cs(t).isIos()&&qt(t)&&i.isEmbedded()&&!i.hasCapability("iframeScroll")?Lo.NATURAL_IOS_EMBED:Lo.NATURAL}(s,i)==Lo.NATURAL_IOS_EMBED?new class{constructor(t){this.win=t,this.jr=gs(t);const i=this.win.document,{documentElement:s}=i,e=s.className;s.classList.add("i-amphtml-ios-embed");const n=i.createElement("html");this.Zr=n,n.id="i-amphtml-wrapper",n.className=e,this.th=new Is,this.ih=new Is,this.sh=this.eh.bind(this),this.nh=()=>this.ih.fire(),this.rh=0,this.hh=!1,$t(i,this.oh.bind(this)),vi(i).then((()=>{s.classList.add("i-amphtml-ios-overscroll")}))}ensureReadyForElements(){this.oh()}oh(){if(this.hh)return;this.hh=!0;const t=this.win.document,i=t.body;t.documentElement.appendChild(this.Zr),this.Zr.appendChild(i),Object.defineProperty(t,"body",{get:()=>i}),this.eh()}connect(){this.win.addEventListener("resize",this.nh),this.Zr.addEventListener("scroll",this.sh)}disconnect(){this.win.removeEventListener("resize",this.nh),this.Zr.removeEventListener("scroll",this.sh)}getBorderTop(){return 1}requiresFixedLayerTransfer(){return!Le(this.win,"ios-fixed-no-transfer")||parseFloat(cs(this.win).getIosVersionString())<12.2}overrideGlobalScrollTo(){return!0}supportsPositionFixed(){return!0}onScroll(t){this.th.add(t)}onResize(t){this.ih.add(t)}updatePaddingTop(t){this.rh=t,Vs(this.Zr,{"padding-top":Cs(t)})}hideViewerHeader(t,i){t||this.updatePaddingTop(0)}showViewerHeader(t,i){t||this.updatePaddingTop(i)}disableScroll(){this.Zr.classList.add("i-amphtml-scroll-disabled")}resetScroll(){this.Zr.classList.remove("i-amphtml-scroll-disabled")}updateLightboxMode(t){return e()}getSize(){return{width:this.win.innerWidth,height:this.win.innerHeight}}getScrollTop(){return this.Zr.scrollTop}getScrollLeft(){return 0}getScrollWidth(){return this.Zr.scrollWidth}getScrollHeight(){return this.Zr.scrollHeight}getContentHeight(){const t=this.win.document.body,{height:i}=t.getBoundingClientRect(),s=Co(this.win,t),e=ks(this.win,t);return parseInt(e.marginTop,10)+this.rh+i+s+parseInt(e.marginBottom,10)}contentHeightChanged(){}getLayoutRect(t,i,s){const e=t.getBoundingClientRect(),n=null!=s?s:this.getScrollTop(),r=null!=i?i:this.getScrollLeft();return Jt(Math.round(e.left+r),Math.round(e.top+n),Math.round(e.width),Math.round(e.height))}getRootClientRectAsync(){return Promise.resolve(null)}setScrollTop(t){this.Zr.scrollTop=t||1}eh(t){0==this.Zr.scrollTop&&(this.Zr.scrollTop=1,t&&t.preventDefault()),t&&this.th.fire()}getScrollingElement(){return this.Zr}getScrollingElementScrollsLikeViewport(){return!1}}(s):new class{constructor(t){this.ampdoc=t,this.win=t.win,this.uh=cs(this.win),this.th=new Is,this.ih=new Is,this.sh=this.lh.bind(this),this.nh=()=>this.ih.fire()}lh(){this.th.fire()}connect(){this.win.addEventListener("scroll",this.sh),this.win.addEventListener("resize",this.nh)}disconnect(){this.win.removeEventListener("scroll",this.sh),this.win.removeEventListener("resize",this.nh)}ensureReadyForElements(){}getBorderTop(){return 0}requiresFixedLayerTransfer(){return!1}overrideGlobalScrollTo(){return!1}supportsPositionFixed(){return!0}onScroll(t){this.th.add(t)}onResize(t){this.ih.add(t)}updatePaddingTop(t){Vs(this.win.document.documentElement,{"padding-top":Cs(t)})}hideViewerHeader(t,i){t||this.updatePaddingTop(0)}showViewerHeader(t,i){t||this.updatePaddingTop(i)}disableScroll(){this.win.document.documentElement.classList.add("i-amphtml-scroll-disabled")}resetScroll(){this.win.document.documentElement.classList.remove("i-amphtml-scroll-disabled")}updateLightboxMode(t){return e()}getSize(){const t=this.win.innerWidth,i=this.win.innerHeight;if(t&&i)return{width:t,height:i};const s=this.win.document.documentElement;return{width:s.clientWidth,height:s.clientHeight}}getScrollTop(){const t=this.getScrollingElement().scrollTop||this.win.pageYOffset,{host:i}=this.ampdoc.getRootNode();return i?t-i.offsetTop:t}getScrollLeft(){return 0}getScrollWidth(){return this.getScrollingElement().scrollWidth}getScrollHeight(){return this.getScrollingElement().scrollHeight}getContentHeight(){const t=this.getScrollingElement(),i=t.getBoundingClientRect(),s=i.top+this.getScrollTop(),e=cs(this.win).isSafari()?Co(this.win,t):0,n=ks(this.win,t);return s+parseInt(n.marginTop,10)+i.height+e+parseInt(n.marginBottom,10)}contentHeightChanged(){}getLayoutRect(t,i,s){const e=t.getBoundingClientRect(),n=null!=s?s:this.getScrollTop(),r=null!=i?i:this.getScrollLeft();return Jt(Math.round(e.left+r),Math.round(e.top+n),Math.round(e.width),Math.round(e.height))}getRootClientRectAsync(){return Promise.resolve(null)}setScrollTop(t){this.getScrollingElement().scrollTop=t}getScrollingElement(){const t=this.win.document;return t.scrollingElement?t.scrollingElement:t.body&&this.uh.isWebKit()?t.body:t.documentElement}getScrollingElementScrollsLikeViewport(){return!0}}(t),new class{constructor(t,i,s){const{win:e}=t;this.ampdoc=t,this.ah=this.ampdoc.win.document,this.zn=i,this.An=s,this.dh=null,this.fh=null,this.ph=null,this.mh=!1,this._h=null,this.rh=Number(s.getParam("paddingTop")||0),this.Ah=0,this.Ze=ps(e),this.jr=gs(e),this.gh=!1,this.Ph=null,this.Eh=0,this.Th=new Is,this.th=new Is,this.ih=new Is,this.Rh=void 0,this.Ih=void 0,this.Mh=null,this.An.onMessage("viewport",this.yh.bind(this)),this.An.onMessage("scroll",this.wh.bind(this)),this.An.onMessage("disableScroll",this.bh.bind(this)),this.An.isEmbedded()&&this.zn.updatePaddingTop(this.rh),this.zn.onScroll(this.Vh.bind(this)),this.zn.onResize(this.Sh.bind(this)),this.onScroll(this.xh.bind(this)),this.Oh=!1,this.ampdoc.onVisibilityChanged(this.Ch.bind(this)),this.Ch();const n=this.ah.documentElement;if(t.isSingleDoc()&&n.classList.add("i-amphtml-singledoc"),s.isEmbedded()?n.classList.add("i-amphtml-embedded"):n.classList.add("i-amphtml-standalone"),qt(e)&&n.classList.add("i-amphtml-iframed"),"1"===s.getParam("webview")&&n.classList.add("i-amphtml-webview"),qt(e)&&"scrollRestoration"in e.history&&(e.history.scrollRestoration="manual"),this.zn.overrideGlobalScrollTo())try{Object.defineProperty(e,"scrollTo",{value:(t,i)=>this.setScrollTop(i)}),["pageYOffset","scrollY"].forEach((t=>{Object.defineProperty(e,t,{get:()=>this.getScrollTop()})}))}catch(t){}cs(e).isIos()&&qt(e)&&this.ampdoc.isSingleDoc()&&this.ampdoc.whenReady().then((()=>{e.scrollTo(-.1,0)}))}dispose(){this.zn.disconnect()}ensureReadyForElements(){this.zn.ensureReadyForElements()}Ch(){const t=this.ampdoc.isVisible();t!=this.Oh&&(this.Oh=t,t?(this.zn.connect(),this.fh&&this.Sh(),this.ph&&(this.ph=null,this.getScrollTop())):this.zn.disconnect())}getPaddingTop(){return this.rh}getScrollTop(){return null==this.ph&&(this.ph=this.zn.getScrollTop()),this.ph}getScrollLeft(){return null==this._h&&(this._h=this.zn.getScrollLeft()),this._h}setScrollTop(t){this.ph=null,this.zn.setScrollTop(t)}updatePaddingBottom(t){this.ampdoc.waitForBodyOpen().then((i=>{Ss(i,"borderBottom",`${t}px solid transparent`)}))}getSize(){if(this.fh)return this.fh;if(this.fh=this.zn.getSize(),0==this.fh.width||0==this.fh.height){const t=this.ampdoc.getVisibilityState();t!=Ts.PRERENDER&&t!=Ts.VISIBLE||Math.random()<.01&&Rt().error("Viewport","viewport has zero dimensions")}return this.fh}getHeight(){return this.getSize().height}getWidth(){return this.getSize().width}getScrollWidth(){return this.zn.getScrollWidth()}getScrollHeight(){return this.zn.getScrollHeight()}getContentHeight(){return this.zn.getContentHeight()}contentHeightChanged(){this.zn.contentHeightChanged()}getRect(){if(null==this.dh){const t=this.getScrollTop(),i=this.getScrollLeft(),s=this.getSize();this.dh=Jt(i,t,s.width,s.height)}return this.dh}getLayoutRect(t){const i=this.getScrollLeft(),s=this.getScrollTop(),e=Di(t,this.ampdoc.win);if(e){const n=this.zn.getLayoutRect(t,0,0),r=this.zn.getLayoutRect(e,i,s);return Jt(Math.round(n.left+r.left),Math.round(n.top+r.top),Math.round(n.width),Math.round(n.height))}return this.zn.getLayoutRect(t,i,s)}getClientRectAsync(t){const i=this.jr.measurePromise((()=>t.getBoundingClientRect()));let s=this.zn.getRootClientRectAsync();const e=Di(t,this.ampdoc.win);return e&&(s=this.jr.measurePromise((()=>e.getBoundingClientRect()))),Promise.all([i,s]).then((t=>{const i=t[0],s=t[1];return s?Zt(i,s.left,s.top):(e=i,Jt(Number(e.left),Number(e.top),Number(e.width),Number(e.height)));var e}))}supportsPositionFixed(){return this.zn.supportsPositionFixed()}isDeclaredFixed(t){return!!this.Mh&&this.Mh.isDeclaredFixed(t)}scrollIntoView(t){return this.kh(t).then((i=>this.Nh(t,i)))}Nh(t,i){const s=this.zn.getLayoutRect(t).top,e=No(this.ampdoc.win,i);r((()=>Math.max(0,s-this.rh-e))).then((t=>this.Dh(i,t)))}animateScrollIntoView(t,i="top",s,e){return yt(!e||void 0!==s),this.kh(t).then((n=>this.animateScrollWithinParent(t,n,i,s,e)))}animateScrollWithinParent(t,i,s,e,n){yt(!n||void 0!==e);const r=this.zn.getLayoutRect(t),{height:h}=this.Lh(i)?this.getSize():this.getLayoutRect(i),{win:o}=this.ampdoc,u=No(o,i),l=function(t,i){return ko(t,i,"scrollPaddingBottom")}(o,i);let c=-u;return"bottom"===s?c=-h+l+r.height:"center"===s&&(c=-(h-u-l)/2+r.height/2),this.Uh(i).then((t=>{const s=r.top-this.rh+c,h=Math.max(0,s);if(h!=t)return this.$h(i,t,h,e,n)}))}$h(t,i,s,e,n="ease-in"){const r=void 0!==e?e:function(t,i,s=500){return Math.floor(function(t,i,s){return D(0<=s),Math.min(Math.max(t,0),s)}(.65*Math.abs(t-i),0,s))}(i,s),h=(o=i,u=s,t=>o+(u-o)*t);var o,u;return xo.animate(t,(i=>{this.Dh(t,h(i))}),r,n).thenAlways((()=>{this.Dh(t,s)}))}kh(t){return this.jr.measurePromise((()=>Ct(t,".i-amphtml-scrollable")||this.zn.getScrollingElement()))}Dh(t,i){this.Lh(t)?this.zn.setScrollTop(i):this.jr.mutate((()=>{t.scrollTop=i}))}Uh(t){return this.Lh(t)?r((()=>this.getScrollTop())):this.jr.measurePromise((()=>t.scrollTop))}Lh(t){return t==this.zn.getScrollingElement()}getScrollingElement(){return this.Ph?this.Ph:this.Ph=this.zn.getScrollingElement()}onChanged(t){return this.Th.add(t)}onScroll(t){return this.th.add(t)}onResize(t){return this.ih.add(t)}enterLightboxMode(t,i){return this.An.sendMessage("requestFullOverlay",{},!0),this.enterOverlayMode(),this.Mh&&this.Mh.enterLightbox(t,i),t&&this.maybeEnterFieLightboxMode(t),this.zn.updateLightboxMode(!0)}leaveLightboxMode(t){return this.An.sendMessage("cancelFullOverlay",{},!0),this.Mh&&this.Mh.leaveLightbox(),this.leaveOverlayMode(),t&&this.maybeLeaveFieLightboxMode(t),this.zn.updateLightboxMode(!1)}isLightboxExperimentOn(){return Le(this.ampdoc.win,"amp-lightbox-a4a-proto")}maybeEnterFieLightboxMode(t){const i=this.Fh(t);i&&(yt(this.isLightboxExperimentOn()),i.enterFullOverlayMode())}maybeLeaveFieLightboxMode(t){const i=this.Fh(t);i&&yt(i).leaveFullOverlayMode()}Fh(t){const i=Di(t,this.ampdoc.win);return i&&i.__AMP_EMBED__}enterOverlayMode(){this.disableTouchZoom(),this.disableScroll()}leaveOverlayMode(){this.resetScroll(),this.restoreOriginalTouchZoom()}disableScroll(){const{win:t}=this.ampdoc,{documentElement:i}=t.document;let s;this.jr.measure((()=>{const e=ks(t,i).marginRight,n=function(t){const{documentElement:i}=t.document;return t.innerWidth-i.clientWidth}(this.ampdoc.win);s=parseInt(e,10)+n})),this.jr.mutate((()=>{Ss(i,"margin-right",s,"px"),this.zn.disableScroll()}))}resetScroll(){const{win:t}=this.ampdoc,{documentElement:i}=t.document;this.jr.mutate((()=>{Ss(i,"margin-right",""),this.zn.resetScroll()}))}resetTouchZoom(){const t=this.ampdoc.win.innerHeight,i=this.ah.documentElement.clientHeight;t&&i&&t===i||this.disableTouchZoom()&&this.Ze.delay((()=>{this.restoreOriginalTouchZoom()}),50)}disableTouchZoom(){const t=this.Bh();if(!t)return!1;const i=function(t,i){const s=function(t){const i=Object.create(null);if(!t)return i;const s=t.split(/,|;/);for(let t=0;t0&&(i+=","),t[s]?i+=s+"="+t[s]:i+=s;return i}(s):t}(t.content,{"maximum-scale":"1","user-scalable":"no"});return this.Hh(i)}restoreOriginalTouchZoom(){return void 0!==this.Ih&&this.Hh(this.Ih)}updateFixedLayer(){return this.Mh?this.Mh.update():e()}addToFixedLayer(t,i){return this.Mh?this.Mh.addElement(t,i):e()}removeFromFixedLayer(t){this.Mh&&this.Mh.removeElement(t)}createFixedLayer(t){this.Mh=new t(this.ampdoc,this.jr,this.zn.getBorderTop(),this.rh,this.zn.requiresFixedLayerTransfer()),this.ampdoc.whenReady().then((()=>this.Mh.setup()))}Hh(t){const i=this.Bh();return!(!i||i.content==t||(i.content=t,0))}Bh(){return qt(this.ampdoc.win)?null:(void 0===this.Rh&&(this.Rh=this.ah.querySelector("meta[name=viewport]"),this.Rh&&(this.Ih=this.Rh.content)),this.Rh)}wh(t){const i=t.scrollTop;this.setScrollTop(i)}yh(t){const i=t.paddingTop,s=t.duration||0,e=t.curve,n=t.transient;if(null!=i&&i!=this.rh&&(this.Ah=this.rh,this.rh=i,this.Mh)){const t=this.Mh.animateFixedElements(this.rh,this.Ah,s,e,n);i{this.zn.showViewerHeader(n,i)}))}}bh(t){t?this.disableScroll():this.resetScroll()}jh(t,i){const s=this.getSize(),e=this.getScrollTop(),n=this.getScrollLeft();this.Th.fire({relayoutAll:t,top:e,left:n,width:s.width,height:s.height,velocity:i})}Vh(){this.dh=null,this.Eh++,this._h=this.zn.getScrollLeft();const t=this.zn.getScrollTop();if(!(t<0)){if(this.ph=t,!this.gh){this.gh=!0;const i=Date.now();this.Ze.delay((()=>{this.jr.measure((()=>{this.zh(i,t)}))}),36)}this.th.fire()}}zh(t,i){this.ph=this.zn.getScrollTop();const s=this.ph,e=Date.now();let n=0;e!=t&&(n=(s-i)/(e-t)),Math.abs(n)<.03?(this.jh(!1,n),this.gh=!1):this.Ze.delay((()=>this.jr.measure(this.zh.bind(this,e,s))),20)}xh(){this.mh||(this.mh=!0,this.jr.measure((()=>{this.mh=!1,this.An.sendMessage("scroll",{"scrollTop":this.getScrollTop()},!0)})))}Sh(){this.dh=null;const t=this.fh;this.fh=null;const i=this.getSize();this.updateFixedLayer().then((()=>{const s=!t||t.width!=i.width;this.jh(s,0),(s||t.height!=i.height)&&this.ih.fire({relayoutAll:s,width:i.width,height:i.height})}))}}(t,n,i)}var Lo={NATURAL:"natural",NATURAL_IOS_EMBED:"natural-ios-embed"};function Uo(t,i){yt(t);try{void 0!==t(i)&&Rt().error("VSYNC","callback returned a value but vsync cannot propogate it: %s",t.toString())}catch(t){return l(t),!1}return!0}function $o(t){if(t.defaultPrevented)return;const i=t.target;if(!i||"FORM"!=i.tagName)return;let s;s=i.classList.contains("i-amphtml-form")?!i.hasAttribute("amp-novalidate"):!i.hasAttribute("novalidate"),s&&i.checkValidity&&!i.checkValidity()&&t.preventDefault();const e=i.elements;for(let t=0;t"],Bo=18e4,Ho=null;function jo(t){var i;(function(t){wi(t,"crypto",class{constructor(t){this.i=t;let i=null,s=!1;t.crypto&&(t.crypto.subtle?i=t.crypto.subtle:t.crypto.webkitSubtle&&(i=t.crypto.webkitSubtle,s=!0)),this.pkcsAlgo={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},this.subtle=i,this.Gh=s,this.qh=null}sha384(t){if("string"==typeof t&&(t=H(t)),!this.subtle||this.qh)return(this.qh||this.Wh()).then((i=>i(t)));try{return this.subtle.digest({name:"SHA-384"},t).then((t=>new Uint8Array(t)),(i=>(i.message&&i.message.indexOf("secure origin")<0&&It().error(xh,"SubtleCrypto failed, fallback to closure lib.",i),this.Wh().then((()=>this.sha384(t))))))}catch(i){return Rt().error(xh,"SubtleCrypto failed, fallback to closure lib.",i),this.Wh().then((()=>this.sha384(t)))}}sha384Base64(t){return this.sha384(t).then((t=>nh(t)))}uniform(t){return this.sha384(t).then((t=>{let i=0;for(let s=2;s>=0;s--)i=(i+t[s])/256;return i}))}Wh(){return this.qh?this.qh:this.qh=hs(this.i).preloadExtension("amp-crypto-polyfill").then((()=>Si(this.i,"crypto-polyfill")))}isPkcsAvailable(){return Boolean(this.subtle)&&!1!==this.i.isSecureContext}importPkcsKey(t){yt(this.isPkcsAvailable());const i=this.Gh?(s=JSON.stringify(t),"undefined"!=typeof TextEncoder?(new TextEncoder).encode(s):H(unescape(encodeURIComponent(s)))):t;var s;return this.subtle.importKey("jwk",i,this.pkcsAlgo,!0,["verify"])}verifyPkcs(t,i,s){return yt(this.isPkcsAvailable()),this.subtle.verify(this.pkcsAlgo,t,i,s)}})})(t),wi(t,"batched-xhr",sh),Zh(t),co(t),co(i=t),wi(i,"vsync",class{constructor(t){this.win=t,this.Jh=is(this.win),this.Qh=this.Xh(),this.gs=[],this.Zh=[],this.io=[],this.so=[],this.en=!1,this.eo=null,this.no=null,this.ro=this.ho.bind(this),this.oo=new yr(this.win,this.ro,16),this.uo=new yr(this.win,this.ro,40),this.lo=this.co.bind(this),this.Jh.isSingleDoc()?this.Jh.getSingleDoc().onVisibilityChanged(this.lo):Ds(this.win.document,this.lo)}dispose(){Ls(this.win.document,this.lo)}co(){this.en&&this.ao()}run(t,i){this.gs.push(t),this.io.push(i||void 0),this.Is()}runPromise(t,i){if(this.run(t,i),this.eo)return this.eo;const s=new n;return this.no=s.resolve,this.eo=s.promise}createTask(t){return i=>{this.run(t,i)}}mutate(t){this.run({measure:void 0,mutate:t})}mutatePromise(t){return this.runPromise({measure:void 0,mutate:t})}measure(t){this.run({measure:t,mutate:void 0})}measurePromise(t){return new Promise((i=>{this.measure((()=>{i(t())}))}))}canAnimate(t){return this.do(yt(t))}do(t){if(Ns(this.win.document)!=Ts.VISIBLE)return!1;if(this.Jh.isSingleDoc())return this.Jh.getSingleDoc().isVisible();if(t){const i=this.Jh.getAmpDocIfAvailable(t);return!i||i.isVisible()}return!0}runAnim(t,i,s){return!!this.do(t)&&(this.run(i,s),!0)}createAnimTask(t,i){return s=>this.runAnim(t,i,s)}runAnimMutateSeries(t,i,s){return this.do(t)?new Promise(((e,n)=>{const r=Date.now();let h=0;const o=this.createAnimTask(t,{mutate:t=>{const u=Date.now()-r;i(u,u-h,t)?s&&u>s?n(new Error("timeout")):(h=u,o(t)):e()}});o({})})):Promise.reject(Sn())}Is(){this.en||(this.en=!0,this.ao())}ao(){this.do()?(this.Qh(this.ro),this.uo.schedule()):this.oo.schedule()}ho(){this.uo.cancel(),this.en=!1;const{no:t,io:i,gs:s}=this;this.no=null,this.eo=null,this.gs=this.Zh,this.io=this.so;for(let t=0;t{const s=Date.now(),e=Math.max(0,16-(s-i));i=s+e,this.win.setTimeout(t,e)}}}),function(t){wi(t,"xhr",ih)}(t),function(t){wi(t,"input",class{constructor(t){this.win=t,this.fo=this.po.bind(this),this.mo=this._o.bind(this),this.Ao=null,this.Po=null,this.vo=null,this.Eo="ontouchstart"in t||void 0!==t.navigator.maxTouchPoints&&t.navigator.maxTouchPoints>0||void 0!==t.DocumentTouch,this.To=!1,this.win.document.addEventListener("keydown",this.fo),this.win.document.addEventListener("mousedown",this.mo),this.Ro=!0,this.Io=0,this.Mo=new Is,this.yo=new Is,this.wo=new Is,this.Eo&&(this.Ro=!this.Eo,this.Ao=this.bo.bind(this),qe(t.document,"mousemove",this.Ao))}setupInputModeClasses(t){this.onTouchDetected((i=>{this.Vo(t,"amp-mode-touch",i)}),!0),this.onMouseDetected((i=>{this.Vo(t,"amp-mode-mouse",i)}),!0),this.onKeyboardStateChanged((i=>{this.Vo(t,"amp-mode-keyboard-active",i)}),!0)}isTouchDetected(){return this.Eo}onTouchDetected(t,i){return i&&t(this.isTouchDetected()),this.Mo.add(t)}isMouseDetected(){return this.Ro}onMouseDetected(t,i){return i&&t(this.isMouseDetected()),this.yo.add(t)}isKeyboardActive(){return this.To}onKeyboardStateChanged(t,i){return i&&t(this.isKeyboardActive()),this.wo.add(t)}Vo(t,i,s){t.waitForBodyOpen().then((t=>{gs(this.win).mutate((()=>{t.classList.toggle(i,s)}))}))}po(t){if(this.To)return;if(t.defaultPrevented)return;const{target:i}=t;i&&("INPUT"==i.tagName||"TEXTAREA"==i.tagName||"SELECT"==i.tagName||"OPTION"==i.tagName||i.hasAttribute("contenteditable"))||(this.To=!0,this.wo.fire(!0))}_o(){this.To&&(this.To=!1,this.wo.fire(!1))}bo(t){if(t.sourceCapabilities&&t.sourceCapabilities.firesTouchEvents)return void this.So();let i;this.vo||(this.vo=this.xo.bind(this),this.Po=this.So.bind(this));const s=function(t,i,s,e){let n;const r=new Promise((i=>{n=qe(t,"click",i,void 0)}));return r.then(n,n),e&&e(n),r}(this.win.document,0,0,(t=>{i=t}));return ps(this.win).timeoutPromise(300,s).then(this.Po,(()=>{i&&i(),this.vo()}))}xo(){this.Ro=!0,this.yo.fire(!0)}So(){this.Io++,this.Io<=3&&qe(this.win.document,"mousemove",this.Ao)}})}(t),function(t){wi(t,"preconnect",class{constructor(t){this.Oo=t.document,this.Co=t.document.head,this.ko={},this.No={},this.uh=cs(t),this.ko[on(t.location.href).origin]=!0,this.Do=function(t){if(!Ho){const i=t.document.createElement("link"),s=i.relList;if(i.as="invalid-value",!s||!s.supports)return{};Ho={preconnect:s.supports("preconnect"),preload:s.supports("preload"),onlyValidAs:"invalid-value"!=i.as}}return Ho}(t),this.Ze=ps(t)}url(t,i,s){t.whenFirstVisible().then((()=>{this.mi(t,i,s)}))}mi(t,i,s){if(!this.Lo(i))return;const{origin:e}=on(i),n=Date.now(),r=this.ko[e];if(r&&n{o&&o.parentNode&&o.parentNode.removeChild(o),u.parentNode&&u.parentNode.removeChild(u)}),1e4),this.Uo(t,e)}preload(t,i,s){this.Lo(i)&&(this.No[i]||(this.No[i]=!0,this.url(t,i,!0),this.Do.preload&&("document"==s&&this.uh.isSafari()||t.whenFirstVisible().then((()=>{this.$o(i)})))))}$o(t){const i=Ve(this.Oo)(Fo);i.setAttribute("href",t),this.Do.onlyValidAs?i.as="fetch":i.as="",this.Co.appendChild(i)}Lo(t){return!(!t.startsWith("https:")&&!t.startsWith("http:"))}Uo(t,i){if(this.Do.preconnect||!this.uh.isSafari()&&!this.uh.isIos())return;const s=Date.now();this.ko[i]=s+Bo;const e=i+"/robots.txt?_AMP_safari_preconnect_polyfill_cachebust="+(s-s%Bo),n=new XMLHttpRequest;n.open("HEAD",e,!0),n.withCredentials=!0,n.send()}})}(t)}function zo(t){yt(!t.getParent()),function(t,i){(function(t){Vi(t,"url",class{constructor(t){const i=t.getRootNode(),s=i.ownerDocument||i;this.Fo=s.createElement("a"),this.Bo=null}parse(t,i){return un(this.Fo,t)}Ho(t){return"string"!=typeof t?t:this.parse(t)}isProtocolValid(t){return An(t)}getSourceOrigin(t){return En(this.Ho(t))}getSourceUrl(t){return vn(this.Ho(t))}resolveRelativeUrl(t,i){return Tn(t,this.Ho(i))}assertHttpsUrl(t,i,s="source"){return pn(t,i,s)}assertAbsoluteHttpOrHttpsUrl(t){return function(t){return bt(/^https?\:/i.test(t),'URL must start with "http://" or "https://". Invalid value: %s',t),on(t).href}(t)}isProxyOrigin(t){return _n(this.Ho(t))}isSecure(t){return fn(this.Ho(t))}getWinOrigin(t){return t.origin||this.Ho(t.location.href).origin}getCdnUrlOnOrigin(t){if(_n(t))return t;const{hash:i,host:s,pathname:e,search:n}=this.Ho(t),r=encodeURIComponent(s);return`${et}/c/${r}${e}${n}${i}`}},!0)})(t),function(t){Vi(t,"templates",class{constructor(t){this.zi=t,this.jo={},this.zo={}}whenReady(t){return this.Go(t).then(lo)}setHtmlForTemplate(t,i){return this.Go(t).then((t=>this.qo(t,i)))}renderTemplate(t,i){return this.Go(t).then((t=>this.Wo(t,i)))}renderTemplateAsString(t,i){return this.Go(t).then((t=>t.renderAsString(i)))}getTemplateRenderer(t){return this.Go(t).then((t=>({renderAsString:i=>t.renderAsString(i)})))}renderTemplateArray(t,i){return 0==i.length?Promise.resolve([]):this.Go(t).then((t=>i.map((i=>this.Wo(t,i)))))}findAndRenderTemplate(t,i,s){return this.renderTemplate(this.findTemplate(t,s),i)}findAndSetHtmlForTemplate(t,i,s){return this.setHtmlForTemplate(this.findTemplate(t,s),i)}findAndRenderTemplateArray(t,i,s){return this.renderTemplateArray(this.findTemplate(t,s),i)}hasTemplate(t,i){return!!this.maybeFindTemplate(t,i)}findTemplate(t,i){const s=this.maybeFindTemplate(t,i);bt(s,"Template not found for %s",t);const e=s.tagName;return bt("TEMPLATE"==e||"SCRIPT"==e&&"text/plain"===s.getAttribute("type"),'Template must be defined in a