[ad_1] <br><div> <article><h2 id="bitcoin-btc-and-ethereum-ethusd-charts-and-analysis">Bitcoin (BTC) and Ethereum (ETH/USD) Charts and Evaluation:</h2><ul><li><a target="_blank" href="https://www.dailyfx.com/bitcoin" title="Bitcoin" rel="noopener">Bitcoin</a>’s (BTC) child steps larger as consumers return.</li><li>Solana (SOL), Cardano (ADA), and <a target="_blank" href="https://www.dailyfx.com/ether-eth" title="Ethereum" rel="noopener">Ethereum</a> (ETH) all outperform.</li></ul><a target="_blank" href="https://www.dailyfx.com/free-trading-guides#forecastschoices=BITCOIN_FORECAST" class="dfx-inHouseGuideBannerComponent dfx-inHouseGuideBannerComponent--tradingForecasts dfx-inHouseGuideBannerComponent--3colArticle my-4 " role="button" aria-label="Get My Guide" tabindex="0" data-guide-key="BITCOIN_FORECAST" data-image-url="https://a.c-dn.net/b/4mLjfV/Forecast-Bitcoin.png" data-guide-title="Bitcoin Forecast" data-guide-description="See expert analysis for Bitcoin, covering political and economic influences and technical trends" data-guide-type="tradingForecasts" data-disclaimer="" data-banner="true" data-title="Bitcoin Forecast" data-source-type="DFX_EN_Guides" rel="noopener">
<div class="dfx-inHouseGuideBannerComponent__textAndButtonWrapper me-md-1 me-lg-3"> <div class="dfx-inHouseGuideBannerComponent__textWrapper"> <p> Recommended by Nick Cawley </p> <p> Get Your Free Bitcoin Forecast </p> </div>
</div> </a> <p><a target="_blank" href="https://www.dailyfx.com/forex/market_alert/2022/05/10/How-To-Use-Twitter-For-Traders.html" rel="noopener"><span class="dfx-text-bold">How to Use Twitter For Traders</span></a></p><p>The cryptocurrency market is pushing larger at present, consistent with different danger markets, after being rangebound for the final weeks of 2022. Bitcoin is now again to highs final seen in mid-December and has produced an unbroken collection of small features for the reason that begin of the brand new yr. Whereas this transfer could not spectacular, particularly in cryptocurrency phrases, it is crucial as it's pushing BTC again in direction of an essential stage of resistance - $17,662 - that if damaged opens the best way to $18,502 in brief order. The latest transfer larger has additionally seen BTC break above each the 20- and 50-day transferring averages, a optimistic sign.</p><h2 id="bitcoin-btcusd-daily-price-chart--january-9-2023">Bitcoin (BTC/USD) Day by day Worth Chart – January 9, 2023</h2><a target="_blank" data-popup="true" href="https://a.c-dn.net/b/2JaqSG/image1.png" rel="noopener"><img src="https://a.c-dn.net/b/2JaqSG/image1.png" alt="image1.png" data-image-original-width="1582" data-image-original-height="819" width="1582" height="819" class="dfx-lazyload" style="padding-bottom: calc(819 / 1582 * 100%);"/></a><p>A spread of alt-coins have seen stronger rises over the past week, with Solana (SOL), Cardano (ADA), and Ethereum (ETH) all outperforming Bitcoin. Solana particularly has rallied exhausting after having been bought closely over the previous few weeks over its ties with the now-bankrupt FTX change. The most recent meme coin Bonk Inu (BONK) was additionally airdropped on Solana final week, driving up buying and selling volumes and charges. Solana has rallied by 50% over the past seven days, whereas one other L1 blockchain Cardano is 30% larger over the identical timeframe. Market commentators see short-covering and consumers returning at multi-month lows because the driving drive behind present value motion.</p><p>Ethereum can be outperforming Bitcoin however by a smaller margin. The intently watched ETH/BTC unfold is now at a two-month excessive and appears set to maneuver additional forward. A pair of prior highs on both facet of 0.0790 appears to be like like the following logical goal earlier than the September 2022 excessive round 0.08564 comes into view. ETH/BTC is now above all three transferring averages, including credibility to the transfer larger.</p><p><a target="_blank" href="https://www.dailyfx.com/education/moving-averages" rel="noopener"><span class="dfx-text-bold">How to Use Moving Averages</span></a></p><h2 id="ethereumbitcoin-ethbtc-daily-chart--january-9-2023">Ethereum/Bitcoin (ETH/BTC) Day by day Chart – January 9, 2023</h2><a target="_blank" data-popup="true" href="https://a.c-dn.net/b/2t5uas/image2.png" rel="noopener"><img src="https://a.c-dn.net/b/2t5uas/image2.png" alt="image2.png" data-image-original-width="1578" data-image-original-height="819" width="1578" height="819" class="dfx-lazyload" style="padding-bottom: calc(819 / 1578 * 100%);"/></a><p><span class="dfx-text-bold">Charts through TradingView</span></p><p>What's your view on <span class="dfx-text-bold">Bitcoin </span>– bullish or bearish?? You'll be able to tell us through the shape on the finish of this piece or you possibly can contact the creator through Twitter <a target="_blank" href="https://twitter.com/nickcawley1" rel="noopener">@nickcawley1</a>.</p></article> </div><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script><script> !function(){function errMsg(errCode,msg)var baseUrl,baseEl,hasSymbol="undefined"!=typeof Symbol,hasSelf="undefined"!=typeof self,hasDocument="undefined"!=typeof document,envGlobal=hasSelf?self:global,backslashRegEx=(!hasDocument||(baseEl=document.querySelector("base[href]"))&&(baseUrl=baseEl.href),baseUrl||"undefined"==typeof location||-1!==(baseEl=(baseUrl=location.href.split("#")[0].split("?")[0]).lastIndexOf("/"))&&(baseUrl=baseUrl.slice(0,baseEl+1)),//g);function resolveIfNotPlainOrUrl(relUrl,parentUrl)function resolveUrl(relUrl,parentUrl)(-1!==relUrl.indexOf(":")?relUrl:resolveIfNotPlainOrUrl("./"+relUrl,parentUrl))function resolveAndComposePackages(packages,outPackages,baseUrl,parentMap,parentUrl){for(var p in packages)rhs,parentUrl))?outPackages[resolvedLhs]=mapped:targetWarning("W1",p,rhs,"bare specifier did not resolve"))}function getMatch(path,matchObj){if(matchObj[path])return path;var sepIndex=path.length;do{var segment=path.slice(0,sepIndex+1);if(segment in matchObj)return segment}while(-1!==(sepIndex=path.lastIndexOf("/",sepIndex-1)))}function applyPackages(id,packages){var pkgName=getMatch(id,packages);if(pkgName){packages=packages[pkgName];if(null!==packages)return id.length>pkgName.length&&"/"!==packages[packages.length-1]?void targetWarning("W2",pkgName,packages,"should have a trailing '/'"):packages+id.slice(pkgName.length)}}function targetWarning(code,match,target,msg){console.warn(errMsg(code,"Package target "+msg+", resolving target '"+target+"' for "+match))}function resolveImportMap(importMap,resolvedOrPlain,parentUrl){for(var scopes=importMap.scopes,scopeUrl=parentUrl&&getMatch(parentUrl,scopes);scopeUrl;){var packageResolution=applyPackages(resolvedOrPlain,scopes[scopeUrl]);if(packageResolution)return packageResolution;scopeUrl=getMatch(scopeUrl.slice(0,scopeUrl.lastIndexOf("/")),scopes)}return applyPackages(resolvedOrPlain,importMap.imports)||-1!==resolvedOrPlain.indexOf(":")&&resolvedOrPlain}var toStringTag=hasSymbol&&Symbol.toStringTag,REGISTRY=hasSymbol?Symbol():"@";function SystemJS(){this[REGISTRY]={}}var lastRegister,systemJSPrototype=SystemJS.prototype;function loadToId(load){return load.id}function triggerOnload(loader,load,err,isErrSource){if(loader.onload(err,load.id,load.d&&load.d.map(loadToId),!!isErrSource),err)throw err}function getOrCreateLoad(loader,id,firstParentUrl){var importerSetters,ns,instantiatePromise,linkPromise,load=loader[REGISTRY][id];return load||(importerSetters=[],ns=Object.create(null),toStringTag&&Object.defineProperty(ns,toStringTag,{value:"Module"}),linkPromise=(instantiatePromise=Promise.resolve().then(function(){return loader.instantiate(id,firstParentUrl)}).then(function(registration){var declared;if(registration)return declared=registration[1](function _export(name,value){var changed=!(load.h=!0);if("string"==typeof name)name in ns&&ns[name]===value||(ns[name]=value,changed=!0);else{for(var p in name)name&&name.__esModule&&(ns.__esModule=name.__esModule)}if(changed)for(var i=0;i<importerSetters.length;i++){var setter=importerSetters[i];setter&&setter(ns)}return value},2===registration[1].length?{import:function(importId){return loader.import(importId,id)},meta:loader.createContext(id)}:void 0),load.e=declared.execute||function(){},[registration[0],declared.setters||[]];throw Error(errMsg(2,"Module "+id+" did not instantiate"))},function(err){throw load.e=null,load.er=err,triggerOnload(loader,load,err,!0),err})).then(function(instantiation){return Promise.all(instantiation[0].map(function(dep,i){var setter=instantiation[1][i];return Promise.resolve(loader.resolve(dep,id)).then(function(depId){var depLoad=getOrCreateLoad(loader,depId,id);return Promise.resolve(depLoad.I).then(function())})})).then(function(depLoads){load.d=depLoads})}),load=loader[REGISTRY][id]={id:id,i:importerSetters,n:ns,I:instantiatePromise,L:linkPromise,h:!1,d:void 0,e:void 0,er:void 0,E:void 0,C:void 0,p:void 0})}systemJSPrototype.import=function(id,parentUrl){var loader=this;return Promise.resolve(loader.prepareImport()).then(function(){return loader.resolve(id,parentUrl)}).then(function(id){id=getOrCreateLoad(loader,id);return id.C||function topLevelLoad(loader,load){return load.C=function instantiateAll(loader,load,parent,loaded){if(!loaded[load.id])return loaded[load.id]=!0,Promise.resolve(load.L).then(function(){return load.p&&null!==load.p.e||(load.p=parent),Promise.all(load.d.map(function(dep){return instantiateAll(loader,dep,parent,loaded)}))}).catch(function(err)(load.e=null,triggerOnload(loader,load,err,!1)),err)}(loader,load,load,{}).then(function(){return function postOrderExec(loader,load,seen){if(seen[load.id])return;seen[load.id]=!0;if(!load.e){if(load.er)throw load.er;return load.E?load.E:void 0}var depLoadPromises;load.d.forEach(function(depLoad){try[]).push(depLoadPromise)catch(err){throw load.e=null,load.er=err,triggerOnload(loader,load,err,!1),err}});if(depLoadPromises)return Promise.all(depLoadPromises).then(doExec);return doExec();function doExec(){try{var execPromise=load.e.call(nullContext);if(execPromise)return execPromise=execPromise.then(function(){load.C=load.n,load.E=null,triggerOnload(loader,load,null,!0)},function(err){throw load.er=err,load.E=null,triggerOnload(loader,load,err,!0),err}),load.E=execPromise;load.C=load.n,load.L=load.I=void 0}catch(err){throw load.er=err}finally{load.e=null,triggerOnload(loader,load,load.er,!0)}}}(loader,load,{})}).then(function(){return load.n})}(loader,id)})},systemJSPrototype.createContext=function(parentId){var loader=this;return{url:parentId,resolve:function(id,parentUrl)parentId))}},systemJSPrototype.onload=function(){},systemJSPrototype.register=function(deps,declare){lastRegister=[deps,declare]},systemJSPrototype.getRegister=function(){var _lastRegister=lastRegister;return lastRegister=void 0,_lastRegister};var nullContext=Object.freeze(Object.create(null));envGlobal.System=new SystemJS;var baseOrigin,lastAutoImportDeps,lastAutoImportTimeout,importMapPromise=Promise.resolve(),importMap={imports:{},scopes:{},depcache:{},integrity:{}},processFirst=hasDocument;function processScripts(){[].forEach.call(document.querySelectorAll("script"),function(script){var fetchPromise;script.sp||("systemjs-module"===script.type?(script.sp=!0,script.src&&System.import("import:"===script.src.slice(0,7)?script.src.slice(7):resolveUrl(script.src,baseUrl)).catch(function(e){var event;return-1<e.message.indexOf("https://git.io/JvFET#3")&&((event=document.createEvent("Event")).initEvent("error",!1,!1),script.dispatchEvent(event)),Promise.reject(e)})):"systemjs-importmap"===script.type&&(script.sp=!0,fetchPromise=script.src?fetch(script.src,{integrity:script.integrity}).then(function(res){if(res.ok)return res.text();throw Error("Invalid status code: "+res.status)}).catch(function(err){return err.message=errMsg("W4","Error fetching systemjs-import map "+script.src)+"n"+err.message,console.warn(err),"function"==typeof script.onerror&&script.onerror(),"{}"}):script.innerHTML,importMapPromise=importMapPromise.then(function(){return fetchPromise}).then(function(text){!function extendImportMap(importMap,newMapText,newMapUrl){var newMap={};try{newMap=JSON.parse(newMapText)}catch(err){console.warn(Error(errMsg("W5","systemjs-importmap contains invalid JSON")+"nn"+newMapText+"n"))}!function resolveAndComposeImportMap(json,baseUrl,outMap){for(var u in json.imports&&resolveAndComposePackages(json.imports,outMap.imports,baseUrl,outMap,null),json.scopes||{}){var resolvedScope=resolveUrl(u,baseUrl);resolveAndComposePackages(json.scopes[u],outMap.scopes[resolvedScope]||(outMap.scopes[resolvedScope]={}),baseUrl,outMap,resolvedScope)}for(u in json.depcache||{})outMap.depcache[resolveUrl(u,baseUrl)]=json.depcache[u];for(u in json.integrity||{})outMap.integrity[resolveUrl(u,baseUrl)]=json.integrity[u]}(newMap,newMapUrl,importMap)}(importMap,text,script.src||baseUrl)})))})}systemJSPrototype.prepareImport=function(doProcessScripts),hasDocument&&(processScripts(),window.addEventListener("DOMContentLoaded",processScripts)),hasDocument&&(window.addEventListener("error",function(evt){lastWindowErrorUrl=evt.filename,lastWindowError=evt.error}),baseOrigin=location.origin),systemJSPrototype.createScript=function(url){var script=document.createElement("script"),integrity=(script.async=!0,url.indexOf(baseOrigin+"/")&&(script.crossOrigin="anonymous"),importMap.integrity[url]);return integrity&&(script.integrity=integrity),script.src=url,script};var lastWindowErrorUrl,lastWindowError,autoImportCandidates={},systemRegister=systemJSPrototype.register,instantiate=(systemJSPrototype.register=function(deps,declare){var scripts,lastScript,loader;return hasDocument&&"loading"===document.readyState&&"string"!=typeof deps?(scripts=document.querySelectorAll("script[src]"),(lastScript=scripts[scripts.length-1])&&(lastScript.src,lastAutoImportDeps=deps,loader=this,lastAutoImportTimeout=setTimeout(function(){autoImportCandidates[lastScript.src]=[deps,declare],loader.import(lastScript.src)}))):lastAutoImportDeps=void 0,systemRegister.call(this,deps,declare)},systemJSPrototype.instantiate=function(url,firstParentUrl){var loader,autoImportRegistration=autoImportCandidates[url];return autoImportRegistration?(delete autoImportCandidates[url],autoImportRegistration):(loader=this,new Promise(function(resolve,reject){var script=systemJSPrototype.createScript(url);script.addEventListener("error",function(){reject(Error(errMsg(3,"Error loading "+url+(firstParentUrl?" from "+firstParentUrl:""))))}),script.addEventListener("load",function(){var register;document.head.removeChild(script),lastWindowErrorUrl===url?reject(lastWindowError):((register=loader.getRegister())&®ister[0]===lastAutoImportDeps&&clearTimeout(lastAutoImportTimeout),resolve(register))}),document.head.appendChild(script)}))},systemJSPrototype.shouldFetch=function(){return!1},"undefined"!=typeof fetch&&(systemJSPrototype.fetch=fetch),systemJSPrototype.instantiate),jsContentTypeRegEx=/^(text|application)/(x-)?javascript(;|$)/;systemJSPrototype.instantiate=function(url,parent){var loader=this;return this.shouldFetch(url)?this.fetch(url,{credentials:"same-origin",integrity:importMap.integrity[url]}).then(function(res){if(!res.ok)throw Error(errMsg(7,res.status+" "+res.statusText+", loading "+url+(parent?" from "+parent:"")));var contentType=res.headers.get("content-type");if(contentType&&jsContentTypeRegEx.test(contentType))return res.text().then(function(source){return source.indexOf("//# sourceURL=")<0&&(source+="n//# sourceURL="+url),(0,eval)(source),loader.getRegister()});throw Error(errMsg(4,'Unknown Content-Type "'+contentType+'", loading '+url+(parent?" from "+parent:"")))}):instantiate.apply(this,arguments)},systemJSPrototype.resolve=function(id,parentUrl){return resolveImportMap(importMap,resolveIfNotPlainOrUrl(id,parentUrl=parentUrl||baseUrl)||id,parentUrl)||function throwUnresolved(id,parentUrl){throw Error(errMsg(8,"Unable to resolve bare specifier '"+id+(parentUrl?"' from "+parentUrl:"'")))}(id,parentUrl)};var systemInstantiate=systemJSPrototype.instantiate,toStringTag$1=(systemJSPrototype.instantiate=function(url,firstParentUrl){var preloads=importMap.depcache[url];if(preloads)for(var i=0;i<preloads.length;i++)getOrCreateLoad(this,this.resolve(preloads[i],url),url);return systemInstantiate.call(this,url,firstParentUrl)},hasSelf&&"function"==typeof importScripts&&(systemJSPrototype.instantiate=function(url){var loader=this;return Promise.resolve().then(function(){return importScripts(url),loader.getRegister()})}),!function(global){var firstGlobalProp,secondGlobalProp,lastGlobalProp,systemJSPrototype=global.System.constructor.prototype;var impt=systemJSPrototype.import,emptyInstantiation=(systemJSPrototype.import=function(id,parentUrl){return function noteGlobalProps()(),impt.call(this,id,parentUrl)},[[],function(){return{}}]),getRegister=systemJSPrototype.getRegister,isIE11=(systemJSPrototype.getRegister=function(){var lastRegister=getRegister.call(this);if(lastRegister)return lastRegister;var globalExport,lastRegister=function getGlobalProp(useFirstGlobalProp){var foundLastProp,result,p,cnt=0;for(p in global)if(!shouldSkipProperty(p))return result}(this.firstGlobalProp);if(!lastRegister)return emptyInstantiation;try{globalExport=global[lastRegister]}catch(e){return emptyInstantiation}return[[],function(_export){return{execute:function(){_export(globalExport),_export({default:globalExport,__useDefault:!0})}}}]},"undefined"!=typeof navigator&&-1!==navigator.userAgent.indexOf("Trident"));function shouldSkipProperty(p)}("undefined"!=typeof self?self:global),!function(global){var systemJSPrototype=global.System.constructor.prototype,moduleTypesRegEx=/^[^#?]+.(css|html|json|wasm)([?#].*)?$/,jsonContentType=(systemJSPrototype.shouldFetch=function(url){return moduleTypesRegEx.test(url)},/^application/json(;|$)/),cssContentType=/^text/css(;|$)/,wasmContentType=/^application/wasm(;|$)/,fetch=systemJSPrototype.fetch;systemJSPrototype.fetch=function(url,options){return fetch(url,options).then(function(res){var contentType;return res.ok?(contentType=res.headers.get("content-type"),jsonContentType.test(contentType)?res.json().then(function(json){return new Response(new Blob(['System.register([],function(e){return{execute:function(){e("default",'+JSON.stringify(json)+")}}})"],{type:"application/javascript"}))}):cssContentType.test(contentType)?res.text().then(function(source){return source=source.replace(/url(s*(?:(["'])((?:.|[^n"'])+)1|((?:.|[^s,"'()])+))s*)/g,function(match,quotes,relUrl1,relUrl2)relUrl2,url)+quotes+")"),new Response(new Blob(["System.register([],function(e){return{execute:function(){var s=new CSSStyleSheet();s.replaceSync("+JSON.stringify(source)+');e("default",s)}}})'],{type:"application/javascript"}))}):wasmContentType.test(contentType)?(WebAssembly.compileStreaming?WebAssembly.compileStreaming(res):res.arrayBuffer().then(WebAssembly.compile)).then(function(module){global.System.wasmModules||(global.System.wasmModules=Object.create(null)),global.System.wasmModules[url]=module;var deps=[],setterSources=[];return WebAssembly.Module.imports&&WebAssembly.Module.imports(module).forEach(function(impt){impt=JSON.stringify(impt.module);-1===deps.indexOf(impt)&&(deps.push(impt),setterSources.push("function(m){i["+impt+"]=m}"))}),new Response(new Blob(["System.register(["+deps.join(",")+"],function(e){var i={};return{setters:["+setterSources.join(",")+"],execute:function(){return WebAssembly.instantiate(System.wasmModules["+JSON.stringify(url)+"],i).then(function(m){e(m.exports)})}}})"],{type:"application/javascript"}))}):res):res})}}("undefined"!=typeof self?self:global),"undefined"!=typeof Symbol&&Symbol.toStringTag),iterator=(systemJSPrototype.get=function(id){id=this[REGISTRY][id];if(id&&null===id.e&&!id.E)return id.er?null:id.n},systemJSPrototype.set=function(id,module){try{new URL(id)}catch(err){console.warn(Error(errMsg("W3",'"'+id+'" is not a valid URL to set in the module registry')))}toStringTag$1&&"Module"===module[toStringTag$1]?ns=module:(ns=Object.assign(Object.create(null),module),toStringTag$1&&Object.defineProperty(ns,toStringTag$1,{value:"Module"}));var ns,module=Promise.resolve(ns),id=this[REGISTRY][id]||(this[REGISTRY][id]={id:id,i:[],h:!1,d:[],e:null,er:void 0,E:void 0});return!id.e&&!id.E&&(Object.assign(id,{n:ns,I:void 0,L:void 0,C:module}),ns)},systemJSPrototype.has=function(id){return!!this[REGISTRY][id]},systemJSPrototype.delete=function(id){var importerSetters,registry=this[REGISTRY],load=registry[id];return!(!load||load.p&&null!==load.p.e||load.E)&&(importerSetters=load.i,load.d&&load.d.forEach(function(depLoad){var importerIndex=depLoad.i.indexOf(load);-1!==importerIndex&&depLoad.i.splice(importerIndex,1)}),delete registry[id],function(){var load=registry[id];if(!load||!importerSetters||null!==load.e||load.E)return!1;importerSetters.forEach(function(setter){load.i.push(setter),setter(load.n)}),importerSetters=null})},"undefined"!=typeof Symbol&&Symbol.iterator);systemJSPrototype.entries=function(){var ns,key,loader=this,keys=Object.keys(loader[REGISTRY]),index=0,result={next:function(){for(;void 0!==(key=keys[index++])&&void 0===(ns=loader.get(key)););return{done:void 0===key,value:void 0!==key&&[key,ns]}}};return result[iterator]=function(){return this},result}}(),!function(global){function SystemJS(){constructor.call(this),setRegisterRegistry(this)}var firstNamedDefine,global=global.System,systemJSPrototype=(setRegisterRegistry(global),global.constructor.prototype),constructor=global.constructor;function setRegisterRegistry(systemInstance){systemInstance.registerRegistry=Object.create(null)}SystemJS.prototype=systemJSPrototype,global.constructor=SystemJS;var register=systemJSPrototype.register,resolve=(systemJSPrototype.register=function(name,deps,declare){var define;return"string"!=typeof name?register.apply(this,arguments):(this.registerRegistry[name]=define=[deps,declare],firstNamedDefine||(firstNamedDefine=define,Promise.resolve().then(function(){firstNamedDefine=null})),register.apply(this,[deps,declare]))},systemJSPrototype.resolve),instantiate=(systemJSPrototype.resolve=function(id,parentURL){try{return resolve.call(this,id,parentURL)}catch(err){if(id in this.registerRegistry)return id;throw err}},systemJSPrototype.instantiate),getRegister=(systemJSPrototype.instantiate=function(url,firstParentUrl){var result=this.registerRegistry[url];return result?(this.registerRegistry[url]=null,result):instantiate.call(this,url,firstParentUrl)},systemJSPrototype.getRegister);systemJSPrototype.getRegister=function()register;return firstNamedDefine=null,register}("undefined"!=typeof self?self:global),!function(exports){"use strict";var FrameLoadingStyle,FetchMethod,FormSubmissionState,FormEnctype,TimingMetric,VisitState,SystemStatusCode,PageStage,__async$3=(__this,__arguments,generator)=>new Promise((resolve,reject)=>{var fulfilled=value=>{try{step(generator.next(value))}catch(e){reject(e)}},rejected=value=>{try{step(generator.throw(value))}catch(e){reject(e)}},step=x=>x.done?resolve(x.value):Promise.resolve(x.value).then(fulfilled,rejected);step((generator=generator.apply(__this,__arguments)).next())});if(void 0!==window.Reflect&&void 0!==window.customElements&&!window.customElements.polyfillWrapFlushCallback){const BuiltInHTMLElement=HTMLElement,wrapperForTheName_HTMLElement=function HTMLElement2(){return Reflect.construct(BuiltInHTMLElement,[],this.constructor)};window.HTMLElement=wrapperForTheName_HTMLElement,HTMLElement.prototype=BuiltInHTMLElement.prototype,HTMLElement.prototype.constructor=HTMLElement,Object.setPrototypeOf(HTMLElement,BuiltInHTMLElement)}function raise(errorConstructor,message,name){throw new errorConstructor("Failed to execute 'requestSubmit' on 'HTMLFormElement': "+message+".",name)}"function"!=typeof(prototype=HTMLFormElement.prototype).requestSubmit&&(prototype.requestSubmit=function(submitter){submitter?(function validateSubmitter(submitter,form)raise(TypeError,"parameter 1 is not of type 'HTMLElement'"),"submit"!=submitter.type&&raise(TypeError,"The specified element is not a submit button"),submitter.form!=form&&raise(DOMException,"The specified element is not owned by this form element","NotFoundError")(submitter,this),submitter.click()):((submitter=document.createElement("input")).type="submit",submitter.hidden=!0,this.appendChild(submitter),submitter.click(),this.removeChild(submitter))});const submittersByForm=new WeakMap;function clickCaptured(event){event=function findSubmitterFromClickTarget(target){return"submit"==(null==(target=(target=target instanceof Element?target:target instanceof Node?target.parentElement:null)?target.closest("input, button"):null)?void 0:target.type)?target:null}(event.target);event&&event.form&&submittersByForm.set(event.form,event)}!function(){if(!("submitter"in Event.prototype)){let prototype;if("SubmitEvent"in window&&/Apple Computer/.test(navigator.vendor))prototype=window.SubmitEvent.prototype;else{if("SubmitEvent"in window)return;prototype=window.Event.prototype}addEventListener("click",clickCaptured,!0),Object.defineProperty(prototype,"submitter",{get(){if("submit"==this.type&&this.target instanceof HTMLFormElement)return submittersByForm.get(this.target)}})}}(),(prototype=FrameLoadingStyle=FrameLoadingStyle||{}).eager="eager",prototype.lazy="lazy";class FrameElement extends HTMLElement{constructor(){super(),this.loaded=Promise.resolve(),this.delegate=new FrameElement.delegateConstructor(this)}static get observedAttributes(){return["disabled","loading","src"]}connectedCallback(){this.delegate.connect()}disconnectedCallback(){this.delegate.disconnect()}reload(){var src=this["src"];this.src=null,this.src=src}attributeChangedCallback(name){"loading"==name?this.delegate.loadingStyleChanged():"src"==name?this.delegate.sourceURLChanged():this.delegate.disabledChanged()}get src(){return this.getAttribute("src")}set src(value){value?this.setAttribute("src",value):this.removeAttribute("src")}get loading(){return function frameLoadingStyleFromString(style){{if("lazy"!==style.toLowerCase())return FrameLoadingStyle.eager;return FrameLoadingStyle.lazy}}(this.getAttribute("loading")||"")}set loading(value){value?this.setAttribute("loading",value):this.removeAttribute("loading")}get disabled(){return this.hasAttribute("disabled")}set disabled(value){value?this.setAttribute("disabled",""):this.removeAttribute("disabled")}get autoscroll(){return this.hasAttribute("autoscroll")}set autoscroll(value){value?this.setAttribute("autoscroll",""):this.removeAttribute("autoscroll")}get complete(){return!this.delegate.isLoading}get isActive(){return this.ownerDocument===document&&!this.isPreview}get isPreview(){var _a;return null==(_a=null==(_a=this.ownerDocument)?void 0:_a.documentElement)?void 0:_a.hasAttribute("data-turbo-preview")}}function expandURL(locatable){return new URL(locatable.toString(),document.baseURI)}function getAnchor(url){return url.hash?url.hash.slice(1):(url=url.href.match(/#(.*)$/))?url[1]:void 0}function getAction(form,submitter)form.action)function getExtension(url){return(function getLastPathComponent(url){return function getPathComponents(url){return url.pathname.split("/").slice(1)}(url).slice(-1)[0]}(url).match(/.[^.]*$/)||[])[0]||""}function isPrefixedBy(baseURL,url){url=function getPrefix(url){return function addTrailingSlash(value){return value.endsWith("/")?value:value+"/"}(url.origin+url.pathname)}(url);return baseURL.href===expandURL(url).href||baseURL.href.startsWith(url)}function locationIsVisitable(location2,rootLocation){return isPrefixedBy(location2,rootLocation)&&function isHTML(url).(?:htm(location2)}function getRequestURL(url){var anchor=getAnchor(url);return null!=anchor?url.href.slice(0,-(anchor.length+1)):url.href}function toCacheKey(url){return getRequestURL(url)}class FetchResponse{constructor(response){this.response=response}get succeeded(){return this.response.ok}get failed(){return!this.succeeded}get clientError(){return 400<=this.statusCode&&this.statusCode<=499}get serverError(){return 500<=this.statusCode&&this.statusCode<=599}get redirected(){return this.response.redirected}get location(){return expandURL(this.response.url)}get isHTML()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(name){return this.response.headers.get(name)}}function dispatch(eventName,{target,cancelable,detail}={}){eventName=new CustomEvent(eventName,{cancelable:cancelable,bubbles:!0,detail:detail});return(target&&target.isConnected?target:document.documentElement).dispatchEvent(eventName),eventName}function nextAnimationFrame(){return new Promise(resolve=>requestAnimationFrame(()=>resolve()))}function parseHTMLDocument(html=""){return(new DOMParser).parseFromString(html,"text/html")}function unindent(strings,...values){strings=function interpolate(strings,values){return strings.reduce((result,string,i)=>{return result+string+(null==values[i]?"":values[i])},"")}(strings,values).replace(/^n/,"").split("n"),values=strings[0].match(/^s+/);const indent=values?values[0].length:0;return strings.map(line=>line.slice(indent)).join("n")}function uuid(){return Array.apply(null,{length:36}).map((_,i)=>8==i||13==i||18==i||23==i?"-":14==i?"4":(19==i?Math.floor(4*Math.random())+8:Math.floor(15*Math.random())).toString(16)).join("")}function getAttribute(attributeName,...elements){for(const value of elements.map(element=>null==element?void 0:element.getAttribute(attributeName)))if("string"==typeof value)return value;return null}function markAsBusy(...elements){for(const element of elements)"turbo-frame"==element.localName&&element.setAttribute("busy",""),element.setAttribute("aria-busy","true")}function clearBusyState(...elements){for(const element of elements)"turbo-frame"==element.localName&&element.removeAttribute("busy"),element.removeAttribute("aria-busy")}(prototype=FetchMethod=FetchMethod||{})[prototype.get=0]="get",prototype[prototype.post=1]="post",prototype[prototype.put=2]="put",prototype[prototype.patch=3]="patch",prototype[prototype.delete=4]="delete";class FetchRequest{constructor(delegate,method,location2,body=new URLSearchParams,target=null){this.abortController=new AbortController,this.resolveRequestPromise=value=>{},this.delegate=delegate,this.method=method,this.headers=this.defaultHeaders,this.body=body,this.url=location2,this.target=target}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()}perform(){return __async$3(this,null,function*(){var _a,_b,fetchOptions=this["fetchOptions"];null!=(_b=(_a=this.delegate).prepareHeadersForRequest)&&_b.call(_a,this.headers,this),yield this.allowRequestToBeIntercepted(fetchOptions);try{this.delegate.requestStarted(this);var response=yield fetch(this.url.href,fetchOptions);return yield this.receive(response)}catch(error){if("AbortError"!==error.name)throw this.delegate.requestErrored(this,error),error}finally{this.delegate.requestFinished(this)}})}receive(response){return __async$3(this,null,function*(){var fetchResponse=new FetchResponse(response);return dispatch("turbo:before-fetch-response",{cancelable:!0,detail:{fetchResponse:fetchResponse},target:this.target}).defaultPrevented?this.delegate.requestPreventedHandlingResponse(this,fetchResponse):fetchResponse.succeeded?this.delegate.requestSucceededWithResponse(this,fetchResponse):this.delegate.requestFailedWithResponse(this,fetchResponse),fetchResponse})}get fetchOptions(){var _a;return{method:FetchMethod[this.method].toUpperCase(),credentials:"same-origin",headers:this.headers,redirect:"follow",body:this.isIdempotent?null:this.body,signal:this.abortSignal,referrer:null==(_a=this.delegate.referrer)?void 0:_a.href}}get defaultHeaders(){return{Accept:"text/html, application/xhtml+xml"}}get isIdempotent(){return this.method==FetchMethod.get}get abortSignal(){return this.abortController.signal}allowRequestToBeIntercepted(fetchOptions){return __async$3(this,null,function*(){var requestInterception=new Promise(resolve=>this.resolveRequestPromise=resolve);dispatch("turbo:before-fetch-request",{cancelable:!0,detail:{fetchOptions:fetchOptions,url:this.url,resume:this.resolveRequestPromise},target:this.target}).defaultPrevented&&(yield requestInterception)})}}class AppearanceObserver{constructor(delegate,element){this.started=!1,this.intersect=entries=>{entries=entries.slice(-1)[0];null!=entries&&entries.isIntersecting&&this.delegate.elementAppearedInViewport(this.element)},this.delegate=delegate,this.element=element,this.intersectionObserver=new IntersectionObserver(this.intersect)}start()stop(){this.started&&(this.started=!1,this.intersectionObserver.unobserve(this.element))}}class StreamMessage{constructor(html){this.templateElement=document.createElement("template"),this.templateElement.innerHTML=html}static wrap(message){return"string"==typeof message?new this(message):message}get fragment(){var fragment=document.createDocumentFragment();for(const element of this.foreignElements)fragment.appendChild(document.importNode(element,!0));return fragment}get foreignElements(){return this.templateChildren.reduce((streamElements,child)=>"turbo-stream"==child.tagName.toLowerCase()?[...streamElements,child]:streamElements,[])}get templateChildren(){return Array.from(this.templateElement.content.children)}}StreamMessage.contentType="text/vnd.turbo-stream.html",(prototype=FormSubmissionState=FormSubmissionState||{})[prototype.initialized=0]="initialized",prototype[prototype.requesting=1]="requesting",prototype[prototype.waiting=2]="waiting",prototype[prototype.receiving=3]="receiving",prototype[prototype.stopping=4]="stopping",prototype[prototype.stopped=5]="stopped",(prototype=FormEnctype=FormEnctype||{}).urlEncoded="application/x-www-form-urlencoded",prototype.multipart="multipart/form-data",prototype.plain="text/plain";class FormSubmission{constructor(delegate,formElement,submitter,mustRedirect=!1){this.state=FormSubmissionState.initialized,this.delegate=delegate,this.formElement=formElement,this.submitter=submitter,this.formData=function buildFormData(formElement,submitter){var formElement=new FormData(formElement),name=null==submitter?void 0:submitter.getAttribute("name"),submitter=null==submitter?void 0:submitter.getAttribute("value");name&&null!=submitter&&formElement.get(name)!=submitter&&formElement.append(name,submitter);return formElement}(formElement,submitter),this.location=expandURL(this.action),this.method==FetchMethod.get&&function mergeFormDataEntries(url,entries)(this.location,[...this.body.entries()]),this.fetchRequest=new FetchRequest(this,this.method,this.location,this.body,this.formElement),this.mustRedirect=mustRedirect}static confirmMethod(message,element){return confirm(message)}get method(){var _a;return function fetchMethodFromString(method){switch(method.toLowerCase()){case"get":return FetchMethod.get;case"post":return FetchMethod.post;case"put":return FetchMethod.put;case"patch":return FetchMethod.patch;case"delete":return FetchMethod.delete}}(((null==(_a=this.submitter)?void 0:_a.getAttribute("formmethod"))||this.formElement.getAttribute("method")||"").toLowerCase())||FetchMethod.get}get action()get body()get enctype(){var _a;return function formEnctypeFromString(encoding){switch(encoding.toLowerCase()){case FormEnctype.multipart:return FormEnctype.multipart;case FormEnctype.plain:return FormEnctype.plain;default:return FormEnctype.urlEncoded}}((null==(_a=this.submitter)?void 0:_a.getAttribute("formenctype"))||this.formElement.enctype)}get isIdempotent(){return this.fetchRequest.isIdempotent}get stringFormData(){return[...this.formData].reduce((entries,[name,value])=>entries.concat("string"==typeof value?[[name,value]]:[]),[])}get confirmationMessage(){return this.formElement.getAttribute("data-turbo-confirm")}get needsConfirmation(){return null!==this.confirmationMessage}start(){return __async$3(this,null,function*(){var{initialized,requesting}=FormSubmissionState;if(this.needsConfirmation&&!FormSubmission.confirmMethod(this.confirmationMessage,this.formElement))return;if(this.state==initialized)return this.state=requesting,this.fetchRequest.perform()})}stop(){var{stopping,stopped}=FormSubmissionState;if(this.state!=stopping&&this.state!=stopped)return this.state=stopping,this.fetchRequest.cancel(),!0}prepareHeadersForRequest(headers,request){request.isIdempotent||((request=function getCookieValue(cookieName){{var cookie;return null!=cookieName&&(cookie=(document.cookie?document.cookie.split("; "):[]).find(cookie2=>cookie2.startsWith(cookieName)))&&(cookie=cookie.split("=").slice(1).join("="))?decodeURIComponent(cookie):void 0}}(getMetaContent("csrf-param"))||getMetaContent("csrf-token"))&&(headers["X-CSRF-Token"]=request),headers.Accept=[StreamMessage.contentType,headers.Accept].join(", "))}requestStarted(request){var _a;this.state=FormSubmissionState.waiting,null!=(_a=this.submitter)&&_a.setAttribute("disabled",""),dispatch("turbo:submit-start",{target:this.formElement,detail:{formSubmission:this}}),this.delegate.formSubmissionStarted(this)}requestPreventedHandlingResponse(request,response){this.result={success:response.succeeded,fetchResponse:response}}requestSucceededWithResponse(request,response){response.clientError||response.serverError?this.delegate.formSubmissionFailedWithResponse(this,response):this.requestMustRedirect(request)&&function responseSucceededWithoutRedirect(response){return 200==response.statusCode&&!response.redirected}(response)?(request=new Error("Form responses must redirect to another location"),this.delegate.formSubmissionErrored(this,request)):(this.state=FormSubmissionState.receiving,this.result={success:!0,fetchResponse:response},this.delegate.formSubmissionSucceededWithResponse(this,response))}requestFailedWithResponse(request,response){this.result={success:!1,fetchResponse:response},this.delegate.formSubmissionFailedWithResponse(this,response)}requestErrored(request,error){this.result={success:!1,error:error},this.delegate.formSubmissionErrored(this,error)}requestFinished(request){var _a;this.state=FormSubmissionState.stopped,null!=(_a=this.submitter)&&_a.removeAttribute("disabled"),dispatch("turbo:submit-end",{target:this.formElement,detail:Object.assign({formSubmission:this},this.result)}),this.delegate.formSubmissionFinished(this)}requestMustRedirect(request){return!request.isIdempotent&&this.mustRedirect}}function getMetaContent(name){name=document.querySelector(`meta[name="${name}"]`);return name&&name.content}class Snapshot{constructor(element){this.element=element}get children(){return[...this.element.children]}hasAnchor(anchor){return null!=this.getElementForAnchor(anchor)}getElementForAnchor(anchor){return anchor?this.element.querySelector(`[id='${anchor}'], a[name="${anchor}"]`):null}get isConnected(){return this.element.isConnected}get firstAutofocusableElement(){return this.element.querySelector("[autofocus]")}get permanentElements(){return[...this.element.querySelectorAll("[id][data-turbo-permanent]")]}getPermanentElementById(id){return this.element.querySelector(`#${id}[data-turbo-permanent]`)}getPermanentElementMapForSnapshot(snapshot){var permanentElementMap={};for(const currentPermanentElement of this.permanentElements){var id=currentPermanentElement["id"],newPermanentElement=snapshot.getPermanentElementById(id);newPermanentElement&&(permanentElementMap[id]=[currentPermanentElement,newPermanentElement])}return permanentElementMap}}class FormInterceptor{constructor(delegate,element){this.submitBubbled=event=>void 0)?void 0:submitter.getAttribute("formmethod")),this.delegate=delegate,this.element=element}start(){this.element.addEventListener("submit",this.submitBubbled)}stop(){this.element.removeEventListener("submit",this.submitBubbled)}}class View{constructor(delegate,element){this.resolveRenderPromise=value=>{},this.resolveInterceptionPromise=value=>{},this.delegate=delegate,this.element=element}scrollToAnchor(anchor){anchor=this.snapshot.getElementForAnchor(anchor);anchor?(this.scrollToElement(anchor),this.focusElement(anchor)):this.scrollToPosition({x:0,y:0})}scrollToAnchorFromLocation(location2){this.scrollToAnchor(getAnchor(location2))}scrollToElement(element){element.scrollIntoView()}focusElement(element){element instanceof HTMLElement&&(element.hasAttribute("tabindex")?element.focus():(element.setAttribute("tabindex","-1"),element.focus(),element.removeAttribute("tabindex")))}scrollToPosition({x,y}){this.scrollRoot.scrollTo(x,y)}scrollToTop(){this.scrollToPosition({x:0,y:0})}get scrollRoot(){return window}render(renderer){return __async$3(this,null,function*(){var{isPreview,shouldRender,newSnapshot:snapshot}=renderer;if(shouldRender)tryfinally{delete this.renderer,this.resolveRenderPromise(void 0),delete this.renderPromise}else this.invalidate()})}invalidate(){this.delegate.viewInvalidated()}prepareToRenderSnapshot(renderer){this.markAsPreview(renderer.isPreview),renderer.prepareToRender()}markAsPreview(isPreview){isPreview?this.element.setAttribute("data-turbo-preview",""):this.element.removeAttribute("data-turbo-preview")}renderSnapshot(renderer){return __async$3(this,null,function*(){yield renderer.render()})}finishRenderingSnapshot(renderer){renderer.finishRendering()}}class FrameView extends View{invalidate(){this.element.innerHTML=""}get snapshot(){return new Snapshot(this.element)}}class LinkInterceptor{constructor(delegate,element){this.clickBubbled=event=>{this.respondsToEventTarget(event.target)?this.clickEvent=event:delete this.clickEvent},this.linkClicked=event=>{this.clickEvent&&this.respondsToEventTarget(event.target)&&event.target instanceof Element&&this.delegate.shouldInterceptLinkClick(event.target,event.detail.url)&&(this.clickEvent.preventDefault(),event.preventDefault(),this.delegate.linkClickIntercepted(event.target,event.detail.url)),delete this.clickEvent},this.willVisit=()=>{delete this.clickEvent},this.delegate=delegate,this.element=element}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)}respondsToEventTarget(target){target=target instanceof Element?target:target instanceof Node?target.parentElement:null;return target&&target.closest("turbo-frame, html")==this.element}}class Bardo{constructor(permanentElementMap){this.permanentElementMap=permanentElementMap}static preservingPermanentElements(permanentElementMap,callback){permanentElementMap=new this(permanentElementMap);permanentElementMap.enter(),callback(),permanentElementMap.leave()}enter(){for(const id in this.permanentElementMap){var[,newPermanentElement]=this.permanentElementMap[id];this.replaceNewPermanentElementWithPlaceholder(newPermanentElement)}}leave(){for(const id in this.permanentElementMap){var[currentPermanentElement]=this.permanentElementMap[id];this.replaceCurrentPermanentElementWithClone(currentPermanentElement),this.replacePlaceholderWithPermanentElement(currentPermanentElement)}}replaceNewPermanentElementWithPlaceholder(permanentElement){var placeholder=function createPlaceholderForPermanentElement(permanentElement){var element=document.createElement("meta");return element.setAttribute("name","turbo-permanent-placeholder"),element.setAttribute("content",permanentElement.id),element}(permanentElement);permanentElement.replaceWith(placeholder)}replaceCurrentPermanentElementWithClone(permanentElement){var clone=permanentElement.cloneNode(!0);permanentElement.replaceWith(clone)}replacePlaceholderWithPermanentElement(permanentElement){var placeholder=this.getPlaceholderById(permanentElement.id);null!=placeholder&&placeholder.replaceWith(permanentElement)}getPlaceholderById(id){return this.placeholders.find(element=>element.content==id)}get placeholders(){return[...document.querySelectorAll("meta[name=turbo-permanent-placeholder][content]")]}}class Renderer{constructor(currentSnapshot,newSnapshot,isPreview,willRender=!0){this.currentSnapshot=currentSnapshot,this.newSnapshot=newSnapshot,this.isPreview=isPreview,this.willRender=willRender,this.promise=new Promise((resolve,reject)=>this.resolvingFunctions={resolve:resolve,reject:reject})}get shouldRender(){return!0}prepareToRender(){}finishRendering(){this.resolvingFunctions&&(this.resolvingFunctions.resolve(),delete this.resolvingFunctions)}createScriptElement(element){var createdScriptElement;return"false"==element.getAttribute("data-turbo-eval")?element:(createdScriptElement=document.createElement("script"),this.cspNonce&&(createdScriptElement.nonce=this.cspNonce),createdScriptElement.textContent=element.textContent,createdScriptElement.async=!1,function copyElementAttributes(destinationElement,sourceElement){for(var{name,value}of[...sourceElement.attributes])destinationElement.setAttribute(name,value)}(createdScriptElement,element),createdScriptElement)}preservingPermanentElements(callback){Bardo.preservingPermanentElements(this.permanentElementMap,callback)}focusFirstAutofocusableElement(){var element=this.connectedSnapshot.firstAutofocusableElement;!function elementIsFocusable(element){return element&&"function"==typeof element.focus}(element)||element.focus()}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 cspNonce(){var _a;return null==(_a=document.head.querySelector('meta[name="csp-nonce"]'))?void 0:_a.getAttribute("content")}}class FrameRenderer extends Renderer{get shouldRender(){return!0}render(){return __async$3(this,null,function*(){yield nextAnimationFrame(),this.preservingPermanentElements(()=>{this.loadFrameElement()}),this.scrollFrameIntoView(),yield nextAnimationFrame(),this.focusFirstAutofocusableElement(),yield nextAnimationFrame(),this.activateScriptElements()})}loadFrameElement(){var destinationRange=document.createRange(),destinationRange=(destinationRange.selectNodeContents(this.currentElement),destinationRange.deleteContents(),this.newElement),_a=null==(_a=destinationRange.ownerDocument)?void 0:_a.createRange();_a&&(_a.selectNodeContents(destinationRange),this.currentElement.appendChild(_a.extractContents()))}scrollFrameIntoView(){if(this.currentElement.autoscroll||this.newElement.autoscroll){var element=this.currentElement.firstElementChild,block=function readScrollLogicalPosition(value,defaultValue)"nearest"==value?value:defaultValue(this.currentElement.getAttribute("data-autoscroll-block"),"end");if(element)return element.scrollIntoView({block:block}),!0}return!1}activateScriptElements(){for(const inertScriptElement of this.newScriptElements){var activatedScriptElement=this.createScriptElement(inertScriptElement);inertScriptElement.replaceWith(activatedScriptElement)}}get newScriptElements(){return this.currentElement.querySelectorAll("script")}}class ProgressBar{constructor(){this.hiding=!1,this.value=0,this.visible=!1,this.trickle=()=>{this.setValue(this.value+Math.random()/100)},this.stylesheetElement=this.createStylesheetElement(),this.progressElement=this.createProgressElement(),this.installStylesheetElement(),this.setValue(0)}static get defaultCSS(){return unindent` .turbo-progress-bar { position: fixed; display: block; top: 0; left: 0; height: 3px; background: #0076ff; z-index: 9999; transition: width ${ProgressBar.animationDuration}ms ease-out, opacity ${ProgressBar.animationDuration/2}ms ${ProgressBar.animationDuration/2}ms ease-in; transform: translate3d(0, 0, 0); } `}show()hide(){this.visible&&!this.hiding&&(this.hiding=!0,this.fadeProgressElement(()=>{this.uninstallProgressElement(),this.stopTrickling(),this.visible=!1,this.hiding=!1}))}setValue(value){this.value=value,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(callback){this.progressElement.style.opacity="0",setTimeout(callback,1.5*ProgressBar.animationDuration)}uninstallProgressElement(){this.progressElement.parentNode&&document.documentElement.removeChild(this.progressElement)}startTrickling()(this.trickleInterval=window.setInterval(this.trickle,ProgressBar.animationDuration))stopTrickling(){window.clearInterval(this.trickleInterval),delete this.trickleInterval}refresh(){requestAnimationFrame(()=>{this.progressElement.style.width=10+90*this.value+"%"})}createStylesheetElement(){var element=document.createElement("style");return element.type="text/css",element.textContent=ProgressBar.defaultCSS,element}createProgressElement(){var element=document.createElement("div");return element.className="turbo-progress-bar",element}}ProgressBar.animationDuration=300;class HeadSnapshot extends Snapshot{constructor(){super(...arguments),this.detailsByOuterHTML=this.children.filter(element=>!function elementIsNoscript(element){element=element.tagName.toLowerCase();return"noscript"==element}(element)).map(element=>function elementWithoutNonce(element){element.hasAttribute("nonce")&&element.setAttribute("nonce","");return element}(element)).reduce((result,element)=>{var outerHTML=element["outerHTML"],details=outerHTML in result?result[outerHTML]:{type:function elementType(element){return function elementIsScript(element){element=element.tagName.toLowerCase();return"script"==element}(element)?"script":function elementIsStylesheet(element)"link"==tagName&&"stylesheet"==element.getAttribute("rel")(element)?"stylesheet":void 0}(element),tracked:function elementIsTracked(element){return"reload"==element.getAttribute("data-turbo-track")}(element),elements:[]};return Object.assign(Object.assign({},result),{[outerHTML]:Object.assign(Object.assign({},details),{elements:[...details.elements,element]})})},{})}get trackedElementSignature(){return Object.keys(this.detailsByOuterHTML).filter(outerHTML=>this.detailsByOuterHTML[outerHTML].tracked).join("")}getScriptElementsNotInSnapshot(snapshot){return this.getElementsMatchingTypeNotInSnapshot("script",snapshot)}getStylesheetElementsNotInSnapshot(snapshot){return this.getElementsMatchingTypeNotInSnapshot("stylesheet",snapshot)}getElementsMatchingTypeNotInSnapshot(matchedType,snapshot){return Object.keys(this.detailsByOuterHTML).filter(outerHTML=>!(outerHTML in snapshot.detailsByOuterHTML)).map(outerHTML=>this.detailsByOuterHTML[outerHTML]).filter(({type})=>type==matchedType).map(({elements:[element]})=>element)}get provisionalElements(){return Object.keys(this.detailsByOuterHTML).reduce((result,outerHTML)=>{var{type:outerHTML,tracked,elements}=this.detailsByOuterHTML[outerHTML];return null!=outerHTML||tracked?1<elements.length?[...result,...elements.slice(1)]:result:[...result,...elements]},[])}getMetaValue(name){name=this.findMetaElementByName(name);return name?name.getAttribute("content"):null}findMetaElementByName(name){return Object.keys(this.detailsByOuterHTML).reduce((result,outerHTML)=>{var[outerHTML]=this.detailsByOuterHTML[outerHTML]["elements"];return function elementIsMetaElementWithName(element,name){var tagName=element.tagName.toLowerCase();return"meta"==tagName&&element.getAttribute("name")==name}(outerHTML,name)?outerHTML:result},void 0)}}class PageSnapshot extends Snapshot{constructor(element,headSnapshot){super(element),this.headSnapshot=headSnapshot}static fromHTMLString(html=""){return this.fromDocument(parseHTMLDocument(html))}static fromElement(element){return this.fromDocument(element.ownerDocument)}static fromDocument({head,body}){return new this(body,new HeadSnapshot(head))}clone(){return new PageSnapshot(this.element.cloneNode(!0),this.headSnapshot)}get headElement(){return this.headSnapshot.element}get rootLocation(){var _a;return expandURL(null!=(_a=this.getSetting("root"))?_a:"/")}get cacheControlValue(){return this.getSetting("cache-control")}get isPreviewable(){return"no-preview"!=this.cacheControlValue}get isCacheable(){return"no-cache"!=this.cacheControlValue}get isVisitable(){return"reload"!=this.getSetting("visit-control")}getSetting(name){return this.headSnapshot.getMetaValue("turbo-"+name)}}(prototype=TimingMetric=TimingMetric||{}).visitStart="visitStart",prototype.requestStart="requestStart",prototype.requestEnd="requestEnd",prototype.visitEnd="visitEnd",(prototype=VisitState=VisitState||{}).initialized="initialized",prototype.started="started",prototype.canceled="canceled",prototype.failed="failed";const defaultOptions={action:"advance",historyChanged:!(prototype.completed="completed"),visitCachedSnapshot:()=>{},willRender:!0};(prototype=SystemStatusCode=SystemStatusCode||{})[prototype.networkFailure=0]="networkFailure",prototype[prototype.timeoutFailure=-1]="timeoutFailure",prototype[prototype.contentTypeMismatch=-2]="contentTypeMismatch";class Visit{constructor(delegate,location2,restorationIdentifier,options={}){this.identifier=uuid(),this.timingMetrics={},this.followedRedirect=!1,this.historyChanged=!1,this.scrolled=!1,this.snapshotCached=!1,this.state=VisitState.initialized,this.delegate=delegate,this.location=location2,this.restorationIdentifier=restorationIdentifier||uuid();var{action:delegate,historyChanged:location2,referrer:restorationIdentifier,snapshotHTML:options,response,visitCachedSnapshot,willRender}=Object.assign(Object.assign({},defaultOptions),options);this.action=delegate,this.historyChanged=location2,this.referrer=restorationIdentifier,this.snapshotHTML=options,this.response=response,this.isSamePage=this.delegate.locationWithActionIsSamePage(this.location,this.action),this.visitCachedSnapshot=visitCachedSnapshot,this.willRender=willRender,this.scrolled=!willRender}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==VisitState.initialized&&(this.recordTimingMetric(TimingMetric.visitStart),this.state=VisitState.started,this.adapter.visitStarted(this),this.delegate.visitStarted(this))}cancel(){this.state==VisitState.started&&(this.request&&this.request.cancel(),this.cancelRender(),this.state=VisitState.canceled)}complete(){this.state==VisitState.started&&(this.recordTimingMetric(TimingMetric.visitEnd),this.state=VisitState.completed,this.adapter.visitCompleted(this),this.delegate.visitCompleted(this),this.followRedirect())}fail(){this.state==VisitState.started&&(this.state=VisitState.failed,this.adapter.visitFailed(this))}changeHistory()issueRequest(){this.hasPreloadedResponse()?this.simulateRequest():this.shouldIssueRequest()&&!this.request&&(this.request=new FetchRequest(this,FetchMethod.get,this.location),this.request.perform())}simulateRequest(){this.response&&(this.startRequest(),this.recordResponse(),this.finishRequest())}startRequest(){this.recordTimingMetric(TimingMetric.requestStart),this.adapter.visitRequestStarted(this)}recordResponse(response=this.response){(this.response=response)&&(response=response["statusCode"],isSuccessful(response)?this.adapter.visitRequestCompleted(this):this.adapter.visitRequestFailedWithStatusCode(this,response))}finishRequest(){this.recordTimingMetric(TimingMetric.requestEnd),this.adapter.visitRequestFinished(this)}loadResponse(){if(this.response){const{statusCode,responseHTML}=this.response;this.render(()=>__async$3(this,null,function*(){this.cacheSnapshot(),this.view.renderPromise&&(yield this.view.renderPromise),isSuccessful(statusCode)&&null!=responseHTML?(yield this.view.renderPage(PageSnapshot.fromHTMLString(responseHTML),!1,this.willRender),this.adapter.visitRendered(this),this.complete()):(yield this.view.renderError(PageSnapshot.fromHTMLString(responseHTML)),this.adapter.visitRendered(this),this.fail())}))}}getCachedSnapshot()getPreloadedSnapshot(){if(this.snapshotHTML)return PageSnapshot.fromHTMLString(this.snapshotHTML)}hasCachedSnapshot(){return null!=this.getCachedSnapshot()}loadCachedSnapshot(){const snapshot=this.getCachedSnapshot();if(snapshot){const isPreview=this.shouldIssueRequest();this.render(()=>__async$3(this,null,function*()this.complete())))}}followRedirect(){var _a;this.redirectedToLocation&&!this.followedRedirect&&null!=(_a=this.response)&&_a.redirected&&(this.adapter.visitProposedToLocation(this.redirectedToLocation,{action:"replace",response:this.response}),this.followedRedirect=!0)}goToSamePageAnchor(){this.isSamePage&&this.render(()=>__async$3(this,null,function*(){this.cacheSnapshot(),this.adapter.visitRendered(this)}))}requestStarted(){this.startRequest()}requestPreventedHandlingResponse(request,response){}requestSucceededWithResponse(request,response){return __async$3(this,null,function*(){var responseHTML=yield response.responseHTML,{redirected,statusCode}=response;null==responseHTML?this.recordResponse({statusCode:SystemStatusCode.contentTypeMismatch,redirected:redirected}):(this.redirectedToLocation=response.redirected?response.location:void 0,this.recordResponse({statusCode:statusCode,responseHTML:responseHTML,redirected:redirected}))})}requestFailedWithResponse(request,response){return __async$3(this,null,function*(){var responseHTML=yield response.responseHTML,{redirected,statusCode}=response;null==responseHTML?this.recordResponse({statusCode:SystemStatusCode.contentTypeMismatch,redirected:redirected}):this.recordResponse({statusCode:statusCode,responseHTML:responseHTML,redirected:redirected})})}requestErrored(request,error){this.recordResponse({statusCode:SystemStatusCode.networkFailure,redirected:!1})}requestFinished(){this.finishRequest()}performScroll()this.view.scrollToTop():this.scrollToAnchor()scrollToRestoredPosition(){var scrollPosition=this.restorationData["scrollPosition"];if(scrollPosition)return this.view.scrollToPosition(scrollPosition),!0}scrollToAnchor(){var anchor=getAnchor(this.location);if(null!=anchor)return this.view.scrollToAnchor(anchor),!0}recordTimingMetric(metric){this.timingMetrics[metric]=(new Date).getTime()}getTimingMetrics(){return Object.assign({},this.timingMetrics)}getHistoryMethodForAction(action){switch(action){case"replace":return history.replaceState;case"advance":case"restore":return history.pushState}}hasPreloadedResponse(){return"object"==typeof this.response}shouldIssueRequest(){return!this.isSamePage&&("restore"==this.action?!this.hasCachedSnapshot():this.willRender)}cacheSnapshot()(this.view.cacheSnapshot().then(snapshot=>snapshot&&this.visitCachedSnapshot(snapshot)),this.snapshotCached=!0)render(callback){return __async$3(this,null,function*(){this.cancelRender(),yield new Promise(resolve=>{this.frame=requestAnimationFrame(()=>resolve())}),yield callback(),delete this.frame,this.performScroll()})}cancelRender(){this.frame&&(cancelAnimationFrame(this.frame),delete this.frame)}}function isSuccessful(statusCode){return 200<=statusCode&&statusCode<300}class BrowserAdapter{constructor(session2){this.progressBar=new ProgressBar,this.showProgressBar=()=>{this.progressBar.show()},this.session=session2}visitProposedToLocation(location2,options){this.navigator.startVisit(location2,uuid(),options)}visitStarted(visit2){visit2.loadCachedSnapshot(),visit2.issueRequest(),visit2.changeHistory(),visit2.goToSamePageAnchor()}visitRequestStarted(visit2)visitRequestCompleted(visit2){visit2.loadResponse()}visitRequestFailedWithStatusCode(visit2,statusCode){switch(statusCode){case SystemStatusCode.networkFailure:case SystemStatusCode.timeoutFailure:case SystemStatusCode.contentTypeMismatch:return this.reload();default:return visit2.loadResponse()}}visitRequestFinished(visit2){this.progressBar.setValue(1),this.hideVisitProgressBar()}visitCompleted(visit2){}pageInvalidated(){this.reload()}visitFailed(visit2){}visitRendered(visit2){}formSubmissionStarted(formSubmission){this.progressBar.setValue(0),this.showFormProgressBarAfterDelay()}formSubmissionFinished(formSubmission){this.progressBar.setValue(1),this.hideFormProgressBar()}showVisitProgressBarAfterDelay(){this.visitProgressBarTimeout=window.setTimeout(this.showProgressBar,this.session.progressBarDelay)}hideVisitProgressBar(){this.progressBar.hide(),null!=this.visitProgressBarTimeout&&(window.clearTimeout(this.visitProgressBarTimeout),delete this.visitProgressBarTimeout)}showFormProgressBarAfterDelay(){null==this.formProgressBarTimeout&&(this.formProgressBarTimeout=window.setTimeout(this.showProgressBar,this.session.progressBarDelay))}hideFormProgressBar(){this.progressBar.hide(),null!=this.formProgressBarTimeout&&(window.clearTimeout(this.formProgressBarTimeout),delete this.formProgressBarTimeout)}reload(){window.location.reload()}get navigator(){return this.session.navigator}}class CacheObserver{constructor(){this.started=!1}start()stop(){this.started&&(this.started=!1,removeEventListener("turbo:before-cache",this.removeStaleElements,!1))}removeStaleElements(){for(const element of[...document.querySelectorAll('[data-turbo-cache="false"]')])element.remove()}}class FormSubmitObserver{constructor(delegate){this.started=!1,this.submitCaptured=()=>{removeEventListener("submit",this.submitBubbled,!1),addEventListener("submit",this.submitBubbled,!1)},this.submitBubbled=event=>,this.delegate=delegate}start()stop(){this.started&&(removeEventListener("submit",this.submitCaptured,!0),this.started=!1)}}class FrameRedirector{constructor(element){this.element=element,this.linkInterceptor=new LinkInterceptor(this,element),this.formInterceptor=new FormInterceptor(this,element)}start(){this.linkInterceptor.start(),this.formInterceptor.start()}stop(){this.linkInterceptor.stop(),this.formInterceptor.stop()}shouldInterceptLinkClick(element,url){return this.shouldRedirect(element)}linkClickIntercepted(element,url){var frame=this.findFrameElement(element);frame&&frame.delegate.linkClickIntercepted(element,url)}shouldInterceptFormSubmission(element,submitter){return this.shouldSubmit(element,submitter)}formSubmissionIntercepted(element,submitter){var frame=this.findFrameElement(element,submitter);frame&&(frame.removeAttribute("reloadable"),frame.delegate.formSubmissionIntercepted(element,submitter))}shouldSubmit(form,submitter){var action=getAction(form,submitter),meta=this.element.ownerDocument.querySelector('meta[name="turbo-root"]'),meta=expandURL(null!=(meta=null==meta?void 0:meta.content)?meta:"/");return this.shouldRedirect(form,submitter)&&locationIsVisitable(action,meta)}shouldRedirect(element,submitter){submitter=this.findFrameElement(element,submitter);return!!submitter&&submitter!=element.closest("turbo-frame")}findFrameElement(element,submitter){submitter=(null==submitter?void 0:submitter.getAttribute("data-turbo-frame"))||element.getAttribute("data-turbo-frame");if(submitter&&"_top"!=submitter){element=this.element.querySelector(`#${submitter}:not([disabled])`);if(element instanceof FrameElement)return element}}}class History{constructor(delegate){this.restorationIdentifier=uuid(),this.restorationData={},this.started=!1,this.pageLoaded=!1,this.onPopState=event=>{this.shouldHandlePopState()&&(event=(event.state||{})["turbo"],event&&(this.location=new URL(window.location.href),event=event["restorationIdentifier"],this.restorationIdentifier=event,this.delegate.historyPoppedToLocationWithRestorationIdentifier(this.location,event)))},this.onPageLoad=event=>__async$3(this,null,function*(){yield function nextMicrotask(){return Promise.resolve()}(),this.pageLoaded=!0}),this.delegate=delegate}start()(addEventListener("popstate",this.onPopState,!1),addEventListener("load",this.onPageLoad,!1),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(location2,restorationIdentifier){this.update(history.pushState,location2,restorationIdentifier)}replace(location2,restorationIdentifier){this.update(history.replaceState,location2,restorationIdentifier)}update(method,location2,restorationIdentifier=uuid()){method.call(history,{turbo:{restorationIdentifier:restorationIdentifier}},"",location2.href),this.location=location2,this.restorationIdentifier=restorationIdentifier}getRestorationDataForIdentifier(restorationIdentifier){return this.restorationData[restorationIdentifier]||{}}updateRestorationData(additionalData){var restorationIdentifier=this["restorationIdentifier"],restorationData=this.restorationData[restorationIdentifier];this.restorationData[restorationIdentifier]=Object.assign(Object.assign({},restorationData),additionalData)}assumeControlOfScrollRestoration()relinquishControlOfScrollRestoration(){this.previousScrollRestoration&&(history.scrollRestoration=this.previousScrollRestoration,delete this.previousScrollRestoration)}shouldHandlePopState(){return this.pageIsLoaded()}pageIsLoaded()"complete"==document.readyState}class LinkClickObserver{constructor(delegate){this.started=!1,this.clickCaptured=()=>{removeEventListener("click",this.clickBubbled,!1),addEventListener("click",this.clickBubbled,!1)},this.clickBubbled=event=>event.target,(target=this.findLinkFromClickTarget(target))&&(location2=this.getLocationForLink(target),this.delegate.willFollowLinkToLocation(target,location2)&&(event.preventDefault(),this.delegate.followedLinkToLocation(target,location2)))),this.delegate=delegate}start()(addEventListener("click",this.clickCaptured,!0),this.started=!0)stop(){this.started&&(removeEventListener("click",this.clickCaptured,!0),this.started=!1)}clickEventIsSignificant(event)findLinkFromClickTarget(target){if(target instanceof Element)return target.closest("a[href]:not([target^=_]):not([download])")}getLocationForLink(link)"")}function isAction(action)class Navigator{constructor(delegate){this.delegate=delegate}proposeVisit(location2,options={}){this.delegate.allowsVisitingLocationWithAction(location2,options.action)&&(locationIsVisitable(location2,this.view.snapshot.rootLocation)?this.delegate.visitProposedToLocation(location2,options):window.location.href=location2.toString())}startVisit(locatable,restorationIdentifier,options={}){this.stop(),this.currentVisit=new Visit(this,expandURL(locatable),restorationIdentifier,Object.assign({referrer:this.location},options)),this.currentVisit.start()}submitForm(form,submitter){this.stop(),this.formSubmission=new FormSubmission(this,form,submitter,!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 history(){return this.delegate.history}formSubmissionStarted(formSubmission){"function"==typeof this.adapter.formSubmissionStarted&&this.adapter.formSubmissionStarted(formSubmission)}formSubmissionSucceededWithResponse(formSubmission,fetchResponse){return __async$3(this,null,function*(){var responseHTML,statusCode,redirected,action;formSubmission==this.formSubmission&&(responseHTML=yield fetchResponse.responseHTML)&&(formSubmission.method!=FetchMethod.get&&this.view.clearSnapshotCache(),{statusCode,redirected}=fetchResponse,action=this.getActionForFormSubmission(formSubmission),this.proposeVisit(fetchResponse.location,{action:action,response:{statusCode:statusCode,responseHTML:responseHTML,redirected:redirected}}))})}formSubmissionFailedWithResponse(formSubmission,fetchResponse){return __async$3(this,null,function*(){var responseHTML=yield fetchResponse.responseHTML;responseHTML&&(responseHTML=PageSnapshot.fromHTMLString(responseHTML),fetchResponse.serverError?yield this.view.renderError(responseHTML):yield this.view.renderPage(responseHTML),this.view.scrollToTop(),this.view.clearSnapshotCache())})}formSubmissionErrored(formSubmission,error){console.error(error)}formSubmissionFinished(formSubmission){"function"==typeof this.adapter.formSubmissionFinished&&this.adapter.formSubmissionFinished(formSubmission)}visitStarted(visit2){this.delegate.visitStarted(visit2)}visitCompleted(visit2){this.delegate.visitCompleted(visit2)}locationWithActionIsSamePage(location2,action)visitScrolledToSamePageLocation(oldURL,newURL){this.delegate.visitScrolledToSamePageLocation(oldURL,newURL)}get location(){return this.history.location}get restorationIdentifier(){return this.history.restorationIdentifier}getActionForFormSubmission(formSubmission){var{formElement:formSubmission,submitter}=formSubmission,submitter=getAttribute("data-turbo-action",submitter,formSubmission);return isAction(submitter)?submitter:"advance"}}(prototype=PageStage=PageStage||{})[prototype.initial=0]="initial",prototype[prototype.loading=1]="loading",prototype[prototype.interactive=2]="interactive",prototype[prototype.complete=3]="complete";class PageObserver{constructor(delegate){this.stage=PageStage.initial,this.started=!1,this.interpretReadyState=()=>{var readyState=this["readyState"];"interactive"==readyState?this.pageIsInteractive():"complete"==readyState&&this.pageIsComplete()},this.pageWillUnload=()=>{this.delegate.pageWillUnload()},this.delegate=delegate}start()(this.stage==PageStage.initial&&(this.stage=PageStage.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)}pageIsInteractive(){this.stage==PageStage.loading&&(this.stage=PageStage.interactive,this.delegate.pageBecameInteractive())}pageIsComplete(){this.pageIsInteractive(),this.stage==PageStage.interactive&&(this.stage=PageStage.complete,this.delegate.pageLoaded())}get readyState(){return document.readyState}}class ScrollObserver{constructor(delegate){this.started=!1,this.onScroll=()=>{this.updatePosition({x:window.pageXOffset,y:window.pageYOffset})},this.delegate=delegate}start()stop(){this.started&&(removeEventListener("scroll",this.onScroll,!1),this.started=!1)}updatePosition(position){this.delegate.scrollPositionChanged(position)}}class StreamObserver{constructor(delegate){this.sources=new Set,this.started=!1,this.inspectFetchResponse=event=>{var response=function fetchResponseFromEvent(event){event=null==(event=event.detail)?void 0:event.fetchResponse;if(event instanceof FetchResponse)return event}(event);response&&function fetchResponseIsStream(response){response=null!=(response=response.contentType)?response:"";return response.startsWith(StreamMessage.contentType)}(response)&&(event.preventDefault(),this.receiveMessageResponse(response))},this.receiveMessageEvent=event=>{this.started&&"string"==typeof event.data&&this.receiveMessageHTML(event.data)},this.delegate=delegate}start()(this.started=!0,addEventListener("turbo:before-fetch-response",this.inspectFetchResponse,!1))stop(){this.started&&(this.started=!1,removeEventListener("turbo:before-fetch-response",this.inspectFetchResponse,!1))}connectStreamSource(source)(this.sources.add(source),source.addEventListener("message",this.receiveMessageEvent,!1))disconnectStreamSource(source){this.streamSourceIsConnected(source)&&(this.sources.delete(source),source.removeEventListener("message",this.receiveMessageEvent,!1))}streamSourceIsConnected(source){return this.sources.has(source)}receiveMessageResponse(response){return __async$3(this,null,function*(){var html=yield response.responseHTML;html&&this.receiveMessageHTML(html)})}receiveMessageHTML(html){this.delegate.receivedMessageFromStream(new StreamMessage(html))}}class ErrorRenderer extends Renderer{render(){return __async$3(this,null,function*(){this.replaceHeadAndBody(),this.activateScriptElements()})}replaceHeadAndBody(){var{documentElement,head,body}=document;documentElement.replaceChild(this.newHead,head),documentElement.replaceChild(this.newElement,body)}activateScriptElements(){for(const replaceableElement of this.scriptElements){var element,parentNode=replaceableElement.parentNode;parentNode&&(element=this.createScriptElement(replaceableElement),parentNode.replaceChild(element,replaceableElement))}}get newHead(){return this.newSnapshot.headSnapshot.element}get scriptElements(){return[...document.documentElement.querySelectorAll("script")]}}class PageRenderer extends Renderer{get shouldRender(){return this.newSnapshot.isVisitable&&this.trackedElementsAreIdentical}prepareToRender(){this.mergeHead()}render(){return __async$3(this,null,function*(){this.willRender&&this.replaceBody()})}finishRendering()get currentHeadSnapshot(){return this.currentSnapshot.headSnapshot}get newHeadSnapshot(){return this.newSnapshot.headSnapshot}get newElement(){return this.newSnapshot.element}mergeHead(){this.copyNewHeadStylesheetElements(),this.copyNewHeadScriptElements(),this.removeCurrentHeadProvisionalElements(),this.copyNewHeadProvisionalElements()}replaceBody(){this.preservingPermanentElements(()=>{this.activateNewBody(),this.assignNewBody()})}get trackedElementsAreIdentical(){return this.currentHeadSnapshot.trackedElementSignature==this.newHeadSnapshot.trackedElementSignature}copyNewHeadStylesheetElements(){for(const element of this.newHeadStylesheetElements)document.head.appendChild(element)}copyNewHeadScriptElements(){for(const element of this.newHeadScriptElements)document.head.appendChild(this.createScriptElement(element))}removeCurrentHeadProvisionalElements(){for(const element of this.currentHeadProvisionalElements)document.head.removeChild(element)}copyNewHeadProvisionalElements(){for(const element of this.newHeadProvisionalElements)document.head.appendChild(element)}activateNewBody(){document.adoptNode(this.newElement),this.activateNewBodyScriptElements()}activateNewBodyScriptElements(){for(const inertScriptElement of this.newBodyScriptElements){var activatedScriptElement=this.createScriptElement(inertScriptElement);inertScriptElement.replaceWith(activatedScriptElement)}}assignNewBody(){document.body&&this.newElement instanceof HTMLBodyElement?document.body.replaceWith(this.newElement):document.documentElement.appendChild(this.newElement)}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")}}class SnapshotCache{constructor(size){this.keys=[],this.snapshots={},this.size=size}has(location2){return toCacheKey(location2)in this.snapshots}get(location2){var snapshot;if(this.has(location2))return snapshot=this.read(location2),this.touch(location2),snapshot}put(location2,snapshot){return this.write(location2,snapshot),this.touch(location2),snapshot}clear(){this.snapshots={}}read(location2){return this.snapshots[toCacheKey(location2)]}write(location2,snapshot){this.snapshots[toCacheKey(location2)]=snapshot}touch(location2){var location2=toCacheKey(location2),index=this.keys.indexOf(location2);-1<index&&this.keys.splice(index,1),this.keys.unshift(location2),this.trim()}trim(){for(const key of this.keys.splice(this.size))delete this.snapshots[key]}}class PageView extends View{constructor(){super(...arguments),this.snapshotCache=new SnapshotCache(10),this.lastRenderedLocation=new URL(location.href)}renderPage(snapshot,isPreview=!1,willRender=!0){snapshot=new PageRenderer(this.snapshot,snapshot,isPreview,willRender);return this.render(snapshot)}renderError(snapshot){snapshot=new ErrorRenderer(this.snapshot,snapshot,!1);return this.render(snapshot)}clearSnapshotCache(){this.snapshotCache.clear()}cacheSnapshot(){return __async$3(this,null,function*(){var location2,snapshot;if(this.shouldCacheSnapshot)return this.delegate.viewWillCacheSnapshot(),{snapshot,lastRenderedLocation:location2}=this,yield function nextEventLoopTick(){return new Promise(resolve=>setTimeout(()=>resolve(),0))}(),snapshot=snapshot.clone(),this.snapshotCache.put(location2,snapshot),snapshot})}getCachedSnapshotForLocation(location2){return this.snapshotCache.get(location2)}get snapshot(){return PageSnapshot.fromElement(this.element)}get shouldCacheSnapshot(){return this.snapshot.isCacheable}}function extendURLWithDeprecatedProperties(url){Object.defineProperties(url,deprecatedLocationPropertyDescriptors)}const deprecatedLocationPropertyDescriptors={absoluteURL:{get(){return this.toString()}}},session=new class Session{constructor(){this.navigator=new Navigator(this),this.history=new History(this),this.view=new PageView(this,document.documentElement),this.adapter=new BrowserAdapter(this),this.pageObserver=new PageObserver(this),this.cacheObserver=new CacheObserver,this.linkClickObserver=new LinkClickObserver(this),this.formSubmitObserver=new FormSubmitObserver(this),this.scrollObserver=new ScrollObserver(this),this.streamObserver=new StreamObserver(this),this.frameRedirector=new FrameRedirector(document.documentElement),this.drive=!0,this.enabled=!0,this.progressBarDelay=500,this.started=!1}start()(this.pageObserver.start(),this.cacheObserver.start(),this.linkClickObserver.start(),this.formSubmitObserver.start(),this.scrollObserver.start(),this.streamObserver.start(),this.frameRedirector.start(),this.history.start(),this.started=!0,this.enabled=!0)disable(){this.enabled=!1}stop(){this.started&&(this.pageObserver.stop(),this.cacheObserver.stop(),this.linkClickObserver.stop(),this.formSubmitObserver.stop(),this.scrollObserver.stop(),this.streamObserver.stop(),this.frameRedirector.stop(),this.history.stop(),this.started=!1)}registerAdapter(adapter){this.adapter=adapter}visit(location2,options={}){this.navigator.proposeVisit(expandURL(location2),options)}connectStreamSource(source){this.streamObserver.connectStreamSource(source)}disconnectStreamSource(source){this.streamObserver.disconnectStreamSource(source)}renderStreamMessage(message){document.documentElement.appendChild(StreamMessage.wrap(message).fragment)}clearCache(){this.view.clearSnapshotCache()}setProgressBarDelay(delay){this.progressBarDelay=delay}get location(){return this.history.location}get restorationIdentifier(){return this.history.restorationIdentifier}historyPoppedToLocationWithRestorationIdentifier(location2,restorationIdentifier){this.enabled?this.navigator.startVisit(location2,restorationIdentifier,{action:"restore",historyChanged:!0}):this.adapter.pageInvalidated()}scrollPositionChanged(position){this.history.updateRestorationData({scrollPosition:position})}willFollowLinkToLocation(link,location2){return this.elementDriveEnabled(link)&&locationIsVisitable(location2,this.snapshot.rootLocation)&&this.applicationAllowsFollowingLinkToLocation(link,location2)}followedLinkToLocation(link,location2){var action=this.getActionForLink(link);this.convertLinkWithMethodClickToFormSubmission(link)||this.visit(location2.href,{action:action})}convertLinkWithMethodClickToFormSubmission(link){var linkMethod=link.getAttribute("data-turbo-method");if(linkMethod){const form=document.createElement("form");form.method=linkMethod,form.action=link.getAttribute("href")||"undefined",form.hidden=!0,link.hasAttribute("data-turbo-confirm")&&form.setAttribute("data-turbo-confirm",link.getAttribute("data-turbo-confirm"));linkMethod=this.getTargetFrameForLink(link);return linkMethod?(form.setAttribute("data-turbo-frame",linkMethod),form.addEventListener("turbo:submit-start",()=>form.remove())):form.addEventListener("submit",()=>form.remove()),document.body.appendChild(form),dispatch("submit",{cancelable:!0,target:form})}return!1}allowsVisitingLocationWithAction(location2,action)visitProposedToLocation(location2,options){extendURLWithDeprecatedProperties(location2),this.adapter.visitProposedToLocation(location2,options)}visitStarted(visit2)this.notifyApplicationAfterVisitingLocation(visit2.location,visit2.action)visitCompleted(visit2){this.notifyApplicationAfterPageLoad(visit2.getTimingMetrics())}locationWithActionIsSamePage(location2,action){return this.navigator.locationWithActionIsSamePage(location2,action)}visitScrolledToSamePageLocation(oldURL,newURL){this.notifyApplicationAfterVisitingSamePageLocation(oldURL,newURL)}willSubmitForm(form,submitter)this.elementDriveEnabled(submitter))&&locationIsVisitable(expandURL(action),this.snapshot.rootLocation)formSubmitted(form,submitter){this.navigator.submitForm(form,submitter)}pageBecameInteractive(){this.view.lastRenderedLocation=this.location,this.notifyApplicationAfterPageLoad()}pageLoaded(){this.history.assumeControlOfScrollRestoration()}pageWillUnload(){this.history.relinquishControlOfScrollRestoration()}receivedMessageFromStream(message){this.renderStreamMessage(message)}viewWillCacheSnapshot()allowsImmediateRender({element},resume){return!this.notifyApplicationBeforeRender(element,resume).defaultPrevented}viewRenderedSnapshot(snapshot,isPreview){this.view.lastRenderedLocation=this.history.location,this.notifyApplicationAfterRender()}viewInvalidated(){this.adapter.pageInvalidated()}frameLoaded(frame){this.notifyApplicationAfterFrameLoad(frame)}frameRendered(fetchResponse,frame){this.notifyApplicationAfterFrameRender(fetchResponse,frame)}applicationAllowsFollowingLinkToLocation(link,location2){return!this.notifyApplicationAfterClickingLinkToLocation(link,location2).defaultPrevented}applicationAllowsVisitingLocation(location2){return!this.notifyApplicationBeforeVisitingLocation(location2).defaultPrevented}notifyApplicationAfterClickingLinkToLocation(link,location2){return dispatch("turbo:click",{target:link,detail:{url:location2.href},cancelable:!0})}notifyApplicationBeforeVisitingLocation(location2){return dispatch("turbo:before-visit",{detail:{url:location2.href},cancelable:!0})}notifyApplicationAfterVisitingLocation(location2,action){return markAsBusy(document.documentElement),dispatch("turbo:visit",{detail:{url:location2.href,action:action}})}notifyApplicationBeforeCachingSnapshot(){return dispatch("turbo:before-cache")}notifyApplicationBeforeRender(newBody,resume){return dispatch("turbo:before-render",{detail:{newBody:newBody,resume:resume},cancelable:!0})}notifyApplicationAfterRender(){return dispatch("turbo:render")}notifyApplicationAfterPageLoad(timing={}){return clearBusyState(document.documentElement),dispatch("turbo:load",{detail:{url:this.location.href,timing:timing}})}notifyApplicationAfterVisitingSamePageLocation(oldURL,newURL){dispatchEvent(new HashChangeEvent("hashchange",{oldURL:oldURL.toString(),newURL:newURL.toString()}))}notifyApplicationAfterFrameLoad(frame){return dispatch("turbo:frame-load",{target:frame})}notifyApplicationAfterFrameRender(fetchResponse,frame){return dispatch("turbo:frame-render",{detail:{fetchResponse:fetchResponse},target:frame,cancelable:!0})}elementDriveEnabled(element)"false"!=element.getAttribute("data-turbo"):!!element&&"true"==element.getAttribute("data-turbo")getActionForLink(link){link=link.getAttribute("data-turbo-action");return isAction(link)?link:"advance"}getTargetFrameForLink(link)get snapshot(){return this.view.snapshot}};var prototype=session["navigator"];function start(){session.start()}function registerAdapter(adapter){session.registerAdapter(adapter)}function visit(location2,options){session.visit(location2,options)}function connectStreamSource(source){session.connectStreamSource(source)}function disconnectStreamSource(source){session.disconnectStreamSource(source)}function renderStreamMessage(message){session.renderStreamMessage(message)}function clearCache(){session.clearCache()}function setProgressBarDelay(delay){session.setProgressBarDelay(delay)}function setConfirmMethod(confirmMethod){FormSubmission.confirmMethod=confirmMethod}var Turbo=Object.freeze({__proto__:null,navigator:prototype,session:session,PageRenderer:PageRenderer,PageSnapshot:PageSnapshot,start:start,registerAdapter:registerAdapter,visit:visit,connectStreamSource:connectStreamSource,disconnectStreamSource:disconnectStreamSource,renderStreamMessage:renderStreamMessage,clearCache:clearCache,setProgressBarDelay:setProgressBarDelay,setConfirmMethod:setConfirmMethod});class SnapshotSubstitution{constructor(element){this.visitCachedSnapshot=({element:element2})=>{var{id,clone}=this;null!=(element2=element2.querySelector("#"+id))&&element2.replaceWith(clone)},this.clone=element.cloneNode(!0),this.id=element.id}}function getFrameElementById(id){if(null!=id){id=document.getElementById(id);if(id instanceof FrameElement)return id}}function activateElement(element,currentURL){if(element){var src=element.getAttribute("src");if(null!=src&&null!=currentURL&&function urlsAreEqual(left,right){return expandURL(left).href==expandURL(right).href}(src,currentURL))throw new Error(`Matching <turbo-frame id="${element.id}"> element has a source URL which references itself`);if((element=element.ownerDocument!==document?document.importNode(element,!0):element)instanceof FrameElement)return element.connectedCallback(),element.disconnectedCallback(),element}}const StreamActions={after(){this.targetElements.forEach(e=>{var _a;return null==(_a=e.parentElement)?void 0:_a.insertBefore(this.templateContent,e.nextSibling)})},append(){this.removeDuplicateTargetChildren(),this.targetElements.forEach(e=>e.append(this.templateContent))},before(){this.targetElements.forEach(e=>{var _a;return null==(_a=e.parentElement)?void 0:_a.insertBefore(this.templateContent,e)})},prepend(){this.removeDuplicateTargetChildren(),this.targetElements.forEach(e=>e.prepend(this.templateContent))},remove(){this.targetElements.forEach(e=>e.remove())},replace(){this.targetElements.forEach(e=>e.replaceWith(this.templateContent))},update(){this.targetElements.forEach(e=>{e.innerHTML="",e.append(this.templateContent)})}};class StreamElement extends HTMLElement{connectedCallback(){return __async$3(this,null,function*(){try{yield this.render()}catch(error){console.error(error)}finally{this.disconnect()}})}render(){return __async$3(this,null,function*(){var _a;return null!=(_a=this.renderPromise)?_a:this.renderPromise=__async$3(this,null,function*(){this.dispatchEvent(this.beforeRenderEvent)&&(yield nextAnimationFrame(),this.performAction())})})}disconnect(){try{this.remove()}catch(_a){}}removeDuplicateTargetChildren(){this.duplicateChildren.forEach(c=>c.remove())}get duplicateChildren(){var _a,existingChildren=this.targetElements.flatMap(e=>[...e.children]).filter(c=>!!c.id);const newChildrenIds=[...null==(_a=this.templateContent)?void 0:_a.children].filter(c=>!!c.id).map(c=>c.id);return existingChildren.filter(c=>newChildrenIds.includes(c.id))}get performAction(){if(this.action){var actionFunction=StreamActions[this.action];if(actionFunction)return actionFunction;this.raise("unknown action")}this.raise("action attribute is missing")}get targetElements(){return this.target?this.targetElementsById:this.targets?this.targetElementsByQuery:void this.raise("target or targets attribute is missing")}get templateContent(){return this.templateElement.content.cloneNode(!0)}get templateElement(){if(this.firstElementChild instanceof HTMLTemplateElement)return this.firstElementChild;this.raise("first child element must be a <template> element")}get action(){return this.getAttribute("action")}get target(){return this.getAttribute("target")}get targets(){return this.getAttribute("targets")}raise(message){throw new Error(this.description+": "+message)}get description(){var _a;return null!=(_a=(null!=(_a=this.outerHTML.match(/<[^>]+>/))?_a:[])[0])?_a:"<turbo-stream>"}get beforeRenderEvent(){return new CustomEvent("turbo:before-stream-render",{bubbles:!0,cancelable:!0})}get targetElementsById(){var _a=null==(_a=this.ownerDocument)?void 0:_a.getElementById(this.target);return null!==_a?[_a]:[]}get targetElementsByQuery(){var _a=null==(_a=this.ownerDocument)?void 0:_a.querySelectorAll(this.targets);return 0!==_a.length?Array.prototype.slice.call(_a):[]}}FrameElement.delegateConstructor=class FrameController{constructor(element){this.fetchResponseLoaded=fetchResponse=>{},this.currentFetchRequest=null,this.resolveVisitPromise=()=>{},this.connected=!1,this.hasBeenLoaded=!1,this.settingSourceURL=!1,this.element=element,this.view=new FrameView(this,this.element),this.appearanceObserver=new AppearanceObserver(this,this.element),this.linkInterceptor=new LinkInterceptor(this,this.element),this.formInterceptor=new FormInterceptor(this,this.element)}connect()(this.connected=!0,this.reloadable=!1,this.loadingStyle==FrameLoadingStyle.lazy&&this.appearanceObserver.start(),this.linkInterceptor.start(),this.formInterceptor.start(),this.sourceURLChanged())disconnect(){this.connected&&(this.connected=!1,this.appearanceObserver.stop(),this.linkInterceptor.stop(),this.formInterceptor.stop())}disabledChanged(){this.loadingStyle==FrameLoadingStyle.eager&&this.loadSourceURL()}sourceURLChanged()this.loadSourceURL()loadingStyleChanged(){this.loadingStyle==FrameLoadingStyle.lazy?this.appearanceObserver.start():(this.appearanceObserver.stop(),this.loadSourceURL())}loadSourceURL(){return __async$3(this,null,function*(){if(!this.settingSourceURL&&this.enabled&&this.isActive&&(this.reloadable||this.sourceURL!=this.currentURL)){var previousURL=this.currentURL;if(this.currentURL=this.sourceURL,this.sourceURL)try{this.element.loaded=this.visit(expandURL(this.sourceURL)),this.appearanceObserver.stop(),yield this.element.loaded,this.hasBeenLoaded=!0}catch(error){throw this.currentURL=previousURL,error}}})}loadResponse(fetchResponse){return __async$3(this,null,function*(){(fetchResponse.redirected||fetchResponse.succeeded&&fetchResponse.isHTML)&&(this.sourceURL=fetchResponse.response.url);try{var body,snapshot,renderer,html=yield fetchResponse.responseHTML;html&&(body=parseHTMLDocument(html)["body"],snapshot=new Snapshot(yield this.extractForeignFrameElement(body)),renderer=new FrameRenderer(this.view.snapshot,snapshot,!1,!1),this.view.renderPromise&&(yield this.view.renderPromise),yield this.view.render(renderer),session.frameRendered(fetchResponse,this.element),session.frameLoaded(this.element),this.fetchResponseLoaded(fetchResponse))}catch(error){console.error(error),this.view.invalidate()}finally{this.fetchResponseLoaded=()=>{}}})}elementAppearedInViewport(element){this.loadSourceURL()}shouldInterceptLinkClick(element,url){return!element.hasAttribute("data-turbo-method")&&this.shouldInterceptNavigation(element)}linkClickIntercepted(element,url){this.reloadable=!0,this.navigateFrame(element,url)}shouldInterceptFormSubmission(element,submitter){return this.shouldInterceptNavigation(element,submitter)}formSubmissionIntercepted(element,submitter){this.formSubmission&&this.formSubmission.stop(),this.reloadable=!1,this.formSubmission=new FormSubmission(this,element,submitter);element=this.formSubmission.fetchRequest;this.prepareHeadersForRequest(element.headers,element),this.formSubmission.start()}prepareHeadersForRequest(headers,request){headers["Turbo-Frame"]=this.id}requestStarted(request){markAsBusy(this.element)}requestPreventedHandlingResponse(request,response){this.resolveVisitPromise()}requestSucceededWithResponse(request,response){return __async$3(this,null,function*(){yield this.loadResponse(response),this.resolveVisitPromise()})}requestFailedWithResponse(request,response){console.error(response),this.resolveVisitPromise()}requestErrored(request,error){console.error(error),this.resolveVisitPromise()}requestFinished(request){clearBusyState(this.element)}formSubmissionStarted({formElement}){markAsBusy(formElement,this.findFrameElement(formElement))}formSubmissionSucceededWithResponse(formSubmission,response){var frame=this.findFrameElement(formSubmission.formElement,formSubmission.submitter);this.proposeVisitIfNavigatedWithAction(frame,formSubmission.formElement,formSubmission.submitter),frame.delegate.loadResponse(response)}formSubmissionFailedWithResponse(formSubmission,fetchResponse){this.element.delegate.loadResponse(fetchResponse)}formSubmissionErrored(formSubmission,error){console.error(error)}formSubmissionFinished({formElement}){clearBusyState(formElement,this.findFrameElement(formElement))}allowsImmediateRender(snapshot,resume){return!0}viewRenderedSnapshot(snapshot,isPreview){}viewInvalidated(){}visit(url){return __async$3(this,null,function*(){var _a;const request=new FetchRequest(this,FetchMethod.get,url,new URLSearchParams,this.element);return null!=(_a=this.currentFetchRequest)&&_a.cancel(),this.currentFetchRequest=request,new Promise(resolve=>{this.resolveVisitPromise=()=>{this.resolveVisitPromise=()=>{},this.currentFetchRequest=null,resolve()},request.perform()})})}navigateFrame(element,url,submitter){var frame=this.findFrameElement(element,submitter);this.proposeVisitIfNavigatedWithAction(frame,element,submitter),frame.setAttribute("reloadable",""),frame.src=url}proposeVisitIfNavigatedWithAction(frame,element,submitter){const action=getAttribute("data-turbo-action",submitter,element,frame);if(isAction(action)){const visitCachedSnapshot=new SnapshotSubstitution(frame)["visitCachedSnapshot"];frame.delegate.fetchResponseLoaded=fetchResponse=>{var redirected;frame.src&&({statusCode:fetchResponse,redirected}=fetchResponse,fetchResponse={statusCode:fetchResponse,redirected:redirected,responseHTML:frame.ownerDocument.documentElement.outerHTML},session.visit(frame.src,{action:action,response:fetchResponse,visitCachedSnapshot:visitCachedSnapshot,willRender:!1}))}}}findFrameElement(element,submitter)this.element.getAttribute("target")))?submitter:this.elementextractForeignFrameElement(container){return __async$3(this,null,function*(){var element,id=CSS.escape(this.id);try{if(element=activateElement(container.querySelector("turbo-frame#"+id),this.currentURL))return element;if(element=activateElement(container.querySelector(`turbo-frame[src][recurse~=${id}]`),this.currentURL))return yield element.loaded,yield this.extractForeignFrameElement(element);console.error(`Response has no matching <turbo-frame id="${id}"> element`)}catch(error){console.error(error)}return new FrameElement})}formActionIsVisitable(form,submitter){return locationIsVisitable(expandURL(getAction(form,submitter)),this.rootLocation)}shouldInterceptNavigation(element,submitter){var id=getAttribute("data-turbo-frame",submitter,element)||this.element.getAttribute("target");if(element instanceof HTMLFormElement&&!this.formActionIsVisitable(element,submitter))return!1;if(!this.enabled||"_top"==id)return!1;if(id){id=getFrameElementById(id);if(id)return!id.disabled}return!!session.elementDriveEnabled(element)&&!(submitter&&!session.elementDriveEnabled(submitter))}get id(){return this.element.id}get enabled(){return!this.element.disabled}get sourceURL(){if(this.element.src)return this.element.src}get reloadable(){return this.findFrameElement(this.element).hasAttribute("reloadable")}set reloadable(value){var frame=this.findFrameElement(this.element);value?frame.setAttribute("reloadable",""):frame.removeAttribute("reloadable")}set sourceURL(sourceURL){this.settingSourceURL=!0,this.element.src=null!=sourceURL?sourceURL:null,this.currentURL=this.element.src,this.settingSourceURL=!1}get loadingStyle(){return this.element.loading}get isLoading()void 0!==this.resolveVisitPromise()get isActive(){return this.element.isActive&&this.connected}get rootLocation(){var meta=this.element.ownerDocument.querySelector('meta[name="turbo-root"]');return expandURL(null!=(meta=null==meta?void 0:meta.content)?meta:"/")}},customElements.define("turbo-frame",FrameElement),customElements.define("turbo-stream",StreamElement),(()=>{let element=document.currentScript;if(element&&!element.hasAttribute("data-turbo-suppress-warning"))for(;element=element.parentElement;)if(element==document.body)return console.warn(unindent` You are loading Turbo from a <script> element inside the <body> element. This is probably not what you meant to do! Load your application’s JavaScript bundle inside the <head> element instead. <script> elements in <body> are evaluated with each page change. For more information, see: https://turbo.hotwired.dev/handbook/building#working-with-script-elements —— Suppress this warning by adding a "data-turbo-suppress-warning" attribute to: %s `,element.outerHTML)})(),window.Turbo=Turbo,start();Turbo=Object.freeze({__proto__:null,PageRenderer:PageRenderer,PageSnapshot:PageSnapshot,clearCache:clearCache,connectStreamSource:connectStreamSource,disconnectStreamSource:disconnectStreamSource,navigator:prototype,registerAdapter:registerAdapter,renderStreamMessage:renderStreamMessage,session:session,setConfirmMethod:setConfirmMethod,setProgressBarDelay:setProgressBarDelay,start:start,visit:visit});function createSingleton(removeOnTurboVisit=!1){return function(target,name,descriptor){const original=descriptor.value;return descriptor.value=(...args)=>{var _a;window.DFX_SINGLETONS=null!=(_a=window.DFX_SINGLETONS)?_a:{};const instanceId=target.prototype.constructor.name+":"+name;if(removeOnTurboVisit){const turboCallback=()=>{window.DFX_SINGLETONS[instanceId]&&(window.DFX_SINGLETONS[instanceId]=null),document.removeEventListener("turbo:visit",turboCallback)};document.addEventListener("turbo:visit",turboCallback)}return window.DFX_SINGLETONS[instanceId]||(_a=original.apply(this,args),Object.defineProperty(window.DFX_SINGLETONS,instanceId,{value:_a,writable:!0}),_a)},descriptor}}class DfxLocalStorageCookieManager{constructor(localStorage){this.localStorage=localStorage,this.localStorage=localStorage;try{this.localStorage.setItem("test","test"),this.localStorage.removeItem("test"),this.isLocalStorageAvailable=!0}catch(e){this.isLocalStorageAvailable=!1}}getCookie(name){return(name=name&&document.cookie.match(new RegExp(`(?:^|; )${name.replace(/([.$?*|{}()[]/+^])/g,"$1")}=([^;]*)`)))?decodeURIComponent(name[1]):void 0}setCookie(name,value,expires,domain,secure=!0){let cookieString=name+"="+value;"string"==typeof expires&&(cookieString+=";expires="+expires),"string"==typeof domain&&(cookieString+=";domain="+domain),cookieString+="; path=/",secure&&"https:"===location.protocol&&(cookieString+="; secure"),document.cookie=cookieString}deleteCookie(name){this.setCookie(name,"","Thu, 01 Jan 1970 00:00:00 UTC")}getLocalStorageOrCookie(name){var _a;return this.isLocalStorageAvailable&&null!=(_a=this.localStorage.getItem(name))?_a:this.getCookie(name)}setLocalStorageOrCookie(name,value,expires,domain){this.isLocalStorageAvailable?this.localStorage.setItem(name,value):this.setCookie(name,value,expires,domain)}deleteLocalStorageOrCookie(name){this.isLocalStorageAvailable?this.localStorage.removeItem(name):this.deleteCookie(name)}}var __defProp$5=Object.defineProperty,__getOwnPropDesc$5=Object.getOwnPropertyDescriptor;class DfxLocalStorageCookieManagerFactory{static create(){return new DfxLocalStorageCookieManager(window.localStorage)}}((decorators,target,key,kind)=>)([createSingleton()],DfxLocalStorageCookieManagerFactory,"create",1);class DfxGdprChecker{constructor(dfxLocalStorageCookieManager){this.dfxLocalStorageCookieManager=dfxLocalStorageCookieManager}getLevel()checkLevel(level){return this.getLevel()>=level}normalizeValue(value){let intValue=parseInt(value);return intValue=isNaN(intValue)?3:intValue}}var __defProp$4=Object.defineProperty,__getOwnPropDesc$4=Object.getOwnPropertyDescriptor;class DfxGdprCheckerFactory{static create(){return new DfxGdprChecker(DfxLocalStorageCookieManagerFactory.create())}}((decorators,target,key,kind)=>)([createSingleton()],DfxGdprCheckerFactory,"create",1);var __async$2=(__this,__arguments,generator)=>new Promise((resolve,reject)=>{var fulfilled=value=>{try{step(generator.next(value))}catch(e){reject(e)}},rejected=value=>{try{step(generator.throw(value))}catch(e){reject(e)}},step=x=>x.done?resolve(x.value):Promise.resolve(x.value).then(fulfilled,rejected);step((generator=generator.apply(__this,__arguments)).next())});const COUNTRIES_TO_REPLACE_MAP=new Map([["GB","UK"]]);class DfxGeoLocation{constructor(geoJsUrl,dfxLocalStorageCookieManager){this.geoJsUrl=geoJsUrl,this.dfxLocalStorageCookieManager=dfxLocalStorageCookieManager}init(){return __async$2(this,null,function*(){var redirectData=yield this.getRedirectData();COUNTRIES_TO_REPLACE_MAP.has(redirectData.country)&&(redirectData.country=COUNTRIES_TO_REPLACE_MAP.get(redirectData.country)),this.redirectData=redirectData,this.setBodyClasses().setLocationToStorage()})}getRedirectData(){return __async$2(this,null,function*()((redirectData=this.getLocationFromStorage())?(this.redirectData=redirectData,this.redirectData):this.loadRedirectData()))}loadRedirectData(){return new Promise(resolve=>{var script=document.createElement("script");script.onload=()=>{this.redirectData=window.redirectData,resolve(this.redirectData)},script.setAttribute("src",this.geoJsUrl),document.head.appendChild(script)})}setBodyClasses(){const countryCode=this.redirectData.country.toLowerCase();return document.body?(document.body.classList.remove("dfx-country-pending"),document.body.classList.add("dfx-country-"+countryCode)):document.addEventListener("DOMContentLoaded",()=>{document.body.classList.remove("dfx-country-pending"),document.body.classList.add("dfx-country-"+countryCode)},!1),this}getLocationFromStorage(){var expiresIn=this.dfxLocalStorageCookieManager.getLocalStorageOrCookie("dfx-redirectData_expiresIn");return!!(expiresIn&&parseInt(expiresIn)>Date.now())&&JSON.parse(null!=(expiresIn=this.dfxLocalStorageCookieManager.getLocalStorageOrCookie("dfx-redirectData"))?expiresIn:"false")}setLocationToStorage(){var date=new Date;return date.setTime(date.getTime()+6048e5),this.dfxLocalStorageCookieManager.setLocalStorageOrCookie("dfx-redirectData",JSON.stringify(this.redirectData),date.toUTCString()),this.dfxLocalStorageCookieManager.setLocalStorageOrCookie("dfx-redirectData_expiresIn",""+date.getTime(),date.toUTCString()),this}}var __defProp$3=Object.defineProperty,__getOwnPropDesc$3=Object.getOwnPropertyDescriptor;class DfxGeoLocationFactory{static create(){return new DfxGeoLocation(window.DFX_ENDPOINTS.geoJs,DfxLocalStorageCookieManagerFactory.create())}}((decorators,target,key,kind)=>)([createSingleton()],DfxGeoLocationFactory,"create",1);const STATES={OFF:"off",LOADING:"loading",READY:"ready"},TRACKINGS={FACEBOOK_PIXEL:"pixel",GPT:"GPT",GTM:"GTM",TABOOLA_PIXEL:"taboola_pixel",BAIDU:"baidu",TWITTER_PIXEL:"twitter_pixel"};class DfxThirdPartyManager{constructor(dfxGdprChecker,dfxLocalStorageCookieManager,facebookPixelId,tagManagerId,tagManagerParams,taboolaPixelId,allowedTrackingsConfig,config){this.config=config,this.allowedTrackingsConfig=allowedTrackingsConfig,this.dfxGdprChecker=dfxGdprChecker,this.dfxLocalStorageCookieManager=dfxLocalStorageCookieManager,this.facebookPixelId=facebookPixelId,this.tagManagerId=tagManagerId,this.tagManagerParams=tagManagerParams,this.taboolaPixelId=taboolaPixelId,this._setDefaultStates()._resetAssetClasses()._resetInstruments()._resetCategories(),document.addEventListener("turbo:visit",()=>{this._resetAssetClasses()._resetInstruments()._resetCategories()})}_setDefaultStates(){return this.baiduState=STATES.OFF,this.pixelState=STATES.OFF,this.gptState=STATES.OFF,this.gtmState=STATES.OFF,this.taboolaState=STATES.OFF,this}_resetInstruments(){return this.gptInstrumentPairs=new Set,this}_resetCategories(){return this.gptCategories={category:"",subCategory:""},this}_resetAssetClasses(){return this.gptAssetClasses=new Set,this}createFacebookPixel(){var loadCallback,b,e,n,f;return this.dfxGdprChecker.checkLevel(3)&&this.allowedTrackingsConfig[TRACKINGS.FACEBOOK_PIXEL]&&this.pixelState===STATES.OFF&&(this.pixelState=STATES.LOADING,loadCallback=()=>{this.pixelState=STATES.READY},f=window,b=document,e="script",f.fbq||(n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)},f._fbq||(f._fbq=n),(n.push=n).loaded=!0,n.version="2.0",n.queue=[],(f=b.createElement(e)).async=!0,f.onload=loadCallback,f.src="https://connect.facebook.net/en_US/fbevents.js",(loadCallback=b.getElementsByTagName(e)[0]).parentNode.insertBefore(f,loadCallback)),this.fbq=window.fbq,this.fbq("init",this.facebookPixelId)),this}facebookPixelTrack(type){return this.dfxGdprChecker.checkLevel(3)&&this.allowedTrackingsConfig[TRACKINGS.FACEBOOK_PIXEL]&&(this.pixelState===STATES.OFF&&this.createFacebookPixel(),this.fbq("track",type)),this}facebookPixelTrackPageView(){return this.dfxGdprChecker.checkLevel(3)&&this.facebookPixelTrack("PageView"),this}facebookPixelTrackLead(){return this.dfxGdprChecker.checkLevel(3)&&this.facebookPixelTrack("Lead"),this}createGTM(){if(this.dfxGdprChecker.checkLevel(1)&&this.allowedTrackingsConfig[TRACKINGS.GTM]&&this.gtmState===STATES.OFF){this.gtmState=STATES.LOADING;const scriptOnload=()=>{this.gtmState=STATES.READY};var w=window,d=document,s="script",l="dataLayer",i=this.tagManagerId,p=this.tagManagerParams;w[l]=w[l]||[],w[l].push({"gtm.start":(new Date).getTime(),event:"gtm.js"}),w=d.getElementsByTagName(s)[0],(l=d.createElement(s)).async=!0,l.src="https://www.googletagmanager.com/gtm.js?id="+i+p,l.onload=scriptOnload,w.parentNode.insertBefore(l,w)}return this}createTwitterPixel(){var n,s,e,t;return this.dfxGdprChecker.checkLevel(3)&&this.allowedTrackingsConfig[TRACKINGS.TWITTER_PIXEL]&&(e=window,t=document,n="script",e.twq||((s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments)}).version="1.1",s.queue=[],(e=t.createElement(n)).async=!0,e.src="https://static.ads-twitter.com/uwt.js",(t=t.getElementsByTagName(n)[0]).parentNode.insertBefore(e,t)),twq("init","o92un"),twq("track","PageView")),this}createGPT(){if(this.dfxGdprChecker.checkLevel(1)&&this.allowedTrackingsConfig[TRACKINGS.GPT]&&this.gptState===STATES.OFF){this.gptState=STATES.LOADING;const scriptOnload=()=>{this.gptState=STATES.READY};var gads,useSSL,googletag=window.googletag||{cmd:[]};(gads=document.createElement("script")).async=!0,gads.type="text/javascript",useSSL="https:"===document.location.protocol,gads.src=(useSSL?"https:":"http:")+"//www.googletagservices.com/tag/js/gpt.js",gads.onload=scriptOnload,(useSSL=document.getElementsByTagName("script")[0]).parentNode.insertBefore(gads,useSSL),window.googletag=window.googletag||googletag}return this}trackGTMpageLoadEvent(){return this.dfxGdprChecker.checkLevel(1)&&(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"turboPageView",virtualUrl:window.location.pathname})),this}createBaiduTracking(){var s,hm,curProtocol;return this.dfxGdprChecker.checkLevel(2)&&this.allowedTrackingsConfig[TRACKINGS.BAIDU]&&this.baiduState!==STATES.READY&&((hm=document.createElement("script")).src="https://hm.baidu.com/hm.js?961aa7f85d30d676f24a6f928c035b90",(s=document.getElementsByTagName("script")[0]).parentNode.insertBefore(hm,s),hm=document.createElement("script"),curProtocol=window.location.protocol.split(":")[0],hm.src="https"===curProtocol?"https://zz.bdstatic.com/linksubmit/push.js":"http://push.zhanzhang.baidu.com/push.js",(curProtocol=document.getElementsByTagName("script")[0]).parentNode.insertBefore(hm,curProtocol),this.baiduState=STATES.READY),this}addGptAssetClasses(assetClasses){if(Array.isArray(assetClasses))return assetClasses.forEach(assetClass=>this.gptAssetClasses.add(assetClass)),this;throw new TypeError("Param assetClasses must be an Array")}addGptInstrumentPairs(pairs){if(Array.isArray(pairs))return pairs.forEach(assetClass=>this.gptInstrumentPairs.add(assetClass)),this;throw new TypeError("Param pairs must be an Array")}addGptCategories(category="",subCategory=""){this.gptCategories={category:category,subCategory:subCategory}}getGptAssetClasses(){return this.gptAssetClasses}getGptInstrumentPairs(){return this.gptInstrumentPairs}getGptCategory(){return this.gptCategories.category}getGptSubCategory(){return this.gptCategories.subCategory}createTaboolaPixel(){if(this.dfxGdprChecker.checkLevel(3)&&this.allowedTrackingsConfig[TRACKINGS.TABOOLA_PIXEL]&&this.taboolaState===STATES.OFF){this.taboolaState=STATES.LOADING;const scriptOnload=()=>{this.taboolaState=STATES.READY};var t,f,x;window._tfa=window._tfa||[],window._tfa.push({notify:"event",name:"page_view",id:this.taboolaPixelId}),this.tfa=window._tfa,t=document.createElement("script"),f=document.getElementsByTagName("script")[0],x="tb_tfa_script",document.getElementById(x)||(t.async=1,t.src="https://cdn.taboola.com/libtrc/unip/1350268/tfa.js",t.id=x,t.onload=scriptOnload,f.parentNode.insertBefore(t,f))}return this}taboolaPixelTrack(eventName){return this.dfxGdprChecker.checkLevel(3)&&this.allowedTrackingsConfig[TRACKINGS.TABOOLA_PIXEL]&&(this.pixelState===STATES.OFF&&this.createTaboolaPixel(),this.tfa.push({notify:"event",name:eventName,id:this.taboolaPixelId})),this}}class DfxConfig{constructor(config){this.config=config}get(key){return this.config.get(key)}set(key,value)}var __defProp$2=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor;class DfxConfigFactory{static create(){var mergedConfig=Object.assign({},window.DFX_CONFIG,window.DFX_ENDPOINTS),mergedConfig=new Map(Object.entries(mergedConfig));return new DfxConfig(mergedConfig)}}((decorators,target,key,kind)=>)([createSingleton()],DfxConfigFactory,"create",1);var __defProp$1=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor;class DfxThirdPartyManagerFactory{static create(allowedTrackingsConfig,config=window.DFX_CONFIG){var dfxConfig=DfxConfigFactory.create();return new DfxThirdPartyManager(DfxGdprCheckerFactory.create(),DfxLocalStorageCookieManagerFactory.create(),dfxConfig.get("facebookPixelId"),dfxConfig.get("tagManagerId"),dfxConfig.get("tagManagerParams"),dfxConfig.get("taboolaPixelId"),allowedTrackingsConfig,config)}}((decorators,target,key,kind)=>)([createSingleton()],DfxThirdPartyManagerFactory,"create",1);class DfxFonts{constructor(document){this.document=document,this.document.fonts&&(this.document.documentElement.classList.add("dfx-fonts-loading"),this.removeFontsLoading())}removeFontsLoading(){return __this=this,__arguments=null,generator=function*(){yield this.document.fonts.ready,this.document.documentElement.classList.remove("dfx-fonts-loading")},new Promise((resolve,reject)=>{var fulfilled=value=>{try{step(generator.next(value))}catch(e){reject(e)}},rejected=value=>{try{step(generator.throw(value))}catch(e){reject(e)}},step=x=>x.done?resolve(x.value):Promise.resolve(x.value).then(fulfilled,rejected);step((generator=generator.apply(__this,__arguments)).next())});var __this,__arguments,generator}}var prototype=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor;class DfxFontsFactory{static create(){return new DfxFonts(document)}}for(var decorator,decorators=[createSingleton()],target=DfxFontsFactory,key="create",kind=1,result=1<kind?void 0:kind?__getOwnPropDesc(target,key):target,i=decorators.length-1;0<=i;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);kind&&result&&prototype(target,key,result);"undefined"==typeof process&&Object.defineProperty(window,"process",{value:{env:{NODE_ENV:"production"}},writable:!0}),DfxFontsFactory.create();__getOwnPropDesc=DfxGdprCheckerFactory.create();const loadScripts=()=>{return __this=window,__arguments=null,generator=function*(){try{var noscript=document.querySelector("noscript.jsdfx-script");if(noscript){const imports=yield window.System.import(noscript.getAttribute("data-src"));Object.keys(imports).forEach(key=>{window[key]=imports[key]}),window.runStacked()}}catch(error){console.error(error)}},new Promise((resolve,reject)=>{var fulfilled=value=>{try{step(generator.next(value))}catch(e){reject(e)}},rejected=value=>{try{step(generator.throw(value))}catch(e){reject(e)}},step=x=>x.done?resolve(x.value):Promise.resolve(x.value).then(fulfilled,rejected);step((generator=generator.apply(__this,__arguments)).next())});var __this,__arguments,generator};document.addEventListener("turbo:load",()=>loadScripts()),window.turbo=Turbo,start(),DfxGeoLocationFactory.create().init(),exports.DfxGdprChecker=__getOwnPropDesc,exports.DfxGdprCheckerFactory=DfxGdprCheckerFactory,exports.DfxGeoLocationFactory=DfxGeoLocationFactory,exports.DfxThirdPartyManagerFactory=DfxThirdPartyManagerFactory,Object.defineProperty(exports,"__esModule",{value:!0})}(this.window=this.window||{}); </script> <br>[ad_2] <br><a href="https://news.google.com/__i/rss/rd/articles/CBMib2h0dHBzOi8vd3d3LmRhaWx5ZnguY29tL25ld3MvYml0Y29pbi1idGMtdXNkLXJ1bm5pbmctaW50by1yZXNpc3RhbmNlLWV0aGVyZXVtLWV0aC11c2Qtb3V0cGVyZm9ybXMtMjAyMzAxMDkuaHRtbNIBc2h0dHBzOi8vd3d3LmRhaWx5ZnguY29tL25ld3MvYml0Y29pbi1idGMtdXNkLXJ1bm5pbmctaW50by1yZXNpc3RhbmNlLWV0aGVyZXVtLWV0aC11c2Qtb3V0cGVyZm9ybXMtMjAyMzAxMDkuaHRtbC9hbXA?oc=5">Source link </a>