(self.webpackChunk_klaviyo_onsite_modules=self.webpackChunk_klaviyo_onsite_modules||[]).push([[7327],{50154:function(e,t,n){"use strict";var a=n(21889);n(56816);const i="kl-post-identification-sync",r=JSON.stringify([]),s=(e,t)=>{(async e=>{const t=localStorage.getItem(i),n=null===t?[]:JSON.parse(t);n.push(e),n.length>1e4&&n.shift(),localStorage.setItem(i,JSON.stringify(n))})(e).finally((()=>{t&&t()}))},o=(e=1e3)=>(async e=>{const t=JSON.parse(localStorage.getItem(i)||r),n=t.slice(0,e),a=t.slice(e);return{events:n||[],deleteCallback:async()=>{localStorage.setItem(i,JSON.stringify(a))}}})(e),l=()=>{localStorage.removeItem(i)},c=(e,t)=>{var n;const a=(new Date).toISOString(),i={name:e.event,time:(null==(n=e.properties)?void 0:n.time)||a,properties:e.properties||{}};s(i,t)};var u=n(87789),p=n.n(u),m=(n(92461),n(44159),n(60873),n(37237)),d=n(60485),h=n(20265),y=n(34273);n(70917),n(93677),n(84304),n(75723),n(20696),n(38528),n(72418);const f=new Set(["$exchange_id","email","id","$email","$id","$anonymous","$phone_number"]),v=["name","properties"];let b=!1;const g=(e,t,n,a,i)=>{const r=((e,t,n,a)=>({data:{type:"event-bulk-create",attributes:{profile:{data:{type:"profile",attributes:Object.assign({},t)}},events:{data:e.map((e=>{const{name:t,properties:a}=e,i=p()(e,v),r=Object.assign({},a,n||{}),s=r.service;delete r.service;const o="klaviyo"===s?{name:t,service:s}:{name:t};return{type:"event",attributes:Object.assign({metric:{data:{type:"metric",attributes:o}}},i,{properties:r})}}))}},relationships:a}}))(e,n,a,i);return(0,d.W)((()=>((e,t)=>fetch(`https://a.klaviyo.com/client/event-bulk-create/?company_id=${e}`,{method:"POST",headers:Object.assign({"Access-Control-Allow-Headers":"*","Content-Type":"application/json"},(0,m.h)(),{revision:"2025-01-15"}),body:JSON.stringify(t)}))(t,r)),5,1e3+1e3*Math.random(),[429])},_={$exchange_id:"_kx",email:"email",$email:"email",$phone_number:"phone_number",phone_number:"phone_number",$id:"external_id",id:"id",$kid:"id",$anonymous:"anonymous_id"},k=e=>{let t={};return Object.keys(_).forEach((n=>{if(a=n,!Set.prototype.has.call(f,a))return;var a;const i=e[n];if(!i)return;const r=("$email"===n||"email"===n)&&!(0,h.v)(i),s="$phone_number"===n&&!(0,y.y)(i);r||s||(t=Object.assign({},t,{[_[n]]:i}))})),t},O=async(e,t,n,a,i)=>{if(0===e.events.length)return;if(429===(await g(e.events,t,n,a,i)).status)throw Error("Saving event cache due to rate limit.");await(null==e||null==e.deleteCallback?void 0:e.deleteCallback());const r=await o();return O(r,t,n,a,i)},w=async(e,t,n,a,i)=>{const r=e||window.__klKey;if(!r||b)return;const s=k(t);if(s&&0!==Object.keys(s).length){b=!0;try{const e=await o();await O(e,r,s,n,i),l(),null==a||a()}catch(e){if(e instanceof Error)throw e;throw new Error("Failed to send bulk events")}finally{b=!1}}};(()=>{(0,a.e)("cacheEvent",c),(0,a.e)("sendCachedEvents",w)})()},87789:function(e){e.exports=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n},e.exports.__esModule=!0,e.exports.default=e.exports}},function(e){e.O(0,[2462],(function(){return t=50154,e(e.s=t);var t}));e.O()}]);