var Shopify;!function(){var l,f,n={9777:function(e){e.exports={animationTime:500,bugsnagApiUrl:"https://upload.bugsnag.com",bugsnagApiKey:"256b27e25ef85a189c1b1ef7c2668f30",defaultCdnHost:"cdn.shopify.com",defaultCdnPath:"/shopifycloud/payment-sheet/assets",googleCloudAssetsPath:"payment-sheet/assets",googleCloudBucketName:"cdn.shopifycloud.com",googleCloudProjectId:"shopify-tiers",versionName:"latest",analyze:!1}},1881:function(e){var t;t=function(){var n,r=["navigation","request","process","log","user","state","error","manual"],h=function(e,t,n){for(var r=n,o=0,i=e.length;o"].indexOf(t[0])?void 0:t[0];return new s({functionName:n,fileName:r,lineNumber:t[1],columnNumber:t[2],source:e})},this)},parseFFOrSafari:function(e){return e.stack.split("\n").filter(function(e){return!e.match(r)},this).map(function(e){if(-1===(e=-1 eval")?e.replace(/ line (\d+)(?: > eval line \d+)* > eval\:\d+\:\d+/g,":$1"):e).indexOf("@")&&-1===e.indexOf(":"))return new s({functionName:e});var t=/((.*".+"[^@]*)?[^@]*)(?:@)/,n=e.match(t),n=n&&n[1]?n[1]:void 0,t=this.extractLocation(e.replace(t,""));return new s({functionName:n,fileName:t[0],lineNumber:t[1],columnNumber:t[2],source:e})},this)},parseOpera:function(e){return!e.stacktrace||-1e.stacktrace.split("\n").length?this.parseOpera9(e):e.stack?this.parseOpera11(e):this.parseOpera10(e)},parseOpera9:function(e){for(var t=/Line (\d+).*script (?:in )?(\S+)/i,n=e.message.split("\n"),r=[],o=2,i=n.length;o/,"$2").replace(/\([^\)]*\)/g,"")||void 0,o=void 0===(o=r.match(/\(([^\)]*)\)/)?r.replace(/^[^\(]+\(([^\)]*)\)$/,"$1"):o)||"[arguments not available]"===o?void 0:o.split(",");return new s({functionName:t,args:o,fileName:n[0],lineNumber:n[1],columnNumber:n[2],source:e})},this)}}});var S=_,E=function(e,t,n,r){var o=r&&r.redactedKeys?r.redactedKeys:[],r=r&&r.redactedPaths?r.redactedPaths:[];return JSON.stringify(I(e,o,r),t,n)},O=20,j=25e3,x=8,k="...";function A(e){return e instanceof Error||/^\[object (Error|(Dom)?Exception)\]$/.test(Object.prototype.toString.call(e))}function M(e){return"[Throws: "+(e?e.message:"?")+"]"}function P(e,t){for(var n=0,r=e.length;nx&&jO)return k;if(n())return k;if(null===e||"object"!=typeof e)return e;if(P(f,e))return"[Circular]";if(f.push(e),"function"==typeof e.toJSON)try{d--;var r=p(e.toJSON(),t);return f.pop(),r}catch(e){return M(e)}if(A(e)){d--;r=p({name:e.name,message:e.message},t);return f.pop(),r}if(C(e)){for(var o=[],i=0,a=e.length;i=e.length)return n(null,!0);t(e[r],function(e,t){return e?n(e):!1===t?n(null,!1):(r++,void o())})};o()},se=function(e,r,o,t){ae(e,function(e,n){if("function"!=typeof e)return n(null);try{if(2!==e.length){var t=e(r);return t&&"function"==typeof t.then?t.then(function(e){return setTimeout(function(){return n(null,e)})},function(e){setTimeout(function(){return o(e),n(null,!0)})}):n(null,t)}e(r,function(e,t){return e?(o(e),n(null)):void n(null,t)})}catch(e){o(e),n(null)}},t)},ue=function(e,t,n,r){for(var o=!1,i=e.slice();!o&&i.length;)try{o=!1===i.pop()(t)}catch(e){r.error("Error occurred in "+n+" callback, continuing anyway…"),r.error(e)}return o},ce=function(e,t){e="000000000"+e;return e.substr(e.length-t)},le="object"==typeof window?window:self,fe=0;for(re in le)Object.hasOwnProperty.call(le,re)&&fe++;var y=navigator.mimeTypes?navigator.mimeTypes.length:0,de=ce((y+navigator.userAgent.length).toString(36)+fe.toString(36),4),pe=function(){return de},he=0,ge=4,ve=36,ye=Math.pow(ve,ge);function me(){return ce((Math.random()*ye<<0).toString(ve),ge)}function be(){return he=hethis._config.maxBreadcrumbs&&(this._breadcrumbs=this._breadcrumbs.slice(this._breadcrumbs.length-this._config.maxBreadcrumbs))))},e._isBreadcrumbTypeEnabled=function(e){var t=this._config.enabledBreadcrumbTypes;return null===t||f(t,e)},e.notify=function(e,t,n){void 0===n&&(n=xe);e=ie.create(e,!0,void 0,"notify()",this._depth+1,this._logger);this._notify(e,t,n)},e._notify=function(n,e,r){var o=this;if(void 0===r&&(r=xe),n.app=d({},n.app,{releaseStage:this._config.releaseStage,version:this._config.appVersion,type:this._config.appType}),n.context=n.context||this._context,n._metadata=d({},n._metadata,this._metadata),n._user=d({},n._user,this._user),n.breadcrumbs=this._breadcrumbs.slice(),je(n._features,this._features,n._featuresIndex),null!==this._config.enabledReleaseStages&&!f(this._config.enabledReleaseStages,this._config.releaseStage))return this._logger.warn("Event not sent due to releaseStage/enabledReleaseStages configuration"),r(null,n);var i=n.severity,a=function(e){o._logger.error("Error occurred in onError callback, continuing anyway…"),o._logger.error(e)},e=[].concat(this._cbs.e).concat(e);se(e,n,a,function(e,t){return e&&a(e),t?(o._isBreadcrumbTypeEnabled("error")&&s.prototype.leaveBreadcrumb.call(o,n.errors[0].errorClass,{errorClass:n.errors[0].errorClass,errorMessage:n.errors[0].errorMessage,severity:n.severity},"error"),i!==n.severity&&(n._handledState.severityReason={type:"userCallbackSetSeverity"}),n.unhandled!==n._handledState.unhandled&&(n._handledState.severityReason.unhandledOverridden=!0,n._handledState.unhandled=n.unhandled),o._session&&(o._session._track(n),n._session=o._session),void o._delivery.sendEvent({apiKey:n.apiKey||o._config.apiKey,notifier:o._notifier,events:[n]},function(e){return r(e,n)})):(o._logger.debug("Event not sent due to onError callback"),r(null,n))})},s}(),ke=function(t,n){return new Error("Invalid configuration\n"+v(u(t),function(e){return" - "+e+" "+t[e]+", got "+Ae(n[e])}).join("\n\n"))},Ae=function(e){switch(typeof e){case"string":case"number":case"object":return JSON.stringify(e);default:return String(e)}},Me=y,Pe={},Le=["events.[].metaData","events.[].breadcrumbs.[].metaData","events.[].request"];Pe.event=function(e,t){var n=E(e,null,null,{redactedPaths:Le,redactedKeys:t});return 1e6r.document.documentElement.clientHeight?"landscape":"portrait"),t._config.generateAnonymousId&&(n.id=tt(r)),t.addOnSession(function(e){e.device=d({},e.device,n),t._config.collectUserIp||rt(e)}),t.addOnError(function(e){e.device=d({},e.device,n,{time:new Date}),t._config.collectUserIp||rt(e)},!0)},configSchema:{generateAnonymousId:{validate:function(e){return!0===e||!1===e},defaultValue:function(){return!0},message:"should be true|false"}}}},rt=function(e){var t=e.getUser();t&&t.id||e.setUser(e.device.id)},ot=function(t){return void 0===t&&(t=window),{load:function(e){e.addOnError(function(e){e.request&&e.request.url||(e.request=d({},e.request,{url:t.location.href}))},!0)}}},it={load:function(e){e._sessionDelegate=at}},at={startSession:function(e,t){return e._session=t,(e._pausedSession=null)===e._config.enabledReleaseStages||f(e._config.enabledReleaseStages,e._config.releaseStage)?e._delivery.sendSession({notifier:e._notifier,device:t.device,app:t.app,sessions:[{id:t.id,startedAt:t.startedAt,user:t._user}]}):e._logger.warn("Session not sent due to releaseStage/enabledReleaseStages configuration"),e},resumeSession:function(e){return e._session?e:e._pausedSession?(e._session=e._pausedSession,e._pausedSession=null,e):e.startSession()},pauseSession:function(e){e._pausedSession=e._session,e._session=null}},st={load:function(e){e._config.collectUserIp||e.addOnError(function(e){e._user&&void 0===e._user.id&&delete e._user.id,e._user=d({id:"[REDACTED]"},e._user),e.request=d({clientIp:"[REDACTED]"},e.request)})},configSchema:{collectUserIp:{defaultValue:function(){return!0},message:"should be true|false",validate:function(e){return!0===e||!1===e}}}},ut={load:function(i){!/^(local-)?dev(elopment)?$/.test(i._config.releaseStage)&&i._isBreadcrumbTypeEnabled("log")&&v(ct,function(r){var o=console[r];console[r]=function(){for(var e=arguments.length,t=new Array(e),n=0;n "+r.join(""):r.join("")}var bt={},bt=function(n){return void 0===n&&(n=window),{load:function(t){var e;"addEventListener"in n&&t._isBreadcrumbTypeEnabled("navigation")&&(e=function(e){return function(){return t.leaveBreadcrumb(e,{},"navigation")}},n.addEventListener("pagehide",e("Page hidden"),!0),n.addEventListener("pageshow",e("Page shown"),!0),n.addEventListener("load",e("Page loaded"),!0),n.document.addEventListener("DOMContentLoaded",e("DOMContentLoaded"),!0),n.addEventListener("load",function(){return n.addEventListener("popstate",e("Navigated back"),!0)}),n.addEventListener("hashchange",function(e){e=e.oldURL?{from:wt(e.oldURL,n),to:wt(e.newURL,n),state:Et(n)}:{to:wt(n.location.href,n)};t.leaveBreadcrumb("Hash changed",e,"navigation")},!0),n.history.replaceState&&St(t,n.history,"replaceState",n),n.history.pushState&&St(t,n.history,"pushState",n))}}},wt=function(e,t){t=t.document.createElement("A");return t.href=e,""+t.pathname+t.search+t.hash},_t=function(e,t,n,r){var o=wt(e.location.href,e);return{title:n,state:t,prevState:Et(e),to:r||o,from:o}},St=function(r,o,i,a){var s=o[i];o[i]=function(e,t,n){r.leaveBreadcrumb("History "+i,_t(a,e,t,n),"navigation"),"function"==typeof r.resetEventCount&&r.resetEventCount(),r._config.autoTrackSessions&&r.startSession(),s.apply(o,[e,t].concat(void 0!==n?n:[]))}},Et=function(e){try{return e.history.state}catch(e){}},Ot="request",jt=function(n,l){void 0===n&&(n=[]),void 0===l&&(l=window);return{load:function(r){var o,a,s;function e(){var i;"addEventListener"in l.XMLHttpRequest.prototype&&(i=l.XMLHttpRequest.prototype.open,l.XMLHttpRequest.prototype.open=function(e,t){var n=this,r=function(){return c(e,t)},o=function(){return u(e,t,n.status)};1||(this.removeEventListener("load",o),this.removeEventListener("error",r)),this.addEventListener("load",o),this.addEventListener("error",r),i.apply(this,arguments)})}function u(e,t,n){void 0!==t?"string"==typeof t&&f(o,t.replace(/\?.*$/,""))||(t={status:n,request:e+" "+t},400<=n?r.leaveBreadcrumb("XMLHttpRequest failed",t,Ot):r.leaveBreadcrumb("XMLHttpRequest succeeded",t,Ot)):r._logger.warn("The request URL is no longer present on this XMLHttpRequest. A breadcrumb cannot be left for this request.")}function c(e,t){void 0!==t?"string"==typeof t&&f(o,t.replace(/\?.*$/,""))||r.leaveBreadcrumb("XMLHttpRequest error",{request:e+" "+t},Ot):r._logger.warn("The request URL is no longer present on this XMLHttpRequest. A breadcrumb cannot be left for this request.")}function t(){var i;"fetch"in l&&!l.fetch.polyfill&&(i=l.fetch,l.fetch=function(){var r,e=arguments,t=arguments[0],n=arguments[1],o=null;return t&&"object"==typeof t?(o=t.url,n&&"method"in n?r=n.method:t&&"method"in t&&(r=t.method)):(o=t,n&&"method"in n&&(r=n.method)),void 0===r&&(r="GET"),new Promise(function(t,n){i.apply(void 0,e).then(function(e){a(e,r,o),t(e)}).catch(function(e){s(r,o),n(e)})})})}r._isBreadcrumbTypeEnabled("request")&&(o=[r._config.endpoints.notify,r._config.endpoints.sessions].concat(n),e(),t(),a=function(e,t,n){n={status:e.status,request:t+" "+n};400<=e.status?r.leaveBreadcrumb("fetch() failed",n,Ot):r.leaveBreadcrumb("fetch() succeeded",n,Ot)},s=function(e,t){r.leaveBreadcrumb("fetch() error",{request:e+" "+t},Ot)})}}},xt={load:function(t){var n=0;t.addOnError(function(e){return n>=t._config.maxEvents?(t._logger.warn("Cancelling event send due to maxEvents per session limit of "+t._config.maxEvents+" being reached"),!1):void n++}),t.resetEventCount=function(){n=0}},configSchema:{maxEvents:{defaultValue:function(){return 10},message:"should be a positive integer ≤100",validate:function(e){return t(1,100)(e)}}}},kt={},At=(kt={load:function(e){e.addOnError(function(e){e=h(e.errors,function(e,t){return e.concat(t.stacktrace)},[]);v(e,function(e){e.file=At(e.file)})})}})._strip=function(e){return"string"==typeof e?e.replace(/\?.*$/,"").replace(/#.*$/,""):e},Mt=function(t,f){return void 0===t&&(t=window),void 0===f&&(f="window onerror"),{load:function(c){var l;function e(e,t,n,r,o){var i,a,s,u;0===n&&/Script error\.?/.test(e)?c._logger.warn("Ignoring cross-domain or eval script error. See docs: https://tinyurl.com/yy3rn63z"):(i={severity:"error",unhandled:!0,severityReason:{type:"unhandledException"}},o?(u=c.Event.create(o,!0,i,f,1),Pt(u.errors[0].stacktrace,t,n,r)):"object"!=typeof e||null===e||t&&"string"==typeof t||n||r||o?(u=c.Event.create(e,!0,i,f,1),Pt(u.errors[0].stacktrace,t,n,r)):(a=e.type?"Event: "+e.type:"Error",s=e.message||e.detail||"",(u=c.Event.create({name:a,message:s},!0,i,f,1)).originalError=e,u.addMetadata(f,{event:e,extraParameters:t})),c._notify(u)),"function"==typeof l&&l.apply(this,arguments)}c._config.autoDetectErrors&&c._config.enabledErrorTypes.unhandledExceptions&&(l=t.onerror,t.onerror=e)}}},Pt=function(e,t,n,r){e[0]||e.push({});e=e[0];e.file||"string"!=typeof t||(e.file=t),!e.lineNumber&&Lt(n)&&(e.lineNumber=n),e.columnNumber||(Lt(r)?e.columnNumber=r:window.event&&Lt(window.event.errorCharacter)&&(e.columnNumber=window.event.errorCharacter))},Lt=function(e){return"number"==typeof e&&"NaN"!==String.call(e)},Tt=function(e){return void 0===e&&(e=window),{load:function(r){var n;r._config.autoDetectErrors&&r._config.enabledErrorTypes.unhandledRejections&&(n=function(e){var t=e.reason,n=!1;try{e.detail&&e.detail.reason&&(t=e.detail.reason,n=!0)}catch(e){}e=r.Event.create(t,!1,{severity:"error",unhandled:!0,severityReason:{type:"unhandledPromiseRejection"}},"unhandledrejection handler",1,r._logger);n&&v(e.errors[0].stacktrace,Ct(t)),r._notify(e,function(e){var t;V(e.originalError)&&!e.originalError.stack&&e.addMetadata("unhandledRejection handler",((t={})[Object.prototype.toString.call(e.originalError)]={name:e.originalError.name,message:e.originalError.message,code:e.originalError.code},t))})},"addEventListener"in e?e.addEventListener("unhandledrejection",n):e.onunhandledrejection=function(e,t){n({detail:{reason:e,promise:t}})},0)}}},Ct=function(t){return function(e){e.file!==t.toString()&&e.method&&(e.method=e.method.replace(/^\s+/,""))}},y={},Nt="Bugsnag JavaScript",It="7.25.0",Bt="https://github.com/bugsnag/bugsnag-js",Dt=d({},c.schema,e),Rt={_client:null,createClient:function(e){e=(e="string"==typeof e?{apiKey:e}:e)||{};var t=[qe,nt(),Fe(),ot(),xt,it,st,kt,Mt(),Tt(),bt(),gt(),jt(),ut,dt()],t=new Me(e,Dt,t,{name:Nt,version:It,url:Bt});return t._setDelivery(window.XDomainRequest?Ce:Be),t._logger.debug("Loaded!"),t.leaveBreadcrumb("Bugsnag loaded",{},"state"),t._config.autoTrackSessions?t.startSession():t},start:function(e){return Rt._client?Rt._client._logger.warn("Bugsnag.start() was called more than once. Ignoring."):Rt._client=Rt.createClient(e),Rt._client},isStarted:function(){return null!=Rt._client}};return v(["resetEventCount"].concat(u(Me.prototype)),function(t){/^_/.test(t)||(Rt[t]=function(){if(!Rt._client)return console.log("Bugsnag."+t+"() was called before Bugsnag.start()");Rt._client._depth+=1;var e=Rt._client[t].apply(Rt._client,arguments);return--Rt._client._depth,e})}),(y=Rt).Client=Me,y.Event=ie,y.Session=Se,y.Breadcrumb=b,y.default=Rt,y},e.exports=t()},4749:function(e,t,n){e.exports=n(1881)},7972:function(e,t,n){"use strict";function r(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=s(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,t=function(){};return{s:t,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:t}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){a=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(a)throw o}}}}function s(e,t){if(e){if("string"==typeof e)return o(e,t);var n={}.toString.call(e).slice(8,-1);return"Map"===(n="Object"===n&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n(e.Metric="metric",e.Log="log",e.MetricWithLogs="metric_and_log",e))(a||{}),s=(e=>(e.Counter="counter",e.Historgram="histogram",e.Gauge="gauge",e.Measure="measure",e))(s||{}),u=(e=>(e[e.Trace=0]="Trace",e[e.Info=1]="Info",e[e.Warn=2]="Warn",e[e.Error=3]="Error",e))(u||{}),r=n(4855),c=n(817);class o{constructor(e=3,t=150){this.maxRetries=e,this.delayMs=t}async do(t,n){let r=0,o;for(;rsetTimeout(e,t))}}class i{constructor(e,t,n={bufferDuration:1e3,maxQueueSize:50}){this.events=[],this.errorHandler=e,this.config=n,this.queueFlusherID=setInterval(()=>{this.flush()},this.config.bufferDuration),this.monorail=r.s.createHttpProducer({production:!0,middleware:[new o(3,100)]})}async shutdown(){clearInterval(this.queueFlusherID),await this.flush()}record(e){e&&(this.events.push(this.prepareEvent(e)),this.events.length>=this.config.maxQueueSize&&this.flush())}async flush(){await this.sendAllBufferedEvents()}prepareEvent(e){return{...e,metadata:{eventCreatedAtMs:Date.now()}}}async sendAllBufferedEvents(){if(!(this.events.length<=0)){const e=this.events;this.events=[];try{await this.monorail.produceBatch({events:e})}catch(e){this.errorHandler(e)}}}}const l=new Set(["userToken","sessionToken"]);function f(e,t){return{payload:{origin:t,logFields:h(e.entries),logMessage:e.message},schemaId:"checkout_frontend_telemetry/2.1"}}function d(e,t){return{payload:{origin:t,metricType:e.metricType,metricKey:e.key,metricDelta:e.value,metricTags:h(p(e.tags))},schemaId:"checkout_frontend_telemetry/2.1"}}function p(e){const n={};return e.forEach((e,t)=>{n[t]=e}),n}function h(e){return g(v(e))}function g(e){if(null==e)return[];const t=[];for(var[n,r]of Object.entries(e))t.push(n.toString()),t.push(`${r}`);return t}function v(e){if(null==e)return{};const t={};for(var[n,r]of Object.entries(e))if(!l.has(n))if(r&&"object"==typeof r){const a=v(r);for(var[o,i]of Object.entries(a))t[`${n}.${o}`]=i}else t[n]=r;return t}class y{constructor(e,t=()=>u.Info,n=()=>{},r=!1){this.appId=e,this.minTransmittableLogLevel=t,this.errorHandler=n,this.debugMode=r,this.globalContext={},this.client=new i(this.errorHandler,r)}incrementCounter(e,t=1,n=new Map){this.sendMetric(s.Counter,e,t,n)}histogram(e,t=1,n=new Map){this.sendMetric(s.Historgram,e,t,n)}gauge(e,t=1,n=new Map){this.sendMetric(s.Gauge,e,t,n)}async measure(e,t=new Map,n){const r=Date.now(),o=await n(),i=Date.now();return this.sendMetric(s.Measure,e,i-r,t),o}measureSync(e,t=new Map,n){const r=Date.now(),o=n(),i=Date.now();return this.sendMetric(s.Measure,e,i-r,t),o}log(e,t,n={}){const r={type:a.Log,level:e,message:t,entries:this.mixContext(n)};e>=this.minTransmittableLogLevel()&&this.sendEvent(r)}trace(e,t={}){this.log(u.Trace,e,t)}info(e,t={}){this.log(u.Info,e,t)}warn(e,t={}){this.log(u.Warn,e,t)}error(e,t={}){this.log(u.Error,e,t)}noticeError(e,t=new Map,n={},r=!1){t.set("expected",String(r)),t.set("errorName",e.name);const o={metricType:s.Counter,type:a.Metric,key:"Errors",value:1,tags:t};this.sendEvent(o);const i={type:a.Log,level:u.Error,entries:this.mixContext(n),message:`${e.name}: ${e.message} ${e.stack}`};this.sendEvent(i)}setGlobalContext(e){this.globalContext=e}async flush(){await this.client.flush()}async shutdown(){await this.client.shutdown()}sendMetric(e,t,n,r){const o={type:a.Metric,metricType:e,key:t,value:n&&Math.floor(n),tags:r};this.sendEvent(o)}sendEvent(e){this.client.record(this.mapEventToMonorailSchema(e))}mixContext(e={}){return{...this.globalContext,...e,agent_metadata:{agent_timestamp:Date.now()}}}mapEventToMonorailSchema(e){switch(e.type){case a.Metric:return d(e,this.appId);case a.Log:return f(e,this.appId);default:throw new Error("unknown telemetry type cannot be mapped to checkout frontend telemetry monorail schema")}}}},4855:function(e,t,n){"use strict";function r(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function o(t){for(var e=1;ee.toString(16)).join("")}function v(t,e=!0){return t&&Object.keys(t).length&&e?Object.keys(t).map(e=>({[y(e)]:t[e]})).reduce((e,t)=>o(o({},e),t)):t}function y(e){return e.split(/(?=[A-Z])/).join("_").toLowerCase()}function m(e){return e.events.map(e=>{let t=!0,n=!0;return e&&e.options&&Object.prototype.hasOwnProperty.call(e.options,"convertEventCase")&&(t=Boolean(e.options.convertEventCase)),e&&e.options&&Object.prototype.hasOwnProperty.call(e.options,"convertMetaDataCase")&&(n=Boolean(e.options.convertMetaDataCase)),{schema_id:e.schemaId,payload:v(e.payload,t),metadata:v(e.metadata,n)}})}var b=n(817);class w{static withEndpoint(e){return new w(d(e))}constructor(e=u,t=!1){this.edgeDomain=e,this.keepalive=t}async produceBatch(e){const t={events:m(e),metadata:v(e.metadata)};let n;try{n=await fetch(this.produceBatchEndpoint(),{method:"post",headers:_(e.metadata),body:JSON.stringify(t),keepalive:this.keepalive})}catch(e){throw new b.pJ(e)}if(207===n.status){const r=await n.json();throw new b.Mh(r)}if(!n.ok)throw new b.Kv({status:n.status,message:await n.text()});return{status:n.status}}async produce(e){let t=!0;e&&e.options&&Object.prototype.hasOwnProperty.call(e.options,"convertEventCase")&&(t=Boolean(e.options.convertEventCase));let n;try{n=await S({endpoint:this.produceEndpoint(),keepalive:this.keepalive,event:o(o({},e),{},{payload:v(e.payload,t)})})}catch(e){throw new b.pJ(e)}if(!n)throw new b.Kv({message:"No response from edge"});if(!n.ok)throw new b.Kv({status:n.status,message:await n.text()});return{status:n.status}}produceBatchEndpoint(){return this.edgeDomain+l}produceEndpoint(){return this.edgeDomain+f}}function _(e){const t={"Content-Type":"application/json; charset=utf-8","X-Monorail-Edge-Event-Created-At-Ms":(e&&e.eventCreatedAtMs||Date.now()).toString(),"X-Monorail-Edge-Event-Sent-At-Ms":Date.now().toString(),"X-Monorail-Edge-Client-Message-Id":(e&&e.clientMessageId||g()).toString()};return e&&e.userAgent&&(t["User-Agent"]=e.userAgent),e&&e.remoteIp&&(t["X-Forwarded-For"]=e.remoteIp),t}async function S({endpoint:e,event:t,keepalive:n}){return fetch(null!=e?e:c+f,{method:"post",headers:_(t.metadata),body:JSON.stringify({schema_id:t.schemaId,payload:t.payload}),keepalive:n})}class E{static printWelcomeMessage(e){console.log("%c👋 from Monorail%c\n\n"+`We've noticed that you're${e?"":" not"} `+"running in debug mode. "+`As such, we will ${e?"produce":"not produce"} `+"Monorail events to the console. "+`\n\nIf you want Monorail events to ${e?"stop":"start"} `+`appearing here, %cset debugMode=${(!e).toString()}%c, `+"for the Monorail Log Producer in your code.","font-size: large;","font-size: normal;","font-weight: bold;","font-weight: normal;")}constructor(e){(this.sendToConsole=e)&&E.printWelcomeMessage(e)}produce(t){return this.sendToConsole&&console.log("Monorail event produced",t),new Promise(e=>{e(t)})}produceBatch(t){return this.sendToConsole&&console.log("Monorail Batch event produced",t),new Promise(e=>{e(t)})}}class O{static createLogProducer(e){return new O(new E(e.debugMode),e.middleware||[])}static createHttpProducerWithEndpoint(e,t=[]){return new O(w.withEndpoint(e),t)}static createHttpProducer(e){const t=e.options&&e.options.keepalive;return new O(e.production?new w(c,t):new w(u,t),e.middleware||[])}static buildMiddlewareChain(t,n=0){return n===t.length?this.identityFn:e=>t[n].do(e,this.buildMiddlewareChain(t,n+1))}constructor(e,t){this.producer=e,this.middleware=t,this.executeChain=O.buildMiddlewareChain(this.middleware.concat(new h(e)))}produce(e){return e.metadata=o({eventCreatedAtMs:Date.now(),clientMessageId:g()},e.metadata),this.executeChain(e)}produceBatch(e){return this.executeChain(e)}}},817:function(e,t,n){"use strict";n.d(t,{Kv:function(){return r},Mh:function(){return o},pJ:function(){return i},rV:function(){return a}});class r extends Error{constructor(e){super(`Error producing to the Monorail Edge. Response received: ${JSON.stringify(e)}`),this.response=e,Object.setPrototypeOf(this,r.prototype)}}class o extends Error{constructor(e){super(`Error producing to the Monorail Edge. Response received: ${JSON.stringify(e)}`),Object.setPrototypeOf(this,o.prototype),this.response=e}}class i extends Error{constructor(e){super(`Error completing request. A network failure may have prevented the request from completing. Error: ${e}`),Object.setPrototypeOf(this,i.prototype)}}class a extends Error{constructor(e){super(`${e}`),Object.setPrototypeOf(this,a.prototype)}}}},r={};function g(e){var t=r[e];if(void 0!==t)return t.exports;t=r[e]={id:e,exports:{}};return n[e].call(t.exports,t,t.exports,g),t.exports}g.m=n,g.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return g.d(t,{a:t}),t},g.d=function(e,t){for(var n in t)g.o(t,n)&&!g.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},g.f={},g.e=function(n){return Promise.all(Object.keys(g.f).reduce(function(e,t){return g.f[t](n,e),e},[]))},g.u=function(e){return 788===e?"latest/2fb9fd41d2466bab329a.spb-788.en.js":582===e?"latest/1d4a55535d767e66747c.spb-582.en.js":588===e?"latest/9bc9edf54f0bb1560389.spb-588.en.js":651===e?"latest/22041e1359781a442f25.spb-651.en.js":34===e?"latest/5ff2b75240a1d1e72216.spb-34.en.js":void 0},g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),g.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},l={},f="Shopify:",g.l=function(r,e,t,n){if(l[r])l[r].push(e);else{var o,i;if(void 0!==t)for(var a=document.getElementsByTagName("script"),s=0;s