@emailmaker/emailmaker 1.1.85-dev.7 → 1.1.85-dev.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -4
- package/{emailmaker-core.8402bf20.js → emailmaker-core.2047dd1a.js} +16 -16
- package/emailmaker-esm.js +10 -10
- package/{emailmaker-po.8402bf20.js → emailmaker-po.2047dd1a.js} +1 -1
- package/emailmaker.d.ts +9 -2
- package/emailmaker.js +12 -12
- package/iframe/.vite/manifest.json +4 -4
- package/iframe/js/{discussHandlers.DO8E9IM3.js → discussHandlers.DEF7Kx48.js} +5 -5
- package/iframe/js/iframe-eblock.body.js +1 -1
- package/iframe/js/iframe-eblock.js +1 -1
- package/iframe/js/iframe.body.js +2 -2
- package/iframe/js/iframe.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/Custom/FormPanel/FormSection/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/Custom/Inputs/ColorPickerInput/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/Custom/Inputs/ControlFontFamily/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/Custom/Inputs/InputSelect/index.js +34 -31
- package/node_modules/@emailmaker/ui-kit/es/components/Custom/PanelForm/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/DataDisplay/Card/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/DataDisplay/Skeleton/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/Cascader/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/Checkbox/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/ColorPicker/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/DatePicker/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/Form/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/Input/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/InputNumber/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/InputOTP/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/Password/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/Radio/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/SearchInput/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/Switch/index.js +2 -2
- package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/TextArea/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/Feedback/Alert/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/Feedback/Popconfirm/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/Feedback/Spin/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/Feedback/Tooltip/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/General/Button/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/Layout/Divider/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/Layout/Row/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/Layout/Space/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/Navigation/FloatButton/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/Navigation/Segmented/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/es/components/Navigation/Tabs/index.js +1 -1
- package/node_modules/@emailmaker/ui-kit/package.json +1 -1
- package/package.json +2 -2
- package/runtime/react/index.js +1 -1
- package/static/core/{dc224a5b.js → 134673be.js} +1 -1
- package/static/core/{f0138633.js → 13cb7458.js} +1 -1
- package/static/core/{baf39a20.js → 20510a35.js} +1 -1
- package/static/core/{ceff9046.js → 3364944b.js} +1 -1
- package/static/core/{147d6029.js → 357b2101.js} +1 -1
- package/static/core/{922df02d.js → 3608ef89.js} +1 -1
- package/static/core/{1cb0ff80.js → 384f52ae.js} +1 -1
- package/static/core/{dd291b53.js → 38ea40d5.js} +1 -1
- package/static/core/{1c31ec91.js → 49417e0f.js} +1 -1
- package/static/core/{99c5ef1b.js → 4a69e61b.js} +2 -2
- package/static/core/{afb434bd.js → 4ce7d544.js} +1 -1
- package/static/core/{7b8ce310.js → 4ed7c44e.js} +1 -1
- package/static/core/{7916de44.js → 4eec44be.js} +1 -1
- package/static/core/{6996109c.js → 52727b3c.js} +3 -3
- package/static/core/{6a5804ca.js → 6dd8d273.js} +1 -1
- package/static/core/{72c8c438.js → a259d477.js} +1 -1
- package/static/core/{adf163ad.js → a6d4a170.js} +1 -1
- package/static/core/{422d6166.js → bb9b0659.js} +1 -1
- package/static/core/{9ce867fe.js → bfb41946.js} +1 -1
- package/static/core/{8130abb3.js → c463cfc9.js} +1 -1
- package/static/core/{dbb931dd.js → c70ac7ca.js} +1 -1
- package/static/core/{9bc03055.js → d1a1a5b2.js} +1 -1
- package/static/core/{7cc4b0e9.js → e7c35a6b.js} +1 -1
- package/static/core/{c54e9dcb.js → f220d2ff.js} +1 -1
- package/static/core/{48cd36c4.js → fc16423f.js} +8 -8
- package/static/esm/e1e55006.js +1 -0
- package/static/umd-runtime/runtime.js +1 -1
- package/static/umd-runtime/ui-kit.js +2 -2
- package/vite/index.cjs +38 -0
- package/vite/index.js +38 -0
- package/static/esm/6e6cc619.js +0 -1
- /package/iframe/{iframe-eblock.8402bf20.html → iframe-eblock.2047dd1a.html} +0 -0
- /package/iframe/{iframe.8402bf20.html → iframe.2047dd1a.html} +0 -0
package/emailmaker-esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as
|
|
1
|
+
import{t as fi}from"./static/esm/50fbfdf6.js";import{$ as ss,A as as,At as L,B as ls,C as ds,Ct as cs,D as us,Dt as $,E as fs,Et as pt,F as Ye,G as pi,H as Xe,I as ps,J as ms,K as hs,L as gs,M as vs,Mt as bs,N as tt,Nt as Es,O as mi,Ot as ys,P as _s,Pt as ee,Q as hi,R as ws,S as Ss,St as Is,T as Ts,Tt as Tn,V as Zn,W as As,X as Cs,Y as gi,Z as Pe,_ as mt,_t as pe,a as Rs,at as se,b as Ps,bt as Ds,c as Os,ct as xs,d as yt,dt as Ls,et as we,f as Ms,ft as ks,g as vi,gt as Ce,h as Ns,ht as An,i as Fs,it as bi,j as js,jt as ce,k as Bs,kt as ht,l as F,lt as Us,m as Cn,mt as Rn,n as Hs,nt as De,o as Le,ot as tn,p as Gs,pt as B,q as Pn,r as qs,rt as _t,s as $s,st as me,t as le,tt as j,u as zs,ut as er,v as Vs,vt as Ks,w as Dn,wt as Z,x as tr,xt as nr,y as Ws,yt as nn,z as Te}from"./static/esm/e1e55006.js";(function(){"use strict";var e=window.__emailmaker__=window.__emailmaker__||{};e.__facadeSentinel="@shared-runtime:init-complete",e.publicPath||(e.publicPath=(function(){var m=(function(){if(typeof document<"u"&&document.querySelector)try{var w=document.querySelector('script[src*="emailmaker-esm.js"]')||document.querySelector('script[src*="emailmaker.js"]');if(w&&w.src)return w.src.substring(0,w.src.lastIndexOf("/")+1)}catch{}try{var T=import.meta.url;if(T)return T.substring(0,T.lastIndexOf("/")+1)}catch{}return"./"})();m||(m="./");try{var c=String(m);if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(c)||c.indexOf("//")===0)return c.charAt(c.length-1)==="/"?c:c+"/";var l=typeof document<"u"&&document.baseURI?document.baseURI:typeof window<"u"&&window.location?window.location.href:"",p=l?new URL(c,l).href:c;return p.charAt(p.length-1)==="/"?p:p+"/"}catch{var h=String(m);return h.charAt(h.length-1)==="/"?h:h+"/"}})()),typeof e.setPublicPath!="function"&&(e.setPublicPath=function(m){return e.publicPath=(function(){var c=m==null?"":String(m);c||(c="./");try{var l=String(c);if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(l)||l.indexOf("//")===0)return l.charAt(l.length-1)==="/"?l:l+"/";var p=typeof document<"u"&&document.baseURI?document.baseURI:typeof window<"u"&&window.location?window.location.href:"",h=p?new URL(l,p).href:l;return h.charAt(h.length-1)==="/"?h:h+"/"}catch{var w=String(c);return w.charAt(w.length-1)==="/"?w:w+"/"}})(),e.publicPath}),e.__publicPathDiagnosticsLogged||(e.__publicPathDiagnosticsLogged=!0,(function(){var m=String(e.publicPath||"");if(m.indexOf("file:")!==0&&!(m&&m!=="./")){var c="";try{if(typeof window<"u"){for(var l in window)if(!(l==="__emailmaker__"||!/^__[^_].*__$/.test(l))){var p;try{p=window[l]}catch{continue}if(p&&typeof p=="object"&&p.publicPath){c=" Another product namespace ("+l+") has publicPath set — verify the host bundler plugin matches the installed npm brand.";break}}}}catch{}}})()),e.assetUrl||(e.assetUrl=function(m){function c(O){try{var k=typeof document<"u"&&document.baseURI?document.baseURI:typeof window<"u"&&window.location?window.location.href:"";return k?new URL(String(O||""),k).href:String(O||"")}catch{return String(O||"")}}var l=String(m||"");if(!l)return"";if(/^(?:data:|blob:)/.test(l))return l;if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(l)||l.indexOf("//")===0||l.charAt(0)==="/")return c(l);var p=l.replace(/^\.\/+/,"").replace(/^\/+/,""),h="static/media".replace(/^\.\/+/,"").replace(/^\/+/,"").replace(/\/+$/,""),w=h&&p.indexOf(h+"/")!==0?h+"/"+p:p,T=e.publicPath||"./";try{return new URL(w,T).href}catch{return T.slice(-1)!=="/"&&(T+="/"),c(T+w)}}),e.version||(e.version="1.1.85-dev.8");var t=e.modules=Object.create(null);if(typeof e.define!="function"){var n=`/**
|
|
2
2
|
* Async AMD Loader (IIFE version for injection)
|
|
3
3
|
*
|
|
4
4
|
* This file is injected at the beginning of iframe entry points.
|
|
@@ -993,14 +993,14 @@ import{t as si}from"./static/esm/50fbfdf6.js";import{$ as Qo,A as Zo,At as le,B
|
|
|
993
993
|
__amdEnv.syncRequire = syncRequire;
|
|
994
994
|
__amdEnv.diagnosticsBuffer = diagBuffer;
|
|
995
995
|
})();
|
|
996
|
-
`,r=new Function("__amdEnv",n);r(e),typeof e.require=="function"&&typeof e.require.config=="function"&&e.require.config({baseUrl:"./",paths:{core:"emailmaker-core.8402bf20.js",po:"emailmaker-po.8402bf20.js",monaco:"static/monaco/index.js"}})}e.define("__delivery__/libs",[],function(){return import("./static/esm/delivery-libs.js")});var i=function(m){var c,a=function(){return c||(c=Promise.resolve().then(m))};return{then:function(p,h){return a().then(p,h)},catch:function(p){return a().catch(p)},finally:function(p){return a().finally(p)}}},o=i(function(){return e.require(["__delivery__/libs"]).then(function(m){return m[0]})});t.React=i(function(){return o.then(function(m){return m.React})}),t.ReactDom=i(function(){return o.then(function(m){return m.ReactDom})}),t.ReactDomClient=i(function(){return o.then(function(m){return m.ReactDomClient})}),t.ReactJsxRuntime=i(function(){return o.then(function(m){return m.ReactJsxRuntime})}),t.ReactJsxDevRuntime=i(function(){return o.then(function(m){return m.ReactJsxDevRuntime})}),t.AntDesignIconBase=i(function(){return o.then(function(m){return m.AntDesignIconBase})}),t.AntDesignCssinjs=i(function(){return o.then(function(m){return m.AntDesignCssinjs})}),t.Classnames=i(function(){return o.then(function(m){return m.Classnames})}),t.Dayjs=i(function(){return o.then(function(m){return m.Dayjs})});var s=i(function(){return Promise.all([o]).then(function(m){var c=m[0]||Object.create(null),a=Object.create(null);for(var p in c)Object.prototype.hasOwnProperty.call(c,p)&&(a[p]=c[p]);for(var h in a)Object.prototype.hasOwnProperty.call(a,h)&&(t[h]=a[h]);return a})}),d={},l={Antd:"[runtime] `antd` is not available: the compatibility layer for global plugins is not enabled. Add `import '@emailmaker/emailmaker/compat-globals';` before creating the editor, or turn on the `compatGlobals` option of the bundler plugin. ESM builds omit this layer by default so that plugin compatibility is not paid for by every integrator.",AntDesignIcons:"[runtime] `@ant-design/icons` is not available: the compatibility layer for global plugins is not enabled. Add `import '@emailmaker/emailmaker/compat-globals';` before creating the editor, or turn on the `compatGlobals` option of the bundler plugin. ESM builds omit this layer by default so that plugin compatibility is not paid for by every integrator."},f={Antd:"[runtime] `antd` is served from the host runtime for backward compatibility. Rebuild the plugin with the current CLI to bundle it from its own copy of the package. This compatibility layer is deprecated.",AntDesignIcons:"[runtime] `@ant-design/icons` is served from the host runtime for backward compatibility. Rebuild the plugin with the current CLI to bundle it from its own copy of the package. This compatibility layer is deprecated."},u=Object.create(null);if(e.registerCompat=function(m){if(!(!m||typeof m!="object"))for(var c in m)Object.prototype.hasOwnProperty.call(m,c)&&(u[c]=m[c])},e.__compatPending){for(var v=0;v<e.__compatPending.length;v+=1)e.registerCompat(e.__compatPending[v]);e.__compatPending=void 0}for(var b in l)Object.prototype.hasOwnProperty.call(l,b)&&(function(m,c,a){var p=!1,h=function(){if(!(m in u))throw new Error(c);return u[m]};Object.defineProperty(t,m,{configurable:!0,enumerable:!0,get:function(){var _=h();return p||(p=!0),_},set:function(_){u[m]=_}}),Object.defineProperty(d,m,{configurable:!0,enumerable:!0,get:h,set:function(_){u[m]=_}})})(b,l[b],f[b]);var E=t;for(var I in d)Object.prototype.hasOwnProperty.call(d,I)&&(E===t&&(E=Object.create(t)),Object.defineProperty(E,I,Object.getOwnPropertyDescriptor(d,I)));var g=s,y=[],w=function(){for(var m=[],c=0;c<y.length;c+=1)(function(a){var p=t[a];p&&typeof p.then=="function"&&m.push(Promise.resolve(p).then(function(h){t[a]=h}))})(y[c]);return Promise.all(m)},S=typeof e.prefetch=="function"?e.prefetch:void 0;if(e.prefetch=function(){return s.then(w).then(function(){if(typeof S=="function")return S.call(e)})},typeof e.define=="function"){let m=function(c){if(!c||typeof c!="object"&&typeof c!="function"||c.__esModule)return c;if(A){var a=A.get(c);if(a)return a}var p=Object.create(null);Object.defineProperties(p,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});for(var h=Reflect.ownKeys(c),_=0;_<h.length;_++){var T=h[_];if(T!=="__esModule"){var D=Object.getOwnPropertyDescriptor(c,T);D&&Object.defineProperty(p,T,D)}}return Object.prototype.hasOwnProperty.call(p,"default")||Object.defineProperty(p,"default",{enumerable:!0,value:c,writable:!1}),A&&A.set(c,p),p};var A=typeof WeakMap<"u"?new WeakMap:null;e.define("react",[],function(){var c=E.React;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.React)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.React;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/react",[],function(){var c=E.React;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.React)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.React;return m(p)})}),e.define("react-dom",[],function(){var c=E.ReactDom;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.ReactDom)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.ReactDom;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/react-dom",[],function(){var c=E.ReactDom;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.ReactDom)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.ReactDom;return m(p)})}),e.define("react-dom/client",[],function(){var c=E.ReactDomClient;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.ReactDomClient)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.ReactDomClient;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/react-dom/client",[],function(){var c=E.ReactDomClient;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.ReactDomClient)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.ReactDomClient;return m(p)})}),e.define("react/jsx-runtime",[],function(){var c=E.ReactJsxRuntime;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.ReactJsxRuntime)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.ReactJsxRuntime;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/react/jsx-runtime",[],function(){var c=E.ReactJsxRuntime;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.ReactJsxRuntime)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.ReactJsxRuntime;return m(p)})}),e.define("react/jsx-dev-runtime",[],function(){var c=E.ReactJsxDevRuntime;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.ReactJsxDevRuntime)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.ReactJsxDevRuntime;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/react/jsx-dev-runtime",[],function(){var c=E.ReactJsxDevRuntime;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.ReactJsxDevRuntime)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.ReactJsxDevRuntime;return m(p)})}),e.define("antd",[],function(){var c=E.Antd;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.Antd)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.Antd;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/antd",[],function(){var c=E.Antd;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.Antd)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.Antd;return m(p)})}),e.define("@ant-design/icons/es/components/AntdIcon",[],function(){var c=E.AntDesignIconBase;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.AntDesignIconBase)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.AntDesignIconBase;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/@ant-design/icons/es/components/AntdIcon",[],function(){var c=E.AntDesignIconBase;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.AntDesignIconBase)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.AntDesignIconBase;return m(p)})}),e.define("@ant-design/icons",[],function(){var c=E.AntDesignIcons;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.AntDesignIcons)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.AntDesignIcons;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/@ant-design/icons",[],function(){var c=E.AntDesignIcons;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.AntDesignIcons)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.AntDesignIcons;return m(p)})}),e.define("@ant-design/cssinjs",[],function(){var c=E.AntDesignCssinjs;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.AntDesignCssinjs)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.AntDesignCssinjs;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/@ant-design/cssinjs",[],function(){var c=E.AntDesignCssinjs;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.AntDesignCssinjs)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.AntDesignCssinjs;return m(p)})}),e.define("classnames",[],function(){var c=E.Classnames;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.Classnames)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.Classnames;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/classnames",[],function(){var c=E.Classnames;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.Classnames)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.Classnames;return m(p)})}),e.define("dayjs",[],function(){var c=E.Dayjs;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.Dayjs)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.Dayjs;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/dayjs",[],function(){var c=E.Dayjs;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.Dayjs)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.Dayjs;return m(p)})}),e.define("@emailmaker/ui-kit",[],function(){var c=E.UiKit;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.UiKit)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.UiKit;return m(p)})}),e.define("@emailmaker/emailmaker/ui-kit",[],function(){var c=E.UiKit;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.UiKit)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.UiKit;return m(p)})}),e.define("@emailmaker/emailmaker/ui-kit/icons",[],function(){var c=E.UiKitIcons;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.UiKitIcons)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.UiKitIcons;return m(p)})}),e.define("@emailmaker/ui-kit/icons",[],function(){var c=E.UiKitIcons;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.UiKitIcons)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.UiKitIcons;return m(p)})})}globalThis.__SHARED_RUNTIME_INIT_SENTINEL__="@shared-runtime:init-complete"})();var Hs=new Function("url","return import(url)");function Gs(e){if(typeof e!="function")return!1;try{return Reflect.construct(String,[],e),!0}catch{return!1}}function qs(e){return typeof e=="object"&&e!==null&&"type"in e&&"url"in e}function $s(e){return e.type==="umd"||e.resolve==="registry"}var zs=class{_context;_pluginRegistry;_options;_map=new Map;_optionsMap=new Map;_readyMap=new Map;_resolveMap=new Map;_initializingPlugins=new Map;_creatingPlugins=new Set;_initializedPlugins=new Set;_creationOrder=[];_lifecycleListeners=new Set;_activated=!1;constructor(e,t,n={}){this._context=e,this._pluginRegistry=t,this._options=n}activate(){return this._activated=!0,this._startPluginsBatch(Array.from(this._map.values()))}activateSync(){this._activated=!0,this._startPluginsBatch(Array.from(this._map.values()))}onLifecycle(e){return this._lifecycleListeners.add(e),{dispose:()=>this._lifecycleListeners.delete(e)}}_emitLifecycle(e){for(const t of Array.from(this._lifecycleListeners))try{t(e)}catch{}}async _resolveEntry(e){if(typeof e=="string"||typeof e=="symbol"){const t=await this._pluginRegistry.getAsync(e);if(!t)throw new Error(`Plugin "${String(e)}" not registered.`);return{ctor:t}}if(typeof e=="function")return e.length===0?{ctor:await e()}:{ctor:e};if(Array.isArray(e)){const[t,n]=e;if(typeof t=="function")return{ctor:t,options:n};const r=await this._pluginRegistry.getAsync(t);if(!r)throw new Error(`Plugin "${String(t)}" not registered.`);return{ctor:r,options:n}}if(qs(e))return this._resolveDescriptor(e);throw new Error(`Unknown plugin entry format: ${JSON.stringify(e)}`)}async _resolveDescriptor(e){const t=e.resolve??(e.type==="umd"?"window":"module");if($s(e)&&await this._options.ensureHostRuntimeReady?.(e),e.type==="esm"){const n=await Hs(e.url);if(t==="module")return{ctor:n.default??n};if(t==="registry"&&e.name){const r=await this._pluginRegistry.getAsync(e.name);if(!r)throw new Error(`Plugin "${e.name}" not found in registry after ESM load`);return{ctor:r}}}if(e.type==="umd"){if(await this._loadScript(e.url),t==="window"&&e.name){const n=globalThis[e.name];if(!n)throw new Error(`Plugin "${e.name}" not found on window after script load`);return{ctor:n}}if(t==="registry"&&e.name){const n=await this._pluginRegistry.getAsync(e.name);if(!n)throw new Error(`Plugin "${e.name}" not found in registry after script load`);return{ctor:n}}}throw new Error(`Cannot resolve descriptor: type=${e.type}, resolve=${t}, name=${e.name??"none"}`)}_loadScript(e){return new Promise((t,n)=>{if(typeof document>"u"){n(new Error("Cannot load UMD script in non-browser environment"));return}const r=document.createElement("script");r.src=e,r.onload=()=>t(),r.onerror=()=>n(new Error(`Failed to load script: ${e}`)),document.head.appendChild(r)})}initSync(e){const t=[];for(const n of e){const r=this._getOrCreate(n,void 0);t.push(r)}this._activated=!0,this._startPluginsBatch(t)}async init(e){const t=[],n=new Set;for(const r of e){const{ctor:i,options:o}=await this._resolveEntry(r),s=this._getOrCreate(i,o);n.has(s)||(n.add(s),t.push(s))}this._activated=!0,await this._startPluginsBatch(t)}async setPlugins(e){const t=new Set,n=[];for(const s of e){const d=await this._resolveEntry(s);t.add(d.ctor),n.push(d)}const r=[];this._map.forEach((s,d)=>{t.has(d)||r.push({key:d,plugin:s})});for(let s=r.length-1;s>=0;s--){const{key:d,plugin:l}=r[s];await this._initializingPlugins.get(l),await this._disposePlugin(l,l.constructor.name),this._map.delete(d),this._optionsMap.delete(d),this._readyMap.delete(l),this._resolveMap.delete(l),this._initializingPlugins.delete(l),this._initializedPlugins.delete(l);const f=this._creationOrder.indexOf(l);f>=0&&this._creationOrder.splice(f,1)}const i=[],o=new Set;for(const{ctor:s,options:d}of n){const l=this._getOrCreate(s,d);o.has(l)||(o.add(l),i.push(l))}this._activated&&await this._startPluginsBatch(i)}isReady(e){return this._initializedPlugins.has(e)}ready(e){return this._initializingPlugins.get(e)??this._readyMap.get(e)??Promise.resolve()}async waitFor(e,t){if(this._pluginRegistry.has(e))return this.useByKeyAsync(e);const{timeout:n}=t??{};return await new Promise((r,i)=>{let o,s=!1;const d=()=>{s||(s=!0,o&&clearTimeout(o),this._pluginRegistry.off(e,d),r())};this._pluginRegistry.on(e,d),n!==void 0&&n>0&&(o=setTimeout(()=>{s||(s=!0,this._pluginRegistry.off(e,d),i(new Error(`waitFor("${String(e)}") timed out after ${n}ms`)))},n))}),this.useByKeyAsync(e)}useByKey(e){const t=this._pluginRegistry.get(e);if(!t)throw new Error(`Plugin "${String(e)}" not registered or not loaded yet. Use useByKeyAsync() for async plugins.`);const n=this._getOrCreate(t);return this._activated&&this._startPluginsBatch([n]),n}async useByKeyAsync(e){const t=await this._pluginRegistry.getAsync(e);if(!t)throw new Error(`Plugin "${String(e)}" not registered.`);const n=this._getOrCreate(t);return this._activated&&await this._startPluginsBatch([n]),n}useByCtor(e,t){const n=this._getOrCreate(e,t);return this._activated&&this._startPluginsBatch([n]),n}use(e){return typeof e=="function"?this.useByCtor(e):this.useByKey(e)}async useAsync(e){const{ctor:t,options:n}=await this._resolveEntry(e),r=this._getOrCreate(t,n);return this._activated&&await this._startPluginsBatch([r]),r}_getOrCreate(e,t){const n=e;if(!this._map.has(n)){t!==void 0&&this._optionsMap.set(n,t);const r=this._optionsMap.get(n),i=this._createPluginInstance(e,r),o=i.constructor.name;this._emitLifecycle({type:"created",plugin:i,name:o}),i.required?.(),this._map.set(n,i),this._creationOrder.push(i),this._setupReadyPromise(i)}return this._map.get(n)}_createPluginInstance(e,t){const n=e;if(this._creatingPlugins.has(n))throw new Error(`Cyclic dependency for plugin ${e.name}`);this._creatingPlugins.add(n);try{return Gs(e)?new e(this._context,t):e(this._context,t)||{}}finally{this._creatingPlugins.delete(n)}}_setupReadyPromise(e){const t=new Promise(n=>{this._resolveMap.set(e,n)});this._readyMap.set(e,t)}async _startPluginsBatch(e){const t=Array.from(new Set(e)),n=new Set,r=[];for(const i of t){if(this._initializedPlugins.has(i))continue;const o=this._initializingPlugins.get(i);if(o){n.add(o);continue}r.push(i)}if(r.length>0){const i=this._runBatchLifecycle(r);for(const o of r)this._initializingPlugins.set(o,i);n.add(i),i.finally(()=>{for(const o of r)this._initializingPlugins.get(o)===i&&this._initializingPlugins.delete(o)})}await Promise.all(n)}async _runBatchLifecycle(e){const t=[];for(const n of e){const r=n.constructor.name;this._emitLifecycle({type:"init:start",plugin:n,name:r});try{await n.init?.(),this._emitLifecycle({type:"init:success",plugin:n,name:r}),t.push(n)}catch(i){this._emitLifecycle({type:"init:error",plugin:n,name:r,error:i})}}for(const n of t){const r=n.constructor.name;this._emitLifecycle({type:"afterInit:start",plugin:n,name:r});try{await n.afterInit?.(),this._emitLifecycle({type:"afterInit:success",plugin:n,name:r})}catch(i){this._emitLifecycle({type:"afterInit:error",plugin:n,name:r,error:i})}}for(const n of e)this._initializedPlugins.add(n),this._resolveMap.get(n)?.(),this._resolveMap.delete(n)}async _disposePlugin(e,t){this._emitLifecycle({type:"dispose:start",plugin:e,name:t});try{await e.dispose?.(),this._emitLifecycle({type:"dispose:success",plugin:e,name:t})}catch(n){this._emitLifecycle({type:"dispose:error",plugin:e,name:t,error:n})}}async dispose(){for(let e=this._creationOrder.length-1;e>=0;e--){const t=this._creationOrder[e];await this._initializingPlugins.get(t),await this._disposePlugin(t,t.constructor.name)}this._map.clear(),this._optionsMap.clear(),this._readyMap.clear(),this._resolveMap.clear(),this._initializingPlugins.clear(),this._initializedPlugins.clear(),this._creationOrder.length=0,this._lifecycleListeners.clear()}getStatus(){return Array.from(this._map.values()).map(e=>({name:e.constructor.name,initialized:this._initializedPlugins.has(e)}))}},Vs=class{_plugins=new Map;_listeners=new Map;_getOrCreateEntry(e){let t=this._plugins.get(e);return t||(t={overrides:[]},this._plugins.set(e,t)),t}_applyOverrides(e,t){const n=this._plugins.get(e);if(n?.overrides)for(const r of n.overrides)t=r(t)||t;return t}_notifyListeners(e,t){const n=this._listeners.get(e);if(!n||n.length===0)return;for(const i of n)try{i.callback(t)}catch{}const r=n.filter(i=>!i.once);r.length>0?this._listeners.set(e,r):this._listeners.delete(e)}get(e){const t=this._plugins.get(e);if(t?.ctor)return this._applyOverrides(e,t.ctor)}async getAsync(e){const t=this._plugins.get(e);if(t?.ctor)return this._applyOverrides(e,t.ctor);if(t?.loading){const n=await t.loading;return this._applyOverrides(e,n)}if(t?.factory){const n=Promise.resolve(t.factory()).then(i=>(t.ctor=i,t.loading=void 0,this._notifyListeners(e,i),i));t.loading=n;const r=await n;return this._applyOverrides(e,r)}return new Promise(n=>{this.on(e,r=>n(this._applyOverrides(e,r)))})}add(e,t){const n=this._getOrCreateEntry(e);n.ctor=t,this._notifyListeners(e,t)}addAll(e){for(const t of Object.keys(e)){const n=e[t];n!==void 0&&this.add(t,n)}}addAsync(e,t){const n=this._getOrCreateEntry(e);return n.factory=t,{dispose:()=>{n.ctor||(n.factory=void 0)}}}has(e){const t=this._plugins.get(e);return!!(t?.ctor||t?.factory)}isLoaded(e){return!!this._plugins.get(e)?.ctor}override(e,t){const n=this._getOrCreateEntry(e);return n.overrides.push(t),{dispose:()=>{const r=n.overrides.indexOf(t);r>=0&&n.overrides.splice(r,1)}}}on(e,t){const n=this.get(e);n&&t(n);let r=this._listeners.get(e);r||(r=[],this._listeners.set(e,r));const i={callback:t,once:!1};return r.push(i),{dispose:()=>this._removeListener(e,t)}}once(e,t){const n=this.get(e);if(n)return t(n),{dispose:()=>{}};let r=this._listeners.get(e);r||(r=[],this._listeners.set(e,r));const i={callback:t,once:!0};return r.push(i),{dispose:()=>this._removeListener(e,t)}}off(e,t){this._removeListener(e,t)}_removeListener(e,t){const n=this._listeners.get(e);if(n){const r=n.findIndex(i=>i.callback===t);r>=0&&n.splice(r,1),n.length===0&&this._listeners.delete(e)}}keys(){return Array.from(this._plugins.keys())}forContext(){const e=this;return{add(t,n){e.add(t,n)}}}},Ks=class{resolveRegistry;constructor(e){this.resolveRegistry=e}target(){return this.resolveRegistry()}get(e){return this.target().get(e)}getAsync(e){return this.target().getAsync(e)}add(e,t){return this.target().add(e,t)}addAll(e){return this.target().addAll(e)}addAsync(e,t){return this.target().addAsync(e,t)}has(e){return this.target().has(e)}isLoaded(e){return this.target().isLoaded(e)}override(e,t){return this.target().override(e,t)}on(e,t){return this.target().on(e,t)}once(e,t){return this.target().once(e,t)}off(e,t){return this.target().off(e,t)}keys(){return this.target().keys()}forContext(){return this.target().forContext()}},Jn=class{capacity;items=[];constructor(e){this.capacity=e}push(e){this.items.length>=this.capacity&&this.items.shift(),this.items.push(e)}snapshot(){return this.items.slice()}size(){return this.items.length}clear(){this.items=[]}};function Ws(e,t){return t+e}function Ys(){return typeof performance>"u"?Date.now():Ws(performance.now(),performance.timeOrigin)}var Xs="emailmaker:diagnostics",Js="diagnostics",Qs="diagnostics";function Qn(e,t){return t?`${e}${e.includes("?")?"&":"?"}${Qs}=1`:e}var Rt;function Zs(){try{const e=new URLSearchParams(window.location.search).get(Js);return e===null?void 0:e!=="0"}catch{return}}function ea(){const e=window.__DIAGNOSTICS__;return typeof e=="boolean"?e:void 0}function ta(){try{const e=window.localStorage.getItem(Xs);return e===null?void 0:e==="1"}catch{return}}function $e(){return Rt===void 0&&(Rt=typeof window>"u"?!1:Zs()??ea()??ta()??!1),Rt}function na(e){return`__${(e||"emailmaker").toLowerCase().replaceAll("-","")}__`}var J={initStart:"loader:init:start",coreReady:"loader:core:ready",initEnd:"loader:init:end",chunksLoaded:"app:chunks:loaded",showStart:"show:start",showEnd:"show:end",canvasCreated:"canvas:created",canvasLoaded:"canvas:loaded",canvasPainted:"canvas:painted",appVisible:"app:visible",editorVisible:"editor:visible",canvasSettled:"canvas:settled"},Sh=Object.values(J),Ih=[J.canvasPainted,J.canvasSettled,J.appVisible,J.editorVisible],ra=5e3,ia=3e3,Zn="diagnosticsStore",tt,Fe;function er(){return{marks:new Jn(ra),resources:new Jn(ia)}}function pi(){if(Fe)return Fe;const e=An();return e?(Fe=e[Zn]??tt??er(),e[Zn]=Fe,tt=void 0,Fe):(tt??=er(),tt)}function z(e,t){$e()&&pi().marks.push({phase:e,at:Ys(),...t})}function An(){if(typeof window.__emailmaker__<"u"&&window.__emailmaker__)return window.__emailmaker__;if(typeof window>"u")return;const e=window[na()];return e!==null&&typeof e=="object"?e:void 0}function oa(e){const t=e.length,n=pi();return e.forEach(r=>n.marks.push(r)),e.length=0,t}function sa(){const e=An();return!e||!Array.isArray(e.diagnosticsBuffer)?0:oa(e.diagnosticsBuffer)}var aa="Editor instance was destroyed and cannot be reused. A fresh instance will be created instead.";function Cn(){const e=new Error(aa);return e.name="DestroyedInstanceError",e}function tn(e,t){if(e===t)return!0;if(!e||!t||typeof e!="object"||typeof t!="object")return!1;const n=Array.isArray(e);if(n!==Array.isArray(t))return!1;if(n){const o=e,s=t;return o.length===s.length&&o.every((d,l)=>tn(d,s[l]))}const r=Object.keys(e),i=Object.keys(t);return r.length!==i.length?!1:r.every(o=>Object.prototype.hasOwnProperty.call(t,o)&&tn(e[o],t[o]))}function mi(e,t){const n={watch(r){let i,o=!1;return e.watch(s=>{const d=t(s);o&&tn(i,d)||(i=d,o=!0,r(d))})},select(r){return mi(n,r)}};return n}function ke(...e){let t=e[0],n=e.length>0;const r=new Set,i={get(){return n?t:void 0},set(o){t=o,n=!0;for(const s of Array.from(r))s(o)},watch(o){return r.add(o),n&&o(t),{dispose:()=>r.delete(o)}},select(o){return mi(i,o)}};return i}var hi=class{http;constructor(e){this.http=e}app_init_create=(e,t={})=>this.http.request({path:"/app/v1/app_init",method:"POST",body:e,type:bs.UrlEncoded,...t})},gi=class{http;constructor(e){this.http=e}get_translations2=({file:e,...t},n={})=>this.http.request({path:`/translations/v1/${e}`,method:"GET",...n});get_translations3=({id:e,file:t,...n},r={})=>this.http.request({path:`/translations/v1/${t}/${e}`,method:"GET",...r})};function la(e){return String(e||"").trim()||void 0}var da=class extends Z{deps;_app;_baseUrl;_appInit;_restBaseUrl;_prevApp;constructor(e){super(),this.deps=e,this.addDisposable(e.options.select(t=>this._slice(t)).watch(t=>this._start(t)))}get app(){return this._app}_slice(e){return Object.prototype.hasOwnProperty.call(e,"baseUrl")&&(this._baseUrl=la(e.baseUrl)),Object.prototype.hasOwnProperty.call(e,"appInit")&&(this._appInit=e.appInit),{appInit:this._appInit,user:e.user,project:e.project,baseUrl:this._baseUrl,restBaseUrl:this.deps.resolveRestBaseUrl(this._baseUrl),standalone:this.deps.isStandalone()}}_start(e){if(this._restBaseUrl!==e.restBaseUrl&&(this._restBaseUrl=e.restBaseUrl,this.deps.setRestBaseUrl(e.restBaseUrl)),e.standalone)return;const t=e.appInit||this.deps.fallbackAppInit,n=Promise.resolve(t({baseUrl:e.baseUrl,user:e.user,project:e.project,prevApp:this._prevApp}));this._app=n,n.then(r=>{this._app===n&&(this._prevApp=r)},()=>{}),this.deps.publish(n)}},Rn=L("AppInitService");function ca(e){return async()=>{const t=await e();return(await new hi(t).app_init_create({})).data}}function ua(e){e.injectFactory(Rn,()=>{const t=new da({options:e.getInstance(oe),isStandalone:()=>!!e.getInstance(me),resolveRestBaseUrl:n=>n?Yn(n):Yn()||void 0,setRestBaseUrl:n=>{e.getInstance(js)?.setOptions(n?{baseUrl:n}:{})},fallbackAppInit:ca(()=>e.getInstanceAsync(as)),publish:n=>{e.inject(Pe,n)}});return e.getInstance(F)?.addDisposable(t),t},!0)}var Pn=L("documentSession.emailDocuments");function Pt(e){return e?.getInstance(Pn)}var fa=L("RevisionServiceFlag");function pa(e){return e.getOrCreateInstance(fa,()=>{let t=!1;return{isEnabled:()=>t,set:n=>{t=n}}})}function vi(e){return pa(e).isEnabled()}var ma=L("EmailRightsResolver");function ha(e,t){const n=e.getInstance(ma);return n?n(t):!0}var bi=L("EmailHistoryAvailabilityResolver");function ga(e){return e.getInstance(bi)!==void 0}async function va(e){const t=e.getInstance(bi);if(!t)return!0;try{return await t()}catch{return!1}}var Dn={INIT_START:5e3,SET_ENTITY:12e3,PREHEADER:5e3,SUBJECT:5e3,INITED:5e3,UPDATE_ENTITY:5e3},Ei=["INIT_START","SET_ENTITY","PREHEADER","SUBJECT","INITED"],yi=2e4,ba=Ei.reduce((e,t)=>e+Dn[t],0),_i=yi+ba+3e3;function Ea(e){return Ei.reduce((t,n)=>t+wi(n,e),0)}function wi(e,t){const n=t?.[e];return typeof n=="number"&&n>0?n:Dn[e]}function Si(e){const t=e?.contentReady;return typeof t=="number"&&t>0?t:_i}function Ii(e){const t=e?.sandboxReady;return typeof t=="number"&&t>0?t:yi}function Ti(e=_i){return e+3e3}var ya=()=>Ti();function _a(e,t){let n;return Promise.race([e,new Promise(r=>{n=setTimeout(()=>{r()},t)})]).finally(()=>{n!==void 0&&clearTimeout(n)})}function wa(e){return t=>_a(e.getOrCreateInstance(j.BEFORE_SAVE_EMAIL,()=>new pe).fire(t),ya())}function Sa(e){return e!=null&&e!==""}var Ia;function wt(e,t){return Ia?.capture(e,t)}function Ta(e=""){let t=e;return{read:()=>t,write:n=>{t=n},dispose:()=>{t=""}}}function nt(e){return e.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}var re=class{oldPosition;oldText;newPosition;newText;get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(e,t,n,r){this.oldPosition=e,this.oldText=t,this.newPosition=n,this.newText=r}toString(){return this.oldText.length===0?`(insert@${this.oldPosition} "${nt(this.newText)}")`:this.newText.length===0?`(delete@${this.oldPosition} "${nt(this.oldText)}")`:`(replace@${this.oldPosition} "${nt(this.oldText)}" with "${nt(this.newText)}")`}};function tr(e,t){return e===null||e.length===0?t:new Aa(e,t).compress()}var Aa=class se{_prevEdits;_currEdits;_result;_resultLen;_prevLen;_prevDeltaOffset;_currLen;_currDeltaOffset;constructor(t,n){this._prevEdits=t,this._currEdits=n,this._result=[],this._resultLen=0,this._prevLen=this._prevEdits.length,this._prevDeltaOffset=0,this._currLen=this._currEdits.length,this._currDeltaOffset=0}compress(){let t=0,n=0,r=this._getPrev(t),i=this._getCurr(n);for(;t<this._prevLen||n<this._currLen;){if(r===null){if(i===null)break;this._acceptCurr(i),i=this._getCurr(++n);continue}if(i===null){this._acceptPrev(r),r=this._getPrev(++t);continue}if(i.oldEnd<=r.newPosition){this._acceptCurr(i),i=this._getCurr(++n);continue}if(r.newEnd<=i.oldPosition){this._acceptPrev(r),r=this._getPrev(++t);continue}if(i.oldPosition<r.newPosition){const[l,f]=se._splitCurr(i,r.newPosition-i.oldPosition);this._acceptCurr(l),i=f;continue}if(r.newPosition<i.oldPosition){const[l,f]=se._splitPrev(r,i.oldPosition-r.newPosition);this._acceptPrev(l),r=f;continue}let s,d;if(i.oldEnd===r.newEnd)s=r,d=i,r=this._getPrev(++t),i=this._getCurr(++n);else if(i.oldEnd<r.newEnd){const[l,f]=se._splitPrev(r,i.oldLength);s=l,d=i,r=f,i=this._getCurr(++n)}else{const[l,f]=se._splitCurr(i,r.newLength);s=r,d=l,r=this._getPrev(++t),i=f}this._result[this._resultLen++]=new re(s.oldPosition,s.oldText,d.newPosition,d.newText),this._prevDeltaOffset+=s.newLength-s.oldLength,this._currDeltaOffset+=d.newLength-d.oldLength}const o=se._merge(this._result);return se._removeNoOps(o)}_acceptCurr(t){this._result[this._resultLen++]=se._rebaseCurr(this._prevDeltaOffset,t),this._currDeltaOffset+=t.newLength-t.oldLength}_getCurr(t){return t<this._currLen?this._currEdits[t]:null}_acceptPrev(t){this._result[this._resultLen++]=se._rebasePrev(this._currDeltaOffset,t),this._prevDeltaOffset+=t.newLength-t.oldLength}_getPrev(t){return t<this._prevLen?this._prevEdits[t]:null}static _rebaseCurr(t,n){return new re(n.oldPosition-t,n.oldText,n.newPosition,n.newText)}static _rebasePrev(t,n){return new re(n.oldPosition,n.oldText,n.newPosition+t,n.newText)}static _splitPrev(t,n){const r=t.newText.substr(0,n),i=t.newText.substr(n);return[new re(t.oldPosition,t.oldText,t.newPosition,r),new re(t.oldEnd,"",t.newPosition+n,i)]}static _splitCurr(t,n){const r=t.oldText.substr(0,n),i=t.oldText.substr(n);return[new re(t.oldPosition,r,t.newPosition,t.newText),new re(t.oldPosition+n,i,t.newEnd,"")]}static _merge(t){if(t.length===0)return t;const n=[];let r=0,i=t[0];for(let o=1;o<t.length;o++){const s=t[o];i.oldEnd===s.oldPosition?i=new re(i.oldPosition,i.oldText+s.oldText,i.newPosition,i.newText+s.newText):(n[r++]=i,i=s)}return n[r++]=i,n}static _removeNoOps(t){if(t.length===0)return t;const n=[];let r=0;for(let i=0;i<t.length;i++){const o=t[i];o.oldText!==o.newText&&(n[r++]=o)}return n}};function Ca(e){return new re(e.newPosition,e.newText,e.oldPosition,e.oldText)}function Ra(e){return e.map(Ca)}function nr(e,t){return t.every(n=>e.slice(n.oldPosition,n.oldEnd)===n.oldText)}function Pa(e,t){let n=e;for(let r=t.length-1;r>=0;r-=1){const i=t[r];n=n.slice(0,i.oldPosition)+i.newText+n.slice(i.oldEnd)}return n}function Da(e,t,n){let r=0;const i=e.start===e.end;for(const o of t){const s=o.newLength-o.oldLength;if(o.oldLength===0){const d=o.oldPosition;if(i&&d===e.start)r+=n==="after"?s:0;else{if(e.start<d&&d<e.end)return null;d<=e.start&&(r+=s)}continue}if(i){if(e.start>=o.oldEnd)r+=s;else if(e.start>o.oldPosition)return null;continue}if(e.start>=o.oldEnd)r+=s;else if(e.end>o.oldPosition)return null}return{start:e.start+r,end:e.end+r}}var gt=class extends Error{reason;constructor(e){super("Открытие документа не удалось"),this.reason=e,this.name="DocumentOpenFailedError"}},rr=0,Oa=Math.random().toString(36).slice(2,8);function xa(){return rr+=1,`doc-${Oa}-${rr}`}function La(e){const t=e.createBuffer(),n=e.docId??xa();let r=e.serverId??null,i=0,o=null,s=e.attributes??{};const d=new Set;let l=!1,f=!1,u;const v=new Set;let b=null;const E=()=>(b?.version!==i&&(b={version:i,value:t.read()}),b.value),I=g=>Object.entries(g).some(([y,w])=>s[y]!==w);return{get:()=>({docId:n,serverId:r,version:i,savedVersion:o,attributes:s}),getContent:E,mutate(g,{source:y}){if(l)return i;const w=g.changes?.length?g.changes:void 0,S=w?Pa(E(),w):g.content!==void 0?g.content:void 0,A=S!==void 0&&S!==E(),m=g.attributes!==void 0&&I(g.attributes);if(!A&&!m)return i;const c=!(i>(o??-1));return A&&t.write(S),m&&(s={...s,...g.attributes}),i+=1,y!=="user"&&c&&(o=i),d.forEach(a=>a({source:y,version:i,changes:w})),i},markSaved(g,y){const w={serverId:r,savedVersion:o};y!==void 0&&(r=y),(o===null||g>o)&&(o=g),(w.serverId!==r||w.savedVersion!==o)&&d.forEach(S=>S({source:"system",version:i}))},markReady(){f||u!==void 0||(f=!0,v.forEach(g=>g.resolve()),v.clear(),d.forEach(g=>g({source:"system",version:i})))},isReady:()=>f,markFailed(g){f||u!==void 0||l||(u=g,v.forEach(y=>y.reject(new gt(g))),v.clear(),d.forEach(y=>y({source:"system",version:i})))},failure:()=>u,whenReady(){return f?Promise.resolve():u!==void 0?Promise.reject(new gt(u)):l?Promise.reject(new Error("Документ закрыт до того, как наполнение закончилось")):new Promise((g,y)=>{v.add({resolve:g,reject:y})})},subscribe(g){return d.add(g),()=>d.delete(g)},isNew:()=>r===null,isDirty:()=>i>(o??-1),isDisposed:()=>l,dispose(){l=!0,v.forEach(g=>g.reject(new Error("Документ закрыт до того, как наполнение закончилось"))),v.clear(),d.clear(),t.dispose()}}}var Ma=500,ka=100,Dt=0;function Na(e,t={}){const n=t.groupIntervalMs??Ma,r=t.maxSteps??ka,i=t.now??(()=>0);let o=[],s=0,d=Dt+=1,l=null,f=!1,u=!1,v=!1;const b=new Set,E=()=>b.forEach(a=>a()),I=(a,p)=>{if(a.length){u=!0;try{e.mutate({changes:a},{source:p})}finally{u=!1}}},g=a=>I(a,"user"),y=a=>{const p=i();f&&l!==null&&p-l<n?o[s-1]=tr(o[s-1],a):(o=o.slice(0,s),o.push(a),s=o.length,f=!0,o.length>r&&(o=o.slice(o.length-r),s=o.length,d=Dt+=1)),l=p,E()},w=()=>{f=!1,l=null},S=a=>{if(!a.length)return;const p=o.length>s;p&&(o=o.slice(0,s)),s>0&&(o[s-1]=tr(o[s-1],a)),w(),p&&E()},A=e.subscribe(({source:a,changes:p})=>{if(!(v||u||!p?.length)){if(a==="remote"){m();return}if(a!=="user"){S(p);return}y(p)}}),m=()=>{o=[],s=0,w(),d=Dt+=1,E()},c=()=>{if(s===0)return!1;const a=Ra(o[s-1]);return nr(e.getContent(),a)?(g(a),s-=1,w(),!0):(o=o.slice(0,s-1),s=o.length,w(),E(),!1)};return{canUndo:()=>s>0,canRedo:()=>s<o.length,undo(){c()&&E()},redo(){if(!(s>=o.length)){if(!nr(e.getContent(),o[s])){o=o.slice(0,s),w(),E();return}g(o[s]),s+=1,w(),E()}},clear:m,applyWithoutHistory(a){const p=e.get().version;if(I(a,"system"),e.get().version===p){w();return}S(a)},getPast:a=>o.slice(0,s).reverse().slice(0,a),getFuture:a=>o.slice(s).reverse().slice(0,a),createSnapshot:()=>({stackId:d,index:s}),restoreSnapshot(a){if(a.stackId!==d||a.index>s)return!1;for(;s>a.index;)if(!c())return E(),!1;return E(),!0},subscribe(a){return b.add(a),()=>b.delete(a)},dispose(){v=!0,A(),b.clear(),o=[],s=0}}}var Fa=["edit","move","resize","insert"];function Ot(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}function ja(e){return typeof e=="string"?e:null}function Ba(e){return!Array.isArray(e)||!e.every(t=>typeof t=="string")?null:e}function Ua(e){return Fa.includes(e)?e:null}function Ha(e){const t=typeof e=="object"&&e!==null?e:{},n={originId:ja(t.originId),changeId:Ot(t.changeId),rev:Ot(t.rev),baseRev:Ot(t.baseRev),expected:Ba(t.expected),intent:Ua(t.intent)};return{...n,legacy:Object.values(n).every(r=>r===null)}}var ir=class extends Error{reason;constructor(e){super(`сохранение не состоялось: ${e}`),this.name="SaveRefusedError",this.reason=e}},Ai="draft";function je(e){return e==null||e===""?Ai:String(e)}function Ga(e){return e==null||e===""?`${nn}${Ai}`:`${nn}${String(e)}`}var nn="block:";function he(e){return e?.startsWith(nn)===!0}function Be(e){return he(e.sessionKey())?void 0:e.current()}function He(e,t,n){const r=typeof performance<"u"?performance.now():Date.now();return z(`show:gate:${e}`,{kind:"wait"}),t.then(i=>(z(`show:gate:${e}:end`,{kind:"wait"}),i),i=>{const o=Math.round((typeof performance<"u"?performance.now():Date.now())-r);throw`${e}`,{error:String(i),...n},i})}function Ci(e){return e?.length?[...e].sort((t,n)=>Date.parse(n.modified)-Date.parse(t.modified))[0]:null}function Ri(e,{freshSince:t}={}){return!(!e?.slug?.includes("autosave")||!e?.html?.trim()||t!==void 0&&Date.parse(e.modified)<t-5e3)}function qa(e,t={}){const n=Ci((e??[]).filter(r=>r?.html?.trim()));return Ri(n,t)?n:null}function $a(e){const t=Date.parse(Ci(e)?.modified??"");return{autosave:qa(e),...Number.isFinite(t)?{latestAt:t}:{}}}function za({hasUnsavedUserEdit:e}){return e?"skip":"apply"}var Pi=e=>e.replace(/\r\n?/g,`
|
|
997
|
-
`),or=["recovery","plugin","rest"],Va=["subject","preheader"];function Ka(e){let t={},n;for(let i=or.length-1;i>=0;i--){const o=e.get(or[i]);o&&(o.attributes&&(t={...t,...o.attributes}),o.content!==void 0&&(n=o.content))}const r=e.get("plugin")?.attributes;for(const i of Va){const o=r?.[i];typeof o=="string"&&o!==""&&(t={...t,[i]:o})}return n!==void 0?{content:n,attributes:t}:{attributes:t}}function Di(e,t){if(!e||!t)return;const n=e.getContent(),r=t.content!==void 0?Pi(t.content):void 0,i=r!==void 0&&r!==n;e.get().docId,Object.keys(t.attributes??{}),e.mutate({attributes:t.attributes??{},...i?{changes:[new re(0,n,0,r)]}:{}},{source:"remote"})}var sr=e=>typeof e=="string"?e.trim():"";function Wa(e,t,n){const{version:r,attributes:i}=e.get(),o=i,s=sr(o.title)||sr(o.subject);return{version:r,payload:{html:e.getContent(),title:s,subject:o.subject,preheader:o.preheader,description:o.description,common_styles:o.common_styles||"",meta:o.meta,utm_parameters:o.utm_parameters,parent_email:o.parent_email,is_template:o.is_template||!1,is_inited:o.is_inited,tags:o.tags,emailtags:o.emailtags,group:o.group,renderGuid:e.get().docId,project:t.project??o.project,folder:t.folder,...n?.emailtags?{emailtags:n.emailtags}:{},...n?.group?{group:n.group}:{},source:t.source}}}async function Ya(e,t,n,r,i){if(n==="materialize"||n==="publish"&&r==null)return e.createEmail(i);if(r==null)throw new Error("Письмо ещё не создано на сервере");return n==="publish"?e.updateEmail(r,i):t.saveAutosave(r,i)}function ge(e,t=!1){const n={};for(const r of Object.keys(e)){let i=e[r];i!==void 0&&!(typeof i=="number"&&Number.isNaN(i))&&(t&&typeof i=="object"&&i!==null&&(i=ge(i)),n[r]=i)}return n}var Xa=new Set(["html","id","renderGuid","showToken","showId","isNew"]);function Oi(e){return e?Object.fromEntries(Object.entries(e).filter(([t])=>!Xa.has(t))):{}}function vt(e,t,n={}){e&&e.mutate({attributes:Ja(e.get().attributes,t)},{source:n.source??"user"})}function Ja(e,t){return t.subject===void 0||t.title!==void 0?t:(e.title??"")===(e.subject??"")?{...t,title:t.subject}:t}function On(e,t){return e===void 0&&Object.keys(t).length===0?null:{...e!==void 0?{content:e}:{},attributes:t}}function Qa(e){return typeof e=="string"&&e.startsWith("{")?e:"{}"}function xi(e){if(!e)return null;const t=Oi(e);return e.common_styles!==void 0&&(t.common_styles=Qa(e.common_styles)),On(e.html,t)}function Li(e){return e?On(e.html,ge(Oi(e))):null}var Za=["common_styles","subject","preheader","meta"];function ar(e){if(!e?.html?.trim())return null;const t={};for(const n of Za)el(n,e[n])&&(t[n]=e[n]);return On(e.html,t)}function el(e,t){return e==="common_styles"?typeof t=="string"&&t.startsWith("{"):e==="meta"?typeof t=="object"&&t!==null&&!Array.isArray(t):typeof t=="string"}var tl=10,nl=(e,t)=>e.key===t.key&&rl(e.serverId,t.serverId),rl=(e,t)=>e==null||e===t;function il(e){return typeof e?.then=="function"}var lr=e=>{e.timer!==void 0&&(clearTimeout(e.timer),e.timer=void 0)},Mi=e=>{e.request.serverId!=null&&e.document.markSaved(e.document.get().version)},ol=e=>{Di(e.document,Ka(e.reports)),Mi(e)},xt=(e,t)=>{if(!e.ready){ol(e);return}Di(e.document,t)},sl=e=>{const{attributes:t,serverId:n,docId:r}=e.document.get();return{...t,html:e.document.getContent(),id:n??void 0,isNew:n==null,renderGuid:r}};function al(e){const{resolveAdapters:t,timeoutMs:n,resolveWritePort:r,resolveHistoryPort:i,resolveTerms:o,canEdit:s,notifyBeforeSave:d,onAdapterError:l,onTimeout:f}=e;let u;const v=new Set,b=new Set,E=()=>v.forEach(h=>h()),I=(h,_)=>{if(!(h.closed||h.ready)){if(h.error!==void 0){h.document.markFailed(h.error),h.document.get().docId;return}Mi(h),h.ready=!0,h.document.markReady(),h.document.get().docId,[...h.reports.keys()]}},g=(h,_,T)=>{l?.(_.id,T),!(!_.required||h.closed)&&(h.error=T,h.document.get().docId,_.id,E())},y=(h,_)=>{const T=new Set(_.map(C=>C.id));_.forEach(C=>{C.watch&&h.watchers.push(C.watch(x=>h.closed?!1:h.ready&&x?.content!==void 0&&za({hasUnsavedUserEdit:h.document.isDirty()})==="skip"?(h.document.get().docId,C.id,!1):(x&&h.reports.set(C.id,x),xt(h,x),!0)))});const D=(C,x)=>{h.closed||(x&&h.reports.set(C.id,x),xt(h,x))},R=()=>{T.size>0||h.closed||(lr(h),I(h,[]))},O=[];if(_.forEach(C=>{let x;try{x=C.load()}catch(B){g(h,C,B),T.delete(C.id);return}if(il(x)){O.push({id:C.id,required:C.required,load:()=>x});return}D(C,x),T.delete(C.id)}),O.length===0){R();return}h.timer=setTimeout(()=>{h.timer=void 0,f?.([...T]),h.document.get().docId,[...T],I(h,[...T])},n),h.timer.unref?.(),O.forEach(C=>{C.load().then(x=>D(C,x)).catch(x=>{g(h,C,x)}).finally(()=>{T.delete(C.id),R()})})},w=async(h,_,T)=>{if(T==="snapshot"||T==="anchor")return;const D=o?.();if(D)return D.resolve({project:_.project??h.project,tags:(h.tags??[]).map(R=>({name:R}))})},S=h=>{if(h.lock===!0&&s?.(h)===!1)return new ir("locked");const _=h.tags?.length??0,T=h.emailtags?.length??0;if(Math.max(_,T)>tl)return new ir("too-many-tags")},A=async(h,_,T)=>{try{await h.document.whenReady()}catch(x){return h.saveError=x,h.saveFailures+=1,h.saveFailures,!1}if(h.closed)return!1;const D=S(h.document.get().attributes);if(D)return h.saveError=D,h.saveFailures+=1,D.reason,E(),!1;if(d&&(await d(sl(h)).catch(()=>{}),h.closed))return!1;let R;try{R=await w(h.document.get().attributes,T,_)}catch(x){return h.saveError=x,h.saveFailures+=1,h.saveFailures,E(),!1}if(h.closed)return!1;const{payload:O,version:C}=Wa(h.document,T,R);h.document.get().docId;try{const x=h.document.get().serverId!=null,B=await Ya(r(),i(h.request.key),_,h.document.get().serverId,O);if(h.closed)return!0;let U;if(_==="snapshot"||_==="anchor"){const M=B?.modified!=null?Date.parse(B.modified):NaN;U=Number.isFinite(M)?M:Date.now(),h.snapshotVersion=C,h.lastRevisionAt=U}else h.document.markSaved(C,B?.id!=null?String(B.id):void 0);const W=h.document.get().serverId;!x&&W!=null&&(h.recoveryFacts={emailId:W,historyLoaded:!0,isRecovering:!1}),h.saveError=void 0,h.saveFailures=0,h.document.get().serverId,E();const de={intent:_,serverId:h.document.get().serverId,created:!x,...U!==void 0?{revisionAt:U}:{}};return b.forEach(M=>M(de)),!0}catch(x){return h.saveError=x,h.saveFailures+=1,h.saveFailures,E(),!1}},m=()=>{u&&(u.closed=!0,u.watchers.forEach(h=>h()),u.watchers=[],lr(u),u.history.dispose(),u.document.dispose(),u=void 0)},c=(h,_,T)=>{let D=!1;_.show&&(h.show?.id!==_.show.id||h.show.token!==_.show.token)&&(h.show=_.show,D=!0,{docId:h.document.get().docId,..._.show});const R=T==="show"?Li(_.patch):null;R&&(h.reports.set("plugin",R),xt(h,R)),D&&E()},a=(h,_={})=>{const T=u;return!T||T.closed?Promise.resolve(!1):T.saving?h==="snapshot"?Promise.resolve(!1):(T.inFlight??Promise.resolve(!1)).then(()=>a(h,_)):(T.saving=!0,T.inFlight=A(T,h,_).finally(()=>{T.saving=!1,T.inFlight=void 0}),T.inFlight)},p=(h,_="open")=>{if(u&&!u.closed&&_!=="new"&&nl(u.request,h))return c(u,h,_),u.document;m();const T=La({createBuffer:()=>Ta(""),serverId:h.serverId??null}),D={request:h,show:h.show,document:T,history:Na(T,{now:Date.now}),watchers:[],saveFailures:0,saving:!1,reports:new Map,ready:!1,closed:!1};return u=D,T.get().docId,h.serverId,y(D,t(h,{publishRecoveryFacts(R){D.closed||(D.recoveryFacts=R,E())},readShownContent:()=>D.closed?null:D.document.getContent()})),E(),T};return{openWith:p,open:(h,_={})=>p({key:je(h),serverId:h,email:_.email,patch:_.patch,show:_.show},"open"),openDraft:(h,_={})=>p({key:je(void 0),serverId:null,email:h,patch:_.patch,show:_.show},"open"),startNewDraft:(h,_={})=>p({key:je(void 0),serverId:null,email:h,patch:_.patch,show:_.show},"new"),reload:(h,_={})=>p({key:je(h),serverId:h,email:_.email,patch:_.patch,show:_.show},"new"),openBlock:(h,_)=>p({key:he(h)?h:Ga(h),serverId:_?.id!=null?String(_.id):null,email:_},"open"),show:(h,_)=>{const T=u;if(!(!T||T.closed))return p({...T.request,patch:h,show:_},"show")},current:()=>u?.document,save:a,saveState:()=>({error:u?.saveError,failures:u?.saveFailures??0,saving:u?.saving===!0}),revisionFacts(){if(!u)return;const h=u.revisionFactsSnapshot;return h&&h.snapshotVersion===u.snapshotVersion&&h.lastRevisionAt===u.lastRevisionAt?h:(u.revisionFactsSnapshot={snapshotVersion:u.snapshotVersion,lastRevisionAt:u.lastRevisionAt},u.revisionFactsSnapshot)},recoveryFacts:()=>u?.recoveryFacts,history:()=>u?.history,forcedHeaders:()=>u?.forcedHeaders,beginForcedHeaders(h){u&&!u.closed&&(u.forcedHeaders=h)},endForcedHeaders(){u&&(u.forcedHeaders=void 0)},onSaved(h){return b.add(h),()=>b.delete(h)},showFacts:()=>u?.show,sessionKey:()=>u?.request.key,openError:()=>u?.error,subscribe(h){return v.add(h),()=>v.delete(h)},close(){u&&(m(),E())}}}var ki=class extends Error{reason;constructor(e,t){super(`письмо не открылось: ${e}`),this.name="EmailOpenFailedError",this.reason=e,this.cause=t}};function Ni(e){if(e instanceof ki)return e.reason;if(e instanceof gt)return Ni(e.reason)}function ll(e,t){return{id:"rest",required:!0,load:async()=>{const n=await e.readEmail(t);if(!n)throw new ki("not-found");return xi(n)}}}var Fi=L("EmailPort");function dl(e){return e.getInstance(Fi)}function cl(e,t){e.inject(Fi,t)}var ji=L("documentSession.restEmailPortFactories");function Bi(e){return e.getInstance(ji)!==void 0}function Se(e){const t=e.getInstance(ji);if(!t)throw new Error("[documentSession] порты поверх REST ещё не загружены — работа с сервером начинается с init()");return t}var ul=L("EmailTermsResolver");function fl(e){return e.getInstance(ul)}var Ui=L("EmailHistoryPort"),pl=L("BlockHistoryPort");function Hi(e){return e.getInstance(pl)}function Gi(e){return e.getInstance(Ui)}function ml(e,t){e.inject(Ui,t)}var hl="em_autosave_pending";function bt(e){return`${hl}_${e}`}function gl(e,t){try{sessionStorage.setItem(bt(e),JSON.stringify(t))}catch{}}function vl(e){try{const t=sessionStorage.getItem(bt(e));if(!t)return null;const n=JSON.parse(t);return Date.now()-n.sentAt>6e4?(sessionStorage.removeItem(bt(e)),null):n}catch{return null}}function rt(e){try{sessionStorage.removeItem(bt(e))}catch{}}var bl=2e3,El=5e3,yl=5,_l=5e3,wl=4;function Sl(){return typeof performance<"u"&&typeof performance.timeOrigin=="number"?performance.timeOrigin:Date.now()}function Il(e,t){return e==null||t==null?!1:e.replaceAll(`\r
|
|
996
|
+
`,r=new Function("__amdEnv",n);r(e),typeof e.require=="function"&&typeof e.require.config=="function"&&e.require.config({baseUrl:"./",paths:{core:"emailmaker-core.2047dd1a.js",po:"emailmaker-po.2047dd1a.js",monaco:"static/monaco/index.js"}})}e.define("__delivery__/libs",[],function(){return import("./static/esm/delivery-libs.js")});var i=function(m){var c,l=function(){return c||(c=Promise.resolve().then(m))};return{then:function(p,h){return l().then(p,h)},catch:function(p){return l().catch(p)},finally:function(p){return l().finally(p)}}},o=i(function(){return e.require(["__delivery__/libs"]).then(function(m){return m[0]})});t.React=i(function(){return o.then(function(m){return m.React})}),t.ReactDom=i(function(){return o.then(function(m){return m.ReactDom})}),t.ReactDomClient=i(function(){return o.then(function(m){return m.ReactDomClient})}),t.ReactJsxRuntime=i(function(){return o.then(function(m){return m.ReactJsxRuntime})}),t.ReactJsxDevRuntime=i(function(){return o.then(function(m){return m.ReactJsxDevRuntime})}),t.AntDesignIconBase=i(function(){return o.then(function(m){return m.AntDesignIconBase})}),t.AntDesignCssinjs=i(function(){return o.then(function(m){return m.AntDesignCssinjs})}),t.Classnames=i(function(){return o.then(function(m){return m.Classnames})}),t.Dayjs=i(function(){return o.then(function(m){return m.Dayjs})});var s=i(function(){return Promise.all([o]).then(function(m){var c=m[0]||Object.create(null),l=Object.create(null);for(var p in c)Object.prototype.hasOwnProperty.call(c,p)&&(l[p]=c[p]);for(var h in l)Object.prototype.hasOwnProperty.call(l,h)&&(t[h]=l[h]);return l})}),d={},a={Antd:"[runtime] `antd` is not available: the compatibility layer for global plugins is not enabled. Add `import '@emailmaker/emailmaker/compat-globals';` before creating the editor, or turn on the `compatGlobals` option of the bundler plugin. ESM builds omit this layer by default so that plugin compatibility is not paid for by every integrator.",AntDesignIcons:"[runtime] `@ant-design/icons` is not available: the compatibility layer for global plugins is not enabled. Add `import '@emailmaker/emailmaker/compat-globals';` before creating the editor, or turn on the `compatGlobals` option of the bundler plugin. ESM builds omit this layer by default so that plugin compatibility is not paid for by every integrator."},f={Antd:"[runtime] `antd` is served from the host runtime for backward compatibility. Rebuild the plugin with the current CLI to bundle it from its own copy of the package. This compatibility layer is deprecated.",AntDesignIcons:"[runtime] `@ant-design/icons` is served from the host runtime for backward compatibility. Rebuild the plugin with the current CLI to bundle it from its own copy of the package. This compatibility layer is deprecated."},u=Object.create(null);if(e.registerCompat=function(m){if(!(!m||typeof m!="object"))for(var c in m)Object.prototype.hasOwnProperty.call(m,c)&&(u[c]=m[c])},e.__compatPending){for(var v=0;v<e.__compatPending.length;v+=1)e.registerCompat(e.__compatPending[v]);e.__compatPending=void 0}for(var b in a)Object.prototype.hasOwnProperty.call(a,b)&&(function(m,c,l){var p=!1,h=function(){if(!(m in u))throw new Error(c);return u[m]};Object.defineProperty(t,m,{configurable:!0,enumerable:!0,get:function(){var w=h();return p||(p=!0),w},set:function(w){u[m]=w}}),Object.defineProperty(d,m,{configurable:!0,enumerable:!0,get:h,set:function(w){u[m]=w}})})(b,a[b],f[b]);var E=t;for(var I in d)Object.prototype.hasOwnProperty.call(d,I)&&(E===t&&(E=Object.create(t)),Object.defineProperty(E,I,Object.getOwnPropertyDescriptor(d,I)));var g=s,y=[],_=function(){for(var m=[],c=0;c<y.length;c+=1)(function(l){var p=t[l];p&&typeof p.then=="function"&&m.push(Promise.resolve(p).then(function(h){t[l]=h}))})(y[c]);return Promise.all(m)},S=typeof e.prefetch=="function"?e.prefetch:void 0;if(e.prefetch=function(){return s.then(_).then(function(){if(typeof S=="function")return S.call(e)})},typeof e.define=="function"){let m=function(c){if(!c||typeof c!="object"&&typeof c!="function"||c.__esModule)return c;if(A){var l=A.get(c);if(l)return l}var p=Object.create(null);Object.defineProperties(p,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});for(var h=Reflect.ownKeys(c),w=0;w<h.length;w++){var T=h[w];if(T!=="__esModule"){var O=Object.getOwnPropertyDescriptor(c,T);O&&Object.defineProperty(p,T,O)}}return Object.prototype.hasOwnProperty.call(p,"default")||Object.defineProperty(p,"default",{enumerable:!0,value:c,writable:!1}),A&&A.set(c,p),p};var A=typeof WeakMap<"u"?new WeakMap:null;e.define("react",[],function(){var c=E.React;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.React)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.React;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/react",[],function(){var c=E.React;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.React)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.React;return m(p)})}),e.define("react-dom",[],function(){var c=E.ReactDom;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.ReactDom)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.ReactDom;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/react-dom",[],function(){var c=E.ReactDom;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.ReactDom)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.ReactDom;return m(p)})}),e.define("react-dom/client",[],function(){var c=E.ReactDomClient;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.ReactDomClient)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.ReactDomClient;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/react-dom/client",[],function(){var c=E.ReactDomClient;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.ReactDomClient)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.ReactDomClient;return m(p)})}),e.define("react/jsx-runtime",[],function(){var c=E.ReactJsxRuntime;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.ReactJsxRuntime)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.ReactJsxRuntime;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/react/jsx-runtime",[],function(){var c=E.ReactJsxRuntime;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.ReactJsxRuntime)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.ReactJsxRuntime;return m(p)})}),e.define("react/jsx-dev-runtime",[],function(){var c=E.ReactJsxDevRuntime;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.ReactJsxDevRuntime)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.ReactJsxDevRuntime;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/react/jsx-dev-runtime",[],function(){var c=E.ReactJsxDevRuntime;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.ReactJsxDevRuntime)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.ReactJsxDevRuntime;return m(p)})}),e.define("antd",[],function(){var c=E.Antd;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.Antd)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.Antd;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/antd",[],function(){var c=E.Antd;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.Antd)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.Antd;return m(p)})}),e.define("@ant-design/icons/es/components/AntdIcon",[],function(){var c=E.AntDesignIconBase;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.AntDesignIconBase)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.AntDesignIconBase;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/@ant-design/icons/es/components/AntdIcon",[],function(){var c=E.AntDesignIconBase;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.AntDesignIconBase)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.AntDesignIconBase;return m(p)})}),e.define("@ant-design/icons",[],function(){var c=E.AntDesignIcons;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.AntDesignIcons)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.AntDesignIcons;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/@ant-design/icons",[],function(){var c=E.AntDesignIcons;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.AntDesignIcons)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.AntDesignIcons;return m(p)})}),e.define("@ant-design/cssinjs",[],function(){var c=E.AntDesignCssinjs;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.AntDesignCssinjs)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.AntDesignCssinjs;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/@ant-design/cssinjs",[],function(){var c=E.AntDesignCssinjs;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.AntDesignCssinjs)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.AntDesignCssinjs;return m(p)})}),e.define("classnames",[],function(){var c=E.Classnames;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.Classnames)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.Classnames;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/classnames",[],function(){var c=E.Classnames;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.Classnames)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.Classnames;return m(p)})}),e.define("dayjs",[],function(){var c=E.Dayjs;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.Dayjs)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.Dayjs;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/dayjs",[],function(){var c=E.Dayjs;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.Dayjs)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.Dayjs;return m(p)})}),e.define("@emailmaker/ui-kit",[],function(){var c=E.UiKit;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.UiKit)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.UiKit;return m(p)})}),e.define("@emailmaker/emailmaker/ui-kit",[],function(){var c=E.UiKit;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.UiKit)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.UiKit;return m(p)})}),e.define("@emailmaker/emailmaker/ui-kit/icons",[],function(){var c=E.UiKitIcons;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.UiKitIcons)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.UiKitIcons;return m(p)})}),e.define("@emailmaker/ui-kit/icons",[],function(){var c=E.UiKitIcons;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.UiKitIcons)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.UiKitIcons;return m(p)})})}globalThis.__SHARED_RUNTIME_INIT_SENTINEL__="@shared-runtime:init-complete"})();var Ys=new Function("url","return import(url)");function Xs(e){if(typeof e!="function")return!1;try{return Reflect.construct(String,[],e),!0}catch{return!1}}function Js(e){return typeof e=="object"&&e!==null&&"type"in e&&"url"in e}function Qs(e){return e.type==="umd"||e.resolve==="registry"}var Zs=class{_context;_pluginRegistry;_options;_map=new Map;_optionsMap=new Map;_readyMap=new Map;_resolveMap=new Map;_initializingPlugins=new Map;_creatingPlugins=new Set;_initializedPlugins=new Set;_creationOrder=[];_lifecycleListeners=new Set;_activated=!1;constructor(e,t,n={}){this._context=e,this._pluginRegistry=t,this._options=n}activate(){return this._activated=!0,this._startPluginsBatch(Array.from(this._map.values()))}activateSync(){this._activated=!0,this._startPluginsBatch(Array.from(this._map.values()))}onLifecycle(e){return this._lifecycleListeners.add(e),{dispose:()=>this._lifecycleListeners.delete(e)}}_emitLifecycle(e){for(const t of Array.from(this._lifecycleListeners))try{t(e)}catch{}}async _resolveEntry(e){if(typeof e=="string"||typeof e=="symbol"){const t=await this._pluginRegistry.getAsync(e);if(!t)throw new Error(`Plugin "${String(e)}" not registered.`);return{ctor:t}}if(typeof e=="function")return e.length===0?{ctor:await e()}:{ctor:e};if(Array.isArray(e)){const[t,n]=e;if(typeof t=="function")return{ctor:t,options:n};const r=await this._pluginRegistry.getAsync(t);if(!r)throw new Error(`Plugin "${String(t)}" not registered.`);return{ctor:r,options:n}}if(Js(e))return this._resolveDescriptor(e);throw new Error(`Unknown plugin entry format: ${JSON.stringify(e)}`)}async _resolveDescriptor(e){const t=e.resolve??(e.type==="umd"?"window":"module");if(Qs(e)&&await this._options.ensureHostRuntimeReady?.(e),e.type==="esm"){const n=await Ys(e.url);if(t==="module")return{ctor:n.default??n};if(t==="registry"&&e.name){const r=await this._pluginRegistry.getAsync(e.name);if(!r)throw new Error(`Plugin "${e.name}" not found in registry after ESM load`);return{ctor:r}}}if(e.type==="umd"){if(await this._loadScript(e.url),t==="window"&&e.name){const n=globalThis[e.name];if(!n)throw new Error(`Plugin "${e.name}" not found on window after script load`);return{ctor:n}}if(t==="registry"&&e.name){const n=await this._pluginRegistry.getAsync(e.name);if(!n)throw new Error(`Plugin "${e.name}" not found in registry after script load`);return{ctor:n}}}throw new Error(`Cannot resolve descriptor: type=${e.type}, resolve=${t}, name=${e.name??"none"}`)}_loadScript(e){return new Promise((t,n)=>{if(typeof document>"u"){n(new Error("Cannot load UMD script in non-browser environment"));return}const r=document.createElement("script");r.src=e,r.onload=()=>t(),r.onerror=()=>n(new Error(`Failed to load script: ${e}`)),document.head.appendChild(r)})}initSync(e){const t=[];for(const n of e){const r=this._getOrCreate(n,void 0);t.push(r)}this._activated=!0,this._startPluginsBatch(t)}async init(e){const t=[],n=new Set;for(const r of e){const{ctor:i,options:o}=await this._resolveEntry(r),s=this._getOrCreate(i,o);n.has(s)||(n.add(s),t.push(s))}this._activated=!0,await this._startPluginsBatch(t)}async setPlugins(e){const t=new Set,n=[];for(const s of e){const d=await this._resolveEntry(s);t.add(d.ctor),n.push(d)}const r=[];this._map.forEach((s,d)=>{t.has(d)||r.push({key:d,plugin:s})});for(let s=r.length-1;s>=0;s--){const{key:d,plugin:a}=r[s];await this._initializingPlugins.get(a),await this._disposePlugin(a,a.constructor.name),this._map.delete(d),this._optionsMap.delete(d),this._readyMap.delete(a),this._resolveMap.delete(a),this._initializingPlugins.delete(a),this._initializedPlugins.delete(a);const f=this._creationOrder.indexOf(a);f>=0&&this._creationOrder.splice(f,1)}const i=[],o=new Set;for(const{ctor:s,options:d}of n){const a=this._getOrCreate(s,d);o.has(a)||(o.add(a),i.push(a))}this._activated&&await this._startPluginsBatch(i)}isReady(e){return this._initializedPlugins.has(e)}ready(e){return this._initializingPlugins.get(e)??this._readyMap.get(e)??Promise.resolve()}async waitFor(e,t){if(this._pluginRegistry.has(e))return this.useByKeyAsync(e);const{timeout:n}=t??{};return await new Promise((r,i)=>{let o,s=!1;const d=()=>{s||(s=!0,o&&clearTimeout(o),this._pluginRegistry.off(e,d),r())};this._pluginRegistry.on(e,d),n!==void 0&&n>0&&(o=setTimeout(()=>{s||(s=!0,this._pluginRegistry.off(e,d),i(new Error(`waitFor("${String(e)}") timed out after ${n}ms`)))},n))}),this.useByKeyAsync(e)}useByKey(e){const t=this._pluginRegistry.get(e);if(!t)throw new Error(`Plugin "${String(e)}" not registered or not loaded yet. Use useByKeyAsync() for async plugins.`);const n=this._getOrCreate(t);return this._activated&&this._startPluginsBatch([n]),n}async useByKeyAsync(e){const t=await this._pluginRegistry.getAsync(e);if(!t)throw new Error(`Plugin "${String(e)}" not registered.`);const n=this._getOrCreate(t);return this._activated&&await this._startPluginsBatch([n]),n}useByCtor(e,t){const n=this._getOrCreate(e,t);return this._activated&&this._startPluginsBatch([n]),n}use(e){return typeof e=="function"?this.useByCtor(e):this.useByKey(e)}async useAsync(e){const{ctor:t,options:n}=await this._resolveEntry(e),r=this._getOrCreate(t,n);return this._activated&&await this._startPluginsBatch([r]),r}_getOrCreate(e,t){const n=e;if(!this._map.has(n)){t!==void 0&&this._optionsMap.set(n,t);const r=this._optionsMap.get(n),i=this._createPluginInstance(e,r),o=i.constructor.name;this._emitLifecycle({type:"created",plugin:i,name:o}),i.required?.(),this._map.set(n,i),this._creationOrder.push(i),this._setupReadyPromise(i)}return this._map.get(n)}_createPluginInstance(e,t){const n=e;if(this._creatingPlugins.has(n))throw new Error(`Cyclic dependency for plugin ${e.name}`);this._creatingPlugins.add(n);try{return Xs(e)?new e(this._context,t):e(this._context,t)||{}}finally{this._creatingPlugins.delete(n)}}_setupReadyPromise(e){const t=new Promise(n=>{this._resolveMap.set(e,n)});this._readyMap.set(e,t)}async _startPluginsBatch(e){const t=Array.from(new Set(e)),n=new Set,r=[];for(const i of t){if(this._initializedPlugins.has(i))continue;const o=this._initializingPlugins.get(i);if(o){n.add(o);continue}r.push(i)}if(r.length>0){const i=this._runBatchLifecycle(r);for(const o of r)this._initializingPlugins.set(o,i);n.add(i),i.finally(()=>{for(const o of r)this._initializingPlugins.get(o)===i&&this._initializingPlugins.delete(o)})}await Promise.all(n)}async _runBatchLifecycle(e){const t=[];for(const n of e){const r=n.constructor.name;this._emitLifecycle({type:"init:start",plugin:n,name:r});try{await n.init?.(),this._emitLifecycle({type:"init:success",plugin:n,name:r}),t.push(n)}catch(i){this._emitLifecycle({type:"init:error",plugin:n,name:r,error:i})}}for(const n of t){const r=n.constructor.name;this._emitLifecycle({type:"afterInit:start",plugin:n,name:r});try{await n.afterInit?.(),this._emitLifecycle({type:"afterInit:success",plugin:n,name:r})}catch(i){this._emitLifecycle({type:"afterInit:error",plugin:n,name:r,error:i})}}for(const n of e)this._initializedPlugins.add(n),this._resolveMap.get(n)?.(),this._resolveMap.delete(n)}async _disposePlugin(e,t){this._emitLifecycle({type:"dispose:start",plugin:e,name:t});try{await e.dispose?.(),this._emitLifecycle({type:"dispose:success",plugin:e,name:t})}catch(n){this._emitLifecycle({type:"dispose:error",plugin:e,name:t,error:n})}}async dispose(){for(let e=this._creationOrder.length-1;e>=0;e--){const t=this._creationOrder[e];await this._initializingPlugins.get(t),await this._disposePlugin(t,t.constructor.name)}this._map.clear(),this._optionsMap.clear(),this._readyMap.clear(),this._resolveMap.clear(),this._initializingPlugins.clear(),this._initializedPlugins.clear(),this._creationOrder.length=0,this._lifecycleListeners.clear()}getStatus(){return Array.from(this._map.values()).map(e=>({name:e.constructor.name,initialized:this._initializedPlugins.has(e)}))}},ea=class{_plugins=new Map;_listeners=new Map;_getOrCreateEntry(e){let t=this._plugins.get(e);return t||(t={overrides:[]},this._plugins.set(e,t)),t}_applyOverrides(e,t){const n=this._plugins.get(e);if(n?.overrides)for(const r of n.overrides)t=r(t)||t;return t}_notifyListeners(e,t){const n=this._listeners.get(e);if(!n||n.length===0)return;for(const i of n)try{i.callback(t)}catch{}const r=n.filter(i=>!i.once);r.length>0?this._listeners.set(e,r):this._listeners.delete(e)}get(e){const t=this._plugins.get(e);if(t?.ctor)return this._applyOverrides(e,t.ctor)}async getAsync(e){const t=this._plugins.get(e);if(t?.ctor)return this._applyOverrides(e,t.ctor);if(t?.loading){const n=await t.loading;return this._applyOverrides(e,n)}if(t?.factory){const n=Promise.resolve(t.factory()).then(i=>(t.ctor=i,t.loading=void 0,this._notifyListeners(e,i),i));t.loading=n;const r=await n;return this._applyOverrides(e,r)}return new Promise(n=>{this.on(e,r=>n(this._applyOverrides(e,r)))})}add(e,t){const n=this._getOrCreateEntry(e);n.ctor=t,this._notifyListeners(e,t)}addAll(e){for(const t of Object.keys(e)){const n=e[t];n!==void 0&&this.add(t,n)}}addAsync(e,t){const n=this._getOrCreateEntry(e);return n.factory=t,{dispose:()=>{n.ctor||(n.factory=void 0)}}}has(e){const t=this._plugins.get(e);return!!(t?.ctor||t?.factory)}isLoaded(e){return!!this._plugins.get(e)?.ctor}override(e,t){const n=this._getOrCreateEntry(e);return n.overrides.push(t),{dispose:()=>{const r=n.overrides.indexOf(t);r>=0&&n.overrides.splice(r,1)}}}on(e,t){const n=this.get(e);n&&t(n);let r=this._listeners.get(e);r||(r=[],this._listeners.set(e,r));const i={callback:t,once:!1};return r.push(i),{dispose:()=>this._removeListener(e,t)}}once(e,t){const n=this.get(e);if(n)return t(n),{dispose:()=>{}};let r=this._listeners.get(e);r||(r=[],this._listeners.set(e,r));const i={callback:t,once:!0};return r.push(i),{dispose:()=>this._removeListener(e,t)}}off(e,t){this._removeListener(e,t)}_removeListener(e,t){const n=this._listeners.get(e);if(n){const r=n.findIndex(i=>i.callback===t);r>=0&&n.splice(r,1),n.length===0&&this._listeners.delete(e)}}keys(){return Array.from(this._plugins.keys())}forContext(){const e=this;return{add(t,n){e.add(t,n)}}}},ta=class{resolveRegistry;constructor(e){this.resolveRegistry=e}target(){return this.resolveRegistry()}get(e){return this.target().get(e)}getAsync(e){return this.target().getAsync(e)}add(e,t){return this.target().add(e,t)}addAll(e){return this.target().addAll(e)}addAsync(e,t){return this.target().addAsync(e,t)}has(e){return this.target().has(e)}isLoaded(e){return this.target().isLoaded(e)}override(e,t){return this.target().override(e,t)}on(e,t){return this.target().on(e,t)}once(e,t){return this.target().once(e,t)}off(e,t){return this.target().off(e,t)}keys(){return this.target().keys()}forContext(){return this.target().forContext()}},rr=class{capacity;items=[];constructor(e){this.capacity=e}push(e){this.items.length>=this.capacity&&this.items.shift(),this.items.push(e)}snapshot(){return this.items.slice()}size(){return this.items.length}clear(){this.items=[]}};function na(e,t){return t+e}function ra(){return typeof performance>"u"?Date.now():na(performance.now(),performance.timeOrigin)}var ia="emailmaker:diagnostics",oa="diagnostics",sa="diagnostics";function ir(e,t){return t?`${e}${e.includes("?")?"&":"?"}${sa}=1`:e}var Rt;function aa(){try{const e=new URLSearchParams(window.location.search).get(oa);return e===null?void 0:e!=="0"}catch{return}}function la(){const e=window.__DIAGNOSTICS__;return typeof e=="boolean"?e:void 0}function da(){try{const e=window.localStorage.getItem(ia);return e===null?void 0:e==="1"}catch{return}}function $e(){return Rt===void 0&&(Rt=typeof window>"u"?!1:aa()??la()??da()??!1),Rt}function ca(e){return`__${(e||"emailmaker").toLowerCase().replaceAll("-","")}__`}var Q={initStart:"loader:init:start",coreReady:"loader:core:ready",initEnd:"loader:init:end",chunksLoaded:"app:chunks:loaded",showStart:"show:start",showEnd:"show:end",canvasCreated:"canvas:created",canvasLoaded:"canvas:loaded",canvasPainted:"canvas:painted",appVisible:"app:visible",editorVisible:"editor:visible",canvasSettled:"canvas:settled"},Lh=Object.values(Q),Mh=[Q.canvasPainted,Q.canvasSettled,Q.appVisible,Q.editorVisible],ua=5e3,fa=3e3,or="diagnosticsStore",nt,Ne;function sr(){return{marks:new rr(ua),resources:new rr(fa)}}function Ei(){if(Ne)return Ne;const e=On();return e?(Ne=e[or]??nt??sr(),e[or]=Ne,nt=void 0,Ne):(nt??=sr(),nt)}function z(e,t){$e()&&Ei().marks.push({phase:e,at:ra(),...t})}function On(){if(typeof window.__emailmaker__<"u"&&window.__emailmaker__)return window.__emailmaker__;if(typeof window>"u")return;const e=window[ca()];return e!==null&&typeof e=="object"?e:void 0}function pa(e){const t=e.length,n=Ei();return e.forEach(r=>n.marks.push(r)),e.length=0,t}function ma(){const e=On();return!e||!Array.isArray(e.diagnosticsBuffer)?0:pa(e.diagnosticsBuffer)}var ha="Editor instance was destroyed and cannot be reused. A fresh instance will be created instead.";function xn(){const e=new Error(ha);return e.name="DestroyedInstanceError",e}function rn(e,t){if(e===t)return!0;if(!e||!t||typeof e!="object"||typeof t!="object")return!1;const n=Array.isArray(e);if(n!==Array.isArray(t))return!1;if(n){const o=e,s=t;return o.length===s.length&&o.every((d,a)=>rn(d,s[a]))}const r=Object.keys(e),i=Object.keys(t);return r.length!==i.length?!1:r.every(o=>Object.prototype.hasOwnProperty.call(t,o)&&rn(e[o],t[o]))}function yi(e,t){const n={watch(r){let i,o=!1;return e.watch(s=>{const d=t(s);o&&rn(i,d)||(i=d,o=!0,r(d))})},select(r){return yi(n,r)}};return n}function Me(...e){let t=e[0],n=e.length>0;const r=new Set,i={get(){return n?t:void 0},set(o){t=o,n=!0;for(const s of Array.from(r))s(o)},watch(o){return r.add(o),n&&o(t),{dispose:()=>r.delete(o)}},select(o){return yi(i,o)}};return i}var _i=class{http;constructor(e){this.http=e}app_init_create=(e,t={})=>this.http.request({path:"/app/v1/app_init",method:"POST",body:e,type:Cs.UrlEncoded,...t})},wi=class{http;constructor(e){this.http=e}get_translations2=({file:e,...t},n={})=>this.http.request({path:`/translations/v1/${e}`,method:"GET",...n});get_translations3=({id:e,file:t,...n},r={})=>this.http.request({path:`/translations/v1/${t}/${e}`,method:"GET",...r})};function ga(e){return String(e||"").trim()||void 0}var va=class extends ee{deps;_app;_baseUrl;_appInit;_restBaseUrl;_prevApp;constructor(e){super(),this.deps=e,this.addDisposable(e.options.select(t=>this._slice(t)).watch(t=>this._start(t)))}get app(){return this._app}_slice(e){return Object.prototype.hasOwnProperty.call(e,"baseUrl")&&(this._baseUrl=ga(e.baseUrl)),Object.prototype.hasOwnProperty.call(e,"appInit")&&(this._appInit=e.appInit),{appInit:this._appInit,user:e.user,project:e.project,baseUrl:this._baseUrl,restBaseUrl:this.deps.resolveRestBaseUrl(this._baseUrl),standalone:this.deps.isStandalone()}}_start(e){if(this._restBaseUrl!==e.restBaseUrl&&(this._restBaseUrl=e.restBaseUrl,this.deps.setRestBaseUrl(e.restBaseUrl)),e.standalone)return;const t=e.appInit||this.deps.fallbackAppInit,n=Promise.resolve(t({baseUrl:e.baseUrl,user:e.user,project:e.project,prevApp:this._prevApp}));this._app=n,n.then(r=>{this._app===n&&(this._prevApp=r)},()=>{}),this.deps.publish(n)}},Ln=L("AppInitService");function ba(e){return async()=>{const t=await e();return(await new _i(t).app_init_create({})).data}}function Ea(e){e.injectFactory(Ln,()=>{const t=new va({options:e.getInstance(se),isStandalone:()=>!!e.getInstance(me),resolveRestBaseUrl:n=>n?tr(n):tr()||void 0,setRestBaseUrl:n=>{e.getInstance(Vs)?.setOptions(n?{baseUrl:n}:{})},fallbackAppInit:ba(()=>e.getInstanceAsync(ms)),publish:n=>{e.inject(Pe,n)}});return e.getInstance(j)?.addDisposable(t),t},!0)}var Mn=L("documentSession.emailDocuments");function Pt(e){return e?.getInstance(Mn)}var ya=L("RevisionServiceFlag");function _a(e){return e.getOrCreateInstance(ya,()=>{let t=!1;return{isEnabled:()=>t,set:n=>{t=n}}})}function Si(e){return _a(e).isEnabled()}var wa=L("EmailRightsResolver");function Sa(e,t){const n=e.getInstance(wa);return n?n(t):!0}var Ii=L("EmailHistoryAvailabilityResolver");function Ia(e){return e.getInstance(Ii)!==void 0}async function Ta(e){const t=e.getInstance(Ii);if(!t)return!0;try{return await t()}catch{return!1}}var kn={INIT_START:5e3,SET_ENTITY:12e3,PREHEADER:5e3,SUBJECT:5e3,INITED:5e3,UPDATE_ENTITY:5e3},Ti=["INIT_START","SET_ENTITY","PREHEADER","SUBJECT","INITED"],Ai=2e4,Aa=Ti.reduce((e,t)=>e+kn[t],0),Ci=Ai+Aa+3e3;function Ca(e){return Ti.reduce((t,n)=>t+Ri(n,e),0)}function Ri(e,t){const n=t?.[e];return typeof n=="number"&&n>0?n:kn[e]}function Pi(e){const t=e?.contentReady;return typeof t=="number"&&t>0?t:Ci}function Di(e){const t=e?.sandboxReady;return typeof t=="number"&&t>0?t:Ai}function Oi(e=Ci){return e+3e3}function xi(e){return e instanceof Error?`${e.name}: ${e.message}`:typeof e=="string"?e:JSON.stringify(e)??"undefined"}var Ra=()=>Oi();function Pa(e,t){let n;return Promise.race([e,new Promise(r=>{n=setTimeout(()=>{r()},t)})]).finally(()=>{n!==void 0&&clearTimeout(n)})}function Da(e){return t=>Pa(e.getOrCreateInstance(B.BEFORE_SAVE_EMAIL,()=>new pe).fire(t),Ra())}function Oa(e){return e!=null&&e!==""}var xa;function wt(e,t){return xa?.capture(e,t)}function La(e=""){let t=e;return{read:()=>t,write:n=>{t=n},dispose:()=>{t=""}}}function rt(e){return e.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}var ie=class{oldPosition;oldText;newPosition;newText;get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(e,t,n,r){this.oldPosition=e,this.oldText=t,this.newPosition=n,this.newText=r}toString(){return this.oldText.length===0?`(insert@${this.oldPosition} "${rt(this.newText)}")`:this.newText.length===0?`(delete@${this.oldPosition} "${rt(this.oldText)}")`:`(replace@${this.oldPosition} "${rt(this.oldText)}" with "${rt(this.newText)}")`}};function ar(e,t){return e===null||e.length===0?t:new Ma(e,t).compress()}var Ma=class ae{_prevEdits;_currEdits;_result;_resultLen;_prevLen;_prevDeltaOffset;_currLen;_currDeltaOffset;constructor(t,n){this._prevEdits=t,this._currEdits=n,this._result=[],this._resultLen=0,this._prevLen=this._prevEdits.length,this._prevDeltaOffset=0,this._currLen=this._currEdits.length,this._currDeltaOffset=0}compress(){let t=0,n=0,r=this._getPrev(t),i=this._getCurr(n);for(;t<this._prevLen||n<this._currLen;){if(r===null){if(i===null)break;this._acceptCurr(i),i=this._getCurr(++n);continue}if(i===null){this._acceptPrev(r),r=this._getPrev(++t);continue}if(i.oldEnd<=r.newPosition){this._acceptCurr(i),i=this._getCurr(++n);continue}if(r.newEnd<=i.oldPosition){this._acceptPrev(r),r=this._getPrev(++t);continue}if(i.oldPosition<r.newPosition){const[a,f]=ae._splitCurr(i,r.newPosition-i.oldPosition);this._acceptCurr(a),i=f;continue}if(r.newPosition<i.oldPosition){const[a,f]=ae._splitPrev(r,i.oldPosition-r.newPosition);this._acceptPrev(a),r=f;continue}let s,d;if(i.oldEnd===r.newEnd)s=r,d=i,r=this._getPrev(++t),i=this._getCurr(++n);else if(i.oldEnd<r.newEnd){const[a,f]=ae._splitPrev(r,i.oldLength);s=a,d=i,r=f,i=this._getCurr(++n)}else{const[a,f]=ae._splitCurr(i,r.newLength);s=r,d=a,r=this._getPrev(++t),i=f}this._result[this._resultLen++]=new ie(s.oldPosition,s.oldText,d.newPosition,d.newText),this._prevDeltaOffset+=s.newLength-s.oldLength,this._currDeltaOffset+=d.newLength-d.oldLength}const o=ae._merge(this._result);return ae._removeNoOps(o)}_acceptCurr(t){this._result[this._resultLen++]=ae._rebaseCurr(this._prevDeltaOffset,t),this._currDeltaOffset+=t.newLength-t.oldLength}_getCurr(t){return t<this._currLen?this._currEdits[t]:null}_acceptPrev(t){this._result[this._resultLen++]=ae._rebasePrev(this._currDeltaOffset,t),this._prevDeltaOffset+=t.newLength-t.oldLength}_getPrev(t){return t<this._prevLen?this._prevEdits[t]:null}static _rebaseCurr(t,n){return new ie(n.oldPosition-t,n.oldText,n.newPosition,n.newText)}static _rebasePrev(t,n){return new ie(n.oldPosition,n.oldText,n.newPosition+t,n.newText)}static _splitPrev(t,n){const r=t.newText.substr(0,n),i=t.newText.substr(n);return[new ie(t.oldPosition,t.oldText,t.newPosition,r),new ie(t.oldEnd,"",t.newPosition+n,i)]}static _splitCurr(t,n){const r=t.oldText.substr(0,n),i=t.oldText.substr(n);return[new ie(t.oldPosition,r,t.newPosition,t.newText),new ie(t.oldPosition+n,i,t.newEnd,"")]}static _merge(t){if(t.length===0)return t;const n=[];let r=0,i=t[0];for(let o=1;o<t.length;o++){const s=t[o];i.oldEnd===s.oldPosition?i=new ie(i.oldPosition,i.oldText+s.oldText,i.newPosition,i.newText+s.newText):(n[r++]=i,i=s)}return n[r++]=i,n}static _removeNoOps(t){if(t.length===0)return t;const n=[];let r=0;for(let i=0;i<t.length;i++){const o=t[i];o.oldText!==o.newText&&(n[r++]=o)}return n}};function ka(e){return new ie(e.newPosition,e.newText,e.oldPosition,e.oldText)}function Na(e){return e.map(ka)}function lr(e,t){return t.every(n=>e.slice(n.oldPosition,n.oldEnd)===n.oldText)}function Fa(e,t){let n=e;for(let r=t.length-1;r>=0;r-=1){const i=t[r];n=n.slice(0,i.oldPosition)+i.newText+n.slice(i.oldEnd)}return n}function ja(e,t,n){let r=0;const i=e.start===e.end;for(const o of t){const s=o.newLength-o.oldLength;if(o.oldLength===0){const d=o.oldPosition;if(i&&d===e.start)r+=n==="after"?s:0;else{if(e.start<d&&d<e.end)return null;d<=e.start&&(r+=s)}continue}if(i){if(e.start>=o.oldEnd)r+=s;else if(e.start>o.oldPosition)return null;continue}if(e.start>=o.oldEnd)r+=s;else if(e.end>o.oldPosition)return null}return{start:e.start+r,end:e.end+r}}var gt=class extends Error{reason;constructor(e){super("Открытие документа не удалось"),this.reason=e,this.name="DocumentOpenFailedError"}},dr=0,Ba=Math.random().toString(36).slice(2,8);function Ua(){return dr+=1,`doc-${Ba}-${dr}`}function Ha(e){const t=e.createBuffer(),n=e.docId??Ua();let r=e.serverId??null,i=0,o=null,s=e.attributes??{};const d=new Set;let a=!1,f=!1,u;const v=new Set;let b=null;const E=()=>(b?.version!==i&&(b={version:i,value:t.read()}),b.value),I=g=>Object.entries(g).some(([y,_])=>s[y]!==_);return{get:()=>({docId:n,serverId:r,version:i,savedVersion:o,attributes:s}),getContent:E,mutate(g,{source:y}){if(a)return i;const _=g.changes?.length?g.changes:void 0,S=_?Fa(E(),_):g.content!==void 0?g.content:void 0,A=S!==void 0&&S!==E(),m=g.attributes!==void 0&&I(g.attributes);if(!A&&!m)return i;const c=!(i>(o??-1));return A&&t.write(S),m&&(s={...s,...g.attributes}),i+=1,y!=="user"&&c&&(o=i),d.forEach(l=>l({source:y,version:i,changes:_})),i},markSaved(g,y){const _={serverId:r,savedVersion:o};y!==void 0&&(r=y),(o===null||g>o)&&(o=g),(_.serverId!==r||_.savedVersion!==o)&&d.forEach(S=>S({source:"system",version:i}))},markReady(){f||u!==void 0||(f=!0,v.forEach(g=>g.resolve()),v.clear(),d.forEach(g=>g({source:"system",version:i})))},isReady:()=>f,markFailed(g){f||u!==void 0||a||(u=g,v.forEach(y=>y.reject(new gt(g))),v.clear(),d.forEach(y=>y({source:"system",version:i})))},failure:()=>u,whenReady(){return f?Promise.resolve():u!==void 0?Promise.reject(new gt(u)):a?Promise.reject(new Error("Документ закрыт до того, как наполнение закончилось")):new Promise((g,y)=>{v.add({resolve:g,reject:y})})},subscribe(g){return d.add(g),()=>d.delete(g)},isNew:()=>r===null,isDirty:()=>i>(o??-1),isDisposed:()=>a,dispose(){a=!0,v.forEach(g=>g.reject(new Error("Документ закрыт до того, как наполнение закончилось"))),v.clear(),d.clear(),t.dispose()}}}var Ga=500,qa=100,Dt=0;function $a(e,t={}){const n=t.groupIntervalMs??Ga,r=t.maxSteps??qa,i=t.now??(()=>0);let o=[],s=0,d=Dt+=1,a=null,f=!1,u=!1,v=!1;const b=new Set,E=()=>b.forEach(l=>l()),I=(l,p)=>{if(l.length){u=!0;try{e.mutate({changes:l},{source:p})}finally{u=!1}}},g=l=>I(l,"user"),y=l=>{const p=i();f&&a!==null&&p-a<n?o[s-1]=ar(o[s-1],l):(o=o.slice(0,s),o.push(l),s=o.length,f=!0,o.length>r&&(o=o.slice(o.length-r),s=o.length,d=Dt+=1)),a=p,E()},_=()=>{f=!1,a=null},S=l=>{if(!l.length)return;const p=o.length>s;p&&(o=o.slice(0,s)),s>0&&(o[s-1]=ar(o[s-1],l)),_(),p&&E()},A=e.subscribe(({source:l,changes:p})=>{if(!(v||u||!p?.length)){if(l==="remote"){m();return}if(l!=="user"){S(p);return}y(p)}}),m=()=>{o=[],s=0,_(),d=Dt+=1,E()},c=()=>{if(s===0)return!1;const l=Na(o[s-1]);return lr(e.getContent(),l)?(g(l),s-=1,_(),!0):(o=o.slice(0,s-1),s=o.length,_(),E(),!1)};return{canUndo:()=>s>0,canRedo:()=>s<o.length,undo(){c()&&E()},redo(){if(!(s>=o.length)){if(!lr(e.getContent(),o[s])){o=o.slice(0,s),_(),E();return}g(o[s]),s+=1,_(),E()}},clear:m,applyWithoutHistory(l){const p=e.get().version;if(I(l,"system"),e.get().version===p){_();return}S(l)},getPast:l=>o.slice(0,s).reverse().slice(0,l),getFuture:l=>o.slice(s).reverse().slice(0,l),createSnapshot:()=>({stackId:d,index:s}),restoreSnapshot(l){if(l.stackId!==d||l.index>s)return!1;for(;s>l.index;)if(!c())return E(),!1;return E(),!0},subscribe(l){return b.add(l),()=>b.delete(l)},dispose(){v=!0,A(),b.clear(),o=[],s=0}}}var za=["edit","move","resize","insert"];function Ot(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}function Va(e){return typeof e=="string"?e:null}function Ka(e){return!Array.isArray(e)||!e.every(t=>typeof t=="string")?null:e}function Wa(e){return za.includes(e)?e:null}function Ya(e){const t=typeof e=="object"&&e!==null?e:{},n={originId:Va(t.originId),changeId:Ot(t.changeId),rev:Ot(t.rev),baseRev:Ot(t.baseRev),expected:Ka(t.expected),intent:Wa(t.intent)};return{...n,legacy:Object.values(n).every(r=>r===null)}}var cr=class extends Error{reason;constructor(e){super(`сохранение не состоялось: ${e}`),this.name="SaveRefusedError",this.reason=e}},Li="draft";function je(e){return e==null||e===""?Li:String(e)}function Xa(e){return e==null||e===""?`${on}${Li}`:`${on}${String(e)}`}var on="block:";function he(e){return e?.startsWith(on)===!0}function Be(e){return he(e.sessionKey())?void 0:e.current()}function He(e,t,n){const r=typeof performance<"u"?performance.now():Date.now();return z(`show:gate:${e}`,{kind:"wait"}),t.then(i=>(z(`show:gate:${e}:end`,{kind:"wait"}),i),i=>{const o=Math.round((typeof performance<"u"?performance.now():Date.now())-r);throw Tn(i)?(`${e}`,{...n}):(`${e}`,{error:xi(i),...n},void 0),i})}function Mi(e){return e?.length?[...e].sort((t,n)=>Date.parse(n.modified)-Date.parse(t.modified))[0]:null}function ki(e,{freshSince:t}={}){return!(!e?.slug?.includes("autosave")||!e?.html?.trim()||t!==void 0&&Date.parse(e.modified)<t-5e3)}function Ja(e,t={}){const n=Mi((e??[]).filter(r=>r?.html?.trim()));return ki(n,t)?n:null}function Qa(e){const t=Date.parse(Mi(e)?.modified??"");return{autosave:Ja(e),...Number.isFinite(t)?{latestAt:t}:{}}}function Za({hasUnsavedUserEdit:e}){return e?"skip":"apply"}var Ni=e=>e.replace(/\r\n?/g,`
|
|
997
|
+
`),ur=["recovery","plugin","rest"],el=["subject","preheader"];function tl(e){let t={},n;for(let i=ur.length-1;i>=0;i--){const o=e.get(ur[i]);o&&(o.attributes&&(t={...t,...o.attributes}),o.content!==void 0&&(n=o.content))}const r=e.get("plugin")?.attributes;for(const i of el){const o=r?.[i];typeof o=="string"&&o!==""&&(t={...t,[i]:o})}return n!==void 0?{content:n,attributes:t}:{attributes:t}}function Fi(e,t){if(!e||!t)return;const n=e.getContent(),r=t.content!==void 0?Ni(t.content):void 0,i=r!==void 0&&r!==n;e.get().docId,Object.keys(t.attributes??{}),e.mutate({attributes:t.attributes??{},...i?{changes:[new ie(0,n,0,r)]}:{}},{source:"remote"})}var fr=e=>typeof e=="string"?e.trim():"";function nl(e,t,n){const{version:r,attributes:i}=e.get(),o=i,s=fr(o.title)||fr(o.subject);return{version:r,payload:{html:e.getContent(),title:s,subject:o.subject,preheader:o.preheader,description:o.description,common_styles:o.common_styles||"",meta:o.meta,utm_parameters:o.utm_parameters,parent_email:o.parent_email,is_template:o.is_template||!1,is_inited:o.is_inited,tags:o.tags,emailtags:o.emailtags,group:o.group,renderGuid:e.get().docId,project:t.project??o.project,folder:t.folder,...n?.emailtags?{emailtags:n.emailtags}:{},...n?.group?{group:n.group}:{},source:t.source}}}async function rl(e,t,n,r,i){if(n==="materialize"||n==="publish"&&r==null)return e.createEmail(i);if(r==null)throw new Error("Письмо ещё не создано на сервере");return n==="publish"?e.updateEmail(r,i):t.saveAutosave(r,i)}function ge(e,t=!1){const n={};for(const r of Object.keys(e)){let i=e[r];i!==void 0&&!(typeof i=="number"&&Number.isNaN(i))&&(t&&typeof i=="object"&&i!==null&&(i=ge(i)),n[r]=i)}return n}var il=new Set(["html","id","renderGuid","showToken","showId","isNew"]);function ji(e){return e?Object.fromEntries(Object.entries(e).filter(([t])=>!il.has(t))):{}}function vt(e,t,n={}){e&&e.mutate({attributes:ol(e.get().attributes,t)},{source:n.source??"user"})}function ol(e,t){return t.subject===void 0||t.title!==void 0?t:(e.title??"")===(e.subject??"")?{...t,title:t.subject}:t}function Nn(e,t){return e===void 0&&Object.keys(t).length===0?null:{...e!==void 0?{content:e}:{},attributes:t}}function sl(e){return typeof e=="string"&&e.startsWith("{")?e:"{}"}function Bi(e){if(!e)return null;const t=ji(e);return e.common_styles!==void 0&&(t.common_styles=sl(e.common_styles)),Nn(e.html,t)}function Ui(e){return e?Nn(e.html,ge(ji(e))):null}var al=["common_styles","subject","preheader","meta"];function pr(e){if(!e?.html?.trim())return null;const t={};for(const n of al)ll(n,e[n])&&(t[n]=e[n]);return Nn(e.html,t)}function ll(e,t){return e==="common_styles"?typeof t=="string"&&t.startsWith("{"):e==="meta"?typeof t=="object"&&t!==null&&!Array.isArray(t):typeof t=="string"}var dl=10,cl=(e,t)=>e.key===t.key&&ul(e.serverId,t.serverId),ul=(e,t)=>e==null||e===t;function fl(e){return typeof e?.then=="function"}var mr=e=>{e.timer!==void 0&&(clearTimeout(e.timer),e.timer=void 0)},Hi=e=>{e.request.serverId!=null&&e.document.markSaved(e.document.get().version)},pl=e=>{Fi(e.document,tl(e.reports)),Hi(e)},xt=(e,t)=>{if(!e.ready){pl(e);return}Fi(e.document,t)},ml=e=>{const{attributes:t,serverId:n,docId:r}=e.document.get();return{...t,html:e.document.getContent(),id:n??void 0,isNew:n==null,renderGuid:r}};function hl(e){const{resolveAdapters:t,timeoutMs:n,resolveWritePort:r,resolveHistoryPort:i,resolveTerms:o,canEdit:s,notifyBeforeSave:d,onAdapterError:a,onTimeout:f}=e;let u;const v=new Set,b=new Set,E=()=>v.forEach(h=>h()),I=(h,w)=>{if(!(h.closed||h.ready)){if(h.error!==void 0){h.document.markFailed(h.error),h.document.get().docId;return}Hi(h),h.ready=!0,h.document.markReady(),h.document.get().docId,[...h.reports.keys()]}},g=(h,w,T)=>{a?.(w.id,T),!(!w.required||h.closed)&&(h.error=T,h.document.get().docId,w.id,E())},y=(h,w)=>{const T=new Set(w.map(R=>R.id));w.forEach(R=>{R.watch&&h.watchers.push(R.watch(C=>h.closed?!1:h.ready&&C?.content!==void 0&&Za({hasUnsavedUserEdit:h.document.isDirty()})==="skip"?(h.document.get().docId,R.id,!1):(C&&h.reports.set(R.id,C),xt(h,C),!0)))});const O=(R,C)=>{h.closed||(C&&h.reports.set(R.id,C),xt(h,C))},k=()=>{T.size>0||h.closed||(mr(h),I(h,[]))},W=[];if(w.forEach(R=>{let C;try{C=R.load()}catch(D){g(h,R,D),T.delete(R.id);return}if(fl(C)){W.push({id:R.id,required:R.required,load:()=>C});return}O(R,C),T.delete(R.id)}),W.length===0){k();return}h.timer=setTimeout(()=>{h.timer=void 0,f?.([...T]),h.document.get().docId,[...T],I(h,[...T])},n),h.timer.unref?.(),W.forEach(R=>{R.load().then(C=>O(R,C)).catch(C=>{g(h,R,C)}).finally(()=>{T.delete(R.id),k()})})},_=async(h,w,T)=>{if(T==="snapshot"||T==="anchor")return;const O=o?.();if(O)return O.resolve({project:w.project??h.project,tags:(h.tags??[]).map(k=>({name:k}))})},S=h=>{if(h.lock===!0&&s?.(h)===!1)return new cr("locked");const w=h.tags?.length??0,T=h.emailtags?.length??0;if(Math.max(w,T)>dl)return new cr("too-many-tags")},A=async(h,w,T)=>{try{await h.document.whenReady()}catch(C){return h.saveError=C,h.saveFailures+=1,h.saveFailures,!1}if(h.closed)return!1;const O=S(h.document.get().attributes);if(O)return h.saveError=O,h.saveFailures+=1,O.reason,E(),!1;if(d&&(await d(ml(h)).catch(()=>{}),h.closed))return!1;let k;try{k=await _(h.document.get().attributes,T,w)}catch(C){return h.saveError=C,h.saveFailures+=1,h.saveFailures,E(),!1}if(h.closed)return!1;const{payload:W,version:R}=nl(h.document,T,k);h.document.get().docId;try{const C=h.document.get().serverId!=null,D=await rl(r(),i(h.request.key),w,h.document.get().serverId,W);if(h.closed)return!0;let x;if(w==="snapshot"||w==="anchor"){const M=D?.modified!=null?Date.parse(D.modified):NaN;x=Number.isFinite(M)?M:Date.now(),h.snapshotVersion=R,h.lastRevisionAt=x}else h.document.markSaved(R,D?.id!=null?String(D.id):void 0);const U=h.document.get().serverId;!C&&U!=null&&(h.recoveryFacts={emailId:U,historyLoaded:!0,isRecovering:!1}),h.saveError=void 0,h.saveFailures=0,h.document.get().serverId,E();const J={intent:w,serverId:h.document.get().serverId,created:!C,...x!==void 0?{revisionAt:x}:{}};return b.forEach(M=>M(J)),!0}catch(C){return h.saveError=C,h.saveFailures+=1,h.saveFailures,E(),!1}},m=()=>{u&&(u.closed=!0,u.watchers.forEach(h=>h()),u.watchers=[],mr(u),u.history.dispose(),u.document.dispose(),u=void 0)},c=(h,w,T)=>{let O=!1;w.show&&(h.show?.id!==w.show.id||h.show.token!==w.show.token)&&(h.show=w.show,O=!0,{docId:h.document.get().docId,...w.show});const k=T==="show"?Ui(w.patch):null;k&&(h.reports.set("plugin",k),xt(h,k)),O&&E()},l=(h,w={})=>{const T=u;return!T||T.closed?Promise.resolve(!1):T.saving?h==="snapshot"?Promise.resolve(!1):(T.inFlight??Promise.resolve(!1)).then(()=>l(h,w)):(T.saving=!0,T.inFlight=A(T,h,w).finally(()=>{T.saving=!1,T.inFlight=void 0}),T.inFlight)},p=(h,w="open")=>{if(u&&!u.closed&&w!=="new"&&cl(u.request,h))return c(u,h,w),u.document;m();const T=Ha({createBuffer:()=>La(""),serverId:h.serverId??null}),O={request:h,show:h.show,document:T,history:$a(T,{now:Date.now}),watchers:[],saveFailures:0,saving:!1,reports:new Map,ready:!1,closed:!1};return u=O,T.get().docId,h.serverId,y(O,t(h,{publishRecoveryFacts(k){O.closed||(O.recoveryFacts=k,E())},readShownContent:()=>O.closed?null:O.document.getContent()})),E(),T};return{openWith:p,open:(h,w={})=>p({key:je(h),serverId:h,email:w.email,patch:w.patch,show:w.show},"open"),openDraft:(h,w={})=>p({key:je(void 0),serverId:null,email:h,patch:w.patch,show:w.show},"open"),startNewDraft:(h,w={})=>p({key:je(void 0),serverId:null,email:h,patch:w.patch,show:w.show},"new"),reload:(h,w={})=>p({key:je(h),serverId:h,email:w.email,patch:w.patch,show:w.show},"new"),openBlock:(h,w)=>p({key:he(h)?h:Xa(h),serverId:w?.id!=null?String(w.id):null,email:w},"open"),show:(h,w)=>{const T=u;if(!(!T||T.closed))return p({...T.request,patch:h,show:w},"show")},current:()=>u?.document,save:l,saveState:()=>({error:u?.saveError,failures:u?.saveFailures??0,saving:u?.saving===!0}),revisionFacts(){if(!u)return;const h=u.revisionFactsSnapshot;return h&&h.snapshotVersion===u.snapshotVersion&&h.lastRevisionAt===u.lastRevisionAt?h:(u.revisionFactsSnapshot={snapshotVersion:u.snapshotVersion,lastRevisionAt:u.lastRevisionAt},u.revisionFactsSnapshot)},recoveryFacts:()=>u?.recoveryFacts,history:()=>u?.history,forcedHeaders:()=>u?.forcedHeaders,beginForcedHeaders(h){u&&!u.closed&&(u.forcedHeaders=h)},endForcedHeaders(){u&&(u.forcedHeaders=void 0)},onSaved(h){return b.add(h),()=>b.delete(h)},showFacts:()=>u?.show,sessionKey:()=>u?.request.key,openError:()=>u?.error,subscribe(h){return v.add(h),()=>v.delete(h)},close(){u&&(m(),E())}}}var Gi=class extends Error{reason;constructor(e,t){super(`письмо не открылось: ${e}`),this.name="EmailOpenFailedError",this.reason=e,this.cause=t}};function qi(e){if(e instanceof Gi)return e.reason;if(e instanceof gt)return qi(e.reason)}function gl(e,t){return{id:"rest",required:!0,load:async()=>{const n=await e.readEmail(t);if(!n)throw new Gi("not-found");return Bi(n)}}}var $i=L("EmailPort");function vl(e){return e.getInstance($i)}function bl(e,t){e.inject($i,t)}var zi=L("documentSession.restEmailPortFactories");function Vi(e){return e.getInstance(zi)!==void 0}function Se(e){const t=e.getInstance(zi);if(!t)throw new Error("[documentSession] порты поверх REST ещё не загружены — работа с сервером начинается с init()");return t}var El=L("EmailTermsResolver");function yl(e){return e.getInstance(El)}var Ki=L("EmailHistoryPort"),_l=L("BlockHistoryPort");function Wi(e){return e.getInstance(_l)}function Yi(e){return e.getInstance(Ki)}function wl(e,t){e.inject(Ki,t)}var Sl="em_autosave_pending";function bt(e){return`${Sl}_${e}`}function Il(e,t){try{sessionStorage.setItem(bt(e),JSON.stringify(t))}catch{}}function Tl(e){try{const t=sessionStorage.getItem(bt(e));if(!t)return null;const n=JSON.parse(t);return Date.now()-n.sentAt>6e4?(sessionStorage.removeItem(bt(e)),null):n}catch{return null}}function it(e){try{sessionStorage.removeItem(bt(e))}catch{}}var Al=2e3,Cl=5e3,Rl=5,Pl=5e3,Dl=4;function Ol(){return typeof performance<"u"&&typeof performance.timeOrigin=="number"?performance.timeOrigin:Date.now()}function xl(e,t){return e==null||t==null?!1:e.replaceAll(`\r
|
|
998
998
|
`,`
|
|
999
999
|
`)===t.replaceAll(`\r
|
|
1000
1000
|
`,`
|
|
1001
|
-
`)}function Tl({emailId:e,readAutosave:t,revisionServiceEnabled:n,isHistoryAvailable:r,readShownContent:i,onFacts:o,onLate:s,onError:d,pageLoadTs:l=Sl()}){let f=null,u=!1,v=!1,b=0,E={emailId:e,historyLoaded:!1,isRecovering:!1},I=null;const g=new Promise(C=>{I=C}),y=C=>{E={...E,...C},o(E)},w=C=>{b+=1,y({applied:{phase:C,seq:b}})},S=()=>{f?.timer&&clearTimeout(f.timer),f=null},A=C=>{if(!v){if(I){const x=I;I=null,x(C),C.revision&&w(C.phase);return}s(C)&&C.revision&&w(C.phase)}},m=()=>{if(!f||v)return;const C=f.phase==="fast",x=C?bl:_l,B=C?yl:wl;f.timer=setTimeout(()=>{const U=f;if(!(!U||v)){if(U.attempts+=1,_(),C&&U.attempts>=B){const{pending:W}=U;rt(e),y({isRecovering:!1}),A({revision:{html:W.html,common_styles:W.common_styles,subject:W.subject,preheader:W.preheader},phase:"timeout"}),u=!0,U.phase="bg",U.attempts=0,m();return}if(!C&&U.attempts>=B){rt(e),S(),y({isRecovering:!1}),u=!0;return}m()}},x),f.timer.unref?.()},c=C=>{f={phase:"fast",attempts:0,pending:C,timer:null},y({isRecovering:!0}),m()},a=(C,x)=>Ri(C.autosave,x===void 0?{}:{freshSince:x})?C.autosave:null,p=C=>{if(v)return;if(y({historyLoaded:!0,latestRevisionAt:C.latestAt!==void 0&&Number.isFinite(C.latestAt)?C.latestAt:void 0}),n&&f){const U=a(C,f.pending.sentAt);if(!U)return;const W=f.phase==="fast"?"found":"bg";rt(e),S(),y({isRecovering:!1}),u=!0,A({revision:U,phase:W});return}if(u)return;const x=n?vl(e):null,B=x&&(x.sentAt<l||!Il(x.html,i()))?x:null;if(B){const U=a(C,B.sentAt);if(U){rt(e),u=!0,A({revision:U,phase:"found"});return}c(B);return}u=!0,A({revision:a(C),phase:"normal"})},h=C=>{v||(d?.(C),E.historyLoaded||(y({historyLoaded:!1,latestRevisionAt:void 0}),R()),!f&&A({revision:null,phase:"normal"}))},_=()=>t(e).then(p).catch(h);let T,D=!1;const R=()=>{D||f||v||(D=!0,T=setTimeout(()=>{T=void 0,!v&&!E.historyLoaded&&_()},El))},O=()=>{v||(y({historyLoaded:!1,latestRevisionAt:void 0}),A({revision:null,phase:"normal"}))};return r?r().then(C=>C?_():O()):_(),{verdict:()=>g,dispose(){v=!0,T!==void 0&&(clearTimeout(T),T=void 0),S()}}}function Al({port:e,revisionServiceEnabled:t,isHistoryAvailable:n,emailId:r,readShownContent:i,onFacts:o}){let s=null;const d=Tl({emailId:r,readAutosave:l=>e.readAutosave(l),revisionServiceEnabled:t,...n?{isHistoryAvailable:n}:{},readShownContent:i,onFacts:o,onLate:({revision:l,phase:f})=>{const u=ar(l);return s?.(u)??!1},onError:l=>{l instanceof Error&&l.message}});return{id:"recovery",load:()=>d.verdict().then(({revision:l})=>ar(l)),watch(l){return s=l,()=>{s=null,d.dispose()}}}}function qi(e,t){return{readRevisions:(n,r)=>t.readRevisions(n,r),readAutosave:n=>t.readAutosave(n),async saveAutosave(n,r){gl(n,{sentAt:Date.now(),html:r.html??"",common_styles:r.common_styles??"",subject:r.subject,preheader:r.preheader});const i=await t.saveAutosave(n,r);return await e.saveAutosave(n,r),i}}}function Cl(e,t){return{readEmail:n=>e.readEmail(n),createEmail:n=>e.createEmail(n),async updateEmail(n,r){const i=await t.updateEmail(n,r);return await e.updateEmail(n,r),i}}}var $i=L("CurrentUser"),zi={};function Vi(e){return e.getOrCreateInstance($i,()=>ke(zi))}function Ki(e){return e?.getInstance($i)?.get()??zi}function Wi(e){return e?.getInstance(we)?.get()??{}}var Rl=1.5;function Pl(e){return!e.isEnabled||e.isUserBusy||!e.isReady||!e.isInited?"none":e.isNew?"create":!e.isDirty||e.isSnapshotSent||!e.isHistoryLoaded||e.latestRevisionAgeMs!==void 0&&e.latestRevisionAgeMs<=Rl*e.autosaveTimeoutMs?"none":"revision"}var Dl=4;function Ol(e){const{readDocument:t,readEnvironment:n,onCreate:r,onRevision:i}=e,o=e.readFailures??(()=>0),s=()=>n().autosaveTimeoutMs*2**Math.min(o(),Dl),d=()=>{const w=t();if(!w||w.isDisposed())return"none";const{latestRevisionAt:S,snapshotVersion:A,...m}=n();return Pl({...m,isDirty:w.isDirty(),isNew:w.isNew(),isReady:w.isReady(),latestRevisionAgeMs:S!=null?Date.now()-S:void 0,isSnapshotSent:A!=null&&A===w.get().version})},l=()=>{const w=t();if(!w||w.isDisposed())return!1;if(!w.isDirty())return w.isNew();const{snapshotVersion:S}=n();return!(S!=null&&S===w.get().version)};let f,u,v,b,E=!1;const I=()=>{u=void 0;const w=t();if(!w||w.isDisposed())return;if(w.get().docId!==f){g();return}const S=d();S==="create"?r():S==="revision"?i():l()&&(f=w.get().docId,u=setTimeout(I,s()))},g=()=>{const w=t();E||!w||u!==void 0||d()==="none"&&!l()||(f=w.get().docId,u=setTimeout(I,s()))},y=()=>{const w=t();w!==v&&(b?.(),v=w,b=w?.subscribe(g),u!==void 0&&(clearTimeout(u),u=void 0))};return y(),g(),{refresh:()=>{E||(y(),g())},stop:()=>{E=!0,b?.(),b=void 0,v=void 0,u!==void 0&&(clearTimeout(u),u=void 0)}}}var Yi=L("documentSession.autosaveUiFacts"),Xi={isUserBusy:!1,saveContext:{}};function xl(e){return e.getOrCreateInstance(Yi,()=>ke(Xi))}function dr(e){return e?.getInstance(Yi)?.get()??Xi}var Ll=1e4;function Ml(e,t){const n=()=>{const l=t.current(),f=l?.get().serverId??void 0,u=he(t.sessionKey()),v=t.recoveryFacts(),b=v?.emailId===f?v:void 0,E=t.revisionFacts(),I=b?.latestRevisionAt,g=E?.lastRevisionAt,y=Ki(e).profile;return{isInited:u||l?.get().attributes.is_inited===!0,isEnabled:!!y?.autosaves,isHistoryLoaded:b?.historyLoaded===!0,isUserBusy:dr(e).isUserBusy,autosaveTimeoutMs:Wi(e).autosaveTimeout||Ll,latestRevisionAt:I!==void 0||g!==void 0?Math.max(I??0,g??0):void 0,snapshotVersion:E?.snapshotVersion}},r=()=>{const l=dr(e).saveContext;return{...l,project:l.project??t.current()?.get().attributes.project}},i=Ol({readDocument:()=>t.current(),readEnvironment:n,readFailures:()=>t.saveState().failures,onCreate:()=>{he(t.sessionKey())||t.save("materialize",r())},onRevision:()=>{t.save("snapshot",{project:r().project})}}),o=t.subscribe(i.refresh),s=Vi(e).watch(()=>i.refresh()),d=xl(e).watch(()=>i.refresh());return()=>{o(),s.dispose(),d.dispose(),i.stop()}}var cr=12e3;function ve(e){return e.getOrCreateInstance(Pn,()=>{const t=al({resolveAdapters:(r,i)=>Fl(r,e,i),resolveWritePort:()=>Ji(e),resolveHistoryPort:r=>he(r)?Zi(e):Qi(e),resolveTerms:()=>fl(e),canEdit:r=>ha(e,r),notifyBeforeSave:wa(e),timeoutMs:cr,onAdapterError:(r,i)=>{i instanceof Error&&i.message,wt(i,{origin:"email-source-adapter",tags:{source:r}})},onTimeout:r=>{}}),n=Ml(e,t);return e.getInstance(F)?.addDispose(n),t})}function xn(e){return e?.getInstance(Pn)}function Ji(e){const t=dl(e);return t?Ln(e)?Cl(t,Se(e).email(e)):t:Se(e).email(e)}function kl(e){return Gi(e)!==void 0||Bi(e)}function Qi(e){const t=Gi(e);return t?Ln(e)?(z("port:history:server-backed"),qi(t,Se(e).history(e))):(z("port:history:integrator"),t):(z("port:history:rest (порт не зарегистрирован)"),Se(e).history(e))}function Zi(e){const t=Hi(e);return t?Ln(e)?(z("port:block-history:server-backed"),qi(t,Se(e).blockHistory(e))):(z("port:block-history:integrator"),t):(z("port:block-history:rest (порт не зарегистрирован)"),Se(e).blockHistory(e))}function Nl(e){return Hi(e)!==void 0||Bi(e)}function Ln(e){return vi(e)}function Fl({email:e,patch:t,serverId:n,key:r},i,o){const s=[];e?s.push({id:"rest",load:()=>xi(e),required:!0}):n&&s.push(ll(Ji(i),n)),t&&s.push({id:"plugin",load:()=>Li(t)});const d=he(r);return Sa(n)&&(d?Nl(i):kl(i))&&s.push(Al({port:d?Zi(i):Qi(i),revisionServiceEnabled:vi(i),...!d&&ga(i)?{isHistoryAvailable:()=>va(i)}:{},emailId:n,readShownContent:()=>o.readShownContent(),onFacts:l=>o.publishRecoveryFacts(l)})),s}function X(e){return e.getOrCreateInstance(Ye,()=>new Xe)}var eo=new WeakMap,rn=new WeakMap;function ue(e){return eo.get(e)??0}function to(e,t){let n=rn.get(e);return n||(n=new Set,rn.set(e,n)),n.add(t),()=>{n?.delete(t)}}function jl(e){eo.set(e,ue(e)+1),rn.get(e)?.forEach(t=>t())}function Bl(e){const t=ve(e),n=X(e).addListener(N.APPLICATION_HAS_AMP,r=>{Be(t)?.mutate({attributes:{isAmp:r}},{source:"remote"})});e.getInstance(F)?.addDispose(()=>n.dispose())}function Ul(e){return e.size>0&&(e.type===""||e.type.startsWith("image/"))}function Hl(e){const t=e.fetchImpl??((o,s)=>fetch(o,s)),n=e.pageHost??(()=>window.location.hostname),r=new Set,i=o=>{try{const s=new URL(o,window.location.href);return s.protocol!=="https:"&&s.protocol!=="http:"?!1:s.hostname===n()||e.sourceHosts().includes(s.hostname)}catch{return!1}};return{accepts:i,async load(o){if(!i(o))return;const s=!r.has(o);r.add(o);try{const d=await t(o,{mode:"cors",credentials:"omit",cache:s?"no-cache":"default"});if(!d.ok)return;const l=await d.blob();return Ul(l)?l:void 0}catch{return}}}}var _e={maxBytes:67108864,maxImageBytes:4194304,ttlMs:18e5};function Gl(e){const t={maxBytes:e.maxBytes??_e.maxBytes,maxImageBytes:e.maxImageBytes??_e.maxImageBytes,ttlMs:e.ttlMs??_e.ttlMs},n=e.now??(()=>Date.now()),r=new Map,i=new Map,o={hits:0,loads:0,failures:0};let s=0;const d=v=>{const b=r.get(v);b&&(s-=b.bytes,r.delete(v))},l=v=>t.ttlMs<=0||n()-v.storedAt<t.ttlMs,f=()=>{if(s<=t.maxBytes)return;const v=[...r.entries()].sort((b,E)=>b[1].usedAt-E[1].usedAt);for(const[b]of v){if(s<=t.maxBytes)return;d(b)}},u=(v,b)=>{b.size>t.maxImageBytes||(r.set(v,{blob:b,bytes:b.size,storedAt:n(),usedAt:n()}),s+=b.size,f())};return{async get(v){const b=r.get(v);if(b&&l(b))return b.usedAt=n(),o.hits+=1,b.blob;b&&d(v);const E=i.get(v);if(E!==void 0)return E;o.loads+=1;const I=(async()=>{try{const g=await e.load(v);return g?u(v,g):o.failures+=1,g}catch{o.failures+=1;return}finally{i.delete(v)}})();return i.set(v,I),I},forget(v){d(v),i.delete(v)},clear(){r.clear(),i.clear(),s=0},stats(){return{entries:r.size,bytes:s,...o}}}}var ql=["emcdn.ru","scr.emcdn.ru"];function $l(e){const t=String(e??"").trim();if(!t)return"";try{return new URL(t.includes("//")?t:`https://${t}`).hostname}catch{return t.split("/")[0].split(":")[0]}}function zl(e,t){const n=(r,i)=>{const o=new Set(i?t:[]);for(const s of r){const d=$l(s);d&&o.add(d)}return[...o]};return e?Array.isArray(e)?n(e,!0):n(e.value??[],e.replace!==!0):[...t]}function ur(e){const t=e??{},n=t.isPlugin!==!0?ql:[],r=t.canvasImageCache;if(r===!1)return{enabled:!1,sourceHosts:[],..._e};const i=r===!0||r===void 0?{}:r;return{enabled:i.enabled!==!1,sourceHosts:zl(i.sourceHosts,n),maxBytes:i.maxBytes??_e.maxBytes,maxImageBytes:i.maxImageBytes??_e.maxImageBytes,ttlMs:i.ttlMs??_e.ttlMs}}function Vl(e){const t=X(e),n=e.getInstance(we);let r=ur(n?.get());const i=Hl({sourceHosts:()=>r.sourceHosts}),o=Gl({load:I=>i.load(I),maxBytes:r.maxBytes,maxImageBytes:r.maxImageBytes,ttlMs:r.ttlMs}),s=()=>{t.send(N.SANDBOX_CANVAS_IMAGE_CACHE_SETUP,{enabled:r.enabled,sourceHosts:[...r.sourceHosts]})},d=t.onInit(()=>s()),l=n?.watch(()=>{const I=ur(n.get()),g=JSON.stringify(I)!==JSON.stringify(r);r=I,I.enabled||o.clear(),g&&t.isInited()&&s()}),f={asked:0,served:0,refused:0},u=[],v=(I,g)=>(f.refused+=1,u.push({url:I,reason:g}),u.length>20&&u.shift(),{refused:!0}),b=Object.assign(globalThis,{__emmCanvasImages__:()=>({settings:r,counters:{...f},refusals:[...u],store:o.stats()})}),E=t.addListenerAsync(N.APPLICATION_CANVAS_IMAGE_GET,async I=>{const g=I?.url??"";if(f.asked+=1,!r.enabled||!g)return v(g,"disabled");if(!i.accepts(g))return v(g,"host");I.fresh&&o.forget(g);const y=await o.get(g);return y?(f.served+=1,{blob:y}):v(g,"load-failed")});e.getInstance(F)?.addDispose(()=>{d.dispose(),l?.dispose(),E.dispose(),o.clear(),delete b.__emmCanvasImages__})}var Kl=2e3;function Wl(e){const t=X(e),n=new Set,r=()=>{const s=t.getTarget();if(!s||t.hasPort(s))return;const d=new MessageChannel;let l=!1;const f=v=>{v.data?.operationId==="em:port-ready"&&(l=!0,d.port1.removeEventListener("message",f),t.drainWindow(s))};d.port1.addEventListener("message",f),t.sendPort(s,d.port2),t.usePort(d.port1,!1,s);const u=setTimeout(()=>{n.delete(u),!l&&(wt(new Error("canvas port did not come up, staying on window messaging"),{origin:"canvas-channel"}),d.port1.removeEventListener("message",f),t.useWindow(s))},Kl);n.add(u)},i=Object.assign(globalThis,{__emmCanvasPort__:()=>{const s=t.getTarget();return{usesPort:t.usesPort,windowDrained:s?t.isWindowDrained(s):!1}}}),o=t.onInit(()=>r());e.getInstance(F)?.addDispose(()=>{for(const s of n)clearTimeout(s);o.dispose(),delete i.__emmCanvasPort__})}var Yl=/^[a-zA-Z][a-zA-Z\d+\-.]*:/;function Xl(e){return Yl.test(e)||e.indexOf("//")===0}function it(e){return e&&(e.endsWith("/")?e:`${e}/`)}function Jl(){return typeof document<"u"&&document.baseURI?document.baseURI:typeof window<"u"&&window.location?window.location.href:""}function fr(e,t){const n=e==null||e===""?"./":String(e);if(Xl(n))return it(n);const r=t??Jl();if(!r)return it(n);try{return it(new URL(n,r).href)}catch{return it(n)}}function Ql(){return typeof window.__emailmaker__<"u"&&window.__emailmaker__?.publicPath?fr(window.__emailmaker__.publicPath):fr("/")}var Zl=()=>"",ed=()=>"8402bf20";function no(e){const t=e?"iframe-eblock":"iframe",n=Zl();if(n){const o=n.replace(/\/?$/,"/");return Qn(`${o}${t}.html`,$e())}const r=ed(),i=`${Ql().replace(/\/?$/,"/")}iframe/`;return Qn(`${i}${t}${r?`.${r}`:""}.html`,$e())}var pr="allow-top-navigation allow-scripts allow-popups allow-popups-to-escape-sandbox";function on(e){return/^file:/i.test(String(e||"").trim())}function td(e){return on(e)?`${pr} allow-same-origin`:pr}var nd="em:module-body-ack";function rd(e,t,n){try{const r=new URL("./",new URL(t,n)).href,i=new URL(e,r).href;return i.startsWith(r)?i:void 0}catch{return}}function Mn(e){const t=e.split(/[?#]/)[0].split("/").pop()??"",n=/^(.+?)(?:\.[0-9a-f]{6,})?\.html$/.exec(t);return n?`js/${n[1]}.body.js`:void 0}function id(e,t){const n=Mn(t)?.replace(/^js\/|\.body\.js$/g,""),r=n?e[`${n}.html`]:void 0;return r?(r.imports??[]).map(i=>e[i]?.file).filter(i=>!!i):[]}function od(e,t){const n=Mn(t)?.replace(/\.body\.js$/,".js");if(!n||!(n in e))return[];const r=new Set([n]),i=[n],o=[];for(;i.length>0;)for(const s of e[i.shift()]??[])r.has(s)||(r.add(s),o.push(s),i.push(s));return o}async function sd(e){try{const t=await fetch(e);return t.ok?await t.blob():void 0}catch{return}}function ad(e){const t=new Map,n=r=>{const i=rd(r,e.canvasSrc,e.origin);if(!i)return;const o=t.get(i);if(o!==void 0)return o;const s=e.fetchBody(i);return t.set(i,s),s};return{take(r){return n(r)??Promise.resolve(void 0)},warm(r){for(const i of r)n(i)},reset(){t.clear()},get size(){return t.size}}}async function ld(e,t,n){try{const r=new URL(".vite/manifest.json",new URL("./",new URL(e,t))).href,i=await fetch(r);if(!i.ok)return;const o=await i.json();n(id(o,e))}catch{}}function dd(e){try{return on(new URL(e,window.location.href).href)}catch{return on(window.location.href)}}function cd(e){X(e);const t=no(!1);if(dd(t))return;const n=ad({canvasSrc:t,origin:window.location.href,fetchBody:sd}),r=Mn(t);r&&n.warm([r]);const i={"js/iframe-eblock.js":["js/discussHandlers.DO8E9IM3.js","js/typograf.all.B0pVhMV_.js"],"js/iframe.js":["js/rolldown-runtime.qcwTIabA.js","js/discussHandlers.DO8E9IM3.js"],"js/darkreader.CLd5EML2.js":[],"js/discussHandlers.DO8E9IM3.js":["js/rolldown-runtime.qcwTIabA.js"],"js/rolldown-runtime.qcwTIabA.js":[],"js/rules.CnnzdMsj.js":[],"js/typograf.all.B0pVhMV_.js":["js/rolldown-runtime.qcwTIabA.js"]};i?n.warm(od(i,t)):ld(t,window.location.href,s=>n.warm(s));const o=s=>{const d=s.data;if(!d||d.operationId!=="em:module-body"||!d.result)return;const l=s.source;l&&(l.postMessage({operationId:nd,for:d.result},"*"),n.take(d.data?.url??"").then(f=>{l.postMessage({operationId:d.result,data:f??null},"*")}))};window.addEventListener("message",o),e.getInstance(F)?.addDispose(()=>{window.removeEventListener("message",o),n.reset()})}var Ae=/<script\b(?=[^>]*(?:\bbis_use(?:=|\s)|\bdata-bis-config(?:=|\s)|\bdata-dynamic-id(?:=|\s)|local\.adguard\.org|(?:chrome-extension|moz-extension|safari-extension):\/\/))[^>]*>[\s\S]*?<\/script>/gi,ud=/\s(?:bis_[a-z0-9_-]+|data-bis-config|data-dynamic-id)=(["'])(?:(?!\1).)*\1/gi,Oe=/<style\b[^>]*>[\s\S]*?<\/style>/gi,mr=/display:\s*none\s*!important/gi,fd=/((?:html\s*,\s*body|body\s*,\s*html)\s*\{)([^}]*)(\})/gi,pd=/\s*height\s*:\s*100%\s*!important\s*;?/gi,md=/height\s*:\s*100%\s*!important/i,hd=[".socialshare,",".advertisment,",".adHolder,",".adsbygoogle-noablate","#ab_adblock","#popmechanic-snippet","filter_ads_by_classname","clever-core-ads","--gn-ov-ad-height","pub_728x90.text-ad.textAd","html-load.com/player","content-loader.com/player",".adblock","#advblock","body { overflow: visible!important; }"];function gd(e){return mr.lastIndex=0,(e.match(mr)||[]).length}function ro(e){const t=e.trim(),n=gd(t);if(n===0)return!1;if(t.includes(".advertisment,")&&t.includes(".adHolder,")&&(t.includes(".socialshare,")||n>=3||t.length>2e3))return!0;const r=hd.filter(i=>t.includes(i)).length;return r>=1&&(n>=3||t.length>2e3)||n>=5&&r>=1?!0:n>=20&&/\b(?:\.ad(?:s|vert|vertisment|Holder|banner|box|Container|Wrapper)?[,{]|#ad[-_]|ins\.adsbygoogle)/i.test(t)}function vd(e){Oe.lastIndex=0;for(const t of e.matchAll(Oe))if(ro(t[0].replace(/^<style\b[^>]*>/i,"").replace(/<\/style>$/i,"")))return!0;return!1}function bd(e){let t=!1;return Oe.lastIndex=0,{html:e.replace(Oe,n=>ro(n.replace(/^<style\b[^>]*>/i,"").replace(/<\/style>$/i,""))?(t=!0,""):n),found:t}}function Ed(e){return Ae.lastIndex=0,Ae.test(e)||/\sbis_[a-z0-9_-]+\s*=/.test(e)||/\sdata-bis-config\s*=/.test(e)||vd(e)}function yd(e){if(!Ed(e))return{html:e,found:!1};let t=!1,n=e;Ae.lastIndex=0,Ae.test(n)&&(Ae.lastIndex=0,n=n.replace(Ae,""),t=!0),(/\sbis_[a-z0-9_-]+\s*=/.test(n)||/\sdata-bis-config\s*=/.test(n))&&(n=n.replace(ud,""),t=!0);const r=bd(n);return n=r.html,t=t||r.found,{html:n,found:t}}function _d(e){return!e||!md.test(e)?e:(Oe.lastIndex=0,e.replace(Oe,t=>t.replace(fd,(n,r,i,o)=>`${r}${i.replace(pd,"")}${o}`)))}function io(e){const t=yd(e.replaceAll(`\r
|
|
1001
|
+
`)}function Ll({emailId:e,readAutosave:t,revisionServiceEnabled:n,isHistoryAvailable:r,readShownContent:i,onFacts:o,onLate:s,onError:d,pageLoadTs:a=Ol()}){let f=null,u=!1,v=!1,b=0,E={emailId:e,historyLoaded:!1,isRecovering:!1},I=null;const g=new Promise(R=>{I=R}),y=R=>{E={...E,...R},o(E)},_=R=>{b+=1,y({applied:{phase:R,seq:b}})},S=()=>{f?.timer&&clearTimeout(f.timer),f=null},A=R=>{if(!v){if(I){const C=I;I=null,C(R),R.revision&&_(R.phase);return}s(R)&&R.revision&&_(R.phase)}},m=()=>{if(!f||v)return;const R=f.phase==="fast",C=R?Al:Pl,D=R?Rl:Dl;f.timer=setTimeout(()=>{const x=f;if(!(!x||v)){if(x.attempts+=1,w(),R&&x.attempts>=D){const{pending:U}=x;it(e),y({isRecovering:!1}),A({revision:{html:U.html,common_styles:U.common_styles,subject:U.subject,preheader:U.preheader},phase:"timeout"}),u=!0,x.phase="bg",x.attempts=0,m();return}if(!R&&x.attempts>=D){it(e),S(),y({isRecovering:!1}),u=!0;return}m()}},C),f.timer.unref?.()},c=R=>{f={phase:"fast",attempts:0,pending:R,timer:null},y({isRecovering:!0}),m()},l=(R,C)=>ki(R.autosave,C===void 0?{}:{freshSince:C})?R.autosave:null,p=R=>{if(v)return;if(y({historyLoaded:!0,latestRevisionAt:R.latestAt!==void 0&&Number.isFinite(R.latestAt)?R.latestAt:void 0}),n&&f){const x=l(R,f.pending.sentAt);if(!x)return;const U=f.phase==="fast"?"found":"bg";it(e),S(),y({isRecovering:!1}),u=!0,A({revision:x,phase:U});return}if(u)return;const C=n?Tl(e):null,D=C&&(C.sentAt<a||!xl(C.html,i()))?C:null;if(D){const x=l(R,D.sentAt);if(x){it(e),u=!0,A({revision:x,phase:"found"});return}c(D);return}u=!0,A({revision:l(R),phase:"normal"})},h=R=>{v||(d?.(R),E.historyLoaded||(y({historyLoaded:!1,latestRevisionAt:void 0}),k()),!f&&A({revision:null,phase:"normal"}))},w=()=>t(e).then(p).catch(h);let T,O=!1;const k=()=>{O||f||v||(O=!0,T=setTimeout(()=>{T=void 0,!v&&!E.historyLoaded&&w()},Cl))},W=()=>{v||(y({historyLoaded:!1,latestRevisionAt:void 0}),A({revision:null,phase:"normal"}))};return r?r().then(R=>R?w():W()):w(),{verdict:()=>g,dispose(){v=!0,T!==void 0&&(clearTimeout(T),T=void 0),S()}}}function Ml({port:e,revisionServiceEnabled:t,isHistoryAvailable:n,emailId:r,readShownContent:i,onFacts:o}){let s=null;const d=Ll({emailId:r,readAutosave:a=>e.readAutosave(a),revisionServiceEnabled:t,...n?{isHistoryAvailable:n}:{},readShownContent:i,onFacts:o,onLate:({revision:a,phase:f})=>{const u=pr(a);return s?.(u)??!1},onError:a=>{a instanceof Error&&a.message}});return{id:"recovery",load:()=>d.verdict().then(({revision:a})=>pr(a)),watch(a){return s=a,()=>{s=null,d.dispose()}}}}function Xi(e,t){return{readRevisions:(n,r)=>t.readRevisions(n,r),readAutosave:n=>t.readAutosave(n),async saveAutosave(n,r){Il(n,{sentAt:Date.now(),html:r.html??"",common_styles:r.common_styles??"",subject:r.subject,preheader:r.preheader});const i=await t.saveAutosave(n,r);return await e.saveAutosave(n,r),i}}}function kl(e,t){return{readEmail:n=>e.readEmail(n),createEmail:n=>e.createEmail(n),async updateEmail(n,r){const i=await t.updateEmail(n,r);return await e.updateEmail(n,r),i}}}var Ji=L("CurrentUser"),Qi={};function Zi(e){return e.getOrCreateInstance(Ji,()=>Me(Qi))}function eo(e){return e?.getInstance(Ji)?.get()??Qi}function to(e){return e?.getInstance(we)?.get()??{}}var Nl=1.5;function Fl(e){return!e.isEnabled||e.isUserBusy||!e.isReady||!e.isInited?"none":e.isNew?"create":!e.isDirty||e.isSnapshotSent||!e.isHistoryLoaded||e.latestRevisionAgeMs!==void 0&&e.latestRevisionAgeMs<=Nl*e.autosaveTimeoutMs?"none":"revision"}var jl=4;function Bl(e){const{readDocument:t,readEnvironment:n,onCreate:r,onRevision:i}=e,o=e.readFailures??(()=>0),s=()=>n().autosaveTimeoutMs*2**Math.min(o(),jl),d=()=>{const _=t();if(!_||_.isDisposed())return"none";const{latestRevisionAt:S,snapshotVersion:A,...m}=n();return Fl({...m,isDirty:_.isDirty(),isNew:_.isNew(),isReady:_.isReady(),latestRevisionAgeMs:S!=null?Date.now()-S:void 0,isSnapshotSent:A!=null&&A===_.get().version})},a=()=>{const _=t();if(!_||_.isDisposed())return!1;if(!_.isDirty())return _.isNew();const{snapshotVersion:S}=n();return!(S!=null&&S===_.get().version)};let f,u,v,b,E=!1;const I=()=>{u=void 0;const _=t();if(!_||_.isDisposed())return;if(_.get().docId!==f){g();return}const S=d();S==="create"?r():S==="revision"?i():a()&&(f=_.get().docId,u=setTimeout(I,s()))},g=()=>{const _=t();E||!_||u!==void 0||d()==="none"&&!a()||(f=_.get().docId,u=setTimeout(I,s()))},y=()=>{const _=t();_!==v&&(b?.(),v=_,b=_?.subscribe(g),u!==void 0&&(clearTimeout(u),u=void 0))};return y(),g(),{refresh:()=>{E||(y(),g())},stop:()=>{E=!0,b?.(),b=void 0,v=void 0,u!==void 0&&(clearTimeout(u),u=void 0)}}}var no=L("documentSession.autosaveUiFacts"),ro={isUserBusy:!1,saveContext:{}};function Ul(e){return e.getOrCreateInstance(no,()=>Me(ro))}function hr(e){return e?.getInstance(no)?.get()??ro}var Hl=1e4;function Gl(e,t){const n=()=>{const a=t.current(),f=a?.get().serverId??void 0,u=he(t.sessionKey()),v=t.recoveryFacts(),b=v?.emailId===f?v:void 0,E=t.revisionFacts(),I=b?.latestRevisionAt,g=E?.lastRevisionAt,y=eo(e).profile;return{isInited:u||a?.get().attributes.is_inited===!0,isEnabled:!!y?.autosaves,isHistoryLoaded:b?.historyLoaded===!0,isUserBusy:hr(e).isUserBusy,autosaveTimeoutMs:to(e).autosaveTimeout||Hl,latestRevisionAt:I!==void 0||g!==void 0?Math.max(I??0,g??0):void 0,snapshotVersion:E?.snapshotVersion}},r=()=>{const a=hr(e).saveContext;return{...a,project:a.project??t.current()?.get().attributes.project}},i=Bl({readDocument:()=>t.current(),readEnvironment:n,readFailures:()=>t.saveState().failures,onCreate:()=>{he(t.sessionKey())||t.save("materialize",r())},onRevision:()=>{t.save("snapshot",{project:r().project})}}),o=t.subscribe(i.refresh),s=Zi(e).watch(()=>i.refresh()),d=Ul(e).watch(()=>i.refresh());return()=>{o(),s.dispose(),d.dispose(),i.stop()}}var gr=12e3;function ve(e){return e.getOrCreateInstance(Mn,()=>{const t=hl({resolveAdapters:(r,i)=>zl(r,e,i),resolveWritePort:()=>io(e),resolveHistoryPort:r=>he(r)?so(e):oo(e),resolveTerms:()=>yl(e),canEdit:r=>Sa(e,r),notifyBeforeSave:Da(e),timeoutMs:gr,onAdapterError:(r,i)=>{i instanceof Error&&i.message,wt(i,{origin:"email-source-adapter",tags:{source:r}})},onTimeout:r=>{}}),n=Gl(e,t);return e.getInstance(j)?.addDispose(n),t})}function Fn(e){return e?.getInstance(Mn)}function io(e){const t=vl(e);return t?jn(e)?kl(t,Se(e).email(e)):t:Se(e).email(e)}function ql(e){return Yi(e)!==void 0||Vi(e)}function oo(e){const t=Yi(e);return t?jn(e)?(z("port:history:server-backed"),Xi(t,Se(e).history(e))):(z("port:history:integrator"),t):(z("port:history:rest (порт не зарегистрирован)"),Se(e).history(e))}function so(e){const t=Wi(e);return t?jn(e)?(z("port:block-history:server-backed"),Xi(t,Se(e).blockHistory(e))):(z("port:block-history:integrator"),t):(z("port:block-history:rest (порт не зарегистрирован)"),Se(e).blockHistory(e))}function $l(e){return Wi(e)!==void 0||Vi(e)}function jn(e){return Si(e)}function zl({email:e,patch:t,serverId:n,key:r},i,o){const s=[];e?s.push({id:"rest",load:()=>Bi(e),required:!0}):n&&s.push(gl(io(i),n)),t&&s.push({id:"plugin",load:()=>Ui(t)});const d=he(r);return Oa(n)&&(d?$l(i):ql(i))&&s.push(Ml({port:d?so(i):oo(i),revisionServiceEnabled:Si(i),...!d&&Ia(i)?{isHistoryAvailable:()=>Ta(i)}:{},emailId:n,readShownContent:()=>o.readShownContent(),onFacts:a=>o.publishRecoveryFacts(a)})),s}function X(e){return e.getOrCreateInstance(Ye,()=>new Xe)}var ao=new WeakMap,sn=new WeakMap;function ue(e){return ao.get(e)??0}function lo(e,t){let n=sn.get(e);return n||(n=new Set,sn.set(e,n)),n.add(t),()=>{n?.delete(t)}}function Vl(e){ao.set(e,ue(e)+1),sn.get(e)?.forEach(t=>t())}function Kl(e){const t=ve(e),n=X(e).addListener(F.APPLICATION_HAS_AMP,r=>{Be(t)?.mutate({attributes:{isAmp:r}},{source:"remote"})});e.getInstance(j)?.addDispose(()=>n.dispose())}function Wl(e){return e.size>0&&(e.type===""||e.type.startsWith("image/"))}function Yl(e){const t=e.fetchImpl??((o,s)=>fetch(o,s)),n=e.pageHost??(()=>window.location.hostname),r=new Set,i=o=>{try{const s=new URL(o,window.location.href);return s.protocol!=="https:"&&s.protocol!=="http:"?!1:s.hostname===n()||e.sourceHosts().includes(s.hostname)}catch{return!1}};return{accepts:i,async load(o){if(!i(o))return;const s=!r.has(o);r.add(o);try{const d=await t(o,{mode:"cors",credentials:"omit",cache:s?"no-cache":"default"});if(!d.ok)return;const a=await d.blob();return Wl(a)?a:void 0}catch{return}}}}var _e={maxBytes:67108864,maxImageBytes:4194304,ttlMs:18e5};function Xl(e){const t={maxBytes:e.maxBytes??_e.maxBytes,maxImageBytes:e.maxImageBytes??_e.maxImageBytes,ttlMs:e.ttlMs??_e.ttlMs},n=e.now??(()=>Date.now()),r=new Map,i=new Map,o={hits:0,loads:0,failures:0};let s=0;const d=v=>{const b=r.get(v);b&&(s-=b.bytes,r.delete(v))},a=v=>t.ttlMs<=0||n()-v.storedAt<t.ttlMs,f=()=>{if(s<=t.maxBytes)return;const v=[...r.entries()].sort((b,E)=>b[1].usedAt-E[1].usedAt);for(const[b]of v){if(s<=t.maxBytes)return;d(b)}},u=(v,b)=>{b.size>t.maxImageBytes||(r.set(v,{blob:b,bytes:b.size,storedAt:n(),usedAt:n()}),s+=b.size,f())};return{async get(v){const b=r.get(v);if(b&&a(b))return b.usedAt=n(),o.hits+=1,b.blob;b&&d(v);const E=i.get(v);if(E!==void 0)return E;o.loads+=1;const I=(async()=>{try{const g=await e.load(v);return g?u(v,g):o.failures+=1,g}catch{o.failures+=1;return}finally{i.delete(v)}})();return i.set(v,I),I},forget(v){d(v),i.delete(v)},clear(){r.clear(),i.clear(),s=0},stats(){return{entries:r.size,bytes:s,...o}}}}var Jl=["emcdn.ru","scr.emcdn.ru"];function Ql(e){const t=String(e??"").trim();if(!t)return"";try{return new URL(t.includes("//")?t:`https://${t}`).hostname}catch{return t.split("/")[0].split(":")[0]}}function Zl(e,t){const n=(r,i)=>{const o=new Set(i?t:[]);for(const s of r){const d=Ql(s);d&&o.add(d)}return[...o]};return e?Array.isArray(e)?n(e,!0):n(e.value??[],e.replace!==!0):[...t]}function vr(e){const t=e??{},n=t.isPlugin!==!0?Jl:[],r=t.canvasImageCache;if(r===!1)return{enabled:!1,sourceHosts:[],..._e};const i=r===!0||r===void 0?{}:r;return{enabled:i.enabled!==!1,sourceHosts:Zl(i.sourceHosts,n),maxBytes:i.maxBytes??_e.maxBytes,maxImageBytes:i.maxImageBytes??_e.maxImageBytes,ttlMs:i.ttlMs??_e.ttlMs}}function ed(e){const t=X(e),n=e.getInstance(we);let r=vr(n?.get());const i=Yl({sourceHosts:()=>r.sourceHosts}),o=Xl({load:I=>i.load(I),maxBytes:r.maxBytes,maxImageBytes:r.maxImageBytes,ttlMs:r.ttlMs}),s=()=>{t.send(F.SANDBOX_CANVAS_IMAGE_CACHE_SETUP,{enabled:r.enabled,sourceHosts:[...r.sourceHosts]})},d=t.onInit(()=>s()),a=n?.watch(()=>{const I=vr(n.get()),g=JSON.stringify(I)!==JSON.stringify(r);r=I,I.enabled||o.clear(),g&&t.isInited()&&s()}),f={asked:0,served:0,refused:0},u=[],v=(I,g)=>(f.refused+=1,u.push({url:I,reason:g}),u.length>20&&u.shift(),{refused:!0}),b=Object.assign(globalThis,{__emmCanvasImages__:()=>({settings:r,counters:{...f},refusals:[...u],store:o.stats()})}),E=t.addListenerAsync(F.APPLICATION_CANVAS_IMAGE_GET,async I=>{const g=I?.url??"";if(f.asked+=1,!r.enabled||!g)return v(g,"disabled");if(!i.accepts(g))return v(g,"host");I.fresh&&o.forget(g);const y=await o.get(g);return y?(f.served+=1,{blob:y}):v(g,"load-failed")});e.getInstance(j)?.addDispose(()=>{d.dispose(),a?.dispose(),E.dispose(),o.clear(),delete b.__emmCanvasImages__})}var td=2e3;function nd(e){const t=X(e),n=new Set,r=()=>{const s=t.getTarget();if(!s||t.hasPort(s))return;const d=new MessageChannel;let a=!1;const f=v=>{v.data?.operationId==="em:port-ready"&&(a=!0,d.port1.removeEventListener("message",f),t.drainWindow(s))};d.port1.addEventListener("message",f),t.sendPort(s,d.port2),t.usePort(d.port1,!1,s);const u=setTimeout(()=>{n.delete(u),!a&&(wt(new Error("canvas port did not come up, staying on window messaging"),{origin:"canvas-channel"}),d.port1.removeEventListener("message",f),t.useWindow(s))},td);n.add(u)},i=Object.assign(globalThis,{__emmCanvasPort__:()=>{const s=t.getTarget();return{usesPort:t.usesPort,windowDrained:s?t.isWindowDrained(s):!1}}}),o=t.onInit(()=>r());e.getInstance(j)?.addDispose(()=>{for(const s of n)clearTimeout(s);o.dispose(),delete i.__emmCanvasPort__})}var rd=/^[a-zA-Z][a-zA-Z\d+\-.]*:/;function id(e){return rd.test(e)||e.indexOf("//")===0}function ot(e){return e&&(e.endsWith("/")?e:`${e}/`)}function od(){return typeof document<"u"&&document.baseURI?document.baseURI:typeof window<"u"&&window.location?window.location.href:""}function br(e,t){const n=e==null||e===""?"./":String(e);if(id(n))return ot(n);const r=t??od();if(!r)return ot(n);try{return ot(new URL(n,r).href)}catch{return ot(n)}}function sd(){return typeof window.__emailmaker__<"u"&&window.__emailmaker__?.publicPath?br(window.__emailmaker__.publicPath):br("/")}var ad=()=>"",ld=()=>"2047dd1a";function co(e){const t=e?"iframe-eblock":"iframe",n=ad();if(n){const o=n.replace(/\/?$/,"/");return ir(`${o}${t}.html`,$e())}const r=ld(),i=`${sd().replace(/\/?$/,"/")}iframe/`;return ir(`${i}${t}${r?`.${r}`:""}.html`,$e())}var Er="allow-top-navigation allow-scripts allow-popups allow-popups-to-escape-sandbox";function an(e){return/^file:/i.test(String(e||"").trim())}function dd(e){return an(e)?`${Er} allow-same-origin`:Er}var cd="em:module-body-ack";function ud(e,t,n){try{const r=new URL("./",new URL(t,n)).href,i=new URL(e,r).href;return i.startsWith(r)?i:void 0}catch{return}}function Bn(e){const t=e.split(/[?#]/)[0].split("/").pop()??"",n=/^(.+?)(?:\.[0-9a-f]{6,})?\.html$/.exec(t);return n?`js/${n[1]}.body.js`:void 0}function fd(e,t){const n=Bn(t)?.replace(/^js\/|\.body\.js$/g,""),r=n?e[`${n}.html`]:void 0;return r?(r.imports??[]).map(i=>e[i]?.file).filter(i=>!!i):[]}function pd(e,t){const n=Bn(t)?.replace(/\.body\.js$/,".js");if(!n||!(n in e))return[];const r=new Set([n]),i=[n],o=[];for(;i.length>0;)for(const s of e[i.shift()]??[])r.has(s)||(r.add(s),o.push(s),i.push(s));return o}async function md(e){try{const t=await fetch(e);return t.ok?await t.blob():void 0}catch{return}}function hd(e){const t=new Map,n=r=>{const i=ud(r,e.canvasSrc,e.origin);if(!i)return;const o=t.get(i);if(o!==void 0)return o;const s=e.fetchBody(i);return t.set(i,s),s};return{take(r){return n(r)??Promise.resolve(void 0)},warm(r){for(const i of r)n(i)},reset(){t.clear()},get size(){return t.size}}}async function gd(e,t,n){try{const r=new URL(".vite/manifest.json",new URL("./",new URL(e,t))).href,i=await fetch(r);if(!i.ok)return;const o=await i.json();n(fd(o,e))}catch{}}function vd(e){try{return an(new URL(e,window.location.href).href)}catch{return an(window.location.href)}}function bd(e){X(e);const t=co(!1);if(vd(t))return;const n=hd({canvasSrc:t,origin:window.location.href,fetchBody:md}),r=Bn(t);r&&n.warm([r]);const i={"js/iframe-eblock.js":["js/discussHandlers.DEF7Kx48.js","js/typograf.all.B0pVhMV_.js"],"js/iframe.js":["js/rolldown-runtime.qcwTIabA.js","js/discussHandlers.DEF7Kx48.js"],"js/darkreader.CLd5EML2.js":[],"js/discussHandlers.DEF7Kx48.js":["js/rolldown-runtime.qcwTIabA.js"],"js/rolldown-runtime.qcwTIabA.js":[],"js/rules.CnnzdMsj.js":[],"js/typograf.all.B0pVhMV_.js":["js/rolldown-runtime.qcwTIabA.js"]};i?n.warm(pd(i,t)):gd(t,window.location.href,s=>n.warm(s));const o=s=>{const d=s.data;if(!d||d.operationId!=="em:module-body"||!d.result)return;const a=s.source;a&&(a.postMessage({operationId:cd,for:d.result},"*"),n.take(d.data?.url??"").then(f=>{a.postMessage({operationId:d.result,data:f??null},"*")}))};window.addEventListener("message",o),e.getInstance(j)?.addDispose(()=>{window.removeEventListener("message",o),n.reset()})}var Ae=/<script\b(?=[^>]*(?:\bbis_use(?:=|\s)|\bdata-bis-config(?:=|\s)|\bdata-dynamic-id(?:=|\s)|local\.adguard\.org|(?:chrome-extension|moz-extension|safari-extension):\/\/))[^>]*>[\s\S]*?<\/script>/gi,Ed=/\s(?:bis_[a-z0-9_-]+|data-bis-config|data-dynamic-id)=(["'])(?:(?!\1).)*\1/gi,Oe=/<style\b[^>]*>[\s\S]*?<\/style>/gi,yr=/display:\s*none\s*!important/gi,yd=/((?:html\s*,\s*body|body\s*,\s*html)\s*\{)([^}]*)(\})/gi,_d=/\s*height\s*:\s*100%\s*!important\s*;?/gi,wd=/height\s*:\s*100%\s*!important/i,Sd=[".socialshare,",".advertisment,",".adHolder,",".adsbygoogle-noablate","#ab_adblock","#popmechanic-snippet","filter_ads_by_classname","clever-core-ads","--gn-ov-ad-height","pub_728x90.text-ad.textAd","html-load.com/player","content-loader.com/player",".adblock","#advblock","body { overflow: visible!important; }"];function Id(e){return yr.lastIndex=0,(e.match(yr)||[]).length}function uo(e){const t=e.trim(),n=Id(t);if(n===0)return!1;if(t.includes(".advertisment,")&&t.includes(".adHolder,")&&(t.includes(".socialshare,")||n>=3||t.length>2e3))return!0;const r=Sd.filter(i=>t.includes(i)).length;return r>=1&&(n>=3||t.length>2e3)||n>=5&&r>=1?!0:n>=20&&/\b(?:\.ad(?:s|vert|vertisment|Holder|banner|box|Container|Wrapper)?[,{]|#ad[-_]|ins\.adsbygoogle)/i.test(t)}function Td(e){Oe.lastIndex=0;for(const t of e.matchAll(Oe))if(uo(t[0].replace(/^<style\b[^>]*>/i,"").replace(/<\/style>$/i,"")))return!0;return!1}function Ad(e){let t=!1;return Oe.lastIndex=0,{html:e.replace(Oe,n=>uo(n.replace(/^<style\b[^>]*>/i,"").replace(/<\/style>$/i,""))?(t=!0,""):n),found:t}}function Cd(e){return Ae.lastIndex=0,Ae.test(e)||/\sbis_[a-z0-9_-]+\s*=/.test(e)||/\sdata-bis-config\s*=/.test(e)||Td(e)}function Rd(e){if(!Cd(e))return{html:e,found:!1};let t=!1,n=e;Ae.lastIndex=0,Ae.test(n)&&(Ae.lastIndex=0,n=n.replace(Ae,""),t=!0),(/\sbis_[a-z0-9_-]+\s*=/.test(n)||/\sdata-bis-config\s*=/.test(n))&&(n=n.replace(Ed,""),t=!0);const r=Ad(n);return n=r.html,t=t||r.found,{html:n,found:t}}function Pd(e){return!e||!wd.test(e)?e:(Oe.lastIndex=0,e.replace(Oe,t=>t.replace(yd,(n,r,i,o)=>`${r}${i.replace(_d,"")}${o}`)))}function fo(e){const t=Rd(e.replaceAll(`\r
|
|
1002
1002
|
`,`
|
|
1003
|
-
`));return{html:_d(t.html),hasBrowserExtensionArtifacts:t.found}}function sn(e){return e?.getContent()??""}function oo(e,t){e?.mutate({content:Pi(t)},{source:"remote"})}function so(e){return L(e)}function ie(e,t){return e.getOrCreateInstance(t,()=>new pe)}function K(e,t){return e.getOrCreateInstance(t,()=>new pe).event}function an(e,t,n,r){return{html:e,guid:t,...Object.keys(n).length>0?{templateDirectivesPolicy:n}:{},...r!==void 0?{rev:r}:{}}}var wd=class extends Error{showId;constructor(e,t){super(`[emailmaker] show() timed out after ${t}ms waiting for editor init (showId=${e}). Check earlier console errors: wrong host-plugin publicPath (chunks return HTML), mount element removed without destroy(), or sandbox init never completed. Search for [show-pipeline] and [AMD] messages.`),this.name="ShowPipelineTimeoutError",this.showId=e}},Sd=class{_activeRequest=null;_pending=new Map;_listeners=new Set;getActiveShowRequest(){return this._activeRequest}onShowRequested(e){return this._listeners.add(e),()=>{this._listeners.delete(e)}}requestShow(e,t,n){return this._rejectPending(Q("Superseded by newer show()")),n.aborted?Promise.reject(Q(n.reason)):(this._activeRequest=e,new Promise((r,i)=>{const o=setTimeout(()=>{this._settle(e.showId,()=>{i(new wd(e.showId,t))})},t);o.unref?.();const s=()=>{this._settle(e.showId,()=>{i(Q(n.reason))})};n.addEventListener("abort",s,{once:!0});const d=()=>{clearTimeout(o),n.removeEventListener("abort",s)};this._pending.set(e.showId,{request:e,resolve:r,reject:i,timeoutId:o,dispose:d});for(const l of this._listeners)l(e)}))}completeShow(e){this._settle(e,t=>{t.resolve()})}hasPendingShow(e){return this._pending.has(e)}failShow(e,t){this._settle(e,n=>{n.reject(t)})}rejectAll(e){this._rejectPending(e),this._activeRequest=null}_settle(e,t){const n=this._pending.get(e);n&&(n.dispose(),this._pending.delete(e),this._activeRequest?.showId===e&&(this._activeRequest=null),t(n))}_rejectPending(e){for(const[,t]of this._pending)t.dispose(),t.reject(e);this._pending.clear()}};function Id(e,t){return{contentReady:t.contentReady??e?.contentReady,sandboxReady:t.sandboxReady??e?.sandboxReady,sandbox:t.sandbox?{...e?.sandbox,...t.sandbox}:e?.sandbox}}function Td(e){if(!e||!(e.contentReady!==void 0||e.sandboxReady!==void 0||e.sandbox!==void 0))return;const t=Si(e),n=Ii(e),r=Ea(e.sandbox);t<n+r}var ao=class{_controller=new AbortController;_externalSignalDisposable=new Z;_sessionChangeListeners=new Set;_showRegistry=new Sd;_timeouts;_generation=0;_sessionStarted=!1;get signal(){return this._controller.signal}get generation(){return this._generation}get contentReadyTimeoutMs(){return Si(this._timeouts)}getSandboxTimeoutMs(e){return wi(e,this._timeouts?.sandbox)}getSandboxReadyTimeoutMs(){return Ii(this._timeouts)}bumpGeneration(){this._generation+=1}getActiveShowRequest(){return this._showRegistry.getActiveShowRequest()}onShowRequested(e){return this._showRegistry.onShowRequested(e)}requestShow(e){return this._showRegistry.requestShow(e,this.contentReadyTimeoutMs,this._controller.signal)}completeShow(e){this._showRegistry.completeShow(e)}hasPendingShow(e){return this._showRegistry.hasPendingShow(e)}failShow(e,t){this._showRegistry.failShow(e,t)}rejectAllPendingShows(e){this._showRegistry.rejectAll(e)}onSessionReplaced(e){return this._sessionChangeListeners.add(e),()=>{this._sessionChangeListeners.delete(e)}}configure(e){e.timeouts!==void 0&&(this._timeouts=Id(this._timeouts,e.timeouts),Td(this._timeouts));const t=e.replaceSession===!0||!this._sessionStarted||e.timeouts!==void 0||e.signal!==void 0;this._sessionStarted=!0,t&&(this._replaceSessionController(),this.bumpGeneration()),(e.signal!==void 0||t)&&this._linkExternalSignal(e.signal)}abort(e){const t=e??Q("Editor instance destroyed");this._showRegistry.rejectAll(t),this._controller.signal.aborted||(this._controller.abort(t),this.bumpGeneration()),this._externalSignalDisposable.dispose(),this._externalSignalDisposable=new Z}_replaceSessionController(){this._externalSignalDisposable.dispose(),this._externalSignalDisposable=new Z,this._showRegistry.rejectAll(Q("Init session replaced")),this._controller.signal.aborted||this._controller.abort(Q("Init session replaced")),this._controller=new AbortController,this._emitSessionReplaced()}_emitSessionReplaced(){for(const e of this._sessionChangeListeners)e()}_linkExternalSignal(e){if(!e)return;if(e.aborted){this._controller.signal.aborted||(this._controller.abort(e.reason??Q()),this.bumpGeneration());return}const t=()=>{this._controller.signal.aborted||(this._controller.abort(e.reason??Q()),this.bumpGeneration())};e.addEventListener("abort",t),this._externalSignalDisposable.addDispose(()=>{e.removeEventListener("abort",t)})}},kn=(()=>{const e=new ao;return e.configure({}),e})(),Ad=class extends Error{label;timeoutMs;constructor(e){super(`[sandbox:ready] iframe handshake timed out after ${e}ms`),this.name="SandboxReadyTimeoutError",this.label="sandbox:ready",this.timeoutMs=e}};function Cd(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.isInited=="function"&&typeof t.getTarget=="function"&&typeof t.onInit=="function"}function Rd(e,t,n){return e.isInited()&&e.getTarget()?Promise.resolve():($(n),new Promise((r,i)=>{let o=!1,s,d;const l=u=>{o||(o=!0,s!==void 0&&(clearTimeout(s),s=void 0),d?.dispose(),n?.removeEventListener("abort",f),u())},f=()=>{l(()=>i(Q(n?.reason)))};if(d=e.onInit(()=>{e.isInited()&&e.getTarget()&&l(()=>r())}),e.isInited()&&e.getTarget()){l(()=>r());return}t>0&&(s=setTimeout(()=>{l(()=>i(new Ad(t)))},t)),n?.addEventListener("abort",f)}))}var Pd=class extends Error{label;timeoutMs;constructor(e,t){super(`[${e}] timed out after ${t}ms`),this.name="OperationTimeoutError",this.label=e,this.timeoutMs=t}};function Dd(e,t,n){return t<=0?e:new Promise((r,i)=>{let o=!1,s;const d=l=>{o||(o=!0,s!==void 0&&(clearTimeout(s),s=void 0),l())};s=setTimeout(()=>{d(()=>i(new Pd(n,t)))},t),e.then(l=>{d(()=>r(l))},l=>{d(()=>i(l))})})}var Od=2,ot=Symbol("sandbox:frame-replaced");function ae(e,t,n,r,i,o,s){const d=`sandbox:${t}`,l=o?.getSandboxTimeoutMs(t)??Dn[t],f=()=>{let I=Dd(e.sendAsync(n,r),l,d);return I=mt(I,o?.signal),He(d,I,i)};if(t==="INIT_START"&&Cd(e)){const I=o?.getSandboxReadyTimeoutMs()??2e4,g=e,y=w=>{const S=Rd(g,I,o?.signal);return He("sandbox:INIT_START:ready-wait",S,i).then(()=>{if(!s||w<=0)return f();const A=s.getGeneration();let m;const c=new Promise((p,h)=>{m=s.onChange(()=>{s.getGeneration()!==A&&h(ot)})}),a=f();return a.catch(()=>{}),Promise.race([a,c]).finally(()=>m?.()).catch(p=>{if(p!==ot)throw p;return{...i},y(w-1)})})};return y(Od)}if(!s)return f();const u=s.getGeneration();let v;const b=new Promise((I,g)=>{v=s.onChange(()=>{s.getGeneration()!==u&&g(ot)})}),E=f();return E.catch(()=>{}),Promise.race([E,b]).finally(()=>v?.()).catch(I=>{throw I===ot&&{...i},I})}var xd=[["brace-percent",/<!--\{%/],["brace-hash",/<!--\{#/],["proscript",/<!--\[%/],["getresponse",/<!--\[\[(?:if|else\]\]|endif\]\])/i],["mailchimp",/<!--\*\|/],["expert-sender",/<!--<\/?(?:if|else|var)/i]],Ld=200;function Md(e=new Set){const t=new Set;return(n,r)=>{if(!xd.some(([o,s])=>!e.has(o)&&s.test(n)))return;const i=r??`new:${n.length}:${n.slice(0,200)}`;t.has(i)||(t.size>=Ld&&t.clear(),t.add(i))}}function kd(){return{isConfigured:()=>!1,toEditorForm:e=>e,toOutputForm:e=>e,keepWrappedOnOutput:new Set,editorPolicy:{},warnAboutUnconfiguredInput:Md()}}var Nd=kd();function Ne(e){return e?.getInstance(Ps)??Nd}function Fd(e){const t=ve(e),n=X(e),r=()=>e.getInstance(De)??kn;let i,o,s=!1,d=!1;const l=async(S,A,m)=>{const c=m.generation,a=()=>m.generation!==c||m.signal.aborted||t.current()!==S||d,p=ue(n);s=!0;try{if(await ae(n,"INIT_START",N.SANDBOX_INIT_START,{guid:A},void 0,m),a())return;const{html:h,hasBrowserExtensionArtifacts:_}=io(sn(S));if(_&&ie(e,j.ON_BROWSER_EXTENSION_DETECTED_ID).fire(),oo(S,h),await ae(n,"SET_ENTITY",N.SANDBOX_SET_ENTITY,an(sn(S),A,Ne(e).editorPolicy,S.get().version),void 0,m),a())return;await ae(n,"INITED",N.SANDBOX_INITED,{guid:A},void 0,m),i=A,o=p}finally{s=!1}},f=()=>he(t.sessionKey())?t.current():void 0,u=()=>{if(d||s)return;const S=f(),A=S?.get().docId;if(!S||!A||i===A&&o===ue(n)||!S.isReady())return;const m=r();m.signal.aborted||l(S,A,m).catch(()=>{})};let v=!1;const b=()=>{v||d||(v=!0,queueMicrotask(()=>{v=!1,u()}))};let E,I;const g=()=>{const S=f(),A=S?.get().docId;A!==I&&(E?.(),I=A,E=S?.subscribe(b)),b()},y=t.subscribe(g),w=to(n,b);g(),e.getInstance(F)?.addDispose(()=>{d=!0,w(),E?.(),y()})}var jd=200;function Bd({startVersion:e,limit:t=jd}){let n=[],r=e;const i=o=>{n=n.filter(s=>s.version>o),r=Math.max(r,o)};return{record(o){!o.changes?.length&&!o.contentReplaced||(n.push(o),n.length>t&&i(n[n.length-t-1].version))},rebase(o,s){if(s<r)return null;const d=n.filter(f=>f.version>s);i(s);let l=o;for(const f of d){if(f.fromCanvas||f.contentReplaced||!f.changes)return null;const u=f.changes,v=[];for(const b of l){const E=Da(b.range,u,"after");if(!E)return null;v.push({range:E,text:b.text})}l=v}return l}}}function Ud(e,t){let n=0;return e.map(({start:r,end:i,text:o})=>{const s=new re(r,t.slice(r,i),r+n,o);return n+=o.length-(i-r),s})}function Hd(e,t){const n=[...e].sort((r,i)=>r.range.start-i.range.start);return Ud(n.map(({range:r,text:i})=>({start:r.start,end:r.end,text:i})),t)}function Gd(e){return[...e].sort((t,n)=>n.oldPosition-t.oldPosition).map(t=>({range:{start:t.oldPosition,end:t.oldEnd},text:t.newText}))}var Nn=L("canvas.sandboxFill");function lo(e){return e.getInstance(Nn)?.pipeline.isEventsLocked()===!0}function Lt(e){wt(e,{origin:"canvas-channel"})}function qd(e){const t=ve(e),n=X(e);let r;const i=(l,f)=>{const u=l.get().docId;let v=!1,b=null,E=null;const I=Bd({startVersion:l.get().version});let g=l.getContent();const y=async(c,a)=>{if(E){E.push({edits:c,rev:a});return}E=[{edits:c,rev:a}];try{do{const p=E.splice(0,E.length);await n.sendAsync(N.SANDBOX_UPDATE_ENTITY,{edits:p.map(h=>h.edits),guid:u,rev:p[p.length-1].rev})}while(E.length)}finally{E=null}},w=(c,a)=>{const p=E?.splice(0,E.length)??[];p.length&&n.sendAsync(N.SANDBOX_UPDATE_ENTITY,{edits:p.map(h=>h.edits),guid:u,rev:p[p.length-1].rev}).catch(Lt),n.sendAsync(N.SANDBOX_UPDATE_ENTITY,{edits:[c],guid:u,rev:l.get().version,...a!==null?{changeId:a}:{}}).catch(Lt)},S=c=>{const{guid:a,pushUndoStop:p}=c;if(a!==u)return;const h=Ha(c);let{edits:_}=c;if(h.baseRev!==null){const D=I.rebase(_,h.baseRev);if(!D){wt(new Error("canvas batch conflicts with newer document changes"),{origin:"canvas-channel"}),w([],h.changeId);return}_=D}const T=l.get().version;try{v=!0,b=h.changeId;const D=Hd(_,l.getContent());p===!1?f.applyWithoutHistory(D):l.mutate({changes:D},{source:lo(e)?"system":"user"})}finally{v=!1,b=null}l.get().version===T&&h.baseRev!==null&&w([],h.changeId)},A=l.subscribe(({changes:c,version:a})=>{const p=l.getContent(),h=!c?.length&&p!==g;if(g=p,I.record({version:a,changes:c,contentReplaced:h,fromCanvas:v}),!c?.length)return;const _=Gd(c);v?w(_,b):y(_,a).catch(Lt)}),m=n.addListener(N.APPLICATION_UPDATE_ENTITY,S);return()=>{A(),m.dispose()}};let o;const s=()=>{const l=t.current(),f=t.history(),u=l?.get().docId;u!==o&&(r?.(),r=void 0,o=u,l&&f&&(r=i(l,f)))},d=t.subscribe(s);s(),e.getInstance(F)?.addDispose(()=>{r?.(),d()})}var $d=300,zd=15e3,hr="em-canvas-busy-style";function Vd(){if(document.getElementById(hr))return;const e=document.createElement("style");e.id=hr,e.textContent="@keyframes em-canvas-busy-spin{to{transform:rotate(360deg)}}",document.head.appendChild(e)}function Kd(e){const t=e.getBoundingClientRect(),n=document.createElement("div");return n.setAttribute("aria-busy","true"),Object.assign(n.style,{position:"fixed",left:`${t.left}px`,top:`${t.top}px`,width:`${t.width}px`,height:`${t.height}px`,cursor:"progress",display:"flex",alignItems:"center",justifyContent:"center"}),e.appendChild(n),{showSpinner(){Vd(),n.style.background="rgba(128, 128, 128, 0.15)";const r=document.createElement("div");Object.assign(r.style,{width:"32px",height:"32px",borderRadius:"50%",border:"3px solid rgba(128, 128, 128, 0.35)",borderTopColor:"rgba(80, 80, 80, 0.9)",animation:"em-canvas-busy-spin 0.8s linear infinite"}),n.appendChild(r)},remove:()=>n.remove()}}var Wd=8e3;function Yd(){return{element:document.createElement("iframe"),ready:()=>Promise.reject(new Error("[canvas] нет элемента монтирования")),reload:()=>Promise.resolve(),reloadQuietly:()=>Promise.resolve(),scrollBy:()=>{},shown:!1,whenShown:()=>Promise.resolve(),alignTo:()=>{},resize:()=>{},dispose:()=>{}}}var Xd=e=>{for(let t=e?.parentElement??null;t;t=t.parentElement){const n=getComputedStyle(t).overflowY;if(n==="auto"||n==="scroll"||n==="hidden")return t}return null};function Jd(e,t,n,r,i){const o=n.readyTimeoutMs??Wd,s=document.createElement("div");s.dataset.canvasHost=e,r&&(s.dataset.canvasPlace=r),s.style.position="fixed",s.style.overflow="hidden",s.style.visibility="hidden";const d=n.resolveSrc(e),l=document.createElement("iframe");l.setAttribute("sandbox",n.resolveSandbox(d)),l.setAttribute("allow","clipboard-read; clipboard-write"),l.setAttribute("title","Email content"),l.style.width="100%",l.style.border="0",l.style.display="block",l.style.minHeight="600px",l.src=d,s.appendChild(l),t.appendChild(s),n.mark?.("created"),i||n.onCreated?.(l);const f=new Z;let u=!1,v=!1,b,E,I,g;const y=()=>{clearTimeout(g),g=setTimeout(()=>{v||(v=!0,E?.(new Error(`[canvas] ${e}: документ не загрузился за ${o} мс`)))},o)},w=()=>u?(I=Promise.resolve(),v=!0,I):(v=!1,I=new Promise((M,G)=>{b=M,E=G}),y(),I),S=()=>{if(clearTimeout(g),u=!0,v){I=Promise.resolve();return}v=!0,n.mark?.("loaded"),b?.()};l.addEventListener("load",S),f.addDispose(()=>{clearTimeout(g),l.removeEventListener("load",S)});let A;const m=()=>{A??=n.bindResizer?.(l)};let c=null,a=null,p;const h=()=>{if(!c){s.style.visibility="hidden",l.removeAttribute("id");return}n.elementId&&(l.id=n.elementId);const M=c.getBoundingClientRect(),G=a?.isConnected?a:Xd(c),H=G?G.getBoundingClientRect():null,Y=H?Math.max(M.top,H.top):M.top,be=H?Math.min(M.bottom,H.bottom):M.bottom,Ze=Math.max(0,be-Y);s.style.visibility=Ze>0?"visible":"hidden",s.style.left=`${M.left}px`,s.style.top=`${Y}px`,s.style.width=`${M.width}px`,s.style.height=`${Ze}px`,l.style.transform=`translateY(${M.top-Y}px)`};let _="",T="",D=0,R;const O=()=>{if(!c){R=void 0;return}R=window.requestAnimationFrame(O);const M=c.getBoundingClientRect(),G=a?.isConnected?a.getBoundingClientRect():void 0,H=`${Math.round(M.left)}:${Math.round(M.top)}:${Math.round(M.width)}:${Math.round(M.height)}:${G?`${Math.round(G.top)}:${Math.round(G.height)}`:"-"}`;H!==_&&(_=H,h());const Y=l.getBoundingClientRect().height;Y>0&&Y!==D&&(D=Y,c.style.height=`${Y}px`);const be=getComputedStyle(c).pointerEvents;be!==T&&(T=be,s.style.pointerEvents=be)},C=()=>{R===void 0&&c&&(R=window.requestAnimationFrame(O))},x=()=>{R!==void 0&&(window.cancelAnimationFrame(R),R=void 0)},B=()=>h();let U=[];const W=(M,G)=>{if(a=G,M&&U.length>0){const H=U;U=[],H.forEach(Y=>Y())}if(M===c){h();return}if(p?.disconnect(),p=void 0,c&&c.style.removeProperty("height"),_="",D=0,T="",c=M,!M){x(),h();return}n.onShown?.(l);try{if(typeof ResizeObserver=="function"){const H=new ResizeObserver(h);typeof H.observe=="function"&&(p=H,p.observe(M))}}catch{p=void 0}h(),m(),C()};window.addEventListener("scroll",B,!0),window.addEventListener("resize",B),f.addDispose(()=>{p?.disconnect(),R!==void 0&&window.cancelAnimationFrame(R),window.removeEventListener("scroll",B,!0),window.removeEventListener("resize",B)});const de=M=>{u=!1,M&&n.onReload?.(l);let G;v||I===void 0?G=w():(y(),G=I);try{l.contentWindow?.location.reload()}catch{l.src=d}return G};return{element:l,ready(){return I??w()},reload:()=>de(!0),reloadQuietly:()=>de(!1),get shown(){return c!==null},whenShown(){return c!==null?Promise.resolve():new Promise(M=>{U.push(M)})},alignTo(M,G){W(M,G??null)},scrollBy(M,G){for(let H=c?.parentElement??null;H;H=H.parentElement){const Y=getComputedStyle(H);if((Y.overflowY==="auto"||Y.overflowY==="scroll")&&H.scrollHeight>H.clientHeight){H.scrollBy({left:M,top:G,behavior:"instant"});return}}window.scrollBy({left:M,top:G,behavior:"instant"})},resize(){A?.resize()},dispose(){W(null,null),A?.dispose(),f.dispose(),s.remove()}}}function Qd(e){const t=new Map;let n="a";const r=()=>n==="a"?"b":"a",i=(u,v)=>u==="email"?`email:${v??n}`:u;let o,s=[];const d=()=>{s.forEach(u=>clearTimeout(u)),s=[],o?.remove(),o=void 0},l=new Map,f=(u,v,b)=>{const E=i(u,v),I=t.get(E);if(I)return I;const g=e.resolveMount();if(!g)return Yd();const y=Jd(u,g,e,u==="email"?v??n:void 0,b);return t.set(E,y),y};return{get:u=>f(u),current:u=>f(u),peek:u=>t.get(i(u)),spare:()=>t.get(i("email",r())),ensureSpare:()=>f("email",r(),!0),promote(){const u=t.get(i("email",r()));if(!u)return;const v=t.get(i("email"));n=r();const b=l.get("email");u.alignTo(b?.slot??null,b?.clip??null),v?.alignTo(null)},alignSurface(u,v,b){l.set(u,{slot:v,clip:b??null}),(v?f(u):t.get(i(u)))?.alignTo(v,b??null)},visible(){for(const u of t.values())if(u.shown)return u},byWindow(u){if(u){for(const v of t.values())if(v.element.contentWindow===u)return v}},busy(u){d();const v=u?e.resolveMount():void 0;if(!v)return;const b=Kd(v);o=b,s=[setTimeout(()=>b.showSpinner(),$d),setTimeout(d,zd)]},dispose(){d(),t.forEach(u=>u.dispose()),t.clear(),l.clear(),n="a"}}}var Zd=L("canvas.resizerBinder"),ln=L("canvas.service"),ec={created:J.canvasCreated,loaded:J.canvasLoaded};function tc(e,t){if(e.getInstance(ln))return;const n=Qd({resolveMount:()=>t.resolveMount(),resolveSrc:i=>t.resolveSrc(i),resolveSandbox:td,elementId:t.elementId,bindResizer:i=>e.getInstance(Zd)?.(i),onCreated:i=>ut(e,i,"fresh"),onReload:i=>ut(e,i,"fresh"),onShown:i=>ut(e,i,"switch"),mark:i=>t.mark?.(ec[i])}),r=X(e).addListener(N.SANDBOX_WHEEL,i=>{n.visible()?.scrollBy(i?.deltaX??0,i?.deltaY??0)});e.inject(ln,n),e.getInstance(F)?.addDispose(()=>{r.dispose(),n.dispose()})}function ut(e,t,n){const r=X(e),i=t.contentWindow;if(!i)return;const o=r.getTarget()===i;o&&n==="switch"||(n==="fresh"&&(r.forget(i),o&&r.setTarget(void 0)),r.setTarget(i),jl(r))}function nc(e,t){ut(e,t,"promote")}function rc(e,t){const n=t.contentWindow;n&&X(e).greet(n)}function ic(e,t){const n=t.contentWindow;n&&X(e).forget(n)}function fe(e){return e.getInstance(ln)}function oc(e){const t=X(e),n=()=>fe(e)?.byWindow(t.getTarget()),r=t.addListenerAsync(N.RELOAD,async()=>{await n()?.reload()}),i=t.addListener(s=>{s.data?.operation===N.SANDBOX_RESIZED&&n()?.resize()}),o=K(e,j.ON_EMAIL_INIT_ID)(()=>{n()?.resize()});e.getInstance(F)?.addDispose(()=>{r.dispose(),i.dispose(),o.dispose()})}var Th=L("HeadlessMode"),sc=L("HiddenMount");function ac(e){return e.getOrCreateInstance(sc,()=>ke(!1))}function gr(){const e=document.createElement("div");return e.dataset.canvasOffscreen="true",e.style.position="absolute",e.style.left="-10000px",e.style.top="-10000px",e.style.width="1600px",e.style.height="1000px",document.body.appendChild(e),e}function lc(e){const t=e.getInstance(oe);let n,r;e.getInstance(F)?.addDispose(()=>{r?.remove(),r=void 0}),tc(e,{resolveMount:()=>n,resolveSrc:o=>no(o==="block"),elementId:"email_iframe",mark:o=>z(o)}),t?.watch(o=>{if(n)return;const s=o?.element;if(s instanceof HTMLElement)n=s;else if(o!==void 0)n=r??=gr();else return;fe(e)?.get("email")});let i;e.getInstance(F)?.addDispose(()=>{i?.remove(),i=void 0}),ac(e).watch(o=>{const s=fe(e);if(s){if(o){i??=gr(),s.alignSurface("email",i,i);return}i&&(s.alignSurface("email",null),i.remove(),i=void 0)}})}var co=L("canvas.headerFlow"),vr=["subject","preheader"],dc=3e3,cc={subject:N.SANDBOX_SUBJECT_UPDATE,preheader:N.SANDBOX_PREHEADER_UPDATE};function uc(e){const t=ve(e),n=X(e),r=g=>g?"remote":lo(e)?"system":"user",i=(g,{guid:y,value:w,forced:S})=>{const A=Be(t);if(!A||typeof w!="string"||y&&y!==A.get().docId)return;const m=t.forcedHeaders();if(m?.[g]&&!S&&w!==m[g])return;S&&t.endForcedHeaders();const c=A.get().attributes[g]??"";d=!0;try{vt(A,{[g]:w},{source:r(S)})}finally{d=!1}o[g]=w,ie(e,j.ON_HEADER_APPLIED_ID).fire({field:g,value:w,forced:!!S,isGenerated:w!==c&&!!w})};let o={},s,d=!1,l=Promise.resolve();const f=(g,y,w)=>{l=n.sendAsync(cc[g],{value:y,guid:Be(t)?.get().docId,...w?{force:!0,echo:!0}:{}}).catch(S=>{})};let u;e.inject(co,{whenDelivered:async()=>{await l},reassert:g=>{const y=Be(t),w=vr.filter(S=>g[S]);if(!(!y||w.length===0)){d=!0;try{vt(y,Object.fromEntries(w.map(S=>[S,g[S]])),{source:"system"})}finally{d=!1}t.beginForcedHeaders({subject:g.subject??"",preheader:g.preheader??""}),clearTimeout(u),u=setTimeout(()=>t.endForcedHeaders(),dc);for(const S of w)o[S]=g[S],f(S,g[S],!0)}}});const v=()=>{s?.(),s=void 0;const g=Be(t);if(!g){o={};return}const y=g.get().attributes;o={subject:y.subject,preheader:y.preheader},s=g.subscribe(({source:w})=>{if(d)return;const S=g.get().attributes,A=t.forcedHeaders();for(const m of vr){const c=S[m];c!==o[m]&&(o[m]=c,f(m,c??"",w==="system"&&A?.[m]!==void 0))}})};v();const b=t.subscribe(v),E=n.addListenerAsync(N.APPLICATION_SUBJECT_UPDATE,g=>i("subject",g)),I=n.addListenerAsync(N.APPLICATION_PREHEADER_UPDATE,g=>i("preheader",g));e.getInstance(F)?.addDispose(()=>{E.dispose(),I.dispose(),b(),s?.(),clearTimeout(u)})}function br(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function dn(e,t){const n={...e};for(const r of Object.keys(t)){const i=t[r],o=e[r];br(i)&&br(o)?n[r]=dn(o,i):i!==void 0&&(n[r]=i)}return n}function fc(e,t){const n=wn;if(typeof e=="string"){const r=e.trim();if(r.startsWith("{"))try{const i=JSON.parse(r);if(i&&typeof i=="object"&&!Array.isArray(i)&&Object.keys(i).length>0)return dn(n,i)}catch{}}return t&&typeof t=="object"&&!Array.isArray(t)?dn(n,t):n}function pc(){const e=window.localStorage.getItem(yt.em_color_scheme),t=matchMedia("(prefers-color-scheme: dark)").matches?ws:Fs;return e&&e!=="system"?e:t}function mc(){const e=window.localStorage.getItem(yt.em_code_mode_settings);if(!e)return!1;try{const t=JSON.parse(e);return!!(t?.isCodeMode&&(t.codeModeDirection==="left"||t.codeModeDirection==="right"))}catch{return!1}}function hc(e){const{config:t}=e;return{operation:N.UPDATE_PREVIEW,theme:e.theme,commonStyles:fc(e.emailCommonStyles,e.defaultCommonStyles),pathEnabled:t.pathEnabled,copyPasteEnabled:t.copyPasteEnabled,saveBlockEnabled:t.saveBlockEnabled,editImageControlEnabled:t.editImageControlEnabled,codeMode:e.codeMode,elementAIimageEnabled:t.elementAIimageEnabled,imageCenterStockEnabled:t.imageCenterStockEnabled,imageCenterGifEnabled:t.imageCenterGifEnabled,imageCenterEditorEnabled:t.imageCenterEditorEnabled,blocksAddPanelEnabled:t.blocksAddPanelEnabled!==!1&&t.blocksSectionsShow!==!1,lockEditor:t.lockEditor,appName:e.appName}}function gc(e){const t=X(e),n=e.getInstance(we),r=e.getInstance(oe),i=ve(e);let o,s="";const d=()=>{const w=n?.get()??{},S=hc({config:w,emailCommonStyles:i.current()?.get().attributes?.common_styles,defaultCommonStyles:o,theme:pc(),codeMode:mc(),appName:"emailmaker"}),A=JSON.stringify(S);A!==s&&(s=A,t.send(S))},l=t.onInit(()=>{s="",d()}),f=()=>{t.isInited()&&d()},u=n?.watch(f),v=r?.watch(w=>{o=w?.commonStyles,f()});let b;const E=()=>{b?.(),b=i.current()?.subscribe(f),f()};E();const I=i.subscribe(E),g=matchMedia(Ts),y=()=>f();g.addEventListener("change",y),e.getInstance(F)?.addDispose(()=>{l.dispose(),u?.dispose(),v?.dispose(),b?.(),I(),g.removeEventListener("change",y)})}var cn;(function(e){function t(i,o,s=(d,l)=>d===l){if(i===o)return!0;if(i.length!==o.length)return!1;for(let d=0;d<i.length;d++)if(!s(i[d],o[d]))return!1;return!0}e.isEqual=t;function n(i,o=s=>s){const s=new Set;return i.filter(d=>{const l=o(d);return s.has(l)?!1:(s.add(l),!0)})}e.unique=n;function r(i=[],o=[],s=(d,l)=>d===l){const d=[],l=[],f=[];for(const u of i){const v=o.find(b=>s(u,b));v?f.push({prev:u,next:v}):l.push(u)}for(const u of o)i.find(v=>s(u,v))||d.push(u);return{added:d,removed:l,exists:f}}e.diff=r})(cn||(cn={}));function vc(e,t){return e.type===t.type&&e.key===t.key}function bc(e){const t=X(e),n=()=>e.getServices(Te)??[];let r=[];const i=t.onInit(()=>{r=n(),t.send(N.SANDBOX_ADD_EXTENSIONS,r)}),o=us(Te),s=e.onInject(d=>{if(d!==o)return;const l=n();if(!t.isInited()){r=l;return}const{added:f,removed:u}=cn.diff(r,l,vc);if(r=l,u.length){if(u.some(v=>v.type==="script")){t.send(N.RELOAD);return}t.send(N.SANDBOX_REMOVE_EXTENSIONS,u.map(v=>v.key))}f.length&&t.send(N.SANDBOX_ADD_EXTENSIONS,f)});e.getInstance(F)?.addDispose(()=>{i.dispose(),s?.dispose()})}var Ec=L("prewarm.editorVisible");function yc(e){if(typeof requestAnimationFrame!="function"){setTimeout(e,0);return}requestAnimationFrame(()=>requestAnimationFrame(e))}function _c(e={}){const t=e.paint??yc;let n=!1,r=!1,i=!1,o=!1,s=!1;const d=[],l=()=>{s||o||!n||!r||!i||(o=!0,t(()=>{s=!0,z(J.editorVisible);for(const f of d.splice(0))f()}))};return{noteShellVisible(){n=!0,l()},notePagePainted(){r=!0,l()},noteContentShown(){i=!0,l()},whenVisible(f){if(s){f();return}d.push(f)},contentShown:()=>i}}function wc(e){return e.getOrCreateInstance(Ec,()=>_c())}var Sc=500,Ic=500,Tc=5e3;function Ac(e){const t=e.quietMs??Sc,n=e.floorMs??Ic,r=e.ceilingMs??Tc;let i,o,s=0;const d=()=>{clearTimeout(i),clearTimeout(o),i=void 0,o=void 0},l=()=>{d(),e.run()},f=()=>{clearTimeout(i);const u=n-(Date.now()-s);i=setTimeout(l,Math.max(t,u))};return{start(){d(),s=Date.now(),o=setTimeout(l,r),f()},notify(){i!==void 0&&f()},cancel:d}}function Cc({attributes:e,readContent:t,docId:n,hasSession:r,serverId:i,show:o}){if(!r)return;const s={id:i??void 0,renderGuid:n,showId:o?.id,isNew:i==null,showToken:o?.token},d={...e,...s};return Object.defineProperty(d,"html",{get:()=>t()??"",enumerable:!0,configurable:!0}),d}var uo="self-init:";function Rc(e){return e.startsWith(uo)}function fo(e,t){const n=e.getActiveShowRequest();return Rc(t)?n===null:n?.showId===t&&e.hasPendingShow(t)}function Pc(e){const t=()=>e.initPipeline(),n=e.messageService,r=()=>e.waitScope?.()??t();let i="";const o=()=>e.readDocument()?sn(e.readDocument()):i,s=()=>Ne(e.container).editorPolicy,d=()=>e.readEmail(),l=()=>{const f=d();return{...f,id:e.isTemplate()||f.isNew?void 0:f.id,html:o()}};return{readContent:o,publicEmail:l,sendInitStart:()=>ae(n,"INIT_START",N.SANDBOX_INIT_START,{guid:d().renderGuid},void 0,r()),sendInited:()=>ae(n,"INITED",N.SANDBOX_INITED,{guid:d().renderGuid},void 0,r()),async sendContent(){const f=d(),{html:u,hasBrowserExtensionArtifacts:v}=io(f?.html||"");v&&e.events.browserExtensionDetected(),oo(e.readDocument(),u),i=u,await ae(n,"SET_ENTITY",N.SANDBOX_SET_ENTITY,an(o(),f.renderGuid,s(),e.readDocument()?.get().version),{guid:f.renderGuid,emailId:f.id??null},r())},refreshContent:()=>ae(n,"SET_ENTITY",N.SANDBOX_SET_ENTITY,an(o(),d().renderGuid,s(),e.readDocument()?.get().version),void 0,r()),sendPreheader:async()=>{const f=d();if(f.preheader!==void 0)return ae(n,"PREHEADER",N.SANDBOX_PREHEADER_UPDATE,{value:f.preheader,guid:f.renderGuid,force:!0},void 0,r())},sendSubject:async()=>{const f=d();if(f.subject!==void 0)return ae(n,"SUBJECT",N.SANDBOX_SUBJECT_UPDATE,{value:f.subject,guid:f.renderGuid,force:!0},void 0,r())},revealFilled:()=>e.revealFilled?.()??Promise.resolve(),showFilled:f=>e.showFilled?.(f),readTarget:()=>e.readTarget?.(),fireWillInit:()=>e.events.willInit(l()),fireInit(f,u){if(!fo(t(),f)){t().getActiveShowRequest()?.showId;return}const v=d();v.id,v.renderGuid,t().completeShow(f),vt(e.readDocument(),{is_inited:!0},{source:"system"});const b=l();return u&&(b.reset=!0),e.events.inited(b)},fireEmailChanged(){e.events.emailChanged(l())},fireContentChanged(){e.events.contentChanged(o())}}}function Dc(e){const t=()=>e.initPipeline();let n=!1,r,i,o,s=0,d;const l=Pc({...e,waitScope:()=>({getSandboxTimeoutMs:y=>t().getSandboxTimeoutMs(y),getSandboxReadyTimeoutMs:()=>t().getSandboxReadyTimeoutMs(),signal:d?.signal??t().signal})});let f;const u=(y,w)=>{if(f===y)return;f=y;const S=s;setTimeout(()=>{s!==S||t().signal.aborted||I(y,w).catch(()=>{})},0)},v=()=>{d?.abort(),d=void 0};let b;const E=()=>{const y=t().signal;y!==b&&(b?.removeEventListener("abort",v),b=y,y.addEventListener("abort",v))};async function I(y,w){const S=++s;v(),d=new AbortController,E();const A=()=>s!==S,m=l.readTarget(),c=t().generation,a=()=>c===t().generation&&!t().signal.aborted,p=w?"init:reset-":"init:";if(!w){const T=l.publicEmail();T?.id,T?.renderGuid,T?.preheader}let h=!1,_=!1;try{n=!0,await l.sendInitStart(),l.fireWillInit(),await(w?l.refreshContent():l.sendContent()),h=!0,w||l.publicEmail()?.id;try{await l.sendPreheader()}catch(T){`${p}`,String(T)}try{await l.sendSubject()}catch(T){`${p}`,String(T)}if(A()||l.showFilled(m),await l.sendInited(),_=!0,i===y){const T=e.readSandboxGeneration?.()??o;T!==void 0&&(r=T)}await l.revealFilled()}catch(T){throw A()||(`${p}`,{...e.describeSurface?.(),error:String(T)},void 0),!A()&&fo(t(),y)&&t().failShow(y,T),T}finally{g(y,w,p,{superseded:A(),sessionGeneration:c,contentApplied:h,sandboxInitedAcked:_,commit:a()})}}function g(y,w,S,A){const{superseded:m,contentApplied:c,sandboxInitedAcked:a}=A;if(m){`${S}`;return}a&&A.commit?l.fireInit(y,w||void 0):a?(`${S}`,A.sessionGeneration,t().generation,t().signal.aborted,void 0):c?(`${S}`,void 0):(`${S}`,void 0),n=!1,d=void 0,!a&&i===y&&(i=void 0,r===o&&(r=void 0)),!a&&c&&u(y,w)}return{channel:l,isEventsLocked:()=>n,filledGeneration:()=>r,markFilled:y=>{r=y},lastCorrelation:()=>i,markCorrelation:y=>{i=y},bumpRunSeq:()=>{s+=1},noteSandboxGeneration:y=>{o=y},fill:y=>I(y,!1),refill:y=>I(y,!0),stop:()=>{s+=1,v(),n=!1,b?.removeEventListener("abort",v),b=void 0}}}function Oc(e,t,n){if(!e?.renderGuid||!e.showId||e.showId!==t.showId)return!1;if(t.isNew)return e.id==null;const r=t.emailId??t.navId;return r!=null&&String(e.id??"")!==String(r)?!1:po(e,n)}function po(e,t){return t?e?.id==null?!1:String(e.id)===String(t):!0}function xc(e){const{pipeline:t,readEmail:n,readDocument:r,readRouteEmailId:i,readSandboxGeneration:o}=e,s=u=>{const v=n(),b=i();if(!Oc(v,u,b)){u.showId,u.navId,u.emailId,v?.id,v?.showId,v?.renderGuid;return}u.showId,v?.id,v?.renderGuid,t.markFilled(o()),t.markCorrelation(u.showId),t.fill(u.showId).catch(()=>{})};return{showRequested:u=>{s(u)},showRequestIdentityChanged:()=>{const u=e.initPipeline().getActiveShowRequest();u&&s(u)},selfInitChanged:()=>{if(e.initPipeline().getActiveShowRequest())return;const u=o();if(t.filledGeneration()===u)return;const v=n(),b=i();if(!v?.renderGuid||!po(v,b))return;const E=`${uo}${v.renderGuid}`;t.markFilled(u),t.markCorrelation(E);const I=r()?.isReady()===!0;v.id,v.renderGuid,(I?g=>t.refill(g):g=>t.fill(g))(E).catch(()=>{t.lastCorrelation()===E&&t.markFilled(void 0)})},saasChanged:()=>{const u=n();u?.renderGuid,u?.showToken,u?.id}}}function Lc(e){return e??""}function Mc(e,t,n,r){return[e??"",t??"",n==null?"":String(n),r??""].join("|")}function kc(e){const t=ve(e),n=X(e),r=()=>he(t.sessionKey())?void 0:t.current(),i=()=>{const P=r();return Cc({attributes:P?.get().attributes??{},readContent:()=>P?.getContent(),docId:P?.get().docId,hasSession:!!P,serverId:P?.get().serverId,show:t.showFacts()})},o=()=>e.getInstance(De)??kn;let s={},d=!1;const l=e.getInstance(oe)?.watch(P=>{d=!!P?.element});let f=!1,u=!1,v=!1,b=0;const E=()=>{const P=fe(e);if(!P)return;const V=++b,q=P.spare();return q&&ic(e,q.element),(q?q.reloadQuietly():P.ensureSpare()?.ready())?.then(()=>{if(V!==b)return;f=!0;const ne=P.spare();ne&&rc(e,ne.element),v&&(v=!1,T(),W())})},I=Ac({run:()=>{v||E()?.catch(()=>{})}}),g=()=>{wc(e).noteContentShown(),!f&&!v&&I.start()};let y=!1;const A=Dc({container:e,messageService:n,initPipeline:o,readDocument:r,readEmail:i,revealFilled:()=>{const P=fe(e);return y&&P&&(y=!1,I.start()),d?P?.current("email").whenShown()??Promise.resolve():Promise.resolve()},showFilled:P=>{const V=fe(e),q=V?.spare()?.element.contentWindow;u&&V&&q&&P===q&&(u=!1,V.promote(),V.busy(!1),y=!0)},readTarget:()=>n.getTarget(),isTemplate:()=>!!s.isTemplate,readSandboxGeneration:()=>ue(n),describeSurface:()=>({canvasPath:_,promoted:u,spareClean:f,handshake:n.isInited(),generation:ue(n)}),events:{willInit:P=>{ie(e,j.WILL_EMAIL_INIT_ID).fire(P)},inited:P=>{g(),ie(e,j.ON_EMAIL_INIT_ID).fire(P)},contentChanged:P=>{ie(e,j.ON_CONTENT_CHANGED_ID).fire(P)},emailChanged:P=>{ie(e,j.ON_EMAIL_CHANGED_ID).fire(P)},browserExtensionDetected:()=>{ie(e,j.ON_BROWSER_EXTENSION_DETECTED_ID).fire()}}}),m=xc({pipeline:A,initPipeline:o,readEmail:i,readDocument:r,readRouteEmailId:()=>s.emailId,readSandboxGeneration:()=>ue(n)});let c="",a="",p="";const h=P=>P.length>0;let _="none";const T=()=>{const P=fe(e)?.spare();P&&(n.send({operation:N.SANDBOX_LOCK_EDIT,data:!0}),f=!1,u=!0,nc(e,P.element))},D=(P,V)=>{const q=fe(e);if(!q)return!0;const ne=q.spare(),Ee=ne&&f?"spare":"prepare";if(_=Ee,q.busy(!0),ne&&f)return T(),!0;I.cancel(),n.send({operation:N.SANDBOX_LOCK_EDIT,data:!0});const ye=E();if(ye===void 0)return _="reload",q.busy(!1),q.peek("email")?.reload(),!0;v=!0;const Ct=b;return ye.catch(()=>{!v||Ct!==b||(v=!1,_="reload",q.busy(!1),q.peek("email")?.reload())}),!1},R=()=>{be(),A.noteSandboxGeneration(ue(n));const P=i(),V=Mc(P?.renderGuid,P?.showId,P?.id,s.emailId),q=Lc(P?.renderGuid);if(q!==a){const ye=h(a),Ct=a;a=q,ye&&D(Ct,q)}if(v)return;V!==c&&(c=V,m.showRequestIdentityChanged());const ne=r(),Ee=`${V}|${ne?.get().docId??""}|${ue(n)}`;Ee!==p&&ne?.isReady()===!0&&(p=Ee,m.selfInitChanged()),m.saasChanged(),B()};let O=!1,C="",x="";const B=()=>{const P=i();if(!P?.renderGuid)return;const V=A.channel.readContent(),q=JSON.stringify([P.preheader,P.common_styles,P.meta,P.subject,P.utm_parameters?.utm_campaign??"",P.utm_parameters?.utm_content??"",P.utm_parameters?.utm_medium??"",P.utm_parameters?.utm_source??"",P.utm_parameters?.utm_term??""]),ne=O&&V!==x,Ee=O&&q!==C;if(O=!0,x=V,C=q,A.isEventsLocked())return;const ye={...P,id:s.isTemplate||P.isNew?void 0:P.id,html:V};if(ne){ie(e,j.ON_CONTENT_CHANGED_ID).fire(V),ie(e,j.ON_EMAIL_CHANGED_ID).fire(ye);return}Ee&&P.is_inited&&ie(e,j.ON_EMAIL_CHANGED_ID).fire(ye)};let U=!1;const W=()=>{U||(U=!0,queueMicrotask(()=>{U=!1,R()}))};e.inject(Nn,{pipeline:A,setRoute:P=>{P.emailId===s.emailId&&!!P.isTemplate==!!s.isTemplate||(s=P,W())}});let de,M;const G=()=>{const P=r()?.get().docId;P!==M&&(de?.(),M=P,de=r()?.subscribe(W)),W()};let H,Y;const be=()=>{const P=e.getInstance(De);!P||P===H||(Y?.(),H=P,Y=P.onShowRequested(V=>m.showRequested(V)))},Ze=n.addListener(P=>{P.data?.operation===N.SANDBOX_RESIZED&&I.notify()}),Xo=t.subscribe(G),Jo=to(n,W);G(),e.getInstance(F)?.addDispose(()=>{l?.dispose(),Y?.(),Jo(),Xo(),de?.(),Ze.dispose(),I.cancel(),A.stop()})}function Nc(){return Ms!=="emailmaker"}var Er={config:{mode:"freeUserBlocks",autosaveTimeout:5e3,autosaveRetryMaxAttempts:5,autosaveRetryIntervalMs:3e4,theme:"",themes:{},mergeTagsShow:!0,styles:"",revisionService:!1,headerShow:!0,headerTitleVisible:!0,headerPreheaderVisible:!0,headerArrowBackVisible:!0,historyEnabled:!0,codeEnabled:!0,codeSideEnabled:!0,previewIconEnabled:!0,previewModeEnabled:!0,livePreviewEnabled:!0,sendTestEnabled:!0,sharePreviewEnabled:!0,webversionEnabled:!0,commonStylesEnabled:!0,emailResponsiveControlEnabled:!0,templateNotEmAlertShow:!1,beeFreeConverterEnabled:!1,stripoConverterEnabled:!0,aiLayoutConverterEnabled:!1,emailDropdownMenuEnabled:!0,emailDropdownMenuClone:!0,emailDropdownMenuImport:!0,emailDropdownMenuConvert:!0,emailDropdownMenuLock:!0,emailDropdownMenuRemove:!0,emailExportEnabled:!0,exportHtmlEnabled:!0,exportZipEnabled:!0,exportTextEnabled:!0,exportMarkdownEnabled:!0,exportClipboardEnabled:!0,exportWebHookEnabled:!0,exportOutlookEnabled:!0,exportPdfEnabled:!0,exportPngEnabled:!0,nextButtonEnabled:!1,nextButtonText:"",saveButtonEnabled:!0,saveButtonText:"",commandButtonsEnabled:!0,emailIdShow:!1,sidePanelFloating:!0,desktopMobileSwitchRule:!0,desktopMobileSwitchPanel:!1,onlyCodeModeInMobile:!1,pathEnabled:!0,copyPasteEnabled:!0,saveBlockEnabled:!0,globalBlockCheckboxEnabled:!0,editImageControlEnabled:!0,lockEditor:!1,lockPreheaderAndTitle:!1,disableSideMenu:!1,menuDirection:"right",defaultBuildPanel:"",commentsEnabled:!0,aiAssistentEnabled:!0,optimizeEnabled:!0,optimizeLinksEnabled:!0,optimizeImagesEnabled:!0,optimizeSpamAssassinEnabled:!0,optimizeCheckCodeEnabled:!0,settingsEnabled:!0,settingsTabEnabled:!0,UTMEnabled:!0,annotationsEnabled:!1,subjectEnabled:!0,preheaderEnabled:!0,descriptionEnabled:!0,tagsEnabled:!0,isTemplateEnabled:!0,switchDesktopMobilePropsEnabled:!0,stepToOtherElementEnabled:!0,deleteButtonEnabled:!0,toggleSidePanel:!0,blocksSectionsShow:!0,blocksEmptyEnabled:!0,blocksSavedEnabled:!0,blocksCommonEnabled:!0,blocksTemplateEnabled:!0,blocksSearchEnabled:!0,blocksAddPanelEnabled:!0,imagePathDropdownEnabled:!0,formFieldImageTitleEnabled:!0,formFieldBorderEnabled:!0,formFieldBorderRadiusEnabled:!0,formFieldBoxShadowEnabled:!0,formFieldVisibilityEnabled:!0,formFieldExportAsPictureEnabled:!0,emailPaneDesktopSize:0,formButtonFieldInsertImageEnabled:!0,formButtonFieldVerticalAlignEnabled:!0,formButtonFieldTextAlignEnabled:!0,formButtonFieldBackgroundImageEnabled:!0,formButtonFieldPaddingsEnabled:!0,formCellFieldVerticalAlignEnabled:!0,formCellFieldBackgroundImageEnabled:!0,formCellFieldPaddingsEnabled:!0,formCellFieldSizeEnabled:!0,formButtonFieldReplacerEnabled:!0,formLinkFieldInsertImageEnabled:!0,formTableFieldBackgroundImageEnabled:!0,formDivFieldBackgroundImageEnabled:!0,formImageFieldVerticalAlignEnabled:!0,formImageFieldReplacerEnabled:!0,formImageFieldHeightEnabled:!0,formTextFieldTypografEnabled:!0,formTextFieldReplacerEnabled:!0,formEmailFieldBackgroundImageEnabled:!0,elementImageEnabled:!0,elementTextEnabled:!0,elementHeaderEnabled:!0,elementButtonEnabled:!0,elementListULEnabled:!0,elementListOLEnabled:!0,elementDividerEnabled:!0,elementSpacerEnabled:!0,elementSocialEnabled:!0,elementTableEnabled:!1,elementCountdownEnabled:!0,elementVideoEnabled:!0,elementAIimageEnabled:!0,elementAItextEnabled:!0,elementCarouselEnabled:!0,elementAccordionEnabled:!0,elementFormEnabled:!1,preventSendDataToEM:!1,imageInfoToolUrl:"",resourceProxy:void 0,resourceProxyPolicy:void 0,imageCenterFileManagerView:!1,imageCenterLocalUploadEnabled:!0,imageCenterStockEnabled:!0,imageCenterGifEnabled:!0,imageCenterIconStockEnabled:!0,imageCenterEditorEnabled:!0,compressMaxSize:1,compressMaxWidthOrHeight:2e3,ampExportEnabled:!0,formFieldAmpVisibilityEnabled:!0,testEmails:[],pushToGTM:!0,activeNextButton:!0,iconStrokeWidth:1.4},project:void 0},mo={config:{mode:"pro",autosaveTimeout:5e3,autosaveRetryMaxAttempts:5,autosaveRetryIntervalMs:3e4,theme:"",themes:{},mergeTagsShow:!0,styles:"",revisionService:!1,headerShow:!0,headerTitleVisible:!0,headerPreheaderVisible:!0,headerArrowBackVisible:!0,historyEnabled:!0,codeEnabled:!0,codeSideEnabled:!0,previewIconEnabled:!0,previewModeEnabled:!0,livePreviewEnabled:!0,sendTestEnabled:!0,sharePreviewEnabled:!0,webversionEnabled:!0,commonStylesEnabled:!0,emailResponsiveControlEnabled:!0,templateNotEmAlertShow:!1,beeFreeConverterEnabled:!0,stripoConverterEnabled:!0,aiLayoutConverterEnabled:!1,emailDropdownMenuEnabled:!0,emailDropdownMenuClone:!0,emailDropdownMenuImport:!0,emailDropdownMenuImportButton:!1,emailDropdownMenuConvert:!0,emailDropdownMenuLock:!0,emailDropdownMenuRemove:!0,emailExportEnabled:!0,exportHtmlEnabled:!0,exportZipEnabled:!0,exportTextEnabled:!0,exportMarkdownEnabled:!0,exportClipboardEnabled:!0,exportWebHookEnabled:!0,exportOutlookEnabled:!0,exportPdfEnabled:!0,exportPngEnabled:!0,nextButtonEnabled:!1,nextButtonText:"",saveButtonEnabled:!0,saveButtonText:"",commandButtonsEnabled:!0,emailIdShow:!1,sidePanelFloating:!0,desktopMobileSwitchRule:!0,desktopMobileSwitchPanel:!1,onlyCodeModeInMobile:!1,pathEnabled:!0,copyPasteEnabled:!0,saveBlockEnabled:!0,globalBlockCheckboxEnabled:!0,editImageControlEnabled:!0,lockEditor:!1,lockPreheaderAndTitle:!1,disableSideMenu:!1,menuDirection:"right",defaultBuildPanel:"",commentsEnabled:!0,aiAssistentEnabled:!0,optimizeEnabled:!0,optimizeLinksEnabled:!0,optimizeImagesEnabled:!0,optimizeSpamAssassinEnabled:!0,optimizeCheckCodeEnabled:!0,settingsEnabled:!0,settingsTabEnabled:!0,UTMEnabled:!0,annotationsEnabled:!0,subjectEnabled:!0,preheaderEnabled:!0,descriptionEnabled:!0,tagsEnabled:!0,isTemplateEnabled:!0,switchDesktopMobilePropsEnabled:!0,stepToOtherElementEnabled:!0,deleteButtonEnabled:!0,toggleSidePanel:!0,blocksSectionsShow:!0,blocksEmptyEnabled:!0,blocksSavedEnabled:!0,blocksCommonEnabled:!0,blocksTemplateEnabled:!0,blocksSearchEnabled:!0,blocksAddPanelEnabled:!0,imagePathDropdownEnabled:!0,formFieldImageTitleEnabled:!0,formFieldBorderEnabled:!0,formFieldBorderRadiusEnabled:!0,formFieldBoxShadowEnabled:!0,formFieldVisibilityEnabled:!0,formFieldExportAsPictureEnabled:!0,emailPaneDesktopSize:0,formButtonFieldInsertImageEnabled:!0,formButtonFieldVerticalAlignEnabled:!0,formButtonFieldTextAlignEnabled:!0,formButtonFieldBackgroundImageEnabled:!0,formButtonFieldPaddingsEnabled:!0,formButtonFieldReplacerEnabled:!0,formCellFieldVerticalAlignEnabled:!0,formCellFieldBackgroundImageEnabled:!0,formCellFieldPaddingsEnabled:!0,formCellFieldSizeEnabled:!0,formLinkFieldInsertImageEnabled:!0,formTableFieldBackgroundImageEnabled:!0,formDivFieldBackgroundImageEnabled:!0,formImageFieldVerticalAlignEnabled:!0,formImageFieldReplacerEnabled:!0,formImageFieldHeightEnabled:!0,formTextFieldTypografEnabled:!0,formTextFieldReplacerEnabled:!0,formEmailFieldBackgroundImageEnabled:!0,elementImageEnabled:!0,elementTextEnabled:!0,elementHeaderEnabled:!0,elementButtonEnabled:!0,elementListULEnabled:!0,elementListOLEnabled:!0,elementDividerEnabled:!0,elementSpacerEnabled:!0,elementSocialEnabled:!0,elementTableEnabled:!0,elementCountdownEnabled:!0,elementVideoEnabled:!0,elementAIimageEnabled:!0,elementAItextEnabled:!0,elementCarouselEnabled:!0,elementAccordionEnabled:!0,elementFormEnabled:!1,preventSendDataToEM:!1,imageInfoToolUrl:"",resourceProxy:void 0,resourceProxyPolicy:void 0,imageCenterFileManagerView:!0,imageCenterLocalUploadEnabled:!0,imageCenterStockEnabled:!0,imageCenterGifEnabled:!0,imageCenterIconStockEnabled:!0,imageCenterEditorEnabled:!0,compressMaxSize:1,compressMaxWidthOrHeight:2e3,ampExportEnabled:!0,formFieldAmpVisibilityEnabled:!0,testEmails:[],pushToGTM:!0,activeNextButton:!0,iconStrokeWidth:1.4,fileManager:{defaultFolderName:"",enableMoveFolder:!0,enableEdit:!0,enableTrash:!0,enableCopyFile:!0}},project:void 0,page:{isNew:!0,type:"email",project:0,id:"",showToken:0}},yr=mo,Fc=["pro"],ho={};function jc(e){ho=e}var go=e=>Fc.includes(e)?yr:ho[e]??yr,un={config:{mode:"simple",autosaveTimeout:5e3,autosaveRetryMaxAttempts:5,autosaveRetryIntervalMs:3e4,theme:"",themes:{},mergeTagsShow:!1,styles:"",headerShow:!0,headerTitleVisible:!0,headerPreheaderVisible:!0,headerArrowBackVisible:!0,historyEnabled:!0,codeEnabled:!0,codeSideEnabled:!0,previewIconEnabled:!0,previewModeEnabled:!0,livePreviewEnabled:!0,sendTestEnabled:!0,sharePreviewEnabled:!0,webversionEnabled:!1,commonStylesEnabled:!1,emailResponsiveControlEnabled:!1,templateNotEmAlertShow:!1,beeFreeConverterEnabled:!1,stripoConverterEnabled:!0,aiLayoutConverterEnabled:!1,emailDropdownMenuEnabled:!0,emailDropdownMenuClone:!0,emailDropdownMenuImport:!0,emailDropdownMenuImportButton:!1,emailDropdownMenuConvert:!0,emailDropdownMenuLock:!0,emailDropdownMenuRemove:!0,emailExportEnabled:!0,exportHtmlEnabled:!0,exportZipEnabled:!0,exportTextEnabled:!0,exportMarkdownEnabled:!0,exportClipboardEnabled:!0,exportWebHookEnabled:!0,exportOutlookEnabled:!1,exportPdfEnabled:!0,exportPngEnabled:!0,nextButtonEnabled:!1,nextButtonText:"",saveButtonEnabled:!0,saveButtonText:"",commandButtonsEnabled:!0,emailIdShow:!1,sidePanelFloating:!0,desktopMobileSwitchRule:!0,desktopMobileSwitchPanel:!1,onlyCodeModeInMobile:!1,pathEnabled:!0,copyPasteEnabled:!0,saveBlockEnabled:!0,globalBlockCheckboxEnabled:!0,editImageControlEnabled:!0,lockEditor:!1,lockPreheaderAndTitle:!1,disableSideMenu:!1,menuDirection:"right",defaultBuildPanel:"",commentsEnabled:!0,aiAssistentEnabled:!0,optimizeEnabled:!0,optimizeLinksEnabled:!0,optimizeImagesEnabled:!0,optimizeSpamAssassinEnabled:!0,optimizeCheckCodeEnabled:!0,settingsEnabled:!0,settingsTabEnabled:!0,UTMEnabled:!1,annotationsEnabled:!1,subjectEnabled:!0,preheaderEnabled:!0,descriptionEnabled:!0,tagsEnabled:!0,isTemplateEnabled:!0,switchDesktopMobilePropsEnabled:!0,stepToOtherElementEnabled:!0,deleteButtonEnabled:!0,toggleSidePanel:!0,blocksSectionsShow:!0,blocksEmptyEnabled:!0,blocksSavedEnabled:!0,blocksCommonEnabled:!0,blocksTemplateEnabled:!0,blocksSearchEnabled:!0,blocksAddPanelEnabled:!0,imagePathDropdownEnabled:!0,formFieldImageTitleEnabled:!0,formFieldBorderEnabled:!1,formFieldBorderRadiusEnabled:!1,formFieldBoxShadowEnabled:!1,formFieldVisibilityEnabled:!1,formFieldExportAsPictureEnabled:!1,emailPaneDesktopSize:0,formButtonFieldInsertImageEnabled:!0,formButtonFieldVerticalAlignEnabled:!0,formButtonFieldTextAlignEnabled:!0,formButtonFieldBackgroundImageEnabled:!0,formButtonFieldPaddingsEnabled:!0,formButtonFieldReplacerEnabled:!1,formCellFieldVerticalAlignEnabled:!0,formCellFieldBackgroundImageEnabled:!0,formCellFieldPaddingsEnabled:!0,formCellFieldSizeEnabled:!1,formLinkFieldInsertImageEnabled:!0,formTableFieldBackgroundImageEnabled:!0,formDivFieldBackgroundImageEnabled:!0,formImageFieldVerticalAlignEnabled:!1,formImageFieldReplacerEnabled:!1,formImageFieldHeightEnabled:!1,formTextFieldTypografEnabled:!1,formTextFieldReplacerEnabled:!1,formEmailFieldBackgroundImageEnabled:!0,elementImageEnabled:!0,elementTextEnabled:!0,elementHeaderEnabled:!0,elementButtonEnabled:!0,elementListULEnabled:!0,elementListOLEnabled:!0,elementDividerEnabled:!0,elementSpacerEnabled:!0,elementSocialEnabled:!0,elementTableEnabled:!1,elementCountdownEnabled:!1,elementVideoEnabled:!1,elementAIimageEnabled:!0,elementAItextEnabled:!1,elementCarouselEnabled:!1,elementAccordionEnabled:!1,elementFormEnabled:!1,preventSendDataToEM:!1,imageInfoToolUrl:"",resourceProxy:void 0,resourceProxyPolicy:void 0,imageCenterFileManagerView:!0,imageCenterLocalUploadEnabled:!0,imageCenterStockEnabled:!0,imageCenterGifEnabled:!0,imageCenterIconStockEnabled:!0,imageCenterEditorEnabled:!0,compressMaxSize:1,compressMaxWidthOrHeight:2e3,ampExportEnabled:!1,formFieldAmpVisibilityEnabled:!1,testEmails:[],pushToGTM:!0,activeNextButton:!0,iconStrokeWidth:1.4,fileManager:{defaultFolderName:"",enableMoveFolder:!0,enableEdit:!0,enableTrash:!0}},project:void 0},Bc={config:{mode:"editor",autosaveTimeout:5e3,autosaveRetryMaxAttempts:5,autosaveRetryIntervalMs:3e4,theme:"",themes:{},mergeTagsShow:!1,styles:"",headerShow:!0,headerTitleVisible:!0,headerPreheaderVisible:!0,headerArrowBackVisible:!0,historyEnabled:!0,codeEnabled:!1,codeSideEnabled:!0,previewIconEnabled:!0,previewModeEnabled:!0,livePreviewEnabled:!0,sendTestEnabled:!0,sharePreviewEnabled:!1,webversionEnabled:!1,commonStylesEnabled:!1,emailResponsiveControlEnabled:!1,templateNotEmAlertShow:!1,beeFreeConverterEnabled:!0,stripoConverterEnabled:!0,aiLayoutConverterEnabled:!1,emailDropdownMenuEnabled:!1,emailDropdownMenuClone:!0,emailDropdownMenuImport:!1,emailDropdownMenuImportButton:!1,emailDropdownMenuConvert:!0,emailDropdownMenuLock:!0,emailDropdownMenuRemove:!0,emailExportEnabled:!0,exportHtmlEnabled:!0,exportTextEnabled:!1,exportMarkdownEnabled:!1,exportZipEnabled:!0,exportClipboardEnabled:!1,exportWebHookEnabled:!1,exportOutlookEnabled:!0,exportPdfEnabled:!0,exportPngEnabled:!0,nextButtonEnabled:!1,nextButtonText:"",saveButtonEnabled:!0,saveButtonText:"",commandButtonsEnabled:!0,emailIdShow:!1,sidePanelFloating:!0,desktopMobileSwitchRule:!0,desktopMobileSwitchPanel:!1,onlyCodeModeInMobile:!1,pathEnabled:!0,copyPasteEnabled:!1,saveBlockEnabled:!0,globalBlockCheckboxEnabled:!0,editImageControlEnabled:!0,lockEditor:!1,lockPreheaderAndTitle:!1,disableSideMenu:!1,menuDirection:"right",defaultBuildPanel:"",commentsEnabled:!1,aiAssistentEnabled:!1,optimizeEnabled:!1,optimizeLinksEnabled:!0,optimizeImagesEnabled:!0,optimizeSpamAssassinEnabled:!0,optimizeCheckCodeEnabled:!0,settingsEnabled:!0,settingsTabEnabled:!0,UTMEnabled:!1,annotationsEnabled:!1,subjectEnabled:!0,preheaderEnabled:!0,descriptionEnabled:!1,tagsEnabled:!0,isTemplateEnabled:!1,switchDesktopMobilePropsEnabled:!0,stepToOtherElementEnabled:!1,deleteButtonEnabled:!0,toggleSidePanel:!1,blocksSectionsShow:!0,blocksEmptyEnabled:!0,blocksSavedEnabled:!0,blocksCommonEnabled:!0,blocksTemplateEnabled:!0,blocksSearchEnabled:!0,blocksAddPanelEnabled:!0,imagePathDropdownEnabled:!1,formFieldImageTitleEnabled:!1,formFieldBorderEnabled:!1,formFieldBorderRadiusEnabled:!1,formFieldBoxShadowEnabled:!1,formFieldVisibilityEnabled:!1,formFieldExportAsPictureEnabled:!1,emailPaneDesktopSize:0,formButtonFieldInsertImageEnabled:!1,formButtonFieldVerticalAlignEnabled:!0,formButtonFieldTextAlignEnabled:!1,formButtonFieldBackgroundImageEnabled:!0,formButtonFieldPaddingsEnabled:!1,formButtonFieldReplacerEnabled:!1,formCellFieldVerticalAlignEnabled:!1,formCellFieldBackgroundImageEnabled:!0,formCellFieldPaddingsEnabled:!0,formCellFieldSizeEnabled:!1,formLinkFieldInsertImageEnabled:!0,formTableFieldBackgroundImageEnabled:!0,formDivFieldBackgroundImageEnabled:!0,formImageFieldVerticalAlignEnabled:!1,formImageFieldReplacerEnabled:!1,formImageFieldHeightEnabled:!1,formTextFieldTypografEnabled:!1,formTextFieldReplacerEnabled:!1,formEmailFieldBackgroundImageEnabled:!0,elementImageEnabled:!0,elementTextEnabled:!0,elementHeaderEnabled:!0,elementButtonEnabled:!0,elementListULEnabled:!0,elementListOLEnabled:!0,elementDividerEnabled:!0,elementSpacerEnabled:!0,elementSocialEnabled:!0,elementTableEnabled:!0,elementCountdownEnabled:!0,elementVideoEnabled:!1,elementAIimageEnabled:!0,elementAItextEnabled:!1,elementCarouselEnabled:!1,elementAccordionEnabled:!1,elementFormEnabled:!1,preventSendDataToEM:!1,imageInfoToolUrl:"",resourceProxy:void 0,resourceProxyPolicy:void 0,imageCenterFileManagerView:!0,imageCenterLocalUploadEnabled:!0,imageCenterStockEnabled:!0,imageCenterGifEnabled:!0,imageCenterIconStockEnabled:!0,imageCenterEditorEnabled:!0,compressMaxSize:1,compressMaxWidthOrHeight:2e3,ampExportEnabled:!1,formFieldAmpVisibilityEnabled:!1,testEmails:[],pushToGTM:!0,activeNextButton:!0,iconStrokeWidth:1.4},project:void 0},Uc={...un,config:{...un.config,imageCenterFileManagerView:!1}};jc({pro:mo,editor:Bc,simple:Nc()?un:Uc,freeUserBlocks:Er,blocks:Er});var _r=new Set;function Hc(){return window.localStorage.getItem(yt.em_color_scheme)??void 0}function Gc(e){return _r.add(e),e(Hc()),{dispose(){_r.delete(e)}}}function Fn(e,t){return e.user.mode||e.serverSide.mode||t||"pro"}function qc(e,t){return t.modeDefaults(Fn(e,t.fallbackMode))}function $c(e,t){const n=Fn(e,t);return e.serverSide.advancedConfigs?.[n]||{}}function zc(e,t){const n=Fn(e,t),r=e.user?.advancedConfigs?.[n],i=r!==void 0?r:e.user?.advancedConfigs?.pro;return{...e.advancedConfigs?.[n],...i}}function Vc(e){let t;for(const n of e)n?.fileManager&&(t={...t,...n.fileManager});return t}function Kc(e){return os(e.map(t=>t?.resourceProxy))}function Wc(e){return rs(e.map(t=>t?.resourceProxyPolicy))}function Yc(e){return gs(e.map(t=>t?.backendProxy))}function Xc(e){return li(e.map(t=>t?.backendProxyPolicy||{}).filter(Boolean))}function Jc(e,t){return[e.base,qc(e,t),e.profile,e.serverSide,$c(e,t.fallbackMode),e.user,zc(e,t.fallbackMode),e.local]}function Mt(e,t){const n=Jc(e,t),r=li(n),i=Vc(n);i!==void 0&&(r.fileManager=i);const o=Kc(n);o!==void 0&&(r.resourceProxy=o);const s=Wc(n);s&&Object.keys(s).length>0&&(r.resourceProxyPolicy=s);const d=Yc(n);d!==void 0&&(r.backendProxy=d);const l=Xc(n);return l&&Object.keys(l).length>0&&(r.backendProxyPolicy=l),r}var Qc=["backendProxy","backendProxyPolicy","resourceProxy","resourceProxyPolicy"];function wr(e){return e==="server"?"serverSide":e}function Zc({env:e,base:t={},budgetMs:n}){const r={base:t,profile:{},serverSide:{},user:{},local:{},advancedConfigs:{}},i=ke();let o={kind:"pending"},s;const d=new Promise(b=>{s=b}),l=n===void 0?void 0:setTimeout(()=>{u({kind:"absent",reason:`серверный слой не пришёл за ${n} мс`})},n);function f(){o.kind!=="pending"&&i.set(Mt(r,e))}function u(b){if(o.kind!=="pending")return;clearTimeout(l),o=b;const E=Mt(r,e);i.set(E),s(E)}function v(b,E){r[wr(b)]=E,b==="server"&&o.kind==="pending"?u({kind:"applied"}):f()}return{watch:b=>i.watch(b),select:b=>i.select(b),get:()=>i.get(),ready:()=>d,state:()=>o,layers:()=>({...r}),bootstrap(){const b=Mt(r,e);return Object.fromEntries(Qc.map(E=>[E,b[E]]))},merge(b,E){v(E,{...r[wr(E)],...b})},replace(b,E){v(E,b)},setMode(b){r.user={...r.user,mode:b},f()},setAdvancedConfigs(b){r.advancedConfigs=b,f()},serverAbsent(b){u({kind:"absent",reason:b})},applyServerResponse(b){o.kind==="pending"&&v("server",{...r.serverSide,...b})},dispose(){clearTimeout(l)}}}var eu=5e3;function tu(){return{...go("pro")?.config,mergeTags:void 0}}function nu(e,t){e.getInstance(oe)?.watch(n=>{t.setAdvancedConfigs({...n.advancedConfigs,...n.config?.advancedConfigs}),t.replace(n.config??{},"user")})}function ru(e,t){let n;Vi(e).watch(({profile:r})=>{const i=`${r?.theme??""}|${r?.locale??""}`;if(i===n)return;n=i;const o={};r?.theme&&(o.theme=r.theme),r?.locale&&(o.locale=r.locale),t.replace(o,"profile")})}function iu(e,t){let n=null;const r=Gc(i=>{const o=typeof i=="string"&&i?i:void 0;o!==n&&(n=o,t.replace(o?{theme:o}:{},"local"))});e.getInstance(F)?.addDisposable(r)}async function ou(e,t){if(e.getInstance(Rn)===void 0){t.serverAbsent("app_init не зарегистрирован");return}try{const n=await e.getInstanceAsync(Pe);t.applyServerResponse(n?.app_config??{})}catch(n){t.serverAbsent(`app_init не выполнился: ${String(n)}`)}}function su(e){e.injectFactory(we,(t,n)=>{if(n)return n;const r=Zc({base:tu(),env:{modeDefaults:i=>go(i)?.config||{},fallbackMode:localStorage.getItem("configSwither")||void 0},budgetMs:eu});return nu(e,r),ru(e,r),iu(e,r),ou(e,r),e.getInstance(F)?.addDisposable(r),r},!0)}var Re=class extends Z{_event;_listener;_disposeEvent;constructor(e){super(),this._event=e}setListener(e){this._listener!==e&&(this._listener=e,this._disposeEvent&&this._disposeEvent(),e?this._disposeEvent=this._event(e):this._disposeEvent=void 0)}dispose(){this._disposeEvent&&this._disposeEvent(),super.dispose()}};function k(e,t,n){const r=ns(e);return(i,o,s)=>{const d=r(async l=>{const f=t?t(l):l;s&&i.bind(s);const u=await i(f);return n?n(u):u},o,s);return()=>d.dispose()}}var au=class{deps;handleDestroy;constructor(e){this.deps=e;const t=new en;this.handleDestroy=k(t.event),e.lifetime.addDispose(()=>t.fire(e.getInstance()));const n=e.lifetime.addDisposable(new Re(this.handleDestroy));e.lifetime.addDisposable(t),e.lifetime.addDisposable(e.options.watch(({handleDestroy:r})=>n.setListener(r))),e.lifetime.addDispose(()=>e.release())}destroy(){if(!this.deps.lifetime.isDisposed())try{this.deps.lifetime.dispose()}catch{}}},jn=L("DestroyableService");function lu(e){e.injectFactory(jn,()=>{const t=e.getInstance(F);if(!t)throw new Error("[plugin] время жизни экземпляра не зарегистрировано");return new au({lifetime:t,options:e.getInstance(oe),getInstance:()=>e.getInstance(_t),release:()=>Os(e.getInstance(As)??e)})},!0)}function du(e){const t=e.getInstance(jn);if(!t)throw new Error("[plugin] provideDestroyable не выполнен до сборки поверхности");return{handleDestroy:t.handleDestroy,destroy:()=>t.destroy()}}var cu=1e3;function vo(e,t,n=cu,r=0){if(r>n||e===t)return!0;if(typeof e!=typeof t||e===null||t===null)return!1;if(typeof e=="object"&&typeof t=="object"){if(Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;const i=Object.keys(e),o=Object.keys(t);if(i.length!==o.length)return!1;for(const s of i)if(!vo(e[s],t[s],n,r+1))return!1;return!0}return!1}function Ge(e,t){if(!e||typeof e!="object")return t;if(!t||typeof t!="object")return{};const n={};for(const r of Object.keys(t)){const i=t[r],o=e[r];vo(i,o)||(n[r]=i)}return n}var uu=class extends Error{timeoutMs;constructor(e){super(`[emailmaker] handleSaveEmail не ответил за ${e}ms — письмо не сохранено`),this.timeoutMs=e,this.name="IntegratorSaveTimeoutError"}},fu=({source:e,emailtags:t,group:n,tags:r,...i})=>i,pu=()=>Ti();async function mu({emails:e},t){const n=pu();let r;try{return await Promise.race([e.notifySave(t),new Promise((i,o)=>{r=setTimeout(()=>{const s=new uu(n);t.value.id,o(s)},n)})])}finally{r!==void 0&&clearTimeout(r)}}function hu(e){const{emails:t}=e,n=async(r,i)=>{const o=fu(i),s=r===void 0?void 0:await t.cache.getIfPresent(r),d=s?{...s,...o}:o,l=await mu(e,{prev:s,patch:s?Ge(s,o):o,value:d,source:i.source??""}),f=String(l.id??r??le()),u=l.id===void 0?{...l,id:f}:l;return await t.cache.addOrUpdate(f,()=>u)};return{async readEmail(r){return await t.get(r)??null},async createEmail(r){const i=await n(void 0,r);return i?.renderGuid?i:{...i,renderGuid:le()}},async updateEmail(r,i){return await n(r,i)}}}var kt=20,gu=({source:e,emailtags:t,group:n,tags:r,...i})=>i;function vu({revisions:e,revisionsByEmail:t}){const n=async(r,i)=>(t.clear(),await t.get(r,{page:i}),(await e.cache.values()??[]).filter(o=>String(o?.parent)===String(r)));return{async readRevisions(r,i=1){const o=await n(r,i);return{revisions:o.slice(kt*(i-1),kt*i),page:i,hasMore:o.length>kt*i}},async readAutosave(r){return $a(await n(r,1))},async saveAutosave(r,i){const o=gu(i);return await e.create({...o,parent:r,modified:new Date().toString()})}}}var bu=class extends Bs{async execute([e],t){for(const n of t){const r=await n(e);r&&(r.id===void 0&&(r.id=e.value.id),e.value=r)}return e.value}},Eu=class extends pe{};var Sr=class extends Z{_items=new Map;_onChangeEmitter=new _s;async _getOrCreate(e,t){const n=this._items;let r;if(n.has(e))try{r=await n.get(e)}catch{t&&(r=await t())}else t&&(r=await t(),r&&this._onChangeEmitter.fire());return r}async _addOrUpdate(e,t){let n;const r=this._items;if(r.has(e))try{n=await r.get(e)}catch{}const i=await t(n);return ht(n,i)||this._onChangeEmitter.fire(),i}entries(){return Promise.all([...this._items.entries()].map(([e,t])=>t.then(n=>[e,n]))).then(e=>e.filter(([t,n])=>!!n))}values(){return Promise.all([...this._items.values()].map(e=>e).filter(e=>!!e))}getOrCreate(e,t){const n=this._getOrCreate(e,()=>t(e));return this._items.set(e,n),n}addOrUpdate(e,t){const n=this._addOrUpdate(e,t);return this._items.set(e,n),n}async getIfPresent(e){if(this._items.has(e))try{return await this._items.get(e)}catch{return}}add(e,t){const n=Promise.resolve(t);return this._items.set(e,n),n}remove(e){if(this._items.has(e)){const t=this._items.get(e);return this._items.delete(e),this._onChangeEmitter.fire(),t}return Promise.resolve(void 0)}async setAll(e){try{this.suspendChange();const t=[],n=new Set(Array.from(e).map(([i,o])=>i)),r=(await this.entries()).filter(([i,o])=>!n.has(i));for(const[i,o]of e)t.push(this.addOrUpdate(i,()=>o)),n.add(i);for(const[i]of r)t.push(this.remove(i));return await Promise.all(t),r}finally{this.resumeChange()}}clear(){this._items.clear(),this._onChangeEmitter.fire()}suspendChange(){this._onChangeEmitter.suspend()}resumeChange(){this._onChangeEmitter.resume()}onChange=this._onChangeEmitter.event};function yu(e,{filter:t,order:n="asc",orderBy:r,page:i,pageSize:o=20}={}){const s=e.length;let d=e.length;if(t!==void 0){const l=Object.keys(t);e=e.filter(f=>{for(const u of l){const v=f[u],b=t[u];return u==="id"||typeof v!="string"?v===b:typeof b=="string"&&v.startsWith(b)}return!0}),d=e.length}return r&&(e=e.sort((l,f)=>(l[r]>f[r]?1:f[r]>l[r]?-1:0)*(n==="asc"?1:-1))),i!==void 0&&(e=e.slice(o*(i-1),o*i)),{data:e,filteredTotal:d,total:s,totalPages:Math.ceil(d/o)}}function _u(e=[]){if(e=e.filter(n=>n),e.length<=1)return e[0];const t=new Map;for(const n of e)for(const r of n)if(r.id!==void 0){const i=t.get(r.id)||{};t.set(r.id,{...i,...r})}return[...t].map(([n,r])=>r)}function wu(e,t){return Ir(e)&&Ir(t)?String(e)===String(t):e===t}function Ir(e){return typeof e=="string"||typeof e=="number"}var Su=class extends Z{_cache=new Sr;_readEmitter=new pe;_saveEmitter=this.addDisposable(new bu);_removeEmitter=this.addDisposable(new Eu);_foreignCache=Object.create(null);async get(e){return this._cache.getOrCreate(e,async t=>Object.assign({id:e},...(await this._readEmitter.fire(e)).filter(n=>!!n)))}get cache(){return this._cache}byForeignKey(e){let t=this._foreignCache[e];if(!t){const n=this.addDisposable(new Z);n.addDispose(()=>delete this._foreignCache[e]);const r=n.addDisposable(new Sr),i=n.addDisposable(new pe);t=this._foreignCache[e]={get:async(o,s={})=>{await r.getOrCreate(o,async()=>{try{const l=_u(await i.fire(o))||[];for(const f of l)f[e]=o,await this._cache.add(f.id,f);return l}catch{return[]}});const d=(await this._cache.values()||[]).filter(l=>{const f=l[e];return f==null||wu(f,o)});return yu(d,s)},first(o,s={}){return t.get(o,{...s,page:1,pageSize:1}).then(({data:d})=>d[0])},handleRead:i.event,clear(){r.clear()},dispose(){n.dispose()}}}return t}async create(e,{source:t="",silent:n}={}){let r=e;return n||(r=await this._saveEmitter.fire({prev:void 0,patch:e,value:r,source:t})),r.id===void 0&&(r.id=le()),await this._cache.addOrUpdate(r.id,()=>r)}notifySave(e){return this._saveEmitter.fire(e)}async update(e,t,{source:n="",silent:r}={}){return this._cache.addOrUpdate(e,async i=>{const o=i?{...i,...t}:t;if(!r)return t=i?Ge(i,t):t,await this._saveEmitter.fire({prev:i,patch:t,value:o,source:n})})}async remove(e,{source:t="",silent:n}={}){const r=await this._cache.remove(e);return n||await this._removeEmitter.fire({value:r,source:t}),r}refresh(){this._cache.clear();for(const e of Object.values(this._foreignCache))e.clear()}suspendChange(){this._cache.suspendChange()}resumeChange(){this._cache.resumeChange()}handlerRead=this._readEmitter.event;onSave=this._saveEmitter.event;onRemove=this._removeEmitter.event;onChange=this._cache.onChange};function Je(e){const t=L(e);return n=>n.getOrCreateInstance(t,()=>new Su)}function Iu(e){const t=e.getInstance(F);if(!t)throw new Error("Failed");return t}function Tr(e){return Object.prototype.hasOwnProperty.call(e,"meta")}function Tu(e,t,n){return e&&!Tr(t)&&Tr(e)?{...n,meta:e.meta}:n}var bo=Je("plugin.dataSource.emails"),Eo=Je("plugin.dataSource.emailRevisions"),Ar=L("emailDocuments.provided");function Au(e){const t=bo(e),n=Eo(e),r=n.byForeignKey("parent");return e.getInstance(Ar)?{emails:t,emailRevisions:n}:(e.inject(Ar,!0),cl(e,hu({emails:t})),ml(e,vu({revisions:n,revisionsByEmail:r})),Iu(e).addDisposable(t.onSave(({prev:i,patch:o,value:s})=>Tu(i,o,s),Number.MIN_VALUE)),{emails:t,emailRevisions:n})}function Cr(e,t){return!e?.data||!t||e.id!==t.locale?!1:t.contentHash?e.hash===t.contentHash:t.updatedAt>0&&t.updatedAt<=e.time}function Cu(e){try{return localStorage.getItem(e)===null?!1:(localStorage.removeItem(e),!0)}catch{return!1}}var Ru="po",st=null;function Pu(){const e=typeof window.__emailmaker__<"u"?window.__emailmaker__?.require:void 0;return typeof e!="function"?Promise.reject(new Error("[loadPoParser] AMD loader is unavailable")):new Promise((t,n)=>{e([Ru],r=>t(r),r=>n(r instanceof Error?r:new Error("[loadPoParser] Failed to require po module")))})}function Du(){return st===null&&(st=Pu().catch(e=>{throw st=null,e})),st}async function yo(e){if(typeof e=="object")return Bn(e);if(typeof e!="string")return;const t=e.trim();if(t)return t.startsWith("{")||t.startsWith("[")?Ou(t):xu(t)}function Bn(e){if(!(e==null||typeof e!="object"||Array.isArray(e)))return e}function Ou(e){try{return Bn(JSON.parse(e))}catch{return}}var Rr=!1;async function xu(e){try{return Bn((await Du()).parsePoCatalog(e))}catch{Rr||(Rr=!0);return}}var Lu="em_locale",Mu="em_ant_locale",ku="locale",Nu="ant_locale";function Un(e){try{return JSON.parse(localStorage.getItem(e)||"")}catch{return null}}function _o(e,t){const n=Un(e);if(!n)return null;try{localStorage.removeItem(e),localStorage.setItem(t,JSON.stringify(n))}catch{}return n}function Fu(){return Un("em_locale")??_o(ku,"em_locale")}function Pr(e){try{localStorage.setItem(Lu,JSON.stringify(e))}catch{}}function ju(){return Un("em_ant_locale")??_o(Nu,"em_ant_locale")}function Bu(e,t){try{localStorage.setItem(Mu,JSON.stringify({id:e,data:t}))}catch{}}var Uu=8e3;function Hu(e,t){const n=e,r=t,i=Object.keys(n).filter(o=>o!=="");return i.length!==Object.keys(r).filter(o=>o!=="").length?!1:i.every(o=>JSON.stringify(n[o])===JSON.stringify(r[o]))}function Gu(e){const t=Fu(),n=ju();let r={ready:!1},i;const o=ke(r);let s=0;const d=y=>{r={...r,...y},o.set(r)},l=()=>{r.ready||d({ready:!0})},f=setTimeout(l,e.unlockAfterMs??Uu),u=y=>y!==s;let v;async function b(y,w){if(n?.id===y&&n.data&&d({antd:n.data}),!v)return;const S=await v(y).catch(()=>{});!S||u(w)||(d({antd:S}),Bu(y,S))}async function E(y,w){const S=await e.askHost(y).catch(()=>null);if(u(w))return!0;if(S==null)return!1;const A=await yo(S);return u(w)||(A&&d({catalog:A}),l()),!0}async function I(y,w){const S=await e.readList();if(u(w))return;if("error"in S){d({failure:{kind:"GET_LOCALES_ERROR",error:S.error}}),l();return}const A=S.data.find(c=>c.locale===y);if(!A){Cu("em_locale")&&d({catalog:void 0}),l();return}if(Cr(t,A)&&(!i||i.catalog===t?.data)){l();return}if(i?.entry&&r.catalog===i.catalog&&Cr(i.entry,A)){Pr(i.entry),l();return}const m=await e.readCatalog(y);if(!u(w)){if("error"in m){d({failure:{kind:"GET_LOCALE_ERROR",error:m.error}}),l();return}m.data&&(i?.id===y&&r.catalog===i.catalog&&Hu(i.catalog,m.data)||d({catalog:m.data}),Pr({id:y,time:A.updatedAt||Math.floor(Date.now()/1e3),hash:A.contentHash,data:m.data})),l()}}async function g(y,w){if(!await E(y,w)){if(!u(w)&&(i?.id===y&&r.catalog===i.catalog||y==="en_US")&&l(),e.canUseNetwork&&!e.canUseNetwork()){l();return}await I(y,w)}}return{set(y){if(!y||y===r.id)return;const w=s+=1;d({id:y,failure:void 0});const S=i?.id===y&&r.catalog===i.catalog;(i&&!S&&r.catalog===i.catalog||y==="en_US"&&r.catalog)&&d({catalog:void 0}),t?.id===y&&t.data&&(d({catalog:t.data}),l()),b(y,w),g(y,w)},prime(y,w,S){r.id||r.catalog||!w||(i=t?.id===y&&t.data&&(!S||t.time>=S.time)?{id:y,catalog:t.data}:{id:y,catalog:w,entry:S?{id:y,time:S.time,hash:S.hash,data:w}:void 0},d({catalog:i.catalog}))},useAntdLoader(y){v=y,r.id&&b(r.id,s)},state:o,snapshot:()=>r,dispose:()=>clearTimeout(f)}}var qu=class{http;constructor(e){this.http=e}jsonList=({locale:e},t={})=>this.http.request({path:`/translations/${e}.json`,method:"GET",format:"json",...t});getTranslations=({locale:e},t={})=>this.http.request({path:`/translations/${e}.po`,method:"GET",...t});localesList=(e={})=>this.http.request({path:"/translations/locales",method:"GET",format:"json",...e})},$u=class{baseUrl="/api/v2";securityData=null;securityWorker;abortControllers=new Map;customFetch=(...e)=>fetch(...e);baseApiParams={credentials:"same-origin",headers:{},redirect:"follow",referrerPolicy:"no-referrer"};constructor(e={}){Object.assign(this,e)}setSecurityData=e=>{this.securityData=e};encodeQueryParam(e,t){return`${encodeURIComponent(e)}=${encodeURIComponent(typeof t=="number"?t:`${t}`)}`}addQueryParam(e,t){return this.encodeQueryParam(t,e[t])}addArrayQueryParam(e,t){return e[t].map(n=>this.encodeQueryParam(t,n)).join("&")}toQueryString(e){const t=e||{};return Object.keys(t).filter(n=>typeof t[n]<"u").map(n=>Array.isArray(t[n])?this.addArrayQueryParam(t,n):this.addQueryParam(t,n)).join("&")}addQueryParams(e){const t=this.toQueryString(e);return t?`?${t}`:""}contentFormatters={"application/json":e=>e!==null&&(typeof e=="object"||typeof e=="string")?JSON.stringify(e):e,"application/vnd.api+json":e=>e!==null&&(typeof e=="object"||typeof e=="string")?JSON.stringify(e):e,"text/plain":e=>e!==null&&typeof e!="string"?JSON.stringify(e):e,"multipart/form-data":e=>e instanceof FormData?e:Object.keys(e||{}).reduce((t,n)=>{const r=e[n];return t.append(n,r instanceof Blob?r:typeof r=="object"&&r!==null?JSON.stringify(r):`${r}`),t},new FormData),"application/x-www-form-urlencoded":e=>this.toQueryString(e)};mergeRequestParams(e,t){return{...this.baseApiParams,...e,...t||{},headers:{...this.baseApiParams.headers||{},...e.headers||{},...t&&t.headers||{}}}}createAbortSignal=e=>{if(this.abortControllers.has(e)){const n=this.abortControllers.get(e);return n?n.signal:void 0}const t=new AbortController;return this.abortControllers.set(e,t),t.signal};abortRequest=e=>{const t=this.abortControllers.get(e);t&&(t.abort(),this.abortControllers.delete(e))};request=async({body:e,secure:t,path:n,type:r,query:i,format:o,baseUrl:s,cancelToken:d,...l})=>{const f=(typeof t=="boolean"?t:this.baseApiParams.secure)&&this.securityWorker&&await this.securityWorker(this.securityData)||{},u=this.mergeRequestParams(l,f),v=i&&this.toQueryString(i),b=this.contentFormatters[r||"application/json"],E=o||u.format;return this.customFetch(`${s||this.baseUrl||""}${n}${v?`?${v}`:""}`,{...u,headers:{...u.headers||{},...r&&r!=="multipart/form-data"?{"Content-Type":r}:{}},signal:(d?this.createAbortSignal(d):u.signal)||null,body:typeof e>"u"||e===null?null:b(e)}).then(async I=>{const g=I;g.data=null,g.error=null;const y=E?I.clone():I,w=E?await y[E]().then(S=>(g.ok?g.data=S:g.error=S,g)).catch(S=>(g.error=S,g)):g;return d&&this.abortControllers.delete(d),w})}},zu=L("rest.v2.transport"),Dr=Symbol("rest.v2.secureRequest");function Vu(e){return e.getOrCreateInstance(zu,()=>{const t=e.getInstance(ai)?.execute||fetch;return new $u({baseUrl:"https://app.emailmaker.ru/api/v2",securityWorker:()=>({[Dr]:!0}),customFetch:(n,r={})=>{const{[Dr]:i,...o}=r;return t(n,{...o,[ls]:i!==!0})}})})}function Ku(e,t){const n=Vu(e);return Object.assign({},...t.map(r=>new r(n)))}function Or(e,t){if(e!=null&&typeof e=="object"){const n=e[t];if(typeof n=="string"&&n!=="")return n}}function wo(e){const t=e.error,n=t?.error;return n&&typeof n=="object"?{status:e.status,data:{code:Or(n.details,"wp_code")??n.code,message:Or(n.details,"wp_message")??n.message,details:n.details}}:t&&typeof t=="object"?{status:e.status,data:t}:{status:e.status,data:{message:e.statusText||"request failed"}}}function So(e){return!e.ok||!!e.error}function Wu(e){try{const t=localStorage.getItem(e);if(t==="true")return!0;if(t==="false")return!1}catch{}}function Io(){return Wu(yt.em_translations_v2)??!0}function Yu(e){return typeof e=="number"&&Number.isFinite(e)?e:0}function Xu(e){const t=e?Date.parse(e):NaN;return Number.isNaN(t)?0:Math.floor(t/1e3)}function Ju(e){return Array.isArray(e)?e.reduce((t,n)=>{const r=Array.isArray(n)?n:[],i=r[0];return typeof i=="string"&&i!==""&&t.push({locale:i,updatedAt:Yu(r[1])}),t},[]):[]}function Qu(e){return(e?.items??[]).reduce((t,n)=>(n.locale&&t.push({locale:n.locale,updatedAt:Xu(n.updated_at),contentHash:n.content_hash}),t),[])}function To(e){return Ku(e,[qu])}function Et(e){return{error:{status:"FETCH_ERROR",error:e instanceof Error?e.message:"locale request failed"}}}function fn(e){return!e.ok||e.error!=null}function pn(e){const t=e.error;return{error:{status:e.status,data:t?.data??e.error}}}async function Nt(e){return{data:await yo(e)??null}}async function Zu(e){if(Io())try{const n=await To(e).localesList();return So(n)?{error:wo(n)}:{data:Qu(n.data)}}catch(n){return Et(n)}const t=ci(e,[gi]);try{const n=await t.get_translations2({file:"react_app"});return fn(n)?pn(n):{data:Ju(n.data)}}catch(n){return Et(n)}}async function ef(e,t){if(Io())try{const r=await To(e).jsonList({locale:t});return So(r)?{error:wo(r)}:Nt(r.data)}catch(r){return Et(r)}const n=ci(e,[gi]);try{const r=await n.get_translations3({id:t,file:"react_app"});return fn(r)?pn(r):Nt(r.data)}catch{try{const r=await n.get_translations3({id:"en_US",file:"react_app"});return fn(r)?pn(r):Nt(r.data)}catch(r){return Et(r)}}}var ze=L("locale.service");function tf(e){if(e.getInstance(ze))return;const t=Gu({readList:()=>Zu(e),readCatalog:n=>ef(e,n),askHost:async n=>(await ie(e,j.READ_LOCALE).fire(n))[0],canUseNetwork:()=>!e.getInstance(me)});e.inject(ze,t),e.getInstance(F)?.addDispose(()=>t.dispose())}function nf(e){const t=e.getInstance(we);if(!t)return;const n=e.getInstance(ze);if(!n)return;const r=t.select(i=>i.locale).watch(i=>n.set(i));e.getInstance(F)?.addDisposable(r)}var rf="user_id",of="project_id",xr=L("rest.identityHeadersProvided");function sf(e){if(e.getInstance(xr))return;e.inject(xr,!0);let t;e.getInstance(oe)?.watch(n=>{t=n}),e.addService(In,{execute(n,r){if(r?.public)return;const i=t?.user?.id??Ki(e).profile?.id;i!=null&&i!==""&&n.headers.set(rf,String(i));const o=t?.project;o!=null&&o!==""&&n.headers.set(of,String(o))}})}function af(e){if(!e)return!1;try{return e.getInstance(me)!==void 0}catch{return!1}}var lf="Invalid standaloneKey.",Ah=L("StandaloneMockGuard");function df(){const e=new Error(lf);return e.name="InvalidStandaloneKeyError",e}function cf(e){e.addService(In,{execute:()=>{if(af(e))throw df()}})}function uf(e){ys(e),cf(e)}function ff(e){const t=new ao;e.inject(De,t);let n;const r=e.getInstance(oe)?.watch(o=>{o&&(o.signal!==void 0&&(n=o.signal),t.configure({replaceSession:!0,...o.timeouts!==void 0?{timeouts:o.timeouts}:{},...n!==void 0?{signal:n}:{}}))}),i=e.getInstance(F);r&&i?.addDisposable(r),i?.addDispose(()=>{t.abort()})}var pf=Je("plugin.dataSource.blocks"),mf=Je("plugin.dataSource.blockRevisions"),hf=Je("plugin.dataSource.comments"),gf=so(),vf=so(),Ao=`<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
1003
|
+
`));return{html:Pd(t.html),hasBrowserExtensionArtifacts:t.found}}function ln(e){return e?.getContent()??""}function po(e,t){e?.mutate({content:Ni(t)},{source:"remote"})}function mo(e){return L(e)}function oe(e,t){return e.getOrCreateInstance(t,()=>new pe)}function K(e,t){return e.getOrCreateInstance(t,()=>new pe).event}function dn(e,t,n,r){return{html:e,guid:t,...Object.keys(n).length>0?{templateDirectivesPolicy:n}:{},...r!==void 0?{rev:r}:{}}}var Dd=class extends Error{showId;constructor(e,t){super(`[emailmaker] show() timed out after ${t}ms waiting for editor init (showId=${e}). Check earlier console errors: wrong host-plugin publicPath (chunks return HTML), mount element removed without destroy(), or sandbox init never completed. Search for [show-pipeline] and [AMD] messages.`),this.name="ShowPipelineTimeoutError",this.showId=e}},Od=class{_activeRequest=null;_pending=new Map;_listeners=new Set;getActiveShowRequest(){return this._activeRequest}onShowRequested(e){return this._listeners.add(e),()=>{this._listeners.delete(e)}}requestShow(e,t,n){return this._rejectPending(Z("Superseded by newer show()")),n.aborted?Promise.reject(Z(n.reason)):(this._activeRequest=e,new Promise((r,i)=>{const o=setTimeout(()=>{this._settle(e.showId,()=>{i(new Dd(e.showId,t))})},t);o.unref?.();const s=()=>{this._settle(e.showId,()=>{i(Z(n.reason))})};n.addEventListener("abort",s,{once:!0});const d=()=>{clearTimeout(o),n.removeEventListener("abort",s)};this._pending.set(e.showId,{request:e,resolve:r,reject:i,timeoutId:o,dispose:d});for(const a of this._listeners)a(e)}))}completeShow(e){this._settle(e,t=>{t.resolve()})}hasPendingShow(e){return this._pending.has(e)}failShow(e,t){this._settle(e,n=>{n.reject(t)})}rejectAll(e){this._rejectPending(e),this._activeRequest=null}_settle(e,t){const n=this._pending.get(e);n&&(n.dispose(),this._pending.delete(e),this._activeRequest?.showId===e&&(this._activeRequest=null),t(n))}_rejectPending(e){for(const[,t]of this._pending)t.dispose(),t.reject(e);this._pending.clear()}};function xd(e,t){return{contentReady:t.contentReady??e?.contentReady,sandboxReady:t.sandboxReady??e?.sandboxReady,sandbox:t.sandbox?{...e?.sandbox,...t.sandbox}:e?.sandbox}}function Ld(e){if(!e||!(e.contentReady!==void 0||e.sandboxReady!==void 0||e.sandbox!==void 0))return;const t=Pi(e),n=Di(e),r=Ca(e.sandbox);t<n+r}var ho=class{_controller=new AbortController;_externalSignalDisposable=new ee;_sessionChangeListeners=new Set;_showRegistry=new Od;_timeouts;_generation=0;_sessionStarted=!1;get signal(){return this._controller.signal}get generation(){return this._generation}get contentReadyTimeoutMs(){return Pi(this._timeouts)}getSandboxTimeoutMs(e){return Ri(e,this._timeouts?.sandbox)}getSandboxReadyTimeoutMs(){return Di(this._timeouts)}bumpGeneration(){this._generation+=1}getActiveShowRequest(){return this._showRegistry.getActiveShowRequest()}onShowRequested(e){return this._showRegistry.onShowRequested(e)}requestShow(e){return this._showRegistry.requestShow(e,this.contentReadyTimeoutMs,this._controller.signal)}completeShow(e){this._showRegistry.completeShow(e)}hasPendingShow(e){return this._showRegistry.hasPendingShow(e)}failShow(e,t){this._showRegistry.failShow(e,t)}rejectAllPendingShows(e){this._showRegistry.rejectAll(e)}onSessionReplaced(e){return this._sessionChangeListeners.add(e),()=>{this._sessionChangeListeners.delete(e)}}configure(e){e.timeouts!==void 0&&(this._timeouts=xd(this._timeouts,e.timeouts),Ld(this._timeouts));const t=e.replaceSession===!0||!this._sessionStarted||e.timeouts!==void 0||e.signal!==void 0;this._sessionStarted=!0,t&&(this._replaceSessionController(),this.bumpGeneration()),(e.signal!==void 0||t)&&this._linkExternalSignal(e.signal)}abort(e){const t=e??Z("Editor instance destroyed");this._showRegistry.rejectAll(t),this._controller.signal.aborted||(this._controller.abort(t),this.bumpGeneration()),this._externalSignalDisposable.dispose(),this._externalSignalDisposable=new ee}_replaceSessionController(){this._externalSignalDisposable.dispose(),this._externalSignalDisposable=new ee,this._showRegistry.rejectAll(Z("Init session replaced")),this._controller.signal.aborted||this._controller.abort(Z("Init session replaced")),this._controller=new AbortController,this._emitSessionReplaced()}_emitSessionReplaced(){for(const e of this._sessionChangeListeners)e()}_linkExternalSignal(e){if(!e)return;if(e.aborted){this._controller.signal.aborted||(this._controller.abort(e.reason??Z()),this.bumpGeneration());return}const t=()=>{this._controller.signal.aborted||(this._controller.abort(e.reason??Z()),this.bumpGeneration())};e.addEventListener("abort",t),this._externalSignalDisposable.addDispose(()=>{e.removeEventListener("abort",t)})}},Un=(()=>{const e=new ho;return e.configure({}),e})(),Md=class extends Error{label;timeoutMs;constructor(e){super(`[sandbox:ready] iframe handshake timed out after ${e}ms`),this.name="SandboxReadyTimeoutError",this.label="sandbox:ready",this.timeoutMs=e}};function kd(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.isInited=="function"&&typeof t.getTarget=="function"&&typeof t.onInit=="function"}function Nd(e,t,n){return e.isInited()&&e.getTarget()?Promise.resolve():($(n),new Promise((r,i)=>{let o=!1,s,d;const a=u=>{o||(o=!0,s!==void 0&&(clearTimeout(s),s=void 0),d?.dispose(),n?.removeEventListener("abort",f),u())},f=()=>{a(()=>i(Z(n?.reason)))};if(d=e.onInit(()=>{e.isInited()&&e.getTarget()&&a(()=>r())}),e.isInited()&&e.getTarget()){a(()=>r());return}t>0&&(s=setTimeout(()=>{a(()=>i(new Md(t)))},t)),n?.addEventListener("abort",f)}))}var Fd=class extends Error{label;timeoutMs;constructor(e,t){super(`[${e}] timed out after ${t}ms`),this.name="OperationTimeoutError",this.label=e,this.timeoutMs=t}};function jd(e,t,n){return t<=0?e:new Promise((r,i)=>{let o=!1,s;const d=a=>{o||(o=!0,s!==void 0&&(clearTimeout(s),s=void 0),a())};s=setTimeout(()=>{d(()=>i(new Fd(n,t)))},t),e.then(a=>{d(()=>r(a))},a=>{d(()=>i(a))})})}var Bd=2,st=Symbol("sandbox:frame-replaced");function de(e,t,n,r,i,o,s){const d=`sandbox:${t}`,a=o?.getSandboxTimeoutMs(t)??kn[t],f=()=>{let I=jd(e.sendAsync(n,r),a,d);return I=pt(I,o?.signal),He(d,I,i)};if(t==="INIT_START"&&kd(e)){const I=o?.getSandboxReadyTimeoutMs()??2e4,g=e,y=_=>{const S=Nd(g,I,o?.signal);return He("sandbox:INIT_START:ready-wait",S,i).then(()=>{if(!s||_<=0)return f();const A=s.getGeneration();let m;const c=new Promise((p,h)=>{m=s.onChange(()=>{s.getGeneration()!==A&&h(st)})}),l=f();return l.catch(()=>{}),Promise.race([l,c]).finally(()=>m?.()).catch(p=>{if(p!==st)throw p;return{...i},y(_-1)})})};return y(Bd)}if(!s)return f();const u=s.getGeneration();let v;const b=new Promise((I,g)=>{v=s.onChange(()=>{s.getGeneration()!==u&&g(st)})}),E=f();return E.catch(()=>{}),Promise.race([E,b]).finally(()=>v?.()).catch(I=>{throw I===st&&{...i},I})}var Ud=[["brace-percent",/<!--\{%/],["brace-hash",/<!--\{#/],["proscript",/<!--\[%/],["getresponse",/<!--\[\[(?:if|else\]\]|endif\]\])/i],["mailchimp",/<!--\*\|/],["expert-sender",/<!--<\/?(?:if|else|var)/i]],Hd=200;function Gd(e=new Set){const t=new Set;return(n,r)=>{if(!Ud.some(([o,s])=>!e.has(o)&&s.test(n)))return;const i=r??`new:${n.length}:${n.slice(0,200)}`;t.has(i)||(t.size>=Hd&&t.clear(),t.add(i))}}function qd(){return{isConfigured:()=>!1,toEditorForm:e=>e,toOutputForm:e=>e,keepWrappedOnOutput:new Set,editorPolicy:{},warnAboutUnconfiguredInput:Gd()}}var $d=qd();function ke(e){return e?.getInstance(js)??$d}function zd(e){const t=ve(e),n=X(e),r=()=>e.getInstance(De)??Un;let i,o,s=!1,d=!1;const a=async(S,A,m)=>{const c=m.generation,l=()=>m.generation!==c||m.signal.aborted||t.current()!==S||d,p=ue(n);s=!0;try{if(await de(n,"INIT_START",F.SANDBOX_INIT_START,{guid:A},void 0,m),l())return;const{html:h,hasBrowserExtensionArtifacts:w}=fo(ln(S));if(w&&oe(e,B.ON_BROWSER_EXTENSION_DETECTED_ID).fire(),po(S,h),await de(n,"SET_ENTITY",F.SANDBOX_SET_ENTITY,dn(ln(S),A,ke(e).editorPolicy,S.get().version),void 0,m),l())return;await de(n,"INITED",F.SANDBOX_INITED,{guid:A},void 0,m),i=A,o=p}finally{s=!1}},f=()=>he(t.sessionKey())?t.current():void 0,u=()=>{if(d||s)return;const S=f(),A=S?.get().docId;if(!S||!A||i===A&&o===ue(n)||!S.isReady())return;const m=r();m.signal.aborted||a(S,A,m).catch(()=>{})};let v=!1;const b=()=>{v||d||(v=!0,queueMicrotask(()=>{v=!1,u()}))};let E,I;const g=()=>{const S=f(),A=S?.get().docId;A!==I&&(E?.(),I=A,E=S?.subscribe(b)),b()},y=t.subscribe(g),_=lo(n,b);g(),e.getInstance(j)?.addDispose(()=>{d=!0,_(),E?.(),y()})}var Vd=200;function Kd({startVersion:e,limit:t=Vd}){let n=[],r=e;const i=o=>{n=n.filter(s=>s.version>o),r=Math.max(r,o)};return{record(o){!o.changes?.length&&!o.contentReplaced||(n.push(o),n.length>t&&i(n[n.length-t-1].version))},rebase(o,s){if(s<r)return null;const d=n.filter(f=>f.version>s);i(s);let a=o;for(const f of d){if(f.fromCanvas||f.contentReplaced||!f.changes)return null;const u=f.changes,v=[];for(const b of a){const E=ja(b.range,u,"after");if(!E)return null;v.push({range:E,text:b.text})}a=v}return a}}}function Wd(e,t){let n=0;return e.map(({start:r,end:i,text:o})=>{const s=new ie(r,t.slice(r,i),r+n,o);return n+=o.length-(i-r),s})}function Yd(e,t){const n=[...e].sort((r,i)=>r.range.start-i.range.start);return Wd(n.map(({range:r,text:i})=>({start:r.start,end:r.end,text:i})),t)}function Xd(e){return[...e].sort((t,n)=>n.oldPosition-t.oldPosition).map(t=>({range:{start:t.oldPosition,end:t.oldEnd},text:t.newText}))}var Hn=L("canvas.sandboxFill");function go(e){return e.getInstance(Hn)?.pipeline.isEventsLocked()===!0}function Lt(e){wt(e,{origin:"canvas-channel"})}function Jd(e){const t=ve(e),n=X(e);let r;const i=(a,f)=>{const u=a.get().docId;let v=!1,b=null,E=null;const I=Kd({startVersion:a.get().version});let g=a.getContent();const y=async(c,l)=>{if(E){E.push({edits:c,rev:l});return}E=[{edits:c,rev:l}];try{do{const p=E.splice(0,E.length);await n.sendAsync(F.SANDBOX_UPDATE_ENTITY,{edits:p.map(h=>h.edits),guid:u,rev:p[p.length-1].rev})}while(E.length)}finally{E=null}},_=(c,l)=>{const p=E?.splice(0,E.length)??[];p.length&&n.sendAsync(F.SANDBOX_UPDATE_ENTITY,{edits:p.map(h=>h.edits),guid:u,rev:p[p.length-1].rev}).catch(Lt),n.sendAsync(F.SANDBOX_UPDATE_ENTITY,{edits:[c],guid:u,rev:a.get().version,...l!==null?{changeId:l}:{}}).catch(Lt)},S=c=>{const{guid:l,pushUndoStop:p}=c;if(l!==u)return;const h=Ya(c);let{edits:w}=c;if(h.baseRev!==null){const O=I.rebase(w,h.baseRev);if(!O){wt(new Error("canvas batch conflicts with newer document changes"),{origin:"canvas-channel"}),_([],h.changeId);return}w=O}const T=a.get().version;try{v=!0,b=h.changeId;const O=Yd(w,a.getContent());p===!1?f.applyWithoutHistory(O):a.mutate({changes:O},{source:go(e)?"system":"user"})}finally{v=!1,b=null}a.get().version===T&&h.baseRev!==null&&_([],h.changeId)},A=a.subscribe(({changes:c,version:l})=>{const p=a.getContent(),h=!c?.length&&p!==g;if(g=p,I.record({version:l,changes:c,contentReplaced:h,fromCanvas:v}),!c?.length)return;const w=Xd(c);v?_(w,b):y(w,l).catch(Lt)}),m=n.addListener(F.APPLICATION_UPDATE_ENTITY,S);return()=>{A(),m.dispose()}};let o;const s=()=>{const a=t.current(),f=t.history(),u=a?.get().docId;u!==o&&(r?.(),r=void 0,o=u,a&&f&&(r=i(a,f)))},d=t.subscribe(s);s(),e.getInstance(j)?.addDispose(()=>{r?.(),d()})}var Qd=300,Zd=15e3,_r="em-canvas-busy-style";function ec(){if(document.getElementById(_r))return;const e=document.createElement("style");e.id=_r,e.textContent="@keyframes em-canvas-busy-spin{to{transform:rotate(360deg)}}",document.head.appendChild(e)}function tc(e){const t=e.getBoundingClientRect(),n=document.createElement("div");return n.setAttribute("aria-busy","true"),Object.assign(n.style,{position:"fixed",left:`${t.left}px`,top:`${t.top}px`,width:`${t.width}px`,height:`${t.height}px`,cursor:"progress",display:"flex",alignItems:"center",justifyContent:"center"}),e.appendChild(n),{showSpinner(){ec(),n.style.background="rgba(128, 128, 128, 0.15)";const r=document.createElement("div");Object.assign(r.style,{width:"32px",height:"32px",borderRadius:"50%",border:"3px solid rgba(128, 128, 128, 0.35)",borderTopColor:"rgba(80, 80, 80, 0.9)",animation:"em-canvas-busy-spin 0.8s linear infinite"}),n.appendChild(r)},remove:()=>n.remove()}}var nc=8e3;function rc(){return{element:document.createElement("iframe"),ready:()=>Promise.reject(new Error("[canvas] нет элемента монтирования")),reload:()=>Promise.resolve(),reloadQuietly:()=>Promise.resolve(),scrollBy:()=>{},shown:!1,whenShown:()=>Promise.resolve(),alignTo:()=>{},resize:()=>{},dispose:()=>{}}}var ic=e=>{for(let t=e?.parentElement??null;t;t=t.parentElement){const n=getComputedStyle(t).overflowY;if(n==="auto"||n==="scroll"||n==="hidden")return t}return null};function oc(e,t,n,r,i){const o=n.readyTimeoutMs??nc,s=document.createElement("div");s.dataset.canvasHost=e,r&&(s.dataset.canvasPlace=r),s.style.position="fixed",s.style.overflow="hidden",s.style.visibility="hidden";const d=n.resolveSrc(e),a=document.createElement("iframe");a.setAttribute("sandbox",n.resolveSandbox(d)),a.setAttribute("allow","clipboard-read; clipboard-write"),a.setAttribute("title","Email content"),a.style.width="100%",a.style.border="0",a.style.display="block",a.style.minHeight="600px",a.src=d,s.appendChild(a),t.appendChild(s),n.mark?.("created"),i||n.onCreated?.(a);const f=new ee;let u=!1,v=!1,b,E,I,g;const y=()=>{clearTimeout(g),g=setTimeout(()=>{v||(v=!0,E?.(new Error(`[canvas] ${e}: документ не загрузился за ${o} мс`)))},o)},_=()=>u?(I=Promise.resolve(),v=!0,I):(v=!1,I=new Promise((M,G)=>{b=M,E=G}),y(),I),S=()=>{if(clearTimeout(g),u=!0,v){I=Promise.resolve();return}v=!0,n.mark?.("loaded"),b?.()};a.addEventListener("load",S),f.addDispose(()=>{clearTimeout(g),a.removeEventListener("load",S)});let A;const m=()=>{A??=n.bindResizer?.(a)};let c=null,l=null,p;const h=()=>{if(!c){s.style.visibility="hidden",a.removeAttribute("id");return}n.elementId&&(a.id=n.elementId);const M=c.getBoundingClientRect(),G=l?.isConnected?l:ic(c),H=G?G.getBoundingClientRect():null,Y=H?Math.max(M.top,H.top):M.top,be=H?Math.min(M.bottom,H.bottom):M.bottom,et=Math.max(0,be-Y);s.style.visibility=et>0?"visible":"hidden",s.style.left=`${M.left}px`,s.style.top=`${Y}px`,s.style.width=`${M.width}px`,s.style.height=`${et}px`,a.style.transform=`translateY(${M.top-Y}px)`};let w="",T="",O=0,k;const W=()=>{if(!c){k=void 0;return}k=window.requestAnimationFrame(W);const M=c.getBoundingClientRect(),G=l?.isConnected?l.getBoundingClientRect():void 0,H=`${Math.round(M.left)}:${Math.round(M.top)}:${Math.round(M.width)}:${Math.round(M.height)}:${G?`${Math.round(G.top)}:${Math.round(G.height)}`:"-"}`;H!==w&&(w=H,h());const Y=a.getBoundingClientRect().height;Y>0&&Y!==O&&(O=Y,c.style.height=`${Y}px`);const be=getComputedStyle(c).pointerEvents;be!==T&&(T=be,s.style.pointerEvents=be)},R=()=>{k===void 0&&c&&(k=window.requestAnimationFrame(W))},C=()=>{k!==void 0&&(window.cancelAnimationFrame(k),k=void 0)},D=()=>h();let x=[];const U=(M,G)=>{if(l=G,M&&x.length>0){const H=x;x=[],H.forEach(Y=>Y())}if(M===c){h();return}if(p?.disconnect(),p=void 0,c&&c.style.removeProperty("height"),w="",O=0,T="",c=M,!M){C(),h();return}n.onShown?.(a);try{if(typeof ResizeObserver=="function"){const H=new ResizeObserver(h);typeof H.observe=="function"&&(p=H,p.observe(M))}}catch{p=void 0}h(),m(),R()};window.addEventListener("scroll",D,!0),window.addEventListener("resize",D),f.addDispose(()=>{p?.disconnect(),k!==void 0&&window.cancelAnimationFrame(k),window.removeEventListener("scroll",D,!0),window.removeEventListener("resize",D)});const J=M=>{u=!1,M&&n.onReload?.(a);let G;v||I===void 0?G=_():(y(),G=I);try{a.contentWindow?.location.reload()}catch{a.src=d}return G};return{element:a,ready(){return I??_()},reload:()=>J(!0),reloadQuietly:()=>J(!1),get shown(){return c!==null},whenShown(){return c!==null?Promise.resolve():new Promise(M=>{x.push(M)})},alignTo(M,G){U(M,G??null)},scrollBy(M,G){for(let H=c?.parentElement??null;H;H=H.parentElement){const Y=getComputedStyle(H);if((Y.overflowY==="auto"||Y.overflowY==="scroll")&&H.scrollHeight>H.clientHeight){H.scrollBy({left:M,top:G,behavior:"instant"});return}}window.scrollBy({left:M,top:G,behavior:"instant"})},resize(){A?.resize()},dispose(){U(null,null),A?.dispose(),f.dispose(),s.remove()}}}function sc(e){const t=new Map;let n="a";const r=()=>n==="a"?"b":"a",i=(u,v)=>u==="email"?`email:${v??n}`:u;let o,s=[];const d=()=>{s.forEach(u=>clearTimeout(u)),s=[],o?.remove(),o=void 0},a=new Map,f=(u,v,b)=>{const E=i(u,v),I=t.get(E);if(I)return I;const g=e.resolveMount();if(!g)return rc();const y=oc(u,g,e,u==="email"?v??n:void 0,b);return t.set(E,y),y};return{get:u=>f(u),current:u=>f(u),peek:u=>t.get(i(u)),spare:()=>t.get(i("email",r())),ensureSpare:()=>f("email",r(),!0),promote(){const u=t.get(i("email",r()));if(!u)return;const v=t.get(i("email"));n=r();const b=a.get("email");u.alignTo(b?.slot??null,b?.clip??null),v?.alignTo(null)},alignSurface(u,v,b){a.set(u,{slot:v,clip:b??null}),(v?f(u):t.get(i(u)))?.alignTo(v,b??null)},visible(){for(const u of t.values())if(u.shown)return u},byWindow(u){if(u){for(const v of t.values())if(v.element.contentWindow===u)return v}},busy(u){d();const v=u?e.resolveMount():void 0;if(!v)return;const b=tc(v);o=b,s=[setTimeout(()=>b.showSpinner(),Qd),setTimeout(d,Zd)]},dispose(){d(),t.forEach(u=>u.dispose()),t.clear(),a.clear(),n="a"}}}var ac=L("canvas.resizerBinder"),cn=L("canvas.service"),lc={created:Q.canvasCreated,loaded:Q.canvasLoaded};function dc(e,t){if(e.getInstance(cn))return;const n=sc({resolveMount:()=>t.resolveMount(),resolveSrc:i=>t.resolveSrc(i),resolveSandbox:dd,elementId:t.elementId,bindResizer:i=>e.getInstance(ac)?.(i),onCreated:i=>ut(e,i,"fresh"),onReload:i=>ut(e,i,"fresh"),onShown:i=>ut(e,i,"switch"),mark:i=>t.mark?.(lc[i])}),r=X(e).addListener(F.SANDBOX_WHEEL,i=>{n.visible()?.scrollBy(i?.deltaX??0,i?.deltaY??0)});e.inject(cn,n),e.getInstance(j)?.addDispose(()=>{r.dispose(),n.dispose()})}function ut(e,t,n){const r=X(e),i=t.contentWindow;if(!i)return;const o=r.getTarget()===i;o&&n==="switch"||(n==="fresh"&&(r.forget(i),o&&r.setTarget(void 0)),r.setTarget(i),Vl(r))}function cc(e,t){ut(e,t,"promote")}function uc(e,t){const n=t.contentWindow;n&&X(e).greet(n)}function fc(e,t){const n=t.contentWindow;n&&X(e).forget(n)}function fe(e){return e.getInstance(cn)}function pc(e){const t=X(e),n=()=>fe(e)?.byWindow(t.getTarget()),r=t.addListenerAsync(F.RELOAD,async()=>{await n()?.reload()}),i=t.addListener(s=>{s.data?.operation===F.SANDBOX_RESIZED&&n()?.resize()}),o=K(e,B.ON_EMAIL_INIT_ID)(()=>{n()?.resize()});e.getInstance(j)?.addDispose(()=>{r.dispose(),i.dispose(),o.dispose()})}var kh=L("HeadlessMode"),mc=L("HiddenMount");function hc(e){return e.getOrCreateInstance(mc,()=>Me(!1))}function wr(){const e=document.createElement("div");return e.dataset.canvasOffscreen="true",e.style.position="absolute",e.style.left="-10000px",e.style.top="-10000px",e.style.width="1600px",e.style.height="1000px",document.body.appendChild(e),e}function gc(e){const t=e.getInstance(se);let n,r;e.getInstance(j)?.addDispose(()=>{r?.remove(),r=void 0}),dc(e,{resolveMount:()=>n,resolveSrc:o=>co(o==="block"),elementId:"email_iframe",mark:o=>z(o)}),t?.watch(o=>{if(n)return;const s=o?.element;if(s instanceof HTMLElement)n=s;else if(o!==void 0)n=r??=wr();else return;fe(e)?.get("email")});let i;e.getInstance(j)?.addDispose(()=>{i?.remove(),i=void 0}),hc(e).watch(o=>{const s=fe(e);if(s){if(o){i??=wr(),s.alignSurface("email",i,i);return}i&&(s.alignSurface("email",null),i.remove(),i=void 0)}})}var vo=L("canvas.headerFlow"),Sr=["subject","preheader"],vc=3e3,bc={subject:F.SANDBOX_SUBJECT_UPDATE,preheader:F.SANDBOX_PREHEADER_UPDATE};function Ec(e){const t=ve(e),n=X(e),r=g=>g?"remote":go(e)?"system":"user",i=(g,{guid:y,value:_,forced:S})=>{const A=Be(t);if(!A||typeof _!="string"||y&&y!==A.get().docId)return;const m=t.forcedHeaders();if(m?.[g]&&!S&&_!==m[g])return;S&&t.endForcedHeaders();const c=A.get().attributes[g]??"";d=!0;try{vt(A,{[g]:_},{source:r(S)})}finally{d=!1}o[g]=_,oe(e,B.ON_HEADER_APPLIED_ID).fire({field:g,value:_,forced:!!S,isGenerated:_!==c&&!!_})};let o={},s,d=!1,a=Promise.resolve();const f=(g,y,_)=>{a=n.sendAsync(bc[g],{value:y,guid:Be(t)?.get().docId,..._?{force:!0,echo:!0}:{}}).catch(S=>{})};let u;e.inject(vo,{whenDelivered:async()=>{await a},reassert:g=>{const y=Be(t),_=Sr.filter(S=>g[S]);if(!(!y||_.length===0)){d=!0;try{vt(y,Object.fromEntries(_.map(S=>[S,g[S]])),{source:"system"})}finally{d=!1}t.beginForcedHeaders({subject:g.subject??"",preheader:g.preheader??""}),clearTimeout(u),u=setTimeout(()=>t.endForcedHeaders(),vc);for(const S of _)o[S]=g[S],f(S,g[S],!0)}}});const v=()=>{s?.(),s=void 0;const g=Be(t);if(!g){o={};return}const y=g.get().attributes;o={subject:y.subject,preheader:y.preheader},s=g.subscribe(({source:_})=>{if(d)return;const S=g.get().attributes,A=t.forcedHeaders();for(const m of Sr){const c=S[m];c!==o[m]&&(o[m]=c,f(m,c??"",_==="system"&&A?.[m]!==void 0))}})};v();const b=t.subscribe(v),E=n.addListenerAsync(F.APPLICATION_SUBJECT_UPDATE,g=>i("subject",g)),I=n.addListenerAsync(F.APPLICATION_PREHEADER_UPDATE,g=>i("preheader",g));e.getInstance(j)?.addDispose(()=>{E.dispose(),I.dispose(),b(),s?.(),clearTimeout(u)})}function Ir(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function un(e,t){const n={...e};for(const r of Object.keys(t)){const i=t[r],o=e[r];Ir(i)&&Ir(o)?n[r]=un(o,i):i!==void 0&&(n[r]=i)}return n}function yc(e,t){const n=Cn;if(typeof e=="string"){const r=e.trim();if(r.startsWith("{"))try{const i=JSON.parse(r);if(i&&typeof i=="object"&&!Array.isArray(i)&&Object.keys(i).length>0)return un(n,i)}catch{}}return t&&typeof t=="object"&&!Array.isArray(t)?un(n,t):n}function _c(){const e=window.localStorage.getItem(yt.em_color_scheme),t=matchMedia("(prefers-color-scheme: dark)").matches?Os:zs;return e&&e!=="system"?e:t}function wc(){const e=window.localStorage.getItem(yt.em_code_mode_settings);if(!e)return!1;try{const t=JSON.parse(e);return!!(t?.isCodeMode&&(t.codeModeDirection==="left"||t.codeModeDirection==="right"))}catch{return!1}}function Sc(e){const{config:t}=e;return{operation:F.UPDATE_PREVIEW,theme:e.theme,commonStyles:yc(e.emailCommonStyles,e.defaultCommonStyles),pathEnabled:t.pathEnabled,copyPasteEnabled:t.copyPasteEnabled,saveBlockEnabled:t.saveBlockEnabled,editImageControlEnabled:t.editImageControlEnabled,codeMode:e.codeMode,elementAIimageEnabled:t.elementAIimageEnabled,imageCenterStockEnabled:t.imageCenterStockEnabled,imageCenterGifEnabled:t.imageCenterGifEnabled,imageCenterEditorEnabled:t.imageCenterEditorEnabled,blocksAddPanelEnabled:t.blocksAddPanelEnabled!==!1&&t.blocksSectionsShow!==!1,lockEditor:t.lockEditor,appName:e.appName}}function Ic(e){const t=X(e),n=e.getInstance(we),r=e.getInstance(se),i=ve(e);let o,s="";const d=()=>{const _=n?.get()??{},S=Sc({config:_,emailCommonStyles:i.current()?.get().attributes?.common_styles,defaultCommonStyles:o,theme:_c(),codeMode:wc(),appName:"emailmaker"}),A=JSON.stringify(S);A!==s&&(s=A,t.send(S))},a=t.onInit(()=>{s="",d()}),f=()=>{t.isInited()&&d()},u=n?.watch(f),v=r?.watch(_=>{o=_?.commonStyles,f()});let b;const E=()=>{b?.(),b=i.current()?.subscribe(f),f()};E();const I=i.subscribe(E),g=matchMedia(Ms),y=()=>f();g.addEventListener("change",y),e.getInstance(j)?.addDispose(()=>{a.dispose(),u?.dispose(),v?.dispose(),b?.(),I(),g.removeEventListener("change",y)})}var fn;(function(e){function t(i,o,s=(d,a)=>d===a){if(i===o)return!0;if(i.length!==o.length)return!1;for(let d=0;d<i.length;d++)if(!s(i[d],o[d]))return!1;return!0}e.isEqual=t;function n(i,o=s=>s){const s=new Set;return i.filter(d=>{const a=o(d);return s.has(a)?!1:(s.add(a),!0)})}e.unique=n;function r(i=[],o=[],s=(d,a)=>d===a){const d=[],a=[],f=[];for(const u of i){const v=o.find(b=>s(u,b));v?f.push({prev:u,next:v}):a.push(u)}for(const u of o)i.find(v=>s(u,v))||d.push(u);return{added:d,removed:a,exists:f}}e.diff=r})(fn||(fn={}));function Tc(e,t){return e.type===t.type&&e.key===t.key}function Ac(e){const t=X(e),n=()=>e.getServices(Te)??[];let r=[];const i=t.onInit(()=>{r=n(),t.send(F.SANDBOX_ADD_EXTENSIONS,r)}),o=Es(Te),s=e.onInject(d=>{if(d!==o)return;const a=n();if(!t.isInited()){r=a;return}const{added:f,removed:u}=fn.diff(r,a,Tc);if(r=a,u.length){if(u.some(v=>v.type==="script")){t.send(F.RELOAD);return}t.send(F.SANDBOX_REMOVE_EXTENSIONS,u.map(v=>v.key))}f.length&&t.send(F.SANDBOX_ADD_EXTENSIONS,f)});e.getInstance(j)?.addDispose(()=>{i.dispose(),s?.dispose()})}var Cc=L("prewarm.editorVisible");function Rc(e){if(typeof requestAnimationFrame!="function"){setTimeout(e,0);return}requestAnimationFrame(()=>requestAnimationFrame(e))}function Pc(e={}){const t=e.paint??Rc;let n=!1,r=!1,i=!1,o=!1,s=!1;const d=[],a=()=>{s||o||!n||!r||!i||(o=!0,t(()=>{s=!0,z(Q.editorVisible);for(const f of d.splice(0))f()}))};return{noteShellVisible(){n=!0,a()},notePagePainted(){r=!0,a()},noteContentShown(){i=!0,a()},whenVisible(f){if(s){f();return}d.push(f)},contentShown:()=>i}}function Dc(e){return e.getOrCreateInstance(Cc,()=>Pc())}var Oc=500,xc=500,Lc=5e3;function Mc(e){const t=e.quietMs??Oc,n=e.floorMs??xc,r=e.ceilingMs??Lc;let i,o,s=0;const d=()=>{clearTimeout(i),clearTimeout(o),i=void 0,o=void 0},a=()=>{d(),e.run()},f=()=>{clearTimeout(i);const u=n-(Date.now()-s);i=setTimeout(a,Math.max(t,u))};return{start(){d(),s=Date.now(),o=setTimeout(a,r),f()},notify(){i!==void 0&&f()},cancel:d}}function kc({attributes:e,readContent:t,docId:n,hasSession:r,serverId:i,show:o}){if(!r)return;const s={id:i??void 0,renderGuid:n,showId:o?.id,isNew:i==null,showToken:o?.token},d={...e,...s};return Object.defineProperty(d,"html",{get:()=>t()??"",enumerable:!0,configurable:!0}),d}var bo="self-init:";function Nc(e){return e.startsWith(bo)}function Eo(e,t){const n=e.getActiveShowRequest();return Nc(t)?n===null:n?.showId===t&&e.hasPendingShow(t)}function Fc(e){const t=()=>e.initPipeline(),n=e.messageService,r=()=>e.waitScope?.()??t();let i="";const o=()=>e.readDocument()?ln(e.readDocument()):i,s=()=>ke(e.container).editorPolicy,d=()=>e.readEmail(),a=()=>{const f=d();return{...f,id:e.isTemplate()||f.isNew?void 0:f.id,html:o()}};return{readContent:o,publicEmail:a,sendInitStart:()=>de(n,"INIT_START",F.SANDBOX_INIT_START,{guid:d().renderGuid},void 0,r()),sendInited:()=>de(n,"INITED",F.SANDBOX_INITED,{guid:d().renderGuid},void 0,r()),async sendContent(){const f=d(),{html:u,hasBrowserExtensionArtifacts:v}=fo(f?.html||"");v&&e.events.browserExtensionDetected(),po(e.readDocument(),u),i=u,await de(n,"SET_ENTITY",F.SANDBOX_SET_ENTITY,dn(o(),f.renderGuid,s(),e.readDocument()?.get().version),{guid:f.renderGuid,emailId:f.id??null},r())},refreshContent:()=>de(n,"SET_ENTITY",F.SANDBOX_SET_ENTITY,dn(o(),d().renderGuid,s(),e.readDocument()?.get().version),void 0,r()),sendPreheader:async()=>{const f=d();if(f.preheader!==void 0)return de(n,"PREHEADER",F.SANDBOX_PREHEADER_UPDATE,{value:f.preheader,guid:f.renderGuid,force:!0},void 0,r())},sendSubject:async()=>{const f=d();if(f.subject!==void 0)return de(n,"SUBJECT",F.SANDBOX_SUBJECT_UPDATE,{value:f.subject,guid:f.renderGuid,force:!0},void 0,r())},revealFilled:()=>e.revealFilled?.()??Promise.resolve(),showFilled:f=>e.showFilled?.(f),readTarget:()=>e.readTarget?.(),fireWillInit:()=>e.events.willInit(a()),fireInit(f,u){if(!Eo(t(),f)){t().getActiveShowRequest()?.showId;return}const v=d();v.id,v.renderGuid,t().completeShow(f),vt(e.readDocument(),{is_inited:!0},{source:"system"});const b=a();return u&&(b.reset=!0),e.events.inited(b)},fireEmailChanged(){e.events.emailChanged(a())},fireContentChanged(){e.events.contentChanged(o())}}}function jc(e){const t=()=>e.initPipeline();let n=!1,r,i,o,s=0,d;const a=Fc({...e,waitScope:()=>({getSandboxTimeoutMs:y=>t().getSandboxTimeoutMs(y),getSandboxReadyTimeoutMs:()=>t().getSandboxReadyTimeoutMs(),signal:d?.signal??t().signal})});let f;const u=(y,_)=>{if(f===y)return;f=y;const S=s;setTimeout(()=>{s!==S||t().signal.aborted||I(y,_).catch(()=>{})},0)},v=()=>{d?.abort(),d=void 0};let b;const E=()=>{const y=t().signal;y!==b&&(b?.removeEventListener("abort",v),b=y,y.addEventListener("abort",v))};async function I(y,_){const S=++s;v(),d=new AbortController,E();const A=()=>s!==S,m=a.readTarget(),c=t().generation,l=()=>c===t().generation&&!t().signal.aborted,p=_?"init:reset-":"init:";if(!_){const T=a.publicEmail();T?.id,T?.renderGuid,T?.preheader}let h=!1,w=!1;try{n=!0,await a.sendInitStart(),a.fireWillInit(),await(_?a.refreshContent():a.sendContent()),h=!0,_||a.publicEmail()?.id;try{await a.sendPreheader()}catch(T){`${p}`,String(T)}try{await a.sendSubject()}catch(T){`${p}`,String(T)}if(A()||a.showFilled(m),await a.sendInited(),w=!0,i===y){const T=e.readSandboxGeneration?.()??o;T!==void 0&&(r=T)}await a.revealFilled()}catch(T){throw A()||(`${p}`,{...e.describeSurface?.(),error:String(T)},void 0),!A()&&Eo(t(),y)&&t().failShow(y,T),T}finally{g(y,_,p,{superseded:A(),sessionGeneration:c,contentApplied:h,sandboxInitedAcked:w,commit:l()})}}function g(y,_,S,A){const{superseded:m,contentApplied:c,sandboxInitedAcked:l}=A;if(m){`${S}`;return}l&&A.commit?a.fireInit(y,_||void 0):l?(`${S}`,A.sessionGeneration,t().generation,t().signal.aborted,void 0):c?(`${S}`,void 0):(`${S}`,void 0),n=!1,d=void 0,!l&&i===y&&(i=void 0,r===o&&(r=void 0)),!l&&c&&u(y,_)}return{channel:a,isEventsLocked:()=>n,filledGeneration:()=>r,markFilled:y=>{r=y},lastCorrelation:()=>i,markCorrelation:y=>{i=y},bumpRunSeq:()=>{s+=1},noteSandboxGeneration:y=>{o=y},fill:y=>I(y,!1),refill:y=>I(y,!0),stop:()=>{s+=1,v(),n=!1,b?.removeEventListener("abort",v),b=void 0}}}function Bc(e,t,n){if(!e?.renderGuid||!e.showId||e.showId!==t.showId)return!1;if(t.isNew)return e.id==null;const r=t.emailId??t.navId;return r!=null&&String(e.id??"")!==String(r)?!1:yo(e,n)}function yo(e,t){return t?e?.id==null?!1:String(e.id)===String(t):!0}function Uc(e){const{pipeline:t,readEmail:n,readDocument:r,readRouteEmailId:i,readSandboxGeneration:o}=e,s=u=>{const v=n(),b=i();if(!Bc(v,u,b)){u.showId,u.navId,u.emailId,v?.id,v?.showId,v?.renderGuid;return}u.showId,v?.id,v?.renderGuid,t.markFilled(o()),t.markCorrelation(u.showId),t.fill(u.showId).catch(()=>{})};return{showRequested:u=>{s(u)},showRequestIdentityChanged:()=>{const u=e.initPipeline().getActiveShowRequest();u&&s(u)},selfInitChanged:()=>{if(e.initPipeline().getActiveShowRequest())return;const u=o();if(t.filledGeneration()===u)return;const v=n(),b=i();if(!v?.renderGuid||!yo(v,b))return;const E=`${bo}${v.renderGuid}`;t.markFilled(u),t.markCorrelation(E);const I=r()?.isReady()===!0;v.id,v.renderGuid,(I?g=>t.refill(g):g=>t.fill(g))(E).catch(()=>{t.lastCorrelation()===E&&t.markFilled(void 0)})},saasChanged:()=>{const u=n();u?.renderGuid,u?.showToken,u?.id}}}function Hc(e){return e??""}function Gc(e,t,n,r){return[e??"",t??"",n==null?"":String(n),r??""].join("|")}function qc(e){const t=ve(e),n=X(e),r=()=>he(t.sessionKey())?void 0:t.current(),i=()=>{const P=r();return kc({attributes:P?.get().attributes??{},readContent:()=>P?.getContent(),docId:P?.get().docId,hasSession:!!P,serverId:P?.get().serverId,show:t.showFacts()})},o=()=>e.getInstance(De)??Un;let s={},d=!1;const a=e.getInstance(se)?.watch(P=>{d=!!P?.element});let f=!1,u=!1,v=!1,b=0;const E=()=>{const P=fe(e);if(!P)return;const V=++b,q=P.spare();return q&&fc(e,q.element),(q?q.reloadQuietly():P.ensureSpare()?.ready())?.then(()=>{if(V!==b)return;f=!0;const re=P.spare();re&&uc(e,re.element),v&&(v=!1,T(),U())})},I=Mc({run:()=>{v||E()?.catch(()=>{})}}),g=()=>{Dc(e).noteContentShown(),!f&&!v&&I.start()};let y=!1;const A=jc({container:e,messageService:n,initPipeline:o,readDocument:r,readEmail:i,revealFilled:()=>{const P=fe(e);return y&&P&&(y=!1,I.start()),d?P?.current("email").whenShown()??Promise.resolve():Promise.resolve()},showFilled:P=>{const V=fe(e),q=V?.spare()?.element.contentWindow;u&&V&&q&&P===q&&(u=!1,V.promote(),V.busy(!1),y=!0)},readTarget:()=>n.getTarget(),isTemplate:()=>!!s.isTemplate,readSandboxGeneration:()=>ue(n),describeSurface:()=>({canvasPath:w,promoted:u,spareClean:f,handshake:n.isInited(),generation:ue(n)}),events:{willInit:P=>{oe(e,B.WILL_EMAIL_INIT_ID).fire(P)},inited:P=>{g(),oe(e,B.ON_EMAIL_INIT_ID).fire(P)},contentChanged:P=>{oe(e,B.ON_CONTENT_CHANGED_ID).fire(P)},emailChanged:P=>{oe(e,B.ON_EMAIL_CHANGED_ID).fire(P)},browserExtensionDetected:()=>{oe(e,B.ON_BROWSER_EXTENSION_DETECTED_ID).fire()}}}),m=Uc({pipeline:A,initPipeline:o,readEmail:i,readDocument:r,readRouteEmailId:()=>s.emailId,readSandboxGeneration:()=>ue(n)});let c="",l="",p="";const h=P=>P.length>0;let w="none";const T=()=>{const P=fe(e)?.spare();P&&(n.sendNow({operation:F.SANDBOX_LOCK_EDIT,data:!0}),f=!1,u=!0,cc(e,P.element))},O=(P,V)=>{const q=fe(e);if(!q)return!0;const re=q.spare(),Ee=re&&f?"spare":"prepare";if(w=Ee,q.busy(!0),re&&f)return T(),!0;I.cancel(),n.sendNow({operation:F.SANDBOX_LOCK_EDIT,data:!0});const ye=E();if(ye===void 0)return w="reload",q.busy(!1),q.peek("email")?.reload(),!0;v=!0;const Ct=b;return ye.catch(()=>{!v||Ct!==b||(v=!1,w="reload",q.busy(!1),q.peek("email")?.reload())}),!1},k=()=>{be(),A.noteSandboxGeneration(ue(n));const P=i(),V=Gc(P?.renderGuid,P?.showId,P?.id,s.emailId),q=Hc(P?.renderGuid);if(q!==l){const ye=h(l),Ct=l;l=q,ye&&O(Ct,q)}if(v)return;V!==c&&(c=V,m.showRequestIdentityChanged());const re=r(),Ee=`${V}|${re?.get().docId??""}|${ue(n)}`;Ee!==p&&re?.isReady()===!0&&(p=Ee,m.selfInitChanged()),m.saasChanged(),D()};let W=!1,R="",C="";const D=()=>{const P=i();if(!P?.renderGuid)return;const V=A.channel.readContent(),q=JSON.stringify([P.preheader,P.common_styles,P.meta,P.subject,P.utm_parameters?.utm_campaign??"",P.utm_parameters?.utm_content??"",P.utm_parameters?.utm_medium??"",P.utm_parameters?.utm_source??"",P.utm_parameters?.utm_term??""]),re=W&&V!==C,Ee=W&&q!==R;if(W=!0,C=V,R=q,A.isEventsLocked())return;const ye={...P,id:s.isTemplate||P.isNew?void 0:P.id,html:V};if(re){oe(e,B.ON_CONTENT_CHANGED_ID).fire(V),oe(e,B.ON_EMAIL_CHANGED_ID).fire(ye);return}Ee&&P.is_inited&&oe(e,B.ON_EMAIL_CHANGED_ID).fire(ye)};let x=!1;const U=()=>{x||(x=!0,queueMicrotask(()=>{x=!1,k()}))};e.inject(Hn,{pipeline:A,setRoute:P=>{P.emailId===s.emailId&&!!P.isTemplate==!!s.isTemplate||(s=P,U())}});let J,M;const G=()=>{const P=r()?.get().docId;P!==M&&(J?.(),M=P,J=r()?.subscribe(U)),U()};let H,Y;const be=()=>{const P=e.getInstance(De);!P||P===H||(Y?.(),H=P,Y=P.onShowRequested(V=>m.showRequested(V)))},et=n.addListener(P=>{P.data?.operation===F.SANDBOX_RESIZED&&I.notify()}),is=t.subscribe(G),os=lo(n,U);G(),e.getInstance(j)?.addDispose(()=>{a?.dispose(),Y?.(),os(),is(),J?.(),et.dispose(),I.cancel(),A.stop()})}function $c(){return Gs!=="emailmaker"}var Tr={config:{mode:"freeUserBlocks",autosaveTimeout:5e3,autosaveRetryMaxAttempts:5,autosaveRetryIntervalMs:3e4,theme:"",themes:{},mergeTagsShow:!0,styles:"",revisionService:!1,headerShow:!0,headerTitleVisible:!0,headerPreheaderVisible:!0,headerArrowBackVisible:!0,historyEnabled:!0,codeEnabled:!0,codeSideEnabled:!0,previewIconEnabled:!0,previewModeEnabled:!0,livePreviewEnabled:!0,sendTestEnabled:!0,sharePreviewEnabled:!0,webversionEnabled:!0,commonStylesEnabled:!0,emailResponsiveControlEnabled:!0,templateNotEmAlertShow:!1,beeFreeConverterEnabled:!1,stripoConverterEnabled:!0,aiLayoutConverterEnabled:!1,emailDropdownMenuEnabled:!0,emailDropdownMenuClone:!0,emailDropdownMenuImport:!0,emailDropdownMenuConvert:!0,emailDropdownMenuLock:!0,emailDropdownMenuRemove:!0,emailExportEnabled:!0,exportHtmlEnabled:!0,exportZipEnabled:!0,exportTextEnabled:!0,exportMarkdownEnabled:!0,exportClipboardEnabled:!0,exportWebHookEnabled:!0,exportOutlookEnabled:!0,exportPdfEnabled:!0,exportPngEnabled:!0,nextButtonEnabled:!1,nextButtonText:"",saveButtonEnabled:!0,saveButtonText:"",commandButtonsEnabled:!0,emailIdShow:!1,sidePanelFloating:!0,desktopMobileSwitchRule:!0,desktopMobileSwitchPanel:!1,onlyCodeModeInMobile:!1,pathEnabled:!0,copyPasteEnabled:!0,saveBlockEnabled:!0,globalBlockCheckboxEnabled:!0,editImageControlEnabled:!0,lockEditor:!1,lockPreheaderAndTitle:!1,disableSideMenu:!1,menuDirection:"right",defaultBuildPanel:"",commentsEnabled:!0,aiAssistentEnabled:!0,optimizeEnabled:!0,optimizeLinksEnabled:!0,optimizeImagesEnabled:!0,optimizeSpamAssassinEnabled:!0,optimizeCheckCodeEnabled:!0,settingsEnabled:!0,settingsTabEnabled:!0,UTMEnabled:!0,annotationsEnabled:!1,subjectEnabled:!0,preheaderEnabled:!0,descriptionEnabled:!0,tagsEnabled:!0,isTemplateEnabled:!0,switchDesktopMobilePropsEnabled:!0,stepToOtherElementEnabled:!0,deleteButtonEnabled:!0,toggleSidePanel:!0,blocksSectionsShow:!0,blocksEmptyEnabled:!0,blocksSavedEnabled:!0,blocksCommonEnabled:!0,blocksTemplateEnabled:!0,blocksSearchEnabled:!0,blocksAddPanelEnabled:!0,imagePathDropdownEnabled:!0,formFieldImageTitleEnabled:!0,formFieldBorderEnabled:!0,formFieldBorderRadiusEnabled:!0,formFieldBoxShadowEnabled:!0,formFieldVisibilityEnabled:!0,formFieldExportAsPictureEnabled:!0,emailPaneDesktopSize:0,formButtonFieldInsertImageEnabled:!0,formButtonFieldVerticalAlignEnabled:!0,formButtonFieldTextAlignEnabled:!0,formButtonFieldBackgroundImageEnabled:!0,formButtonFieldPaddingsEnabled:!0,formCellFieldVerticalAlignEnabled:!0,formCellFieldBackgroundImageEnabled:!0,formCellFieldPaddingsEnabled:!0,formCellFieldSizeEnabled:!0,formButtonFieldReplacerEnabled:!0,formLinkFieldInsertImageEnabled:!0,formTableFieldBackgroundImageEnabled:!0,formDivFieldBackgroundImageEnabled:!0,formImageFieldVerticalAlignEnabled:!0,formImageFieldReplacerEnabled:!0,formImageFieldHeightEnabled:!0,formTextFieldTypografEnabled:!0,formTextFieldReplacerEnabled:!0,formEmailFieldBackgroundImageEnabled:!0,elementImageEnabled:!0,elementTextEnabled:!0,elementHeaderEnabled:!0,elementButtonEnabled:!0,elementListULEnabled:!0,elementListOLEnabled:!0,elementDividerEnabled:!0,elementSpacerEnabled:!0,elementSocialEnabled:!0,elementTableEnabled:!1,elementCountdownEnabled:!0,elementVideoEnabled:!0,elementAIimageEnabled:!0,elementAItextEnabled:!0,elementCarouselEnabled:!0,elementAccordionEnabled:!0,elementFormEnabled:!1,preventSendDataToEM:!1,imageInfoToolUrl:"",resourceProxy:void 0,resourceProxyPolicy:void 0,imageCenterFileManagerView:!1,imageCenterLocalUploadEnabled:!0,imageCenterStockEnabled:!0,imageCenterGifEnabled:!0,imageCenterIconStockEnabled:!0,imageCenterEditorEnabled:!0,compressMaxSize:1,compressMaxWidthOrHeight:2e3,ampExportEnabled:!0,formFieldAmpVisibilityEnabled:!0,testEmails:[],pushToGTM:!0,activeNextButton:!0,iconStrokeWidth:1.4},project:void 0},_o={config:{mode:"pro",autosaveTimeout:5e3,autosaveRetryMaxAttempts:5,autosaveRetryIntervalMs:3e4,theme:"",themes:{},mergeTagsShow:!0,styles:"",revisionService:!1,headerShow:!0,headerTitleVisible:!0,headerPreheaderVisible:!0,headerArrowBackVisible:!0,historyEnabled:!0,codeEnabled:!0,codeSideEnabled:!0,previewIconEnabled:!0,previewModeEnabled:!0,livePreviewEnabled:!0,sendTestEnabled:!0,sharePreviewEnabled:!0,webversionEnabled:!0,commonStylesEnabled:!0,emailResponsiveControlEnabled:!0,templateNotEmAlertShow:!1,beeFreeConverterEnabled:!0,stripoConverterEnabled:!0,aiLayoutConverterEnabled:!1,emailDropdownMenuEnabled:!0,emailDropdownMenuClone:!0,emailDropdownMenuImport:!0,emailDropdownMenuImportButton:!1,emailDropdownMenuConvert:!0,emailDropdownMenuLock:!0,emailDropdownMenuRemove:!0,emailExportEnabled:!0,exportHtmlEnabled:!0,exportZipEnabled:!0,exportTextEnabled:!0,exportMarkdownEnabled:!0,exportClipboardEnabled:!0,exportWebHookEnabled:!0,exportOutlookEnabled:!0,exportPdfEnabled:!0,exportPngEnabled:!0,nextButtonEnabled:!1,nextButtonText:"",saveButtonEnabled:!0,saveButtonText:"",commandButtonsEnabled:!0,emailIdShow:!1,sidePanelFloating:!0,desktopMobileSwitchRule:!0,desktopMobileSwitchPanel:!1,onlyCodeModeInMobile:!1,pathEnabled:!0,copyPasteEnabled:!0,saveBlockEnabled:!0,globalBlockCheckboxEnabled:!0,editImageControlEnabled:!0,lockEditor:!1,lockPreheaderAndTitle:!1,disableSideMenu:!1,menuDirection:"right",defaultBuildPanel:"",commentsEnabled:!0,aiAssistentEnabled:!0,optimizeEnabled:!0,optimizeLinksEnabled:!0,optimizeImagesEnabled:!0,optimizeSpamAssassinEnabled:!0,optimizeCheckCodeEnabled:!0,settingsEnabled:!0,settingsTabEnabled:!0,UTMEnabled:!0,annotationsEnabled:!0,subjectEnabled:!0,preheaderEnabled:!0,descriptionEnabled:!0,tagsEnabled:!0,isTemplateEnabled:!0,switchDesktopMobilePropsEnabled:!0,stepToOtherElementEnabled:!0,deleteButtonEnabled:!0,toggleSidePanel:!0,blocksSectionsShow:!0,blocksEmptyEnabled:!0,blocksSavedEnabled:!0,blocksCommonEnabled:!0,blocksTemplateEnabled:!0,blocksSearchEnabled:!0,blocksAddPanelEnabled:!0,imagePathDropdownEnabled:!0,formFieldImageTitleEnabled:!0,formFieldBorderEnabled:!0,formFieldBorderRadiusEnabled:!0,formFieldBoxShadowEnabled:!0,formFieldVisibilityEnabled:!0,formFieldExportAsPictureEnabled:!0,emailPaneDesktopSize:0,formButtonFieldInsertImageEnabled:!0,formButtonFieldVerticalAlignEnabled:!0,formButtonFieldTextAlignEnabled:!0,formButtonFieldBackgroundImageEnabled:!0,formButtonFieldPaddingsEnabled:!0,formButtonFieldReplacerEnabled:!0,formCellFieldVerticalAlignEnabled:!0,formCellFieldBackgroundImageEnabled:!0,formCellFieldPaddingsEnabled:!0,formCellFieldSizeEnabled:!0,formLinkFieldInsertImageEnabled:!0,formTableFieldBackgroundImageEnabled:!0,formDivFieldBackgroundImageEnabled:!0,formImageFieldVerticalAlignEnabled:!0,formImageFieldReplacerEnabled:!0,formImageFieldHeightEnabled:!0,formTextFieldTypografEnabled:!0,formTextFieldReplacerEnabled:!0,formEmailFieldBackgroundImageEnabled:!0,elementImageEnabled:!0,elementTextEnabled:!0,elementHeaderEnabled:!0,elementButtonEnabled:!0,elementListULEnabled:!0,elementListOLEnabled:!0,elementDividerEnabled:!0,elementSpacerEnabled:!0,elementSocialEnabled:!0,elementTableEnabled:!0,elementCountdownEnabled:!0,elementVideoEnabled:!0,elementAIimageEnabled:!0,elementAItextEnabled:!0,elementCarouselEnabled:!0,elementAccordionEnabled:!0,elementFormEnabled:!1,preventSendDataToEM:!1,imageInfoToolUrl:"",resourceProxy:void 0,resourceProxyPolicy:void 0,imageCenterFileManagerView:!0,imageCenterLocalUploadEnabled:!0,imageCenterStockEnabled:!0,imageCenterGifEnabled:!0,imageCenterIconStockEnabled:!0,imageCenterEditorEnabled:!0,compressMaxSize:1,compressMaxWidthOrHeight:2e3,ampExportEnabled:!0,formFieldAmpVisibilityEnabled:!0,testEmails:[],pushToGTM:!0,activeNextButton:!0,iconStrokeWidth:1.4,fileManager:{defaultFolderName:"",enableMoveFolder:!0,enableEdit:!0,enableTrash:!0,enableCopyFile:!0}},project:void 0,page:{isNew:!0,type:"email",project:0,id:"",showToken:0}},Ar=_o,zc=["pro"],wo={};function Vc(e){wo=e}var So=e=>zc.includes(e)?Ar:wo[e]??Ar,pn={config:{mode:"simple",autosaveTimeout:5e3,autosaveRetryMaxAttempts:5,autosaveRetryIntervalMs:3e4,theme:"",themes:{},mergeTagsShow:!1,styles:"",headerShow:!0,headerTitleVisible:!0,headerPreheaderVisible:!0,headerArrowBackVisible:!0,historyEnabled:!0,codeEnabled:!0,codeSideEnabled:!0,previewIconEnabled:!0,previewModeEnabled:!0,livePreviewEnabled:!0,sendTestEnabled:!0,sharePreviewEnabled:!0,webversionEnabled:!1,commonStylesEnabled:!1,emailResponsiveControlEnabled:!1,templateNotEmAlertShow:!1,beeFreeConverterEnabled:!1,stripoConverterEnabled:!0,aiLayoutConverterEnabled:!1,emailDropdownMenuEnabled:!0,emailDropdownMenuClone:!0,emailDropdownMenuImport:!0,emailDropdownMenuImportButton:!1,emailDropdownMenuConvert:!0,emailDropdownMenuLock:!0,emailDropdownMenuRemove:!0,emailExportEnabled:!0,exportHtmlEnabled:!0,exportZipEnabled:!0,exportTextEnabled:!0,exportMarkdownEnabled:!0,exportClipboardEnabled:!0,exportWebHookEnabled:!0,exportOutlookEnabled:!1,exportPdfEnabled:!0,exportPngEnabled:!0,nextButtonEnabled:!1,nextButtonText:"",saveButtonEnabled:!0,saveButtonText:"",commandButtonsEnabled:!0,emailIdShow:!1,sidePanelFloating:!0,desktopMobileSwitchRule:!0,desktopMobileSwitchPanel:!1,onlyCodeModeInMobile:!1,pathEnabled:!0,copyPasteEnabled:!0,saveBlockEnabled:!0,globalBlockCheckboxEnabled:!0,editImageControlEnabled:!0,lockEditor:!1,lockPreheaderAndTitle:!1,disableSideMenu:!1,menuDirection:"right",defaultBuildPanel:"",commentsEnabled:!0,aiAssistentEnabled:!0,optimizeEnabled:!0,optimizeLinksEnabled:!0,optimizeImagesEnabled:!0,optimizeSpamAssassinEnabled:!0,optimizeCheckCodeEnabled:!0,settingsEnabled:!0,settingsTabEnabled:!0,UTMEnabled:!1,annotationsEnabled:!1,subjectEnabled:!0,preheaderEnabled:!0,descriptionEnabled:!0,tagsEnabled:!0,isTemplateEnabled:!0,switchDesktopMobilePropsEnabled:!0,stepToOtherElementEnabled:!0,deleteButtonEnabled:!0,toggleSidePanel:!0,blocksSectionsShow:!0,blocksEmptyEnabled:!0,blocksSavedEnabled:!0,blocksCommonEnabled:!0,blocksTemplateEnabled:!0,blocksSearchEnabled:!0,blocksAddPanelEnabled:!0,imagePathDropdownEnabled:!0,formFieldImageTitleEnabled:!0,formFieldBorderEnabled:!1,formFieldBorderRadiusEnabled:!1,formFieldBoxShadowEnabled:!1,formFieldVisibilityEnabled:!1,formFieldExportAsPictureEnabled:!1,emailPaneDesktopSize:0,formButtonFieldInsertImageEnabled:!0,formButtonFieldVerticalAlignEnabled:!0,formButtonFieldTextAlignEnabled:!0,formButtonFieldBackgroundImageEnabled:!0,formButtonFieldPaddingsEnabled:!0,formButtonFieldReplacerEnabled:!1,formCellFieldVerticalAlignEnabled:!0,formCellFieldBackgroundImageEnabled:!0,formCellFieldPaddingsEnabled:!0,formCellFieldSizeEnabled:!1,formLinkFieldInsertImageEnabled:!0,formTableFieldBackgroundImageEnabled:!0,formDivFieldBackgroundImageEnabled:!0,formImageFieldVerticalAlignEnabled:!1,formImageFieldReplacerEnabled:!1,formImageFieldHeightEnabled:!1,formTextFieldTypografEnabled:!1,formTextFieldReplacerEnabled:!1,formEmailFieldBackgroundImageEnabled:!0,elementImageEnabled:!0,elementTextEnabled:!0,elementHeaderEnabled:!0,elementButtonEnabled:!0,elementListULEnabled:!0,elementListOLEnabled:!0,elementDividerEnabled:!0,elementSpacerEnabled:!0,elementSocialEnabled:!0,elementTableEnabled:!1,elementCountdownEnabled:!1,elementVideoEnabled:!1,elementAIimageEnabled:!0,elementAItextEnabled:!1,elementCarouselEnabled:!1,elementAccordionEnabled:!1,elementFormEnabled:!1,preventSendDataToEM:!1,imageInfoToolUrl:"",resourceProxy:void 0,resourceProxyPolicy:void 0,imageCenterFileManagerView:!0,imageCenterLocalUploadEnabled:!0,imageCenterStockEnabled:!0,imageCenterGifEnabled:!0,imageCenterIconStockEnabled:!0,imageCenterEditorEnabled:!0,compressMaxSize:1,compressMaxWidthOrHeight:2e3,ampExportEnabled:!1,formFieldAmpVisibilityEnabled:!1,testEmails:[],pushToGTM:!0,activeNextButton:!0,iconStrokeWidth:1.4,fileManager:{defaultFolderName:"",enableMoveFolder:!0,enableEdit:!0,enableTrash:!0}},project:void 0},Kc={config:{mode:"editor",autosaveTimeout:5e3,autosaveRetryMaxAttempts:5,autosaveRetryIntervalMs:3e4,theme:"",themes:{},mergeTagsShow:!1,styles:"",headerShow:!0,headerTitleVisible:!0,headerPreheaderVisible:!0,headerArrowBackVisible:!0,historyEnabled:!0,codeEnabled:!1,codeSideEnabled:!0,previewIconEnabled:!0,previewModeEnabled:!0,livePreviewEnabled:!0,sendTestEnabled:!0,sharePreviewEnabled:!1,webversionEnabled:!1,commonStylesEnabled:!1,emailResponsiveControlEnabled:!1,templateNotEmAlertShow:!1,beeFreeConverterEnabled:!0,stripoConverterEnabled:!0,aiLayoutConverterEnabled:!1,emailDropdownMenuEnabled:!1,emailDropdownMenuClone:!0,emailDropdownMenuImport:!1,emailDropdownMenuImportButton:!1,emailDropdownMenuConvert:!0,emailDropdownMenuLock:!0,emailDropdownMenuRemove:!0,emailExportEnabled:!0,exportHtmlEnabled:!0,exportTextEnabled:!1,exportMarkdownEnabled:!1,exportZipEnabled:!0,exportClipboardEnabled:!1,exportWebHookEnabled:!1,exportOutlookEnabled:!0,exportPdfEnabled:!0,exportPngEnabled:!0,nextButtonEnabled:!1,nextButtonText:"",saveButtonEnabled:!0,saveButtonText:"",commandButtonsEnabled:!0,emailIdShow:!1,sidePanelFloating:!0,desktopMobileSwitchRule:!0,desktopMobileSwitchPanel:!1,onlyCodeModeInMobile:!1,pathEnabled:!0,copyPasteEnabled:!1,saveBlockEnabled:!0,globalBlockCheckboxEnabled:!0,editImageControlEnabled:!0,lockEditor:!1,lockPreheaderAndTitle:!1,disableSideMenu:!1,menuDirection:"right",defaultBuildPanel:"",commentsEnabled:!1,aiAssistentEnabled:!1,optimizeEnabled:!1,optimizeLinksEnabled:!0,optimizeImagesEnabled:!0,optimizeSpamAssassinEnabled:!0,optimizeCheckCodeEnabled:!0,settingsEnabled:!0,settingsTabEnabled:!0,UTMEnabled:!1,annotationsEnabled:!1,subjectEnabled:!0,preheaderEnabled:!0,descriptionEnabled:!1,tagsEnabled:!0,isTemplateEnabled:!1,switchDesktopMobilePropsEnabled:!0,stepToOtherElementEnabled:!1,deleteButtonEnabled:!0,toggleSidePanel:!1,blocksSectionsShow:!0,blocksEmptyEnabled:!0,blocksSavedEnabled:!0,blocksCommonEnabled:!0,blocksTemplateEnabled:!0,blocksSearchEnabled:!0,blocksAddPanelEnabled:!0,imagePathDropdownEnabled:!1,formFieldImageTitleEnabled:!1,formFieldBorderEnabled:!1,formFieldBorderRadiusEnabled:!1,formFieldBoxShadowEnabled:!1,formFieldVisibilityEnabled:!1,formFieldExportAsPictureEnabled:!1,emailPaneDesktopSize:0,formButtonFieldInsertImageEnabled:!1,formButtonFieldVerticalAlignEnabled:!0,formButtonFieldTextAlignEnabled:!1,formButtonFieldBackgroundImageEnabled:!0,formButtonFieldPaddingsEnabled:!1,formButtonFieldReplacerEnabled:!1,formCellFieldVerticalAlignEnabled:!1,formCellFieldBackgroundImageEnabled:!0,formCellFieldPaddingsEnabled:!0,formCellFieldSizeEnabled:!1,formLinkFieldInsertImageEnabled:!0,formTableFieldBackgroundImageEnabled:!0,formDivFieldBackgroundImageEnabled:!0,formImageFieldVerticalAlignEnabled:!1,formImageFieldReplacerEnabled:!1,formImageFieldHeightEnabled:!1,formTextFieldTypografEnabled:!1,formTextFieldReplacerEnabled:!1,formEmailFieldBackgroundImageEnabled:!0,elementImageEnabled:!0,elementTextEnabled:!0,elementHeaderEnabled:!0,elementButtonEnabled:!0,elementListULEnabled:!0,elementListOLEnabled:!0,elementDividerEnabled:!0,elementSpacerEnabled:!0,elementSocialEnabled:!0,elementTableEnabled:!0,elementCountdownEnabled:!0,elementVideoEnabled:!1,elementAIimageEnabled:!0,elementAItextEnabled:!1,elementCarouselEnabled:!1,elementAccordionEnabled:!1,elementFormEnabled:!1,preventSendDataToEM:!1,imageInfoToolUrl:"",resourceProxy:void 0,resourceProxyPolicy:void 0,imageCenterFileManagerView:!0,imageCenterLocalUploadEnabled:!0,imageCenterStockEnabled:!0,imageCenterGifEnabled:!0,imageCenterIconStockEnabled:!0,imageCenterEditorEnabled:!0,compressMaxSize:1,compressMaxWidthOrHeight:2e3,ampExportEnabled:!1,formFieldAmpVisibilityEnabled:!1,testEmails:[],pushToGTM:!0,activeNextButton:!0,iconStrokeWidth:1.4},project:void 0},Wc={...pn,config:{...pn.config,imageCenterFileManagerView:!1}};Vc({pro:_o,editor:Kc,simple:$c()?pn:Wc,freeUserBlocks:Tr,blocks:Tr});var Cr=new Set;function Yc(){return window.localStorage.getItem(yt.em_color_scheme)??void 0}function Xc(e){return Cr.add(e),e(Yc()),{dispose(){Cr.delete(e)}}}function Gn(e,t){return e.user.mode||e.serverSide.mode||t||"pro"}function Jc(e,t){return t.modeDefaults(Gn(e,t.fallbackMode))}function Qc(e,t){const n=Gn(e,t);return e.serverSide.advancedConfigs?.[n]||{}}function Zc(e,t){const n=Gn(e,t),r=e.user?.advancedConfigs?.[n],i=r!==void 0?r:e.user?.advancedConfigs?.pro;return{...e.advancedConfigs?.[n],...i}}function eu(e){let t;for(const n of e)n?.fileManager&&(t={...t,...n.fileManager});return t}function tu(e){return fs(e.map(t=>t?.resourceProxy))}function nu(e){return us(e.map(t=>t?.resourceProxyPolicy))}function ru(e){return Ts(e.map(t=>t?.backendProxy))}function iu(e){return mi(e.map(t=>t?.backendProxyPolicy||{}).filter(Boolean))}function ou(e,t){return[e.base,Jc(e,t),e.profile,e.serverSide,Qc(e,t.fallbackMode),e.user,Zc(e,t.fallbackMode),e.local]}function Mt(e,t){const n=ou(e,t),r=mi(n),i=eu(n);i!==void 0&&(r.fileManager=i);const o=tu(n);o!==void 0&&(r.resourceProxy=o);const s=nu(n);s&&Object.keys(s).length>0&&(r.resourceProxyPolicy=s);const d=ru(n);d!==void 0&&(r.backendProxy=d);const a=iu(n);return a&&Object.keys(a).length>0&&(r.backendProxyPolicy=a),r}var su=["backendProxy","backendProxyPolicy","resourceProxy","resourceProxyPolicy"];function Rr(e){return e==="server"?"serverSide":e}function au({env:e,base:t={},budgetMs:n}){const r={base:t,profile:{},serverSide:{},user:{},local:{},advancedConfigs:{}},i=Me();let o={kind:"pending"},s;const d=new Promise(b=>{s=b}),a=n===void 0?void 0:setTimeout(()=>{u({kind:"absent",reason:`серверный слой не пришёл за ${n} мс`})},n);function f(){o.kind!=="pending"&&i.set(Mt(r,e))}function u(b){if(o.kind!=="pending")return;clearTimeout(a),o=b;const E=Mt(r,e);i.set(E),s(E)}function v(b,E){r[Rr(b)]=E,b==="server"&&o.kind==="pending"?u({kind:"applied"}):f()}return{watch:b=>i.watch(b),select:b=>i.select(b),get:()=>i.get(),ready:()=>d,state:()=>o,layers:()=>({...r}),bootstrap(){const b=Mt(r,e);return Object.fromEntries(su.map(E=>[E,b[E]]))},merge(b,E){v(E,{...r[Rr(E)],...b})},replace(b,E){v(E,b)},setMode(b){r.user={...r.user,mode:b},f()},setAdvancedConfigs(b){r.advancedConfigs=b,f()},serverAbsent(b){u({kind:"absent",reason:b})},applyServerResponse(b){o.kind==="pending"&&v("server",{...r.serverSide,...b})},dispose(){clearTimeout(a)}}}var lu=5e3;function du(){return{...So("pro")?.config,mergeTags:void 0}}function cu(e,t){e.getInstance(se)?.watch(n=>{t.setAdvancedConfigs({...n.advancedConfigs,...n.config?.advancedConfigs}),t.replace(n.config??{},"user")})}function uu(e,t){let n;Zi(e).watch(({profile:r})=>{const i=`${r?.theme??""}|${r?.locale??""}`;if(i===n)return;n=i;const o={};r?.theme&&(o.theme=r.theme),r?.locale&&(o.locale=r.locale),t.replace(o,"profile")})}function fu(e,t){let n=null;const r=Xc(i=>{const o=typeof i=="string"&&i?i:void 0;o!==n&&(n=o,t.replace(o?{theme:o}:{},"local"))});e.getInstance(j)?.addDisposable(r)}async function pu(e,t){if(e.getInstance(Ln)===void 0){t.serverAbsent("app_init не зарегистрирован");return}try{const n=await e.getInstanceAsync(Pe);t.applyServerResponse(n?.app_config??{})}catch(n){t.serverAbsent(`app_init не выполнился: ${String(n)}`)}}function mu(e){e.injectFactory(we,(t,n)=>{if(n)return n;const r=au({base:du(),env:{modeDefaults:i=>So(i)?.config||{},fallbackMode:localStorage.getItem("configSwither")||void 0},budgetMs:lu});return cu(e,r),uu(e,r),fu(e,r),pu(e,r),e.getInstance(j)?.addDisposable(r),r},!0)}var Re=class extends ee{_event;_listener;_disposeEvent;constructor(e){super(),this._event=e}setListener(e){this._listener!==e&&(this._listener=e,this._disposeEvent&&this._disposeEvent(),e?this._disposeEvent=this._event(e):this._disposeEvent=void 0)}dispose(){this._disposeEvent&&this._disposeEvent(),super.dispose()}};function N(e,t,n){const r=cs(e);return(i,o,s)=>{const d=r(async a=>{const f=t?t(a):a;s&&i.bind(s);const u=await i(f);return n?n(u):u},o,s);return()=>d.dispose()}}var hu=class{deps;handleDestroy;constructor(e){this.deps=e;const t=new nn;this.handleDestroy=N(t.event),e.lifetime.addDispose(()=>t.fire(e.getInstance()));const n=e.lifetime.addDisposable(new Re(this.handleDestroy));e.lifetime.addDisposable(t),e.lifetime.addDisposable(e.options.watch(({handleDestroy:r})=>n.setListener(r))),e.lifetime.addDispose(()=>e.release())}destroy(){if(!this.deps.lifetime.isDisposed())try{this.deps.lifetime.dispose()}catch{}}},qn=L("DestroyableService");function gu(e){e.injectFactory(qn,()=>{const t=e.getInstance(j);if(!t)throw new Error("[plugin] время жизни экземпляра не зарегистрировано");return new hu({lifetime:t,options:e.getInstance(se),getInstance:()=>e.getInstance(_t),release:()=>Bs(e.getInstance(ks)??e)})},!0)}function vu(e){const t=e.getInstance(qn);if(!t)throw new Error("[plugin] provideDestroyable не выполнен до сборки поверхности");return{handleDestroy:t.handleDestroy,destroy:()=>t.destroy()}}var bu=1e3;function Io(e,t,n=bu,r=0){if(r>n||e===t)return!0;if(typeof e!=typeof t||e===null||t===null)return!1;if(typeof e=="object"&&typeof t=="object"){if(Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;const i=Object.keys(e),o=Object.keys(t);if(i.length!==o.length)return!1;for(const s of i)if(!Io(e[s],t[s],n,r+1))return!1;return!0}return!1}function Ge(e,t){if(!e||typeof e!="object")return t;if(!t||typeof t!="object")return{};const n={};for(const r of Object.keys(t)){const i=t[r],o=e[r];Io(i,o)||(n[r]=i)}return n}var Eu=class extends Error{timeoutMs;constructor(e){super(`[emailmaker] handleSaveEmail не ответил за ${e}ms — письмо не сохранено`),this.timeoutMs=e,this.name="IntegratorSaveTimeoutError"}},yu=({source:e,emailtags:t,group:n,tags:r,...i})=>i,_u=()=>Oi();async function wu({emails:e},t){const n=_u();let r;try{return await Promise.race([e.notifySave(t),new Promise((i,o)=>{r=setTimeout(()=>{const s=new Eu(n);t.value.id,o(s)},n)})])}finally{r!==void 0&&clearTimeout(r)}}function Su(e){const{emails:t}=e,n=async(r,i)=>{const o=yu(i),s=r===void 0?void 0:await t.cache.getIfPresent(r),d=s?{...s,...o}:o,a=await wu(e,{prev:s,patch:s?Ge(s,o):o,value:d,source:i.source??""}),f=String(a.id??r??ce()),u=a.id===void 0?{...a,id:f}:a;return await t.cache.addOrUpdate(f,()=>u)};return{async readEmail(r){return await t.get(r)??null},async createEmail(r){const i=await n(void 0,r);return i?.renderGuid?i:{...i,renderGuid:ce()}},async updateEmail(r,i){return await n(r,i)}}}var kt=20,Iu=({source:e,emailtags:t,group:n,tags:r,...i})=>i;function Tu({revisions:e,revisionsByEmail:t}){const n=async(r,i)=>(t.clear(),await t.get(r,{page:i}),(await e.cache.values()??[]).filter(o=>String(o?.parent)===String(r)));return{async readRevisions(r,i=1){const o=await n(r,i);return{revisions:o.slice(kt*(i-1),kt*i),page:i,hasMore:o.length>kt*i}},async readAutosave(r){return Qa(await n(r,1))},async saveAutosave(r,i){const o=Iu(i);return await e.create({...o,parent:r,modified:new Date().toString()})}}}var Au=class extends Ks{async execute([e],t){for(const n of t){const r=await n(e);r&&(r.id===void 0&&(r.id=e.value.id),e.value=r)}return e.value}},Cu=class extends pe{};var Pr=class extends ee{_items=new Map;_onChangeEmitter=new Ds;async _getOrCreate(e,t){const n=this._items;let r;if(n.has(e))try{r=await n.get(e)}catch{t&&(r=await t())}else t&&(r=await t(),r&&this._onChangeEmitter.fire());return r}async _addOrUpdate(e,t){let n;const r=this._items;if(r.has(e))try{n=await r.get(e)}catch{}const i=await t(n);return mt(n,i)||this._onChangeEmitter.fire(),i}entries(){return Promise.all([...this._items.entries()].map(([e,t])=>t.then(n=>[e,n]))).then(e=>e.filter(([t,n])=>!!n))}values(){return Promise.all([...this._items.values()].map(e=>e).filter(e=>!!e))}getOrCreate(e,t){const n=this._getOrCreate(e,()=>t(e));return this._items.set(e,n),n}addOrUpdate(e,t){const n=this._addOrUpdate(e,t);return this._items.set(e,n),n}async getIfPresent(e){if(this._items.has(e))try{return await this._items.get(e)}catch{return}}add(e,t){const n=Promise.resolve(t);return this._items.set(e,n),n}remove(e){if(this._items.has(e)){const t=this._items.get(e);return this._items.delete(e),this._onChangeEmitter.fire(),t}return Promise.resolve(void 0)}async setAll(e){try{this.suspendChange();const t=[],n=new Set(Array.from(e).map(([i,o])=>i)),r=(await this.entries()).filter(([i,o])=>!n.has(i));for(const[i,o]of e)t.push(this.addOrUpdate(i,()=>o)),n.add(i);for(const[i]of r)t.push(this.remove(i));return await Promise.all(t),r}finally{this.resumeChange()}}clear(){this._items.clear(),this._onChangeEmitter.fire()}suspendChange(){this._onChangeEmitter.suspend()}resumeChange(){this._onChangeEmitter.resume()}onChange=this._onChangeEmitter.event};function Ru(e,{filter:t,order:n="asc",orderBy:r,page:i,pageSize:o=20}={}){const s=e.length;let d=e.length;if(t!==void 0){const a=Object.keys(t);e=e.filter(f=>{for(const u of a){const v=f[u],b=t[u];return u==="id"||typeof v!="string"?v===b:typeof b=="string"&&v.startsWith(b)}return!0}),d=e.length}return r&&(e=e.sort((a,f)=>(a[r]>f[r]?1:f[r]>a[r]?-1:0)*(n==="asc"?1:-1))),i!==void 0&&(e=e.slice(o*(i-1),o*i)),{data:e,filteredTotal:d,total:s,totalPages:Math.ceil(d/o)}}function Pu(e=[]){if(e=e.filter(n=>n),e.length<=1)return e[0];const t=new Map;for(const n of e)for(const r of n)if(r.id!==void 0){const i=t.get(r.id)||{};t.set(r.id,{...i,...r})}return[...t].map(([n,r])=>r)}function Du(e,t){return Dr(e)&&Dr(t)?String(e)===String(t):e===t}function Dr(e){return typeof e=="string"||typeof e=="number"}var Ou=class extends ee{_cache=new Pr;_readEmitter=new pe;_saveEmitter=this.addDisposable(new Au);_removeEmitter=this.addDisposable(new Cu);_foreignCache=Object.create(null);async get(e){return this._cache.getOrCreate(e,async t=>Object.assign({id:e},...(await this._readEmitter.fire(e)).filter(n=>!!n)))}get cache(){return this._cache}byForeignKey(e){let t=this._foreignCache[e];if(!t){const n=this.addDisposable(new ee);n.addDispose(()=>delete this._foreignCache[e]);const r=n.addDisposable(new Pr),i=n.addDisposable(new pe);t=this._foreignCache[e]={get:async(o,s={})=>{await r.getOrCreate(o,async()=>{try{const a=Pu(await i.fire(o))||[];for(const f of a)f[e]=o,await this._cache.add(f.id,f);return a}catch{return[]}});const d=(await this._cache.values()||[]).filter(a=>{const f=a[e];return f==null||Du(f,o)});return Ru(d,s)},first(o,s={}){return t.get(o,{...s,page:1,pageSize:1}).then(({data:d})=>d[0])},handleRead:i.event,clear(){r.clear()},dispose(){n.dispose()}}}return t}async create(e,{source:t="",silent:n}={}){let r=e;return n||(r=await this._saveEmitter.fire({prev:void 0,patch:e,value:r,source:t})),r.id===void 0&&(r.id=ce()),await this._cache.addOrUpdate(r.id,()=>r)}notifySave(e){return this._saveEmitter.fire(e)}async update(e,t,{source:n="",silent:r}={}){return this._cache.addOrUpdate(e,async i=>{const o=i?{...i,...t}:t;if(!r)return t=i?Ge(i,t):t,await this._saveEmitter.fire({prev:i,patch:t,value:o,source:n})})}async remove(e,{source:t="",silent:n}={}){const r=await this._cache.remove(e);return n||await this._removeEmitter.fire({value:r,source:t}),r}refresh(){this._cache.clear();for(const e of Object.values(this._foreignCache))e.clear()}suspendChange(){this._cache.suspendChange()}resumeChange(){this._cache.resumeChange()}handlerRead=this._readEmitter.event;onSave=this._saveEmitter.event;onRemove=this._removeEmitter.event;onChange=this._cache.onChange};function Je(e){const t=L(e);return n=>n.getOrCreateInstance(t,()=>new Ou)}function xu(e){const t=e.getInstance(j);if(!t)throw new Error("Failed");return t}function Or(e){return Object.prototype.hasOwnProperty.call(e,"meta")}function Lu(e,t,n){return e&&!Or(t)&&Or(e)?{...n,meta:e.meta}:n}var To=Je("plugin.dataSource.emails"),Ao=Je("plugin.dataSource.emailRevisions"),xr=L("emailDocuments.provided");function Mu(e){const t=To(e),n=Ao(e),r=n.byForeignKey("parent");return e.getInstance(xr)?{emails:t,emailRevisions:n}:(e.inject(xr,!0),bl(e,Su({emails:t})),wl(e,Tu({revisions:n,revisionsByEmail:r})),xu(e).addDisposable(t.onSave(({prev:i,patch:o,value:s})=>Lu(i,o,s),Number.MIN_VALUE)),{emails:t,emailRevisions:n})}function Lr(e,t){return!e?.data||!t||e.id!==t.locale?!1:t.contentHash?e.hash===t.contentHash:t.updatedAt>0&&t.updatedAt<=e.time}function ku(e){try{return localStorage.getItem(e)===null?!1:(localStorage.removeItem(e),!0)}catch{return!1}}var Nu="po",at=null;function Fu(){const e=typeof window.__emailmaker__<"u"?window.__emailmaker__?.require:void 0;return typeof e!="function"?Promise.reject(new Error("[loadPoParser] AMD loader is unavailable")):new Promise((t,n)=>{e([Nu],r=>t(r),r=>n(r instanceof Error?r:new Error("[loadPoParser] Failed to require po module")))})}function ju(){return at===null&&(at=Fu().catch(e=>{throw at=null,e})),at}async function Co(e){if(typeof e=="object")return $n(e);if(typeof e!="string")return;const t=e.trim();if(t)return t.startsWith("{")||t.startsWith("[")?Bu(t):Uu(t)}function $n(e){if(!(e==null||typeof e!="object"||Array.isArray(e)))return e}function Bu(e){try{return $n(JSON.parse(e))}catch{return}}var Mr=!1;async function Uu(e){try{return $n((await ju()).parsePoCatalog(e))}catch{Mr||(Mr=!0);return}}var Hu="em_locale",Gu="em_ant_locale",qu="locale",$u="ant_locale";function zn(e){try{return JSON.parse(localStorage.getItem(e)||"")}catch{return null}}function Ro(e,t){const n=zn(e);if(!n)return null;try{localStorage.removeItem(e),localStorage.setItem(t,JSON.stringify(n))}catch{}return n}function zu(){return zn("em_locale")??Ro(qu,"em_locale")}function kr(e){try{localStorage.setItem(Hu,JSON.stringify(e))}catch{}}function Vu(){return zn("em_ant_locale")??Ro($u,"em_ant_locale")}function Ku(e,t){try{localStorage.setItem(Gu,JSON.stringify({id:e,data:t}))}catch{}}var Wu=8e3;function Yu(e,t){const n=e,r=t,i=Object.keys(n).filter(o=>o!=="");return i.length!==Object.keys(r).filter(o=>o!=="").length?!1:i.every(o=>JSON.stringify(n[o])===JSON.stringify(r[o]))}function Xu(e){const t=zu(),n=Vu();let r={ready:!1},i;const o=Me(r);let s=0;const d=y=>{r={...r,...y},o.set(r)},a=()=>{r.ready||d({ready:!0})},f=setTimeout(a,e.unlockAfterMs??Wu),u=y=>y!==s;let v;async function b(y,_){if(n?.id===y&&n.data&&d({antd:n.data}),!v)return;const S=await v(y).catch(()=>{});!S||u(_)||(d({antd:S}),Ku(y,S))}async function E(y,_){const S=await e.askHost(y).catch(()=>null);if(u(_))return!0;if(S==null)return!1;const A=await Co(S);return u(_)||(A&&d({catalog:A}),a()),!0}async function I(y,_){const S=await e.readList();if(u(_))return;if("error"in S){d({failure:{kind:"GET_LOCALES_ERROR",error:S.error}}),a();return}const A=S.data.find(c=>c.locale===y);if(!A){ku("em_locale")&&d({catalog:void 0}),a();return}if(Lr(t,A)&&(!i||i.catalog===t?.data)){a();return}if(i?.entry&&r.catalog===i.catalog&&Lr(i.entry,A)){kr(i.entry),a();return}const m=await e.readCatalog(y);if(!u(_)){if("error"in m){d({failure:{kind:"GET_LOCALE_ERROR",error:m.error}}),a();return}m.data&&(i?.id===y&&r.catalog===i.catalog&&Yu(i.catalog,m.data)||d({catalog:m.data}),kr({id:y,time:A.updatedAt||Math.floor(Date.now()/1e3),hash:A.contentHash,data:m.data})),a()}}async function g(y,_){if(!await E(y,_)){if(!u(_)&&(i?.id===y&&r.catalog===i.catalog||y==="en_US")&&a(),e.canUseNetwork&&!e.canUseNetwork()){a();return}await I(y,_)}}return{set(y){if(!y||y===r.id)return;const _=s+=1;d({id:y,failure:void 0});const S=i?.id===y&&r.catalog===i.catalog;(i&&!S&&r.catalog===i.catalog||y==="en_US"&&r.catalog)&&d({catalog:void 0}),t?.id===y&&t.data&&(d({catalog:t.data}),a()),b(y,_),g(y,_)},prime(y,_,S){r.id||r.catalog||!_||(i=t?.id===y&&t.data&&(!S||t.time>=S.time)?{id:y,catalog:t.data}:{id:y,catalog:_,entry:S?{id:y,time:S.time,hash:S.hash,data:_}:void 0},d({catalog:i.catalog}))},useAntdLoader(y){v=y,r.id&&b(r.id,s)},state:o,snapshot:()=>r,dispose:()=>clearTimeout(f)}}var Ju=class{http;constructor(e){this.http=e}jsonList=({locale:e},t={})=>this.http.request({path:`/translations/${e}.json`,method:"GET",format:"json",...t});getTranslations=({locale:e},t={})=>this.http.request({path:`/translations/${e}.po`,method:"GET",...t});localesList=(e={})=>this.http.request({path:"/translations/locales",method:"GET",format:"json",...e})},Qu=class{baseUrl="/api/v2";securityData=null;securityWorker;abortControllers=new Map;customFetch=(...e)=>fetch(...e);baseApiParams={credentials:"same-origin",headers:{},redirect:"follow",referrerPolicy:"no-referrer"};constructor(e={}){Object.assign(this,e)}setSecurityData=e=>{this.securityData=e};encodeQueryParam(e,t){return`${encodeURIComponent(e)}=${encodeURIComponent(typeof t=="number"?t:`${t}`)}`}addQueryParam(e,t){return this.encodeQueryParam(t,e[t])}addArrayQueryParam(e,t){return e[t].map(n=>this.encodeQueryParam(t,n)).join("&")}toQueryString(e){const t=e||{};return Object.keys(t).filter(n=>typeof t[n]<"u").map(n=>Array.isArray(t[n])?this.addArrayQueryParam(t,n):this.addQueryParam(t,n)).join("&")}addQueryParams(e){const t=this.toQueryString(e);return t?`?${t}`:""}contentFormatters={"application/json":e=>e!==null&&(typeof e=="object"||typeof e=="string")?JSON.stringify(e):e,"application/vnd.api+json":e=>e!==null&&(typeof e=="object"||typeof e=="string")?JSON.stringify(e):e,"text/plain":e=>e!==null&&typeof e!="string"?JSON.stringify(e):e,"multipart/form-data":e=>e instanceof FormData?e:Object.keys(e||{}).reduce((t,n)=>{const r=e[n];return t.append(n,r instanceof Blob?r:typeof r=="object"&&r!==null?JSON.stringify(r):`${r}`),t},new FormData),"application/x-www-form-urlencoded":e=>this.toQueryString(e)};mergeRequestParams(e,t){return{...this.baseApiParams,...e,...t||{},headers:{...this.baseApiParams.headers||{},...e.headers||{},...t&&t.headers||{}}}}createAbortSignal=e=>{if(this.abortControllers.has(e)){const n=this.abortControllers.get(e);return n?n.signal:void 0}const t=new AbortController;return this.abortControllers.set(e,t),t.signal};abortRequest=e=>{const t=this.abortControllers.get(e);t&&(t.abort(),this.abortControllers.delete(e))};request=async({body:e,secure:t,path:n,type:r,query:i,format:o,baseUrl:s,cancelToken:d,...a})=>{const f=(typeof t=="boolean"?t:this.baseApiParams.secure)&&this.securityWorker&&await this.securityWorker(this.securityData)||{},u=this.mergeRequestParams(a,f),v=i&&this.toQueryString(i),b=this.contentFormatters[r||"application/json"],E=o||u.format;return this.customFetch(`${s||this.baseUrl||""}${n}${v?`?${v}`:""}`,{...u,headers:{...u.headers||{},...r&&r!=="multipart/form-data"?{"Content-Type":r}:{}},signal:(d?this.createAbortSignal(d):u.signal)||null,body:typeof e>"u"||e===null?null:b(e)}).then(async I=>{const g=I;g.data=null,g.error=null;const y=E?I.clone():I,_=E?await y[E]().then(S=>(g.ok?g.data=S:g.error=S,g)).catch(S=>(g.error=S,g)):g;return d&&this.abortControllers.delete(d),_})}},Zu=L("rest.v2.transport"),Nr=Symbol("rest.v2.secureRequest");function ef(e){return e.getOrCreateInstance(Zu,()=>{const t=e.getInstance(pi)?.execute||fetch;return new Qu({baseUrl:"https://app.emailmaker.ru/api/v2",securityWorker:()=>({[Nr]:!0}),customFetch:(n,r={})=>{const{[Nr]:i,...o}=r;return t(n,{...o,[hs]:i!==!0})}})})}function tf(e,t){const n=ef(e);return Object.assign({},...t.map(r=>new r(n)))}function Fr(e,t){if(e!=null&&typeof e=="object"){const n=e[t];if(typeof n=="string"&&n!=="")return n}}function Po(e){const t=e.error,n=t?.error;return n&&typeof n=="object"?{status:e.status,data:{code:Fr(n.details,"wp_code")??n.code,message:Fr(n.details,"wp_message")??n.message,details:n.details}}:t&&typeof t=="object"?{status:e.status,data:t}:{status:e.status,data:{message:e.statusText||"request failed"}}}function Do(e){return!e.ok||!!e.error}function nf(e){try{const t=localStorage.getItem(e);if(t==="true")return!0;if(t==="false")return!1}catch{}}function Oo(){return nf(yt.em_translations_v2)??!0}function rf(e){return typeof e=="number"&&Number.isFinite(e)?e:0}function of(e){const t=e?Date.parse(e):NaN;return Number.isNaN(t)?0:Math.floor(t/1e3)}function sf(e){return Array.isArray(e)?e.reduce((t,n)=>{const r=Array.isArray(n)?n:[],i=r[0];return typeof i=="string"&&i!==""&&t.push({locale:i,updatedAt:rf(r[1])}),t},[]):[]}function af(e){return(e?.items??[]).reduce((t,n)=>(n.locale&&t.push({locale:n.locale,updatedAt:of(n.updated_at),contentHash:n.content_hash}),t),[])}function xo(e){return tf(e,[Ju])}function Et(e){return{error:{status:"FETCH_ERROR",error:e instanceof Error?e.message:"locale request failed"}}}function mn(e){return!e.ok||e.error!=null}function hn(e){const t=e.error;return{error:{status:e.status,data:t?.data??e.error}}}async function Nt(e){return{data:await Co(e)??null}}async function lf(e){if(Oo())try{const n=await xo(e).localesList();return Do(n)?{error:Po(n)}:{data:af(n.data)}}catch(n){return Et(n)}const t=gi(e,[wi]);try{const n=await t.get_translations2({file:"react_app"});return mn(n)?hn(n):{data:sf(n.data)}}catch(n){return Et(n)}}async function df(e,t){if(Oo())try{const r=await xo(e).jsonList({locale:t});return Do(r)?{error:Po(r)}:Nt(r.data)}catch(r){return Et(r)}const n=gi(e,[wi]);try{const r=await n.get_translations3({id:t,file:"react_app"});return mn(r)?hn(r):Nt(r.data)}catch{try{const r=await n.get_translations3({id:"en_US",file:"react_app"});return mn(r)?hn(r):Nt(r.data)}catch(r){return Et(r)}}}var ze=L("locale.service");function cf(e){if(e.getInstance(ze))return;const t=Xu({readList:()=>lf(e),readCatalog:n=>df(e,n),askHost:async n=>(await oe(e,B.READ_LOCALE).fire(n))[0],canUseNetwork:()=>!e.getInstance(me)});e.inject(ze,t),e.getInstance(j)?.addDispose(()=>t.dispose())}function uf(e){const t=e.getInstance(we);if(!t)return;const n=e.getInstance(ze);if(!n)return;const r=t.select(i=>i.locale).watch(i=>n.set(i));e.getInstance(j)?.addDisposable(r)}var ff="user_id",pf="project_id",jr=L("rest.identityHeadersProvided");function mf(e){if(e.getInstance(jr))return;e.inject(jr,!0);let t;e.getInstance(se)?.watch(n=>{t=n}),e.addService(Pn,{execute(n,r){if(r?.public)return;const i=t?.user?.id??eo(e).profile?.id;i!=null&&i!==""&&n.headers.set(ff,String(i));const o=t?.project;o!=null&&o!==""&&n.headers.set(pf,String(o))}})}function hf(e){if(!e)return!1;try{return e.getInstance(me)!==void 0}catch{return!1}}var gf="Invalid standaloneKey.",Nh=L("StandaloneMockGuard");function vf(){const e=new Error(gf);return e.name="InvalidStandaloneKeyError",e}function bf(e){e.addService(Pn,{execute:()=>{if(hf(e))throw vf()}})}function Ef(e){Ps(e),bf(e)}function yf(e){const t=new ho;e.inject(De,t);let n;const r=e.getInstance(se)?.watch(o=>{o&&(o.signal!==void 0&&(n=o.signal),t.configure({replaceSession:!0,...o.timeouts!==void 0?{timeouts:o.timeouts}:{},...n!==void 0?{signal:n}:{}}))}),i=e.getInstance(j);r&&i?.addDisposable(r),i?.addDispose(()=>{t.abort()})}var _f=Je("plugin.dataSource.blocks"),wf=Je("plugin.dataSource.blockRevisions"),Sf=Je("plugin.dataSource.comments"),If=mo(),Tf=mo(),Lo=`<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
1004
1004
|
<html>
|
|
1005
1005
|
<head>
|
|
1006
1006
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
@@ -1041,10 +1041,10 @@ import{t as si}from"./static/esm/50fbfdf6.js";import{$ as Qo,A as Zo,At as le,B
|
|
|
1041
1041
|
</tr>
|
|
1042
1042
|
</table>
|
|
1043
1043
|
</body>
|
|
1044
|
-
</html>`;function
|
|
1044
|
+
</html>`;function Af(e){return{isNew:!0,is_inited:!1,subject:void 0,preheader:void 0,description:"",html:Lo,project:e?.id,project_title:e?.title??"",tags:[],utm_parameters:{utm_source:"",utm_medium:"",utm_campaign:"",utm_term:"",utm_content:""},parent_email:null,common_styles:"{}",title:"",emailtags:[],isAmp:!1}}var Cf=L("CurrentProject"),Rf={};function St(e){return e?.getInstance(Cf)?.get()??Rf}function Mo(e){const t=St(e).card?.id,n=Number(t);return t!=null&&t!==""&&Number.isFinite(n)?n:void 0}var ko=new Set(["email","block","blocks","autosaves","revisions","comments","templateId","reload"]);function Pf(e){return!Object.keys(e).some(t=>ko.has(t))}function Df(e){const t={},n={};for(const[r,i]of Object.entries(e))ko.has(r)?t[r]=i:n[r]=i;return{showOptions:t,misplacedEmailFields:n}}function Br(e){const t=e.id;if(!(t===null||typeof t=="string"&&t.trim()===""))return e;const n={...e};return delete n.id,n}function It(e){return{emails:To(e),blocks:_f(e),emailRevisions:Ao(e),blocksRevision:wf(e),comments:Sf(e)}}function Of(e){const t=Object.values(It(e));return{suspendChange(){t.forEach(n=>n.suspendChange())},resumeChange(){t.forEach(n=>n.resumeChange())}}}function Vn(e,t=!0){if(typeof e=="string")return{email:{code:e}};if(Pf(e))return{email:Br(e)};{const{showOptions:n,misplacedEmailFields:r}=Df(e),i=Object.keys(r);t&&i.length>0&&void 0;const o=typeof e.email=="string"?{code:e.email}:e.email;return{...n,email:Br({...r,...o})}}}function No(e){return Fn(e)?.current()}function ft(e){return No(e)?.getContent()}function xf(e,t){const n=t??Af(),r=No(e)?.get();return r?{...n,...r.attributes,id:r.serverId??void 0,isNew:r.serverId===null,html:ft(e)??n.html}:n}async function Ft(e){return(await e.getInstanceAsync(Pe))?.project}function xe({code:e,project:t,...n},r){const i=ge(n),o=Mo(r),s=ke(r);return e&&s.warnAboutUnconfiguredInput(e,n.id),{...i,...e?{html:s.toEditorForm(e)}:{},...o===void 0?{}:{project:o},utm_parameters:i.utm_parameters||{},_embedded:void 0}}function te({html:e,renderGuid:t,showToken:n,showId:r,...i},o){const{requested:s}=St(o),d=to(o);return ge({...i,code:ke(o).toOutputForm(e),project:s===void 0?i.project:s,utm_parameters:d.UTMEnabled?i.utm_parameters:void 0,tags:void 0,template:void 0,guid:void 0,emailtags:void 0,project_title:void 0,project_author:void 0,is_template:void 0,is_inited:void 0})}function gn(e){return e==null?"":e.replaceAll(`\r
|
|
1045
1045
|
`,`
|
|
1046
|
-
`)}function Mr(e){return e.replace(/<title[^>]*>[\s\S]*?<\/title>/gi,"")}function Tf(e,t,n,r){const i=Af(e,t,n,r);return i===void 0}function Af(e,t,n,r){const{email:i}=Hn(t,!1),o=xe(i,e),s=o.id;if(s===void 0)return"no-id";if(r!==void 0&&r!==s)return"other-id-shown";const d=xn(e)?.current();if(!d)return"no-session";const l=d.get(),f=l.attributes;if(l.serverId!==s)return"document-id";if(f.is_inited!==!0)return"not-inited";const u=Mr(mn(n??d.getContent()));if(o.html!==void 0&&Mr(mn(o.html))!==u)return"html";if(o.subject!==void 0&&o.subject!==f.subject)return"subject";if(o.preheader!==void 0&&o.preheader!==f.preheader)return"preheader";if(o.common_styles!==void 0&&o.common_styles!==f.common_styles)return"common_styles"}function kr(e,t){const{email:n}=Hn(t,!1),r=xe(n,e);if(r.id!==void 0)return JSON.stringify([r.id,r.html===void 0?null:mn(r.html),r.subject??null,r.preheader??null,r.common_styles??null])}function Cf(e,t){const n={...e};return delete n.id,{...n,...t}}function Rf(e){return e.html?e:{...e,html:Ao}}function Ue({code:e,project:t,...n},r,i){const o=i??Co(r);return{...n,...e?{html:Ne(r).toEditorForm(e)}:{},renderGuid:le(),...o===void 0?{}:{project:o}}}function at({html:e,renderGuid:t,...n},r){const{requested:i}=St(r);return ge({...n,code:Ne(r).toOutputForm(e),project:i===void 0?n.project:i,guid:void 0,link:void 0,status:void 0,slug:void 0,password:void 0,comment_status:void 0,template:void 0,blocktags:void 0,project_title:void 0,ping_status:void 0,lock:void 0,tag:void 0,is_template:void 0})}function Do(e){return xn(e)?.current()?.get().serverId??void 0}function hn(e,t,n){return n===void 0&&(n=e.post===void 0?Do(t):e.post),{...e,content:e.content?`<p>${e.content}</p>`:"",post:n}}function lt(e,t){return ge({...e,link:void 0,comment_status:void 0})}function gn({code:e,...t},n,r){return r===void 0&&(r=t.parent===void 0?Do(n):t.parent),{...t,...e?{html:e}:{},parent:r}}function Nr({html:e,...t},n){return ge({...t,code:e,guid:void 0,compiled:ge({html:e,ampHtml:e&&""})})}var vn=L("NotificationService"),Pf=L("emailTemplate.reads");async function Df(e,t){try{return await Se(e).email(e).readEmail(t)??void 0}catch(n){n instanceof Error&&n.message,Of(e,t,n);return}}function Of(e,t,n){e.getInstanceAsync(vn).then(()=>{Sn(e,j.ON_NOTIFICATION).fire({type:"error",id:"TEMPLATE_READ_ERROR",data:{templateId:t},innerException:n})},()=>{})}function xf(e,t){const n=e.getOrCreateInstance(Pf,()=>new Map),r=n.get(t);if(r!==void 0)return r;const i=Df(e,t).then(o=>(o===void 0&&n.delete(t),o));return n.set(t,i),i}var Lf="EXTERNAL";function Mf(e){return e instanceof Error?e:new Error(typeof e=="string"?e:"сохранение не состоялось")}var kf="email_id",Nf=class extends Z{_container;_prevCommand;_lastShow;_showToken=0;_showRequests=0;_dataSources;_eventLock;_queue=Ns();_currentEmail;constructor(e){super(),this._container=e;const t=e;this._dataSources=It(t),this._eventLock=Sf(t);const n=K(e,j.ON_EMAIL_CHANGED_ID);this.addDisposable(n(r=>{this._currentEmail=r})),this.addDisposable(e.addService(In,{execute:(r,i)=>{!i?.public&&this._currentEmail?.id&&!this._currentEmail.isNew&&r.headers.append(kf,this._currentEmail.id)}}))}_getInitPipeline(){return this._container?.getInstance(De)??kn}_throwIfDestroyed(){if(this.isDisposed())throw Cn()}async getTemplateEmail(e){const t=await xf(this._container,String(e));if(!t)return;const n={...t,lock:!1,parent_email:String(e)};return delete n.id,n}async setBlocks(e=[]){const{cache:t}=this._dataSources.blocks,n=await Ft(this._container);await t.setAll(e.filter(r=>r.id!==void 0).map(r=>[r.id,Ue(r,this._container,n)]))}async setEmailRevisions(e,t){if(e===void 0)return;const{cache:n}=this._dataSources.emailRevisions,r=e.filter(i=>i.id!==void 0).map(i=>[i.id,gn(i,this._container,t)]);await n.setAll(r)}async setComments(e=[],t){const{cache:n}=this._dataSources.comments,r=e.filter(i=>i.id!==void 0).map(i=>[i.id,hn(i,this._container,t)]);await n.setAll(r)}async setEmail(e,t,n,r,i){const o=this._dataSources.emails,s=o.cache,d=await Ft(this._container),l=r??this._showToken;e=typeof e=="string"?{code:e}:{...e};let f=xe(e,this._container);const u=f.id;let v=u;if(u!==void 0){const b=await o.get(u);f={...b??{},...f,renderGuid:b?.renderGuid??le(),...l>0?{showToken:l}:{},...i?{showId:i}:{},project:d}}else{v=n??le();const b=await o.get(v);f={...f,renderGuid:b?.renderGuid??le(),...l>0?{showToken:l}:{},...i?{showId:i}:{},project:d},delete f.project}if(t){const b=await this.getTemplateEmail(String(t));b&&(f=Cf(b,f))}return u===void 0&&(f=Rf(f)),await s.addOrUpdate(v,()=>f),f}_rememberShow(e){this._prevCommand=e}_isRepeatOfLastShow(e){const t=this._lastShow;if(!t||t.signature!==kr(this._container,e))return!1;const n=ft(this._container);return n===void 0||n===t.html}_rememberShownContent(e){const t=kr(this._container,e);this._lastShow=t===void 0?void 0:{signature:t,html:ft(this._container)??""}}async _show(e,t){if(this._throwIfDestroyed(),t!==void 0&&t!==this._showRequests){this._showRequests;return}if(!e)return;const n=this._getInitPipeline();if($(n.signal),Tf(this._container,e,ft(this._container),this._prevCommand?.id)||this._isRepeatOfLastShow(e))return;const r=Hn(e);r.email.id,this._prevCommand?.id;let i,o="",s=0,d=!1,l,f=Promise.resolve(),u,v=!1;try{this._eventLock.suspendChange();const{email:b,blocks:E,autosaves:I,comments:g,templateId:y,reload:w}=r;i=b.id;const S=xe(b,this._container),A=S.id,m=A??le(),c=await He("getProject",Ft(this._container));$(n.signal),o=le();const a={isNew:A===void 0,id:String(m),project:c},p=w===!0&&A!==void 0;p&&(await this._dataSources.emails.remove(String(A),{silent:!0}),String(A)),s=++this._showToken,String(m);const h=[];h.push(this.setBlocks(E)),b.id!==void 0&&(h.push(this.setComments(g)),h.push(this.setEmailRevisions(I,String(b.id)))),h.push(this.setEmail(b,Number(y),A===void 0?String(m):void 0,s,o)),await He("setEmail+blocks+revisions",Promise.all(h),{emailId:A??String(m),showId:o,targetShowToken:s}),$(n.signal);const _=await this._dataSources.emails.get(String(m)),T=ve(this._container),D={id:o,token:s};A===void 0?u=T.startNewDraft(_??S,{patch:S,show:D}):p?u=T.reload(A,{email:_??S,patch:S,show:D}):T.sessionKey()===je(A)?u=T.show(S,D):u=T.open(A,{email:_??S,patch:S,show:D});const R=!!this._prevCommand&&ht(this._prevCommand,a);a.id,!this._prevCommand||ht(this._prevCommand,a),this._prevCommand?.id,this._rememberShow(a),f=n.requestShow({showId:o,navId:String(m),emailId:A,isNew:A===void 0}),v=!0,String(m),d=!0}catch(b){l=b,v&&o&&n.failShow(o,b),String(b)}finally{this._eventLock.resumeChange()}if(!d)throw l instanceof Error?l:new Error(`[emailmaker] show() setup failed: ${String(l??"unknown error")}`);return He("show-init-deferred",Promise.all([f,u?.whenReady().catch(b=>{if(b instanceof gt){const E=Ni(b);throw E?new Error(`[emailmaker] show(): email open failed (${E})`,{cause:b}):b}})??Promise.resolve()]).then(()=>{}),{showId:o,emailId:i??null}).then(()=>{this._rememberShownContent(e)})}async _save(){this._throwIfDestroyed();const e=this._getInitPipeline();$(e.signal);const t=ve(this._container),n=await t.save("publish",{source:Lf});if($(e.signal),!n)throw Mf(t.saveState().error);return ee(If(this._container,this._currentEmail),this._container)}_queuedShow=this._queue.decorate((e,t)=>this._show(e,t),this);show=e=>{const t=this._showRequests+=1;return this._queuedShow(e,t)};save=this._queue.decorate(this._save,this)};function Ff(e){return String(e).replace(/"/g,""")}function jf(e=new Date){const t=n=>String(n).padStart(2,"0");return String(e.getFullYear())+t(e.getMonth()+1)+t(e.getDate())+t(e.getHours())+t(e.getMinutes())+t(e.getSeconds())}function Bf(e){const t=/<(table|tr|div)(\s[^>]*)>/gi;let n;for(;(n=t.exec(e))!==null;){const r=n[2]??"";if(/\bem\s*=\s*["']block["']/i.test(r))return{full:n[0],index:n.index}}return null}function Fr(e,t,n){const r=new RegExp(`\\b${t}\\s*=\\s*["'][^"']*["']`,"i"),i=Ff(n);return r.test(e)?e.replace(r,`${t}="${i}"`):e.replace(/>$/,` ${t}="${i}">`)}function Uf(e,t,n){if(!e?.trim()||!t)return e;const r=Bf(e);if(!r)return e;const i=String(t),o=jf(n??new Date);let{full:s,index:d}=r;const l=s.length;return/\bem-block-id\s*=/.test(s)||(s=Fr(s,"em-block-id",i)),s=Fr(s,"em-block-version",o),e.slice(0,d)+s+e.slice(d+l)}function Hf(e){if(e.meta!==void 0&&e.meta!==null&&typeof e.meta=="object")return e.meta;const t=e.catalogExtra?.meta;if(t!=null&&typeof t=="object")return t}function Gf(e,t){const n=e.insertFrom??t?.type,r=t?.blockId??(e.id!=null&&e.id!==""?String(e.id):void 0),i=t?.project??(e.project!==void 0&&e.project!==null?String(e.project):void 0);return{type:t?.type??n,insertFrom:n,name:t?.name??e.name,blockId:r,project:i,fragmentRole:e.fragmentRole,id:r,title:e.title??void 0,blockType:e.type,meta:Hf(e)}}function jt(e,t){return t?Gf(t,e):{type:e.type,name:e.name,blockId:e.blockId,project:e.project,insertFrom:e.type}}var Oo=["title","slug","type","tags","blocktags","modified","author","lock","subject","description","excerpt","status","is_template","link","renderGuid","date","date_gmt","modified_gmt","comment_status","ping_status","template","related_email","project_title","project_author","isAmp","meta"],qf=[...Oo,"html","id","project","password"],Ch=new Set(["html",...Oo,"global_block","project"]);function $f(e){if(!e||typeof e!="object")return{};const t={};e.id!=null&&e.id!==""&&(t.id=String(e.id)),e.title!=null&&e.title!==""&&(t.title=e.title),e.slug!=null&&e.slug!==""&&(t.slug=e.slug),e.type!=null&&e.type!==""&&(t.type=e.type),e.tags!=null&&(t.tags=e.tags),e.blocktags!=null&&(t.blocktags=e.blocktags),e.modified!=null&&e.modified!==""&&(t.modified=e.modified),e.author!=null&&e.author!==""&&(t.author=String(e.author)),e.lock!=null&&(t.lock=e.lock),e.subject!=null&&e.subject!==""&&(t.subject=e.subject),e.description!=null&&e.description!==""&&(t.description=e.description),e.excerpt!=null&&e.excerpt!==""&&(t.excerpt=e.excerpt),e.status!=null&&e.status!==""&&(t.status=e.status),e.is_template!=null&&(t.is_template=e.is_template),e.link!=null&&e.link!==""&&(t.link=e.link),e.renderGuid!=null&&e.renderGuid!==""&&(t.renderGuid=e.renderGuid),e.date!=null&&e.date!==""&&(t.date=e.date),e.date_gmt!=null&&e.date_gmt!==""&&(t.date_gmt=e.date_gmt),e.modified_gmt!=null&&e.modified_gmt!==""&&(t.modified_gmt=e.modified_gmt),e.comment_status!=null&&e.comment_status!==""&&(t.comment_status=e.comment_status),e.ping_status!=null&&e.ping_status!==""&&(t.ping_status=e.ping_status),e.template!=null&&e.template!==""&&(t.template=e.template),e.related_email!=null&&e.related_email!==""&&(t.related_email=e.related_email),e.project_title!=null&&e.project_title!==""&&(t.project_title=e.project_title),e.project_author!=null&&e.project_author!==""&&(t.project_author=e.project_author),e.isAmp!=null&&(t.isAmp=e.isAmp),e.meta!==void 0&&e.meta!==null&&typeof e.meta=="object"&&(t.meta=e.meta);const n=new Set(qf),r={};for(const i of Object.keys(e))n.has(i)||(r[i]=e[i]);return Object.keys(r).length>0&&(t.catalogExtra=r),t}function zf(e,t={}){return!e||typeof e!="object"?{html:"",insertFrom:t.type,name:t.name,project:t.project,id:t.blockId}:{...$f(e),html:typeof e.html=="string"?e.html:"",insertFrom:t.type,name:t.name,project:t.project??e.project,id:e.id!=null&&e.id!==""?String(e.id):t.blockId}}var bn=new WeakMap;function Vf(e){let t=bn.get(e);return t||(t={byId:new Map,fallback:[]},bn.set(e,t)),t}function Kf(e){bn.delete(e)}function Wf(e,t){const{byId:n,fallback:r}=Vf(t);if(e.blockId){const i=n.get(e.blockId);if(i){n.delete(e.blockId);const o=r.indexOf(i);return o>=0&&r.splice(o,1),i}return}for(let i=r.length-1;i>=0;i--){const o=r[i],s=e.name!=null&&e.name!==""&&o.name!=null&&o.name!==""&&o.name===e.name,d=e.type!=null&&e.type!==""&&o.insertFrom===e.type;if(s&&d)return r.splice(i,1),o.id!=null&&o.id!==""&&n.delete(String(o.id)),o}}async function Yf(e,t){const{blocks:n}=It(e);return await n.cache.getIfPresent(t)??void 0}async function Xf(e,t){if(!t.blockId)return;const n=await Yf(e,t.blockId);if(n)return zf(n,t)}async function Jf(e,t){const n=Wf(e,t);if(n)return jt(e,n);const r=await Xf(t,e);return r?jt(e,r):jt(e,void 0)}var Qf=vs("application_block_inserted"),Zf=-1e3,jr=new WeakSet;function ep(e){if(e===null||typeof e!="object")return!1;const t=e;return typeof t.type=="string"||typeof t.name=="string"||typeof t.blockId=="string"||typeof t.project=="string"||typeof t.project=="number"}function tp(e){if(!e||jr.has(e))return;jr.add(e);const t=new Z,n=X(e);return t.addDisposable(n.addListenerAsyncPipe(Qf,async(r,i)=>{const o=ep(r)?await Jf(r,e):r;return i?i(o):o},Zf)),t.addDisposable({dispose:()=>{Kf(e)}}),t}var Br=100,np=class extends Z{_container;_events;constructor(e){super(),this._container=e;const t=tp(e);t&&this.addDisposable(t)}_get(){const e=this._container,{blocks:t,emails:n,comments:r,emailRevisions:i}=It(e),o=K(e,j.ON_SHARE_ID),s=K(e,j.ON_SHOW_PREVIEW_ID),d=K(e,j.ON_EMAIL_CLONE_ID),l=K(e,j.ON_CODE_VALIDATE_ID),f=K(e,j.ON_SUBJECT_CHANGED_ID),u=K(e,j.ON_EMAIL_CHANGED_ID),v=K(e,j.ON_PREHEADER_CHANGED_ID),b=K(e,j.ON_SAVEBUTTON_CLICK_ID),E=K(e,j.ON_NEXTBUTTON_CLICK_ID),I=K(e,j.ON_SEND_LIVEPREVIEW_ID),g=K(e,j.ON_SEND_TESTEMAIL_ID),y=K(e,vf),w=K(e,j.ON_CONTENT_CHANGED_ID),S=K(e,gf),A=K(e,j.ON_PREVIOUSBUTTON_CLICK_ID),m=K(e,j.ON_SEND_EMAIL_MODAL_ID),c=hs(K(e,j.ON_EMAIL_INIT_ID),a=>!a.reset);return{handlePreheaderChanged:k(v),handleSubjectChanged:k(f),handleValidate:k(l),handleReadEmail:k(n.handlerRead,a=>a,a=>a&&xe(a,e)),handleSaveEmail:k(n.onSave,function({prev:a,patch:p,value:h,source:_}){const T=a?ee(a,e):void 0;return{prev:T,patch:Ge(T,ee(p,e)),value:ee(h,e),source:_}},a=>a?xe(a,e):void 0),handleRemoveEmail:k(n.onRemove,({value:a,source:p})=>({value:ee(a,e),source:p}),()=>{}),handleReadCommonBlocks:k(y,a=>a.project,a=>a?.map(p=>Ue(p,e))),handleReadTemplateBlocks:k(S,a=>a,a=>a?.map(p=>Ue(p,e))),handleReadBlocks:k(t.byForeignKey("project").handleRead,a=>St(e).requested||String(a),a=>a?.map(p=>Ue(p,e))),handleSaveBlock:k(t.onSave,function({prev:a,patch:p,value:h,source:_}){const T=h.global_block===!0&&h.id&&typeof h.html=="string"?{...h,html:Uf(h.html,String(h.id))}:h,D=a?at(a,e):void 0;return{prev:D,patch:Ge(D,at(p,e)),value:at(T,e),source:_}},a=>a?Ue(a,e):void 0),handleRemoveBlock:k(t.onRemove,({value:a,source:p})=>({value:at(a,e),source:p}),()=>{}),handleReadComments:k(r.byForeignKey("post").handleRead,a=>a,a=>a?.map(p=>hn(p,e))),handleSaveComment:k(r.onSave,function({prev:a,patch:p,value:h,source:_}){const T=a?lt(a,e):void 0;return{prev:T,patch:Ge(T,lt(p,e)),value:lt(h,e),source:_}},a=>a?hn(a,e):void 0),handleRemoveComment:k(r.onRemove,({value:a,source:p})=>({value:lt(a,e),source:p}),()=>{}),handleReadEmailRevisions:k(i.byForeignKey("parent").handleRead,a=>a,a=>a?.map(p=>gn(p,e))),handleEmailAutosave:k(i.onSave,function({prev:a,patch:p,value:h,source:_}){return{value:Nr(h,e),source:_}},a=>a?gn(a,e):void 0),handleRemoveEmailAutoSave:k(i.onRemove,({value:a,source:p})=>({value:Nr(a,e),source:p}),()=>{}),handleEmailChanged:k(Xn(u,Br),a=>ee(a,e)),handleEmailInit:k(c,a=>ee(a,e)),handlePreviousButtonClick:k(A,a=>ee(a,e)),handleNextButtonClick:k(E,a=>ee(a,e)),handleSaveButtonClick:k(b,a=>ee(a,e)),handleHtmlChanged:k(Xn(w,Br)),handleTestEmailSend:k(g,({html:a,...p})=>({...p,code:a,compiled:{html:a,ampHtml:""}})),handleTestEmailModal:k(m,a=>ee(a,e)),handleCloneEmail:k(d,a=>ee(a,e)),handleShareEmail:k(o),handlePreviewEmail:k(s),handleLivePreviewEmail:k(I)}}get(){return this._events||(this._events=this._get())}_listenersUpdaters;setOptions(e={}){const t=this.get();let n=this._listenersUpdaters;if(!n){n=this._listenersUpdaters={};for(const r of Object.keys(t))n[r]=this.addDisposable(new Re(t[r]))}for(const r of Object.keys(t))n[r].setListener(e[r])}},rp=L("DataController"),ip=L("DataEvents");function xo(e){return e.getOrCreateInstance(rp,()=>{const t=new Nf(e);return e.getInstance(F)?.addDisposable(t),t})}function Lo(e){return e.getOrCreateInstance(ip,()=>new np(e))}var op=L("plugin.startupShow");function sp(e){const t=xo(e),n=Lo(e),r=e.getInstance(oe),i=e.getInstance(F),o={current:Promise.resolve()};e.inject(op,o);const s=r?.watch(l=>{l&&n.setOptions(l)}),d=r?.select(l=>l?.content).watch(l=>{l!==void 0&&(z(J.showStart),o.current=(async()=>{try{await t.show(l)}catch{}finally{z(J.showEnd)}})())});s&&i?.addDisposable(s),d&&i?.addDisposable(d)}function ap(e){const t=xo(e);return{...Lo(e).get(),show(n){return z(J.showStart),t.show(n).finally(()=>z(J.showEnd))},save(){return t.save()}}}var lp=[{name:"rest.client",setup:uf},{name:"auth.oauth",setup:Cs},{name:"rest.identityHeaders",setup:sf},{name:"lifetime.destroyable",provides:[jn],setup:lu},{name:"appInit",provides:[Pe,Rn],setup:ua},{name:"config",provides:[we],setup:su},{name:"email.documents",setup:Au},{name:"show.initPipeline",provides:[De],setup:ff},{name:"show",setup:sp},{name:"locale.service",provides:[ze],setup:tf},{name:"locale.fromConfig",awaits:{services:[we,ze]},setup:nf},{name:"canvas.early",setup:lc},{name:"canvas.previewSettings",setup:gc},{name:"canvas.sandboxExtensions",setup:bc},{name:"canvas.headerSync",provides:[co],setup:uc},{name:"canvas.ampSync",setup:Bl},{name:"canvas.moduleBridge",setup:cd},{name:"canvas.port",setup:Wl},{name:"canvas.images",setup:Vl},{name:"canvas.edits",setup:qd},{name:"canvas.blockContent",setup:Fd},{name:"canvas.sandboxFill",provides:[Nn],setup:kc},{name:"canvas.reactions",setup:oc}],dp=class extends Error{cycle;constructor(e){super(`[units] цикл в зависимостях: ${e.join(" → ")}`),this.cycle=e}};function cp(e){const t=new Map;for(const n of e)for(const r of n.provides??[]){const i=t.get(r)??[];i.push(n),t.set(r,i)}return t}function up(e,t){const n=[];for(const r of e.awaits?.services??[])for(const i of t.get(r)??[])i!==e&&n.push(i);return n}function Mo(e){const t=cp(e),n=[],r=new Set,i=[],o=new Set,s=d=>{if(!r.has(d)){if(o.has(d)){const l=i.indexOf(d);throw new dp([...i.slice(l),d].map(f=>f.name))}o.add(d),i.push(d);for(const l of up(d,t))s(l);i.pop(),o.delete(d),r.add(d),n.push(d)}};for(const d of e)s(d);return n}var Ur;function Gn(e){const t=e.getInstance(oe);if(t)return t;e.getInstance(F)||e.inject(F,new Z);const n=ke();e.inject(oe,n),Ur??=Mo(lp);for(const r of Ur)r.setup(e);return n}function fp(e){}var pp=[{name:"save.previewFollow",setup:fp}],Hr=L("plugin.lateUnitsInstalled");function mp(e){if(!e.getInstance(Hr)){e.inject(Hr,!0);for(const t of Mo(pp))t.setup(e)}}function hp(e,t){return{project:Number(e),app_id:t?.app_id||0,app_config:t?.app_config||{},user:t?.user}}function gp(e){if(!e)return;const t=ui(e)?.data,n=t?.data?.scope??t?.scope;return(Array.isArray(n)?n.flatMap(r=>typeof r=="string"?r.split(/\s+/):[]):typeof n=="string"?n.split(/\s+/):[]).find(r=>/^project_\d+$/.test(r))?.replace(/^project_/,"")||void 0}var vp=Me(e=>{let t,n,r;return{async setOptions(i){const o=r!==i.getAuthToken,s=!ht(t,i.user),d=n!==i.project;if(r=i.getAuthToken,t=i.user,n=i.project,!(!e.getInstance(me)||!i.getAuthToken)&&!(!o&&!s&&!d))try{const l=await i.getAuthToken(i.user,i.project);e.inject(xs,Promise.resolve(l||""));const f=gp(l);if(!f)return;e.inject(Is,f);const u=e.getInstance(Pe),v=u?await u.catch(()=>{}):void 0;e.inject(Pe,Promise.resolve(hp(f,v)))}catch{}}}});function bp(e,t){if(e.getInstance(Wn))return;e.inject(Wn,!0);const n=_n(e,j.FILE_PROXY_EVENT_ID);t.addDisposable(n(async({url:r})=>(await fetch(r)).blob(),Number.MIN_VALUE))}function Ep(e){e.getInstance(Ss)||e.inject(me,void 0)}function Tt(e){return String(e.standaloneKey||"").trim()||void 0}function yp(e){return e.standaloneOnAuthFailure===!0?!0:e.config?.standaloneOnAuthFailure===!0}function qn(e){return yp(e)?!!Tt(e):!1}function At(e){return!!Tt(e)&&!qn(e)}var _p=Me(e=>{let t,n=!1;return{setOptions(r){const i=n;if(n=!0,!At(r)){t&&(Ep(e),qn(r)),t=void 0;return}const o=Tt(r);if(!o||t===o&&e.getInstance(me))return;t=o,e.inject(me,o);const s=e.getInstance(F);s&&bp(e,s)}}}),wp=Me(e=>{const t=e.getInstance(F),n=_n(e,di),r=k(n),i=t.addDisposable(new Re(r));return{setOptions({handleLoad:o}){i.setListener(o)},instance:{handleLoad:r},dispose:()=>t.dispose()}}),Sp=Me(e=>{const t=e.getInstance(F),n=t.addDisposable(new pe),r=t.addDisposable(new pe),i=Sn(e,Qo),o=k(n.event),s=k(r.event),d=k(i.event),l=t.addDisposable(new Re(o)),f=t.addDisposable(new Re(s)),u=t.addDisposable(new Re(d));return{instance:{handleSetOptions:o,handleOptionsChanged:s,handleConfigChanged:d},async setOptions(v){l.setListener(v.handleSetOptions),f.setListener(v.handleOptionsChanged),u.setListener(v.handleConfigChanged),await n.fire(v),await r.fire(v)},dispose(){}}}),Bt,ko="core";function Ip(){const e=window.__emailmaker__?.require;return typeof e!="function"?Promise.reject(new Error("[loadCore] AMD loader is unavailable")):new Promise((t,n)=>{e([ko],r=>t(r),r=>n(r instanceof Error?r:new Error("[loadCore] Failed to require core module")))})}function Tp(e){const t=window.__emailmaker__?.require?.warm;return typeof t!="function"?Qe().then(()=>{}):t([ko],e)}function Qe(){return Bt===void 0&&(Bt=Ip().then(e=>($e()&&e.installDiagnostics().catch(t=>{}),e))),Bt}var Ut=null,Ht=null;async function Ap(e){typeof e?.prefetch=="function"&&await e.prefetch()}function $n(){return Ut||(Ut=Qe().then(()=>{})),Ut}function No(e){return Ht||(Ht=Ap(e)),Ht}function Cp(){return No(typeof window.__emailmaker__<"u"?window.__emailmaker__:void 0)}function Rp(e){return Promise.all([$n(),No(e)]).then(()=>{})}function Pp(e){const t=e?.preload?.start??e?.startupPrefetchMode;return t==="eager"||t==="idle"||t==="manual"||t==="off"?t:"idle"}function Gr(e,t){const n=e?.preload?.execute!==!1;Promise.resolve().then(()=>Tp(t?{priority:t}:void 0)).then(()=>n?$n():void 0).catch(()=>{})}function Dp(e){const t=Pp(e);if(t==="eager")Gr(e);else if(t==="idle"){const n=()=>Gr(e,"low");document.readyState==="complete"?n():window.addEventListener("load",n,{once:!0})}}var Fo="PluginRegistry";function Op(e=Ds()){return e.getOrCreateInstance(Fo,()=>new Vs)}var xp=new Ks(()=>Op()),Lp=Me(e=>{let t;function n(){if(!t)throw new Error("PluginCollection not initialized. Call init() first.");return t}return{async setOptions(r){const i=e.getInstance(_t),o=e.getInstance(Fo);t||(t=new zs(i,o,{ensureHostRuntimeReady:Cp}),e.inject(Zt,t));const s=r?.plugins||[];i&&await t.setPlugins(s)},instance:{use(r){return typeof r=="function"?n().useByCtor(r):n().useByKey(r)},useAsync(r){return n().useAsync(r)},waitPlugin(r){return n().waitFor(r)}},dispose(){t?.dispose(),t=void 0}}}),jo=class{_listeners=[];add(e,t=0,n){const r={fn:n?e.bind(n):e,priority:t};return this._listeners.push(r),{dispose:()=>{const i=this._listeners.indexOf(r);i>=0&&this._listeners.splice(i,1)}}}async run(e){const t=[...this._listeners].sort((n,r)=>r.priority-n.priority);for(const{fn:n}of t){const r=await n(e);r!==null&&typeof r=="object"&&!Array.isArray(r)&&!(r instanceof Date)&&!(r instanceof RegExp)&&Object.assign(e,r)}return e}},Mp=L("ELEMENT_INSERT_HTML_PIPELINE"),kp=L("BLOCK_INSERT_HTML_PIPELINE"),Np="application_block_inserted",Fp=class{_context;constructor(e){this._context=e}get _container(){return this._context.container}handleBeforeInject(e,t,n){return this._container.getOrCreateInstance(kp,()=>new jo).add(e,t??0,n)}handleInject(e,t,n){const r=this._container.getOrCreateInstance(Ye,()=>new Xe),i=n?e.bind(n):e;return r.addListener(Np,i,t)}},jp=L("ComponentRegistry"),qr;function Ve(e,t=jp){const n=pt.getInstance(t);if(n)return n;if(!qr)throw new Error("[extensions] component registry is not loaded yet — UI work starts at init()");return pt.getOrCreateInstance(t,qr)}var Bp=class{_context;constructor(e){this._context=e}get _container(){return this._context.container}getNames(){return new Promise(e=>{const t=this._container.addService(et,{execute:n=>{t.dispose(),e(n.value.map(r=>({name:r.name,html:r.html})))}})})}update(e,t){const n=this._container,r=Ve(n);return n.addService(et,{execute:i=>{const o=i.value.find(s=>s.name===e);if(o){const{icon:s,title:d,fallbackTooltip:l,...f}=t;s&&(o.icon=r.getReactNode(s)),d&&(o.title=r.getReactNode(d)),l&&(o.fallbackTooltip=r.getReactNode(l)),Object.assign(o,f)}}})}delete(e){this._container.addService(et,{execute:t=>{const n=t.value.findIndex(r=>r.name===e);n>=0&&t.value.splice(n,1)}})}insert(e,t){const n=this._container,r=Ve(n);return n.addService(et,{execute:i=>{i.value.splice(t??i.value.length,0,{...e,title:r.getReactNode(e.title),icon:r.getReactNode(e.icon),fallbackTooltip:r.getReactNode(e.fallbackTooltip)})}})}handleBeforeInject(e,t,n){return this._container.getOrCreateInstance(Mp,()=>new jo).add(e,t??0,n)}handleInject(e,t,n){return Ce(this._container,fs).event(r=>{e({name:r.name,className:r.className||"",html:r.html})},t,n)}},Up=class{_messageService;constructor(e){this._messageService=e.container.getOrCreateInstance(Ye,()=>new Xe)}send(e,t,n){this._messageService.send(e,t,n)}sendAsync(e,t,n=!0){return this._messageService.sendAsync(e,t,n)}addListener(e,t,n){return this._messageService.addListener(e,t,n)}addListenerAsync(e,t,n=0){return this._messageService.addListenerAsync(e,t,n)}onInit(e,t=!0,n=0){return this._messageService.onInit(e,t,n)}isInited(){return this._messageService.isInited()}};function Hp(e){return Object.fromEntries(Object.entries(e).filter(([t,n])=>n!==void 0))}var Gp=class{_context;_showModalEmitter;_closeModalEmitter;_updateModalEmitter;constructor(e){this._context=e;const t=e.container;this._showModalEmitter=Ce(t,ds),this._closeModalEmitter=Ce(t,ss),this._updateModalEmitter=Ce(t,ps)}get _container(){return this._context.container}show(e){const t=Ve(this._container),n=`modal_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,r=e.modalProps;return this._showModalEmitter.fire({...e,content:t.getReactNode(e.content),title:t.getReactNode(e.title),id:n,modalProps:r?{...r,footer:t.getReactNode(r.footer),okText:t.getReactNode(r.okText),cancelText:t.getReactNode(r.cancelText),closeIcon:t.getReactNode(r.closeIcon)}:void 0}),n}close(e){this._closeModalEmitter.fire(e)}closeAll(){this._closeModalEmitter.fire()}update(e,t){const n=Ve(this._container),r=t.modalProps;this._updateModalEmitter.fire(Hp({...t,content:n.getReactNode(t.content),title:n.getReactNode(t.title),id:e,modalProps:r?{...r,footer:n.getReactNode(r.footer),okText:n.getReactNode(r.okText),cancelText:n.getReactNode(r.cancelText),closeIcon:n.getReactNode(r.closeIcon)}:void 0}))}},qp=class{_registration;_loadedDisposable;loaded;ready;_loadedSettled=!1;_readySettled=!1;constructor(e,t){this._registration=e,this._loadedDisposable=t,this.loaded=new Promise((n,r)=>{const i=()=>this._loadedDisposable.dispose(),o=()=>{this._loadedSettled||(this._loadedSettled=!0,this._readySettled&&i(),n())},s=d=>{this._loadedSettled||(this._loadedSettled=!0,this._readySettled&&i(),r(d))};this._resolveLoaded=o,this._rejectLoaded=s}),this.ready=new Promise((n,r)=>{const i=()=>this._loadedDisposable.dispose(),o=()=>{this._readySettled||(this._readySettled=!0,this._loadedSettled&&i(),n())},s=d=>{this._readySettled||(this._readySettled=!0,this._loadedSettled&&i(),r(d))};this._resolveReady=o,this._rejectReady=s})}_resolveLoaded=()=>{};_rejectLoaded=()=>{};_resolveReady=()=>{};_rejectReady=()=>{};resolveLoaded(){this._resolveLoaded()}resolveReady(){this._resolveReady()}rejectLoad(e){this._rejectLoaded(e),this._rejectReady(e)}rejectReady(e){this._rejectReady(e)}dispose(){this._registration.dispose();const e=new Error("Sandbox script registration disposed before completion.");this.rejectLoad(e),this.rejectReady(e)}},$p=class{_context;constructor(e){this._context=e}get _container(){return this._context.container}get _messageService(){return this._container.getOrCreateInstance(Ye,()=>new Xe)}_createScriptHandle(e,t){const n=this._messageService.addListener(es,i=>{if(i.key===e){if(i.phase==="load"&&i.status==="success"){r.resolveLoaded();return}if(i.phase==="ready"&&i.status==="success"){r.resolveReady();return}if(i.phase==="load"){r.rejectLoad(new Error(i.error||`Sandbox script "${e}" failed to load.`));return}r.rejectReady(new Error(i.error||`Sandbox script "${e}" failed to initialize.`))}}),r=new qp(t,n);return r}registerSandboxCSS(e){return this._container.addService(Te,{type:"link",key:e,parent:"head",attributes:{rel:"stylesheet",type:"text/css",href:e}})}registerSandboxCSSCode(e,t){return this._container.addService(Te,{type:"style",key:e,parent:"head",attributes:{type:"text/css"},innerHTML:t})}registerSandboxScript(e){const t=this._container.addService(Te,{type:"script",key:e,parent:"head",attributes:{src:e,type:"text/javascript"}});return this._createScriptHandle(e,t)}registerSandboxScriptCode(e,t){const n=this._container.addService(Te,{type:"script",key:e,parent:"head",attributes:{type:"text/javascript"},innerHTML:t});return this._createScriptHandle(e,n)}},zp=new Set([Symbol.for("react.element"),Symbol.for("react.transitional.element")]);function En(e){if(typeof e!="object"||e===null)return!1;const t=e.$$typeof;return typeof t=="symbol"&&zp.has(t)}function Bo(){const e=globalThis.crypto;if(e&&typeof e.randomUUID=="function")return e.randomUUID();if(e&&typeof e.getRandomValues=="function"){const t=new Uint8Array(16);return e.getRandomValues(t),Array.from(t,n=>n.toString(16).padStart(2,"0")).join("")}return`nohwcrypto-${Date.now()}`}function Gt(){return`__settingsPanel:${Bo()}`}function qt(e,t){return{type:e,props:t}}function Vp(e){return typeof e=="object"&&e!==null&&"type"in e&&"props"in e&&!En(e)}function $r(e,t,n){if(t==null||typeof t=="number"||typeof t=="boolean"||typeof t=="string")return t;if(En(t)){const r=Gt();return n(e.add(r,t)),qt(r,{})}if(typeof t=="function"){const r=Gt();return n(e.add(r,t)),qt(r,{})}if(Vp(t)){const r=t.type;if(typeof r=="string")return t;if(En(r)||typeof r=="function"){const i=Gt();return n(e.add(i,r)),qt(i,t.props)}return t}return t}var Kp=class{_context;_panelRegistrationDisposables=[];constructor(e){this._context=e}get _container(){return this._context.container}_clearPanelRegistrations(){for(const e of this._panelRegistrationDisposables)e.dispose();this._panelRegistrationDisposables.length=0}_trackRegistration(e){this._panelRegistrationDisposables.push(e)}showSettingsPanel(e){this._clearPanelRegistrations();const t=Ve(this._container),n=s=>this._trackRegistration(s),r=$r(t,e.content,n),i=e.advancedTabs?.map(s=>({...s,content:$r(t,s.content,n)})),o=e.instanceKey??Bo();Ce(this._container,Kn).fire({...e,content:r,advancedTabs:i,instanceKey:o,type:cs})}closeSettingsPanel(){this._clearPanelRegistrations(),Ce(this._container,Kn).fire(null)}},Uo={SandboxScriptApi:$p,ElementsApi:Bp,BlocksApi:Fp,MessageService:Up,SettingsPanelApi:Kp,ModalApi:Gp};function $t(e,t,n,r={}){const i=Object.assign({},e);for(const[o,s]of Object.entries(t))if(s!==void 0)if(n.includes(o)&&typeof s=="object"&&s!==null){const d=i[o],l=r[o]??{};i[o]=Object.assign({},typeof d=="object"&&d!==null?d:l,s)}else i[o]=s;return i}var te={border:{all:null,top:null,right:null,bottom:null,left:null},borderRadius:{all:5,topLeft:null,topRight:null,bottomRight:null,bottomLeft:null},borderRadiusCards:{all:10,topLeft:null,topRight:null,bottomRight:null,bottomLeft:null},padding:{all:null,top:null,right:null,bottom:null,left:null}},Wp={fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif"],fontSize:16,fontSizeDim:"px",lineHeight:21,lineHeightDim:"px",color:"#5a5a5a",contrastColor:"#FFFFFF",textAlign:"left",paddingBottom:10,paddingBottomDim:"px"},zt={fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif"],fontSize:24,fontSizeDim:"px",lineHeight:32,lineHeightDim:"px",color:"#333333",contrastColor:"#FFFFFF",textAlign:"left",paddingTop:20,paddingTopDim:"px",paddingBottom:20,paddingBottomDim:"px",letterSpacing:0,letterSpacingDim:"px",bold:!0,italic:!1},zr={color:"#1C52DC",contrastColor:"#FFFFFF",underline:!0},Ie={fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif"],fontSize:16,fontSizeDim:"px",letterSpacing:0,letterSpacingDim:"px",color:"#FFFFFF",contrastColor:"#1C52DC",bold:!1,italic:!1,backgroundColor:"#1C52DC",contrastBackgroundColor:"#FFFFFF",marginTop:10,marginTopDim:"px",marginBottom:10,marginBottomDim:"px",border:te.border,borderRadius:te.borderRadius,textAlign:"center",padding:te.padding},Vr={backgroundColor:"#FFFFFF",contrastBackgroundColor:"#1C52DC",padding:te.padding},Vt={contrastBackgroundColor:"#1C52DC",contrastTextColor:"#FFFFFF",baseBackgroundColor:"#F8F8F8",baseTextColor:"#333333",border:te.border,borderRadius:te.borderRadiusCards};function Yp(e){return{...Wp,...e}}function Xp(e){return{...zt,...e,bold:e?.bold??zt.bold,italic:e?.italic??zt.italic}}function Jp(e){return{...zr,...e,underline:e?.underline??zr.underline}}function Qp(e){return{...Ie,...e,bold:e?.bold??Ie.bold,italic:e?.italic??Ie.italic,border:{...Ie.border,...e?.border},borderRadius:{...Ie.borderRadius,...e?.borderRadius},padding:{...Ie.padding,...e?.padding}}}function Zp(e){return{...Vr,...e,padding:{...Vr.padding,...e?.padding}}}function em(e){return{...Vt,...e,border:{...Vt.border,...e?.border},borderRadius:{...Vt.borderRadius,...e?.borderRadius}}}function Kt(e={}){return{backgroundColor:e.backgroundColor||"",backgroundImage:(e.backgroundImage||[]).map(t=>({type:"url",value:t?.value||""})),backgroundPositionX:e.backgroundPositionX||"",backgroundPositionY:e.backgroundPositionY||"",backgroundRepeat:e.backgroundRepeat||"",backgroundSize:e.backgroundSize||"",backgroundColorContent:e.backgroundColorContent||"",textStrong:e.textStrong||!1,textItalic:e.textItalic||!1,textUnderline:e.textUnderline||!1,width:e.width,responsive:e.responsive}}function Kr(e){let t={...wn};try{e&&e!=="{}"&&(t=JSON.parse(e))}catch{}return t}function Wt(e){return{text:Yp(e.text),headings:Xp(e.headings),links:Jp(e.links),buttons:Qp(e.buttons),block:Zp(e.block),cards:em(e.cards)}}var Wr=L("EmailSettingsPort"),tm=1e4,Ho=class{_editor;_layoutSettingsChanged=new en;_contentStylesChanged=new en;_messageSubscription;_messageSubscriptionPromise;_prevLayoutSnapshot;_prevContentSnapshot;constructor(e){this._editor=e}onChangeEmailLayoutSettings(e){const t=this._layoutSettingsChanged.event(e);return this._ensureMessageSubscription(),{dispose:()=>{t.dispose(),this._disposeMessageSubscriptionIfUnused()}}}onChangeEmailContentStyles(e){const t=this._contentStylesChanged.event(e);return this._ensureMessageSubscription(),{dispose:()=>{t.dispose(),this._disposeMessageSubscriptionIfUnused()}}}_disposeMessageSubscriptionIfUnused(){this._layoutSettingsChanged.hasListeners()||this._contentStylesChanged.hasListeners()||(this._messageSubscription?.dispose(),this._messageSubscription=void 0)}_settings(e=this._editor.container){const t=e.getInstance(Wr);if(!t)throw new Error("[extensions] настройки письма ещё не загружены — работа с UI начинается с init()");return t}_getCurrentLayoutSettings(){return Kt(this._settings().read())}_getCurrentContentStyles(){const e=Pt(this._editor.container)?.current()?.get().attributes.common_styles;return Wt(Kr(e))}_getLayoutSnapshot(e){return JSON.stringify(e)}_getContentSnapshot(e){return JSON.stringify(e)}async _ensureMessageSubscription(){if(!this._messageSubscription){if(this._messageSubscriptionPromise)return this._messageSubscriptionPromise;this._messageSubscriptionPromise=(async()=>{if(await this._editor.container.getInstanceAsync(Wr),this._messageSubscription)return;const e=this._editor.container.getOrCreateInstance(Ye,()=>new Xe),t=this._getCurrentLayoutSettings(),n=this._getCurrentContentStyles();this._prevLayoutSnapshot=this._getLayoutSnapshot(t),this._prevContentSnapshot=this._getContentSnapshot(n),this._messageSubscription=e.addListener(r=>{const i=r?.data,o=i?.operation;if(o===N.APPLICATION_EMAIL_SETTINGS_SET){const l=Kt(i?.settings),f=this._getLayoutSnapshot(l);f!==this._prevLayoutSnapshot&&(this._prevLayoutSnapshot=f,this._layoutSettingsChanged.fire(l));return}if(o!==N.APPLICATION_COMMON_STYLES_UPDATE)return;const s=Wt(r.data?.settings?.commonStyles??{...wn}),d=this._getContentSnapshot(s);d!==this._prevContentSnapshot&&(this._prevContentSnapshot=d,this._contentStylesChanged.fire(s))})})();try{await this._messageSubscriptionPromise}finally{this._messageSubscriptionPromise=void 0}}}async getEmailLayoutSettings(){return await this._waitForEmailSettingsFromIframe(),this._getCurrentLayoutSettings()}async setEmailLayoutSettings(e){await this._waitForEmailSettingsFromIframe();const t=this._settings(),n={...t.read(),...e};t.write(n);const r=Kt(n);this._prevLayoutSnapshot=this._getLayoutSnapshot(r),this._layoutSettingsChanged.fire(r)}async _waitForEmailSettingsFromIframe(e=tm){const t=Pt(this._editor.container)?.current()?.get().attributes.is_inited,n=this._settings().read();if(t&&n&&Object.keys(n).length>0&&(n.backgroundColor||n.backgroundImage?.[0]?.value||n.width?.value||n.responsive!==void 0)||t)return;const r=this._editor.container,i=_n(r,j.ON_EMAIL_INIT_ID);return new Promise(o=>{let s=!1,d;const l=()=>{d&&(clearTimeout(d),d=void 0)},f=i(()=>{s||(s=!0,l(),f.dispose(),o())});d=setTimeout(()=>{s||(s=!0,f.dispose(),o())},e)})}async getEmailContentStyles(){return this._getCurrentContentStyles()}async setEmailContentStyles(e){const t=Pt(this._editor.container)?.current();if(!t)return;const n=Kr(t.get().attributes.common_styles);e.text!==void 0&&(n.text={...n.text||{},...e.text}),e.headings!==void 0&&(n.headings={...n.headings||{},...e.headings}),e.links!==void 0&&(n.links={...n.links||{},...e.links}),e.buttons!==void 0&&(n.buttons=$t(n.buttons||{},e.buttons,["border","borderRadius","padding"],{border:te.border,borderRadius:te.borderRadius,padding:te.padding})),e.block!==void 0&&(n.block=$t(n.block||{},e.block,["padding"],{padding:te.padding})),e.cards!==void 0&&(n.cards=$t(n.cards||{},e.cards,["border","borderRadius"],{border:te.border,borderRadius:te.borderRadiusCards}));const r=JSON.stringify(n);vt(t,{common_styles:r}),this._settings().markAppearanceChanged();const i=Wt(n);this._prevContentSnapshot=this._getContentSnapshot(i),this._contentStylesChanged.fire(i)}},nm={...Uo,EmailSettingsApi:Ho},rm={...Uo},Rh={...rm,EmailSettingsApi:Ho},im={...nm};function om(){xp.addAll(im)}var sm=[Me(()=>{om()}),wp,Sp,_p,Rs,vp,ks];async function am(){return(await Qe()).asyncMixins}var lm=Lp,dm=e=>{let t=null,n=!1;return{instance:{},async setOptions(r){if(!t&&!n){let i;try{i=await am()}catch(s){throw e.failPendingWaits(s),s}t=i(e);const o=await e.getInstanceAsync(_t);Object.assign(o,t.instance||{});for(const s of e.getInstance(fi)??[])s()}t&&await t.setOptions(r)},dispose(){t?.dispose(),n=!0}}},cm=Es([...sm]);function Yt(){let e,t=!1;const n=new Map,r=new Map;function i(){for(const o of r.values())o();r.clear()}return{event(o,s,d){const l=Symbol("subscription");return t||(n.set(l,{listener:o,priority:s,thisArg:d}),e&&r.set(l,e(o,s,d))),()=>{n.delete(l),r.get(l)?.(),r.delete(l)}},attach(o){i(),e=o;for(const[s,{listener:d,priority:l,thisArg:f}]of n)r.set(s,o(d,l,f))},dispose(){t=!0,i(),n.clear(),e=void 0}}}function um(e){const t=Yt(),n=Yt(),r=Yt();return e.getInstance(F)?.addDispose(()=>{t.dispose(),n.dispose(),r.dispose()}),e.getInstanceAsync(vn).then(i=>{t.attach(i.onNotify),n.attach(i.onError),r.attach(i.onSuccess)},()=>{}),{handleNotify:t.event,handleError:n.event,handleSuccess:r.event,notify(i){const o=e.getInstance(vn);if(!o)throw new Error("[plugin] notify() вызван до загрузки редактора");o.notify(i)}}}var fm=[du,ap,um];function pm(e,t=fm){const n=Gn(e);mp(e);const r=cm(e),i=lm(e),o=dm(e),s={...r.instance,...i.instance,...o.instance};for(const l of t)Object.assign(s,l(e));let d=!0;return{instance:s,async setOptions(l){await r.setOptions(l);const f=d&&n.get()===l;d=!1,f||n.set(l),await i.setOptions(l),await o.setOptions(l)}}}var mm=class{_storage=Object.create(null);get(e){const t=this._storage[e];return t&&(!t.expires||t.expires<Date.now())?t.value:""}set(e,t,n){this._storage[e]={value:t,expires:n.expires?n.expires*1e3+Date.now():void 0}}remove(e){delete this._storage[e]}},hm="editor-runtime.react.copies",Xt=8;function Ke(e){return e&&typeof e=="object"?e:void 0}function Yr(e){const t=Ke(e);if(!t)return;if(typeof t.useState=="function")return t.useState;const n=Ke(t.default);return n&&typeof n.useState=="function"?n.useState:void 0}function gm(e){const t=Ke(e),n=t&&typeof t.version=="string"?t.version:void 0,r=Ke(t?.default),i=r&&typeof r.version=="string"?r.version:void 0;return n??i??"unknown"}function vm(e,t,n){return e.package===t&&e.version===n}function bm({ourReact:e,entries:t,packageName:n,version:r}){const i=Yr(e);if(!i||!Array.isArray(t))return[];const o=[],s=new Set;for(const d of t){const l=Ke(d);if(!l||!vm(l,n,r))continue;const f=Yr(l.react);!f||f===i||s.has(f)||(s.add(f),o.push({package:n,version:r,reactVersion:gm(l.react),react:l.react}))}return o}function Em({packageName:e,copies:t}){const n=[`[${e}] A second copy of React is on this page (singleton invariant broken).`,`The editor runs on its own React, the plugin got another one from ${e}/runtime/react.`,`This shows up as "Cannot read properties of null (reading 'useState')" and takes down the whole`,"editor, not just the plugin panel: plugin components render inside the editor tree.","","Found:"];for(const r of t.slice(0,Xt))n.push(` • React ${r.reactVersion}, loaded through ${r.package}@${r.version}/runtime/react`);return t.length>Xt&&n.push(` …and ${t.length-Xt} more`),n.push("","Likely root cause: the editor is loaded from its UMD entry (a <script> on the page), while the","plugin was built as an ESM package by the host bundler. Those two never share a React.","","Fix it either way:"," • build the plugin on globals — it then takes React from the page registry, or"," • load the editor from its ESM entry and build both with the same bundler."),n.join(`
|
|
1047
|
-
`)}var
|
|
1046
|
+
`)}function Ur(e){return e.replace(/<title[^>]*>[\s\S]*?<\/title>/gi,"")}function Lf(e,t,n,r){const i=Mf(e,t,n,r);return i===void 0}function Mf(e,t,n,r){const{email:i}=Vn(t,!1),o=xe(i,e),s=o.id;if(s===void 0)return"no-id";if(r!==void 0&&r!==s)return"other-id-shown";const d=Fn(e)?.current();if(!d)return"no-session";const a=d.get(),f=a.attributes;if(a.serverId!==s)return"document-id";if(f.is_inited!==!0)return"not-inited";const u=Ur(gn(n??d.getContent()));if(o.html!==void 0&&Ur(gn(o.html))!==u)return"html";if(o.subject!==void 0&&o.subject!==f.subject)return"subject";if(o.preheader!==void 0&&o.preheader!==f.preheader)return"preheader";if(o.common_styles!==void 0&&o.common_styles!==f.common_styles)return"common_styles"}function Hr(e,t){const{email:n}=Vn(t,!1),r=xe(n,e);if(r.id!==void 0)return JSON.stringify([r.id,r.html===void 0?null:gn(r.html),r.subject??null,r.preheader??null,r.common_styles??null])}function kf(e,t){const n={...e};return delete n.id,{...n,...t}}function Nf(e){return e.html?e:{...e,html:Lo}}function Ue({code:e,project:t,...n},r,i){const o=i??Mo(r);return{...n,...e?{html:ke(r).toEditorForm(e)}:{},renderGuid:ce(),...o===void 0?{}:{project:o}}}function lt({html:e,renderGuid:t,...n},r){const{requested:i}=St(r);return ge({...n,code:ke(r).toOutputForm(e),project:i===void 0?n.project:i,guid:void 0,link:void 0,status:void 0,slug:void 0,password:void 0,comment_status:void 0,template:void 0,blocktags:void 0,project_title:void 0,ping_status:void 0,lock:void 0,tag:void 0,is_template:void 0})}function Fo(e){return Fn(e)?.current()?.get().serverId??void 0}function vn(e,t,n){return n===void 0&&(n=e.post===void 0?Fo(t):e.post),{...e,content:e.content?`<p>${e.content}</p>`:"",post:n}}function dt(e,t){return ge({...e,link:void 0,comment_status:void 0})}function bn({code:e,...t},n,r){return r===void 0&&(r=t.parent===void 0?Fo(n):t.parent),{...t,...e?{html:e}:{},parent:r}}function Gr({html:e,...t},n){return ge({...t,code:e,guid:void 0,compiled:ge({html:e,ampHtml:e&&""})})}var En=L("NotificationService"),Ff=L("emailTemplate.reads");async function jf(e,t){try{return await Se(e).email(e).readEmail(t)??void 0}catch(n){n instanceof Error&&n.message,Uf(e,t,n);return}}var Bf=L("emailTemplate.notifiedFailures");function Uf(e,t,n){if(n instanceof DOMException&&n.name==="AbortError")return;const r=e.getOrCreateInstance(Bf,()=>new Set);r.has(t)||(r.add(t),e.getInstanceAsync(En).then(()=>{Rn(e,B.ON_NOTIFICATION).fire({type:"error",id:"TEMPLATE_READ_ERROR",data:{templateId:t},innerException:n})},()=>{}))}function Hf(e,t){const n=e.getOrCreateInstance(Ff,()=>new Map),r=n.get(t);if(r!==void 0)return r;const i=jf(e,t).then(o=>(o===void 0&&n.delete(t),o));return n.set(t,i),i}var Gf="EXTERNAL";function qf(e){return e instanceof Error?e:new Error(typeof e=="string"?e:"сохранение не состоялось")}var $f="email_id",zf=class extends ee{_container;_prevCommand;_lastShow;_showToken=0;_showRequests=0;_dataSources;_eventLock;_queue=$s();_currentEmail;constructor(e){super(),this._container=e;const t=e;this._dataSources=It(t),this._eventLock=Of(t);const n=K(e,B.ON_EMAIL_CHANGED_ID);this.addDisposable(n(r=>{this._currentEmail=r})),this.addDisposable(e.addService(Pn,{execute:(r,i)=>{!i?.public&&this._currentEmail?.id&&!this._currentEmail.isNew&&r.headers.append($f,this._currentEmail.id)}}))}_getInitPipeline(){return this._container?.getInstance(De)??Un}_throwIfDestroyed(){if(this.isDisposed())throw xn()}async getTemplateEmail(e){const t=await Hf(this._container,String(e));if(!t)return;const n={...t,lock:!1,parent_email:String(e)};return delete n.id,n}async setBlocks(e=[]){const{cache:t}=this._dataSources.blocks,n=await Ft(this._container);await t.setAll(e.filter(r=>r.id!==void 0).map(r=>[r.id,Ue(r,this._container,n)]))}async setEmailRevisions(e,t){if(e===void 0)return;const{cache:n}=this._dataSources.emailRevisions,r=e.filter(i=>i.id!==void 0).map(i=>[i.id,bn(i,this._container,t)]);await n.setAll(r)}async setComments(e=[],t){const{cache:n}=this._dataSources.comments,r=e.filter(i=>i.id!==void 0).map(i=>[i.id,vn(i,this._container,t)]);await n.setAll(r)}async setEmail(e,t,n,r,i){const o=this._dataSources.emails,s=o.cache,d=await Ft(this._container),a=r??this._showToken;e=typeof e=="string"?{code:e}:{...e};let f=xe(e,this._container);const u=f.id;let v=u;if(u!==void 0){const b=await o.get(u);f={...b??{},...f,renderGuid:b?.renderGuid??ce(),...a>0?{showToken:a}:{},...i?{showId:i}:{},project:d}}else{v=n??ce();const b=await o.get(v);f={...f,renderGuid:b?.renderGuid??ce(),...a>0?{showToken:a}:{},...i?{showId:i}:{},project:d},delete f.project}if(t){const b=await this.getTemplateEmail(String(t));b&&(f=kf(b,f))}return u===void 0&&(f=Nf(f)),await s.addOrUpdate(v,()=>f),f}_rememberShow(e){this._prevCommand=e}_isRepeatOfLastShow(e){const t=this._lastShow;if(!t||t.signature!==Hr(this._container,e))return!1;const n=ft(this._container);return n===void 0||n===t.html}_rememberShownContent(e){const t=Hr(this._container,e);this._lastShow=t===void 0?void 0:{signature:t,html:ft(this._container)??""}}async _show(e,t){if(this._throwIfDestroyed(),t!==void 0&&t!==this._showRequests){this._showRequests;return}if(!e)return;const n=this._getInitPipeline();if($(n.signal),Lf(this._container,e,ft(this._container),this._prevCommand?.id)||this._isRepeatOfLastShow(e))return;const r=Vn(e);r.email.id,this._prevCommand?.id;let i,o="",s=0,d=!1,a,f=Promise.resolve(),u,v=!1;try{this._eventLock.suspendChange();const{email:b,blocks:E,autosaves:I,comments:g,templateId:y,reload:_}=r;i=b.id;const S=xe(b,this._container),A=S.id,m=A??ce(),c=await He("getProject",Ft(this._container));$(n.signal),o=ce();const l={isNew:A===void 0,id:String(m),project:c},p=_===!0&&A!==void 0;p&&(await this._dataSources.emails.remove(String(A),{silent:!0}),String(A)),s=++this._showToken,String(m);const h=[];h.push(this.setBlocks(E)),b.id!==void 0&&(h.push(this.setComments(g)),h.push(this.setEmailRevisions(I,String(b.id)))),h.push(this.setEmail(b,Number(y),A===void 0?String(m):void 0,s,o)),await He("setEmail+blocks+revisions",Promise.all(h),{emailId:A??String(m),showId:o,targetShowToken:s}),$(n.signal);const w=await this._dataSources.emails.get(String(m)),T=ve(this._container),O={id:o,token:s};A===void 0?u=T.startNewDraft(w??S,{patch:S,show:O}):p?u=T.reload(A,{email:w??S,patch:S,show:O}):T.sessionKey()===je(A)?u=T.show(S,O):u=T.open(A,{email:w??S,patch:S,show:O});const k=!!this._prevCommand&&mt(this._prevCommand,l);l.id,!this._prevCommand||mt(this._prevCommand,l),this._prevCommand?.id,this._rememberShow(l),f=n.requestShow({showId:o,navId:String(m),emailId:A,isNew:A===void 0}),v=!0,String(m),d=!0}catch(b){a=b,v&&o&&n.failShow(o,b),Tn(b)||(xi(b),void 0)}finally{this._eventLock.resumeChange()}if(!d)throw a instanceof Error?a:new Error(`[emailmaker] show() setup failed: ${String(a??"unknown error")}`);return He("show-init-deferred",Promise.all([f,u?.whenReady().catch(b=>{if(b instanceof gt){const E=qi(b);throw E?new Error(`[emailmaker] show(): email open failed (${E})`,{cause:b}):b}})??Promise.resolve()]).then(()=>{}),{showId:o,emailId:i??null}).then(()=>{this._rememberShownContent(e)})}async _save(){this._throwIfDestroyed();const e=this._getInitPipeline();$(e.signal);const t=ve(this._container),n=await t.save("publish",{source:Gf});if($(e.signal),!n)throw qf(t.saveState().error);return te(xf(this._container,this._currentEmail),this._container)}_queuedShow=this._queue.decorate((e,t)=>this._show(e,t),this);show=e=>{const t=this._showRequests+=1;return this._queuedShow(e,t)};save=this._queue.decorate(this._save,this)};function Vf(e){return String(e).replace(/"/g,""")}function Kf(e=new Date){const t=n=>String(n).padStart(2,"0");return String(e.getFullYear())+t(e.getMonth()+1)+t(e.getDate())+t(e.getHours())+t(e.getMinutes())+t(e.getSeconds())}function Wf(e){const t=/<(table|tr|div)(\s[^>]*)>/gi;let n;for(;(n=t.exec(e))!==null;){const r=n[2]??"";if(/\bem\s*=\s*["']block["']/i.test(r))return{full:n[0],index:n.index}}return null}function qr(e,t,n){const r=new RegExp(`\\b${t}\\s*=\\s*["'][^"']*["']`,"i"),i=Vf(n);return r.test(e)?e.replace(r,`${t}="${i}"`):e.replace(/>$/,` ${t}="${i}">`)}function Yf(e,t,n){if(!e?.trim()||!t)return e;const r=Wf(e);if(!r)return e;const i=String(t),o=Kf(n??new Date);let{full:s,index:d}=r;const a=s.length;return/\bem-block-id\s*=/.test(s)||(s=qr(s,"em-block-id",i)),s=qr(s,"em-block-version",o),e.slice(0,d)+s+e.slice(d+a)}function Xf(e){if(e.meta!==void 0&&e.meta!==null&&typeof e.meta=="object")return e.meta;const t=e.catalogExtra?.meta;if(t!=null&&typeof t=="object")return t}function Jf(e,t){const n=e.insertFrom??t?.type,r=t?.blockId??(e.id!=null&&e.id!==""?String(e.id):void 0),i=t?.project??(e.project!==void 0&&e.project!==null?String(e.project):void 0);return{type:t?.type??n,insertFrom:n,name:t?.name??e.name,blockId:r,project:i,fragmentRole:e.fragmentRole,id:r,title:e.title??void 0,blockType:e.type,meta:Xf(e)}}function jt(e,t){return t?Jf(t,e):{type:e.type,name:e.name,blockId:e.blockId,project:e.project,insertFrom:e.type}}var jo=["title","slug","type","tags","blocktags","modified","author","lock","subject","description","excerpt","status","is_template","link","renderGuid","date","date_gmt","modified_gmt","comment_status","ping_status","template","related_email","project_title","project_author","isAmp","meta"],Qf=[...jo,"html","id","project","password"],Fh=new Set(["html",...jo,"global_block","project"]);function Zf(e){if(!e||typeof e!="object")return{};const t={};e.id!=null&&e.id!==""&&(t.id=String(e.id)),e.title!=null&&e.title!==""&&(t.title=e.title),e.slug!=null&&e.slug!==""&&(t.slug=e.slug),e.type!=null&&e.type!==""&&(t.type=e.type),e.tags!=null&&(t.tags=e.tags),e.blocktags!=null&&(t.blocktags=e.blocktags),e.modified!=null&&e.modified!==""&&(t.modified=e.modified),e.author!=null&&e.author!==""&&(t.author=String(e.author)),e.lock!=null&&(t.lock=e.lock),e.subject!=null&&e.subject!==""&&(t.subject=e.subject),e.description!=null&&e.description!==""&&(t.description=e.description),e.excerpt!=null&&e.excerpt!==""&&(t.excerpt=e.excerpt),e.status!=null&&e.status!==""&&(t.status=e.status),e.is_template!=null&&(t.is_template=e.is_template),e.link!=null&&e.link!==""&&(t.link=e.link),e.renderGuid!=null&&e.renderGuid!==""&&(t.renderGuid=e.renderGuid),e.date!=null&&e.date!==""&&(t.date=e.date),e.date_gmt!=null&&e.date_gmt!==""&&(t.date_gmt=e.date_gmt),e.modified_gmt!=null&&e.modified_gmt!==""&&(t.modified_gmt=e.modified_gmt),e.comment_status!=null&&e.comment_status!==""&&(t.comment_status=e.comment_status),e.ping_status!=null&&e.ping_status!==""&&(t.ping_status=e.ping_status),e.template!=null&&e.template!==""&&(t.template=e.template),e.related_email!=null&&e.related_email!==""&&(t.related_email=e.related_email),e.project_title!=null&&e.project_title!==""&&(t.project_title=e.project_title),e.project_author!=null&&e.project_author!==""&&(t.project_author=e.project_author),e.isAmp!=null&&(t.isAmp=e.isAmp),e.meta!==void 0&&e.meta!==null&&typeof e.meta=="object"&&(t.meta=e.meta);const n=new Set(Qf),r={};for(const i of Object.keys(e))n.has(i)||(r[i]=e[i]);return Object.keys(r).length>0&&(t.catalogExtra=r),t}function ep(e,t={}){return!e||typeof e!="object"?{html:"",insertFrom:t.type,name:t.name,project:t.project,id:t.blockId}:{...Zf(e),html:typeof e.html=="string"?e.html:"",insertFrom:t.type,name:t.name,project:t.project??e.project,id:e.id!=null&&e.id!==""?String(e.id):t.blockId}}var yn=new WeakMap;function tp(e){let t=yn.get(e);return t||(t={byId:new Map,fallback:[]},yn.set(e,t)),t}function np(e){yn.delete(e)}function rp(e,t){const{byId:n,fallback:r}=tp(t);if(e.blockId){const i=n.get(e.blockId);if(i){n.delete(e.blockId);const o=r.indexOf(i);return o>=0&&r.splice(o,1),i}return}for(let i=r.length-1;i>=0;i--){const o=r[i],s=e.name!=null&&e.name!==""&&o.name!=null&&o.name!==""&&o.name===e.name,d=e.type!=null&&e.type!==""&&o.insertFrom===e.type;if(s&&d)return r.splice(i,1),o.id!=null&&o.id!==""&&n.delete(String(o.id)),o}}async function ip(e,t){const{blocks:n}=It(e);return await n.cache.getIfPresent(t)??void 0}async function op(e,t){if(!t.blockId)return;const n=await ip(e,t.blockId);if(n)return ep(n,t)}async function sp(e,t){const n=rp(e,t);if(n)return jt(e,n);const r=await op(t,e);return r?jt(e,r):jt(e,void 0)}var ap=As("application_block_inserted"),lp=-1e3,$r=new WeakSet;function dp(e){if(e===null||typeof e!="object")return!1;const t=e;return typeof t.type=="string"||typeof t.name=="string"||typeof t.blockId=="string"||typeof t.project=="string"||typeof t.project=="number"}function cp(e){if(!e||$r.has(e))return;$r.add(e);const t=new ee,n=X(e);return t.addDisposable(n.addListenerAsyncPipe(ap,async(r,i)=>{const o=dp(r)?await sp(r,e):r;return i?i(o):o},lp)),t.addDisposable({dispose:()=>{np(e)}}),t}var zr=100,up=class extends ee{_container;_events;constructor(e){super(),this._container=e;const t=cp(e);t&&this.addDisposable(t)}_get(){const e=this._container,{blocks:t,emails:n,comments:r,emailRevisions:i}=It(e),o=K(e,B.ON_SHARE_ID),s=K(e,B.ON_SHOW_PREVIEW_ID),d=K(e,B.ON_EMAIL_CLONE_ID),a=K(e,B.ON_CODE_VALIDATE_ID),f=K(e,B.ON_SUBJECT_CHANGED_ID),u=K(e,B.ON_EMAIL_CHANGED_ID),v=K(e,B.ON_PREHEADER_CHANGED_ID),b=K(e,B.ON_SAVEBUTTON_CLICK_ID),E=K(e,B.ON_NEXTBUTTON_CLICK_ID),I=K(e,B.ON_SEND_LIVEPREVIEW_ID),g=K(e,B.ON_SEND_TESTEMAIL_ID),y=K(e,Tf),_=K(e,B.ON_CONTENT_CHANGED_ID),S=K(e,If),A=K(e,B.ON_PREVIOUSBUTTON_CLICK_ID),m=K(e,B.ON_SEND_EMAIL_MODAL_ID),c=Is(K(e,B.ON_EMAIL_INIT_ID),l=>!l.reset);return{handlePreheaderChanged:N(v),handleSubjectChanged:N(f),handleValidate:N(a),handleReadEmail:N(n.handlerRead,l=>l,l=>l&&xe(l,e)),handleSaveEmail:N(n.onSave,function({prev:l,patch:p,value:h,source:w}){const T=l?te(l,e):void 0;return{prev:T,patch:Ge(T,te(p,e)),value:te(h,e),source:w}},l=>l?xe(l,e):void 0),handleRemoveEmail:N(n.onRemove,({value:l,source:p})=>({value:te(l,e),source:p}),()=>{}),handleReadCommonBlocks:N(y,l=>l.project,l=>l?.map(p=>Ue(p,e))),handleReadTemplateBlocks:N(S,l=>l,l=>l?.map(p=>Ue(p,e))),handleReadBlocks:N(t.byForeignKey("project").handleRead,l=>St(e).requested||String(l),l=>l?.map(p=>Ue(p,e))),handleSaveBlock:N(t.onSave,function({prev:l,patch:p,value:h,source:w}){const T=h.global_block===!0&&h.id&&typeof h.html=="string"?{...h,html:Yf(h.html,String(h.id))}:h,O=l?lt(l,e):void 0;return{prev:O,patch:Ge(O,lt(p,e)),value:lt(T,e),source:w}},l=>l?Ue(l,e):void 0),handleRemoveBlock:N(t.onRemove,({value:l,source:p})=>({value:lt(l,e),source:p}),()=>{}),handleReadComments:N(r.byForeignKey("post").handleRead,l=>l,l=>l?.map(p=>vn(p,e))),handleSaveComment:N(r.onSave,function({prev:l,patch:p,value:h,source:w}){const T=l?dt(l,e):void 0;return{prev:T,patch:Ge(T,dt(p,e)),value:dt(h,e),source:w}},l=>l?vn(l,e):void 0),handleRemoveComment:N(r.onRemove,({value:l,source:p})=>({value:dt(l,e),source:p}),()=>{}),handleReadEmailRevisions:N(i.byForeignKey("parent").handleRead,l=>l,l=>l?.map(p=>bn(p,e))),handleEmailAutosave:N(i.onSave,function({prev:l,patch:p,value:h,source:w}){return{value:Gr(h,e),source:w}},l=>l?bn(l,e):void 0),handleRemoveEmailAutoSave:N(i.onRemove,({value:l,source:p})=>({value:Gr(l,e),source:p}),()=>{}),handleEmailChanged:N(nr(u,zr),l=>te(l,e)),handleEmailInit:N(c,l=>te(l,e)),handlePreviousButtonClick:N(A,l=>te(l,e)),handleNextButtonClick:N(E,l=>te(l,e)),handleSaveButtonClick:N(b,l=>te(l,e)),handleHtmlChanged:N(nr(_,zr)),handleTestEmailSend:N(g,({html:l,...p})=>({...p,code:l,compiled:{html:l,ampHtml:""}})),handleTestEmailModal:N(m,l=>te(l,e)),handleCloneEmail:N(d,l=>te(l,e)),handleShareEmail:N(o),handlePreviewEmail:N(s),handleLivePreviewEmail:N(I)}}get(){return this._events||(this._events=this._get())}_listenersUpdaters;setOptions(e={}){const t=this.get();let n=this._listenersUpdaters;if(!n){n=this._listenersUpdaters={};for(const r of Object.keys(t))n[r]=this.addDisposable(new Re(t[r]))}for(const r of Object.keys(t))n[r].setListener(e[r])}},fp=L("DataController"),pp=L("DataEvents");function Bo(e){return e.getOrCreateInstance(fp,()=>{const t=new zf(e);return e.getInstance(j)?.addDisposable(t),t})}function Uo(e){return e.getOrCreateInstance(pp,()=>new up(e))}var mp=L("plugin.startupShow");function hp(e){const t=Bo(e),n=Uo(e),r=e.getInstance(se),i=e.getInstance(j),o={current:Promise.resolve()};e.inject(mp,o);const s=r?.watch(a=>{a&&n.setOptions(a)}),d=r?.select(a=>a?.content).watch(a=>{a!==void 0&&(z(Q.showStart),o.current=(async()=>{try{await t.show(a)}catch{}finally{z(Q.showEnd)}})())});s&&i?.addDisposable(s),d&&i?.addDisposable(d)}function gp(e){const t=Bo(e);return{...Uo(e).get(),show(n){return z(Q.showStart),t.show(n).finally(()=>z(Q.showEnd))},save(){return t.save()}}}var vp=[{name:"rest.client",setup:Ef},{name:"auth.oauth",setup:Ns},{name:"rest.identityHeaders",setup:mf},{name:"lifetime.destroyable",provides:[qn],setup:gu},{name:"appInit",provides:[Pe,Ln],setup:Ea},{name:"config",provides:[we],setup:mu},{name:"email.documents",setup:Mu},{name:"show.initPipeline",provides:[De],setup:yf},{name:"show",setup:hp},{name:"locale.service",provides:[ze],setup:cf},{name:"locale.fromConfig",awaits:{services:[we,ze]},setup:uf},{name:"canvas.early",setup:gc},{name:"canvas.previewSettings",setup:Ic},{name:"canvas.sandboxExtensions",setup:Ac},{name:"canvas.headerSync",provides:[vo],setup:Ec},{name:"canvas.ampSync",setup:Kl},{name:"canvas.moduleBridge",setup:bd},{name:"canvas.port",setup:nd},{name:"canvas.images",setup:ed},{name:"canvas.edits",setup:Jd},{name:"canvas.blockContent",setup:zd},{name:"canvas.sandboxFill",provides:[Hn],setup:qc},{name:"canvas.reactions",setup:pc}],bp=class extends Error{cycle;constructor(e){super(`[units] цикл в зависимостях: ${e.join(" → ")}`),this.cycle=e}};function Ep(e){const t=new Map;for(const n of e)for(const r of n.provides??[]){const i=t.get(r)??[];i.push(n),t.set(r,i)}return t}function yp(e,t){const n=[];for(const r of e.awaits?.services??[])for(const i of t.get(r)??[])i!==e&&n.push(i);return n}function Ho(e){const t=Ep(e),n=[],r=new Set,i=[],o=new Set,s=d=>{if(!r.has(d)){if(o.has(d)){const a=i.indexOf(d);throw new bp([...i.slice(a),d].map(f=>f.name))}o.add(d),i.push(d);for(const a of yp(d,t))s(a);i.pop(),o.delete(d),r.add(d),n.push(d)}};for(const d of e)s(d);return n}var Vr;function Kn(e){const t=e.getInstance(se);if(t)return t;e.getInstance(j)||e.inject(j,new ee);const n=Me();e.inject(se,n),Vr??=Ho(vp);for(const r of Vr)r.setup(e);return n}function _p(e){}var wp=[{name:"save.previewFollow",setup:_p}],Kr=L("plugin.lateUnitsInstalled");function Sp(e){if(!e.getInstance(Kr)){e.inject(Kr,!0);for(const t of Ho(wp))t.setup(e)}}function Ip(e,t){return{project:Number(e),app_id:t?.app_id||0,app_config:t?.app_config||{},user:t?.user}}function Tp(e){if(!e)return;const t=vi(e)?.data,n=t?.data?.scope??t?.scope;return(Array.isArray(n)?n.flatMap(r=>typeof r=="string"?r.split(/\s+/):[]):typeof n=="string"?n.split(/\s+/):[]).find(r=>/^project_\d+$/.test(r))?.replace(/^project_/,"")||void 0}var Ap=Le(e=>{let t,n,r;return{async setOptions(i){const o=r!==i.getAuthToken,s=!mt(t,i.user),d=n!==i.project;if(r=i.getAuthToken,t=i.user,n=i.project,!(!e.getInstance(me)||!i.getAuthToken)&&!(!o&&!s&&!d))try{const a=await i.getAuthToken(i.user,i.project);e.inject(Us,Promise.resolve(a||""));const f=Tp(a);if(!f)return;e.inject(Ls,f);const u=e.getInstance(Pe),v=u?await u.catch(()=>{}):void 0;e.inject(Pe,Promise.resolve(Ip(f,v)))}catch{}}}});function Cp(e,t){if(e.getInstance(er))return;e.inject(er,!0);const n=An(e,B.FILE_PROXY_EVENT_ID);t.addDisposable(n(async({url:r})=>(await fetch(r)).blob(),Number.MIN_VALUE))}function Rp(e){e.getInstance(xs)||e.inject(me,void 0)}function Tt(e){return String(e.standaloneKey||"").trim()||void 0}function Pp(e){return e.standaloneOnAuthFailure===!0?!0:e.config?.standaloneOnAuthFailure===!0}function Wn(e){return Pp(e)?!!Tt(e):!1}function At(e){return!!Tt(e)&&!Wn(e)}var Dp=Le(e=>{let t,n=!1;return{setOptions(r){const i=n;if(n=!0,!At(r)){t&&(Rp(e),Wn(r)),t=void 0;return}const o=Tt(r);if(!o||t===o&&e.getInstance(me))return;t=o,e.inject(me,o);const s=e.getInstance(j);s&&Cp(e,s)}}}),Op=Le(e=>{const t=e.getInstance(j),n=An(e,hi),r=N(n),i=t.addDisposable(new Re(r));return{setOptions({handleLoad:o}){i.setListener(o)},instance:{handleLoad:r},dispose:()=>t.dispose()}}),xp=Le(e=>{const t=e.getInstance(j),n=t.addDisposable(new pe),r=t.addDisposable(new pe),i=Rn(e,ss),o=N(n.event),s=N(r.event),d=N(i.event),a=t.addDisposable(new Re(o)),f=t.addDisposable(new Re(s)),u=t.addDisposable(new Re(d));return{instance:{handleSetOptions:o,handleOptionsChanged:s,handleConfigChanged:d},async setOptions(v){a.setListener(v.handleSetOptions),f.setListener(v.handleOptionsChanged),u.setListener(v.handleConfigChanged),await n.fire(v),await r.fire(v)},dispose(){}}}),Bt,Go="core";function Lp(){const e=window.__emailmaker__?.require;return typeof e!="function"?Promise.reject(new Error("[loadCore] AMD loader is unavailable")):new Promise((t,n)=>{e([Go],r=>t(r),r=>n(r instanceof Error?r:new Error("[loadCore] Failed to require core module")))})}function Mp(e){const t=window.__emailmaker__?.require?.warm;return typeof t!="function"?Qe().then(()=>{}):t([Go],e)}function Qe(){return Bt===void 0&&(Bt=Lp().then(e=>($e()&&e.installDiagnostics().catch(t=>{}),e))),Bt}var Ut=null,Ht=null;async function kp(e){typeof e?.prefetch=="function"&&await e.prefetch()}function Yn(){return Ut||(Ut=Qe().then(()=>{})),Ut}function qo(e){return Ht||(Ht=kp(e)),Ht}function Np(){return qo(typeof window.__emailmaker__<"u"?window.__emailmaker__:void 0)}function Fp(e){return Promise.all([Yn(),qo(e)]).then(()=>{})}function jp(e){const t=e?.preload?.start??e?.startupPrefetchMode;return t==="eager"||t==="idle"||t==="manual"||t==="off"?t:"idle"}function Wr(e,t){const n=e?.preload?.execute!==!1;Promise.resolve().then(()=>Mp(t?{priority:t}:void 0)).then(()=>n?Yn():void 0).catch(()=>{})}function Bp(e){const t=jp(e);if(t==="eager")Wr(e);else if(t==="idle"){const n=()=>Wr(e,"low");document.readyState==="complete"?n():window.addEventListener("load",n,{once:!0})}}var $o="PluginRegistry";function Up(e=bs()){return e.getOrCreateInstance($o,()=>new ea)}var Hp=new ta(()=>Up()),Gp=Le(e=>{let t;function n(){if(!t)throw new Error("PluginCollection not initialized. Call init() first.");return t}return{async setOptions(r){const i=e.getInstance(_t),o=e.getInstance($o);t||(t=new Zs(i,o,{ensureHostRuntimeReady:Np}),e.inject(tn,t));const s=r?.plugins||[];i&&await t.setPlugins(s)},instance:{use(r){return typeof r=="function"?n().useByCtor(r):n().useByKey(r)},useAsync(r){return n().useAsync(r)},waitPlugin(r){return n().waitFor(r)}},dispose(){t?.dispose(),t=void 0}}}),zo=class{_listeners=[];add(e,t=0,n){const r={fn:n?e.bind(n):e,priority:t};return this._listeners.push(r),{dispose:()=>{const i=this._listeners.indexOf(r);i>=0&&this._listeners.splice(i,1)}}}async run(e){const t=[...this._listeners].sort((n,r)=>r.priority-n.priority);for(const{fn:n}of t){const r=await n(e);r!==null&&typeof r=="object"&&!Array.isArray(r)&&!(r instanceof Date)&&!(r instanceof RegExp)&&Object.assign(e,r)}return e}},qp=L("ELEMENT_INSERT_HTML_PIPELINE"),$p=L("BLOCK_INSERT_HTML_PIPELINE"),zp="application_block_inserted",Vp=class{_context;constructor(e){this._context=e}get _container(){return this._context.container}handleBeforeInject(e,t,n){return this._container.getOrCreateInstance($p,()=>new zo).add(e,t??0,n)}handleInject(e,t,n){const r=this._container.getOrCreateInstance(Ye,()=>new Xe),i=n?e.bind(n):e;return r.addListener(zp,i,t)}},Kp=L("ComponentRegistry"),Yr;function Ve(e,t=Kp){const n=ht.getInstance(t);if(n)return n;if(!Yr)throw new Error("[extensions] component registry is not loaded yet — UI work starts at init()");return ht.getOrCreateInstance(t,Yr)}var Wp=class{_context;constructor(e){this._context=e}get _container(){return this._context.container}getNames(){return new Promise(e=>{const t=this._container.addService(tt,{execute:n=>{t.dispose(),e(n.value.map(r=>({name:r.name,html:r.html})))}})})}update(e,t){const n=this._container,r=Ve(n);return n.addService(tt,{execute:i=>{const o=i.value.find(s=>s.name===e);if(o){const{icon:s,title:d,fallbackTooltip:a,...f}=t;s&&(o.icon=r.getReactNode(s)),d&&(o.title=r.getReactNode(d)),a&&(o.fallbackTooltip=r.getReactNode(a)),Object.assign(o,f)}}})}delete(e){this._container.addService(tt,{execute:t=>{const n=t.value.findIndex(r=>r.name===e);n>=0&&t.value.splice(n,1)}})}insert(e,t){const n=this._container,r=Ve(n);return n.addService(tt,{execute:i=>{i.value.splice(t??i.value.length,0,{...e,title:r.getReactNode(e.title),icon:r.getReactNode(e.icon),fallbackTooltip:r.getReactNode(e.fallbackTooltip)})}})}handleBeforeInject(e,t,n){return this._container.getOrCreateInstance(qp,()=>new zo).add(e,t??0,n)}handleInject(e,t,n){return Ce(this._container,_s).event(r=>{e({name:r.name,className:r.className||"",html:r.html})},t,n)}},Yp=class{_messageService;constructor(e){this._messageService=e.container.getOrCreateInstance(Ye,()=>new Xe)}send(e,t,n){this._messageService.send(e,t,n)}sendAsync(e,t,n=!0){return this._messageService.sendAsync(e,t,n)}addListener(e,t,n){return this._messageService.addListener(e,t,n)}addListenerAsync(e,t,n=0){return this._messageService.addListenerAsync(e,t,n)}onInit(e,t=!0,n=0){return this._messageService.onInit(e,t,n)}isInited(){return this._messageService.isInited()}};function Xp(e){return Object.fromEntries(Object.entries(e).filter(([t,n])=>n!==void 0))}var Jp=class{_context;_showModalEmitter;_closeModalEmitter;_updateModalEmitter;constructor(e){this._context=e;const t=e.container;this._showModalEmitter=Ce(t,gs),this._closeModalEmitter=Ce(t,ps),this._updateModalEmitter=Ce(t,ws)}get _container(){return this._context.container}show(e){const t=Ve(this._container),n=`modal_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,r=e.modalProps;return this._showModalEmitter.fire({...e,content:t.getReactNode(e.content),title:t.getReactNode(e.title),id:n,modalProps:r?{...r,footer:t.getReactNode(r.footer),okText:t.getReactNode(r.okText),cancelText:t.getReactNode(r.cancelText),closeIcon:t.getReactNode(r.closeIcon)}:void 0}),n}close(e){this._closeModalEmitter.fire(e)}closeAll(){this._closeModalEmitter.fire()}update(e,t){const n=Ve(this._container),r=t.modalProps;this._updateModalEmitter.fire(Xp({...t,content:n.getReactNode(t.content),title:n.getReactNode(t.title),id:e,modalProps:r?{...r,footer:n.getReactNode(r.footer),okText:n.getReactNode(r.okText),cancelText:n.getReactNode(r.cancelText),closeIcon:n.getReactNode(r.closeIcon)}:void 0}))}},Qp=class{_registration;_loadedDisposable;loaded;ready;_loadedSettled=!1;_readySettled=!1;constructor(e,t){this._registration=e,this._loadedDisposable=t,this.loaded=new Promise((n,r)=>{const i=()=>this._loadedDisposable.dispose(),o=()=>{this._loadedSettled||(this._loadedSettled=!0,this._readySettled&&i(),n())},s=d=>{this._loadedSettled||(this._loadedSettled=!0,this._readySettled&&i(),r(d))};this._resolveLoaded=o,this._rejectLoaded=s}),this.ready=new Promise((n,r)=>{const i=()=>this._loadedDisposable.dispose(),o=()=>{this._readySettled||(this._readySettled=!0,this._loadedSettled&&i(),n())},s=d=>{this._readySettled||(this._readySettled=!0,this._loadedSettled&&i(),r(d))};this._resolveReady=o,this._rejectReady=s})}_resolveLoaded=()=>{};_rejectLoaded=()=>{};_resolveReady=()=>{};_rejectReady=()=>{};resolveLoaded(){this._resolveLoaded()}resolveReady(){this._resolveReady()}rejectLoad(e){this._rejectLoaded(e),this._rejectReady(e)}rejectReady(e){this._rejectReady(e)}dispose(){this._registration.dispose();const e=new Error("Sandbox script registration disposed before completion.");this.rejectLoad(e),this.rejectReady(e)}},Zp=class{_context;constructor(e){this._context=e}get _container(){return this._context.container}get _messageService(){return this._container.getOrCreateInstance(Ye,()=>new Xe)}_createScriptHandle(e,t){const n=this._messageService.addListener(ls,i=>{if(i.key===e){if(i.phase==="load"&&i.status==="success"){r.resolveLoaded();return}if(i.phase==="ready"&&i.status==="success"){r.resolveReady();return}if(i.phase==="load"){r.rejectLoad(new Error(i.error||`Sandbox script "${e}" failed to load.`));return}r.rejectReady(new Error(i.error||`Sandbox script "${e}" failed to initialize.`))}}),r=new Qp(t,n);return r}registerSandboxCSS(e){return this._container.addService(Te,{type:"link",key:e,parent:"head",attributes:{rel:"stylesheet",type:"text/css",href:e}})}registerSandboxCSSCode(e,t){return this._container.addService(Te,{type:"style",key:e,parent:"head",attributes:{type:"text/css"},innerHTML:t})}registerSandboxScript(e){const t=this._container.addService(Te,{type:"script",key:e,parent:"head",attributes:{src:e,type:"text/javascript"}});return this._createScriptHandle(e,t)}registerSandboxScriptCode(e,t){const n=this._container.addService(Te,{type:"script",key:e,parent:"head",attributes:{type:"text/javascript"},innerHTML:t});return this._createScriptHandle(e,n)}},em=new Set([Symbol.for("react.element"),Symbol.for("react.transitional.element")]);function _n(e){if(typeof e!="object"||e===null)return!1;const t=e.$$typeof;return typeof t=="symbol"&&em.has(t)}function Vo(){const e=globalThis.crypto;if(e&&typeof e.randomUUID=="function")return e.randomUUID();if(e&&typeof e.getRandomValues=="function"){const t=new Uint8Array(16);return e.getRandomValues(t),Array.from(t,n=>n.toString(16).padStart(2,"0")).join("")}return`nohwcrypto-${Date.now()}`}function Gt(){return`__settingsPanel:${Vo()}`}function qt(e,t){return{type:e,props:t}}function tm(e){return typeof e=="object"&&e!==null&&"type"in e&&"props"in e&&!_n(e)}function Xr(e,t,n){if(t==null||typeof t=="number"||typeof t=="boolean"||typeof t=="string")return t;if(_n(t)){const r=Gt();return n(e.add(r,t)),qt(r,{})}if(typeof t=="function"){const r=Gt();return n(e.add(r,t)),qt(r,{})}if(tm(t)){const r=t.type;if(typeof r=="string")return t;if(_n(r)||typeof r=="function"){const i=Gt();return n(e.add(i,r)),qt(i,t.props)}return t}return t}var nm=class{_context;_panelRegistrationDisposables=[];constructor(e){this._context=e}get _container(){return this._context.container}_clearPanelRegistrations(){for(const e of this._panelRegistrationDisposables)e.dispose();this._panelRegistrationDisposables.length=0}_trackRegistration(e){this._panelRegistrationDisposables.push(e)}showSettingsPanel(e){this._clearPanelRegistrations();const t=Ve(this._container),n=s=>this._trackRegistration(s),r=Xr(t,e.content,n),i=e.advancedTabs?.map(s=>({...s,content:Xr(t,s.content,n)})),o=e.instanceKey??Vo();Ce(this._container,Zn).fire({...e,content:r,advancedTabs:i,instanceKey:o,type:vs})}closeSettingsPanel(){this._clearPanelRegistrations(),Ce(this._container,Zn).fire(null)}},Ko={SandboxScriptApi:Zp,ElementsApi:Wp,BlocksApi:Vp,MessageService:Yp,SettingsPanelApi:nm,ModalApi:Jp};function $t(e,t,n,r={}){const i=Object.assign({},e);for(const[o,s]of Object.entries(t))if(s!==void 0)if(n.includes(o)&&typeof s=="object"&&s!==null){const d=i[o],a=r[o]??{};i[o]=Object.assign({},typeof d=="object"&&d!==null?d:a,s)}else i[o]=s;return i}var ne={border:{all:null,top:null,right:null,bottom:null,left:null},borderRadius:{all:5,topLeft:null,topRight:null,bottomRight:null,bottomLeft:null},borderRadiusCards:{all:10,topLeft:null,topRight:null,bottomRight:null,bottomLeft:null},padding:{all:null,top:null,right:null,bottom:null,left:null}},rm={fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif"],fontSize:16,fontSizeDim:"px",lineHeight:21,lineHeightDim:"px",color:"#5a5a5a",contrastColor:"#FFFFFF",textAlign:"left",paddingBottom:10,paddingBottomDim:"px"},zt={fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif"],fontSize:24,fontSizeDim:"px",lineHeight:32,lineHeightDim:"px",color:"#333333",contrastColor:"#FFFFFF",textAlign:"left",paddingTop:20,paddingTopDim:"px",paddingBottom:20,paddingBottomDim:"px",letterSpacing:0,letterSpacingDim:"px",bold:!0,italic:!1},Jr={color:"#1C52DC",contrastColor:"#FFFFFF",underline:!0},Ie={fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif"],fontSize:16,fontSizeDim:"px",letterSpacing:0,letterSpacingDim:"px",color:"#FFFFFF",contrastColor:"#1C52DC",bold:!1,italic:!1,backgroundColor:"#1C52DC",contrastBackgroundColor:"#FFFFFF",marginTop:10,marginTopDim:"px",marginBottom:10,marginBottomDim:"px",border:ne.border,borderRadius:ne.borderRadius,textAlign:"center",padding:ne.padding},Qr={backgroundColor:"#FFFFFF",contrastBackgroundColor:"#1C52DC",padding:ne.padding},Vt={contrastBackgroundColor:"#1C52DC",contrastTextColor:"#FFFFFF",baseBackgroundColor:"#F8F8F8",baseTextColor:"#333333",border:ne.border,borderRadius:ne.borderRadiusCards};function im(e){return{...rm,...e}}function om(e){return{...zt,...e,bold:e?.bold??zt.bold,italic:e?.italic??zt.italic}}function sm(e){return{...Jr,...e,underline:e?.underline??Jr.underline}}function am(e){return{...Ie,...e,bold:e?.bold??Ie.bold,italic:e?.italic??Ie.italic,border:{...Ie.border,...e?.border},borderRadius:{...Ie.borderRadius,...e?.borderRadius},padding:{...Ie.padding,...e?.padding}}}function lm(e){return{...Qr,...e,padding:{...Qr.padding,...e?.padding}}}function dm(e){return{...Vt,...e,border:{...Vt.border,...e?.border},borderRadius:{...Vt.borderRadius,...e?.borderRadius}}}function Kt(e={}){return{backgroundColor:e.backgroundColor||"",backgroundImage:(e.backgroundImage||[]).map(t=>({type:"url",value:t?.value||""})),backgroundPositionX:e.backgroundPositionX||"",backgroundPositionY:e.backgroundPositionY||"",backgroundRepeat:e.backgroundRepeat||"",backgroundSize:e.backgroundSize||"",backgroundColorContent:e.backgroundColorContent||"",textStrong:e.textStrong||!1,textItalic:e.textItalic||!1,textUnderline:e.textUnderline||!1,width:e.width,responsive:e.responsive}}function Zr(e){let t={...Cn};try{e&&e!=="{}"&&(t=JSON.parse(e))}catch{}return t}function Wt(e){return{text:im(e.text),headings:om(e.headings),links:sm(e.links),buttons:am(e.buttons),block:lm(e.block),cards:dm(e.cards)}}var ei=L("EmailSettingsPort"),cm=1e4,Wo=class{_editor;_layoutSettingsChanged=new nn;_contentStylesChanged=new nn;_messageSubscription;_messageSubscriptionPromise;_prevLayoutSnapshot;_prevContentSnapshot;constructor(e){this._editor=e}onChangeEmailLayoutSettings(e){const t=this._layoutSettingsChanged.event(e);return this._ensureMessageSubscription(),{dispose:()=>{t.dispose(),this._disposeMessageSubscriptionIfUnused()}}}onChangeEmailContentStyles(e){const t=this._contentStylesChanged.event(e);return this._ensureMessageSubscription(),{dispose:()=>{t.dispose(),this._disposeMessageSubscriptionIfUnused()}}}_disposeMessageSubscriptionIfUnused(){this._layoutSettingsChanged.hasListeners()||this._contentStylesChanged.hasListeners()||(this._messageSubscription?.dispose(),this._messageSubscription=void 0)}_settings(e=this._editor.container){const t=e.getInstance(ei);if(!t)throw new Error("[extensions] настройки письма ещё не загружены — работа с UI начинается с init()");return t}_getCurrentLayoutSettings(){return Kt(this._settings().read())}_getCurrentContentStyles(){const e=Pt(this._editor.container)?.current()?.get().attributes.common_styles;return Wt(Zr(e))}_getLayoutSnapshot(e){return JSON.stringify(e)}_getContentSnapshot(e){return JSON.stringify(e)}async _ensureMessageSubscription(){if(!this._messageSubscription){if(this._messageSubscriptionPromise)return this._messageSubscriptionPromise;this._messageSubscriptionPromise=(async()=>{if(await this._editor.container.getInstanceAsync(ei),this._messageSubscription)return;const e=this._editor.container.getOrCreateInstance(Ye,()=>new Xe),t=this._getCurrentLayoutSettings(),n=this._getCurrentContentStyles();this._prevLayoutSnapshot=this._getLayoutSnapshot(t),this._prevContentSnapshot=this._getContentSnapshot(n),this._messageSubscription=e.addListener(r=>{const i=r?.data,o=i?.operation;if(o===F.APPLICATION_EMAIL_SETTINGS_SET){const a=Kt(i?.settings),f=this._getLayoutSnapshot(a);f!==this._prevLayoutSnapshot&&(this._prevLayoutSnapshot=f,this._layoutSettingsChanged.fire(a));return}if(o!==F.APPLICATION_COMMON_STYLES_UPDATE)return;const s=Wt(r.data?.settings?.commonStyles??{...Cn}),d=this._getContentSnapshot(s);d!==this._prevContentSnapshot&&(this._prevContentSnapshot=d,this._contentStylesChanged.fire(s))})})();try{await this._messageSubscriptionPromise}finally{this._messageSubscriptionPromise=void 0}}}async getEmailLayoutSettings(){return await this._waitForEmailSettingsFromIframe(),this._getCurrentLayoutSettings()}async setEmailLayoutSettings(e){await this._waitForEmailSettingsFromIframe();const t=this._settings(),n={...t.read(),...e};t.write(n);const r=Kt(n);this._prevLayoutSnapshot=this._getLayoutSnapshot(r),this._layoutSettingsChanged.fire(r)}async _waitForEmailSettingsFromIframe(e=cm){const t=Pt(this._editor.container)?.current()?.get().attributes.is_inited,n=this._settings().read();if(t&&n&&Object.keys(n).length>0&&(n.backgroundColor||n.backgroundImage?.[0]?.value||n.width?.value||n.responsive!==void 0)||t)return;const r=this._editor.container,i=An(r,B.ON_EMAIL_INIT_ID);return new Promise(o=>{let s=!1,d;const a=()=>{d&&(clearTimeout(d),d=void 0)},f=i(()=>{s||(s=!0,a(),f.dispose(),o())});d=setTimeout(()=>{s||(s=!0,f.dispose(),o())},e)})}async getEmailContentStyles(){return this._getCurrentContentStyles()}async setEmailContentStyles(e){const t=Pt(this._editor.container)?.current();if(!t)return;const n=Zr(t.get().attributes.common_styles);e.text!==void 0&&(n.text={...n.text||{},...e.text}),e.headings!==void 0&&(n.headings={...n.headings||{},...e.headings}),e.links!==void 0&&(n.links={...n.links||{},...e.links}),e.buttons!==void 0&&(n.buttons=$t(n.buttons||{},e.buttons,["border","borderRadius","padding"],{border:ne.border,borderRadius:ne.borderRadius,padding:ne.padding})),e.block!==void 0&&(n.block=$t(n.block||{},e.block,["padding"],{padding:ne.padding})),e.cards!==void 0&&(n.cards=$t(n.cards||{},e.cards,["border","borderRadius"],{border:ne.border,borderRadius:ne.borderRadiusCards}));const r=JSON.stringify(n);vt(t,{common_styles:r}),this._settings().markAppearanceChanged();const i=Wt(n);this._prevContentSnapshot=this._getContentSnapshot(i),this._contentStylesChanged.fire(i)}},um={...Ko,EmailSettingsApi:Wo},fm={...Ko},jh={...fm,EmailSettingsApi:Wo},pm={...um};function mm(){Hp.addAll(pm)}var hm=[Le(()=>{mm()}),Op,xp,Dp,Fs,Ap,qs];async function gm(){return(await Qe()).asyncMixins}var vm=Gp,bm=e=>{let t=null,n=!1;return{instance:{},async setOptions(r){if(!t&&!n){let i;try{i=await gm()}catch(s){throw e.failPendingWaits(s),s}t=i(e);const o=await e.getInstanceAsync(_t);Object.assign(o,t.instance||{});for(const s of e.getInstance(bi)??[])s()}t&&await t.setOptions(r)},dispose(){t?.dispose(),n=!0}}},Em=Rs([...hm]);function Yt(){let e,t=!1;const n=new Map,r=new Map;function i(){for(const o of r.values())o();r.clear()}return{event(o,s,d){const a=Symbol("subscription");return t||(n.set(a,{listener:o,priority:s,thisArg:d}),e&&r.set(a,e(o,s,d))),()=>{n.delete(a),r.get(a)?.(),r.delete(a)}},attach(o){i(),e=o;for(const[s,{listener:d,priority:a,thisArg:f}]of n)r.set(s,o(d,a,f))},dispose(){t=!0,i(),n.clear(),e=void 0}}}function ym(e){const t=Yt(),n=Yt(),r=Yt();return e.getInstance(j)?.addDispose(()=>{t.dispose(),n.dispose(),r.dispose()}),e.getInstanceAsync(En).then(i=>{t.attach(i.onNotify),n.attach(i.onError),r.attach(i.onSuccess)},()=>{}),{handleNotify:t.event,handleError:n.event,handleSuccess:r.event,notify(i){const o=e.getInstance(En);if(!o)throw new Error("[plugin] notify() вызван до загрузки редактора");o.notify(i)}}}var _m=[vu,gp,ym];function wm(e,t=_m){const n=Kn(e);Sp(e);const r=Em(e),i=vm(e),o=bm(e),s={...r.instance,...i.instance,...o.instance};for(const a of t)Object.assign(s,a(e));let d=!0;return{instance:s,async setOptions(a){await r.setOptions(a);const f=d&&n.get()===a;d=!1,f||n.set(a),await i.setOptions(a),await o.setOptions(a)}}}var Sm=class{_storage=Object.create(null);get(e){const t=this._storage[e];return t&&(!t.expires||t.expires<Date.now())?t.value:""}set(e,t,n){this._storage[e]={value:t,expires:n.expires?n.expires*1e3+Date.now():void 0}}remove(e){delete this._storage[e]}},Im="editor-runtime.react.copies",Xt=8;function Ke(e){return e&&typeof e=="object"?e:void 0}function ti(e){const t=Ke(e);if(!t)return;if(typeof t.useState=="function")return t.useState;const n=Ke(t.default);return n&&typeof n.useState=="function"?n.useState:void 0}function Tm(e){const t=Ke(e),n=t&&typeof t.version=="string"?t.version:void 0,r=Ke(t?.default),i=r&&typeof r.version=="string"?r.version:void 0;return n??i??"unknown"}function Am(e,t,n){return e.package===t&&e.version===n}function Cm({ourReact:e,entries:t,packageName:n,version:r}){const i=ti(e);if(!i||!Array.isArray(t))return[];const o=[],s=new Set;for(const d of t){const a=Ke(d);if(!a||!Am(a,n,r))continue;const f=ti(a.react);!f||f===i||s.has(f)||(s.add(f),o.push({package:n,version:r,reactVersion:Tm(a.react),react:a.react}))}return o}function Rm({packageName:e,copies:t}){const n=[`[${e}] A second copy of React is on this page (singleton invariant broken).`,`The editor runs on its own React, the plugin got another one from ${e}/runtime/react.`,`This shows up as "Cannot read properties of null (reading 'useState')" and takes down the whole`,"editor, not just the plugin panel: plugin components render inside the editor tree.","","Found:"];for(const r of t.slice(0,Xt))n.push(` • React ${r.reactVersion}, loaded through ${r.package}@${r.version}/runtime/react`);return t.length>Xt&&n.push(` …and ${t.length-Xt} more`),n.push("","Likely root cause: the editor is loaded from its UMD entry (a <script> on the page), while the","plugin was built as an ESM package by the host bundler. Those two never share a React.","","Fix it either way:"," • build the plugin on globals — it then takes React from the page registry, or"," • load the editor from its ESM entry and build both with the same bundler."),n.join(`
|
|
1047
|
+
`)}var ni=new Set;function Pm({packageName:e="@emailmaker/emailmaker",version:t="1.1.85-dev.8",log:n=r=>{}}={}){const r=i=>{try{const o=globalThis[Symbol.for(Im)],s=Cm({ourReact:i,entries:o,packageName:e,version:t}).filter(d=>!ni.has(d.react));if(!s.length)return;s.forEach(d=>ni.add(d.react)),n(Rm({packageName:e,copies:s}))}catch{}};try{const i=On()?.modules?.React;if(i&&typeof i.then=="function"){i.then(r,()=>{});return}r(i)}catch{}}async function Dm(e,t,n){$(e.signal);const r=t??ht.createChild();Kn(r);const i=r.getInstance(j);async function o(){r.inject(as,new Sm),Pm();const s=wm(r),d={...s.instance,container:r,async reset(a){if($(a.signal),i.isDisposed())throw xn();return await s.setOptions(a),d}};r.inject(_t,d);try{if(n?.onInstance?.(d),await s.setOptions(e),$(e.signal),i.isDisposed()||await r.getInstance(tn)?.activate(),e.devTools)try{const a=r.getInstance(tn);a&&await(await Qe()).initDevTools(r,a)}catch{}return $(e.signal),Rn(r,hi).fire(d),d}catch(a){throw i.dispose(),a}}try{return await pt(o(),e.signal)}catch(s){throw i.isDisposed()||i.dispose(),s}}var We=new WeakMap;function Om(e){return e?We.get(e):void 0}function Yo(e){try{e.getInstance(j)?.dispose()}catch{}try{e.dispose()}catch{}}function xm(e,t){if(!e)return;const n=We.get(e);n&&n!==t&&Yo(n),We.set(e,t)}function Lm(e,t){e&&We.get(e)===t&&We.delete(e)}function Mm(e){const t=ht.createChild();return At(e)&&t.inject(me,Tt(e)),t}var qe=new WeakMap,km="data-emailmaker-config-styles";function Nm(e){return typeof e=="string"?e.trim():""}function ri(e,t){if(e.firstChild){e.insertBefore(t,e.firstChild);return}e.appendChild(t)}function Fm(e,t,n){if(!e||typeof document>"u")return null;const r=Nm(t),i=qe.get(e),o=n||e;if(!r)return i&&(i.remove(),qe.delete(e)),null;if(i)return i.textContent!==r&&(i.textContent=r),(i.parentNode!==o||i!==o.firstChild)&&ri(o,i),i;const s=document.createElement("style");return s.setAttribute(km,"true"),s.textContent=r,ri(o,s),qe.set(e,s),s}function jm(e){if(!e)return;const t=qe.get(e);t&&(t.remove(),qe.delete(e))}function Xo(){return!1}var Bm=`
|
|
1048
1048
|
.blocks-app-initial-spinner-wrapper {
|
|
1049
1049
|
width: 100%;
|
|
1050
1050
|
height: 100%;
|
|
@@ -1073,7 +1073,7 @@ import{t as si}from"./static/esm/50fbfdf6.js";import{$ as Qo,A as Zo,At as le,B
|
|
|
1073
1073
|
100% {
|
|
1074
1074
|
transform: rotate(360deg);
|
|
1075
1075
|
}
|
|
1076
|
-
}`;function Om(){return()=>{}}function xm(e,t){if(!qo()||!e||typeof document>"u")return Om();e.querySelectorAll(".blocks-app-initial-spinner-wrapper").forEach(s=>{s.remove()});const n=document.createElement("div");n.classList.add("blocks-app-initial-spinner-wrapper");const r=document.createElement("div");r.classList.add("blocks-app-initial-spinner"),n.appendChild(r);const i=document.createElement("style");i.setAttribute(t,"true"),i.textContent=Dm,document.head?.appendChild(i),e.appendChild(n);let o=!1;return()=>{o||(o=!0,n.remove(),i.remove())}}function Lm(e){if(!(e instanceof Error))return!1;const t=e;return t.terminal===!0||t.status===403||t.status===404}function Mm({report:e}={}){const t=new Map,n=new Set,r=e??(i=>{});return{run(i,o){const s=t.get(i);if(s!==void 0)return s;const d=o().catch(l=>{throw n.has(i)||(n.add(i),r(l)),Lm(l)||t.delete(i),l});return t.set(i,d),d},clear(){t.clear(),n.clear()},size(){return t.size}}}var zn=Mm();function $o(){zn.clear()}ts(()=>zn.clear());var Qr=new WeakMap,Zr=new WeakMap;function km(e,t){let n=Zr.get(t);n||(n=new Map,Zr.set(t,n));const r=n.get(e);if(r!==void 0)return r;const i=t.getInstance(ai),o=Us({baseUrl:e,customFetch:i?.execute??fetch},t);return n.set(e,o),o}function Vn(e){return ms(e)}function Nm(e,t){const n=new Error(`[Loader] appInit request failed: ${e} ${t}`);return n.status=e,n}function Fm(){const e=new Error("[Loader] appInit skipped: empty auth token");return e.terminal=!0,e}async function jm(e){if(!e.getAuthToken)return;const t=await e.getAuthToken(e.user,e.project,void 0),n=String(t||"").trim();return n?`Bearer ${n}`:void 0}function Bm(e,t){return async({baseUrl:n})=>{const r=Vn(n);if(!r)throw new Error("[Loader] appInit requires baseUrl or REACT_APP_OPENAPI_BASE_URL");const i=new Headers({Accept:"application/json"});if(e.getAuthToken&&!await jm(e))throw Fm();const o=t();if(!o)throw new Error("[Loader] appInit requires the instance container");const s=new hi(km(r,o)),d={headers:Object.fromEntries(i.entries()),credentials:"same-origin",failoverAttemptTimeout:qn(e)||void 0},l=await s.app_init_create({},d);if(!l.ok)throw Nm(l.status,l.statusText);return l.data}}function Um(e){return JSON.stringify({baseUrl:Vn(e.baseUrl)||"",project:e.project??"",userId:e.user?.id??""})}function Hm(e){return e.appInit?!0:!(e.jwtAuth&&!e.getAuthToken)}function Gm(e){return t=>zn.run(Um(t),()=>(z("appInit:start",{kind:"network"}),Promise.resolve(e(t)).finally(()=>z("appInit:end",{kind:"network"}))))}function qm(e,t){if(At(e)||!e.appInit&&!Vn(e.baseUrl)||!Hm(e))return e;const n=e.appInit??Bm(e,t);let r=Qr.get(n);return r||(r=Gm(n),Qr.set(n,r)),{...e,appInit:r}}var zo=0;function $m(){return zo}function zm(){zo+=1,$o()}var ei=new WeakMap,ti=new WeakMap,Vm=3e4;function Km(e,t){return JSON.stringify({userId:e?.id??"",project:t??""})}function Wm(e,t){try{const n=ui(e)?.exp;if(typeof n=="number"&&Number.isFinite(n)&&n>0)return n*1e3}catch{}return t+Vm}function Ym(e){const t=new Map,n=new Map;return async(r,i,o)=>{const s=Km(r,i);if(o)return n.delete(s),t.delete(s),$o(),e(r,i,o);const d=n.get(s);if(d&&!t.has(s)){if(d.expiresAtMs>Date.now())return d.token;n.delete(s)}let l=t.get(s);return l===void 0&&(z("authToken:start",{kind:"network"}),l=Promise.resolve(e(r,i,o)).then(f=>{const u=String(f||"").trim();return u&&n.set(s,{token:f,expiresAtMs:Wm(u,Date.now())}),f}).finally(()=>{z("authToken:end",{kind:"network"}),t.delete(s)}),t.set(s,l)),l}}function Xm(e){if(At(e))return e;const t=e.getAuthToken;if(!t)return e;let n=ei.get(t);const r=$m();return(!n||ti.get(t)!==r)&&(n=Ym(t),ei.set(t,n),ti.set(t,r)),Promise.resolve(n(e.user,e.project,void 0)).catch(i=>{}),{...e,getAuthToken:n}}var Le=new WeakMap;function Jt(e){const t=(Le.get(e)??0)+1;return Le.set(e,t),t}function Jm(e,t,n){Le.get(e)===t&&Le.set(e,n)}function ni(e,t){return Le.get(e)===t}function Qm(e){return Le.get(e)??0}var Zm=new Set(["setConfig","updateConfig","show","save","getEmailSnapshot","getEmail","compileEmail","getBlocks","getEmailRevisions","getComments","validateCode","reset","useAsync"]),eh=new Set(["setEmailMeta","setBlockMeta","notify"]),Vo=new Map([["getConfig","await `ready` first"],["use","use `useAsync()` or await `ready` first"],["container","await `ready` first"],["undoRedoService","await `ready` first"]]);function ri(e){if(/^handle[A-Z]/.test(e))return"event";if(Zm.has(e))return"async";if(eh.has(e))return"queued";if(e==="getElement")return"element";if(e==="getCodeErrors")return"codeErrors";if(Vo.has(e))return"notReady"}function th(e){return Vo.get(e)??"await `ready` first"}function ii(e){return new Error(`[emailmaker] \`${e}\` is not available on this editor`)}function nh(e,t){let n,r=0,i,o="pending",s,d,l;const f=new Set,u=[];let v,b;const E=new Promise((R,O)=>{v=R,b=O});E.catch(()=>{});const I=R=>n?.[R],g=R=>{const O=I(R.name);R.dispose||typeof O!="function"||(R.dispose=O(...R.args))},y=()=>f.forEach(g),w=()=>{for(const R of f)R.dispose?.(),R.dispose=void 0},S=()=>y(),A=()=>{l?.delete(S),l=void 0},m=()=>{w(),f.clear(),A(),u.length=0,n=void 0},c=()=>o==="failed"?s:Cn(),a=(R,O,C)=>{if(o==="failed"||o==="destroyed")throw c();const x=I(R);if(typeof x!="function")throw ii(R);return x.apply(C,O)},p=()=>o==="ready"?Promise.resolve():o==="pending"?E:Promise.reject(c()),h=(R,O)=>{if(o==="failed"||o==="destroyed")throw c();if(o==="ready"&&typeof I(R)!="function")throw ii(R);const C={name:R,args:O};return f.add(C),g(C),()=>{f.delete(C),C.dispose?.(),C.dispose=void 0}},_=()=>{const R=e.element;return R!==void 0&&typeof R!="string"?R:void 0},T=new Proxy({},{get(R,O,C){if(typeof O!="string"||O==="then")return;const x=ri(O);if(x==="event")return(...B)=>h(O,B);if(n&&O in n)return Reflect.get(n,O,C);switch(x){case"async":return(...B)=>p().then(()=>a(O,B,C));case"queued":return(...B)=>{if(o!=="pending")return a(O,B,C);u.push({name:O,args:B})};case"element":return _;case"codeErrors":return()=>[];case"notReady":throw new Error(`[emailmaker] \`${O}\` is not available before the editor is ready: ${th(O)}`);default:return O in Object.prototype?Reflect.get(Object.prototype,O,C):void 0}},has(R,O){return typeof O!="string"?!1:n!==void 0&&O in n||ri(O)!==void 0}}),D=Object.create(T);return Object.defineProperty(D,"ready",{get:()=>d,enumerable:!0}),Object.defineProperty(D,"destroy",{enumerable:!0,value:()=>{if(o==="destroyed"||o==="failed")return;if(o==="pending"){const C=i!==void 0&&n!==void 0&&ni(n,r),x=n;o="destroyed",d?.catch(()=>{}),t(Q("[emailmaker] editor was destroyed before it was ready")),C&&(m(),x?.destroy());return}const R=n!==void 0&&ni(n,r),O=n;o="destroyed",m(),R&&O?.destroy()}}),{handle:D,bind:(R,O)=>{O?.adopt&&o==="pending"&&i===void 0?(i=Qm(R),r=Jt(R)):!O?.adopt&&n!==R&&(i=void 0),n!==R&&(w(),A(),n=R,y(),o==="pending"&&(l=R.container.getOrCreateInstance(fi,()=>new Set),l.add(S)))},settle:()=>{const R=n;if(o==="destroyed"){m(),R&&(Jt(R),R.destroy());const O=Q("[emailmaker] editor was destroyed before it was ready");throw s=O,b(O),O}R&&i===void 0&&(r=Jt(R)),o="ready",A();for(const O of u.splice(0))try{a(O.name,O.args,D)}catch(C){queueMicrotask(()=>{throw C})}v()},fail:R=>{o!=="destroyed"&&(o="failed",s=R,n&&i!==void 0&&Jm(n,r,i)),m(),b(R)},setReady:R=>{d=R}}}var Ko="Editor mount element was removed from the document. Call instance.destroy() on host unmount.";function rh(){return Q(Ko)}function ih(e){return!(e instanceof DOMException)||e.name!=="AbortError"?!1:e.message===Ko}function oh(e,t,n){if(typeof document>"u")return;let r=!1,i;const o=()=>{r=!0,i?.disconnect(),i=void 0},s=()=>{r||(o(),t())};if(n.addDispose(o),!e.isConnected){queueMicrotask(s);return}i=new MutationObserver(()=>{e.isConnected||s()});let d=e.parentNode;for(;d;)i.observe(d,{childList:!0}),d=d.parentNode}function sh(e){const{hostElementOption:t,resolvedElement:n,externalSignal:r,disposable:i}=e;if(t===void 0||!(n instanceof Element))return r;const o=new AbortController;return oh(n,()=>{n.id,o.abort(rh())},i),Tn(r,o.signal)}var Wo="Superseded by newer init() on the same mount element";function ah(){return Q(Wo)}function lh(e){return!(e instanceof DOMException)||e.name!=="AbortError"?!1:e.message===Wo}var dt=new Map,ct=new WeakMap;function dh(e){if(e instanceof Element){const t=e.id?.trim();if(t)return`#${t}`}}function ch(e){if(!e)return{previous:Promise.resolve(),release:()=>{}};const t=dh(e),n=t?dt.get(t):void 0;n&&n.element!==e&&n.controller.abort(ah());const r=ct.get(e)??Promise.resolve();let i;const o=new Promise(l=>{i=l});ct.set(e,o);const s=new AbortController,d={element:e,controller:s};return t&&dt.set(t,d),{signal:s.signal,previous:r,release:()=>{i(),ct.get(e)===o&&ct.delete(e),t&&dt.get(t)===d&&dt.delete(t)}}}var Ph=si({FileManagerApiError:()=>uh}),uh=class Yo extends Error{code;status;details;get httpStatus(){return this.status}constructor(t,n,r,i){super(t),this.name="FileManagerApiError",this.code=n,this.status=r,this.details=i,Error.captureStackTrace&&Error.captureStackTrace(this,Yo)}},Dh=si({mapHttpStatusToErrorCode:()=>is});function fh(e,t){return{...e,element:t}}function yn(){return()=>{}}function ph(e){const t=e.element;return!t||typeof t=="string"||typeof document>"u"?yn():(Rm(t,e.config?.styles,t),()=>{Pm(t)})}function mh(e){if(!qo()||e.initialSpinner===!1||typeof document>"u")return{options:e,cleanup:yn()};const t=e.element;if(!t||typeof t=="string")return{options:e,cleanup:yn()};t.querySelectorAll(".blocks-app-initial-spinner-wrapper").forEach(i=>{i.remove()});const n=xm(t,"data-emailmaker"),r=e.handleChunkLoaded;return{options:{...e,handleChunkLoaded:()=>{n(),r?.()}},cleanup:n}}function hh(e,t){if(e.appInit||!("appInit"in t))return t;const n={...t};return delete n.appInit,n}function gh(e){return e instanceof DOMException&&e.name==="AbortError"}function oi(e){try{e.destroy()}catch{}}function Qt(e,...t){const n=ce.get(e);t.some(r=>r!==void 0&&r===n)&&ce.delete(e)}var Oh="1.1.85-dev.7";async function xh(e){await Rp(typeof window.__emailmaker__<"u"?window.__emailmaker__:void 0)}async function Lh(e){return vh(e).ready}function vh(e){z(J.initStart);const t=new AbortController,n=Tn(e.signal,t.signal),r=nh(e,o=>t.abort(o)),i=bh({...e,signal:n},r.bind).then(()=>(z(J.initEnd),r.settle(),r.handle),o=>{throw r.fail(o),o});return r.setReady(i),r.handle}async function bh(e,t){$(e.signal);const n=new Z;let r,i;try{const o=await Ls(e.element,n,e.signal),s=sh({hostElementOption:e.element,resolvedElement:o,externalSignal:e.signal,disposable:n}),d=ch(o);r=d.release;const l=Tn(s,d.signal);return $(l),await mt(d.previous,l),i=Eh(e,o,t,l),await mt(i,l)}finally{const o=r;i!==void 0&&o?i.then(o,o):o?.(),n.dispose()}}async function Eh(e,t,n,r){$(r),zm();const i=fh(e,t),o=Xm(i);let s;const d=qm(o,()=>s),l=r!=null?{...d,signal:r}:d;if(t){const E=ce.get(t);if(E){let I;try{I=await E,$(r)}catch{$(r),Qt(t,E),I=void 0}if(I)if(I.getElement()===t)try{return s=wm(t),n(I,{adopt:!0}),await I.reset(hh(e,l))}catch(g){if($(r),lh(g)||ih(g)||gh(g)&&r?.aborted)throw g;Qt(t,E,I),oi(I)}else Qt(t,E,I),oi(I)}}$(r);const f=ph(d),u=mh(d),v=r!=null?{...u.options,signal:r}:u.options;let b;try{s=Tm(v),Sm(t,s),Gn(s).set(v),await $n(),z(J.coreReady),$(r),$(r),b=_m(v,s,{onInstance:n}),t&&ce.set(t,b);const E=await b;if(r?.aborted&&(E.destroy(),$(r)),t)if(ce.get(t)===b)ce.set(t,E);else throw E.destroy(),$(r),Q(r?.reason);return E}catch(E){throw f(),u.cleanup(),s&&(Go(s),Im(t,s)),t&&b&&ce.get(t)===b&&ce.delete(t),E}}async function Mh(e){return(await Qe()).parseAMP(e)}typeof window<"u"&&($e()&&sa(),Dp(typeof window.__emailmaker__<"u"?window.__emailmaker__:void 0));export{Ko as ELEMENT_DETACHED_ABORT_MESSAGE,Wo as SUPERSEDED_INIT_ABORT_MESSAGE,vh as create,Ph as errors,Dh as helpers,Lh as init,ih as isElementDetachedError,lh as isSupersededInitError,Mh as parseAMP,xp as pluginRegistry,xh as preload,Oh as version};
|
|
1076
|
+
}`;function Um(){return()=>{}}function Hm(e,t){if(!Xo()||!e||typeof document>"u")return Um();e.querySelectorAll(".blocks-app-initial-spinner-wrapper").forEach(s=>{s.remove()});const n=document.createElement("div");n.classList.add("blocks-app-initial-spinner-wrapper");const r=document.createElement("div");r.classList.add("blocks-app-initial-spinner"),n.appendChild(r);const i=document.createElement("style");i.setAttribute(t,"true"),i.textContent=Bm,document.head?.appendChild(i),e.appendChild(n);let o=!1;return()=>{o||(o=!0,n.remove(),i.remove())}}function Gm(e){if(!(e instanceof Error))return!1;const t=e;return t.terminal===!0||t.status===403||t.status===404}function qm({report:e}={}){const t=new Map,n=new Set,r=e??(i=>{});return{run(i,o){const s=t.get(i);if(s!==void 0)return s;const d=o().catch(a=>{throw n.has(i)||(n.add(i),r(a)),Gm(a)||t.delete(i),a});return t.set(i,d),d},clear(){t.clear(),n.clear()},size(){return t.size}}}var Xn=qm();function Jo(){Xn.clear()}ds(()=>Xn.clear());var ii=new WeakMap,oi=new WeakMap;function $m(e,t){let n=oi.get(t);n||(n=new Map,oi.set(t,n));const r=n.get(e);if(r!==void 0)return r;const i=t.getInstance(pi),o=Ws({baseUrl:e,customFetch:i?.execute??fetch},t);return n.set(e,o),o}function Jn(e){return Ss(e)}function zm(e,t){const n=new Error(`[Loader] appInit request failed: ${e} ${t}`);return n.status=e,n}function Vm(){const e=new Error("[Loader] appInit skipped: empty auth token");return e.terminal=!0,e}async function Km(e){if(!e.getAuthToken)return;const t=await e.getAuthToken(e.user,e.project,void 0),n=String(t||"").trim();return n?`Bearer ${n}`:void 0}var Qn=new WeakMap;function Jt(e,t){Qn.set(e,t)}function Wm(e){return Qn.get(e)}function Ym(e,t){return async({baseUrl:n})=>{const r=t();if(!r)throw new Error("[Loader] appInit requires the instance container");const i=Qn.get(r)??e,o=Jn(n);if(!o)throw new Error("[Loader] appInit requires baseUrl or REACT_APP_OPENAPI_BASE_URL");const s=new Headers({Accept:"application/json"});if(i.getAuthToken&&!await Km(i))throw Vm();const d=new _i($m(o,r)),a={headers:Object.fromEntries(s.entries()),credentials:"same-origin",failoverAttemptTimeout:Wn(i)||void 0},f=await d.app_init_create({},a);if(!f.ok)throw zm(f.status,f.statusText);return f.data}}function Xm(e){return JSON.stringify({baseUrl:Jn(e.baseUrl)||"",project:e.project??"",userId:e.user?.id??""})}function Jm(e){return e.appInit?!0:!(e.jwtAuth&&!e.getAuthToken)}function Qm(e){return t=>Xn.run(Xm(t),()=>(z("appInit:start",{kind:"network"}),Promise.resolve(e(t)).finally(()=>z("appInit:end",{kind:"network"}))))}function Zm(e,t){if(At(e)||!e.appInit&&!Jn(e.baseUrl)||!Jm(e))return e;const n=e.appInit??Ym(e,t);let r=ii.get(n);return r||(r=Qm(n),ii.set(n,r)),{...e,appInit:r}}var Qo=0;function eh(){return Qo}function th(){Qo+=1,Jo()}var si=new WeakMap,ai=new WeakMap,nh=3e4;function rh(e,t){return JSON.stringify({userId:e?.id??"",project:t??""})}function ih(e,t){try{const n=vi(e)?.exp;if(typeof n=="number"&&Number.isFinite(n)&&n>0)return n*1e3}catch{}return t+nh}function oh(e){const t=new Map,n=new Map;return async(r,i,o)=>{const s=rh(r,i);if(o)return n.delete(s),t.delete(s),Jo(),e(r,i,o);const d=n.get(s);if(d&&!t.has(s)){if(d.expiresAtMs>Date.now())return d.token;n.delete(s)}let a=t.get(s);return a===void 0&&(z("authToken:start",{kind:"network"}),a=Promise.resolve(e(r,i,o)).then(f=>{const u=String(f||"").trim();return u&&n.set(s,{token:f,expiresAtMs:ih(u,Date.now())}),f}).finally(()=>{z("authToken:end",{kind:"network"}),t.delete(s)}),t.set(s,a)),a}}function sh(e){if(At(e))return e;const t=e.getAuthToken;if(!t)return e;let n=si.get(t);const r=eh();return(!n||ai.get(t)!==r)&&(n=oh(t),si.set(t,n),ai.set(t,r)),Promise.resolve(n(e.user,e.project,void 0)).catch(i=>{}),{...e,getAuthToken:n}}var Ze=new WeakMap,wn=new WeakMap;function Zo(e,t){Ze.set(e,t),wn.get(e)?.forEach(n=>n())}function ah(e,t){const n=wn.get(e)??new Set;return n.add(t),wn.set(e,n),()=>n.delete(t)}function Qt(e){const t=(Ze.get(e)??0)+1;return Zo(e,t),t}var Sn=new WeakMap;function lh(e,t){const n=Sn.get(e)??new Set;n.add(t),Sn.set(e,n)}function dh(e,t,n){return Ze.get(e)!==t?!0:Sn.get(e)?.has(n)?!1:(Zo(e,n),!0)}function Zt(e,t){return Ze.get(e)===t}function li(e){return Ze.get(e)??0}var ch=new Set(["setConfig","updateConfig","show","save","getEmailSnapshot","getEmail","compileEmail","getBlocks","getEmailRevisions","getComments","validateCode","reset","useAsync"]),uh=new Set(["setEmailMeta","setBlockMeta","notify"]),es=new Map([["getConfig","await `ready` first"],["use","use `useAsync()` or await `ready` first"],["container","await `ready` first"],["undoRedoService","await `ready` first"]]);function di(e){if(/^handle[A-Z]/.test(e))return"event";if(ch.has(e))return"async";if(uh.has(e))return"queued";if(e==="getElement")return"element";if(e==="getCodeErrors")return"codeErrors";if(es.has(e))return"notReady"}function fh(e){return es.get(e)??"await `ready` first"}function ci(e){return new Error(`[emailmaker] \`${e}\` is not available on this editor`)}function ph(e,t){let n,r=0,i,o="pending",s,d,a,f;const u=new Set,v=[];let b,E;const I=new Promise((C,D)=>{b=C,E=D});I.catch(()=>{});const g=C=>n?.[C],y=()=>o==="pending"||n!==void 0&&Zt(n,r),_=C=>{const D=g(C.name);C.dispose||typeof D!="function"||!y()||(C.dispose=D(...C.args))},S=()=>u.forEach(_),A=()=>{for(const C of u)C.dispose?.(),C.dispose=void 0},m=()=>S(),c=()=>{o==="ready"&&(y()?S():A())},l=()=>{a?.delete(m),a=void 0},p=()=>{f?.(),f=void 0,A(),u.clear(),l(),v.length=0,n=void 0},h=()=>o==="failed"?s:xn(),w=(C,D,x)=>{if(o==="failed"||o==="destroyed")throw h();const U=g(C);if(typeof U!="function")throw ci(C);return U.apply(x,D)},T=()=>o==="ready"?Promise.resolve():o==="pending"?I:Promise.reject(h()),O=(C,D)=>{if(o==="failed"||o==="destroyed")throw h();if(o==="ready"&&typeof g(C)!="function")throw ci(C);const x={name:C,args:D};return u.add(x),_(x),()=>{u.delete(x),x.dispose?.(),x.dispose=void 0}},k=()=>{const C=e.element;return C!==void 0&&typeof C!="string"?C:void 0},W=new Proxy({},{get(C,D,x){if(typeof D!="string"||D==="then")return;const U=di(D);if(U==="event")return(...J)=>O(D,J);if(n&&D in n)return Reflect.get(n,D,x);switch(U){case"async":return(...J)=>T().then(()=>w(D,J,x));case"queued":return(...J)=>{if(o!=="pending")return w(D,J,x);v.push({name:D,args:J})};case"element":return k;case"codeErrors":return()=>[];case"notReady":throw new Error(`[emailmaker] \`${D}\` is not available before the editor is ready: ${fh(D)}`);default:return D in Object.prototype?Reflect.get(Object.prototype,D,x):void 0}},has(C,D){return typeof D!="string"?!1:n!==void 0&&D in n||di(D)!==void 0}}),R=Object.create(W);return Object.defineProperty(R,"ready",{get:()=>d,enumerable:!0}),Object.defineProperty(R,"destroy",{enumerable:!0,value:()=>{if(o==="destroyed"||o==="failed")return;if(o==="pending"){const x=i!==void 0&&n!==void 0&&Zt(n,r),U=n;o="destroyed",d?.catch(()=>{}),t(Z("[emailmaker] editor was destroyed before it was ready")),x&&(p(),U?.destroy());return}const C=n!==void 0&&Zt(n,r),D=n;o="destroyed",p(),C?D?.destroy():D&&lh(D,r)}}),{handle:R,bind:(C,D)=>{D?.adopt&&o==="pending"&&i===void 0?(i=li(C),r=Qt(C)):!D?.adopt&&n!==C&&(i=void 0),n!==C&&(A(),l(),n=C,S(),o==="pending"&&(a=C.container.getOrCreateInstance(bi,()=>new Set),a.add(m)))},settle:()=>{const C=n;if(o==="destroyed"){p(),C&&(Qt(C),C.destroy());const D=Z("[emailmaker] editor was destroyed before it was ready");throw s=D,E(D),D}C&&i===void 0&&li(C)===0&&(r=Qt(C)),o="ready",C&&(f=ah(C,c),c()),l();for(const D of v.splice(0))try{w(D.name,D.args,R)}catch(x){queueMicrotask(()=>{throw x})}b()},fail:C=>{o!=="destroyed"&&(o="failed",s=C,n&&i!==void 0&&!dh(n,r,i)&&n.destroy()),p(),E(C)},setReady:C=>{d=C}}}var ts="Editor mount element was removed from the document. Call instance.destroy() on host unmount.";function mh(){return Z(ts)}function hh(e){return!(e instanceof DOMException)||e.name!=="AbortError"?!1:e.message===ts}function gh(e,t,n){if(typeof document>"u")return;let r=!1,i;const o=()=>{r=!0,i?.disconnect(),i=void 0},s=()=>{r||(o(),t())};if(n.addDispose(o),!e.isConnected){queueMicrotask(s);return}i=new MutationObserver(()=>{e.isConnected||s()});let d=e.parentNode;for(;d;)i.observe(d,{childList:!0}),d=d.parentNode}function vh(e){const{hostElementOption:t,resolvedElement:n,externalSignal:r,disposable:i}=e;if(t===void 0||!(n instanceof Element))return r;const o=new AbortController;return gh(n,()=>{n.id,o.abort(mh())},i),Dn(r,o.signal)}var ns="Superseded by newer init() on the same mount element";function bh(){return Z(ns)}function Eh(e){return!(e instanceof DOMException)||e.name!=="AbortError"?!1:e.message===ns}var Fe=new Map,ct=new WeakMap;function yh(e){if(e instanceof Element){const t=e.id?.trim();if(t)return`#${t}`}}function _h(e){if(!e)return{previous:Promise.resolve(),release:()=>{}};const t=yh(e);(t?Fe.get(t):void 0)?.forEach(a=>{a.element!==e&&a.controller.abort(bh())});const n=ct.get(e)??Promise.resolve();let r;const i=new Promise(a=>{r=a}),o=n.then(()=>i);ct.set(e,o),o.then(()=>{ct.get(e)===o&&ct.delete(e)});const s=new AbortController,d={element:e,controller:s};if(t){const a=Fe.get(t)??new Set;a.add(d),Fe.set(t,a)}return{signal:s.signal,previous:n,release:()=>{r();const a=t?Fe.get(t):void 0;t&&a?.delete(d)&&a.size===0&&Fe.delete(t)}}}var Bh=fi({FileManagerApiError:()=>wh}),wh=class rs extends Error{code;status;details;get httpStatus(){return this.status}constructor(t,n,r,i){super(t),this.name="FileManagerApiError",this.code=n,this.status=r,this.details=i,Error.captureStackTrace&&Error.captureStackTrace(this,rs)}},Uh=fi({mapHttpStatusToErrorCode:()=>ys});function Sh(e,t){return{...e,element:t}}function In(){return()=>{}}function Ih(e){const t=e.element;return!t||typeof t=="string"||typeof document>"u"?In():(Fm(t,e.config?.styles,t),()=>{jm(t)})}function Th(e){if(!Xo()||e.initialSpinner===!1||typeof document>"u")return{options:e,cleanup:In()};const t=e.element;if(!t||typeof t=="string")return{options:e,cleanup:In()};t.querySelectorAll(".blocks-app-initial-spinner-wrapper").forEach(i=>{i.remove()});const n=Hm(t,"data-emailmaker"),r=e.handleChunkLoaded;return{options:{...e,handleChunkLoaded:()=>{n(),r?.()}},cleanup:n}}function Ah(e,t){if(e.appInit||!("appInit"in t))return t;const n={...t};return delete n.appInit,n}function ui(e){try{e.destroy()}catch{}}function en(e,...t){const n=le.get(e);t.some(r=>r!==void 0&&r===n)&&le.delete(e)}var Hh="1.1.85-dev.8";async function Gh(e){await Fp(typeof window.__emailmaker__<"u"?window.__emailmaker__:void 0)}async function qh(e){return Ch(e).ready}function Ch(e){z(Q.initStart);const t=new AbortController,n=Dn(e.signal,t.signal),r=ph(e,o=>t.abort(o)),i=Rh({...e,signal:n},r.bind).then(()=>(z(Q.initEnd),r.settle(),r.handle),o=>{throw r.fail(o),o});return r.setReady(i),r.handle}async function Rh(e,t){$(e.signal);const n=new ee;let r,i;try{const o=await Hs(e.element,n,e.signal),s=vh({hostElementOption:e.element,resolvedElement:o,externalSignal:e.signal,disposable:n}),d=_h(o);r=d.release;const a=Dn(s,d.signal);return $(a),await pt(d.previous,a),i=Ph(e,o,t,a),await pt(i,a)}finally{const o=r;i!==void 0&&o?i.then(o,o):o?.(),n.dispose()}}async function Ph(e,t,n,r){$(r),th();const i=Sh(e,t),o=sh(i);let s;const d=Zm(o,()=>s),a=r!=null?{...d,signal:r}:d;if(t){const E=le.get(t);if(E){let I;try{I=await E,$(r)}catch{$(r),en(t,E),I=void 0}if(I)if(I.getElement()===t){const g=Om(t);s=g;const y=g&&Wm(g);try{g&&Jt(g,d),n(I,{adopt:!0});const _=await I.reset(Ah(e,a));return le.set(t,I),_}catch(_){if(g&&y&&Jt(g,y),$(r),Eh(_)||hh(_)||Tn(_)&&r?.aborted)throw _;en(t,E,I),ui(I)}}else en(t,E,I),ui(I)}}$(r);const f=Ih(d),u=Th(d),v=r!=null?{...u.options,signal:r}:u.options;let b;try{s=Mm(v),xm(t,s),Jt(s,d),Kn(s).set(v),await Yn(),z(Q.coreReady),$(r),$(r),b=Dm(v,s,{onInstance:n}),t&&le.set(t,b);const E=await b;if(r?.aborted&&(E.destroy(),$(r)),t)if(le.get(t)===b)le.set(t,E);else throw E.destroy(),$(r),Z(r?.reason);return E}catch(E){throw f(),u.cleanup(),s&&(Yo(s),Lm(t,s)),t&&b&&le.get(t)===b&&le.delete(t),E}}async function $h(e){return(await Qe()).parseAMP(e)}typeof window<"u"&&($e()&&ma(),Bp(typeof window.__emailmaker__<"u"?window.__emailmaker__:void 0));export{ts as ELEMENT_DETACHED_ABORT_MESSAGE,ns as SUPERSEDED_INIT_ABORT_MESSAGE,Ch as create,Bh as errors,Uh as helpers,qh as init,hh as isElementDetachedError,Eh as isSupersededInitError,$h as parseAMP,Hp as pluginRegistry,Gh as preload,Hh as version};
|
|
1077
1077
|
|
|
1078
1078
|
|
|
1079
|
-
window.__emailmaker__.require.config({"graph":{"core":["__delivery__/libs"],"static/core/0cb54b92.js":[],"static/core/
|
|
1079
|
+
window.__emailmaker__.require.config({"graph":{"core":["__delivery__/libs"],"static/core/0cb54b92.js":[],"static/core/134673be.js":[],"static/core/13cb7458.js":[],"static/core/15ea858c.js":[],"static/core/1922419a.js":[],"static/core/20510a35.js":[],"static/core/3364944b.js":[],"static/core/357b2101.js":["static/core/13cb7458.js","static/core/b262f9ad.js","static/core/52727b3c.js","static/core/4eec44be.js","__delivery__/libs"],"static/core/3608ef89.js":["static/core/13cb7458.js","static/core/b262f9ad.js","__delivery__/libs"],"static/core/370f04c3.js":[],"static/core/384f52ae.js":[],"static/core/38ea40d5.js":[],"static/core/43a8b244.js":[],"static/core/49417e0f.js":["static/core/38ea40d5.js","static/core/c463cfc9.js","static/core/bb9b0659.js"],"static/core/4a69e61b.js":["static/core/52727b3c.js","static/core/fc16423f.js","__delivery__/libs","static/core/b262f9ad.js"],"static/core/4ce7d544.js":[],"static/core/4ed7c44e.js":[],"static/core/4eec44be.js":["static/core/fc16423f.js","__delivery__/libs"],"static/core/52727b3c.js":["static/core/b262f9ad.js","__delivery__/libs"],"static/core/6933d533.js":[],"static/core/6dd8d273.js":[],"static/core/7c0a1f19.js":[],"static/core/8927fdd0.js":["static/core/e6f6edff.js","static/core/b262f9ad.js","__delivery__/libs"],"static/core/8a5b1c18.js":[],"static/core/8bf56b5b.js":[],"static/core/918c30e2.js":[],"static/core/9f7f5230.js":["static/core/e6f6edff.js"],"static/core/a259d477.js":["static/core/38ea40d5.js"],"static/core/a6d4a170.js":[],"static/core/b262f9ad.js":["static/core/e6f6edff.js","__delivery__/libs"],"static/core/bb9b0659.js":["static/core/c463cfc9.js"],"static/core/bfb41946.js":[],"static/core/c463cfc9.js":[],"static/core/c70ac7ca.js":[],"static/core/d1a1a5b2.js":["static/core/370f04c3.js","__delivery__/libs","monaco"],"static/core/e6f6edff.js":[],"static/core/e7c35a6b.js":[],"static/core/f220d2ff.js":["static/core/c463cfc9.js"],"static/core/fc16423f.js":["__delivery__/libs"],"static/monaco/editor.api-DqgksfDR.js":[],"monaco":["static/monaco/editor.api-DqgksfDR.js","static/monaco/lspLanguageFeatures-BnvITcKb.js"],"static/monaco/lspLanguageFeatures-BnvITcKb.js":["static/monaco/editor.api-DqgksfDR.js"],"compat-globals.js":["static/esm/50fbfdf6.js"],"emailmaker-esm.js":["static/esm/50fbfdf6.js","static/esm/e1e55006.js"],"static/esm/delivery-libs.js":[],"static/esm/50fbfdf6.js":[],"static/esm/e1e55006.js":[]},"bundles":{"static/core/fc16423f.js":["static/core/73ae5cc7.js","static/core/a10f05f2.js","static/core/a1fd90a9.js","static/core/cf200359.js"],"static/core/a259d477.js":["static/core/a54d9b28.js"],"static/core/8927fdd0.js":["static/core/be880f91.js"],"static/core/4eec44be.js":["static/core/61378c9e.js"],"static/core/4a69e61b.js":["static/core/b5255877.js"],"core":["static/core/5dc34752.js","static/core/42f90c4f.js","static/core/ce7ec7e9.js","static/core/b5a1ad75.js","static/core/a996fff4.js"]}});
|