26.5 C
Singapore
HomeForex NewsJapanese Yen Forecast: USD/JPY Rallies to Contemporary Highs as Yields Surge

Japanese Yen Forecast: USD/JPY Rallies to Contemporary Highs as Yields Surge


USD/JPY Evaluation and Speaking Factors

  • USD/JPY Upside Momentum Choosing Up
  • Cleaner Positioning Opens Room for Internet Shorts to Choose Up

JPY: As soon as once more USD/JPY is at a recent two-decade excessive as topside momentum picks up with the pair now firmly above the 141.00 deal with. Beforehand, a transfer to 140 had been touted as an space for Japanese Officers to have a look at probably intervening within the forex. Nevertheless, whereas the Japanese Yen is considerably weaker towards the USD (and different currencies), the strikes usually are not disorderly, which is crucial catalyst earlier than Japanese Officers have a look at intervening. The Financial institution of Japan led by Governor Kuroda have dug their heels in by sustaining free financial coverage, in the meantime, the remainder of the world is embarking on bigger than regular price hikes with a 75bps price rise changing into the norm. As such, with price differentials persevering with to maneuver towards the Yen, the forex has thus discovered little in the best way of help.

Elsewhere, web brief positioning within the Japanese Yen has additionally eased up in current weeks as merchants try to purchase the Yen dip, which means that there’s room for web shorts to construct up once more within the forex. In flip, this opens the door for the pair to maneuver in the direction of the 145 deal with, notably as world bond yields proceed to rally. As a reminder, when gauging the potential route of USD/JPY you will need to watch the route of US yields (most notably the benchmark 10yr) as proven within the chart beneath.

USD/JPY Positioning

Japanese Yen Forecast: USD/JPY Rallies to Fresh Highs as Yields Surge

Supply: Refinitiv

USD/JPY vs US 10YR Yield

Japanese Yen Forecast: USD/JPY Rallies to Fresh Highs as Yields Surge

Supply: Refinitiv

!function(){function errMsg(errCode,msg)””)+” (SystemJS Error#”+errCode+” https://git.io/JvFET#”+errCode+”)”var baseUrl,lastSepIndex,hasSymbol=”undefined”!=typeof Symbol,hasSelf=”undefined”!=typeof self,hasDocument=”undefined”!=typeof document,envGlobal=hasSelf?self:global;!hasDocument||(lastSepIndex=document.querySelector(“base[href]”))&&(baseUrl=lastSepIndex.href),baseUrl||”undefined”==typeof location||-1!==(lastSepIndex=(baseUrl=location.href.split(“#”)[0].split(“?”)[0]).lastIndexOf(“/”))&&(baseUrl=baseUrl.slice(0,lastSepIndex+1));var backslashRegEx=//g;function resolveIfNotPlainOrUrl(relUrl,parentUrl)1===relUrl.length&&(relUrl+=”/”))function resolveUrl(relUrl,parentUrl)function resolveAndComposePackages(packages,outPackages,baseUrl,parentMap,parentUrl)for(var p in packages)var mapped,resolvedLhs=resolveIfNotPlainOrUrl(p,baseUrl)function getMatch(path,matchObj)if(matchObj[path])return path;var sepIndex=path.length;dovar segment=path.slice(0,sepIndex+1);if(segment in matchObj)return segmentwhile(-1!==(sepIndex=path.lastIndexOf(“/”,sepIndex-1)))function applyPackages(id,pkg)var pkgName=getMatch(id,pkg);if(pkgName)pkg=pkg[pkgName];if(null!==pkg)return id.length>pkgName.length&&”/”!==pkg[pkg.length-1]?void targetWarning(“W2″,pkgName,pkg,”should have a trailing ‘/'”):pkg+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)var toStringTag=hasSymbol&&Symbol.toStringTag,REGISTRY=hasSymbol?Symbol():”@”;function SystemJS()this[REGISTRY]=var lastRegister,systemJSPrototype=SystemJS.prototype;function loadToId(load)return load.idfunction triggerOnload(loader,load,err,isErrSource)if(loader.onload(err,load.id,load.d&&load.d.map(loadToId),!!isErrSource),err)throw errfunction getOrCreateLoad(loader,id,firstParentUrl){var load=loader[REGISTRY][id];if(load)return load;var importerSetters=[],ns=Object.create(null);toStringTag&&Object.defineProperty(ns,toStringTag,value:”Module”);var instantiatePromise=Promise.resolve().then(function()return loader.instantiate(id,firstParentUrl)).then(function(registration),function(err)throw load.e=null,load.er=err,triggerOnload(loader,load,err,!0),err),linkPromise=instantiatePromise.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()return setter&&(depLoad.i.push(setter),!depLoad.h&&depLoad.I)))).then(function(depLoads)load.d=depLoads));return 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(load){load=getOrCreateLoad(loader,load);return load.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()).catch(function(err)if(load.er)throw err;throw 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 0var depLoadPromises;load.d.forEach(function(depLoad)tryvar depLoadPromise=postOrderExec(loader,depLoad,seen);depLoadPromise&&(depLoadPromises=depLoadPromisescatch(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()tryvar 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 0catch(err)throw load.er=errfinallyload.e=null,triggerOnload(loader,load,load.er,!0)(loader,load,)}).then(function()return load.n)}(loader,load)})},systemJSPrototype.createContext=function(parentId)var loader=this;returnurl:parentId,resolve:function(id,parentUrl)parentId)),systemJSPrototype.onload=function(),systemJSPrototype.register=function(deps,declare)lastRegister=[deps,declare],systemJSPrototype.getRegister=function()var _lastRegister=lastRegister;return lastRegister=void 0,_lastRegister;var nullContext=Object.freeze(Object.create(null));envGlobal.System=new SystemJS;var baseOrigin,lastAutoImportDeps,lastAutoImportTimeout,importMapPromise=Promise.resolve(),importMap=imports:,scopes:,depcache:,integrity:,processFirst=hasDocument;function processScripts(){[].forEach.call(document.querySelectorAll(“script”),function(script))}systemJSPrototype.prepareImport=function(doProcessScripts)return(processFirst,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”);script.async=!0,url.indexOf(baseOrigin+”/”)&&(script.crossOrigin=”anonymous”);var integrity=importMap.integrity[url];return integrity&&(script.integrity=integrity),script.src=url,script;var lastWindowErrorUrl,lastWindowError,autoImportCandidates=,systemRegister=systemJSPrototype.register;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 autoImportRegistration=autoImportCandidates[url];if(autoImportRegistration)return delete autoImportCandidates[url],autoImportRegistration;var loader=this;return 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())&&register[0]===lastAutoImportDeps&&clearTimeout(lastAutoImportTimeout),resolve(register))),document.head.appendChild(script)),systemJSPrototype.shouldFetch=function()return!1,”undefined”!=typeof fetch&&(systemJSPrototype.fetch=fetch);var instantiate=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)!jsContentTypeRegEx.test(contentType))throw Error(errMsg(4,’Unknown Content-Type “‘+contentType+'”, loading ‘+url+(parent?” from “+parent:””)));return res.text().then(function(source)return source.indexOf(“//# sourceURL=”)<0&&(source+="n//# sourceURL="+url),(0,eval)(source),loader.getRegister())):instantiate.apply(this,arguments),systemJSPrototype.resolve=function(id,parentUrl);var systemInstantiate=systemJSPrototype.instantiate;systemJSPrototype.instantiate=function(url,firstParentUrl)var preloads=importMap.depcache[url];if(preloads)for(var i=0;inew Promise((resolve,reject)=>var fulfilled=value=>trystep(generator.next(value))catch(e)reject(e),rejected=value=>trystep(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()));function raise(errorConstructor,message,name)throw new errorConstructor(“Failed to execute ‘requestSubmit’ on ‘HTMLFormElement’: “+message+”.”,name)!function()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”!=typeof(Turbo$1=HTMLFormElement.prototype).requestSubmit&&(Turbo$1.requestSubmit=function(submitter)submitter?(function validateSubmitter(submitter,form)(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(submitter)submitter=function findSubmitterFromClickTarget(candidate)const element=candidate instanceof Element?candidate:candidate instanceof Node?candidate.parentElement:null;return”submit”==(null==(candidate=element?element.closest(“input, button”):null)?void 0:candidate.type)?candidate:null(submitter.target);submitter&&submitter.form&&submittersByForm.set(submitter.form,submitter)!function()if(!(“submitter”in Event.prototype))let prototype;if(“SubmitEvent”in window&&/Apple Computer/.test(navigator.vendor))prototype=window.SubmitEvent.prototype;elseif(“SubmitEvent”in window)return;prototype=window.Event.prototypeaddEventListener(“click”,clickCaptured,!0),Object.defineProperty(prototype,”submitter”,get()if(“submit”==this.type&&this.target instanceof HTMLFormElement)return submittersByForm.get(this.target))(),(dfxGdprChecker=FrameLoadingStyle=FrameLoadingStyle||).eager=”eager”,dfxGdprChecker.lazy=”lazy”;class FrameElement extends HTMLElementconstructor()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()varsrc=this;this.src=null,this.src=srcattributeChangedCallback(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()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.isLoadingget isActive()return this.ownerDocument===document&&!this.isPreviewget isPreview()var _b;return null===(_b=null===(_b=this.ownerDocument)function expandURL(locatable)return new URL(locatable.toString(),document.baseURI)function getAnchor(anchorMatch)return anchorMatch.hash?anchorMatch.hash.slice(1):(anchorMatch=anchorMatch.href.match(/#(.*)$/))?anchorMatch[1]:void 0function getAction(form,submitter)function getExtension(url)[])[0]function isPrefixedBy(baseURL,prefix)prefix=function getPrefix(url)return function addTrailingSlash(value)return value.endsWith(“/”)?value:value+”/”(url.origin+url.pathname)(prefix);return baseURL.href===expandURL(prefix).hreffunction locationIsVisitable(location2,rootLocation)return isPrefixedBy(location2,rootLocation)&&function isHTML(url)return!!getExtension(url).match(/^(?:(location2)function getRequestURL(url)var anchor=getAnchor(url);return null!=anchor?url.href.slice(0,-(anchor.length+1)):url.hreffunction toCacheKey(url)return getRequestURL(url)class FetchResponseconstructor(response)this.response=responseget succeeded()return this.response.okget failed()return!this.succeededget clientError()return 400<=this.statusCode&&this.statusCode<=499get serverError()return 500<=this.statusCode&&this.statusCoderequestAnimationFrame(()=>resolve()))function parseHTMLDocument(html=””)return(new DOMParser).parseFromString(html,”text/html”)function unindent(strings,…match)const lines=function interpolate(strings,values)return strings.reduce((result,string,i)=>return result+string+(null==values[i]?””:values[i]),””)(strings,match).replace(/^n/,””).split(“n”);match=lines[0].match(/^s+/);const indent=match?match[0].length:0;return lines.map(line=>line.slice(indent)).join(“n”)function uuid()return Array.apply(null,length:36).map((_,i)=>8==ifunction getAttribute(attributeName,…elements)for(const value of elements.map(element=>null==element?void 0:element.getAttribute(attributeName)))if(“string”==typeof value)return value;return nullfunction 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”)(Turbo$1=FetchMethod=FetchMethod||)[Turbo$1.get=0]=”get”,Turbo$1[Turbo$1.post=1]=”post”,Turbo$1[Turbo$1.put=2]=”put”,Turbo$1[Turbo$1.patch=3]=”patch”,Turbo$1[Turbo$1.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=targetget location()return this.urlget params()return this.url.searchParamsget entries()return this.body?Array.from(this.body.entries()):[]cancel()this.abortController.abort()perform()return __async$4(this,null,function*()var _a,_b,fetchOptions=this;null!==(_b=(_a=this.delegate).prepareHeadersForRequest)&&void 0!==_b&&_b.call(_a,this.headers,this),yield this.allowRequestToBeIntercepted(fetchOptions);trythis.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),errorfinallythis.delegate.requestFinished(this))receive(response)return __async$4(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;returnget defaultHeaders()returnAccept:”text/html, application/xhtml+xml”get isIdempotent()return this.method==FetchMethod.getget abortSignal()return this.abortController.signalallowRequestToBeIntercepted(fetchOptions)return __async$4(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 AppearanceObserverconstructor(delegate,element)this.started=!1,this.intersect=lastEntry=>lastEntry=lastEntry.slice(-1)[0];null!=lastEntry&&lastEntry.isIntersecting&&this.delegate.elementAppearedInViewport(this.element),this.delegate=delegate,this.element=element,this.intersectionObserver=new IntersectionObserver(this.intersect)start()this.startedstop()this.started&&(this.started=!1,this.intersectionObserver.unobserve(this.element))class StreamMessageconstructor(html)this.templateElement=document.createElement(“template”),this.templateElement.innerHTML=htmlstatic wrap(message)return”string”==typeof message?new this(message):messageget fragment()const fragment=document.createDocumentFragment();for(const element of this.foreignElements)fragment.appendChild(document.importNode(element,!0));return fragmentget 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”,(dfxGdprChecker=FormSubmissionState=FormSubmissionState||)[dfxGdprChecker.initialized=0]=”initialized”,dfxGdprChecker[dfxGdprChecker.requesting=1]=”requesting”,dfxGdprChecker[dfxGdprChecker.waiting=2]=”waiting”,dfxGdprChecker[dfxGdprChecker.receiving=3]=”receiving”,dfxGdprChecker[dfxGdprChecker.stopping=4]=”stopping”,dfxGdprChecker[dfxGdprChecker.stopped=5]=”stopped”,(Turbo$1=FormEnctype=FormEnctype||).urlEncoded=”application/x-www-form-urlencoded”,Turbo$1.multipart=”multipart/form-data”,Turbo$1.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)const formData=new FormData(formElement),name=null==submitter?void 0:submitter.getAttribute(“name”),value=null==submitter?void 0:submitter.getAttribute(“value”);name&&null!=value&&formData.get(name)!=value&&formData.append(name,value);return formData(formElement,submitter),this.location=expandURL(this.action),this.method==FetchMethod.get&&function mergeFormDataEntries(url,entries)const searchParams=new URLSearchParams;for(var[name,value]of entries)value instanceof File(this.location,[…this.body.entries()]),this.fetchRequest=new FetchRequest(this,this.method,this.location,this.body,this.formElement),this.mustRedirect=mustRedirectstatic confirmMethod(message,element)return confirm(message)get method()get action()void 0===_a?void 0:_a.getAttribute(“formaction”))get body()get enctype()void 0===_a?void 0:_a.getAttribute(“formenctype”))get isIdempotent()return this.fetchRequest.isIdempotentget 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.confirmationMessagestart()return __async$4(this,null,function*()varinitialized,requesting=FormSubmissionState;if(this.needsConfirmation&&!FormSubmission.confirmMethod(this.confirmationMessage,this.formElement))return;if(this.state==initialized)return this.state=requesting,this.fetchRequest.perform())stop()varstopping,stopped=FormSubmissionState;if(this.state!=stopping&&this.state!=stopped)return this.state=stopping,this.fetchRequest.cancel(),!0prepareHeadersForRequest(headers,token)getMetaContent(“csrf-token”))&&(headers[“X-CSRF-Token”]=token),headers.Accept=[StreamMessage.contentType,headers.Accept].join(“, “))requestStarted(request)var _a;this.state=FormSubmissionState.waiting,null!==(_a=this.submitter)&&void 0!==_a&&_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:responserequestSucceededWithResponse(error,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)&&void 0!==_a&&_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(element)element=document.querySelector(`meta[name=”$element”]`);return element&&element.contentclass Snapshotconstructor(element)this.element=elementget children()return[…this.element.children]hasAnchor(anchor)return null!=this.getElementForAnchor(anchor)getElementForAnchor(anchor)return anchor?this.element.querySelector(`[id=’$anchor’], a[name=”$anchor”]`):nullget isConnected()return this.element.isConnectedget 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)const permanentElementMap=;for(const currentPermanentElement of this.permanentElements)varid=currentPermanentElement,newPermanentElement=snapshot.getPermanentElementById(id);newPermanentElement&&(permanentElementMap[id]=[currentPermanentElement,newPermanentElement])return permanentElementMapclass FormInterceptorconstructor(delegate,element)this.submitBubbled=event=>const form=event.target;if(!event.defaultPrevented&&form instanceof HTMLFormElement&&form.closest(“turbo-frame, html”)==this.element)const submitter=event.submitter,this.delegate=delegate,this.element=elementstart()this.element.addEventListener(“submit”,this.submitBubbled)stop()this.element.removeEventListener(“submit”,this.submitBubbled)class Viewconstructor(delegate,element)this.resolveRenderPromise=value=>,this.resolveInterceptionPromise=value=>,this.delegate=delegate,this.element=elementscrollToAnchor(element)element=this.snapshot.getElementForAnchor(element);element?(this.scrollToElement(element),this.focusElement(element)):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 windowrender(renderer)return __async$4(this,null,function*()varisPreview,shouldRender,newSnapshot:snapshot=renderer;if(shouldRender)trythis.renderPromise=new Promise(resolve=>this.resolveRenderPromise=resolve),this.renderer=renderer,this.prepareToRenderSnapshot(renderer);var renderInterception=new Promise(resolve=>this.resolveInterceptionPromise=resolve);this.delegate.allowsImmediateRender(snapshot,this.resolveInterceptionPromise)finallydelete this.renderer,this.resolveRenderPromise(void 0),delete this.renderPromiseelse 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$4(this,null,function*()yield renderer.render())finishRenderingSnapshot(renderer)renderer.finishRendering()class FrameView extends Viewinvalidate()this.element.innerHTML=””get snapshot()return new Snapshot(this.element)class LinkInterceptorconstructor(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=elementstart()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)const element=target instanceof Element?target:target instanceof Node?target.parentElement:null;return element&&element.closest(“turbo-frame, html”)==this.elementclass Bardoconstructor(permanentElementMap)this.permanentElementMap=permanentElementMapstatic preservingPermanentElements(permanentElementMap,callback)const bardo=new this(permanentElementMap);bardo.enter(),callback(),bardo.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)const 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)const placeholder=this.getPlaceholderById(permanentElement.id);null!==placeholder&&void 0!==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!0prepareToRender()finishRendering()this.resolvingFunctions&&(this.resolvingFunctions.resolve(),delete this.resolvingFunctions)createScriptElement(element)if(“false”==element.getAttribute(“data-turbo-eval”))return element;const createdScriptElement=document.createElement(“script”);return this.cspNonce&&(createdScriptElement.nonce=this.cspNonce),createdScriptElement.textContent=element.textContent,createdScriptElement.async=!1,function copyElementAttributes(destinationElement,sourceElement)for(varname,valueof[…sourceElement.attributes])destinationElement.setAttribute(name,value)(createdScriptElement,element),createdScriptElementpreservingPermanentElements(callback)Bardo.preservingPermanentElements(this.permanentElementMap,callback)focusFirstAutofocusableElement()const element=this.connectedSnapshot.firstAutofocusableElement;!function elementIsFocusable(element)return element&&”function”==typeof element.focus(element)get connectedSnapshot()return this.newSnapshot.isConnected?this.newSnapshot:this.currentSnapshotget currentElement()return this.currentSnapshot.elementget newElement()return this.newSnapshot.elementget permanentElementMap()return this.currentSnapshot.getPermanentElementMapForSnapshot(this.newSnapshot)get cspNonce()var _a;return null===(_a=document.head.querySelector(‘meta[name=”csp-nonce”]’))}class FrameRenderer extends Rendererget shouldRender()return!0render()return __async$4(this,null,function*()yield nextAnimationFrame(),this.preservingPermanentElements(()=>this.loadFrameElement()),this.scrollFrameIntoView(),yield nextAnimationFrame(),this.focusFirstAutofocusableElement(),yield nextAnimationFrame(),this.activateScriptElements())loadFrameElement()scrollFrameIntoView()activateScriptElements()for(const inertScriptElement of this.newScriptElements)var activatedScriptElement=this.createScriptElement(inertScriptElement);inertScriptElement.replaceWith(activatedScriptElement)get newScriptElements()return this.currentElement.querySelectorAll(“script”)class ProgressBarconstructor()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.animationDurationms ease-out,
opacity $ProgressBar.animationDuration/2ms $ProgressBar.animationDuration/2ms ease-in;
transform: translate3d(0, 0, 0);

`show()hide()this.visible&&!this.hiding&&(this.hiding=!0,this.fadeProgressElement(()=>this.uninstallProgressElement(),this.stopTrickling(),this.visible=!1,this.hiding=!1))setValue(value)this.value=value,this.refresh()installStylesheetElement()document.head.insertBefore(this.stylesheetElement,document.head.firstChild)installProgressElement()this.progressElement.style.width=”0″,this.progressElement.style.opacity=”1″,document.documentElement.insertBefore(this.progressElement,document.body),this.refresh()fadeProgressElement(callback)this.progressElement.style.opacity=”0″,setTimeout(callback,1.5*ProgressBar.animationDuration)uninstallProgressElement()this.progressElement.parentNode&&document.documentElement.removeChild(this.progressElement)startTrickling()this.trickleIntervalstopTrickling()window.clearInterval(this.trickleInterval),delete this.trickleIntervalrefresh()requestAnimationFrame(()=>this.progressElement.style.width=`$10+90*this.value%`)createStylesheetElement()const element=document.createElement(“style”);return element.type=”text/css”,element.textContent=ProgressBar.defaultCSS,elementcreateProgressElement()const element=document.createElement(“div”);return element.className=”turbo-progress-bar”,elementProgressBar.animationDuration=300;class HeadSnapshot extends Snapshot{constructor(){super(…arguments),this.detailsByOuterHTML=this.children.filter(element=>!function elementIsNoscript(tagName)tagName=tagName.tagName.toLowerCase();return”noscript”==tagName(element)).map(element=>function elementWithoutNonce(element)element.hasAttribute(“nonce”)&&element.setAttribute(“nonce”,””);return element(element)).reduce((result,element)=>{varouterHTML=element,details=outerHTML in result?result[outerHTML]:type:function elementType(element)if(function elementIsScript(tagName)tagName=tagName.tagName.toLowerCase();return”script”==tagName(element))return”script”;if(function elementIsStylesheet(element)”link”==tagName&&”stylesheet”==element.getAttribute(“rel”)(element))return”stylesheet”(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)=>,[])getMetaValue(name)const element=this.findMetaElementByName(name);return element?element.getAttribute(“content”):nullfindMetaElementByName(name)return Object.keys(this.detailsByOuterHTML).reduce((result,element)=>varelements:[element]=this.detailsByOuterHTML[element];return function elementIsMetaElementWithName(element,name)var tagName=element.tagName.toLowerCase();return”meta”==tagName&&element.getAttribute(“name”)==name(element,name)?element:result,void 0)}class PageSnapshot extends Snapshotconstructor(element,headSnapshot)super(element),this.headSnapshot=headSnapshotstatic 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.elementget rootLocation()var _a;return expandURL(null!==(_a=this.getSetting(“root”))&&void 0!==_a?_a:”/”)get cacheControlValue()return this.getSetting(“cache-control”)get isPreviewable()return”no-preview”!=this.cacheControlValueget isCacheable()return”no-cache”!=this.cacheControlValueget isVisitable()return”reload”!=this.getSetting(“visit-control”)getSetting(name)return this.headSnapshot.getMetaValue(`turbo-$name`)(dfxGdprChecker=TimingMetric=TimingMetric||).visitStart=”visitStart”,dfxGdprChecker.requestStart=”requestStart”,dfxGdprChecker.requestEnd=”requestEnd”,dfxGdprChecker.visitEnd=”visitEnd”,(Turbo$1=VisitState=VisitState||).initialized=”initialized”,Turbo$1.started=”started”,Turbo$1.canceled=”canceled”,Turbo$1.failed=”failed”;const defaultOptions=action:”advance”,historyChanged:!(Turbo$1.completed=”completed”),visitCachedSnapshot:()=>,willRender:!0;(dfxGdprChecker=SystemStatusCode=SystemStatusCode||)[dfxGdprChecker.networkFailure=0]=”networkFailure”,dfxGdprChecker[dfxGdprChecker.timeoutFailure=-1]=”timeoutFailure”,dfxGdprChecker[dfxGdprChecker.contentTypeMismatch=-2]=”contentTypeMismatch”;class Visitconstructor(snapshotHTML,response,visitCachedSnapshot,willRender=)this.identifier=uuid(),this.timingMetrics=,this.followedRedirect=!1,this.historyChanged=!1,this.scrolled=!1,this.snapshotCached=!1,this.state=VisitState.initialized,this.delegate=snapshotHTML,this.location=response,this.restorationIdentifier=visitCachedSnapshotget adapter()return this.delegate.adapterget view()return this.delegate.viewget history()return this.delegate.historyget restorationData()return this.history.getRestorationDataForIdentifier(this.restorationIdentifier)get silent()return this.isSamePagestart()this.state==VisitState.initialized&&(this.recordTimingMetric(TimingMetric.visitStart),this.state=VisitState.started,this.adapter.visitStarted(this),this.delegate.visitStarted(this))cancel()this.state==VisitState.started&&(this.request&&this.request.cancel(),this.cancelRender(),this.state=VisitState.canceled)complete()this.state==VisitState.started&&(this.recordTimingMetric(TimingMetric.visitEnd),this.state=VisitState.completed,this.adapter.visitCompleted(this),this.delegate.visitCompleted(this),this.followRedirect())fail()this.state==VisitState.started&&(this.state=VisitState.failed,this.adapter.visitFailed(this))changeHistory()issueRequest()this.hasPreloadedResponse()?this.simulateRequest():this.shouldIssueRequest()&&!this.request&&(this.request=new FetchRequest(this,FetchMethod.get,this.location),this.request.perform())simulateRequest()this.response&&(this.startRequest(),this.recordResponse(),this.finishRequest())startRequest()this.recordTimingMetric(TimingMetric.requestStart),this.adapter.visitRequestStarted(this)recordResponse(statusCode=this.response)(this.response=statusCode)&&(statusCode:statusCode=statusCode,isSuccessful(statusCode)?this.adapter.visitRequestCompleted(this):this.adapter.visitRequestFailedWithStatusCode(this,statusCode))finishRequest()this.recordTimingMetric(TimingMetric.requestEnd),this.adapter.visitRequestFinished(this)loadResponse()if(this.response)conststatusCode,responseHTML=this.response;this.render(()=>__async$4(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$4(this,null,function*()))followRedirect()var _a;this.redirectedToLocation&&!this.followedRedirect&&null!==(_a=this.response)&&void 0!==_a&&_a.redirected&&(this.adapter.visitProposedToLocation(this.redirectedToLocation,action:”replace”,response:this.response),this.followedRedirect=!0)goToSamePageAnchor()this.isSamePage&&this.render(()=>__async$4(this,null,function*()this.cacheSnapshot(),this.adapter.visitRendered(this)))requestStarted()this.startRequest()requestPreventedHandlingResponse(request,response)requestSucceededWithResponse(request,response)return __async$4(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$4(this,null,function*()var responseHTML=yield response.responseHTML,redirected,statusCode=response;null==responseHTML?this.recordResponse(statusCode:SystemStatusCode.contentTypeMismatch,redirected:redirected):this.recordResponse(statusCode:statusCode,responseHTML:responseHTML,redirected:redirected))requestErrored(request,error)this.recordResponse(statusCode:SystemStatusCode.networkFailure,redirected:!1)requestFinished()this.finishRequest()performScroll()this.view.scrollToTop():this.scrollToAnchor()scrollToRestoredPosition()varscrollPosition=this.restorationData;if(scrollPosition)return this.view.scrollToPosition(scrollPosition),!0scrollToAnchor()var anchor=getAnchor(this.location);if(null!=anchor)return this.view.scrollToAnchor(anchor),!0recordTimingMetric(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.pushStatehasPreloadedResponse()return”object”==typeof this.responseshouldIssueRequest()return!this.isSamePage&&(“restore”==this.action?!this.hasCachedSnapshot():this.willRender)cacheSnapshot()this.snapshotCachedrender(callback)return __async$4(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&&statusCodethis.progressBar.show(),this.session=session2visitProposedToLocation(location2,options)this.navigator.startVisit(location2,uuid(),options)visitStarted(visit2)visit2.loadCachedSnapshot(),visit2.issueRequest(),visit2.changeHistory(),visit2.goToSamePageAnchor()visitRequestStarted(visit2)visitRequestCompleted(visit2)visit2.loadResponse()visitRequestFailedWithStatusCode(visit2,statusCode)switch(statusCode)case SystemStatusCode.networkFailure:case SystemStatusCode.timeoutFailure:case SystemStatusCode.contentTypeMismatch:return this.reload();default:return visit2.loadResponse()visitRequestFinished(visit2)this.progressBar.setValue(1),this.hideVisitProgressBar()visitCompleted(visit2)pageInvalidated()this.reload()visitFailed(visit2)visitRendered(visit2)formSubmissionStarted(formSubmission)this.progressBar.setValue(0),this.showFormProgressBarAfterDelay()formSubmissionFinished(formSubmission)this.progressBar.setValue(1),this.hideFormProgressBar()showVisitProgressBarAfterDelay()this.visitProgressBarTimeout=window.setTimeout(this.showProgressBar,this.session.progressBarDelay)hideVisitProgressBar()this.progressBar.hide(),null!=this.visitProgressBarTimeout&&(window.clearTimeout(this.visitProgressBarTimeout),delete this.visitProgressBarTimeout)showFormProgressBarAfterDelay()null==this.formProgressBarTimeout&&(this.formProgressBarTimeout=window.setTimeout(this.showProgressBar,this.session.progressBarDelay))hideFormProgressBar()this.progressBar.hide(),null!=this.formProgressBarTimeout&&(window.clearTimeout(this.formProgressBarTimeout),delete this.formProgressBarTimeout)reload()window.location.reload()get navigator()return this.session.navigatorclass CacheObserverconstructor()this.started=!1start()(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 FormSubmitObserverconstructor(delegate)this.started=!1,this.submitCaptured=()=>removeEventListener(“submit”,this.submitBubbled,!1),addEventListener(“submit”,this.submitBubbled,!1),this.submitBubbled=event=>if(!event.defaultPrevented),this.delegate=delegatestart()(addEventListener(“submit”,this.submitCaptured,!0),this.started=!0)stop()this.started&&(removeEventListener(“submit”,this.submitCaptured,!0),this.started=!1)class FrameRedirectorconstructor(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)const frame=this.findFrameElement(element);frame&&frame.delegate.linkClickIntercepted(element,url)shouldInterceptFormSubmission(element,submitter)return this.shouldSubmit(element,submitter)formSubmissionIntercepted(element,submitter)const frame=this.findFrameElement(element,submitter);frame&&(frame.removeAttribute(“reloadable”),frame.delegate.formSubmissionIntercepted(element,submitter))shouldSubmit(form,submitter)var action=getAction(form,submitter),rootLocation=this.element.ownerDocument.querySelector(‘meta[name=”turbo-root”]’),rootLocation=expandURL(null!==(rootLocation=null==rootLocation?void 0:rootLocation.content)&&void 0!==rootLocation?rootLocation:”/”);return this.shouldRedirect(form,submitter)&&locationIsVisitable(action,rootLocation)shouldRedirect(element,frame)frame=this.findFrameElement(element,frame);return!!frame&&frame!=element.closest(“turbo-frame”)findFrameElement(frame,submitter)class Historyconstructor(delegate)this.restorationIdentifier=uuid(),this.restorationData=,this.started=!1,this.pageLoaded=!1,this.onPopState=restorationIdentifier=>,restorationIdentifier&&(this.location=new URL(window.location.href),restorationIdentifier:restorationIdentifier=restorationIdentifier,this.restorationIdentifier=restorationIdentifier,this.delegate.historyPoppedToLocationWithRestorationIdentifier(this.location,restorationIdentifier))),this.onPageLoad=event=>__async$4(this,null,function*()yield function nextMicrotask()return Promise.resolve()(),this.pageLoaded=!0),this.delegate=delegatestart()(addEventListener(“popstate”,this.onPopState,!1),addEventListener(“load”,this.onPageLoad,!1),this.started=!0,this.replace(new URL(window.location.href)))stop()this.started&&(removeEventListener(“popstate”,this.onPopState,!1),removeEventListener(“load”,this.onPageLoad,!1),this.started=!1)push(location2,restorationIdentifier)this.update(history.pushState,location2,restorationIdentifier)replace(location2,restorationIdentifier)this.update(history.replaceState,location2,restorationIdentifier)update(method,location2,restorationIdentifier=uuid())method.call(history,turbo:restorationIdentifier:restorationIdentifier,””,location2.href),this.location=location2,this.restorationIdentifier=restorationIdentifiergetRestorationDataForIdentifier(restorationIdentifier)updateRestorationData(additionalData)varrestorationIdentifier=this,restorationData=this.restorationData[restorationIdentifier];this.restorationData[restorationIdentifier]=Object.assign(Object.assign(,restorationData),additionalData)assumeControlOfScrollRestoration()(this.previousScrollRestoration=null!==(_a=history.scrollRestoration)&&void 0!==_a?_a:”auto”,history.scrollRestoration=”manual”)relinquishControlOfScrollRestoration()this.previousScrollRestoration&&(history.scrollRestoration=this.previousScrollRestoration,delete this.previousScrollRestoration)shouldHandlePopState()return this.pageIsLoaded()pageIsLoaded()”complete”==document.readyStateclass LinkClickObserverconstructor(delegate)this.started=!1,this.clickCaptured=()=>removeEventListener(“click”,this.clickBubbled,!1),addEventListener(“click”,this.clickBubbled,!1),this.clickBubbled=event=>var link,location2;this.clickEventIsSignificant(event)&&(location2=event.composedPath&&event.composedPath()[0],this.delegate=delegatestart()stop()this.started&&(removeEventListener(“click”,this.clickCaptured,!0),this.started=!1)clickEventIsSignificant(event)findLinkFromClickTarget(target)if(target instanceof Element)return target.closest(“a[href]:not([target^=_]):not([download])”)getLocationForLink(link)return expandURL(link.getAttribute(“href”)function isAction(action)return”advance”==actionclass Navigator{constructor(delegate)this.delegate=delegateproposeVisit(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.adapterget view()return this.delegate.viewget history()return this.delegate.historyformSubmissionStarted(formSubmission)”function”==typeof this.adapter.formSubmissionStarted&&this.adapter.formSubmissionStarted(formSubmission)formSubmissionSucceededWithResponse(formSubmission,fetchResponse)return __async$4(this,null,function*())formSubmissionFailedWithResponse(formSubmission,fetchResponse)return __async$4(this,null,function*()var snapshot=yield fetchResponse.responseHTML;snapshot&&(snapshot=PageSnapshot.fromHTMLString(snapshot),fetchResponse.serverError?yield this.view.renderError(snapshot):yield this.view.renderPage(snapshot),this.view.scrollToTop(),this.view.clearSnapshotCache()))formSubmissionErrored(formSubmission,error)console.error(error)formSubmissionFinished(formSubmission)”function”==typeof this.adapter.formSubmissionFinished&&this.adapter.formSubmissionFinished(formSubmission)visitStarted(visit2)this.delegate.visitStarted(visit2)visitCompleted(visit2)this.delegate.visitCompleted(visit2)locationWithActionIsSamePage(location2,action)visitScrolledToSamePageLocation(oldURL,newURL)this.delegate.visitScrolledToSamePageLocation(oldURL,newURL)get location()return this.history.locationget restorationIdentifier()return this.history.restorationIdentifiergetActionForFormSubmission(submitter)varformElement:action,submitter=submitter,action=getAttribute(“data-turbo-action”,submitter,action);return isAction(action)?action:”advance”}(Turbo$1=PageStage=PageStage||)[Turbo$1.initial=0]=”initial”,Turbo$1[Turbo$1.loading=1]=”loading”,Turbo$1[Turbo$1.interactive=2]=”interactive”,Turbo$1[Turbo$1.complete=3]=”complete”;class PageObserverconstructor(delegate)this.stage=PageStage.initial,this.started=!1,this.interpretReadyState=()=>varreadyState=this;”interactive”==readyState?this.pageIsInteractive():”complete”==readyState&&this.pageIsComplete(),this.pageWillUnload=()=>this.delegate.pageWillUnload(),this.delegate=delegatestart()this.startedstop()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.readyStateclass ScrollObserverconstructor(delegate)this.started=!1,this.onScroll=()=>this.updatePosition(x:window.pageXOffset,y:window.pageYOffset),this.delegate=delegatestart()stop()this.started&&(removeEventListener(“scroll”,this.onScroll,!1),this.started=!1)updatePosition(position)this.delegate.scrollPositionChanged(position)class StreamObserverconstructor(delegate)this.sources=new Set,this.started=!1,this.inspectFetchResponse=event=>var response=function fetchResponseFromEvent(fetchResponse)(event);response&&function fetchResponseIsStream(_a)const contentType=null!==(_a=_a.contentType)&&void 0!==_a?_a:””;return contentType.startsWith(StreamMessage.contentType)(response)&&(event.preventDefault(),this.receiveMessageResponse(response)),this.receiveMessageEvent=event=>this.started&&”string”==typeof event.data&&this.receiveMessageHTML(event.data),this.delegate=delegatestart()(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$4(this,null,function*()var html=yield response.responseHTML;html&&this.receiveMessageHTML(html))receiveMessageHTML(html)this.delegate.receivedMessageFromStream(new StreamMessage(html))class ErrorRenderer extends Rendererrender()return __async$4(this,null,function*()this.replaceHeadAndBody(),this.activateScriptElements())replaceHeadAndBody()constdocumentElement,head,body=document;documentElement.replaceChild(this.newHead,head),documentElement.replaceChild(this.newElement,body)activateScriptElements()for(const replaceableElement of this.scriptElements)const parentNode=replaceableElement.parentNode;var element;parentNode&&(element=this.createScriptElement(replaceableElement),parentNode.replaceChild(element,replaceableElement))get newHead()return this.newSnapshot.headSnapshot.elementget scriptElements()return[…document.documentElement.querySelectorAll(“script”)]class PageRenderer extends Rendererget shouldRender()return this.newSnapshot.isVisitable&&this.trackedElementsAreIdenticalprepareToRender()this.mergeHead()render()return __async$4(this,null,function*()this.willRender&&this.replaceBody())finishRendering()super.finishRendering(),this.isPreviewget currentHeadSnapshot()return this.currentSnapshot.headSnapshotget newHeadSnapshot()return this.newSnapshot.headSnapshotget newElement()return this.newSnapshot.elementmergeHead()this.copyNewHeadStylesheetElements(),this.copyNewHeadScriptElements(),this.removeCurrentHeadProvisionalElements(),this.copyNewHeadProvisionalElements()replaceBody()this.preservingPermanentElements(()=>this.activateNewBody(),this.assignNewBody())get trackedElementsAreIdentical()return this.currentHeadSnapshot.trackedElementSignature==this.newHeadSnapshot.trackedElementSignaturecopyNewHeadStylesheetElements()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.provisionalElementsget newHeadProvisionalElements()return this.newHeadSnapshot.provisionalElementsget newBodyScriptElements()return this.newElement.querySelectorAll(“script”)class SnapshotCacheconstructor(size)this.keys=[],this.snapshots=,this.size=sizehas(location2)return toCacheKey(location2)in this.snapshotsget(location2)if(this.has(location2))var snapshot=this.read(location2);return this.touch(location2),snapshotput(location2,snapshot)return this.write(location2,snapshot),this.touch(location2),snapshotclear()this.snapshots=read(location2)return this.snapshots[toCacheKey(location2)]write(location2,snapshot)this.snapshots[toCacheKey(location2)]=snapshottouch(index)var key=toCacheKey(index),index=this.keys.indexOf(key);-1setTimeout(()=>resolve(),0))();var cachedSnapshot=snapshot.clone();return this.snapshotCache.put(location2,cachedSnapshot),cachedSnapshot)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 Sessionconstructor()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=!1start()(this.pageObserver.start(),this.cacheObserver.start(),this.linkClickObserver.start(),this.formSubmitObserver.start(),this.scrollObserver.start(),this.streamObserver.start(),this.frameRedirector.start(),this.history.start(),this.started=!0,this.enabled=!0)disable()this.enabled=!1stop()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=adaptervisit(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=delayget location()return this.history.locationget restorationIdentifier()return this.history.restorationIdentifierhistoryPoppedToLocationWithRestorationIdentifier(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)this.visit(location2.href,action:action)convertLinkWithMethodClickToFormSubmission(frame)var linkMethod=frame.getAttribute(“data-turbo-method”);if(linkMethod)”undefined”,form.hidden=!0,frame.hasAttribute(“data-turbo-confirm”)&&form.setAttribute(“data-turbo-confirm”,frame.getAttribute(“data-turbo-confirm”));frame=this.getTargetFrameForLink(frame);return frame?(form.setAttribute(“data-turbo-frame”,frame),form.addEventListener(“turbo:submit-start”,()=>form.remove())):form.addEventListener(“submit”,()=>form.remove()),document.body.appendChild(form),dispatch(“submit”,cancelable:!0,target:form)return!1allowsVisitingLocationWithAction(location2,action)visitProposedToLocation(location2,options)extendURLWithDeprecatedProperties(location2),this.adapter.visitProposedToLocation(location2,options)visitStarted(visit2)this.notifyApplicationAfterVisitingLocation(visit2.location,visit2.action)visitCompleted(visit2)this.notifyApplicationAfterPageLoad(visit2.getTimingMetrics())locationWithActionIsSamePage(location2,action)return this.navigator.locationWithActionIsSamePage(location2,action)visitScrolledToSamePageLocation(oldURL,newURL)this.notifyApplicationAfterVisitingSamePageLocation(oldURL,newURL)willSubmitForm(form,submitter)var action=getAction(form,submitter);return this.elementDriveEnabled(form)&&(!submitterformSubmitted(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()var _a;null!==(_a=this.navigator.currentVisit)&&void 0!==_a&&_a.silentallowsImmediateRender(element,resume)return!this.notifyApplicationBeforeRender(element,resume).defaultPreventedviewRenderedSnapshot(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).defaultPreventedapplicationAllowsVisitingLocation(location2)return!this.notifyApplicationBeforeVisitingLocation(location2).defaultPreventednotifyApplicationAfterClickingLinkToLocation(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)const container=null==element?void 0:element.closest(“[data-turbo]”);return this.drive?!containergetActionForLink(action)action=action.getAttribute(“data-turbo-action”);return isAction(action)?action:”advance”getTargetFrameForLink(container)var frame=container.getAttribute(“data-turbo-frame”);if(frame)return frame;container=container.closest(“turbo-frame”);return container?container.id:void 0get snapshot()return this.view.snapshot;varnavigator:dfxGdprChecker=session;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=confirmMethodvar Turbo$1=Object.freeze(__proto__:null,navigator:dfxGdprChecker,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 SnapshotSubstitutionconstructor(element)this.visitCachedSnapshot=(element:element2)=>varid:_a,clone=this;null!==(_a=element2.querySelector(“#”+_a))&&void 0!==_a&&_a.replaceWith(clone),this.clone=element.cloneNode(!0),this.id=element.idfunction getFrameElementById(element)if(null!=element)element=document.getElementById(element);if(element instanceof FrameElement)return elementfunction 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 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(),elementconst StreamActions=after()this.targetElements.forEach(e=>void 0===_a?void 0:_a.insertBefore(this.templateContent,e.nextSibling)),append()this.removeDuplicateTargetChildren(),this.targetElements.forEach(e=>e.append(this.templateContent)),before()this.targetElements.forEach(e=>void 0===_a?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 HTMLElementconnectedCallback()return __async$4(this,null,function*()tryyield this.render()catch(error)console.error(error)finallythis.disconnect())render()return __async$4(this,null,function*()var _a;return null!==(_a=this.renderPromise)&&void 0!==_a?_a:this.renderPromise=__async$4(this,null,function*()this.dispatchEvent(this.beforeRenderEvent)&&(yield nextAnimationFrame(),this.performAction())))disconnect()trythis.remove()catch(_a)removeDuplicateTargetChildren()this.duplicateChildren.forEach(c=>c.remove())get duplicateChildren()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 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 _b;return null!==(_b=(null!==(_b=this.outerHTML.match(/]+>/))&&void 0!==_b?_b:[])[0])&&void 0!==_b?_b:””get beforeRenderEvent()return new CustomEvent(“turbo:before-stream-render”,bubbles:!0,cancelable:!0)get targetElementsById()var element=null===(element=this.ownerDocument)get targetElementsByQuery()var elements=null===(elements=this.ownerDocument)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.connecteddisconnect()this.connected&&(this.connected=!1,this.appearanceObserver.stop(),this.linkInterceptor.stop(),this.formInterceptor.stop())disabledChanged()this.loadingStyle==FrameLoadingStyle.eager&&this.loadSourceURL()sourceURLChanged()this.loadSourceURL()loadingStyleChanged()this.loadingStyle==FrameLoadingStyle.lazy?this.appearanceObserver.start():(this.appearanceObserver.stop(),this.loadSourceURL())loadSourceURL()return __async$4(this,null,function*()this.sourceURL!=this.currentURL))var previousURL=this.currentURL;if(this.currentURL=this.sourceURL,this.sourceURL)trythis.element.loaded=this.visit(expandURL(this.sourceURL)),this.appearanceObserver.stop(),yield this.element.loaded,this.hasBeenLoaded=!0catch(error)throw this.currentURL=previousURL,error)loadResponse(fetchResponse)return __async$4(this,null,function*()(fetchResponse.redirected)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,fetchRequest)this.formSubmission&&this.formSubmission.stop(),this.reloadable=!1,this.formSubmission=new FormSubmission(this,element,fetchRequest);varfetchRequest=this.formSubmission;this.prepareHeadersForRequest(fetchRequest.headers,fetchRequest),this.formSubmission.start()prepareHeadersForRequest(headers,request)headers[“Turbo-Frame”]=this.idrequestStarted(request)markAsBusy(this.element)requestPreventedHandlingResponse(request,response)this.resolveVisitPromise()requestSucceededWithResponse(request,response)return __async$4(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)const 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!0viewRenderedSnapshot(snapshot,isPreview)viewInvalidated()visit(url){return __async$4(this,null,function*()var _a;const request=new FetchRequest(this,FetchMethod.get,url,new URLSearchParams,this.element);return null!==(_a=this.currentFetchRequest)&&void 0!==_a&&_a.cancel(),this.currentFetchRequest=request,new Promise(resolve=>this.resolveVisitPromise=()=>this.resolveVisitPromise=()=>,this.currentFetchRequest=null,resolve(),request.perform()))}navigateFrame(element,url,submitter)const frame=this.findFrameElement(element,submitter);this.proposeVisitIfNavigatedWithAction(frame,element,submitter),frame.setAttribute(“reloadable”,””),frame.src=urlproposeVisitIfNavigatedWithAction(frame,element,submitter)const action=getAttribute(“data-turbo-action”,submitter,element,frame);if(isAction(action))constvisitCachedSnapshot=new SnapshotSubstitution(frame);frame.delegate.fetchResponseLoaded=response=>var statusCode;frame.src&&(statusCode:statusCode,redirected:response=response,response=statusCode:statusCode,redirected:response,responseHTML:frame.ownerDocument.documentElement.outerHTML,session.visit(frame.src,action:action,response:response,visitCachedSnapshot:visitCachedSnapshot,willRender:!1))findFrameElement(_a,submitter)return null!==(_a=getFrameElementById(getAttribute(“data-turbo-frame”,submitter,_a)extractForeignFrameElement(container)return __async$4(this,null,function*()let element;var id=CSS.escape(this.id);tryif(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 element`)catch(error)console.error(error)return new FrameElement)formActionIsVisitable(form,submitter)return locationIsVisitable(expandURL(getAction(form,submitter)),this.rootLocation)shouldInterceptNavigation(element,submitter)var frameElement=getAttribute(“data-turbo-frame”,submitter,element)get id()return this.element.idget enabled()return!this.element.disabledget sourceURL()if(this.element.src)return this.element.srcget reloadable()const frame=this.findFrameElement(this.element);return frame.hasAttribute(“reloadable”)set reloadable(value)const 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=!1get loadingStyle()return this.element.loadingget isLoading()return void 0!==this.formSubmissionget isActive()return this.element.isActive&&this.connectedget rootLocation()var _a=this.element.ownerDocument.querySelector(‘meta[name=”turbo-root”]’);return expandURL(null!==(_a=null==_a?void 0:_a.content)&&void 0!==_a?_a:”/”)},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 element inside the element. This is probably not what you meant to do!
Load your application’s JavaScript bundle inside the element instead. elements in 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$1,start();Turbo$1=Object.freeze(__proto__:null,PageRenderer:PageRenderer,PageSnapshot:PageSnapshot,clearCache:clearCache,connectStreamSource:connectStreamSource,disconnectStreamSource:disconnectStreamSource,navigator:dfxGdprChecker,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=(…result)=>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)if(window.DFX_SINGLETONS[instanceId])return window.DFX_SINGLETONS[instanceId];result=original.apply(this,result);return Object.defineProperty(window.DFX_SINGLETONS,instanceId,value:result,writable:!0),result,descriptor}class DfxLocalStorageCookieManager{constructor(localStorage)this.localStorage=localStorage,this.localStorage=localStorage;trythis.localStorage.setItem(“test”,”test”),this.localStorage.removeItem(“test”),this.isLocalStorageAvailable=!0catch(e)this.isLocalStorageAvailable=!1getCookie(matches)if(matches)matches=document.cookie.match(new RegExp(`(?:^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=cookieStringdeleteCookie(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 DfxLocalStorageCookieManagerFactorystatic create()return new DfxLocalStorageCookieManager(window.localStorage)((decorators,target,key,kind)=>for(var decorator,result=1<kind?void 0:kind?__getOwnPropDesc$5(target,key):target,i=decorators.length-1;0=levelnormalizeValue(value)let intValue=parseInt(value);return isNaN(intValue)&&(intValue=3),intValuevar __defProp$4=Object.defineProperty,__getOwnPropDesc$4=Object.getOwnPropertyDescriptor;class DfxGdprCheckerFactorystatic create()return new DfxGdprChecker(DfxLocalStorageCookieManagerFactory.create())((decorators,target,key,kind)=>)([createSingleton()],DfxGdprCheckerFactory,”create”,1);var __async$3=(__this,__arguments,generator)=>new Promise((resolve,reject)=>var fulfilled=value=>trystep(generator.next(value))catch(e)reject(e),rejected=value=>trystep(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 DfxGeoLocationconstructor(geoJsUrl,dfxLocalStorageCookieManager)this.geoJsUrl=geoJsUrl,this.dfxLocalStorageCookieManager=dfxLocalStorageCookieManagerinit()return __async$3(this,null,function*()const 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$3(this,null,function*()if(this.redirectData)return this.redirectData;var redirectData=this.getLocationFromStorage();return redirectData?(this.redirectData=redirectData,this.redirectData):this.loadRedirectData())loadRedirectData()return new Promise(resolve=>const 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),thisgetLocationFromStorage()var _a=this.dfxLocalStorageCookieManager.getLocalStorageOrCookie(“dfx-redirectData_expiresIn”);return!!(_a&&parseInt(_a)>Date.now())&&JSON.parse(null!=(_a=this.dfxLocalStorageCookieManager.getLocalStorageOrCookie(“dfx-redirectData”))?_a:”false”)setLocationToStorage()const 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()),thisvar __defProp$3=Object.defineProperty,__getOwnPropDesc$3=Object.getOwnPropertyDescriptor;class DfxGeoLocationFactorystatic create()return new DfxGeoLocation(window.DFX_ENDPOINTS.geoJs,DfxLocalStorageCookieManagerFactory.create())((decorators,target,key,kind)=>result);kind&&result&&__defProp$3(target,key,result))([createSingleton()],DfxGeoLocationFactory,”create”,1);const STATES=OFF:”off”,LOADING:”loading”,READY:”ready”,TRACKINGS=FACEBOOK_PIXEL:”pixel”,GPT:”GPT”,GTM:”GTM”,ADOBE_TRACKING:”adobe_tracking”,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()._resetSitecatConfig(),document.addEventListener(“turbo:visit”,()=>$(“head script”).filter((_i,el)=>el.src.includes(config.mainReportSuite)),document.addEventListener(“turbo:before-render”,event=>this.dfxAdobeTracking&&this.dfxAdobeTracking.refreshIframe(event.detail.newBody))_setDefaultStates()return this.adobeTrackingState=STATES.OFF,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_resetSitecatConfig()return this.sitecatConfig=mainReportSuite:this.config.mainReportSuite,reportSuite:this.config.reportSuite,organisationId:this.config.organisationId,thiscreateAdobeTracking(adobeTrackingUrl)return __this=this,__arguments=null,generator=function*()if(this.dfxGdprChecker.checkLevel(2)&&this.allowedTrackingsConfig[TRACKINGS.ADOBE_TRACKING]&&this.adobeTrackingState===STATES.OFF)this.adobeTrackingState=STATES.LOADING;constDfxAdobeTracking=yield window.System.import(adobeTrackingUrl);this.dfxAdobeTracking=new DfxAdobeTracking(this.sitecatConfig,this.dfxGdprChecker,this.dfxLocalStorageCookieManager),this.adobeTrackingState=STATES.READY,this.runAdobeTracking(),new Promise((resolve,reject)=>var fulfilled=value=>trystep(generator.next(value))catch(e)reject(e),rejected=value=>trystep(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,generatorrunAdobeTracking()this.dfxGdprChecker.checkLevel(2)&&(this.adobeTrackingState===STATES.READY?(this.dfxAdobeTracking.resetTrackingObject(),this.dfxAdobeTracking.init()):setTimeout(()=>this.runAdobeTracking(),400))trackAdobeEvent(eventName,message,metrics)return this.dfxGdprChecker.checkLevel(2)&&this.allowedTrackingsConfig[TRACKINGS.ADOBE_TRACKING]&&(this.adobeTrackingState===STATES.READY?this.dfxAdobeTracking.trackEvent(eventName,message,metrics):setTimeout(()=>this.trackAdobeEvent(eventName,message,metrics),400)),thisgetPageNameForAdobeTracking()return this.adobeTrackingState===STATES.READY&&this.dfxAdobeTracking.getPageName()addSitecatConfig(key,value)return this.dfxGdprChecker.checkLevel(2)&&(this.sitecatConfig[key]=value),thiscreateFacebookPixel()(t._fbq=n),(n.push=n).loaded=!0,n.version=”2.0″,n.queue=[],(t=b.createElement(s)).async=!0,t.onload=loadCallback,t.src=”https://connect.facebook.net/en_US/fbevents.js”,(s=b.getElementsByTagName(s)[0]).parentNode.insertBefore(t,s)),this.fbq=window.fbq,this.fbq(“init”,this.facebookPixelId),thisfacebookPixelTrack(type)return this.dfxGdprChecker.checkLevel(3)&&this.allowedTrackingsConfig[TRACKINGS.FACEBOOK_PIXEL]&&(this.pixelState===STATES.OFF&&this.createFacebookPixel(),this.fbq(“track”,type)),thisfacebookPixelTrackPageView()return this.dfxGdprChecker.checkLevel(3)&&this.facebookPixelTrack(“PageView”),thisfacebookPixelTrackLead()return this.dfxGdprChecker.checkLevel(3)&&this.facebookPixelTrack(“Lead”),thiscreateGTM()this.gtmState!==STATES.OFF)return this;this.gtmState=STATES.LOADING;const scriptOnload=()=>this.gtmState=STATES.READY;return function(w,d,s,l,i,p)w[l]=w[l](window,document,”script”,”dataLayer”,this.tagManagerId,this.tagManagerParams),thiscreateTwitterPixel()return this.dfxGdprChecker.checkLevel(3)&&this.allowedTrackingsConfig[TRACKINGS.TWITTER_PIXEL]&&(u=window,t=document,a=”script”,u.twqcreateGPT()if(!this.dfxGdprChecker.checkLevel(1))return this;if(!this.allowedTrackingsConfig[TRACKINGS.GPT]trackGTMpageLoadEvent()createBaiduTracking()return this.dfxGdprChecker.checkLevel(2)&&this.allowedTrackingsConfig[TRACKINGS.BAIDU]&&this.baiduState!==STATES.READY&&(function()const hm=document.createElement(“script”);hm.src=”https://hm.baidu.com/hm.js?961aa7f85d30d676f24a6f928c035b90″;const s=document.getElementsByTagName(“script”)[0];s.parentNode.insertBefore(hm,s)(),function()const bp=document.createElement(“script”);var curProtocol=window.location.protocol.split(“:”)[0];bp.src=”https”===curProtocol?”https://zz.bdstatic.com/linksubmit/push.js”:”http://push.zhanzhang.baidu.com/push.js”;const s=document.getElementsByTagName(“script”)[0];s.parentNode.insertBefore(bp,s)(),this.baiduState=STATES.READY),thisaddGptAssetClasses(assetClasses)if(!Array.isArray(assetClasses))throw new TypeError(“Param assetClasses must be an Array”);return assetClasses.forEach(assetClass=>this.gptAssetClasses.add(assetClass)),thisaddGptInstrumentPairs(pairs)if(!Array.isArray(pairs))throw new TypeError(“Param pairs must be an Array”);return pairs.forEach(assetClass=>this.gptInstrumentPairs.add(assetClass)),thisaddGptCategories(category=””,subCategory=””)this.gptCategories=category:category,subCategory:subCategorygetGptAssetClasses()return this.gptAssetClassesgetGptInstrumentPairs()return this.gptInstrumentPairsgetGptCategory()return this.gptCategories.categorygetGptSubCategory()return this.gptCategories.subCategorycreateTaboolaPixel()if(!this.dfxGdprChecker.checkLevel(3))return this;if(!this.allowedTrackingsConfig[TRACKINGS.TABOOLA_PIXEL]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 DfxConfigconstructor(config)this.config=configget(key)return this.config.get(key)set(key,value)var __defProp$2=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor;class DfxConfigFactorystatic create()var data=Object.assign(,window.DFX_CONFIG,window.DFX_ENDPOINTS),data=new Map(Object.entries(data));return new DfxConfig(data)((decorators,target,key,kind)=>for(var decorator,result=1<kind?void 0:kind?__getOwnPropDesc$2(target,key):target,i=decorators.length-1;0result);kind&&result&&__defProp$1(target,key,result))([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=>trystep(generator.next(value))catch(e)reject(e),rejected=value=>trystep(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 __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor;class DfxFontsFactorystatic create()return new DfxFonts(document)((decorators,target,key,kind)=>result);kind&&result&&__defProp(target,key,result))([createSingleton()],DfxFontsFactory,”create”,1);DfxFontsFactory.create();dfxGdprChecker=DfxGdprCheckerFactory.create();const loadScripts=()=>((__this,__arguments,generator)=>new Promise((resolve,reject)=>var fulfilled=value=>trystep(generator.next(value))catch(e)reject(e),rejected=value=>trystep(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())))(window,null,function*()tryconst noscript=document.querySelector(“noscript.jsdfx-script”);if(!noscript)return;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));document.addEventListener(“turbo:load”,()=>loadScripts()),window.turbo=Turbo$1,start(),DfxGeoLocationFactory.create().init(),exports.DfxGdprChecker=dfxGdprChecker,exports.DfxGdprCheckerFactory=DfxGdprCheckerFactory,exports.DfxGeoLocationFactory=DfxGeoLocationFactory,exports.DfxThirdPartyManagerFactory=DfxThirdPartyManagerFactory,Object.defineProperty(exports,”__esModule”,value:!0)}(this.window=this.window||);



Read The Original Article

Latest Articles

Explore More

%d bloggers like this: