[ad_1] <br><div> <article><h2 id="bitcoin-btcusd-talking-points">Bitcoin (BTC/USD) Speaking Factors:</h2><ul><li><a target="_blank" href="https://www.dailyfx.com/bitcoin" title="Bitcoin" rel="noopener">Bitcoin</a> trades sideways as technical ranges of historic strikes agency</li><li>BTC/<a target="_blank" href="https://www.dailyfx.com/usd" title="USD" rel="noopener">USD</a> edges decrease forward of US <a target="_blank" href="https://www.dailyfx.com/economic-calendar" rel="noopener">inflation</a></li><li>BTC, <a target="_blank" href="https://www.dailyfx.com/ether-eth" rel="noopener">Ethereum (ETH)</a> and Cardano (ADA) commerce within the crimson – danger urge for food sours</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 mr-md-1 mr-lg-3"> <div class="dfx-inHouseGuideBannerComponent__textWrapper"> <p> Recommended by Tammy Da Costa </p> <p> Get Your Free Bitcoin Forecast </p> </div>
</div> </a> <p><a target="_blank" href="https://www.dailyfx.com/bitcoin" rel="noopener">Bitcoin prices</a> are at present buying and selling between two <a target="_blank" href="https://www.dailyfx.com/education/trading-discipline/trading-psychology.html" rel="noopener">big psychological levels</a> (18,000 & 21,000), which have offered <a target="_blank" href="https://www.dailyfx.com/education/support-and-resistance/psychological-levels-and-round-numbers.html" rel="noopener">support and resistance</a> for each brief and long run strikes.</p><p>With danger sentiment and <a target="_blank" href="https://www.dailyfx.com/education/beginner/interest-rates-and-forex-market.html" rel="noopener">higher rates</a> favoring the safe-haven <a target="_blank" href="https://www.dailyfx.com/us-dollar-index" title="US Dollar" rel="noopener">US Dollar</a>, BTC/<a target="_blank" href="https://www.dailyfx.com/usd" rel="noopener">USD</a> is buying and selling in a range-bound state as costs briefly stabilize round 19,000. As the key cryptocurrency stays weak to <a target="_blank" href="https://www.dailyfx.com/education/macro-fundamentals/how-to-trade-politics.html" rel="noopener">geopolitical risks</a>, technical ranges might present a further catalyst for value motion.</p><h3 id="bitcoin-btcusd-technical-analysis">Bitcoin (BTC/USD) Technical Evaluation</h3><p>From the angle of the weekly chart, a robust decline from the November 2021 excessive of 69,000 fueled a robust sell-off that drove costs to a low of 17,592 in June. A rejection of this degree and of the December 2020 low of 17,569 allowed BTC to rebound earlier than operating into one other huge degree of <a target="_blank" href="https://www.dailyfx.com/education/fibonacci/application-in-financial-markets.html" rel="noopener">Fibonacci resistance</a> (March – June 2022 transfer) at 24,824.</p><a target="_blank" href="https://www.dailyfx.com/free-trading-guides#forecastschoices=TOP" class="dfx-inHouseGuideBannerComponent dfx-inHouseGuideBannerComponent--tradingForecasts dfx-inHouseGuideBannerComponent--3colArticle my-4 " role="button" aria-label="Get My Guide" tabindex="0" data-guide-key="Trading Opportunities" data-image-url="https://a.c-dn.net/b/0WEWFC/500x707Forecast-TopTradingOpportunities.png" data-guide-title="Top Trading Opportunities in Q4" data-guide-description="Our analysts share their forecasts for forex, commodities and indices." data-guide-type="tradingForecasts" data-disclaimer="" data-banner="true" data-title="Top Trading Opportunities in Q4" data-source-type="DFX_EN_Guides" rel="noopener">
<div class="dfx-inHouseGuideBannerComponent__textAndButtonWrapper mr-md-1 mr-lg-3"> <div class="dfx-inHouseGuideBannerComponent__textWrapper"> <p> Recommended by Tammy Da Costa </p> <p> Get Your Free Top Trading Opportunities Forecast </p> </div>
</div> </a> <p><span class="dfx-text-bold">Bitcoin (BTC/USD) Weekly Chart</span></p><a target="_blank" data-popup="true" href="https://a.c-dn.net/b/0hS9ba/image1.png" rel="noopener"><img src="https://a.c-dn.net/b/0hS9ba/image1.png" alt="image1.png" data-image-original-width="1465" data-image-original-height="821" width="1465" height="821" class="dfx-lazyload" style="padding-bottom: calc(821 / 1465 * 100%);"/></a><p><span class="dfx-text-italic">Chart ready by </span><a target="_blank" href="https://www.dailyfx.com/authors/Tammy_Da_Costa" rel="noopener"><span class="dfx-text-italic">Tammy Da Costa</span></a><span class="dfx-text-italic"> utilizing TradingView</span></p><p>Nonetheless, as promoting strain elevated, a transfer again under the 200-week <a target="_blank" href="https://www.dailyfx.com/education/moving-averages" rel="noopener">MA (moving average)</a> allowed bears to drive <a target="_blank" href="https://www.dailyfx.com/education/price-action" rel="noopener">price action</a> again under the 23.6% retracement of the 2020 – 2021 transfer that continues to supply imminent resistance at round 19,225.</p><p>This zone of confluency is additional highlighted on the day by day chart. With trendline resistance from the November excessive holding agency, bulls might want to clear the 20,000 and the 22,000 deal with earlier than transferring again towards 24,000.</p><p><span class="dfx-text-bold">Bitcoin (BTC/USD) Each day Chart</span></p><a target="_blank" data-popup="true" href="https://a.c-dn.net/b/4pTWP1/image2.png" rel="noopener"><img src="https://a.c-dn.net/b/4pTWP1/image2.png" alt="Graphical user interface, chart, line chart Description automatically generated" data-image-original-width="1463" data-image-original-height="825" width="1463" height="825" class="dfx-lazyload" style="padding-bottom: calc(825 / 1463 * 100%);"/></a><p><span class="dfx-text-italic">Chart ready by </span><a target="_blank" href="https://www.dailyfx.com/authors/Tammy_Da_Costa" rel="noopener"><span class="dfx-text-italic">Tammy Da Costa</span></a><span class="dfx-text-italic"> utilizing TradingView</span></p><p>In the meantime, a maintain under 19,225 and 19,000 might enable bears to retest the June low at 17,592, opening the door for bearish continuation.</p><h3 id="bitcoin-further-reading">Bitcoin Additional Studying:</h3><p><span class="dfx-text-bold dfx-text-italic">--- Written by Tammy Da Costa, Analyst for DailyFX.com</span></p><p><span class="dfx-text-bold dfx-text-italic">Contact and observe Tammy on Twitter: </span><a target="_blank" href="https://twitter.com/Tams707" rel="noopener"><span class="dfx-text-bold dfx-text-italic">@Tams707</span></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)"/"===relUrl[0])"/"!==segmented[i+2]&&i+2!==segmented.length?"/"===segmented[i+1]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)(ns[p]=value,changed=!0)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)}},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)xhtml))$/)(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)searchParams.append(name,value);url.search=searchParams.toString()(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=>,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)try(yield renderInterception),yield this.renderSnapshot(renderer),this.delegate.viewRenderedSnapshot(snapshot,isPreview),this.finishRenderingSnapshot(renderer)finally{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)(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()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()(_a=this.location.href===(null==(_a=this.referrer)?void 0:_a.href)?"replace":this.action,_a=this.getHistoryMethodForAction(_a),this.history.update(_a,this.location,this.restorationIdentifier),this.historyChanged=!0)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*()))}}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.isSamePage&&this.delegate.visitScrolledToSamePageLocation(this.view.lastRenderedLocation,this.location),this.scrolled=!0)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()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)"restore"!=visit2.action?this.showVisitProgressBarAfterDelay():this.showProgressBar()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()(this.started=!0,addEventListener("turbo:before-cache",this.removeStaleElements,!1))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=>form.getAttribute("method"))&&this.delegate.willSubmitForm(form,submitter)&&(event.preventDefault(),this.delegate.formSubmitted(form,submitter))),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()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()(this.previousScrollRestoration=null!=(_a=history.scrollRestoration)?_a:"auto",history.scrollRestoration="manual")relinquishControlOfScrollRestoration(){this.previousScrollRestoration&&(history.scrollRestoration=this.previousScrollRestoration,delete this.previousScrollRestoration)}shouldHandlePopState(){return this.pageIsLoaded()}pageIsLoaded()}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()stop(){this.started&&(removeEventListener("click",this.clickCaptured,!0),this.started=!1)}clickEventIsSignificant(event)event.defaultPreventedfindLinkFromClickTarget(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)null!=anchor&&anchor!==currentAnchor)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()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()(addEventListener("scroll",this.onScroll,!1),this.onScroll(),this.started=!0)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()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)this.applicationAllowsVisitingLocation(location2)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)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)getActionForLink(link){link=link.getAttribute("data-turbo-action");return isAction(link)?link:"advance"}getTargetFrameForLink(link)((frame=link.closest("turbo-frame"))?frame.id:void 0)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()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()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)=>result);kind&&result&&__defProp$4(target,key,result))([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*())}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)=>result);kind&&result&&__defProp$2(target,key,result))([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);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://www.dailyfx.com/news/bitcoin-technical-outlook-btc-usd-breaches-19-000-june-low-looms-20221011.html">Source link </a>