1(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`1328b89a-36be-440b-9014-66ef1c68d1cc`,e._sentryDebugIdIdentifier=`sentry-dbid-1328b89a-36be-440b-9014-66ef1c68d1cc`)}catch{}})();import{a as e,n as t,o as n,t as r}from"./jYEVFyhM.js";var i=`AT.BE.BG.HR.CY.CZ.DK.EE.FI.FR.DE.GR.HU.IE.IT.LV.LT.LU.MT.NL.PL.PT.RO.SK.SI.ES.SE.IS.LI.NO.GB`.split(`.`);new Set(i);var a=[`BR`,`CH`,`CA`];[...i,...a];var o=e=>e===`opt_in`||e===`us_opt_out`||e===`us_basic`||e===`row`,s={row:0,us_basic:0,us_opt_out:1,opt_in:2},c=(e,t)=>e!=null&&s[t]>s[e],l=globalThis,u=l.ShadowRoot&&(l.ShadyCSS===void 0||l.ShadyCSS.nativeShadow)&&`adoptedStyleSheets`in Document.prototype&&`replace`in CSSStyleSheet.prototype,d=Symbol(),f=new WeakMap,ee=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==d)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if(u&&e===void 0){let n=t!==void 0&&t.length===1;n&&(e=f.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&f.set(t,e))}return e}toString(){return this.cssText}},te=e=>new ee(typeof e==`string`?e:e+``,void 0,d),ne=(e,...t)=>new ee(e.length===1?e[0]:t.reduce((t,n,r)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if(typeof e==`number`)return e;throw Error(`Value passed to 'css' function must be a 'css' function result: `+e+`. Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.`)})(n)+e[r+1],e[0]),e,d),re=(e,t)=>{if(u)e.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let n of t){let t=document.createElement(`style`),r=l.litNonce;r!==void 0&&t.setAttribute(`nonce`,r),t.textContent=n.cssText,e.appendChild(t)}},ie=u?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t=``;for(let n of e.cssRules)t+=n.cssText;return te(t)})(e):e,{is:ae,defineProperty:oe,getOwnPropertyDescriptor:se,getOwnPropertyNames:ce,getOwnPropertySymbols:le,getPrototypeOf:ue}=Object,p=globalThis,m=p.trustedTypes,de=m?m.emptyScript:``,fe=p.reactiveElementPolyfillSupport,h=(e,t)=>e,g={toAttribute(e,t){switch(t){case Boolean:e=e?de:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=e!==null;break;case Number:n=e===null?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch{n=null}}return n}},pe=(e,t)=>!ae(e,t),me={attribute:!0,type:String,converter:g,reflect:!1,useDefault:!1,hasChanged:pe};Symbol.metadata??=Symbol(`metadata`),p.litPropertyMetadata??=new WeakMap;var _=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=me){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){let n=Symbol(),r=this.getPropertyDescriptor(e,n,t);r!==void 0&&oe(this.prototype,e,r)}}static getPropertyDescriptor(e,t,n){let{get:r,set:i}=se(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:r,set(t){let a=r?.call(this);i?.call(this,t),this.requestUpdate(e,a,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??me}static _$Ei(){if(this.hasOwnProperty(h(`elementProperties`)))return;let e=ue(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(h(`finalized`)))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(h(`properties`))){let e=this.properties,t=[...ce(e),...le(e)];for(let n of t)this.createProperty(n,e[n])}let e=this[Symbol.metadata];if(e!==null){let t=litPropertyMetadata.get(e);if(t!==void 0)for(let[e,n]of t)this.elementProperties.set(e,n)}this._$Eh=new Map;for(let[e,t]of this.elementProperties){let n=this._$Eu(e,t);n!==void 0&&this._$Eh.set(n,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e)){let n=new Set(e.flat(1/0).reverse());for(let e of n)t.unshift(ie(e))}else e!==void 0&&t.push(ie(e));return t}static _$Eu(e,t){let n=t.attribute;return!1===n?void 0:typeof n==`string`?n:typeof e==`string`?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e
vendor: 9,357 bytes, lines 1-2
1=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,t=this.constructor.elementProperties;for(let n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return re(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$ET(e,t){let n=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,n);if(r!==void 0&&!0===n.reflect){let i=(n.converter?.toAttribute===void 0?g:n.converter).toAttribute(t,n.type);this._$Em=e,i==null?this.removeAttribute(r):this.setAttribute(r,i),this._$Em=null}}_$AK(e,t){let n=this.constructor,r=n._$Eh.get(e);if(r!==void 0&&this._$Em!==r){let e=n.getPropertyOptions(r),i=typeof e.converter==`function`?{fromAttribute:e.converter}:e.converter?.fromAttribute===void 0?g:e.converter;this._$Em=r;let a=i.fromAttribute(t,e.type);this[r]=a??this._$Ej?.get(r)??a,this._$Em=null}}requestUpdate(e,t,n,r=!1,i){if(e!==void 0){let a=this.constructor;if(!1===r&&(i=this[e]),n??=a.getPropertyOptions(e),!((n.hasChanged??pe)(i,t)||n.useDefault&&n.reflect&&i===this._$Ej?.get(e)&&!this.hasAttribute(a._$Eu(e,n))))return;this.C(e,t,n)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:n,reflect:r,wrapped:i},a){n&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,a??t??this[e]),!0!==i||a!==void 0)||(this._$AL.has(e)||(this.hasUpdated||n||(t=void 0),this._$AL.set(e,t)),!0===r&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}let e=this.constructor.elementProperties;if(e.size>0)for(let[t,n]of e){let{wrapped:e}=n,r=this[t];!0!==e||this._$AL.has(t)||r===void 0||this.C(t,void 0,n,r)}}let e=!1,t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(e=>e.hostUpdate?.()),this.update(t)):this._$EM()}catch(t){throw e=!1,this._$EM(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}};_.elementStyles=[],_.shadowRootOptions={mode:`open`},_[h(`elementProperties`)]=new Map,_[h(`finalized`)]=new Map,fe?.({ReactiveElement:_}),(p.reactiveElementVersions??=[]).push(`2.1.2`);var v=globalThis,he=e=>e,y=v.trustedTypes,b=y?y.createPolicy(`lit-html`,{createHTML:e=>e}):void 0,ge=`$lit$`,x=`lit$${Math.random().toFixed(9).slice(2)}$`,_e=`?`+x,ve=`<${_e}>`,S=document,C=()=>S.createComment(``),w=e=>e===null||typeof e!=`object`&&typeof e!=`function`,T=Array.isArray,ye=e=>T(e)||typeof e?.[Symbol.iterator]==`function`,E=`[ 2\f\r]`,D=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,O=/-->/g,k=/>/g,A=RegExp(`>|${E}(?:([^\\s"'>=/]+)(${E}*=${E}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,`g`),j=/'/g,M=/"/g,N=/^(?:script|style|textarea|title)$/i,P=(e=>(t,...n)=>({_$litType$:e,strings:t,values:n}))(1),F=Symbol.for(`lit-noChange`),I=Symbol.for(`lit-nothing`),L=new WeakMap,R=S.createTreeWalker(S,129);function be(e,t){if(!T(e)||!e.hasOwnProperty(`raw`))throw Error(`invalid template strings array`);return b===void 0?t:b.createHTML(t)}var xe=(e,t)=>{let n=e.length-1,r=[],i,a=t===2?`<svg>`:t===3?`<math>`:``,o=D;for(let t=0;t<n;t++){let n=e[t],s,c,l=-1,u=0;for(;u<n.length&&(o.lastIndex=u,c=o.exec(n),c!==null);)u=o.lastIndex,o===D?c[1]===`!--`?o=O:c[1]===void 0?c[2]===void 0?c[3]!==void 0&&(o=A):(N.test(c[2])&&(i=RegExp(`</`+c[2],`g`)),o=A):o=k:o===A?c[0]===`>`?(o=i??D,l=-1):c[1]===void 0?l=-2:(l=o.lastIndex-c[2].length,s=c[1],o=c[3]===void 0?A:c[3]===`"`?M:j):o===M||o===j?o=A:o===O||o===k?o=D:(o=A,i=void 0);let d=o===A&&e[t+1].startsWith(`/>`)?` `:``;a+=o===D?n+ve:l>=0?(r.push(s),n.slice(0,l)+ge+n.slice(l)+x+d):n+x+(l===-2?t:d)}return[be(e,a+(e[n]||`<?>`)+(t===2?`</svg>`:t===3?`</math>`:``)),r]},z=class e{constructor({strings:t,_$litType$:n},r){let i;this.parts=[];let a=0,o=0,s=t.length-1,c=this.parts,[l,u]=xe(t,n);if(this.el=e.createElement(l,r),R.currentNode=this.el.content,n===2||n===3){let e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;(i=R.nextNode())!==null&&c.length<s;){if(i.nodeType===1){if(i.hasAttributes())for(let e of i.getAttributeNames())if(e.endsWith(ge)){let t=u[o++],n=i.getAttribute(e).split(x),r=/([.?@])?(.*)/.exec(t);c.push({type:1,index:a,name:r[2],strings:n,ctor:r[1]===`.`?Ce:r[1]===`?`?we:r[1]===`@`?Te:H}),i.removeAttribute(e)}else e.startsWith(x)&&(c.push({type:6,index:a}),i.removeAttribute(e));if(N.test(i.tagName)){let e=i.textContent.split(x),t=e.length-1;if(t>0){i.textContent=y?y.emptyScript:``;for(let n=0;n<t;n++)i.append(e[n],C()),R.nextNode(),c.push({type:2,index:++a});i.append(e[t],C())}}}else if(i.nodeType===8)if(i.data===_e)c.push({type:2,index:a});else{let e=-1;for(;(e=i.data.indexOf(x,e+1))!==-1;)c.push({type:7,index:a}),e+=x.length-1}a++}}static createElement(e,t){let n=S.createElement(`template`);return n.innerHTML=e,n}};function B(e,t,n=e,r){if(t===F)return t;let i=r===void 0?n._$Cl:n._$Co?.[r],a=w(t)?void 0:t._$litDirective$;return i?.constructor!==a&&(i?._$AO?.(!1),a===void 0?i=void 0:(i=new a(e),i._$AT(e,n,r)),r===void 0?n._$Cl=i:(n._$Co??=[])[r]=i),i!==void 0&&(t=B(e,i._$AS(e,t.values),i,r)),t}var Se=class{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:t},parts:n}=this._$AD,r=(e?.creationScope??S).importNode(t,!0);R.currentNode=r;let i=R.nextNode(),a=0,o=0,s=n[0];for(;s!==void 0;){if(a===s.index){let t;s.type===2?t=new V(i,i.nextSibling,this,e):s.type===1?t=new s.ctor(i,s.name,s.strings,this,e):s.type===6&&(t=new Ee(i,this,e)),this._$AV.push(t),s=n[++o]}a!==s?.index&&(i=R.nextNode(),a++)}return R.currentNode=S,r}p(e){let t=0;for(let n of this._$AV)n!==void 0&&(n.strings===void 0?n._$AI(e[t]):(n._$AI(e,n,t),t+=n.strings.length-2)),t++}},V=class e{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,n,r){this.type=2,this._$AH=I,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=n,this.options=r,this._$Cv=r?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode,t=this._$AM;return t!==void 0&&e?.nodeType===11&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=B(this,e,t),w(e)?e===I||e==null||e===``?(this._$AH!==I&&this._$AR(),this._$AH=I):e!==this._$AH&&e!==F&&this._(e):e._$litType$===void 0?e.nodeType===void 0?ye(e)?this.k(e):this._(e):this.T(e):this.$(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==I&&w(this._$AH)?this._$AA.nextSibling.data=e:this.T(S.createTextNode(e)),this._$AH=e}$(e){let{values:t,_$litType$:n}=e,r=typeof n==`number`?this._$AC(e):(n.el===void 0&&(n.el=z.createElement(be(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===r)this._$AH.p(t);else{let e=new Se(r,this),n=e.u(this.options);e.p(t),this.T(n),this._$AH=e}}_$AC(e){let t=L.get(e.strings);return t===void 0&&L.set(e.strings,t=new z(e)),t}k(t){T(this._$AH)||(this._$AH=[],this._$AR());let n=this._$AH,r,i=0;for(let a of t)i===n.length?n.push(r=new e(this.O(C()),this.O(C()),this,this.options)):r=n[i],r._$AI(a),i++;i<n.length&&(this._$AR(r&&r._$AB.nextSibling,i),n.length=i)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e!==this._$AB;){let t=he(e).nextSibling;he(e).remove(),e=t}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}},H=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,n,r,i){this.type=1,this._$AH=I,this._$AN=void 0,this.element=e,this.name=t,this._$AM=r,this.options=i,n.length>2||n[0]!==``||n[1]!==``?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=I}_$AI(e,t=this,n,r){let i=this.strings,a=!1;if(i===void 0)e=B(this,e,t,0),a=!w(e)||e!==this._$AH&&e!==F,a&&(this._$AH=e);else{let r=e,o,s;for(e=i[0],o=0;o<i.length-1;o++)s=B(this,r[n+o],t,o),s===F&&(s=this._$AH[o]),a||=!w(s)||s!==this._$AH[o],s===I?e=I:e!==I&&(e+=(s??``)+i[o+1]),this._$AH[o]=s}a&&!r&&this.j(e)}j(e){e===I?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??``)}},Ce=class extends H{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===I?void 0:e}},we=class extends H{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==I)}},Te=class extends H{constructor(e,t,n,r,i){super(e,t,n,r,i),this.type=5}
2_$AI(e,t=this){if((e=B(this,e,t,0)??I)===F)return;let n=this._$AH,r=e===I&&n!==I||e.capture!==n.capture||e.once!==n.once||e.passive!==n.passive,i=e!==I&&(n===I||r);r&&this.element.removeEventListener(this.name,this,n),i&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH==`function`?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}},Ee=class{constructor(e,t,n){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(e){B(this,e)}},De=v.litHtmlPolyfillSupport;De?.(z,V),(v.litHtmlVersions??=[]).push(`3.3.3`);var Oe=(e,t,n)=>{let r=n?.renderBefore??t,i=r._$litPart$;if(i===void 0){let e=n?.renderBefore??null;r._$litPart$=i=new V(t.insertBefore(C(),e),e,void 0,n??{})}return i._$AI(e),i},U=globalThis,W=class extends _{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Oe(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return F}};W._$litElement$=!0,W.finalized=!0,U.litElementHydrateSupport?.({LitElement:W});var ke=U.litElementPolyfillSupport;ke?.({LitElement:W}),(U.litElementVersions??=[]).push(`4.2.2`);var Ae=new Map,je=e=>{try{let t=Ae.get(e);return t||(t=new BroadcastChannel(`persist-store-${e}`),Ae.set(e,t)),t}catch{return null}},G=(e,t)=>{try{localStorage.setItem(e,JSON.stringify(t))}catch{}try{je(e)?.postMessage(t)}catch{}},K=e=>G(`consent`,e),q=e=>G(`do-not-sell`,e),J=e=>G(`consent-regime`,e),Y=e=>{let t=window,n=e.analytics?`granted`:`denied`,r=e.advertising&&!e.doNotSell?`granted`:`denied`;t.gtag?.(`consent`,`update`,{analytics_storage:n,ad_storage:r,ad_user_data:r,ad_personalization:r}),e.analytics&&(t.dataLayer??=[]).push({event:`consent_granted`})},X=`temporal:consentchange`,Z=e=>{window.dispatchEvent(new CustomEvent(X,{detail:e}))},Q=`temporal:consent-banner-open`,$=e=>{try{let t=localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}},Me=e=>{try{return sessionStorage.getItem(e)}catch{return null}},Ne=(e,t)=>{try{sessionStorage.setItem(e,t)}catch{}},Pe=class extends W{static{this.properties={_mounted:{state:!0},_showPreferences:{state:!0},_regime:{state:!0},_geoResolved:{state:!0},_visible:{state:!0},_analytics:{state:!0},_advertising:{state:!0},_doNotSell:{state:!0},_consent:{state:!0},policyUrl:{type:String,attribute:`policy-url`},geoEndpoint:{type:String,attribute:`geo-endpoint`}}}constructor(){super(),this._mounted=!1,this._showPreferences=!1,this._geoResolved=!1,this._visible=!1,this._analytics=!1,this._advertising=!1,this._doNotSell=!1,this._regime=`opt_in`,this._consent=t(),this.policyUrl=`https://temporal.io/temporal-cookie-policy`,this.geoEndpoint=`https://consent.temporal.io/api/geo`,this._committedDoNotSell=!1,this._regimeKnown=!1,this._regimeRequested=!1,this._initialized=!1,this.GEO_FETCH_TIMEOUT_MS=3e3,this.GEO_RECONCILED_KEY=`consent-geo-reconciled`,this._onOpenEvent=()=>this.open(),this.acceptAll=()=>this.applyConsent({analytics:!0,advertising:!0}),this.rejectAll=()=>this.applyConsent({analytics:!1,advertising:!1}),this.savePreferences=()=>this.applyConsent({analytics:this._analytics,advertising:this._advertising});let e=$(`consent`);this._consent=e??t();let n=$(`do-not-sell`)??!1;this._doNotSell=n,this._committedDoNotSell=n;let r=$(`consent-regime`);this._regimeKnown=o(r),this._regime=this._regimeKnown?r:`opt_in`,this._analytics=this._consent?.analytics??!1,this._advertising=this._consent?.advertising??!1}connectedCallback(){super.connectedCallback(),window.addEventListener(Q,this._onOpenEvent),this._initialized||(this._initialized=!0,this.initialize())}disconnectedCallback(){window.removeEventListener(Q,this._onOpenEvent),super.disconnectedCallback()}initialize(){let t=e();if(!this._consent?.decided&&t.decided&&(this._consent=t,K(t)),this._consent?.decided&&n(this._consent),this._mounted=!0,this._consent?.decided){if(Me(this.GEO_RECONCILED_KEY))return;(async()=>{let{regime:e,gpc:t}=await this.fetchGeo();Ne(this.GEO_RECONCILED_KEY,`1`);let n=$(`consent-regime`),r=o(n)?n:null;if(c(r,e)){this.repromptForRegime(e,t);return}this._regime=e,this._regimeKnown=!0,this._geoResolved=!0,r??J(e)})();return}(async()=>{let{regime:e,gpc:t}=await this.fetchGeo();this.applyRegimeFirstLoad(e,t)})()}open(){this.syncLocalToggles(),this._showPreferences=!0,this._visible=!0,!this._regimeKnown&&!this._regimeRequested&&(this._regimeRequested=!0,this.fetchGeo().then(({regime:e})=>{this._regime=e,J(e),this._regimeKnown=!0}))}syncLocalToggles(){this._analytics=this._consent?.analytics??!1,this._advertising=this._consent?.advertising??!1,this._doNotSell=this._committedDoNotSell}togglePreferences(){this._showPreferences?this._showPreferences=!1:(this.syncLocalToggles(),this._showPreferences=!0)}applyConsent(e){let t={decided:!0,necessary:!0,analytics:e.analytics,advertising:e.advertising},r=this._regime===`us_opt_out`?this._doNotSell:!e.advertising,i=this._consent,a=!i||!i.decided||i.analytics!==t.analytics||i.advertising!==t.advertising||this._committedDoNotSell!==r;this._consent=t,K(t),this._committedDoNotSell=r,this._doNotSell=r,q(r),this._visible=!1,this._showPreferences=!1,n(t),Y({analytics:t.analytics,advertising:t.advertising,doNotSell:r}),a&&Z({consent:t,doNotSell:r,regime:this._regime})}applyDefaultGrant(e,t){this._doNotSell=t,this._committedDoNotSell=t,this._analytics=!0,this._advertising=!0;let r={decided:e,necessary:!0,analytics:!0,advertising:!0};this._consent=r,K(r),q(t),Y({analytics:!0,advertising:!0,doNotSell:t}),e&&(n(r),Z({consent:r,doNotSell:t,regime:this._regime}))}async fetchGeo(){let e=new URL(this.geoEndpoint,window.location.origin),t=new URLSearchParams(window.location.search);for(let n of[`country`,`region`,`gpc`]){let r=t.get(n);r&&e.searchParams.set(n,r)}let n=new AbortController,r=setTimeout(()=>n.abort(),this.GEO_FETCH_TIMEOUT_MS);try{let t=await fetch(e.toString(),{signal:n.signal});if(t.ok){let e=await t.json()??{};return{regime:o(e.regime)?e.regime:`opt_in`,gpc:typeof e.gpc==`boolean`&&e.gpc}}}catch{}finally{clearTimeout(r)}return{regime:`opt_in`,gpc:!1}}resetForOptIn(){this._analytics=!1,this._advertising=!1,this._doNotSell=!1,this._committedDoNotSell=!1;let e={decided:!1,necessary:!0,analytics:!1,advertising:!1};this._consent=e,K(e),q(!1),Y({analytics:!1,advertising:!1,doNotSell:!1}),Z({consent:e,doNotSell:!1,regime:`opt_in`})}applyRegimeFirstLoad(e,t){if(this._regime=e,J(e),this._regimeKnown=!0,this._geoResolved=!0,e===`opt_in`){(this._consent?.analytics||this._consent?.advertising)&&this.resetForOptIn();return}this.applyDefaultGrant(e!==`us_opt_out`,t)}repromptForRegime(e,t){if(this._regime=e,J(e),this._regimeKnown=!0,this._geoResolved=!0,r(),e===`opt_in`){this.resetForOptIn();return}this.applyDefaultGrant(!1,t)}renderAcceptDecline(){return P` 3 <div class="actions"> 4 <button type="button" class="btn" @click=${this.acceptAll}> 5 Accept 6 </button> 7 <button type="button" class="btn" @click=${this.rejectAll}> 8 Decline 9 </button> 10 </div> 11 `}renderToggle(e,t,n,r=!1){return P` 12 <button 13 type="button" 14 role="switch" 15 class="toggle ${e?`active`:``}" 16 aria-checked=${e?`true`:`false`} 17 aria-label=${t} 18 ?disabled=${r} 19 aria-disabled=${r?`true`:`false`} 20 @click=${r?void 0:n} 21 >
22 <span class="toggle-thumb"></span> 23 </button> 24 `}renderPreferences(){return P` 25 <div 26 id="cookie-preferences-panel" 27 class="preferences" 28 role="group" 29 aria-label="Cookie preferences" 30 > 31 <div class="preference-row"> 32 <div class="preference-copy"> 33 <span class="preference-title">Strictly Necessary</span> 34 <span class="preference-description"> 35 Required for the site to function securely. Always on. 36 </span> 37 </div> 38 ${this.renderToggle(!0,`Strictly necessary cookies (always on)`,()=>{},!0)} 39 </div> 40 41 <div class="preference-row"> 42 <div class="preference-copy"> 43 <span class="preference-title">Analytics / Performance</span> 44 <span class="preference-description"> 45 Help us understand how the site is used so we can improve it. 46 </span> 47 </div> 48 ${this.renderToggle(this._analytics,`Analytics and performance cookies`,()=>this._analytics=!this._analytics)} 49 </div> 50 51 <div class="preference-row"> 52 <div class="preference-copy"> 53 <span class="preference-title">Advertising / Marketing</span> 54 <span class="preference-description"> 55 Used to measure and personalize our marketing. 56 </span> 57 </div> 58 ${this.renderToggle(this._advertising,`Advertising and marketing cookies`,()=>this._advertising=!this._advertising)} 59 </div> 60 61 <button 62 type="button" 63 class="btn btn-secondary" 64 @click=${this.savePreferences} 65 > 66 Save Preferences 67 </button> 68 </div> 69 `}renderRegimeControls(){return this._regime===`opt_in`?P` 70 <div class="regime-optin"> 71 <div 72 class="preferences-wrapper ${this._showPreferences?`open`:``}" 73 ?inert=${!this._showPreferences} 74 > 75 <div class="preferences-clip">${this.renderPreferences()}</div> 76 </div> 77 <div class="actions"> 78 <button type="button" class="btn" @click=${this.acceptAll}> 79 Accept All 80 </button> 81 <button type="button" class="btn" @click=${this.rejectAll}> 82 Reject All 83 </button> 84 <button 85 type="button" 86 class="btn" 87 aria-expanded=${this._showPreferences?`true`:`false`} 88 aria-controls="cookie-preferences-panel" 89 @click=${()=>this.togglePreferences()} 90 > 91 <span class="customize-label"> 92 Customize 93 <svg 94 class="chevron ${this._showPreferences?`expanded`:``}"
95 viewBox="0 0 24 24" 96 width="28" 97 height="28" 98 fill="none" 99 stroke="currentColor" 100 stroke-width="1.5" 101 stroke-linecap="round" 102 stroke-linejoin="round" 103 aria-hidden="true" 104 > 105 <path d="M6 15l6-6 6 6" /> 106 </svg> 107 </span> 108 </button> 109 </div> 110 </div> 111 `:this._regime===`us_opt_out`?P` 112 <div class="do-not-sell"> 113 <span id="do-not-sell-label" class="do-not-sell-label"> 114 Do not sell or share my personal information. 115 </span> 116 ${this.renderToggle(this._doNotSell,`Do not sell or share my personal information`,()=>this._doNotSell=!this._doNotSell)} 117 </div> 118 ${this.renderAcceptDecline()} 119 `:this.renderAcceptDecline()}render(){let e=this._consent?.decided??!1,t=this._regime===`opt_in`,n=this._regime===`us_opt_out`;return!(this._mounted&&this._geoResolved&&(t||n)&&!e)&&!this._visible?I:P` 120 <div class="notice" role="dialog" aria-label="Cookie policy and consent"> 121 <div class="stack"> 122 <div class="copy"> 123 <span class="eyebrow">Cookie Policy</span> 124 <p class="body"> 125 We use necessary cookies to make our site work. With your 126 permission, we also use optional cookies to analyze site usage and 127 assist in our marketing efforts. Read more in our 128 <a href=${this.policyUrl} class="link">cookie policy</a>. 129 </p> 130 </div> 131 ${this.renderRegimeControls()} 132 </div> 133 </div> 134 `}static{this.styles=ne` 135 :host { 136 /* --- Theming tokens (override from :root / host to reskin per property) --- */ 137 --tcb-bg: #07090d; 138 --tcb-text: #92a4c3; 139 --tcb-muted: #93a1b8; 140 --tcb-title: #f5f7fa; 141 --tcb-eyebrow: #7f86f1; 142 --tcb-heading: #a5b4fc; 143 --tcb-accent: #6366f1; 144 --tcb-link: #a5b4fc; 145 --tcb-toggle-off: #3a3f4b; 146 /* Primary buttons mirror the temporal.io "primary / green" button: 147 a green gradient fill with near-black monospace text. */ 148 --tcb-btn-bg: linear-gradient(255deg, #1ff1a5 0%, #c3ff62 100%); 149 --tcb-btn-bg-active: 150 linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), 151 linear-gradient(255deg, #1ff1a5 0%, #c3ff62 100%); 152 --tcb-btn-text: #141414; 153 --tcb-btn-ring: rgba(89, 253, 160, 0.7); 154 /* Secondary buttons mirror "secondary / green": space-black fill with a 155 green gradient border. Hover uses the shared --tcb-btn-ring, identical 156 to the primary buttons. */ 157 --tcb-btn-secondary-bg: #141414; 158 --tcb-btn-secondary-text: #ffffff; 159 --tcb-btn-secondary-border: linear-gradient(45deg, #1ff1a5, #c3ff62); 160 --tcb-radius: 0px; 161 --tcb-padding: 1.25rem; 162 --tcb-max-width: 42rem; 163 --tcb-font: inherit; 164 /* Document-level @font-face fonts (e.g. Noto Sans Mono, loaded by 165 temporal.io) are usable inside shadow DOM; the system stack is the 166 self-contained fallback elsewhere. */ 167 --tcb-font-mono: 168 "Noto Sans Mono", ui-monospace, SFMono-Regular, Menlo, monospace; 169 --tcb-offset: 1.25rem; 170 171 position: fixed; 172 right: var(--tcb-offset); 173 bottom: var(--tcb-offset); 174 z-index: 2147483000; 175 max-width: var(--tcb-max-width); 176 font-family: var(--tcb-font); 177 } 178 179 .notice { 180 background: var(--tcb-bg); 181 color: var(--tcb-text); 182 border-radius: var(--tcb-radius); 183 padding: var(--tcb-padding); 184 } 185 186 .stack { 187 display: flex; 188 flex-direction: column; 189 gap: 1.5rem; 190 } 191 192 .copy { 193 display: flex; 194 flex-direction: column; 195 gap: 1rem; 196 } 197 198 .eyebrow { 199 font-family: var(--tcb-font-mono); 200 font-size: 0.875rem; 201 font-weight: 300; 202 letter-spacing: 0.05em; 203 text-transform: uppercase; 204 color: var(--tcb-eyebrow); 205 } 206 207 .body { 208 margin: 0; 209 font-size: 0.875rem; 210 font-weight: 300; 211 line-height: 1.5; 212 letter-spacing: 0.01em; 213 color: var(--tcb-text); 214 } 215 216 .link { 217 color: inherit; 218 text-decoration: underline; 219 } 220 221 .actions { 222 display: flex; 223 flex-direction: column; 224 gap: 0.75rem; 225 width: 100%; 226 } 227 228 @media (min-width: 640px) { 229 .actions { 230 flex-direction: row; 231 gap: 1rem; 232 } 233 } 234 235 .btn { 236 display: inline-flex; 237 align-items: center; 238 justify-content: center; 239 gap: 1rem; 240 box-sizing: border-box; 241 height: 2.75rem; 242 padding: 0 1rem; 243 font-family: var(--tcb-font-mono); 244 font-weight: 500; 245 font-size: 0.875rem; 246 line-height: 1; 247 cursor: pointer; 248 border: none; 249 border-radius: var(--tcb-radius); 250 background: var(--tcb-btn-bg); 251 color: var(--tcb-btn-text); 252 transition: box-shadow 0.15s ease-in-out; 253 appearance: none; 254 } 255 256 /* Original Button font: text-sm (14px) on mobile, text-base (16px) at 257 >= 640px. Declared after the base .btn so it wins the equal-specificity 258 cascade at desktop widths. */ 259 @media (min-width: 640px) { 260 .btn { 261 font-size: 1rem; 262 } 263 } 264 265 /* Equal-width buttons only within the horizontal actions row. Applying 266 flex-grow to the base .btn would collapse the Save Preferences button's 267 height inside the column-direction .preferences container (flex-basis: 0 268 on the main axis overrides the fixed height). */ 269 .actions .btn { 270 flex: 1 1 0; 271 } 272 273 .btn:hover { 274 box-shadow: 0 0 0 4px var(--tcb-btn-ring); 275 } 276
277 .btn:not(.btn-secondary):active { 278 background: var(--tcb-btn-bg-active); 279 } 280 281 .btn-secondary { 282 border: 2px solid transparent; 283 background: 284 linear-gradient( 285 var(--tcb-btn-secondary-bg), 286 var(--tcb-btn-secondary-bg) 287 ) 288 padding-box, 289 var(--tcb-btn-secondary-border) border-box; 290 color: var(--tcb-btn-secondary-text); 291 } 292 293 .btn:focus-visible, 294 .toggle:focus-visible { 295 outline: 2px solid var(--tcb-accent); 296 outline-offset: 2px; 297 } 298 299 .customize-label { 300 display: inline-flex; 301 align-items: center; 302 gap: 0.5rem; 303 } 304 305 .chevron { 306 transition: transform 0.2s ease-in-out; 307 } 308 309 .chevron.expanded { 310 transform: rotate(180deg); 311 } 312 313 .regime-optin { 314 display: flex; 315 flex-direction: column; 316 } 317 318 /* Slide the preference center open/closed. The grid 0frâ1fr trick animates 319 to the panel's natural height (the equivalent of Svelte's <slide>); the 320 inner clip element hides the overflow during the transition. */ 321 .preferences-wrapper { 322 display: grid; 323 grid-template-rows: 0fr; 324 transition: grid-template-rows 250ms ease; 325 } 326 327 .preferences-wrapper.open { 328 grid-template-rows: 1fr; 329 } 330 331 /* Inline padding + matching negative margin lets the Save Preferences hover 332 ring escape horizontally: overflow: hidden (needed to clip the slide-open 333 animation) would otherwise crop the ring's left/right edges since the 334 button is full-width. The negative margin re-expands the clip into the 335 banner's own padding so nothing shifts visually. */ 336 .preferences-clip { 337 overflow: hidden; 338 min-height: 0; 339 padding-inline: 6px; 340 margin-inline: -6px; 341 } 342 343 @media (prefers-reduced-motion: reduce) { 344 .preferences-wrapper { 345 transition: none; 346 } 347 } 348 349 .preferences { 350 display: flex; 351 flex-direction: column; 352 gap: 0.75rem; 353 width: 100%; 354 padding-bottom: 1rem; 355 } 356 357 .preference-row { 358 display: flex; 359 align-items: center; 360 justify-content: space-between; 361 gap: 1rem; 362 width: 100%; 363 } 364 365 .preference-copy { 366 display: flex; 367 flex-direction: column; 368 gap: 0.125rem; 369 } 370 371 .preference-title { 372 font-size: 0.875rem; 373 font-weight: 300; 374 color: var(--tcb-title); 375 } 376 377 .preference-description { 378 font-size: 0.75rem; 379 font-weight: 300; 380 color: var(--tcb-muted); 381 } 382 383 .do-not-sell { 384 display: flex; 385 align-items: center; 386 gap: 0.5rem; 387 width: 100%; 388 } 389 390 @media (min-width: 640px) { 391 .do-not-sell { 392 flex-direction: row-reverse; 393 justify-content: flex-end; 394 } 395 } 396 397 .do-not-sell-label { 398 font-size: 0.75rem; 399 font-weight: 300; 400 color: var(--tcb-muted); 401 } 402 403 .toggle { 404 position: relative; 405 display: inline-flex; 406 flex-shrink: 0; 407 height: 1.25rem; 408 width: 2.25rem; 409 padding: 0; 410 cursor: pointer; 411 border: none; 412 border-radius: 9999px; 413 background: var(--tcb-toggle-off); 414 transition: background-color 0.2s ease-in-out; 415 } 416 417 .toggle.active { 418 background: var(--tcb-accent); 419 } 420 421 .toggle:disabled { 422 cursor: not-allowed; 423 opacity: 0.7; 424 } 425 426 .toggle-thumb { 427 pointer-events: none; 428 display: inline-block; 429 height: 1rem; 430 width: 1rem; 431 transform: translate(0.125rem, 0.125rem); 432 border-radius: 9999px; 433 background: #ffffff; 434 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); 435 transition: transform 0.2s ease-in-out; 436 } 437 438 .toggle.active .toggle-thumb { 439 transform: translate(1.125rem, 0.125rem); 440 } 441 `}};typeof customElements<`u`&&!customElements.get(`temporal-consent-banner`)&&customElements.define(`temporal-consent-banner`,Pe);export{X as n,Q as t};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.