(()=>{var co=Object.create;var Ms=Object.defineProperty;var ho=Object.getOwnPropertyDescriptor;var uo=Object.getOwnPropertyNames;var fo=Object.getPrototypeOf,po=Object.prototype.hasOwnProperty;var mo=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports);var go=(i,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of uo(e))!po.call(i,s)&&s!==t&&Ms(i,s,{get:()=>e[s],enumerable:!(r=ho(e,s))||r.enumerable});return i};var vo=(i,e,t)=>(t=i!=null?co(fo(i)):{},go(e||!i||!i.__esModule?Ms(t,"default",{value:i,enumerable:!0}):t,i));var Ys=mo((Dh,Xs)=>{var aa="Expected a function",Us=NaN,la="[object Symbol]",ca=/^\s+|\s+$/g,ha=/^[-+]0x[0-9a-f]+$/i,da=/^0b[01]+$/i,ua=/^0o[0-7]+$/i,fa=parseInt,pa=typeof global=="object"&&global&&global.Object===Object&&global,ma=typeof self=="object"&&self&&self.Object===Object&&self,ga=pa||ma||Function("return this")(),va=Object.prototype,ba=va.toString,ya=Math.max,wa=Math.min,Ar=function(){return ga.Date.now()};function Ea(i,e,t){var r,s,n,o,a,d,f=0,u=!1,_=!1,E=!0;if(typeof i!="function")throw new TypeError(aa);e=Ks(e)||0,Lr(t)&&(u=!!t.leading,_="maxWait"in t,n=_?ya(Ks(t.maxWait)||0,e):n,E="trailing"in t?!!t.trailing:E);function w(b){var x=r,P=s;return r=s=void 0,f=b,o=i.apply(P,x),o}function O(b){return f=b,a=setTimeout(k,e),u?w(b):o}function C(b){var x=b-d,P=b-f,F=e-x;return _?wa(F,n-P):F}function S(b){var x=b-d,P=b-f;return d===void 0||x>=e||x<0||_&&P>=n}function k(){var b=Ar();if(S(b))return I(b);a=setTimeout(k,C(b))}function I(b){return a=void 0,E&&r?w(b):(r=s=void 0,o)}function M(){a!==void 0&&clearTimeout(a),f=0,r=d=s=a=void 0}function L(){return a===void 0?o:I(Ar())}function T(){var b=Ar(),x=S(b);if(r=arguments,s=this,d=b,x){if(a===void 0)return O(d);if(_)return a=setTimeout(k,e),w(d)}return a===void 0&&(a=setTimeout(k,e)),o}return T.cancel=M,T.flush=L,T}function Lr(i){var e=typeof i;return!!i&&(e=="object"||e=="function")}function _a(i){return!!i&&typeof i=="object"}function Sa(i){return typeof i=="symbol"||_a(i)&&ba.call(i)==la}function Ks(i){if(typeof i=="number")return i;if(Sa(i))return Us;if(Lr(i)){var e=typeof i.valueOf=="function"?i.valueOf():i;i=Lr(e)?e+"":e}if(typeof i!="string")return i===0?i:+i;i=i.replace(ca,"");var t=da.test(i);return t||ua.test(i)?fa(i.slice(2),t?2:8):ha.test(i)?Us:+i}Xs.exports=Ea});var er=class{constructor(e,t,r){this.eventTarget=e,this.eventName=t,this.eventOptions=r,this.unorderedBindings=new Set}connect(){this.eventTarget.addEventListener(this.eventName,this,this.eventOptions)}disconnect(){this.eventTarget.removeEventListener(this.eventName,this,this.eventOptions)}bindingConnected(e){this.unorderedBindings.add(e)}bindingDisconnected(e){this.unorderedBindings.delete(e)}handleEvent(e){let t=bo(e);for(let r of this.bindings){if(t.immediatePropagationStopped)break;r.handleEvent(t)}}hasBindings(){return this.unorderedBindings.size>0}get bindings(){return Array.from(this.unorderedBindings).sort((e,t)=>{let r=e.index,s=t.index;return rs?1:0})}};function bo(i){if("immediatePropagationStopped"in i)return i;{let{stopImmediatePropagation:e}=i;return Object.assign(i,{immediatePropagationStopped:!1,stopImmediatePropagation(){this.immediatePropagationStopped=!0,e.call(this)}})}}var tr=class{constructor(e){this.application=e,this.eventListenerMaps=new Map,this.started=!1}start(){this.started||(this.started=!0,this.eventListeners.forEach(e=>e.connect()))}stop(){this.started&&(this.started=!1,this.eventListeners.forEach(e=>e.disconnect()))}get eventListeners(){return Array.from(this.eventListenerMaps.values()).reduce((e,t)=>e.concat(Array.from(t.values())),[])}bindingConnected(e){this.fetchEventListenerForBinding(e).bindingConnected(e)}bindingDisconnected(e,t=!1){this.fetchEventListenerForBinding(e).bindingDisconnected(e),t&&this.clearEventListenersForBinding(e)}handleError(e,t,r={}){this.application.handleError(e,`Error ${t}`,r)}clearEventListenersForBinding(e){let t=this.fetchEventListenerForBinding(e);t.hasBindings()||(t.disconnect(),this.removeMappedEventListenerFor(e))}removeMappedEventListenerFor(e){let{eventTarget:t,eventName:r,eventOptions:s}=e,n=this.fetchEventListenerMapForEventTarget(t),o=this.cacheKey(r,s);n.delete(o),n.size==0&&this.eventListenerMaps.delete(t)}fetchEventListenerForBinding(e){let{eventTarget:t,eventName:r,eventOptions:s}=e;return this.fetchEventListener(t,r,s)}fetchEventListener(e,t,r){let s=this.fetchEventListenerMapForEventTarget(e),n=this.cacheKey(t,r),o=s.get(n);return o||(o=this.createEventListener(e,t,r),s.set(n,o)),o}createEventListener(e,t,r){let s=new er(e,t,r);return this.started&&s.connect(),s}fetchEventListenerMapForEventTarget(e){let t=this.eventListenerMaps.get(e);return t||(t=new Map,this.eventListenerMaps.set(e,t)),t}cacheKey(e,t){let r=[e];return Object.keys(t).sort().forEach(s=>{r.push(`${t[s]?"":"!"}${s}`)}),r.join(":")}},yo={stop({event:i,value:e}){return e&&i.stopPropagation(),!0},prevent({event:i,value:e}){return e&&i.preventDefault(),!0},self({event:i,value:e,element:t}){return e?t===i.target:!0}},wo=/^(?:(?:([^.]+?)\+)?(.+?)(?:\.(.+?))?(?:@(window|document))?->)?(.+?)(?:#([^:]+?))(?::(.+))?$/;function Eo(i){let t=i.trim().match(wo)||[],r=t[2],s=t[3];return s&&!["keydown","keyup","keypress"].includes(r)&&(r+=`.${s}`,s=""),{eventTarget:_o(t[4]),eventName:r,eventOptions:t[7]?So(t[7]):{},identifier:t[5],methodName:t[6],keyFilter:t[1]||s}}function _o(i){if(i=="window")return window;if(i=="document")return document}function So(i){return i.split(":").reduce((e,t)=>Object.assign(e,{[t.replace(/^!/,"")]:!/^!/.test(t)}),{})}function Ao(i){if(i==window)return"window";if(i==document)return"document"}function Sr(i){return i.replace(/(?:[_-])([a-z0-9])/g,(e,t)=>t.toUpperCase())}function ir(i){return Sr(i.replace(/--/g,"-").replace(/__/g,"_"))}function Et(i){return i.charAt(0).toUpperCase()+i.slice(1)}function js(i){return i.replace(/([A-Z])/g,(e,t)=>`-${t.toLowerCase()}`)}function Lo(i){return i.match(/[^\s]+/g)||[]}function Ps(i){return i!=null}function rr(i,e){return Object.prototype.hasOwnProperty.call(i,e)}var Rs=["meta","ctrl","alt","shift"],sr=class{constructor(e,t,r,s){this.element=e,this.index=t,this.eventTarget=r.eventTarget||e,this.eventName=r.eventName||Co(e)||Dt("missing event name"),this.eventOptions=r.eventOptions||{},this.identifier=r.identifier||Dt("missing identifier"),this.methodName=r.methodName||Dt("missing method name"),this.keyFilter=r.keyFilter||"",this.schema=s}static forToken(e,t){return new this(e.element,e.index,Eo(e.content),t)}toString(){let e=this.keyFilter?`.${this.keyFilter}`:"",t=this.eventTargetName?`@${this.eventTargetName}`:"";return`${this.eventName}${e}${t}->${this.identifier}#${this.methodName}`}shouldIgnoreKeyboardEvent(e){if(!this.keyFilter)return!1;let t=this.keyFilter.split("+");if(this.keyFilterDissatisfied(e,t))return!0;let r=t.filter(s=>!Rs.includes(s))[0];return r?(rr(this.keyMappings,r)||Dt(`contains unknown key filter: ${this.keyFilter}`),this.keyMappings[r].toLowerCase()!==e.key.toLowerCase()):!1}shouldIgnoreMouseEvent(e){if(!this.keyFilter)return!1;let t=[this.keyFilter];return!!this.keyFilterDissatisfied(e,t)}get params(){let e={},t=new RegExp(`^data-${this.identifier}-(.+)-param$`,"i");for(let{name:r,value:s}of Array.from(this.element.attributes)){let n=r.match(t),o=n&&n[1];o&&(e[Sr(o)]=To(s))}return e}get eventTargetName(){return Ao(this.eventTarget)}get keyMappings(){return this.schema.keyMappings}keyFilterDissatisfied(e,t){let[r,s,n,o]=Rs.map(a=>t.includes(a));return e.metaKey!==r||e.ctrlKey!==s||e.altKey!==n||e.shiftKey!==o}},Fs={a:()=>"click",button:()=>"click",form:()=>"submit",details:()=>"toggle",input:i=>i.getAttribute("type")=="submit"?"click":"input",select:()=>"change",textarea:()=>"input"};function Co(i){let e=i.tagName.toLowerCase();if(e in Fs)return Fs[e](i)}function Dt(i){throw new Error(i)}function To(i){try{return JSON.parse(i)}catch{return i}}var nr=class{constructor(e,t){this.context=e,this.action=t}get index(){return this.action.index}get eventTarget(){return this.action.eventTarget}get eventOptions(){return this.action.eventOptions}get identifier(){return this.context.identifier}handleEvent(e){let t=this.prepareActionEvent(e);this.willBeInvokedByEvent(e)&&this.applyEventModifiers(t)&&this.invokeWithEvent(t)}get eventName(){return this.action.eventName}get method(){let e=this.controller[this.methodName];if(typeof e=="function")return e;throw new Error(`Action "${this.action}" references undefined method "${this.methodName}"`)}applyEventModifiers(e){let{element:t}=this.action,{actionDescriptorFilters:r}=this.context.application,{controller:s}=this.context,n=!0;for(let[o,a]of Object.entries(this.eventOptions))if(o in r){let d=r[o];n=n&&d({name:o,value:a,event:e,element:t,controller:s})}else continue;return n}prepareActionEvent(e){return Object.assign(e,{params:this.action.params})}invokeWithEvent(e){let{target:t,currentTarget:r}=e;try{this.method.call(this.controller,e),this.context.logDebugActivity(this.methodName,{event:e,target:t,currentTarget:r,action:this.methodName})}catch(s){let{identifier:n,controller:o,element:a,index:d}=this,f={identifier:n,controller:o,element:a,index:d,event:e};this.context.handleError(s,`invoking action "${this.action}"`,f)}}willBeInvokedByEvent(e){let t=e.target;return e instanceof KeyboardEvent&&this.action.shouldIgnoreKeyboardEvent(e)||e instanceof MouseEvent&&this.action.shouldIgnoreMouseEvent(e)?!1:this.element===t?!0:t instanceof Element&&this.element.contains(t)?this.scope.containsElement(t):this.scope.containsElement(this.action.element)}get controller(){return this.context.controller}get methodName(){return this.action.methodName}get element(){return this.scope.element}get scope(){return this.context.scope}},Ht=class{constructor(e,t){this.mutationObserverInit={attributes:!0,childList:!0,subtree:!0},this.element=e,this.started=!1,this.delegate=t,this.elements=new Set,this.mutationObserver=new MutationObserver(r=>this.processMutations(r))}start(){this.started||(this.started=!0,this.mutationObserver.observe(this.element,this.mutationObserverInit),this.refresh())}pause(e){this.started&&(this.mutationObserver.disconnect(),this.started=!1),e(),this.started||(this.mutationObserver.observe(this.element,this.mutationObserverInit),this.started=!0)}stop(){this.started&&(this.mutationObserver.takeRecords(),this.mutationObserver.disconnect(),this.started=!1)}refresh(){if(this.started){let e=new Set(this.matchElementsInTree());for(let t of Array.from(this.elements))e.has(t)||this.removeElement(t);for(let t of Array.from(e))this.addElement(t)}}processMutations(e){if(this.started)for(let t of e)this.processMutation(t)}processMutation(e){e.type=="attributes"?this.processAttributeChange(e.target,e.attributeName):e.type=="childList"&&(this.processRemovedNodes(e.removedNodes),this.processAddedNodes(e.addedNodes))}processAttributeChange(e,t){this.elements.has(e)?this.delegate.elementAttributeChanged&&this.matchElement(e)?this.delegate.elementAttributeChanged(e,t):this.removeElement(e):this.matchElement(e)&&this.addElement(e)}processRemovedNodes(e){for(let t of Array.from(e)){let r=this.elementFromNode(t);r&&this.processTree(r,this.removeElement)}}processAddedNodes(e){for(let t of Array.from(e)){let r=this.elementFromNode(t);r&&this.elementIsActive(r)&&this.processTree(r,this.addElement)}}matchElement(e){return this.delegate.matchElement(e)}matchElementsInTree(e=this.element){return this.delegate.matchElementsInTree(e)}processTree(e,t){for(let r of this.matchElementsInTree(e))t.call(this,r)}elementFromNode(e){if(e.nodeType==Node.ELEMENT_NODE)return e}elementIsActive(e){return e.isConnected!=this.element.isConnected?!1:this.element.contains(e)}addElement(e){this.elements.has(e)||this.elementIsActive(e)&&(this.elements.add(e),this.delegate.elementMatched&&this.delegate.elementMatched(e))}removeElement(e){this.elements.has(e)&&(this.elements.delete(e),this.delegate.elementUnmatched&&this.delegate.elementUnmatched(e))}},qt=class{constructor(e,t,r){this.attributeName=t,this.delegate=r,this.elementObserver=new Ht(e,this)}get element(){return this.elementObserver.element}get selector(){return`[${this.attributeName}]`}start(){this.elementObserver.start()}pause(e){this.elementObserver.pause(e)}stop(){this.elementObserver.stop()}refresh(){this.elementObserver.refresh()}get started(){return this.elementObserver.started}matchElement(e){return e.hasAttribute(this.attributeName)}matchElementsInTree(e){let t=this.matchElement(e)?[e]:[],r=Array.from(e.querySelectorAll(this.selector));return t.concat(r)}elementMatched(e){this.delegate.elementMatchedAttribute&&this.delegate.elementMatchedAttribute(e,this.attributeName)}elementUnmatched(e){this.delegate.elementUnmatchedAttribute&&this.delegate.elementUnmatchedAttribute(e,this.attributeName)}elementAttributeChanged(e,t){this.delegate.elementAttributeValueChanged&&this.attributeName==t&&this.delegate.elementAttributeValueChanged(e,t)}};function ko(i,e,t){Ws(i,e).add(t)}function xo(i,e,t){Ws(i,e).delete(t),Oo(i,e)}function Ws(i,e){let t=i.get(e);return t||(t=new Set,i.set(e,t)),t}function Oo(i,e){let t=i.get(e);t!=null&&t.size==0&&i.delete(e)}var me=class{constructor(){this.valuesByKey=new Map}get keys(){return Array.from(this.valuesByKey.keys())}get values(){return Array.from(this.valuesByKey.values()).reduce((t,r)=>t.concat(Array.from(r)),[])}get size(){return Array.from(this.valuesByKey.values()).reduce((t,r)=>t+r.size,0)}add(e,t){ko(this.valuesByKey,e,t)}delete(e,t){xo(this.valuesByKey,e,t)}has(e,t){let r=this.valuesByKey.get(e);return r!=null&&r.has(t)}hasKey(e){return this.valuesByKey.has(e)}hasValue(e){return Array.from(this.valuesByKey.values()).some(r=>r.has(e))}getValuesForKey(e){let t=this.valuesByKey.get(e);return t?Array.from(t):[]}getKeysForValue(e){return Array.from(this.valuesByKey).filter(([t,r])=>r.has(e)).map(([t,r])=>t)}};var or=class{constructor(e,t,r,s){this._selector=t,this.details=s,this.elementObserver=new Ht(e,this),this.delegate=r,this.matchesByElement=new me}get started(){return this.elementObserver.started}get selector(){return this._selector}set selector(e){this._selector=e,this.refresh()}start(){this.elementObserver.start()}pause(e){this.elementObserver.pause(e)}stop(){this.elementObserver.stop()}refresh(){this.elementObserver.refresh()}get element(){return this.elementObserver.element}matchElement(e){let{selector:t}=this;if(t){let r=e.matches(t);return this.delegate.selectorMatchElement?r&&this.delegate.selectorMatchElement(e,this.details):r}else return!1}matchElementsInTree(e){let{selector:t}=this;if(t){let r=this.matchElement(e)?[e]:[],s=Array.from(e.querySelectorAll(t)).filter(n=>this.matchElement(n));return r.concat(s)}else return[]}elementMatched(e){let{selector:t}=this;t&&this.selectorMatched(e,t)}elementUnmatched(e){let t=this.matchesByElement.getKeysForValue(e);for(let r of t)this.selectorUnmatched(e,r)}elementAttributeChanged(e,t){let{selector:r}=this;if(r){let s=this.matchElement(e),n=this.matchesByElement.has(r,e);s&&!n?this.selectorMatched(e,r):!s&&n&&this.selectorUnmatched(e,r)}}selectorMatched(e,t){this.delegate.selectorMatched(e,t,this.details),this.matchesByElement.add(t,e)}selectorUnmatched(e,t){this.delegate.selectorUnmatched(e,t,this.details),this.matchesByElement.delete(t,e)}},ar=class{constructor(e,t){this.element=e,this.delegate=t,this.started=!1,this.stringMap=new Map,this.mutationObserver=new MutationObserver(r=>this.processMutations(r))}start(){this.started||(this.started=!0,this.mutationObserver.observe(this.element,{attributes:!0,attributeOldValue:!0}),this.refresh())}stop(){this.started&&(this.mutationObserver.takeRecords(),this.mutationObserver.disconnect(),this.started=!1)}refresh(){if(this.started)for(let e of this.knownAttributeNames)this.refreshAttribute(e,null)}processMutations(e){if(this.started)for(let t of e)this.processMutation(t)}processMutation(e){let t=e.attributeName;t&&this.refreshAttribute(t,e.oldValue)}refreshAttribute(e,t){let r=this.delegate.getStringMapKeyForAttribute(e);if(r!=null){this.stringMap.has(e)||this.stringMapKeyAdded(r,e);let s=this.element.getAttribute(e);if(this.stringMap.get(e)!=s&&this.stringMapValueChanged(s,r,t),s==null){let n=this.stringMap.get(e);this.stringMap.delete(e),n&&this.stringMapKeyRemoved(r,e,n)}else this.stringMap.set(e,s)}}stringMapKeyAdded(e,t){this.delegate.stringMapKeyAdded&&this.delegate.stringMapKeyAdded(e,t)}stringMapValueChanged(e,t,r){this.delegate.stringMapValueChanged&&this.delegate.stringMapValueChanged(e,t,r)}stringMapKeyRemoved(e,t,r){this.delegate.stringMapKeyRemoved&&this.delegate.stringMapKeyRemoved(e,t,r)}get knownAttributeNames(){return Array.from(new Set(this.currentAttributeNames.concat(this.recordedAttributeNames)))}get currentAttributeNames(){return Array.from(this.element.attributes).map(e=>e.name)}get recordedAttributeNames(){return Array.from(this.stringMap.keys())}},Vt=class{constructor(e,t,r){this.attributeObserver=new qt(e,t,this),this.delegate=r,this.tokensByElement=new me}get started(){return this.attributeObserver.started}start(){this.attributeObserver.start()}pause(e){this.attributeObserver.pause(e)}stop(){this.attributeObserver.stop()}refresh(){this.attributeObserver.refresh()}get element(){return this.attributeObserver.element}get attributeName(){return this.attributeObserver.attributeName}elementMatchedAttribute(e){this.tokensMatched(this.readTokensForElement(e))}elementAttributeValueChanged(e){let[t,r]=this.refreshTokensForElement(e);this.tokensUnmatched(t),this.tokensMatched(r)}elementUnmatchedAttribute(e){this.tokensUnmatched(this.tokensByElement.getValuesForKey(e))}tokensMatched(e){e.forEach(t=>this.tokenMatched(t))}tokensUnmatched(e){e.forEach(t=>this.tokenUnmatched(t))}tokenMatched(e){this.delegate.tokenMatched(e),this.tokensByElement.add(e.element,e)}tokenUnmatched(e){this.delegate.tokenUnmatched(e),this.tokensByElement.delete(e.element,e)}refreshTokensForElement(e){let t=this.tokensByElement.getValuesForKey(e),r=this.readTokensForElement(e),s=Mo(t,r).findIndex(([n,o])=>!Po(n,o));return s==-1?[[],[]]:[t.slice(s),r.slice(s)]}readTokensForElement(e){let t=this.attributeName,r=e.getAttribute(t)||"";return Io(r,e,t)}};function Io(i,e,t){return i.trim().split(/\s+/).filter(r=>r.length).map((r,s)=>({element:e,attributeName:t,content:r,index:s}))}function Mo(i,e){let t=Math.max(i.length,e.length);return Array.from({length:t},(r,s)=>[i[s],e[s]])}function Po(i,e){return i&&e&&i.index==e.index&&i.content==e.content}var Nt=class{constructor(e,t,r){this.tokenListObserver=new Vt(e,t,this),this.delegate=r,this.parseResultsByToken=new WeakMap,this.valuesByTokenByElement=new WeakMap}get started(){return this.tokenListObserver.started}start(){this.tokenListObserver.start()}stop(){this.tokenListObserver.stop()}refresh(){this.tokenListObserver.refresh()}get element(){return this.tokenListObserver.element}get attributeName(){return this.tokenListObserver.attributeName}tokenMatched(e){let{element:t}=e,{value:r}=this.fetchParseResultForToken(e);r&&(this.fetchValuesByTokenForElement(t).set(e,r),this.delegate.elementMatchedValue(t,r))}tokenUnmatched(e){let{element:t}=e,{value:r}=this.fetchParseResultForToken(e);r&&(this.fetchValuesByTokenForElement(t).delete(e),this.delegate.elementUnmatchedValue(t,r))}fetchParseResultForToken(e){let t=this.parseResultsByToken.get(e);return t||(t=this.parseToken(e),this.parseResultsByToken.set(e,t)),t}fetchValuesByTokenForElement(e){let t=this.valuesByTokenByElement.get(e);return t||(t=new Map,this.valuesByTokenByElement.set(e,t)),t}parseToken(e){try{return{value:this.delegate.parseValueForToken(e)}}catch(t){return{error:t}}}},lr=class{constructor(e,t){this.context=e,this.delegate=t,this.bindingsByAction=new Map}start(){this.valueListObserver||(this.valueListObserver=new Nt(this.element,this.actionAttribute,this),this.valueListObserver.start())}stop(){this.valueListObserver&&(this.valueListObserver.stop(),delete this.valueListObserver,this.disconnectAllActions())}get element(){return this.context.element}get identifier(){return this.context.identifier}get actionAttribute(){return this.schema.actionAttribute}get schema(){return this.context.schema}get bindings(){return Array.from(this.bindingsByAction.values())}connectAction(e){let t=new nr(this.context,e);this.bindingsByAction.set(e,t),this.delegate.bindingConnected(t)}disconnectAction(e){let t=this.bindingsByAction.get(e);t&&(this.bindingsByAction.delete(e),this.delegate.bindingDisconnected(t))}disconnectAllActions(){this.bindings.forEach(e=>this.delegate.bindingDisconnected(e,!0)),this.bindingsByAction.clear()}parseValueForToken(e){let t=sr.forToken(e,this.schema);if(t.identifier==this.identifier)return t}elementMatchedValue(e,t){this.connectAction(t)}elementUnmatchedValue(e,t){this.disconnectAction(t)}},cr=class{constructor(e,t){this.context=e,this.receiver=t,this.stringMapObserver=new ar(this.element,this),this.valueDescriptorMap=this.controller.valueDescriptorMap}start(){this.stringMapObserver.start(),this.invokeChangedCallbacksForDefaultValues()}stop(){this.stringMapObserver.stop()}get element(){return this.context.element}get controller(){return this.context.controller}getStringMapKeyForAttribute(e){if(e in this.valueDescriptorMap)return this.valueDescriptorMap[e].name}stringMapKeyAdded(e,t){let r=this.valueDescriptorMap[t];this.hasValue(e)||this.invokeChangedCallback(e,r.writer(this.receiver[e]),r.writer(r.defaultValue))}stringMapValueChanged(e,t,r){let s=this.valueDescriptorNameMap[t];e!==null&&(r===null&&(r=s.writer(s.defaultValue)),this.invokeChangedCallback(t,e,r))}stringMapKeyRemoved(e,t,r){let s=this.valueDescriptorNameMap[e];this.hasValue(e)?this.invokeChangedCallback(e,s.writer(this.receiver[e]),r):this.invokeChangedCallback(e,s.writer(s.defaultValue),r)}invokeChangedCallbacksForDefaultValues(){for(let{key:e,name:t,defaultValue:r,writer:s}of this.valueDescriptors)r!=null&&!this.controller.data.has(e)&&this.invokeChangedCallback(t,s(r),void 0)}invokeChangedCallback(e,t,r){let s=`${e}Changed`,n=this.receiver[s];if(typeof n=="function"){let o=this.valueDescriptorNameMap[e];try{let a=o.reader(t),d=r;r&&(d=o.reader(r)),n.call(this.receiver,a,d)}catch(a){throw a instanceof TypeError&&(a.message=`Stimulus Value "${this.context.identifier}.${o.name}" - ${a.message}`),a}}}get valueDescriptors(){let{valueDescriptorMap:e}=this;return Object.keys(e).map(t=>e[t])}get valueDescriptorNameMap(){let e={};return Object.keys(this.valueDescriptorMap).forEach(t=>{let r=this.valueDescriptorMap[t];e[r.name]=r}),e}hasValue(e){let t=this.valueDescriptorNameMap[e],r=`has${Et(t.name)}`;return this.receiver[r]}},hr=class{constructor(e,t){this.context=e,this.delegate=t,this.targetsByName=new me}start(){this.tokenListObserver||(this.tokenListObserver=new Vt(this.element,this.attributeName,this),this.tokenListObserver.start())}stop(){this.tokenListObserver&&(this.disconnectAllTargets(),this.tokenListObserver.stop(),delete this.tokenListObserver)}tokenMatched({element:e,content:t}){this.scope.containsElement(e)&&this.connectTarget(e,t)}tokenUnmatched({element:e,content:t}){this.disconnectTarget(e,t)}connectTarget(e,t){var r;this.targetsByName.has(t,e)||(this.targetsByName.add(t,e),(r=this.tokenListObserver)===null||r===void 0||r.pause(()=>this.delegate.targetConnected(e,t)))}disconnectTarget(e,t){var r;this.targetsByName.has(t,e)&&(this.targetsByName.delete(t,e),(r=this.tokenListObserver)===null||r===void 0||r.pause(()=>this.delegate.targetDisconnected(e,t)))}disconnectAllTargets(){for(let e of this.targetsByName.keys)for(let t of this.targetsByName.getValuesForKey(e))this.disconnectTarget(t,e)}get attributeName(){return`data-${this.context.identifier}-target`}get element(){return this.context.element}get scope(){return this.context.scope}};function _t(i,e){let t=zs(i);return Array.from(t.reduce((r,s)=>(Fo(s,e).forEach(n=>r.add(n)),r),new Set))}function Ro(i,e){return zs(i).reduce((r,s)=>(r.push(...Bo(s,e)),r),[])}function zs(i){let e=[];for(;i;)e.push(i),i=Object.getPrototypeOf(i);return e.reverse()}function Fo(i,e){let t=i[e];return Array.isArray(t)?t:[]}function Bo(i,e){let t=i[e];return t?Object.keys(t).map(r=>[r,t[r]]):[]}var dr=class{constructor(e,t){this.started=!1,this.context=e,this.delegate=t,this.outletsByName=new me,this.outletElementsByName=new me,this.selectorObserverMap=new Map,this.attributeObserverMap=new Map}start(){this.started||(this.outletDefinitions.forEach(e=>{this.setupSelectorObserverForOutlet(e),this.setupAttributeObserverForOutlet(e)}),this.started=!0,this.dependentContexts.forEach(e=>e.refresh()))}refresh(){this.selectorObserverMap.forEach(e=>e.refresh()),this.attributeObserverMap.forEach(e=>e.refresh())}stop(){this.started&&(this.started=!1,this.disconnectAllOutlets(),this.stopSelectorObservers(),this.stopAttributeObservers())}stopSelectorObservers(){this.selectorObserverMap.size>0&&(this.selectorObserverMap.forEach(e=>e.stop()),this.selectorObserverMap.clear())}stopAttributeObservers(){this.attributeObserverMap.size>0&&(this.attributeObserverMap.forEach(e=>e.stop()),this.attributeObserverMap.clear())}selectorMatched(e,t,{outletName:r}){let s=this.getOutlet(e,r);s&&this.connectOutlet(s,e,r)}selectorUnmatched(e,t,{outletName:r}){let s=this.getOutletFromMap(e,r);s&&this.disconnectOutlet(s,e,r)}selectorMatchElement(e,{outletName:t}){let r=this.selector(t),s=this.hasOutlet(e,t),n=e.matches(`[${this.schema.controllerAttribute}~=${t}]`);return r?s&&n&&e.matches(r):!1}elementMatchedAttribute(e,t){let r=this.getOutletNameFromOutletAttributeName(t);r&&this.updateSelectorObserverForOutlet(r)}elementAttributeValueChanged(e,t){let r=this.getOutletNameFromOutletAttributeName(t);r&&this.updateSelectorObserverForOutlet(r)}elementUnmatchedAttribute(e,t){let r=this.getOutletNameFromOutletAttributeName(t);r&&this.updateSelectorObserverForOutlet(r)}connectOutlet(e,t,r){var s;this.outletElementsByName.has(r,t)||(this.outletsByName.add(r,e),this.outletElementsByName.add(r,t),(s=this.selectorObserverMap.get(r))===null||s===void 0||s.pause(()=>this.delegate.outletConnected(e,t,r)))}disconnectOutlet(e,t,r){var s;this.outletElementsByName.has(r,t)&&(this.outletsByName.delete(r,e),this.outletElementsByName.delete(r,t),(s=this.selectorObserverMap.get(r))===null||s===void 0||s.pause(()=>this.delegate.outletDisconnected(e,t,r)))}disconnectAllOutlets(){for(let e of this.outletElementsByName.keys)for(let t of this.outletElementsByName.getValuesForKey(e))for(let r of this.outletsByName.getValuesForKey(e))this.disconnectOutlet(r,t,e)}updateSelectorObserverForOutlet(e){let t=this.selectorObserverMap.get(e);t&&(t.selector=this.selector(e))}setupSelectorObserverForOutlet(e){let t=this.selector(e),r=new or(document.body,t,this,{outletName:e});this.selectorObserverMap.set(e,r),r.start()}setupAttributeObserverForOutlet(e){let t=this.attributeNameForOutletName(e),r=new qt(this.scope.element,t,this);this.attributeObserverMap.set(e,r),r.start()}selector(e){return this.scope.outlets.getSelectorForOutletName(e)}attributeNameForOutletName(e){return this.scope.schema.outletAttributeForScope(this.identifier,e)}getOutletNameFromOutletAttributeName(e){return this.outletDefinitions.find(t=>this.attributeNameForOutletName(t)===e)}get outletDependencies(){let e=new me;return this.router.modules.forEach(t=>{let r=t.definition.controllerConstructor;_t(r,"outlets").forEach(n=>e.add(n,t.identifier))}),e}get outletDefinitions(){return this.outletDependencies.getKeysForValue(this.identifier)}get dependentControllerIdentifiers(){return this.outletDependencies.getValuesForKey(this.identifier)}get dependentContexts(){let e=this.dependentControllerIdentifiers;return this.router.contexts.filter(t=>e.includes(t.identifier))}hasOutlet(e,t){return!!this.getOutlet(e,t)||!!this.getOutletFromMap(e,t)}getOutlet(e,t){return this.application.getControllerForElementAndIdentifier(e,t)}getOutletFromMap(e,t){return this.outletsByName.getValuesForKey(t).find(r=>r.element===e)}get scope(){return this.context.scope}get schema(){return this.context.schema}get identifier(){return this.context.identifier}get application(){return this.context.application}get router(){return this.application.router}},ur=class{constructor(e,t){this.logDebugActivity=(r,s={})=>{let{identifier:n,controller:o,element:a}=this;s=Object.assign({identifier:n,controller:o,element:a},s),this.application.logDebugActivity(this.identifier,r,s)},this.module=e,this.scope=t,this.controller=new e.controllerConstructor(this),this.bindingObserver=new lr(this,this.dispatcher),this.valueObserver=new cr(this,this.controller),this.targetObserver=new hr(this,this),this.outletObserver=new dr(this,this);try{this.controller.initialize(),this.logDebugActivity("initialize")}catch(r){this.handleError(r,"initializing controller")}}connect(){this.bindingObserver.start(),this.valueObserver.start(),this.targetObserver.start(),this.outletObserver.start();try{this.controller.connect(),this.logDebugActivity("connect")}catch(e){this.handleError(e,"connecting controller")}}refresh(){this.outletObserver.refresh()}disconnect(){try{this.controller.disconnect(),this.logDebugActivity("disconnect")}catch(e){this.handleError(e,"disconnecting controller")}this.outletObserver.stop(),this.targetObserver.stop(),this.valueObserver.stop(),this.bindingObserver.stop()}get application(){return this.module.application}get identifier(){return this.module.identifier}get schema(){return this.application.schema}get dispatcher(){return this.application.dispatcher}get element(){return this.scope.element}get parentElement(){return this.element.parentElement}handleError(e,t,r={}){let{identifier:s,controller:n,element:o}=this;r=Object.assign({identifier:s,controller:n,element:o},r),this.application.handleError(e,`Error ${t}`,r)}targetConnected(e,t){this.invokeControllerMethod(`${t}TargetConnected`,e)}targetDisconnected(e,t){this.invokeControllerMethod(`${t}TargetDisconnected`,e)}outletConnected(e,t,r){this.invokeControllerMethod(`${ir(r)}OutletConnected`,e,t)}outletDisconnected(e,t,r){this.invokeControllerMethod(`${ir(r)}OutletDisconnected`,e,t)}invokeControllerMethod(e,...t){let r=this.controller;typeof r[e]=="function"&&r[e](...t)}};function Do(i){return Ho(i,qo(i))}function Ho(i,e){let t=Wo(i),r=Vo(i.prototype,e);return Object.defineProperties(t.prototype,r),t}function qo(i){return _t(i,"blessings").reduce((t,r)=>{let s=r(i);for(let n in s){let o=t[n]||{};t[n]=Object.assign(o,s[n])}return t},{})}function Vo(i,e){return jo(e).reduce((t,r)=>{let s=No(i,e,r);return s&&Object.assign(t,{[r]:s}),t},{})}function No(i,e,t){let r=Object.getOwnPropertyDescriptor(i,t);if(!(r&&"value"in r)){let n=Object.getOwnPropertyDescriptor(e,t).value;return r&&(n.get=r.get||n.get,n.set=r.set||n.set),n}}var jo=typeof Object.getOwnPropertySymbols=="function"?i=>[...Object.getOwnPropertyNames(i),...Object.getOwnPropertySymbols(i)]:Object.getOwnPropertyNames,Wo=(()=>{function i(t){function r(){return Reflect.construct(t,arguments,new.target)}return r.prototype=Object.create(t.prototype,{constructor:{value:r}}),Reflect.setPrototypeOf(r,t),r}function e(){let r=i(function(){this.a.call(this)});return r.prototype.a=function(){},new r}try{return e(),i}catch{return r=>class extends r{}}})();function zo(i){return{identifier:i.identifier,controllerConstructor:Do(i.controllerConstructor)}}var fr=class{constructor(e,t){this.application=e,this.definition=zo(t),this.contextsByScope=new WeakMap,this.connectedContexts=new Set}get identifier(){return this.definition.identifier}get controllerConstructor(){return this.definition.controllerConstructor}get contexts(){return Array.from(this.connectedContexts)}connectContextForScope(e){let t=this.fetchContextForScope(e);this.connectedContexts.add(t),t.connect()}disconnectContextForScope(e){let t=this.contextsByScope.get(e);t&&(this.connectedContexts.delete(t),t.disconnect())}fetchContextForScope(e){let t=this.contextsByScope.get(e);return t||(t=new ur(this,e),this.contextsByScope.set(e,t)),t}},pr=class{constructor(e){this.scope=e}has(e){return this.data.has(this.getDataKey(e))}get(e){return this.getAll(e)[0]}getAll(e){let t=this.data.get(this.getDataKey(e))||"";return Lo(t)}getAttributeName(e){return this.data.getAttributeNameForKey(this.getDataKey(e))}getDataKey(e){return`${e}-class`}get data(){return this.scope.data}},mr=class{constructor(e){this.scope=e}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get(e){let t=this.getAttributeNameForKey(e);return this.element.getAttribute(t)}set(e,t){let r=this.getAttributeNameForKey(e);return this.element.setAttribute(r,t),this.get(e)}has(e){let t=this.getAttributeNameForKey(e);return this.element.hasAttribute(t)}delete(e){if(this.has(e)){let t=this.getAttributeNameForKey(e);return this.element.removeAttribute(t),!0}else return!1}getAttributeNameForKey(e){return`data-${this.identifier}-${js(e)}`}},gr=class{constructor(e){this.warnedKeysByObject=new WeakMap,this.logger=e}warn(e,t,r){let s=this.warnedKeysByObject.get(e);s||(s=new Set,this.warnedKeysByObject.set(e,s)),s.has(t)||(s.add(t),this.logger.warn(r,e))}};function vr(i,e){return`[${i}~="${e}"]`}var br=class{constructor(e){this.scope=e}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get schema(){return this.scope.schema}has(e){return this.find(e)!=null}find(...e){return e.reduce((t,r)=>t||this.findTarget(r)||this.findLegacyTarget(r),void 0)}findAll(...e){return e.reduce((t,r)=>[...t,...this.findAllTargets(r),...this.findAllLegacyTargets(r)],[])}findTarget(e){let t=this.getSelectorForTargetName(e);return this.scope.findElement(t)}findAllTargets(e){let t=this.getSelectorForTargetName(e);return this.scope.findAllElements(t)}getSelectorForTargetName(e){let t=this.schema.targetAttributeForScope(this.identifier);return vr(t,e)}findLegacyTarget(e){let t=this.getLegacySelectorForTargetName(e);return this.deprecate(this.scope.findElement(t),e)}findAllLegacyTargets(e){let t=this.getLegacySelectorForTargetName(e);return this.scope.findAllElements(t).map(r=>this.deprecate(r,e))}getLegacySelectorForTargetName(e){let t=`${this.identifier}.${e}`;return vr(this.schema.targetAttribute,t)}deprecate(e,t){if(e){let{identifier:r}=this,s=this.schema.targetAttribute,n=this.schema.targetAttributeForScope(r);this.guide.warn(e,`target:${t}`,`Please replace ${s}="${r}.${t}" with ${n}="${t}". The ${s} attribute is deprecated and will be removed in a future version of Stimulus.`)}return e}get guide(){return this.scope.guide}},yr=class{constructor(e,t){this.scope=e,this.controllerElement=t}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get schema(){return this.scope.schema}has(e){return this.find(e)!=null}find(...e){return e.reduce((t,r)=>t||this.findOutlet(r),void 0)}findAll(...e){return e.reduce((t,r)=>[...t,...this.findAllOutlets(r)],[])}getSelectorForOutletName(e){let t=this.schema.outletAttributeForScope(this.identifier,e);return this.controllerElement.getAttribute(t)}findOutlet(e){let t=this.getSelectorForOutletName(e);if(t)return this.findElement(t,e)}findAllOutlets(e){let t=this.getSelectorForOutletName(e);return t?this.findAllElements(t,e):[]}findElement(e,t){return this.scope.queryElements(e).filter(s=>this.matchesElement(s,e,t))[0]}findAllElements(e,t){return this.scope.queryElements(e).filter(s=>this.matchesElement(s,e,t))}matchesElement(e,t,r){let s=e.getAttribute(this.scope.schema.controllerAttribute)||"";return e.matches(t)&&s.split(" ").includes(r)}},wr=class i{constructor(e,t,r,s){this.targets=new br(this),this.classes=new pr(this),this.data=new mr(this),this.containsElement=n=>n.closest(this.controllerSelector)===this.element,this.schema=e,this.element=t,this.identifier=r,this.guide=new gr(s),this.outlets=new yr(this.documentScope,t)}findElement(e){return this.element.matches(e)?this.element:this.queryElements(e).find(this.containsElement)}findAllElements(e){return[...this.element.matches(e)?[this.element]:[],...this.queryElements(e).filter(this.containsElement)]}queryElements(e){return Array.from(this.element.querySelectorAll(e))}get controllerSelector(){return vr(this.schema.controllerAttribute,this.identifier)}get isDocumentScope(){return this.element===document.documentElement}get documentScope(){return this.isDocumentScope?this:new i(this.schema,document.documentElement,this.identifier,this.guide.logger)}},Er=class{constructor(e,t,r){this.element=e,this.schema=t,this.delegate=r,this.valueListObserver=new Nt(this.element,this.controllerAttribute,this),this.scopesByIdentifierByElement=new WeakMap,this.scopeReferenceCounts=new WeakMap}start(){this.valueListObserver.start()}stop(){this.valueListObserver.stop()}get controllerAttribute(){return this.schema.controllerAttribute}parseValueForToken(e){let{element:t,content:r}=e;return this.parseValueForElementAndIdentifier(t,r)}parseValueForElementAndIdentifier(e,t){let r=this.fetchScopesByIdentifierForElement(e),s=r.get(t);return s||(s=this.delegate.createScopeForElementAndIdentifier(e,t),r.set(t,s)),s}elementMatchedValue(e,t){let r=(this.scopeReferenceCounts.get(t)||0)+1;this.scopeReferenceCounts.set(t,r),r==1&&this.delegate.scopeConnected(t)}elementUnmatchedValue(e,t){let r=this.scopeReferenceCounts.get(t);r&&(this.scopeReferenceCounts.set(t,r-1),r==1&&this.delegate.scopeDisconnected(t))}fetchScopesByIdentifierForElement(e){let t=this.scopesByIdentifierByElement.get(e);return t||(t=new Map,this.scopesByIdentifierByElement.set(e,t)),t}},_r=class{constructor(e){this.application=e,this.scopeObserver=new Er(this.element,this.schema,this),this.scopesByIdentifier=new me,this.modulesByIdentifier=new Map}get element(){return this.application.element}get schema(){return this.application.schema}get logger(){return this.application.logger}get controllerAttribute(){return this.schema.controllerAttribute}get modules(){return Array.from(this.modulesByIdentifier.values())}get contexts(){return this.modules.reduce((e,t)=>e.concat(t.contexts),[])}start(){this.scopeObserver.start()}stop(){this.scopeObserver.stop()}loadDefinition(e){this.unloadIdentifier(e.identifier);let t=new fr(this.application,e);this.connectModule(t);let r=e.controllerConstructor.afterLoad;r&&r.call(e.controllerConstructor,e.identifier,this.application)}unloadIdentifier(e){let t=this.modulesByIdentifier.get(e);t&&this.disconnectModule(t)}getContextForElementAndIdentifier(e,t){let r=this.modulesByIdentifier.get(t);if(r)return r.contexts.find(s=>s.element==e)}proposeToConnectScopeForElementAndIdentifier(e,t){let r=this.scopeObserver.parseValueForElementAndIdentifier(e,t);r?this.scopeObserver.elementMatchedValue(r.element,r):console.error(`Couldn't find or create scope for identifier: "${t}" and element:`,e)}handleError(e,t,r){this.application.handleError(e,t,r)}createScopeForElementAndIdentifier(e,t){return new wr(this.schema,e,t,this.logger)}scopeConnected(e){this.scopesByIdentifier.add(e.identifier,e);let t=this.modulesByIdentifier.get(e.identifier);t&&t.connectContextForScope(e)}scopeDisconnected(e){this.scopesByIdentifier.delete(e.identifier,e);let t=this.modulesByIdentifier.get(e.identifier);t&&t.disconnectContextForScope(e)}connectModule(e){this.modulesByIdentifier.set(e.identifier,e),this.scopesByIdentifier.getValuesForKey(e.identifier).forEach(r=>e.connectContextForScope(r))}disconnectModule(e){this.modulesByIdentifier.delete(e.identifier),this.scopesByIdentifier.getValuesForKey(e.identifier).forEach(r=>e.disconnectContextForScope(r))}},$o={controllerAttribute:"data-controller",actionAttribute:"data-action",targetAttribute:"data-target",targetAttributeForScope:i=>`data-${i}-target`,outletAttributeForScope:(i,e)=>`data-${i}-${e}-outlet`,keyMappings:Object.assign(Object.assign({enter:"Enter",tab:"Tab",esc:"Escape",space:" ",up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight",home:"Home",end:"End",page_up:"PageUp",page_down:"PageDown"},Bs("abcdefghijklmnopqrstuvwxyz".split("").map(i=>[i,i]))),Bs("0123456789".split("").map(i=>[i,i])))};function Bs(i){return i.reduce((e,[t,r])=>Object.assign(Object.assign({},e),{[t]:r}),{})}var jt=class{constructor(e=document.documentElement,t=$o){this.logger=console,this.debug=!1,this.logDebugActivity=(r,s,n={})=>{this.debug&&this.logFormattedMessage(r,s,n)},this.element=e,this.schema=t,this.dispatcher=new tr(this),this.router=new _r(this),this.actionDescriptorFilters=Object.assign({},yo)}static start(e,t){let r=new this(e,t);return r.start(),r}async start(){await Uo(),this.logDebugActivity("application","starting"),this.dispatcher.start(),this.router.start(),this.logDebugActivity("application","start")}stop(){this.logDebugActivity("application","stopping"),this.dispatcher.stop(),this.router.stop(),this.logDebugActivity("application","stop")}register(e,t){this.load({identifier:e,controllerConstructor:t})}registerActionOption(e,t){this.actionDescriptorFilters[e]=t}load(e,...t){(Array.isArray(e)?e:[e,...t]).forEach(s=>{s.controllerConstructor.shouldLoad&&this.router.loadDefinition(s)})}unload(e,...t){(Array.isArray(e)?e:[e,...t]).forEach(s=>this.router.unloadIdentifier(s))}get controllers(){return this.router.contexts.map(e=>e.controller)}getControllerForElementAndIdentifier(e,t){let r=this.router.getContextForElementAndIdentifier(e,t);return r?r.controller:null}handleError(e,t,r){var s;this.logger.error(`%s %o %o`,t,e,r),(s=window.onerror)===null||s===void 0||s.call(window,t,"",0,0,e)}logFormattedMessage(e,t,r={}){r=Object.assign({application:this},r),this.logger.groupCollapsed(`${e} #${t}`),this.logger.log("details:",Object.assign({},r)),this.logger.groupEnd()}};function Uo(){return new Promise(i=>{document.readyState=="loading"?document.addEventListener("DOMContentLoaded",()=>i()):i()})}function Ko(i){return _t(i,"classes").reduce((t,r)=>Object.assign(t,Xo(r)),{})}function Xo(i){return{[`${i}Class`]:{get(){let{classes:e}=this;if(e.has(i))return e.get(i);{let t=e.getAttributeName(i);throw new Error(`Missing attribute "${t}"`)}}},[`${i}Classes`]:{get(){return this.classes.getAll(i)}},[`has${Et(i)}Class`]:{get(){return this.classes.has(i)}}}}function Yo(i){return _t(i,"outlets").reduce((t,r)=>Object.assign(t,Jo(r)),{})}function Ds(i,e,t){return i.application.getControllerForElementAndIdentifier(e,t)}function Hs(i,e,t){let r=Ds(i,e,t);if(r||(i.application.router.proposeToConnectScopeForElementAndIdentifier(e,t),r=Ds(i,e,t),r))return r}function Jo(i){let e=ir(i);return{[`${e}Outlet`]:{get(){let t=this.outlets.find(i),r=this.outlets.getSelectorForOutletName(i);if(t){let s=Hs(this,t,i);if(s)return s;throw new Error(`The provided outlet element is missing an outlet controller "${i}" instance for host controller "${this.identifier}"`)}throw new Error(`Missing outlet element "${i}" for host controller "${this.identifier}". Stimulus couldn't find a matching outlet element using selector "${r}".`)}},[`${e}Outlets`]:{get(){let t=this.outlets.findAll(i);return t.length>0?t.map(r=>{let s=Hs(this,r,i);if(s)return s;console.warn(`The provided outlet element is missing an outlet controller "${i}" instance for host controller "${this.identifier}"`,r)}).filter(r=>r):[]}},[`${e}OutletElement`]:{get(){let t=this.outlets.find(i),r=this.outlets.getSelectorForOutletName(i);if(t)return t;throw new Error(`Missing outlet element "${i}" for host controller "${this.identifier}". Stimulus couldn't find a matching outlet element using selector "${r}".`)}},[`${e}OutletElements`]:{get(){return this.outlets.findAll(i)}},[`has${Et(e)}Outlet`]:{get(){return this.outlets.has(i)}}}}function Go(i){return _t(i,"targets").reduce((t,r)=>Object.assign(t,Qo(r)),{})}function Qo(i){return{[`${i}Target`]:{get(){let e=this.targets.find(i);if(e)return e;throw new Error(`Missing target element "${i}" for "${this.identifier}" controller`)}},[`${i}Targets`]:{get(){return this.targets.findAll(i)}},[`has${Et(i)}Target`]:{get(){return this.targets.has(i)}}}}function Zo(i){let e=Ro(i,"values"),t={valueDescriptorMap:{get(){return e.reduce((r,s)=>{let n=$s(s,this.identifier),o=this.data.getAttributeNameForKey(n.key);return Object.assign(r,{[o]:n})},{})}}};return e.reduce((r,s)=>Object.assign(r,ea(s)),t)}function ea(i,e){let t=$s(i,e),{key:r,name:s,reader:n,writer:o}=t;return{[s]:{get(){let a=this.data.get(r);return a!==null?n(a):t.defaultValue},set(a){a===void 0?this.data.delete(r):this.data.set(r,o(a))}},[`has${Et(s)}`]:{get(){return this.data.has(r)||t.hasCustomDefaultValue}}}}function $s([i,e],t){return sa({controller:t,token:i,typeDefinition:e})}function Wt(i){switch(i){case Array:return"array";case Boolean:return"boolean";case Number:return"number";case Object:return"object";case String:return"string"}}function wt(i){switch(typeof i){case"boolean":return"boolean";case"number":return"number";case"string":return"string"}if(Array.isArray(i))return"array";if(Object.prototype.toString.call(i)==="[object Object]")return"object"}function ta(i){let{controller:e,token:t,typeObject:r}=i,s=Ps(r.type),n=Ps(r.default),o=s&&n,a=s&&!n,d=!s&&n,f=Wt(r.type),u=wt(i.typeObject.default);if(a)return f;if(d)return u;if(f!==u){let _=e?`${e}.${t}`:t;throw new Error(`The specified default value for the Stimulus Value "${_}" must match the defined type "${f}". The provided default value of "${r.default}" is of type "${u}".`)}if(o)return f}function ia(i){let{controller:e,token:t,typeDefinition:r}=i,n=ta({controller:e,token:t,typeObject:r}),o=wt(r),a=Wt(r),d=n||o||a;if(d)return d;let f=e?`${e}.${r}`:t;throw new Error(`Unknown value type "${f}" for "${t}" value`)}function ra(i){let e=Wt(i);if(e)return qs[e];let t=rr(i,"default"),r=rr(i,"type"),s=i;if(t)return s.default;if(r){let{type:n}=s,o=Wt(n);if(o)return qs[o]}return i}function sa(i){let{token:e,typeDefinition:t}=i,r=`${js(e)}-value`,s=ia(i);return{type:s,key:r,name:Sr(r),get defaultValue(){return ra(t)},get hasCustomDefaultValue(){return wt(t)!==void 0},reader:na[s],writer:Vs[s]||Vs.default}}var qs={get array(){return[]},boolean:!1,number:0,get object(){return{}},string:""},na={array(i){let e=JSON.parse(i);if(!Array.isArray(e))throw new TypeError(`expected value of type "array" but instead got value "${i}" of type "${wt(e)}"`);return e},boolean(i){return!(i=="0"||String(i).toLowerCase()=="false")},number(i){return Number(i.replace(/_/g,""))},object(i){let e=JSON.parse(i);if(e===null||typeof e!="object"||Array.isArray(e))throw new TypeError(`expected value of type "object" but instead got value "${i}" of type "${wt(e)}"`);return e},string(i){return i}},Vs={default:oa,array:Ns,object:Ns};function Ns(i){return JSON.stringify(i)}function oa(i){return`${i}`}var v=class{constructor(e){this.context=e}static get shouldLoad(){return!0}static afterLoad(e,t){}get application(){return this.context.application}get scope(){return this.context.scope}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get targets(){return this.scope.targets}get outlets(){return this.scope.outlets}get classes(){return this.scope.classes}get data(){return this.scope.data}initialize(){}connect(){}disconnect(){}dispatch(e,{target:t=this.element,detail:r={},prefix:s=this.identifier,bubbles:n=!0,cancelable:o=!0}={}){let a=s?`${s}:${e}`:e,d=new CustomEvent(a,{detail:r,bubbles:n,cancelable:o});return t.dispatchEvent(d),d}};v.blessings=[Ko,Go,Zo,Yo];v.targets=[];v.outlets=[];v.values={};var zt=class extends v{connect(){console.log(`resource-layout connected: ${this.element}`)}};var $t=class extends v{connect(){console.log(`nav-grid-menu-item connected: ${this.element}`)}};var Ut=class extends v{connect(){console.log(`nav-grid-menu connected: ${this.element}`)}};var Kt=class extends v{connect(){console.log(`nav-user-section connected: ${this.element}`)}};var Xt=class extends v{connect(){console.log(`nav-user-link connected: ${this.element}`)}};var Yt=class extends v{connect(){console.log(`nav-user connected: ${this.element}`)}};var Jt=class extends v{static targets=["openIcon","closeIcon"];static outlets=["sidebar"];static values={placement:{type:String,default:"left"},bodyScrolling:{type:Boolean,default:!1},backdrop:{type:Boolean,default:!0},edge:{type:Boolean,default:!1},edgeOffset:{type:String,default:"bottom-[60px]"}};static classes={backdrop:"bg-gray-900/50 dark:bg-gray-900/80 fixed inset-0 z-30"};initialize(){this.visible=!1,this.handleEscapeKey=this.handleEscapeKey.bind(this)}connect(){document.addEventListener("keydown",this.handleEscapeKey)}sidebarOutletConnected(){this.#e(this.sidebarOutlet.element)}disconnect(){this.#i(),document.removeEventListener("keydown",this.handleEscapeKey),this.bodyScrollingValue||document.body.classList.remove("overflow-hidden")}#e(i){i.setAttribute("aria-hidden","true"),i.classList.add("transition-transform"),this.#s(this.placementValue).base.forEach(e=>{i.classList.add(e)})}toggleDrawer(){this.visible?this.hideDrawer():this.showDrawer()}showDrawer(){this.edgeValue?this.#r(`${this.placementValue}-edge`,!0):this.#n(this.placementValue,!0),this.openIconTarget.classList.add("hidden"),this.openIconTarget.setAttribute("aria-hidden","true"),this.closeIconTarget.classList.remove("hidden"),this.closeIconTarget.setAttribute("aria-hidden","false"),this.sidebarOutlet.element.setAttribute("aria-modal","true"),this.sidebarOutlet.element.setAttribute("role","dialog"),this.sidebarOutlet.element.removeAttribute("aria-hidden"),this.bodyScrollingValue||document.body.classList.add("overflow-hidden"),this.backdropValue&&this.#t(),this.visible=!0,this.dispatch("show")}hideDrawer(){this.edgeValue?this.#r(`${this.placementValue}-edge`,!1):this.#n(this.placementValue,!1),this.openIconTarget.classList.remove("hidden"),this.openIconTarget.setAttribute("aria-hidden","false"),this.closeIconTarget.classList.add("hidden"),this.closeIconTarget.setAttribute("aria-hidden","true"),this.sidebarOutlet.element.setAttribute("aria-hidden","true"),this.sidebarOutlet.element.removeAttribute("aria-modal"),this.sidebarOutlet.element.removeAttribute("role"),this.bodyScrollingValue||document.body.classList.remove("overflow-hidden"),this.backdropValue&&this.#i(),this.visible=!1,this.dispatch("hide")}handleEscapeKey(i){i.key==="Escape"&&this.visible&&this.hideDrawer()}#t(){if(!this.visible){let i=document.createElement("div");i.setAttribute("data-drawer-backdrop",""),i.classList.add(...this.constructor.classes.backdrop.split(" ")),i.addEventListener("click",()=>this.hideDrawer()),document.body.appendChild(i)}}#i(){let i=document.querySelector("[data-drawer-backdrop]");i&&i.remove()}#s(i){let e={top:{base:["top-0","left-0","right-0"],active:["transform-none"],inactive:["-translate-y-full"]},right:{base:["right-0","top-0"],active:["transform-none"],inactive:["translate-x-full"]},bottom:{base:["bottom-0","left-0","right-0"],active:["transform-none"],inactive:["translate-y-full"]},left:{base:["left-0","top-0"],active:["transform-none"],inactive:["-translate-x-full"]},"bottom-edge":{base:["left-0","top-0"],active:["transform-none"],inactive:["translate-y-full",this.edgeOffsetValue]}};return e[i]||e.left}#n(i,e){let t=this.#s(i);e?(t.active.forEach(r=>this.sidebarOutlet.element.classList.add(r)),t.inactive.forEach(r=>this.sidebarOutlet.element.classList.remove(r))):(t.active.forEach(r=>this.sidebarOutlet.element.classList.remove(r)),t.inactive.forEach(r=>this.sidebarOutlet.element.classList.add(r)))}#r(i,e){this.#n(i,e)}};var Gt=class extends v{connect(){console.log(`sidebar-menu-item connected: ${this.element}`)}};var Qt=class extends v{connect(){console.log(`sidebar-menu connected: ${this.element}`)}};var Zt=class extends v{connect(){console.log(`sidebar connected: ${this.element}`)}};var ei=class extends v{connect(){console.log(`has-many-panel connected: ${this.element}`)}};var ti=class extends v{static targets=["target","template","addButton"];static values={wrapperSelector:{type:String,default:".nested-resource-form-fields"},limit:Number};connect(){this.updateState()}add(i){i.preventDefault();let e=this.templateTarget.innerHTML.replace(/NEW_RECORD/g,new Date().getTime().toString());this.targetTarget.insertAdjacentHTML("beforebegin",e);let t=new CustomEvent("nested-resource-form-fields:add",{bubbles:!0});this.element.dispatchEvent(t),this.updateState()}remove(i){i.preventDefault();let e=i.target.closest(this.wrapperSelectorValue);if(e.dataset.newRecord!==void 0)e.remove();else{e.style.display="none",e.classList.remove(...e.classList);let r=e.querySelector("input[name*='_destroy']");r.value="1"}let t=new CustomEvent("nested-resource-form-fields:remove",{bubbles:!0});this.element.dispatchEvent(t),this.updateState()}updateState(){!this.hasAddButtonTarget||this.limitValue==0||(this.childCount>=this.limitValue?this.addButtonTarget.style.display="none":this.addButtonTarget.style.display="initial")}get childCount(){return this.element.querySelectorAll(this.wrapperSelectorValue).length}};var ii=class extends v{connect(){console.log(`toolbar connected: ${this.element}`)}};var ri=class extends v{connect(){console.log(`table-search-input connected: ${this.element}`)}};var si=class extends v{connect(){console.log(`table-toolbar connected: ${this.element}`)}};var ni=class extends v{connect(){console.log(`table connected: ${this.element}`)}};var qh=vo(Ys(),1),oi=class extends v{connect(){console.log(`form connected: ${this.element}`)}submit(){this.element.requestSubmit()}};var Aa=function(){function i(e,t){t===void 0&&(t=[]),this._eventType=e,this._eventFunctions=t}return i.prototype.init=function(){var e=this;this._eventFunctions.forEach(function(t){typeof window<"u"&&window.addEventListener(e._eventType,t)})},i}(),Js=Aa;var La=function(){function i(){this._instances={Accordion:{},Carousel:{},Collapse:{},Dial:{},Dismiss:{},Drawer:{},Dropdown:{},Modal:{},Popover:{},Tabs:{},Tooltip:{},InputCounter:{},CopyClipboard:{}}}return i.prototype.addInstance=function(e,t,r,s){if(s===void 0&&(s=!1),!this._instances[e])return console.warn("Flowbite: Component ".concat(e," does not exist.")),!1;if(this._instances[e][r]&&!s){console.warn("Flowbite: Instance with ID ".concat(r," already exists."));return}s&&this._instances[e][r]&&this._instances[e][r].destroyAndRemoveInstance(),this._instances[e][r||this._generateRandomId()]=t},i.prototype.getAllInstances=function(){return this._instances},i.prototype.getInstances=function(e){return this._instances[e]?this._instances[e]:(console.warn("Flowbite: Component ".concat(e," does not exist.")),!1)},i.prototype.getInstance=function(e,t){if(this._componentAndInstanceCheck(e,t)){if(!this._instances[e][t]){console.warn("Flowbite: Instance with ID ".concat(t," does not exist."));return}return this._instances[e][t]}},i.prototype.destroyAndRemoveInstance=function(e,t){this._componentAndInstanceCheck(e,t)&&(this.destroyInstanceObject(e,t),this.removeInstance(e,t))},i.prototype.removeInstance=function(e,t){this._componentAndInstanceCheck(e,t)&&delete this._instances[e][t]},i.prototype.destroyInstanceObject=function(e,t){this._componentAndInstanceCheck(e,t)&&this._instances[e][t].destroy()},i.prototype.instanceExists=function(e,t){return!(!this._instances[e]||!this._instances[e][t])},i.prototype._generateRandomId=function(){return Math.random().toString(36).substr(2,9)},i.prototype._componentAndInstanceCheck=function(e,t){return this._instances[e]?this._instances[e][t]?!0:(console.warn("Flowbite: Instance with ID ".concat(t," does not exist.")),!1):(console.warn("Flowbite: Component ".concat(e," does not exist.")),!1)},i}(),Gs=new La,y=Gs;typeof window<"u"&&(window.FlowbiteInstances=Gs);var ai=function(){return ai=Object.assign||function(i){for(var e,t=1,r=arguments.length;t"u")return!1;var e=D(i).ShadowRoot;return i instanceof e||i instanceof ShadowRoot}function qa(i){var e=i.state;Object.keys(e.elements).forEach(function(t){var r=e.styles[t]||{},s=e.attributes[t]||{},n=e.elements[t];!K(n)||!Y(n)||(Object.assign(n.style,r),Object.keys(s).forEach(function(o){var a=s[o];a===!1?n.removeAttribute(o):n.setAttribute(o,a===!0?"":a)}))})}function Va(i){var e=i.state,t={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,t.popper),e.styles=t,e.elements.arrow&&Object.assign(e.elements.arrow.style,t.arrow),function(){Object.keys(e.elements).forEach(function(r){var s=e.elements[r],n=e.attributes[r]||{},o=Object.keys(e.styles.hasOwnProperty(r)?e.styles[r]:t[r]),a=o.reduce(function(d,f){return d[f]="",d},{});!K(s)||!Y(s)||(Object.assign(s.style,a),Object.keys(n).forEach(function(d){s.removeAttribute(d)}))})}}var an={name:"applyStyles",enabled:!0,phase:"write",fn:qa,effect:Va,requires:["computeStyles"]};function J(i){return i.split("-")[0]}var le=Math.max,Pe=Math.min,ve=Math.round;function Ze(){var i=navigator.userAgentData;return i!=null&&i.brands&&Array.isArray(i.brands)?i.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function St(){return!/^((?!chrome|android).)*safari/i.test(Ze())}function se(i,e,t){e===void 0&&(e=!1),t===void 0&&(t=!1);var r=i.getBoundingClientRect(),s=1,n=1;e&&K(i)&&(s=i.offsetWidth>0&&ve(r.width)/i.offsetWidth||1,n=i.offsetHeight>0&&ve(r.height)/i.offsetHeight||1);var o=re(i)?D(i):window,a=o.visualViewport,d=!St()&&t,f=(r.left+(d&&a?a.offsetLeft:0))/s,u=(r.top+(d&&a?a.offsetTop:0))/n,_=r.width/s,E=r.height/n;return{width:_,height:E,top:u,right:f+_,bottom:u+E,left:f,x:f,y:u}}function Re(i){var e=se(i),t=i.offsetWidth,r=i.offsetHeight;return Math.abs(e.width-t)<=1&&(t=e.width),Math.abs(e.height-r)<=1&&(r=e.height),{x:i.offsetLeft,y:i.offsetTop,width:t,height:r}}function At(i,e){var t=e.getRootNode&&e.getRootNode();if(i.contains(e))return!0;if(t&&Qe(t)){var r=e;do{if(r&&i.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Z(i){return D(i).getComputedStyle(i)}function kr(i){return["table","td","th"].indexOf(Y(i))>=0}function Q(i){return((re(i)?i.ownerDocument:i.document)||window.document).documentElement}function be(i){return Y(i)==="html"?i:i.assignedSlot||i.parentNode||(Qe(i)?i.host:null)||Q(i)}function ln(i){return!K(i)||Z(i).position==="fixed"?null:i.offsetParent}function Na(i){var e=/firefox/i.test(Ze()),t=/Trident/i.test(Ze());if(t&&K(i)){var r=Z(i);if(r.position==="fixed")return null}var s=be(i);for(Qe(s)&&(s=s.host);K(s)&&["html","body"].indexOf(Y(s))<0;){var n=Z(s);if(n.transform!=="none"||n.perspective!=="none"||n.contain==="paint"||["transform","perspective"].indexOf(n.willChange)!==-1||e&&n.willChange==="filter"||e&&n.filter&&n.filter!=="none")return s;s=s.parentNode}return null}function ce(i){for(var e=D(i),t=ln(i);t&&kr(t)&&Z(t).position==="static";)t=ln(t);return t&&(Y(t)==="html"||Y(t)==="body"&&Z(t).position==="static")?e:t||Na(i)||e}function Fe(i){return["top","bottom"].indexOf(i)>=0?"x":"y"}function Be(i,e,t){return le(i,Pe(e,t))}function cn(i,e,t){var r=Be(i,e,t);return r>t?t:r}function Lt(){return{top:0,right:0,bottom:0,left:0}}function Ct(i){return Object.assign({},Lt(),i)}function Tt(i,e){return e.reduce(function(t,r){return t[r]=i,t},{})}var ja=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,Ct(typeof e!="number"?e:Tt(e,we))};function Wa(i){var e,t=i.state,r=i.name,s=i.options,n=t.elements.arrow,o=t.modifiersData.popperOffsets,a=J(t.placement),d=Fe(a),f=[W,z].indexOf(a)>=0,u=f?"height":"width";if(!(!n||!o)){var _=ja(s.padding,t),E=Re(n),w=d==="y"?V:W,O=d==="y"?U:z,C=t.rects.reference[u]+t.rects.reference[d]-o[d]-t.rects.popper[u],S=o[d]-t.rects.reference[d],k=ce(n),I=k?d==="y"?k.clientHeight||0:k.clientWidth||0:0,M=C/2-S/2,L=_[w],T=I-E[u]-_[O],b=I/2-E[u]/2+M,x=Be(L,b,T),P=d;t.modifiersData[r]=(e={},e[P]=x,e.centerOffset=x-b,e)}}function za(i){var e=i.state,t=i.options,r=t.element,s=r===void 0?"[data-popper-arrow]":r;s!=null&&(typeof s=="string"&&(s=e.elements.popper.querySelector(s),!s)||At(e.elements.popper,s)&&(e.elements.arrow=s))}var hn={name:"arrow",enabled:!0,phase:"main",fn:Wa,effect:za,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ne(i){return i.split("-")[1]}var $a={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Ua(i,e){var t=i.x,r=i.y,s=e.devicePixelRatio||1;return{x:ve(t*s)/s||0,y:ve(r*s)/s||0}}function dn(i){var e,t=i.popper,r=i.popperRect,s=i.placement,n=i.variation,o=i.offsets,a=i.position,d=i.gpuAcceleration,f=i.adaptive,u=i.roundOffsets,_=i.isFixed,E=o.x,w=E===void 0?0:E,O=o.y,C=O===void 0?0:O,S=typeof u=="function"?u({x:w,y:C}):{x:w,y:C};w=S.x,C=S.y;var k=o.hasOwnProperty("x"),I=o.hasOwnProperty("y"),M=W,L=V,T=window;if(f){var b=ce(t),x="clientHeight",P="clientWidth";if(b===D(t)&&(b=Q(t),Z(b).position!=="static"&&a==="absolute"&&(x="scrollHeight",P="scrollWidth")),b=b,s===V||(s===W||s===z)&&n===Me){L=U;var F=_&&b===T&&T.visualViewport?T.visualViewport.height:b[x];C-=F-r.height,C*=d?1:-1}if(s===W||(s===V||s===U)&&n===Me){M=z;var N=_&&b===T&&T.visualViewport?T.visualViewport.width:b[P];w-=N-r.width,w*=d?1:-1}}var X=Object.assign({position:a},f&&$a),$=u===!0?Ua({x:w,y:C},D(t)):{x:w,y:C};if(w=$.x,C=$.y,d){var j;return Object.assign({},X,(j={},j[L]=I?"0":"",j[M]=k?"0":"",j.transform=(T.devicePixelRatio||1)<=1?"translate("+w+"px, "+C+"px)":"translate3d("+w+"px, "+C+"px, 0)",j))}return Object.assign({},X,(e={},e[L]=I?C+"px":"",e[M]=k?w+"px":"",e.transform="",e))}function Ka(i){var e=i.state,t=i.options,r=t.gpuAcceleration,s=r===void 0?!0:r,n=t.adaptive,o=n===void 0?!0:n,a=t.roundOffsets,d=a===void 0?!0:a,f={placement:J(e.placement),variation:ne(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,dn(Object.assign({},f,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:o,roundOffsets:d})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,dn(Object.assign({},f,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:d})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}var un={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Ka,data:{}};var gi={passive:!0};function Xa(i){var e=i.state,t=i.instance,r=i.options,s=r.scroll,n=s===void 0?!0:s,o=r.resize,a=o===void 0?!0:o,d=D(e.elements.popper),f=[].concat(e.scrollParents.reference,e.scrollParents.popper);return n&&f.forEach(function(u){u.addEventListener("scroll",t.update,gi)}),a&&d.addEventListener("resize",t.update,gi),function(){n&&f.forEach(function(u){u.removeEventListener("scroll",t.update,gi)}),a&&d.removeEventListener("resize",t.update,gi)}}var fn={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Xa,data:{}};var Ya={left:"right",right:"left",bottom:"top",top:"bottom"};function et(i){return i.replace(/left|right|bottom|top/g,function(e){return Ya[e]})}var Ja={start:"end",end:"start"};function vi(i){return i.replace(/start|end/g,function(e){return Ja[e]})}function De(i){var e=D(i),t=e.pageXOffset,r=e.pageYOffset;return{scrollLeft:t,scrollTop:r}}function He(i){return se(Q(i)).left+De(i).scrollLeft}function xr(i,e){var t=D(i),r=Q(i),s=t.visualViewport,n=r.clientWidth,o=r.clientHeight,a=0,d=0;if(s){n=s.width,o=s.height;var f=St();(f||!f&&e==="fixed")&&(a=s.offsetLeft,d=s.offsetTop)}return{width:n,height:o,x:a+He(i),y:d}}function Or(i){var e,t=Q(i),r=De(i),s=(e=i.ownerDocument)==null?void 0:e.body,n=le(t.scrollWidth,t.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),o=le(t.scrollHeight,t.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-r.scrollLeft+He(i),d=-r.scrollTop;return Z(s||t).direction==="rtl"&&(a+=le(t.clientWidth,s?s.clientWidth:0)-n),{width:n,height:o,x:a,y:d}}function qe(i){var e=Z(i),t=e.overflow,r=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(t+s+r)}function bi(i){return["html","body","#document"].indexOf(Y(i))>=0?i.ownerDocument.body:K(i)&&qe(i)?i:bi(be(i))}function Ee(i,e){var t;e===void 0&&(e=[]);var r=bi(i),s=r===((t=i.ownerDocument)==null?void 0:t.body),n=D(r),o=s?[n].concat(n.visualViewport||[],qe(r)?r:[]):r,a=e.concat(o);return s?a:a.concat(Ee(be(o)))}function tt(i){return Object.assign({},i,{left:i.x,top:i.y,right:i.x+i.width,bottom:i.y+i.height})}function Ga(i,e){var t=se(i,!1,e==="fixed");return t.top=t.top+i.clientTop,t.left=t.left+i.clientLeft,t.bottom=t.top+i.clientHeight,t.right=t.left+i.clientWidth,t.width=i.clientWidth,t.height=i.clientHeight,t.x=t.left,t.y=t.top,t}function pn(i,e,t){return e===pi?tt(xr(i,t)):re(e)?Ga(e,t):tt(Or(Q(i)))}function Qa(i){var e=Ee(be(i)),t=["absolute","fixed"].indexOf(Z(i).position)>=0,r=t&&K(i)?ce(i):i;return re(r)?e.filter(function(s){return re(s)&&At(s,r)&&Y(s)!=="body"}):[]}function Ir(i,e,t,r){var s=e==="clippingParents"?Qa(i):[].concat(e),n=[].concat(s,[t]),o=n[0],a=n.reduce(function(d,f){var u=pn(i,f,r);return d.top=le(u.top,d.top),d.right=Pe(u.right,d.right),d.bottom=Pe(u.bottom,d.bottom),d.left=le(u.left,d.left),d},pn(i,o,r));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function kt(i){var e=i.reference,t=i.element,r=i.placement,s=r?J(r):null,n=r?ne(r):null,o=e.x+e.width/2-t.width/2,a=e.y+e.height/2-t.height/2,d;switch(s){case V:d={x:o,y:e.y-t.height};break;case U:d={x:o,y:e.y+e.height};break;case z:d={x:e.x+e.width,y:a};break;case W:d={x:e.x-t.width,y:a};break;default:d={x:e.x,y:e.y}}var f=s?Fe(s):null;if(f!=null){var u=f==="y"?"height":"width";switch(n){case ge:d[f]=d[f]-(e[u]/2-t[u]/2);break;case Me:d[f]=d[f]+(e[u]/2-t[u]/2);break;default:}}return d}function he(i,e){e===void 0&&(e={});var t=e,r=t.placement,s=r===void 0?i.placement:r,n=t.strategy,o=n===void 0?i.strategy:n,a=t.boundary,d=a===void 0?sn:a,f=t.rootBoundary,u=f===void 0?pi:f,_=t.elementContext,E=_===void 0?Ge:_,w=t.altBoundary,O=w===void 0?!1:w,C=t.padding,S=C===void 0?0:C,k=Ct(typeof S!="number"?S:Tt(S,we)),I=E===Ge?nn:Ge,M=i.rects.popper,L=i.elements[O?I:E],T=Ir(re(L)?L:L.contextElement||Q(i.elements.popper),d,u,o),b=se(i.elements.reference),x=kt({reference:b,element:M,strategy:"absolute",placement:s}),P=tt(Object.assign({},M,x)),F=E===Ge?P:b,N={top:T.top-F.top+k.top,bottom:F.bottom-T.bottom+k.bottom,left:T.left-F.left+k.left,right:F.right-T.right+k.right},X=i.modifiersData.offset;if(E===Ge&&X){var $=X[s];Object.keys(N).forEach(function(j){var ue=[z,U].indexOf(j)>=0?1:-1,pe=[V,U].indexOf(j)>=0?"y":"x";N[j]+=$[pe]*ue})}return N}function Mr(i,e){e===void 0&&(e={});var t=e,r=t.placement,s=t.boundary,n=t.rootBoundary,o=t.padding,a=t.flipVariations,d=t.allowedAutoPlacements,f=d===void 0?mi:d,u=ne(r),_=u?a?Tr:Tr.filter(function(O){return ne(O)===u}):we,E=_.filter(function(O){return f.indexOf(O)>=0});E.length===0&&(E=_);var w=E.reduce(function(O,C){return O[C]=he(i,{placement:C,boundary:s,rootBoundary:n,padding:o})[J(C)],O},{});return Object.keys(w).sort(function(O,C){return w[O]-w[C]})}function Za(i){if(J(i)===fi)return[];var e=et(i);return[vi(i),e,vi(e)]}function el(i){var e=i.state,t=i.options,r=i.name;if(!e.modifiersData[r]._skip){for(var s=t.mainAxis,n=s===void 0?!0:s,o=t.altAxis,a=o===void 0?!0:o,d=t.fallbackPlacements,f=t.padding,u=t.boundary,_=t.rootBoundary,E=t.altBoundary,w=t.flipVariations,O=w===void 0?!0:w,C=t.allowedAutoPlacements,S=e.options.placement,k=J(S),I=k===S,M=d||(I||!O?[et(S)]:Za(S)),L=[S].concat(M).reduce(function(ee,ae){return ee.concat(J(ae)===fi?Mr(e,{placement:ae,boundary:u,rootBoundary:_,padding:f,flipVariations:O,allowedAutoPlacements:C}):ae)},[]),T=e.rects.reference,b=e.rects.popper,x=new Map,P=!0,F=L[0],N=0;N=0,pe=ue?"width":"height",l=he(e,{placement:X,boundary:u,rootBoundary:_,altBoundary:E,padding:f}),c=ue?j?z:W:j?U:V;T[pe]>b[pe]&&(c=et(c));var h=et(c),p=[];if(n&&p.push(l[$]<=0),a&&p.push(l[c]<=0,l[h]<=0),p.every(function(ee){return ee})){F=X,P=!1;break}x.set(X,p)}if(P)for(var m=O?3:1,g=function(ae){var R=L.find(function(te){var ie=x.get(te);if(ie)return ie.slice(0,ae).every(function(xe){return xe})});if(R)return F=R,"break"},A=m;A>0;A--){var B=g(A);if(B==="break")break}e.placement!==F&&(e.modifiersData[r]._skip=!0,e.placement=F,e.reset=!0)}}var mn={name:"flip",enabled:!0,phase:"main",fn:el,requiresIfExists:["offset"],data:{_skip:!1}};function gn(i,e,t){return t===void 0&&(t={x:0,y:0}),{top:i.top-e.height-t.y,right:i.right-e.width+t.x,bottom:i.bottom-e.height+t.y,left:i.left-e.width-t.x}}function vn(i){return[V,z,U,W].some(function(e){return i[e]>=0})}function tl(i){var e=i.state,t=i.name,r=e.rects.reference,s=e.rects.popper,n=e.modifiersData.preventOverflow,o=he(e,{elementContext:"reference"}),a=he(e,{altBoundary:!0}),d=gn(o,r),f=gn(a,s,n),u=vn(d),_=vn(f);e.modifiersData[t]={referenceClippingOffsets:d,popperEscapeOffsets:f,isReferenceHidden:u,hasPopperEscaped:_},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":_})}var bn={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:tl};function il(i,e,t){var r=J(i),s=[W,V].indexOf(r)>=0?-1:1,n=typeof t=="function"?t(Object.assign({},e,{placement:i})):t,o=n[0],a=n[1];return o=o||0,a=(a||0)*s,[W,z].indexOf(r)>=0?{x:a,y:o}:{x:o,y:a}}function rl(i){var e=i.state,t=i.options,r=i.name,s=t.offset,n=s===void 0?[0,0]:s,o=mi.reduce(function(u,_){return u[_]=il(_,e.rects,n),u},{}),a=o[e.placement],d=a.x,f=a.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=d,e.modifiersData.popperOffsets.y+=f),e.modifiersData[r]=o}var yn={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:rl};function sl(i){var e=i.state,t=i.name;e.modifiersData[t]=kt({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})}var wn={name:"popperOffsets",enabled:!0,phase:"read",fn:sl,data:{}};function Pr(i){return i==="x"?"y":"x"}function nl(i){var e=i.state,t=i.options,r=i.name,s=t.mainAxis,n=s===void 0?!0:s,o=t.altAxis,a=o===void 0?!1:o,d=t.boundary,f=t.rootBoundary,u=t.altBoundary,_=t.padding,E=t.tether,w=E===void 0?!0:E,O=t.tetherOffset,C=O===void 0?0:O,S=he(e,{boundary:d,rootBoundary:f,padding:_,altBoundary:u}),k=J(e.placement),I=ne(e.placement),M=!I,L=Fe(k),T=Pr(L),b=e.modifiersData.popperOffsets,x=e.rects.reference,P=e.rects.popper,F=typeof C=="function"?C(Object.assign({},e.rects,{placement:e.placement})):C,N=typeof F=="number"?{mainAxis:F,altAxis:F}:Object.assign({mainAxis:0,altAxis:0},F),X=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,$={x:0,y:0};if(b){if(n){var j,ue=L==="y"?V:W,pe=L==="y"?U:z,l=L==="y"?"height":"width",c=b[L],h=c+S[ue],p=c-S[pe],m=w?-P[l]/2:0,g=I===ge?x[l]:P[l],A=I===ge?-P[l]:-x[l],B=e.elements.arrow,ee=w&&B?Re(B):{width:0,height:0},ae=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:Lt(),R=ae[ue],te=ae[pe],ie=Be(0,x[l],ee[l]),xe=M?x[l]/2-m-ie-R-N.mainAxis:g-ie-R-N.mainAxis,Gi=M?-x[l]/2+m+ie+te+N.mainAxis:A+ie+te+N.mainAxis,Qi=e.elements.arrow&&ce(e.elements.arrow),so=Qi?L==="y"?Qi.clientTop||0:Qi.clientLeft||0:0,Ss=(j=X?.[L])!=null?j:0,no=c+xe-Ss-so,oo=c+Gi-Ss,As=Be(w?Pe(h,no):h,c,w?le(p,oo):p);b[L]=As,$[L]=As-c}if(a){var Ls,ao=L==="x"?V:W,lo=L==="x"?U:z,Oe=b[T],Bt=T==="y"?"height":"width",Cs=Oe+S[ao],Ts=Oe-S[lo],Zi=[V,W].indexOf(k)!==-1,ks=(Ls=X?.[T])!=null?Ls:0,xs=Zi?Cs:Oe-x[Bt]-P[Bt]-ks+N.altAxis,Os=Zi?Oe+x[Bt]+P[Bt]-ks-N.altAxis:Ts,Is=w&&Zi?cn(xs,Oe,Os):Be(w?xs:Cs,Oe,w?Os:Ts);b[T]=Is,$[T]=Is-Oe}e.modifiersData[r]=$}}var En={name:"preventOverflow",enabled:!0,phase:"main",fn:nl,requiresIfExists:["offset"]};function Rr(i){return{scrollLeft:i.scrollLeft,scrollTop:i.scrollTop}}function Fr(i){return i===D(i)||!K(i)?De(i):Rr(i)}function ol(i){var e=i.getBoundingClientRect(),t=ve(e.width)/i.offsetWidth||1,r=ve(e.height)/i.offsetHeight||1;return t!==1||r!==1}function Br(i,e,t){t===void 0&&(t=!1);var r=K(e),s=K(e)&&ol(e),n=Q(e),o=se(i,s,t),a={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(r||!r&&!t)&&((Y(e)!=="body"||qe(n))&&(a=Fr(e)),K(e)?(d=se(e,!0),d.x+=e.clientLeft,d.y+=e.clientTop):n&&(d.x=He(n))),{x:o.left+a.scrollLeft-d.x,y:o.top+a.scrollTop-d.y,width:o.width,height:o.height}}function al(i){var e=new Map,t=new Set,r=[];i.forEach(function(n){e.set(n.name,n)});function s(n){t.add(n.name);var o=[].concat(n.requires||[],n.requiresIfExists||[]);o.forEach(function(a){if(!t.has(a)){var d=e.get(a);d&&s(d)}}),r.push(n)}return i.forEach(function(n){t.has(n.name)||s(n)}),r}function Dr(i){var e=al(i);return on.reduce(function(t,r){return t.concat(e.filter(function(s){return s.phase===r}))},[])}function Hr(i){var e;return function(){return e||(e=new Promise(function(t){Promise.resolve().then(function(){e=void 0,t(i())})})),e}}function qr(i){var e=i.reduce(function(t,r){var s=t[r.name];return t[r.name]=s?Object.assign({},s,r,{options:Object.assign({},s.options,r.options),data:Object.assign({},s.data,r.data)}):r,t},{});return Object.keys(e).map(function(t){return e[t]})}var _n={placement:"bottom",modifiers:[],strategy:"absolute"};function Sn(){for(var i=arguments.length,e=new Array(i),t=0;te._options.maxValue&&(r.value=e._options.maxValue.toString()),e._options.minValue!==null&&parseInt(r.value)=this._options.maxValue||(this._targetEl.value=(this.getCurrentValue()+1).toString(),this._options.onIncrement(this))},i.prototype.decrement=function(){this._options.minValue!==null&&this.getCurrentValue()<=this._options.minValue||(this._targetEl.value=(this.getCurrentValue()-1).toString(),this._options.onDecrement(this))},i.prototype.updateOnIncrement=function(e){this._options.onIncrement=e},i.prototype.updateOnDecrement=function(e){this._options.onDecrement=e},i}();function ct(){document.querySelectorAll("[data-input-counter]").forEach(function(i){var e=i.id,t=document.querySelector('[data-input-counter-increment="'+e+'"]'),r=document.querySelector('[data-input-counter-decrement="'+e+'"]'),s=i.getAttribute("data-input-counter-min"),n=i.getAttribute("data-input-counter-max");i?y.instanceExists("InputCounter",i.getAttribute("id"))||new Mn(i,t||null,r||null,{minValue:s?parseInt(s):null,maxValue:n?parseInt(n):null}):console.error('The target element with id "'.concat(e,'" does not exist. Please check the data-input-counter attribute.'))})}typeof window<"u"&&(window.InputCounter=Mn,window.initInputCounters=ct);var Oi=function(){return Oi=Object.assign||function(i){for(var e,t=1,r=arguments.length;t0&&(this.autoDismissTimeout=setTimeout(()=>{this.dismiss(),this.autoDismissTimeout=null},this.afterValue))}disconnect(){this.autoDismissTimeout&&clearTimeout(this.autoDismissTimeout),this.autoDismissTimeout=null}dismiss(){this.element.remove()}};var Fi=class extends v{static targets=["frame","refreshButton","backButton","homeButton"];connect(){console.log(`frame-navigator connected: ${this.element}`),this.#e(),this.srcHistory=[],this.originalFrameSrc=this.frameTarget.src,this.hasRefreshButtonTarget&&(this.refreshButtonTarget.style.display="",this.refreshButtonClicked=this.refreshButtonClicked.bind(this),this.refreshButtonTarget.addEventListener("click",this.refreshButtonClicked)),this.hasBackButtonTarget&&(this.backButtonClicked=this.backButtonClicked.bind(this),this.backButtonTarget.addEventListener("click",this.backButtonClicked)),this.hasHomeButtonTarget&&(this.homeButtonClicked=this.homeButtonClicked.bind(this),this.homeButtonTarget.addEventListener("click",this.homeButtonClicked)),this.frameLoaded=this.frameLoaded.bind(this),this.frameTarget.addEventListener("turbo:frame-load",this.frameLoaded),this.frameLoading=this.frameLoading.bind(this),this.frameTarget.addEventListener("turbo:click",this.frameLoading),this.frameTarget.addEventListener("turbo:submit-start",this.frameLoading),this.frameFailed=this.frameFailed.bind(this),this.frameTarget.addEventListener("turbo:fetch-request-error",this.frameFailed)}disconnect(){this.hasRefreshButtonTarget&&this.refreshButtonTarget.removeEventListener("click",this.refreshButtonClicked),this.hasBackButtonTarget&&this.backButtonTarget.removeEventListener("click",this.backButtonClicked),this.hasHomeButtonTarget&&this.homeButtonTarget.removeEventListener("click",this.homeButtonClicked),this.frameTarget.removeEventListener("turbo:frame-load",this.frameLoaded),this.frameTarget.removeEventListener("turbo:click",this.frameLoading),this.frameTarget.removeEventListener("turbo:submit-start",this.frameLoading),this.frameTarget.removeEventListener("turbo:fetch-request-error",this.frameFailed)}frameLoading(i){this.#e()}frameFailed(i){this.#t()}frameLoaded(i){this.#t();let e=i.target.src;e==this.currentSrc||(e==this.originalFrameSrc?this.srcHistory=[e]:this.srcHistory.push(e)),this.#i()}refreshButtonClicked(i){this.frameLoading(null),this.frameTarget.reload()}backButtonClicked(i){this.frameLoading(null),this.srcHistory.pop(),this.frameTarget.src=this.currentSrc}homeButtonClicked(i){this.frameLoading(null),this.frameTarget.src=this.originalFrameSrc}get currentSrc(){return this.srcHistory[this.srcHistory.length-1]}#e(){this.hasRefreshButtonTarget&&this.refreshButtonTarget.classList.add("motion-safe:animate-spin"),this.frameTarget.classList.add("motion-safe:animate-pulse")}#t(){this.hasRefreshButtonTarget&&this.refreshButtonTarget.classList.remove("motion-safe:animate-spin"),this.frameTarget.classList.remove("motion-safe:animate-pulse")}#i(){this.hasHomeButtonTarget&&(this.homeButtonTarget.style.display=this.srcHistory.length>2?"":"none"),this.hasBackButtonTarget&&(this.backButtonTarget.style.display=this.srcHistory.length>1?"":"none")}};var Bi=class extends v{connect(){console.log(`color-mode connected: ${this.element}`),this.updateColorMode()}disconnect(){}updateColorMode(){localStorage.theme==="dark"||!("theme"in localStorage)&&window.matchMedia("(prefers-color-scheme: dark)").matches?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}setLightColorMode(){localStorage.theme="light",this.updateColorMode()}setDarkColorMode(){localStorage.theme="dark",this.updateColorMode()}setSystemColorMode(){localStorage.removeItem("theme"),this.updateColorMode()}};var Di=class extends v{connect(){console.log(`easymde connected: ${this.element}`),self.easyMDE=new EasyMDE({element:this.element})}disconnect(){self.easyMDE.toTextArea(),self.easyMDE=null}};var Hi=class extends v{connect(){console.log(`slim-select connected: ${this.element}`),self.slimSelect=new SlimSelect({select:this.element})}disconnect(){self.slimSelect.destroy(),self.slimSelect=null}};var qi=class extends v{connect(){console.log(`flatpickr connected: ${this.element}`),self.picker=new flatpickr(this.element,this.#e())}disconnect(){self.picker.destroy(),self.picker=null}#e(){let i={altInput:!0};return this.element.attributes.type.value=="datetime-local"?i.enableTime=!0:this.element.attributes.type.value=="time"&&(i.enableTime=!0,i.noCalendar=!0),i}};function Wr(i){i.register("resource-layout",zt),i.register("nav-grid-menu-item",$t),i.register("nav-grid-menu",Ut),i.register("nav-user-section",Kt),i.register("nav-user-link",Xt),i.register("nav-user",Yt),i.register("header",Jt),i.register("sidebar-menu-item",Gt),i.register("sidebar-menu",Qt),i.register("sidebar",Zt),i.register("has-many-panel",ei),i.register("nested-resource-form-fields",ti),i.register("toolbar",ii),i.register("table-search-input",ri),i.register("table-toolbar",si),i.register("table",ni),i.register("form",oi),i.register("resource-drop-down",Mi),i.register("resource-collapse",Pi),i.register("resource-dismiss",Ri),i.register("frame-navigator",Fi),i.register("color-mode",Bi),i.register("easymde",Di),i.register("slim-select",Hi),i.register("flatpickr",qi)}(function(i){if(typeof i.requestSubmit=="function")return;i.requestSubmit=function(r){r?(e(r,this),r.click()):(r=document.createElement("input"),r.type="submit",r.hidden=!0,this.appendChild(r),r.click(),this.removeChild(r))};function e(r,s){r instanceof HTMLElement||t(TypeError,"parameter 1 is not of type 'HTMLElement'"),r.type=="submit"||t(TypeError,"The specified element is not a submit button"),r.form==s||t(DOMException,"The specified element is not owned by this form element","NotFoundError")}function t(r,s,n){throw new r("Failed to execute 'requestSubmit' on 'HTMLFormElement': "+s+".",n)}})(HTMLFormElement.prototype);var Vn=new WeakMap;function yl(i){let e=i instanceof Element?i:i instanceof Node?i.parentElement:null,t=e?e.closest("input, button"):null;return t?.type=="submit"?t:null}function wl(i){let e=yl(i.target);e&&e.form&&Vn.set(e.form,e)}(function(){if("submitter"in Event.prototype)return;let i=window.Event.prototype;if("SubmitEvent"in window){let e=window.SubmitEvent.prototype;if(/Apple Computer/.test(navigator.vendor)&&!("submitter"in e))i=e;else return}addEventListener("click",wl,!0),Object.defineProperty(i,"submitter",{get(){if(this.type=="submit"&&this.target instanceof HTMLFormElement)return Vn.get(this.target)}})})();var ut={eager:"eager",lazy:"lazy"},fe=class i extends HTMLElement{static delegateConstructor=void 0;loaded=Promise.resolve();static get observedAttributes(){return["disabled","loading","src"]}constructor(){super(),this.delegate=new i.delegateConstructor(this)}connectedCallback(){this.delegate.connect()}disconnectedCallback(){this.delegate.disconnect()}reload(){return this.delegate.sourceURLReloaded()}attributeChangedCallback(e){e=="loading"?this.delegate.loadingStyleChanged():e=="src"?this.delegate.sourceURLChanged():e=="disabled"&&this.delegate.disabledChanged()}get src(){return this.getAttribute("src")}set src(e){e?this.setAttribute("src",e):this.removeAttribute("src")}get refresh(){return this.getAttribute("refresh")}set refresh(e){e?this.setAttribute("refresh",e):this.removeAttribute("refresh")}get loading(){return El(this.getAttribute("loading")||"")}set loading(e){e?this.setAttribute("loading",e):this.removeAttribute("loading")}get disabled(){return this.hasAttribute("disabled")}set disabled(e){e?this.setAttribute("disabled",""):this.removeAttribute("disabled")}get autoscroll(){return this.hasAttribute("autoscroll")}set autoscroll(e){e?this.setAttribute("autoscroll",""):this.removeAttribute("autoscroll")}get complete(){return!this.delegate.isLoading}get isActive(){return this.ownerDocument===document&&!this.isPreview}get isPreview(){return this.ownerDocument?.documentElement?.hasAttribute("data-turbo-preview")}};function El(i){switch(i.toLowerCase()){case"lazy":return ut.lazy;default:return ut.eager}}function G(i){return new URL(i.toString(),document.baseURI)}function ze(i){let e;if(i.hash)return i.hash.slice(1);if(e=i.href.match(/#(.*)$/))return e[1]}function ys(i,e){let t=e?.getAttribute("formaction")||i.getAttribute("action")||i.action;return G(t)}function _l(i){return(Tl(i).match(/\.[^.]*$/)||[])[0]||""}function Sl(i){return!!_l(i).match(/^(?:|\.(?:htm|html|xhtml|php))$/)}function Al(i,e){let t=kl(e);return i.href===G(t).href||i.href.startsWith(t)}function Ce(i,e){return Al(i,e)&&Sl(i)}function zr(i){let e=ze(i);return e!=null?i.href.slice(0,-(e.length+1)):i.href}function Vi(i){return zr(i)}function Ll(i,e){return G(i).href==G(e).href}function Cl(i){return i.pathname.split("/").slice(1)}function Tl(i){return Cl(i).slice(-1)[0]}function kl(i){return xl(i.origin+i.pathname)}function xl(i){return i.endsWith("/")?i:i+"/"}var Ot=class{constructor(e){this.response=e}get succeeded(){return this.response.ok}get failed(){return!this.succeeded}get clientError(){return this.statusCode>=400&&this.statusCode<=499}get serverError(){return this.statusCode>=500&&this.statusCode<=599}get redirected(){return this.response.redirected}get location(){return G(this.response.url)}get isHTML(){return this.contentType&&this.contentType.match(/^(?:text\/([^\s;,]+\b)?html|application\/xhtml\+xml)\b/)}get statusCode(){return this.response.status}get contentType(){return this.header("Content-Type")}get responseText(){return this.response.clone().text()}get responseHTML(){return this.isHTML?this.response.clone().text():Promise.resolve(void 0)}header(e){return this.response.headers.get(e)}};function It(i){if(i.getAttribute("data-turbo-eval")=="false")return i;{let e=document.createElement("script"),t=vt("csp-nonce");return t&&(e.nonce=t),e.textContent=i.textContent,e.async=!1,Ol(e,i),e}}function Ol(i,e){for(let{name:t,value:r}of e.attributes)i.setAttribute(t,r)}function Il(i){let e=document.createElement("template");return e.innerHTML=i,e.content}function q(i,{target:e,cancelable:t,detail:r}={}){let s=new CustomEvent(i,{cancelable:t,bubbles:!0,composed:!0,detail:r});return e&&e.isConnected?e.dispatchEvent(s):document.documentElement.dispatchEvent(s),s}function pt(){return document.visibilityState==="hidden"?jn():Nn()}function Nn(){return new Promise(i=>requestAnimationFrame(()=>i()))}function jn(){return new Promise(i=>setTimeout(()=>i(),0))}function Ml(){return Promise.resolve()}function Wn(i=""){return new DOMParser().parseFromString(i,"text/html")}function zn(i,...e){let t=Pl(i,e).replace(/^\n/,"").split(` `),r=t[0].match(/^\s+/),s=r?r[0].length:0;return t.map(n=>n.slice(s)).join(` `)}function Pl(i,e){return i.reduce((t,r,s)=>{let n=e[s]==null?"":e[s];return t+r+n},"")}function Te(){return Array.from({length:36}).map((i,e)=>e==8||e==13||e==18||e==23?"-":e==14?"4":e==19?(Math.floor(Math.random()*4)+8).toString(16):Math.floor(Math.random()*15).toString(16)).join("")}function ji(i,...e){for(let t of e.map(r=>r?.getAttribute(i)))if(typeof t=="string")return t;return null}function Rl(i,...e){return e.some(t=>t&&t.hasAttribute(i))}function Wi(...i){for(let e of i)e.localName=="turbo-frame"&&e.setAttribute("busy",""),e.setAttribute("aria-busy","true")}function zi(...i){for(let e of i)e.localName=="turbo-frame"&&e.removeAttribute("busy"),e.removeAttribute("aria-busy")}function Fl(i,e=2e3){return new Promise(t=>{let r=()=>{i.removeEventListener("error",r),i.removeEventListener("load",r),t()};i.addEventListener("load",r,{once:!0}),i.addEventListener("error",r,{once:!0}),setTimeout(t,e)})}function $n(i){switch(i){case"replace":return history.replaceState;case"advance":case"restore":return history.pushState}}function Bl(i){return i=="advance"||i=="replace"||i=="restore"}function $e(...i){let e=ji("data-turbo-action",...i);return Bl(e)?e:null}function Un(i){return document.querySelector(`meta[name="${i}"]`)}function vt(i){let e=Un(i);return e&&e.content}function Dl(i,e){let t=Un(i);return t||(t=document.createElement("meta"),t.setAttribute("name",i),document.head.appendChild(t)),t.setAttribute("content",e),t}function mt(i,e){if(i instanceof Element)return i.closest(e)||mt(i.assignedSlot||i.getRootNode()?.host,e)}function ws(i){return!!i&&i.closest("[inert], :disabled, [hidden], details:not([open]), dialog:not([open])")==null&&typeof i.focus=="function"}function Kn(i){return Array.from(i.querySelectorAll("[autofocus]")).find(ws)}async function Hl(i,e){let t=e();i(),await Nn();let r=e();return[t,r]}function ql(i){if(i.hasAttribute("target")){for(let e of document.getElementsByName(i.target))if(e instanceof HTMLIFrameElement)return!1}return!0}function Vl(i){return mt(i,"a[href]:not([target^=_]):not([download])")}function Xn(i){return G(i.getAttribute("href")||"")}function Nl(i,e){let t=null;return(...r)=>{let s=()=>i.apply(this,r);clearTimeout(t),t=setTimeout(s,e)}}var $r=class extends Set{constructor(e){super(),this.maxSize=e}add(e){if(this.size>=this.maxSize){let r=this.values().next().value;this.delete(r)}super.add(e)}},Yn=new $r(20),jl=window.fetch;function Jn(i,e={}){let t=new Headers(e.headers||{}),r=Te();return Yn.add(r),t.append("X-Turbo-Request-Id",r),jl(i,{...e,headers:t})}function Es(i){switch(i.toLowerCase()){case"get":return oe.get;case"post":return oe.post;case"put":return oe.put;case"patch":return oe.patch;case"delete":return oe.delete}}var oe={get:"get",post:"post",put:"put",patch:"patch",delete:"delete"};function Wl(i){switch(i.toLowerCase()){case We.multipart:return We.multipart;case We.plain:return We.plain;default:return We.urlEncoded}}var We={urlEncoded:"application/x-www-form-urlencoded",multipart:"multipart/form-data",plain:"text/plain"},Ue=class{abortController=new AbortController;#e=e=>{};constructor(e,t,r,s=new URLSearchParams,n=null,o=We.urlEncoded){let[a,d]=Fn(G(r),t,s,o);this.delegate=e,this.url=a,this.target=n,this.fetchOptions={credentials:"same-origin",redirect:"follow",method:t,headers:{...this.defaultHeaders},body:d,signal:this.abortSignal,referrer:this.delegate.referrer?.href},this.enctype=o}get method(){return this.fetchOptions.method}set method(e){let t=this.isSafe?this.url.searchParams:this.fetchOptions.body||new FormData,r=Es(e)||oe.get;this.url.search="";let[s,n]=Fn(this.url,r,t,this.enctype);this.url=s,this.fetchOptions.body=n,this.fetchOptions.method=r}get headers(){return this.fetchOptions.headers}set headers(e){this.fetchOptions.headers=e}get body(){return this.isSafe?this.url.searchParams:this.fetchOptions.body}set body(e){this.fetchOptions.body=e}get location(){return this.url}get params(){return this.url.searchParams}get entries(){return this.body?Array.from(this.body.entries()):[]}cancel(){this.abortController.abort()}async perform(){let{fetchOptions:e}=this;this.delegate.prepareRequest(this);let t=await this.#t(e);try{this.delegate.requestStarted(this),t.detail.fetchRequest?this.response=t.detail.fetchRequest.response:this.response=Jn(this.url.href,e);let r=await this.response;return await this.receive(r)}catch(r){if(r.name!=="AbortError")throw this.#i(r)&&this.delegate.requestErrored(this,r),r}finally{this.delegate.requestFinished(this)}}async receive(e){let t=new Ot(e);return q("turbo:before-fetch-response",{cancelable:!0,detail:{fetchResponse:t},target:this.target}).defaultPrevented?this.delegate.requestPreventedHandlingResponse(this,t):t.succeeded?this.delegate.requestSucceededWithResponse(this,t):this.delegate.requestFailedWithResponse(this,t),t}get defaultHeaders(){return{Accept:"text/html, application/xhtml+xml"}}get isSafe(){return _s(this.method)}get abortSignal(){return this.abortController.signal}acceptResponseType(e){this.headers.Accept=[e,this.headers.Accept].join(", ")}async#t(e){let t=new Promise(s=>this.#e=s),r=q("turbo:before-fetch-request",{cancelable:!0,detail:{fetchOptions:e,url:this.url,resume:this.#e},target:this.target});return this.url=r.detail.url,r.defaultPrevented&&await t,r}#i(e){return!q("turbo:fetch-request-error",{target:this.target,cancelable:!0,detail:{request:this,error:e}}).defaultPrevented}};function _s(i){return Es(i)==oe.get}function Fn(i,e,t,r){let s=Array.from(t).length>0?new URLSearchParams(Gn(t)):i.searchParams;return _s(e)?[zl(i,s),null]:r==We.urlEncoded?[i,s]:[i,t]}function Gn(i){let e=[];for(let[t,r]of i)r instanceof File||e.push([t,r]);return e}function zl(i,e){let t=new URLSearchParams(Gn(e));return i.search=t.toString(),i}var Ur=class{started=!1;constructor(e,t){this.delegate=e,this.element=t,this.intersectionObserver=new IntersectionObserver(this.intersect)}start(){this.started||(this.started=!0,this.intersectionObserver.observe(this.element))}stop(){this.started&&(this.started=!1,this.intersectionObserver.unobserve(this.element))}intersect=e=>{e.slice(-1)[0]?.isIntersecting&&this.delegate.elementAppearedInViewport(this.element)}},ke=class{static contentType="text/vnd.turbo-stream.html";static wrap(e){return typeof e=="string"?new this(Il(e)):e}constructor(e){this.fragment=$l(e)}};function $l(i){for(let e of i.querySelectorAll("turbo-stream")){let t=document.importNode(e,!0);for(let r of t.templateElement.content.querySelectorAll("script"))r.replaceWith(It(r));e.replaceWith(t)}return i}var Ul=100,Kr=class{#e=null;#t=null;get(e){if(this.#t&&this.#t.url===e&&this.#t.expire>Date.now())return this.#t.request}setLater(e,t,r){this.clear(),this.#e=setTimeout(()=>{t.perform(),this.set(e,t,r),this.#e=null},Ul)}set(e,t,r){this.#t={url:e,request:t,expire:new Date(new Date().getTime()+r)}}clear(){this.#e&&clearTimeout(this.#e),this.#t=null}},Kl=10*1e3,ft=new Kr,dt={initialized:"initialized",requesting:"requesting",waiting:"waiting",receiving:"receiving",stopping:"stopping",stopped:"stopped"},Mt=class i{state=dt.initialized;static confirmMethod(e,t,r){return Promise.resolve(confirm(e))}constructor(e,t,r,s=!1){let n=Zl(t,r),o=Ql(Gl(t,r),n),a=Xl(t,r),d=ec(t,r);this.delegate=e,this.formElement=t,this.submitter=r,this.fetchRequest=new Ue(this,n,o,a,t,d),this.mustRedirect=s}get method(){return this.fetchRequest.method}set method(e){this.fetchRequest.method=e}get action(){return this.fetchRequest.url.toString()}set action(e){this.fetchRequest.url=G(e)}get body(){return this.fetchRequest.body}get enctype(){return this.fetchRequest.enctype}get isSafe(){return this.fetchRequest.isSafe}get location(){return this.fetchRequest.url}async start(){let{initialized:e,requesting:t}=dt,r=ji("data-turbo-confirm",this.submitter,this.formElement);if(!(typeof r=="string"&&!await i.confirmMethod(r,this.formElement,this.submitter))&&this.state==e)return this.state=t,this.fetchRequest.perform()}stop(){let{stopping:e,stopped:t}=dt;if(this.state!=e&&this.state!=t)return this.state=e,this.fetchRequest.cancel(),!0}prepareRequest(e){if(!e.isSafe){let t=Yl(vt("csrf-param"))||vt("csrf-token");t&&(e.headers["X-CSRF-Token"]=t)}this.requestAcceptsTurboStreamResponse(e)&&e.acceptResponseType(ke.contentType)}requestStarted(e){this.state=dt.waiting,this.submitter?.setAttribute("disabled",""),this.setSubmitsWith(),Wi(this.formElement),q("turbo:submit-start",{target:this.formElement,detail:{formSubmission:this}}),this.delegate.formSubmissionStarted(this)}requestPreventedHandlingResponse(e,t){ft.clear(),this.result={success:t.succeeded,fetchResponse:t}}requestSucceededWithResponse(e,t){if(t.clientError||t.serverError){this.delegate.formSubmissionFailedWithResponse(this,t);return}if(ft.clear(),this.requestMustRedirect(e)&&Jl(t)){let r=new Error("Form responses must redirect to another location");this.delegate.formSubmissionErrored(this,r)}else this.state=dt.receiving,this.result={success:!0,fetchResponse:t},this.delegate.formSubmissionSucceededWithResponse(this,t)}requestFailedWithResponse(e,t){this.result={success:!1,fetchResponse:t},this.delegate.formSubmissionFailedWithResponse(this,t)}requestErrored(e,t){this.result={success:!1,error:t},this.delegate.formSubmissionErrored(this,t)}requestFinished(e){this.state=dt.stopped,this.submitter?.removeAttribute("disabled"),this.resetSubmitterText(),zi(this.formElement),q("turbo:submit-end",{target:this.formElement,detail:{formSubmission:this,...this.result}}),this.delegate.formSubmissionFinished(this)}setSubmitsWith(){if(!(!this.submitter||!this.submitsWith)){if(this.submitter.matches("button"))this.originalSubmitText=this.submitter.innerHTML,this.submitter.innerHTML=this.submitsWith;else if(this.submitter.matches("input")){let e=this.submitter;this.originalSubmitText=e.value,e.value=this.submitsWith}}}resetSubmitterText(){if(!(!this.submitter||!this.originalSubmitText)){if(this.submitter.matches("button"))this.submitter.innerHTML=this.originalSubmitText;else if(this.submitter.matches("input")){let e=this.submitter;e.value=this.originalSubmitText}}}requestMustRedirect(e){return!e.isSafe&&this.mustRedirect}requestAcceptsTurboStreamResponse(e){return!e.isSafe||Rl("data-turbo-stream",this.submitter,this.formElement)}get submitsWith(){return this.submitter?.getAttribute("data-turbo-submits-with")}};function Xl(i,e){let t=new FormData(i),r=e?.getAttribute("name"),s=e?.getAttribute("value");return r&&t.append(r,s||""),t}function Yl(i){if(i!=null){let t=(document.cookie?document.cookie.split("; "):[]).find(r=>r.startsWith(i));if(t){let r=t.split("=").slice(1).join("=");return r?decodeURIComponent(r):void 0}}}function Jl(i){return i.statusCode==200&&!i.redirected}function Gl(i,e){let t=typeof i.action=="string"?i.action:null;return e?.hasAttribute("formaction")?e.getAttribute("formaction")||"":i.getAttribute("action")||t||""}function Ql(i,e){let t=G(i);return _s(e)&&(t.search=""),t}function Zl(i,e){let t=e?.getAttribute("formmethod")||i.getAttribute("method")||"";return Es(t.toLowerCase())||oe.get}function ec(i,e){return Wl(e?.getAttribute("formenctype")||i.enctype)}var bt=class{constructor(e){this.element=e}get activeElement(){return this.element.ownerDocument.activeElement}get children(){return[...this.element.children]}hasAnchor(e){return this.getElementForAnchor(e)!=null}getElementForAnchor(e){return e?this.element.querySelector(`[id='${e}'], a[name='${e}']`):null}get isConnected(){return this.element.isConnected}get firstAutofocusableElement(){return Kn(this.element)}get permanentElements(){return Zn(this.element)}getPermanentElementById(e){return Qn(this.element,e)}getPermanentElementMapForSnapshot(e){let t={};for(let r of this.permanentElements){let{id:s}=r,n=e.getPermanentElementById(s);n&&(t[s]=[r,n])}return t}};function Qn(i,e){return i.querySelector(`#${e}[data-turbo-permanent]`)}function Zn(i){return i.querySelectorAll("[id][data-turbo-permanent]")}var Pt=class{started=!1;constructor(e,t){this.delegate=e,this.eventTarget=t}start(){this.started||(this.eventTarget.addEventListener("submit",this.submitCaptured,!0),this.started=!0)}stop(){this.started&&(this.eventTarget.removeEventListener("submit",this.submitCaptured,!0),this.started=!1)}submitCaptured=()=>{this.eventTarget.removeEventListener("submit",this.submitBubbled,!1),this.eventTarget.addEventListener("submit",this.submitBubbled,!1)};submitBubbled=e=>{if(!e.defaultPrevented){let t=e.target instanceof HTMLFormElement?e.target:void 0,r=e.submitter||void 0;t&&tc(t,r)&&ic(t,r)&&this.delegate.willSubmitForm(t,r)&&(e.preventDefault(),e.stopImmediatePropagation(),this.delegate.formSubmitted(t,r))}}};function tc(i,e){return(e?.getAttribute("formmethod")||i.getAttribute("method"))!="dialog"}function ic(i,e){if(e?.hasAttribute("formtarget")||i.hasAttribute("target")){let t=e?.getAttribute("formtarget")||i.target;for(let r of document.getElementsByName(t))if(r instanceof HTMLIFrameElement)return!1;return!0}else return!0}var $i=class{#e=e=>{};#t=e=>{};constructor(e,t){this.delegate=e,this.element=t}scrollToAnchor(e){let t=this.snapshot.getElementForAnchor(e);t?(this.scrollToElement(t),this.focusElement(t)):this.scrollToPosition({x:0,y:0})}scrollToAnchorFromLocation(e){this.scrollToAnchor(ze(e))}scrollToElement(e){e.scrollIntoView()}focusElement(e){e instanceof HTMLElement&&(e.hasAttribute("tabindex")?e.focus():(e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")))}scrollToPosition({x:e,y:t}){this.scrollRoot.scrollTo(e,t)}scrollToTop(){this.scrollToPosition({x:0,y:0})}get scrollRoot(){return window}async render(e){let{isPreview:t,shouldRender:r,willRender:s,newSnapshot:n}=e,o=s;if(r)try{this.renderPromise=new Promise(u=>this.#e=u),this.renderer=e,await this.prepareToRenderSnapshot(e);let a=new Promise(u=>this.#t=u),d={resume:this.#t,render:this.renderer.renderElement,renderMethod:this.renderer.renderMethod};this.delegate.allowsImmediateRender(n,d)||await a,await this.renderSnapshot(e),this.delegate.viewRenderedSnapshot(n,t,this.renderer.renderMethod),this.delegate.preloadOnLoadLinksForView(this.element),this.finishRenderingSnapshot(e)}finally{delete this.renderer,this.#e(void 0),delete this.renderPromise}else o&&this.invalidate(e.reloadReason)}invalidate(e){this.delegate.viewInvalidated(e)}async prepareToRenderSnapshot(e){this.markAsPreview(e.isPreview),await e.prepareToRender()}markAsPreview(e){e?this.element.setAttribute("data-turbo-preview",""):this.element.removeAttribute("data-turbo-preview")}markVisitDirection(e){this.element.setAttribute("data-turbo-visit-direction",e)}unmarkVisitDirection(){this.element.removeAttribute("data-turbo-visit-direction")}async renderSnapshot(e){await e.render()}finishRenderingSnapshot(e){e.finishRendering()}},Xr=class extends $i{missing(){this.element.innerHTML='Content missing'}get snapshot(){return new bt(this.element)}},Ui=class{constructor(e,t){this.delegate=e,this.element=t}start(){this.element.addEventListener("click",this.clickBubbled),document.addEventListener("turbo:click",this.linkClicked),document.addEventListener("turbo:before-visit",this.willVisit)}stop(){this.element.removeEventListener("click",this.clickBubbled),document.removeEventListener("turbo:click",this.linkClicked),document.removeEventListener("turbo:before-visit",this.willVisit)}clickBubbled=e=>{this.respondsToEventTarget(e.target)?this.clickEvent=e:delete this.clickEvent};linkClicked=e=>{this.clickEvent&&this.respondsToEventTarget(e.target)&&e.target instanceof Element&&this.delegate.shouldInterceptLinkClick(e.target,e.detail.url,e.detail.originalEvent)&&(this.clickEvent.preventDefault(),e.preventDefault(),this.delegate.linkClickIntercepted(e.target,e.detail.url,e.detail.originalEvent)),delete this.clickEvent};willVisit=e=>{delete this.clickEvent};respondsToEventTarget(e){let t=e instanceof Element?e:e instanceof Node?e.parentElement:null;return t&&t.closest("turbo-frame, html")==this.element}},Ki=class{started=!1;constructor(e,t){this.delegate=e,this.eventTarget=t}start(){this.started||(this.eventTarget.addEventListener("click",this.clickCaptured,!0),this.started=!0)}stop(){this.started&&(this.eventTarget.removeEventListener("click",this.clickCaptured,!0),this.started=!1)}clickCaptured=()=>{this.eventTarget.removeEventListener("click",this.clickBubbled,!1),this.eventTarget.addEventListener("click",this.clickBubbled,!1)};clickBubbled=e=>{if(e instanceof MouseEvent&&this.clickEventIsSignificant(e)){let t=e.composedPath&&e.composedPath()[0]||e.target,r=Vl(t);if(r&&ql(r)){let s=Xn(r);this.delegate.willFollowLinkToLocation(r,s,e)&&(e.preventDefault(),this.delegate.followedLinkToLocation(r,s))}}};clickEventIsSignificant(e){return!(e.target&&e.target.isContentEditable||e.defaultPrevented||e.which>1||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)}},Xi=class{constructor(e,t){this.delegate=e,this.linkInterceptor=new Ki(this,t)}start(){this.linkInterceptor.start()}stop(){this.linkInterceptor.stop()}canPrefetchRequestToLocation(e,t){return!1}prefetchAndCacheRequestToLocation(e,t){}willFollowLinkToLocation(e,t,r){return this.delegate.willSubmitFormLinkToLocation(e,t,r)&&(e.hasAttribute("data-turbo-method")||e.hasAttribute("data-turbo-stream"))}followedLinkToLocation(e,t){let r=document.createElement("form"),s="hidden";for(let[_,E]of t.searchParams)r.append(Object.assign(document.createElement("input"),{type:s,name:_,value:E}));let n=Object.assign(t,{search:""});r.setAttribute("data-turbo","true"),r.setAttribute("action",n.href),r.setAttribute("hidden","");let o=e.getAttribute("data-turbo-method");o&&r.setAttribute("method",o);let a=e.getAttribute("data-turbo-frame");a&&r.setAttribute("data-turbo-frame",a);let d=$e(e);d&&r.setAttribute("data-turbo-action",d);let f=e.getAttribute("data-turbo-confirm");f&&r.setAttribute("data-turbo-confirm",f),e.hasAttribute("data-turbo-stream")&&r.setAttribute("data-turbo-stream",""),this.delegate.submittedFormLinkToLocation(e,t,r),document.body.appendChild(r),r.addEventListener("turbo:submit-end",()=>r.remove(),{once:!0}),requestAnimationFrame(()=>r.requestSubmit())}},Yi=class{static async preservingPermanentElements(e,t,r){let s=new this(e,t);s.enter(),await r(),s.leave()}constructor(e,t){this.delegate=e,this.permanentElementMap=t}enter(){for(let e in this.permanentElementMap){let[t,r]=this.permanentElementMap[e];this.delegate.enteringBardo(t,r),this.replaceNewPermanentElementWithPlaceholder(r)}}leave(){for(let e in this.permanentElementMap){let[t]=this.permanentElementMap[e];this.replaceCurrentPermanentElementWithClone(t),this.replacePlaceholderWithPermanentElement(t),this.delegate.leavingBardo(t)}}replaceNewPermanentElementWithPlaceholder(e){let t=rc(e);e.replaceWith(t)}replaceCurrentPermanentElementWithClone(e){let t=e.cloneNode(!0);e.replaceWith(t)}replacePlaceholderWithPermanentElement(e){this.getPlaceholderById(e.id)?.replaceWith(e)}getPlaceholderById(e){return this.placeholders.find(t=>t.content==e)}get placeholders(){return[...document.querySelectorAll("meta[name=turbo-permanent-placeholder][content]")]}};function rc(i){let e=document.createElement("meta");return e.setAttribute("name","turbo-permanent-placeholder"),e.setAttribute("content",i.id),e}var Rt=class{#e=null;constructor(e,t,r,s,n=!0){this.currentSnapshot=e,this.newSnapshot=t,this.isPreview=s,this.willRender=n,this.renderElement=r,this.promise=new Promise((o,a)=>this.resolvingFunctions={resolve:o,reject:a})}get shouldRender(){return!0}get reloadReason(){}prepareToRender(){}render(){}finishRendering(){this.resolvingFunctions&&(this.resolvingFunctions.resolve(),delete this.resolvingFunctions)}async preservingPermanentElements(e){await Yi.preservingPermanentElements(this,this.permanentElementMap,e)}focusFirstAutofocusableElement(){let e=this.connectedSnapshot.firstAutofocusableElement;e&&e.focus()}enteringBardo(e){this.#e||e.contains(this.currentSnapshot.activeElement)&&(this.#e=this.currentSnapshot.activeElement)}leavingBardo(e){e.contains(this.#e)&&this.#e instanceof HTMLElement&&(this.#e.focus(),this.#e=null)}get connectedSnapshot(){return this.newSnapshot.isConnected?this.newSnapshot:this.currentSnapshot}get currentElement(){return this.currentSnapshot.element}get newElement(){return this.newSnapshot.element}get permanentElementMap(){return this.currentSnapshot.getPermanentElementMapForSnapshot(this.newSnapshot)}get renderMethod(){return"replace"}},Ft=class extends Rt{static renderElement(e,t){let r=document.createRange();r.selectNodeContents(e),r.deleteContents();let s=t,n=s.ownerDocument?.createRange();n&&(n.selectNodeContents(s),e.appendChild(n.extractContents()))}constructor(e,t,r,s,n,o=!0){super(t,r,s,n,o),this.delegate=e}get shouldRender(){return!0}async render(){await pt(),this.preservingPermanentElements(()=>{this.loadFrameElement()}),this.scrollFrameIntoView(),await pt(),this.focusFirstAutofocusableElement(),await pt(),this.activateScriptElements()}loadFrameElement(){this.delegate.willRenderFrame(this.currentElement,this.newElement),this.renderElement(this.currentElement,this.newElement)}scrollFrameIntoView(){if(this.currentElement.autoscroll||this.newElement.autoscroll){let e=this.currentElement.firstElementChild,t=sc(this.currentElement.getAttribute("data-autoscroll-block"),"end"),r=nc(this.currentElement.getAttribute("data-autoscroll-behavior"),"auto");if(e)return e.scrollIntoView({block:t,behavior:r}),!0}return!1}activateScriptElements(){for(let e of this.newScriptElements){let t=It(e);e.replaceWith(t)}}get newScriptElements(){return this.currentElement.querySelectorAll("script")}};function sc(i,e){return i=="end"||i=="start"||i=="center"||i=="nearest"?i:e}function nc(i,e){return i=="auto"||i=="smooth"?i:e}var Yr=class i{static animationDuration=300;static get defaultCSS(){return zn` .turbo-progress-bar { position: fixed; display: block; top: 0; left: 0; height: 3px; background: #0076ff; z-index: 2147483647; transition: width ${i.animationDuration}ms ease-out, opacity ${i.animationDuration/2}ms ${i.animationDuration/2}ms ease-in; transform: translate3d(0, 0, 0); } `}hiding=!1;value=0;visible=!1;constructor(){this.stylesheetElement=this.createStylesheetElement(),this.progressElement=this.createProgressElement(),this.installStylesheetElement(),this.setValue(0)}show(){this.visible||(this.visible=!0,this.installProgressElement(),this.startTrickling())}hide(){this.visible&&!this.hiding&&(this.hiding=!0,this.fadeProgressElement(()=>{this.uninstallProgressElement(),this.stopTrickling(),this.visible=!1,this.hiding=!1}))}setValue(e){this.value=e,this.refresh()}installStylesheetElement(){document.head.insertBefore(this.stylesheetElement,document.head.firstChild)}installProgressElement(){this.progressElement.style.width="0",this.progressElement.style.opacity="1",document.documentElement.insertBefore(this.progressElement,document.body),this.refresh()}fadeProgressElement(e){this.progressElement.style.opacity="0",setTimeout(e,i.animationDuration*1.5)}uninstallProgressElement(){this.progressElement.parentNode&&document.documentElement.removeChild(this.progressElement)}startTrickling(){this.trickleInterval||(this.trickleInterval=window.setInterval(this.trickle,i.animationDuration))}stopTrickling(){window.clearInterval(this.trickleInterval),delete this.trickleInterval}trickle=()=>{this.setValue(this.value+Math.random()/100)};refresh(){requestAnimationFrame(()=>{this.progressElement.style.width=`${10+this.value*90}%`})}createStylesheetElement(){let e=document.createElement("style");return e.type="text/css",e.textContent=i.defaultCSS,this.cspNonce&&(e.nonce=this.cspNonce),e}createProgressElement(){let e=document.createElement("div");return e.className="turbo-progress-bar",e}get cspNonce(){return vt("csp-nonce")}},Jr=class extends bt{detailsByOuterHTML=this.children.filter(e=>!cc(e)).map(e=>uc(e)).reduce((e,t)=>{let{outerHTML:r}=t,s=r in e?e[r]:{type:oc(t),tracked:ac(t),elements:[]};return{...e,[r]:{...s,elements:[...s.elements,t]}}},{});get trackedElementSignature(){return Object.keys(this.detailsByOuterHTML).filter(e=>this.detailsByOuterHTML[e].tracked).join("")}getScriptElementsNotInSnapshot(e){return this.getElementsMatchingTypeNotInSnapshot("script",e)}getStylesheetElementsNotInSnapshot(e){return this.getElementsMatchingTypeNotInSnapshot("stylesheet",e)}getElementsMatchingTypeNotInSnapshot(e,t){return Object.keys(this.detailsByOuterHTML).filter(r=>!(r in t.detailsByOuterHTML)).map(r=>this.detailsByOuterHTML[r]).filter(({type:r})=>r==e).map(({elements:[r]})=>r)}get provisionalElements(){return Object.keys(this.detailsByOuterHTML).reduce((e,t)=>{let{type:r,tracked:s,elements:n}=this.detailsByOuterHTML[t];return r==null&&!s?[...e,...n]:n.length>1?[...e,...n.slice(1)]:e},[])}getMetaValue(e){let t=this.findMetaElementByName(e);return t?t.getAttribute("content"):null}findMetaElementByName(e){return Object.keys(this.detailsByOuterHTML).reduce((t,r)=>{let{elements:[s]}=this.detailsByOuterHTML[r];return dc(s,e)?s:t},void 0|void 0)}};function oc(i){if(lc(i))return"script";if(hc(i))return"stylesheet"}function ac(i){return i.getAttribute("data-turbo-track")=="reload"}function lc(i){return i.localName=="script"}function cc(i){return i.localName=="noscript"}function hc(i){let e=i.localName;return e=="style"||e=="link"&&i.getAttribute("rel")=="stylesheet"}function dc(i,e){return i.localName=="meta"&&i.getAttribute("name")==e}function uc(i){return i.hasAttribute("nonce")&&i.setAttribute("nonce",""),i}var de=class i extends bt{static fromHTMLString(e=""){return this.fromDocument(Wn(e))}static fromElement(e){return this.fromDocument(e.ownerDocument)}static fromDocument({documentElement:e,body:t,head:r}){return new this(e,t,new Jr(r))}constructor(e,t,r){super(t),this.documentElement=e,this.headSnapshot=r}clone(){let e=this.element.cloneNode(!0),t=this.element.querySelectorAll("select"),r=e.querySelectorAll("select");for(let[s,n]of t.entries()){let o=r[s];for(let a of o.selectedOptions)a.selected=!1;for(let a of n.selectedOptions)o.options[a.index].selected=!0}for(let s of e.querySelectorAll('input[type="password"]'))s.value="";return new i(this.documentElement,e,this.headSnapshot)}get lang(){return this.documentElement.getAttribute("lang")}get headElement(){return this.headSnapshot.element}get rootLocation(){let e=this.getSetting("root")??"/";return G(e)}get cacheControlValue(){return this.getSetting("cache-control")}get isPreviewable(){return this.cacheControlValue!="no-preview"}get isCacheable(){return this.cacheControlValue!="no-cache"}get isVisitable(){return this.getSetting("visit-control")!="reload"}get prefersViewTransitions(){return this.headSnapshot.getMetaValue("view-transition")==="same-origin"}get shouldMorphPage(){return this.getSetting("refresh-method")==="morph"}get shouldPreserveScrollPosition(){return this.getSetting("refresh-scroll")==="preserve"}getSetting(e){return this.headSnapshot.getMetaValue(`turbo-${e}`)}},Gr=class{#e=!1;#t=Promise.resolve();renderChange(e,t){return e&&this.viewTransitionsAvailable&&!this.#e?(this.#e=!0,this.#t=this.#t.then(async()=>{await document.startViewTransition(t).finished})):this.#t=this.#t.then(t),this.#t}get viewTransitionsAvailable(){return document.startViewTransition}},fc={action:"advance",historyChanged:!1,visitCachedSnapshot:()=>{},willRender:!0,updateHistory:!0,shouldCacheSnapshot:!0,acceptsStreamResponse:!1},Ni={visitStart:"visitStart",requestStart:"requestStart",requestEnd:"requestEnd",visitEnd:"visitEnd"},ye={initialized:"initialized",started:"started",canceled:"canceled",failed:"failed",completed:"completed"},gt={networkFailure:0,timeoutFailure:-1,contentTypeMismatch:-2},pc={advance:"forward",restore:"back",replace:"none"},Qr=class{identifier=Te();timingMetrics={};followedRedirect=!1;historyChanged=!1;scrolled=!1;shouldCacheSnapshot=!0;acceptsStreamResponse=!1;snapshotCached=!1;state=ye.initialized;viewTransitioner=new Gr;constructor(e,t,r,s={}){this.delegate=e,this.location=t,this.restorationIdentifier=r||Te();let{action:n,historyChanged:o,referrer:a,snapshot:d,snapshotHTML:f,response:u,visitCachedSnapshot:_,willRender:E,updateHistory:w,shouldCacheSnapshot:O,acceptsStreamResponse:C,direction:S}={...fc,...s};this.action=n,this.historyChanged=o,this.referrer=a,this.snapshot=d,this.snapshotHTML=f,this.response=u,this.isSamePage=this.delegate.locationWithActionIsSamePage(this.location,this.action),this.isPageRefresh=this.view.isPageRefresh(this),this.visitCachedSnapshot=_,this.willRender=E,this.updateHistory=w,this.scrolled=!E,this.shouldCacheSnapshot=O,this.acceptsStreamResponse=C,this.direction=S||pc[n]}get adapter(){return this.delegate.adapter}get view(){return this.delegate.view}get history(){return this.delegate.history}get restorationData(){return this.history.getRestorationDataForIdentifier(this.restorationIdentifier)}get silent(){return this.isSamePage}start(){this.state==ye.initialized&&(this.recordTimingMetric(Ni.visitStart),this.state=ye.started,this.adapter.visitStarted(this),this.delegate.visitStarted(this))}cancel(){this.state==ye.started&&(this.request&&this.request.cancel(),this.cancelRender(),this.state=ye.canceled)}complete(){this.state==ye.started&&(this.recordTimingMetric(Ni.visitEnd),this.adapter.visitCompleted(this),this.state=ye.completed,this.followRedirect(),this.followedRedirect||this.delegate.visitCompleted(this))}fail(){this.state==ye.started&&(this.state=ye.failed,this.adapter.visitFailed(this),this.delegate.visitCompleted(this))}changeHistory(){if(!this.historyChanged&&this.updateHistory){let e=this.location.href===this.referrer?.href?"replace":this.action,t=$n(e);this.history.update(t,this.location,this.restorationIdentifier),this.historyChanged=!0}}issueRequest(){this.hasPreloadedResponse()?this.simulateRequest():this.shouldIssueRequest()&&!this.request&&(this.request=new Ue(this,oe.get,this.location),this.request.perform())}simulateRequest(){this.response&&(this.startRequest(),this.recordResponse(),this.finishRequest())}startRequest(){this.recordTimingMetric(Ni.requestStart),this.adapter.visitRequestStarted(this)}recordResponse(e=this.response){if(this.response=e,e){let{statusCode:t}=e;Bn(t)?this.adapter.visitRequestCompleted(this):this.adapter.visitRequestFailedWithStatusCode(this,t)}}finishRequest(){this.recordTimingMetric(Ni.requestEnd),this.adapter.visitRequestFinished(this)}loadResponse(){if(this.response){let{statusCode:e,responseHTML:t}=this.response;this.render(async()=>{if(this.shouldCacheSnapshot&&this.cacheSnapshot(),this.view.renderPromise&&await this.view.renderPromise,Bn(e)&&t!=null){let r=de.fromHTMLString(t);await this.renderPageSnapshot(r,!1),this.adapter.visitRendered(this),this.complete()}else await this.view.renderError(de.fromHTMLString(t),this),this.adapter.visitRendered(this),this.fail()})}}getCachedSnapshot(){let e=this.view.getCachedSnapshotForLocation(this.location)||this.getPreloadedSnapshot();if(e&&(!ze(this.location)||e.hasAnchor(ze(this.location)))&&(this.action=="restore"||e.isPreviewable))return e}getPreloadedSnapshot(){if(this.snapshotHTML)return de.fromHTMLString(this.snapshotHTML)}hasCachedSnapshot(){return this.getCachedSnapshot()!=null}loadCachedSnapshot(){let e=this.getCachedSnapshot();if(e){let t=this.shouldIssueRequest();this.render(async()=>{this.cacheSnapshot(),this.isSamePage||this.isPageRefresh?this.adapter.visitRendered(this):(this.view.renderPromise&&await this.view.renderPromise,await this.renderPageSnapshot(e,t),this.adapter.visitRendered(this),t||this.complete())})}}followRedirect(){this.redirectedToLocation&&!this.followedRedirect&&this.response?.redirected&&(this.adapter.visitProposedToLocation(this.redirectedToLocation,{action:"replace",response:this.response,shouldCacheSnapshot:!1,willRender:!1}),this.followedRedirect=!0)}goToSamePageAnchor(){this.isSamePage&&this.render(async()=>{this.cacheSnapshot(),this.performScroll(),this.changeHistory(),this.adapter.visitRendered(this)})}prepareRequest(e){this.acceptsStreamResponse&&e.acceptResponseType(ke.contentType)}requestStarted(){this.startRequest()}requestPreventedHandlingResponse(e,t){}async requestSucceededWithResponse(e,t){let r=await t.responseHTML,{redirected:s,statusCode:n}=t;r==null?this.recordResponse({statusCode:gt.contentTypeMismatch,redirected:s}):(this.redirectedToLocation=t.redirected?t.location:void 0,this.recordResponse({statusCode:n,responseHTML:r,redirected:s}))}async requestFailedWithResponse(e,t){let r=await t.responseHTML,{redirected:s,statusCode:n}=t;r==null?this.recordResponse({statusCode:gt.contentTypeMismatch,redirected:s}):this.recordResponse({statusCode:n,responseHTML:r,redirected:s})}requestErrored(e,t){this.recordResponse({statusCode:gt.networkFailure,redirected:!1})}requestFinished(){this.finishRequest()}performScroll(){!this.scrolled&&!this.view.forceReloaded&&!this.view.shouldPreserveScrollPosition(this)&&(this.action=="restore"?this.scrollToRestoredPosition()||this.scrollToAnchor()||this.view.scrollToTop():this.scrollToAnchor()||this.view.scrollToTop(),this.isSamePage&&this.delegate.visitScrolledToSamePageLocation(this.view.lastRenderedLocation,this.location),this.scrolled=!0)}scrollToRestoredPosition(){let{scrollPosition:e}=this.restorationData;if(e)return this.view.scrollToPosition(e),!0}scrollToAnchor(){let e=ze(this.location);if(e!=null)return this.view.scrollToAnchor(e),!0}recordTimingMetric(e){this.timingMetrics[e]=new Date().getTime()}getTimingMetrics(){return{...this.timingMetrics}}getHistoryMethodForAction(e){switch(e){case"replace":return history.replaceState;case"advance":case"restore":return history.pushState}}hasPreloadedResponse(){return typeof this.response=="object"}shouldIssueRequest(){return this.isSamePage?!1:this.action=="restore"?!this.hasCachedSnapshot():this.willRender}cacheSnapshot(){this.snapshotCached||(this.view.cacheSnapshot(this.snapshot).then(e=>e&&this.visitCachedSnapshot(e)),this.snapshotCached=!0)}async render(e){this.cancelRender(),this.frame=await pt(),await e(),delete this.frame}async renderPageSnapshot(e,t){await this.viewTransitioner.renderChange(this.view.shouldTransitionTo(e),async()=>{await this.view.renderPage(e,t,this.willRender,this),this.performScroll()})}cancelRender(){this.frame&&(cancelAnimationFrame(this.frame),delete this.frame)}};function Bn(i){return i>=200&&i<300}var Zr=class{progressBar=new Yr;constructor(e){this.session=e}visitProposedToLocation(e,t){Ce(e,this.navigator.rootLocation)?this.navigator.startVisit(e,t?.restorationIdentifier||Te(),t):window.location.href=e.toString()}visitStarted(e){this.location=e.location,e.loadCachedSnapshot(),e.issueRequest(),e.goToSamePageAnchor()}visitRequestStarted(e){this.progressBar.setValue(0),e.hasCachedSnapshot()||e.action!="restore"?this.showVisitProgressBarAfterDelay():this.showProgressBar()}visitRequestCompleted(e){e.loadResponse()}visitRequestFailedWithStatusCode(e,t){switch(t){case gt.networkFailure:case gt.timeoutFailure:case gt.contentTypeMismatch:return this.reload({reason:"request_failed",context:{statusCode:t}});default:return e.loadResponse()}}visitRequestFinished(e){}visitCompleted(e){this.progressBar.setValue(1),this.hideVisitProgressBar()}pageInvalidated(e){this.reload(e)}visitFailed(e){this.progressBar.setValue(1),this.hideVisitProgressBar()}visitRendered(e){}formSubmissionStarted(e){this.progressBar.setValue(0),this.showFormProgressBarAfterDelay()}formSubmissionFinished(e){this.progressBar.setValue(1),this.hideFormProgressBar()}showVisitProgressBarAfterDelay(){this.visitProgressBarTimeout=window.setTimeout(this.showProgressBar,this.session.progressBarDelay)}hideVisitProgressBar(){this.progressBar.hide(),this.visitProgressBarTimeout!=null&&(window.clearTimeout(this.visitProgressBarTimeout),delete this.visitProgressBarTimeout)}showFormProgressBarAfterDelay(){this.formProgressBarTimeout==null&&(this.formProgressBarTimeout=window.setTimeout(this.showProgressBar,this.session.progressBarDelay))}hideFormProgressBar(){this.progressBar.hide(),this.formProgressBarTimeout!=null&&(window.clearTimeout(this.formProgressBarTimeout),delete this.formProgressBarTimeout)}showProgressBar=()=>{this.progressBar.show()};reload(e){q("turbo:reload",{detail:e}),window.location.href=this.location?.toString()||window.location.href}get navigator(){return this.session.navigator}},es=class{selector="[data-turbo-temporary]";deprecatedSelector="[data-turbo-cache=false]";started=!1;start(){this.started||(this.started=!0,addEventListener("turbo:before-cache",this.removeTemporaryElements,!1))}stop(){this.started&&(this.started=!1,removeEventListener("turbo:before-cache",this.removeTemporaryElements,!1))}removeTemporaryElements=e=>{for(let t of this.temporaryElements)t.remove()};get temporaryElements(){return[...document.querySelectorAll(this.selector),...this.temporaryElementsWithDeprecation]}get temporaryElementsWithDeprecation(){let e=document.querySelectorAll(this.deprecatedSelector);return e.length&&console.warn(`The ${this.deprecatedSelector} selector is deprecated and will be removed in a future version. Use ${this.selector} instead.`),[...e]}},ts=class{constructor(e,t){this.session=e,this.element=t,this.linkInterceptor=new Ui(this,t),this.formSubmitObserver=new Pt(this,t)}start(){this.linkInterceptor.start(),this.formSubmitObserver.start()}stop(){this.linkInterceptor.stop(),this.formSubmitObserver.stop()}shouldInterceptLinkClick(e,t,r){return this.#t(e)}linkClickIntercepted(e,t,r){let s=this.#i(e);s&&s.delegate.linkClickIntercepted(e,t,r)}willSubmitForm(e,t){return e.closest("turbo-frame")==null&&this.#e(e,t)&&this.#t(e,t)}formSubmitted(e,t){let r=this.#i(e,t);r&&r.delegate.formSubmitted(e,t)}#e(e,t){let r=ys(e,t),s=this.element.ownerDocument.querySelector('meta[name="turbo-root"]'),n=G(s?.content??"/");return this.#t(e,t)&&Ce(r,n)}#t(e,t){if(e instanceof HTMLFormElement?this.session.submissionIsNavigatable(e,t):this.session.elementIsNavigatable(e)){let s=this.#i(e,t);return s?s!=e.closest("turbo-frame"):!1}else return!1}#i(e,t){let r=t?.getAttribute("data-turbo-frame")||e.getAttribute("data-turbo-frame");if(r&&r!="_top"){let s=this.element.querySelector(`#${r}:not([disabled])`);if(s instanceof fe)return s}}},is=class{location;restorationIdentifier=Te();restorationData={};started=!1;pageLoaded=!1;currentIndex=0;constructor(e){this.delegate=e}start(){this.started||(addEventListener("popstate",this.onPopState,!1),addEventListener("load",this.onPageLoad,!1),this.currentIndex=history.state?.turbo?.restorationIndex||0,this.started=!0,this.replace(new URL(window.location.href)))}stop(){this.started&&(removeEventListener("popstate",this.onPopState,!1),removeEventListener("load",this.onPageLoad,!1),this.started=!1)}push(e,t){this.update(history.pushState,e,t)}replace(e,t){this.update(history.replaceState,e,t)}update(e,t,r=Te()){e===history.pushState&&++this.currentIndex;let s={turbo:{restorationIdentifier:r,restorationIndex:this.currentIndex}};e.call(history,s,"",t.href),this.location=t,this.restorationIdentifier=r}getRestorationDataForIdentifier(e){return this.restorationData[e]||{}}updateRestorationData(e){let{restorationIdentifier:t}=this,r=this.restorationData[t];this.restorationData[t]={...r,...e}}assumeControlOfScrollRestoration(){this.previousScrollRestoration||(this.previousScrollRestoration=history.scrollRestoration??"auto",history.scrollRestoration="manual")}relinquishControlOfScrollRestoration(){this.previousScrollRestoration&&(history.scrollRestoration=this.previousScrollRestoration,delete this.previousScrollRestoration)}onPopState=e=>{if(this.shouldHandlePopState()){let{turbo:t}=e.state||{};if(t){this.location=new URL(window.location.href);let{restorationIdentifier:r,restorationIndex:s}=t;this.restorationIdentifier=r;let n=s>this.currentIndex?"forward":"back";this.delegate.historyPoppedToLocationWithRestorationIdentifierAndDirection(this.location,r,n),this.currentIndex=s}}};onPageLoad=async e=>{await Ml(),this.pageLoaded=!0};shouldHandlePopState(){return this.pageIsLoaded()}pageIsLoaded(){return this.pageLoaded||document.readyState=="complete"}},rs=class{started=!1;#e=null;constructor(e,t){this.delegate=e,this.eventTarget=t}start(){this.started||(this.eventTarget.readyState==="loading"?this.eventTarget.addEventListener("DOMContentLoaded",this.#t,{once:!0}):this.#t())}stop(){this.started&&(this.eventTarget.removeEventListener("mouseenter",this.#i,{capture:!0,passive:!0}),this.eventTarget.removeEventListener("mouseleave",this.#s,{capture:!0,passive:!0}),this.eventTarget.removeEventListener("turbo:before-fetch-request",this.#r,!0),this.started=!1)}#t=()=>{this.eventTarget.addEventListener("mouseenter",this.#i,{capture:!0,passive:!0}),this.eventTarget.addEventListener("mouseleave",this.#s,{capture:!0,passive:!0}),this.eventTarget.addEventListener("turbo:before-fetch-request",this.#r,!0),this.started=!0};#i=e=>{if(vt("turbo-prefetch")==="false")return;let t=e.target;if(t.matches&&t.matches("a[href]:not([target^=_]):not([download])")&&this.#a(t)){let s=t,n=Xn(s);if(this.delegate.canPrefetchRequestToLocation(s,n)){this.#e=s;let o=new Ue(this,oe.get,n,new URLSearchParams,t);ft.setLater(n.toString(),o,this.#o)}}};#s=e=>{e.target===this.#e&&this.#n()};#n=()=>{ft.clear(),this.#e=null};#r=e=>{if(e.target.tagName!=="FORM"&&e.detail.fetchOptions.method==="get"){let t=ft.get(e.detail.url.toString());t&&(e.detail.fetchRequest=t),ft.clear()}};prepareRequest(e){let t=e.target;e.headers["X-Sec-Purpose"]="prefetch";let r=t.closest("turbo-frame"),s=t.getAttribute("data-turbo-frame")||r?.getAttribute("target")||r?.id;s&&s!=="_top"&&(e.headers["Turbo-Frame"]=s)}requestSucceededWithResponse(){}requestStarted(e){}requestErrored(e){}requestFinished(e){}requestPreventedHandlingResponse(e,t){}requestFailedWithResponse(e,t){}get#o(){return Number(vt("turbo-prefetch-cache-time"))||Kl}#a(e){return!(!e.getAttribute("href")||mc(e)||gc(e)||vc(e)||bc(e)||wc(e))}},mc=i=>i.origin!==document.location.origin||!["http:","https:"].includes(i.protocol)||i.hasAttribute("target"),gc=i=>i.pathname+i.search===document.location.pathname+document.location.search||i.href.startsWith("#"),vc=i=>{if(i.getAttribute("data-turbo-prefetch")==="false"||i.getAttribute("data-turbo")==="false")return!0;let e=mt(i,"[data-turbo-prefetch]");return!!(e&&e.getAttribute("data-turbo-prefetch")==="false")},bc=i=>{let e=i.getAttribute("data-turbo-method");return!!(e&&e.toLowerCase()!=="get"||yc(i)||i.hasAttribute("data-turbo-confirm")||i.hasAttribute("data-turbo-stream"))},yc=i=>i.hasAttribute("data-remote")||i.hasAttribute("data-behavior")||i.hasAttribute("data-confirm")||i.hasAttribute("data-method"),wc=i=>q("turbo:before-prefetch",{target:i,cancelable:!0}).defaultPrevented,ss=class{constructor(e){this.delegate=e}proposeVisit(e,t={}){this.delegate.allowsVisitingLocationWithAction(e,t.action)&&this.delegate.visitProposedToLocation(e,t)}startVisit(e,t,r={}){this.stop(),this.currentVisit=new Qr(this,G(e),t,{referrer:this.location,...r}),this.currentVisit.start()}submitForm(e,t){this.stop(),this.formSubmission=new Mt(this,e,t,!0),this.formSubmission.start()}stop(){this.formSubmission&&(this.formSubmission.stop(),delete this.formSubmission),this.currentVisit&&(this.currentVisit.cancel(),delete this.currentVisit)}get adapter(){return this.delegate.adapter}get view(){return this.delegate.view}get rootLocation(){return this.view.snapshot.rootLocation}get history(){return this.delegate.history}formSubmissionStarted(e){typeof this.adapter.formSubmissionStarted=="function"&&this.adapter.formSubmissionStarted(e)}async formSubmissionSucceededWithResponse(e,t){if(e==this.formSubmission){let r=await t.responseHTML;if(r){let s=e.isSafe;s||this.view.clearSnapshotCache();let{statusCode:n,redirected:o}=t,d={action:this.#e(e,t),shouldCacheSnapshot:s,response:{statusCode:n,responseHTML:r,redirected:o}};this.proposeVisit(t.location,d)}}}async formSubmissionFailedWithResponse(e,t){let r=await t.responseHTML;if(r){let s=de.fromHTMLString(r);t.serverError?await this.view.renderError(s,this.currentVisit):await this.view.renderPage(s,!1,!0,this.currentVisit),s.shouldPreserveScrollPosition||this.view.scrollToTop(),this.view.clearSnapshotCache()}}formSubmissionErrored(e,t){console.error(t)}formSubmissionFinished(e){typeof this.adapter.formSubmissionFinished=="function"&&this.adapter.formSubmissionFinished(e)}visitStarted(e){this.delegate.visitStarted(e)}visitCompleted(e){this.delegate.visitCompleted(e)}locationWithActionIsSamePage(e,t){let r=ze(e),s=ze(this.view.lastRenderedLocation),n=t==="restore"&&typeof r>"u";return t!=="replace"&&zr(e)===zr(this.view.lastRenderedLocation)&&(n||r!=null&&r!==s)}visitScrolledToSamePageLocation(e,t){this.delegate.visitScrolledToSamePageLocation(e,t)}get location(){return this.history.location}get restorationIdentifier(){return this.history.restorationIdentifier}#e(e,t){let{submitter:r,formElement:s}=e;return $e(r,s)||this.#t(t)}#t(e){return e.redirected&&e.location.href===this.location?.href?"replace":"advance"}},je={initial:0,loading:1,interactive:2,complete:3},ns=class{stage=je.initial;started=!1;constructor(e){this.delegate=e}start(){this.started||(this.stage==je.initial&&(this.stage=je.loading),document.addEventListener("readystatechange",this.interpretReadyState,!1),addEventListener("pagehide",this.pageWillUnload,!1),this.started=!0)}stop(){this.started&&(document.removeEventListener("readystatechange",this.interpretReadyState,!1),removeEventListener("pagehide",this.pageWillUnload,!1),this.started=!1)}interpretReadyState=()=>{let{readyState:e}=this;e=="interactive"?this.pageIsInteractive():e=="complete"&&this.pageIsComplete()};pageIsInteractive(){this.stage==je.loading&&(this.stage=je.interactive,this.delegate.pageBecameInteractive())}pageIsComplete(){this.pageIsInteractive(),this.stage==je.interactive&&(this.stage=je.complete,this.delegate.pageLoaded())}pageWillUnload=()=>{this.delegate.pageWillUnload()};get readyState(){return document.readyState}},os=class{started=!1;constructor(e){this.delegate=e}start(){this.started||(addEventListener("scroll",this.onScroll,!1),this.onScroll(),this.started=!0)}stop(){this.started&&(removeEventListener("scroll",this.onScroll,!1),this.started=!1)}onScroll=()=>{this.updatePosition({x:window.pageXOffset,y:window.pageYOffset})};updatePosition(e){this.delegate.scrollPositionChanged(e)}},as=class{render({fragment:e}){Yi.preservingPermanentElements(this,Ec(e),()=>{_c(e,()=>{Sc(()=>{document.documentElement.appendChild(e)})})})}enteringBardo(e,t){t.replaceWith(e.cloneNode(!0))}leavingBardo(){}};function Ec(i){let e=Zn(document.documentElement),t={};for(let r of e){let{id:s}=r;for(let n of i.querySelectorAll("turbo-stream")){let o=Qn(n.templateElement.content,s);o&&(t[s]=[r,o])}}return t}async function _c(i,e){let t=`turbo-stream-autofocus-${Te()}`,r=i.querySelectorAll("turbo-stream"),s=Ac(r),n=null;if(s&&(s.id?n=s.id:n=t,s.id=n),e(),await pt(),(document.activeElement==null||document.activeElement==document.body)&&n){let a=document.getElementById(n);ws(a)&&a.focus(),a&&a.id==t&&a.removeAttribute("id")}}async function Sc(i){let[e,t]=await Hl(i,()=>document.activeElement),r=e&&e.id;if(r){let s=document.getElementById(r);ws(s)&&s!=t&&s.focus()}}function Ac(i){for(let e of i){let t=Kn(e.templateElement.content);if(t)return t}return null}var ls=class{sources=new Set;#e=!1;constructor(e){this.delegate=e}start(){this.#e||(this.#e=!0,addEventListener("turbo:before-fetch-response",this.inspectFetchResponse,!1))}stop(){this.#e&&(this.#e=!1,removeEventListener("turbo:before-fetch-response",this.inspectFetchResponse,!1))}connectStreamSource(e){this.streamSourceIsConnected(e)||(this.sources.add(e),e.addEventListener("message",this.receiveMessageEvent,!1))}disconnectStreamSource(e){this.streamSourceIsConnected(e)&&(this.sources.delete(e),e.removeEventListener("message",this.receiveMessageEvent,!1))}streamSourceIsConnected(e){return this.sources.has(e)}inspectFetchResponse=e=>{let t=Lc(e);t&&Cc(t)&&(e.preventDefault(),this.receiveMessageResponse(t))};receiveMessageEvent=e=>{this.#e&&typeof e.data=="string"&&this.receiveMessageHTML(e.data)};async receiveMessageResponse(e){let t=await e.responseHTML;t&&this.receiveMessageHTML(t)}receiveMessageHTML(e){this.delegate.receivedMessageFromStream(ke.wrap(e))}};function Lc(i){let e=i.detail?.fetchResponse;if(e instanceof Ot)return e}function Cc(i){return(i.contentType??"").startsWith(ke.contentType)}var Ji=class extends Rt{static renderElement(e,t){let{documentElement:r,body:s}=document;r.replaceChild(t,s)}async render(){this.replaceHeadAndBody(),this.activateScriptElements()}replaceHeadAndBody(){let{documentElement:e,head:t}=document;e.replaceChild(this.newHead,t),this.renderElement(this.currentElement,this.newElement)}activateScriptElements(){for(let e of this.scriptElements){let t=e.parentNode;if(t){let r=It(e);t.replaceChild(r,e)}}}get newHead(){return this.newSnapshot.headSnapshot.element}get scriptElements(){return document.documentElement.querySelectorAll("script")}},Tc=function(){let i=new Set,e={morphStyle:"outerHTML",callbacks:{beforeNodeAdded:E,afterNodeAdded:E,beforeNodeMorphed:E,afterNodeMorphed:E,beforeNodeRemoved:E,afterNodeRemoved:E,beforeAttributeUpdated:E},head:{style:"merge",shouldPreserve:function(l){return l.getAttribute("im-preserve")==="true"},shouldReAppend:function(l){return l.getAttribute("im-re-append")==="true"},shouldRemove:E,afterHeadMorphed:E}};function t(l,c,h={}){l instanceof Document&&(l=l.documentElement),typeof c=="string"&&(c=L(c));let p=T(c),m=O(l,p,h);return r(l,p,m)}function r(l,c,h){if(h.head.block){let p=l.querySelector("head"),m=c.querySelector("head");if(p&&m){let g=_(m,p,h);Promise.all(g).then(function(){r(l,c,Object.assign(h,{head:{block:!1,ignore:!0}}))});return}}if(h.morphStyle==="innerHTML")return o(c,l,h),l.children;if(h.morphStyle==="outerHTML"||h.morphStyle==null){let p=x(c,l,h),m=p?.previousSibling,g=p?.nextSibling,A=n(l,p,h);return p?b(m,A,g):[]}else throw"Do not understand how to morph style "+h.morphStyle}function s(l,c){return c.ignoreActiveValue&&l===document.activeElement&&l!==document.body}function n(l,c,h){if(!(h.ignoreActive&&l===document.activeElement))return c==null?h.callbacks.beforeNodeRemoved(l)===!1?l:(l.remove(),h.callbacks.afterNodeRemoved(l),null):S(l,c)?(h.callbacks.beforeNodeMorphed(l,c)===!1||(l instanceof HTMLHeadElement&&h.head.ignore||(l instanceof HTMLHeadElement&&h.head.style!=="morph"?_(c,l,h):(d(c,l,h),s(l,h)||o(c,l,h))),h.callbacks.afterNodeMorphed(l,c)),l):h.callbacks.beforeNodeRemoved(l)===!1||h.callbacks.beforeNodeAdded(c)===!1?l:(l.parentElement.replaceChild(c,l),h.callbacks.afterNodeAdded(c),h.callbacks.afterNodeRemoved(l),c)}function o(l,c,h){let p=l.firstChild,m=c.firstChild,g;for(;p;){if(g=p,p=g.nextSibling,m==null){if(h.callbacks.beforeNodeAdded(g)===!1)return;c.appendChild(g),h.callbacks.afterNodeAdded(g),$(h,g);continue}if(C(g,m,h)){n(m,g,h),m=m.nextSibling,$(h,g);continue}let A=I(l,c,g,m,h);if(A){m=k(m,A,h),n(A,g,h),$(h,g);continue}let B=M(l,c,g,m,h);if(B){m=k(m,B,h),n(B,g,h),$(h,g);continue}if(h.callbacks.beforeNodeAdded(g)===!1)return;c.insertBefore(g,m),h.callbacks.afterNodeAdded(g),$(h,g)}for(;m!==null;){let A=m;m=m.nextSibling,F(A,h)}}function a(l,c,h,p){return l==="value"&&p.ignoreActiveValue&&c===document.activeElement?!0:p.callbacks.beforeAttributeUpdated(l,c,h)===!1}function d(l,c,h){let p=l.nodeType;if(p===1){let m=l.attributes,g=c.attributes;for(let A of m)a(A.name,c,"update",h)||c.getAttribute(A.name)!==A.value&&c.setAttribute(A.name,A.value);for(let A=g.length-1;0<=A;A--){let B=g[A];a(B.name,c,"remove",h)||l.hasAttribute(B.name)||c.removeAttribute(B.name)}}(p===8||p===3)&&c.nodeValue!==l.nodeValue&&(c.nodeValue=l.nodeValue),s(c,h)||u(l,c,h)}function f(l,c,h,p){if(l[h]!==c[h]){let m=a(h,c,"update",p);m||(c[h]=l[h]),l[h]?m||c.setAttribute(h,l[h]):a(h,c,"remove",p)||c.removeAttribute(h)}}function u(l,c,h){if(l instanceof HTMLInputElement&&c instanceof HTMLInputElement&&l.type!=="file"){let p=l.value,m=c.value;f(l,c,"checked",h),f(l,c,"disabled",h),l.hasAttribute("value")?p!==m&&(a("value",c,"update",h)||(c.setAttribute("value",p),c.value=p)):a("value",c,"remove",h)||(c.value="",c.removeAttribute("value"))}else if(l instanceof HTMLOptionElement)f(l,c,"selected",h);else if(l instanceof HTMLTextAreaElement&&c instanceof HTMLTextAreaElement){let p=l.value,m=c.value;if(a("value",c,"update",h))return;p!==m&&(c.value=p),c.firstChild&&c.firstChild.nodeValue!==p&&(c.firstChild.nodeValue=p)}}function _(l,c,h){let p=[],m=[],g=[],A=[],B=h.head.style,ee=new Map;for(let R of l.children)ee.set(R.outerHTML,R);for(let R of c.children){let te=ee.has(R.outerHTML),ie=h.head.shouldReAppend(R),xe=h.head.shouldPreserve(R);te||xe?ie?m.push(R):(ee.delete(R.outerHTML),g.push(R)):B==="append"?ie&&(m.push(R),A.push(R)):h.head.shouldRemove(R)!==!1&&m.push(R)}A.push(...ee.values());let ae=[];for(let R of A){let te=document.createRange().createContextualFragment(R.outerHTML).firstChild;if(h.callbacks.beforeNodeAdded(te)!==!1){if(te.href||te.src){let ie=null,xe=new Promise(function(Gi){ie=Gi});te.addEventListener("load",function(){ie()}),ae.push(xe)}c.appendChild(te),h.callbacks.afterNodeAdded(te),p.push(te)}}for(let R of m)h.callbacks.beforeNodeRemoved(R)!==!1&&(c.removeChild(R),h.callbacks.afterNodeRemoved(R));return h.head.afterHeadMorphed(c,{added:p,kept:g,removed:m}),ae}function E(){}function w(l){let c={};return Object.assign(c,e),Object.assign(c,l),c.callbacks={},Object.assign(c.callbacks,e.callbacks),Object.assign(c.callbacks,l.callbacks),c.head={},Object.assign(c.head,e.head),Object.assign(c.head,l.head),c}function O(l,c,h){return h=w(h),{target:l,newContent:c,config:h,morphStyle:h.morphStyle,ignoreActive:h.ignoreActive,ignoreActiveValue:h.ignoreActiveValue,idMap:pe(l,c),deadIds:new Set,callbacks:h.callbacks,head:h.head}}function C(l,c,h){return l==null||c==null?!1:l.nodeType===c.nodeType&&l.tagName===c.tagName?l.id!==""&&l.id===c.id?!0:j(h,l,c)>0:!1}function S(l,c){return l==null||c==null?!1:l.nodeType===c.nodeType&&l.tagName===c.tagName}function k(l,c,h){for(;l!==c;){let p=l;l=l.nextSibling,F(p,h)}return $(h,c),c.nextSibling}function I(l,c,h,p,m){let g=j(m,h,c),A=null;if(g>0){let B=p,ee=0;for(;B!=null;){if(C(h,B,m))return B;if(ee+=j(m,B,l),ee>g)return null;B=B.nextSibling}}return A}function M(l,c,h,p,m){let g=p,A=h.nextSibling,B=0;for(;g!=null;){if(j(m,g,l)>0)return null;if(S(h,g))return g;if(S(A,g)&&(B++,A=A.nextSibling,B>=2))return null;g=g.nextSibling}return g}function L(l){let c=new DOMParser,h=l.replace(/]*>|>)([\s\S]*?)<\/svg>/gim,"");if(h.match(/<\/html>/)||h.match(/<\/head>/)||h.match(/<\/body>/)){let p=c.parseFromString(l,"text/html");if(h.match(/<\/html>/))return p.generatedByIdiomorph=!0,p;{let m=p.firstChild;return m?(m.generatedByIdiomorph=!0,m):null}}else{let m=c.parseFromString("","text/html").body.querySelector("template").content;return m.generatedByIdiomorph=!0,m}}function T(l){if(l==null)return document.createElement("div");if(l.generatedByIdiomorph)return l;if(l instanceof Node){let c=document.createElement("div");return c.append(l),c}else{let c=document.createElement("div");for(let h of[...l])c.append(h);return c}}function b(l,c,h){let p=[],m=[];for(;l!=null;)p.push(l),l=l.previousSibling;for(;p.length>0;){let g=p.pop();m.push(g),c.parentElement.insertBefore(g,c)}for(m.push(c);h!=null;)p.push(h),m.push(h),h=h.nextSibling;for(;p.length>0;)c.parentElement.insertBefore(p.pop(),c.nextSibling);return m}function x(l,c,h){let p;p=l.firstChild;let m=p,g=0;for(;p;){let A=P(p,c,h);A>g&&(m=p,g=A),p=p.nextSibling}return m}function P(l,c,h){return S(l,c)?.5+j(h,l,c):0}function F(l,c){$(c,l),c.callbacks.beforeNodeRemoved(l)!==!1&&(l.remove(),c.callbacks.afterNodeRemoved(l))}function N(l,c){return!l.deadIds.has(c)}function X(l,c,h){return(l.idMap.get(h)||i).has(c)}function $(l,c){let h=l.idMap.get(c)||i;for(let p of h)l.deadIds.add(p)}function j(l,c,h){let p=l.idMap.get(c)||i,m=0;for(let g of p)N(l,g)&&X(l,g,h)&&++m;return m}function ue(l,c){let h=l.parentElement,p=l.querySelectorAll("[id]");for(let m of p){let g=m;for(;g!==h&&g!=null;){let A=c.get(g);A==null&&(A=new Set,c.set(g,A)),A.add(m.id),g=g.parentElement}}}function pe(l,c){let h=new Map;return ue(l,h),ue(c,h),h}return{morph:t,defaults:e}}(),yt=class extends Rt{static renderElement(e,t){document.body&&t instanceof HTMLBodyElement?document.body.replaceWith(t):document.documentElement.appendChild(t)}get shouldRender(){return this.newSnapshot.isVisitable&&this.trackedElementsAreIdentical}get reloadReason(){if(!this.newSnapshot.isVisitable)return{reason:"turbo_visit_control_is_reload"};if(!this.trackedElementsAreIdentical)return{reason:"tracked_element_mismatch"}}async prepareToRender(){this.#e(),await this.mergeHead()}async render(){this.willRender&&await this.replaceBody()}finishRendering(){super.finishRendering(),this.isPreview||this.focusFirstAutofocusableElement()}get currentHeadSnapshot(){return this.currentSnapshot.headSnapshot}get newHeadSnapshot(){return this.newSnapshot.headSnapshot}get newElement(){return this.newSnapshot.element}#e(){let{documentElement:e}=this.currentSnapshot,{lang:t}=this.newSnapshot;t?e.setAttribute("lang",t):e.removeAttribute("lang")}async mergeHead(){let e=this.mergeProvisionalElements(),t=this.copyNewHeadStylesheetElements();this.copyNewHeadScriptElements(),await e,await t,this.willRender&&this.removeUnusedDynamicStylesheetElements()}async replaceBody(){await this.preservingPermanentElements(async()=>{this.activateNewBody(),await this.assignNewBody()})}get trackedElementsAreIdentical(){return this.currentHeadSnapshot.trackedElementSignature==this.newHeadSnapshot.trackedElementSignature}async copyNewHeadStylesheetElements(){let e=[];for(let t of this.newHeadStylesheetElements)e.push(Fl(t)),document.head.appendChild(t);await Promise.all(e)}copyNewHeadScriptElements(){for(let e of this.newHeadScriptElements)document.head.appendChild(It(e))}removeUnusedDynamicStylesheetElements(){for(let e of this.unusedDynamicStylesheetElements)document.head.removeChild(e)}async mergeProvisionalElements(){let e=[...this.newHeadProvisionalElements];for(let t of this.currentHeadProvisionalElements)this.isCurrentElementInElementList(t,e)||document.head.removeChild(t);for(let t of e)document.head.appendChild(t)}isCurrentElementInElementList(e,t){for(let[r,s]of t.entries()){if(e.tagName=="TITLE"){if(s.tagName!="TITLE")continue;if(e.innerHTML==s.innerHTML)return t.splice(r,1),!0}if(s.isEqualNode(e))return t.splice(r,1),!0}return!1}removeCurrentHeadProvisionalElements(){for(let e of this.currentHeadProvisionalElements)document.head.removeChild(e)}copyNewHeadProvisionalElements(){for(let e of this.newHeadProvisionalElements)document.head.appendChild(e)}activateNewBody(){document.adoptNode(this.newElement),this.activateNewBodyScriptElements()}activateNewBodyScriptElements(){for(let e of this.newBodyScriptElements){let t=It(e);e.replaceWith(t)}}async assignNewBody(){await this.renderElement(this.currentElement,this.newElement)}get unusedDynamicStylesheetElements(){return this.oldHeadStylesheetElements.filter(e=>e.getAttribute("data-turbo-track")==="dynamic")}get oldHeadStylesheetElements(){return this.currentHeadSnapshot.getStylesheetElementsNotInSnapshot(this.newHeadSnapshot)}get newHeadStylesheetElements(){return this.newHeadSnapshot.getStylesheetElementsNotInSnapshot(this.currentHeadSnapshot)}get newHeadScriptElements(){return this.newHeadSnapshot.getScriptElementsNotInSnapshot(this.currentHeadSnapshot)}get currentHeadProvisionalElements(){return this.currentHeadSnapshot.provisionalElements}get newHeadProvisionalElements(){return this.newHeadSnapshot.provisionalElements}get newBodyScriptElements(){return this.newElement.querySelectorAll("script")}},cs=class extends yt{async render(){this.willRender&&await this.#e()}get renderMethod(){return"morph"}async#e(){this.#t(this.currentElement,this.newElement),this.#a(),q("turbo:morph",{detail:{currentElement:this.currentElement,newElement:this.newElement}})}#t(e,t,r="outerHTML"){this.isMorphingTurboFrame=this.#l(e),Tc.morph(e,t,{morphStyle:r,callbacks:{beforeNodeAdded:this.#i,beforeNodeMorphed:this.#s,beforeAttributeUpdated:this.#n,beforeNodeRemoved:this.#o,afterNodeMorphed:this.#r}})}#i=e=>!(e.id&&e.hasAttribute("data-turbo-permanent")&&document.getElementById(e.id));#s=(e,t)=>{if(e instanceof HTMLElement)return!e.hasAttribute("data-turbo-permanent")&&(this.isMorphingTurboFrame||!this.#l(e))?!q("turbo:before-morph-element",{cancelable:!0,target:e,detail:{newElement:t}}).defaultPrevented:!1};#n=(e,t,r)=>!q("turbo:before-morph-attribute",{cancelable:!0,target:t,detail:{attributeName:e,mutationType:r}}).defaultPrevented;#r=(e,t)=>{t instanceof HTMLElement&&q("turbo:morph-element",{target:e,detail:{newElement:t}})};#o=e=>this.#s(e);#a(){this.#u().forEach(e=>{this.#l(e)&&(this.#h(e),e.reload())})}#h(e){e.addEventListener("turbo:before-frame-render",t=>{t.detail.render=this.#d},{once:!0})}#d=(e,t)=>{q("turbo:before-frame-morph",{target:e,detail:{currentElement:e,newElement:t}}),this.#t(e,t.children,"innerHTML")};#l(e){return e.src&&e.refresh==="morph"}#u(){return Array.from(document.querySelectorAll("turbo-frame[src]")).filter(e=>!e.closest("[data-turbo-permanent]"))}},hs=class{keys=[];snapshots={};constructor(e){this.size=e}has(e){return Vi(e)in this.snapshots}get(e){if(this.has(e)){let t=this.read(e);return this.touch(e),t}}put(e,t){return this.write(e,t),this.touch(e),t}clear(){this.snapshots={}}read(e){return this.snapshots[Vi(e)]}write(e,t){this.snapshots[Vi(e)]=t}touch(e){let t=Vi(e),r=this.keys.indexOf(t);r>-1&&this.keys.splice(r,1),this.keys.unshift(t),this.trim()}trim(){for(let e of this.keys.splice(this.size))delete this.snapshots[e]}},ds=class extends $i{snapshotCache=new hs(10);lastRenderedLocation=new URL(location.href);forceReloaded=!1;shouldTransitionTo(e){return this.snapshot.prefersViewTransitions&&e.prefersViewTransitions}renderPage(e,t=!1,r=!0,s){let o=this.isPageRefresh(s)&&this.snapshot.shouldMorphPage?cs:yt,a=new o(this.snapshot,e,yt.renderElement,t,r);return a.shouldRender?s?.changeHistory():this.forceReloaded=!0,this.render(a)}renderError(e,t){t?.changeHistory();let r=new Ji(this.snapshot,e,Ji.renderElement,!1);return this.render(r)}clearSnapshotCache(){this.snapshotCache.clear()}async cacheSnapshot(e=this.snapshot){if(e.isCacheable){this.delegate.viewWillCacheSnapshot();let{lastRenderedLocation:t}=this;await jn();let r=e.clone();return this.snapshotCache.put(t,r),r}}getCachedSnapshotForLocation(e){return this.snapshotCache.get(e)}isPageRefresh(e){return!e||this.lastRenderedLocation.pathname===e.location.pathname&&e.action==="replace"}shouldPreserveScrollPosition(e){return this.isPageRefresh(e)&&this.snapshot.shouldPreserveScrollPosition}get snapshot(){return de.fromElement(this.element)}},us=class{selector="a[data-turbo-preload]";constructor(e,t){this.delegate=e,this.snapshotCache=t}start(){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",this.#e):this.preloadOnLoadLinksForView(document.body)}stop(){document.removeEventListener("DOMContentLoaded",this.#e)}preloadOnLoadLinksForView(e){for(let t of e.querySelectorAll(this.selector))this.delegate.shouldPreloadLink(t)&&this.preloadURL(t)}async preloadURL(e){let t=new URL(e.href);if(this.snapshotCache.has(t))return;await new Ue(this,oe.get,t,new URLSearchParams,e).perform()}prepareRequest(e){e.headers["X-Sec-Purpose"]="prefetch"}async requestSucceededWithResponse(e,t){try{let r=await t.responseHTML,s=de.fromHTMLString(r);this.snapshotCache.put(e.url,s)}catch{}}requestStarted(e){}requestErrored(e){}requestFinished(e){}requestPreventedHandlingResponse(e,t){}requestFailedWithResponse(e,t){}#e=()=>{this.preloadOnLoadLinksForView(document.body)}},fs=class{constructor(e){this.session=e}clear(){this.session.clearCache()}resetCacheControl(){this.#e("")}exemptPageFromCache(){this.#e("no-cache")}exemptPageFromPreview(){this.#e("no-preview")}#e(e){Dl("turbo-cache-control",e)}},ps=class{navigator=new ss(this);history=new is(this);view=new ds(this,document.documentElement);adapter=new Zr(this);pageObserver=new ns(this);cacheObserver=new es;linkPrefetchObserver=new rs(this,document);linkClickObserver=new Ki(this,window);formSubmitObserver=new Pt(this,document);scrollObserver=new os(this);streamObserver=new ls(this);formLinkClickObserver=new Xi(this,document.documentElement);frameRedirector=new ts(this,document.documentElement);streamMessageRenderer=new as;cache=new fs(this);drive=!0;enabled=!0;progressBarDelay=500;started=!1;formMode="on";#e=150;constructor(e){this.recentRequests=e,this.preloader=new us(this,this.view.snapshotCache),this.debouncedRefresh=this.refresh,this.pageRefreshDebouncePeriod=this.pageRefreshDebouncePeriod}start(){this.started||(this.pageObserver.start(),this.cacheObserver.start(),this.linkPrefetchObserver.start(),this.formLinkClickObserver.start(),this.linkClickObserver.start(),this.formSubmitObserver.start(),this.scrollObserver.start(),this.streamObserver.start(),this.frameRedirector.start(),this.history.start(),this.preloader.start(),this.started=!0,this.enabled=!0)}disable(){this.enabled=!1}stop(){this.started&&(this.pageObserver.stop(),this.cacheObserver.stop(),this.linkPrefetchObserver.stop(),this.formLinkClickObserver.stop(),this.linkClickObserver.stop(),this.formSubmitObserver.stop(),this.scrollObserver.stop(),this.streamObserver.stop(),this.frameRedirector.stop(),this.history.stop(),this.preloader.stop(),this.started=!1)}registerAdapter(e){this.adapter=e}visit(e,t={}){let r=t.frame?document.getElementById(t.frame):null;if(r instanceof fe){let s=t.action||$e(r);r.delegate.proposeVisitIfNavigatedWithAction(r,s),r.src=e.toString()}else this.navigator.proposeVisit(G(e),t)}refresh(e,t){t&&this.recentRequests.has(t)||this.visit(e,{action:"replace",shouldCacheSnapshot:!1})}connectStreamSource(e){this.streamObserver.connectStreamSource(e)}disconnectStreamSource(e){this.streamObserver.disconnectStreamSource(e)}renderStreamMessage(e){this.streamMessageRenderer.render(ke.wrap(e))}clearCache(){this.view.clearSnapshotCache()}setProgressBarDelay(e){this.progressBarDelay=e}setFormMode(e){this.formMode=e}get location(){return this.history.location}get restorationIdentifier(){return this.history.restorationIdentifier}get pageRefreshDebouncePeriod(){return this.#e}set pageRefreshDebouncePeriod(e){this.refresh=Nl(this.debouncedRefresh.bind(this),e),this.#e=e}shouldPreloadLink(e){let t=e.hasAttribute("data-turbo-method"),r=e.hasAttribute("data-turbo-stream"),s=e.getAttribute("data-turbo-frame"),n=s=="_top"?null:document.getElementById(s)||mt(e,"turbo-frame:not([disabled])");if(t||r||n instanceof fe)return!1;{let o=new URL(e.href);return this.elementIsNavigatable(e)&&Ce(o,this.snapshot.rootLocation)}}historyPoppedToLocationWithRestorationIdentifierAndDirection(e,t,r){this.enabled?this.navigator.startVisit(e,t,{action:"restore",historyChanged:!0,direction:r}):this.adapter.pageInvalidated({reason:"turbo_disabled"})}scrollPositionChanged(e){this.history.updateRestorationData({scrollPosition:e})}willSubmitFormLinkToLocation(e,t){return this.elementIsNavigatable(e)&&Ce(t,this.snapshot.rootLocation)}submittedFormLinkToLocation(){}canPrefetchRequestToLocation(e,t){return this.elementIsNavigatable(e)&&Ce(t,this.snapshot.rootLocation)}willFollowLinkToLocation(e,t,r){return this.elementIsNavigatable(e)&&Ce(t,this.snapshot.rootLocation)&&this.applicationAllowsFollowingLinkToLocation(e,t,r)}followedLinkToLocation(e,t){let r=this.getActionForLink(e),s=e.hasAttribute("data-turbo-stream");this.visit(t.href,{action:r,acceptsStreamResponse:s})}allowsVisitingLocationWithAction(e,t){return this.locationWithActionIsSamePage(e,t)||this.applicationAllowsVisitingLocation(e)}visitProposedToLocation(e,t){Dn(e),this.adapter.visitProposedToLocation(e,t)}visitStarted(e){e.acceptsStreamResponse||(Wi(document.documentElement),this.view.markVisitDirection(e.direction)),Dn(e.location),e.silent||this.notifyApplicationAfterVisitingLocation(e.location,e.action)}visitCompleted(e){this.view.unmarkVisitDirection(),zi(document.documentElement),this.notifyApplicationAfterPageLoad(e.getTimingMetrics())}locationWithActionIsSamePage(e,t){return this.navigator.locationWithActionIsSamePage(e,t)}visitScrolledToSamePageLocation(e,t){this.notifyApplicationAfterVisitingSamePageLocation(e,t)}willSubmitForm(e,t){let r=ys(e,t);return this.submissionIsNavigatable(e,t)&&Ce(G(r),this.snapshot.rootLocation)}formSubmitted(e,t){this.navigator.submitForm(e,t)}pageBecameInteractive(){this.view.lastRenderedLocation=this.location,this.notifyApplicationAfterPageLoad()}pageLoaded(){this.history.assumeControlOfScrollRestoration()}pageWillUnload(){this.history.relinquishControlOfScrollRestoration()}receivedMessageFromStream(e){this.renderStreamMessage(e)}viewWillCacheSnapshot(){this.navigator.currentVisit?.silent||this.notifyApplicationBeforeCachingSnapshot()}allowsImmediateRender({element:e},t){let r=this.notifyApplicationBeforeRender(e,t),{defaultPrevented:s,detail:{render:n}}=r;return this.view.renderer&&n&&(this.view.renderer.renderElement=n),!s}viewRenderedSnapshot(e,t,r){this.view.lastRenderedLocation=this.history.location,this.notifyApplicationAfterRender(r)}preloadOnLoadLinksForView(e){this.preloader.preloadOnLoadLinksForView(e)}viewInvalidated(e){this.adapter.pageInvalidated(e)}frameLoaded(e){this.notifyApplicationAfterFrameLoad(e)}frameRendered(e,t){this.notifyApplicationAfterFrameRender(e,t)}applicationAllowsFollowingLinkToLocation(e,t,r){return!this.notifyApplicationAfterClickingLinkToLocation(e,t,r).defaultPrevented}applicationAllowsVisitingLocation(e){return!this.notifyApplicationBeforeVisitingLocation(e).defaultPrevented}notifyApplicationAfterClickingLinkToLocation(e,t,r){return q("turbo:click",{target:e,detail:{url:t.href,originalEvent:r},cancelable:!0})}notifyApplicationBeforeVisitingLocation(e){return q("turbo:before-visit",{detail:{url:e.href},cancelable:!0})}notifyApplicationAfterVisitingLocation(e,t){return q("turbo:visit",{detail:{url:e.href,action:t}})}notifyApplicationBeforeCachingSnapshot(){return q("turbo:before-cache")}notifyApplicationBeforeRender(e,t){return q("turbo:before-render",{detail:{newBody:e,...t},cancelable:!0})}notifyApplicationAfterRender(e){return q("turbo:render",{detail:{renderMethod:e}})}notifyApplicationAfterPageLoad(e={}){return q("turbo:load",{detail:{url:this.location.href,timing:e}})}notifyApplicationAfterVisitingSamePageLocation(e,t){dispatchEvent(new HashChangeEvent("hashchange",{oldURL:e.toString(),newURL:t.toString()}))}notifyApplicationAfterFrameLoad(e){return q("turbo:frame-load",{target:e})}notifyApplicationAfterFrameRender(e,t){return q("turbo:frame-render",{detail:{fetchResponse:e},target:t,cancelable:!0})}submissionIsNavigatable(e,t){if(this.formMode=="off")return!1;{let r=t?this.elementIsNavigatable(t):!0;return this.formMode=="optin"?r&&e.closest('[data-turbo="true"]')!=null:r&&this.elementIsNavigatable(e)}}elementIsNavigatable(e){let t=mt(e,"[data-turbo]"),r=mt(e,"turbo-frame");return this.drive||r?t?t.getAttribute("data-turbo")!="false":!0:t?t.getAttribute("data-turbo")=="true":!1}getActionForLink(e){return $e(e)||"advance"}get snapshot(){return this.view.snapshot}};function Dn(i){Object.defineProperties(i,kc)}var kc={absoluteURL:{get(){return this.toString()}}},H=new ps(Yn),{cache:xc,navigator:Oc}=H;function eo(){H.start()}function Ic(i){H.registerAdapter(i)}function Mc(i,e){H.visit(i,e)}function to(i){H.connectStreamSource(i)}function io(i){H.disconnectStreamSource(i)}function Pc(i){H.renderStreamMessage(i)}function Rc(){console.warn("Please replace `Turbo.clearCache()` with `Turbo.cache.clear()`. The top-level function is deprecated and will be removed in a future version of Turbo.`"),H.clearCache()}function Fc(i){H.setProgressBarDelay(i)}function Bc(i){Mt.confirmMethod=i}function Dc(i){H.setFormMode(i)}var Hc=Object.freeze({__proto__:null,navigator:Oc,session:H,cache:xc,PageRenderer:yt,PageSnapshot:de,FrameRenderer:Ft,fetch:Jn,start:eo,registerAdapter:Ic,visit:Mc,connectStreamSource:to,disconnectStreamSource:io,renderStreamMessage:Pc,clearCache:Rc,setProgressBarDelay:Fc,setConfirmMethod:Bc,setFormMode:Dc}),ms=class extends Error{},gs=class{fetchResponseLoaded=e=>Promise.resolve();#e=null;#t=()=>{};#i=!1;#s=!1;#n=new Set;action=null;constructor(e){this.element=e,this.view=new Xr(this,this.element),this.appearanceObserver=new Ur(this,this.element),this.formLinkClickObserver=new Xi(this,this.element),this.linkInterceptor=new Ui(this,this.element),this.restorationIdentifier=Te(),this.formSubmitObserver=new Pt(this,this.element)}connect(){this.#i||(this.#i=!0,this.loadingStyle==ut.lazy?this.appearanceObserver.start():this.#r(),this.formLinkClickObserver.start(),this.linkInterceptor.start(),this.formSubmitObserver.start())}disconnect(){this.#i&&(this.#i=!1,this.appearanceObserver.stop(),this.formLinkClickObserver.stop(),this.linkInterceptor.stop(),this.formSubmitObserver.stop())}disabledChanged(){this.loadingStyle==ut.eager&&this.#r()}sourceURLChanged(){this.#v("src")||(this.element.isConnected&&(this.complete=!1),(this.loadingStyle==ut.eager||this.#s)&&this.#r())}sourceURLReloaded(){let{src:e}=this.element;return this.element.removeAttribute("complete"),this.element.src=null,this.element.src=e,this.element.loaded}loadingStyleChanged(){this.loadingStyle==ut.lazy?this.appearanceObserver.start():(this.appearanceObserver.stop(),this.#r())}async#r(){this.enabled&&this.isActive&&!this.complete&&this.sourceURL&&(this.element.loaded=this.#a(G(this.sourceURL)),this.appearanceObserver.stop(),await this.element.loaded,this.#s=!0)}async loadResponse(e){(e.redirected||e.succeeded&&e.isHTML)&&(this.sourceURL=e.response.url);try{let t=await e.responseHTML;if(t){let r=Wn(t);de.fromDocument(r).isVisitable?await this.#o(e,r):await this.#d(e)}}finally{this.fetchResponseLoaded=()=>Promise.resolve()}}elementAppearedInViewport(e){this.proposeVisitIfNavigatedWithAction(e,$e(e)),this.#r()}willSubmitFormLinkToLocation(e){return this.#f(e)}submittedFormLinkToLocation(e,t,r){let s=this.#c(e);s&&r.setAttribute("data-turbo-frame",s.id)}shouldInterceptLinkClick(e,t,r){return this.#f(e)}linkClickIntercepted(e,t){this.#h(e,t)}willSubmitForm(e,t){return e.closest("turbo-frame")==this.element&&this.#f(e,t)}formSubmitted(e,t){this.formSubmission&&this.formSubmission.stop(),this.formSubmission=new Mt(this,e,t);let{fetchRequest:r}=this.formSubmission;this.prepareRequest(r),this.formSubmission.start()}prepareRequest(e){e.headers["Turbo-Frame"]=this.id,this.currentNavigationElement?.hasAttribute("data-turbo-stream")&&e.acceptResponseType(ke.contentType)}requestStarted(e){Wi(this.element)}requestPreventedHandlingResponse(e,t){this.#t()}async requestSucceededWithResponse(e,t){await this.loadResponse(t),this.#t()}async requestFailedWithResponse(e,t){await this.loadResponse(t),this.#t()}requestErrored(e,t){console.error(t),this.#t()}requestFinished(e){zi(this.element)}formSubmissionStarted({formElement:e}){Wi(e,this.#c(e))}formSubmissionSucceededWithResponse(e,t){let r=this.#c(e.formElement,e.submitter);r.delegate.proposeVisitIfNavigatedWithAction(r,$e(e.submitter,e.formElement,r)),r.delegate.loadResponse(t),e.isSafe||H.clearCache()}formSubmissionFailedWithResponse(e,t){this.element.delegate.loadResponse(t),H.clearCache()}formSubmissionErrored(e,t){console.error(t)}formSubmissionFinished({formElement:e}){zi(e,this.#c(e))}allowsImmediateRender({element:e},t){let r=q("turbo:before-frame-render",{target:this.element,detail:{newFrame:e,...t},cancelable:!0}),{defaultPrevented:s,detail:{render:n}}=r;return this.view.renderer&&n&&(this.view.renderer.renderElement=n),!s}viewRenderedSnapshot(e,t,r){}preloadOnLoadLinksForView(e){H.preloadOnLoadLinksForView(e)}viewInvalidated(){}willRenderFrame(e,t){this.previousFrameElement=e.cloneNode(!0)}visitCachedSnapshot=({element:e})=>{let t=e.querySelector("#"+this.element.id);t&&this.previousFrameElement&&t.replaceChildren(...this.previousFrameElement.children),delete this.previousFrameElement};async#o(e,t){let r=await this.extractForeignFrameElement(t.body);if(r){let s=new bt(r),n=new Ft(this,this.view.snapshot,s,Ft.renderElement,!1,!1);this.view.renderPromise&&await this.view.renderPromise,this.changeHistory(),await this.view.render(n),this.complete=!0,H.frameRendered(e,this.element),H.frameLoaded(this.element),await this.fetchResponseLoaded(e)}else this.#l(e)&&this.#u(e)}async#a(e){let t=new Ue(this,oe.get,e,new URLSearchParams,this.element);return this.#e?.cancel(),this.#e=t,new Promise(r=>{this.#t=()=>{this.#t=()=>{},this.#e=null,r()},t.perform()})}#h(e,t,r){let s=this.#c(e,r);s.delegate.proposeVisitIfNavigatedWithAction(s,$e(r,e,s)),this.#y(e,()=>{s.src=t})}proposeVisitIfNavigatedWithAction(e,t=null){if(this.action=t,this.action){let r=de.fromElement(e).clone(),{visitCachedSnapshot:s}=e.delegate;e.delegate.fetchResponseLoaded=async n=>{if(e.src){let{statusCode:o,redirected:a}=n,d=await n.responseHTML,u={response:{statusCode:o,redirected:a,responseHTML:d},visitCachedSnapshot:s,willRender:!1,updateHistory:!1,restorationIdentifier:this.restorationIdentifier,snapshot:r};this.action&&(u.action=this.action),H.visit(e.src,u)}}}}changeHistory(){if(this.action){let e=$n(this.action);H.history.update(e,G(this.element.src||""),this.restorationIdentifier)}}async#d(e){console.warn(`The response (${e.statusCode}) from is performing a full page visit due to turbo-visit-control.`),await this.#p(e.response)}#l(e){this.element.setAttribute("complete","");let t=e.response,r=async(n,o)=>{n instanceof Response?this.#p(n):H.visit(n,o)};return!q("turbo:frame-missing",{target:this.element,detail:{response:t,visit:r},cancelable:!0}).defaultPrevented}#u(e){this.view.missing(),this.#m(e)}#m(e){let t=`The response (${e.statusCode}) did not contain the expected and will be ignored. To perform a full page visit instead, set turbo-visit-control to reload.`;throw new ms(t)}async#p(e){let t=new Ot(e),r=await t.responseHTML,{location:s,redirected:n,statusCode:o}=t;return H.visit(s,{response:{redirected:n,statusCode:o,responseHTML:r}})}#c(e,t){let r=ji("data-turbo-frame",t,e)||this.element.getAttribute("target");return Hn(r)??this.element}async extractForeignFrameElement(e){let t,r=CSS.escape(this.id);try{if(t=qn(e.querySelector(`turbo-frame#${r}`),this.sourceURL),t)return t;if(t=qn(e.querySelector(`turbo-frame[src][recurse~=${r}]`),this.sourceURL),t)return await t.loaded,await this.extractForeignFrameElement(t)}catch(s){return console.error(s),new fe}return null}#g(e,t){let r=ys(e,t);return Ce(G(r),this.rootLocation)}#f(e,t){let r=ji("data-turbo-frame",t,e)||this.element.getAttribute("target");if(e instanceof HTMLFormElement&&!this.#g(e,t)||!this.enabled||r=="_top")return!1;if(r){let s=Hn(r);if(s)return!s.disabled}return!(!H.elementIsNavigatable(e)||t&&!H.elementIsNavigatable(t))}get id(){return this.element.id}get enabled(){return!this.element.disabled}get sourceURL(){if(this.element.src)return this.element.src}set sourceURL(e){this.#b("src",()=>{this.element.src=e??null})}get loadingStyle(){return this.element.loading}get isLoading(){return this.formSubmission!==void 0||this.#t()!==void 0}get complete(){return this.element.hasAttribute("complete")}set complete(e){e?this.element.setAttribute("complete",""):this.element.removeAttribute("complete")}get isActive(){return this.element.isActive&&this.#i}get rootLocation(){let t=this.element.ownerDocument.querySelector('meta[name="turbo-root"]')?.content??"/";return G(t)}#v(e){return this.#n.has(e)}#b(e,t){this.#n.add(e),t(),this.#n.delete(e)}#y(e,t){this.currentNavigationElement=e,t(),delete this.currentNavigationElement}};function Hn(i){if(i!=null){let e=document.getElementById(i);if(e instanceof fe)return e}}function qn(i,e){if(i){let t=i.getAttribute("src");if(t!=null&&e!=null&&Ll(t,e))throw new Error(`Matching element has a source URL which references itself`);if(i.ownerDocument!==document&&(i=document.importNode(i,!0)),i instanceof fe)return i.connectedCallback(),i.disconnectedCallback(),i}}var ro={after(){this.targetElements.forEach(i=>i.parentElement?.insertBefore(this.templateContent,i.nextSibling))},append(){this.removeDuplicateTargetChildren(),this.targetElements.forEach(i=>i.append(this.templateContent))},before(){this.targetElements.forEach(i=>i.parentElement?.insertBefore(this.templateContent,i))},prepend(){this.removeDuplicateTargetChildren(),this.targetElements.forEach(i=>i.prepend(this.templateContent))},remove(){this.targetElements.forEach(i=>i.remove())},replace(){this.targetElements.forEach(i=>i.replaceWith(this.templateContent))},update(){this.targetElements.forEach(i=>{i.innerHTML="",i.append(this.templateContent)})},refresh(){H.refresh(this.baseURI,this.requestId)}},vs=class i extends HTMLElement{static async renderElement(e){await e.performAction()}async connectedCallback(){try{await this.render()}catch(e){console.error(e)}finally{this.disconnect()}}async render(){return this.renderPromise??=(async()=>{let e=this.beforeRenderEvent;this.dispatchEvent(e)&&(await pt(),await e.detail.render(this))})()}disconnect(){try{this.remove()}catch{}}removeDuplicateTargetChildren(){this.duplicateChildren.forEach(e=>e.remove())}get duplicateChildren(){let e=this.targetElements.flatMap(r=>[...r.children]).filter(r=>!!r.id),t=[...this.templateContent?.children||[]].filter(r=>!!r.id).map(r=>r.id);return e.filter(r=>t.includes(r.id))}get performAction(){if(this.action){let e=ro[this.action];if(e)return e;this.#e("unknown action")}this.#e("action attribute is missing")}get targetElements(){if(this.target)return this.targetElementsById;if(this.targets)return this.targetElementsByQuery;this.#e("target or targets attribute is missing")}get templateContent(){return this.templateElement.content.cloneNode(!0)}get templateElement(){if(this.firstElementChild===null){let e=this.ownerDocument.createElement("template");return this.appendChild(e),e}else if(this.firstElementChild instanceof HTMLTemplateElement)return this.firstElementChild;this.#e("first child element must be a